From 25f60c8d13d49880a70e14d055b9864f012676de Mon Sep 17 00:00:00 2001 From: ad044 Date: Wed, 26 Aug 2020 03:17:29 +0400 Subject: [PATCH] ported to typescript. code still a mess but we WROKING --- README.md | 44 ---- package-lock.json | 156 +++++++++++++ package.json | 4 + public/draco-gltf/draco_decoder.js | 31 +++ public/draco-gltf/draco_decoder.wasm | Bin 0 -> 229813 bytes public/draco-gltf/draco_wasm_wrapper.js | 119 ++++++++++ public/favicon.ico | Bin 3150 -> 0 bytes public/icon.png | Bin 0 -> 475 bytes public/index.html | 38 +--- public/logo192.png | Bin 5347 -> 0 bytes public/logo512.png | Bin 9664 -> 0 bytes public/manifest.json | 25 --- public/models/ring0.glb | Bin 0 -> 18588 bytes public/robots.txt | 3 - src/App.css | 38 ---- src/App.tsx | 40 ++-- src/components/Game.tsx | 178 +++++++++++++++ src/components/Hub.tsx | 22 ++ src/components/Intro.tsx | 282 ++++++++++++++++++++++++ src/components/Lain.tsx | 98 ++++++++ src/components/Ring0.tsx | 51 +++++ src/components/utils.ts | 3 + src/index.css | 13 -- src/index.tsx | 1 - src/logo.svg | 7 - 25 files changed, 971 insertions(+), 182 deletions(-) delete mode 100644 README.md create mode 100644 public/draco-gltf/draco_decoder.js create mode 100644 public/draco-gltf/draco_decoder.wasm create mode 100644 public/draco-gltf/draco_wasm_wrapper.js delete mode 100644 public/favicon.ico create mode 100644 public/icon.png delete mode 100644 public/logo192.png delete mode 100644 public/logo512.png delete mode 100644 public/manifest.json create mode 100644 public/models/ring0.glb delete mode 100644 public/robots.txt delete mode 100644 src/App.css create mode 100644 src/components/Game.tsx create mode 100644 src/components/Hub.tsx create mode 100644 src/components/Intro.tsx create mode 100644 src/components/Lain.tsx create mode 100644 src/components/Ring0.tsx create mode 100644 src/components/utils.ts delete mode 100644 src/index.css delete mode 100644 src/logo.svg diff --git a/README.md b/README.md deleted file mode 100644 index 74735dc..0000000 --- a/README.md +++ /dev/null @@ -1,44 +0,0 @@ -This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app). - -## Available Scripts - -In the project directory, you can run: - -### `npm start` - -Runs the app in the development mode.
-Open [http://localhost:3000](http://localhost:3000) to view it in the browser. - -The page will reload if you make edits.
-You will also see any lint errors in the console. - -### `npm test` - -Launches the test runner in the interactive watch mode.
-See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information. - -### `npm run build` - -Builds the app for production to the `build` folder.
-It correctly bundles React in production mode and optimizes the build for the best performance. - -The build is minified and the filenames include the hashes.
-Your app is ready to be deployed! - -See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information. - -### `npm run eject` - -**Note: this is a one-way operation. Once you `eject`, you can’t go back!** - -If you aren’t satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project. - -Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own. - -You don’t have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it. - -## Learn More - -You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started). - -To learn React, check out the [React documentation](https://reactjs.org/). diff --git a/package-lock.json b/package-lock.json index 68be4ae..5bcdd40 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1386,6 +1386,11 @@ "@types/yargs": "^13.0.0" } }, + "@juggle/resize-observer": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@juggle/resize-observer/-/resize-observer-3.2.0.tgz", + "integrity": "sha512-fsLxt0CHx2HCV9EL8lDoVkwHffsA0snUpddYjdLyXcG5E41xaamn9ZyQqOE9TUJdrRlH8/hjIf+UdOdDeKCUgg==" + }, "@mrmlnc/readdir-enhanced": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", @@ -4267,6 +4272,11 @@ } } }, + "debounce": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.0.tgz", + "integrity": "sha512-mYtLl1xfZLi1m4RtQYlZgJUNQjl4ZxVnHzIR8nLLgi4q1YT8o/WM+MK/f8yfcc9s5Ir5zRaPZyZU6xs1Syoocg==" + }, "debug": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", @@ -4617,6 +4627,21 @@ "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" }, + "drei": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/drei/-/drei-1.3.0.tgz", + "integrity": "sha512-oICYu5fwEcPoZDQ5X470O/qL/XfyhGwb4blD9HhgTVXlO5HrdSy4O3LVY++FN4h7Xi2QrXViJdxJuTRtcVmk9Q==", + "requires": { + "@babel/runtime": "^7.11.2", + "glsl-noise": "^0.0.0", + "lodash.omit": "^4.5.0", + "lodash.pick": "^4.4.0", + "react-merge-refs": "^1.0.0", + "stats.js": "^0.17.0", + "troika-three-text": "^0.31.0", + "utility-types": "^3.10.0" + } + }, "duplexer": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", @@ -6159,6 +6184,11 @@ } } }, + "glsl-noise": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/glsl-noise/-/glsl-noise-0.0.0.tgz", + "integrity": "sha1-NndF86MzgsDu7Ey1S36Zz8HXZws=" + }, "graceful-fs": { "version": "4.2.4", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", @@ -7920,6 +7950,16 @@ "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=" }, + "lodash.omit": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz", + "integrity": "sha1-brGa5aHuHdnfC5aeZs4Lf6MLXmA=" + }, + "lodash.pick": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", + "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=" + }, "lodash.sortby": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", @@ -10562,6 +10602,37 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, + "react-merge-refs": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/react-merge-refs/-/react-merge-refs-1.1.0.tgz", + "integrity": "sha512-alTKsjEL0dKH/ru1Iyn7vliS2QRcBp9zZPGoWxUOvRGWPUYgjo+V01is7p04It6KhgrzhJGnIj9GgX8W4bZoCQ==" + }, + "react-promise-suspense": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/react-promise-suspense/-/react-promise-suspense-0.3.3.tgz", + "integrity": "sha512-OdehKsCEWYoV6pMcwxbvJH99UrbXylmXJ1QpEL9OfHaUBzcAihyfSJV8jFq325M/wW9iKc/BoiLROXxMul+MxA==", + "requires": { + "fast-deep-equal": "^2.0.1" + }, + "dependencies": { + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" + } + } + }, + "react-reconciler": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/react-reconciler/-/react-reconciler-0.25.1.tgz", + "integrity": "sha512-R5UwsIvRcSs3w8n9k3tBoTtUHdVhu9u84EG7E5M0Jk9F5i6DA1pQzPfUZd6opYWGy56MJOtV3VADzy6DRwYDjw==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.19.1" + } + }, "react-scripts": { "version": "3.4.3", "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-3.4.3.tgz", @@ -10622,6 +10693,31 @@ "workbox-webpack-plugin": "4.3.1" } }, + "react-three-fiber": { + "version": "4.2.20", + "resolved": "https://registry.npmjs.org/react-three-fiber/-/react-three-fiber-4.2.20.tgz", + "integrity": "sha512-M5TCdGNKvofe37VMXnhbabgRDiRm9rnfxOmMFuLa+H9FiiLT3wUMMgE9eBmLh3McKgYXURETWKkNDePeQ0J0JQ==", + "requires": { + "@babel/runtime": "^7.9.2", + "@juggle/resize-observer": "^3.1.3", + "react-merge-refs": "^1.0.0", + "react-promise-suspense": "^0.3.2", + "react-reconciler": "0.25.1", + "react-use-measure": "^2.0.0", + "resize-observer-polyfill": "^1.5.1", + "scheduler": "0.19.1", + "tiny-emitter": "^2.1.0", + "utility-types": "^3.10.0" + } + }, + "react-use-measure": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/react-use-measure/-/react-use-measure-2.0.1.tgz", + "integrity": "sha512-lFfHiqcXbJ2/6aUkZwt8g5YYM7EGqNVxJhMqMPqv1BVXRKp8D7jYLlmma0SvhRY4WYxxkZpCdbJvhDylb5gcEA==", + "requires": { + "debounce": "^1.2.0" + } + }, "read-pkg": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", @@ -10903,6 +10999,11 @@ "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" }, + "resize-observer-polyfill": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", + "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==" + }, "resolve": { "version": "1.15.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.15.0.tgz", @@ -11817,6 +11918,11 @@ } } }, + "stats.js": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/stats.js/-/stats.js-0.17.0.tgz", + "integrity": "sha1-scPcRtlEmLV4t/05hbgaznExzH0=" + }, "statuses": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", @@ -12322,6 +12428,27 @@ "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" }, + "three": { + "version": "0.119.1", + "resolved": "https://registry.npmjs.org/three/-/three-0.119.1.tgz", + "integrity": "sha512-GHyh/RiUfQ5VTiWIVRRTANYoXc1PFB1y+jDVRTb649nif1uX1F06PT1TKU3k2+F/MN4UJ3PWvQB53fY2OqKqKw==" + }, + "three-plain-animator": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/three-plain-animator/-/three-plain-animator-1.0.2.tgz", + "integrity": "sha512-3lSFeUCLQX2nMlcZn4GiS6LxpRtghb9zvev3jrBMmuMB+1gVWU4ifF7eJ4jFW30sT3Z1ApyBTJKvj6TjaP8biA==", + "requires": { + "rxjs": "^6.4.0", + "three": "^0.103.0" + }, + "dependencies": { + "three": { + "version": "0.103.0", + "resolved": "https://registry.npmjs.org/three/-/three-0.103.0.tgz", + "integrity": "sha512-4WKRHTMt96sp+lX+Hx/eHtN9CWFyejDqr1ikgxZUJIkKEHVglSE7FY8n81NC6yWXqVSjUIQQppaxsoUe26Zi9g==" + } + } + }, "throat": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz", @@ -12383,6 +12510,11 @@ "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=" }, + "tiny-emitter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz", + "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==" + }, "tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", @@ -12456,6 +12588,25 @@ "punycode": "^2.1.0" } }, + "troika-three-text": { + "version": "0.31.0", + "resolved": "https://registry.npmjs.org/troika-three-text/-/troika-three-text-0.31.0.tgz", + "integrity": "sha512-JpRO+AC9mLZ49IymBwwwFLcasN0xjjQmSkGO9tlzlpeHpexsK4JB80qs6d6vhtt+vmfdJi27/m+WYhaR6+OzaQ==", + "requires": { + "troika-three-utils": "^0.31.0", + "troika-worker-utils": "^0.31.0" + } + }, + "troika-three-utils": { + "version": "0.31.0", + "resolved": "https://registry.npmjs.org/troika-three-utils/-/troika-three-utils-0.31.0.tgz", + "integrity": "sha512-IUy61i+Kv0EjievWhOmIkqjDa1acIO2J98oO2tZ+PpEfA+Q0syRknH4SN+iiYpa/MNJH1gQz0WfZF4Vk1/pumQ==" + }, + "troika-worker-utils": { + "version": "0.31.0", + "resolved": "https://registry.npmjs.org/troika-worker-utils/-/troika-worker-utils-0.31.0.tgz", + "integrity": "sha512-WxHhfFmy6dWBMACUnzInBlqlR601Dy3c9hiRp4aAN+ACzSldwsv1SHOqix4X2+6HTz/pBtHtfJVDbwJiO+lbCw==" + }, "ts-pnp": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.1.6.tgz", @@ -12735,6 +12886,11 @@ "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=" }, + "utility-types": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz", + "integrity": "sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==" + }, "utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", diff --git a/package.json b/package.json index cc07425..2762a4e 100644 --- a/package.json +++ b/package.json @@ -10,9 +10,13 @@ "@types/node": "^12.12.54", "@types/react": "^16.9.47", "@types/react-dom": "^16.9.8", + "drei": "^1.3.0", "react": "^16.13.1", "react-dom": "^16.13.1", "react-scripts": "3.4.3", + "react-three-fiber": "^4.2.20", + "three": "^0.119.1", + "three-plain-animator": "^1.0.2", "typescript": "^3.7.5" }, "scripts": { diff --git a/public/draco-gltf/draco_decoder.js b/public/draco-gltf/draco_decoder.js new file mode 100644 index 0000000..98b0b1d --- /dev/null +++ b/public/draco-gltf/draco_decoder.js @@ -0,0 +1,31 @@ +var DracoDecoderModule = function(DracoDecoderModule) { + DracoDecoderModule = DracoDecoderModule || {}; + +var Module=typeof DracoDecoderModule!=="undefined"?DracoDecoderModule:{};var isRuntimeInitialized=false;var isModuleParsed=false;Module["onRuntimeInitialized"]=(function(){isRuntimeInitialized=true;if(isModuleParsed){if(typeof Module["onModuleLoaded"]==="function"){Module["onModuleLoaded"](Module)}}});Module["onModuleParsed"]=(function(){isModuleParsed=true;if(isRuntimeInitialized){if(typeof Module["onModuleLoaded"]==="function"){Module["onModuleLoaded"](Module)}}});function isVersionSupported(versionString){if(typeof versionString!=="string")return false;const version=versionString.split(".");if(version.length<2||version.length>3)return false;if(version[0]==1&&version[1]>=0&&version[1]<=3)return true;if(version[0]!=0||version[1]>10)return false;return true}Module["isVersionSupported"]=isVersionSupported;var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}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;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("Module['ENVIRONMENT'] value is not valid. must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename)}return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));process["on"]("unhandledRejection",(function(reason,p){process["exit"](1)}));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,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){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})}Module["print"]=typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null;Module["printErr"]=typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||Module["print"];Module.print=Module["print"];Module.printErr=Module["printErr"];for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function staticAlloc(size){assert(!staticSealed);var ret=STATICTOP;STATICTOP=STATICTOP+size+15&-16;return ret}function dynamicAlloc(size){assert(DYNAMICTOP_PTR);var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=ret;return 0}}return ret}function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;var ret=size=Math.ceil(size/factor)*factor;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);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;Module.printErr(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var GLOBAL_BASE=8;var ABORT=0;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}var JSfuncs={"stackSave":(function(){stackSave()}),"stackRestore":(function(){stackRestore()}),"arrayToC":(function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};function ccall(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var ALLOC_STATIC=2;var ALLOC_NONE=4;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:staticAlloc,stackAlloc,staticAlloc,dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return UTF8ToString(ptr)}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function demangle(func){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:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;var MIN_TOTAL_MEMORY=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;var LIMIT=2147483648-PAGE_MULTIPLE;if(HEAP32[DYNAMICTOP_PTR>>2]>LIMIT){return false}var OLD_TOTAL_MEMORY=TOTAL_MEMORY;TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);while(TOTAL_MEMORY>2]){if(TOTAL_MEMORY<=536870912){TOTAL_MEMORY=alignUp(2*TOTAL_MEMORY,PAGE_MULTIPLE)}else{TOTAL_MEMORY=Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement||replacement.byteLength!=TOTAL_MEMORY){TOTAL_MEMORY=OLD_TOTAL_MEMORY;return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPreMain(cb){__ATMAIN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_max=Math.max;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;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}STATIC_BASE=GLOBAL_BASE;STATICTOP=STATIC_BASE+13472;__ATINIT__.push();memoryInitializer="data:application/octet-stream;base64,PA4AAIQOAAAYAAAAAAAAABQOAACrDgAAPA4AAMgOAAAYAAAAAAAAADwOAADxDgAAQAAAAAAAAAAUDgAADQ8AABQOAAAyDwAAPA4AAFcPAAAwAAAAAAAAADwOAAB4GQAASAAAAAAAAAA8DgAAhw8AAIAAAAAAAAAAPA4AAOAPAACQAAAAAAAAADwOAAA0EAAAoAAAAAAAAAA8DgAAaBAAALAAAAAAAAAAFA4AAJMQAAA8DgAAtxAAAMgAAAAAAAAAFA4AAFURAAA8DgAA8xEAAOAAAAAAAAAAPA4AAIsSAACAAAAAAAAAADwOAAAUEwAA4AAAAAAAAAA8DgAArhMAAOAAAAAAAAAAPA4AAFQUAADgAAAAAAAAADwOAADqFAAAMAEAAAAAAAAUDgAAlRUAADwOAABAFgAASAEAAAAAAAA8DgAA5RYAAIAAAAAAAAAAPA4AAHsXAABIAQAAAAAAADwOAAAiGAAASAEAAAAAAAA8DgAA1RgAAEgBAAAAAAAAPA4AAC8gAABgAAAAAAAAADwOAACkGQAAqAEAAAAAAAA8DgAAFRoAAJAAAAAAAAAAPA4AAIEaAADIAQAAAAAAABQOAAA3GwAAPA4AAO0bAADgAQAAAAAAADwOAACdHAAAqAEAAAAAAAA8DgAAPh0AAAACAAAAAAAAFA4AAAEeAAA8DgAAxB4AABgCAAAAAAAAPA4AAIEfAACoAQAAAAAAADwOAABaIAAAYAAAAAAAAAA8DgAA8SAAAOgCAAAAAAAAPA4AAAchAAA4AgAAAAAAADwOAAD1IwAAsAIAAAAAAAAUDgAAKCEAADwOAABwIQAAgAIAAAAAAAAUDgAAOiIAABQOAABUIgAAPA4AAI8iAACAAgAAAAAAADwOAAA4IwAAgAIAAAAAAAAUDgAAQSQAADwOAABvJAAAsAIAAAAAAAA8DgAA3CQAADgCAAAAAAAAPA4AAMIkAACAAgAAAAAAABQOAAD8JAAAPA4AAC8mAAAAAwAAAAAAABQOAACBJgAAFA4AAKQwAAA8DgAABDEAACADAAAAAAAAPA4AALEwAAAwAwAAAAAAABQOAADSMAAAPA4AAN8wAAAQAwAAAAAAADwOAADmMQAACAMAAAAAAAA8DgAA9jEAAEgDAAAAAAAAPA4AACsyAAAgAwAAAAAAADwOAAAHMgAAaAMAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAAAgAAAABAAAAAgAAAAEAAAABAAAAAQAAAAAAAAAgAAAAAwAAAAQAAAACAAAAAgAAAAIAAAAAAAAAMAAAAAUAAAAGAAAAAQAAAAMAAAAEAAAABQAAAAMAAAAEAAAABgAAAAEAAAAHAAAABQAAAAAAAABIAAAABwAAAAgAAAACAAAACAAAAAMAAAAEAAAACQAAAAoAAAAFAAAA/////wAAAABQAAAACQAAAAoAAAABAAAACwAAAAwAAAAFAAAAAwAAAAQAAAANAAAADgAAAA8AAAAGAAAAAQAAAAAAAABgAAAACwAAAAwAAAAGAAAACAAAAAMAAAAEAAAAEAAAAAoAAAAHAAAACAAAAAEAAAAHAAAAEQAAAAAAAACAAAAADQAAAA4AAAABAAAACAAAAAEAAAAJAAAAEgAAABMAAAAKAAAACwAAABQAAAABAAAAAAAAAHAAAAANAAAADwAAAAwAAAAIAAAADQAAAAkAAAASAAAAEwAAAAoAAAALAAAAFAAAAAEAAAAAAAAAEAEAAA0AAAAQAAAADgAAAAgAAAAPAAAACQAAABIAAAATAAAACgAAAAsAAAAUAAAAAgAAAAAAAAAAAQAAEQAAABIAAAAQAAAACAAAABEAAAAJAAAAEgAAABMAAAAKAAAACwAAABUAAAADAAAAAAAAAPAAAAATAAAAFAAAABIAAAAIAAAAEwAAABQAAAAWAAAAFwAAAAoAAAALAAAAGAAAAAQAAAAAAAAA0AAAABUAAAAWAAAAFQAAAAgAAAAWAAAAFwAAABkAAAAaAAAACgAAAAsAAAAbAAAABQAAAAAAAAC4AAAAFwAAABgAAAAcAAAAGAAAAAIAAAAAAAAAeAEAAA0AAAAZAAAAGQAAAAgAAAAaAAAACQAAABIAAAATAAAACgAAAAsAAAAUAAAABgAAAAAAAABoAQAAGgAAABsAAAAbAAAACAAAABwAAAAJAAAAEgAAABMAAAAKAAAACwAAAB0AAAAHAAAAAAAAAFgBAAAcAAAAHQAAAB0AAAAIAAAAHgAAAB8AAAAeAAAAHwAAAAoAAAALAAAAIAAAAAgAAAAAAAAAOAEAAB4AAAAfAAAAIAAAAAgAAAAhAAAAIgAAACEAAAAiAAAACgAAAAsAAAAjAAAACQAAAAAAAAAgAQAAIAAAACEAAAAkAAAAIwAAAAMAAAAAAAAAiAEAAAsAAAAiAAAACQAAAAgAAAADAAAACgAAABAAAAAKAAAABwAAAAsAAAACAAAAJAAAACUAAAAAAAAAmAEAACMAAAAkAAAAJQAAACYAAAAnAAAAKAAAACYAAAAnAAAAKQAAACoAAAAoAAAACgAAAAAAAAAIAgAAJQAAACYAAAArAAAAJgAAACwAAAAtAAAAKQAAACoAAAApAAAAKgAAACsAAAALAAAAAAAAAPABAAAnAAAAKAAAACwAAAAuAAAABAAAAAAAAADQAQAAKQAAACoAAAAvAAAAJgAAADAAAAAxAAAALQAAAC4AAAApAAAAKgAAAC8AAAAMAAAAAAAAALgBAAArAAAALAAAADAAAAAyAAAABQAAAAAAAAAoAgAALQAAAC4AAAAMAAAACAAAAAMAAAANAAAAEAAAAAoAAAAHAAAADgAAAAEAAAAHAAAAMQAAADMAAAAyAAAAAAAAADgCAAAvAAAAMAAAADQAAAA1AAAAAQAAADYAAAA3AAAAOAAAADkAAAA6AAAAMwAAADQAAAABAAAAAAAAAEgCAAAxAAAAMgAAADQAAAA7AAAANQAAADYAAAA3AAAAOAAAADwAAAA9AAAANgAAADcAAAA+AAAAAAAAAFgCAAAzAAAANAAAADgAAAA5AAAAOgAAADsAAAA/AAAAQAAAAEEAAABCAAAA/////wAAAABwAgAANQAAADYAAAA8AAAAQwAAAAAAAABoAgAANwAAADgAAAA5AAAA/////wAAAACQAgAAOgAAADsAAAA9AAAARAAAAAAAAACIAgAAPAAAAD0AAAA+AAAAAAAAAKACAAA/AAAAQAAAAD4AAABFAAAAAAAAALgCAABBAAAAQgAAAD8AAABAAAAAQQAAAEIAAABGAAAARwAAAEgAAABJAAAAAAAAAAEAAAADAAAABQAAAAcAAAAAAAAAyAIAAC8AAABDAAAANAAAADUAAABDAAAANgAAADcAAAA4AAAAOQAAADoAAAAzAAAANAAAAEoAAAAAAAAA2AIAAEQAAABFAAAARAAAAEsAAAAAAAAA6AIAAC8AAABGAAAATAAAADUAAAABAAAATQAAADcAAAA4AAAAOQAAAP//////////AAAAAPACAABHAAAASAAAAAYAAAADAAAA/////wAAAAAAAwAASQAAAEoAAAAHAAAABAAAAJwKAAAFAAAAAAAAAAAAAABOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAEAAAAJg0AAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAMAAAAFAAAABwAAAAsAAAANAAAAEQAAABMAAAAXAAAAHQAAAB8AAAAlAAAAKQAAACsAAAAvAAAANQAAADsAAAA9AAAAQwAAAEcAAABJAAAATwAAAFMAAABZAAAAYQAAAGUAAABnAAAAawAAAG0AAABxAAAAfwAAAIMAAACJAAAAiwAAAJUAAACXAAAAnQAAAKMAAACnAAAArQAAALMAAAC1AAAAvwAAAMEAAADFAAAAxwAAANMAAAABAAAACwAAAA0AAAARAAAAEwAAABcAAAAdAAAAHwAAACUAAAApAAAAKwAAAC8AAAA1AAAAOwAAAD0AAABDAAAARwAAAEkAAABPAAAAUwAAAFkAAABhAAAAZQAAAGcAAABrAAAAbQAAAHEAAAB5AAAAfwAAAIMAAACJAAAAiwAAAI8AAACVAAAAlwAAAJ0AAACjAAAApwAAAKkAAACtAAAAswAAALUAAAC7AAAAvwAAAMEAAADFAAAAxwAAANEAAAACAAAAAAAAABADAABLAAAATAAAAE0AAABOAAAAEgAAAAEAAAABAAAAAwAAAAAAAAA4AwAASwAAAE8AAABNAAAATgAAABIAAAACAAAAAgAAAAQAAAAAAAAASAMAAFAAAABRAAAATwAAAAAAAABYAwAAUAAAAFIAAABPAAAATjVkcmFjbzI4QXR0cmlidXRlT2N0YWhlZHJvblRyYW5zZm9ybUUATjVkcmFjbzE4QXR0cmlidXRlVHJhbnNmb3JtRQBONWRyYWNvMzBBdHRyaWJ1dGVRdWFudGl6YXRpb25UcmFuc2Zvcm1FAE41ZHJhY28xN0F0dHJpYnV0ZXNEZWNvZGVyRQBONWRyYWNvMjZBdHRyaWJ1dGVzRGVjb2RlckludGVyZmFjZUUATjVkcmFjbzI2U2VxdWVudGlhbEF0dHJpYnV0ZURlY29kZXJFAE41ZHJhY28zN1NlcXVlbnRpYWxBdHRyaWJ1dGVEZWNvZGVyc0NvbnRyb2xsZXJFAE41ZHJhY28yOFByZWRpY3Rpb25TY2hlbWVEZWx0YURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFRUUATjVkcmFjbzIzUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFRUUATjVkcmFjbzM3UHJlZGljdGlvblNjaGVtZVR5cGVkRGVjb2RlckludGVyZmFjZUlpaUVFAE41ZHJhY28zMlByZWRpY3Rpb25TY2hlbWVEZWNvZGVySW50ZXJmYWNlRQBONWRyYWNvMjVQcmVkaWN0aW9uU2NoZW1lSW50ZXJmYWNlRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQyTWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280NE1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzUG9ydGFibGVEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNTZNZXNoUHJlZGljdGlvblNjaGVtZUNvbnN0cmFpbmVkTXVsdGlQYXJhbGxlbG9ncmFtRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQwTWVzaFByZWRpY3Rpb25TY2hlbWVQYXJhbGxlbG9ncmFtRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQyTWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ0TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNQb3J0YWJsZURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNTZNZXNoUHJlZGljdGlvblNjaGVtZUNvbnN0cmFpbmVkTXVsdGlQYXJhbGxlbG9ncmFtRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280ME1lc2hQcmVkaWN0aW9uU2NoZW1lUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMzNTZXF1ZW50aWFsSW50ZWdlckF0dHJpYnV0ZURlY29kZXJFAE41ZHJhY28yOFByZWRpY3Rpb25TY2hlbWVEZWx0YURlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFRUUATjVkcmFjbzIzUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRGVjb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMzJTZXF1ZW50aWFsTm9ybWFsQXR0cmlidXRlRGVjb2RlckUATjVkcmFjbzM4U2VxdWVudGlhbFF1YW50aXphdGlvbkF0dHJpYnV0ZURlY29kZXJFAFVuc3VwcG9ydGVkIGVuY29kaW5nIG1ldGhvZC4AVW5zdXBwb3J0ZWQgZ2VvbWV0cnkgdHlwZS4ASW5wdXQgaXMgbm90IGEgbWVzaC4Ac2tpcF9hdHRyaWJ1dGVfdHJhbnNmb3JtAE41ZHJhY28xMU1lc2hEZWNvZGVyRQBONWRyYWNvMjJNZXNoRWRnZUJyZWFrZXJEZWNvZGVyRQBONWRyYWNvMjlDb3JuZXJUYWJsZVRyYXZlcnNhbFByb2Nlc3NvcklOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRQBONWRyYWNvMjJNZXNoVHJhdmVyc2FsU2VxdWVuY2VySU5TXzIwRWRnZUJyZWFrZXJUcmF2ZXJzZXJJTlNfMjlDb3JuZXJUYWJsZVRyYXZlcnNhbFByb2Nlc3NvcklOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRU5TXzM2TWVzaEF0dHJpYnV0ZUluZGljZXNFbmNvZGluZ09ic2VydmVySVMzX0VFTlNfMTlFZGdlQnJlYWtlck9ic2VydmVyRUVFRUUATjVkcmFjbzE1UG9pbnRzU2VxdWVuY2VyRQBONWRyYWNvMjlDb3JuZXJUYWJsZVRyYXZlcnNhbFByb2Nlc3NvcklOU18xMUNvcm5lclRhYmxlRUVFAE41ZHJhY28yMk1lc2hUcmF2ZXJzYWxTZXF1ZW5jZXJJTlNfMjVQcmVkaWN0aW9uRGVncmVlVHJhdmVyc2VySU5TXzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMTFDb3JuZXJUYWJsZUVFRU5TXzM2TWVzaEF0dHJpYnV0ZUluZGljZXNFbmNvZGluZ09ic2VydmVySVMzX0VFRUVFRQBONWRyYWNvMjJNZXNoVHJhdmVyc2FsU2VxdWVuY2VySU5TXzIwRWRnZUJyZWFrZXJUcmF2ZXJzZXJJTlNfMjlDb3JuZXJUYWJsZVRyYXZlcnNhbFByb2Nlc3NvcklOU18xMUNvcm5lclRhYmxlRUVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzNfRUVOU18xOUVkZ2VCcmVha2VyT2JzZXJ2ZXJFRUVFRQBONWRyYWNvMjZNZXNoRWRnZUJyZWFrZXJEZWNvZGVySW1wbElOU18zMU1lc2hFZGdlQnJlYWtlclRyYXZlcnNhbERlY29kZXJFRUUATjVkcmFjbzM1TWVzaEVkZ2VCcmVha2VyRGVjb2RlckltcGxJbnRlcmZhY2VFAE41ZHJhY28yNk1lc2hFZGdlQnJlYWtlckRlY29kZXJJbXBsSU5TXzM4TWVzaEVkZ2VCcmVha2VyVHJhdmVyc2FsVmFsZW5jZURlY29kZXJFRUUATjVkcmFjbzE1TGluZWFyU2VxdWVuY2VyRQBONWRyYWNvMjFNZXNoU2VxdWVudGlhbERlY29kZXJFAE41ZHJhY28xN1BvaW50Q2xvdWREZWNvZGVyRQBGYWlsZWQgdG8gcGFyc2UgRHJhY28gaGVhZGVyLgBEUkFDTwBOb3QgYSBEcmFjbyBmaWxlLgBGYWlsZWQgdG8gZGVjb2RlIG1ldGFkYXRhLgBVc2luZyBpbmNvbXBhdGlibGUgZGVjb2RlciBmb3IgdGhlIGlucHV0IGdlb21ldHJ5LgBVbmtub3duIG1ham9yIHZlcnNpb24uAFVua25vd24gbWlub3IgdmVyc2lvbi4ARmFpbGVkIHRvIGluaXRpYWxpemUgdGhlIGRlY29kZXIuAEZhaWxlZCB0byBkZWNvZGUgZ2VvbWV0cnkgZGF0YS4ARmFpbGVkIHRvIGRlY29kZSBwb2ludCBhdHRyaWJ1dGVzLgBONWRyYWNvNE1lc2hFAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUATjVkcmFjbzEwUG9pbnRDbG91ZEUAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAETCQsLAAAJBgsAAAsABhEAAAAREREAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAANAAAABA0AAAAACQ4AAAAAAA4AAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAADwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAASEhIAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAAKAAAAAAoAAAAACQsAAAAAAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAG5hbgBOQU4AMDEyMzQ1Njc4OUFCQ0RFRi4AVCEiGQ0BAgMRSxwMEAQLHRIeJ2hub3BxYiAFBg8TFBUaCBYHKCQXGAkKDhsfJSODgn0mKis8PT4/Q0dKTVhZWltcXV5fYGFjZGVmZ2lqa2xyc3R5ent8AElsbGVnYWwgYnl0ZSBzZXF1ZW5jZQBEb21haW4gZXJyb3IAUmVzdWx0IG5vdCByZXByZXNlbnRhYmxlAE5vdCBhIHR0eQBQZXJtaXNzaW9uIGRlbmllZABPcGVyYXRpb24gbm90IHBlcm1pdHRlZABObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5AE5vIHN1Y2ggcHJvY2VzcwBGaWxlIGV4aXN0cwBWYWx1ZSB0b28gbGFyZ2UgZm9yIGRhdGEgdHlwZQBObyBzcGFjZSBsZWZ0IG9uIGRldmljZQBPdXQgb2YgbWVtb3J5AFJlc291cmNlIGJ1c3kASW50ZXJydXB0ZWQgc3lzdGVtIGNhbGwAUmVzb3VyY2UgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUASW52YWxpZCBzZWVrAENyb3NzLWRldmljZSBsaW5rAFJlYWQtb25seSBmaWxlIHN5c3RlbQBEaXJlY3Rvcnkgbm90IGVtcHR5AENvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcgBPcGVyYXRpb24gdGltZWQgb3V0AENvbm5lY3Rpb24gcmVmdXNlZABIb3N0IGlzIGRvd24ASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBCbG9jayBkZXZpY2UgcmVxdWlyZWQATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABEZXZpY2Ugbm90IGEgc3RyZWFtAE5vIGRhdGEgYXZhaWxhYmxlAERldmljZSB0aW1lb3V0AE91dCBvZiBzdHJlYW1zIHJlc291cmNlcwBMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UARmlsZSBkZXNjcmlwdG9yIGluIGJhZCBzdGF0ZQBOb3QgYSBzb2NrZXQARGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZABNZXNzYWdlIHRvbyBsYXJnZQBQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQAUHJvdG9jb2wgbm90IGF2YWlsYWJsZQBQcm90b2NvbCBub3Qgc3VwcG9ydGVkAFNvY2tldCB0eXBlIG5vdCBzdXBwb3J0ZWQATm90IHN1cHBvcnRlZABQcm90b2NvbCBmYW1pbHkgbm90IHN1cHBvcnRlZABBZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sAEFkZHJlc3Mgbm90IGF2YWlsYWJsZQBOZXR3b3JrIGlzIGRvd24ATmV0d29yayB1bnJlYWNoYWJsZQBDb25uZWN0aW9uIHJlc2V0IGJ5IG5ldHdvcmsAQ29ubmVjdGlvbiBhYm9ydGVkAE5vIGJ1ZmZlciBzcGFjZSBhdmFpbGFibGUAU29ja2V0IGlzIGNvbm5lY3RlZABTb2NrZXQgbm90IGNvbm5lY3RlZABDYW5ub3Qgc2VuZCBhZnRlciBzb2NrZXQgc2h1dGRvd24AT3BlcmF0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MAT3BlcmF0aW9uIGluIHByb2dyZXNzAFN0YWxlIGZpbGUgaGFuZGxlAFJlbW90ZSBJL08gZXJyb3IAUXVvdGEgZXhjZWVkZWQATm8gbWVkaXVtIGZvdW5kAFdyb25nIG1lZGl1bSB0eXBlAE5vIGVycm9yIGluZm9ybWF0aW9uAAAlZAB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzOiAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZm9yZWlnbiBleGNlcHRpb24AdGVybWluYXRpbmcAdW5jYXVnaHQAU3Q5ZXhjZXB0aW9uAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAHB0aHJlYWRfb25jZSBmYWlsdXJlIGluIF9fY3hhX2dldF9nbG9iYWxzX2Zhc3QoKQBjYW5ub3QgY3JlYXRlIHB0aHJlYWQga2V5IGZvciBfX2N4YV9nZXRfZ2xvYmFscygpAGNhbm5vdCB6ZXJvIG91dCB0aHJlYWQgdmFsdWUgZm9yIF9fY3hhX2dldF9nbG9iYWxzKCkAdGVybWluYXRlX2hhbmRsZXIgdW5leHBlY3RlZGx5IHJldHVybmVkAFN0MTFsb2dpY19lcnJvcgBTdDEybGVuZ3RoX2Vycm9yAE4xMF9fY3h4YWJpdjExOV9fcG9pbnRlcl90eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fcGJhc2VfdHlwZV9pbmZvRQ==";var tempDoublePtr=STATICTOP;STATICTOP+=16;function ___cxa_allocate_exception(size){return _malloc(size)}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:(function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var ptr in EXCEPTIONS.infos){var info=EXCEPTIONS.infos[ptr];if(info.adjusted===adjusted){return ptr}}return adjusted}),addRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++}),decRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0&&!info.rethrown){if(info.destructor){Module["dynCall_vi"](info.destructor,ptr)}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}}),clearRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0})};function ___cxa_begin_catch(ptr){var info=EXCEPTIONS.infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(setTempRet0(0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i>2];info.adjusted=thrown;return(setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(setTempRet0(throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC);function ___gxx_personality_v0(){}var SYSCALLS={varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function flush_NO_FILESYSTEM(){var fflush=Module["_fflush"];if(fflush)fflush(0);var printChar=___syscall146.printChar;if(!printChar)return;var buffers=___syscall146.buffers;if(buffers[1].length)printChar(1,10);if(buffers[2].length)printChar(2,10)}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffers){___syscall146.buffers=[null,[],[]];___syscall146.printChar=(function(stream,curr){var buffer=___syscall146.buffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?Module["print"]:Module["printErr"])(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}})}for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Module["dynCall_v"](func);_pthread_once.seen[ptr]=1}function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}DYNAMICTOP_PTR=staticAlloc(4);STACK_BASE=STACKTOP=alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:(function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i2147483648)return false;b=new a(newBuffer);d=new c(newBuffer);f=new e(newBuffer);h=new g(newBuffer);j=new i(newBuffer);l=new k(newBuffer);n=new m(newBuffer);p=new o(newBuffer);buffer=newBuffer;return true} +// EMSCRIPTEN_START_FUNCS +function Ib(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,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((b|0)<0)return;c=a+12|0;d=f[c>>2]|0;e=f[a+8>>2]|0;g=e;h=d;if(d-e>>2>>>0<=b>>>0)return;e=g+(b<<2)|0;d=f[(f[e>>2]|0)+56>>2]|0;i=f[(f[g+(b<<2)>>2]|0)+60>>2]|0;g=e+4|0;if((g|0)!=(h|0)){j=g;g=e;do{k=f[j>>2]|0;f[j>>2]=0;l=f[g>>2]|0;f[g>>2]=k;if(l|0){k=l+88|0;m=f[k>>2]|0;f[k>>2]=0;if(m|0){k=f[m+8>>2]|0;if(k|0){n=m+12|0;if((f[n>>2]|0)!=(k|0))f[n>>2]=k;dn(k)}dn(m)}m=f[l+68>>2]|0;if(m|0){k=l+72|0;n=f[k>>2]|0;if((n|0)!=(m|0))f[k>>2]=n+(~((n+-4-m|0)>>>2)<<2);dn(m)}m=l+64|0;n=f[m>>2]|0;f[m>>2]=0;if(n|0){m=f[n>>2]|0;if(m|0){k=n+4|0;if((f[k>>2]|0)!=(m|0))f[k>>2]=m;dn(m)}dn(n)}dn(l)}j=j+4|0;g=g+4|0}while((j|0)!=(h|0));j=f[c>>2]|0;if((j|0)!=(g|0)){o=g;p=j;q=24}}else{o=e;p=h;q=24}if((q|0)==24){q=p;do{p=q+-4|0;f[c>>2]=p;h=f[p>>2]|0;f[p>>2]=0;if(h|0){p=h+88|0;e=f[p>>2]|0;f[p>>2]=0;if(e|0){p=f[e+8>>2]|0;if(p|0){j=e+12|0;if((f[j>>2]|0)!=(p|0))f[j>>2]=p;dn(p)}dn(e)}e=f[h+68>>2]|0;if(e|0){p=h+72|0;j=f[p>>2]|0;if((j|0)!=(e|0))f[p>>2]=j+(~((j+-4-e|0)>>>2)<<2);dn(e)}e=h+64|0;j=f[e>>2]|0;f[e>>2]=0;if(j|0){e=f[j>>2]|0;if(e|0){p=j+4|0;if((f[p>>2]|0)!=(e|0))f[p>>2]=e;dn(e)}dn(j)}dn(h)}q=f[c>>2]|0}while((q|0)!=(o|0))}o=f[a+4>>2]|0;a:do if(o|0){q=o+44|0;c=f[q>>2]|0;h=f[o+40>>2]|0;while(1){if((h|0)==(c|0))break a;r=h+4|0;if((f[(f[h>>2]|0)+40>>2]|0)==(i|0))break;else h=r}if((r|0)!=(c|0)){j=r;e=h;do{p=f[j>>2]|0;f[j>>2]=0;g=f[e>>2]|0;f[e>>2]=p;if(g|0){Cf(g);dn(g)}j=j+4|0;e=e+4|0}while((j|0)!=(c|0));j=f[q>>2]|0;if((j|0)==(e|0))break;else{s=e;t=j}}else{s=h;t=c}j=t;do{g=j+-4|0;f[q>>2]=g;p=f[g>>2]|0;f[g>>2]=0;if(p|0){Cf(p);dn(p)}j=f[q>>2]|0}while((j|0)!=(s|0))}while(0);b:do if((d|0)<5){s=f[a+20+(d*12|0)>>2]|0;t=a+20+(d*12|0)+4|0;r=f[t>>2]|0;i=r;c:do if((s|0)==(r|0))u=s;else{o=s;while(1){if((f[o>>2]|0)==(b|0)){u=o;break c}o=o+4|0;if((o|0)==(r|0))break b}}while(0);if((u|0)!=(r|0)){s=u+4|0;o=i-s|0;j=o>>2;if(!j)v=r;else{qi(u|0,s|0,o|0)|0;v=f[t>>2]|0}o=u+(j<<2)|0;if((v|0)!=(o|0))f[t>>2]=v+(~((v+-4-o|0)>>>2)<<2)}}while(0);v=f[a+24>>2]|0;u=f[a+20>>2]|0;d=u;if((v|0)!=(u|0)){o=v-u>>2;u=0;do{v=d+(u<<2)|0;j=f[v>>2]|0;if((j|0)>(b|0))f[v>>2]=j+-1;u=u+1|0}while(u>>>0>>0)}o=f[a+36>>2]|0;u=f[a+32>>2]|0;d=u;if((o|0)!=(u|0)){j=o-u>>2;u=0;do{o=d+(u<<2)|0;v=f[o>>2]|0;if((v|0)>(b|0))f[o>>2]=v+-1;u=u+1|0}while(u>>>0>>0)}j=f[a+48>>2]|0;u=f[a+44>>2]|0;d=u;if((j|0)!=(u|0)){v=j-u>>2;u=0;do{j=d+(u<<2)|0;o=f[j>>2]|0;if((o|0)>(b|0))f[j>>2]=o+-1;u=u+1|0}while(u>>>0>>0)}v=f[a+60>>2]|0;u=f[a+56>>2]|0;d=u;if((v|0)!=(u|0)){o=v-u>>2;u=0;do{v=d+(u<<2)|0;j=f[v>>2]|0;if((j|0)>(b|0))f[v>>2]=j+-1;u=u+1|0}while(u>>>0>>0)}o=f[a+72>>2]|0;u=f[a+68>>2]|0;a=u;if((o|0)==(u|0))return;d=o-u>>2;u=0;do{o=a+(u<<2)|0;j=f[o>>2]|0;if((j|0)>(b|0))f[o>>2]=j+-1;u=u+1|0}while(u>>>0>>0);return}function Jb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;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,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;e=u;u=u+32|0;d=e+28|0;h=e+16|0;i=e+8|0;j=e;k=a+60|0;f[a+68>>2]=g;g=a+56|0;l=f[g>>2]|0;m=(f[l+4>>2]|0)-(f[l>>2]|0)|0;n=m>>2;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;if((m|0)<=0){u=e;return 1}m=h+4|0;o=h+8|0;p=a+104|0;q=a+108|0;r=i+4|0;s=a+100|0;t=a+8|0;v=a+16|0;w=a+32|0;x=a+12|0;y=a+20|0;a=f[l>>2]|0;if((f[l+4>>2]|0)==(a|0)){z=l;um(z)}else{A=0;B=a}while(1){f[j>>2]=f[B+(A<<2)>>2];f[d>>2]=f[j>>2];yb(k,d,h);a=f[h>>2]|0;l=(a|0)>-1?a:0-a|0;C=f[m>>2]|0;D=(C|0)>-1?C:0-C|0;E=Rj(D|0,((D|0)<0)<<31>>31|0,l|0,((l|0)<0)<<31>>31|0)|0;l=f[o>>2]|0;D=(l|0)>-1;F=D?l:0-l|0;l=Rj(E|0,I|0,F|0,((F|0)<0)<<31>>31|0)|0;F=I;if((l|0)==0&(F|0)==0){G=f[p>>2]|0;H=h}else{E=f[p>>2]|0;J=((E|0)<0)<<31>>31;K=gj(E|0,J|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Ug(K|0,I|0,l|0,F|0)|0;f[h>>2]=a;K=gj(E|0,J|0,C|0,((C|0)<0)<<31>>31|0)|0;C=Ug(K|0,I|0,l|0,F|0)|0;f[m>>2]=C;F=E-((a|0)>-1?a:0-a|0)-((C|0)>-1?C:0-C|0)|0;G=D?F:0-F|0;H=o}f[H>>2]=G;F=Wg(q)|0;D=f[h>>2]|0;if(F){F=0-D|0;C=0-(f[m>>2]|0)|0;a=0-(f[o>>2]|0)|0;f[h>>2]=F;f[m>>2]=C;f[o>>2]=a;L=F;M=C}else{L=D;M=f[m>>2]|0}do if((L|0)<=-1){if((M|0)<0){D=f[o>>2]|0;N=(D|0)>-1?D:0-D|0;O=D}else{D=f[o>>2]|0;N=(f[s>>2]|0)-((D|0)>-1?D:0-D|0)|0;O=D}if((O|0)<0){P=(M|0)>-1?M:0-M|0;Q=N;break}else{P=(f[s>>2]|0)-((M|0)>-1?M:0-M|0)|0;Q=N;break}}else{D=f[p>>2]|0;P=(f[o>>2]|0)+D|0;Q=D+M|0}while(0);D=(Q|0)==0;C=(P|0)==0;F=f[s>>2]|0;do if(P|Q){a=(F|0)==(P|0);if(!(D&a)){E=(F|0)==(Q|0);if(!(C&E)){if(D?(l=f[p>>2]|0,(l|0)<(P|0)):0){R=0;S=(l<<1)-P|0;break}if(E?(E=f[p>>2]|0,(E|0)>(P|0)):0){R=Q;S=(E<<1)-P|0;break}if(a?(a=f[p>>2]|0,(a|0)>(Q|0)):0){R=(a<<1)-Q|0;S=P;break}if(C){a=f[p>>2]|0;R=(a|0)<(Q|0)?(a<<1)-Q|0:Q;S=0}else{R=Q;S=P}}else{R=Q;S=Q}}else{R=P;S=P}}else{R=F;S=F}while(0);f[i>>2]=R;f[r>>2]=S;F=A<<1;C=b+(F<<2)|0;D=c+(F<<2)|0;if((f[t>>2]|0)>0){F=0;a=R;while(1){E=f[v>>2]|0;if((a|0)>(E|0)){l=f[w>>2]|0;f[l+(F<<2)>>2]=E;T=l}else{l=f[x>>2]|0;E=f[w>>2]|0;f[E+(F<<2)>>2]=(a|0)<(l|0)?l:a;T=E}E=F+1|0;U=f[t>>2]|0;if((E|0)>=(U|0))break;F=E;a=f[i+(E<<2)>>2]|0}if((U|0)>0){a=0;do{F=(f[C+(a<<2)>>2]|0)+(f[T+(a<<2)>>2]|0)|0;E=D+(a<<2)|0;f[E>>2]=F;if((F|0)<=(f[v>>2]|0)){if((F|0)<(f[x>>2]|0)){V=(f[y>>2]|0)+F|0;W=44}}else{V=F-(f[y>>2]|0)|0;W=44}if((W|0)==44){W=0;f[E>>2]=V}a=a+1|0}while((a|0)<(f[t>>2]|0))}}A=A+1|0;if((A|0)>=(n|0)){W=3;break}a=f[g>>2]|0;B=f[a>>2]|0;if((f[a+4>>2]|0)-B>>2>>>0<=A>>>0){z=a;W=4;break}}if((W|0)==3){u=e;return 1}else if((W|0)==4)um(z);return 0}function Kb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;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,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;e=u;u=u+32|0;d=e+28|0;h=e+16|0;i=e+8|0;j=e;k=a+60|0;f[a+68>>2]=g;g=a+56|0;l=f[g>>2]|0;m=(f[l+4>>2]|0)-(f[l>>2]|0)|0;n=m>>2;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;if((m|0)<=0){u=e;return 1}m=h+4|0;o=h+8|0;p=a+104|0;q=a+108|0;r=i+4|0;s=a+100|0;t=a+8|0;v=a+16|0;w=a+32|0;x=a+12|0;y=a+20|0;a=f[l>>2]|0;if((f[l+4>>2]|0)==(a|0)){z=l;um(z)}else{A=0;B=a}while(1){f[j>>2]=f[B+(A<<2)>>2];f[d>>2]=f[j>>2];vb(k,d,h);a=f[h>>2]|0;l=(a|0)>-1?a:0-a|0;C=f[m>>2]|0;D=(C|0)>-1?C:0-C|0;E=Rj(D|0,((D|0)<0)<<31>>31|0,l|0,((l|0)<0)<<31>>31|0)|0;l=f[o>>2]|0;D=(l|0)>-1;F=D?l:0-l|0;l=Rj(E|0,I|0,F|0,((F|0)<0)<<31>>31|0)|0;F=I;if((l|0)==0&(F|0)==0){G=f[p>>2]|0;H=h}else{E=f[p>>2]|0;J=((E|0)<0)<<31>>31;K=gj(E|0,J|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Ug(K|0,I|0,l|0,F|0)|0;f[h>>2]=a;K=gj(E|0,J|0,C|0,((C|0)<0)<<31>>31|0)|0;C=Ug(K|0,I|0,l|0,F|0)|0;f[m>>2]=C;F=E-((a|0)>-1?a:0-a|0)-((C|0)>-1?C:0-C|0)|0;G=D?F:0-F|0;H=o}f[H>>2]=G;F=Wg(q)|0;D=f[h>>2]|0;if(F){F=0-D|0;C=0-(f[m>>2]|0)|0;a=0-(f[o>>2]|0)|0;f[h>>2]=F;f[m>>2]=C;f[o>>2]=a;L=F;M=C}else{L=D;M=f[m>>2]|0}do if((L|0)<=-1){if((M|0)<0){D=f[o>>2]|0;N=(D|0)>-1?D:0-D|0;O=D}else{D=f[o>>2]|0;N=(f[s>>2]|0)-((D|0)>-1?D:0-D|0)|0;O=D}if((O|0)<0){P=(M|0)>-1?M:0-M|0;Q=N;break}else{P=(f[s>>2]|0)-((M|0)>-1?M:0-M|0)|0;Q=N;break}}else{D=f[p>>2]|0;P=(f[o>>2]|0)+D|0;Q=D+M|0}while(0);D=(Q|0)==0;C=(P|0)==0;F=f[s>>2]|0;do if(P|Q){a=(F|0)==(P|0);if(!(D&a)){E=(F|0)==(Q|0);if(!(C&E)){if(D?(l=f[p>>2]|0,(l|0)<(P|0)):0){R=0;S=(l<<1)-P|0;break}if(E?(E=f[p>>2]|0,(E|0)>(P|0)):0){R=Q;S=(E<<1)-P|0;break}if(a?(a=f[p>>2]|0,(a|0)>(Q|0)):0){R=(a<<1)-Q|0;S=P;break}if(C){a=f[p>>2]|0;R=(a|0)<(Q|0)?(a<<1)-Q|0:Q;S=0}else{R=Q;S=P}}else{R=Q;S=Q}}else{R=P;S=P}}else{R=F;S=F}while(0);f[i>>2]=R;f[r>>2]=S;F=A<<1;C=b+(F<<2)|0;D=c+(F<<2)|0;if((f[t>>2]|0)>0){F=0;a=R;while(1){E=f[v>>2]|0;if((a|0)>(E|0)){l=f[w>>2]|0;f[l+(F<<2)>>2]=E;T=l}else{l=f[x>>2]|0;E=f[w>>2]|0;f[E+(F<<2)>>2]=(a|0)<(l|0)?l:a;T=E}E=F+1|0;U=f[t>>2]|0;if((E|0)>=(U|0))break;F=E;a=f[i+(E<<2)>>2]|0}if((U|0)>0){a=0;do{F=(f[C+(a<<2)>>2]|0)+(f[T+(a<<2)>>2]|0)|0;E=D+(a<<2)|0;f[E>>2]=F;if((F|0)<=(f[v>>2]|0)){if((F|0)<(f[x>>2]|0)){V=(f[y>>2]|0)+F|0;W=44}}else{V=F-(f[y>>2]|0)|0;W=44}if((W|0)==44){W=0;f[E>>2]=V}a=a+1|0}while((a|0)<(f[t>>2]|0))}}A=A+1|0;if((A|0)>=(n|0)){W=3;break}a=f[g>>2]|0;B=f[a>>2]|0;if((f[a+4>>2]|0)-B>>2>>>0<=A>>>0){z=a;W=4;break}}if((W|0)==3){u=e;return 1}else if((W|0)==4)um(z);return 0}function Lb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,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;e=u;u=u+16|0;g=e+8|0;h=e+4|0;i=e;j=a+64|0;k=f[j>>2]|0;if((f[k+28>>2]|0)==(f[k+24>>2]|0)){u=e;return}l=c+96|0;c=a+52|0;m=d+84|0;n=d+68|0;d=a+56|0;o=a+60|0;p=a+12|0;q=a+28|0;r=a+40|0;s=a+44|0;t=a+48|0;v=0;w=0;x=k;while(1){k=f[(f[x+24>>2]|0)+(w<<2)>>2]|0;if((k|0)==-1){y=v;z=x}else{A=v+1|0;B=f[(f[l>>2]|0)+(((k|0)/3|0)*12|0)+(((k|0)%3|0)<<2)>>2]|0;if(!(b[m>>0]|0))C=f[(f[n>>2]|0)+(B<<2)>>2]|0;else C=B;f[g>>2]=C;B=f[d>>2]|0;if(B>>>0<(f[o>>2]|0)>>>0){f[B>>2]=C;f[d>>2]=B+4}else xf(c,g);f[g>>2]=k;f[h>>2]=0;a:do if(!(f[(f[p>>2]|0)+(w>>>5<<2)>>2]&1<<(w&31)))D=k;else{B=k+1|0;E=((B>>>0)%3|0|0)==0?k+-2|0:B;if(((E|0)!=-1?(f[(f[a>>2]|0)+(E>>>5<<2)>>2]&1<<(E&31)|0)==0:0)?(B=f[(f[(f[j>>2]|0)+12>>2]|0)+(E<<2)>>2]|0,E=B+1|0,(B|0)!=-1):0){F=((E>>>0)%3|0|0)==0?B+-2|0:E;f[h>>2]=F;if((F|0)==-1){D=k;break}else G=F;while(1){f[g>>2]=G;F=G+1|0;E=((F>>>0)%3|0|0)==0?G+-2|0:F;if((E|0)==-1)break;if(f[(f[a>>2]|0)+(E>>>5<<2)>>2]&1<<(E&31)|0)break;F=f[(f[(f[j>>2]|0)+12>>2]|0)+(E<<2)>>2]|0;E=F+1|0;if((F|0)==-1)break;B=((E>>>0)%3|0|0)==0?F+-2|0:E;f[h>>2]=B;if((B|0)==-1){D=G;break a}else G=B}f[h>>2]=-1;D=G;break}f[h>>2]=-1;D=k}while(0);f[(f[q>>2]|0)+(D<<2)>>2]=v;k=f[s>>2]|0;if((k|0)==(f[t>>2]|0))xf(r,g);else{f[k>>2]=f[g>>2];f[s>>2]=k+4}k=f[j>>2]|0;B=f[g>>2]|0;b:do if(((B|0)!=-1?(E=(((B>>>0)%3|0|0)==0?2:-1)+B|0,(E|0)!=-1):0)?(F=f[(f[k+12>>2]|0)+(E<<2)>>2]|0,(F|0)!=-1):0){E=F+(((F>>>0)%3|0|0)==0?2:-1)|0;f[h>>2]=E;if((E|0)!=-1&(E|0)!=(B|0)){F=A;H=v;I=E;while(1){E=I+1|0;J=((E>>>0)%3|0|0)==0?I+-2|0:E;do if(f[(f[a>>2]|0)+(J>>>5<<2)>>2]&1<<(J&31)){E=F+1|0;K=f[(f[l>>2]|0)+(((I|0)/3|0)*12|0)+(((I|0)%3|0)<<2)>>2]|0;if(!(b[m>>0]|0))L=f[(f[n>>2]|0)+(K<<2)>>2]|0;else L=K;f[i>>2]=L;K=f[d>>2]|0;if(K>>>0<(f[o>>2]|0)>>>0){f[K>>2]=L;f[d>>2]=K+4}else xf(c,i);K=f[s>>2]|0;if((K|0)==(f[t>>2]|0)){xf(r,h);M=E;N=F;break}else{f[K>>2]=f[h>>2];f[s>>2]=K+4;M=E;N=F;break}}else{M=F;N=H}while(0);f[(f[q>>2]|0)+(f[h>>2]<<2)>>2]=N;O=f[j>>2]|0;J=f[h>>2]|0;if((J|0)==-1)break;E=(((J>>>0)%3|0|0)==0?2:-1)+J|0;if((E|0)==-1)break;J=f[(f[O+12>>2]|0)+(E<<2)>>2]|0;if((J|0)==-1)break;I=J+(((J>>>0)%3|0|0)==0?2:-1)|0;f[h>>2]=I;if(!((I|0)!=-1?(I|0)!=(f[g>>2]|0):0)){P=M;Q=O;break b}else{F=M;H=N}}f[h>>2]=-1;P=M;Q=O}else{P=A;Q=k}}else R=28;while(0);if((R|0)==28){R=0;f[h>>2]=-1;P=A;Q=k}y=P;z=Q}w=w+1|0;if(w>>>0>=(f[z+28>>2]|0)-(f[z+24>>2]|0)>>2>>>0)break;else{v=y;x=z}}u=e;return}function Mb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;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,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;e=u;u=u+48|0;d=e+32|0;h=e+24|0;i=e+16|0;j=e;k=e+12|0;l=a+8|0;m=f[l>>2]|0;if((m+-2|0)>>>0<=28){f[a+72>>2]=m;n=1<>2]=n+-1;m=n+-2|0;f[a+80>>2]=m;f[a+84>>2]=(m|0)/2|0}m=a+40|0;f[a+48>>2]=g;g=a+36|0;n=f[g>>2]|0;o=(f[n+4>>2]|0)-(f[n>>2]|0)|0;p=o>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;if((o|0)<=0){u=e;return 1}o=j+4|0;q=j+8|0;r=a+84|0;s=a+88|0;t=a+80|0;a=h+4|0;v=i+4|0;w=d+4|0;x=f[n>>2]|0;if((f[n+4>>2]|0)==(x|0)){y=n;um(y)}else{z=0;A=x}while(1){f[k>>2]=f[A+(z<<2)>>2];f[d>>2]=f[k>>2];yb(m,d,j);x=f[j>>2]|0;n=(x|0)>-1?x:0-x|0;B=f[o>>2]|0;C=(B|0)>-1?B:0-B|0;D=Rj(C|0,((C|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;n=f[q>>2]|0;C=(n|0)>-1;E=C?n:0-n|0;n=Rj(D|0,I|0,E|0,((E|0)<0)<<31>>31|0)|0;E=I;if((n|0)==0&(E|0)==0){F=f[r>>2]|0;G=j}else{D=f[r>>2]|0;H=((D|0)<0)<<31>>31;J=gj(D|0,H|0,x|0,((x|0)<0)<<31>>31|0)|0;x=Ug(J|0,I|0,n|0,E|0)|0;f[j>>2]=x;J=gj(D|0,H|0,B|0,((B|0)<0)<<31>>31|0)|0;B=Ug(J|0,I|0,n|0,E|0)|0;f[o>>2]=B;E=D-((x|0)>-1?x:0-x|0)-((B|0)>-1?B:0-B|0)|0;F=C?E:0-E|0;G=q}f[G>>2]=F;E=Wg(s)|0;C=f[j>>2]|0;if(E){E=0-C|0;B=0-(f[o>>2]|0)|0;x=0-(f[q>>2]|0)|0;f[j>>2]=E;f[o>>2]=B;f[q>>2]=x;K=E;L=B}else{K=C;L=f[o>>2]|0}do if((K|0)<=-1){if((L|0)<0){C=f[q>>2]|0;M=(C|0)>-1?C:0-C|0;N=C}else{C=f[q>>2]|0;M=(f[t>>2]|0)-((C|0)>-1?C:0-C|0)|0;N=C}if((N|0)<0){O=(L|0)>-1?L:0-L|0;P=M;break}else{O=(f[t>>2]|0)-((L|0)>-1?L:0-L|0)|0;P=M;break}}else{C=f[r>>2]|0;O=(f[q>>2]|0)+C|0;P=C+L|0}while(0);C=(P|0)==0;B=(O|0)==0;E=f[t>>2]|0;do if(O|P){x=(E|0)==(O|0);if(!(C&x)){D=(E|0)==(P|0);if(!(B&D)){if(C?(n=f[r>>2]|0,(n|0)<(O|0)):0){Q=0;R=(n<<1)-O|0;break}if(D?(D=f[r>>2]|0,(D|0)>(O|0)):0){Q=P;R=(D<<1)-O|0;break}if(x?(x=f[r>>2]|0,(x|0)>(P|0)):0){Q=(x<<1)-P|0;R=O;break}if(B){x=f[r>>2]|0;Q=(x|0)<(P|0)?(x<<1)-P|0:P;R=0}else{Q=P;R=O}}else{Q=P;R=P}}else{Q=O;R=O}}else{Q=E;R=E}while(0);E=z<<1;B=b+(E<<2)|0;C=c+(E<<2)|0;E=f[B>>2]|0;x=f[B+4>>2]|0;f[h>>2]=Q;f[a>>2]=R;f[i>>2]=E;f[v>>2]=x;ec(d,l,h,i);f[C>>2]=f[d>>2];f[C+4>>2]=f[w>>2];z=z+1|0;if((z|0)>=(p|0)){S=5;break}C=f[g>>2]|0;A=f[C>>2]|0;if((f[C+4>>2]|0)-A>>2>>>0<=z>>>0){y=C;S=6;break}}if((S|0)==5){u=e;return 1}else if((S|0)==6)um(y);return 0}function Nb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;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,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;e=u;u=u+48|0;d=e+32|0;h=e+24|0;i=e+16|0;j=e;k=e+12|0;l=a+8|0;m=f[l>>2]|0;if((m+-2|0)>>>0<=28){f[a+72>>2]=m;n=1<>2]=n+-1;m=n+-2|0;f[a+80>>2]=m;f[a+84>>2]=(m|0)/2|0}m=a+40|0;f[a+48>>2]=g;g=a+36|0;n=f[g>>2]|0;o=(f[n+4>>2]|0)-(f[n>>2]|0)|0;p=o>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;if((o|0)<=0){u=e;return 1}o=j+4|0;q=j+8|0;r=a+84|0;s=a+88|0;t=a+80|0;a=h+4|0;v=i+4|0;w=d+4|0;x=f[n>>2]|0;if((f[n+4>>2]|0)==(x|0)){y=n;um(y)}else{z=0;A=x}while(1){f[k>>2]=f[A+(z<<2)>>2];f[d>>2]=f[k>>2];vb(m,d,j);x=f[j>>2]|0;n=(x|0)>-1?x:0-x|0;B=f[o>>2]|0;C=(B|0)>-1?B:0-B|0;D=Rj(C|0,((C|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;n=f[q>>2]|0;C=(n|0)>-1;E=C?n:0-n|0;n=Rj(D|0,I|0,E|0,((E|0)<0)<<31>>31|0)|0;E=I;if((n|0)==0&(E|0)==0){F=f[r>>2]|0;G=j}else{D=f[r>>2]|0;H=((D|0)<0)<<31>>31;J=gj(D|0,H|0,x|0,((x|0)<0)<<31>>31|0)|0;x=Ug(J|0,I|0,n|0,E|0)|0;f[j>>2]=x;J=gj(D|0,H|0,B|0,((B|0)<0)<<31>>31|0)|0;B=Ug(J|0,I|0,n|0,E|0)|0;f[o>>2]=B;E=D-((x|0)>-1?x:0-x|0)-((B|0)>-1?B:0-B|0)|0;F=C?E:0-E|0;G=q}f[G>>2]=F;E=Wg(s)|0;C=f[j>>2]|0;if(E){E=0-C|0;B=0-(f[o>>2]|0)|0;x=0-(f[q>>2]|0)|0;f[j>>2]=E;f[o>>2]=B;f[q>>2]=x;K=E;L=B}else{K=C;L=f[o>>2]|0}do if((K|0)<=-1){if((L|0)<0){C=f[q>>2]|0;M=(C|0)>-1?C:0-C|0;N=C}else{C=f[q>>2]|0;M=(f[t>>2]|0)-((C|0)>-1?C:0-C|0)|0;N=C}if((N|0)<0){O=(L|0)>-1?L:0-L|0;P=M;break}else{O=(f[t>>2]|0)-((L|0)>-1?L:0-L|0)|0;P=M;break}}else{C=f[r>>2]|0;O=(f[q>>2]|0)+C|0;P=C+L|0}while(0);C=(P|0)==0;B=(O|0)==0;E=f[t>>2]|0;do if(O|P){x=(E|0)==(O|0);if(!(C&x)){D=(E|0)==(P|0);if(!(B&D)){if(C?(n=f[r>>2]|0,(n|0)<(O|0)):0){Q=0;R=(n<<1)-O|0;break}if(D?(D=f[r>>2]|0,(D|0)>(O|0)):0){Q=P;R=(D<<1)-O|0;break}if(x?(x=f[r>>2]|0,(x|0)>(P|0)):0){Q=(x<<1)-P|0;R=O;break}if(B){x=f[r>>2]|0;Q=(x|0)<(P|0)?(x<<1)-P|0:P;R=0}else{Q=P;R=O}}else{Q=P;R=P}}else{Q=O;R=O}}else{Q=E;R=E}while(0);E=z<<1;B=b+(E<<2)|0;C=c+(E<<2)|0;E=f[B>>2]|0;x=f[B+4>>2]|0;f[h>>2]=Q;f[a>>2]=R;f[i>>2]=E;f[v>>2]=x;ec(d,l,h,i);f[C>>2]=f[d>>2];f[C+4>>2]=f[w>>2];z=z+1|0;if((z|0)>=(p|0)){S=5;break}C=f[g>>2]|0;A=f[C>>2]|0;if((f[C+4>>2]|0)-A>>2>>>0<=z>>>0){y=C;S=6;break}}if((S|0)==5){u=e;return 1}else if((S|0)==6)um(y);return 0}function Ob(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,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;d=u;u=u+16|0;e=d+12|0;g=d;h=d+8|0;i=d+4|0;j=a+8+(b*12|0)|0;k=f[j>>2]|0;l=a+8+(b*12|0)+4|0;m=f[l>>2]|0;if((m|0)!=(k|0))f[l>>2]=m+(~((m+-4-k|0)>>>2)<<2);k=f[c>>2]|0;m=a+4|0;f[g>>2]=(k|0)==-1?-1:(k>>>0)/3|0;n=a+56|0;o=a+8+(b*12|0)+8|0;p=0;q=f[g>>2]|0;r=k;while(1){s=(f[n>>2]|0)+(q>>>5<<2)|0;t=1<<(q&31);v=f[s>>2]|0;if(t&v|0)break;f[s>>2]=v|t;t=f[l>>2]|0;if((t|0)==(f[o>>2]|0))xf(j,g);else{f[t>>2]=f[g>>2];f[l>>2]=t+4}t=p+1|0;if((p|0)>0){v=(r|0)==-1;do if(!(t&1))if(!v)if(!((r>>>0)%3|0)){w=r+2|0;break}else{w=r+-1|0;break}else w=-1;else{s=r+1|0;if(v)w=-1;else w=((s>>>0)%3|0|0)==0?r+-2|0:s}while(0);f[c>>2]=w;x=w}else x=r;f[i>>2]=x;f[e>>2]=f[i>>2];v=Od(a,e)|0;f[c>>2]=v;if((v|0)==-1)break;s=(v>>>0)/3|0;f[g>>2]=s;p=t;q=s;r=v}r=(k|0)==-1;do if(!r)if(!((k>>>0)%3|0)){y=k+2|0;break}else{y=k+-1|0;break}else y=-1;while(0);f[h>>2]=y;f[e>>2]=f[h>>2];do if((Od(a,e)|0)==-1)z=k;else{h=k+1|0;if(!r){y=((h>>>0)%3|0|0)==0?k+-2|0:h;f[c>>2]=y;h=f[m>>2]|0;q=y+1|0;if(((y|0)!=-1?(p=((q>>>0)%3|0|0)==0?y+-2|0:q,(p|0)!=-1):0)?(q=f[(f[h+12>>2]|0)+(p<<2)>>2]|0,p=q+1|0,(q|0)!=-1):0){h=((p>>>0)%3|0|0)==0?q+-2|0:p;f[c>>2]=h;if((h|0)==-1){z=k;break}else{A=h;B=0;C=k}while(1){h=(A>>>0)/3|0;f[g>>2]=h;p=(f[n>>2]|0)+(h>>>5<<2)|0;q=1<<(h&31);h=f[p>>2]|0;if(q&h|0){D=B;E=C;break}f[p>>2]=h|q;q=f[l>>2]|0;if((q|0)==(f[o>>2]|0))xf(j,g);else{f[q>>2]=f[g>>2];f[l>>2]=q+4}q=B+1|0;if((B|0)>0){h=(A|0)==-1;do if(!(q&1))if(!h)if(!((A>>>0)%3|0)){F=A+2|0;G=A;break}else{F=A+-1|0;G=A;break}else{F=-1;G=A}else{p=A+1|0;if(h){F=-1;G=C}else{F=((p>>>0)%3|0|0)==0?A+-2|0:p;G=C}}while(0);f[c>>2]=F;H=G;I=F}else{H=C;I=A}f[i>>2]=I;f[e>>2]=f[i>>2];A=Od(a,e)|0;f[c>>2]=A;if((A|0)==-1){D=q;E=H;break}else{B=q;C=H}}if(!(D&1)){z=E;break}t=f[l>>2]|0;h=f[t+-4>>2]|0;p=(f[n>>2]|0)+(h>>>5<<2)|0;f[p>>2]=f[p>>2]&~(1<<(h&31));f[l>>2]=t+-4;z=E;break}else J=k}else{f[c>>2]=-1;J=-1}f[c>>2]=-1;z=J}while(0);f[a+44+(b<<2)>>2]=z;z=f[l>>2]|0;l=f[j>>2]|0;j=l;if((z|0)==(l|0)){u=d;return}b=f[n>>2]|0;n=z-l>>2;l=0;do{z=f[j+(l<<2)>>2]|0;a=b+(z>>>5<<2)|0;f[a>>2]=f[a>>2]&~(1<<(z&31));l=l+1|0}while(l>>>0>>0);u=d;return}function Pb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,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;c=u;u=u+16|0;b=c+8|0;d=c+4|0;e=c;g=a+64|0;h=f[g>>2]|0;if((f[h+28>>2]|0)==(f[h+24>>2]|0)){u=c;return}i=a+52|0;j=a+56|0;k=a+60|0;l=a+12|0;m=a+28|0;n=a+40|0;o=a+44|0;p=a+48|0;q=0;r=0;s=h;while(1){h=f[(f[s+24>>2]|0)+(r<<2)>>2]|0;if((h|0)==-1){t=q;v=s}else{w=q+1|0;f[b>>2]=q;x=f[j>>2]|0;if((x|0)==(f[k>>2]|0))xf(i,b);else{f[x>>2]=q;f[j>>2]=x+4}f[d>>2]=h;f[e>>2]=0;a:do if(!(f[(f[l>>2]|0)+(r>>>5<<2)>>2]&1<<(r&31)))y=h;else{x=h+1|0;z=((x>>>0)%3|0|0)==0?h+-2|0:x;if(((z|0)!=-1?(f[(f[a>>2]|0)+(z>>>5<<2)>>2]&1<<(z&31)|0)==0:0)?(x=f[(f[(f[g>>2]|0)+12>>2]|0)+(z<<2)>>2]|0,z=x+1|0,(x|0)!=-1):0){A=((z>>>0)%3|0|0)==0?x+-2|0:z;f[e>>2]=A;if((A|0)==-1){y=h;break}else B=A;while(1){f[d>>2]=B;A=B+1|0;z=((A>>>0)%3|0|0)==0?B+-2|0:A;if((z|0)==-1)break;if(f[(f[a>>2]|0)+(z>>>5<<2)>>2]&1<<(z&31)|0)break;A=f[(f[(f[g>>2]|0)+12>>2]|0)+(z<<2)>>2]|0;z=A+1|0;if((A|0)==-1)break;x=((z>>>0)%3|0|0)==0?A+-2|0:z;f[e>>2]=x;if((x|0)==-1){y=B;break a}else B=x}f[e>>2]=-1;y=B;break}f[e>>2]=-1;y=h}while(0);f[(f[m>>2]|0)+(y<<2)>>2]=f[b>>2];h=f[o>>2]|0;if((h|0)==(f[p>>2]|0))xf(n,d);else{f[h>>2]=f[d>>2];f[o>>2]=h+4}h=f[g>>2]|0;x=f[d>>2]|0;b:do if(((x|0)!=-1?(z=(((x>>>0)%3|0|0)==0?2:-1)+x|0,(z|0)!=-1):0)?(A=f[(f[h+12>>2]|0)+(z<<2)>>2]|0,(A|0)!=-1):0){z=A+(((A>>>0)%3|0|0)==0?2:-1)|0;f[e>>2]=z;if((z|0)!=-1&(z|0)!=(x|0)){A=w;C=z;while(1){z=C+1|0;D=((z>>>0)%3|0|0)==0?C+-2|0:z;do if(f[(f[a>>2]|0)+(D>>>5<<2)>>2]&1<<(D&31)){z=A+1|0;f[b>>2]=A;E=f[j>>2]|0;if((E|0)==(f[k>>2]|0))xf(i,b);else{f[E>>2]=A;f[j>>2]=E+4}E=f[o>>2]|0;if((E|0)==(f[p>>2]|0)){xf(n,e);F=z;break}else{f[E>>2]=f[e>>2];f[o>>2]=E+4;F=z;break}}else F=A;while(0);f[(f[m>>2]|0)+(f[e>>2]<<2)>>2]=f[b>>2];G=f[g>>2]|0;D=f[e>>2]|0;if((D|0)==-1)break;z=(((D>>>0)%3|0|0)==0?2:-1)+D|0;if((z|0)==-1)break;D=f[(f[G+12>>2]|0)+(z<<2)>>2]|0;if((D|0)==-1)break;C=D+(((D>>>0)%3|0|0)==0?2:-1)|0;f[e>>2]=C;if(!((C|0)!=-1?(C|0)!=(f[d>>2]|0):0)){H=F;I=G;break b}else A=F}f[e>>2]=-1;H=F;I=G}else{H=w;I=h}}else J=26;while(0);if((J|0)==26){J=0;f[e>>2]=-1;H=w;I=h}t=H;v=I}r=r+1|0;if(r>>>0>=(f[v+28>>2]|0)-(f[v+24>>2]|0)>>2>>>0)break;else{q=t;s=v}}u=c;return}function Qb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,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;d=u;u=u+80|0;e=d+76|0;g=d;h=d+72|0;i=d+64|0;j=d+68|0;if(!(dg(e,c)|0)){k=0;u=d;return k|0}l=f[e>>2]|0;if(!l){k=0;u=d;return k|0}m=a+4|0;n=a+8|0;o=f[n>>2]|0;p=f[m>>2]|0;q=o-p>>2;r=p;p=o;if(l>>>0>q>>>0){ff(m,l-q|0);if(!(f[e>>2]|0)){k=1;u=d;return k|0}}else if(l>>>0>>0?(q=r+(l<<2)|0,(q|0)!=(p|0)):0)f[n>>2]=p+(~((p+-4-q|0)>>>2)<<2);q=f[a+32>>2]|0;p=c+8|0;n=c+16|0;l=g+60|0;r=q+8|0;o=a+16|0;s=a+20|0;a=0;while(1){t=p;v=f[t>>2]|0;w=f[t+4>>2]|0;t=n;x=f[t>>2]|0;y=f[t+4>>2]|0;if(!((w|0)>(y|0)|(w|0)==(y|0)&v>>>0>x>>>0)){k=0;z=40;break}t=f[c>>2]|0;A=b[t+x>>0]|0;B=Rj(x|0,y|0,1,0)|0;C=I;D=n;f[D>>2]=B;f[D+4>>2]=C;if(!((w|0)>(C|0)|(w|0)==(C|0)&v>>>0>B>>>0)){k=0;z=40;break}C=b[t+B>>0]|0;B=Rj(x|0,y|0,2,0)|0;D=I;E=n;f[E>>2]=B;f[E+4>>2]=D;if(!((w|0)>(D|0)|(w|0)==(D|0)&v>>>0>B>>>0)){k=0;z=40;break}D=b[t+B>>0]|0;B=Rj(x|0,y|0,3,0)|0;E=I;F=n;f[F>>2]=B;f[F+4>>2]=E;if(!((w|0)>(E|0)|(w|0)==(E|0)&v>>>0>B>>>0)){k=0;z=40;break}v=b[t+B>>0]|0;B=Rj(x|0,y|0,4,0)|0;y=n;f[y>>2]=B;f[y+4>>2]=I;y=C&255;if((C+-1&255)>10){k=0;z=40;break}Qh(g);C=X(ai(y)|0,D&255)|0;jg(g,A&255,0,D,y,v<<24>>24!=0,C,((C|0)<0)<<31>>31,0,0);dg(h,c)|0;f[l>>2]=f[h>>2];C=bj(96)|0;Eh(C,g);f[i>>2]=C;C=oe(q,i)|0;v=f[i>>2]|0;f[i>>2]=0;if(v|0){y=v+88|0;D=f[y>>2]|0;f[y>>2]=0;if(D|0){y=f[D+8>>2]|0;if(y|0){A=D+12|0;if((f[A>>2]|0)!=(y|0))f[A>>2]=y;dn(y)}dn(D)}D=f[v+68>>2]|0;if(D|0){y=v+72|0;A=f[y>>2]|0;if((A|0)!=(D|0))f[y>>2]=A+(~((A+-4-D|0)>>>2)<<2);dn(D)}D=v+64|0;A=f[D>>2]|0;f[D>>2]=0;if(A|0){D=f[A>>2]|0;if(D|0){y=A+4|0;if((f[y>>2]|0)!=(D|0))f[y>>2]=D;dn(D)}dn(A)}dn(v)}f[(f[(f[r>>2]|0)+(C<<2)>>2]|0)+60>>2]=f[h>>2];f[(f[m>>2]|0)+(a<<2)>>2]=C;v=f[s>>2]|0;A=f[o>>2]|0;D=v-A>>2;y=A;if((C|0)<(D|0))G=y;else{A=C+1|0;f[j>>2]=-1;B=v;if(A>>>0<=D>>>0)if(A>>>0>>0?(v=y+(A<<2)|0,(v|0)!=(B|0)):0){f[s>>2]=B+(~((B+-4-v|0)>>>2)<<2);H=y}else H=y;else{Ae(o,A-D|0,j);H=f[o>>2]|0}G=H}f[G+(C<<2)>>2]=a;a=a+1|0;if(a>>>0>=(f[e>>2]|0)>>>0){k=1;z=40;break}}if((z|0)==40){u=d;return k|0}return 0}function Rb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,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=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)dn(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;Yk(e,9789);f[e>>2]=3704;va(e|0,856,80)}e=bj(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)dn(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{k=j;l=g;m=d;n=g}a:while(1){g=l;d=m;j=n;b:while(1){o=d;while(1){e=f[o+4>>2]|0;if(!i)if(e>>>0>>0)p=e;else p=(e>>>0)%(c>>>0)|0;else p=e&h;if((p|0)==(k|0))break;q=(f[a>>2]|0)+(p<<2)|0;if(!(f[q>>2]|0))break b;e=f[o>>2]|0;c:do if(!e)r=o;else{s=o+8|0;t=b[s+11>>0]|0;u=t<<24>>24<0;v=t&255;t=u?f[o+12>>2]|0:v;w=(t|0)==0;if(u){u=o;x=e;while(1){y=x+8|0;z=b[y+11>>0]|0;A=z<<24>>24<0;if((t|0)!=((A?f[x+12>>2]|0:z&255)|0)){r=u;break c}if(!w?jh(f[s>>2]|0,A?f[y>>2]|0:y,t)|0:0){r=u;break c}y=f[x>>2]|0;if(!y){r=x;break c}else{A=x;x=y;u=A}}}if(w){u=o;x=e;while(1){A=b[x+8+11>>0]|0;if((A<<24>>24<0?f[x+12>>2]|0:A&255)|0){r=u;break c}A=f[x>>2]|0;if(!A){r=x;break c}else{y=x;x=A;u=y}}}u=o;x=e;while(1){w=x+8|0;y=b[w+11>>0]|0;A=y<<24>>24<0;if((t|0)!=((A?f[x+12>>2]|0:y&255)|0)){r=u;break c}y=A?f[w>>2]|0:w;if((b[y>>0]|0)==(f[s>>2]&255)<<24>>24){B=s;C=v;D=y}else{r=u;break c}while(1){C=C+-1|0;B=B+1|0;if(!C)break;D=D+1|0;if((b[B>>0]|0)!=(b[D>>0]|0)){r=u;break c}}y=f[x>>2]|0;if(!y){r=x;break}else{w=x;x=y;u=w}}}while(0);f[j>>2]=f[r>>2];f[r>>2]=f[f[(f[a>>2]|0)+(p<<2)>>2]>>2];f[f[(f[a>>2]|0)+(p<<2)>>2]>>2]=o;e=f[g>>2]|0;if(!e){E=43;break a}else o=e}d=f[o>>2]|0;if(!d){E=43;break a}else{g=o;j=o}}f[q>>2]=j;m=f[o>>2]|0;if(!m){E=43;break}else{k=p;l=o;n=o}}if((E|0)==43)return}function Sb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0;e=Na[f[(f[a>>2]|0)+44>>2]&127](a)|0;if((e|0)<1){g=0;return g|0}h=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;i=X(h,e)|0;_d(a,h,e);h=a+16|0;j=f[h>>2]|0;k=(f[f[j>>2]>>2]|0)+(f[j+48>>2]|0)|0;j=d+8|0;l=j;m=f[l>>2]|0;n=f[l+4>>2]|0;l=d+16|0;o=l;p=f[o>>2]|0;q=f[o+4>>2]|0;if(!((n|0)>(q|0)|(n|0)==(q|0)&m>>>0>p>>>0)){g=0;return g|0}o=f[d>>2]|0;r=b[o+p>>0]|0;s=Rj(p|0,q|0,1,0)|0;t=I;u=l;f[u>>2]=s;f[u+4>>2]=t;a:do if(!(r<<24>>24)){if(!((n|0)>(t|0)|(n|0)==(t|0)&m>>>0>s>>>0)){g=0;return g|0}u=b[o+s>>0]|0;v=Rj(p|0,q|0,2,0)|0;w=l;f[w>>2]=v;f[w+4>>2]=I;w=u&255;v=(ai(5)|0)==(w|0);x=f[(f[h>>2]|0)+64>>2]|0;y=(f[x+4>>2]|0)-(f[x>>2]|0)|0;if(v){v=i<<2;if(y>>>0>>0){g=0;return g|0}x=j;z=f[x>>2]|0;A=f[x+4>>2]|0;x=l;B=f[x>>2]|0;C=Rj(B|0,f[x+4>>2]|0,v|0,0)|0;x=I;if((A|0)<(x|0)|(A|0)==(x|0)&z>>>0>>0){g=0;return g|0}else{ge(k|0,(f[d>>2]|0)+B|0,v|0)|0;B=l;C=Rj(f[B>>2]|0,f[B+4>>2]|0,v|0,0)|0;v=l;f[v>>2]=C;f[v+4>>2]=I;D=18;break}}v=X(i,w)|0;if(y>>>0>>0){g=0;return g|0}y=j;C=f[y>>2]|0;B=f[y+4>>2]|0;y=l;z=f[y>>2]|0;x=f[y+4>>2]|0;y=Tj(C|0,B|0,z|0,x|0)|0;A=I;if((A|0)<0|(A|0)==0&y>>>0>>0){g=0;return g|0}if(!i)D=19;else{v=u&255;u=0;y=z;z=x;x=B;B=C;while(1){C=Rj(y|0,z|0,v|0,0)|0;A=I;if((x|0)<(A|0)|(x|0)==(A|0)&B>>>0>>0){E=y;F=z}else{ge(k+(u<<2)|0,(f[d>>2]|0)+y|0,w|0)|0;C=l;A=Rj(f[C>>2]|0,f[C+4>>2]|0,v|0,0)|0;C=I;G=l;f[G>>2]=A;f[G+4>>2]=C;E=A;F=C}C=u+1|0;if((C|0)==(i|0)){D=18;break a}A=j;u=C;y=E;z=F;x=f[A+4>>2]|0;B=f[A>>2]|0}}}else if(Qf(i,e,d,k)|0)D=18;else{g=0;return g|0}while(0);do if((D|0)==18)if(!i)D=19;else{F=a+20|0;E=f[F>>2]|0;if(E|0?Na[f[(f[E>>2]|0)+32>>2]&127](E)|0:0){H=F;J=1;break}ui(k,i,k);H=F;J=1}while(0);if((D|0)==19){H=a+20|0;J=0}a=f[H>>2]|0;if(a|0){if(!(Oa[f[(f[a>>2]|0)+40>>2]&127](a,d)|0)){g=0;return g|0}if(J?(J=f[H>>2]|0,!(Qa[f[(f[J>>2]|0)+44>>2]&15](J,k,k,i,e,f[c>>2]|0)|0)):0){g=0;return g|0}}g=1;return g|0}function Tb(a,c,e,g,h){a=a|0;c=c|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;i=u;u=u+32|0;j=i+12|0;k=i;f[c+40>>2]=e;e=c+32|0;f[e>>2]=g;f[c+4>>2]=h;Hb(a,g,j);if(f[a>>2]|0){u=i;return}g=a+4|0;h=g+11|0;if((b[h>>0]|0)<0)dn(f[g>>2]|0);l=b[j+7>>0]|0;if((Na[f[(f[c>>2]|0)+8>>2]&127](c)|0)!=(l&255|0)){m=bj(64)|0;f[k>>2]=m;f[k+8>>2]=-2147483584;f[k+4>>2]=50;n=m;o=9577;p=n+50|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[m+50>>0]=0;f[a>>2]=-1;Rf(g,k);if((b[k+11>>0]|0)<0)dn(f[k>>2]|0);u=i;return}m=b[j+5>>0]|0;b[c+36>>0]=m;q=b[j+6>>0]|0;b[c+37>>0]=q;if((m+-1&255)>1){r=bj(32)|0;f[k>>2]=r;f[k+8>>2]=-2147483616;f[k+4>>2]=22;n=r;o=9628;p=n+22|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[r+22>>0]=0;f[a>>2]=-5;Rf(g,k);if((b[k+11>>0]|0)<0)dn(f[k>>2]|0);u=i;return}r=q&255;if(m<<24>>24==2&(l<<24>>24==0?3:2)>>>0>>0){l=bj(32)|0;f[k>>2]=l;f[k+8>>2]=-2147483616;f[k+4>>2]=22;n=l;o=9651;p=n+22|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[l+22>>0]=0;f[a>>2]=-5;Rf(g,k);if((b[k+11>>0]|0)<0)dn(f[k>>2]|0);u=i;return}l=((m&255)<<8|r)&65535;d[(f[e>>2]|0)+38>>1]=l;if((l&65535)>258?(d[j+10>>1]|0)<0:0){Yc(a,c);if(f[a>>2]|0){u=i;return}if((b[h>>0]|0)<0)dn(f[g>>2]|0)}if(!(Na[f[(f[c>>2]|0)+12>>2]&127](c)|0)){h=bj(48)|0;f[k>>2]=h;f[k+8>>2]=-2147483600;f[k+4>>2]=33;n=h;o=9674;p=n+33|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[h+33>>0]=0;f[a>>2]=-1;Rf(g,k);if((b[k+11>>0]|0)<0)dn(f[k>>2]|0);u=i;return}if(!(Na[f[(f[c>>2]|0)+20>>2]&127](c)|0)){h=bj(32)|0;f[k>>2]=h;f[k+8>>2]=-2147483616;f[k+4>>2]=31;n=h;o=9708;p=n+31|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[h+31>>0]=0;f[a>>2]=-1;Rf(g,k);if((b[k+11>>0]|0)<0)dn(f[k>>2]|0);u=i;return}if(Na[f[(f[c>>2]|0)+24>>2]&127](c)|0){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=i;return}c=bj(48)|0;f[k>>2]=c;f[k+8>>2]=-2147483600;f[k+4>>2]=34;n=c;o=9740;p=n+34|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[c+34>>0]=0;f[a>>2]=-1;Rf(g,k);if((b[k+11>>0]|0)<0)dn(f[k>>2]|0);u=i;return}function Ub(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,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;c=u;u=u+48|0;d=c+32|0;e=c+28|0;g=c+16|0;h=c;i=a+16|0;j=f[i>>2]|0;if(j|0){k=f[b>>2]|0;l=i;m=j;a:while(1){j=m;while(1){if((f[j+16>>2]|0)>=(k|0))break;n=f[j+4>>2]|0;if(!n){o=l;break a}else j=n}m=f[j>>2]|0;if(!m){o=j;break}else l=j}if((o|0)!=(i|0)?(k|0)>=(f[o+16>>2]|0):0){p=o;q=p+20|0;u=c;return q|0}}Gl(g);f[h>>2]=f[b>>2];b=h+4|0;f[h+8>>2]=0;o=h+12|0;f[o>>2]=0;k=h+8|0;f[b>>2]=k;l=f[g>>2]|0;m=g+4|0;if((l|0)!=(m|0)){n=k;r=l;while(1){l=r+16|0;f[e>>2]=n;f[d>>2]=f[e>>2];ke(b,d,l,l)|0;l=f[r+4>>2]|0;if(!l){s=r+8|0;t=f[s>>2]|0;if((f[t>>2]|0)==(r|0))v=t;else{t=s;do{s=f[t>>2]|0;t=s+8|0;w=f[t>>2]|0}while((f[w>>2]|0)!=(s|0));v=w}}else{t=l;while(1){j=f[t>>2]|0;if(!j)break;else t=j}v=t}if((v|0)==(m|0))break;else r=v}}v=a+12|0;r=f[i>>2]|0;do if(r){d=f[h>>2]|0;e=a+16|0;n=r;while(1){l=f[n+16>>2]|0;if((d|0)<(l|0)){j=f[n>>2]|0;if(!j){x=23;break}else{y=n;z=j}}else{if((l|0)>=(d|0)){x=27;break}A=n+4|0;l=f[A>>2]|0;if(!l){x=26;break}else{y=A;z=l}}e=y;n=z}if((x|0)==23){B=n;C=n;break}else if((x|0)==26){B=n;C=A;break}else if((x|0)==27){B=n;C=e;break}}else{B=i;C=i}while(0);i=f[C>>2]|0;if(!i){x=bj(32)|0;f[x+16>>2]=f[h>>2];A=x+20|0;f[A>>2]=f[b>>2];z=x+24|0;y=f[h+8>>2]|0;f[z>>2]=y;r=f[o>>2]|0;f[x+28>>2]=r;if(!r)f[A>>2]=z;else{f[y+8>>2]=z;f[b>>2]=k;f[k>>2]=0;f[o>>2]=0}f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=B;f[C>>2]=x;B=f[f[v>>2]>>2]|0;if(!B)D=x;else{f[v>>2]=B;D=f[C>>2]|0}Lc(f[a+16>>2]|0,D);D=a+20|0;f[D>>2]=(f[D>>2]|0)+1;E=x}else E=i;eg(h+4|0,f[k>>2]|0);eg(g,f[m>>2]|0);p=E;q=p+20|0;u=c;return q|0}function Vb(a,c,d){a=a|0;c=c|0;d=d|0;var e=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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;e=u;u=u+64|0;g=e;i=e+8|0;j=i;k=j+40|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a:do if(Qc(i,c)|0){j=(a|0)==0;if(!j?(f[i+12>>2]|0)==0:0){l=0;break}if(Ff(g,c)|0?(k=g,m=f[k>>2]|0,n=f[k+4>>2]|0,k=c+8|0,o=c+16|0,p=o,q=f[p>>2]|0,r=f[p+4>>2]|0,p=Tj(f[k>>2]|0,f[k+4>>2]|0,q|0,r|0)|0,k=I,!(n>>>0>k>>>0|(n|0)==(k|0)&m>>>0>p>>>0)):0){p=(f[c>>2]|0)+q|0;k=Rj(q|0,r|0,m|0,n|0)|0;n=o;f[n>>2]=k;f[n+4>>2]=I;b:do if((m|0)>=1){f[i+40>>2]=p;n=m+-1|0;k=p+n|0;switch((h[k>>0]|0)>>>6&3){case 0:{f[i+44>>2]=n;s=n;t=b[k>>0]&63;break}case 1:{if((m|0)<2)break b;k=m+-2|0;f[i+44>>2]=k;n=p+m+-2|0;s=k;t=(h[n+1>>0]|0)<<8&16128|(h[n>>0]|0);break}case 2:{if((m|0)<3)break b;n=m+-3|0;f[i+44>>2]=n;k=p+m+-3|0;s=n;t=(h[k+1>>0]|0)<<8|(h[k>>0]|0)|(h[k+2>>0]|0)<<16&4128768;break}case 3:{k=m+-4|0;f[i+44>>2]=k;n=p+m+-4|0;s=k;t=(h[n+2>>0]|0)<<16|(h[n+3>>0]|0)<<24&1056964608|(h[n+1>>0]|0)<<8|(h[n>>0]|0);break}default:{}}n=i+48|0;k=t+4194304|0;f[n>>2]=k;o=k>>>0>1073741823;if(o|j){l=o^1;break a}o=i+44|0;r=i+16|0;q=i+28|0;v=0;w=s;x=k;while(1){c:do if(x>>>0<4194304){k=w;y=x;while(1){if((k|0)<=0){z=k;A=y;break c}B=k+-1|0;f[o>>2]=B;C=y<<8|(h[p+B>>0]|0);f[n>>2]=C;if(C>>>0<4194304){k=B;y=C}else{z=B;A=C;break}}}else{z=w;A=x}while(0);y=A&1048575;k=f[(f[r>>2]|0)+(y<<2)>>2]|0;C=f[q>>2]|0;x=(X(f[C+(k<<3)>>2]|0,A>>>20)|0)+y-(f[C+(k<<3)+4>>2]|0)|0;f[n>>2]=x;f[d+(v<<2)>>2]=k;v=v+1|0;if((v|0)==(a|0)){l=1;break a}else w=z}}while(0);l=0;break}l=0}else l=0;while(0);z=f[i+28>>2]|0;if(z|0){a=i+32|0;d=f[a>>2]|0;if((d|0)!=(z|0))f[a>>2]=d+(~((d+-8-z|0)>>>3)<<3);dn(z)}z=f[i+16>>2]|0;if(z|0){d=i+20|0;a=f[d>>2]|0;if((a|0)!=(z|0))f[d>>2]=a+(~((a+-4-z|0)>>>2)<<2);dn(z)}z=f[i>>2]|0;if(!z){u=e;return l|0}a=i+4|0;i=f[a>>2]|0;if((i|0)!=(z|0))f[a>>2]=i+(~((i+-4-z|0)>>>2)<<2);dn(z);u=e;return l|0}function Wb(a,c,d){a=a|0;c=c|0;d=d|0;var e=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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;e=u;u=u+64|0;g=e;i=e+8|0;j=i;k=j+40|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a:do if(Rc(i,c)|0){j=(a|0)==0;if(!j?(f[i+12>>2]|0)==0:0){l=0;break}if(Ff(g,c)|0?(k=g,m=f[k>>2]|0,n=f[k+4>>2]|0,k=c+8|0,o=c+16|0,p=o,q=f[p>>2]|0,r=f[p+4>>2]|0,p=Tj(f[k>>2]|0,f[k+4>>2]|0,q|0,r|0)|0,k=I,!(n>>>0>k>>>0|(n|0)==(k|0)&m>>>0>p>>>0)):0){p=(f[c>>2]|0)+q|0;k=Rj(q|0,r|0,m|0,n|0)|0;n=o;f[n>>2]=k;f[n+4>>2]=I;b:do if((m|0)>=1){f[i+40>>2]=p;n=m+-1|0;k=p+n|0;switch((h[k>>0]|0)>>>6&3){case 0:{f[i+44>>2]=n;s=n;t=b[k>>0]&63;break}case 1:{if((m|0)<2)break b;k=m+-2|0;f[i+44>>2]=k;n=p+m+-2|0;s=k;t=(h[n+1>>0]|0)<<8&16128|(h[n>>0]|0);break}case 2:{if((m|0)<3)break b;n=m+-3|0;f[i+44>>2]=n;k=p+m+-3|0;s=n;t=(h[k+1>>0]|0)<<8|(h[k>>0]|0)|(h[k+2>>0]|0)<<16&4128768;break}case 3:{k=m+-4|0;f[i+44>>2]=k;n=p+m+-4|0;s=k;t=(h[n+2>>0]|0)<<16|(h[n+3>>0]|0)<<24&1056964608|(h[n+1>>0]|0)<<8|(h[n>>0]|0);break}default:{}}n=i+48|0;k=t+2097152|0;f[n>>2]=k;o=k>>>0>536870911;if(o|j){l=o^1;break a}o=i+44|0;r=i+16|0;q=i+28|0;v=0;w=s;x=k;while(1){c:do if(x>>>0<2097152){k=w;y=x;while(1){if((k|0)<=0){z=k;A=y;break c}B=k+-1|0;f[o>>2]=B;C=y<<8|(h[p+B>>0]|0);f[n>>2]=C;if(C>>>0<2097152){k=B;y=C}else{z=B;A=C;break}}}else{z=w;A=x}while(0);y=A&524287;k=f[(f[r>>2]|0)+(y<<2)>>2]|0;C=f[q>>2]|0;x=(X(f[C+(k<<3)>>2]|0,A>>>19)|0)+y-(f[C+(k<<3)+4>>2]|0)|0;f[n>>2]=x;f[d+(v<<2)>>2]=k;v=v+1|0;if((v|0)==(a|0)){l=1;break a}else w=z}}while(0);l=0;break}l=0}else l=0;while(0);z=f[i+28>>2]|0;if(z|0){a=i+32|0;d=f[a>>2]|0;if((d|0)!=(z|0))f[a>>2]=d+(~((d+-8-z|0)>>>3)<<3);dn(z)}z=f[i+16>>2]|0;if(z|0){d=i+20|0;a=f[d>>2]|0;if((a|0)!=(z|0))f[d>>2]=a+(~((a+-4-z|0)>>>2)<<2);dn(z)}z=f[i>>2]|0;if(!z){u=e;return l|0}a=i+4|0;i=f[a>>2]|0;if((i|0)!=(z|0))f[a>>2]=i+(~((i+-4-z|0)>>>2)<<2);dn(z);u=e;return l|0}function Xb(a,c,d){a=a|0;c=c|0;d=d|0;var e=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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;e=u;u=u+64|0;g=e;i=e+8|0;j=i;k=j+40|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a:do if(Sc(i,c)|0){j=(a|0)==0;if(!j?(f[i+12>>2]|0)==0:0){l=0;break}if(Ff(g,c)|0?(k=g,m=f[k>>2]|0,n=f[k+4>>2]|0,k=c+8|0,o=c+16|0,p=o,q=f[p>>2]|0,r=f[p+4>>2]|0,p=Tj(f[k>>2]|0,f[k+4>>2]|0,q|0,r|0)|0,k=I,!(n>>>0>k>>>0|(n|0)==(k|0)&m>>>0>p>>>0)):0){p=(f[c>>2]|0)+q|0;k=Rj(q|0,r|0,m|0,n|0)|0;n=o;f[n>>2]=k;f[n+4>>2]=I;b:do if((m|0)>=1){f[i+40>>2]=p;n=m+-1|0;k=p+n|0;switch((h[k>>0]|0)>>>6&3){case 0:{f[i+44>>2]=n;s=n;t=b[k>>0]&63;break}case 1:{if((m|0)<2)break b;k=m+-2|0;f[i+44>>2]=k;n=p+m+-2|0;s=k;t=(h[n+1>>0]|0)<<8&16128|(h[n>>0]|0);break}case 2:{if((m|0)<3)break b;n=m+-3|0;f[i+44>>2]=n;k=p+m+-3|0;s=n;t=(h[k+1>>0]|0)<<8|(h[k>>0]|0)|(h[k+2>>0]|0)<<16&4128768;break}case 3:{k=m+-4|0;f[i+44>>2]=k;n=p+m+-4|0;s=k;t=(h[n+2>>0]|0)<<16|(h[n+3>>0]|0)<<24&1056964608|(h[n+1>>0]|0)<<8|(h[n>>0]|0);break}default:{}}n=i+48|0;k=t+1048576|0;f[n>>2]=k;o=k>>>0>268435455;if(o|j){l=o^1;break a}o=i+44|0;r=i+16|0;q=i+28|0;v=0;w=s;x=k;while(1){c:do if(x>>>0<1048576){k=w;y=x;while(1){if((k|0)<=0){z=k;A=y;break c}B=k+-1|0;f[o>>2]=B;C=y<<8|(h[p+B>>0]|0);f[n>>2]=C;if(C>>>0<1048576){k=B;y=C}else{z=B;A=C;break}}}else{z=w;A=x}while(0);y=A&262143;k=f[(f[r>>2]|0)+(y<<2)>>2]|0;C=f[q>>2]|0;x=(X(f[C+(k<<3)>>2]|0,A>>>18)|0)+y-(f[C+(k<<3)+4>>2]|0)|0;f[n>>2]=x;f[d+(v<<2)>>2]=k;v=v+1|0;if((v|0)==(a|0)){l=1;break a}else w=z}}while(0);l=0;break}l=0}else l=0;while(0);z=f[i+28>>2]|0;if(z|0){a=i+32|0;d=f[a>>2]|0;if((d|0)!=(z|0))f[a>>2]=d+(~((d+-8-z|0)>>>3)<<3);dn(z)}z=f[i+16>>2]|0;if(z|0){d=i+20|0;a=f[d>>2]|0;if((a|0)!=(z|0))f[d>>2]=a+(~((a+-4-z|0)>>>2)<<2);dn(z)}z=f[i>>2]|0;if(!z){u=e;return l|0}a=i+4|0;i=f[a>>2]|0;if((i|0)!=(z|0))f[a>>2]=i+(~((i+-4-z|0)>>>2)<<2);dn(z);u=e;return l|0}function Yb(a,c,d){a=a|0;c=c|0;d=d|0;var e=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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;e=u;u=u+64|0;g=e;i=e+8|0;j=i;k=j+40|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a:do if(Tc(i,c)|0){j=(a|0)==0;if(!j?(f[i+12>>2]|0)==0:0){l=0;break}if(Ff(g,c)|0?(k=g,m=f[k>>2]|0,n=f[k+4>>2]|0,k=c+8|0,o=c+16|0,p=o,q=f[p>>2]|0,r=f[p+4>>2]|0,p=Tj(f[k>>2]|0,f[k+4>>2]|0,q|0,r|0)|0,k=I,!(n>>>0>k>>>0|(n|0)==(k|0)&m>>>0>p>>>0)):0){p=(f[c>>2]|0)+q|0;k=Rj(q|0,r|0,m|0,n|0)|0;n=o;f[n>>2]=k;f[n+4>>2]=I;b:do if((m|0)>=1){f[i+40>>2]=p;n=m+-1|0;k=p+n|0;switch((h[k>>0]|0)>>>6&3){case 0:{f[i+44>>2]=n;s=n;t=b[k>>0]&63;break}case 1:{if((m|0)<2)break b;k=m+-2|0;f[i+44>>2]=k;n=p+m+-2|0;s=k;t=(h[n+1>>0]|0)<<8&16128|(h[n>>0]|0);break}case 2:{if((m|0)<3)break b;n=m+-3|0;f[i+44>>2]=n;k=p+m+-3|0;s=n;t=(h[k+1>>0]|0)<<8|(h[k>>0]|0)|(h[k+2>>0]|0)<<16&4128768;break}case 3:{k=m+-4|0;f[i+44>>2]=k;n=p+m+-4|0;s=k;t=(h[n+2>>0]|0)<<16|(h[n+3>>0]|0)<<24&1056964608|(h[n+1>>0]|0)<<8|(h[n>>0]|0);break}default:{}}n=i+48|0;k=t+262144|0;f[n>>2]=k;o=k>>>0>67108863;if(o|j){l=o^1;break a}o=i+44|0;r=i+16|0;q=i+28|0;v=0;w=s;x=k;while(1){c:do if(x>>>0<262144){k=w;y=x;while(1){if((k|0)<=0){z=k;A=y;break c}B=k+-1|0;f[o>>2]=B;C=y<<8|(h[p+B>>0]|0);f[n>>2]=C;if(C>>>0<262144){k=B;y=C}else{z=B;A=C;break}}}else{z=w;A=x}while(0);y=A&65535;k=f[(f[r>>2]|0)+(y<<2)>>2]|0;C=f[q>>2]|0;x=(X(f[C+(k<<3)>>2]|0,A>>>16)|0)+y-(f[C+(k<<3)+4>>2]|0)|0;f[n>>2]=x;f[d+(v<<2)>>2]=k;v=v+1|0;if((v|0)==(a|0)){l=1;break a}else w=z}}while(0);l=0;break}l=0}else l=0;while(0);z=f[i+28>>2]|0;if(z|0){a=i+32|0;d=f[a>>2]|0;if((d|0)!=(z|0))f[a>>2]=d+(~((d+-8-z|0)>>>3)<<3);dn(z)}z=f[i+16>>2]|0;if(z|0){d=i+20|0;a=f[d>>2]|0;if((a|0)!=(z|0))f[d>>2]=a+(~((a+-4-z|0)>>>2)<<2);dn(z)}z=f[i>>2]|0;if(!z){u=e;return l|0}a=i+4|0;i=f[a>>2]|0;if((i|0)!=(z|0))f[a>>2]=i+(~((i+-4-z|0)>>>2)<<2);dn(z);u=e;return l|0}function Zb(a,c,d){a=a|0;c=c|0;d=d|0;var e=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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;e=u;u=u+64|0;g=e;i=e+8|0;j=i;k=j+40|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a:do if(Uc(i,c)|0){j=(a|0)==0;if(!j?(f[i+12>>2]|0)==0:0){l=0;break}if(Ff(g,c)|0?(k=g,m=f[k>>2]|0,n=f[k+4>>2]|0,k=c+8|0,o=c+16|0,p=o,q=f[p>>2]|0,r=f[p+4>>2]|0,p=Tj(f[k>>2]|0,f[k+4>>2]|0,q|0,r|0)|0,k=I,!(n>>>0>k>>>0|(n|0)==(k|0)&m>>>0>p>>>0)):0){p=(f[c>>2]|0)+q|0;k=Rj(q|0,r|0,m|0,n|0)|0;n=o;f[n>>2]=k;f[n+4>>2]=I;b:do if((m|0)>=1){f[i+40>>2]=p;n=m+-1|0;k=p+n|0;switch((h[k>>0]|0)>>>6&3){case 0:{f[i+44>>2]=n;s=n;t=b[k>>0]&63;break}case 1:{if((m|0)<2)break b;k=m+-2|0;f[i+44>>2]=k;n=p+m+-2|0;s=k;t=(h[n+1>>0]|0)<<8&16128|(h[n>>0]|0);break}case 2:{if((m|0)<3)break b;n=m+-3|0;f[i+44>>2]=n;k=p+m+-3|0;s=n;t=(h[k+1>>0]|0)<<8|(h[k>>0]|0)|(h[k+2>>0]|0)<<16&4128768;break}case 3:{k=m+-4|0;f[i+44>>2]=k;n=p+m+-4|0;s=k;t=(h[n+2>>0]|0)<<16|(h[n+3>>0]|0)<<24&1056964608|(h[n+1>>0]|0)<<8|(h[n>>0]|0);break}default:{}}n=i+48|0;k=t+131072|0;f[n>>2]=k;o=k>>>0>33554431;if(o|j){l=o^1;break a}o=i+44|0;r=i+16|0;q=i+28|0;v=0;w=s;x=k;while(1){c:do if(x>>>0<131072){k=w;y=x;while(1){if((k|0)<=0){z=k;A=y;break c}B=k+-1|0;f[o>>2]=B;C=y<<8|(h[p+B>>0]|0);f[n>>2]=C;if(C>>>0<131072){k=B;y=C}else{z=B;A=C;break}}}else{z=w;A=x}while(0);y=A&32767;k=f[(f[r>>2]|0)+(y<<2)>>2]|0;C=f[q>>2]|0;x=(X(f[C+(k<<3)>>2]|0,A>>>15)|0)+y-(f[C+(k<<3)+4>>2]|0)|0;f[n>>2]=x;f[d+(v<<2)>>2]=k;v=v+1|0;if((v|0)==(a|0)){l=1;break a}else w=z}}while(0);l=0;break}l=0}else l=0;while(0);z=f[i+28>>2]|0;if(z|0){a=i+32|0;d=f[a>>2]|0;if((d|0)!=(z|0))f[a>>2]=d+(~((d+-8-z|0)>>>3)<<3);dn(z)}z=f[i+16>>2]|0;if(z|0){d=i+20|0;a=f[d>>2]|0;if((a|0)!=(z|0))f[d>>2]=a+(~((a+-4-z|0)>>>2)<<2);dn(z)}z=f[i>>2]|0;if(!z){u=e;return l|0}a=i+4|0;i=f[a>>2]|0;if((i|0)!=(z|0))f[a>>2]=i+(~((i+-4-z|0)>>>2)<<2);dn(z);u=e;return l|0}function _b(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=u;u=u+32|0;d=c+16|0;e=c;dg(d,b)|0;g=f[d>>2]|0;if(g|0?(i=a+60|0,Gc(i,g,0),Cm(e),td(e,b)|0,f[d>>2]|0):0){g=0;do{j=Wg(e)|0;k=(f[i>>2]|0)+(g>>>5<<2)|0;l=1<<(g&31);if(j)m=f[k>>2]|l;else m=f[k>>2]&~l;f[k>>2]=m;g=g+1|0}while(g>>>0<(f[d>>2]|0)>>>0)}dg(d,b)|0;g=f[d>>2]|0;if(g|0?(m=a+72|0,Gc(m,g,0),Cm(e),td(e,b)|0,f[d>>2]|0):0){g=0;do{i=Wg(e)|0;k=(f[m>>2]|0)+(g>>>5<<2)|0;l=1<<(g&31);if(i)n=f[k>>2]|l;else n=f[k>>2]&~l;f[k>>2]=n;g=g+1|0}while(g>>>0<(f[d>>2]|0)>>>0)}dg(d,b)|0;g=f[d>>2]|0;if(g|0?(n=a+84|0,Gc(n,g,0),Cm(e),td(e,b)|0,f[d>>2]|0):0){g=0;do{m=Wg(e)|0;k=(f[n>>2]|0)+(g>>>5<<2)|0;l=1<<(g&31);if(m)o=f[k>>2]|l;else o=f[k>>2]&~l;f[k>>2]=o;g=g+1|0}while(g>>>0<(f[d>>2]|0)>>>0)}dg(d,b)|0;g=f[d>>2]|0;if(g|0?(o=a+96|0,Gc(o,g,0),Cm(e),td(e,b)|0,f[d>>2]|0):0){g=0;do{n=Wg(e)|0;k=(f[o>>2]|0)+(g>>>5<<2)|0;l=1<<(g&31);if(n)p=f[k>>2]|l;else p=f[k>>2]&~l;f[k>>2]=p;g=g+1|0}while(g>>>0<(f[d>>2]|0)>>>0)}d=b+8|0;g=f[d>>2]|0;p=f[d+4>>2]|0;d=b+16|0;o=d;e=f[o>>2]|0;k=f[o+4>>2]|0;o=Rj(e|0,k|0,4,0)|0;l=I;if((p|0)<(l|0)|(p|0)==(l|0)&g>>>0>>0){q=0;u=c;return q|0}n=f[b>>2]|0;b=n+e|0;m=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;b=d;f[b>>2]=o;f[b+4>>2]=l;l=Rj(e|0,k|0,8,0)|0;k=I;if((p|0)<(k|0)|(p|0)==(k|0)&g>>>0>>0){q=0;u=c;return q|0}g=n+o|0;o=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;g=d;f[g>>2]=l;f[g+4>>2]=k;if((m|0)>(o|0)){q=0;u=c;return q|0}f[a+12>>2]=m;f[a+16>>2]=o;k=Tj(o|0,((o|0)<0)<<31>>31|0,m|0,((m|0)<0)<<31>>31|0)|0;m=I;if(!(m>>>0<0|(m|0)==0&k>>>0<2147483647)){q=0;u=c;return q|0}m=k+1|0;f[a+20>>2]=m;k=(m|0)/2|0;o=a+24|0;f[o>>2]=k;f[a+28>>2]=0-k;if(m&1|0){q=1;u=c;return q|0}f[o>>2]=k+-1;q=1;u=c;return q|0}function $b(a,c){a=a|0;c=c|0;var d=0,e=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;d=b[c+11>>0]|0;e=d<<24>>24<0;g=e?f[c>>2]|0:c;i=e?f[c+4>>2]|0:d&255;if(i>>>0>3){d=g;c=i;e=i;while(1){j=X(h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24,1540483477)|0;c=(X(j>>>24^j,1540483477)|0)^(X(c,1540483477)|0);e=e+-4|0;if(e>>>0<=3)break;else d=d+4|0}d=i+-4|0;e=d&-4;k=d-e|0;l=g+(e+4)|0;m=c}else{k=i;l=g;m=i}switch(k|0){case 3:{n=h[l+2>>0]<<16^m;o=6;break}case 2:{n=m;o=6;break}case 1:{p=m;o=7;break}default:q=m}if((o|0)==6){p=h[l+1>>0]<<8^n;o=7}if((o|0)==7)q=X(p^h[l>>0],1540483477)|0;l=X(q>>>13^q,1540483477)|0;q=l>>>15^l;l=f[a+4>>2]|0;if(!l){r=0;return r|0}p=l+-1|0;n=(p&l|0)==0;if(!n)if(q>>>0>>0)s=q;else s=(q>>>0)%(l>>>0)|0;else s=q&p;m=f[(f[a>>2]|0)+(s<<2)>>2]|0;if(!m){r=0;return r|0}a=f[m>>2]|0;if(!a){r=0;return r|0}m=(i|0)==0;if(n){n=a;a:while(1){k=f[n+4>>2]|0;c=(q|0)==(k|0);if(!(c|(k&p|0)==(s|0))){r=0;o=40;break}do if(c?(k=n+8|0,e=b[k+11>>0]|0,d=e<<24>>24<0,j=e&255,((d?f[n+12>>2]|0:j)|0)==(i|0)):0){e=f[k>>2]|0;t=d?e:k;if(d){if(m){r=n;o=40;break a}if(!(jh(t,g,i)|0)){r=n;o=40;break a}else break}if(m){r=n;o=40;break a}if((b[g>>0]|0)==(e&255)<<24>>24){e=k;k=j;j=g;do{k=k+-1|0;e=e+1|0;if(!k){r=n;o=40;break a}j=j+1|0}while((b[e>>0]|0)==(b[j>>0]|0))}}while(0);n=f[n>>2]|0;if(!n){r=0;o=40;break}}if((o|0)==40)return r|0}else u=a;b:while(1){a=f[u+4>>2]|0;do if((q|0)==(a|0)){n=u+8|0;p=b[n+11>>0]|0;c=p<<24>>24<0;j=p&255;if(((c?f[u+12>>2]|0:j)|0)==(i|0)){p=f[n>>2]|0;e=c?p:n;if(c){if(m){r=u;o=40;break b}if(!(jh(e,g,i)|0)){r=u;o=40;break b}else break}if(m){r=u;o=40;break b}if((b[g>>0]|0)==(p&255)<<24>>24){p=n;n=j;j=g;do{n=n+-1|0;p=p+1|0;if(!n){r=u;o=40;break b}j=j+1|0}while((b[p>>0]|0)==(b[j>>0]|0))}}}else{if(a>>>0>>0)v=a;else v=(a>>>0)%(l>>>0)|0;if((v|0)!=(s|0)){r=0;o=40;break b}}while(0);u=f[u>>2]|0;if(!u){r=0;o=40;break}}if((o|0)==40)return r|0;return 0}function ac(a,c,d){a=a|0;c=c|0;d=d|0;var e=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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;e=u;u=u+64|0;g=e;i=e+8|0;j=i;k=j+40|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a:do if(Vc(i,c)|0){j=(a|0)==0;if(!j?(f[i+12>>2]|0)==0:0){l=0;break}if(Ff(g,c)|0?(k=g,m=f[k>>2]|0,n=f[k+4>>2]|0,k=c+8|0,o=c+16|0,p=o,q=f[p>>2]|0,r=f[p+4>>2]|0,p=Tj(f[k>>2]|0,f[k+4>>2]|0,q|0,r|0)|0,k=I,!(n>>>0>k>>>0|(n|0)==(k|0)&m>>>0>p>>>0)):0){p=(f[c>>2]|0)+q|0;k=Rj(q|0,r|0,m|0,n|0)|0;n=o;f[n>>2]=k;f[n+4>>2]=I;b:do if((m|0)>=1){f[i+40>>2]=p;n=m+-1|0;k=p+n|0;switch((h[k>>0]|0)>>>6&3){case 0:{f[i+44>>2]=n;s=n;t=b[k>>0]&63;break}case 1:{if((m|0)<2)break b;k=m+-2|0;f[i+44>>2]=k;n=p+m+-2|0;s=k;t=(h[n+1>>0]|0)<<8&16128|(h[n>>0]|0);break}case 2:{if((m|0)<3)break b;n=m+-3|0;f[i+44>>2]=n;k=p+m+-3|0;s=n;t=(h[k+1>>0]|0)<<8|(h[k>>0]|0)|(h[k+2>>0]|0)<<16&4128768;break}case 3:{k=m+-4|0;f[i+44>>2]=k;n=p+m+-4|0;s=k;t=(h[n+2>>0]|0)<<16|(h[n+3>>0]|0)<<24&1056964608|(h[n+1>>0]|0)<<8|(h[n>>0]|0);break}default:{}}n=i+48|0;k=t+32768|0;f[n>>2]=k;o=k>>>0>8388607;if(o|j){l=o^1;break a}o=i+44|0;r=i+16|0;q=i+28|0;v=0;w=s;x=k;while(1){c:do if(x>>>0<32768){k=w;y=x;while(1){if((k|0)<=0){z=k;A=y;break c}B=k+-1|0;f[o>>2]=B;C=y<<8|(h[p+B>>0]|0);f[n>>2]=C;if(C>>>0<32768){k=B;y=C}else{z=B;A=C;break}}}else{z=w;A=x}while(0);y=A&8191;k=f[(f[r>>2]|0)+(y<<2)>>2]|0;C=f[q>>2]|0;x=(X(f[C+(k<<3)>>2]|0,A>>>13)|0)+y-(f[C+(k<<3)+4>>2]|0)|0;f[n>>2]=x;f[d+(v<<2)>>2]=k;v=v+1|0;if((v|0)==(a|0)){l=1;break a}else w=z}}while(0);l=0;break}l=0}else l=0;while(0);z=f[i+28>>2]|0;if(z|0){a=i+32|0;d=f[a>>2]|0;if((d|0)!=(z|0))f[a>>2]=d+(~((d+-8-z|0)>>>3)<<3);dn(z)}z=f[i+16>>2]|0;if(z|0){d=i+20|0;a=f[d>>2]|0;if((a|0)!=(z|0))f[d>>2]=a+(~((a+-4-z|0)>>>2)<<2);dn(z)}z=f[i>>2]|0;if(!z){u=e;return l|0}a=i+4|0;i=f[a>>2]|0;if((i|0)!=(z|0))f[a>>2]=i+(~((i+-4-z|0)>>>2)<<2);dn(z);u=e;return l|0}function bc(a,c,d){a=a|0;c=c|0;d=d|0;var e=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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;e=u;u=u+64|0;g=e;i=e+8|0;j=i;k=j+40|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a:do if(Wc(i,c)|0){j=(a|0)==0;if(!j?(f[i+12>>2]|0)==0:0){l=0;break}if(Ff(g,c)|0?(k=g,m=f[k>>2]|0,n=f[k+4>>2]|0,k=c+8|0,o=c+16|0,p=o,q=f[p>>2]|0,r=f[p+4>>2]|0,p=Tj(f[k>>2]|0,f[k+4>>2]|0,q|0,r|0)|0,k=I,!(n>>>0>k>>>0|(n|0)==(k|0)&m>>>0>p>>>0)):0){p=(f[c>>2]|0)+q|0;k=Rj(q|0,r|0,m|0,n|0)|0;n=o;f[n>>2]=k;f[n+4>>2]=I;b:do if((m|0)>=1){f[i+40>>2]=p;n=m+-1|0;k=p+n|0;switch((h[k>>0]|0)>>>6&3){case 0:{f[i+44>>2]=n;s=n;t=b[k>>0]&63;break}case 1:{if((m|0)<2)break b;k=m+-2|0;f[i+44>>2]=k;n=p+m+-2|0;s=k;t=(h[n+1>>0]|0)<<8&16128|(h[n>>0]|0);break}case 2:{if((m|0)<3)break b;n=m+-3|0;f[i+44>>2]=n;k=p+m+-3|0;s=n;t=(h[k+1>>0]|0)<<8|(h[k>>0]|0)|(h[k+2>>0]|0)<<16&4128768;break}case 3:{k=m+-4|0;f[i+44>>2]=k;n=p+m+-4|0;s=k;t=(h[n+2>>0]|0)<<16|(h[n+3>>0]|0)<<24&1056964608|(h[n+1>>0]|0)<<8|(h[n>>0]|0);break}default:{}}n=i+48|0;k=t+16384|0;f[n>>2]=k;o=k>>>0>4194303;if(o|j){l=o^1;break a}o=i+44|0;r=i+16|0;q=i+28|0;v=0;w=s;x=k;while(1){c:do if(x>>>0<16384){k=w;y=x;while(1){if((k|0)<=0){z=k;A=y;break c}B=k+-1|0;f[o>>2]=B;C=y<<8|(h[p+B>>0]|0);f[n>>2]=C;if(C>>>0<16384){k=B;y=C}else{z=B;A=C;break}}}else{z=w;A=x}while(0);y=A&4095;k=f[(f[r>>2]|0)+(y<<2)>>2]|0;C=f[q>>2]|0;x=(X(f[C+(k<<3)>>2]|0,A>>>12)|0)+y-(f[C+(k<<3)+4>>2]|0)|0;f[n>>2]=x;f[d+(v<<2)>>2]=k;v=v+1|0;if((v|0)==(a|0)){l=1;break a}else w=z}}while(0);l=0;break}l=0}else l=0;while(0);z=f[i+28>>2]|0;if(z|0){a=i+32|0;d=f[a>>2]|0;if((d|0)!=(z|0))f[a>>2]=d+(~((d+-8-z|0)>>>3)<<3);dn(z)}z=f[i+16>>2]|0;if(z|0){d=i+20|0;a=f[d>>2]|0;if((a|0)!=(z|0))f[d>>2]=a+(~((a+-4-z|0)>>>2)<<2);dn(z)}z=f[i>>2]|0;if(!z){u=e;return l|0}a=i+4|0;i=f[a>>2]|0;if((i|0)!=(z|0))f[a>>2]=i+(~((i+-4-z|0)>>>2)<<2);dn(z);u=e;return l|0}function cc(a,c){a=a|0;c=c|0;var d=0,e=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;d=b[c+11>>0]|0;e=d<<24>>24<0;g=e?f[c>>2]|0:c;i=e?f[c+4>>2]|0:d&255;if(i>>>0>3){d=g;c=i;e=i;while(1){j=X(h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24,1540483477)|0;c=(X(j>>>24^j,1540483477)|0)^(X(c,1540483477)|0);e=e+-4|0;if(e>>>0<=3)break;else d=d+4|0}d=i+-4|0;e=d&-4;k=d-e|0;l=g+(e+4)|0;m=c}else{k=i;l=g;m=i}switch(k|0){case 3:{n=h[l+2>>0]<<16^m;o=6;break}case 2:{n=m;o=6;break}case 1:{p=m;o=7;break}default:q=m}if((o|0)==6){p=h[l+1>>0]<<8^n;o=7}if((o|0)==7)q=X(p^h[l>>0],1540483477)|0;l=X(q>>>13^q,1540483477)|0;q=l>>>15^l;l=f[a+4>>2]|0;if(!l){r=0;return r|0}p=l+-1|0;n=(p&l|0)==0;if(!n)if(q>>>0>>0)s=q;else s=(q>>>0)%(l>>>0)|0;else s=q&p;m=f[(f[a>>2]|0)+(s<<2)>>2]|0;if(!m){r=0;return r|0}a=f[m>>2]|0;if(!a){r=0;return r|0}m=(i|0)==0;if(n){n=a;a:while(1){k=f[n+4>>2]|0;c=(k|0)==(q|0);if(!(c|(k&p|0)==(s|0))){r=0;o=40;break}do if(c?(k=n+8|0,e=b[k+11>>0]|0,d=e<<24>>24<0,j=e&255,((d?f[n+12>>2]|0:j)|0)==(i|0)):0){e=f[k>>2]|0;t=d?e:k;if(d){if(m){r=n;o=40;break a}if(!(jh(t,g,i)|0)){r=n;o=40;break a}else break}if(m){r=n;o=40;break a}if((b[g>>0]|0)==(e&255)<<24>>24){e=k;k=j;j=g;do{k=k+-1|0;e=e+1|0;if(!k){r=n;o=40;break a}j=j+1|0}while((b[e>>0]|0)==(b[j>>0]|0))}}while(0);n=f[n>>2]|0;if(!n){r=0;o=40;break}}if((o|0)==40)return r|0}else u=a;b:while(1){a=f[u+4>>2]|0;do if((a|0)==(q|0)){n=u+8|0;p=b[n+11>>0]|0;c=p<<24>>24<0;j=p&255;if(((c?f[u+12>>2]|0:j)|0)==(i|0)){p=f[n>>2]|0;e=c?p:n;if(c){if(m){r=u;o=40;break b}if(!(jh(e,g,i)|0)){r=u;o=40;break b}else break}if(m){r=u;o=40;break b}if((b[g>>0]|0)==(p&255)<<24>>24){p=n;n=j;j=g;do{n=n+-1|0;p=p+1|0;if(!n){r=u;o=40;break b}j=j+1|0}while((b[p>>0]|0)==(b[j>>0]|0))}}}else{if(a>>>0>>0)v=a;else v=(a>>>0)%(l>>>0)|0;if((v|0)!=(s|0)){r=0;o=40;break b}}while(0);u=f[u>>2]|0;if(!u){r=0;o=40;break}}if((o|0)==40)return r|0;return 0}function dc(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;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=a+4|0;i=f[c>>2]|0;c=i;do if((i|0)!=(h|0)){j=i+16|0;k=b[j+11>>0]|0;l=k<<24>>24<0;m=l?f[i+20>>2]|0:k&255;k=b[g+11>>0]|0;n=k<<24>>24<0;o=n?f[g+4>>2]|0:k&255;k=m>>>0>>0;p=k?m:o;if((p|0)!=0?(q=jh(n?f[g>>2]|0:g,l?f[j>>2]|0:j,p)|0,(q|0)!=0):0){if((q|0)<0)break}else r=4;if((r|0)==4?o>>>0>>0:0)break;q=o>>>0>>0?o:m;if((q|0)!=0?(m=jh(l?f[j>>2]|0:j,n?f[g>>2]|0:g,q)|0,(m|0)!=0):0){if((m|0)>=0)r=37}else r=21;if((r|0)==21?!k:0)r=37;if((r|0)==37){f[d>>2]=c;f[e>>2]=c;s=e;return s|0}k=f[i+4>>2]|0;m=(k|0)==0;if(m){q=i+8|0;j=f[q>>2]|0;if((f[j>>2]|0)==(i|0))t=j;else{j=q;do{q=f[j>>2]|0;j=q+8|0;l=f[j>>2]|0}while((f[l>>2]|0)!=(q|0));t=l}}else{j=k;while(1){l=f[j>>2]|0;if(!l)break;else j=l}t=j}do if((t|0)!=(h|0)){k=t+16|0;l=b[k+11>>0]|0;q=l<<24>>24<0;p=q?f[t+20>>2]|0:l&255;l=p>>>0>>0?p:o;if((l|0)!=0?(u=jh(n?f[g>>2]|0:g,q?f[k>>2]|0:k,l)|0,(u|0)!=0):0){if((u|0)<0)break}else r=31;if((r|0)==31?o>>>0

>>0:0)break;s=Gd(a,d,g)|0;return s|0}while(0);if(m){f[d>>2]=c;s=i+4|0;return s|0}else{f[d>>2]=t;s=t;return s|0}}while(0);t=f[i>>2]|0;do if((f[a>>2]|0)==(i|0))v=c;else{if(!t){h=i;while(1){e=f[h+8>>2]|0;if((f[e>>2]|0)==(h|0))h=e;else{w=e;break}}}else{h=t;while(1){m=f[h+4>>2]|0;if(!m){w=h;break}else h=m}}h=w;m=w+16|0;e=b[g+11>>0]|0;o=e<<24>>24<0;n=o?f[g+4>>2]|0:e&255;e=b[m+11>>0]|0;j=e<<24>>24<0;p=j?f[w+20>>2]|0:e&255;e=n>>>0

>>0?n:p;if((e|0)!=0?(u=jh(j?f[m>>2]|0:m,o?f[g>>2]|0:g,e)|0,(u|0)!=0):0){if((u|0)<0){v=h;break}}else r=13;if((r|0)==13?p>>>0>>0:0){v=h;break}s=Gd(a,d,g)|0;return s|0}while(0);if(!t){f[d>>2]=i;s=i;return s|0}else{f[d>>2]=v;s=v+4|0;return s|0}return 0}function ec(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,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;e=b+12|0;g=f[e>>2]|0;h=(f[c>>2]|0)-g|0;i=c+4|0;j=(f[i>>2]|0)-g|0;k=c;f[k>>2]=h;f[k+4>>2]=j;k=(h|0)>-1;l=(j|0)>-1;m=f[e>>2]|0;n=((l?j:0-j|0)+(k?h:0-h|0)|0)<=(m|0);if(n){o=h;p=j}else{if(k)if(!l)if((h|0)<1){q=-1;r=-1}else s=6;else{q=1;r=1}else if((j|0)<1){q=-1;r=-1}else s=6;if((s|0)==6){q=(h|0)>0?1:-1;r=(j|0)>0?1:-1}l=X(m,q)|0;k=X(m,r)|0;m=(h<<1)-l|0;f[c>>2]=m;h=(j<<1)-k|0;f[i>>2]=h;if((X(q,r)|0)>-1){r=0-h|0;f[c>>2]=r;t=0-m|0;u=r}else{f[c>>2]=h;t=m;u=h}h=(u+l|0)/2|0;f[c>>2]=h;l=(t+k|0)/2|0;f[i>>2]=l;o=h;p=l}if(!o)v=(p|0)==0;else v=(o|0)<0&(p|0)<1;if(!o)w=(p|0)==0?0:(p|0)>0?3:1;else w=(o|0)>0?(p>>31)+2|0:(p|0)<1?0:3;if(v){x=1;y=o;z=p}else{switch(w|0){case 1:{A=p;B=0-o|0;break}case 2:{A=0-o|0;B=0-p|0;break}case 3:{A=0-p|0;B=o;break}default:{A=o;B=p}}p=c;f[p>>2]=A;f[p+4>>2]=B;x=0;y=A;z=B}B=(f[d>>2]|0)+y|0;f[a>>2]=B;y=(f[d+4>>2]|0)+z|0;z=a+4|0;f[z>>2]=y;d=f[e>>2]|0;if((d|0)>=(B|0))if((B|0)<(0-d|0))C=(f[b+4>>2]|0)+B|0;else C=B;else C=B-(f[b+4>>2]|0)|0;f[a>>2]=C;if((d|0)>=(y|0))if((y|0)<(0-d|0))D=(f[b+4>>2]|0)+y|0;else D=y;else D=y-(f[b+4>>2]|0)|0;f[z>>2]=D;if(x){E=C;F=D}else{switch((4-w|0)%4|0|0){case 1:{G=D;H=0-C|0;break}case 2:{G=0-C|0;H=0-D|0;break}case 3:{G=0-D|0;H=C;break}default:{G=C;H=D}}D=a;f[D>>2]=G;f[D+4>>2]=H;E=G;F=H}if(n){I=E;J=F;K=I+g|0;L=J+g|0;M=a;N=M;f[N>>2]=K;O=M+4|0;P=O;f[P>>2]=L;return}if((E|0)>-1)if((F|0)<=-1)if((E|0)<1){Q=-1;R=-1}else s=42;else{Q=1;R=1}else if((F|0)<1){Q=-1;R=-1}else s=42;if((s|0)==42){Q=(E|0)>0?1:-1;R=(F|0)>0?1:-1}s=X(d,Q)|0;n=X(d,R)|0;d=(E<<1)-s|0;f[a>>2]=d;E=(F<<1)-n|0;f[z>>2]=E;if((X(Q,R)|0)>-1){R=0-E|0;f[a>>2]=R;S=0-d|0;T=R}else{f[a>>2]=E;S=d;T=E}E=(T+s|0)/2|0;f[a>>2]=E;s=(S+n|0)/2|0;f[z>>2]=s;I=E;J=s;K=I+g|0;L=J+g|0;M=a;N=M;f[N>>2]=K;O=M+4|0;P=O;f[P>>2]=L;return}function fc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var 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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;g=u;u=u+64|0;i=g;j=i;k=j+40|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a:do if(Wc(i,d)|0?Bd(i,d)|0:0){j=(a|0)==0;if(!j){if(!(f[i+12>>2]|0)){l=0;break}ah(d,0,0)|0;if(!j){j=i+48|0;k=i+44|0;m=i+40|0;n=i+16|0;o=i+28|0;p=(c|0)>0;q=d+36|0;r=d+32|0;s=d+24|0;t=d+28|0;v=0;w=0;x=f[j>>2]|0;while(1){b:do if(x>>>0<16384){y=f[k>>2]|0;z=x;while(1){if((y|0)<=0){A=z;break b}B=f[m>>2]|0;y=y+-1|0;f[k>>2]=y;C=z<<8|h[B+y>>0];f[j>>2]=C;if(C>>>0>=16384){A=C;break}else z=C}}else A=x;while(0);z=A&4095;y=f[(f[n>>2]|0)+(z<<2)>>2]|0;C=f[o>>2]|0;x=(X(f[C+(y<<3)>>2]|0,A>>>12)|0)+z-(f[C+(y<<3)+4>>2]|0)|0;f[j>>2]=x;c:do if(p){if((y|0)>0){D=0;E=w}else{C=(b[q>>0]|0)==0;z=0;B=w;while(1){if(C){l=0;break a}F=B+1|0;f[e+(B<<2)>>2]=0;z=z+1|0;if((z|0)>=(c|0)){G=F;break c}else B=F}}while(1){if(!(b[q>>0]|0)){l=0;break a}B=f[s>>2]|0;z=f[t>>2]|0;C=0;F=0;H=f[r>>2]|0;while(1){I=B+(H>>>3)|0;if(I>>>0>>0){J=(h[I>>0]|0)>>>(H&7)&1;I=H+1|0;f[r>>2]=I;K=J;L=I}else{K=0;L=H}C=K<>2]=C;D=D+1|0;if((D|0)>=(c|0)){G=H;break}else E=H}}else G=w;while(0);v=v+c|0;if(v>>>0>=a>>>0)break;else w=G}}}else ah(d,0,0)|0;bi(d);l=1}else l=0;while(0);d=f[i+28>>2]|0;if(d|0){G=i+32|0;a=f[G>>2]|0;if((a|0)!=(d|0))f[G>>2]=a+(~((a+-8-d|0)>>>3)<<3);dn(d)}d=f[i+16>>2]|0;if(d|0){a=i+20|0;G=f[a>>2]|0;if((G|0)!=(d|0))f[a>>2]=G+(~((G+-4-d|0)>>>2)<<2);dn(d)}d=f[i>>2]|0;if(!d){u=g;return l|0}G=i+4|0;i=f[G>>2]|0;if((i|0)!=(d|0))f[G>>2]=i+(~((i+-4-d|0)>>>2)<<2);dn(d);u=g;return l|0}function gc(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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,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=a;h=b;i=h;j=c;k=d;l=k;if(!i){m=(e|0)!=0;if(!l){if(m){f[e>>2]=(g>>>0)%(j>>>0);f[e+4>>2]=0}n=0;o=(g>>>0)/(j>>>0)>>>0;return (I=n,o)|0}else{if(!m){n=0;o=0;return (I=n,o)|0}f[e>>2]=a|0;f[e+4>>2]=b&0;n=0;o=0;return (I=n,o)|0}}m=(l|0)==0;do if(j){if(!m){p=(_(l|0)|0)-(_(i|0)|0)|0;if(p>>>0<=31){q=p+1|0;r=31-p|0;s=p-31>>31;t=q;u=g>>>(q>>>0)&s|i<>>(q>>>0)&s;w=0;x=g<>2]=a|0;f[e+4>>2]=h|b&0;n=0;o=0;return (I=n,o)|0}r=j-1|0;if(r&j|0){s=(_(j|0)|0)+33-(_(i|0)|0)|0;q=64-s|0;p=32-s|0;y=p>>31;z=s-32|0;A=z>>31;t=s;u=p-1>>31&i>>>(z>>>0)|(i<>>(s>>>0))&A;v=A&i>>>(s>>>0);w=g<>>(z>>>0))&y|g<>31;break}if(e|0){f[e>>2]=r&g;f[e+4>>2]=0}if((j|0)==1){n=h|b&0;o=a|0|0;return (I=n,o)|0}else{r=wi(j|0)|0;n=i>>>(r>>>0)|0;o=i<<32-r|g>>>(r>>>0)|0;return (I=n,o)|0}}else{if(m){if(e|0){f[e>>2]=(i>>>0)%(j>>>0);f[e+4>>2]=0}n=0;o=(i>>>0)/(j>>>0)>>>0;return (I=n,o)|0}if(!g){if(e|0){f[e>>2]=0;f[e+4>>2]=(i>>>0)%(l>>>0)}n=0;o=(i>>>0)/(l>>>0)>>>0;return (I=n,o)|0}r=l-1|0;if(!(r&l)){if(e|0){f[e>>2]=a|0;f[e+4>>2]=r&i|b&0}n=0;o=i>>>((wi(l|0)|0)>>>0);return (I=n,o)|0}r=(_(l|0)|0)-(_(i|0)|0)|0;if(r>>>0<=30){s=r+1|0;p=31-r|0;t=s;u=i<>>(s>>>0);v=i>>>(s>>>0);w=0;x=g<>2]=a|0;f[e+4>>2]=h|b&0;n=0;o=0;return (I=n,o)|0}while(0);if(!t){B=x;C=w;D=v;E=u;F=0;G=0}else{b=c|0|0;c=k|d&0;d=Rj(b|0,c|0,-1,-1)|0;k=I;h=x;x=w;w=v;v=u;u=t;t=0;do{a=h;h=x>>>31|h<<1;x=t|x<<1;g=v<<1|a>>>31|0;a=v>>>31|w<<1|0;Tj(d|0,k|0,g|0,a|0)|0;i=I;l=i>>31|((i|0)<0?-1:0)<<1;t=l&1;v=Tj(g|0,a|0,l&b|0,(((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1)&c|0)|0;w=I;u=u-1|0}while((u|0)!=0);B=h;C=x;D=w;E=v;F=0;G=t}t=C;C=0;if(e|0){f[e>>2]=E;f[e+4>>2]=D}n=(t|0)>>>31|(B|C)<<1|(C<<1|t>>>31)&0|F;o=(t<<1|0>>>31)&-2|G;return (I=n,o)|0}function hc(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;switch(c|0){case 1:{c=bj(60)|0;f[c>>2]=1208;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];Bg(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1572;i=c;f[a>>2]=i;return}case 4:{c=bj(112)|0;f[c>>2]=1208;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];Bg(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1628;h=c+60|0;b=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(b|0));i=c;f[a>>2]=i;return}case 5:{c=bj(104)|0;f[c>>2]=1208;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];Bg(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1684;f[c+60>>2]=0;f[c+64>>2]=0;f[c+76>>2]=0;f[c+80>>2]=0;f[c+84>>2]=0;h=c+88|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];i=c;f[a>>2]=i;return}case 6:{c=bj(124)|0;f[c>>2]=1208;f[c+4>>2]=d;d=c+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Bg(c+32|0,e+24|0);e=c+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c>>2]=1740;f[c+64>>2]=0;f[c+68>>2]=0;e=c+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c+60>>2]=1796;f[c+88>>2]=1;g=c+92|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;Cm(c+108|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}function ic(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;switch(c|0){case 1:{c=bj(60)|0;f[c>>2]=1208;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];Bg(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1320;i=c;f[a>>2]=i;return}case 4:{c=bj(112)|0;f[c>>2]=1208;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];Bg(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1376;h=c+60|0;b=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(b|0));i=c;f[a>>2]=i;return}case 5:{c=bj(104)|0;f[c>>2]=1208;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];Bg(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1432;f[c+60>>2]=0;f[c+64>>2]=0;f[c+76>>2]=0;f[c+80>>2]=0;f[c+84>>2]=0;h=c+88|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];i=c;f[a>>2]=i;return}case 6:{c=bj(124)|0;f[c>>2]=1208;f[c+4>>2]=d;d=c+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Bg(c+32|0,e+24|0);e=c+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c>>2]=1488;f[c+64>>2]=0;f[c+68>>2]=0;e=c+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c+60>>2]=1544;f[c+88>>2]=1;g=c+92|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;Cm(c+108|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}function jc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;c=a+4|0;if(!b){d=f[a>>2]|0;f[a>>2]=0;if(d|0)dn(d);f[c>>2]=0;return}if(b>>>0>1073741823){d=ra(8)|0;Yk(d,9789);f[d>>2]=3704;va(d|0,856,80)}d=bj(b<<2)|0;e=f[a>>2]|0;f[a>>2]=d;if(e|0)dn(e);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;e=f[c>>2]|0;if(!e)return;d=f[e+4>>2]|0;g=b+-1|0;h=(g&b|0)==0;if(!h)if(d>>>0>>0)i=d;else i=(d>>>0)%(b>>>0)|0;else i=d&g;f[(f[a>>2]|0)+(i<<2)>>2]=c;c=f[e>>2]|0;if(!c)return;else{j=i;k=e;l=c;m=e}a:while(1){b:do if(h){e=k;c=l;i=m;while(1){d=c;while(1){n=f[d+4>>2]&g;if((n|0)==(j|0))break;o=(f[a>>2]|0)+(n<<2)|0;if(!(f[o>>2]|0)){p=d;q=i;r=n;s=o;break b}o=d+8|0;t=d;while(1){u=f[t>>2]|0;if(!u)break;if((f[o>>2]|0)==(f[u+8>>2]|0))t=u;else break}f[i>>2]=u;f[t>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;o=f[e>>2]|0;if(!o){v=37;break a}else d=o}c=f[d>>2]|0;if(!c){v=37;break a}else{e=d;i=d}}}else{i=k;e=l;c=m;while(1){o=e;while(1){w=f[o+4>>2]|0;if(w>>>0>>0)x=w;else x=(w>>>0)%(b>>>0)|0;if((x|0)==(j|0))break;w=(f[a>>2]|0)+(x<<2)|0;if(!(f[w>>2]|0)){p=o;q=c;r=x;s=w;break b}w=o+8|0;y=o;while(1){z=f[y>>2]|0;if(!z)break;if((f[w>>2]|0)==(f[z+8>>2]|0))y=z;else break}f[c>>2]=z;f[y>>2]=f[f[(f[a>>2]|0)+(x<<2)>>2]>>2];f[f[(f[a>>2]|0)+(x<<2)>>2]>>2]=o;w=f[i>>2]|0;if(!w){v=37;break a}else o=w}e=f[o>>2]|0;if(!e){v=37;break a}else{i=o;c=o}}}while(0);f[s>>2]=q;l=f[p>>2]|0;if(!l){v=37;break}else{j=r;k=p;m=p}}if((v|0)==37)return}function kc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,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;c=u;u=u+16|0;d=c;td(a+80|0,a)|0;if(!(qf(a)|0)){e=0;u=c;return e|0}g=b;h=a;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));h=a+176|0;f[h>>2]=2;g=a+180|0;f[g>>2]=7;i=f[a+152>>2]|0;if((i|0)<0){e=0;u=c;return e|0}j=a+156|0;f[d>>2]=0;k=a+160|0;l=f[k>>2]|0;m=f[j>>2]|0;n=l-m>>2;o=m;m=l;if(i>>>0<=n>>>0)if(i>>>0>>0?(l=o+(i<<2)|0,(l|0)!=(m|0)):0){f[k>>2]=m+(~((m+-4-l|0)>>>2)<<2);p=2;q=7}else{p=2;q=7}else{Ae(j,i-n|0,d);p=f[h>>2]|0;q=f[g>>2]|0}g=q-p+1|0;p=a+184|0;q=a+188|0;h=f[q>>2]|0;n=f[p>>2]|0;i=(h-n|0)/12|0;j=n;n=h;if(g>>>0<=i>>>0)if(g>>>0>>0?(l=j+(g*12|0)|0,(l|0)!=(n|0)):0){j=n;while(1){n=j+-12|0;f[q>>2]=n;m=f[n>>2]|0;if(!m)r=n;else{n=j+-8|0;k=f[n>>2]|0;if((k|0)!=(m|0))f[n>>2]=k+(~((k+-4-m|0)>>>2)<<2);dn(m);r=f[q>>2]|0}if((r|0)==(l|0))break;else j=r}s=r}else s=h;else{ld(p,g-i|0);s=f[q>>2]|0}i=a+196|0;g=f[p>>2]|0;h=(s-g|0)/12|0;r=a+200|0;a=f[r>>2]|0;j=f[i>>2]|0;l=a-j>>2;m=j;j=a;if(h>>>0<=l>>>0)if(h>>>0>>0?(a=m+(h<<2)|0,(a|0)!=(j|0)):0){f[r>>2]=j+(~((j+-4-a|0)>>>2)<<2);t=s;v=g}else{t=s;v=g}else{ff(i,h-l|0);t=f[q>>2]|0;v=f[p>>2]|0}if((t|0)==(v|0)){e=1;u=c;return e|0}v=0;do{dg(d,b)|0;t=f[d>>2]|0;if(t|0){l=f[p>>2]|0;h=l+(v*12|0)|0;g=l+(v*12|0)+4|0;s=f[g>>2]|0;a=f[h>>2]|0;j=s-a>>2;r=a;a=s;if(t>>>0<=j>>>0)if(t>>>0>>0?(s=r+(t<<2)|0,(s|0)!=(a|0)):0){f[g>>2]=a+(~((a+-4-s|0)>>>2)<<2);w=l;x=t}else{w=l;x=t}else{ff(h,t-j|0);w=f[p>>2]|0;x=f[d>>2]|0}Qf(x,1,b,f[w+(v*12|0)>>2]|0)|0;f[(f[i>>2]|0)+(v<<2)>>2]=f[d>>2]}v=v+1|0}while(v>>>0<(((f[q>>2]|0)-(f[p>>2]|0)|0)/12|0)>>>0);e=1;u=c;return e|0}function lc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,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=u;u=u+32|0;e=d+24|0;g=d+20|0;h=d+8|0;i=d+4|0;j=d;f[e>>2]=0;dg(e,f[a>>2]|0)|0;a:do if(f[e>>2]|0){k=0;while(1){k=k+1|0;if(!(rc(a,c)|0)){l=0;break}if(k>>>0>=(f[e>>2]|0)>>>0)break a}u=d;return l|0}while(0);f[g>>2]=0;dg(g,f[a>>2]|0)|0;b:do if(!(f[g>>2]|0))m=1;else{e=h+11|0;k=0;while(1){f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;o=f[a>>2]|0;p=o+8|0;q=f[p+4>>2]|0;r=o+16|0;s=r;t=f[s>>2]|0;v=f[s+4>>2]|0;do if((q|0)>(v|0)|((q|0)==(v|0)?(f[p>>2]|0)>>>0>t>>>0:0)){s=b[(f[o>>2]|0)+t>>0]|0;w=Rj(t|0,v|0,1,0)|0;x=r;f[x>>2]=w;f[x+4>>2]=I;x=s&255;hg(h,x,0);if(s<<24>>24){w=f[a>>2]|0;y=Jh(h,0)|0;z=w+8|0;A=f[z>>2]|0;B=f[z+4>>2]|0;z=w+16|0;C=z;D=f[C>>2]|0;E=s&255;s=Rj(D|0,f[C+4>>2]|0,E|0,0)|0;C=I;if((B|0)<(C|0)|(B|0)==(C|0)&A>>>0>>0){F=1;break}ge(y|0,(f[w>>2]|0)+D|0,x|0)|0;x=z;D=Rj(f[x>>2]|0,f[x+4>>2]|0,E|0,0)|0;E=z;f[E>>2]=D;f[E+4>>2]=I}E=bj(40)|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[E+12>>2]=0;n[E+16>>2]=$(1.0);D=E+20|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;n[E+36>>2]=$(1.0);f[i>>2]=E;if(lc(a,E)|0){E=f[i>>2]|0;f[i>>2]=0;f[j>>2]=E;Pd(c,h,j)|0;rf(j);G=0}else G=1;rf(i);F=G}else F=1;while(0);if((b[e>>0]|0)<0)dn(f[h>>2]|0);k=k+1|0;if(F|0){m=0;break b}if(k>>>0>=(f[g>>2]|0)>>>0){m=1;break}}}while(0);l=m;u=d;return l|0}function mc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=u;u=u+176|0;g=e+136|0;h=e+64|0;i=e;j=e+32|0;k=f[(f[c+4>>2]|0)+44>>2]|0;l=bj(88)|0;f[l+4>>2]=0;f[l>>2]=2440;m=l+12|0;f[m>>2]=2420;n=l+64|0;f[n>>2]=0;f[l+68>>2]=0;f[l+72>>2]=0;o=l+16|0;p=o+44|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));f[l+76>>2]=k;f[l+80>>2]=d;f[l+84>>2]=0;q=l;r=h+4|0;f[r>>2]=2420;s=h+56|0;f[s>>2]=0;t=h+60|0;f[t>>2]=0;f[h+64>>2]=0;o=h+8|0;p=o+44|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));o=f[c+8>>2]|0;f[i>>2]=2420;c=i+4|0;p=c+4|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;p=o;f[c>>2]=p;c=((f[p+4>>2]|0)-(f[o>>2]|0)>>2>>>0)/3|0;b[g>>0]=0;le(i+8|0,c,g);Sa[f[(f[i>>2]|0)+8>>2]&127](i);jd(j,i);jd(g,j);f[h>>2]=f[g+4>>2];c=h+4|0;wd(c,g)|0;f[g>>2]=2420;p=f[g+20>>2]|0;if(p|0)dn(p);p=f[g+8>>2]|0;if(p|0)dn(p);f[h+36>>2]=o;f[h+40>>2]=d;f[h+44>>2]=k;f[h+48>>2]=l;f[j>>2]=2420;k=f[j+20>>2]|0;if(k|0)dn(k);k=f[j+8>>2]|0;if(k|0)dn(k);f[l+8>>2]=f[h>>2];wd(m,c)|0;c=l+44|0;l=h+36|0;f[c>>2]=f[l>>2];f[c+4>>2]=f[l+4>>2];f[c+8>>2]=f[l+8>>2];f[c+12>>2]=f[l+12>>2];b[c+16>>0]=b[l+16>>0]|0;zd(n,f[s>>2]|0,f[t>>2]|0);f[a>>2]=q;f[i>>2]=2420;q=f[i+20>>2]|0;if(q|0)dn(q);q=f[i+8>>2]|0;if(q|0)dn(q);q=f[s>>2]|0;if(q|0){s=f[t>>2]|0;if((s|0)!=(q|0))f[t>>2]=s+(~((s+-4-q|0)>>>2)<<2);dn(q)}f[r>>2]=2420;r=f[h+24>>2]|0;if(r|0)dn(r);r=f[h+12>>2]|0;if(!r){u=e;return}dn(r);u=e;return}function nc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;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;g=a+8|0;f[g>>2]=e;h=a+32|0;i=a+36|0;j=f[i>>2]|0;k=f[h>>2]|0;l=j-k>>2;m=k;k=j;if(l>>>0>=e>>>0)if(l>>>0>e>>>0?(j=m+(e<<2)|0,(j|0)!=(k|0)):0){f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2);n=e}else n=e;else{ff(h,e-l|0);n=f[g>>2]|0}l=e>>>0>1073741823?-1:e<<2;h=an(l)|0;Vf(h|0,0,l|0)|0;if((n|0)>0){l=a+16|0;j=a+32|0;k=a+12|0;i=0;do{m=f[h+(i<<2)>>2]|0;o=f[l>>2]|0;if((m|0)>(o|0)){p=f[j>>2]|0;f[p+(i<<2)>>2]=o;q=p}else{p=f[k>>2]|0;o=f[j>>2]|0;f[o+(i<<2)>>2]=(m|0)<(p|0)?p:m;q=o}i=i+1|0;r=f[g>>2]|0}while((i|0)<(r|0));if((r|0)>0){i=a+20|0;j=0;do{o=(f[b+(j<<2)>>2]|0)+(f[q+(j<<2)>>2]|0)|0;m=c+(j<<2)|0;f[m>>2]=o;if((o|0)<=(f[l>>2]|0)){if((o|0)<(f[k>>2]|0)){s=(f[i>>2]|0)+o|0;t=18}}else{s=o-(f[i>>2]|0)|0;t=18}if((t|0)==18){t=0;f[m>>2]=s}j=j+1|0;m=f[g>>2]|0}while((j|0)<(m|0));u=m}else u=r}else u=n;if((e|0)>=(d|0)){bn(h);return 1}n=0-e|0;r=a+16|0;j=a+32|0;s=a+12|0;i=a+20|0;a=e;k=u;while(1){u=c+(a<<2)|0;l=u+(n<<2)|0;q=b+(a<<2)|0;if((k|0)>0){m=0;do{o=f[l+(m<<2)>>2]|0;p=f[r>>2]|0;if((o|0)>(p|0)){v=f[j>>2]|0;f[v+(m<<2)>>2]=p;w=v}else{v=f[s>>2]|0;p=f[j>>2]|0;f[p+(m<<2)>>2]=(o|0)<(v|0)?v:o;w=p}m=m+1|0;x=f[g>>2]|0}while((m|0)<(x|0));if((x|0)>0){m=0;do{l=(f[q+(m<<2)>>2]|0)+(f[w+(m<<2)>>2]|0)|0;p=u+(m<<2)|0;f[p>>2]=l;if((l|0)<=(f[r>>2]|0)){if((l|0)<(f[s>>2]|0)){y=(f[i>>2]|0)+l|0;t=33}}else{y=l-(f[i>>2]|0)|0;t=33}if((t|0)==33){t=0;f[p>>2]=y}m=m+1|0;p=f[g>>2]|0}while((m|0)<(p|0));z=p}else z=x}else z=k;a=a+e|0;if((a|0)>=(d|0))break;else k=z}bn(h);return 1}function oc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,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;d=u;u=u+16|0;e=d;g=a+68|0;f[g>>2]=(f[g>>2]|0)+1;g=(f[a+8+(b*12|0)+4>>2]|0)-(f[a+8+(b*12|0)>>2]|0)|0;h=g>>2;if((g|0)<=0){u=d;return}g=a+4|0;i=a+56|0;j=a+72|0;k=f[c>>2]|0;c=k+4|0;l=k+8|0;m=a+76|0;n=0;o=f[a+44+(b<<2)>>2]|0;while(1){b=(o|0)==-1;p=b?-1:(o>>>0)/3|0;q=(f[i>>2]|0)+(p>>>5<<2)|0;f[q>>2]=f[q>>2]|1<<(p&31);f[j>>2]=(f[j>>2]|0)+1;do if(n){if(b)r=-1;else r=f[(f[(f[a>>2]|0)+96>>2]|0)+(((o|0)/3|0)*12|0)+(((o|0)%3|0)<<2)>>2]|0;f[m>>2]=r;f[e>>2]=r;p=f[c>>2]|0;if(p>>>0<(f[l>>2]|0)>>>0){f[p>>2]=r;f[c>>2]=p+4}else xf(k,e);if(!(n&1)){p=o+1|0;if(b){s=-1;break}t=((p>>>0)%3|0|0)==0?o+-2|0:p;v=35;break}if(!b)if(!((o>>>0)%3|0)){t=o+2|0;v=35;break}else{t=o+-1|0;v=35;break}else s=-1}else{if(b)w=-1;else w=f[(f[(f[a>>2]|0)+96>>2]|0)+(((o|0)/3|0)*12|0)+(((o|0)%3|0)<<2)>>2]|0;f[e>>2]=w;p=f[c>>2]|0;if(p>>>0<(f[l>>2]|0)>>>0){f[p>>2]=w;f[c>>2]=p+4}else xf(k,e);p=o+1|0;if(!b?(q=((p>>>0)%3|0|0)==0?o+-2|0:p,(q|0)!=-1):0)x=f[(f[(f[a>>2]|0)+96>>2]|0)+(((q|0)/3|0)*12|0)+(((q|0)%3|0)<<2)>>2]|0;else x=-1;f[e>>2]=x;q=f[c>>2]|0;if(q>>>0<(f[l>>2]|0)>>>0){f[q>>2]=x;f[c>>2]=q+4}else xf(k,e);if(!b?(q=(((o>>>0)%3|0|0)==0?2:-1)+o|0,(q|0)!=-1):0)y=f[(f[(f[a>>2]|0)+96>>2]|0)+(((q|0)/3|0)*12|0)+(((q|0)%3|0)<<2)>>2]|0;else y=-1;f[m>>2]=y;f[e>>2]=y;q=f[c>>2]|0;if(q>>>0<(f[l>>2]|0)>>>0){f[q>>2]=y;f[c>>2]=q+4}else xf(k,e);t=o;v=35}while(0);if((v|0)==35){v=0;if((t|0)==-1)s=-1;else s=f[(f[(f[g>>2]|0)+12>>2]|0)+(t<<2)>>2]|0}n=n+1|0;if((n|0)>=(h|0))break;else o=s}u=d;return}function pc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,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;d=u;u=u+16|0;e=d+8|0;g=d;h=d+4|0;if(!(Uf(a,b)|0)){i=0;u=d;return i|0}j=b+96|0;k=b+100|0;b=f[k>>2]|0;l=f[j>>2]|0;if((b|0)==(l|0)){i=1;u=d;return i|0}m=a+56|0;n=a+8|0;o=a+12|0;p=a+20|0;q=a+24|0;r=a+32|0;s=a+36|0;t=a+68|0;v=a+76|0;w=f[c>>2]|0;c=w+4|0;x=w+8|0;y=a+72|0;z=w;A=0;B=l;l=b;while(1){if(!(f[(f[m>>2]|0)+(A>>>5<<2)>>2]&1<<(A&31))){b=A*3|0;f[g>>2]=b;f[e>>2]=f[g>>2];Ob(a,0,e);C=(f[o>>2]|0)-(f[n>>2]|0)>>2;f[g>>2]=b+1;f[e>>2]=f[g>>2];Ob(a,1,e);D=(f[q>>2]|0)-(f[p>>2]|0)>>2;E=D>>>0>C>>>0;f[g>>2]=b+2;f[e>>2]=f[g>>2];Ob(a,2,e);b=(f[s>>2]|0)-(f[r>>2]|0)>>2>>>0>(E?D:C)>>>0?2:E?1:((C|0)==0)<<31>>31;if((f[t>>2]|0)>0){C=f[v>>2]|0;f[e>>2]=C;E=f[c>>2]|0;if(E>>>0<(f[x>>2]|0)>>>0){f[E>>2]=C;f[c>>2]=E+4}else xf(w,e);E=f[a+44+(b<<2)>>2]|0;if((E|0)==-1)F=-1;else F=f[(f[(f[a>>2]|0)+96>>2]|0)+(((E|0)/3|0)*12|0)+(((E|0)%3|0)<<2)>>2]|0;f[e>>2]=F;E=f[c>>2]|0;if(E>>>0<(f[x>>2]|0)>>>0){f[E>>2]=F;f[c>>2]=E+4}else xf(w,e);E=(f[y>>2]|0)+2|0;f[y>>2]=E;if(E&1|0){f[e>>2]=F;E=f[c>>2]|0;if(E>>>0<(f[x>>2]|0)>>>0){f[E>>2]=F;f[c>>2]=E+4}else xf(w,e);f[y>>2]=(f[y>>2]|0)+1}}f[h>>2]=z;f[e>>2]=f[h>>2];oc(a,b,e);G=f[j>>2]|0;H=f[k>>2]|0}else{G=B;H=l}A=A+1|0;if(A>>>0>=((H-G|0)/12|0)>>>0){i=1;break}else{B=G;l=H}}u=d;return i|0}function qc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;c=a+148|0;d=f[b>>2]|0;b=(d|0)==-1;e=d+1|0;do if(!b){g=((e>>>0)%3|0|0)==0?d+-2|0:e;if(!((d>>>0)%3|0)){h=d+2|0;i=g;break}else{h=d+-1|0;i=g;break}}else{h=-1;i=-1}while(0);switch(f[a+168>>2]|0){case 1:case 0:{if((i|0)==-1)j=-1;else j=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;e=f[a+156>>2]|0;g=e+(j<<2)|0;f[g>>2]=(f[g>>2]|0)+1;if((h|0)==-1){k=1;l=-1;m=e;n=28}else{k=1;l=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;m=e;n=28}break}case 5:{if(b)o=-1;else o=f[(f[f[c>>2]>>2]|0)+(d<<2)>>2]|0;e=f[a+156>>2]|0;g=e+(o<<2)|0;f[g>>2]=(f[g>>2]|0)+1;if((i|0)==-1)p=-1;else p=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;g=e+(p<<2)|0;f[g>>2]=(f[g>>2]|0)+1;if((h|0)==-1){k=2;l=-1;m=e;n=28}else{k=2;l=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;m=e;n=28}break}case 3:{if(b)q=-1;else q=f[(f[f[c>>2]>>2]|0)+(d<<2)>>2]|0;e=f[a+156>>2]|0;g=e+(q<<2)|0;f[g>>2]=(f[g>>2]|0)+1;if((i|0)==-1)r=-1;else r=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;g=e+(r<<2)|0;f[g>>2]=(f[g>>2]|0)+2;if((h|0)==-1){k=1;l=-1;m=e;n=28}else{k=1;l=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;m=e;n=28}break}case 7:{if(b)s=-1;else s=f[(f[f[c>>2]>>2]|0)+(d<<2)>>2]|0;d=f[a+156>>2]|0;b=d+(s<<2)|0;f[b>>2]=(f[b>>2]|0)+2;if((i|0)==-1)t=-1;else t=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;b=d+(t<<2)|0;f[b>>2]=(f[b>>2]|0)+2;if((h|0)==-1){k=2;l=-1;m=d;n=28}else{k=2;l=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;m=d;n=28}break}default:{}}if((n|0)==28){n=m+(l<<2)|0;f[n>>2]=(f[n>>2]|0)+k}if((i|0)==-1)u=-1;else u=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;i=f[(f[a+156>>2]|0)+(u<<2)>>2]|0;u=f[a+176>>2]|0;if((i|0)<(u|0)){v=u;w=v-u|0;x=a+172|0;f[x>>2]=w;return}c=f[a+180>>2]|0;v=(i|0)>(c|0)?c:i;w=v-u|0;x=a+172|0;f[x>>2]=w;return}function rc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,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;d=u;u=u+32|0;e=d+16|0;g=d+12|0;h=d;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;i=f[a>>2]|0;j=i+8|0;k=f[j+4>>2]|0;l=i+16|0;m=l;n=f[m>>2]|0;o=f[m+4>>2]|0;do if((k|0)>(o|0)|((k|0)==(o|0)?(f[j>>2]|0)>>>0>n>>>0:0)){m=b[(f[i>>2]|0)+n>>0]|0;p=Rj(n|0,o|0,1,0)|0;q=l;f[q>>2]=p;f[q+4>>2]=I;q=m&255;hg(e,q,0);if(m<<24>>24){p=f[a>>2]|0;r=Jh(e,0)|0;s=p+8|0;t=f[s>>2]|0;v=f[s+4>>2]|0;s=p+16|0;w=s;x=f[w>>2]|0;y=m&255;m=Rj(x|0,f[w+4>>2]|0,y|0,0)|0;w=I;if((v|0)<(w|0)|(v|0)==(w|0)&t>>>0>>0){z=0;break}ge(r|0,(f[p>>2]|0)+x|0,q|0)|0;q=s;x=Rj(f[q>>2]|0,f[q+4>>2]|0,y|0,0)|0;y=s;f[y>>2]=x;f[y+4>>2]=I}f[g>>2]=0;y=(dg(g,f[a>>2]|0)|0)^1;x=f[g>>2]|0;if((x|0)==0|y)A=0;else{f[h>>2]=0;y=h+4|0;f[y>>2]=0;f[h+8>>2]=0;if((x|0)<0)um(h);s=bj(x)|0;f[y>>2]=s;f[h>>2]=s;f[h+8>>2]=s+x;q=x;x=s;do{b[x>>0]=0;x=(f[y>>2]|0)+1|0;f[y>>2]=x;q=q+-1|0}while((q|0)!=0);q=f[g>>2]|0;x=f[a>>2]|0;s=x+8|0;p=f[s>>2]|0;r=f[s+4>>2]|0;s=x+16|0;m=s;t=f[m>>2]|0;w=Rj(t|0,f[m+4>>2]|0,q|0,0)|0;m=I;if((r|0)<(m|0)|(r|0)==(m|0)&p>>>0>>0)B=0;else{ge(f[h>>2]|0,(f[x>>2]|0)+t|0,q|0)|0;t=s;x=Rj(f[t>>2]|0,f[t+4>>2]|0,q|0,0)|0;q=s;f[q>>2]=x;f[q+4>>2]=I;Fi(c,e,h);B=1}q=f[h>>2]|0;if(q|0){if((f[y>>2]|0)!=(q|0))f[y>>2]=q;dn(q)}A=B}z=A}else z=0;while(0);if((b[e+11>>0]|0)>=0){u=d;return z|0}dn(f[e>>2]|0);u=d;return z|0}function sc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=La,t=La,u=La,v=0,w=0,x=0,y=0,z=0;c=f[b>>2]|0;b=a+4|0;d=f[b>>2]|0;e=(d|0)==0;a:do if(!e){g=d+-1|0;h=(g&d|0)==0;if(!h)if(c>>>0>>0)i=c;else i=(c>>>0)%(d>>>0)|0;else i=g&c;j=f[(f[a>>2]|0)+(i<<2)>>2]|0;if(!j)k=i;else{if(h){h=j;while(1){l=f[h>>2]|0;if(!l){k=i;break a}m=f[l+4>>2]|0;if(!((m|0)==(c|0)|(m&g|0)==(i|0))){k=i;break a}if((f[l+8>>2]|0)==(c|0)){o=l;break}else h=l}p=o+12|0;return p|0}else q=j;while(1){h=f[q>>2]|0;if(!h){k=i;break a}g=f[h+4>>2]|0;if((g|0)!=(c|0)){if(g>>>0>>0)r=g;else r=(g>>>0)%(d>>>0)|0;if((r|0)!=(i|0)){k=i;break a}}if((f[h+8>>2]|0)==(c|0)){o=h;break}else q=h}p=o+12|0;return p|0}}else k=0;while(0);q=bj(16)|0;f[q+8>>2]=c;f[q+12>>2]=0;f[q+4>>2]=c;f[q>>2]=0;i=a+12|0;s=$(((f[i>>2]|0)+1|0)>>>0);t=$(d>>>0);u=$(n[a+16>>2]);do if(e|$(u*t)>>0<3|(d+-1&d|0)!=0)&1;j=~~$(W($(s/u)))>>>0;Te(a,r>>>0>>0?j:r);r=f[b>>2]|0;j=r+-1|0;if(!(j&r)){v=r;w=j&c;break}if(c>>>0>>0){v=r;w=c}else{v=r;w=(c>>>0)%(r>>>0)|0}}else{v=d;w=k}while(0);k=(f[a>>2]|0)+(w<<2)|0;w=f[k>>2]|0;if(!w){d=a+8|0;f[q>>2]=f[d>>2];f[d>>2]=q;f[k>>2]=d;d=f[q>>2]|0;if(d|0){k=f[d+4>>2]|0;d=v+-1|0;if(d&v)if(k>>>0>>0)x=k;else x=(k>>>0)%(v>>>0)|0;else x=k&d;y=(f[a>>2]|0)+(x<<2)|0;z=30}}else{f[q>>2]=f[w>>2];y=w;z=30}if((z|0)==30)f[y>>2]=q;f[i>>2]=(f[i>>2]|0)+1;o=q;p=o+12|0;return p|0}function tc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;f[a>>2]=f[c>>2];d=c+4|0;f[a+4>>2]=f[d>>2];e=c+8|0;f[a+8>>2]=f[e>>2];g=c+12|0;f[a+12>>2]=f[g>>2];f[d>>2]=0;f[e>>2]=0;f[g>>2]=0;g=c+16|0;f[a+16>>2]=f[g>>2];e=c+20|0;f[a+20>>2]=f[e>>2];d=c+24|0;f[a+24>>2]=f[d>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;b[a+28>>0]=b[c+28>>0]|0;d=a+32|0;e=c+32|0;f[d>>2]=0;g=a+36|0;f[g>>2]=0;f[a+40>>2]=0;f[d>>2]=f[e>>2];d=c+36|0;f[g>>2]=f[d>>2];g=c+40|0;f[a+40>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;e=a+44|0;d=c+44|0;f[e>>2]=0;g=a+48|0;f[g>>2]=0;f[a+52>>2]=0;f[e>>2]=f[d>>2];e=c+48|0;f[g>>2]=f[e>>2];g=c+52|0;f[a+52>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+56|0;e=c+56|0;f[d>>2]=0;g=a+60|0;f[g>>2]=0;f[a+64>>2]=0;f[d>>2]=f[e>>2];d=c+60|0;f[g>>2]=f[d>>2];g=c+64|0;f[a+64>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;f[a+68>>2]=f[c+68>>2];f[a+72>>2]=f[c+72>>2];e=a+76|0;d=c+76|0;f[e>>2]=0;g=a+80|0;f[g>>2]=0;f[a+84>>2]=0;f[e>>2]=f[d>>2];e=c+80|0;f[g>>2]=f[e>>2];g=c+84|0;f[a+84>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+88|0;e=c+88|0;f[d>>2]=0;g=a+92|0;f[g>>2]=0;f[a+96>>2]=0;f[d>>2]=f[e>>2];d=c+92|0;f[g>>2]=f[d>>2];g=c+96|0;f[a+96>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;b[a+100>>0]=b[c+100>>0]|0;e=a+104|0;d=c+104|0;f[e>>2]=0;g=a+108|0;f[g>>2]=0;f[a+112>>2]=0;f[e>>2]=f[d>>2];e=c+108|0;f[g>>2]=f[e>>2];g=c+112|0;f[a+112>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+116|0;e=c+116|0;f[d>>2]=0;g=a+120|0;f[g>>2]=0;f[a+124>>2]=0;f[d>>2]=f[e>>2];d=c+120|0;f[g>>2]=f[d>>2];g=c+124|0;f[a+124>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;f[a+128>>2]=f[c+128>>2];e=a+132|0;d=c+132|0;f[e>>2]=0;g=a+136|0;f[g>>2]=0;f[a+140>>2]=0;f[e>>2]=f[d>>2];e=c+136|0;f[g>>2]=f[e>>2];g=c+140|0;f[a+140>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;return}function uc(a,c,e,g,h){a=a|0;c=c|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,v=0,w=0,x=0,y=0,z=0,A=0;i=u;u=u+32|0;j=i+16|0;k=i+12|0;l=i;m=c+24|0;n=b[m>>0]|0;o=n<<24>>24;p=f[a+80>>2]|0;a=X(p,o)|0;q=f[c+28>>2]|0;if((q|0)==(e|0)|(q|0)==(g|0)?b[c+84>>0]|0:0){g=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;qd(h,g,g+(a<<1)|0);r=1;u=i;return r|0}f[l>>2]=0;g=l+4|0;f[g>>2]=0;f[l+8>>2]=0;do if(n<<24>>24)if(n<<24>>24<0)um(l);else{q=o<<1;e=bj(q)|0;f[l>>2]=e;s=e+(o<<1)|0;f[l+8>>2]=s;Vf(e|0,0,q|0)|0;f[g>>2]=s;break}while(0);qd(h,0,0+(a<<1)|0);a:do if(!p)t=1;else{a=c+84|0;s=c+68|0;if(n<<24>>24>0){v=0;w=0}else{q=0;while(1){if(!(b[a>>0]|0))x=f[(f[s>>2]|0)+(q<<2)>>2]|0;else x=q;e=f[l>>2]|0;f[k>>2]=x;y=b[m>>0]|0;f[j>>2]=f[k>>2];if(!(mb(c,j,y,e)|0)){t=0;break a}q=q+1|0;if(q>>>0>=p>>>0){t=1;break a}}}while(1){if(!(b[a>>0]|0))z=f[(f[s>>2]|0)+(w<<2)>>2]|0;else z=w;q=f[l>>2]|0;f[k>>2]=z;e=b[m>>0]|0;f[j>>2]=f[k>>2];if(!(mb(c,j,e,q)|0)){t=0;break a}q=f[l>>2]|0;e=f[h>>2]|0;y=0;A=v;while(1){d[e+(A<<1)>>1]=d[q+(y<<1)>>1]|0;y=y+1|0;if((y|0)==(o|0))break;else A=A+1|0}w=w+1|0;if(w>>>0>=p>>>0){t=1;break}else v=v+o|0}}while(0);o=f[l>>2]|0;if(o|0){l=f[g>>2]|0;if((l|0)!=(o|0))f[g>>2]=l+(~((l+-2-o|0)>>>1)<<1);dn(o)}r=t;u=i;return r|0}function vc(a,c,e,g,h){a=a|0;c=c|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,v=0,w=0,x=0,y=0,z=0,A=0;i=u;u=u+32|0;j=i+16|0;k=i+12|0;l=i;m=c+24|0;n=b[m>>0]|0;o=n<<24>>24;p=f[a+80>>2]|0;a=X(p,o)|0;q=f[c+28>>2]|0;if((q|0)==(e|0)|(q|0)==(g|0)?b[c+84>>0]|0:0){g=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;qd(h,g,g+(a<<1)|0);r=1;u=i;return r|0}f[l>>2]=0;g=l+4|0;f[g>>2]=0;f[l+8>>2]=0;do if(n<<24>>24)if(n<<24>>24<0)um(l);else{q=o<<1;e=bj(q)|0;f[l>>2]=e;s=e+(o<<1)|0;f[l+8>>2]=s;Vf(e|0,0,q|0)|0;f[g>>2]=s;break}while(0);qd(h,0,0+(a<<1)|0);a:do if(!p)t=1;else{a=c+84|0;s=c+68|0;if(n<<24>>24>0){v=0;w=0}else{q=0;while(1){if(!(b[a>>0]|0))x=f[(f[s>>2]|0)+(q<<2)>>2]|0;else x=q;e=f[l>>2]|0;f[k>>2]=x;y=b[m>>0]|0;f[j>>2]=f[k>>2];if(!(nb(c,j,y,e)|0)){t=0;break a}q=q+1|0;if(q>>>0>=p>>>0){t=1;break a}}}while(1){if(!(b[a>>0]|0))z=f[(f[s>>2]|0)+(w<<2)>>2]|0;else z=w;q=f[l>>2]|0;f[k>>2]=z;e=b[m>>0]|0;f[j>>2]=f[k>>2];if(!(nb(c,j,e,q)|0)){t=0;break a}q=f[l>>2]|0;e=f[h>>2]|0;y=0;A=v;while(1){d[e+(A<<1)>>1]=d[q+(y<<1)>>1]|0;y=y+1|0;if((y|0)==(o|0))break;else A=A+1|0}w=w+1|0;if(w>>>0>=p>>>0){t=1;break}else v=v+o|0}}while(0);o=f[l>>2]|0;if(o|0){l=f[g>>2]|0;if((l|0)!=(o|0))f[g>>2]=l+(~((l+-2-o|0)>>>1)<<1);dn(o)}r=t;u=i;return r|0}function wc(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;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;h=u;u=u+32|0;i=h+16|0;j=h+12|0;k=h;l=c+24|0;m=b[l>>0]|0;n=m<<24>>24;o=f[a+80>>2]|0;a=X(o,n)|0;p=f[c+28>>2]|0;if((p|0)==(d|0)|(p|0)==(e|0)?b[c+84>>0]|0:0){e=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;rd(g,e,e+(a<<2)|0);q=1;u=h;return q|0}f[k>>2]=0;e=k+4|0;f[e>>2]=0;f[k+8>>2]=0;do if(m<<24>>24)if(m<<24>>24<0)um(k);else{p=n<<2;d=bj(p)|0;f[k>>2]=d;r=d+(n<<2)|0;f[k+8>>2]=r;Vf(d|0,0,p|0)|0;f[e>>2]=r;break}while(0);rd(g,0,0+(a<<2)|0);a:do if(!o)s=1;else{a=c+84|0;r=c+68|0;if(m<<24>>24>0){t=0;v=0}else{p=0;while(1){if(!(b[a>>0]|0))w=f[(f[r>>2]|0)+(p<<2)>>2]|0;else w=p;d=f[k>>2]|0;f[j>>2]=w;x=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(ob(c,i,x,d)|0)){s=0;break a}p=p+1|0;if(p>>>0>=o>>>0){s=1;break a}}}while(1){if(!(b[a>>0]|0))y=f[(f[r>>2]|0)+(v<<2)>>2]|0;else y=v;p=f[k>>2]|0;f[j>>2]=y;d=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(ob(c,i,d,p)|0)){s=0;break a}p=f[k>>2]|0;d=f[g>>2]|0;x=0;z=t;while(1){f[d+(z<<2)>>2]=f[p+(x<<2)>>2];x=x+1|0;if((x|0)==(n|0))break;else z=z+1|0}v=v+1|0;if(v>>>0>=o>>>0){s=1;break}else t=t+n|0}}while(0);n=f[k>>2]|0;if(n|0){k=f[e>>2]|0;if((k|0)!=(n|0))f[e>>2]=k+(~((k+-4-n|0)>>>2)<<2);dn(n)}q=s;u=h;return q|0}function xc(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;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;h=u;u=u+32|0;i=h+16|0;j=h+12|0;k=h;l=c+24|0;m=b[l>>0]|0;n=m<<24>>24;o=f[a+80>>2]|0;a=X(o,n)|0;p=f[c+28>>2]|0;if((p|0)==(d|0)|(p|0)==(e|0)?b[c+84>>0]|0:0){e=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;rd(g,e,e+(a<<2)|0);q=1;u=h;return q|0}f[k>>2]=0;e=k+4|0;f[e>>2]=0;f[k+8>>2]=0;do if(m<<24>>24)if(m<<24>>24<0)um(k);else{p=n<<2;d=bj(p)|0;f[k>>2]=d;r=d+(n<<2)|0;f[k+8>>2]=r;Vf(d|0,0,p|0)|0;f[e>>2]=r;break}while(0);rd(g,0,0+(a<<2)|0);a:do if(!o)s=1;else{a=c+84|0;r=c+68|0;if(m<<24>>24>0){t=0;v=0}else{p=0;while(1){if(!(b[a>>0]|0))w=f[(f[r>>2]|0)+(p<<2)>>2]|0;else w=p;d=f[k>>2]|0;f[j>>2]=w;x=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(pb(c,i,x,d)|0)){s=0;break a}p=p+1|0;if(p>>>0>=o>>>0){s=1;break a}}}while(1){if(!(b[a>>0]|0))y=f[(f[r>>2]|0)+(v<<2)>>2]|0;else y=v;p=f[k>>2]|0;f[j>>2]=y;d=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(pb(c,i,d,p)|0)){s=0;break a}p=f[k>>2]|0;d=f[g>>2]|0;x=0;z=t;while(1){f[d+(z<<2)>>2]=f[p+(x<<2)>>2];x=x+1|0;if((x|0)==(n|0))break;else z=z+1|0}v=v+1|0;if(v>>>0>=o>>>0){s=1;break}else t=t+n|0}}while(0);n=f[k>>2]|0;if(n|0){k=f[e>>2]|0;if((k|0)!=(n|0))f[e>>2]=k+(~((k+-4-n|0)>>>2)<<2);dn(n)}q=s;u=h;return q|0}function yc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=c+8|0;g=f[e+4>>2]|0;h=c+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if(!((g|0)>(k|0)|((g|0)==(k|0)?(f[e>>2]|0)>>>0>j>>>0:0))){l=0;return l|0}e=b[(f[c>>2]|0)+j>>0]|0;g=Rj(j|0,k|0,1,0)|0;k=h;f[k>>2]=g;f[k+4>>2]=I;do switch(e<<24>>24){case 1:{l=bc(a,c,d)|0;return l|0}case 2:{l=bc(a,c,d)|0;return l|0}case 3:{l=bc(a,c,d)|0;return l|0}case 4:{l=bc(a,c,d)|0;return l|0}case 5:{l=cd(a,c,d)|0;return l|0}case 6:{l=bc(a,c,d)|0;return l|0}case 7:{l=bc(a,c,d)|0;return l|0}case 8:{l=bc(a,c,d)|0;return l|0}case 9:{l=ac(a,c,d)|0;return l|0}case 10:{l=Zb(a,c,d)|0;return l|0}case 11:{l=Yb(a,c,d)|0;return l|0}case 12:{l=Xb(a,c,d)|0;return l|0}case 13:{l=Wb(a,c,d)|0;return l|0}case 14:{l=Vb(a,c,d)|0;return l|0}case 15:{l=Vb(a,c,d)|0;return l|0}case 16:{l=Vb(a,c,d)|0;return l|0}case 17:{l=Vb(a,c,d)|0;return l|0}case 18:{l=Vb(a,c,d)|0;return l|0}default:{l=0;return l|0}}while(0);return 0}function zc(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;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;h=u;u=u+32|0;i=h+16|0;j=h+12|0;k=h;l=c+24|0;m=b[l>>0]|0;n=m<<24>>24;o=f[a+80>>2]|0;a=X(o,n)|0;p=f[c+28>>2]|0;if((p|0)==(d|0)|(p|0)==(e|0)?b[c+84>>0]|0:0){e=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;Jd(g,e,e+a|0);q=1;u=h;return q|0}f[k>>2]=0;e=k+4|0;f[e>>2]=0;f[k+8>>2]=0;if(m<<24>>24){if(m<<24>>24<0)um(k);p=bj(n)|0;f[e>>2]=p;f[k>>2]=p;f[k+8>>2]=p+n;d=n;r=p;do{b[r>>0]=0;r=(f[e>>2]|0)+1|0;f[e>>2]=r;d=d+-1|0}while((d|0)!=0)}Jd(g,0,0+a|0);a:do if(!o)s=1;else{a=c+84|0;d=c+68|0;if(m<<24>>24>0){t=0;v=0}else{r=0;while(1){if(!(b[a>>0]|0))w=f[(f[d>>2]|0)+(r<<2)>>2]|0;else w=r;p=f[k>>2]|0;f[j>>2]=w;x=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(qb(c,i,x,p)|0)){s=0;break a}r=r+1|0;if(r>>>0>=o>>>0){s=1;break a}}}while(1){if(!(b[a>>0]|0))y=f[(f[d>>2]|0)+(v<<2)>>2]|0;else y=v;r=f[k>>2]|0;f[j>>2]=y;p=b[l>>0]|0;f[i>>2]=f[j>>2];if(qb(c,i,p,r)|0){z=0;A=t}else{s=0;break a}while(1){b[(f[g>>2]|0)+A>>0]=b[(f[k>>2]|0)+z>>0]|0;z=z+1|0;if((z|0)==(n|0))break;else A=A+1|0}v=v+1|0;if(v>>>0>=o>>>0){s=1;break}else t=t+n|0}}while(0);n=f[k>>2]|0;if(n|0){if((f[e>>2]|0)!=(n|0))f[e>>2]=n;dn(n)}q=s;u=h;return q|0}function Ac(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;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;h=u;u=u+32|0;i=h+16|0;j=h+12|0;k=h;l=c+24|0;m=b[l>>0]|0;n=m<<24>>24;o=f[a+80>>2]|0;a=X(o,n)|0;p=f[c+28>>2]|0;if((p|0)==(d|0)|(p|0)==(e|0)?b[c+84>>0]|0:0){e=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;Jd(g,e,e+a|0);q=1;u=h;return q|0}f[k>>2]=0;e=k+4|0;f[e>>2]=0;f[k+8>>2]=0;if(m<<24>>24){if(m<<24>>24<0)um(k);p=bj(n)|0;f[e>>2]=p;f[k>>2]=p;f[k+8>>2]=p+n;d=n;r=p;do{b[r>>0]=0;r=(f[e>>2]|0)+1|0;f[e>>2]=r;d=d+-1|0}while((d|0)!=0)}Jd(g,0,0+a|0);a:do if(!o)s=1;else{a=c+84|0;d=c+68|0;if(m<<24>>24>0){t=0;v=0}else{r=0;while(1){if(!(b[a>>0]|0))w=f[(f[d>>2]|0)+(r<<2)>>2]|0;else w=r;p=f[k>>2]|0;f[j>>2]=w;x=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(rb(c,i,x,p)|0)){s=0;break a}r=r+1|0;if(r>>>0>=o>>>0){s=1;break a}}}while(1){if(!(b[a>>0]|0))y=f[(f[d>>2]|0)+(v<<2)>>2]|0;else y=v;r=f[k>>2]|0;f[j>>2]=y;p=b[l>>0]|0;f[i>>2]=f[j>>2];if(rb(c,i,p,r)|0){z=0;A=t}else{s=0;break a}while(1){b[(f[g>>2]|0)+A>>0]=b[(f[k>>2]|0)+z>>0]|0;z=z+1|0;if((z|0)==(n|0))break;else A=A+1|0}v=v+1|0;if(v>>>0>=o>>>0){s=1;break}else t=t+n|0}}while(0);n=f[k>>2]|0;if(n|0){if((f[e>>2]|0)!=(n|0))f[e>>2]=n;dn(n)}q=s;u=h;return q|0}function Bc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;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;d=u;u=u+16|0;h=d+4|0;i=d;j=a+60|0;f[a+64>>2]=g;g=a+8|0;f[g>>2]=e;k=a+32|0;l=a+36|0;m=f[l>>2]|0;n=f[k>>2]|0;o=m-n>>2;p=n;n=m;if(o>>>0>=e>>>0){if(o>>>0>e>>>0?(m=p+(e<<2)|0,(m|0)!=(n|0)):0)f[l>>2]=n+(~((n+-4-m|0)>>>2)<<2)}else ff(k,e-o|0);o=a+56|0;k=f[o>>2]|0;m=f[k+4>>2]|0;n=f[k>>2]|0;l=m-n|0;p=l>>2;if((l|0)<=0){u=d;return 1}l=a+16|0;q=a+32|0;r=a+12|0;s=a+20|0;if((m|0)==(n|0)){t=k;um(t)}else{v=0;w=n}while(1){f[i>>2]=f[w+(v<<2)>>2];f[h>>2]=f[i>>2];ub(j,h,c,v);n=X(v,e)|0;k=b+(n<<2)|0;m=c+(n<<2)|0;if((f[g>>2]|0)>0){n=0;do{x=f[a+68+(n<<2)>>2]|0;y=f[l>>2]|0;if((x|0)>(y|0)){z=f[q>>2]|0;f[z+(n<<2)>>2]=y;A=z}else{z=f[r>>2]|0;y=f[q>>2]|0;f[y+(n<<2)>>2]=(x|0)<(z|0)?z:x;A=y}n=n+1|0;B=f[g>>2]|0}while((n|0)<(B|0));if((B|0)>0){n=0;do{y=(f[k+(n<<2)>>2]|0)+(f[A+(n<<2)>>2]|0)|0;x=m+(n<<2)|0;f[x>>2]=y;if((y|0)<=(f[l>>2]|0)){if((y|0)<(f[r>>2]|0)){C=(f[s>>2]|0)+y|0;D=20}}else{C=y-(f[s>>2]|0)|0;D=20}if((D|0)==20){D=0;f[x>>2]=C}n=n+1|0}while((n|0)<(f[g>>2]|0))}}v=v+1|0;if((v|0)>=(p|0)){D=8;break}n=f[o>>2]|0;w=f[n>>2]|0;if((f[n+4>>2]|0)-w>>2>>>0<=v>>>0){t=n;D=9;break}}if((D|0)==8){u=d;return 1}else if((D|0)==9)um(t);return 0}function Cc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;e=f[b>>2]|0;g=f[b+4>>2]|0;h=((f[c>>2]|0)-e<<3)+(f[c+4>>2]|0)-g|0;c=e;if((h|0)<=0){i=d+4|0;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}if(!g){e=d+4|0;m=h;n=e;o=f[e>>2]|0;p=c}else{e=32-g|0;q=(h|0)<(e|0)?h:e;r=-1>>>(e-q|0)&-1<>2];e=d+4|0;s=f[e>>2]|0;t=32-s|0;u=t>>>0>>0?t:q;v=f[d>>2]|0;w=f[v>>2]&~(-1>>>(t-u|0)&-1<>2]=w;s=f[e>>2]|0;f[v>>2]=(s>>>0>g>>>0?r<>>(g-s|0))|w;w=(f[e>>2]|0)+u|0;s=v+(w>>>5<<2)|0;f[d>>2]=s;v=w&31;f[e>>2]=v;w=q-u|0;if((w|0)>0){f[s>>2]=f[s>>2]&~(-1>>>(32-w|0))|r>>>(g+u|0);f[e>>2]=w;x=w}else x=v;v=c+4|0;f[b>>2]=v;m=h-q|0;n=e;o=x;p=v}v=32-o|0;x=-1<31){o=~x;e=f[d>>2]|0;q=~m;h=m+((q|0)>-64?q:-64)+32|0;q=(h>>>5)+1|0;c=m+-32-(h&-32)|0;h=m;w=p;u=f[e>>2]|0;g=e;while(1){r=f[w>>2]|0;s=u&o;f[g>>2]=s;f[g>>2]=s|r<>2];g=g+4|0;u=f[g>>2]&x|r>>>v;f[g>>2]=u;if((h|0)<=63)break;else{h=h+-32|0;w=w+4|0}}w=p+(q<<2)|0;f[b>>2]=w;f[d>>2]=e+(q<<2);y=c;z=w}else{y=m;z=p}if((y|0)<=0){i=n;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}p=f[z>>2]&-1>>>(32-y|0);z=(v|0)<(y|0)?v:y;m=f[d>>2]|0;w=f[m>>2]&~(-1<>2]&-1>>>(v-z|0));f[m>>2]=w;f[m>>2]=w|p<>2];w=(f[n>>2]|0)+z|0;v=m+(w>>>5<<2)|0;f[d>>2]=v;f[n>>2]=w&31;w=y-z|0;if((w|0)<=0){i=n;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}f[v>>2]=f[v>>2]&~(-1>>>(32-w|0))|p>>>z;f[n>>2]=w;i=n;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}function Dc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;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;d=u;u=u+16|0;h=d+4|0;i=d;j=a+60|0;f[a+64>>2]=g;g=a+8|0;f[g>>2]=e;k=a+32|0;l=a+36|0;m=f[l>>2]|0;n=f[k>>2]|0;o=m-n>>2;p=n;n=m;if(o>>>0>=e>>>0){if(o>>>0>e>>>0?(m=p+(e<<2)|0,(m|0)!=(n|0)):0)f[l>>2]=n+(~((n+-4-m|0)>>>2)<<2)}else ff(k,e-o|0);o=a+56|0;k=f[o>>2]|0;m=f[k+4>>2]|0;n=f[k>>2]|0;l=m-n|0;p=l>>2;if((l|0)<=0){u=d;return 1}l=a+16|0;q=a+32|0;r=a+12|0;s=a+20|0;if((m|0)==(n|0)){t=k;um(t)}else{v=0;w=n}while(1){f[i>>2]=f[w+(v<<2)>>2];f[h>>2]=f[i>>2];sb(j,h,c,v);n=X(v,e)|0;k=b+(n<<2)|0;m=c+(n<<2)|0;if((f[g>>2]|0)>0){n=0;do{x=f[a+68+(n<<2)>>2]|0;y=f[l>>2]|0;if((x|0)>(y|0)){z=f[q>>2]|0;f[z+(n<<2)>>2]=y;A=z}else{z=f[r>>2]|0;y=f[q>>2]|0;f[y+(n<<2)>>2]=(x|0)<(z|0)?z:x;A=y}n=n+1|0;B=f[g>>2]|0}while((n|0)<(B|0));if((B|0)>0){n=0;do{y=(f[k+(n<<2)>>2]|0)+(f[A+(n<<2)>>2]|0)|0;x=m+(n<<2)|0;f[x>>2]=y;if((y|0)<=(f[l>>2]|0)){if((y|0)<(f[r>>2]|0)){C=(f[s>>2]|0)+y|0;D=20}}else{C=y-(f[s>>2]|0)|0;D=20}if((D|0)==20){D=0;f[x>>2]=C}n=n+1|0}while((n|0)<(f[g>>2]|0))}}v=v+1|0;if((v|0)>=(p|0)){D=8;break}n=f[o>>2]|0;w=f[n>>2]|0;if((f[n+4>>2]|0)-w>>2>>>0<=v>>>0){t=n;D=9;break}}if((D|0)==8){u=d;return 1}else if((D|0)==9)um(t);return 0}function Ec(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=f[b>>2]|0;g=b+4|0;h=f[g>>2]|0;i=((f[c>>2]|0)-e<<3)+(f[c+4>>2]|0)-h|0;c=e;if((i|0)<=0){j=d+4|0;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}if(!h){e=d+4|0;n=i;o=e;p=c;q=f[e>>2]|0}else{e=32-h|0;r=(i|0)<(e|0)?i:e;s=-1>>>(e-r|0)&-1<>2];c=d+4|0;h=f[c>>2]|0;e=32-h|0;t=e>>>0>>0?e:r;u=f[d>>2]|0;v=f[u>>2]&~(-1>>>(e-t|0)&-1<>2]=v;h=f[c>>2]|0;e=f[g>>2]|0;f[u>>2]=(h>>>0>e>>>0?s<>>(e-h|0))|v;v=(f[c>>2]|0)+t|0;h=u+(v>>>5<<2)|0;f[d>>2]=h;u=v&31;f[c>>2]=u;v=r-t|0;if((v|0)>0){e=f[h>>2]&~(-1>>>(32-v|0));f[h>>2]=e;f[h>>2]=e|s>>>((f[g>>2]|0)+t|0);f[c>>2]=v;w=v}else w=u;u=(f[b>>2]|0)+4|0;f[b>>2]=u;n=i-r|0;o=c;p=u;q=w}w=32-q|0;u=-1<31){q=~u;c=~n;r=n+((c|0)>-64?c:-64)+32&-32;c=n;i=p;while(1){v=f[i>>2]|0;t=f[d>>2]|0;g=f[t>>2]&q;f[t>>2]=g;f[t>>2]=g|v<>2];g=t+4|0;f[d>>2]=g;f[g>>2]=f[g>>2]&u|v>>>w;i=(f[b>>2]|0)+4|0;f[b>>2]=i;if((c|0)<=63)break;else c=c+-32|0}x=n+-32-r|0;y=i}else{x=n;y=p}if((x|0)<=0){j=o;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}p=f[y>>2]&-1>>>(32-x|0);y=(w|0)<(x|0)?w:x;n=f[d>>2]|0;i=f[n>>2]&~(-1<>2]&-1>>>(w-y|0));f[n>>2]=i;f[n>>2]=i|p<>2];i=(f[o>>2]|0)+y|0;w=n+(i>>>5<<2)|0;f[d>>2]=w;f[o>>2]=i&31;i=x-y|0;if((i|0)<=0){j=o;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}f[w>>2]=f[w>>2]&~(-1>>>(32-i|0))|p>>>y;f[o>>2]=i;j=o;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}function Fc(a,c){a=a|0;c=c|0;var d=0,e=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,v=0,w=0,x=0,y=0;d=u;u=u+32|0;e=d+16|0;g=d+4|0;i=d;if(!(dg(e,c)|0)){j=-1;u=d;return j|0}k=f[e>>2]|0;if(k|0){l=f[a+8>>2]|0;if(k>>>0>(((f[l+4>>2]|0)-(f[l>>2]|0)>>2>>>0)/3|0)>>>0){j=-1;u=d;return j|0}l=g+4|0;k=a+40|0;m=a+44|0;n=a+36|0;o=0;p=0;do{dg(i,c)|0;f[l>>2]=(f[i>>2]|0)+p;dg(i,c)|0;q=f[i>>2]|0;p=f[l>>2]|0;if(p>>>0>>0){r=22;break}f[g>>2]=p-q;q=f[k>>2]|0;if((q|0)==(f[m>>2]|0))cf(n,g);else{f[q>>2]=f[g>>2];f[q+4>>2]=f[g+4>>2];f[q+8>>2]=f[g+8>>2];f[k>>2]=(f[k>>2]|0)+12}o=o+1|0}while(o>>>0<(f[e>>2]|0)>>>0);if((r|0)==22){j=-1;u=d;return j|0}ah(c,0,0)|0;r=f[e>>2]|0;if(r|0){e=a+4|0;o=c+36|0;k=c+32|0;g=c+24|0;n=c+28|0;m=a+36|0;a=0;p=0;while(1){l=f[e>>2]|0;i=(b[o>>0]|0)==0;if(((h[l+36>>0]<<8|h[l+37>>0])&65535)<514)if(!i){l=f[k>>2]|0;q=f[g>>2]|0;s=f[n>>2]|0;t=q+(l>>>3)|0;if(t>>>0>>0){v=(h[t>>0]|0)>>>(l&7)&1;t=l+1|0;f[k>>2]=t;w=v;x=t}else{w=0;x=l}if((q+(x>>>3)|0)>>>0>>0){f[k>>2]=x+1;y=w}else y=w}else y=p;else if(!i){i=f[k>>2]|0;s=(f[g>>2]|0)+(i>>>3)|0;if(s>>>0<(f[n>>2]|0)>>>0){q=(h[s>>0]|0)>>>(i&7)&1;f[k>>2]=i+1;y=q}else y=0}else y=p;q=(f[m>>2]|0)+(a*12|0)+8|0;b[q>>0]=b[q>>0]&-2|y&1;a=a+1|0;if(a>>>0>=r>>>0)break;else p=y}}bi(c)}j=f[c+16>>2]|0;u=d;return j|0}function Gc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,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;d=u;u=u+32|0;e=d+8|0;g=d;h=a+4|0;i=f[h>>2]|0;if(i>>>0>=b>>>0){f[h>>2]=b;u=d;return}j=a+8|0;k=f[j>>2]|0;l=k<<5;m=b-i|0;if(l>>>0>>0|i>>>0>(l-m|0)>>>0){f[e>>2]=0;n=e+4|0;f[n>>2]=0;o=e+8|0;f[o>>2]=0;if((b|0)<0)um(a);p=k<<6;k=b+31&-32;af(e,l>>>0<1073741823?(p>>>0>>0?k:p):2147483647);p=f[h>>2]|0;f[n>>2]=p+m;k=f[a>>2]|0;l=k;q=f[e>>2]|0;r=(l+(p>>>5<<2)-k<<3)+(p&31)|0;if((r|0)>0){p=r>>>5;qi(q|0,k|0,p<<2|0)|0;k=r&31;r=q+(p<<2)|0;s=r;if(!k){t=0;v=s}else{w=-1>>>(32-k|0);f[r>>2]=f[r>>2]&~w|f[l+(p<<2)>>2]&w;t=k;v=s}}else{t=0;v=q}f[g>>2]=v;f[g+4>>2]=t;t=g;g=f[t>>2]|0;v=f[t+4>>2]|0;t=f[a>>2]|0;f[a>>2]=f[e>>2];f[e>>2]=t;e=f[h>>2]|0;f[h>>2]=f[n>>2];f[n>>2]=e;e=f[j>>2]|0;f[j>>2]=f[o>>2];f[o>>2]=e;if(t|0)dn(t);x=g;y=v}else{v=(f[a>>2]|0)+(i>>>5<<2)|0;f[h>>2]=b;x=v;y=i&31}if(!m){u=d;return}i=(y|0)==0;v=x;if(c){if(i){z=m;A=x;B=v}else{c=32-y|0;b=c>>>0>m>>>0?m:c;f[v>>2]=f[v>>2]|-1>>>(c-b|0)&-1<>>5;Vf(A|0,-1,c<<2|0)|0;A=z&31;z=B+(c<<2)|0;if(!A){u=d;return}f[z>>2]=f[z>>2]|-1>>>(32-A|0);u=d;return}else{if(i){C=m;D=x;E=v}else{x=32-y|0;i=x>>>0>m>>>0?m:x;f[v>>2]=f[v>>2]&~(-1>>>(x-i|0)&-1<>>5;Vf(D|0,0,y<<2|0)|0;D=C&31;C=E+(y<<2)|0;if(!D){u=d;return}f[C>>2]=f[C>>2]&~(-1>>>(32-D|0));u=d;return}}function Hc(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;c=a+32|0;d=f[c>>2]|0;e=d+8|0;g=f[e+4>>2]|0;h=d+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if(!((g|0)>(k|0)|((g|0)==(k|0)?(f[e>>2]|0)>>>0>j>>>0:0))){l=0;return l|0}e=b[(f[d>>2]|0)+j>>0]|0;d=Rj(j|0,k|0,1,0)|0;k=h;f[k>>2]=d;f[k+4>>2]=I;k=e&255;d=e<<24>>24==0;a:do if(!d){e=0;while(1){if(!(Oa[f[(f[a>>2]|0)+16>>2]&127](a,e)|0)){l=0;break}e=e+1|0;if((e|0)>=(k|0))break a}return l|0}while(0);e=a+8|0;h=f[e>>2]|0;j=f[a+12>>2]|0;b:do if((h|0)!=(j|0)){g=a+4|0;i=h;while(1){m=f[i>>2]|0;i=i+4|0;if(!(Pa[f[(f[m>>2]|0)+8>>2]&31](m,a,f[g>>2]|0)|0)){l=0;break}if((i|0)==(j|0))break b}return l|0}while(0);if(!d){j=0;do{h=f[(f[e>>2]|0)+(j<<2)>>2]|0;j=j+1|0;if(!(Oa[f[(f[h>>2]|0)+12>>2]&127](h,f[c>>2]|0)|0)){l=0;n=26;break}}while((j|0)<(k|0));if((n|0)==26)return l|0;if(!d){d=a+20|0;n=a+24|0;j=0;do{c=f[(f[e>>2]|0)+(j<<2)>>2]|0;h=Na[f[(f[c>>2]|0)+24>>2]&127](c)|0;if((h|0)>0){c=0;do{i=f[(f[e>>2]|0)+(j<<2)>>2]|0;g=Oa[f[(f[i>>2]|0)+20>>2]&127](i,c)|0;i=f[n>>2]|0;m=f[d>>2]|0;o=i-m>>2;p=m;do if(g>>>0>=o>>>0){m=g+1|0;q=i;if(m>>>0>o>>>0){ff(d,m-o|0);r=f[d>>2]|0;break}if(m>>>0>>0?(s=p+(m<<2)|0,(s|0)!=(q|0)):0){f[n>>2]=q+(~((q+-4-s|0)>>>2)<<2);r=p}else r=p}else r=p;while(0);f[r+(g<<2)>>2]=j;c=c+1|0}while((c|0)!=(h|0))}j=j+1|0}while((j|0)!=(k|0))}}if(!(Na[f[(f[a>>2]|0)+28>>2]&127](a)|0)){l=0;return l|0}l=Na[f[(f[a>>2]|0)+32>>2]&127](a)|0;return l|0}function Ic(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,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;c=u;u=u+16|0;d=c;e=Na[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((e|0)<=0){g=1;u=c;return g|0}h=a+36|0;i=a+48|0;j=d+8|0;k=d+4|0;l=d+11|0;m=0;while(1){n=(Na[f[(f[a>>2]|0)+28>>2]&127](a)|0)+40|0;if(f[n>>2]|0){n=f[(f[(f[h>>2]|0)+(m<<2)>>2]|0)+8>>2]|0;o=(Na[f[(f[a>>2]|0)+28>>2]&127](a)|0)+40|0;p=f[o>>2]|0;o=f[n+56>>2]|0;n=bj(32)|0;f[d>>2]=n;f[j>>2]=-2147483616;f[k>>2]=24;q=n;r=8408;s=q+24|0;do{b[q>>0]=b[r>>0]|0;q=q+1|0;r=r+1|0}while((q|0)<(s|0));b[n+24>>0]=0;r=p+16|0;q=f[r>>2]|0;if(q){s=r;t=q;a:while(1){q=t;while(1){if((f[q+16>>2]|0)>=(o|0))break;v=f[q+4>>2]|0;if(!v){w=s;break a}else q=v}t=f[q>>2]|0;if(!t){w=q;break}else s=q}if(((w|0)!=(r|0)?(o|0)>=(f[w+16>>2]|0):0)?(s=w+20|0,(Ge(s,d)|0)!=0):0)x=tg(s,d,0)|0;else y=13}else y=13;if((y|0)==13){y=0;x=tg(p,d,0)|0}if((b[l>>0]|0)<0)dn(f[d>>2]|0);if(x){s=f[(f[h>>2]|0)+(m<<2)>>2]|0;t=f[s+8>>2]|0;ad(t,Je(s)|0)}else y=18}else y=18;if((y|0)==18?(y=0,s=f[(f[h>>2]|0)+(m<<2)>>2]|0,!(Oa[f[(f[s>>2]|0)+24>>2]&127](s,i)|0)):0){g=0;y=20;break}m=m+1|0;if((m|0)>=(e|0)){g=1;y=20;break}}if((y|0)==20){u=c;return g|0}return 0}function Jc(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=2296;b=a+360|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=c+-4|0;d=f[b>>2]|0;if(d|0){e=c+(d<<4)|0;do e=e+-16|0;while((e|0)!=(c|0))}bn(b)}gf(a+212|0);b=f[a+196>>2]|0;if(b|0){c=a+200|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);dn(b)}b=f[a+184>>2]|0;if(b|0){e=a+188|0;c=f[e>>2]|0;if((c|0)!=(b|0))f[e>>2]=c+(~((c+-4-b|0)>>>2)<<2);dn(b)}b=f[a+172>>2]|0;if(b|0){c=a+176|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);dn(b)}b=f[a+160>>2]|0;if(b|0){e=a+164|0;c=f[e>>2]|0;if((c|0)!=(b|0))f[e>>2]=c+(~((c+-4-b|0)>>>2)<<2);dn(b)}b=f[a+144>>2]|0;if(b|0){c=b;do{b=c;c=f[c>>2]|0;dn(b)}while((c|0)!=0)}c=a+136|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)dn(b);b=f[a+120>>2]|0;if(b|0)dn(b);b=f[a+108>>2]|0;if(b|0)dn(b);b=f[a+96>>2]|0;if(b|0)dn(b);b=f[a+72>>2]|0;if(b|0){c=a+76|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);dn(b)}b=f[a+60>>2]|0;if(b|0)dn(b);b=f[a+48>>2]|0;if(b|0){e=a+52|0;c=f[e>>2]|0;if((c|0)!=(b|0))f[e>>2]=c+(~((c+-4-b|0)>>>2)<<2);dn(b)}b=f[a+36>>2]|0;if(b|0){c=a+40|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~(((e+-12-b|0)>>>0)/12|0)*12|0);dn(b)}b=f[a+24>>2]|0;if(b|0){e=a+28|0;c=f[e>>2]|0;if((c|0)!=(b|0))f[e>>2]=c+(~((c+-4-b|0)>>>2)<<2);dn(b)}b=f[a+12>>2]|0;if(b|0){c=a+16|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);dn(b)}b=a+8|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;mf(a);dn(a);return}function Kc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+32|0;e=d;g=a+8|0;h=f[g>>2]|0;i=a+4|0;j=f[i>>2]|0;if(((h-j|0)/144|0)>>>0>=c>>>0){k=c;l=j;do{f[l>>2]=-1;_g(l+4|0);b[l+100>>0]=1;m=l+104|0;n=m+40|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));l=(f[i>>2]|0)+144|0;f[i>>2]=l;k=k+-1|0}while((k|0)!=0);u=d;return}k=f[a>>2]|0;l=(j-k|0)/144|0;j=l+c|0;if(j>>>0>29826161)um(a);o=(h-k|0)/144|0;k=o<<1;h=o>>>0<14913080?(k>>>0>>0?j:k):29826161;f[e+12>>2]=0;f[e+16>>2]=a+8;do if(h)if(h>>>0>29826161){k=ra(8)|0;Yk(k,9789);f[k>>2]=3704;va(k|0,856,80)}else{p=bj(h*144|0)|0;break}else p=0;while(0);f[e>>2]=p;k=p+(l*144|0)|0;l=e+8|0;f[l>>2]=k;j=e+4|0;f[j>>2]=k;o=e+12|0;f[o>>2]=p+(h*144|0);h=c;c=k;do{f[c>>2]=-1;_g(c+4|0);b[c+100>>0]=1;m=c+104|0;n=m+40|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));c=(f[l>>2]|0)+144|0;f[l>>2]=c;h=h+-1|0}while((h|0)!=0);h=c;c=f[a>>2]|0;m=f[i>>2]|0;if((m|0)==(c|0)){q=j;r=f[j>>2]|0;s=c;t=m}else{n=m;m=f[j>>2]|0;do{m=m+-144|0;n=n+-144|0;tc(m,n)}while((n|0)!=(c|0));f[j>>2]=m;q=j;r=m;s=f[a>>2]|0;t=f[i>>2]|0}f[a>>2]=r;f[q>>2]=s;f[i>>2]=h;f[l>>2]=t;t=f[g>>2]|0;f[g>>2]=f[o>>2];f[o>>2]=t;f[e>>2]=s;lf(e);u=d;return}function Lc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=(c|0)==(a|0);b[c+12>>0]=d&1;if(d)return;else e=c;while(1){g=e+8|0;h=f[g>>2]|0;c=h+12|0;if(b[c>>0]|0){i=23;break}j=h+8|0;k=f[j>>2]|0;d=f[k>>2]|0;if((d|0)==(h|0)){l=f[k+4>>2]|0;if(!l){i=7;break}m=l+12|0;if(!(b[m>>0]|0))n=m;else{i=7;break}}else{if(!d){i=16;break}m=d+12|0;if(!(b[m>>0]|0))n=m;else{i=16;break}}b[c>>0]=1;c=(k|0)==(a|0);b[k+12>>0]=c&1;b[n>>0]=1;if(c){i=23;break}else e=k}if((i|0)==7){if((f[h>>2]|0)==(e|0)){o=h;p=k}else{n=h+4|0;a=f[n>>2]|0;c=f[a>>2]|0;f[n>>2]=c;if(!c)q=k;else{f[c+8>>2]=h;q=f[j>>2]|0}f[a+8>>2]=q;q=f[j>>2]|0;f[((f[q>>2]|0)==(h|0)?q:q+4|0)>>2]=a;f[a>>2]=h;f[j>>2]=a;o=a;p=f[a+8>>2]|0}b[o+12>>0]=1;b[p+12>>0]=0;o=f[p>>2]|0;a=o+4|0;q=f[a>>2]|0;f[p>>2]=q;if(q|0)f[q+8>>2]=p;q=p+8|0;f[o+8>>2]=f[q>>2];c=f[q>>2]|0;f[((f[c>>2]|0)==(p|0)?c:c+4|0)>>2]=o;f[a>>2]=p;f[q>>2]=o;return}else if((i|0)==16){if((f[h>>2]|0)==(e|0)){o=e+4|0;q=f[o>>2]|0;f[h>>2]=q;if(!q)r=k;else{f[q+8>>2]=h;r=f[j>>2]|0}f[g>>2]=r;r=f[j>>2]|0;f[((f[r>>2]|0)==(h|0)?r:r+4|0)>>2]=e;f[o>>2]=h;f[j>>2]=e;s=e;t=f[e+8>>2]|0}else{s=h;t=k}b[s+12>>0]=1;b[t+12>>0]=0;s=t+4|0;k=f[s>>2]|0;h=f[k>>2]|0;f[s>>2]=h;if(h|0)f[h+8>>2]=t;h=t+8|0;f[k+8>>2]=f[h>>2];s=f[h>>2]|0;f[((f[s>>2]|0)==(t|0)?s:s+4|0)>>2]=k;f[k>>2]=t;f[h>>2]=k;return}else if((i|0)==23)return}function Mc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,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;e=u;u=u+16|0;g=e;h=f[a+40>>2]|0;i=f[a+44>>2]|0;if((h|0)==(i|0)){j=0;k=2;l=(k|0)==2;m=l?0:j;u=e;return m|0}a=g+11|0;n=g+4|0;o=d+11|0;p=d+4|0;q=0;r=h;a:while(1){f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=Sf(f[r>>2]|0,c,g)|0;s=b[a>>0]|0;b:do if(h){t=s<<24>>24<0;v=s&255;w=t?f[n>>2]|0:v;x=b[o>>0]|0;y=x<<24>>24<0;if((w|0)==((y?f[p>>2]|0:x&255)|0)){x=f[g>>2]|0;z=t?x:g;A=y?f[d>>2]|0:d;y=(w|0)==0;c:do if(t){if(!y?jh(z,A,w)|0:0){B=0;C=q;D=14;break b}}else if(!y){if((b[A>>0]|0)==(x&255)<<24>>24){E=g;F=v;G=A}else{H=0;I=q;D=13;break b}while(1){F=F+-1|0;E=E+1|0;if(!F)break c;G=G+1|0;if((b[E>>0]|0)!=(b[G>>0]|0)){H=0;I=q;D=13;break b}}}while(0);H=1;I=f[r>>2]|0;D=13}else{H=0;I=q;D=13}}else{H=3;I=q;D=13}while(0);if((D|0)==13){D=0;if(s<<24>>24<0){B=H;C=I;D=14}else{J=H;K=I}}if((D|0)==14){D=0;dn(f[g>>2]|0);J=B;K=C}switch(J&3){case 3:case 0:break;default:{j=K;k=J;D=17;break a}}r=r+4|0;if((r|0)==(i|0)){j=K;k=2;D=17;break}else q=K}if((D|0)==17){l=(k|0)==2;m=l?0:j;u=e;return m|0}return 0}function Nc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=u;u=u+16|0;d=c;e=b+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=b+16|0;k=g;l=f[k>>2]|0;m=Rj(l|0,f[k+4>>2]|0,4,0)|0;k=I;if((j|0)<(k|0)|(j|0)==(k|0)&i>>>0>>0){n=0;u=c;return n|0}i=(f[b>>2]|0)+l|0;l=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;i=g;f[i>>2]=m;f[i+4>>2]=k;if((l|0)<0){n=0;u=c;return n|0}Gc(a+76|0,l,0);Cm(d);if(td(d,b)|0){if((l|0)>0){k=a+76|0;i=1;m=0;do{i=i^((Wg(d)|0)^1);j=(f[k>>2]|0)+(m>>>5<<2)|0;o=1<<(m&31);if(i)p=f[j>>2]|o;else p=f[j>>2]&~o;f[j>>2]=p;m=m+1|0}while((m|0)<(l|0))}l=e;e=f[l>>2]|0;m=f[l+4>>2]|0;l=g;p=f[l>>2]|0;i=f[l+4>>2]|0;l=Rj(p|0,i|0,4,0)|0;k=I;if(((!((m|0)<(k|0)|(m|0)==(k|0)&e>>>0>>0)?(d=f[b>>2]|0,b=d+p|0,j=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24,b=g,f[b>>2]=l,f[b+4>>2]=k,k=Rj(p|0,i|0,8,0)|0,i=I,!((m|0)<(i|0)|(m|0)==(i|0)&e>>>0>>0)):0)?(e=d+l|0,l=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24,e=g,f[e>>2]=k,f[e+4>>2]=i,(j|0)<=(l|0)):0)?(f[a+12>>2]=j,f[a+16>>2]=l,i=Tj(l|0,((l|0)<0)<<31>>31|0,j|0,((j|0)<0)<<31>>31|0)|0,j=I,j>>>0<0|(j|0)==0&i>>>0<2147483647):0){j=i+1|0;f[a+20>>2]=j;i=(j|0)/2|0;l=a+24|0;f[l>>2]=i;f[a+28>>2]=0-i;if(!(j&1)){f[l>>2]=i+-1;q=1}else q=1}else q=0}else q=0;n=q;u=c;return n|0}function Oc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;g=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;if(!((c+-1|0)>>>0<6&(Na[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1)){h=0;f[a>>2]=h;return}i=Na[f[(f[b>>2]|0)+36>>2]&127](b)|0;j=Oa[f[(f[b>>2]|0)+44>>2]&127](b,d)|0;if((i|0)==0|(j|0)==0){h=0;f[a>>2]=h;return}k=Oa[f[(f[b>>2]|0)+40>>2]&127](b,d)|0;d=f[b+44>>2]|0;b=j+12|0;l=(c|0)==6;if(!k){if(l){c=bj(104)|0;f[c+4>>2]=g;m=c+8|0;f[m>>2]=f[e>>2];f[m+4>>2]=f[e+4>>2];f[m+8>>2]=f[e+8>>2];f[m+12>>2]=f[e+12>>2];f[c+24>>2]=d;f[c+28>>2]=i;f[c+32>>2]=b;f[c+36>>2]=j;f[c>>2]=2024;f[c+44>>2]=0;f[c+48>>2]=0;f[c+52>>2]=d;f[c+56>>2]=i;f[c+60>>2]=b;f[c+64>>2]=j;f[c+40>>2]=2080;f[c+68>>2]=1;i=c+72|0;f[i>>2]=-1;f[i+4>>2]=-1;f[i+8>>2]=-1;f[i+12>>2]=-1;Cm(c+88|0);h=c;f[a>>2]=h;return}}else if(l){l=bj(104)|0;f[l+4>>2]=g;g=l+8|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[g+12>>2]=f[e+12>>2];f[l+24>>2]=d;f[l+28>>2]=k;f[l+32>>2]=b;f[l+36>>2]=j;f[l>>2]=1940;f[l+44>>2]=0;f[l+48>>2]=0;f[l+52>>2]=d;f[l+56>>2]=k;f[l+60>>2]=b;f[l+64>>2]=j;f[l+40>>2]=1996;f[l+68>>2]=1;j=l+72|0;f[j>>2]=-1;f[j+4>>2]=-1;f[j+8>>2]=-1;f[j+12>>2]=-1;Cm(l+88|0);h=l;f[a>>2]=h;return}f[a>>2]=0;f[a>>2]=0;h=0;f[a>>2]=h;return}function Pc(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2464;Le(a+224|0);gf(a+212|0);b=f[a+196>>2]|0;if(b|0){c=a+200|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);dn(b)}b=f[a+184>>2]|0;if(b|0){d=a+188|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);dn(b)}b=f[a+172>>2]|0;if(b|0){c=a+176|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);dn(b)}b=f[a+160>>2]|0;if(b|0){d=a+164|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);dn(b)}b=f[a+144>>2]|0;if(b|0){c=b;do{b=c;c=f[c>>2]|0;dn(b)}while((c|0)!=0)}c=a+136|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)dn(b);b=f[a+120>>2]|0;if(b|0)dn(b);b=f[a+108>>2]|0;if(b|0)dn(b);b=f[a+96>>2]|0;if(b|0)dn(b);b=f[a+72>>2]|0;if(b|0){c=a+76|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);dn(b)}b=f[a+60>>2]|0;if(b|0)dn(b);b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);dn(b)}b=f[a+36>>2]|0;if(b|0){c=a+40|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);dn(b)}b=f[a+24>>2]|0;if(b|0){d=a+28|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);dn(b)}b=f[a+12>>2]|0;if(b|0){c=a+16|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);dn(b)}b=a+8|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;mf(a);dn(a);return}function Qc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(!(d[c+38>>1]|0)){e=0;return e|0}g=a+12|0;if(!(dg(g,c)|0)){e=0;return e|0}h=f[g>>2]|0;i=a+4|0;j=f[i>>2]|0;k=f[a>>2]|0;l=j-k>>2;m=k;k=j;if(h>>>0<=l>>>0)if(h>>>0>>0?(j=m+(h<<2)|0,(j|0)!=(k|0)):0){f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2);n=h}else n=h;else{ff(a,h-l|0);n=f[g>>2]|0}if(!n){e=1;return e|0}l=c+8|0;h=c+16|0;j=0;k=n;a:while(1){n=l;i=f[n>>2]|0;m=f[n+4>>2]|0;n=h;o=f[n>>2]|0;p=f[n+4>>2]|0;if(!((m|0)>(p|0)|(m|0)==(p|0)&i>>>0>o>>>0)){e=0;q=19;break}n=f[c>>2]|0;r=b[n+o>>0]|0;s=Rj(o|0,p|0,1,0)|0;p=I;o=h;f[o>>2]=s;f[o+4>>2]=p;o=r&255;t=o&3;u=o>>>2;switch(r&3){case 3:{r=u+j|0;if(r>>>0>=k>>>0){e=0;q=19;break a}Vf((f[a>>2]|0)+(j<<2)|0,0,(o&252)+4|0)|0;v=r;break}case 0:{w=u;q=16;break}default:{r=u;u=0;o=p;p=s;while(1){if(!((m|0)>(o|0)|(m|0)==(o|0)&i>>>0>p>>>0)){e=0;q=19;break a}s=b[n+p>>0]|0;p=Rj(p|0,o|0,1,0)|0;o=I;x=h;f[x>>2]=p;f[x+4>>2]=o;x=(s&255)<<(u<<3|6)|r;u=u+1|0;if((u|0)>=(t|0)){w=x;q=16;break}else r=x}}}if((q|0)==16){q=0;f[(f[a>>2]|0)+(j<<2)>>2]=w;v=j}j=v+1|0;k=f[g>>2]|0;if(j>>>0>=k>>>0){q=18;break}}if((q|0)==18){e=pe(a+16|0,f[a>>2]|0,k)|0;return e|0}else if((q|0)==19)return e|0;return 0}function Rc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(!(d[c+38>>1]|0)){e=0;return e|0}g=a+12|0;if(!(dg(g,c)|0)){e=0;return e|0}h=f[g>>2]|0;i=a+4|0;j=f[i>>2]|0;k=f[a>>2]|0;l=j-k>>2;m=k;k=j;if(h>>>0<=l>>>0)if(h>>>0>>0?(j=m+(h<<2)|0,(j|0)!=(k|0)):0){f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2);n=h}else n=h;else{ff(a,h-l|0);n=f[g>>2]|0}if(!n){e=1;return e|0}l=c+8|0;h=c+16|0;j=0;k=n;a:while(1){n=l;i=f[n>>2]|0;m=f[n+4>>2]|0;n=h;o=f[n>>2]|0;p=f[n+4>>2]|0;if(!((m|0)>(p|0)|(m|0)==(p|0)&i>>>0>o>>>0)){e=0;q=19;break}n=f[c>>2]|0;r=b[n+o>>0]|0;s=Rj(o|0,p|0,1,0)|0;p=I;o=h;f[o>>2]=s;f[o+4>>2]=p;o=r&255;t=o&3;u=o>>>2;switch(r&3){case 3:{r=u+j|0;if(r>>>0>=k>>>0){e=0;q=19;break a}Vf((f[a>>2]|0)+(j<<2)|0,0,(o&252)+4|0)|0;v=r;break}case 0:{w=u;q=16;break}default:{r=u;u=0;o=p;p=s;while(1){if(!((m|0)>(o|0)|(m|0)==(o|0)&i>>>0>p>>>0)){e=0;q=19;break a}s=b[n+p>>0]|0;p=Rj(p|0,o|0,1,0)|0;o=I;x=h;f[x>>2]=p;f[x+4>>2]=o;x=(s&255)<<(u<<3|6)|r;u=u+1|0;if((u|0)>=(t|0)){w=x;q=16;break}else r=x}}}if((q|0)==16){q=0;f[(f[a>>2]|0)+(j<<2)>>2]=w;v=j}j=v+1|0;k=f[g>>2]|0;if(j>>>0>=k>>>0){q=18;break}}if((q|0)==18){e=re(a+16|0,f[a>>2]|0,k)|0;return e|0}else if((q|0)==19)return e|0;return 0}function Sc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(!(d[c+38>>1]|0)){e=0;return e|0}g=a+12|0;if(!(dg(g,c)|0)){e=0;return e|0}h=f[g>>2]|0;i=a+4|0;j=f[i>>2]|0;k=f[a>>2]|0;l=j-k>>2;m=k;k=j;if(h>>>0<=l>>>0)if(h>>>0>>0?(j=m+(h<<2)|0,(j|0)!=(k|0)):0){f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2);n=h}else n=h;else{ff(a,h-l|0);n=f[g>>2]|0}if(!n){e=1;return e|0}l=c+8|0;h=c+16|0;j=0;k=n;a:while(1){n=l;i=f[n>>2]|0;m=f[n+4>>2]|0;n=h;o=f[n>>2]|0;p=f[n+4>>2]|0;if(!((m|0)>(p|0)|(m|0)==(p|0)&i>>>0>o>>>0)){e=0;q=19;break}n=f[c>>2]|0;r=b[n+o>>0]|0;s=Rj(o|0,p|0,1,0)|0;p=I;o=h;f[o>>2]=s;f[o+4>>2]=p;o=r&255;t=o&3;u=o>>>2;switch(r&3){case 3:{r=u+j|0;if(r>>>0>=k>>>0){e=0;q=19;break a}Vf((f[a>>2]|0)+(j<<2)|0,0,(o&252)+4|0)|0;v=r;break}case 0:{w=u;q=16;break}default:{r=u;u=0;o=p;p=s;while(1){if(!((m|0)>(o|0)|(m|0)==(o|0)&i>>>0>p>>>0)){e=0;q=19;break a}s=b[n+p>>0]|0;p=Rj(p|0,o|0,1,0)|0;o=I;x=h;f[x>>2]=p;f[x+4>>2]=o;x=(s&255)<<(u<<3|6)|r;u=u+1|0;if((u|0)>=(t|0)){w=x;q=16;break}else r=x}}}if((q|0)==16){q=0;f[(f[a>>2]|0)+(j<<2)>>2]=w;v=j}j=v+1|0;k=f[g>>2]|0;if(j>>>0>=k>>>0){q=18;break}}if((q|0)==18){e=se(a+16|0,f[a>>2]|0,k)|0;return e|0}else if((q|0)==19)return e|0;return 0}function Tc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(!(d[c+38>>1]|0)){e=0;return e|0}g=a+12|0;if(!(dg(g,c)|0)){e=0;return e|0}h=f[g>>2]|0;i=a+4|0;j=f[i>>2]|0;k=f[a>>2]|0;l=j-k>>2;m=k;k=j;if(h>>>0<=l>>>0)if(h>>>0>>0?(j=m+(h<<2)|0,(j|0)!=(k|0)):0){f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2);n=h}else n=h;else{ff(a,h-l|0);n=f[g>>2]|0}if(!n){e=1;return e|0}l=c+8|0;h=c+16|0;j=0;k=n;a:while(1){n=l;i=f[n>>2]|0;m=f[n+4>>2]|0;n=h;o=f[n>>2]|0;p=f[n+4>>2]|0;if(!((m|0)>(p|0)|(m|0)==(p|0)&i>>>0>o>>>0)){e=0;q=19;break}n=f[c>>2]|0;r=b[n+o>>0]|0;s=Rj(o|0,p|0,1,0)|0;p=I;o=h;f[o>>2]=s;f[o+4>>2]=p;o=r&255;t=o&3;u=o>>>2;switch(r&3){case 3:{r=u+j|0;if(r>>>0>=k>>>0){e=0;q=19;break a}Vf((f[a>>2]|0)+(j<<2)|0,0,(o&252)+4|0)|0;v=r;break}case 0:{w=u;q=16;break}default:{r=u;u=0;o=p;p=s;while(1){if(!((m|0)>(o|0)|(m|0)==(o|0)&i>>>0>p>>>0)){e=0;q=19;break a}s=b[n+p>>0]|0;p=Rj(p|0,o|0,1,0)|0;o=I;x=h;f[x>>2]=p;f[x+4>>2]=o;x=(s&255)<<(u<<3|6)|r;u=u+1|0;if((u|0)>=(t|0)){w=x;q=16;break}else r=x}}}if((q|0)==16){q=0;f[(f[a>>2]|0)+(j<<2)>>2]=w;v=j}j=v+1|0;k=f[g>>2]|0;if(j>>>0>=k>>>0){q=18;break}}if((q|0)==18){e=ue(a+16|0,f[a>>2]|0,k)|0;return e|0}else if((q|0)==19)return e|0;return 0}function Uc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(!(d[c+38>>1]|0)){e=0;return e|0}g=a+12|0;if(!(dg(g,c)|0)){e=0;return e|0}h=f[g>>2]|0;i=a+4|0;j=f[i>>2]|0;k=f[a>>2]|0;l=j-k>>2;m=k;k=j;if(h>>>0<=l>>>0)if(h>>>0>>0?(j=m+(h<<2)|0,(j|0)!=(k|0)):0){f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2);n=h}else n=h;else{ff(a,h-l|0);n=f[g>>2]|0}if(!n){e=1;return e|0}l=c+8|0;h=c+16|0;j=0;k=n;a:while(1){n=l;i=f[n>>2]|0;m=f[n+4>>2]|0;n=h;o=f[n>>2]|0;p=f[n+4>>2]|0;if(!((m|0)>(p|0)|(m|0)==(p|0)&i>>>0>o>>>0)){e=0;q=19;break}n=f[c>>2]|0;r=b[n+o>>0]|0;s=Rj(o|0,p|0,1,0)|0;p=I;o=h;f[o>>2]=s;f[o+4>>2]=p;o=r&255;t=o&3;u=o>>>2;switch(r&3){case 3:{r=u+j|0;if(r>>>0>=k>>>0){e=0;q=19;break a}Vf((f[a>>2]|0)+(j<<2)|0,0,(o&252)+4|0)|0;v=r;break}case 0:{w=u;q=16;break}default:{r=u;u=0;o=p;p=s;while(1){if(!((m|0)>(o|0)|(m|0)==(o|0)&i>>>0>p>>>0)){e=0;q=19;break a}s=b[n+p>>0]|0;p=Rj(p|0,o|0,1,0)|0;o=I;x=h;f[x>>2]=p;f[x+4>>2]=o;x=(s&255)<<(u<<3|6)|r;u=u+1|0;if((u|0)>=(t|0)){w=x;q=16;break}else r=x}}}if((q|0)==16){q=0;f[(f[a>>2]|0)+(j<<2)>>2]=w;v=j}j=v+1|0;k=f[g>>2]|0;if(j>>>0>=k>>>0){q=18;break}}if((q|0)==18){e=ve(a+16|0,f[a>>2]|0,k)|0;return e|0}else if((q|0)==19)return e|0;return 0}function Vc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(!(d[c+38>>1]|0)){e=0;return e|0}g=a+12|0;if(!(dg(g,c)|0)){e=0;return e|0}h=f[g>>2]|0;i=a+4|0;j=f[i>>2]|0;k=f[a>>2]|0;l=j-k>>2;m=k;k=j;if(h>>>0<=l>>>0)if(h>>>0>>0?(j=m+(h<<2)|0,(j|0)!=(k|0)):0){f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2);n=h}else n=h;else{ff(a,h-l|0);n=f[g>>2]|0}if(!n){e=1;return e|0}l=c+8|0;h=c+16|0;j=0;k=n;a:while(1){n=l;i=f[n>>2]|0;m=f[n+4>>2]|0;n=h;o=f[n>>2]|0;p=f[n+4>>2]|0;if(!((m|0)>(p|0)|(m|0)==(p|0)&i>>>0>o>>>0)){e=0;q=19;break}n=f[c>>2]|0;r=b[n+o>>0]|0;s=Rj(o|0,p|0,1,0)|0;p=I;o=h;f[o>>2]=s;f[o+4>>2]=p;o=r&255;t=o&3;u=o>>>2;switch(r&3){case 3:{r=u+j|0;if(r>>>0>=k>>>0){e=0;q=19;break a}Vf((f[a>>2]|0)+(j<<2)|0,0,(o&252)+4|0)|0;v=r;break}case 0:{w=u;q=16;break}default:{r=u;u=0;o=p;p=s;while(1){if(!((m|0)>(o|0)|(m|0)==(o|0)&i>>>0>p>>>0)){e=0;q=19;break a}s=b[n+p>>0]|0;p=Rj(p|0,o|0,1,0)|0;o=I;x=h;f[x>>2]=p;f[x+4>>2]=o;x=(s&255)<<(u<<3|6)|r;u=u+1|0;if((u|0)>=(t|0)){w=x;q=16;break}else r=x}}}if((q|0)==16){q=0;f[(f[a>>2]|0)+(j<<2)>>2]=w;v=j}j=v+1|0;k=f[g>>2]|0;if(j>>>0>=k>>>0){q=18;break}}if((q|0)==18){e=we(a+16|0,f[a>>2]|0,k)|0;return e|0}else if((q|0)==19)return e|0;return 0}function Wc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(!(d[c+38>>1]|0)){e=0;return e|0}g=a+12|0;if(!(dg(g,c)|0)){e=0;return e|0}h=f[g>>2]|0;i=a+4|0;j=f[i>>2]|0;k=f[a>>2]|0;l=j-k>>2;m=k;k=j;if(h>>>0<=l>>>0)if(h>>>0>>0?(j=m+(h<<2)|0,(j|0)!=(k|0)):0){f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2);n=h}else n=h;else{ff(a,h-l|0);n=f[g>>2]|0}if(!n){e=1;return e|0}l=c+8|0;h=c+16|0;j=0;k=n;a:while(1){n=l;i=f[n>>2]|0;m=f[n+4>>2]|0;n=h;o=f[n>>2]|0;p=f[n+4>>2]|0;if(!((m|0)>(p|0)|(m|0)==(p|0)&i>>>0>o>>>0)){e=0;q=19;break}n=f[c>>2]|0;r=b[n+o>>0]|0;s=Rj(o|0,p|0,1,0)|0;p=I;o=h;f[o>>2]=s;f[o+4>>2]=p;o=r&255;t=o&3;u=o>>>2;switch(r&3){case 3:{r=u+j|0;if(r>>>0>=k>>>0){e=0;q=19;break a}Vf((f[a>>2]|0)+(j<<2)|0,0,(o&252)+4|0)|0;v=r;break}case 0:{w=u;q=16;break}default:{r=u;u=0;o=p;p=s;while(1){if(!((m|0)>(o|0)|(m|0)==(o|0)&i>>>0>p>>>0)){e=0;q=19;break a}s=b[n+p>>0]|0;p=Rj(p|0,o|0,1,0)|0;o=I;x=h;f[x>>2]=p;f[x+4>>2]=o;x=(s&255)<<(u<<3|6)|r;u=u+1|0;if((u|0)>=(t|0)){w=x;q=16;break}else r=x}}}if((q|0)==16){q=0;f[(f[a>>2]|0)+(j<<2)>>2]=w;v=j}j=v+1|0;k=f[g>>2]|0;if(j>>>0>=k>>>0){q=18;break}}if((q|0)==18){e=xe(a+16|0,f[a>>2]|0,k)|0;return e|0}else if((q|0)==19)return e|0;return 0}function Xc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=u;u=u+16|0;e=d;if(!(Qb(a,c)|0)){g=0;u=d;return g|0}h=Na[f[(f[a>>2]|0)+24>>2]&127](a)|0;i=a+36|0;j=a+40|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0){if(h>>>0>>0?(k=n+(h<<2)|0,(k|0)!=(l|0)):0){n=l;do{l=n+-4|0;f[j>>2]=l;o=f[l>>2]|0;f[l>>2]=0;if(o|0)Sa[f[(f[o>>2]|0)+4>>2]&127](o);n=f[j>>2]|0}while((n|0)!=(k|0))}}else Kd(i,h-m|0);m=c+8|0;if((h|0)<=0){g=1;u=d;return g|0}k=c+16|0;n=0;while(1){j=m;o=f[j+4>>2]|0;l=k;p=f[l>>2]|0;q=f[l+4>>2]|0;if(!((o|0)>(q|0)|((o|0)==(q|0)?(f[j>>2]|0)>>>0>p>>>0:0))){g=0;r=19;break}j=b[(f[c>>2]|0)+p>>0]|0;o=Rj(p|0,q|0,1,0)|0;q=k;f[q>>2]=o;f[q+4>>2]=I;Ua[f[(f[a>>2]|0)+48>>2]&7](e,a,j);j=(f[i>>2]|0)+(n<<2)|0;q=f[e>>2]|0;f[e>>2]=0;o=f[j>>2]|0;f[j>>2]=q;if(o|0)Sa[f[(f[o>>2]|0)+4>>2]&127](o);o=f[e>>2]|0;f[e>>2]=0;if(o|0)Sa[f[(f[o>>2]|0)+4>>2]&127](o);o=f[(f[i>>2]|0)+(n<<2)>>2]|0;if(!o){g=0;r=19;break}q=f[(f[o>>2]|0)+8>>2]|0;j=Na[f[(f[a>>2]|0)+28>>2]&127](a)|0;p=Oa[f[(f[a>>2]|0)+20>>2]&127](a,n)|0;n=n+1|0;if(!(Pa[q&31](o,j,p)|0)){g=0;r=19;break}if((n|0)>=(h|0)){g=1;r=19;break}}if((r|0)==19){u=d;return g|0}return 0}function Yc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0;d=u;u=u+16|0;e=d+12|0;g=d;h=bj(52)|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;n[h+16>>2]=$(1.0);i=h+20|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[h+36>>2]=$(1.0);f[h+40>>2]=0;f[h+44>>2]=0;f[h+48>>2]=0;Em(e);if(ee(e,f[c+32>>2]|0,h)|0){e=(f[c+4>>2]|0)+4|0;c=f[e>>2]|0;f[e>>2]=h;if(c|0){e=c+40|0;i=f[e>>2]|0;if(i|0){j=c+44|0;k=f[j>>2]|0;if((k|0)==(i|0))l=i;else{m=k;do{k=m+-4|0;f[j>>2]=k;o=f[k>>2]|0;f[k>>2]=0;if(o|0){Cf(o);dn(o)}m=f[j>>2]|0}while((m|0)!=(i|0));l=f[e>>2]|0}dn(l)}Cf(c);dn(c)}f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=d;return}else{f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;c=bj(32)|0;f[g>>2]=c;f[g+8>>2]=-2147483616;f[g+4>>2]=26;l=c;e=9550;i=l+26|0;do{b[l>>0]=b[e>>0]|0;l=l+1|0;e=e+1|0}while((l|0)<(i|0));b[c+26>>0]=0;f[a>>2]=-1;Rf(a+4|0,g);if((b[g+11>>0]|0)<0)dn(f[g>>2]|0);g=h+40|0;a=f[g>>2]|0;if(a|0){c=h+44|0;e=f[c>>2]|0;if((e|0)==(a|0))p=a;else{l=e;do{e=l+-4|0;f[c>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0){Cf(i);dn(i)}l=f[c>>2]|0}while((l|0)!=(a|0));p=f[g>>2]|0}dn(p)}Cf(h);dn(h);u=d;return}}function Zc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{d=(f[c>>2]|0)+(4-1)&~(4-1);e=f[d>>2]|0;f[c>>2]=d+4;f[a>>2]=e;break a;break}case 10:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a;break}case 11:{d=(f[c>>2]|0)+(4-1)&~(4-1);e=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=e;f[d+4>>2]=0;break a;break}case 12:{d=(f[c>>2]|0)+(8-1)&~(8-1);e=d;g=f[e>>2]|0;h=f[e+4>>2]|0;f[c>>2]=d+8;d=a;f[d>>2]=g;f[d+4>>2]=h;break a;break}case 13:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=(d&65535)<<16>>16;d=a;f[d>>2]=h;f[d+4>>2]=((h|0)<0)<<31>>31;break a;break}case 14:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=a;f[h>>2]=d&65535;f[h+4>>2]=0;break a;break}case 15:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=(d&255)<<24>>24;d=a;f[d>>2]=h;f[d+4>>2]=((h|0)<0)<<31>>31;break a;break}case 16:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=a;f[h>>2]=d&255;f[h+4>>2]=0;break a;break}case 17:{h=(f[c>>2]|0)+(8-1)&~(8-1);i=+p[h>>3];f[c>>2]=h+8;p[a>>3]=i;break a;break}case 18:{h=(f[c>>2]|0)+(8-1)&~(8-1);i=+p[h>>3];f[c>>2]=h+8;p[a>>3]=i;break a;break}default:break a}while(0);while(0);return}function _c(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=u;u=u+144|0;g=e+136|0;h=e+32|0;i=e;j=f[(f[c+4>>2]|0)+44>>2]|0;k=bj(124)|0;f[k+4>>2]=0;f[k>>2]=2396;f[k+12>>2]=2420;f[k+100>>2]=0;f[k+104>>2]=0;f[k+108>>2]=0;l=k+16|0;m=l+80|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));f[k+112>>2]=j;f[k+116>>2]=d;f[k+120>>2]=0;n=k;f[h+4>>2]=2420;f[h+92>>2]=0;f[h+96>>2]=0;f[h+100>>2]=0;l=h+8|0;m=l+80|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));l=f[c+8>>2]|0;f[i>>2]=2420;c=i+4|0;m=c+4|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m+16>>2]=0;f[m+20>>2]=0;m=l;f[c>>2]=m;o=((f[m+4>>2]|0)-(f[l>>2]|0)>>2>>>0)/3|0;b[g>>0]=0;le(i+8|0,o,g);Sa[f[(f[i>>2]|0)+8>>2]&127](i);f[h>>2]=f[c>>2];wd(h+4|0,i)|0;f[h+36>>2]=l;f[h+40>>2]=d;f[h+44>>2]=j;f[h+48>>2]=k;Wd(k,h);f[a>>2]=n;f[i>>2]=2420;n=f[i+20>>2]|0;if(n|0)dn(n);n=f[i+8>>2]|0;if(!n){wf(h);u=e;return}dn(n);wf(h);u=e;return}function $c(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+32|0;e=d+12|0;g=d;h=xh(c,0)|0;if(!h){f[a>>2]=0;u=d;return}i=f[c+100>>2]|0;j=f[c+96>>2]|0;c=i-j|0;k=(c|0)/12|0;f[e>>2]=0;l=e+4|0;f[l>>2]=0;f[e+8>>2]=0;m=j;do if(c)if(k>>>0>357913941)um(e);else{n=bj(c)|0;f[e>>2]=n;f[e+8>>2]=n+(k*12|0);Vf(n|0,0,c|0)|0;f[l>>2]=n+c;o=n;break}else o=0;while(0);f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;a:do if((i|0)!=(j|0)){c=g+4|0;n=g+8|0;if(b[h+84>>0]|0){p=0;while(1){q=m+(p*12|0)|0;f[g>>2]=f[q>>2];f[g+4>>2]=f[q+4>>2];f[g+8>>2]=f[q+8>>2];f[o+(p*12|0)>>2]=f[g>>2];f[o+(p*12|0)+4>>2]=f[c>>2];f[o+(p*12|0)+8>>2]=f[n>>2];p=p+1|0;if(p>>>0>=k>>>0)break a}}p=f[h+68>>2]|0;q=0;do{r=f[p+(f[m+(q*12|0)>>2]<<2)>>2]|0;f[g>>2]=r;s=f[p+(f[m+(q*12|0)+4>>2]<<2)>>2]|0;f[c>>2]=s;t=f[p+(f[m+(q*12|0)+8>>2]<<2)>>2]|0;f[n>>2]=t;f[o+(q*12|0)>>2]=r;f[o+(q*12|0)+4>>2]=s;f[o+(q*12|0)+8>>2]=t;q=q+1|0}while(q>>>0>>0)}while(0);kg(a,e);a=f[e>>2]|0;if(a|0){e=f[l>>2]|0;if((e|0)!=(a|0))f[l>>2]=e+(~(((e+-12-a|0)>>>0)/12|0)*12|0);dn(a)}u=d;return}function ad(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!(f[a+64>>2]|0)){d=bj(32)|0;oj(d);e=a+64|0;g=f[e>>2]|0;f[e>>2]=d;if(!g)h=d;else{d=f[g>>2]|0;if(d|0){i=g+4|0;if((f[i>>2]|0)!=(d|0))f[i>>2]=d;dn(d)}dn(g);h=f[e>>2]|0}Vg(a,h,0,0,0,0);j=a}else j=a;if(!(Nf(j,c)|0))return;b[a+84>>0]=b[c+84>>0]|0;f[a+80>>2]=f[c+80>>2];if((a|0)!=(c|0))zd(a+68|0,f[c+68>>2]|0,f[c+72>>2]|0);j=f[c+88>>2]|0;if(!j){c=a+88|0;h=f[c>>2]|0;f[c>>2]=0;if(!h)return;c=f[h+8>>2]|0;if(c|0){e=h+12|0;if((f[e>>2]|0)!=(c|0))f[e>>2]=c;dn(c)}dn(h);return}h=bj(40)|0;f[h>>2]=f[j>>2];c=h+8|0;e=j+8|0;f[c>>2]=0;g=h+12|0;f[g>>2]=0;d=h+16|0;f[d>>2]=0;i=j+12|0;k=(f[i>>2]|0)-(f[e>>2]|0)|0;if(k|0){if((k|0)<0)um(c);l=bj(k)|0;f[g>>2]=l;f[c>>2]=l;f[d>>2]=l+k;k=f[e>>2]|0;e=(f[i>>2]|0)-k|0;if((e|0)>0){ge(l|0,k|0,e|0)|0;f[g>>2]=l+e}}e=h+24|0;l=j+24|0;f[e>>2]=f[l>>2];f[e+4>>2]=f[l+4>>2];f[e+8>>2]=f[l+8>>2];f[e+12>>2]=f[l+12>>2];l=a+88|0;a=f[l>>2]|0;f[l>>2]=h;if(!a)return;h=f[a+8>>2]|0;if(h|0){l=a+12|0;if((f[l>>2]|0)!=(h|0))f[l>>2]=h;dn(h)}dn(a);return}function bd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,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;e=u;u=u+32|0;g=e+20|0;h=e+16|0;i=e;j=c+24|0;k=b[j>>0]|0;l=k<<24>>24;m=f[a+80>>2]|0;a=X(m,l)|0;f[i>>2]=f[226];f[i+4>>2]=f[227];f[i+8>>2]=f[228];f[i+12>>2]=f[229];n=d+4|0;o=f[n>>2]|0;p=f[d>>2]|0;q=o-p>>2;r=p;p=o;if(a>>>0<=q>>>0){if(a>>>0>>0?(o=r+(a<<2)|0,(o|0)!=(p|0)):0)f[n>>2]=p+(~((p+-4-o|0)>>>2)<<2)}else ff(d,a-q|0);if(!m){s=1;u=e;return s|0}q=c+84|0;a=c+68|0;if(k<<24>>24<=0){k=0;while(1){if(!(b[q>>0]|0))t=f[(f[a>>2]|0)+(k<<2)>>2]|0;else t=k;f[h>>2]=t;o=b[j>>0]|0;f[g>>2]=f[h>>2];if(!(bb(c,g,o,i)|0)){s=0;v=18;break}k=k+1|0;if(k>>>0>=m>>>0){s=1;v=18;break}}if((v|0)==18){u=e;return s|0}}else{w=0;x=0}while(1){if(!(b[q>>0]|0))y=f[(f[a>>2]|0)+(x<<2)>>2]|0;else y=x;f[h>>2]=y;k=b[j>>0]|0;f[g>>2]=f[h>>2];if(!(bb(c,g,k,i)|0)){s=0;v=18;break}k=f[d>>2]|0;t=0;o=w;while(1){f[k+(o<<2)>>2]=f[i+(t<<2)>>2];t=t+1|0;if((t|0)==(l|0))break;else o=o+1|0}x=x+1|0;if(x>>>0>=m>>>0){s=1;v=18;break}else w=w+l|0}if((v|0)==18){u=e;return s|0}return 0}function cd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=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;d=u;u=u+64|0;e=d;g=e;i=g+40|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));do if(Wc(e,b)|0){g=(a|0)==0;if(!g?(f[e+12>>2]|0)==0:0){j=0;break}i=Bd(e,b)|0;if(g|i^1)j=i;else{i=e+48|0;g=e+44|0;k=e+40|0;l=e+16|0;m=e+28|0;n=0;o=f[i>>2]|0;while(1){a:do if(o>>>0<16384){p=f[g>>2]|0;q=o;while(1){if((p|0)<=0){r=q;break a}s=f[k>>2]|0;p=p+-1|0;f[g>>2]=p;t=q<<8|(h[s+p>>0]|0);f[i>>2]=t;if(t>>>0>=16384){r=t;break}else q=t}}else r=o;while(0);q=r&4095;p=f[(f[l>>2]|0)+(q<<2)>>2]|0;t=f[m>>2]|0;o=(X(f[t+(p<<3)>>2]|0,r>>>12)|0)+q-(f[t+(p<<3)+4>>2]|0)|0;f[i>>2]=o;f[c+(n<<2)>>2]=p;n=n+1|0;if((n|0)==(a|0)){j=1;break}}}}else j=0;while(0);a=f[e+28>>2]|0;if(a|0){c=e+32|0;r=f[c>>2]|0;if((r|0)!=(a|0))f[c>>2]=r+(~((r+-8-a|0)>>>3)<<3);dn(a)}a=f[e+16>>2]|0;if(a|0){r=e+20|0;c=f[r>>2]|0;if((c|0)!=(a|0))f[r>>2]=c+(~((c+-4-a|0)>>>2)<<2);dn(a)}a=f[e>>2]|0;if(!a){u=d;return j|0}c=e+4|0;e=f[c>>2]|0;if((e|0)!=(a|0))f[c>>2]=e+(~((e+-4-a|0)>>>2)<<2);dn(a);u=d;return j|0}function dd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=f[c>>2]|0;c=f[d>>2]|0;e=f[a+4>>2]|0;g=f[d+4>>2]|0;h=e+-1|0;i=(h&e|0)==0;if(!i)if(g>>>0>>0)j=g;else j=(g>>>0)%(e>>>0)|0;else j=h&g;g=(f[a>>2]|0)+(j<<2)|0;k=f[g>>2]|0;while(1){l=f[k>>2]|0;if((l|0)==(d|0))break;else k=l}if((k|0)!=(a+8|0)){l=f[k+4>>2]|0;if(!i)if(l>>>0>>0)m=l;else m=(l>>>0)%(e>>>0)|0;else m=l&h;if((m|0)==(j|0)){n=c;o=21}else o=13}else o=13;do if((o|0)==13){if(c|0){m=f[c+4>>2]|0;if(!i)if(m>>>0>>0)p=m;else p=(m>>>0)%(e>>>0)|0;else p=m&h;if((p|0)==(j|0)){q=c;r=c;o=22;break}}f[g>>2]=0;n=f[d>>2]|0;o=21}while(0);if((o|0)==21){g=n;if(!n)s=g;else{q=n;r=g;o=22}}if((o|0)==22){o=f[q+4>>2]|0;if(!i)if(o>>>0>>0)t=o;else t=(o>>>0)%(e>>>0)|0;else t=o&h;if((t|0)==(j|0))s=r;else{f[(f[a>>2]|0)+(t<<2)>>2]=k;s=f[d>>2]|0}}f[k>>2]=s;f[d>>2]=0;s=a+12|0;f[s>>2]=(f[s>>2]|0)+-1;if(!d)return c|0;s=d+8|0;a=f[d+20>>2]|0;if(a|0){k=d+24|0;if((f[k>>2]|0)!=(a|0))f[k>>2]=a;dn(a)}if((b[s+11>>0]|0)<0)dn(f[s>>2]|0);dn(d);return c|0}function ed(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=u;u=u+32|0;d=c+12|0;e=c;g=b*3|0;f[d>>2]=0;h=d+4|0;f[h>>2]=0;f[d+8>>2]=0;do if(g)if(g>>>0>1073741823)um(d);else{i=b*12|0;j=bj(i)|0;f[d>>2]=j;k=j+(g<<2)|0;f[d+8>>2]=k;Vf(j|0,0,i|0)|0;f[h>>2]=k;l=j;break}else l=0;while(0);if(Qf(g,1,f[a+32>>2]|0,l)|0)if(!b)m=1;else{l=a+44|0;a=e+4|0;g=e+8|0;j=0;k=0;i=0;while(1){f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;n=f[d>>2]|0;o=f[n+(k<<2)>>2]|0;p=o>>>1;q=((o&1|0)==0?p:0-p|0)+i|0;f[e>>2]=q;p=f[n+(k+1<<2)>>2]|0;o=p>>>1;r=((p&1|0)==0?o:0-o|0)+q|0;f[a>>2]=r;q=f[n+(k+2<<2)>>2]|0;n=q>>>1;i=((q&1|0)==0?n:0-n|0)+r|0;f[g>>2]=i;r=f[l>>2]|0;n=r+100|0;q=f[n>>2]|0;if((q|0)==(f[r+104>>2]|0))cf(r+96|0,e);else{f[q>>2]=f[e>>2];f[q+4>>2]=f[e+4>>2];f[q+8>>2]=f[e+8>>2];f[n>>2]=(f[n>>2]|0)+12}j=j+1|0;if(j>>>0>=b>>>0){m=1;break}else k=k+3|0}}else m=0;k=f[d>>2]|0;if(!k){u=c;return m|0}d=f[h>>2]|0;if((d|0)!=(k|0))f[h>>2]=d+(~((d+-4-k|0)>>>2)<<2);dn(k);u=c;return m|0}function fd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=f[a+8>>2]|0;e=a+76|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0)if(h>>>0>>0?(k=n+(h<<2)|0,(k|0)!=(l|0)):0){f[j>>2]=l+(~((l+-4-k|0)>>>2)<<2);o=g;p=h}else{o=g;p=h}else{Ae(i,h-m|0,2384);m=f[e>>2]|0;o=m;p=f[m+80>>2]|0}m=(f[o+100>>2]|0)-(f[o+96>>2]|0)|0;e=(m|0)/12|0;if(!m){q=1;return q|0}m=a+80|0;a=c+68|0;c=f[o+96>>2]|0;o=0;while(1){h=o*3|0;if((h|0)==-1)r=-1;else r=f[(f[d>>2]|0)+(h<<2)>>2]|0;i=f[(f[m>>2]|0)+12>>2]|0;g=f[i+(r<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}k=f[a>>2]|0;f[k+(f[c+(o*12|0)>>2]<<2)>>2]=g;g=h+1|0;if((g|0)==-1)t=-1;else t=f[(f[d>>2]|0)+(g<<2)>>2]|0;g=f[i+(t<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}f[k+(f[c+(o*12|0)+4>>2]<<2)>>2]=g;g=h+2|0;if((g|0)==-1)u=-1;else u=f[(f[d>>2]|0)+(g<<2)>>2]|0;g=f[i+(u<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}f[k+(f[c+(o*12|0)+8>>2]<<2)>>2]=g;o=o+1|0;if(o>>>0>=e>>>0){q=1;s=12;break}}if((s|0)==12)return q|0;return 0}function gd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,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;c=u;u=u+32|0;d=c;e=a+8|0;g=f[e>>2]|0;h=a+4|0;i=f[h>>2]|0;j=i;if(g-i>>2>>>0>=b>>>0){Vf(i|0,0,b<<2|0)|0;f[h>>2]=i+(b<<2);u=c;return}k=f[a>>2]|0;l=i-k>>2;m=l+b|0;n=k;if(m>>>0>1073741823)um(a);o=g-k|0;p=o>>1;q=o>>2>>>0<536870911?(p>>>0>>0?m:p):1073741823;f[d+12>>2]=0;f[d+16>>2]=a+8;do if(q)if(q>>>0>1073741823){p=ra(8)|0;Yk(p,9789);f[p>>2]=3704;va(p|0,856,80)}else{r=bj(q<<2)|0;break}else r=0;while(0);f[d>>2]=r;p=r+(l<<2)|0;l=d+8|0;m=d+4|0;f[m>>2]=p;o=r+(q<<2)|0;q=d+12|0;f[q>>2]=o;r=p+(b<<2)|0;Vf(p|0,0,b<<2|0)|0;f[l>>2]=r;if((j|0)==(n|0)){s=p;t=q;v=l;w=k;x=r;y=i;z=o;A=g}else{g=j;j=p;do{g=g+-4|0;p=f[g>>2]|0;f[g>>2]=0;f[j+-4>>2]=p;j=(f[m>>2]|0)+-4|0;f[m>>2]=j}while((g|0)!=(n|0));s=j;t=q;v=l;w=f[a>>2]|0;x=f[l>>2]|0;y=f[h>>2]|0;z=f[q>>2]|0;A=f[e>>2]|0}f[a>>2]=s;f[m>>2]=w;f[h>>2]=x;f[v>>2]=y;f[e>>2]=z;f[t>>2]=A;f[d>>2]=w;Se(d);u=c;return}function hd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=f[a+8>>2]|0;e=a+112|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0)if(h>>>0>>0?(k=n+(h<<2)|0,(k|0)!=(l|0)):0){f[j>>2]=l+(~((l+-4-k|0)>>>2)<<2);o=g;p=h}else{o=g;p=h}else{Ae(i,h-m|0,2384);m=f[e>>2]|0;o=m;p=f[m+80>>2]|0}m=(f[o+100>>2]|0)-(f[o+96>>2]|0)|0;e=(m|0)/12|0;if(!m){q=1;return q|0}m=a+116|0;a=c+68|0;c=f[o+96>>2]|0;o=0;while(1){h=o*3|0;if((h|0)==-1)r=-1;else r=f[(f[d>>2]|0)+(h<<2)>>2]|0;i=f[(f[m>>2]|0)+12>>2]|0;g=f[i+(r<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}k=f[a>>2]|0;f[k+(f[c+(o*12|0)>>2]<<2)>>2]=g;g=h+1|0;if((g|0)==-1)t=-1;else t=f[(f[d>>2]|0)+(g<<2)>>2]|0;g=f[i+(t<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}f[k+(f[c+(o*12|0)+4>>2]<<2)>>2]=g;g=h+2|0;if((g|0)==-1)u=-1;else u=f[(f[d>>2]|0)+(g<<2)>>2]|0;g=f[i+(u<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}f[k+(f[c+(o*12|0)+8>>2]<<2)>>2]=g;o=o+1|0;if(o>>>0>=e>>>0){q=1;s=12;break}}if((s|0)==12)return q|0;return 0}function id(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+32|0;d=c+24|0;e=c+16|0;g=c+8|0;h=c;f[a>>2]=2372;f[a+4>>2]=f[b+4>>2];i=a+8|0;j=b+8|0;f[i>>2]=0;k=a+12|0;f[k>>2]=0;l=a+16|0;f[l>>2]=0;m=b+12|0;n=f[m>>2]|0;do if(n|0)if((n|0)<0)um(i);else{o=((n+-1|0)>>>5)+1|0;p=bj(o<<2)|0;f[i>>2]=p;f[k>>2]=0;f[l>>2]=o;o=f[j>>2]|0;f[g>>2]=o;f[g+4>>2]=0;p=f[m>>2]|0;f[h>>2]=o+(p>>>5<<2);f[h+4>>2]=p&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];od(i,e,d);break}while(0);i=a+20|0;f[i>>2]=0;m=a+24|0;f[m>>2]=0;j=a+28|0;f[j>>2]=0;a=b+24|0;l=f[a>>2]|0;if(!l){u=c;return}if((l|0)<0)um(i);k=((l+-1|0)>>>5)+1|0;l=bj(k<<2)|0;f[i>>2]=l;f[m>>2]=0;f[j>>2]=k;k=f[b+20>>2]|0;f[g>>2]=k;f[g+4>>2]=0;b=f[a>>2]|0;f[h>>2]=k+(b>>>5<<2);f[h+4>>2]=b&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];od(i,e,d);u=c;return}function jd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+32|0;d=c+24|0;e=c+16|0;g=c+8|0;h=c;f[a>>2]=2420;f[a+4>>2]=f[b+4>>2];i=a+8|0;j=b+8|0;f[i>>2]=0;k=a+12|0;f[k>>2]=0;l=a+16|0;f[l>>2]=0;m=b+12|0;n=f[m>>2]|0;do if(n|0)if((n|0)<0)um(i);else{o=((n+-1|0)>>>5)+1|0;p=bj(o<<2)|0;f[i>>2]=p;f[k>>2]=0;f[l>>2]=o;o=f[j>>2]|0;f[g>>2]=o;f[g+4>>2]=0;p=f[m>>2]|0;f[h>>2]=o+(p>>>5<<2);f[h+4>>2]=p&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];od(i,e,d);break}while(0);i=a+20|0;f[i>>2]=0;m=a+24|0;f[m>>2]=0;j=a+28|0;f[j>>2]=0;a=b+24|0;l=f[a>>2]|0;if(!l){u=c;return}if((l|0)<0)um(i);k=((l+-1|0)>>>5)+1|0;l=bj(k<<2)|0;f[i>>2]=l;f[m>>2]=0;f[j>>2]=k;k=f[b+20>>2]|0;f[g>>2]=k;f[g+4>>2]=0;b=f[a>>2]|0;f[h>>2]=k+(b>>>5<<2);f[h+4>>2]=b&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];od(i,e,d);u=c;return}function kd(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=b[(f[a+8>>2]|0)+24>>0]|0;d=an(c>>>0>1073741823?-1:c<<2)|0;e=a+28|0;g=f[e>>2]|0;f[e>>2]=d;if(g|0)bn(g);g=a+4|0;d=f[(f[g>>2]|0)+32>>2]|0;i=c<<2;c=d+8|0;j=f[c>>2]|0;k=f[c+4>>2]|0;c=d+16|0;l=c;m=f[l>>2]|0;n=Rj(m|0,f[l+4>>2]|0,i|0,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&j>>>0>>0){o=0;return o|0}ge(f[e>>2]|0,(f[d>>2]|0)+m|0,i|0)|0;m=c;d=Rj(f[m>>2]|0,f[m+4>>2]|0,i|0,0)|0;i=c;f[i>>2]=d;f[i+4>>2]=I;i=(f[g>>2]|0)+32|0;g=f[i>>2]|0;d=g+8|0;c=f[d>>2]|0;m=f[d+4>>2]|0;d=g+16|0;e=d;n=f[e>>2]|0;j=Rj(n|0,f[e+4>>2]|0,4,0)|0;e=I;if((m|0)<(e|0)|(m|0)==(e|0)&c>>>0>>0){o=0;return o|0}j=a+32|0;c=(f[g>>2]|0)+n|0;n=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;b[j>>0]=n;b[j+1>>0]=n>>8;b[j+2>>0]=n>>16;b[j+3>>0]=n>>24;n=d;j=Rj(f[n>>2]|0,f[n+4>>2]|0,4,0)|0;n=d;f[n>>2]=j;f[n+4>>2]=I;n=f[i>>2]|0;i=n+8|0;j=f[i+4>>2]|0;d=n+16|0;c=d;g=f[c>>2]|0;e=f[c+4>>2]|0;if(!((j|0)>(e|0)|((j|0)==(e|0)?(f[i>>2]|0)>>>0>g>>>0:0))){o=0;return o|0}i=b[(f[n>>2]|0)+g>>0]|0;n=Rj(g|0,e|0,1,0)|0;e=d;f[e>>2]=n;f[e+4>>2]=I;if((i&255)>31){o=0;return o|0}f[a+24>>2]=i&255;o=1;return o|0}function ld(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(((d-g|0)/12|0)>>>0>=b>>>0){Vf(g|0,0,b*12|0)|0;f[e>>2]=h+(b*12|0);return}i=f[a>>2]|0;j=(g-i|0)/12|0;g=j+b|0;k=i;if(g>>>0>357913941)um(a);l=(d-i|0)/12|0;d=l<<1;m=l>>>0<178956970?(d>>>0>>0?g:d):357913941;do if(m)if(m>>>0>357913941){d=ra(8)|0;Yk(d,9789);f[d>>2]=3704;va(d|0,856,80)}else{n=bj(m*12|0)|0;break}else n=0;while(0);d=n+(j*12|0)|0;j=d;g=n+(m*12|0)|0;Vf(d|0,0,b*12|0)|0;m=d+(b*12|0)|0;if((h|0)==(k|0)){o=j;p=i;q=h}else{i=h;h=j;j=d;do{d=j+-12|0;b=i;i=i+-12|0;f[d>>2]=0;n=j+-8|0;f[n>>2]=0;f[j+-4>>2]=0;f[d>>2]=f[i>>2];d=b+-8|0;f[n>>2]=f[d>>2];n=b+-4|0;f[j+-4>>2]=f[n>>2];f[n>>2]=0;f[d>>2]=0;f[i>>2]=0;j=h+-12|0;h=j}while((i|0)!=(k|0));o=h;p=f[a>>2]|0;q=f[e>>2]|0}f[a>>2]=o;f[e>>2]=m;f[c>>2]=g;g=p;if((q|0)!=(g|0)){c=q;do{q=c;c=c+-12|0;m=f[c>>2]|0;if(m|0){e=q+-8|0;q=f[e>>2]|0;if((q|0)!=(m|0))f[e>>2]=q+(~((q+-4-m|0)>>>2)<<2);dn(m)}}while((c|0)!=(g|0))}if(!p)return;dn(p);return}function md(a,c,d,e){a=a|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,o=0;g=u;u=u+80|0;h=g;i=g+60|0;j=g+40|0;k=h;l=d;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));Hb(a,h,i);if(f[a>>2]|0){u=g;return}h=a+4|0;n=h+11|0;if((b[n>>0]|0)<0)dn(f[h>>2]|0);if((b[i+7>>0]|0)!=1){f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;o=bj(32)|0;f[j>>2]=o;f[j+8>>2]=-2147483616;f[j+4>>2]=20;k=o;l=8387;m=k+20|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[o+20>>0]=0;f[a>>2]=-1;Rf(h,j);if((b[j+11>>0]|0)<0)dn(f[j>>2]|0);u=g;return}Me(j,b[i+8>>0]|0);i=f[j>>2]|0;if(!i){o=j+16|0;l=f[o>>2]|0;f[o>>2]=0;mi(a,l,c,d,e);if(!(f[a>>2]|0)){if((b[n>>0]|0)<0)dn(f[h>>2]|0);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}if(l|0)Sa[f[(f[l>>2]|0)+4>>2]&127](l)}else{f[a>>2]=i;Rf(h,j+4|0)}h=j+16|0;i=f[h>>2]|0;f[h>>2]=0;if(i|0)Sa[f[(f[i>>2]|0)+4>>2]&127](i);i=j+4|0;if((b[i+11>>0]|0)<0)dn(f[i>>2]|0);u=g;return}function nd(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;Eg(f[a+4>>2]|0,(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2);g=a+100|0;h=f[e>>2]|0;i=(f[h+28>>2]|0)-(f[h+24>>2]|0)>>2;f[c>>2]=0;h=a+104|0;j=f[h>>2]|0;k=f[g>>2]|0;l=j-k>>2;m=k;k=j;if(i>>>0<=l>>>0){if(i>>>0>>0?(j=m+(i<<2)|0,(j|0)!=(k|0)):0)f[h>>2]=k+(~((k+-4-j|0)>>>2)<<2)}else Ae(g,i-l|0,c);l=a+120|0;a=f[l>>2]|0;if(!a){i=f[e>>2]|0;g=(f[i+4>>2]|0)-(f[i>>2]|0)>>2;i=(g>>>0)/3|0;if(g>>>0<=2){u=b;return 1}g=0;do{f[d>>2]=g*3;f[c>>2]=f[d>>2];lb(e,c);g=g+1|0}while((g|0)<(i|0));u=b;return 1}else{i=f[a>>2]|0;if((f[a+4>>2]|0)==(i|0)){u=b;return 1}a=0;g=i;do{f[d>>2]=f[g+(a<<2)>>2];f[c>>2]=f[d>>2];lb(e,c);a=a+1|0;i=f[l>>2]|0;g=f[i>>2]|0}while(a>>>0<(f[i+4>>2]|0)-g>>2>>>0);u=b;return 1}return 0}function od(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,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;d=u;u=u+48|0;e=d+40|0;g=d+32|0;h=d+8|0;i=d;j=d+24|0;k=d+16|0;l=a+4|0;m=f[l>>2]|0;n=b;b=f[n>>2]|0;o=f[n+4>>2]|0;n=c;c=f[n>>2]|0;p=f[n+4>>2]|0;n=c-b<<3;f[l>>2]=m-o+p+n;l=(f[a>>2]|0)+(m>>>5<<2)|0;a=m&31;m=l;if((a|0)!=(o|0)){q=h;f[q>>2]=b;f[q+4>>2]=o;q=i;f[q>>2]=c;f[q+4>>2]=p;f[j>>2]=m;f[j+4>>2]=a;f[g>>2]=f[h>>2];f[g+4>>2]=f[h+4>>2];f[e>>2]=f[i>>2];f[e+4>>2]=f[i+4>>2];Cc(k,g,e,j);u=d;return}j=p-o+n|0;n=b;if((j|0)>0){if(!o){r=j;s=0;t=l;v=b;w=n}else{b=32-o|0;p=(j|0)<(b|0)?j:b;e=-1>>>(b-p|0)&-1<>2]=f[l>>2]&~e|f[n>>2]&e;e=p+o|0;b=n+4|0;r=j-p|0;s=e&31;t=l+(e>>>5<<2)|0;v=b;w=b}b=(r|0)/32|0;qi(t|0,v|0,b<<2|0)|0;v=r-(b<<5)|0;r=t+(b<<2)|0;t=r;if((v|0)>0){e=-1>>>(32-v|0);f[r>>2]=f[r>>2]&~e|f[w+(b<<2)>>2]&e;x=v;y=t}else{x=s;y=t}}else{x=o;y=m}f[k>>2]=y;f[k+4>>2]=x;u=d;return}function pd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=b;e=c-d>>2;g=a+8|0;h=f[g>>2]|0;i=f[a>>2]|0;j=i;if(e>>>0<=h-i>>2>>>0){k=a+4|0;l=(f[k>>2]|0)-i>>2;m=e>>>0>l>>>0;n=b+(l<<2)|0;l=m?n:c;o=l;p=o-d|0;q=p>>2;if(q|0)qi(i|0,b|0,p|0)|0;p=j+(q<<2)|0;if(!m){m=f[k>>2]|0;if((m|0)==(p|0))return;f[k>>2]=m+(~((m+-4-p|0)>>>2)<<2);return}if((l|0)==(c|0))return;l=f[k>>2]|0;p=((c+-4-o|0)>>>2)+1|0;o=n;n=l;while(1){f[n>>2]=f[o>>2];o=o+4|0;if((o|0)==(c|0))break;else n=n+4|0}f[k>>2]=l+(p<<2);return}p=i;if(!i)r=h;else{h=a+4|0;l=f[h>>2]|0;if((l|0)!=(j|0))f[h>>2]=l+(~((l+-4-i|0)>>>2)<<2);dn(p);f[g>>2]=0;f[h>>2]=0;f[a>>2]=0;r=0}if(e>>>0>1073741823)um(a);h=r>>1;p=r>>2>>>0<536870911?(h>>>0>>0?e:h):1073741823;if(p>>>0>1073741823)um(a);h=bj(p<<2)|0;e=a+4|0;f[e>>2]=h;f[a>>2]=h;f[g>>2]=h+(p<<2);if((b|0)==(c|0))return;p=((c+-4-d|0)>>>2)+1|0;d=b;b=h;while(1){f[b>>2]=f[d>>2];d=d+4|0;if((d|0)==(c|0))break;else b=b+4|0}f[e>>2]=h+(p<<2);return}function qd(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=b;g=c-e|0;h=g>>1;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0<=j-k>>1>>>0){m=a+4|0;n=(f[m>>2]|0)-k>>1;o=h>>>0>n>>>0;p=b+(n<<1)|0;n=o?p:c;q=n;r=q-e|0;s=r>>1;if(s|0)qi(k|0,b|0,r|0)|0;r=l+(s<<1)|0;if(!o){o=f[m>>2]|0;if((o|0)==(r|0))return;f[m>>2]=o+(~((o+-2-r|0)>>>1)<<1);return}if((n|0)==(c|0))return;n=f[m>>2]|0;r=c+-2-q|0;q=p;p=n;while(1){d[p>>1]=d[q>>1]|0;q=q+2|0;if((q|0)==(c|0))break;else p=p+2|0}f[m>>2]=n+((r>>>1)+1<<1);return}r=k;if(!k)t=j;else{j=a+4|0;n=f[j>>2]|0;if((n|0)!=(l|0))f[j>>2]=n+(~((n+-2-k|0)>>>1)<<1);dn(r);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;t=0}if((g|0)<0)um(a);g=t>>1>>>0<1073741823?(t>>>0>>0?h:t):2147483647;if((g|0)<0)um(a);t=bj(g<<1)|0;h=a+4|0;f[h>>2]=t;f[a>>2]=t;f[i>>2]=t+(g<<1);if((b|0)==(c|0))return;g=c+-2-e|0;e=b;b=t;while(1){d[b>>1]=d[e>>1]|0;e=e+2|0;if((e|0)==(c|0))break;else b=b+2|0}f[h>>2]=t+((g>>>1)+1<<1);return}function rd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=b;e=c-d>>2;g=a+8|0;h=f[g>>2]|0;i=f[a>>2]|0;j=i;if(e>>>0<=h-i>>2>>>0){k=a+4|0;l=(f[k>>2]|0)-i>>2;m=e>>>0>l>>>0;n=b+(l<<2)|0;l=m?n:c;o=l;p=o-d|0;q=p>>2;if(q|0)qi(i|0,b|0,p|0)|0;p=j+(q<<2)|0;if(!m){m=f[k>>2]|0;if((m|0)==(p|0))return;f[k>>2]=m+(~((m+-4-p|0)>>>2)<<2);return}if((l|0)==(c|0))return;l=f[k>>2]|0;p=c+-4-o|0;o=n;n=l;while(1){f[n>>2]=f[o>>2];o=o+4|0;if((o|0)==(c|0))break;else n=n+4|0}f[k>>2]=l+((p>>>2)+1<<2);return}p=i;if(!i)r=h;else{h=a+4|0;l=f[h>>2]|0;if((l|0)!=(j|0))f[h>>2]=l+(~((l+-4-i|0)>>>2)<<2);dn(p);f[g>>2]=0;f[h>>2]=0;f[a>>2]=0;r=0}if(e>>>0>1073741823)um(a);h=r>>1;p=r>>2>>>0<536870911?(h>>>0>>0?e:h):1073741823;if(p>>>0>1073741823)um(a);h=bj(p<<2)|0;e=a+4|0;f[e>>2]=h;f[a>>2]=h;f[g>>2]=h+(p<<2);if((b|0)==(c|0))return;p=c+-4-d|0;d=b;b=h;while(1){f[b>>2]=f[d>>2];d=d+4|0;if((d|0)==(c|0))break;else b=b+4|0}f[e>>2]=h+((p>>>2)+1<<2);return}function sd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=a+8|0;e=f[d>>2]|0;g=f[a>>2]|0;h=g;do if(e-g>>2>>>0>=b>>>0){i=a+4|0;j=f[i>>2]|0;k=j-g>>2;l=k>>>0>>0;m=l?k:b;n=j;if(m|0){j=m;m=h;while(1){f[m>>2]=f[c>>2];j=j+-1|0;if(!j)break;else m=m+4|0}}if(!l){m=h+(b<<2)|0;if((m|0)==(n|0))return;else{o=i;p=n+(~((n+-4-m|0)>>>2)<<2)|0;break}}else{m=b-k|0;j=m;q=n;while(1){f[q>>2]=f[c>>2];j=j+-1|0;if(!j)break;else q=q+4|0}o=i;p=n+(m<<2)|0;break}}else{q=g;if(!g)r=e;else{j=a+4|0;k=f[j>>2]|0;if((k|0)!=(h|0))f[j>>2]=k+(~((k+-4-g|0)>>>2)<<2);dn(q);f[d>>2]=0;f[j>>2]=0;f[a>>2]=0;r=0}if(b>>>0>1073741823)um(a);j=r>>1;q=r>>2>>>0<536870911?(j>>>0>>0?b:j):1073741823;if(q>>>0>1073741823)um(a);j=bj(q<<2)|0;k=a+4|0;f[k>>2]=j;f[a>>2]=j;f[d>>2]=j+(q<<2);q=b;l=j;while(1){f[l>>2]=f[c>>2];q=q+-1|0;if(!q)break;else l=l+4|0}o=k;p=j+(b<<2)|0}while(0);f[o>>2]=p;return}function td(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=u;u=u+16|0;e=d;g=c+8|0;i=g;j=f[i+4>>2]|0;k=c+16|0;l=k;m=f[l>>2]|0;n=f[l+4>>2]|0;if(!((j|0)>(n|0)|((j|0)==(n|0)?(f[i>>2]|0)>>>0>m>>>0:0))){o=0;u=d;return o|0}b[a+12>>0]=b[(f[c>>2]|0)+m>>0]|0;m=k;i=Rj(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=k;f[m>>2]=i;f[m+4>>2]=I;a:do if((dg(e,c)|0?(m=f[e>>2]|0,i=g,n=k,j=f[n>>2]|0,l=f[n+4>>2]|0,n=Tj(f[i>>2]|0,f[i+4>>2]|0,j|0,l|0)|0,i=I,!((i|0)<0|(i|0)==0&n>>>0>>0)):0)?(n=(f[c>>2]|0)+j|0,(m|0)>=1):0){f[a>>2]=n;i=m+-1|0;p=n+i|0;switch((h[p>>0]|0)>>>6&3){case 0:{f[a+4>>2]=i;q=b[p>>0]&63;break}case 1:{if((m|0)<2){r=0;break a}f[a+4>>2]=m+-2;p=n+m+-2|0;q=(h[p+1>>0]|0)<<8&16128|(h[p>>0]|0);break}case 2:{if((m|0)<3){r=0;break a}f[a+4>>2]=m+-3;p=n+m+-3|0;q=(h[p+1>>0]|0)<<8|(h[p>>0]|0)|(h[p+2>>0]|0)<<16&4128768;break}default:{r=0;break a}}p=q+4096|0;f[a+8>>2]=p;if(p>>>0<1048576){p=Rj(j|0,l|0,m|0,0)|0;m=k;f[m>>2]=p;f[m+4>>2]=I;r=1}else r=0}else r=0;while(0);o=r;u=d;return o|0}function ud(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=u;u=u+32|0;i=h+16|0;j=h;k=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(Na[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1){l=Na[f[(f[b>>2]|0)+36>>2]&127](b)|0;m=Oa[f[(f[b>>2]|0)+44>>2]&127](b,d)|0;if((l|0)==0|(m|0)==0){f[a>>2]=0;u=h;return}n=Oa[f[(f[b>>2]|0)+40>>2]&127](b,d)|0;if(!n){f[j>>2]=f[b+44>>2];f[j+4>>2]=l;f[j+12>>2]=m;f[j+8>>2]=m+12;ic(a,i,c,k,e,j,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}else{f[j>>2]=f[b+44>>2];f[j+4>>2]=n;f[j+12>>2]=m;f[j+8>>2]=m+12;hc(a,i,c,k,e,j,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}}while(0);f[a>>2]=0;u=h;return}function vd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;c=u;u=u+16|0;d=c;e=a+76|0;g=f[e>>2]|0;h=a+80|0;i=f[h>>2]|0;if((i|0)!=(g|0))f[h>>2]=i+(~((i+-4-g|0)>>>2)<<2);f[e>>2]=0;f[h>>2]=0;f[a+84>>2]=0;if(g|0)dn(g);g=a+64|0;h=f[g>>2]|0;e=a+68|0;if((f[e>>2]|0)!=(h|0))f[e>>2]=h;f[g>>2]=0;f[e>>2]=0;f[a+72>>2]=0;if(h|0)dn(h);h=b+4|0;e=f[h>>2]|0;g=f[b>>2]|0;i=((e-g|0)/12|0)*3|0;j=a+4|0;k=f[j>>2]|0;l=f[a>>2]|0;m=k-l>>2;n=l;l=k;k=g;if(i>>>0<=m>>>0)if(i>>>0>>0?(o=n+(i<<2)|0,(o|0)!=(l|0)):0){f[j>>2]=l+(~((l+-4-o|0)>>>2)<<2);p=e;q=g;r=k}else{p=e;q=g;r=k}else{ff(a,i-m|0);m=f[b>>2]|0;p=f[h>>2]|0;q=m;r=m}if((p|0)!=(q|0)){q=f[a>>2]|0;m=(p-r|0)/12|0;p=0;do{h=p*3|0;f[q+(h<<2)>>2]=f[r+(p*12|0)>>2];f[q+(h+1<<2)>>2]=f[r+(p*12|0)+4>>2];f[q+(h+2<<2)>>2]=f[r+(p*12|0)+8>>2];p=p+1|0}while(p>>>0>>0)}f[d>>2]=-1;if(!(zb(a,d)|0)){s=0;u=c;return s|0}ab(a,f[d>>2]|0)|0;s=1;u=c;return s|0}function wd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f[a+4>>2]=f[b+4>>2];c=a+8|0;d=b+8|0;if((a|0)==(b|0))return a|0;e=b+12|0;g=f[e>>2]|0;if(!g)h=0;else{i=a+16|0;do if(g>>>0>f[i>>2]<<5>>>0){j=f[c>>2]|0;if(!j)k=g;else{dn(j);f[c>>2]=0;f[i>>2]=0;f[a+12>>2]=0;k=f[e>>2]|0}if((k|0)<0)um(c);else{j=((k+-1|0)>>>5)+1|0;l=bj(j<<2)|0;f[c>>2]=l;f[a+12>>2]=0;f[i>>2]=j;m=f[e>>2]|0;n=l;break}}else{m=g;n=f[c>>2]|0}while(0);qi(n|0,f[d>>2]|0,((m+-1|0)>>>5<<2)+4|0)|0;h=f[e>>2]|0}f[a+12>>2]=h;h=a+20|0;e=b+20|0;m=b+24|0;b=f[m>>2]|0;if(!b)o=0;else{d=a+28|0;do if(b>>>0>f[d>>2]<<5>>>0){n=f[h>>2]|0;if(!n)p=b;else{dn(n);f[h>>2]=0;f[d>>2]=0;f[a+24>>2]=0;p=f[m>>2]|0}if((p|0)<0)um(h);else{n=((p+-1|0)>>>5)+1|0;c=bj(n<<2)|0;f[h>>2]=c;f[a+24>>2]=0;f[d>>2]=n;q=f[m>>2]|0;r=c;break}}else{q=b;r=f[h>>2]|0}while(0);qi(r|0,f[e>>2]|0,((q+-1|0)>>>5<<2)+4|0)|0;o=f[m>>2]|0}f[a+24>>2]=o;return a|0}function xd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f[c>>2]=1;d=a+4|0;e=c+8|0;g=c+12|0;c=f[e>>2]|0;i=(f[g>>2]|0)-c|0;if(i>>>0<4294967292){Xg(e,i+4|0,0);j=f[e>>2]|0}else j=c;c=j+i|0;i=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[c>>0]=i;b[c+1>>0]=i>>8;b[c+2>>0]=i>>16;b[c+3>>0]=i>>24;i=a+8|0;c=a+12|0;d=f[i>>2]|0;if((f[c>>2]|0)!=(d|0)){j=0;k=d;do{d=k+(j<<2)|0;l=f[e>>2]|0;m=(f[g>>2]|0)-l|0;if(m>>>0<4294967292){Xg(e,m+4|0,0);n=f[e>>2]|0}else n=l;l=n+m|0;m=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[l>>0]=m;b[l+1>>0]=m>>8;b[l+2>>0]=m>>16;b[l+3>>0]=m>>24;j=j+1|0;k=f[i>>2]|0}while(j>>>0<(f[c>>2]|0)-k>>2>>>0)}k=a+20|0;a=f[e>>2]|0;c=(f[g>>2]|0)-a|0;if(c>>>0<4294967292){Xg(e,c+4|0,0);o=f[e>>2]|0;p=o+c|0;q=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;b[p>>0]=q;b[p+1>>0]=q>>8;b[p+2>>0]=q>>16;b[p+3>>0]=q>>24;return}else{o=a;p=o+c|0;q=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;b[p>>0]=q;b[p+1>>0]=q>>8;b[p+2>>0]=q>>16;b[p+3>>0]=q>>24;return}}function yd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=La,v=La,w=0,x=0,y=0,z=La,A=La,B=La;d=u;u=u+16|0;e=d;g=f[a+24>>2]|0;h=a+8|0;i=b[(f[h>>2]|0)+24>>0]|0;j=i<<24>>24;k=j<<2;l=an(j>>>0>1073741823?-1:j<<2)|0;yl(e);if(!(Xi(e,$(n[a+32>>2]),(1<>2]|0;o=(f[f[g>>2]>>2]|0)+(f[g+48>>2]|0)|0;if(!c){m=1;bn(l);u=d;return m|0}g=e+4|0;p=a+28|0;if(i<<24>>24>0){q=0;r=0;s=0}else{i=0;a=0;while(1){ge((f[f[(f[h>>2]|0)+64>>2]>>2]|0)+a|0,l|0,k|0)|0;i=i+1|0;if((i|0)==(c|0)){m=1;break}else a=a+k|0}bn(l);u=d;return m|0}while(1){a=f[p>>2]|0;t=$(n[g>>2]);v=$(n[e>>2]);i=0;w=r;while(1){x=f[o+(w<<2)>>2]|0;y=(x|0)<0;z=$(t*$((y?0-x|0:x)|0));A=$(-z);B=$(v*(y?A:z));z=$($(n[a+(i<<2)>>2])+B);n[l+(i<<2)>>2]=z;i=i+1|0;if((i|0)==(j|0))break;else w=w+1|0}ge((f[f[(f[h>>2]|0)+64>>2]>>2]|0)+s|0,l|0,k|0)|0;q=q+1|0;if((q|0)==(c|0)){m=1;break}else{r=r+j|0;s=s+k|0}}bn(l);u=d;return m|0}function zd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=c;e=b;g=d-e|0;h=g>>2;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0>j-k>>2>>>0){m=k;if(!k)n=j;else{j=a+4|0;o=f[j>>2]|0;if((o|0)!=(l|0))f[j>>2]=o+(~((o+-4-k|0)>>>2)<<2);dn(m);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;n=0}if(h>>>0>1073741823)um(a);j=n>>1;m=n>>2>>>0<536870911?(j>>>0>>0?h:j):1073741823;if(m>>>0>1073741823)um(a);j=bj(m<<2)|0;n=a+4|0;f[n>>2]=j;f[a>>2]=j;f[i>>2]=j+(m<<2);if((g|0)<=0)return;ge(j|0,b|0,g|0)|0;f[n>>2]=j+(g>>>2<<2);return}g=a+4|0;a=f[g>>2]|0;j=a-k>>2;k=h>>>0>j>>>0;h=k?b+(j<<2)|0:c;c=a;j=a;if((h|0)==(b|0))p=l;else{a=h+-4-e|0;e=b;b=l;while(1){f[b>>2]=f[e>>2];e=e+4|0;if((e|0)==(h|0))break;else b=b+4|0}p=l+((a>>>2)+1<<2)|0}if(k){k=d-h|0;if((k|0)<=0)return;ge(j|0,h|0,k|0)|0;f[g>>2]=(f[g>>2]|0)+(k>>>2<<2);return}else{if((p|0)==(c|0))return;f[g>>2]=c+(~((c+-4-p|0)>>>2)<<2);return}}function Ad(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=f[a+8>>2]|0;e=a+76|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0)if(h>>>0>>0?(k=n+(h<<2)|0,(k|0)!=(l|0)):0){f[j>>2]=l+(~((l+-4-k|0)>>>2)<<2);o=g;p=h}else{o=g;p=h}else{Ae(i,h-m|0,2384);m=f[e>>2]|0;o=m;p=f[m+80>>2]|0}m=(f[o+100>>2]|0)-(f[o+96>>2]|0)|0;e=(m|0)/12|0;if(!m){q=1;return q|0}m=c+68|0;c=f[o+96>>2]|0;o=f[d+28>>2]|0;d=f[(f[a+80>>2]|0)+12>>2]|0;a=0;while(1){h=a*3|0;i=f[d+(f[o+(h<<2)>>2]<<2)>>2]|0;if(i>>>0>=p>>>0){q=0;r=10;break}g=f[m>>2]|0;f[g+(f[c+(a*12|0)>>2]<<2)>>2]=i;i=f[d+(f[o+(h+1<<2)>>2]<<2)>>2]|0;if(i>>>0>=p>>>0){q=0;r=10;break}f[g+(f[c+(a*12|0)+4>>2]<<2)>>2]=i;i=f[d+(f[o+(h+2<<2)>>2]<<2)>>2]|0;if(i>>>0>=p>>>0){q=0;r=10;break}f[g+(f[c+(a*12|0)+8>>2]<<2)>>2]=i;a=a+1|0;if(a>>>0>=e>>>0){q=1;r=10;break}}if((r|0)==10)return q|0;return 0}function Bd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=u;u=u+16|0;e=d;if(!(Ff(e,c)|0)){g=0;u=d;return g|0}i=e;e=f[i>>2]|0;j=f[i+4>>2]|0;i=c+8|0;k=c+16|0;l=k;m=f[l>>2]|0;n=f[l+4>>2]|0;l=Tj(f[i>>2]|0,f[i+4>>2]|0,m|0,n|0)|0;i=I;if(j>>>0>i>>>0|(j|0)==(i|0)&e>>>0>l>>>0){g=0;u=d;return g|0}l=(f[c>>2]|0)+m|0;c=Rj(m|0,n|0,e|0,j|0)|0;j=k;f[j>>2]=c;f[j+4>>2]=I;if((e|0)<1){g=0;u=d;return g|0}f[a+40>>2]=l;j=e+-1|0;c=l+j|0;a:do switch((h[c>>0]|0)>>>6&3){case 0:{f[a+44>>2]=j;o=b[c>>0]&63;break}case 1:{if((e|0)<2){g=0;u=d;return g|0}else{f[a+44>>2]=e+-2;k=l+e+-2|0;o=(h[k+1>>0]|0)<<8&16128|(h[k>>0]|0);break a}break}case 2:{if((e|0)<3){g=0;u=d;return g|0}else{f[a+44>>2]=e+-3;k=l+e+-3|0;o=(h[k+1>>0]|0)<<8|(h[k>>0]|0)|(h[k+2>>0]|0)<<16&4128768;break a}break}case 3:{f[a+44>>2]=e+-4;k=l+e+-4|0;o=(h[k+2>>0]|0)<<16|(h[k+3>>0]|0)<<24&1056964608|(h[k+1>>0]|0)<<8|(h[k>>0]|0);break}default:{}}while(0);e=o+16384|0;f[a+48>>2]=e;g=e>>>0<4194304;u=d;return g|0}function Cd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+112|0;d=c+96|0;e=c+16|0;g=c+4|0;h=c;i=e+76|0;j=e;k=j+76|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[i>>2]=-1;f[g>>2]=0;i=g+4|0;f[i>>2]=0;f[g+8>>2]=0;f[h>>2]=g;f[d>>2]=f[h>>2];if(pc(e,a,d)|0){d=f[g>>2]|0;rd(b,d,d+((f[i>>2]|0)-d>>2<<2)|0);l=f[e+68>>2]|0}else l=0;d=f[g>>2]|0;if(d|0){g=f[i>>2]|0;if((g|0)!=(d|0))f[i>>2]=g+(~((g+-4-d|0)>>>2)<<2);dn(d)}d=f[e+56>>2]|0;if(d|0)dn(d);d=f[e+32>>2]|0;if(d|0){g=e+36|0;i=f[g>>2]|0;if((i|0)!=(d|0))f[g>>2]=i+(~((i+-4-d|0)>>>2)<<2);dn(d)}d=f[e+20>>2]|0;if(d|0){i=e+24|0;g=f[i>>2]|0;if((g|0)!=(d|0))f[i>>2]=g+(~((g+-4-d|0)>>>2)<<2);dn(d)}d=f[e+8>>2]|0;if(d|0){g=e+12|0;i=f[g>>2]|0;if((i|0)!=(d|0))f[g>>2]=i+(~((i+-4-d|0)>>>2)<<2);dn(d)}d=e+4|0;e=f[d>>2]|0;f[d>>2]=0;if(!e){u=c;return l|0}mf(e);dn(e);u=c;return l|0}function Dd(a,b,c,d){a=a|0;b=$(b);c=$(c);d=d|0;var e=La,f=La,g=La,h=La,i=La,j=La,k=0.0,l=La,m=La,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=La,u=La,v=0,w=0;e=$(b+c);f=$(b-c);if(!(f<=$(.5))|(!(f>=$(-.5))|(!(e>=$(.5))|!(e<=$(1.5))))){do if(!(e<=$(.5))){if(e>=$(1.5)){g=$($(1.5)-c);h=$($(1.5)-b);break}if(!(f<=$(-.5))){g=$(c+$(.5));h=$(b+$(-.5));break}else{g=$(c+$(-.5));h=$(b+$(.5));break}}else{g=$($(.5)-c);h=$($(.5)-b)}while(0);i=$(h+g);j=$(g-h);k=-1.0;l=g;m=h}else{i=e;j=f;k=1.0;l=b;m=c}c=$(+l*2.0+-1.0);l=$(+m*2.0+-1.0);o=+i*2.0;p=o+-1.0;q=3.0-o;o=+j*2.0;r=o+1.0;s=1.0-o;o=s>2]=$(0.0);t=$(0.0);u=$(0.0);v=d+4|0;n[v>>2]=u;w=d+8|0;n[w>>2]=t;return}else{m=$($(1.0)/$(L($(i))));i=$(m*j);n[d>>2]=i;t=$(m*l);u=$(m*c);v=d+4|0;n[v>>2]=u;w=d+8|0;n[w>>2]=t;return}}function Ed(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=c&255;g=(d|0)!=0;a:do if(g&(a&3|0)!=0){h=c&255;i=a;j=d;while(1){if((b[i>>0]|0)==h<<24>>24){k=i;l=j;m=6;break a}n=i+1|0;o=j+-1|0;p=(o|0)!=0;if(p&(n&3|0)!=0){i=n;j=o}else{q=n;r=o;s=p;m=5;break}}}else{q=a;r=d;s=g;m=5}while(0);if((m|0)==5)if(s){k=q;l=r;m=6}else{t=q;u=0}b:do if((m|0)==6){q=c&255;if((b[k>>0]|0)==q<<24>>24){t=k;u=l}else{r=X(e,16843009)|0;c:do if(l>>>0>3){s=k;g=l;while(1){d=f[s>>2]^r;if((d&-2139062144^-2139062144)&d+-16843009|0)break;d=s+4|0;a=g+-4|0;if(a>>>0>3){s=d;g=a}else{v=d;w=a;m=11;break c}}x=s;y=g}else{v=k;w=l;m=11}while(0);if((m|0)==11)if(!w){t=v;u=0;break}else{x=v;y=w}while(1){if((b[x>>0]|0)==q<<24>>24){t=x;u=y;break b}r=x+1|0;y=y+-1|0;if(!y){t=r;u=0;break}else x=r}}}while(0);return (u|0?t:0)|0}function Fd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,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;e=u;u=u+16|0;g=e;h=d+8|0;i=f[h>>2]|0;j=f[h+4>>2]|0;h=d+16|0;k=h;l=f[k>>2]|0;m=f[k+4>>2]|0;if((j|0)>(m|0)|(j|0)==(m|0)&i>>>0>l>>>0){k=b[(f[d>>2]|0)+l>>0]|0;n=Rj(l|0,m|0,1,0)|0;o=I;p=h;f[p>>2]=n;f[p+4>>2]=o;if(k<<24>>24!=-2){q=k;r=o;s=n;t=3}}else{q=0;r=m;s=l;t=3}if((t|0)==3){if((j|0)>(r|0)|(j|0)==(r|0)&i>>>0>s>>>0){i=b[(f[d>>2]|0)+s>>0]|0;j=Rj(s|0,r|0,1,0)|0;r=h;f[r>>2]=j;f[r+4>>2]=I;v=i}else v=0;Va[f[(f[a>>2]|0)+40>>2]&7](g,a,q<<24>>24,v<<24>>24);v=a+20|0;q=f[g>>2]|0;f[g>>2]=0;i=f[v>>2]|0;f[v>>2]=q;if(i){Sa[f[(f[i>>2]|0)+4>>2]&127](i);i=f[g>>2]|0;f[g>>2]=0;if(i|0)Sa[f[(f[i>>2]|0)+4>>2]&127](i)}else f[g>>2]=0}g=f[a+20>>2]|0;if(g|0?!(Oa[f[(f[a>>2]|0)+28>>2]&127](a,g)|0):0){w=0;u=e;return w|0}w=Pa[f[(f[a>>2]|0)+36>>2]&31](a,c,d)|0;u=e;return w|0}function Gd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=a+4|0;g=f[e>>2]|0;if(!g){f[c>>2]=e;h=e;return h|0}e=b[d+11>>0]|0;i=e<<24>>24<0;j=i?f[d+4>>2]|0:e&255;e=i?f[d>>2]|0:d;d=a+4|0;a=g;while(1){g=a+16|0;i=b[g+11>>0]|0;k=i<<24>>24<0;l=k?f[a+20>>2]|0:i&255;i=l>>>0>>0;m=i?l:j;if((m|0)!=0?(n=jh(e,k?f[g>>2]|0:g,m)|0,(n|0)!=0):0)if((n|0)<0)o=8;else o=10;else if(j>>>0>>0)o=8;else o=10;if((o|0)==8){o=0;n=f[a>>2]|0;if(!n){o=9;break}else{p=a;q=n}}else if((o|0)==10){o=0;n=j>>>0>>0?j:l;if((n|0)!=0?(l=jh(k?f[g>>2]|0:g,e,n)|0,(l|0)!=0):0){if((l|0)>=0){o=16;break}}else o=12;if((o|0)==12?(o=0,!i):0){o=16;break}r=a+4|0;i=f[r>>2]|0;if(!i){o=15;break}else{p=r;q=i}}d=p;a=q}if((o|0)==9){f[c>>2]=a;h=a;return h|0}else if((o|0)==15){f[c>>2]=a;h=r;return h|0}else if((o|0)==16){f[c>>2]=a;h=d;return h|0}return 0}function Hd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,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;d=u;u=u+32|0;e=d+24|0;g=d+16|0;h=d+8|0;i=d;j=a+4|0;k=f[j>>2]|0;l=f[b>>2]|0;m=f[b+4>>2]|0;b=f[c>>2]|0;n=f[c+4>>2]|0;c=b-l<<3;f[j>>2]=k-m+n+c;j=(f[a>>2]|0)+(k>>>5<<2)|0;a=k&31;k=j;if((m|0)!=(a|0)){f[e>>2]=l;f[e+4>>2]=m;f[g>>2]=b;f[g+4>>2]=n;f[h>>2]=k;f[h+4>>2]=a;Ec(i,e,g,h);u=d;return}h=n-m+c|0;c=l;if((h|0)>0){if(!m){o=h;p=j;q=0;r=l;s=c}else{l=32-m|0;n=(h|0)<(l|0)?h:l;g=-1>>>(l-n|0)&-1<>2]=f[j>>2]&~g|f[c>>2]&g;g=n+m|0;l=c+4|0;o=h-n|0;p=j+(g>>>5<<2)|0;q=g&31;r=l;s=l}l=(o|0)/32|0;qi(p|0,r|0,l<<2|0)|0;r=o-(l<<5)|0;o=p+(l<<2)|0;p=o;if((r|0)>0){g=-1>>>(32-r|0);f[o>>2]=f[o>>2]&~g|f[s+(l<<2)>>2]&g;t=r;v=p}else{t=q;v=p}}else{t=m;v=k}f[i>>2]=v;f[i+4>>2]=t;u=d;return}function Id(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=u;u=u+32|0;g=e+12|0;h=e;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;i=gg(c)|0;if(i>>>0>4294967279)um(g);if(i>>>0<11){b[g+11>>0]=i;if(!i)j=g;else{k=g;l=6}}else{m=i+16&-16;n=bj(m)|0;f[g>>2]=n;f[g+8>>2]=m|-2147483648;f[g+4>>2]=i;k=n;l=6}if((l|0)==6){ge(k|0,c|0,i|0)|0;j=k}b[j+i>>0]=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;i=gg(d)|0;if(i>>>0>4294967279)um(h);if(i>>>0<11){b[h+11>>0]=i;if(!i)o=h;else{p=h;l=12}}else{j=i+16&-16;k=bj(j)|0;f[h>>2]=k;f[h+8>>2]=j|-2147483648;f[h+4>>2]=i;p=k;l=12}if((l|0)==12){ge(p|0,d|0,i|0)|0;o=p}b[o+i>>0]=0;i=f[a+4>>2]|0;if((i|0)!=0?(o=Mc(i,g,h)|0,(o|0)!=0):0)q=ih(a,f[o+40>>2]|0)|0;else q=-1;if((b[h+11>>0]|0)<0)dn(f[h>>2]|0);if((b[g+11>>0]|0)>=0){u=e;return q|0}dn(f[g>>2]|0);u=e;return q|0}function Jd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=c;g=d-e|0;h=a+8|0;i=f[h>>2]|0;j=f[a>>2]|0;k=j;if(g>>>0>(i-j|0)>>>0){if(!j)l=i;else{i=a+4|0;if((f[i>>2]|0)!=(k|0))f[i>>2]=k;dn(k);f[h>>2]=0;f[i>>2]=0;f[a>>2]=0;l=0}if((g|0)<0)um(a);i=l<<1;m=l>>>0<1073741823?(i>>>0>>0?g:i):2147483647;if((m|0)<0)um(a);i=bj(m)|0;l=a+4|0;f[l>>2]=i;f[a>>2]=i;f[h>>2]=i+m;if((c|0)==(d|0))return;else{n=c;o=i}do{b[o>>0]=b[n>>0]|0;n=n+1|0;o=(f[l>>2]|0)+1|0;f[l>>2]=o}while((n|0)!=(d|0));return}else{n=a+4|0;a=(f[n>>2]|0)-j|0;j=g>>>0>a>>>0;g=c+a|0;a=j?g:d;o=a-e|0;if(o|0)qi(k|0,c|0,o|0)|0;c=k+o|0;if(!j){if((f[n>>2]|0)==(c|0))return;f[n>>2]=c;return}if((a|0)==(d|0))return;a=g;g=f[n>>2]|0;do{b[g>>0]=b[a>>0]|0;a=a+1|0;g=(f[n>>2]|0)+1|0;f[n>>2]=g}while((a|0)!=(d|0));return}}function Kd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(d-g>>2>>>0>=b>>>0){Vf(g|0,0,b<<2|0)|0;f[e>>2]=g+(b<<2);return}i=f[a>>2]|0;j=g-i>>2;g=j+b|0;k=i;if(g>>>0>1073741823)um(a);l=d-i|0;d=l>>1;m=l>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;do if(m)if(m>>>0>1073741823){d=ra(8)|0;Yk(d,9789);f[d>>2]=3704;va(d|0,856,80)}else{n=bj(m<<2)|0;break}else n=0;while(0);d=n+(j<<2)|0;Vf(d|0,0,b<<2|0)|0;b=d;j=n+(m<<2)|0;m=n+(g<<2)|0;if((h|0)==(k|0)){o=b;p=i;q=h}else{i=h;h=b;b=d;do{i=i+-4|0;d=f[i>>2]|0;f[i>>2]=0;f[b+-4>>2]=d;b=h+-4|0;h=b}while((i|0)!=(k|0));o=h;p=f[a>>2]|0;q=f[e>>2]|0}f[a>>2]=o;f[e>>2]=m;f[c>>2]=j;j=p;if((q|0)!=(j|0)){c=q;do{c=c+-4|0;q=f[c>>2]|0;f[c>>2]=0;if(q|0)Sa[f[(f[q>>2]|0)+4>>2]&127](q)}while((c|0)!=(j|0))}if(!p)return;dn(p);return}function Ld(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=a+4|0;e=f[a>>2]|0;g=((f[d>>2]|0)-e|0)/12|0;h=g+1|0;if(h>>>0>357913941)um(a);i=a+8|0;j=((f[i>>2]|0)-e|0)/12|0;e=j<<1;k=j>>>0<178956970?(e>>>0>>0?h:e):357913941;do if(k)if(k>>>0>357913941){e=ra(8)|0;Yk(e,9789);f[e>>2]=3704;va(e|0,856,80)}else{l=bj(k*12|0)|0;break}else l=0;while(0);e=l+(g*12|0)|0;g=e;h=l+(k*12|0)|0;Rf(e,c);c=e+12|0;k=f[a>>2]|0;l=f[d>>2]|0;if((l|0)==(k|0)){m=g;n=k;o=k}else{j=l;l=g;g=e;do{e=g+-12|0;j=j+-12|0;f[e>>2]=f[j>>2];f[e+4>>2]=f[j+4>>2];f[e+8>>2]=f[j+8>>2];f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;g=l+-12|0;l=g}while((j|0)!=(k|0));m=l;n=f[a>>2]|0;o=f[d>>2]|0}f[a>>2]=m;f[d>>2]=c;f[i>>2]=h;h=n;if((o|0)!=(h|0)){i=o;do{i=i+-12|0;if((b[i+11>>0]|0)<0)dn(f[i>>2]|0)}while((i|0)!=(h|0))}if(!n)return;dn(n);return}function Md(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=c;e=b;g=d-e|0;h=g>>2;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0<=j-k>>2>>>0){m=a+4|0;n=(f[m>>2]|0)-k>>2;o=h>>>0>n>>>0;p=o?b+(n<<2)|0:c;c=p;n=c-e|0;e=n>>2;if(e|0)qi(k|0,b|0,n|0)|0;n=l+(e<<2)|0;if(o){o=d-c|0;if((o|0)<=0)return;ge(f[m>>2]|0,p|0,o|0)|0;f[m>>2]=(f[m>>2]|0)+(o>>>2<<2);return}else{o=f[m>>2]|0;if((o|0)==(n|0))return;f[m>>2]=o+(~((o+-4-n|0)>>>2)<<2);return}}n=k;if(!k)q=j;else{j=a+4|0;o=f[j>>2]|0;if((o|0)!=(l|0))f[j>>2]=o+(~((o+-4-k|0)>>>2)<<2);dn(n);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;q=0}if(h>>>0>1073741823)um(a);j=q>>1;n=q>>2>>>0<536870911?(j>>>0>>0?h:j):1073741823;if(n>>>0>1073741823)um(a);j=bj(n<<2)|0;h=a+4|0;f[h>>2]=j;f[a>>2]=j;f[i>>2]=j+(n<<2);if((g|0)<=0)return;ge(j|0,b|0,g|0)|0;f[h>>2]=j+(g>>>2<<2);return}function Nd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+16|0;d=c;e=bj(64)|0;g=bj(12)|0;h=f[(f[a+4>>2]|0)+80>>2]|0;f[g+4>>2]=0;f[g>>2]=2592;f[g+8>>2]=h;f[d>>2]=g;Ah(e,d);g=e;if((b|0)>=0){h=a+8|0;i=a+12|0;a=f[i>>2]|0;j=f[h>>2]|0;k=a-j>>2;do if((k|0)<=(b|0)){l=b+1|0;m=a;if(l>>>0>k>>>0){Kd(h,l-k|0);break}if(l>>>0>>0?(n=j+(l<<2)|0,(n|0)!=(m|0)):0){l=m;do{m=l+-4|0;f[i>>2]=m;o=f[m>>2]|0;f[m>>2]=0;if(o|0)Sa[f[(f[o>>2]|0)+4>>2]&127](o);l=f[i>>2]|0}while((l|0)!=(n|0))}}while(0);i=(f[h>>2]|0)+(b<<2)|0;b=f[i>>2]|0;f[i>>2]=g;if(!b)p=1;else{Sa[f[(f[b>>2]|0)+4>>2]&127](b);p=1}}else{Sa[f[(f[e>>2]|0)+4>>2]&127](e);p=0}e=f[d>>2]|0;f[d>>2]=0;if(!e){u=c;return p|0}Sa[f[(f[e>>2]|0)+4>>2]&127](e);u=c;return p|0}function Od(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=f[b>>2]|0;do if((c|0)!=-1){b=f[(f[(f[a+4>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;d=c+1|0;e=((d>>>0)%3|0|0)==0?c+-2|0:d;if((e|0)==-1)g=-1;else g=f[(f[(f[a>>2]|0)+96>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;if((b|0)!=-1){e=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((e|0)==-1){h=-1;i=b;j=0}else{h=f[(f[(f[a>>2]|0)+96>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;i=b;j=0}}else{h=-1;i=-1;j=1}if((g|0)!=(h|0)){k=-1;return k|0}b=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((b|0)==-1)if(j){l=-1;m=-1;n=i;break}else o=-1;else{e=f[(f[(f[a>>2]|0)+96>>2]|0)+(((b|0)/3|0)*12|0)+(((b|0)%3|0)<<2)>>2]|0;if(j){l=-1;m=e;n=i;break}else o=e}e=i+1|0;b=((e>>>0)%3|0|0)==0?i+-2|0:e;if((b|0)==-1){l=-1;m=o;n=i}else{l=f[(f[(f[a>>2]|0)+96>>2]|0)+(((b|0)/3|0)*12|0)+(((b|0)%3|0)<<2)>>2]|0;m=o;n=i}}else{l=-1;m=-1;n=-1}while(0);k=(m|0)!=(l|0)?-1:n;return k|0}function Pd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;e=a+20|0;if(cc(e,c)|0){g=0;return g|0}a=Db(e,c)|0;c=f[d>>2]|0;f[d>>2]=0;d=f[a>>2]|0;f[a>>2]=c;if(!d){g=1;return g|0}c=f[d+28>>2]|0;if(c|0){a=c;do{c=a;a=f[a>>2]|0;Ye(c+8|0);dn(c)}while((a|0)!=0)}a=d+20|0;c=f[a>>2]|0;f[a>>2]=0;if(c|0)dn(c);c=f[d+8>>2]|0;if(c|0){a=c;do{c=a;a=f[a>>2]|0;e=c+8|0;h=f[c+20>>2]|0;if(h|0){i=c+24|0;if((f[i>>2]|0)!=(h|0))f[i>>2]=h;dn(h)}if((b[e+11>>0]|0)<0)dn(f[e>>2]|0);dn(c)}while((a|0)!=0)}a=f[d>>2]|0;f[d>>2]=0;if(a|0)dn(a);dn(d);g=1;return g|0}function Qd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d;f[e>>2]=b;g=a+8|0;if(((f[a+12>>2]|0)-(f[g>>2]|0)>>2|0)<=(b|0))ze(g,b+1|0);h=f[(f[c>>2]|0)+56>>2]|0;do if((h|0)<5){i=a+20+(h*12|0)+4|0;j=f[i>>2]|0;if((j|0)==(f[a+20+(h*12|0)+8>>2]|0)){xf(a+20+(h*12|0)|0,e);break}else{f[j>>2]=b;f[i>>2]=j+4;break}}while(0);b=f[c>>2]|0;h=f[e>>2]|0;f[b+60>>2]=h;e=(f[g>>2]|0)+(h<<2)|0;f[c>>2]=0;c=f[e>>2]|0;f[e>>2]=b;if(!c){u=d;return}b=c+88|0;e=f[b>>2]|0;f[b>>2]=0;if(e|0){b=f[e+8>>2]|0;if(b|0){h=e+12|0;if((f[h>>2]|0)!=(b|0))f[h>>2]=b;dn(b)}dn(e)}e=f[c+68>>2]|0;if(e|0){b=c+72|0;h=f[b>>2]|0;if((h|0)!=(e|0))f[b>>2]=h+(~((h+-4-e|0)>>>2)<<2);dn(e)}e=c+64|0;h=f[e>>2]|0;f[e>>2]=0;if(h|0){e=f[h>>2]|0;if(e|0){b=h+4|0;if((f[b>>2]|0)!=(e|0))f[b>>2]=e;dn(e)}dn(h)}dn(c);u=d;return}function Rd(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;Eg(f[a+4>>2]|0,(f[g+56>>2]|0)-(f[g+52>>2]|0)>>2);g=a+84|0;a=f[g>>2]|0;if(!a){h=f[(f[e>>2]|0)+64>>2]|0;i=(f[h+4>>2]|0)-(f[h>>2]|0)>>2;h=(i>>>0)/3|0;if(i>>>0<=2){u=b;return 1}i=0;do{f[d>>2]=i*3;f[c>>2]=f[d>>2];tb(e,c);i=i+1|0}while((i|0)<(h|0));u=b;return 1}else{h=f[a>>2]|0;if((f[a+4>>2]|0)==(h|0)){u=b;return 1}a=0;i=h;do{f[d>>2]=f[i+(a<<2)>>2];f[c>>2]=f[d>>2];tb(e,c);a=a+1|0;h=f[g>>2]|0;i=f[h>>2]|0}while(a>>>0<(f[h+4>>2]|0)-i>>2>>>0);u=b;return 1}return 0}function Sd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,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;d=u;u=u+48|0;e=d+16|0;g=d;h=d+32|0;i=a+28|0;j=f[i>>2]|0;f[h>>2]=j;k=a+20|0;l=(f[k>>2]|0)-j|0;f[h+4>>2]=l;f[h+8>>2]=b;f[h+12>>2]=c;b=l+c|0;l=a+60|0;f[g>>2]=f[l>>2];f[g+4>>2]=h;f[g+8>>2]=2;j=ik(Aa(146,g|0)|0)|0;a:do if((b|0)!=(j|0)){g=2;m=b;n=h;o=j;while(1){if((o|0)<0)break;m=m-o|0;p=f[n+4>>2]|0;q=o>>>0>p>>>0;r=q?n+8|0:n;s=g+(q<<31>>31)|0;t=o-(q?p:0)|0;f[r>>2]=(f[r>>2]|0)+t;p=r+4|0;f[p>>2]=(f[p>>2]|0)-t;f[e>>2]=f[l>>2];f[e+4>>2]=r;f[e+8>>2]=s;o=ik(Aa(146,e|0)|0)|0;if((m|0)==(o|0)){v=3;break a}else{g=s;n=r}}f[a+16>>2]=0;f[i>>2]=0;f[k>>2]=0;f[a>>2]=f[a>>2]|32;if((g|0)==2)w=0;else w=c-(f[n+4>>2]|0)|0}else v=3;while(0);if((v|0)==3){v=f[a+44>>2]|0;f[a+16>>2]=v+(f[a+48>>2]|0);a=v;f[i>>2]=a;f[k>>2]=a;w=c}u=d;return w|0}function Td(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=2696;b=f[a+68>>2]|0;if(b|0){c=a+72|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);dn(b)}b=f[a+56>>2]|0;if(b|0){d=a+60|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);dn(b)}b=f[a+44>>2]|0;if(b|0){c=a+48|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);dn(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);dn(b)}b=f[a+20>>2]|0;if(b|0){c=a+24|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);dn(b)}Qe(a+8|0);b=a+4|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;b=a+40|0;d=f[b>>2]|0;if(d|0){c=a+44|0;e=f[c>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[c>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0){Cf(i);dn(i)}h=f[c>>2]|0}while((h|0)!=(d|0));g=f[b>>2]|0}dn(g)}Cf(a);dn(a);return}function Ud(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a+12|0;d=f[a>>2]|0;e=a+8|0;g=f[e>>2]|0;h=(g|0)==-1;if(!(b[c>>0]|0)){do if(((!h?(i=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(i|0)!=-1):0)?(f[(f[d>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)==0:0)?(j=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(i<<2)>>2]|0,(j|0)!=-1):0)if(!((j>>>0)%3|0)){k=j+2|0;break}else{k=j+-1|0;break}else k=-1;while(0);f[e>>2]=k;return}k=g+1|0;if(((!h?(h=((k>>>0)%3|0|0)==0?g+-2|0:k,(h|0)!=-1):0)?(f[(f[d>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)|0)==0:0)?(k=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(h<<2)>>2]|0,h=k+1|0,(k|0)!=-1):0){g=((h>>>0)%3|0|0)==0?k+-2|0:h;f[e>>2]=g;if((g|0)!=-1){if((g|0)!=(f[a+4>>2]|0))return;f[e>>2]=-1;return}}else f[e>>2]=-1;g=f[a+4>>2]|0;do if((((g|0)!=-1?(a=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(a|0)!=-1):0)?(f[(f[d>>2]|0)+(a>>>5<<2)>>2]&1<<(a&31)|0)==0:0)?(h=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(a<<2)>>2]|0,(h|0)!=-1):0)if(!((h>>>0)%3|0)){l=h+2|0;break}else{l=h+-1|0;break}else l=-1;while(0);f[e>>2]=l;b[c>>0]=0;return}function Vd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=a+4|0;a=f[d>>2]|0;do if(a|0){e=b[c+11>>0]|0;g=e<<24>>24<0;h=g?f[c+4>>2]|0:e&255;e=g?f[c>>2]|0:c;g=d;i=a;a:while(1){j=i;while(1){k=j+16|0;l=b[k+11>>0]|0;m=l<<24>>24<0;n=m?f[j+20>>2]|0:l&255;l=h>>>0>>0?h:n;if((l|0)!=0?(o=jh(m?f[k>>2]|0:k,e,l)|0,(o|0)!=0):0){if((o|0)>=0)break}else p=6;if((p|0)==6?(p=0,n>>>0>=h>>>0):0)break;n=f[j+4>>2]|0;if(!n){q=g;break a}else j=n}i=f[j>>2]|0;if(!i){q=j;break}else g=j}if((q|0)!=(d|0)){g=q+16|0;i=b[g+11>>0]|0;n=i<<24>>24<0;o=n?f[q+20>>2]|0:i&255;i=o>>>0>>0?o:h;if(i|0?(l=jh(e,n?f[g>>2]|0:g,i)|0,l|0):0){if((l|0)<0)break;else r=q;return r|0}if(h>>>0>=o>>>0){r=q;return r|0}}}while(0);r=d;return r|0}function Wd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+8|0;f[c>>2]=f[b>>2];wd(a+12|0,b+4|0)|0;d=a+44|0;e=b+36|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];if((c|0)==(b|0)){f[a+96>>2]=f[b+88>>2];return}else{zd(a+60|0,f[b+52>>2]|0,f[b+56>>2]|0);zd(a+72|0,f[b+64>>2]|0,f[b+68>>2]|0);zd(a+84|0,f[b+76>>2]|0,f[b+80>>2]|0);f[a+96>>2]=f[b+88>>2];Md(a+100|0,f[b+92>>2]|0,f[b+96>>2]|0);return}}function Xd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=u;u=u+32|0;g=e+8|0;i=e;if((d|0)!=3){f[a>>2]=0;u=e;return}d=f[b+12>>2]|0;j=f[b+4>>2]|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;a:do if((c|0)==-2){k=0;l=8}else{b=f[(f[(f[j+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;do if((Na[f[(f[j>>2]|0)+8>>2]&127](j)|0)==1){Oc(i,j,c,d,g,((h[j+36>>0]|0)<<8|(h[j+37>>0]|0))&65535);m=f[i>>2]|0;if(!m){f[i>>2]=0;break}else{n=i;o=m;break a}}while(0);m=bj(24)|0;f[m+4>>2]=b;p=m+8|0;f[p>>2]=f[g>>2];f[p+4>>2]=f[g+4>>2];f[p+8>>2]=f[g+8>>2];f[p+12>>2]=f[g+12>>2];f[m>>2]=1884;k=m;l=8}while(0);if((l|0)==8){f[i>>2]=k;n=i;o=k}f[a>>2]=o;f[n>>2]=0;u=e;return}function Yd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if(((e-h|0)/12|0)>>>0>=b>>>0){i=b;j=h;do{f[j>>2]=f[c>>2];f[j+4>>2]=f[c+4>>2];f[j+8>>2]=f[c+8>>2];j=(f[g>>2]|0)+12|0;f[g>>2]=j;i=i+-1|0}while((i|0)!=0);return}i=f[a>>2]|0;j=(h-i|0)/12|0;h=j+b|0;if(h>>>0>357913941)um(a);k=(e-i|0)/12|0;i=k<<1;e=k>>>0<178956970?(i>>>0>>0?h:i):357913941;do if(e)if(e>>>0>357913941){i=ra(8)|0;Yk(i,9789);f[i>>2]=3704;va(i|0,856,80)}else{l=bj(e*12|0)|0;break}else l=0;while(0);i=l+(j*12|0)|0;j=l+(e*12|0)|0;e=b;b=i;l=i;do{f[b>>2]=f[c>>2];f[b+4>>2]=f[c+4>>2];f[b+8>>2]=f[c+8>>2];b=l+12|0;l=b;e=e+-1|0}while((e|0)!=0);e=f[a>>2]|0;b=(f[g>>2]|0)-e|0;c=i+(((b|0)/-12|0)*12|0)|0;if((b|0)>0)ge(c|0,e|0,b|0)|0;f[a>>2]=c;f[g>>2]=l;f[d>>2]=j;if(!e)return;dn(e);return}function Zd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d>>2;g=e+1|0;if(g>>>0>1073741823)um(a);h=a+8|0;i=(f[h>>2]|0)-d|0;d=i>>1;j=i>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;do if(j)if(j>>>0>1073741823){d=ra(8)|0;Yk(d,9789);f[d>>2]=3704;va(d|0,856,80)}else{k=bj(j<<2)|0;break}else k=0;while(0);d=k+(e<<2)|0;e=d;g=k+(j<<2)|0;j=f[b>>2]|0;f[b>>2]=0;f[d>>2]=j;j=d+4|0;b=f[a>>2]|0;k=f[c>>2]|0;if((k|0)==(b|0)){l=e;m=b;n=b}else{i=k;k=e;e=d;do{i=i+-4|0;d=f[i>>2]|0;f[i>>2]=0;f[e+-4>>2]=d;e=k+-4|0;k=e}while((i|0)!=(b|0));l=k;m=f[a>>2]|0;n=f[c>>2]|0}f[a>>2]=l;f[c>>2]=j;f[h>>2]=g;g=m;if((n|0)!=(g|0)){h=n;do{h=h+-4|0;n=f[h>>2]|0;f[h>>2]=0;if(n|0){Cf(n);dn(n)}}while((h|0)!=(g|0))}if(!m)return;dn(m);return}function _d(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+80|0;g=e;h=e+64|0;Qh(g);i=f[(f[a+8>>2]|0)+56>>2]|0;j=X(ai(5)|0,d)|0;jg(g,i,0,d&255,5,0,j,((j|0)<0)<<31>>31,0,0);j=bj(96)|0;Eh(j,g);b[j+84>>0]=1;g=f[j+68>>2]|0;d=j+72|0;i=f[d>>2]|0;if((i|0)!=(g|0))f[d>>2]=i+(~((i+-4-g|0)>>>2)<<2);$f(j,c)|0;f[h>>2]=j;If(a,h);a=f[h>>2]|0;f[h>>2]=0;if(!a){u=e;return}h=a+88|0;j=f[h>>2]|0;f[h>>2]=0;if(j|0){h=f[j+8>>2]|0;if(h|0){c=j+12|0;if((f[c>>2]|0)!=(h|0))f[c>>2]=h;dn(h)}dn(j)}j=f[a+68>>2]|0;if(j|0){h=a+72|0;c=f[h>>2]|0;if((c|0)!=(j|0))f[h>>2]=c+(~((c+-4-j|0)>>>2)<<2);dn(j)}j=a+64|0;c=f[j>>2]|0;f[j>>2]=0;if(c|0){j=f[c>>2]|0;if(j|0){h=c+4|0;if((f[h>>2]|0)!=(j|0))f[h>>2]=j;dn(j)}dn(c)}dn(a);u=e;return}function $d(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=f[c>>2]|0;c=f[a>>2]|0;e=c+(d>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(d&31);e=f[a+64>>2]|0;g=(d|0)==-1;h=d+1|0;if(!g?(i=((h>>>0)%3|0|0)==0?d+-2|0:h,(i|0)!=-1):0)j=f[(f[e>>2]|0)+(i<<2)>>2]|0;else j=-1;i=a+12|0;h=(f[i>>2]|0)+(j>>>5<<2)|0;f[h>>2]=f[h>>2]|1<<(j&31);if(g){j=(f[i>>2]|0)+536870908|0;f[j>>2]=f[j>>2]|-2147483648;return}j=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((j|0)==-1)k=-1;else k=f[(f[e>>2]|0)+(j<<2)>>2]|0;j=(f[i>>2]|0)+(k>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(k&31);if(g)return;g=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;if((g|0)==-1)return;b[a+24>>0]=0;a=c+(g>>>5<<2)|0;f[a>>2]=f[a>>2]|1<<(g&31);a=g+1|0;c=((a>>>0)%3|0|0)==0?g+-2|0:a;if((c|0)==-1)l=-1;else l=f[(f[e>>2]|0)+(c<<2)>>2]|0;c=(f[i>>2]|0)+(l>>>5<<2)|0;f[c>>2]=f[c>>2]|1<<(l&31);l=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((l|0)==-1)m=-1;else m=f[(f[e>>2]|0)+(l<<2)>>2]|0;l=(f[i>>2]|0)+(m>>>5<<2)|0;f[l>>2]=f[l>>2]|1<<(m&31);return}function ae(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;Eg(f[a+4>>2]|0,(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2);g=a+84|0;a=f[g>>2]|0;if(!a){h=f[e>>2]|0;i=(f[h+4>>2]|0)-(f[h>>2]|0)>>2;h=(i>>>0)/3|0;if(i>>>0<=2){u=b;return 1}i=0;do{f[d>>2]=i*3;f[c>>2]=f[d>>2];wb(e,c);i=i+1|0}while((i|0)<(h|0));u=b;return 1}else{h=f[a>>2]|0;if((f[a+4>>2]|0)==(h|0)){u=b;return 1}a=0;i=h;do{f[d>>2]=f[i+(a<<2)>>2];f[c>>2]=f[d>>2];wb(e,c);a=a+1|0;h=f[g>>2]|0;i=f[h>>2]|0}while(a>>>0<(f[h+4>>2]|0)-i>>2>>>0);u=b;return 1}return 0}function be(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;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;g=u;u=u+32|0;h=g+16|0;i=g+8|0;j=g;k=e>>>0>1073741823?-1:e<<2;l=an(k)|0;Vf(l|0,0,k|0)|0;k=a+8|0;a=f[l+4>>2]|0;m=f[b>>2]|0;n=f[b+4>>2]|0;f[i>>2]=f[l>>2];f[i+4>>2]=a;f[j>>2]=m;f[j+4>>2]=n;ec(h,k,i,j);f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];if((e|0)>=(d|0)){bn(l);u=g;return 1}n=0-e|0;m=i+4|0;a=j+4|0;o=h+4|0;p=e;do{q=c+(p<<2)|0;r=q+(n<<2)|0;s=b+(p<<2)|0;t=f[r+4>>2]|0;v=f[s>>2]|0;w=f[s+4>>2]|0;f[i>>2]=f[r>>2];f[m>>2]=t;f[j>>2]=v;f[a>>2]=w;ec(h,k,i,j);f[q>>2]=f[h>>2];f[q+4>>2]=f[o>>2];p=p+e|0}while((p|0)<(d|0));bn(l);u=g;return 1}function ce(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=u;u=u+16|0;e=d;g=f[c>>2]|0;f[c>>2]=0;f[e>>2]=g;Qd(a,b,e);g=f[e>>2]|0;f[e>>2]=0;if(g|0){e=g+88|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){e=f[c+8>>2]|0;if(e|0){h=c+12|0;if((f[h>>2]|0)!=(e|0))f[h>>2]=e;dn(e)}dn(c)}c=f[g+68>>2]|0;if(c|0){e=g+72|0;h=f[e>>2]|0;if((h|0)!=(c|0))f[e>>2]=h+(~((h+-4-c|0)>>>2)<<2);dn(c)}c=g+64|0;h=f[c>>2]|0;f[c>>2]=0;if(h|0){c=f[h>>2]|0;if(c|0){e=h+4|0;if((f[e>>2]|0)!=(c|0))f[e>>2]=c;dn(c)}dn(h)}dn(g)}g=a+84|0;h=a+88|0;a=f[h>>2]|0;c=f[g>>2]|0;e=a-c>>2;if((e|0)>(b|0)){u=d;return}i=b+1|0;b=a;if(i>>>0>e>>>0){Ee(g,i-e|0);u=d;return}if(i>>>0>=e>>>0){u=d;return}e=c+(i<<2)|0;if((e|0)==(b|0)){u=d;return}f[h>>2]=b+(~((b+-4-e|0)>>>2)<<2);u=d;return}function de(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=b+8|0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=b+16|0;g=c;i=f[g>>2]|0;j=f[g+4>>2]|0;g=Rj(i|0,j|0,4,0)|0;k=I;if((e|0)<(k|0)|(e|0)==(k|0)&d>>>0>>0){l=0;return l|0}m=f[b>>2]|0;n=m+i|0;o=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;n=c;f[n>>2]=g;f[n+4>>2]=k;k=Rj(i|0,j|0,8,0)|0;j=I;if((e|0)<(j|0)|(e|0)==(j|0)&d>>>0>>0){l=0;return l|0}d=m+g|0;g=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;d=c;f[d>>2]=k;f[d+4>>2]=j;if((o|0)>(g|0)){l=0;return l|0}f[a+12>>2]=o;f[a+16>>2]=g;j=Tj(g|0,((g|0)<0)<<31>>31|0,o|0,((o|0)<0)<<31>>31|0)|0;o=I;if(!(o>>>0<0|(o|0)==0&j>>>0<2147483647)){l=0;return l|0}o=j+1|0;f[a+20>>2]=o;j=(o|0)/2|0;g=a+24|0;f[g>>2]=j;f[a+28>>2]=0-j;if(!(o&1))f[g>>2]=j+-1;l=td(a+108|0,b)|0;return l|0}function ee(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=u;u=u+16|0;e=d+8|0;g=d+4|0;h=d;if(!c){i=0;u=d;return i|0}f[a>>2]=b;f[e>>2]=0;dg(e,b)|0;a:do if(!(f[e>>2]|0))j=8;else{b=0;while(1){dg(g,f[a>>2]|0)|0;k=bj(44)|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;n[k+16>>2]=$(1.0);l=k+20|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;n[k+36>>2]=$(1.0);f[k+40>>2]=f[g>>2];if(!(lc(a,k)|0))break;f[h>>2]=k;Hg(c,h)|0;l=f[h>>2]|0;f[h>>2]=0;if(l|0){Cf(l);dn(l)}b=b+1|0;if(b>>>0>=(f[e>>2]|0)>>>0){j=8;break a}}Cf(k);dn(k);m=0}while(0);if((j|0)==8)m=lc(a,c)|0;i=m;u=d;return i|0}function fe(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,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(c>>>0>4294967279)um(a);d=a+11|0;e=b[d>>0]|0;g=e<<24>>24<0;if(g){h=f[a+4>>2]|0;i=(f[a+8>>2]&2147483647)+-1|0}else{h=e&255;i=10}j=h>>>0>c>>>0?h:c;c=j>>>0<11;k=c?10:(j+16&-16)+-1|0;do if((k|0)!=(i|0)){do if(c){j=f[a>>2]|0;if(g){l=0;m=j;n=a;o=13}else{Ok(a,j,(e&255)+1|0)|0;dn(j);o=16}}else{j=k+1|0;p=bj(j)|0;if(g){l=1;m=f[a>>2]|0;n=p;o=13;break}else{Ok(p,a,(e&255)+1|0)|0;q=p;r=j;s=a+4|0;o=15;break}}while(0);if((o|0)==13){j=a+4|0;Ok(n,m,(f[j>>2]|0)+1|0)|0;dn(m);if(l){q=n;r=k+1|0;s=j;o=15}else o=16}if((o|0)==15){f[a+8>>2]=r|-2147483648;f[s>>2]=h;f[a>>2]=q;break}else if((o|0)==16){b[d>>0]=h;break}}while(0);return}function ge(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)>=8192)return Da(a|0,c|0,d|0)|0;e=a|0;g=a+d|0;if((a&3)==(c&3)){while(a&3){if(!d)return e|0;b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0;d=d-1|0}h=g&-4|0;d=h-64|0;while((a|0)<=(d|0)){f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];f[a+16>>2]=f[c+16>>2];f[a+20>>2]=f[c+20>>2];f[a+24>>2]=f[c+24>>2];f[a+28>>2]=f[c+28>>2];f[a+32>>2]=f[c+32>>2];f[a+36>>2]=f[c+36>>2];f[a+40>>2]=f[c+40>>2];f[a+44>>2]=f[c+44>>2];f[a+48>>2]=f[c+48>>2];f[a+52>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];f[a+60>>2]=f[c+60>>2];a=a+64|0;c=c+64|0}while((a|0)<(h|0)){f[a>>2]=f[c>>2];a=a+4|0;c=c+4|0}}else{h=g-4|0;while((a|0)<(h|0)){b[a>>0]=b[c>>0]|0;b[a+1>>0]=b[c+1>>0]|0;b[a+2>>0]=b[c+2>>0]|0;b[a+3>>0]=b[c+3>>0]|0;a=a+4|0;c=c+4|0}}while((a|0)<(g|0)){b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0}return e|0}function he(a,c){a=a|0;c=c|0;var d=0,e=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;d=f[c+88>>2]|0;if(!d){e=0;return e|0}if((f[d>>2]|0)!=1){e=0;return e|0}g=d+8|0;d=f[g>>2]|0;f[a+4>>2]=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;i=a+8|0;j=c+24|0;c=b[j>>0]|0;k=c<<24>>24;l=a+12|0;m=f[l>>2]|0;n=f[i>>2]|0;o=m-n>>2;p=n;n=m;if(o>>>0>=k>>>0)if(o>>>0>k>>>0?(m=p+(k<<2)|0,(m|0)!=(n|0)):0){f[l>>2]=n+(~((n+-4-m|0)>>>2)<<2);q=c;r=d}else{q=c;r=d}else{ff(i,k-o|0);q=b[j>>0]|0;r=f[g>>2]|0}g=r+4|0;j=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;if(q<<24>>24>0){g=f[i>>2]|0;i=q<<24>>24;q=j;o=4;k=0;while(1){f[g+(k<<2)>>2]=q;o=o+4|0;k=k+1|0;d=r+o|0;c=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;if((k|0)>=(i|0)){s=c;break}else q=c}}else s=j;f[a+20>>2]=s;e=1;return e|0}function ie(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;do if(!(zl(a,f[c+8>>2]|0,g)|0)){if(!(zl(a,f[c>>2]|0,g)|0)){h=f[a+8>>2]|0;Wa[f[(f[h>>2]|0)+24>>2]&3](h,c,d,e,g);break}if((f[c+16>>2]|0)!=(d|0)?(h=c+20|0,(f[h>>2]|0)!=(d|0)):0){f[c+32>>2]=e;i=c+44|0;if((f[i>>2]|0)==4)break;j=c+52|0;b[j>>0]=0;k=c+53|0;b[k>>0]=0;l=f[a+8>>2]|0;Xa[f[(f[l>>2]|0)+20>>2]&3](l,c,d,d,1,g);if(b[k>>0]|0)if(!(b[j>>0]|0)){m=3;n=11}else o=3;else{m=4;n=11}if((n|0)==11){f[h>>2]=d;h=c+40|0;f[h>>2]=(f[h>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0){b[c+54>>0]=1;o=m}else o=m}f[i>>2]=o;break}if((e|0)==1)f[c+32>>2]=1}else Ui(0,c,d,e);while(0);return}function je(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=f[a+32>>2]|0;d=c+8|0;e=f[d+4>>2]|0;g=c+16|0;h=g;i=f[h>>2]|0;j=f[h+4>>2]|0;if(!((e|0)>(j|0)|((e|0)==(j|0)?(f[d>>2]|0)>>>0>i>>>0:0))){k=0;return k|0}d=b[(f[c>>2]|0)+i>>0]|0;c=Rj(i|0,j|0,1,0)|0;j=g;f[j>>2]=c;f[j+4>>2]=I;j=a+48|0;c=f[j>>2]|0;f[j>>2]=0;if(c|0)Sa[f[(f[c>>2]|0)+4>>2]&127](c);switch(d<<24>>24){case 0:{d=bj(376)|0;Ag(d);c=f[j>>2]|0;f[j>>2]=d;if(!c)l=d;else{Sa[f[(f[c>>2]|0)+4>>2]&127](c);m=9}break}case 2:{c=bj(432)|0;yf(c);d=f[j>>2]|0;f[j>>2]=c;if(!d)l=c;else{Sa[f[(f[d>>2]|0)+4>>2]&127](d);m=9}break}default:m=9}if((m|0)==9){m=f[j>>2]|0;if(!m){k=0;return k|0}else l=m}k=Oa[f[(f[l>>2]|0)+8>>2]&127](l,a)|0;return k|0}function ke(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e+12|0;h=e+8|0;i=e;f[i>>2]=f[b>>2];f[g>>2]=f[i>>2];i=dc(a,g,h,e+4|0,c)|0;c=f[i>>2]|0;if(c|0){j=c;u=e;return j|0}c=bj(40)|0;Rf(c+16|0,d);Rf(c+28|0,d+12|0);d=f[h>>2]|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=d;f[i>>2]=c;d=f[f[a>>2]>>2]|0;if(!d)k=c;else{f[a>>2]=d;k=f[i>>2]|0}Lc(f[a+4>>2]|0,k);k=a+8|0;f[k>>2]=(f[k>>2]|0)+1;j=c;u=e;return j|0}function le(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=u;u=u+16|0;g=e;h=a+4|0;f[h>>2]=0;if(!c){u=e;return}i=a+8|0;j=f[i>>2]|0;k=j<<5;if(k>>>0>>0){f[g>>2]=0;l=g+4|0;f[l>>2]=0;m=g+8|0;f[m>>2]=0;if((c|0)<0)um(a);n=j<<6;j=c+31&-32;af(g,k>>>0<1073741823?(n>>>0>>0?j:n):2147483647);n=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=n;g=f[h>>2]|0;f[h>>2]=c;f[l>>2]=g;g=f[i>>2]|0;f[i>>2]=f[m>>2];f[m>>2]=g;if(n|0)dn(n);o=a}else{f[h>>2]=c;o=a}a=f[o>>2]|0;o=a;h=a;a=c>>>5;n=a<<2;if(!(b[d>>0]|0)){Vf(h|0,0,n|0)|0;d=c&31;g=o+(a<<2)|0;if(!d){u=e;return}f[g>>2]=f[g>>2]&~(-1>>>(32-d|0));u=e;return}else{Vf(h|0,-1,n|0)|0;n=c&31;c=o+(a<<2)|0;if(!n){u=e;return}f[c>>2]=f[c>>2]|-1>>>(32-n|0);u=e;return}}function me(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;c=b+8|0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=b+16|0;g=c;i=f[g>>2]|0;j=f[g+4>>2]|0;g=Rj(i|0,j|0,4,0)|0;k=I;if((e|0)<(k|0)|(e|0)==(k|0)&d>>>0>>0){l=0;return l|0}m=f[b>>2]|0;b=m+i|0;n=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;b=c;f[b>>2]=g;f[b+4>>2]=k;k=Rj(i|0,j|0,8,0)|0;j=I;if((e|0)<(j|0)|(e|0)==(j|0)&d>>>0>>0){l=0;return l|0}d=m+g|0;g=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;d=c;f[d>>2]=k;f[d+4>>2]=j;if((n|0)>(g|0)){l=0;return l|0}f[a+12>>2]=n;f[a+16>>2]=g;j=Tj(g|0,((g|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;n=I;if(!(n>>>0<0|(n|0)==0&j>>>0<2147483647)){l=0;return l|0}n=j+1|0;f[a+20>>2]=n;j=(n|0)/2|0;g=a+24|0;f[g>>2]=j;f[a+28>>2]=0-j;if(n&1|0){l=1;return l|0}f[g>>2]=j+-1;l=1;return l|0}function ne(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=a+12|0;a:do if((f[e>>2]|0)!=(c|0)){g=f[a>>2]|0;h=a+4|0;i=f[h>>2]|0;if((i|0)!=(g|0)){j=i;while(1){i=j+-12|0;f[h>>2]=i;if((b[i+11>>0]|0)<0){dn(f[i>>2]|0);k=f[h>>2]|0}else k=i;if((k|0)==(g|0))break;else j=k}}f[e>>2]=c;j=f[c+8>>2]|0;if(j|0){i=a+8|0;l=j;j=g;while(1){m=l+8|0;if((j|0)==(f[i>>2]|0))Ld(a,m);else{Rf(j,m);f[h>>2]=(f[h>>2]|0)+12}m=f[l>>2]|0;if(!m)break a;l=m;j=f[h>>2]|0}}}while(0);if((d|0)<0){n=0;return n|0}c=f[a>>2]|0;if((((f[a+4>>2]|0)-c|0)/12|0)>>>0<=d>>>0){n=0;return n|0}a=c+(d*12|0)|0;if((b[a+11>>0]|0)<0){n=f[a>>2]|0;return n|0}else{n=a;return n|0}return 0}function oe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=u;u=u+16|0;d=c;e=f[(f[a>>2]|0)+8>>2]|0;g=a+8|0;h=a+12|0;i=(f[h>>2]|0)-(f[g>>2]|0)>>2;j=f[b>>2]|0;f[b>>2]=0;f[d>>2]=j;Ua[e&7](a,i,d);i=f[d>>2]|0;f[d>>2]=0;if(!i){k=f[h>>2]|0;l=f[g>>2]|0;m=k-l|0;n=m>>2;o=n+-1|0;u=c;return o|0}d=i+88|0;a=f[d>>2]|0;f[d>>2]=0;if(a|0){d=f[a+8>>2]|0;if(d|0){e=a+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;dn(d)}dn(a)}a=f[i+68>>2]|0;if(a|0){d=i+72|0;e=f[d>>2]|0;if((e|0)!=(a|0))f[d>>2]=e+(~((e+-4-a|0)>>>2)<<2);dn(a)}a=i+64|0;e=f[a>>2]|0;f[a>>2]=0;if(e|0){a=f[e>>2]|0;if(a|0){d=e+4|0;if((f[d>>2]|0)!=(a|0))f[d>>2]=a;dn(a)}dn(e)}dn(i);k=f[h>>2]|0;l=f[g>>2]|0;m=k-l|0;n=m>>2;o=n+-1|0;u=c;return o|0}function pe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=1048576){if((h|0)!=1048576?(e=i+4194304|0,(e|0)!=(g|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else ff(a,1048576-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(g|0)!=(d|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else qe(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(h<<2)|0;f[i+(h<<3)>>2]=f[d>>2];f[i+(h<<3)+4>>2]=g;e=g;g=(f[d>>2]|0)+g|0;if(g>>>0>1048576){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=h;j=j+1|0}while((j|0)!=(g|0))}h=h+1|0}while(h>>>0>>0);if((l|0)==19)return k|0;k=(g|0)==1048576;return k|0}function qe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>3>>>0>=b>>>0){h=b;i=g;do{j=i;f[j>>2]=0;f[j+4>>2]=0;i=(f[e>>2]|0)+8|0;f[e>>2]=i;h=h+-1|0}while((h|0)!=0);return}h=f[a>>2]|0;i=g-h>>3;g=i+b|0;if(g>>>0>536870911)um(a);j=d-h|0;h=j>>2;d=j>>3>>>0<268435455?(h>>>0>>0?g:h):536870911;do if(d)if(d>>>0>536870911){h=ra(8)|0;Yk(h,9789);f[h>>2]=3704;va(h|0,856,80)}else{k=bj(d<<3)|0;break}else k=0;while(0);h=k+(i<<3)|0;i=k+(d<<3)|0;d=b;b=h;k=h;do{g=b;f[g>>2]=0;f[g+4>>2]=0;b=k+8|0;k=b;d=d+-1|0}while((d|0)!=0);d=f[a>>2]|0;b=(f[e>>2]|0)-d|0;g=h+(0-(b>>3)<<3)|0;if((b|0)>0)ge(g|0,d|0,b|0)|0;f[a>>2]=g;f[e>>2]=k;f[c>>2]=i;if(!d)return;dn(d);return}function re(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=524288){if((h|0)!=524288?(e=i+2097152|0,(e|0)!=(g|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else ff(a,524288-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(g|0)!=(d|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else qe(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(h<<2)|0;f[i+(h<<3)>>2]=f[d>>2];f[i+(h<<3)+4>>2]=g;e=g;g=(f[d>>2]|0)+g|0;if(g>>>0>524288){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=h;j=j+1|0}while((j|0)!=(g|0))}h=h+1|0}while(h>>>0>>0);if((l|0)==19)return k|0;k=(g|0)==524288;return k|0}function se(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=262144){if((h|0)!=262144?(e=i+1048576|0,(e|0)!=(g|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else ff(a,262144-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(g|0)!=(d|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else qe(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(h<<2)|0;f[i+(h<<3)>>2]=f[d>>2];f[i+(h<<3)+4>>2]=g;e=g;g=(f[d>>2]|0)+g|0;if(g>>>0>262144){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=h;j=j+1|0}while((j|0)!=(g|0))}h=h+1|0}while(h>>>0>>0);if((l|0)==19)return k|0;k=(g|0)==262144;return k|0}function te(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;if(!c){g=0;u=d;return g|0}h=a+84|0;i=f[h>>2]|0;j=a+88|0;k=f[j>>2]|0;if((k|0)!=(i|0))f[j>>2]=k+(~((k+-4-i|0)>>>2)<<2);f[h>>2]=0;f[j>>2]=0;f[a+92>>2]=0;if(i|0)dn(i);i=a+72|0;j=f[i>>2]|0;h=a+76|0;if((f[h>>2]|0)!=(j|0))f[h>>2]=j;f[i>>2]=0;f[h>>2]=0;f[a+80>>2]=0;if(j|0)dn(j);j=c+4|0;h=(f[j>>2]|0)-(f[c>>2]|0)>>2;b[e>>0]=0;le(a,h,e);h=c+24|0;i=c+28|0;k=(f[i>>2]|0)-(f[h>>2]|0)>>2;b[e>>0]=0;le(a+12|0,k,e);sd(a+28|0,(f[j>>2]|0)-(f[c>>2]|0)>>2,2684);Eg(a+52|0,(f[i>>2]|0)-(f[h>>2]|0)>>2);Eg(a+40|0,(f[i>>2]|0)-(f[h>>2]|0)>>2);f[a+64>>2]=c;b[a+24>>0]=1;g=1;u=d;return g|0}function ue(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=65536){if((h|0)!=65536?(e=i+262144|0,(e|0)!=(g|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else ff(a,65536-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(g|0)!=(d|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else qe(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(h<<2)|0;f[i+(h<<3)>>2]=f[d>>2];f[i+(h<<3)+4>>2]=g;e=g;g=(f[d>>2]|0)+g|0;if(g>>>0>65536){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=h;j=j+1|0}while((j|0)!=(g|0))}h=h+1|0}while(h>>>0>>0);if((l|0)==19)return k|0;k=(g|0)==65536;return k|0}function ve(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=32768){if((h|0)!=32768?(e=i+131072|0,(e|0)!=(g|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else ff(a,32768-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(g|0)!=(d|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else qe(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(h<<2)|0;f[i+(h<<3)>>2]=f[d>>2];f[i+(h<<3)+4>>2]=g;e=g;g=(f[d>>2]|0)+g|0;if(g>>>0>32768){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=h;j=j+1|0}while((j|0)!=(g|0))}h=h+1|0}while(h>>>0>>0);if((l|0)==19)return k|0;k=(g|0)==32768;return k|0}function we(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=8192){if((h|0)!=8192?(e=i+32768|0,(e|0)!=(g|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else ff(a,8192-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(g|0)!=(d|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else qe(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(h<<2)|0;f[i+(h<<3)>>2]=f[d>>2];f[i+(h<<3)+4>>2]=g;e=g;g=(f[d>>2]|0)+g|0;if(g>>>0>8192){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=h;j=j+1|0}while((j|0)!=(g|0))}h=h+1|0}while(h>>>0>>0);if((l|0)==19)return k|0;k=(g|0)==8192;return k|0}function xe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=4096){if((h|0)!=4096?(e=i+16384|0,(e|0)!=(g|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else ff(a,4096-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(g|0)!=(d|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else qe(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(h<<2)|0;f[i+(h<<3)>>2]=f[d>>2];f[i+(h<<3)+4>>2]=g;e=g;g=(f[d>>2]|0)+g|0;if(g>>>0>4096){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=h;j=j+1|0}while((j|0)!=(g|0))}h=h+1|0}while(h>>>0>>0);if((l|0)==19)return k|0;k=(g|0)==4096;return k|0}function ye(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=u;u=u+224|0;g=e+120|0;h=e+80|0;i=e;j=e+136|0;k=h;l=k+40|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[g>>2]=f[d>>2];if((gb(0,c,g,i,h)|0)<0)m=-1;else{if((f[a+76>>2]|0)>-1)n=jn(a)|0;else n=0;d=f[a>>2]|0;k=d&32;if((b[a+74>>0]|0)<1)f[a>>2]=d&-33;d=a+48|0;if(!(f[d>>2]|0)){l=a+44|0;o=f[l>>2]|0;f[l>>2]=j;p=a+28|0;f[p>>2]=j;q=a+20|0;f[q>>2]=j;f[d>>2]=80;r=a+16|0;f[r>>2]=j+80;j=gb(a,c,g,i,h)|0;if(!o)s=j;else{Pa[f[a+36>>2]&31](a,0,0)|0;t=(f[q>>2]|0)==0?-1:j;f[l>>2]=o;f[d>>2]=0;f[r>>2]=0;f[p>>2]=0;f[q>>2]=0;s=t}}else s=gb(a,c,g,i,h)|0;h=f[a>>2]|0;f[a>>2]=h|k;if(n|0)hn(a);m=(h&32|0)==0?s:-1}u=e;return m|0}function ze(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e>>2;h=d;if(g>>>0>>0){gd(a,b-g|0);return}if(g>>>0<=b>>>0)return;g=e+(b<<2)|0;if((g|0)==(h|0))return;else i=h;do{h=i+-4|0;f[c>>2]=h;b=f[h>>2]|0;f[h>>2]=0;if(b|0){h=b+88|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){h=f[e+8>>2]|0;if(h|0){a=e+12|0;if((f[a>>2]|0)!=(h|0))f[a>>2]=h;dn(h)}dn(e)}e=f[b+68>>2]|0;if(e|0){h=b+72|0;a=f[h>>2]|0;if((a|0)!=(e|0))f[h>>2]=a+(~((a+-4-e|0)>>>2)<<2);dn(e)}e=b+64|0;a=f[e>>2]|0;f[e>>2]=0;if(a|0){e=f[a>>2]|0;if(e|0){h=a+4|0;if((f[h>>2]|0)!=(e|0))f[h>>2]=e;dn(e)}dn(a)}dn(b)}i=f[c>>2]|0}while((i|0)!=(g|0));return}function Ae(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;i=h;if(e-h>>2>>>0>=b>>>0){j=b;k=i;while(1){f[k>>2]=f[c>>2];j=j+-1|0;if(!j)break;else k=k+4|0}f[g>>2]=i+(b<<2);return}i=f[a>>2]|0;k=h-i|0;h=k>>2;j=h+b|0;if(j>>>0>1073741823)um(a);l=e-i|0;e=l>>1;m=l>>2>>>0<536870911?(e>>>0>>0?j:e):1073741823;do if(m)if(m>>>0>1073741823){e=ra(8)|0;Yk(e,9789);f[e>>2]=3704;va(e|0,856,80)}else{e=bj(m<<2)|0;n=e;o=e;break}else{n=0;o=0}while(0);e=n+(h<<2)|0;h=n+(m<<2)|0;m=b;j=e;while(1){f[j>>2]=f[c>>2];m=m+-1|0;if(!m)break;else j=j+4|0}if((k|0)>0)ge(o|0,i|0,k|0)|0;f[a>>2]=n;f[g>>2]=e+(b<<2);f[d>>2]=h;if(!i)return;dn(i);return}function Be(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=a+8|0;d=b+8|0;e=f[d>>2]|0;g=f[d+4>>2]|0;d=b+16|0;i=d;j=f[i>>2]|0;k=f[i+4>>2]|0;i=Rj(j|0,k|0,4,0)|0;l=I;if((g|0)<(l|0)|(g|0)==(l|0)&e>>>0>>0){m=0;return m|0}n=(f[b>>2]|0)+j|0;o=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;n=d;f[n>>2]=i;f[n+4>>2]=l;l=Rj(j|0,k|0,8,0)|0;k=I;if((g|0)<(k|0)|(g|0)==(k|0)&e>>>0>>0){m=0;return m|0}e=d;f[e>>2]=l;f[e+4>>2]=k;k=(_(o|0)|0)^31;if((k+-1|0)>>>0>28)p=f[c>>2]|0;else{o=k+1|0;f[c>>2]=o;c=2<>2]=c+-1;k=c+-2|0;f[a+16>>2]=k;f[a+20>>2]=(k|0)/2|0;p=o}if((p+-2|0)>>>0>=29){m=0;return m|0}m=td(a+88|0,b)|0;return m|0}function Ce(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=(f[a>>2]|0)+1794895138|0;g=Al(f[a+8>>2]|0,e)|0;h=Al(f[a+12>>2]|0,e)|0;i=Al(f[a+16>>2]|0,e)|0;a:do if((g>>>0>>2>>>0?(j=c-(g<<2)|0,h>>>0>>0&i>>>0>>0):0)?((i|h)&3|0)==0:0){j=h>>>2;k=i>>>2;l=0;m=g;while(1){n=m>>>1;o=l+n|0;p=o<<1;q=p+j|0;r=Al(f[a+(q<<2)>>2]|0,e)|0;s=Al(f[a+(q+1<<2)>>2]|0,e)|0;if(!(s>>>0>>0&r>>>0<(c-s|0)>>>0)){t=0;break a}if(b[a+(s+r)>>0]|0){t=0;break a}r=th(d,a+s|0)|0;if(!r)break;s=(r|0)<0;if((m|0)==1){t=0;break a}else{l=s?l:o;m=s?n:m-n|0}}m=p+k|0;l=Al(f[a+(m<<2)>>2]|0,e)|0;j=Al(f[a+(m+1<<2)>>2]|0,e)|0;if(j>>>0>>0&l>>>0<(c-j|0)>>>0)t=(b[a+(j+l)>>0]|0)==0?a+j|0:0;else t=0}else t=0;while(0);return t|0}function De(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=u;u=u+64|0;i=h;j=f[a>>2]|0;k=a+(f[j+-8>>2]|0)|0;l=f[j+-4>>2]|0;f[i>>2]=e;f[i+4>>2]=a;f[i+8>>2]=c;f[i+12>>2]=g;g=i+16|0;c=i+20|0;a=i+24|0;j=i+28|0;m=i+32|0;n=i+40|0;o=g;p=o+36|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));d[g+36>>1]=0;b[g+38>>0]=0;a:do if(zl(l,e,0)|0){f[i+48>>2]=1;Xa[f[(f[l>>2]|0)+20>>2]&3](l,i,k,k,1,0);q=(f[a>>2]|0)==1?k:0}else{Wa[f[(f[l>>2]|0)+24>>2]&3](l,i,k,1,0);switch(f[i+36>>2]|0){case 0:{q=(f[n>>2]|0)==1&(f[j>>2]|0)==1&(f[m>>2]|0)==1?f[c>>2]|0:0;break a;break}case 1:break;default:{q=0;break a}}if((f[a>>2]|0)!=1?!((f[n>>2]|0)==0&(f[j>>2]|0)==1&(f[m>>2]|0)==1):0){q=0;break}q=f[g>>2]|0}while(0);u=h;return q|0}function Ee(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(d-g>>2>>>0>=b>>>0){i=b;j=h;while(1){f[j>>2]=1;i=i+-1|0;if(!i)break;else j=j+4|0}f[e>>2]=h+(b<<2);return}h=f[a>>2]|0;j=g-h|0;g=j>>2;i=g+b|0;if(i>>>0>1073741823)um(a);k=d-h|0;d=k>>1;l=k>>2>>>0<536870911?(d>>>0>>0?i:d):1073741823;do if(l)if(l>>>0>1073741823){d=ra(8)|0;Yk(d,9789);f[d>>2]=3704;va(d|0,856,80)}else{d=bj(l<<2)|0;m=d;n=d;break}else{m=0;n=0}while(0);d=m+(g<<2)|0;g=m+(l<<2)|0;l=b;i=d;while(1){f[i>>2]=1;l=l+-1|0;if(!l)break;else i=i+4|0}if((j|0)>0)ge(n|0,h|0,j|0)|0;f[a>>2]=m;f[e>>2]=d+(b<<2);f[c>>2]=g;if(!h)return;dn(h);return}function Fe(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a+12|0;d=f[a>>2]|0;e=a+8|0;g=f[e>>2]|0;h=(g|0)==-1;if(!(b[c>>0]|0)){do if((!h?(i=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(i|0)!=-1):0)?(j=f[(f[d+12>>2]|0)+(i<<2)>>2]|0,(j|0)!=-1):0)if(!((j>>>0)%3|0)){k=j+2|0;break}else{k=j+-1|0;break}else k=-1;while(0);f[e>>2]=k;return}k=g+1|0;if((!h?(h=((k>>>0)%3|0|0)==0?g+-2|0:k,(h|0)!=-1):0)?(k=f[(f[d+12>>2]|0)+(h<<2)>>2]|0,h=k+1|0,(k|0)!=-1):0){g=((h>>>0)%3|0|0)==0?k+-2|0:h;f[e>>2]=g;if((g|0)!=-1){if((g|0)!=(f[a+4>>2]|0))return;f[e>>2]=-1;return}}else f[e>>2]=-1;g=f[a+4>>2]|0;do if(((g|0)!=-1?(a=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(a|0)!=-1):0)?(h=f[(f[d+12>>2]|0)+(a<<2)>>2]|0,(h|0)!=-1):0)if(!((h>>>0)%3|0)){l=h+2|0;break}else{l=h+-1|0;break}else l=-1;while(0);f[e>>2]=l;b[c>>0]=0;return}function Ge(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=f[a+4>>2]|0;if(!d){e=0;return e|0}a=b[c+11>>0]|0;g=a<<24>>24<0;h=g?f[c+4>>2]|0:a&255;a=g?f[c>>2]|0:c;c=d;while(1){d=c+16|0;g=b[d+11>>0]|0;i=g<<24>>24<0;j=i?f[c+20>>2]|0:g&255;g=j>>>0>>0;k=g?j:h;if((k|0)!=0?(l=jh(a,i?f[d>>2]|0:d,k)|0,(l|0)!=0):0)if((l|0)<0)m=7;else m=8;else if(h>>>0>>0)m=7;else m=8;if((m|0)==7){m=0;n=c}else if((m|0)==8){m=0;l=h>>>0>>0?h:j;if((l|0)!=0?(j=jh(i?f[d>>2]|0:d,a,l)|0,(j|0)!=0):0){if((j|0)>=0){e=1;m=14;break}}else m=10;if((m|0)==10?(m=0,!g):0){e=1;m=14;break}n=c+4|0}c=f[n>>2]|0;if(!c){e=0;m=14;break}}if((m|0)==14)return e|0;return 0}function He(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=u;u=u+32|0;e=d+12|0;g=d;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;h=gg(c)|0;if(h>>>0>4294967279)um(e);if(h>>>0<11){b[e+11>>0]=h;if(!h)i=e;else{j=e;k=6}}else{l=h+16&-16;m=bj(l)|0;f[e>>2]=m;f[e+8>>2]=l|-2147483648;f[e+4>>2]=h;j=m;k=6}if((k|0)==6){ge(j|0,c|0,h|0)|0;i=j}b[i+h>>0]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=g+11|0;b[h>>0]=4;f[g>>2]=1701667182;b[g+4>>0]=0;i=f[a+4>>2]|0;if((i|0)!=0?(j=Mc(i,g,e)|0,(j|0)!=0):0)n=ih(a,f[j+40>>2]|0)|0;else n=-1;if((b[h>>0]|0)<0)dn(f[g>>2]|0);if((b[e+11>>0]|0)>=0){u=d;return n|0}dn(f[e>>2]|0);u=d;return n|0}function Ie(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,i=0;if((b|0)==-2)g=0;else{i=f[(f[(f[d+4>>2]|0)+8>>2]|0)+(c<<2)>>2]|0;do if((Na[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){ud(a,d,b,c,e,((h[d+36>>0]|0)<<8|(h[d+37>>0]|0))&65535);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);d=bj(44)|0;f[d>>2]=1208;f[d+4>>2]=i;i=d+8|0;f[i>>2]=f[e>>2];f[i+4>>2]=f[e+4>>2];f[i+8>>2]=f[e+8>>2];f[i+12>>2]=f[e+12>>2];f[i+16>>2]=f[e+16>>2];f[i+20>>2]=f[e+20>>2];Bg(d+32|0,e+24|0);f[d>>2]=1264;g=d}f[a>>2]=g;return}function Je(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+8|0;d=f[c>>2]|0;e=a+16|0;if(b[d+84>>0]|0){g=f[e>>2]|0;return g|0}a=f[e>>2]|0;if(!a){g=f[e>>2]|0;return g|0}h=a+84|0;if(!(b[h>>0]|0)){g=f[e>>2]|0;return g|0}i=(f[d+72>>2]|0)-(f[d+68>>2]|0)>>2;b[h>>0]=0;h=a+68|0;j=a+72|0;a=f[j>>2]|0;k=f[h>>2]|0;l=a-k>>2;m=k;k=a;if(i>>>0<=l>>>0)if(i>>>0>>0?(a=m+(i<<2)|0,(a|0)!=(k|0)):0){f[j>>2]=k+(~((k+-4-a|0)>>>2)<<2);n=d}else n=d;else{Ae(h,i-l|0,1076);n=f[c>>2]|0}if(b[n+84>>0]|0){g=f[e>>2]|0;return g|0}c=f[n+68>>2]|0;l=c;i=(f[n+72>>2]|0)-c>>2;if(!i){g=f[e>>2]|0;return g|0}c=f[(f[e>>2]|0)+68>>2]|0;n=0;do{f[c+(n<<2)>>2]=f[l+(n<<2)>>2];n=n+1|0}while(n>>>0>>0);g=f[e>>2]|0;return g|0}function Ke(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=La;d=u;u=u+32|0;e=d+16|0;g=d;h=a+8|0;i=b[(f[h>>2]|0)+24>>0]<<2;j=f[a+16>>2]|0;k=(f[f[j>>2]>>2]|0)+(f[j+48>>2]|0)|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;j=f[a+24>>2]|0;if((j+-2|0)>>>0>28){l=0;u=d;return l|0}f[g>>2]=j;a=1<>2]=a+-1;j=a+-2|0;a=g+8|0;f[a>>2]=j;f[g+12>>2]=(j|0)/2|0;if(!c){l=1;u=d;return l|0}m=0;n=0;o=0;p=j;while(1){q=$($(1.0)/$(p|0));Dd(g,$(q*$(f[k+(m<<2)>>2]|0)),$(q*$(f[k+((m|1)<<2)>>2]|0)),e);ge((f[f[(f[h>>2]|0)+64>>2]>>2]|0)+o|0,e|0,i|0)|0;j=n+1|0;if((j|0)==(c|0)){l=1;break}m=m+2|0;n=j;o=o+i|0;p=f[a>>2]|0}u=d;return l|0}function Le(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=f[a+196>>2]|0;if(b|0){c=a+200|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);dn(b)}b=a+184|0;d=f[b>>2]|0;if(d|0){c=a+188|0;e=f[c>>2]|0;if((e|0)==(d|0))g=d;else{h=e;while(1){e=h+-12|0;f[c>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);dn(i);j=f[c>>2]|0}if((j|0)==(d|0))break;else h=j}g=f[b>>2]|0}dn(g)}g=f[a+156>>2]|0;if(g|0){b=a+160|0;j=f[b>>2]|0;if((j|0)!=(g|0))f[b>>2]=j+(~((j+-4-g|0)>>>2)<<2);dn(g)}g=a+136|0;a=f[g>>2]|0;f[g>>2]=0;if(!a)return;g=a+-4|0;j=f[g>>2]|0;if(j|0){b=a+(j<<4)|0;do b=b+-16|0;while((b|0)!=(a|0))}bn(g);return}function Me(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+32|0;e=d+16|0;g=d;switch(c<<24>>24){case 0:{c=bj(48)|0;Ql(c);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=c;u=d;return}case 1:{c=bj(52)|0;Vk(c);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=c;u=d;return}default:{c=bj(32)|0;f[g>>2]=c;f[g+8>>2]=-2147483616;f[g+4>>2]=28;h=c;i=8331;j=h+28|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[c+28>>0]=0;f[e>>2]=-1;c=e+4|0;Rf(c,g);f[a>>2]=f[e>>2];Rf(a+4|0,c);f[a+16>>2]=0;if((b[c+11>>0]|0)<0)dn(f[c>>2]|0);if((b[g+11>>0]|0)<0)dn(f[g>>2]|0);u=d;return}}}function Ne(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=(d-e|0)/144|0;h=d;if(g>>>0>>0){Kc(a,b-g|0);return}if(g>>>0<=b>>>0)return;g=e+(b*144|0)|0;if((g|0)==(h|0))return;else i=h;do{f[c>>2]=i+-144;h=f[i+-12>>2]|0;if(h|0){b=i+-8|0;e=f[b>>2]|0;if((e|0)!=(h|0))f[b>>2]=e+(~((e+-4-h|0)>>>2)<<2);dn(h)}h=f[i+-28>>2]|0;if(h|0){e=i+-24|0;b=f[e>>2]|0;if((b|0)!=(h|0))f[e>>2]=b+(~((b+-4-h|0)>>>2)<<2);dn(h)}h=f[i+-40>>2]|0;if(h|0){b=i+-36|0;e=f[b>>2]|0;if((e|0)!=(h|0))f[b>>2]=e+(~((e+-4-h|0)>>>2)<<2);dn(h)}tf(i+-140|0);i=f[c>>2]|0}while((i|0)!=(g|0));return}function Oe(a,b){a=a|0;b=b|0;var c=0,d=La,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=$a(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Rb(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=$a(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Rb(a,e);return}function Pe(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=1088;b=a+60|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Sa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[a+48>>2]|0;if(c|0){b=a+52|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);dn(c)}c=a+36|0;d=f[c>>2]|0;if(d|0){b=a+40|0;e=f[b>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[b>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0)Sa[f[(f[i>>2]|0)+4>>2]&127](i);h=f[b>>2]|0}while((h|0)!=(d|0));g=f[c>>2]|0}dn(g)}f[a>>2]=984;g=f[a+16>>2]|0;if(g|0){c=a+20|0;d=f[c>>2]|0;if((d|0)!=(g|0))f[c>>2]=d+(~((d+-4-g|0)>>>2)<<2);dn(g)}g=f[a+4>>2]|0;if(!g)return;d=a+8|0;a=f[d>>2]|0;if((a|0)!=(g|0))f[d>>2]=a+(~((a+-4-g|0)>>>2)<<2);dn(g);return}function Qe(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;d=f[c>>2]|0;if((d|0)==(b|0))e=b;else{g=d;do{d=g+-4|0;f[c>>2]=d;h=f[d>>2]|0;f[d>>2]=0;if(h|0){d=h+88|0;i=f[d>>2]|0;f[d>>2]=0;if(i|0){d=f[i+8>>2]|0;if(d|0){j=i+12|0;if((f[j>>2]|0)!=(d|0))f[j>>2]=d;dn(d)}dn(i)}i=f[h+68>>2]|0;if(i|0){d=h+72|0;j=f[d>>2]|0;if((j|0)!=(i|0))f[d>>2]=j+(~((j+-4-i|0)>>>2)<<2);dn(i)}i=h+64|0;j=f[i>>2]|0;f[i>>2]=0;if(j|0){i=f[j>>2]|0;if(i|0){d=j+4|0;if((f[d>>2]|0)!=(i|0))f[d>>2]=i;dn(i)}dn(j)}dn(h)}g=f[c>>2]|0}while((g|0)!=(b|0));e=f[a>>2]|0}dn(e);return}function Re(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=a+8|0;d=b+8|0;e=f[d>>2]|0;g=f[d+4>>2]|0;d=b+16|0;i=d;j=f[i>>2]|0;k=f[i+4>>2]|0;i=Rj(j|0,k|0,4,0)|0;l=I;if((g|0)<(l|0)|(g|0)==(l|0)&e>>>0>>0)return 0;m=(f[b>>2]|0)+j|0;b=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=d;f[m>>2]=i;f[m+4>>2]=l;l=Rj(j|0,k|0,8,0)|0;k=I;if((g|0)<(k|0)|(g|0)==(k|0)&e>>>0>>0)return 0;e=d;f[e>>2]=l;f[e+4>>2]=k;k=(_(b|0)|0)^31;if((k+-1|0)>>>0>28){n=f[c>>2]|0;o=n+-2|0;p=o>>>0<29;return p|0}else{b=k+1|0;f[c>>2]=b;c=2<>2]=c+-1;k=c+-2|0;f[a+16>>2]=k;f[a+20>>2]=(k|0)/2|0;n=b;o=n+-2|0;p=o>>>0<29;return p|0}return 0}function Se(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=f[a+4>>2]|0;c=a+8|0;d=f[c>>2]|0;if((d|0)!=(b|0)){e=d;do{d=e+-4|0;f[c>>2]=d;g=f[d>>2]|0;f[d>>2]=0;if(g|0){d=g+88|0;h=f[d>>2]|0;f[d>>2]=0;if(h|0){d=f[h+8>>2]|0;if(d|0){i=h+12|0;if((f[i>>2]|0)!=(d|0))f[i>>2]=d;dn(d)}dn(h)}h=f[g+68>>2]|0;if(h|0){d=g+72|0;i=f[d>>2]|0;if((i|0)!=(h|0))f[d>>2]=i+(~((i+-4-h|0)>>>2)<<2);dn(h)}h=g+64|0;i=f[h>>2]|0;f[h>>2]=0;if(i|0){h=f[i>>2]|0;if(h|0){d=i+4|0;if((f[d>>2]|0)!=(h|0))f[d>>2]=h;dn(h)}dn(i)}dn(g)}e=f[c>>2]|0}while((e|0)!=(b|0))}b=f[a>>2]|0;if(!b)return;dn(b);return}function Te(a,b){a=a|0;b=b|0;var c=0,d=La,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=$a(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){jc(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=$a(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;jc(a,e);return}function Ue(a,c,d,e){a=a|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;g=bj(32)|0;f[a>>2]=g;f[a+4>>2]=c+8;c=a+8|0;b[c>>0]=0;h=g+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;h=g+20|0;i=e+12|0;f[h>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;g=e+16|0;e=f[g>>2]|0;j=f[i>>2]|0;k=e-j|0;if(!k){l=j;m=e;n=0}else{jf(h,k);l=f[i>>2]|0;m=f[g>>2]|0;n=f[h>>2]|0}ge(n|0,l|0,m-l|0)|0;b[c>>0]=1;c=f[a>>2]|0;f[c+4>>2]=d;f[c>>2]=0;return}function Ve(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=a+60|0;d=f[c>>2]|0;if(!d){e=0;return e|0}f[d+4>>2]=a+48;if(!(Na[f[(f[d>>2]|0)+12>>2]&127](d)|0)){e=0;return e|0}d=Na[f[(f[a>>2]|0)+24>>2]&127](a)|0;a:do if((d|0)>0){g=0;while(1){h=(Na[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;i=f[h>>2]|0;h=Oa[f[(f[a>>2]|0)+20>>2]&127](a,g)|0;j=f[c>>2]|0;g=g+1|0;if(!(Oa[f[(f[j>>2]|0)+8>>2]&127](j,f[(f[i+8>>2]|0)+(h<<2)>>2]|0)|0)){e=0;break}if((g|0)>=(d|0))break a}return e|0}while(0);if(!(Oa[f[(f[a>>2]|0)+36>>2]&127](a,b)|0)){e=0;return e|0}if(!(Oa[f[(f[a>>2]|0)+40>>2]&127](a,b)|0)){e=0;return e|0}e=Na[f[(f[a>>2]|0)+44>>2]&127](a)|0;return e|0}function We(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a=u;u=u+32|0;e=a+12|0;g=a;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=gg(d)|0;if(h>>>0>4294967279)um(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=bj(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){ge(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;Sf(c,g,e)|0;c=e+11|0;h=b[c>>0]|0;i=h<<24>>24<0?f[e>>2]|0:e;if((b[g+11>>0]|0)<0){dn(f[g>>2]|0);n=b[c>>0]|0}else n=h;if(n<<24>>24>=0){u=a;return i|0}dn(f[e>>2]|0);u=a;return i|0}function Xe(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=d+16|0;g=f[e>>2]|0;if(!g)if(!(Gh(d)|0)){h=f[e>>2]|0;i=5}else j=0;else{h=g;i=5}a:do if((i|0)==5){g=d+20|0;e=f[g>>2]|0;k=e;if((h-e|0)>>>0>>0){j=Pa[f[d+36>>2]&31](d,a,c)|0;break}b:do if((b[d+75>>0]|0)>-1){e=c;while(1){if(!e){l=0;m=a;n=c;o=k;break b}p=e+-1|0;if((b[a+p>>0]|0)==10)break;else e=p}p=Pa[f[d+36>>2]&31](d,a,e)|0;if(p>>>0>>0){j=p;break a}l=e;m=a+e|0;n=c-e|0;o=f[g>>2]|0}else{l=0;m=a;n=c;o=k}while(0);ge(o|0,m|0,n|0)|0;f[g>>2]=(f[g>>2]|0)+n;j=l+n|0}while(0);return j|0}function Ye(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+12|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d+28>>2]|0;if(c|0){e=c;do{c=e;e=f[e>>2]|0;Ye(c+8|0);dn(c)}while((e|0)!=0)}e=d+20|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0)dn(c);c=f[d+8>>2]|0;if(c|0){e=c;do{c=e;e=f[e>>2]|0;g=c+8|0;h=f[c+20>>2]|0;if(h|0){i=c+24|0;if((f[i>>2]|0)!=(h|0))f[i>>2]=h;dn(h)}if((b[g+11>>0]|0)<0)dn(f[g>>2]|0);dn(c)}while((e|0)!=0)}e=f[d>>2]|0;f[d>>2]=0;if(e|0)dn(e);dn(d)}if((b[a+11>>0]|0)>=0)return;dn(f[a>>2]|0);return}function Ze(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=(f[b+4>>2]|0)-(f[b>>2]|0)|0;b=d>>2;e=a+8|0;a=f[(f[e>>2]|0)+40>>2]|0;g=an((a|0)>-1?a:-1)|0;h=c+8|0;if((d|0)<=0){i=1;bn(g);return i|0}d=c+16|0;j=0;k=0;while(1){l=h;m=f[l>>2]|0;n=f[l+4>>2]|0;l=d;o=f[l>>2]|0;p=Rj(o|0,f[l+4>>2]|0,a|0,0)|0;l=I;if((n|0)<(l|0)|(n|0)==(l|0)&m>>>0

>>0){i=0;q=5;break}ge(g|0,(f[c>>2]|0)+o|0,a|0)|0;o=d;f[o>>2]=p;f[o+4>>2]=l;ge((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+j|0,g|0,a|0)|0;k=k+1|0;if((k|0)>=(b|0)){i=1;q=5;break}else j=j+a|0}if((q|0)==5){bn(g);return i|0}return 0}function _e(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=a+212|0;e=a+216|0;g=f[d>>2]|0;if((f[e>>2]|0)==(g|0)){h=0;return h|0}i=a+4|0;a=0;j=g;a:while(1){g=f[j+(a*144|0)>>2]|0;if(((g|0)>=0?(k=f[i>>2]|0,l=f[k+8>>2]|0,(g|0)<((f[k+12>>2]|0)-l>>2|0)):0)?(k=f[l+(g<<2)>>2]|0,(Na[f[(f[k>>2]|0)+24>>2]&127](k)|0)>0):0){g=0;do{if((Oa[f[(f[k>>2]|0)+20>>2]&127](k,g)|0)==(c|0))break a;g=g+1|0}while((g|0)<(Na[f[(f[k>>2]|0)+24>>2]&127](k)|0))}k=a+1|0;j=f[d>>2]|0;if(k>>>0>=(((f[e>>2]|0)-j|0)/144|0)>>>0){h=0;m=11;break}else a=k}if((m|0)==11)return h|0;m=f[d>>2]|0;h=(b[m+(a*144|0)+100>>0]|0)==0?0:m+(a*144|0)+4|0;return h|0}function $e(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+212|0;d=a+216|0;e=f[c>>2]|0;a:do if((f[d>>2]|0)!=(e|0)){g=a+4|0;h=0;i=e;b:while(1){j=f[i+(h*144|0)>>2]|0;if(((j|0)>=0?(k=f[g>>2]|0,l=f[k+8>>2]|0,(j|0)<((f[k+12>>2]|0)-l>>2|0)):0)?(k=f[l+(j<<2)>>2]|0,(Na[f[(f[k>>2]|0)+24>>2]&127](k)|0)>0):0){j=0;do{if((Oa[f[(f[k>>2]|0)+20>>2]&127](k,j)|0)==(b|0))break b;j=j+1|0}while((j|0)<(Na[f[(f[k>>2]|0)+24>>2]&127](k)|0))}k=h+1|0;i=f[c>>2]|0;if(k>>>0>=(((f[d>>2]|0)-i|0)/144|0)>>>0)break a;else h=k}m=(f[c>>2]|0)+(h*144|0)+104|0;return m|0}while(0);m=a+184|0;return m|0}function af(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+32|0;d=c+16|0;e=c+8|0;g=c;h=a+8|0;if(f[h>>2]<<5>>>0>=b>>>0){u=c;return}f[d>>2]=0;i=d+4|0;f[i>>2]=0;j=d+8|0;f[j>>2]=0;if((b|0)<0)um(d);k=((b+-1|0)>>>5)+1|0;b=bj(k<<2)|0;f[d>>2]=b;f[i>>2]=0;f[j>>2]=k;k=f[a>>2]|0;f[e>>2]=k;f[e+4>>2]=0;b=a+4|0;l=f[b>>2]|0;f[g>>2]=k+(l>>>5<<2);f[g+4>>2]=l&31;Hd(d,e,g);g=f[a>>2]|0;f[a>>2]=f[d>>2];f[d>>2]=g;d=f[b>>2]|0;f[b>>2]=f[i>>2];f[i>>2]=d;d=f[h>>2]|0;f[h>>2]=f[j>>2];f[j>>2]=d;if(g|0)dn(g);u=c;return}function bf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=u;u=u+16|0;e=c;do if(((h[(f[a+4>>2]|0)+36>>0]|0)<<8&65535)>511){g=d+8|0;i=f[g+4>>2]|0;j=d+16|0;k=j;l=f[k>>2]|0;m=f[k+4>>2]|0;if((i|0)>(m|0)|((i|0)==(m|0)?(f[g>>2]|0)>>>0>l>>>0:0)){g=b[(f[d>>2]|0)+l>>0]|0;i=Rj(l|0,m|0,1,0)|0;m=j;f[m>>2]=i;f[m+4>>2]=I;m=g&255;f[a+24>>2]=m;n=m;break}else{o=0;u=c;return o|0}}else n=f[a+24>>2]|0;while(0);f[e>>2]=928;f[e+4>>2]=-1;El(e,n);o=gh(e,f[a+16>>2]|0)|0;u=c;return o|0}function cf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=(e|0)/12|0;h=g+1|0;if(h>>>0>357913941)um(a);i=a+8|0;j=((f[i>>2]|0)-d|0)/12|0;k=j<<1;l=j>>>0<178956970?(k>>>0>>0?h:k):357913941;do if(l)if(l>>>0>357913941){k=ra(8)|0;Yk(k,9789);f[k>>2]=3704;va(k|0,856,80)}else{m=bj(l*12|0)|0;break}else m=0;while(0);k=m+(g*12|0)|0;f[k>>2]=f[b>>2];f[k+4>>2]=f[b+4>>2];f[k+8>>2]=f[b+8>>2];b=k+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)ge(b|0,d|0,e|0)|0;f[a>>2]=b;f[c>>2]=k+12;f[i>>2]=m+(l*12|0);if(!d)return;dn(d);return} +function Ya(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,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,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;b=u;u=u+16|0;c=b;do if(a>>>0<245){d=a>>>0<11?16:a+11&-8;e=d>>>3;g=f[3220]|0;h=g>>>e;if(h&3|0){i=(h&1^1)+e|0;j=12920+(i<<1<<2)|0;k=j+8|0;l=f[k>>2]|0;m=l+8|0;n=f[m>>2]|0;if((n|0)==(j|0))f[3220]=g&~(1<>2]=j;f[k>>2]=n}n=i<<3;f[l+4>>2]=n|3;i=l+n+4|0;f[i>>2]=f[i>>2]|1;o=m;u=b;return o|0}m=f[3222]|0;if(d>>>0>m>>>0){if(h|0){i=2<>>12&16;e=i>>>n;i=e>>>5&8;h=e>>>i;e=h>>>2&4;l=h>>>e;h=l>>>1&2;k=l>>>h;l=k>>>1&1;j=(i|n|e|h|l)+(k>>>l)|0;l=12920+(j<<1<<2)|0;k=l+8|0;h=f[k>>2]|0;e=h+8|0;n=f[e>>2]|0;if((n|0)==(l|0)){i=g&~(1<>2]=l;f[k>>2]=n;p=g}n=j<<3;j=n-d|0;f[h+4>>2]=d|3;k=h+d|0;f[k+4>>2]=j|1;f[h+n>>2]=j;if(m|0){n=f[3225]|0;h=m>>>3;l=12920+(h<<1<<2)|0;i=1<>2]|0;r=i}f[r>>2]=n;f[q+12>>2]=n;f[n+8>>2]=q;f[n+12>>2]=l}f[3222]=j;f[3225]=k;o=e;u=b;return o|0}e=f[3221]|0;if(e){k=(e&0-e)+-1|0;j=k>>>12&16;l=k>>>j;k=l>>>5&8;n=l>>>k;l=n>>>2&4;i=n>>>l;n=i>>>1&2;h=i>>>n;i=h>>>1&1;s=f[13184+((k|j|l|n|i)+(h>>>i)<<2)>>2]|0;i=(f[s+4>>2]&-8)-d|0;h=f[s+16+(((f[s+16>>2]|0)==0&1)<<2)>>2]|0;if(!h){t=s;v=i}else{n=s;s=i;i=h;while(1){h=(f[i+4>>2]&-8)-d|0;l=h>>>0>>0;j=l?h:s;h=l?i:n;i=f[i+16+(((f[i+16>>2]|0)==0&1)<<2)>>2]|0;if(!i){t=h;v=j;break}else{n=h;s=j}}}s=t+d|0;if(s>>>0>t>>>0){n=f[t+24>>2]|0;i=f[t+12>>2]|0;do if((i|0)==(t|0)){j=t+20|0;h=f[j>>2]|0;if(!h){l=t+16|0;k=f[l>>2]|0;if(!k){w=0;break}else{x=k;y=l}}else{x=h;y=j}while(1){j=x+20|0;h=f[j>>2]|0;if(h|0){x=h;y=j;continue}j=x+16|0;h=f[j>>2]|0;if(!h)break;else{x=h;y=j}}f[y>>2]=0;w=x}else{j=f[t+8>>2]|0;f[j+12>>2]=i;f[i+8>>2]=j;w=i}while(0);do if(n|0){i=f[t+28>>2]|0;j=13184+(i<<2)|0;if((t|0)==(f[j>>2]|0)){f[j>>2]=w;if(!w){f[3221]=e&~(1<>2]|0)!=(t|0)&1)<<2)>>2]=w;if(!w)break}f[w+24>>2]=n;i=f[t+16>>2]|0;if(i|0){f[w+16>>2]=i;f[i+24>>2]=w}i=f[t+20>>2]|0;if(i|0){f[w+20>>2]=i;f[i+24>>2]=w}}while(0);if(v>>>0<16){n=v+d|0;f[t+4>>2]=n|3;e=t+n+4|0;f[e>>2]=f[e>>2]|1}else{f[t+4>>2]=d|3;f[s+4>>2]=v|1;f[s+v>>2]=v;if(m|0){e=f[3225]|0;n=m>>>3;i=12920+(n<<1<<2)|0;j=1<>2]|0;A=j}f[A>>2]=e;f[z+12>>2]=e;f[e+8>>2]=z;f[e+12>>2]=i}f[3222]=v;f[3225]=s}o=t+8|0;u=b;return o|0}else B=d}else B=d}else B=d}else if(a>>>0<=4294967231){i=a+11|0;e=i&-8;j=f[3221]|0;if(j){n=0-e|0;h=i>>>8;if(h)if(e>>>0>16777215)C=31;else{i=(h+1048320|0)>>>16&8;l=h<>>16&4;k=l<>>16&2;D=14-(h|i|l)+(k<>>15)|0;C=e>>>(D+7|0)&1|D<<1}else C=0;D=f[13184+(C<<2)>>2]|0;a:do if(!D){E=0;F=0;G=n;H=57}else{l=0;k=n;i=D;h=e<<((C|0)==31?0:25-(C>>>1)|0);I=0;while(1){J=(f[i+4>>2]&-8)-e|0;if(J>>>0>>0)if(!J){K=0;L=i;M=i;H=61;break a}else{N=i;O=J}else{N=l;O=k}J=f[i+20>>2]|0;i=f[i+16+(h>>>31<<2)>>2]|0;P=(J|0)==0|(J|0)==(i|0)?I:J;J=(i|0)==0;if(J){E=P;F=N;G=O;H=57;break}else{l=N;k=O;h=h<<((J^1)&1);I=P}}}while(0);if((H|0)==57){if((E|0)==0&(F|0)==0){D=2<>>12&16;d=D>>>n;D=d>>>5&8;s=d>>>D;d=s>>>2&4;g=s>>>d;s=g>>>1&2;m=g>>>s;g=m>>>1&1;Q=0;R=f[13184+((D|n|d|s|g)+(m>>>g)<<2)>>2]|0}else{Q=F;R=E}if(!R){S=Q;T=G}else{K=G;L=R;M=Q;H=61}}if((H|0)==61)while(1){H=0;g=(f[L+4>>2]&-8)-e|0;m=g>>>0>>0;s=m?g:K;g=m?L:M;L=f[L+16+(((f[L+16>>2]|0)==0&1)<<2)>>2]|0;if(!L){S=g;T=s;break}else{K=s;M=g;H=61}}if((S|0)!=0?T>>>0<((f[3222]|0)-e|0)>>>0:0){g=S+e|0;if(g>>>0<=S>>>0){o=0;u=b;return o|0}s=f[S+24>>2]|0;m=f[S+12>>2]|0;do if((m|0)==(S|0)){d=S+20|0;n=f[d>>2]|0;if(!n){D=S+16|0;I=f[D>>2]|0;if(!I){U=0;break}else{V=I;W=D}}else{V=n;W=d}while(1){d=V+20|0;n=f[d>>2]|0;if(n|0){V=n;W=d;continue}d=V+16|0;n=f[d>>2]|0;if(!n)break;else{V=n;W=d}}f[W>>2]=0;U=V}else{d=f[S+8>>2]|0;f[d+12>>2]=m;f[m+8>>2]=d;U=m}while(0);do if(s){m=f[S+28>>2]|0;d=13184+(m<<2)|0;if((S|0)==(f[d>>2]|0)){f[d>>2]=U;if(!U){d=j&~(1<>2]|0)!=(S|0)&1)<<2)>>2]=U;if(!U){X=j;break}}f[U+24>>2]=s;d=f[S+16>>2]|0;if(d|0){f[U+16>>2]=d;f[d+24>>2]=U}d=f[S+20>>2]|0;if(d){f[U+20>>2]=d;f[d+24>>2]=U;X=j}else X=j}else X=j;while(0);do if(T>>>0>=16){f[S+4>>2]=e|3;f[g+4>>2]=T|1;f[g+T>>2]=T;j=T>>>3;if(T>>>0<256){s=12920+(j<<1<<2)|0;d=f[3220]|0;m=1<>2]|0;Z=m}f[Z>>2]=g;f[Y+12>>2]=g;f[g+8>>2]=Y;f[g+12>>2]=s;break}s=T>>>8;if(s)if(T>>>0>16777215)_=31;else{m=(s+1048320|0)>>>16&8;d=s<>>16&4;j=d<>>16&2;n=14-(s|m|d)+(j<>>15)|0;_=T>>>(n+7|0)&1|n<<1}else _=0;n=13184+(_<<2)|0;f[g+28>>2]=_;d=g+16|0;f[d+4>>2]=0;f[d>>2]=0;d=1<<_;if(!(X&d)){f[3221]=X|d;f[n>>2]=g;f[g+24>>2]=n;f[g+12>>2]=g;f[g+8>>2]=g;break}d=T<<((_|0)==31?0:25-(_>>>1)|0);j=f[n>>2]|0;while(1){if((f[j+4>>2]&-8|0)==(T|0)){H=97;break}$=j+16+(d>>>31<<2)|0;n=f[$>>2]|0;if(!n){H=96;break}else{d=d<<1;j=n}}if((H|0)==96){f[$>>2]=g;f[g+24>>2]=j;f[g+12>>2]=g;f[g+8>>2]=g;break}else if((H|0)==97){d=j+8|0;n=f[d>>2]|0;f[n+12>>2]=g;f[d>>2]=g;f[g+8>>2]=n;f[g+12>>2]=j;f[g+24>>2]=0;break}}else{n=T+e|0;f[S+4>>2]=n|3;d=S+n+4|0;f[d>>2]=f[d>>2]|1}while(0);o=S+8|0;u=b;return o|0}else B=e}else B=e}else B=-1;while(0);S=f[3222]|0;if(S>>>0>=B>>>0){T=S-B|0;$=f[3225]|0;if(T>>>0>15){_=$+B|0;f[3225]=_;f[3222]=T;f[_+4>>2]=T|1;f[$+S>>2]=T;f[$+4>>2]=B|3}else{f[3222]=0;f[3225]=0;f[$+4>>2]=S|3;T=$+S+4|0;f[T>>2]=f[T>>2]|1}o=$+8|0;u=b;return o|0}$=f[3223]|0;if($>>>0>B>>>0){T=$-B|0;f[3223]=T;S=f[3226]|0;_=S+B|0;f[3226]=_;f[_+4>>2]=T|1;f[S+4>>2]=B|3;o=S+8|0;u=b;return o|0}if(!(f[3338]|0)){f[3340]=4096;f[3339]=4096;f[3341]=-1;f[3342]=-1;f[3343]=0;f[3331]=0;f[3338]=c&-16^1431655768;aa=4096}else aa=f[3340]|0;c=B+48|0;S=B+47|0;T=aa+S|0;_=0-aa|0;aa=T&_;if(aa>>>0<=B>>>0){o=0;u=b;return o|0}X=f[3330]|0;if(X|0?(Y=f[3328]|0,Z=Y+aa|0,Z>>>0<=Y>>>0|Z>>>0>X>>>0):0){o=0;u=b;return o|0}b:do if(!(f[3331]&4)){X=f[3226]|0;c:do if(X){Z=13328;while(1){Y=f[Z>>2]|0;if(Y>>>0<=X>>>0?(ba=Z+4|0,(Y+(f[ba>>2]|0)|0)>>>0>X>>>0):0)break;Y=f[Z+8>>2]|0;if(!Y){H=118;break c}else Z=Y}j=T-$&_;if(j>>>0<2147483647){Y=Vh(j|0)|0;if((Y|0)==((f[Z>>2]|0)+(f[ba>>2]|0)|0))if((Y|0)==(-1|0))ca=j;else{da=j;ea=Y;H=135;break b}else{fa=Y;ga=j;H=126}}else ca=0}else H=118;while(0);do if((H|0)==118){X=Vh(0)|0;if((X|0)!=(-1|0)?(e=X,j=f[3339]|0,Y=j+-1|0,U=((Y&e|0)==0?0:(Y+e&0-j)-e|0)+aa|0,e=f[3328]|0,j=U+e|0,U>>>0>B>>>0&U>>>0<2147483647):0){Y=f[3330]|0;if(Y|0?j>>>0<=e>>>0|j>>>0>Y>>>0:0){ca=0;break}Y=Vh(U|0)|0;if((Y|0)==(X|0)){da=U;ea=X;H=135;break b}else{fa=Y;ga=U;H=126}}else ca=0}while(0);do if((H|0)==126){U=0-ga|0;if(!(c>>>0>ga>>>0&(ga>>>0<2147483647&(fa|0)!=(-1|0))))if((fa|0)==(-1|0)){ca=0;break}else{da=ga;ea=fa;H=135;break b}Y=f[3340]|0;X=S-ga+Y&0-Y;if(X>>>0>=2147483647){da=ga;ea=fa;H=135;break b}if((Vh(X|0)|0)==(-1|0)){Vh(U|0)|0;ca=0;break}else{da=X+ga|0;ea=fa;H=135;break b}}while(0);f[3331]=f[3331]|4;ha=ca;H=133}else{ha=0;H=133}while(0);if(((H|0)==133?aa>>>0<2147483647:0)?(ca=Vh(aa|0)|0,aa=Vh(0)|0,fa=aa-ca|0,ga=fa>>>0>(B+40|0)>>>0,!((ca|0)==(-1|0)|ga^1|ca>>>0>>0&((ca|0)!=(-1|0)&(aa|0)!=(-1|0))^1)):0){da=ga?fa:ha;ea=ca;H=135}if((H|0)==135){ca=(f[3328]|0)+da|0;f[3328]=ca;if(ca>>>0>(f[3329]|0)>>>0)f[3329]=ca;ca=f[3226]|0;do if(ca){ha=13328;while(1){ia=f[ha>>2]|0;ja=ha+4|0;ka=f[ja>>2]|0;if((ea|0)==(ia+ka|0)){H=143;break}fa=f[ha+8>>2]|0;if(!fa)break;else ha=fa}if(((H|0)==143?(f[ha+12>>2]&8|0)==0:0)?ea>>>0>ca>>>0&ia>>>0<=ca>>>0:0){f[ja>>2]=ka+da;fa=(f[3223]|0)+da|0;ga=ca+8|0;aa=(ga&7|0)==0?0:0-ga&7;ga=ca+aa|0;S=fa-aa|0;f[3226]=ga;f[3223]=S;f[ga+4>>2]=S|1;f[ca+fa+4>>2]=40;f[3227]=f[3342];break}if(ea>>>0<(f[3224]|0)>>>0)f[3224]=ea;fa=ea+da|0;S=13328;while(1){if((f[S>>2]|0)==(fa|0)){H=151;break}ga=f[S+8>>2]|0;if(!ga){la=13328;break}else S=ga}if((H|0)==151)if(!(f[S+12>>2]&8)){f[S>>2]=ea;ha=S+4|0;f[ha>>2]=(f[ha>>2]|0)+da;ha=ea+8|0;ga=ea+((ha&7|0)==0?0:0-ha&7)|0;ha=fa+8|0;aa=fa+((ha&7|0)==0?0:0-ha&7)|0;ha=ga+B|0;c=aa-ga-B|0;f[ga+4>>2]=B|3;do if((ca|0)!=(aa|0)){if((f[3225]|0)==(aa|0)){ba=(f[3222]|0)+c|0;f[3222]=ba;f[3225]=ha;f[ha+4>>2]=ba|1;f[ha+ba>>2]=ba;break}ba=f[aa+4>>2]|0;if((ba&3|0)==1){_=ba&-8;$=ba>>>3;d:do if(ba>>>0<256){T=f[aa+8>>2]|0;X=f[aa+12>>2]|0;if((X|0)==(T|0)){f[3220]=f[3220]&~(1<<$);break}else{f[T+12>>2]=X;f[X+8>>2]=T;break}}else{T=f[aa+24>>2]|0;X=f[aa+12>>2]|0;do if((X|0)==(aa|0)){U=aa+16|0;Y=U+4|0;j=f[Y>>2]|0;if(!j){e=f[U>>2]|0;if(!e){ma=0;break}else{na=e;oa=U}}else{na=j;oa=Y}while(1){Y=na+20|0;j=f[Y>>2]|0;if(j|0){na=j;oa=Y;continue}Y=na+16|0;j=f[Y>>2]|0;if(!j)break;else{na=j;oa=Y}}f[oa>>2]=0;ma=na}else{Y=f[aa+8>>2]|0;f[Y+12>>2]=X;f[X+8>>2]=Y;ma=X}while(0);if(!T)break;X=f[aa+28>>2]|0;Y=13184+(X<<2)|0;do if((f[Y>>2]|0)!=(aa|0)){f[T+16+(((f[T+16>>2]|0)!=(aa|0)&1)<<2)>>2]=ma;if(!ma)break d}else{f[Y>>2]=ma;if(ma|0)break;f[3221]=f[3221]&~(1<>2]=T;X=aa+16|0;Y=f[X>>2]|0;if(Y|0){f[ma+16>>2]=Y;f[Y+24>>2]=ma}Y=f[X+4>>2]|0;if(!Y)break;f[ma+20>>2]=Y;f[Y+24>>2]=ma}while(0);pa=aa+_|0;qa=_+c|0}else{pa=aa;qa=c}$=pa+4|0;f[$>>2]=f[$>>2]&-2;f[ha+4>>2]=qa|1;f[ha+qa>>2]=qa;$=qa>>>3;if(qa>>>0<256){ba=12920+($<<1<<2)|0;Z=f[3220]|0;Y=1<<$;if(!(Z&Y)){f[3220]=Z|Y;ra=ba;sa=ba+8|0}else{Y=ba+8|0;ra=f[Y>>2]|0;sa=Y}f[sa>>2]=ha;f[ra+12>>2]=ha;f[ha+8>>2]=ra;f[ha+12>>2]=ba;break}ba=qa>>>8;do if(!ba)ta=0;else{if(qa>>>0>16777215){ta=31;break}Y=(ba+1048320|0)>>>16&8;Z=ba<>>16&4;X=Z<<$;Z=(X+245760|0)>>>16&2;j=14-($|Y|Z)+(X<>>15)|0;ta=qa>>>(j+7|0)&1|j<<1}while(0);ba=13184+(ta<<2)|0;f[ha+28>>2]=ta;_=ha+16|0;f[_+4>>2]=0;f[_>>2]=0;_=f[3221]|0;j=1<>2]=ha;f[ha+24>>2]=ba;f[ha+12>>2]=ha;f[ha+8>>2]=ha;break}j=qa<<((ta|0)==31?0:25-(ta>>>1)|0);_=f[ba>>2]|0;while(1){if((f[_+4>>2]&-8|0)==(qa|0)){H=192;break}ua=_+16+(j>>>31<<2)|0;ba=f[ua>>2]|0;if(!ba){H=191;break}else{j=j<<1;_=ba}}if((H|0)==191){f[ua>>2]=ha;f[ha+24>>2]=_;f[ha+12>>2]=ha;f[ha+8>>2]=ha;break}else if((H|0)==192){j=_+8|0;ba=f[j>>2]|0;f[ba+12>>2]=ha;f[j>>2]=ha;f[ha+8>>2]=ba;f[ha+12>>2]=_;f[ha+24>>2]=0;break}}else{ba=(f[3223]|0)+c|0;f[3223]=ba;f[3226]=ha;f[ha+4>>2]=ba|1}while(0);o=ga+8|0;u=b;return o|0}else la=13328;while(1){ha=f[la>>2]|0;if(ha>>>0<=ca>>>0?(va=ha+(f[la+4>>2]|0)|0,va>>>0>ca>>>0):0)break;la=f[la+8>>2]|0}ga=va+-47|0;ha=ga+8|0;c=ga+((ha&7|0)==0?0:0-ha&7)|0;ha=ca+16|0;ga=c>>>0>>0?ca:c;c=ga+8|0;aa=da+-40|0;fa=ea+8|0;S=(fa&7|0)==0?0:0-fa&7;fa=ea+S|0;ba=aa-S|0;f[3226]=fa;f[3223]=ba;f[fa+4>>2]=ba|1;f[ea+aa+4>>2]=40;f[3227]=f[3342];aa=ga+4|0;f[aa>>2]=27;f[c>>2]=f[3332];f[c+4>>2]=f[3333];f[c+8>>2]=f[3334];f[c+12>>2]=f[3335];f[3332]=ea;f[3333]=da;f[3335]=0;f[3334]=c;c=ga+24|0;do{ba=c;c=c+4|0;f[c>>2]=7}while((ba+8|0)>>>0>>0);if((ga|0)!=(ca|0)){c=ga-ca|0;f[aa>>2]=f[aa>>2]&-2;f[ca+4>>2]=c|1;f[ga>>2]=c;ba=c>>>3;if(c>>>0<256){fa=12920+(ba<<1<<2)|0;S=f[3220]|0;j=1<>2]|0;xa=j}f[xa>>2]=ca;f[wa+12>>2]=ca;f[ca+8>>2]=wa;f[ca+12>>2]=fa;break}fa=c>>>8;if(fa)if(c>>>0>16777215)ya=31;else{j=(fa+1048320|0)>>>16&8;S=fa<>>16&4;ba=S<>>16&2;Z=14-(fa|j|S)+(ba<>>15)|0;ya=c>>>(Z+7|0)&1|Z<<1}else ya=0;Z=13184+(ya<<2)|0;f[ca+28>>2]=ya;f[ca+20>>2]=0;f[ha>>2]=0;S=f[3221]|0;ba=1<>2]=ca;f[ca+24>>2]=Z;f[ca+12>>2]=ca;f[ca+8>>2]=ca;break}ba=c<<((ya|0)==31?0:25-(ya>>>1)|0);S=f[Z>>2]|0;while(1){if((f[S+4>>2]&-8|0)==(c|0)){H=213;break}za=S+16+(ba>>>31<<2)|0;Z=f[za>>2]|0;if(!Z){H=212;break}else{ba=ba<<1;S=Z}}if((H|0)==212){f[za>>2]=ca;f[ca+24>>2]=S;f[ca+12>>2]=ca;f[ca+8>>2]=ca;break}else if((H|0)==213){ba=S+8|0;c=f[ba>>2]|0;f[c+12>>2]=ca;f[ba>>2]=ca;f[ca+8>>2]=c;f[ca+12>>2]=S;f[ca+24>>2]=0;break}}}else{c=f[3224]|0;if((c|0)==0|ea>>>0>>0)f[3224]=ea;f[3332]=ea;f[3333]=da;f[3335]=0;f[3229]=f[3338];f[3228]=-1;f[3233]=12920;f[3232]=12920;f[3235]=12928;f[3234]=12928;f[3237]=12936;f[3236]=12936;f[3239]=12944;f[3238]=12944;f[3241]=12952;f[3240]=12952;f[3243]=12960;f[3242]=12960;f[3245]=12968;f[3244]=12968;f[3247]=12976;f[3246]=12976;f[3249]=12984;f[3248]=12984;f[3251]=12992;f[3250]=12992;f[3253]=13e3;f[3252]=13e3;f[3255]=13008;f[3254]=13008;f[3257]=13016;f[3256]=13016;f[3259]=13024;f[3258]=13024;f[3261]=13032;f[3260]=13032;f[3263]=13040;f[3262]=13040;f[3265]=13048;f[3264]=13048;f[3267]=13056;f[3266]=13056;f[3269]=13064;f[3268]=13064;f[3271]=13072;f[3270]=13072;f[3273]=13080;f[3272]=13080;f[3275]=13088;f[3274]=13088;f[3277]=13096;f[3276]=13096;f[3279]=13104;f[3278]=13104;f[3281]=13112;f[3280]=13112;f[3283]=13120;f[3282]=13120;f[3285]=13128;f[3284]=13128;f[3287]=13136;f[3286]=13136;f[3289]=13144;f[3288]=13144;f[3291]=13152;f[3290]=13152;f[3293]=13160;f[3292]=13160;f[3295]=13168;f[3294]=13168;c=da+-40|0;ba=ea+8|0;ha=(ba&7|0)==0?0:0-ba&7;ba=ea+ha|0;ga=c-ha|0;f[3226]=ba;f[3223]=ga;f[ba+4>>2]=ga|1;f[ea+c+4>>2]=40;f[3227]=f[3342]}while(0);ea=f[3223]|0;if(ea>>>0>B>>>0){da=ea-B|0;f[3223]=da;ea=f[3226]|0;ca=ea+B|0;f[3226]=ca;f[ca+4>>2]=da|1;f[ea+4>>2]=B|3;o=ea+8|0;u=b;return o|0}}ea=ln()|0;f[ea>>2]=12;o=0;u=b;return o|0}function Za(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,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,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;d=u;u=u+80|0;e=d+56|0;g=d+40|0;h=d+16|0;i=d+4|0;j=d+36|0;k=d;f[g>>2]=0;l=g+4|0;f[l>>2]=0;f[g+8>>2]=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;n[h+16>>2]=$(1.0);f[i>>2]=0;m=i+4|0;f[m>>2]=0;f[i+8>>2]=0;o=(f[a+212>>2]|0)==(f[a+216>>2]|0);p=a+120|0;q=f[a+124>>2]|0;a:do if((c|0)>0){r=a+224|0;s=a+396|0;t=a+392|0;v=a+8|0;w=g+8|0;x=a+36|0;y=a+40|0;z=c+-1|0;A=a+420|0;B=a+408|0;C=h+4|0;D=a+380|0;E=i+8|0;F=0;while(1){G=F+1|0;H=f[s>>2]|0;b:do if((H|0)==-1){f[t>>2]=7;I=89}else{J=(f[A>>2]|0)+(H<<2)|0;K=f[J>>2]|0;L=K+-1|0;f[J>>2]=L;if((K|0)<1){M=-1;I=174;break a}K=f[(f[(f[B>>2]|0)+((f[s>>2]|0)*12|0)>>2]|0)+(L<<2)>>2]|0;L=f[2504+(K<<2)>>2]|0;f[t>>2]=L;if(!K){J=f[l>>2]|0;if((f[g>>2]|0)==(J|0)){M=-1;I=174;break a}N=J+-4|0;O=f[N>>2]|0;P=f[v>>2]|0;Q=(O|0)==-1;R=O+1|0;if(!Q?(S=((R>>>0)%3|0|0)==0?O+-2|0:R,(S|0)!=-1):0)T=f[(f[P>>2]|0)+(S<<2)>>2]|0;else T=-1;S=f[P+24>>2]|0;R=f[S+(T<<2)>>2]|0;U=R+1|0;V=S;if((R|0)==-1)W=-1;else W=((U>>>0)%3|0|0)==0?R+-2|0:U;U=F*3|0;R=U+1|0;X=f[P+12>>2]|0;f[X+(O<<2)>>2]=R;f[X+(R<<2)>>2]=O;Y=U+2|0;f[X+(W<<2)>>2]=Y;f[X+(Y<<2)>>2]=W;X=f[P>>2]|0;f[X+(U<<2)>>2]=T;Z=W+1|0;if((W|0)!=-1?(_=((Z>>>0)%3|0|0)==0?W+-2|0:Z,(_|0)!=-1):0)aa=f[X+(_<<2)>>2]|0;else aa=-1;f[X+(R<<2)>>2]=aa;if(!Q?(Q=(((O>>>0)%3|0|0)==0?2:-1)+O|0,(Q|0)!=-1):0){O=f[X+(Q<<2)>>2]|0;f[X+(Y<<2)>>2]=O;if((O|0)!=-1)f[S+(O<<2)>>2]=Y}else f[X+(Y<<2)>>2]=-1;if(((f[P+28>>2]|0)-V>>2|0)>(q|0)){M=-1;I=174;break a}V=(f[p>>2]|0)+(T>>>5<<2)|0;f[V>>2]=f[V>>2]&~(1<<(T&31));f[N>>2]=U;ba=J}else{J=(K|0)==3;switch(L|0){case 7:{I=89;break b;break}case 3:case 5:{L=f[l>>2]|0;if((f[g>>2]|0)==(L|0)){M=-1;I=174;break a}K=f[L+-4>>2]|0;L=F*3|0;U=J?L:L+2|0;N=L+(J&1)|0;V=(J?2:1)+L|0;J=f[v>>2]|0;P=f[J+12>>2]|0;f[P+(V<<2)>>2]=K;f[P+(K<<2)>>2]=V;P=J+24|0;Y=J+28|0;X=f[Y>>2]|0;if((X|0)==(f[J+32>>2]|0)){xf(P,2336);ca=f[Y>>2]|0}else{f[X>>2]=-1;J=X+4|0;f[Y>>2]=J;ca=J}J=ca-(f[P>>2]|0)>>2;P=J+-1|0;Y=f[v>>2]|0;X=f[Y>>2]|0;f[X+(V<<2)>>2]=P;if(J|0)f[(f[Y+24>>2]|0)+(P<<2)>>2]=V;if((K|0)!=-1){V=(((K>>>0)%3|0|0)==0?2:-1)+K|0;if((V|0)!=-1){P=f[X+(V<<2)>>2]|0;f[X+(U<<2)>>2]=P;if((P|0)!=-1)f[(f[Y+24>>2]|0)+(P<<2)>>2]=U}else f[X+(U<<2)>>2]=-1;P=K+1|0;Y=((P>>>0)%3|0|0)==0?K+-2|0:P;if((Y|0)==-1)da=-1;else da=f[X+(Y<<2)>>2]|0}else{f[X+(U<<2)>>2]=-1;da=-1}f[X+(N<<2)>>2]=da;N=f[l>>2]|0;f[N+-4>>2]=L;f[j>>2]=f[N+-4>>2];f[e>>2]=f[j>>2];qc(r,e);I=108;break b;break}case 1:break;default:{M=-1;I=174;break a}}N=f[g>>2]|0;L=f[l>>2]|0;if((N|0)==(L|0)){M=-1;I=174;break a}X=L+-4|0;U=f[X>>2]|0;f[l>>2]=X;Y=f[C>>2]|0;c:do if(Y){P=Y+-1|0;K=(P&Y|0)==0;if(!K)if(F>>>0>>0)ea=F;else ea=(F>>>0)%(Y>>>0)|0;else ea=P&F;V=f[(f[h>>2]|0)+(ea<<2)>>2]|0;if((V|0)!=0?(J=f[V>>2]|0,(J|0)!=0):0){d:do if(K){V=J;while(1){O=f[V+4>>2]|0;S=(O|0)==(F|0);if(!(S|(O&P|0)==(ea|0))){fa=N;ga=X;break c}if(S?(f[V+8>>2]|0)==(F|0):0){ha=V;break d}V=f[V>>2]|0;if(!V){fa=N;ga=X;break c}}}else{V=J;while(1){S=f[V+4>>2]|0;if((S|0)==(F|0)){if((f[V+8>>2]|0)==(F|0)){ha=V;break d}}else{if(S>>>0>>0)ia=S;else ia=(S>>>0)%(Y>>>0)|0;if((ia|0)!=(ea|0)){fa=N;ga=X;break c}}V=f[V>>2]|0;if(!V){fa=N;ga=X;break c}}}while(0);J=ha+12|0;if((X|0)==(f[w>>2]|0)){xf(g,J);fa=f[g>>2]|0;ga=f[l>>2]|0;break}else{f[X>>2]=f[J>>2];f[l>>2]=L;fa=N;ga=L;break}}else{fa=N;ga=X}}else{fa=N;ga=X}while(0);if((fa|0)==(ga|0)){M=-1;I=174;break a}X=f[ga+-4>>2]|0;N=F*3|0;L=N+2|0;Y=f[v>>2]|0;J=f[Y+12>>2]|0;f[J+(X<<2)>>2]=L;f[J+(L<<2)>>2]=X;P=N+1|0;f[J+(U<<2)>>2]=P;f[J+(P<<2)>>2]=U;if((X|0)!=-1){K=(((X>>>0)%3|0|0)==0?2:-1)+X|0;if((K|0)==-1)ja=-1;else ja=f[(f[Y>>2]|0)+(K<<2)>>2]|0;K=f[Y>>2]|0;f[K+(N<<2)>>2]=ja;V=X+1|0;S=((V>>>0)%3|0|0)==0?X+-2|0:V;if((S|0)==-1){ka=-1;la=ja;ma=K;na=Y}else{ka=f[K+(S<<2)>>2]|0;la=ja;ma=K;na=Y}}else{K=f[Y>>2]|0;f[K+(N<<2)>>2]=-1;ka=-1;la=-1;ma=K;na=Y}f[ma+(P<<2)>>2]=ka;if((U|0)!=-1){P=(((U>>>0)%3|0|0)==0?2:-1)+U|0;if((P|0)!=-1){K=f[ma+(P<<2)>>2]|0;f[ma+(L<<2)>>2]=K;if((K|0)!=-1)f[(f[Y+24>>2]|0)+(K<<2)>>2]=L}else f[ma+(L<<2)>>2]=-1;K=U+1|0;P=((K>>>0)%3|0|0)==0?U+-2|0:K;if((P|0)==-1){oa=-1;pa=-1}else{oa=f[ma+(P<<2)>>2]|0;pa=P}}else{f[ma+(L<<2)>>2]=-1;oa=-1;pa=-1}f[e>>2]=oa;L=f[D>>2]|0;P=L+(la<<2)|0;f[P>>2]=(f[P>>2]|0)+(f[L+(oa<<2)>>2]|0);L=f[Y+24>>2]|0;if((la|0)!=-1)f[L+(la<<2)>>2]=f[L+(f[e>>2]<<2)>>2];e:do if((pa|0)!=-1){Y=f[na>>2]|0;P=pa;do{f[Y+(P<<2)>>2]=la;K=P+1|0;S=((K>>>0)%3|0|0)==0?P+-2|0:K;if((S|0)==-1)break e;K=f[J+(S<<2)>>2]|0;S=K+1|0;if((K|0)==-1)break e;P=((S>>>0)%3|0|0)==0?K+-2|0:S}while((P|0)!=-1)}while(0);f[L+(f[e>>2]<<2)>>2]=-1;do if(o){J=f[m>>2]|0;if((J|0)==(f[E>>2]|0)){xf(i,e);qa=f[l>>2]|0;break}else{f[J>>2]=f[e>>2];f[m>>2]=J+4;qa=ga;break}}else qa=ga;while(0);f[qa+-4>>2]=N;ba=qa}f[j>>2]=f[ba+-4>>2];f[e>>2]=f[j>>2];qc(r,e)}while(0);if((I|0)==89){I=0;f[e>>2]=F*3;H=f[v>>2]|0;L=H+24|0;J=H+28|0;U=f[J>>2]|0;if((U|0)==(f[H+32>>2]|0)){xf(L,2336);ra=f[J>>2]|0}else{f[U>>2]=-1;H=U+4|0;f[J>>2]=H;ra=H}H=ra-(f[L>>2]|0)>>2;L=H+-1|0;J=f[v>>2]|0;U=f[e>>2]|0;P=f[J>>2]|0;f[P+(U<<2)>>2]=L;Y=J+24|0;S=J+28|0;K=f[S>>2]|0;if((K|0)==(f[J+32>>2]|0)){xf(Y,2336);sa=f[S>>2]|0;ta=f[J>>2]|0}else{f[K>>2]=-1;J=K+4|0;f[S>>2]=J;sa=J;ta=P}f[ta+(U+1<<2)>>2]=(sa-(f[Y>>2]|0)>>2)+-1;Y=f[v>>2]|0;U=(f[e>>2]|0)+2|0;P=Y+24|0;J=Y+28|0;S=f[J>>2]|0;if((S|0)==(f[Y+32>>2]|0)){xf(P,2336);ua=f[J>>2]|0}else{f[S>>2]=-1;K=S+4|0;f[J>>2]=K;ua=K}f[(f[Y>>2]|0)+(U<<2)>>2]=(ua-(f[P>>2]|0)>>2)+-1;P=f[e>>2]|0;U=f[(f[v>>2]|0)+24>>2]|0;if(H){f[U+(L<<2)>>2]=P;if((H|0)!=-1){f[U+(H<<2)>>2]=(f[e>>2]|0)+1;L=H+1|0;if((L|0)!=-1){va=L;I=102}}else{va=0;I=102}}else{f[U+(H<<2)>>2]=P+1;va=1;I=102}if((I|0)==102){I=0;f[U+(va<<2)>>2]=(f[e>>2]|0)+2}U=f[l>>2]|0;if((U|0)==(f[w>>2]|0)){xf(g,e);wa=f[l>>2]|0}else{f[U>>2]=f[e>>2];P=U+4|0;f[l>>2]=P;wa=P}f[j>>2]=f[wa+-4>>2];f[e>>2]=f[j>>2];qc(r,e);I=108}f:do if((I|0)==108?(I=0,P=c-F+-1|0,U=f[y>>2]|0,(U|0)!=(f[x>>2]|0)):0){H=U;do{U=H;L=f[U+-8>>2]|0;if(L>>>0>P>>>0){M=-1;I=174;break a}if((L|0)!=(P|0))break f;L=b[U+-4>>0]|0;Y=f[U+-12>>2]|0;f[y>>2]=U+-12;if((Y|0)<0){M=-1;I=174;break a}U=f[(f[l>>2]|0)+-4>>2]|0;K=(U|0)==-1;do if(!(L&1))if(!K)if(!((U>>>0)%3|0)){xa=U+2|0;break}else{xa=U+-1|0;break}else xa=-1;else{J=U+1|0;if(K)xa=-1;else xa=((J>>>0)%3|0|0)==0?U+-2|0:J}while(0);f[e>>2]=z-Y;U=sc(h,e)|0;f[U>>2]=xa;H=f[y>>2]|0}while((H|0)!=(f[x>>2]|0))}while(0);if((G|0)<(c|0))F=G;else{ya=G;za=v;I=121;break}}}else{ya=0;za=a+8|0;I=121}while(0);g:do if((I|0)==121){c=f[za>>2]|0;if(((f[c+28>>2]|0)-(f[c+24>>2]|0)>>2|0)<=(q|0)){xa=f[l>>2]|0;do if((xa|0)!=(f[g>>2]|0)){j=a+304|0;wa=a+60|0;va=a+64|0;ua=a+68|0;sa=a+76|0;ta=a+80|0;ra=a+72|0;ba=ya;qa=xa;h:while(1){ga=qa;f[e>>2]=f[ga+-4>>2];f[l>>2]=ga+-4;do if(!(Wg(j)|0)){ga=f[va>>2]|0;o=f[ua>>2]|0;if((ga|0)==(o<<5|0)){if((ga+1|0)<0){I=149;break h}la=o<<6;o=ga+32&-32;af(wa,ga>>>0<1073741823?(la>>>0>>0?o:la):2147483647);Aa=f[va>>2]|0}else Aa=ga;f[va>>2]=Aa+1;ga=(f[wa>>2]|0)+(Aa>>>5<<2)|0;f[ga>>2]=f[ga>>2]&~(1<<(Aa&31));ga=f[sa>>2]|0;if((ga|0)==(f[ta>>2]|0)){xf(ra,e);Ba=ba;break}else{f[ga>>2]=f[e>>2];f[sa>>2]=ga+4;Ba=ba;break}}else{ga=f[za>>2]|0;la=f[ga>>2]|0;o=la;if((ba|0)>=(((f[ga+4>>2]|0)-la>>2>>>0)/3|0|0)){I=155;break h}la=f[e>>2]|0;pa=la+1|0;if((la|0)!=-1?(na=((pa>>>0)%3|0|0)==0?la+-2|0:pa,(na|0)!=-1):0)Ca=f[o+(na<<2)>>2]|0;else Ca=-1;na=f[ga+24>>2]|0;pa=f[na+(Ca<<2)>>2]|0;oa=pa+1|0;if((pa|0)!=-1?(ma=((oa>>>0)%3|0|0)==0?pa+-2|0:oa,oa=ma+1|0,(ma|0)!=-1):0){pa=((oa>>>0)%3|0|0)==0?ma+-2|0:oa;if((pa|0)==-1){Da=-1;Ea=ma}else{Da=f[o+(pa<<2)>>2]|0;Ea=ma}}else{Da=-1;Ea=-1}ma=f[na+(Da<<2)>>2]|0;na=ma+1|0;if((ma|0)!=-1?(pa=((na>>>0)%3|0|0)==0?ma+-2|0:na,na=pa+1|0,(pa|0)!=-1):0){ma=((na>>>0)%3|0|0)==0?pa+-2|0:na;if((ma|0)==-1){Fa=-1;Ga=pa}else{Fa=f[o+(ma<<2)>>2]|0;Ga=pa}}else{Fa=-1;Ga=-1}pa=ba*3|0;f[k>>2]=pa;ma=f[ga+12>>2]|0;f[ma+(pa<<2)>>2]=la;f[ma+(la<<2)>>2]=pa;pa=(f[k>>2]|0)+1|0;f[ma+(pa<<2)>>2]=Ea;f[ma+(Ea<<2)>>2]=pa;pa=(f[k>>2]|0)+2|0;f[ma+(pa<<2)>>2]=Ga;f[ma+(Ga<<2)>>2]=pa;pa=f[k>>2]|0;ma=o+(pa<<2)|0;f[ma>>2]=Da;f[o+(pa+1<<2)>>2]=Fa;f[o+(pa+2<<2)>>2]=Ca;if((pa|0)==-1)Ha=-1;else Ha=f[ma>>2]|0;ma=f[p>>2]|0;pa=ma+(Ha>>>5<<2)|0;f[pa>>2]=f[pa>>2]&~(1<<(Ha&31));pa=(f[k>>2]|0)+1|0;if((pa|0)==-1)Ia=-1;else Ia=f[o+(pa<<2)>>2]|0;pa=ma+(Ia>>>5<<2)|0;f[pa>>2]=f[pa>>2]&~(1<<(Ia&31));pa=(f[k>>2]|0)+2|0;if((pa|0)==-1)Ja=-1;else Ja=f[o+(pa<<2)>>2]|0;pa=ma+(Ja>>>5<<2)|0;f[pa>>2]=f[pa>>2]&~(1<<(Ja&31));pa=ba+1|0;ma=f[va>>2]|0;o=f[ua>>2]|0;if((ma|0)==(o<<5|0)){if((ma+1|0)<0){I=139;break h}la=o<<6;o=ma+32&-32;af(wa,ma>>>0<1073741823?(la>>>0>>0?o:la):2147483647);Ka=f[va>>2]|0}else Ka=ma;f[va>>2]=Ka+1;ma=(f[wa>>2]|0)+(Ka>>>5<<2)|0;f[ma>>2]=f[ma>>2]|1<<(Ka&31);ma=f[sa>>2]|0;if((ma|0)==(f[ta>>2]|0))xf(ra,k);else{f[ma>>2]=f[k>>2];f[sa>>2]=ma+4}Ba=pa}while(0);qa=f[l>>2]|0;if((qa|0)==(f[g>>2]|0)){I=156;break}else ba=Ba}if((I|0)==139)um(wa);else if((I|0)==149)um(wa);else if((I|0)==155){M=-1;I=174;break g}else if((I|0)==156){La=Ba;Ma=f[za>>2]|0;break}}else{La=ya;Ma=c}while(0);if((La|0)==(((f[Ma+4>>2]|0)-(f[Ma>>2]|0)>>2>>>0)/3|0|0)){c=(f[Ma+28>>2]|0)-(f[Ma+24>>2]|0)>>2;xa=f[i>>2]|0;ba=f[m>>2]|0;if((xa|0)==(ba|0)){Na=c;Oa=xa}else{qa=e+4|0;sa=e+8|0;ra=e+12|0;ta=c;c=xa;xa=Ma;while(1){va=f[c>>2]|0;ua=ta+-1|0;j=f[xa+24>>2]|0;if((f[j+(ua<<2)>>2]|0)==-1){G=ta;while(1){pa=G+-1|0;ma=G+-2|0;if((f[j+(ma<<2)>>2]|0)==-1)G=pa;else{Pa=pa;Qa=ma;break}}}else{Pa=ta;Qa=ua}if(Qa>>>0>>0){Ra=Pa;Sa=xa}else{f[e>>2]=xa;G=f[j+(Qa<<2)>>2]|0;f[qa>>2]=G;f[sa>>2]=G;b[ra>>0]=1;if((G|0)==-1){Ta=j;Ua=xa}else{wa=xa;ma=G;do{f[(f[wa>>2]|0)+(ma<<2)>>2]=va;Fe(e);ma=f[sa>>2]|0;wa=f[za>>2]|0}while((ma|0)!=-1);Ta=f[wa+24>>2]|0;Ua=wa}if((va|0)==-1)Va=Ta+(Qa<<2)|0;else{ma=Ta+(Qa<<2)|0;f[Ta+(va<<2)>>2]=f[ma>>2];Va=ma}f[Va>>2]=-1;ma=f[p>>2]|0;j=ma+(Qa>>>5<<2)|0;ua=1<<(Qa&31);G=ma+(va>>>5<<2)|0;ma=1<<(va&31);if(!(f[j>>2]&ua))Wa=f[G>>2]&~ma;else Wa=f[G>>2]|ma;f[G>>2]=Wa;f[j>>2]=f[j>>2]&~ua;Ra=Pa+-1|0;Sa=Ua}c=c+4|0;if((c|0)==(ba|0)){M=Ra;I=174;break}else{ta=Ra;xa=Sa}}}}else{M=-1;I=174}}else{M=-1;I=174}}while(0);if((I|0)==174){Na=M;Oa=f[i>>2]|0}if(Oa|0){i=f[m>>2]|0;if((i|0)!=(Oa|0))f[m>>2]=i+(~((i+-4-Oa|0)>>>2)<<2);dn(Oa)}Oa=f[h+8>>2]|0;if(Oa|0){i=Oa;do{Oa=i;i=f[i>>2]|0;dn(Oa)}while((i|0)!=0)}i=f[h>>2]|0;f[h>>2]=0;if(i|0)dn(i);i=f[g>>2]|0;if(!i){u=d;return Na|0}g=f[l>>2]|0;if((g|0)!=(i|0))f[l>>2]=g+(~((g+-4-i|0)>>>2)<<2);dn(i);u=d;return Na|0}function _a(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,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,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;d=u;u=u+80|0;e=d+56|0;g=d+36|0;i=d+24|0;j=d+8|0;k=d;f[e>>2]=0;l=e+4|0;f[l>>2]=0;f[e+8>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[g+16>>2]=$(1.0);f[i>>2]=0;m=i+4|0;f[m>>2]=0;f[i+8>>2]=0;o=(f[a+212>>2]|0)==(f[a+216>>2]|0);p=a+120|0;q=f[a+124>>2]|0;a:do if((c|0)>0){r=a+300|0;s=g+4|0;t=a+8|0;v=i+8|0;w=e+8|0;x=a+296|0;y=a+288|0;z=a+292|0;A=a+36|0;B=a+40|0;C=c+-1|0;D=0;b:while(1){E=D+1|0;c:do if(!(b[r>>0]|0))F=42;else{G=f[x>>2]|0;H=f[y>>2]|0;I=f[z>>2]|0;J=H+(G>>>3)|0;if(J>>>0>>0?(K=h[J>>0]|0,J=G+1|0,f[x>>2]=J,1<<(G&7)&K|0):0){K=H+(J>>>3)|0;if(K>>>0>>0){L=(h[K>>0]|0)>>>(J&7)&1;K=G+2|0;f[x>>2]=K;M=L;N=K}else{M=0;N=J}J=H+(N>>>3)|0;if(J>>>0>>0){I=(h[J>>0]|0)>>>(N&7);f[x>>2]=N+1;O=I<<1&2}else O=0;I=(O|M)<<1|1;J=(I|0)==5;switch(I&7){case 1:{F=42;break c;break}case 3:case 5:{I=f[l>>2]|0;if((f[e>>2]|0)==(I|0)){P=-1;F=177;break a}H=f[I+-4>>2]|0;I=D*3|0;K=J?I:I+2|0;L=I+(J&1)|0;G=(J?2:1)+I|0;J=f[t>>2]|0;Q=f[J+12>>2]|0;f[Q+(G<<2)>>2]=H;f[Q+(H<<2)>>2]=G;Q=J+24|0;R=J+28|0;S=f[R>>2]|0;if((S|0)==(f[J+32>>2]|0)){xf(Q,2336);T=f[R>>2]|0}else{f[S>>2]=-1;J=S+4|0;f[R>>2]=J;T=J}J=T-(f[Q>>2]|0)>>2;Q=J+-1|0;R=f[t>>2]|0;S=f[R>>2]|0;f[S+(G<<2)>>2]=Q;if(J|0)f[(f[R+24>>2]|0)+(Q<<2)>>2]=G;if((H|0)!=-1){G=(((H>>>0)%3|0|0)==0?2:-1)+H|0;if((G|0)!=-1){Q=f[S+(G<<2)>>2]|0;f[S+(K<<2)>>2]=Q;if((Q|0)!=-1)f[(f[R+24>>2]|0)+(Q<<2)>>2]=K}else f[S+(K<<2)>>2]=-1;Q=H+1|0;R=((Q>>>0)%3|0|0)==0?H+-2|0:Q;if((R|0)==-1)U=-1;else U=f[S+(R<<2)>>2]|0}else{f[S+(K<<2)>>2]=-1;U=-1}f[S+(L<<2)>>2]=U;f[(f[l>>2]|0)+-4>>2]=I;break}case 7:{f[j>>2]=D*3;I=f[t>>2]|0;L=I+24|0;S=I+28|0;K=f[S>>2]|0;if((K|0)==(f[I+32>>2]|0)){xf(L,2336);V=f[S>>2]|0}else{f[K>>2]=-1;I=K+4|0;f[S>>2]=I;V=I}I=V-(f[L>>2]|0)>>2;L=I+-1|0;S=f[t>>2]|0;K=f[j>>2]|0;R=f[S>>2]|0;f[R+(K<<2)>>2]=L;Q=S+24|0;H=S+28|0;G=f[H>>2]|0;if((G|0)==(f[S+32>>2]|0)){xf(Q,2336);W=f[H>>2]|0;X=f[S>>2]|0}else{f[G>>2]=-1;S=G+4|0;f[H>>2]=S;W=S;X=R}f[X+(K+1<<2)>>2]=(W-(f[Q>>2]|0)>>2)+-1;Q=f[t>>2]|0;K=(f[j>>2]|0)+2|0;R=Q+24|0;S=Q+28|0;H=f[S>>2]|0;if((H|0)==(f[Q+32>>2]|0)){xf(R,2336);Y=f[S>>2]|0}else{f[H>>2]=-1;G=H+4|0;f[S>>2]=G;Y=G}f[(f[Q>>2]|0)+(K<<2)>>2]=(Y-(f[R>>2]|0)>>2)+-1;R=f[j>>2]|0;K=f[(f[t>>2]|0)+24>>2]|0;if(I){f[K+(L<<2)>>2]=R;if((I|0)!=-1){f[K+(I<<2)>>2]=(f[j>>2]|0)+1;L=I+1|0;if((L|0)!=-1){Z=L;F=103}}else{Z=0;F=103}}else{f[K+(I<<2)>>2]=R+1;Z=1;F=103}if((F|0)==103){F=0;f[K+(Z<<2)>>2]=(f[j>>2]|0)+2}K=f[l>>2]|0;if((K|0)==(f[w>>2]|0))xf(e,j);else{f[K>>2]=f[j>>2];f[l>>2]=K+4}break}default:break b}K=c-D+-1|0;R=f[B>>2]|0;if((R|0)==(f[A>>2]|0))break;else _=R;while(1){R=_;I=f[R+-8>>2]|0;if(I>>>0>K>>>0){P=-1;F=177;break a}if((I|0)!=(K|0))break c;I=b[R+-4>>0]|0;L=f[R+-12>>2]|0;f[B>>2]=R+-12;if((L|0)<0){P=-1;F=177;break a}R=f[(f[l>>2]|0)+-4>>2]|0;Q=(R|0)==-1;do if(!(I&1))if(!Q)if(!((R>>>0)%3|0)){aa=R+2|0;break}else{aa=R+-1|0;break}else aa=-1;else{G=R+1|0;if(Q)aa=-1;else aa=((G>>>0)%3|0|0)==0?R+-2|0:G}while(0);f[j>>2]=C-L;R=sc(g,j)|0;f[R>>2]=aa;_=f[B>>2]|0;if((_|0)==(f[A>>2]|0))break c}}K=f[l>>2]|0;if((f[e>>2]|0)==(K|0)){P=-1;F=177;break a}R=K+-4|0;K=f[R>>2]|0;Q=f[t>>2]|0;I=(K|0)==-1;G=K+1|0;if(!I?(S=((G>>>0)%3|0|0)==0?K+-2|0:G,(S|0)!=-1):0)ba=f[(f[Q>>2]|0)+(S<<2)>>2]|0;else ba=-1;S=f[Q+24>>2]|0;G=f[S+(ba<<2)>>2]|0;H=G+1|0;J=S;if((G|0)==-1)ca=-1;else ca=((H>>>0)%3|0|0)==0?G+-2|0:H;H=D*3|0;G=H+1|0;da=f[Q+12>>2]|0;f[da+(K<<2)>>2]=G;f[da+(G<<2)>>2]=K;ea=H+2|0;f[da+(ca<<2)>>2]=ea;f[da+(ea<<2)>>2]=ca;da=f[Q>>2]|0;f[da+(H<<2)>>2]=ba;fa=ca+1|0;if((ca|0)!=-1?(ga=((fa>>>0)%3|0|0)==0?ca+-2|0:fa,(ga|0)!=-1):0)ha=f[da+(ga<<2)>>2]|0;else ha=-1;f[da+(G<<2)>>2]=ha;if(!I?(I=(((K>>>0)%3|0|0)==0?2:-1)+K|0,(I|0)!=-1):0){K=f[da+(I<<2)>>2]|0;f[da+(ea<<2)>>2]=K;if((K|0)!=-1)f[S+(K<<2)>>2]=ea}else f[da+(ea<<2)>>2]=-1;if(((f[Q+28>>2]|0)-J>>2|0)>(q|0)){P=-1;F=177;break a}J=(f[p>>2]|0)+(ba>>>5<<2)|0;f[J>>2]=f[J>>2]&~(1<<(ba&31));f[R>>2]=H}while(0);if((F|0)==42){F=0;H=f[e>>2]|0;R=f[l>>2]|0;if((H|0)==(R|0)){P=-1;F=177;break a}J=R+-4|0;Q=f[J>>2]|0;f[l>>2]=J;ea=f[s>>2]|0;d:do if(ea){da=ea+-1|0;K=(da&ea|0)==0;if(!K)if(D>>>0>>0)ia=D;else ia=(D>>>0)%(ea>>>0)|0;else ia=da&D;S=f[(f[g>>2]|0)+(ia<<2)>>2]|0;if((S|0)!=0?(I=f[S>>2]|0,(I|0)!=0):0){e:do if(K){S=I;while(1){G=f[S+4>>2]|0;ga=(G|0)==(D|0);if(!(ga|(G&da|0)==(ia|0))){ja=H;ka=J;break d}if(ga?(f[S+8>>2]|0)==(D|0):0){la=S;break e}S=f[S>>2]|0;if(!S){ja=H;ka=J;break d}}}else{S=I;while(1){L=f[S+4>>2]|0;if((L|0)==(D|0)){if((f[S+8>>2]|0)==(D|0)){la=S;break e}}else{if(L>>>0>>0)ma=L;else ma=(L>>>0)%(ea>>>0)|0;if((ma|0)!=(ia|0)){ja=H;ka=J;break d}}S=f[S>>2]|0;if(!S){ja=H;ka=J;break d}}}while(0);I=la+12|0;if((J|0)==(f[w>>2]|0)){xf(e,I);ja=f[e>>2]|0;ka=f[l>>2]|0;break}else{f[J>>2]=f[I>>2];f[l>>2]=R;ja=H;ka=R;break}}else{ja=H;ka=J}}else{ja=H;ka=J}while(0);if((ja|0)==(ka|0)){P=-1;F=177;break a}J=f[ka+-4>>2]|0;H=D*3|0;R=H+2|0;ea=f[t>>2]|0;I=f[ea+12>>2]|0;f[I+(J<<2)>>2]=R;f[I+(R<<2)>>2]=J;da=H+1|0;f[I+(Q<<2)>>2]=da;f[I+(da<<2)>>2]=Q;if((J|0)!=-1){K=(((J>>>0)%3|0|0)==0?2:-1)+J|0;if((K|0)==-1)na=-1;else na=f[(f[ea>>2]|0)+(K<<2)>>2]|0;K=f[ea>>2]|0;f[K+(H<<2)>>2]=na;S=J+1|0;L=((S>>>0)%3|0|0)==0?J+-2|0:S;if((L|0)==-1){oa=-1;pa=na;qa=K;ra=ea}else{oa=f[K+(L<<2)>>2]|0;pa=na;qa=K;ra=ea}}else{K=f[ea>>2]|0;f[K+(H<<2)>>2]=-1;oa=-1;pa=-1;qa=K;ra=ea}f[qa+(da<<2)>>2]=oa;if((Q|0)!=-1){da=(((Q>>>0)%3|0|0)==0?2:-1)+Q|0;if((da|0)!=-1){K=f[qa+(da<<2)>>2]|0;f[qa+(R<<2)>>2]=K;if((K|0)!=-1)f[(f[ea+24>>2]|0)+(K<<2)>>2]=R}else f[qa+(R<<2)>>2]=-1;K=Q+1|0;da=((K>>>0)%3|0|0)==0?Q+-2|0:K;if((da|0)==-1){sa=-1;ta=-1}else{sa=f[qa+(da<<2)>>2]|0;ta=da}}else{f[qa+(R<<2)>>2]=-1;sa=-1;ta=-1}f[j>>2]=sa;R=f[ea+24>>2]|0;if((pa|0)!=-1)f[R+(pa<<2)>>2]=f[R+(sa<<2)>>2];f:do if((ta|0)!=-1){ea=f[ra>>2]|0;da=ta;do{f[ea+(da<<2)>>2]=pa;K=da+1|0;L=((K>>>0)%3|0|0)==0?da+-2|0:K;if((L|0)==-1)break f;K=f[I+(L<<2)>>2]|0;L=K+1|0;if((K|0)==-1)break f;da=((L>>>0)%3|0|0)==0?K+-2|0:L}while((da|0)!=-1)}while(0);f[R+(f[j>>2]<<2)>>2]=-1;do if(o){I=f[m>>2]|0;if((I|0)==(f[v>>2]|0)){xf(i,j);ua=f[l>>2]|0;break}else{f[I>>2]=f[j>>2];f[m>>2]=I+4;ua=ka;break}}else ua=ka;while(0);f[ua+-4>>2]=H}if((E|0)<(c|0))D=E;else{va=E;wa=t;F=123;break a}}}else{va=0;wa=a+8|0;F=123}while(0);g:do if((F|0)==123){c=f[wa>>2]|0;if(((f[c+28>>2]|0)-(f[c+24>>2]|0)>>2|0)<=(q|0)){ua=f[l>>2]|0;do if((ua|0)!=(f[e>>2]|0)){ka=a+304|0;o=a+60|0;pa=a+64|0;ta=a+68|0;ra=a+76|0;sa=a+80|0;qa=a+72|0;oa=va;na=ua;h:while(1){ja=na;f[j>>2]=f[ja+-4>>2];f[l>>2]=ja+-4;do if(!(Wg(ka)|0)){ja=f[pa>>2]|0;la=f[ta>>2]|0;if((ja|0)==(la<<5|0)){if((ja+1|0)<0){F=151;break h}ia=la<<6;la=ja+32&-32;af(o,ja>>>0<1073741823?(ia>>>0>>0?la:ia):2147483647);xa=f[pa>>2]|0}else xa=ja;f[pa>>2]=xa+1;ja=(f[o>>2]|0)+(xa>>>5<<2)|0;f[ja>>2]=f[ja>>2]&~(1<<(xa&31));ja=f[ra>>2]|0;if((ja|0)==(f[sa>>2]|0)){xf(qa,j);ya=oa;break}else{f[ja>>2]=f[j>>2];f[ra>>2]=ja+4;ya=oa;break}}else{ja=f[wa>>2]|0;ia=f[ja>>2]|0;la=ia;if((oa|0)>=(((f[ja+4>>2]|0)-ia>>2>>>0)/3|0|0)){F=157;break h}ia=f[j>>2]|0;ma=ia+1|0;if((ia|0)!=-1?(ba=((ma>>>0)%3|0|0)==0?ia+-2|0:ma,(ba|0)!=-1):0)za=f[la+(ba<<2)>>2]|0;else za=-1;ba=f[ja+24>>2]|0;ma=f[ba+(za<<2)>>2]|0;ha=ma+1|0;if((ma|0)!=-1?(ca=((ha>>>0)%3|0|0)==0?ma+-2|0:ha,ha=ca+1|0,(ca|0)!=-1):0){ma=((ha>>>0)%3|0|0)==0?ca+-2|0:ha;if((ma|0)==-1){Aa=-1;Ba=ca}else{Aa=f[la+(ma<<2)>>2]|0;Ba=ca}}else{Aa=-1;Ba=-1}ca=f[ba+(Aa<<2)>>2]|0;ba=ca+1|0;if((ca|0)!=-1?(ma=((ba>>>0)%3|0|0)==0?ca+-2|0:ba,ba=ma+1|0,(ma|0)!=-1):0){ca=((ba>>>0)%3|0|0)==0?ma+-2|0:ba;if((ca|0)==-1){Ca=-1;Da=ma}else{Ca=f[la+(ca<<2)>>2]|0;Da=ma}}else{Ca=-1;Da=-1}ma=oa*3|0;f[k>>2]=ma;ca=f[ja+12>>2]|0;f[ca+(ma<<2)>>2]=ia;f[ca+(ia<<2)>>2]=ma;ma=(f[k>>2]|0)+1|0;f[ca+(ma<<2)>>2]=Ba;f[ca+(Ba<<2)>>2]=ma;ma=(f[k>>2]|0)+2|0;f[ca+(ma<<2)>>2]=Da;f[ca+(Da<<2)>>2]=ma;ma=f[k>>2]|0;ca=la+(ma<<2)|0;f[ca>>2]=Aa;f[la+(ma+1<<2)>>2]=Ca;f[la+(ma+2<<2)>>2]=za;if((ma|0)==-1)Ea=-1;else Ea=f[ca>>2]|0;ca=f[p>>2]|0;ma=ca+(Ea>>>5<<2)|0;f[ma>>2]=f[ma>>2]&~(1<<(Ea&31));ma=(f[k>>2]|0)+1|0;if((ma|0)==-1)Fa=-1;else Fa=f[la+(ma<<2)>>2]|0;ma=ca+(Fa>>>5<<2)|0;f[ma>>2]=f[ma>>2]&~(1<<(Fa&31));ma=(f[k>>2]|0)+2|0;if((ma|0)==-1)Ga=-1;else Ga=f[la+(ma<<2)>>2]|0;ma=ca+(Ga>>>5<<2)|0;f[ma>>2]=f[ma>>2]&~(1<<(Ga&31));ma=oa+1|0;ca=f[pa>>2]|0;la=f[ta>>2]|0;if((ca|0)==(la<<5|0)){if((ca+1|0)<0){F=141;break h}ia=la<<6;la=ca+32&-32;af(o,ca>>>0<1073741823?(ia>>>0>>0?la:ia):2147483647);Ha=f[pa>>2]|0}else Ha=ca;f[pa>>2]=Ha+1;ca=(f[o>>2]|0)+(Ha>>>5<<2)|0;f[ca>>2]=f[ca>>2]|1<<(Ha&31);ca=f[ra>>2]|0;if((ca|0)==(f[sa>>2]|0))xf(qa,k);else{f[ca>>2]=f[k>>2];f[ra>>2]=ca+4}ya=ma}while(0);na=f[l>>2]|0;if((na|0)==(f[e>>2]|0)){F=158;break}else oa=ya}if((F|0)==141)um(o);else if((F|0)==151)um(o);else if((F|0)==157){P=-1;F=177;break g}else if((F|0)==158){Ia=ya;Ja=f[wa>>2]|0;break}}else{Ia=va;Ja=c}while(0);if((Ia|0)==(((f[Ja+4>>2]|0)-(f[Ja>>2]|0)>>2>>>0)/3|0|0)){c=(f[Ja+28>>2]|0)-(f[Ja+24>>2]|0)>>2;ua=f[i>>2]|0;oa=f[m>>2]|0;if((ua|0)==(oa|0)){Ka=c;La=ua}else{na=j+4|0;ra=j+8|0;qa=j+12|0;sa=c;c=ua;ua=Ja;while(1){pa=f[c>>2]|0;ta=sa+-1|0;ka=f[ua+24>>2]|0;if((f[ka+(ta<<2)>>2]|0)==-1){E=sa;while(1){H=E+-1|0;ma=E+-2|0;if((f[ka+(ma<<2)>>2]|0)==-1)E=H;else{Ma=H;Na=ma;break}}}else{Ma=sa;Na=ta}if(Na>>>0>>0){Oa=Ma;Pa=ua}else{f[j>>2]=ua;E=f[ka+(Na<<2)>>2]|0;f[na>>2]=E;f[ra>>2]=E;b[qa>>0]=1;if((E|0)==-1){Qa=ka;Ra=ua}else{o=ua;ma=E;do{f[(f[o>>2]|0)+(ma<<2)>>2]=pa;Fe(j);ma=f[ra>>2]|0;o=f[wa>>2]|0}while((ma|0)!=-1);Qa=f[o+24>>2]|0;Ra=o}if((pa|0)==-1)Sa=Qa+(Na<<2)|0;else{ma=Qa+(Na<<2)|0;f[Qa+(pa<<2)>>2]=f[ma>>2];Sa=ma}f[Sa>>2]=-1;ma=f[p>>2]|0;ka=ma+(Na>>>5<<2)|0;ta=1<<(Na&31);E=ma+(pa>>>5<<2)|0;ma=1<<(pa&31);if(!(f[ka>>2]&ta))Ta=f[E>>2]&~ma;else Ta=f[E>>2]|ma;f[E>>2]=Ta;f[ka>>2]=f[ka>>2]&~ta;Oa=Ma+-1|0;Pa=Ra}c=c+4|0;if((c|0)==(oa|0)){P=Oa;F=177;break}else{sa=Oa;ua=Pa}}}}else{P=-1;F=177}}else{P=-1;F=177}}while(0);if((F|0)==177){Ka=P;La=f[i>>2]|0}if(La|0){i=f[m>>2]|0;if((i|0)!=(La|0))f[m>>2]=i+(~((i+-4-La|0)>>>2)<<2);dn(La)}La=f[g+8>>2]|0;if(La|0){i=La;do{La=i;i=f[i>>2]|0;dn(La)}while((i|0)!=0)}i=f[g>>2]|0;f[g>>2]=0;if(i|0)dn(i);i=f[e>>2]|0;if(!i){u=d;return Ka|0}e=f[l>>2]|0;if((e|0)!=(i|0))f[l>>2]=e+(~((e+-4-i|0)>>>2)<<2);dn(i);u=d;return Ka|0}function $a(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,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;b=u;u=u+16|0;c=b;d=b+8|0;e=b+4|0;f[d>>2]=a;do if(a>>>0>=212){g=(a>>>0)/210|0;h=g*210|0;f[e>>2]=a-h;i=0;j=g;g=(Oh(3400,3592,e,c)|0)-3400>>2;k=h;a:while(1){l=(f[3400+(g<<2)>>2]|0)+k|0;h=5;while(1){if(h>>>0>=47){m=211;n=i;o=8;break}p=f[3208+(h<<2)>>2]|0;q=(l>>>0)/(p>>>0)|0;if(q>>>0

>>0){o=106;break a}if((l|0)==(X(q,p)|0)){r=i;break}else h=h+1|0}b:do if((o|0)==8){c:while(1){o=0;h=(l>>>0)/(m>>>0)|0;do if(h>>>0>=m>>>0)if((l|0)!=(X(h,m)|0)){p=m+10|0;q=(l>>>0)/(p>>>0)|0;if(q>>>0>=p>>>0)if((l|0)!=(X(q,p)|0)){q=m+12|0;s=(l>>>0)/(q>>>0)|0;if(s>>>0>=q>>>0)if((l|0)!=(X(s,q)|0)){s=m+16|0;t=(l>>>0)/(s>>>0)|0;if(t>>>0>=s>>>0)if((l|0)!=(X(t,s)|0)){t=m+18|0;v=(l>>>0)/(t>>>0)|0;if(v>>>0>=t>>>0)if((l|0)!=(X(v,t)|0)){v=m+22|0;w=(l>>>0)/(v>>>0)|0;if(w>>>0>=v>>>0)if((l|0)!=(X(w,v)|0)){w=m+28|0;x=(l>>>0)/(w>>>0)|0;if(x>>>0>=w>>>0)if((l|0)==(X(x,w)|0)){y=w;z=9;A=n}else{x=m+30|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+36|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+40|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+42|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+46|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+52|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+58|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+60|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+66|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+70|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+72|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+78|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+82|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+88|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+96|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+100|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+102|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+106|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+108|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+112|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+120|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+126|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+130|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+136|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+138|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+142|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+148|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+150|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+156|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+162|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+166|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+168|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+172|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+178|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+180|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+186|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+190|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+192|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+196|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+198|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+208|0;B=(l>>>0)/(x>>>0)|0;C=B>>>0>>0;D=(l|0)==(X(B,x)|0);y=C|D?x:m+210|0;z=C?1:D?9:0;A=C?l:n}else{y=w;z=1;A=l}}else{y=v;z=9;A=n}else{y=v;z=1;A=l}}else{y=t;z=9;A=n}else{y=t;z=1;A=l}}else{y=s;z=9;A=n}else{y=s;z=1;A=l}}else{y=q;z=9;A=n}else{y=q;z=1;A=l}}else{y=p;z=9;A=n}else{y=p;z=1;A=l}}else{y=m;z=9;A=n}else{y=m;z=1;A=l}while(0);switch(z&15){case 9:{r=A;break b;break}case 0:{m=y;n=A;o=8;break}default:break c}}if(!z)r=A;else{o=107;break a}}while(0);h=g+1|0;p=(h|0)==48;q=j+(p&1)|0;i=r;j=q;g=p?0:h;k=q*210|0}if((o|0)==106){f[d>>2]=l;E=l;break}else if((o|0)==107){f[d>>2]=l;E=A;break}}else{k=Oh(3208,3400,d,c)|0;E=f[k>>2]|0}while(0);u=b;return E|0}function ab(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,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,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;c=u;u=u+32|0;d=c+16|0;e=c+4|0;g=c;f[a+36>>2]=b;h=a+24|0;i=a+28|0;j=f[i>>2]|0;k=f[h>>2]|0;l=j-k>>2;m=k;k=j;if(l>>>0>=b>>>0){if(l>>>0>b>>>0?(j=m+(b<<2)|0,(j|0)!=(k|0)):0)f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2)}else Ae(h,b-l|0,2652);f[d>>2]=0;l=d+4|0;f[l>>2]=0;j=d+8|0;f[j>>2]=0;if(b){if((b|0)<0)um(d);k=((b+-1|0)>>>5)+1|0;m=bj(k<<2)|0;f[d>>2]=m;f[j>>2]=k;f[l>>2]=b;k=b>>>5;Vf(m|0,0,k<<2|0)|0;n=b&31;o=m+(k<<2)|0;k=m;if(!n){p=b;q=k;r=m}else{f[o>>2]=f[o>>2]&~(-1>>>(32-n|0));p=b;q=k;r=m}}else{p=0;q=0;r=0}m=a+4|0;k=f[a>>2]|0;n=(f[m>>2]|0)-k|0;o=n>>2;f[e>>2]=0;s=e+4|0;f[s>>2]=0;t=e+8|0;f[t>>2]=0;do if(o){if((n|0)<0)um(e);v=((o+-1|0)>>>5)+1|0;w=bj(v<<2)|0;f[e>>2]=w;f[t>>2]=v;f[s>>2]=o;v=o>>>5;Vf(w|0,0,v<<2|0)|0;x=o&31;y=w+(v<<2)|0;if(x|0)f[y>>2]=f[y>>2]&~(-1>>>(32-x|0));if(o>>>0>2){x=a+12|0;y=a+32|0;v=a+52|0;w=a+56|0;z=a+48|0;A=b;B=k;C=0;D=q;E=r;a:while(1){F=B;G=C*3|0;if((G|0)!=-1){H=f[F+(G<<2)>>2]|0;I=G+1|0;J=((I>>>0)%3|0|0)==0?G+-2|0:I;if((J|0)==-1)K=-1;else K=f[F+(J<<2)>>2]|0;J=(((G>>>0)%3|0|0)==0?2:-1)+G|0;if((J|0)==-1)L=-1;else L=f[F+(J<<2)>>2]|0;if((H|0)!=(K|0)?!((H|0)==(L|0)|(K|0)==(L|0)):0){H=0;J=A;F=E;I=D;while(1){M=H+G|0;if(!(f[(f[e>>2]|0)+(M>>>5<<2)>>2]&1<<(M&31))){N=f[(f[a>>2]|0)+(M<<2)>>2]|0;f[g>>2]=N;if(!(f[F+(N>>>5<<2)>>2]&1<<(N&31))){O=0;P=J;Q=N}else{N=f[i>>2]|0;if((N|0)==(f[y>>2]|0))xf(h,2652);else{f[N>>2]=-1;f[i>>2]=N+4}N=f[v>>2]|0;if((N|0)==(f[w>>2]|0))xf(z,g);else{f[N>>2]=f[g>>2];f[v>>2]=N+4}N=f[l>>2]|0;R=f[j>>2]|0;if((N|0)==(R<<5|0)){if((N+1|0)<0){S=50;break a}T=R<<6;R=N+32&-32;af(d,N>>>0<1073741823?(T>>>0>>0?R:T):2147483647);U=f[l>>2]|0}else U=N;f[l>>2]=U+1;N=(f[d>>2]|0)+(U>>>5<<2)|0;f[N>>2]=f[N>>2]&~(1<<(U&31));f[g>>2]=J;O=1;P=J+1|0;Q=J}N=f[d>>2]|0;T=N+(Q>>>5<<2)|0;f[T>>2]=f[T>>2]|1<<(Q&31);T=N;b:do if(O){R=M;while(1){if((R|0)==-1){S=64;break b}V=(f[e>>2]|0)+(R>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(R&31);V=f[g>>2]|0;f[(f[h>>2]|0)+(V<<2)>>2]=R;f[(f[a>>2]|0)+(R<<2)>>2]=V;V=R+1|0;W=((V>>>0)%3|0|0)==0?R+-2|0:V;do if((W|0)==-1)X=-1;else{V=f[(f[x>>2]|0)+(W<<2)>>2]|0;Y=V+1|0;if((V|0)==-1){X=-1;break}X=((Y>>>0)%3|0|0)==0?V+-2|0:Y}while(0);if((X|0)==(M|0))break;else R=X}}else{R=M;while(1){if((R|0)==-1){S=64;break b}W=(f[e>>2]|0)+(R>>>5<<2)|0;f[W>>2]=f[W>>2]|1<<(R&31);f[(f[h>>2]|0)+(f[g>>2]<<2)>>2]=R;W=R+1|0;Y=((W>>>0)%3|0|0)==0?R+-2|0:W;do if((Y|0)==-1)Z=-1;else{W=f[(f[x>>2]|0)+(Y<<2)>>2]|0;V=W+1|0;if((W|0)==-1){Z=-1;break}Z=((V>>>0)%3|0|0)==0?W+-2|0:V}while(0);if((Z|0)==(M|0))break;else R=Z}}while(0);c:do if((S|0)==64){S=0;if((M|0)==-1)break;R=(((M>>>0)%3|0|0)==0?2:-1)+M|0;if((R|0)==-1)break;Y=f[(f[x>>2]|0)+(R<<2)>>2]|0;if((Y|0)==-1)break;R=Y+(((Y>>>0)%3|0|0)==0?2:-1)|0;if((R|0)==-1)break;if(!O){Y=R;while(1){V=(f[e>>2]|0)+(Y>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(Y&31);V=(((Y>>>0)%3|0|0)==0?2:-1)+Y|0;if((V|0)==-1)break c;W=f[(f[x>>2]|0)+(V<<2)>>2]|0;if((W|0)==-1)break c;Y=W+(((W>>>0)%3|0|0)==0?2:-1)|0;if((Y|0)==-1)break c}}Y=f[a>>2]|0;W=R;do{V=(f[e>>2]|0)+(W>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(W&31);f[Y+(W<<2)>>2]=f[g>>2];V=(((W>>>0)%3|0|0)==0?2:-1)+W|0;if((V|0)==-1)break c;_=f[(f[x>>2]|0)+(V<<2)>>2]|0;if((_|0)==-1)break c;W=_+(((_>>>0)%3|0|0)==0?2:-1)|0}while((W|0)!=-1)}while(0);$=P;aa=T;ba=N}else{$=J;aa=I;ba=F}if((H|0)<2){H=H+1|0;J=$;F=ba;I=aa}else{ca=$;da=aa;ea=ba;break}}}else{ca=A;da=D;ea=E}}else{ca=A;da=D;ea=E}C=C+1|0;B=f[a>>2]|0;if(C>>>0>=(((f[m>>2]|0)-B>>2>>>0)/3|0)>>>0){S=18;break}else{A=ca;D=da;E=ea}}if((S|0)==18){fa=da;ga=f[l>>2]|0;break}else if((S|0)==50)um(d)}else{fa=q;ga=p}}else{fa=q;ga=p}while(0);p=a+44|0;f[p>>2]=0;a=fa;fa=ga>>>5;q=a+(fa<<2)|0;S=ga&31;ga=(fa|0)!=0;d:do if(fa|S|0)if(!S){l=a;da=0;ea=ga;while(1){e:do if(ea){if(!(f[l>>2]&1)){ca=da+1|0;f[p>>2]=ca;ha=ca}else ha=da;if(!(f[l>>2]&2)){ca=ha+1|0;f[p>>2]=ca;ia=ca}else ia=ha;if(!(f[l>>2]&4)){ca=ia+1|0;f[p>>2]=ca;ja=ca}else ja=ia;if(!(f[l>>2]&8)){ca=ja+1|0;f[p>>2]=ca;ka=ca}else ka=ja;if(!(f[l>>2]&16)){ca=ka+1|0;f[p>>2]=ca;la=ca}else la=ka;if(!(f[l>>2]&32)){ca=la+1|0;f[p>>2]=ca;ma=ca}else ma=la;if(!(f[l>>2]&64)){ca=ma+1|0;f[p>>2]=ca;na=ca}else na=ma;if(!(f[l>>2]&128)){ca=na+1|0;f[p>>2]=ca;oa=ca}else oa=na;if(!(f[l>>2]&256)){ca=oa+1|0;f[p>>2]=ca;pa=ca}else pa=oa;if(!(f[l>>2]&512)){ca=pa+1|0;f[p>>2]=ca;qa=ca}else qa=pa;if(!(f[l>>2]&1024)){ca=qa+1|0;f[p>>2]=ca;ra=ca}else ra=qa;if(!(f[l>>2]&2048)){ca=ra+1|0;f[p>>2]=ca;sa=ca}else sa=ra;if(!(f[l>>2]&4096)){ca=sa+1|0;f[p>>2]=ca;ta=ca}else ta=sa;if(!(f[l>>2]&8192)){ca=ta+1|0;f[p>>2]=ca;ua=ca}else ua=ta;if(!(f[l>>2]&16384)){ca=ua+1|0;f[p>>2]=ca;va=ca}else va=ua;if(!(f[l>>2]&32768)){ca=va+1|0;f[p>>2]=ca;wa=ca}else wa=va;if(!(f[l>>2]&65536)){ca=wa+1|0;f[p>>2]=ca;xa=ca}else xa=wa;if(!(f[l>>2]&131072)){ca=xa+1|0;f[p>>2]=ca;ya=ca}else ya=xa;if(!(f[l>>2]&262144)){ca=ya+1|0;f[p>>2]=ca;za=ca}else za=ya;if(!(f[l>>2]&524288)){ca=za+1|0;f[p>>2]=ca;Aa=ca}else Aa=za;if(!(f[l>>2]&1048576)){ca=Aa+1|0;f[p>>2]=ca;Ba=ca}else Ba=Aa;if(!(f[l>>2]&2097152)){ca=Ba+1|0;f[p>>2]=ca;Ca=ca}else Ca=Ba;if(!(f[l>>2]&4194304)){ca=Ca+1|0;f[p>>2]=ca;Da=ca}else Da=Ca;if(!(f[l>>2]&8388608)){ca=Da+1|0;f[p>>2]=ca;Ea=ca}else Ea=Da;if(!(f[l>>2]&16777216)){ca=Ea+1|0;f[p>>2]=ca;Fa=ca}else Fa=Ea;if(!(f[l>>2]&33554432)){ca=Fa+1|0;f[p>>2]=ca;Ga=ca}else Ga=Fa;if(!(f[l>>2]&67108864)){ca=Ga+1|0;f[p>>2]=ca;Ha=ca}else Ha=Ga;if(!(f[l>>2]&134217728)){ca=Ha+1|0;f[p>>2]=ca;Ia=ca}else Ia=Ha;if(!(f[l>>2]&268435456)){ca=Ia+1|0;f[p>>2]=ca;Ja=ca}else Ja=Ia;if(!(f[l>>2]&536870912)){ca=Ja+1|0;f[p>>2]=ca;Ka=ca}else Ka=Ja;if(!(f[l>>2]&1073741824)){ca=Ka+1|0;f[p>>2]=ca;La=ca}else La=Ka;if((f[l>>2]|0)<=-1){Ma=La;break}ca=La+1|0;f[p>>2]=ca;Ma=ca}else{ca=0;m=da;while(1){if(!(f[l>>2]&1<>2]=ba;Na=ba}else Na=m;if((ca|0)==31){Ma=Na;break e}ca=ca+1|0;if(!ca)break d;else m=Na}}while(0);l=l+4|0;if((q|0)==(l|0))break;else{da=Ma;ea=1}}}else{if(ga){ea=0;da=a;l=0;while(1){if(!(f[da>>2]&1)){m=l+1|0;f[p>>2]=m;Oa=m;Pa=m}else{Oa=l;Pa=ea}if(!(f[da>>2]&2)){m=Oa+1|0;f[p>>2]=m;Qa=m;Ra=m}else{Qa=Oa;Ra=Pa}if(!(f[da>>2]&4)){m=Qa+1|0;f[p>>2]=m;Sa=m;Ta=m}else{Sa=Qa;Ta=Ra}if(!(f[da>>2]&8)){m=Sa+1|0;f[p>>2]=m;Ua=m;Va=m}else{Ua=Sa;Va=Ta}if(!(f[da>>2]&16)){m=Ua+1|0;f[p>>2]=m;Wa=m;Xa=m}else{Wa=Ua;Xa=Va}if(!(f[da>>2]&32)){m=Wa+1|0;f[p>>2]=m;Ya=m;Za=m}else{Ya=Wa;Za=Xa}if(!(f[da>>2]&64)){m=Ya+1|0;f[p>>2]=m;_a=m;$a=m}else{_a=Ya;$a=Za}if(!(f[da>>2]&128)){m=_a+1|0;f[p>>2]=m;ab=m;bb=m}else{ab=_a;bb=$a}if(!(f[da>>2]&256)){m=ab+1|0;f[p>>2]=m;cb=m;db=m}else{cb=ab;db=bb}if(!(f[da>>2]&512)){m=cb+1|0;f[p>>2]=m;eb=m;fb=m}else{eb=cb;fb=db}if(!(f[da>>2]&1024)){m=eb+1|0;f[p>>2]=m;gb=m;hb=m}else{gb=eb;hb=fb}if(!(f[da>>2]&2048)){m=gb+1|0;f[p>>2]=m;ib=m;jb=m}else{ib=gb;jb=hb}if(!(f[da>>2]&4096)){m=ib+1|0;f[p>>2]=m;kb=m;lb=m}else{kb=ib;lb=jb}if(!(f[da>>2]&8192)){m=kb+1|0;f[p>>2]=m;mb=m;nb=m}else{mb=kb;nb=lb}if(!(f[da>>2]&16384)){m=mb+1|0;f[p>>2]=m;ob=m;pb=m}else{ob=mb;pb=nb}if(!(f[da>>2]&32768)){m=ob+1|0;f[p>>2]=m;qb=m;rb=m}else{qb=ob;rb=pb}if(!(f[da>>2]&65536)){m=qb+1|0;f[p>>2]=m;sb=m;tb=m}else{sb=qb;tb=rb}if(!(f[da>>2]&131072)){m=sb+1|0;f[p>>2]=m;ub=m;vb=m}else{ub=sb;vb=tb}if(!(f[da>>2]&262144)){m=ub+1|0;f[p>>2]=m;wb=m;xb=m}else{wb=ub;xb=vb}if(!(f[da>>2]&524288)){m=wb+1|0;f[p>>2]=m;yb=m;zb=m}else{yb=wb;zb=xb}if(!(f[da>>2]&1048576)){m=yb+1|0;f[p>>2]=m;Ab=m;Bb=m}else{Ab=yb;Bb=zb}if(!(f[da>>2]&2097152)){m=Ab+1|0;f[p>>2]=m;Cb=m;Db=m}else{Cb=Ab;Db=Bb}if(!(f[da>>2]&4194304)){m=Cb+1|0;f[p>>2]=m;Eb=m;Fb=m}else{Eb=Cb;Fb=Db}if(!(f[da>>2]&8388608)){m=Eb+1|0;f[p>>2]=m;Gb=m;Hb=m}else{Gb=Eb;Hb=Fb}if(!(f[da>>2]&16777216)){m=Gb+1|0;f[p>>2]=m;Ib=m;Jb=m}else{Ib=Gb;Jb=Hb}if(!(f[da>>2]&33554432)){m=Ib+1|0;f[p>>2]=m;Kb=m;Lb=m}else{Kb=Ib;Lb=Jb}if(!(f[da>>2]&67108864)){m=Kb+1|0;f[p>>2]=m;Mb=m;Nb=m}else{Mb=Kb;Nb=Lb}if(!(f[da>>2]&134217728)){m=Mb+1|0;f[p>>2]=m;Ob=m;Pb=m}else{Ob=Mb;Pb=Nb}if(!(f[da>>2]&268435456)){m=Ob+1|0;f[p>>2]=m;Qb=m;Rb=m}else{Qb=Ob;Rb=Pb}if(!(f[da>>2]&536870912)){m=Qb+1|0;f[p>>2]=m;Sb=m;Tb=m}else{Sb=Qb;Tb=Rb}if(!(f[da>>2]&1073741824)){m=Sb+1|0;f[p>>2]=m;Ub=m;Vb=m}else{Ub=Sb;Vb=Tb}if((f[da>>2]|0)>-1){m=Ub+1|0;f[p>>2]=m;Wb=m;Xb=m}else{Wb=Ub;Xb=Vb}m=da+4|0;if((q|0)==(m|0)){Yb=m;Zb=Xb;break}else{ea=Xb;da=m;l=Wb}}}else{Yb=a;Zb=0}l=0;da=Zb;while(1){if(!(f[Yb>>2]&1<>2]=ea;_b=ea}else _b=da;l=l+1|0;if((l|0)==(S|0))break;else da=_b}}while(0);_b=f[e>>2]|0;if(_b|0)dn(_b);_b=f[d>>2]|0;if(!_b){u=c;return 1}dn(_b);u=c;return 1}function bb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=La,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=gj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Rj(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;if(!(b[a+32>>0]|0)){r=o;m=0;while(1){s=$(b[r>>0]|0);n[g+(m<<2)>>2]=s;m=m+1|0;q=b[k>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){t=q;break}else r=r+1|0}}else{r=o;m=0;while(1){s=$($(b[r>>0]|0)/$(127.0));n[g+(m<<2)>>2]=s;m=m+1|0;q=b[k>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){t=q;break}else r=r+1|0}}}else t=l;r=t<<24>>24;if(t<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}case 2:{r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;q=gj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;u=Rj(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=k+u|0;if(!(b[a+32>>0]|0)){u=o;k=0;while(1){s=$(h[u>>0]|0);n[g+(k<<2)>>2]=s;k=k+1|0;q=b[r>>0]|0;if((k|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){v=q;break}else u=u+1|0}}else{u=o;k=0;while(1){s=$($(h[u>>0]|0)/$(255.0));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){v=l;break}else u=u+1|0}}}else v=m;u=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 3:{u=a+48|0;k=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Rj(gj(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,k|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;l=0;while(1){s=$(d[u>>1]|0);n[g+(l<<2)>>2]=s;l=l+1|0;q=b[r>>0]|0;if((l|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){w=q;break}else u=u+2|0}}else{u=o;l=0;while(1){s=$($(d[u>>1]|0)/$(32767.0));n[g+(l<<2)>>2]=s;l=l+1|0;m=b[r>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else u=u+2|0}}else w=k;u=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 4:{u=a+48|0;l=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Rj(gj(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,l|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;m=0;while(1){s=$(j[u>>1]|0);n[g+(m<<2)>>2]=s;m=m+1|0;q=b[r>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){x=q;break}else u=u+2|0}}else{u=o;m=0;while(1){s=$($(j[u>>1]|0)/$(65535.0));n[g+(m<<2)>>2]=s;m=m+1|0;k=b[r>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){x=k;break}else u=u+2|0}}else x=l;u=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 5:{u=a+48|0;m=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Rj(gj(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,m|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;k=0;while(1){s=$(f[u>>2]|0);n[g+(k<<2)>>2]=s;k=k+1|0;q=b[r>>0]|0;if((k|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){y=q;break}else u=u+4|0}}else{u=o;k=0;while(1){s=$($(f[u>>2]|0)*$(4.65661287e-10));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){y=l;break}else u=u+4|0}}else y=m;u=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 6:{u=a+48|0;k=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Rj(gj(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,k|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;l=0;while(1){s=$((f[u>>2]|0)>>>0);n[g+(l<<2)>>2]=s;l=l+1|0;q=b[r>>0]|0;if((l|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){z=q;break}else u=u+4|0}}else{u=o;l=0;while(1){s=$($((f[u>>2]|0)>>>0)*$(2.32830644e-10));n[g+(l<<2)>>2]=s;l=l+1|0;m=b[r>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){z=m;break}else u=u+4|0}}else z=k;u=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 7:{u=a+48|0;l=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Rj(gj(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,l|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;m=0;while(1){q=u;s=$(+((f[q>>2]|0)>>>0)+4294967296.0*+(f[q+4>>2]|0));n[g+(m<<2)>>2]=s;m=m+1|0;q=b[r>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else u=u+8|0}}else{u=o;m=0;while(1){k=u;s=$($(+((f[k>>2]|0)>>>0)+4294967296.0*+(f[k+4>>2]|0))*$(1.08420217e-19));n[g+(m<<2)>>2]=s;m=m+1|0;k=b[r>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){A=k;break}else u=u+8|0}}else A=l;u=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 8:{u=a+48|0;m=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Rj(gj(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,m|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;k=0;while(1){q=u;s=$(+((f[q>>2]|0)>>>0)+4294967296.0*+((f[q+4>>2]|0)>>>0));n[g+(k<<2)>>2]=s;k=k+1|0;q=b[r>>0]|0;if((k|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){B=q;break}else u=u+8|0}}else{u=o;k=0;while(1){l=u;s=$($(+((f[l>>2]|0)>>>0)+4294967296.0*+((f[l+4>>2]|0)>>>0))*$(5.42101086e-20));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){B=l;break}else u=u+8|0}}else B=m;u=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 9:{u=a+24|0;k=b[u>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){r=f[f[a>>2]>>2]|0;o=a+40|0;l=gj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;q=Rj(l|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=r+q|0;q=0;while(1){f[g+(q<<2)>>2]=f[o>>2];q=q+1|0;r=b[u>>0]|0;if((q|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){C=r;break}else o=o+4|0}}else C=k;o=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 10:{o=a+24|0;q=b[o>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){u=f[f[a>>2]>>2]|0;m=a+40|0;r=gj(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;l=Rj(r|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=u+l|0;l=0;while(1){s=$(+p[m>>3]);n[g+(l<<2)>>2]=s;l=l+1|0;u=b[o>>0]|0;if((l|0)>=((u<<24>>24>e<<24>>24?e:u)<<24>>24|0)){D=u;break}else m=m+8|0}}else D=q;m=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 11:{m=a+24|0;l=b[m>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){o=f[f[a>>2]>>2]|0;k=a+40|0;u=gj(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;r=Rj(u|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=o+r|0;r=0;while(1){s=$((b[k>>0]|0)!=0&1);n[g+(r<<2)>>2]=s;r=r+1|0;o=b[m>>0]|0;if((r|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){E=o;break}else k=k+1|0}}else E=l;k=E<<24>>24;if(E<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function cb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;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,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;g=u;u=u+64|0;d=g+16|0;h=g;i=a+8|0;f[i>>2]=e;j=a+32|0;k=a+36|0;l=f[k>>2]|0;m=f[j>>2]|0;n=l-m>>2;o=m;m=l;if(n>>>0>=e>>>0){if(n>>>0>e>>>0?(l=o+(e<<2)|0,(l|0)!=(m|0)):0)f[k>>2]=m+(~((m+-4-l|0)>>>2)<<2)}else ff(j,e-n|0);n=d;j=n+48|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(j|0));f[h>>2]=0;if(!e){p=0;q=0}else{Ae(d,e,h);p=f[d+12>>2]|0;q=f[d+16>>2]|0}f[h>>2]=0;n=d+16|0;j=q-p>>2;l=p;p=q;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(q=l+(e<<2)|0,(q|0)!=(p|0)):0)f[n>>2]=p+(~((p+-4-q|0)>>>2)<<2)}else Ae(d+12|0,e-j|0,h);j=d+24|0;f[h>>2]=0;q=d+28|0;p=f[q>>2]|0;n=f[j>>2]|0;l=p-n>>2;m=n;n=p;if(l>>>0>=e>>>0){if(l>>>0>e>>>0?(p=m+(e<<2)|0,(p|0)!=(n|0)):0)f[q>>2]=n+(~((n+-4-p|0)>>>2)<<2)}else Ae(j,e-l|0,h);l=d+36|0;f[h>>2]=0;j=d+40|0;p=f[j>>2]|0;n=f[l>>2]|0;q=p-n>>2;m=n;n=p;if(q>>>0>=e>>>0){if(q>>>0>e>>>0?(p=m+(e<<2)|0,(p|0)!=(n|0)):0)f[j>>2]=n+(~((n+-4-p|0)>>>2)<<2)}else Ae(l,e-q|0,h);q=f[d>>2]|0;if((f[i>>2]|0)>0){l=a+16|0;p=a+32|0;n=a+12|0;j=0;do{m=f[q+(j<<2)>>2]|0;k=f[l>>2]|0;if((m|0)>(k|0)){o=f[p>>2]|0;f[o+(j<<2)>>2]=k;r=o}else{o=f[n>>2]|0;k=f[p>>2]|0;f[k+(j<<2)>>2]=(m|0)<(o|0)?o:m;r=k}j=j+1|0;s=f[i>>2]|0}while((j|0)<(s|0));if((s|0)>0){s=a+20|0;j=0;do{p=(f[b+(j<<2)>>2]|0)+(f[r+(j<<2)>>2]|0)|0;q=c+(j<<2)|0;f[q>>2]=p;if((p|0)<=(f[l>>2]|0)){if((p|0)<(f[n>>2]|0)){t=(f[s>>2]|0)+p|0;v=18}}else{t=p-(f[s>>2]|0)|0;v=18}if((v|0)==18){v=0;f[q>>2]=t}j=j+1|0}while((j|0)<(f[i>>2]|0))}}j=f[a+48>>2]|0;t=f[a+52>>2]|0;s=bj(16)|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[h>>2]=0;n=h+4|0;f[n>>2]=0;f[h+8>>2]=0;do if(e)if(e>>>0>1073741823)um(h);else{l=e<<2;r=bj(l)|0;f[h>>2]=r;q=r+(e<<2)|0;f[h+8>>2]=q;Vf(r|0,0,l|0)|0;f[n>>2]=q;w=r;x=r;break}else{w=0;x=0}while(0);r=a+56|0;q=f[r>>2]|0;l=f[q+4>>2]|0;p=f[q>>2]|0;k=l-p|0;m=k>>2;do if((k|0)>4){o=j+64|0;y=j+28|0;z=(e|0)>0;A=a+16|0;B=a+32|0;C=a+12|0;D=a+20|0;E=e<<2;F=(e|0)==1;if(l-p>>2>>>0>1){G=1;H=p}else{I=q;um(I)}while(1){J=f[H+(G<<2)>>2]|0;K=(((J>>>0)%3|0|0)==0?2:-1)+J|0;L=K>>>5;M=1<<(K&31);N=(J|0)==-1|(K|0)==-1;O=1;P=0;Q=J;a:while(1){R=O^1;S=P;T=Q;while(1){if((T|0)==-1){U=S;v=64;break a}V=f[d+(S*12|0)>>2]|0;if(((f[(f[j>>2]|0)+(T>>>5<<2)>>2]&1<<(T&31)|0)==0?(W=f[(f[(f[o>>2]|0)+12>>2]|0)+(T<<2)>>2]|0,(W|0)!=-1):0)?(Y=f[y>>2]|0,Z=f[t>>2]|0,_=f[Z+(f[Y+(W<<2)>>2]<<2)>>2]|0,$=W+1|0,aa=f[Z+(f[Y+(((($>>>0)%3|0|0)==0?W+-2|0:$)<<2)>>2]<<2)>>2]|0,$=f[Z+(f[Y+((((W>>>0)%3|0|0)==0?2:-1)+W<<2)>>2]<<2)>>2]|0,(_|0)<(G|0)&(aa|0)<(G|0)&($|0)<(G|0)):0){W=X(_,e)|0;_=X(aa,e)|0;aa=X($,e)|0;if(z){$=0;do{f[V+($<<2)>>2]=(f[c+($+aa<<2)>>2]|0)+(f[c+($+_<<2)>>2]|0)-(f[c+($+W<<2)>>2]|0);$=$+1|0}while(($|0)!=(e|0))}$=S+1|0;if(($|0)==4){ba=4;v=44;break a}else ca=$}else ca=S;do if(O){$=T+1|0;W=(($>>>0)%3|0|0)==0?T+-2|0:$;if(((W|0)!=-1?(f[(f[j>>2]|0)+(W>>>5<<2)>>2]&1<<(W&31)|0)==0:0)?($=f[(f[(f[o>>2]|0)+12>>2]|0)+(W<<2)>>2]|0,W=$+1|0,($|0)!=-1):0)da=((W>>>0)%3|0|0)==0?$+-2|0:W;else da=-1}else{W=(((T>>>0)%3|0|0)==0?2:-1)+T|0;if(((W|0)!=-1?(f[(f[j>>2]|0)+(W>>>5<<2)>>2]&1<<(W&31)|0)==0:0)?($=f[(f[(f[o>>2]|0)+12>>2]|0)+(W<<2)>>2]|0,($|0)!=-1):0)if(!(($>>>0)%3|0)){da=$+2|0;break}else{da=$+-1|0;break}else da=-1}while(0);if((da|0)==(J|0)){U=ca;v=64;break a}if((da|0)!=-1|R){S=ca;T=da}else break}if(N){O=0;P=ca;Q=-1;continue}if(f[(f[j>>2]|0)+(L<<2)>>2]&M|0){O=0;P=ca;Q=-1;continue}T=f[(f[(f[o>>2]|0)+12>>2]|0)+(K<<2)>>2]|0;if((T|0)==-1){O=0;P=ca;Q=-1;continue}if(!((T>>>0)%3|0)){O=0;P=ca;Q=T+2|0;continue}else{O=0;P=ca;Q=T+-1|0;continue}}if((v|0)==64){v=0;if((U|0)>0){ba=U;v=44}else{ea=X(G,e)|0;v=77}}if((v|0)==44){v=0;if(z){Vf(f[h>>2]|0,0,E|0)|0;Q=ba+-1|0;P=s+(Q<<2)|0;O=f[a+60+(Q*12|0)>>2]|0;Q=f[h>>2]|0;K=0;M=0;while(1){L=f[P>>2]|0;f[P>>2]=L+1;if(!(f[O+(L>>>5<<2)>>2]&1<<(L&31))){L=f[d+(K*12|0)>>2]|0;N=0;do{J=Q+(N<<2)|0;f[J>>2]=(f[J>>2]|0)+(f[L+(N<<2)>>2]|0);N=N+1|0}while((N|0)!=(e|0));fa=M+1|0}else fa=M;K=K+1|0;if((K|0)==(ba|0)){ga=fa;break}else M=fa}}else{M=ba+-1|0;K=s+(M<<2)|0;Q=f[a+60+(M*12|0)>>2]|0;M=0;O=0;P=f[K>>2]|0;while(1){N=P;P=P+1|0;f[K>>2]=P;L=O+((f[Q+(N>>>5<<2)>>2]&1<<(N&31)|0)==0&1)|0;M=M+1|0;if((M|0)==(ba|0)){ga=L;break}else O=L}}O=X(G,e)|0;if(ga){M=f[h>>2]|0;if(z?(f[M>>2]=(f[M>>2]|0)/(ga|0)|0,!F):0){Q=1;do{P=M+(Q<<2)|0;f[P>>2]=(f[P>>2]|0)/(ga|0)|0;Q=Q+1|0}while((Q|0)!=(e|0))}Q=b+(O<<2)|0;P=c+(O<<2)|0;if((f[i>>2]|0)>0){K=0;do{L=f[M+(K<<2)>>2]|0;N=f[A>>2]|0;if((L|0)>(N|0)){J=f[B>>2]|0;f[J+(K<<2)>>2]=N;ha=J}else{J=f[C>>2]|0;N=f[B>>2]|0;f[N+(K<<2)>>2]=(L|0)<(J|0)?J:L;ha=N}K=K+1|0;ia=f[i>>2]|0}while((K|0)<(ia|0));if((ia|0)>0){K=0;do{M=(f[Q+(K<<2)>>2]|0)+(f[ha+(K<<2)>>2]|0)|0;N=P+(K<<2)|0;f[N>>2]=M;do if((M|0)>(f[A>>2]|0)){ja=M-(f[D>>2]|0)|0;v=99}else{if((M|0)>=(f[C>>2]|0))break;ja=(f[D>>2]|0)+M|0;v=99}while(0);if((v|0)==99){v=0;f[N>>2]=ja}K=K+1|0}while((K|0)<(f[i>>2]|0))}}}else{ea=O;v=77}}if((v|0)==77?(v=0,K=c+((X(G+-1|0,e)|0)<<2)|0,P=b+(ea<<2)|0,Q=c+(ea<<2)|0,(f[i>>2]|0)>0):0){M=0;do{L=f[K+(M<<2)>>2]|0;J=f[A>>2]|0;if((L|0)>(J|0)){T=f[B>>2]|0;f[T+(M<<2)>>2]=J;ka=T}else{T=f[C>>2]|0;J=f[B>>2]|0;f[J+(M<<2)>>2]=(L|0)<(T|0)?T:L;ka=J}M=M+1|0;la=f[i>>2]|0}while((M|0)<(la|0));if((la|0)>0){M=0;do{K=(f[P+(M<<2)>>2]|0)+(f[ka+(M<<2)>>2]|0)|0;O=Q+(M<<2)|0;f[O>>2]=K;if((K|0)<=(f[A>>2]|0)){if((K|0)<(f[C>>2]|0)){ma=(f[D>>2]|0)+K|0;v=87}}else{ma=K-(f[D>>2]|0)|0;v=87}if((v|0)==87){v=0;f[O>>2]=ma}M=M+1|0}while((M|0)<(f[i>>2]|0))}}G=G+1|0;if((G|0)>=(m|0)){v=28;break}M=f[r>>2]|0;H=f[M>>2]|0;if((f[M+4>>2]|0)-H>>2>>>0<=G>>>0){I=M;v=34;break}}if((v|0)==28){D=f[h>>2]|0;na=D;oa=D;break}else if((v|0)==34)um(I)}else{na=x;oa=w}while(0);if(na|0){w=f[n>>2]|0;if((w|0)!=(na|0))f[n>>2]=w+(~((w+-4-na|0)>>>2)<<2);dn(oa)}dn(s);s=f[d+36>>2]|0;if(s|0){oa=d+40|0;na=f[oa>>2]|0;if((na|0)!=(s|0))f[oa>>2]=na+(~((na+-4-s|0)>>>2)<<2);dn(s)}s=f[d+24>>2]|0;if(s|0){na=d+28|0;oa=f[na>>2]|0;if((oa|0)!=(s|0))f[na>>2]=oa+(~((oa+-4-s|0)>>>2)<<2);dn(s)}s=f[d+12>>2]|0;if(s|0){oa=d+16|0;na=f[oa>>2]|0;if((na|0)!=(s|0))f[oa>>2]=na+(~((na+-4-s|0)>>>2)<<2);dn(s)}s=f[d>>2]|0;if(!s){u=g;return 1}na=d+4|0;d=f[na>>2]|0;if((d|0)!=(s|0))f[na>>2]=d+(~((d+-4-s|0)>>>2)<<2);dn(s);u=g;return 1}function db(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;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,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;g=u;u=u+64|0;d=g+16|0;h=g;i=a+8|0;f[i>>2]=e;j=a+32|0;k=a+36|0;l=f[k>>2]|0;m=f[j>>2]|0;n=l-m>>2;o=m;m=l;if(n>>>0>=e>>>0){if(n>>>0>e>>>0?(l=o+(e<<2)|0,(l|0)!=(m|0)):0)f[k>>2]=m+(~((m+-4-l|0)>>>2)<<2)}else ff(j,e-n|0);n=d;j=n+48|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(j|0));f[h>>2]=0;if(!e){p=0;q=0}else{Ae(d,e,h);p=f[d+12>>2]|0;q=f[d+16>>2]|0}f[h>>2]=0;n=d+16|0;j=q-p>>2;l=p;p=q;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(q=l+(e<<2)|0,(q|0)!=(p|0)):0)f[n>>2]=p+(~((p+-4-q|0)>>>2)<<2)}else Ae(d+12|0,e-j|0,h);j=d+24|0;f[h>>2]=0;q=d+28|0;p=f[q>>2]|0;n=f[j>>2]|0;l=p-n>>2;m=n;n=p;if(l>>>0>=e>>>0){if(l>>>0>e>>>0?(p=m+(e<<2)|0,(p|0)!=(n|0)):0)f[q>>2]=n+(~((n+-4-p|0)>>>2)<<2)}else Ae(j,e-l|0,h);l=d+36|0;f[h>>2]=0;j=d+40|0;p=f[j>>2]|0;n=f[l>>2]|0;q=p-n>>2;m=n;n=p;if(q>>>0>=e>>>0){if(q>>>0>e>>>0?(p=m+(e<<2)|0,(p|0)!=(n|0)):0)f[j>>2]=n+(~((n+-4-p|0)>>>2)<<2)}else Ae(l,e-q|0,h);q=f[d>>2]|0;if((f[i>>2]|0)>0){l=a+16|0;p=a+32|0;n=a+12|0;j=0;do{m=f[q+(j<<2)>>2]|0;k=f[l>>2]|0;if((m|0)>(k|0)){o=f[p>>2]|0;f[o+(j<<2)>>2]=k;r=o}else{o=f[n>>2]|0;k=f[p>>2]|0;f[k+(j<<2)>>2]=(m|0)<(o|0)?o:m;r=k}j=j+1|0;s=f[i>>2]|0}while((j|0)<(s|0));if((s|0)>0){s=a+20|0;j=0;do{p=(f[b+(j<<2)>>2]|0)+(f[r+(j<<2)>>2]|0)|0;q=c+(j<<2)|0;f[q>>2]=p;if((p|0)<=(f[l>>2]|0)){if((p|0)<(f[n>>2]|0)){t=(f[s>>2]|0)+p|0;v=18}}else{t=p-(f[s>>2]|0)|0;v=18}if((v|0)==18){v=0;f[q>>2]=t}j=j+1|0}while((j|0)<(f[i>>2]|0))}}j=f[a+48>>2]|0;t=f[a+52>>2]|0;s=bj(16)|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[h>>2]=0;n=h+4|0;f[n>>2]=0;f[h+8>>2]=0;do if(e)if(e>>>0>1073741823)um(h);else{l=e<<2;r=bj(l)|0;f[h>>2]=r;q=r+(e<<2)|0;f[h+8>>2]=q;Vf(r|0,0,l|0)|0;f[n>>2]=q;w=r;x=r;break}else{w=0;x=0}while(0);r=a+56|0;q=f[r>>2]|0;l=f[q+4>>2]|0;p=f[q>>2]|0;k=l-p|0;m=k>>2;do if((k|0)>4){o=j+12|0;y=(e|0)>0;z=a+16|0;A=a+32|0;B=a+12|0;C=a+20|0;D=e<<2;E=(e|0)==1;if(l-p>>2>>>0>1){F=1;G=p}else{H=q;um(H)}while(1){I=f[G+(F<<2)>>2]|0;J=(((I>>>0)%3|0|0)==0?2:-1)+I|0;K=(I|0)==-1|(J|0)==-1;L=1;M=0;N=I;a:while(1){O=L^1;P=M;Q=N;while(1){if((Q|0)==-1){R=P;v=64;break a}S=f[d+(P*12|0)>>2]|0;T=f[o>>2]|0;U=f[T+(Q<<2)>>2]|0;if((U|0)!=-1){V=f[j>>2]|0;W=f[t>>2]|0;Y=f[W+(f[V+(U<<2)>>2]<<2)>>2]|0;Z=U+1|0;_=((Z>>>0)%3|0|0)==0?U+-2|0:Z;if((_|0)==-1)$=-1;else $=f[V+(_<<2)>>2]|0;_=f[W+($<<2)>>2]|0;Z=(((U>>>0)%3|0|0)==0?2:-1)+U|0;if((Z|0)==-1)aa=-1;else aa=f[V+(Z<<2)>>2]|0;Z=f[W+(aa<<2)>>2]|0;if((Y|0)<(F|0)&(_|0)<(F|0)&(Z|0)<(F|0)){W=X(Y,e)|0;Y=X(_,e)|0;_=X(Z,e)|0;if(y){Z=0;do{f[S+(Z<<2)>>2]=(f[c+(Z+_<<2)>>2]|0)+(f[c+(Z+Y<<2)>>2]|0)-(f[c+(Z+W<<2)>>2]|0);Z=Z+1|0}while((Z|0)!=(e|0))}Z=P+1|0;if((Z|0)==4){ba=4;v=47;break a}else ca=Z}else ca=P}else ca=P;do if(L){Z=Q+1|0;W=((Z>>>0)%3|0|0)==0?Q+-2|0:Z;if((W|0)!=-1?(Z=f[T+(W<<2)>>2]|0,W=Z+1|0,(Z|0)!=-1):0)da=((W>>>0)%3|0|0)==0?Z+-2|0:W;else da=-1}else{W=(((Q>>>0)%3|0|0)==0?2:-1)+Q|0;if((W|0)!=-1?(Z=f[T+(W<<2)>>2]|0,(Z|0)!=-1):0)if(!((Z>>>0)%3|0)){da=Z+2|0;break}else{da=Z+-1|0;break}else da=-1}while(0);if((da|0)==(I|0)){R=ca;v=64;break a}if((da|0)!=-1|O){P=ca;Q=da}else break}if(K){L=0;M=ca;N=-1;continue}Q=f[T+(J<<2)>>2]|0;if((Q|0)==-1){L=0;M=ca;N=-1;continue}if(!((Q>>>0)%3|0)){L=0;M=ca;N=Q+2|0;continue}else{L=0;M=ca;N=Q+-1|0;continue}}if((v|0)==64){v=0;if((R|0)>0){ba=R;v=47}else{ea=X(F,e)|0;v=77}}if((v|0)==47){v=0;if(y){Vf(f[h>>2]|0,0,D|0)|0;N=ba+-1|0;M=s+(N<<2)|0;L=f[a+60+(N*12|0)>>2]|0;N=f[h>>2]|0;J=0;K=0;while(1){I=f[M>>2]|0;f[M>>2]=I+1;if(!(f[L+(I>>>5<<2)>>2]&1<<(I&31))){I=f[d+(J*12|0)>>2]|0;Q=0;do{P=N+(Q<<2)|0;f[P>>2]=(f[P>>2]|0)+(f[I+(Q<<2)>>2]|0);Q=Q+1|0}while((Q|0)!=(e|0));fa=K+1|0}else fa=K;J=J+1|0;if((J|0)==(ba|0)){ga=fa;break}else K=fa}}else{K=ba+-1|0;J=s+(K<<2)|0;N=f[a+60+(K*12|0)>>2]|0;K=0;L=0;M=f[J>>2]|0;while(1){Q=M;M=M+1|0;f[J>>2]=M;I=L+((f[N+(Q>>>5<<2)>>2]&1<<(Q&31)|0)==0&1)|0;K=K+1|0;if((K|0)==(ba|0)){ga=I;break}else L=I}}L=X(F,e)|0;if(ga){K=f[h>>2]|0;if(y?(f[K>>2]=(f[K>>2]|0)/(ga|0)|0,!E):0){N=1;do{M=K+(N<<2)|0;f[M>>2]=(f[M>>2]|0)/(ga|0)|0;N=N+1|0}while((N|0)!=(e|0))}N=b+(L<<2)|0;M=c+(L<<2)|0;if((f[i>>2]|0)>0){J=0;do{I=f[K+(J<<2)>>2]|0;Q=f[z>>2]|0;if((I|0)>(Q|0)){P=f[A>>2]|0;f[P+(J<<2)>>2]=Q;ha=P}else{P=f[B>>2]|0;Q=f[A>>2]|0;f[Q+(J<<2)>>2]=(I|0)<(P|0)?P:I;ha=Q}J=J+1|0;ia=f[i>>2]|0}while((J|0)<(ia|0));if((ia|0)>0){J=0;do{K=(f[N+(J<<2)>>2]|0)+(f[ha+(J<<2)>>2]|0)|0;Q=M+(J<<2)|0;f[Q>>2]=K;do if((K|0)>(f[z>>2]|0)){ja=K-(f[C>>2]|0)|0;v=99}else{if((K|0)>=(f[B>>2]|0))break;ja=(f[C>>2]|0)+K|0;v=99}while(0);if((v|0)==99){v=0;f[Q>>2]=ja}J=J+1|0}while((J|0)<(f[i>>2]|0))}}}else{ea=L;v=77}}if((v|0)==77?(v=0,J=c+((X(F+-1|0,e)|0)<<2)|0,M=b+(ea<<2)|0,N=c+(ea<<2)|0,(f[i>>2]|0)>0):0){K=0;do{I=f[J+(K<<2)>>2]|0;P=f[z>>2]|0;if((I|0)>(P|0)){O=f[A>>2]|0;f[O+(K<<2)>>2]=P;ka=O}else{O=f[B>>2]|0;P=f[A>>2]|0;f[P+(K<<2)>>2]=(I|0)<(O|0)?O:I;ka=P}K=K+1|0;la=f[i>>2]|0}while((K|0)<(la|0));if((la|0)>0){K=0;do{J=(f[M+(K<<2)>>2]|0)+(f[ka+(K<<2)>>2]|0)|0;L=N+(K<<2)|0;f[L>>2]=J;if((J|0)<=(f[z>>2]|0)){if((J|0)<(f[B>>2]|0)){ma=(f[C>>2]|0)+J|0;v=87}}else{ma=J-(f[C>>2]|0)|0;v=87}if((v|0)==87){v=0;f[L>>2]=ma}K=K+1|0}while((K|0)<(f[i>>2]|0))}}F=F+1|0;if((F|0)>=(m|0)){v=28;break}K=f[r>>2]|0;G=f[K>>2]|0;if((f[K+4>>2]|0)-G>>2>>>0<=F>>>0){H=K;v=34;break}}if((v|0)==28){C=f[h>>2]|0;na=C;oa=C;break}else if((v|0)==34)um(H)}else{na=x;oa=w}while(0);if(na|0){w=f[n>>2]|0;if((w|0)!=(na|0))f[n>>2]=w+(~((w+-4-na|0)>>>2)<<2);dn(oa)}dn(s);s=f[d+36>>2]|0;if(s|0){oa=d+40|0;na=f[oa>>2]|0;if((na|0)!=(s|0))f[oa>>2]=na+(~((na+-4-s|0)>>>2)<<2);dn(s)}s=f[d+24>>2]|0;if(s|0){na=d+28|0;oa=f[na>>2]|0;if((oa|0)!=(s|0))f[na>>2]=oa+(~((oa+-4-s|0)>>>2)<<2);dn(s)}s=f[d+12>>2]|0;if(s|0){oa=d+16|0;na=f[oa>>2]|0;if((na|0)!=(s|0))f[oa>>2]=na+(~((na+-4-s|0)>>>2)<<2);dn(s)}s=f[d>>2]|0;if(!s){u=g;return 1}na=d+4|0;d=f[na>>2]|0;if((d|0)!=(s|0))f[na>>2]=d+(~((d+-4-s|0)>>>2)<<2);dn(s);u=g;return 1}function eb(a,c,d,e,g,i){a=a|0;c=+c;d=d|0;e=e|0;g=g|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,y=0,z=0,A=0,B=0.0,C=0,D=0.0,E=0,F=0,G=0,H=0.0,J=0,K=0,L=0,M=0,N=0,O=0.0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0.0,ga=0.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;j=u;u=u+560|0;k=j+8|0;l=j;m=j+524|0;n=m;o=j+512|0;f[l>>2]=0;p=o+12|0;zk(c)|0;if((I|0)<0){q=-c;r=1;s=10359}else{q=c;r=(g&2049|0)!=0&1;s=(g&2048|0)==0?((g&1|0)==0?10360:10365):10362}zk(q)|0;do if(0==0&(I&2146435072|0)==2146435072){t=(i&32|0)!=0;v=r+3|0;ch(a,32,d,v,g&-65537);il(a,s,r);il(a,q!=q|0.0!=0.0?(t?10386:10390):t?10378:10382,3);ch(a,32,d,v,g^8192);w=v}else{c=+Jm(q,l)*2.0;v=c!=0.0;if(v)f[l>>2]=(f[l>>2]|0)+-1;t=i|32;if((t|0)==97){x=i&32;y=(x|0)==0?s:s+9|0;z=r|2;A=12-e|0;do if(!(e>>>0>11|(A|0)==0)){B=8.0;C=A;do{C=C+-1|0;B=B*16.0}while((C|0)!=0);if((b[y>>0]|0)==45){D=-(B+(-c-B));break}else{D=c+B-B;break}}else D=c;while(0);A=f[l>>2]|0;C=(A|0)<0?0-A|0:A;E=pg(C,((C|0)<0)<<31>>31,p)|0;if((E|0)==(p|0)){C=o+11|0;b[C>>0]=48;F=C}else F=E;b[F+-1>>0]=(A>>31&2)+43;A=F+-2|0;b[A>>0]=i+15;E=(e|0)<1;C=(g&8|0)==0;G=m;H=D;while(1){J=~~H;K=G+1|0;b[G>>0]=x|h[10394+J>>0];H=(H-+(J|0))*16.0;if((K-n|0)==1?!(C&(E&H==0.0)):0){b[K>>0]=46;L=G+2|0}else L=K;if(!(H!=0.0))break;else G=L}G=L;if((e|0)!=0?(-2-n+G|0)<(e|0):0){M=G-n|0;N=e+2|0}else{E=G-n|0;M=E;N=E}E=p-A|0;G=E+z+N|0;ch(a,32,d,G,g);il(a,y,z);ch(a,48,d,G,g^65536);il(a,m,M);ch(a,48,N-M|0,0,0);il(a,A,E);ch(a,32,d,G,g^8192);w=G;break}G=(e|0)<0?6:e;if(v){E=(f[l>>2]|0)+-28|0;f[l>>2]=E;O=c*268435456.0;P=E}else{O=c;P=f[l>>2]|0}E=(P|0)<0?k:k+288|0;C=E;H=O;do{x=~~H>>>0;f[C>>2]=x;C=C+4|0;H=(H-+(x>>>0))*1.0e9}while(H!=0.0);if((P|0)>0){v=E;A=C;z=P;while(1){y=(z|0)<29?z:29;x=A+-4|0;if(x>>>0>=v>>>0){K=x;x=0;do{J=Oj(f[K>>2]|0,0,y|0)|0;Q=Rj(J|0,I|0,x|0,0)|0;J=I;R=$i(Q|0,J|0,1e9,0)|0;f[K>>2]=R;x=Fl(Q|0,J|0,1e9,0)|0;K=K+-4|0}while(K>>>0>=v>>>0);if(x){K=v+-4|0;f[K>>2]=x;S=K}else S=v}else S=v;K=A;while(1){if(K>>>0<=S>>>0)break;J=K+-4|0;if(!(f[J>>2]|0))K=J;else break}x=(f[l>>2]|0)-y|0;f[l>>2]=x;if((x|0)>0){v=S;A=K;z=x}else{T=S;U=K;V=x;break}}}else{T=E;U=C;V=P}if((V|0)<0){z=((G+25|0)/9|0)+1|0;A=(t|0)==102;v=T;x=U;J=V;while(1){Q=0-J|0;R=(Q|0)<9?Q:9;if(v>>>0>>0){Q=(1<>>R;Y=0;Z=v;do{_=f[Z>>2]|0;f[Z>>2]=(_>>>R)+Y;Y=X(_&Q,W)|0;Z=Z+4|0}while(Z>>>0>>0);Z=(f[v>>2]|0)==0?v+4|0:v;if(!Y){$=Z;aa=x}else{f[x>>2]=Y;$=Z;aa=x+4|0}}else{$=(f[v>>2]|0)==0?v+4|0:v;aa=x}Z=A?E:$;W=(aa-Z>>2|0)>(z|0)?Z+(z<<2)|0:aa;J=(f[l>>2]|0)+R|0;f[l>>2]=J;if((J|0)>=0){ba=$;ca=W;break}else{v=$;x=W}}}else{ba=T;ca=U}x=E;if(ba>>>0>>0){v=(x-ba>>2)*9|0;J=f[ba>>2]|0;if(J>>>0<10)da=v;else{z=v;v=10;while(1){v=v*10|0;A=z+1|0;if(J>>>0>>0){da=A;break}else z=A}}}else da=0;z=(t|0)==103;v=(G|0)!=0;J=G-((t|0)!=102?da:0)+((v&z)<<31>>31)|0;if((J|0)<(((ca-x>>2)*9|0)+-9|0)){A=J+9216|0;J=E+4+(((A|0)/9|0)+-1024<<2)|0;C=(A|0)%9|0;if((C|0)<8){A=C;C=10;while(1){W=C*10|0;if((A|0)<7){A=A+1|0;C=W}else{ea=W;break}}}else ea=10;C=f[J>>2]|0;A=(C>>>0)%(ea>>>0)|0;t=(J+4|0)==(ca|0);if(!(t&(A|0)==0)){B=(((C>>>0)/(ea>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;W=(ea|0)/2|0;H=A>>>0>>0?.5:t&(A|0)==(W|0)?1.0:1.5;if(!r){fa=H;ga=B}else{W=(b[s>>0]|0)==45;fa=W?-H:H;ga=W?-B:B}W=C-A|0;f[J>>2]=W;if(ga+fa!=ga){A=W+ea|0;f[J>>2]=A;if(A>>>0>999999999){A=ba;W=J;while(1){C=W+-4|0;f[W>>2]=0;if(C>>>0>>0){t=A+-4|0;f[t>>2]=0;ha=t}else ha=A;t=(f[C>>2]|0)+1|0;f[C>>2]=t;if(t>>>0>999999999){A=ha;W=C}else{ia=ha;ja=C;break}}}else{ia=ba;ja=J}W=(x-ia>>2)*9|0;A=f[ia>>2]|0;if(A>>>0<10){ka=ja;la=W;ma=ia}else{C=W;W=10;while(1){W=W*10|0;t=C+1|0;if(A>>>0>>0){ka=ja;la=t;ma=ia;break}else C=t}}}else{ka=J;la=da;ma=ba}}else{ka=J;la=da;ma=ba}C=ka+4|0;na=la;oa=ca>>>0>C>>>0?C:ca;pa=ma}else{na=da;oa=ca;pa=ba}C=oa;while(1){if(C>>>0<=pa>>>0){qa=0;break}W=C+-4|0;if(!(f[W>>2]|0))C=W;else{qa=1;break}}J=0-na|0;do if(z){W=G+((v^1)&1)|0;if((W|0)>(na|0)&(na|0)>-5){ra=i+-1|0;sa=W+-1-na|0}else{ra=i+-2|0;sa=W+-1|0}W=g&8;if(!W){if(qa?(A=f[C+-4>>2]|0,(A|0)!=0):0)if(!((A>>>0)%10|0)){t=0;Z=10;while(1){Z=Z*10|0;Q=t+1|0;if((A>>>0)%(Z>>>0)|0|0){ta=Q;break}else t=Q}}else ta=0;else ta=9;t=((C-x>>2)*9|0)+-9|0;if((ra|32|0)==102){Z=t-ta|0;A=(Z|0)>0?Z:0;ua=ra;va=(sa|0)<(A|0)?sa:A;wa=0;break}else{A=t+na-ta|0;t=(A|0)>0?A:0;ua=ra;va=(sa|0)<(t|0)?sa:t;wa=0;break}}else{ua=ra;va=sa;wa=W}}else{ua=i;va=G;wa=g&8}while(0);G=va|wa;x=(G|0)!=0&1;v=(ua|32|0)==102;if(v){xa=0;ya=(na|0)>0?na:0}else{z=(na|0)<0?J:na;t=pg(z,((z|0)<0)<<31>>31,p)|0;z=p;if((z-t|0)<2){A=t;while(1){Z=A+-1|0;b[Z>>0]=48;if((z-Z|0)<2)A=Z;else{za=Z;break}}}else za=t;b[za+-1>>0]=(na>>31&2)+43;A=za+-2|0;b[A>>0]=ua;xa=A;ya=z-A|0}A=r+1+va+x+ya|0;ch(a,32,d,A,g);il(a,s,r);ch(a,48,d,A,g^65536);if(v){J=pa>>>0>E>>>0?E:pa;Z=m+9|0;R=Z;Y=m+8|0;Q=J;do{K=pg(f[Q>>2]|0,0,Z)|0;if((Q|0)==(J|0))if((K|0)==(Z|0)){b[Y>>0]=48;Aa=Y}else Aa=K;else if(K>>>0>m>>>0){Vf(m|0,48,K-n|0)|0;y=K;while(1){_=y+-1|0;if(_>>>0>m>>>0)y=_;else{Aa=_;break}}}else Aa=K;il(a,Aa,R-Aa|0);Q=Q+4|0}while(Q>>>0<=E>>>0);if(G|0)il(a,10410,1);if(Q>>>0>>0&(va|0)>0){E=va;R=Q;while(1){Y=pg(f[R>>2]|0,0,Z)|0;if(Y>>>0>m>>>0){Vf(m|0,48,Y-n|0)|0;J=Y;while(1){v=J+-1|0;if(v>>>0>m>>>0)J=v;else{Ba=v;break}}}else Ba=Y;il(a,Ba,(E|0)<9?E:9);R=R+4|0;J=E+-9|0;if(!(R>>>0>>0&(E|0)>9)){Ca=J;break}else E=J}}else Ca=va;ch(a,48,Ca+9|0,9,0)}else{E=qa?C:pa+4|0;if((va|0)>-1){R=m+9|0;Z=(wa|0)==0;Q=R;G=0-n|0;J=m+8|0;K=va;v=pa;while(1){x=pg(f[v>>2]|0,0,R)|0;if((x|0)==(R|0)){b[J>>0]=48;Da=J}else Da=x;do if((v|0)==(pa|0)){x=Da+1|0;il(a,Da,1);if(Z&(K|0)<1){Ea=x;break}il(a,10410,1);Ea=x}else{if(Da>>>0<=m>>>0){Ea=Da;break}Vf(m|0,48,Da+G|0)|0;x=Da;while(1){z=x+-1|0;if(z>>>0>m>>>0)x=z;else{Ea=z;break}}}while(0);Y=Q-Ea|0;il(a,Ea,(K|0)>(Y|0)?Y:K);x=K-Y|0;v=v+4|0;if(!(v>>>0>>0&(x|0)>-1)){Fa=x;break}else K=x}}else Fa=va;ch(a,48,Fa+18|0,18,0);il(a,xa,p-xa|0)}ch(a,32,d,A,g^8192);w=A}while(0);u=j;return ((w|0)<(d|0)?d:w)|0}function fb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,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,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;c=u;u=u+48|0;d=c+36|0;e=c+24|0;g=c+12|0;h=c;i=a+4|0;j=f[(f[i>>2]|0)+44>>2]|0;k=a+8|0;l=f[k>>2]|0;m=((f[l+4>>2]|0)-(f[l>>2]|0)>>2>>>0)/3|0;l=j+96|0;n=j+100|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;j=f[n>>2]|0;o=f[l>>2]|0;p=(j-o|0)/12|0;q=o;o=j;if(m>>>0<=p>>>0){if(m>>>0

>>0?(j=q+(m*12|0)|0,(j|0)!=(o|0)):0)f[n>>2]=o+(~(((o+-12-j|0)>>>0)/12|0)*12|0)}else Yd(l,m-p|0,d);p=a+212|0;m=a+216|0;if((f[p>>2]|0)==(f[m>>2]|0)){l=f[i>>2]|0;j=f[l+44>>2]|0;o=f[j+100>>2]|0;n=f[j+96>>2]|0;if((o|0)==(n|0))r=l;else{q=e+4|0;s=e+8|0;t=0;v=j;j=n;n=l;w=l;l=o;while(1){f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;o=t*3|0;if((o|0)!=-1){x=f[(f[f[k>>2]>>2]|0)+(o<<2)>>2]|0;f[e>>2]=x;y=o+1|0;if((y|0)==-1){f[q>>2]=-1;z=0;A=x;B=95}else{C=y;D=x;B=94}}else{f[e>>2]=-1;C=0;D=-1;B=94}if((B|0)==94){B=0;f[q>>2]=f[(f[f[k>>2]>>2]|0)+(C<<2)>>2];x=o+2|0;if((x|0)==-1){E=-1;F=D}else{z=x;A=D;B=95}}if((B|0)==95){B=0;E=f[(f[f[k>>2]>>2]|0)+(z<<2)>>2]|0;F=A}f[s>>2]=E;x=v+96|0;o=v+100|0;y=(l-j|0)/12|0;G=j;H=t;t=t+1|0;if(H>>>0>>0){I=n;J=v;K=w;L=G;M=j;N=l}else{O=l;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;if(t>>>0<=y>>>0)if(t>>>0>>0?(P=G+(t*12|0)|0,(P|0)!=(O|0)):0){Q=O+(~(((O+-12-P|0)>>>0)/12|0)*12|0)|0;f[o>>2]=Q;R=G;S=w;T=v;U=Q;V=j}else{R=G;S=w;T=v;U=l;V=j}else{Yd(x,t-y|0,d);y=f[i>>2]|0;G=f[y+44>>2]|0;R=f[x>>2]|0;S=y;T=G;U=f[G+100>>2]|0;V=f[G+96>>2]|0}I=S;J=T;K=S;L=R;M=V;N=U}f[L+(H*12|0)>>2]=F;f[L+(H*12|0)+4>>2]=f[q>>2];f[L+(H*12|0)+8>>2]=f[s>>2];if(t>>>0>=((N-M|0)/12|0)>>>0){r=I;break}else{v=J;j=M;n=I;w=K;l=N}}}f[(f[r+4>>2]|0)+80>>2]=b;u=c;return 1}f[e>>2]=0;b=e+4|0;f[b>>2]=0;f[e+8>>2]=0;r=f[k>>2]|0;N=(f[r+4>>2]|0)-(f[r>>2]|0)|0;l=N>>2;f[g>>2]=0;K=g+4|0;f[K>>2]=0;f[g+8>>2]=0;do if(l|0)if(l>>>0>1073741823)um(g);else{w=bj(N)|0;f[g>>2]=w;I=w+(l<<2)|0;f[g+8>>2]=I;Vf(w|0,0,N|0)|0;f[K>>2]=I;break}while(0);if(((f[r+28>>2]|0)-(f[r+24>>2]|0)|0)>0){N=a+120|0;a=e+8|0;l=0;I=r;while(1){r=f[(f[I+24>>2]|0)+(l<<2)>>2]|0;a:do if((r|0)!=-1){b:do if((f[(f[N>>2]|0)+(l>>>5<<2)>>2]&1<<(l&31)|0)==0?(w=f[m>>2]|0,n=f[p>>2]|0,M=n,(w|0)!=(n|0)):0){j=(((r>>>0)%3|0|0)==0?2:-1)+r|0;J=(w-n|0)/144|0;if((j|0)==-1){n=(r|0)==-1;w=0;while(1){v=f[(f[f[M+(w*144|0)+68>>2]>>2]|0)+(r<<2)>>2]|0;if(1<<(v&31)&f[(f[M+(w*144|0)+16>>2]|0)+(v>>>5<<2)>>2]|0){v=f[M+(w*144|0)+32>>2]|0;t=(f[v+-4>>2]|0)==(f[v+(r<<2)>>2]|0);do if(!t){W=-1;break b}while(!n)}w=w+1|0;if(w>>>0>=J>>>0){W=r;break b}}}w=I+12|0;n=0;while(1){t=f[(f[f[M+(n*144|0)+68>>2]>>2]|0)+(r<<2)>>2]|0;if(1<<(t&31)&f[(f[M+(n*144|0)+16>>2]|0)+(t>>>5<<2)>>2]|0){t=f[M+(n*144|0)+32>>2]|0;v=f[t+(r<<2)>>2]|0;s=f[w>>2]|0;L=f[s+(j<<2)>>2]|0;do if((L|0)!=-1)if(!((L>>>0)%3|0)){X=L+2|0;break}else{X=L+-1|0;break}else X=-1;while(0);if((X|0)!=(r|0)){L=X;while(1){if((f[t+(L<<2)>>2]|0)!=(v|0)){W=L;break b}do if((L|0)!=-1){q=(((L>>>0)%3|0|0)==0?2:-1)+L|0;if((q|0)==-1){Y=-1;break}F=f[s+(q<<2)>>2]|0;if((F|0)==-1){Y=-1;break}if(!((F>>>0)%3|0)){Y=F+2|0;break}else{Y=F+-1|0;break}}else Y=-1;while(0);if((Y|0)==(r|0))break;else L=Y}}}n=n+1|0;if(n>>>0>=J>>>0){W=r;break}}}else W=r;while(0);J=f[b>>2]|0;f[(f[g>>2]|0)+(W<<2)>>2]=J-(f[e>>2]|0)>>2;f[d>>2]=W;n=J;if((f[a>>2]|0)>>>0>n>>>0){f[n>>2]=W;f[b>>2]=n+4;Z=I}else{xf(e,d);Z=f[k>>2]|0}if((((W|0)!=-1?(n=(((W>>>0)%3|0|0)==0?2:-1)+W|0,(n|0)!=-1):0)?(J=f[(f[Z+12>>2]|0)+(n<<2)>>2]|0,(J|0)!=-1):0)?(n=J+(((J>>>0)%3|0|0)==0?2:-1)|0,(n|0)!=-1&(n|0)!=(W|0)):0){J=W;j=n;n=Z;while(1){w=f[m>>2]|0;M=f[p>>2]|0;L=M;c:do if((w|0)==(M|0))B=70;else{s=(w-M|0)/144|0;v=0;while(1){t=f[L+(v*144|0)+32>>2]|0;v=v+1|0;if((f[t+(j<<2)>>2]|0)!=(f[t+(J<<2)>>2]|0))break;if(v>>>0>=s>>>0){B=70;break c}}s=f[b>>2]|0;f[(f[g>>2]|0)+(j<<2)>>2]=s-(f[e>>2]|0)>>2;f[d>>2]=j;v=s;if((f[a>>2]|0)>>>0>v>>>0){f[v>>2]=j;f[b>>2]=v+4;_=n}else{xf(e,d);_=f[k>>2]|0}$=_}while(0);if((B|0)==70){B=0;L=f[g>>2]|0;f[L+(j<<2)>>2]=f[L+(J<<2)>>2];$=n}if((j|0)==-1){aa=$;break a}L=(((j>>>0)%3|0|0)==0?2:-1)+j|0;if((L|0)==-1){aa=$;break a}M=f[(f[$+12>>2]|0)+(L<<2)>>2]|0;if((M|0)==-1){aa=$;break a}L=M+(((M>>>0)%3|0|0)==0?2:-1)|0;if((L|0)!=-1&(L|0)!=(W|0)){M=j;j=L;n=$;J=M}else{aa=$;break}}}else aa=Z}else aa=I;while(0);l=l+1|0;if((l|0)>=((f[aa+28>>2]|0)-(f[aa+24>>2]|0)>>2|0))break;else I=aa}}aa=f[i>>2]|0;I=f[aa+44>>2]|0;l=f[I+100>>2]|0;Z=f[I+96>>2]|0;if((l|0)==(Z|0))ba=aa;else{$=h+4|0;W=h+8|0;B=0;_=I;I=Z;Z=l;l=aa;k=aa;while(1){f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;aa=(f[g>>2]|0)+(B*3<<2)|0;f[h>>2]=f[aa>>2];f[h+4>>2]=f[aa+4>>2];f[h+8>>2]=f[aa+8>>2];aa=_+96|0;a=_+100|0;p=(Z-I|0)/12|0;m=I;Y=B;B=B+1|0;if(Y>>>0

>>0){ca=m;da=I;ea=Z;fa=l;ga=_;ha=k}else{X=Z;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;if(B>>>0<=p>>>0)if(B>>>0

>>0?(N=m+(B*12|0)|0,(N|0)!=(X|0)):0){r=X+(~(((X+-12-N|0)>>>0)/12|0)*12|0)|0;f[a>>2]=r;ia=m;ja=k;ka=_;la=r;ma=I}else{ia=m;ja=k;ka=_;la=Z;ma=I}else{Yd(aa,B-p|0,d);p=f[i>>2]|0;m=f[p+44>>2]|0;ia=f[aa>>2]|0;ja=p;ka=m;la=f[m+100>>2]|0;ma=f[m+96>>2]|0}ca=ia;da=ma;ea=la;fa=ja;ga=ka;ha=ja}f[ca+(Y*12|0)>>2]=f[h>>2];f[ca+(Y*12|0)+4>>2]=f[$>>2];f[ca+(Y*12|0)+8>>2]=f[W>>2];if(B>>>0>=((ea-da|0)/12|0)>>>0){ba=fa;break}else{_=ga;I=da;Z=ea;l=fa;k=ha}}}ha=f[e>>2]|0;f[(f[ba+4>>2]|0)+80>>2]=(f[b>>2]|0)-ha>>2;ba=f[g>>2]|0;if(!ba)na=ha;else{ha=f[K>>2]|0;if((ha|0)!=(ba|0))f[K>>2]=ha+(~((ha+-4-ba|0)>>>2)<<2);dn(ba);na=f[e>>2]|0}if(na|0){e=f[b>>2]|0;if((e|0)!=(na|0))f[b>>2]=e+(~((e+-4-na|0)>>>2)<<2);dn(na)}u=c;return 1}function gb(a,c,e,g,h){a=a|0;c=c|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,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,J=0,K=0,L=0,M=0,N=0,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;i=u;u=u+64|0;j=i+16|0;k=i;l=i+24|0;m=i+8|0;n=i+20|0;f[j>>2]=c;c=(a|0)!=0;o=l+40|0;q=o;r=l+39|0;l=m+4|0;s=0;t=0;v=0;a:while(1){do if((t|0)>-1)if((s|0)>(2147483647-t|0)){w=ln()|0;f[w>>2]=75;x=-1;break}else{x=s+t|0;break}else x=t;while(0);w=f[j>>2]|0;y=b[w>>0]|0;if(!(y<<24>>24)){z=88;break}else{A=y;B=w}b:while(1){switch(A<<24>>24){case 37:{C=B;D=B;z=9;break b;break}case 0:{E=B;break b;break}default:{}}y=B+1|0;f[j>>2]=y;A=b[y>>0]|0;B=y}c:do if((z|0)==9)while(1){z=0;if((b[D+1>>0]|0)!=37){E=C;break c}y=C+1|0;D=D+2|0;f[j>>2]=D;if((b[D>>0]|0)!=37){E=y;break}else{C=y;z=9}}while(0);y=E-w|0;if(c)il(a,w,y);if(y|0){s=y;t=x;continue}y=(Om(b[(f[j>>2]|0)+1>>0]|0)|0)==0;F=f[j>>2]|0;if(!y?(b[F+2>>0]|0)==36:0){G=(b[F+1>>0]|0)+-48|0;H=1;J=3}else{G=-1;H=v;J=1}y=F+J|0;f[j>>2]=y;F=b[y>>0]|0;K=(F<<24>>24)+-32|0;if(K>>>0>31|(1<>24)+-32|K;P=F+1|0;f[j>>2]=P;Q=b[P>>0]|0;R=(Q<<24>>24)+-32|0;if(R>>>0>31|(1<>24==42){if((Om(b[N+1>>0]|0)|0)!=0?(F=f[j>>2]|0,(b[F+2>>0]|0)==36):0){O=F+1|0;f[h+((b[O>>0]|0)+-48<<2)>>2]=10;S=f[g+((b[O>>0]|0)+-48<<3)>>2]|0;T=1;U=F+3|0}else{if(H|0){V=-1;break}if(c){F=(f[e>>2]|0)+(4-1)&~(4-1);O=f[F>>2]|0;f[e>>2]=F+4;W=O}else W=0;S=W;T=0;U=(f[j>>2]|0)+1|0}f[j>>2]=U;O=(S|0)<0;X=O?0-S|0:S;Y=O?L|8192:L;Z=T;_=U}else{O=Sh(j)|0;if((O|0)<0){V=-1;break}X=O;Y=L;Z=H;_=f[j>>2]|0}do if((b[_>>0]|0)==46){if((b[_+1>>0]|0)!=42){f[j>>2]=_+1;O=Sh(j)|0;$=O;aa=f[j>>2]|0;break}if(Om(b[_+2>>0]|0)|0?(O=f[j>>2]|0,(b[O+3>>0]|0)==36):0){F=O+2|0;f[h+((b[F>>0]|0)+-48<<2)>>2]=10;K=f[g+((b[F>>0]|0)+-48<<3)>>2]|0;F=O+4|0;f[j>>2]=F;$=K;aa=F;break}if(Z|0){V=-1;break a}if(c){F=(f[e>>2]|0)+(4-1)&~(4-1);K=f[F>>2]|0;f[e>>2]=F+4;ba=K}else ba=0;K=(f[j>>2]|0)+2|0;f[j>>2]=K;$=ba;aa=K}else{$=-1;aa=_}while(0);K=0;F=aa;while(1){if(((b[F>>0]|0)+-65|0)>>>0>57){V=-1;break a}O=F;F=F+1|0;f[j>>2]=F;ca=b[(b[O>>0]|0)+-65+(9878+(K*58|0))>>0]|0;da=ca&255;if((da+-1|0)>>>0>=8)break;else K=da}if(!(ca<<24>>24)){V=-1;break}O=(G|0)>-1;do if(ca<<24>>24==19)if(O){V=-1;break a}else z=50;else{if(O){f[h+(G<<2)>>2]=da;P=g+(G<<3)|0;Q=f[P+4>>2]|0;y=k;f[y>>2]=f[P>>2];f[y+4>>2]=Q;z=50;break}if(!c){V=0;break a}Zc(k,da,e);ea=f[j>>2]|0}while(0);if((z|0)==50){z=0;if(c)ea=F;else{s=0;t=x;v=Z;continue}}O=b[ea+-1>>0]|0;Q=(K|0)!=0&(O&15|0)==3?O&-33:O;O=Y&-65537;y=(Y&8192|0)==0?Y:O;d:do switch(Q|0){case 110:{switch((K&255)<<24>>24){case 0:{f[f[k>>2]>>2]=x;s=0;t=x;v=Z;continue a;break}case 1:{f[f[k>>2]>>2]=x;s=0;t=x;v=Z;continue a;break}case 2:{P=f[k>>2]|0;f[P>>2]=x;f[P+4>>2]=((x|0)<0)<<31>>31;s=0;t=x;v=Z;continue a;break}case 3:{d[f[k>>2]>>1]=x;s=0;t=x;v=Z;continue a;break}case 4:{b[f[k>>2]>>0]=x;s=0;t=x;v=Z;continue a;break}case 6:{f[f[k>>2]>>2]=x;s=0;t=x;v=Z;continue a;break}case 7:{P=f[k>>2]|0;f[P>>2]=x;f[P+4>>2]=((x|0)<0)<<31>>31;s=0;t=x;v=Z;continue a;break}default:{s=0;t=x;v=Z;continue a}}break}case 112:{fa=120;ga=$>>>0>8?$:8;ha=y|8;z=62;break}case 88:case 120:{fa=Q;ga=$;ha=y;z=62;break}case 111:{P=k;R=f[P>>2]|0;ia=f[P+4>>2]|0;P=Wh(R,ia,o)|0;ja=q-P|0;ka=P;la=0;ma=10342;na=(y&8|0)==0|($|0)>(ja|0)?$:ja+1|0;oa=y;pa=R;qa=ia;z=68;break}case 105:case 100:{ia=k;R=f[ia>>2]|0;ja=f[ia+4>>2]|0;if((ja|0)<0){ia=Tj(0,0,R|0,ja|0)|0;P=I;ra=k;f[ra>>2]=ia;f[ra+4>>2]=P;sa=1;ta=10342;ua=ia;va=P;z=67;break d}else{sa=(y&2049|0)!=0&1;ta=(y&2048|0)==0?((y&1|0)==0?10342:10344):10343;ua=R;va=ja;z=67;break d}break}case 117:{ja=k;sa=0;ta=10342;ua=f[ja>>2]|0;va=f[ja+4>>2]|0;z=67;break}case 99:{b[r>>0]=f[k>>2];wa=r;xa=0;ya=10342;za=o;Aa=1;Ba=O;break}case 109:{ja=ln()|0;Ca=nl(f[ja>>2]|0)|0;z=72;break}case 115:{ja=f[k>>2]|0;Ca=ja|0?ja:10352;z=72;break}case 67:{f[m>>2]=f[k>>2];f[l>>2]=0;f[k>>2]=m;Da=-1;Ea=m;z=76;break}case 83:{ja=f[k>>2]|0;if(!$){ch(a,32,X,0,y);Fa=0;z=85}else{Da=$;Ea=ja;z=76}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{s=eb(a,+p[k>>3],X,$,y,Q)|0;t=x;v=Z;continue a;break}default:{wa=w;xa=0;ya=10342;za=o;Aa=$;Ba=y}}while(0);e:do if((z|0)==62){z=0;w=k;Q=f[w>>2]|0;K=f[w+4>>2]|0;w=Fh(Q,K,o,fa&32)|0;F=(ha&8|0)==0|(Q|0)==0&(K|0)==0;ka=w;la=F?0:2;ma=F?10342:10342+(fa>>4)|0;na=ga;oa=ha;pa=Q;qa=K;z=68}else if((z|0)==67){z=0;ka=pg(ua,va,o)|0;la=sa;ma=ta;na=$;oa=y;pa=ua;qa=va;z=68}else if((z|0)==72){z=0;K=Ed(Ca,0,$)|0;Q=(K|0)==0;wa=Ca;xa=0;ya=10342;za=Q?Ca+$|0:K;Aa=Q?$:K-Ca|0;Ba=O}else if((z|0)==76){z=0;K=Ea;Q=0;F=0;while(1){w=f[K>>2]|0;if(!w){Ga=Q;Ha=F;break}ja=_k(n,w)|0;if((ja|0)<0|ja>>>0>(Da-Q|0)>>>0){Ga=Q;Ha=ja;break}w=ja+Q|0;if(Da>>>0>w>>>0){K=K+4|0;Q=w;F=ja}else{Ga=w;Ha=ja;break}}if((Ha|0)<0){V=-1;break a}ch(a,32,X,Ga,y);if(!Ga){Fa=0;z=85}else{F=Ea;Q=0;while(1){K=f[F>>2]|0;if(!K){Fa=Ga;z=85;break e}ja=_k(n,K)|0;Q=ja+Q|0;if((Q|0)>(Ga|0)){Fa=Ga;z=85;break e}il(a,n,ja);if(Q>>>0>=Ga>>>0){Fa=Ga;z=85;break}else F=F+4|0}}}while(0);if((z|0)==68){z=0;O=(pa|0)!=0|(qa|0)!=0;F=(na|0)!=0|O;Q=q-ka+((O^1)&1)|0;wa=F?ka:o;xa=la;ya=ma;za=o;Aa=F?((na|0)>(Q|0)?na:Q):na;Ba=(na|0)>-1?oa&-65537:oa}else if((z|0)==85){z=0;ch(a,32,X,Fa,y^8192);s=(X|0)>(Fa|0)?X:Fa;t=x;v=Z;continue}Q=za-wa|0;F=(Aa|0)<(Q|0)?Q:Aa;O=F+xa|0;ja=(X|0)<(O|0)?O:X;ch(a,32,ja,O,Ba);il(a,ya,xa);ch(a,48,ja,O,Ba^65536);ch(a,48,F,Q,0);il(a,wa,Q);ch(a,32,ja,O,Ba^8192);s=ja;t=x;v=Z}f:do if((z|0)==88)if(!a)if(v){Z=1;while(1){t=f[h+(Z<<2)>>2]|0;if(!t){Ia=Z;break}Zc(g+(Z<<3)|0,t,e);t=Z+1|0;if((Z|0)<9)Z=t;else{Ia=t;break}}if((Ia|0)<10){Z=Ia;while(1){if(f[h+(Z<<2)>>2]|0){V=-1;break f}if((Z|0)<9)Z=Z+1|0;else{V=1;break}}}else V=1}else V=0;else V=x;while(0);u=i;return V|0}function hb(a){a=a|0;var c=0,e=0,g=0,h=0,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,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;c=u;u=u+80|0;e=c+40|0;g=c+68|0;h=c+64|0;i=c+60|0;j=c+52|0;k=c;l=c+56|0;m=c+48|0;f[a+132>>2]=0;n=a+148|0;if(f[n>>2]|0){o=a+144|0;p=f[o>>2]|0;if(p|0){q=p;do{p=q;q=f[q>>2]|0;dn(p)}while((q|0)!=0)}f[o>>2]=0;o=f[a+140>>2]|0;if(o|0){q=a+136|0;p=0;do{f[(f[q>>2]|0)+(p<<2)>>2]=0;p=p+1|0}while((p|0)!=(o|0))}f[n>>2]=0}n=a+4|0;if(!(dg(g,f[(f[n>>2]|0)+32>>2]|0)|0)){r=0;u=c;return r|0}o=a+156|0;f[o>>2]=f[g>>2];g=(dg(h,f[(f[n>>2]|0)+32>>2]|0)|0)^1;do if(!((f[h>>2]|0)>>>0>1431655765|g)){p=f[a+24>>2]|0;q=a+28|0;s=f[q>>2]|0;if((s|0)!=(p|0))f[q>>2]=s+(~((s+-4-p|0)>>>2)<<2);p=bj(88)|0;di(p);s=a+8|0;q=f[s>>2]|0;f[s>>2]=p;if(q|0?(mf(q),dn(q),(f[s>>2]|0)==0):0){t=0;break}q=a+160|0;p=f[q>>2]|0;v=a+164|0;w=f[v>>2]|0;if((w|0)!=(p|0))f[v>>2]=w+(~((w+-4-p|0)>>>2)<<2);Eg(q,f[h>>2]|0);q=a+172|0;p=f[q>>2]|0;w=a+176|0;v=f[w>>2]|0;if((v|0)!=(p|0))f[w>>2]=v+(~((v+-4-p|0)>>>2)<<2);Eg(q,f[h>>2]|0);q=f[a+36>>2]|0;p=a+40|0;v=f[p>>2]|0;if((v|0)!=(q|0))f[p>>2]=v+(~(((v+-12-q|0)>>>0)/12|0)*12|0);q=f[a+48>>2]|0;v=a+52|0;p=f[v>>2]|0;if((p|0)!=(q|0))f[v>>2]=p+(~((p+-4-q|0)>>>2)<<2);f[a+64>>2]=0;q=f[a+72>>2]|0;p=a+76|0;v=f[p>>2]|0;if((v|0)!=(q|0))f[p>>2]=v+(~((v+-4-q|0)>>>2)<<2);f[a+84>>2]=-1;f[a+92>>2]=-1;f[a+88>>2]=-1;q=f[(f[n>>2]|0)+32>>2]|0;v=q+8|0;p=f[v+4>>2]|0;w=q+16|0;x=w;y=f[x>>2]|0;z=f[x+4>>2]|0;if((p|0)>(z|0)|((p|0)==(z|0)?(f[v>>2]|0)>>>0>y>>>0:0)){v=b[(f[q>>2]|0)+y>>0]|0;q=Rj(y|0,z|0,1,0)|0;z=w;f[z>>2]=q;f[z+4>>2]=I;z=a+212|0;q=f[z>>2]|0;w=a+216|0;y=f[w>>2]|0;if((y|0)!=(q|0)){p=y;do{f[w>>2]=p+-144;y=f[p+-12>>2]|0;if(y|0){x=p+-8|0;A=f[x>>2]|0;if((A|0)!=(y|0))f[x>>2]=A+(~((A+-4-y|0)>>>2)<<2);dn(y)}y=f[p+-28>>2]|0;if(y|0){A=p+-24|0;x=f[A>>2]|0;if((x|0)!=(y|0))f[A>>2]=x+(~((x+-4-y|0)>>>2)<<2);dn(y)}y=f[p+-40>>2]|0;if(y|0){x=p+-36|0;A=f[x>>2]|0;if((A|0)!=(y|0))f[x>>2]=A+(~((A+-4-y|0)>>>2)<<2);dn(y)}tf(p+-140|0);p=f[w>>2]|0}while((p|0)!=(q|0))}q=v&255;Ne(z,q);if(dg(i,f[(f[n>>2]|0)+32>>2]|0)|0?(f[h>>2]|0)>>>0>=(f[i>>2]|0)>>>0:0){if((dg(j,f[(f[n>>2]|0)+32>>2]|0)|0?Gf(f[s>>2]|0,f[h>>2]|0,(f[j>>2]|0)+(f[o>>2]|0)|0)|0:0)?(p=(f[j>>2]|0)+(f[o>>2]|0)|0,b[e>>0]=1,le(a+120|0,p,e),(Fc(a,f[(f[n>>2]|0)+32>>2]|0)|0)!=-1):0){p=a+224|0;f[a+368>>2]=a;y=(Na[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;A=f[y>>2]|0;y=(f[A>>2]|0)+(f[A+16>>2]|0)|0;A=(Na[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;x=f[A>>2]|0;A=x+8|0;B=x+16|0;x=Tj(f[A>>2]|0,f[A+4>>2]|0,f[B>>2]|0,f[B+4>>2]|0)|0;B=(Na[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;Wi(p,y,x,d[(f[B>>2]|0)+38>>1]|0);f[a+364>>2]=q;Bi(k);q=a+264|0;B=q;x=p;y=B+40|0;do{f[B>>2]=f[x>>2];B=B+4|0;x=x+4|0}while((B|0)<(y|0));a:do if(ah(q,1,e)|0){B=p;x=q;y=B+40|0;do{f[B>>2]=f[x>>2];B=B+4|0;x=x+4|0}while((B|0)<(y|0));v=e;A=f[v>>2]|0;C=f[v+4>>2]|0;v=a+232|0;D=a+240|0;E=D;F=f[E>>2]|0;G=f[E+4>>2]|0;E=Tj(f[v>>2]|0,f[v+4>>2]|0,F|0,G|0)|0;v=I;if(C>>>0>v>>>0|(C|0)==(v|0)&A>>>0>E>>>0){H=46;break}E=Rj(F|0,G|0,A|0,C|0)|0;C=D;f[C>>2]=E;f[C+4>>2]=I;td(a+304|0,p)|0;if(!(qf(p)|0)){J=0;break}B=k;x=p;y=B+40|0;do{f[B>>2]=f[x>>2];B=B+4|0;x=x+4|0}while((B|0)<(y|0));C=_a(a,f[i>>2]|0)|0;if((C|0)==-1){J=0;break}E=f[(f[n>>2]|0)+32>>2]|0;D=k+16|0;A=f[D>>2]|0;G=(f[k>>2]|0)+A|0;F=k+8|0;v=Tj(f[F>>2]|0,f[F+4>>2]|0,A|0,f[D+4>>2]|0)|0;Wi(E,G,v,d[E+38>>1]|0);do if((f[w>>2]|0)!=(f[z>>2]|0)){E=f[s>>2]|0;if((f[E+4>>2]|0)==(f[E>>2]|0))break;E=0;do{f[l>>2]=E;f[e>>2]=f[l>>2];E=E+3|0;if(!(Gb(a,e)|0)){J=0;break a}v=f[s>>2]|0}while(E>>>0<(f[v+4>>2]|0)-(f[v>>2]|0)>>2>>>0)}while(0);if(b[a+300>>0]|0)bi(q);E=f[z>>2]|0;if((f[w>>2]|0)!=(E|0)){v=0;G=E;do{te(G+(v*144|0)+4|0,f[s>>2]|0)|0;E=f[z>>2]|0;D=f[E+(v*144|0)+132>>2]|0;A=f[E+(v*144|0)+136>>2]|0;if((D|0)==(A|0))K=E;else{F=D;D=E;while(1){f[m>>2]=f[F>>2];f[e>>2]=f[m>>2];$d(D+(v*144|0)+4|0,e);F=F+4|0;E=f[z>>2]|0;if((F|0)==(A|0)){K=E;break}else D=E}}Lh(K+(v*144|0)+4|0,0,0);v=v+1|0;G=f[z>>2]|0}while(v>>>0<(((f[w>>2]|0)-G|0)/144|0)>>>0)}G=f[s>>2]|0;v=(f[G+28>>2]|0)-(f[G+24>>2]|0)>>2;G=a+196|0;D=a+200|0;A=f[D>>2]|0;F=f[G>>2]|0;E=A-F>>2;L=F;F=A;do if(v>>>0>E>>>0)ff(G,v-E|0);else{if(v>>>0>=E>>>0)break;A=L+(v<<2)|0;if((A|0)==(F|0))break;f[D>>2]=F+(~((F+-4-A|0)>>>2)<<2)}while(0);Eg(a+184|0,v);F=f[z>>2]|0;if((f[w>>2]|0)!=(F|0)){D=0;L=F;do{F=L;E=(f[F+(D*144|0)+60>>2]|0)-(f[F+(D*144|0)+56>>2]|0)>>2;G=f[s>>2]|0;A=(f[G+28>>2]|0)-(f[G+24>>2]|0)>>2;G=(E|0)<(A|0)?A:E;E=F+(D*144|0)+116|0;A=F+(D*144|0)+120|0;M=f[A>>2]|0;N=f[E>>2]|0;O=M-N>>2;P=N;N=M;do if(G>>>0>O>>>0)ff(E,G-O|0);else{if(G>>>0>=O>>>0)break;M=P+(G<<2)|0;if((M|0)==(N|0))break;f[A>>2]=N+(~((N+-4-M|0)>>>2)<<2)}while(0);Eg(F+(D*144|0)+104|0,G);D=D+1|0;L=f[z>>2]|0}while(D>>>0<(((f[w>>2]|0)-L|0)/144|0)>>>0)}J=fb(a,C)|0}else H=46;while(0);if((H|0)==46)J=0;Q=J}else Q=0;R=Q}else R=0;t=R}else t=0}else t=0;while(0);r=t;u=c;return r|0}function ib(a){a=a|0;var c=0,e=0,g=0,h=0,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,J=0,K=0,L=0,M=0,N=0;c=u;u=u+80|0;e=c+64|0;g=c+60|0;h=c+56|0;i=c+52|0;j=c+48|0;k=c;l=c+44|0;m=c+40|0;f[a+132>>2]=0;n=a+148|0;if(f[n>>2]|0){o=a+144|0;p=f[o>>2]|0;if(p|0){q=p;do{p=q;q=f[q>>2]|0;dn(p)}while((q|0)!=0)}f[o>>2]=0;o=f[a+140>>2]|0;if(o|0){q=a+136|0;p=0;do{f[(f[q>>2]|0)+(p<<2)>>2]=0;p=p+1|0}while((p|0)!=(o|0))}f[n>>2]=0}n=a+4|0;if(!(dg(g,f[(f[n>>2]|0)+32>>2]|0)|0)){r=0;u=c;return r|0}o=a+156|0;f[o>>2]=f[g>>2];g=(dg(h,f[(f[n>>2]|0)+32>>2]|0)|0)^1;do if(!((f[h>>2]|0)>>>0>1431655765|g)){p=f[a+24>>2]|0;q=a+28|0;s=f[q>>2]|0;if((s|0)!=(p|0))f[q>>2]=s+(~((s+-4-p|0)>>>2)<<2);p=bj(88)|0;di(p);s=a+8|0;q=f[s>>2]|0;f[s>>2]=p;if(q|0?(mf(q),dn(q),(f[s>>2]|0)==0):0){t=0;break}q=a+160|0;p=f[q>>2]|0;v=a+164|0;w=f[v>>2]|0;if((w|0)!=(p|0))f[v>>2]=w+(~((w+-4-p|0)>>>2)<<2);Eg(q,f[h>>2]|0);q=a+172|0;p=f[q>>2]|0;w=a+176|0;v=f[w>>2]|0;if((v|0)!=(p|0))f[w>>2]=v+(~((v+-4-p|0)>>>2)<<2);Eg(q,f[h>>2]|0);q=f[a+36>>2]|0;p=a+40|0;v=f[p>>2]|0;if((v|0)!=(q|0))f[p>>2]=v+(~(((v+-12-q|0)>>>0)/12|0)*12|0);q=f[a+48>>2]|0;v=a+52|0;p=f[v>>2]|0;if((p|0)!=(q|0))f[v>>2]=p+(~((p+-4-q|0)>>>2)<<2);f[a+64>>2]=0;q=f[a+72>>2]|0;p=a+76|0;v=f[p>>2]|0;if((v|0)!=(q|0))f[p>>2]=v+(~((v+-4-q|0)>>>2)<<2);f[a+84>>2]=-1;f[a+92>>2]=-1;f[a+88>>2]=-1;q=f[(f[n>>2]|0)+32>>2]|0;v=q+8|0;p=f[v+4>>2]|0;w=q+16|0;x=w;y=f[x>>2]|0;z=f[x+4>>2]|0;if((p|0)>(z|0)|((p|0)==(z|0)?(f[v>>2]|0)>>>0>y>>>0:0)){v=b[(f[q>>2]|0)+y>>0]|0;q=Rj(y|0,z|0,1,0)|0;z=w;f[z>>2]=q;f[z+4>>2]=I;z=a+212|0;q=f[z>>2]|0;w=a+216|0;y=f[w>>2]|0;if((y|0)!=(q|0)){p=y;do{f[w>>2]=p+-144;y=f[p+-12>>2]|0;if(y|0){x=p+-8|0;A=f[x>>2]|0;if((A|0)!=(y|0))f[x>>2]=A+(~((A+-4-y|0)>>>2)<<2);dn(y)}y=f[p+-28>>2]|0;if(y|0){A=p+-24|0;x=f[A>>2]|0;if((x|0)!=(y|0))f[A>>2]=x+(~((x+-4-y|0)>>>2)<<2);dn(y)}y=f[p+-40>>2]|0;if(y|0){x=p+-36|0;A=f[x>>2]|0;if((A|0)!=(y|0))f[x>>2]=A+(~((A+-4-y|0)>>>2)<<2);dn(y)}tf(p+-140|0);p=f[w>>2]|0}while((p|0)!=(q|0))}q=v&255;Ne(z,q);if(dg(i,f[(f[n>>2]|0)+32>>2]|0)|0?(f[h>>2]|0)>>>0>=(f[i>>2]|0)>>>0:0){if((dg(j,f[(f[n>>2]|0)+32>>2]|0)|0?Gf(f[s>>2]|0,f[h>>2]|0,(f[j>>2]|0)+(f[o>>2]|0)|0)|0:0)?(p=(f[j>>2]|0)+(f[o>>2]|0)|0,b[e>>0]=1,le(a+120|0,p,e),(Fc(a,f[(f[n>>2]|0)+32>>2]|0)|0)!=-1):0){p=a+224|0;f[a+368>>2]=a;y=(Na[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;A=f[y>>2]|0;y=(f[A>>2]|0)+(f[A+16>>2]|0)|0;A=(Na[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;x=f[A>>2]|0;A=x+8|0;B=x+16|0;x=Tj(f[A>>2]|0,f[A+4>>2]|0,f[B>>2]|0,f[B+4>>2]|0)|0;B=(Na[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;Wi(p,y,x,d[(f[B>>2]|0)+38>>1]|0);B=Na[f[(f[a>>2]|0)+36>>2]&127](a)|0;f[a+372>>2]=B;f[a+376>>2]=(f[j>>2]|0)+(f[o>>2]|0);f[a+364>>2]=q;Bi(k);a:do if(kc(p,k)|0){q=Za(a,f[i>>2]|0)|0;if((q|0)==-1){C=0;break}B=f[(f[n>>2]|0)+32>>2]|0;x=k+16|0;y=f[x>>2]|0;A=(f[k>>2]|0)+y|0;D=k+8|0;E=Tj(f[D>>2]|0,f[D+4>>2]|0,y|0,f[x+4>>2]|0)|0;Wi(B,A,E,d[B+38>>1]|0);do if((f[w>>2]|0)!=(f[z>>2]|0)){B=f[s>>2]|0;if((f[B+4>>2]|0)==(f[B>>2]|0))break;B=0;do{f[l>>2]=B;f[e>>2]=f[l>>2];B=B+3|0;if(!(Gb(a,e)|0)){C=0;break a}E=f[s>>2]|0}while(B>>>0<(f[E+4>>2]|0)-(f[E>>2]|0)>>2>>>0)}while(0);if(b[a+300>>0]|0)bi(a+264|0);B=f[z>>2]|0;if((f[w>>2]|0)!=(B|0)){E=0;A=B;do{te(A+(E*144|0)+4|0,f[s>>2]|0)|0;B=f[z>>2]|0;x=f[B+(E*144|0)+132>>2]|0;y=f[B+(E*144|0)+136>>2]|0;if((x|0)==(y|0))F=B;else{D=x;x=B;while(1){f[m>>2]=f[D>>2];f[e>>2]=f[m>>2];$d(x+(E*144|0)+4|0,e);D=D+4|0;B=f[z>>2]|0;if((D|0)==(y|0)){F=B;break}else x=B}}Lh(F+(E*144|0)+4|0,0,0);E=E+1|0;A=f[z>>2]|0}while(E>>>0<(((f[w>>2]|0)-A|0)/144|0)>>>0)}A=f[s>>2]|0;E=(f[A+28>>2]|0)-(f[A+24>>2]|0)>>2;A=a+196|0;x=a+200|0;y=f[x>>2]|0;D=f[A>>2]|0;B=y-D>>2;G=D;D=y;do if(E>>>0>B>>>0)ff(A,E-B|0);else{if(E>>>0>=B>>>0)break;y=G+(E<<2)|0;if((y|0)==(D|0))break;f[x>>2]=D+(~((D+-4-y|0)>>>2)<<2)}while(0);Eg(a+184|0,E);D=f[z>>2]|0;if((f[w>>2]|0)!=(D|0)){x=0;G=D;do{D=G;B=(f[D+(x*144|0)+60>>2]|0)-(f[D+(x*144|0)+56>>2]|0)>>2;A=f[s>>2]|0;y=(f[A+28>>2]|0)-(f[A+24>>2]|0)>>2;A=(B|0)<(y|0)?y:B;B=D+(x*144|0)+116|0;y=D+(x*144|0)+120|0;H=f[y>>2]|0;J=f[B>>2]|0;K=H-J>>2;L=J;J=H;do if(A>>>0>K>>>0)ff(B,A-K|0);else{if(A>>>0>=K>>>0)break;H=L+(A<<2)|0;if((H|0)==(J|0))break;f[y>>2]=J+(~((J+-4-H|0)>>>2)<<2)}while(0);Eg(D+(x*144|0)+104|0,A);x=x+1|0;G=f[z>>2]|0}while(x>>>0<(((f[w>>2]|0)-G|0)/144|0)>>>0)}C=fb(a,q)|0}else C=0;while(0);M=C}else M=0;N=M}else N=0;t=N}else t=0}else t=0;while(0);r=t;u=c;return r|0}function jb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=La,D=0,E=0.0,F=0,G=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=gj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Rj(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;r=0;while(1){m=b[o>>0]|0;q=g+(r<<3)|0;f[q>>2]=m;f[q+4>>2]=((m|0)<0)<<31>>31;r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){s=m;break}else o=o+1|0}}else s=l;o=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(o<<3)|0,0,(e<<24>>24)-o<<3|0)|0;i=1;return i|0}case 2:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=gj(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=Rj(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){k=g+(t<<3)|0;f[k>>2]=h[m>>0];f[k+4>>2]=0;t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){u=k;break}else m=m+1|0}}else u=r;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(m<<3)|0,0,(e<<24>>24)-m<<3|0)|0;i=1;return i|0}case 3:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=gj(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=Rj(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){o=d[l>>1]|0;k=g+(q<<3)|0;f[k>>2]=o;f[k+4>>2]=((o|0)<0)<<31>>31;q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){v=o;break}else l=l+2|0}}else v=t;l=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(l<<3)|0,0,(e<<24>>24)-l<<3|0)|0;i=1;return i|0}case 4:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=gj(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=Rj(o|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){m=g+(k<<3)|0;f[m>>2]=j[r>>1];f[m+4>>2]=0;k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else r=r+2|0}}else w=q;r=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(r<<3)|0,0,(e<<24>>24)-r<<3|0)|0;i=1;return i|0}case 5:{r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;t=a+40|0;m=gj(f[t>>2]|0,f[t+4>>2]|0,f[c>>2]|0,0)|0;t=a+48|0;o=Rj(m|0,I|0,f[t>>2]|0,f[t+4>>2]|0)|0;t=l+o|0;o=0;while(1){l=f[t>>2]|0;m=g+(o<<3)|0;f[m>>2]=l;f[m+4>>2]=((l|0)<0)<<31>>31;o=o+1|0;l=b[r>>0]|0;if((o|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){x=l;break}else t=t+4|0}}else x=k;t=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(t<<3)|0,0,(e<<24>>24)-t<<3|0)|0;i=1;return i|0}case 6:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){r=f[f[a>>2]>>2]|0;q=a+40|0;l=gj(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;m=Rj(l|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=r+m|0;m=0;while(1){r=g+(m<<3)|0;f[r>>2]=f[q>>2];f[r+4>>2]=0;m=m+1|0;r=b[t>>0]|0;if((m|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){y=r;break}else q=q+4|0}}else y=o;q=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(q<<3)|0,0,(e<<24>>24)-q<<3|0)|0;i=1;return i|0}case 7:{q=a+24|0;m=b[q>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){t=f[f[a>>2]>>2]|0;k=a+40|0;r=gj(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;l=Rj(r|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=t+l|0;l=0;while(1){t=k;r=f[t+4>>2]|0;z=g+(l<<3)|0;f[z>>2]=f[t>>2];f[z+4>>2]=r;l=l+1|0;r=b[q>>0]|0;if((l|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){A=r;break}else k=k+8|0}}else A=m;k=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(k<<3)|0,0,(e<<24>>24)-k<<3|0)|0;i=1;return i|0}case 8:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;r=gj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;z=Rj(r|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=q+z|0;z=0;while(1){q=o;r=f[q+4>>2]|0;t=g+(z<<3)|0;f[t>>2]=f[q>>2];f[t+4>>2]=r;z=z+1|0;r=b[k>>0]|0;if((z|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){B=r;break}else o=o+8|0}}else B=l;o=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(o<<3)|0,0,(e<<24>>24)-o<<3|0)|0;i=1;return i|0}case 9:{o=a+24|0;z=b[o>>0]|0;if((z<<24>>24>e<<24>>24?e:z)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;r=gj(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=Rj(r|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){C=$(n[m>>2]);k=+K(+C)>=1.0?(+C>0.0?~~+Y(+J(+C/4294967296.0),4294967295.0)>>>0:~~+W((+C-+(~~+C>>>0))/4294967296.0)>>>0):0;r=g+(t<<3)|0;f[r>>2]=~~+C>>>0;f[r+4>>2]=k;t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){D=k;break}else m=m+4|0}}else D=z;m=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(m<<3)|0,0,(e<<24>>24)-m<<3|0)|0;i=1;return i|0}case 10:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=gj(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;r=Rj(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+r|0;r=0;while(1){E=+p[l>>3];o=+K(E)>=1.0?(E>0.0?~~+Y(+J(E/4294967296.0),4294967295.0)>>>0:~~+W((E-+(~~E>>>0))/4294967296.0)>>>0):0;k=g+(r<<3)|0;f[k>>2]=~~E>>>0;f[k+4>>2]=o;r=r+1|0;o=b[m>>0]|0;if((r|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){F=o;break}else l=l+8|0}}else F=t;l=F<<24>>24;if(F<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(l<<3)|0,0,(e<<24>>24)-l<<3|0)|0;i=1;return i|0}case 11:{l=a+24|0;r=b[l>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){m=f[f[a>>2]>>2]|0;z=a+40|0;o=gj(f[z>>2]|0,f[z+4>>2]|0,f[c>>2]|0,0)|0;z=a+48|0;k=Rj(o|0,I|0,f[z>>2]|0,f[z+4>>2]|0)|0;z=m+k|0;k=0;while(1){m=g+(k<<3)|0;f[m>>2]=h[z>>0];f[m+4>>2]=0;k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){G=m;break}else z=z+1|0}}else G=r;z=G<<24>>24;if(G<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(z<<3)|0,0,(e<<24>>24)-z<<3|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function kb(a){a=a|0;var c=0,d=0,e=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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;c=u;u=u+32|0;d=c+20|0;e=c+16|0;g=c+4|0;i=c;j=a+32|0;if(!(dg(d,f[j>>2]|0)|0)){k=0;u=c;return k|0}if(!(dg(e,f[j>>2]|0)|0)){k=0;u=c;return k|0}l=f[d>>2]|0;if(l>>>0>1431655765){k=0;u=c;return k|0}m=f[e>>2]|0;n=gj(l|0,0,3,0)|0;o=I;if(o>>>0<0|(o|0)==0&n>>>0>>0){k=0;u=c;return k|0}n=f[j>>2]|0;o=n+8|0;p=f[o+4>>2]|0;q=n+16|0;r=q;s=f[r>>2]|0;t=f[r+4>>2]|0;if(!((p|0)>(t|0)|((p|0)==(t|0)?(f[o>>2]|0)>>>0>s>>>0:0))){k=0;u=c;return k|0}o=b[(f[n>>2]|0)+s>>0]|0;p=Rj(s|0,t|0,1,0)|0;r=I;v=q;f[v>>2]=p;f[v+4>>2]=r;a:do if(!(o<<24>>24)){if(!(ed(a,l)|0)){k=0;u=c;return k|0}}else{if(m>>>0<256){if(!l)break;v=a+44|0;q=g+4|0;w=g+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;x=n+8|0;y=f[x>>2]|0;z=f[x+4>>2]|0;b:do if((z|0)>(r|0)|(z|0)==(r|0)&y>>>0>p>>>0){x=0;A=n;B=l;C=p;D=r;E=z;F=y;while(1){G=A+16|0;H=f[A>>2]|0;J=b[H+C>>0]|0;K=Rj(C|0,D|0,1,0)|0;L=I;M=G;f[M>>2]=K;f[M+4>>2]=L;f[g>>2]=J&255;if(!((E|0)>(L|0)|(E|0)==(L|0)&F>>>0>K>>>0))break b;L=b[H+K>>0]|0;K=Rj(C|0,D|0,2,0)|0;J=I;M=G;f[M>>2]=K;f[M+4>>2]=J;f[q>>2]=L&255;if(!((E|0)>(J|0)|(E|0)==(J|0)&F>>>0>K>>>0))break b;J=b[H+K>>0]|0;K=Rj(C|0,D|0,3,0)|0;H=G;f[H>>2]=K;f[H+4>>2]=I;f[w>>2]=J&255;J=f[v>>2]|0;H=J+100|0;K=f[H>>2]|0;if((K|0)==(f[J+104>>2]|0)){cf(J+96|0,g);N=f[d>>2]|0}else{f[K>>2]=f[g>>2];f[K+4>>2]=f[g+4>>2];f[K+8>>2]=f[g+8>>2];f[H>>2]=(f[H>>2]|0)+12;N=B}x=x+1|0;if(x>>>0>=N>>>0)break a;A=f[j>>2]|0;H=A+16|0;C=f[H>>2]|0;D=f[H+4>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;H=A+8|0;F=f[H>>2]|0;E=f[H+4>>2]|0;if(!((E|0)>(D|0)|(E|0)==(D|0)&F>>>0>C>>>0))break;else B=N}}while(0);k=0;u=c;return k|0}if(m>>>0<65536){if(!l)break;v=a+44|0;w=g+4|0;q=g+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;y=n+8|0;z=f[y>>2]|0;B=f[y+4>>2]|0;y=Rj(s|0,t|0,3,0)|0;C=I;c:do if(!((B|0)<(C|0)|(B|0)==(C|0)&z>>>0>>0)){F=0;D=n;E=p;A=y;x=C;H=r;K=B;J=z;G=l;while(1){L=D+16|0;M=f[D>>2]|0;O=M+E|0;P=h[O>>0]|h[O+1>>0]<<8;O=L;f[O>>2]=A;f[O+4>>2]=x;f[g>>2]=P&65535;P=Rj(E|0,H|0,4,0)|0;O=I;if((K|0)<(O|0)|(K|0)==(O|0)&J>>>0

>>0)break c;Q=M+A|0;R=h[Q>>0]|h[Q+1>>0]<<8;Q=L;f[Q>>2]=P;f[Q+4>>2]=O;f[w>>2]=R&65535;R=Rj(E|0,H|0,6,0)|0;O=I;if((K|0)<(O|0)|(K|0)==(O|0)&J>>>0>>0)break c;Q=M+P|0;P=h[Q>>0]|h[Q+1>>0]<<8;Q=L;f[Q>>2]=R;f[Q+4>>2]=O;f[q>>2]=P&65535;P=f[v>>2]|0;O=P+100|0;Q=f[O>>2]|0;if((Q|0)==(f[P+104>>2]|0)){cf(P+96|0,g);S=f[d>>2]|0}else{f[Q>>2]=f[g>>2];f[Q+4>>2]=f[g+4>>2];f[Q+8>>2]=f[g+8>>2];f[O>>2]=(f[O>>2]|0)+12;S=G}F=F+1|0;if(F>>>0>=S>>>0)break a;D=f[j>>2]|0;O=D+16|0;E=f[O>>2]|0;H=f[O+4>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;O=D+8|0;J=f[O>>2]|0;K=f[O+4>>2]|0;A=Rj(E|0,H|0,2,0)|0;x=I;if((K|0)<(x|0)|(K|0)==(x|0)&J>>>0>>0)break;else G=S}}while(0);k=0;u=c;return k|0}v=a+44|0;if((f[(f[v>>2]|0)+80>>2]|0)>>>0<2097152?(((h[a+36>>0]|0)<<8|(h[a+37>>0]|0))&65535)>513:0){if(!l)break;q=g+4|0;w=g+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;d:do if(dg(i,n)|0){z=0;do{f[g>>2]=f[i>>2];if(!(dg(i,f[j>>2]|0)|0))break d;f[q>>2]=f[i>>2];if(!(dg(i,f[j>>2]|0)|0))break d;f[w>>2]=f[i>>2];B=f[v>>2]|0;C=B+100|0;y=f[C>>2]|0;if((y|0)==(f[B+104>>2]|0))cf(B+96|0,g);else{f[y>>2]=f[g>>2];f[y+4>>2]=f[g+4>>2];f[y+8>>2]=f[g+8>>2];f[C>>2]=(f[C>>2]|0)+12}z=z+1|0;if(z>>>0>=(f[d>>2]|0)>>>0)break a;C=f[j>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0}while(dg(i,C)|0)}while(0);k=0;u=c;return k|0}if(l|0){w=g+4|0;q=g+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;z=n+8|0;C=f[z>>2]|0;y=f[z+4>>2]|0;z=Rj(s|0,t|0,5,0)|0;B=I;e:do if(!((y|0)<(B|0)|(y|0)==(B|0)&C>>>0>>0)){G=0;A=n;J=p;x=z;K=B;H=r;E=y;D=C;F=l;while(1){O=A+16|0;Q=f[A>>2]|0;P=Q+J|0;R=h[P>>0]|h[P+1>>0]<<8|h[P+2>>0]<<16|h[P+3>>0]<<24;P=O;f[P>>2]=x;f[P+4>>2]=K;f[g>>2]=R;R=Rj(J|0,H|0,8,0)|0;P=I;if((E|0)<(P|0)|(E|0)==(P|0)&D>>>0>>0)break e;L=Q+x|0;M=h[L>>0]|h[L+1>>0]<<8|h[L+2>>0]<<16|h[L+3>>0]<<24;L=O;f[L>>2]=R;f[L+4>>2]=P;f[w>>2]=M;M=Rj(J|0,H|0,12,0)|0;P=I;if((E|0)<(P|0)|(E|0)==(P|0)&D>>>0>>0)break e;L=Q+R|0;R=h[L>>0]|h[L+1>>0]<<8|h[L+2>>0]<<16|h[L+3>>0]<<24;L=O;f[L>>2]=M;f[L+4>>2]=P;f[q>>2]=R;R=f[v>>2]|0;P=R+100|0;L=f[P>>2]|0;if((L|0)==(f[R+104>>2]|0)){cf(R+96|0,g);T=f[d>>2]|0}else{f[L>>2]=f[g>>2];f[L+4>>2]=f[g+4>>2];f[L+8>>2]=f[g+8>>2];f[P>>2]=(f[P>>2]|0)+12;T=F}G=G+1|0;if(G>>>0>=T>>>0)break a;A=f[j>>2]|0;P=A+16|0;J=f[P>>2]|0;H=f[P+4>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;P=A+8|0;D=f[P>>2]|0;E=f[P+4>>2]|0;x=Rj(J|0,H|0,4,0)|0;K=I;if((E|0)<(K|0)|(E|0)==(K|0)&D>>>0>>0)break;else F=T}}while(0);k=0;u=c;return k|0}}while(0);f[(f[a+4>>2]|0)+80>>2]=f[e>>2];k=1;u=c;return k|0}function lb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,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;c=u;u=u+16|0;d=c+8|0;e=c;if((f[a+96>>2]|0)==(f[a+92>>2]|0)){u=c;return}g=a+56|0;h=f[g>>2]|0;if((h|0)==(f[a+60>>2]|0)){xf(a+52|0,b);i=b}else{f[h>>2]=f[b>>2];f[g>>2]=h+4;i=b}b=a+88|0;f[b>>2]=0;h=f[a>>2]|0;g=f[i>>2]|0;j=g+1|0;if((g|0)!=-1){k=((j>>>0)%3|0|0)==0?g+-2|0:j;if((k|0)==-1)l=-1;else l=f[(f[h>>2]|0)+(k<<2)>>2]|0;k=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((k|0)==-1){m=l;n=-1}else{m=l;n=f[(f[h>>2]|0)+(k<<2)>>2]|0}}else{m=-1;n=-1}k=a+24|0;h=f[k>>2]|0;l=h+(m>>>5<<2)|0;g=1<<(m&31);j=f[l>>2]|0;if(!(j&g)){f[l>>2]=j|g;g=f[i>>2]|0;j=g+1|0;if((g|0)==-1)o=-1;else o=((j>>>0)%3|0|0)==0?g+-2|0:j;f[e>>2]=o;j=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((o>>>0)/3|0)*12|0)+(((o>>>0)%3|0)<<2)>>2]|0;o=f[a+48>>2]|0;f[d>>2]=j;g=f[o+4>>2]|0;o=g+4|0;l=f[o>>2]|0;if((l|0)==(f[g+8>>2]|0))xf(g,d);else{f[l>>2]=j;f[o>>2]=l+4}l=a+40|0;o=f[l>>2]|0;j=o+4|0;g=f[j>>2]|0;if((g|0)==(f[o+8>>2]|0)){xf(o,e);p=f[l>>2]|0}else{f[g>>2]=f[e>>2];f[j>>2]=g+4;p=o}o=p+24|0;f[(f[p+12>>2]|0)+(m<<2)>>2]=f[o>>2];f[o>>2]=(f[o>>2]|0)+1;q=f[k>>2]|0}else q=h;h=q+(n>>>5<<2)|0;q=1<<(n&31);o=f[h>>2]|0;if(!(o&q)){f[h>>2]=o|q;q=f[i>>2]|0;do if((q|0)!=-1)if(!((q>>>0)%3|0)){r=q+2|0;break}else{r=q+-1|0;break}else r=-1;while(0);f[e>>2]=r;q=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((r>>>0)/3|0)*12|0)+(((r>>>0)%3|0)<<2)>>2]|0;r=f[a+48>>2]|0;f[d>>2]=q;o=f[r+4>>2]|0;r=o+4|0;h=f[r>>2]|0;if((h|0)==(f[o+8>>2]|0))xf(o,d);else{f[h>>2]=q;f[r>>2]=h+4}h=a+40|0;r=f[h>>2]|0;q=r+4|0;o=f[q>>2]|0;if((o|0)==(f[r+8>>2]|0)){xf(r,e);s=f[h>>2]|0}else{f[o>>2]=f[e>>2];f[q>>2]=o+4;s=r}r=s+24|0;f[(f[s+12>>2]|0)+(n<<2)>>2]=f[r>>2];f[r>>2]=(f[r>>2]|0)+1}r=f[i>>2]|0;if((r|0)==-1)t=-1;else t=f[(f[f[a>>2]>>2]|0)+(r<<2)>>2]|0;r=(f[k>>2]|0)+(t>>>5<<2)|0;n=1<<(t&31);s=f[r>>2]|0;if(!(n&s)){f[r>>2]=s|n;n=f[i>>2]|0;f[e>>2]=n;s=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((n>>>0)/3|0)*12|0)+(((n>>>0)%3|0)<<2)>>2]|0;n=f[a+48>>2]|0;f[d>>2]=s;r=f[n+4>>2]|0;n=r+4|0;o=f[n>>2]|0;if((o|0)==(f[r+8>>2]|0))xf(r,d);else{f[o>>2]=s;f[n>>2]=o+4}o=a+40|0;n=f[o>>2]|0;s=n+4|0;r=f[s>>2]|0;if((r|0)==(f[n+8>>2]|0)){xf(n,e);v=f[o>>2]|0}else{f[r>>2]=f[e>>2];f[s>>2]=r+4;v=n}n=v+24|0;f[(f[v+12>>2]|0)+(t<<2)>>2]=f[n>>2];f[n>>2]=(f[n>>2]|0)+1}n=f[b>>2]|0;a:do if((n|0)<3){t=a+12|0;v=a+44|0;r=a+48|0;s=a+40|0;o=a+92|0;q=n;while(1){h=q;while(1){w=a+52+(h*12|0)+4|0;x=f[w>>2]|0;if((f[a+52+(h*12|0)>>2]|0)!=(x|0))break;if((h|0)<2)h=h+1|0;else break a}m=x+-4|0;p=f[m>>2]|0;f[w>>2]=m;f[b>>2]=h;f[i>>2]=p;if((p|0)==-1)break;m=(p>>>0)/3|0;g=f[t>>2]|0;do if(!(f[g+(m>>>5<<2)>>2]&1<<(m&31))){j=p;l=g;b:while(1){y=(j>>>0)/3|0;z=l+(y>>>5<<2)|0;f[z>>2]=1<<(y&31)|f[z>>2];z=f[i>>2]|0;if((z|0)==-1)A=-1;else A=f[(f[f[a>>2]>>2]|0)+(z<<2)>>2]|0;y=(f[k>>2]|0)+(A>>>5<<2)|0;B=1<<(A&31);C=f[y>>2]|0;if(!(B&C)){f[y>>2]=C|B;B=f[i>>2]|0;f[e>>2]=B;C=f[(f[(f[v>>2]|0)+96>>2]|0)+(((B>>>0)/3|0)*12|0)+(((B>>>0)%3|0)<<2)>>2]|0;B=f[r>>2]|0;f[d>>2]=C;y=f[B+4>>2]|0;B=y+4|0;D=f[B>>2]|0;if((D|0)==(f[y+8>>2]|0))xf(y,d);else{f[D>>2]=C;f[B>>2]=D+4}D=f[s>>2]|0;B=D+4|0;C=f[B>>2]|0;if((C|0)==(f[D+8>>2]|0)){xf(D,e);E=f[s>>2]|0}else{f[C>>2]=f[e>>2];f[B>>2]=C+4;E=D}D=E+24|0;f[(f[E+12>>2]|0)+(A<<2)>>2]=f[D>>2];f[D>>2]=(f[D>>2]|0)+1;F=f[i>>2]|0}else F=z;z=f[a>>2]|0;if((F|0)==-1){G=93;break}D=F+1|0;C=((D>>>0)%3|0|0)==0?F+-2|0:D;if((C|0)==-1)H=-1;else H=f[(f[z+12>>2]|0)+(C<<2)>>2]|0;C=(((F>>>0)%3|0|0)==0?2:-1)+F|0;if((C|0)==-1)I=-1;else I=f[(f[z+12>>2]|0)+(C<<2)>>2]|0;C=(H|0)==-1;D=C?-1:(H>>>0)/3|0;B=(I|0)==-1;y=B?-1:(I>>>0)/3|0;if(C)J=1;else J=(f[(f[t>>2]|0)+(D>>>5<<2)>>2]&1<<(D&31)|0)!=0;do if(B)if(J){G=93;break b}else G=82;else{if(f[(f[t>>2]|0)+(y>>>5<<2)>>2]&1<<(y&31)|0)if(J){G=93;break b}else{G=82;break}D=f[(f[z>>2]|0)+(I<<2)>>2]|0;if(!(1<<(D&31)&f[(f[k>>2]|0)+(D>>>5<<2)>>2])){K=(f[o>>2]|0)+(D<<2)|0;D=f[K>>2]|0;f[K>>2]=D+1;L=(D|0)>0?1:2}else L=0;if(J?(L|0)<=(f[b>>2]|0):0){M=I;break}f[d>>2]=I;D=a+52+(L*12|0)+4|0;K=f[D>>2]|0;if((K|0)==(f[a+52+(L*12|0)+8>>2]|0))xf(a+52+(L*12|0)|0,d);else{f[K>>2]=I;f[D>>2]=K+4}if((f[b>>2]|0)>(L|0))f[b>>2]=L;if(J){G=93;break b}else G=82}while(0);if((G|0)==82){G=0;if(C)N=-1;else N=f[(f[f[a>>2]>>2]|0)+(H<<2)>>2]|0;if(!(1<<(N&31)&f[(f[k>>2]|0)+(N>>>5<<2)>>2])){z=(f[o>>2]|0)+(N<<2)|0;y=f[z>>2]|0;f[z>>2]=y+1;O=(y|0)>0?1:2}else O=0;if((O|0)>(f[b>>2]|0))break;else M=H}f[i>>2]=M;j=M;l=f[t>>2]|0}if((G|0)==93){G=0;P=f[b>>2]|0;break}f[d>>2]=H;l=a+52+(O*12|0)+4|0;j=f[l>>2]|0;if((j|0)==(f[a+52+(O*12|0)+8>>2]|0))xf(a+52+(O*12|0)|0,d);else{f[j>>2]=H;f[l>>2]=j+4}j=f[b>>2]|0;if((j|0)>(O|0)){f[b>>2]=O;Q=O}else Q=j;P=Q}else P=h;while(0);if((P|0)<3)q=P;else break a}u=c;return}while(0);f[i>>2]=-1;u=c;return}function mb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{j=a+24|0;k=b[j>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;m=a+40|0;o=gj(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;q=Rj(o|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=l+q|0;q=0;while(1){d[g+(q<<1)>>1]=b[m>>0]|0;q=q+1|0;l=b[j>>0]|0;if((q|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){r=l;break}else m=m+1|0}}else r=k;m=r<<24>>24;if(r<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(m<<1)|0,0,(e<<24>>24)-m<<1|0)|0;i=1;return i|0}case 2:{m=a+24|0;q=b[m>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){j=f[f[a>>2]>>2]|0;l=a+40|0;o=gj(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;s=Rj(o|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=j+s|0;s=0;while(1){d[g+(s<<1)>>1]=h[l>>0]|0;s=s+1|0;j=b[m>>0]|0;if((s|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){t=j;break}else l=l+1|0}}else t=q;l=t<<24>>24;if(t<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 3:{l=a+24|0;s=b[l>>0]|0;if((s<<24>>24>e<<24>>24?e:s)<<24>>24>0){m=f[f[a>>2]>>2]|0;k=a+40|0;j=gj(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;o=Rj(j|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=m+o|0;o=0;while(1){d[g+(o<<1)>>1]=d[k>>1]|0;o=o+1|0;m=b[l>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){u=m;break}else k=k+2|0}}else u=s;k=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(k<<1)|0,0,(e<<24>>24)-k<<1|0)|0;i=1;return i|0}case 4:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){l=f[f[a>>2]>>2]|0;q=a+40|0;m=gj(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;j=Rj(m|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=l+j|0;j=0;while(1){d[g+(j<<1)>>1]=d[q>>1]|0;j=j+1|0;l=b[k>>0]|0;if((j|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){v=l;break}else q=q+2|0}}else v=o;q=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(q<<1)|0,0,(e<<24>>24)-q<<1|0)|0;i=1;return i|0}case 5:{q=a+24|0;j=b[q>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){k=f[f[a>>2]>>2]|0;s=a+40|0;l=gj(f[s>>2]|0,f[s+4>>2]|0,f[c>>2]|0,0)|0;s=a+48|0;m=Rj(l|0,I|0,f[s>>2]|0,f[s+4>>2]|0)|0;s=k+m|0;m=0;while(1){d[g+(m<<1)>>1]=f[s>>2];m=m+1|0;k=b[q>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){w=k;break}else s=s+4|0}}else w=j;s=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(s<<1)|0,0,(e<<24>>24)-s<<1|0)|0;i=1;return i|0}case 6:{s=a+24|0;m=b[s>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;k=gj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;l=Rj(k|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=q+l|0;l=0;while(1){d[g+(l<<1)>>1]=f[o>>2];l=l+1|0;q=b[s>>0]|0;if((l|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){x=q;break}else o=o+4|0}}else x=m;o=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(o<<1)|0,0,(e<<24>>24)-o<<1|0)|0;i=1;return i|0}case 7:{o=a+24|0;l=b[o>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){s=f[f[a>>2]>>2]|0;j=a+40|0;q=gj(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;k=Rj(q|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=s+k|0;k=0;while(1){d[g+(k<<1)>>1]=f[j>>2];k=k+1|0;s=b[o>>0]|0;if((k|0)>=((s<<24>>24>e<<24>>24?e:s)<<24>>24|0)){y=s;break}else j=j+8|0}}else y=l;j=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(j<<1)|0,0,(e<<24>>24)-j<<1|0)|0;i=1;return i|0}case 8:{j=a+24|0;k=b[j>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){o=f[f[a>>2]>>2]|0;m=a+40|0;s=gj(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;q=Rj(s|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=o+q|0;q=0;while(1){d[g+(q<<1)>>1]=f[m>>2];q=q+1|0;o=b[j>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){z=o;break}else m=m+8|0}}else z=k;m=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(m<<1)|0,0,(e<<24>>24)-m<<1|0)|0;i=1;return i|0}case 9:{m=a+24|0;q=b[m>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){j=f[f[a>>2]>>2]|0;l=a+40|0;o=gj(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;s=Rj(o|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=j+s|0;s=0;while(1){j=~~$(n[l>>2])&65535;d[g+(s<<1)>>1]=j;s=s+1|0;j=b[m>>0]|0;if((s|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){A=j;break}else l=l+4|0}}else A=q;l=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 10:{l=a+24|0;s=b[l>>0]|0;if((s<<24>>24>e<<24>>24?e:s)<<24>>24>0){m=f[f[a>>2]>>2]|0;k=a+40|0;j=gj(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;o=Rj(j|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=m+o|0;o=0;while(1){d[g+(o<<1)>>1]=~~+p[k>>3];o=o+1|0;m=b[l>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){B=m;break}else k=k+8|0}}else B=s;k=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(k<<1)|0,0,(e<<24>>24)-k<<1|0)|0;i=1;return i|0}case 11:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){l=f[f[a>>2]>>2]|0;q=a+40|0;m=gj(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;j=Rj(m|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=l+j|0;j=0;while(1){d[g+(j<<1)>>1]=h[q>>0]|0;j=j+1|0;l=b[k>>0]|0;if((j|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){C=l;break}else q=q+1|0}}else C=o;q=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(q<<1)|0,0,(e<<24>>24)-q<<1|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function nb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{j=a+24|0;k=b[j>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;m=a+40|0;o=gj(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;q=Rj(o|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=l+q|0;q=0;while(1){d[g+(q<<1)>>1]=b[m>>0]|0;q=q+1|0;l=b[j>>0]|0;if((q|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){r=l;break}else m=m+1|0}}else r=k;m=r<<24>>24;if(r<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(m<<1)|0,0,(e<<24>>24)-m<<1|0)|0;i=1;return i|0}case 2:{m=a+24|0;q=b[m>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){j=f[f[a>>2]>>2]|0;l=a+40|0;o=gj(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;s=Rj(o|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=j+s|0;s=0;while(1){d[g+(s<<1)>>1]=h[l>>0]|0;s=s+1|0;j=b[m>>0]|0;if((s|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){t=j;break}else l=l+1|0}}else t=q;l=t<<24>>24;if(t<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 3:{l=a+24|0;s=b[l>>0]|0;if((s<<24>>24>e<<24>>24?e:s)<<24>>24>0){m=f[f[a>>2]>>2]|0;k=a+40|0;j=gj(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;o=Rj(j|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=m+o|0;o=0;while(1){d[g+(o<<1)>>1]=d[k>>1]|0;o=o+1|0;m=b[l>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){u=m;break}else k=k+2|0}}else u=s;k=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(k<<1)|0,0,(e<<24>>24)-k<<1|0)|0;i=1;return i|0}case 4:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){l=f[f[a>>2]>>2]|0;q=a+40|0;m=gj(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;j=Rj(m|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=l+j|0;j=0;while(1){d[g+(j<<1)>>1]=d[q>>1]|0;j=j+1|0;l=b[k>>0]|0;if((j|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){v=l;break}else q=q+2|0}}else v=o;q=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(q<<1)|0,0,(e<<24>>24)-q<<1|0)|0;i=1;return i|0}case 5:{q=a+24|0;j=b[q>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){k=f[f[a>>2]>>2]|0;s=a+40|0;l=gj(f[s>>2]|0,f[s+4>>2]|0,f[c>>2]|0,0)|0;s=a+48|0;m=Rj(l|0,I|0,f[s>>2]|0,f[s+4>>2]|0)|0;s=k+m|0;m=0;while(1){d[g+(m<<1)>>1]=f[s>>2];m=m+1|0;k=b[q>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){w=k;break}else s=s+4|0}}else w=j;s=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(s<<1)|0,0,(e<<24>>24)-s<<1|0)|0;i=1;return i|0}case 6:{s=a+24|0;m=b[s>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;k=gj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;l=Rj(k|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=q+l|0;l=0;while(1){d[g+(l<<1)>>1]=f[o>>2];l=l+1|0;q=b[s>>0]|0;if((l|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){x=q;break}else o=o+4|0}}else x=m;o=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(o<<1)|0,0,(e<<24>>24)-o<<1|0)|0;i=1;return i|0}case 7:{o=a+24|0;l=b[o>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){s=f[f[a>>2]>>2]|0;j=a+40|0;q=gj(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;k=Rj(q|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=s+k|0;k=0;while(1){d[g+(k<<1)>>1]=f[j>>2];k=k+1|0;s=b[o>>0]|0;if((k|0)>=((s<<24>>24>e<<24>>24?e:s)<<24>>24|0)){y=s;break}else j=j+8|0}}else y=l;j=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(j<<1)|0,0,(e<<24>>24)-j<<1|0)|0;i=1;return i|0}case 8:{j=a+24|0;k=b[j>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){o=f[f[a>>2]>>2]|0;m=a+40|0;s=gj(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;q=Rj(s|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=o+q|0;q=0;while(1){d[g+(q<<1)>>1]=f[m>>2];q=q+1|0;o=b[j>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){z=o;break}else m=m+8|0}}else z=k;m=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(m<<1)|0,0,(e<<24>>24)-m<<1|0)|0;i=1;return i|0}case 9:{m=a+24|0;q=b[m>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){j=f[f[a>>2]>>2]|0;l=a+40|0;o=gj(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;s=Rj(o|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=j+s|0;s=0;while(1){j=~~$(n[l>>2]);d[g+(s<<1)>>1]=j;s=s+1|0;j=b[m>>0]|0;if((s|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){A=j;break}else l=l+4|0}}else A=q;l=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 10:{l=a+24|0;s=b[l>>0]|0;if((s<<24>>24>e<<24>>24?e:s)<<24>>24>0){m=f[f[a>>2]>>2]|0;k=a+40|0;j=gj(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;o=Rj(j|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=m+o|0;o=0;while(1){d[g+(o<<1)>>1]=~~+p[k>>3];o=o+1|0;m=b[l>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){B=m;break}else k=k+8|0}}else B=s;k=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(k<<1)|0,0,(e<<24>>24)-k<<1|0)|0;i=1;return i|0}case 11:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){l=f[f[a>>2]>>2]|0;q=a+40|0;m=gj(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;j=Rj(m|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=l+j|0;j=0;while(1){d[g+(j<<1)>>1]=h[q>>0]|0;j=j+1|0;l=b[k>>0]|0;if((j|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){C=l;break}else q=q+1|0}}else C=o;q=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(q<<1)|0,0,(e<<24>>24)-q<<1|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function ob(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=gj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Rj(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;r=0;while(1){f[g+(r<<2)>>2]=b[o>>0];r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){s=m;break}else o=o+1|0}}else s=l;o=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 2:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=gj(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=Rj(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){f[g+(t<<2)>>2]=h[m>>0];t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){u=k;break}else m=m+1|0}}else u=r;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 3:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=gj(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=Rj(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){f[g+(q<<2)>>2]=d[l>>1];q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){v=o;break}else l=l+2|0}}else v=t;l=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 4:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=gj(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=Rj(o|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){f[g+(k<<2)>>2]=j[r>>1];k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else r=r+2|0}}else w=q;r=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}case 5:{r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;t=a+40|0;m=gj(f[t>>2]|0,f[t+4>>2]|0,f[c>>2]|0,0)|0;t=a+48|0;o=Rj(m|0,I|0,f[t>>2]|0,f[t+4>>2]|0)|0;t=l+o|0;o=0;while(1){f[g+(o<<2)>>2]=f[t>>2];o=o+1|0;l=b[r>>0]|0;if((o|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){x=l;break}else t=t+4|0}}else x=k;t=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 6:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){r=f[f[a>>2]>>2]|0;q=a+40|0;l=gj(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;m=Rj(l|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=r+m|0;m=0;while(1){f[g+(m<<2)>>2]=f[q>>2];m=m+1|0;r=b[t>>0]|0;if((m|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){y=r;break}else q=q+4|0}}else y=o;q=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 7:{q=a+24|0;m=b[q>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){t=f[f[a>>2]>>2]|0;k=a+40|0;r=gj(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;l=Rj(r|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=t+l|0;l=0;while(1){f[g+(l<<2)>>2]=f[k>>2];l=l+1|0;t=b[q>>0]|0;if((l|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){z=t;break}else k=k+8|0}}else z=m;k=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 8:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;t=gj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Rj(t|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=q+r|0;r=0;while(1){f[g+(r<<2)>>2]=f[o>>2];r=r+1|0;q=b[k>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else o=o+8|0}}else A=l;o=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 9:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=gj(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=Rj(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){k=~~$(n[m>>2])>>>0;f[g+(t<<2)>>2]=k;t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){B=k;break}else m=m+4|0}}else B=r;m=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 10:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=gj(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=Rj(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){f[g+(q<<2)>>2]=~~+p[l>>3]>>>0;q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){C=o;break}else l=l+8|0}}else C=t;l=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 11:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=gj(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=Rj(o|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){f[g+(k<<2)>>2]=h[r>>0];k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){D=m;break}else r=r+1|0}}else D=q;r=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function pb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=gj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Rj(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;r=0;while(1){f[g+(r<<2)>>2]=b[o>>0];r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){s=m;break}else o=o+1|0}}else s=l;o=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 2:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=gj(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=Rj(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){f[g+(t<<2)>>2]=h[m>>0];t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){u=k;break}else m=m+1|0}}else u=r;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 3:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=gj(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=Rj(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){f[g+(q<<2)>>2]=d[l>>1];q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){v=o;break}else l=l+2|0}}else v=t;l=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 4:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=gj(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=Rj(o|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){f[g+(k<<2)>>2]=j[r>>1];k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else r=r+2|0}}else w=q;r=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}case 5:{r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;t=a+40|0;m=gj(f[t>>2]|0,f[t+4>>2]|0,f[c>>2]|0,0)|0;t=a+48|0;o=Rj(m|0,I|0,f[t>>2]|0,f[t+4>>2]|0)|0;t=l+o|0;o=0;while(1){f[g+(o<<2)>>2]=f[t>>2];o=o+1|0;l=b[r>>0]|0;if((o|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){x=l;break}else t=t+4|0}}else x=k;t=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 6:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){r=f[f[a>>2]>>2]|0;q=a+40|0;l=gj(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;m=Rj(l|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=r+m|0;m=0;while(1){f[g+(m<<2)>>2]=f[q>>2];m=m+1|0;r=b[t>>0]|0;if((m|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){y=r;break}else q=q+4|0}}else y=o;q=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 7:{q=a+24|0;m=b[q>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){t=f[f[a>>2]>>2]|0;k=a+40|0;r=gj(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;l=Rj(r|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=t+l|0;l=0;while(1){f[g+(l<<2)>>2]=f[k>>2];l=l+1|0;t=b[q>>0]|0;if((l|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){z=t;break}else k=k+8|0}}else z=m;k=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 8:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;t=gj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Rj(t|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=q+r|0;r=0;while(1){f[g+(r<<2)>>2]=f[o>>2];r=r+1|0;q=b[k>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else o=o+8|0}}else A=l;o=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 9:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=gj(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=Rj(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){k=~~$(n[m>>2]);f[g+(t<<2)>>2]=k;t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){B=k;break}else m=m+4|0}}else B=r;m=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 10:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=gj(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=Rj(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){f[g+(q<<2)>>2]=~~+p[l>>3];q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){C=o;break}else l=l+8|0}}else C=t;l=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 11:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=gj(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=Rj(o|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){f[g+(k<<2)>>2]=h[r>>0];k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){D=m;break}else r=r+1|0}}else D=q;r=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function qb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;if(!g){h=0;return h|0}do switch(f[a+28>>2]|0){case 1:{i=a+24|0;j=b[i>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;m=gj(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;o=Rj(m|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=k+o|0;o=0;while(1){b[g+o>>0]=b[l>>0]|0;o=o+1|0;k=b[i>>0]|0;if((o|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){q=k;break}else l=l+1|0}}else q=j;l=q<<24>>24;if(q<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+l|0,0,(e<<24>>24)-l|0)|0;h=1;return h|0}case 2:{l=a+24|0;o=b[l>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){i=f[f[a>>2]>>2]|0;k=a+40|0;m=gj(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;r=Rj(m|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=i+r|0;r=0;while(1){b[g+r>>0]=b[k>>0]|0;r=r+1|0;i=b[l>>0]|0;if((r|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){s=i;break}else k=k+1|0}}else s=o;k=s<<24>>24;if(s<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 3:{k=a+24|0;r=b[k>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){l=f[f[a>>2]>>2]|0;j=a+40|0;i=gj(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;m=Rj(i|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=l+m|0;m=0;while(1){b[g+m>>0]=d[j>>1];m=m+1|0;l=b[k>>0]|0;if((m|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){t=l;break}else j=j+2|0}}else t=r;j=t<<24>>24;if(t<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+j|0,0,(e<<24>>24)-j|0)|0;h=1;return h|0}case 4:{j=a+24|0;m=b[j>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;l=gj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;i=Rj(l|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=k+i|0;i=0;while(1){b[g+i>>0]=d[o>>1];i=i+1|0;k=b[j>>0]|0;if((i|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){u=k;break}else o=o+2|0}}else u=m;o=u<<24>>24;if(u<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+o|0,0,(e<<24>>24)-o|0)|0;h=1;return h|0}case 5:{o=a+24|0;i=b[o>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){j=f[f[a>>2]>>2]|0;r=a+40|0;k=gj(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;l=Rj(k|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=j+l|0;l=0;while(1){b[g+l>>0]=f[r>>2];l=l+1|0;j=b[o>>0]|0;if((l|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){v=j;break}else r=r+4|0}}else v=i;r=v<<24>>24;if(v<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+r|0,0,(e<<24>>24)-r|0)|0;h=1;return h|0}case 6:{r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){o=f[f[a>>2]>>2]|0;m=a+40|0;j=gj(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;k=Rj(j|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=o+k|0;k=0;while(1){b[g+k>>0]=f[m>>2];k=k+1|0;o=b[r>>0]|0;if((k|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){w=o;break}else m=m+4|0}}else w=l;m=w<<24>>24;if(w<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+m|0,0,(e<<24>>24)-m|0)|0;h=1;return h|0}case 7:{m=a+24|0;k=b[m>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){r=f[f[a>>2]>>2]|0;i=a+40|0;o=gj(f[i>>2]|0,f[i+4>>2]|0,f[c>>2]|0,0)|0;i=a+48|0;j=Rj(o|0,I|0,f[i>>2]|0,f[i+4>>2]|0)|0;i=r+j|0;j=0;while(1){b[g+j>>0]=f[i>>2];j=j+1|0;r=b[m>>0]|0;if((j|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){x=r;break}else i=i+8|0}}else x=k;i=x<<24>>24;if(x<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+i|0,0,(e<<24>>24)-i|0)|0;h=1;return h|0}case 8:{i=a+24|0;j=b[i>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){m=f[f[a>>2]>>2]|0;l=a+40|0;r=gj(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;o=Rj(r|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=m+o|0;o=0;while(1){b[g+o>>0]=f[l>>2];o=o+1|0;m=b[i>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){y=m;break}else l=l+8|0}}else y=j;l=y<<24>>24;if(y<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+l|0,0,(e<<24>>24)-l|0)|0;h=1;return h|0}case 9:{l=a+24|0;o=b[l>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){i=f[f[a>>2]>>2]|0;k=a+40|0;m=gj(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;r=Rj(m|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=i+r|0;r=0;while(1){i=~~$(n[k>>2])&255;b[g+r>>0]=i;r=r+1|0;i=b[l>>0]|0;if((r|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){z=i;break}else k=k+4|0}}else z=o;k=z<<24>>24;if(z<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 10:{k=a+24|0;r=b[k>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){l=f[f[a>>2]>>2]|0;j=a+40|0;i=gj(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;m=Rj(i|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=l+m|0;m=0;while(1){b[g+m>>0]=~~+p[j>>3];m=m+1|0;l=b[k>>0]|0;if((m|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){A=l;break}else j=j+8|0}}else A=r;j=A<<24>>24;if(A<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+j|0,0,(e<<24>>24)-j|0)|0;h=1;return h|0}case 11:{j=a+24|0;m=b[j>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;l=gj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;i=Rj(l|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=k+i|0;i=0;while(1){b[g+i>>0]=b[o>>0]|0;i=i+1|0;k=b[j>>0]|0;if((i|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){B=k;break}else o=o+1|0}}else B=m;o=B<<24>>24;if(B<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+o|0,0,(e<<24>>24)-o|0)|0;h=1;return h|0}default:{h=0;return h|0}}while(0);return 0}function rb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;if(!g){h=0;return h|0}do switch(f[a+28>>2]|0){case 1:{i=a+24|0;j=b[i>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;m=gj(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;o=Rj(m|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=k+o|0;o=0;while(1){b[g+o>>0]=b[l>>0]|0;o=o+1|0;k=b[i>>0]|0;if((o|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){q=k;break}else l=l+1|0}}else q=j;l=q<<24>>24;if(q<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+l|0,0,(e<<24>>24)-l|0)|0;h=1;return h|0}case 2:{l=a+24|0;o=b[l>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){i=f[f[a>>2]>>2]|0;k=a+40|0;m=gj(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;r=Rj(m|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=i+r|0;r=0;while(1){b[g+r>>0]=b[k>>0]|0;r=r+1|0;i=b[l>>0]|0;if((r|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){s=i;break}else k=k+1|0}}else s=o;k=s<<24>>24;if(s<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 3:{k=a+24|0;r=b[k>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){l=f[f[a>>2]>>2]|0;j=a+40|0;i=gj(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;m=Rj(i|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=l+m|0;m=0;while(1){b[g+m>>0]=d[j>>1];m=m+1|0;l=b[k>>0]|0;if((m|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){t=l;break}else j=j+2|0}}else t=r;j=t<<24>>24;if(t<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+j|0,0,(e<<24>>24)-j|0)|0;h=1;return h|0}case 4:{j=a+24|0;m=b[j>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;l=gj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;i=Rj(l|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=k+i|0;i=0;while(1){b[g+i>>0]=d[o>>1];i=i+1|0;k=b[j>>0]|0;if((i|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){u=k;break}else o=o+2|0}}else u=m;o=u<<24>>24;if(u<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+o|0,0,(e<<24>>24)-o|0)|0;h=1;return h|0}case 5:{o=a+24|0;i=b[o>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){j=f[f[a>>2]>>2]|0;r=a+40|0;k=gj(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;l=Rj(k|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=j+l|0;l=0;while(1){b[g+l>>0]=f[r>>2];l=l+1|0;j=b[o>>0]|0;if((l|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){v=j;break}else r=r+4|0}}else v=i;r=v<<24>>24;if(v<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+r|0,0,(e<<24>>24)-r|0)|0;h=1;return h|0}case 6:{r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){o=f[f[a>>2]>>2]|0;m=a+40|0;j=gj(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;k=Rj(j|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=o+k|0;k=0;while(1){b[g+k>>0]=f[m>>2];k=k+1|0;o=b[r>>0]|0;if((k|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){w=o;break}else m=m+4|0}}else w=l;m=w<<24>>24;if(w<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+m|0,0,(e<<24>>24)-m|0)|0;h=1;return h|0}case 7:{m=a+24|0;k=b[m>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){r=f[f[a>>2]>>2]|0;i=a+40|0;o=gj(f[i>>2]|0,f[i+4>>2]|0,f[c>>2]|0,0)|0;i=a+48|0;j=Rj(o|0,I|0,f[i>>2]|0,f[i+4>>2]|0)|0;i=r+j|0;j=0;while(1){b[g+j>>0]=f[i>>2];j=j+1|0;r=b[m>>0]|0;if((j|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){x=r;break}else i=i+8|0}}else x=k;i=x<<24>>24;if(x<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+i|0,0,(e<<24>>24)-i|0)|0;h=1;return h|0}case 8:{i=a+24|0;j=b[i>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){m=f[f[a>>2]>>2]|0;l=a+40|0;r=gj(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;o=Rj(r|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=m+o|0;o=0;while(1){b[g+o>>0]=f[l>>2];o=o+1|0;m=b[i>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){y=m;break}else l=l+8|0}}else y=j;l=y<<24>>24;if(y<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+l|0,0,(e<<24>>24)-l|0)|0;h=1;return h|0}case 9:{l=a+24|0;o=b[l>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){i=f[f[a>>2]>>2]|0;k=a+40|0;m=gj(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;r=Rj(m|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=i+r|0;r=0;while(1){i=~~$(n[k>>2]);b[g+r>>0]=i;r=r+1|0;i=b[l>>0]|0;if((r|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){z=i;break}else k=k+4|0}}else z=o;k=z<<24>>24;if(z<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 10:{k=a+24|0;r=b[k>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){l=f[f[a>>2]>>2]|0;j=a+40|0;i=gj(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;m=Rj(i|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=l+m|0;m=0;while(1){b[g+m>>0]=~~+p[j>>3];m=m+1|0;l=b[k>>0]|0;if((m|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){A=l;break}else j=j+8|0}}else A=r;j=A<<24>>24;if(A<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+j|0,0,(e<<24>>24)-j|0)|0;h=1;return h|0}case 11:{j=a+24|0;m=b[j>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;l=gj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;i=Rj(l|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=k+i|0;i=0;while(1){b[g+i>>0]=b[o>>0]|0;i=i+1|0;k=b[j>>0]|0;if((i|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){B=k;break}else o=o+1|0}}else B=m;o=B<<24>>24;if(B<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+o|0,0,(e<<24>>24)-o|0)|0;h=1;return h|0}default:{h=0;return h|0}}while(0);return 0}function sb(a,c,d,e){a=a|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,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,J=0,K=0,L=0,M=0,N=0,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;g=u;u=u+80|0;h=g+76|0;i=g+72|0;j=g+48|0;k=g+24|0;l=g;m=a+32|0;n=f[c>>2]|0;c=n+1|0;if((n|0)!=-1){o=((c>>>0)%3|0|0)==0?n+-2|0:c;c=(((n>>>0)%3|0|0)==0?2:-1)+n|0;if((o|0)==-1)p=-1;else p=f[(f[f[m>>2]>>2]|0)+(o<<2)>>2]|0;if((c|0)==-1){q=p;r=-1}else{q=p;r=f[(f[f[m>>2]>>2]|0)+(c<<2)>>2]|0}}else{q=-1;r=-1}c=f[a+36>>2]|0;m=f[c>>2]|0;p=(f[c+4>>2]|0)-m>>2;if(p>>>0<=q>>>0)um(c);o=m;m=f[o+(q<<2)>>2]|0;if(p>>>0<=r>>>0)um(c);c=f[o+(r<<2)>>2]|0;r=(m|0)<(e|0);do if(r&(c|0)<(e|0)){o=m<<1;p=f[d+(o<<2)>>2]|0;q=((p|0)<0)<<31>>31;n=f[d+((o|1)<<2)>>2]|0;o=((n|0)<0)<<31>>31;s=c<<1;t=f[d+(s<<2)>>2]|0;v=f[d+((s|1)<<2)>>2]|0;if(!((t|0)!=(p|0)|(v|0)!=(n|0))){f[a+8>>2]=p;f[a+12>>2]=n;u=g;return}s=a+4|0;w=f[(f[s>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;x=f[a>>2]|0;if(!(b[x+84>>0]|0))y=f[(f[x+68>>2]|0)+(w<<2)>>2]|0;else y=w;f[i>>2]=y;w=b[x+24>>0]|0;f[h>>2]=f[i>>2];jb(x,h,w,j)|0;w=f[(f[s>>2]|0)+(m<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;x=f[a>>2]|0;if(!(b[x+84>>0]|0))z=f[(f[x+68>>2]|0)+(w<<2)>>2]|0;else z=w;f[i>>2]=z;w=b[x+24>>0]|0;f[h>>2]=f[i>>2];jb(x,h,w,k)|0;w=f[(f[s>>2]|0)+(c<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;s=f[a>>2]|0;if(!(b[s+84>>0]|0))A=f[(f[s+68>>2]|0)+(w<<2)>>2]|0;else A=w;f[i>>2]=A;w=b[s+24>>0]|0;f[h>>2]=f[i>>2];jb(s,h,w,l)|0;w=l;s=k;x=f[s>>2]|0;B=f[s+4>>2]|0;s=Tj(f[w>>2]|0,f[w+4>>2]|0,x|0,B|0)|0;w=I;C=l+8|0;D=k+8|0;E=f[D>>2]|0;F=f[D+4>>2]|0;D=Tj(f[C>>2]|0,f[C+4>>2]|0,E|0,F|0)|0;C=I;G=l+16|0;H=k+16|0;J=f[H>>2]|0;K=f[H+4>>2]|0;H=Tj(f[G>>2]|0,f[G+4>>2]|0,J|0,K|0)|0;G=I;L=gj(s|0,w|0,s|0,w|0)|0;M=I;N=gj(D|0,C|0,D|0,C|0)|0;O=Rj(N|0,I|0,L|0,M|0)|0;M=I;L=gj(H|0,G|0,H|0,G|0)|0;N=Rj(O|0,M|0,L|0,I|0)|0;L=I;if((N|0)==0&(L|0)==0)break;M=j;O=Tj(f[M>>2]|0,f[M+4>>2]|0,x|0,B|0)|0;B=I;x=j+8|0;M=Tj(f[x>>2]|0,f[x+4>>2]|0,E|0,F|0)|0;F=I;E=j+16|0;x=Tj(f[E>>2]|0,f[E+4>>2]|0,J|0,K|0)|0;K=I;J=gj(O|0,B|0,s|0,w|0)|0;E=I;P=gj(M|0,F|0,D|0,C|0)|0;Q=Rj(P|0,I|0,J|0,E|0)|0;E=I;J=gj(x|0,K|0,H|0,G|0)|0;P=Rj(Q|0,E|0,J|0,I|0)|0;J=I;E=Tj(t|0,((t|0)<0)<<31>>31|0,p|0,q|0)|0;t=I;Q=Tj(v|0,((v|0)<0)<<31>>31|0,n|0,o|0)|0;v=I;R=gj(N|0,L|0,p|0,q|0)|0;q=I;p=gj(N|0,L|0,n|0,o|0)|0;o=I;n=gj(P|0,J|0,E|0,t|0)|0;S=I;T=gj(P|0,J|0,Q|0,v|0)|0;U=I;V=Rj(n|0,S|0,R|0,q|0)|0;q=I;R=Rj(T|0,U|0,p|0,o|0)|0;o=I;p=gj(P|0,J|0,s|0,w|0)|0;w=I;s=gj(P|0,J|0,D|0,C|0)|0;C=I;D=gj(P|0,J|0,H|0,G|0)|0;G=I;H=Ug(p|0,w|0,N|0,L|0)|0;w=I;p=Ug(s|0,C|0,N|0,L|0)|0;C=I;s=Ug(D|0,G|0,N|0,L|0)|0;G=I;D=Tj(O|0,B|0,H|0,w|0)|0;w=I;H=Tj(M|0,F|0,p|0,C|0)|0;C=I;p=Tj(x|0,K|0,s|0,G|0)|0;G=I;s=gj(D|0,w|0,D|0,w|0)|0;w=I;D=gj(H|0,C|0,H|0,C|0)|0;C=Rj(D|0,I|0,s|0,w|0)|0;w=I;s=gj(p|0,G|0,p|0,G|0)|0;G=Rj(C|0,w|0,s|0,I|0)|0;s=I;w=Tj(0,0,E|0,t|0)|0;t=I;E=gj(G|0,s|0,N|0,L|0)|0;s=I;switch(E|0){case 0:{if(!s){W=0;X=0}else{Y=1;Z=0;_=E;$=s;aa=23}break}case 1:{if(!s){ba=1;ca=0;aa=24}else{Y=1;Z=0;_=E;$=s;aa=23}break}default:{Y=1;Z=0;_=E;$=s;aa=23}}if((aa|0)==23)while(1){aa=0;G=Oj(Y|0,Z|0,1)|0;C=I;p=_;_=Uj(_|0,$|0,2)|0;if(!($>>>0>0|($|0)==0&p>>>0>7)){ba=G;ca=C;aa=24;break}else{Y=G;Z=C;$=I;aa=23}}if((aa|0)==24)while(1){aa=0;C=Fl(E|0,s|0,ba|0,ca|0)|0;G=Rj(C|0,I|0,ba|0,ca|0)|0;C=Uj(G|0,I|0,1)|0;G=I;p=gj(C|0,G|0,C|0,G|0)|0;D=I;if(D>>>0>s>>>0|(D|0)==(s|0)&p>>>0>E>>>0){ba=C;ca=G;aa=24}else{W=C;X=G;break}}E=gj(W|0,X|0,Q|0,v|0)|0;s=I;G=gj(W|0,X|0,w|0,t|0)|0;C=I;p=a+20|0;D=(f[p>>2]|0)+-1|0;H=(1<<(D&31)&f[(f[a+16>>2]|0)+(D>>>5<<2)>>2]|0)!=0;f[p>>2]=D;D=Tj(0,0,E|0,s|0)|0;p=Rj(V|0,q|0,(H?E:D)|0,(H?s:I)|0)|0;s=I;D=Tj(0,0,G|0,C|0)|0;E=Rj(R|0,o|0,(H?G:D)|0,(H?C:I)|0)|0;C=I;H=Ug(p|0,s|0,N|0,L|0)|0;s=Ug(E|0,C|0,N|0,L|0)|0;f[a+8>>2]=H;f[a+12>>2]=s;u=g;return}while(0);do if(r)da=m<<1;else{if((e|0)>0){da=(e<<1)+-2|0;break}X=a+8|0;f[X>>2]=0;f[X+4>>2]=0;u=g;return}while(0);f[a+8>>2]=f[d+(da<<2)>>2];f[a+12>>2]=f[d+(da+1<<2)>>2];u=g;return}function tb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,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;c=u;u=u+16|0;d=c+8|0;e=c;g=f[b>>2]|0;if((g|0)==-1){u=c;return}h=(g>>>0)/3|0;i=a+12|0;if(f[(f[i>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)|0){u=c;return}h=a+56|0;j=f[h>>2]|0;k=a+60|0;l=f[k>>2]|0;if((l|0)==(j|0))m=j;else{n=l+(~((l+-4-j|0)>>>2)<<2)|0;f[k>>2]=n;m=n}n=a+64|0;if((m|0)==(f[n>>2]|0))xf(h,b);else{f[m>>2]=g;f[k>>2]=m+4}m=f[a>>2]|0;g=f[b>>2]|0;j=g+1|0;do if((g|0)!=-1){l=f[m+28>>2]|0;o=f[l+((((j>>>0)%3|0|0)==0?g+-2|0:j)<<2)>>2]|0;if(!((g>>>0)%3|0)){p=o;q=g+2|0;r=l;break}else{p=o;q=g+-1|0;r=l;break}}else{l=f[m+28>>2]|0;p=f[l+-4>>2]|0;q=-1;r=l}while(0);m=f[r+(q<<2)>>2]|0;q=a+24|0;r=f[q>>2]|0;g=r+(p>>>5<<2)|0;j=1<<(p&31);l=f[g>>2]|0;if(!(l&j)){f[g>>2]=l|j;j=f[b>>2]|0;l=j+1|0;if((j|0)==-1)s=-1;else s=((l>>>0)%3|0|0)==0?j+-2|0:l;f[e>>2]=s;l=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((s>>>0)/3|0)*12|0)+(((s>>>0)%3|0)<<2)>>2]|0;s=f[a+48>>2]|0;f[d>>2]=l;j=f[s+4>>2]|0;s=j+4|0;g=f[s>>2]|0;if((g|0)==(f[j+8>>2]|0))xf(j,d);else{f[g>>2]=l;f[s>>2]=g+4}g=a+40|0;s=f[g>>2]|0;l=s+4|0;j=f[l>>2]|0;if((j|0)==(f[s+8>>2]|0)){xf(s,e);t=f[g>>2]|0}else{f[j>>2]=f[e>>2];f[l>>2]=j+4;t=s}s=t+24|0;f[(f[t+12>>2]|0)+(p<<2)>>2]=f[s>>2];f[s>>2]=(f[s>>2]|0)+1;v=f[q>>2]|0}else v=r;r=v+(m>>>5<<2)|0;v=1<<(m&31);s=f[r>>2]|0;if(!(s&v)){f[r>>2]=s|v;v=f[b>>2]|0;do if((v|0)!=-1)if(!((v>>>0)%3|0)){w=v+2|0;break}else{w=v+-1|0;break}else w=-1;while(0);f[e>>2]=w;v=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((w>>>0)/3|0)*12|0)+(((w>>>0)%3|0)<<2)>>2]|0;w=f[a+48>>2]|0;f[d>>2]=v;s=f[w+4>>2]|0;w=s+4|0;r=f[w>>2]|0;if((r|0)==(f[s+8>>2]|0))xf(s,d);else{f[r>>2]=v;f[w>>2]=r+4}r=a+40|0;w=f[r>>2]|0;v=w+4|0;s=f[v>>2]|0;if((s|0)==(f[w+8>>2]|0)){xf(w,e);x=f[r>>2]|0}else{f[s>>2]=f[e>>2];f[v>>2]=s+4;x=w}w=x+24|0;f[(f[x+12>>2]|0)+(m<<2)>>2]=f[w>>2];f[w>>2]=(f[w>>2]|0)+1}w=f[h>>2]|0;m=f[k>>2]|0;if((w|0)==(m|0)){u=c;return}x=a+44|0;s=a+48|0;v=a+40|0;r=m;m=w;while(1){w=f[r+-4>>2]|0;f[b>>2]=w;p=(w>>>0)/3|0;if((w|0)!=-1?(w=f[i>>2]|0,(f[w+(p>>>5<<2)>>2]&1<<(p&31)|0)==0):0){t=p;p=w;w=f[a>>2]|0;a:while(1){j=p+(t>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(t&31);j=f[b>>2]|0;l=f[(f[w+28>>2]|0)+(j<<2)>>2]|0;g=(f[q>>2]|0)+(l>>>5<<2)|0;o=1<<(l&31);y=f[g>>2]|0;if(!(o&y)){z=f[(f[w+40>>2]|0)+(l<<2)>>2]|0;if((z|0)==-1)A=1;else{B=f[(f[f[w+64>>2]>>2]|0)+(z<<2)>>2]|0;A=(1<<(B&31)&f[(f[w+12>>2]|0)+(B>>>5<<2)>>2]|0)!=0}f[g>>2]=y|o;o=f[b>>2]|0;f[e>>2]=o;y=f[(f[(f[x>>2]|0)+96>>2]|0)+(((o>>>0)/3|0)*12|0)+(((o>>>0)%3|0)<<2)>>2]|0;o=f[s>>2]|0;f[d>>2]=y;g=f[o+4>>2]|0;o=g+4|0;B=f[o>>2]|0;if((B|0)==(f[g+8>>2]|0))xf(g,d);else{f[B>>2]=y;f[o>>2]=B+4}B=f[v>>2]|0;o=B+4|0;y=f[o>>2]|0;if((y|0)==(f[B+8>>2]|0)){xf(B,e);C=f[v>>2]|0}else{f[y>>2]=f[e>>2];f[o>>2]=y+4;C=B}B=C+24|0;f[(f[C+12>>2]|0)+(l<<2)>>2]=f[B>>2];f[B>>2]=(f[B>>2]|0)+1;B=f[a>>2]|0;l=f[b>>2]|0;if(A){D=l;E=B;F=57}else{y=l+1|0;do if((l|0)==-1)G=-1;else{o=((y>>>0)%3|0|0)==0?l+-2|0:y;if((o|0)==-1){G=-1;break}if(f[(f[B>>2]|0)+(o>>>5<<2)>>2]&1<<(o&31)|0){G=-1;break}G=f[(f[(f[B+64>>2]|0)+12>>2]|0)+(o<<2)>>2]|0}while(0);f[b>>2]=G;H=(G>>>0)/3|0;I=B}}else{D=j;E=w;F=57}if((F|0)==57){F=0;y=D+1|0;if((D|0)==-1){F=58;break}l=((y>>>0)%3|0|0)==0?D+-2|0:y;if((l|0)!=-1?(f[(f[E>>2]|0)+(l>>>5<<2)>>2]&1<<(l&31)|0)==0:0)J=f[(f[(f[E+64>>2]|0)+12>>2]|0)+(l<<2)>>2]|0;else J=-1;f[d>>2]=J;l=(((D>>>0)%3|0|0)==0?2:-1)+D|0;if((l|0)!=-1?(f[(f[E>>2]|0)+(l>>>5<<2)>>2]&1<<(l&31)|0)==0:0)K=f[(f[(f[E+64>>2]|0)+12>>2]|0)+(l<<2)>>2]|0;else K=-1;l=(J|0)==-1;y=(J>>>0)/3|0;o=l?-1:y;g=(K|0)==-1;z=(K>>>0)/3|0;L=g?-1:z;do if(!l){M=f[i>>2]|0;if(f[M+(o>>>5<<2)>>2]&1<<(o&31)|0){F=67;break}if(g){N=J;O=y;break}if(!(f[M+(L>>>5<<2)>>2]&1<<(L&31))){F=72;break a}else{N=J;O=y}}else F=67;while(0);if((F|0)==67){F=0;if(g){F=69;break}if(!(f[(f[i>>2]|0)+(L>>>5<<2)>>2]&1<<(L&31))){N=K;O=z}else{F=69;break}}f[b>>2]=N;H=O;I=E}t=H;p=f[i>>2]|0;w=I}do if((F|0)==58){F=0;f[d>>2]=-1;F=69}else if((F|0)==72){F=0;w=f[k>>2]|0;f[w+-4>>2]=K;if((w|0)==(f[n>>2]|0)){xf(h,d);P=f[k>>2]|0;break}else{f[w>>2]=f[d>>2];p=w+4|0;f[k>>2]=p;P=p;break}}while(0);if((F|0)==69){F=0;p=(f[k>>2]|0)+-4|0;f[k>>2]=p;P=p}Q=f[h>>2]|0;R=P}else{p=r+-4|0;f[k>>2]=p;Q=m;R=p}if((Q|0)==(R|0))break;else{r=R;m=Q}}u=c;return}function ub(a,c,d,e){a=a|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,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,J=0,K=0,L=0,M=0,N=0,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;g=u;u=u+80|0;h=g+76|0;i=g+72|0;j=g+48|0;k=g+24|0;l=g;m=a+32|0;n=f[c>>2]|0;c=n+1|0;do if((n|0)!=-1){o=((c>>>0)%3|0|0)==0?n+-2|0:c;if(!((n>>>0)%3|0)){p=n+2|0;q=o;break}else{p=n+-1|0;q=o;break}}else{p=-1;q=-1}while(0);n=f[(f[m>>2]|0)+28>>2]|0;m=f[n+(q<<2)>>2]|0;q=f[n+(p<<2)>>2]|0;p=f[a+36>>2]|0;n=f[p>>2]|0;c=(f[p+4>>2]|0)-n>>2;if(c>>>0<=m>>>0)um(p);o=n;n=f[o+(m<<2)>>2]|0;if(c>>>0<=q>>>0)um(p);p=f[o+(q<<2)>>2]|0;q=(n|0)<(e|0);do if(q&(p|0)<(e|0)){o=n<<1;c=f[d+(o<<2)>>2]|0;m=((c|0)<0)<<31>>31;r=f[d+((o|1)<<2)>>2]|0;o=((r|0)<0)<<31>>31;s=p<<1;t=f[d+(s<<2)>>2]|0;v=f[d+((s|1)<<2)>>2]|0;if(!((t|0)!=(c|0)|(v|0)!=(r|0))){f[a+8>>2]=c;f[a+12>>2]=r;u=g;return}s=a+4|0;w=f[(f[s>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;x=f[a>>2]|0;if(!(b[x+84>>0]|0))y=f[(f[x+68>>2]|0)+(w<<2)>>2]|0;else y=w;f[i>>2]=y;w=b[x+24>>0]|0;f[h>>2]=f[i>>2];jb(x,h,w,j)|0;w=f[(f[s>>2]|0)+(n<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;x=f[a>>2]|0;if(!(b[x+84>>0]|0))z=f[(f[x+68>>2]|0)+(w<<2)>>2]|0;else z=w;f[i>>2]=z;w=b[x+24>>0]|0;f[h>>2]=f[i>>2];jb(x,h,w,k)|0;w=f[(f[s>>2]|0)+(p<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;s=f[a>>2]|0;if(!(b[s+84>>0]|0))A=f[(f[s+68>>2]|0)+(w<<2)>>2]|0;else A=w;f[i>>2]=A;w=b[s+24>>0]|0;f[h>>2]=f[i>>2];jb(s,h,w,l)|0;w=l;s=k;x=f[s>>2]|0;B=f[s+4>>2]|0;s=Tj(f[w>>2]|0,f[w+4>>2]|0,x|0,B|0)|0;w=I;C=l+8|0;D=k+8|0;E=f[D>>2]|0;F=f[D+4>>2]|0;D=Tj(f[C>>2]|0,f[C+4>>2]|0,E|0,F|0)|0;C=I;G=l+16|0;H=k+16|0;J=f[H>>2]|0;K=f[H+4>>2]|0;H=Tj(f[G>>2]|0,f[G+4>>2]|0,J|0,K|0)|0;G=I;L=gj(s|0,w|0,s|0,w|0)|0;M=I;N=gj(D|0,C|0,D|0,C|0)|0;O=Rj(N|0,I|0,L|0,M|0)|0;M=I;L=gj(H|0,G|0,H|0,G|0)|0;N=Rj(O|0,M|0,L|0,I|0)|0;L=I;if((N|0)==0&(L|0)==0)break;M=j;O=Tj(f[M>>2]|0,f[M+4>>2]|0,x|0,B|0)|0;B=I;x=j+8|0;M=Tj(f[x>>2]|0,f[x+4>>2]|0,E|0,F|0)|0;F=I;E=j+16|0;x=Tj(f[E>>2]|0,f[E+4>>2]|0,J|0,K|0)|0;K=I;J=gj(O|0,B|0,s|0,w|0)|0;E=I;P=gj(M|0,F|0,D|0,C|0)|0;Q=Rj(P|0,I|0,J|0,E|0)|0;E=I;J=gj(x|0,K|0,H|0,G|0)|0;P=Rj(Q|0,E|0,J|0,I|0)|0;J=I;E=Tj(t|0,((t|0)<0)<<31>>31|0,c|0,m|0)|0;t=I;Q=Tj(v|0,((v|0)<0)<<31>>31|0,r|0,o|0)|0;v=I;R=gj(N|0,L|0,c|0,m|0)|0;m=I;c=gj(N|0,L|0,r|0,o|0)|0;o=I;r=gj(P|0,J|0,E|0,t|0)|0;S=I;T=gj(P|0,J|0,Q|0,v|0)|0;U=I;V=Rj(r|0,S|0,R|0,m|0)|0;m=I;R=Rj(T|0,U|0,c|0,o|0)|0;o=I;c=gj(P|0,J|0,s|0,w|0)|0;w=I;s=gj(P|0,J|0,D|0,C|0)|0;C=I;D=gj(P|0,J|0,H|0,G|0)|0;G=I;H=Ug(c|0,w|0,N|0,L|0)|0;w=I;c=Ug(s|0,C|0,N|0,L|0)|0;C=I;s=Ug(D|0,G|0,N|0,L|0)|0;G=I;D=Tj(O|0,B|0,H|0,w|0)|0;w=I;H=Tj(M|0,F|0,c|0,C|0)|0;C=I;c=Tj(x|0,K|0,s|0,G|0)|0;G=I;s=gj(D|0,w|0,D|0,w|0)|0;w=I;D=gj(H|0,C|0,H|0,C|0)|0;C=Rj(D|0,I|0,s|0,w|0)|0;w=I;s=gj(c|0,G|0,c|0,G|0)|0;G=Rj(C|0,w|0,s|0,I|0)|0;s=I;w=Tj(0,0,E|0,t|0)|0;t=I;E=gj(G|0,s|0,N|0,L|0)|0;s=I;switch(E|0){case 0:{if(!s){W=0;X=0}else{Y=1;Z=0;_=E;$=s;aa=22}break}case 1:{if(!s){ba=1;ca=0;aa=23}else{Y=1;Z=0;_=E;$=s;aa=22}break}default:{Y=1;Z=0;_=E;$=s;aa=22}}if((aa|0)==22)while(1){aa=0;G=Oj(Y|0,Z|0,1)|0;C=I;c=_;_=Uj(_|0,$|0,2)|0;if(!($>>>0>0|($|0)==0&c>>>0>7)){ba=G;ca=C;aa=23;break}else{Y=G;Z=C;$=I;aa=22}}if((aa|0)==23)while(1){aa=0;C=Fl(E|0,s|0,ba|0,ca|0)|0;G=Rj(C|0,I|0,ba|0,ca|0)|0;C=Uj(G|0,I|0,1)|0;G=I;c=gj(C|0,G|0,C|0,G|0)|0;D=I;if(D>>>0>s>>>0|(D|0)==(s|0)&c>>>0>E>>>0){ba=C;ca=G;aa=23}else{W=C;X=G;break}}E=gj(W|0,X|0,Q|0,v|0)|0;s=I;G=gj(W|0,X|0,w|0,t|0)|0;C=I;c=a+20|0;D=(f[c>>2]|0)+-1|0;H=(1<<(D&31)&f[(f[a+16>>2]|0)+(D>>>5<<2)>>2]|0)!=0;f[c>>2]=D;D=Tj(0,0,E|0,s|0)|0;c=Rj(V|0,m|0,(H?E:D)|0,(H?s:I)|0)|0;s=I;D=Tj(0,0,G|0,C|0)|0;E=Rj(R|0,o|0,(H?G:D)|0,(H?C:I)|0)|0;C=I;H=Ug(c|0,s|0,N|0,L|0)|0;s=Ug(E|0,C|0,N|0,L|0)|0;f[a+8>>2]=H;f[a+12>>2]=s;u=g;return}while(0);do if(q)da=n<<1;else{if((e|0)>0){da=(e<<1)+-2|0;break}X=a+8|0;f[X>>2]=0;f[X+4>>2]=0;u=g;return}while(0);f[a+8>>2]=f[d+(da<<2)>>2];f[a+12>>2]=f[d+(da+1<<2)>>2];u=g;return}function vb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,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,J=0,K=0,L=0,M=0,N=0,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;e=u;u=u+96|0;g=e+92|0;h=e+88|0;i=e+72|0;j=e+48|0;k=e+24|0;l=e;m=a+16|0;n=f[m>>2]|0;o=f[c>>2]|0;f[i>>2]=n;f[i+4>>2]=o;c=i+8|0;f[c>>2]=o;b[i+12>>0]=1;p=(o|0)==-1;if(p)q=-1;else q=f[(f[n>>2]|0)+(o<<2)>>2]|0;n=a+20|0;r=f[n>>2]|0;s=f[r>>2]|0;if((f[r+4>>2]|0)-s>>2>>>0<=q>>>0)um(r);r=a+8|0;t=f[(f[r>>2]|0)+(f[s+(q<<2)>>2]<<2)>>2]|0;q=a+4|0;s=f[q>>2]|0;if(!(b[s+84>>0]|0))v=f[(f[s+68>>2]|0)+(t<<2)>>2]|0;else v=t;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[h>>2]=v;v=b[s+24>>0]|0;f[g>>2]=f[h>>2];jb(s,g,v,j)|0;v=a+28|0;a=(f[v>>2]|0)==0;a:do if(!p){s=k+8|0;t=j+8|0;w=k+16|0;x=j+16|0;y=l+8|0;z=l+16|0;A=o;B=o;C=0;D=0;E=0;F=0;G=0;H=0;J=a;K=o;while(1){do if(J){L=K+1|0;if((K|0)==-1){M=A;N=-1;O=-1;P=-1;break}Q=((L>>>0)%3|0|0)==0?K+-2|0:L;if((A|0)!=-1)if(!((A>>>0)%3|0)){R=A;S=A+2|0;T=Q;U=A;V=19;break}else{R=A;S=A+-1|0;T=Q;U=A;V=19;break}else{R=-1;S=-1;T=Q;U=-1;V=19}}else{Q=B+1|0;L=((Q>>>0)%3|0|0)==0?B+-2|0:Q;if(!((B>>>0)%3|0)){R=A;S=B+2|0;T=L;U=K;V=19;break}else{R=A;S=B+-1|0;T=L;U=K;V=19;break}}while(0);if((V|0)==19){V=0;if((T|0)==-1){M=R;N=-1;O=S;P=U}else{M=R;N=f[(f[f[m>>2]>>2]|0)+(T<<2)>>2]|0;O=S;P=U}}W=f[n>>2]|0;L=f[W>>2]|0;if((f[W+4>>2]|0)-L>>2>>>0<=N>>>0){V=22;break}Q=f[(f[r>>2]|0)+(f[L+(N<<2)>>2]<<2)>>2]|0;L=f[q>>2]|0;if(!(b[L+84>>0]|0))X=f[(f[L+68>>2]|0)+(Q<<2)>>2]|0;else X=Q;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[h>>2]=X;Q=b[L+24>>0]|0;f[g>>2]=f[h>>2];jb(L,g,Q,k)|0;if((O|0)==-1)Y=-1;else Y=f[(f[f[m>>2]>>2]|0)+(O<<2)>>2]|0;Z=f[n>>2]|0;Q=f[Z>>2]|0;if((f[Z+4>>2]|0)-Q>>2>>>0<=Y>>>0){V=28;break}L=f[(f[r>>2]|0)+(f[Q+(Y<<2)>>2]<<2)>>2]|0;Q=f[q>>2]|0;if(!(b[Q+84>>0]|0))_=f[(f[Q+68>>2]|0)+(L<<2)>>2]|0;else _=L;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[h>>2]=_;L=b[Q+24>>0]|0;f[g>>2]=f[h>>2];jb(Q,g,L,l)|0;L=k;Q=j;$=f[Q>>2]|0;aa=f[Q+4>>2]|0;Q=Tj(f[L>>2]|0,f[L+4>>2]|0,$|0,aa|0)|0;L=I;ba=s;ca=t;da=f[ca>>2]|0;ea=f[ca+4>>2]|0;ca=Tj(f[ba>>2]|0,f[ba+4>>2]|0,da|0,ea|0)|0;ba=I;fa=w;ga=x;ha=f[ga>>2]|0;ia=f[ga+4>>2]|0;ga=Tj(f[fa>>2]|0,f[fa+4>>2]|0,ha|0,ia|0)|0;fa=I;ja=l;ka=Tj(f[ja>>2]|0,f[ja+4>>2]|0,$|0,aa|0)|0;aa=I;$=y;ja=Tj(f[$>>2]|0,f[$+4>>2]|0,da|0,ea|0)|0;ea=I;da=z;$=Tj(f[da>>2]|0,f[da+4>>2]|0,ha|0,ia|0)|0;ia=I;ha=gj($|0,ia|0,ca|0,ba|0)|0;da=I;la=gj(ja|0,ea|0,ga|0,fa|0)|0;ma=I;na=gj(ka|0,aa|0,ga|0,fa|0)|0;fa=I;ga=gj($|0,ia|0,Q|0,L|0)|0;ia=I;$=gj(ja|0,ea|0,Q|0,L|0)|0;L=I;Q=gj(ka|0,aa|0,ca|0,ba|0)|0;ba=I;ca=Tj(C|0,D|0,la|0,ma|0)|0;ma=Rj(ca|0,I|0,ha|0,da|0)|0;da=I;ha=Rj(na|0,fa|0,E|0,F|0)|0;fa=Tj(ha|0,I|0,ga|0,ia|0)|0;ia=I;ga=Tj(G|0,H|0,Q|0,ba|0)|0;ba=Rj(ga|0,I|0,$|0,L|0)|0;L=I;Fe(i);B=f[c>>2]|0;$=(f[v>>2]|0)==0;if((B|0)==-1){oa=$;pa=da;qa=ma;ra=ia;sa=fa;ta=L;ua=ba;break a}else{A=M;C=ma;D=da;E=fa;F=ia;G=ba;H=L;J=$;K=P}}if((V|0)==22)um(W);else if((V|0)==28)um(Z)}else{oa=a;pa=0;qa=0;ra=0;sa=0;ta=0;ua=0}while(0);a=(pa|0)>-1|(pa|0)==-1&qa>>>0>4294967295;Z=Tj(0,0,qa|0,pa|0)|0;V=a?pa:I;W=(ra|0)>-1|(ra|0)==-1&sa>>>0>4294967295;P=Tj(0,0,sa|0,ra|0)|0;M=W?ra:I;v=(ta|0)>-1|(ta|0)==-1&ua>>>0>4294967295;c=Tj(0,0,ua|0,ta|0)|0;i=Rj((W?sa:P)|0,M|0,(v?ua:c)|0,(v?ta:I)|0)|0;v=Rj(i|0,I|0,(a?qa:Z)|0,V|0)|0;V=I;if(oa){if((v|0)<=536870912){va=qa;wa=sa;xa=ua;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}oa=Uj(v|0,V|0,29)|0;Z=oa&7;oa=Ug(qa|0,pa|0,Z|0,0)|0;a=Ug(sa|0,ra|0,Z|0,0)|0;i=Ug(ua|0,ta|0,Z|0,0)|0;va=oa;wa=a;xa=i;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}else{if(!((V|0)>0|(V|0)==0&v>>>0>536870912)){va=qa;wa=sa;xa=ua;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}i=Uj(v|0,V|0,29)|0;V=I;v=Ug(qa|0,pa|0,i|0,V|0)|0;pa=Ug(sa|0,ra|0,i|0,V|0)|0;ra=Ug(ua|0,ta|0,i|0,V|0)|0;va=v;wa=pa;xa=ra;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}}function wb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,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;c=u;u=u+16|0;d=c+8|0;e=c;g=f[b>>2]|0;if((g|0)==-1){u=c;return}h=(g>>>0)/3|0;i=a+12|0;if(f[(f[i>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)|0){u=c;return}h=a+56|0;j=f[h>>2]|0;k=a+60|0;l=f[k>>2]|0;if((l|0)==(j|0))m=j;else{n=l+(~((l+-4-j|0)>>>2)<<2)|0;f[k>>2]=n;m=n}n=a+64|0;if((m|0)==(f[n>>2]|0))xf(h,b);else{f[m>>2]=g;f[k>>2]=m+4}m=f[a>>2]|0;g=f[b>>2]|0;j=g+1|0;if((g|0)!=-1){l=((j>>>0)%3|0|0)==0?g+-2|0:j;if((l|0)==-1)o=-1;else o=f[(f[m>>2]|0)+(l<<2)>>2]|0;l=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((l|0)==-1){p=o;q=-1}else{p=o;q=f[(f[m>>2]|0)+(l<<2)>>2]|0}}else{p=-1;q=-1}l=a+24|0;m=f[l>>2]|0;o=m+(p>>>5<<2)|0;g=1<<(p&31);j=f[o>>2]|0;if(!(j&g)){f[o>>2]=j|g;g=f[b>>2]|0;j=g+1|0;if((g|0)==-1)r=-1;else r=((j>>>0)%3|0|0)==0?g+-2|0:j;f[e>>2]=r;j=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((r>>>0)/3|0)*12|0)+(((r>>>0)%3|0)<<2)>>2]|0;r=f[a+48>>2]|0;f[d>>2]=j;g=f[r+4>>2]|0;r=g+4|0;o=f[r>>2]|0;if((o|0)==(f[g+8>>2]|0))xf(g,d);else{f[o>>2]=j;f[r>>2]=o+4}o=a+40|0;r=f[o>>2]|0;j=r+4|0;g=f[j>>2]|0;if((g|0)==(f[r+8>>2]|0)){xf(r,e);s=f[o>>2]|0}else{f[g>>2]=f[e>>2];f[j>>2]=g+4;s=r}r=s+24|0;f[(f[s+12>>2]|0)+(p<<2)>>2]=f[r>>2];f[r>>2]=(f[r>>2]|0)+1;t=f[l>>2]|0}else t=m;m=t+(q>>>5<<2)|0;t=1<<(q&31);r=f[m>>2]|0;if(!(r&t)){f[m>>2]=r|t;t=f[b>>2]|0;do if((t|0)!=-1)if(!((t>>>0)%3|0)){v=t+2|0;break}else{v=t+-1|0;break}else v=-1;while(0);f[e>>2]=v;t=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((v>>>0)/3|0)*12|0)+(((v>>>0)%3|0)<<2)>>2]|0;v=f[a+48>>2]|0;f[d>>2]=t;r=f[v+4>>2]|0;v=r+4|0;m=f[v>>2]|0;if((m|0)==(f[r+8>>2]|0))xf(r,d);else{f[m>>2]=t;f[v>>2]=m+4}m=a+40|0;v=f[m>>2]|0;t=v+4|0;r=f[t>>2]|0;if((r|0)==(f[v+8>>2]|0)){xf(v,e);w=f[m>>2]|0}else{f[r>>2]=f[e>>2];f[t>>2]=r+4;w=v}v=w+24|0;f[(f[w+12>>2]|0)+(q<<2)>>2]=f[v>>2];f[v>>2]=(f[v>>2]|0)+1}v=f[h>>2]|0;q=f[k>>2]|0;if((v|0)==(q|0)){u=c;return}w=a+44|0;r=a+48|0;t=a+40|0;m=q;q=v;while(1){v=f[m+-4>>2]|0;f[b>>2]=v;p=(v>>>0)/3|0;if((v|0)!=-1?(v=f[i>>2]|0,(f[v+(p>>>5<<2)>>2]&1<<(p&31)|0)==0):0){s=p;p=v;a:while(1){v=p+(s>>>5<<2)|0;f[v>>2]=f[v>>2]|1<<(s&31);v=f[b>>2]|0;if((v|0)==-1)x=-1;else x=f[(f[f[a>>2]>>2]|0)+(v<<2)>>2]|0;g=(f[l>>2]|0)+(x>>>5<<2)|0;j=1<<(x&31);o=f[g>>2]|0;do if(!(j&o)){y=f[a>>2]|0;z=f[(f[y+24>>2]|0)+(x<<2)>>2]|0;A=z+1|0;if(((z|0)!=-1?(B=((A>>>0)%3|0|0)==0?z+-2|0:A,(B|0)!=-1):0)?(A=f[(f[y+12>>2]|0)+(B<<2)>>2]|0,B=A+1|0,(A|0)!=-1):0)C=((((B>>>0)%3|0|0)==0?A+-2|0:B)|0)==-1;else C=1;f[g>>2]=o|j;B=f[b>>2]|0;f[e>>2]=B;A=f[(f[(f[w>>2]|0)+96>>2]|0)+(((B>>>0)/3|0)*12|0)+(((B>>>0)%3|0)<<2)>>2]|0;B=f[r>>2]|0;f[d>>2]=A;y=f[B+4>>2]|0;B=y+4|0;z=f[B>>2]|0;if((z|0)==(f[y+8>>2]|0))xf(y,d);else{f[z>>2]=A;f[B>>2]=z+4}z=f[t>>2]|0;B=z+4|0;A=f[B>>2]|0;if((A|0)==(f[z+8>>2]|0)){xf(z,e);D=f[t>>2]|0}else{f[A>>2]=f[e>>2];f[B>>2]=A+4;D=z}z=D+24|0;f[(f[D+12>>2]|0)+(x<<2)>>2]=f[z>>2];f[z>>2]=(f[z>>2]|0)+1;if(C){E=f[b>>2]|0;F=60;break}z=f[a>>2]|0;A=f[b>>2]|0;do if((A|0)==-1)G=-1;else{B=A+1|0;y=((B>>>0)%3|0|0)==0?A+-2|0:B;if((y|0)==-1){G=-1;break}G=f[(f[z+12>>2]|0)+(y<<2)>>2]|0}while(0);f[b>>2]=G;H=(G>>>0)/3|0}else{E=v;F=60}while(0);if((F|0)==60){F=0;v=f[a>>2]|0;if((E|0)==-1){F=61;break}j=E+1|0;o=((j>>>0)%3|0|0)==0?E+-2|0:j;if((o|0)==-1)I=-1;else I=f[(f[v+12>>2]|0)+(o<<2)>>2]|0;f[d>>2]=I;o=(((E>>>0)%3|0|0)==0?2:-1)+E|0;if((o|0)==-1)J=-1;else J=f[(f[v+12>>2]|0)+(o<<2)>>2]|0;o=(I|0)==-1;v=(I>>>0)/3|0;j=o?-1:v;g=(J|0)==-1;z=(J>>>0)/3|0;A=g?-1:z;do if(!o){y=f[i>>2]|0;if(f[y+(j>>>5<<2)>>2]&1<<(j&31)|0){F=68;break}if(g){K=I;L=v;break}if(!(f[y+(A>>>5<<2)>>2]&1<<(A&31))){F=73;break a}else{K=I;L=v}}else F=68;while(0);if((F|0)==68){F=0;if(g){F=70;break}if(!(f[(f[i>>2]|0)+(A>>>5<<2)>>2]&1<<(A&31))){K=J;L=z}else{F=70;break}}f[b>>2]=K;H=L}s=H;p=f[i>>2]|0}do if((F|0)==61){F=0;f[d>>2]=-1;F=70}else if((F|0)==73){F=0;p=f[k>>2]|0;f[p+-4>>2]=J;if((p|0)==(f[n>>2]|0)){xf(h,d);M=f[k>>2]|0;break}else{f[p>>2]=f[d>>2];s=p+4|0;f[k>>2]=s;M=s;break}}while(0);if((F|0)==70){F=0;s=(f[k>>2]|0)+-4|0;f[k>>2]=s;M=s}N=f[h>>2]|0;O=M}else{s=m+-4|0;f[k>>2]=s;N=q;O=s}if((N|0)==(O|0))break;else{m=O;q=N}}u=c;return}function xb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=La,K=La,L=La,M=0,N=0,O=0,P=0;e=u;u=u+64|0;g=e+40|0;i=e+16|0;j=e;k=cc(a,c)|0;if(k|0){f[i>>2]=k;f[g>>2]=f[i>>2];dd(a,g)|0}f[j>>2]=0;k=j+4|0;f[k>>2]=0;f[j+8>>2]=0;l=f[d>>2]|0;m=(f[d+4>>2]|0)-l|0;if(!m){o=0;p=l}else{jf(j,m);o=f[j>>2]|0;p=f[d>>2]|0}ge(o|0,p|0,m|0)|0;Rf(i,c);c=i+12|0;f[c>>2]=0;m=i+16|0;f[m>>2]=0;f[i+20>>2]=0;p=f[k>>2]|0;o=f[j>>2]|0;d=p-o|0;if(!d){q=o;r=p;s=0}else{jf(c,d);q=f[j>>2]|0;r=f[k>>2]|0;s=f[c>>2]|0}ge(s|0,q|0,r-q|0)|0;q=i+11|0;r=b[q>>0]|0;s=r<<24>>24<0;c=s?f[i>>2]|0:i;d=s?f[i+4>>2]|0:r&255;if(d>>>0>3){r=c;s=d;p=d;while(1){o=X(h[r>>0]|h[r+1>>0]<<8|h[r+2>>0]<<16|h[r+3>>0]<<24,1540483477)|0;s=(X(o>>>24^o,1540483477)|0)^(X(s,1540483477)|0);p=p+-4|0;if(p>>>0<=3)break;else r=r+4|0}r=d+-4|0;p=r&-4;t=r-p|0;v=c+(p+4)|0;w=s}else{t=d;v=c;w=d}switch(t|0){case 3:{x=h[v+2>>0]<<16^w;y=12;break}case 2:{x=w;y=12;break}case 1:{z=w;y=13;break}default:A=w}if((y|0)==12){z=h[v+1>>0]<<8^x;y=13}if((y|0)==13)A=X(z^h[v>>0],1540483477)|0;v=X(A>>>13^A,1540483477)|0;A=v>>>15^v;v=a+4|0;z=f[v>>2]|0;x=(z|0)==0;a:do if(!x){w=z+-1|0;t=(w&z|0)==0;if(!t)if(A>>>0>>0)B=A;else B=(A>>>0)%(z>>>0)|0;else B=A&w;s=f[(f[a>>2]|0)+(B<<2)>>2]|0;if((s|0)!=0?(p=f[s>>2]|0,(p|0)!=0):0){s=(d|0)==0;if(t){if(s){t=p;while(1){r=f[t+4>>2]|0;if(!((r|0)==(A|0)|(r&w|0)==(B|0))){C=B;y=54;break a}r=b[t+8+11>>0]|0;if(!((r<<24>>24<0?f[t+12>>2]|0:r&255)|0))break a;t=f[t>>2]|0;if(!t){C=B;y=54;break a}}}else D=p;while(1){t=f[D+4>>2]|0;if(!((t|0)==(A|0)|(t&w|0)==(B|0))){C=B;y=54;break a}t=D+8|0;r=b[t+11>>0]|0;o=r<<24>>24<0;l=r&255;do if(((o?f[D+12>>2]|0:l)|0)==(d|0)){r=f[t>>2]|0;if(o)if(!(jh(r,c,d)|0))break a;else break;if((b[c>>0]|0)==(r&255)<<24>>24){r=t;E=l;F=c;do{E=E+-1|0;r=r+1|0;if(!E)break a;F=F+1|0}while((b[r>>0]|0)==(b[F>>0]|0))}}while(0);D=f[D>>2]|0;if(!D){C=B;y=54;break a}}}if(s){w=p;while(1){l=f[w+4>>2]|0;if((l|0)!=(A|0)){if(l>>>0>>0)G=l;else G=(l>>>0)%(z>>>0)|0;if((G|0)!=(B|0)){C=B;y=54;break a}}l=b[w+8+11>>0]|0;if(!((l<<24>>24<0?f[w+12>>2]|0:l&255)|0))break a;w=f[w>>2]|0;if(!w){C=B;y=54;break a}}}else H=p;while(1){w=f[H+4>>2]|0;if((w|0)!=(A|0)){if(w>>>0>>0)I=w;else I=(w>>>0)%(z>>>0)|0;if((I|0)!=(B|0)){C=B;y=54;break a}}w=H+8|0;s=b[w+11>>0]|0;l=s<<24>>24<0;t=s&255;do if(((l?f[H+12>>2]|0:t)|0)==(d|0)){s=f[w>>2]|0;if(l)if(!(jh(s,c,d)|0))break a;else break;if((b[c>>0]|0)==(s&255)<<24>>24){s=w;o=t;F=c;do{o=o+-1|0;s=s+1|0;if(!o)break a;F=F+1|0}while((b[s>>0]|0)==(b[F>>0]|0))}}while(0);H=f[H>>2]|0;if(!H){C=B;y=54;break}}}else{C=B;y=54}}else{C=0;y=54}while(0);if((y|0)==54){Ue(g,a,A,i);y=a+12|0;J=$(((f[y>>2]|0)+1|0)>>>0);K=$(z>>>0);L=$(n[a+16>>2]);do if(x|$(L*K)>>0<3|(z+-1&z|0)!=0)&1;H=~~$(W($(J/L)))>>>0;Oe(a,B>>>0>>0?H:B);B=f[v>>2]|0;H=B+-1|0;if(!(H&B)){M=B;N=H&A;break}if(A>>>0>>0){M=B;N=A}else{M=B;N=(A>>>0)%(B>>>0)|0}}else{M=z;N=C}while(0);C=f[(f[a>>2]|0)+(N<<2)>>2]|0;if(!C){z=a+8|0;f[f[g>>2]>>2]=f[z>>2];f[z>>2]=f[g>>2];f[(f[a>>2]|0)+(N<<2)>>2]=z;z=f[g>>2]|0;N=f[z>>2]|0;if(!N)O=g;else{A=f[N+4>>2]|0;N=M+-1|0;if(N&M)if(A>>>0>>0)P=A;else P=(A>>>0)%(M>>>0)|0;else P=A&N;f[(f[a>>2]|0)+(P<<2)>>2]=z;O=g}}else{f[f[g>>2]>>2]=f[C>>2];f[C>>2]=f[g>>2];O=g}f[y>>2]=(f[y>>2]|0)+1;f[O>>2]=0}O=f[i+12>>2]|0;if(O|0){if((f[m>>2]|0)!=(O|0))f[m>>2]=O;dn(O)}if((b[q>>0]|0)<0)dn(f[i>>2]|0);i=f[j>>2]|0;if(!i){u=e;return}if((f[k>>2]|0)!=(i|0))f[k>>2]=i;dn(i);u=e;return}function yb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,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,J=0,K=0,L=0,M=0,N=0,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;e=u;u=u+96|0;g=e+92|0;h=e+88|0;i=e+72|0;j=e+48|0;k=e+24|0;l=e;m=a+16|0;n=f[m>>2]|0;o=f[c>>2]|0;f[i>>2]=n;f[i+4>>2]=o;c=i+8|0;f[c>>2]=o;b[i+12>>0]=1;p=f[(f[n+28>>2]|0)+(o<<2)>>2]|0;n=a+20|0;q=f[n>>2]|0;r=f[q>>2]|0;if((f[q+4>>2]|0)-r>>2>>>0<=p>>>0)um(q);q=a+8|0;s=f[(f[q>>2]|0)+(f[r+(p<<2)>>2]<<2)>>2]|0;p=a+4|0;r=f[p>>2]|0;if(!(b[r+84>>0]|0))t=f[(f[r+68>>2]|0)+(s<<2)>>2]|0;else t=s;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[h>>2]=t;t=b[r+24>>0]|0;f[g>>2]=f[h>>2];jb(r,g,t,j)|0;t=a+28|0;a=(f[t>>2]|0)==0;a:do if((o|0)!=-1){r=k+8|0;s=j+8|0;v=k+16|0;w=j+16|0;x=l+8|0;y=l+16|0;z=o;A=o;B=0;C=0;D=0;E=0;F=0;G=0;H=a;J=o;while(1){do if(H){K=J+1|0;if((J|0)!=-1){L=((K>>>0)%3|0|0)==0?J+-2|0:K;if((z|0)!=-1)if(!((z>>>0)%3|0)){M=z;N=z+2|0;O=L;P=z;break}else{M=z;N=z+-1|0;O=L;P=z;break}else{M=-1;N=-1;O=L;P=-1}}else{M=z;N=-1;O=-1;P=-1}}else{L=A+1|0;K=((L>>>0)%3|0|0)==0?A+-2|0:L;if(!((A>>>0)%3|0)){M=z;N=A+2|0;O=K;P=J;break}else{M=z;N=A+-1|0;O=K;P=J;break}}while(0);K=f[(f[(f[m>>2]|0)+28>>2]|0)+(O<<2)>>2]|0;Q=f[n>>2]|0;L=f[Q>>2]|0;if((f[Q+4>>2]|0)-L>>2>>>0<=K>>>0){R=17;break}S=f[(f[q>>2]|0)+(f[L+(K<<2)>>2]<<2)>>2]|0;K=f[p>>2]|0;if(!(b[K+84>>0]|0))T=f[(f[K+68>>2]|0)+(S<<2)>>2]|0;else T=S;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[h>>2]=T;S=b[K+24>>0]|0;f[g>>2]=f[h>>2];jb(K,g,S,k)|0;S=f[(f[(f[m>>2]|0)+28>>2]|0)+(N<<2)>>2]|0;U=f[n>>2]|0;K=f[U>>2]|0;if((f[U+4>>2]|0)-K>>2>>>0<=S>>>0){R=21;break}L=f[(f[q>>2]|0)+(f[K+(S<<2)>>2]<<2)>>2]|0;S=f[p>>2]|0;if(!(b[S+84>>0]|0))V=f[(f[S+68>>2]|0)+(L<<2)>>2]|0;else V=L;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[h>>2]=V;L=b[S+24>>0]|0;f[g>>2]=f[h>>2];jb(S,g,L,l)|0;L=k;S=j;K=f[S>>2]|0;W=f[S+4>>2]|0;S=Tj(f[L>>2]|0,f[L+4>>2]|0,K|0,W|0)|0;L=I;X=r;Y=s;Z=f[Y>>2]|0;_=f[Y+4>>2]|0;Y=Tj(f[X>>2]|0,f[X+4>>2]|0,Z|0,_|0)|0;X=I;$=v;aa=w;ba=f[aa>>2]|0;ca=f[aa+4>>2]|0;aa=Tj(f[$>>2]|0,f[$+4>>2]|0,ba|0,ca|0)|0;$=I;da=l;ea=Tj(f[da>>2]|0,f[da+4>>2]|0,K|0,W|0)|0;W=I;K=x;da=Tj(f[K>>2]|0,f[K+4>>2]|0,Z|0,_|0)|0;_=I;Z=y;K=Tj(f[Z>>2]|0,f[Z+4>>2]|0,ba|0,ca|0)|0;ca=I;ba=gj(K|0,ca|0,Y|0,X|0)|0;Z=I;fa=gj(da|0,_|0,aa|0,$|0)|0;ga=I;ha=gj(ea|0,W|0,aa|0,$|0)|0;$=I;aa=gj(K|0,ca|0,S|0,L|0)|0;ca=I;K=gj(da|0,_|0,S|0,L|0)|0;L=I;S=gj(ea|0,W|0,Y|0,X|0)|0;X=I;Y=Tj(B|0,C|0,fa|0,ga|0)|0;ga=Rj(Y|0,I|0,ba|0,Z|0)|0;Z=I;ba=Rj(ha|0,$|0,D|0,E|0)|0;$=Tj(ba|0,I|0,aa|0,ca|0)|0;ca=I;aa=Tj(F|0,G|0,S|0,X|0)|0;X=Rj(aa|0,I|0,K|0,L|0)|0;L=I;Ud(i);A=f[c>>2]|0;K=(f[t>>2]|0)==0;if((A|0)==-1){ia=K;ja=Z;ka=ga;la=ca;ma=$;na=L;oa=X;break a}else{z=M;B=ga;C=Z;D=$;E=ca;F=X;G=L;H=K;J=P}}if((R|0)==17)um(Q);else if((R|0)==21)um(U)}else{ia=a;ja=0;ka=0;la=0;ma=0;na=0;oa=0}while(0);a=(ja|0)>-1|(ja|0)==-1&ka>>>0>4294967295;U=Tj(0,0,ka|0,ja|0)|0;R=a?ja:I;Q=(la|0)>-1|(la|0)==-1&ma>>>0>4294967295;P=Tj(0,0,ma|0,la|0)|0;M=Q?la:I;t=(na|0)>-1|(na|0)==-1&oa>>>0>4294967295;c=Tj(0,0,oa|0,na|0)|0;i=Rj((Q?ma:P)|0,M|0,(t?oa:c)|0,(t?na:I)|0)|0;t=Rj(i|0,I|0,(a?ka:U)|0,R|0)|0;R=I;if(ia){if((t|0)<=536870912){pa=ka;qa=ma;ra=oa;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}ia=Uj(t|0,R|0,29)|0;U=ia&7;ia=Ug(ka|0,ja|0,U|0,0)|0;a=Ug(ma|0,la|0,U|0,0)|0;i=Ug(oa|0,na|0,U|0,0)|0;pa=ia;qa=a;ra=i;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}else{if(!((R|0)>0|(R|0)==0&t>>>0>536870912)){pa=ka;qa=ma;ra=oa;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}i=Uj(t|0,R|0,29)|0;R=I;t=Ug(ka|0,ja|0,i|0,R|0)|0;ja=Ug(ma|0,la|0,i|0,R|0)|0;la=Ug(oa|0,na|0,i|0,R|0)|0;pa=t;qa=ja;ra=la;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}}function zb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,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;c=u;u=u+48|0;d=c+24|0;e=c+12|0;g=c;if(!b){h=0;u=c;return h|0}i=a+12|0;j=a+4|0;k=f[j>>2]|0;l=f[a>>2]|0;m=k-l>>2;n=a+16|0;o=f[n>>2]|0;p=f[i>>2]|0;q=o-p>>2;r=p;p=o;if(m>>>0<=q>>>0)if(m>>>0>>0?(o=r+(m<<2)|0,(o|0)!=(p|0)):0){f[n>>2]=p+(~((p+-4-o|0)>>>2)<<2);s=l;t=k}else{s=l;t=k}else{Ae(i,m-q|0,2652);s=f[a>>2]|0;t=f[j>>2]|0}f[d>>2]=0;q=d+4|0;f[q>>2]=0;f[d+8>>2]=0;Eg(d,t-s>>2);s=f[j>>2]|0;t=f[a>>2]|0;if((s|0)==(t|0)){v=s;w=s}else{m=f[d>>2]|0;k=m;l=k;o=0;p=s;s=k;k=t;t=m;while(1){m=f[k+(o<<2)>>2]|0;n=f[q>>2]|0;if(m>>>0>2>>>0){x=l;y=s;z=k;A=p}else{r=m+1|0;f[e>>2]=0;B=n-t>>2;C=t;D=n;if(r>>>0<=B>>>0)if(r>>>0>>0?(n=C+(r<<2)|0,(n|0)!=(D|0)):0){f[q>>2]=D+(~((D+-4-n|0)>>>2)<<2);E=l;F=p;G=k}else{E=l;F=p;G=k}else{Ae(d,r-B|0,e);E=f[d>>2]|0;F=f[j>>2]|0;G=f[a>>2]|0}x=E;y=E;z=G;A=F}B=y+(m<<2)|0;f[B>>2]=(f[B>>2]|0)+1;o=o+1|0;if(o>>>0>=A-z>>2>>>0){v=z;w=A;break}else{l=x;p=A;s=y;k=z;t=y}}}y=w-v|0;v=y>>2;f[e>>2]=0;w=e+4|0;f[w>>2]=0;f[e+8>>2]=0;if(!v){H=0;I=0}else{if(v>>>0>536870911)um(e);t=bj(y<<1)|0;f[w>>2]=t;f[e>>2]=t;y=t+(v<<3)|0;f[e+8>>2]=y;z=v;v=t;k=t;while(1){s=v;f[s>>2]=-1;f[s+4>>2]=-1;s=k+8|0;A=z+-1|0;if(!A)break;else{z=A;v=s;k=s}}f[w>>2]=y;H=t;I=t}t=f[q>>2]|0;y=f[d>>2]|0;k=t-y|0;v=k>>2;f[g>>2]=0;z=g+4|0;f[z>>2]=0;f[g+8>>2]=0;s=y;do if(v)if(v>>>0>1073741823)um(g);else{A=bj(k)|0;f[g>>2]=A;p=A+(v<<2)|0;f[g+8>>2]=p;Vf(A|0,0,k|0)|0;f[z>>2]=p;J=A;K=p;L=A;break}else{J=0;K=0;L=0}while(0);if((t|0)!=(y|0)){y=0;t=0;while(1){f[J+(t<<2)>>2]=y;k=t+1|0;if(k>>>0>>0){y=(f[s+(t<<2)>>2]|0)+y|0;t=k}else break}}t=f[j>>2]|0;j=f[a>>2]|0;y=j;if((t|0)!=(j|0)){k=a+40|0;a=t-j>>2;j=H;t=H;g=H;A=H;p=H;x=H;l=0;o=J;while(1){F=f[y+(l<<2)>>2]|0;G=l+1|0;E=((G>>>0)%3|0|0)==0?l+-2|0:G;if((E|0)==-1)M=-1;else M=f[y+(E<<2)>>2]|0;E=((l>>>0)%3|0|0)==0;G=(E?2:-1)+l|0;if((G|0)==-1)N=-1;else N=f[y+(G<<2)>>2]|0;if(E?(M|0)==(N|0)|((F|0)==(M|0)|(F|0)==(N|0)):0){f[k>>2]=(f[k>>2]|0)+1;O=j;P=t;Q=g;R=A;S=p;T=x;U=l+2|0;V=o}else W=51;a:do if((W|0)==51){W=0;E=f[s+(N<<2)>>2]|0;b:do if((E|0)>0){G=0;B=f[o+(N<<2)>>2]|0;while(1){m=f[p+(B<<3)>>2]|0;if((m|0)==-1){X=j;Y=t;Z=A;_=p;break b}if((m|0)==(M|0)){m=f[p+(B<<3)+4>>2]|0;if((m|0)==-1)$=-1;else $=f[y+(m<<2)>>2]|0;if((F|0)!=($|0))break}m=G+1|0;if((m|0)<(E|0)){G=m;B=B+1|0}else{X=j;Y=t;Z=A;_=p;break b}}m=f[A+(B<<3)+4>>2]|0;r=G;n=B;D=t;while(1){r=r+1|0;if((r|0)>=(E|0))break;C=n+1|0;f[D+(n<<3)>>2]=f[D+(C<<3)>>2];f[D+(n<<3)+4>>2]=f[D+(C<<3)+4>>2];if((f[j+(n<<3)>>2]|0)==-1)break;else{n=C;D=j}}f[g+(n<<3)>>2]=-1;if((m|0)==-1){X=g;Y=g;Z=g;_=g}else{D=f[i>>2]|0;f[D+(l<<2)>>2]=m;f[D+(m<<2)>>2]=l;O=g;P=g;Q=g;R=g;S=g;T=x;U=l;V=o;break a}}else{X=j;Y=t;Z=A;_=p}while(0);E=f[s+(M<<2)>>2]|0;if((E|0)>0){D=0;r=f[J+(M<<2)>>2]|0;while(1){aa=x+(r<<3)|0;if((f[aa>>2]|0)==-1)break;D=D+1|0;if((D|0)>=(E|0)){O=x;P=x;Q=x;R=x;S=x;T=x;U=l;V=J;break a}else r=r+1|0}f[aa>>2]=N;f[H+(r<<3)+4>>2]=l;O=H;P=H;Q=H;R=H;S=H;T=H;U=l;V=J}else{O=X;P=Y;Q=g;R=Z;S=_;T=x;U=l;V=o}}while(0);l=U+1|0;if(l>>>0>=a>>>0)break;else{j=O;t=P;g=Q;A=R;p=S;x=T;o=V}}}f[b>>2]=v;if(!J){ba=H;ca=I}else{if((K|0)!=(J|0))f[z>>2]=K+(~((K+-4-J|0)>>>2)<<2);dn(L);L=f[e>>2]|0;ba=L;ca=L}if(ba|0){L=f[w>>2]|0;if((L|0)!=(ba|0))f[w>>2]=L+(~((L+-8-ba|0)>>>3)<<3);dn(ca)}ca=f[d>>2]|0;if(ca|0){d=f[q>>2]|0;if((d|0)!=(ca|0))f[q>>2]=d+(~((d+-4-ca|0)>>>2)<<2);dn(ca)}h=1;u=c;return h|0}function Ab(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,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;e=a+8|0;g=f[e>>2]|0;switch(f[g+28>>2]|0){case 2:{h=b[g+24>>0]|0;i=h<<24>>24;j=an((i|0)>-1?i:-1)|0;k=f[a+16>>2]|0;l=(f[f[k>>2]>>2]|0)+(f[k+48>>2]|0)|0;a:do if(c|0){if(h<<24>>24>0){m=0;n=0}else{ge(f[f[g+64>>2]>>2]|0,j|0,i|0)|0;if((c|0)==1)break;else{o=0;p=1}while(1){o=o+i|0;ge((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+o|0,j|0,i|0)|0;p=p+1|0;if((p|0)==(c|0))break a}}while(1){k=0;q=n;while(1){b[j+k>>0]=f[l+(q<<2)>>2];k=k+1|0;if((k|0)==(i|0))break;else q=q+1|0}ge((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+n|0,j|0,i|0)|0;m=m+1|0;if((m|0)==(c|0))break;else n=n+i|0}}while(0);bn(j);r=1;return r|0}case 1:{j=b[g+24>>0]|0;i=j<<24>>24;n=an((i|0)>-1?i:-1)|0;m=f[a+16>>2]|0;l=(f[f[m>>2]>>2]|0)+(f[m+48>>2]|0)|0;b:do if(c|0){if(j<<24>>24>0){s=0;t=0}else{ge(f[f[g+64>>2]>>2]|0,n|0,i|0)|0;if((c|0)==1)break;else{u=0;v=1}while(1){u=u+i|0;ge((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+u|0,n|0,i|0)|0;v=v+1|0;if((v|0)==(c|0))break b}}while(1){m=0;p=t;while(1){b[n+m>>0]=f[l+(p<<2)>>2];m=m+1|0;if((m|0)==(i|0))break;else p=p+1|0}ge((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+t|0,n|0,i|0)|0;s=s+1|0;if((s|0)==(c|0))break;else t=t+i|0}}while(0);bn(n);r=1;return r|0}case 4:{n=b[g+24>>0]|0;i=n<<24>>24;t=i<<1;s=an(i>>>0>2147483647?-1:i<<1)|0;l=f[a+16>>2]|0;v=(f[f[l>>2]>>2]|0)+(f[l+48>>2]|0)|0;c:do if(c|0){if(n<<24>>24>0){w=0;x=0;y=0}else{ge(f[f[g+64>>2]>>2]|0,s|0,t|0)|0;if((c|0)==1)break;else{z=0;A=1}while(1){z=z+t|0;ge((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+z|0,s|0,t|0)|0;A=A+1|0;if((A|0)==(c|0))break c}}while(1){l=0;u=y;while(1){d[s+(l<<1)>>1]=f[v+(u<<2)>>2];l=l+1|0;if((l|0)==(i|0))break;else u=u+1|0}ge((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+x|0,s|0,t|0)|0;w=w+1|0;if((w|0)==(c|0))break;else{x=x+t|0;y=y+i|0}}}while(0);bn(s);r=1;return r|0}case 3:{s=b[g+24>>0]|0;i=s<<24>>24;y=i<<1;t=an(i>>>0>2147483647?-1:i<<1)|0;x=f[a+16>>2]|0;w=(f[f[x>>2]>>2]|0)+(f[x+48>>2]|0)|0;d:do if(c|0){if(s<<24>>24>0){B=0;C=0;D=0}else{ge(f[f[g+64>>2]>>2]|0,t|0,y|0)|0;if((c|0)==1)break;else{E=0;F=1}while(1){E=E+y|0;ge((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+E|0,t|0,y|0)|0;F=F+1|0;if((F|0)==(c|0))break d}}while(1){x=0;v=D;while(1){d[t+(x<<1)>>1]=f[w+(v<<2)>>2];x=x+1|0;if((x|0)==(i|0))break;else v=v+1|0}ge((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+C|0,t|0,y|0)|0;B=B+1|0;if((B|0)==(c|0))break;else{C=C+y|0;D=D+i|0}}}while(0);bn(t);r=1;return r|0}case 6:{t=b[g+24>>0]|0;i=t<<24>>24;D=i<<2;y=an(i>>>0>1073741823?-1:i<<2)|0;C=f[a+16>>2]|0;B=(f[f[C>>2]>>2]|0)+(f[C+48>>2]|0)|0;e:do if(c|0){if(t<<24>>24>0){G=0;H=0;I=0}else{ge(f[f[g+64>>2]>>2]|0,y|0,D|0)|0;if((c|0)==1)break;else{J=0;K=1}while(1){J=J+D|0;ge((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+J|0,y|0,D|0)|0;K=K+1|0;if((K|0)==(c|0))break e}}while(1){C=0;w=I;while(1){f[y+(C<<2)>>2]=f[B+(w<<2)>>2];C=C+1|0;if((C|0)==(i|0))break;else w=w+1|0}ge((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+H|0,y|0,D|0)|0;G=G+1|0;if((G|0)==(c|0))break;else{H=H+D|0;I=I+i|0}}}while(0);bn(y);r=1;return r|0}case 5:{y=b[g+24>>0]|0;i=y<<24>>24;I=i<<2;D=an(i>>>0>1073741823?-1:i<<2)|0;H=f[a+16>>2]|0;a=(f[f[H>>2]>>2]|0)+(f[H+48>>2]|0)|0;f:do if(c|0){if(y<<24>>24>0){L=0;M=0;N=0}else{ge(f[f[g+64>>2]>>2]|0,D|0,I|0)|0;if((c|0)==1)break;else{O=0;P=1}while(1){O=O+I|0;ge((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+O|0,D|0,I|0)|0;P=P+1|0;if((P|0)==(c|0))break f}}while(1){H=0;G=N;while(1){f[D+(H<<2)>>2]=f[a+(G<<2)>>2];H=H+1|0;if((H|0)==(i|0))break;else G=G+1|0}ge((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+M|0,D|0,I|0)|0;L=L+1|0;if((L|0)==(c|0))break;else{M=M+I|0;N=N+i|0}}}while(0);bn(D);r=1;return r|0}default:{r=0;return r|0}}return 0}function Bb(a,c){a=a|0;c=c|0;var d=0,e=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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;d=u;u=u+176|0;e=d+136|0;g=d+32|0;i=d;j=d+104|0;k=d+100|0;l=a+4|0;m=f[l>>2]|0;n=f[m+32>>2]|0;o=n+8|0;p=f[o>>2]|0;q=f[o+4>>2]|0;o=n+16|0;r=o;s=f[r>>2]|0;t=f[r+4>>2]|0;if(!((q|0)>(t|0)|(q|0)==(t|0)&p>>>0>s>>>0)){v=0;u=d;return v|0}r=f[n>>2]|0;n=b[r+s>>0]|0;w=Rj(s|0,t|0,1,0)|0;x=I;y=o;f[y>>2]=w;f[y+4>>2]=x;if(!((q|0)>(x|0)|(q|0)==(x|0)&p>>>0>w>>>0)){v=0;u=d;return v|0}x=b[r+w>>0]|0;w=Rj(s|0,t|0,2,0)|0;y=I;z=o;f[z>>2]=w;f[z+4>>2]=y;do if(n<<24>>24>-1){z=n<<24>>24;A=f[a+212>>2]|0;if((((f[a+216>>2]|0)-A|0)/144|0)>>>0>z>>>0){f[A+(z*144|0)>>2]=c;break}else{v=0;u=d;return v|0}}while(0);do if((((h[m+36>>0]|0)<<8|(h[m+37>>0]|0))&65535)>257)if((q|0)>(y|0)|(q|0)==(y|0)&p>>>0>w>>>0){z=b[r+w>>0]|0;A=Rj(s|0,t|0,3,0)|0;B=o;f[B>>2]=A;f[B+4>>2]=I;C=z&255;break}else{v=0;u=d;return v|0}else C=0;while(0);o=f[m+44>>2]|0;if(!(x<<24>>24)){if(n<<24>>24<0)D=a+184|0;else{x=n<<24>>24;m=f[a+212>>2]|0;b[m+(x*144|0)+100>>0]=0;D=m+(x*144|0)+104|0}switch((C&255)<<24>>24){case 0:{mc(e,a,D);E=f[e>>2]|0;break}case 1:{_c(e,a,D);E=f[e>>2]|0;break}default:{v=0;u=d;return v|0}}if(!E){v=0;u=d;return v|0}else F=E}else{if(n<<24>>24<0|(C|0)!=0){v=0;u=d;return v|0}C=bj(88)|0;E=n<<24>>24;n=f[a+212>>2]|0;a=n+(E*144|0)+104|0;f[C+4>>2]=0;f[C>>2]=2348;D=C+12|0;f[D>>2]=2372;x=C+64|0;f[x>>2]=0;f[C+68>>2]=0;f[C+72>>2]=0;m=C+16|0;t=m+44|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(t|0));f[C+76>>2]=o;f[C+80>>2]=a;f[C+84>>2]=0;s=g+4|0;f[s>>2]=2372;w=g+56|0;f[w>>2]=0;r=g+60|0;f[r>>2]=0;f[g+64>>2]=0;m=g+8|0;t=m+44|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(t|0));m=n+(E*144|0)+4|0;f[i>>2]=2372;t=i+4|0;p=t+4|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;f[t>>2]=m;t=f[n+(E*144|0)+68>>2]|0;E=((f[t+4>>2]|0)-(f[t>>2]|0)>>2>>>0)/3|0;b[e>>0]=0;le(i+8|0,E,e);Sa[f[(f[i>>2]|0)+8>>2]&127](i);id(j,i);id(e,j);f[g>>2]=f[e+4>>2];E=g+4|0;wd(E,e)|0;f[e>>2]=2372;t=f[e+20>>2]|0;if(t|0)dn(t);t=f[e+8>>2]|0;if(t|0)dn(t);f[g+36>>2]=m;f[g+40>>2]=a;f[g+44>>2]=o;f[g+48>>2]=C;f[j>>2]=2372;o=f[j+20>>2]|0;if(o|0)dn(o);o=f[j+8>>2]|0;if(o|0)dn(o);f[C+8>>2]=f[g>>2];wd(D,E)|0;E=C+44|0;D=g+36|0;f[E>>2]=f[D>>2];f[E+4>>2]=f[D+4>>2];f[E+8>>2]=f[D+8>>2];f[E+12>>2]=f[D+12>>2];b[E+16>>0]=b[D+16>>0]|0;zd(x,f[w>>2]|0,f[r>>2]|0);x=C;f[i>>2]=2372;C=f[i+20>>2]|0;if(C|0)dn(C);C=f[i+8>>2]|0;if(C|0)dn(C);C=f[w>>2]|0;if(C|0){w=f[r>>2]|0;if((w|0)!=(C|0))f[r>>2]=w+(~((w+-4-C|0)>>>2)<<2);dn(C)}f[s>>2]=2372;s=f[g+24>>2]|0;if(s|0)dn(s);s=f[g+12>>2]|0;if(s|0)dn(s);F=x}x=bj(64)|0;f[k>>2]=F;Ah(x,k);F=x;s=f[k>>2]|0;f[k>>2]=0;if(s|0)Sa[f[(f[s>>2]|0)+4>>2]&127](s);s=f[l>>2]|0;if((c|0)<0){Sa[f[(f[x>>2]|0)+4>>2]&127](x);v=0;u=d;return v|0}x=s+8|0;l=s+12|0;s=f[l>>2]|0;k=f[x>>2]|0;g=s-k>>2;do if((g|0)<=(c|0)){C=c+1|0;w=s;if(C>>>0>g>>>0){Kd(x,C-g|0);break}if(C>>>0>>0?(r=k+(C<<2)|0,(r|0)!=(w|0)):0){C=w;do{w=C+-4|0;f[l>>2]=w;i=f[w>>2]|0;f[w>>2]=0;if(i|0)Sa[f[(f[i>>2]|0)+4>>2]&127](i);C=f[l>>2]|0}while((C|0)!=(r|0))}}while(0);l=(f[x>>2]|0)+(c<<2)|0;c=f[l>>2]|0;f[l>>2]=F;if(!c){v=1;u=d;return v|0}Sa[f[(f[c>>2]|0)+4>>2]&127](c);v=1;u=d;return v|0}function Cb(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!a)return;b=a+-8|0;c=f[3224]|0;d=f[a+-4>>2]|0;a=d&-8;e=b+a|0;do if(!(d&1)){g=f[b>>2]|0;if(!(d&3))return;h=b+(0-g)|0;i=g+a|0;if(h>>>0>>0)return;if((f[3225]|0)==(h|0)){j=e+4|0;k=f[j>>2]|0;if((k&3|0)!=3){l=h;m=i;n=h;break}f[3222]=i;f[j>>2]=k&-2;f[h+4>>2]=i|1;f[h+i>>2]=i;return}k=g>>>3;if(g>>>0<256){g=f[h+8>>2]|0;j=f[h+12>>2]|0;if((j|0)==(g|0)){f[3220]=f[3220]&~(1<>2]=j;f[j+8>>2]=g;l=h;m=i;n=h;break}}g=f[h+24>>2]|0;j=f[h+12>>2]|0;do if((j|0)==(h|0)){k=h+16|0;o=k+4|0;p=f[o>>2]|0;if(!p){q=f[k>>2]|0;if(!q){r=0;break}else{s=q;t=k}}else{s=p;t=o}while(1){o=s+20|0;p=f[o>>2]|0;if(p|0){s=p;t=o;continue}o=s+16|0;p=f[o>>2]|0;if(!p)break;else{s=p;t=o}}f[t>>2]=0;r=s}else{o=f[h+8>>2]|0;f[o+12>>2]=j;f[j+8>>2]=o;r=j}while(0);if(g){j=f[h+28>>2]|0;o=13184+(j<<2)|0;if((f[o>>2]|0)==(h|0)){f[o>>2]=r;if(!r){f[3221]=f[3221]&~(1<>2]|0)!=(h|0)&1)<<2)>>2]=r;if(!r){l=h;m=i;n=h;break}}f[r+24>>2]=g;j=h+16|0;o=f[j>>2]|0;if(o|0){f[r+16>>2]=o;f[o+24>>2]=r}o=f[j+4>>2]|0;if(o){f[r+20>>2]=o;f[o+24>>2]=r;l=h;m=i;n=h}else{l=h;m=i;n=h}}else{l=h;m=i;n=h}}else{l=b;m=a;n=b}while(0);if(n>>>0>=e>>>0)return;b=e+4|0;a=f[b>>2]|0;if(!(a&1))return;if(!(a&2)){if((f[3226]|0)==(e|0)){r=(f[3223]|0)+m|0;f[3223]=r;f[3226]=l;f[l+4>>2]=r|1;if((l|0)!=(f[3225]|0))return;f[3225]=0;f[3222]=0;return}if((f[3225]|0)==(e|0)){r=(f[3222]|0)+m|0;f[3222]=r;f[3225]=n;f[l+4>>2]=r|1;f[n+r>>2]=r;return}r=(a&-8)+m|0;s=a>>>3;do if(a>>>0<256){t=f[e+8>>2]|0;c=f[e+12>>2]|0;if((c|0)==(t|0)){f[3220]=f[3220]&~(1<>2]=c;f[c+8>>2]=t;break}}else{t=f[e+24>>2]|0;c=f[e+12>>2]|0;do if((c|0)==(e|0)){d=e+16|0;o=d+4|0;j=f[o>>2]|0;if(!j){p=f[d>>2]|0;if(!p){u=0;break}else{v=p;w=d}}else{v=j;w=o}while(1){o=v+20|0;j=f[o>>2]|0;if(j|0){v=j;w=o;continue}o=v+16|0;j=f[o>>2]|0;if(!j)break;else{v=j;w=o}}f[w>>2]=0;u=v}else{o=f[e+8>>2]|0;f[o+12>>2]=c;f[c+8>>2]=o;u=c}while(0);if(t|0){c=f[e+28>>2]|0;h=13184+(c<<2)|0;if((f[h>>2]|0)==(e|0)){f[h>>2]=u;if(!u){f[3221]=f[3221]&~(1<>2]|0)!=(e|0)&1)<<2)>>2]=u;if(!u)break}f[u+24>>2]=t;c=e+16|0;h=f[c>>2]|0;if(h|0){f[u+16>>2]=h;f[h+24>>2]=u}h=f[c+4>>2]|0;if(h|0){f[u+20>>2]=h;f[h+24>>2]=u}}}while(0);f[l+4>>2]=r|1;f[n+r>>2]=r;if((l|0)==(f[3225]|0)){f[3222]=r;return}else x=r}else{f[b>>2]=a&-2;f[l+4>>2]=m|1;f[n+m>>2]=m;x=m}m=x>>>3;if(x>>>0<256){n=12920+(m<<1<<2)|0;a=f[3220]|0;b=1<>2]|0;z=b}f[z>>2]=l;f[y+12>>2]=l;f[l+8>>2]=y;f[l+12>>2]=n;return}n=x>>>8;if(n)if(x>>>0>16777215)A=31;else{y=(n+1048320|0)>>>16&8;z=n<>>16&4;b=z<>>16&2;a=14-(n|y|z)+(b<>>15)|0;A=x>>>(a+7|0)&1|a<<1}else A=0;a=13184+(A<<2)|0;f[l+28>>2]=A;f[l+20>>2]=0;f[l+16>>2]=0;z=f[3221]|0;b=1<>>1)|0);n=f[a>>2]|0;while(1){if((f[n+4>>2]&-8|0)==(x|0)){B=73;break}C=n+16+(y>>>31<<2)|0;m=f[C>>2]|0;if(!m){B=72;break}else{y=y<<1;n=m}}if((B|0)==72){f[C>>2]=l;f[l+24>>2]=n;f[l+12>>2]=l;f[l+8>>2]=l;break}else if((B|0)==73){y=n+8|0;t=f[y>>2]|0;f[t+12>>2]=l;f[y>>2]=l;f[l+8>>2]=t;f[l+12>>2]=n;f[l+24>>2]=0;break}}else{f[3221]=z|b;f[a>>2]=l;f[l+24>>2]=a;f[l+12>>2]=l;f[l+8>>2]=l}while(0);l=(f[3228]|0)+-1|0;f[3228]=l;if(!l)D=13336;else return;while(1){l=f[D>>2]|0;if(!l)break;else D=l+8|0}f[3228]=-1;return}function Db(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=La,F=La,G=La,H=0,I=0,J=0,K=0;d=b[c+11>>0]|0;e=d<<24>>24<0;g=e?f[c>>2]|0:c;i=e?f[c+4>>2]|0:d&255;if(i>>>0>3){d=g;e=i;j=i;while(1){k=X(h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24,1540483477)|0;e=(X(k>>>24^k,1540483477)|0)^(X(e,1540483477)|0);j=j+-4|0;if(j>>>0<=3)break;else d=d+4|0}d=i+-4|0;j=d&-4;l=d-j|0;m=g+(j+4)|0;o=e}else{l=i;m=g;o=i}switch(l|0){case 3:{p=h[m+2>>0]<<16^o;q=6;break}case 2:{p=o;q=6;break}case 1:{r=o;q=7;break}default:s=o}if((q|0)==6){r=h[m+1>>0]<<8^p;q=7}if((q|0)==7)s=X(r^h[m>>0],1540483477)|0;m=X(s>>>13^s,1540483477)|0;s=m>>>15^m;m=a+4|0;r=f[m>>2]|0;p=(r|0)==0;a:do if(!p){o=r+-1|0;l=(o&r|0)==0;if(!l)if(s>>>0>>0)t=s;else t=(s>>>0)%(r>>>0)|0;else t=s&o;e=f[(f[a>>2]|0)+(t<<2)>>2]|0;if((e|0)!=0?(j=f[e>>2]|0,(j|0)!=0):0){e=(i|0)==0;if(l){if(e){l=j;while(1){d=f[l+4>>2]|0;if(!((d|0)==(s|0)|(d&o|0)==(t|0))){u=t;break a}d=b[l+8+11>>0]|0;if(!((d<<24>>24<0?f[l+12>>2]|0:d&255)|0)){v=l;break}l=f[l>>2]|0;if(!l){u=t;break a}}w=v+20|0;return w|0}else x=j;b:while(1){l=f[x+4>>2]|0;if(!((l|0)==(s|0)|(l&o|0)==(t|0))){u=t;break a}l=x+8|0;d=b[l+11>>0]|0;k=d<<24>>24<0;y=d&255;do if(((k?f[x+12>>2]|0:y)|0)==(i|0)){d=f[l>>2]|0;if(k)if(!(jh(d,g,i)|0)){v=x;q=63;break b}else break;if((b[g>>0]|0)==(d&255)<<24>>24){d=l;z=y;A=g;do{z=z+-1|0;d=d+1|0;if(!z){v=x;q=63;break b}A=A+1|0}while((b[d>>0]|0)==(b[A>>0]|0))}}while(0);x=f[x>>2]|0;if(!x){u=t;break a}}if((q|0)==63){w=v+20|0;return w|0}}if(e){o=j;while(1){y=f[o+4>>2]|0;if((y|0)!=(s|0)){if(y>>>0>>0)B=y;else B=(y>>>0)%(r>>>0)|0;if((B|0)!=(t|0)){u=t;break a}}y=b[o+8+11>>0]|0;if(!((y<<24>>24<0?f[o+12>>2]|0:y&255)|0)){v=o;break}o=f[o>>2]|0;if(!o){u=t;break a}}w=v+20|0;return w|0}else C=j;c:while(1){o=f[C+4>>2]|0;if((o|0)!=(s|0)){if(o>>>0>>0)D=o;else D=(o>>>0)%(r>>>0)|0;if((D|0)!=(t|0)){u=t;break a}}o=C+8|0;e=b[o+11>>0]|0;y=e<<24>>24<0;l=e&255;do if(((y?f[C+12>>2]|0:l)|0)==(i|0)){e=f[o>>2]|0;if(y)if(!(jh(e,g,i)|0)){v=C;q=63;break c}else break;if((b[g>>0]|0)==(e&255)<<24>>24){e=o;k=l;A=g;do{k=k+-1|0;e=e+1|0;if(!k){v=C;q=63;break c}A=A+1|0}while((b[e>>0]|0)==(b[A>>0]|0))}}while(0);C=f[C>>2]|0;if(!C){u=t;break a}}if((q|0)==63){w=v+20|0;return w|0}}else u=t}else u=0;while(0);t=bj(24)|0;Rf(t+8|0,c);f[t+20>>2]=0;f[t+4>>2]=s;f[t>>2]=0;c=a+12|0;E=$(((f[c>>2]|0)+1|0)>>>0);F=$(r>>>0);G=$(n[a+16>>2]);do if(p|$(G*F)>>0<3|(r+-1&r|0)!=0)&1;g=~~$(W($(E/G)))>>>0;Oe(a,C>>>0>>0?g:C);C=f[m>>2]|0;g=C+-1|0;if(!(g&C)){H=C;I=g&s;break}if(s>>>0>>0){H=C;I=s}else{H=C;I=(s>>>0)%(C>>>0)|0}}else{H=r;I=u}while(0);u=(f[a>>2]|0)+(I<<2)|0;I=f[u>>2]|0;if(!I){r=a+8|0;f[t>>2]=f[r>>2];f[r>>2]=t;f[u>>2]=r;r=f[t>>2]|0;if(r|0){u=f[r+4>>2]|0;r=H+-1|0;if(r&H)if(u>>>0>>0)J=u;else J=(u>>>0)%(H>>>0)|0;else J=u&r;K=(f[a>>2]|0)+(J<<2)|0;q=61}}else{f[t>>2]=f[I>>2];K=I;q=61}if((q|0)==61)f[K>>2]=t;f[c>>2]=(f[c>>2]|0)+1;v=t;w=v+20|0;return w|0}function Eb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;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;g=a+8|0;f[g>>2]=e;d=a+32|0;h=a+36|0;i=f[h>>2]|0;j=f[d>>2]|0;k=i-j>>2;l=j;j=i;if(k>>>0>=e>>>0)if(k>>>0>e>>>0?(i=l+(e<<2)|0,(i|0)!=(j|0)):0){f[h>>2]=j+(~((j+-4-i|0)>>>2)<<2);m=e}else m=e;else{ff(d,e-k|0);m=f[g>>2]|0}k=f[a+48>>2]|0;d=f[a+52>>2]|0;i=e>>>0>1073741823?-1:e<<2;j=an(i)|0;Vf(j|0,0,i|0)|0;if((m|0)>0){i=a+16|0;h=a+32|0;l=a+12|0;n=0;do{o=f[j+(n<<2)>>2]|0;p=f[i>>2]|0;if((o|0)>(p|0)){q=f[h>>2]|0;f[q+(n<<2)>>2]=p;r=q}else{q=f[l>>2]|0;p=f[h>>2]|0;f[p+(n<<2)>>2]=(o|0)<(q|0)?q:o;r=p}n=n+1|0;s=f[g>>2]|0}while((n|0)<(s|0));if((s|0)>0){n=a+20|0;h=0;do{p=(f[b+(h<<2)>>2]|0)+(f[r+(h<<2)>>2]|0)|0;o=c+(h<<2)|0;f[o>>2]=p;if((p|0)<=(f[i>>2]|0)){if((p|0)<(f[l>>2]|0)){t=(f[n>>2]|0)+p|0;u=18}}else{t=p-(f[n>>2]|0)|0;u=18}if((u|0)==18){u=0;f[o>>2]=t}h=h+1|0;o=f[g>>2]|0}while((h|0)<(o|0));v=o}else v=s}else v=m;m=f[a+56>>2]|0;s=f[m>>2]|0;h=(f[m+4>>2]|0)-s|0;t=h>>2;if((h|0)<=4){bn(j);return 1}h=a+16|0;n=a+32|0;l=a+12|0;i=a+20|0;a=k+12|0;r=(e|0)>0;o=s;s=1;p=v;while(1){if(t>>>0<=s>>>0){u=24;break}v=f[o+(s<<2)>>2]|0;q=X(s,e)|0;if((v|0)!=-1?(w=f[(f[a>>2]|0)+(v<<2)>>2]|0,(w|0)!=-1):0){v=f[k>>2]|0;x=f[d>>2]|0;y=f[x+(f[v+(w<<2)>>2]<<2)>>2]|0;z=w+1|0;A=((z>>>0)%3|0|0)==0?w+-2|0:z;if((A|0)==-1)B=-1;else B=f[v+(A<<2)>>2]|0;A=f[x+(B<<2)>>2]|0;z=(((w>>>0)%3|0|0)==0?2:-1)+w|0;if((z|0)==-1)C=-1;else C=f[v+(z<<2)>>2]|0;z=f[x+(C<<2)>>2]|0;if((y|0)<(s|0)&(A|0)<(s|0)&(z|0)<(s|0)){x=X(y,e)|0;y=X(A,e)|0;A=X(z,e)|0;if(r){z=0;do{f[j+(z<<2)>>2]=(f[c+(z+A<<2)>>2]|0)+(f[c+(z+y<<2)>>2]|0)-(f[c+(z+x<<2)>>2]|0);z=z+1|0}while((z|0)!=(e|0))}z=b+(q<<2)|0;x=c+(q<<2)|0;if((p|0)>0){y=0;do{A=f[j+(y<<2)>>2]|0;v=f[h>>2]|0;if((A|0)>(v|0)){w=f[n>>2]|0;f[w+(y<<2)>>2]=v;D=w}else{w=f[l>>2]|0;v=f[n>>2]|0;f[v+(y<<2)>>2]=(A|0)<(w|0)?w:A;D=v}y=y+1|0;E=f[g>>2]|0}while((y|0)<(E|0));if((E|0)>0){y=0;do{v=(f[z+(y<<2)>>2]|0)+(f[D+(y<<2)>>2]|0)|0;A=x+(y<<2)|0;f[A>>2]=v;if((v|0)<=(f[h>>2]|0)){if((v|0)<(f[l>>2]|0)){F=(f[i>>2]|0)+v|0;u=56}}else{F=v-(f[i>>2]|0)|0;u=56}if((u|0)==56){u=0;f[A>>2]=F}y=y+1|0;A=f[g>>2]|0}while((y|0)<(A|0));G=A}else G=E}else G=p}else u=34}else u=34;if((u|0)==34){u=0;y=c+((X(s+-1|0,e)|0)<<2)|0;x=b+(q<<2)|0;z=c+(q<<2)|0;if((p|0)>0){A=0;do{v=f[y+(A<<2)>>2]|0;w=f[h>>2]|0;if((v|0)>(w|0)){H=f[n>>2]|0;f[H+(A<<2)>>2]=w;I=H}else{H=f[l>>2]|0;w=f[n>>2]|0;f[w+(A<<2)>>2]=(v|0)<(H|0)?H:v;I=w}A=A+1|0;J=f[g>>2]|0}while((A|0)<(J|0));if((J|0)>0){A=0;do{y=(f[x+(A<<2)>>2]|0)+(f[I+(A<<2)>>2]|0)|0;q=z+(A<<2)|0;f[q>>2]=y;if((y|0)<=(f[h>>2]|0)){if((y|0)<(f[l>>2]|0)){K=(f[i>>2]|0)+y|0;u=44}}else{K=y-(f[i>>2]|0)|0;u=44}if((u|0)==44){u=0;f[q>>2]=K}A=A+1|0;q=f[g>>2]|0}while((A|0)<(q|0));G=q}else G=J}else G=p}s=s+1|0;if((s|0)>=(t|0)){u=22;break}else p=G}if((u|0)==22){bn(j);return 1}else if((u|0)==24)um(m);return 0}function Fb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;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;g=a+8|0;f[g>>2]=e;d=a+32|0;h=a+36|0;i=f[h>>2]|0;j=f[d>>2]|0;k=i-j>>2;l=j;j=i;if(k>>>0>=e>>>0)if(k>>>0>e>>>0?(i=l+(e<<2)|0,(i|0)!=(j|0)):0){f[h>>2]=j+(~((j+-4-i|0)>>>2)<<2);m=e}else m=e;else{ff(d,e-k|0);m=f[g>>2]|0}k=f[a+48>>2]|0;d=f[a+52>>2]|0;i=e>>>0>1073741823?-1:e<<2;j=an(i)|0;Vf(j|0,0,i|0)|0;if((m|0)>0){i=a+16|0;h=a+32|0;l=a+12|0;n=0;do{o=f[j+(n<<2)>>2]|0;p=f[i>>2]|0;if((o|0)>(p|0)){q=f[h>>2]|0;f[q+(n<<2)>>2]=p;r=q}else{q=f[l>>2]|0;p=f[h>>2]|0;f[p+(n<<2)>>2]=(o|0)<(q|0)?q:o;r=p}n=n+1|0;s=f[g>>2]|0}while((n|0)<(s|0));if((s|0)>0){n=a+20|0;h=0;do{p=(f[b+(h<<2)>>2]|0)+(f[r+(h<<2)>>2]|0)|0;o=c+(h<<2)|0;f[o>>2]=p;if((p|0)<=(f[i>>2]|0)){if((p|0)<(f[l>>2]|0)){t=(f[n>>2]|0)+p|0;u=18}}else{t=p-(f[n>>2]|0)|0;u=18}if((u|0)==18){u=0;f[o>>2]=t}h=h+1|0;o=f[g>>2]|0}while((h|0)<(o|0));v=o}else v=s}else v=m;m=f[a+56>>2]|0;s=f[m>>2]|0;h=(f[m+4>>2]|0)-s|0;t=h>>2;if((h|0)<=4){bn(j);return 1}h=a+16|0;n=a+32|0;l=a+12|0;i=a+20|0;a=k+64|0;r=k+28|0;o=(e|0)>0;p=s;s=1;q=v;while(1){if(t>>>0<=s>>>0){u=24;break}v=f[p+(s<<2)>>2]|0;w=X(s,e)|0;if((((v|0)!=-1?(f[(f[k>>2]|0)+(v>>>5<<2)>>2]&1<<(v&31)|0)==0:0)?(x=f[(f[(f[a>>2]|0)+12>>2]|0)+(v<<2)>>2]|0,(x|0)!=-1):0)?(v=f[r>>2]|0,y=f[d>>2]|0,z=f[y+(f[v+(x<<2)>>2]<<2)>>2]|0,A=x+1|0,B=f[y+(f[v+((((A>>>0)%3|0|0)==0?x+-2|0:A)<<2)>>2]<<2)>>2]|0,A=f[y+(f[v+((((x>>>0)%3|0|0)==0?2:-1)+x<<2)>>2]<<2)>>2]|0,(z|0)<(s|0)&(B|0)<(s|0)&(A|0)<(s|0)):0){x=X(z,e)|0;z=X(B,e)|0;B=X(A,e)|0;if(o){A=0;do{f[j+(A<<2)>>2]=(f[c+(A+B<<2)>>2]|0)+(f[c+(A+z<<2)>>2]|0)-(f[c+(A+x<<2)>>2]|0);A=A+1|0}while((A|0)!=(e|0))}A=b+(w<<2)|0;x=c+(w<<2)|0;if((q|0)>0){z=0;do{B=f[j+(z<<2)>>2]|0;v=f[h>>2]|0;if((B|0)>(v|0)){y=f[n>>2]|0;f[y+(z<<2)>>2]=v;C=y}else{y=f[l>>2]|0;v=f[n>>2]|0;f[v+(z<<2)>>2]=(B|0)<(y|0)?y:B;C=v}z=z+1|0;D=f[g>>2]|0}while((z|0)<(D|0));if((D|0)>0){z=0;do{v=(f[A+(z<<2)>>2]|0)+(f[C+(z<<2)>>2]|0)|0;B=x+(z<<2)|0;f[B>>2]=v;if((v|0)<=(f[h>>2]|0)){if((v|0)<(f[l>>2]|0)){E=(f[i>>2]|0)+v|0;u=53}}else{E=v-(f[i>>2]|0)|0;u=53}if((u|0)==53){u=0;f[B>>2]=E}z=z+1|0;B=f[g>>2]|0}while((z|0)<(B|0));F=B}else F=D}else F=q}else{z=c+((X(s+-1|0,e)|0)<<2)|0;x=b+(w<<2)|0;A=c+(w<<2)|0;if((q|0)>0){B=0;do{v=f[z+(B<<2)>>2]|0;y=f[h>>2]|0;if((v|0)>(y|0)){G=f[n>>2]|0;f[G+(B<<2)>>2]=y;H=G}else{G=f[l>>2]|0;y=f[n>>2]|0;f[y+(B<<2)>>2]=(v|0)<(G|0)?G:v;H=y}B=B+1|0;I=f[g>>2]|0}while((B|0)<(I|0));if((I|0)>0){B=0;do{z=(f[x+(B<<2)>>2]|0)+(f[H+(B<<2)>>2]|0)|0;w=A+(B<<2)|0;f[w>>2]=z;if((z|0)<=(f[h>>2]|0)){if((z|0)<(f[l>>2]|0)){J=(f[i>>2]|0)+z|0;u=41}}else{J=z-(f[i>>2]|0)|0;u=41}if((u|0)==41){u=0;f[w>>2]=J}B=B+1|0;w=f[g>>2]|0}while((B|0)<(w|0));F=w}else F=I}else F=q}s=s+1|0;if((s|0)>=(t|0)){u=22;break}else q=F}if((u|0)==22){bn(j);return 1}else if((u|0)==24)um(m);return 0}function Gb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,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;c=u;u=u+16|0;d=c;e=f[b>>2]|0;b=a+8|0;g=e+1|0;if((e|0)!=-1){h=((g>>>0)%3|0|0)==0?e+-2|0:g;g=e+(((e>>>0)%3|0|0)==0?2:-1)|0;i=(e>>>0)/3|0;j=a+212|0;k=a+216|0;l=a+360|0;m=f[(f[(f[b>>2]|0)+12>>2]|0)+(e<<2)>>2]|0;if((m|0)!=-1)if(((m>>>0)/3|0)>>>0>=i>>>0?(f[k>>2]|0)!=(f[j>>2]|0):0){m=0;do{if(Wg((f[l>>2]|0)+(m<<4)|0)|0){n=f[j>>2]|0;f[d>>2]=e;o=n+(m*144|0)+136|0;p=f[o>>2]|0;if(p>>>0<(f[n+(m*144|0)+140>>2]|0)>>>0){f[p>>2]=e;f[o>>2]=p+4}else xf(n+(m*144|0)+132|0,d)}m=m+1|0}while(m>>>0<(((f[k>>2]|0)-(f[j>>2]|0)|0)/144|0)>>>0);q=i;r=g;s=d;t=d;v=h;w=k;x=j;y=l;z=j}else{q=i;r=g;s=d;t=d;v=h;w=k;x=j;y=l;z=j}else{A=i;B=d;C=d;D=j;E=l;F=g;G=h;H=k;I=j;J=4}}else{j=a+212|0;A=-1;B=d;C=d;D=j;E=a+360|0;F=-1;G=-1;H=a+216|0;I=j;J=4}if((J|0)==4){j=f[H>>2]|0;a=f[I>>2]|0;if((j|0)==(a|0)){q=A;r=F;s=B;t=C;v=G;w=H;x=I;y=E;z=D}else{k=0;h=j;j=a;while(1){a=j;f[d>>2]=e;g=a+(k*144|0)+136|0;l=f[g>>2]|0;if(l>>>0<(f[a+(k*144|0)+140>>2]|0)>>>0){f[l>>2]=e;f[g>>2]=l+4;K=j;L=h}else{xf(a+(k*144|0)+132|0,d);K=f[I>>2]|0;L=f[H>>2]|0}k=k+1|0;if(k>>>0>=((L-K|0)/144|0)>>>0){q=A;r=F;s=B;t=C;v=G;w=H;x=I;y=E;z=D;break}else{h=L;j=K}}}}if((v|0)!=-1?(K=f[(f[(f[b>>2]|0)+12>>2]|0)+(v<<2)>>2]|0,(K|0)!=-1):0){if(((K>>>0)/3|0)>>>0>=q>>>0?(f[w>>2]|0)!=(f[x>>2]|0):0){K=0;do{if(Wg((f[y>>2]|0)+(K<<4)|0)|0){j=f[z>>2]|0;f[d>>2]=v;L=j+(K*144|0)+136|0;h=f[L>>2]|0;if(h>>>0<(f[j+(K*144|0)+140>>2]|0)>>>0){f[h>>2]=v;f[L>>2]=h+4}else xf(j+(K*144|0)+132|0,d)}K=K+1|0}while(K>>>0<(((f[w>>2]|0)-(f[x>>2]|0)|0)/144|0)>>>0)}}else J=27;if((J|0)==27?(J=f[w>>2]|0,K=f[x>>2]|0,(J|0)!=(K|0)):0){j=0;h=K;K=J;while(1){J=h;f[d>>2]=v;L=J+(j*144|0)+136|0;D=f[L>>2]|0;if(D>>>0<(f[J+(j*144|0)+140>>2]|0)>>>0){f[D>>2]=v;f[L>>2]=D+4;M=h;N=K}else{xf(J+(j*144|0)+132|0,d);M=f[x>>2]|0;N=f[w>>2]|0}j=j+1|0;if(j>>>0>=((N-M|0)/144|0)>>>0)break;else{h=M;K=N}}}if((r|0)!=-1?(N=f[(f[(f[b>>2]|0)+12>>2]|0)+(r<<2)>>2]|0,(N|0)!=-1):0){if(((N>>>0)/3|0)>>>0>>0){u=c;return 1}if((f[w>>2]|0)==(f[x>>2]|0)){u=c;return 1}else O=0;do{if(Wg((f[y>>2]|0)+(O<<4)|0)|0){q=f[z>>2]|0;f[d>>2]=r;N=q+(O*144|0)+136|0;b=f[N>>2]|0;if(b>>>0<(f[q+(O*144|0)+140>>2]|0)>>>0){f[b>>2]=r;f[N>>2]=b+4}else xf(q+(O*144|0)+132|0,d)}O=O+1|0}while(O>>>0<(((f[w>>2]|0)-(f[x>>2]|0)|0)/144|0)>>>0);u=c;return 1}O=f[w>>2]|0;z=f[x>>2]|0;if((O|0)==(z|0)){u=c;return 1}else{P=0;Q=z;R=O}while(1){O=Q;f[d>>2]=r;z=O+(P*144|0)+136|0;y=f[z>>2]|0;if(y>>>0<(f[O+(P*144|0)+140>>2]|0)>>>0){f[y>>2]=r;f[z>>2]=y+4;S=Q;T=R}else{xf(O+(P*144|0)+132|0,d);S=f[x>>2]|0;T=f[w>>2]|0}P=P+1|0;if(P>>>0>=((T-S|0)/144|0)>>>0)break;else{Q=S;R=T}}u=c;return 1}function Hb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=u;u=u+16|0;g=e;i=c+8|0;j=i;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=Rj(n|0,f[m+4>>2]|0,5,0)|0;m=I;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0>>0){o=bj(32)|0;f[g>>2]=o;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=o;q=9496;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[o+29>>0]=0;f[a>>2]=-2;Rf(a+4|0,g);if((b[g+11>>0]|0)<0)dn(f[g>>2]|0);u=e;return}o=(f[c>>2]|0)+n|0;b[d>>0]=b[o>>0]|0;b[d+1>>0]=b[o+1>>0]|0;b[d+2>>0]=b[o+2>>0]|0;b[d+3>>0]=b[o+3>>0]|0;b[d+4>>0]=b[o+4>>0]|0;o=j;n=Rj(f[o>>2]|0,f[o+4>>2]|0,5,0)|0;o=I;k=j;f[k>>2]=n;f[k+4>>2]=o;if(jh(d,9526,5)|0){k=bj(32)|0;f[g>>2]=k;f[g+8>>2]=-2147483616;f[g+4>>2]=17;p=k;q=9532;r=p+17|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[k+17>>0]=0;f[a>>2]=-1;Rf(a+4|0,g);if((b[g+11>>0]|0)<0)dn(f[g>>2]|0);u=e;return}k=i;m=f[k+4>>2]|0;if(!((m|0)>(o|0)|((m|0)==(o|0)?(f[k>>2]|0)>>>0>n>>>0:0))){k=bj(32)|0;f[g>>2]=k;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=k;q=9496;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[k+29>>0]=0;f[a>>2]=-2;Rf(a+4|0,g);if((b[g+11>>0]|0)<0)dn(f[g>>2]|0);u=e;return}b[d+5>>0]=b[(f[c>>2]|0)+n>>0]|0;n=j;k=Rj(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;n=I;o=j;f[o>>2]=k;f[o+4>>2]=n;o=i;m=f[o+4>>2]|0;if(!((m|0)>(n|0)|((m|0)==(n|0)?(f[o>>2]|0)>>>0>k>>>0:0))){o=bj(32)|0;f[g>>2]=o;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=o;q=9496;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[o+29>>0]=0;f[a>>2]=-2;Rf(a+4|0,g);if((b[g+11>>0]|0)<0)dn(f[g>>2]|0);u=e;return}b[d+6>>0]=b[(f[c>>2]|0)+k>>0]|0;k=j;o=Rj(f[k>>2]|0,f[k+4>>2]|0,1,0)|0;k=I;n=j;f[n>>2]=o;f[n+4>>2]=k;n=i;m=f[n+4>>2]|0;if(!((m|0)>(k|0)|((m|0)==(k|0)?(f[n>>2]|0)>>>0>o>>>0:0))){n=bj(32)|0;f[g>>2]=n;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=n;q=9496;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[n+29>>0]=0;f[a>>2]=-2;Rf(a+4|0,g);if((b[g+11>>0]|0)<0)dn(f[g>>2]|0);u=e;return}b[d+7>>0]=b[(f[c>>2]|0)+o>>0]|0;o=j;n=Rj(f[o>>2]|0,f[o+4>>2]|0,1,0)|0;o=I;k=j;f[k>>2]=n;f[k+4>>2]=o;k=i;m=f[k+4>>2]|0;if(!((m|0)>(o|0)|((m|0)==(o|0)?(f[k>>2]|0)>>>0>n>>>0:0))){k=bj(32)|0;f[g>>2]=k;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=k;q=9496;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[k+29>>0]=0;f[a>>2]=-2;Rf(a+4|0,g);if((b[g+11>>0]|0)<0)dn(f[g>>2]|0);u=e;return}b[d+8>>0]=b[(f[c>>2]|0)+n>>0]|0;n=j;k=f[n>>2]|0;o=f[n+4>>2]|0;n=Rj(k|0,o|0,1,0)|0;m=j;f[m>>2]=n;f[m+4>>2]=I;m=i;i=f[m>>2]|0;l=f[m+4>>2]|0;m=Rj(k|0,o|0,3,0)|0;o=I;if(!((l|0)<(o|0)|(l|0)==(o|0)&i>>>0>>0)){m=d+10|0;d=(f[c>>2]|0)+n|0;n=h[d>>0]|h[d+1>>0]<<8;b[m>>0]=n;b[m+1>>0]=n>>8;n=j;m=Rj(f[n>>2]|0,f[n+4>>2]|0,2,0)|0;n=j;f[n>>2]=m;f[n+4>>2]=I;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=e;return}n=bj(32)|0;f[g>>2]=n;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=n;q=9496;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[n+29>>0]=0;f[a>>2]=-2;Rf(a+4|0,g);if((b[g+11>>0]|0)<0)dn(f[g>>2]|0);u=e;return} +function df(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=u;u=u+16|0;d=c;e=Gd(a,d,b)|0;g=f[e>>2]|0;if(g|0){h=g;i=h+28|0;u=c;return i|0}g=bj(40)|0;Rf(g+16|0,b);b=g+28|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;b=f[d>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=b;f[e>>2]=g;b=f[f[a>>2]>>2]|0;if(!b)j=g;else{f[a>>2]=b;j=f[e>>2]|0}Lc(f[a+4>>2]|0,j);j=a+8|0;f[j>>2]=(f[j>>2]|0)+1;h=g;i=h+28|0;u=c;return i|0}function ef(a,c,d,e,g,h,i,j){a=a|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;k=u;u=u+16|0;l=k;if((-18-c|0)>>>0>>0)um(a);if((b[a+11>>0]|0)<0)m=f[a>>2]|0;else m=a;if(c>>>0<2147483623){n=d+c|0;d=c<<1;o=n>>>0>>0?d:n;p=o>>>0<11?11:o+16&-16}else p=-17;o=bj(p)|0;if(g|0)Ok(o,m,g)|0;if(i|0)Ok(o+g|0,j,i)|0;j=e-h|0;e=j-g|0;if(e|0)Ok(o+g+i|0,m+g+h|0,e)|0;if((c|0)!=10)dn(m);f[a>>2]=o;f[a+8>>2]=p|-2147483648;p=j+i|0;f[a+4>>2]=p;b[l>>0]=0;Rl(o+p|0,l);u=k;return}function ff(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>2>>>0>=b>>>0){Vf(g|0,0,b<<2|0)|0;f[e>>2]=g+(b<<2);return}h=f[a>>2]|0;i=g-h|0;g=i>>2;j=g+b|0;if(j>>>0>1073741823)um(a);k=d-h|0;d=k>>1;l=k>>2>>>0<536870911?(d>>>0>>0?j:d):1073741823;do if(l)if(l>>>0>1073741823){d=ra(8)|0;Yk(d,9789);f[d>>2]=3704;va(d|0,856,80)}else{d=bj(l<<2)|0;m=d;n=d;break}else{m=0;n=0}while(0);d=m+(g<<2)|0;Vf(d|0,0,b<<2|0)|0;if((i|0)>0)ge(n|0,h|0,i|0)|0;f[a>>2]=m;f[e>>2]=d+(b<<2);f[c>>2]=m+(l<<2);if(!h)return;dn(h);return}function gf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;d=f[c>>2]|0;if((d|0)==(b|0))e=b;else{g=d;do{f[c>>2]=g+-144;d=f[g+-12>>2]|0;if(d|0){h=g+-8|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);dn(d)}d=f[g+-28>>2]|0;if(d|0){i=g+-24|0;h=f[i>>2]|0;if((h|0)!=(d|0))f[i>>2]=h+(~((h+-4-d|0)>>>2)<<2);dn(d)}d=f[g+-40>>2]|0;if(d|0){h=g+-36|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);dn(d)}tf(g+-140|0);g=f[c>>2]|0}while((g|0)!=(b|0));e=f[a>>2]|0}dn(e);return}function hf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;a=u;u=u+16|0;e=a;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;g=gg(d)|0;if(g>>>0>4294967279)um(e);if(g>>>0<11){b[e+11>>0]=g;if(!g)h=e;else{i=e;j=6}}else{k=g+16&-16;l=bj(k)|0;f[e>>2]=l;f[e+8>>2]=k|-2147483648;f[e+4>>2]=g;i=l;j=6}if((j|0)==6){ge(i|0,d|0,g|0)|0;h=i}b[h+g>>0]=0;g=($b(c,e)|0)!=0;if((b[e+11>>0]|0)>=0){u=a;return g|0}dn(f[e>>2]|0);u=a;return g|0}function jf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if((e-h|0)>>>0>=c>>>0){i=c;j=h;do{b[j>>0]=0;j=(f[g>>2]|0)+1|0;f[g>>2]=j;i=i+-1|0}while((i|0)!=0);return}i=f[a>>2]|0;j=h-i|0;h=j+c|0;if((h|0)<0)um(a);k=e-i|0;i=k<<1;e=k>>>0<1073741823?(i>>>0>>0?h:i):2147483647;if(!e)l=0;else l=bj(e)|0;i=l+j|0;j=l+e|0;e=c;c=i;l=i;do{b[l>>0]=0;l=c+1|0;c=l;e=e+-1|0}while((e|0)!=0);e=f[a>>2]|0;l=(f[g>>2]|0)-e|0;h=i+(0-l)|0;if((l|0)>0)ge(h|0,e|0,l|0)|0;f[a>>2]=h;f[g>>2]=c;f[d>>2]=j;if(!e)return;dn(e);return}function kf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0;d=u;u=u+32|0;c=d;if((h[(f[a+4>>2]|0)+36>>0]<<8&65535)>511?!(Na[f[(f[a>>2]|0)+52>>2]&127](a)|0):0){e=0;u=d;return e|0}f[c>>2]=956;f[c+4>>2]=-1;g=c+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;Mh(c,f[a+24>>2]|0,f[a+28>>2]|0,b[(f[a+8>>2]|0)+24>>0]|0,$(n[a+32>>2]));i=gh(c,f[a+16>>2]|0)|0;f[c>>2]=956;a=f[g>>2]|0;if(a|0){g=c+12|0;c=f[g>>2]|0;if((c|0)!=(a|0))f[g>>2]=c+(~((c+-4-a|0)>>>2)<<2);dn(a)}e=i;u=d;return e|0}function lf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a+4>>2]|0;c=a+8|0;d=f[c>>2]|0;if((d|0)!=(b|0)){e=d;do{f[c>>2]=e+-144;d=f[e+-12>>2]|0;if(d|0){g=e+-8|0;h=f[g>>2]|0;if((h|0)!=(d|0))f[g>>2]=h+(~((h+-4-d|0)>>>2)<<2);dn(d)}d=f[e+-28>>2]|0;if(d|0){h=e+-24|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);dn(d)}d=f[e+-40>>2]|0;if(d|0){g=e+-36|0;h=f[g>>2]|0;if((h|0)!=(d|0))f[g>>2]=h+(~((h+-4-d|0)>>>2)<<2);dn(d)}tf(e+-140|0);e=f[c>>2]|0}while((e|0)!=(b|0))}b=f[a>>2]|0;if(!b)return;dn(b);return}function mf(a){a=a|0;var b=0,c=0,d=0;b=f[a+76>>2]|0;if(b|0){c=a+80|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);dn(b)}b=f[a+64>>2]|0;if(b|0){d=a+68|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;dn(b)}b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);dn(b)}b=f[a+24>>2]|0;if(b|0){c=a+28|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);dn(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);dn(b)}b=f[a>>2]|0;if(!b)return;c=a+4|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);dn(b);return}function nf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=u;u=u+32|0;e=a+12|0;g=a;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=gg(d)|0;if(h>>>0>4294967279)um(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=bj(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){ge(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;h=Sf(c,g,e)|0;if((b[g+11>>0]|0)<0)dn(f[g>>2]|0);if((b[e+11>>0]|0)>=0){u=a;return h|0}dn(f[e>>2]|0);u=a;return h|0}function of(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+16|0;g=e;h=c+11|0;i=b[h>>0]|0;if(i<<24>>24<0)j=f[c+4>>2]|0;else j=i&255;k=j;j=i;while(1){if(j<<24>>24<0)l=f[c>>2]|0;else l=c;f[g>>2]=d;m=tj(l,k+1|0,12304,g)|0;if((m|0)>-1)if(m>>>0>k>>>0)n=m;else break;else n=k<<1|1;hg(c,n,0);k=n;j=b[h>>0]|0}hg(c,m,0);f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];a=0;while(1){if((a|0)==3)break;f[c+(a<<2)>>2]=0;a=a+1|0}u=e;return}function pf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=a+8|0;c=f[b>>2]|0;if((c|0)<0){d=0;return d|0}e=a+4|0;a=f[e>>2]|0;g=a+4|0;h=f[g>>2]|0;i=f[a>>2]|0;j=h-i>>2;k=i;i=h;if(c>>>0<=j>>>0)if(c>>>0>>0?(h=k+(c<<2)|0,(h|0)!=(i|0)):0){f[g>>2]=i+(~((i+-4-h|0)>>>2)<<2);l=c}else l=c;else{ff(a,c-j|0);l=f[b>>2]|0}if((l|0)<=0){d=1;return d|0}b=f[e>>2]|0;e=f[b>>2]|0;j=(f[b+4>>2]|0)-e>>2;c=e;e=0;while(1){if(j>>>0<=e>>>0){m=10;break}f[c+(e<<2)>>2]=e;e=e+1|0;if((e|0)>=(l|0)){d=1;m=12;break}}if((m|0)==10)um(b);else if((m|0)==12)return d|0;return 0}function qf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;b=a+140|0;c=f[b>>2]|0;if((c|0)<=0){d=1;return d|0}e=c<<4;g=an(c>>>0>268435455|e>>>0>4294967291?-1:e+4|0)|0;f[g>>2]=c;e=g+4|0;g=e+(c<<4)|0;c=e;do{Cm(c);c=c+16|0}while((c|0)!=(g|0));g=a+136|0;c=f[g>>2]|0;f[g>>2]=e;if(c|0){e=c+-4|0;h=f[e>>2]|0;if(h|0){i=c+(h<<4)|0;do i=i+-16|0;while((i|0)!=(c|0))}bn(e)}if((f[b>>2]|0)<=0){d=1;return d|0}e=0;while(1){if(!(td((f[g>>2]|0)+(e<<4)|0,a)|0)){d=0;j=13;break}e=e+1|0;if((e|0)>=(f[b>>2]|0)){d=1;j=13;break}}if((j|0)==13)return d|0;return 0}function rf(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=f[a>>2]|0;f[a>>2]=0;if(!c)return;a=f[c+28>>2]|0;if(a|0){d=a;do{a=d;d=f[d>>2]|0;e=a+8|0;rf(a+20|0);if((b[e+11>>0]|0)<0)dn(f[e>>2]|0);dn(a)}while((d|0)!=0)}d=c+20|0;a=f[d>>2]|0;f[d>>2]=0;if(a|0)dn(a);a=f[c+8>>2]|0;if(a|0){d=a;do{a=d;d=f[d>>2]|0;e=a+8|0;g=f[a+20>>2]|0;if(g|0){h=a+24|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;dn(g)}if((b[e+11>>0]|0)<0)dn(f[e>>2]|0);dn(a)}while((d|0)!=0)}d=f[c>>2]|0;f[c>>2]=0;if(d|0)dn(d);dn(c);return}function sf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=$b(a,c)|0;if(!e){g=0;return g|0}c=f[e+20>>2]|0;if(((f[e+24>>2]|0)-c|0)!=8){g=0;return g|0}e=c;c=e;a=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;c=e+4|0;e=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;c=d;d=c;b[d>>0]=a;b[d+1>>0]=a>>8;b[d+2>>0]=a>>16;b[d+3>>0]=a>>24;a=c+4|0;b[a>>0]=e;b[a+1>>0]=e>>8;b[a+2>>0]=e>>16;b[a+3>>0]=e>>24;g=1;return g|0}function tf(a){a=a|0;var b=0,c=0,d=0;b=f[a+84>>2]|0;if(b|0){c=a+88|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);dn(b)}b=f[a+72>>2]|0;if(b|0){d=a+76|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;dn(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);dn(b)}b=f[a+40>>2]|0;if(b|0){c=a+44|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);dn(b)}b=f[a+28>>2]|0;if(b|0){d=a+32|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);dn(b)}b=f[a+12>>2]|0;if(b|0)dn(b);b=f[a>>2]|0;if(!b)return;dn(b);return}function uf(){var a=0,b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;a=u;u=u+48|0;b=a+32|0;c=a+24|0;d=a+16|0;e=a;g=a+36|0;a=ej()|0;if(a|0?(h=f[a>>2]|0,h|0):0){a=h+48|0;i=f[a>>2]|0;j=f[a+4>>2]|0;if(!((i&-256|0)==1126902528&(j|0)==1129074247)){f[c>>2]=12443;zj(12393,c)}if((i|0)==1126902529&(j|0)==1129074247)k=f[h+44>>2]|0;else k=h+80|0;f[g>>2]=k;k=f[h>>2]|0;h=f[k+4>>2]|0;if(Pa[f[(f[194]|0)+16>>2]&31](776,k,g)|0){k=f[g>>2]|0;g=Na[f[(f[k>>2]|0)+8>>2]&127](k)|0;f[e>>2]=12443;f[e+4>>2]=h;f[e+8>>2]=g;zj(12307,e)}else{f[d>>2]=12443;f[d+4>>2]=h;zj(12352,d)}}zj(12431,b)}function vf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;do if(a){if(c>>>0<128){b[a>>0]=c;e=1;break}d=(Zm()|0)+188|0;if(!(f[f[d>>2]>>2]|0))if((c&-128|0)==57216){b[a>>0]=c;e=1;break}else{d=ln()|0;f[d>>2]=84;e=-1;break}if(c>>>0<2048){b[a>>0]=c>>>6|192;b[a+1>>0]=c&63|128;e=2;break}if(c>>>0<55296|(c&-8192|0)==57344){b[a>>0]=c>>>12|224;b[a+1>>0]=c>>>6&63|128;b[a+2>>0]=c&63|128;e=3;break}if((c+-65536|0)>>>0<1048576){b[a>>0]=c>>>18|240;b[a+1>>0]=c>>>12&63|128;b[a+2>>0]=c>>>6&63|128;b[a+3>>0]=c&63|128;e=4;break}else{d=ln()|0;f[d>>2]=84;e=-1;break}}else e=1;while(0);return e|0}function wf(a){a=a|0;var b=0,c=0,d=0;b=f[a+92>>2]|0;if(b|0){c=a+96|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);dn(b)}b=f[a+76>>2]|0;if(b|0){d=a+80|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);dn(b)}b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);dn(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);dn(b)}f[a+4>>2]=2420;b=f[a+24>>2]|0;if(b|0)dn(b);b=f[a+12>>2]|0;if(!b)return;dn(b);return}function xf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=e>>2;h=g+1|0;if(h>>>0>1073741823)um(a);i=a+8|0;j=(f[i>>2]|0)-d|0;k=j>>1;l=j>>2>>>0<536870911?(k>>>0>>0?h:k):1073741823;do if(l)if(l>>>0>1073741823){k=ra(8)|0;Yk(k,9789);f[k>>2]=3704;va(k|0,856,80)}else{k=bj(l<<2)|0;m=k;n=k;break}else{m=0;n=0}while(0);k=m+(g<<2)|0;f[k>>2]=f[b>>2];if((e|0)>0)ge(n|0,d|0,e|0)|0;f[a>>2]=m;f[c>>2]=k+4;f[i>>2]=m+(l<<2);if(!d)return;dn(d);return}function yf(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2464;b=a+84|0;c=a+4|0;d=c+80|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+88>>2]=-1;f[a+92>>2]=-1;b=a+152|0;c=a+96|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));n[b>>2]=$(1.0);b=a+224|0;c=a+156|0;d=c+68|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));Gi(b);b=a+372|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[a+392>>2]=-1;f[a+396>>2]=-1;f[a+400>>2]=2;f[a+404>>2]=7;b=a+408|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;return}function zf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0;a=u;u=u+32|0;e=a;g=a+8|0;p[e>>3]=0.0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=gg(d)|0;if(h>>>0>4294967279)um(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=bj(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){ge(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;sf(c,g,e)|0;n=+p[e>>3];if((b[g+11>>0]|0)>=0){u=a;return +n}dn(f[g>>2]|0);u=a;return +n}function Af(a,c,d,e){a=a|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,o=0,p=0;g=u;u=u+128|0;h=g+124|0;i=g;j=i;k=3084;l=j+124|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));if((c+-1|0)>>>0>2147483646)if(!c){m=h;n=1;o=4}else{h=ln()|0;f[h>>2]=75;p=-1}else{m=a;n=c;o=4}if((o|0)==4){o=-2-m|0;c=n>>>0>o>>>0?o:n;f[i+48>>2]=c;n=i+20|0;f[n>>2]=m;f[i+44>>2]=m;o=m+c|0;m=i+16|0;f[m>>2]=o;f[i+28>>2]=o;o=ye(i,d,e)|0;if(!c)p=o;else{c=f[n>>2]|0;b[c+(((c|0)==(f[m>>2]|0))<<31>>31)>>0]=0;p=o}}u=g;return p|0}function Bf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=u;u=u+16|0;e=a+12|0;g=a;f[e>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=gg(d)|0;if(h>>>0>4294967279)um(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=bj(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){ge(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;cg(c,g,e)|0;c=f[e>>2]|0;if((b[g+11>>0]|0)>=0){u=a;return c|0}dn(f[g>>2]|0);u=a;return c|0}function Cf(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=f[a+28>>2]|0;if(c|0){d=c;do{c=d;d=f[d>>2]|0;e=c+8|0;g=c+20|0;h=f[g>>2]|0;f[g>>2]=0;if(h|0){Cf(h);dn(h)}if((b[e+11>>0]|0)<0)dn(f[e>>2]|0);dn(c)}while((d|0)!=0)}d=a+20|0;c=f[d>>2]|0;f[d>>2]=0;if(c|0)dn(c);c=f[a+8>>2]|0;if(c|0){d=c;do{c=d;d=f[d>>2]|0;e=c+8|0;h=f[c+20>>2]|0;if(h|0){g=c+24|0;if((f[g>>2]|0)!=(h|0))f[g>>2]=h;dn(h)}if((b[e+11>>0]|0)<0)dn(f[e>>2]|0);dn(c)}while((d|0)!=0)}d=f[a>>2]|0;f[a>>2]=0;if(!d)return;dn(d);return}function Df(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=u;u=u+32|0;e=a;g=a+8|0;p[e>>3]=0.0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=gg(d)|0;if(h>>>0>4294967279)um(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=bj(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){ge(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;h=sf(c,g,e)|0;if((b[g+11>>0]|0)>=0){u=a;return h|0}dn(f[g>>2]|0);u=a;return h|0}function Ef(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=u;u=u+16|0;e=a+12|0;g=a;f[e>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=gg(d)|0;if(h>>>0>4294967279)um(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=bj(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){ge(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;h=cg(c,g,e)|0;if((b[g+11>>0]|0)>=0){u=a;return h|0}dn(f[g>>2]|0);u=a;return h|0}function Ff(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=c+8|0;e=f[d+4>>2]|0;g=c+16|0;h=g;i=f[h>>2]|0;j=f[h+4>>2]|0;if(!((e|0)>(j|0)|((e|0)==(j|0)?(f[d>>2]|0)>>>0>i>>>0:0))){k=0;return k|0}d=b[(f[c>>2]|0)+i>>0]|0;e=Rj(i|0,j|0,1,0)|0;j=g;f[j>>2]=e;f[j+4>>2]=I;do if(d<<24>>24<0)if(Ff(a,c)|0){j=a;e=Oj(f[j>>2]|0,f[j+4>>2]|0,7)|0;j=I;g=a;f[g>>2]=e;f[g+4>>2]=j;l=e|d&127;m=j;break}else{k=0;return k|0}else{l=d&255;m=0}while(0);d=a;f[d>>2]=l;f[d+4>>2]=m;k=1;return k|0}function Gf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;if(b>>>0>1431655765|(c|b|0)<0){d=0;return d|0}e=b*3|0;sd(a,e,2656);sd(a+12|0,e,2652);Eg(a+24|0,c);c=a+76|0;e=f[c>>2]|0;b=a+80|0;g=f[b>>2]|0;if((g|0)!=(e|0))f[b>>2]=g+(~((g+-4-e|0)>>>2)<<2);f[c>>2]=0;f[b>>2]=0;f[a+84>>2]=0;if(e|0)dn(e);e=a+64|0;b=f[e>>2]|0;c=a+68|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;f[e>>2]=0;f[c>>2]=0;f[a+72>>2]=0;if(!b){d=1;return d|0}dn(b);d=1;return d|0}function Hf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+48|0;g=e+4|0;h=e;if((d|0)!=1){f[a>>2]=0;u=e;return}d=f[b+12>>2]|0;i=f[b+4>>2]|0;b=g;j=b+36|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(j|0));Ie(h,c,d,i,g);i=f[g+24>>2]|0;if(i|0){d=g+28|0;g=f[d>>2]|0;if((g|0)!=(i|0))f[d>>2]=g+(~((g+-4-i|0)>>>2)<<2);dn(i)}f[a>>2]=f[h>>2];u=e;return}function If(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+16|0;a=f[b>>2]|0;f[b>>2]=0;b=f[c>>2]|0;f[c>>2]=a;if(!b)return;a=b+88|0;c=f[a>>2]|0;f[a>>2]=0;if(c|0){a=f[c+8>>2]|0;if(a|0){d=c+12|0;if((f[d>>2]|0)!=(a|0))f[d>>2]=a;dn(a)}dn(c)}c=f[b+68>>2]|0;if(c|0){a=b+72|0;d=f[a>>2]|0;if((d|0)!=(c|0))f[a>>2]=d+(~((d+-4-c|0)>>>2)<<2);dn(c)}c=b+64|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d>>2]|0;if(c|0){a=d+4|0;if((f[a>>2]|0)!=(c|0))f[a>>2]=c;dn(c)}dn(d)}dn(b);return}function Jf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+16|0;g=e;if(c|0){h=a+11|0;i=b[h>>0]|0;if(i<<24>>24<0){j=f[a+4>>2]|0;k=(f[a+8>>2]&2147483647)+-1|0}else{j=i&255;k=10}if((k-j|0)>>>0>>0){Zf(a,k,c-k+j|0,j,j,0,0);l=b[h>>0]|0}else l=i;if(l<<24>>24<0)m=f[a>>2]|0;else m=a;Mj(m+j|0,c,d)|0;d=j+c|0;if((b[h>>0]|0)<0)f[a+4>>2]=d;else b[h>>0]=d;b[g>>0]=0;Rl(m+d|0,g)}u=e;return a|0}function Kf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+16|0;g=e;h=a+11|0;i=b[h>>0]|0;j=i<<24>>24<0;if(j)k=(f[a+8>>2]&2147483647)+-1|0;else k=10;do if(k>>>0>=d>>>0){if(j)l=f[a>>2]|0;else l=a;Mk(l,c,d)|0;b[g>>0]=0;Rl(l+d|0,g);if((b[h>>0]|0)<0){f[a+4>>2]=d;break}else{b[h>>0]=d;break}}else{if(j)m=f[a+4>>2]|0;else m=i&255;ef(a,k,d-k|0,m,0,m,d,c)}while(0);u=e;return a|0}function Lf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=2236;b=a+48|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Sa[f[(f[c>>2]|0)+4>>2]&127](c);f[a>>2]=2616;c=f[a+20>>2]|0;if(c|0){b=a+24|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);dn(c)}c=a+8|0;d=f[c>>2]|0;if(!d){dn(a);return}b=a+12|0;e=f[b>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[b>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0)Sa[f[(f[i>>2]|0)+4>>2]&127](i);h=f[b>>2]|0}while((h|0)!=(d|0));g=f[c>>2]|0}dn(g);dn(a);return}function Mf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0;d=u;u=u+80|0;e=d;g=d+56|0;i=d+40|0;j=e;k=c;c=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(c|0));Hb(i,e,g);e=f[i>>2]|0;if(!e){k=i+4|0;if((b[k+11>>0]|0)<0)dn(f[k>>2]|0);k=h[g+7>>0]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=k;u=d;return}else{f[a>>2]=e;e=i+4|0;Rf(a+4|0,e);if((b[e+11>>0]|0)<0)dn(f[e>>2]|0);u=d;return}}function Nf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;d=f[a>>2]|0;if(!d){e=0;return e|0}g=f[c>>2]|0;if(!g){e=0;return e|0}h=f[g>>2]|0;Xf(d,h,(f[g+4>>2]|0)-h|0,0)|0;b[a+24>>0]=b[c+24>>0]|0;f[a+28>>2]=f[c+28>>2];b[a+32>>0]=b[c+32>>0]|0;h=c+40|0;g=f[h+4>>2]|0;d=a+40|0;f[d>>2]=f[h>>2];f[d+4>>2]=g;g=c+48|0;d=f[g+4>>2]|0;h=a+48|0;f[h>>2]=f[g>>2];f[h+4>>2]=d;f[a+56>>2]=f[c+56>>2];d=c+8|0;c=a+8|0;f[c>>2]=f[d>>2];f[c+4>>2]=f[d+4>>2];f[c+8>>2]=f[d+8>>2];f[c+12>>2]=f[d+12>>2];e=1;return e|0}function Of(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+4|0;if((Na[f[(f[b>>2]|0)+20>>2]&127](b)|0)<=0){d=1;return d|0}a=0;while(1){e=f[(f[c>>2]|0)+4>>2]|0;g=ki(e,Oa[f[(f[b>>2]|0)+24>>2]&127](b,a)|0)|0;if((g|0)==-1){d=0;h=6;break}e=f[(f[b>>2]|0)+28>>2]|0;i=sh(f[c>>2]|0,g)|0;a=a+1|0;if(!(Oa[e&127](b,i)|0)){d=0;h=6;break}if((a|0)>=(Na[f[(f[b>>2]|0)+20>>2]&127](b)|0)){d=1;h=6;break}}if((h|0)==6)return d|0;return 0}function Pf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=2236;b=a+48|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Sa[f[(f[c>>2]|0)+4>>2]&127](c);f[a>>2]=2616;c=f[a+20>>2]|0;if(c|0){b=a+24|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);dn(c)}c=a+8|0;d=f[c>>2]|0;if(!d)return;b=a+12|0;a=f[b>>2]|0;if((a|0)==(d|0))e=d;else{g=a;do{a=g+-4|0;f[b>>2]=a;h=f[a>>2]|0;f[a>>2]=0;if(h|0)Sa[f[(f[h>>2]|0)+4>>2]&127](h);g=f[b>>2]|0}while((g|0)!=(d|0));e=f[c>>2]|0}dn(e);return}function Qf(a,c,d,e){a=a|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;if(!a){g=1;return g|0}h=d+8|0;i=f[h+4>>2]|0;j=d+16|0;k=j;l=f[k>>2]|0;m=f[k+4>>2]|0;if(!((i|0)>(m|0)|((i|0)==(m|0)?(f[h>>2]|0)>>>0>l>>>0:0))){g=0;return g|0}h=b[(f[d>>2]|0)+l>>0]|0;i=Rj(l|0,m|0,1,0)|0;m=j;f[m>>2]=i;f[m+4>>2]=I;switch(h<<24>>24){case 0:{g=fc(a,c,d,e)|0;return g|0}case 1:{g=yc(a,d,e)|0;return g|0}default:{g=0;return g|0}}return 0}function Rf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;if((b[c+11>>0]|0)<0){g=f[c>>2]|0;h=f[c+4>>2]|0;if(h>>>0>4294967279)um(a);if(h>>>0<11){b[a+11>>0]=h;i=a}else{j=h+16&-16;k=bj(j)|0;f[a>>2]=k;f[a+8>>2]=j|-2147483648;f[a+4>>2]=h;i=k}Ok(i,g,h)|0;b[e>>0]=0;Rl(i+h|0,e)}else{f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2]}u=d;return}function Sf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=$b(a,b)|0;if(!d){e=0;return e|0}b=d+20|0;a=f[b>>2]|0;g=d+24|0;d=f[g>>2]|0;if((a|0)==(d|0)){e=0;return e|0}hg(c,d-a|0,0);a=Jh(c,0)|0;c=f[b>>2]|0;ge(a|0,c|0,(f[g>>2]|0)-c|0)|0;e=1;return e|0}function Tf(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0;b[c+53>>0]=1;do if((f[c+4>>2]|0)==(e|0)){b[c+52>>0]=1;a=c+16|0;h=f[a>>2]|0;if(!h){f[a>>2]=d;f[c+24>>2]=g;f[c+36>>2]=1;if(!((g|0)==1?(f[c+48>>2]|0)==1:0))break;b[c+54>>0]=1;break}if((h|0)!=(d|0)){h=c+36|0;f[h>>2]=(f[h>>2]|0)+1;b[c+54>>0]=1;break}h=c+24|0;a=f[h>>2]|0;if((a|0)==2){f[h>>2]=g;i=g}else i=a;if((i|0)==1?(f[c+48>>2]|0)==1:0)b[c+54>>0]=1}while(0);return}function Uf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;f[a>>2]=c;f[a+68>>2]=0;f[a+72>>2]=0;$c(e,c);g=a+4|0;h=f[e>>2]|0;f[e>>2]=0;i=f[g>>2]|0;f[g>>2]=h;if(!i){f[e>>2]=0;j=h}else{mf(i);dn(i);i=f[e>>2]|0;f[e>>2]=0;if(i|0){mf(i);dn(i)}j=f[g>>2]|0}if(!j){k=0;u=d;return k|0}j=((f[c+100>>2]|0)-(f[c+96>>2]|0)|0)/12|0;b[e>>0]=0;le(a+56|0,j,e);k=1;u=d;return k|0}function Vf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;e=a+d|0;c=c&255;if((d|0)>=67){while(a&3){b[a>>0]=c;a=a+1|0}g=e&-4|0;h=g-64|0;i=c|c<<8|c<<16|c<<24;while((a|0)<=(h|0)){f[a>>2]=i;f[a+4>>2]=i;f[a+8>>2]=i;f[a+12>>2]=i;f[a+16>>2]=i;f[a+20>>2]=i;f[a+24>>2]=i;f[a+28>>2]=i;f[a+32>>2]=i;f[a+36>>2]=i;f[a+40>>2]=i;f[a+44>>2]=i;f[a+48>>2]=i;f[a+52>>2]=i;f[a+56>>2]=i;f[a+60>>2]=i;a=a+64|0}while((a|0)<(g|0)){f[a>>2]=i;a=a+4|0}}while((a|0)<(e|0)){b[a>>0]=c;a=a+1|0}return e-d|0}function Wf(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;do if(!(zl(a,f[c+8>>2]|0,g)|0)){if(zl(a,f[c>>2]|0,g)|0){if((f[c+16>>2]|0)!=(d|0)?(h=c+20|0,(f[h>>2]|0)!=(d|0)):0){f[c+32>>2]=e;f[h>>2]=d;h=c+40|0;f[h>>2]=(f[h>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0)b[c+54>>0]=1;f[c+44>>2]=4;break}if((e|0)==1)f[c+32>>2]=1}}else Ui(0,c,d,e);while(0);return}function Xf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;if((d|0)<0){e=0;return e|0}do if(!b){d=a+4|0;g=f[d>>2]|0;h=f[a>>2]|0;i=g-h|0;if(i>>>0>>0){jf(a,c-i|0);break}if(i>>>0>c>>>0?(i=h+c|0,(i|0)!=(g|0)):0)f[d>>2]=i}else Jd(a,b,b+c|0);while(0);c=a+24|0;a=c;b=Rj(f[a>>2]|0,f[a+4>>2]|0,1,0)|0;a=c;f[a>>2]=b;f[a+4>>2]=I;e=1;return e|0}function Yf(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1040;b=a+16|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;b=a+88|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=f[c+8>>2]|0;if(b|0){d=c+12|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;dn(b)}dn(c)}c=f[a+68>>2]|0;if(c|0){b=a+72|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);dn(c)}c=a+64|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d>>2]|0;if(c|0){b=d+4|0;if((f[b>>2]|0)!=(c|0))f[b>>2]=c;dn(c)}dn(d)}dn(a);return}function Zf(a,c,d,e,g,h,i){a=a|0;c=c|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;if((-17-c|0)>>>0>>0)um(a);if((b[a+11>>0]|0)<0)j=f[a>>2]|0;else j=a;if(c>>>0<2147483623){k=d+c|0;d=c<<1;l=k>>>0>>0?d:k;m=l>>>0<11?11:l+16&-16}else m=-17;l=bj(m)|0;if(g|0)Ok(l,j,g)|0;k=e-h-g|0;if(k|0)Ok(l+g+i|0,j+g+h|0,k)|0;if((c|0)!=10)dn(j);f[a>>2]=l;f[a+8>>2]=m|-2147483648;return}function _f(a,b){a=a|0;b=b|0;if(!b)return;else{_f(a,f[b>>2]|0);_f(a,f[b+4>>2]|0);eg(b+20|0,f[b+24>>2]|0);dn(b);return}}function $f(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=a+64|0;if((f[d>>2]|0)==0?(e=bj(32)|0,oj(e),g=f[d>>2]|0,f[d>>2]=e,g|0):0){e=f[g>>2]|0;if(e|0){h=g+4|0;if((f[h>>2]|0)!=(e|0))f[h>>2]=e;dn(e)}dn(g)}g=ai(f[a+28>>2]|0)|0;e=X(g,b[a+24>>0]|0)|0;g=((e|0)<0)<<31>>31;h=f[d>>2]|0;i=gj(e|0,g|0,c|0,0)|0;if(!(Xf(h,0,i,I)|0)){j=0;return j|0}Vg(a,f[d>>2]|0,e,g,0,0);f[a+80>>2]=c;j=1;return j|0}function ag(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+32|0;g=e+20|0;h=e+16|0;i=e;j=b[a+24>>0]|0;f[i>>2]=f[226];f[i+4>>2]=f[227];f[i+8>>2]=f[228];f[i+12>>2]=f[229];f[h>>2]=c;f[g>>2]=f[h>>2];if(!(bb(a,g,j,i)|0)){k=0;u=e;return k|0}pd(d,i,i+(j<<24>>24<<2)|0);k=1;u=e;return k|0}function bg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+64|0;e=d;if(!(zl(a,b,0)|0))if((b|0)!=0?(g=De(b,800,784,0)|0,(g|0)!=0):0){b=e+4|0;h=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(h|0));f[e>>2]=g;f[e+8>>2]=a;f[e+12>>2]=-1;f[e+48>>2]=1;Va[f[(f[g>>2]|0)+28>>2]&7](g,e,f[c>>2]|0,1);if((f[e+24>>2]|0)==1){f[c>>2]=f[e+16>>2];i=1}else i=0;j=i}else j=0;else j=1;u=d;return j|0}function cg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=$b(a,c)|0;if(!e){g=0;return g|0}c=f[e+20>>2]|0;if(((f[e+24>>2]|0)-c|0)!=4){g=0;return g|0}e=c;c=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[d>>0]=c;b[d+1>>0]=c>>8;b[d+2>>0]=c>>16;b[d+3>>0]=c>>24;g=1;return g|0}function dg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=c+8|0;e=f[d+4>>2]|0;g=c+16|0;h=g;i=f[h>>2]|0;j=f[h+4>>2]|0;if(!((e|0)>(j|0)|((e|0)==(j|0)?(f[d>>2]|0)>>>0>i>>>0:0))){k=0;return k|0}d=b[(f[c>>2]|0)+i>>0]|0;e=Rj(i|0,j|0,1,0)|0;j=g;f[j>>2]=e;f[j+4>>2]=I;j=d&255;do if(j&128)if(dg(a,c)|0){e=f[a>>2]<<7;f[a>>2]=e;l=e|d&127;break}else{k=0;return k|0}else l=j;while(0);f[a>>2]=l;k=1;return k|0}function eg(a,c){a=a|0;c=c|0;var d=0;if(!c)return;eg(a,f[c>>2]|0);eg(a,f[c+4>>2]|0);a=c+16|0;d=c+28|0;if((b[d+11>>0]|0)<0)dn(f[d>>2]|0);if((b[a+11>>0]|0)<0)dn(f[a>>2]|0);dn(c);return}function fg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=2616;b=f[a+20>>2]|0;if(b|0){c=a+24|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);dn(b)}b=a+8|0;d=f[b>>2]|0;if(!d){dn(a);return}c=a+12|0;e=f[c>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[c>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0)Sa[f[(f[i>>2]|0)+4>>2]&127](i);h=f[c>>2]|0}while((h|0)!=(d|0));g=f[b>>2]|0}dn(g);dn(a);return}function gg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a;a:do if(!(c&3)){d=a;e=4}else{g=a;h=c;while(1){if(!(b[g>>0]|0)){i=h;break a}j=g+1|0;h=j;if(!(h&3)){d=j;e=4;break}else g=j}}while(0);if((e|0)==4){e=d;while(1){k=f[e>>2]|0;if(!((k&-2139062144^-2139062144)&k+-16843009))e=e+4|0;else break}if(!((k&255)<<24>>24))l=e;else{k=e;while(1){e=k+1|0;if(!(b[e>>0]|0)){l=e;break}else k=e}}i=l}return i-c|0}function hg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e;h=a+11|0;i=b[h>>0]|0;j=i<<24>>24<0;if(j)k=f[a+4>>2]|0;else k=i&255;do if(k>>>0>=c>>>0)if(j){i=(f[a>>2]|0)+c|0;b[g>>0]=0;Rl(i,g);f[a+4>>2]=c;break}else{b[g>>0]=0;Rl(a+c|0,g);b[h>>0]=c;break}else Jf(a,c-k|0,d)|0;while(0);u=e;return}function ig(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=a+88|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=f[c+8>>2]|0;if(b|0){d=c+12|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;dn(b)}dn(c)}c=f[a+68>>2]|0;if(c|0){b=a+72|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);dn(c)}c=a+64|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d>>2]|0;if(c|0){b=d+4|0;if((f[b>>2]|0)!=(c|0))f[b>>2]=c;dn(c)}dn(d)}dn(a);return}function jg(a,c,d,e,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|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;f[a>>2]=d;if(d|0){m=d+16|0;n=f[m+4>>2]|0;o=a+8|0;f[o>>2]=f[m>>2];f[o+4>>2]=n;n=d+24|0;d=f[n+4>>2]|0;o=a+16|0;f[o>>2]=f[n>>2];f[o+4>>2]=d}b[a+24>>0]=e;f[a+28>>2]=g;b[a+32>>0]=h&1;h=a+40|0;f[h>>2]=i;f[h+4>>2]=j;j=a+48|0;f[j>>2]=k;f[j+4>>2]=l;f[a+56>>2]=c;return}function kg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=bj(88)|0;d=c+60|0;e=c;g=e+60|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[d>>2]=c;d=c+64|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;d=vd(c,b)|0;f[a>>2]=d?c:0;a=d?0:c;if(d)return;mf(a);dn(a);return}function lg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;if((f[c+76>>2]|0)>=0?(jn(c)|0)!=0:0){d=a&255;e=a&255;if((e|0)!=(b[c+75>>0]|0)?(g=c+20|0,h=f[g>>2]|0,h>>>0<(f[c+16>>2]|0)>>>0):0){f[g>>2]=h+1;b[h>>0]=d;i=e}else i=mg(c,a)|0;hn(c);j=i}else k=3;do if((k|0)==3){i=a&255;e=a&255;if((e|0)!=(b[c+75>>0]|0)?(d=c+20|0,h=f[d>>2]|0,h>>>0<(f[c+16>>2]|0)>>>0):0){f[d>>2]=h+1;b[h>>0]=i;j=e;break}j=mg(c,a)|0}while(0);return j|0}function mg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;d=u;u=u+16|0;e=d;g=c&255;b[e>>0]=g;i=a+16|0;j=f[i>>2]|0;if(!j)if(!(Gh(a)|0)){k=f[i>>2]|0;l=4}else m=-1;else{k=j;l=4}do if((l|0)==4){j=a+20|0;i=f[j>>2]|0;if(i>>>0>>0?(n=c&255,(n|0)!=(b[a+75>>0]|0)):0){f[j>>2]=i+1;b[i>>0]=g;m=n;break}if((Pa[f[a+36>>2]&31](a,e,1)|0)==1)m=h[e>>0]|0;else m=-1}while(0);u=d;return m|0}function ng(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d;g=d+4|0;f[e>>2]=c;c=bj(32)|0;f[g>>2]=c;f[g+8>>2]=-2147483616;f[g+4>>2]=24;h=c;i=8408;j=h+24|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[c+24>>0]=0;rg(Ub(a,e)|0,g,1);if((b[g+11>>0]|0)>=0){u=d;return}dn(f[g>>2]|0);u=d;return}function og(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=2616;b=f[a+20>>2]|0;if(b|0){c=a+24|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);dn(b)}b=a+8|0;d=f[b>>2]|0;if(!d)return;c=a+12|0;a=f[c>>2]|0;if((a|0)==(d|0))e=d;else{g=a;do{a=g+-4|0;f[c>>2]=a;h=f[a>>2]|0;f[a>>2]=0;if(h|0)Sa[f[(f[h>>2]|0)+4>>2]&127](h);g=f[c>>2]|0}while((g|0)!=(d|0));e=f[b>>2]|0}dn(e);return}function pg(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;if(c>>>0>0|(c|0)==0&a>>>0>4294967295){e=d;f=a;g=c;while(1){c=$i(f|0,g|0,10,0)|0;e=e+-1|0;b[e>>0]=c&255|48;c=f;f=Fl(f|0,g|0,10,0)|0;if(!(g>>>0>9|(g|0)==9&c>>>0>4294967295))break;else g=I}h=f;i=e}else{h=a;i=d}if(!h)j=i;else{d=h;h=i;while(1){i=h+-1|0;b[i>>0]=(d>>>0)%10|0|48;if(d>>>0<10){j=i;break}else{d=(d>>>0)/10|0;h=i}}}return j|0}function qg(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;c=a;while(1){d=c+1|0;if(!(wm(b[c>>0]|0)|0))break;else c=d}a=b[c>>0]|0;switch(a<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:{g=0;h=c;i=a}}if((f|0)==5){g=e;h=d;i=b[d>>0]|0}if(!(Om(i<<24>>24)|0))j=0;else{i=0;d=h;while(1){h=(i*10|0)+48-(b[d>>0]|0)|0;d=d+1|0;if(!(Om(b[d>>0]|0)|0)){j=h;break}else i=h}}return (g|0?j:0-j|0)|0}function rg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;vh(g,d&1);d=df(a,c)|0;c=d+11|0;if((b[c>>0]|0)<0){b[f[d>>2]>>0]=0;f[d+4>>2]=0}else{b[d>>0]=0;b[c>>0]=0}fe(d,0);f[d>>2]=f[g>>2];f[d+4>>2]=f[g+4>>2];f[d+8>>2]=f[g+8>>2];u=e;return}function sg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1628;b=f[a+96>>2]|0;if(b|0)dn(b);b=f[a+84>>2]|0;if(b|0)dn(b);b=f[a+72>>2]|0;if(b|0)dn(b);b=f[a+60>>2]|0;if(b|0)dn(b);f[a>>2]=1208;b=f[a+32>>2]|0;if(!b){dn(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);dn(b);dn(a);return}function tg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=Vd(a,c)|0;if((e|0)==(a+4|0)){g=-1;h=(g|0)==-1;i=(g|0)!=0;j=h?d:i;return j|0}a=e+28|0;if((b[a+11>>0]|0)<0)k=f[a>>2]|0;else k=a;g=qg(k)|0;h=(g|0)==-1;i=(g|0)!=0;j=h?d:i;return j|0}function ug(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1376;b=f[a+96>>2]|0;if(b|0)dn(b);b=f[a+84>>2]|0;if(b|0)dn(b);b=f[a+72>>2]|0;if(b|0)dn(b);b=f[a+60>>2]|0;if(b|0)dn(b);f[a>>2]=1208;b=f[a+32>>2]|0;if(!b){dn(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);dn(b);dn(a);return}function vg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0;d=0;while(1){if((h[10412+d>>0]|0)==(a|0)){e=2;break}g=d+1|0;if((g|0)==87){i=10500;j=87;e=5;break}else d=g}if((e|0)==2)if(!d)k=10500;else{i=10500;j=d;e=5}if((e|0)==5)while(1){e=0;d=i;do{a=d;d=d+1|0}while((b[a>>0]|0)!=0);j=j+-1|0;if(!j){k=d;break}else{i=d;e=5}}return Bm(k,f[c+20>>2]|0)|0}function wg(a,b){a=+a;b=b|0;var c=0,d=0,e=0,g=0.0,h=0.0,i=0,j=0.0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;e=Uj(c|0,d|0,52)|0;switch(e&2047){case 0:{if(a!=0.0){g=+wg(a*18446744073709551616.0,b);h=g;i=(f[b>>2]|0)+-64|0}else{h=a;i=0}f[b>>2]=i;j=h;break}case 2047:{j=a;break}default:{f[b>>2]=(e&2047)+-1022;f[s>>2]=c;f[s+4>>2]=d&-2146435073|1071644672;j=+p[s>>3]}}return +j}function xg(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;e=u;u=u+16|0;d=e;c=bj(32)|0;f[d>>2]=c;f[d+8>>2]=-2147483616;f[d+4>>2]=26;g=c;h=8360;i=g+26|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));b[c+26>>0]=0;f[a>>2]=-1;Rf(a+4|0,d);if((b[d+11>>0]|0)>=0){u=e;return}dn(f[d>>2]|0);u=e;return}function yg(a){a=a|0;var b=0,c=0;f[a>>2]=1628;b=f[a+96>>2]|0;if(b|0)dn(b);b=f[a+84>>2]|0;if(b|0)dn(b);b=f[a+72>>2]|0;if(b|0)dn(b);b=f[a+60>>2]|0;if(b|0)dn(b);f[a>>2]=1208;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);dn(b);return}function zg(a){a=a|0;var b=0,c=0;f[a>>2]=1376;b=f[a+96>>2]|0;if(b|0)dn(b);b=f[a+84>>2]|0;if(b|0)dn(b);b=f[a+72>>2]|0;if(b|0)dn(b);b=f[a+60>>2]|0;if(b|0)dn(b);f[a>>2]=1208;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);dn(b);return}function Ag(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2296;b=a+84|0;c=a+4|0;d=c+80|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+88>>2]=-1;f[a+92>>2]=-1;b=a+152|0;c=a+96|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));n[b>>2]=$(1.0);b=a+224|0;c=a+156|0;d=c+68|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));Gi(b);return}function Bg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;c=a+4|0;f[c>>2]=0;f[a+8>>2]=0;d=b+4|0;e=(f[d>>2]|0)-(f[b>>2]|0)|0;g=e>>2;if(!g)return;if(g>>>0>1073741823)um(a);h=bj(e)|0;f[c>>2]=h;f[a>>2]=h;f[a+8>>2]=h+(g<<2);g=f[b>>2]|0;b=(f[d>>2]|0)-g|0;if((b|0)<=0)return;ge(h|0,g|0,b|0)|0;f[c>>2]=h+(b>>>2<<2);return}function Cg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;a=f[b+4>>2]|0;if(!a){d=0;return d|0}e=f[(f[(f[b+8>>2]|0)+(c<<2)>>2]|0)+60>>2]|0;c=f[a+40>>2]|0;b=f[a+44>>2]|0;if((c|0)==(b|0)){d=0;return d|0}else g=c;while(1){c=f[g>>2]|0;g=g+4|0;if((f[c+40>>2]|0)==(e|0)){d=c;h=5;break}if((g|0)==(b|0)){d=0;h=5;break}}if((h|0)==5)return d|0;return 0}function Dg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=Na[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((c|0)<=0){d=1;return d|0}e=a+36|0;g=a+48|0;a=0;while(1){h=f[(f[e>>2]|0)+(a<<2)>>2]|0;a=a+1|0;if(!(Pa[f[(f[h>>2]|0)+20>>2]&31](h,g,b)|0)){d=0;i=5;break}if((a|0)>=(c|0)){d=1;i=5;break}}if((i|0)==5)return d|0;return 0}function Eg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=a+8|0;d=f[a>>2]|0;if((f[c>>2]|0)-d>>2>>>0>=b>>>0)return;e=a+4|0;if(b>>>0>1073741823){g=ra(8)|0;Yk(g,9789);f[g>>2]=3704;va(g|0,856,80)}g=(f[e>>2]|0)-d|0;h=bj(b<<2)|0;if((g|0)>0)ge(h|0,d|0,g|0)|0;f[a>>2]=h;f[e>>2]=h+(g>>2<<2);f[c>>2]=h+(b<<2);if(!d)return;dn(d);return}function Fg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;switch(c<<24>>24){case 0:{c=bj(20)|0;dk(c);d=c;break}case 1:{c=bj(24)|0;Dk(c);d=c;break}case 2:{c=bj(36)|0;pj(c);d=c;break}case 3:{c=bj(28)|0;vk(c);d=c;break}default:d=0}f[a>>2]=d;return}function Gg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=Na[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((c|0)<=0){d=1;return d|0}e=a+36|0;g=a+48|0;a=0;while(1){h=f[(f[e>>2]|0)+(a<<2)>>2]|0;a=a+1|0;if(!(Pa[f[(f[h>>2]|0)+16>>2]&31](h,g,b)|0)){d=0;i=5;break}if((a|0)>=(c|0)){d=1;i=5;break}}if((i|0)==5)return d|0;return 0}function Hg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=f[b>>2]|0;if(!c){d=0;return d|0}e=a+44|0;g=f[e>>2]|0;if(g>>>0<(f[a+48>>2]|0)>>>0){f[b>>2]=0;f[g>>2]=c;f[e>>2]=(f[e>>2]|0)+4;d=1;return d|0}else{Zd(a+40|0,b);d=1;return d|0}return 0}function Ig(a){a=a|0;var b=0;if(!(f[a+44>>2]|0)){b=0;return b|0}if(!(f[a+48>>2]|0)){b=0;return b|0}if(!(f[a+24>>2]|0)){b=0;return b|0}if(!(f[a+28>>2]|0)){b=0;return b|0}if(!(f[a+32>>2]|0)){b=0;return b|0}if(!(f[a+36>>2]|0)){b=0;return b|0}b=(f[a+72>>2]|0)!=-1;return b|0}function Jg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2348;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);dn(b)}f[a+12>>2]=2372;b=f[a+32>>2]|0;if(b|0)dn(b);b=f[a+20>>2]|0;if(!b){dn(a);return}dn(b);dn(a);return}function Kg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0;f[c>>2]=2;d=a+4|0;a=c+8|0;e=f[a>>2]|0;g=(f[c+12>>2]|0)-e|0;if(g>>>0<4294967292){Xg(a,g+4|0,0);i=f[a>>2]|0}else i=e;e=i+g|0;g=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[e>>0]=g;b[e+1>>0]=g>>8;b[e+2>>0]=g>>16;b[e+3>>0]=g>>24;return}function Lg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2440;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);dn(b)}f[a+12>>2]=2420;b=f[a+32>>2]|0;if(b|0)dn(b);b=f[a+20>>2]|0;if(!b){dn(a);return}dn(b);dn(a);return}function Mg(a){a=a|0;var b=0;if(!(f[a+64>>2]|0)){b=0;return b|0}if(!(f[a+68>>2]|0)){b=0;return b|0}if(!(f[a+44>>2]|0)){b=0;return b|0}if(!(f[a+48>>2]|0)){b=0;return b|0}if(!(f[a+52>>2]|0)){b=0;return b|0}if(!(f[a+56>>2]|0)){b=0;return b|0}b=(f[a+92>>2]|0)!=-1;return b|0}function Ng(a){a=a|0;var c=0;if(!a)return;c=a+28|0;if((b[c+11>>0]|0)<0)dn(f[c>>2]|0);_f(a+12|0,f[a+16>>2]|0);eg(a,f[a+4>>2]|0);dn(a);return}function Og(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2348;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);dn(b)}f[a+12>>2]=2372;b=f[a+32>>2]|0;if(b|0)dn(b);b=f[a+20>>2]|0;if(!b)return;dn(b);return}function Pg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;if(!a)return;c=f[a>>2]|0;if(c|0){d=a+4|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;if((b[e+11>>0]|0)<0){dn(f[e>>2]|0);i=f[d>>2]|0}else i=e;if((i|0)==(c|0))break;else h=i}g=f[a>>2]|0}dn(g)}dn(a);return}function Qg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;Ib(a,b);if((b|0)<=-1)return;c=a+88|0;d=f[c>>2]|0;e=f[a+84>>2]|0;if((d-e>>2|0)<=(b|0))return;a=e+(b<<2)|0;b=a+4|0;e=d-b|0;g=e>>2;if(!g)h=d;else{qi(a|0,b|0,e|0)|0;h=f[c>>2]|0}e=a+(g<<2)|0;if((h|0)==(e|0))return;f[c>>2]=h+(~((h+-4-e|0)>>>2)<<2);return}function Rg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2440;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);dn(b)}f[a+12>>2]=2420;b=f[a+32>>2]|0;if(b|0)dn(b);b=f[a+20>>2]|0;if(!b)return;dn(b);return}function Sg(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0;a=c+16|0;g=f[a>>2]|0;do if(g){if((g|0)!=(d|0)){h=c+36|0;f[h>>2]=(f[h>>2]|0)+1;f[c+24>>2]=2;b[c+54>>0]=1;break}h=c+24|0;if((f[h>>2]|0)==2)f[h>>2]=e}else{f[a>>2]=d;f[c+24>>2]=e;f[c+36>>2]=1}while(0);return}function Tg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2668;b=f[a+96>>2]|0;if(b|0){c=a+100|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);dn(b)}b=f[a+84>>2]|0;if(!b){Td(a);dn(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);dn(b);Td(a);dn(a);return}function Ug(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;e=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;g=d>>31|((d|0)<0?-1:0)<<1;h=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;i=Tj(e^a|0,f^b|0,e|0,f|0)|0;b=I;a=g^e;e=h^f;return Tj((gc(i,b,Tj(g^c|0,h^d|0,g|0,h|0)|0,I,0)|0)^a|0,I^e|0,a|0,e|0)|0}function Vg(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;f[a>>2]=b;h=b+16|0;i=f[h+4>>2]|0;j=a+8|0;f[j>>2]=f[h>>2];f[j+4>>2]=i;i=b+24|0;b=f[i+4>>2]|0;j=a+16|0;f[j>>2]=f[i>>2];f[j+4>>2]=b;b=a+40|0;f[b>>2]=c;f[b+4>>2]=d;d=a+48|0;f[d>>2]=e;f[d+4>>2]=g;return}function Wg(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0;c=b[a+12>>0]|0;d=a+8|0;e=f[d>>2]|0;if(e>>>0<4096?(g=a+4|0,i=f[g>>2]|0,(i|0)>0):0){j=f[a>>2]|0;a=i+-1|0;f[g>>2]=a;g=e<<8|(h[j+a>>0]|0);f[d>>2]=g;k=g}else k=e;e=k&255;g=0-c&255;c=X(k>>>8,g)|0;a=e>>>0>>0;f[d>>2]=a?c+e|0:k-g-c|0;return a|0}function Xg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e|0;h=e;e=d;if(g>>>0>=b>>>0){if(g>>>0>b>>>0?(d=h+b|0,(d|0)!=(e|0)):0)f[c>>2]=d}else jf(a,b-g|0);g=a+24|0;a=g;b=Rj(f[a>>2]|0,f[a+4>>2]|0,1,0)|0;a=g;f[a>>2]=b;f[a+4>>2]=I;return}function Yg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;xg(g,a,c,d);d=a+24|0;f[d>>2]=f[g>>2];c=g+4|0;hi(a+28|0,c)|0;if((b[c+11>>0]|0)>=0){u=e;return d|0}dn(f[c>>2]|0);u=e;return d|0}function Zg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2668;b=f[a+96>>2]|0;if(b|0){c=a+100|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);dn(b)}b=f[a+84>>2]|0;if(!b){Td(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);dn(b);Td(a);return}function _g(a){a=a|0;var c=0,d=0,e=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;b[a+24>>0]=1;c=a+68|0;d=a+28|0;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));f[c>>2]=a;c=a+72|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;return}function $g(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;md(g,a,c,d);d=a+24|0;f[d>>2]=f[g>>2];c=g+4|0;hi(a+28|0,c)|0;if((b[c+11>>0]|0)>=0){u=e;return d|0}dn(f[c>>2]|0);u=e;return d|0}function ah(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;if(c?!(Ff(d,a)|0):0){e=0;return e|0}b[a+36>>0]=1;d=a+16|0;c=f[d>>2]|0;g=(f[a>>2]|0)+c|0;h=a+8|0;i=Tj(f[h>>2]|0,f[h+4>>2]|0,c|0,f[d+4>>2]|0)|0;f[a+32>>2]=0;f[a+24>>2]=g;f[a+28>>2]=g+i;e=1;return e|0}function bh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1684;b=f[a+76>>2]|0;if(b|0)dn(b);f[a>>2]=1208;b=f[a+32>>2]|0;if(!b){dn(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);dn(b);dn(a);return}function ch(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=u;u=u+256|0;g=f;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;Vf(g|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;d=e;do{il(a,g,256);d=d+-256|0}while(d>>>0>255);h=b&255}else h=e;il(a,g,h)}u=f;return}function dh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;b=f[a+8>>2]|0;c=f[a+12>>2]|0;if((b|0)==(c|0)){d=1;return d|0}e=a+32|0;a=b;while(1){b=f[a>>2]|0;a=a+4|0;if(!(Oa[f[(f[b>>2]|0)+16>>2]&127](b,f[e>>2]|0)|0)){d=0;g=5;break}if((a|0)==(c|0)){d=1;g=5;break}}if((g|0)==5)return d|0;return 0}function eh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1432;b=f[a+76>>2]|0;if(b|0)dn(b);f[a>>2]=1208;b=f[a+32>>2]|0;if(!b){dn(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);dn(b);dn(a);return}function fh(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;if(zl(a,f[b+8>>2]|0,g)|0)Tf(0,b,c,d,e);else{h=f[a+8>>2]|0;Xa[f[(f[h>>2]|0)+20>>2]&3](h,b,c,d,e,g)}return}function gh(a,b){a=a|0;b=b|0;var c=0;c=bj(40)|0;f[c>>2]=-1;oj(c+8|0);Ta[f[(f[a>>2]|0)+16>>2]&7](a,c);a=b+88|0;b=f[a>>2]|0;f[a>>2]=c;if(!b)return 1;c=f[b+8>>2]|0;if(c|0){a=b+12|0;if((f[a>>2]|0)!=(c|0))f[a>>2]=c;dn(c)}dn(b);return 1}function hh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=f[a+12>>2]|0;d=f[a+8>>2]|0;a=d;if((c|0)==(d|0)){e=0;return e|0}g=c-d>>2;d=0;while(1){c=f[a+(d<<2)>>2]|0;if((f[c+60>>2]|0)==(b|0)){e=c;h=5;break}d=d+1|0;if(d>>>0>=g>>>0){e=0;h=5;break}}if((h|0)==5)return e|0;return 0}function ih(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=f[a+12>>2]|0;d=f[a+8>>2]|0;a=d;if((c|0)==(d|0)){e=-1;return e|0}g=c-d>>2;d=0;while(1){if((f[(f[a+(d<<2)>>2]|0)+60>>2]|0)==(b|0)){e=d;h=5;break}d=d+1|0;if(d>>>0>=g>>>0){e=-1;h=5;break}}if((h|0)==5)return e|0;return 0}function jh(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;a:do if(!d)e=0;else{f=a;g=d;h=c;while(1){i=b[f>>0]|0;j=b[h>>0]|0;if(i<<24>>24!=j<<24>>24)break;g=g+-1|0;if(!g){e=0;break a}else{f=f+1|0;h=h+1|0}}e=(i&255)-(j&255)|0}while(0);return e|0}function kh(a){a=a|0;var b=0,c=0;f[a>>2]=1684;b=f[a+76>>2]|0;if(b|0)dn(b);f[a>>2]=1208;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);dn(b);return}function lh(a){a=a|0;var b=0,c=0;f[a>>2]=2108;b=a+28|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)bn(c);f[a>>2]=1148;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Yf(a);dn(a);return}Sa[f[(f[b>>2]|0)+4>>2]&127](b);Yf(a);dn(a);return}function mh(a){a=a|0;var c=0,d=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;c=0;while(1){if((c|0)==3)break;f[a+(c<<2)>>2]=0;c=c+1|0}if((b[a+11>>0]|0)<0)d=(f[a+8>>2]&2147483647)+-1|0;else d=10;hg(a,d,0);return}function nh(a){a=a|0;var b=0,c=0;f[a>>2]=1432;b=f[a+76>>2]|0;if(b|0)dn(b);f[a>>2]=1208;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);dn(b);return}function oh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=984;b=f[a+16>>2]|0;if(b|0){c=a+20|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);dn(b)}b=f[a+4>>2]|0;if(!b)return;d=a+8|0;a=f[d>>2]|0;if((a|0)!=(b|0))f[d>>2]=a+(~((a+-4-b|0)>>>2)<<2);dn(b);return}function ph(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1740;f[a>>2]=1208;b=f[a+32>>2]|0;if(!b){dn(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);dn(b);dn(a);return}function qh(a){a=a|0;var b=0,c=0;f[a>>2]=2108;b=a+28|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)bn(c);f[a>>2]=1148;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Yf(a);return}Sa[f[(f[b>>2]|0)+4>>2]&127](b);Yf(a);return}function rh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if(zl(a,f[b+8>>2]|0,0)|0)Sg(0,b,c,d);else{e=f[a+8>>2]|0;Va[f[(f[e>>2]|0)+28>>2]&7](e,b,c,d)}return}function sh(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)<0){c=0;return c|0}d=f[a+4>>2]|0;if(((f[d+12>>2]|0)-(f[d+8>>2]|0)>>2|0)<=(b|0)){c=0;return c|0}d=f[(f[a+8>>2]|0)+(f[(f[a+20>>2]|0)+(b<<2)>>2]<<2)>>2]|0;c=Oa[f[(f[d>>2]|0)+32>>2]&127](d,b)|0;return c|0}function th(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0;d=b[a>>0]|0;e=b[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24){f=e;g=d}else{d=c;c=a;do{c=c+1|0;d=d+1|0;a=b[c>>0]|0;e=b[d>>0]|0}while(!(a<<24>>24==0?1:a<<24>>24!=e<<24>>24));f=e;g=a}return (g&255)-(f&255)|0}function uh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1488;f[a>>2]=1208;b=f[a+32>>2]|0;if(!b){dn(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);dn(b);dn(a);return}function vh(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;mh(d);of(a,d,b);Ik(d);u=c;return}function wh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+32|0;e=d;g=d+20|0;f[e>>2]=f[a+60>>2];f[e+4>>2]=0;f[e+8>>2]=b;f[e+12>>2]=g;f[e+16>>2]=c;if((ik(za(140,e|0)|0)|0)<0){f[g>>2]=-1;h=-1}else h=f[g>>2]|0;u=d;return h|0}function xh(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)==-1|(b|0)>4){c=0;return c|0}d=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-d|0)<=0){c=0;return c|0}b=f[d>>2]|0;if((b|0)==-1){c=0;return c|0}c=f[(f[a+8>>2]|0)+(b<<2)>>2]|0;return c|0}function yh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){d=0;return d|0}e=f[c+(b<<2)>>2]|0;if((e|0)<0){d=0;return d|0}d=Je(f[(f[a+36>>2]|0)+(e<<2)>>2]|0)|0;return d|0}function zh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!($f(f[a+8>>2]|0,(f[b+4>>2]|0)-(f[b>>2]|0)>>2)|0)){d=0;return d|0}d=Pa[f[(f[a>>2]|0)+32>>2]&31](a,b,c)|0;return d|0}function Ah(a,b){a=a|0;b=b|0;var c=0;Ki(a);f[a>>2]=1088;c=a+36|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;c=f[b>>2]|0;f[b>>2]=0;f[a+60>>2]=c;return}function Bh(a){a=a|0;var b=0,c=0;f[a>>2]=1740;f[a>>2]=1208;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);dn(b);return}function Ch(a){a=a|0;if(!(f[a+60>>2]|0))return 0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+52>>2]|0))return 0;else return (f[a+56>>2]|0)!=0|0;return 0}function Dh(a){a=a|0;var b=0,c=0;f[a>>2]=1488;f[a>>2]=1208;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);dn(b);return}function Eh(a,c){a=a|0;c=c|0;var d=0,e=0;d=a;e=c;c=d+64|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(c|0));e=a+64|0;f[a+88>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;b[e+20>>0]=0;return}function Fh(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if((a|0)==0&(c|0)==0)f=d;else{g=d;d=c;c=a;while(1){a=g+-1|0;b[a>>0]=h[10394+(c&15)>>0]|0|e;c=Uj(c|0,d|0,4)|0;d=I;if((c|0)==0&(d|0)==0){f=a;break}else g=a}}return f|0}function Gh(a){a=a|0;var c=0,d=0,e=0;c=a+74|0;d=b[c>>0]|0;b[c>>0]=d+255|d;d=f[a>>2]|0;if(!(d&8)){f[a+8>>2]=0;f[a+4>>2]=0;c=f[a+44>>2]|0;f[a+28>>2]=c;f[a+20>>2]=c;f[a+16>>2]=c+(f[a+48>>2]|0);e=0}else{f[a>>2]=d|32;e=-1}return e|0}function Hh(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[b+88>>2]|0;if(!c){d=0;return d|0}if((f[c>>2]|0)!=2){d=0;return d|0}b=f[c+8>>2]|0;f[a+4>>2]=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;d=1;return d|0}function Ih(a){a=a|0;var b=0;if(!(f[a+44>>2]|0)){b=0;return b|0}if(!(f[a+48>>2]|0)){b=0;return b|0}if(!(f[a+52>>2]|0)){b=0;return b|0}b=(f[a+56>>2]|0)!=0;return b|0}function Jh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;d=b[a+11>>0]|0;e=d<<24>>24<0;if(e)g=f[a+4>>2]|0;else g=d&255;if(g>>>0<=c>>>0)um(a);if(e)h=f[a>>2]|0;else h=a;return h+c|0}function Kh(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+44>>2]=c;d=1;return d|0}function Lh(a,b,c){a=a|0;b=b|0;c=c|0;if((b|0)!=0&(c|0)!=0){Lb(a,b,c);return}else{Pb(a,0,0);return}}function Mh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=$(e);f[a+4>>2]=b;pd(a+8|0,c,c+(d<<2)|0);n[a+20>>2]=e;return}function Nh(a,b){a=a|0;b=b|0;var c=0;if(!(Oa[f[(f[a>>2]|0)+36>>2]&127](a,b)|0)){c=0;return c|0}if(!(Oa[f[(f[a>>2]|0)+40>>2]&127](a,b)|0)){c=0;return c|0}c=Na[f[(f[a>>2]|0)+44>>2]&127](a)|0;return c|0}function Oh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;d=f[c>>2]|0;c=a;e=b-a>>2;while(1){if(!e)break;a=(e|0)/2|0;b=c+(a<<2)|0;g=(f[b>>2]|0)>>>0>>0;c=g?b+4|0:c;e=g?e+-1-a|0:a}return c|0}function Ph(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if(!(xj(a,c,d)|0)){e=0;return e|0}d=f[a+8>>2]|0;if((b[d+24>>0]|0)!=3){e=0;return e|0}e=(f[d+28>>2]|0)==9;return e|0}function Qh(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;b[a+24>>0]=1;f[a+28>>2]=9;c=a+40|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[a+56>>2]=-1;f[a+60>>2]=0;return}function Rh(a,c){a=a|0;c=c|0;var d=0,e=0;a=u;u=u+32|0;d=a;Mf(d,c);c=f[d+16>>2]|0;e=d+4|0;if((b[e+11>>0]|0)>=0){u=a;return c|0}dn(f[e>>2]|0);u=a;return c|0}function Sh(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;if(!(Om(b[f[a>>2]>>0]|0)|0))c=0;else{d=0;while(1){e=f[a>>2]|0;g=(d*10|0)+-48+(b[e>>0]|0)|0;h=e+1|0;f[a>>2]=h;if(!(Om(b[h>>0]|0)|0)){c=g;break}else d=g}}return c|0}function Th(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+64>>2]=c;d=1;return d|0}function Uh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!(xj(a,b,c)|0)){d=0;return d|0}d=(f[(f[(f[(f[b+4>>2]|0)+8>>2]|0)+(c<<2)>>2]|0)+28>>2]|0)==9;return d|0}function Vh(a){a=a|0;var b=0,c=0;b=f[r>>2]|0;c=b+a|0;if((a|0)>0&(c|0)<(b|0)|(c|0)<0){ea()|0;ya(12);return -1}f[r>>2]=c;if((c|0)>(da()|0)?(ca()|0)==0:0){f[r>>2]=b;ya(12);return -1}return b|0}function Wh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;if((a|0)==0&(c|0)==0)e=d;else{f=d;d=c;c=a;while(1){a=f+-1|0;b[a>>0]=c&7|48;c=Uj(c|0,d|0,3)|0;d=I;if((c|0)==0&(d|0)==0){e=a;break}else f=a}}return e|0}function Xh(a,c){a=a|0;c=c|0;var d=0;if(((c|0)!=0?(f[c+56>>2]|0)==0:0)?(b[c+24>>0]|0)==3:0){f[a+60>>2]=c;d=1}else d=0;return d|0}function Yh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1208;b=f[a+32>>2]|0;if(!b){dn(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);dn(b);dn(a);return}function Zh(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(zl(a,f[b+8>>2]|0,g)|0)Tf(0,b,c,d,e);return}function _h(a){a=a|0;var c=0,d=0,e=0,g=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;g=(f[e+56>>2]|0)-(f[e+52>>2]|0)>>2;b[d>>0]=0;le(a+20|0,g,d);u=c;return}function $h(a,b,c){a=a|0;b=b|0;c=c|0;return Sb(a,b,c)|0}function ai(a){a=a|0;var b=0;switch(a|0){case 11:case 2:case 1:{b=1;break}case 4:case 3:{b=2;break}case 6:case 5:{b=4;break}case 8:case 7:{b=8;break}case 9:{b=4;break}case 10:{b=8;break}default:b=-1}return b|0}function bi(a){a=a|0;var c=0,d=0,e=0;b[a+36>>0]=0;c=Rj(f[a+32>>2]|0,0,7,0)|0;d=Uj(c|0,I|0,3)|0;c=a+16|0;a=c;e=Rj(d|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;a=c;f[a>>2]=e;f[a+4>>2]=I;return}function ci(a){a=a|0;var c=0,d=0,e=0,g=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;g=(f[e+28>>2]|0)-(f[e+24>>2]|0)>>2;b[d>>0]=0;le(a+20|0,g,d);u=c;return}function di(a){a=a|0;var b=0,c=0,d=0;b=a+60|0;c=a;d=c+60|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=a;b=a+64|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;return}function ei(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=(f[a+96>>2]|0)+(b*12|0)|0;rd(c,d,d+12|0);return 1}function fi(){var a=0,b=0;a=bj(40)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;n[a+16>>2]=$(1.0);b=a+20|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;n[a+36>>2]=$(1.0);return a|0}function gi(a){a=a|0;f[a>>2]=2396;wf(a+8|0);dn(a);return}function hi(a,c){a=a|0;c=c|0;var d=0,e=0;if((a|0)!=(c|0)){d=b[c+11>>0]|0;e=d<<24>>24<0;Kf(a,e?f[c>>2]|0:c,e?f[c+4>>2]|0:d&255)|0}return a|0}function ii(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=a&65535;d=b&65535;e=X(d,c)|0;f=a>>>16;a=(e>>>16)+(X(d,f)|0)|0;d=b>>>16;b=X(d,c)|0;return (I=(a>>>16)+(X(d,f)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|e&65535|0)|0}function ji(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=gg(b)|0;d=bj(c+13|0)|0;f[d>>2]=c;f[d+4>>2]=c;f[d+8>>2]=0;e=Zl(d)|0;ge(e|0,b|0,c+1|0)|0;f[a>>2]=e;return}function ki(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)==-1|(b|0)>4){c=-1;return c|0}d=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-d|0)<=0){c=-1;return c|0}c=f[d>>2]|0;return c|0}function li(a){a=a|0;f[a>>2]=2396;wf(a+8|0);return}function mi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f[b+44>>2]=e;Tb(a,b,c,d,e);return}function ni(a){a=a|0;var b=0,c=0;f[a>>2]=1208;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);dn(b);return}function oi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(zl(a,f[b+8>>2]|0,0)|0)Sg(0,b,c,d);return}function pi(a){a=a|0;var b=0;f[a>>2]=2616;b=a+4|0;f[a+40>>2]=0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[b+28>>2]=0;d[b+32>>1]=0;return}function qi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if((c|0)<(a|0)&(a|0)<(c+d|0)){e=a;c=c+d|0;a=a+d|0;while((d|0)>0){a=a-1|0;c=c-1|0;d=d-1|0;b[a>>0]=b[c>>0]|0}a=e}else ge(a,c,d)|0;return a|0}function ri(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=956;b=f[a+8>>2]|0;if(!b){dn(a);return}c=a+12|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);dn(b);dn(a);return}function si(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+16|0;e=d;f[e>>2]=f[c>>2];g=Pa[f[(f[a>>2]|0)+16>>2]&31](a,b,e)|0;if(g)f[c>>2]=f[e>>2];u=d;return g&1|0}function ti(a,b){a=a|0;b=b|0;var c=0;if(b>>>0>=2){c=0;return c|0}f[a+28>>2]=b;c=1;return c|0}function ui(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if((b|0)>0)d=0;else return;do{e=f[a+(d<<2)>>2]|0;f[c+(d<<2)>>2]=e<<31>>31^e>>>1;d=d+1|0}while((d|0)!=(b|0));return}function vi(){var a=0,b=0;a=ej()|0;if((a|0?(b=f[a>>2]|0,b|0):0)?(a=b+48|0,(f[a>>2]&-256|0)==1126902528?(f[a+4>>2]|0)==1129074247:0):0)Rk(f[b+12>>2]|0);Rk(lm()|0)}function wi(a){a=a|0;var c=0;c=b[w+(a&255)>>0]|0;if((c|0)<8)return c|0;c=b[w+(a>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=b[w+(a>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (b[w+(a>>>24)>>0]|0)+24|0}function xi(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=f[a>>2]|0;if(b|0){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);dn(b)}dn(a);return}function yi(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=f[a>>2]|0;if(b|0){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-2-b|0)>>>1)<<1);dn(b)}dn(a);return}function zi(a,c){a=a|0;c=c|0;var d=0;b[c+84>>0]=1;a=f[c+68>>2]|0;d=c+72|0;c=f[d>>2]|0;if((c|0)==(a|0))return 1;f[d>>2]=c+(~((c+-4-a|0)>>>2)<<2);return 1}function Ai(a){a=a|0;var b=0,c=0;if(Im(a)|0?(b=dm(f[a>>2]|0)|0,a=b+8|0,c=f[a>>2]|0,f[a>>2]=c+-1,(c+-1|0)<0):0)dn(b);return}function Bi(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;d[a+38>>1]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;f[c+24>>2]=0;b[c+28>>0]=0;return}function Ci(a){a=a|0;var b=0,c=0;f[a>>2]=1148;b=a+20|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Sa[f[(f[c>>2]|0)+4>>2]&127](c);Yf(a);dn(a);return}function Di(a,b){a=a|0;b=b|0;return Oa[f[(f[a>>2]|0)+48>>2]&127](a,(f[b+4>>2]|0)-(f[b>>2]|0)>>2)|0}function Ei(a){a=a|0;var b=0,c=0;f[a>>2]=956;b=f[a+8>>2]|0;if(!b)return;c=a+12|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);dn(b);return}function Fi(a,b,c){a=a|0;b=b|0;c=c|0;xb(a,b,c);return}function Gi(a){a=a|0;Bi(a);Bi(a+40|0);Cm(a+80|0);Bi(a+96|0);f[a+136>>2]=0;f[a+140>>2]=0;f[a+144>>2]=0;return}function Hi(a){a=a|0;var b=0,c=0;f[a>>2]=1148;b=a+20|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Sa[f[(f[c>>2]|0)+4>>2]&127](c);Yf(a);return}function Ii(a,b,c){a=a|0;b=b|0;c=c|0;return wc(a,b,5,6,c)|0}function Ji(a,b,c){a=a|0;b=b|0;c=c|0;return uc(a,b,3,4,c)|0}function Ki(a){a=a|0;var b=0;f[a>>2]=984;b=a+4|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[b+28>>2]=0;return}function Li(a,b,c){a=a|0;b=b|0;c=c|0;return zc(a,b,1,2,c)|0}function Mi(a,b,c){a=a|0;b=b|0;c=c|0;return vc(a,b,3,4,c)|0}function Ni(a,b,c){a=a|0;b=b|0;c=c|0;return xc(a,b,5,6,c)|0}function Oi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=a+20|0;e=f[d>>2]|0;g=(f[a+16>>2]|0)-e|0;a=g>>>0>c>>>0?c:g;ge(e|0,b|0,a|0)|0;f[d>>2]=(f[d>>2]|0)+a;return c|0}function Pi(a,b,c){a=a|0;b=b|0;c=c|0;return Ac(a,b,1,2,c)|0}function Qi(a){a=a|0;var b=0;f[a>>2]=2372;b=f[a+20>>2]|0;if(b|0)dn(b);b=f[a+8>>2]|0;if(!b){dn(a);return}dn(b);dn(a);return}function Ri(){var a=0,b=0;a=bj(24)|0;f[a>>2]=956;f[a+4>>2]=-1;b=a+8|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return a|0}function Si(a){a=a|0;var c=0;Qh(a);c=a+64|0;f[a+88>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;b[c+20>>0]=0;return}function Ti(a){a=a|0;var b=0,c=0;if(!a)return;b=f[a+8>>2]|0;if(b|0){c=a+12|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;dn(b)}dn(a);return}function Ui(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((f[b+4>>2]|0)==(c|0)?(c=b+28|0,(f[c>>2]|0)!=1):0)f[c>>2]=d;return}function Vi(a){a=a|0;var b=0;f[a>>2]=2420;b=f[a+20>>2]|0;if(b|0)dn(b);b=f[a+8>>2]|0;if(!b){dn(a);return}dn(b);dn(a);return}function Wi(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;f[a>>2]=b;b=a+8|0;f[b>>2]=c;f[b+4>>2]=0;d[a+38>>1]=e;e=a+16|0;f[e>>2]=0;f[e+4>>2]=0;return}function Xi(a,b,c){a=a|0;b=$(b);c=c|0;var d=0,e=La;if((c|0)<1){d=0;return d|0}e=$($(1.0)/$(c|0));n[a+4>>2]=e;n[a>>2]=b;d=1;return d|0}function Yi(a,b,c){a=a|0;b=b|0;c=c|0;f[a+4>>2]=b;f[a+8>>2]=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(c<<2)>>2];f[a+12>>2]=c;return 1}function Zi(a){a=a|0;var b=0,c=0;if(!a)return;b=f[a>>2]|0;if(b|0){c=a+4|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;dn(b)}dn(a);return}function _i(a){a=a|0;var b=0;Gl(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;b=a+24|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return}function $i(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e|0;gc(a,b,c,d,g)|0;u=e;return (I=f[g+4>>2]|0,f[g>>2]|0)|0}function aj(a){a=a|0;var b=0;Yj(a);f[a>>2]=2668;b=a+84|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;return}function bj(a){a=a|0;var b=0,c=0;b=(a|0)==0?1:a;while(1){a=Ya(b)|0;if(a|0){c=a;break}a=fm()|0;if(!a){c=0;break}Ra[a&3]()}return c|0}function cj(a){a=a|0;var b=0;f[a>>2]=2372;b=f[a+20>>2]|0;if(b|0)dn(b);b=f[a+8>>2]|0;if(!b)return;dn(b);return}function dj(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b;d=fn(f[a+60>>2]|0)|0;f[c>>2]=d;d=ik(Ba(6,c|0)|0)|0;u=b;return d|0}function ej(){var a=0,b=0;a=u;u=u+16|0;if(!(Ha(13444,3)|0)){b=Fa(f[3362]|0)|0;u=a;return b|0}else zj(12582,a);return 0}function fj(a){a=a|0;var b=0;f[a>>2]=2420;b=f[a+20>>2]|0;if(b|0)dn(b);b=f[a+8>>2]|0;if(!b)return;dn(b);return}function gj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;a=c;c=ii(e,a)|0;f=I;return (I=(X(b,a)|0)+(X(d,e)|0)+f|f&0,c|0|0)|0}function hj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ii(b,c,d)|0}function ij(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ji(b,c,d)|0}function jj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return bd(b,c,d)|0}function kj(a){a=a|0;var b=0;b=u;u=u+16|0;Cb(a);if(!(Ia(f[3362]|0,0)|0)){u=b;return}else zj(12681,b)}function lj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Li(b,c,d)|0}function mj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Mi(b,c,d)|0}function nj(a){a=a|0;f[a>>2]=1940;dn(a);return}function oj(a){a=a|0;var b=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b=a+16|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return}function pj(a){a=a|0;Dk(a);f[a>>2]=2108;f[a+24>>2]=-1;f[a+28>>2]=0;n[a+32>>2]=$(0.0);return}function qj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Pi(b,c,d)|0}function rj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ni(b,c,d)|0}function sj(a,b,c){a=a|0;b=b|0;c=c|0;f[a>>2]=b;b=a+8|0;f[b>>2]=c;f[b+4>>2]=0;b=a+16|0;f[b>>2]=0;f[b+4>>2]=0;return}function tj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;f[g>>2]=d;d=Af(a,b,c,g)|0;u=e;return d|0}function uj(a){a=a|0;f[a>>2]=2024;dn(a);return}function vj(a){a=a|0;f[a>>2]=1940;return}function wj(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function xj(a,b,c){a=a|0;b=b|0;c=c|0;return Yi(a,b,c)|0}function yj(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 Qa[a&15](b|0,c|0,d|0,e|0,f|0,g|0)|0}function zj(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;f[d>>2]=b;b=f[678]|0;ye(b,a,d)|0;lg(10,b)|0;Ca()}function Aj(a){a=a|0;f[a>>2]=2024;return}function Bj(a,b){a=a|0;b=b|0;var c=0;c=f[a+48>>2]|0;return Oa[f[(f[c>>2]|0)+16>>2]&127](c,b)|0}function Cj(a,b,c){a=a|0;b=b|0;c=c|0;return ki(b,c)|0}function Dj(a,b){a=a|0;b=b|0;var c=0;c=f[a+48>>2]|0;return Oa[f[(f[c>>2]|0)+12>>2]&127](c,b)|0}function Ej(a,b){a=a|0;b=b|0;var c=0;c=f[a+48>>2]|0;return Oa[f[(f[c>>2]|0)+20>>2]&127](c,b)|0}function Fj(a){a=a|0;var c=0,d=0;c=a+4|0;if((b[c+11>>0]|0)<0){d=f[c>>2]|0;return d|0}else{d=c;return d|0}return 0}function Gj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Id(b,c,d)|0}function Hj(){var a=0;a=u;u=u+16|0;if(!(Ga(13448,83)|0)){u=a;return}else zj(12631,a)}function Ij(a){a=a|0;Pc(a);dn(a);return}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;Xa[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function Kj(a){a=a|0;if(!(f[a+44>>2]|0))return 0;else return Na[f[(f[a>>2]|0)+48>>2]&127](a)|0;return 0}function Lj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ag(b,c,d)|0}function Mj(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)Vf(a|0,(Dm(c)|0)&255|0,b|0)|0;return a|0}function Nj(a){a=a|0;return 4}function Oj(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b<>>32-c;return a<>0]|0)<0)dn(f[c>>2]|0);dn(a);return}function Qj(){}function Rj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=a+c>>>0;return (I=b+d+(e>>>0>>0|0)>>>0,e|0)|0}function Sj(a,b){a=a|0;b=b|0;var c=0;if(!b)c=0;else c=Ce(f[b>>2]|0,f[b+4>>2]|0,a)|0;return (c|0?c:a)|0}function Tj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=b-d>>>0;e=b-d-(c>>>0>a>>>0|0)>>>0;return (I=e,a-c>>>0|0)|0}function Uj(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b>>>c;return a>>>c|(b&(1<>>c-32|0}function Vj(a,b,c){a=a|0;b=b|0;c=c|0;return Yg(a,b,c)|0}function Wj(a){a=a|0;Jc(a);dn(a);return}function Xj(a){a=a|0;return 5}function Yj(a){a=a|0;var b=0;f[a>>2]=2696;b=a+4|0;a=b+80|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}function Zj(a){a=a|0;return 6}function _j(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ei(b,c,d)|0}function $j(a,b,c){a=a|0;b=b|0;c=c|0;f[a+28>>2]=b;f[a+32>>2]=c;return 1}function ak(a,b,c){a=a|0;b=b|0;c=c|0;return Cj(a,b,c)|0}function bk(a){a=a|0;var b=0;b=f[a+48>>2]|0;return Na[f[(f[b>>2]|0)+28>>2]&127](b)|0}function ck(a,b,c){a=a|0;b=b|0;c=c|0;return Cd(b,c)|0}function dk(a){a=a|0;f[a>>2]=1040;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=-1;f[a+16>>2]=0;return}function ek(a){a=a|0;var b=0;b=f[a+48>>2]|0;return Na[f[(f[b>>2]|0)+24>>2]&127](b)|0}function fk(a,b){a=a|0;b=b|0;ng(a,b);return}function gk(a){a=a|0;var b=0;b=f[a+48>>2]|0;return Na[f[(f[b>>2]|0)+36>>2]&127](b)|0}function hk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Wa[a&3](b|0,c|0,d|0,e|0,f|0)}function ik(a){a=a|0;var b=0,c=0;if(a>>>0>4294963200){b=ln()|0;f[b>>2]=0-a;c=-1}else c=a;return c|0}function jk(a,b,c){a=a|0;b=b|0;c=c|0;return $g(a,b,c)|0}function kk(a,b,c){a=a|0;b=b|0;c=c|0;return nf(a,b,c)|0}function lk(a,b,c){a=a|0;b=b|0;c=c|0;return Df(a,b,c)|0}function mk(a,b,c){a=a|0;b=b|0;c=c|0;return We(a,b,c)|0}function nk(a,b,c){a=a|0;b=b|0;c=c|0;return +(+zf(a,b,c))}function ok(a,b){a=a|0;b=b|0;return Oa[f[(f[a>>2]|0)+12>>2]&127](a,b)|0}function pk(a,b){a=a|0;b=b|0;return Oa[f[(f[a>>2]|0)+56>>2]&127](a,b)|0}function qk(a,b,c){a=a|0;b=b|0;c=c|0;return Cg(a,b,c)|0}function rk(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return 1}function sk(a,b,c){a=a|0;b=b|0;c=c|0;return Kk(b,c)|0}function tk(a,b,c){a=a|0;b=b|0;c=c|0;return Ef(a,b,c)|0}function uk(a,b,c){a=a|0;b=b|0;c=c|0;return Bf(a,b,c)|0}function vk(a){a=a|0;Dk(a);f[a>>2]=1824;f[a+24>>2]=-1;return}function wk(a,b){a=a|0;b=b|0;f[a+8>>2]=b;f[a+12>>2]=-1;return 1}function xk(a,b,c){a=a|0;b=b|0;c=c|0;return ne(a,b,c)|0}function yk(a,b,c){a=a|0;b=b|0;c=c|0;return He(b,c)|0}function zk(a){a=+a;var b=0;p[s>>3]=a;b=f[s>>2]|0;I=f[s+4>>2]|0;return b|0}function Ak(){var a=0;a=bj(40)|0;f[a>>2]=-1;oj(a+8|0);return a|0}function Bk(){var a=0;a=bj(8)|0;f[a>>2]=928;f[a+4>>2]=-1;return a|0}function Ck(a,b,c){a=a|0;b=b|0;c=c|0;return hf(a,b,c)|0}function Dk(a){a=a|0;dk(a);f[a>>2]=1148;f[a+20>>2]=0;return}function Ek(a,b){a=a|0;b=b|0;fk(a,b);return}function Fk(a){a=a|0;var b=0;if(!a)b=0;else b=(De(a,800,888,0)|0)!=0&1;return b|0}function Gk(a,b){a=a|0;b=b|0;return $(n[(f[a+8>>2]|0)+(b<<2)>>2])}function Hk(a,b){a=a|0;b=b|0;return Rh(a,b)|0}function Ik(a){a=a|0;if((b[a+11>>0]|0)<0)dn(f[a>>2]|0);return}function Jk(a){a=a|0;if(!a)return;Sa[f[(f[a>>2]|0)+4>>2]&127](a);return}function Kk(a,b){a=a|0;b=b|0;return hh(a,b)|0}function Lk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Va[a&7](b|0,c|0,d|0,e|0)}function Mk(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)qi(a|0,b|0,c|0)|0;return a|0}function Nk(a,b,c){a=a|0;b=b|0;c=c|0;return Zk(b,c)|0}function Ok(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)ge(a|0,b|0,c|0)|0;return a|0}function Pk(a,b){a=a|0;b=b|0;return -1}function Qk(a){a=a|0;return 3}function Rk(a){a=a|0;var b=0;b=u;u=u+16|0;Ra[a&3]();zj(12734,b)}function Sk(a,b){a=a|0;b=b|0;return Ml(a,b)|0}function Tk(a){a=a|0;Pe(a);dn(a);return}function Uk(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;return}function Vk(a){a=a|0;dl(a);f[a>>2]=2236;f[a+48>>2]=0;return}function Wk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Pa[a&31](b|0,c|0,d|0)|0}function Xk(a,b,c){a=a|0;b=b|0;c=c|0;sj(a,b,c);return}function Yk(a,b){a=a|0;b=b|0;f[a>>2]=3684;ji(a+4|0,b);return}function Zk(a,b){a=a|0;b=b|0;return f[(f[a+8>>2]|0)+(b<<2)>>2]|0}function _k(a,b){a=a|0;b=b|0;var c=0;if(!a)c=0;else c=vf(a,b,0)|0;return c|0}function $k(a,b){a=a|0;b=b|0;return f[(f[a+4>>2]|0)+(b<<2)>>2]|0}function al(){var a=0;a=bj(64)|0;Qh(a);return a|0}function bl(a,b){a=a|0;b=b|0;return $(hl(a,b))}function cl(a){a=a|0;return f[a+8>>2]|0}function dl(a){a=a|0;pi(a);f[a>>2]=2176;f[a+44>>2]=0;return}function el(a){a=a|0;if(!a)return;Cf(a);dn(a);return}function fl(a,b){a=a|0;b=b|0;return Ul(a,b)|0}function gl(a){a=a|0;return b[(f[a+8>>2]|0)+24>>0]|0}function hl(a,b){a=a|0;b=b|0;return $(n[(f[a>>2]|0)+(b<<2)>>2])}function il(a,b,c){a=a|0;b=b|0;c=c|0;if(!(f[a>>2]&32))Xe(b,c,a)|0;return}function jl(a){a=a|0;return (f[a+8>>2]|0)-(f[a+4>>2]|0)>>2|0}function kl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ua[a&7](b|0,c|0,d|0)}function ll(){var a=0;a=bj(96)|0;Si(a);return a|0}function ml(a){a=a|0;var b=0;b=u;u=u+a|0;u=u+15&-16;return b|0}function nl(a){a=a|0;var b=0;b=(Zm()|0)+188|0;return vg(a,f[b>>2]|0)|0}function ol(a){a=a|0;return ((f[a+100>>2]|0)-(f[a+96>>2]|0)|0)/12|0|0}function pl(){var a=0;a=bj(16)|0;Uk(a);return a|0}function ql(){var a=0;a=bj(40)|0;Bi(a);return a|0}function rl(a,b){a=a|0;b=b|0;return 1}function sl(a,b){a=a|0;b=b|0;return Cl(a,b)|0}function tl(a,b){a=a|0;b=b|0;return Dl(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;aa(3);return 0}function vl(a,b){a=a|0;b=b|0;return Sl(a,b)|0}function wl(){var a=0;a=bj(12)|0;Kl(a);return a|0}function xl(a){a=a|0;Yf(a);dn(a);return}function yl(a){a=a|0;n[a>>2]=$(1.0);n[a+4>>2]=$(1.0);return}function zl(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function Al(a,b){a=a|0;b=b|0;var c=0;c=Pl(a|0)|0;return ((b|0)==0?a:c)|0}function Bl(a){a=a|0;return (f[a+12>>2]|0)-(f[a+8>>2]|0)>>2|0}function Cl(a,b){a=a|0;b=b|0;return f[(f[a>>2]|0)+(b<<2)>>2]|0}function Dl(a,b){a=a|0;b=b|0;return d[(f[a>>2]|0)+(b<<1)>>1]|0}function El(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return}function Fl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return gc(a,b,c,d,0)|0}function Gl(a){a=a|0;f[a+4>>2]=0;f[a+8>>2]=0;f[a>>2]=a+4;return}function Hl(){var a=0;a=bj(84)|0;Yj(a);return a|0}function Il(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)>>2|0}function Jl(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)>>1|0}function Kl(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;return}function Ll(a){a=a|0;f[a>>2]=3684;Ai(a+4|0);return}function Ml(a,b){a=a|0;b=b|0;return f[b+12>>2]|0}function Nl(a,b,c){a=a|0;b=b|0;c=c|0;return Oa[a&127](b|0,c|0)|0}function Ol(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(10)}function Pl(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Ql(a){a=a|0;dl(a);f[a>>2]=2532;return}function Rl(a,c){a=a|0;c=c|0;b[a>>0]=b[c>>0]|0;return}function Sl(a,c){a=a|0;c=c|0;return b[(f[a>>2]|0)+c>>0]|0}function Tl(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)|0}function Ul(a,b){a=a|0;b=b|0;return f[b+4>>2]|0}function Vl(a){a=a|0;return $(n[a+20>>2])}function Wl(a){a=a|0;return f[a+4>>2]|0}function Xl(a){a=a|0;if(!a)return;dn(a);return}function Yl(a,b){a=a|0;b=b|0;if(!x){x=a;y=b}}function Zl(a){a=a|0;return a+12|0}function _l(a){a=a|0;return f[a+88>>2]|0}function $l(a,b,c){a=a|0;b=b|0;c=c|0;Ta[a&7](b|0,c|0)}function am(){var a=0;a=bj(40)|0;_i(a);return a|0}function bm(){var a=0;a=bj(108)|0;aj(a);return a|0}function cm(a){a=a|0;return (b[a+32>>0]|0)!=0|0}function dm(a){a=a|0;return a+-12|0}function em(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;aa(9)}function fm(){var a=0;a=f[3363]|0;f[3363]=a+0;return a|0}function gm(a){a=a|0;return Gm(a+4|0)|0}function hm(a){a=a|0;return f[a+56>>2]|0}function im(a){a=a|0;Td(a);dn(a);return}function jm(a){a=a|0;hn(a);dn(a);return}function km(a){a=a|0;return b[a+24>>0]|0}function lm(){var a=0;a=f[898]|0;f[898]=a+0;return a|0}function mm(a,b){a=a|0;b=b|0;return 0}function nm(a){a=a|0;return f[a+40>>2]|0}function om(a){a=a|0;return f[a+48>>2]|0}function pm(a,b){a=a|0;b=b|0;return Na[a&127](b|0)|0}function qm(a){a=a|0;return f[a+60>>2]|0}function rm(a){a=a|0;return f[a+28>>2]|0}function sm(a){a=a|0;sa(a|0)|0;vi()}function tm(a){a=a|0;Ll(a);dn(a);return}function um(a){a=a|0;Ca()}function vm(a,b){a=a|0;b=b|0;u=a;v=b}function wm(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function xm(a){a=a|0;return (f[a>>2]|0)==0|0}function ym(a){a=a|0;return f[a+80>>2]|0}function zm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;aa(8)}function Am(a,b){a=a|0;b=b|0;Sa[a&127](b|0)}function Bm(a,b){a=a|0;b=b|0;return Sj(a,b)|0}function Cm(a){a=a|0;b[a+12>>0]=0;return}function Dm(a){a=a|0;return a&255|0}function Em(a){a=a|0;f[a>>2]=0;return}function Fm(a,b,c){a=a|0;b=b|0;c=c|0;aa(2);return 0}function Gm(a){a=a|0;return f[a>>2]|0}function Hm(a){a=a|0;return 2}function Im(a){a=a|0;return 1}function Jm(a,b){a=+a;b=b|0;return +(+wg(a,b))}function Km(){return 3}function Lm(a,b,c){a=a|0;b=b|0;c=c|0;aa(7)}function Mm(){return -4}function Nm(){return 4}function Om(a){a=a|0;return (a+-48|0)>>>0<10|0}function Pm(){return -3}function Qm(){return 1}function Rm(){return 2}function Sm(){return -5}function Tm(a,b){a=a|0;b=b|0;aa(1);return 0}function Um(a){a=a|0;Ea()}function Vm(a){a=a|0;Ra[a&3]()}function Wm(){return -2}function Xm(){ua()}function Ym(){return -1}function Zm(){return on()|0}function _m(a,b){a=a|0;b=b|0;aa(6)}function $m(){return 0}function an(a){a=a|0;return bj(a)|0}function bn(a){a=a|0;dn(a);return}function cn(a){a=a|0;u=a}function dn(a){a=a|0;Cb(a);return}function en(a){a=a|0;I=a}function fn(a){a=a|0;return a|0}function gn(a){a=a|0;aa(0);return 0}function hn(a){a=a|0;return}function jn(a){a=a|0;return 0}function kn(){return I|0}function ln(){return 13376}function mn(){return u|0}function nn(a){a=a|0;aa(5)}function on(){return 2840}function pn(){aa(4)} + +// EMSCRIPTEN_END_FUNCS +var Na=[gn,Hm,Im,jl,rm,Im,Ic,gl,Wl,jn,jn,Im,jn,Im,Im,Ih,Nj,Ih,Xj,Ch,Im,Zj,Mg,Im,rm,Im,Ih,Nj,Ih,Xj,Ch,Im,Zj,Mg,Im,rm,Hm,jn,Wl,Im,jn,Im,Qk,Zj,Ig,Im,rm,Zj,Ig,Im,rm,kd,Im,Im,Kj,Hc,dh,Im,jn,je,bk,gk,ek,hb,Im,Wl,cl,Rd,nd,ae,ib,Im,Wl,cl,kb,pf,jn,Im,dj,gm,gn,gn,gn,gn,gn,gn,gn,gn,gn,gn,gn,gn,gn,gn,gn,gn,gn,gn,gn,gn,gn,gn,gn,gn,gn,gn,gn,gn,gn,gn,gn,gn,gn,gn,gn,gn,gn,gn,gn,gn,gn,gn,gn,gn,gn,gn,gn,gn];var Oa=[Tm,Hh,he,Qb,Nh,$k,mm,rl,wk,rl,Of,Xc,Ve,yh,Gg,Dg,Di,Ab,Pk,mm,me,_b,mm,Xh,Nc,mm,Th,de,ti,_b,mm,Xh,Nc,mm,Th,de,ti,Ke,Pk,mm,Re,mm,Kh,Be,ti,mm,Kh,Be,ti,pk,yd,mm,mm,Ej,Dj,Bj,rk,_e,$e,Bb,Ad,hd,fd,rk,_e,$e,Bb,Nd,zi,Tm,Tm,Tm,Tm,Tm,Tm,Tm,Tm,Tm,Tm,Tm,Tm,Tm,Tm,Tm,Tm,Tm,Tm,Tm,Tm,Tm,Tm,Tm,Tm,Tm,Tm,Tm,Tm,Tm,Tm,Tm,Tm,Tm,Tm,Tm,Tm,Tm,Tm,Tm,Tm,Tm,Tm,Tm,Tm,Tm,Tm,Tm,Tm,Tm,Tm,Tm,Tm,Tm,Tm,Tm,Tm,Tm,Tm,Tm];var Pa=[Fm,$j,Yi,zh,wj,Ze,xj,Fd,Sb,Ph,bf,$h,Uh,kf,$h,Sd,wh,Oi,bg,Fm,Fm,Fm,Fm,Fm,Fm,Fm,Fm,Fm,Fm,Fm,Fm,Fm];var Qa=[ul,nc,Eb,db,Dc,Kb,Fb,cb,Bc,Jb,be,Mb,Nb,ul,ul,ul];var Ra=[pn,Xm,uf,Hj];var Sa=[nn,hn,bn,Ei,ri,oh,Um,Yf,xl,Pe,Tk,Hi,Ci,ni,Um,Yh,Yh,zg,ug,nh,eh,Dh,uh,hn,bn,Yh,yg,sg,kh,bh,Bh,ph,hn,bn,Ci,hn,bn,vj,nj,hn,bn,Aj,uj,hn,bn,qh,lh,og,Um,Pf,Lf,Jc,Wj,Og,Jg,cj,Qi,_h,li,gi,fj,Vi,ci,Rg,Lg,Pc,Ij,fg,hn,bn,Um,Zg,Tg,Td,im,hn,jm,hn,hn,jm,Ll,tm,tm,kj,nn,nn,nn,nn,nn,nn,nn,nn,nn,nn,nn,nn,nn,nn,nn,nn,nn,nn,nn,nn,nn,nn,nn,nn,nn,nn,nn,nn,nn,nn,nn,nn,nn,nn,nn,nn,nn,nn,nn,nn,nn,nn,nn,nn];var Ta=[_m,Kg,xd,Qg,Ib,_m,_m,_m];var Ua=[Lm,Fg,vb,yb,yb,vb,ce,Qd];var Va=[zm,Hf,Xd,oi,rh,zm,zm,zm];var Wa=[em,Wf,ie,em];var Xa=[Ol,Zh,fh,Ol];return{___cxa_can_catch:si,___cxa_is_pointer_type:Fk,___divdi3:Ug,___muldi3:gj,___udivdi3:Fl,___uremdi3:$i,_bitshift64Lshr:Uj,_bitshift64Shl:Oj,_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0:Bk,_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1:ok,_emscripten_bind_AttributeOctahedronTransform___destroy___0:Jk,_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0:Wl,_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0:Ri,_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1:ok,_emscripten_bind_AttributeQuantizationTransform___destroy___0:Jk,_emscripten_bind_AttributeQuantizationTransform_min_value_1:Gk,_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0:Wl,_emscripten_bind_AttributeQuantizationTransform_range_0:Vl,_emscripten_bind_AttributeTransformData_AttributeTransformData_0:Ak,_emscripten_bind_AttributeTransformData___destroy___0:Ti,_emscripten_bind_AttributeTransformData_transform_type_0:Gm,_emscripten_bind_DecoderBuffer_DecoderBuffer_0:ql,_emscripten_bind_DecoderBuffer_Init_2:Xk,_emscripten_bind_DecoderBuffer___destroy___0:Xl,_emscripten_bind_Decoder_DecodeBufferToMesh_2:jk,_emscripten_bind_Decoder_DecodeBufferToPointCloud_2:Vj,_emscripten_bind_Decoder_Decoder_0:am,_emscripten_bind_Decoder_GetAttributeByUniqueId_2:sk,_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3:jj,_emscripten_bind_Decoder_GetAttributeFloat_3:Lj,_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3:Gj,_emscripten_bind_Decoder_GetAttributeIdByName_2:yk,_emscripten_bind_Decoder_GetAttributeId_2:ak,_emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3:mj,_emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3:rj,_emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3:qj,_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3:rj,_emscripten_bind_Decoder_GetAttributeMetadata_2:qk,_emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3:ij,_emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3:hj,_emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3:lj,_emscripten_bind_Decoder_GetAttribute_2:Nk,_emscripten_bind_Decoder_GetEncodedGeometryType_1:Hk,_emscripten_bind_Decoder_GetFaceFromMesh_3:_j,_emscripten_bind_Decoder_GetMetadata_1:fl,_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2:ck,_emscripten_bind_Decoder_SkipAttributeTransform_1:Ek,_emscripten_bind_Decoder___destroy___0:Ng,_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0:wl,_emscripten_bind_DracoFloat32Array_GetValue_1:bl,_emscripten_bind_DracoFloat32Array___destroy___0:xi,_emscripten_bind_DracoFloat32Array_size_0:Il,_emscripten_bind_DracoInt16Array_DracoInt16Array_0:wl,_emscripten_bind_DracoInt16Array_GetValue_1:tl,_emscripten_bind_DracoInt16Array___destroy___0:yi,_emscripten_bind_DracoInt16Array_size_0:Jl,_emscripten_bind_DracoInt32Array_DracoInt32Array_0:wl,_emscripten_bind_DracoInt32Array_GetValue_1:sl,_emscripten_bind_DracoInt32Array___destroy___0:xi,_emscripten_bind_DracoInt32Array_size_0:Il,_emscripten_bind_DracoInt8Array_DracoInt8Array_0:wl,_emscripten_bind_DracoInt8Array_GetValue_1:vl,_emscripten_bind_DracoInt8Array___destroy___0:Zi,_emscripten_bind_DracoInt8Array_size_0:Tl,_emscripten_bind_DracoUInt16Array_DracoUInt16Array_0:wl,_emscripten_bind_DracoUInt16Array_GetValue_1:tl,_emscripten_bind_DracoUInt16Array___destroy___0:yi,_emscripten_bind_DracoUInt16Array_size_0:Jl,_emscripten_bind_DracoUInt32Array_DracoUInt32Array_0:wl,_emscripten_bind_DracoUInt32Array_GetValue_1:sl,_emscripten_bind_DracoUInt32Array___destroy___0:xi,_emscripten_bind_DracoUInt32Array_size_0:Il,_emscripten_bind_DracoUInt8Array_DracoUInt8Array_0:wl,_emscripten_bind_DracoUInt8Array_GetValue_1:vl,_emscripten_bind_DracoUInt8Array___destroy___0:Zi,_emscripten_bind_DracoUInt8Array_size_0:Tl,_emscripten_bind_GeometryAttribute_GeometryAttribute_0:al,_emscripten_bind_GeometryAttribute___destroy___0:Xl,_emscripten_bind_Mesh_Mesh_0:bm,_emscripten_bind_Mesh___destroy___0:Jk,_emscripten_bind_Mesh_num_attributes_0:Bl,_emscripten_bind_Mesh_num_faces_0:ol,_emscripten_bind_Mesh_num_points_0:ym,_emscripten_bind_MetadataQuerier_GetDoubleEntry_2:nk,_emscripten_bind_MetadataQuerier_GetEntryName_2:xk,_emscripten_bind_MetadataQuerier_GetIntEntry_2:uk,_emscripten_bind_MetadataQuerier_GetStringEntry_2:mk,_emscripten_bind_MetadataQuerier_HasDoubleEntry_2:lk,_emscripten_bind_MetadataQuerier_HasEntry_2:Ck,_emscripten_bind_MetadataQuerier_HasIntEntry_2:tk,_emscripten_bind_MetadataQuerier_HasStringEntry_2:kk,_emscripten_bind_MetadataQuerier_MetadataQuerier_0:pl,_emscripten_bind_MetadataQuerier_NumEntries_1:Sk,_emscripten_bind_MetadataQuerier___destroy___0:Pg,_emscripten_bind_Metadata_Metadata_0:fi,_emscripten_bind_Metadata___destroy___0:el,_emscripten_bind_PointAttribute_GetAttributeTransformData_0:_l,_emscripten_bind_PointAttribute_PointAttribute_0:ll,_emscripten_bind_PointAttribute___destroy___0:ig,_emscripten_bind_PointAttribute_attribute_type_0:hm,_emscripten_bind_PointAttribute_byte_offset_0:om,_emscripten_bind_PointAttribute_byte_stride_0:nm,_emscripten_bind_PointAttribute_data_type_0:rm,_emscripten_bind_PointAttribute_normalized_0:cm,_emscripten_bind_PointAttribute_num_components_0:km,_emscripten_bind_PointAttribute_size_0:ym,_emscripten_bind_PointAttribute_unique_id_0:qm,_emscripten_bind_PointCloud_PointCloud_0:Hl,_emscripten_bind_PointCloud___destroy___0:Jk,_emscripten_bind_PointCloud_num_attributes_0:Bl,_emscripten_bind_PointCloud_num_points_0:ym,_emscripten_bind_Status___destroy___0:Pj,_emscripten_bind_Status_code_0:Gm,_emscripten_bind_Status_error_msg_0:Fj,_emscripten_bind_Status_ok_0:xm,_emscripten_bind_VoidPtr___destroy___0:Xl,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM:Ym,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM:$m,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM:Rm,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM:Qm,_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE:Ym,_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD:$m,_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH:Qm,_emscripten_enum_draco_GeometryAttribute_Type_COLOR:Rm,_emscripten_enum_draco_GeometryAttribute_Type_GENERIC:Nm,_emscripten_enum_draco_GeometryAttribute_Type_INVALID:Ym,_emscripten_enum_draco_GeometryAttribute_Type_NORMAL:Qm,_emscripten_enum_draco_GeometryAttribute_Type_POSITION:$m,_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD:Km,_emscripten_enum_draco_StatusCode_ERROR:Ym,_emscripten_enum_draco_StatusCode_INVALID_PARAMETER:Pm,_emscripten_enum_draco_StatusCode_IO_ERROR:Wm,_emscripten_enum_draco_StatusCode_OK:$m,_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION:Sm,_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION:Mm,_emscripten_replace_memory:Ma,_free:Cb,_i64Add:Rj,_i64Subtract:Tj,_llvm_bswap_i32:Pl,_malloc:Ya,_memcpy:ge,_memmove:qi,_memset:Vf,_sbrk:Vh,dynCall_ii:pm,dynCall_iii:Nl,dynCall_iiii:Wk,dynCall_iiiiiii:yj,dynCall_v:Vm,dynCall_vi:Am,dynCall_vii:$l,dynCall_viii:kl,dynCall_viiii:Lk,dynCall_viiiii:hk,dynCall_viiiiii:Jj,establishStackSpace:vm,getTempRet0:kn,runPostSets:Qj,setTempRet0:en,setThrew:Yl,stackAlloc:ml,stackRestore:cn,stackSave:mn}}) + + +// EMSCRIPTEN_END_ASM +(Module.asmGlobalArg,Module.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 ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var ___uremdi3=Module["___uremdi3"]=asm["___uremdi3"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=Module["_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0"]=asm["_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0"];var _emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1=Module["_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1"]=asm["_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1"];var _emscripten_bind_AttributeOctahedronTransform___destroy___0=Module["_emscripten_bind_AttributeOctahedronTransform___destroy___0"]=asm["_emscripten_bind_AttributeOctahedronTransform___destroy___0"];var _emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=Module["_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0"]=asm["_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0"];var _emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0=Module["_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0"]=asm["_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0"];var _emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=Module["_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1"]=asm["_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1"];var _emscripten_bind_AttributeQuantizationTransform___destroy___0=Module["_emscripten_bind_AttributeQuantizationTransform___destroy___0"]=asm["_emscripten_bind_AttributeQuantizationTransform___destroy___0"];var _emscripten_bind_AttributeQuantizationTransform_min_value_1=Module["_emscripten_bind_AttributeQuantizationTransform_min_value_1"]=asm["_emscripten_bind_AttributeQuantizationTransform_min_value_1"];var _emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=Module["_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0"]=asm["_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0"];var _emscripten_bind_AttributeQuantizationTransform_range_0=Module["_emscripten_bind_AttributeQuantizationTransform_range_0"]=asm["_emscripten_bind_AttributeQuantizationTransform_range_0"];var _emscripten_bind_AttributeTransformData_AttributeTransformData_0=Module["_emscripten_bind_AttributeTransformData_AttributeTransformData_0"]=asm["_emscripten_bind_AttributeTransformData_AttributeTransformData_0"];var _emscripten_bind_AttributeTransformData___destroy___0=Module["_emscripten_bind_AttributeTransformData___destroy___0"]=asm["_emscripten_bind_AttributeTransformData___destroy___0"];var _emscripten_bind_AttributeTransformData_transform_type_0=Module["_emscripten_bind_AttributeTransformData_transform_type_0"]=asm["_emscripten_bind_AttributeTransformData_transform_type_0"];var _emscripten_bind_DecoderBuffer_DecoderBuffer_0=Module["_emscripten_bind_DecoderBuffer_DecoderBuffer_0"]=asm["_emscripten_bind_DecoderBuffer_DecoderBuffer_0"];var _emscripten_bind_DecoderBuffer_Init_2=Module["_emscripten_bind_DecoderBuffer_Init_2"]=asm["_emscripten_bind_DecoderBuffer_Init_2"];var _emscripten_bind_DecoderBuffer___destroy___0=Module["_emscripten_bind_DecoderBuffer___destroy___0"]=asm["_emscripten_bind_DecoderBuffer___destroy___0"];var _emscripten_bind_Decoder_DecodeBufferToMesh_2=Module["_emscripten_bind_Decoder_DecodeBufferToMesh_2"]=asm["_emscripten_bind_Decoder_DecodeBufferToMesh_2"];var _emscripten_bind_Decoder_DecodeBufferToPointCloud_2=Module["_emscripten_bind_Decoder_DecodeBufferToPointCloud_2"]=asm["_emscripten_bind_Decoder_DecodeBufferToPointCloud_2"];var _emscripten_bind_Decoder_Decoder_0=Module["_emscripten_bind_Decoder_Decoder_0"]=asm["_emscripten_bind_Decoder_Decoder_0"];var _emscripten_bind_Decoder_GetAttributeByUniqueId_2=Module["_emscripten_bind_Decoder_GetAttributeByUniqueId_2"]=asm["_emscripten_bind_Decoder_GetAttributeByUniqueId_2"];var _emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3"];var _emscripten_bind_Decoder_GetAttributeFloat_3=Module["_emscripten_bind_Decoder_GetAttributeFloat_3"]=asm["_emscripten_bind_Decoder_GetAttributeFloat_3"];var _emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=Module["_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3"]=asm["_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3"];var _emscripten_bind_Decoder_GetAttributeIdByName_2=Module["_emscripten_bind_Decoder_GetAttributeIdByName_2"]=asm["_emscripten_bind_Decoder_GetAttributeIdByName_2"];var _emscripten_bind_Decoder_GetAttributeId_2=Module["_emscripten_bind_Decoder_GetAttributeId_2"]=asm["_emscripten_bind_Decoder_GetAttributeId_2"];var _emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3"];var _emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3"];var _emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3"];var _emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3"];var _emscripten_bind_Decoder_GetAttributeMetadata_2=Module["_emscripten_bind_Decoder_GetAttributeMetadata_2"]=asm["_emscripten_bind_Decoder_GetAttributeMetadata_2"];var _emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3"];var _emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3"];var _emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3"];var _emscripten_bind_Decoder_GetAttribute_2=Module["_emscripten_bind_Decoder_GetAttribute_2"]=asm["_emscripten_bind_Decoder_GetAttribute_2"];var _emscripten_bind_Decoder_GetEncodedGeometryType_1=Module["_emscripten_bind_Decoder_GetEncodedGeometryType_1"]=asm["_emscripten_bind_Decoder_GetEncodedGeometryType_1"];var _emscripten_bind_Decoder_GetFaceFromMesh_3=Module["_emscripten_bind_Decoder_GetFaceFromMesh_3"]=asm["_emscripten_bind_Decoder_GetFaceFromMesh_3"];var _emscripten_bind_Decoder_GetMetadata_1=Module["_emscripten_bind_Decoder_GetMetadata_1"]=asm["_emscripten_bind_Decoder_GetMetadata_1"];var _emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=Module["_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2"]=asm["_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2"];var _emscripten_bind_Decoder_SkipAttributeTransform_1=Module["_emscripten_bind_Decoder_SkipAttributeTransform_1"]=asm["_emscripten_bind_Decoder_SkipAttributeTransform_1"];var _emscripten_bind_Decoder___destroy___0=Module["_emscripten_bind_Decoder___destroy___0"]=asm["_emscripten_bind_Decoder___destroy___0"];var _emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=Module["_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0"]=asm["_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0"];var _emscripten_bind_DracoFloat32Array_GetValue_1=Module["_emscripten_bind_DracoFloat32Array_GetValue_1"]=asm["_emscripten_bind_DracoFloat32Array_GetValue_1"];var _emscripten_bind_DracoFloat32Array___destroy___0=Module["_emscripten_bind_DracoFloat32Array___destroy___0"]=asm["_emscripten_bind_DracoFloat32Array___destroy___0"];var _emscripten_bind_DracoFloat32Array_size_0=Module["_emscripten_bind_DracoFloat32Array_size_0"]=asm["_emscripten_bind_DracoFloat32Array_size_0"];var _emscripten_bind_DracoInt16Array_DracoInt16Array_0=Module["_emscripten_bind_DracoInt16Array_DracoInt16Array_0"]=asm["_emscripten_bind_DracoInt16Array_DracoInt16Array_0"];var _emscripten_bind_DracoInt16Array_GetValue_1=Module["_emscripten_bind_DracoInt16Array_GetValue_1"]=asm["_emscripten_bind_DracoInt16Array_GetValue_1"];var _emscripten_bind_DracoInt16Array___destroy___0=Module["_emscripten_bind_DracoInt16Array___destroy___0"]=asm["_emscripten_bind_DracoInt16Array___destroy___0"];var _emscripten_bind_DracoInt16Array_size_0=Module["_emscripten_bind_DracoInt16Array_size_0"]=asm["_emscripten_bind_DracoInt16Array_size_0"];var _emscripten_bind_DracoInt32Array_DracoInt32Array_0=Module["_emscripten_bind_DracoInt32Array_DracoInt32Array_0"]=asm["_emscripten_bind_DracoInt32Array_DracoInt32Array_0"];var _emscripten_bind_DracoInt32Array_GetValue_1=Module["_emscripten_bind_DracoInt32Array_GetValue_1"]=asm["_emscripten_bind_DracoInt32Array_GetValue_1"];var _emscripten_bind_DracoInt32Array___destroy___0=Module["_emscripten_bind_DracoInt32Array___destroy___0"]=asm["_emscripten_bind_DracoInt32Array___destroy___0"];var _emscripten_bind_DracoInt32Array_size_0=Module["_emscripten_bind_DracoInt32Array_size_0"]=asm["_emscripten_bind_DracoInt32Array_size_0"];var _emscripten_bind_DracoInt8Array_DracoInt8Array_0=Module["_emscripten_bind_DracoInt8Array_DracoInt8Array_0"]=asm["_emscripten_bind_DracoInt8Array_DracoInt8Array_0"];var _emscripten_bind_DracoInt8Array_GetValue_1=Module["_emscripten_bind_DracoInt8Array_GetValue_1"]=asm["_emscripten_bind_DracoInt8Array_GetValue_1"];var _emscripten_bind_DracoInt8Array___destroy___0=Module["_emscripten_bind_DracoInt8Array___destroy___0"]=asm["_emscripten_bind_DracoInt8Array___destroy___0"];var _emscripten_bind_DracoInt8Array_size_0=Module["_emscripten_bind_DracoInt8Array_size_0"]=asm["_emscripten_bind_DracoInt8Array_size_0"];var _emscripten_bind_DracoUInt16Array_DracoUInt16Array_0=Module["_emscripten_bind_DracoUInt16Array_DracoUInt16Array_0"]=asm["_emscripten_bind_DracoUInt16Array_DracoUInt16Array_0"];var _emscripten_bind_DracoUInt16Array_GetValue_1=Module["_emscripten_bind_DracoUInt16Array_GetValue_1"]=asm["_emscripten_bind_DracoUInt16Array_GetValue_1"];var _emscripten_bind_DracoUInt16Array___destroy___0=Module["_emscripten_bind_DracoUInt16Array___destroy___0"]=asm["_emscripten_bind_DracoUInt16Array___destroy___0"];var _emscripten_bind_DracoUInt16Array_size_0=Module["_emscripten_bind_DracoUInt16Array_size_0"]=asm["_emscripten_bind_DracoUInt16Array_size_0"];var _emscripten_bind_DracoUInt32Array_DracoUInt32Array_0=Module["_emscripten_bind_DracoUInt32Array_DracoUInt32Array_0"]=asm["_emscripten_bind_DracoUInt32Array_DracoUInt32Array_0"];var _emscripten_bind_DracoUInt32Array_GetValue_1=Module["_emscripten_bind_DracoUInt32Array_GetValue_1"]=asm["_emscripten_bind_DracoUInt32Array_GetValue_1"];var _emscripten_bind_DracoUInt32Array___destroy___0=Module["_emscripten_bind_DracoUInt32Array___destroy___0"]=asm["_emscripten_bind_DracoUInt32Array___destroy___0"];var _emscripten_bind_DracoUInt32Array_size_0=Module["_emscripten_bind_DracoUInt32Array_size_0"]=asm["_emscripten_bind_DracoUInt32Array_size_0"];var _emscripten_bind_DracoUInt8Array_DracoUInt8Array_0=Module["_emscripten_bind_DracoUInt8Array_DracoUInt8Array_0"]=asm["_emscripten_bind_DracoUInt8Array_DracoUInt8Array_0"];var _emscripten_bind_DracoUInt8Array_GetValue_1=Module["_emscripten_bind_DracoUInt8Array_GetValue_1"]=asm["_emscripten_bind_DracoUInt8Array_GetValue_1"];var _emscripten_bind_DracoUInt8Array___destroy___0=Module["_emscripten_bind_DracoUInt8Array___destroy___0"]=asm["_emscripten_bind_DracoUInt8Array___destroy___0"];var _emscripten_bind_DracoUInt8Array_size_0=Module["_emscripten_bind_DracoUInt8Array_size_0"]=asm["_emscripten_bind_DracoUInt8Array_size_0"];var _emscripten_bind_GeometryAttribute_GeometryAttribute_0=Module["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"]=asm["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"];var _emscripten_bind_GeometryAttribute___destroy___0=Module["_emscripten_bind_GeometryAttribute___destroy___0"]=asm["_emscripten_bind_GeometryAttribute___destroy___0"];var _emscripten_bind_Mesh_Mesh_0=Module["_emscripten_bind_Mesh_Mesh_0"]=asm["_emscripten_bind_Mesh_Mesh_0"];var _emscripten_bind_Mesh___destroy___0=Module["_emscripten_bind_Mesh___destroy___0"]=asm["_emscripten_bind_Mesh___destroy___0"];var _emscripten_bind_Mesh_num_attributes_0=Module["_emscripten_bind_Mesh_num_attributes_0"]=asm["_emscripten_bind_Mesh_num_attributes_0"];var _emscripten_bind_Mesh_num_faces_0=Module["_emscripten_bind_Mesh_num_faces_0"]=asm["_emscripten_bind_Mesh_num_faces_0"];var _emscripten_bind_Mesh_num_points_0=Module["_emscripten_bind_Mesh_num_points_0"]=asm["_emscripten_bind_Mesh_num_points_0"];var _emscripten_bind_MetadataQuerier_GetDoubleEntry_2=Module["_emscripten_bind_MetadataQuerier_GetDoubleEntry_2"]=asm["_emscripten_bind_MetadataQuerier_GetDoubleEntry_2"];var _emscripten_bind_MetadataQuerier_GetEntryName_2=Module["_emscripten_bind_MetadataQuerier_GetEntryName_2"]=asm["_emscripten_bind_MetadataQuerier_GetEntryName_2"];var _emscripten_bind_MetadataQuerier_GetIntEntry_2=Module["_emscripten_bind_MetadataQuerier_GetIntEntry_2"]=asm["_emscripten_bind_MetadataQuerier_GetIntEntry_2"];var _emscripten_bind_MetadataQuerier_GetStringEntry_2=Module["_emscripten_bind_MetadataQuerier_GetStringEntry_2"]=asm["_emscripten_bind_MetadataQuerier_GetStringEntry_2"];var _emscripten_bind_MetadataQuerier_HasDoubleEntry_2=Module["_emscripten_bind_MetadataQuerier_HasDoubleEntry_2"]=asm["_emscripten_bind_MetadataQuerier_HasDoubleEntry_2"];var _emscripten_bind_MetadataQuerier_HasEntry_2=Module["_emscripten_bind_MetadataQuerier_HasEntry_2"]=asm["_emscripten_bind_MetadataQuerier_HasEntry_2"];var _emscripten_bind_MetadataQuerier_HasIntEntry_2=Module["_emscripten_bind_MetadataQuerier_HasIntEntry_2"]=asm["_emscripten_bind_MetadataQuerier_HasIntEntry_2"];var _emscripten_bind_MetadataQuerier_HasStringEntry_2=Module["_emscripten_bind_MetadataQuerier_HasStringEntry_2"]=asm["_emscripten_bind_MetadataQuerier_HasStringEntry_2"];var _emscripten_bind_MetadataQuerier_MetadataQuerier_0=Module["_emscripten_bind_MetadataQuerier_MetadataQuerier_0"]=asm["_emscripten_bind_MetadataQuerier_MetadataQuerier_0"];var _emscripten_bind_MetadataQuerier_NumEntries_1=Module["_emscripten_bind_MetadataQuerier_NumEntries_1"]=asm["_emscripten_bind_MetadataQuerier_NumEntries_1"];var _emscripten_bind_MetadataQuerier___destroy___0=Module["_emscripten_bind_MetadataQuerier___destroy___0"]=asm["_emscripten_bind_MetadataQuerier___destroy___0"];var _emscripten_bind_Metadata_Metadata_0=Module["_emscripten_bind_Metadata_Metadata_0"]=asm["_emscripten_bind_Metadata_Metadata_0"];var _emscripten_bind_Metadata___destroy___0=Module["_emscripten_bind_Metadata___destroy___0"]=asm["_emscripten_bind_Metadata___destroy___0"];var _emscripten_bind_PointAttribute_GetAttributeTransformData_0=Module["_emscripten_bind_PointAttribute_GetAttributeTransformData_0"]=asm["_emscripten_bind_PointAttribute_GetAttributeTransformData_0"];var _emscripten_bind_PointAttribute_PointAttribute_0=Module["_emscripten_bind_PointAttribute_PointAttribute_0"]=asm["_emscripten_bind_PointAttribute_PointAttribute_0"];var _emscripten_bind_PointAttribute___destroy___0=Module["_emscripten_bind_PointAttribute___destroy___0"]=asm["_emscripten_bind_PointAttribute___destroy___0"];var _emscripten_bind_PointAttribute_attribute_type_0=Module["_emscripten_bind_PointAttribute_attribute_type_0"]=asm["_emscripten_bind_PointAttribute_attribute_type_0"];var _emscripten_bind_PointAttribute_byte_offset_0=Module["_emscripten_bind_PointAttribute_byte_offset_0"]=asm["_emscripten_bind_PointAttribute_byte_offset_0"];var _emscripten_bind_PointAttribute_byte_stride_0=Module["_emscripten_bind_PointAttribute_byte_stride_0"]=asm["_emscripten_bind_PointAttribute_byte_stride_0"];var _emscripten_bind_PointAttribute_data_type_0=Module["_emscripten_bind_PointAttribute_data_type_0"]=asm["_emscripten_bind_PointAttribute_data_type_0"];var _emscripten_bind_PointAttribute_normalized_0=Module["_emscripten_bind_PointAttribute_normalized_0"]=asm["_emscripten_bind_PointAttribute_normalized_0"];var _emscripten_bind_PointAttribute_num_components_0=Module["_emscripten_bind_PointAttribute_num_components_0"]=asm["_emscripten_bind_PointAttribute_num_components_0"];var _emscripten_bind_PointAttribute_size_0=Module["_emscripten_bind_PointAttribute_size_0"]=asm["_emscripten_bind_PointAttribute_size_0"];var _emscripten_bind_PointAttribute_unique_id_0=Module["_emscripten_bind_PointAttribute_unique_id_0"]=asm["_emscripten_bind_PointAttribute_unique_id_0"];var _emscripten_bind_PointCloud_PointCloud_0=Module["_emscripten_bind_PointCloud_PointCloud_0"]=asm["_emscripten_bind_PointCloud_PointCloud_0"];var _emscripten_bind_PointCloud___destroy___0=Module["_emscripten_bind_PointCloud___destroy___0"]=asm["_emscripten_bind_PointCloud___destroy___0"];var _emscripten_bind_PointCloud_num_attributes_0=Module["_emscripten_bind_PointCloud_num_attributes_0"]=asm["_emscripten_bind_PointCloud_num_attributes_0"];var _emscripten_bind_PointCloud_num_points_0=Module["_emscripten_bind_PointCloud_num_points_0"]=asm["_emscripten_bind_PointCloud_num_points_0"];var _emscripten_bind_Status___destroy___0=Module["_emscripten_bind_Status___destroy___0"]=asm["_emscripten_bind_Status___destroy___0"];var _emscripten_bind_Status_code_0=Module["_emscripten_bind_Status_code_0"]=asm["_emscripten_bind_Status_code_0"];var _emscripten_bind_Status_error_msg_0=Module["_emscripten_bind_Status_error_msg_0"]=asm["_emscripten_bind_Status_error_msg_0"];var _emscripten_bind_Status_ok_0=Module["_emscripten_bind_Status_ok_0"]=asm["_emscripten_bind_Status_ok_0"];var _emscripten_bind_VoidPtr___destroy___0=Module["_emscripten_bind_VoidPtr___destroy___0"]=asm["_emscripten_bind_VoidPtr___destroy___0"];var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM"]=asm["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM"];var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM"]=asm["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM"];var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM"]=asm["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM"];var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM"]=asm["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM"];var _emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=Module["_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE"]=asm["_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE"];var _emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=Module["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"]=asm["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"];var _emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=Module["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"]=asm["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"];var _emscripten_enum_draco_GeometryAttribute_Type_COLOR=Module["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"];var _emscripten_enum_draco_GeometryAttribute_Type_GENERIC=Module["_emscripten_enum_draco_GeometryAttribute_Type_GENERIC"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_GENERIC"];var _emscripten_enum_draco_GeometryAttribute_Type_INVALID=Module["_emscripten_enum_draco_GeometryAttribute_Type_INVALID"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_INVALID"];var _emscripten_enum_draco_GeometryAttribute_Type_NORMAL=Module["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"];var _emscripten_enum_draco_GeometryAttribute_Type_POSITION=Module["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"];var _emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=Module["_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD"];var _emscripten_enum_draco_StatusCode_ERROR=Module["_emscripten_enum_draco_StatusCode_ERROR"]=asm["_emscripten_enum_draco_StatusCode_ERROR"];var _emscripten_enum_draco_StatusCode_INVALID_PARAMETER=Module["_emscripten_enum_draco_StatusCode_INVALID_PARAMETER"]=asm["_emscripten_enum_draco_StatusCode_INVALID_PARAMETER"];var _emscripten_enum_draco_StatusCode_IO_ERROR=Module["_emscripten_enum_draco_StatusCode_IO_ERROR"]=asm["_emscripten_enum_draco_StatusCode_IO_ERROR"];var _emscripten_enum_draco_StatusCode_OK=Module["_emscripten_enum_draco_StatusCode_OK"]=asm["_emscripten_enum_draco_StatusCode_OK"];var _emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=Module["_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION"]=asm["_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION"];var _emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION=Module["_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION"]=asm["_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION"];var _emscripten_replace_memory=Module["_emscripten_replace_memory"]=asm["_emscripten_replace_memory"];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 _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 establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var getTempRet0=Module["getTempRet0"]=asm["getTempRet0"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var setTempRet0=Module["setTempRet0"]=asm["setTempRet0"];var setThrew=Module["setThrew"]=asm["setThrew"];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_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];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"];Module["asm"]=asm;if(memoryInitializer){if(!isDataURI(memoryInitializer)){if(typeof Module["locateFile"]==="function"){memoryInitializer=Module["locateFile"](memoryInitializer)}else if(Module["memoryInitializerPrefixURL"]){memoryInitializer=Module["memoryInitializerPrefixURL"]+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")});function doBrowserLoad(){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"]){function useRequest(){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()}}}Module["then"]=(function(func){if(Module["calledRun"]){func(Module)}else{var old=Module["onRuntimeInitialized"];Module["onRuntimeInitialized"]=(function(){if(old)old();func(Module)})}return Module});function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};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"]();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;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=exit;function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(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()()}}Module["noExitRuntime"]=true;run();function WrapperObject(){}WrapperObject.prototype=Object.create(WrapperObject.prototype);WrapperObject.prototype.constructor=WrapperObject;WrapperObject.prototype.__class__=WrapperObject;WrapperObject.__cache__={};Module["WrapperObject"]=WrapperObject;function getCache(__class__){return(__class__||WrapperObject).__cache__}Module["getCache"]=getCache;function wrapPointer(ptr,__class__){var cache=getCache(__class__);var ret=cache[ptr];if(ret)return ret;ret=Object.create((__class__||WrapperObject).prototype);ret.ptr=ptr;return cache[ptr]=ret}Module["wrapPointer"]=wrapPointer;function castObject(obj,__class__){return wrapPointer(obj.ptr,__class__)}Module["castObject"]=castObject;Module["NULL"]=wrapPointer(0);function destroy(obj){if(!obj["__destroy__"])throw"Error: Cannot destroy object. (Did you create it yourself?)";obj["__destroy__"]();delete getCache(obj.__class__)[obj.ptr]}Module["destroy"]=destroy;function compare(obj1,obj2){return obj1.ptr===obj2.ptr}Module["compare"]=compare;function getPointer(obj){return obj.ptr}Module["getPointer"]=getPointer;function getClass(obj){return obj.__class__}Module["getClass"]=getClass;var ensureCache={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:(function(){if(ensureCache.needed){for(var i=0;i=ensureCache.size){assert(len>0);ensureCache.needed+=len;ret=Module["_malloc"](len);ensureCache.temps.push(ret)}else{ret=ensureCache.buffer+ensureCache.pos;ensureCache.pos+=len}return ret}),copy:(function(array,view,offset){var offsetShifted=offset;var bytes=view.BYTES_PER_ELEMENT;switch(bytes){case 2:offsetShifted>>=1;break;case 4:offsetShifted>>=2;break;case 8:offsetShifted>>=3;break}for(var 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 R-R_(gO$!GI59rJB{{cN^_yGU_ literal 0 HcmV?d00001 diff --git a/public/draco-gltf/draco_wasm_wrapper.js b/public/draco-gltf/draco_wasm_wrapper.js new file mode 100644 index 0000000..22f4561 --- /dev/null +++ b/public/draco-gltf/draco_wasm_wrapper.js @@ -0,0 +1,119 @@ +var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(d,k,f){d!=Array.prototype&&d!=Object.prototype&&(d[k]=f.value)};$jscomp.getGlobal=function(d){return"undefined"!=typeof window&&window===d?d:"undefined"!=typeof global&&null!=global?global:d};$jscomp.global=$jscomp.getGlobal(this); +$jscomp.polyfill=function(d,k,f,u){if(k){f=$jscomp.global;d=d.split(".");for(u=0;u>>16&65535)*h+k*(f>>>16&65535)<<16>>>0)|0}},"es6","es3"); +$jscomp.polyfill("Math.clz32",function(d){return d?d:function(d){d=Number(d)>>>0;if(0===d)return 32;var f=0;0===(d&4294901760)&&(d<<=16,f+=16);0===(d&4278190080)&&(d<<=8,f+=8);0===(d&4026531840)&&(d<<=4,f+=4);0===(d&3221225472)&&(d<<=2,f+=2);0===(d&2147483648)&&f++;return f}},"es6","es3");$jscomp.polyfill("Math.trunc",function(d){return d?d:function(d){d=Number(d);if(isNaN(d)||Infinity===d||-Infinity===d||0===d)return d;var f=Math.floor(Math.abs(d));return 0>d?-f:f}},"es6","es3"); +$jscomp.SYMBOL_PREFIX="jscomp_symbol_";$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){};$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)};$jscomp.Symbol=function(){var d=0;return function(k){return $jscomp.SYMBOL_PREFIX+(k||"")+d++}}(); +$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var d=$jscomp.global.Symbol.iterator;d||(d=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator"));"function"!=typeof Array.prototype[d]&&$jscomp.defineProperty(Array.prototype,d,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}});$jscomp.initSymbolIterator=function(){}};$jscomp.arrayIterator=function(d){var k=0;return $jscomp.iteratorPrototype(function(){return k>0];b|=e;if(0==e&&!c)break;d++;if(c&&d==c)break}c||(c=d);e="";if(128>b){for(;0e?b+=String.fromCharCode(e):(e-=65536,b+=String.fromCharCode(55296|e>>10,56320|e&1023))}}else b+=String.fromCharCode(e)}}function ha(a,c){0< +a%c&&(a+=c-a%c);return a}function r(){a.HEAP8=ia=new Int8Array(D);a.HEAP16=Ja=new Int16Array(D);a.HEAP32=E=new Int32Array(D);a.HEAPU8=W=new Uint8Array(D);a.HEAPU16=new Uint16Array(D);a.HEAPU32=new Uint32Array(D);a.HEAPF32=new Float32Array(D);a.HEAPF64=new Float64Array(D)}function B(e){for(;0>2]=e;e=la.buffer;for(var d=0;d>2],c.adjusted=e,(sa(p[d]),e)|0;e=E[e>>2]; +return(sa(b),e)|0}function Z(e,c){w.varargs=c;try{var b=w.get(),p=w.get(),d=w.get();e=0;Z.buffers||(Z.buffers=[null,[],[]],Z.printChar=function(c,b){var e=Z.buffers[c];f(e);0===b||10===b?((1===c?a.print:a.printErr)(h(e,0)),e.length=0):e.push(b)});for(c=0;c>2],k=E[p+(8*c+4)>>2],l=0;l=e&&(e=65536+((e&1023)<<10)|a.charCodeAt(++b)&1023);127>=e?++c:c=2047>=e?c+2:65535>=e?c+3:2097151>=e?c+4:67108863>=e?c+5:c+6}c=Array(c+1);b=0;e=c.length;if(0=f&&(f=65536+((f&1023)<<10)|a.charCodeAt(++d)&1023);if(127>=f){if(b>=e)break;c[b++]=f}else{if(2047>=f){if(b+1>=e)break;c[b++]=192|f>>6}else{if(65535>=f){if(b+2>=e)break;c[b++]=224|f>>12}else{if(2097151>=f){if(b+ +3>=e)break;c[b++]=240|f>>18}else{if(67108863>=f){if(b+4>=e)break;c[b++]=248|f>>24}else{if(b+5>=e)break;c[b++]=252|f>>30;c[b++]=128|f>>24&63}c[b++]=128|f>>18&63}c[b++]=128|f>>12&63}c[b++]=128|f>>6&63}c[b++]=128|f&63}}c[b]=0}a=l.alloc(c,ia);l.copy(c,ia,a)}return a}function z(){throw"cannot construct a Status, no constructor in IDL";}function F(){this.ptr=Wa();t(F)[this.ptr]=this}function G(){this.ptr=Xa();t(G)[this.ptr]=this}function H(){this.ptr=Ya();t(H)[this.ptr]=this}function I(){this.ptr=Za(); +t(I)[this.ptr]=this}function J(){this.ptr=$a();t(J)[this.ptr]=this}function n(){this.ptr=ab();t(n)[this.ptr]=this}function P(){this.ptr=bb();t(P)[this.ptr]=this}function x(){this.ptr=cb();t(x)[this.ptr]=this}function K(){this.ptr=db();t(K)[this.ptr]=this}function q(){this.ptr=eb();t(q)[this.ptr]=this}function L(){this.ptr=fb();t(L)[this.ptr]=this}function M(){this.ptr=gb();t(M)[this.ptr]=this}function V(){this.ptr=hb();t(V)[this.ptr]=this}function Q(){this.ptr=ib();t(Q)[this.ptr]=this}function g(){this.ptr= +jb();t(g)[this.ptr]=this}function C(){this.ptr=kb();t(C)[this.ptr]=this}function X(){throw"cannot construct a VoidPtr, no constructor in IDL";}function N(){this.ptr=lb();t(N)[this.ptr]=this}function R(){this.ptr=mb();t(R)[this.ptr]=this}d=d||{};var a="undefined"!==typeof d?d:{},Qa=!1,Ra=!1;a.onRuntimeInitialized=function(){Qa=!0;if(Ra&&"function"===typeof a.onModuleLoaded)a.onModuleLoaded(a)};a.onModuleParsed=function(){Ra=!0;if(Qa&&"function"===typeof a.onModuleLoaded)a.onModuleLoaded(a)};a.isVersionSupported= +function(a){if("string"!==typeof a)return!1;a=a.split(".");return 2>a.length||3=a[1]?!0:0!=a[0]||10>2]},getStr:function(){return u(w.get())},get64:function(){var a=w.get(),c=w.get();0<=a?f(0===c):f(-1===c);return a},getZero:function(){f(0===w.get())}},va={},Ha=1;ka=function(a){f(!Sa);var c=ba;ba=ba+ +a+15&-16;return c}(4);Ca=ta=k(ba);ua=Ca+Fa;Da=k(ua);E[ka>>2]=Da;Sa=!0;a.wasmTableSize=468;a.wasmMaxTableSize=468;a.asmGlobalArg={};a.asmLibraryArg={abort:O,assert:f,enlargeMemory:function(){var e=a.usingWasm?65536:16777216,c=2147483648-e;if(E[ka>>2]>c)return!1;var b=A;for(A=Math.max(A,16777216);A>2];)A=536870912>=A?ha(2*A,e):Math.min(ha((3*A+2147483648)/4,e),c);e=a.reallocBuffer(A);if(!e||e.byteLength!=A)return A=b,!1;a.buffer=D=e;r();return!0},getTotalMemory:function(){return A},abortOnCannotGrowMemory:function(){O("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+ +A+", (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 ")},invoke_ii:function(e,c){try{return a.dynCall_ii(e,c)}catch(b){if("number"!==typeof b&&"longjmp"!==b)throw b;a.setThrew(1,0)}},invoke_iii:function(e,c,b){try{return a.dynCall_iii(e,c,b)}catch(p){if("number"!==typeof p&&"longjmp"!==p)throw p;a.setThrew(1,0)}},invoke_iiii:function(e,c,b,d){try{return a.dynCall_iiii(e, +c,b,d)}catch(S){if("number"!==typeof S&&"longjmp"!==S)throw S;a.setThrew(1,0)}},invoke_iiiiiii:function(e,c,b,d,f,g,h){try{return a.dynCall_iiiiiii(e,c,b,d,f,g,h)}catch(da){if("number"!==typeof da&&"longjmp"!==da)throw da;a.setThrew(1,0)}},invoke_v:function(e){try{a.dynCall_v(e)}catch(c){if("number"!==typeof c&&"longjmp"!==c)throw c;a.setThrew(1,0)}},invoke_vi:function(e,c){try{a.dynCall_vi(e,c)}catch(b){if("number"!==typeof b&&"longjmp"!==b)throw b;a.setThrew(1,0)}},invoke_vii:function(e,c,b){try{a.dynCall_vii(e, +c,b)}catch(p){if("number"!==typeof p&&"longjmp"!==p)throw p;a.setThrew(1,0)}},invoke_viii:function(e,c,b,d){try{a.dynCall_viii(e,c,b,d)}catch(S){if("number"!==typeof S&&"longjmp"!==S)throw S;a.setThrew(1,0)}},invoke_viiii:function(e,c,b,d,f){try{a.dynCall_viiii(e,c,b,d,f)}catch(xa){if("number"!==typeof xa&&"longjmp"!==xa)throw xa;a.setThrew(1,0)}},invoke_viiiii:function(e,c,b,d,f,g){try{a.dynCall_viiiii(e,c,b,d,f,g)}catch(ca){if("number"!==typeof ca&&"longjmp"!==ca)throw ca;a.setThrew(1,0)}},invoke_viiiiii:function(e, +c,b,d,f,g,h){try{a.dynCall_viiiiii(e,c,b,d,f,g,h)}catch(da){if("number"!==typeof da&&"longjmp"!==da)throw da;a.setThrew(1,0)}},__ZSt18uncaught_exceptionv:v,___cxa_allocate_exception:function(a){return Ka(a)},___cxa_begin_catch:function(a){var c=y.infos[a];c&&!c.caught&&(c.caught=!0,v.uncaught_exception--);c&&(c.rethrown=!1);y.caught.push(a);y.addRef(y.deAdjust(a));return a},___cxa_find_matching_catch:la,___cxa_pure_virtual:function(){oa=!0;throw"Pure virtual function called!";},___cxa_throw:function(a, +c,b){y.infos[a]={ptr:a,adjusted:a,type:c,destructor:b,refcount:0,caught:!1,rethrown:!1};y.last=a;"uncaught_exception"in v?v.uncaught_exception++:v.uncaught_exception=1;throw a+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.";},___gxx_personality_v0:function(){},___resumeException:function(a){y.last||(y.last=a);throw a+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."; +},___setErrNo:function(d){a.___errno_location&&(E[a.___errno_location()>>2]=d);return d},___syscall140:function(a,c){w.varargs=c;try{var b=w.getStreamFromFD();w.get();var d=w.get(),e=w.get(),f=w.get();FS.llseek(b,d,f);E[e>>2]=b.position;b.getdents&&0===d&&0===f&&(b.getdents=null);return 0}catch(ca){return"undefined"!==typeof FS&&ca instanceof FS.ErrnoError||O(ca),-ca.errno}},___syscall146:Z,___syscall6:function(a,c){w.varargs=c;try{var b=w.getStreamFromFD();FS.close(b);return 0}catch(p){return"undefined"!== +typeof FS&&p instanceof FS.ErrnoError||O(p),-p.errno}},_abort:function(){a.abort()},_emscripten_memcpy_big:function(a,c,b){W.set(W.subarray(c,c+b),a);return a},_llvm_trap:function(){O("trap!")},_pthread_getspecific:function(a){return va[a]||0},_pthread_key_create:function(a,c){if(0==a)return 22;E[a>>2]=Ha;va[Ha]=0;Ha++;return 0},_pthread_once:ma,_pthread_setspecific:function(a,c){if(!(a in va))return 22;va[a]=c;return 0},flush_NO_FILESYSTEM:function(){var d=a._fflush;d&&d(0);if(d=Z.printChar){var c= +Z.buffers;c[1].length&&d(1,10);c[2].length&&d(2,10)}},DYNAMICTOP_PTR:ka,tempDoublePtr:qb,ABORT:oa,STACKTOP:ta,STACK_MAX:ua};var Ua=a.asm(a.asmGlobalArg,a.asmLibraryArg,D);a.asm=Ua;a.___cxa_can_catch=function(){return a.asm.___cxa_can_catch.apply(null,arguments)};a.___cxa_is_pointer_type=function(){return a.asm.___cxa_is_pointer_type.apply(null,arguments)};var $a=a._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=function(){return a.asm._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0.apply(null, +arguments)},rb=a._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1=function(){return a.asm._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1.apply(null,arguments)},sb=a._emscripten_bind_AttributeOctahedronTransform___destroy___0=function(){return a.asm._emscripten_bind_AttributeOctahedronTransform___destroy___0.apply(null,arguments)},tb=a._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=function(){return a.asm._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0.apply(null, +arguments)},cb=a._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0.apply(null,arguments)},ub=a._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1.apply(null,arguments)},vb=a._emscripten_bind_AttributeQuantizationTransform___destroy___0=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform___destroy___0.apply(null, +arguments)},wb=a._emscripten_bind_AttributeQuantizationTransform_min_value_1=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_min_value_1.apply(null,arguments)},xb=a._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0.apply(null,arguments)},yb=a._emscripten_bind_AttributeQuantizationTransform_range_0=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_range_0.apply(null, +arguments)},bb=a._emscripten_bind_AttributeTransformData_AttributeTransformData_0=function(){return a.asm._emscripten_bind_AttributeTransformData_AttributeTransformData_0.apply(null,arguments)},zb=a._emscripten_bind_AttributeTransformData___destroy___0=function(){return a.asm._emscripten_bind_AttributeTransformData___destroy___0.apply(null,arguments)},Ab=a._emscripten_bind_AttributeTransformData_transform_type_0=function(){return a.asm._emscripten_bind_AttributeTransformData_transform_type_0.apply(null, +arguments)},ib=a._emscripten_bind_DecoderBuffer_DecoderBuffer_0=function(){return a.asm._emscripten_bind_DecoderBuffer_DecoderBuffer_0.apply(null,arguments)},Bb=a._emscripten_bind_DecoderBuffer_Init_2=function(){return a.asm._emscripten_bind_DecoderBuffer_Init_2.apply(null,arguments)},Cb=a._emscripten_bind_DecoderBuffer___destroy___0=function(){return a.asm._emscripten_bind_DecoderBuffer___destroy___0.apply(null,arguments)},Db=a._emscripten_bind_Decoder_DecodeBufferToMesh_2=function(){return a.asm._emscripten_bind_Decoder_DecodeBufferToMesh_2.apply(null, +arguments)},Eb=a._emscripten_bind_Decoder_DecodeBufferToPointCloud_2=function(){return a.asm._emscripten_bind_Decoder_DecodeBufferToPointCloud_2.apply(null,arguments)},jb=a._emscripten_bind_Decoder_Decoder_0=function(){return a.asm._emscripten_bind_Decoder_Decoder_0.apply(null,arguments)},Fb=a._emscripten_bind_Decoder_GetAttributeByUniqueId_2=function(){return a.asm._emscripten_bind_Decoder_GetAttributeByUniqueId_2.apply(null,arguments)},Gb=a._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3= +function(){return a.asm._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3.apply(null,arguments)},Hb=a._emscripten_bind_Decoder_GetAttributeFloat_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeFloat_3.apply(null,arguments)},Ib=a._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3.apply(null,arguments)},Jb=a._emscripten_bind_Decoder_GetAttributeIdByName_2=function(){return a.asm._emscripten_bind_Decoder_GetAttributeIdByName_2.apply(null, +arguments)},Kb=a._emscripten_bind_Decoder_GetAttributeId_2=function(){return a.asm._emscripten_bind_Decoder_GetAttributeId_2.apply(null,arguments)},Lb=a._emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3.apply(null,arguments)},Mb=a._emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3.apply(null,arguments)},Nb=a._emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3= +function(){return a.asm._emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3.apply(null,arguments)},Ob=a._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3.apply(null,arguments)},Pb=a._emscripten_bind_Decoder_GetAttributeMetadata_2=function(){return a.asm._emscripten_bind_Decoder_GetAttributeMetadata_2.apply(null,arguments)},Qb=a._emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3.apply(null, +arguments)},Rb=a._emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3.apply(null,arguments)},Sb=a._emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3.apply(null,arguments)},Tb=a._emscripten_bind_Decoder_GetAttribute_2=function(){return a.asm._emscripten_bind_Decoder_GetAttribute_2.apply(null,arguments)},Ub=a._emscripten_bind_Decoder_GetEncodedGeometryType_1= +function(){return a.asm._emscripten_bind_Decoder_GetEncodedGeometryType_1.apply(null,arguments)},Vb=a._emscripten_bind_Decoder_GetFaceFromMesh_3=function(){return a.asm._emscripten_bind_Decoder_GetFaceFromMesh_3.apply(null,arguments)},Wb=a._emscripten_bind_Decoder_GetMetadata_1=function(){return a.asm._emscripten_bind_Decoder_GetMetadata_1.apply(null,arguments)},Xb=a._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=function(){return a.asm._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2.apply(null, +arguments)},Yb=a._emscripten_bind_Decoder_SkipAttributeTransform_1=function(){return a.asm._emscripten_bind_Decoder_SkipAttributeTransform_1.apply(null,arguments)},Zb=a._emscripten_bind_Decoder___destroy___0=function(){return a.asm._emscripten_bind_Decoder___destroy___0.apply(null,arguments)},gb=a._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=function(){return a.asm._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0.apply(null,arguments)},$b=a._emscripten_bind_DracoFloat32Array_GetValue_1= +function(){return a.asm._emscripten_bind_DracoFloat32Array_GetValue_1.apply(null,arguments)},ac=a._emscripten_bind_DracoFloat32Array___destroy___0=function(){return a.asm._emscripten_bind_DracoFloat32Array___destroy___0.apply(null,arguments)},bc=a._emscripten_bind_DracoFloat32Array_size_0=function(){return a.asm._emscripten_bind_DracoFloat32Array_size_0.apply(null,arguments)},fb=a._emscripten_bind_DracoInt16Array_DracoInt16Array_0=function(){return a.asm._emscripten_bind_DracoInt16Array_DracoInt16Array_0.apply(null, +arguments)},cc=a._emscripten_bind_DracoInt16Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoInt16Array_GetValue_1.apply(null,arguments)},dc=a._emscripten_bind_DracoInt16Array___destroy___0=function(){return a.asm._emscripten_bind_DracoInt16Array___destroy___0.apply(null,arguments)},ec=a._emscripten_bind_DracoInt16Array_size_0=function(){return a.asm._emscripten_bind_DracoInt16Array_size_0.apply(null,arguments)},lb=a._emscripten_bind_DracoInt32Array_DracoInt32Array_0=function(){return a.asm._emscripten_bind_DracoInt32Array_DracoInt32Array_0.apply(null, +arguments)},fc=a._emscripten_bind_DracoInt32Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoInt32Array_GetValue_1.apply(null,arguments)},gc=a._emscripten_bind_DracoInt32Array___destroy___0=function(){return a.asm._emscripten_bind_DracoInt32Array___destroy___0.apply(null,arguments)},hc=a._emscripten_bind_DracoInt32Array_size_0=function(){return a.asm._emscripten_bind_DracoInt32Array_size_0.apply(null,arguments)},db=a._emscripten_bind_DracoInt8Array_DracoInt8Array_0=function(){return a.asm._emscripten_bind_DracoInt8Array_DracoInt8Array_0.apply(null, +arguments)},ic=a._emscripten_bind_DracoInt8Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoInt8Array_GetValue_1.apply(null,arguments)},jc=a._emscripten_bind_DracoInt8Array___destroy___0=function(){return a.asm._emscripten_bind_DracoInt8Array___destroy___0.apply(null,arguments)},kc=a._emscripten_bind_DracoInt8Array_size_0=function(){return a.asm._emscripten_bind_DracoInt8Array_size_0.apply(null,arguments)},Wa=a._emscripten_bind_DracoUInt16Array_DracoUInt16Array_0=function(){return a.asm._emscripten_bind_DracoUInt16Array_DracoUInt16Array_0.apply(null, +arguments)},lc=a._emscripten_bind_DracoUInt16Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoUInt16Array_GetValue_1.apply(null,arguments)},mc=a._emscripten_bind_DracoUInt16Array___destroy___0=function(){return a.asm._emscripten_bind_DracoUInt16Array___destroy___0.apply(null,arguments)},nc=a._emscripten_bind_DracoUInt16Array_size_0=function(){return a.asm._emscripten_bind_DracoUInt16Array_size_0.apply(null,arguments)},Za=a._emscripten_bind_DracoUInt32Array_DracoUInt32Array_0=function(){return a.asm._emscripten_bind_DracoUInt32Array_DracoUInt32Array_0.apply(null, +arguments)},oc=a._emscripten_bind_DracoUInt32Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoUInt32Array_GetValue_1.apply(null,arguments)},pc=a._emscripten_bind_DracoUInt32Array___destroy___0=function(){return a.asm._emscripten_bind_DracoUInt32Array___destroy___0.apply(null,arguments)},qc=a._emscripten_bind_DracoUInt32Array_size_0=function(){return a.asm._emscripten_bind_DracoUInt32Array_size_0.apply(null,arguments)},Ya=a._emscripten_bind_DracoUInt8Array_DracoUInt8Array_0=function(){return a.asm._emscripten_bind_DracoUInt8Array_DracoUInt8Array_0.apply(null, +arguments)},rc=a._emscripten_bind_DracoUInt8Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoUInt8Array_GetValue_1.apply(null,arguments)},sc=a._emscripten_bind_DracoUInt8Array___destroy___0=function(){return a.asm._emscripten_bind_DracoUInt8Array___destroy___0.apply(null,arguments)},tc=a._emscripten_bind_DracoUInt8Array_size_0=function(){return a.asm._emscripten_bind_DracoUInt8Array_size_0.apply(null,arguments)},hb=a._emscripten_bind_GeometryAttribute_GeometryAttribute_0=function(){return a.asm._emscripten_bind_GeometryAttribute_GeometryAttribute_0.apply(null, +arguments)},uc=a._emscripten_bind_GeometryAttribute___destroy___0=function(){return a.asm._emscripten_bind_GeometryAttribute___destroy___0.apply(null,arguments)},kb=a._emscripten_bind_Mesh_Mesh_0=function(){return a.asm._emscripten_bind_Mesh_Mesh_0.apply(null,arguments)},vc=a._emscripten_bind_Mesh___destroy___0=function(){return a.asm._emscripten_bind_Mesh___destroy___0.apply(null,arguments)},wc=a._emscripten_bind_Mesh_num_attributes_0=function(){return a.asm._emscripten_bind_Mesh_num_attributes_0.apply(null, +arguments)},xc=a._emscripten_bind_Mesh_num_faces_0=function(){return a.asm._emscripten_bind_Mesh_num_faces_0.apply(null,arguments)},yc=a._emscripten_bind_Mesh_num_points_0=function(){return a.asm._emscripten_bind_Mesh_num_points_0.apply(null,arguments)},zc=a._emscripten_bind_MetadataQuerier_GetDoubleEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_GetDoubleEntry_2.apply(null,arguments)},Ac=a._emscripten_bind_MetadataQuerier_GetEntryName_2=function(){return a.asm._emscripten_bind_MetadataQuerier_GetEntryName_2.apply(null, +arguments)},Bc=a._emscripten_bind_MetadataQuerier_GetIntEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_GetIntEntry_2.apply(null,arguments)},Cc=a._emscripten_bind_MetadataQuerier_GetStringEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_GetStringEntry_2.apply(null,arguments)},Dc=a._emscripten_bind_MetadataQuerier_HasDoubleEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_HasDoubleEntry_2.apply(null,arguments)},Ec=a._emscripten_bind_MetadataQuerier_HasEntry_2= +function(){return a.asm._emscripten_bind_MetadataQuerier_HasEntry_2.apply(null,arguments)},Fc=a._emscripten_bind_MetadataQuerier_HasIntEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_HasIntEntry_2.apply(null,arguments)},Gc=a._emscripten_bind_MetadataQuerier_HasStringEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_HasStringEntry_2.apply(null,arguments)},eb=a._emscripten_bind_MetadataQuerier_MetadataQuerier_0=function(){return a.asm._emscripten_bind_MetadataQuerier_MetadataQuerier_0.apply(null, +arguments)},Hc=a._emscripten_bind_MetadataQuerier_NumEntries_1=function(){return a.asm._emscripten_bind_MetadataQuerier_NumEntries_1.apply(null,arguments)},Ic=a._emscripten_bind_MetadataQuerier___destroy___0=function(){return a.asm._emscripten_bind_MetadataQuerier___destroy___0.apply(null,arguments)},mb=a._emscripten_bind_Metadata_Metadata_0=function(){return a.asm._emscripten_bind_Metadata_Metadata_0.apply(null,arguments)},Jc=a._emscripten_bind_Metadata___destroy___0=function(){return a.asm._emscripten_bind_Metadata___destroy___0.apply(null, +arguments)},Kc=a._emscripten_bind_PointAttribute_GetAttributeTransformData_0=function(){return a.asm._emscripten_bind_PointAttribute_GetAttributeTransformData_0.apply(null,arguments)},ab=a._emscripten_bind_PointAttribute_PointAttribute_0=function(){return a.asm._emscripten_bind_PointAttribute_PointAttribute_0.apply(null,arguments)},Lc=a._emscripten_bind_PointAttribute___destroy___0=function(){return a.asm._emscripten_bind_PointAttribute___destroy___0.apply(null,arguments)},Mc=a._emscripten_bind_PointAttribute_attribute_type_0= +function(){return a.asm._emscripten_bind_PointAttribute_attribute_type_0.apply(null,arguments)},Nc=a._emscripten_bind_PointAttribute_byte_offset_0=function(){return a.asm._emscripten_bind_PointAttribute_byte_offset_0.apply(null,arguments)},Oc=a._emscripten_bind_PointAttribute_byte_stride_0=function(){return a.asm._emscripten_bind_PointAttribute_byte_stride_0.apply(null,arguments)},Pc=a._emscripten_bind_PointAttribute_data_type_0=function(){return a.asm._emscripten_bind_PointAttribute_data_type_0.apply(null, +arguments)},Qc=a._emscripten_bind_PointAttribute_normalized_0=function(){return a.asm._emscripten_bind_PointAttribute_normalized_0.apply(null,arguments)},Rc=a._emscripten_bind_PointAttribute_num_components_0=function(){return a.asm._emscripten_bind_PointAttribute_num_components_0.apply(null,arguments)},Sc=a._emscripten_bind_PointAttribute_size_0=function(){return a.asm._emscripten_bind_PointAttribute_size_0.apply(null,arguments)},Tc=a._emscripten_bind_PointAttribute_unique_id_0=function(){return a.asm._emscripten_bind_PointAttribute_unique_id_0.apply(null, +arguments)},Xa=a._emscripten_bind_PointCloud_PointCloud_0=function(){return a.asm._emscripten_bind_PointCloud_PointCloud_0.apply(null,arguments)},Uc=a._emscripten_bind_PointCloud___destroy___0=function(){return a.asm._emscripten_bind_PointCloud___destroy___0.apply(null,arguments)},Vc=a._emscripten_bind_PointCloud_num_attributes_0=function(){return a.asm._emscripten_bind_PointCloud_num_attributes_0.apply(null,arguments)},Wc=a._emscripten_bind_PointCloud_num_points_0=function(){return a.asm._emscripten_bind_PointCloud_num_points_0.apply(null, +arguments)},Xc=a._emscripten_bind_Status___destroy___0=function(){return a.asm._emscripten_bind_Status___destroy___0.apply(null,arguments)},Yc=a._emscripten_bind_Status_code_0=function(){return a.asm._emscripten_bind_Status_code_0.apply(null,arguments)},Zc=a._emscripten_bind_Status_error_msg_0=function(){return a.asm._emscripten_bind_Status_error_msg_0.apply(null,arguments)},$c=a._emscripten_bind_Status_ok_0=function(){return a.asm._emscripten_bind_Status_ok_0.apply(null,arguments)},ad=a._emscripten_bind_VoidPtr___destroy___0= +function(){return a.asm._emscripten_bind_VoidPtr___destroy___0.apply(null,arguments)},bd=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=function(){return a.asm._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM.apply(null,arguments)},cd=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM=function(){return a.asm._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM.apply(null,arguments)},dd=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM= +function(){return a.asm._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM.apply(null,arguments)},ed=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=function(){return a.asm._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM.apply(null,arguments)},fd=a._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=function(){return a.asm._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE.apply(null, +arguments)},gd=a._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=function(){return a.asm._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD.apply(null,arguments)},hd=a._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=function(){return a.asm._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH.apply(null,arguments)},id=a._emscripten_enum_draco_GeometryAttribute_Type_COLOR=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_COLOR.apply(null,arguments)},jd= +a._emscripten_enum_draco_GeometryAttribute_Type_GENERIC=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_GENERIC.apply(null,arguments)},kd=a._emscripten_enum_draco_GeometryAttribute_Type_INVALID=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_INVALID.apply(null,arguments)},ld=a._emscripten_enum_draco_GeometryAttribute_Type_NORMAL=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_NORMAL.apply(null,arguments)},md=a._emscripten_enum_draco_GeometryAttribute_Type_POSITION= +function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_POSITION.apply(null,arguments)},nd=a._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD.apply(null,arguments)},od=a._emscripten_enum_draco_StatusCode_ERROR=function(){return a.asm._emscripten_enum_draco_StatusCode_ERROR.apply(null,arguments)},pd=a._emscripten_enum_draco_StatusCode_INVALID_PARAMETER=function(){return a.asm._emscripten_enum_draco_StatusCode_INVALID_PARAMETER.apply(null, +arguments)},qd=a._emscripten_enum_draco_StatusCode_IO_ERROR=function(){return a.asm._emscripten_enum_draco_StatusCode_IO_ERROR.apply(null,arguments)},rd=a._emscripten_enum_draco_StatusCode_OK=function(){return a.asm._emscripten_enum_draco_StatusCode_OK.apply(null,arguments)},sd=a._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=function(){return a.asm._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION.apply(null,arguments)},td=a._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION=function(){return a.asm._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION.apply(null, +arguments)},nb=a._emscripten_replace_memory=function(){return a.asm._emscripten_replace_memory.apply(null,arguments)};a._free=function(){return a.asm._free.apply(null,arguments)};a._llvm_bswap_i32=function(){return a.asm._llvm_bswap_i32.apply(null,arguments)};var Ka=a._malloc=function(){return a.asm._malloc.apply(null,arguments)};a._memcpy=function(){return a.asm._memcpy.apply(null,arguments)};a._memmove=function(){return a.asm._memmove.apply(null,arguments)};a._memset=function(){return a.asm._memset.apply(null, +arguments)};a._sbrk=function(){return a.asm._sbrk.apply(null,arguments)};a.establishStackSpace=function(){return a.asm.establishStackSpace.apply(null,arguments)};a.getTempRet0=function(){return a.asm.getTempRet0.apply(null,arguments)};a.runPostSets=function(){return a.asm.runPostSets.apply(null,arguments)};var sa=a.setTempRet0=function(){return a.asm.setTempRet0.apply(null,arguments)};a.setThrew=function(){return a.asm.setThrew.apply(null,arguments)};a.stackAlloc=function(){return a.asm.stackAlloc.apply(null, +arguments)};a.stackRestore=function(){return a.asm.stackRestore.apply(null,arguments)};a.stackSave=function(){return a.asm.stackSave.apply(null,arguments)};a.dynCall_ii=function(){return a.asm.dynCall_ii.apply(null,arguments)};a.dynCall_iii=function(){return a.asm.dynCall_iii.apply(null,arguments)};a.dynCall_iiii=function(){return a.asm.dynCall_iiii.apply(null,arguments)};a.dynCall_iiiiiii=function(){return a.asm.dynCall_iiiiiii.apply(null,arguments)};a.dynCall_v=function(){return a.asm.dynCall_v.apply(null, +arguments)};a.dynCall_vi=function(){return a.asm.dynCall_vi.apply(null,arguments)};a.dynCall_vii=function(){return a.asm.dynCall_vii.apply(null,arguments)};a.dynCall_viii=function(){return a.asm.dynCall_viii.apply(null,arguments)};a.dynCall_viiii=function(){return a.asm.dynCall_viiii.apply(null,arguments)};a.dynCall_viiiii=function(){return a.asm.dynCall_viiiii.apply(null,arguments)};a.dynCall_viiiiii=function(){return a.asm.dynCall_viiiiii.apply(null,arguments)};a.asm=Ua;a.then=function(d){if(a.calledRun)d(a); +else{var c=a.onRuntimeInitialized;a.onRuntimeInitialized=function(){c&&c();d(a)}}return a};na.prototype=Error();na.prototype.constructor=na;ra=function c(){a.calledRun||wa();a.calledRun||(ra=c)};a.run=wa;a.exit=function(c,b){if(!b||!a.noExitRuntime||0!==c){if(!a.noExitRuntime&&(oa=!0,ta=void 0,B(ob),a.onExit))a.onExit(c);qa&&process.exit(c);a.quit(c,new na(c))}};a.abort=O;if(a.preInit)for("function"==typeof a.preInit&&(a.preInit=[a.preInit]);0=l.size?(f(0>= +1;break;case 4:d>>=2;break;case 8:d>>=3}for(var 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 MDeX2GIKR{Qf5okjU;qFB diff --git a/public/icon.png b/public/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..8d314d16b0a7621a1622fb9c2662541d21d28968 GIT binary patch literal 475 zcmV<10VMv3P)~kt2Q=9RXvdPKW_4WUkm#Fmg|J&Q^q@=XW%-p7?w}^UVdCEiFB~yv%rbh$|~QGBQG(oUGE) z;-{y$e}9nd?EUcY|F&+8&;S4cwMj%lR2b83&*u(;KoA7rMGoN*g;QxZIJ=@^?***r z`#+F+(U_=zzszQ40k{~Cgt#ci1;ocVfL{O!zd=qYNr059$%Fw;XR-=_ZkRl=Y}+Ea ze4$tZa9qlha-~ux)mps)FKD(}ZI94SH_1T4J>TyShNJOBVSuKy`Fycl(e;L7u-ye= z80 - + - - - - - - React App + +

- diff --git a/public/logo192.png b/public/logo192.png deleted file mode 100644 index fc44b0a3796c0e0a64c3d858ca038bd4570465d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5347 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 b{|{}U^kRn2wo}j7|0ATu<;8xA7zX}7|B6mN diff --git a/public/manifest.json b/public/manifest.json deleted file mode 100644 index 080d6c7..0000000 --- a/public/manifest.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "short_name": "React App", - "name": "Create React App Sample", - "icons": [ - { - "src": "favicon.ico", - "sizes": "64x64 32x32 24x24 16x16", - "type": "image/x-icon" - }, - { - "src": "logo192.png", - "type": "image/png", - "sizes": "192x192" - }, - { - "src": "logo512.png", - "type": "image/png", - "sizes": "512x512" - } - ], - "start_url": ".", - "display": "standalone", - "theme_color": "#000000", - "background_color": "#ffffff" -} diff --git a/public/models/ring0.glb b/public/models/ring0.glb new file mode 100644 index 0000000000000000000000000000000000000000..53f309c34905dae67748b78b7cc4ec4698b7e848 GIT binary patch literal 18588 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 literal 0 HcmV?d00001 diff --git a/public/robots.txt b/public/robots.txt deleted file mode 100644 index e9e57dc..0000000 --- a/public/robots.txt +++ /dev/null @@ -1,3 +0,0 @@ -# https://www.robotstxt.org/robotstxt.html -User-agent: * -Disallow: diff --git a/src/App.css b/src/App.css deleted file mode 100644 index 74b5e05..0000000 --- a/src/App.css +++ /dev/null @@ -1,38 +0,0 @@ -.App { - text-align: center; -} - -.App-logo { - height: 40vmin; - pointer-events: none; -} - -@media (prefers-reduced-motion: no-preference) { - .App-logo { - animation: App-logo-spin infinite 20s linear; - } -} - -.App-header { - background-color: #282c34; - min-height: 100vh; - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - font-size: calc(10px + 2vmin); - color: white; -} - -.App-link { - color: #61dafb; -} - -@keyframes App-logo-spin { - from { - transform: rotate(0deg); - } - to { - transform: rotate(360deg); - } -} diff --git a/src/App.tsx b/src/App.tsx index a53698a..3457f32 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,26 +1,26 @@ -import React from 'react'; -import logo from './logo.svg'; -import './App.css'; +import React, { useEffect, useState } from "react"; +import Intro from "./components/Intro"; +import Game from "./components/Game"; +import "./static/css/main.css"; + +const App = () => { + const [moveToGame, setMoveToGame] = useState(false); + + useEffect(() => { + document.title = "< index >"; + document.getElementsByTagName("body")[0].className = "main-body"; + return () => { + document.getElementsByTagName("body")[0].className = ""; + }; + }, []); -function App() { return ( -

-
- logo -

- Edit src/App.tsx and save to reload. -

-
- Learn React - -
+
+ {/* {moveToGame ? : } */} + {/* */} +
); -} +}; export default App; diff --git a/src/components/Game.tsx b/src/components/Game.tsx new file mode 100644 index 0000000..732600f --- /dev/null +++ b/src/components/Game.tsx @@ -0,0 +1,178 @@ +import React, { useState, Suspense, useCallback, useEffect } from "react"; +import { useFrame, Canvas, useLoader, useThree } from "react-three-fiber"; +import Lain, { + LainIntro, + LainMoveDown, + LainMoveLeft, + LainMoveRight, + LainMoveUp, + LainStanding, +} from "./Lain"; +import Hub from "./Hub"; +//import Orb from "./Orb"; +import { OrbitControls } from "drei"; + +type KeyCodeAssociations = { + [keyCode: number]: string; +}; + +type FrameCounts = { + [animation: string]: number; +}; + +// value by which to rotate/move the ring on the y axis +type LowerRingValues = { + [direction: string]: number; +}; + +const Game = () => { + const [isLainMoving, setLainMoving] = useState(false); + const [lainMoveState, setLainMoveState] = useState(); + + const [lowerRingRotationY, setLowerRingRotationY] = useState(5); + const [lowerRingPositionY, setLowerRingPositionY] = useState(-0.31); + + const getKeyValue = (key: U) => ( + obj: T + ) => obj[key]; + + const getKeyCodeAssociation = (keyCode: number): string => { + return getKeyValue(keyCode)( + { + 40: "down", + 37: "left", + 38: "up", + 39: "right", + } + ); + }; + + const getFrameCount = (animation: string): number => { + return getKeyValue(animation)({ + up: 36, + down: 36, + left: 47, + right: 47, + }); + }; + + // frameCount / FPS * 1000 to turn it into seconds + // 0.27 is a proportional value i calculated from the avg duration of an animation + // in the original game + const getAnimationDuration = (animation: string): number => { + const frameCount = getFrameCount(animation); + return (frameCount / (frameCount * 0.27)) * 1000; + }; + + const setAnimationState = (key: string) => { + switch (key) { + case "down": + setLainMoveState(); + break; + case "left": + setLainMoveState(); + break; + case "up": + setLainMoveState(); + break; + case "right": + setLainMoveState(); + break; + default: + break; + } + + // set moving to true to avoid player from overlapping animations and stuff + // by waiting for the anim to finish + setLainMoving(true); + + // wait for the anim to finish, set lain to standing state, release the move lock + setTimeout(() => { + setLainMoving(false); + setLainMoveState(); + }, getAnimationDuration(key)); + }; + + const getLowerRingValue = (direction: string) => { + return getKeyValue(direction)({ + left: 0.002, + right: -0.002, + up: -0.005, + down: 0.005, + }); + }; + + const rotateLowerRing = (key: string, duration: number) => { + const rotationInterval = setInterval(() => { + setLowerRingRotationY((prev) => prev + getLowerRingValue(key)); + }, 10); + + setTimeout(() => { + clearInterval(rotationInterval); + }, duration); + }; + + const moveLowerRing = (key: string, duration: number) => { + const moveInterval = setInterval(() => { + setLowerRingPositionY((prev) => prev + getLowerRingValue(key)); + }); + + setTimeout(() => { + clearInterval(moveInterval); + }, duration); + }; + + const handleUserKeyPress = useCallback( + (event) => { + const { _, keyCode } = event; + + const key = getKeyCodeAssociation(keyCode); + + console.log(key); + if (!isLainMoving) { + setAnimationState(key); + setTimeout(() => { + switch (key) { + case "left": + case "right": + rotateLowerRing(key, 1000); + break; + case "up": + case "down": + moveLowerRing(key, 1000); + break; + default: + break; + } + }, 1200); + } + }, + [isLainMoving] + ); + + useEffect(() => { + window.addEventListener("keydown", handleUserKeyPress); + + return () => { + window.removeEventListener("keydown", handleUserKeyPress); + }; + }, [handleUserKeyPress]); + + return ( + <> + + + + + + + + + + ); +}; + +export default Game; diff --git a/src/components/Hub.tsx b/src/components/Hub.tsx new file mode 100644 index 0000000..4c450b1 --- /dev/null +++ b/src/components/Hub.tsx @@ -0,0 +1,22 @@ +import React, { Suspense } from "react"; +import Ring0 from "./Ring0"; + +type HubProps = { + lowerRingPositionY: number; + lowerRingRotationY: number; +}; + +const Hub = (props: HubProps) => { + return ( + <> + loading...}> + + + + ); +}; + +export default Hub; diff --git a/src/components/Intro.tsx b/src/components/Intro.tsx new file mode 100644 index 0000000..a5ea7fd --- /dev/null +++ b/src/components/Intro.tsx @@ -0,0 +1,282 @@ +import React, { useEffect, useState, useCallback } from "react"; + +import networkLogo from "../static/img/network_os_logo.png"; +import introBox from "../static/img/load_screen_box.png"; +import introTextBetween from "../static/img/intro_text_thing.png"; +import introTextArrow from "../static/img/intro_text_arrow.png"; +import mask from "../static/img/load_screen_mask.png"; +import loop from "../static/img/loop.webp"; + +import "../static/css/intro.css"; + +// yes this thing is a mess ITS SUPPOSED TO BE MESSY OK +const FirstMarq: React.FC = () => { + return ( + <> + connect : Looking up host
+                tachibana.cos +
+ connect : Contacting host
+                allen.la
+ connect : host tachibana.cos
contacted Waiting for reply
+ Socket 172 connection with port
number 2105 established
+ Transfer Data from tachibana.cos
+ Remote host closed socket +
+ connect : Looking up host
+                tachibana.cos +
+                allen.la
+ connect : host tachibana.cos
contacted Waiting for reply
+ connect : Contacting host
+ Remote host closed socket Transfer Data from tachibana.cos
+ Socket 172 connection with port
number 2105 established
+ connect : Looking up host
+                tachibana.cos +
+                allen.la
+ connect : host tachibana.cos
contacted Waiting for reply
+ connect : Contacting host
+ Remote host closed socket connect : host tachibana.cos
contacted + Waiting for reply
+ connect : Contacting host
+ Transfer Data from tachibana.cos
+ Socket 172 connection with port
number 2105 established
+ + ); +}; + +const Intro = (props: any) => { + const [looping, setLooping] = useState(true); + const [isArrowUp, setIsArrowUp] = useState(true); + + const [loadStatusState, setLoadStatusState] = useState(<>); + + const [introFinished, setIntroFinished] = useState(false); + + const [delayedMarqShown, setDelayedMarqShown] = useState(false); + + const [authorizeActive, setAuthorizeActive] = useState(true); + + useEffect(() => { + setTimeout(() => { + setLooping(false); + }, 1500); + + setTimeout(() => { + setLoadStatusState( + <> +
connect :
+
+ host tachibana.cos
contacted Waiting for reply +
+ + ); + }, 2500); + + setTimeout(() => { + setLoadStatusState( + <> + Socket 172 connection with port
number 2105 established + + ); + }, 4500); + + setTimeout(() => { + setLoadStatusState(<>Transfer Data from tachibana.cos); + }, 6500); + + setTimeout(() => { + setLoadStatusState(<>Remote host closed socket); + }, 8500); + + setTimeout(() => { + setIntroFinished(true); + }, 9500); + //9500 + + setTimeout(() => { + setDelayedMarqShown(true); + }, 11900); + //11900 + }, []); + + useEffect(() => { + const toggleArrowPos = () => { + if (Math.random() >= 0.5) setIsArrowUp(!isArrowUp); + }; + + const toggleServerText = () => { + if (Math.random() >= 0.3) + setLoadStatusState( + <> +
connect :
+
+ Looking up host
+ tachibana.cos +
+ + ); + + if (Math.random() >= 0.95) + setLoadStatusState( + <> +
connect :
+
+ Contacting host
allen.lab +
+ + ); + }; + + const textInterval = setInterval(() => { + toggleArrowPos(); + toggleServerText(); + }, 50); + + return () => clearInterval(textInterval); + }, [loadStatusState, isArrowUp]); + + const handleUserKeyPress = useCallback( + (event) => { + const { _, keyCode } = event; + + if (keyCode === 40 || keyCode === 38) { + setAuthorizeActive(!authorizeActive); + } + if (keyCode === 13) { + props.setMoveToGame(true); + } + }, + [authorizeActive] + ); + + useEffect(() => { + window.addEventListener("keydown", handleUserKeyPress); + + return () => { + window.removeEventListener("keydown", handleUserKeyPress); + }; + }, [handleUserKeyPress]); + + return ( + <> +

+ +

+

+ +

+
+
+ {looping ? ( +
+ loop +

+ make +
+ me +
+ sad +

+
+ ) : ( + <> +
+ mask +
+
+ logo +

+ + Authorize User + +

+ box +

+ Load Data +

+
+
+ Copyright (C) dango factory +
+ between + special thanks : myu-myu +
+
+
+
+ arrow +
+
+ mISO-sevrer +
+ sHIO-sevrer +
{" "} +
+ {loadStatusState} +
+
+
+
+ + )} + + ); +}; + +export default Intro; diff --git a/src/components/Lain.tsx b/src/components/Lain.tsx new file mode 100644 index 0000000..cc7616e --- /dev/null +++ b/src/components/Lain.tsx @@ -0,0 +1,98 @@ +import React, { useCallback, Suspense, useEffect, useState } from "react"; +import { useFrame, useLoader, useThree } from "react-three-fiber"; +import * as THREE from "three"; +import introSpriteSheet from "../static/sprites/intro.png"; +import moveDownSpriteSheet from "../static/sprites/jump_down.png"; +import standingSpriteSheet from "../static/sprites/standing.png"; +import moveLeftSpriteSheet from "../static/sprites/move_left1.png"; +import moveRightSpriteSheet from "../static/sprites/move_right.png"; +import moveUpSpriteSheet from "../static/sprites/jump_up.png"; +import { PlainSingularAnimator } from "three-plain-animator/lib/plain-singular-animator"; + +type LainProps = { + isLainMoving: boolean; + lainMoveState: JSX.Element; +}; + +type LainConstructorProps = { + sprite: string; + frameCount: number; +}; + +const LainConstructor = (props: LainConstructorProps) => { + // any here temporarily + const spriteTexture: any = useLoader( + THREE.TextureLoader, + props.sprite + ); + + const [animator] = useState( + () => + new PlainSingularAnimator( + spriteTexture, + props.frameCount, + 1, + props.frameCount, + props.frameCount * 0.27 + ) + ); + + useFrame(() => { + animator.animate(); + }); + + return ( + + + + + + ); +}; + +export const LainIntro = () => { + return ; +}; + +export const LainStanding = () => { + return ; +}; + +export const LainMoveDown = () => { + return ; +}; + +export const LainMoveLeft = () => { + return ; +}; + +export const LainMoveRight = () => { + return ; +}; + +export const LainMoveUp = () => { + return ; +}; + +const Lain = (props: LainProps) => { + return ( + <> + {/* without a suspense the sprites wont load, and the suspense loading + animation takes about .3 seconds to finish for each sprite resulting in + blinks between each spritesheet. with a nested suspense we can have + LainStanding as the suspense fallback with a fallback of its own (the + loading message) which will only be shown once, when the game loads. */} + loading...}> + + + } + > + {props.isLainMoving ? props.lainMoveState : } + + + ); +}; + +export default Lain; diff --git a/src/components/Ring0.tsx b/src/components/Ring0.tsx new file mode 100644 index 0000000..b596116 --- /dev/null +++ b/src/components/Ring0.tsx @@ -0,0 +1,51 @@ +import React, { + useRef, + useCallback, + Suspense, + useState, + useEffect, +} from "react"; +import { GLTFLoader, GLTF } from "three/examples/jsm/loaders/GLTFLoader.js"; +import { useThree, useFrame, Canvas, useLoader } from "react-three-fiber"; +import { OrbitControls, Html, draco, Icosahedron } from "drei"; +import Lain from "./Lain"; +import { Mesh, MeshLambertMaterial, DoubleSide } from "three"; +import * as THREE from "three"; + +type Ring0Props = { + lowerRingPositionY: number; + lowerRingRotationY: number; +}; + +type GLTFResult = GLTF & { + nodes: { + Circle: THREE.Mesh; + }; + materials: {}; +}; + +const Ring0 = (props: Ring0Props) => { + const { nodes, materials } = useLoader( + GLTFLoader, + "/models/ring0.glb", + draco("/draco-gltf/") + ); + return ( + + + + + + ); +}; + +export default Ring0 diff --git a/src/components/utils.ts b/src/components/utils.ts new file mode 100644 index 0000000..39d3679 --- /dev/null +++ b/src/components/utils.ts @@ -0,0 +1,3 @@ +export const getKeyValue = (key: U) => ( + obj: T +) => obj[key]; diff --git a/src/index.css b/src/index.css deleted file mode 100644 index ec2585e..0000000 --- a/src/index.css +++ /dev/null @@ -1,13 +0,0 @@ -body { - margin: 0; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', - 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', - sans-serif; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -code { - font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', - monospace; -} diff --git a/src/index.tsx b/src/index.tsx index f5185c1..4146d1d 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -1,6 +1,5 @@ import React from 'react'; import ReactDOM from 'react-dom'; -import './index.css'; import App from './App'; import * as serviceWorker from './serviceWorker'; diff --git a/src/logo.svg b/src/logo.svg deleted file mode 100644 index 6b60c10..0000000 --- a/src/logo.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - -