
var QmcCryptoModule = (function() {
  var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
  if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename;
  return (
function(QmcCryptoModule) {
  QmcCryptoModule = QmcCryptoModule || {};

var Module=typeof QmcCryptoModule!=="undefined"?QmcCryptoModule:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=typeof window==="object";var ENVIRONMENT_IS_WORKER=typeof importScripts==="function";var ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;function logExceptionOnExit(e){if(e instanceof ExitStatus)return;var toLog=e;err("exiting due to exception: "+toLog)}var nodeFS;var nodePath;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require("path").dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=function shell_read(filename,binary){var ret=tryParseAsDataURI(filename);if(ret){return binary?ret:ret.toString()}if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);return nodeFS["readFileSync"](filename,binary?null:"utf8")};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};readAsync=function readAsync(filename,onload,onerror){var ret=tryParseAsDataURI(filename);if(ret){onload(ret)}if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);nodeFS["readFile"](filename,function(err,data){if(err)onerror(err);else onload(data.buffer)})};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",function(reason){throw reason});quit_=function(status,toThrow){if(keepRuntimeAlive()){process["exitCode"]=status;throw toThrow}logExceptionOnExit(toThrow);process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){readBinary=function(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}readAsync=function(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;var WebAssembly={Memory:function(opts){this.buffer=new ArrayBuffer(opts["initial"]*65536)},Module:function(binary){},Instance:function(module,info){this.exports=(
// EMSCRIPTEN_START_ASM
function instantiate(la){function c(d){d.set=function(a,b){this[a]=b};d.get=function(a){return this[a]};return d}var e;var f=new Uint8Array(123);for(var a=25;a>=0;--a){f[48+a]=52+a;f[65+a]=a;f[97+a]=26+a}f[43]=62;f[47]=63;function l(m,n,o){var g,h,a=0,i=n,j=o.length,k=n+(j*3>>2)-(o[j-2]=="=")-(o[j-1]=="=");for(;a<j;a+=4){g=f[o.charCodeAt(a+1)];h=f[o.charCodeAt(a+2)];m[i++]=f[o.charCodeAt(a)]<<2|g>>4;if(i<k)m[i++]=g<<4|h>>2;if(i<k)m[i++]=h<<6|f[o.charCodeAt(a+3)]}}function p(q){l(e,1024,"Y2Fubm90IGFsbG9jYXRlIG1lbW9yeQBjYW5ub3QgZGVjcnlwdCBlbWJlZGRlZCBrZXkAY2Fubm90IHBhcnNlIGVtYmVkZGVkIGtleQAtKyAgIDBYMHgAdW5zaWduZWQgc2hvcnQAdW5zaWduZWQgaW50AGZsb2F0AHVpbnQ2NF90AGlvcwBnZXRFcnIAdmVjdG9yAHVuc2lnbmVkIGNoYXIAOiBubyBjb252ZXJzaW9uAC50bQBib29sAGVtc2NyaXB0ZW46OnZhbABzdG9pAHVuc2lnbmVkIGxvbmcAc3RkOjp3c3RyaW5nAGJhc2ljX3N0cmluZwBzdGQ6OnN0cmluZwBzdGQ6OnUxNnN0cmluZwBzdGQ6OnUzMnN0cmluZwBTVGFnAFFUYWcAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQBjYW5ub3QgcmVhZCBlbWJlZGRlZCBrZXkgZnJvbSBmaWxlAGRvdWJsZQAuY2FjaGUAOiBvdXQgb2YgcmFuZ2UAdm9pZABpbnZhbGlkAGdldFNvbmdJZABTdGF0aWMAcHJlRGVjAGRlY0Jsb2IAZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZmxvYXQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDhfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDE2X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDE2X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBjaGFyPgBzdGQ6OmJhc2ljX3N0cmluZzx1bnNpZ25lZCBjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgbG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZG91YmxlPgBNYXAvUkM0AEZpbGUgaXMgaW52YWxpZCBvciBlbmNyeXB0aW9uIHR5cGUgaXMgbm90IHN1cHBvcnRlZC4AKG51bGwpAGZpbGUgaXMgaW52YWxpZCBvciBub3Qgc3VwcG9ydGVkKFBsZWFzZSBkb3duZ3JhZGUgeW91ciBhcHAuKQAlcwo=");l(e,2256,"/////////////////////////////////////////////////////////z7///8/NDU2Nzg5Ojs8Pf////////8AAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGf///////xobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIz/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////1FRTXVzaWMgRW5jVjIsS2V5OgAAACBmdHlwd0gyc97ywMiV7DCyUcPhoJ7mnc/6fxTRzrjcw0pnk9YowpFwyo2ipPAIYZB+b6Lg664+tmfHkvSRtfZsXoRA9/MbAn/Vq0GJKPQlzFIRrUNopkGLhLX/LJJKJthHanyVYczmy7s/R1iJdcN1odmvzAhzF9yqmqIWQdiiBsaL/GY0n88YI6AKdOcrJ3CS6a835oynvGJlnMIIyYiz80OsdCwP1K+hwwFklU5In/Q1eJV6OdZqoG1A6E+o7xEd8xs/Pwfdb1sZMBn77w438A7NFkn+U0cTGr2k8UAZYA7taAkGX03PPRr+IHfk2dr5pCt2HHHbALz9DGylR/f2AHlKEQAAAAAAAEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5AACkCwAATlN0M19fMjEyYmFzaWNfc3RyaW5nSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUATlN0M19fMjIxX19iYXNpY19zdHJpbmdfY29tbW9uSUxiMUVFRQAAAACYEgAAcwsAABwTAAA0CwAAAAAAAAEAAACcCwAAAAAAAGlpAAA0EgAAWBIAAFgSAACkCwAAaWlpaWk=");l(e,3040,"WBIAAFgSAABYEgAAWBIAAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0loTlNfMTFjaGFyX3RyYWl0c0loRUVOU185YWxsb2NhdG9ySWhFRUVFAAAcEwAA8AsAAAAAAAABAAAAnAsAAAAAAABOU3QzX18yMTJiYXNpY19zdHJpbmdJd05TXzExY2hhcl90cmFpdHNJd0VFTlNfOWFsbG9jYXRvckl3RUVFRQAAHBMAAEgMAAAAAAAAAQAAAJwLAAAAAAAATlN0M19fMjEyYmFzaWNfc3RyaW5nSURzTlNfMTFjaGFyX3RyYWl0c0lEc0VFTlNfOWFsbG9jYXRvcklEc0VFRUUAAAAcEwAAoAwAAAAAAAABAAAAnAsAAAAAAABOU3QzX18yMTJiYXNpY19zdHJpbmdJRGlOU18xMWNoYXJfdHJhaXRzSURpRUVOU185YWxsb2NhdG9ySURpRUVFRQAAABwTAAD8DAAAAAAAAAEAAACcCwAAAAAAAE4xMGVtc2NyaXB0ZW4zdmFsRQAAmBIAAFgNAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ljRUUAAJgSAAB0DQAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJYUVFAACYEgAAnA0AAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWhFRQAAmBIAAMQNAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lzRUUAAJgSAADsDQAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJdEVFAACYEgAAFA4AAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWlFRQAAmBIAADwOAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lqRUUAAJgSAABkDgAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbEVFAACYEgAAjA4AAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SW1FRQAAmBIAALQOAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lmRUUAAJgSAADcDgAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZEVFAACYEgAABA8AAAAAAAAZAAoAGRkZAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABkAEQoZGRkDCgcAAQAJCxgAAAkGCwAACwAGGQAAABkZGQ==");l(e,3969,"DgAAAAAAAAAAGQAKDRkZGQANAAACAAkOAAAACQAOAAAO");l(e,4027,"DA==");l(e,4039,"EwAAAAATAAAAAAkMAAAAAAAMAAAM");l(e,4085,"EA==");l(e,4097,"DwAAAAQPAAAAAAkQAAAAAAAQAAAQ");l(e,4143,"Eg==");l(e,4155,"EQAAAAARAAAAAAkSAAAAAAASAAASAAAaAAAAGhoa");l(e,4210,"GgAAABoaGgAAAAAAAAk=");l(e,4259,"FA==");l(e,4271,"FwAAAAAXAAAAAAkUAAAAAAAUAAAU");l(e,4317,"Fg==");l(e,4329,"FQAAAAAVAAAAAAkWAAAAAAAWAAAWAAAwMTIzNDU2Nzg5QUJDREVGcBMAAFN0OXR5cGVfaW5mbwAAAACYEgAAFBEAAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAAAAAMASAAAsEQAAJBEAAE4xMF9fY3h4YWJpdjExN19fY2xhc3NfdHlwZV9pbmZvRQAAAMASAABcEQAAUBEAAAAAAADQEQAAEAAAABEAAAASAAAAEwAAABQAAABOMTBfX2N4eGFiaXYxMjNfX2Z1bmRhbWVudGFsX3R5cGVfaW5mb0UAwBIAAKgRAABQEQAAdgAAAJQRAADcEQAAYgAAAJQRAADoEQAAYwAAAJQRAAD0EQAAaAAAAJQRAAAAEgAAYQAAAJQRAAAMEgAAcwAAAJQRAAAYEgAAdAAAAJQRAAAkEgAAaQAAAJQRAAAwEgAAagAAAJQRAAA8EgAAbAAAAJQRAABIEgAAbQAAAJQRAABUEgAAeAAAAJQRAABgEgAAeQAAAJQRAABsEgAAZgAAAJQRAAB4EgAAZAAAAJQRAACEEgAAAAAAAIARAAAQAAAAFQAAABIAAAATAAAAFgAAABcAAAAYAAAAGQAAAAAAAAAIEwAAEAAAABoAAAASAAAAEwAAABYAAAAbAAAAHAAAAB0AAABOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UAAAAAwBIAAOASAACAEQAAAAAAAGQTAAAQAAAAHgAAABIAAAATAAAAFgAAAB8AAAAgAAAAIQAAAE4xMF9fY3h4YWJpdjEyMV9fdm1pX2NsYXNzX3R5cGVfaW5mb0UAAADAEgAAPBMAAIAR");l(e,4976,"BQ==");l(e,4988,"DQ==");l(e,5012,"DgAAAA8AAAA0FQ==");l(e,5036,"Ag==");l(e,5052,"//////////8=");l(e,5120,"MBdQ")}function ja(ka){var r=ka.a;var s=r.buffer;var t=new Int8Array(s);var u=new Int16Array(s);var v=new Int32Array(s);var w=new Uint8Array(s);var x=new Uint16Array(s);var y=new Uint32Array(s);var z=new Float32Array(s);var A=new Float64Array(s);var B=Math.imul;var C=Math.fround;var D=Math.abs;var E=Math.clz32;var F=Math.min;var G=Math.max;var H=Math.floor;var I=Math.ceil;var J=Math.trunc;var K=Math.sqrt;var L=ka.abort;var M=NaN;var N=Infinity;var O=ka.b;var P=ka.c;var Q=ka.d;var R=ka.e;var S=ka.f;var T=ka.g;var U=ka.h;var V=ka.i;var W=ka.j;var X=ka.k;var Y=ka.l;var Z=ka.m;var _=ka.n;var $=ka.o;var aa=ka.p;var ba=ka.q;var ca=ka.r;var da=5248816;var ea=0;var fa=0;var ga=0;
// EMSCRIPTEN_START_FUNCS
function Ca(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=da-16|0;da=l;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{if(a>>>0<=244){e=v[1358];h=a>>>0<11?16:a+11&-8;c=h>>>3|0;b=e>>>c|0;if(b&3){d=c+((b^-1)&1)|0;b=d<<3;f=v[b+5480>>2];a=f+8|0;c=v[f+8>>2];b=b+5472|0;l:{if((c|0)==(b|0)){v[1358]=Ub(d)&e;break l}v[c+12>>2]=b;v[b+8>>2]=c}b=d<<3;v[f+4>>2]=b|3;b=b+f|0;v[b+4>>2]=v[b+4>>2]|1;break a}k=v[1360];if(k>>>0>=h>>>0){break k}if(b){a=2<<c;a=(0-a|a)&b<<c;b=(0-a&a)-1|0;a=b>>>12&16;c=a;b=b>>>a|0;a=b>>>5&8;c=c|a;b=b>>>a|0;a=b>>>2&4;c=c|a;b=b>>>a|0;a=b>>>1&2;c=c|a;b=b>>>a|0;a=b>>>1&1;c=(c|a)+(b>>>a|0)|0;a=c<<3;g=v[a+5480>>2];b=v[g+8>>2];a=a+5472|0;m:{if((b|0)==(a|0)){e=Ub(c)&e;v[1358]=e;break m}v[b+12>>2]=a;v[a+8>>2]=b}a=g+8|0;v[g+4>>2]=h|3;d=g+h|0;b=c<<3;f=b-h|0;v[d+4>>2]=f|1;v[b+g>>2]=f;if(k){b=k>>>3|0;c=(b<<3)+5472|0;g=v[1363];b=1<<b;n:{if(!(b&e)){v[1358]=b|e;b=c;break n}b=v[c+8>>2]}v[c+8>>2]=g;v[b+12>>2]=g;v[g+12>>2]=c;v[g+8>>2]=b}v[1363]=d;v[1360]=f;break a}j=v[1359];if(!j){break k}b=(j&0-j)-1|0;a=b>>>12&16;c=a;b=b>>>a|0;a=b>>>5&8;c=c|a;b=b>>>a|0;a=b>>>2&4;c=c|a;b=b>>>a|0;a=b>>>1&2;c=c|a;b=b>>>a|0;a=b>>>1&1;b=v[((c|a)+(b>>>a|0)<<2)+5736>>2];d=(v[b+4>>2]&-8)-h|0;c=b;while(1){o:{a=v[c+16>>2];if(!a){a=v[c+20>>2];if(!a){break o}}c=(v[a+4>>2]&-8)-h|0;f=c>>>0<d>>>0;d=f?c:d;b=f?a:b;c=a;continue}break}i=v[b+24>>2];f=v[b+12>>2];if((f|0)!=(b|0)){a=v[b+8>>2];v[a+12>>2]=f;v[f+8>>2]=a;break b}c=b+20|0;a=v[c>>2];if(!a){a=v[b+16>>2];if(!a){break j}c=b+16|0}while(1){g=c;f=a;c=a+20|0;a=v[c>>2];if(a){continue}c=f+16|0;a=v[f+16>>2];if(a){continue}break}v[g>>2]=0;break b}h=-1;if(a>>>0>4294967231){break k}a=a+11|0;h=a&-8;j=v[1359];if(!j){break k}d=0-h|0;e=0;p:{if(h>>>0<256){break p}e=31;if(h>>>0>16777215){break p}a=a>>>8|0;g=a+1048320>>>16&8;a=a<<g;c=a+520192>>>16&4;a=a<<c;b=a+245760>>>16&2;a=(a<<b>>>15|0)-(b|(c|g))|0;e=(a<<1|h>>>a+21&1)+28|0}c=v[(e<<2)+5736>>2];q:{r:{s:{if(!c){a=0;break s}a=0;b=h<<((e|0)==31?0:25-(e>>>1|0)|0);while(1){t:{g=(v[c+4>>2]&-8)-h|0;if(g>>>0>=d>>>0){break t}f=c;d=g;if(d){break t}d=0;a=c;break r}g=v[c+20>>2];c=v[((b>>>29&4)+c|0)+16>>2];a=g?(g|0)==(c|0)?a:g:a;b=b<<1;if(c){continue}break}}if(!(a|f)){f=0;a=2<<e;a=(0-a|a)&j;if(!a){break k}b=(a&0-a)-1|0;a=b>>>12&16;c=a;b=b>>>a|0;a=b>>>5&8;c=c|a;b=b>>>a|0;a=b>>>2&4;c=c|a;b=b>>>a|0;a=b>>>1&2;c=c|a;b=b>>>a|0;a=b>>>1&1;a=v[((c|a)+(b>>>a|0)<<2)+5736>>2]}if(!a){break q}}while(1){b=(v[a+4>>2]&-8)-h|0;c=b>>>0<d>>>0;d=c?b:d;f=c?a:f;b=v[a+16>>2];if(b){a=b}else{a=v[a+20>>2]}if(a){continue}break}}if(!f|v[1360]-h>>>0<=d>>>0){break k}e=v[f+24>>2];b=v[f+12>>2];if((f|0)!=(b|0)){a=v[f+8>>2];v[a+12>>2]=b;v[b+8>>2]=a;break c}c=f+20|0;a=v[c>>2];if(!a){a=v[f+16>>2];if(!a){break i}c=f+16|0}while(1){g=c;b=a;c=a+20|0;a=v[c>>2];if(a){continue}c=b+16|0;a=v[b+16>>2];if(a){continue}break}v[g>>2]=0;break c}c=v[1360];if(c>>>0>=h>>>0){d=v[1363];b=c-h|0;u:{if(b>>>0>=16){v[1360]=b;a=d+h|0;v[1363]=a;v[a+4>>2]=b|1;v[c+d>>2]=b;v[d+4>>2]=h|3;break u}v[1363]=0;v[1360]=0;v[d+4>>2]=c|3;a=c+d|0;v[a+4>>2]=v[a+4>>2]|1}a=d+8|0;break a}i=v[1361];if(i>>>0>h>>>0){b=i-h|0;v[1361]=b;c=v[1364];a=c+h|0;v[1364]=a;v[a+4>>2]=b|1;v[c+4>>2]=h|3;a=c+8|0;break a}a=0;j=h+47|0;if(v[1476]){c=v[1478]}else{v[1479]=-1;v[1480]=-1;v[1477]=4096;v[1478]=4096;v[1476]=l+12&-16^1431655768;v[1481]=0;v[1469]=0;c=4096}g=j+c|0;f=0-c|0;c=g&f;if(c>>>0<=h>>>0){break a}d=v[1468];if(d){b=v[1466];e=b+c|0;if(d>>>0<e>>>0|b>>>0>=e>>>0){break a}}if(w[5876]&4){break f}v:{w:{d=v[1364];if(d){a=5880;while(1){b=v[a>>2];if(b>>>0<=d>>>0&d>>>0<b+v[a+4>>2]>>>0){break w}a=v[a+8>>2];if(a){continue}break}}b=wa(0);if((b|0)==-1){break g}e=c;d=v[1477];a=d-1|0;if(a&b){e=(c-b|0)+(a+b&0-d)|0}if(e>>>0<=h>>>0|e>>>0>2147483646){break g}d=v[1468];if(d){a=v[1466];f=a+e|0;if(d>>>0<f>>>0|a>>>0>=f>>>0){break g}}a=wa(e);if((b|0)!=(a|0)){break v}break e}e=f&g-i;if(e>>>0>2147483646){break g}b=wa(e);if((b|0)==(v[a>>2]+v[a+4>>2]|0)){break h}a=b}if(!((a|0)==-1|h+48>>>0<=e>>>0)){b=v[1478];b=b+(j-e|0)&0-b;if(b>>>0>2147483646){b=a;break e}if((wa(b)|0)!=-1){e=b+e|0;b=a;break e}wa(0-e|0);break g}b=a;if((a|0)!=-1){break e}break g}f=0;break b}b=0;break c}if((b|0)!=-1){break e}}v[1469]=v[1469]|4}if(c>>>0>2147483646){break d}b=wa(c);a=wa(0);if((b|0)==-1|(a|0)==-1|a>>>0<=b>>>0){break d}e=a-b|0;if(e>>>0<=h+40>>>0){break d}}a=v[1466]+e|0;v[1466]=a;if(a>>>0>y[1467]){v[1467]=a}x:{y:{z:{g=v[1364];if(g){a=5880;while(1){d=v[a>>2];c=v[a+4>>2];if((d+c|0)==(b|0)){break z}a=v[a+8>>2];if(a){continue}break}break y}a=v[1362];if(!(a>>>0<=b>>>0?a:0)){v[1362]=b}a=0;v[1471]=e;v[1470]=b;v[1366]=-1;v[1367]=v[1476];v[1473]=0;while(1){d=a<<3;c=d+5472|0;v[d+5480>>2]=c;v[d+5484>>2]=c;a=a+1|0;if((a|0)!=32){continue}break}d=e-40|0;a=b+8&7?-8-b&7:0;c=d-a|0;v[1361]=c;a=a+b|0;v[1364]=a;v[a+4>>2]=c|1;v[(b+d|0)+4>>2]=40;v[1365]=v[1480];break x}if(w[a+12|0]&8|d>>>0>g>>>0|b>>>0<=g>>>0){break y}v[a+4>>2]=c+e;a=g+8&7?-8-g&7:0;c=a+g|0;v[1364]=c;b=v[1361]+e|0;a=b-a|0;v[1361]=a;v[c+4>>2]=a|1;v[(b+g|0)+4>>2]=40;v[1365]=v[1480];break x}if(y[1362]>b>>>0){v[1362]=b}c=b+e|0;a=5880;A:{B:{C:{D:{E:{F:{while(1){if((c|0)!=v[a>>2]){a=v[a+8>>2];if(a){continue}break F}break}if(!(w[a+12|0]&8)){break E}}a=5880;while(1){c=v[a>>2];if(c>>>0<=g>>>0){f=c+v[a+4>>2]|0;if(f>>>0>g>>>0){break D}}a=v[a+8>>2];continue}}v[a>>2]=b;v[a+4>>2]=v[a+4>>2]+e;j=(b+8&7?-8-b&7:0)+b|0;v[j+4>>2]=h|3;e=c+(c+8&7?-8-c&7:0)|0;i=h+j|0;c=e-i|0;if((e|0)==(g|0)){v[1364]=i;a=v[1361]+c|0;v[1361]=a;v[i+4>>2]=a|1;break B}if(v[1363]==(e|0)){v[1363]=i;a=v[1360]+c|0;v[1360]=a;v[i+4>>2]=a|1;v[a+i>>2]=a;break B}a=v[e+4>>2];if((a&3)==1){g=a&-8;G:{if(a>>>0<=255){d=v[e+8>>2];a=a>>>3|0;b=v[e+12>>2];if((b|0)==(d|0)){v[1358]=v[1358]&Ub(a);break G}v[d+12>>2]=b;v[b+8>>2]=d;break G}h=v[e+24>>2];b=v[e+12>>2];H:{if((e|0)!=(b|0)){a=v[e+8>>2];v[a+12>>2]=b;v[b+8>>2]=a;break H}I:{a=e+20|0;d=v[a>>2];if(d){break I}a=e+16|0;d=v[a>>2];if(d){break I}b=0;break H}while(1){f=a;b=d;a=b+20|0;d=v[a>>2];if(d){continue}a=b+16|0;d=v[b+16>>2];if(d){continue}break}v[f>>2]=0}if(!h){break G}d=v[e+28>>2];a=(d<<2)+5736|0;J:{if(v[a>>2]==(e|0)){v[a>>2]=b;if(b){break J}v[1359]=v[1359]&Ub(d);break G}v[h+(v[h+16>>2]==(e|0)?16:20)>>2]=b;if(!b){break G}}v[b+24>>2]=h;a=v[e+16>>2];if(a){v[b+16>>2]=a;v[a+24>>2]=b}a=v[e+20>>2];if(!a){break G}v[b+20>>2]=a;v[a+24>>2]=b}e=e+g|0;c=c+g|0}v[e+4>>2]=v[e+4>>2]&-2;v[i+4>>2]=c|1;v[c+i>>2]=c;if(c>>>0<=255){a=c>>>3|0;b=(a<<3)+5472|0;c=v[1358];a=1<<a;K:{if(!(c&a)){v[1358]=a|c;a=b;break K}a=v[b+8>>2]}v[b+8>>2]=i;v[a+12>>2]=i;v[i+12>>2]=b;v[i+8>>2]=a;break B}a=31;if(c>>>0<=16777215){a=c>>>8|0;f=a+1048320>>>16&8;a=a<<f;d=a+520192>>>16&4;a=a<<d;b=a+245760>>>16&2;a=(a<<b>>>15|0)-(b|(d|f))|0;a=(a<<1|c>>>a+21&1)+28|0}v[i+28>>2]=a;v[i+16>>2]=0;v[i+20>>2]=0;f=(a<<2)+5736|0;d=v[1359];b=1<<a;L:{if(!(d&b)){v[1359]=b|d;v[f>>2]=i;v[i+24>>2]=f;break L}a=c<<((a|0)==31?0:25-(a>>>1|0)|0);b=v[f>>2];while(1){d=b;if((v[b+4>>2]&-8)==(c|0)){break C}b=a>>>29|0;a=a<<1;f=d+(b&4)|0;b=v[f+16>>2];if(b){continue}break}v[f+16>>2]=i;v[i+24>>2]=d}v[i+12>>2]=i;v[i+8>>2]=i;break B}d=e-40|0;a=b+8&7?-8-b&7:0;c=d-a|0;v[1361]=c;a=a+b|0;v[1364]=a;v[a+4>>2]=c|1;v[(b+d|0)+4>>2]=40;v[1365]=v[1480];a=(f+(f-39&7?39-f&7:0)|0)-47|0;c=a>>>0<g+16>>>0?g:a;v[c+4>>2]=27;a=v[1473];v[c+16>>2]=v[1472];v[c+20>>2]=a;a=v[1471];v[c+8>>2]=v[1470];v[c+12>>2]=a;v[1472]=c+8;v[1471]=e;v[1470]=b;v[1473]=0;a=c+24|0;while(1){v[a+4>>2]=7;b=a+8|0;a=a+4|0;if(b>>>0<f>>>0){continue}break}if((c|0)==(g|0)){break x}v[c+4>>2]=v[c+4>>2]&-2;f=c-g|0;v[g+4>>2]=f|1;v[c>>2]=f;if(f>>>0<=255){a=f>>>3|0;b=(a<<3)+5472|0;c=v[1358];a=1<<a;M:{if(!(c&a)){v[1358]=a|c;a=b;break M}a=v[b+8>>2]}v[b+8>>2]=g;v[a+12>>2]=g;v[g+12>>2]=b;v[g+8>>2]=a;break x}a=31;v[g+16>>2]=0;v[g+20>>2]=0;if(f>>>0<=16777215){a=f>>>8|0;d=a+1048320>>>16&8;a=a<<d;c=a+520192>>>16&4;a=a<<c;b=a+245760>>>16&2;a=(a<<b>>>15|0)-(b|(c|d))|0;a=(a<<1|f>>>a+21&1)+28|0}v[g+28>>2]=a;d=(a<<2)+5736|0;c=v[1359];b=1<<a;N:{if(!(c&b)){v[1359]=b|c;v[d>>2]=g;v[g+24>>2]=d;break N}a=f<<((a|0)==31?0:25-(a>>>1|0)|0);b=v[d>>2];while(1){c=b;if((f|0)==(v[b+4>>2]&-8)){break A}b=a>>>29|0;a=a<<1;d=c+(b&4)|0;b=v[d+16>>2];if(b){continue}break}v[d+16>>2]=g;v[g+24>>2]=c}v[g+12>>2]=g;v[g+8>>2]=g;break x}a=v[d+8>>2];v[a+12>>2]=i;v[d+8>>2]=i;v[i+24>>2]=0;v[i+12>>2]=d;v[i+8>>2]=a}a=j+8|0;break a}a=v[c+8>>2];v[a+12>>2]=g;v[c+8>>2]=g;v[g+24>>2]=0;v[g+12>>2]=c;v[g+8>>2]=a}a=v[1361];if(a>>>0<=h>>>0){break d}b=a-h|0;v[1361]=b;c=v[1364];a=c+h|0;v[1364]=a;v[a+4>>2]=b|1;v[c+4>>2]=h|3;a=c+8|0;break a}v[1312]=48;a=0;break a}O:{if(!e){break O}c=v[f+28>>2];a=(c<<2)+5736|0;P:{if(v[a>>2]==(f|0)){v[a>>2]=b;if(b){break P}j=Ub(c)&j;v[1359]=j;break O}v[e+(v[e+16>>2]==(f|0)?16:20)>>2]=b;if(!b){break O}}v[b+24>>2]=e;a=v[f+16>>2];if(a){v[b+16>>2]=a;v[a+24>>2]=b}a=v[f+20>>2];if(!a){break O}v[b+20>>2]=a;v[a+24>>2]=b}Q:{if(d>>>0<=15){a=d+h|0;v[f+4>>2]=a|3;a=a+f|0;v[a+4>>2]=v[a+4>>2]|1;break Q}v[f+4>>2]=h|3;e=f+h|0;v[e+4>>2]=d|1;v[d+e>>2]=d;if(d>>>0<=255){a=d>>>3|0;b=(a<<3)+5472|0;c=v[1358];a=1<<a;R:{if(!(c&a)){v[1358]=a|c;a=b;break R}a=v[b+8>>2]}v[b+8>>2]=e;v[a+12>>2]=e;v[e+12>>2]=b;v[e+8>>2]=a;break Q}a=31;if(d>>>0<=16777215){a=d>>>8|0;g=a+1048320>>>16&8;a=a<<g;c=a+520192>>>16&4;a=a<<c;b=a+245760>>>16&2;a=(a<<b>>>15|0)-(b|(c|g))|0;a=(a<<1|d>>>a+21&1)+28|0}v[e+28>>2]=a;v[e+16>>2]=0;v[e+20>>2]=0;b=(a<<2)+5736|0;S:{c=1<<a;T:{if(!(c&j)){v[1359]=c|j;v[b>>2]=e;break T}a=d<<((a|0)==31?0:25-(a>>>1|0)|0);h=v[b>>2];while(1){b=h;if((v[b+4>>2]&-8)==(d|0)){break S}c=a>>>29|0;a=a<<1;c=(c&4)+b|0;h=v[c+16>>2];if(h){continue}break}v[c+16>>2]=e}v[e+24>>2]=b;v[e+12>>2]=e;v[e+8>>2]=e;break Q}a=v[b+8>>2];v[a+12>>2]=e;v[b+8>>2]=e;v[e+24>>2]=0;v[e+12>>2]=b;v[e+8>>2]=a}a=f+8|0;break a}U:{if(!i){break U}c=v[b+28>>2];a=(c<<2)+5736|0;V:{if(v[a>>2]==(b|0)){v[a>>2]=f;if(f){break V}v[1359]=Ub(c)&j;break U}v[i+(v[i+16>>2]==(b|0)?16:20)>>2]=f;if(!f){break U}}v[f+24>>2]=i;a=v[b+16>>2];if(a){v[f+16>>2]=a;v[a+24>>2]=f}a=v[b+20>>2];if(!a){break U}v[f+20>>2]=a;v[a+24>>2]=f}W:{if(d>>>0<=15){a=d+h|0;v[b+4>>2]=a|3;a=a+b|0;v[a+4>>2]=v[a+4>>2]|1;break W}v[b+4>>2]=h|3;f=b+h|0;v[f+4>>2]=d|1;v[d+f>>2]=d;if(k){a=k>>>3|0;c=(a<<3)+5472|0;g=v[1363];a=1<<a;X:{if(!(a&e)){v[1358]=a|e;a=c;break X}a=v[c+8>>2]}v[c+8>>2]=g;v[a+12>>2]=g;v[g+12>>2]=c;v[g+8>>2]=a}v[1363]=f;v[1360]=d}a=b+8|0}da=l+16|0;return a|0}function Db(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,x=0,y=0,z=0;i=da-16|0;da=i;qa(5164,b);e=v[1291];a:{if((v[1292]-e|0)!=(b|0)){xa(5140,1024,22);b=-1;break a}oa(e,a,b);b:{if(t[c+11|0]>=0){v[i+8>>2]=v[c+8>>2];a=v[c+4>>2];v[i>>2]=v[c>>2];v[i+4>>2]=a;break b}Ga(i,v[c>>2],v[c+4>>2])}d=da-48|0;da=d;c:{if(t[i+11|0]>=0){v[d+24>>2]=v[i+8>>2];a=v[i+4>>2];v[d+16>>2]=v[i>>2];v[d+20>>2]=a;break c}Ga(d+16|0,v[i>>2],v[i+4>>2])}g=da-16|0;da=g;a=d+16|0;c=w[a+11|0];b=c<<24>>24<0;h=b?v[a>>2]:a;e=b?v[a+4>>2]:c;b=h+e|0;a=b;d:{if((e|0)<4){break d}a=e;c=h;while(1){a=ua(c,46,a-3|0);if(a){if((w[a|0]|w[a+1|0]<<8|(w[a+2|0]<<16|w[a+3|0]<<24))==1668116782){break d}c=a+1|0;a=b-c|0;if((a|0)>3){continue}}break}a=b}e:{f:{g:{h:{if(e>>>0<=((a|0)==(b|0)?-1:a-h|0)>>>0){a=b;i:{if((e|0)<2){break i}a=e;c=h;while(1){a=ua(c,46,a-1|0);if(a){if((w[a|0]|w[a+1|0]<<8)==27950){break i}c=a+1|0;a=b-c|0;if((a|0)>1){continue}}break}a=b}if(e>>>0<=((a|0)==(b|0)?-1:a-h|0)>>>0){break h}}t[g|0]=0;t[g+11|0]=0;Fa(g,t[v[1292]-4|0]);Fa(g,t[v[1292]-3|0]);Fa(g,t[v[1292]-2|0]);Fa(g,t[v[1292]-1|0]);a=w[g+11|0];c=a<<24>>24;j:{b=v[g+4>>2];if((((c|0)<0?b:a)|0)==4){if(!sa(g,1319,4)){break g}a=w[g+11|0];c=a;b=v[g+4>>2]}if(((c<<24>>24<0?b:a)|0)!=4){break j}if(sa(g,1314,4)){break j}t[d+36|0]=0;v[d+32>>2]=1734431827;t[d+43|0]=4;break f}a=v[v[1292]-4>>2];v[1301]=a;if(a>>>0<=1023){t[d+43|0]=7;a=w[2109]|w[2110]<<8|(w[2111]<<16|w[2112]<<24);t[d+32|0]=a;t[d+33|0]=a>>>8;t[d+34|0]=a>>>16;t[d+35|0]=a>>>24;a=w[2112]|w[2113]<<8|(w[2114]<<16|w[2115]<<24);t[d+35|0]=a;t[d+36|0]=a>>>8;t[d+37|0]=a>>>16;t[d+38|0]=a>>>24;t[d+39|0]=0;break f}v[1301]=0;t[d+43|0]=6;a=w[1479]|w[1480]<<8|(w[1481]<<16|w[1482]<<24);t[d+32|0]=a;t[d+33|0]=a>>>8;t[d+34|0]=a>>>16;t[d+35|0]=a>>>24;a=w[1483]|w[1484]<<8;t[d+36|0]=a;t[d+37|0]=a>>>8;t[d+38|0]=0;break f}a=b;k:{if((e|0)<6){break k}a=e;c=h;while(1){a=ua(c,46,a-5|0);if(a){if(!Qa(a,1434,6)){break k}c=a+1|0;a=b-c|0;if((a|0)>5){continue}}break}a=b}if(e>>>0>((a|0)==(b|0)?-1:a-h|0)>>>0){t[d+43|0]=5;a=w[1435]|w[1436]<<8|(w[1437]<<16|w[1438]<<24);t[d+32|0]=a;t[d+33|0]=a>>>8;t[d+34|0]=a>>>16;t[d+35|0]=a>>>24;t[d+36|0]=w[1439];t[d+37|0]=0;break e}l:{m:{if((e|0)<3){break m}a=e;c=h;while(1){a=ua(c,46,a-2|0);if(!a){break m}if(!Qa(a,1202,3)){break l}c=a+1|0;a=b-c|0;if((a|0)>2){continue}break}}a=b}if(e>>>0>((a|0)==(b|0)?-1:a-h|0)>>>0){t[d+43|0]=3;a=w[1154]|w[1155]<<8;t[d+32|0]=a;t[d+33|0]=a>>>8;t[d+34|0]=w[1156];t[d+35|0]=0;break e}t[d+43|0]=7;a=w[1461]|w[1462]<<8|(w[1463]<<16|w[1464]<<24);t[d+32|0]=a;t[d+33|0]=a>>>8;t[d+34|0]=a>>>16;t[d+35|0]=a>>>24;a=w[1464]|w[1465]<<8|(w[1466]<<16|w[1467]<<24);t[d+35|0]=a;t[d+36|0]=a>>>8;t[d+37|0]=a>>>16;t[d+38|0]=a>>>24;t[d+39|0]=0;break e}a=v[v[1292]-8>>2];v[1301]=a<<8&16711680|a<<24|(a>>>8&65280|a>>>24);t[d+36|0]=0;v[d+32>>2]=1734431825;t[d+43|0]=4}if(t[g+11|0]>=0){break e}ma(v[g>>2])}da=g+16|0;if(t[5199]<0){ma(v[1297])}a=v[d+36>>2];v[1297]=v[d+32>>2];v[1298]=a;v[1299]=v[d+40>>2];t[d+43|0]=0;t[d+32|0]=0;if(t[d+27|0]<0){ma(v[d+16>>2])}b=w[5199];c=b<<24>>24;e=v[1298];n:{if((((c|0)<0?e:b)|0)==4){if(!sa(5188,1319,4)){j=1;p=8;break n}e=v[1298];b=w[5199];c=b}p=0;if(((c<<24>>24<0?e:b)|0)!=7){break n}p=!sa(5188,2109,7)<<2}a=v[1301];o:{if(a){qa(5176,a);p:{q:{r:{b=v[1294];a=v[1295]-b|0;if((a|0)==v[1301]){s:{if(!a){break s}t[b|0]=w[v[1292]-(a+p|0)|0];c=v[1301];if(c>>>0<2){break s}b=1;while(1){t[v[1294]+b|0]=w[v[1292]+b-(c+p)|0];b=b+1|0;c=v[1301];if(b>>>0<c>>>0){continue}break}}t:{if(!j){break t}u:{if(t[5199]<0){v[1298]=7;a=v[1297];break u}t[5199]=7;a=5188}b=w[2112]|w[2113]<<8|(w[2114]<<16|w[2115]<<24);t[a+3|0]=b;t[a+4|0]=b>>>8;t[a+5|0]=b>>>16;t[a+6|0]=b>>>24;b=w[2109]|w[2110]<<8|(w[2111]<<16|w[2112]<<24);t[a|0]=b;t[a+1|0]=b>>>8;t[a+2|0]=b>>>16;t[a+3|0]=b>>>24;t[a+7|0]=0;j=0;f=da-32|0;da=f;t[f+16|0]=0;t[f+27|0]=0;a=v[1294];Ya(f+16|0,a,v[1295]-a|0);b=w[f+27|0];e=b<<24>>24;a=(e|0)<0;c=a?v[f+20>>2]:b;v:{if((c|0)<=0){break v}b=a?v[f+16>>2]:f+16|0;h=b+c|0;a=b;while(1){a=ua(a,44,c);if(!a){break v}if(w[a|0]!=44){a=a+1|0;c=h-a|0;if((c|0)>0){continue}break v}break}if((a|0)==(h|0)){break v}a=a-b|0;if((a|0)==-1){break v}qa(5176,a);Pa(f,f+16|0,a+1|0,-1);if(t[f+27|0]<0){ma(v[f+16>>2])}v[f+24>>2]=v[f+8>>2];a=v[f+4>>2];b=v[f>>2];v[f+16>>2]=b;v[f+20>>2]=a;e=t[f+27|0];a=(e|0)<0;c=a?v[f+20>>2]:e&255;if((c|0)<=0){break v}b=a?b:f+16|0;h=b+c|0;a=b;while(1){a=ua(a,44,c);if(!a){break v}if(w[a|0]!=44){a=a+1|0;c=h-a|0;if((c|0)>0){continue}break v}break}if((a|0)==(h|0)){break v}a=a-b|0;if((a|0)==-1){break v}Pa(f,f+16|0,0,a);if(t[5223]<0){ma(v[1303])}b=v[f+4>>2];v[1303]=v[f>>2];v[1304]=b;v[1305]=v[f+8>>2];Pa(f,f+16|0,a+1|0,-1);if(t[f+27|0]<0){ma(v[f+16>>2])}v[f+24>>2]=v[f+8>>2];a=v[f+4>>2];b=v[f>>2];v[f+16>>2]=b;v[f+20>>2]=a;e=t[f+27|0];a=(e|0)<0;c=a?v[f+20>>2]:e&255;w:{if((c|0)<=0){break w}b=a?b:f+16|0;h=b+c|0;a=b;while(1){a=ua(a,44,c);if(!a){break w}if(w[a|0]!=44){a=a+1|0;c=h-a|0;if((c|0)>0){continue}break w}break}if((a|0)==(h|0)){break w}if((a-b|0)!=-1){break v}}n=da-16|0;da=n;a=da-16|0;da=a;Za(n,1227,Ja(1227));da=a+16|0;j=da-16|0;da=j;v[j+12>>2]=0;a=f+16|0;if(w[a+11|0]>>>7|0){a=v[a>>2]}v[j+8>>2]=v[1312];v[1312]=0;h=0;c=0;x=j+12|0;s=-2147483648;m=da-16|0;da=m;b=w[a|0];x:{if(!b){e=a;break x}e=a;y:{while(1){b=b<<24>>24;if(!((b|0)==32|b-9>>>0<5)){break y}b=w[e+1|0];e=e+1|0;if(b){continue}break}break x}z:{b=w[e|0];switch(b-43|0){case 0:case 2:break z;default:break x}}u=(b|0)==45?-1:0;e=e+1|0}while(1){A:{b=-48;g=t[e|0];B:{if((g-48&255)>>>0<10){break B}b=-87;if((g-97&255)>>>0<26){break B}b=-55;if((g-65&255)>>>0>25){break A}}g=b+g|0;if((g|0)>=10){break A}k=Sb(h,0,0,0);b=ga;r=Sb(o,0,10,0);l=ga;q=Sb(h,0,10,0)+l|0;y=k;k=ga;l=l>>>0>q>>>0?k+1|0:k;k=y+l|0;v[m+8>>2]=k;v[m+12>>2]=k>>>0<l>>>0?b+1|0:b;v[m>>2]=r;v[m+4>>2]=q;b=1;C:{if(v[m+8>>2]|v[m+12>>2]){break C}q=Sb(o,h,10,0);l=ga;k=g>>31;r=k^-1;if((l|0)==(r|0)&q>>>0>(g^-1)>>>0|l>>>0>r>>>0){break C}b=k+l|0;o=g+q|0;h=o>>>0<g>>>0?b+1|0:b;z=1;b=c}e=e+1|0;c=b;continue}break}if(x){v[x>>2]=z?e:a}D:{E:{F:{if(c){v[1312]=68;o=-2147483648;h=0;break F}if(!h&o>>>0<2147483648){break E}}if(!u){v[1312]=68;s=2147483647;break D}if(!h&o>>>0<=2147483648){break E}v[1312]=68;break D}s=(o^u)-u|0}da=m+16|0;b=da-16|0;da=b;v[b+12>>2]=v[1312];v[1312]=v[j+8>>2];v[j+8>>2]=v[b+12>>2];da=b+16|0;G:{H:{if(v[j+8>>2]!=68){if((a|0)==v[j+12>>2]){break H}da=j+16|0;break G}a=da-16|0;da=a;Xa(a,n,1441);Wa(a);L()}a=da-16|0;da=a;Xa(a,n,1186);Wa(a);L()}if(w[n+11|0]>>>7|0){ma(v[n>>2])}da=n+16|0;v[1302]=s;j=1;e=w[f+27|0]}if(e<<24>>24<0){ma(v[f+16>>2])}da=f+32|0;if(j){break t}xa(5224,1075,25);b=-1;break o}v[d+40>>2]=0;v[d+32>>2]=0;v[d+36>>2]=0;v[d+8>>2]=0;v[d>>2]=0;v[d+4>>2]=0;c=v[1294];a=v[1295]-c|0;I:{if(!a){if(!kb(d,d+32|0)){break I}break q}if((a|0)<0){break r}b=na(a);v[d>>2]=b;e=a+b|0;v[d+8>>2]=e;a=oa(b,c,a);v[d+4>>2]=e;b=kb(d,d+32|0);v[d+4>>2]=a;ma(a);if(b){break q}}xa(5224,1047,27);c=0;break p}xa(5224,1392,34);b=-1;break o}pa();L()}c=1;if((d|0)==5144){break p}va(5176,v[d+32>>2],v[d+36>>2])}a=v[d+32>>2];if(a){v[d+36>>2]=a;ma(a)}b=-1;if(!c){break o}}J:{a=w[5199];if(((a<<24>>24<0?v[1298]:a)|0)!=7){break J}b=-1;if(sa(5188,1461,7)){break J}xa(5224,2177,60);break o}b=v[1301]+p|0}da=d+48|0;if(t[i+11|0]<0){ma(v[i>>2])}K:{a=w[5235];if(!(a<<24>>24<0?v[1307]:a)){if(!sa(5224,2241,0)){break K}}b=-1;c=w[5235];a=c<<24>>24;if(t[5151]>=0){if((a|0)>=0){a=v[1307];v[1285]=v[1306];v[1286]=a;v[1287]=v[1308];break a}Na(5140,v[1306],v[1307]);break a}a=(a|0)<0;Oa(5140,a?v[1306]:5224,a?v[1307]:c);break a}c=w[5223];a=c<<24>>24;if(t[5163]>=0){if((a|0)>=0){a=v[1304];v[1288]=v[1303];v[1289]=a;v[1290]=v[1305];break a}Na(5152,v[1303],v[1304]);break a}a=(a|0)<0;Oa(5152,a?v[1303]:5212,a?v[1304]:c)}da=i+16|0;return b|0}function vb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=da-16|0;da=m;qa(5164,b);e=v[1291];a:{if((v[1292]-e|0)!=(b|0)){xa(5140,1024,22);break a}oa(e,a,b);v[1300]=c;b:{c:{d:{c=v[1298];b=t[5199];d=b&255;if((((b|0)<0?c:d)|0)==7){if(!sa(5188,2109,7)){break d}c=v[1298];d=w[5199];b=d}e:{f:{if(((b<<24>>24<0?c:d)|0)==6){b=0;if(!sa(5188,1479,6)){break f}c=v[1298];d=w[5199];b=d}if(((b<<24>>24<0?c:d)|0)==5){break e}break c}c=v[1291];if((c|0)==v[1292]){break b}e=v[1300];while(1){c=b+c|0;d=c;g=w[c|0];c=b+e|0;c=c>>>0>32767?(c>>>0)%32767|0:c;t[d|0]=g^w[(B(c,c)+27&255)+2538|0];b=b+1|0;c=v[1291];if(b>>>0<v[1292]-c>>>0){continue}break}break b}if(sa(5188,1435,5)){c=v[1298];d=w[5199];b=d;break c}c=v[1291];if((c|0)==v[1292]){break b}b=0;while(1){c=b+c|0;t[c|0]=w[c|0]^244;e=v[1291]+b|0;g=w[e|0];g:{if(g>>>0<=63){d=g<<2;break g}d=g<<2|1;if(g<<24>>24>=0){break g}c=g<<2;d=c|2;if(g>>>0<=191){break g}d=c|3}t[e|0]=d;b=b+1|0;c=v[1291];if(b>>>0<v[1292]-c>>>0){continue}break}break b}b=0;o=da-48|0;da=o;e=v[1295];c=v[1294];h:{if(e-c>>>0>=301){b=o+8|0;v[b+8>>2]=0;v[b+12>>2]=0;v[b>>2]=128;v[b+4>>2]=5120;v[b+32>>2]=1;v[b+16>>2]=0;v[b+20>>2]=0;v[b+24>>2]=0;v[b+28>>2]=0;d=v[1295];e=v[1294];i:{if((d|0)==(e|0)){break i}c=b+20|0;if((c|0)!=5176){va(c,e,d)}qa(b+8|0,v[b+24>>2]-v[b+20>>2]|0);j:{if(v[b+24>>2]==v[b+20>>2]){break j}c=0;while(1){t[v[b+8>>2]+c|0]=c;c=c+1|0;h=v[b+20>>2];k=v[b+24>>2]-h|0;if(c>>>0<k>>>0){continue}break}if(!k){break j}c=0;d=0;while(1){i=v[b+8>>2];g=i+c|0;e=w[g|0];d=(w[((c>>>0)%(k>>>0)|0)+h|0]+(e+d|0)>>>0)%(k>>>0)|0;i=d+i|0;t[g|0]=w[i|0];t[i|0]=e;c=c+1|0;h=v[b+20>>2];k=v[b+24>>2]-h|0;if(c>>>0<k>>>0){continue}break}d=1;v[b+32>>2]=1;if(!k){break i}c=0;while(1){g=w[c+h|0];if(g){e=d;d=B(d,g);if(e>>>0>=d>>>0){break i}v[b+32>>2]=d}c=c+1|0;if((k|0)!=(c|0)){continue}break}break i}v[b+32>>2]=1}n=v[1300];d=0;h=0;f=da-16|0;da=f;e=v[1291];c=v[1292];v[f+8>>2]=0;v[f>>2]=0;v[f+4>>2]=0;j=c-e|0;e=b;b=v[b>>2];k:{if(b>>>0>n>>>0){b=b-n|0;h=b>>>0>j>>>0?j:b;qa(f,h);l:{if(!h){break l}c=0;if(h-1>>>0>=3){i=h&-4;b=0;while(1){t[v[f>>2]+d|0]=w[v[1291]+d|0];g=d|1;t[g+v[f>>2]|0]=w[g+v[1291]|0];g=d|2;t[g+v[f>>2]|0]=w[g+v[1291]|0];g=d|3;t[g+v[f>>2]|0]=w[g+v[1291]|0];d=d+4|0;b=b+4|0;if((i|0)!=(b|0)){continue}break}}b=h&3;if(!b){break l}while(1){t[v[f>>2]+d|0]=w[v[1291]+d|0];d=d+1|0;c=c+1|0;if((b|0)!=(c|0)){continue}break}}b=v[f+4>>2];c=v[f>>2];if((b|0)!=(c|0)){d=0;b=c;while(1){b=b+d|0;g=b;c=w[b|0];b=d+n|0;k=b+1|0;i=b;l=v[e+20>>2];b=v[e+24>>2]-l|0;p=+y[e+32>>2]/+(B(k,w[((i>>>0)%(b>>>0)|0)+l|0])|0)*100;m:{if(p<0x10000000000000000&p>=0){k=~~p>>>0;i=D(p)>=1?~~(p>0?F(H(p*2.3283064365386963e-10),4294967295):I((p-+(~~p>>>0>>>0))*2.3283064365386963e-10))>>>0:0;break m}k=0;i=0}t[g|0]=w[Tb(k,i,b)+l|0]^c;d=d+1|0;b=v[f>>2];if(d>>>0<v[f+4>>2]-b>>>0){continue}break}}n:{if(!h){break n}t[v[1291]]=w[b|0];d=1;if((h|0)==1){break n}b=h-1|0;i=b&3;if(h-2>>>0>=3){g=b&-4;c=0;while(1){t[v[1291]+d|0]=w[v[f>>2]+d|0];b=d+1|0;t[b+v[1291]|0]=w[b+v[f>>2]|0];b=d+2|0;t[b+v[1291]|0]=w[b+v[f>>2]|0];b=d+3|0;t[b+v[1291]|0]=w[b+v[f>>2]|0];d=d+4|0;c=c+4|0;if((g|0)!=(c|0)){continue}break}}if(!i){break n}c=0;while(1){t[v[1291]+d|0]=w[v[f>>2]+d|0];d=d+1|0;c=c+1|0;if((i|0)!=(c|0)){continue}break}}j=j-h|0;if(!j){break k}n=h+n|0}c=v[e+4>>2];b=(n>>>0)%(c>>>0)|0;if(b){b=c-b|0;l=b>>>0>j>>>0?j:b;qa(f,l);o:{p:{if(l){i=l&1;k=l-1|0;if(!k){d=0;break p}g=l&-2;d=0;c=0;while(1){t[v[f>>2]+d|0]=w[v[1291]+(d+h|0)|0];b=d|1;t[b+v[f>>2]|0]=w[v[1291]+(b+h|0)|0];d=d+2|0;c=c+2|0;if((g|0)!=(c|0)){continue}break}break p}Ia(e,f,n);break o}if(i){t[v[f>>2]+d|0]=w[v[1291]+(d+h|0)|0]}Ia(e,f,n);if(!l){break o}i=l&1;q:{if(!k){d=0;break q}g=l&-2;d=0;c=0;while(1){t[v[1291]+(d+h|0)|0]=w[v[f>>2]+d|0];b=d|1;t[v[1291]+(b+h|0)|0]=w[b+v[f>>2]|0];d=d+2|0;c=c+2|0;if((g|0)!=(c|0)){continue}break}}if(!i){break o}t[v[1291]+(d+h|0)|0]=w[v[f>>2]+d|0]}j=j-l|0;if(!j){break k}h=h+l|0;n=n+l|0;c=v[e+4>>2]}while(1){r:{s:{if(c>>>0<j>>>0){qa(f,c);d=0;if(v[e+4>>2]){break s}break r}if(!j){break k}qa(f,j);d=0;if((j|0)!=1){g=j&-2;c=0;while(1){t[v[f>>2]+d|0]=w[v[1291]+(d+h|0)|0];b=d|1;t[b+v[f>>2]|0]=w[v[1291]+(b+h|0)|0];d=d+2|0;c=c+2|0;if((g|0)!=(c|0)){continue}break}}if(j&1){t[v[f>>2]+d|0]=w[v[1291]+(d+h|0)|0]}Ia(e,f,n);b=j>>>0>1?j:1;i=b&1;d=0;if(j>>>0>=2){g=b&-2;b=0;while(1){t[v[1291]+(d+h|0)|0]=w[v[f>>2]+d|0];c=d|1;t[v[1291]+(c+h|0)|0]=w[c+v[f>>2]|0];d=d+2|0;b=b+2|0;if((g|0)!=(b|0)){continue}break}}if(!i){break k}t[v[1291]+(d+h|0)|0]=w[v[f>>2]+d|0];break k}while(1){t[v[f>>2]+d|0]=w[v[1291]+(d+h|0)|0];d=d+1|0;if(d>>>0<y[e+4>>2]){continue}break}}Ia(e,f,n);c=0;d=0;if(v[e+4>>2]){while(1){t[v[1291]+(d+h|0)|0]=w[v[f>>2]+d|0];c=v[e+4>>2];d=d+1|0;if(c>>>0>d>>>0){continue}break}}n=c+n|0;h=c+h|0;j=j-c|0;if(j){continue}break}}b=v[f>>2];if(b){v[f+4>>2]=b;ma(b)}da=f+16|0;b=v[e+20>>2];if(b){v[e+24>>2]=b;ma(b)}b=v[e+8>>2];if(!b){break h}v[e+12>>2]=b;ma(b);break h}v[o+16>>2]=0;v[o+8>>2]=0;v[o+12>>2]=0;if(!((c|0)==(e|0)|(o|0)==5168)){va(o+8|0,c,e)}c=v[1291];if((c|0)!=v[1292]){d=v[1300];while(1){e=b+d|0;e=e>>>0>32767?(e>>>0)%32767|0:e;g=B(e,e)+71214|0;e=v[o+8>>2];g=(g>>>0)%(v[o+12>>2]-e>>>0)|0;c=b+c|0;i=c;f=w[c|0];e=w[e+g|0];c=g+4&7;t[i|0]=f^(e<<c|e>>>c);b=b+1|0;c=v[1291];if(b>>>0<v[1292]-c>>>0){continue}break}}b=v[o+8>>2];if(!b){break h}v[o+12>>2]=b;ma(b)}da=o+48|0;break b}t:{if(((b<<24>>24<0?c:d)|0)!=3){break t}if(sa(5188,1154,3)){break t}c=v[1300];if(c>>>0>7){break b}b=v[1291];if((b|0)==v[1292]){break b}t[b|0]=w[v[1300]+2530|0];if((c|0)==7){break b}b=v[1291];if(v[1292]-b>>>0<2){break b}t[b+1|0]=w[v[1300]+2530|0];if((c|0)==6){break b}b=v[1291];if(v[1292]-b>>>0<3){break b}t[b+2|0]=w[v[1300]+2530|0];if((c|0)==5){break b}b=v[1291];if(v[1292]-b>>>0<4){break b}t[b+3|0]=w[v[1300]+2530|0];if((c|0)==4){break b}b=v[1291];if(v[1292]-b>>>0<5){break b}t[b+4|0]=w[v[1300]+2530|0];if((c|0)==3){break b}b=v[1291];if(v[1292]-b>>>0<6){break b}t[b+5|0]=w[v[1300]+2530|0];if((c|0)==2){break b}b=v[1291];if(v[1292]-b>>>0<7){break b}t[b+6|0]=w[v[1300]+2530|0];if((c|0)==1){break b}b=v[1291];if(v[1292]-b>>>0<8){break b}t[b+7|0]=w[v[1300]+2530|0];break b}xa(5224,2117,52)}v[m+8>>2]=0;v[m>>2]=0;v[m+4>>2]=0;u:{v:{c=v[1291];d=v[1292]-c|0;if(d){if((d|0)<0){break v}e=na(d);v[m>>2]=e;b=d+e|0;v[m+8>>2]=b;oa(e,c,d);v[m+4>>2]=b}break u}pa();L()}w:{x:{b=w[5235];if(!(b<<24>>24<0?v[1307]:b)){if(!sa(5224,2241,0)){break x}}b=w[5235];a=b<<24>>24;if(t[5151]>=0){if((a|0)>=0){a=v[1307];v[1285]=v[1306];v[1286]=a;v[1287]=v[1308];break w}Na(5140,v[1306],v[1307]);break w}a=(a|0)<0;Oa(5140,a?v[1306]:5224,a?v[1307]:b);break w}b=a;a=v[m>>2];oa(b,a,v[m+4>>2]-a|0);q=v[m+4>>2]-v[m>>2]|0}a=v[m>>2];if(!a){break a}v[m+4>>2]=a;ma(a)}da=m+16|0;return q|0}function bb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,x=0,y=0,z=0,C=0,D=0;f=da-80|0;da=f;v[f+76>>2]=2238;C=f+55|0;r=f+56|0;a:{b:{c:{d:{e:while(1){if((2147483647-n|0)<(e|0)){break d}n=e+n|0;f:{g:{h:{h=v[f+76>>2];e=h;l=w[e|0];if(l){while(1){i:{g=l&255;j:{if(!g){l=e;break j}if((g|0)!=37){break i}l=e;while(1){if(w[e+1|0]!=37){break j}g=e+2|0;v[f+76>>2]=g;l=l+1|0;j=w[e+2|0];e=g;if((j|0)==37){continue}break}}e=l-h|0;z=2147483647-n|0;if((e|0)>(z|0)){break d}if(a){Ba(a,h,e)}if(e){continue e}q=-1;e=v[f+76>>2];if(t[e+1|0]-48>>>0>=10|w[e+2|0]!=36){g=1}else{q=t[e+1|0]-48|0;x=1;g=3}e=g+e|0;v[f+76>>2]=e;o=0;k=t[e|0];j=k-32|0;k:{if(j>>>0>31){g=e;break k}g=e;i=1<<j;if(!(i&75913)){break k}while(1){g=e+1|0;v[f+76>>2]=g;o=i|o;k=t[e+1|0];j=k-32|0;if(j>>>0>=32){break k}e=g;i=1<<j;if(i&75913){continue}break}}l:{if((k|0)==42){m:{n:{if(t[g+1|0]-48>>>0>=10){break n}e=v[f+76>>2];if(w[e+2|0]!=36){break n}v[((t[e+1|0]<<2)+d|0)-192>>2]=10;p=v[((t[e+1|0]<<3)+c|0)-384>>2];x=1;e=e+3|0;break m}if(x){break h}x=0;p=0;if(a){e=v[b>>2];v[b>>2]=e+4;p=v[e>>2]}e=v[f+76>>2]+1|0}v[f+76>>2]=e;if((p|0)>=0){break l}p=0-p|0;o=o|8192;break l}p=ab(f+76|0);if((p|0)<0){break d}e=v[f+76>>2]}g=0;i=-1;s=0;o:{if(w[e|0]!=46){break o}if(w[e+1|0]==42){p:{q:{if(t[e+2|0]-48>>>0>=10){break q}e=v[f+76>>2];if(w[e+3|0]!=36){break q}v[((t[e+2|0]<<2)+d|0)-192>>2]=10;i=v[((t[e+2|0]<<3)+c|0)-384>>2];e=e+4|0;break p}if(x){break h}if(a){e=v[b>>2];v[b>>2]=e+4;i=v[e>>2]}else{i=0}e=v[f+76>>2]+2|0}v[f+76>>2]=e;s=(i^-1)>>>31|0;break o}v[f+76>>2]=e+1;i=ab(f+76|0);e=v[f+76>>2];s=1}while(1){m=g;l=28;if(t[e|0]-123>>>0<4294967238){break c}k=e+1|0;v[f+76>>2]=k;g=t[e|0];e=k;g=w[(g+B(m,58)|0)+3823|0];if(g-1>>>0<8){continue}break}r:{s:{if((g|0)!=27){if(!g){break c}if((q|0)>=0){v[(q<<2)+d>>2]=g;e=(q<<3)+c|0;g=v[e+4>>2];v[f+64>>2]=v[e>>2];v[f+68>>2]=g;break s}if(!a){break f}$a(f- -64|0,g,b);k=v[f+76>>2];break r}if((q|0)>=0){break c}}e=0;if(!a){continue e}}j=o&-65537;g=o&8192?j:o;o=0;q=1101;l=r;t:{u:{v:{w:{x:{y:{z:{A:{B:{C:{D:{E:{F:{G:{H:{I:{e=t[k-1|0];e=m?(e&15)==3?e&-33:e:e;switch(e-88|0){case 11:break t;case 9:case 13:case 14:case 15:break u;case 27:break z;case 12:case 17:break C;case 23:break D;case 0:case 32:break E;case 24:break F;case 22:break G;case 29:break H;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 10:case 16:case 18:case 19:case 20:case 21:case 25:case 26:case 28:case 30:case 31:break g;default:break I}}J:{switch(e-65|0){case 0:case 4:case 5:case 6:break u;case 2:break x;case 1:case 3:break g;default:break J}}if((e|0)==83){break y}break g}k=v[f+64>>2];m=v[f+68>>2];e=1101;break B}e=0;K:{switch(m&255){case 0:v[v[f+64>>2]>>2]=n;continue e;case 1:v[v[f+64>>2]>>2]=n;continue e;case 2:g=v[f+64>>2];v[g>>2]=n;v[g+4>>2]=n>>31;continue e;case 3:u[v[f+64>>2]>>1]=n;continue e;case 4:t[v[f+64>>2]]=n;continue e;case 6:v[v[f+64>>2]>>2]=n;continue e;case 7:break K;default:continue e}}g=v[f+64>>2];v[g>>2]=n;v[g+4>>2]=n>>31;continue e}i=i>>>0>8?i:8;g=g|8;e=120}j=r;y=e&32;k=v[f+64>>2];m=v[f+68>>2];if(k|m){while(1){j=j-1|0;t[j|0]=y|w[(k&15)+4352|0];D=!m&k>>>0>15|(m|0)!=0;h=m;m=h>>>4|0;k=(h&15)<<28|k>>>4;if(D){continue}break}}h=j;if(!(v[f+64>>2]|v[f+68>>2])|!(g&8)){break A}q=(e>>>4|0)+1101|0;o=2;break A}e=r;k=v[f+64>>2];m=v[f+68>>2];if(k|m){while(1){e=e-1|0;t[e|0]=k&7|48;j=!m&k>>>0>7|(m|0)!=0;h=m;m=h>>>3|0;k=(h&7)<<29|k>>>3;if(j){continue}break}}h=e;if(!(g&8)){break A}e=r-h|0;i=(e|0)<(i|0)?i:e+1|0;break A}e=v[f+68>>2];m=e;k=v[f+64>>2];if((e|0)<0){m=0-(((k|0)!=0)+m|0)|0;k=0-k|0;v[f+64>>2]=k;v[f+68>>2]=m;o=1;e=1101;break B}if(g&2048){o=1;e=1102;break B}o=g&1;e=o?1103:1101}q=e;h=r;L:{if(!m){j=k;break L}while(1){h=h-1|0;j=Rb(k,m,10);e=ga;t[h|0]=k-Sb(j,e,10,0)|48;y=m>>>0>9;k=j;m=e;if(y){continue}break}}if(j){while(1){h=h-1|0;e=(j>>>0)/10|0;t[h|0]=j-B(e,10)|48;k=j>>>0>9;j=e;if(k){continue}break}}}if((i|0)<0?s:0){break d}g=s?g&-65537:g;e=v[f+64>>2];j=v[f+68>>2];if(!(i|(e|j)!=0)){h=r;l=h;i=0;break g}e=!(e|j)+(r-h|0)|0;i=(e|0)<(i|0)?i:e;break g}e=v[f+64>>2];h=e?e:2170;e=(i|0)<0?2147483647:i;g=ua(h,0,e);e=g?g-h|0:e;l=e+h|0;if((i|0)>=0){g=j;i=e;break g}g=j;i=e;if(w[l|0]){break d}break g}if(i){l=v[f+64>>2];break w}e=0;ya(a,32,p,0,g);break v}v[f+12>>2]=0;v[f+8>>2]=v[f+64>>2];l=f+8|0;v[f+64>>2]=l;i=-1}e=0;M:{while(1){h=v[l>>2];if(!h){break M}h=cb(f+4|0,h);j=(h|0)<0;if(!(j|h>>>0>i-e>>>0)){l=l+4|0;e=e+h|0;if(i>>>0>e>>>0){continue}break M}break}if(j){break b}}l=61;if((e|0)<0){break c}ya(a,32,p,e,g);if(!e){e=0;break v}i=0;l=v[f+64>>2];while(1){h=v[l>>2];if(!h){break v}h=cb(f+4|0,h);i=h+i|0;if(i>>>0>e>>>0){break v}Ba(a,f+4|0,h);l=l+4|0;if(e>>>0>i>>>0){continue}break}}ya(a,32,p,e,g^8192);e=(e|0)<(p|0)?p:e;continue e}if((i|0)<0?s:0){break d}l=61;e=ha[0](a,A[f+64>>3],p,i,g,e)|0;if((e|0)>=0){continue e}break c}t[f+55|0]=v[f+64>>2];i=1;h=C;g=j;break g}g=e+1|0;v[f+76>>2]=g;l=w[e+1|0];e=g;continue}}if(a){break a}if(!x){break f}e=1;while(1){a=v[(e<<2)+d>>2];if(a){$a((e<<3)+c|0,a,b);n=1;e=e+1|0;if((e|0)!=10){continue}break a}break}n=1;if(e>>>0>=10){break a}while(1){if(v[(e<<2)+d>>2]){break h}e=e+1|0;if((e|0)!=10){continue}break}break a}l=28;break c}k=l-h|0;m=(i|0)<(k|0)?k:i;if((m|0)>(2147483647-o|0)){break d}l=61;j=m+o|0;e=(j|0)>(p|0)?j:p;if((z|0)<(e|0)){break c}ya(a,32,e,j,g);Ba(a,q,o);ya(a,48,e,j,g^65536);ya(a,48,m,k,0);Ba(a,h,k);ya(a,32,e,j,g^8192);continue}break}n=0;break a}l=61}v[1312]=l}n=-1}da=f+80|0;return n}function lb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;d=da-112|0;da=d;e=1;a:{i=v[a>>2];g=v[a+4>>2]-i|0;c=v[1282];h=v[1283]-c|0;b:{if(g>>>0<h>>>0){break b}if(h){while(1){if(w[f+i|0]!=w[c+f|0]){break b}f=f+1|0;if((h|0)!=(f|0)){continue}break}}h=na(16);c=h;t[c+8|0]=35;t[c+9|0]=42;t[c+10|0]=36;t[c+11|0]=37;t[c+12|0]=94;t[c+13|0]=38;t[c+14|0]=41;t[c+15|0]=40;t[c|0]=51;t[c+1|0]=56;t[c+2|0]=54;t[c+3|0]=90;t[c+4|0]=74;t[c+5|0]=89;t[c+6|0]=33;t[c+7|0]=64;i=na(16);c=i;t[c+8|0]=38;t[c+9|0]=94;t[c+10|0]=97;t[c+11|0]=49;t[c+12|0]=99;t[c+13|0]=90;t[c+14|0]=44;t[c+15|0]=84;t[c|0]=42;t[c+1|0]=42;t[c+2|0]=35;t[c+3|0]=33;t[c+4|0]=40;t[c+5|0]=35;t[c+6|0]=36;t[c+7|0]=37;f=0;v[d+104>>2]=0;v[d+96>>2]=0;v[d+100>>2]=0;v[d+88>>2]=0;v[d+80>>2]=0;v[d+84>>2]=0;qa(d+80|0,g-18|0);c:{d:{e:{e=v[d+80>>2];f:{if((e|0)!=v[d+84>>2]){while(1){t[e+f|0]=w[(v[a>>2]+f|0)+18|0];f=f+1|0;e=v[d+80>>2];g=v[d+84>>2]-e|0;if(f>>>0<g>>>0){continue}break}a=0;v[d+72>>2]=0;v[d+64>>2]=0;v[d+68>>2]=0;if(!g){break f}if((g|0)<0){break e}a=na(g);v[d+64>>2]=a;c=a+g|0;v[d+72>>2]=c;oa(a,e,g);v[d+68>>2]=c;break f}a=0;v[d+72>>2]=0;v[d+64>>2]=0;v[d+68>>2]=0}c=na(16);v[d+48>>2]=c;g=c+16|0;v[d+56>>2]=g;f=w[h+12|0]|w[h+13|0]<<8|(w[h+14|0]<<16|w[h+15|0]<<24);e=w[h+8|0]|w[h+9|0]<<8|(w[h+10|0]<<16|w[h+11|0]<<24);t[c+8|0]=e;t[c+9|0]=e>>>8;t[c+10|0]=e>>>16;t[c+11|0]=e>>>24;t[c+12|0]=f;t[c+13|0]=f>>>8;t[c+14|0]=f>>>16;t[c+15|0]=f>>>24;f=w[h+4|0]|w[h+5|0]<<8|(w[h+6|0]<<16|w[h+7|0]<<24);e=w[h|0]|w[h+1|0]<<8|(w[h+2|0]<<16|w[h+3|0]<<24);t[c|0]=e;t[c+1|0]=e>>>8;t[c+2|0]=e>>>16;t[c+3|0]=e>>>24;t[c+4|0]=f;t[c+5|0]=f>>>8;t[c+6|0]=f>>>16;t[c+7|0]=f>>>24;v[d+52>>2]=g;g=Ra(d- -64|0,d+48|0,d+96|0);v[d+52>>2]=c;ma(c);if(a){v[d+68>>2]=a;ma(a)}if(!g){e=0;a=v[b>>2];if((a|0)==v[b+4>>2]){break c}v[b+4>>2]=a;break c}qa(d+80|0,v[d+100>>2]-v[d+96>>2]|0);f=0;e=v[d+80>>2];if((e|0)==v[d+84>>2]){a=0;break d}while(1){t[e+f|0]=w[v[d+96>>2]+f|0];e=v[d+80>>2];a=v[d+84>>2]-e|0;f=f+1|0;if(a>>>0>f>>>0){continue}break}break d}pa();L()}c=v[d+96>>2];if((c|0)!=v[d+100>>2]){v[d+100>>2]=c}f=0;v[d+40>>2]=0;v[d+32>>2]=0;v[d+36>>2]=0;if(a){if((a|0)<0){break a}f=na(a);v[d+32>>2]=f;c=a+f|0;v[d+40>>2]=c;oa(f,e,a);v[d+36>>2]=c}a=na(16);v[d+16>>2]=a;c=a+16|0;v[d+24>>2]=c;e=w[i+12|0]|w[i+13|0]<<8|(w[i+14|0]<<16|w[i+15|0]<<24);g=w[i+8|0]|w[i+9|0]<<8|(w[i+10|0]<<16|w[i+11|0]<<24);t[a+8|0]=g;t[a+9|0]=g>>>8;t[a+10|0]=g>>>16;t[a+11|0]=g>>>24;t[a+12|0]=e;t[a+13|0]=e>>>8;t[a+14|0]=e>>>16;t[a+15|0]=e>>>24;e=w[i+4|0]|w[i+5|0]<<8|(w[i+6|0]<<16|w[i+7|0]<<24);g=w[i|0]|w[i+1|0]<<8|(w[i+2|0]<<16|w[i+3|0]<<24);t[a|0]=g;t[a+1|0]=g>>>8;t[a+2|0]=g>>>16;t[a+3|0]=g>>>24;t[a+4|0]=e;t[a+5|0]=e>>>8;t[a+6|0]=e>>>16;t[a+7|0]=e>>>24;v[d+20>>2]=c;c=Ra(d+32|0,d+16|0,d+96|0);v[d+20>>2]=a;ma(a);if(f){v[d+36>>2]=f;ma(f)}if(!c){e=0;a=v[b>>2];if((a|0)==v[b+4>>2]){break c}v[b+4>>2]=a;break c}qa(b,B(v[d+100>>2]-v[d+96>>2]>>>2|0,3));a=v[d+96>>2];mb(d+8|0,v[b>>2],a,v[d+100>>2]-a|0);c=v[d+8>>2];g:{if(c>>>0<=15){a=v[b>>2];if((a|0)==v[b+4>>2]){break g}v[b+4>>2]=a;break g}qa(b,c)}e=c>>>0>15}a=v[d+80>>2];if(a){v[d+84>>2]=a;ma(a)}a=v[d+96>>2];if(a){v[d+100>>2]=a;ma(a)}ma(i);ma(h)}da=d+112|0;return e}pa();L()}function ma(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;a:{if(!a){break a}d=a-8|0;b=v[a-4>>2];a=b&-8;f=d+a|0;b:{if(b&1){break b}if(!(b&3)){break a}b=v[d>>2];d=d-b|0;if(d>>>0<y[1362]){break a}a=a+b|0;if(v[1363]!=(d|0)){if(b>>>0<=255){e=v[d+8>>2];b=b>>>3|0;c=v[d+12>>2];if((c|0)==(e|0)){v[1358]=v[1358]&Ub(b);break b}v[e+12>>2]=c;v[c+8>>2]=e;break b}h=v[d+24>>2];b=v[d+12>>2];c:{if((d|0)!=(b|0)){c=v[d+8>>2];v[c+12>>2]=b;v[b+8>>2]=c;break c}d:{e=d+20|0;c=v[e>>2];if(c){break d}e=d+16|0;c=v[e>>2];if(c){break d}b=0;break c}while(1){g=e;b=c;e=b+20|0;c=v[e>>2];if(c){continue}e=b+16|0;c=v[b+16>>2];if(c){continue}break}v[g>>2]=0}if(!h){break b}e=v[d+28>>2];c=(e<<2)+5736|0;e:{if(v[c>>2]==(d|0)){v[c>>2]=b;if(b){break e}v[1359]=v[1359]&Ub(e);break b}v[h+(v[h+16>>2]==(d|0)?16:20)>>2]=b;if(!b){break b}}v[b+24>>2]=h;c=v[d+16>>2];if(c){v[b+16>>2]=c;v[c+24>>2]=b}c=v[d+20>>2];if(!c){break b}v[b+20>>2]=c;v[c+24>>2]=b;break b}b=v[f+4>>2];if((b&3)!=3){break b}v[1360]=a;v[f+4>>2]=b&-2;v[d+4>>2]=a|1;v[a+d>>2]=a;return}if(d>>>0>=f>>>0){break a}b=v[f+4>>2];if(!(b&1)){break a}f:{if(!(b&2)){if(v[1364]==(f|0)){v[1364]=d;a=v[1361]+a|0;v[1361]=a;v[d+4>>2]=a|1;if(v[1363]!=(d|0)){break a}v[1360]=0;v[1363]=0;return}if(v[1363]==(f|0)){v[1363]=d;a=v[1360]+a|0;v[1360]=a;v[d+4>>2]=a|1;v[a+d>>2]=a;return}a=(b&-8)+a|0;g:{if(b>>>0<=255){e=v[f+8>>2];b=b>>>3|0;c=v[f+12>>2];if((c|0)==(e|0)){v[1358]=v[1358]&Ub(b);break g}v[e+12>>2]=c;v[c+8>>2]=e;break g}h=v[f+24>>2];b=v[f+12>>2];h:{if((f|0)!=(b|0)){c=v[f+8>>2];v[c+12>>2]=b;v[b+8>>2]=c;break h}i:{e=f+20|0;c=v[e>>2];if(c){break i}e=f+16|0;c=v[e>>2];if(c){break i}b=0;break h}while(1){g=e;b=c;e=b+20|0;c=v[e>>2];if(c){continue}e=b+16|0;c=v[b+16>>2];if(c){continue}break}v[g>>2]=0}if(!h){break g}e=v[f+28>>2];c=(e<<2)+5736|0;j:{if(v[c>>2]==(f|0)){v[c>>2]=b;if(b){break j}v[1359]=v[1359]&Ub(e);break g}v[h+(v[h+16>>2]==(f|0)?16:20)>>2]=b;if(!b){break g}}v[b+24>>2]=h;c=v[f+16>>2];if(c){v[b+16>>2]=c;v[c+24>>2]=b}c=v[f+20>>2];if(!c){break g}v[b+20>>2]=c;v[c+24>>2]=b}v[d+4>>2]=a|1;v[a+d>>2]=a;if(v[1363]!=(d|0)){break f}v[1360]=a;return}v[f+4>>2]=b&-2;v[d+4>>2]=a|1;v[a+d>>2]=a}if(a>>>0<=255){a=a>>>3|0;b=(a<<3)+5472|0;c=v[1358];a=1<<a;k:{if(!(c&a)){v[1358]=a|c;a=b;break k}a=v[b+8>>2]}v[b+8>>2]=d;v[a+12>>2]=d;v[d+12>>2]=b;v[d+8>>2]=a;return}e=31;v[d+16>>2]=0;v[d+20>>2]=0;if(a>>>0<=16777215){b=a>>>8|0;g=b+1048320>>>16&8;b=b<<g;e=b+520192>>>16&4;b=b<<e;c=b+245760>>>16&2;b=(b<<c>>>15|0)-(c|(e|g))|0;e=(b<<1|a>>>b+21&1)+28|0}v[d+28>>2]=e;g=(e<<2)+5736|0;l:{m:{c=v[1359];b=1<<e;n:{if(!(c&b)){v[1359]=b|c;v[g>>2]=d;v[d+24>>2]=g;break n}e=a<<((e|0)==31?0:25-(e>>>1|0)|0);b=v[g>>2];while(1){c=b;if((v[b+4>>2]&-8)==(a|0)){break m}b=e>>>29|0;e=e<<1;g=c+(b&4)|0;b=v[g+16>>2];if(b){continue}break}v[g+16>>2]=d;v[d+24>>2]=c}v[d+12>>2]=d;v[d+8>>2]=d;break l}a=v[c+8>>2];v[a+12>>2]=d;v[c+8>>2]=d;v[d+24>>2]=0;v[d+12>>2]=c;v[d+8>>2]=a}a=v[1366]-1|0;v[1366]=a?a:-1}}function Ra(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=da-80|0;da=g;h=v[a>>2];d=v[a+4>>2]-h|0;if(!(d>>>0<16|d&7)){d=na(8);t[d|0]=0;t[d+1|0]=0;t[d+2|0]=0;t[d+3|0]=0;t[d+4|0]=0;t[d+5|0]=0;t[d+6|0]=0;t[d+7|0]=0;v[g+72>>2]=0;v[g+64>>2]=0;v[g+68>>2]=0;a:{b:{j=v[b>>2];e=v[b+4>>2]-j|0;c:{if(!e){za(h,d,g- -64|0);break c}if((e|0)<0){break b}f=na(e);v[g+64>>2]=f;i=f+e|0;v[g+72>>2]=i;e=oa(f,j,e);v[g+68>>2]=i;za(h,d,g- -64|0);v[g+68>>2]=e;ma(e)}e=v[a>>2];h=v[a+4>>2];f=w[d|0];v[g+56>>2]=0;v[g+48>>2]=0;v[g+52>>2]=0;j=f&7;m=((h+(j^-1)|0)-e|0)-9|0;qa(g+48|0,m);e=na(8);t[e|0]=0;t[e+1|0]=0;t[e+2|0]=0;t[e+3|0]=0;t[e+4|0]=0;t[e+5|0]=0;t[e+6|0]=0;t[e+7|0]=0;h=e+8|0;v[g+40>>2]=h;v[g+36>>2]=h;v[g+32>>2]=e;f=na(8);e=v[a>>2];t[f|0]=w[e|0];t[f+1|0]=w[e+1|0];t[f+2|0]=w[e+2|0];t[f+3|0]=w[e+3|0];t[f+4|0]=w[e+4|0];t[f+5|0]=w[e+5|0];t[f+6|0]=w[e+6|0];t[f+7|0]=w[e+7|0];e=j+1|0;n=f+8|0;j=1;h=8;while(1){d:{e:{if((e|0)<=7){j=j+1|0;e=e+1|0;break e}va(g+32|0,f,n);e=h+8|0;f:{if(h>>>0>=4294967288){k=w[f|0];break f}l=v[a>>2];i=l+h|0;k=w[i|0];t[f|0]=k;h=h+1|0;if(h>>>0>=e>>>0){break f}t[f+1|0]=w[h+l|0];t[f+2|0]=w[i+2|0];t[f+3|0]=w[i+3|0];t[f+4|0]=w[i+4|0];t[f+5|0]=w[i+5|0];t[f+6|0]=w[i+6|0];t[f+7|0]=w[i+7|0]}t[d|0]=w[d|0]^k;t[d+1|0]=w[d+1|0]^w[f+1|0];t[d+2|0]=w[d+2|0]^w[f+2|0];t[d+3|0]=w[d+3|0]^w[f+3|0];t[d+4|0]=w[d+4|0]^w[f+4|0];t[d+5|0]=w[d+5|0]^w[f+5|0];t[d+6|0]=w[d+6|0]^w[f+6|0];t[d+7|0]=w[d+7|0]^w[f+7|0];v[g+24>>2]=0;v[g+16>>2]=0;v[g+20>>2]=0;k=v[b>>2];h=v[b+4>>2]-k|0;g:{if(!h){za(d,d,g+16|0);break g}if((h|0)<0){break d}i=na(h);v[g+16>>2]=i;l=h+i|0;v[g+24>>2]=l;h=oa(i,k,h);v[g+20>>2]=l;za(d,d,g+16|0);v[g+20>>2]=h;ma(h)}h=e;e=0}if(j>>>0<3){continue}break a}break}pa();L()}pa();L()}h:{if(!m){break h}j=0;while(1){i:{j:{if((e|0)<=7){t[v[g+48>>2]+j|0]=w[v[g+32>>2]+e|0]^w[d+e|0];j=j+1|0;e=e+1|0;break j}va(g+32|0,f,n);e=h+8|0;k:{if(h>>>0>=4294967288){k=w[f|0];break k}l=v[a>>2];i=l+h|0;k=w[i|0];t[f|0]=k;h=h+1|0;if(h>>>0>=e>>>0){break k}t[f+1|0]=w[h+l|0];t[f+2|0]=w[i+2|0];t[f+3|0]=w[i+3|0];t[f+4|0]=w[i+4|0];t[f+5|0]=w[i+5|0];t[f+6|0]=w[i+6|0];t[f+7|0]=w[i+7|0]}t[d|0]=w[d|0]^k;t[d+1|0]=w[d+1|0]^w[f+1|0];t[d+2|0]=w[d+2|0]^w[f+2|0];t[d+3|0]=w[d+3|0]^w[f+3|0];t[d+4|0]=w[d+4|0]^w[f+4|0];t[d+5|0]=w[d+5|0]^w[f+5|0];t[d+6|0]=w[d+6|0]^w[f+6|0];t[d+7|0]=w[d+7|0]^w[f+7|0];v[g+8>>2]=0;v[g>>2]=0;v[g+4>>2]=0;k=v[b>>2];h=v[b+4>>2]-k|0;l:{if(!h){za(d,d,g);break l}if((h|0)<0){break i}i=na(h);v[g>>2]=i;l=h+i|0;v[g+8>>2]=l;h=oa(i,k,h);v[g+4>>2]=l;za(d,d,g);v[g+4>>2]=h;ma(h)}h=e;e=0}if(j>>>0<m>>>0){continue}break h}break}pa();L()}e=0;a=v[g+32>>2];m:{if(w[d+1|0]!=w[a+1|0]|w[d+2|0]!=w[a+2|0]|(w[d+3|0]!=w[a+3|0]|w[d+4|0]!=w[a+4|0])){break m}if(w[d+5|0]!=w[a+5|0]|w[d+6|0]!=w[a+6|0]|w[d+7|0]!=w[a+7|0]){break m}e=1;if((g+48|0)==(c|0)){break m}va(c,v[g+48>>2],v[g+52>>2])}ma(f);a=v[g+32>>2];if(a){v[g+36>>2]=a;ma(a)}a=v[g+48>>2];if(a){v[g+52>>2]=a;ma(a)}ma(d)}da=g+80|0;return e}function kb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;c=da-112|0;da=c;v[c+104>>2]=0;v[c+96>>2]=0;v[c+100>>2]=0;qa(c+96|0,B(v[a+4>>2]-v[a>>2]>>>2|0,3));d=v[a>>2];mb(c+80|0,v[c+96>>2],d,v[a+4>>2]-d|0);a=v[c+80>>2];a:{if(a>>>0<16){break a}qa(c+96|0,a);v[c+88>>2]=0;v[c+80>>2]=0;v[c+84>>2]=0;b:{c:{d:{e:{f:{g:{e=v[c+96>>2];d=v[c+100>>2]-e|0;h:{if(!d){a=0;break h}if((d|0)<0){break g}a=na(d);v[c+80>>2]=a;f=a+d|0;v[c+88>>2]=f;oa(a,e,d);v[c+84>>2]=f}v[c+72>>2]=0;v[c+64>>2]=0;v[c+68>>2]=0;d=f-a|0;i:{if(!d){f=0;if(lb(c- -64|0,c+96|0)){break i}break b}if((d|0)<0){break f}e=na(d);v[c+64>>2]=e;f=d+e|0;v[c+72>>2]=f;d=oa(e,a,d);v[c+68>>2]=f;e=lb(c- -64|0,c+96|0);v[c+68>>2]=d;ma(d);f=0;if(!e){break b}}d=na(16);e=v[c+96>>2];t[d|0]=105;a=w[e|0];t[d+2|0]=86;t[d+1|0]=a;a=w[e+1|0];t[d+4|0]=70;t[d+3|0]=a;a=w[e+2|0];t[d+6|0]=56;t[d+5|0]=a;a=w[e+3|0];t[d+8|0]=43;t[d+7|0]=a;a=w[e+4|0];t[d+10|0]=32;t[d+9|0]=a;a=w[e+5|0];t[d+12|0]=21;t[d+11|0]=a;a=w[e+6|0];t[d+14|0]=11;t[d+13|0]=a;t[d+15|0]=w[e+7|0];a=0;v[c+56>>2]=0;v[c+48>>2]=0;v[c+52>>2]=0;v[c+40>>2]=0;v[c+32>>2]=0;v[c+36>>2]=0;qa(c+32|0,(v[c+100>>2]-e|0)-8|0);e=v[c+32>>2];if((e|0)==v[c+36>>2]){break d}while(1){t[a+e|0]=w[(v[c+96>>2]+a|0)+8|0];a=a+1|0;e=v[c+32>>2];f=v[c+36>>2]-e|0;if(a>>>0<f>>>0){continue}break}a=0;v[c+24>>2]=0;v[c+16>>2]=0;v[c+20>>2]=0;if(!f){break c}if((f|0)<0){break e}a=na(f);v[c+16>>2]=a;g=a+f|0;v[c+24>>2]=g;oa(a,e,f);v[c+20>>2]=g;break c}pa();L()}pa();L()}pa();L()}v[c+24>>2]=0;v[c+16>>2]=0;v[c+20>>2]=0}e=na(16);v[c>>2]=e;h=e+16|0;v[c+8>>2]=h;f=w[d+12|0]|w[d+13|0]<<8|(w[d+14|0]<<16|w[d+15|0]<<24);g=w[d+8|0]|w[d+9|0]<<8|(w[d+10|0]<<16|w[d+11|0]<<24);t[e+8|0]=g;t[e+9|0]=g>>>8;t[e+10|0]=g>>>16;t[e+11|0]=g>>>24;t[e+12|0]=f;t[e+13|0]=f>>>8;t[e+14|0]=f>>>16;t[e+15|0]=f>>>24;f=w[d+4|0]|w[d+5|0]<<8|(w[d+6|0]<<16|w[d+7|0]<<24);g=w[d|0]|w[d+1|0]<<8|(w[d+2|0]<<16|w[d+3|0]<<24);t[e|0]=g;t[e+1|0]=g>>>8;t[e+2|0]=g>>>16;t[e+3|0]=g>>>24;t[e+4|0]=f;t[e+5|0]=f>>>8;t[e+6|0]=f>>>16;t[e+7|0]=f>>>24;v[c+4>>2]=h;f=Ra(c+16|0,c,c+48|0);v[c+4>>2]=e;ma(e);if(a){v[c+20>>2]=a;ma(a)}j:{if(!f){break j}qa(c+96|0,(v[c+52>>2]-v[c+48>>2]|0)+8|0);e=v[c+48>>2];if((e|0)!=v[c+52>>2]){a=0;while(1){t[(v[c+96>>2]+a|0)+8|0]=w[a+e|0];a=a+1|0;e=v[c+48>>2];if(a>>>0<v[c+52>>2]-e>>>0){continue}break}}if((c+96|0)==(b|0)){break j}va(b,v[c+96>>2],v[c+100>>2])}a=v[c+32>>2];if(a){v[c+36>>2]=a;ma(a)}a=v[c+48>>2];if(a){v[c+52>>2]=a;ma(a)}ma(d);a=v[c+80>>2]}if(!a){break a}ma(a)}a=v[c+96>>2];if(a){v[c+100>>2]=a;ma(a)}da=c+112|0;return f}function jb(){var a=0;ca(4576,1456);X(4588,1206,1,1,0);a=da-16|0;da=a;v[a+12>>2]=1181;P(4600,v[a+12>>2],1,-128,127);da=a+16|0;a=da-16|0;da=a;v[a+12>>2]=1174;P(4624,v[a+12>>2],1,-128,127);da=a+16|0;a=da-16|0;da=a;v[a+12>>2]=1172;P(4612,v[a+12>>2],1,0,255);da=a+16|0;a=da-16|0;da=a;v[a+12>>2]=1120;P(4636,v[a+12>>2],2,-32768,32767);da=a+16|0;a=da-16|0;da=a;v[a+12>>2]=1111;P(4648,v[a+12>>2],2,0,65535);da=a+16|0;a=da-16|0;da=a;v[a+12>>2]=1135;P(4660,v[a+12>>2],4,-2147483648,2147483647);da=a+16|0;a=da-16|0;da=a;v[a+12>>2]=1126;P(4672,v[a+12>>2],4,0,-1);da=a+16|0;a=da-16|0;da=a;v[a+12>>2]=1241;P(4684,v[a+12>>2],4,-2147483648,2147483647);da=a+16|0;a=da-16|0;da=a;v[a+12>>2]=1232;P(4696,v[a+12>>2],4,0,-1);da=a+16|0;a=da-16|0;da=a;v[a+12>>2]=1146;Sa(4708,v[a+12>>2],-2147483648,2147483647);da=a+16|0;a=da-16|0;da=a;v[a+12>>2]=1145;Sa(4720,v[a+12>>2],0,-1);da=a+16|0;a=da-16|0;da=a;v[a+12>>2]=1139;T(4732,v[a+12>>2],4);da=a+16|0;a=da-16|0;da=a;v[a+12>>2]=1427;T(4744,v[a+12>>2],8);da=a+16|0;U(2980,1272);U(3120,1938);S(3208,4,1246);S(3300,2,1284);S(3392,4,1299);W(3436,1211);a=da-16|0;da=a;v[a+12>>2]=1869;O(3476,0,v[a+12>>2]);da=a+16|0;ib(1971);hb(1899);gb(1501);fb(1532);eb(1572);db(1601);a=da-16|0;da=a;v[a+12>>2]=2008;O(3756,4,v[a+12>>2]);da=a+16|0;a=da-16|0;da=a;v[a+12>>2]=2038;O(3796,5,v[a+12>>2]);da=a+16|0;ib(1703);hb(1670);gb(1769);fb(1735);eb(1836);db(1802);a=da-16|0;da=a;v[a+12>>2]=1639;O(3836,6,v[a+12>>2]);da=a+16|0;a=da-16|0;da=a;v[a+12>>2]=2077;O(3876,7,v[a+12>>2]);da=a+16|0}function ub(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;if(ra(a,v[b+8>>2],e)){if(!(v[b+28>>2]==1|v[b+4>>2]!=(c|0))){v[b+28>>2]=d}return}a:{if(ra(a,v[b>>2],e)){if(!(v[b+16>>2]!=(c|0)&v[b+20>>2]!=(c|0))){if((d|0)!=1){break a}v[b+32>>2]=1;return}v[b+32>>2]=d;if(v[b+44>>2]!=4){f=a+16|0;i=f+(v[a+12>>2]<<3)|0;b:{c:{while(1){d:{if(f>>>0>=i>>>0){break d}u[b+52>>1]=0;Ka(f,b,c,c,1,e);if(w[b+54|0]){break d}e:{if(!w[b+53|0]){break e}if(w[b+52|0]){d=1;if(v[b+24>>2]==1){break c}h=1;g=1;if(w[a+8|0]&2){break e}break c}h=1;d=g;if(!(t[a+8|0]&1)){break c}}f=f+8|0;continue}break}d=g;a=4;if(!h){break b}}a=3}v[b+44>>2]=a;if(d&1){break a}}v[b+20>>2]=c;v[b+40>>2]=v[b+40>>2]+1;if(v[b+36>>2]!=1|v[b+24>>2]!=2){break a}t[b+54|0]=1;return}g=v[a+12>>2];f=a+16|0;Da(f,b,c,d,e);if((g|0)<2){break a}g=f+(g<<3)|0;f=a+24|0;a=v[a+8>>2];if(!(!(a&2)&v[b+36>>2]!=1)){while(1){if(w[b+54|0]){break a}Da(f,b,c,d,e);f=f+8|0;if(g>>>0>f>>>0){continue}break}break a}if(!(a&1)){while(1){if(w[b+54|0]|v[b+36>>2]==1){break a}Da(f,b,c,d,e);f=f+8|0;if(g>>>0>f>>>0){continue}break a}}while(1){if(w[b+54|0]|v[b+36>>2]==1&v[b+24>>2]==1){break a}Da(f,b,c,d,e);f=f+8|0;if(g>>>0>f>>>0){continue}break}}}function oa(a,b,c){var d=0,e=0,f=0;if(c>>>0>=512){$(a|0,b|0,c|0)|0;return a}e=a+c|0;a:{if(!((a^b)&3)){b:{if(!(a&3)){c=a;break b}if(!c){c=a;break b}c=a;while(1){t[c|0]=w[b|0];b=b+1|0;c=c+1|0;if(!(c&3)){break b}if(c>>>0<e>>>0){continue}break}}d=e&-4;c:{if(d>>>0<64){break c}f=d+-64|0;if(f>>>0<c>>>0){break c}while(1){v[c>>2]=v[b>>2];v[c+4>>2]=v[b+4>>2];v[c+8>>2]=v[b+8>>2];v[c+12>>2]=v[b+12>>2];v[c+16>>2]=v[b+16>>2];v[c+20>>2]=v[b+20>>2];v[c+24>>2]=v[b+24>>2];v[c+28>>2]=v[b+28>>2];v[c+32>>2]=v[b+32>>2];v[c+36>>2]=v[b+36>>2];v[c+40>>2]=v[b+40>>2];v[c+44>>2]=v[b+44>>2];v[c+48>>2]=v[b+48>>2];v[c+52>>2]=v[b+52>>2];v[c+56>>2]=v[b+56>>2];v[c+60>>2]=v[b+60>>2];b=b- -64|0;c=c- -64|0;if(f>>>0>=c>>>0){continue}break}}if(c>>>0>=d>>>0){break a}while(1){v[c>>2]=v[b>>2];b=b+4|0;c=c+4|0;if(d>>>0>c>>>0){continue}break}break a}if(e>>>0<4){c=a;break a}d=e-4|0;if(d>>>0<a>>>0){c=a;break a}c=a;while(1){t[c|0]=w[b|0];t[c+1|0]=w[b+1|0];t[c+2|0]=w[b+2|0];t[c+3|0]=w[b+3|0];b=b+4|0;c=c+4|0;if(d>>>0>=c>>>0){continue}break}}if(c>>>0<e>>>0){while(1){t[c|0]=w[b|0];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}return a}function nb(){var a=0,b=0,c=0,d=0;Q(1158,1,2864,3004,1,2);Q(1469,1,2864,3004,1,3);Q(1486,4,3008,3024,4,5);Q(1493,4,3040,3024,6,7);v[1284]=0;v[1282]=0;v[1283]=0;a=na(18);v[1282]=a;d=a+18|0;v[1284]=d;b=w[2528]|w[2529]<<8;t[a+16|0]=b;t[a+17|0]=b>>>8;c=w[2524]|w[2525]<<8|(w[2526]<<16|w[2527]<<24);b=w[2520]|w[2521]<<8|(w[2522]<<16|w[2523]<<24);t[a+8|0]=b;t[a+9|0]=b>>>8;t[a+10|0]=b>>>16;t[a+11|0]=b>>>24;t[a+12|0]=c;t[a+13|0]=c>>>8;t[a+14|0]=c>>>16;t[a+15|0]=c>>>24;c=w[2516]|w[2517]<<8|(w[2518]<<16|w[2519]<<24);b=w[2512]|w[2513]<<8|(w[2514]<<16|w[2515]<<24);t[a|0]=b;t[a+1|0]=b>>>8;t[a+2|0]=b>>>16;t[a+3|0]=b>>>24;t[a+4|0]=c;t[a+5|0]=c>>>8;t[a+6|0]=c>>>16;t[a+7|0]=c>>>24;v[1283]=d;t[5151]=0;t[5140]=0;t[5163]=0;t[5152]=0;t[5235]=0;t[5223]=0;t[5224]=0;v[1291]=0;v[1292]=0;v[1293]=0;v[1294]=0;v[1295]=0;v[1296]=0;t[5188]=0;t[5199]=0;t[5200]=0;t[5201]=0;t[5202]=0;t[5203]=0;t[5204]=0;t[5205]=0;t[5206]=0;t[5205]=0;t[5206]=0;t[5207]=0;t[5208]=0;t[5209]=0;t[5210]=0;t[5211]=0;t[5212]=0;ha[12](5236)|0;v[1349]=5284;v[1331]=42}function Rb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:{b:{c:{d:{e:{f:{g:{h:{i:{if(b){if(!c){break i}break h}b=a;a=(a>>>0)/(c>>>0)|0;ea=b-B(a,c)|0;fa=0;ga=0;return a}if(!a){break g}break f}d=c-1|0;if(!(d&c)){break e}g=(E(c)+33|0)-E(b)|0;f=0-g|0;break c}ea=0;a=(b>>>0)/0|0;fa=b-B(a,0)|0;ga=0;return a}d=32-E(b)|0;if(d>>>0<31){break d}break b}ea=a&d;fa=0;if((c|0)==1){break a}if(c){d=31-E(c-1^c)|0}else{d=32}c=d&31;if((d&63)>>>0>=32){d=0;a=b>>>c|0}else{d=b>>>c|0;a=((1<<c)-1&b)<<32-c|a>>>c}ga=d;return a}g=d+1|0;f=63-d|0}d=g&63;e=d&31;if(d>>>0>=32){d=0;h=b>>>e|0}else{d=b>>>e|0;h=((1<<e)-1&b)<<32-e|a>>>e}e=d;d=f&63;f=d&31;if(d>>>0>=32){d=a<<f;a=0}else{d=(1<<f)-1&a>>>32-f|b<<f;a=a<<f}b=d;if(g){f=c-1|0;k=(f|0)!=-1?0:-1;while(1){d=h<<1|b>>>31;e=e<<1|h>>>31;i=k-(e+(d>>>0>f>>>0)|0)>>31;j=c&i;h=d-j|0;e=e-(d>>>0<j>>>0)|0;b=b<<1|a>>>31;a=l|a<<1;i=i&1;l=i;g=g-1|0;if(g){continue}break}}ea=h;fa=e;ga=b<<1|a>>>31;return i|a<<1}ea=a;fa=b;a=0;b=0}ga=b;return a}function mb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=da-16|0;a:{if(!d){j=c;g=b;break a}g=b;j=c;while(1){h=w[j|0];if((h|0)==61){break a}h=w[h+2256|0];if((h|0)==255){break a}d=d-1|0;t[(f+9|0)+e|0]=h;e=e+1|0;if((e|0)==4){e=w[f+11|0];t[f+15|0]=w[f+12|0]+(e<<6);h=w[f+10|0];i=h>>>4&3|w[f+9|0]<<2;t[f+13|0]=i;t[f+14|0]=e>>>2&15|h<<4;t[g|0]=i;t[g+1|0]=w[f+14|0];t[g+2|0]=w[f+15|0];e=0;g=g+3|0}j=j+1|0;if(d){continue}break}}b:{if(!e){break b}d=w[f+11|0];t[f+15|0]=w[f+12|0]+(d<<6);h=w[f+10|0];i=h>>>4&3|w[f+9|0]<<2;t[f+13|0]=i;t[f+14|0]=d>>>2&15|h<<4;if((e|0)<2){break b}t[g|0]=i;d=1;g=g+1|0;if((e|0)==2){break b}i=e-2|0;h=i&3;if(e-3>>>0>=3){k=i&-4;i=0;while(1){e=(f+13|0)+d|0;t[g|0]=w[e|0];t[g+1|0]=w[e+1|0];t[g+2|0]=w[e+2|0];t[g+3|0]=w[e+3|0];d=d+4|0;g=g+4|0;i=i+4|0;if((k|0)!=(i|0)){continue}break}}if(!h){break b}e=0;while(1){t[g|0]=w[(f+13|0)+d|0];d=d+1|0;g=g+1|0;e=e+1|0;if((h|0)!=(e|0)){continue}break}}v[a+4>>2]=j-c;v[a>>2]=g-b}function Ia(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=da-16|0;da=e;v[e+8>>2]=0;v[e>>2]=0;v[e+4>>2]=0;if((a+8|0)!=(e|0)){va(e,v[a+8>>2],v[a+12>>2])}a:{f=v[a+24>>2];d=v[a+20>>2];h=f-d|0;j=v[a+4>>2];i=(c>>>0)/(j>>>0)|0;g=+y[a+32>>2]/+(B(i+1|0,w[((i>>>0)%(h>>>0)|0)+d|0])|0)*100;b:{if(g<0x10000000000000000&g>=0){k=D(g)>=1?~~(g>0?F(H(g*2.3283064365386963e-10),4294967295):I((g-+(~~g>>>0>>>0))*2.3283064365386963e-10))>>>0:0;l=~~g>>>0;break b}l=0}c=0-(Tb(l,k,h)+(c-B(i,j)|0)|0)|0;if((c|0)>=(v[b+4>>2]-v[b>>2]|0)){break a}h=0;while(1){d=f-d|0;h=(h+1>>>0)%(d>>>0)|0;f=v[e>>2];i=h+f|0;k=w[i|0];m=(k+m>>>0)%(d>>>0)|0;d=m+f|0;f=w[d|0];t[d|0]=k;t[i|0]=f;if((c|0)>=0){d=v[b>>2]+c|0;l=d;j=w[d|0];d=v[e>>2];t[l|0]=j^w[((w[d+m|0]+w[d+h|0]>>>0)%(v[a+24>>2]-v[a+20>>2]>>>0)|0)+d|0]}c=c+1|0;if((c|0)>=(v[b+4>>2]-v[b>>2]|0)){break a}d=v[a+20>>2];f=v[a+24>>2];continue}}a=v[e>>2];if(a){v[e+4>>2]=a;ma(a)}da=e+16|0}function zb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=da+-64|0;da=f;d=1;a:{if(ra(a,b,0)){break a}d=0;if(!b){break a}d=da+-64|0;da=d;e=v[b>>2];g=v[e-4>>2];h=v[e-8>>2];v[d+20>>2]=0;v[d+16>>2]=4432;v[d+12>>2]=b;v[d+8>>2]=4480;e=0;Aa(d+24|0,0,39);b=b+h|0;b:{if(ra(g,4480,0)){v[d+56>>2]=1;ha[v[v[g>>2]+20>>2]](g,d+8|0,b,b,1,0);e=v[d+32>>2]==1?b:0;break b}ha[v[v[g>>2]+24>>2]](g,d+8|0,b,1,0);c:{switch(v[d+44>>2]){case 0:e=v[d+48>>2]==1?v[d+36>>2]==1?v[d+40>>2]==1?v[d+28>>2]:0:0:0;break b;case 1:break c;default:break b}}if(v[d+32>>2]!=1){if(v[d+48>>2]|v[d+36>>2]!=1|v[d+40>>2]!=1){break b}}e=v[d+24>>2]}da=d- -64|0;d=0;if(!e){break a}b=f+8|0;Aa(b|4,0,52);v[f+56>>2]=1;v[f+20>>2]=-1;v[f+16>>2]=a;v[f+8>>2]=e;ha[v[v[e>>2]+28>>2]](e,b,v[c>>2],1);a=v[f+32>>2];if((a|0)==1){v[c>>2]=v[f+24>>2]}d=(a|0)==1}da=f- -64|0;return d|0}function Gb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=da-32|0;da=e;f=v[a+28>>2];v[e+16>>2]=f;d=v[a+20>>2];v[e+28>>2]=c;v[e+24>>2]=b;b=d-f|0;v[e+20>>2]=b;f=b+c|0;j=2;a:{b:{b=e+16|0;d=V(v[a+60>>2],b|0,2,e+12|0)|0;if(d){v[1312]=d;d=-1}else{d=0}c:{if(!d){while(1){d=v[e+12>>2];if((d|0)==(f|0)){break c}if((d|0)<0){break b}g=v[b+4>>2];h=g>>>0<d>>>0;i=(h<<3)+b|0;g=d-(h?g:0)|0;v[i>>2]=g+v[i>>2];i=(h?12:4)+b|0;v[i>>2]=v[i>>2]-g;f=f-d|0;b=h?b+8|0:b;j=j-h|0;d=V(v[a+60>>2],b|0,j|0,e+12|0)|0;if(d){v[1312]=d;d=-1}else{d=0}if(!d){continue}break}}if((f|0)!=-1){break b}}b=v[a+44>>2];v[a+28>>2]=b;v[a+20>>2]=b;v[a+16>>2]=b+v[a+48>>2];a=c;break a}v[a+28>>2]=0;v[a+16>>2]=0;v[a+20>>2]=0;v[a>>2]=v[a>>2]|32;a=0;if((j|0)==2){break a}a=c-v[b+4>>2]|0}da=e+32|0;return a|0}function Fa(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;f=da-16|0;da=f;t[f+15|0]=b;a:{b:{c:{d:{if(w[a+11|0]>>>7|0){d=(v[a+8>>2]&2147483647)-1|0;h=v[a+4>>2];if((d|0)==(h|0)){break d}break b}h=10;d=10;b=w[a+11|0];if((b|0)!=10){break c}}g=da-16|0;da=g;e:{if((d|0)!=-17){if(w[a+11|0]>>>7|0){b=v[a>>2]}else{b=a}f:{if(d>>>0<2147483623){v[g+8>>2]=d<<1;v[g+12>>2]=d+1;c=da-16|0;da=c;da=c+16|0;c=g+8|0;e=g+12|0;c=v[(y[e>>2]<y[c>>2]?c:e)>>2];if(c>>>0>=11){e=c+16&-16;c=e-1|0;c=(c|0)==11?e:c}else{c=10}break f}c=-18}e=c+1|0;c=na(e);if(d){ta(c,b,d)}if((d|0)!=10){ma(b)}v[a>>2]=c;v[a+8>>2]=e|-2147483648;da=g+16|0;break e}pa();L()}b=h;if(w[a+11|0]>>>7|0){break b}}d=a;t[a+11|0]=b+1;break a}d=v[a>>2];v[a+4>>2]=h+1;b=h}a=b+d|0;t[a|0]=w[f+15|0];t[f+14|0]=0;t[a+1|0]=w[f+14|0];da=f+16|0}function $a(a,b,c){a:{switch(b-9|0){case 0:b=v[c>>2];v[c>>2]=b+4;v[a>>2]=v[b>>2];return;case 6:b=v[c>>2];v[c>>2]=b+4;b=u[b>>1];v[a>>2]=b;v[a+4>>2]=b>>31;return;case 7:b=v[c>>2];v[c>>2]=b+4;v[a>>2]=x[b>>1];v[a+4>>2]=0;return;case 8:b=v[c>>2];v[c>>2]=b+4;b=t[b|0];v[a>>2]=b;v[a+4>>2]=b>>31;return;case 9:b=v[c>>2];v[c>>2]=b+4;v[a>>2]=w[b|0];v[a+4>>2]=0;return;case 16:b=v[c>>2]+7&-8;v[c>>2]=b+8;A[a>>3]=A[b>>3];return;case 17:ha[0](a,c);default:return;case 1:case 4:case 14:b=v[c>>2];v[c>>2]=b+4;b=v[b>>2];v[a>>2]=b;v[a+4>>2]=b>>31;return;case 2:case 5:case 11:case 15:b=v[c>>2];v[c>>2]=b+4;v[a>>2]=v[b>>2];v[a+4>>2]=0;return;case 3:case 10:case 12:case 13:break a}}b=v[c>>2]+7&-8;v[c>>2]=b+8;c=v[b+4>>2];v[a>>2]=v[b>>2];v[a+4>>2]=c}function Ua(a,b,c){var d=0,e=0;a:{if((a|0)==(b|0)){break a}e=a+c|0;if(b-e>>>0<=0-(c<<1)>>>0){oa(a,b,c);return}d=(a^b)&3;b:{c:{if(a>>>0<b>>>0){if(d){break b}if(!(a&3)){break c}while(1){if(!c){break a}t[a|0]=w[b|0];b=b+1|0;c=c-1|0;a=a+1|0;if(a&3){continue}break}break c}d:{if(d){break d}if(e&3){while(1){if(!c){break a}c=c-1|0;d=c+a|0;t[d|0]=w[b+c|0];if(d&3){continue}break}}if(c>>>0<=3){break d}while(1){c=c-4|0;v[c+a>>2]=v[b+c>>2];if(c>>>0>3){continue}break}}if(!c){break a}while(1){c=c-1|0;t[c+a|0]=w[b+c|0];if(c){continue}break}break a}if(c>>>0<=3){break b}while(1){v[a>>2]=v[b>>2];b=b+4|0;a=a+4|0;c=c-4|0;if(c>>>0>3){continue}break}}if(!c){break a}while(1){t[a|0]=w[b|0];a=a+1|0;b=b+1|0;c=c-1|0;if(c){continue}break}}}function Aa(a,b,c){var d=0,e=0,f=0;a:{if(!c){break a}t[a|0]=b;e=a+c|0;t[e-1|0]=b;if(c>>>0<3){break a}t[a+2|0]=b;t[a+1|0]=b;t[e-3|0]=b;t[e-2|0]=b;if(c>>>0<7){break a}t[a+3|0]=b;t[e-4|0]=b;if(c>>>0<9){break a}e=0-a&3;f=e+a|0;d=B(b&255,16843009);v[f>>2]=d;b=c-e&-4;c=b+f|0;v[c-4>>2]=d;if(b>>>0<9){break a}v[f+8>>2]=d;v[f+4>>2]=d;v[c-8>>2]=d;v[c-12>>2]=d;if(b>>>0<25){break a}v[f+24>>2]=d;v[f+20>>2]=d;v[f+16>>2]=d;v[f+12>>2]=d;v[c-16>>2]=d;v[c-20>>2]=d;v[c-24>>2]=d;v[c-28>>2]=d;c=b;b=f&4|24;c=c-b|0;if(c>>>0<32){break a}d=Sb(d,0,1,1);e=ga;b=b+f|0;while(1){v[b+24>>2]=d;v[b+28>>2]=e;v[b+16>>2]=d;v[b+20>>2]=e;v[b+8>>2]=d;v[b+12>>2]=e;v[b>>2]=d;v[b+4>>2]=e;b=b+32|0;c=c-32|0;if(c>>>0>31){continue}break}}return a}function Wa(a){var b=0,c=0,d=0,e=0,f=0;d=da-16|0;da=d;if(w[a+11|0]>>>7|0){a=v[a>>2]}v[d>>2]=a;b=v[1092];e=da-16|0;da=e;v[e+12>>2]=d;c=da-208|0;da=c;v[c+204>>2]=d;a=c+160|0;Aa(a,0,40);v[c+200>>2]=v[c+204>>2];a:{if((bb(0,c+200|0,c+80|0,a)|0)<0){break a}a=v[b+76>>2]>=0;d=v[b>>2];if(v[b+72>>2]<=0){v[b>>2]=d&-33}b:{c:{d:{if(!v[b+48>>2]){v[b+48>>2]=80;v[b+28>>2]=0;v[b+16>>2]=0;v[b+20>>2]=0;f=v[b+44>>2];v[b+44>>2]=c;break d}if(v[b+16>>2]){break c}}if(Ta(b)){break b}}bb(b,c+200|0,c+80|0,c+160|0)}if(f){ha[v[b+36>>2]](b,0,0)|0;v[b+48>>2]=0;v[b+44>>2]=f;v[b+28>>2]=0;v[b+16>>2]=0;v[b+20>>2]=0}v[b>>2]=v[b>>2]|d&32;if(!a){break a}}da=c+208|0;da=e+16|0;R();L()}function za(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;e=v[c>>2];if((v[c+4>>2]-e|0)==16){c=v[a>>2];c=c<<8&16711680|c<<24|(c>>>8&65280|c>>>24);a=v[a+4>>2];a=a<<8&16711680|a<<24|(a>>>8&65280|a>>>24);d=v[e>>2];g=d<<8&16711680|d<<24|(d>>>8&65280|d>>>24);d=v[e+4>>2];h=d<<8&16711680|d<<24|(d>>>8&65280|d>>>24);d=v[e+8>>2];d=d<<8&16711680|d<<24|(d>>>8&65280|d>>>24);e=v[e+12>>2];i=e<<8&16711680|e<<24|(e>>>8&65280|e>>>24);e=-478700656;while(1){a=a-((c>>>5|0)+i^(d+(c<<4)^c+e))|0;c=c-((a<<4)+g^a+e^(a>>>5|0)+h)|0;e=e+1640531527|0;f=f+1|0;if((f|0)!=16){continue}break}v[b>>2]=c<<8&16711680|c<<24|(c>>>8&65280|c>>>24);v[b+4>>2]=a<<8&16711680|a<<24|(a>>>8&65280|a>>>24)}}function rb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;if(ra(a,v[b+8>>2],f)){La(b,c,d,e);return}h=w[b+53|0];g=v[a+12>>2];t[b+53|0]=0;i=w[b+52|0];t[b+52|0]=0;j=a+16|0;Ka(j,b,c,d,e,f);k=w[b+53|0];h=h|k;l=w[b+52|0];i=i|l;a:{if((g|0)<2){break a}j=j+(g<<3)|0;g=a+24|0;while(1){if(w[b+54|0]){break a}b:{if(l){if(v[b+24>>2]==1){break a}if(w[a+8|0]&2){break b}break a}if(!k){break b}if(!(t[a+8|0]&1)){break a}}u[b+52>>1]=0;Ka(g,b,c,d,e,f);k=w[b+53|0];h=k|h;l=w[b+52|0];i=l|i;g=g+8|0;if(j>>>0>g>>>0){continue}break}}t[b+53|0]=(h&255)!=0;t[b+52|0]=(i&255)!=0}function Ha(a,b,c,d,e,f,g,h){var i=0,j=0,k=0;i=da-16|0;da=i;if((b^-1)-17>>>0>=c>>>0){if(w[a+11|0]>>>7|0){k=v[a>>2]}else{k=a}a:{if(b>>>0<2147483623){v[i+8>>2]=b<<1;v[i+12>>2]=b+c;c=da-16|0;da=c;da=c+16|0;c=i+8|0;j=i+12|0;c=v[(y[j>>2]<y[c>>2]?c:j)>>2];if(c>>>0>=11){j=c+16&-16;c=j-1|0;c=(c|0)==11?j:c}else{c=10}break a}c=-18}j=c+1|0;c=na(j);if(e){ta(c,k,e)}if(g){ta(c+e|0,h,g)}d=d-(e+f|0)|0;if(d){ta((c+e|0)+g|0,(e+k|0)+f|0,d)}if((b|0)!=10){ma(k)}v[a>>2]=c;v[a+8>>2]=j|-2147483648;b=a;a=d+(e+g|0)|0;v[b+4>>2]=a;t[i+7|0]=0;t[a+c|0]=w[i+7|0];da=i+16|0;return}pa();L()}function tb(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(ra(a,v[b+8>>2],e)){if(!(v[b+28>>2]==1|v[b+4>>2]!=(c|0))){v[b+28>>2]=d}return}a:{if(ra(a,v[b>>2],e)){if(!(v[b+16>>2]!=(c|0)&v[b+20>>2]!=(c|0))){if((d|0)!=1){break a}v[b+32>>2]=1;return}v[b+32>>2]=d;b:{if(v[b+44>>2]==4){break b}u[b+52>>1]=0;a=v[a+8>>2];ha[v[v[a>>2]+20>>2]](a,b,c,c,1,e);if(w[b+53|0]){v[b+44>>2]=3;if(!w[b+52|0]){break b}break a}v[b+44>>2]=4}v[b+20>>2]=c;v[b+40>>2]=v[b+40>>2]+1;if(v[b+36>>2]!=1|v[b+24>>2]!=2){break a}t[b+54|0]=1;return}a=v[a+8>>2];ha[v[v[a>>2]+24>>2]](a,b,c,d,e)}}function Xa(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;h=da-16|0;da=h;e=da-16|0;da=e;while(1){if((d|0)!=3){v[(d<<2)+a>>2]=0;d=d+1|0;continue}break}da=e+16|0;if(w[b+11|0]>>>7|0){e=v[b+4>>2]}else{e=w[b+11|0]}i=Ja(c);if(w[b+11|0]>>>7|0){b=v[b>>2]}g=da-16|0;da=g;a:{d=e+i|0;if(d>>>0<=4294967279){b:{if(d>>>0<=10){t[a+11|0]=e;d=a;break b}if(d>>>0>=11){d=d+16&-16;f=d-1|0;d=(f|0)==11?d:f}else{d=10}f=d+1|0;d=na(f);v[a>>2]=d;v[a+8>>2]=f|-2147483648;v[a+4>>2]=e}ta(d,b,e);t[g+15|0]=0;t[d+e|0]=w[g+15|0];da=g+16|0;break a}pa();L()}Ya(a,c,i);da=h+16|0}function va(a,b,c){var d=0,e=0,f=0,g=0,h=0;e=c-b|0;f=v[a+8>>2];d=v[a>>2];if(e>>>0<=f-d>>>0){f=v[a+4>>2]-d|0;g=e>>>0>f>>>0?f+b|0:c;h=g-b|0;if(h){Ua(d,b,h)}if(e>>>0>f>>>0){b=v[a+4>>2];c=c-g|0;if((c|0)>0){b=oa(b,g,c)+c|0}v[a+4>>2]=b;return}v[a+4>>2]=d+h;return}if(d){v[a+4>>2]=d;ma(d);v[a+8>>2]=0;v[a>>2]=0;v[a+4>>2]=0;f=0}a:{if((e|0)<0){break a}c=f<<1;d=f>>>0<1073741823?c>>>0<e>>>0?e:c:2147483647;if((d|0)<0){break a}c=na(d);v[a>>2]=c;v[a+4>>2]=c;v[a+8>>2]=c+d;v[a+4>>2]=oa(c,b,e)+e;return}pa();L()}function ua(a,b,c){var d=0,e=0;d=(c|0)!=0;a:{b:{c:{if(!(a&3)|!c){break c}e=b&255;while(1){if((e|0)==w[a|0]){break b}c=c-1|0;d=(c|0)!=0;a=a+1|0;if(!(a&3)){break c}if(c){continue}break}}if(!d){break a}}d:{if(w[a|0]==(b&255)|c>>>0<4){break d}d=B(b&255,16843009);while(1){e=d^v[a>>2];if((e^-1)&e-16843009&-2139062144){break d}a=a+4|0;c=c-4|0;if(c>>>0>3){continue}break}}if(!c){break a}b=b&255;while(1){if((b|0)==w[a|0]){return a}a=a+1|0;c=c-1|0;if(c){continue}break}}return 0}function cb(a,b){if(!a){return 0}a:{b:{if(a){if(b>>>0<=127){break b}c:{if(!v[v[1349]>>2]){if((b&-128)==57216){break b}break c}if(b>>>0<=2047){t[a+1|0]=b&63|128;t[a|0]=b>>>6|192;a=2;break a}if(!((b&-8192)!=57344&b>>>0>=55296)){t[a+2|0]=b&63|128;t[a|0]=b>>>12|224;t[a+1|0]=b>>>6&63|128;a=3;break a}if(b-65536>>>0<=1048575){t[a+3|0]=b&63|128;t[a|0]=b>>>18|240;t[a+2|0]=b>>>6&63|128;t[a+1|0]=b>>>12&63|128;a=4;break a}}v[1312]=25;a=-1}else{a=1}break a}t[a|0]=b;a=1}return a}function sa(a,b,c){var d=0,e=0;d=da-16|0;da=d;v[d+8>>2]=c;v[d+12>>2]=-1;if(w[a+11|0]>>>7|0){e=v[a+4>>2]}else{e=w[a+11|0]}if((c|0)!=-1){v[d>>2]=e;c=da-16|0;da=c;da=c+16|0;c=d+12|0;v[d+4>>2]=v[(y[d>>2]<y[c>>2]?d:c)>>2];if(w[a+11|0]>>>7|0){a=v[a>>2]}c=da-16|0;da=c;da=c+16|0;e=d+8|0;c=d+4|0;e=v[(y[e>>2]<y[c>>2]?e:c)>>2];c=0;a:{if(!e){break a}c=Qa(a,b,e)}a=c;b:{if(a){break b}a=-1;b=v[d+4>>2];c=v[d+8>>2];if(b>>>0<c>>>0){break b}a=b>>>0>c>>>0}da=d+16|0;return a}pa();L()}function qa(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;a:{c=v[a+4>>2];e=v[a>>2];f=c-e|0;b:{if(f>>>0<b>>>0){g=b-f|0;d=v[a+8>>2];if(g>>>0<=d-c>>>0){if(g){c=Aa(c,0,g)+g|0}v[a+4>>2]=c;return}if((b|0)<0){break a}c=0;d=d-e|0;h=d<<1;d=d>>>0<1073741823?b>>>0>h>>>0?b:h:2147483647;if(d){c=na(d)}Aa(c+f|0,0,g);if((f|0)>0){oa(c,e,f)}v[a+8>>2]=c+d;v[a+4>>2]=b+c;v[a>>2]=c;if(!e){break b}ma(e);return}if(b>>>0>=f>>>0){break b}v[a+4>>2]=b+e}return}pa();L()}function Ba(a,b,c){var d=0,e=0,f=0;if(!(w[a|0]&32)){a:{d=b;b=a;a=v[b+16>>2];b:{if(!a){if(Ta(b)){break b}a=v[b+16>>2]}f=v[b+20>>2];if(a-f>>>0<c>>>0){ha[v[b+36>>2]](b,d,c)|0;break a}c:{if(v[b+80>>2]<0){break c}a=c;while(1){e=a;if(!a){break c}a=e-1|0;if(w[d+a|0]!=10){continue}break}if(ha[v[b+36>>2]](b,d,e)>>>0<e>>>0){break b}d=d+e|0;c=c-e|0;f=v[b+20>>2]}oa(f,d,c);v[b+20>>2]=v[b+20>>2]+c}}}}function Ya(a,b,c){var d=0,e=0,f=0;f=da-16|0;da=f;d=w[a+11|0]>>>7|0?(v[a+8>>2]&2147483647)-1|0:10;if(w[a+11|0]>>>7|0){e=v[a+4>>2]}else{e=w[a+11|0]}a:{if(d-e>>>0>=c>>>0){if(!c){break a}if(w[a+11|0]>>>7|0){d=v[a>>2]}else{d=a}ta(d+e|0,b,c);b=c+e|0;b:{if(w[a+11|0]>>>7|0){v[a+4>>2]=b;break b}t[a+11|0]=b}t[f+15|0]=0;t[b+d|0]=w[f+15|0];break a}Ha(a,d,(c+e|0)-d|0,e,e,0,c,b)}da=f+16|0}function ra(a,b,c){var d=0;if(!c){return v[a+4>>2]==v[b+4>>2]}if((a|0)==(b|0)){return 1}c=da-16|0;v[c+8>>2]=a;v[c+12>>2]=v[v[c+8>>2]+4>>2];a=v[c+12>>2];v[c+8>>2]=b;v[c+12>>2]=v[v[c+8>>2]+4>>2];d=v[c+12>>2];b=w[d|0];c=w[a|0];a:{if(!c|(b|0)!=(c|0)){break a}while(1){b=w[d+1|0];c=w[a+1|0];if(!c){break a}d=d+1|0;a=a+1|0;if((b|0)==(c|0)){continue}break}}return(b|0)==(c|0)}function xa(a,b,c){var d=0,e=0,f=0,g=0;e=da-16|0;da=e;d=w[a+11|0]>>>7|0?(v[a+8>>2]&2147483647)-1|0:10;a:{if(d>>>0>=c>>>0){if(w[a+11|0]>>>7|0){d=v[a>>2]}else{d=a}if(c){Ua(d,b,c)}t[e+15|0]=0;t[c+d|0]=w[e+15|0];b:{if(w[a+11|0]>>>7|0){v[a+4>>2]=c;break b}t[a+11|0]=c}break a}f=a;g=c-d|0;if(w[a+11|0]>>>7|0){a=v[a+4>>2]}else{a=w[a+11|0]}Ha(f,d,g,a,0,a,c,b)}da=e+16|0}function sb(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(ra(a,v[b+8>>2],e)){if(!(v[b+28>>2]==1|v[b+4>>2]!=(c|0))){v[b+28>>2]=d}return}a:{if(!ra(a,v[b>>2],e)){break a}if(!(v[b+16>>2]!=(c|0)&v[b+20>>2]!=(c|0))){if((d|0)!=1){break a}v[b+32>>2]=1;return}v[b+20>>2]=c;v[b+32>>2]=d;v[b+40>>2]=v[b+40>>2]+1;if(!(v[b+36>>2]!=1|v[b+24>>2]!=2)){t[b+54|0]=1}v[b+44>>2]=4}}function La(a,b,c,d){t[a+53|0]=1;a:{if(v[a+4>>2]!=(c|0)){break a}t[a+52|0]=1;c=v[a+16>>2];b:{if(!c){v[a+36>>2]=1;v[a+24>>2]=d;v[a+16>>2]=b;if(v[a+48>>2]!=1){break a}if((d|0)==1){break b}break a}if((b|0)==(c|0)){c=v[a+24>>2];if((c|0)==2){v[a+24>>2]=d;c=d}if(v[a+48>>2]!=1){break a}if((c|0)==1){break b}break a}v[a+36>>2]=v[a+36>>2]+1}t[a+54|0]=1}}function Fb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;e=da-16|0;da=e;f=v[d>>2];if(f>>>0<4294967280){a:{b:{if(f>>>0>=11){h=f+16&-16;g=na(h);v[e+8>>2]=h|-2147483648;v[e>>2]=g;v[e+4>>2]=f;break b}t[e+11|0]=f;g=e;if(!f){break a}}oa(g,d+4|0,f)}t[f+g|0]=0;a=ha[a|0](b,c,e)|0;if(t[e+11|0]<0){ma(v[e>>2])}da=e+16|0;return a|0}pa();L()}function Za(a,b,c){var d=0,e=0,f=0;f=da-16|0;da=f;if(c>>>0<=4294967279){a:{if(c>>>0<=10){t[a+11|0]=c;d=a;break a}if(c>>>0>=11){e=c+16&-16;d=e-1|0;d=(d|0)==11?e:d}else{d=10}e=d+1|0;d=na(e);v[a>>2]=d;v[a+8>>2]=e|-2147483648;v[a+4>>2]=c}ta(d,b,c);t[f+15|0]=0;t[c+d|0]=w[f+15|0];da=f+16|0;return}pa();L()}function Qa(a,b,c){var d=0,e=0;a:{b:{if(c>>>0>=4){if((a|b)&3){break b}while(1){if(v[a>>2]!=v[b>>2]){break b}b=b+4|0;a=a+4|0;c=c-4|0;if(c>>>0>3){continue}break}}if(!c){break a}}while(1){d=w[a|0];e=w[b|0];if((d|0)==(e|0)){b=b+1|0;a=a+1|0;c=c-1|0;if(c){continue}break a}break}return d-e|0}return 0}function Ja(a){var b=0,c=0,d=0;b=a;a:{if(b&3){while(1){if(!w[b|0]){break a}b=b+1|0;if(b&3){continue}break}}while(1){c=b;b=b+4|0;d=v[c>>2];if(!((d^-1)&d-16843009&-2139062144)){continue}break}if(!(d&255)){return c-a|0}while(1){d=w[c+1|0];b=c+1|0;c=b;if(d){continue}break}}return b-a|0}function Pa(a,b,c,d){var e=0;e=da-16|0;da=e;v[e+12>>2]=d;d=w[b+11|0]>>>7|0?v[b+4>>2]:w[b+11|0];if(d>>>0<c>>>0){pa();L()}b=w[b+11|0]>>>7|0?v[b>>2]:b;v[e+4>>2]=d-c;d=da-16|0;da=d;da=d+16|0;d=a;c=b+c|0;a=e+4|0;b=e+12|0;Za(d,c,v[(y[a>>2]<y[b>>2]?a:b)>>2]);da=e+16|0}function wb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;if(ra(a,v[b+8>>2],0)){Ma(b,c,d);return}e=v[a+12>>2];f=a+16|0;Va(f,b,c,d);a:{if((e|0)<2){break a}e=(e<<3)+f|0;a=a+24|0;while(1){Va(a,b,c,d);if(w[b+54|0]){break a}a=a+8|0;if(e>>>0>a>>>0){continue}break}}}function Ga(a,b,c){var d=0,e=0;a:{b:{if(c>>>0<=10){d=a;t[d+11|0]=c;break b}if(c>>>0>4294967279){break a}if(c>>>0>=11){e=c+16&-16;d=e-1|0;d=(d|0)==11?e:d}else{d=10}e=d+1|0;d=na(e);v[a>>2]=d;v[a+8>>2]=e|-2147483648;v[a+4>>2]=c}ta(d,b,c+1|0);return}pa();L()}function ab(a){var b=0,c=0,d=0;if(t[v[a>>2]]-48>>>0>=10){return 0}while(1){d=v[a>>2];c=-1;if(b>>>0<=214748364){c=t[d|0]-48|0;b=B(b,10);c=(c|0)>(2147483647-b|0)?-1:c+b|0}v[a>>2]=d+1;b=c;if(t[d+1|0]-48>>>0<10){continue}break}return b}function Oa(a,b,c){var d=0,e=0,f=0;e=da-16|0;da=e;d=v[a+8>>2]&2147483647;a:{if(d>>>0>c>>>0){d=v[a>>2];v[a+4>>2]=c;ta(d,b,c);t[e+15|0]=0;t[c+d|0]=w[e+15|0];break a}f=a;a=v[a+4>>2];Ha(f,d-1|0,(c-d|0)+1|0,a,0,a,c,b)}da=e+16|0}function Kb(a){a=a|0;var b=0,c=0,d=0,e=0;b=da-16|0;da=b;v[b+12>>2]=a;a=da-16|0;v[a+8>>2]=v[b+12>>2];v[a+12>>2]=v[v[a+8>>2]+4>>2];a=v[a+12>>2];d=Ja(a)+1|0;e=Ca(d);c=0;a:{if(!e){break a}c=oa(e,a,d)}a=c;da=b+16|0;return a|0}function Sb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;e=c>>>16|0;f=a>>>16|0;j=B(e,f);g=c&65535;h=a&65535;i=B(g,h);f=(i>>>16|0)+B(f,g)|0;e=(f&65535)+B(e,h)|0;ga=(B(b,c)+j|0)+B(a,d)+(f>>>16)+(e>>>16)|0;return i&65535|e<<16}function Qb(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;b=da-16|0;da=b;ha[a|0](b);c=w[b+11|0];e=c<<24>>24;a=(e|0)<0;c=a?v[b+4>>2]:c;d=Ca(c+4|0);v[d>>2]=c;f=v[b>>2];oa(d+4|0,a?f:b,c);if((e|0)<0){ma(f)}da=b+16|0;return d|0}function Ma(a,b,c){var d=0;d=v[a+16>>2];if(!d){v[a+36>>2]=1;v[a+24>>2]=c;v[a+16>>2]=b;return}a:{if((b|0)==(d|0)){if(v[a+24>>2]!=2){break a}v[a+24>>2]=c;return}t[a+54|0]=1;v[a+24>>2]=2;v[a+36>>2]=v[a+36>>2]+1}}function ya(a,b,c,d,e){var f=0;f=da-256|0;da=f;if(!(e&73728|(c|0)<=(d|0))){c=c-d|0;d=c>>>0<256;Aa(f,b&255,d?c:256);if(!d){while(1){Ba(a,f,256);c=c-256|0;if(c>>>0>255){continue}break}}Ba(a,f,c)}da=f+256|0}function Eb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=da-16|0;da=e;a=Y(v[a+60>>2],b|0,c|0,d&255,e+8|0)|0;if(a){v[1312]=a;a=-1}else{a=0}da=e+16|0;ga=a?-1:v[e+12>>2];return(a?-1:v[e+8>>2])|0}function Ta(a){var b=0;b=v[a+72>>2];v[a+72>>2]=b-1|b;b=v[a>>2];if(b&8){v[a>>2]=b|32;return-1}v[a+4>>2]=0;v[a+8>>2]=0;b=v[a+44>>2];v[a+28>>2]=b;v[a+20>>2]=b;v[a+16>>2]=b+v[a+48>>2];return 0}function Na(a,b,c){var d=0,e=0;d=da-16|0;da=d;a:{if(c>>>0<=10){t[a+11|0]=c;ta(a,b,c);t[d+15|0]=0;t[a+c|0]=w[d+15|0];break a}e=a;a=w[a+11|0];Ha(e,10,c-10|0,a,0,a,c,b)}da=d+16|0}function wa(a){var b=0,c=0;b=v[1280];c=a+3&-4;a=b+c|0;a:{if(a>>>0<=b>>>0?c:0){break a}if(a>>>0>ia()<<16>>>0){if(!(aa(a|0)|0)){break a}}v[1280]=a;return b}v[1312]=48;return-1}function Mb(a){a=a|0;if(t[5235]<0){ma(v[1306])}if(t[5223]<0){ma(v[1303])}if(t[5199]<0){ma(v[1297])}a=v[1294];if(a){v[1295]=a;ma(a)}a=v[1291];if(a){v[1292]=a;ma(a)}}function Va(a,b,c,d){var e=0,f=0;e=v[a+4>>2];f=v[a>>2];a=0;a:{if(!c){break a}a=e>>8;if(!(e&1)){break a}a=v[a+v[c>>2]>>2]}ha[v[v[f>>2]+28>>2]](f,b,a+c|0,e&2?d:2)}function qb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(ra(a,v[b+8>>2],f)){La(b,c,d,e);return}a=v[a+8>>2];ha[v[v[a>>2]+20>>2]](a,b,c,d,e,f)}function Ka(a,b,c,d,e,f){var g=0,h=0;g=v[a+4>>2];h=g>>8;a=v[a>>2];if(g&1){h=v[v[d>>2]+h>>2]}ha[v[v[a>>2]+20>>2]](a,b,c,d+h|0,g&2?e:2,f)}function Da(a,b,c,d,e){var f=0,g=0;f=v[a+4>>2];g=f>>8;a=v[a>>2];if(f&1){g=v[v[c>>2]+g>>2]}ha[v[v[a>>2]+24>>2]](a,b,c+g|0,f&2?d:2,e)}function Lb(a){a=a|0;var b=0;if(t[5151]>=0){b=v[1286];v[a>>2]=v[1285];v[a+4>>2]=b;v[a+8>>2]=v[1287];return}Ga(a,v[1285],v[1286])}function Ib(a){a=a|0;var b=0;if(t[5163]>=0){b=v[1289];v[a>>2]=v[1288];v[a+4>>2]=b;v[a+8>>2]=v[1290];return}Ga(a,v[1288],v[1289])}function xb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(ra(a,v[b+8>>2],0)){Ma(b,c,d);return}a=v[a+8>>2];ha[v[v[a>>2]+28>>2]](a,b,c,d)}function na(a){var b=0;a=a?a:1;a:{while(1){b=Ca(a);if(b){break a}b=v[1357];if(b){ha[b|0]();continue}break}R();L()}return b}function pb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(ra(a,v[b+8>>2],f)){La(b,c,d,e)}}function Jb(a){a=a|0;var b=0;b=da-16|0;da=b;v[b+12>>2]=a;a=v[b+12>>2];jb();da=b+16|0;return a|0}function ob(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;a=ha[a|0](b,c,d,e)|0;_(ga|0);return a|0}function ib(a){var b=0;b=da-16|0;da=b;v[b+12>>2]=a;O(3516,0,v[b+12>>2]);da=b+16|0}function hb(a){var b=0;b=da-16|0;da=b;v[b+12>>2]=a;O(3556,1,v[b+12>>2]);da=b+16|0}function gb(a){var b=0;b=da-16|0;da=b;v[b+12>>2]=a;O(3596,2,v[b+12>>2]);da=b+16|0}function fb(a){var b=0;b=da-16|0;da=b;v[b+12>>2]=a;O(3636,3,v[b+12>>2]);da=b+16|0}function eb(a){var b=0;b=da-16|0;da=b;v[b+12>>2]=a;O(3676,4,v[b+12>>2]);da=b+16|0}function db(a){var b=0;b=da-16|0;da=b;v[b+12>>2]=a;O(3716,5,v[b+12>>2]);da=b+16|0}function yb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(ra(a,v[b+8>>2],0)){Ma(b,c,d)}}function Ub(a){var b=0;b=a&31;a=0-a&31;return(-1>>>b&-2)<<b|(-1<<a&-2)>>>a}
function Bb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha[a|0](b,c,d)|0}function Ab(a,b,c){a=a|0;b=b|0;c=c|0;return ra(a,b,0)|0}function Pb(a){a=a|0;a=v[1282];if(a){v[1283]=a;ma(a)}}function Ob(a){a=a|0;if(t[5151]<0){ma(v[1285])}}function Nb(a){a=a|0;if(t[5163]<0){ma(v[1288])}}function Sa(a,b,c,d){Z(a|0,b|0,8,0,c|0,-1,d|0)}function Tb(a,b,c){Rb(a,b,c);ga=fa;return ea}function Hb(a){a=a|0;return ba(v[a+60>>2])|0}function ta(a,b,c){if(c){oa(a,b,c)}}function Cb(a){a=a|0;return a|0}function Ea(a){a=a|0;ma(a)}function pa(){R();L()}function _a(a){a=a|0}
// EMSCRIPTEN_END_FUNCS
e=w;p(ka);var ha=c([null,Qb,Lb,Ib,Fb,Db,Bb,vb,Pb,Ob,Nb,Mb,Jb,Hb,Gb,Eb,Cb,Ea,_a,_a,Ab,Ea,zb,pb,sb,yb,Ea,qb,tb,xb,Ea,rb,ub,wb]);function ia(){return s.byteLength/65536|0}return{"s":nb,"t":Ca,"u":ha,"v":Kb,"w":jb,"x":ma,"y":ob}}return ja(la)}
// EMSCRIPTEN_END_ASM




)(asmLibraryArg)},instantiate:function(binary,info){return{then:function(ok){var module=new WebAssembly.Module(binary);ok({"instance":new WebAssembly.Instance(module)})}}},RuntimeError:Error};wasmBinary=[];if(typeof WebAssembly!=="object"){abort("no native wasm support detected")}function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return Number(HEAPF64[ptr>>3]);default:abort("invalid type for getValue: "+type)}return null}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx<endPtr){var u0=heap[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heap[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heap[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heap[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function UTF16ToString(ptr,maxBytesToRead){var endPtr=ptr;var idx=endPtr>>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder){return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr))}else{var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str}}function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite<str.length*2?maxBytesToWrite/2:str.length;for(var i=0;i<numCharsToWrite;++i){var codeUnit=str.charCodeAt(i);HEAP16[outPtr>>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}function lengthBytesUTF16(str){return str.length*2}function UTF32ToString(ptr,maxBytesToRead){var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str}function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i<str.length;++i){var codeUnit=str.charCodeAt(i);if(codeUnit>=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}function lengthBytesUTF32(str){var len=0;for(var i=0;i<str.length;++i){var codeUnit=str.charCodeAt(i);if(codeUnit>=55296&&codeUnit<=57343)++i;len+=4}return len}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_MEMORY/65536,"maximum":INITIAL_MEMORY/65536})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeKeepaliveCounter=0;function keepRuntimeAlive(){return noExitRuntime||runtimeKeepaliveCounter>0}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){{if(Module["onAbort"]){Module["onAbort"](what)}}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}function isFileURI(filename){return filename.startsWith("file://")}var wasmBinaryFile;wasmBinaryFile="QmcLegacy.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}var binary=tryParseAsDataURI(file);if(binary){return binary}if(readBinary){return readBinary(file)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch==="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}else{if(readAsync){return new Promise(function(resolve,reject){readAsync(wasmBinaryFile,function(response){resolve(new Uint8Array(response))},reject)})}}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmTable=Module["asm"]["u"];addOnInit(Module["asm"]["s"]);removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(function(instance){return instance}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiationResult)})})}else{return instantiateArrayBuffer(receiveInstantiationResult)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync().catch(readyPromiseReject);return{}}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){getWasmTableEntry(func)()}else{getWasmTableEntry(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var wasmTableMirror=[];function getWasmTableEntry(funcPtr){var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func}function __embind_register_bigint(primitiveType,name,size,minRange,maxRange){}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return function(){null;return body.apply(this,arguments)}}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i<myTypes.length;++i){registerType(myTypes[i],myTypeConverters[i])}}var typeConverters=new Array(dependentTypes.length);var unregisteredTypes=[];var registered=0;dependentTypes.forEach(function(dt,i){if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(function(){typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}}function registerType(rawType,registeredInstance,options){options=options||{};if(!("argPackAdvance"in registeredInstance)){throw new TypeError("registerType registeredInstance requires argPackAdvance")}var name=registeredInstance.name;if(!rawType){throwBindingError('type "'+name+'" must have a positive integer typeid pointer')}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError("Cannot register type '"+name+"' twice")}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(function(cb){cb()})}}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(wt){return!!wt},"toWireType":function(destructors,o){return o?trueValue:falseValue},"argPackAdvance":8,"readValueFromPointer":function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError("Unknown boolean type size: "+name)}return this["fromWireType"](heap[pointer>>shift])},destructorFunction:null})}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function count_emval_handles(){var count=0;for(var i=5;i<emval_handle_array.length;++i){if(emval_handle_array[i]!==undefined){++count}}return count}function get_first_emval(){for(var i=5;i<emval_handle_array.length;++i){if(emval_handle_array[i]!==undefined){return emval_handle_array[i]}}return null}function init_emval(){Module["count_emval_handles"]=count_emval_handles;Module["get_first_emval"]=get_first_emval}var Emval={toValue:function(handle){if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handle_array[handle].value},toHandle:function(value){switch(value){case undefined:{return 1}case null:{return 2}case true:{return 3}case false:{return 4}default:{var handle=emval_free_list.length?emval_free_list.pop():emval_handle_array.length;emval_handle_array[handle]={refcount:1,value:value};return handle}}}};function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=Emval.toValue(handle);__emval_decref(handle);return rv},"toWireType":function(destructors,value){return Emval.toHandle(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function _embind_repr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i<argTypes.length;++i){if(argTypes[i]!==null&&argTypes[i].destructorFunction===undefined){needsDestructorStack=true;break}}var returns=argTypes[0].name!=="void";var expectedArgCount=argCount-2;var argsWired=new Array(expectedArgCount);var invokerFuncArgs=[];var destructors=[];return function(){if(arguments.length!==expectedArgCount){throwBindingError("function "+humanName+" called with "+arguments.length+" arguments, expected "+expectedArgCount+" args!")}destructors.length=0;var thisWired;invokerFuncArgs.length=isClassMethodFunc?2:1;invokerFuncArgs[0]=cppTargetFunc;if(isClassMethodFunc){thisWired=argTypes[1].toWireType(destructors,this);invokerFuncArgs[1]=thisWired}for(var i=0;i<expectedArgCount;++i){argsWired[i]=argTypes[i+2].toWireType(destructors,arguments[i]);invokerFuncArgs.push(argsWired[i])}var rv=cppInvokerFunc.apply(null,invokerFuncArgs);function onDone(rv){if(needsDestructorStack){runDestructors(destructors)}else{for(var i=isClassMethodFunc?1:2;i<argTypes.length;i++){var param=i===1?thisWired:argsWired[i-2];if(argTypes[i].destructorFunction!==null){argTypes[i].destructorFunction(param)}}}if(returns){return argTypes[0].fromWireType(rv)}}return onDone(rv)}}function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError("Cannot register public name '"+name+"' twice")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function heap32VectorToArray(count,firstElement){var array=[];for(var i=0;i<count;i++){array.push(HEAP32[(firstElement>>2)+i])}return array}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function dynCallLegacy(sig,ptr,args){var f=Module["dynCall_"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)}function dynCall(sig,ptr,args){if(sig.includes("j")){return dynCallLegacy(sig,ptr,args)}return getWasmTableEntry(ptr).apply(null,args)}function getDynCaller(sig,ptr){var argCache=[];return function(){argCache.length=arguments.length;for(var i=0;i<arguments.length;i++){argCache[i]=arguments[i]}return dynCall(sig,ptr,argCache)}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(){if(signature.includes("j")){return getDynCaller(signature,rawFunction)}return getWasmTableEntry(rawFunction)}var fp=makeDynCaller();if(typeof fp!=="function"){throwBindingError("unknown function pointer with signature "+signature+": "+rawFunction)}return fp}var UnboundTypeError=undefined;function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(message+": "+unboundTypes.map(getTypeName).join([", "]))}function __embind_register_function(name,argCount,rawArgTypesAddr,signature,rawInvoker,fn){var argTypes=heap32VectorToArray(argCount,rawArgTypesAddr);name=readLatin1String(name);rawInvoker=embind__requireFunction(signature,rawInvoker);exposePublicSymbol(name,function(){throwUnboundTypeError("Cannot call "+name+" due to unbound types",argTypes)},argCount-1);whenDependentTypesAreResolved([],argTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));replacePublicSymbol(name,craftInvokerFunction(name,invokerArgsArray,null,rawInvoker,fn),argCount-1);return[]})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<<bitshift>>>bitshift}}var isUnsignedType=name.includes("unsigned");registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(value<minRange||value>maxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var str;if(stdStringIsUTF8){var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(i==length||HEAPU8[currentBytePtr]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;i<length;++i){a[i]=String.fromCharCode(HEAPU8[value+4+i])}str=a.join("")}_free(value);return str},"toWireType":function(destructors,value){if(value instanceof ArrayBuffer){value=new Uint8Array(value)}var getLength;var valueIsOfTypeString=typeof value==="string";if(!(valueIsOfTypeString||value instanceof Uint8Array||value instanceof Uint8ClampedArray||value instanceof Int8Array)){throwBindingError("Cannot pass non-string to std::string")}if(stdStringIsUTF8&&valueIsOfTypeString){getLength=function(){return lengthBytesUTF8(value)}}else{getLength=function(){return value.length}}var length=getLength();var ptr=_malloc(4+length+1);HEAPU32[ptr>>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i<length;++i){var charCode=value.charCodeAt(i);if(charCode>255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(var i=0;i<length;++i){HEAPU8[ptr+4+i]=value[i]}}}if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);var decodeString,encodeString,getHeap,lengthBytesUTF,shift;if(charSize===2){decodeString=UTF16ToString;encodeString=stringToUTF16;lengthBytesUTF=lengthBytesUTF16;getHeap=function(){return HEAPU16};shift=1}else if(charSize===4){decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32;getHeap=function(){return HEAPU32};shift=2}registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var HEAP=getHeap();var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||HEAP[currentBytePtr>>shift]==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},"toWireType":function(destructors,value){if(!(typeof value==="string")){throwBindingError("Cannot pass non-string to C++ string type "+name)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}function _abort(){abort("")}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;abortOnCannotGrowMemory(requestedSize)}var SYSCALLS={mappings:{},buffers:[null,[],[]],printChar:function(stream,curr){var buffer=SYSCALLS.buffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},get64:function(low,high){return low}};function _fd_close(fd){return 0}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){}function _fd_write(fd,iov,iovcnt,pnum){var num=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov>>2];var len=HEAP32[iov+4>>2];iov+=8;for(var j=0;j<len;j++){SYSCALLS.printChar(fd,HEAPU8[ptr+j])}num+=len}HEAP32[pnum>>2]=num;return 0}embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_emval();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");var ASSERTIONS=false;function intArrayToString(array){var ret=[];for(var i=0;i<array.length;i++){var chr=array[i];if(chr>255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+")  at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i<input.length);return output};function intArrayFromBase64(s){if(typeof ENVIRONMENT_IS_NODE==="boolean"&&ENVIRONMENT_IS_NODE){var buf=Buffer.from(s,"base64");return new Uint8Array(buf["buffer"],buf["byteOffset"],buf["byteLength"])}try{var decoded=decodeBase64(s);var bytes=new Uint8Array(decoded.length);for(var i=0;i<decoded.length;++i){bytes[i]=decoded.charCodeAt(i)}return bytes}catch(_){throw new Error("Converting base64 string to bytes failed.")}}function tryParseAsDataURI(filename){if(!isDataURI(filename)){return}return intArrayFromBase64(filename.slice(dataURIPrefix.length))}var asmLibraryArg={"m":__embind_register_bigint,"k":__embind_register_bool,"j":__embind_register_emval,"g":__embind_register_float,"d":__embind_register_function,"c":__embind_register_integer,"b":__embind_register_memory_view,"h":__embind_register_std_string,"f":__embind_register_std_wstring,"r":__embind_register_void,"e":_abort,"o":_emscripten_memcpy_big,"p":_emscripten_resize_heap,"q":_fd_close,"l":_fd_seek,"i":_fd_write,"a":wasmMemory,"n":setTempRet0};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["s"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["t"]).apply(null,arguments)};var ___getTypeName=Module["___getTypeName"]=function(){return(___getTypeName=Module["___getTypeName"]=Module["asm"]["v"]).apply(null,arguments)};var ___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=function(){return(___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=Module["asm"]["w"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["x"]).apply(null,arguments)};var dynCall_jiji=Module["dynCall_jiji"]=function(){return(dynCall_jiji=Module["dynCall_jiji"]=Module["asm"]["y"]).apply(null,arguments)};Module["getValue"]=getValue;Module["UTF8ToString"]=UTF8ToString;Module["writeArrayToMemory"]=writeArrayToMemory;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run();


  return QmcCryptoModule.ready
}
);
})();
if (typeof exports === 'object' && typeof module === 'object')
  module.exports = QmcCryptoModule;
else if (typeof define === 'function' && define['amd'])
  define([], function() { return QmcCryptoModule; });
else if (typeof exports === 'object')
  exports["QmcCryptoModule"] = QmcCryptoModule;
