UNPKG

137 kBJavaScriptView Raw
1!function(A,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e(A.h3={})}(this,function(A){var e=function(A){var e,r=void 0!==(A=A||{})?A:{},n={};for(e in r)r.hasOwnProperty(e)&&(n[e]=r[e]);var i,t,o,f,a=[],u=!1;i="object"==typeof window,t="function"==typeof importScripts,o="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,u=o&&!i&&!t,f=!i&&!u&&!t;var l,c,s,w,g,d="";u?(d=__dirname+"/",l=function(A,e){var r;return(r=tA(A))||(w||(w=require("fs")),g||(g=require("path")),A=g.normalize(A),r=w.readFileSync(A)),e?r:r.toString()},s=function(A){var e=l(A,!0);return e.buffer||(e=new Uint8Array(e)),m(e.buffer),e},process.argv.length>1&&process.argv[1].replace(/\\/g,"/"),a=process.argv.slice(2),r.inspect=function(){return"[Emscripten Module object]"}):f?("undefined"!=typeof read&&(l=function(A){var e=tA(A);return e?nA(e):read(A)}),s=function(A){var e;return(e=tA(A))?e:"function"==typeof readbuffer?new Uint8Array(readbuffer(A)):(m("object"==typeof(e=read(A,"binary"))),e)},"undefined"!=typeof scriptArgs?a=scriptArgs:void 0!==arguments&&(a=arguments),"undefined"!=typeof print&&("undefined"==typeof console&&(console={}),console.log=print,console.warn=console.error="undefined"!=typeof printErr?printErr:print)):(i||t)&&(t?d=self.location.href:document.currentScript&&(d=document.currentScript.src),d=0!==d.indexOf("blob:")?d.substr(0,d.lastIndexOf("/")+1):"",l=function(A){try{var e=new XMLHttpRequest;return e.open("GET",A,!1),e.send(null),e.responseText}catch(e){var r=tA(A);if(r)return nA(r);throw e}},t&&(s=function(A){try{var e=new XMLHttpRequest;return e.open("GET",A,!1),e.responseType="arraybuffer",e.send(null),new Uint8Array(e.response)}catch(e){var r=tA(A);if(r)return r;throw e}}),c=function(A,e,r){var n=new XMLHttpRequest;n.open("GET",A,!0),n.responseType="arraybuffer",n.onload=function(){if(200==n.status||0==n.status&&n.response)e(n.response);else{var i=tA(A);i?e(i.buffer):r()}},n.onerror=r,n.send(null)});var B=r.print||console.log.bind(console),b=r.printErr||console.warn.bind(console);for(e in n)n.hasOwnProperty(e)&&(r[e]=n[e]);n=null,r.arguments&&(a=r.arguments);var h=0,Q=function(){return h},k=!1;function m(A,e){A||QA("Assertion failed: "+e)}function E(A){var e=r["_"+A];return m(e,"Cannot call unknown function "+A+", make sure it is exported"),e}var M,v,D,I,C,_,p,F="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function U(A,e){return A?function(A,e,r){for(var n=e+r,i=e;A[i]&&!(i>=n);)++i;if(i-e>16&&A.subarray&&F)return F.decode(A.subarray(e,i));for(var t="";e<i;){var o=A[e++];if(128&o){var f=63&A[e++];if(192!=(224&o)){var a=63&A[e++];if((o=224==(240&o)?(15&o)<<12|f<<6|a:(7&o)<<18|f<<12|a<<6|63&A[e++])<65536)t+=String.fromCharCode(o);else{var u=o-65536;t+=String.fromCharCode(55296|u>>10,56320|1023&u)}}else t+=String.fromCharCode((31&o)<<6|f)}else t+=String.fromCharCode(o)}return t}(D,A,e):""}function y(A,e){return A%e>0&&(A+=e-A%e),A}function G(A){M=A,r.HEAP8=v=new Int8Array(A),r.HEAP16=I=new Int16Array(A),r.HEAP32=C=new Int32Array(A),r.HEAPU8=D=new Uint8Array(A),r.HEAPU16=new Uint16Array(A),r.HEAPU32=new Uint32Array(A),r.HEAPF32=_=new Float32Array(A),r.HEAPF64=p=new Float64Array(A)}"undefined"!=typeof TextDecoder&&new TextDecoder("utf-16le");var x=r.TOTAL_MEMORY||33554432;function H(A){for(;A.length>0;){var e=A.shift();if("function"!=typeof e){var n=e.func;"number"==typeof n?void 0===e.arg?r.dynCall_v(n):r.dynCall_vi(n,e.arg):n(void 0===e.arg?null:e.arg)}else e()}}x=(M=r.buffer?r.buffer:new ArrayBuffer(x)).byteLength,G(M),C[5916]=5266576;var T=[],P=[],R=[],S=[],z=Math.abs,V=Math.ceil,L=Math.floor,Y=Math.min,O=0,W=null,Z=null;r.preloadedImages={},r.preloadedAudios={};var N,j,J=null,K="data:application/octet-stream;base64,";function X(A){return String.prototype.startsWith?A.startsWith(K):0===A.indexOf(K)}function q(A){return A}function $(A){return A.replace(/\b__Z[\w\d_]+/g,function(A){var e=q(A);return A===e?A:e+" ["+A+"]"})}function AA(){var A=new Error;if(!A.stack){try{throw new Error(0)}catch(e){A=e}if(!A.stack)return"(no stack trace available)"}return A.stack.toString()}function eA(){return v.length}function rA(A){try{var e=new ArrayBuffer(A);if(e.byteLength!=A)return;return new Int8Array(e).set(v),uA(e),G(e),1}catch(A){}}function nA(A){for(var e=[],r=0;r<A.length;r++){var n=A[r];n>255&&(n&=255),e.push(String.fromCharCode(n))}return e.join("")}J="data:application/octet-stream;base64,AAAAAAAAAAACAAAAAwAAAAEAAAAFAAAABAAAAAYAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAABAAAABAAAAAMAAAAGAAAABQAAAAIAAAAAAAAAAgAAAAMAAAABAAAABAAAAAYAAAAAAAAABQAAAAMAAAAGAAAABAAAAAUAAAAAAAAAAQAAAAIAAAAEAAAABQAAAAYAAAAAAAAAAgAAAAMAAAABAAAABQAAAAIAAAAAAAAAAQAAAAMAAAAGAAAABAAAAAYAAAAAAAAABQAAAAIAAAABAAAABAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAgAAAAMAAAAAAAAAAAAAAAIAAAAAAAAAAQAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAABgAAAAAAAAAFAAAAAAAAAAAAAAAEAAAABQAAAAAAAAAAAAAAAAAAAAIAAAAAAAAABgAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAAAAAACAAAAAwAAAAQAAAAFAAAABgAAAAAAAAABAAAAAwAAAAQAAAAFAAAABgAAAAAAAAABAAAAAgAAAAQAAAAFAAAABgAAAAAAAAABAAAAAgAAAAMAAAAFAAAABgAAAAAAAAABAAAAAgAAAAMAAAAEAAAABgAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAADAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAACAAAAAgAAAAAAAAAAAAAABgAAAAAAAAADAAAAAgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAUAAAAEAAAAAAAAAAEAAAAAAAAAAAAAAAUAAAAFAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAEAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAUAAAACAAAABAAAAAMAAAAIAAAA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AAAAAAAAAAAAAAAABQAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAUAAAABAAAAAAAAAAAAAAABAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAAFAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAQAAAAFAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAUAAAAFAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAMAAAAAAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAABAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAADAAAAAwAAAAMAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAADAAAABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAUAAAAFAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAABAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAMAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAABQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAQAAAAMAAAABAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAMAAAABAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAADAAAABQAAAAEAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAEAAAABQAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAgAAAAUAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAMAAAABAAAAAAAAAAEAAAAAAAAABQAAAAAAAAAAAAAABQAAAAUAAAAAAAAAAAAAAP////8BAAAAAAAAAAMAAAAEAAAAAgAAAAAAAAAAAAAAAQAAAAAAAAAAAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAABQAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAQAAAP//////////AQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAIAAAAAAAAAAAAAAAEAAAACAAAABgAAAAQAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAoAAAACAAAAAAAAAAAAAAABAAAAAQAAAAUAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAIAAAAAAAAAAAAAAAEAAAADAAAABwAAAAYAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAHAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAABAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAOAAAAAgAAAAAAAAAAAAAAAQAAAAAAAAAJAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAwAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAgAAAAAAAAAAAAAAAQAAAAQAAAAIAAAACgAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAJAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAACAAAAAAAAAAAAAAABAAAACwAAAA8AAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAA4AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAgAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAFAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAACAAAAAAAAAAAAAAABAAAADAAAABAAAAAMAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAEAAAAKAAAAEwAAAAgAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABAAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAJAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAgAAAAAAAAAAAAAAAQAAAA0AAAARAAAADQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABEAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABMAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAIAAAAAAAAAAAAAAAEAAAAOAAAAEgAAAA8AAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABMAAAACAAAAAAAAAAAAAAABAAAA//////////8TAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAASAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABIAAAAAAAAAGAAAAAAAAAAhAAAAAAAAAB4AAAAAAAAAIAAAAAMAAAAxAAAAAQAAADAAAAADAAAAMgAAAAMAAAAIAAAAAAAAAAUAAAAFAAAACgAAAAUAAAAWAAAAAAAAABAAAAAAAAAAEgAAAAAAAAApAAAAAQAAACEAAAAAAAAAHgAAAAAAAAAEAAAAAAAAAAAAAAAFAAAAAgAAAAUAAAAPAAAAAQAAAAgAAAAAAAAABQAAAAUAAAAfAAAAAQAAABYAAAAAAAAAEAAAAAAAAAACAAAAAAAAAAYAAAAAAAAADgAAAAAAAAAKAAAAAAAAAAsAAAAAAAAAEQAAAAMAAAAYAAAAAQAAABcAAAADAAAAGQAAAAMAAAAAAAAAAAAAAAEAAAAFAAAACQAAAAUAAAAFAAAAAAAAAAIAAAAAAAAABgAAAAAAAAASAAAAAQAAAAoAAAAAAAAACwAAAAAAAAAEAAAAAQAAAAMAAAAFAAAABwAAAAUAAAAIAAAAAQAAAAAAAAAAAAAAAQAAAAUAAAAQAAAAAQAAAAUAAAAAAAAAAgAAAAAAAAAHAAAAAAAAABUAAAAAAAAAJgAAAAAAAAAJAAAAAAAAABMAAAAAAAAAIgAAAAMAAAAOAAAAAQAAABQAAAADAAAAJAAAAAMAAAADAAAAAAAAAA0AAAAFAAAAHQAAAAUAAAABAAAAAAAAAAcAAAAAAAAAFQAAAAAAAAAGAAAA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74auECWhw7+cjSACjzniv8CZ+wUhN9I/1uGEKzup6z+/GYr/04bavwmkNHp7xee/F2NMZVAA1z+82s+x2BLivwr2ytbJ9em/KwEH1sMS1r8yp/2LhTfev81i5RexJsy/BlIKPVwR5b95Wyu0/Qjnv5DjoT7YYcs/nBhKZ6zrwr8wRYS7Nebuv3OW6geh+Lu/SLrixebL3j+pcyymN9Xrv8rHIFfWehZAMBwUdlo0DECTUc17EOb2PxpVB1SWChdAzjbhb9pTDUDQhmdvECX5P9FlMKCC9+g/IIAzjELgE0DajDngMv8GQFhWDmDPjNs/y1guLh96EkAxPi8k7DIEQJCc4URlhRhA3eLKKLwkEECqpNAyTBD/P6xpjXcDiwVAFtl//cQm4z+Ibt3XKiYTQM7mCLUb3QdAoM1t8yVv7D8aLZv2Nk8UQEAJPV5nQwxAtSsfTCoE9z9TPjXLXIIWQBVanC5W9AtAYM3d7Adm9j++5mQz1FoWQBUThyaVBghAwH5muQsV7T89Q1qv82MUQJoWGOfNuBdAzrkClkmwDkDQjKq77t37Py+g0dtitsE/ZwAMTwVPEUBojepluNwBQGYbtuW+t9w/HNWIJs6MEkDTNuQUSlgEQKxktPP5TcQ/ixbLB8JjEUCwuWjXMQYCQAS/R09FkRdAowpiZjhhDkB7LmlczD/7P01iQmhhsAVAnrtTwDy84z/Z6jfQ2TgTQChOCXMnWwpAhrW3daoz8z/HYJvVPI4VQLT3ik5FcA5Angi7LOZd+z+NNVzDy5gXQBXdvVTFUA1AYNMgOeYe+T8+qHXGCwkXQKQTOKwa5AJA8gFVoEMW0T+FwzJyttIRQAEAAAD/////BwAAAP////8xAAAA/////1cBAAD/////YQkAAP////+nQQAA/////5HLAQD/////95AMAP/////B9lcAAAAAAAAAAAAAAAAAAgAAAP////8OAAAA/////2IAAAD/////rgIAAP/////CEgAA/////06DAAD/////IpcDAP/////uIRkA/////4LtrwAAAAAAAAAAAAAAAAAAAAAAAgAAAP//////////AQAAAAMAAAD//////////////////////////////////////////////////////////////////////////wEAAAAAAAAAAgAAAP///////////////wMAAAD//////////////////////////////////////////////////////////////////////////wEAAAAAAAAAAgAAAP///////////////wMAAAD//////////////////////////////////////////////////////////////////////////wEAAAAAAAAAAgAAAP///////////////wMAAAD//////////////////////////////////////////////////////////wIAAAD//////////wEAAAAAAAAA/////////////////////wMAAAD/////////////////////////////////////////////////////AwAAAP////////////////////8AAAAA/////////////////////wEAAAD///////////////8CAAAA////////////////////////////////AwAAAP////////////////////8AAAAA////////////////AgAAAAEAAAD/////////////////////////////////////////////////////AwAAAP////////////////////8AAAAA////////////////AgAAAAEAAAD/////////////////////////////////////////////////////AwAAAP////////////////////8AAAAA////////////////AgAAAAEAAAD/////////////////////////////////////////////////////AwAAAP////////////////////8AAAAA////////////////AgAAAAEAAAD/////////////////////////////////////////////////////AQAAAAIAAAD///////////////8AAAAA/////////////////////wMAAAD/////////////////////////////////////////////////////AQAAAAIAAAD///////////////8AAAAA/////////////////////wMAAAD/////////////////////////////////////////////////////AQAAAAIAAAD///////////////8AAAAA/////////////////////wMAAAD/////////////////////////////////////////////////////AQAAAAIAAAD///////////////8AAAAA/////////////////////wMAAAD///////////////////////////////8CAAAA////////////////AQAAAP////////////////////8AAAAA/////////////////////wMAAAD/////////////////////////////////////////////////////AwAAAP////////////////////8AAAAAAQAAAP//////////AgAAAP//////////////////////////////////////////////////////////AwAAAP///////////////wIAAAAAAAAAAQAAAP//////////////////////////////////////////////////////////////////////////AwAAAP///////////////wIAAAAAAAAAAQAAAP//////////////////////////////////////////////////////////////////////////AwAAAP///////////////wIAAAAAAAAAAQAAAP//////////////////////////////////////////////////////////////////////////AwAAAAEAAAD//////////wIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAgAAAAAAAAACAAAAAQAAAAEAAAACAAAAAgAAAAAAAAAFAAAABQAAAAAAAAACAAAAAgAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAIAAAABAAAAAgAAAAIAAAACAAAAAAAAAAUAAAAGAAAAAAAAAAIAAAACAAAAAwAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAAAAAAAAgAAAAEAAAADAAAAAgAAAAIAAAAAAAAABQAAAAcAAAAAAAAAAgAAAAIAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAgAAAAAAAAACAAAAAQAAAAQAAAACAAAAAgAAAAAAAAAFAAAACAAAAAAAAAACAAAAAgAAAAMAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAACAAAAAAAAAAIAAAABAAAAAAAAAAIAAAACAAAAAAAAAAUAAAAJAAAAAAAAAAIAAAACAAAAAwAAAAUAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAIAAAACAAAAAAAAAAMAAAAOAAAAAgAAAAAAAAACAAAAAwAAAAAAAAAAAAAAAgAAAAIAAAADAAAABgAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAgAAAAIAAAAAAAAAAwAAAAoAAAACAAAAAAAAAAIAAAADAAAAAQAAAAAAAAACAAAAAgAAAAMAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAACAAAAAgAAAAAAAAADAAAACwAAAAIAAAAAAAAAAgAAAAMAAAACAAAAAAAAAAIAAAACAAAAAwAAAAgAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAIAAAACAAAAAAAAAAMAAAAMAAAAAgAAAAAAAAACAAAAAwAAAAMAAAAAAAAAAgAAAAIAAAADAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAgAAAAIAAAAAAAAAAwAAAA0AAAACAAAAAAAAAAIAAAADAAAABAAAAAAAAAACAAAAAgAAAAMAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAACAAAAAgAAAAAAAAADAAAABgAAAAIAAAAAAAAAAgAAAAMAAAAPAAAAAAAAAAIAAAACAAAAAwAAAAsAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAIAAAACAAAAAAAAAAMAAAAHAAAAAgAAAAAAAAACAAAAAwAAABAAAAAAAAAAAgAAAAIAAAADAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAgAAAAIAAAAAAAAAAwAAAAgAAAACAAAAAAAAAAIAAAADAAAAEQAAAAAAAAACAAAAAgAAAAMAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAACAAAAAgAAAAAAAAADAAAACQAAAAIAAAAAAAAAAgAAAAMAAAASAAAAAAAAAAIAAAACAAAAAwAAAA4AAAAAAAAAAAAAAAAAAAAAAAAACQAAAAIAAAACAAAAAAAAAAMAAAAFAAAAAgAAAAAAAAACAAAAAwAAABMAAAAAAAAAAgAAAAIAAAADAAAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////////////////////////////wAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAUAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////////////////////////////////8AAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAABAAAAAAAAAAAAAAABAAAAAQAAAAEAAAAAAAAAAQAAAAAAAAAFAAAAAQAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAAAAAABAAEAAAEBAAAAAAABAAAAAQAAAAEAAQAAAAAAAAAAAAAAAAAAAABhbGdvcy5jAHBvbHlmaWxsAGFkamFjZW50RmFjZURpclt0bXBGaWprLmZhY2VdW2ZpamsuZmFjZV0gPT0gS0kAZmFjZWlqay5jAF9mYWNlSWprUGVudFRvR2VvQm91bmRhcnkAYWRqYWNlbnRGYWNlRGlyW2NlbnRlcklKSy5mYWNlXVtmYWNlMl0gPT0gS0kAX2ZhY2VJamtUb0dlb0JvdW5kYXJ5AHBvbHlnb24tPm5leHQgPT0gTlVMTABsaW5rZWRHZW8uYwBhZGROZXdMaW5rZWRQb2x5Z29uAG5leHQgIT0gTlVMTABsb29wICE9IE5VTEwAYWRkTmV3TGlua2VkTG9vcABwb2x5Z29uLT5maXJzdCA9PSBOVUxMAGFkZExpbmtlZExvb3AAY29vcmQgIT0gTlVMTABhZGRMaW5rZWRDb29yZABsb29wLT5maXJzdCA9PSBOVUxMAGlubmVyTG9vcHMgIT0gTlVMTABub3JtYWxpemVNdWx0aVBvbHlnb24AYmJveGVzICE9IE5VTEwAY2FuZGlkYXRlcyAhPSBOVUxMAGZpbmRQb2x5Z29uRm9ySG9sZQBjYW5kaWRhdGVCQm94ZXMgIT0gTlVMTAByZXZEaXIgIT0gSU5WQUxJRF9ESUdJVABsb2NhbGlqLmMAaDNUb0xvY2FsSWprAGJhc2VDZWxsICE9IG9yaWdpbkJhc2VDZWxsACEob3JpZ2luT25QZW50ICYmIGluZGV4T25QZW50KQBwZW50YWdvblJvdGF0aW9ucyA+PSAwAGRpcmVjdGlvblJvdGF0aW9ucyA+PSAwAGJhc2VDZWxsID09IG9yaWdpbkJhc2VDZWxsAGJhc2VDZWxsICE9IElOVkFMSURfQkFTRV9DRUxMAGxvY2FsSWprVG9IMwAhX2lzQmFzZUNlbGxQZW50YWdvbihiYXNlQ2VsbCkAYmFzZUNlbGxSb3RhdGlvbnMgPj0gMAB3aXRoaW5QZW50YWdvblJvdGF0aW9ucyA+PSAwAGdyYXBoLT5idWNrZXRzICE9IE5VTEwAdmVydGV4R3JhcGguYwBpbml0VmVydGV4R3JhcGgAbm9kZSAhPSBOVUxMAGFkZFZlcnRleE5vZGU=";var iA="function"==typeof atob?atob:function(A){var e,r,n,i,t,o,f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",a="",u=0;A=A.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{n=f.indexOf(A.charAt(u++)),e=(15&(i=f.indexOf(A.charAt(u++))))<<4|(t=f.indexOf(A.charAt(u++)))>>2,r=(3&t)<<6|(o=f.indexOf(A.charAt(u++))),a+=String.fromCharCode(n<<2|i>>4),64!==t&&(a+=String.fromCharCode(e)),64!==o&&(a+=String.fromCharCode(r))}while(u<A.length);return a};function tA(A){if(X(A))return function(A){if("boolean"==typeof u&&u){var e;try{e=Buffer.from(A,"base64")}catch(r){e=new Buffer(A,"base64")}return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}try{for(var r=iA(A),n=new Uint8Array(r.length),i=0;i<r.length;++i)n[i]=r.charCodeAt(i);return n}catch(A){throw new Error("Converting base64 string to bytes failed.")}}(A.slice(K.length))}var oA,fA,aA=function(A,e,r){var n=new A.Int8Array(r),i=new A.Int32Array(r),t=(new A.Uint8Array(r),new A.Float32Array(r),new A.Float64Array(r)),o=0|e.p,f=A.Math.floor,a=A.Math.abs,u=A.Math.sqrt,l=A.Math.pow,c=A.Math.cos,s=A.Math.sin,w=A.Math.tan,g=A.Math.acos,d=A.Math.asin,B=A.Math.atan,b=A.Math.atan2,h=A.Math.ceil,Q=A.Math.imul,k=A.Math.clz32,m=e.b,E=e.c,M=e.d,v=e.e,D=e.f,I=e.g,C=e.h,_=e.i,p=23696;function F(A,e,r,n){var i,t,o;0|U(A|=0,e|=0,r|=0,n|=0,o=0|ce(t=(i=1+(0|Q(3*r|0,r+1|0))|0)<<2))?(me(0|n,0,i<<3|0),me(0|o,0,0|t),y(A,e,r,n,o,i,0),se(o)):se(o)}function U(A,e,r,n,t){e|=0,r|=0,t|=0;var o,f,a=0,u=0,l=0,c=0,s=0,w=0,g=0;if(o=p,p=p+16|0,f=o,i[(a=n|=0)>>2]=A|=0,i[a+4>>2]=e,(a=0!=(0|t))&&(i[t>>2]=0),0|UA(A,e))return p=o,1;i[f>>2]=0;A:do{if((0|r)>=1)if(a)for(s=0,w=1,g=1,u=0,a=A;;){if(!(u|s)){if(0==(0|(a=0|G(a,e,4,f)))&0==(0|(e=0|E()))){a=2;break A}if(0|UA(a,e)){a=1;break A}}if(0==(0|(a=0|G(a,e,0|i[16+(s<<2)>>2],f)))&0==(0|(e=0|E()))){a=2;break A}if(i[(A=n+(g<<3)|0)>>2]=a,i[A+4>>2]=e,i[t+(g<<2)>>2]=w,A=(0|(u=u+1|0))==(0|w),c=6==(0|(l=s+1|0)),0|UA(a,e)){a=1;break A}if((0|(w=w+(c&A&1)|0))>(0|r)){a=0;break}s=A?c?0:l:s,g=g+1|0,u=A?0:u}else for(s=0,w=1,g=1,u=0,a=A;;){if(!(u|s)){if(0==(0|(a=0|G(a,e,4,f)))&0==(0|(e=0|E()))){a=2;break A}if(0|UA(a,e)){a=1;break A}}if(0==(0|(a=0|G(a,e,0|i[16+(s<<2)>>2],f)))&0==(0|(e=0|E()))){a=2;break A}if(i[(A=n+(g<<3)|0)>>2]=a,i[A+4>>2]=e,A=(0|(u=u+1|0))==(0|w),c=6==(0|(l=s+1|0)),0|UA(a,e)){a=1;break A}if((0|(w=w+(c&A&1)|0))>(0|r)){a=0;break}s=A?c?0:l:s,g=g+1|0,u=A?0:u}else a=0}while(0);return p=o,0|a}function y(A,e,r,n,t,o,f){r|=0,n|=0,t|=0,o|=0,f|=0;var a,u,l=0,c=0,s=0,w=0,g=0;if(u=p,p=p+16|0,a=u,0==(0|(A|=0))&0==(0|(e|=0)))p=u;else{if(l=0|Be(0|A,0|e,0|o,((0|o)<0)<<31>>31|0),E(),!(0==(0|(g=0|i[(w=c=n+(l<<3)|0)>>2]))&0==(0|(w=0|i[w+4>>2]))|(s=(0|g)==(0|A)&(0|w)==(0|e))))do{s=(0|(w=0|i[(g=c=n+((l=(l+1|0)%(0|o)|0)<<3)|0)>>2]))==(0|A)&(0|(g=0|i[g+4>>2]))==(0|e)}while(!(0==(0|w)&0==(0|g)|s));l=t+(l<<2)|0,s&&(0|i[l>>2])<=(0|f)?p=u:(i[(g=c)>>2]=A,i[g+4>>2]=e,i[l>>2]=f,(0|f)>=(0|r)?p=u:(g=f+1|0,i[a>>2]=0,y(w=0|G(A,e,2,a),0|E(),r,n,t,o,g),i[a>>2]=0,y(w=0|G(A,e,3,a),0|E(),r,n,t,o,g),i[a>>2]=0,y(w=0|G(A,e,1,a),0|E(),r,n,t,o,g),i[a>>2]=0,y(w=0|G(A,e,5,a),0|E(),r,n,t,o,g),i[a>>2]=0,y(w=0|G(A,e,4,a),0|E(),r,n,t,o,g),i[a>>2]=0,y(w=0|G(A,e,6,a),0|E(),r,n,t,o,g),p=u))}}function G(A,e,r,n){A|=0,e|=0,r|=0;var t,o,f=0,a=0,u=0,l=0,c=0,s=0,w=0;if((0|i[(n|=0)>>2])>0){f=0;do{r=0|tA(r),f=f+1|0}while((0|f)<(0|i[n>>2]))}t=0|be(0|A,0|e,45),E(),o=127&t,a=0|yA(A,e),f=0|be(0|A,0|e,52),E(),f&=15;A:do{if(f)for(;;){if(s=0|be(0|A,0|e,0|(c=3*(15-f|0)|0)),E(),s&=7,w=0==(0|PA(f)),f=f+-1|0,l=0|he(7,0,0|c),e&=~(0|E()),A=(c=0|he(0|i[(w?464:48)+(28*s|0)+(r<<2)>>2],0,0|c))|A&~l,e|=0|E(),!(r=0|i[(w?672:256)+(28*s|0)+(r<<2)>>2])){r=0;break A}if(!f){u=6;break}}else u=6}while(0);6==(0|u)&&(A|=s=0|he(0|(w=0|i[880+(28*o|0)+(r<<2)>>2]),0,45),e=0|E()|-1040385&e,r=0|i[4304+(28*o|0)+(r<<2)>>2],127==(127&w|0)&&(w=0|he(0|i[880+(28*o|0)+20>>2],0,45),e=0|E()|-1040385&e,r=0|i[4304+(28*o|0)+20>>2],A=0|xA(w|A,e),e=0|E(),i[n>>2]=1+(0|i[n>>2]))),u=0|be(0|A,0|e,45),E(),u&=127;A:do{if(0|x(u)){e:do{if(1==(0|yA(A,e))){if((0|o)!=(0|u)){if(0|R(u,0|i[7728+(28*o|0)>>2])){A=0|TA(A,e),a=1,e=0|E();break}A=0|xA(A,e),a=1,e=0|E();break}switch(0|a){case 5:A=0|TA(A,e),e=0|E(),i[n>>2]=5+(0|i[n>>2]),a=0;break e;case 3:A=0|xA(A,e),e=0|E(),i[n>>2]=1+(0|i[n>>2]),a=0;break e;default:return w=0,m(0|(s=0)),0|w}}else a=0}while(0);if((0|r)>0){f=0;do{A=0|GA(A,e),e=0|E(),f=f+1|0}while((0|f)!=(0|r))}if((0|o)!=(0|u)){if(!(0|H(u))){if(0!=(0|a)|5!=(0|yA(A,e)))break;i[n>>2]=1+(0|i[n>>2]);break}switch(127&t){case 8:case 118:break A}3!=(0|yA(A,e))&&(i[n>>2]=1+(0|i[n>>2]))}}else if((0|r)>0){f=0;do{A=0|xA(A,e),e=0|E(),f=f+1|0}while((0|f)!=(0|r))}}while(0);return i[n>>2]=((0|i[n>>2])+r|0)%6|0,w=A,m(0|(s=e)),0|w}function x(A){return 0|i[7728+(28*(A|=0)|0)+16>>2]}function H(A){return 4==(0|(A|=0))|117==(0|A)|0}function T(A){return 0|i[11152+(216*(0|i[(A|=0)>>2])|0)+(72*(0|i[A+4>>2])|0)+(24*(0|i[A+8>>2])|0)+(i[A+12>>2]<<3)>>2]}function P(A){return 0|i[11152+(216*(0|i[(A|=0)>>2])|0)+(72*(0|i[A+4>>2])|0)+(24*(0|i[A+8>>2])|0)+(i[A+12>>2]<<3)+4>>2]}function R(A,e){return(0|i[7728+(28*(A|=0)|0)+20>>2])==(0|(e|=0))?0|(e=1):0|(e=(0|i[7728+(28*A|0)+24>>2])==(0|e))}function S(A,e){return 0|i[880+(28*(A|=0)|0)+((e|=0)<<2)>>2]}function z(A,e){return(0|i[880+(28*(A|=0)|0)>>2])==(0|(e|=0))?0|(e=0):(0|i[880+(28*A|0)+4>>2])==(0|e)?0|(e=1):(0|i[880+(28*A|0)+8>>2])==(0|e)?0|(e=2):(0|i[880+(28*A|0)+12>>2])==(0|e)?0|(e=3):(0|i[880+(28*A|0)+16>>2])==(0|e)?0|(e=4):(0|i[880+(28*A|0)+20>>2])==(0|e)?0|(e=5):0|((0|i[880+(28*A|0)+24>>2])==(0|e)?6:7)}function V(A){return+t[16+(A|=0)>>3]<+t[A+24>>3]|0}function L(A,e){var r,n,i=0;return(i=+t[(e|=0)>>3])>=+t[8+(A|=0)>>3]&&i<=+t[A>>3]?(e=(n=+t[e+8>>3])>=(i=+t[A+24>>3]),A=n<=(r=+t[A+16>>3])&1,r<i?e&&(A=1):e||(A=0),0|(e=0!=(0|A))):0|(e=0)}function Y(A,e){e|=0;var r,n,i,o,f,u,l,c,s=0,w=0;return r=p,p=p+224|0,i=r+200|0,n=r+32|0,f=r,t[(o=r+16|0)>>3]=.5*(+t[(A|=0)>>3]+ +t[(c=A+8|0)>>3]),s=+IA(.5*((w=+t[A+24>>3])+((s=+t[(u=A+16|0)>>3])<w?s+6.283185307179586:s))),t[o+8>>3]=s,A=(w=+a(+(s=+t[A>>3])))>+a(+(l=+t[c>>3])),t[f>>3]=A?l:s,t[f+8>>3]=+t[u>>3],s=+CA(o,f),VA(A=0|RA(o,e),e=0|E(),i),LA(A,e,n),e=~~+h(+s/(1.5*+CA(i,n+8|0))),p=r,0|e}function O(A,e,r,n){r|=0,n|=0,i[(A|=0)>>2]=e|=0,i[A+4>>2]=r,i[A+8>>2]=n}function W(A,e){A|=0;var r,n,o,f,u=0,l=0,c=0,s=0,w=0,g=0,d=0;i[(f=8+(e|=0)|0)>>2]=0,s=+a(+(n=+t[A>>3])),s+=.5*(w=+a(+(o=+t[A+8>>3]))/.8660254037844386),s-=+(0|(u=~~s)),w-=+(0|(A=~~w));do{if(s<.5){if(s<.3333333333333333){if(i[e>>2]=u,w<.5*(s+1)){i[e+4>>2]=A;break}i[e+4>>2]=A=A+1|0;break}if(i[e+4>>2]=A=(1&!(w<(d=1-s)))+A|0,d<=w&w<2*s){i[e>>2]=u=u+1|0;break}i[e>>2]=u;break}if(!(s<.6666666666666666)){if(i[e>>2]=u=u+1|0,w<.5*s){i[e+4>>2]=A;break}i[e+4>>2]=A=A+1|0;break}if(w<1-s){if(i[e+4>>2]=A,2*s-1<w){i[e>>2]=u;break}}else i[e+4>>2]=A=A+1|0;i[e>>2]=u=u+1|0}while(0);do{if(n<0){if(1&A){u=~~(+(0|u)-(2*(+((g=0|ge(0|u,((0|u)<0)<<31>>31|0,0|(g=(A+1|0)/2|0),((0|g)<0)<<31>>31|0))>>>0)+4294967296*+(0|E()))+1)),i[e>>2]=u;break}u=~~(+(0|u)-2*(+((g=0|ge(0|u,((0|u)<0)<<31>>31|0,0|(g=(0|A)/2|0),((0|g)<0)<<31>>31|0))>>>0)+4294967296*+(0|E()))),i[e>>2]=u;break}}while(0);g=e+4|0,o<0&&(i[e>>2]=u=u-((1|A<<1)/2|0)|0,i[g>>2]=A=0-A|0),l=A-u|0,(0|u)<0?(c=0-u|0,i[g>>2]=l,i[f>>2]=c,i[e>>2]=0,A=l,u=0):c=0,(0|A)<0&&(i[e>>2]=u=u-A|0,i[f>>2]=c=c-A|0,i[g>>2]=0,A=0),r=u-c|0,l=A-c|0,(0|c)<0&&(i[e>>2]=r,i[g>>2]=l,i[f>>2]=0,A=l,u=r,c=0),(0|(l=(0|c)<(0|(l=(0|A)<(0|u)?A:u))?c:l))<=0||(i[e>>2]=u-l,i[g>>2]=A-l,i[f>>2]=c-l)}function Z(A){var e,r=0,n=0,t=0,o=0,f=0;n=0|i[(e=4+(A|=0)|0)>>2],(0|(r=0|i[A>>2]))<0&&(i[e>>2]=n=n-r|0,i[(f=A+8|0)>>2]=(0|i[f>>2])-r,i[A>>2]=0,r=0),(0|n)<0?(i[A>>2]=r=r-n|0,i[(f=A+8|0)>>2]=o=(0|i[f>>2])-n|0,i[e>>2]=0,n=0):(f=o=A+8|0,o=0|i[o>>2]),(0|o)<0&&(i[A>>2]=r=r-o|0,i[e>>2]=n=n-o|0,i[f>>2]=0,o=0),(0|(t=(0|o)<(0|(t=(0|n)<(0|r)?n:r))?o:t))<=0||(i[A>>2]=r-t,i[e>>2]=n-t,i[f>>2]=o-t)}function N(A,e){var r,n;t[(e|=0)>>3]=+((0|i[(A|=0)>>2])-(n=0|i[A+8>>2])|0)-.5*(r=+((0|i[A+4>>2])-n|0)),t[e+8>>3]=.8660254037844386*r}function j(A,e,r){i[(r|=0)>>2]=(0|i[(e|=0)>>2])+(0|i[(A|=0)>>2]),i[r+4>>2]=(0|i[e+4>>2])+(0|i[A+4>>2]),i[r+8>>2]=(0|i[e+8>>2])+(0|i[A+8>>2])}function J(A,e,r){i[(r|=0)>>2]=(0|i[(A|=0)>>2])-(0|i[(e|=0)>>2]),i[r+4>>2]=(0|i[A+4>>2])-(0|i[e+4>>2]),i[r+8>>2]=(0|i[A+8>>2])-(0|i[e+8>>2])}function K(A,e){var r,n=0;n=0|Q(0|i[(A|=0)>>2],e|=0),i[A>>2]=n,r=0|Q(0|i[(n=A+4|0)>>2],e),i[n>>2]=r,e=0|Q(0|i[(A=A+8|0)>>2],e),i[A>>2]=e}function X(A){var e,r,n,t=0,o=0,f=0,a=0;A=(A=(o=(0|(a=(0|i[8+(A|=0)>>2])-((n=(0|(r=0|i[A>>2]))<0)?r:0)+((e=(0|(f=(0|i[A+4>>2])-(n?r:0)|0))<0)?0-f|0:0)|0))<0)?0:a)-((f=(0|(o=(0|A)<(0|(o=(0|(t=(e?0:f)-(o?a:0)|0))<(0|(a=(n?0:r)-(e?f:0)-(o?a:0)|0))?t:a))?A:o))>0)?o:0)|0,t=t-(f?o:0)|0;A:do{switch(a-(f?o:0)|0){case 0:switch(0|t){case 0:return 0|(0==(0|A)?0:1==(0|A)?1:7);case 1:return 0|(0==(0|A)?2:1==(0|A)?3:7);default:break A}case 1:switch(0|t){case 0:return 0|(0==(0|A)?4:1==(0|A)?5:7);case 1:if(A)break A;return 6;default:break A}}}while(0);return 7}function q(A){var e,r,n=0,t=0,o=0,f=0,a=0;o=0|le(+((3*(n=(0|i[(A|=0)>>2])-(t=0|i[(e=A+8|0)>>2])|0)|0)-(t=(0|i[(r=A+4|0)>>2])-t|0)|0)/7),i[A>>2]=o,n=0|le(+((t<<1)+n|0)/7),i[r>>2]=n,i[e>>2]=0,t=n-o|0,(0|o)<0?(a=0-o|0,i[r>>2]=t,i[e>>2]=a,i[A>>2]=0,n=t,o=0,t=a):t=0,(0|n)<0&&(i[A>>2]=o=o-n|0,i[e>>2]=t=t-n|0,i[r>>2]=0,n=0),a=o-t|0,f=n-t|0,(0|t)<0?(i[A>>2]=a,i[r>>2]=f,i[e>>2]=0,n=f,f=a,t=0):f=o,(0|(o=(0|t)<(0|(o=(0|n)<(0|f)?n:f))?t:o))<=0||(i[A>>2]=f-o,i[r>>2]=n-o,i[e>>2]=t-o)}function $(A){var e,r,n=0,t=0,o=0,f=0,a=0;o=0|le(+(((n=(0|i[(A|=0)>>2])-(t=0|i[(e=A+8|0)>>2])|0)<<1)+(t=(0|i[(r=A+4|0)>>2])-t|0)|0)/7),i[A>>2]=o,n=0|le(+((3*t|0)-n|0)/7),i[r>>2]=n,i[e>>2]=0,t=n-o|0,(0|o)<0?(a=0-o|0,i[r>>2]=t,i[e>>2]=a,i[A>>2]=0,n=t,o=0,t=a):t=0,(0|n)<0&&(i[A>>2]=o=o-n|0,i[e>>2]=t=t-n|0,i[r>>2]=0,n=0),a=o-t|0,f=n-t|0,(0|t)<0?(i[A>>2]=a,i[r>>2]=f,i[e>>2]=0,n=f,f=a,t=0):f=o,(0|(o=(0|t)<(0|(o=(0|n)<(0|f)?n:f))?t:o))<=0||(i[A>>2]=f-o,i[r>>2]=n-o,i[e>>2]=t-o)}function AA(A){var e,r,n,t=0,o=0,f=0,a=0;f=0|i[(n=8+(A|=0)|0)>>2],i[A>>2]=a=(o=0|i[(r=A+4|0)>>2])+(3*(t=0|i[A>>2])|0)|0,i[r>>2]=o=f+(3*o|0)|0,i[n>>2]=t=(3*f|0)+t|0,f=o-a|0,(0|a)<0?(t=t-a|0,i[r>>2]=f,i[n>>2]=t,i[A>>2]=0,o=f,f=0):f=a,(0|o)<0&&(i[A>>2]=f=f-o|0,i[n>>2]=t=t-o|0,i[r>>2]=0,o=0),e=f-t|0,a=o-t|0,(0|t)<0?(i[A>>2]=e,i[r>>2]=a,i[n>>2]=0,f=e,t=0):a=o,(0|(o=(0|t)<(0|(o=(0|a)<(0|f)?a:f))?t:o))<=0||(i[A>>2]=f-o,i[r>>2]=a-o,i[n>>2]=t-o)}function eA(A){var e,r,n,t=0,o=0,f=0,a=0;f=(3*(t=0|i[(r=4+(A|=0)|0)>>2])|0)+(a=0|i[A>>2])|0,i[A>>2]=a=(o=0|i[(n=A+8|0)>>2])+(3*a|0)|0,i[r>>2]=f,i[n>>2]=t=(3*o|0)+t|0,o=f-a|0,(0|a)<0?(t=t-a|0,i[r>>2]=o,i[n>>2]=t,i[A>>2]=0,a=0):o=f,(0|o)<0&&(i[A>>2]=a=a-o|0,i[n>>2]=t=t-o|0,i[r>>2]=0,o=0),e=a-t|0,f=o-t|0,(0|t)<0?(i[A>>2]=e,i[r>>2]=f,i[n>>2]=0,a=e,t=0):f=o,(0|(o=(0|t)<(0|(o=(0|f)<(0|a)?f:a))?t:o))<=0||(i[A>>2]=a-o,i[r>>2]=f-o,i[n>>2]=t-o)}function rA(A,e){A|=0;var r,n,t,o=0,f=0,a=0;((e|=0)-1|0)>>>0>=6||(i[A>>2]=a=(0|i[15472+(12*e|0)>>2])+(0|i[A>>2])|0,i[(t=A+4|0)>>2]=f=(0|i[15472+(12*e|0)+4>>2])+(0|i[t>>2])|0,i[(n=A+8|0)>>2]=e=(0|i[15472+(12*e|0)+8>>2])+(0|i[n>>2])|0,o=f-a|0,(0|a)<0?(e=e-a|0,i[t>>2]=o,i[n>>2]=e,i[A>>2]=0,f=0):(o=f,f=a),(0|o)<0&&(i[A>>2]=f=f-o|0,i[n>>2]=e=e-o|0,i[t>>2]=0,o=0),r=f-e|0,a=o-e|0,(0|e)<0?(i[A>>2]=r,i[t>>2]=a,i[n>>2]=0,f=r,e=0):a=o,(0|(o=(0|e)<(0|(o=(0|a)<(0|f)?a:f))?e:o))<=0||(i[A>>2]=f-o,i[t>>2]=a-o,i[n>>2]=e-o))}function nA(A){var e,r,n,t=0,o=0,f=0,a=0;f=(t=0|i[(r=4+(A|=0)|0)>>2])+(a=0|i[A>>2])|0,i[A>>2]=a=(o=0|i[(n=A+8|0)>>2])+a|0,i[r>>2]=f,i[n>>2]=t=o+t|0,o=f-a|0,(0|a)<0?(t=t-a|0,i[r>>2]=o,i[n>>2]=t,i[A>>2]=0,f=0):(o=f,f=a),(0|o)<0&&(i[A>>2]=f=f-o|0,i[n>>2]=t=t-o|0,i[r>>2]=0,o=0),e=f-t|0,a=o-t|0,(0|t)<0?(i[A>>2]=e,i[r>>2]=a,i[n>>2]=0,f=e,t=0):a=o,(0|(o=(0|t)<(0|(o=(0|a)<(0|f)?a:f))?t:o))<=0||(i[A>>2]=f-o,i[r>>2]=a-o,i[n>>2]=t-o)}function iA(A){var e,r,n,t=0,o=0,f=0,a=0;o=0|i[(n=8+(A|=0)|0)>>2],i[A>>2]=a=(f=0|i[(r=A+4|0)>>2])+(t=0|i[A>>2])|0,i[r>>2]=f=o+f|0,i[n>>2]=t=o+t|0,o=f-a|0,(0|a)<0?(t=t-a|0,i[r>>2]=o,i[n>>2]=t,i[A>>2]=0,f=0):(o=f,f=a),(0|o)<0&&(i[A>>2]=f=f-o|0,i[n>>2]=t=t-o|0,i[r>>2]=0,o=0),e=f-t|0,a=o-t|0,(0|t)<0?(i[A>>2]=e,i[r>>2]=a,i[n>>2]=0,f=e,t=0):a=o,(0|(o=(0|t)<(0|(o=(0|a)<(0|f)?a:f))?t:o))<=0||(i[A>>2]=f-o,i[r>>2]=a-o,i[n>>2]=t-o)}function tA(A){switch(0|(A|=0)){case 1:A=5;break;case 5:A=4;break;case 4:A=6;break;case 6:A=2;break;case 2:A=3;break;case 3:A=1}return 0|A}function oA(A){switch(0|(A|=0)){case 1:A=3;break;case 3:A=2;break;case 2:A=6;break;case 6:A=4;break;case 4:A=5;break;case 5:A=1}return 0|A}function fA(A){var e,r,n,t=0,o=0,f=0,a=0;f=0|i[(n=8+(A|=0)|0)>>2],i[A>>2]=a=(o=0|i[(r=A+4|0)>>2])+((t=0|i[A>>2])<<1)|0,i[r>>2]=o=f+(o<<1)|0,i[n>>2]=t=(f<<1)+t|0,f=o-a|0,(0|a)<0?(t=t-a|0,i[r>>2]=f,i[n>>2]=t,i[A>>2]=0,o=f,f=0):f=a,(0|o)<0&&(i[A>>2]=f=f-o|0,i[n>>2]=t=t-o|0,i[r>>2]=0,o=0),e=f-t|0,a=o-t|0,(0|t)<0?(i[A>>2]=e,i[r>>2]=a,i[n>>2]=0,f=e,t=0):a=o,(0|(o=(0|t)<(0|(o=(0|a)<(0|f)?a:f))?t:o))<=0||(i[A>>2]=f-o,i[r>>2]=a-o,i[n>>2]=t-o)}function aA(A){var e,r,n,t=0,o=0,f=0,a=0;f=((t=0|i[(r=4+(A|=0)|0)>>2])<<1)+(a=0|i[A>>2])|0,i[A>>2]=a=(o=0|i[(n=A+8|0)>>2])+(a<<1)|0,i[r>>2]=f,i[n>>2]=t=(o<<1)+t|0,o=f-a|0,(0|a)<0?(t=t-a|0,i[r>>2]=o,i[n>>2]=t,i[A>>2]=0,a=0):o=f,(0|o)<0&&(i[A>>2]=a=a-o|0,i[n>>2]=t=t-o|0,i[r>>2]=0,o=0),e=a-t|0,f=o-t|0,(0|t)<0?(i[A>>2]=e,i[r>>2]=f,i[n>>2]=0,a=e,t=0):f=o,(0|(o=(0|t)<(0|(o=(0|f)<(0|a)?f:a))?t:o))<=0||(i[A>>2]=a-o,i[r>>2]=f-o,i[n>>2]=t-o)}function uA(A,e){var r,n,t,o=0,f=0,a=0;return e=(e=(A=(0|(a=((t=(0|(n=(0|i[(A|=0)>>2])-(0|i[(e|=0)>>2])|0))<0)?0-n|0:0)+(0|i[A+8>>2])-(0|i[e+8>>2])+((r=(0|(f=(0|i[A+4>>2])-(0|i[e+4>>2])-(t?n:0)|0))<0)?0-f|0:0)|0))<0)?0:a)-((f=(0|(A=(0|e)<(0|(A=(0|(o=(r?0:f)-(A?a:0)|0))<(0|(a=(t?0:n)-(r?f:0)-(A?a:0)|0))?o:a))?e:A))>0)?A:0)|0,o=o-(f?A:0)|0,0|((0|(A=(0|(A=a-(f?A:0)|0))>-1?A:0-A|0))>(0|(e=(0|(o=(0|o)>-1?o:0-o|0))>(0|(e=(0|e)>-1?e:0-e|0))?o:e))?A:e)}function lA(A,e){var r;i[(e|=0)>>2]=(0|i[(A|=0)>>2])-(r=0|i[A+8>>2]),i[e+4>>2]=(0|i[A+4>>2])-r}function cA(A,e){var r,n,t,o=0,f=0,a=0;i[(e|=0)>>2]=f=0|i[(A|=0)>>2],i[(n=e+4|0)>>2]=A=0|i[A+4>>2],i[(t=e+8|0)>>2]=0,o=A-f|0,(0|f)<0?(A=0-f|0,i[n>>2]=o,i[t>>2]=A,i[e>>2]=0,f=0):(o=A,A=0),(0|o)<0&&(i[e>>2]=f=f-o|0,i[t>>2]=A=A-o|0,i[n>>2]=0,o=0),r=f-A|0,a=o-A|0,(0|A)<0?(i[e>>2]=r,i[n>>2]=a,i[t>>2]=0,o=a,a=r,A=0):a=f,(0|(f=(0|A)<(0|(f=(0|o)<(0|a)?o:a))?A:f))<=0||(i[e>>2]=a-f,i[n>>2]=o-f,i[t>>2]=A-f)}function sA(A){var e,r,n,t;i[(A|=0)>>2]=r=(t=0|i[(e=A+8|0)>>2])-(0|i[A>>2])|0,i[(n=A+4|0)>>2]=A=(0|i[n>>2])-t|0,i[e>>2]=0-(A+r)}function wA(A){var e,r,n=0,t=0,o=0,f=0,a=0;i[(A|=0)>>2]=n=0-(t=0|i[A>>2])|0,i[(e=A+8|0)>>2]=0,f=(o=0|i[(r=A+4|0)>>2])+t|0,(0|t)>0?(i[r>>2]=f,i[e>>2]=t,i[A>>2]=0,n=0,o=f):t=0,(0|o)<0?(i[A>>2]=a=n-o|0,i[e>>2]=t=t-o|0,i[r>>2]=0,f=a-t|0,n=0-t|0,(0|t)<0?(i[A>>2]=f,i[r>>2]=n,i[e>>2]=0,o=n,t=0):(o=0,f=a)):f=n,(0|(n=(0|t)<(0|(n=(0|o)<(0|f)?o:f))?t:n))<=0||(i[A>>2]=f-n,i[r>>2]=o-n,i[e>>2]=t-n)}function gA(A,e,r,n){e|=0,r|=0,n|=0;var o,f=0,a=0,u=0,l=0;if(o=p,p=p+32|0,function(A,e){e|=0;var r,n,i=0;r=+c(+(i=+t[(A|=0)>>3])),i=+s(+i),t[e+16>>3]=i,n=r*+c(+(i=+t[A+8>>3])),t[e>>3]=n,i=r*+s(+i),t[e+8>>3]=i}(A|=0,a=o),i[r>>2]=0,f=+re(15888,a),(u=+re(15912,a))<f&&(i[r>>2]=1,f=u),(u=+re(15936,a))<f&&(i[r>>2]=2,f=u),(u=+re(15960,a))<f&&(i[r>>2]=3,f=u),(u=+re(15984,a))<f&&(i[r>>2]=4,f=u),(u=+re(16008,a))<f&&(i[r>>2]=5,f=u),(u=+re(16032,a))<f&&(i[r>>2]=6,f=u),(u=+re(16056,a))<f&&(i[r>>2]=7,f=u),(u=+re(16080,a))<f&&(i[r>>2]=8,f=u),(u=+re(16104,a))<f&&(i[r>>2]=9,f=u),(u=+re(16128,a))<f&&(i[r>>2]=10,f=u),(u=+re(16152,a))<f&&(i[r>>2]=11,f=u),(u=+re(16176,a))<f&&(i[r>>2]=12,f=u),(u=+re(16200,a))<f&&(i[r>>2]=13,f=u),(u=+re(16224,a))<f&&(i[r>>2]=14,f=u),(u=+re(16248,a))<f&&(i[r>>2]=15,f=u),(u=+re(16272,a))<f&&(i[r>>2]=16,f=u),(u=+re(16296,a))<f&&(i[r>>2]=17,f=u),(u=+re(16320,a))<f&&(i[r>>2]=18,f=u),(u=+re(16344,a))<f&&(i[r>>2]=19,f=u),(u=+g(+(1-.5*f)))<1e-16)return i[n>>2]=0,i[n+4>>2]=0,i[n+8>>2]=0,i[n+12>>2]=0,void(p=o);if(f=+EA((f=+t[16368+(24*(r=0|i[r>>2])|0)>>3])-+EA(+function(A,e){var r,n,i,o,f;return A|=0,f=(n=+c(+(o=+t[(e|=0)>>3])))*+s(+(i=+t[e+8>>3]-+t[A+8>>3])),r=+t[A>>3],+ +b(+f,+(+s(+o)*+c(+r)-+c(+i)*(n*+s(+r))))}(15568+(r<<4)|0,A))),l=0|PA(e)?+EA(f+-.3334731722518321):f,f=+w(+u)/.381966011250105,(0|e)>0){a=0;do{f*=2.6457513110645907,a=a+1|0}while((0|a)!=(0|e))}u=+c(+l)*f,t[n>>3]=u,l=+s(+l)*f,t[n+8>>3]=l,p=o}function dA(A,e,r,n,o){e|=0,r|=0,n|=0,o|=0;var f=0,l=0;if((f=+function(A){var e,r;return+ +u(+((r=+t[(A|=0)>>3])*r+(e=+t[A+8>>3])*e))}(A|=0))<1e-16)return i[o>>2]=i[(e=15568+(e<<4)|0)>>2],i[o+4>>2]=i[e+4>>2],i[o+8>>2]=i[e+8>>2],void(i[o+12>>2]=i[e+12>>2]);if(l=+b(+ +t[A+8>>3],+ +t[A>>3]),(0|r)>0){A=0;do{f/=2.6457513110645907,A=A+1|0}while((0|A)!=(0|r))}n?(f/=3,r=0==(0|PA(r)),f=+B(.381966011250105*(r?f:f/2.6457513110645907))):(f=+B(.381966011250105*f),0|PA(r)&&(l=+EA(l+.3334731722518321))),function(A,e,r,n){A|=0,e=+e,n|=0;var o=0,f=0,u=0,l=0;if((r=+r)<1e-16)return i[n>>2]=i[A>>2],i[n+4>>2]=i[A+4>>2],i[n+8>>2]=i[A+8>>2],void(i[n+12>>2]=i[A+12>>2]);f=e<0?e+6.283185307179586:e,f=e>=6.283185307179586?f+-6.283185307179586:f;do{if(!(f<1e-16)){if(o=+a(+(f+-3.141592653589793))<1e-16,e=+t[A>>3],o){t[n>>3]=e-=r,o=n;break}if(u=+c(+r),r=+s(+r),e=u*+s(+e)+ +c(+f)*(r*+c(+e)),e=+d(+((e=e>1?1:e)<-1?-1:e)),t[n>>3]=e,+a(+(e+-1.5707963267948966))<1e-16)return t[n>>3]=1.5707963267948966,void(t[n+8>>3]=0);if(+a(+(e+1.5707963267948966))<1e-16)return t[n>>3]=-1.5707963267948966,void(t[n+8>>3]=0);if(l=+c(+e),f=r*+s(+f)/l,r=+t[A>>3],e=(u-+s(+e)*+s(+r))/+c(+r)/l,(e=+t[A+8>>3]+ +b(+((u=f>1?1:f)<-1?-1:u),+((e=e>1?1:e)<-1?-1:e)))>3.141592653589793)do{e+=-6.283185307179586}while(e>3.141592653589793);if(e<-3.141592653589793)do{e+=6.283185307179586}while(e<-3.141592653589793);return void(t[n+8>>3]=e)}t[n>>3]=e=+t[A>>3]+r,o=n}while(0);if(+a(+(e+-1.5707963267948966))<1e-16)return t[o>>3]=1.5707963267948966,void(t[n+8>>3]=0);if(+a(+(e+1.5707963267948966))<1e-16)return t[o>>3]=-1.5707963267948966,void(t[n+8>>3]=0);if((e=+t[A+8>>3])>3.141592653589793)do{e+=-6.283185307179586}while(e>3.141592653589793);if(e<-3.141592653589793)do{e+=6.283185307179586}while(e<-3.141592653589793);t[n+8>>3]=e}(15568+(e<<4)|0,+EA(+t[16368+(24*e|0)>>3]-l),f,o)}function BA(A,e,r){var n,t;e|=0,r|=0,n=p,p=p+16|0,N(4+(A|=0)|0,t=n),dA(t,0|i[A>>2],e,0,r),p=n}function bA(A,e,r){A|=0,e|=0,r|=0;var n,t=0,o=0,f=0,a=0,u=0;n=p,p=p+128|0,o=n,a=20208,u=60+(f=t=n+64|0)|0;do{i[f>>2]=i[a>>2],f=f+4|0,a=a+4|0}while((0|f)<(0|u));a=20272,u=(f=o)+60|0;do{i[f>>2]=i[a>>2],f=f+4|0,a=a+4|0}while((0|f)<(0|u));t=(u=0==(0|PA(0|i[e>>2])))?t:o,fA(o=A+4|0),aA(o),0|PA(0|i[e>>2])&&(eA(o),i[e>>2]=1+(0|i[e>>2])),i[r>>2]=i[A>>2],j(o,t,e=r+4|0),Z(e),i[r+16>>2]=i[A>>2],j(o,t+12|0,e=r+20|0),Z(e),i[r+32>>2]=i[A>>2],j(o,t+24|0,e=r+36|0),Z(e),i[r+48>>2]=i[A>>2],j(o,t+36|0,e=r+52|0),Z(e),i[r+64>>2]=i[A>>2],j(o,t+48|0,r=r+68|0),Z(r),p=n}function hA(A,e,r,n){r|=0;var t,o,f,a,u,l,c,s=0,w=0,g=0,d=0;if(l=p,p=p+32|0,u=l+12|0,o=l,d=0|i[16928+((e|=0)<<2)>>2],d=(a=0!=(0|(n|=0)))?3*d|0:d,s=0|i[(c=4+(A|=0)|0)>>2],t=0|i[(f=A+8|0)>>2],a){if((0|(s=t+s+(n=0|i[(w=A+12|0)>>2])|0))==(0|d))return p=l,1;g=w}else s=t+s+(n=0|i[(g=A+12|0)>>2])|0;if((0|s)<=(0|d))return p=l,0;do{if((0|n)>0){if(n=0|i[A>>2],(0|t)>0){w=18608+(80*n|0)+60|0,n=A;break}n=18608+(80*n|0)+40|0,r?(O(u,d,0,0),J(c,u,o),iA(o),j(o,u,c),w=n,n=A):(w=n,n=A)}else w=18608+(80*(0|i[A>>2])|0)+20|0,n=A}while(0);if(i[n>>2]=i[w>>2],(0|i[(s=w+16|0)>>2])>0){n=0;do{nA(c),n=n+1|0}while((0|n)<(0|i[s>>2]))}return i[u>>2]=i[(A=w+4|0)>>2],i[u+4>>2]=i[A+4>>2],i[u+8>>2]=i[A+8>>2],e=0|i[16848+(e<<2)>>2],K(u,a?3*e|0:e),j(c,u,c),Z(c),p=l,0|(a&&((0|i[f>>2])+(0|i[c>>2])+(0|i[g>>2])|0)==(0|d)?1:2)}function QA(A,e){A|=0,e|=0;var r=0;do{r=0|hA(A,e,0,1)}while(2==(0|r));return 0|r}function kA(A,e,r,n){A|=0,e|=0,n|=0;var o,f,a,u,l,c,s,w,g,d,B,b,h,Q,k,m,E=0,v=0,D=0,I=0,C=0,_=0;if(m=p,p=p+240|0,E=m+224|0,B=m+208|0,b=m,h=m+192|0,Q=m+176|0,k=m+160|0,s=m+144|0,w=m+128|0,g=m+112|0,d=m+96|0,0|(r|=0))return function(A,e,r){A|=0,r|=0;var n,o,f,a,u,l,c,s,w,g,d,B,b,h,Q,k,m,E,v,D=0,I=0,C=0,_=0,F=0,U=0,y=0,G=0;v=p,p=p+272|0,U=v+240|0,h=v,Q=v+224|0,k=v+208|0,m=v+176|0,E=v+160|0,s=v+192|0,w=v+144|0,g=v+128|0,d=v+112|0,B=v+96|0,b=v+80|0,i[(F=v+256|0)>>2]=e|=0,i[U>>2]=i[A>>2],i[U+4>>2]=i[A+4>>2],i[U+8>>2]=i[A+8>>2],i[U+12>>2]=i[A+12>>2],bA(U,F,h),i[r>>2]=0,U=Q+4|0,n=m+4|0,o=16848+((F=0|i[F>>2])<<2)|0,f=16928+(F<<2)|0,a=g+8|0,u=d+8|0,l=B+8|0,c=k+4|0,_=0;A:for(;;){i[k>>2]=i[(C=h+(((_>>>0)%5|0)<<4)|0)>>2],i[k+4>>2]=i[C+4>>2],i[k+8>>2]=i[C+8>>2],i[k+12>>2]=i[C+12>>2];do{}while(2==(0|hA(k,F,0,1)));if(0!=(0|_)&0!=(0|PA(e))){if(i[m>>2]=i[k>>2],i[m+4>>2]=i[k+4>>2],i[m+8>>2]=i[k+8>>2],i[m+12>>2]=i[k+12>>2],N(U,E),i[m>>2]=i[18608+(80*(D=0|i[m>>2])|0)+(20*(I=0|i[17008+(80*D|0)+(i[Q>>2]<<2)>>2])|0)>>2],(0|(C=0|i[18608+(80*D|0)+(20*I|0)+16>>2]))>0){A=0;do{nA(n),A=A+1|0}while((0|A)<(0|C))}switch(i[s>>2]=i[(C=18608+(80*D|0)+(20*I|0)+4|0)>>2],i[s+4>>2]=i[C+4>>2],i[s+8>>2]=i[C+8>>2],K(s,3*(0|i[o>>2])|0),j(n,s,n),Z(n),N(n,w),t[g>>3]=3*(y=+(0|i[f>>2])),t[a>>3]=0,t[d>>3]=G=-1.5*y,t[u>>3]=2.598076211353316*y,t[B>>3]=G,t[l>>3]=-2.598076211353316*y,0|i[17008+(80*(0|i[m>>2])|0)+(i[k>>2]<<2)>>2]){case 1:A=d,D=g;break;case 3:A=B,D=d;break;case 2:A=g,D=B;break;default:A=11;break A}Ae(E,w,D,A,b),dA(b,0|i[m>>2],F,1,r+8+(i[r>>2]<<4)|0),i[r>>2]=1+(0|i[r>>2])}if(_>>>0<5&&(N(c,m),dA(m,0|i[k>>2],F,1,r+8+(i[r>>2]<<4)|0),i[r>>2]=1+(0|i[r>>2])),i[Q>>2]=i[k>>2],i[Q+4>>2]=i[k+4>>2],i[Q+8>>2]=i[k+8>>2],i[Q+12>>2]=i[k+12>>2],(_=_+1|0)>>>0>=6){A=2;break}}2!=(0|A)?11==(0|A)&&M(22113,22160,571,22170):p=v}(A,e,n),void(p=m);i[E>>2]=e,i[B>>2]=i[A>>2],i[B+4>>2]=i[A+4>>2],i[B+8>>2]=i[A+8>>2],i[B+12>>2]=i[A+12>>2],mA(B,E,b),i[n>>2]=0,f=16928+((o=0|i[E>>2])<<2)|0,a=s+8|0,u=w+8|0,l=g+8|0,c=h+4|0,v=0,D=0,r=-1;A:for(;;){if(i[h>>2]=i[(A=b+((E=(D>>>0)%6|0)<<4)|0)>>2],i[h+4>>2]=i[A+4>>2],i[h+8>>2]=i[A+8>>2],i[h+12>>2]=i[A+12>>2],A=v,v=0|hA(h,o,0,1),0!=(0|D)&0!=(0|PA(e))&&1!=(0|A)&&(0|i[h>>2])!=(0|r)){switch(N(b+((((E+5|0)>>>0)%6|0)<<4)+4|0,Q),N(b+(E<<4)+4|0,k),t[s>>3]=3*(C=+(0|i[f>>2])),t[a>>3]=0,t[w>>3]=_=-1.5*C,t[u>>3]=2.598076211353316*C,t[g>>3]=_,t[l>>3]=-2.598076211353316*C,0|i[17008+(80*(E=0|i[B>>2])|0)+(((0|r)==(0|E)?0|i[h>>2]:r)<<2)>>2]){case 1:A=w,r=s;break;case 3:A=g,r=w;break;case 2:A=s,r=g;break;default:I=9;break A}Ae(Q,k,r,A,d),0|ee(Q,d)||0|ee(k,d)||(dA(d,0|i[B>>2],o,1,n+8+(i[n>>2]<<4)|0),i[n>>2]=1+(0|i[n>>2]))}if(D>>>0<6&&(N(c,Q),dA(Q,0|i[h>>2],o,1,n+8+(i[n>>2]<<4)|0),i[n>>2]=1+(0|i[n>>2])),(D=D+1|0)>>>0>=7)break;r=0|i[h>>2]}9==(0|I)&&M(22196,22160,735,22241),p=m}function mA(A,e,r){A|=0,e|=0,r|=0;var n,t=0,o=0,f=0,a=0,u=0;n=p,p=p+160|0,o=n,a=20336,u=72+(f=t=n+80|0)|0;do{i[f>>2]=i[a>>2],f=f+4|0,a=a+4|0}while((0|f)<(0|u));a=20416,u=(f=o)+72|0;do{i[f>>2]=i[a>>2],f=f+4|0,a=a+4|0}while((0|f)<(0|u));t=(u=0==(0|PA(0|i[e>>2])))?t:o,fA(o=A+4|0),aA(o),0|PA(0|i[e>>2])&&(eA(o),i[e>>2]=1+(0|i[e>>2])),i[r>>2]=i[A>>2],j(o,t,e=r+4|0),Z(e),i[r+16>>2]=i[A>>2],j(o,t+12|0,e=r+20|0),Z(e),i[r+32>>2]=i[A>>2],j(o,t+24|0,e=r+36|0),Z(e),i[r+48>>2]=i[A>>2],j(o,t+36|0,e=r+52|0),Z(e),i[r+64>>2]=i[A>>2],j(o,t+48|0,e=r+68|0),Z(e),i[r+80>>2]=i[A>>2],j(o,t+60|0,r=r+84|0),Z(r),p=n}function EA(A){var e;return e=(A=+A)<0?A+6.283185307179586:A,+(A>=6.283185307179586?e+-6.283185307179586:e)}function MA(A,e,r){return r=+r,+a(+(+t[(A|=0)>>3]-+t[(e|=0)>>3]))<r?0|(e=+a(+(+t[A+8>>3]-+t[e+8>>3]))<r):0|(e=0)}function vA(A,e){return+a(+(+t[(A|=0)>>3]-+t[(e|=0)>>3]))<1.7453292519943298e-11?0|(e=+a(+(+t[A+8>>3]-+t[e+8>>3]))<1.7453292519943298e-11):0|(e=0)}function DA(A){if(!((A=+A)>1.5707963267948966))return+A;do{A+=-3.141592653589793}while(A>1.5707963267948966);return+A}function IA(A){if((A=+A)>3.141592653589793)do{A+=-6.283185307179586}while(A>3.141592653589793);if(!(A<-3.141592653589793))return+A;do{A+=6.283185307179586}while(A<-3.141592653589793);return+A}function CA(A,e){var r=0,n=0,i=0;return(r=+a(+((n=+t[8+(e|=0)>>3])-(i=+t[8+(A|=0)>>3]))))>3.141592653589793&&(r=+a(+((n<0?n+6.283185307179586:n)-(i<0?i+6.283185307179586:i)))),i=1.5707963267948966-+t[e>>3],i=+c(+(n=1.5707963267948966-+t[A>>3]))*+c(+i)+ +c(+r)*(+s(+n)*+s(+i)),6371.007180918475*+g(+((i=i>1?1:i)<-1?-1:i))}function _A(A,e){var r=0,n=0,i=0,t=0,o=0,f=0;if(!(!0&134217728==(2013265920&(e|=0)|0)))return 0;if(o=0|be(0|(A|=0),0|e,45),E(),(o&=127)>>>0>121)return 0;r=0|be(0|A,0|e,52),E(),r&=15;do{if(0|r){for(i=1,n=0;;){if(t=0|be(0|A,0|e,3*(15-i|0)|0),E(),0!=(0|(t&=7))&(1^n)){if(1==(0|t)&0!=(0|x(o))){f=0,n=13;break}n=1}if(7==(0|t)){f=0,n=13;break}if(!(i>>>0<r>>>0)){n=9;break}i=i+1|0}if(9==(0|n)){if(15!=(0|r))break;return 1}if(13==(0|n))return 0|f}}while(0);for(;;){if(f=0|be(0|A,0|e,3*(14-r|0)|0),E(),!(7==(7&f|0)&!0)){f=0,n=13;break}if(!(r>>>0<14)){f=1,n=13;break}r=r+1|0}return 13==(0|n)?0|f:0}function pA(A,e,r){r|=0;var n=0,i=0;if(n=0|be(0|(A|=0),0|(e|=0),52),E(),(0|(n&=15))>=(0|r)){if((0|n)!=(0|r))if(r>>>0<=15){if(A|=i=0|he(0|r,0,52),e=0|E()|-15728641&e,(0|n)>(0|r))do{i=0|he(7,0,3*(14-r|0)|0),r=r+1|0,A|=i,e=0|E()|e}while((0|r)<(0|n))}else e=0,A=0}else e=0,A=0;return m(0|e),0|A}function FA(A,e,r,n){r|=0,n|=0;var t,o=0,f=0,a=0,u=0,l=0,c=0;if(a=0|be(0|(A|=0),0|(e|=0),52),E(),(0|r)<16&(0|(a&=15))<=(0|r)){if((0|a)==(0|r))return i[(r=n)>>2]=A,void(i[r+4>>2]=e);if(t=(0|(l=0|KA(7,r-a|0)))/7|0,u=0|be(0|A,0|e,45),E(),0|x(127&u)){A:do{if(a)for(f=1;;){if(o=0|be(0|A,0|e,3*(15-f|0)|0),E(),0|(o&=7))break A;if(!(f>>>0<a>>>0)){o=0;break}f=f+1|0}else o=0}while(0);f=0==(0|o)}else f=0;if(c=0|he(a+1|0,0,52),o=0|E()|-15728641&e,FA(e=(c|A)&~(e=0|he(7,0,0|(u=3*(14-a|0)|0))),a=o&~(0|E()),r,n),o=n+(t<<3)|0,!f)return FA((c=0|he(1,0,0|u))|e,0|E()|a,r,o),c=o+(t<<3)|0,FA((l=0|he(2,0,0|u))|e,0|E()|a,r,c),c=c+(t<<3)|0,FA((l=0|he(3,0,0|u))|e,0|E()|a,r,c),c=c+(t<<3)|0,FA((l=0|he(4,0,0|u))|e,0|E()|a,r,c),c=c+(t<<3)|0,FA((l=0|he(5,0,0|u))|e,0|E()|a,r,c),void FA((l=0|he(6,0,0|u))|e,0|E()|a,r,c+(t<<3)|0);f=o+(t<<3)|0,(0|l)>6&&(me(0|o,0,8+(c=(f>>>0>(l=o+8|0)>>>0?f:l)+-1+(0-o)|0)&-8|0),o=l+(c>>>3<<3)|0),FA((c=0|he(2,0,0|u))|e,0|E()|a,r,o),c=o+(t<<3)|0,FA((l=0|he(3,0,0|u))|e,0|E()|a,r,c),c=c+(t<<3)|0,FA((l=0|he(4,0,0|u))|e,0|E()|a,r,c),c=c+(t<<3)|0,FA((l=0|he(5,0,0|u))|e,0|E()|a,r,c),FA((l=0|he(6,0,0|u))|e,0|E()|a,r,c+(t<<3)|0)}}function UA(A,e){var r=0,n=0,i=0;if(i=0|be(0|(A|=0),0|(e|=0),45),E(),!(0|x(127&i)))return 0;i=0|be(0|A,0|e,52),E(),i&=15;A:do{if(i)for(n=1;;){if(r=0|be(0|A,0|e,3*(15-n|0)|0),E(),0|(r&=7))break A;if(!(n>>>0<i>>>0)){r=0;break}n=n+1|0}else r=0}while(0);return 0|0==(0|r)&1}function yA(A,e){var r=0,n=0,i=0;if(i=0|be(0|(A|=0),0|(e|=0),52),E(),!(i&=15))return 0;for(n=1;;){if(r=0|be(0|A,0|e,3*(15-n|0)|0),E(),0|(r&=7)){n=5;break}if(!(n>>>0<i>>>0)){r=0,n=5;break}n=n+1|0}return 5==(0|n)?0|r:0}function GA(A,e){var r=0,n=0,i=0,t=0,o=0,f=0,a=0;if(a=0|be(0|(A|=0),0|(e|=0),52),E(),!(a&=15))return a=A,m(0|(f=e)),0|a;for(f=1,r=0;;){n=0|he(7,0,0|(t=3*(15-f|0)|0)),i=0|E(),o=0|be(0|A,0|e,0|t),E(),A=(t=0|he(0|tA(7&o),0,0|t))|A&~n,e=(o=0|E())|e&~i;A:do{if(!r)if(0==(t&n|0)&0==(o&i|0))r=0;else if(n=0|be(0|A,0|e,52),E(),n&=15){r=1;e:for(;;){switch(o=0|be(0|A,0|e,3*(15-r|0)|0),E(),7&o){case 1:break e;case 0:break;default:r=1;break A}if(!(r>>>0<n>>>0)){r=1;break A}r=r+1|0}for(r=1;;){if(i=0|be(0|A,0|e,0|(o=3*(15-r|0)|0)),E(),t=0|he(7,0,0|o),e&=~(0|E()),A=A&~t|(o=0|he(0|tA(7&i),0,0|o)),e=0|e|E(),!(r>>>0<n>>>0)){r=1;break}r=r+1|0}}else r=1}while(0);if(!(f>>>0<a>>>0))break;f=f+1|0}return m(0|e),0|A}function xA(A,e){var r=0,n=0,i=0,t=0,o=0;if(n=0|be(0|(A|=0),0|(e|=0),52),E(),!(n&=15))return n=A,m(0|(r=e)),0|n;for(r=1;o=0|be(0|A,0|e,0|(t=3*(15-r|0)|0)),E(),i=0|he(7,0,0|t),e&=~(0|E()),A=(t=0|he(0|tA(7&o),0,0|t))|A&~i,e=0|E()|e,r>>>0<n>>>0;)r=r+1|0;return m(0|e),0|A}function HA(A,e){var r=0,n=0,i=0,t=0,o=0,f=0,a=0;if(a=0|be(0|(A|=0),0|(e|=0),52),E(),!(a&=15))return a=A,m(0|(f=e)),0|a;for(f=1,r=0;;){n=0|he(7,0,0|(t=3*(15-f|0)|0)),i=0|E(),o=0|be(0|A,0|e,0|t),E(),A=(t=0|he(0|oA(7&o),0,0|t))|A&~n,e=(o=0|E())|e&~i;A:do{if(!r)if(0==(t&n|0)&0==(o&i|0))r=0;else if(n=0|be(0|A,0|e,52),E(),n&=15){r=1;e:for(;;){switch(o=0|be(0|A,0|e,3*(15-r|0)|0),E(),7&o){case 1:break e;case 0:break;default:r=1;break A}if(!(r>>>0<n>>>0)){r=1;break A}r=r+1|0}for(r=1;;){if(t=0|he(7,0,0|(i=3*(15-r|0)|0)),o=e&~(0|E()),e=0|be(0|A,0|e,0|i),E(),A=A&~t|(e=0|he(0|oA(7&e),0,0|i)),e=0|o|E(),!(r>>>0<n>>>0)){r=1;break}r=r+1|0}}else r=1}while(0);if(!(f>>>0<a>>>0))break;f=f+1|0}return m(0|e),0|A}function TA(A,e){var r=0,n=0,i=0,t=0,o=0;if(n=0|be(0|(A|=0),0|(e|=0),52),E(),!(n&=15))return n=A,m(0|(r=e)),0|n;for(r=1;t=0|he(7,0,0|(o=3*(15-r|0)|0)),i=e&~(0|E()),e=0|be(0|A,0|e,0|o),E(),A=(e=0|he(0|oA(7&e),0,0|o))|A&~t,e=0|E()|i,r>>>0<n>>>0;)r=r+1|0;return m(0|e),0|A}function PA(A){return 0|(0|(A|=0))%2}function RA(A,e){var r,n;return A|=0,n=p,p=p+16|0,r=n,(e|=0)>>>0<=15&&2146435072!=(2146435072&i[A+4>>2]|0)&&2146435072!=(2146435072&i[A+8+4>>2]|0)?(function(A,e,r){var n,i;n=p,p=p+16|0,gA(A|=0,e|=0,r|=0,i=n),W(i,r+4|0),p=n}(A,e,r),e=0|function(A,e){A|=0;var r,n=0,t=0,o=0,f=0,a=0,u=0,l=0,c=0;if(r=p,p=p+64|0,u=r+40|0,t=r+24|0,o=r+12|0,f=r,he(0|(e|=0),0,52),n=134225919|E(),!e)return(0|i[A+4>>2])>2?(u=0,m(0|(a=0)),p=r,0|u):(0|i[A+8>>2])>2?(u=0,m(0|(a=0)),p=r,0|u):(0|i[A+12>>2])>2?(u=0,m(0|(a=0)),p=r,0|u):(he(0|T(A),0,45),a=0|E()|n,u=-1,m(0|a),p=r,0|u);if(i[u>>2]=i[A>>2],i[u+4>>2]=i[A+4>>2],i[u+8>>2]=i[A+8>>2],i[u+12>>2]=i[A+12>>2],a=u+4|0,(0|e)>0)for(A=-1;i[t>>2]=i[a>>2],i[t+4>>2]=i[a+4>>2],i[t+8>>2]=i[a+8>>2],1&e?(q(a),i[o>>2]=i[a>>2],i[o+4>>2]=i[a+4>>2],i[o+8>>2]=i[a+8>>2],AA(o)):($(a),i[o>>2]=i[a>>2],i[o+4>>2]=i[a+4>>2],i[o+8>>2]=i[a+8>>2],eA(o)),J(t,o,f),Z(f),l=0|he(7,0,0|(c=3*(15-e|0)|0)),n&=~(0|E()),A=(c=0|he(0|X(f),0,0|c))|A&~l,n=0|E()|n,(0|e)>1;)e=e+-1|0;else A=-1;A:do{if((0|i[a>>2])<=2&&(0|i[u+8>>2])<=2&&(0|i[u+12>>2])<=2){if(e=0|he(0|(t=0|T(u)),0,45),e|=A,A=0|E()|-1040385&n,f=0|P(u),!(0|x(t))){if((0|f)<=0)break;for(o=0;;){if(t=0|be(0|e,0|A,52),E(),t&=15)for(n=1;u=0|be(0|e,0|A,0|(c=3*(15-n|0)|0)),E(),l=0|he(7,0,0|c),A&=~(0|E()),e=e&~l|(c=0|he(0|tA(7&u),0,0|c)),A=0|A|E(),n>>>0<t>>>0;)n=n+1|0;if((0|(o=o+1|0))==(0|f))break A}}o=0|be(0|e,0|A,52),E(),o&=15;e:do{if(o){n=1;r:for(;;){switch(c=0|be(0|e,0|A,3*(15-n|0)|0),E(),7&c){case 1:break r;case 0:break;default:break e}if(!(n>>>0<o>>>0))break e;n=n+1|0}if(0|R(t,0|i[u>>2]))for(n=1;l=0|he(7,0,0|(u=3*(15-n|0)|0)),c=A&~(0|E()),A=0|be(0|e,0|A,0|u),E(),e=e&~l|(A=0|he(0|oA(7&A),0,0|u)),A=0|c|E(),n>>>0<o>>>0;)n=n+1|0;else for(n=1;u=0|be(0|e,0|A,0|(c=3*(15-n|0)|0)),E(),l=0|he(7,0,0|c),A&=~(0|E()),e=e&~l|(c=0|he(0|tA(7&u),0,0|c)),A=0|A|E(),n>>>0<o>>>0;)n=n+1|0}}while(0);if((0|f)>0){n=0;do{e=0|GA(e,A),A=0|E(),n=n+1|0}while((0|n)!=(0|f))}}else e=0,A=0}while(0);return c=e,m(0|(l=A)),p=r,0|c}(r,e),A=0|E()):(A=0,e=0),m(0|A),p=n,0|e}function SA(A,e,r){var n,t=0,o=0,f=0;if(n=4+(r|=0)|0,o=0|be(0|(A|=0),0|(e|=0),52),E(),o&=15,f=0|be(0|A,0|e,45),E(),t=0==(0|o),0|x(127&f)){if(t)return 1;t=1}else{if(t)return 0;t=0==(0|i[n>>2])&&0==(0|i[r+8>>2])?0!=(0|i[r+12>>2])&1:1}for(r=1;1&r?AA(n):eA(n),f=0|be(0|A,0|e,3*(15-r|0)|0),E(),rA(n,7&f),r>>>0<o>>>0;)r=r+1|0;return 0|t}function zA(A,e,r){r|=0;var n,t,o=0,f=0,a=0,u=0,l=0,c=0;t=p,p=p+16|0,n=t,c=0|be(0|(A|=0),0|(e|=0),45),E(),c&=127;A:do{if(0!=(0|x(c))&&(a=0|be(0|A,0|e,52),E(),0!=(0|(a&=15)))){o=1;e:for(;;){switch(l=0|be(0|A,0|e,3*(15-o|0)|0),E(),7&l){case 5:break e;case 0:break;default:o=e;break A}if(!(o>>>0<a>>>0)){o=e;break A}o=o+1|0}for(f=1,o=e;u=0|he(7,0,0|(e=3*(15-f|0)|0)),l=o&~(0|E()),o=0|be(0|A,0|o,0|e),E(),A=A&~u|(o=0|he(0|oA(7&o),0,0|e)),o=0|l|E(),f>>>0<a>>>0;)f=f+1|0}else o=e}while(0);if(i[r>>2]=i[(l=7728+(28*c|0)|0)>>2],i[r+4>>2]=i[l+4>>2],i[r+8>>2]=i[l+8>>2],i[r+12>>2]=i[l+12>>2],0|SA(A,o,r)){if(i[n>>2]=i[(u=r+4|0)>>2],i[n+4>>2]=i[u+4>>2],i[n+8>>2]=i[u+8>>2],a=0|be(0|A,0|o,52),E(),l=15&a,1&a?(eA(u),a=l+1|0):a=l,0|x(c)){A:do{if(l)for(e=1;;){if(f=0|be(0|A,0|o,3*(15-e|0)|0),E(),0|(f&=7)){o=f;break A}if(!(e>>>0<l>>>0)){o=0;break}e=e+1|0}else o=0}while(0);o=4==(0|o)&1}else o=0;if(0|hA(r,a,o,0)){if(0|x(c))do{}while(0!=(0|hA(r,a,0,0)));(0|a)!=(0|l)&&$(u)}else(0|a)!=(0|l)&&(i[u>>2]=i[n>>2],i[u+4>>2]=i[n+4>>2],i[u+8>>2]=i[n+8>>2]);p=t}else p=t}function VA(A,e,r){var n,i;r|=0,n=p,p=p+16|0,zA(A|=0,e|=0,i=n),e=0|be(0|A,0|e,52),E(),BA(i,15&e,r),p=n}function LA(A,e,r){r|=0;var n,i,t=0,o=0,f=0;if(i=p,p=p+16|0,zA(A|=0,e|=0,n=i),f=0|be(0|A,0|e,52),E(),f&=15,o=0|be(0|A,0|e,45),E(),!(0|x(127&o)))return kA(n,f,e=0,r),void(p=i);A:do{if(f)for(o=1;;){if(t=0|be(0|A,0|e,3*(15-o|0)|0),E(),0|(t&=7))break A;if(!(o>>>0<f>>>0)){t=0;break}o=o+1|0}else t=0}while(0);kA(n,f,e=0==(0|t)&1,r),p=i}function YA(A,e,r,n){var t,o,f=0,a=0,u=0,l=0;if(t=p,p=p+64|0,o=t,(0|(A|=0))==(0|(r|=0))&(0|(e|=0))==(0|(n|=0))|!1|134217728!=(2013265920&e|0)|!1|134217728!=(2013265920&n|0))return p=t,0;if(f=0|be(0|A,0|e,52),E(),f&=15,a=0|be(0|r,0|n,52),E(),(0|f)!=(15&a|0))return p=t,0;if(a=f+-1|0,f>>>0>1&&(l=0|pA(A,e,a),u=0|E(),(0|l)==(0|(a=0|pA(r,n,a)))&(0|u)==(0|E()))){if(f=0|be(0|A,0|e,0|(a=3*(15^f)|0)),E(),f&=7,a=0|be(0|r,0|n,0|a),E(),0==(0|f)|0==(0|(a&=7)))return p=t,1;if((0|i[21136+(f<<2)>>2])==(0|a))return p=t,1;if((0|i[21168+(f<<2)>>2])==(0|a))return p=t,1}a=(f=o)+56|0;do{i[f>>2]=0,f=f+4|0}while((0|f)<(0|a));return F(A,e,1,o),f=(0|i[(l=o)>>2])==(0|r)&&(0|i[l+4>>2])==(0|n)||(0|i[(l=o+8|0)>>2])==(0|r)&&(0|i[l+4>>2])==(0|n)||(0|i[(l=o+16|0)>>2])==(0|r)&&(0|i[l+4>>2])==(0|n)||(0|i[(l=o+24|0)>>2])==(0|r)&&(0|i[l+4>>2])==(0|n)||(0|i[(l=o+32|0)>>2])==(0|r)&&(0|i[l+4>>2])==(0|n)||(0|i[(l=o+40|0)>>2])==(0|r)&&(0|i[l+4>>2])==(0|n)?1:1&((0|i[(f=o+48|0)>>2])==(0|r)?(0|i[f+4>>2])==(0|n):0),p=t,0|f}function OA(A){A|=0;var e,r,n=0;return(e=0|we(1,12))||M(22330,22285,46,22343),0|(n=0|i[(r=A+4|0)>>2])?(i[(n=n+8|0)>>2]=e,i[r>>2]=e,0|e):(0|i[A>>2]&&M(22360,22285,58,22383),i[(n=A)>>2]=e,i[r>>2]=e,0|e)}function WA(A,e){var r,n;return A|=0,e|=0,(n=0|ce(24))||M(22397,22285,75,22411),i[n>>2]=i[e>>2],i[n+4>>2]=i[e+4>>2],i[n+8>>2]=i[e+8>>2],i[n+12>>2]=i[e+12>>2],i[n+16>>2]=0,0|(r=0|i[(e=A+4|0)>>2])?(i[r+16>>2]=n,i[e>>2]=n,0|n):(0|i[A>>2]&&M(22426,22285,79,22411),i[A>>2]=n,i[e>>2]=n,0|n)}function ZA(A){var e,r,n=0,o=0,f=0,u=0,l=0,c=0,s=0,w=0,g=0,d=0,B=0,b=0,h=0,Q=0,k=0,m=0,E=0,v=0,D=0,I=0,C=0,_=0,p=0,F=0,U=0,y=0,G=0,x=0,H=0,T=0;if(0|i[(u=8+(A|=0)|0)>>2])return 1;if(!(f=0|i[A>>2]))return 0;n=f,o=0;do{o=o+1|0,n=0|i[n+8>>2]}while(0!=(0|n));if(o>>>0<2)return 0;(r=0|ce(o<<2))||M(22446,22285,312,22465),(e=0|ce(o<<5))||M(22487,22285,316,22465),i[A>>2]=0,i[(_=A+4|0)>>2]=0,i[u>>2]=0,o=0,x=0,C=0,B=0;A:for(;;){if(d=0|i[f>>2]){l=0,c=d;do{if(n=c,+a(+((w=+t[c+8>>3])-(s=+t[(u=(g=0==(0|(c=0|i[c+16>>2])))?d:c)+8>>3])))>3.141592653589793){T=14;break}l+=(s-w)*(+t[n>>3]+ +t[u>>3])}while(!g);if(14==(0|T)){T=0,l=0,n=d;do{l+=(+t[n>>3]+ +t[(y=0==(0|(y=0|i[(G=n+16|0)>>2]))?d:y)>>3])*(((D=+t[y+8>>3])<0?D+6.283185307179586:D)-((I=+t[n+8>>3])<0?I+6.283185307179586:I)),n=0|i[(0==(0|n)?f:G)>>2]}while(0!=(0|n))}l>0?(i[r+(x<<2)>>2]=f,x=x+1|0,u=C,n=B):T=19}else T=19;if(19==(0|T)){T=0;do{if(!o){if(B){u=_,c=B+8|0,n=f,o=A;break}if(0|i[A>>2]){T=27;break A}u=_,c=A,n=f,o=A;break}if(0|i[(n=o+8|0)>>2]){T=21;break A}if(!(o=0|we(1,12))){T=23;break A}i[n>>2]=o,u=o+4|0,c=o,n=B}while(0);if(i[c>>2]=f,i[u>>2]=f,c=e+(C<<5)|0,g=0|i[f>>2]){for(t[(d=e+(C<<5)+8|0)>>3]=1.7976931348623157e308,t[(B=e+(C<<5)+24|0)>>3]=1.7976931348623157e308,t[c>>3]=-1.7976931348623157e308,t[(b=e+(C<<5)+16|0)>>3]=-1.7976931348623157e308,E=1.7976931348623157e308,v=-1.7976931348623157e308,u=0,h=g,w=1.7976931348623157e308,k=1.7976931348623157e308,m=-1.7976931348623157e308,s=-1.7976931348623157e308;l=+t[h>>3],I=+t[h+8>>3],D=+t[((Q=0==(0|(h=0|i[h+16>>2])))?g:h)+8>>3],l<w&&(t[d>>3]=l,w=l),I<k&&(t[B>>3]=I,k=I),l>m?t[c>>3]=l:l=m,I>s&&(t[b>>3]=I,s=I),E=I>0&I<E?I:E,v=I<0&I>v?I:v,u|=+a(+(I-D))>3.141592653589793,!Q;)m=l;u&&(t[b>>3]=v,t[B>>3]=E)}else i[c>>2]=0,i[c+4>>2]=0,i[c+8>>2]=0,i[c+12>>2]=0,i[c+16>>2]=0,i[c+20>>2]=0,i[c+24>>2]=0,i[c+28>>2]=0;u=C+1|0}if(f=0|i[(G=f+8|0)>>2],i[G>>2]=0,!f){T=45;break}C=u,B=n}if(21==(0|T))M(22263,22285,32,22297);else if(23==(0|T))M(22317,22285,34,22297);else if(27==(0|T))M(22360,22285,58,22383);else if(45==(0|T)){A:do{if((0|x)>0){for(G=0==(0|u),U=u<<2,y=0==(0|A),F=0,n=0;;){if(p=0|i[r+(F<<2)>>2],G)T=73;else{if(!(C=0|ce(U))){T=50;break}if(!(_=0|ce(U))){T=52;break}e:do{if(y)o=0;else{for(u=0,o=0,c=A;0|NA(0|i[c>>2],f=e+(u<<5)|0,0|i[p>>2])?(i[C+(o<<2)>>2]=c,i[_+(o<<2)>>2]=f,Q=o+1|0):Q=o,c=0|i[c+8>>2];)u=u+1|0,o=Q;if((0|Q)>0)if(f=0|i[C>>2],1==(0|Q))o=f;else for(b=0,h=-1,o=f,B=f;;){for(g=0|i[B>>2],f=0,c=0;d=(0|(u=0|i[i[C+(c<<2)>>2]>>2]))==(0|g)?f:f+(1&(0|NA(u,0|i[_+(c<<2)>>2],0|i[g>>2])))|0,(0|(c=c+1|0))!=(0|Q);)f=d;if(o=(u=(0|d)>(0|h))?B:o,(0|(f=b+1|0))==(0|Q))break e;b=f,h=u?d:h,B=0|i[C+(f<<2)>>2]}else o=0}}while(0);if(se(C),se(_),o){if(f=0|i[(u=o+4|0)>>2])o=f+8|0;else if(0|i[o>>2]){T=70;break}i[o>>2]=p,i[u>>2]=p}else T=73}if(73==(0|T)){if(T=0,0|(n=0|i[p>>2]))do{_=n,n=0|i[n+16>>2],se(_)}while(0!=(0|n));se(p),n=2}if((0|(F=F+1|0))>=(0|x)){H=n;break A}}50==(0|T)?M(22502,22285,246,22521):52==(0|T)?M(22540,22285,248,22521):70==(0|T)&&M(22360,22285,58,22383)}else H=0}while(0);return se(r),se(e),0|H}return 0}function NA(A,e,r){A|=0;var n,o=0,f=0,a=0,u=0,l=0,c=0,s=0;if(!(0|L(e|=0,r|=0)))return 0;if(e=0|V(e),n=+t[r>>3],o=e&(o=+t[r+8>>3])<0?o+6.283185307179586:o,!(A=0|i[A>>2]))return 0;if(e){e=0,r=A;A:for(;;){for(;u=+t[r>>3],c=+t[r+8>>3],f=+t[(s=0==(0|(s=0|i[(r=r+16|0)>>2]))?A:s)+8>>3],u>(a=+t[s>>3])?(l=u,u=c):(l=a,a=u,u=f,f=c),n<a|n>l;)if(!(r=0|i[r>>2])){r=22;break A}if(o=(u=u<0?u+6.283185307179586:u)==o|(c=f<0?f+6.283185307179586:f)==o?o+-2.220446049250313e-16:o,((c+=(n-a)/(l-a)*(u-c))<0?c+6.283185307179586:c)>o&&(e^=1),!(r=0|i[r>>2])){r=22;break}}if(22==(0|r))return 0|e}else{e=0,r=A;A:for(;;){for(;u=+t[r>>3],c=+t[r+8>>3],f=+t[(s=0==(0|(s=0|i[(r=r+16|0)>>2]))?A:s)+8>>3],u>(a=+t[s>>3])?(l=u,u=c):(l=a,a=u,u=f,f=c),n<a|n>l;)if(!(r=0|i[r>>2])){r=22;break A}if(f+(n-a)/(l-a)*(u-f)>(o=u==o|f==o?o+-2.220446049250313e-16:o)&&(e^=1),!(r=0|i[r>>2])){r=22;break}}if(22==(0|r))return 0|e}return 0}function jA(A,e,r,t,o){r|=0,t|=0,o|=0;var f,a,u,l,c,s=0,w=0,g=0,d=0,B=0,b=0,h=0,Q=0,k=0;if(l=p,p=p+32|0,c=l+16|0,u=l,s=0|be(0|(A|=0),0|(e|=0),52),E(),s&=15,h=0|be(0|r,0|t,52),E(),(0|s)!=(15&h|0))return p=l,1;if(B=0|be(0|A,0|e,45),E(),B&=127,b=0|be(0|r,0|t,45),E(),h=(0|B)!=(0|(b&=127))){if(7==(0|(g=0|z(B,b))))return p=l,2;7==(0|(d=0|z(b,B)))?M(22564,22588,151,22598):(Q=g,w=d)}else Q=0,w=0;f=0|x(B),a=0|x(b),i[c>>2]=0,i[c+4>>2]=0,i[c+8>>2]=0,i[c+12>>2]=0;do{if(Q){if(g=(0|(b=0|i[4304+(28*B|0)+(Q<<2)>>2]))>0,a)if(g){B=0,d=r,g=t;do{d=0|HA(d,g),g=0|E(),1==(0|(w=0|oA(w)))&&(w=0|oA(1)),B=B+1|0}while((0|B)!=(0|b));b=w,B=d,d=g}else b=w,B=r,d=t;else if(g){B=0,d=r,g=t;do{d=0|TA(d,g),g=0|E(),w=0|oA(w),B=B+1|0}while((0|B)!=(0|b));b=w,B=d,d=g}else b=w,B=r,d=t;if(SA(B,d,c),h||M(22611,22588,181,22598),(g=0!=(0|f))&(w=0!=(0|a))&&M(22638,22588,182,22598),g){if(w=0|yA(A,e),0|n[22032+(7*w|0)+Q>>0]){s=3;break}B=d=0|i[21200+(28*w|0)+(Q<<2)>>2],k=26}else if(w){if(w=0|yA(B,d),0|n[22032+(7*w|0)+b>>0]){s=4;break}B=0,d=0|i[21200+(28*b|0)+(w<<2)>>2],k=26}else w=0;if(26==(0|k))if((0|d)<=-1&&M(22669,22588,212,22598),(0|B)<=-1&&M(22692,22588,213,22598),(0|d)>0){g=c+4|0,w=0;do{iA(g),w=w+1|0}while((0|w)!=(0|d));w=B}else w=B;if(i[u>>2]=0,i[u+4>>2]=0,i[u+8>>2]=0,rA(u,Q),0|s)for(;0|PA(s)?AA(u):eA(u),(0|s)>1;)s=s+-1|0;if((0|w)>0){s=0;do{iA(u),s=s+1|0}while((0|s)!=(0|w))}j(k=c+4|0,u,k),Z(k),k=50}else if(SA(r,t,c),0!=(0|f)&0!=(0|a))if((0|b)!=(0|B)&&M(22716,22588,243,22598),w=0|yA(A,e),s=0|yA(r,t),0|n[22032+(7*w|0)+s>>0])s=5;else if((0|(w=0|i[21200+(28*w|0)+(s<<2)>>2]))>0){g=c+4|0,s=0;do{iA(g),s=s+1|0}while((0|s)!=(0|w));k=50}else k=50;else k=50}while(0);return 50==(0|k)&&(i[o>>2]=i[(s=c+4|0)>>2],i[o+4>>2]=i[s+4>>2],i[o+8>>2]=i[s+8>>2],s=0),p=l,0|s}function JA(A,e,r,n){r|=0,n|=0;var t,o,f=0,a=0,u=0,l=0,c=0,s=0,w=0,g=0,d=0,B=0,b=0,h=0,Q=0;if(o=p,p=p+48|0,u=o+36|0,l=o+24|0,c=o+12|0,s=o,a=0|be(0|(A|=0),0|(e|=0),52),E(),a&=15,g=0|be(0|A,0|e,45),E(),t=0|x(g&=127),he(0|a,0,52),b=134225919|E(),i[(B=n)>>2]=-1,i[B+4>>2]=b,!a)return(0|i[r>>2])>1?(p=o,0|(b=1)):(0|i[r+4>>2])>1?(p=o,0|(b=1)):(0|i[r+8>>2])>1?(p=o,0|(b=1)):127==(0|(f=0|S(g,0|X(r))))?(p=o,0|(b=1)):(d=0|he(0|f,0,45),B=0|E(),B|=-1040385&i[(g=n)+4>>2],i[(b=n)>>2]=i[g>>2]|d,i[b+4>>2]=B,p=o,0|(b=0));for(i[u>>2]=i[r>>2],i[u+4>>2]=i[r+4>>2],i[u+8>>2]=i[r+8>>2];i[l>>2]=i[u>>2],i[l+4>>2]=i[u+4>>2],i[l+8>>2]=i[u+8>>2],0|PA(a)?(q(u),i[c>>2]=i[u>>2],i[c+4>>2]=i[u+4>>2],i[c+8>>2]=i[u+8>>2],AA(c)):($(u),i[c>>2]=i[u>>2],i[c+4>>2]=i[u+4>>2],i[c+8>>2]=i[u+8>>2],eA(c)),J(l,c,s),Z(s),h=0|i[(B=n)>>2],B=0|i[B+4>>2],r=0|he(7,0,0|(Q=3*(15-a|0)|0)),B&=~(0|E()),Q=0|he(0|X(s),0,0|Q),B=0|E()|B,i[(b=n)>>2]=Q|h&~r,i[b+4>>2]=B,(0|a)>1;)a=a+-1|0;A:do{if((0|i[u>>2])<=1&&(0|i[u+4>>2])<=1&&(0|i[u+8>>2])<=1){s=127==(0|(l=0|S(g,a=0|X(u))))?0:0|x(l);e:do{if(a){if(t){if(u=21408+(28*(0|yA(A,e))|0)+(a<<2)|0,(0|(u=0|i[u>>2]))>0){r=0;do{a=0|tA(a),r=r+1|0}while((0|r)!=(0|u))}if(1==(0|a)){f=3;break A}127==(0|(r=0|S(g,a)))&&M(22743,22588,376,22773),0|x(r)?M(22786,22588,377,22773):(d=u,w=a,f=r)}else d=0,w=a,f=l;if((0|(c=0|i[4304+(28*g|0)+(w<<2)>>2]))<=-1&&M(22817,22588,384,22773),!s){if((0|d)<=-1&&M(22669,22588,417,22773),0|d){a=0,r=0|i[(u=n)>>2],u=0|i[u+4>>2];do{r=0|xA(r,u),u=0|E(),i[(Q=n)>>2]=r,i[Q+4>>2]=u,a=a+1|0}while((0|a)<(0|d))}if((0|c)<=0){a=54;break}for(a=0,r=0|i[(u=n)>>2],u=0|i[u+4>>2];;)if(r=0|xA(r,u),u=0|E(),i[(Q=n)>>2]=r,i[Q+4>>2]=u,(0|(a=a+1|0))==(0|c)){a=54;break e}}if(7==(0|(l=0|z(f,g)))&&M(22564,22588,393,22773),r=0|i[(a=n)>>2],a=0|i[a+4>>2],(0|c)>0){u=0;do{r=0|xA(r,a),a=0|E(),i[(Q=n)>>2]=r,i[Q+4>>2]=a,u=u+1|0}while((0|u)!=(0|c))}if(r=0|yA(r,a),Q=0|H(f),(0|(r=0|i[(Q?21824:21616)+(28*l|0)+(r<<2)>>2]))<=-1&&M(22669,22588,412,22773),r){a=0,u=0|i[(l=n)>>2],l=0|i[l+4>>2];do{u=0|GA(u,l),l=0|E(),i[(Q=n)>>2]=u,i[Q+4>>2]=l,a=a+1|0}while((0|a)<(0|r));a=54}else a=54}else if(0!=(0|t)&0!=(0|s))if(a=21408+(28*(Q=0|yA(A,e))|0)+((0|yA(0|i[(a=n)>>2],0|i[a+4>>2]))<<2)|0,(0|(a=0|i[a>>2]))<=-1&&M(22840,22588,433,22773),a){f=0,r=0|i[(u=n)>>2],u=0|i[u+4>>2];do{r=0|xA(r,u),u=0|E(),i[(Q=n)>>2]=r,i[Q+4>>2]=u,f=f+1|0}while((0|f)<(0|a));f=l,a=54}else f=l,a=55;else f=l,a=54}while(0);if(54==(0|a)&&s&&(a=55),55==(0|a)&&1==(0|yA(0|i[(Q=n)>>2],0|i[Q+4>>2]))){f=4;break}b=0|i[(Q=n)>>2],Q=-1040385&i[Q+4>>2],h=0|he(0|f,0,45),Q=0|Q|E(),i[(f=n)>>2]=b|h,i[f+4>>2]=Q,f=0}else f=2}while(0);return p=o,0|f}function KA(A,e){var r=0;if(!(e|=0))return 1;r=A|=0,A=1;do{A=0|Q(0==(1&e|0)?1:r,A),e>>=1,r=0|Q(r,r)}while(0!=(0|e));return 0|A}function XA(A,e,r){A|=0;var n,o,f,a=0,u=0,l=0,c=0,s=0,w=0,g=0;if(!(0|L(e|=0,r|=0)))return 0;if(e=0|V(e),o=+t[r>>3],a=e&(a=+t[r+8>>3])<0?a+6.283185307179586:a,(0|(f=0|i[A>>2]))<=0)return 0;if(n=0|i[A+4>>2],e){e=0,r=-1,A=0;A:for(;;){for(g=A;w=+t[n+(g<<4)+8>>3],u=+t[n+((A=(r+2|0)%(0|f)|0)<<4)+8>>3],(c=+t[n+(g<<4)>>3])>(l=+t[n+(A<<4)>>3])?(s=c,c=w):(s=l,l=c,c=u,u=w),o<l|o>s;){if(!((0|(r=g+1|0))<(0|f))){r=22;break A}A=g,g=r,r=A}if(a=(c=c<0?c+6.283185307179586:c)==a|(w=u<0?u+6.283185307179586:u)==a?a+-2.220446049250313e-16:a,((w+=(o-l)/(s-l)*(c-w))<0?w+6.283185307179586:w)>a&&(e^=1),(0|(A=g+1|0))>=(0|f)){r=22;break}r=g}if(22==(0|r))return 0|e}else{e=0,r=-1,A=0;A:for(;;){for(g=A;w=+t[n+(g<<4)+8>>3],u=+t[n+((A=(r+2|0)%(0|f)|0)<<4)+8>>3],(c=+t[n+(g<<4)>>3])>(l=+t[n+(A<<4)>>3])?(s=c,c=w):(s=l,l=c,c=u,u=w),o<l|o>s;){if(!((0|(r=g+1|0))<(0|f))){r=22;break A}A=g,g=r,r=A}if(u+(o-l)/(s-l)*(c-u)>(a=c==a|u==a?a+-2.220446049250313e-16:a)&&(e^=1),(0|(A=g+1|0))>=(0|f)){r=22;break}r=g}if(22==(0|r))return 0|e}return 0}function qA(A,e){e|=0;var r,n,o,f,u,l=0,c=0,s=0,w=0,g=0,d=0,B=0,b=0,h=0,Q=0,k=0,m=0;if(!(n=0|i[(A|=0)>>2]))return i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,i[e+12>>2]=0,i[e+16>>2]=0,i[e+20>>2]=0,i[e+24>>2]=0,void(i[e+28>>2]=0);if(t[(o=e+8|0)>>3]=1.7976931348623157e308,t[(f=e+24|0)>>3]=1.7976931348623157e308,t[e>>3]=-1.7976931348623157e308,t[(u=e+16|0)>>3]=-1.7976931348623157e308,!((0|n)<=0)){for(r=0|i[A+4>>2],b=1.7976931348623157e308,h=-1.7976931348623157e308,Q=0,A=-1,w=1.7976931348623157e308,g=1.7976931348623157e308,B=-1.7976931348623157e308,c=-1.7976931348623157e308,k=0;d=+t[r+(k<<4)+8>>3],s=+t[r+(((0|(A=A+2|0))==(0|n)?0:A)<<4)+8>>3],(l=+t[r+(k<<4)>>3])<w&&(t[o>>3]=l,w=l),d<g&&(t[f>>3]=d,g=d),l>B?t[e>>3]=l:l=B,d>c&&(t[u>>3]=d,c=d),b=d>0&d<b?d:b,h=d<0&d>h?d:h,Q|=+a(+(d-s))>3.141592653589793,(0|(A=k+1|0))!=(0|n);)m=k,B=l,k=A,A=m;Q&&(t[u>>3]=h,t[f>>3]=b)}}function $A(A,e,r){var n,t=0;if(!(0|XA(A|=0,e|=0,r|=0)))return 0;if((0|i[(n=A+8|0)>>2])<=0)return 1;for(t=A+12|0,A=0;;){if(0|XA((0|i[t>>2])+(A<<3)|0,e+((A=A+1|0)<<5)|0,r)){A=0,t=6;break}if((0|A)>=(0|i[n>>2])){A=1,t=6;break}}return 6==(0|t)?0|A:0}function Ae(A,e,r,n,i){var o,f,a,u,l,c,s,w=0;t[(i|=0)>>3]=(u=+t[(A|=0)>>3])+(a=+t[(e|=0)>>3]-u)*(w=((w=+t[(n|=0)>>3]-(c=+t[(r|=0)>>3]))*((f=+t[A+8>>3])-(s=+t[r+8>>3]))-(u-c)*(l=+t[n+8>>3]-s))/(a*l-(o=+t[e+8>>3]-f)*w)),t[i+8>>3]=f+o*w}function ee(A,e){return+t[(A|=0)>>3]!=+t[(e|=0)>>3]?0|(e=0):0|(e=+t[A+8>>3]==+t[e+8>>3])}function re(A,e){var r,n,i;return+((i=+t[(A|=0)>>3]-+t[(e|=0)>>3])*i+(n=+t[A+8>>3]-+t[e+8>>3])*n+(r=+t[A+16>>3]-+t[e+16>>3])*r)}function ne(A,e,r){A|=0,r|=0;var n=0;(0|(e|=0))>0?(n=0|we(e,4),i[A>>2]=n,n||M(22869,22892,37,22906)):i[A>>2]=0,i[A+4>>2]=e,i[A+8>>2]=0,i[A+12>>2]=r}function ie(A){var e,r,n,o=0,f=0,u=0,c=0;e=4+(A|=0)|0,r=A+12|0,n=A+8|0;A:for(;;){for(f=0|i[e>>2],o=0;;){if((0|o)>=(0|f))break A;if(c=0|i[(u=0|i[A>>2])+(o<<2)>>2])break;o=o+1|0}o=u+(~~(+a(+ +l(10,+ +(15-(0|i[r>>2])|0))*(+t[c>>3]+ +t[c+8>>3]))%+(0|f))>>>0<<2)|0,f=0|i[o>>2];e:do{if(0|f){if(u=c+32|0,(0|f)==(0|c))i[o>>2]=i[u>>2];else{if(!(o=0|i[(f=f+32|0)>>2]))break;for(;(0|o)!=(0|c);)if(!(o=0|i[(f=o+32|0)>>2]))break e;i[f>>2]=i[u>>2]}se(c),i[n>>2]=(0|i[n>>2])-1}}while(0)}se(0|i[A>>2])}function te(A){var e,r=0,n=0;for(e=0|i[4+(A|=0)>>2],n=0;;){if((0|n)>=(0|e)){r=0,n=4;break}if(r=0|i[(0|i[A>>2])+(n<<2)>>2]){n=4;break}n=n+1|0}return 4==(0|n)?0|r:0}function oe(A,e){e|=0;var r=0,n=0,o=0,f=0;if(r=~~(+a(+ +l(10,+ +(15-(0|i[12+(A|=0)>>2])|0))*(+t[e>>3]+ +t[e+8>>3]))%+(0|i[A+4>>2]))>>>0,!(n=0|i[(r=(0|i[A>>2])+(r<<2)|0)>>2]))return 1;f=e+32|0;do{if((0|n)!=(0|e)){if(!(r=0|i[n+32>>2]))return 1;for(o=r;;){if((0|o)==(0|e)){o=8;break}if(!(r=0|i[o+32>>2])){r=1,o=10;break}n=o,o=r}if(8==(0|o)){i[n+32>>2]=i[f>>2];break}if(10==(0|o))return 0|r}else i[r>>2]=i[f>>2]}while(0);return se(e),i[(f=A+8|0)>>2]=(0|i[f>>2])-1,0}function fe(A,e,r){A|=0,e|=0,r|=0;var n,o=0,f=0,u=0;(n=0|ce(40))||M(22922,22892,95,22935),i[n>>2]=i[e>>2],i[n+4>>2]=i[e+4>>2],i[n+8>>2]=i[e+8>>2],i[n+12>>2]=i[e+12>>2],i[(f=n+16|0)>>2]=i[r>>2],i[f+4>>2]=i[r+4>>2],i[f+8>>2]=i[r+8>>2],i[f+12>>2]=i[r+12>>2],i[n+32>>2]=0,f=~~(+a(+ +l(10,+ +(15-(0|i[A+12>>2])|0))*(+t[e>>3]+ +t[e+8>>3]))%+(0|i[A+4>>2]))>>>0,o=0|i[(f=(0|i[A>>2])+(f<<2)|0)>>2];do{if(o){for(;!(0|vA(o,e)&&0|vA(o+16|0,r));)if(!(0|i[(o=0==(0|(f=0|i[o+32>>2]))?o:f)+32>>2])){u=10;break}if(10==(0|u)){i[o+32>>2]=n;break}return se(n),0|o}i[f>>2]=n}while(0);return i[(u=A+8|0)>>2]=1+(0|i[u>>2]),0|n}function ae(A,e,r){e|=0,r|=0;var n=0,o=0;if(o=~~(+a(+ +l(10,+ +(15-(0|i[12+(A|=0)>>2])|0))*(+t[e>>3]+ +t[e+8>>3]))%+(0|i[A+4>>2]))>>>0,!(o=0|i[(0|i[A>>2])+(o<<2)>>2]))return 0;if(!r){for(A=o;;){if(0|vA(A,e)){n=10;break}if(!(A=0|i[A+32>>2])){A=0,n=10;break}}if(10==(0|n))return 0|A}for(A=o;;){if(0|vA(A,e)&&0|vA(A+16|0,r)){n=10;break}if(!(A=0|i[A+32>>2])){A=0,n=10;break}}return 10==(0|n)?0|A:0}function ue(A,e){var r;if(e|=0,r=~~(+a(+ +l(10,+ +(15-(0|i[12+(A|=0)>>2])|0))*(+t[e>>3]+ +t[e+8>>3]))%+(0|i[A+4>>2]))>>>0,!(A=0|i[(0|i[A>>2])+(r<<2)>>2]))return 0;for(;;){if(0|vA(A,e)){e=5;break}if(!(A=0|i[A+32>>2])){A=0,e=5;break}}return 5==(0|e)?0|A:0}function le(A){return 0|~~+function(A){return+ +Ee(+(A=+A))}(A=+A)}function ce(A){A|=0;var e,r=0,n=0,t=0,o=0,f=0,a=0,u=0,l=0,c=0,s=0,w=0,g=0,d=0,B=0,b=0,h=0,Q=0,k=0,m=0,E=0;e=p,p=p+16|0,g=e;do{if(A>>>0<245){if(3&(n=(w=0|i[5741])>>>(A=(c=A>>>0<11?16:A+11&-8)>>>3))|0)return(0|(f=0|i[(o=8+(t=0|i[(n=8+(A=23004+((r=(1&n^1)+A|0)<<1<<2)|0)|0)>>2])|0)>>2]))==(0|A)?i[5741]=w&~(1<<r):(i[f+12>>2]=A,i[n>>2]=f),i[t+4>>2]=3|(E=r<<3),i[(E=t+E+4|0)>>2]=1|i[E>>2],p=e,0|o;if(c>>>0>(s=0|i[5743])>>>0){if(0|n)return r=((r=n<<A&((r=2<<A)|0-r))&0-r)-1|0,(0|(n=0|i[(u=8+(f=0|i[(A=8+(r=23004+((t=((n=(r>>>=u=r>>>12&16)>>>5&8)|u|(f=(r>>>=n)>>>2&4)|(A=(r>>>=f)>>>1&2)|(t=(r>>>=A)>>>1&1))+(r>>>t)|0)<<1<<2)|0)|0)>>2])|0)>>2]))==(0|r)?i[5741]=A=w&~(1<<t):(i[n+12>>2]=r,i[A>>2]=n,A=w),a=(E=t<<3)-c|0,i[f+4>>2]=3|c,i[4+(o=f+c|0)>>2]=1|a,i[f+E>>2]=a,0|s&&(t=0|i[5746],n=23004+((r=s>>>3)<<1<<2)|0,A&(r=1<<r)?r=0|i[(A=n+8|0)>>2]:(i[5741]=A|r,r=n,A=n+8|0),i[A>>2]=t,i[r+12>>2]=t,i[t+8>>2]=r,i[t+12>>2]=n),i[5743]=a,i[5746]=o,p=e,0|u;if(f=0|i[5742]){for(n=(f&0-f)-1|0,n=l=0|i[23268+(((t=(n>>>=o=n>>>12&16)>>>5&8)|o|(a=(n>>>=t)>>>2&4)|(u=(n>>>=a)>>>1&2)|(l=(n>>>=u)>>>1&1))+(n>>>l)<<2)>>2],u=l,l=(-8&i[l+4>>2])-c|0;(A=0|i[n+16>>2])||(A=0|i[n+20>>2]);)n=A,u=(o=(a=(-8&i[A+4>>2])-c|0)>>>0<l>>>0)?A:u,l=o?a:l;if((a=u+c|0)>>>0>u>>>0){o=0|i[u+24>>2],r=0|i[u+12>>2];do{if((0|r)==(0|u)){if(!(r=0|i[(A=u+20|0)>>2])&&!(r=0|i[(A=u+16|0)>>2])){n=0;break}for(;;)if(n=0|i[(t=r+20|0)>>2])r=n,A=t;else{if(!(n=0|i[(t=r+16|0)>>2]))break;r=n,A=t}i[A>>2]=0,n=r}else i[12+(n=0|i[u+8>>2])>>2]=r,i[r+8>>2]=n,n=r}while(0);do{if(0|o){if((0|u)==(0|i[(A=23268+((r=0|i[u+28>>2])<<2)|0)>>2])){if(i[A>>2]=n,!n){i[5742]=f&~(1<<r);break}}else if(i[((0|i[(E=o+16|0)>>2])==(0|u)?E:o+20|0)>>2]=n,!n)break;i[n+24>>2]=o,0|(r=0|i[u+16>>2])&&(i[n+16>>2]=r,i[r+24>>2]=n),0|(r=0|i[u+20>>2])&&(i[n+20>>2]=r,i[r+24>>2]=n)}}while(0);return l>>>0<16?(i[u+4>>2]=3|(E=l+c|0),i[(E=u+E+4|0)>>2]=1|i[E>>2]):(i[u+4>>2]=3|c,i[a+4>>2]=1|l,i[a+l>>2]=l,0|s&&(t=0|i[5746],n=23004+((r=s>>>3)<<1<<2)|0,(r=1<<r)&w?r=0|i[(A=n+8|0)>>2]:(i[5741]=r|w,r=n,A=n+8|0),i[A>>2]=t,i[r+12>>2]=t,i[t+8>>2]=r,i[t+12>>2]=n),i[5743]=l,i[5746]=a),p=e,0|u+8}w=c}else w=c}else w=c}else if(A>>>0<=4294967231)if(c=-8&(A=A+11|0),t=0|i[5742]){o=0-c|0,l=(A>>>=8)?c>>>0>16777215?31:c>>>(7+(l=14-((u=(520192+(b=A<<(w=(A+1048320|0)>>>16&8))|0)>>>16&4)|w|(l=(245760+(b<<=u)|0)>>>16&2))+(b<<l>>>15)|0)|0)&1|l<<1:0,n=0|i[23268+(l<<2)>>2];A:do{if(n)for(A=0,u=c<<(31==(0|l)?0:25-(l>>>1)|0),f=0;;){if((a=(-8&i[n+4>>2])-c|0)>>>0<o>>>0){if(!a){A=n,o=0,b=65;break A}A=n,o=a}if(f=0==(0|(b=0|i[n+20>>2]))|(0|b)==(0|(n=0|i[n+16+(u>>>31<<2)>>2]))?f:b,!n){n=f,b=61;break}u<<=1}else n=0,A=0,b=61}while(0);if(61==(0|b)){if(0==(0|n)&0==(0|A)){if(!(A=((A=2<<l)|0-A)&t)){w=c;break}w=(A&0-A)-1|0,A=0,n=0|i[23268+(((f=(w>>>=a=w>>>12&16)>>>5&8)|a|(u=(w>>>=f)>>>2&4)|(l=(w>>>=u)>>>1&2)|(n=(w>>>=l)>>>1&1))+(w>>>n)<<2)>>2]}n?b=65:(u=A,a=o)}if(65==(0|b))for(f=n;;){if(o=(n=(w=(-8&i[f+4>>2])-c|0)>>>0<o>>>0)?w:o,A=n?f:A,(n=0|i[f+16>>2])||(n=0|i[f+20>>2]),!n){u=A,a=o;break}f=n}if(0!=(0|u)&&a>>>0<((0|i[5743])-c|0)>>>0&&(s=u+c|0)>>>0>u>>>0){f=0|i[u+24>>2],r=0|i[u+12>>2];do{if((0|r)==(0|u)){if(!(r=0|i[(A=u+20|0)>>2])&&!(r=0|i[(A=u+16|0)>>2])){r=0;break}for(;;)if(n=0|i[(o=r+20|0)>>2])r=n,A=o;else{if(!(n=0|i[(o=r+16|0)>>2]))break;r=n,A=o}i[A>>2]=0}else i[12+(E=0|i[u+8>>2])>>2]=r,i[r+8>>2]=E}while(0);do{if(f){if((0|u)==(0|i[(n=23268+((A=0|i[u+28>>2])<<2)|0)>>2])){if(i[n>>2]=r,!r){i[5742]=t&=~(1<<A);break}}else if(i[((0|i[(E=f+16|0)>>2])==(0|u)?E:f+20|0)>>2]=r,!r)break;i[r+24>>2]=f,0|(A=0|i[u+16>>2])&&(i[r+16>>2]=A,i[A+24>>2]=r),(A=0|i[u+20>>2])&&(i[r+20>>2]=A,i[A+24>>2]=r)}}while(0);A:do{if(a>>>0<16)i[u+4>>2]=3|(E=a+c|0),i[(E=u+E+4|0)>>2]=1|i[E>>2];else{if(i[u+4>>2]=3|c,i[s+4>>2]=1|a,i[s+a>>2]=a,r=a>>>3,a>>>0<256){n=23004+(r<<1<<2)|0,(A=0|i[5741])&(r=1<<r)?r=0|i[(A=n+8|0)>>2]:(i[5741]=A|r,r=n,A=n+8|0),i[A>>2]=s,i[r+12>>2]=s,i[s+8>>2]=r,i[s+12>>2]=n;break}if(r=23268+((n=(r=a>>>8)?a>>>0>16777215?31:a>>>(7+(n=14-((k=(520192+(E=r<<(m=(r+1048320|0)>>>16&8))|0)>>>16&4)|m|(n=(245760+(E<<=k)|0)>>>16&2))+(E<<n>>>15)|0)|0)&1|n<<1:0)<<2)|0,i[s+28>>2]=n,i[4+(A=s+16|0)>>2]=0,i[A>>2]=0,!(t&(A=1<<n))){i[5742]=t|A,i[r>>2]=s,i[s+24>>2]=r,i[s+12>>2]=s,i[s+8>>2]=s;break}r=0|i[r>>2];e:do{if((-8&i[r+4>>2]|0)!=(0|a)){for(t=a<<(31==(0|n)?0:25-(n>>>1)|0);A=0|i[(n=r+16+(t>>>31<<2)|0)>>2];){if((-8&i[A+4>>2]|0)==(0|a)){r=A;break e}t<<=1,r=A}i[n>>2]=s,i[s+24>>2]=r,i[s+12>>2]=s,i[s+8>>2]=s;break A}}while(0);i[12+(E=0|i[(m=r+8|0)>>2])>>2]=s,i[m>>2]=s,i[s+8>>2]=E,i[s+12>>2]=r,i[s+24>>2]=0}}while(0);return p=e,0|u+8}w=c}else w=c;else w=-1}while(0);if((n=0|i[5743])>>>0>=w>>>0)return A=0|i[5746],(r=n-w|0)>>>0>15?(i[5746]=E=A+w|0,i[5743]=r,i[E+4>>2]=1|r,i[A+n>>2]=r,i[A+4>>2]=3|w):(i[5743]=0,i[5746]=0,i[A+4>>2]=3|n,i[(E=A+n+4|0)>>2]=1|i[E>>2]),p=e,0|A+8;if((a=0|i[5744])>>>0>w>>>0)return i[5744]=k=a-w|0,i[5747]=m=(E=0|i[5747])+w|0,i[m+4>>2]=1|k,i[E+4>>2]=3|w,p=e,0|E+8;if(0|i[5859]?A=0|i[5861]:(i[5861]=4096,i[5860]=4096,i[5862]=-1,i[5863]=-1,i[5864]=0,i[5852]=0,i[5859]=-16&g^1431655768,A=4096),u=w+48|0,(c=(f=A+(l=w+47|0)|0)&(o=0-A|0))>>>0<=w>>>0)return p=e,0;if(0|(A=0|i[5851])&&(g=(s=0|i[5849])+c|0)>>>0<=s>>>0|g>>>0>A>>>0)return p=e,0;A:do{if(4&i[5852])r=0,b=143;else{n=0|i[5747];e:do{if(n){for(t=23412;!((g=0|i[t>>2])>>>0<=n>>>0&&(g+(0|i[t+4>>2])|0)>>>0>n>>>0);){if(!(A=0|i[t+8>>2])){b=128;break e}t=A}if((r=f-a&o)>>>0<2147483647)if((0|(A=0|Me(0|r)))==((0|i[t>>2])+(0|i[t+4>>2])|0)){if(-1!=(0|A)){a=r,f=A,b=145;break A}}else t=A,b=136;else r=0}else b=128}while(0);do{if(128==(0|b))if(-1!=(0|(n=0|Me(0)))&&(B=(r=(0==((B=(d=0|i[5860])-1|0)&(r=n)|0)?0:(B+r&0-d)-r|0)+c|0)+(d=0|i[5849])|0,r>>>0>w>>>0&r>>>0<2147483647)){if(0|(g=0|i[5851])&&B>>>0<=d>>>0|B>>>0>g>>>0){r=0;break}if((0|(A=0|Me(0|r)))==(0|n)){a=r,f=n,b=145;break A}t=A,b=136}else r=0}while(0);do{if(136==(0|b)){if(n=0-r|0,!(u>>>0>r>>>0&r>>>0<2147483647&-1!=(0|t))){if(-1==(0|t)){r=0;break}a=r,f=t,b=145;break A}if((A=l-r+(A=0|i[5861])&0-A)>>>0>=2147483647){a=r,f=t,b=145;break A}if(-1==(0|Me(0|A))){Me(0|n),r=0;break}a=A+r|0,f=t,b=145;break A}}while(0);i[5852]=4|i[5852],b=143}}while(0);if(143==(0|b)&&c>>>0<2147483647&&!(-1==(0|(k=0|Me(0|c)))|1^(Q=(h=(B=0|Me(0))-k|0)>>>0>(w+40|0)>>>0)|k>>>0<B>>>0&-1!=(0|k)&-1!=(0|B)^1)&&(a=Q?h:r,f=k,b=145),145==(0|b)){i[5849]=r=(0|i[5849])+a|0,r>>>0>(0|i[5850])>>>0&&(i[5850]=r),l=0|i[5747];A:do{if(l){for(r=23412;;){if((0|f)==((A=0|i[r>>2])+(n=0|i[r+4>>2])|0)){b=154;break}if(!(t=0|i[r+8>>2]))break;r=t}if(154==(0|b)&&(m=r+4|0,0==(8&i[r+12>>2]|0))&&f>>>0>l>>>0&A>>>0<=l>>>0){i[m>>2]=n+a,m=l+(k=0==(7&(k=l+8|0)|0)?0:0-k&7)|0,k=(E=(0|i[5744])+a|0)-k|0,i[5747]=m,i[5744]=k,i[m+4>>2]=1|k,i[l+E+4>>2]=40,i[5748]=i[5863];break}for(f>>>0<(0|i[5745])>>>0&&(i[5745]=f),n=f+a|0,r=23412;;){if((0|i[r>>2])==(0|n)){b=162;break}if(!(A=0|i[r+8>>2]))break;r=A}if(162==(0|b)&&0==(8&i[r+12>>2]|0)){i[r>>2]=f,i[(s=r+4|0)>>2]=(0|i[s>>2])+a,c=(s=f+(0==(7&(s=f+8|0)|0)?0:0-s&7)|0)+w|0,u=(r=n+(0==(7&(r=n+8|0)|0)?0:0-r&7)|0)-s-w|0,i[s+4>>2]=3|w;e:do{if((0|l)==(0|r))i[5744]=E=(0|i[5744])+u|0,i[5747]=c,i[c+4>>2]=1|E;else{if((0|i[5746])==(0|r)){i[5743]=E=(0|i[5743])+u|0,i[5746]=c,i[c+4>>2]=1|E,i[c+E>>2]=E;break}if(1==(3&(A=0|i[r+4>>2])|0)){a=-8&A,t=A>>>3;r:do{if(A>>>0<256){if((0|(n=0|i[r+12>>2]))==(0|(A=0|i[r+8>>2]))){i[5741]=i[5741]&~(1<<t);break}i[A+12>>2]=n,i[n+8>>2]=A;break}f=0|i[r+24>>2],A=0|i[r+12>>2];do{if((0|A)==(0|r)){if(A=0|i[(t=4+(n=r+16|0)|0)>>2])n=t;else if(!(A=0|i[n>>2])){A=0;break}for(;;)if(t=0|i[(o=A+20|0)>>2])A=t,n=o;else{if(!(t=0|i[(o=A+16|0)>>2]))break;A=t,n=o}i[n>>2]=0}else i[12+(E=0|i[r+8>>2])>>2]=A,i[A+8>>2]=E}while(0);if(!f)break;t=23268+((n=0|i[r+28>>2])<<2)|0;do{if((0|i[t>>2])==(0|r)){if(i[t>>2]=A,0|A)break;i[5742]=i[5742]&~(1<<n);break r}if(i[((0|i[(E=f+16|0)>>2])==(0|r)?E:f+20|0)>>2]=A,!A)break r}while(0);if(i[A+24>>2]=f,0|(t=0|i[(n=r+16|0)>>2])&&(i[A+16>>2]=t,i[t+24>>2]=A),!(n=0|i[n+4>>2]))break;i[A+20>>2]=n,i[n+24>>2]=A}while(0);r=r+a|0,o=a+u|0}else o=u;if(i[(r=r+4|0)>>2]=-2&i[r>>2],i[c+4>>2]=1|o,i[c+o>>2]=o,r=o>>>3,o>>>0<256){n=23004+(r<<1<<2)|0,(A=0|i[5741])&(r=1<<r)?r=0|i[(A=n+8|0)>>2]:(i[5741]=A|r,r=n,A=n+8|0),i[A>>2]=c,i[r+12>>2]=c,i[c+8>>2]=r,i[c+12>>2]=n;break}r=o>>>8;do{if(r){if(o>>>0>16777215){t=31;break}t=o>>>(7+(t=14-((k=(520192+(E=r<<(m=(r+1048320|0)>>>16&8))|0)>>>16&4)|m|(t=(245760+(E<<=k)|0)>>>16&2))+(E<<t>>>15)|0)|0)&1|t<<1}else t=0}while(0);if(r=23268+(t<<2)|0,i[c+28>>2]=t,i[4+(A=c+16|0)>>2]=0,i[A>>2]=0,!((A=0|i[5742])&(n=1<<t))){i[5742]=A|n,i[r>>2]=c,i[c+24>>2]=r,i[c+12>>2]=c,i[c+8>>2]=c;break}r=0|i[r>>2];r:do{if((-8&i[r+4>>2]|0)!=(0|o)){for(t=o<<(31==(0|t)?0:25-(t>>>1)|0);A=0|i[(n=r+16+(t>>>31<<2)|0)>>2];){if((-8&i[A+4>>2]|0)==(0|o)){r=A;break r}t<<=1,r=A}i[n>>2]=c,i[c+24>>2]=r,i[c+12>>2]=c,i[c+8>>2]=c;break e}}while(0);i[12+(E=0|i[(m=r+8|0)>>2])>>2]=c,i[m>>2]=c,i[c+8>>2]=E,i[c+12>>2]=r,i[c+24>>2]=0}}while(0);return p=e,0|s+8}for(r=23412;!((A=0|i[r>>2])>>>0<=l>>>0&&(E=A+(0|i[r+4>>2])|0)>>>0>l>>>0);)r=0|i[r+8>>2];r=(A=(A=(o=E+-47|0)+(0==(7&(A=o+8|0)|0)?0:0-A&7)|0)>>>0<(o=l+16|0)>>>0?l:A)+8|0,m=f+(k=0==(7&(k=f+8|0)|0)?0:0-k&7)|0,k=(n=a+-40|0)-k|0,i[5747]=m,i[5744]=k,i[m+4>>2]=1|k,i[f+n+4>>2]=40,i[5748]=i[5863],i[(n=A+4|0)>>2]=27,i[r>>2]=i[5853],i[r+4>>2]=i[5854],i[r+8>>2]=i[5855],i[r+12>>2]=i[5856],i[5853]=f,i[5854]=a,i[5856]=0,i[5855]=r,r=A+24|0;do{m=r,i[(r=r+4|0)>>2]=7}while((m+8|0)>>>0<E>>>0);if((0|A)!=(0|l)){if(f=A-l|0,i[n>>2]=-2&i[n>>2],i[l+4>>2]=1|f,i[A>>2]=f,r=f>>>3,f>>>0<256){n=23004+(r<<1<<2)|0,(A=0|i[5741])&(r=1<<r)?r=0|i[(A=n+8|0)>>2]:(i[5741]=A|r,r=n,A=n+8|0),i[A>>2]=l,i[r+12>>2]=l,i[l+8>>2]=r,i[l+12>>2]=n;break}if(n=23268+((t=(r=f>>>8)?f>>>0>16777215?31:f>>>(7+(t=14-((k=(520192+(E=r<<(m=(r+1048320|0)>>>16&8))|0)>>>16&4)|m|(t=(245760+(E<<=k)|0)>>>16&2))+(E<<t>>>15)|0)|0)&1|t<<1:0)<<2)|0,i[l+28>>2]=t,i[l+20>>2]=0,i[o>>2]=0,!((r=0|i[5742])&(A=1<<t))){i[5742]=r|A,i[n>>2]=l,i[l+24>>2]=n,i[l+12>>2]=l,i[l+8>>2]=l;break}r=0|i[n>>2];e:do{if((-8&i[r+4>>2]|0)!=(0|f)){for(t=f<<(31==(0|t)?0:25-(t>>>1)|0);A=0|i[(n=r+16+(t>>>31<<2)|0)>>2];){if((-8&i[A+4>>2]|0)==(0|f)){r=A;break e}t<<=1,r=A}i[n>>2]=l,i[l+24>>2]=r,i[l+12>>2]=l,i[l+8>>2]=l;break A}}while(0);i[12+(E=0|i[(m=r+8|0)>>2])>>2]=l,i[m>>2]=l,i[l+8>>2]=E,i[l+12>>2]=r,i[l+24>>2]=0}}else 0==(0|(E=0|i[5745]))|f>>>0<E>>>0&&(i[5745]=f),i[5853]=f,i[5854]=a,i[5856]=0,i[5750]=i[5859],i[5749]=-1,i[5754]=23004,i[5753]=23004,i[5756]=23012,i[5755]=23012,i[5758]=23020,i[5757]=23020,i[5760]=23028,i[5759]=23028,i[5762]=23036,i[5761]=23036,i[5764]=23044,i[5763]=23044,i[5766]=23052,i[5765]=23052,i[5768]=23060,i[5767]=23060,i[5770]=23068,i[5769]=23068,i[5772]=23076,i[5771]=23076,i[5774]=23084,i[5773]=23084,i[5776]=23092,i[5775]=23092,i[5778]=23100,i[5777]=23100,i[5780]=23108,i[5779]=23108,i[5782]=23116,i[5781]=23116,i[5784]=23124,i[5783]=23124,i[5786]=23132,i[5785]=23132,i[5788]=23140,i[5787]=23140,i[5790]=23148,i[5789]=23148,i[5792]=23156,i[5791]=23156,i[5794]=23164,i[5793]=23164,i[5796]=23172,i[5795]=23172,i[5798]=23180,i[5797]=23180,i[5800]=23188,i[5799]=23188,i[5802]=23196,i[5801]=23196,i[5804]=23204,i[5803]=23204,i[5806]=23212,i[5805]=23212,i[5808]=23220,i[5807]=23220,i[5810]=23228,i[5809]=23228,i[5812]=23236,i[5811]=23236,i[5814]=23244,i[5813]=23244,i[5816]=23252,i[5815]=23252,m=f+(k=0==(7&(k=f+8|0)|0)?0:0-k&7)|0,k=(E=a+-40|0)-k|0,i[5747]=m,i[5744]=k,i[m+4>>2]=1|k,i[f+E+4>>2]=40,i[5748]=i[5863]}while(0);if((r=0|i[5744])>>>0>w>>>0)return i[5744]=k=r-w|0,i[5747]=m=(E=0|i[5747])+w|0,i[m+4>>2]=1|k,i[E+4>>2]=3|w,p=e,0|E+8}return i[(E=22960)>>2]=12,p=e,0}function se(A){var e=0,r=0,n=0,t=0,o=0,f=0,a=0,u=0;if(A|=0){t=0|i[5745],u=(r=A+-8|0)+(e=-8&(A=0|i[A+-4>>2]))|0;do{if(1&A)a=r,f=r;else{if(!(3&A))return;if(o=(n=0|i[r>>2])+e|0,(f=r+(0-n)|0)>>>0<t>>>0)return;if((0|i[5746])==(0|f)){if(3!=(3&(e=0|i[(A=u+4|0)>>2])|0)){a=f,e=o;break}return i[5743]=o,i[A>>2]=-2&e,i[f+4>>2]=1|o,void(i[f+o>>2]=o)}if(r=n>>>3,n>>>0<256){if((0|(e=0|i[f+12>>2]))==(0|(A=0|i[f+8>>2]))){i[5741]=i[5741]&~(1<<r),a=f,e=o;break}i[A+12>>2]=e,i[e+8>>2]=A,a=f,e=o;break}t=0|i[f+24>>2],A=0|i[f+12>>2];do{if((0|A)==(0|f)){if(A=0|i[(r=4+(e=f+16|0)|0)>>2])e=r;else if(!(A=0|i[e>>2])){A=0;break}for(;;)if(r=0|i[(n=A+20|0)>>2])A=r,e=n;else{if(!(r=0|i[(n=A+16|0)>>2]))break;A=r,e=n}i[e>>2]=0}else i[12+(a=0|i[f+8>>2])>>2]=A,i[A+8>>2]=a}while(0);if(t){if((0|i[(r=23268+((e=0|i[f+28>>2])<<2)|0)>>2])==(0|f)){if(i[r>>2]=A,!A){i[5742]=i[5742]&~(1<<e),a=f,e=o;break}}else if(i[((0|i[(a=t+16|0)>>2])==(0|f)?a:t+20|0)>>2]=A,!A){a=f,e=o;break}i[A+24>>2]=t,0|(r=0|i[(e=f+16|0)>>2])&&(i[A+16>>2]=r,i[r+24>>2]=A),(e=0|i[e+4>>2])?(i[A+20>>2]=e,i[e+24>>2]=A,a=f,e=o):(a=f,e=o)}else a=f,e=o}}while(0);if(!(f>>>0>=u>>>0)&&1&(n=0|i[(A=u+4|0)>>2])){if(2&n)i[A>>2]=-2&n,i[a+4>>2]=1|e,i[f+e>>2]=e,t=e;else{if((0|i[5747])==(0|u)){if(i[5744]=u=(0|i[5744])+e|0,i[5747]=a,i[a+4>>2]=1|u,(0|a)!=(0|i[5746]))return;return i[5746]=0,void(i[5743]=0)}if((0|i[5746])==(0|u))return i[5743]=u=(0|i[5743])+e|0,i[5746]=f,i[a+4>>2]=1|u,void(i[f+u>>2]=u);t=(-8&n)+e|0,r=n>>>3;do{if(n>>>0<256){if((0|(A=0|i[u+12>>2]))==(0|(e=0|i[u+8>>2]))){i[5741]=i[5741]&~(1<<r);break}i[e+12>>2]=A,i[A+8>>2]=e;break}o=0|i[u+24>>2],A=0|i[u+12>>2];do{if((0|A)==(0|u)){if(A=0|i[(r=4+(e=u+16|0)|0)>>2])e=r;else if(!(A=0|i[e>>2])){r=0;break}for(;;)if(r=0|i[(n=A+20|0)>>2])A=r,e=n;else{if(!(r=0|i[(n=A+16|0)>>2]))break;A=r,e=n}i[e>>2]=0,r=A}else i[12+(r=0|i[u+8>>2])>>2]=A,i[A+8>>2]=r,r=A}while(0);if(0|o){if((0|i[(e=23268+((A=0|i[u+28>>2])<<2)|0)>>2])==(0|u)){if(i[e>>2]=r,!r){i[5742]=i[5742]&~(1<<A);break}}else if(i[((0|i[(n=o+16|0)>>2])==(0|u)?n:o+20|0)>>2]=r,!r)break;i[r+24>>2]=o,0|(e=0|i[(A=u+16|0)>>2])&&(i[r+16>>2]=e,i[e+24>>2]=r),0|(A=0|i[A+4>>2])&&(i[r+20>>2]=A,i[A+24>>2]=r)}}while(0);if(i[a+4>>2]=1|t,i[f+t>>2]=t,(0|a)==(0|i[5746]))return void(i[5743]=t)}if(A=t>>>3,t>>>0<256)return r=23004+(A<<1<<2)|0,(e=0|i[5741])&(A=1<<A)?A=0|i[(e=r+8|0)>>2]:(i[5741]=e|A,A=r,e=r+8|0),i[e>>2]=a,i[A+12>>2]=a,i[a+8>>2]=A,void(i[a+12>>2]=r);A=23268+((n=(A=t>>>8)?t>>>0>16777215?31:t>>>(7+(n=14-((o=(520192+(u=A<<(f=(A+1048320|0)>>>16&8))|0)>>>16&4)|f|(n=(245760+(u<<=o)|0)>>>16&2))+(u<<n>>>15)|0)|0)&1|n<<1:0)<<2)|0,i[a+28>>2]=n,i[a+20>>2]=0,i[a+16>>2]=0,e=0|i[5742],r=1<<n;A:do{if(e&r){A=0|i[A>>2];e:do{if((-8&i[A+4>>2]|0)!=(0|t)){for(n=t<<(31==(0|n)?0:25-(n>>>1)|0);e=0|i[(r=A+16+(n>>>31<<2)|0)>>2];){if((-8&i[e+4>>2]|0)==(0|t)){A=e;break e}n<<=1,A=e}i[r>>2]=a,i[a+24>>2]=A,i[a+12>>2]=a,i[a+8>>2]=a;break A}}while(0);i[12+(u=0|i[(f=A+8|0)>>2])>>2]=a,i[f>>2]=a,i[a+8>>2]=u,i[a+12>>2]=A,i[a+24>>2]=0}else i[5742]=e|r,i[A>>2]=a,i[a+24>>2]=A,i[a+12>>2]=a,i[a+8>>2]=a}while(0);if(i[5749]=u=(0|i[5749])-1|0,!(0|u)){for(A=23420;A=0|i[A>>2];)A=A+8|0;i[5749]=-1}}}}function we(A,e){e|=0;var r=0;return(A|=0)?(r=0|Q(e,A),(e|A)>>>0>65535&&(r=(0|(r>>>0)/(A>>>0))==(0|e)?r:-1)):r=0,(A=0|ce(r))&&3&i[A+-4>>2]?(me(0|A,0,0|r),0|A):0|A}function ge(A,e,r,n){return 0|(m(0|(n=(e|=0)-(n|=0)-((r|=0)>>>0>(A|=0)>>>0|0)>>>0)),A-r>>>0|0)}function de(A){return 0|((A|=0)?31-(0|k(A^A-1))|0:32)}function Be(A,e,r,n){var t,o;return o=p,p=p+16|0,function(A,e,r,n,t){t|=0;var o=0,f=0,a=0,u=0,l=0,c=0,s=0,w=0,g=0,d=0;if(c=A|=0,f=r|=0,a=w=n|=0,!(l=u=e|=0))return o=0!=(0|t),a?o?(i[t>>2]=0|A,i[t+4>>2]=0&e,t=0,0|(m(0|(w=0)),t)):(t=0,0|(m(0|(w=0)),t)):(o&&(i[t>>2]=(c>>>0)%(f>>>0),i[t+4>>2]=0),t=(c>>>0)/(f>>>0)>>>0,0|(m(0|(w=0)),t));o=0==(0|a);do{if(f){if(!o){if((o=(0|k(0|a))-(0|k(0|l))|0)>>>0<=31){f=s=o+1|0,A=c>>>(s>>>0)&(e=o-31>>31)|l<<(a=31-o|0),e&=l>>>(s>>>0),o=0,a=c<<a;break}return t?(i[t>>2]=0|A,i[t+4>>2]=u|0&e,t=0,0|(m(0|(w=0)),t)):(t=0,0|(m(0|(w=0)),t))}if((o=f-1|0)&f|0){f=a=33+(0|k(0|f))-(0|k(0|l))|0,A=(s=32-a|0)-1>>31&l>>>((g=a-32|0)>>>0)|(l<<s|c>>>(a>>>0))&(e=g>>31),e&=l>>>(a>>>0),o=c<<(d=64-a|0)&(u=s>>31),a=(l<<d|c>>>(g>>>0))&u|c<<s&a-33>>31;break}return 0|t&&(i[t>>2]=o&c,i[t+4>>2]=0),1==(0|f)?(d=0|A,0|(m(0|(g=u|0&e)),d)):(g=l>>>((d=0|de(0|f))>>>0)|0,d=l<<32-d|c>>>(d>>>0)|0,0|(m(0|g),d))}if(o)return 0|t&&(i[t>>2]=(l>>>0)%(f>>>0),i[t+4>>2]=0),d=(l>>>0)/(f>>>0)>>>0,0|(m(0|(g=0)),d);if(!c)return 0|t&&(i[t>>2]=0,i[t+4>>2]=(l>>>0)%(a>>>0)),d=(l>>>0)/(a>>>0)>>>0,0|(m(0|(g=0)),d);if(!((o=a-1|0)&a))return 0|t&&(i[t>>2]=0|A,i[t+4>>2]=o&l|0&e),g=0,d=l>>>((0|de(0|a))>>>0),0|(m(0|g),d);if((o=(0|k(0|a))-(0|k(0|l))|0)>>>0<=30){f=e=o+1|0,A=l<<(a=31-o|0)|c>>>(e>>>0),e=l>>>(e>>>0),o=0,a=c<<a;break}return t?(i[t>>2]=0|A,i[t+4>>2]=u|0&e,d=0,0|(m(0|(g=0)),d)):(d=0,0|(m(0|(g=0)),d))}while(0);if(f){l=0|function(A,e,r,n){return 0|(m((e|=0)+(n|=0)+((r=(A|=0)+(r|=0)>>>0)>>>0<A>>>0|0)>>>0|0),0|r)}(0|(s=0|r),0|(c=w|0&n),-1,-1),r=0|E(),u=a,a=0;do{n=u,u=o>>>31|u<<1,o=a|o<<1,ge(0|l,0|r,0|(n=A<<1|n>>>31|0),0|(w=A>>>31|e<<1|0)),a=1&(g=(d=0|E())>>31|((0|d)<0?-1:0)<<1),A=0|ge(0|n,0|w,g&s|0,(((0|d)<0?-1:0)>>31|((0|d)<0?-1:0)<<1)&c|0),e=0|E(),f=f-1|0}while(0!=(0|f));l=u,u=0}else l=a,u=0,a=0;f=0,0|t&&(i[t>>2]=A,i[t+4>>2]=e),d=-2&(o<<1|0)|a,m(0|(g=(0|o)>>>31|(l|f)<<1|0&(f<<1|o>>>31)|u))}(A|=0,e|=0,r|=0,n|=0,t=0|o),p=o,0|(m(0|i[t+4>>2]),0|i[t>>2])}function be(A,e,r){return A|=0,e|=0,(0|(r|=0))<32?(m(e>>>r|0),A>>>r|(e&(1<<r)-1)<<32-r):(m(0),e>>>r-32|0)}function he(A,e,r){return A|=0,(0|(r|=0))<32?(m((e|=0)<<r|(A&(1<<r)-1<<32-r)>>>32-r|0),A<<r):(m(A<<r-32|0),0)}function Qe(A){return(A=+A)>=0?+f(A+.5):+h(A-.5)}function ke(A,e,r){A|=0,e|=0;var t,o,f=0;if((0|(r|=0))>=8192)return I(0|A,0|e,0|r),0|A;if(o=0|A,t=A+r|0,(3&A)==(3&e)){for(;3&A;){if(!r)return 0|o;n[A>>0]=0|n[e>>0],A=A+1|0,e=e+1|0,r=r-1|0}for(f=(r=-4&t|0)-64|0;(0|A)<=(0|f);)i[A>>2]=i[e>>2],i[A+4>>2]=i[e+4>>2],i[A+8>>2]=i[e+8>>2],i[A+12>>2]=i[e+12>>2],i[A+16>>2]=i[e+16>>2],i[A+20>>2]=i[e+20>>2],i[A+24>>2]=i[e+24>>2],i[A+28>>2]=i[e+28>>2],i[A+32>>2]=i[e+32>>2],i[A+36>>2]=i[e+36>>2],i[A+40>>2]=i[e+40>>2],i[A+44>>2]=i[e+44>>2],i[A+48>>2]=i[e+48>>2],i[A+52>>2]=i[e+52>>2],i[A+56>>2]=i[e+56>>2],i[A+60>>2]=i[e+60>>2],A=A+64|0,e=e+64|0;for(;(0|A)<(0|r);)i[A>>2]=i[e>>2],A=A+4|0,e=e+4|0}else for(r=t-4|0;(0|A)<(0|r);)n[A>>0]=0|n[e>>0],n[A+1>>0]=0|n[e+1>>0],n[A+2>>0]=0|n[e+2>>0],n[A+3>>0]=0|n[e+3>>0],A=A+4|0,e=e+4|0;for(;(0|A)<(0|t);)n[A>>0]=0|n[e>>0],A=A+1|0,e=e+1|0;return 0|o}function me(A,e,r){e|=0;var t,o=0,f=0,a=0;if(t=(A|=0)+(r|=0)|0,e&=255,(0|r)>=67){for(;3&A;)n[A>>0]=e,A=A+1|0;for(a=e|e<<8|e<<16|e<<24,f=(o=-4&t|0)-64|0;(0|A)<=(0|f);)i[A>>2]=a,i[A+4>>2]=a,i[A+8>>2]=a,i[A+12>>2]=a,i[A+16>>2]=a,i[A+20>>2]=a,i[A+24>>2]=a,i[A+28>>2]=a,i[A+32>>2]=a,i[A+36>>2]=a,i[A+40>>2]=a,i[A+44>>2]=a,i[A+48>>2]=a,i[A+52>>2]=a,i[A+56>>2]=a,i[A+60>>2]=a,A=A+64|0;for(;(0|A)<(0|o);)i[A>>2]=a,A=A+4|0}for(;(0|A)<(0|t);)n[A>>0]=e,A=A+1|0;return t-r|0}function Ee(A){return(A=+A)>=0?+f(A+.5):+h(A-.5)}function Me(A){var e,r,n;return A|=0,n=0|D(),(0|A)>0&(0|(e=(r=0|i[o>>2])+A|0))<(0|r)|(0|e)<0?(_(0|e),v(12),-1):(0|e)>(0|n)&&!(0|C(0|e))?(v(12),-1):(i[o>>2]=e,0|r)}return{___uremdi3:Be,_bitshift64Lshr:be,_bitshift64Shl:he,_calloc:we,_compact:function(A,e,r){e|=0,r|=0;var n,t=0,o=0,f=0,a=0,u=0,l=0,c=0,s=0,w=0,g=0,d=0,B=0,b=0,h=0,Q=0,k=0,m=0,M=0,v=0;if(t=0|i[(o=A|=0)>>2],!0&0==(15728640&(o=0|i[o+4>>2])|0)){if((0|r)<=0)return 0;if(i[(v=e)>>2]=t,i[v+4>>2]=o,1==(0|r))return 0;t=1;do{M=0|i[4+(m=A+(t<<3)|0)>>2],i[(v=e+(t<<3)|0)>>2]=i[m>>2],i[v+4>>2]=M,t=t+1|0}while((0|t)!=(0|r));return 0}ke(0|(M=0|ce(m=r<<3)),0|A,0|m),n=0|we(r,8);A:do{if(0|r){t=r;e:for(;;){Q=0|be(0|(s=0|i[(a=M)>>2]),0|(a=0|i[a+4>>2]),52),E(),k=(Q&=15)-1|0,h=(0|t)>0;r:do{if(h){if(b=((0|t)<0)<<31>>31,d=0|he(0|k,0,52),B=0|E(),k>>>0>15)for(o=0,A=s,r=a;;){if(!(0==(0|A)&0==(0|r))){if(f=0|be(0|A,0|r,52),E(),u=(0|(f&=15))<(0|k),f=(0|f)==(0|k),r=0|Be(0|(c=u?0:f?A:0),0|(A=u?0:f?r:0),0|t,0|b),E(),0==(0|(l=0|i[(u=f=n+(r<<3)|0)>>2]))&0==(0|(u=0|i[u+4>>2])))r=c;else for(d=0,g=r,w=l,r=c,l=f;;){if((0|d)>(0|t)){v=33;break e}if((0|w)==(0|r)&(-117440513&u|0)==(0|A)){if(f=0|be(0|w,0|u,56),E(),7==(0|(f&=7))){v=38;break e}B=0|he(f+1|0,0,56),A=0|E()|-117440513&A,i[l>>2]=0,i[l+4>>2]=0,l=g,r|=B}else l=(g+1|0)%(0|t)|0;if(0==(0|(w=0|i[(u=f=n+(l<<3)|0)>>2]))&0==(0|(u=0|i[u+4>>2])))break;d=d+1|0,g=l,l=f}i[(B=f)>>2]=r,i[B+4>>2]=A}if((0|(o=o+1|0))>=(0|t))break r;A=0|i[(r=M+(o<<3)|0)>>2],r=0|i[r+4>>2]}for(o=0,A=s,r=a;;){if(!(0==(0|A)&0==(0|r))){if(u=0|be(0|A,0|r,52),E(),(0|(u&=15))>=(0|k)){if((0|u)!=(0|k)&&(A|=d,r=-15728641&r|B,u>>>0>=Q>>>0)){f=k;do{g=0|he(7,0,3*(14-f|0)|0),f=f+1|0,A|=g,r=0|E()|r}while(f>>>0<u>>>0)}}else A=0,r=0;if(u=0|Be(0|A,0|r,0|t,0|b),E(),!(0==(0|(c=0|i[(l=f=n+(u<<3)|0)>>2]))&0==(0|(l=0|i[l+4>>2]))))for(g=0,w=c,c=f;;){if((0|g)>(0|t)){v=33;break e}if((0|w)==(0|A)&(-117440513&l|0)==(0|r)){if(f=0|be(0|w,0|l,56),E(),7==(0|(f&=7))){v=38;break e}w=0|he(f+1|0,0,56),r=0|E()|-117440513&r,i[c>>2]=0,i[c+4>>2]=0,A|=w}else u=(u+1|0)%(0|t)|0;if(0==(0|(w=0|i[(l=f=n+(u<<3)|0)>>2]))&0==(0|(l=0|i[l+4>>2])))break;g=g+1|0,c=f}i[(g=f)>>2]=A,i[g+4>>2]=r}if((0|(o=o+1|0))>=(0|t))break r;A=0|i[(r=M+(o<<3)|0)>>2],r=0|i[r+4>>2]}}}while(0);if((t+5|0)>>>0<11){v=84;break}b=0|ce(((0|t)/6|0)<<3);r:do{if(h){d=0,g=0;do{if(!(0==(0|(o=0|i[(A=u=n+(d<<3)|0)>>2]))&0==(0|(A=0|i[A+4>>2])))){l=0|be(0|o,0|A,56),E(),r=1+(l&=7)|0,c=-117440513&A,B=0|be(0|o,0|A,45),E();n:do{if(0|x(127&B)){if(w=0|be(0|o,0|A,52),E(),0|(w&=15))for(f=1;;){if(!(0==(o&(B=0|he(7,0,3*(15-f|0)|0))|0)&0==(c&(0|E())|0)))break n;if(!(f>>>0<w>>>0))break;f=f+1|0}o|=A=0|he(0|r,0,56),A=0|E()|c,i[(r=u)>>2]=o,i[r+4>>2]=A,r=l+2|0}}while(0);7==(0|r)&&(i[(B=b+(g<<3)|0)>>2]=o,i[B+4>>2]=-117440513&A,g=g+1|0)}d=d+1|0}while((0|d)!=(0|t));if(h){if(B=((0|t)<0)<<31>>31,w=0|he(0|k,0,52),d=0|E(),k>>>0>15)for(A=0,o=0;;){do{if(!(0==(0|s)&0==(0|a))){for(l=0|be(0|s,0|a,52),E(),f=(0|(l&=15))<(0|k),l=(0|l)==(0|k),f=0|Be(0|(u=f?0:l?s:0),0|(l=f?0:l?a:0),0|t,0|B),E(),r=0;;){if((0|r)>(0|t)){v=83;break e}if((-117440513&(c=0|i[4+(Q=n+(f<<3)|0)>>2])|0)==(0|l)&&(0|i[Q>>2])==(0|u)){v=55;break}if((0|i[(Q=n+((f=(f+1|0)%(0|t)|0)<<3)|0)>>2])==(0|u)&&(0|i[Q+4>>2])==(0|l))break;r=r+1|0}if(55==(0|v)&&(v=0,!0&100663296==(117440512&c|0)))break;i[(Q=e+(o<<3)|0)>>2]=s,i[Q+4>>2]=a,o=o+1|0}}while(0);if((0|(A=A+1|0))>=(0|t)){t=g;break r}s=0|i[(a=M+(A<<3)|0)>>2],a=0|i[a+4>>2]}for(A=0,o=0;;){do{if(!(0==(0|s)&0==(0|a))){if(l=0|be(0|s,0|a,52),E(),(0|(l&=15))>=(0|k))if((0|l)!=(0|k))if(r=s|w,f=-15728641&a|d,l>>>0<Q>>>0)l=f;else{u=k;do{h=0|he(7,0,3*(14-u|0)|0),u=u+1|0,r|=h,f=0|E()|f}while(u>>>0<l>>>0);l=f}else r=s,l=a;else r=0,l=0;for(u=0|Be(0|r,0|l,0|t,0|B),E(),f=0;;){if((0|f)>(0|t)){v=83;break e}if((-117440513&(c=0|i[4+(h=n+(u<<3)|0)>>2])|0)==(0|l)&&(0|i[h>>2])==(0|r)){v=78;break}if((0|i[(h=n+((u=(u+1|0)%(0|t)|0)<<3)|0)>>2])==(0|r)&&(0|i[h+4>>2])==(0|l))break;f=f+1|0}if(78==(0|v)&&(v=0,!0&100663296==(117440512&c|0)))break;i[(h=e+(o<<3)|0)>>2]=s,i[h+4>>2]=a,o=o+1|0}}while(0);if((0|(A=A+1|0))>=(0|t)){t=g;break r}s=0|i[(a=M+(A<<3)|0)>>2],a=0|i[a+4>>2]}}else o=0,t=g}else o=0,t=0}while(0);if(me(0|n,0,0|m),ke(0|M,0|b,t<<3|0),se(b),!t)break A;e=e+(o<<3)|0}if(33==(0|v))return se(M),se(n),-1;if(38==(0|v))return se(M),se(n),-2;if(83==(0|v))return se(b),se(M),se(n),-1;if(84==(0|v)){ke(0|e,0|M,t<<3|0);break}}}while(0);return se(M),se(n),0},_destroyLinkedPolygon:function(A){var e=0,r=0,n=0,t=0;if(A|=0)for(n=1;;){if(0|(e=0|i[A>>2]))do{if(0|(r=0|i[e>>2]))do{t=r,r=0|i[r+16>>2],se(t)}while(0!=(0|r));t=e,e=0|i[e+8>>2],se(t)}while(0!=(0|e));if(e=A,A=0|i[A+8>>2],n||se(e),!A)break;n=0}},_edgeLengthKm:function(A){return+ +t[20752+((A|=0)<<3)>>3]},_edgeLengthM:function(A){return+ +t[20880+((A|=0)<<3)>>3]},_emscripten_replace_memory:function(A){return n=new Int8Array(A),new Uint8Array(A),i=new Int32Array(A),new Float32Array(A),t=new Float64Array(A),r=A,!0},_experimentalH3ToLocalIj:function(A,e,r,n,i){var t,o;return i|=0,o=p,p=p+16|0,(A=0|jA(A|=0,e|=0,r|=0,n|=0,t=o))||(lA(t,i),A=0),p=o,0|A},_experimentalLocalIjToH3:function(A,e,r,n){var i,t;return A|=0,e|=0,n|=0,i=p,p=p+16|0,cA(r|=0,t=i),n=0|JA(A,e,t,n),p=i,0|n},_free:se,_geoToH3:RA,_getDestinationH3IndexFromUnidirectionalEdge:function(A,e){A|=0;var r,n,t=0;return r=p,p=p+16|0,t=r,!0&268435456==(2013265920&(e|=0)|0)?(n=0|be(0|A,0|e,56),E(),i[t>>2]=0,t=0|G(A,-2130706433&e|134217728,7&n,t),e=0|E(),m(0|e),p=r,0|t):(t=0,m(0|(e=0)),p=r,0|t)},_getH3IndexesFromUnidirectionalEdge:function(A,e,r){A|=0;var n,t,o,f,a=0;o=p,p=p+16|0,n=o,t=-2130706433&(e|=0)|134217728,i[(a=r|=0)>>2]=(f=!0&268435456==(2013265920&e|0))?A:0,i[a+4>>2]=f?t:0,f?(e=0|be(0|A,0|e,56),E(),i[n>>2]=0,A=0|G(A,t,7&e,n),e=0|E()):(A=0,e=0),i[(a=r+8|0)>>2]=A,i[a+4>>2]=e,p=o},_getH3UnidirectionalEdge:function(A,e,r,n){var t,o,f=0,a=0;if(o=p,p=p+16|0,t=o,!(0|YA(A|=0,e|=0,r|=0,n|=0)))return f=0,m(0|(A=0)),p=o,0|f;if(f=-2130706433&e,i[t>>2]=0,(0|(a=0|G(A,e,1,t)))==(0|r)&(0|E())==(0|n))e=0,r=16777216;else if(i[t>>2]=0,(0|(a=0|G(A,e,2,t)))==(0|r)&(0|E())==(0|n))e=0,r=33554432;else if(i[t>>2]=0,(0|(a=0|G(A,e,3,t)))==(0|r)&(0|E())==(0|n))e=0,r=50331648;else if(i[t>>2]=0,(0|(a=0|G(A,e,4,t)))==(0|r)&(0|E())==(0|n))e=0,r=67108864;else if(i[t>>2]=0,(0|(a=0|G(A,e,5,t)))==(0|r)&(0|E())==(0|n))e=0,r=83886080;else{if(i[t>>2]=0,!((0|(a=0|G(A,e,6,t)))==(0|r)&(0|E())==(0|n)))return a=0,m(0|(f=0)),p=o,0|a;e=0,r=100663296}return a=A|e,m(0|(f=f|r|268435456)),p=o,0|a},_getH3UnidirectionalEdgeBoundary:function(A,e,r){A|=0,e|=0,r|=0;var n,t,o=0,f=0,a=0,u=0,l=0,c=0;if(t=p,p=p+368|0,f=t+352|0,l=t+16|0,c=t,me(0|(n=t+184|0),0,168),me(0|l,0,168),i[c>>2]=0,i[c+4>>2]=0,i[c+8>>2]=0,i[c+12>>2]=0,o=-2130706433&e|134217728,LA((u=!0&268435456==(2013265920&e|0))?A:0,u?o:0,n),u?(e=0|be(0|A,0|e,56),E(),i[f>>2]=0,A=0|G(A,o,7&e,f),e=0|E()):(A=0,e=0),LA(A,e,l),(0|i[n>>2])<=0)return i[r>>2]=c=0,void(p=t);u=n+24|0,A=0,e=0,a=0;do{f=n+8+(a<<4)|0;A:do{if((0|i[l>>2])>0){for(o=0;!(0|MA(f,l+8+(o<<4)|0,1e-6));)if((0|(o=o+1|0))>=(0|i[l>>2]))break A;e:do{if(!a){if((0|i[l>>2])>0){o=0;do{if(0|MA(u,l+8+(o<<4)|0,1e-6))break e;o=o+1|0}while((0|o)<(0|i[l>>2]))}i[c>>2]=i[f>>2],i[c+4>>2]=i[f+4>>2],i[c+8>>2]=i[f+8>>2],i[c+12>>2]=i[f+12>>2],e=1;break A}}while(0);i[(o=r+8+(A<<4)|0)>>2]=i[f>>2],i[o+4>>2]=i[f+4>>2],i[o+8>>2]=i[f+8>>2],i[o+12>>2]=i[f+12>>2],A=A+1|0}}while(0);a=a+1|0}while((0|a)<(0|i[n>>2]));if(!e)return i[r>>2]=c=A,void(p=t);i[(l=r+8+(A<<4)|0)>>2]=i[c>>2],i[l+4>>2]=i[c+4>>2],i[l+8>>2]=i[c+8>>2],i[l+12>>2]=i[c+12>>2],i[r>>2]=c=A+1|0,p=t},_getH3UnidirectionalEdgesFromHexagon:function(A,e,r){r|=0;var n,t=0;n=0==(0|UA(A|=0,e|=0)),e&=-2130706433,i[(t=r)>>2]=n?A:0,i[t+4>>2]=n?285212672|e:0,i[(t=r+8|0)>>2]=A,i[t+4>>2]=301989888|e,i[(t=r+16|0)>>2]=A,i[t+4>>2]=318767104|e,i[(t=r+24|0)>>2]=A,i[t+4>>2]=335544320|e,i[(t=r+32|0)>>2]=A,i[t+4>>2]=352321536|e,i[(r=r+40|0)>>2]=A,i[r+4>>2]=369098752|e},_getOriginH3IndexFromUnidirectionalEdge:function(A,e){var r;return A|=0,m(0|((r=!0&268435456==(2013265920&(e|=0)|0))?-2130706433&e|134217728:0)),0|(r?A:0)},_getPentagonIndexes:function(A,e){e|=0;var r,n=0,t=0,o=0,f=0,a=0,u=0;if(he(0|(A|=0),0,52),r=134225919|E(),(0|A)<1){t=0,n=0;do{0|x(t)&&(he(0|t,0,45),a=0|r|E(),i[(A=e+(n<<3)|0)>>2]=-1,i[A+4>>2]=a,n=n+1|0),t=t+1|0}while(122!=(0|t))}else{a=0,n=0;do{if(0|x(a)){for(he(0|a,0,45),t=1,o=-1,f=0|r|E();o&=~(u=0|he(7,0,3*(15-t|0)|0)),f&=~(0|E()),(0|t)!=(0|A);)t=t+1|0;i[(u=e+(n<<3)|0)>>2]=o,i[u+4>>2]=f,n=n+1|0}a=a+1|0}while(122!=(0|a))}},_getRes0Indexes:function(A){A|=0;var e=0,r=0,n=0;e=0;do{he(0|e,0,45),n=134225919|E(),i[(r=A+(e<<3)|0)>>2]=-1,i[r+4>>2]=n,e=e+1|0}while(122!=(0|e))},_h3Distance:function(A,e,r,n){var i,t,o;return r|=0,n|=0,o=p,p=p+32|0,t=o,A=0==(0|jA(A|=0,e|=0,A,e,i=o+12|0))&&0==(0|jA(A,e,r,n,t))?0|uA(i,t):-1,p=o,0|A},_h3GetBaseCell:function(A,e){return e=0|be(0|(A|=0),0|(e|=0),45),E(),127&e|0},_h3GetFaces:function A(e,r,n){n|=0;var t,o=0,f=0,a=0,u=0,l=0,c=0,s=0,w=0;t=p,p=p+128|0,s=t+112|0,a=t+96|0,w=t,f=0|be(0|(e|=0),0|(r|=0),52),E(),i[s>>2]=l=15&f,u=0|be(0|e,0|r,45),E(),u&=127;A:do{if(0|x(u)){if(0|l)for(o=1;;){if(!(0==((c=0|he(7,0,3*(15-o|0)|0))&e|0)&0==((0|E())&r|0))){f=0;break A}if(!(o>>>0<l>>>0))break;o=o+1|0}if(!(1&f))return c=0|he(l+1|0,0,52),w=0|E()|-15728641&r,A((c|e)&~(s=0|he(7,0,3*(14-l|0)|0)),w&~(0|E()),n),void(p=t);f=1}else f=0}while(0);zA(e,r,a),f?(bA(a,s,w),c=5):(mA(a,s,w),c=6);A:do{if(0|x(u))if(l)for(o=1;;){if(!(0==((u=0|he(7,0,3*(15-o|0)|0))&e|0)&0==((0|E())&r|0))){o=8;break A}if(!(o>>>0<l>>>0)){o=20;break}o=o+1|0}else o=20;else o=8}while(0);if(me(0|n,-1,0|o),f){f=0;do{for(QA(a=w+(f<<4)|0,0|i[s>>2]),a=0|i[a>>2],o=0;!(-1==(0|(l=0|i[(u=n+(o<<2)|0)>>2]))|(0|l)==(0|a));)o=o+1|0;i[u>>2]=a,f=f+1|0}while((0|f)!=(0|c))}else{f=0;do{for(hA(a=w+(f<<4)|0,0|i[s>>2],0,1),a=0|i[a>>2],o=0;!(-1==(0|(l=0|i[(u=n+(o<<2)|0)>>2]))|(0|l)==(0|a));)o=o+1|0;i[u>>2]=a,f=f+1|0}while((0|f)!=(0|c))}p=t},_h3IndexesAreNeighbors:YA,_h3IsPentagon:UA,_h3IsResClassIII:function(A,e){return e=0|be(0|(A|=0),0|(e|=0),52),E(),1&e|0},_h3IsValid:_A,_h3Line:function(A,e,r,n,t){r|=0,n|=0,t|=0;var o,f,u=0,l=0,c=0,s=0,w=0,g=0,d=0,B=0,b=0,h=0,Q=0,k=0,m=0,E=0,M=0,v=0;if(o=p,p=p+48|0,l=o+12|0,f=o,0==(0|jA(A|=0,e|=0,A,e,u=o+24|0))&&0==(0|jA(A,e,r,n,l))){if((0|(M=0|uA(u,l)))<0)return p=o,0|M;for(i[u>>2]=0,i[u+4>>2]=0,i[u+8>>2]=0,i[l>>2]=0,i[l+4>>2]=0,i[l+8>>2]=0,jA(A,e,A,e,u),jA(A,e,r,n,l),sA(u),sA(l),M?(E=u,r=g=0|i[u>>2],n=d=0|i[(k=u+4|0)>>2],u=B=0|i[(m=u+8|0)>>2],h=+((0|i[l>>2])-g|0)/(b=+(0|M)),Q=+((0|i[l+4>>2])-d|0)/b,b=+((0|i[l+8>>2])-B|0)/b):(k=n=u+4|0,m=B=u+8|0,E=u,r=0|i[u>>2],n=0|i[n>>2],u=0|i[B>>2],h=0,Q=0,b=0),i[f>>2]=r,i[(B=f+4|0)>>2]=n,i[(d=f+8|0)>>2]=u,g=0;;){v=h*(s=+(0|g))+ +(0|r),c=Q*s+ +(0|i[k>>2]),s=b*s+ +(0|i[m>>2]),n=~~+Qe(+v),l=~~+Qe(+c),r=~~+Qe(+s),v=+a(+(+(0|n)-v)),c=+a(+(+(0|l)-c)),s=+a(+(+(0|r)-s));do{if(!(v>c&v>s)){if(w=0-n|0,c>s){u=w-r|0;break}u=l,r=w-l|0;break}n=0-(l+r)|0,u=l}while(0);if(i[f>>2]=n,i[B>>2]=u,i[d>>2]=r,wA(f),JA(A,e,f,t+(g<<3)|0),(0|g)==(0|M))break;g=g+1|0,r=0|i[E>>2]}return p=o,0}return p=o,-1},_h3LineSize:function(A,e,r,n){var i,t,o;return r|=0,n|=0,o=p,p=p+32|0,t=o,A=0==(0|jA(A|=0,e|=0,A,e,i=o+12|0))&&0==(0|jA(A,e,r,n,t))?0|uA(i,t):-1,p=o,(A>>>31^1)+A|0},_h3SetToLinkedGeo:function(A,e,r){r|=0;var n,t,o,f=0;if(o=p,p=p+32|0,n=o,function(A,e,r){A|=0,r|=0;var n,t,o=0,f=0,a=0,u=0,l=0;if(t=p,p=p+176|0,n=t,(0|(e|=0))<1)return ne(r,0,0),void(p=t);u=0|be(0|i[(u=A)>>2],0|i[u+4>>2],52),E(),ne(r,(0|e)>6?e:6,15&u),u=0;do{if(LA(0|i[(o=A+(u<<3)|0)>>2],0|i[o+4>>2],n),(0|(o=0|i[n>>2]))>0){l=0;do{a=n+8+(l<<4)|0,(f=0|ae(r,o=n+8+(((0|(l=l+1|0))%(0|o)|0)<<4)|0,a))?oe(r,f):fe(r,a,o),o=0|i[n>>2]}while((0|l)<(0|o))}u=u+1|0}while((0|u)!=(0|e));p=t}(A|=0,e|=0,t=o+16|0),i[r>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,!(A=0|te(t)))return ZA(r),ie(t),void(p=o);do{e=0|OA(r);do{WA(e,A),i[n>>2]=i[(f=A+16|0)>>2],i[n+4>>2]=i[f+4>>2],i[n+8>>2]=i[f+8>>2],i[n+12>>2]=i[f+12>>2],oe(t,A),A=0|ue(t,n)}while(0!=(0|A));A=0|te(t)}while(0!=(0|A));ZA(r),ie(t),p=o},_h3ToCenterChild:function(A,e,r){r|=0;var n=0,i=0;if(n=0|be(0|(A|=0),0|(e|=0),52),E(),(0|r)<16&(0|(n&=15))<=(0|r)){if((0|n)!=(0|r)&&(A|=i=0|he(0|r,0,52),e=0|E()|-15728641&e,(0|n)<(0|r)))do{i=0|he(7,0,3*(14-n|0)|0),n=n+1|0,A&=~i,e&=~(0|E())}while((0|n)<(0|r))}else e=0,A=0;return m(0|e),0|A},_h3ToChildren:FA,_h3ToGeo:VA,_h3ToGeoBoundary:LA,_h3ToParent:pA,_h3UnidirectionalEdgeIsValid:function(A,e){var r=0;if(!(!0&268435456==(2013265920&(e|=0)|0)))return 0;switch(r=0|be(0|(A|=0),0|e,56),E(),7&r){case 0:case 7:return 0}return!0&16777216==(117440512&e|0)&0!=(0|UA(A,r=-2130706433&e|134217728))?0|(r=0):0|(r=0|_A(A,r))},_hexAreaKm2:function(A){return+ +t[20496+((A|=0)<<3)>>3]},_hexAreaM2:function(A){return+ +t[20624+((A|=0)<<3)>>3]},_hexRing:function(A,e,r,n){A|=0,e|=0,n|=0;var t,o=0,f=0,a=0,u=0,l=0,c=0,s=0;if(t=p,p=p+16|0,s=t,!(r|=0))return i[(s=n)>>2]=A,i[s+4>>2]=e,p=t,0;i[s>>2]=0;A:do{if(0|UA(A,e))A=1;else{if(f=(0|r)>0){o=0,c=A;do{if(0==(0|(c=0|G(c,e,4,s)))&0==(0|(e=0|E()))){A=2;break A}if(o=o+1|0,0|UA(c,e)){A=1;break A}}while((0|o)<(0|r));if(i[(l=n)>>2]=c,i[l+4>>2]=e,l=r+-1|0,f){f=0,a=1,o=c,A=e;do{if(0==(0|(o=0|G(o,A,2,s)))&0==(0|(A=0|E()))){A=2;break A}if(i[(u=n+(a<<3)|0)>>2]=o,i[u+4>>2]=A,a=a+1|0,0|UA(o,A)){A=1;break A}f=f+1|0}while((0|f)<(0|r));u=0,f=a;do{if(0==(0|(o=0|G(o,A,3,s)))&0==(0|(A=0|E()))){A=2;break A}if(i[(a=n+(f<<3)|0)>>2]=o,i[a+4>>2]=A,f=f+1|0,0|UA(o,A)){A=1;break A}u=u+1|0}while((0|u)<(0|r));a=0;do{if(0==(0|(o=0|G(o,A,1,s)))&0==(0|(A=0|E()))){A=2;break A}if(i[(u=n+(f<<3)|0)>>2]=o,i[u+4>>2]=A,f=f+1|0,0|UA(o,A)){A=1;break A}a=a+1|0}while((0|a)<(0|r));a=0;do{if(0==(0|(o=0|G(o,A,5,s)))&0==(0|(A=0|E()))){A=2;break A}if(i[(u=n+(f<<3)|0)>>2]=o,i[u+4>>2]=A,f=f+1|0,0|UA(o,A)){A=1;break A}a=a+1|0}while((0|a)<(0|r));a=0;do{if(0==(0|(o=0|G(o,A,4,s)))&0==(0|(A=0|E()))){A=2;break A}if(i[(u=n+(f<<3)|0)>>2]=o,i[u+4>>2]=A,f=f+1|0,0|UA(o,A)){A=1;break A}a=a+1|0}while((0|a)<(0|r));for(a=0;;){if(0==(0|(o=0|G(o,A,6,s)))&0==(0|(A=0|E()))){A=2;break A}if((0|a)!=(0|l)){if(i[(u=n+(f<<3)|0)>>2]=o,i[u+4>>2]=A,0|UA(o,A)){A=1;break A}f=f+1|0}if((0|(a=a+1|0))>=(0|r)){a=c,f=e;break}}}else a=c,o=c,f=e,A=e}else i[(a=n)>>2]=A,i[a+4>>2]=e,a=A,o=A,f=e,A=e;A=1&((0|a)!=(0|o)|(0|f)!=(0|A))}}while(0);return p=t,0|A},_i64Subtract:ge,_kRing:F,_kRingDistances:function(A,e,r,n,i){var t;A|=0,e|=0,n|=0,i|=0,t=1+(0|Q(3*(r|=0)|0,r+1|0))|0,0|U(A,e,r,n,i)&&(me(0|n,0,t<<3|0),me(0|i,0,t<<2|0),y(A,e,r,n,i,t,0))},_llvm_round_f64:Qe,_malloc:ce,_maxFaceCount:function(A,e){var r=0,n=0;if(n=0|be(0|(A|=0),0|(e|=0),45),E(),!(0|x(127&n)))return 2;if(n=0|be(0|A,0|e,52),E(),!(n&=15))return 5;for(r=1;;){if(!(0==((0|he(7,0,3*(15-r|0)|0))&A|0)&0==((0|E())&e|0))){r=2,A=6;break}if(!(r>>>0<n>>>0)){r=5,A=6;break}r=r+1|0}return 6==(0|A)?0|r:0},_maxH3ToChildrenSize:function(A,e,r){return r|=0,A=0|be(0|(A|=0),0|(e|=0),52),E(),(0|r)<16&(0|(A&=15))<=(0|r)?0|(r=0|KA(7,r-A|0)):0|(r=0)},_maxKringSize:function(A){return 1+(0|Q(3*(A|=0)|0,A+1|0))|0},_maxPolyfillSize:function(A,e){var r,n;return e|=0,r=p,p=p+32|0,qA(A|=0,n=r),e=0|Y(n,e),e=1+(0|Q(3*e|0,e+1|0))|0,p=r,0|e},_maxUncompactSize:function(A,e,r){A|=0;var n=0,t=0,o=0,f=0;if((0|(e|=0))<=0)return 0;if((0|(r|=0))>=16){for(n=0;;){if(!(0==(0|i[(f=A+(n<<3)|0)>>2])&0==(0|i[f+4>>2]))){n=-1,t=13;break}if((0|(n=n+1|0))>=(0|e)){n=0,t=13;break}}if(13==(0|t))return 0|n}n=0,f=0;A:for(;;){o=0|i[(t=A+(f<<3)|0)>>2],t=0|i[t+4>>2];do{if(!(0==(0|o)&0==(0|t))){if(t=0|be(0|o,0|t,52),E(),(0|(t&=15))>(0|r)){n=-1,t=13;break A}if((0|t)==(0|r)){n=n+1|0;break}n=(0|KA(7,r-t|0))+n|0;break}}while(0);if((0|(f=f+1|0))>=(0|e)){t=13;break}}return 13==(0|t)?0|n:0},_memcpy:ke,_memset:me,_numHexagons:function(A){var e;return A=0|i[(e=21008+((A|=0)<<3)|0)>>2],m(0|i[e+4>>2]),0|A},_pentagonIndexCount:function(){return 12},_polyfill:function(A,e,r){e|=0,r|=0;var n,o,f,u,l=0,c=0,s=0,w=0,g=0,d=0;if(u=p,p=p+32|0,l=u+16|0,o=u,(f=0|ce(32+(i[8+(A|=0)>>2]<<5)|0))||M(22487,22096,678,22104),function(A,e){e|=0;var r=0,n=0,o=0,f=0,u=0,l=0,c=0,s=0,w=0,g=0,d=0,B=0,b=0,h=0,Q=0,k=0,m=0,E=0,M=0,v=0,D=0,I=0;if(b=0|i[(A|=0)>>2]){if(t[(h=e+8|0)>>3]=1.7976931348623157e308,t[(Q=e+24|0)>>3]=1.7976931348623157e308,t[e>>3]=-1.7976931348623157e308,t[(k=e+16|0)>>3]=-1.7976931348623157e308,(0|b)>0){for(o=0|i[A+4>>2],d=1.7976931348623157e308,B=-1.7976931348623157e308,n=0,r=-1,c=1.7976931348623157e308,s=1.7976931348623157e308,g=-1.7976931348623157e308,u=-1.7976931348623157e308,m=0;w=+t[o+(m<<4)+8>>3],l=+t[o+(((0|(D=r+2|0))==(0|b)?0:D)<<4)+8>>3],(f=+t[o+(m<<4)>>3])<c&&(t[h>>3]=f,c=f),w<s&&(t[Q>>3]=w,s=w),f>g?t[e>>3]=f:f=g,w>u&&(t[k>>3]=w,u=w),d=w>0&w<d?w:d,B=w<0&w>B?w:B,n|=+a(+(w-l))>3.141592653589793,(0|(r=m+1|0))!=(0|b);)D=m,g=f,m=r,r=D;n&&(t[k>>3]=B,t[Q>>3]=d)}}else i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,i[e+12>>2]=0,i[e+16>>2]=0,i[e+20>>2]=0,i[e+24>>2]=0,i[e+28>>2]=0;if(!((0|(r=0|i[(D=A+8|0)>>2]))<=0)){v=A+12|0,M=0;do{if(n=M,Q=e+((M=M+1|0)<<5)|0,k=0|i[(o=0|i[v>>2])+(n<<3)>>2]){if(t[(m=e+(M<<5)+8|0)>>3]=1.7976931348623157e308,t[(A=e+(M<<5)+24|0)>>3]=1.7976931348623157e308,t[Q>>3]=-1.7976931348623157e308,t[(E=e+(M<<5)+16|0)>>3]=-1.7976931348623157e308,(0|k)>0){for(b=0|i[o+(n<<3)+4>>2],d=1.7976931348623157e308,B=-1.7976931348623157e308,o=0,n=-1,h=0,c=1.7976931348623157e308,s=1.7976931348623157e308,w=-1.7976931348623157e308,u=-1.7976931348623157e308;g=+t[b+(h<<4)+8>>3],l=+t[b+(((0|(n=n+2|0))==(0|k)?0:n)<<4)+8>>3],(f=+t[b+(h<<4)>>3])<c&&(t[m>>3]=f,c=f),g<s&&(t[A>>3]=g,s=g),f>w?t[Q>>3]=f:f=w,g>u&&(t[E>>3]=g,u=g),d=g>0&g<d?g:d,B=g<0&g>B?g:B,o|=+a(+(g-l))>3.141592653589793,(0|(n=h+1|0))!=(0|k);)I=h,h=n,w=f,n=I;o&&(t[E>>3]=B,t[A>>3]=d)}}else i[Q>>2]=0,i[Q+4>>2]=0,i[Q+8>>2]=0,i[Q+12>>2]=0,i[Q+16>>2]=0,i[Q+20>>2]=0,i[Q+24>>2]=0,i[Q+28>>2]=0,r=0|i[D>>2]}while((0|M)<(0|r))}}(A,f),w=0|Y(f,e),n=1+(g=0|Q(3*w|0,w+1|0))|0,function(A,e){var r,n=0;t[(e|=0)>>3]=.5*(+t[(A|=0)>>3]+ +t[A+8>>3]),n=+IA(.5*((r=+t[A+24>>3])+((n=+t[A+16>>3])<r?n+6.283185307179586:n))),t[e+8>>3]=n}(f,l),0|U(e=0|RA(l,e),l=0|E(),w,r,s=0|ce(c=n<<2))&&(me(0|r,0,n<<3|0),me(0|s,0,0|c),y(e,l,w,r,s,n,0)),se(s),(0|g)<0)return se(f),void(p=u);l=o+8|0,e=0;do{0==(0|(s=0|i[(w=c=r+(e<<3)|0)>>2]))&0==(0|(w=0|i[w+4>>2]))||(VA(s,w,o),d=+DA(+t[o>>3]),t[o>>3]=d,d=+IA(+t[l>>3]),t[l>>3]=d,0|$A(A,f,o))||(i[(g=c)>>2]=0,i[g+4>>2]=0),e=e+1|0}while((0|e)!=(0|n));se(f),p=u},_res0IndexCount:function(){return 122},_round:Ee,_sbrk:Me,_sizeOfCoordIJ:function(){return 8},_sizeOfGeoBoundary:function(){return 168},_sizeOfGeoCoord:function(){return 16},_sizeOfGeoPolygon:function(){return 16},_sizeOfGeofence:function(){return 8},_sizeOfH3Index:function(){return 8},_sizeOfLinkedGeoPolygon:function(){return 12},_uncompact:function(A,e,r,n,t){A|=0,r|=0,n|=0;var o=0,f=0,a=0,u=0,l=0,c=0;if((0|(e|=0))<=0)return 0;if((0|(t|=0))>=16){for(o=0;;){if(!(0==(0|i[(c=A+(o<<3)|0)>>2])&0==(0|i[c+4>>2]))){o=14;break}if((0|(o=o+1|0))>=(0|e)){f=0,o=16;break}}if(14==(0|o))return 0|((0|n)>0?-2:-1);if(16==(0|o))return 0|f}o=0,c=0;A:for(;;){f=0|i[(a=l=A+(c<<3)|0)>>2],a=0|i[a+4>>2];do{if(!(0==(0|f)&0==(0|a))){if((0|o)>=(0|n)){f=-1,o=16;break A}if(u=0|be(0|f,0|a,52),E(),(0|(u&=15))>(0|t)){f=-2,o=16;break A}if((0|u)==(0|t)){i[(l=r+(o<<3)|0)>>2]=f,i[l+4>>2]=a,o=o+1|0;break}if((0|(f=(0|KA(7,t-u|0))+o|0))>(0|n)){f=-1,o=16;break A}FA(0|i[l>>2],0|i[l+4>>2],t,r+(o<<3)|0),o=f}}while(0);if((0|(c=c+1|0))>=(0|e)){f=0,o=16;break}}return 16==(0|o)?0|f:0},establishStackSpace:function(A,e){p=A|=0},stackAlloc:function(A){var e;return e=p,p=15+(p=p+(A|=0)|0)&-16,0|e},stackRestore:function(A){p=A|=0},stackSave:function(){return 0|p}}}({Math:Math,Int8Array:Int8Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Float32Array:Float32Array,Float64Array:Float64Array},{a:QA,b:function(A){h=A},c:Q,d:function(A,e,r,n){QA("Assertion failed: "+U(A)+", at: "+[e?U(e):"unknown filename",r,n?U(n):"unknown function"])},e:function(A){return r.___errno_location&&(C[r.___errno_location()>>2]=A),A},f:eA,g:function(A,e,r){D.set(D.subarray(e,e+r),A)},h:function(A){var e=eA();if(A>2130706432)return!1;for(var r=Math.max(e,16777216);r<A;)r=r<=536870912?y(2*r,16777216):Math.min(y((3*r+2147483648)/4,16777216),2130706432);return!!rA(r)},i:function(A){QA("OOM")},j:q,k:$,l:rA,m:AA,n:function(){var A=AA();return r.extraStackTrace&&(A+="\n"+r.extraStackTrace()),$(A)},o:23680,p:23664},M),uA=(r.___uremdi3=aA.___uremdi3,r._bitshift64Lshr=aA._bitshift64Lshr,r._bitshift64Shl=aA._bitshift64Shl,r._calloc=aA._calloc,r._compact=aA._compact,r._destroyLinkedPolygon=aA._destroyLinkedPolygon,r._edgeLengthKm=aA._edgeLengthKm,r._edgeLengthM=aA._edgeLengthM,r._emscripten_replace_memory=aA._emscripten_replace_memory),lA=(r._experimentalH3ToLocalIj=aA._experimentalH3ToLocalIj,r._experimentalLocalIjToH3=aA._experimentalLocalIjToH3,r._free=aA._free,r._geoToH3=aA._geoToH3,r._getDestinationH3IndexFromUnidirectionalEdge=aA._getDestinationH3IndexFromUnidirectionalEdge,r._getH3IndexesFromUnidirectionalEdge=aA._getH3IndexesFromUnidirectionalEdge,r._getH3UnidirectionalEdge=aA._getH3UnidirectionalEdge,r._getH3UnidirectionalEdgeBoundary=aA._getH3UnidirectionalEdgeBoundary,r._getH3UnidirectionalEdgesFromHexagon=aA._getH3UnidirectionalEdgesFromHexagon,r._getOriginH3IndexFromUnidirectionalEdge=aA._getOriginH3IndexFromUnidirectionalEdge,r._getPentagonIndexes=aA._getPentagonIndexes,r._getRes0Indexes=aA._getRes0Indexes,r._h3Distance=aA._h3Distance,r._h3GetBaseCell=aA._h3GetBaseCell,r._h3GetFaces=aA._h3GetFaces,r._h3IndexesAreNeighbors=aA._h3IndexesAreNeighbors,r._h3IsPentagon=aA._h3IsPentagon,r._h3IsResClassIII=aA._h3IsResClassIII,r._h3IsValid=aA._h3IsValid,r._h3Line=aA._h3Line,r._h3LineSize=aA._h3LineSize,r._h3SetToLinkedGeo=aA._h3SetToLinkedGeo,r._h3ToCenterChild=aA._h3ToCenterChild,r._h3ToChildren=aA._h3ToChildren,r._h3ToGeo=aA._h3ToGeo,r._h3ToGeoBoundary=aA._h3ToGeoBoundary,r._h3ToParent=aA._h3ToParent,r._h3UnidirectionalEdgeIsValid=aA._h3UnidirectionalEdgeIsValid,r._hexAreaKm2=aA._hexAreaKm2,r._hexAreaM2=aA._hexAreaM2,r._hexRing=aA._hexRing,r._i64Subtract=aA._i64Subtract,r._kRing=aA._kRing,r._kRingDistances=aA._kRingDistances,r._llvm_round_f64=aA._llvm_round_f64,r._malloc=aA._malloc,r._maxFaceCount=aA._maxFaceCount,r._maxH3ToChildrenSize=aA._maxH3ToChildrenSize,r._maxKringSize=aA._maxKringSize,r._maxPolyfillSize=aA._maxPolyfillSize,r._maxUncompactSize=aA._maxUncompactSize,r._memcpy=aA._memcpy,r._memset=aA._memset,r._numHexagons=aA._numHexagons,r._pentagonIndexCount=aA._pentagonIndexCount,r._polyfill=aA._polyfill,r._res0IndexCount=aA._res0IndexCount,r._round=aA._round,r._sbrk=aA._sbrk,r._sizeOfCoordIJ=aA._sizeOfCoordIJ,r._sizeOfGeoBoundary=aA._sizeOfGeoBoundary,r._sizeOfGeoCoord=aA._sizeOfGeoCoord,r._sizeOfGeoPolygon=aA._sizeOfGeoPolygon,r._sizeOfGeofence=aA._sizeOfGeofence,r._sizeOfH3Index=aA._sizeOfH3Index,r._sizeOfLinkedGeoPolygon=aA._sizeOfLinkedGeoPolygon,r._uncompact=aA._uncompact,r.establishStackSpace=aA.establishStackSpace,r.stackAlloc=aA.stackAlloc),cA=r.stackRestore=aA.stackRestore,sA=r.stackSave=aA.stackSave;if(r.asm=aA,r.cwrap=function(A,e,r,n){var i=(r=r||[]).every(function(A){return"number"===A});return"string"!==e&&i&&!n?E(A):function(){return function(A,e,r,n,i){var t={string:function(A){var e=0;return null!=A&&0!==A&&(e=lA(1+(A.length<<2))),e},array:function(A){var e=lA(A.length);return v.set(A,e),e}},o=E(A),f=[],a=0;if(n)for(var u=0;u<n.length;u++){var l=t[r[u]];l?(0===a&&(a=sA()),f[u]=l(n[u])):f[u]=n[u]}var c=o.apply(null,f);return c=function(A){return"string"===e?U(A):"boolean"===e?Boolean(A):A}(c),0!==a&&cA(a),c}(A,e,r,arguments)}},r.setValue=function(A,e,r,n){switch("*"===(r=r||"i8").charAt(r.length-1)&&(r="i32"),r){case"i1":case"i8":v[A>>0]=e;break;case"i16":I[A>>1]=e;break;case"i32":C[A>>2]=e;break;case"i64":j=[e>>>0,(N=e,+z(N)>=1?N>0?(0|Y(+L(N/4294967296),4294967295))>>>0:~~+V((N-+(~~N>>>0))/4294967296)>>>0:0)],C[A>>2]=j[0],C[A+4>>2]=j[1];break;case"float":_[A>>2]=e;break;case"double":p[A>>3]=e;break;default:QA("invalid type for setValue: "+r)}},r.getValue=function(A,e,r){switch("*"===(e=e||"i8").charAt(e.length-1)&&(e="i32"),e){case"i1":case"i8":return v[A>>0];case"i16":return I[A>>1];case"i32":case"i64":return C[A>>2];case"float":return _[A>>2];case"double":return p[A>>3];default:QA("invalid type for getValue: "+e)}return null},r.getTempRet0=Q,J)if(X(J)||(oA=J,J=r.locateFile?r.locateFile(oA,d):d+oA),u||f){var wA=s(J);D.set(wA,8)}else{O++,r.monitorRunDependencies&&r.monitorRunDependencies(O);var gA=function(A){A.byteLength&&(A=new Uint8Array(A)),D.set(A,8),r.memoryInitializerRequest&&delete r.memoryInitializerRequest.response,function(A){if(O--,r.monitorRunDependencies&&r.monitorRunDependencies(O),0==O&&(null!==W&&(clearInterval(W),W=null),Z)){var e=Z;Z=null,e()}}()},dA=function(){c(J,gA,function(){throw"could not load memory initializer "+J})},BA=tA(J);if(BA)gA(BA.buffer);else if(r.memoryInitializerRequest){var bA=function(){var A=r.memoryInitializerRequest,e=A.response;if(200!==A.status&&0!==A.status){var n=tA(r.memoryInitializerRequestURL);if(!n)return console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+A.status+", retrying "+J),void dA();e=n.buffer}gA(e)};r.memoryInitializerRequest.response?setTimeout(bA,0):r.memoryInitializerRequest.addEventListener("load",bA)}else dA()}function hA(A){function e(){fA||(fA=!0,k||(H(P),H(R),r.onRuntimeInitialized&&r.onRuntimeInitialized(),function(){if(r.postRun)for("function"==typeof r.postRun&&(r.postRun=[r.postRun]);r.postRun.length;)A=r.postRun.shift(),S.unshift(A);var A;H(S)}()))}A=A||a,O>0||(function(){if(r.preRun)for("function"==typeof r.preRun&&(r.preRun=[r.preRun]);r.preRun.length;)A=r.preRun.shift(),T.unshift(A);var A;H(T)}(),O>0||(r.setStatus?(r.setStatus("Running..."),setTimeout(function(){setTimeout(function(){r.setStatus("")},1),e()},1)):e()))}function QA(A){throw r.onAbort&&r.onAbort(A),B(A+=""),b(A),k=!0,"abort("+A+"). Build with -s ASSERTIONS=1 for more info."}if(Z=function A(){fA||hA(),fA||(Z=A)},r.run=hA,r.abort=QA,r.preInit)for("function"==typeof r.preInit&&(r.preInit=[r.preInit]);r.preInit.length>0;)r.preInit.pop()();return hA(),A}("object"==typeof e?e:{}),r="number",n={};[["sizeOfH3Index",r],["sizeOfGeoCoord",r],["sizeOfGeoBoundary",r],["sizeOfGeoPolygon",r],["sizeOfGeofence",r],["sizeOfLinkedGeoPolygon",r],["sizeOfCoordIJ",r],["h3IsValid","number",["number","number"]],["geoToH3","number",[r,r,"number"]],["h3ToGeo",null,["number","number",r]],["h3ToGeoBoundary",null,["number","number",r]],["maxKringSize",r,[r]],["kRing",null,["number","number",r,r]],["kRingDistances",null,["number","number",r,r,r]],["hexRing",null,["number","number",r,r]],["maxPolyfillSize",r,[r,"number"]],["polyfill",null,[r,"number",r]],["h3SetToLinkedGeo",null,[r,r,r]],["destroyLinkedPolygon",null,[r]],["compact",r,[r,r,r]],["uncompact",r,[r,r,r,r,"number"]],["maxUncompactSize",r,[r,r,"number"]],["h3IsPentagon","number",["number","number"]],["h3IsResClassIII","number",["number","number"]],["h3GetBaseCell",r,["number","number"]],["maxFaceCount",r,["number","number"]],["h3GetFaces",null,["number","number",r]],["h3ToParent","number",["number","number","number"]],["h3ToChildren",null,["number","number","number",r]],["h3ToCenterChild","number",["number","number","number"]],["maxH3ToChildrenSize",r,["number","number","number"]],["h3IndexesAreNeighbors","number",["number","number","number","number"]],["getH3UnidirectionalEdge","number",["number","number","number","number"]],["getOriginH3IndexFromUnidirectionalEdge","number",["number","number"]],["getDestinationH3IndexFromUnidirectionalEdge","number",["number","number"]],["h3UnidirectionalEdgeIsValid","number",["number","number"]],["getH3IndexesFromUnidirectionalEdge",null,["number","number",r]],["getH3UnidirectionalEdgesFromHexagon",null,["number","number",r]],["getH3UnidirectionalEdgeBoundary",null,["number","number",r]],["h3Distance",r,["number","number","number","number"]],["h3Line",r,["number","number","number","number",r]],["h3LineSize",r,["number","number","number","number"]],["experimentalH3ToLocalIj",r,["number","number","number","number",r]],["experimentalLocalIjToH3",r,["number","number",r,r]],["hexAreaM2",r,["number"]],["hexAreaKm2",r,["number"]],["edgeLengthM",r,["number"]],["edgeLengthKm",r,["number"]],["numHexagons",r,["number"]],["getRes0Indexes",null,[r]],["res0IndexCount",r],["getPentagonIndexes",null,[r,r]],["pentagonIndexCount",r]].forEach(function(A){n[A[0]]=e.cwrap.apply(e,A)});var i=16,t=4,o=8,f=n.sizeOfH3Index(),a=n.sizeOfGeoCoord(),u=n.sizeOfGeoBoundary(),l=n.sizeOfGeoPolygon(),c=n.sizeOfGeofence(),s=n.sizeOfLinkedGeoPolygon(),w=n.sizeOfCoordIJ(),g={m:"m",km:"km",m2:"m2",km2:"km2"};function d(A){if("number"!=typeof A||A<0||A>15||Math.floor(A)!==A)throw new Error("Invalid resolution: "+A)}function B(A){if("string"!=typeof A)return[0,0];var e=parseInt(A.substring(0,A.length-8),i);return[parseInt(A.substring(A.length-8),i),e]}function b(A){if(A>=0)return A.toString(i);var e=Q(8,(A&=2147483647).toString(i));return(parseInt(e[0],i)+8).toString(i)+e.substring(1)}function h(A,e){return b(e)+Q(8,b(A))}function Q(A,e){for(var r=A-e.length,n="",i=0;i<r;i++)n+="0";return n+e}function k(A,r,n){for(var i=A.length,f=e._calloc(i,a),u=n?1:0,l=n?0:1,c=0;c<2*i;c+=2)e.HEAPF64.set([A[c/2][u],A[c/2][l]].map(y),f/o+c);return e.HEAPU32.set([i,f],r/t),r}function m(A){return[A,e.getTempRet0()]}function E(A){var e=m(A),r=e[1];return r?h(e[0],r):null}function M(A,r){void 0===r&&(r=0);var n=e.getValue(A+t*r*2,"i32"),i=e.getValue(A+t*(2*r+1),"i32");return i?h(n,i):null}function v(A,r,n){e.HEAPU32.set(B(A),r/t+2*n)}function D(A,e){for(var r=[],n=0;n<e;n++){var i=M(A,n);null!==i&&r.push(i)}return r}function I(A,e){for(var r=e.length,n=0;n<r;n++)v(e[n],A,n)}function C(A){return G(e.getValue(A,"double"))}function _(A){return[C(A),C(A+o)]}function p(A){return[C(A+o),C(A)]}function F(A,r,n){for(var i=e.getValue(A,"i32"),t=A+o,f=[],a=r?p:_,u=0;u<2*i;u+=2)f.push(a(t+o*u));return n&&f.push(f[0]),f}function U(A){var e=B(A);return Boolean(n.h3IsValid(e[0],e[1]))}function y(A){return A*Math.PI/180}function G(A){return 180*A/Math.PI}A.UNITS=g,A.h3IsValid=U,A.h3IsPentagon=function(A){var e=B(A);return Boolean(n.h3IsPentagon(e[0],e[1]))},A.h3IsResClassIII=function(A){var e=B(A);return Boolean(n.h3IsResClassIII(e[0],e[1]))},A.h3GetBaseCell=function(A){var e=B(A);return n.h3GetBaseCell(e[0],e[1])},A.h3GetFaces=function(A){var r=B(A),i=r[0],o=r[1],f=n.maxFaceCount(i,o),a=e._malloc(t*f);n.h3GetFaces(i,o,a);var u=function(A,r){for(var n=[],i=0;i<r;i++){var o=e.getValue(A+t*i,"i32");o>=0&&n.push(o)}return n}(a,f);return e._free(a),u},A.h3GetResolution=function(A){return"string"!=typeof A?-1:parseInt(A.charAt(1),i)},A.geoToH3=function(A,r,i){var t=e._malloc(a);e.HEAPF64.set([A,r].map(y),t/o);var f=E(n.geoToH3(t,i));return e._free(t),f},A.h3ToGeo=function(A){var r=e._malloc(a),i=B(A);n.h3ToGeo(i[0],i[1],r);var t=_(r);return e._free(r),t},A.h3ToGeoBoundary=function(A,r){var i=e._malloc(u),t=B(A);n.h3ToGeoBoundary(t[0],t[1],i);var o=F(i,r,r);return e._free(i),o},A.h3ToParent=function(A,e){var r=B(A);return E(n.h3ToParent(r[0],r[1],e))},A.h3ToChildren=function(A,r){if(!U(A))return[];var i=B(A),t=i[0],o=i[1],a=n.maxH3ToChildrenSize(t,o,r),u=e._calloc(a,f);n.h3ToChildren(t,o,r,u);var l=D(u,a);return e._free(u),l},A.h3ToCenterChild=function(A,e){var r=B(A);return E(n.h3ToCenterChild(r[0],r[1],e))},A.kRing=function(A,r){var i=B(A),t=i[0],o=i[1],a=n.maxKringSize(r),u=e._calloc(a,f);n.kRing(t,o,r,u);var l=D(u,a);return e._free(u),l},A.kRingDistances=function(A,r){var i=B(A),o=i[0],a=i[1],u=n.maxKringSize(r),l=e._calloc(u,f),c=e._calloc(u,t);n.kRingDistances(o,a,r,l,c);for(var s=[],w=0;w<r+1;w++)s.push([]);for(var g=0;g<2*u;g+=2){var d=e.getValue(l+t*g,"i32"),b=e.getValue(l+t*(g+1),"i32"),Q=e.getValue(c+t*(g/2),"i32");0===d&&0===b||s[Q].push(h(d,b))}return e._free(l),e._free(c),s},A.hexRing=function(A,r){var i=0===r?1:6*r,t=e._calloc(i,f);if(0!==n.hexRing.apply(n,B(A).concat([r],[t])))throw e._free(t),new Error("Failed to get hexRing (encountered a pentagon?)");var o=D(t,i);return e._free(t),o},A.polyfill=function(A,r,i){if(d(r),i=Boolean(i),0===A.length||0===A[0].length)return[];"number"==typeof A[0][0]&&(A=[A]);var o=function(A,r){var n,i=A.length-1,o=e._calloc(l),f=0+c,a=f+t;if(k(A[0],o+0,r),i>0){n=e._calloc(i,c);for(var u=0;u<i;u++)k(A[u+1],n+c*u,r)}return e.setValue(o+f,i,"i32"),e.setValue(o+a,n,"i32"),o}(A,i),a=n.maxPolyfillSize(o,r),u=e._calloc(a,f);n.polyfill(o,r,u);var s=D(u,a);return e._free(u),function(A){var r=0+c,n=r+t;e._free(e.getValue(A+0,"i8*"));for(var i=e.getValue(A+r,"i32"),o=0;o<i;o++)e._free(e.getValue(A+n+c*o,"i8*"));e._free(A)}(o),s},A.h3SetToMultiPolygon=function(A,r){if(!A||!A.length)return[];var i=A.length,t=e._calloc(i,f);I(t,A);var a=e._calloc(s),u=a;n.h3SetToLinkedGeo(t,i,a);var l=function(A,r){for(var n,i,t,f,a=[],u=r?p:_;A;){for(a.push(n=[]),i=e.getValue(A,"i8*");i;){for(n.push(t=[]),f=e.getValue(i,"i8*");f;)t.push(u(f)),f=e.getValue(f+2*o,"i8*");r&&t.push(t[0]),i=e.getValue(i+8,"i8*")}A=e.getValue(A+8,"i8*")}return a}(a,r);return n.destroyLinkedPolygon(u),e._free(u),e._free(t),l},A.compact=function(A){if(!A||!A.length)return[];var r=A.length,i=e._calloc(r,f);I(i,A);var t=e._calloc(r,f);if(0!==n.compact(i,t,r))throw e._free(i),e._free(t),new Error("Failed to compact, malformed input data (duplicate hexagons?)");var o=D(t,r);return e._free(i),e._free(t),o},A.uncompact=function(A,r){if(d(r),!A||!A.length)return[];var i=A.length,t=e._calloc(i,f);I(t,A);var o=n.maxUncompactSize(t,i,r),a=e._calloc(o,f);if(0!==n.uncompact(t,i,a,o,r))throw e._free(t),e._free(a),new Error("Failed to uncompact (bad resolution?)");var u=D(a,o);return e._free(t),e._free(a),u},A.h3IndexesAreNeighbors=function(A,e){var r=B(A),i=r[0],t=r[1],o=B(e);return Boolean(n.h3IndexesAreNeighbors(i,t,o[0],o[1]))},A.getH3UnidirectionalEdge=function(A,e){var r=B(A),i=r[0],t=r[1],o=B(e);return E(n.getH3UnidirectionalEdge(i,t,o[0],o[1]))},A.getOriginH3IndexFromUnidirectionalEdge=function(A){var e=B(A);return E(n.getOriginH3IndexFromUnidirectionalEdge(e[0],e[1]))},A.getDestinationH3IndexFromUnidirectionalEdge=function(A){var e=B(A);return E(n.getDestinationH3IndexFromUnidirectionalEdge(e[0],e[1]))},A.h3UnidirectionalEdgeIsValid=function(A){var e=B(A);return Boolean(n.h3UnidirectionalEdgeIsValid(e[0],e[1]))},A.getH3IndexesFromUnidirectionalEdge=function(A){var r=B(A),i=r[0],t=r[1],o=e._calloc(2,f);n.getH3IndexesFromUnidirectionalEdge(i,t,o);var a=D(o,2);return e._free(o),a},A.getH3UnidirectionalEdgesFromHexagon=function(A){var r=B(A),i=r[0],t=r[1],o=e._calloc(6,f);n.getH3UnidirectionalEdgesFromHexagon(i,t,o);var a=D(o,6);return e._free(o),a},A.getH3UnidirectionalEdgeBoundary=function(A,r){var i=e._malloc(u),t=B(A);n.getH3UnidirectionalEdgeBoundary(t[0],t[1],i);var o=F(i,r);return e._free(i),o},A.h3Distance=function(A,e){var r=B(A),i=r[0],t=r[1],o=B(e);return n.h3Distance(i,t,o[0],o[1])},A.h3Line=function(A,r){var i=B(A),t=i[0],o=i[1],a=B(r),u=a[0],l=a[1],c=n.h3LineSize(t,o,u,l);if(c<0)throw new Error("Line cannot be calculated");var s=e._calloc(c,f);n.h3Line(t,o,u,l,s);var w=D(s,c);return e._free(s),w},A.experimentalH3ToLocalIj=function(A,r){var i,o=e._malloc(w),f=n.experimentalH3ToLocalIj.apply(n,B(A).concat(B(r),[o])),a={i:e.getValue(i=o,"i32"),j:e.getValue(i+t,"i32")};switch(e._free(o),f){case 0:return a;case 1:throw new Error("Incompatible origin and index.");case 2:default:throw new Error("Local IJ coordinates undefined for this origin and index pair. The index may be too far from the origin.");case 3:case 4:case 5:throw new Error("Encountered possible pentagon distortion")}},A.experimentalLocalIjToH3=function(A,r){if(!r||"number"!=typeof r.i||"number"!=typeof r.j)throw new Error("Coordinates must be provided as an {i, j} object");var i,o,a,u=e._malloc(w),l=e._malloc(f);a=(o=r).j,e.setValue(i=u,o.i,"i32"),e.setValue(i+t,a,"i32");var c=n.experimentalLocalIjToH3.apply(n,B(A).concat([u],[l])),s=M(l);if(e._free(u),e._free(l),0!==c)throw new Error("Index not defined for this origin and IJ coordinates pair. IJ coordinates may be too far from origin, or a pentagon distortion was encountered.");return s},A.hexArea=function(A,e){switch(d(A),e){case g.m2:return n.hexAreaM2(A);case g.km2:return n.hexAreaKm2(A);default:throw new Error("Unknown unit: "+e)}},A.edgeLength=function(A,e){switch(d(A),e){case g.m:return n.edgeLengthM(A);case g.km:return n.edgeLengthKm(A);default:throw new Error("Unknown unit: "+e)}},A.numHexagons=function(A){d(A);var e=m(n.numHexagons(A)),r=e[0],i=e[1];return i?i*Math.pow(2,32)+r:r},A.getRes0Indexes=function(){var A=n.res0IndexCount(),r=e._malloc(f*A);n.getRes0Indexes(r);var i=D(r,A);return e._free(r),i},A.getPentagonIndexes=function(A){d(A);var r=n.pentagonIndexCount(),i=e._malloc(f*r);n.getPentagonIndexes(A,i);var t=D(i,r);return e._free(i),t},A.degsToRads=y,A.radsToDegs=G});
2//# sourceMappingURL=h3-js.umd.js.map