TeaWeb/asm/generated/libopus.js
2018-03-07 19:06:52 +01:00

56 lines
755 KiB
JavaScript

var Module = function(Module) {
Module = Module || {};
var a;a||(a=typeof Module !== 'undefined' ? Module : {});var e={},g;for(g in a)a.hasOwnProperty(g)&&(e[g]=a[g]);a.arguments=[];a.thisProgram="./this.program";a.quit=function(b,c){throw c;};a.preRun=[];a.postRun=[];var k=!1,l=!1,m=!1,n=!1;
if(a.ENVIRONMENT)if("WEB"===a.ENVIRONMENT)k=!0;else if("WORKER"===a.ENVIRONMENT)l=!0;else if("NODE"===a.ENVIRONMENT)m=!0;else if("SHELL"===a.ENVIRONMENT)n=!0;else throw Error("Module['ENVIRONMENT'] value is not valid. must be one of: WEB|WORKER|NODE|SHELL.");else k="object"===typeof window,l="function"===typeof importScripts,m="object"===typeof process&&"function"===typeof require&&!k&&!l,n=!k&&!m&&!l;
if(m){var p,q;a.read=function(b,c){var d=r(b);d||(p||(p=require("fs")),q||(q=require("path")),b=q.normalize(b),d=p.readFileSync(b));return c?d:d.toString()};a.readBinary=function(b){b=a.read(b,!0);b.buffer||(b=new Uint8Array(b));assert(b.buffer);return b};1<process.argv.length&&(a.thisProgram=process.argv[1].replace(/\\/g,"/"));a.arguments=process.argv.slice(2);process.on("uncaughtException",function(b){if(!(b instanceof u))throw b;});process.on("unhandledRejection",function(){process.exit(1)});a.inspect=
function(){return"[Emscripten Module object]"}}else if(n)"undefined"!=typeof read&&(a.read=function(b){var c=r(b);return c?v(c):read(b)}),a.readBinary=function(b){var c;if(c=r(b))return c;if("function"===typeof readbuffer)return new Uint8Array(readbuffer(b));c=read(b,"binary");assert("object"===typeof c);return c},"undefined"!=typeof scriptArgs?a.arguments=scriptArgs:"undefined"!=typeof arguments&&(a.arguments=arguments),"function"===typeof quit&&(a.quit=function(b){quit(b)});else if(k||l)a.read=
function(b){try{var c=new XMLHttpRequest;c.open("GET",b,!1);c.send(null);return c.responseText}catch(d){if(b=r(b))return v(b);throw d;}},l&&(a.readBinary=function(b){try{var c=new XMLHttpRequest;c.open("GET",b,!1);c.responseType="arraybuffer";c.send(null);return new Uint8Array(c.response)}catch(d){if(b=r(b))return b;throw d;}}),a.readAsync=function(b,c,d){var f=new XMLHttpRequest;f.open("GET",b,!0);f.responseType="arraybuffer";f.onload=function(){if(200==f.status||0==f.status&&f.response)c(f.response);
else{var h=r(b);h?c(h.buffer):d()}};f.onerror=d;f.send(null)},"undefined"!=typeof arguments&&(a.arguments=arguments),a.setWindowTitle=function(b){document.title=b};a.print="undefined"!==typeof console?console.log.bind(console):"undefined"!==typeof print?print:null;a.printErr="undefined"!==typeof printErr?printErr:"undefined"!==typeof console&&console.warn.bind(console)||a.print;a.print=a.print;a.printErr=a.printErr;for(g in e)e.hasOwnProperty(g)&&(a[g]=e[g]);e=void 0;
function w(b){var c;c||(c=16);return Math.ceil(b/c)*c}var x=0;function assert(b,c){b||y("Assertion failed: "+c)}"undefined"!==typeof TextDecoder&&new TextDecoder("utf8");"undefined"!==typeof TextDecoder&&new TextDecoder("utf-16le");var buffer,z,A,B,C,D,E,F,G,H,I;B=C=E=F=G=H=I=0;D=!1;
function K(){y("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+L+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}var M=a.TOTAL_STACK||5242880,L=a.TOTAL_MEMORY||16777216;
L<M&&a.printErr("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+L+"! (TOTAL_STACK="+M+")");a.buffer?buffer=a.buffer:(buffer=new ArrayBuffer(L),a.buffer=buffer);a.HEAP8=new Int8Array(buffer);a.HEAP16=new Int16Array(buffer);a.HEAP32=A=new Int32Array(buffer);a.HEAPU8=z=new Uint8Array(buffer);a.HEAPU16=new Uint16Array(buffer);a.HEAPU32=new Uint32Array(buffer);a.HEAPF32=new Float32Array(buffer);a.HEAPF64=new Float64Array(buffer);A[0]=1668509029;
if(115!==z[2]||99!==z[3])throw"Runtime error: expected the system to be little-endian!";function N(b){for(;0<b.length;){var c=b.shift();if("function"==typeof c)c();else{var d=c.g;"number"===typeof d?void 0===c.b?a.dynCall_v(d):a.dynCall_vi(d,c.b):d(void 0===c.b?null:c.b)}}}var O=[],aa=[],ba=[],ca=[],da=[],ea=!1;function fa(){var b=a.preRun.shift();O.unshift(b)}var ha=Math.pow,P=0,Q=null,R=null;a.preloadedImages={};a.preloadedAudios={};var U=null,V="data:application/octet-stream;base64,";B=8;C=B+31024;
aa.push();U="data:application/octet-stream;base64,AQAAAAAAAAADAAAAAAAAAAIAAAABAAAABwAAAAAAAAAEAAAAAwAAAAYAAAABAAAABQAAAAIAAAAPAAAAAAAAAAgAAAAHAAAADAAAAAMAAAALAAAABAAAAA4AAAABAAAACQAAAAYAAAANAAAAAgAAAAoAAAAFAAAAAACdPgBAXj4AwAQ+AIDtPgBAiT4AAAAAAMBMPwAAzT0AAAAAumIAAMJiAADTYgAA5GIAAPNiAAAEYwAAHGMAACpjAAAAAIA/AAAAQAAAQEAAAIBAAACgQAAAwEAAAOBAAAAAQQAAgEEAAMBBAAAQQgAAMEIAAEhCAABgQgAAeEIAAIZCAACQQgAAnkIAALBCAADUQgAABkMAAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAQEAAAEBAAACAQAAAoEAAAMBAAAAAQQAAAEGoAQAAaAQAACQHAADcCQAAkAwAAEAPAADsEQAAVBMAABAUAACEFAAA0BQAAAgVAAAoFQAAQBUAAEwVAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAA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CgEbAScBKQApACkAKQApACkAKQApAHsAewB7AHsA8ADwAPAACgEKATEBPgFIAVABewB7AHsAewB7AHsAewB7APAA8ADwAPAAMQExATEBPgE+AVcBXwFmAWwB8ADwAPAA8ADwAPAA8ADwADEBMQExATEBVwFXAVcBXwFfAXIBeAF+AYMBAAAMABgAJAAwAAQAEAAcACgANAAIABQAIAAsADgAAQANABkAJQAxAAUAEQAdACkANQAJABUAIQAtADkAAgAOABoAJgAyAAYAEgAeACoANgAKABYAIgAuADoAAwAPABsAJwAzAAcAEwAfACsANwALABcAIwAvADsAAAAYADAASABgAAgAIAA4AFAAaAAQACgAQABYAHAABAAcADQATABkAAwAJAA8AFQAbAAUACwARABcAHQAAQAZADEASQBhAAkAIQA5AFEAaQARACkAQQBZAHEABQAdADUATQBlAA0AJQA9AFUAbQAVAC0ARQBdAHUAAgAaADIASgBiAAoAIgA6AFIAagASACoAQgBaAHIABgAeADYATgBmAA4AJgA+AFYAbgAWAC4ARgBeAHYAAwAbADMASwBjAAsAIwA7AFMAawATACsAQwBbAHMABwAfADcATwBnAA8AJwA/AFcAbwAXAC8ARwBfAHcAAAAwAGAAkADAABAAQABwAKAA0AAgAFAAgACwAOAABAA0AGQAlADEABQARAB0AKQA1AAkAFQAhAC0AOQACAA4AGgAmADIABgASAB4AKgA2AAoAFgAiAC4AOgADAA8AGwAnADMABwATAB8AKwA3AAsAFwAjAC8AOwAAQAxAGEAkQDBABEAQQBxAKEA0QAhAFEAgQCxAOEABQA1AGUAlQDFABUARQB1AKUA1QAlAFUAhQC1AOUACQA5AGkAmQDJABkASQB5AKkA2QApAFkAiQC5AOkADQA9AG0AnQDNAB0ATQB9AK0A3QAtAF0AjQC9AO0AAgAyAGIAkgDCABIAQgByAKIA0gAiAFIAggCyAOIABgA2AGYAlgDGABYARgB2AKYA1gAmAFYAhgC2AOYACgA6AGoAmgDKABoASgB6AKoA2gAqAFoAigC6AOoADgA+AG4AngDOAB4ATgB+AK4A3gAuAF4AjgC+AO4AAwAzAGMAkwDDABMAQwBzAKMA0wAjAFMAgwCzAOMABwA3AGcAlwDHABcARwB3AKcA1wAnAFcAhwC3AOcACwA7AGsAmwDLABsASwB7AKsA2wArAFsAiwC7AOsADwA/AG8AnwDPAB8ATwB/AK8A3wAvAF8AjwC/AO8AAABgAMAAIAGAASAAgADgAEABoAFAAKAAAAFgAcABCABoAMgAKAGIASgAiADoAEgBqAFIAKgACAFoAcgBEABwANAAMAGQATAAkADwAFABsAFQALAAEAFwAdABGAB4ANgAOAGYATgAmAD4AFgBuAFYALgAGAF4AdgBBABkAMQAJAGEASQAhADkAEQBpAFEAKQABAFkAcQBDABsAMwALAGMASwAjADsAEwBrAFMAKwADAFsAcwBFAB0ANQANAGUATQAlAD0AFQBtAFUALQAFAF0AdQBHAB8ANwAPAGcATwAnAD8AFwBvAFcALwAHAF8AdwBAQBhAMEAIQGBASEAgQDhAEEBoQFBAKEAAQFhAcEBCQBpAMkAKQGJASkAiQDpAEkBqQFJAKkACQFpAckBEQBxANEAMQGRATEAkQDxAFEBsQFRALEAEQFxAdEBGQB5ANkAOQGZATkAmQD5AFkBuQFZALkAGQF5AdkBBQBlAMUAJQGFASUAhQDlAEUBpQFFAKUABQFlAcUBDQBtAM0ALQGNAS0AjQDtAE0BrQFNAK0ADQFtAc0BFQB1ANUANQGVATUAlQD1AFUBtQFVALUAFQF1AdUBHQB9AN0APQGdAT0AnQD9AF0BvQFdAL0AHQF9Ad0BAgBiAMIAIgGCASIAggDiAEIBogFCAKIAAgFiAcIBCgBqAMoAKgGKASoAigDqAEoBqgFKAKoACgFqAcoBEgByANIAMgGSATIAkgDyAFIBsgFSALIAEgFyAdIBGgB6ANoAOgGaAToAmgD6AFoBugFaALoAGgF6AdoBBgBmAMYAJgGGASYAhgDmAEYBpgFGAKYABgFmAcYBDgBuAM4ALgGOAS4AjgDuAE4BrgFOAK4ADgFuAc4BFgB2ANYANgGWATYAlgD2AFYBtgFWALYAFgF2AdYBHgB+AN4APgGeAT4AngD+AF4BvgFeAL4AHgF+Ad4BAwBjAMMAIwGDASMAgwDjAEMBowFDAKMAAwFjAcMBCwBrAMsAKwGLASsAiwDrAEsBqwFLAKsACwFrAcsBEwBzANMAMwGTATMAkwDzAFMBswFTALMAEwFzAdMBGwB7ANsAOwGbATsAmwD7AFsB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ZmQkAAIhp4quZmRUAgJka3h3JMUYAP/+/fQMAwIBAP/+/OAmAwIBAP/++9E5BAIBAP/+9MNFBAIBAP/76LhUBwIBAP/+8LpWDgIBAP/+77JbHgUBAP/447FkEwIBAP///5wEmv//////42YPXP//////1VMYSOz/////lkwhP9b///++eU0rN7n////1iUcrO4v/////g0IyQmvC//+mdEw3NX3///n39vX06tLKycjFrlI7ODc2LhYMCwoJBwBAAMuWANfDpn1uUgB4AIBAAOieCgDmAPPdwLUAq1UAwIBAAM2aZjMA1auAVSsA4MCggGBAIABkKBAHAwEA/fr06dS2loN4bmJVSDwxKCAZEw8NCwkIBwYFBAMCAQDS0M7Lx8G3qI5oSjQlGxQOCgYEAgDfybenmIp8b2JYT0Y+ODIsJyMfGxgVEhAODAoIBgQDAgEAvLCbindhQysaCgCld1A9LyMbFA4JBABxPwAICgwQfTMaEg8MCwoJCAcGBQQDAgEAxmktFg8MCwoJCAcGBQQDAgEA1aJ0UzsrIBgSDwwJBwYFAwIA77t0OxwQCwoJCAcGBQQDAgEA+uW8h1YzHhMNCggGBQQDAgEA+evVuZyAZ1NCNSohGhURDQoA/vnrzqR2TS4bEAoHBQQDAgEA//3579y/nHdVOSUXDwoGBAIA//379u3fy7OYfGJLNygdFQ8A//7999yiakMqHBIMCQYEAwIAHzlroM3N////////////////RS9Db6bN////////////////UkpPX22AkaCtzc3N4P//4P/gfUo7RWGNtv//////////////rXNVSUxcc5GtzeDg////////poZxZmVma3Z9ipGbprbAwM2W4LaGZVNPVWF4ka3N4P///////+DAlnhlXFldZnaGoLbA4ODg/+DgtpuGdm1oZmpvdoORoK2D8b6yhFdKKQ4A38GdjGo5JxIAg0qNT1CKX2iGX2NbfV1Me3N7gADWKgDrgBUA9LhICwD41oAqBwD44apQGQUA++zGfjYSAwD67tOfUiMPBQD658uogFg1GQYA/O7YuZRsRygSBAD98+HHpoBaOR8NAwD+9unUt5NtSSwXCgIA//rw38amgFo6IRAGAQD/+/Tn0rWSbksuGQwFAQD//fju3cSkgFw8IxIIAwEA//358uXQtJJuTDAbDgcDAQCBAM8yAOyBFAD1uUgKAPnVgSoGAPriqVcbBAD76cKCPhQEAPrsz6BjLxEDAP/w2baDUSkLAQD//unJn2s9FAIBAP/56c6qgFYyFwcBAP/67tm6lGxGJxIGAQD//PPiyKaAWjgeDQQBAP/89efRtJJuTC8ZCwQBAP/9+O3bwqOAXT4lEwgDAQD//vrx4s2xkW9PMx4PBgIBAIEAyzYA6oEXAPW4SQoA+teBKQUA/OitVhgDAP3wyIE4DwIA/fTZpF4mCgEA/fXivYRHGwcBAP3258ufaTgXBgEA//jr1bOFVS8TBQEA//7z3cKfdUYlDAIBAP/++OrQq4BVMBYIAgEA//768Ny9lWtDJBAGAgEA//778+PJpoBaNx0NBQIBAP/+/Pbq1beTbUkrFgoEAgEAggDIOgDnghoA9LhMDAD51oIrBgD86K1XGAMA/fHLgzgOAgD+9t2nXiMIAQD++ejBgkEXBQEA//vv06JjLQ8EAQD/+/PfuoNKIQsDAQD//PXmyp5pORgIAgEA//3369azhFQsEwcCAQD//vrw38SfcEUkDwYCAQD//v3159GwiF03GwsDAgEA//79/O/dwp51TCoSBAMCAQAAAAIFCQ4UGyMsNkFNWmh3h/4xQ01SXWPGCxIYHyQt/y5CTldeaNAOFSAqM0L/XmhtcHN2+DVFUFhfZgAPCAcECwwDAg0KBQYJDgEACQYDBAUIAQIHAAEAAAABAAAB/wH/Av4C/gP9AAEAAf8C/wL+A/4D/Qf+BwAC////AAABAQABAAEAAAAAAAEAAAAAAAEAAAABAAAAAAD/AgEAAQEAAP//AAAB/wAB/wD/Af4C/v4C/QID/fwD/AQE+wX6+wb5BgUI9wAAAQAAAAAAAAD/AQAAAf8AAf//Af8CAf8C/v4C/gICA/0AAQAAAAAAAAEAAQAAAf8BAAACAf8C//8C/wIC/wP+/v4DAAEAAAEAAf8C/wL/AgP+A/7+BAT9Bf38BvwGBfsI+vv5CfsI/wb/BvwK+gr+Bv8G+wr3DP0H/gf5DRAYIgYAAwAHAwABCgACBhIKDAQAAgAAAAkEBwQAAwwHB///";
var ia=C;C+=16;function W(){W.a||(W.a=[]);W.a.push(ja());return W.a.length-1}assert(!D);var ka=C;C=C+4+15&-16;I=ka;E=F=w(C);G=E+M;H=w(G);A[I>>2]=H;D=!0;var la=!1;function v(b){for(var c=[],d=0;d<b.length;d++){var f=b[d];255<f&&(la&&assert(!1,"Character code "+f+" ("+String.fromCharCode(f)+") at offset "+d+" not in 0x00-0xFF."),f&=255);c.push(String.fromCharCode(f))}return c.join("")}
var ma="function"===typeof atob?atob:function(b){var c="",d=0;b=b.replace(/[^A-Za-z0-9\+\/=]/g,"");do{var f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(b.charAt(d++));var h="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(b.charAt(d++));var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(b.charAt(d++));var J="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(b.charAt(d++));f=f<<2|h>>4;
h=(h&15)<<4|t>>2;var S=(t&3)<<6|J;c+=String.fromCharCode(f);64!==t&&(c+=String.fromCharCode(h));64!==J&&(c+=String.fromCharCode(S))}while(d<b.length);return c};
function r(b){if(String.prototype.startsWith?b.startsWith(V):0===b.indexOf(V)){b=b.slice(V.length);if("boolean"===typeof m&&m){try{var c=Buffer.from(b,"base64")}catch(t){c=new Buffer(b,"base64")}var d=new Uint8Array(c.buffer,c.byteOffset,c.byteLength)}else try{var f=ma(b),h=new Uint8Array(f.length);for(c=0;c<f.length;++c)h[c]=f.charCodeAt(c);d=h}catch(t){throw Error("Converting base64 string to bytes failed.");}return d}}
a.c={Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array,NaN:NaN,Infinity:Infinity};
a.f={abort:y,assert:assert,enlargeMemory:function(){K()},getTotalMemory:function(){return L},abortOnCannotGrowMemory:K,invoke_viiiiiii:function(b,c,d,f,h,t,J,S){try{a.dynCall_viiiiiii(b,c,d,f,h,t,J,S)}catch(T){if("number"!==typeof T&&"longjmp"!==T)throw T;a.setThrew(1,0)}},___setErrNo:function(b){a.___errno_location&&(A[a.___errno_location()>>2]=b);return b},_emscripten_memcpy_big:function(b,c,d){z.set(z.subarray(c,c+d),b);return b},_llvm_pow_f64:ha,_llvm_stackrestore:function(b){var c=W.a[b];W.a.splice(b,
1);na(c)},_llvm_stacksave:W,DYNAMICTOP_PTR:I,tempDoublePtr:ia,ABORT:x,STACKTOP:F,STACK_MAX:G};// EMSCRIPTEN_START_ASM
var X=(/** @suppress {uselessCode} */ function(global,env,buffer) {
"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.DYNAMICTOP_PTR|0;var j=env.tempDoublePtr|0;var k=env.ABORT|0;var l=env.STACKTOP|0;var m=env.STACK_MAX|0;var n=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0;var y=0;var z=global.Math.floor;var A=global.Math.abs;var B=global.Math.sqrt;var C=global.Math.pow;var D=global.Math.cos;var E=global.Math.sin;var F=global.Math.tan;var G=global.Math.acos;var H=global.Math.asin;var I=global.Math.atan;var J=global.Math.atan2;var K=global.Math.exp;var L=global.Math.log;var M=global.Math.ceil;var N=global.Math.imul;var O=global.Math.min;var P=global.Math.max;var Q=global.Math.clz32;var R=env.abort;var S=env.assert;var T=env.enlargeMemory;var U=env.getTotalMemory;var V=env.abortOnCannotGrowMemory;var W=env.invoke_viiiiiii;var X=env.___setErrNo;var Y=env._emscripten_memcpy_big;var Z=env._llvm_pow_f64;var _=env._llvm_stackrestore;var $=env._llvm_stacksave;var aa=0.0;
// EMSCRIPTEN_START_FUNCS
function ub(a,d,e,f,h,i,j){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,qa=0,ra=0,sa=0,ua=0,va=0,wa=0;va=l;l=l+304|0;sa=va+288|0;ua=va+284|0;n=va+280|0;Y=va+276|0;Z=va+272|0;aa=va+268|0;ba=va+264|0;ca=va+260|0;da=va+256|0;ea=va+252|0;fa=va+248|0;D=va+244|0;A=va+240|0;m=va+192|0;B=va+184|0;ga=va+176|0;wa=va+168|0;ha=va+164|0;ia=va+160|0;ja=va+156|0;W=va+152|0;E=va+148|0;O=va+144|0;q=va+140|0;ka=va+136|0;P=va+132|0;Q=va+128|0;la=va+124|0;ma=va+120|0;F=va+116|0;G=va+112|0;C=va+108|0;R=va+104|0;S=va+100|0;H=va+96|0;I=va+92|0;y=va+88|0;J=va+84|0;z=va+80|0;r=va+76|0;T=va+72|0;K=va+68|0;L=va+64|0;M=va+60|0;U=va+56|0;na=va+52|0;oa=va+48|0;V=va+44|0;s=va+40|0;o=va+36|0;p=va+32|0;qa=va+28|0;t=va+24|0;u=va+20|0;v=va+16|0;w=va+12|0;x=va+8|0;X=va+4|0;ra=va;c[ua>>2]=a;c[n>>2]=d;c[Y>>2]=e;c[Z>>2]=f;c[aa>>2]=h;c[ba>>2]=i;c[ca>>2]=j;c[ka>>2]=c[(c[ua>>2]|0)+8>>2];c[H>>2]=0;c[I>>2]=0;c[L>>2]=0;c[U>>2]=c[(c[ua>>2]|0)+12>>2];c[na>>2]=c[c[ua>>2]>>2];c[oa>>2]=c[(c[na>>2]|0)+8>>2];c[V>>2]=c[(c[na>>2]|0)+4>>2];c[s>>2]=c[(c[na>>2]|0)+32>>2];c[la>>2]=c[(c[ua>>2]|0)+20>>2];c[ma>>2]=c[(c[ua>>2]|0)+24>>2];c[aa>>2]=N(c[aa>>2]|0,c[(c[ua>>2]|0)+16>>2]|0)|0;c[wa>>2]=(c[ua>>2]|0)+84+((N(2048+(c[V>>2]|0)|0,c[ka>>2]|0)|0)<<2);c[ha>>2]=(c[wa>>2]|0)+((c[ka>>2]|0)*24<<2);c[ia>>2]=(c[ha>>2]|0)+(c[oa>>2]<<1<<2);c[ja>>2]=(c[ia>>2]|0)+(c[oa>>2]<<1<<2);c[W>>2]=(c[ja>>2]|0)+(c[oa>>2]<<1<<2);c[P>>2]=0;while(1){if((c[P>>2]|0)>(c[(c[na>>2]|0)+36>>2]|0))break;if((c[(c[na>>2]|0)+44>>2]<<c[P>>2]|0)==(c[aa>>2]|0))break;c[P>>2]=(c[P>>2]|0)+1}if((c[P>>2]|0)>(c[(c[na>>2]|0)+36>>2]|0)){c[sa>>2]=-1;wa=c[sa>>2]|0;l=va;return wa|0}c[Q>>2]=1<<c[P>>2];if((c[Y>>2]|0)<0|(c[Y>>2]|0)>1275|(c[Z>>2]|0)==0){c[sa>>2]=-1;wa=c[sa>>2]|0;l=va;return wa|0}c[fa>>2]=N(c[Q>>2]|0,c[(c[na>>2]|0)+44>>2]|0)|0;c[da>>2]=0;do{wa=(c[ua>>2]|0)+84+((N(c[da>>2]|0,2048+(c[V>>2]|0)|0)|0)<<2)|0;c[B+(c[da>>2]<<2)>>2]=wa;c[ga+(c[da>>2]<<2)>>2]=(c[B+(c[da>>2]<<2)>>2]|0)+8192+(0-(c[fa>>2]|0)<<2);wa=(c[da>>2]|0)+1|0;c[da>>2]=wa}while((wa|0)<(c[ka>>2]|0));c[F>>2]=c[ma>>2];if((c[F>>2]|0)>(c[(c[na>>2]|0)+12>>2]|0))c[F>>2]=c[(c[na>>2]|0)+12>>2];if((c[n>>2]|0)==0|(c[Y>>2]|0)<=1){vb(c[ua>>2]|0,c[fa>>2]|0,c[P>>2]|0);wb(ga,c[Z>>2]|0,c[fa>>2]|0,c[ka>>2]|0,c[(c[ua>>2]|0)+16>>2]|0,(c[na>>2]|0)+16|0,(c[ua>>2]|0)+76|0,c[ca>>2]|0);c[sa>>2]=(c[aa>>2]|0)/(c[(c[ua>>2]|0)+16>>2]|0)|0;wa=c[sa>>2]|0;l=va;return wa|0}if(!(c[ba>>2]|0)){Hb(m,c[n>>2]|0,c[Y>>2]|0);c[ba>>2]=m}a:do if((c[U>>2]|0)==1){c[ea>>2]=0;while(1){if((c[ea>>2]|0)>=(c[oa>>2]|0))break a;if(+g[(c[ha>>2]|0)+(c[ea>>2]<<2)>>2]>+g[(c[ha>>2]|0)+((c[oa>>2]|0)+(c[ea>>2]|0)<<2)>>2])a=c[ea>>2]|0;else a=(c[oa>>2]|0)+(c[ea>>2]|0)|0;g[(c[ha>>2]|0)+(c[ea>>2]<<2)>>2]=+g[(c[ha>>2]|0)+(a<<2)>>2];c[ea>>2]=(c[ea>>2]|0)+1}}while(0);c[y>>2]=c[Y>>2]<<3;c[z>>2]=xb(c[ba>>2]|0)|0;do if((c[z>>2]|0)<(c[y>>2]|0))if((c[z>>2]|0)==1){c[M>>2]=Ob(c[ba>>2]|0,15)|0;break}else{c[M>>2]=0;break}else c[M>>2]=1;while(0);if(c[M>>2]|0){c[z>>2]=c[Y>>2]<<3;n=c[z>>2]|0;n=n-(xb(c[ba>>2]|0)|0)|0;wa=(c[ba>>2]|0)+20|0;c[wa>>2]=(c[wa>>2]|0)+n}g[S>>2]=0.0;c[R>>2]=0;c[T>>2]=0;if((c[la>>2]|0)==0?((c[z>>2]|0)+16|0)<=(c[y>>2]|0):0){if(Ob(c[ba>>2]|0,1)|0){c[p>>2]=Qb(c[ba>>2]|0,6)|0;wa=16<<c[p>>2];c[R>>2]=wa+(Rb(c[ba>>2]|0,4+(c[p>>2]|0)|0)|0)-1;c[o>>2]=Rb(c[ba>>2]|0,3)|0;wa=(xb(c[ba>>2]|0)|0)+2|0;if((wa|0)<=(c[y>>2]|0))c[T>>2]=Pb(c[ba>>2]|0,25571,2)|0;g[S>>2]=+((c[o>>2]|0)+1|0)*.09375}c[z>>2]=xb(c[ba>>2]|0)|0}if((c[P>>2]|0)>0?((c[z>>2]|0)+3|0)<=(c[y>>2]|0):0){c[O>>2]=Ob(c[ba>>2]|0,3)|0;c[z>>2]=xb(c[ba>>2]|0)|0}else c[O>>2]=0;if(c[O>>2]|0)c[E>>2]=c[Q>>2];else c[E>>2]=0;if(((c[z>>2]|0)+3|0)<=(c[y>>2]|0))a=Ob(c[ba>>2]|0,3)|0;else a=0;c[q>>2]=a;Qc(c[na>>2]|0,c[la>>2]|0,c[ma>>2]|0,c[ha>>2]|0,c[q>>2]|0,c[ba>>2]|0,c[U>>2]|0,c[P>>2]|0);wa=c[oa>>2]|0;c[qa>>2]=$()|0;i=l;l=l+((1*(wa<<2)|0)+15&-16)|0;yb(c[la>>2]|0,c[ma>>2]|0,c[O>>2]|0,i,c[P>>2]|0,c[ba>>2]|0);c[z>>2]=xb(c[ba>>2]|0)|0;c[D>>2]=2;if(((c[z>>2]|0)+4|0)<=(c[y>>2]|0))c[D>>2]=Pb(c[ba>>2]|0,25574,5)|0;d=l;l=l+((1*(c[oa>>2]<<2)|0)+15&-16)|0;Pa(c[na>>2]|0,d,c[P>>2]|0,c[U>>2]|0);h=l;l=l+((1*(c[oa>>2]<<2)|0)+15&-16)|0;c[r>>2]=6;c[y>>2]=c[y>>2]<<3;c[z>>2]=Gb(c[ba>>2]|0)|0;c[ea>>2]=c[la>>2];while(1){if((c[ea>>2]|0)>=(c[ma>>2]|0))break;a=N(c[U>>2]|0,(b[(c[s>>2]|0)+((c[ea>>2]|0)+1<<1)>>1]|0)-(b[(c[s>>2]|0)+(c[ea>>2]<<1)>>1]|0)|0)|0;c[t>>2]=a<<c[P>>2];a=c[t>>2]|0;if((c[t>>2]<<3|0)<((48>(c[t>>2]|0)?48:c[t>>2]|0)|0))a=a<<3;else a=48>(a|0)?48:c[t>>2]|0;c[u>>2]=a;c[v>>2]=c[r>>2];c[w>>2]=0;while(1){if(((c[z>>2]|0)+(c[v>>2]<<3)|0)>=(c[y>>2]|0))break;if((c[w>>2]|0)>=(c[d+(c[ea>>2]<<2)>>2]|0))break;c[x>>2]=Ob(c[ba>>2]|0,c[v>>2]|0)|0;c[z>>2]=Gb(c[ba>>2]|0)|0;if(!(c[x>>2]|0))break;c[w>>2]=(c[w>>2]|0)+(c[u>>2]|0);c[y>>2]=(c[y>>2]|0)-(c[u>>2]|0);c[v>>2]=1}c[h+(c[ea>>2]<<2)>>2]=c[w>>2];if((c[w>>2]|0)>0)c[r>>2]=2>((c[r>>2]|0)-1|0)?2:(c[r>>2]|0)-1|0;c[ea>>2]=(c[ea>>2]|0)+1}f=l;l=l+((1*(c[oa>>2]<<2)|0)+15&-16)|0;if(((c[z>>2]|0)+48|0)<=(c[y>>2]|0))a=Pb(c[ba>>2]|0,25578,7)|0;else a=5;c[C>>2]=a;wa=c[Y>>2]<<3<<3;c[A>>2]=wa-(Gb(c[ba>>2]|0)|0)-1;if((c[O>>2]|0)!=0&(c[P>>2]|0)>=2)a=(c[A>>2]|0)>=((c[P>>2]|0)+2<<3|0);else a=0;c[K>>2]=a?8:0;c[A>>2]=(c[A>>2]|0)-(c[K>>2]|0);e=l;l=l+((1*(c[oa>>2]<<2)|0)+15&-16)|0;m=l;l=l+((1*(c[oa>>2]<<2)|0)+15&-16)|0;c[G>>2]=Uc(c[na>>2]|0,c[la>>2]|0,c[ma>>2]|0,h,d,c[C>>2]|0,H,I,c[A>>2]|0,J,e,f,m,c[U>>2]|0,c[P>>2]|0,c[ba>>2]|0,0,0,0)|0;Rc(c[na>>2]|0,c[la>>2]|0,c[ma>>2]|0,c[ha>>2]|0,f,c[ba>>2]|0,c[U>>2]|0);c[da>>2]=0;do{$i(c[B+(c[da>>2]<<2)>>2]|0,(c[B+(c[da>>2]<<2)>>2]|0)+(c[fa>>2]<<2)|0,(2048-(c[fa>>2]|0)+((c[V>>2]|0)/2|0)<<2)+0|0)|0;wa=(c[da>>2]|0)+1|0;c[da>>2]=wa}while((wa|0)<(c[ka>>2]|0));wa=N(c[U>>2]|0,c[oa>>2]|0)|0;a=l;l=l+((1*wa|0)+15&-16)|0;wa=(N(c[U>>2]|0,c[fa>>2]|0)|0)<<2;d=l;l=l+((1*wa|0)+15&-16)|0;ta(0,c[na>>2]|0,c[la>>2]|0,c[ma>>2]|0,d,(c[U>>2]|0)==2?d+(c[fa>>2]<<2)|0:0,a,0,e,c[E>>2]|0,c[D>>2]|0,c[I>>2]|0,c[H>>2]|0,i,(c[Y>>2]<<6)-(c[K>>2]|0)|0,c[J>>2]|0,c[ba>>2]|0,c[P>>2]|0,c[G>>2]|0,(c[ua>>2]|0)+36|0,c[(c[ua>>2]|0)+32>>2]|0);if((c[K>>2]|0)>0)c[L>>2]=Rb(c[ba>>2]|0,1)|0;H=c[na>>2]|0;I=c[la>>2]|0;J=c[ma>>2]|0;K=c[ha>>2]|0;wa=c[Y>>2]<<3;wa=wa-(xb(c[ba>>2]|0)|0)|0;Sc(H,I,J,K,f,m,wa,c[ba>>2]|0,c[U>>2]|0);if(c[L>>2]|0)pa(c[na>>2]|0,d,a,c[P>>2]|0,c[U>>2]|0,c[fa>>2]|0,c[la>>2]|0,c[ma>>2]|0,c[ha>>2]|0,c[ia>>2]|0,c[ja>>2]|0,e,c[(c[ua>>2]|0)+36>>2]|0,c[(c[ua>>2]|0)+32>>2]|0);b:do if(c[M>>2]|0){c[ea>>2]=0;while(1){if((c[ea>>2]|0)>=(N(c[U>>2]|0,c[oa>>2]|0)|0))break b;g[(c[ha>>2]|0)+(c[ea>>2]<<2)>>2]=-28.0;c[ea>>2]=(c[ea>>2]|0)+1}}while(0);zb(c[na>>2]|0,d,ga,c[ha>>2]|0,c[la>>2]|0,c[F>>2]|0,c[U>>2]|0,c[ka>>2]|0,c[O>>2]|0,c[P>>2]|0,c[(c[ua>>2]|0)+16>>2]|0,c[M>>2]|0,c[(c[ua>>2]|0)+32>>2]|0);c[da>>2]=0;do{if((c[(c[ua>>2]|0)+52>>2]|0)>15)a=c[(c[ua>>2]|0)+52>>2]|0;else a=15;c[(c[ua>>2]|0)+52>>2]=a;if((c[(c[ua>>2]|0)+56>>2]|0)>15)a=c[(c[ua>>2]|0)+56>>2]|0;else a=15;c[(c[ua>>2]|0)+56>>2]=a;Na(c[ga+(c[da>>2]<<2)>>2]|0,c[ga+(c[da>>2]<<2)>>2]|0,c[(c[ua>>2]|0)+56>>2]|0,c[(c[ua>>2]|0)+52>>2]|0,c[(c[na>>2]|0)+44>>2]|0,+g[(c[ua>>2]|0)+64>>2],+g[(c[ua>>2]|0)+60>>2],c[(c[ua>>2]|0)+72>>2]|0,c[(c[ua>>2]|0)+68>>2]|0,c[(c[na>>2]|0)+60>>2]|0,c[V>>2]|0,c[(c[ua>>2]|0)+32>>2]|0);if(c[P>>2]|0)Na((c[ga+(c[da>>2]<<2)>>2]|0)+(c[(c[na>>2]|0)+44>>2]<<2)|0,(c[ga+(c[da>>2]<<2)>>2]|0)+(c[(c[na>>2]|0)+44>>2]<<2)|0,c[(c[ua>>2]|0)+52>>2]|0,c[R>>2]|0,(c[fa>>2]|0)-(c[(c[na>>2]|0)+44>>2]|0)|0,+g[(c[ua>>2]|0)+60>>2],+g[S>>2],c[(c[ua>>2]|0)+68>>2]|0,c[T>>2]|0,c[(c[na>>2]|0)+60>>2]|0,c[V>>2]|0,c[(c[ua>>2]|0)+32>>2]|0);wa=(c[da>>2]|0)+1|0;c[da>>2]=wa}while((wa|0)<(c[ka>>2]|0));c[(c[ua>>2]|0)+56>>2]=c[(c[ua>>2]|0)+52>>2];g[(c[ua>>2]|0)+64>>2]=+g[(c[ua>>2]|0)+60>>2];c[(c[ua>>2]|0)+72>>2]=c[(c[ua>>2]|0)+68>>2];c[(c[ua>>2]|0)+52>>2]=c[R>>2];g[(c[ua>>2]|0)+60>>2]=+g[S>>2];c[(c[ua>>2]|0)+68>>2]=c[T>>2];if(c[P>>2]|0){c[(c[ua>>2]|0)+56>>2]=c[(c[ua>>2]|0)+52>>2];g[(c[ua>>2]|0)+64>>2]=+g[(c[ua>>2]|0)+60>>2];c[(c[ua>>2]|0)+72>>2]=c[(c[ua>>2]|0)+68>>2]}if((c[U>>2]|0)==1)_i((c[ha>>2]|0)+(c[oa>>2]<<2)|0,c[ha>>2]|0,(c[oa>>2]<<2)+0|0)|0;c:do if(c[O>>2]|0){c[ea>>2]=0;while(1){if((c[ea>>2]|0)>=(c[oa>>2]<<1|0))break c;if(+g[(c[ia>>2]|0)+(c[ea>>2]<<2)>>2]<+g[(c[ha>>2]|0)+(c[ea>>2]<<2)>>2])a=(c[ia>>2]|0)+(c[ea>>2]<<2)|0;else a=(c[ha>>2]|0)+(c[ea>>2]<<2)|0;g[(c[ia>>2]|0)+(c[ea>>2]<<2)>>2]=+g[a>>2];c[ea>>2]=(c[ea>>2]|0)+1}}else{_i(c[ja>>2]|0,c[ia>>2]|0,(c[oa>>2]<<1<<2)+0|0)|0;_i(c[ia>>2]|0,c[ha>>2]|0,(c[oa>>2]<<1<<2)+0|0)|0;if((c[(c[ua>>2]|0)+48>>2]|0)<10)g[X>>2]=+(c[Q>>2]|0)*1.0000000474974513e-03;else g[X>>2]=1.0;c[ea>>2]=0;while(1){if((c[ea>>2]|0)>=(c[oa>>2]<<1|0))break c;if(+g[(c[W>>2]|0)+(c[ea>>2]<<2)>>2]+ +g[X>>2]<+g[(c[ha>>2]|0)+(c[ea>>2]<<2)>>2])k=+g[(c[W>>2]|0)+(c[ea>>2]<<2)>>2]+ +g[X>>2];else k=+g[(c[ha>>2]|0)+(c[ea>>2]<<2)>>2];g[(c[W>>2]|0)+(c[ea>>2]<<2)>>2]=k;c[ea>>2]=(c[ea>>2]|0)+1}}while(0);c[da>>2]=0;do{c[ea>>2]=0;while(1){if((c[ea>>2]|0)>=(c[la>>2]|0))break;wa=N(c[da>>2]|0,c[oa>>2]|0)|0;g[(c[ha>>2]|0)+(wa+(c[ea>>2]|0)<<2)>>2]=0.0;wa=N(c[da>>2]|0,c[oa>>2]|0)|0;g[(c[ja>>2]|0)+(wa+(c[ea>>2]|0)<<2)>>2]=-28.0;wa=N(c[da>>2]|0,c[oa>>2]|0)|0;g[(c[ia>>2]|0)+(wa+(c[ea>>2]|0)<<2)>>2]=-28.0;c[ea>>2]=(c[ea>>2]|0)+1}c[ea>>2]=c[ma>>2];while(1){if((c[ea>>2]|0)>=(c[oa>>2]|0))break;wa=N(c[da>>2]|0,c[oa>>2]|0)|0;g[(c[ha>>2]|0)+(wa+(c[ea>>2]|0)<<2)>>2]=0.0;wa=N(c[da>>2]|0,c[oa>>2]|0)|0;g[(c[ja>>2]|0)+(wa+(c[ea>>2]|0)<<2)>>2]=-28.0;wa=N(c[da>>2]|0,c[oa>>2]|0)|0;g[(c[ia>>2]|0)+(wa+(c[ea>>2]|0)<<2)>>2]=-28.0;c[ea>>2]=(c[ea>>2]|0)+1}wa=(c[da>>2]|0)+1|0;c[da>>2]=wa}while((wa|0)<2);c[(c[ua>>2]|0)+36>>2]=c[(c[ba>>2]|0)+28>>2];wb(ga,c[Z>>2]|0,c[fa>>2]|0,c[ka>>2]|0,c[(c[ua>>2]|0)+16>>2]|0,(c[na>>2]|0)+16|0,(c[ua>>2]|0)+76|0,c[ca>>2]|0);c[(c[ua>>2]|0)+48>>2]=0;wa=xb(c[ba>>2]|0)|0;if((wa|0)>(c[Y>>2]<<3|0)){c[sa>>2]=-3;c[ra>>2]=1}else{if(Ab(c[ba>>2]|0)|0)c[(c[ua>>2]|0)+40>>2]=1;c[sa>>2]=(c[aa>>2]|0)/(c[(c[ua>>2]|0)+16>>2]|0)|0;c[ra>>2]=1}_(c[qa>>2]|0);wa=c[sa>>2]|0;l=va;return wa|0}function vb(a,d,e){a=a|0;d=d|0;e=e|0;var f=0.0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,la=0,ma=0;ma=l;l=l+4608|0;fa=ma+4596|0;ga=ma+4592|0;ba=ma+4588|0;ha=ma+4584|0;ia=ma+4580|0;ja=ma+4576|0;la=ma+4568|0;M=ma+4560|0;k=ma+4556|0;O=ma+4552|0;h=ma+4548|0;i=ma+4544|0;P=ma+4540|0;ca=ma+4536|0;Q=ma+4532|0;da=ma+4528|0;R=ma+4524|0;ea=ma+4520|0;j=ma+4516|0;S=ma+4512|0;T=ma+4508|0;U=ma+4504|0;V=ma+4500|0;W=ma+4496|0;X=ma+4492|0;Y=ma+4488|0;Z=ma+4484|0;aa=ma+4480|0;m=ma+4476|0;n=ma+4472|0;o=ma+4468|0;p=ma+4464|0;q=ma+368|0;r=ma+360|0;s=ma+356|0;t=ma+352|0;u=ma+348|0;v=ma+344|0;w=ma+340|0;x=ma+336|0;y=ma+332|0;z=ma+232|0;A=ma+136|0;C=ma+128|0;D=ma+124|0;E=ma+120|0;F=ma+116|0;G=ma+112|0;H=ma+16|0;I=ma+12|0;J=ma+8|0;K=ma+4|0;L=ma;c[fa>>2]=a;c[ga>>2]=d;c[ba>>2]=e;c[ja>>2]=c[(c[fa>>2]|0)+8>>2];c[ca>>2]=c[c[fa>>2]>>2];c[Q>>2]=c[(c[ca>>2]|0)+8>>2];c[da>>2]=c[(c[ca>>2]|0)+4>>2];c[S>>2]=c[(c[ca>>2]|0)+32>>2];c[ha>>2]=0;do{e=(c[fa>>2]|0)+84+((N(c[ha>>2]|0,2048+(c[da>>2]|0)|0)|0)<<2)|0;c[la+(c[ha>>2]<<2)>>2]=e;c[M+(c[ha>>2]<<2)>>2]=(c[la+(c[ha>>2]<<2)>>2]|0)+8192+(0-(c[ga>>2]|0)<<2);e=(c[ha>>2]|0)+1|0;c[ha>>2]=e}while((e|0)<(c[ja>>2]|0));c[k>>2]=(c[fa>>2]|0)+84+((N(2048+(c[da>>2]|0)|0,c[ja>>2]|0)|0)<<2);c[O>>2]=(c[k>>2]|0)+((c[ja>>2]|0)*24<<2);c[h>>2]=(c[O>>2]|0)+(c[Q>>2]<<1<<2);c[i>>2]=(c[h>>2]|0)+(c[Q>>2]<<1<<2);c[P>>2]=(c[i>>2]|0)+(c[Q>>2]<<1<<2);c[ea>>2]=c[(c[fa>>2]|0)+48>>2];c[R>>2]=c[(c[fa>>2]|0)+20>>2];c[j>>2]=((c[ea>>2]|0)>=5?1:(c[R>>2]|0)!=0)&1;if(c[j>>2]|0){c[U>>2]=c[(c[fa>>2]|0)+24>>2];if((c[U>>2]|0)<(c[(c[ca>>2]|0)+12>>2]|0))a=c[U>>2]|0;else a=c[(c[ca>>2]|0)+12>>2]|0;do if((c[R>>2]|0)<=(a|0))if((c[U>>2]|0)<(c[(c[ca>>2]|0)+12>>2]|0)){a=c[U>>2]|0;break}else{a=c[(c[ca>>2]|0)+12>>2]|0;break}else a=c[R>>2]|0;while(0);c[V>>2]=a;L=N(c[ja>>2]|0,c[ga>>2]|0)|0;c[X>>2]=$()|0;a=l;l=l+((1*(L<<2)|0)+15&-16)|0;g[W>>2]=(c[ea>>2]|0)==0?1.5:.5;c[ha>>2]=0;do{c[ia>>2]=c[R>>2];while(1){if((c[ia>>2]|0)>=(c[U>>2]|0))break;K=N(c[ha>>2]|0,c[Q>>2]|0)|0;L=N(c[ha>>2]|0,c[Q>>2]|0)|0;if(+g[(c[P>>2]|0)+(K+(c[ia>>2]|0)<<2)>>2]>+g[(c[O>>2]|0)+(L+(c[ia>>2]|0)<<2)>>2]-+g[W>>2]){L=N(c[ha>>2]|0,c[Q>>2]|0)|0;f=+g[(c[P>>2]|0)+(L+(c[ia>>2]|0)<<2)>>2]}else{L=N(c[ha>>2]|0,c[Q>>2]|0)|0;f=+g[(c[O>>2]|0)+(L+(c[ia>>2]|0)<<2)>>2]-+g[W>>2]}L=N(c[ha>>2]|0,c[Q>>2]|0)|0;g[(c[O>>2]|0)+(L+(c[ia>>2]|0)<<2)>>2]=f;c[ia>>2]=(c[ia>>2]|0)+1}L=(c[ha>>2]|0)+1|0;c[ha>>2]=L}while((L|0)<(c[ja>>2]|0));c[T>>2]=c[(c[fa>>2]|0)+36>>2];c[ha>>2]=0;while(1){if((c[ha>>2]|0)>=(c[ja>>2]|0))break;c[ia>>2]=c[R>>2];while(1){if((c[ia>>2]|0)>=(c[V>>2]|0))break;W=N(c[ga>>2]|0,c[ha>>2]|0)|0;c[Z>>2]=W+(b[(c[S>>2]|0)+(c[ia>>2]<<1)>>1]<<c[ba>>2]);c[aa>>2]=(b[(c[S>>2]|0)+((c[ia>>2]|0)+1<<1)>>1]|0)-(b[(c[S>>2]|0)+(c[ia>>2]<<1)>>1]|0)<<c[ba>>2];c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(c[aa>>2]|0))break;c[T>>2]=ka(c[T>>2]|0)|0;g[a+((c[Z>>2]|0)+(c[Y>>2]|0)<<2)>>2]=+(c[T>>2]>>20|0);c[Y>>2]=(c[Y>>2]|0)+1}cd(a+(c[Z>>2]<<2)|0,c[aa>>2]|0,1.0,c[(c[fa>>2]|0)+32>>2]|0);c[ia>>2]=(c[ia>>2]|0)+1}c[ha>>2]=(c[ha>>2]|0)+1}c[(c[fa>>2]|0)+36>>2]=c[T>>2];c[ha>>2]=0;do{$i(c[la+(c[ha>>2]<<2)>>2]|0,(c[la+(c[ha>>2]<<2)>>2]|0)+(c[ga>>2]<<2)|0,(2048-(c[ga>>2]|0)+(c[da>>2]>>1)<<2)+0|0)|0;ia=(c[ha>>2]|0)+1|0;c[ha>>2]=ia}while((ia|0)<(c[ja>>2]|0));zb(c[ca>>2]|0,a,M,c[O>>2]|0,c[R>>2]|0,c[V>>2]|0,c[ja>>2]|0,c[ja>>2]|0,0,c[ba>>2]|0,c[(c[fa>>2]|0)+16>>2]|0,0,c[(c[fa>>2]|0)+32>>2]|0);_(c[X>>2]|0);ja=c[ea>>2]|0;ja=ja+1|0;la=c[fa>>2]|0;la=la+48|0;c[la>>2]=ja;l=ma;return}g[n>>2]=1.0;if(!(c[ea>>2]|0)){ba=Bb(la,c[ja>>2]|0,c[(c[fa>>2]|0)+32>>2]|0)|0;c[o>>2]=ba;c[(c[fa>>2]|0)+44>>2]=ba}else{c[o>>2]=c[(c[fa>>2]|0)+44>>2];g[n>>2]=.800000011920929}ba=c[da>>2]|0;c[p>>2]=$()|0;d=l;l=l+((1*(ba<<2)|0)+15&-16)|0;c[m>>2]=c[(c[ca>>2]|0)+60>>2];c[ha>>2]=0;do{g[t>>2]=0.0;c[u>>2]=c[la+(c[ha>>2]<<2)>>2];c[ia>>2]=0;while(1){if((c[ia>>2]|0)>=1024)break;g[q+(c[ia>>2]<<2)>>2]=+g[(c[u>>2]|0)+(1024+(c[ia>>2]|0)<<2)>>2];c[ia>>2]=(c[ia>>2]|0)+1}if(!(c[ea>>2]|0)){Hc(q,z,c[m>>2]|0,c[da>>2]|0,24,1024,c[(c[fa>>2]|0)+32>>2]|0)|0;g[z>>2]=+g[z>>2]*1.000100016593933;c[ia>>2]=1;while(1){if((c[ia>>2]|0)>24)break;ca=z+(c[ia>>2]<<2)|0;g[ca>>2]=+g[ca>>2]-+g[z+(c[ia>>2]<<2)>>2]*6.400000711437315e-05*+(c[ia>>2]|0)*+(c[ia>>2]|0);c[ia>>2]=(c[ia>>2]|0)+1}Dc((c[k>>2]|0)+((c[ha>>2]|0)*24<<2)|0,z,24)}c[x>>2]=(c[o>>2]<<1|0)<1024?c[o>>2]<<1:1024;c[ia>>2]=0;while(1){if((c[ia>>2]|0)>=24)break;g[A+(c[ia>>2]<<2)>>2]=+g[(c[u>>2]|0)+(2048-(c[x>>2]|0)-1-(c[ia>>2]|0)<<2)>>2];c[ia>>2]=(c[ia>>2]|0)+1}Ec(q+4096+(0-(c[x>>2]|0)<<2)|0,(c[k>>2]|0)+((c[ha>>2]|0)*24<<2)|0,q+4096+(0-(c[x>>2]|0)<<2)|0,c[x>>2]|0,24,A,c[(c[fa>>2]|0)+32>>2]|0);g[C>>2]=1.0;g[D>>2]=1.0;c[E>>2]=c[x>>2]>>1;c[ia>>2]=0;while(1){if((c[ia>>2]|0)>=(c[E>>2]|0))break;g[F>>2]=+g[q+(1024-(c[E>>2]|0)+(c[ia>>2]|0)<<2)>>2];g[C>>2]=+g[C>>2]+ +g[F>>2]*+g[F>>2];g[F>>2]=+g[q+(1024-(c[E>>2]<<1)+(c[ia>>2]|0)<<2)>>2];g[D>>2]=+g[D>>2]+ +g[F>>2]*+g[F>>2];c[ia>>2]=(c[ia>>2]|0)+1}g[C>>2]=+g[C>>2]<+g[D>>2]?+g[C>>2]:+g[D>>2];g[r>>2]=+B(+(+g[C>>2]/+g[D>>2]));$i(c[u>>2]|0,(c[u>>2]|0)+(c[ga>>2]<<2)|0,(2048-(c[ga>>2]|0)<<2)+0|0)|0;c[v>>2]=1024-(c[o>>2]|0);c[w>>2]=(c[ga>>2]|0)+(c[da>>2]|0);g[s>>2]=+g[n>>2]*+g[r>>2];c[y>>2]=0;c[ia>>2]=0;while(1){if((c[ia>>2]|0)>=(c[w>>2]|0))break;if((c[y>>2]|0)>=(c[o>>2]|0)){c[y>>2]=(c[y>>2]|0)-(c[o>>2]|0);g[s>>2]=+g[s>>2]*+g[r>>2]}g[(c[u>>2]|0)+(2048-(c[ga>>2]|0)+(c[ia>>2]|0)<<2)>>2]=+g[s>>2]*+g[q+((c[v>>2]|0)+(c[y>>2]|0)<<2)>>2];g[G>>2]=+g[(c[u>>2]|0)+(1024-(c[ga>>2]|0)+(c[v>>2]|0)+(c[y>>2]|0)<<2)>>2];g[t>>2]=+g[t>>2]+ +g[G>>2]*+g[G>>2];c[ia>>2]=(c[ia>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+1}c[ia>>2]=0;while(1){a=c[u>>2]|0;if((c[ia>>2]|0)>=24)break;g[H+(c[ia>>2]<<2)>>2]=+g[a+(2048-(c[ga>>2]|0)-1-(c[ia>>2]|0)<<2)>>2];c[ia>>2]=(c[ia>>2]|0)+1}Gc(a+8192+(0-(c[ga>>2]|0)<<2)|0,(c[k>>2]|0)+((c[ha>>2]|0)*24<<2)|0,(c[u>>2]|0)+8192+(0-(c[ga>>2]|0)<<2)|0,c[w>>2]|0,24,H,c[(c[fa>>2]|0)+32>>2]|0);g[I>>2]=0.0;c[ia>>2]=0;while(1){if((c[ia>>2]|0)>=(c[w>>2]|0))break;g[J>>2]=+g[(c[u>>2]|0)+(2048-(c[ga>>2]|0)+(c[ia>>2]|0)<<2)>>2];g[I>>2]=+g[I>>2]+ +g[J>>2]*+g[J>>2];c[ia>>2]=(c[ia>>2]|0)+1}a:do if(+g[t>>2]>+g[I>>2]*.20000000298023224){if(+g[t>>2]<+g[I>>2]){g[K>>2]=+B(+((+g[t>>2]+1.0)/(+g[I>>2]+1.0)));c[ia>>2]=0;while(1){if((c[ia>>2]|0)>=(c[da>>2]|0))break;g[L>>2]=1.0-+g[(c[m>>2]|0)+(c[ia>>2]<<2)>>2]*(1.0-+g[K>>2]);g[(c[u>>2]|0)+(2048-(c[ga>>2]|0)+(c[ia>>2]|0)<<2)>>2]=+g[L>>2]*+g[(c[u>>2]|0)+(2048-(c[ga>>2]|0)+(c[ia>>2]|0)<<2)>>2];c[ia>>2]=(c[ia>>2]|0)+1}c[ia>>2]=c[da>>2];while(1){if((c[ia>>2]|0)>=(c[w>>2]|0))break a;g[(c[u>>2]|0)+(2048-(c[ga>>2]|0)+(c[ia>>2]|0)<<2)>>2]=+g[K>>2]*+g[(c[u>>2]|0)+(2048-(c[ga>>2]|0)+(c[ia>>2]|0)<<2)>>2];c[ia>>2]=(c[ia>>2]|0)+1}}}else{c[ia>>2]=0;while(1){if((c[ia>>2]|0)>=(c[w>>2]|0))break a;g[(c[u>>2]|0)+(2048-(c[ga>>2]|0)+(c[ia>>2]|0)<<2)>>2]=0.0;c[ia>>2]=(c[ia>>2]|0)+1}}while(0);Na(d,(c[u>>2]|0)+8192|0,c[(c[fa>>2]|0)+52>>2]|0,c[(c[fa>>2]|0)+52>>2]|0,c[da>>2]|0,-+g[(c[fa>>2]|0)+60>>2],-+g[(c[fa>>2]|0)+60>>2],c[(c[fa>>2]|0)+68>>2]|0,c[(c[fa>>2]|0)+68>>2]|0,0,0,c[(c[fa>>2]|0)+32>>2]|0);c[ia>>2]=0;while(1){if((c[ia>>2]|0)>=((c[da>>2]|0)/2|0|0))break;g[(c[u>>2]|0)+(2048+(c[ia>>2]|0)<<2)>>2]=+g[(c[m>>2]|0)+(c[ia>>2]<<2)>>2]*+g[d+((c[da>>2]|0)-1-(c[ia>>2]|0)<<2)>>2]+ +g[(c[m>>2]|0)+((c[da>>2]|0)-(c[ia>>2]|0)-1<<2)>>2]*+g[d+(c[ia>>2]<<2)>>2];c[ia>>2]=(c[ia>>2]|0)+1}ca=(c[ha>>2]|0)+1|0;c[ha>>2]=ca}while((ca|0)<(c[ja>>2]|0));_(c[p>>2]|0);ja=c[ea>>2]|0;ja=ja+1|0;la=c[fa>>2]|0;la=la+48|0;c[la>>2]=ja;l=ma;return}function wb(a,b,d,e,f,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0;C=l;l=l+80|0;A=C+72|0;B=C+68|0;k=C+64|0;m=C+60|0;n=C+56|0;D=C+52|0;o=C+48|0;p=C+40|0;q=C+36|0;r=C+32|0;s=C+28|0;t=C+24|0;u=C+20|0;v=C+16|0;w=C+12|0;x=C+8|0;y=C+4|0;z=C;c[A>>2]=a;c[B>>2]=b;c[k>>2]=d;c[m>>2]=e;c[n>>2]=f;c[D>>2]=h;c[o>>2]=i;c[C+44>>2]=j;c[r>>2]=0;j=c[k>>2]|0;c[t>>2]=$()|0;a=l;l=l+((1*(j<<2)|0)+15&-16)|0;g[s>>2]=+g[c[D>>2]>>2];c[q>>2]=(c[k>>2]|0)/(c[n>>2]|0)|0;c[p>>2]=0;do{g[x>>2]=+g[(c[o>>2]|0)+(c[p>>2]<<2)>>2];c[v>>2]=c[(c[A>>2]|0)+(c[p>>2]<<2)>>2];c[w>>2]=(c[B>>2]|0)+(c[p>>2]<<2);D=(c[n>>2]|0)>1;c[u>>2]=0;a:do if(D){while(1){if((c[u>>2]|0)>=(c[k>>2]|0))break;g[y>>2]=+g[(c[v>>2]|0)+(c[u>>2]<<2)>>2]+ +g[x>>2]+1.0000000031710769e-30;g[x>>2]=+g[s>>2]*+g[y>>2];g[a+(c[u>>2]<<2)>>2]=+g[y>>2];c[u>>2]=(c[u>>2]|0)+1}c[r>>2]=1}else while(1){if((c[u>>2]|0)>=(c[k>>2]|0))break a;g[z>>2]=+g[(c[v>>2]|0)+(c[u>>2]<<2)>>2]+ +g[x>>2]+1.0000000031710769e-30;g[x>>2]=+g[s>>2]*+g[z>>2];g[(c[w>>2]|0)+((N(c[u>>2]|0,c[m>>2]|0)|0)<<2)>>2]=+g[z>>2]*.000030517578125;c[u>>2]=(c[u>>2]|0)+1}while(0);g[(c[o>>2]|0)+(c[p>>2]<<2)>>2]=+g[x>>2];b:do if(c[r>>2]|0){c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[q>>2]|0))break b;E=+g[a+((N(c[u>>2]|0,c[n>>2]|0)|0)<<2)>>2]*.000030517578125;g[(c[w>>2]|0)+((N(c[u>>2]|0,c[m>>2]|0)|0)<<2)>>2]=E;c[u>>2]=(c[u>>2]|0)+1}}while(0);D=(c[p>>2]|0)+1|0;c[p>>2]=D}while((D|0)<(c[m>>2]|0));_(c[t>>2]|0);l=C;return}function xb(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=(c[(c[d>>2]|0)+20>>2]|0)-(32-(Q(c[(c[d>>2]|0)+28>>2]|0)|0))|0;l=b;return a|0}function yb(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+64|0;t=x+52|0;u=x+48|0;v=x+44|0;w=x+40|0;i=x+36|0;j=x+32|0;k=x+28|0;m=x+24|0;n=x+20|0;o=x+16|0;p=x+12|0;q=x+8|0;r=x+4|0;s=x;c[t>>2]=b;c[u>>2]=d;c[v>>2]=e;c[w>>2]=f;c[i>>2]=g;c[j>>2]=h;c[r>>2]=c[(c[j>>2]|0)+4>>2]<<3;c[s>>2]=xb(c[j>>2]|0)|0;c[q>>2]=c[v>>2]|0?2:4;if((c[i>>2]|0)>0)b=((c[s>>2]|0)+(c[q>>2]|0)+1|0)>>>0<=(c[r>>2]|0)>>>0;else b=0;c[o>>2]=b&1;c[r>>2]=(c[r>>2]|0)-(c[o>>2]|0);c[m>>2]=0;c[p>>2]=0;c[k>>2]=c[t>>2];while(1){if((c[k>>2]|0)>=(c[u>>2]|0))break;if(((c[s>>2]|0)+(c[q>>2]|0)|0)>>>0<=(c[r>>2]|0)>>>0){h=Ob(c[j>>2]|0,c[q>>2]|0)|0;c[m>>2]=c[m>>2]^h;c[s>>2]=xb(c[j>>2]|0)|0;c[p>>2]=c[p>>2]|c[m>>2]}c[(c[w>>2]|0)+(c[k>>2]<<2)>>2]=c[m>>2];c[q>>2]=c[v>>2]|0?4:5;c[k>>2]=(c[k>>2]|0)+1}c[n>>2]=0;if(c[o>>2]|0?(a[25228+(c[i>>2]<<3)+((c[v>>2]<<2)+0+(c[p>>2]|0))>>0]|0)!=(a[25228+(c[i>>2]<<3)+((c[v>>2]<<2)+2+(c[p>>2]|0))>>0]|0):0)c[n>>2]=Ob(c[j>>2]|0,1)|0;c[k>>2]=c[t>>2];while(1){if((c[k>>2]|0)>=(c[u>>2]|0))break;c[(c[w>>2]|0)+(c[k>>2]<<2)>>2]=a[25228+(c[i>>2]<<3)+((c[v>>2]<<2)+(c[n>>2]<<1)+(c[(c[w>>2]|0)+(c[k>>2]<<2)>>2]|0))>>0];c[k>>2]=(c[k>>2]|0)+1}l=x;return}function zb(a,b,d,e,f,h,i,j,k,m,n,o,p){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0;Q=l;l=l+112|0;q=Q+100|0;r=Q+96|0;s=Q+92|0;t=Q+88|0;u=Q+84|0;v=Q+80|0;w=Q+76|0;x=Q+72|0;R=Q+68|0;y=Q+64|0;z=Q+60|0;A=Q+56|0;B=Q+52|0;C=Q+48|0;D=Q+44|0;E=Q+40|0;F=Q+36|0;G=Q+32|0;H=Q+28|0;I=Q+24|0;J=Q+20|0;K=Q+16|0;L=Q+12|0;M=Q+8|0;O=Q+4|0;P=Q;c[q>>2]=a;c[r>>2]=b;c[s>>2]=d;c[t>>2]=e;c[u>>2]=f;c[v>>2]=h;c[w>>2]=i;c[x>>2]=j;c[R>>2]=k;c[y>>2]=m;c[z>>2]=n;c[A>>2]=o;c[B>>2]=p;c[L>>2]=c[(c[q>>2]|0)+4>>2];c[K>>2]=c[(c[q>>2]|0)+8>>2];c[H>>2]=c[(c[q>>2]|0)+44>>2]<<c[y>>2];m=c[H>>2]|0;c[M>>2]=$()|0;a=l;l=l+((1*(m<<2)|0)+15&-16)|0;c[E>>2]=1<<c[y>>2];if(c[R>>2]|0){c[G>>2]=c[E>>2];c[I>>2]=c[(c[q>>2]|0)+44>>2];c[J>>2]=c[(c[q>>2]|0)+36>>2]}else{c[G>>2]=1;c[I>>2]=c[(c[q>>2]|0)+44>>2]<<c[y>>2];c[J>>2]=(c[(c[q>>2]|0)+36>>2]|0)-(c[y>>2]|0)}if((c[x>>2]|0)==2&(c[w>>2]|0)==1){oa(c[q>>2]|0,c[r>>2]|0,a,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[E>>2]|0,c[z>>2]|0,c[A>>2]|0);c[O>>2]=(c[(c[s>>2]|0)+4>>2]|0)+(((c[L>>2]|0)/2|0)<<2);_i(c[O>>2]|0,a|0,(c[H>>2]<<2)+0|0)|0;c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[G>>2]|0))break;R=(c[c[s>>2]>>2]|0)+((N(c[I>>2]|0,c[F>>2]|0)|0)<<2)|0;rc((c[q>>2]|0)+64|0,(c[O>>2]|0)+(c[F>>2]<<2)|0,R,c[(c[q>>2]|0)+60>>2]|0,c[L>>2]|0,c[J>>2]|0,c[G>>2]|0,c[B>>2]|0);c[F>>2]=(c[F>>2]|0)+1}c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[G>>2]|0))break;R=(c[(c[s>>2]|0)+4>>2]|0)+((N(c[I>>2]|0,c[F>>2]|0)|0)<<2)|0;rc((c[q>>2]|0)+64|0,a+(c[F>>2]<<2)|0,R,c[(c[q>>2]|0)+60>>2]|0,c[L>>2]|0,c[J>>2]|0,c[G>>2]|0,c[B>>2]|0);c[F>>2]=(c[F>>2]|0)+1}R=c[M>>2]|0;_(R|0);l=Q;return}if(!((c[x>>2]|0)==1&(c[w>>2]|0)==2)){c[C>>2]=0;do{P=(c[r>>2]|0)+((N(c[C>>2]|0,c[H>>2]|0)|0)<<2)|0;R=(c[t>>2]|0)+((N(c[C>>2]|0,c[K>>2]|0)|0)<<2)|0;oa(c[q>>2]|0,P,a,R,c[u>>2]|0,c[v>>2]|0,c[E>>2]|0,c[z>>2]|0,c[A>>2]|0);c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[G>>2]|0))break;R=(c[(c[s>>2]|0)+(c[C>>2]<<2)>>2]|0)+((N(c[I>>2]|0,c[F>>2]|0)|0)<<2)|0;rc((c[q>>2]|0)+64|0,a+(c[F>>2]<<2)|0,R,c[(c[q>>2]|0)+60>>2]|0,c[L>>2]|0,c[J>>2]|0,c[G>>2]|0,c[B>>2]|0);c[F>>2]=(c[F>>2]|0)+1}R=(c[C>>2]|0)+1|0;c[C>>2]=R}while((R|0)<(c[x>>2]|0));R=c[M>>2]|0;_(R|0);l=Q;return}c[P>>2]=(c[c[s>>2]>>2]|0)+(((c[L>>2]|0)/2|0)<<2);oa(c[q>>2]|0,c[r>>2]|0,a,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[E>>2]|0,c[z>>2]|0,c[A>>2]|0);oa(c[q>>2]|0,(c[r>>2]|0)+(c[H>>2]<<2)|0,c[P>>2]|0,(c[t>>2]|0)+(c[K>>2]<<2)|0,c[u>>2]|0,c[v>>2]|0,c[E>>2]|0,c[z>>2]|0,c[A>>2]|0);c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[H>>2]|0))break;g[a+(c[D>>2]<<2)>>2]=(+g[a+(c[D>>2]<<2)>>2]+ +g[(c[P>>2]|0)+(c[D>>2]<<2)>>2])*.5;c[D>>2]=(c[D>>2]|0)+1}c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[G>>2]|0))break;R=(c[c[s>>2]>>2]|0)+((N(c[I>>2]|0,c[F>>2]|0)|0)<<2)|0;rc((c[q>>2]|0)+64|0,a+(c[F>>2]<<2)|0,R,c[(c[q>>2]|0)+60>>2]|0,c[L>>2]|0,c[J>>2]|0,c[G>>2]|0,c[B>>2]|0);c[F>>2]=(c[F>>2]|0)+1}R=c[M>>2]|0;_(R|0);l=Q;return}function Ab(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[b>>2]|0)+44>>2]|0}function Bb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=l;l=l+4112|0;j=f+4108|0;i=f+4104|0;g=f+4100|0;e=f+4096|0;h=f;c[j>>2]=a;c[i>>2]=b;c[g>>2]=d;tc(c[j>>2]|0,h,2048,c[i>>2]|0,c[g>>2]|0);yc(h+1440|0,h,1328,620,e,c[g>>2]|0);c[e>>2]=720-(c[e>>2]|0);l=f;return c[e>>2]|0}function Cb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+16|0;i=f+12|0;h=f+8|0;g=f+4|0;j=f;c[i>>2]=a;c[h>>2]=b;c[g>>2]=d;c[j>>2]=e;d=c[j>>2]|0;e=Db(c[h>>2]|0,c[i>>2]|0)|0;ac(d,e,(c[(c[364+(((c[h>>2]|0)<(c[g>>2]|0)?c[h>>2]|0:c[g>>2]|0)<<2)>>2]|0)+(((c[h>>2]|0)>(c[g>>2]|0)?c[h>>2]|0:c[g>>2]|0)<<2)>>2]|0)+(c[(c[364+(((c[h>>2]|0)<((c[g>>2]|0)+1|0)?c[h>>2]|0:(c[g>>2]|0)+1|0)<<2)>>2]|0)+(((c[h>>2]|0)>((c[g>>2]|0)+1|0)?c[h>>2]|0:(c[g>>2]|0)+1|0)<<2)>>2]|0)|0);l=f;return}function Db(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[d>>2]=a;c[e>>2]=b;c[g>>2]=(c[d>>2]|0)-1;c[f>>2]=(c[(c[e>>2]|0)+(c[g>>2]<<2)>>2]|0)<0&1;c[h>>2]=A(c[(c[e>>2]|0)+(c[g>>2]<<2)>>2]|0)|0;do{c[g>>2]=(c[g>>2]|0)+-1;if(((c[d>>2]|0)-(c[g>>2]|0)|0)<(c[h>>2]|0))a=(c[d>>2]|0)-(c[g>>2]|0)|0;else a=c[h>>2]|0;if(((c[d>>2]|0)-(c[g>>2]|0)|0)>(c[h>>2]|0))b=(c[d>>2]|0)-(c[g>>2]|0)|0;else b=c[h>>2]|0;c[f>>2]=(c[f>>2]|0)+(c[(c[364+(a<<2)>>2]|0)+(b<<2)>>2]|0);b=A(c[(c[e>>2]|0)+(c[g>>2]<<2)>>2]|0)|0;c[h>>2]=(c[h>>2]|0)+b;if((c[(c[e>>2]|0)+(c[g>>2]<<2)>>2]|0)<0){if(((c[d>>2]|0)-(c[g>>2]|0)|0)<((c[h>>2]|0)+1|0))a=(c[d>>2]|0)-(c[g>>2]|0)|0;else a=(c[h>>2]|0)+1|0;if(((c[d>>2]|0)-(c[g>>2]|0)|0)>((c[h>>2]|0)+1|0))b=(c[d>>2]|0)-(c[g>>2]|0)|0;else b=(c[h>>2]|0)+1|0;c[f>>2]=(c[f>>2]|0)+(c[(c[364+(a<<2)>>2]|0)+(b<<2)>>2]|0)}}while((c[g>>2]|0)>0);l=i;return c[f>>2]|0}function Eb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0,h=0,i=0,j=0,k=0;g=l;l=l+16|0;h=g+12|0;j=g+8|0;i=g+4|0;k=g;c[h>>2]=a;c[j>>2]=b;c[i>>2]=d;c[k>>2]=e;b=c[j>>2]|0;d=c[i>>2]|0;e=Qb(c[k>>2]|0,(c[(c[364+(((c[j>>2]|0)<(c[i>>2]|0)?c[j>>2]|0:c[i>>2]|0)<<2)>>2]|0)+(((c[j>>2]|0)>(c[i>>2]|0)?c[j>>2]|0:c[i>>2]|0)<<2)>>2]|0)+(c[(c[364+(((c[j>>2]|0)<((c[i>>2]|0)+1|0)?c[j>>2]|0:(c[i>>2]|0)+1|0)<<2)>>2]|0)+(((c[j>>2]|0)>((c[i>>2]|0)+1|0)?c[j>>2]|0:(c[i>>2]|0)+1|0)<<2)>>2]|0)|0)|0;f=+Fb(b,d,e,c[h>>2]|0);l=g;return +f}function Fb(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0.0;t=l;l=l+48|0;n=t+36|0;o=t+32|0;p=t+28|0;q=t+24|0;r=t+20|0;s=t+16|0;h=t+12|0;i=t+40|0;j=t+8|0;k=t+4|0;m=t;c[n>>2]=a;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;g[j>>2]=0.0;while(1){a=c[o>>2]|0;if((c[n>>2]|0)<=2)break;do if((a|0)>=(c[n>>2]|0)){c[m>>2]=c[364+(c[n>>2]<<2)>>2];c[r>>2]=c[(c[m>>2]|0)+((c[o>>2]|0)+1<<2)>>2];c[s>>2]=0-((c[p>>2]|0)>>>0>=(c[r>>2]|0)>>>0&1);c[p>>2]=(c[p>>2]|0)-(c[r>>2]&c[s>>2]);c[h>>2]=c[o>>2];c[k>>2]=c[(c[m>>2]|0)+(c[n>>2]<<2)>>2];a:do if((c[k>>2]|0)>>>0>(c[p>>2]|0)>>>0){c[o>>2]=c[n>>2];do{f=(c[o>>2]|0)+-1|0;c[o>>2]=f;c[r>>2]=c[(c[364+(f<<2)>>2]|0)+(c[n>>2]<<2)>>2]}while((c[r>>2]|0)>>>0>(c[p>>2]|0)>>>0)}else{c[r>>2]=c[(c[m>>2]|0)+(c[o>>2]<<2)>>2];while(1){if((c[r>>2]|0)>>>0<=(c[p>>2]|0)>>>0)break a;c[o>>2]=(c[o>>2]|0)+-1;c[r>>2]=c[(c[m>>2]|0)+(c[o>>2]<<2)>>2]}}while(0);c[p>>2]=(c[p>>2]|0)-(c[r>>2]|0);b[i>>1]=(c[h>>2]|0)-(c[o>>2]|0)+(c[s>>2]|0)^c[s>>2];e=b[i>>1]|0;f=c[q>>2]|0;c[q>>2]=f+4;c[f>>2]=e;g[j>>2]=+g[j>>2]+ +(b[i>>1]|0)*+(b[i>>1]|0)}else{c[r>>2]=c[(c[364+(c[o>>2]<<2)>>2]|0)+(c[n>>2]<<2)>>2];c[k>>2]=c[(c[364+((c[o>>2]|0)+1<<2)>>2]|0)+(c[n>>2]<<2)>>2];if((c[r>>2]|0)>>>0<=(c[p>>2]|0)>>>0?(c[p>>2]|0)>>>0<(c[k>>2]|0)>>>0:0){c[p>>2]=(c[p>>2]|0)-(c[r>>2]|0);f=c[q>>2]|0;c[q>>2]=f+4;c[f>>2]=0;break}c[s>>2]=0-((c[p>>2]|0)>>>0>=(c[k>>2]|0)>>>0&1);c[p>>2]=(c[p>>2]|0)-(c[k>>2]&c[s>>2]);c[h>>2]=c[o>>2];do{f=(c[o>>2]|0)+-1|0;c[o>>2]=f;c[r>>2]=c[(c[364+(f<<2)>>2]|0)+(c[n>>2]<<2)>>2]}while((c[r>>2]|0)>>>0>(c[p>>2]|0)>>>0);c[p>>2]=(c[p>>2]|0)-(c[r>>2]|0);b[i>>1]=(c[h>>2]|0)-(c[o>>2]|0)+(c[s>>2]|0)^c[s>>2];e=b[i>>1]|0;f=c[q>>2]|0;c[q>>2]=f+4;c[f>>2]=e;g[j>>2]=+g[j>>2]+ +(b[i>>1]|0)*+(b[i>>1]|0)}while(0);c[n>>2]=(c[n>>2]|0)+-1}c[r>>2]=(a<<1)+1;c[s>>2]=0-((c[p>>2]|0)>>>0>=(c[r>>2]|0)>>>0&1);c[p>>2]=(c[p>>2]|0)-(c[r>>2]&c[s>>2]);c[h>>2]=c[o>>2];c[o>>2]=((c[p>>2]|0)+1|0)>>>1;if(!(c[o>>2]|0)){r=c[h>>2]|0;n=c[o>>2]|0;n=r-n|0;r=c[s>>2]|0;r=n+r|0;n=c[s>>2]|0;n=r^n;n=n&65535;b[i>>1]=n;n=b[i>>1]|0;n=n<<16>>16;r=c[q>>2]|0;m=r+4|0;c[q>>2]=m;c[r>>2]=n;w=+g[j>>2];r=b[i>>1]|0;u=+(r<<16>>16);r=b[i>>1]|0;v=+(r<<16>>16);v=u*v;v=w+v;g[j>>2]=v;r=c[p>>2]|0;r=0-r|0;c[s>>2]=r;r=c[o>>2]|0;p=c[s>>2]|0;p=r+p|0;r=c[s>>2]|0;r=p^r;r=r&65535;b[i>>1]=r;r=b[i>>1]|0;r=r<<16>>16;s=c[q>>2]|0;c[s>>2]=r;v=+g[j>>2];s=b[i>>1]|0;w=+(s<<16>>16);s=b[i>>1]|0;u=+(s<<16>>16);u=w*u;u=v+u;g[j>>2]=u;u=+g[j>>2];l=t;return +u}c[p>>2]=(c[p>>2]|0)-((c[o>>2]<<1)-1);r=c[h>>2]|0;n=c[o>>2]|0;n=r-n|0;r=c[s>>2]|0;r=n+r|0;n=c[s>>2]|0;n=r^n;n=n&65535;b[i>>1]=n;n=b[i>>1]|0;n=n<<16>>16;r=c[q>>2]|0;m=r+4|0;c[q>>2]=m;c[r>>2]=n;u=+g[j>>2];r=b[i>>1]|0;w=+(r<<16>>16);r=b[i>>1]|0;v=+(r<<16>>16);v=w*v;v=u+v;g[j>>2]=v;r=c[p>>2]|0;r=0-r|0;c[s>>2]=r;r=c[o>>2]|0;p=c[s>>2]|0;p=r+p|0;r=c[s>>2]|0;r=p^r;r=r&65535;b[i>>1]=r;r=b[i>>1]|0;r=r<<16>>16;s=c[q>>2]|0;c[s>>2]=r;v=+g[j>>2];s=b[i>>1]|0;u=+(s<<16>>16);s=b[i>>1]|0;w=+(s<<16>>16);w=u*w;w=v+w;g[j>>2]=w;w=+g[j>>2];l=t;return +w}function Gb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=l;l=l+32|0;h=e+16|0;d=e+12|0;g=e+8|0;b=e+4|0;f=e;c[h>>2]=a;c[d>>2]=c[(c[h>>2]|0)+20>>2]<<3;c[b>>2]=32-(Q(c[(c[h>>2]|0)+28>>2]|0)|0);c[g>>2]=(c[(c[h>>2]|0)+28>>2]|0)>>>((c[b>>2]|0)-16|0);c[f>>2]=((c[g>>2]|0)>>>12)-8;c[f>>2]=(c[f>>2]|0)+((c[g>>2]|0)>>>0>(c[5512+(c[f>>2]<<2)>>2]|0)>>>0&1);c[b>>2]=(c[b>>2]<<3)+(c[f>>2]|0);l=e;return (c[d>>2]|0)-(c[b>>2]|0)|0}function Hb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[c[f>>2]>>2]=c[h>>2];c[(c[f>>2]|0)+4>>2]=c[g>>2];c[(c[f>>2]|0)+8>>2]=0;c[(c[f>>2]|0)+12>>2]=0;c[(c[f>>2]|0)+16>>2]=0;c[(c[f>>2]|0)+20>>2]=9;c[(c[f>>2]|0)+24>>2]=0;c[(c[f>>2]|0)+28>>2]=128;d=Ib(c[f>>2]|0)|0;c[(c[f>>2]|0)+40>>2]=d;c[(c[f>>2]|0)+32>>2]=(c[(c[f>>2]|0)+28>>2]|0)-1-(c[(c[f>>2]|0)+40>>2]>>1);c[(c[f>>2]|0)+44>>2]=0;Jb(c[f>>2]|0);l=e;return}function Ib(a){a=a|0;var b=0,e=0,f=0;e=l;l=l+16|0;b=e;c[b>>2]=a;if((c[(c[b>>2]|0)+24>>2]|0)>>>0>=(c[(c[b>>2]|0)+4>>2]|0)>>>0){b=0;l=e;return b|0}a=c[c[b>>2]>>2]|0;f=(c[b>>2]|0)+24|0;b=c[f>>2]|0;c[f>>2]=b+1;b=d[a+b>>0]|0;l=e;return b|0}function Jb(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;while(1){if((c[(c[b>>2]|0)+28>>2]|0)>>>0>8388608)break;a=(c[b>>2]|0)+20|0;c[a>>2]=(c[a>>2]|0)+8;a=(c[b>>2]|0)+28|0;c[a>>2]=c[a>>2]<<8;c[d>>2]=c[(c[b>>2]|0)+40>>2];a=Ib(c[b>>2]|0)|0;c[(c[b>>2]|0)+40>>2]=a;c[d>>2]=(c[d>>2]<<8|c[(c[b>>2]|0)+40>>2])>>1;c[(c[b>>2]|0)+32>>2]=(c[(c[b>>2]|0)+32>>2]<<8)+(255&~c[d>>2])&2147483647}l=e;return}function Kb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;g=f+8|0;e=f+4|0;d=f;c[g>>2]=a;c[e>>2]=b;b=Lb(c[(c[g>>2]|0)+28>>2]|0,c[e>>2]|0)|0;c[(c[g>>2]|0)+36>>2]=b;c[d>>2]=((c[(c[g>>2]|0)+32>>2]|0)>>>0)/((c[(c[g>>2]|0)+36>>2]|0)>>>0)|0;l=f;return (c[e>>2]|0)-((c[d>>2]|0)+1+((c[e>>2]|0)-((c[d>>2]|0)+1)&0-((c[e>>2]|0)>>>0<((c[d>>2]|0)+1|0)>>>0&1)))|0}function Lb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)>>>0)/((c[d>>2]|0)>>>0)|0|0}function Mb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;g=f+8|0;e=f+4|0;d=f;c[g>>2]=a;c[e>>2]=b;c[(c[g>>2]|0)+36>>2]=(c[(c[g>>2]|0)+28>>2]|0)>>>(c[e>>2]|0);c[d>>2]=((c[(c[g>>2]|0)+32>>2]|0)>>>0)/((c[(c[g>>2]|0)+36>>2]|0)>>>0)|0;l=f;return (1<<c[e>>2])-((c[d>>2]|0)+1+((1<<c[e>>2])-((c[d>>2]|0)+1)&0-(1<<c[e>>2]>>>0<((c[d>>2]|0)+1|0)>>>0&1)))|0}function Nb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;f=j+16|0;g=j+12|0;h=j+8|0;k=j+4|0;i=j;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;c[i>>2]=N(c[(c[f>>2]|0)+36>>2]|0,(c[k>>2]|0)-(c[h>>2]|0)|0)|0;a=(c[f>>2]|0)+32|0;c[a>>2]=(c[a>>2]|0)-(c[i>>2]|0);a=c[f>>2]|0;if((c[g>>2]|0)>>>0>0){i=N(c[a+36>>2]|0,(c[h>>2]|0)-(c[g>>2]|0)|0)|0;k=c[f>>2]|0;k=k+28|0;c[k>>2]=i;k=c[f>>2]|0;Jb(k);l=j;return}else{i=(c[a+28>>2]|0)-(c[i>>2]|0)|0;k=c[f>>2]|0;k=k+28|0;c[k>>2]=i;k=c[f>>2]|0;Jb(k);l=j;return}}function Ob(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;d=i+20|0;j=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[d>>2]=a;c[j>>2]=b;c[e>>2]=c[(c[d>>2]|0)+28>>2];c[f>>2]=c[(c[d>>2]|0)+32>>2];c[g>>2]=(c[e>>2]|0)>>>(c[j>>2]|0);c[h>>2]=(c[f>>2]|0)>>>0<(c[g>>2]|0)>>>0&1;if(!(c[h>>2]|0))c[(c[d>>2]|0)+32>>2]=(c[f>>2]|0)-(c[g>>2]|0);if(c[h>>2]|0){g=c[g>>2]|0;j=c[d>>2]|0;j=j+28|0;c[j>>2]=g;j=c[d>>2]|0;Jb(j);j=c[h>>2]|0;l=i;return j|0}else{g=(c[e>>2]|0)-(c[g>>2]|0)|0;j=c[d>>2]|0;j=j+28|0;c[j>>2]=g;j=c[d>>2]|0;Jb(j);j=c[h>>2]|0;l=i;return j|0}return 0}function Pb(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;g=n+28|0;h=n+24|0;o=n+20|0;i=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;f=n;c[g>>2]=a;c[h>>2]=b;c[o>>2]=e;c[k>>2]=c[(c[g>>2]|0)+28>>2];c[j>>2]=c[(c[g>>2]|0)+32>>2];c[i>>2]=(c[k>>2]|0)>>>(c[o>>2]|0);c[f>>2]=-1;do{c[m>>2]=c[k>>2];b=c[i>>2]|0;e=c[h>>2]|0;o=(c[f>>2]|0)+1|0;c[f>>2]=o;c[k>>2]=N(b,d[e+o>>0]|0)|0}while((c[j>>2]|0)>>>0<(c[k>>2]|0)>>>0);c[(c[g>>2]|0)+32>>2]=(c[j>>2]|0)-(c[k>>2]|0);c[(c[g>>2]|0)+28>>2]=(c[m>>2]|0)-(c[k>>2]|0);Jb(c[g>>2]|0);l=n;return c[f>>2]|0}function Qb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;d=k+24|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[f>>2]=(c[f>>2]|0)+-1;c[i>>2]=32-(Q(c[f>>2]|0)|0);if((c[i>>2]|0)<=8){c[f>>2]=(c[f>>2]|0)+1;c[h>>2]=Kb(c[e>>2]|0,c[f>>2]|0)|0;Nb(c[e>>2]|0,c[h>>2]|0,(c[h>>2]|0)+1|0,c[f>>2]|0);c[d>>2]=c[h>>2];j=c[d>>2]|0;l=k;return j|0}c[i>>2]=(c[i>>2]|0)-8;c[g>>2]=((c[f>>2]|0)>>>(c[i>>2]|0))+1;c[h>>2]=Kb(c[e>>2]|0,c[g>>2]|0)|0;Nb(c[e>>2]|0,c[h>>2]|0,(c[h>>2]|0)+1|0,c[g>>2]|0);h=c[h>>2]<<c[i>>2];c[j>>2]=h|(Rb(c[e>>2]|0,c[i>>2]|0)|0);if((c[j>>2]|0)>>>0<=(c[f>>2]|0)>>>0){c[d>>2]=c[j>>2];j=c[d>>2]|0;l=k;return j|0}else{c[(c[e>>2]|0)+44>>2]=1;c[d>>2]=c[f>>2];j=c[d>>2]|0;l=k;return j|0}return 0}function Rb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[d>>2]|0)+12>>2];c[g>>2]=c[(c[d>>2]|0)+16>>2];if((c[g>>2]|0)>>>0<(c[e>>2]|0)>>>0)do{b=Sb(c[d>>2]|0)|0;c[f>>2]=c[f>>2]|b<<c[g>>2];c[g>>2]=(c[g>>2]|0)+8}while((c[g>>2]|0)<=24);c[h>>2]=c[f>>2]&(1<<c[e>>2])-1;c[f>>2]=(c[f>>2]|0)>>>(c[e>>2]|0);c[g>>2]=(c[g>>2]|0)-(c[e>>2]|0);c[(c[d>>2]|0)+12>>2]=c[f>>2];c[(c[d>>2]|0)+16>>2]=c[g>>2];g=(c[d>>2]|0)+20|0;c[g>>2]=(c[g>>2]|0)+(c[e>>2]|0);l=i;return c[h>>2]|0}function Sb(a){a=a|0;var b=0,e=0,f=0,g=0;e=l;l=l+16|0;b=e;c[b>>2]=a;if((c[(c[b>>2]|0)+8>>2]|0)>>>0>=(c[(c[b>>2]|0)+4>>2]|0)>>>0){b=0;l=e;return b|0}f=c[c[b>>2]>>2]|0;a=c[(c[b>>2]|0)+4>>2]|0;g=(c[b>>2]|0)+8|0;b=(c[g>>2]|0)+1|0;c[g>>2]=b;b=d[f+(a-b)>>0]|0;l=e;return b|0}function Tb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[c[f>>2]>>2]=c[h>>2];c[(c[f>>2]|0)+8>>2]=0;c[(c[f>>2]|0)+12>>2]=0;c[(c[f>>2]|0)+16>>2]=0;c[(c[f>>2]|0)+20>>2]=33;c[(c[f>>2]|0)+24>>2]=0;c[(c[f>>2]|0)+28>>2]=-2147483648;c[(c[f>>2]|0)+40>>2]=-1;c[(c[f>>2]|0)+32>>2]=0;c[(c[f>>2]|0)+36>>2]=0;c[(c[f>>2]|0)+4>>2]=c[g>>2];c[(c[f>>2]|0)+44>>2]=0;l=e;return}function Ub(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;c[j>>2]=Vb(c[(c[f>>2]|0)+28>>2]|0,c[i>>2]|0)|0;if((c[g>>2]|0)>>>0>0){e=(c[(c[f>>2]|0)+28>>2]|0)-(N(c[j>>2]|0,(c[i>>2]|0)-(c[g>>2]|0)|0)|0)|0;i=(c[f>>2]|0)+32|0;c[i>>2]=(c[i>>2]|0)+e;j=N(c[j>>2]|0,(c[h>>2]|0)-(c[g>>2]|0)|0)|0;c[(c[f>>2]|0)+28>>2]=j;j=c[f>>2]|0;Wb(j);l=k;return}else{i=N(c[j>>2]|0,(c[i>>2]|0)-(c[h>>2]|0)|0)|0;j=(c[f>>2]|0)+28|0;c[j>>2]=(c[j>>2]|0)-i;j=c[f>>2]|0;Wb(j);l=k;return}}function Vb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)>>>0)/((c[d>>2]|0)>>>0)|0|0}function Wb(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;while(1){if((c[(c[b>>2]|0)+28>>2]|0)>>>0>8388608)break;Xb(c[b>>2]|0,(c[(c[b>>2]|0)+32>>2]|0)>>>23);c[(c[b>>2]|0)+32>>2]=c[(c[b>>2]|0)+32>>2]<<8&2147483647;a=(c[b>>2]|0)+28|0;c[a>>2]=c[a>>2]<<8;a=(c[b>>2]|0)+20|0;c[a>>2]=(c[a>>2]|0)+8}l=d;return}function Xb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)==255){g=(c[d>>2]|0)+36|0;c[g>>2]=(c[g>>2]|0)+1;l=h;return}c[f>>2]=c[e>>2]>>8;if((c[(c[d>>2]|0)+40>>2]|0)>=0){a=Yb(c[d>>2]|0,(c[(c[d>>2]|0)+40>>2]|0)+(c[f>>2]|0)|0)|0;b=(c[d>>2]|0)+44|0;c[b>>2]=c[b>>2]|a}if((c[(c[d>>2]|0)+36>>2]|0)>>>0>0){c[g>>2]=255+(c[f>>2]|0)&255;do{f=Yb(c[d>>2]|0,c[g>>2]|0)|0;b=(c[d>>2]|0)+44|0;c[b>>2]=c[b>>2]|f;b=(c[d>>2]|0)+36|0;f=(c[b>>2]|0)+-1|0;c[b>>2]=f}while(f>>>0>0)}c[(c[d>>2]|0)+40>>2]=c[e>>2]&255;l=h;return}function Yb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=d;if(((c[(c[f>>2]|0)+24>>2]|0)+(c[(c[f>>2]|0)+8>>2]|0)|0)>>>0>=(c[(c[f>>2]|0)+4>>2]|0)>>>0){c[e>>2]=-1;g=c[e>>2]|0;l=h;return g|0}else{b=c[g>>2]&255;d=c[c[f>>2]>>2]|0;f=(c[f>>2]|0)+24|0;g=c[f>>2]|0;c[f>>2]=g+1;a[d+g>>0]=b;c[e>>2]=0;g=c[e>>2]|0;l=h;return g|0}return 0}function Zb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;c[j>>2]=(c[(c[f>>2]|0)+28>>2]|0)>>>(c[i>>2]|0);if((c[g>>2]|0)>>>0>0){e=(c[(c[f>>2]|0)+28>>2]|0)-(N(c[j>>2]|0,(1<<c[i>>2])-(c[g>>2]|0)|0)|0)|0;i=(c[f>>2]|0)+32|0;c[i>>2]=(c[i>>2]|0)+e;j=N(c[j>>2]|0,(c[h>>2]|0)-(c[g>>2]|0)|0)|0;c[(c[f>>2]|0)+28>>2]=j;j=c[f>>2]|0;Wb(j);l=k;return}else{i=N(c[j>>2]|0,(1<<c[i>>2])-(c[h>>2]|0)|0)|0;j=(c[f>>2]|0)+28|0;c[j>>2]=(c[j>>2]|0)-i;j=c[f>>2]|0;Wb(j);l=k;return}}function _b(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+20|0;f=j+16|0;k=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[f>>2]=b;c[k>>2]=d;c[g>>2]=c[(c[e>>2]|0)+28>>2];c[i>>2]=c[(c[e>>2]|0)+32>>2];c[h>>2]=(c[g>>2]|0)>>>(c[k>>2]|0);c[g>>2]=(c[g>>2]|0)-(c[h>>2]|0);if(c[f>>2]|0)c[(c[e>>2]|0)+32>>2]=(c[i>>2]|0)+(c[g>>2]|0);c[(c[e>>2]|0)+28>>2]=c[f>>2]|0?c[h>>2]|0:c[g>>2]|0;Wb(c[e>>2]|0);l=j;return}function $b(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;g=k+16|0;h=k+12|0;i=k+8|0;m=k+4|0;j=k;c[g>>2]=a;c[h>>2]=b;c[i>>2]=e;c[m>>2]=f;c[j>>2]=(c[(c[g>>2]|0)+28>>2]|0)>>>(c[m>>2]|0);if((c[h>>2]|0)>0){f=(c[(c[g>>2]|0)+28>>2]|0)-(N(c[j>>2]|0,d[(c[i>>2]|0)+((c[h>>2]|0)-1)>>0]|0)|0)|0;m=(c[g>>2]|0)+32|0;c[m>>2]=(c[m>>2]|0)+f;m=N(c[j>>2]|0,(d[(c[i>>2]|0)+((c[h>>2]|0)-1)>>0]|0)-(d[(c[i>>2]|0)+(c[h>>2]|0)>>0]|0)|0)|0;c[(c[g>>2]|0)+28>>2]=m;m=c[g>>2]|0;Wb(m);l=k;return}else{j=N(c[j>>2]|0,d[(c[i>>2]|0)+(c[h>>2]|0)>>0]|0)|0;m=(c[g>>2]|0)+28|0;c[m>>2]=(c[m>>2]|0)-j;m=c[g>>2]|0;Wb(m);l=k;return}}function ac(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[g>>2]=(c[g>>2]|0)+-1;c[j>>2]=32-(Q(c[g>>2]|0)|0);if((c[j>>2]|0)>8){c[j>>2]=(c[j>>2]|0)-8;c[h>>2]=((c[g>>2]|0)>>>(c[j>>2]|0))+1;c[i>>2]=(c[f>>2]|0)>>>(c[j>>2]|0);Ub(c[e>>2]|0,c[i>>2]|0,(c[i>>2]|0)+1|0,c[h>>2]|0);bc(c[e>>2]|0,c[f>>2]&(1<<c[j>>2])-1,c[j>>2]|0);l=k;return}else{Ub(c[e>>2]|0,c[f>>2]|0,(c[f>>2]|0)+1|0,(c[g>>2]|0)+1|0);l=k;return}}function bc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[e>>2]|0)+12>>2];c[i>>2]=c[(c[e>>2]|0)+16>>2];if(((c[i>>2]|0)+(c[g>>2]|0)|0)>>>0>32)do{b=cc(c[e>>2]|0,c[h>>2]&255)|0;d=(c[e>>2]|0)+44|0;c[d>>2]=c[d>>2]|b;c[h>>2]=(c[h>>2]|0)>>>8;c[i>>2]=(c[i>>2]|0)-8}while((c[i>>2]|0)>=8);c[h>>2]=c[h>>2]|c[f>>2]<<c[i>>2];c[i>>2]=(c[i>>2]|0)+(c[g>>2]|0);c[(c[e>>2]|0)+12>>2]=c[h>>2];c[(c[e>>2]|0)+16>>2]=c[i>>2];i=(c[e>>2]|0)+20|0;c[i>>2]=(c[i>>2]|0)+(c[g>>2]|0);l=j;return}function cc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=d;if(((c[(c[f>>2]|0)+24>>2]|0)+(c[(c[f>>2]|0)+8>>2]|0)|0)>>>0>=(c[(c[f>>2]|0)+4>>2]|0)>>>0){c[e>>2]=-1;g=c[e>>2]|0;l=h;return g|0}else{i=c[g>>2]&255;b=c[c[f>>2]>>2]|0;d=c[(c[f>>2]|0)+4>>2]|0;f=(c[f>>2]|0)+8|0;g=(c[f>>2]|0)+1|0;c[f>>2]=g;a[b+(d-g)>>0]=i;c[e>>2]=0;g=c[e>>2]|0;l=h;return g|0}return 0}function dc(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[g>>2]=b;c[h>>2]=e;c[i>>2]=f;c[j>>2]=8-(c[i>>2]|0);c[k>>2]=(1<<c[i>>2])-1<<c[j>>2];b=c[g>>2]|0;if((c[(c[g>>2]|0)+24>>2]|0)>>>0>0){a[c[c[g>>2]>>2]>>0]=(d[c[b>>2]>>0]|0)&~c[k>>2]|c[h>>2]<<c[j>>2];l=m;return}e=c[g>>2]|0;if((c[b+40>>2]|0)>=0){c[(c[g>>2]|0)+40>>2]=c[e+40>>2]&~c[k>>2]|c[h>>2]<<c[j>>2];l=m;return}b=c[g>>2]|0;if((c[e+28>>2]|0)>>>0<=-2147483648>>>(c[i>>2]|0)>>>0){c[(c[g>>2]|0)+32>>2]=c[b+32>>2]&~(c[k>>2]<<23)|c[h>>2]<<23+(c[j>>2]|0);l=m;return}else{c[b+44>>2]=-1;l=m;return}}function ec(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;$i((c[c[e>>2]>>2]|0)+(c[f>>2]|0)+(0-(c[(c[e>>2]|0)+8>>2]|0))|0,(c[c[e>>2]>>2]|0)+(c[(c[e>>2]|0)+4>>2]|0)+(0-(c[(c[e>>2]|0)+8>>2]|0))|0,(c[(c[e>>2]|0)+8>>2]|0)+0|0)|0;c[(c[e>>2]|0)+4>>2]=c[f>>2];l=d;return}function fc(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;g=k+20|0;h=k+16|0;i=k+12|0;e=k+8|0;f=k+4|0;j=k;c[g>>2]=b;c[j>>2]=32-(32-(Q(c[(c[g>>2]|0)+28>>2]|0)|0));c[e>>2]=2147483647>>>(c[j>>2]|0);c[f>>2]=(c[(c[g>>2]|0)+32>>2]|0)+(c[e>>2]|0)&~c[e>>2];if((c[f>>2]|c[e>>2])>>>0>=((c[(c[g>>2]|0)+32>>2]|0)+(c[(c[g>>2]|0)+28>>2]|0)|0)>>>0){c[j>>2]=(c[j>>2]|0)+1;c[e>>2]=(c[e>>2]|0)>>>1;c[f>>2]=(c[(c[g>>2]|0)+32>>2]|0)+(c[e>>2]|0)&~c[e>>2]}while(1){b=c[g>>2]|0;if((c[j>>2]|0)<=0)break;Xb(b,(c[f>>2]|0)>>>23);c[f>>2]=c[f>>2]<<8&2147483647;c[j>>2]=(c[j>>2]|0)-8}if(!((c[b+40>>2]|0)<0?(c[(c[g>>2]|0)+36>>2]|0)>>>0<=0:0))Xb(c[g>>2]|0,0);c[h>>2]=c[(c[g>>2]|0)+12>>2];c[i>>2]=c[(c[g>>2]|0)+16>>2];while(1){b=c[g>>2]|0;if((c[i>>2]|0)<8)break;e=cc(b,c[h>>2]&255)|0;f=(c[g>>2]|0)+44|0;c[f>>2]=c[f>>2]|e;c[h>>2]=(c[h>>2]|0)>>>8;c[i>>2]=(c[i>>2]|0)-8}if(c[b+44>>2]|0){l=k;return}aj((c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+24>>2]|0)|0,0,(c[(c[g>>2]|0)+4>>2]|0)-(c[(c[g>>2]|0)+24>>2]|0)-(c[(c[g>>2]|0)+8>>2]|0)|0)|0;if((c[i>>2]|0)<=0){l=k;return}if((c[(c[g>>2]|0)+8>>2]|0)>>>0>=(c[(c[g>>2]|0)+4>>2]|0)>>>0){c[(c[g>>2]|0)+44>>2]=-1;l=k;return}c[j>>2]=0-(c[j>>2]|0);if(((c[(c[g>>2]|0)+24>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0)>>>0>=(c[(c[g>>2]|0)+4>>2]|0)>>>0?(c[j>>2]|0)<(c[i>>2]|0):0){c[h>>2]=c[h>>2]&(1<<c[j>>2])-1;c[(c[g>>2]|0)+44>>2]=-1}j=(c[c[g>>2]>>2]|0)+((c[(c[g>>2]|0)+4>>2]|0)-(c[(c[g>>2]|0)+8>>2]|0)-1)|0;a[j>>0]=d[j>>0]|0|c[h>>2]&255;l=k;return}function gc(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+64|0;f=o+60|0;g=o+56|0;h=o+52|0;i=o+48|0;j=o+44|0;k=o+40|0;m=o+8|0;n=o+4|0;e=o;c[f>>2]=a;c[g>>2]=d;if((c[(c[f>>2]|0)+8>>2]|0)>0)a=c[(c[f>>2]|0)+8>>2]|0;else a=0;c[e>>2]=a;c[m>>2]=1;c[k>>2]=0;do{c[j>>2]=b[(c[f>>2]|0)+12+(c[k>>2]<<1<<1)>>1];c[i>>2]=b[(c[f>>2]|0)+12+((c[k>>2]<<1)+1<<1)>>1];d=N(c[m+(c[k>>2]<<2)>>2]|0,c[j>>2]|0)|0;c[m+((c[k>>2]|0)+1<<2)>>2]=d;c[k>>2]=(c[k>>2]|0)+1}while((c[i>>2]|0)!=1);c[i>>2]=b[(c[f>>2]|0)+12+((c[k>>2]<<1)-1<<1)>>1];c[n>>2]=(c[k>>2]|0)-1;while(1){if((c[n>>2]|0)<0)break;if(c[n>>2]|0)c[h>>2]=b[(c[f>>2]|0)+12+((c[n>>2]<<1)-1<<1)>>1];else c[h>>2]=1;switch(b[(c[f>>2]|0)+12+(c[n>>2]<<1<<1)>>1]|0){case 2:{hc(c[g>>2]|0,c[i>>2]|0,c[m+(c[n>>2]<<2)>>2]|0);break}case 4:{ic(c[g>>2]|0,c[m+(c[n>>2]<<2)>>2]<<c[e>>2],c[f>>2]|0,c[i>>2]|0,c[m+(c[n>>2]<<2)>>2]|0,c[h>>2]|0);break}case 3:{jc(c[g>>2]|0,c[m+(c[n>>2]<<2)>>2]<<c[e>>2],c[f>>2]|0,c[i>>2]|0,c[m+(c[n>>2]<<2)>>2]|0,c[h>>2]|0);break}case 5:{kc(c[g>>2]|0,c[m+(c[n>>2]<<2)>>2]<<c[e>>2],c[f>>2]|0,c[i>>2]|0,c[m+(c[n>>2]<<2)>>2]|0,c[h>>2]|0);break}default:{}}c[i>>2]=c[h>>2];c[n>>2]=(c[n>>2]|0)+-1}l=o;return}function hc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;e=m+28|0;f=m+20|0;h=m+16|0;i=m+12|0;j=m+8|0;k=m;c[e>>2]=a;c[m+24>>2]=b;c[f>>2]=d;g[j>>2]=.7071067690849304;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[f>>2]|0))break;c[h>>2]=(c[e>>2]|0)+32;d=c[h>>2]|0;c[k>>2]=c[d>>2];c[k+4>>2]=c[d+4>>2];g[c[h>>2]>>2]=+g[c[e>>2]>>2]-+g[k>>2];g[(c[h>>2]|0)+4>>2]=+g[(c[e>>2]|0)+4>>2]-+g[k+4>>2];d=c[e>>2]|0;g[d>>2]=+g[d>>2]+ +g[k>>2];d=(c[e>>2]|0)+4|0;g[d>>2]=+g[d>>2]+ +g[k+4>>2];g[k>>2]=(+g[(c[h>>2]|0)+8>>2]+ +g[(c[h>>2]|0)+8+4>>2])*+g[j>>2];g[k+4>>2]=(+g[(c[h>>2]|0)+8+4>>2]-+g[(c[h>>2]|0)+8>>2])*+g[j>>2];g[(c[h>>2]|0)+8>>2]=+g[(c[e>>2]|0)+8>>2]-+g[k>>2];g[(c[h>>2]|0)+8+4>>2]=+g[(c[e>>2]|0)+8+4>>2]-+g[k+4>>2];d=(c[e>>2]|0)+8|0;g[d>>2]=+g[d>>2]+ +g[k>>2];d=(c[e>>2]|0)+8+4|0;g[d>>2]=+g[d>>2]+ +g[k+4>>2];g[k>>2]=+g[(c[h>>2]|0)+16+4>>2];g[k+4>>2]=-+g[(c[h>>2]|0)+16>>2];g[(c[h>>2]|0)+16>>2]=+g[(c[e>>2]|0)+16>>2]-+g[k>>2];g[(c[h>>2]|0)+16+4>>2]=+g[(c[e>>2]|0)+16+4>>2]-+g[k+4>>2];d=(c[e>>2]|0)+16|0;g[d>>2]=+g[d>>2]+ +g[k>>2];d=(c[e>>2]|0)+16+4|0;g[d>>2]=+g[d>>2]+ +g[k+4>>2];g[k>>2]=(+g[(c[h>>2]|0)+24+4>>2]-+g[(c[h>>2]|0)+24>>2])*+g[j>>2];g[k+4>>2]=(-+g[(c[h>>2]|0)+24+4>>2]-+g[(c[h>>2]|0)+24>>2])*+g[j>>2];g[(c[h>>2]|0)+24>>2]=+g[(c[e>>2]|0)+24>>2]-+g[k>>2];g[(c[h>>2]|0)+24+4>>2]=+g[(c[e>>2]|0)+24+4>>2]-+g[k+4>>2];d=(c[e>>2]|0)+24|0;g[d>>2]=+g[d>>2]+ +g[k>>2];d=(c[e>>2]|0)+24+4|0;g[d>>2]=+g[d>>2]+ +g[k+4>>2];c[e>>2]=(c[e>>2]|0)+64;c[i>>2]=(c[i>>2]|0)+1}l=m;return}function ic(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+128|0;w=A+120|0;x=A+116|0;y=A+112|0;z=A+108|0;i=A+104|0;j=A+100|0;k=A+96|0;m=A+88|0;n=A+80|0;o=A+72|0;p=A+24|0;q=A+20|0;r=A+16|0;s=A+12|0;t=A+8|0;u=A+4|0;v=A;c[w>>2]=a;c[x>>2]=b;c[y>>2]=d;c[z>>2]=e;c[i>>2]=f;c[j>>2]=h;if((c[z>>2]|0)==1){c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[i>>2]|0))break;g[m>>2]=+g[c[w>>2]>>2]-+g[(c[w>>2]|0)+16>>2];g[m+4>>2]=+g[(c[w>>2]|0)+4>>2]-+g[(c[w>>2]|0)+16+4>>2];z=c[w>>2]|0;g[z>>2]=+g[z>>2]+ +g[(c[w>>2]|0)+16>>2];z=(c[w>>2]|0)+4|0;g[z>>2]=+g[z>>2]+ +g[(c[w>>2]|0)+16+4>>2];g[n>>2]=+g[(c[w>>2]|0)+8>>2]+ +g[(c[w>>2]|0)+24>>2];g[n+4>>2]=+g[(c[w>>2]|0)+8+4>>2]+ +g[(c[w>>2]|0)+24+4>>2];g[(c[w>>2]|0)+16>>2]=+g[c[w>>2]>>2]-+g[n>>2];g[(c[w>>2]|0)+16+4>>2]=+g[(c[w>>2]|0)+4>>2]-+g[n+4>>2];z=c[w>>2]|0;g[z>>2]=+g[z>>2]+ +g[n>>2];z=(c[w>>2]|0)+4|0;g[z>>2]=+g[z>>2]+ +g[n+4>>2];g[n>>2]=+g[(c[w>>2]|0)+8>>2]-+g[(c[w>>2]|0)+24>>2];g[n+4>>2]=+g[(c[w>>2]|0)+8+4>>2]-+g[(c[w>>2]|0)+24+4>>2];g[(c[w>>2]|0)+8>>2]=+g[m>>2]+ +g[n+4>>2];g[(c[w>>2]|0)+8+4>>2]=+g[m+4>>2]-+g[n>>2];g[(c[w>>2]|0)+24>>2]=+g[m>>2]-+g[n+4>>2];g[(c[w>>2]|0)+24+4>>2]=+g[m+4>>2]+ +g[n>>2];c[w>>2]=(c[w>>2]|0)+32;c[k>>2]=(c[k>>2]|0)+1}l=A;return}c[t>>2]=c[z>>2]<<1;c[u>>2]=(c[z>>2]|0)*3;c[v>>2]=c[w>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[i>>2]|0))break;c[w>>2]=(c[v>>2]|0)+((N(c[k>>2]|0,c[j>>2]|0)|0)<<3);h=c[(c[y>>2]|0)+48>>2]|0;c[q>>2]=h;c[r>>2]=h;c[s>>2]=h;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[z>>2]|0))break;g[p>>2]=+g[(c[w>>2]|0)+(c[z>>2]<<3)>>2]*+g[c[q>>2]>>2]-+g[(c[w>>2]|0)+(c[z>>2]<<3)+4>>2]*+g[(c[q>>2]|0)+4>>2];g[p+4>>2]=+g[(c[w>>2]|0)+(c[z>>2]<<3)>>2]*+g[(c[q>>2]|0)+4>>2]+ +g[(c[w>>2]|0)+(c[z>>2]<<3)+4>>2]*+g[c[q>>2]>>2];g[p+8>>2]=+g[(c[w>>2]|0)+(c[t>>2]<<3)>>2]*+g[c[r>>2]>>2]-+g[(c[w>>2]|0)+(c[t>>2]<<3)+4>>2]*+g[(c[r>>2]|0)+4>>2];g[p+8+4>>2]=+g[(c[w>>2]|0)+(c[t>>2]<<3)>>2]*+g[(c[r>>2]|0)+4>>2]+ +g[(c[w>>2]|0)+(c[t>>2]<<3)+4>>2]*+g[c[r>>2]>>2];g[p+16>>2]=+g[(c[w>>2]|0)+(c[u>>2]<<3)>>2]*+g[c[s>>2]>>2]-+g[(c[w>>2]|0)+(c[u>>2]<<3)+4>>2]*+g[(c[s>>2]|0)+4>>2];g[p+16+4>>2]=+g[(c[w>>2]|0)+(c[u>>2]<<3)>>2]*+g[(c[s>>2]|0)+4>>2]+ +g[(c[w>>2]|0)+(c[u>>2]<<3)+4>>2]*+g[c[s>>2]>>2];g[p+40>>2]=+g[c[w>>2]>>2]-+g[p+8>>2];g[p+40+4>>2]=+g[(c[w>>2]|0)+4>>2]-+g[p+8+4>>2];h=c[w>>2]|0;g[h>>2]=+g[h>>2]+ +g[p+8>>2];h=(c[w>>2]|0)+4|0;g[h>>2]=+g[h>>2]+ +g[p+8+4>>2];g[p+24>>2]=+g[p>>2]+ +g[p+16>>2];g[p+24+4>>2]=+g[p+4>>2]+ +g[p+16+4>>2];g[p+32>>2]=+g[p>>2]-+g[p+16>>2];g[p+32+4>>2]=+g[p+4>>2]-+g[p+16+4>>2];g[(c[w>>2]|0)+(c[t>>2]<<3)>>2]=+g[c[w>>2]>>2]-+g[p+24>>2];g[(c[w>>2]|0)+(c[t>>2]<<3)+4>>2]=+g[(c[w>>2]|0)+4>>2]-+g[p+24+4>>2];c[q>>2]=(c[q>>2]|0)+(c[x>>2]<<3);c[r>>2]=(c[r>>2]|0)+(c[x>>2]<<1<<3);c[s>>2]=(c[s>>2]|0)+((c[x>>2]|0)*3<<3);h=c[w>>2]|0;g[h>>2]=+g[h>>2]+ +g[p+24>>2];h=(c[w>>2]|0)+4|0;g[h>>2]=+g[h>>2]+ +g[p+24+4>>2];g[(c[w>>2]|0)+(c[z>>2]<<3)>>2]=+g[p+40>>2]+ +g[p+32+4>>2];g[(c[w>>2]|0)+(c[z>>2]<<3)+4>>2]=+g[p+40+4>>2]-+g[p+32>>2];g[(c[w>>2]|0)+(c[u>>2]<<3)>>2]=+g[p+40>>2]-+g[p+32+4>>2];g[(c[w>>2]|0)+(c[u>>2]<<3)+4>>2]=+g[p+40+4>>2]+ +g[p+32>>2];c[w>>2]=(c[w>>2]|0)+8;c[o>>2]=(c[o>>2]|0)+1}c[k>>2]=(c[k>>2]|0)+1}l=A;return}function jc(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+112|0;t=x+96|0;u=x+92|0;v=x+88|0;w=x+84|0;i=x+80|0;j=x+76|0;k=x+72|0;m=x+68|0;n=x+64|0;o=x+60|0;p=x+56|0;q=x+16|0;r=x+8|0;s=x;c[t>>2]=a;c[u>>2]=b;c[v>>2]=d;c[w>>2]=e;c[i>>2]=f;c[j>>2]=h;c[n>>2]=c[w>>2]<<1;c[s>>2]=c[t>>2];h=(c[(c[v>>2]|0)+48>>2]|0)+((N(c[u>>2]|0,c[w>>2]|0)|0)<<3)|0;c[r>>2]=c[h>>2];c[r+4>>2]=c[h+4>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[i>>2]|0))break;c[t>>2]=(c[s>>2]|0)+((N(c[k>>2]|0,c[j>>2]|0)|0)<<3);h=c[(c[v>>2]|0)+48>>2]|0;c[p>>2]=h;c[o>>2]=h;c[m>>2]=c[w>>2];do{g[q+8>>2]=+g[(c[t>>2]|0)+(c[w>>2]<<3)>>2]*+g[c[o>>2]>>2]-+g[(c[t>>2]|0)+(c[w>>2]<<3)+4>>2]*+g[(c[o>>2]|0)+4>>2];g[q+8+4>>2]=+g[(c[t>>2]|0)+(c[w>>2]<<3)>>2]*+g[(c[o>>2]|0)+4>>2]+ +g[(c[t>>2]|0)+(c[w>>2]<<3)+4>>2]*+g[c[o>>2]>>2];g[q+16>>2]=+g[(c[t>>2]|0)+(c[n>>2]<<3)>>2]*+g[c[p>>2]>>2]-+g[(c[t>>2]|0)+(c[n>>2]<<3)+4>>2]*+g[(c[p>>2]|0)+4>>2];g[q+16+4>>2]=+g[(c[t>>2]|0)+(c[n>>2]<<3)>>2]*+g[(c[p>>2]|0)+4>>2]+ +g[(c[t>>2]|0)+(c[n>>2]<<3)+4>>2]*+g[c[p>>2]>>2];g[q+24>>2]=+g[q+8>>2]+ +g[q+16>>2];g[q+24+4>>2]=+g[q+8+4>>2]+ +g[q+16+4>>2];g[q>>2]=+g[q+8>>2]-+g[q+16>>2];g[q+4>>2]=+g[q+8+4>>2]-+g[q+16+4>>2];c[o>>2]=(c[o>>2]|0)+(c[u>>2]<<3);c[p>>2]=(c[p>>2]|0)+(c[u>>2]<<1<<3);g[(c[t>>2]|0)+(c[w>>2]<<3)>>2]=+g[c[t>>2]>>2]-+g[q+24>>2]*.5;g[(c[t>>2]|0)+(c[w>>2]<<3)+4>>2]=+g[(c[t>>2]|0)+4>>2]-+g[q+24+4>>2]*.5;g[q>>2]=+g[q>>2]*+g[r+4>>2];h=q+4|0;g[h>>2]=+g[h>>2]*+g[r+4>>2];h=c[t>>2]|0;g[h>>2]=+g[h>>2]+ +g[q+24>>2];h=(c[t>>2]|0)+4|0;g[h>>2]=+g[h>>2]+ +g[q+24+4>>2];g[(c[t>>2]|0)+(c[n>>2]<<3)>>2]=+g[(c[t>>2]|0)+(c[w>>2]<<3)>>2]+ +g[q+4>>2];g[(c[t>>2]|0)+(c[n>>2]<<3)+4>>2]=+g[(c[t>>2]|0)+(c[w>>2]<<3)+4>>2]-+g[q>>2];h=(c[t>>2]|0)+(c[w>>2]<<3)|0;g[h>>2]=+g[h>>2]-+g[q+4>>2];h=(c[t>>2]|0)+(c[w>>2]<<3)+4|0;g[h>>2]=+g[h>>2]+ +g[q>>2];c[t>>2]=(c[t>>2]|0)+8;h=(c[m>>2]|0)+-1|0;c[m>>2]=h}while((h|0)!=0);c[k>>2]=(c[k>>2]|0)+1}l=x;return}function kc(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0;A=l;l=l+192|0;x=A+184|0;y=A+180|0;B=A+176|0;z=A+172|0;i=A+168|0;j=A+164|0;k=A+160|0;m=A+156|0;n=A+152|0;o=A+148|0;p=A+144|0;q=A+140|0;r=A+136|0;s=A+32|0;t=A+24|0;u=A+16|0;v=A+8|0;w=A;c[x>>2]=a;c[y>>2]=b;c[B>>2]=d;c[z>>2]=e;c[i>>2]=f;c[j>>2]=h;c[w>>2]=c[x>>2];h=(c[(c[B>>2]|0)+48>>2]|0)+((N(c[y>>2]|0,c[z>>2]|0)|0)<<3)|0;c[u>>2]=c[h>>2];c[u+4>>2]=c[h+4>>2];h=(c[(c[B>>2]|0)+48>>2]|0)+((N(c[y>>2]<<1,c[z>>2]|0)|0)<<3)|0;c[v>>2]=c[h>>2];c[v+4>>2]=c[h+4>>2];c[t>>2]=c[(c[B>>2]|0)+48>>2];c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[i>>2]|0))break;c[x>>2]=(c[w>>2]|0)+((N(c[q>>2]|0,c[j>>2]|0)|0)<<3);c[k>>2]=c[x>>2];c[m>>2]=(c[k>>2]|0)+(c[z>>2]<<3);c[n>>2]=(c[k>>2]|0)+(c[z>>2]<<1<<3);c[o>>2]=(c[k>>2]|0)+((c[z>>2]|0)*3<<3);c[p>>2]=(c[k>>2]|0)+(c[z>>2]<<2<<3);c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[z>>2]|0))break;B=c[k>>2]|0;c[s>>2]=c[B>>2];c[s+4>>2]=c[B+4>>2];C=+g[c[m>>2]>>2]*+g[(c[t>>2]|0)+((N(c[r>>2]|0,c[y>>2]|0)|0)<<3)>>2];g[s+8>>2]=C-+g[(c[m>>2]|0)+4>>2]*+g[(c[t>>2]|0)+((N(c[r>>2]|0,c[y>>2]|0)|0)<<3)+4>>2];C=+g[c[m>>2]>>2]*+g[(c[t>>2]|0)+((N(c[r>>2]|0,c[y>>2]|0)|0)<<3)+4>>2];g[s+8+4>>2]=C+ +g[(c[m>>2]|0)+4>>2]*+g[(c[t>>2]|0)+((N(c[r>>2]|0,c[y>>2]|0)|0)<<3)>>2];C=+g[c[n>>2]>>2]*+g[(c[t>>2]|0)+((N(c[r>>2]<<1,c[y>>2]|0)|0)<<3)>>2];g[s+16>>2]=C-+g[(c[n>>2]|0)+4>>2]*+g[(c[t>>2]|0)+((N(c[r>>2]<<1,c[y>>2]|0)|0)<<3)+4>>2];C=+g[c[n>>2]>>2]*+g[(c[t>>2]|0)+((N(c[r>>2]<<1,c[y>>2]|0)|0)<<3)+4>>2];g[s+16+4>>2]=C+ +g[(c[n>>2]|0)+4>>2]*+g[(c[t>>2]|0)+((N(c[r>>2]<<1,c[y>>2]|0)|0)<<3)>>2];C=+g[c[o>>2]>>2]*+g[(c[t>>2]|0)+((N((c[r>>2]|0)*3|0,c[y>>2]|0)|0)<<3)>>2];g[s+24>>2]=C-+g[(c[o>>2]|0)+4>>2]*+g[(c[t>>2]|0)+((N((c[r>>2]|0)*3|0,c[y>>2]|0)|0)<<3)+4>>2];C=+g[c[o>>2]>>2]*+g[(c[t>>2]|0)+((N((c[r>>2]|0)*3|0,c[y>>2]|0)|0)<<3)+4>>2];g[s+24+4>>2]=C+ +g[(c[o>>2]|0)+4>>2]*+g[(c[t>>2]|0)+((N((c[r>>2]|0)*3|0,c[y>>2]|0)|0)<<3)>>2];C=+g[c[p>>2]>>2]*+g[(c[t>>2]|0)+((N(c[r>>2]<<2,c[y>>2]|0)|0)<<3)>>2];g[s+32>>2]=C-+g[(c[p>>2]|0)+4>>2]*+g[(c[t>>2]|0)+((N(c[r>>2]<<2,c[y>>2]|0)|0)<<3)+4>>2];C=+g[c[p>>2]>>2]*+g[(c[t>>2]|0)+((N(c[r>>2]<<2,c[y>>2]|0)|0)<<3)+4>>2];g[s+32+4>>2]=C+ +g[(c[p>>2]|0)+4>>2]*+g[(c[t>>2]|0)+((N(c[r>>2]<<2,c[y>>2]|0)|0)<<3)>>2];g[s+56>>2]=+g[s+8>>2]+ +g[s+32>>2];g[s+56+4>>2]=+g[s+8+4>>2]+ +g[s+32+4>>2];g[s+80>>2]=+g[s+8>>2]-+g[s+32>>2];g[s+80+4>>2]=+g[s+8+4>>2]-+g[s+32+4>>2];g[s+64>>2]=+g[s+16>>2]+ +g[s+24>>2];g[s+64+4>>2]=+g[s+16+4>>2]+ +g[s+24+4>>2];g[s+72>>2]=+g[s+16>>2]-+g[s+24>>2];g[s+72+4>>2]=+g[s+16+4>>2]-+g[s+24+4>>2];B=c[k>>2]|0;g[B>>2]=+g[B>>2]+(+g[s+56>>2]+ +g[s+64>>2]);B=(c[k>>2]|0)+4|0;g[B>>2]=+g[B>>2]+(+g[s+56+4>>2]+ +g[s+64+4>>2]);g[s+40>>2]=+g[s>>2]+ +g[s+56>>2]*+g[u>>2]+ +g[s+64>>2]*+g[v>>2];g[s+40+4>>2]=+g[s+4>>2]+ +g[s+56+4>>2]*+g[u>>2]+ +g[s+64+4>>2]*+g[v>>2];g[s+48>>2]=+g[s+80+4>>2]*+g[u+4>>2]+ +g[s+72+4>>2]*+g[v+4>>2];g[s+48+4>>2]=-(+g[s+80>>2]*+g[u+4>>2])-+g[s+72>>2]*+g[v+4>>2];g[c[m>>2]>>2]=+g[s+40>>2]-+g[s+48>>2];g[(c[m>>2]|0)+4>>2]=+g[s+40+4>>2]-+g[s+48+4>>2];g[c[p>>2]>>2]=+g[s+40>>2]+ +g[s+48>>2];g[(c[p>>2]|0)+4>>2]=+g[s+40+4>>2]+ +g[s+48+4>>2];g[s+88>>2]=+g[s>>2]+ +g[s+56>>2]*+g[v>>2]+ +g[s+64>>2]*+g[u>>2];g[s+88+4>>2]=+g[s+4>>2]+ +g[s+56+4>>2]*+g[v>>2]+ +g[s+64+4>>2]*+g[u>>2];g[s+96>>2]=-(+g[s+80+4>>2]*+g[v+4>>2])+ +g[s+72+4>>2]*+g[u+4>>2];g[s+96+4>>2]=+g[s+80>>2]*+g[v+4>>2]-+g[s+72>>2]*+g[u+4>>2];g[c[n>>2]>>2]=+g[s+88>>2]+ +g[s+96>>2];g[(c[n>>2]|0)+4>>2]=+g[s+88+4>>2]+ +g[s+96+4>>2];g[c[o>>2]>>2]=+g[s+88>>2]-+g[s+96>>2];g[(c[o>>2]|0)+4>>2]=+g[s+88+4>>2]-+g[s+96+4>>2];c[k>>2]=(c[k>>2]|0)+8;c[m>>2]=(c[m>>2]|0)+8;c[n>>2]=(c[n>>2]|0)+8;c[o>>2]=(c[o>>2]|0)+8;c[p>>2]=(c[p>>2]|0)+8;c[r>>2]=(c[r>>2]|0)+1}c[q>>2]=(c[q>>2]|0)+1}l=A;return}function lc(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;f=n+24|0;h=n+20|0;i=n+16|0;j=n+12|0;k=n+8|0;m=n;c[f>>2]=a;c[h>>2]=d;c[i>>2]=e;g[k>>2]=+g[(c[f>>2]|0)+4>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[f>>2]>>2]|0))break;e=(c[h>>2]|0)+(c[j>>2]<<3)|0;c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];g[(c[i>>2]|0)+(b[(c[(c[f>>2]|0)+44>>2]|0)+(c[j>>2]<<1)>>1]<<3)>>2]=+g[k>>2]*+g[m>>2];g[(c[i>>2]|0)+(b[(c[(c[f>>2]|0)+44>>2]|0)+(c[j>>2]<<1)>>1]<<3)+4>>2]=+g[k>>2]*+g[m+4>>2];c[j>>2]=(c[j>>2]|0)+1}gc(c[f>>2]|0,c[i>>2]|0);l=n;return}function mc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;m=q+36|0;n=q+32|0;o=q+28|0;g=q+24|0;p=q+20|0;h=q+16|0;i=q+12|0;j=q+8|0;k=q+4|0;f=q;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[g>>2]=e;c[h>>2]=c[c[n>>2]>>2];c[p>>2]=0;if(!(c[h>>2]|0)){m=c[m>>2]|0;n=c[p>>2]|0;k=c[p>>2]|0;p=c[o>>2]|0;p=k+p|0;Zb(m,n,p,15);l=q;return}c[i>>2]=0-((c[h>>2]|0)<0&1);c[h>>2]=(c[h>>2]|0)+(c[i>>2]|0)^c[i>>2];c[p>>2]=c[o>>2];c[o>>2]=nc(c[o>>2]|0,c[g>>2]|0)|0;c[j>>2]=1;while(1){if((c[o>>2]|0)>>>0>0)a=(c[j>>2]|0)<(c[h>>2]|0);else a=0;b=c[o>>2]|0;if(!a)break;c[o>>2]=b<<1;c[p>>2]=(c[p>>2]|0)+((c[o>>2]|0)+2);c[o>>2]=(N(c[o>>2]|0,c[g>>2]|0)|0)>>>15;c[j>>2]=(c[j>>2]|0)+1}if(b|0){c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+(c[o>>2]&~c[i>>2]);m=c[m>>2]|0;n=c[p>>2]|0;k=c[p>>2]|0;p=c[o>>2]|0;p=k+p|0;Zb(m,n,p,15);l=q;return}c[f>>2]=(32768-(c[p>>2]|0)+1-1|0)>>>0;c[f>>2]=(c[f>>2]|0)-(c[i>>2]|0)>>1;if(((c[h>>2]|0)-(c[j>>2]|0)|0)<((c[f>>2]|0)-1|0))a=(c[h>>2]|0)-(c[j>>2]|0)|0;else a=(c[f>>2]|0)-1|0;c[k>>2]=a;c[p>>2]=(c[p>>2]|0)+((c[k>>2]<<1)+1+(c[i>>2]|0));c[o>>2]=1<(32768-(c[p>>2]|0)|0)>>>0?1:32768-(c[p>>2]|0)|0;c[c[n>>2]>>2]=(c[j>>2]|0)+(c[k>>2]|0)+(c[i>>2]|0)^c[i>>2];m=c[m>>2]|0;n=c[p>>2]|0;k=c[p>>2]|0;p=c[o>>2]|0;p=k+p|0;Zb(m,n,p,15);l=q;return}function nc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=32736-(c[g>>2]|0);b=(N(c[f>>2]|0,16384-(c[e>>2]|0)|0)|0)>>>15;l=d;return b|0}function oc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;e=m+24|0;i=m+20|0;f=m+16|0;j=m+12|0;k=m+8|0;g=m+4|0;h=m;c[e>>2]=a;c[i>>2]=b;c[f>>2]=d;c[j>>2]=0;c[g>>2]=Mb(c[e>>2]|0,15)|0;c[k>>2]=0;do if((c[g>>2]|0)>>>0>=(c[i>>2]|0)>>>0){c[j>>2]=(c[j>>2]|0)+1;c[k>>2]=c[i>>2];c[i>>2]=(nc(c[i>>2]|0,c[f>>2]|0)|0)+1;while(1){if((c[i>>2]|0)>>>0>1)b=(c[g>>2]|0)>>>0>=((c[k>>2]|0)+(c[i>>2]<<1)|0)>>>0;else b=0;a=c[i>>2]|0;if(!b)break;c[i>>2]=a<<1;c[k>>2]=(c[k>>2]|0)+(c[i>>2]|0);c[i>>2]=(N((c[i>>2]|0)-2|0,c[f>>2]|0)|0)>>>15;c[i>>2]=(c[i>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+1}if(a>>>0<=1){c[h>>2]=((c[g>>2]|0)-(c[k>>2]|0)|0)>>>1;c[j>>2]=(c[j>>2]|0)+(c[h>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[h>>2]<<1)}if((c[g>>2]|0)>>>0<((c[k>>2]|0)+(c[i>>2]|0)|0)>>>0){c[j>>2]=0-(c[j>>2]|0);break}else{c[k>>2]=(c[k>>2]|0)+(c[i>>2]|0);break}}while(0);a=c[e>>2]|0;b=c[k>>2]|0;if(((c[k>>2]|0)+(c[i>>2]|0)|0)>>>0>=32768){k=32768;Nb(a,b,k,32768);k=c[j>>2]|0;l=m;return k|0}k=(c[k>>2]|0)+(c[i>>2]|0)|0;Nb(a,b,k,32768);k=c[j>>2]|0;l=m;return k|0}function pc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;b=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[b>>2]=a;c[e>>2]=0;c[f>>2]=32-(Q(c[b>>2]|0)|0)-1>>1;c[d>>2]=1<<c[f>>2];do{c[g>>2]=(c[e>>2]<<1)+(c[d>>2]|0)<<c[f>>2];if((c[g>>2]|0)>>>0<=(c[b>>2]|0)>>>0){c[e>>2]=(c[e>>2]|0)+(c[d>>2]|0);c[b>>2]=(c[b>>2]|0)-(c[g>>2]|0)}c[d>>2]=(c[d>>2]|0)>>>1;c[f>>2]=(c[f>>2]|0)+-1}while((c[f>>2]|0)>=0);l=h;return c[e>>2]|0}function qc(a,d,e,f,h,i,j,k){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0.0;V=l;l=l+160|0;W=V+144|0;U=V+140|0;o=V+136|0;p=V+132|0;q=V+128|0;m=V+124|0;r=V+120|0;s=V+112|0;n=V+108|0;t=V+104|0;u=V+100|0;v=V+96|0;w=V+92|0;x=V+88|0;y=V+84|0;z=V+80|0;A=V+76|0;B=V+72|0;C=V+68|0;D=V+64|0;E=V+60|0;F=V+56|0;G=V+48|0;H=V+44|0;I=V+40|0;J=V+36|0;K=V+32|0;L=V+28|0;M=V+24|0;O=V+20|0;P=V+16|0;Q=V+12|0;R=V+8|0;S=V+4|0;T=V;c[W>>2]=a;c[U>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=h;c[m>>2]=i;c[r>>2]=j;c[V+116>>2]=k;c[v>>2]=c[(c[W>>2]|0)+8+(c[m>>2]<<2)>>2];g[x>>2]=+g[(c[v>>2]|0)+4>>2];c[n>>2]=c[c[W>>2]>>2];c[w>>2]=c[(c[W>>2]|0)+24>>2];c[s>>2]=0;while(1){a=c[n>>2]>>1;if((c[s>>2]|0)>=(c[m>>2]|0))break;c[n>>2]=a;c[w>>2]=(c[w>>2]|0)+(c[n>>2]<<2);c[s>>2]=(c[s>>2]|0)+1}c[t>>2]=a;c[u>>2]=c[n>>2]>>2;d=c[t>>2]|0;c[y>>2]=$()|0;a=l;l=l+((1*(d<<2)|0)+15&-16)|0;d=l;l=l+((1*(c[u>>2]<<3)|0)+15&-16)|0;c[z>>2]=(c[U>>2]|0)+(c[q>>2]>>1<<2);c[A>>2]=(c[U>>2]|0)+(c[t>>2]<<2)+-4+(c[q>>2]>>1<<2);c[B>>2]=a;c[C>>2]=(c[p>>2]|0)+(c[q>>2]>>1<<2);c[D>>2]=(c[p>>2]|0)+(c[q>>2]>>1<<2)+-4;c[s>>2]=0;while(1){if((c[s>>2]|0)>=((c[q>>2]|0)+3>>2|0))break;X=+g[c[D>>2]>>2]*+g[(c[z>>2]|0)+(c[t>>2]<<2)>>2]+ +g[c[C>>2]>>2]*+g[c[A>>2]>>2];W=c[B>>2]|0;c[B>>2]=W+4;g[W>>2]=X;X=+g[c[C>>2]>>2]*+g[c[z>>2]>>2]-+g[c[D>>2]>>2]*+g[(c[A>>2]|0)+(0-(c[t>>2]|0)<<2)>>2];W=c[B>>2]|0;c[B>>2]=W+4;g[W>>2]=X;c[z>>2]=(c[z>>2]|0)+8;c[A>>2]=(c[A>>2]|0)+-8;c[C>>2]=(c[C>>2]|0)+8;c[D>>2]=(c[D>>2]|0)+-8;c[s>>2]=(c[s>>2]|0)+1}c[C>>2]=c[p>>2];c[D>>2]=(c[p>>2]|0)+(c[q>>2]<<2)+-4;while(1){if((c[s>>2]|0)>=((c[u>>2]|0)-((c[q>>2]|0)+3>>2)|0))break;X=+g[c[A>>2]>>2];W=c[B>>2]|0;c[B>>2]=W+4;g[W>>2]=X;X=+g[c[z>>2]>>2];W=c[B>>2]|0;c[B>>2]=W+4;g[W>>2]=X;c[z>>2]=(c[z>>2]|0)+8;c[A>>2]=(c[A>>2]|0)+-8;c[s>>2]=(c[s>>2]|0)+1}while(1){if((c[s>>2]|0)>=(c[u>>2]|0))break;X=-(+g[c[C>>2]>>2]*+g[(c[z>>2]|0)+(0-(c[t>>2]|0)<<2)>>2])+ +g[c[D>>2]>>2]*+g[c[A>>2]>>2];W=c[B>>2]|0;c[B>>2]=W+4;g[W>>2]=X;X=+g[c[D>>2]>>2]*+g[c[z>>2]>>2]+ +g[c[C>>2]>>2]*+g[(c[A>>2]|0)+(c[t>>2]<<2)>>2];W=c[B>>2]|0;c[B>>2]=W+4;g[W>>2]=X;c[z>>2]=(c[z>>2]|0)+8;c[A>>2]=(c[A>>2]|0)+-8;c[C>>2]=(c[C>>2]|0)+8;c[D>>2]=(c[D>>2]|0)+-8;c[s>>2]=(c[s>>2]|0)+1}c[E>>2]=a;c[F>>2]=c[w>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[u>>2]|0))break;g[H>>2]=+g[(c[F>>2]|0)+(c[s>>2]<<2)>>2];g[I>>2]=+g[(c[F>>2]|0)+((c[u>>2]|0)+(c[s>>2]|0)<<2)>>2];W=c[E>>2]|0;c[E>>2]=W+4;g[J>>2]=+g[W>>2];W=c[E>>2]|0;c[E>>2]=W+4;g[K>>2]=+g[W>>2];g[L>>2]=+g[J>>2]*+g[H>>2]-+g[K>>2]*+g[I>>2];g[M>>2]=+g[K>>2]*+g[H>>2]+ +g[J>>2]*+g[I>>2];g[G>>2]=+g[L>>2];g[G+4>>2]=+g[M>>2];g[G>>2]=+g[x>>2]*+g[G>>2];g[G+4>>2]=+g[x>>2]*+g[G+4>>2];W=d+(b[(c[(c[v>>2]|0)+44>>2]|0)+(c[s>>2]<<1)>>1]<<3)|0;c[W>>2]=c[G>>2];c[W+4>>2]=c[G+4>>2];c[s>>2]=(c[s>>2]|0)+1}gc(c[v>>2]|0,d);c[O>>2]=d;c[P>>2]=c[o>>2];c[Q>>2]=(c[o>>2]|0)+((N(c[r>>2]|0,(c[t>>2]|0)-1|0)|0)<<2);c[R>>2]=c[w>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[u>>2]|0))break;g[S>>2]=+g[(c[O>>2]|0)+4>>2]*+g[(c[R>>2]|0)+((c[u>>2]|0)+(c[s>>2]|0)<<2)>>2]-+g[c[O>>2]>>2]*+g[(c[R>>2]|0)+(c[s>>2]<<2)>>2];g[T>>2]=+g[c[O>>2]>>2]*+g[(c[R>>2]|0)+((c[u>>2]|0)+(c[s>>2]|0)<<2)>>2]+ +g[(c[O>>2]|0)+4>>2]*+g[(c[R>>2]|0)+(c[s>>2]<<2)>>2];g[c[P>>2]>>2]=+g[S>>2];g[c[Q>>2]>>2]=+g[T>>2];c[O>>2]=(c[O>>2]|0)+8;c[P>>2]=(c[P>>2]|0)+(c[r>>2]<<1<<2);c[Q>>2]=(c[Q>>2]|0)+(0-(c[r>>2]<<1)<<2);c[s>>2]=(c[s>>2]|0)+1}_(c[y>>2]|0);l=V;return}function rc(a,d,e,f,h,i,j,k){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0.0;W=l;l=l+144|0;U=W+140|0;V=W+136|0;m=W+132|0;n=W+128|0;o=W+124|0;p=W+120|0;q=W+116|0;r=W+108|0;s=W+104|0;t=W+100|0;u=W+96|0;v=W+92|0;w=W+88|0;x=W+84|0;y=W+80|0;z=W+76|0;A=W+72|0;B=W+68|0;C=W+64|0;D=W+60|0;E=W+56|0;F=W+52|0;G=W+48|0;H=W+44|0;I=W+40|0;J=W+36|0;K=W+32|0;L=W+28|0;M=W+24|0;O=W+20|0;P=W+16|0;Q=W+12|0;R=W+8|0;S=W+4|0;T=W;c[U>>2]=a;c[V>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=h;c[p>>2]=i;c[q>>2]=j;c[W+112>>2]=k;c[s>>2]=c[c[U>>2]>>2];c[v>>2]=c[(c[U>>2]|0)+24>>2];c[r>>2]=0;while(1){a=c[s>>2]>>1;if((c[r>>2]|0)>=(c[p>>2]|0))break;c[s>>2]=a;c[v>>2]=(c[v>>2]|0)+(c[s>>2]<<2);c[r>>2]=(c[r>>2]|0)+1}c[t>>2]=a;c[u>>2]=c[s>>2]>>2;c[w>>2]=c[V>>2];c[x>>2]=(c[V>>2]|0)+((N(c[q>>2]|0,(c[t>>2]|0)-1|0)|0)<<2);c[y>>2]=(c[m>>2]|0)+(c[o>>2]>>1<<2);c[z>>2]=c[v>>2];c[A>>2]=c[(c[(c[U>>2]|0)+8+(c[p>>2]<<2)>>2]|0)+44>>2];c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[u>>2]|0))break;V=c[A>>2]|0;c[A>>2]=V+2;c[B>>2]=b[V>>1];g[C>>2]=+g[c[x>>2]>>2]*+g[(c[z>>2]|0)+(c[r>>2]<<2)>>2]+ +g[c[w>>2]>>2]*+g[(c[z>>2]|0)+((c[u>>2]|0)+(c[r>>2]|0)<<2)>>2];g[D>>2]=+g[c[w>>2]>>2]*+g[(c[z>>2]|0)+(c[r>>2]<<2)>>2]-+g[c[x>>2]>>2]*+g[(c[z>>2]|0)+((c[u>>2]|0)+(c[r>>2]|0)<<2)>>2];g[(c[y>>2]|0)+((c[B>>2]<<1)+1<<2)>>2]=+g[C>>2];g[(c[y>>2]|0)+(c[B>>2]<<1<<2)>>2]=+g[D>>2];c[w>>2]=(c[w>>2]|0)+(c[q>>2]<<1<<2);c[x>>2]=(c[x>>2]|0)+(0-(c[q>>2]<<1)<<2);c[r>>2]=(c[r>>2]|0)+1}gc(c[(c[U>>2]|0)+8+(c[p>>2]<<2)>>2]|0,(c[m>>2]|0)+(c[o>>2]>>1<<2)|0);c[E>>2]=(c[m>>2]|0)+(c[o>>2]>>1<<2);c[F>>2]=(c[m>>2]|0)+(c[o>>2]>>1<<2)+(c[t>>2]<<2)+-8;c[G>>2]=c[v>>2];c[r>>2]=0;while(1){if((c[r>>2]|0)>=((c[u>>2]|0)+1>>1|0))break;g[H>>2]=+g[(c[E>>2]|0)+4>>2];g[I>>2]=+g[c[E>>2]>>2];g[L>>2]=+g[(c[G>>2]|0)+(c[r>>2]<<2)>>2];g[M>>2]=+g[(c[G>>2]|0)+((c[u>>2]|0)+(c[r>>2]|0)<<2)>>2];g[J>>2]=+g[H>>2]*+g[L>>2]+ +g[I>>2]*+g[M>>2];g[K>>2]=+g[H>>2]*+g[M>>2]-+g[I>>2]*+g[L>>2];g[H>>2]=+g[(c[F>>2]|0)+4>>2];g[I>>2]=+g[c[F>>2]>>2];g[c[E>>2]>>2]=+g[J>>2];g[(c[F>>2]|0)+4>>2]=+g[K>>2];g[L>>2]=+g[(c[G>>2]|0)+((c[u>>2]|0)-(c[r>>2]|0)-1<<2)>>2];g[M>>2]=+g[(c[G>>2]|0)+((c[t>>2]|0)-(c[r>>2]|0)-1<<2)>>2];g[J>>2]=+g[H>>2]*+g[L>>2]+ +g[I>>2]*+g[M>>2];g[K>>2]=+g[H>>2]*+g[M>>2]-+g[I>>2]*+g[L>>2];g[c[F>>2]>>2]=+g[J>>2];g[(c[E>>2]|0)+4>>2]=+g[K>>2];c[E>>2]=(c[E>>2]|0)+8;c[F>>2]=(c[F>>2]|0)+-8;c[r>>2]=(c[r>>2]|0)+1}c[O>>2]=(c[m>>2]|0)+(c[o>>2]<<2)+-4;c[P>>2]=c[m>>2];c[Q>>2]=c[n>>2];c[R>>2]=(c[n>>2]|0)+(c[o>>2]<<2)+-4;c[r>>2]=0;while(1){if((c[r>>2]|0)>=((c[o>>2]|0)/2|0|0))break;g[S>>2]=+g[c[O>>2]>>2];g[T>>2]=+g[c[P>>2]>>2];X=+g[c[R>>2]>>2]*+g[T>>2]-+g[c[Q>>2]>>2]*+g[S>>2];V=c[P>>2]|0;c[P>>2]=V+4;g[V>>2]=X;X=+g[c[Q>>2]>>2]*+g[T>>2]+ +g[c[R>>2]>>2]*+g[S>>2];V=c[O>>2]|0;c[O>>2]=V+-4;g[V>>2]=X;c[Q>>2]=(c[Q>>2]|0)+4;c[R>>2]=(c[R>>2]|0)+-4;c[r>>2]=(c[r>>2]|0)+1}l=W;return}function sc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;h=k+20|0;e=k+16|0;f=k+12|0;i=k+8|0;j=k+4|0;g=k;c[e>>2]=a;c[f>>2]=b;c[i>>2]=d;c[j>>2]=0;a:while(1){if((c[j>>2]|0)>=1){a=12;break}c[g>>2]=0;while(1){if((c[g>>2]|0)>=4)break;if((c[e>>2]|0)==(c[c[5544+(c[j>>2]<<2)>>2]>>2]|0)?(c[f>>2]<<c[g>>2]|0)==(N(c[(c[5544+(c[j>>2]<<2)>>2]|0)+44>>2]|0,c[(c[5544+(c[j>>2]<<2)>>2]|0)+40>>2]|0)|0):0){a=7;break a}c[g>>2]=(c[g>>2]|0)+1}c[j>>2]=(c[j>>2]|0)+1}if((a|0)==7){if(c[i>>2]|0)c[c[i>>2]>>2]=0;c[h>>2]=c[5544+(c[j>>2]<<2)>>2];j=c[h>>2]|0;l=k;return j|0}else if((a|0)==12){if(c[i>>2]|0)c[c[i>>2]>>2]=-1;c[h>>2]=0;j=c[h>>2]|0;l=k;return j|0}return 0}function tc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+112|0;q=u+108|0;r=u+104|0;s=u+100|0;h=u+96|0;t=u+92|0;i=u+88|0;j=u+68|0;k=u+64|0;m=u+48|0;n=u+24|0;o=u+4|0;p=u;c[q>>2]=a;c[r>>2]=b;c[s>>2]=d;c[h>>2]=e;c[t>>2]=f;g[k>>2]=1.0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;g[p>>2]=.800000011920929;c[i>>2]=1;while(1){a=c[c[q>>2]>>2]|0;if((c[i>>2]|0)>=(c[s>>2]>>1|0))break;g[(c[r>>2]|0)+(c[i>>2]<<2)>>2]=((+g[a+((c[i>>2]<<1)-1<<2)>>2]+ +g[(c[c[q>>2]>>2]|0)+((c[i>>2]<<1)+1<<2)>>2])*.5+ +g[(c[c[q>>2]>>2]|0)+(c[i>>2]<<1<<2)>>2])*.5;c[i>>2]=(c[i>>2]|0)+1}g[c[r>>2]>>2]=(+g[a+4>>2]*.5+ +g[c[c[q>>2]>>2]>>2])*.5;if((c[h>>2]|0)==2){c[i>>2]=1;while(1){a=c[(c[q>>2]|0)+4>>2]|0;if((c[i>>2]|0)>=(c[s>>2]>>1|0))break;h=(c[r>>2]|0)+(c[i>>2]<<2)|0;g[h>>2]=+g[h>>2]+((+g[a+((c[i>>2]<<1)-1<<2)>>2]+ +g[(c[(c[q>>2]|0)+4>>2]|0)+((c[i>>2]<<1)+1<<2)>>2])*.5+ +g[(c[(c[q>>2]|0)+4>>2]|0)+(c[i>>2]<<1<<2)>>2])*.5;c[i>>2]=(c[i>>2]|0)+1}h=c[r>>2]|0;g[h>>2]=+g[h>>2]+(+g[a+4>>2]*.5+ +g[c[(c[q>>2]|0)+4>>2]>>2])*.5}Hc(c[r>>2]|0,j,0,0,4,c[s>>2]>>1,c[t>>2]|0)|0;g[j>>2]=+g[j>>2]*1.000100016593933;c[i>>2]=1;while(1){if((c[i>>2]|0)>4)break;t=j+(c[i>>2]<<2)|0;g[t>>2]=+g[t>>2]-+g[j+(c[i>>2]<<2)>>2]*(+(c[i>>2]|0)*.00800000037997961)*(+(c[i>>2]|0)*.00800000037997961);c[i>>2]=(c[i>>2]|0)+1}Dc(m,j,4);c[i>>2]=0;while(1){if((c[i>>2]|0)>=4)break;g[k>>2]=+g[k>>2]*.8999999761581421;g[m+(c[i>>2]<<2)>>2]=+g[m+(c[i>>2]<<2)>>2]*+g[k>>2];c[i>>2]=(c[i>>2]|0)+1}g[o>>2]=+g[m>>2]+.800000011920929;g[o+4>>2]=+g[m+4>>2]+ +g[p>>2]*+g[m>>2];g[o+8>>2]=+g[m+8>>2]+ +g[p>>2]*+g[m+4>>2];g[o+12>>2]=+g[m+12>>2]+ +g[p>>2]*+g[m+8>>2];g[o+16>>2]=+g[p>>2]*+g[m+12>>2];uc(c[r>>2]|0,o,c[r>>2]|0,c[s>>2]>>1,n);l=u;return}function uc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=l;l=l+80|0;u=y+64|0;z=y+60|0;v=y+56|0;w=y+52|0;x=y+48|0;h=y+44|0;i=y+40|0;j=y+36|0;k=y+32|0;m=y+28|0;n=y+24|0;o=y+20|0;p=y+16|0;q=y+12|0;r=y+8|0;s=y+4|0;t=y;c[u>>2]=a;c[z>>2]=b;c[v>>2]=d;c[w>>2]=e;c[x>>2]=f;g[i>>2]=+g[c[z>>2]>>2];g[j>>2]=+g[(c[z>>2]|0)+4>>2];g[k>>2]=+g[(c[z>>2]|0)+8>>2];g[m>>2]=+g[(c[z>>2]|0)+12>>2];g[n>>2]=+g[(c[z>>2]|0)+16>>2];g[o>>2]=+g[c[x>>2]>>2];g[p>>2]=+g[(c[x>>2]|0)+4>>2];g[q>>2]=+g[(c[x>>2]|0)+8>>2];g[r>>2]=+g[(c[x>>2]|0)+12>>2];g[s>>2]=+g[(c[x>>2]|0)+16>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[w>>2]|0))break;g[t>>2]=+g[(c[u>>2]|0)+(c[h>>2]<<2)>>2];g[t>>2]=+g[t>>2]+ +g[i>>2]*+g[o>>2];g[t>>2]=+g[t>>2]+ +g[j>>2]*+g[p>>2];g[t>>2]=+g[t>>2]+ +g[k>>2]*+g[q>>2];g[t>>2]=+g[t>>2]+ +g[m>>2]*+g[r>>2];g[t>>2]=+g[t>>2]+ +g[n>>2]*+g[s>>2];g[s>>2]=+g[r>>2];g[r>>2]=+g[q>>2];g[q>>2]=+g[p>>2];g[p>>2]=+g[o>>2];g[o>>2]=+g[(c[u>>2]|0)+(c[h>>2]<<2)>>2];g[(c[v>>2]|0)+(c[h>>2]<<2)>>2]=+g[t>>2];c[h>>2]=(c[h>>2]|0)+1}g[c[x>>2]>>2]=+g[o>>2];g[(c[x>>2]|0)+4>>2]=+g[p>>2];g[(c[x>>2]|0)+8>>2]=+g[q>>2];g[(c[x>>2]|0)+12>>2]=+g[r>>2];g[(c[x>>2]|0)+16>>2]=+g[s>>2];l=y;return}function vc(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+64|0;n=r+48|0;o=r+44|0;p=r+40|0;q=r+36|0;i=r+32|0;j=r+24|0;k=r+8|0;m=r;c[n>>2]=a;c[o>>2]=b;c[p>>2]=d;c[q>>2]=e;c[i>>2]=f;c[r+28>>2]=h;c[j>>2]=0;while(1){if((c[j>>2]|0)>=((c[i>>2]|0)-3|0))break;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;wc(c[n>>2]|0,(c[o>>2]|0)+(c[j>>2]<<2)|0,k,c[q>>2]|0);g[(c[p>>2]|0)+(c[j>>2]<<2)>>2]=+g[k>>2];g[(c[p>>2]|0)+((c[j>>2]|0)+1<<2)>>2]=+g[k+4>>2];g[(c[p>>2]|0)+((c[j>>2]|0)+2<<2)>>2]=+g[k+8>>2];g[(c[p>>2]|0)+((c[j>>2]|0)+3<<2)>>2]=+g[k+12>>2];c[j>>2]=(c[j>>2]|0)+4}while(1){if((c[j>>2]|0)>=(c[i>>2]|0))break;g[m>>2]=+xc(c[n>>2]|0,(c[o>>2]|0)+(c[j>>2]<<2)|0,c[q>>2]|0);g[(c[p>>2]|0)+(c[j>>2]<<2)>>2]=+g[m>>2];c[j>>2]=(c[j>>2]|0)+1}l=r;return}function wc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;o=u+48|0;p=u+44|0;q=u+40|0;r=u+36|0;s=u+32|0;t=u+28|0;f=u+24|0;h=u+20|0;i=u+16|0;j=u+12|0;k=u+8|0;m=u+4|0;n=u;c[o>>2]=a;c[p>>2]=b;c[q>>2]=d;c[r>>2]=e;g[i>>2]=0.0;e=c[p>>2]|0;c[p>>2]=e+4;g[t>>2]=+g[e>>2];e=c[p>>2]|0;c[p>>2]=e+4;g[f>>2]=+g[e>>2];e=c[p>>2]|0;c[p>>2]=e+4;g[h>>2]=+g[e>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=((c[r>>2]|0)-3|0))break;e=c[o>>2]|0;c[o>>2]=e+4;g[j>>2]=+g[e>>2];e=c[p>>2]|0;c[p>>2]=e+4;g[i>>2]=+g[e>>2];g[c[q>>2]>>2]=+g[c[q>>2]>>2]+ +g[j>>2]*+g[t>>2];g[(c[q>>2]|0)+4>>2]=+g[(c[q>>2]|0)+4>>2]+ +g[j>>2]*+g[f>>2];g[(c[q>>2]|0)+8>>2]=+g[(c[q>>2]|0)+8>>2]+ +g[j>>2]*+g[h>>2];g[(c[q>>2]|0)+12>>2]=+g[(c[q>>2]|0)+12>>2]+ +g[j>>2]*+g[i>>2];e=c[o>>2]|0;c[o>>2]=e+4;g[j>>2]=+g[e>>2];e=c[p>>2]|0;c[p>>2]=e+4;g[t>>2]=+g[e>>2];g[c[q>>2]>>2]=+g[c[q>>2]>>2]+ +g[j>>2]*+g[f>>2];g[(c[q>>2]|0)+4>>2]=+g[(c[q>>2]|0)+4>>2]+ +g[j>>2]*+g[h>>2];g[(c[q>>2]|0)+8>>2]=+g[(c[q>>2]|0)+8>>2]+ +g[j>>2]*+g[i>>2];g[(c[q>>2]|0)+12>>2]=+g[(c[q>>2]|0)+12>>2]+ +g[j>>2]*+g[t>>2];e=c[o>>2]|0;c[o>>2]=e+4;g[j>>2]=+g[e>>2];e=c[p>>2]|0;c[p>>2]=e+4;g[f>>2]=+g[e>>2];g[c[q>>2]>>2]=+g[c[q>>2]>>2]+ +g[j>>2]*+g[h>>2];g[(c[q>>2]|0)+4>>2]=+g[(c[q>>2]|0)+4>>2]+ +g[j>>2]*+g[i>>2];g[(c[q>>2]|0)+8>>2]=+g[(c[q>>2]|0)+8>>2]+ +g[j>>2]*+g[t>>2];g[(c[q>>2]|0)+12>>2]=+g[(c[q>>2]|0)+12>>2]+ +g[j>>2]*+g[f>>2];e=c[o>>2]|0;c[o>>2]=e+4;g[j>>2]=+g[e>>2];e=c[p>>2]|0;c[p>>2]=e+4;g[h>>2]=+g[e>>2];g[c[q>>2]>>2]=+g[c[q>>2]>>2]+ +g[j>>2]*+g[i>>2];g[(c[q>>2]|0)+4>>2]=+g[(c[q>>2]|0)+4>>2]+ +g[j>>2]*+g[t>>2];g[(c[q>>2]|0)+8>>2]=+g[(c[q>>2]|0)+8>>2]+ +g[j>>2]*+g[f>>2];g[(c[q>>2]|0)+12>>2]=+g[(c[q>>2]|0)+12>>2]+ +g[j>>2]*+g[h>>2];c[s>>2]=(c[s>>2]|0)+4}e=c[s>>2]|0;c[s>>2]=e+1;if((e|0)<(c[r>>2]|0)){e=c[o>>2]|0;c[o>>2]=e+4;g[k>>2]=+g[e>>2];e=c[p>>2]|0;c[p>>2]=e+4;g[i>>2]=+g[e>>2];g[c[q>>2]>>2]=+g[c[q>>2]>>2]+ +g[k>>2]*+g[t>>2];g[(c[q>>2]|0)+4>>2]=+g[(c[q>>2]|0)+4>>2]+ +g[k>>2]*+g[f>>2];g[(c[q>>2]|0)+8>>2]=+g[(c[q>>2]|0)+8>>2]+ +g[k>>2]*+g[h>>2];g[(c[q>>2]|0)+12>>2]=+g[(c[q>>2]|0)+12>>2]+ +g[k>>2]*+g[i>>2]}e=c[s>>2]|0;c[s>>2]=e+1;if((e|0)<(c[r>>2]|0)){e=c[o>>2]|0;c[o>>2]=e+4;g[m>>2]=+g[e>>2];e=c[p>>2]|0;c[p>>2]=e+4;g[t>>2]=+g[e>>2];g[c[q>>2]>>2]=+g[c[q>>2]>>2]+ +g[m>>2]*+g[f>>2];g[(c[q>>2]|0)+4>>2]=+g[(c[q>>2]|0)+4>>2]+ +g[m>>2]*+g[h>>2];g[(c[q>>2]|0)+8>>2]=+g[(c[q>>2]|0)+8>>2]+ +g[m>>2]*+g[i>>2];g[(c[q>>2]|0)+12>>2]=+g[(c[q>>2]|0)+12>>2]+ +g[m>>2]*+g[t>>2]}if((c[s>>2]|0)>=(c[r>>2]|0)){l=u;return}s=c[o>>2]|0;c[o>>2]=s+4;g[n>>2]=+g[s>>2];s=c[p>>2]|0;c[p>>2]=s+4;g[f>>2]=+g[s>>2];g[c[q>>2]>>2]=+g[c[q>>2]>>2]+ +g[n>>2]*+g[h>>2];g[(c[q>>2]|0)+4>>2]=+g[(c[q>>2]|0)+4>>2]+ +g[n>>2]*+g[i>>2];g[(c[q>>2]|0)+8>>2]=+g[(c[q>>2]|0)+8>>2]+ +g[n>>2]*+g[t>>2];g[(c[q>>2]|0)+12>>2]=+g[(c[q>>2]|0)+12>>2]+ +g[n>>2]*+g[f>>2];l=u;return}function xc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[h>>2]=b;c[i>>2]=d;g[k>>2]=0.0;c[j>>2]=0;while(1){e=+g[k>>2];if((c[j>>2]|0)>=(c[i>>2]|0))break;g[k>>2]=e+ +g[(c[f>>2]|0)+(c[j>>2]<<2)>>2]*+g[(c[h>>2]|0)+(c[j>>2]<<2)>>2];c[j>>2]=(c[j>>2]|0)+1}l=m;return +e}function yc(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+80|0;v=z+64|0;w=z+60|0;x=z+56|0;y=z+52|0;i=z+48|0;j=z+44|0;k=z+40|0;m=z+36|0;n=z+32|0;o=z+24|0;p=z+20|0;q=z+16|0;r=z+12|0;s=z+8|0;t=z+4|0;u=z;c[v>>2]=a;c[w>>2]=b;c[x>>2]=d;c[y>>2]=e;c[i>>2]=f;c[j>>2]=h;c[o>>2]=0;c[o+4>>2]=0;c[n>>2]=(c[x>>2]|0)+(c[y>>2]|0);b=c[x>>2]>>2;c[q>>2]=$()|0;a=l;l=l+((1*(b<<2)|0)+15&-16)|0;b=l;l=l+((1*(c[n>>2]>>2<<2)|0)+15&-16)|0;d=l;l=l+((1*(c[y>>2]>>1<<2)|0)+15&-16)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[x>>2]>>2|0))break;g[a+(c[m>>2]<<2)>>2]=+g[(c[v>>2]|0)+(c[m>>2]<<1<<2)>>2];c[m>>2]=(c[m>>2]|0)+1}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[n>>2]>>2|0))break;g[b+(c[m>>2]<<2)>>2]=+g[(c[w>>2]|0)+(c[m>>2]<<1<<2)>>2];c[m>>2]=(c[m>>2]|0)+1}vc(a,b,d,c[x>>2]>>2,c[y>>2]>>2,c[j>>2]|0);zc(d,b,c[x>>2]>>2,c[y>>2]>>2,o);c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[y>>2]>>1|0))break;g[d+(c[k>>2]<<2)>>2]=0.0;if(!((A((c[k>>2]|0)-(c[o>>2]<<1)|0)|0)>2?(A((c[k>>2]|0)-(c[o+4>>2]<<1)|0)|0)>2:0)){g[r>>2]=+xc(c[v>>2]|0,(c[w>>2]|0)+(c[k>>2]<<2)|0,c[x>>2]>>1);g[d+(c[k>>2]<<2)>>2]=-1.0>+g[r>>2]?-1.0:+g[r>>2]}c[k>>2]=(c[k>>2]|0)+1}zc(d,c[w>>2]|0,c[x>>2]>>1,c[y>>2]>>1,o);if((c[o>>2]|0)>0?(c[o>>2]|0)<((c[y>>2]>>1)-1|0):0){g[s>>2]=+g[d+((c[o>>2]|0)-1<<2)>>2];g[t>>2]=+g[d+(c[o>>2]<<2)>>2];g[u>>2]=+g[d+((c[o>>2]|0)+1<<2)>>2];if(+g[u>>2]-+g[s>>2]>(+g[t>>2]-+g[s>>2])*.699999988079071){c[p>>2]=1;y=c[o>>2]|0;y=y<<1;x=c[p>>2]|0;x=y-x|0;y=c[i>>2]|0;c[y>>2]=x;y=c[q>>2]|0;_(y|0);l=z;return}if(+g[s>>2]-+g[u>>2]>(+g[t>>2]-+g[u>>2])*.699999988079071){c[p>>2]=-1;y=c[o>>2]|0;y=y<<1;x=c[p>>2]|0;x=y-x|0;y=c[i>>2]|0;c[y>>2]=x;y=c[q>>2]|0;_(y|0);l=z;return}else{c[p>>2]=0;y=c[o>>2]|0;y=y<<1;x=c[p>>2]|0;x=y-x|0;y=c[i>>2]|0;c[y>>2]=x;y=c[q>>2]|0;_(y|0);l=z;return}}c[p>>2]=0;y=c[o>>2]|0;y=y<<1;x=c[p>>2]|0;x=y-x|0;y=c[i>>2]|0;c[y>>2]=x;y=c[q>>2]|0;_(y|0);l=z;return}function zc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;p=u+52|0;q=u+48|0;r=u+44|0;s=u+40|0;t=u+36|0;i=u+32|0;h=u+28|0;j=u+24|0;k=u+16|0;m=u+8|0;n=u+4|0;o=u;c[p>>2]=a;c[q>>2]=b;c[r>>2]=d;c[s>>2]=e;c[t>>2]=f;g[j>>2]=1.0;g[k>>2]=-1.0;g[k+4>>2]=-1.0;g[m>>2]=0.0;g[m+4>>2]=0.0;c[c[t>>2]>>2]=0;c[(c[t>>2]|0)+4>>2]=1;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[r>>2]|0))break;g[j>>2]=+g[j>>2]+ +g[(c[q>>2]|0)+(c[h>>2]<<2)>>2]*+g[(c[q>>2]|0)+(c[h>>2]<<2)>>2];c[h>>2]=(c[h>>2]|0)+1}c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[s>>2]|0))break;if(+g[(c[p>>2]|0)+(c[i>>2]<<2)>>2]>0.0?(g[o>>2]=+g[(c[p>>2]|0)+(c[i>>2]<<2)>>2],g[o>>2]=+g[o>>2]*9.999999960041972e-13,g[n>>2]=+g[o>>2]*+g[o>>2],+g[n>>2]*+g[m+4>>2]>+g[k+4>>2]*+g[j>>2]):0){if(+g[n>>2]*+g[m>>2]>+g[k>>2]*+g[j>>2]){g[k+4>>2]=+g[k>>2];g[m+4>>2]=+g[m>>2];c[(c[t>>2]|0)+4>>2]=c[c[t>>2]>>2];g[k>>2]=+g[n>>2];g[m>>2]=+g[j>>2];a=c[i>>2]|0;b=c[t>>2]|0}else{g[k+4>>2]=+g[n>>2];g[m+4>>2]=+g[j>>2];a=c[i>>2]|0;b=(c[t>>2]|0)+4|0}c[b>>2]=a}g[j>>2]=+g[j>>2]+(+g[(c[q>>2]|0)+((c[i>>2]|0)+(c[r>>2]|0)<<2)>>2]*+g[(c[q>>2]|0)+((c[i>>2]|0)+(c[r>>2]|0)<<2)>>2]-+g[(c[q>>2]|0)+(c[i>>2]<<2)>>2]*+g[(c[q>>2]|0)+(c[i>>2]<<2)>>2]);g[j>>2]=1.0>+g[j>>2]?1.0:+g[j>>2];c[i>>2]=(c[i>>2]|0)+1}l=u;return}function Ac(a,b,d,e,f,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=+i;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0;R=l;l=l+128|0;P=R+124|0;Q=R+120|0;m=R+116|0;n=R+112|0;o=R+108|0;p=R+104|0;q=R+100|0;r=R+92|0;k=R+88|0;s=R+84|0;t=R+80|0;u=R+76|0;v=R+72|0;w=R+68|0;x=R+64|0;y=R+60|0;z=R+56|0;C=R+52|0;D=R+40|0;E=R+36|0;F=R+32|0;G=R+28|0;H=R+24|0;I=R+20|0;J=R+16|0;K=R+12|0;L=R+8|0;M=R+4|0;O=R;c[P>>2]=a;c[Q>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=h;g[q>>2]=i;c[R+96>>2]=j;c[H>>2]=c[m>>2];c[Q>>2]=(c[Q>>2]|0)/2|0;c[m>>2]=(c[m>>2]|0)/2|0;j=c[o>>2]|0;c[j>>2]=(c[j>>2]|0)/2|0;c[p>>2]=(c[p>>2]|0)/2|0;c[n>>2]=(c[n>>2]|0)/2|0;c[P>>2]=(c[P>>2]|0)+(c[Q>>2]<<2);if((c[c[o>>2]>>2]|0)>=(c[Q>>2]|0))c[c[o>>2]>>2]=(c[Q>>2]|0)-1;j=c[c[o>>2]>>2]|0;c[t>>2]=j;c[s>>2]=j;j=(c[Q>>2]|0)+1|0;c[I>>2]=$()|0;b=l;l=l+((1*(j<<2)|0)+15&-16)|0;Bc(c[P>>2]|0,c[P>>2]|0,(c[P>>2]|0)+(0-(c[t>>2]|0)<<2)|0,c[n>>2]|0,y,x);g[b>>2]=+g[y>>2];g[z>>2]=+g[y>>2];c[k>>2]=1;while(1){if((c[k>>2]|0)>(c[Q>>2]|0))break;g[z>>2]=+g[z>>2]+ +g[(c[P>>2]|0)+(0-(c[k>>2]|0)<<2)>>2]*+g[(c[P>>2]|0)+(0-(c[k>>2]|0)<<2)>>2]-+g[(c[P>>2]|0)+((c[n>>2]|0)-(c[k>>2]|0)<<2)>>2]*+g[(c[P>>2]|0)+((c[n>>2]|0)-(c[k>>2]|0)<<2)>>2];g[b+(c[k>>2]<<2)>>2]=0.0>+g[z>>2]?0.0:+g[z>>2];c[k>>2]=(c[k>>2]|0)+1}g[z>>2]=+g[b+(c[t>>2]<<2)>>2];g[E>>2]=+g[x>>2];g[F>>2]=+g[z>>2];i=+g[x>>2]/+B(+(+g[y>>2]*+g[z>>2]+1.0));g[v>>2]=i;g[u>>2]=i;c[r>>2]=2;while(1){if((c[r>>2]|0)>15)break;g[M>>2]=0.0;c[J>>2]=Cc((c[t>>2]<<1)+(c[r>>2]|0)|0,c[r>>2]<<1)|0;if((c[J>>2]|0)<(c[m>>2]|0))break;do if((c[r>>2]|0)==2){a=c[t>>2]|0;if(((c[J>>2]|0)+(c[t>>2]|0)|0)>(c[Q>>2]|0)){c[K>>2]=a;break}else{c[K>>2]=a+(c[J>>2]|0);break}}else{k=N(c[17400+(c[r>>2]<<2)>>2]<<1,c[t>>2]|0)|0;c[K>>2]=Cc(k+(c[r>>2]|0)|0,c[r>>2]<<1)|0}while(0);Bc(c[P>>2]|0,(c[P>>2]|0)+(0-(c[J>>2]|0)<<2)|0,(c[P>>2]|0)+(0-(c[K>>2]|0)<<2)|0,c[n>>2]|0,x,C);g[x>>2]=+g[x>>2]+ +g[C>>2];g[z>>2]=+g[b+(c[J>>2]<<2)>>2]+ +g[b+(c[K>>2]<<2)>>2];g[L>>2]=+g[x>>2]/+B(+(+g[y>>2]*2.0*1.0*+g[z>>2]+1.0));do if((A((c[J>>2]|0)-(c[p>>2]|0)|0)|0)<=1)g[M>>2]=+g[q>>2];else{if((A((c[J>>2]|0)-(c[p>>2]|0)|0)|0)<=2?(k=N((c[r>>2]|0)*5|0,c[r>>2]|0)|0,(k|0)<(c[t>>2]|0)):0){g[M>>2]=+g[q>>2]*.5;break}g[M>>2]=0.0}while(0);if(.30000001192092896>+g[v>>2]*.699999988079071-+g[M>>2])i=.30000001192092896;else i=+g[v>>2]*.699999988079071-+g[M>>2];g[O>>2]=i;if((c[J>>2]|0)>=((c[m>>2]|0)*3|0)){if((c[J>>2]|0)<(c[m>>2]<<1|0)){if(.5>+g[v>>2]*.8999999761581421-+g[M>>2])i=.5;else i=+g[v>>2]*.8999999761581421-+g[M>>2];g[O>>2]=i}}else{if(.4000000059604645>+g[v>>2]*.8500000238418579-+g[M>>2])i=.4000000059604645;else i=+g[v>>2]*.8500000238418579-+g[M>>2];g[O>>2]=i}if(+g[L>>2]>+g[O>>2]){g[E>>2]=+g[x>>2];g[F>>2]=+g[z>>2];c[s>>2]=c[J>>2];g[u>>2]=+g[L>>2]}c[r>>2]=(c[r>>2]|0)+1}g[E>>2]=0.0>+g[E>>2]?0.0:+g[E>>2];if(+g[F>>2]<=+g[E>>2])g[w>>2]=1.0;else g[w>>2]=+g[E>>2]/(+g[F>>2]+1.0);c[r>>2]=0;while(1){if((c[r>>2]|0)>=3)break;i=+xc(c[P>>2]|0,(c[P>>2]|0)+(0-((c[s>>2]|0)+(c[r>>2]|0)-1)<<2)|0,c[n>>2]|0);g[D+(c[r>>2]<<2)>>2]=i;c[r>>2]=(c[r>>2]|0)+1}do if(!(+g[D+8>>2]-+g[D>>2]>(+g[D+4>>2]-+g[D>>2])*.699999988079071))if(+g[D>>2]-+g[D+8>>2]>(+g[D+4>>2]-+g[D+8>>2])*.699999988079071){c[G>>2]=-1;break}else{c[G>>2]=0;break}else c[G>>2]=1;while(0);if(+g[w>>2]>+g[u>>2])g[w>>2]=+g[u>>2];c[c[o>>2]>>2]=(c[s>>2]<<1)+(c[G>>2]|0);if((c[c[o>>2]>>2]|0)>=(c[H>>2]|0)){i=+g[w>>2];Q=c[I>>2]|0;_(Q|0);l=R;return +i}c[c[o>>2]>>2]=c[H>>2];i=+g[w>>2];Q=c[I>>2]|0;_(Q|0);l=R;return +i}function Bc(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;p=t+32|0;q=t+28|0;r=t+24|0;s=t+20|0;j=t+16|0;k=t+12|0;m=t+8|0;n=t+4|0;o=t;c[p>>2]=a;c[q>>2]=b;c[r>>2]=d;c[s>>2]=e;c[j>>2]=f;c[k>>2]=h;g[n>>2]=0.0;g[o>>2]=0.0;c[m>>2]=0;while(1){i=+g[n>>2];if((c[m>>2]|0)>=(c[s>>2]|0))break;g[n>>2]=i+ +g[(c[p>>2]|0)+(c[m>>2]<<2)>>2]*+g[(c[q>>2]|0)+(c[m>>2]<<2)>>2];g[o>>2]=+g[o>>2]+ +g[(c[p>>2]|0)+(c[m>>2]<<2)>>2]*+g[(c[r>>2]|0)+(c[m>>2]<<2)>>2];c[m>>2]=(c[m>>2]|0)+1}g[c[j>>2]>>2]=i;g[c[k>>2]>>2]=+g[o>>2];l=t;return}function Cc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)>>>0)/((c[d>>2]|0)>>>0)|0|0}function Dc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+48|0;r=q+40|0;j=q+36|0;k=q+32|0;m=q+28|0;n=q+24|0;o=q+20|0;p=q+16|0;e=q+12|0;f=q+8|0;h=q+4|0;i=q;c[r>>2]=a;c[j>>2]=b;c[k>>2]=d;g[p>>2]=+g[c[j>>2]>>2];c[e>>2]=c[r>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[k>>2]|0))break;g[(c[e>>2]|0)+(c[m>>2]<<2)>>2]=0.0;c[m>>2]=(c[m>>2]|0)+1}if(!(+g[c[j>>2]>>2]!=0.0)){l=q;return}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[k>>2]|0)){a=15;break}g[f>>2]=0.0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[m>>2]|0))break;g[f>>2]=+g[f>>2]+ +g[(c[e>>2]|0)+(c[n>>2]<<2)>>2]*+g[(c[j>>2]|0)+((c[m>>2]|0)-(c[n>>2]|0)<<2)>>2];c[n>>2]=(c[n>>2]|0)+1}g[f>>2]=+g[f>>2]+ +g[(c[j>>2]|0)+((c[m>>2]|0)+1<<2)>>2];g[o>>2]=-(+g[f>>2]/+g[p>>2]);g[(c[e>>2]|0)+(c[m>>2]<<2)>>2]=+g[o>>2];c[n>>2]=0;while(1){if((c[n>>2]|0)>=((c[m>>2]|0)+1>>1|0))break;g[h>>2]=+g[(c[e>>2]|0)+(c[n>>2]<<2)>>2];g[i>>2]=+g[(c[e>>2]|0)+((c[m>>2]|0)-1-(c[n>>2]|0)<<2)>>2];g[(c[e>>2]|0)+(c[n>>2]<<2)>>2]=+g[h>>2]+ +g[o>>2]*+g[i>>2];g[(c[e>>2]|0)+((c[m>>2]|0)-1-(c[n>>2]|0)<<2)>>2]=+g[i>>2]+ +g[o>>2]*+g[h>>2];c[n>>2]=(c[n>>2]|0)+1}g[p>>2]=+g[p>>2]-+g[o>>2]*+g[o>>2]*+g[p>>2];if(+g[p>>2]<+g[c[j>>2]>>2]*1.0000000474974513e-03){a=15;break}c[m>>2]=(c[m>>2]|0)+1}if((a|0)==15){l=q;return}}function Ec(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+64|0;s=v+60|0;t=v+56|0;u=v+52|0;j=v+48|0;k=v+44|0;m=v+40|0;n=v+32|0;o=v+28|0;p=v+24|0;q=v+8|0;r=v;c[s>>2]=a;c[t>>2]=b;c[u>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=h;c[v+36>>2]=i;b=c[k>>2]|0;c[p>>2]=$()|0;a=l;l=l+((1*(b<<2)|0)+15&-16)|0;b=l;l=l+((1*((c[j>>2]|0)+(c[k>>2]|0)<<2)|0)+15&-16)|0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[k>>2]|0))break;g[a+(c[n>>2]<<2)>>2]=+g[(c[t>>2]|0)+((c[k>>2]|0)-(c[n>>2]|0)-1<<2)>>2];c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[k>>2]|0))break;g[b+(c[n>>2]<<2)>>2]=+g[(c[m>>2]|0)+((c[k>>2]|0)-(c[n>>2]|0)-1<<2)>>2];c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[j>>2]|0))break;g[b+((c[n>>2]|0)+(c[k>>2]|0)<<2)>>2]=+g[(c[s>>2]|0)+(c[n>>2]<<2)>>2];c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[k>>2]|0))break;g[(c[m>>2]|0)+(c[n>>2]<<2)>>2]=+g[(c[s>>2]|0)+((c[j>>2]|0)-(c[n>>2]|0)-1<<2)>>2];c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=0;while(1){if((c[n>>2]|0)>=((c[j>>2]|0)-3|0))break;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;Fc(a,b+(c[n>>2]<<2)|0,q,c[k>>2]|0);g[(c[u>>2]|0)+(c[n>>2]<<2)>>2]=+g[(c[s>>2]|0)+(c[n>>2]<<2)>>2]+ +g[q>>2];g[(c[u>>2]|0)+((c[n>>2]|0)+1<<2)>>2]=+g[(c[s>>2]|0)+((c[n>>2]|0)+1<<2)>>2]+ +g[q+4>>2];g[(c[u>>2]|0)+((c[n>>2]|0)+2<<2)>>2]=+g[(c[s>>2]|0)+((c[n>>2]|0)+2<<2)>>2]+ +g[q+8>>2];g[(c[u>>2]|0)+((c[n>>2]|0)+3<<2)>>2]=+g[(c[s>>2]|0)+((c[n>>2]|0)+3<<2)>>2]+ +g[q+12>>2];c[n>>2]=(c[n>>2]|0)+4}while(1){if((c[n>>2]|0)>=(c[j>>2]|0))break;g[r>>2]=0.0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[k>>2]|0))break;g[r>>2]=+g[r>>2]+ +g[a+(c[o>>2]<<2)>>2]*+g[b+((c[n>>2]|0)+(c[o>>2]|0)<<2)>>2];c[o>>2]=(c[o>>2]|0)+1}g[(c[u>>2]|0)+(c[n>>2]<<2)>>2]=+g[(c[s>>2]|0)+(c[n>>2]<<2)>>2]+ +g[r>>2];c[n>>2]=(c[n>>2]|0)+1}_(c[p>>2]|0);l=v;return}function Fc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;o=u+48|0;p=u+44|0;q=u+40|0;r=u+36|0;s=u+32|0;t=u+28|0;f=u+24|0;h=u+20|0;i=u+16|0;j=u+12|0;k=u+8|0;m=u+4|0;n=u;c[o>>2]=a;c[p>>2]=b;c[q>>2]=d;c[r>>2]=e;g[i>>2]=0.0;e=c[p>>2]|0;c[p>>2]=e+4;g[t>>2]=+g[e>>2];e=c[p>>2]|0;c[p>>2]=e+4;g[f>>2]=+g[e>>2];e=c[p>>2]|0;c[p>>2]=e+4;g[h>>2]=+g[e>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=((c[r>>2]|0)-3|0))break;e=c[o>>2]|0;c[o>>2]=e+4;g[j>>2]=+g[e>>2];e=c[p>>2]|0;c[p>>2]=e+4;g[i>>2]=+g[e>>2];g[c[q>>2]>>2]=+g[c[q>>2]>>2]+ +g[j>>2]*+g[t>>2];g[(c[q>>2]|0)+4>>2]=+g[(c[q>>2]|0)+4>>2]+ +g[j>>2]*+g[f>>2];g[(c[q>>2]|0)+8>>2]=+g[(c[q>>2]|0)+8>>2]+ +g[j>>2]*+g[h>>2];g[(c[q>>2]|0)+12>>2]=+g[(c[q>>2]|0)+12>>2]+ +g[j>>2]*+g[i>>2];e=c[o>>2]|0;c[o>>2]=e+4;g[j>>2]=+g[e>>2];e=c[p>>2]|0;c[p>>2]=e+4;g[t>>2]=+g[e>>2];g[c[q>>2]>>2]=+g[c[q>>2]>>2]+ +g[j>>2]*+g[f>>2];g[(c[q>>2]|0)+4>>2]=+g[(c[q>>2]|0)+4>>2]+ +g[j>>2]*+g[h>>2];g[(c[q>>2]|0)+8>>2]=+g[(c[q>>2]|0)+8>>2]+ +g[j>>2]*+g[i>>2];g[(c[q>>2]|0)+12>>2]=+g[(c[q>>2]|0)+12>>2]+ +g[j>>2]*+g[t>>2];e=c[o>>2]|0;c[o>>2]=e+4;g[j>>2]=+g[e>>2];e=c[p>>2]|0;c[p>>2]=e+4;g[f>>2]=+g[e>>2];g[c[q>>2]>>2]=+g[c[q>>2]>>2]+ +g[j>>2]*+g[h>>2];g[(c[q>>2]|0)+4>>2]=+g[(c[q>>2]|0)+4>>2]+ +g[j>>2]*+g[i>>2];g[(c[q>>2]|0)+8>>2]=+g[(c[q>>2]|0)+8>>2]+ +g[j>>2]*+g[t>>2];g[(c[q>>2]|0)+12>>2]=+g[(c[q>>2]|0)+12>>2]+ +g[j>>2]*+g[f>>2];e=c[o>>2]|0;c[o>>2]=e+4;g[j>>2]=+g[e>>2];e=c[p>>2]|0;c[p>>2]=e+4;g[h>>2]=+g[e>>2];g[c[q>>2]>>2]=+g[c[q>>2]>>2]+ +g[j>>2]*+g[i>>2];g[(c[q>>2]|0)+4>>2]=+g[(c[q>>2]|0)+4>>2]+ +g[j>>2]*+g[t>>2];g[(c[q>>2]|0)+8>>2]=+g[(c[q>>2]|0)+8>>2]+ +g[j>>2]*+g[f>>2];g[(c[q>>2]|0)+12>>2]=+g[(c[q>>2]|0)+12>>2]+ +g[j>>2]*+g[h>>2];c[s>>2]=(c[s>>2]|0)+4}e=c[s>>2]|0;c[s>>2]=e+1;if((e|0)<(c[r>>2]|0)){e=c[o>>2]|0;c[o>>2]=e+4;g[k>>2]=+g[e>>2];e=c[p>>2]|0;c[p>>2]=e+4;g[i>>2]=+g[e>>2];g[c[q>>2]>>2]=+g[c[q>>2]>>2]+ +g[k>>2]*+g[t>>2];g[(c[q>>2]|0)+4>>2]=+g[(c[q>>2]|0)+4>>2]+ +g[k>>2]*+g[f>>2];g[(c[q>>2]|0)+8>>2]=+g[(c[q>>2]|0)+8>>2]+ +g[k>>2]*+g[h>>2];g[(c[q>>2]|0)+12>>2]=+g[(c[q>>2]|0)+12>>2]+ +g[k>>2]*+g[i>>2]}e=c[s>>2]|0;c[s>>2]=e+1;if((e|0)<(c[r>>2]|0)){e=c[o>>2]|0;c[o>>2]=e+4;g[m>>2]=+g[e>>2];e=c[p>>2]|0;c[p>>2]=e+4;g[t>>2]=+g[e>>2];g[c[q>>2]>>2]=+g[c[q>>2]>>2]+ +g[m>>2]*+g[f>>2];g[(c[q>>2]|0)+4>>2]=+g[(c[q>>2]|0)+4>>2]+ +g[m>>2]*+g[h>>2];g[(c[q>>2]|0)+8>>2]=+g[(c[q>>2]|0)+8>>2]+ +g[m>>2]*+g[i>>2];g[(c[q>>2]|0)+12>>2]=+g[(c[q>>2]|0)+12>>2]+ +g[m>>2]*+g[t>>2]}if((c[s>>2]|0)>=(c[r>>2]|0)){l=u;return}s=c[o>>2]|0;c[o>>2]=s+4;g[n>>2]=+g[s>>2];s=c[p>>2]|0;c[p>>2]=s+4;g[f>>2]=+g[s>>2];g[c[q>>2]>>2]=+g[c[q>>2]>>2]+ +g[n>>2]*+g[h>>2];g[(c[q>>2]|0)+4>>2]=+g[(c[q>>2]|0)+4>>2]+ +g[n>>2]*+g[i>>2];g[(c[q>>2]|0)+8>>2]=+g[(c[q>>2]|0)+8>>2]+ +g[n>>2]*+g[t>>2];g[(c[q>>2]|0)+12>>2]=+g[(c[q>>2]|0)+12>>2]+ +g[n>>2]*+g[f>>2];l=u;return}function Gc(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+64|0;s=v+60|0;t=v+56|0;u=v+52|0;j=v+48|0;k=v+44|0;m=v+40|0;n=v+32|0;o=v+28|0;p=v+24|0;q=v+8|0;r=v;c[s>>2]=a;c[t>>2]=b;c[u>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=h;c[v+36>>2]=i;b=c[k>>2]|0;c[p>>2]=$()|0;a=l;l=l+((1*(b<<2)|0)+15&-16)|0;b=l;l=l+((1*((c[j>>2]|0)+(c[k>>2]|0)<<2)|0)+15&-16)|0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[k>>2]|0))break;g[a+(c[n>>2]<<2)>>2]=+g[(c[t>>2]|0)+((c[k>>2]|0)-(c[n>>2]|0)-1<<2)>>2];c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[k>>2]|0))break;g[b+(c[n>>2]<<2)>>2]=-+g[(c[m>>2]|0)+((c[k>>2]|0)-(c[n>>2]|0)-1<<2)>>2];c[n>>2]=(c[n>>2]|0)+1}while(1){if((c[n>>2]|0)>=((c[j>>2]|0)+(c[k>>2]|0)|0))break;g[b+(c[n>>2]<<2)>>2]=0.0;c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=0;while(1){if((c[n>>2]|0)>=((c[j>>2]|0)-3|0))break;g[q>>2]=+g[(c[s>>2]|0)+(c[n>>2]<<2)>>2];g[q+4>>2]=+g[(c[s>>2]|0)+((c[n>>2]|0)+1<<2)>>2];g[q+8>>2]=+g[(c[s>>2]|0)+((c[n>>2]|0)+2<<2)>>2];g[q+12>>2]=+g[(c[s>>2]|0)+((c[n>>2]|0)+3<<2)>>2];Fc(a,b+(c[n>>2]<<2)|0,q,c[k>>2]|0);g[b+((c[n>>2]|0)+(c[k>>2]|0)<<2)>>2]=-+g[q>>2];g[(c[u>>2]|0)+(c[n>>2]<<2)>>2]=+g[q>>2];g[q+4>>2]=+g[q+4>>2]+ +g[b+((c[n>>2]|0)+(c[k>>2]|0)<<2)>>2]*+g[c[t>>2]>>2];g[b+((c[n>>2]|0)+(c[k>>2]|0)+1<<2)>>2]=-+g[q+4>>2];g[(c[u>>2]|0)+((c[n>>2]|0)+1<<2)>>2]=+g[q+4>>2];g[q+8>>2]=+g[q+8>>2]+ +g[b+((c[n>>2]|0)+(c[k>>2]|0)+1<<2)>>2]*+g[c[t>>2]>>2];g[q+8>>2]=+g[q+8>>2]+ +g[b+((c[n>>2]|0)+(c[k>>2]|0)<<2)>>2]*+g[(c[t>>2]|0)+4>>2];g[b+((c[n>>2]|0)+(c[k>>2]|0)+2<<2)>>2]=-+g[q+8>>2];g[(c[u>>2]|0)+((c[n>>2]|0)+2<<2)>>2]=+g[q+8>>2];g[q+12>>2]=+g[q+12>>2]+ +g[b+((c[n>>2]|0)+(c[k>>2]|0)+2<<2)>>2]*+g[c[t>>2]>>2];g[q+12>>2]=+g[q+12>>2]+ +g[b+((c[n>>2]|0)+(c[k>>2]|0)+1<<2)>>2]*+g[(c[t>>2]|0)+4>>2];g[q+12>>2]=+g[q+12>>2]+ +g[b+((c[n>>2]|0)+(c[k>>2]|0)<<2)>>2]*+g[(c[t>>2]|0)+8>>2];g[b+((c[n>>2]|0)+(c[k>>2]|0)+3<<2)>>2]=-+g[q+12>>2];g[(c[u>>2]|0)+((c[n>>2]|0)+3<<2)>>2]=+g[q+12>>2];c[n>>2]=(c[n>>2]|0)+4}while(1){if((c[n>>2]|0)>=(c[j>>2]|0))break;g[r>>2]=+g[(c[s>>2]|0)+(c[n>>2]<<2)>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[k>>2]|0))break;g[r>>2]=+g[r>>2]-+g[a+(c[o>>2]<<2)>>2]*+g[b+((c[n>>2]|0)+(c[o>>2]|0)<<2)>>2];c[o>>2]=(c[o>>2]|0)+1}g[b+((c[n>>2]|0)+(c[k>>2]|0)<<2)>>2]=+g[r>>2];g[(c[u>>2]|0)+(c[n>>2]<<2)>>2]=+g[r>>2];c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[k>>2]|0))break;g[(c[m>>2]|0)+(c[n>>2]<<2)>>2]=+g[(c[u>>2]|0)+((c[j>>2]|0)-(c[n>>2]|0)-1<<2)>>2];c[n>>2]=(c[n>>2]|0)+1}_(c[p>>2]|0);l=v;return}function Hc(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+64|0;n=z+52|0;y=z+48|0;o=z+44|0;k=z+40|0;p=z+36|0;q=z+32|0;m=z+28|0;r=z+24|0;s=z+20|0;t=z+16|0;u=z+12|0;v=z+8|0;w=z+4|0;x=z;c[n>>2]=a;c[y>>2]=b;c[o>>2]=d;c[k>>2]=e;c[p>>2]=f;c[q>>2]=h;c[m>>2]=i;c[u>>2]=(c[q>>2]|0)-(c[p>>2]|0);i=c[q>>2]|0;c[x>>2]=$()|0;a=l;l=l+((1*(i<<2)|0)+15&-16)|0;if(!(c[k>>2]|0))c[w>>2]=c[n>>2];else{c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[q>>2]|0))break;g[a+(c[s>>2]<<2)>>2]=+g[(c[n>>2]|0)+(c[s>>2]<<2)>>2];c[s>>2]=(c[s>>2]|0)+1}c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[k>>2]|0))break;g[a+(c[s>>2]<<2)>>2]=+g[(c[n>>2]|0)+(c[s>>2]<<2)>>2]*+g[(c[o>>2]|0)+(c[s>>2]<<2)>>2];g[a+((c[q>>2]|0)-(c[s>>2]|0)-1<<2)>>2]=+g[(c[n>>2]|0)+((c[q>>2]|0)-(c[s>>2]|0)-1<<2)>>2]*+g[(c[o>>2]|0)+(c[s>>2]<<2)>>2];c[s>>2]=(c[s>>2]|0)+1}c[w>>2]=a}c[v>>2]=0;vc(c[w>>2]|0,c[w>>2]|0,c[y>>2]|0,c[u>>2]|0,(c[p>>2]|0)+1|0,c[m>>2]|0);c[t>>2]=0;while(1){if((c[t>>2]|0)>(c[p>>2]|0))break;c[s>>2]=(c[t>>2]|0)+(c[u>>2]|0);g[r>>2]=0.0;while(1){j=+g[r>>2];if((c[s>>2]|0)>=(c[q>>2]|0))break;g[r>>2]=j+ +g[(c[w>>2]|0)+(c[s>>2]<<2)>>2]*+g[(c[w>>2]|0)+((c[s>>2]|0)-(c[t>>2]|0)<<2)>>2];c[s>>2]=(c[s>>2]|0)+1}o=(c[y>>2]|0)+(c[t>>2]<<2)|0;g[o>>2]=+g[o>>2]+j;c[t>>2]=(c[t>>2]|0)+1}y=c[v>>2]|0;_(c[x>>2]|0);l=z;return y|0}function Ic(a,b,d,e,f,h,i,j,k,m,n,o,p,q,r,s,t){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;var u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,aa=0,ba=0,ca=0,da=0;ca=l;l=l+224|0;z=ca+216|0;A=ca+212|0;B=ca+208|0;v=ca+204|0;C=ca+200|0;D=ca+196|0;E=ca+192|0;F=ca+188|0;G=ca+184|0;H=ca+180|0;I=ca+176|0;w=ca+172|0;da=ca+168|0;J=ca+164|0;K=ca+160|0;x=ca+156|0;L=ca+152|0;M=ca+148|0;O=ca+144|0;P=ca+96|0;Q=ca+92|0;R=ca+88|0;S=ca+84|0;T=ca+80|0;U=ca+76|0;V=ca+72|0;W=ca+24|0;X=ca+20|0;Y=ca+16|0;Z=ca+12|0;y=ca+8|0;aa=ca+4|0;ba=ca;c[z>>2]=a;c[A>>2]=b;c[B>>2]=d;c[v>>2]=e;c[C>>2]=f;c[D>>2]=h;c[E>>2]=i;c[F>>2]=j;c[G>>2]=k;c[H>>2]=m;c[I>>2]=n;c[w>>2]=o;c[da>>2]=p;c[J>>2]=q;c[K>>2]=r;c[x>>2]=s;c[L>>2]=t;c[R>>2]=0;if(!(c[da>>2]|0))if(!(c[K>>2]|0)?+g[c[J>>2]>>2]>+(N(c[H>>2]<<1,(c[B>>2]|0)-(c[A>>2]|0)|0)|0):0)a=(c[w>>2]|0)>(N((c[B>>2]|0)-(c[A>>2]|0)|0,c[H>>2]|0)|0);else a=0;else a=1;c[M>>2]=a&1;c[S>>2]=~~(+((c[E>>2]|0)>>>0)*+g[c[J>>2]>>2]*+(c[x>>2]|0)/+(c[H>>2]<<9|0));g[T>>2]=+Jc(c[C>>2]|0,c[D>>2]|0,c[A>>2]|0,c[v>>2]|0,c[(c[z>>2]|0)+8>>2]|0,c[H>>2]|0);c[Q>>2]=Kc(c[G>>2]|0)|0;if(((c[Q>>2]|0)+3|0)>>>0>(c[E>>2]|0)>>>0){c[M>>2]=0;c[K>>2]=0}g[O>>2]=16.0;if(((c[B>>2]|0)-(c[A>>2]|0)|0)>10){if(+g[O>>2]<+(c[w>>2]|0)*.125)u=+g[O>>2];else u=+(c[w>>2]|0)*.125;g[O>>2]=u}if(c[L>>2]|0)g[O>>2]=3.0;o=P;p=c[G>>2]|0;q=o+48|0;do{c[o>>2]=c[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));da=N(c[H>>2]|0,c[(c[z>>2]|0)+8>>2]|0)|0;c[U>>2]=$()|0;b=l;l=l+((1*(da<<2)|0)+15&-16)|0;da=(N(c[H>>2]|0,c[(c[z>>2]|0)+8>>2]|0)|0)<<2;n=l;l=l+((1*da|0)+15&-16)|0;da=(N(c[H>>2]|0,c[(c[z>>2]|0)+8>>2]|0)|0)<<2;_i(b|0,c[D>>2]|0,da+0|0)|0;if((c[K>>2]|0)!=0|(c[M>>2]|0)!=0)c[R>>2]=Lc(c[z>>2]|0,c[A>>2]|0,c[B>>2]|0,c[C>>2]|0,b,c[E>>2]|0,c[Q>>2]|0,26380+((c[I>>2]|0)*84|0)+42|0,n,c[G>>2]|0,c[H>>2]|0,c[I>>2]|0,1,+g[O>>2],c[L>>2]|0)|0;if(c[M>>2]|0){da=(N(c[H>>2]|0,c[(c[z>>2]|0)+8>>2]|0)|0)<<2;_i(c[D>>2]|0,b|0,da+0|0)|0;da=(N(c[H>>2]|0,c[(c[z>>2]|0)+8>>2]|0)|0)<<2;_i(c[F>>2]|0,n|0,da+0|0)|0}else{c[X>>2]=Gb(c[G>>2]|0)|0;o=W;p=c[G>>2]|0;q=o+48|0;do{c[o>>2]=c[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));c[Y>>2]=Mc(P)|0;c[Z>>2]=Mc(W)|0;o=Nc(W)|0;c[V>>2]=o+(c[Y>>2]|0);o=(c[Z>>2]|0)-(c[Y>>2]|0)|0;c[y>>2]=o;c[y>>2]=(c[y>>2]|0)==0?1:o;o=c[y>>2]|0;c[ba>>2]=$()|0;a=l;l=l+((1*o|0)+15&-16)|0;_i(a|0,c[V>>2]|0,(c[Z>>2]|0)-(c[Y>>2]|0)+0|0)|0;o=c[G>>2]|0;p=P;q=o+48|0;do{c[o>>2]=c[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));c[aa>>2]=Lc(c[z>>2]|0,c[A>>2]|0,c[B>>2]|0,c[C>>2]|0,c[D>>2]|0,c[E>>2]|0,c[Q>>2]|0,26380+((c[I>>2]|0)*84|0)+((c[M>>2]|0)*42|0)|0,c[F>>2]|0,c[G>>2]|0,c[H>>2]|0,c[I>>2]|0,0,+g[O>>2],c[L>>2]|0)|0;do if(c[K>>2]|0){if((c[R>>2]|0)>=(c[aa>>2]|0)){if((c[R>>2]|0)!=(c[aa>>2]|0))break;da=Gb(c[G>>2]|0)|0;if((da+(c[S>>2]|0)|0)<=(c[X>>2]|0))break}o=c[G>>2]|0;p=W;q=o+48|0;do{c[o>>2]=c[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));_i(c[V>>2]|0,a|0,(c[Z>>2]|0)-(c[Y>>2]|0)+0|0)|0;da=(N(c[H>>2]|0,c[(c[z>>2]|0)+8>>2]|0)|0)<<2;_i(c[D>>2]|0,b|0,da+0|0)|0;da=(N(c[H>>2]|0,c[(c[z>>2]|0)+8>>2]|0)|0)<<2;_i(c[F>>2]|0,n|0,da+0|0)|0;c[M>>2]=1}while(0);_(c[ba>>2]|0)}if(c[M>>2]|0){g[c[J>>2]>>2]=+g[T>>2];da=c[U>>2]|0;_(da|0);l=ca;return}else{g[c[J>>2]>>2]=+g[17564+(c[I>>2]<<2)>>2]*+g[17564+(c[I>>2]<<2)>>2]*+g[c[J>>2]>>2]+ +g[T>>2];da=c[U>>2]|0;_(da|0);l=ca;return}}function Jc(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0;t=l;l=l+48|0;p=t+36|0;q=t+32|0;r=t+28|0;s=t+24|0;i=t+20|0;j=t+16|0;k=t+12|0;m=t+8|0;n=t+4|0;o=t;c[p>>2]=a;c[q>>2]=b;c[r>>2]=d;c[s>>2]=e;c[i>>2]=f;c[j>>2]=h;g[n>>2]=0.0;c[k>>2]=0;do{c[m>>2]=c[r>>2];while(1){if((c[m>>2]|0)>=(c[s>>2]|0))break;u=+g[(c[p>>2]|0)+((c[m>>2]|0)+(N(c[k>>2]|0,c[i>>2]|0)|0)<<2)>>2];g[o>>2]=u-+g[(c[q>>2]|0)+((c[m>>2]|0)+(N(c[k>>2]|0,c[i>>2]|0)|0)<<2)>>2];g[n>>2]=+g[n>>2]+ +g[o>>2]*+g[o>>2];c[m>>2]=(c[m>>2]|0)+1}h=(c[k>>2]|0)+1|0;c[k>>2]=h}while((h|0)<(c[j>>2]|0));l=t;return +(200.0<+g[n>>2]?200.0:+g[n>>2])}function Kc(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=(c[(c[d>>2]|0)+20>>2]|0)-(32-(Q(c[(c[d>>2]|0)+28>>2]|0)|0))|0;l=b;return a|0}function Lc(a,b,e,f,h,i,j,k,m,n,o,p,q,r,s){a=a|0;b=b|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=+r;s=s|0;var t=0,u=0,v=0,w=0,x=0,y=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;$=l;l=l+128|0;v=$+124|0;w=$+120|0;x=$+116|0;y=$+112|0;B=$+108|0;C=$+104|0;D=$+100|0;E=$+96|0;F=$+92|0;G=$+88|0;H=$+84|0;t=$+80|0;u=$+76|0;I=$+72|0;J=$+68|0;K=$+64|0;L=$+60|0;M=$+56|0;O=$+48|0;P=$+44|0;Q=$+40|0;R=$+36|0;S=$+32|0;T=$+28|0;U=$+24|0;V=$+20|0;W=$+16|0;X=$+12|0;Y=$+8|0;Z=$+4|0;_=$;c[v>>2]=a;c[w>>2]=b;c[x>>2]=e;c[y>>2]=f;c[B>>2]=h;c[C>>2]=i;c[D>>2]=j;c[E>>2]=k;c[F>>2]=m;c[G>>2]=n;c[H>>2]=o;c[t>>2]=p;c[u>>2]=q;g[I>>2]=r;c[J>>2]=s;c[M>>2]=0;c[O>>2]=0;c[O+4>>2]=0;if(((c[D>>2]|0)+3|0)<=(c[C>>2]|0))_b(c[G>>2]|0,c[u>>2]|0,3);if(c[u>>2]|0){g[P>>2]=0.0;g[Q>>2]=.149993896484375}else{g[Q>>2]=+g[17580+(c[t>>2]<<2)>>2];g[P>>2]=+g[17564+(c[t>>2]<<2)>>2]}c[K>>2]=c[w>>2];while(1){if((c[K>>2]|0)>=(c[x>>2]|0))break;c[L>>2]=0;do{g[V>>2]=+g[(c[y>>2]|0)+((c[K>>2]|0)+(N(c[L>>2]|0,c[(c[v>>2]|0)+8>>2]|0)|0)<<2)>>2];if(-9.0>+g[(c[B>>2]|0)+((c[K>>2]|0)+(N(c[L>>2]|0,c[(c[v>>2]|0)+8>>2]|0)|0)<<2)>>2])r=-9.0;else r=+g[(c[B>>2]|0)+((c[K>>2]|0)+(N(c[L>>2]|0,c[(c[v>>2]|0)+8>>2]|0)|0)<<2)>>2];g[Y>>2]=r;g[W>>2]=+g[V>>2]-+g[P>>2]*+g[Y>>2]-+g[O+(c[L>>2]<<2)>>2];c[S>>2]=~~+z(+(+g[W>>2]+.5));if(-28.0>+g[(c[B>>2]|0)+((c[K>>2]|0)+(N(c[L>>2]|0,c[(c[v>>2]|0)+8>>2]|0)|0)<<2)>>2])r=-28.0;else r=+g[(c[B>>2]|0)+((c[K>>2]|0)+(N(c[L>>2]|0,c[(c[v>>2]|0)+8>>2]|0)|0)<<2)>>2];g[Z>>2]=r-+g[I>>2];if((c[S>>2]|0)<0?+g[V>>2]<+g[Z>>2]:0){n=(c[S>>2]|0)+~~(+g[Z>>2]-+g[V>>2])|0;c[S>>2]=n;c[S>>2]=(c[S>>2]|0)>0?0:n}c[T>>2]=c[S>>2];c[D>>2]=Kc(c[G>>2]|0)|0;c[R>>2]=(c[C>>2]|0)-(c[D>>2]|0)-(N((c[H>>2]|0)*3|0,(c[x>>2]|0)-(c[K>>2]|0)|0)|0);if((c[R>>2]|0)<30?(c[K>>2]|0)!=(c[w>>2]|0):0){if((c[R>>2]|0)<24)c[S>>2]=1<(c[S>>2]|0)?1:c[S>>2]|0;if((c[R>>2]|0)<16)c[S>>2]=-1>(c[S>>2]|0)?-1:c[S>>2]|0}if((c[J>>2]|0)!=0&(c[K>>2]|0)>=2)c[S>>2]=(c[S>>2]|0)<0?c[S>>2]|0:0;do if(((c[C>>2]|0)-(c[D>>2]|0)|0)<15)if(((c[C>>2]|0)-(c[D>>2]|0)|0)<2)if(((c[C>>2]|0)-(c[D>>2]|0)|0)>=1){c[S>>2]=0<(c[S>>2]|0)?0:c[S>>2]|0;_b(c[G>>2]|0,0-(c[S>>2]|0)|0,1);break}else{c[S>>2]=-1;break}else{if(-1>(((c[S>>2]|0)<1?c[S>>2]|0:1)|0))a=-1;else a=(c[S>>2]|0)<1?c[S>>2]|0:1;c[S>>2]=a;$b(c[G>>2]|0,c[S>>2]<<1^0-((c[S>>2]|0)<0&1),26716,2);break}else{c[_>>2]=((c[K>>2]|0)<20?c[K>>2]|0:20)<<1;mc(c[G>>2]|0,S,(d[(c[E>>2]|0)+(c[_>>2]|0)>>0]|0)<<7,(d[(c[E>>2]|0)+((c[_>>2]|0)+1)>>0]|0)<<6)}while(0);g[(c[F>>2]|0)+((c[K>>2]|0)+(N(c[L>>2]|0,c[(c[v>>2]|0)+8>>2]|0)|0)<<2)>>2]=+g[W>>2]-+(c[S>>2]|0);n=A((c[T>>2]|0)-(c[S>>2]|0)|0)|0;c[M>>2]=(c[M>>2]|0)+n;g[U>>2]=+(c[S>>2]|0);g[X>>2]=+g[P>>2]*+g[Y>>2]+ +g[O+(c[L>>2]<<2)>>2]+ +g[U>>2];g[(c[B>>2]|0)+((c[K>>2]|0)+(N(c[L>>2]|0,c[(c[v>>2]|0)+8>>2]|0)|0)<<2)>>2]=+g[X>>2];g[O+(c[L>>2]<<2)>>2]=+g[O+(c[L>>2]<<2)>>2]+ +g[U>>2]-+g[Q>>2]*+g[U>>2];n=(c[L>>2]|0)+1|0;c[L>>2]=n}while((n|0)<(c[H>>2]|0));c[K>>2]=(c[K>>2]|0)+1}l=$;return (c[J>>2]|0?0:c[M>>2]|0)|0}function Mc(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[b>>2]|0)+24>>2]|0}function Nc(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[c[b>>2]>>2]|0}function Oc(a,d,e,f,h,i,j,k){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0.0;y=l;l=l+64|0;x=y+44|0;A=y+40|0;m=y+36|0;n=y+32|0;o=y+28|0;p=y+24|0;q=y+20|0;r=y+16|0;s=y+12|0;t=y+8|0;u=y+48|0;v=y+4|0;w=y;c[x>>2]=a;c[A>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=h;c[p>>2]=i;c[q>>2]=j;c[r>>2]=k;c[s>>2]=c[A>>2];while(1){if((c[s>>2]|0)>=(c[m>>2]|0))break;b[u>>1]=1<<c[(c[p>>2]|0)+(c[s>>2]<<2)>>2];if((c[(c[p>>2]|0)+(c[s>>2]<<2)>>2]|0)>0){c[t>>2]=0;do{B=+g[(c[o>>2]|0)+((c[s>>2]|0)+(N(c[t>>2]|0,c[(c[x>>2]|0)+8>>2]|0)|0)<<2)>>2]+.5;c[v>>2]=~~+z(+(B*+(b[u>>1]|0)));if((c[v>>2]|0)>((b[u>>1]|0)-1|0))c[v>>2]=(b[u>>1]|0)-1;if((c[v>>2]|0)<0)c[v>>2]=0;bc(c[q>>2]|0,c[v>>2]|0,c[(c[p>>2]|0)+(c[s>>2]<<2)>>2]|0);g[w>>2]=(+(c[v>>2]|0)+.5)*+(1<<14-(c[(c[p>>2]|0)+(c[s>>2]<<2)>>2]|0)|0)*.00006103515625-.5;A=(c[n>>2]|0)+((c[s>>2]|0)+(N(c[t>>2]|0,c[(c[x>>2]|0)+8>>2]|0)|0)<<2)|0;g[A>>2]=+g[A>>2]+ +g[w>>2];A=(c[o>>2]|0)+((c[s>>2]|0)+(N(c[t>>2]|0,c[(c[x>>2]|0)+8>>2]|0)|0)<<2)|0;g[A>>2]=+g[A>>2]-+g[w>>2];A=(c[t>>2]|0)+1|0;c[t>>2]=A}while((A|0)<(c[r>>2]|0))}c[s>>2]=(c[s>>2]|0)+1}l=y;return}function Pc(a,b,d,e,f,h,i,j,k,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+64|0;n=C+56|0;o=C+52|0;p=C+48|0;q=C+44|0;r=C+40|0;s=C+36|0;t=C+32|0;u=C+28|0;v=C+24|0;w=C+20|0;x=C+16|0;y=C+12|0;z=C+8|0;A=C+4|0;B=C;c[n>>2]=a;c[o>>2]=b;c[p>>2]=d;c[q>>2]=e;c[r>>2]=f;c[s>>2]=h;c[t>>2]=i;c[u>>2]=j;c[v>>2]=k;c[w>>2]=m;c[y>>2]=0;while(1){if((c[y>>2]|0)>=2)break;c[x>>2]=c[o>>2];while(1){if((c[x>>2]|0)>=(c[p>>2]|0))break;if((c[u>>2]|0)<(c[w>>2]|0))break;if((c[(c[s>>2]|0)+(c[x>>2]<<2)>>2]|0)<8?(c[(c[t>>2]|0)+(c[x>>2]<<2)>>2]|0)==(c[y>>2]|0):0){c[z>>2]=0;do{m=+g[(c[r>>2]|0)+((c[x>>2]|0)+(N(c[z>>2]|0,c[(c[n>>2]|0)+8>>2]|0)|0)<<2)>>2]<0.0;c[A>>2]=m?0:1;bc(c[v>>2]|0,c[A>>2]|0,1);g[B>>2]=(+(c[A>>2]|0)-.5)*+(1<<14-(c[(c[s>>2]|0)+(c[x>>2]<<2)>>2]|0)-1|0)*.00006103515625;m=(c[q>>2]|0)+((c[x>>2]|0)+(N(c[z>>2]|0,c[(c[n>>2]|0)+8>>2]|0)|0)<<2)|0;g[m>>2]=+g[m>>2]+ +g[B>>2];c[u>>2]=(c[u>>2]|0)+-1;m=(c[z>>2]|0)+1|0;c[z>>2]=m}while((m|0)<(c[w>>2]|0))}c[x>>2]=(c[x>>2]|0)+1}c[y>>2]=(c[y>>2]|0)+1}l=C;return}function Qc(a,b,e,f,h,i,j,k){a=a|0;b=b|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;G=l;l=l+96|0;F=G+80|0;o=G+76|0;p=G+72|0;q=G+68|0;H=G+64|0;r=G+60|0;s=G+56|0;n=G+52|0;t=G+48|0;u=G+44|0;v=G+40|0;w=G+32|0;x=G+28|0;y=G+24|0;z=G+20|0;A=G+16|0;B=G+12|0;C=G+8|0;D=G+4|0;E=G;c[F>>2]=a;c[o>>2]=b;c[p>>2]=e;c[q>>2]=f;c[H>>2]=h;c[r>>2]=i;c[s>>2]=j;c[n>>2]=k;c[t>>2]=26380+((c[n>>2]|0)*84|0)+((c[H>>2]|0)*42|0);c[w>>2]=0;c[w+4>>2]=0;if(c[H>>2]|0){g[x>>2]=0.0;g[y>>2]=.149993896484375}else{g[y>>2]=+g[17580+(c[n>>2]<<2)>>2];g[x>>2]=+g[17564+(c[n>>2]<<2)>>2]}c[z>>2]=c[(c[r>>2]|0)+4>>2]<<3;c[u>>2]=c[o>>2];while(1){if((c[u>>2]|0)>=(c[p>>2]|0))break;c[v>>2]=0;do{c[A>>2]=Kc(c[r>>2]|0)|0;do if(((c[z>>2]|0)-(c[A>>2]|0)|0)<15){if(((c[z>>2]|0)-(c[A>>2]|0)|0)>=2){c[B>>2]=Pb(c[r>>2]|0,26716,2)|0;c[B>>2]=c[B>>2]>>1^0-(c[B>>2]&1);break}if(((c[z>>2]|0)-(c[A>>2]|0)|0)>=1){c[B>>2]=0-(Ob(c[r>>2]|0,1)|0);break}else{c[B>>2]=-1;break}}else{c[E>>2]=((c[u>>2]|0)<20?c[u>>2]|0:20)<<1;c[B>>2]=oc(c[r>>2]|0,(d[(c[t>>2]|0)+(c[E>>2]|0)>>0]|0)<<7,(d[(c[t>>2]|0)+((c[E>>2]|0)+1)>>0]|0)<<6)|0}while(0);g[C>>2]=+(c[B>>2]|0);if(-9.0>+g[(c[q>>2]|0)+((c[u>>2]|0)+(N(c[v>>2]|0,c[(c[F>>2]|0)+8>>2]|0)|0)<<2)>>2])m=-9.0;else m=+g[(c[q>>2]|0)+((c[u>>2]|0)+(N(c[v>>2]|0,c[(c[F>>2]|0)+8>>2]|0)|0)<<2)>>2];g[(c[q>>2]|0)+((c[u>>2]|0)+(N(c[v>>2]|0,c[(c[F>>2]|0)+8>>2]|0)|0)<<2)>>2]=m;m=+g[x>>2]*+g[(c[q>>2]|0)+((c[u>>2]|0)+(N(c[v>>2]|0,c[(c[F>>2]|0)+8>>2]|0)|0)<<2)>>2];g[D>>2]=m+ +g[w+(c[v>>2]<<2)>>2]+ +g[C>>2];g[(c[q>>2]|0)+((c[u>>2]|0)+(N(c[v>>2]|0,c[(c[F>>2]|0)+8>>2]|0)|0)<<2)>>2]=+g[D>>2];g[w+(c[v>>2]<<2)>>2]=+g[w+(c[v>>2]<<2)>>2]+ +g[C>>2]-+g[y>>2]*+g[C>>2];H=(c[v>>2]|0)+1|0;c[v>>2]=H}while((H|0)<(c[s>>2]|0));c[u>>2]=(c[u>>2]|0)+1}l=G;return}function Rc(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=l;l=l+48|0;s=u+40|0;v=u+36|0;t=u+32|0;j=u+28|0;k=u+24|0;m=u+20|0;n=u+16|0;o=u+12|0;p=u+8|0;q=u+4|0;r=u;c[s>>2]=a;c[v>>2]=b;c[t>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=h;c[n>>2]=i;c[o>>2]=c[v>>2];while(1){if((c[o>>2]|0)>=(c[t>>2]|0))break;if((c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]|0)>0){c[p>>2]=0;do{c[q>>2]=Rb(c[m>>2]|0,c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]|0)|0;g[r>>2]=(+(c[q>>2]|0)+.5)*+(1<<14-(c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]|0)|0)*.00006103515625-.5;v=(c[j>>2]|0)+((c[o>>2]|0)+(N(c[p>>2]|0,c[(c[s>>2]|0)+8>>2]|0)|0)<<2)|0;g[v>>2]=+g[v>>2]+ +g[r>>2];v=(c[p>>2]|0)+1|0;c[p>>2]=v}while((v|0)<(c[n>>2]|0))}c[o>>2]=(c[o>>2]|0)+1}l=u;return}function Sc(a,b,d,e,f,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+64|0;z=A+52|0;m=A+48|0;n=A+44|0;o=A+40|0;p=A+36|0;q=A+32|0;r=A+28|0;s=A+24|0;t=A+20|0;u=A+16|0;v=A+12|0;w=A+8|0;x=A+4|0;y=A;c[z>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=h;c[r>>2]=i;c[s>>2]=j;c[t>>2]=k;c[v>>2]=0;while(1){if((c[v>>2]|0)>=2)break;c[u>>2]=c[m>>2];while(1){if((c[u>>2]|0)>=(c[n>>2]|0))break;if((c[r>>2]|0)<(c[t>>2]|0))break;if((c[(c[p>>2]|0)+(c[u>>2]<<2)>>2]|0)<8?(c[(c[q>>2]|0)+(c[u>>2]<<2)>>2]|0)==(c[v>>2]|0):0){c[w>>2]=0;do{c[x>>2]=Rb(c[s>>2]|0,1)|0;g[y>>2]=(+(c[x>>2]|0)-.5)*+(1<<14-(c[(c[p>>2]|0)+(c[u>>2]<<2)>>2]|0)-1|0)*.00006103515625;k=(c[o>>2]|0)+((c[u>>2]|0)+(N(c[w>>2]|0,c[(c[z>>2]|0)+8>>2]|0)|0)<<2)|0;g[k>>2]=+g[k>>2]+ +g[y>>2];c[r>>2]=(c[r>>2]|0)+-1;k=(c[w>>2]|0)+1|0;c[w>>2]=k}while((k|0)<(c[t>>2]|0))}c[u>>2]=(c[u>>2]|0)+1}c[v>>2]=(c[v>>2]|0)+1}l=A;return}function Tc(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=l;l=l+32|0;n=r+28|0;o=r+24|0;p=r+20|0;q=r+16|0;i=r+12|0;j=r+8|0;k=r+4|0;m=r;c[n>>2]=a;c[o>>2]=b;c[p>>2]=d;c[q>>2]=e;c[i>>2]=f;c[j>>2]=h;c[k>>2]=0;do{c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[o>>2]|0))break;s=+L(+(+g[(c[q>>2]|0)+((c[m>>2]|0)+(N(c[k>>2]|0,c[(c[n>>2]|0)+8>>2]|0)|0)<<2)>>2]))*1.4426950408889634;g[(c[i>>2]|0)+((c[m>>2]|0)+(N(c[k>>2]|0,c[(c[n>>2]|0)+8>>2]|0)|0)<<2)>>2]=s-+g[17464+(c[m>>2]<<2)>>2];c[m>>2]=(c[m>>2]|0)+1}c[m>>2]=c[o>>2];while(1){if((c[m>>2]|0)>=(c[p>>2]|0))break;h=N(c[k>>2]|0,c[(c[n>>2]|0)+8>>2]|0)|0;g[(c[i>>2]|0)+(h+(c[m>>2]|0)<<2)>>2]=-14.0;c[m>>2]=(c[m>>2]|0)+1}h=(c[k>>2]|0)+1|0;c[k>>2]=h}while((h|0)<(c[j>>2]|0));l=r;return}function Uc(a,e,f,g,h,i,j,k,m,n,o,p,q,r,s,t,u,v,w){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;var x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;ja=l;l=l+160|0;D=ja+144|0;E=ja+140|0;F=ja+136|0;G=ja+132|0;H=ja+128|0;x=ja+124|0;I=ja+120|0;J=ja+116|0;K=ja+112|0;L=ja+108|0;M=ja+104|0;O=ja+100|0;P=ja+96|0;Q=ja+92|0;R=ja+88|0;S=ja+84|0;T=ja+80|0;U=ja+76|0;V=ja+72|0;W=ja+68|0;X=ja+64|0;Y=ja+60|0;Z=ja+56|0;aa=ja+52|0;ba=ja+48|0;ca=ja+44|0;da=ja+40|0;ea=ja+36|0;fa=ja+32|0;y=ja+28|0;z=ja+24|0;A=ja+20|0;B=ja+16|0;C=ja+12|0;ga=ja+8|0;ha=ja+4|0;ia=ja;c[D>>2]=a;c[E>>2]=e;c[F>>2]=f;c[G>>2]=g;c[H>>2]=h;c[x>>2]=i;c[I>>2]=j;c[J>>2]=k;c[K>>2]=m;c[L>>2]=n;c[M>>2]=o;c[O>>2]=p;c[P>>2]=q;c[Q>>2]=r;c[R>>2]=s;c[S>>2]=t;c[T>>2]=u;c[U>>2]=v;c[V>>2]=w;c[K>>2]=(c[K>>2]|0)>0?c[K>>2]|0:0;c[Y>>2]=c[(c[D>>2]|0)+8>>2];c[ba>>2]=c[E>>2];c[ca>>2]=(c[K>>2]|0)>=8?8:0;c[K>>2]=(c[K>>2]|0)-(c[ca>>2]|0);c[ea>>2]=0;c[da>>2]=0;do if((c[Q>>2]|0)==2){c[da>>2]=d[26719+((c[F>>2]|0)-(c[E>>2]|0))>>0];if((c[da>>2]|0)>(c[K>>2]|0)){c[da>>2]=0;break}else{c[K>>2]=(c[K>>2]|0)-(c[da>>2]|0);c[ea>>2]=(c[K>>2]|0)>=8?8:0;c[K>>2]=(c[K>>2]|0)-(c[ea>>2]|0);break}}while(0);o=c[Y>>2]|0;c[fa>>2]=$()|0;e=l;l=l+((1*(o<<2)|0)+15&-16)|0;o=l;l=l+((1*(c[Y>>2]<<2)|0)+15&-16)|0;p=l;l=l+((1*(c[Y>>2]<<2)|0)+15&-16)|0;q=l;l=l+((1*(c[Y>>2]<<2)|0)+15&-16)|0;c[Z>>2]=c[E>>2];while(1){if((c[Z>>2]|0)>=(c[F>>2]|0))break;if((c[Q>>2]<<3|0)>(((b[(c[(c[D>>2]|0)+32>>2]|0)+((c[Z>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[D>>2]|0)+32>>2]|0)+(c[Z>>2]<<1)>>1]|0)|0)*3<<c[R>>2]<<3>>4|0))a=c[Q>>2]<<3;else a=((b[(c[(c[D>>2]|0)+32>>2]|0)+((c[Z>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[D>>2]|0)+32>>2]|0)+(c[Z>>2]<<1)>>1]|0)|0)*3<<c[R>>2]<<3>>4;c[p+(c[Z>>2]<<2)>>2]=a;n=N(c[Q>>2]|0,(b[(c[(c[D>>2]|0)+32>>2]|0)+((c[Z>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[D>>2]|0)+32>>2]|0)+(c[Z>>2]<<1)>>1]|0)|0)|0;n=N(n,(c[x>>2]|0)-5-(c[R>>2]|0)|0)|0;n=N(n,(c[F>>2]|0)-(c[Z>>2]|0)-1|0)|0;n=(N(n,1<<(c[R>>2]|0)+3)|0)>>6;c[q+(c[Z>>2]<<2)>>2]=n;if(((b[(c[(c[D>>2]|0)+32>>2]|0)+((c[Z>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[D>>2]|0)+32>>2]|0)+(c[Z>>2]<<1)>>1]|0)<<c[R>>2]|0)==1){n=q+(c[Z>>2]<<2)|0;c[n>>2]=(c[n>>2]|0)-(c[Q>>2]<<3)}c[Z>>2]=(c[Z>>2]|0)+1}c[W>>2]=1;c[X>>2]=(c[(c[D>>2]|0)+48>>2]|0)-1;do{c[y>>2]=0;c[z>>2]=0;c[A>>2]=(c[W>>2]|0)+(c[X>>2]|0)>>1;c[Z>>2]=c[F>>2];while(1){x=c[Z>>2]|0;c[Z>>2]=x+-1;if((x|0)<=(c[E>>2]|0))break;c[C>>2]=(b[(c[(c[D>>2]|0)+32>>2]|0)+((c[Z>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[D>>2]|0)+32>>2]|0)+(c[Z>>2]<<1)>>1]|0);n=N(c[Q>>2]|0,c[C>>2]|0)|0;x=N(c[A>>2]|0,c[Y>>2]|0)|0;x=N(n,d[(c[(c[D>>2]|0)+52>>2]|0)+(x+(c[Z>>2]|0))>>0]|0)|0;c[B>>2]=x<<c[R>>2]>>2;if((c[B>>2]|0)>0){if(0>((c[B>>2]|0)+(c[q+(c[Z>>2]<<2)>>2]|0)|0))a=0;else a=(c[B>>2]|0)+(c[q+(c[Z>>2]<<2)>>2]|0)|0;c[B>>2]=a}c[B>>2]=(c[B>>2]|0)+(c[(c[G>>2]|0)+(c[Z>>2]<<2)>>2]|0);if(!(c[y>>2]|0?1:(c[B>>2]|0)>=(c[p+(c[Z>>2]<<2)>>2]|0))){if((c[B>>2]|0)<(c[Q>>2]<<3|0))continue;c[z>>2]=(c[z>>2]|0)+(c[Q>>2]<<3);continue}c[y>>2]=1;if((c[B>>2]|0)<(c[(c[H>>2]|0)+(c[Z>>2]<<2)>>2]|0))a=c[B>>2]|0;else a=c[(c[H>>2]|0)+(c[Z>>2]<<2)>>2]|0;c[z>>2]=(c[z>>2]|0)+a}a=c[A>>2]|0;if((c[z>>2]|0)>(c[K>>2]|0))c[X>>2]=a-1;else c[W>>2]=a+1}while((c[W>>2]|0)<=(c[X>>2]|0));C=c[W>>2]|0;c[W>>2]=C+-1;c[X>>2]=C;c[Z>>2]=c[E>>2];while(1){a=c[D>>2]|0;if((c[Z>>2]|0)>=(c[F>>2]|0))break;c[ia>>2]=(b[(c[a+32>>2]|0)+((c[Z>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[D>>2]|0)+32>>2]|0)+(c[Z>>2]<<1)>>1]|0);B=N(c[Q>>2]|0,c[ia>>2]|0)|0;C=N(c[W>>2]|0,c[Y>>2]|0)|0;C=N(B,d[(c[(c[D>>2]|0)+52>>2]|0)+(C+(c[Z>>2]|0))>>0]|0)|0;c[ga>>2]=C<<c[R>>2]>>2;if((c[X>>2]|0)>=(c[(c[D>>2]|0)+48>>2]|0))a=c[(c[H>>2]|0)+(c[Z>>2]<<2)>>2]|0;else{C=N(c[Q>>2]|0,c[ia>>2]|0)|0;a=N(c[X>>2]|0,c[Y>>2]|0)|0;a=N(C,d[(c[(c[D>>2]|0)+52>>2]|0)+(a+(c[Z>>2]|0))>>0]|0)|0;a=a<<c[R>>2]>>2}c[ha>>2]=a;if((c[ga>>2]|0)>0){if(0>((c[ga>>2]|0)+(c[q+(c[Z>>2]<<2)>>2]|0)|0))a=0;else a=(c[ga>>2]|0)+(c[q+(c[Z>>2]<<2)>>2]|0)|0;c[ga>>2]=a}if((c[ha>>2]|0)>0){if(0>((c[ha>>2]|0)+(c[q+(c[Z>>2]<<2)>>2]|0)|0))a=0;else a=(c[ha>>2]|0)+(c[q+(c[Z>>2]<<2)>>2]|0)|0;c[ha>>2]=a}if((c[W>>2]|0)>0)c[ga>>2]=(c[ga>>2]|0)+(c[(c[G>>2]|0)+(c[Z>>2]<<2)>>2]|0);c[ha>>2]=(c[ha>>2]|0)+(c[(c[G>>2]|0)+(c[Z>>2]<<2)>>2]|0);if((c[(c[G>>2]|0)+(c[Z>>2]<<2)>>2]|0)>0)c[ba>>2]=c[Z>>2];if(0>((c[ha>>2]|0)-(c[ga>>2]|0)|0))a=0;else a=(c[ha>>2]|0)-(c[ga>>2]|0)|0;c[ha>>2]=a;c[e+(c[Z>>2]<<2)>>2]=c[ga>>2];c[o+(c[Z>>2]<<2)>>2]=c[ha>>2];c[Z>>2]=(c[Z>>2]|0)+1}c[aa>>2]=Vc(a,c[E>>2]|0,c[F>>2]|0,c[ba>>2]|0,e,o,p,c[H>>2]|0,c[K>>2]|0,c[L>>2]|0,c[ca>>2]|0,c[I>>2]|0,c[da>>2]|0,c[J>>2]|0,c[ea>>2]|0,c[M>>2]|0,c[O>>2]|0,c[P>>2]|0,c[Q>>2]|0,c[R>>2]|0,c[S>>2]|0,c[T>>2]|0,c[U>>2]|0,c[V>>2]|0)|0;ia=c[aa>>2]|0;_(c[fa>>2]|0);l=ja;return ia|0}function Vc(a,e,f,g,h,i,j,k,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;var C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0;Da=l;l=l+224|0;ea=Da+208|0;ba=Da+204|0;fa=Da+200|0;L=Da+196|0;G=Da+192|0;H=Da+188|0;M=Da+184|0;ga=Da+180|0;Z=Da+176|0;ha=Da+172|0;O=Da+168|0;ia=Da+164|0;P=Da+160|0;ja=Da+156|0;X=Da+152|0;ka=Da+148|0;la=Da+144|0;ma=Da+140|0;na=Da+136|0;oa=Da+132|0;Y=Da+128|0;_=Da+124|0;Q=Da+120|0;R=Da+116|0;$=Da+112|0;I=Da+108|0;C=Da+104|0;D=Da+100|0;pa=Da+96|0;qa=Da+92|0;ra=Da+88|0;sa=Da+84|0;S=Da+80|0;ca=Da+76|0;aa=Da+72|0;J=Da+68|0;ta=Da+64|0;E=Da+60|0;F=Da+56|0;K=Da+52|0;T=Da+48|0;U=Da+44|0;V=Da+40|0;da=Da+36|0;ua=Da+32|0;va=Da+28|0;wa=Da+24|0;xa=Da+20|0;ya=Da+16|0;za=Da+12|0;Aa=Da+8|0;Ba=Da+4|0;Ca=Da;c[ea>>2]=a;c[ba>>2]=e;c[fa>>2]=f;c[L>>2]=g;c[G>>2]=h;c[H>>2]=i;c[M>>2]=j;c[ga>>2]=k;c[Z>>2]=m;c[ha>>2]=n;c[O>>2]=o;c[ia>>2]=p;c[P>>2]=q;c[ja>>2]=r;c[X>>2]=s;c[ka>>2]=t;c[la>>2]=u;c[ma>>2]=v;c[na>>2]=w;c[oa>>2]=x;c[Y>>2]=y;c[_>>2]=z;c[Q>>2]=A;c[R>>2]=B;c[sa>>2]=-1;c[S>>2]=c[na>>2]<<3;c[ra>>2]=(c[na>>2]|0)>1&1;c[qa>>2]=c[oa>>2]<<3;c[I>>2]=0;c[C>>2]=64;c[D>>2]=0;while(1){if((c[D>>2]|0)>=6)break;c[E>>2]=(c[I>>2]|0)+(c[C>>2]|0)>>1;c[$>>2]=0;c[J>>2]=0;c[pa>>2]=c[fa>>2];while(1){n=c[pa>>2]|0;c[pa>>2]=n+-1;if((n|0)<=(c[ba>>2]|0))break;c[F>>2]=(c[(c[G>>2]|0)+(c[pa>>2]<<2)>>2]|0)+((N(c[E>>2]|0,c[(c[H>>2]|0)+(c[pa>>2]<<2)>>2]|0)|0)>>6);if(!(c[J>>2]|0?1:(c[F>>2]|0)>=(c[(c[M>>2]|0)+(c[pa>>2]<<2)>>2]|0))){if((c[F>>2]|0)<(c[S>>2]|0))continue;c[$>>2]=(c[$>>2]|0)+(c[S>>2]|0);continue}c[J>>2]=1;if((c[F>>2]|0)<(c[(c[ga>>2]|0)+(c[pa>>2]<<2)>>2]|0))a=c[F>>2]|0;else a=c[(c[ga>>2]|0)+(c[pa>>2]<<2)>>2]|0;c[$>>2]=(c[$>>2]|0)+a}a=c[E>>2]|0;if((c[$>>2]|0)>(c[Z>>2]|0))c[C>>2]=a;else c[I>>2]=a;c[D>>2]=(c[D>>2]|0)+1}c[$>>2]=0;c[J>>2]=0;c[pa>>2]=c[fa>>2];while(1){F=c[pa>>2]|0;c[pa>>2]=F+-1;if((F|0)<=(c[ba>>2]|0))break;c[K>>2]=(c[(c[G>>2]|0)+(c[pa>>2]<<2)>>2]|0)+((N(c[I>>2]|0,c[(c[H>>2]|0)+(c[pa>>2]<<2)>>2]|0)|0)>>6);do if(!(c[J>>2]|0?1:(c[K>>2]|0)>=(c[(c[M>>2]|0)+(c[pa>>2]<<2)>>2]|0)))if((c[K>>2]|0)>=(c[S>>2]|0)){c[K>>2]=c[S>>2];break}else{c[K>>2]=0;break}else c[J>>2]=1;while(0);if((c[K>>2]|0)<(c[(c[ga>>2]|0)+(c[pa>>2]<<2)>>2]|0))a=c[K>>2]|0;else a=c[(c[ga>>2]|0)+(c[pa>>2]<<2)>>2]|0;c[K>>2]=a;c[(c[ka>>2]|0)+(c[pa>>2]<<2)>>2]=c[K>>2];c[$>>2]=(c[$>>2]|0)+(c[K>>2]|0)}c[sa>>2]=c[fa>>2];while(1){c[pa>>2]=(c[sa>>2]|0)-1;if((c[pa>>2]|0)<=(c[L>>2]|0)){W=29;break}c[ca>>2]=(c[Z>>2]|0)-(c[$>>2]|0);c[aa>>2]=Wc(c[ca>>2]|0,(b[(c[(c[ea>>2]|0)+32>>2]|0)+(c[sa>>2]<<1)>>1]|0)-(b[(c[(c[ea>>2]|0)+32>>2]|0)+(c[ba>>2]<<1)>>1]|0)|0)|0;K=N((b[(c[(c[ea>>2]|0)+32>>2]|0)+(c[sa>>2]<<1)>>1]|0)-(b[(c[(c[ea>>2]|0)+32>>2]|0)+(c[ba>>2]<<1)>>1]|0)|0,c[aa>>2]|0)|0;c[ca>>2]=(c[ca>>2]|0)-K;if(((c[ca>>2]|0)-((b[(c[(c[ea>>2]|0)+32>>2]|0)+(c[pa>>2]<<1)>>1]|0)-(b[(c[(c[ea>>2]|0)+32>>2]|0)+(c[ba>>2]<<1)>>1]|0))|0)>0)a=(c[ca>>2]|0)-((b[(c[(c[ea>>2]|0)+32>>2]|0)+(c[pa>>2]<<1)>>1]|0)-(b[(c[(c[ea>>2]|0)+32>>2]|0)+(c[ba>>2]<<1)>>1]|0))|0;else a=0;c[V>>2]=a;c[T>>2]=(b[(c[(c[ea>>2]|0)+32>>2]|0)+(c[sa>>2]<<1)>>1]|0)-(b[(c[(c[ea>>2]|0)+32>>2]|0)+(c[pa>>2]<<1)>>1]|0);K=(c[(c[ka>>2]|0)+(c[pa>>2]<<2)>>2]|0)+(N(c[aa>>2]|0,c[T>>2]|0)|0)|0;c[U>>2]=K+(c[V>>2]|0);if((c[(c[M>>2]|0)+(c[pa>>2]<<2)>>2]|0)>((c[S>>2]|0)+8|0))a=c[(c[M>>2]|0)+(c[pa>>2]<<2)>>2]|0;else a=(c[S>>2]|0)+8|0;if((c[U>>2]|0)>=(a|0)){if(!(c[_>>2]|0)){if(Ob(c[Y>>2]|0,1)|0)break}else{if((c[sa>>2]|0)<=((c[ba>>2]|0)+2|0)){W=40;break}K=N((c[pa>>2]|0)<(c[Q>>2]|0)?7:9,c[T>>2]|0)|0;if((c[U>>2]|0)>(K<<c[oa>>2]<<3>>4|0)?(c[pa>>2]|0)<=(c[R>>2]|0):0){W=40;break}_b(c[Y>>2]|0,0,1)}c[$>>2]=(c[$>>2]|0)+8;c[U>>2]=(c[U>>2]|0)-8}c[$>>2]=(c[$>>2]|0)-((c[(c[ka>>2]|0)+(c[pa>>2]<<2)>>2]|0)+(c[P>>2]|0));if((c[P>>2]|0)>0)c[P>>2]=d[26719+((c[pa>>2]|0)-(c[ba>>2]|0))>>0];c[$>>2]=(c[$>>2]|0)+(c[P>>2]|0);if((c[U>>2]|0)>=(c[S>>2]|0)){c[$>>2]=(c[$>>2]|0)+(c[S>>2]|0);a=c[S>>2]|0;e=(c[ka>>2]|0)+(c[pa>>2]<<2)|0}else{a=0;e=(c[ka>>2]|0)+(c[pa>>2]<<2)|0}c[e>>2]=a;c[sa>>2]=(c[sa>>2]|0)+-1}if((W|0)==29)c[Z>>2]=(c[Z>>2]|0)+(c[O>>2]|0);else if((W|0)==40)_b(c[Y>>2]|0,1,1);do if((c[P>>2]|0)>0){if(!(c[_>>2]|0)){W=c[ba>>2]|0;W=W+(Qb(c[Y>>2]|0,(c[sa>>2]|0)+1-(c[ba>>2]|0)|0)|0)|0;c[c[ia>>2]>>2]=W;break}if((c[c[ia>>2]>>2]|0)<(c[sa>>2]|0))a=c[c[ia>>2]>>2]|0;else a=c[sa>>2]|0;c[c[ia>>2]>>2]=a;ac(c[Y>>2]|0,(c[c[ia>>2]>>2]|0)-(c[ba>>2]|0)|0,(c[sa>>2]|0)+1-(c[ba>>2]|0)|0)}else c[c[ia>>2]>>2]=0;while(0);if((c[c[ia>>2]>>2]|0)<=(c[ba>>2]|0)){c[Z>>2]=(c[Z>>2]|0)+(c[X>>2]|0);c[X>>2]=0}do if((c[X>>2]|0)>0){a=c[Y>>2]|0;if(c[_>>2]|0){_b(a,c[c[ja>>2]>>2]|0,1);break}else{_=Ob(a,1)|0;c[c[ja>>2]>>2]=_;break}}else c[c[ja>>2]>>2]=0;while(0);c[ca>>2]=(c[Z>>2]|0)-(c[$>>2]|0);c[aa>>2]=Wc(c[ca>>2]|0,(b[(c[(c[ea>>2]|0)+32>>2]|0)+(c[sa>>2]<<1)>>1]|0)-(b[(c[(c[ea>>2]|0)+32>>2]|0)+(c[ba>>2]<<1)>>1]|0)|0)|0;$=N((b[(c[(c[ea>>2]|0)+32>>2]|0)+(c[sa>>2]<<1)>>1]|0)-(b[(c[(c[ea>>2]|0)+32>>2]|0)+(c[ba>>2]<<1)>>1]|0)|0,c[aa>>2]|0)|0;c[ca>>2]=(c[ca>>2]|0)-$;c[pa>>2]=c[ba>>2];while(1){if((c[pa>>2]|0)>=(c[sa>>2]|0))break;_=N(c[aa>>2]|0,(b[(c[(c[ea>>2]|0)+32>>2]|0)+((c[pa>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[ea>>2]|0)+32>>2]|0)+(c[pa>>2]<<1)>>1]|0)|0)|0;$=(c[ka>>2]|0)+(c[pa>>2]<<2)|0;c[$>>2]=(c[$>>2]|0)+_;c[pa>>2]=(c[pa>>2]|0)+1}c[pa>>2]=c[ba>>2];while(1){if((c[pa>>2]|0)>=(c[sa>>2]|0))break;if((c[ca>>2]|0)<((b[(c[(c[ea>>2]|0)+32>>2]|0)+((c[pa>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[ea>>2]|0)+32>>2]|0)+(c[pa>>2]<<1)>>1]|0)|0))a=c[ca>>2]|0;else a=(b[(c[(c[ea>>2]|0)+32>>2]|0)+((c[pa>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[ea>>2]|0)+32>>2]|0)+(c[pa>>2]<<1)>>1]|0)|0;c[da>>2]=a;aa=(c[ka>>2]|0)+(c[pa>>2]<<2)|0;c[aa>>2]=(c[aa>>2]|0)+(c[da>>2]|0);c[ca>>2]=(c[ca>>2]|0)-(c[da>>2]|0);c[pa>>2]=(c[pa>>2]|0)+1}c[ta>>2]=0;c[pa>>2]=c[ba>>2];while(1){if((c[pa>>2]|0)>=(c[sa>>2]|0))break;c[ua>>2]=(b[(c[(c[ea>>2]|0)+32>>2]|0)+((c[pa>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[ea>>2]|0)+32>>2]|0)+(c[pa>>2]<<1)>>1]|0);c[va>>2]=c[ua>>2]<<c[oa>>2];c[Aa>>2]=(c[(c[ka>>2]|0)+(c[pa>>2]<<2)>>2]|0)+(c[ta>>2]|0);a=c[Aa>>2]|0;if((c[va>>2]|0)>1){if((a-(c[(c[ga>>2]|0)+(c[pa>>2]<<2)>>2]|0)|0)>0)a=(c[Aa>>2]|0)-(c[(c[ga>>2]|0)+(c[pa>>2]<<2)>>2]|0)|0;else a=0;c[za>>2]=a;c[(c[ka>>2]|0)+(c[pa>>2]<<2)>>2]=(c[Aa>>2]|0)-(c[za>>2]|0);a=N(c[na>>2]|0,c[va>>2]|0)|0;if((c[na>>2]|0)==2&(c[va>>2]|0)>2?!(c[c[ja>>2]>>2]|0):0)e=(c[pa>>2]|0)<(c[c[ia>>2]>>2]|0);else e=0;c[wa>>2]=a+(e?1:0);c[ya>>2]=N(c[wa>>2]|0,(b[(c[(c[ea>>2]|0)+56>>2]|0)+(c[pa>>2]<<1)>>1]|0)+(c[qa>>2]|0)|0)|0;c[xa>>2]=(c[ya>>2]>>1)-((c[wa>>2]|0)*21|0);if((c[va>>2]|0)==2)c[xa>>2]=(c[xa>>2]|0)+(c[wa>>2]<<3>>2);if(((c[(c[ka>>2]|0)+(c[pa>>2]<<2)>>2]|0)+(c[xa>>2]|0)|0)>=(c[wa>>2]<<1<<3|0)){if(((c[(c[ka>>2]|0)+(c[pa>>2]<<2)>>2]|0)+(c[xa>>2]|0)|0)<((c[wa>>2]|0)*3<<3|0))c[xa>>2]=(c[xa>>2]|0)+(c[ya>>2]>>3)}else c[xa>>2]=(c[xa>>2]|0)+(c[ya>>2]>>2);if(0>((c[(c[ka>>2]|0)+(c[pa>>2]<<2)>>2]|0)+(c[xa>>2]|0)+(c[wa>>2]<<2)|0))a=0;else a=(c[(c[ka>>2]|0)+(c[pa>>2]<<2)>>2]|0)+(c[xa>>2]|0)+(c[wa>>2]<<2)|0;c[(c[la>>2]|0)+(c[pa>>2]<<2)>>2]=a;da=(Wc(c[(c[la>>2]|0)+(c[pa>>2]<<2)>>2]|0,c[wa>>2]|0)|0)>>>3;c[(c[la>>2]|0)+(c[pa>>2]<<2)>>2]=da;da=N(c[na>>2]|0,c[(c[la>>2]|0)+(c[pa>>2]<<2)>>2]|0)|0;if((da|0)>(c[(c[ka>>2]|0)+(c[pa>>2]<<2)>>2]>>3|0))c[(c[la>>2]|0)+(c[pa>>2]<<2)>>2]=c[(c[ka>>2]|0)+(c[pa>>2]<<2)>>2]>>c[ra>>2]>>3;if((c[(c[la>>2]|0)+(c[pa>>2]<<2)>>2]|0)<8)a=c[(c[la>>2]|0)+(c[pa>>2]<<2)>>2]|0;else a=8;c[(c[la>>2]|0)+(c[pa>>2]<<2)>>2]=a;ca=N(c[(c[la>>2]|0)+(c[pa>>2]<<2)>>2]|0,c[wa>>2]<<3)|0;c[(c[ma>>2]|0)+(c[pa>>2]<<2)>>2]=(ca|0)>=((c[(c[ka>>2]|0)+(c[pa>>2]<<2)>>2]|0)+(c[xa>>2]|0)|0)&1;ca=(N(c[na>>2]|0,c[(c[la>>2]|0)+(c[pa>>2]<<2)>>2]|0)|0)<<3;da=(c[ka>>2]|0)+(c[pa>>2]<<2)|0;c[da>>2]=(c[da>>2]|0)-ca}else{if(0>(a-(c[na>>2]<<3)|0))a=0;else a=(c[Aa>>2]|0)-(c[na>>2]<<3)|0;c[za>>2]=a;c[(c[ka>>2]|0)+(c[pa>>2]<<2)>>2]=(c[Aa>>2]|0)-(c[za>>2]|0);c[(c[la>>2]|0)+(c[pa>>2]<<2)>>2]=0;c[(c[ma>>2]|0)+(c[pa>>2]<<2)>>2]=1}if((c[za>>2]|0)>0){if((c[za>>2]>>(c[ra>>2]|0)+3|0)<(8-(c[(c[la>>2]|0)+(c[pa>>2]<<2)>>2]|0)|0))a=c[za>>2]>>(c[ra>>2]|0)+3;else a=8-(c[(c[la>>2]|0)+(c[pa>>2]<<2)>>2]|0)|0;c[Ba>>2]=a;da=(c[la>>2]|0)+(c[pa>>2]<<2)|0;c[da>>2]=(c[da>>2]|0)+(c[Ba>>2]|0);c[Ca>>2]=(N(c[Ba>>2]|0,c[na>>2]|0)|0)<<3;c[(c[ma>>2]|0)+(c[pa>>2]<<2)>>2]=(c[Ca>>2]|0)>=((c[za>>2]|0)-(c[ta>>2]|0)|0)&1;c[za>>2]=(c[za>>2]|0)-(c[Ca>>2]|0)}c[ta>>2]=c[za>>2];c[pa>>2]=(c[pa>>2]|0)+1}c[c[ha>>2]>>2]=c[ta>>2];while(1){if((c[pa>>2]|0)>=(c[fa>>2]|0))break;c[(c[la>>2]|0)+(c[pa>>2]<<2)>>2]=c[(c[ka>>2]|0)+(c[pa>>2]<<2)>>2]>>c[ra>>2]>>3;c[(c[ka>>2]|0)+(c[pa>>2]<<2)>>2]=0;c[(c[ma>>2]|0)+(c[pa>>2]<<2)>>2]=(c[(c[la>>2]|0)+(c[pa>>2]<<2)>>2]|0)<1&1;c[pa>>2]=(c[pa>>2]|0)+1}l=Da;return c[sa>>2]|0}function Wc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)>>>0)/((c[d>>2]|0)>>>0)|0|0}function Xc(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;F=l;l=l+96|0;C=F+84|0;D=F+80|0;E=F+76|0;G=F+72|0;i=F+68|0;j=F+64|0;k=F+60|0;m=F+56|0;n=F+52|0;o=F+48|0;p=F+44|0;q=F+40|0;r=F+36|0;s=F+32|0;t=F+28|0;u=F+24|0;v=F+20|0;w=F+16|0;x=F+12|0;y=F+8|0;A=F+4|0;B=F;c[C>>2]=a;c[D>>2]=b;c[E>>2]=d;c[G>>2]=e;c[i>>2]=f;c[j>>2]=h;b=c[D>>2]|0;c[t>>2]=$()|0;a=l;l=l+((1*(b<<2)|0)+15&-16)|0;b=l;l=l+((1*(c[D>>2]<<2)|0)+15&-16)|0;d=l;l=l+((1*(c[D>>2]<<2)|0)+15&-16)|0;Yc(c[C>>2]|0,c[D>>2]|0,1,c[i>>2]|0,c[E>>2]|0,c[G>>2]|0);g[p>>2]=0.0;c[m>>2]=0;do{e=d+(c[m>>2]<<2)|0;if(+g[(c[C>>2]|0)+(c[m>>2]<<2)>>2]>0.0)g[e>>2]=1.0;else{g[e>>2]=-1.0;g[(c[C>>2]|0)+(c[m>>2]<<2)>>2]=-+g[(c[C>>2]|0)+(c[m>>2]<<2)>>2]}c[b+(c[m>>2]<<2)>>2]=0;g[a+(c[m>>2]<<2)>>2]=0.0;G=(c[m>>2]|0)+1|0;c[m>>2]=G}while((G|0)<(c[D>>2]|0));g[r>>2]=0.0;g[q>>2]=0.0;c[o>>2]=c[E>>2];if((c[E>>2]|0)>(c[D>>2]>>1|0)){c[m>>2]=0;do{g[p>>2]=+g[p>>2]+ +g[(c[C>>2]|0)+(c[m>>2]<<2)>>2];G=(c[m>>2]|0)+1|0;c[m>>2]=G}while((G|0)<(c[D>>2]|0));if(!(+g[p>>2]>1.0000000036274937e-15&+g[p>>2]<64.0)){g[c[C>>2]>>2]=1.0;c[m>>2]=1;do{g[(c[C>>2]|0)+(c[m>>2]<<2)>>2]=0.0;G=(c[m>>2]|0)+1|0;c[m>>2]=G}while((G|0)<(c[D>>2]|0));g[p>>2]=1.0}g[u>>2]=+((c[E>>2]|0)-1|0)*(1.0/+g[p>>2]);c[m>>2]=0;do{G=~~+z(+(+g[u>>2]*+g[(c[C>>2]|0)+(c[m>>2]<<2)>>2]));c[b+(c[m>>2]<<2)>>2]=G;g[a+(c[m>>2]<<2)>>2]=+(c[b+(c[m>>2]<<2)>>2]|0);g[r>>2]=+g[r>>2]+ +g[a+(c[m>>2]<<2)>>2]*+g[a+(c[m>>2]<<2)>>2];g[q>>2]=+g[q>>2]+ +g[(c[C>>2]|0)+(c[m>>2]<<2)>>2]*+g[a+(c[m>>2]<<2)>>2];G=a+(c[m>>2]<<2)|0;g[G>>2]=+g[G>>2]*2.0;c[o>>2]=(c[o>>2]|0)-(c[b+(c[m>>2]<<2)>>2]|0);G=(c[m>>2]|0)+1|0;c[m>>2]=G}while((G|0)<(c[D>>2]|0))}if((c[o>>2]|0)>((c[D>>2]|0)+3|0)){g[v>>2]=+(c[o>>2]|0);g[r>>2]=+g[r>>2]+ +g[v>>2]*+g[v>>2];g[r>>2]=+g[r>>2]+ +g[v>>2]*+g[a>>2];c[b>>2]=(c[b>>2]|0)+(c[o>>2]|0);c[o>>2]=0}g[n>>2]=1.0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[o>>2]|0))break;g[x>>2]=-999999986991104.0;g[y>>2]=0.0;c[w>>2]=0;g[r>>2]=+g[r>>2]+1.0;c[m>>2]=0;do{g[A>>2]=+g[q>>2]+ +g[(c[C>>2]|0)+(c[m>>2]<<2)>>2];g[B>>2]=+g[r>>2]+ +g[a+(c[m>>2]<<2)>>2];g[A>>2]=+g[A>>2]*+g[A>>2];if(+g[y>>2]*+g[A>>2]>+g[B>>2]*+g[x>>2]){g[y>>2]=+g[B>>2];g[x>>2]=+g[A>>2];c[w>>2]=c[m>>2]}G=(c[m>>2]|0)+1|0;c[m>>2]=G}while((G|0)<(c[D>>2]|0));g[q>>2]=+g[q>>2]+ +g[(c[C>>2]|0)+(c[w>>2]<<2)>>2];g[r>>2]=+g[r>>2]+ +g[a+(c[w>>2]<<2)>>2];G=a+(c[w>>2]<<2)|0;g[G>>2]=+g[G>>2]+ +g[n>>2]*2.0;G=b+(c[w>>2]<<2)|0;c[G>>2]=(c[G>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+1}c[m>>2]=0;do{g[(c[C>>2]|0)+(c[m>>2]<<2)>>2]=+g[d+(c[m>>2]<<2)>>2]*+g[(c[C>>2]|0)+(c[m>>2]<<2)>>2];if(+g[d+(c[m>>2]<<2)>>2]<0.0)c[b+(c[m>>2]<<2)>>2]=0-(c[b+(c[m>>2]<<2)>>2]|0);G=(c[m>>2]|0)+1|0;c[m>>2]=G}while((G|0)<(c[D>>2]|0));Cb(b,c[D>>2]|0,c[E>>2]|0,c[j>>2]|0);c[s>>2]=Zc(b,c[D>>2]|0,c[i>>2]|0)|0;G=c[s>>2]|0;_(c[t>>2]|0);l=F;return G|0}function Yc(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+64|0;s=w+48|0;t=w+44|0;u=w+40|0;v=w+36|0;i=w+32|0;j=w+28|0;k=w+24|0;m=w+20|0;n=w+16|0;o=w+12|0;p=w+8|0;q=w+4|0;r=w;c[s>>2]=a;c[t>>2]=b;c[u>>2]=d;c[v>>2]=e;c[i>>2]=f;c[j>>2]=h;c[q>>2]=0;if((c[j>>2]|0)==0?1:(c[i>>2]<<1|0)>=(c[t>>2]|0)){l=w;return}c[r>>2]=c[17596+((c[j>>2]|0)-1<<2)>>2];g[o>>2]=+(c[t>>2]|0)*1.0/+((c[t>>2]|0)+(N(c[r>>2]|0,c[i>>2]|0)|0)|0);g[p>>2]=+g[o>>2]*+g[o>>2]*.5;g[m>>2]=+D(+(+g[p>>2]*1.5707963705062866));g[n>>2]=+D(+((1.0-+g[p>>2])*1.5707963705062866));a:do if((c[t>>2]|0)>=(c[v>>2]<<3|0)){c[q>>2]=1;while(1){h=N(c[q>>2]|0,c[q>>2]|0)|0;h=N(h+(c[q>>2]|0)|0,c[v>>2]|0)|0;if((h+(c[v>>2]>>2)|0)>=(c[t>>2]|0))break a;c[q>>2]=(c[q>>2]|0)+1}}while(0);c[t>>2]=_c(c[t>>2]|0,c[v>>2]|0)|0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[v>>2]|0))break;if((c[u>>2]|0)>=0){h=(c[s>>2]|0)+((N(c[k>>2]|0,c[t>>2]|0)|0)<<2)|0;$c(h,c[t>>2]|0,1,+g[m>>2],-+g[n>>2]);if(c[q>>2]|0){h=(c[s>>2]|0)+((N(c[k>>2]|0,c[t>>2]|0)|0)<<2)|0;$c(h,c[t>>2]|0,c[q>>2]|0,+g[n>>2],-+g[m>>2])}}else{if(c[q>>2]|0){h=(c[s>>2]|0)+((N(c[k>>2]|0,c[t>>2]|0)|0)<<2)|0;$c(h,c[t>>2]|0,c[q>>2]|0,+g[n>>2],+g[m>>2])}h=(c[s>>2]|0)+((N(c[k>>2]|0,c[t>>2]|0)|0)<<2)|0;$c(h,c[t>>2]|0,1,+g[m>>2],+g[n>>2])}c[k>>2]=(c[k>>2]|0)+1}l=w;return}function Zc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;g=o+32|0;h=o+28|0;i=o+24|0;j=o+20|0;k=o+16|0;m=o+12|0;n=o+8|0;e=o+4|0;f=o;c[h>>2]=a;c[i>>2]=b;c[j>>2]=d;if((c[j>>2]|0)<=1){c[g>>2]=1;n=c[g>>2]|0;l=o;return n|0}c[m>>2]=_c(c[i>>2]|0,c[j>>2]|0)|0;c[k>>2]=0;c[n>>2]=0;do{c[f>>2]=0;c[e>>2]=0;do{i=N(c[n>>2]|0,c[m>>2]|0)|0;c[f>>2]=c[f>>2]|c[(c[h>>2]|0)+(i+(c[e>>2]|0)<<2)>>2];i=(c[e>>2]|0)+1|0;c[e>>2]=i}while((i|0)<(c[m>>2]|0));c[k>>2]=c[k>>2]|((c[f>>2]|0)!=0&1)<<c[n>>2];i=(c[n>>2]|0)+1|0;c[n>>2]=i}while((i|0)<(c[j>>2]|0));c[g>>2]=c[k>>2];n=c[g>>2]|0;l=o;return n|0}function _c(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)>>>0)/((c[d>>2]|0)>>>0)|0|0}function $c(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=+e;f=+f;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+48|0;p=u+44|0;q=u+40|0;r=u+36|0;s=u+32|0;t=u+28|0;h=u+24|0;i=u+20|0;j=u+16|0;k=u+12|0;m=u+8|0;n=u+4|0;o=u;c[p>>2]=a;c[q>>2]=b;c[r>>2]=d;g[s>>2]=e;g[t>>2]=f;c[j>>2]=c[p>>2];g[i>>2]=-+g[t>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>=((c[q>>2]|0)-(c[r>>2]|0)|0))break;g[k>>2]=+g[c[j>>2]>>2];g[m>>2]=+g[(c[j>>2]|0)+(c[r>>2]<<2)>>2];g[(c[j>>2]|0)+(c[r>>2]<<2)>>2]=+g[s>>2]*+g[m>>2]+ +g[t>>2]*+g[k>>2];f=+g[s>>2]*+g[k>>2]+ +g[i>>2]*+g[m>>2];d=c[j>>2]|0;c[j>>2]=d+4;g[d>>2]=f;c[h>>2]=(c[h>>2]|0)+1}c[j>>2]=(c[p>>2]|0)+((c[q>>2]|0)-(c[r>>2]<<1)-1<<2);c[h>>2]=(c[q>>2]|0)-(c[r>>2]<<1)-1;while(1){if((c[h>>2]|0)<0)break;g[n>>2]=+g[c[j>>2]>>2];g[o>>2]=+g[(c[j>>2]|0)+(c[r>>2]<<2)>>2];g[(c[j>>2]|0)+(c[r>>2]<<2)>>2]=+g[s>>2]*+g[o>>2]+ +g[t>>2]*+g[n>>2];f=+g[s>>2]*+g[n>>2]+ +g[i>>2]*+g[o>>2];q=c[j>>2]|0;c[j>>2]=q+-4;g[q>>2]=f;c[h>>2]=(c[h>>2]|0)+-1}l=u;return}function ad(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=+i;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;j=l;l=l+48|0;r=j+36|0;o=j+32|0;q=j+28|0;p=j+24|0;n=j+20|0;u=j+16|0;s=j+12|0;t=j+8|0;m=j+4|0;k=j;c[r>>2]=a;c[o>>2]=b;c[q>>2]=d;c[p>>2]=e;c[n>>2]=f;c[u>>2]=h;g[s>>2]=i;f=c[o>>2]|0;c[k>>2]=$()|0;h=l;l=l+((1*(f<<2)|0)+15&-16)|0;g[t>>2]=+Eb(h,c[o>>2]|0,c[q>>2]|0,c[u>>2]|0);bd(h,c[r>>2]|0,c[o>>2]|0,+g[t>>2],+g[s>>2]);Yc(c[r>>2]|0,c[o>>2]|0,-1,c[n>>2]|0,c[q>>2]|0,c[p>>2]|0);c[m>>2]=Zc(h,c[o>>2]|0,c[n>>2]|0)|0;h=c[m>>2]|0;_(c[k>>2]|0);l=j;return h|0}function bd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=+e;f=+f;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;n=l;l=l+32|0;j=n+28|0;k=n+24|0;m=n+20|0;q=n+16|0;o=n+12|0;h=n+8|0;p=n+4|0;i=n;c[j>>2]=a;c[k>>2]=b;c[m>>2]=d;g[q>>2]=e;g[o>>2]=f;g[p>>2]=+g[q>>2];f=1.0/+B(+(+g[p>>2]));g[i>>2]=f*+g[o>>2];c[h>>2]=0;do{g[(c[k>>2]|0)+(c[h>>2]<<2)>>2]=+g[i>>2]*+(c[(c[j>>2]|0)+(c[h>>2]<<2)>>2]|0);q=(c[h>>2]|0)+1|0;c[h>>2]=q}while((q|0)<(c[m>>2]|0));l=n;return}function cd(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;k=l;l=l+48|0;m=k+32|0;i=k+28|0;n=k+24|0;j=k+16|0;p=k+12|0;f=k+8|0;o=k+4|0;h=k;c[m>>2]=a;c[i>>2]=b;g[n>>2]=d;c[k+20>>2]=e;g[p>>2]=+dd(c[m>>2]|0,c[m>>2]|0,c[i>>2]|0)+1.0000000036274937e-15;g[o>>2]=+g[p>>2];d=1.0/+B(+(+g[o>>2]));g[f>>2]=d*+g[n>>2];c[h>>2]=c[m>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[i>>2]|0))break;g[c[h>>2]>>2]=+g[f>>2]*+g[c[h>>2]>>2];c[h>>2]=(c[h>>2]|0)+4;c[j>>2]=(c[j>>2]|0)+1}l=k;return}function dd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[h>>2]=b;c[i>>2]=d;g[k>>2]=0.0;c[j>>2]=0;while(1){e=+g[k>>2];if((c[j>>2]|0)>=(c[i>>2]|0))break;g[k>>2]=e+ +g[(c[f>>2]|0)+(c[j>>2]<<2)>>2]*+g[(c[h>>2]|0)+(c[j>>2]<<2)>>2];c[j>>2]=(c[j>>2]|0)+1}l=m;return +e}function ed(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0;t=l;l=l+64|0;q=t+48|0;r=t+44|0;u=t+40|0;s=t+36|0;h=t+28|0;i=t+24|0;j=t+20|0;k=t+16|0;m=t+12|0;n=t+8|0;o=t+4|0;p=t;c[q>>2]=a;c[r>>2]=b;c[u>>2]=d;c[s>>2]=e;c[t+32>>2]=f;g[n>>2]=1.0000000036274937e-15;g[m>>2]=1.0000000036274937e-15;a:do if(c[u>>2]|0){c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[s>>2]|0))break a;g[o>>2]=+g[(c[q>>2]|0)+(c[h>>2]<<2)>>2]+ +g[(c[r>>2]|0)+(c[h>>2]<<2)>>2];g[p>>2]=+g[(c[q>>2]|0)+(c[h>>2]<<2)>>2]-+g[(c[r>>2]|0)+(c[h>>2]<<2)>>2];g[m>>2]=+g[m>>2]+ +g[o>>2]*+g[o>>2];g[n>>2]=+g[n>>2]+ +g[p>>2]*+g[p>>2];c[h>>2]=(c[h>>2]|0)+1}}else{v=+dd(c[q>>2]|0,c[q>>2]|0,c[s>>2]|0);g[m>>2]=+g[m>>2]+v;v=+dd(c[r>>2]|0,c[r>>2]|0,c[s>>2]|0);g[n>>2]=+g[n>>2]+v}while(0);g[j>>2]=+B(+(+g[m>>2]));g[k>>2]=+B(+(+g[n>>2]));c[i>>2]=~~+z(+(+J(+(+g[k>>2]),+(+g[j>>2]))*10430.3818359375+.5));l=t;return c[i>>2]|0}function fd(a){a=a|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[f>>2]=32767/((c[(c[d>>2]|0)+2340>>2]|0)+1|0)|0;c[g>>2]=0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+2340>>2]|0))break;c[g>>2]=(c[g>>2]|0)+(c[f>>2]|0);b[(c[d>>2]|0)+2772+1280+(c[e>>2]<<1)>>1]=c[g>>2];c[e>>2]=(c[e>>2]|0)+1}c[(c[d>>2]|0)+2772+1376>>2]=0;c[(c[d>>2]|0)+2772+1380>>2]=3176576;l=h;return}
function Nf(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;p=t+40|0;q=t+36|0;r=t+32|0;s=t+28|0;k=t+24|0;m=t+20|0;n=t+16|0;f=t+44|0;g=t+12|0;h=t+8|0;i=t+4|0;j=t;c[p>>2]=a;c[q>>2]=d;c[r>>2]=e;c[k>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=20)break;c[h>>2]=(b[c[p>>2]>>1]|0)-(b[c[q>>2]>>1]|0);c[k>>2]=0;c[s>>2]=1;while(1){a=c[p>>2]|0;if((c[s>>2]|0)>((c[r>>2]|0)-1|0))break;c[g>>2]=(b[a+(c[s>>2]<<1)>>1]|0)-((b[(c[p>>2]|0)+((c[s>>2]|0)-1<<1)>>1]|0)+(b[(c[q>>2]|0)+(c[s>>2]<<1)>>1]|0));if((c[g>>2]|0)<(c[h>>2]|0)){c[h>>2]=c[g>>2];c[k>>2]=c[s>>2]}c[s>>2]=(c[s>>2]|0)+1}c[g>>2]=32768-((b[a+((c[r>>2]|0)-1<<1)>>1]|0)+(b[(c[q>>2]|0)+(c[r>>2]<<1)>>1]|0));if((c[g>>2]|0)<(c[h>>2]|0)){c[h>>2]=c[g>>2];c[k>>2]=c[r>>2]}if((c[h>>2]|0)>=0){o=42;break}if(!(c[k>>2]|0))b[c[p>>2]>>1]=b[c[q>>2]>>1]|0;else{if((c[k>>2]|0)==(c[r>>2]|0)){a=32768-(b[(c[q>>2]|0)+(c[r>>2]<<1)>>1]|0)&65535;d=(c[p>>2]|0)+((c[r>>2]|0)-1<<1)|0}else{c[i>>2]=0;c[m>>2]=0;while(1){a=c[q>>2]|0;if((c[m>>2]|0)>=(c[k>>2]|0))break;c[i>>2]=(c[i>>2]|0)+(b[a+(c[m>>2]<<1)>>1]|0);c[m>>2]=(c[m>>2]|0)+1}c[i>>2]=(c[i>>2]|0)+(b[a+(c[k>>2]<<1)>>1]>>1);c[j>>2]=32768;c[m>>2]=c[r>>2];while(1){a=c[q>>2]|0;if((c[m>>2]|0)<=(c[k>>2]|0))break;c[j>>2]=(c[j>>2]|0)-(b[a+(c[m>>2]<<1)>>1]|0);c[m>>2]=(c[m>>2]|0)+-1}c[j>>2]=(c[j>>2]|0)-(b[a+(c[k>>2]<<1)>>1]>>1);a=((b[(c[p>>2]|0)+((c[k>>2]|0)-1<<1)>>1]|0)+(b[(c[p>>2]|0)+(c[k>>2]<<1)>>1]|0)>>1)+((b[(c[p>>2]|0)+((c[k>>2]|0)-1<<1)>>1]|0)+(b[(c[p>>2]|0)+(c[k>>2]<<1)>>1]|0)&1)|0;do if((c[i>>2]|0)>(c[j>>2]|0)){if((a|0)>(c[i>>2]|0)){a=c[i>>2]|0;break}if((((b[(c[p>>2]|0)+((c[k>>2]|0)-1<<1)>>1]|0)+(b[(c[p>>2]|0)+(c[k>>2]<<1)>>1]|0)>>1)+((b[(c[p>>2]|0)+((c[k>>2]|0)-1<<1)>>1]|0)+(b[(c[p>>2]|0)+(c[k>>2]<<1)>>1]|0)&1)|0)<(c[j>>2]|0)){a=c[j>>2]|0;break}else{a=((b[(c[p>>2]|0)+((c[k>>2]|0)-1<<1)>>1]|0)+(b[(c[p>>2]|0)+(c[k>>2]<<1)>>1]|0)>>1)+((b[(c[p>>2]|0)+((c[k>>2]|0)-1<<1)>>1]|0)+(b[(c[p>>2]|0)+(c[k>>2]<<1)>>1]|0)&1)|0;break}}else{if((a|0)>(c[j>>2]|0)){a=c[j>>2]|0;break}if((((b[(c[p>>2]|0)+((c[k>>2]|0)-1<<1)>>1]|0)+(b[(c[p>>2]|0)+(c[k>>2]<<1)>>1]|0)>>1)+((b[(c[p>>2]|0)+((c[k>>2]|0)-1<<1)>>1]|0)+(b[(c[p>>2]|0)+(c[k>>2]<<1)>>1]|0)&1)|0)<(c[i>>2]|0)){a=c[i>>2]|0;break}else{a=((b[(c[p>>2]|0)+((c[k>>2]|0)-1<<1)>>1]|0)+(b[(c[p>>2]|0)+(c[k>>2]<<1)>>1]|0)>>1)+((b[(c[p>>2]|0)+((c[k>>2]|0)-1<<1)>>1]|0)+(b[(c[p>>2]|0)+(c[k>>2]<<1)>>1]|0)&1)|0;break}}while(0);b[f>>1]=a;b[(c[p>>2]|0)+((c[k>>2]|0)-1<<1)>>1]=(b[f>>1]|0)-(b[(c[q>>2]|0)+(c[k>>2]<<1)>>1]>>1);a=(b[(c[p>>2]|0)+((c[k>>2]|0)-1<<1)>>1]|0)+(b[(c[q>>2]|0)+(c[k>>2]<<1)>>1]|0)&65535;d=(c[p>>2]|0)+(c[k>>2]<<1)|0}b[d>>1]=a}c[n>>2]=(c[n>>2]|0)+1}if((o|0)==42){l=t;return}if((c[n>>2]|0)!=20){l=t;return}eg(c[p>>2]|0,c[r>>2]|0);o=(Of(b[c[p>>2]>>1]|0,b[c[q>>2]>>1]|0)|0)&65535;b[c[p>>2]>>1]=o;c[s>>2]=1;while(1){a=c[p>>2]|0;if((c[s>>2]|0)>=(c[r>>2]|0))break;o=(Of(b[a+(c[s>>2]<<1)>>1]|0,(b[(c[p>>2]|0)+((c[s>>2]|0)-1<<1)>>1]|0)+(b[(c[q>>2]|0)+(c[s>>2]<<1)>>1]|0)|0)|0)&65535;b[(c[p>>2]|0)+(c[s>>2]<<1)>>1]=o;c[s>>2]=(c[s>>2]|0)+1}o=(Pf(b[a+((c[r>>2]|0)-1<<1)>>1]|0,32768-(b[(c[q>>2]|0)+(c[r>>2]<<1)>>1]|0)|0)|0)&65535;b[(c[p>>2]|0)+((c[r>>2]|0)-1<<1)>>1]=o;c[s>>2]=(c[r>>2]|0)-2;while(1){if((c[s>>2]|0)<0)break;r=(Pf(b[(c[p>>2]|0)+(c[s>>2]<<1)>>1]|0,(b[(c[p>>2]|0)+((c[s>>2]|0)+1<<1)>>1]|0)-(b[(c[q>>2]|0)+((c[s>>2]|0)+1<<1)>>1]|0)|0)|0)&65535;b[(c[p>>2]|0)+(c[s>>2]<<1)>>1]=r;c[s>>2]=(c[s>>2]|0)+-1}l=t;return}function Of(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)>(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function Pf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)<(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function Qf(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;c[j>>2]=Rf(b[c[g>>2]>>1]|0,1)|0;c[j>>2]=131072/(c[j>>2]|0)|0;c[k>>2]=Rf((b[(c[g>>2]|0)+2>>1]|0)-(b[c[g>>2]>>1]|0)|0,1)|0;c[k>>2]=131072/(c[k>>2]|0)|0;e=(Sf((c[j>>2]|0)+(c[k>>2]|0)|0,32767)|0)&65535;b[c[f>>2]>>1]=e;c[i>>2]=1;while(1){a=c[g>>2]|0;if((c[i>>2]|0)>=((c[h>>2]|0)-1|0))break;c[j>>2]=Rf((b[a+((c[i>>2]|0)+1<<1)>>1]|0)-(b[(c[g>>2]|0)+(c[i>>2]<<1)>>1]|0)|0,1)|0;c[j>>2]=131072/(c[j>>2]|0)|0;e=(Sf((c[j>>2]|0)+(c[k>>2]|0)|0,32767)|0)&65535;b[(c[f>>2]|0)+(c[i>>2]<<1)>>1]=e;c[k>>2]=Rf((b[(c[g>>2]|0)+((c[i>>2]|0)+2<<1)>>1]|0)-(b[(c[g>>2]|0)+((c[i>>2]|0)+1<<1)>>1]|0)|0,1)|0;c[k>>2]=131072/(c[k>>2]|0)|0;e=(Sf((c[j>>2]|0)+(c[k>>2]|0)|0,32767)|0)&65535;b[(c[f>>2]|0)+((c[i>>2]|0)+1<<1)>>1]=e;c[i>>2]=(c[i>>2]|0)+2}c[j>>2]=Rf(32768-(b[a+((c[h>>2]|0)-1<<1)>>1]|0)|0,1)|0;c[j>>2]=131072/(c[j>>2]|0)|0;k=(Sf((c[j>>2]|0)+(c[k>>2]|0)|0,32767)|0)&65535;b[(c[f>>2]|0)+((c[h>>2]|0)-1<<1)>>1]=k;l=m;return}function Rf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)>(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function Sf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)<(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function Tf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;g=m+20|0;h=m+16|0;i=m+12|0;j=m+8|0;n=m+4|0;k=m;c[h>>2]=b;c[i>>2]=d;c[j>>2]=e;c[n>>2]=f;aj(c[h>>2]|0,0,300)|0;b=(c[i>>2]|0)!=8e3&(c[i>>2]|0)!=12e3&(c[i>>2]|0)!=16e3;do if(c[n>>2]|0){if(!(b&(c[i>>2]|0)!=24e3&(c[i>>2]|0)!=48e3)?!((c[j>>2]|0)!=8e3&(c[j>>2]|0)!=12e3&(c[j>>2]|0)!=16e3):0){b=a[30489+((((c[i>>2]>>12)-((c[i>>2]|0)>16e3&1)>>((c[i>>2]|0)>24e3&1))-1|0)*3|0)+(((c[j>>2]>>12)-((c[j>>2]|0)>16e3&1)>>((c[j>>2]|0)>24e3&1))-1)>>0]|0;d=c[h>>2]|0;break}c[g>>2]=-1;n=c[g>>2]|0;l=m;return n|0}else{if(!b?!((c[j>>2]|0)!=8e3&(c[j>>2]|0)!=12e3&(c[j>>2]|0)!=16e3&(c[j>>2]|0)!=24e3&(c[j>>2]|0)!=48e3):0){b=a[30504+((((c[i>>2]>>12)-((c[i>>2]|0)>16e3&1)>>((c[i>>2]|0)>24e3&1))-1|0)*5|0)+(((c[j>>2]>>12)-((c[j>>2]|0)>16e3&1)>>((c[j>>2]|0)>24e3&1))-1)>>0]|0;d=c[h>>2]|0;break}c[g>>2]=-1;n=c[g>>2]|0;l=m;return n|0}while(0);c[d+292>>2]=b;c[(c[h>>2]|0)+284>>2]=(c[i>>2]|0)/1e3|0;c[(c[h>>2]|0)+288>>2]=(c[j>>2]|0)/1e3|0;c[(c[h>>2]|0)+268>>2]=(c[(c[h>>2]|0)+284>>2]|0)*10;c[k>>2]=0;d=c[j>>2]|0;e=c[i>>2]|0;do if((c[j>>2]|0)>(c[i>>2]|0)){b=(c[h>>2]|0)+264|0;if((d|0)==(e<<1|0)){c[b>>2]=1;break}else{c[b>>2]=2;c[k>>2]=1;break}}else{b=(c[h>>2]|0)+264|0;if((d|0)>=(e|0)){c[b>>2]=0;break}c[b>>2]=3;if((c[j>>2]<<2|0)==((c[i>>2]|0)*3|0)){c[(c[h>>2]|0)+280>>2]=3;c[(c[h>>2]|0)+276>>2]=18;c[(c[h>>2]|0)+296>>2]=24842;break}if(((c[j>>2]|0)*3|0)==(c[i>>2]<<1|0)){c[(c[h>>2]|0)+280>>2]=2;c[(c[h>>2]|0)+276>>2]=18;c[(c[h>>2]|0)+296>>2]=24900;break}if((c[j>>2]<<1|0)==(c[i>>2]|0)){c[(c[h>>2]|0)+280>>2]=1;c[(c[h>>2]|0)+276>>2]=24;c[(c[h>>2]|0)+296>>2]=24940;break}if(((c[j>>2]|0)*3|0)==(c[i>>2]|0)){c[(c[h>>2]|0)+280>>2]=1;c[(c[h>>2]|0)+276>>2]=36;c[(c[h>>2]|0)+296>>2]=24968;break}if((c[j>>2]<<2|0)==(c[i>>2]|0)){c[(c[h>>2]|0)+280>>2]=1;c[(c[h>>2]|0)+276>>2]=36;c[(c[h>>2]|0)+296>>2]=25008;break}if(((c[j>>2]|0)*6|0)==(c[i>>2]|0)){c[(c[h>>2]|0)+280>>2]=1;c[(c[h>>2]|0)+276>>2]=36;c[(c[h>>2]|0)+296>>2]=25048;break}c[g>>2]=-1;n=c[g>>2]|0;l=m;return n|0}while(0);c[(c[h>>2]|0)+272>>2]=((c[i>>2]<<14+(c[k>>2]|0)|0)/(c[j>>2]|0)|0)<<2;while(1){n=N(c[(c[h>>2]|0)+272>>2]>>16,(c[j>>2]&65535)<<16>>16)|0;n=n+((N(c[(c[h>>2]|0)+272>>2]&65535,(c[j>>2]&65535)<<16>>16)|0)>>16)|0;n=n+(N(c[(c[h>>2]|0)+272>>2]|0,(c[j>>2]>>15)+1>>1)|0)|0;if((n|0)>=(c[i>>2]<<c[k>>2]|0))break;n=(c[h>>2]|0)+272|0;c[n>>2]=(c[n>>2]|0)+1}c[g>>2]=0;n=c[g>>2]|0;l=m;return n|0}function Uf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;c[j>>2]=(c[(c[f>>2]|0)+284>>2]|0)-(c[(c[f>>2]|0)+292>>2]|0);_i((c[f>>2]|0)+168+(c[(c[f>>2]|0)+292>>2]<<1)|0,c[h>>2]|0,c[j>>2]<<1|0)|0;switch(c[(c[f>>2]|0)+264>>2]|0){case 1:{bg(c[f>>2]|0,c[g>>2]|0,(c[f>>2]|0)+168|0,c[(c[f>>2]|0)+284>>2]|0);bg(c[f>>2]|0,(c[g>>2]|0)+(c[(c[f>>2]|0)+288>>2]<<1)|0,(c[h>>2]|0)+(c[j>>2]<<1)|0,(c[i>>2]|0)-(c[(c[f>>2]|0)+284>>2]|0)|0);break}case 2:{_f(c[f>>2]|0,c[g>>2]|0,(c[f>>2]|0)+168|0,c[(c[f>>2]|0)+284>>2]|0);_f(c[f>>2]|0,(c[g>>2]|0)+(c[(c[f>>2]|0)+288>>2]<<1)|0,(c[h>>2]|0)+(c[j>>2]<<1)|0,(c[i>>2]|0)-(c[(c[f>>2]|0)+284>>2]|0)|0);break}case 3:{Yf(c[f>>2]|0,c[g>>2]|0,(c[f>>2]|0)+168|0,c[(c[f>>2]|0)+284>>2]|0);Yf(c[f>>2]|0,(c[g>>2]|0)+(c[(c[f>>2]|0)+288>>2]<<1)|0,(c[h>>2]|0)+(c[j>>2]<<1)|0,(c[i>>2]|0)-(c[(c[f>>2]|0)+284>>2]|0)|0);break}default:{_i(c[g>>2]|0,(c[f>>2]|0)+168|0,c[(c[f>>2]|0)+284>>2]<<1|0)|0;_i((c[g>>2]|0)+(c[(c[f>>2]|0)+288>>2]<<1)|0,(c[h>>2]|0)+(c[j>>2]<<1)|0,(c[i>>2]|0)-(c[(c[f>>2]|0)+284>>2]|0)<<1|0)|0}}_i((c[f>>2]|0)+168|0,(c[h>>2]|0)+((c[i>>2]|0)-(c[(c[f>>2]|0)+292>>2]|0)<<1)|0,c[(c[f>>2]|0)+292>>2]<<1|0)|0;l=k;return 0}function Vf(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+1968|0;j=q+1964|0;k=q+1960|0;m=q+1956|0;n=q+1952|0;o=q+1948|0;p=q+1944|0;g=q+1940|0;h=q+1936|0;i=q;c[j>>2]=a;c[k>>2]=d;c[m>>2]=e;c[n>>2]=f;f=c[j>>2]|0;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];while(1){c[o>>2]=(c[n>>2]|0)<480?c[n>>2]|0:480;Xf((c[j>>2]|0)+16|0,i+16|0,c[m>>2]|0,25088,c[o>>2]|0);c[h>>2]=i;c[p>>2]=c[o>>2];while(1){if((c[p>>2]|0)<=2)break;f=N(c[c[h>>2]>>2]>>16,b[12546]|0)|0;c[g>>2]=f+((N(c[c[h>>2]>>2]&65535,b[12546]|0)|0)>>16);f=N(c[(c[h>>2]|0)+4>>2]>>16,b[12547]|0)|0;c[g>>2]=(c[g>>2]|0)+(f+((N(c[(c[h>>2]|0)+4>>2]&65535,b[12547]|0)|0)>>16));f=N(c[(c[h>>2]|0)+8>>2]>>16,b[12549]|0)|0;c[g>>2]=(c[g>>2]|0)+(f+((N(c[(c[h>>2]|0)+8>>2]&65535,b[12549]|0)|0)>>16));f=N(c[(c[h>>2]|0)+12>>2]>>16,b[12548]|0)|0;c[g>>2]=(c[g>>2]|0)+(f+((N(c[(c[h>>2]|0)+12>>2]&65535,b[12548]|0)|0)>>16));if(((c[g>>2]>>5)+1>>1|0)<=32767)if(((c[g>>2]>>5)+1>>1|0)<-32768)a=-32768;else a=(c[g>>2]>>5)+1>>1;else a=32767;f=c[k>>2]|0;c[k>>2]=f+2;b[f>>1]=a;f=N(c[(c[h>>2]|0)+4>>2]>>16,b[12548]|0)|0;c[g>>2]=f+((N(c[(c[h>>2]|0)+4>>2]&65535,b[12548]|0)|0)>>16);f=N(c[(c[h>>2]|0)+8>>2]>>16,b[12549]|0)|0;c[g>>2]=(c[g>>2]|0)+(f+((N(c[(c[h>>2]|0)+8>>2]&65535,b[12549]|0)|0)>>16));f=N(c[(c[h>>2]|0)+12>>2]>>16,b[12547]|0)|0;c[g>>2]=(c[g>>2]|0)+(f+((N(c[(c[h>>2]|0)+12>>2]&65535,b[12547]|0)|0)>>16));f=N(c[(c[h>>2]|0)+16>>2]>>16,b[12546]|0)|0;c[g>>2]=(c[g>>2]|0)+(f+((N(c[(c[h>>2]|0)+16>>2]&65535,b[12546]|0)|0)>>16));if(((c[g>>2]>>5)+1>>1|0)<=32767)if(((c[g>>2]>>5)+1>>1|0)<-32768)a=-32768;else a=(c[g>>2]>>5)+1>>1;else a=32767;f=c[k>>2]|0;c[k>>2]=f+2;b[f>>1]=a;c[h>>2]=(c[h>>2]|0)+12;c[p>>2]=(c[p>>2]|0)-3}c[m>>2]=(c[m>>2]|0)+(c[o>>2]<<1);c[n>>2]=(c[n>>2]|0)-(c[o>>2]|0);if((c[n>>2]|0)<=0)break;f=i+(c[o>>2]<<2)|0;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2]}p=c[j>>2]|0;o=i+(c[o>>2]<<2)|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];l=q;return}function Wf(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+48|0;k=q+36|0;m=q+32|0;n=q+28|0;r=q+24|0;o=q+20|0;p=q+16|0;g=q+12|0;h=q+8|0;i=q+4|0;j=q;c[k>>2]=a;c[m>>2]=d;c[n>>2]=e;c[r>>2]=f;c[p>>2]=c[r>>2]>>1;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[p>>2]|0))break;c[g>>2]=b[(c[n>>2]|0)+(c[o>>2]<<1<<1)>>1]<<10;c[i>>2]=(c[g>>2]|0)-(c[c[k>>2]>>2]|0);r=N(c[i>>2]>>16,-25727)|0;c[j>>2]=(c[i>>2]|0)+(r+((N(c[i>>2]&65535,-25727)|0)>>16));c[h>>2]=(c[c[k>>2]>>2]|0)+(c[j>>2]|0);c[c[k>>2]>>2]=(c[g>>2]|0)+(c[j>>2]|0);c[g>>2]=b[(c[n>>2]|0)+((c[o>>2]<<1)+1<<1)>>1]<<10;c[i>>2]=(c[g>>2]|0)-(c[(c[k>>2]|0)+4>>2]|0);c[j>>2]=((c[i>>2]>>16)*9872|0)+((c[i>>2]&65535)*9872>>16);c[h>>2]=(c[h>>2]|0)+(c[(c[k>>2]|0)+4>>2]|0);c[h>>2]=(c[h>>2]|0)+(c[j>>2]|0);c[(c[k>>2]|0)+4>>2]=(c[g>>2]|0)+(c[j>>2]|0);if(((c[h>>2]>>10)+1>>1|0)<=32767)if(((c[h>>2]>>10)+1>>1|0)<-32768)a=-32768;else a=(c[h>>2]>>10)+1>>1;else a=32767;b[(c[m>>2]|0)+(c[o>>2]<<1)>>1]=a;c[o>>2]=(c[o>>2]|0)+1}l=q;return}function Xf(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;j=p+24|0;k=p+20|0;m=p+16|0;n=p+12|0;o=p+8|0;h=p+4|0;i=p;c[j>>2]=a;c[k>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[o>>2]|0))break;c[i>>2]=(c[c[j>>2]>>2]|0)+(b[(c[m>>2]|0)+(c[h>>2]<<1)>>1]<<8);c[(c[k>>2]|0)+(c[h>>2]<<2)>>2]=c[i>>2];c[i>>2]=c[i>>2]<<2;g=N(c[i>>2]>>16,b[c[n>>2]>>1]|0)|0;g=(c[(c[j>>2]|0)+4>>2]|0)+(g+((N(c[i>>2]&65535,b[c[n>>2]>>1]|0)|0)>>16))|0;c[c[j>>2]>>2]=g;g=N(c[i>>2]>>16,b[(c[n>>2]|0)+2>>1]|0)|0;g=g+((N(c[i>>2]&65535,b[(c[n>>2]|0)+2>>1]|0)|0)>>16)|0;c[(c[j>>2]|0)+4>>2]=g;c[h>>2]=(c[h>>2]|0)+1}l=p;return}function Yf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+48|0;q=p+36|0;j=p+32|0;k=p+28|0;m=p+24|0;n=p+20|0;o=p+16|0;f=p+12|0;g=p+8|0;h=p+4|0;i=p;c[q>>2]=a;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e;c[n>>2]=c[q>>2];e=(c[(c[n>>2]|0)+268>>2]|0)+(c[(c[n>>2]|0)+276>>2]|0)|0;c[i>>2]=$()|0;a=l;l=l+((1*(e<<2)|0)+15&-16)|0;_i(a|0,(c[n>>2]|0)+24|0,c[(c[n>>2]|0)+276>>2]<<2|0)|0;c[h>>2]=(c[(c[n>>2]|0)+296>>2]|0)+4;c[g>>2]=c[(c[n>>2]|0)+272>>2];while(1){if((c[m>>2]|0)<(c[(c[n>>2]|0)+268>>2]|0))b=c[m>>2]|0;else b=c[(c[n>>2]|0)+268>>2]|0;c[o>>2]=b;Xf(c[n>>2]|0,a+(c[(c[n>>2]|0)+276>>2]<<2)|0,c[k>>2]|0,c[(c[n>>2]|0)+296>>2]|0,c[o>>2]|0);c[f>>2]=c[o>>2]<<16;c[j>>2]=Zf(c[j>>2]|0,a,c[h>>2]|0,c[(c[n>>2]|0)+276>>2]|0,c[(c[n>>2]|0)+280>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;c[k>>2]=(c[k>>2]|0)+(c[o>>2]<<1);c[m>>2]=(c[m>>2]|0)-(c[o>>2]|0);if((c[m>>2]|0)<=1)break;_i(a|0,a+(c[o>>2]<<2)|0,c[(c[n>>2]|0)+276>>2]<<2|0)|0}_i((c[n>>2]|0)+24|0,a+(c[o>>2]<<2)|0,c[(c[n>>2]|0)+276>>2]<<2|0)|0;_(c[i>>2]|0);l=p;return}function Zf(a,d,e,f,g,h,i){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=l;l=l+48|0;s=v+44|0;t=v+40|0;u=v+36|0;w=v+32|0;j=v+28|0;n=v+24|0;o=v+20|0;p=v+16|0;q=v+12|0;r=v+8|0;k=v+4|0;m=v;c[s>>2]=a;c[t>>2]=d;c[u>>2]=e;c[w>>2]=f;c[j>>2]=g;c[n>>2]=h;c[o>>2]=i;switch(c[w>>2]|0){case 18:{c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[n>>2]|0))break;c[r>>2]=(c[t>>2]|0)+(c[p>>2]>>16<<2);w=N((c[p>>2]&65535)>>16,(c[j>>2]&65535)<<16>>16)|0;c[k>>2]=w+((N(c[p>>2]&65535,(c[j>>2]&65535)<<16>>16)|0)>>16);c[m>>2]=(c[u>>2]|0)+((c[k>>2]|0)*9<<1);w=N(c[c[r>>2]>>2]>>16,b[c[m>>2]>>1]|0)|0;c[q>>2]=w+((N(c[c[r>>2]>>2]&65535,b[c[m>>2]>>1]|0)|0)>>16);w=N(c[(c[r>>2]|0)+4>>2]>>16,b[(c[m>>2]|0)+2>>1]|0)|0;c[q>>2]=(c[q>>2]|0)+(w+((N(c[(c[r>>2]|0)+4>>2]&65535,b[(c[m>>2]|0)+2>>1]|0)|0)>>16));w=N(c[(c[r>>2]|0)+8>>2]>>16,b[(c[m>>2]|0)+4>>1]|0)|0;c[q>>2]=(c[q>>2]|0)+(w+((N(c[(c[r>>2]|0)+8>>2]&65535,b[(c[m>>2]|0)+4>>1]|0)|0)>>16));w=N(c[(c[r>>2]|0)+12>>2]>>16,b[(c[m>>2]|0)+6>>1]|0)|0;c[q>>2]=(c[q>>2]|0)+(w+((N(c[(c[r>>2]|0)+12>>2]&65535,b[(c[m>>2]|0)+6>>1]|0)|0)>>16));w=N(c[(c[r>>2]|0)+16>>2]>>16,b[(c[m>>2]|0)+8>>1]|0)|0;c[q>>2]=(c[q>>2]|0)+(w+((N(c[(c[r>>2]|0)+16>>2]&65535,b[(c[m>>2]|0)+8>>1]|0)|0)>>16));w=N(c[(c[r>>2]|0)+20>>2]>>16,b[(c[m>>2]|0)+10>>1]|0)|0;c[q>>2]=(c[q>>2]|0)+(w+((N(c[(c[r>>2]|0)+20>>2]&65535,b[(c[m>>2]|0)+10>>1]|0)|0)>>16));w=N(c[(c[r>>2]|0)+24>>2]>>16,b[(c[m>>2]|0)+12>>1]|0)|0;c[q>>2]=(c[q>>2]|0)+(w+((N(c[(c[r>>2]|0)+24>>2]&65535,b[(c[m>>2]|0)+12>>1]|0)|0)>>16));w=N(c[(c[r>>2]|0)+28>>2]>>16,b[(c[m>>2]|0)+14>>1]|0)|0;c[q>>2]=(c[q>>2]|0)+(w+((N(c[(c[r>>2]|0)+28>>2]&65535,b[(c[m>>2]|0)+14>>1]|0)|0)>>16));w=N(c[(c[r>>2]|0)+32>>2]>>16,b[(c[m>>2]|0)+16>>1]|0)|0;c[q>>2]=(c[q>>2]|0)+(w+((N(c[(c[r>>2]|0)+32>>2]&65535,b[(c[m>>2]|0)+16>>1]|0)|0)>>16));c[m>>2]=(c[u>>2]|0)+(((c[j>>2]|0)-1-(c[k>>2]|0)|0)*9<<1);w=N(c[(c[r>>2]|0)+68>>2]>>16,b[c[m>>2]>>1]|0)|0;c[q>>2]=(c[q>>2]|0)+(w+((N(c[(c[r>>2]|0)+68>>2]&65535,b[c[m>>2]>>1]|0)|0)>>16));w=N(c[(c[r>>2]|0)+64>>2]>>16,b[(c[m>>2]|0)+2>>1]|0)|0;c[q>>2]=(c[q>>2]|0)+(w+((N(c[(c[r>>2]|0)+64>>2]&65535,b[(c[m>>2]|0)+2>>1]|0)|0)>>16));w=N(c[(c[r>>2]|0)+60>>2]>>16,b[(c[m>>2]|0)+4>>1]|0)|0;c[q>>2]=(c[q>>2]|0)+(w+((N(c[(c[r>>2]|0)+60>>2]&65535,b[(c[m>>2]|0)+4>>1]|0)|0)>>16));w=N(c[(c[r>>2]|0)+56>>2]>>16,b[(c[m>>2]|0)+6>>1]|0)|0;c[q>>2]=(c[q>>2]|0)+(w+((N(c[(c[r>>2]|0)+56>>2]&65535,b[(c[m>>2]|0)+6>>1]|0)|0)>>16));w=N(c[(c[r>>2]|0)+52>>2]>>16,b[(c[m>>2]|0)+8>>1]|0)|0;c[q>>2]=(c[q>>2]|0)+(w+((N(c[(c[r>>2]|0)+52>>2]&65535,b[(c[m>>2]|0)+8>>1]|0)|0)>>16));w=N(c[(c[r>>2]|0)+48>>2]>>16,b[(c[m>>2]|0)+10>>1]|0)|0;c[q>>2]=(c[q>>2]|0)+(w+((N(c[(c[r>>2]|0)+48>>2]&65535,b[(c[m>>2]|0)+10>>1]|0)|0)>>16));w=N(c[(c[r>>2]|0)+44>>2]>>16,b[(c[m>>2]|0)+12>>1]|0)|0;c[q>>2]=(c[q>>2]|0)+(w+((N(c[(c[r>>2]|0)+44>>2]&65535,b[(c[m>>2]|0)+12>>1]|0)|0)>>16));w=N(c[(c[r>>2]|0)+40>>2]>>16,b[(c[m>>2]|0)+14>>1]|0)|0;c[q>>2]=(c[q>>2]|0)+(w+((N(c[(c[r>>2]|0)+40>>2]&65535,b[(c[m>>2]|0)+14>>1]|0)|0)>>16));w=N(c[(c[r>>2]|0)+36>>2]>>16,b[(c[m>>2]|0)+16>>1]|0)|0;c[q>>2]=(c[q>>2]|0)+(w+((N(c[(c[r>>2]|0)+36>>2]&65535,b[(c[m>>2]|0)+16>>1]|0)|0)>>16));if(((c[q>>2]>>5)+1>>1|0)<=32767)if(((c[q>>2]>>5)+1>>1|0)<-32768)a=-32768;else a=(c[q>>2]>>5)+1>>1;else a=32767;w=c[s>>2]|0;c[s>>2]=w+2;b[w>>1]=a;c[p>>2]=(c[p>>2]|0)+(c[o>>2]|0)}w=c[s>>2]|0;l=v;return w|0}case 24:{c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[n>>2]|0))break;c[r>>2]=(c[t>>2]|0)+(c[p>>2]>>16<<2);w=N((c[c[r>>2]>>2]|0)+(c[(c[r>>2]|0)+92>>2]|0)>>16,b[c[u>>2]>>1]|0)|0;c[q>>2]=w+((N((c[c[r>>2]>>2]|0)+(c[(c[r>>2]|0)+92>>2]|0)&65535,b[c[u>>2]>>1]|0)|0)>>16);w=N((c[(c[r>>2]|0)+4>>2]|0)+(c[(c[r>>2]|0)+88>>2]|0)>>16,b[(c[u>>2]|0)+2>>1]|0)|0;c[q>>2]=(c[q>>2]|0)+(w+((N((c[(c[r>>2]|0)+4>>2]|0)+(c[(c[r>>2]|0)+88>>2]|0)&65535,b[(c[u>>2]|0)+2>>1]|0)|0)>>16));w=N((c[(c[r>>2]|0)+8>>2]|0)+(c[(c[r>>2]|0)+84>>2]|0)>>16,b[(c[u>>2]|0)+4>>1]|0)|0;c[q>>2]=(c[q>>2]|0)+(w+((N((c[(c[r>>2]|0)+8>>2]|0)+(c[(c[r>>2]|0)+84>>2]|0)&65535,b[(c[u>>2]|0)+4>>1]|0)|0)>>16));w=N((c[(c[r>>2]|0)+12>>2]|0)+(c[(c[r>>2]|0)+80>>2]|0)>>16,b[(c[u>>2]|0)+6>>1]|0)|0;c[q>>2]=(c[q>>2]|0)+(w+((N((c[(c[r>>2]|0)+12>>2]|0)+(c[(c[r>>2]|0)+80>>2]|0)&65535,b[(c[u>>2]|0)+6>>1]|0)|0)>>16));w=N((c[(c[r>>2]|0)+16>>2]|0)+(c[(c[r>>2]|0)+76>>2]|0)>>16,b[(c[u>>2]|0)+8>>1]|0)|0;c[q>>2]=(c[q>>2]|0)+(w+((N((c[(c[r>>2]|0)+16>>2]|0)+(c[(c[r>>2]|0)+76>>2]|0)&65535,b[(c[u>>2]|0)+8>>1]|0)|0)>>16));w=N((c[(c[r>>2]|0)+20>>2]|0)+(c[(c[r>>2]|0)+72>>2]|0)>>16,b[(c[u>>2]|0)+10>>1]|0)|0;c[q>>2]=(c[q>>2]|0)+(w+((N((c[(c[r>>2]|0)+20>>2]|0)+(c[(c[r>>2]|0)+72>>2]|0)&65535,b[(c[u>>2]|0)+10>>1]|0)|0)>>16));w=N((c[(c[r>>2]|0)+24>>2]|0)+(c[(c[r>>2]|0)+68>>2]|0)>>16,b[(c[u>>2]|0)+12>>1]|0)|0;c[q>>2]=(c[q>>2]|0)+(w+((N((c[(c[r>>2]|0)+24>>2]|0)+(c[(c[r>>2]|0)+68>>2]|0)&65535,b[(c[u>>2]|0)+12>>1]|0)|0)>>16));w=N((c[(c[r>>2]|0)+28>>2]|0)+(c[(c[r>>2]|0)+64>>2]|0)>>16,b[(c[u>>2]|0)+14>>1]|0)|0;c[q>>2]=(c[q>>2]|0)+(w+((N((c[(c[r>>2]|0)+28>>2]|0)+(c[(c[r>>2]|0)+64>>2]|0)&65535,b[(c[u>>2]|0)+14>>1]|0)|0)>>16));w=N((c[(c[r>>2]|0)+32>>2]|0)+(c[(c[r>>2]|0)+60>>2]|0)>>16,b[(c[u>>2]|0)+16>>1]|0)|0;c[q>>2]=(c[q>>2]|0)+(w+((N((c[(c[r>>2]|0)+32>>2]|0)+(c[(c[r>>2]|0)+60>>2]|0)&65535,b[(c[u>>2]|0)+16>>1]|0)|0)>>16));w=N((c[(c[r>>2]|0)+36>>2]|0)+(c[(c[r>>2]|0)+56>>2]|0)>>16,b[(c[u>>2]|0)+18>>1]|0)|0;c[q>>2]=(c[q>>2]|0)+(w+((N((c[(c[r>>2]|0)+36>>2]|0)+(c[(c[r>>2]|0)+56>>2]|0)&65535,b[(c[u>>2]|0)+18>>1]|0)|0)>>16));w=N((c[(c[r>>2]|0)+40>>2]|0)+(c[(c[r>>2]|0)+52>>2]|0)>>16,b[(c[u>>2]|0)+20>>1]|0)|0;c[q>>2]=(c[q>>2]|0)+(w+((N((c[(c[r>>2]|0)+40>>2]|0)+(c[(c[r>>2]|0)+52>>2]|0)&65535,b[(c[u>>2]|0)+20>>1]|0)|0)>>16));w=N((c[(c[r>>2]|0)+44>>2]|0)+(c[(c[r>>2]|0)+48>>2]|0)>>16,b[(c[u>>2]|0)+22>>1]|0)|0;c[q>>2]=(c[q>>2]|0)+(w+((N((c[(c[r>>2]|0)+44>>2]|0)+(c[(c[r>>2]|0)+48>>2]|0)&65535,b[(c[u>>2]|0)+22>>1]|0)|0)>>16));if(((c[q>>2]>>5)+1>>1|0)<=32767)if(((c[q>>2]>>5)+1>>1|0)<-32768)a=-32768;else a=(c[q>>2]>>5)+1>>1;else a=32767;w=c[s>>2]|0;c[s>>2]=w+2;b[w>>1]=a;c[p>>2]=(c[p>>2]|0)+(c[o>>2]|0)}w=c[s>>2]|0;l=v;return w|0}case 36:{c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[n>>2]|0))break;c[r>>2]=(c[t>>2]|0)+(c[p>>2]>>16<<2);w=N((c[c[r>>2]>>2]|0)+(c[(c[r>>2]|0)+140>>2]|0)>>16,b[c[u>>2]>>1]|0)|0;c[q>>2]=w+((N((c[c[r>>2]>>2]|0)+(c[(c[r>>2]|0)+140>>2]|0)&65535,b[c[u>>2]>>1]|0)|0)>>16);w=N((c[(c[r>>2]|0)+4>>2]|0)+(c[(c[r>>2]|0)+136>>2]|0)>>16,b[(c[u>>2]|0)+2>>1]|0)|0;c[q>>2]=(c[q>>2]|0)+(w+((N((c[(c[r>>2]|0)+4>>2]|0)+(c[(c[r>>2]|0)+136>>2]|0)&65535,b[(c[u>>2]|0)+2>>1]|0)|0)>>16));w=N((c[(c[r>>2]|0)+8>>2]|0)+(c[(c[r>>2]|0)+132>>2]|0)>>16,b[(c[u>>2]|0)+4>>1]|0)|0;c[q>>2]=(c[q>>2]|0)+(w+((N((c[(c[r>>2]|0)+8>>2]|0)+(c[(c[r>>2]|0)+132>>2]|0)&65535,b[(c[u>>2]|0)+4>>1]|0)|0)>>16));w=N((c[(c[r>>2]|0)+12>>2]|0)+(c[(c[r>>2]|0)+128>>2]|0)>>16,b[(c[u>>2]|0)+6>>1]|0)|0;c[q>>2]=(c[q>>2]|0)+(w+((N((c[(c[r>>2]|0)+12>>2]|0)+(c[(c[r>>2]|0)+128>>2]|0)&65535,b[(c[u>>2]|0)+6>>1]|0)|0)>>16));w=N((c[(c[r>>2]|0)+16>>2]|0)+(c[(c[r>>2]|0)+124>>2]|0)>>16,b[(c[u>>2]|0)+8>>1]|0)|0;c[q>>2]=(c[q>>2]|0)+(w+((N((c[(c[r>>2]|0)+16>>2]|0)+(c[(c[r>>2]|0)+124>>2]|0)&65535,b[(c[u>>2]|0)+8>>1]|0)|0)>>16));w=N((c[(c[r>>2]|0)+20>>2]|0)+(c[(c[r>>2]|0)+120>>2]|0)>>16,b[(c[u>>2]|0)+10>>1]|0)|0;c[q>>2]=(c[q>>2]|0)+(w+((N((c[(c[r>>2]|0)+20>>2]|0)+(c[(c[r>>2]|0)+120>>2]|0)&65535,b[(c[u>>2]|0)+10>>1]|0)|0)>>16));w=N((c[(c[r>>2]|0)+24>>2]|0)+(c[(c[r>>2]|0)+116>>2]|0)>>16,b[(c[u>>2]|0)+12>>1]|0)|0;c[q>>2]=(c[q>>2]|0)+(w+((N((c[(c[r>>2]|0)+24>>2]|0)+(c[(c[r>>2]|0)+116>>2]|0)&65535,b[(c[u>>2]|0)+12>>1]|0)|0)>>16));w=N((c[(c[r>>2]|0)+28>>2]|0)+(c[(c[r>>2]|0)+112>>2]|0)>>16,b[(c[u>>2]|0)+14>>1]|0)|0;c[q>>2]=(c[q>>2]|0)+(w+((N((c[(c[r>>2]|0)+28>>2]|0)+(c[(c[r>>2]|0)+112>>2]|0)&65535,b[(c[u>>2]|0)+14>>1]|0)|0)>>16));w=N((c[(c[r>>2]|0)+32>>2]|0)+(c[(c[r>>2]|0)+108>>2]|0)>>16,b[(c[u>>2]|0)+16>>1]|0)|0;c[q>>2]=(c[q>>2]|0)+(w+((N((c[(c[r>>2]|0)+32>>2]|0)+(c[(c[r>>2]|0)+108>>2]|0)&65535,b[(c[u>>2]|0)+16>>1]|0)|0)>>16));w=N((c[(c[r>>2]|0)+36>>2]|0)+(c[(c[r>>2]|0)+104>>2]|0)>>16,b[(c[u>>2]|0)+18>>1]|0)|0;c[q>>2]=(c[q>>2]|0)+(w+((N((c[(c[r>>2]|0)+36>>2]|0)+(c[(c[r>>2]|0)+104>>2]|0)&65535,b[(c[u>>2]|0)+18>>1]|0)|0)>>16));w=N((c[(c[r>>2]|0)+40>>2]|0)+(c[(c[r>>2]|0)+100>>2]|0)>>16,b[(c[u>>2]|0)+20>>1]|0)|0;c[q>>2]=(c[q>>2]|0)+(w+((N((c[(c[r>>2]|0)+40>>2]|0)+(c[(c[r>>2]|0)+100>>2]|0)&65535,b[(c[u>>2]|0)+20>>1]|0)|0)>>16));w=N((c[(c[r>>2]|0)+44>>2]|0)+(c[(c[r>>2]|0)+96>>2]|0)>>16,b[(c[u>>2]|0)+22>>1]|0)|0;c[q>>2]=(c[q>>2]|0)+(w+((N((c[(c[r>>2]|0)+44>>2]|0)+(c[(c[r>>2]|0)+96>>2]|0)&65535,b[(c[u>>2]|0)+22>>1]|0)|0)>>16));w=N((c[(c[r>>2]|0)+48>>2]|0)+(c[(c[r>>2]|0)+92>>2]|0)>>16,b[(c[u>>2]|0)+24>>1]|0)|0;c[q>>2]=(c[q>>2]|0)+(w+((N((c[(c[r>>2]|0)+48>>2]|0)+(c[(c[r>>2]|0)+92>>2]|0)&65535,b[(c[u>>2]|0)+24>>1]|0)|0)>>16));w=N((c[(c[r>>2]|0)+52>>2]|0)+(c[(c[r>>2]|0)+88>>2]|0)>>16,b[(c[u>>2]|0)+26>>1]|0)|0;c[q>>2]=(c[q>>2]|0)+(w+((N((c[(c[r>>2]|0)+52>>2]|0)+(c[(c[r>>2]|0)+88>>2]|0)&65535,b[(c[u>>2]|0)+26>>1]|0)|0)>>16));w=N((c[(c[r>>2]|0)+56>>2]|0)+(c[(c[r>>2]|0)+84>>2]|0)>>16,b[(c[u>>2]|0)+28>>1]|0)|0;c[q>>2]=(c[q>>2]|0)+(w+((N((c[(c[r>>2]|0)+56>>2]|0)+(c[(c[r>>2]|0)+84>>2]|0)&65535,b[(c[u>>2]|0)+28>>1]|0)|0)>>16));w=N((c[(c[r>>2]|0)+60>>2]|0)+(c[(c[r>>2]|0)+80>>2]|0)>>16,b[(c[u>>2]|0)+30>>1]|0)|0;c[q>>2]=(c[q>>2]|0)+(w+((N((c[(c[r>>2]|0)+60>>2]|0)+(c[(c[r>>2]|0)+80>>2]|0)&65535,b[(c[u>>2]|0)+30>>1]|0)|0)>>16));w=N((c[(c[r>>2]|0)+64>>2]|0)+(c[(c[r>>2]|0)+76>>2]|0)>>16,b[(c[u>>2]|0)+32>>1]|0)|0;c[q>>2]=(c[q>>2]|0)+(w+((N((c[(c[r>>2]|0)+64>>2]|0)+(c[(c[r>>2]|0)+76>>2]|0)&65535,b[(c[u>>2]|0)+32>>1]|0)|0)>>16));w=N((c[(c[r>>2]|0)+68>>2]|0)+(c[(c[r>>2]|0)+72>>2]|0)>>16,b[(c[u>>2]|0)+34>>1]|0)|0;c[q>>2]=(c[q>>2]|0)+(w+((N((c[(c[r>>2]|0)+68>>2]|0)+(c[(c[r>>2]|0)+72>>2]|0)&65535,b[(c[u>>2]|0)+34>>1]|0)|0)>>16));if(((c[q>>2]>>5)+1>>1|0)<=32767)if(((c[q>>2]>>5)+1>>1|0)<-32768)a=-32768;else a=(c[q>>2]>>5)+1>>1;else a=32767;w=c[s>>2]|0;c[s>>2]=w+2;b[w>>1]=a;c[p>>2]=(c[p>>2]|0)+(c[o>>2]|0)}w=c[s>>2]|0;l=v;return w|0}default:{w=c[s>>2]|0;l=v;return w|0}}return 0}function _f(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+48|0;q=p+32|0;j=p+28|0;k=p+24|0;m=p+20|0;n=p+16|0;o=p+12|0;g=p+8|0;h=p+4|0;i=p;c[q>>2]=a;c[j>>2]=d;c[k>>2]=e;c[m>>2]=f;c[n>>2]=c[q>>2];f=(c[(c[n>>2]|0)+268>>2]<<1)+8|0;c[i>>2]=$()|0;a=l;l=l+((1*(f<<1)|0)+15&-16)|0;f=(c[n>>2]|0)+24|0;b[a>>1]=b[f>>1]|0;b[a+2>>1]=b[f+2>>1]|0;b[a+4>>1]=b[f+4>>1]|0;b[a+6>>1]=b[f+6>>1]|0;b[a+8>>1]=b[f+8>>1]|0;b[a+10>>1]=b[f+10>>1]|0;b[a+12>>1]=b[f+12>>1]|0;b[a+14>>1]=b[f+14>>1]|0;c[h>>2]=c[(c[n>>2]|0)+272>>2];while(1){if((c[m>>2]|0)<(c[(c[n>>2]|0)+268>>2]|0))d=c[m>>2]|0;else d=c[(c[n>>2]|0)+268>>2]|0;c[o>>2]=d;ag(c[n>>2]|0,a+16|0,c[k>>2]|0,c[o>>2]|0);c[g>>2]=c[o>>2]<<17;c[j>>2]=$f(c[j>>2]|0,a,c[g>>2]|0,c[h>>2]|0)|0;c[k>>2]=(c[k>>2]|0)+(c[o>>2]<<1);c[m>>2]=(c[m>>2]|0)-(c[o>>2]|0);if((c[m>>2]|0)<=0)break;q=a+(c[o>>2]<<1<<1)|0;b[a>>1]=b[q>>1]|0;b[a+2>>1]=b[q+2>>1]|0;b[a+4>>1]=b[q+4>>1]|0;b[a+6>>1]=b[q+6>>1]|0;b[a+8>>1]=b[q+8>>1]|0;b[a+10>>1]=b[q+10>>1]|0;b[a+12>>1]=b[q+12>>1]|0;b[a+14>>1]=b[q+14>>1]|0}q=(c[n>>2]|0)+24|0;o=a+(c[o>>2]<<1<<1)|0;b[q>>1]=b[o>>1]|0;b[q+2>>1]=b[o+2>>1]|0;b[q+4>>1]=b[o+4>>1]|0;b[q+6>>1]=b[o+6>>1]|0;b[q+8>>1]=b[o+8>>1]|0;b[q+10>>1]=b[o+10>>1]|0;b[q+12>>1]=b[o+12>>1]|0;b[q+14>>1]=b[o+14>>1]|0;_(c[i>>2]|0);l=p;return}function $f(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;i=p+28|0;j=p+24|0;k=p+20|0;m=p+16|0;n=p+12|0;o=p+8|0;g=p+4|0;h=p;c[i>>2]=a;c[j>>2]=d;c[k>>2]=e;c[m>>2]=f;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[k>>2]|0))break;c[h>>2]=(((c[n>>2]&65535)>>16)*12|0)+((c[n>>2]&65535)*12>>16);c[g>>2]=(c[j>>2]|0)+(c[n>>2]>>16<<1);c[o>>2]=N(b[c[g>>2]>>1]|0,b[25100+(c[h>>2]<<3)>>1]|0)|0;c[o>>2]=(c[o>>2]|0)+(N(b[(c[g>>2]|0)+2>>1]|0,b[25100+(c[h>>2]<<3)+2>>1]|0)|0);c[o>>2]=(c[o>>2]|0)+(N(b[(c[g>>2]|0)+4>>1]|0,b[25100+(c[h>>2]<<3)+4>>1]|0)|0);c[o>>2]=(c[o>>2]|0)+(N(b[(c[g>>2]|0)+6>>1]|0,b[25100+(c[h>>2]<<3)+6>>1]|0)|0);c[o>>2]=(c[o>>2]|0)+(N(b[(c[g>>2]|0)+8>>1]|0,b[25100+(11-(c[h>>2]|0)<<3)+6>>1]|0)|0);c[o>>2]=(c[o>>2]|0)+(N(b[(c[g>>2]|0)+10>>1]|0,b[25100+(11-(c[h>>2]|0)<<3)+4>>1]|0)|0);c[o>>2]=(c[o>>2]|0)+(N(b[(c[g>>2]|0)+12>>1]|0,b[25100+(11-(c[h>>2]|0)<<3)+2>>1]|0)|0);c[o>>2]=(c[o>>2]|0)+(N(b[(c[g>>2]|0)+14>>1]|0,b[25100+(11-(c[h>>2]|0)<<3)>>1]|0)|0);if(((c[o>>2]>>14)+1>>1|0)<=32767)if(((c[o>>2]>>14)+1>>1|0)<-32768)a=-32768;else a=(c[o>>2]>>14)+1>>1;else a=32767;f=c[i>>2]|0;c[i>>2]=f+2;b[f>>1]=a;c[n>>2]=(c[n>>2]|0)+(c[m>>2]|0)}l=p;return c[i>>2]|0}function ag(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;k=r+36|0;m=r+32|0;n=r+28|0;o=r+24|0;p=r+20|0;q=r+16|0;g=r+12|0;h=r+8|0;i=r+4|0;j=r;c[k>>2]=a;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[o>>2]|0))break;c[q>>2]=b[(c[n>>2]|0)+(c[p>>2]<<1)>>1]<<10;c[i>>2]=(c[q>>2]|0)-(c[c[k>>2]>>2]|0);f=N(c[i>>2]>>16,b[12415]|0)|0;c[j>>2]=f+((N(c[i>>2]&65535,b[12415]|0)|0)>>16);c[g>>2]=(c[c[k>>2]>>2]|0)+(c[j>>2]|0);c[c[k>>2]>>2]=(c[q>>2]|0)+(c[j>>2]|0);c[i>>2]=(c[g>>2]|0)-(c[(c[k>>2]|0)+4>>2]|0);f=N(c[i>>2]>>16,b[12416]|0)|0;c[j>>2]=f+((N(c[i>>2]&65535,b[12416]|0)|0)>>16);c[h>>2]=(c[(c[k>>2]|0)+4>>2]|0)+(c[j>>2]|0);c[(c[k>>2]|0)+4>>2]=(c[g>>2]|0)+(c[j>>2]|0);c[i>>2]=(c[h>>2]|0)-(c[(c[k>>2]|0)+8>>2]|0);f=N(c[i>>2]>>16,b[12417]|0)|0;c[j>>2]=(c[i>>2]|0)+(f+((N(c[i>>2]&65535,b[12417]|0)|0)>>16));c[g>>2]=(c[(c[k>>2]|0)+8>>2]|0)+(c[j>>2]|0);c[(c[k>>2]|0)+8>>2]=(c[h>>2]|0)+(c[j>>2]|0);if(((c[g>>2]>>9)+1>>1|0)<=32767)if(((c[g>>2]>>9)+1>>1|0)<-32768)a=-32768;else a=(c[g>>2]>>9)+1>>1;else a=32767;b[(c[m>>2]|0)+(c[p>>2]<<1<<1)>>1]=a;c[i>>2]=(c[q>>2]|0)-(c[(c[k>>2]|0)+12>>2]|0);f=N(c[i>>2]>>16,b[12418]|0)|0;c[j>>2]=f+((N(c[i>>2]&65535,b[12418]|0)|0)>>16);c[g>>2]=(c[(c[k>>2]|0)+12>>2]|0)+(c[j>>2]|0);c[(c[k>>2]|0)+12>>2]=(c[q>>2]|0)+(c[j>>2]|0);c[i>>2]=(c[g>>2]|0)-(c[(c[k>>2]|0)+16>>2]|0);f=N(c[i>>2]>>16,b[12419]|0)|0;c[j>>2]=f+((N(c[i>>2]&65535,b[12419]|0)|0)>>16);c[h>>2]=(c[(c[k>>2]|0)+16>>2]|0)+(c[j>>2]|0);c[(c[k>>2]|0)+16>>2]=(c[g>>2]|0)+(c[j>>2]|0);c[i>>2]=(c[h>>2]|0)-(c[(c[k>>2]|0)+20>>2]|0);f=N(c[i>>2]>>16,b[12420]|0)|0;c[j>>2]=(c[i>>2]|0)+(f+((N(c[i>>2]&65535,b[12420]|0)|0)>>16));c[g>>2]=(c[(c[k>>2]|0)+20>>2]|0)+(c[j>>2]|0);c[(c[k>>2]|0)+20>>2]=(c[h>>2]|0)+(c[j>>2]|0);if(((c[g>>2]>>9)+1>>1|0)<=32767)if(((c[g>>2]>>9)+1>>1|0)<-32768)a=-32768;else a=(c[g>>2]>>9)+1>>1;else a=32767;b[(c[m>>2]|0)+((c[p>>2]<<1)+1<<1)>>1]=a;c[p>>2]=(c[p>>2]|0)+1}l=r;return}function bg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=l;l=l+32|0;k=f+16|0;i=f+12|0;h=f+8|0;g=f+4|0;j=f;c[k>>2]=a;c[i>>2]=b;c[h>>2]=d;c[g>>2]=e;c[j>>2]=c[k>>2];ag(c[j>>2]|0,c[i>>2]|0,c[h>>2]|0,c[g>>2]|0);l=f;return}function cg(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;a=c[d>>2]|0;if((c[d>>2]|0)<0){c[d>>2]=0-a;if((c[d>>2]|0)>=192){c[b>>2]=0;e=c[b>>2]|0;l=f;return e|0}else{c[e>>2]=c[d>>2]>>5;c[b>>2]=(c[17960+(c[e>>2]<<2)>>2]|0)-(N((c[17984+(c[e>>2]<<2)>>2]&65535)<<16>>16,(c[d>>2]&31)<<16>>16)|0);e=c[b>>2]|0;l=f;return e|0}}else if((a|0)>=192){c[b>>2]=32767;e=c[b>>2]|0;l=f;return e|0}else{c[e>>2]=c[d>>2]>>5;c[b>>2]=(c[18008+(c[e>>2]<<2)>>2]|0)+(N((c[17984+(c[e>>2]<<2)>>2]&65535)<<16>>16,(c[d>>2]&31)<<16>>16)|0);e=c[b>>2]|0;l=f;return e|0}return 0}function dg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+24|0;h=n+20|0;i=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;f=n;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;c[j>>2]=e;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[j>>2]|0))break;c[(c[h>>2]|0)+(c[m>>2]<<2)>>2]=c[m>>2];c[m>>2]=(c[m>>2]|0)+1}c[m>>2]=1;while(1){if((c[m>>2]|0)>=(c[j>>2]|0))break;c[k>>2]=c[(c[g>>2]|0)+(c[m>>2]<<2)>>2];c[f>>2]=(c[m>>2]|0)-1;while(1){if((c[f>>2]|0)<0)break;if((c[k>>2]|0)>=(c[(c[g>>2]|0)+(c[f>>2]<<2)>>2]|0))break;c[(c[g>>2]|0)+((c[f>>2]|0)+1<<2)>>2]=c[(c[g>>2]|0)+(c[f>>2]<<2)>>2];c[(c[h>>2]|0)+((c[f>>2]|0)+1<<2)>>2]=c[(c[h>>2]|0)+(c[f>>2]<<2)>>2];c[f>>2]=(c[f>>2]|0)+-1}c[(c[g>>2]|0)+((c[f>>2]|0)+1<<2)>>2]=c[k>>2];c[(c[h>>2]|0)+((c[f>>2]|0)+1<<2)>>2]=c[m>>2];c[m>>2]=(c[m>>2]|0)+1}c[m>>2]=c[j>>2];while(1){if((c[m>>2]|0)>=(c[i>>2]|0))break;c[k>>2]=c[(c[g>>2]|0)+(c[m>>2]<<2)>>2];if((c[k>>2]|0)<(c[(c[g>>2]|0)+((c[j>>2]|0)-1<<2)>>2]|0)){c[f>>2]=(c[j>>2]|0)-2;while(1){if((c[f>>2]|0)<0)break;if((c[k>>2]|0)>=(c[(c[g>>2]|0)+(c[f>>2]<<2)>>2]|0))break;c[(c[g>>2]|0)+((c[f>>2]|0)+1<<2)>>2]=c[(c[g>>2]|0)+(c[f>>2]<<2)>>2];c[(c[h>>2]|0)+((c[f>>2]|0)+1<<2)>>2]=c[(c[h>>2]|0)+(c[f>>2]<<2)>>2];c[f>>2]=(c[f>>2]|0)+-1}c[(c[g>>2]|0)+((c[f>>2]|0)+1<<2)>>2]=c[k>>2];c[(c[h>>2]|0)+((c[f>>2]|0)+1<<2)>>2]=c[m>>2]}c[m>>2]=(c[m>>2]|0)+1}l=n;return}function eg(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[f>>2]=d;c[h>>2]=1;while(1){if((c[h>>2]|0)>=(c[f>>2]|0))break;c[g>>2]=b[(c[e>>2]|0)+(c[h>>2]<<1)>>1];c[i>>2]=(c[h>>2]|0)-1;while(1){if((c[i>>2]|0)<0)break;if((c[g>>2]|0)>=(b[(c[e>>2]|0)+(c[i>>2]<<1)>>1]|0))break;b[(c[e>>2]|0)+((c[i>>2]|0)+1<<1)>>1]=b[(c[e>>2]|0)+(c[i>>2]<<1)>>1]|0;c[i>>2]=(c[i>>2]|0)+-1}b[(c[e>>2]|0)+((c[i>>2]|0)+1<<1)>>1]=c[g>>2];c[h>>2]=(c[h>>2]|0)+1}l=j;return}function fg(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;i=q+28|0;j=q+24|0;k=q+20|0;m=q+16|0;n=q+12|0;o=q+8|0;g=q+4|0;h=q;c[i>>2]=a;c[j>>2]=d;c[k>>2]=e;c[m>>2]=f;c[h>>2]=0;c[o>>2]=0;c[m>>2]=(c[m>>2]|0)+-1;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[m>>2]|0))break;c[h>>2]=(c[h>>2]|0)+(N(b[(c[k>>2]|0)+(c[n>>2]<<1)>>1]|0,b[(c[k>>2]|0)+(c[n>>2]<<1)>>1]|0)|0);c[h>>2]=(c[h>>2]|0)+(N(b[(c[k>>2]|0)+((c[n>>2]|0)+1<<1)>>1]|0,b[(c[k>>2]|0)+((c[n>>2]|0)+1<<1)>>1]|0)|0);if((c[h>>2]|0)<0){p=4;break}c[n>>2]=(c[n>>2]|0)+2}if((p|0)==4){c[h>>2]=(c[h>>2]|0)>>>2;c[o>>2]=2;c[n>>2]=(c[n>>2]|0)+2}while(1){if((c[n>>2]|0)>=(c[m>>2]|0))break;c[g>>2]=N(b[(c[k>>2]|0)+(c[n>>2]<<1)>>1]|0,b[(c[k>>2]|0)+(c[n>>2]<<1)>>1]|0)|0;c[g>>2]=(c[g>>2]|0)+(N(b[(c[k>>2]|0)+((c[n>>2]|0)+1<<1)>>1]|0,b[(c[k>>2]|0)+((c[n>>2]|0)+1<<1)>>1]|0)|0);c[h>>2]=(c[h>>2]|0)+((c[g>>2]|0)>>>(c[o>>2]|0));if((c[h>>2]|0)<0){c[h>>2]=(c[h>>2]|0)>>>2;c[o>>2]=(c[o>>2]|0)+2}c[n>>2]=(c[n>>2]|0)+2}if((c[n>>2]|0)==(c[m>>2]|0)){c[g>>2]=N(b[(c[k>>2]|0)+(c[n>>2]<<1)>>1]|0,b[(c[k>>2]|0)+(c[n>>2]<<1)>>1]|0)|0;c[h>>2]=(c[h>>2]|0)+(c[g>>2]>>c[o>>2])}if(!(c[h>>2]&-1073741824)){p=c[o>>2]|0;o=c[j>>2]|0;c[o>>2]=p;o=c[h>>2]|0;p=c[i>>2]|0;c[p>>2]=o;l=q;return}c[h>>2]=(c[h>>2]|0)>>>2;c[o>>2]=(c[o>>2]|0)+2;p=c[o>>2]|0;o=c[j>>2]|0;c[o>>2]=p;o=c[h>>2]|0;p=c[i>>2]|0;c[p>>2]=o;l=q;return}function gg(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+48|0;e=k+40|0;f=k+36|0;g=k+32|0;h=k+8|0;i=k+4|0;j=k;c[e>>2]=a;c[f>>2]=d;c[g>>2]=Pb(c[e>>2]|0,28974,8)|0;c[h+8>>2]=(c[g>>2]|0)/5|0;c[h+12+8>>2]=(c[g>>2]|0)-((c[h+8>>2]|0)*5|0);c[g>>2]=0;while(1){if((c[g>>2]|0)>=2)break;d=Pb(c[e>>2]|0,29027,8)|0;c[h+((c[g>>2]|0)*12|0)>>2]=d;d=Pb(c[e>>2]|0,29034,8)|0;c[h+((c[g>>2]|0)*12|0)+4>>2]=d;c[g>>2]=(c[g>>2]|0)+1}c[g>>2]=0;while(1){if((c[g>>2]|0)>=2)break;e=h+((c[g>>2]|0)*12|0)|0;c[e>>2]=(c[e>>2]|0)+((c[h+((c[g>>2]|0)*12|0)+8>>2]|0)*3|0);c[i>>2]=b[24526+(c[h+((c[g>>2]|0)*12|0)>>2]<<1)>>1];c[j>>2]=(((b[24526+((c[h+((c[g>>2]|0)*12|0)>>2]|0)+1<<1)>>1]|0)-(c[i>>2]|0)>>16)*6554|0)+(((b[24526+((c[h+((c[g>>2]|0)*12|0)>>2]|0)+1<<1)>>1]|0)-(c[i>>2]|0)&65535)*6554>>16);e=(c[i>>2]|0)+(N((c[j>>2]&65535)<<16>>16,((c[h+((c[g>>2]|0)*12|0)+4>>2]<<1)+1&65535)<<16>>16)|0)|0;c[(c[f>>2]|0)+(c[g>>2]<<2)>>2]=e;c[g>>2]=(c[g>>2]|0)+1}j=c[f>>2]|0;c[j>>2]=(c[j>>2]|0)-(c[(c[f>>2]|0)+4>>2]|0);l=k;return}function hg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Pb(c[f>>2]|0,28999,8)|0;c[c[e>>2]>>2]=b;l=d;return}function ig(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=b;c[f>>2]=d;c[g>>2]=((a[(c[f>>2]|0)+2>>0]|0)*5|0)+(a[(c[f>>2]|0)+3+2>>0]|0);$b(c[e>>2]|0,c[g>>2]|0,28974,8);c[g>>2]=0;while(1){if((c[g>>2]|0)>=2)break;$b(c[e>>2]|0,a[(c[f>>2]|0)+((c[g>>2]|0)*3|0)>>0]|0,29027,8);$b(c[e>>2]|0,a[(c[f>>2]|0)+((c[g>>2]|0)*3|0)+1>>0]|0,29034,8);c[g>>2]=(c[g>>2]|0)+1}l=h;return}function jg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;g=e;f=e+4|0;c[g>>2]=b;a[f>>0]=d;$b(c[g>>2]|0,a[f>>0]|0,28999,8);l=e;return}function kg(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;r=l;l=l+64|0;p=r+52|0;u=r+48|0;t=r+44|0;q=r+40|0;s=r+36|0;h=r+32|0;i=r+28|0;v=r+24|0;w=r+20|0;j=r+16|0;k=r+12|0;m=r+8|0;o=r+4|0;n=r;c[p>>2]=a;c[u>>2]=b;c[t>>2]=d;c[q>>2]=e;c[s>>2]=f;c[h>>2]=g;fg(j,v,c[u>>2]|0,c[s>>2]|0);fg(k,w,c[t>>2]|0,c[s>>2]|0);c[i>>2]=lg(c[v>>2]|0,c[w>>2]|0)|0;c[i>>2]=(c[i>>2]|0)+(c[i>>2]&1);c[k>>2]=c[k>>2]>>(c[i>>2]|0)-(c[w>>2]|0);c[j>>2]=c[j>>2]>>(c[i>>2]|0)-(c[v>>2]|0);c[j>>2]=lg(c[j>>2]|0,1)|0;c[m>>2]=Af(c[u>>2]|0,c[t>>2]|0,c[i>>2]|0,c[s>>2]|0)|0;c[o>>2]=mg(c[m>>2]|0,c[j>>2]|0,13)|0;if((c[o>>2]|0)>16384)a=16384;else a=(c[o>>2]|0)<-16384?-16384:c[o>>2]|0;c[o>>2]=a;w=N(c[o>>2]>>16,(c[o>>2]&65535)<<16>>16)|0;c[n>>2]=w+((N(c[o>>2]&65535,(c[o>>2]&65535)<<16>>16)|0)>>16);w=c[n>>2]|0;c[h>>2]=lg(c[h>>2]|0,(c[n>>2]|0)>0?w:0-w|0)|0;c[i>>2]=c[i>>2]>>1;w=c[c[q>>2]>>2]|0;v=ng(c[j>>2]|0)|0;v=N((v<<c[i>>2])-(c[c[q>>2]>>2]|0)>>16,(c[h>>2]&65535)<<16>>16)|0;u=ng(c[j>>2]|0)|0;u=w+(v+((N((u<<c[i>>2])-(c[c[q>>2]>>2]|0)&65535,(c[h>>2]&65535)<<16>>16)|0)>>16))|0;c[c[q>>2]>>2]=u;u=N(c[m>>2]>>16,(c[o>>2]&65535)<<16>>16)|0;c[k>>2]=(c[k>>2]|0)-(u+((N(c[m>>2]&65535,(c[o>>2]&65535)<<16>>16)|0)>>16)<<4);u=N(c[j>>2]>>16,(c[n>>2]&65535)<<16>>16)|0;c[k>>2]=(c[k>>2]|0)+(u+((N(c[j>>2]&65535,(c[n>>2]&65535)<<16>>16)|0)>>16)<<6);u=c[(c[q>>2]|0)+4>>2]|0;v=ng(c[k>>2]|0)|0;v=N((v<<c[i>>2])-(c[(c[q>>2]|0)+4>>2]|0)>>16,(c[h>>2]&65535)<<16>>16)|0;w=ng(c[k>>2]|0)|0;w=u+(v+((N((w<<c[i>>2])-(c[(c[q>>2]|0)+4>>2]|0)&65535,(c[h>>2]&65535)<<16>>16)|0)>>16))|0;c[(c[q>>2]|0)+4>>2]=w;if((c[c[q>>2]>>2]|0)>1)a=c[c[q>>2]>>2]|0;else a=1;w=mg(c[(c[q>>2]|0)+4>>2]|0,a,14)|0;c[c[p>>2]>>2]=w;if((c[c[p>>2]>>2]|0)>32767){v=32767;w=c[p>>2]|0;c[w>>2]=v;w=c[o>>2]|0;l=r;return w|0}if((c[c[p>>2]>>2]|0)<0){v=0;w=c[p>>2]|0;c[w>>2]=v;w=c[o>>2]|0;l=r;return w|0}v=c[c[p>>2]>>2]|0;w=c[p>>2]|0;c[w>>2]=v;w=c[o>>2]|0;l=r;return w|0}function lg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)>(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function mg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;h=l;l=l+48|0;f=h+40|0;q=h+36|0;p=h+32|0;i=h+28|0;k=h+24|0;j=h+20|0;g=h+16|0;m=h+12|0;n=h+8|0;o=h+4|0;e=h;c[q>>2]=a;c[p>>2]=b;c[i>>2]=d;d=c[q>>2]|0;c[k>>2]=(pg((c[q>>2]|0)>0?d:0-d|0)|0)-1;c[n>>2]=c[q>>2]<<c[k>>2];d=c[p>>2]|0;c[j>>2]=(pg((c[p>>2]|0)>0?d:0-d|0)|0)-1;c[o>>2]=c[p>>2]<<c[j>>2];c[m>>2]=536870911/(c[o>>2]>>16|0)|0;d=N(c[n>>2]>>16,(c[m>>2]&65535)<<16>>16)|0;c[e>>2]=d+((N(c[n>>2]&65535,(c[m>>2]&65535)<<16>>16)|0)>>16);d=c[n>>2]|0;b=c[o>>2]|0;a=c[e>>2]|0;a=Xi(b|0,((b|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Yi(a|0,y|0,32)|0;c[n>>2]=d-(a<<3);a=N(c[n>>2]>>16,(c[m>>2]&65535)<<16>>16)|0;c[e>>2]=(c[e>>2]|0)+(a+((N(c[n>>2]&65535,(c[m>>2]&65535)<<16>>16)|0)>>16));c[g>>2]=29+(c[k>>2]|0)-(c[j>>2]|0)-(c[i>>2]|0);a=c[g>>2]|0;if((c[g>>2]|0)>=0)if((a|0)<32){c[f>>2]=c[e>>2]>>c[g>>2];q=c[f>>2]|0;l=h;return q|0}else{c[f>>2]=0;q=c[f>>2]|0;l=h;return q|0}b=c[e>>2]|0;d=0-(c[g>>2]|0)|0;do if((-2147483648>>0-a|0)>(2147483647>>0-(c[g>>2]|0)|0)){if((b|0)>(-2147483648>>d|0)){a=-2147483648>>0-(c[g>>2]|0);break}if((c[e>>2]|0)<(2147483647>>0-(c[g>>2]|0)|0)){a=2147483647>>0-(c[g>>2]|0);break}else{a=c[e>>2]|0;break}}else{if((b|0)>(2147483647>>d|0)){a=2147483647>>0-(c[g>>2]|0);break}if((c[e>>2]|0)<(-2147483648>>0-(c[g>>2]|0)|0)){a=-2147483648>>0-(c[g>>2]|0);break}else{a=c[e>>2]|0;break}}while(0);c[f>>2]=a<<0-(c[g>>2]|0);q=c[f>>2]|0;l=h;return q|0}function ng(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;b=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;if((c[d>>2]|0)<=0){c[b>>2]=0;g=c[b>>2]|0;l=h;return g|0}og(c[d>>2]|0,f,g);if(c[f>>2]&1|0)c[e>>2]=32768;else c[e>>2]=46214;c[e>>2]=c[e>>2]>>(c[f>>2]>>1);f=N(c[e>>2]>>16,(((c[g>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0;c[e>>2]=(c[e>>2]|0)+(f+((N(c[e>>2]&65535,(((c[g>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0)>>16));c[b>>2]=c[e>>2];g=c[b>>2]|0;l=h;return g|0}function og(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+16|0;h=e+12|0;i=e+8|0;f=e+4|0;g=e;c[h>>2]=a;c[i>>2]=b;c[f>>2]=d;c[g>>2]=pg(c[h>>2]|0)|0;c[c[i>>2]>>2]=c[g>>2];d=(qg(c[h>>2]|0,24-(c[g>>2]|0)|0)|0)&127;c[c[f>>2]>>2]=d;l=e;return}function pg(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){b=32;l=d;return b|0}b=32-(32-(Q(c[b>>2]|0)|0))|0;l=d;return b|0}function qg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+20|0;d=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[d>>2]=a;c[f>>2]=b;c[g>>2]=c[d>>2];c[h>>2]=c[f>>2];c[i>>2]=0-(c[f>>2]|0);if(!(c[f>>2]|0)){c[e>>2]=c[d>>2];i=c[e>>2]|0;l=j;return i|0}a=c[g>>2]|0;if((c[f>>2]|0)<0){c[e>>2]=a<<c[i>>2]|(c[g>>2]|0)>>>(32-(c[i>>2]|0)|0);i=c[e>>2]|0;l=j;return i|0}else{c[e>>2]=a<<32-(c[h>>2]|0)|(c[g>>2]|0)>>>(c[h>>2]|0);i=c[e>>2]|0;l=j;return i|0}return 0}function rg(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;i=r+40|0;j=r+36|0;k=r+32|0;m=r+28|0;n=r+24|0;o=r+20|0;p=r+16|0;q=r+12|0;f=r+8|0;g=r+4|0;h=r;c[i>>2]=d;c[j>>2]=e;c[h>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=2)break;c[f>>2]=2147483647;c[k>>2]=0;a:while(1){if((c[k>>2]|0)>=15)break;c[o>>2]=b[24526+(c[k>>2]<<1)>>1];c[p>>2]=(((b[24526+((c[k>>2]|0)+1<<1)>>1]|0)-(c[o>>2]|0)>>16)*6554|0)+(((b[24526+((c[k>>2]|0)+1<<1)>>1]|0)-(c[o>>2]|0)&65535)*6554>>16);c[m>>2]=0;while(1){if((c[m>>2]|0)>=5)break;c[q>>2]=(c[o>>2]|0)+(N((c[p>>2]&65535)<<16>>16,((c[m>>2]<<1)+1&65535)<<16>>16)|0);e=(c[(c[i>>2]|0)+(c[n>>2]<<2)>>2]|0)-(c[q>>2]|0)|0;c[g>>2]=((c[(c[i>>2]|0)+(c[n>>2]<<2)>>2]|0)-(c[q>>2]|0)|0)>0?e:0-e|0;if((c[g>>2]|0)>=(c[f>>2]|0))break a;c[f>>2]=c[g>>2];c[h>>2]=c[q>>2];a[(c[j>>2]|0)+((c[n>>2]|0)*3|0)>>0]=c[k>>2];a[(c[j>>2]|0)+((c[n>>2]|0)*3|0)+1>>0]=c[m>>2];c[m>>2]=(c[m>>2]|0)+1}c[k>>2]=(c[k>>2]|0)+1}a[(c[j>>2]|0)+((c[n>>2]|0)*3|0)+2>>0]=(a[(c[j>>2]|0)+((c[n>>2]|0)*3|0)>>0]|0)/3|0;e=(c[j>>2]|0)+((c[n>>2]|0)*3|0)|0;a[e>>0]=(a[e>>0]|0)-((a[(c[j>>2]|0)+((c[n>>2]|0)*3|0)+2>>0]|0)*3|0);c[(c[i>>2]|0)+(c[n>>2]<<2)>>2]=c[h>>2];c[n>>2]=(c[n>>2]|0)+1}q=c[i>>2]|0;c[q>>2]=(c[q>>2]|0)-(c[(c[i>>2]|0)+4>>2]|0);l=r;return}function sg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+48|0;j=p+32|0;k=p+28|0;q=p+24|0;m=p+20|0;n=p+16|0;o=p+12|0;f=p+8|0;h=p+4|0;i=p;c[j>>2]=a;c[k>>2]=b;c[q>>2]=d;c[m>>2]=e;g[o>>2]=3.1415927410125732/+((c[m>>2]|0)+1|0);g[f>>2]=2.0-+g[o>>2]*+g[o>>2];if((c[q>>2]|0)<2){g[h>>2]=0.0;g[i>>2]=+g[o>>2]}else{g[h>>2]=1.0;g[i>>2]=+g[f>>2]*.5}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[m>>2]|0))break;g[(c[j>>2]|0)+((c[n>>2]|0)+0<<2)>>2]=+g[(c[k>>2]|0)+((c[n>>2]|0)+0<<2)>>2]*.5*(+g[h>>2]+ +g[i>>2]);g[(c[j>>2]|0)+((c[n>>2]|0)+1<<2)>>2]=+g[(c[k>>2]|0)+((c[n>>2]|0)+1<<2)>>2]*+g[i>>2];g[h>>2]=+g[f>>2]*+g[i>>2]-+g[h>>2];g[(c[j>>2]|0)+((c[n>>2]|0)+2<<2)>>2]=+g[(c[k>>2]|0)+((c[n>>2]|0)+2<<2)>>2]*.5*(+g[i>>2]+ +g[h>>2]);g[(c[j>>2]|0)+((c[n>>2]|0)+3<<2)>>2]=+g[(c[k>>2]|0)+((c[n>>2]|0)+3<<2)>>2]*+g[h>>2];g[i>>2]=+g[f>>2]*+g[h>>2]-+g[i>>2];c[n>>2]=(c[n>>2]|0)+4}l=p;return}function tg(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0;o=l;l=l+32|0;p=o+24|0;j=o+20|0;k=o+16|0;m=o+12|0;n=o+8|0;h=o+4|0;i=o;c[p>>2]=a;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e;c[n>>2]=f;c[i>>2]=(c[p>>2]|0)+((c[m>>2]|0)-1<<2);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[m>>2]|0))break;q=+qh(c[i>>2]|0,c[j>>2]|0,c[k>>2]|0);g[(c[n>>2]|0)+(c[h>>2]<<2)>>2]=q;c[i>>2]=(c[i>>2]|0)+-4;c[h>>2]=(c[h>>2]|0)+1}l=o;return}function ug(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;k=r+36|0;m=r+32|0;n=r+28|0;o=r+24|0;p=r+20|0;q=r+16|0;f=r;i=r+12|0;j=r+8|0;c[k>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[i>>2]=(c[k>>2]|0)+((c[n>>2]|0)-1<<2);h[f>>3]=+ph(c[i>>2]|0,c[m>>2]|0);g[(c[o>>2]|0)+(0<<2)>>2]=+h[f>>3];c[p>>2]=1;while(1){if((c[p>>2]|0)>=(c[n>>2]|0))break;h[f>>3]=+h[f>>3]+(+g[(c[i>>2]|0)+(0-(c[p>>2]|0)<<2)>>2]*+g[(c[i>>2]|0)+(0-(c[p>>2]|0)<<2)>>2]-+g[(c[i>>2]|0)+((c[m>>2]|0)-(c[p>>2]|0)<<2)>>2]*+g[(c[i>>2]|0)+((c[m>>2]|0)-(c[p>>2]|0)<<2)>>2]);e=N(c[p>>2]|0,c[n>>2]|0)|0;g[(c[o>>2]|0)+(e+(c[p>>2]|0)<<2)>>2]=+h[f>>3];c[p>>2]=(c[p>>2]|0)+1}c[j>>2]=(c[k>>2]|0)+((c[n>>2]|0)-2<<2);c[q>>2]=1;while(1){if((c[q>>2]|0)>=(c[n>>2]|0))break;h[f>>3]=+qh(c[i>>2]|0,c[j>>2]|0,c[m>>2]|0);g[(c[o>>2]|0)+((N(c[q>>2]|0,c[n>>2]|0)|0)+0<<2)>>2]=+h[f>>3];g[(c[o>>2]|0)+(0+(c[q>>2]|0)<<2)>>2]=+h[f>>3];c[p>>2]=1;while(1){if((c[p>>2]|0)>=((c[n>>2]|0)-(c[q>>2]|0)|0))break;h[f>>3]=+h[f>>3]+(+g[(c[i>>2]|0)+(0-(c[p>>2]|0)<<2)>>2]*+g[(c[j>>2]|0)+(0-(c[p>>2]|0)<<2)>>2]-+g[(c[i>>2]|0)+((c[m>>2]|0)-(c[p>>2]|0)<<2)>>2]*+g[(c[j>>2]|0)+((c[m>>2]|0)-(c[p>>2]|0)<<2)>>2]);k=N((c[q>>2]|0)+(c[p>>2]|0)|0,c[n>>2]|0)|0;g[(c[o>>2]|0)+(k+(c[p>>2]|0)<<2)>>2]=+h[f>>3];k=N(c[p>>2]|0,c[n>>2]|0)|0;g[(c[o>>2]|0)+(k+((c[q>>2]|0)+(c[p>>2]|0))<<2)>>2]=+h[f>>3];c[p>>2]=(c[p>>2]|0)+1}c[j>>2]=(c[j>>2]|0)+-4;c[q>>2]=(c[q>>2]|0)+1}l=r;return}function vg(b){b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f;c[d>>2]=b;Fe(c[d>>2]|0,(c[d>>2]|0)+5128+2|0)|0;b=c[d>>2]|0;if((c[(c[d>>2]|0)+4556>>2]|0)>=13){c[b+6116>>2]=0;c[(c[d>>2]|0)+6112>>2]=0;a[(c[d>>2]|0)+4768+29>>0]=1;b=1;g=(c[d>>2]|0)+4752|0;e=c[d>>2]|0;e=e+5780|0;e=c[e>>2]|0;e=g+e|0;a[e>>0]=b;l=f;return}a[b+4768+29>>0]=0;b=(c[d>>2]|0)+6116|0;c[b>>2]=(c[b>>2]|0)+1;b=c[d>>2]|0;if((c[(c[d>>2]|0)+6116>>2]|0)>=10){if((c[b+6116>>2]|0)>30){c[(c[d>>2]|0)+6116>>2]=10;b=c[d>>2]|0;e=5}}else e=5;if((e|0)==5)c[b+6112>>2]=0;e=0;b=(c[d>>2]|0)+4752|0;g=c[d>>2]|0;g=g+5780|0;g=c[g>>2]|0;g=b+g|0;a[g>>0]=e;l=f;return}function wg(d,e,f,h,i,j){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=l;l=l+15152|0;U=Y+13856|0;V=Y+13852|0;W=Y+13848|0;X=Y+13844|0;o=Y+13840|0;p=Y+13836|0;q=Y+13832|0;r=Y+12920|0;s=Y+12916|0;t=Y+12912|0;u=Y+12908|0;v=Y+12904|0;w=Y+12900|0;x=Y+12896|0;k=Y+12892|0;m=Y+12888|0;y=Y+11608|0;n=Y+8920|0;z=Y+8872|0;A=Y+8824|0;B=Y+4444|0;C=Y+64|0;D=Y+60|0;E=Y+56|0;F=Y+52|0;G=Y+48|0;H=Y+44|0;I=Y+40|0;J=Y+36|0;K=Y+32|0;L=Y+28|0;M=Y+13862|0;O=Y+13860|0;P=Y+24|0;Q=Y+15139|0;R=Y+8|0;S=Y+13864|0;T=Y;c[V>>2]=d;c[W>>2]=e;c[X>>2]=f;c[o>>2]=h;c[p>>2]=i;c[q>>2]=j;c[x>>2]=0;c[I>>2]=0;c[H>>2]=0;c[G>>2]=0;c[F>>2]=0;a[Q>>0]=0;i=(c[V>>2]|0)+4644|0;j=c[i>>2]|0;c[i>>2]=j+1;a[(c[V>>2]|0)+4768+34>>0]=j&3;c[k>>2]=(c[V>>2]|0)+9356+(c[(c[V>>2]|0)+4616>>2]<<2);c[m>>2]=n+(c[(c[V>>2]|0)+4616>>2]<<2);Pd((c[V>>2]|0)+16|0,(c[V>>2]|0)+5128+2|0,c[(c[V>>2]|0)+4608>>2]|0);xg((c[k>>2]|0)+((c[(c[V>>2]|0)+4600>>2]|0)*5<<2)|0,(c[V>>2]|0)+5128+2|0,c[(c[V>>2]|0)+4608>>2]|0);c[s>>2]=0;while(1){if((c[s>>2]|0)>=8)break;j=(c[k>>2]|0)+(((c[(c[V>>2]|0)+4600>>2]|0)*5|0)+(N(c[s>>2]|0,c[(c[V>>2]|0)+4608>>2]>>3)|0)<<2)|0;g[j>>2]=+g[j>>2]+ +(1-(c[s>>2]&2)|0)*9.999999974752427e-07;c[s>>2]=(c[s>>2]|0)+1}a:do if(!(c[(c[V>>2]|0)+4712>>2]|0)){Gg(c[V>>2]|0,r,n,c[k>>2]|0,c[(c[V>>2]|0)+5124>>2]|0);Qg(c[V>>2]|0,r,c[m>>2]|0,c[k>>2]|0);Hg(c[V>>2]|0,r,n,c[k>>2]|0,c[o>>2]|0);Yg(c[V>>2]|0,r,c[o>>2]|0);Vg(c[V>>2]|0,r,y,c[k>>2]|0);yg(c[V>>2]|0,r,y,c[o>>2]|0);c[u>>2]=6;b[M>>1]=256;c[w>>2]=0;c[v>>2]=0;c[J>>2]=Nd((c[V>>2]|0)+4768|0,c[(c[V>>2]|0)+4604>>2]|0)|0;c[K>>2]=-1;c[L>>2]=-1;d=z;e=c[X>>2]|0;f=d+48|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));_i(B|0,(c[V>>2]|0)+144|0,4380)|0;c[D>>2]=a[(c[V>>2]|0)+4768+34>>0];b[O>>1]=b[(c[V>>2]|0)+5804>>1]|0;c[P>>2]=c[(c[V>>2]|0)+5800>>2];c[t>>2]=0;while(1){do if((c[J>>2]|0)!=(c[K>>2]|0)){if((c[J>>2]|0)==(c[L>>2]|0)){c[E>>2]=c[G>>2];break}if((c[t>>2]|0)>0){d=c[X>>2]|0;e=z;f=d+48|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));_i((c[V>>2]|0)+144|0,B|0,4380)|0;a[(c[V>>2]|0)+4768+34>>0]=c[D>>2];b[(c[V>>2]|0)+5804>>1]=b[O>>1]|0;c[(c[V>>2]|0)+5800>>2]=c[P>>2]}kh(c[V>>2]|0,r,(c[V>>2]|0)+4768|0,(c[V>>2]|0)+144|0,(c[V>>2]|0)+4804|0,y);Gd(c[V>>2]|0,c[X>>2]|0,c[(c[V>>2]|0)+5780>>2]|0,0,c[o>>2]|0);Hd(c[X>>2]|0,a[(c[V>>2]|0)+4768+29>>0]|0,a[(c[V>>2]|0)+4768+30>>0]|0,(c[V>>2]|0)+4804|0,c[(c[V>>2]|0)+4608>>2]|0);c[E>>2]=zg(c[X>>2]|0)|0;if((c[q>>2]|0)==0&(c[t>>2]|0)==0?(c[E>>2]|0)<=(c[p>>2]|0):0)break a}else c[E>>2]=c[F>>2];while(0);if((c[t>>2]|0)==(c[u>>2]|0))break;do if((c[E>>2]|0)>(c[p>>2]|0))if((c[w>>2]|0)==0&(c[t>>2]|0)>=2){j=r+852|0;g[j>>2]=+g[j>>2]*1.5;c[v>>2]=0;c[L>>2]=-1;break}else{c[v>>2]=1;c[G>>2]=c[E>>2];c[I>>2]=b[M>>1];c[L>>2]=c[J>>2];break}else{if((c[E>>2]|0)>=((c[p>>2]|0)-5|0))break a;c[w>>2]=1;c[F>>2]=c[E>>2];c[H>>2]=b[M>>1];if((c[J>>2]|0)!=(c[K>>2]|0)){c[K>>2]=c[J>>2];d=A;e=c[X>>2]|0;f=d+48|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));_i(S|0,c[c[X>>2]>>2]|0,c[(c[X>>2]|0)+24>>2]|0)|0;_i(C|0,(c[V>>2]|0)+144|0,4380)|0;a[Q>>0]=a[(c[V>>2]|0)+7200>>0]|0}}while(0);do if(c[w>>2]&c[v>>2]){j=N((c[I>>2]|0)-(c[H>>2]|0)|0,(c[p>>2]|0)-(c[F>>2]|0)|0)|0;b[M>>1]=(c[H>>2]|0)+((j|0)/((c[G>>2]|0)-(c[F>>2]|0)|0)|0);if((b[M>>1]|0)>((c[H>>2]|0)+((c[I>>2]|0)-(c[H>>2]|0)>>2)|0)){b[M>>1]=(c[H>>2]|0)+((c[I>>2]|0)-(c[H>>2]|0)>>2);break}if((b[M>>1]|0)<((c[I>>2]|0)-((c[I>>2]|0)-(c[H>>2]|0)>>2)|0))b[M>>1]=(c[I>>2]|0)-((c[I>>2]|0)-(c[H>>2]|0)>>2)}else{c[T>>2]=Ff((((c[E>>2]|0)-(c[p>>2]|0)<<7|0)/(c[(c[V>>2]|0)+4608>>2]|0)|0)+2048|0)|0;c[T>>2]=Ag(c[T>>2]|0,131072)|0;if((c[E>>2]|0)>(c[p>>2]|0))c[T>>2]=Bg(c[T>>2]|0,85197)|0;j=N(c[T>>2]>>16,b[M>>1]|0)|0;b[M>>1]=j+((N(c[T>>2]&65535,b[M>>1]|0)|0)>>16)}while(0);c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[(c[V>>2]|0)+4604>>2]|0))break;j=N(c[r+892+(c[s>>2]<<2)>>2]>>16,b[M>>1]|0)|0;if((j+((N(c[r+892+(c[s>>2]<<2)>>2]&65535,b[M>>1]|0)|0)>>16)|0)<=8388607){j=N(c[r+892+(c[s>>2]<<2)>>2]>>16,b[M>>1]|0)|0;if((j+((N(c[r+892+(c[s>>2]<<2)>>2]&65535,b[M>>1]|0)|0)>>16)|0)<-8388608)d=-8388608;else{d=N(c[r+892+(c[s>>2]<<2)>>2]>>16,b[M>>1]|0)|0;d=d+((N(c[r+892+(c[s>>2]<<2)>>2]&65535,b[M>>1]|0)|0)>>16)|0}}else d=8388607;c[R+(c[s>>2]<<2)>>2]=d<<8;c[s>>2]=(c[s>>2]|0)+1}a[(c[V>>2]|0)+7200>>0]=a[r+908>>0]|0;Jd((c[V>>2]|0)+4768|0,R,(c[V>>2]|0)+7200|0,(c[o>>2]|0)==2&1,c[(c[V>>2]|0)+4604>>2]|0);c[J>>2]=Nd((c[V>>2]|0)+4768|0,c[(c[V>>2]|0)+4604>>2]|0)|0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[(c[V>>2]|0)+4604>>2]|0))break;g[r+(c[s>>2]<<2)>>2]=+(c[R+(c[s>>2]<<2)>>2]|0)/65536.0;c[s>>2]=(c[s>>2]|0)+1}c[t>>2]=(c[t>>2]|0)+1}if(c[w>>2]|0){if((c[J>>2]|0)!=(c[K>>2]|0)?(c[E>>2]|0)<=(c[p>>2]|0):0)break;d=c[X>>2]|0;e=A;f=d+48|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));_i(c[c[X>>2]>>2]|0,S|0,c[A+24>>2]|0)|0;_i((c[V>>2]|0)+144|0,C|0,4380)|0;a[(c[V>>2]|0)+7200>>0]=a[Q>>0]|0}}while(0);$i((c[V>>2]|0)+9356|0,(c[V>>2]|0)+9356+(c[(c[V>>2]|0)+4608>>2]<<2)|0,(c[(c[V>>2]|0)+4616>>2]|0)+((c[(c[V>>2]|0)+4600>>2]|0)*5|0)<<2|0)|0;if(c[(c[V>>2]|0)+4712>>2]|0){c[c[W>>2]>>2]=0;c[U>>2]=c[x>>2];X=c[U>>2]|0;l=Y;return X|0}else{c[(c[V>>2]|0)+4568>>2]=c[r+228+((c[(c[V>>2]|0)+4604>>2]|0)-1<<2)>>2];a[(c[V>>2]|0)+4565>>0]=a[(c[V>>2]|0)+4768+29>>0]|0;c[(c[V>>2]|0)+4696>>2]=0;X=(zg(c[X>>2]|0)|0)+7>>3;c[c[W>>2]>>2]=X;c[U>>2]=c[x>>2];X=c[U>>2]|0;l=Y;return X|0}return 0}function xg(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;f=j+12|0;h=j+8|0;k=j+4|0;i=j;c[f>>2]=a;c[h>>2]=d;c[k>>2]=e;c[i>>2]=(c[k>>2]|0)-1;while(1){if((c[i>>2]|0)<0)break;g[(c[f>>2]|0)+(c[i>>2]<<2)>>2]=+(b[(c[h>>2]|0)+(c[i>>2]<<1)>>1]|0);c[i>>2]=(c[i>>2]|0)+-1}l=j;return}function yg(d,e,f,h){d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+4448|0;m=s+4432|0;n=s+4428|0;o=s+4424|0;p=s+4420|0;q=s+4416|0;r=s+4400|0;i=s+4384|0;j=s+4380|0;k=s;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=h;c[j>>2]=(c[m>>2]|0)+6132+((c[(c[m>>2]|0)+5780>>2]|0)*36|0);if(!(c[(c[m>>2]|0)+6124>>2]|0)){l=s;return}if((c[(c[m>>2]|0)+4556>>2]|0)<=77){l=s;return}c[(c[m>>2]|0)+4756+(c[(c[m>>2]|0)+5780>>2]<<2)>>2]=1;_i(k|0,(c[m>>2]|0)+144|0,4380)|0;d=c[j>>2]|0;e=(c[m>>2]|0)+4768|0;f=d+36|0;do{b[d>>1]=b[e>>1]|0;d=d+2|0;e=e+2|0}while((d|0)<(f|0));_i(i|0,c[n>>2]|0,c[(c[m>>2]|0)+4604>>2]<<2|0)|0;if(!((c[(c[m>>2]|0)+5780>>2]|0)!=0?(c[(c[m>>2]|0)+4756+((c[(c[m>>2]|0)+5780>>2]|0)-1<<2)>>2]|0)!=0:0)){a[(c[m>>2]|0)+4564>>0]=a[(c[m>>2]|0)+7200>>0]|0;h=c[j>>2]|0;a[h>>0]=(a[h>>0]|0)+(c[(c[m>>2]|0)+6128>>2]|0);h=(Cg(a[c[j>>2]>>0]|0,63)|0)&255;a[c[j>>2]>>0]=h}Ld(r,c[j>>2]|0,(c[m>>2]|0)+4564|0,(c[p>>2]|0)==2&1,c[(c[m>>2]|0)+4604>>2]|0);c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[m>>2]|0)+4604>>2]|0))break;g[(c[n>>2]|0)+(c[q>>2]<<2)>>2]=+(c[r+(c[q>>2]<<2)>>2]|0)*.0000152587890625;c[q>>2]=(c[q>>2]|0)+1}kh(c[m>>2]|0,c[n>>2]|0,c[j>>2]|0,k,(c[m>>2]|0)+6240+((c[(c[m>>2]|0)+5780>>2]|0)*320|0)|0,c[o>>2]|0);_i(c[n>>2]|0,i|0,c[(c[m>>2]|0)+4604>>2]<<2|0)|0;l=s;return}function zg(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=(c[(c[d>>2]|0)+20>>2]|0)-(32-(Q(c[(c[d>>2]|0)+28>>2]|0)|0))|0;l=b;return a|0}function Ag(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)<(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function Bg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)>(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function Cg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)<(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function Dg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+1744|0;q=v+1700|0;r=v+1696|0;s=v+1692|0;h=v+1688|0;t=v+1684|0;u=v+1680|0;i=v+1616|0;j=v+1608|0;k=v+1604|0;m=v+1600|0;n=v+1704|0;o=v+1536|0;p=v;c[q>>2]=b;c[r>>2]=d;c[s>>2]=e;g[h>>2]=f;c[u>>2]=(c[(c[q>>2]|0)+4612>>2]|0)+(c[(c[q>>2]|0)+4664>>2]|0);a[(c[q>>2]|0)+4768+31>>0]=4;g[j>>2]=+nh(i,c[s>>2]|0,+g[h>>2],c[u>>2]|0,c[(c[q>>2]|0)+4604>>2]|0,c[(c[q>>2]|0)+4664>>2]|0);a:do if((c[(c[q>>2]|0)+4656>>2]|0?(c[(c[q>>2]|0)+4696>>2]|0)==0:0)?(c[(c[q>>2]|0)+4604>>2]|0)==4:0){f=+nh(o,(c[s>>2]|0)+(c[u>>2]<<1<<2)|0,+g[h>>2],c[u>>2]|0,2,c[(c[q>>2]|0)+4664>>2]|0);g[j>>2]=+g[j>>2]-f;gh(c[r>>2]|0,o,c[(c[q>>2]|0)+4664>>2]|0);g[k>>2]=3402823466385288598117041.0e14;c[t>>2]=3;while(1){if((c[t>>2]|0)<0)break a;Od(n,(c[q>>2]|0)+4524|0,c[r>>2]|0,c[t>>2]|0,c[(c[q>>2]|0)+4664>>2]|0);ih(o,n,c[(c[q>>2]|0)+4664>>2]|0);Ig(p,o,c[s>>2]|0,c[u>>2]<<1,c[(c[q>>2]|0)+4664>>2]|0);f=+ph(p+(c[(c[q>>2]|0)+4664>>2]<<2)|0,(c[u>>2]|0)-(c[(c[q>>2]|0)+4664>>2]|0)|0);g[m>>2]=f+ +ph(p+(c[(c[q>>2]|0)+4664>>2]<<2)+(c[u>>2]<<2)|0,(c[u>>2]|0)-(c[(c[q>>2]|0)+4664>>2]|0)|0);f=+g[m>>2];if(!(+g[m>>2]<+g[j>>2])){if(f>+g[k>>2])break a}else{g[j>>2]=f;a[(c[q>>2]|0)+4768+31>>0]=c[t>>2]}g[k>>2]=+g[m>>2];c[t>>2]=(c[t>>2]|0)+-1}}while(0);if((a[(c[q>>2]|0)+4768+31>>0]|0)!=4){l=v;return}gh(c[r>>2]|0,i,c[(c[q>>2]|0)+4664>>2]|0);l=v;return}function Eg(a,b,d,e,f,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;L=l;l=l+192|0;A=L+188|0;O=L+184|0;n=L+180|0;N=L+176|0;o=L+172|0;p=L+168|0;q=L+164|0;B=L+160|0;M=L+156|0;C=L+152|0;D=L+148|0;E=L+144|0;F=L+140|0;r=L+136|0;s=L+132|0;t=L+128|0;G=L+112|0;H=L+104|0;I=L+100|0;J=L+80|0;K=L+64|0;u=L+48|0;v=L+44|0;w=L+24|0;x=L+8|0;y=L+4|0;z=L;c[A>>2]=a;c[O>>2]=b;c[n>>2]=d;c[N>>2]=e;c[o>>2]=f;c[p>>2]=h;c[q>>2]=i;c[B>>2]=j;c[M>>2]=k;c[E>>2]=c[A>>2];c[r>>2]=c[O>>2];c[y>>2]=(c[N>>2]|0)+(c[M>>2]<<2);c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[B>>2]|0))break;c[z>>2]=(c[y>>2]|0)+(0-((c[(c[o>>2]|0)+(c[D>>2]<<2)>>2]|0)+2)<<2);ug(c[z>>2]|0,c[q>>2]|0,5,c[r>>2]|0);tg(c[z>>2]|0,c[y>>2]|0,c[q>>2]|0,5,w);m=+ph(c[y>>2]|0,c[q>>2]|0);g[x+(c[D>>2]<<2)>>2]=m;g[v>>2]=+g[x+(c[D>>2]<<2)>>2]+1.0+ +g[c[r>>2]>>2]+ +g[(c[r>>2]|0)+96>>2];g[v>>2]=+g[v>>2]*.01666666753590107;_g(c[r>>2]|0,x+(c[D>>2]<<2)|0,+g[v>>2],5);bh(c[r>>2]|0,5,w,c[E>>2]|0);m=+$g(c[E>>2]|0,c[r>>2]|0,w,+g[x+(c[D>>2]<<2)>>2],5);g[u+(c[D>>2]<<2)>>2]=m;g[F>>2]=+g[(c[p>>2]|0)+(c[D>>2]<<2)>>2]/(+g[u+(c[D>>2]<<2)>>2]*+g[(c[p>>2]|0)+(c[D>>2]<<2)>>2]+ +(c[q>>2]|0)*.009999999776482582);Dh(c[r>>2]|0,+g[F>>2],25);g[K+(c[D>>2]<<2)>>2]=+g[(c[r>>2]|0)+48>>2];c[y>>2]=(c[y>>2]|0)+(c[q>>2]<<2);c[E>>2]=(c[E>>2]|0)+20;c[r>>2]=(c[r>>2]|0)+100;c[D>>2]=(c[D>>2]|0)+1}if(c[n>>2]|0){g[t>>2]=9.999999974752427e-07;g[s>>2]=0.0;c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[B>>2]|0))break;g[s>>2]=+g[s>>2]+ +g[x+(c[D>>2]<<2)>>2]*+g[(c[p>>2]|0)+(c[D>>2]<<2)>>2];g[t>>2]=+g[t>>2]+ +g[u+(c[D>>2]<<2)>>2]*+g[(c[p>>2]|0)+(c[D>>2]<<2)>>2];c[D>>2]=(c[D>>2]|0)+1}m=+Fg(+g[s>>2]/+g[t>>2])*3.0;g[c[n>>2]>>2]=m}c[E>>2]=c[A>>2];c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[B>>2]|0))break;g[G+(c[D>>2]<<2)>>2]=0.0;c[C>>2]=0;while(1){a=c[E>>2]|0;if((c[C>>2]|0)>=5)break;O=G+(c[D>>2]<<2)|0;g[O>>2]=+g[O>>2]+ +g[a+(c[C>>2]<<2)>>2];c[C>>2]=(c[C>>2]|0)+1}c[E>>2]=a+20;c[D>>2]=(c[D>>2]|0)+1}g[F>>2]=1.0000000474974513e-03;c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[B>>2]|0))break;g[F>>2]=+g[F>>2]+ +g[K+(c[D>>2]<<2)>>2];c[D>>2]=(c[D>>2]|0)+1}g[H>>2]=0.0;c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[B>>2]|0))break;g[H>>2]=+g[H>>2]+ +g[G+(c[D>>2]<<2)>>2]*+g[K+(c[D>>2]<<2)>>2];c[D>>2]=(c[D>>2]|0)+1}g[H>>2]=+g[H>>2]/+g[F>>2];c[E>>2]=c[A>>2];c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[B>>2]|0))break;g[I>>2]=.10000000149011612/(+g[K+(c[D>>2]<<2)>>2]+.10000000149011612)*(+g[H>>2]-+g[G+(c[D>>2]<<2)>>2]);g[F>>2]=0.0;c[C>>2]=0;while(1){if((c[C>>2]|0)>=5)break;if(+g[(c[E>>2]|0)+(c[C>>2]<<2)>>2]>.10000000149011612)m=+g[(c[E>>2]|0)+(c[C>>2]<<2)>>2];else m=.10000000149011612;g[J+(c[C>>2]<<2)>>2]=m;g[F>>2]=+g[F>>2]+ +g[J+(c[C>>2]<<2)>>2];c[C>>2]=(c[C>>2]|0)+1}g[F>>2]=+g[I>>2]/+g[F>>2];c[C>>2]=0;while(1){a=c[E>>2]|0;if((c[C>>2]|0)>=5)break;g[(c[E>>2]|0)+(c[C>>2]<<2)>>2]=+g[a+(c[C>>2]<<2)>>2]+ +g[J+(c[C>>2]<<2)>>2]*+g[F>>2];c[C>>2]=(c[C>>2]|0)+1}c[E>>2]=a+20;c[D>>2]=(c[D>>2]|0)+1}l=L;return}function Fg(a){a=+a;var b=0,c=0;b=l;l=l+16|0;c=b;h[c>>3]=a;a=+Ti(+h[c>>3])*3.32192809488736;l=b;return +a}function Gg(d,e,f,h,i){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;p=l;l=l+1792|0;k=p+1776|0;m=p+1772|0;n=p+1768|0;z=p+1764|0;o=p+1760|0;q=p+1756|0;j=p+1752|0;u=p+1748|0;x=p+1744|0;r=p+1740|0;v=p+1672|0;s=p+1608|0;t=p+1544|0;w=p+8|0;y=p;c[k>>2]=d;c[m>>2]=e;c[n>>2]=f;c[z>>2]=h;c[o>>2]=i;c[q>>2]=(c[(c[k>>2]|0)+4620>>2]|0)+(c[(c[k>>2]|0)+4608>>2]|0)+(c[(c[k>>2]|0)+4616>>2]|0);c[r>>2]=(c[z>>2]|0)+(0-(c[(c[k>>2]|0)+4616>>2]|0)<<2);c[x>>2]=(c[r>>2]|0)+(c[q>>2]<<2)+(0-(c[(c[k>>2]|0)+4572>>2]|0)<<2);c[y>>2]=w;sg(c[y>>2]|0,c[x>>2]|0,1,c[(c[k>>2]|0)+4620>>2]|0);c[y>>2]=(c[y>>2]|0)+(c[(c[k>>2]|0)+4620>>2]<<2);c[x>>2]=(c[x>>2]|0)+(c[(c[k>>2]|0)+4620>>2]<<2);_i(c[y>>2]|0,c[x>>2]|0,(c[(c[k>>2]|0)+4572>>2]|0)-(c[(c[k>>2]|0)+4620>>2]<<1)<<2|0)|0;c[y>>2]=(c[y>>2]|0)+((c[(c[k>>2]|0)+4572>>2]|0)-(c[(c[k>>2]|0)+4620>>2]<<1)<<2);c[x>>2]=(c[x>>2]|0)+((c[(c[k>>2]|0)+4572>>2]|0)-(c[(c[k>>2]|0)+4620>>2]<<1)<<2);sg(c[y>>2]|0,c[x>>2]|0,2,c[(c[k>>2]|0)+4620>>2]|0);mh(v,w,c[(c[k>>2]|0)+4572>>2]|0,(c[(c[k>>2]|0)+4672>>2]|0)+1|0);g[v>>2]=+g[v>>2]+(+g[v>>2]*1.0000000474974513e-03+1.0);g[u>>2]=+Eh(t,v,c[(c[k>>2]|0)+4672>>2]|0);g[(c[m>>2]|0)+868>>2]=+g[v>>2]/(+g[u>>2]>1.0?+g[u>>2]:1.0);rh(s,t,c[(c[k>>2]|0)+4672>>2]|0);oh(s,c[(c[k>>2]|0)+4672>>2]|0,.9900000095367432);Ig(c[n>>2]|0,s,c[r>>2]|0,c[q>>2]|0,c[(c[k>>2]|0)+4672>>2]|0);if(a[(c[k>>2]|0)+4768+29>>0]|0?(c[(c[k>>2]|0)+4696>>2]|0)==0:0){g[j>>2]=.6000000238418579;g[j>>2]=+g[j>>2]-+(c[(c[k>>2]|0)+4672>>2]|0)*.004000000189989805;g[j>>2]=+g[j>>2]-+(c[(c[k>>2]|0)+4556>>2]|0)*.10000000149011612*.00390625;g[j>>2]=+g[j>>2]-+(a[(c[k>>2]|0)+4565>>0]>>1|0)*.15000000596046448;g[j>>2]=+g[j>>2]-+(c[(c[k>>2]|0)+4744>>2]|0)*.10000000149011612*.000030517578125;z=(uh(c[n>>2]|0,(c[m>>2]|0)+228|0,(c[k>>2]|0)+4768+26|0,(c[k>>2]|0)+4768+28|0,(c[k>>2]|0)+12236|0,c[(c[k>>2]|0)+4568>>2]|0,+(c[(c[k>>2]|0)+4676>>2]|0)/65536.0,+g[j>>2],c[(c[k>>2]|0)+4600>>2]|0,c[(c[k>>2]|0)+4668>>2]|0,c[(c[k>>2]|0)+4604>>2]|0,c[o>>2]|0)|0)==0;a[(c[k>>2]|0)+4768+29>>0]=z?2:1;l=p;return}z=(c[m>>2]|0)+228|0;c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;b[(c[k>>2]|0)+4768+26>>1]=0;a[(c[k>>2]|0)+4768+28>>0]=0;g[(c[k>>2]|0)+12236>>2]=0.0;l=p;return}function Hg(d,e,f,h,i){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0;y=l;l=l+2048|0;t=y+2004|0;u=y+2e3|0;v=y+1996|0;w=y+1992|0;x=y+1988|0;k=y+1984|0;m=y+1584|0;n=y+1568|0;o=y+1552|0;j=y+2008|0;p=y+1548|0;q=y+1544|0;r=y+8|0;s=y;c[t>>2]=d;c[u>>2]=e;c[v>>2]=f;c[w>>2]=h;c[x>>2]=i;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[(c[t>>2]|0)+4604>>2]|0))break;g[n+(c[k>>2]<<2)>>2]=1.0/+g[(c[u>>2]|0)+(c[k>>2]<<2)>>2];g[o+(c[k>>2]<<2)>>2]=+g[n+(c[k>>2]<<2)>>2]*+g[n+(c[k>>2]<<2)>>2];c[k>>2]=(c[k>>2]|0)+1}if((a[(c[t>>2]|0)+4768+29>>0]|0)==2){Eg((c[u>>2]|0)+144|0,m,(c[u>>2]|0)+872|0,c[v>>2]|0,(c[u>>2]|0)+228|0,o,c[(c[t>>2]|0)+4612>>2]|0,c[(c[t>>2]|0)+4604>>2]|0,c[(c[t>>2]|0)+4616>>2]|0);lh((c[u>>2]|0)+144|0,(c[t>>2]|0)+4768+4|0,(c[t>>2]|0)+4768+32|0,(c[t>>2]|0)+4688|0,m,c[(c[t>>2]|0)+4684>>2]|0,c[(c[t>>2]|0)+4680>>2]|0,c[(c[t>>2]|0)+4604>>2]|0,c[(c[t>>2]|0)+5124>>2]|0);Pg(c[t>>2]|0,c[u>>2]|0,c[x>>2]|0);Og(r,(c[w>>2]|0)+(0-(c[(c[t>>2]|0)+4664>>2]|0)<<2)|0,(c[u>>2]|0)+144|0,(c[u>>2]|0)+228|0,n,c[(c[t>>2]|0)+4612>>2]|0,c[(c[t>>2]|0)+4604>>2]|0,c[(c[t>>2]|0)+4664>>2]|0)}else{c[p>>2]=(c[w>>2]|0)+(0-(c[(c[t>>2]|0)+4664>>2]|0)<<2);c[q>>2]=r;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[(c[t>>2]|0)+4604>>2]|0))break;Ch(c[q>>2]|0,c[p>>2]|0,+g[n+(c[k>>2]<<2)>>2],(c[(c[t>>2]|0)+4612>>2]|0)+(c[(c[t>>2]|0)+4664>>2]|0)|0);c[q>>2]=(c[q>>2]|0)+((c[(c[t>>2]|0)+4612>>2]|0)+(c[(c[t>>2]|0)+4664>>2]|0)<<2);c[p>>2]=(c[p>>2]|0)+(c[(c[t>>2]|0)+4612>>2]<<2);c[k>>2]=(c[k>>2]|0)+1}aj((c[u>>2]|0)+144|0,0,(c[(c[t>>2]|0)+4604>>2]|0)*5<<2|0)|0;g[(c[u>>2]|0)+872>>2]=0.0;c[(c[t>>2]|0)+4688>>2]=0}if(c[(c[t>>2]|0)+4696>>2]|0){g[s>>2]=.009999999776482582;w=c[t>>2]|0;z=+g[s>>2];Dg(w,j,r,z);w=c[t>>2]|0;v=c[u>>2]|0;v=v+16|0;i=c[t>>2]|0;i=i+4524|0;jh(w,v,j,i);i=c[u>>2]|0;i=i+876|0;v=c[u>>2]|0;v=v+16|0;w=c[u>>2]|0;x=c[t>>2]|0;x=x+4612|0;x=c[x>>2]|0;d=c[t>>2]|0;d=d+4604|0;d=c[d>>2]|0;e=c[t>>2]|0;e=e+4664|0;e=c[e>>2]|0;ah(i,r,v,w,x,d,e);e=c[t>>2]|0;e=e+4524|0;d=e+32|0;do{b[e>>1]=b[j>>1]|0;e=e+2|0;j=j+2|0}while((e|0)<(d|0));l=y;return}else{g[s>>2]=+C(2.0,+(+g[(c[u>>2]|0)+872>>2]/3.0))/1.0e4;g[s>>2]=+g[s>>2]/(+g[(c[u>>2]|0)+860>>2]*.75+.25);w=c[t>>2]|0;z=+g[s>>2];Dg(w,j,r,z);w=c[t>>2]|0;v=c[u>>2]|0;v=v+16|0;i=c[t>>2]|0;i=i+4524|0;jh(w,v,j,i);i=c[u>>2]|0;i=i+876|0;v=c[u>>2]|0;v=v+16|0;w=c[u>>2]|0;x=c[t>>2]|0;x=x+4612|0;x=c[x>>2]|0;d=c[t>>2]|0;d=d+4604|0;d=c[d>>2]|0;e=c[t>>2]|0;e=e+4664|0;e=c[e>>2]|0;ah(i,r,v,w,x,d,e);e=c[t>>2]|0;e=e+4524|0;d=e+32|0;do{b[e>>1]=b[j>>1]|0;e=e+2|0;j=j+2|0}while((e|0)<(d|0));l=y;return}}function Ig(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;c[j>>2]=e;c[k>>2]=f;switch(c[k>>2]|0){case 6:{Jg(c[g>>2]|0,c[h>>2]|0,c[i>>2]|0,c[j>>2]|0);break}case 8:{Kg(c[g>>2]|0,c[h>>2]|0,c[i>>2]|0,c[j>>2]|0);break}case 10:{Lg(c[g>>2]|0,c[h>>2]|0,c[i>>2]|0,c[j>>2]|0);break}case 12:{Mg(c[g>>2]|0,c[h>>2]|0,c[i>>2]|0,c[j>>2]|0);break}case 16:{Ng(c[g>>2]|0,c[h>>2]|0,c[i>>2]|0,c[j>>2]|0);break}default:{}}aj(c[g>>2]|0,0,c[k>>2]<<2|0)|0;l=m;return}function Jg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;h=o+24|0;i=o+20|0;j=o+16|0;k=o+12|0;m=o+8|0;n=o+4|0;f=o;c[h>>2]=a;c[i>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=6;while(1){if((c[m>>2]|0)>=(c[k>>2]|0))break;c[f>>2]=(c[j>>2]|0)+((c[m>>2]|0)-1<<2);g[n>>2]=+g[c[f>>2]>>2]*+g[c[i>>2]>>2]+ +g[(c[f>>2]|0)+-4>>2]*+g[(c[i>>2]|0)+4>>2]+ +g[(c[f>>2]|0)+-8>>2]*+g[(c[i>>2]|0)+8>>2]+ +g[(c[f>>2]|0)+-12>>2]*+g[(c[i>>2]|0)+12>>2]+ +g[(c[f>>2]|0)+-16>>2]*+g[(c[i>>2]|0)+16>>2]+ +g[(c[f>>2]|0)+-20>>2]*+g[(c[i>>2]|0)+20>>2];g[(c[h>>2]|0)+(c[m>>2]<<2)>>2]=+g[(c[f>>2]|0)+4>>2]-+g[n>>2];c[m>>2]=(c[m>>2]|0)+1}l=o;return}function Kg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;h=o+24|0;i=o+20|0;j=o+16|0;k=o+12|0;m=o+8|0;n=o+4|0;f=o;c[h>>2]=a;c[i>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=8;while(1){if((c[m>>2]|0)>=(c[k>>2]|0))break;c[f>>2]=(c[j>>2]|0)+((c[m>>2]|0)-1<<2);g[n>>2]=+g[c[f>>2]>>2]*+g[c[i>>2]>>2]+ +g[(c[f>>2]|0)+-4>>2]*+g[(c[i>>2]|0)+4>>2]+ +g[(c[f>>2]|0)+-8>>2]*+g[(c[i>>2]|0)+8>>2]+ +g[(c[f>>2]|0)+-12>>2]*+g[(c[i>>2]|0)+12>>2]+ +g[(c[f>>2]|0)+-16>>2]*+g[(c[i>>2]|0)+16>>2]+ +g[(c[f>>2]|0)+-20>>2]*+g[(c[i>>2]|0)+20>>2]+ +g[(c[f>>2]|0)+-24>>2]*+g[(c[i>>2]|0)+24>>2]+ +g[(c[f>>2]|0)+-28>>2]*+g[(c[i>>2]|0)+28>>2];g[(c[h>>2]|0)+(c[m>>2]<<2)>>2]=+g[(c[f>>2]|0)+4>>2]-+g[n>>2];c[m>>2]=(c[m>>2]|0)+1}l=o;return}function Lg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;h=o+24|0;i=o+20|0;j=o+16|0;k=o+12|0;m=o+8|0;n=o+4|0;f=o;c[h>>2]=a;c[i>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=10;while(1){if((c[m>>2]|0)>=(c[k>>2]|0))break;c[f>>2]=(c[j>>2]|0)+((c[m>>2]|0)-1<<2);g[n>>2]=+g[c[f>>2]>>2]*+g[c[i>>2]>>2]+ +g[(c[f>>2]|0)+-4>>2]*+g[(c[i>>2]|0)+4>>2]+ +g[(c[f>>2]|0)+-8>>2]*+g[(c[i>>2]|0)+8>>2]+ +g[(c[f>>2]|0)+-12>>2]*+g[(c[i>>2]|0)+12>>2]+ +g[(c[f>>2]|0)+-16>>2]*+g[(c[i>>2]|0)+16>>2]+ +g[(c[f>>2]|0)+-20>>2]*+g[(c[i>>2]|0)+20>>2]+ +g[(c[f>>2]|0)+-24>>2]*+g[(c[i>>2]|0)+24>>2]+ +g[(c[f>>2]|0)+-28>>2]*+g[(c[i>>2]|0)+28>>2]+ +g[(c[f>>2]|0)+-32>>2]*+g[(c[i>>2]|0)+32>>2]+ +g[(c[f>>2]|0)+-36>>2]*+g[(c[i>>2]|0)+36>>2];g[(c[h>>2]|0)+(c[m>>2]<<2)>>2]=+g[(c[f>>2]|0)+4>>2]-+g[n>>2];c[m>>2]=(c[m>>2]|0)+1}l=o;return}function Mg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;h=o+24|0;i=o+20|0;j=o+16|0;k=o+12|0;m=o+8|0;n=o+4|0;f=o;c[h>>2]=a;c[i>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=12;while(1){if((c[m>>2]|0)>=(c[k>>2]|0))break;c[f>>2]=(c[j>>2]|0)+((c[m>>2]|0)-1<<2);g[n>>2]=+g[c[f>>2]>>2]*+g[c[i>>2]>>2]+ +g[(c[f>>2]|0)+-4>>2]*+g[(c[i>>2]|0)+4>>2]+ +g[(c[f>>2]|0)+-8>>2]*+g[(c[i>>2]|0)+8>>2]+ +g[(c[f>>2]|0)+-12>>2]*+g[(c[i>>2]|0)+12>>2]+ +g[(c[f>>2]|0)+-16>>2]*+g[(c[i>>2]|0)+16>>2]+ +g[(c[f>>2]|0)+-20>>2]*+g[(c[i>>2]|0)+20>>2]+ +g[(c[f>>2]|0)+-24>>2]*+g[(c[i>>2]|0)+24>>2]+ +g[(c[f>>2]|0)+-28>>2]*+g[(c[i>>2]|0)+28>>2]+ +g[(c[f>>2]|0)+-32>>2]*+g[(c[i>>2]|0)+32>>2]+ +g[(c[f>>2]|0)+-36>>2]*+g[(c[i>>2]|0)+36>>2]+ +g[(c[f>>2]|0)+-40>>2]*+g[(c[i>>2]|0)+40>>2]+ +g[(c[f>>2]|0)+-44>>2]*+g[(c[i>>2]|0)+44>>2];g[(c[h>>2]|0)+(c[m>>2]<<2)>>2]=+g[(c[f>>2]|0)+4>>2]-+g[n>>2];c[m>>2]=(c[m>>2]|0)+1}l=o;return}function Ng(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;h=o+24|0;i=o+20|0;j=o+16|0;k=o+12|0;m=o+8|0;n=o+4|0;f=o;c[h>>2]=a;c[i>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=16;while(1){if((c[m>>2]|0)>=(c[k>>2]|0))break;c[f>>2]=(c[j>>2]|0)+((c[m>>2]|0)-1<<2);g[n>>2]=+g[c[f>>2]>>2]*+g[c[i>>2]>>2]+ +g[(c[f>>2]|0)+-4>>2]*+g[(c[i>>2]|0)+4>>2]+ +g[(c[f>>2]|0)+-8>>2]*+g[(c[i>>2]|0)+8>>2]+ +g[(c[f>>2]|0)+-12>>2]*+g[(c[i>>2]|0)+12>>2]+ +g[(c[f>>2]|0)+-16>>2]*+g[(c[i>>2]|0)+16>>2]+ +g[(c[f>>2]|0)+-20>>2]*+g[(c[i>>2]|0)+20>>2]+ +g[(c[f>>2]|0)+-24>>2]*+g[(c[i>>2]|0)+24>>2]+ +g[(c[f>>2]|0)+-28>>2]*+g[(c[i>>2]|0)+28>>2]+ +g[(c[f>>2]|0)+-32>>2]*+g[(c[i>>2]|0)+32>>2]+ +g[(c[f>>2]|0)+-36>>2]*+g[(c[i>>2]|0)+36>>2]+ +g[(c[f>>2]|0)+-40>>2]*+g[(c[i>>2]|0)+40>>2]+ +g[(c[f>>2]|0)+-44>>2]*+g[(c[i>>2]|0)+44>>2]+ +g[(c[f>>2]|0)+-48>>2]*+g[(c[i>>2]|0)+48>>2]+ +g[(c[f>>2]|0)+-52>>2]*+g[(c[i>>2]|0)+52>>2]+ +g[(c[f>>2]|0)+-56>>2]*+g[(c[i>>2]|0)+56>>2]+ +g[(c[f>>2]|0)+-60>>2]*+g[(c[i>>2]|0)+60>>2];g[(c[h>>2]|0)+(c[m>>2]<<2)>>2]=+g[(c[f>>2]|0)+4>>2]-+g[n>>2];c[m>>2]=(c[m>>2]|0)+1}l=o;return}function Og(a,b,d,e,f,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;z=l;l=l+80|0;A=z+76|0;B=z+72|0;k=z+68|0;m=z+64|0;n=z+60|0;o=z+56|0;p=z+52|0;q=z+48|0;r=z+44|0;s=z+40|0;t=z+20|0;u=z+16|0;v=z+12|0;w=z+8|0;x=z+4|0;y=z;c[A>>2]=a;c[B>>2]=b;c[k>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=h;c[p>>2]=i;c[q>>2]=j;c[r>>2]=c[B>>2];c[u>>2]=c[A>>2];c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[p>>2]|0))break;c[s>>2]=(c[r>>2]|0)+(0-(c[(c[m>>2]|0)+(c[w>>2]<<2)>>2]|0)<<2);g[v>>2]=+g[(c[n>>2]|0)+(c[w>>2]<<2)>>2];c[x>>2]=0;while(1){if((c[x>>2]|0)>=5)break;g[t+(c[x>>2]<<2)>>2]=+g[(c[k>>2]|0)+(((c[w>>2]|0)*5|0)+(c[x>>2]|0)<<2)>>2];c[x>>2]=(c[x>>2]|0)+1}c[x>>2]=0;while(1){if((c[x>>2]|0)>=((c[o>>2]|0)+(c[q>>2]|0)|0))break;g[(c[u>>2]|0)+(c[x>>2]<<2)>>2]=+g[(c[r>>2]|0)+(c[x>>2]<<2)>>2];c[y>>2]=0;while(1){if((c[y>>2]|0)>=5)break;B=(c[u>>2]|0)+(c[x>>2]<<2)|0;g[B>>2]=+g[B>>2]-+g[t+(c[y>>2]<<2)>>2]*+g[(c[s>>2]|0)+(2-(c[y>>2]|0)<<2)>>2];c[y>>2]=(c[y>>2]|0)+1}B=(c[u>>2]|0)+(c[x>>2]<<2)|0;g[B>>2]=+g[B>>2]*+g[v>>2];c[s>>2]=(c[s>>2]|0)+4;c[x>>2]=(c[x>>2]|0)+1}c[u>>2]=(c[u>>2]|0)+((c[o>>2]|0)+(c[q>>2]|0)<<2);c[r>>2]=(c[r>>2]|0)+(c[o>>2]<<2);c[w>>2]=(c[w>>2]|0)+1}l=z;return}function Pg(d,e,f){d=d|0;e=e|0;f=f|0;var h=0.0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;j=m+12|0;k=m+8|0;n=m+4|0;i=m;c[j>>2]=d;c[k>>2]=e;c[n>>2]=f;d=c[j>>2]|0;if(!(c[n>>2]|0)){c[i>>2]=(c[d+4640>>2]|0)+(c[(c[j>>2]|0)+5776>>2]|0);if(!(+(c[i>>2]|0)*+g[(c[k>>2]|0)+872>>2]*.10000000149011612>2.0))if(+(c[i>>2]|0)*+g[(c[k>>2]|0)+872>>2]*.10000000149011612<0.0)h=0.0;else h=+(c[i>>2]|0)*+g[(c[k>>2]|0)+872>>2]*.10000000149011612;else h=2.0;e=~~h;d=c[j>>2]|0}else e=0;a[d+4768+33>>0]=e;g[(c[k>>2]|0)+224>>2]=+(b[24566+(a[(c[j>>2]|0)+4768+33>>0]<<1)>>1]|0)/16384.0;l=m;return}function Qg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0;P=l;l=l+1152|0;L=P+1140|0;M=P+1136|0;F=P+1132|0;R=P+1128|0;N=P+1124|0;O=P+1120|0;h=P+1116|0;i=P+1112|0;G=P+1108|0;H=P+1104|0;I=P+1100|0;j=P+1096|0;k=P+1092|0;m=P+1088|0;n=P+1084|0;o=P+1080|0;p=P+1076|0;q=P+1072|0;r=P+1068|0;s=P+1064|0;t=P+1060|0;J=P+1056|0;K=P+1052|0;u=P+1048|0;v=P+88|0;w=P+20|0;x=P+16|0;y=P+12|0;z=P+8|0;D=P+4|0;E=P;c[L>>2]=b;c[M>>2]=d;c[F>>2]=e;c[R>>2]=f;c[N>>2]=(c[L>>2]|0)+7200;c[x>>2]=(c[R>>2]|0)+(0-(c[(c[L>>2]|0)+4624>>2]|0)<<2);g[i>>2]=+(c[(c[L>>2]|0)+4748>>2]|0)*.0078125;g[(c[M>>2]|0)+856>>2]=+((c[(c[L>>2]|0)+4728>>2]|0)+(c[(c[L>>2]|0)+4728+4>>2]|0)|0)*.5*.000030517578125;Q=+Rg((+g[i>>2]-20.0)*.25);g[(c[M>>2]|0)+860>>2]=Q;if(!(c[(c[L>>2]|0)+4708>>2]|0)){g[K>>2]=1.0-+(c[(c[L>>2]|0)+4556>>2]|0)*.00390625;g[i>>2]=+g[i>>2]-+g[(c[M>>2]|0)+860>>2]*2.0*(+g[(c[M>>2]|0)+856>>2]*.5+.5)*+g[K>>2]*+g[K>>2]}b=c[L>>2]|0;if((a[(c[L>>2]|0)+4768+29>>0]|0)==2)g[i>>2]=+g[i>>2]+ +g[b+12236>>2]*2.0;else g[i>>2]=+g[i>>2]+(+(c[b+4748>>2]|0)*-.4000000059604645*.0078125+6.0)*(1.0-+g[(c[M>>2]|0)+856>>2]);b=c[L>>2]|0;if((a[(c[L>>2]|0)+4768+29>>0]|0)==2){a[b+4768+30>>0]=0;g[(c[M>>2]|0)+864>>2]=0.0}else{c[h>>2]=c[b+4600>>2]<<1;g[o>>2]=0.0;g[n>>2]=0.0;c[y>>2]=c[F>>2];c[O>>2]=0;while(1){if((c[O>>2]|0)>=((((c[(c[L>>2]|0)+4604>>2]&65535)<<16>>16)*5|0)/2|0|0))break;Q=+(c[h>>2]|0);g[j>>2]=Q+ +ph(c[y>>2]|0,c[h>>2]|0);g[m>>2]=+Sg(+g[j>>2]);if((c[O>>2]|0)>0){Q=+A(+(+g[m>>2]-+g[n>>2]));g[o>>2]=+g[o>>2]+Q}g[n>>2]=+g[m>>2];c[y>>2]=(c[y>>2]|0)+(c[h>>2]<<2);c[O>>2]=(c[O>>2]|0)+1}Q=+Rg((+g[o>>2]-5.0)*.4000000059604645);g[(c[M>>2]|0)+864>>2]=Q;a[(c[L>>2]|0)+4768+30>>0]=+g[(c[M>>2]|0)+864>>2]>.75?0:1;g[i>>2]=+g[i>>2]+(+g[(c[M>>2]|0)+864>>2]-.5)*2.0}g[J>>2]=+g[(c[M>>2]|0)+868>>2]*1.0000000474974513e-03;Q=.949999988079071/(+g[J>>2]*+g[J>>2]+1.0);g[r>>2]=Q;g[q>>2]=Q;g[p>>2]=(1.0-+g[(c[M>>2]|0)+860>>2]*.75)*.009999999776482582;g[q>>2]=+g[q>>2]-+g[p>>2];g[r>>2]=+g[r>>2]+ +g[p>>2];g[q>>2]=+g[q>>2]/+g[r>>2];if((c[(c[L>>2]|0)+4704>>2]|0)>0)g[u>>2]=+(c[(c[L>>2]|0)+4704>>2]|0)/65536.0+ +g[(c[M>>2]|0)+860>>2]*.009999999776482582;else g[u>>2]=0.0;c[O>>2]=0;while(1){if((c[O>>2]|0)>=(c[(c[L>>2]|0)+4604>>2]|0))break;c[E>>2]=(c[(c[L>>2]|0)+4600>>2]|0)*3;c[D>>2]=((c[(c[L>>2]|0)+4628>>2]|0)-(c[E>>2]|0)|0)/2|0;sg(v,c[x>>2]|0,1,c[D>>2]|0);c[z>>2]=c[D>>2];_i(v+(c[z>>2]<<2)|0,(c[x>>2]|0)+(c[z>>2]<<2)|0,c[E>>2]<<2|0)|0;c[z>>2]=(c[z>>2]|0)+(c[E>>2]|0);sg(v+(c[z>>2]<<2)|0,(c[x>>2]|0)+(c[z>>2]<<2)|0,2,c[D>>2]|0);c[x>>2]=(c[x>>2]|0)+(c[(c[L>>2]|0)+4612>>2]<<2);if((c[(c[L>>2]|0)+4704>>2]|0)>0)fh(w,v,+g[u>>2],c[(c[L>>2]|0)+4628>>2]|0,c[(c[L>>2]|0)+4660>>2]|0);else mh(w,v,c[(c[L>>2]|0)+4628>>2]|0,(c[(c[L>>2]|0)+4660>>2]|0)+1|0);g[w>>2]=+g[w>>2]+ +g[w>>2]*4.999999873689376e-05;g[j>>2]=+sh((c[M>>2]|0)+500+(c[O>>2]<<4<<2)|0,w,c[(c[L>>2]|0)+4660>>2]|0);Q=+B(+(+g[j>>2]));g[(c[M>>2]|0)+(c[O>>2]<<2)>>2]=Q;if((c[(c[L>>2]|0)+4704>>2]|0)>0){Q=+Tg((c[M>>2]|0)+500+(c[O>>2]<<4<<2)|0,+g[u>>2],c[(c[L>>2]|0)+4660>>2]|0);R=(c[M>>2]|0)+(c[O>>2]<<2)|0;g[R>>2]=+g[R>>2]*Q}oh((c[M>>2]|0)+500+(c[O>>2]<<4<<2)|0,c[(c[L>>2]|0)+4660>>2]|0,+g[r>>2]);_i((c[M>>2]|0)+244+(c[O>>2]<<4<<2)|0,(c[M>>2]|0)+500+(c[O>>2]<<4<<2)|0,c[(c[L>>2]|0)+4660>>2]<<2|0)|0;oh((c[M>>2]|0)+244+(c[O>>2]<<4<<2)|0,c[(c[L>>2]|0)+4660>>2]|0,+g[q>>2]);g[k>>2]=+th((c[M>>2]|0)+500+(c[O>>2]<<4<<2)|0,c[(c[L>>2]|0)+4660>>2]|0);g[j>>2]=+th((c[M>>2]|0)+244+(c[O>>2]<<4<<2)|0,c[(c[L>>2]|0)+4660>>2]|0);g[(c[M>>2]|0)+788+(c[O>>2]<<2)>>2]=1.0-(1.0-+g[k>>2]/+g[j>>2])*.699999988079071;Ug((c[M>>2]|0)+500+(c[O>>2]<<4<<2)|0,(c[M>>2]|0)+244+(c[O>>2]<<4<<2)|0,+g[u>>2],3.999000072479248,c[(c[L>>2]|0)+4660>>2]|0);c[O>>2]=(c[O>>2]|0)+1}g[s>>2]=+C(2.0,+(+g[i>>2]*-.1599999964237213));g[t>>2]=+C(2.0,.3199999928474426);c[O>>2]=0;while(1){if((c[O>>2]|0)>=(c[(c[L>>2]|0)+4604>>2]|0))break;R=(c[M>>2]|0)+(c[O>>2]<<2)|0;g[R>>2]=+g[R>>2]*+g[s>>2];R=(c[M>>2]|0)+(c[O>>2]<<2)|0;g[R>>2]=+g[R>>2]+ +g[t>>2];c[O>>2]=(c[O>>2]|0)+1}g[s>>2]=+g[(c[M>>2]|0)+860>>2]*.10000000149011612+1.0499999523162842;c[O>>2]=0;while(1){if((c[O>>2]|0)>=(c[(c[L>>2]|0)+4604>>2]|0))break;R=(c[M>>2]|0)+788+(c[O>>2]<<2)|0;g[R>>2]=+g[R>>2]*+g[s>>2];c[O>>2]=(c[O>>2]|0)+1}g[J>>2]=((+(c[(c[L>>2]|0)+4728>>2]|0)*.000030517578125-1.0)*.5+1.0)*4.0;g[J>>2]=+g[J>>2]*(+(c[(c[L>>2]|0)+4556>>2]|0)*.00390625);if((a[(c[L>>2]|0)+4768+29>>0]|0)==2){c[O>>2]=0;while(1){b=c[L>>2]|0;if((c[O>>2]|0)>=(c[(c[L>>2]|0)+4604>>2]|0))break;g[K>>2]=.20000000298023224/+(c[b+4600>>2]|0)+3.0/+(c[(c[M>>2]|0)+228+(c[O>>2]<<2)>>2]|0);g[(c[M>>2]|0)+756+(c[O>>2]<<2)>>2]=+g[K>>2]+-1.0;g[(c[M>>2]|0)+772+(c[O>>2]<<2)>>2]=1.0-+g[K>>2]-+g[K>>2]*+g[J>>2];c[O>>2]=(c[O>>2]|0)+1}g[I>>2]=-.25-+(c[b+4556>>2]|0)*.26249998807907104*.00390625}else{g[K>>2]=1.2999999523162842/+(c[(c[L>>2]|0)+4600>>2]|0);g[(c[M>>2]|0)+756>>2]=+g[K>>2]+-1.0;g[(c[M>>2]|0)+772>>2]=1.0-+g[K>>2]-+g[K>>2]*+g[J>>2]*.6000000238418579;c[O>>2]=1;while(1){if((c[O>>2]|0)>=(c[(c[L>>2]|0)+4604>>2]|0))break;g[(c[M>>2]|0)+756+(c[O>>2]<<2)>>2]=+g[(c[M>>2]|0)+756>>2];g[(c[M>>2]|0)+772+(c[O>>2]<<2)>>2]=+g[(c[M>>2]|0)+772>>2];c[O>>2]=(c[O>>2]|0)+1}g[I>>2]=-.25}g[G>>2]=(1.0-+g[(c[M>>2]|0)+860>>2])*.10000000149011612*+g[(c[L>>2]|0)+12236>>2];g[G>>2]=+g[G>>2]+(1.0-+g[(c[M>>2]|0)+856>>2])*.10000000149011612;if((a[(c[L>>2]|0)+4768+29>>0]|0)==2){g[H>>2]=.30000001192092896;g[H>>2]=+g[H>>2]+(1.0-(1.0-+g[(c[M>>2]|0)+860>>2])*+g[(c[M>>2]|0)+856>>2])*.20000000298023224;Q=+B(+(+g[(c[L>>2]|0)+12236>>2]));g[H>>2]=+g[H>>2]*Q}else g[H>>2]=0.0;c[O>>2]=0;while(1){if((c[O>>2]|0)>=(c[(c[L>>2]|0)+4604>>2]|0))break;R=(c[N>>2]|0)+4|0;g[R>>2]=+g[R>>2]+(+g[G>>2]-+g[(c[N>>2]|0)+4>>2])*.4000000059604645;g[(c[M>>2]|0)+804+(c[O>>2]<<2)>>2]=+g[(c[N>>2]|0)+4>>2];R=(c[N>>2]|0)+8|0;g[R>>2]=+g[R>>2]+(+g[H>>2]-+g[(c[N>>2]|0)+8>>2])*.4000000059604645;g[(c[M>>2]|0)+836+(c[O>>2]<<2)>>2]=+g[(c[N>>2]|0)+8>>2];R=(c[N>>2]|0)+12|0;g[R>>2]=+g[R>>2]+(+g[I>>2]-+g[(c[N>>2]|0)+12>>2])*.4000000059604645;g[(c[M>>2]|0)+820+(c[O>>2]<<2)>>2]=+g[(c[N>>2]|0)+12>>2];c[O>>2]=(c[O>>2]|0)+1}l=P;return}function Rg(a){a=+a;var b=0,c=0;b=l;l=l+16|0;c=b;g[c>>2]=a;a=1.0/(+K(+-+g[c>>2])+1.0);l=b;return +a}function Sg(a){a=+a;var b=0,c=0;b=l;l=l+16|0;c=b;h[c>>3]=a;a=+Ti(+h[c>>3])*3.32192809488736;l=b;return +a}function Tg(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;k=j+8|0;h=j+4|0;i=j;c[e>>2]=a;g[f>>2]=b;c[k>>2]=d;g[f>>2]=-+g[f>>2];g[i>>2]=+g[(c[e>>2]|0)+((c[k>>2]|0)-1<<2)>>2];c[h>>2]=(c[k>>2]|0)-2;while(1){b=+g[f>>2]*+g[i>>2];if((c[h>>2]|0)<0)break;g[i>>2]=b+ +g[(c[e>>2]|0)+(c[h>>2]<<2)>>2];c[h>>2]=(c[h>>2]|0)+-1}l=j;return +(1.0/(1.0-b))}function Ug(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=+e;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+64|0;q=v+48|0;r=v+44|0;s=v+40|0;t=v+36|0;u=v+32|0;h=v+28|0;i=v+24|0;j=v+20|0;k=v+16|0;m=v+12|0;n=v+8|0;o=v+4|0;p=v;c[q>>2]=a;c[r>>2]=b;g[s>>2]=d;g[t>>2]=e;c[u>>2]=f;c[j>>2]=0;c[h>>2]=(c[u>>2]|0)-1;while(1){d=+g[s>>2];if((c[h>>2]|0)<=0)break;f=(c[q>>2]|0)+((c[h>>2]|0)-1<<2)|0;g[f>>2]=+g[f>>2]-d*+g[(c[q>>2]|0)+(c[h>>2]<<2)>>2];f=(c[r>>2]|0)+((c[h>>2]|0)-1<<2)|0;g[f>>2]=+g[f>>2]-+g[s>>2]*+g[(c[r>>2]|0)+(c[h>>2]<<2)>>2];c[h>>2]=(c[h>>2]|0)+-1}g[o>>2]=(1.0-d*+g[s>>2])/(+g[s>>2]*+g[c[q>>2]>>2]+1.0);g[p>>2]=(1.0-+g[s>>2]*+g[s>>2])/(+g[s>>2]*+g[c[r>>2]>>2]+1.0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[u>>2]|0))break;f=(c[q>>2]|0)+(c[h>>2]<<2)|0;g[f>>2]=+g[f>>2]*+g[o>>2];f=(c[r>>2]|0)+(c[h>>2]<<2)|0;g[f>>2]=+g[f>>2]*+g[p>>2];c[h>>2]=(c[h>>2]|0)+1}c[i>>2]=0;while(1){if((c[i>>2]|0)>=10){a=31;break}g[m>>2]=-1.0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[u>>2]|0))break;e=+A(+(+g[(c[q>>2]|0)+(c[h>>2]<<2)>>2]));if(e>+A(+(+g[(c[r>>2]|0)+(c[h>>2]<<2)>>2])))a=(c[q>>2]|0)+(c[h>>2]<<2)|0;else a=(c[r>>2]|0)+(c[h>>2]<<2)|0;g[k>>2]=+A(+(+g[a>>2]));if(+g[k>>2]>+g[m>>2]){g[m>>2]=+g[k>>2];c[j>>2]=c[h>>2]}c[h>>2]=(c[h>>2]|0)+1}if(+g[m>>2]<=+g[t>>2]){a=31;break}c[h>>2]=1;while(1){if((c[h>>2]|0)>=(c[u>>2]|0))break;f=(c[q>>2]|0)+((c[h>>2]|0)-1<<2)|0;g[f>>2]=+g[f>>2]+ +g[s>>2]*+g[(c[q>>2]|0)+(c[h>>2]<<2)>>2];f=(c[r>>2]|0)+((c[h>>2]|0)-1<<2)|0;g[f>>2]=+g[f>>2]+ +g[s>>2]*+g[(c[r>>2]|0)+(c[h>>2]<<2)>>2];c[h>>2]=(c[h>>2]|0)+1}g[o>>2]=1.0/+g[o>>2];g[p>>2]=1.0/+g[p>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[u>>2]|0))break;f=(c[q>>2]|0)+(c[h>>2]<<2)|0;g[f>>2]=+g[f>>2]*+g[o>>2];f=(c[r>>2]|0)+(c[h>>2]<<2)|0;g[f>>2]=+g[f>>2]*+g[p>>2];c[h>>2]=(c[h>>2]|0)+1}g[n>>2]=.9900000095367432-(+(c[i>>2]|0)*.10000000149011612+.800000011920929)*(+g[m>>2]-+g[t>>2])/(+g[m>>2]*+((c[j>>2]|0)+1|0));oh(c[q>>2]|0,c[u>>2]|0,+g[n>>2]);oh(c[r>>2]|0,c[u>>2]|0,+g[n>>2]);c[h>>2]=(c[u>>2]|0)-1;while(1){d=+g[s>>2];if((c[h>>2]|0)<=0)break;f=(c[q>>2]|0)+((c[h>>2]|0)-1<<2)|0;g[f>>2]=+g[f>>2]-d*+g[(c[q>>2]|0)+(c[h>>2]<<2)>>2];f=(c[r>>2]|0)+((c[h>>2]|0)-1<<2)|0;g[f>>2]=+g[f>>2]-+g[s>>2]*+g[(c[r>>2]|0)+(c[h>>2]<<2)>>2];c[h>>2]=(c[h>>2]|0)+-1}g[o>>2]=(1.0-d*+g[s>>2])/(+g[s>>2]*+g[c[q>>2]>>2]+1.0);g[p>>2]=(1.0-+g[s>>2]*+g[s>>2])/(+g[s>>2]*+g[c[r>>2]>>2]+1.0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[u>>2]|0))break;f=(c[q>>2]|0)+(c[h>>2]<<2)|0;g[f>>2]=+g[f>>2]*+g[o>>2];f=(c[r>>2]|0)+(c[h>>2]<<2)|0;g[f>>2]=+g[f>>2]*+g[p>>2];c[h>>2]=(c[h>>2]|0)+1}c[i>>2]=(c[i>>2]|0)+1}if((a|0)==31){l=v;return}}function Vg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=l;l=l+464|0;u=y+460|0;v=y+456|0;z=y+452|0;A=y+448|0;w=y+444|0;x=y+440|0;h=y+436|0;i=y+432|0;j=y+428|0;k=y+424|0;m=y+420|0;n=y+416|0;o=y+408|0;p=y+404|0;q=y+400|0;r=y+396|0;s=y+384|0;t=y;c[u>>2]=b;c[v>>2]=d;c[z>>2]=e;c[A>>2]=f;c[w>>2]=(c[u>>2]|0)+7216;c[q>>2]=c[A>>2];c[r>>2]=c[z>>2];c[i>>2]=c[(c[w>>2]|0)+2136>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[u>>2]|0)+4604>>2]|0))break;if((a[(c[u>>2]|0)+4768+29>>0]|0)==2)c[i>>2]=c[(c[v>>2]|0)+228+(c[h>>2]<<2)>>2];g[j>>2]=+g[(c[v>>2]|0)+836+(c[h>>2]<<2)>>2]*(1.0-+g[(c[v>>2]|0)+804+(c[h>>2]<<2)>>2]);g[s>>2]=+g[j>>2]*.25;g[s+4>>2]=+g[j>>2]*.4999847412109375;g[s+8>>2]=+g[j>>2]*.25;g[k>>2]=+g[(c[v>>2]|0)+820+(c[h>>2]<<2)>>2];g[m>>2]=+g[(c[v>>2]|0)+756+(c[h>>2]<<2)>>2];g[n>>2]=+g[(c[v>>2]|0)+772+(c[h>>2]<<2)>>2];c[p>>2]=(c[v>>2]|0)+244+(c[h>>2]<<4<<2);Wg((c[w>>2]|0)+2048|0,t,c[p>>2]|0,c[q>>2]|0,+(c[(c[u>>2]|0)+4704>>2]|0)/65536.0,c[(c[u>>2]|0)+4612>>2]|0,c[(c[u>>2]|0)+4660>>2]|0);g[o>>2]=+g[(c[v>>2]|0)+788+(c[h>>2]<<2)>>2];g[o+4>>2]=-+g[(c[v>>2]|0)+788+(c[h>>2]<<2)>>2]*(+g[(c[v>>2]|0)+804+(c[h>>2]<<2)>>2]*+g[j>>2]+.05000000074505806+ +g[(c[v>>2]|0)+860>>2]*.10000000149011612);g[c[r>>2]>>2]=+g[o>>2]*+g[t>>2]+ +g[o+4>>2]*+g[(c[w>>2]|0)+2128>>2];c[x>>2]=1;while(1){if((c[x>>2]|0)>=(c[(c[u>>2]|0)+4612>>2]|0))break;g[(c[r>>2]|0)+(c[x>>2]<<2)>>2]=+g[o>>2]*+g[t+(c[x>>2]<<2)>>2]+ +g[o+4>>2]*+g[t+((c[x>>2]|0)-1<<2)>>2];c[x>>2]=(c[x>>2]|0)+1}g[(c[w>>2]|0)+2128>>2]=+g[t+((c[(c[u>>2]|0)+4612>>2]|0)-1<<2)>>2];Xg(c[w>>2]|0,c[r>>2]|0,c[r>>2]|0,s,+g[k>>2],+g[m>>2],+g[n>>2],c[i>>2]|0,c[(c[u>>2]|0)+4612>>2]|0);c[q>>2]=(c[q>>2]|0)+(c[(c[u>>2]|0)+4612>>2]<<2);c[r>>2]=(c[r>>2]|0)+(c[(c[u>>2]|0)+4612>>2]<<2);c[h>>2]=(c[h>>2]|0)+1}c[(c[w>>2]|0)+2136>>2]=c[(c[v>>2]|0)+228+((c[(c[u>>2]|0)+4604>>2]|0)-1<<2)>>2];l=y;return}function Wg(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+48|0;t=w+44|0;u=w+40|0;v=w+36|0;j=w+32|0;k=w+28|0;m=w+24|0;n=w+20|0;o=w+16|0;p=w+12|0;q=w+8|0;r=w+4|0;s=w;c[t>>2]=a;c[u>>2]=b;c[v>>2]=d;c[j>>2]=e;g[k>>2]=f;c[m>>2]=h;c[n>>2]=i;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[m>>2]|0))break;g[s>>2]=+g[c[t>>2]>>2]+ +g[k>>2]*+g[(c[t>>2]|0)+4>>2];g[c[t>>2]>>2]=+g[(c[j>>2]|0)+(c[o>>2]<<2)>>2];g[r>>2]=+g[(c[t>>2]|0)+4>>2]+ +g[k>>2]*(+g[(c[t>>2]|0)+8>>2]-+g[s>>2]);g[(c[t>>2]|0)+4>>2]=+g[s>>2];g[q>>2]=+g[c[v>>2]>>2]*+g[s>>2];c[p>>2]=2;while(1){if((c[p>>2]|0)>=(c[n>>2]|0))break;g[s>>2]=+g[(c[t>>2]|0)+(c[p>>2]<<2)>>2]+ +g[k>>2]*(+g[(c[t>>2]|0)+((c[p>>2]|0)+1<<2)>>2]-+g[r>>2]);g[(c[t>>2]|0)+(c[p>>2]<<2)>>2]=+g[r>>2];g[q>>2]=+g[q>>2]+ +g[(c[v>>2]|0)+((c[p>>2]|0)-1<<2)>>2]*+g[r>>2];g[r>>2]=+g[(c[t>>2]|0)+((c[p>>2]|0)+1<<2)>>2]+ +g[k>>2]*(+g[(c[t>>2]|0)+((c[p>>2]|0)+2<<2)>>2]-+g[s>>2]);g[(c[t>>2]|0)+((c[p>>2]|0)+1<<2)>>2]=+g[s>>2];g[q>>2]=+g[q>>2]+ +g[(c[v>>2]|0)+(c[p>>2]<<2)>>2]*+g[s>>2];c[p>>2]=(c[p>>2]|0)+2}g[(c[t>>2]|0)+(c[n>>2]<<2)>>2]=+g[r>>2];g[q>>2]=+g[q>>2]+ +g[(c[v>>2]|0)+((c[n>>2]|0)-1<<2)>>2]*+g[r>>2];g[(c[u>>2]|0)+(c[o>>2]<<2)>>2]=+g[(c[j>>2]|0)+(c[o>>2]<<2)>>2]-+g[q>>2];c[o>>2]=(c[o>>2]|0)+1}l=w;return}function Xg(a,b,d,e,f,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;h=+h;i=+i;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=l;l=l+80|0;D=E+68|0;m=E+64|0;n=E+60|0;o=E+56|0;p=E+52|0;q=E+48|0;r=E+44|0;s=E+40|0;t=E+36|0;u=E+32|0;v=E+28|0;w=E+24|0;x=E+20|0;y=E+16|0;z=E+12|0;A=E+8|0;B=E+4|0;C=E;c[D>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;g[p>>2]=f;g[q>>2]=h;g[r>>2]=i;c[s>>2]=j;c[t>>2]=k;c[C>>2]=c[D>>2];c[w>>2]=c[(c[D>>2]|0)+2116>>2];g[A>>2]=+g[(c[D>>2]|0)+2120>>2];g[B>>2]=+g[(c[D>>2]|0)+2124>>2];c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[t>>2]|0))break;if((c[s>>2]|0)>0){c[v>>2]=(c[s>>2]|0)+(c[w>>2]|0);g[z>>2]=+g[(c[C>>2]|0)+(((c[v>>2]|0)-1-1&511)<<2)>>2]*+g[c[o>>2]>>2];g[z>>2]=+g[z>>2]+ +g[(c[C>>2]|0)+(((c[v>>2]|0)-1&511)<<2)>>2]*+g[(c[o>>2]|0)+4>>2];g[z>>2]=+g[z>>2]+ +g[(c[C>>2]|0)+(((c[v>>2]|0)-1+1&511)<<2)>>2]*+g[(c[o>>2]|0)+8>>2]}else g[z>>2]=0.0;g[x>>2]=+g[A>>2]*+g[p>>2];g[y>>2]=+g[A>>2]*+g[r>>2]+ +g[B>>2]*+g[q>>2];g[A>>2]=+g[(c[m>>2]|0)+(c[u>>2]<<2)>>2]-+g[x>>2];g[B>>2]=+g[A>>2]-+g[y>>2];c[w>>2]=(c[w>>2]|0)-1&511;g[(c[C>>2]|0)+(c[w>>2]<<2)>>2]=+g[B>>2];g[(c[n>>2]|0)+(c[u>>2]<<2)>>2]=+g[B>>2]-+g[z>>2];c[u>>2]=(c[u>>2]|0)+1}g[(c[D>>2]|0)+2120>>2]=+g[A>>2];g[(c[D>>2]|0)+2124>>2]=+g[B>>2];c[(c[D>>2]|0)+2116>>2]=c[w>>2];l=E;return}function Yg(d,e,f){d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;s=l;l=l+64|0;m=s+48|0;n=s+44|0;o=s+40|0;p=s+36|0;q=s+32|0;r=s+16|0;j=s+12|0;h=s+8|0;i=s+4|0;k=s;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=(c[m>>2]|0)+7200;a:do if((a[(c[m>>2]|0)+4768+29>>0]|0)==2){g[j>>2]=1.0-+Zg((+g[(c[n>>2]|0)+872>>2]-12.0)*.25)*.5;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[m>>2]|0)+4604>>2]|0))break a;f=(c[n>>2]|0)+(c[q>>2]<<2)|0;g[f>>2]=+g[f>>2]*+g[j>>2];c[q>>2]=(c[q>>2]|0)+1}}while(0);t=+C(2.0,+((21.0-+(c[(c[m>>2]|0)+4748>>2]|0)*.0078125)*.33000001311302185));g[h>>2]=t/+(c[(c[m>>2]|0)+4612>>2]|0);c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[m>>2]|0)+4604>>2]|0))break;g[i>>2]=+g[(c[n>>2]|0)+(c[q>>2]<<2)>>2];g[i>>2]=+B(+(+g[i>>2]*+g[i>>2]+ +g[(c[n>>2]|0)+876+(c[q>>2]<<2)>>2]*+g[h>>2]));g[(c[n>>2]|0)+(c[q>>2]<<2)>>2]=+g[i>>2]<32767.0?+g[i>>2]:32767.0;c[q>>2]=(c[q>>2]|0)+1}c[q>>2]=0;while(1){d=c[n>>2]|0;if((c[q>>2]|0)>=(c[(c[m>>2]|0)+4604>>2]|0))break;c[r+(c[q>>2]<<2)>>2]=~~(+g[d+(c[q>>2]<<2)>>2]*65536.0);c[q>>2]=(c[q>>2]|0)+1}_i(d+892|0,r|0,c[(c[m>>2]|0)+4604>>2]<<2|0)|0;a[(c[n>>2]|0)+908>>0]=a[c[p>>2]>>0]|0;Jd((c[m>>2]|0)+4768|0,r,c[p>>2]|0,(c[o>>2]|0)==2&1,c[(c[m>>2]|0)+4604>>2]|0);c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[m>>2]|0)+4604>>2]|0))break;g[(c[n>>2]|0)+(c[q>>2]<<2)>>2]=+(c[r+(c[q>>2]<<2)>>2]|0)/65536.0;c[q>>2]=(c[q>>2]|0)+1}if((a[(c[m>>2]|0)+4768+29>>0]|0)==2)a[(c[m>>2]|0)+4768+30>>0]=+g[(c[n>>2]|0)+872>>2]+ +(c[(c[m>>2]|0)+4744>>2]|0)*.000030517578125>1.0?0:1;g[k>>2]=+(b[24558+(a[(c[m>>2]|0)+4768+29>>0]>>1<<2)+(a[(c[m>>2]|0)+4768+30>>0]<<1)>>1]|0)/1024.0;g[(c[n>>2]|0)+852>>2]=+(c[(c[m>>2]|0)+4652>>2]|0)*-.05000000074505806+1.2000000476837158+ +(c[(c[m>>2]|0)+4556>>2]|0)*-.20000000298023224*.00390625+ +g[(c[n>>2]|0)+856>>2]*-.10000000149011612+ +g[(c[n>>2]|0)+860>>2]*-.20000000298023224+ +g[k>>2]*.800000011920929;l=s;return}function Zg(a){a=+a;var b=0,c=0;b=l;l=l+16|0;c=b;g[c>>2]=a;a=1.0/(+K(+-+g[c>>2])+1.0);l=b;return +a}function _g(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[h>>2]=b;g[i>>2]=d;c[j>>2]=e;c[k>>2]=0;while(1){d=+g[i>>2];if((c[k>>2]|0)>=(c[j>>2]|0))break;e=N(c[k>>2]|0,c[j>>2]|0)|0;e=(c[f>>2]|0)+(e+(c[k>>2]|0)<<2)|0;g[e>>2]=+g[e>>2]+d;c[k>>2]=(c[k>>2]|0)+1}k=c[h>>2]|0;g[k>>2]=+g[k>>2]+d;l=m;return}function $g(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;o=t+40|0;p=t+36|0;q=t+32|0;r=t+28|0;s=t+24|0;h=t+20|0;i=t+16|0;j=t+12|0;k=t+8|0;m=t+4|0;n=t;c[o>>2]=a;c[p>>2]=b;c[q>>2]=d;g[r>>2]=e;c[s>>2]=f;g[m>>2]=0.0;g[n>>2]=(+g[c[p>>2]>>2]+ +g[(c[p>>2]|0)+((N(c[s>>2]|0,c[s>>2]|0)|0)-1<<2)>>2])*9.99999993922529e-09;c[j>>2]=0;while(1){if((c[j>>2]|0)>=10)break;g[m>>2]=+g[r>>2];g[k>>2]=0.0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[s>>2]|0))break;g[k>>2]=+g[k>>2]+ +g[(c[q>>2]|0)+(c[h>>2]<<2)>>2]*+g[(c[o>>2]|0)+(c[h>>2]<<2)>>2];c[h>>2]=(c[h>>2]|0)+1}g[m>>2]=+g[m>>2]-+g[k>>2]*2.0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[s>>2]|0))break;g[k>>2]=0.0;c[i>>2]=(c[h>>2]|0)+1;while(1){if((c[i>>2]|0)>=(c[s>>2]|0))break;e=+g[(c[p>>2]|0)+((c[h>>2]|0)+(N(c[s>>2]|0,c[i>>2]|0)|0)<<2)>>2];g[k>>2]=+g[k>>2]+e*+g[(c[o>>2]|0)+(c[i>>2]<<2)>>2];c[i>>2]=(c[i>>2]|0)+1}e=+g[(c[p>>2]|0)+((c[h>>2]|0)+(N(c[s>>2]|0,c[h>>2]|0)|0)<<2)>>2];g[m>>2]=+g[m>>2]+ +g[(c[o>>2]|0)+(c[h>>2]<<2)>>2]*(+g[k>>2]*2.0+e*+g[(c[o>>2]|0)+(c[h>>2]<<2)>>2]);c[h>>2]=(c[h>>2]|0)+1}if(+g[m>>2]>0.0)break;c[h>>2]=0;while(1){e=+g[n>>2];if((c[h>>2]|0)>=(c[s>>2]|0))break;f=(c[p>>2]|0)+((c[h>>2]|0)+(N(c[s>>2]|0,c[h>>2]|0)|0)<<2)|0;g[f>>2]=+g[f>>2]+e;c[h>>2]=(c[h>>2]|0)+1}g[n>>2]=e*2.0;c[j>>2]=(c[j>>2]|0)+1}if((c[j>>2]|0)!=10){e=+g[m>>2];l=t;return +e}g[m>>2]=1.0;e=+g[m>>2];l=t;return +e}function ah(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0;t=l;l=l+816|0;q=t+800|0;r=t+796|0;s=t+792|0;j=t+788|0;k=t+784|0;u=t+780|0;m=t+776|0;n=t+772|0;o=t+768|0;p=t;c[q>>2]=a;c[r>>2]=b;c[s>>2]=d;c[j>>2]=e;c[k>>2]=f;c[u>>2]=h;c[m>>2]=i;c[o>>2]=p+(c[m>>2]<<2);c[n>>2]=(c[m>>2]|0)+(c[k>>2]|0);Ig(p,c[s>>2]|0,(c[r>>2]|0)+(0<<2)|0,c[n>>2]<<1,c[m>>2]|0);v=+g[c[j>>2]>>2]*+g[c[j>>2]>>2];v=v*+ph((c[o>>2]|0)+(0<<2)|0,c[k>>2]|0);g[c[q>>2]>>2]=v;v=+g[(c[j>>2]|0)+4>>2]*+g[(c[j>>2]|0)+4>>2];v=v*+ph((c[o>>2]|0)+(c[n>>2]<<2)|0,c[k>>2]|0);g[(c[q>>2]|0)+4>>2]=v;if((c[u>>2]|0)!=4){l=t;return}Ig(p,(c[s>>2]|0)+64|0,(c[r>>2]|0)+(c[n>>2]<<1<<2)|0,c[n>>2]<<1,c[m>>2]|0);v=+g[(c[j>>2]|0)+8>>2]*+g[(c[j>>2]|0)+8>>2];v=v*+ph((c[o>>2]|0)+(0<<2)|0,c[k>>2]|0);g[(c[q>>2]|0)+8>>2]=v;v=+g[(c[j>>2]|0)+12>>2]*+g[(c[j>>2]|0)+12>>2];v=v*+ph((c[o>>2]|0)+(c[n>>2]<<2)|0,c[k>>2]|0);g[(c[q>>2]|0)+12>>2]=v;l=t;return}function bh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;n=l;l=l+1184|0;p=n+1168|0;i=n+1164|0;o=n+1160|0;j=n+1156|0;k=n+1152|0;m=n+128|0;f=n+64|0;h=n;c[p>>2]=a;c[i>>2]=b;c[o>>2]=d;c[j>>2]=e;ch(c[p>>2]|0,c[i>>2]|0,m,h);dh(m,c[i>>2]|0,c[o>>2]|0,f);c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[i>>2]|0))break;g[f+(c[k>>2]<<2)>>2]=+g[f+(c[k>>2]<<2)>>2]*+g[h+(c[k>>2]<<2)>>2];c[k>>2]=(c[k>>2]|0)+1}eh(m,c[i>>2]|0,f,c[j>>2]|0);l=n;return}function ch(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+192|0;r=y+184|0;s=y+180|0;t=y+176|0;u=y+172|0;v=y+168|0;w=y+164|0;f=y+160|0;i=y+156|0;j=y+152|0;k=y+148|0;m=y+144|0;n=y+8|0;o=y;p=y+80|0;q=y+16|0;c[r>>2]=a;c[s>>2]=b;c[t>>2]=d;c[u>>2]=e;c[j>>2]=1;h[o>>3]=(+g[c[r>>2]>>2]+ +g[(c[r>>2]|0)+((N(c[s>>2]|0,c[s>>2]|0)|0)-1<<2)>>2])*4.999999873689376e-06;c[i>>2]=0;while(1){if(!((c[i>>2]|0)<(c[s>>2]|0)?(c[j>>2]|0)==1:0))break;c[j>>2]=0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[s>>2]|0))break;c[k>>2]=(c[t>>2]|0)+((N(c[w>>2]|0,c[s>>2]|0)|0)+0<<2);e=N(c[w>>2]|0,c[s>>2]|0)|0;h[n>>3]=+g[(c[r>>2]|0)+(e+(c[w>>2]|0)<<2)>>2];c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[w>>2]|0))break;g[p+(c[v>>2]<<2)>>2]=+g[(c[k>>2]|0)+(c[v>>2]<<2)>>2]*+g[q+(c[v>>2]<<2)>>2];h[n>>3]=+h[n>>3]-+g[(c[k>>2]|0)+(c[v>>2]<<2)>>2]*+g[p+(c[v>>2]<<2)>>2];c[v>>2]=(c[v>>2]|0)+1}if(+h[n>>3]<+h[o>>3]){x=9;break}g[q+(c[w>>2]<<2)>>2]=+h[n>>3];g[(c[u>>2]|0)+(c[w>>2]<<2)>>2]=1.0/+h[n>>3];e=N(c[w>>2]|0,c[s>>2]|0)|0;g[(c[t>>2]|0)+(e+(c[w>>2]|0)<<2)>>2]=1.0;c[k>>2]=(c[r>>2]|0)+((N(c[w>>2]|0,c[s>>2]|0)|0)+0<<2);c[m>>2]=(c[t>>2]|0)+((N((c[w>>2]|0)+1|0,c[s>>2]|0)|0)+0<<2);c[v>>2]=(c[w>>2]|0)+1;while(1){if((c[v>>2]|0)>=(c[s>>2]|0))break;h[n>>3]=0.0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[w>>2]|0))break;h[n>>3]=+h[n>>3]+ +g[(c[m>>2]|0)+(c[f>>2]<<2)>>2]*+g[p+(c[f>>2]<<2)>>2];c[f>>2]=(c[f>>2]|0)+1}e=N(c[v>>2]|0,c[s>>2]|0)|0;g[(c[t>>2]|0)+(e+(c[w>>2]|0)<<2)>>2]=(+g[(c[k>>2]|0)+(c[v>>2]<<2)>>2]-+h[n>>3])*+g[(c[u>>2]|0)+(c[w>>2]<<2)>>2];c[m>>2]=(c[m>>2]|0)+(c[s>>2]<<2);c[v>>2]=(c[v>>2]|0)+1}c[w>>2]=(c[w>>2]|0)+1}if((x|0)==9){x=0;h[n>>3]=+((c[i>>2]|0)+1|0)*+h[o>>3]-+h[n>>3];c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[s>>2]|0))break;e=N(c[v>>2]|0,c[s>>2]|0)|0;e=(c[r>>2]|0)+(e+(c[v>>2]|0)<<2)|0;g[e>>2]=+g[e>>2]+ +h[n>>3];c[v>>2]=(c[v>>2]|0)+1}c[j>>2]=1}c[i>>2]=(c[i>>2]|0)+1}l=y;return}function dh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;i=p+28|0;j=p+24|0;k=p+20|0;m=p+16|0;n=p+12|0;o=p+8|0;f=p+4|0;h=p;c[i>>2]=a;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[j>>2]|0))break;c[h>>2]=(c[i>>2]|0)+((N(c[n>>2]|0,c[j>>2]|0)|0)+0<<2);g[f>>2]=0.0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[n>>2]|0))break;g[f>>2]=+g[f>>2]+ +g[(c[h>>2]|0)+(c[o>>2]<<2)>>2]*+g[(c[m>>2]|0)+(c[o>>2]<<2)>>2];c[o>>2]=(c[o>>2]|0)+1}g[f>>2]=+g[(c[k>>2]|0)+(c[n>>2]<<2)>>2]-+g[f>>2];g[(c[m>>2]|0)+(c[n>>2]<<2)>>2]=+g[f>>2];c[n>>2]=(c[n>>2]|0)+1}l=p;return}function eh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0;p=l;l=l+32|0;i=p+28|0;j=p+24|0;k=p+20|0;m=p+16|0;n=p+12|0;o=p+8|0;f=p+4|0;h=p;c[i>>2]=a;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e;c[n>>2]=(c[j>>2]|0)-1;while(1){if((c[n>>2]|0)<0)break;c[h>>2]=(c[i>>2]|0)+(0+(c[n>>2]|0)<<2);g[f>>2]=0.0;c[o>>2]=(c[j>>2]|0)-1;while(1){if((c[o>>2]|0)<=(c[n>>2]|0))break;q=+g[(c[h>>2]|0)+((N(c[o>>2]|0,c[j>>2]|0)|0)<<2)>>2];g[f>>2]=+g[f>>2]+q*+g[(c[m>>2]|0)+(c[o>>2]<<2)>>2];c[o>>2]=(c[o>>2]|0)+-1}g[f>>2]=+g[(c[k>>2]|0)+(c[n>>2]<<2)>>2]-+g[f>>2];g[(c[m>>2]|0)+(c[n>>2]<<2)>>2]=+g[f>>2];c[n>>2]=(c[n>>2]|0)+-1}l=p;return}function fh(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+320|0;p=u+312|0;q=u+308|0;r=u+304|0;s=u+300|0;t=u+296|0;i=u+292|0;j=u+288|0;k=u+280|0;m=u+272|0;n=u+136|0;o=u;c[p>>2]=a;c[q>>2]=b;g[r>>2]=d;c[s>>2]=e;c[t>>2]=f;aj(n|0,0,136)|0;aj(o|0,0,136)|0;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[s>>2]|0))break;h[k>>3]=+g[(c[q>>2]|0)+(c[i>>2]<<2)>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[t>>2]|0))break;h[m>>3]=+h[n+(c[j>>2]<<3)>>3]+ +g[r>>2]*(+h[n+((c[j>>2]|0)+1<<3)>>3]-+h[k>>3]);h[n+(c[j>>2]<<3)>>3]=+h[k>>3];f=o+(c[j>>2]<<3)|0;h[f>>3]=+h[f>>3]+ +h[n>>3]*+h[k>>3];h[k>>3]=+h[n+((c[j>>2]|0)+1<<3)>>3]+ +g[r>>2]*(+h[n+((c[j>>2]|0)+2<<3)>>3]-+h[m>>3]);h[n+((c[j>>2]|0)+1<<3)>>3]=+h[m>>3];f=o+((c[j>>2]|0)+1<<3)|0;h[f>>3]=+h[f>>3]+ +h[n>>3]*+h[m>>3];c[j>>2]=(c[j>>2]|0)+2}h[n+(c[t>>2]<<3)>>3]=+h[k>>3];f=o+(c[t>>2]<<3)|0;h[f>>3]=+h[f>>3]+ +h[n>>3]*+h[k>>3];c[i>>2]=(c[i>>2]|0)+1}c[j>>2]=0;while(1){if((c[j>>2]|0)>=((c[t>>2]|0)+1|0))break;g[(c[p>>2]|0)+(c[j>>2]<<2)>>2]=+h[o+(c[j>>2]<<3)>>3];c[j>>2]=(c[j>>2]|0)+1}l=u;return}function gh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0;k=l;l=l+80|0;e=k+76|0;f=k+72|0;h=k+68|0;i=k+64|0;j=k;c[e>>2]=a;c[f>>2]=b;c[h>>2]=d;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[h>>2]|0))break;d=hh(+g[(c[f>>2]|0)+(c[i>>2]<<2)>>2]*65536.0)|0;c[j+(c[i>>2]<<2)>>2]=d;c[i>>2]=(c[i>>2]|0)+1}qf(c[e>>2]|0,j,c[h>>2]|0);l=k;return}function hh(a){a=+a;var b=0,c=0;c=l;l=l+16|0;b=c;g[b>>2]=a;b=Ui(+g[b>>2])|0;l=c;return b|0}function ih(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+48|0;f=k+12|0;m=k+8|0;h=k+4|0;i=k;j=k+16|0;c[f>>2]=a;c[m>>2]=d;c[h>>2]=e;Lf(j,c[m>>2]|0,c[h>>2]|0);c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[h>>2]|0))break;g[(c[f>>2]|0)+(c[i>>2]<<2)>>2]=+(b[j+(c[i>>2]<<1)>>1]|0)*.000244140625;c[i>>2]=(c[i>>2]|0)+1}l=k;return}function jh(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;n=l;l=l+96|0;i=n+20|0;j=n+16|0;p=n+12|0;o=n+8|0;k=n+4|0;m=n;h=n+24|0;c[i>>2]=a;c[j>>2]=d;c[p>>2]=e;c[o>>2]=f;Ze(c[i>>2]|0,h,c[p>>2]|0,c[o>>2]|0);c[m>>2]=0;while(1){if((c[m>>2]|0)>=2)break;c[k>>2]=0;while(1){a=c[m>>2]|0;if((c[k>>2]|0)>=(c[(c[i>>2]|0)+4664>>2]|0))break;g[(c[j>>2]|0)+(c[m>>2]<<6)+(c[k>>2]<<2)>>2]=+(b[h+(a<<5)+(c[k>>2]<<1)>>1]|0)*.000244140625;c[k>>2]=(c[k>>2]|0)+1}c[m>>2]=a+1}l=n;return}function kh(d,e,f,h,i,j){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+1632|0;z=D+1388|0;A=D+1384|0;B=D+1380|0;C=D+1376|0;k=D+1372|0;m=D+1368|0;n=D+1364|0;o=D+1360|0;p=D+80|0;q=D+64|0;r=D+1560|0;s=D+1520|0;t=D+56|0;u=D+1392|0;v=D+40|0;w=D+32|0;x=D+16|0;y=D;c[z>>2]=d;c[A>>2]=e;c[B>>2]=f;c[C>>2]=h;c[k>>2]=i;c[m>>2]=j;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[(c[z>>2]|0)+4604>>2]|0))break;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[(c[z>>2]|0)+4660>>2]|0))break;j=(hh(+g[(c[A>>2]|0)+500+((c[n>>2]<<4)+(c[o>>2]|0)<<2)>>2]*8192.0)|0)&65535;b[u+((c[n>>2]<<4)+(c[o>>2]|0)<<1)>>1]=j;c[o>>2]=(c[o>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=0;while(1){d=c[A>>2]|0;if((c[n>>2]|0)>=(c[(c[z>>2]|0)+4604>>2]|0))break;j=(hh(+g[d+772+(c[n>>2]<<2)>>2]*16384.0)|0)<<16;j=j|(hh(+g[(c[A>>2]|0)+756+(c[n>>2]<<2)>>2]*16384.0)|0)&65535;c[v+(c[n>>2]<<2)>>2]=j;j=hh(+g[(c[A>>2]|0)+820+(c[n>>2]<<2)>>2]*16384.0)|0;c[x+(c[n>>2]<<2)>>2]=j;j=hh(+g[(c[A>>2]|0)+836+(c[n>>2]<<2)>>2]*16384.0)|0;c[y+(c[n>>2]<<2)>>2]=j;c[n>>2]=(c[n>>2]|0)+1}c[w>>2]=hh(+g[d+852>>2]*1024.0)|0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=((c[(c[z>>2]|0)+4604>>2]|0)*5|0))break;j=(hh(+g[(c[A>>2]|0)+144+(c[n>>2]<<2)>>2]*16384.0)|0)&65535;b[s+(c[n>>2]<<1)>>1]=j;c[n>>2]=(c[n>>2]|0)+1}c[o>>2]=0;while(1){j=(c[o>>2]|0)<2;c[n>>2]=0;if(!j)break;while(1){if((c[n>>2]|0)>=(c[(c[z>>2]|0)+4664>>2]|0))break;j=(hh(+g[(c[A>>2]|0)+16+(c[o>>2]<<6)+(c[n>>2]<<2)>>2]*4096.0)|0)&65535;b[r+(c[o>>2]<<5)+(c[n>>2]<<1)>>1]=j;c[n>>2]=(c[n>>2]|0)+1}c[o>>2]=(c[o>>2]|0)+1}while(1){if((c[n>>2]|0)>=(c[(c[z>>2]|0)+4604>>2]|0))break;o=hh(+g[(c[A>>2]|0)+(c[n>>2]<<2)>>2]*65536.0)|0;c[q+(c[n>>2]<<2)>>2]=o;c[n>>2]=(c[n>>2]|0)+1}if((a[(c[B>>2]|0)+29>>0]|0)==2)c[t>>2]=b[24566+(a[(c[B>>2]|0)+33>>0]<<1)>>1];else c[t>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[(c[z>>2]|0)+4608>>2]|0))break;o=hh(+g[(c[m>>2]|0)+(c[n>>2]<<2)>>2]*8.0)|0;c[p+(c[n>>2]<<2)>>2]=o;c[n>>2]=(c[n>>2]|0)+1}if((c[(c[z>>2]|0)+4652>>2]|0)<=1?(c[(c[z>>2]|0)+4704>>2]|0)<=0:0){Xd(c[z>>2]|0,c[C>>2]|0,c[B>>2]|0,p,c[k>>2]|0,r,s,u,y,x,v,q,(c[A>>2]|0)+228|0,c[w>>2]|0,c[t>>2]|0);l=D;return}be(c[z>>2]|0,c[C>>2]|0,c[B>>2]|0,p,c[k>>2]|0,r,s,u,y,x,v,q,(c[A>>2]|0)+228|0,c[w>>2]|0,c[t>>2]|0);l=D;return}function lh(a,d,e,f,h,i,j,k,m){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+480|0;y=z+436|0;n=z+432|0;o=z+428|0;p=z+424|0;q=z+420|0;r=z+416|0;s=z+412|0;t=z+408|0;u=z+404|0;v=z+400|0;w=z+440|0;x=z;c[y>>2]=a;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=h;c[r>>2]=i;c[s>>2]=j;c[t>>2]=k;c[u>>2]=m;c[v>>2]=0;while(1){if((c[v>>2]|0)>=((c[t>>2]|0)*5|0))break;m=(hh(+g[(c[y>>2]|0)+(c[v>>2]<<2)>>2]*16384.0)|0)&65535;b[w+(c[v>>2]<<1)>>1]=m;c[v>>2]=(c[v>>2]|0)+1}c[v>>2]=0;while(1){if((c[v>>2]|0)>=(((c[t>>2]|0)*5|0)*5|0))break;m=hh(+g[(c[q>>2]|0)+(c[v>>2]<<2)>>2]*262144.0)|0;c[x+(c[v>>2]<<2)>>2]=m;c[v>>2]=(c[v>>2]|0)+1}Oe(w,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,x,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0);c[v>>2]=0;while(1){if((c[v>>2]|0)>=((c[t>>2]|0)*5|0))break;g[(c[y>>2]|0)+(c[v>>2]<<2)>>2]=+(b[w+(c[v>>2]<<1)>>1]|0)*.00006103515625;c[v>>2]=(c[v>>2]|0)+1}l=z;return}function mh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0.0;m=l;l=l+32|0;f=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[h>>2]=b;c[i>>2]=d;c[j>>2]=e;if((c[j>>2]|0)>(c[i>>2]|0))c[j>>2]=c[i>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[j>>2]|0))break;n=+qh(c[h>>2]|0,(c[h>>2]|0)+(c[k>>2]<<2)|0,(c[i>>2]|0)-(c[k>>2]|0)|0);g[(c[f>>2]|0)+(c[k>>2]<<2)>>2]=n;c[k>>2]=(c[k>>2]|0)+1}l=m;return}function nh(a,b,d,e,f,i){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=l;l=l+784|0;G=L+768|0;H=L+764|0;I=L+760|0;J=L+756|0;j=L+752|0;k=L+748|0;m=L+744|0;n=L+740|0;o=L+736|0;p=L+732|0;q=L+720|0;r=L+712|0;s=L+704|0;t=L+696|0;u=L+688|0;v=L+680|0;w=L+672|0;x=L+664|0;y=L+656|0;z=L+728|0;A=L+528|0;C=L+400|0;D=L+264|0;E=L+128|0;F=L;c[G>>2]=a;c[H>>2]=b;g[I>>2]=d;c[J>>2]=e;c[j>>2]=f;c[k>>2]=i;h[q>>3]=+ph(c[H>>2]|0,N(c[j>>2]|0,c[J>>2]|0)|0);a=A;e=a+128|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(e|0));c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[j>>2]|0))break;c[z>>2]=(c[H>>2]|0)+((N(c[o>>2]|0,c[J>>2]|0)|0)<<2);c[n>>2]=1;while(1){if((c[n>>2]|0)>=((c[k>>2]|0)+1|0))break;d=+qh(c[z>>2]|0,(c[z>>2]|0)+(c[n>>2]<<2)|0,(c[J>>2]|0)-(c[n>>2]|0)|0);i=A+((c[n>>2]|0)-1<<3)|0;h[i>>3]=+h[i>>3]+d;c[n>>2]=(c[n>>2]|0)+1}c[o>>2]=(c[o>>2]|0)+1}a=C;b=A;e=a+128|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(e|0));d=+h[q>>3]+ +h[q>>3]*9.999999747378752e-06+9.999999717180685e-10;h[D>>3]=d;h[E>>3]=d;h[r>>3]=1.0;c[p>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[k>>2]|0))break;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[j>>2]|0))break;c[z>>2]=(c[H>>2]|0)+((N(c[o>>2]|0,c[J>>2]|0)|0)<<2);h[x>>3]=+g[(c[z>>2]|0)+(c[n>>2]<<2)>>2];h[y>>3]=+g[(c[z>>2]|0)+((c[J>>2]|0)-(c[n>>2]|0)-1<<2)>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[n>>2]|0))break;i=A+(c[m>>2]<<3)|0;h[i>>3]=+h[i>>3]-+g[(c[z>>2]|0)+(c[n>>2]<<2)>>2]*+g[(c[z>>2]|0)+((c[n>>2]|0)-(c[m>>2]|0)-1<<2)>>2];i=C+(c[m>>2]<<3)|0;h[i>>3]=+h[i>>3]-+g[(c[z>>2]|0)+((c[J>>2]|0)-(c[n>>2]|0)-1<<2)>>2]*+g[(c[z>>2]|0)+((c[J>>2]|0)-(c[n>>2]|0)+(c[m>>2]|0)<<2)>>2];h[w>>3]=+h[F+(c[m>>2]<<3)>>3];h[x>>3]=+h[x>>3]+ +g[(c[z>>2]|0)+((c[n>>2]|0)-(c[m>>2]|0)-1<<2)>>2]*+h[w>>3];h[y>>3]=+h[y>>3]+ +g[(c[z>>2]|0)+((c[J>>2]|0)-(c[n>>2]|0)+(c[m>>2]|0)<<2)>>2]*+h[w>>3];c[m>>2]=(c[m>>2]|0)+1}c[m>>2]=0;while(1){if((c[m>>2]|0)>(c[n>>2]|0))break;i=D+(c[m>>2]<<3)|0;h[i>>3]=+h[i>>3]-+h[x>>3]*+g[(c[z>>2]|0)+((c[n>>2]|0)-(c[m>>2]|0)<<2)>>2];i=E+(c[m>>2]<<3)|0;h[i>>3]=+h[i>>3]-+h[y>>3]*+g[(c[z>>2]|0)+((c[J>>2]|0)-(c[n>>2]|0)+(c[m>>2]|0)-1<<2)>>2];c[m>>2]=(c[m>>2]|0)+1}c[o>>2]=(c[o>>2]|0)+1}h[x>>3]=+h[A+(c[n>>2]<<3)>>3];h[y>>3]=+h[C+(c[n>>2]<<3)>>3];c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[n>>2]|0))break;h[w>>3]=+h[F+(c[m>>2]<<3)>>3];h[x>>3]=+h[x>>3]+ +h[C+((c[n>>2]|0)-(c[m>>2]|0)-1<<3)>>3]*+h[w>>3];h[y>>3]=+h[y>>3]+ +h[A+((c[n>>2]|0)-(c[m>>2]|0)-1<<3)>>3]*+h[w>>3];c[m>>2]=(c[m>>2]|0)+1}h[D+((c[n>>2]|0)+1<<3)>>3]=+h[x>>3];h[E+((c[n>>2]|0)+1<<3)>>3]=+h[y>>3];h[s>>3]=+h[E+((c[n>>2]|0)+1<<3)>>3];h[u>>3]=+h[E>>3];h[t>>3]=+h[D>>3];c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[n>>2]|0))break;h[w>>3]=+h[F+(c[m>>2]<<3)>>3];h[s>>3]=+h[s>>3]+ +h[E+((c[n>>2]|0)-(c[m>>2]|0)<<3)>>3]*+h[w>>3];h[u>>3]=+h[u>>3]+ +h[E+((c[m>>2]|0)+1<<3)>>3]*+h[w>>3];h[t>>3]=+h[t>>3]+ +h[D+((c[m>>2]|0)+1<<3)>>3]*+h[w>>3];c[m>>2]=(c[m>>2]|0)+1}h[v>>3]=+h[s>>3]*-2.0/(+h[t>>3]+ +h[u>>3]);h[x>>3]=+h[r>>3]*(1.0-+h[v>>3]*+h[v>>3]);if(+h[x>>3]<=+g[I>>2]){h[v>>3]=+B(+(1.0-+g[I>>2]/+h[r>>3]));if(+h[s>>3]>0.0)h[v>>3]=-+h[v>>3];h[r>>3]=+g[I>>2];c[p>>2]=1}else h[r>>3]=+h[x>>3];c[m>>2]=0;while(1){if((c[m>>2]|0)>=((c[n>>2]|0)+1>>1|0))break;h[x>>3]=+h[F+(c[m>>2]<<3)>>3];h[y>>3]=+h[F+((c[n>>2]|0)-(c[m>>2]|0)-1<<3)>>3];h[F+(c[m>>2]<<3)>>3]=+h[x>>3]+ +h[v>>3]*+h[y>>3];h[F+((c[n>>2]|0)-(c[m>>2]|0)-1<<3)>>3]=+h[y>>3]+ +h[v>>3]*+h[x>>3];c[m>>2]=(c[m>>2]|0)+1}h[F+(c[n>>2]<<3)>>3]=+h[v>>3];if(c[p>>2]|0){K=33;break}c[m>>2]=0;while(1){if((c[m>>2]|0)>((c[n>>2]|0)+1|0))break;h[x>>3]=+h[D+(c[m>>2]<<3)>>3];i=D+(c[m>>2]<<3)|0;h[i>>3]=+h[i>>3]+ +h[v>>3]*+h[E+((c[n>>2]|0)-(c[m>>2]|0)+1<<3)>>3];i=E+((c[n>>2]|0)-(c[m>>2]|0)+1<<3)|0;h[i>>3]=+h[i>>3]+ +h[v>>3]*+h[x>>3];c[m>>2]=(c[m>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1}a:do if((K|0)==33){c[m>>2]=(c[n>>2]|0)+1;while(1){if((c[m>>2]|0)>=(c[k>>2]|0))break a;h[F+(c[m>>2]<<3)>>3]=0.0;c[m>>2]=(c[m>>2]|0)+1}}while(0);if(!(c[p>>2]|0)){h[t>>3]=+h[D>>3];h[x>>3]=1.0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[k>>2]|0))break;h[w>>3]=+h[F+(c[m>>2]<<3)>>3];h[t>>3]=+h[t>>3]+ +h[D+((c[m>>2]|0)+1<<3)>>3]*+h[w>>3];h[x>>3]=+h[x>>3]+ +h[w>>3]*+h[w>>3];g[(c[G>>2]|0)+(c[m>>2]<<2)>>2]=-+h[w>>3];c[m>>2]=(c[m>>2]|0)+1}h[t>>3]=+h[t>>3]-+h[q>>3]*9.999999747378752e-06*+h[x>>3];d=+h[t>>3];l=L;return +d}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[k>>2]|0))break;g[(c[G>>2]|0)+(c[m>>2]<<2)>>2]=-+h[F+(c[m>>2]<<3)>>3];c[m>>2]=(c[m>>2]|0)+1}c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[j>>2]|0))break;K=(c[H>>2]|0)+((N(c[o>>2]|0,c[J>>2]|0)|0)<<2)|0;d=+ph(K,c[k>>2]|0);h[q>>3]=+h[q>>3]-d;c[o>>2]=(c[o>>2]|0)+1}h[t>>3]=+h[q>>3]*+h[r>>3];d=+h[t>>3];l=L;return +d}function oh(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+16|0;f=k+12|0;h=k+8|0;i=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;g[h>>2]=d;g[j>>2]=+g[h>>2];c[i>>2]=0;while(1){d=+g[j>>2];a=c[e>>2]|0;if((c[i>>2]|0)>=((c[f>>2]|0)-1|0))break;b=a+(c[i>>2]<<2)|0;g[b>>2]=+g[b>>2]*d;g[j>>2]=+g[j>>2]*+g[h>>2];c[i>>2]=(c[i>>2]|0)+1}j=a+((c[f>>2]|0)-1<<2)|0;g[j>>2]=+g[j>>2]*d;l=k;return}function ph(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,i=0,j=0,k=0;k=l;l=l+32|0;d=k+20|0;e=k+16|0;f=k+12|0;i=k+8|0;j=k;c[d>>2]=a;c[e>>2]=b;h[j>>3]=0.0;c[i>>2]=c[e>>2]&65532;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[i>>2]|0))break;h[j>>3]=+h[j>>3]+(+g[(c[d>>2]|0)+((c[f>>2]|0)+0<<2)>>2]*+g[(c[d>>2]|0)+((c[f>>2]|0)+0<<2)>>2]+ +g[(c[d>>2]|0)+((c[f>>2]|0)+1<<2)>>2]*+g[(c[d>>2]|0)+((c[f>>2]|0)+1<<2)>>2]+ +g[(c[d>>2]|0)+((c[f>>2]|0)+2<<2)>>2]*+g[(c[d>>2]|0)+((c[f>>2]|0)+2<<2)>>2]+ +g[(c[d>>2]|0)+((c[f>>2]|0)+3<<2)>>2]*+g[(c[d>>2]|0)+((c[f>>2]|0)+3<<2)>>2]);c[f>>2]=(c[f>>2]|0)+4}while(1){if((c[f>>2]|0)>=(c[e>>2]|0))break;h[j>>3]=+h[j>>3]+ +g[(c[d>>2]|0)+(c[f>>2]<<2)>>2]*+g[(c[d>>2]|0)+(c[f>>2]<<2)>>2];c[f>>2]=(c[f>>2]|0)+1}l=k;return +(+h[j>>3])}function qh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;e=n+24|0;f=n+20|0;i=n+16|0;j=n+12|0;k=n+8|0;m=n;c[e>>2]=a;c[f>>2]=b;c[i>>2]=d;h[m>>3]=0.0;c[k>>2]=c[i>>2]&65532;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;h[m>>3]=+h[m>>3]+(+g[(c[e>>2]|0)+((c[j>>2]|0)+0<<2)>>2]*+g[(c[f>>2]|0)+((c[j>>2]|0)+0<<2)>>2]+ +g[(c[e>>2]|0)+((c[j>>2]|0)+1<<2)>>2]*+g[(c[f>>2]|0)+((c[j>>2]|0)+1<<2)>>2]+ +g[(c[e>>2]|0)+((c[j>>2]|0)+2<<2)>>2]*+g[(c[f>>2]|0)+((c[j>>2]|0)+2<<2)>>2]+ +g[(c[e>>2]|0)+((c[j>>2]|0)+3<<2)>>2]*+g[(c[f>>2]|0)+((c[j>>2]|0)+3<<2)>>2]);c[j>>2]=(c[j>>2]|0)+4}while(1){if((c[j>>2]|0)>=(c[i>>2]|0))break;h[m>>3]=+h[m>>3]+ +g[(c[e>>2]|0)+(c[j>>2]<<2)>>2]*+g[(c[f>>2]|0)+(c[j>>2]<<2)>>2];c[j>>2]=(c[j>>2]|0)+1}l=n;return +(+h[m>>3])}function rh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+96|0;e=m+80|0;f=m+76|0;h=m+72|0;i=m+68|0;j=m+64|0;k=m;c[e>>2]=a;c[f>>2]=b;c[h>>2]=d;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[h>>2]|0))break;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[i>>2]|0))break;g[k+(c[j>>2]<<2)>>2]=+g[(c[e>>2]|0)+(c[j>>2]<<2)>>2];c[j>>2]=(c[j>>2]|0)+1}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[i>>2]|0))break;d=(c[e>>2]|0)+(c[j>>2]<<2)|0;g[d>>2]=+g[d>>2]+ +g[k+((c[i>>2]|0)-(c[j>>2]|0)-1<<2)>>2]*+g[(c[f>>2]|0)+(c[i>>2]<<2)>>2];c[j>>2]=(c[j>>2]|0)+1}g[(c[e>>2]|0)+(c[i>>2]<<2)>>2]=-+g[(c[f>>2]|0)+(c[i>>2]<<2)>>2];c[i>>2]=(c[i>>2]|0)+1}l=m;return}function sh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;k=s+44|0;m=s+40|0;n=s+36|0;o=s+32|0;p=s+28|0;q=s+24|0;r=s+20|0;e=s+16|0;f=s+12|0;h=s+8|0;i=s+4|0;j=s;c[k>>2]=a;c[m>>2]=b;c[n>>2]=d;g[r>>2]=+g[c[m>>2]>>2]*9.999999960041972e-13+9.999999717180685e-10;g[e>>2]=+g[c[m>>2]>>2];g[e>>2]=+g[r>>2]>+g[e>>2]?+g[r>>2]:+g[e>>2];g[c[k>>2]>>2]=+g[(c[m>>2]|0)+4>>2]/+g[e>>2];g[e>>2]=+g[e>>2]-+g[c[k>>2]>>2]*+g[(c[m>>2]|0)+4>>2];g[e>>2]=+g[r>>2]>+g[e>>2]?+g[r>>2]:+g[e>>2];c[q>>2]=1;while(1){if((c[q>>2]|0)>=(c[n>>2]|0))break;g[f>>2]=+g[(c[m>>2]|0)+((c[q>>2]|0)+1<<2)>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[q>>2]|0))break;g[f>>2]=+g[f>>2]-+g[(c[k>>2]|0)+(c[o>>2]<<2)>>2]*+g[(c[m>>2]|0)+((c[q>>2]|0)-(c[o>>2]|0)<<2)>>2];c[o>>2]=(c[o>>2]|0)+1}g[h>>2]=+g[f>>2]/+g[e>>2];g[e>>2]=+g[e>>2]-+g[h>>2]*+g[f>>2];g[e>>2]=+g[r>>2]>+g[e>>2]?+g[r>>2]:+g[e>>2];c[p>>2]=c[q>>2]>>1;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[p>>2]|0))break;g[i>>2]=+g[(c[k>>2]|0)+(c[o>>2]<<2)>>2];g[j>>2]=+g[(c[k>>2]|0)+((c[q>>2]|0)-(c[o>>2]|0)-1<<2)>>2];d=(c[k>>2]|0)+((c[q>>2]|0)-(c[o>>2]|0)-1<<2)|0;g[d>>2]=+g[d>>2]-+g[h>>2]*+g[i>>2];d=(c[k>>2]|0)+(c[o>>2]<<2)|0;g[d>>2]=+g[d>>2]-+g[h>>2]*+g[j>>2];c[o>>2]=(c[o>>2]|0)+1}if(c[q>>2]&1|0){d=(c[k>>2]|0)+(c[p>>2]<<2)|0;g[d>>2]=+g[d>>2]-+g[h>>2]*+g[(c[k>>2]|0)+(c[p>>2]<<2)>>2]}g[(c[k>>2]|0)+(c[q>>2]<<2)>>2]=+g[h>>2];c[q>>2]=(c[q>>2]|0)+1}l=s;return +(+g[e>>2])}function th(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0;r=l;l=l+192|0;j=r+184|0;t=r+180|0;s=r+176|0;k=r+172|0;m=r+168|0;n=r+24|0;o=r+16|0;p=r+8|0;d=r;e=r+40|0;f=r+36|0;i=r+32|0;c[t>>2]=a;c[s>>2]=b;c[i>>2]=e+((c[s>>2]&1)<<6);_i(c[i>>2]|0,c[t>>2]|0,c[s>>2]<<2|0)|0;h[n>>3]=1.0;c[k>>2]=(c[s>>2]|0)-1;while(1){a=c[i>>2]|0;if((c[k>>2]|0)<=0)break;h[o>>3]=-+g[a+(c[k>>2]<<2)>>2];if(+h[o>>3]>.9998999834060669|+h[o>>3]<-.9998999834060669){q=4;break}h[p>>3]=1.0-+h[o>>3]*+h[o>>3];h[d>>3]=1.0/+h[p>>3];h[n>>3]=+h[n>>3]*+h[p>>3];c[f>>2]=c[i>>2];c[i>>2]=e+((c[k>>2]&1)<<6);c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[k>>2]|0))break;g[(c[i>>2]|0)+(c[m>>2]<<2)>>2]=(+g[(c[f>>2]|0)+(c[m>>2]<<2)>>2]-+g[(c[f>>2]|0)+((c[k>>2]|0)-(c[m>>2]|0)-1<<2)>>2]*+h[o>>3])*+h[d>>3];c[m>>2]=(c[m>>2]|0)+1}c[k>>2]=(c[k>>2]|0)+-1}if((q|0)==4){g[j>>2]=0.0;u=+g[j>>2];l=r;return +u}h[o>>3]=-+g[a>>2];if(+h[o>>3]>.9998999834060669|+h[o>>3]<-.9998999834060669){g[j>>2]=0.0;u=+g[j>>2];l=r;return +u}else{h[p>>3]=1.0-+h[o>>3]*+h[o>>3];h[n>>3]=+h[n>>3]*+h[p>>3];g[j>>2]=+h[n>>3];u=+g[j>>2];l=r;return +u}return 0.0}function uh(d,e,f,i,j,k,m,n,o,p,q,r){d=d|0;e=e|0;f=f|0;i=i|0;j=j|0;k=k|0;m=+m;n=+n;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0;La=l;l=l+13936|0;Ca=La+10416|0;da=La+10412|0;Da=La+10408|0;Ea=La+10404|0;Fa=La+10400|0;M=La+10396|0;O=La+10392|0;s=La+10388|0;P=La+10384|0;ya=La+10380|0;ea=La+10376|0;Ga=La+10372|0;fa=La+10368|0;Q=La+10364|0;Ha=La+10360|0;ga=La+10356|0;ha=La+10352|0;H=La+9072|0;t=La+8432|0;u=La+13288|0;v=La+12968|0;w=La+8408|0;I=La+8404|0;ia=La+8400|0;R=La+6016|0;x=La+5756|0;S=La+5712|0;ja=La+5708|0;T=La+5704|0;ka=La+24|0;y=La+16|0;la=La+8|0;ma=La;U=La+5608|0;V=La+12664|0;W=La+5600|0;X=La+5596|0;z=La+5592|0;na=La+5588|0;Y=La+5584|0;Z=La+5580|0;oa=La+5576|0;Ia=La+5572|0;_=La+5568|0;za=La+5564|0;pa=La+5560|0;qa=La+5556|0;Aa=La+5552|0;Ja=La+5548|0;$=La+5544|0;aa=La+5540|0;ba=La+5536|0;ra=La+2816|0;sa=La+96|0;ta=La+88|0;A=La+84|0;B=La+80|0;C=La+76|0;ua=La+72|0;ca=La+68|0;D=La+64|0;Ba=La+60|0;va=La+56|0;J=La+52|0;wa=La+48|0;K=La+44|0;E=La+40|0;xa=La+36|0;Ka=La+32|0;F=La+11384|0;G=La+10424|0;c[da>>2]=d;c[Da>>2]=e;c[Ea>>2]=f;c[Fa>>2]=i;c[M>>2]=j;c[O>>2]=k;g[s>>2]=m;g[P>>2]=n;c[ya>>2]=o;c[ea>>2]=p;c[Ga>>2]=q;c[fa>>2]=r;c[A>>2]=N(20+((c[Ga>>2]|0)*5|0)|0,c[ya>>2]|0)|0;c[C>>2]=20+((c[Ga>>2]|0)*5|0)<<2;c[B>>2]=20+((c[Ga>>2]|0)*5|0)<<3;c[ua>>2]=(c[ya>>2]|0)*5;c[D>>2]=20;c[ca>>2]=40;c[Ba>>2]=c[ya>>2]<<1;c[J>>2]=8;c[va>>2]=16;c[wa>>2]=((c[ya>>2]|0)*18|0)-1;c[E>>2]=72;c[K>>2]=143;do if((c[ya>>2]|0)!=16)if((c[ya>>2]|0)==12){vh(G,c[da>>2]|0,c[A>>2]|0);c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;c[w+16>>2]=0;c[w+20>>2]=0;Vf(w,u,G,c[A>>2]|0);wh(H,u,c[B>>2]|0);break}else{vh(u,c[da>>2]|0,c[B>>2]|0);break}else{vh(F,c[da>>2]|0,c[A>>2]|0);c[w>>2]=0;c[w+4>>2]=0;Wf(w,u,F,c[A>>2]|0);wh(H,u,c[B>>2]|0)}while(0);c[w>>2]=0;c[w+4>>2]=0;Wf(w,v,u,c[B>>2]|0);wh(t,v,c[C>>2]|0);c[Q>>2]=(c[C>>2]|0)-1;while(1){if((c[Q>>2]|0)<=0)break;p=t+(c[Q>>2]<<2)|0;g[p>>2]=+g[p>>2]+ +g[t+((c[Q>>2]|0)-1<<2)>>2];c[Q>>2]=(c[Q>>2]|0)+-1}aj(R|0,0,(c[Ga>>2]<<2)*149|0)|0;c[ja>>2]=t+(c[D>>2]<<2<<2);c[Ha>>2]=0;while(1){if((c[Ha>>2]|0)>=(c[Ga>>2]>>1|0))break;c[T>>2]=(c[ja>>2]|0)+(0-(c[J>>2]|0)<<2);vc(c[ja>>2]|0,(c[ja>>2]|0)+(0-(c[E>>2]|0)<<2)|0,x,c[ca>>2]|0,(c[E>>2]|0)-(c[J>>2]|0)+1|0,c[fa>>2]|0);h[ka>>3]=+g[x+((c[E>>2]|0)-(c[J>>2]|0)<<2)>>2];n=+ph(c[ja>>2]|0,c[ca>>2]|0);n=n+ +ph(c[T>>2]|0,c[ca>>2]|0);h[y>>3]=n+ +(c[ca>>2]|0)*4.0e3;p=R+(c[J>>2]<<2)|0;g[p>>2]=+g[p>>2]+ +h[ka>>3]*2.0/+h[y>>3];c[ga>>2]=(c[J>>2]|0)+1;while(1){if((c[ga>>2]|0)>(c[E>>2]|0))break;c[T>>2]=(c[T>>2]|0)+-4;h[ka>>3]=+g[x+((c[E>>2]|0)-(c[ga>>2]|0)<<2)>>2];h[y>>3]=+h[y>>3]+(+g[c[T>>2]>>2]*+g[c[T>>2]>>2]-+g[(c[T>>2]|0)+(c[ca>>2]<<2)>>2]*+g[(c[T>>2]|0)+(c[ca>>2]<<2)>>2]);p=R+(c[ga>>2]<<2)|0;g[p>>2]=+g[p>>2]+ +h[ka>>3]*2.0/+h[y>>3];c[ga>>2]=(c[ga>>2]|0)+1}c[ja>>2]=(c[ja>>2]|0)+(c[ca>>2]<<2);c[Ha>>2]=(c[Ha>>2]|0)+1}c[Q>>2]=c[E>>2];while(1){if((c[Q>>2]|0)<(c[J>>2]|0))break;p=R+(c[Q>>2]<<2)|0;g[p>>2]=+g[p>>2]-+g[R+(c[Q>>2]<<2)>>2]*+(c[Q>>2]|0)/4096.0;c[Q>>2]=(c[Q>>2]|0)+-1}c[W>>2]=4+(c[ea>>2]<<1);Fh(R+(c[J>>2]<<2)|0,U,(c[E>>2]|0)-(c[J>>2]|0)+1|0,c[W>>2]|0);g[z>>2]=+g[R+(c[J>>2]<<2)>>2];if(+g[z>>2]<.20000000298023224){aj(c[Da>>2]|0,0,c[Ga>>2]<<2|0)|0;g[c[M>>2]>>2]=0.0;b[c[Ea>>2]>>1]=0;a[c[Fa>>2]>>0]=0;c[Ca>>2]=1;Ka=c[Ca>>2]|0;l=La;return Ka|0}g[I>>2]=+g[s>>2]*+g[z>>2];c[Q>>2]=0;while(1){if((c[Q>>2]|0)>=(c[W>>2]|0))break;d=c[Q>>2]|0;if(!(+g[R+((c[J>>2]|0)+(c[Q>>2]|0)<<2)>>2]>+g[I>>2])){L=24;break}c[U+(c[Q>>2]<<2)>>2]=(c[U+(d<<2)>>2]|0)+(c[J>>2]|0)<<1;c[Q>>2]=(c[Q>>2]|0)+1}if((L|0)==24)c[W>>2]=d;c[Q>>2]=(c[va>>2]|0)-5;while(1){if((c[Q>>2]|0)>=((c[K>>2]|0)+5|0))break;b[V+(c[Q>>2]<<1)>>1]=0;c[Q>>2]=(c[Q>>2]|0)+1}c[Q>>2]=0;while(1){if((c[Q>>2]|0)>=(c[W>>2]|0))break;b[V+(c[U+(c[Q>>2]<<2)>>2]<<1)>>1]=1;c[Q>>2]=(c[Q>>2]|0)+1}c[Q>>2]=(c[K>>2]|0)+3;while(1){if((c[Q>>2]|0)<(c[va>>2]|0))break;L=V+(c[Q>>2]<<1)|0;b[L>>1]=(b[L>>1]|0)+((b[V+((c[Q>>2]|0)-1<<1)>>1]|0)+(b[V+((c[Q>>2]|0)-2<<1)>>1]|0));c[Q>>2]=(c[Q>>2]|0)+-1}c[W>>2]=0;c[Q>>2]=c[va>>2];while(1){if((c[Q>>2]|0)>=((c[K>>2]|0)+1|0))break;if((b[V+((c[Q>>2]|0)+1<<1)>>1]|0)>0){c[U+(c[W>>2]<<2)>>2]=c[Q>>2];c[W>>2]=(c[W>>2]|0)+1}c[Q>>2]=(c[Q>>2]|0)+1}c[Q>>2]=(c[K>>2]|0)+3;while(1){if((c[Q>>2]|0)<(c[va>>2]|0))break;L=V+(c[Q>>2]<<1)|0;b[L>>1]=(b[L>>1]|0)+((b[V+((c[Q>>2]|0)-1<<1)>>1]|0)+(b[V+((c[Q>>2]|0)-2<<1)>>1]|0)+(b[V+((c[Q>>2]|0)-3<<1)>>1]|0));c[Q>>2]=(c[Q>>2]|0)+-1}c[X>>2]=0;c[Q>>2]=c[va>>2];while(1){if((c[Q>>2]|0)>=((c[K>>2]|0)+4|0))break;if((b[V+(c[Q>>2]<<1)>>1]|0)>0){b[V+(c[X>>2]<<1)>>1]=(c[Q>>2]|0)-2;c[X>>2]=(c[X>>2]|0)+1}c[Q>>2]=(c[Q>>2]|0)+1}aj(R|0,0,2384)|0;if((c[ya>>2]|0)==8)c[ja>>2]=(c[da>>2]|0)+640;else c[ja>>2]=H+640;c[Ha>>2]=0;while(1){if((c[Ha>>2]|0)>=(c[Ga>>2]|0))break;h[ma>>3]=+ph(c[ja>>2]|0,c[ca>>2]|0)+1.0;c[ha>>2]=0;while(1){if((c[ha>>2]|0)>=(c[X>>2]|0))break;c[ga>>2]=b[V+(c[ha>>2]<<1)>>1];c[T>>2]=(c[ja>>2]|0)+(0-(c[ga>>2]|0)<<2);h[ka>>3]=+qh(c[T>>2]|0,c[ja>>2]|0,c[ca>>2]|0);if(+h[ka>>3]>0.0){h[la>>3]=+ph(c[T>>2]|0,c[ca>>2]|0);m=+h[ka>>3]*2.0/(+h[la>>3]+ +h[ma>>3]);d=R+((c[Ha>>2]|0)*596|0)+(c[ga>>2]<<2)|0}else{m=0.0;d=R+((c[Ha>>2]|0)*596|0)+(c[ga>>2]<<2)|0}g[d>>2]=m;c[ha>>2]=(c[ha>>2]|0)+1}c[ja>>2]=(c[ja>>2]|0)+(c[ca>>2]<<2);c[Ha>>2]=(c[Ha>>2]|0)+1}g[na>>2]=0.0;g[Y>>2]=-1.0e3;c[Ia>>2]=0;c[za>>2]=-1;if((c[O>>2]|0)>0){if((c[ya>>2]|0)!=12){if((c[ya>>2]|0)==16)c[O>>2]=c[O>>2]>>1}else c[O>>2]=(c[O>>2]<<1|0)/3|0;g[aa>>2]=+xh(+(c[O>>2]|0))}else g[aa>>2]=0.0;do if((c[Ga>>2]|0)==4){c[Ja>>2]=11;c[Ka>>2]=30282;if((c[ya>>2]|0)==8&(c[ea>>2]|0)>0){c[xa>>2]=11;break}else{c[xa>>2]=3;break}}else{c[Ja>>2]=3;c[Ka>>2]=30248;c[xa>>2]=3}while(0);c[Ha>>2]=0;while(1){if((c[Ha>>2]|0)>=(c[W>>2]|0))break;c[ga>>2]=c[U+(c[Ha>>2]<<2)>>2];c[ha>>2]=0;while(1){if((c[ha>>2]|0)>=(c[xa>>2]|0))break;g[S+(c[ha>>2]<<2)>>2]=0.0;c[Q>>2]=0;while(1){if((c[Q>>2]|0)>=(c[Ga>>2]|0))break;X=N(c[Q>>2]|0,c[Ja>>2]|0)|0;ca=S+(c[ha>>2]<<2)|0;g[ca>>2]=+g[ca>>2]+ +g[R+((c[Q>>2]|0)*596|0)+((c[ga>>2]|0)+(a[(c[Ka>>2]|0)+(X+(c[ha>>2]|0))>>0]|0)<<2)>>2];c[Q>>2]=(c[Q>>2]|0)+1}c[ha>>2]=(c[ha>>2]|0)+1}g[oa>>2]=-1.0e3;c[_>>2]=0;c[Q>>2]=0;while(1){if((c[Q>>2]|0)>=(c[xa>>2]|0))break;if(+g[S+(c[Q>>2]<<2)>>2]>+g[oa>>2]){g[oa>>2]=+g[S+(c[Q>>2]<<2)>>2];c[_>>2]=c[Q>>2]}c[Q>>2]=(c[Q>>2]|0)+1}g[$>>2]=+xh(+(c[ga>>2]|0));g[Z>>2]=+g[oa>>2]-+(c[Ga>>2]|0)*.20000000298023224*+g[$>>2];if((c[O>>2]|0)>0){g[ba>>2]=+g[$>>2]-+g[aa>>2];g[ba>>2]=+g[ba>>2]*+g[ba>>2];g[Z>>2]=+g[Z>>2]-+(c[Ga>>2]|0)*.20000000298023224*+g[c[M>>2]>>2]*+g[ba>>2]/(+g[ba>>2]+.5)}if(+g[Z>>2]>+g[Y>>2]?+g[oa>>2]>+(c[Ga>>2]|0)*+g[P>>2]:0){g[Y>>2]=+g[Z>>2];g[na>>2]=+g[oa>>2];c[za>>2]=c[ga>>2];c[Ia>>2]=c[_>>2]}c[Ha>>2]=(c[Ha>>2]|0)+1}if((c[za>>2]|0)==-1){Ka=c[Da>>2]|0;c[Ka>>2]=0;c[Ka+4>>2]=0;c[Ka+8>>2]=0;c[Ka+12>>2]=0;g[c[M>>2]>>2]=0.0;b[c[Ea>>2]>>1]=0;a[c[Fa>>2]>>0]=0;c[Ca>>2]=1;Ka=c[Ca>>2]|0;l=La;return Ka|0}g[c[M>>2]>>2]=+g[na>>2]/+(c[Ga>>2]|0);if((c[ya>>2]|0)>8){d=c[za>>2]|0;if((c[ya>>2]|0)==12)c[za>>2]=(((d&65535)<<16>>16)*3>>1)+(((c[za>>2]&65535)<<16>>16)*3&1);else c[za>>2]=d<<1;d=c[za>>2]|0;do if((c[Ba>>2]|0)>(c[wa>>2]|0))if((d|0)>(c[Ba>>2]|0)){d=c[Ba>>2]|0;break}else{d=(c[za>>2]|0)<(c[wa>>2]|0)?c[wa>>2]|0:c[za>>2]|0;break}else if((d|0)>(c[wa>>2]|0)){d=c[wa>>2]|0;break}else{d=(c[za>>2]|0)<(c[Ba>>2]|0)?c[Ba>>2]|0:c[za>>2]|0;break}while(0);c[za>>2]=d;c[pa>>2]=yh((c[za>>2]|0)-2|0,c[Ba>>2]|0)|0;c[qa>>2]=zh((c[za>>2]|0)+2|0,c[wa>>2]|0)|0;c[Aa>>2]=c[za>>2];c[Ia>>2]=0;g[na>>2]=-1.0e3;Ah(sa,c[da>>2]|0,c[pa>>2]|0,c[ua>>2]|0,c[Ga>>2]|0,c[ea>>2]|0,c[fa>>2]|0);Bh(ra,c[da>>2]|0,c[pa>>2]|0,c[ua>>2]|0,c[Ga>>2]|0,c[ea>>2]|0);c[ta>>2]=0;g[ia>>2]=.05000000074505806/+(c[za>>2]|0);if((c[Ga>>2]|0)==4){c[xa>>2]=a[30486+(c[ea>>2]|0)>>0];c[Ja>>2]=34;c[Ka>>2]=30326}else{c[xa>>2]=12;c[Ja>>2]=12;c[Ka>>2]=30254}c[ja>>2]=(c[da>>2]|0)+((c[ya>>2]|0)*20<<2);h[ma>>3]=+ph(c[ja>>2]|0,N(c[Ga>>2]|0,c[ua>>2]|0)|0)+1.0;c[ga>>2]=c[pa>>2];while(1){if((c[ga>>2]|0)>(c[qa>>2]|0))break;c[ha>>2]=0;while(1){if((c[ha>>2]|0)>=(c[xa>>2]|0))break;h[ka>>3]=0.0;h[la>>3]=+h[ma>>3];c[Ha>>2]=0;while(1){if((c[Ha>>2]|0)>=(c[Ga>>2]|0))break;h[ka>>3]=+h[ka>>3]+ +g[sa+((c[Ha>>2]|0)*680|0)+((c[ha>>2]|0)*20|0)+(c[ta>>2]<<2)>>2];h[la>>3]=+h[la>>3]+ +g[ra+((c[Ha>>2]|0)*680|0)+((c[ha>>2]|0)*20|0)+(c[ta>>2]<<2)>>2];c[Ha>>2]=(c[Ha>>2]|0)+1}if(+h[ka>>3]>0.0){g[oa>>2]=+h[ka>>3]*2.0/+h[la>>3];g[oa>>2]=+g[oa>>2]*(1.0-+g[ia>>2]*+(c[ha>>2]|0))}else g[oa>>2]=0.0;if(+g[oa>>2]>+g[na>>2]?((c[ga>>2]|0)+(a[30326+(c[ha>>2]|0)>>0]|0)|0)<=(c[wa>>2]|0):0){g[na>>2]=+g[oa>>2];c[Aa>>2]=c[ga>>2];c[Ia>>2]=c[ha>>2]}c[ha>>2]=(c[ha>>2]|0)+1}c[ta>>2]=(c[ta>>2]|0)+1;c[ga>>2]=(c[ga>>2]|0)+1}c[Ha>>2]=0;while(1){d=c[Aa>>2]|0;if((c[Ha>>2]|0)>=(c[Ga>>2]|0))break;za=N(c[Ha>>2]|0,c[Ja>>2]|0)|0;c[(c[Da>>2]|0)+(c[Ha>>2]<<2)>>2]=d+(a[(c[Ka>>2]|0)+(za+(c[Ia>>2]|0))>>0]|0);d=c[(c[Da>>2]|0)+(c[Ha>>2]<<2)>>2]|0;do if((c[Ba>>2]|0)>((c[ya>>2]|0)*18|0)){if((d|0)>(c[Ba>>2]|0)){d=c[Ba>>2]|0;break}if((c[(c[Da>>2]|0)+(c[Ha>>2]<<2)>>2]|0)<((c[ya>>2]|0)*18|0)){d=(c[ya>>2]|0)*18|0;break}else{d=c[(c[Da>>2]|0)+(c[Ha>>2]<<2)>>2]|0;break}}else{if((d|0)>((c[ya>>2]|0)*18|0)){d=(c[ya>>2]|0)*18|0;break}if((c[(c[Da>>2]|0)+(c[Ha>>2]<<2)>>2]|0)<(c[Ba>>2]|0)){d=c[Ba>>2]|0;break}else{d=c[(c[Da>>2]|0)+(c[Ha>>2]<<2)>>2]|0;break}}while(0);c[(c[Da>>2]|0)+(c[Ha>>2]<<2)>>2]=d;c[Ha>>2]=(c[Ha>>2]|0)+1}b[c[Ea>>2]>>1]=d-(c[Ba>>2]|0);a[c[Fa>>2]>>0]=c[Ia>>2]}else{c[Ha>>2]=0;while(1){d=c[za>>2]|0;if((c[Ha>>2]|0)>=(c[Ga>>2]|0))break;Ba=N(c[Ha>>2]|0,c[Ja>>2]|0)|0;c[(c[Da>>2]|0)+(c[Ha>>2]<<2)>>2]=d+(a[(c[Ka>>2]|0)+(Ba+(c[Ia>>2]|0))>>0]|0);d=c[(c[Da>>2]|0)+(c[Ha>>2]<<2)>>2]|0;do if((c[va>>2]|0)>144){if((d|0)>(c[va>>2]|0)){d=c[va>>2]|0;break}if((c[(c[Da>>2]|0)+(c[Ha>>2]<<2)>>2]|0)<144)d=144;else d=c[(c[Da>>2]|0)+(c[Ha>>2]<<2)>>2]|0}else if((d|0)<=144)if((c[(c[Da>>2]|0)+(c[Ha>>2]<<2)>>2]|0)<(c[va>>2]|0)){d=c[va>>2]|0;break}else{d=c[(c[Da>>2]|0)+(c[Ha>>2]<<2)>>2]|0;break}else d=144;while(0);c[(c[Da>>2]|0)+(c[Ha>>2]<<2)>>2]=d;c[Ha>>2]=(c[Ha>>2]|0)+1}b[c[Ea>>2]>>1]=d-(c[va>>2]|0);a[c[Fa>>2]>>0]=c[Ia>>2]}c[Ca>>2]=0;Ka=c[Ca>>2]|0;l=La;return Ka|0}function vh(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;f=j+12|0;h=j+8|0;k=j+4|0;i=j;c[f>>2]=a;c[h>>2]=d;c[k>>2]=e;c[i>>2]=(c[k>>2]|0)-1;while(1){if((c[i>>2]|0)<0)break;if((Ui(+g[(c[h>>2]|0)+(c[i>>2]<<2)>>2])|0)<=32767)if((Ui(+g[(c[h>>2]|0)+(c[i>>2]<<2)>>2])|0)<-32768)a=-32768;else a=Ui(+g[(c[h>>2]|0)+(c[i>>2]<<2)>>2])|0;else a=32767;b[(c[f>>2]|0)+(c[i>>2]<<1)>>1]=a;c[i>>2]=(c[i>>2]|0)+-1}l=j;return}function wh(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;f=j+12|0;h=j+8|0;k=j+4|0;i=j;c[f>>2]=a;c[h>>2]=d;c[k>>2]=e;c[i>>2]=(c[k>>2]|0)-1;while(1){if((c[i>>2]|0)<0)break;g[(c[f>>2]|0)+(c[i>>2]<<2)>>2]=+(b[(c[h>>2]|0)+(c[i>>2]<<1)>>1]|0);c[i>>2]=(c[i>>2]|0)+-1}l=j;return}function xh(a){a=+a;var b=0,c=0;b=l;l=l+16|0;c=b;h[c>>3]=a;a=+Ti(+h[c>>3])*3.32192809488736;l=b;return +a}function yh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)>(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function zh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)<(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function Ah(b,d,e,f,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=l;l=l+256|0;E=H+252|0;F=H+248|0;G=H+244|0;k=H+240|0;m=H+236|0;n=H+232|0;o=H+228|0;p=H+224|0;q=H+220|0;r=H+216|0;s=H+212|0;t=H+208|0;u=H+204|0;v=H+200|0;w=H+196|0;x=H+192|0;y=H+188|0;z=H+184|0;A=H+96|0;B=H+8|0;C=H+4|0;D=H;c[E>>2]=b;c[F>>2]=d;c[G>>2]=e;c[k>>2]=f;c[m>>2]=h;c[n>>2]=i;c[o>>2]=j;if((c[m>>2]|0)==4){c[C>>2]=30462+(c[n>>2]<<3);c[D>>2]=30326;c[w>>2]=a[30486+(c[n>>2]|0)>>0];c[z>>2]=34}else{c[C>>2]=30278;c[D>>2]=30254;c[w>>2]=12;c[z>>2]=12}c[p>>2]=(c[F>>2]|0)+(c[k>>2]<<2<<2);c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[m>>2]|0))break;c[t>>2]=0;c[u>>2]=a[(c[C>>2]|0)+((c[s>>2]<<1)+0)>>0];c[v>>2]=a[(c[C>>2]|0)+((c[s>>2]<<1)+1)>>0];vc(c[p>>2]|0,(c[p>>2]|0)+(0-(c[G>>2]|0)<<2)+(0-(c[v>>2]|0)<<2)|0,B,c[k>>2]|0,(c[v>>2]|0)-(c[u>>2]|0)+1|0,c[o>>2]|0);c[r>>2]=c[u>>2];while(1){if((c[r>>2]|0)>(c[v>>2]|0))break;g[A+(c[t>>2]<<2)>>2]=+g[B+((c[v>>2]|0)-(c[r>>2]|0)<<2)>>2];c[t>>2]=(c[t>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+1}c[x>>2]=a[(c[C>>2]|0)+((c[s>>2]<<1)+0)>>0];c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[w>>2]|0))break;F=N(c[s>>2]|0,c[z>>2]|0)|0;c[y>>2]=(a[(c[D>>2]|0)+(F+(c[q>>2]|0))>>0]|0)-(c[x>>2]|0);c[r>>2]=0;while(1){if((c[r>>2]|0)>=5)break;g[(c[E>>2]|0)+((c[s>>2]|0)*680|0)+((c[q>>2]|0)*20|0)+(c[r>>2]<<2)>>2]=+g[A+((c[y>>2]|0)+(c[r>>2]|0)<<2)>>2];c[r>>2]=(c[r>>2]|0)+1}c[q>>2]=(c[q>>2]|0)+1}c[p>>2]=(c[p>>2]|0)+(c[k>>2]<<2);c[s>>2]=(c[s>>2]|0)+1}l=H;return}function Bh(b,d,e,f,i,j){b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=l;l=l+176|0;C=G+168|0;D=G+164|0;E=G+160|0;F=G+156|0;k=G+152|0;m=G+148|0;n=G+144|0;o=G+140|0;p=G;q=G+136|0;r=G+132|0;s=G+128|0;t=G+124|0;u=G+120|0;v=G+116|0;w=G+112|0;x=G+108|0;y=G+104|0;z=G+16|0;A=G+12|0;B=G+8|0;c[C>>2]=b;c[D>>2]=d;c[E>>2]=e;c[F>>2]=f;c[k>>2]=i;c[m>>2]=j;if((c[k>>2]|0)==4){c[A>>2]=30462+(c[m>>2]<<3);c[B>>2]=30326;c[u>>2]=a[30486+(c[m>>2]|0)>>0];c[x>>2]=34}else{c[A>>2]=30278;c[B>>2]=30254;c[u>>2]=12;c[x>>2]=12}c[n>>2]=(c[D>>2]|0)+(c[F>>2]<<2<<2);c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[k>>2]|0))break;c[t>>2]=0;c[o>>2]=(c[n>>2]|0)+(0-((c[E>>2]|0)+(a[(c[A>>2]|0)+((c[q>>2]<<1)+0)>>0]|0))<<2);h[p>>3]=+ph(c[o>>2]|0,c[F>>2]|0)+.001;g[z+(c[t>>2]<<2)>>2]=+h[p>>3];c[t>>2]=(c[t>>2]|0)+1;c[y>>2]=(a[(c[A>>2]|0)+((c[q>>2]<<1)+1)>>0]|0)-(a[(c[A>>2]|0)+((c[q>>2]<<1)+0)>>0]|0)+1;c[r>>2]=1;while(1){if((c[r>>2]|0)>=(c[y>>2]|0))break;h[p>>3]=+h[p>>3]-+g[(c[o>>2]|0)+((c[F>>2]|0)-(c[r>>2]|0)<<2)>>2]*+g[(c[o>>2]|0)+((c[F>>2]|0)-(c[r>>2]|0)<<2)>>2];h[p>>3]=+h[p>>3]+ +g[(c[o>>2]|0)+(0-(c[r>>2]|0)<<2)>>2]*+g[(c[o>>2]|0)+(0-(c[r>>2]|0)<<2)>>2];g[z+(c[t>>2]<<2)>>2]=+h[p>>3];c[t>>2]=(c[t>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+1}c[v>>2]=a[(c[A>>2]|0)+((c[q>>2]<<1)+0)>>0];c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[u>>2]|0))break;D=N(c[q>>2]|0,c[x>>2]|0)|0;c[w>>2]=(a[(c[B>>2]|0)+(D+(c[r>>2]|0))>>0]|0)-(c[v>>2]|0);c[s>>2]=0;while(1){if((c[s>>2]|0)>=5)break;g[(c[C>>2]|0)+((c[q>>2]|0)*680|0)+((c[r>>2]|0)*20|0)+(c[s>>2]<<2)>>2]=+g[z+((c[w>>2]|0)+(c[s>>2]|0)<<2)>>2];c[s>>2]=(c[s>>2]|0)+1}c[r>>2]=(c[r>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+(c[F>>2]<<2);c[q>>2]=(c[q>>2]|0)+1}l=G;return}function Ch(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;f=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[f>>2]=a;c[h>>2]=b;g[i>>2]=d;c[j>>2]=e;c[m>>2]=c[j>>2]&65532;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[m>>2]|0))break;g[(c[f>>2]|0)+((c[k>>2]|0)+0<<2)>>2]=+g[i>>2]*+g[(c[h>>2]|0)+((c[k>>2]|0)+0<<2)>>2];g[(c[f>>2]|0)+((c[k>>2]|0)+1<<2)>>2]=+g[i>>2]*+g[(c[h>>2]|0)+((c[k>>2]|0)+1<<2)>>2];g[(c[f>>2]|0)+((c[k>>2]|0)+2<<2)>>2]=+g[i>>2]*+g[(c[h>>2]|0)+((c[k>>2]|0)+2<<2)>>2];g[(c[f>>2]|0)+((c[k>>2]|0)+3<<2)>>2]=+g[i>>2]*+g[(c[h>>2]|0)+((c[k>>2]|0)+3<<2)>>2];c[k>>2]=(c[k>>2]|0)+4}while(1){if((c[k>>2]|0)>=(c[j>>2]|0))break;g[(c[f>>2]|0)+(c[k>>2]<<2)>>2]=+g[i>>2]*+g[(c[h>>2]|0)+(c[k>>2]<<2)>>2];c[k>>2]=(c[k>>2]|0)+1}l=n;return}function Dh(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+16|0;f=k+12|0;h=k+8|0;i=k+4|0;j=k;c[e>>2]=a;g[f>>2]=b;c[h>>2]=d;c[j>>2]=c[h>>2]&65532;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[j>>2]|0))break;d=(c[e>>2]|0)+((c[i>>2]|0)+0<<2)|0;g[d>>2]=+g[d>>2]*+g[f>>2];d=(c[e>>2]|0)+((c[i>>2]|0)+1<<2)|0;g[d>>2]=+g[d>>2]*+g[f>>2];d=(c[e>>2]|0)+((c[i>>2]|0)+2<<2)|0;g[d>>2]=+g[d>>2]*+g[f>>2];d=(c[e>>2]|0)+((c[i>>2]|0)+3<<2)|0;g[d>>2]=+g[d>>2]*+g[f>>2];c[i>>2]=(c[i>>2]|0)+4}while(1){if((c[i>>2]|0)>=(c[h>>2]|0))break;j=(c[e>>2]|0)+(c[i>>2]<<2)|0;g[j>>2]=+g[j>>2]*+g[f>>2];c[i>>2]=(c[i>>2]|0)+1}l=k;return}function Eh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0;p=l;l=l+176|0;h=p+168|0;i=p+164|0;j=p+160|0;k=p+156|0;m=p+152|0;n=p+16|0;o=p+8|0;e=p+4|0;f=p;c[h>>2]=a;c[i>>2]=b;c[j>>2]=d;c[k>>2]=0;while(1){if((c[k>>2]|0)>=((c[j>>2]|0)+1|0))break;q=+g[(c[i>>2]|0)+(c[k>>2]<<2)>>2];g[n+(c[k>>2]<<3)+4>>2]=q;g[n+(c[k>>2]<<3)>>2]=q;c[k>>2]=(c[k>>2]|0)+1}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[j>>2]|0))break;g[f>>2]=-+g[n+((c[k>>2]|0)+1<<3)>>2]/(+g[n+4>>2]>9.999999717180685e-10?+g[n+4>>2]:9.999999717180685e-10);g[(c[h>>2]|0)+(c[k>>2]<<2)>>2]=+g[f>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=((c[j>>2]|0)-(c[k>>2]|0)|0))break;g[o>>2]=+g[n+((c[m>>2]|0)+(c[k>>2]|0)+1<<3)>>2];g[e>>2]=+g[n+(c[m>>2]<<3)+4>>2];g[n+((c[m>>2]|0)+(c[k>>2]|0)+1<<3)>>2]=+g[o>>2]+ +g[e>>2]*+g[f>>2];g[n+(c[m>>2]<<3)+4>>2]=+g[e>>2]+ +g[o>>2]*+g[f>>2];c[m>>2]=(c[m>>2]|0)+1}c[k>>2]=(c[k>>2]|0)+1}l=p;return +(+g[n+4>>2])}function Fh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;h=o+24|0;i=o+20|0;j=o+16|0;k=o+12|0;m=o+8|0;n=o+4|0;f=o;c[h>>2]=a;c[i>>2]=b;c[j>>2]=d;c[k>>2]=e;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[k>>2]|0))break;c[(c[i>>2]|0)+(c[n>>2]<<2)>>2]=c[n>>2];c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=1;while(1){if((c[n>>2]|0)>=(c[k>>2]|0))break;g[m>>2]=+g[(c[h>>2]|0)+(c[n>>2]<<2)>>2];c[f>>2]=(c[n>>2]|0)-1;while(1){if((c[f>>2]|0)<0)break;if(!(+g[m>>2]>+g[(c[h>>2]|0)+(c[f>>2]<<2)>>2]))break;g[(c[h>>2]|0)+((c[f>>2]|0)+1<<2)>>2]=+g[(c[h>>2]|0)+(c[f>>2]<<2)>>2];c[(c[i>>2]|0)+((c[f>>2]|0)+1<<2)>>2]=c[(c[i>>2]|0)+(c[f>>2]<<2)>>2];c[f>>2]=(c[f>>2]|0)+-1}g[(c[h>>2]|0)+((c[f>>2]|0)+1<<2)>>2]=+g[m>>2];c[(c[i>>2]|0)+((c[f>>2]|0)+1<<2)>>2]=c[n>>2];c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=c[k>>2];while(1){if((c[n>>2]|0)>=(c[j>>2]|0))break;g[m>>2]=+g[(c[h>>2]|0)+(c[n>>2]<<2)>>2];if(+g[m>>2]>+g[(c[h>>2]|0)+((c[k>>2]|0)-1<<2)>>2]){c[f>>2]=(c[k>>2]|0)-2;while(1){if((c[f>>2]|0)<0)break;if(!(+g[m>>2]>+g[(c[h>>2]|0)+(c[f>>2]<<2)>>2]))break;g[(c[h>>2]|0)+((c[f>>2]|0)+1<<2)>>2]=+g[(c[h>>2]|0)+(c[f>>2]<<2)>>2];c[(c[i>>2]|0)+((c[f>>2]|0)+1<<2)>>2]=c[(c[i>>2]|0)+(c[f>>2]<<2)>>2];c[f>>2]=(c[f>>2]|0)+-1}g[(c[h>>2]|0)+((c[f>>2]|0)+1<<2)>>2]=+g[m>>2];c[(c[i>>2]|0)+((c[f>>2]|0)+1<<2)>>2]=c[n>>2]}c[n>>2]=(c[n>>2]|0)+1}l=o;return}
function ee(d,e,f,g,h,i,j,k,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;var E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0;Na=l;l=l+256|0;E=Na+240|0;Ha=Na+236|0;F=Na+232|0;G=Na+228|0;H=Na+224|0;I=Na+220|0;J=Na+216|0;K=Na+212|0;L=Na+208|0;M=Na+204|0;O=Na+200|0;P=Na+196|0;Q=Na+192|0;R=Na+188|0;S=Na+184|0;Oa=Na+180|0;T=Na+176|0;U=Na+172|0;Ia=Na+168|0;V=Na+164|0;W=Na+160|0;X=Na+156|0;Y=Na+152|0;Ja=Na+148|0;Z=Na+144|0;aa=Na+140|0;ba=Na+136|0;ca=Na+132|0;Ka=Na+128|0;da=Na+124|0;ea=Na+120|0;fa=Na+116|0;ga=Na+112|0;ha=Na+108|0;ia=Na+104|0;ja=Na+100|0;ka=Na+96|0;la=Na+92|0;ma=Na+88|0;na=Na+84|0;oa=Na+80|0;pa=Na+76|0;qa=Na+72|0;ra=Na+68|0;sa=Na+64|0;ta=Na+60|0;ua=Na+56|0;va=Na+52|0;wa=Na+48|0;xa=Na+44|0;ya=Na+40|0;za=Na+36|0;Aa=Na+32|0;Ba=Na+28|0;Ca=Na+24|0;Da=Na+20|0;Ea=Na+16|0;Fa=Na+12|0;La=Na+8|0;Ga=Na+4|0;Ma=Na;c[E>>2]=d;c[Ha>>2]=e;c[F>>2]=f;c[G>>2]=g;c[H>>2]=h;c[I>>2]=i;c[J>>2]=j;c[K>>2]=k;c[L>>2]=m;c[M>>2]=n;c[O>>2]=o;c[P>>2]=p;c[Q>>2]=q;c[R>>2]=r;c[S>>2]=s;c[Oa>>2]=t;c[T>>2]=u;c[U>>2]=v;c[Ia>>2]=w;c[V>>2]=x;c[W>>2]=y;c[X>>2]=z;c[Y>>2]=A;c[Ja>>2]=B;c[Z>>2]=C;c[aa>>2]=D;n=c[Ja>>2]|0;c[Ma>>2]=$()|0;o=l;l=l+((1*(n*48|0)|0)+15&-16)|0;c[Ea>>2]=(c[E>>2]|0)+1280+((c[(c[E>>2]|0)+4364>>2]|0)-(c[P>>2]|0)+1<<2);c[Da>>2]=(c[J>>2]|0)+((c[(c[E>>2]|0)+4360>>2]|0)-(c[P>>2]|0)+2<<2);c[za>>2]=c[Oa>>2]>>6;c[ba>>2]=0;while(1){if((c[ba>>2]|0)>=(c[Ia>>2]|0))break;if((c[F>>2]|0)==2){c[ia>>2]=2;Oa=N(c[c[Da>>2]>>2]>>16,b[c[M>>2]>>1]|0)|0;c[ia>>2]=(c[ia>>2]|0)+(Oa+((N(c[c[Da>>2]>>2]&65535,b[c[M>>2]>>1]|0)|0)>>16));Oa=N(c[(c[Da>>2]|0)+-4>>2]>>16,b[(c[M>>2]|0)+2>>1]|0)|0;c[ia>>2]=(c[ia>>2]|0)+(Oa+((N(c[(c[Da>>2]|0)+-4>>2]&65535,b[(c[M>>2]|0)+2>>1]|0)|0)>>16));Oa=N(c[(c[Da>>2]|0)+-8>>2]>>16,b[(c[M>>2]|0)+4>>1]|0)|0;c[ia>>2]=(c[ia>>2]|0)+(Oa+((N(c[(c[Da>>2]|0)+-8>>2]&65535,b[(c[M>>2]|0)+4>>1]|0)|0)>>16));Oa=N(c[(c[Da>>2]|0)+-12>>2]>>16,b[(c[M>>2]|0)+6>>1]|0)|0;c[ia>>2]=(c[ia>>2]|0)+(Oa+((N(c[(c[Da>>2]|0)+-12>>2]&65535,b[(c[M>>2]|0)+6>>1]|0)|0)>>16));Oa=N(c[(c[Da>>2]|0)+-16>>2]>>16,b[(c[M>>2]|0)+8>>1]|0)|0;c[ia>>2]=(c[ia>>2]|0)+(Oa+((N(c[(c[Da>>2]|0)+-16>>2]&65535,b[(c[M>>2]|0)+8>>1]|0)|0)>>16));c[ia>>2]=c[ia>>2]<<1;c[Da>>2]=(c[Da>>2]|0)+4}else c[ia>>2]=0;if((c[P>>2]|0)>0){Oa=N((c[c[Ea>>2]>>2]|0)+(c[(c[Ea>>2]|0)+-8>>2]|0)>>16,(c[Q>>2]&65535)<<16>>16)|0;c[la>>2]=Oa+((N((c[c[Ea>>2]>>2]|0)+(c[(c[Ea>>2]|0)+-8>>2]|0)&65535,(c[Q>>2]&65535)<<16>>16)|0)>>16);Oa=(c[la>>2]|0)+(N(c[(c[Ea>>2]|0)+-4>>2]>>16,c[Q>>2]>>16)|0)|0;c[la>>2]=Oa+((N(c[(c[Ea>>2]|0)+-4>>2]&65535,c[Q>>2]>>16)|0)>>16);c[la>>2]=(c[ia>>2]|0)-(c[la>>2]<<2);c[Ea>>2]=(c[Ea>>2]|0)+4}else c[la>>2]=0;c[Ka>>2]=0;while(1){if((c[Ka>>2]|0)>=(c[Ja>>2]|0))break;c[La>>2]=(c[Ha>>2]|0)+((c[Ka>>2]|0)*1168|0);c[Ga>>2]=o+((c[Ka>>2]|0)*48|0);Oa=907633515+(N(c[(c[La>>2]|0)+1156>>2]|0,196314165)|0)|0;c[(c[La>>2]|0)+1156>>2]=Oa;c[Fa>>2]=(c[La>>2]|0)+(31+(c[ba>>2]|0)<<2);c[ja>>2]=c[X>>2]>>1;Oa=N(c[c[Fa>>2]>>2]>>16,b[c[L>>2]>>1]|0)|0;c[ja>>2]=(c[ja>>2]|0)+(Oa+((N(c[c[Fa>>2]>>2]&65535,b[c[L>>2]>>1]|0)|0)>>16));Oa=N(c[(c[Fa>>2]|0)+-4>>2]>>16,b[(c[L>>2]|0)+2>>1]|0)|0;c[ja>>2]=(c[ja>>2]|0)+(Oa+((N(c[(c[Fa>>2]|0)+-4>>2]&65535,b[(c[L>>2]|0)+2>>1]|0)|0)>>16));Oa=N(c[(c[Fa>>2]|0)+-8>>2]>>16,b[(c[L>>2]|0)+4>>1]|0)|0;c[ja>>2]=(c[ja>>2]|0)+(Oa+((N(c[(c[Fa>>2]|0)+-8>>2]&65535,b[(c[L>>2]|0)+4>>1]|0)|0)>>16));Oa=N(c[(c[Fa>>2]|0)+-12>>2]>>16,b[(c[L>>2]|0)+6>>1]|0)|0;c[ja>>2]=(c[ja>>2]|0)+(Oa+((N(c[(c[Fa>>2]|0)+-12>>2]&65535,b[(c[L>>2]|0)+6>>1]|0)|0)>>16));Oa=N(c[(c[Fa>>2]|0)+-16>>2]>>16,b[(c[L>>2]|0)+8>>1]|0)|0;c[ja>>2]=(c[ja>>2]|0)+(Oa+((N(c[(c[Fa>>2]|0)+-16>>2]&65535,b[(c[L>>2]|0)+8>>1]|0)|0)>>16));Oa=N(c[(c[Fa>>2]|0)+-20>>2]>>16,b[(c[L>>2]|0)+10>>1]|0)|0;c[ja>>2]=(c[ja>>2]|0)+(Oa+((N(c[(c[Fa>>2]|0)+-20>>2]&65535,b[(c[L>>2]|0)+10>>1]|0)|0)>>16));Oa=N(c[(c[Fa>>2]|0)+-24>>2]>>16,b[(c[L>>2]|0)+12>>1]|0)|0;c[ja>>2]=(c[ja>>2]|0)+(Oa+((N(c[(c[Fa>>2]|0)+-24>>2]&65535,b[(c[L>>2]|0)+12>>1]|0)|0)>>16));Oa=N(c[(c[Fa>>2]|0)+-28>>2]>>16,b[(c[L>>2]|0)+14>>1]|0)|0;c[ja>>2]=(c[ja>>2]|0)+(Oa+((N(c[(c[Fa>>2]|0)+-28>>2]&65535,b[(c[L>>2]|0)+14>>1]|0)|0)>>16));Oa=N(c[(c[Fa>>2]|0)+-32>>2]>>16,b[(c[L>>2]|0)+16>>1]|0)|0;c[ja>>2]=(c[ja>>2]|0)+(Oa+((N(c[(c[Fa>>2]|0)+-32>>2]&65535,b[(c[L>>2]|0)+16>>1]|0)|0)>>16));Oa=N(c[(c[Fa>>2]|0)+-36>>2]>>16,b[(c[L>>2]|0)+18>>1]|0)|0;c[ja>>2]=(c[ja>>2]|0)+(Oa+((N(c[(c[Fa>>2]|0)+-36>>2]&65535,b[(c[L>>2]|0)+18>>1]|0)|0)>>16));if((c[X>>2]|0)==16){Oa=N(c[(c[Fa>>2]|0)+-40>>2]>>16,b[(c[L>>2]|0)+20>>1]|0)|0;c[ja>>2]=(c[ja>>2]|0)+(Oa+((N(c[(c[Fa>>2]|0)+-40>>2]&65535,b[(c[L>>2]|0)+20>>1]|0)|0)>>16));Oa=N(c[(c[Fa>>2]|0)+-44>>2]>>16,b[(c[L>>2]|0)+22>>1]|0)|0;c[ja>>2]=(c[ja>>2]|0)+(Oa+((N(c[(c[Fa>>2]|0)+-44>>2]&65535,b[(c[L>>2]|0)+22>>1]|0)|0)>>16));Oa=N(c[(c[Fa>>2]|0)+-48>>2]>>16,b[(c[L>>2]|0)+24>>1]|0)|0;c[ja>>2]=(c[ja>>2]|0)+(Oa+((N(c[(c[Fa>>2]|0)+-48>>2]&65535,b[(c[L>>2]|0)+24>>1]|0)|0)>>16));Oa=N(c[(c[Fa>>2]|0)+-52>>2]>>16,b[(c[L>>2]|0)+26>>1]|0)|0;c[ja>>2]=(c[ja>>2]|0)+(Oa+((N(c[(c[Fa>>2]|0)+-52>>2]&65535,b[(c[L>>2]|0)+26>>1]|0)|0)>>16));Oa=N(c[(c[Fa>>2]|0)+-56>>2]>>16,b[(c[L>>2]|0)+28>>1]|0)|0;c[ja>>2]=(c[ja>>2]|0)+(Oa+((N(c[(c[Fa>>2]|0)+-56>>2]&65535,b[(c[L>>2]|0)+28>>1]|0)|0)>>16));Oa=N(c[(c[Fa>>2]|0)+-60>>2]>>16,b[(c[L>>2]|0)+30>>1]|0)|0;c[ja>>2]=(c[ja>>2]|0)+(Oa+((N(c[(c[Fa>>2]|0)+-60>>2]&65535,b[(c[L>>2]|0)+30>>1]|0)|0)>>16))}c[ja>>2]=c[ja>>2]<<4;Oa=N(c[(c[La>>2]|0)+1088>>2]>>16,(c[Y>>2]&65535)<<16>>16)|0;c[Ba>>2]=(c[c[Fa>>2]>>2]|0)+(Oa+((N(c[(c[La>>2]|0)+1088>>2]&65535,(c[Y>>2]&65535)<<16>>16)|0)>>16));Oa=N((c[(c[La>>2]|0)+1088+4>>2]|0)-(c[Ba>>2]|0)>>16,(c[Y>>2]&65535)<<16>>16)|0;c[Aa>>2]=(c[(c[La>>2]|0)+1088>>2]|0)+(Oa+((N((c[(c[La>>2]|0)+1088+4>>2]|0)-(c[Ba>>2]|0)&65535,(c[Y>>2]&65535)<<16>>16)|0)>>16));c[(c[La>>2]|0)+1088>>2]=c[Ba>>2];c[ka>>2]=c[W>>2]>>1;Oa=N(c[Ba>>2]>>16,b[c[O>>2]>>1]|0)|0;c[ka>>2]=(c[ka>>2]|0)+(Oa+((N(c[Ba>>2]&65535,b[c[O>>2]>>1]|0)|0)>>16));c[ca>>2]=2;while(1){if((c[ca>>2]|0)>=(c[W>>2]|0))break;Oa=N((c[(c[La>>2]|0)+1088+((c[ca>>2]|0)+0<<2)>>2]|0)-(c[Aa>>2]|0)>>16,(c[Y>>2]&65535)<<16>>16)|0;c[Ba>>2]=(c[(c[La>>2]|0)+1088+((c[ca>>2]|0)-1<<2)>>2]|0)+(Oa+((N((c[(c[La>>2]|0)+1088+((c[ca>>2]|0)+0<<2)>>2]|0)-(c[Aa>>2]|0)&65535,(c[Y>>2]&65535)<<16>>16)|0)>>16));c[(c[La>>2]|0)+1088+((c[ca>>2]|0)-1<<2)>>2]=c[Aa>>2];Oa=N(c[Aa>>2]>>16,b[(c[O>>2]|0)+((c[ca>>2]|0)-1<<1)>>1]|0)|0;c[ka>>2]=(c[ka>>2]|0)+(Oa+((N(c[Aa>>2]&65535,b[(c[O>>2]|0)+((c[ca>>2]|0)-1<<1)>>1]|0)|0)>>16));Oa=N((c[(c[La>>2]|0)+1088+((c[ca>>2]|0)+1<<2)>>2]|0)-(c[Ba>>2]|0)>>16,(c[Y>>2]&65535)<<16>>16)|0;c[Aa>>2]=(c[(c[La>>2]|0)+1088+((c[ca>>2]|0)+0<<2)>>2]|0)+(Oa+((N((c[(c[La>>2]|0)+1088+((c[ca>>2]|0)+1<<2)>>2]|0)-(c[Ba>>2]|0)&65535,(c[Y>>2]&65535)<<16>>16)|0)>>16));c[(c[La>>2]|0)+1088+((c[ca>>2]|0)+0<<2)>>2]=c[Ba>>2];Oa=N(c[Ba>>2]>>16,b[(c[O>>2]|0)+(c[ca>>2]<<1)>>1]|0)|0;c[ka>>2]=(c[ka>>2]|0)+(Oa+((N(c[Ba>>2]&65535,b[(c[O>>2]|0)+(c[ca>>2]<<1)>>1]|0)|0)>>16));c[ca>>2]=(c[ca>>2]|0)+2}c[(c[La>>2]|0)+1088+((c[W>>2]|0)-1<<2)>>2]=c[Aa>>2];Oa=N(c[Aa>>2]>>16,b[(c[O>>2]|0)+((c[W>>2]|0)-1<<1)>>1]|0)|0;c[ka>>2]=(c[ka>>2]|0)+(Oa+((N(c[Aa>>2]&65535,b[(c[O>>2]|0)+((c[W>>2]|0)-1<<1)>>1]|0)|0)>>16));c[ka>>2]=c[ka>>2]<<1;Oa=N(c[(c[La>>2]|0)+1152>>2]>>16,(c[R>>2]&65535)<<16>>16)|0;c[ka>>2]=(c[ka>>2]|0)+(Oa+((N(c[(c[La>>2]|0)+1152>>2]&65535,(c[R>>2]&65535)<<16>>16)|0)>>16));c[ka>>2]=c[ka>>2]<<2;Oa=N(c[(c[La>>2]|0)+960+(c[c[Z>>2]>>2]<<2)>>2]>>16,(c[S>>2]&65535)<<16>>16)|0;c[ma>>2]=Oa+((N(c[(c[La>>2]|0)+960+(c[c[Z>>2]>>2]<<2)>>2]&65535,(c[S>>2]&65535)<<16>>16)|0)>>16);Oa=(c[ma>>2]|0)+(N(c[(c[La>>2]|0)+1152>>2]>>16,c[S>>2]>>16)|0)|0;c[ma>>2]=Oa+((N(c[(c[La>>2]|0)+1152>>2]&65535,c[S>>2]>>16)|0)>>16);c[ma>>2]=c[ma>>2]<<2;c[Aa>>2]=(c[ka>>2]|0)+(c[ma>>2]|0);c[Ba>>2]=(c[la>>2]|0)+(c[ja>>2]|0);c[Aa>>2]=(c[Ba>>2]|0)-(c[Aa>>2]|0);c[Aa>>2]=(c[Aa>>2]>>3)+1>>1;c[na>>2]=(c[(c[G>>2]|0)+(c[ba>>2]<<2)>>2]|0)-(c[Aa>>2]|0);if((c[(c[La>>2]|0)+1156>>2]|0)<0)c[na>>2]=0-(c[na>>2]|0);if((c[na>>2]|0)>30720)d=30720;else d=(c[na>>2]|0)<-31744?-31744:c[na>>2]|0;c[na>>2]=d;c[ua>>2]=(c[na>>2]|0)-(c[U>>2]|0);c[ta>>2]=c[ua>>2]>>10;d=c[ta>>2]|0;do if((c[ta>>2]|0)<=0){if(!d){c[ua>>2]=c[U>>2];c[va>>2]=(c[ua>>2]|0)+944;c[pa>>2]=N((c[ua>>2]&65535)<<16>>16,(c[T>>2]&65535)<<16>>16)|0;c[qa>>2]=N((c[va>>2]&65535)<<16>>16,(c[T>>2]&65535)<<16>>16)|0;break}if((c[ta>>2]|0)==-1){c[va>>2]=c[U>>2];c[ua>>2]=(c[va>>2]|0)-944;c[pa>>2]=N((0-(c[ua>>2]|0)&65535)<<16>>16,(c[T>>2]&65535)<<16>>16)|0;c[qa>>2]=N((c[va>>2]&65535)<<16>>16,(c[T>>2]&65535)<<16>>16)|0;break}else{c[ua>>2]=(c[ta>>2]<<10)+80;c[ua>>2]=(c[ua>>2]|0)+(c[U>>2]|0);c[va>>2]=(c[ua>>2]|0)+1024;c[pa>>2]=N((0-(c[ua>>2]|0)&65535)<<16>>16,(c[T>>2]&65535)<<16>>16)|0;c[qa>>2]=N((0-(c[va>>2]|0)&65535)<<16>>16,(c[T>>2]&65535)<<16>>16)|0;break}}else{c[ua>>2]=(d<<10)-80;c[ua>>2]=(c[ua>>2]|0)+(c[U>>2]|0);c[va>>2]=(c[ua>>2]|0)+1024;c[pa>>2]=N((c[ua>>2]&65535)<<16>>16,(c[T>>2]&65535)<<16>>16)|0;c[qa>>2]=N((c[va>>2]&65535)<<16>>16,(c[T>>2]&65535)<<16>>16)|0}while(0);c[oa>>2]=(c[na>>2]|0)-(c[ua>>2]|0);c[pa>>2]=(c[pa>>2]|0)+(N((c[oa>>2]&65535)<<16>>16,(c[oa>>2]&65535)<<16>>16)|0)>>10;c[oa>>2]=(c[na>>2]|0)-(c[va>>2]|0);c[qa>>2]=(c[qa>>2]|0)+(N((c[oa>>2]&65535)<<16>>16,(c[oa>>2]&65535)<<16>>16)|0)>>10;d=c[(c[La>>2]|0)+1164>>2]|0;if((c[pa>>2]|0)<(c[qa>>2]|0)){c[(c[Ga>>2]|0)+4>>2]=d+(c[pa>>2]|0);c[(c[Ga>>2]|0)+24+4>>2]=(c[(c[La>>2]|0)+1164>>2]|0)+(c[qa>>2]|0);c[c[Ga>>2]>>2]=c[ua>>2];d=c[va>>2]|0;e=c[Ga>>2]|0}else{c[(c[Ga>>2]|0)+4>>2]=d+(c[qa>>2]|0);c[(c[Ga>>2]|0)+24+4>>2]=(c[(c[La>>2]|0)+1164>>2]|0)+(c[pa>>2]|0);c[c[Ga>>2]>>2]=c[va>>2];d=c[ua>>2]|0;e=c[Ga>>2]|0}c[e+24>>2]=d;c[wa>>2]=c[c[Ga>>2]>>2]<<4;if((c[(c[La>>2]|0)+1156>>2]|0)<0)c[wa>>2]=0-(c[wa>>2]|0);c[xa>>2]=(c[wa>>2]|0)+(c[ia>>2]|0);c[ya>>2]=(c[xa>>2]|0)+(c[ja>>2]|0);c[Ca>>2]=(c[ya>>2]|0)-(c[ka>>2]|0);c[(c[Ga>>2]|0)+16>>2]=(c[Ca>>2]|0)-(c[ma>>2]|0);c[(c[Ga>>2]|0)+12>>2]=c[Ca>>2];c[(c[Ga>>2]|0)+20>>2]=c[xa>>2];c[(c[Ga>>2]|0)+8>>2]=c[ya>>2];c[wa>>2]=c[(c[Ga>>2]|0)+24>>2]<<4;if((c[(c[La>>2]|0)+1156>>2]|0)<0)c[wa>>2]=0-(c[wa>>2]|0);c[xa>>2]=(c[wa>>2]|0)+(c[ia>>2]|0);c[ya>>2]=(c[xa>>2]|0)+(c[ja>>2]|0);c[Ca>>2]=(c[ya>>2]|0)-(c[ka>>2]|0);c[(c[Ga>>2]|0)+24+16>>2]=(c[Ca>>2]|0)-(c[ma>>2]|0);c[(c[Ga>>2]|0)+24+12>>2]=c[Ca>>2];c[(c[Ga>>2]|0)+24+20>>2]=c[xa>>2];c[(c[Ga>>2]|0)+24+8>>2]=c[ya>>2];c[Ka>>2]=(c[Ka>>2]|0)+1}c[c[Z>>2]>>2]=(c[c[Z>>2]>>2]|0)-1&31;c[ga>>2]=(c[c[Z>>2]>>2]|0)+(c[aa>>2]|0)&31;c[ra>>2]=c[o+4>>2];c[da>>2]=0;c[Ka>>2]=1;while(1){if((c[Ka>>2]|0)>=(c[Ja>>2]|0))break;if((c[o+((c[Ka>>2]|0)*48|0)+4>>2]|0)<(c[ra>>2]|0)){c[ra>>2]=c[o+((c[Ka>>2]|0)*48|0)+4>>2];c[da>>2]=c[Ka>>2]}c[Ka>>2]=(c[Ka>>2]|0)+1}c[ha>>2]=c[(c[Ha>>2]|0)+((c[da>>2]|0)*1168|0)+448+(c[ga>>2]<<2)>>2];c[Ka>>2]=0;while(1){if((c[Ka>>2]|0)>=(c[Ja>>2]|0))break;if((c[(c[Ha>>2]|0)+((c[Ka>>2]|0)*1168|0)+448+(c[ga>>2]<<2)>>2]|0)!=(c[ha>>2]|0)){c[o+((c[Ka>>2]|0)*48|0)+4>>2]=(c[o+((c[Ka>>2]|0)*48|0)+4>>2]|0)+134217727;c[o+((c[Ka>>2]|0)*48|0)+24+4>>2]=(c[o+((c[Ka>>2]|0)*48|0)+24+4>>2]|0)+134217727}c[Ka>>2]=(c[Ka>>2]|0)+1}c[sa>>2]=c[o+4>>2];c[ra>>2]=c[o+24+4>>2];c[fa>>2]=0;c[ea>>2]=0;c[Ka>>2]=1;while(1){if((c[Ka>>2]|0)>=(c[Ja>>2]|0))break;if((c[o+((c[Ka>>2]|0)*48|0)+4>>2]|0)>(c[sa>>2]|0)){c[sa>>2]=c[o+((c[Ka>>2]|0)*48|0)+4>>2];c[fa>>2]=c[Ka>>2]}if((c[o+((c[Ka>>2]|0)*48|0)+24+4>>2]|0)<(c[ra>>2]|0)){c[ra>>2]=c[o+((c[Ka>>2]|0)*48|0)+24+4>>2];c[ea>>2]=c[Ka>>2]}c[Ka>>2]=(c[Ka>>2]|0)+1}if((c[ra>>2]|0)<(c[sa>>2]|0)){_i((c[Ha>>2]|0)+((c[fa>>2]|0)*1168|0)+(c[ba>>2]<<2)|0,(c[Ha>>2]|0)+((c[ea>>2]|0)*1168|0)+(c[ba>>2]<<2)|0,1168-(c[ba>>2]<<2)|0)|0;Oa=o+((c[fa>>2]|0)*48|0)|0;n=o+((c[ea>>2]|0)*48|0)+24|0;c[Oa>>2]=c[n>>2];c[Oa+4>>2]=c[n+4>>2];c[Oa+8>>2]=c[n+8>>2];c[Oa+12>>2]=c[n+12>>2];c[Oa+16>>2]=c[n+16>>2];c[Oa+20>>2]=c[n+20>>2]}c[La>>2]=(c[Ha>>2]|0)+((c[da>>2]|0)*1168|0);if(!((c[V>>2]|0)<=0?(c[ba>>2]|0)<(c[aa>>2]|0):0)){a[(c[H>>2]|0)+((c[ba>>2]|0)-(c[aa>>2]|0))>>0]=(c[(c[La>>2]|0)+576+(c[ga>>2]<<2)>>2]>>9)+1>>1;Oa=N(c[(c[La>>2]|0)+704+(c[ga>>2]<<2)>>2]>>16,(c[(c[K>>2]|0)+(c[ga>>2]<<2)>>2]&65535)<<16>>16)|0;Oa=Oa+((N(c[(c[La>>2]|0)+704+(c[ga>>2]<<2)>>2]&65535,(c[(c[K>>2]|0)+(c[ga>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;if(((Oa+(N(c[(c[La>>2]|0)+704+(c[ga>>2]<<2)>>2]|0,(c[(c[K>>2]|0)+(c[ga>>2]<<2)>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<=32767){Oa=N(c[(c[La>>2]|0)+704+(c[ga>>2]<<2)>>2]>>16,(c[(c[K>>2]|0)+(c[ga>>2]<<2)>>2]&65535)<<16>>16)|0;Oa=Oa+((N(c[(c[La>>2]|0)+704+(c[ga>>2]<<2)>>2]&65535,(c[(c[K>>2]|0)+(c[ga>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;if(((Oa+(N(c[(c[La>>2]|0)+704+(c[ga>>2]<<2)>>2]|0,(c[(c[K>>2]|0)+(c[ga>>2]<<2)>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<-32768)d=-32768;else{d=N(c[(c[La>>2]|0)+704+(c[ga>>2]<<2)>>2]>>16,(c[(c[K>>2]|0)+(c[ga>>2]<<2)>>2]&65535)<<16>>16)|0;d=d+((N(c[(c[La>>2]|0)+704+(c[ga>>2]<<2)>>2]&65535,(c[(c[K>>2]|0)+(c[ga>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;d=(d+(N(c[(c[La>>2]|0)+704+(c[ga>>2]<<2)>>2]|0,(c[(c[K>>2]|0)+(c[ga>>2]<<2)>>2]>>15)+1>>1)|0)>>7)+1>>1}}else d=32767;b[(c[I>>2]|0)+((c[ba>>2]|0)-(c[aa>>2]|0)<<1)>>1]=d;c[(c[E>>2]|0)+1280+((c[(c[E>>2]|0)+4364>>2]|0)-(c[aa>>2]|0)<<2)>>2]=c[(c[La>>2]|0)+960+(c[ga>>2]<<2)>>2];c[(c[J>>2]|0)+((c[(c[E>>2]|0)+4360>>2]|0)-(c[aa>>2]|0)<<2)>>2]=c[(c[La>>2]|0)+832+(c[ga>>2]<<2)>>2]}Oa=(c[E>>2]|0)+4364|0;c[Oa>>2]=(c[Oa>>2]|0)+1;Oa=(c[E>>2]|0)+4360|0;c[Oa>>2]=(c[Oa>>2]|0)+1;c[Ka>>2]=0;while(1){if((c[Ka>>2]|0)>=(c[Ja>>2]|0))break;c[La>>2]=(c[Ha>>2]|0)+((c[Ka>>2]|0)*1168|0);c[Ga>>2]=o+((c[Ka>>2]|0)*48|0);c[(c[La>>2]|0)+1152>>2]=c[(c[Ga>>2]|0)+12>>2];c[(c[La>>2]|0)+(32+(c[ba>>2]|0)<<2)>>2]=c[(c[Ga>>2]|0)+8>>2];c[(c[La>>2]|0)+704+(c[c[Z>>2]>>2]<<2)>>2]=c[(c[Ga>>2]|0)+8>>2];c[(c[La>>2]|0)+576+(c[c[Z>>2]>>2]<<2)>>2]=c[c[Ga>>2]>>2];c[(c[La>>2]|0)+832+(c[c[Z>>2]>>2]<<2)>>2]=c[(c[Ga>>2]|0)+20>>2]<<1;c[(c[La>>2]|0)+960+(c[c[Z>>2]>>2]<<2)>>2]=c[(c[Ga>>2]|0)+16>>2];c[(c[La>>2]|0)+1156>>2]=(c[(c[La>>2]|0)+1156>>2]|0)+((c[c[Ga>>2]>>2]>>9)+1>>1);c[(c[La>>2]|0)+448+(c[c[Z>>2]>>2]<<2)>>2]=c[(c[La>>2]|0)+1156>>2];c[(c[La>>2]|0)+1164>>2]=c[(c[Ga>>2]|0)+4>>2];c[Ka>>2]=(c[Ka>>2]|0)+1}c[(c[K>>2]|0)+(c[c[Z>>2]>>2]<<2)>>2]=c[za>>2];c[ba>>2]=(c[ba>>2]|0)+1}c[Ka>>2]=0;while(1){if((c[Ka>>2]|0)>=(c[Ja>>2]|0))break;c[La>>2]=(c[Ha>>2]|0)+((c[Ka>>2]|0)*1168|0);d=c[La>>2]|0;e=(c[La>>2]|0)+(c[Ia>>2]<<2)|0;o=d+128|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(o|0));c[Ka>>2]=(c[Ka>>2]|0)+1}_(c[Ma>>2]|0);l=Na;return}function fe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;h=l;l=l+48|0;f=h+32|0;n=h+28|0;d=h+24|0;i=h+20|0;g=h+16|0;j=h+12|0;m=h+8|0;k=h+4|0;e=h;c[n>>2]=a;c[d>>2]=b;a=c[n>>2]|0;c[i>>2]=(he((c[n>>2]|0)>0?a:0-a|0)|0)-1;c[m>>2]=c[n>>2]<<c[i>>2];c[j>>2]=536870911/(c[m>>2]>>16|0)|0;c[e>>2]=c[j>>2]<<16;a=N(c[m>>2]>>16,(c[j>>2]&65535)<<16>>16)|0;c[k>>2]=536870912-(a+((N(c[m>>2]&65535,(c[j>>2]&65535)<<16>>16)|0)>>16))<<3;a=N(c[k>>2]>>16,(c[j>>2]&65535)<<16>>16)|0;a=(c[e>>2]|0)+(a+((N(c[k>>2]&65535,(c[j>>2]&65535)<<16>>16)|0)>>16))|0;c[e>>2]=a+(N(c[k>>2]|0,(c[j>>2]>>15)+1>>1)|0);c[g>>2]=61-(c[i>>2]|0)-(c[d>>2]|0);a=c[g>>2]|0;if((c[g>>2]|0)>0)if((a|0)<32){c[f>>2]=c[e>>2]>>c[g>>2];n=c[f>>2]|0;l=h;return n|0}else{c[f>>2]=0;n=c[f>>2]|0;l=h;return n|0}b=c[e>>2]|0;d=0-(c[g>>2]|0)|0;do if((-2147483648>>0-a|0)>(2147483647>>0-(c[g>>2]|0)|0)){if((b|0)>(-2147483648>>d|0)){a=-2147483648>>0-(c[g>>2]|0);break}if((c[e>>2]|0)<(2147483647>>0-(c[g>>2]|0)|0)){a=2147483647>>0-(c[g>>2]|0);break}else{a=c[e>>2]|0;break}}else{if((b|0)>(2147483647>>d|0)){a=2147483647>>0-(c[g>>2]|0);break}if((c[e>>2]|0)<(-2147483648>>0-(c[g>>2]|0)|0)){a=-2147483648>>0-(c[g>>2]|0);break}else{a=c[e>>2]|0;break}}while(0);c[f>>2]=a<<0-(c[g>>2]|0);n=c[f>>2]|0;l=h;return n|0}function ge(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;h=l;l=l+48|0;f=h+40|0;q=h+36|0;p=h+32|0;i=h+28|0;k=h+24|0;j=h+20|0;g=h+16|0;m=h+12|0;n=h+8|0;o=h+4|0;e=h;c[q>>2]=a;c[p>>2]=b;c[i>>2]=d;d=c[q>>2]|0;c[k>>2]=(he((c[q>>2]|0)>0?d:0-d|0)|0)-1;c[n>>2]=c[q>>2]<<c[k>>2];d=c[p>>2]|0;c[j>>2]=(he((c[p>>2]|0)>0?d:0-d|0)|0)-1;c[o>>2]=c[p>>2]<<c[j>>2];c[m>>2]=536870911/(c[o>>2]>>16|0)|0;d=N(c[n>>2]>>16,(c[m>>2]&65535)<<16>>16)|0;c[e>>2]=d+((N(c[n>>2]&65535,(c[m>>2]&65535)<<16>>16)|0)>>16);d=c[n>>2]|0;b=c[o>>2]|0;a=c[e>>2]|0;a=Xi(b|0,((b|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Yi(a|0,y|0,32)|0;c[n>>2]=d-(a<<3);a=N(c[n>>2]>>16,(c[m>>2]&65535)<<16>>16)|0;c[e>>2]=(c[e>>2]|0)+(a+((N(c[n>>2]&65535,(c[m>>2]&65535)<<16>>16)|0)>>16));c[g>>2]=29+(c[k>>2]|0)-(c[j>>2]|0)-(c[i>>2]|0);a=c[g>>2]|0;if((c[g>>2]|0)>=0)if((a|0)<32){c[f>>2]=c[e>>2]>>c[g>>2];q=c[f>>2]|0;l=h;return q|0}else{c[f>>2]=0;q=c[f>>2]|0;l=h;return q|0}b=c[e>>2]|0;d=0-(c[g>>2]|0)|0;do if((-2147483648>>0-a|0)>(2147483647>>0-(c[g>>2]|0)|0)){if((b|0)>(-2147483648>>d|0)){a=-2147483648>>0-(c[g>>2]|0);break}if((c[e>>2]|0)<(2147483647>>0-(c[g>>2]|0)|0)){a=2147483647>>0-(c[g>>2]|0);break}else{a=c[e>>2]|0;break}}else{if((b|0)>(2147483647>>d|0)){a=2147483647>>0-(c[g>>2]|0);break}if((c[e>>2]|0)<(-2147483648>>0-(c[g>>2]|0)|0)){a=-2147483648>>0-(c[g>>2]|0);break}else{a=c[e>>2]|0;break}}while(0);c[f>>2]=a<<0-(c[g>>2]|0);q=c[f>>2]|0;l=h;return q|0}function he(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){b=32;l=d;return b|0}b=32-(32-(Q(c[b>>2]|0)|0))|0;l=d;return b|0}function ie(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+4168>>2]=c[(c[d>>2]|0)+2328>>2]<<7;c[(c[d>>2]|0)+4168+72>>2]=65536;c[(c[d>>2]|0)+4168+72+4>>2]=65536;c[(c[d>>2]|0)+4168+88>>2]=20;c[(c[d>>2]|0)+4168+84>>2]=2;l=b;return}function je(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;h=m+16|0;g=m+12|0;i=m+8|0;j=m+4|0;k=m;c[h>>2]=a;c[g>>2]=b;c[i>>2]=d;c[j>>2]=e;c[k>>2]=f;if((c[(c[h>>2]|0)+2316>>2]|0)!=(c[(c[h>>2]|0)+4168+80>>2]|0)){ie(c[h>>2]|0);c[(c[h>>2]|0)+4168+80>>2]=c[(c[h>>2]|0)+2316>>2]}b=c[h>>2]|0;a=c[g>>2]|0;if(c[j>>2]|0){ke(b,a,c[i>>2]|0,c[k>>2]|0);k=(c[h>>2]|0)+4160|0;c[k>>2]=(c[k>>2]|0)+1;l=m;return}else{le(b,a);l=m;return}}function ke(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0;O=l;l=l+176|0;I=O+120|0;J=O+116|0;K=O+112|0;y=O+108|0;L=O+104|0;M=O+100|0;m=O+96|0;z=O+92|0;n=O+88|0;o=O+84|0;h=O+80|0;i=O+76|0;A=O+72|0;p=O+68|0;q=O+64|0;r=O+60|0;j=O+56|0;k=O+52|0;s=O+48|0;t=O+44|0;B=O+40|0;u=O+36|0;C=O+160|0;v=O+32|0;D=O+28|0;E=O+128|0;F=O+24|0;G=O+16|0;H=O+8|0;w=O+4|0;x=O;c[I>>2]=a;c[J>>2]=d;c[K>>2]=e;c[y>>2]=f;c[F>>2]=(c[I>>2]|0)+4168;g=(c[(c[I>>2]|0)+2336>>2]|0)+(c[(c[I>>2]|0)+2328>>2]|0)|0;c[H>>2]=$()|0;f=l;l=l+((1*(g<<2)|0)+15&-16)|0;g=l;l=l+((1*(c[(c[I>>2]|0)+2336>>2]<<1)|0)+15&-16)|0;c[G>>2]=c[(c[F>>2]|0)+72>>2]>>6;c[G+4>>2]=c[(c[F>>2]|0)+72+4>>2]>>6;if(c[(c[I>>2]|0)+2376>>2]|0){d=(c[F>>2]|0)+14|0;e=d+32|0;do{b[d>>1]=0;d=d+2|0}while((d|0)<(e|0))}me(j,h,k,i,(c[I>>2]|0)+4|0,G,c[(c[I>>2]|0)+2332>>2]|0,c[(c[I>>2]|0)+2324>>2]|0);a=(c[I>>2]|0)+4|0;d=c[(c[F>>2]|0)+84>>2]|0;if((c[j>>2]>>c[i>>2]|0)<(c[k>>2]>>c[h>>2]|0))c[s>>2]=a+((ne(0,(N(d-1|0,c[(c[F>>2]|0)+88>>2]|0)|0)-128|0)|0)<<2);else c[s>>2]=a+((ne(0,(N(d,c[(c[F>>2]|0)+88>>2]|0)|0)-128|0)|0)<<2);c[v>>2]=(c[F>>2]|0)+4;b[C>>1]=b[(c[F>>2]|0)+56>>1]|0;c[p>>2]=b[24440+((oe(1,c[(c[I>>2]|0)+4160>>2]|0)|0)<<1)>>1];k=(c[(c[I>>2]|0)+4164>>2]|0)==2;a=oe(1,c[(c[I>>2]|0)+4160>>2]|0)|0;if(k)c[q>>2]=b[24444+(a<<1)>>1];else c[q>>2]=b[24448+(a<<1)>>1];yf((c[F>>2]|0)+14|0,c[(c[I>>2]|0)+2340>>2]|0,64881);_i(E|0,(c[F>>2]|0)+14|0,c[(c[I>>2]|0)+2340>>2]<<1|0)|0;do if(!(c[(c[I>>2]|0)+4160>>2]|0)){b[C>>1]=16384;if((c[(c[I>>2]|0)+4164>>2]|0)!=2){c[w>>2]=Hf((c[F>>2]|0)+14|0,c[(c[I>>2]|0)+2340>>2]|0)|0;c[x>>2]=qe(134217728,c[w>>2]|0)|0;c[x>>2]=re(4194304,c[x>>2]|0)|0;c[x>>2]=c[x>>2]<<3;w=N(c[x>>2]>>16,(c[q>>2]&65535)<<16>>16)|0;c[q>>2]=w+((N(c[x>>2]&65535,(c[q>>2]&65535)<<16>>16)|0)>>16)>>14;break}c[L>>2]=0;while(1){if((c[L>>2]|0)>=5)break;b[C>>1]=(b[C>>1]|0)-(b[(c[v>>2]|0)+(c[L>>2]<<1)>>1]|0);c[L>>2]=(c[L>>2]|0)+1}b[C>>1]=pe(3277,b[C>>1]|0)|0;b[C>>1]=(N(b[C>>1]|0,b[(c[F>>2]|0)+68>>1]|0)|0)>>14}while(0);c[A>>2]=c[(c[F>>2]|0)+52>>2];c[z>>2]=(c[c[F>>2]>>2]>>7)+1>>1;c[o>>2]=c[(c[I>>2]|0)+2336>>2];c[n>>2]=(c[(c[I>>2]|0)+2336>>2]|0)-(c[z>>2]|0)-(c[(c[I>>2]|0)+2340>>2]|0)-2;Gf(g+(c[n>>2]<<1)|0,(c[I>>2]|0)+1348+(c[n>>2]<<1)|0,E,(c[(c[I>>2]|0)+2336>>2]|0)-(c[n>>2]|0)|0,c[(c[I>>2]|0)+2340>>2]|0,c[y>>2]|0);c[r>>2]=se(c[(c[F>>2]|0)+72+4>>2]|0,46)|0;c[r>>2]=(c[r>>2]|0)<1073741823?c[r>>2]|0:1073741823;c[L>>2]=(c[n>>2]|0)+(c[(c[I>>2]|0)+2340>>2]|0);while(1){if((c[L>>2]|0)>=(c[(c[I>>2]|0)+2336>>2]|0))break;y=N(c[r>>2]>>16,b[g+(c[L>>2]<<1)>>1]|0)|0;y=y+((N(c[r>>2]&65535,b[g+(c[L>>2]<<1)>>1]|0)|0)>>16)|0;c[f+(c[L>>2]<<2)>>2]=y;c[L>>2]=(c[L>>2]|0)+1}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[I>>2]|0)+2324>>2]|0))break;c[t>>2]=f+((c[o>>2]|0)-(c[z>>2]|0)+2<<2);c[L>>2]=0;while(1){if((c[L>>2]|0)>=(c[(c[I>>2]|0)+2332>>2]|0))break;c[u>>2]=2;y=N(c[c[t>>2]>>2]>>16,b[c[v>>2]>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(y+((N(c[c[t>>2]>>2]&65535,b[c[v>>2]>>1]|0)|0)>>16));y=N(c[(c[t>>2]|0)+-4>>2]>>16,b[(c[v>>2]|0)+2>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(y+((N(c[(c[t>>2]|0)+-4>>2]&65535,b[(c[v>>2]|0)+2>>1]|0)|0)>>16));y=N(c[(c[t>>2]|0)+-8>>2]>>16,b[(c[v>>2]|0)+4>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(y+((N(c[(c[t>>2]|0)+-8>>2]&65535,b[(c[v>>2]|0)+4>>1]|0)|0)>>16));y=N(c[(c[t>>2]|0)+-12>>2]>>16,b[(c[v>>2]|0)+6>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(y+((N(c[(c[t>>2]|0)+-12>>2]&65535,b[(c[v>>2]|0)+6>>1]|0)|0)>>16));y=N(c[(c[t>>2]|0)+-16>>2]>>16,b[(c[v>>2]|0)+8>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(y+((N(c[(c[t>>2]|0)+-16>>2]&65535,b[(c[v>>2]|0)+8>>1]|0)|0)>>16));c[t>>2]=(c[t>>2]|0)+4;c[A>>2]=907633515+(N(c[A>>2]|0,196314165)|0);c[n>>2]=c[A>>2]>>25&127;y=N(c[(c[s>>2]|0)+(c[n>>2]<<2)>>2]>>16,b[C>>1]|0)|0;y=(c[u>>2]|0)+(y+((N(c[(c[s>>2]|0)+(c[n>>2]<<2)>>2]&65535,b[C>>1]|0)|0)>>16))<<2;c[f+(c[o>>2]<<2)>>2]=y;c[o>>2]=(c[o>>2]|0)+1;c[L>>2]=(c[L>>2]|0)+1}c[M>>2]=0;while(1){if((c[M>>2]|0)>=5)break;y=(N((c[p>>2]&65535)<<16>>16,b[(c[v>>2]|0)+(c[M>>2]<<1)>>1]|0)|0)>>15&65535;b[(c[v>>2]|0)+(c[M>>2]<<1)>>1]=y;c[M>>2]=(c[M>>2]|0)+1}b[C>>1]=(N(b[C>>1]|0,(c[q>>2]&65535)<<16>>16)|0)>>15;c[c[F>>2]>>2]=(c[c[F>>2]>>2]|0)+(((c[c[F>>2]>>2]>>16)*655|0)+((c[c[F>>2]>>2]&65535)*655>>16));y=qe(c[c[F>>2]>>2]|0,((c[(c[I>>2]|0)+2316>>2]&65535)<<16>>16)*18<<8)|0;c[c[F>>2]>>2]=y;c[z>>2]=(c[c[F>>2]>>2]>>7)+1>>1;c[m>>2]=(c[m>>2]|0)+1}c[D>>2]=f+((c[(c[I>>2]|0)+2336>>2]|0)-16<<2);d=c[D>>2]|0;a=(c[I>>2]|0)+1284|0;e=d+64|0;do{c[d>>2]=c[a>>2];d=d+4|0;a=a+4|0}while((d|0)<(e|0));c[L>>2]=0;while(1){a=c[I>>2]|0;if((c[L>>2]|0)>=(c[(c[I>>2]|0)+2328>>2]|0))break;c[B>>2]=c[a+2340>>2]>>1;y=N(c[(c[D>>2]|0)+(16+(c[L>>2]|0)-1<<2)>>2]>>16,b[E>>1]|0)|0;c[B>>2]=(c[B>>2]|0)+(y+((N(c[(c[D>>2]|0)+(16+(c[L>>2]|0)-1<<2)>>2]&65535,b[E>>1]|0)|0)>>16));y=N(c[(c[D>>2]|0)+(16+(c[L>>2]|0)-2<<2)>>2]>>16,b[E+2>>1]|0)|0;c[B>>2]=(c[B>>2]|0)+(y+((N(c[(c[D>>2]|0)+(16+(c[L>>2]|0)-2<<2)>>2]&65535,b[E+2>>1]|0)|0)>>16));y=N(c[(c[D>>2]|0)+(16+(c[L>>2]|0)-3<<2)>>2]>>16,b[E+4>>1]|0)|0;c[B>>2]=(c[B>>2]|0)+(y+((N(c[(c[D>>2]|0)+(16+(c[L>>2]|0)-3<<2)>>2]&65535,b[E+4>>1]|0)|0)>>16));y=N(c[(c[D>>2]|0)+(16+(c[L>>2]|0)-4<<2)>>2]>>16,b[E+6>>1]|0)|0;c[B>>2]=(c[B>>2]|0)+(y+((N(c[(c[D>>2]|0)+(16+(c[L>>2]|0)-4<<2)>>2]&65535,b[E+6>>1]|0)|0)>>16));y=N(c[(c[D>>2]|0)+(16+(c[L>>2]|0)-5<<2)>>2]>>16,b[E+8>>1]|0)|0;c[B>>2]=(c[B>>2]|0)+(y+((N(c[(c[D>>2]|0)+(16+(c[L>>2]|0)-5<<2)>>2]&65535,b[E+8>>1]|0)|0)>>16));y=N(c[(c[D>>2]|0)+(16+(c[L>>2]|0)-6<<2)>>2]>>16,b[E+10>>1]|0)|0;c[B>>2]=(c[B>>2]|0)+(y+((N(c[(c[D>>2]|0)+(16+(c[L>>2]|0)-6<<2)>>2]&65535,b[E+10>>1]|0)|0)>>16));y=N(c[(c[D>>2]|0)+(16+(c[L>>2]|0)-7<<2)>>2]>>16,b[E+12>>1]|0)|0;c[B>>2]=(c[B>>2]|0)+(y+((N(c[(c[D>>2]|0)+(16+(c[L>>2]|0)-7<<2)>>2]&65535,b[E+12>>1]|0)|0)>>16));y=N(c[(c[D>>2]|0)+(16+(c[L>>2]|0)-8<<2)>>2]>>16,b[E+14>>1]|0)|0;c[B>>2]=(c[B>>2]|0)+(y+((N(c[(c[D>>2]|0)+(16+(c[L>>2]|0)-8<<2)>>2]&65535,b[E+14>>1]|0)|0)>>16));y=N(c[(c[D>>2]|0)+(16+(c[L>>2]|0)-9<<2)>>2]>>16,b[E+16>>1]|0)|0;c[B>>2]=(c[B>>2]|0)+(y+((N(c[(c[D>>2]|0)+(16+(c[L>>2]|0)-9<<2)>>2]&65535,b[E+16>>1]|0)|0)>>16));y=N(c[(c[D>>2]|0)+(16+(c[L>>2]|0)-10<<2)>>2]>>16,b[E+18>>1]|0)|0;c[B>>2]=(c[B>>2]|0)+(y+((N(c[(c[D>>2]|0)+(16+(c[L>>2]|0)-10<<2)>>2]&65535,b[E+18>>1]|0)|0)>>16));c[M>>2]=10;while(1){if((c[M>>2]|0)>=(c[(c[I>>2]|0)+2340>>2]|0))break;y=N(c[(c[D>>2]|0)+(16+(c[L>>2]|0)-(c[M>>2]|0)-1<<2)>>2]>>16,b[E+(c[M>>2]<<1)>>1]|0)|0;c[B>>2]=(c[B>>2]|0)+(y+((N(c[(c[D>>2]|0)+(16+(c[L>>2]|0)-(c[M>>2]|0)-1<<2)>>2]&65535,b[E+(c[M>>2]<<1)>>1]|0)|0)>>16));c[M>>2]=(c[M>>2]|0)+1}c[(c[D>>2]|0)+(16+(c[L>>2]|0)<<2)>>2]=(c[(c[D>>2]|0)+(16+(c[L>>2]|0)<<2)>>2]|0)+(c[B>>2]<<4);y=N(c[(c[D>>2]|0)+(16+(c[L>>2]|0)<<2)>>2]>>16,(c[G+4>>2]&65535)<<16>>16)|0;y=y+((N(c[(c[D>>2]|0)+(16+(c[L>>2]|0)<<2)>>2]&65535,(c[G+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((y+(N(c[(c[D>>2]|0)+(16+(c[L>>2]|0)<<2)>>2]|0,(c[G+4>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<=32767){y=N(c[(c[D>>2]|0)+(16+(c[L>>2]|0)<<2)>>2]>>16,(c[G+4>>2]&65535)<<16>>16)|0;y=y+((N(c[(c[D>>2]|0)+(16+(c[L>>2]|0)<<2)>>2]&65535,(c[G+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((y+(N(c[(c[D>>2]|0)+(16+(c[L>>2]|0)<<2)>>2]|0,(c[G+4>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<-32768)a=-32768;else{a=N(c[(c[D>>2]|0)+(16+(c[L>>2]|0)<<2)>>2]>>16,(c[G+4>>2]&65535)<<16>>16)|0;a=a+((N(c[(c[D>>2]|0)+(16+(c[L>>2]|0)<<2)>>2]&65535,(c[G+4>>2]&65535)<<16>>16)|0)>>16)|0;a=(a+(N(c[(c[D>>2]|0)+(16+(c[L>>2]|0)<<2)>>2]|0,(c[G+4>>2]>>15)+1>>1)|0)>>7)+1>>1}}else a=32767;if((a|0)<=32767){y=N(c[(c[D>>2]|0)+(16+(c[L>>2]|0)<<2)>>2]>>16,(c[G+4>>2]&65535)<<16>>16)|0;y=y+((N(c[(c[D>>2]|0)+(16+(c[L>>2]|0)<<2)>>2]&65535,(c[G+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((y+(N(c[(c[D>>2]|0)+(16+(c[L>>2]|0)<<2)>>2]|0,(c[G+4>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<=32767){y=N(c[(c[D>>2]|0)+(16+(c[L>>2]|0)<<2)>>2]>>16,(c[G+4>>2]&65535)<<16>>16)|0;y=y+((N(c[(c[D>>2]|0)+(16+(c[L>>2]|0)<<2)>>2]&65535,(c[G+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((y+(N(c[(c[D>>2]|0)+(16+(c[L>>2]|0)<<2)>>2]|0,(c[G+4>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<-32768)a=-32768;else{a=N(c[(c[D>>2]|0)+(16+(c[L>>2]|0)<<2)>>2]>>16,(c[G+4>>2]&65535)<<16>>16)|0;a=a+((N(c[(c[D>>2]|0)+(16+(c[L>>2]|0)<<2)>>2]&65535,(c[G+4>>2]&65535)<<16>>16)|0)>>16)|0;a=(a+(N(c[(c[D>>2]|0)+(16+(c[L>>2]|0)<<2)>>2]|0,(c[G+4>>2]>>15)+1>>1)|0)>>7)+1>>1}}else a=32767;if((a|0)>=-32768){y=N(c[(c[D>>2]|0)+(16+(c[L>>2]|0)<<2)>>2]>>16,(c[G+4>>2]&65535)<<16>>16)|0;y=y+((N(c[(c[D>>2]|0)+(16+(c[L>>2]|0)<<2)>>2]&65535,(c[G+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((y+(N(c[(c[D>>2]|0)+(16+(c[L>>2]|0)<<2)>>2]|0,(c[G+4>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<=32767){y=N(c[(c[D>>2]|0)+(16+(c[L>>2]|0)<<2)>>2]>>16,(c[G+4>>2]&65535)<<16>>16)|0;y=y+((N(c[(c[D>>2]|0)+(16+(c[L>>2]|0)<<2)>>2]&65535,(c[G+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((y+(N(c[(c[D>>2]|0)+(16+(c[L>>2]|0)<<2)>>2]|0,(c[G+4>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<-32768)a=-32768;else{a=N(c[(c[D>>2]|0)+(16+(c[L>>2]|0)<<2)>>2]>>16,(c[G+4>>2]&65535)<<16>>16)|0;a=a+((N(c[(c[D>>2]|0)+(16+(c[L>>2]|0)<<2)>>2]&65535,(c[G+4>>2]&65535)<<16>>16)|0)>>16)|0;a=(a+(N(c[(c[D>>2]|0)+(16+(c[L>>2]|0)<<2)>>2]|0,(c[G+4>>2]>>15)+1>>1)|0)>>7)+1>>1}}else a=32767}else a=-32768}else a=32767;b[(c[K>>2]|0)+(c[L>>2]<<1)>>1]=a;c[L>>2]=(c[L>>2]|0)+1}d=a+1284|0;a=(c[D>>2]|0)+(c[(c[I>>2]|0)+2328>>2]<<2)|0;e=d+64|0;do{c[d>>2]=c[a>>2];d=d+4|0;a=a+4|0}while((d|0)<(e|0));c[(c[F>>2]|0)+52>>2]=c[A>>2];b[(c[F>>2]|0)+56>>1]=b[C>>1]|0;c[L>>2]=0;while(1){if((c[L>>2]|0)>=4)break;c[(c[J>>2]|0)+(c[L>>2]<<2)>>2]=c[z>>2];c[L>>2]=(c[L>>2]|0)+1}_(c[H>>2]|0);l=O;return}function le(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;i=r+40|0;j=r+36|0;k=r+32|0;m=r+28|0;n=r+24|0;o=r+20|0;p=r+16|0;q=r+12|0;f=r+8|0;g=r+4|0;h=r;c[i>>2]=d;c[j>>2]=e;c[p>>2]=(c[i>>2]|0)+4168;c[(c[i>>2]|0)+4164>>2]=a[(c[i>>2]|0)+2736+29>>0];c[k>>2]=0;a:do if((a[(c[i>>2]|0)+2736+29>>0]|0)==2){c[o>>2]=0;while(1){e=N(c[o>>2]|0,c[(c[i>>2]|0)+2332>>2]|0)|0;if((e|0)>=(c[(c[j>>2]|0)+((c[(c[i>>2]|0)+2324>>2]|0)-1<<2)>>2]|0))break;if((c[o>>2]|0)==(c[(c[i>>2]|0)+2324>>2]|0))break;c[m>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=5)break;c[m>>2]=(c[m>>2]|0)+(b[(c[j>>2]|0)+96+((((c[(c[i>>2]|0)+2324>>2]|0)-1-(c[o>>2]|0)|0)*5|0)+(c[n>>2]|0)<<1)>>1]|0);c[n>>2]=(c[n>>2]|0)+1}if((c[m>>2]|0)>(c[k>>2]|0)){c[k>>2]=c[m>>2];e=(c[p>>2]|0)+4|0;d=(c[j>>2]|0)+96+((((c[(c[i>>2]|0)+2324>>2]|0)-1-(c[o>>2]|0)&65535)<<16>>16)*5<<1)|0;b[e>>1]=b[d>>1]|0;b[e+2>>1]=b[d+2>>1]|0;b[e+4>>1]=b[d+4>>1]|0;b[e+6>>1]=b[d+6>>1]|0;b[e+8>>1]=b[d+8>>1]|0;c[c[p>>2]>>2]=c[(c[j>>2]|0)+((c[(c[i>>2]|0)+2324>>2]|0)-1-(c[o>>2]|0)<<2)>>2]<<8}c[o>>2]=(c[o>>2]|0)+1}o=(c[p>>2]|0)+4|0;c[o>>2]=0;c[o+4>>2]=0;b[o+8>>1]=0;b[(c[p>>2]|0)+4+4>>1]=c[k>>2];if((c[k>>2]|0)<11469){c[f>>2]=11744256;c[q>>2]=(c[f>>2]|0)/(((c[k>>2]|0)>1?c[k>>2]|0:1)|0)|0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=5)break a;o=(N(b[(c[p>>2]|0)+4+(c[n>>2]<<1)>>1]|0,(c[q>>2]&65535)<<16>>16)|0)>>10&65535;b[(c[p>>2]|0)+4+(c[n>>2]<<1)>>1]=o;c[n>>2]=(c[n>>2]|0)+1}}if((c[k>>2]|0)>15565){c[h>>2]=255016960;c[g>>2]=(c[h>>2]|0)/(((c[k>>2]|0)>1?c[k>>2]|0:1)|0)|0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=5)break a;q=(N(b[(c[p>>2]|0)+4+(c[n>>2]<<1)>>1]|0,(c[g>>2]&65535)<<16>>16)|0)>>14&65535;b[(c[p>>2]|0)+4+(c[n>>2]<<1)>>1]=q;c[n>>2]=(c[n>>2]|0)+1}}}else{c[c[p>>2]>>2]=((c[(c[i>>2]|0)+2316>>2]&65535)<<16>>16)*18<<8;q=(c[p>>2]|0)+4|0;c[q>>2]=0;c[q+4>>2]=0;b[q+8>>1]=0}while(0);_i((c[p>>2]|0)+14|0,(c[j>>2]|0)+32+32|0,c[(c[i>>2]|0)+2340>>2]<<1|0)|0;b[(c[p>>2]|0)+68>>1]=c[(c[j>>2]|0)+136>>2];q=(c[p>>2]|0)+72|0;o=(c[j>>2]|0)+16+((c[(c[i>>2]|0)+2324>>2]|0)-2<<2)|0;c[q>>2]=c[o>>2];c[q+4>>2]=c[o+4>>2];c[(c[p>>2]|0)+88>>2]=c[(c[i>>2]|0)+2332>>2];c[(c[p>>2]|0)+84>>2]=c[(c[i>>2]|0)+2324>>2];l=r;return}function me(a,d,e,f,g,h,i,j){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+48|0;v=x+44|0;w=x+40|0;k=x+36|0;m=x+32|0;n=x+28|0;o=x+24|0;p=x+20|0;q=x+16|0;r=x+12|0;s=x+8|0;t=x+4|0;u=x;c[v>>2]=a;c[w>>2]=d;c[k>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=i;c[q>>2]=j;j=c[p>>2]<<1;c[u>>2]=$()|0;d=l;l=l+((1*(j<<1)|0)+15&-16)|0;c[t>>2]=d;c[s>>2]=0;while(1){if((c[s>>2]|0)>=2)break;c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[p>>2]|0))break;j=c[(c[n>>2]|0)+((c[r>>2]|0)+(N((c[s>>2]|0)+(c[q>>2]|0)-2|0,c[p>>2]|0)|0)<<2)>>2]>>16;j=N(j,(c[(c[o>>2]|0)+(c[s>>2]<<2)>>2]&65535)<<16>>16)|0;i=c[(c[n>>2]|0)+((c[r>>2]|0)+(N((c[s>>2]|0)+(c[q>>2]|0)-2|0,c[p>>2]|0)|0)<<2)>>2]&65535;i=j+((N(i,(c[(c[o>>2]|0)+(c[s>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;j=c[(c[n>>2]|0)+((c[r>>2]|0)+(N((c[s>>2]|0)+(c[q>>2]|0)-2|0,c[p>>2]|0)|0)<<2)>>2]|0;if((i+(N(j,(c[(c[o>>2]|0)+(c[s>>2]<<2)>>2]>>15)+1>>1)|0)>>8|0)<=32767){j=c[(c[n>>2]|0)+((c[r>>2]|0)+(N((c[s>>2]|0)+(c[q>>2]|0)-2|0,c[p>>2]|0)|0)<<2)>>2]>>16;j=N(j,(c[(c[o>>2]|0)+(c[s>>2]<<2)>>2]&65535)<<16>>16)|0;i=c[(c[n>>2]|0)+((c[r>>2]|0)+(N((c[s>>2]|0)+(c[q>>2]|0)-2|0,c[p>>2]|0)|0)<<2)>>2]&65535;i=j+((N(i,(c[(c[o>>2]|0)+(c[s>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;j=c[(c[n>>2]|0)+((c[r>>2]|0)+(N((c[s>>2]|0)+(c[q>>2]|0)-2|0,c[p>>2]|0)|0)<<2)>>2]|0;if((i+(N(j,(c[(c[o>>2]|0)+(c[s>>2]<<2)>>2]>>15)+1>>1)|0)>>8|0)<-32768)a=-32768;else{a=c[(c[n>>2]|0)+((c[r>>2]|0)+(N((c[s>>2]|0)+(c[q>>2]|0)-2|0,c[p>>2]|0)|0)<<2)>>2]>>16;a=N(a,(c[(c[o>>2]|0)+(c[s>>2]<<2)>>2]&65535)<<16>>16)|0;j=c[(c[n>>2]|0)+((c[r>>2]|0)+(N((c[s>>2]|0)+(c[q>>2]|0)-2|0,c[p>>2]|0)|0)<<2)>>2]&65535;j=a+((N(j,(c[(c[o>>2]|0)+(c[s>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;a=c[(c[n>>2]|0)+((c[r>>2]|0)+(N((c[s>>2]|0)+(c[q>>2]|0)-2|0,c[p>>2]|0)|0)<<2)>>2]|0;a=j+(N(a,(c[(c[o>>2]|0)+(c[s>>2]<<2)>>2]>>15)+1>>1)|0)>>8}}else a=32767;b[(c[t>>2]|0)+(c[r>>2]<<1)>>1]=a;c[r>>2]=(c[r>>2]|0)+1}c[t>>2]=(c[t>>2]|0)+(c[p>>2]<<1);c[s>>2]=(c[s>>2]|0)+1}fg(c[v>>2]|0,c[w>>2]|0,d,c[p>>2]|0);fg(c[k>>2]|0,c[m>>2]|0,d+(c[p>>2]<<1)|0,c[p>>2]|0);_(c[u>>2]|0);l=x;return}function ne(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)>(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function oe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)<(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function pe(a,c){a=a|0;c=c|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+2|0;d=f;b[e>>1]=a;b[d>>1]=c;l=f;return ((b[e>>1]|0)>(b[d>>1]|0)?b[e>>1]|0:b[d>>1]|0)&65535|0}function qe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)<(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function re(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)>(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function se(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;h=l;l=l+48|0;f=h+32|0;n=h+28|0;d=h+24|0;i=h+20|0;g=h+16|0;j=h+12|0;m=h+8|0;k=h+4|0;e=h;c[n>>2]=a;c[d>>2]=b;a=c[n>>2]|0;c[i>>2]=(te((c[n>>2]|0)>0?a:0-a|0)|0)-1;c[m>>2]=c[n>>2]<<c[i>>2];c[j>>2]=536870911/(c[m>>2]>>16|0)|0;c[e>>2]=c[j>>2]<<16;a=N(c[m>>2]>>16,(c[j>>2]&65535)<<16>>16)|0;c[k>>2]=536870912-(a+((N(c[m>>2]&65535,(c[j>>2]&65535)<<16>>16)|0)>>16))<<3;a=N(c[k>>2]>>16,(c[j>>2]&65535)<<16>>16)|0;a=(c[e>>2]|0)+(a+((N(c[k>>2]&65535,(c[j>>2]&65535)<<16>>16)|0)>>16))|0;c[e>>2]=a+(N(c[k>>2]|0,(c[j>>2]>>15)+1>>1)|0);c[g>>2]=61-(c[i>>2]|0)-(c[d>>2]|0);a=c[g>>2]|0;if((c[g>>2]|0)>0)if((a|0)<32){c[f>>2]=c[e>>2]>>c[g>>2];n=c[f>>2]|0;l=h;return n|0}else{c[f>>2]=0;n=c[f>>2]|0;l=h;return n|0}b=c[e>>2]|0;d=0-(c[g>>2]|0)|0;do if((-2147483648>>0-a|0)>(2147483647>>0-(c[g>>2]|0)|0)){if((b|0)>(-2147483648>>d|0)){a=-2147483648>>0-(c[g>>2]|0);break}if((c[e>>2]|0)<(2147483647>>0-(c[g>>2]|0)|0)){a=2147483647>>0-(c[g>>2]|0);break}else{a=c[e>>2]|0;break}}else{if((b|0)>(2147483647>>d|0)){a=2147483647>>0-(c[g>>2]|0);break}if((c[e>>2]|0)<(-2147483648>>0-(c[g>>2]|0)|0)){a=-2147483648>>0-(c[g>>2]|0);break}else{a=c[e>>2]|0;break}}while(0);c[f>>2]=a<<0-(c[g>>2]|0);n=c[f>>2]|0;l=h;return n|0}function te(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){b=32;l=d;return b|0}b=32-(32-(Q(c[b>>2]|0)|0))|0;l=d;return b|0}function ue(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;j=r+40|0;k=r+36|0;m=r+32|0;n=r+28|0;o=r+24|0;p=r+20|0;q=r+16|0;f=r+12|0;g=r+8|0;h=r+4|0;i=r;c[j>>2]=a;c[k>>2]=d;c[m>>2]=e;c[q>>2]=(c[j>>2]|0)+4168;if(c[(c[j>>2]|0)+4160>>2]|0){fg((c[q>>2]|0)+60|0,(c[q>>2]|0)+64|0,c[k>>2]|0,c[m>>2]|0);p=1;q=c[q>>2]|0;q=q+48|0;c[q>>2]=p;l=r;return}a:do if(c[(c[j>>2]|0)+4168+48>>2]|0){fg(p,o,c[k>>2]|0,c[m>>2]|0);if((c[o>>2]|0)<=(c[(c[q>>2]|0)+64>>2]|0)){if((c[o>>2]|0)<(c[(c[q>>2]|0)+64>>2]|0))c[p>>2]=c[p>>2]>>(c[(c[q>>2]|0)+64>>2]|0)-(c[o>>2]|0)}else c[(c[q>>2]|0)+60>>2]=c[(c[q>>2]|0)+60>>2]>>(c[o>>2]|0)-(c[(c[q>>2]|0)+64>>2]|0);if((c[p>>2]|0)>(c[(c[q>>2]|0)+60>>2]|0)){c[g>>2]=te(c[(c[q>>2]|0)+60>>2]|0)|0;c[g>>2]=(c[g>>2]|0)-1;c[(c[q>>2]|0)+60>>2]=c[(c[q>>2]|0)+60>>2]<<c[g>>2];o=c[p>>2]|0;c[p>>2]=o>>(re(24-(c[g>>2]|0)|0,0)|0);c[f>>2]=(c[(c[q>>2]|0)+60>>2]|0)/(((c[p>>2]|0)>1?c[p>>2]|0:1)|0)|0;c[h>>2]=(ve(c[f>>2]|0)|0)<<4;c[i>>2]=(65536-(c[h>>2]|0)|0)/(c[m>>2]|0)|0;c[i>>2]=c[i>>2]<<2;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[m>>2]|0))break a;p=N(c[h>>2]>>16,b[(c[k>>2]|0)+(c[n>>2]<<1)>>1]|0)|0;p=p+((N(c[h>>2]&65535,b[(c[k>>2]|0)+(c[n>>2]<<1)>>1]|0)|0)>>16)&65535;b[(c[k>>2]|0)+(c[n>>2]<<1)>>1]=p;c[h>>2]=(c[h>>2]|0)+(c[i>>2]|0);if((c[h>>2]|0)>65536)break a;c[n>>2]=(c[n>>2]|0)+1}}}while(0);p=0;q=c[q>>2]|0;q=q+48|0;c[q>>2]=p;l=r;return}function ve(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;b=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;if((c[d>>2]|0)<=0){c[b>>2]=0;g=c[b>>2]|0;l=h;return g|0}we(c[d>>2]|0,f,g);if(c[f>>2]&1|0)c[e>>2]=32768;else c[e>>2]=46214;c[e>>2]=c[e>>2]>>(c[f>>2]>>1);f=N(c[e>>2]>>16,(((c[g>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0;c[e>>2]=(c[e>>2]|0)+(f+((N(c[e>>2]&65535,(((c[g>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0)>>16));c[b>>2]=c[e>>2];g=c[b>>2]|0;l=h;return g|0}function we(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+16|0;h=e+12|0;i=e+8|0;f=e+4|0;g=e;c[h>>2]=a;c[i>>2]=b;c[f>>2]=d;c[g>>2]=te(c[h>>2]|0)|0;c[c[i>>2]>>2]=c[g>>2];d=(xe(c[h>>2]|0,24-(c[g>>2]|0)|0)|0)&127;c[c[f>>2]>>2]=d;l=e;return}function xe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+20|0;d=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[d>>2]=a;c[f>>2]=b;c[g>>2]=c[d>>2];c[h>>2]=c[f>>2];c[i>>2]=0-(c[f>>2]|0);if(!(c[f>>2]|0)){c[e>>2]=c[d>>2];i=c[e>>2]|0;l=j;return i|0}a=c[g>>2]|0;if((c[f>>2]|0)<0){c[e>>2]=a<<c[i>>2]|(c[g>>2]|0)>>>(32-(c[i>>2]|0)|0);i=c[e>>2]|0;l=j;return i|0}else{c[e>>2]=a<<32-(c[h>>2]|0)|(c[g>>2]|0)>>>(c[h>>2]|0);i=c[e>>2]|0;l=j;return i|0}return 0}function ye(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=l;l=l+80|0;g=d+68|0;f=d+64|0;e=d+32|0;h=d+16|0;i=d+8|0;j=d;c[g>>2]=a;c[f>>2]=b;ze(e,c[f>>2]|0,8);ze(h,e,4);ze(i,h,2);ze(j,i,1);Ae(c[g>>2]|0,c[i>>2]|0,c[j>>2]|0,30011);Ae(c[g>>2]|0,c[h>>2]|0,c[i>>2]|0,29859);Ae(c[g>>2]|0,c[e>>2]|0,c[h>>2]|0,29707);Ae(c[g>>2]|0,c[c[f>>2]>>2]|0,c[e>>2]|0,29555);Ae(c[g>>2]|0,c[(c[f>>2]|0)+8>>2]|0,c[e+4>>2]|0,29555);Ae(c[g>>2]|0,c[e+8>>2]|0,c[h+4>>2]|0,29707);Ae(c[g>>2]|0,c[(c[f>>2]|0)+16>>2]|0,c[e+8>>2]|0,29555);Ae(c[g>>2]|0,c[(c[f>>2]|0)+24>>2]|0,c[e+12>>2]|0,29555);Ae(c[g>>2]|0,c[h+8>>2]|0,c[i+4>>2]|0,29859);Ae(c[g>>2]|0,c[e+16>>2]|0,c[h+8>>2]|0,29707);Ae(c[g>>2]|0,c[(c[f>>2]|0)+32>>2]|0,c[e+16>>2]|0,29555);Ae(c[g>>2]|0,c[(c[f>>2]|0)+40>>2]|0,c[e+20>>2]|0,29555);Ae(c[g>>2]|0,c[e+24>>2]|0,c[h+12>>2]|0,29707);Ae(c[g>>2]|0,c[(c[f>>2]|0)+48>>2]|0,c[e+24>>2]|0,29555);Ae(c[g>>2]|0,c[(c[f>>2]|0)+56>>2]|0,c[e+28>>2]|0,29555);l=d;return}function ze(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[g>>2]|0))break;c[(c[e>>2]|0)+(c[h>>2]<<2)>>2]=(c[(c[f>>2]|0)+(c[h>>2]<<1<<2)>>2]|0)+(c[(c[f>>2]|0)+((c[h>>2]<<1)+1<<2)>>2]|0);c[h>>2]=(c[h>>2]|0)+1}l=i;return}function Ae(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[g>>2]=a;c[h>>2]=b;c[i>>2]=e;c[j>>2]=f;if((c[i>>2]|0)<=0){l=k;return}$b(c[g>>2]|0,c[h>>2]|0,(c[j>>2]|0)+(d[30163+(c[i>>2]|0)>>0]|0)|0,8);l=k;return}function Be(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;f=l;l=l+48|0;i=f+8|0;h=f+4|0;m=f;k=f+40|0;j=f+32|0;g=f+16|0;c[i>>2]=a;c[h>>2]=d;c[m>>2]=e;Ce(k,k+2|0,c[h>>2]|0,c[m>>2]|0,30011);Ce(j,j+2|0,c[h>>2]|0,b[k>>1]|0,29859);Ce(g,g+2|0,c[h>>2]|0,b[j>>1]|0,29707);Ce(c[i>>2]|0,(c[i>>2]|0)+2|0,c[h>>2]|0,b[g>>1]|0,29555);Ce((c[i>>2]|0)+4|0,(c[i>>2]|0)+6|0,c[h>>2]|0,b[g+2>>1]|0,29555);Ce(g+4|0,g+6|0,c[h>>2]|0,b[j+2>>1]|0,29707);Ce((c[i>>2]|0)+8|0,(c[i>>2]|0)+10|0,c[h>>2]|0,b[g+4>>1]|0,29555);Ce((c[i>>2]|0)+12|0,(c[i>>2]|0)+14|0,c[h>>2]|0,b[g+6>>1]|0,29555);Ce(j+4|0,j+6|0,c[h>>2]|0,b[k+2>>1]|0,29859);Ce(g+8|0,g+10|0,c[h>>2]|0,b[j+4>>1]|0,29707);Ce((c[i>>2]|0)+16|0,(c[i>>2]|0)+18|0,c[h>>2]|0,b[g+8>>1]|0,29555);Ce((c[i>>2]|0)+20|0,(c[i>>2]|0)+22|0,c[h>>2]|0,b[g+10>>1]|0,29555);Ce(g+12|0,g+14|0,c[h>>2]|0,b[j+6>>1]|0,29707);Ce((c[i>>2]|0)+24|0,(c[i>>2]|0)+26|0,c[h>>2]|0,b[g+12>>1]|0,29555);Ce((c[i>>2]|0)+28|0,(c[i>>2]|0)+30|0,c[h>>2]|0,b[g+14>>1]|0,29555);l=f;return}function Ce(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;i=o+16|0;j=o+12|0;k=o+8|0;m=o+4|0;n=o;c[i>>2]=a;c[j>>2]=e;c[k>>2]=f;c[m>>2]=g;c[n>>2]=h;if((c[m>>2]|0)>0){n=(Pb(c[k>>2]|0,(c[n>>2]|0)+(d[30163+(c[m>>2]|0)>>0]|0)|0,8)|0)&65535;b[c[i>>2]>>1]=n;m=(c[m>>2]|0)-(b[c[i>>2]>>1]|0)&65535;n=c[j>>2]|0;b[n>>1]=m;l=o;return}else{b[c[i>>2]>>1]=0;m=0;n=c[j>>2]|0;b[n>>1]=m;l=o;return}}function De(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[f>>2]=0;a=c[d>>2]|0;b=a+112|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[e>>2]=0;while(1){if((c[e>>2]|0)>=4)break;b=Ee(50/((c[e>>2]|0)+1|0)|0,1)|0;c[(c[d>>2]|0)+92+(c[e>>2]<<2)>>2]=b;c[e>>2]=(c[e>>2]|0)+1}c[e>>2]=0;while(1){a=c[d>>2]|0;if((c[e>>2]|0)>=4)break;c[(c[d>>2]|0)+60+(c[e>>2]<<2)>>2]=(c[a+92+(c[e>>2]<<2)>>2]|0)*100;c[(c[d>>2]|0)+76+(c[e>>2]<<2)>>2]=2147483647/(c[(c[d>>2]|0)+60+(c[e>>2]<<2)>>2]|0)|0;c[e>>2]=(c[e>>2]|0)+1}c[a+108>>2]=15;c[e>>2]=0;while(1){if((c[e>>2]|0)>=4)break;c[(c[d>>2]|0)+40+(c[e>>2]<<2)>>2]=25600;c[e>>2]=(c[e>>2]|0)+1}l=g;return c[f>>2]|0}function Ee(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)>(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function Fe(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;C=l;l=l+144|0;v=C+132|0;F=C+128|0;B=C+124|0;q=C+120|0;r=C+116|0;E=C+112|0;D=C+108|0;n=C+104|0;g=C+100|0;h=C+96|0;s=C+92|0;i=C+88|0;t=C+84|0;j=C+80|0;o=C+76|0;u=C+72|0;e=C+136|0;p=C+56|0;w=C+40|0;x=C+36|0;k=C+32|0;m=C+16|0;y=C+8|0;z=C+4|0;A=C;c[v>>2]=a;c[F>>2]=d;c[y>>2]=0;c[z>>2]=(c[v>>2]|0)+32;c[E>>2]=c[(c[v>>2]|0)+4608>>2]>>1;c[D>>2]=c[(c[v>>2]|0)+4608>>2]>>2;c[n>>2]=c[(c[v>>2]|0)+4608>>2]>>3;c[m>>2]=0;c[m+4>>2]=(c[n>>2]|0)+(c[D>>2]|0);c[m+8>>2]=(c[m+4>>2]|0)+(c[n>>2]|0);c[m+12>>2]=(c[m+8>>2]|0)+(c[D>>2]|0);d=(c[m+12>>2]|0)+(c[E>>2]|0)|0;c[A>>2]=$()|0;f=l;l=l+((1*(d<<1)|0)+15&-16)|0;vf(c[F>>2]|0,c[z>>2]|0,f,f+(c[m+12>>2]<<1)|0,c[(c[v>>2]|0)+4608>>2]|0);vf(f,(c[z>>2]|0)+8|0,f,f+(c[m+8>>2]<<1)|0,c[E>>2]|0);vf(f,(c[z>>2]|0)+16|0,f,f+(c[m+4>>2]<<1)|0,c[D>>2]|0);b[f+((c[n>>2]|0)-1<<1)>>1]=b[f+((c[n>>2]|0)-1<<1)>>1]>>1;b[e>>1]=b[f+((c[n>>2]|0)-1<<1)>>1]|0;c[i>>2]=(c[n>>2]|0)-1;while(1){if((c[i>>2]|0)<=0)break;b[f+((c[i>>2]|0)-1<<1)>>1]=b[f+((c[i>>2]|0)-1<<1)>>1]>>1;F=f+(c[i>>2]<<1)|0;b[F>>1]=(b[F>>1]|0)-(b[f+((c[i>>2]|0)-1<<1)>>1]|0);c[i>>2]=(c[i>>2]|0)+-1}b[f>>1]=(b[f>>1]|0)-(b[(c[z>>2]|0)+56>>1]|0);b[(c[z>>2]|0)+56>>1]=b[e>>1]|0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=4)break;F=c[(c[v>>2]|0)+4608>>2]|0;c[n>>2]=F>>(Ge(4-(c[t>>2]|0)|0,3)|0);c[g>>2]=c[n>>2]>>2;c[h>>2]=0;c[p+(c[t>>2]<<2)>>2]=c[(c[z>>2]|0)+24+(c[t>>2]<<2)>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=4)break;c[o>>2]=0;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[g>>2]|0))break;c[k>>2]=b[f+((c[m+(c[t>>2]<<2)>>2]|0)+(c[i>>2]|0)+(c[h>>2]|0)<<1)>>1]>>3;c[o>>2]=(c[o>>2]|0)+(N((c[k>>2]&65535)<<16>>16,(c[k>>2]&65535)<<16>>16)|0);c[i>>2]=(c[i>>2]|0)+1}a=c[p+(c[t>>2]<<2)>>2]|0;d=c[o>>2]|0;if((c[j>>2]|0)<3){if(a+d&-2147483648|0)a=2147483647;else a=(c[p+(c[t>>2]<<2)>>2]|0)+(c[o>>2]|0)|0;d=c[t>>2]|0}else{if(a+(d>>1)&-2147483648|0)a=2147483647;else a=(c[p+(c[t>>2]<<2)>>2]|0)+(c[o>>2]>>1)|0;d=c[t>>2]|0}c[p+(d<<2)>>2]=a;c[h>>2]=(c[h>>2]|0)+(c[g>>2]|0);c[j>>2]=(c[j>>2]|0)+1}c[(c[z>>2]|0)+24+(c[t>>2]<<2)>>2]=c[o>>2];c[t>>2]=(c[t>>2]|0)+1}He(p,c[z>>2]|0);c[o>>2]=0;c[r>>2]=0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=4)break;c[x>>2]=(c[p+(c[t>>2]<<2)>>2]|0)-(c[(c[z>>2]|0)+60+(c[t>>2]<<2)>>2]|0);a=c[t>>2]|0;if((c[x>>2]|0)>0){d=c[p+(c[t>>2]<<2)>>2]|0;if(!(c[p+(a<<2)>>2]&-8388608)){a=(d<<8|0)/((c[(c[z>>2]|0)+60+(c[t>>2]<<2)>>2]|0)+1|0)|0;d=c[t>>2]|0}else{a=(d|0)/((c[(c[z>>2]|0)+60+(c[t>>2]<<2)>>2]>>8)+1|0)|0;d=c[t>>2]|0}c[w+(d<<2)>>2]=a;c[s>>2]=(Bf(c[w+(c[t>>2]<<2)>>2]|0)|0)-1024;c[o>>2]=(c[o>>2]|0)+(N((c[s>>2]&65535)<<16>>16,(c[s>>2]&65535)<<16>>16)|0);if((c[x>>2]|0)<1048576){E=(Ie(c[x>>2]|0)|0)<<6>>16;E=N(E,(c[s>>2]&65535)<<16>>16)|0;F=(Ie(c[x>>2]|0)|0)<<6&65535;c[s>>2]=E+((N(F,(c[s>>2]&65535)<<16>>16)|0)>>16)}F=N(c[17944+(c[t>>2]<<2)>>2]>>16,(c[s>>2]&65535)<<16>>16)|0;c[r>>2]=(c[r>>2]|0)+(F+((N(c[17944+(c[t>>2]<<2)>>2]&65535,(c[s>>2]&65535)<<16>>16)|0)>>16))}else c[w+(a<<2)>>2]=256;c[t>>2]=(c[t>>2]|0)+1}c[o>>2]=(c[o>>2]|0)/4|0;c[q>>2]=((Ie(c[o>>2]|0)|0)*3&65535)<<16>>16;c[B>>2]=cg(0+(((c[q>>2]&65535)<<16>>16)*45e3>>16)-128|0)|0;F=(cg(c[r>>2]|0)|0)-16384<<1;c[(c[v>>2]|0)+4744>>2]=F;c[x>>2]=0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=4)break;F=N((c[t>>2]|0)+1|0,(c[p+(c[t>>2]<<2)>>2]|0)-(c[(c[z>>2]|0)+60+(c[t>>2]<<2)>>2]|0)>>4)|0;c[x>>2]=(c[x>>2]|0)+F;c[t>>2]=(c[t>>2]|0)+1}if((c[x>>2]|0)>0){if((c[x>>2]|0)<32768){a=c[x>>2]|0;if((c[(c[v>>2]|0)+4608>>2]|0)==((c[(c[v>>2]|0)+4600>>2]|0)*10|0)){if((a|0)>32767)a=32767;else a=(c[x>>2]|0)<-32768?-32768:c[x>>2]|0;c[x>>2]=a<<16}else{if((a|0)>65535)a=65535;else a=(c[x>>2]|0)<-65536?-65536:c[x>>2]|0;c[x>>2]=a<<15}c[x>>2]=Ie(c[x>>2]|0)|0;F=N(32768+(c[x>>2]|0)>>16,(c[B>>2]&65535)<<16>>16)|0;c[B>>2]=F+((N(32768+(c[x>>2]|0)&65535,(c[B>>2]&65535)<<16>>16)|0)>>16)}}else c[B>>2]=c[B>>2]>>1;F=Ge(c[B>>2]>>7,255)|0;c[(c[v>>2]|0)+4556>>2]=F;F=N(c[B>>2]>>16,(c[B>>2]&65535)<<16>>16)|0;c[u>>2]=0+((F+((N(c[B>>2]&65535,(c[B>>2]&65535)<<16>>16)|0)>>16)&65535)<<16>>16<<12>>16);if((c[(c[v>>2]|0)+4608>>2]|0)==((c[(c[v>>2]|0)+4600>>2]|0)*10|0))c[u>>2]=c[u>>2]>>1;c[t>>2]=0;while(1){if((c[t>>2]|0)>=4)break;F=N((c[w+(c[t>>2]<<2)>>2]|0)-(c[(c[z>>2]|0)+40+(c[t>>2]<<2)>>2]|0)>>16,(c[u>>2]&65535)<<16>>16)|0;F=(c[(c[z>>2]|0)+40+(c[t>>2]<<2)>>2]|0)+(F+((N((c[w+(c[t>>2]<<2)>>2]|0)-(c[(c[z>>2]|0)+40+(c[t>>2]<<2)>>2]|0)&65535,(c[u>>2]&65535)<<16>>16)|0)>>16))|0;c[(c[z>>2]|0)+40+(c[t>>2]<<2)>>2]=F;c[s>>2]=((Bf(c[(c[z>>2]|0)+40+(c[t>>2]<<2)>>2]|0)|0)-1024|0)*3;F=cg((c[s>>2]|0)-2048>>4)|0;c[(c[v>>2]|0)+4728+(c[t>>2]<<2)>>2]=F;c[t>>2]=(c[t>>2]|0)+1}F=c[y>>2]|0;_(c[A>>2]|0);l=C;return F|0}function Ge(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)<(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function He(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;d=m+28|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[d>>2]=a;c[e>>2]=b;if((c[(c[e>>2]|0)+108>>2]|0)<1e3)c[k>>2]=32767/((c[(c[e>>2]|0)+108>>2]>>4)+1|0)|0;else c[k>>2]=0;c[f>>2]=0;while(1){a=c[e>>2]|0;if((c[f>>2]|0)>=4)break;c[g>>2]=c[a+60+(c[f>>2]<<2)>>2];if((c[(c[d>>2]|0)+(c[f>>2]<<2)>>2]|0)+(c[(c[e>>2]|0)+92+(c[f>>2]<<2)>>2]|0)&-2147483648|0)a=2147483647;else a=(c[(c[d>>2]|0)+(c[f>>2]<<2)>>2]|0)+(c[(c[e>>2]|0)+92+(c[f>>2]<<2)>>2]|0)|0;c[h>>2]=a;c[i>>2]=2147483647/(c[h>>2]|0)|0;do if((c[h>>2]|0)<=(c[g>>2]<<3|0))if((c[h>>2]|0)<(c[g>>2]|0)){c[j>>2]=1024;break}else{a=N(c[i>>2]>>16,(c[g>>2]&65535)<<16>>16)|0;a=a+((N(c[i>>2]&65535,(c[g>>2]&65535)<<16>>16)|0)>>16)|0;a=a+(N(c[i>>2]|0,(c[g>>2]>>15)+1>>1)|0)>>16<<11;b=N(c[i>>2]>>16,(c[g>>2]&65535)<<16>>16)|0;b=b+((N(c[i>>2]&65535,(c[g>>2]&65535)<<16>>16)|0)>>16)|0;c[j>>2]=a+((b+(N(c[i>>2]|0,(c[g>>2]>>15)+1>>1)|0)&65535)<<11>>16);break}else c[j>>2]=128;while(0);c[j>>2]=Me(c[j>>2]|0,c[k>>2]|0)|0;b=N((c[i>>2]|0)-(c[(c[e>>2]|0)+76+(c[f>>2]<<2)>>2]|0)>>16,(c[j>>2]&65535)<<16>>16)|0;b=(c[(c[e>>2]|0)+76+(c[f>>2]<<2)>>2]|0)+(b+((N((c[i>>2]|0)-(c[(c[e>>2]|0)+76+(c[f>>2]<<2)>>2]|0)&65535,(c[j>>2]&65535)<<16>>16)|0)>>16))|0;c[(c[e>>2]|0)+76+(c[f>>2]<<2)>>2]=b;c[g>>2]=2147483647/(c[(c[e>>2]|0)+76+(c[f>>2]<<2)>>2]|0)|0;c[g>>2]=(c[g>>2]|0)<16777215?c[g>>2]|0:16777215;c[(c[e>>2]|0)+60+(c[f>>2]<<2)>>2]=c[g>>2];c[f>>2]=(c[f>>2]|0)+1}k=a+108|0;c[k>>2]=(c[k>>2]|0)+1;l=m;return}function Ie(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;b=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;if((c[d>>2]|0)<=0){c[b>>2]=0;g=c[b>>2]|0;l=h;return g|0}Je(c[d>>2]|0,f,g);if(c[f>>2]&1|0)c[e>>2]=32768;else c[e>>2]=46214;c[e>>2]=c[e>>2]>>(c[f>>2]>>1);f=N(c[e>>2]>>16,(((c[g>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0;c[e>>2]=(c[e>>2]|0)+(f+((N(c[e>>2]&65535,(((c[g>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0)>>16));c[b>>2]=c[e>>2];g=c[b>>2]|0;l=h;return g|0}function Je(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+16|0;h=e+12|0;i=e+8|0;f=e+4|0;g=e;c[h>>2]=a;c[i>>2]=b;c[f>>2]=d;c[g>>2]=Ke(c[h>>2]|0)|0;c[c[i>>2]>>2]=c[g>>2];d=(Le(c[h>>2]|0,24-(c[g>>2]|0)|0)|0)&127;c[c[f>>2]>>2]=d;l=e;return}function Ke(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){b=32;l=d;return b|0}b=32-(32-(Q(c[b>>2]|0)|0))|0;l=d;return b|0}function Le(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+20|0;d=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[d>>2]=a;c[f>>2]=b;c[g>>2]=c[d>>2];c[h>>2]=c[f>>2];c[i>>2]=0-(c[f>>2]|0);if(!(c[f>>2]|0)){c[e>>2]=c[d>>2];i=c[e>>2]|0;l=j;return i|0}a=c[g>>2]|0;if((c[f>>2]|0)<0){c[e>>2]=a<<c[i>>2]|(c[g>>2]|0)>>>(32-(c[i>>2]|0)|0);i=c[e>>2]|0;l=j;return i|0}else{c[e>>2]=a<<32-(c[h>>2]|0)|(c[g>>2]|0)>>>(c[h>>2]|0);i=c[e>>2]|0;l=j;return i|0}return 0}function Me(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)>(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function Ne(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h+12|0;e=h+8|0;g=h+4|0;d=h;c[f>>2]=a;c[e>>2]=b;c[g>>2]=c[(c[f>>2]|0)+4600>>2];c[d>>2]=((c[g>>2]&65535)<<16>>16)*1e3;if(!(c[d>>2]|0)){e=c[f>>2]|0;c[d>>2]=c[((c[(c[f>>2]|0)+4596>>2]|0)<(c[(c[f>>2]|0)+4580>>2]|0)?e+4596|0:e+4580|0)>>2];c[g>>2]=(c[d>>2]|0)/1e3|0;g=c[g>>2]|0;l=h;return g|0}if(((c[d>>2]|0)<=(c[(c[f>>2]|0)+4580>>2]|0)?(c[d>>2]|0)<=(c[(c[f>>2]|0)+4588>>2]|0):0)?(c[d>>2]|0)>=(c[(c[f>>2]|0)+4592>>2]|0):0){if((c[(c[f>>2]|0)+16+8>>2]|0)>=256)c[(c[f>>2]|0)+16+12>>2]=0;if((c[(c[f>>2]|0)+4560>>2]|0)==0?(c[(c[e>>2]|0)+60>>2]|0)==0:0){g=c[g>>2]|0;l=h;return g|0}a=c[f>>2]|0;if((((c[(c[f>>2]|0)+4600>>2]&65535)<<16>>16)*1e3|0)>(c[(c[f>>2]|0)+4596>>2]|0)){if(!(c[a+16+12>>2]|0)){c[(c[f>>2]|0)+16+8>>2]=256;d=(c[f>>2]|0)+16|0;c[d>>2]=0;c[d+4>>2]=0}a=(c[f>>2]|0)+16|0;if(c[(c[e>>2]|0)+60>>2]|0){c[a+12>>2]=0;c[g>>2]=(c[(c[f>>2]|0)+4600>>2]|0)==16?12:8;g=c[g>>2]|0;l=h;return g|0}if((c[a+8>>2]|0)<=0){c[(c[e>>2]|0)+84>>2]=1;f=(c[e>>2]|0)+52|0;c[f>>2]=(c[f>>2]|0)-(((c[(c[e>>2]|0)+52>>2]|0)*5|0)/((c[(c[e>>2]|0)+24>>2]|0)+5|0)|0);g=c[g>>2]|0;l=h;return g|0}else{c[(c[f>>2]|0)+16+12>>2]=-2;g=c[g>>2]|0;l=h;return g|0}}if((((c[a+4600>>2]&65535)<<16>>16)*1e3|0)>=(c[(c[f>>2]|0)+4596>>2]|0)){if((c[(c[f>>2]|0)+16+12>>2]|0)>=0){g=c[g>>2]|0;l=h;return g|0}c[(c[f>>2]|0)+16+12>>2]=1;g=c[g>>2]|0;l=h;return g|0}a=c[f>>2]|0;if(c[(c[e>>2]|0)+60>>2]|0){c[g>>2]=(c[a+4600>>2]|0)==8?12:16;c[(c[f>>2]|0)+16+8>>2]=0;e=(c[f>>2]|0)+16|0;c[e>>2]=0;c[e+4>>2]=0;c[(c[f>>2]|0)+16+12>>2]=1;g=c[g>>2]|0;l=h;return g|0}if(!(c[a+16+12>>2]|0)){c[(c[e>>2]|0)+84>>2]=1;f=(c[e>>2]|0)+52|0;c[f>>2]=(c[f>>2]|0)-(((c[(c[e>>2]|0)+52>>2]|0)*5|0)/((c[(c[e>>2]|0)+24>>2]|0)+5|0)|0);g=c[g>>2]|0;l=h;return g|0}else{c[(c[f>>2]|0)+16+12>>2]=1;g=c[g>>2]|0;l=h;return g|0}}c[d>>2]=c[(c[f>>2]|0)+4580>>2];if((c[d>>2]|0)<(c[(c[f>>2]|0)+4588>>2]|0))a=c[d>>2]|0;else a=c[(c[f>>2]|0)+4588>>2]|0;c[d>>2]=a;if((c[d>>2]|0)>(c[(c[f>>2]|0)+4592>>2]|0))a=c[d>>2]|0;else a=c[(c[f>>2]|0)+4592>>2]|0;c[d>>2]=a;c[g>>2]=(c[d>>2]|0)/1e3|0;g=c[g>>2]|0;l=h;return g|0}function Oe(d,e,f,g,h,i,j,k,m){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=l;l=l+112|0;L=M+96|0;n=M+92|0;o=M+88|0;p=M+84|0;q=M+80|0;r=M+76|0;s=M+72|0;t=M+68|0;u=M+60|0;v=M+56|0;w=M+52|0;x=M+100|0;y=M+48|0;z=M+44|0;A=M+40|0;B=M+36|0;C=M+32|0;D=M+28|0;E=M+24|0;F=M+20|0;G=M+16|0;H=M+12|0;I=M+8|0;J=M+4|0;K=M;c[L>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=i;c[s>>2]=j;c[t>>2]=k;c[M+64>>2]=m;c[F>>2]=2147483647;c[H>>2]=0;c[v>>2]=0;while(1){if((c[v>>2]|0)>=3)break;c[K>>2]=51;c[y>>2]=c[17632+(c[v>>2]<<2)>>2];c[z>>2]=c[17644+(c[v>>2]<<2)>>2];c[A>>2]=c[17656+(c[v>>2]<<2)>>2];c[w>>2]=a[27259+(c[v>>2]|0)>>0];c[C>>2]=c[q>>2];c[B>>2]=c[L>>2];c[E>>2]=0;c[G>>2]=c[c[p>>2]>>2];c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[t>>2]|0))break;m=Ff(5333-(c[G>>2]|0)+896|0)|0;c[I>>2]=m-(c[K>>2]|0);Pe(x+(c[u>>2]|0)|0,D,J,c[B>>2]|0,c[C>>2]|0,c[z>>2]|0,c[A>>2]|0,c[y>>2]|0,c[r>>2]|0,c[I>>2]|0,c[w>>2]|0);if((c[E>>2]|0)+(c[D>>2]|0)&-2147483648|0)d=2147483647;else d=(c[E>>2]|0)+(c[D>>2]|0)|0;c[E>>2]=d;m=c[G>>2]|0;if(0>(m+(Bf((c[K>>2]|0)+(c[J>>2]|0)|0)|0)-896|0))d=0;else{d=c[G>>2]|0;d=d+(Bf((c[K>>2]|0)+(c[J>>2]|0)|0)|0)-896|0}c[G>>2]=d;c[B>>2]=(c[B>>2]|0)+10;c[C>>2]=(c[C>>2]|0)+100;c[u>>2]=(c[u>>2]|0)+1}c[E>>2]=2147483646<(c[E>>2]|0)?2147483646:c[E>>2]|0;if((c[E>>2]|0)<(c[F>>2]|0)){c[F>>2]=c[E>>2];a[c[o>>2]>>0]=c[v>>2];_i(c[n>>2]|0,x|0,c[t>>2]|0)|0;c[H>>2]=c[G>>2]}if(c[s>>2]|0?(c[E>>2]|0)<(b[12226]|0):0)break;c[v>>2]=(c[v>>2]|0)+1}c[z>>2]=c[17644+(a[c[o>>2]>>0]<<2)>>2];c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[t>>2]|0))break;c[v>>2]=0;while(1){if((c[v>>2]|0)>=5)break;b[(c[L>>2]|0)+(((c[u>>2]|0)*5|0)+(c[v>>2]|0)<<1)>>1]=a[(c[z>>2]|0)+(((a[(c[n>>2]|0)+(c[u>>2]|0)>>0]|0)*5|0)+(c[v>>2]|0))>>0]<<7;c[v>>2]=(c[v>>2]|0)+1}c[u>>2]=(c[u>>2]|0)+1}c[c[p>>2]>>2]=c[H>>2];l=M;return}function Pe(e,f,g,h,i,j,k,m,n,o,p){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;G=l;l=l+80|0;q=G+60|0;r=G+56|0;s=G+52|0;t=G+48|0;u=G+44|0;H=G+40|0;v=G+36|0;w=G+32|0;x=G+28|0;y=G+24|0;z=G+20|0;A=G+16|0;B=G+12|0;C=G+8|0;D=G+64|0;E=G+4|0;F=G;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=i;c[H>>2]=j;c[v>>2]=k;c[w>>2]=m;c[x>>2]=n;c[y>>2]=o;c[z>>2]=p;c[c[r>>2]>>2]=2147483647;c[C>>2]=c[H>>2];c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[z>>2]|0))break;c[B>>2]=d[(c[v>>2]|0)+(c[A>>2]|0)>>0];b[D>>1]=(b[c[t>>2]>>1]|0)-(a[c[C>>2]>>0]<<7);b[D+2>>1]=(b[(c[t>>2]|0)+2>>1]|0)-(a[(c[C>>2]|0)+1>>0]<<7);b[D+4>>1]=(b[(c[t>>2]|0)+4>>1]|0)-(a[(c[C>>2]|0)+2>>0]<<7);b[D+6>>1]=(b[(c[t>>2]|0)+6>>1]|0)-(a[(c[C>>2]|0)+3>>0]<<7);b[D+8>>1]=(b[(c[t>>2]|0)+8>>1]|0)-(a[(c[C>>2]|0)+4>>0]<<7);c[E>>2]=N((c[x>>2]&65535)<<16>>16,d[(c[w>>2]|0)+(c[A>>2]|0)>>0]|0)|0;if(((c[B>>2]|0)-(c[y>>2]|0)|0)>0)e=(c[B>>2]|0)-(c[y>>2]|0)|0;else e=0;c[E>>2]=(c[E>>2]|0)+(e<<10);H=N(c[(c[u>>2]|0)+4>>2]>>16,b[D+2>>1]|0)|0;c[F>>2]=H+((N(c[(c[u>>2]|0)+4>>2]&65535,b[D+2>>1]|0)|0)>>16);H=N(c[(c[u>>2]|0)+8>>2]>>16,b[D+4>>1]|0)|0;c[F>>2]=(c[F>>2]|0)+(H+((N(c[(c[u>>2]|0)+8>>2]&65535,b[D+4>>1]|0)|0)>>16));H=N(c[(c[u>>2]|0)+12>>2]>>16,b[D+6>>1]|0)|0;c[F>>2]=(c[F>>2]|0)+(H+((N(c[(c[u>>2]|0)+12>>2]&65535,b[D+6>>1]|0)|0)>>16));H=N(c[(c[u>>2]|0)+16>>2]>>16,b[D+8>>1]|0)|0;c[F>>2]=(c[F>>2]|0)+(H+((N(c[(c[u>>2]|0)+16>>2]&65535,b[D+8>>1]|0)|0)>>16));c[F>>2]=c[F>>2]<<1;H=N(c[c[u>>2]>>2]>>16,b[D>>1]|0)|0;c[F>>2]=(c[F>>2]|0)+(H+((N(c[c[u>>2]>>2]&65535,b[D>>1]|0)|0)>>16));H=N(c[F>>2]>>16,b[D>>1]|0)|0;c[E>>2]=(c[E>>2]|0)+(H+((N(c[F>>2]&65535,b[D>>1]|0)|0)>>16));H=N(c[(c[u>>2]|0)+28>>2]>>16,b[D+4>>1]|0)|0;c[F>>2]=H+((N(c[(c[u>>2]|0)+28>>2]&65535,b[D+4>>1]|0)|0)>>16);H=N(c[(c[u>>2]|0)+32>>2]>>16,b[D+6>>1]|0)|0;c[F>>2]=(c[F>>2]|0)+(H+((N(c[(c[u>>2]|0)+32>>2]&65535,b[D+6>>1]|0)|0)>>16));H=N(c[(c[u>>2]|0)+36>>2]>>16,b[D+8>>1]|0)|0;c[F>>2]=(c[F>>2]|0)+(H+((N(c[(c[u>>2]|0)+36>>2]&65535,b[D+8>>1]|0)|0)>>16));c[F>>2]=c[F>>2]<<1;H=N(c[(c[u>>2]|0)+24>>2]>>16,b[D+2>>1]|0)|0;c[F>>2]=(c[F>>2]|0)+(H+((N(c[(c[u>>2]|0)+24>>2]&65535,b[D+2>>1]|0)|0)>>16));H=N(c[F>>2]>>16,b[D+2>>1]|0)|0;c[E>>2]=(c[E>>2]|0)+(H+((N(c[F>>2]&65535,b[D+2>>1]|0)|0)>>16));H=N(c[(c[u>>2]|0)+52>>2]>>16,b[D+6>>1]|0)|0;c[F>>2]=H+((N(c[(c[u>>2]|0)+52>>2]&65535,b[D+6>>1]|0)|0)>>16);H=N(c[(c[u>>2]|0)+56>>2]>>16,b[D+8>>1]|0)|0;c[F>>2]=(c[F>>2]|0)+(H+((N(c[(c[u>>2]|0)+56>>2]&65535,b[D+8>>1]|0)|0)>>16));c[F>>2]=c[F>>2]<<1;H=N(c[(c[u>>2]|0)+48>>2]>>16,b[D+4>>1]|0)|0;c[F>>2]=(c[F>>2]|0)+(H+((N(c[(c[u>>2]|0)+48>>2]&65535,b[D+4>>1]|0)|0)>>16));H=N(c[F>>2]>>16,b[D+4>>1]|0)|0;c[E>>2]=(c[E>>2]|0)+(H+((N(c[F>>2]&65535,b[D+4>>1]|0)|0)>>16));H=N(c[(c[u>>2]|0)+76>>2]>>16,b[D+8>>1]|0)|0;c[F>>2]=H+((N(c[(c[u>>2]|0)+76>>2]&65535,b[D+8>>1]|0)|0)>>16);c[F>>2]=c[F>>2]<<1;H=N(c[(c[u>>2]|0)+72>>2]>>16,b[D+6>>1]|0)|0;c[F>>2]=(c[F>>2]|0)+(H+((N(c[(c[u>>2]|0)+72>>2]&65535,b[D+6>>1]|0)|0)>>16));H=N(c[F>>2]>>16,b[D+6>>1]|0)|0;c[E>>2]=(c[E>>2]|0)+(H+((N(c[F>>2]&65535,b[D+6>>1]|0)|0)>>16));H=N(c[(c[u>>2]|0)+96>>2]>>16,b[D+8>>1]|0)|0;c[F>>2]=H+((N(c[(c[u>>2]|0)+96>>2]&65535,b[D+8>>1]|0)|0)>>16);H=N(c[F>>2]>>16,b[D+8>>1]|0)|0;c[E>>2]=(c[E>>2]|0)+(H+((N(c[F>>2]&65535,b[D+8>>1]|0)|0)>>16));if((c[E>>2]|0)<(c[c[r>>2]>>2]|0)){c[c[r>>2]>>2]=c[E>>2];a[c[q>>2]>>0]=c[A>>2];c[c[s>>2]>>2]=c[B>>2]}c[C>>2]=(c[C>>2]|0)+5;c[A>>2]=(c[A>>2]|0)+1}l=G;return}function Qe(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+32|0;j=i+20|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[j>>2]=b;c[h>>2]=c[j>>2];if((a[(c[h>>2]|0)+4565>>0]|0)!=2){l=i;return}c[e>>2]=((c[(c[h>>2]|0)+4600>>2]|0)*1e3<<16|0)/(c[(c[h>>2]|0)+4568>>2]|0)|0;c[f>>2]=(Bf(c[e>>2]|0)|0)-2048;c[d>>2]=c[(c[h>>2]|0)+4728>>2];k=c[f>>2]|0;e=N(0-(c[d>>2]|0)<<2>>16,(c[d>>2]&65535)<<16>>16)|0;e=e+((N(0-(c[d>>2]|0)<<2&65535,(c[d>>2]&65535)<<16>>16)|0)>>16)>>16;b=c[f>>2]|0;b=N(e,(b-((Bf(3932160)|0)-2048)&65535)<<16>>16)|0;e=N(0-(c[d>>2]|0)<<2>>16,(c[d>>2]&65535)<<16>>16)|0;e=e+((N(0-(c[d>>2]|0)<<2&65535,(c[d>>2]&65535)<<16>>16)|0)>>16)&65535;j=c[f>>2]|0;c[f>>2]=k+(b+((N(e,(j-((Bf(3932160)|0)-2048)&65535)<<16>>16)|0)>>16));c[g>>2]=(c[f>>2]|0)-(c[(c[h>>2]|0)+8>>2]>>8);if((c[g>>2]|0)<0)c[g>>2]=(c[g>>2]|0)*3;if((c[g>>2]|0)>51)b=51;else b=(c[g>>2]|0)<-51?-51:c[g>>2]|0;c[g>>2]=b;k=((N((c[(c[h>>2]|0)+4556>>2]&65535)<<16>>16,(c[g>>2]&65535)<<16>>16)|0)>>16)*6554|0;k=(c[(c[h>>2]|0)+8>>2]|0)+(k+(((N((c[(c[h>>2]|0)+4556>>2]&65535)<<16>>16,(c[g>>2]&65535)<<16>>16)|0)&65535)*6554>>16))|0;c[(c[h>>2]|0)+8>>2]=k;k=(Bf(60)|0)<<8;k=(k|0)>((Bf(100)|0)<<8|0);b=c[(c[h>>2]|0)+8>>2]|0;do if(k){if((b|0)>((Bf(60)|0)<<8|0)){b=(Bf(60)|0)<<8;break}k=c[(c[h>>2]|0)+8>>2]|0;if((k|0)<((Bf(100)|0)<<8|0)){b=(Bf(100)|0)<<8;break}else{b=c[(c[h>>2]|0)+8>>2]|0;break}}else{if((b|0)>((Bf(100)|0)<<8|0)){b=(Bf(100)|0)<<8;break}k=c[(c[h>>2]|0)+8>>2]|0;if((k|0)<((Bf(60)|0)<<8|0)){b=(Bf(60)|0)<<8;break}else{b=c[(c[h>>2]|0)+8>>2]|0;break}}while(0);c[(c[h>>2]|0)+8>>2]=b;l=i;return}function Re(f,g,h,i,j,k,m){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=l;l=l+288|0;I=L+64|0;J=L+60|0;K=L+56|0;n=L+52|0;o=L+48|0;p=L+44|0;q=L+40|0;r=L+36|0;s=L+32|0;t=L+28|0;u=L+24|0;v=L+20|0;w=L+16|0;x=L+12|0;y=L+232|0;z=L+200|0;A=L+168|0;B=L+136|0;C=L+104|0;D=L+264|0;E=L+72|0;F=L+8|0;G=L+4|0;H=L;c[I>>2]=f;c[J>>2]=g;c[K>>2]=h;c[n>>2]=i;c[o>>2]=j;c[p>>2]=k;c[q>>2]=m;Nf(c[J>>2]|0,c[(c[K>>2]|0)+32>>2]|0,b[(c[K>>2]|0)+2>>1]|0);h=e[c[K>>2]>>1]|0;c[H>>2]=$()|0;i=l;l=l+((1*(h<<2)|0)+15&-16)|0;We(i,c[J>>2]|0,c[(c[K>>2]|0)+8>>2]|0,b[c[K>>2]>>1]|0,b[(c[K>>2]|0)+2>>1]|0);h=l;l=l+((1*(c[p>>2]<<2)|0)+15&-16)|0;dg(i,h,b[c[K>>2]>>1]|0,c[p>>2]|0);i=l;l=l+((1*(c[p>>2]<<2)|0)+15&-16)|0;j=l;l=l+((1*(c[p>>2]<<4)|0)+15&-16)|0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[p>>2]|0))break;c[t>>2]=c[h+(c[s>>2]<<2)>>2];c[F>>2]=(c[(c[K>>2]|0)+8>>2]|0)+(N(c[t>>2]|0,b[(c[K>>2]|0)+2>>1]|0)|0);c[r>>2]=0;while(1){if((c[r>>2]|0)>=(b[(c[K>>2]|0)+2>>1]|0))break;b[A+(c[r>>2]<<1)>>1]=(d[(c[F>>2]|0)+(c[r>>2]|0)>>0]&65535)<<7;b[y+(c[r>>2]<<1)>>1]=(b[(c[J>>2]|0)+(c[r>>2]<<1)>>1]|0)-(b[A+(c[r>>2]<<1)>>1]|0);c[r>>2]=(c[r>>2]|0)+1}Qf(B,A,b[(c[K>>2]|0)+2>>1]|0);c[r>>2]=0;while(1){if((c[r>>2]|0)>=(b[(c[K>>2]|0)+2>>1]|0))break;c[x>>2]=Se(b[B+(c[r>>2]<<1)>>1]<<16)|0;m=(N(b[y+(c[r>>2]<<1)>>1]|0,(c[x>>2]&65535)<<16>>16)|0)>>14&65535;b[z+(c[r>>2]<<1)>>1]=m;c[r>>2]=(c[r>>2]|0)+1}c[r>>2]=0;while(1){if((c[r>>2]|0)>=(b[(c[K>>2]|0)+2>>1]|0))break;b[C+(c[r>>2]<<1)>>1]=(b[(c[n>>2]|0)+(c[r>>2]<<1)>>1]<<5|0)/(b[B+(c[r>>2]<<1)>>1]|0)|0;c[r>>2]=(c[r>>2]|0)+1}Xe(E,D,c[K>>2]|0,c[t>>2]|0);f=Ye(j+(c[s>>2]<<4)|0,z,C,D,E,c[(c[K>>2]|0)+28>>2]|0,b[(c[K>>2]|0)+4>>1]|0,b[(c[K>>2]|0)+6>>1]|0,c[o>>2]|0,b[(c[K>>2]|0)+2>>1]|0)|0;c[i+(c[s>>2]<<2)>>2]=f;c[G>>2]=(c[(c[K>>2]|0)+12>>2]|0)+(N(c[q>>2]>>1,b[c[K>>2]>>1]|0)|0);f=c[G>>2]|0;g=c[t>>2]|0;if(!(c[t>>2]|0))c[v>>2]=256-(d[f+g>>0]|0);else c[v>>2]=(d[f+(g-1)>>0]|0)-(d[(c[G>>2]|0)+(c[t>>2]|0)>>0]|0);c[w>>2]=1024-(Bf(c[v>>2]|0)|0);m=(c[i+(c[s>>2]<<2)>>2]|0)+(N((c[w>>2]&65535)<<16>>16,(c[o>>2]>>2&65535)<<16>>16)|0)|0;c[i+(c[s>>2]<<2)>>2]=m;c[s>>2]=(c[s>>2]|0)+1}dg(i,u,c[p>>2]|0,1);a[c[I>>2]>>0]=c[h+(c[u>>2]<<2)>>2];_i((c[I>>2]|0)+1|0,j+(c[u>>2]<<4)|0,b[(c[K>>2]|0)+2>>1]|0)|0;Rd(c[J>>2]|0,c[I>>2]|0,c[K>>2]|0);K=c[i>>2]|0;_(c[H>>2]|0);l=L;return K|0}function Se(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;b=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;if((c[d>>2]|0)<=0){c[b>>2]=0;g=c[b>>2]|0;l=h;return g|0}Te(c[d>>2]|0,f,g);if(c[f>>2]&1|0)c[e>>2]=32768;else c[e>>2]=46214;c[e>>2]=c[e>>2]>>(c[f>>2]>>1);f=N(c[e>>2]>>16,(((c[g>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0;c[e>>2]=(c[e>>2]|0)+(f+((N(c[e>>2]&65535,(((c[g>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0)>>16));c[b>>2]=c[e>>2];g=c[b>>2]|0;l=h;return g|0}function Te(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+16|0;h=e+12|0;i=e+8|0;f=e+4|0;g=e;c[h>>2]=a;c[i>>2]=b;c[f>>2]=d;c[g>>2]=Ue(c[h>>2]|0)|0;c[c[i>>2]>>2]=c[g>>2];d=(Ve(c[h>>2]|0,24-(c[g>>2]|0)|0)|0)&127;c[c[f>>2]>>2]=d;l=e;return}function Ue(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){b=32;l=d;return b|0}b=32-(32-(Q(c[b>>2]|0)|0))|0;l=d;return b|0}function Ve(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+20|0;d=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[d>>2]=a;c[f>>2]=b;c[g>>2]=c[d>>2];c[h>>2]=c[f>>2];c[i>>2]=0-(c[f>>2]|0);if(!(c[f>>2]|0)){c[e>>2]=c[d>>2];i=c[e>>2]|0;l=j;return i|0}a=c[g>>2]|0;if((c[f>>2]|0)<0){c[e>>2]=a<<c[i>>2]|(c[g>>2]|0)>>>(32-(c[i>>2]|0)|0);i=c[e>>2]|0;l=j;return i|0}else{c[e>>2]=a<<32-(c[h>>2]|0)|(c[g>>2]|0)>>>(c[h>>2]|0);i=c[e>>2]|0;l=j;return i|0}return 0}function We(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;o=t+36|0;p=t+32|0;q=t+28|0;r=t+24|0;s=t+20|0;i=t+16|0;j=t+12|0;k=t+8|0;m=t+4|0;n=t;c[o>>2]=a;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[r>>2]|0))break;c[n>>2]=0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[s>>2]|0))break;h=b[(c[p>>2]|0)+(c[j>>2]<<1)>>1]|0;g=c[q>>2]|0;c[q>>2]=g+1;c[k>>2]=h-(d[g>>0]<<7);c[m>>2]=N((c[k>>2]&65535)<<16>>16,(c[k>>2]&65535)<<16>>16)|0;g=b[(c[p>>2]|0)+((c[j>>2]|0)+1<<1)>>1]|0;h=c[q>>2]|0;c[q>>2]=h+1;c[k>>2]=g-(d[h>>0]<<7);c[m>>2]=(c[m>>2]|0)+(N((c[k>>2]&65535)<<16>>16,(c[k>>2]&65535)<<16>>16)|0);c[n>>2]=(c[n>>2]|0)+(c[m>>2]>>4);c[j>>2]=(c[j>>2]|0)+2}c[(c[o>>2]|0)+(c[i>>2]<<2)>>2]=c[n>>2];c[i>>2]=(c[i>>2]|0)+1}l=t;return}function Xe(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+32|0;j=p+20|0;k=p+16|0;m=p+12|0;q=p+8|0;n=p+4|0;o=p+24|0;i=p;c[j>>2]=e;c[k>>2]=f;c[m>>2]=g;c[q>>2]=h;c[i>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((N(c[q>>2]|0,b[(c[m>>2]|0)+2>>1]|0)|0)/2|0);c[n>>2]=0;while(1){if((c[n>>2]|0)>=(b[(c[m>>2]|0)+2>>1]|0))break;q=c[i>>2]|0;c[i>>2]=q+1;a[o>>0]=a[q>>0]|0;b[(c[j>>2]|0)+(c[n>>2]<<1)>>1]=((d[o>>0]>>1&7)<<16>>16)*9;q=a[(c[(c[m>>2]|0)+16>>2]|0)+((c[n>>2]|0)+(N(d[o>>0]&1,(b[(c[m>>2]|0)+2>>1]|0)-1|0)|0))>>0]|0;a[(c[k>>2]|0)+(c[n>>2]|0)>>0]=q;b[(c[j>>2]|0)+((c[n>>2]|0)+1<<1)>>1]=((d[o>>0]>>5&7)<<16>>16)*9;q=a[(c[(c[m>>2]|0)+16>>2]|0)+((c[n>>2]|0)+(N(d[o>>0]>>4&1,(b[(c[m>>2]|0)+2>>1]|0)-1|0)|0)+1)>>0]|0;a[(c[k>>2]|0)+((c[n>>2]|0)+1)>>0]=q;c[n>>2]=(c[n>>2]|0)+2}l=p;return}function Ye(e,f,g,h,i,j,k,m,n,o){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;aa=l;l=l+448|0;W=aa+352|0;q=aa+348|0;r=aa+344|0;s=aa+340|0;t=aa+336|0;u=aa+332|0;p=aa+328|0;v=aa+378|0;w=aa+324|0;X=aa+376|0;x=aa+320|0;Y=aa+316|0;y=aa+312|0;Z=aa+308|0;z=aa+304|0;A=aa+300|0;B=aa+296|0;C=aa+292|0;D=aa+288|0;E=aa+284|0;F=aa+280|0;G=aa+276|0;H=aa+272|0;I=aa+268|0;J=aa+264|0;_=aa+260|0;K=aa+256|0;L=aa+252|0;M=aa+248|0;O=aa+232|0;$=aa+384|0;P=aa+360|0;Q=aa+200|0;R=aa+184|0;S=aa+168|0;T=aa+160|0;U=aa+80|0;V=aa;c[W>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;c[t>>2]=i;c[u>>2]=j;c[p>>2]=k;b[v>>1]=m;c[w>>2]=n;b[X>>1]=o;c[x>>2]=-10;while(1){if((c[x>>2]|0)>9)break;c[F>>2]=c[x>>2]<<10;c[G>>2]=(c[F>>2]|0)+1024;do if((c[x>>2]|0)<=0){if(!(c[x>>2]|0)){c[G>>2]=(c[G>>2]|0)-102;break}o=(c[x>>2]|0)==-1;c[F>>2]=(c[F>>2]|0)+102;if(!o)c[G>>2]=(c[G>>2]|0)+102}else{c[F>>2]=(c[F>>2]|0)-102;c[G>>2]=(c[G>>2]|0)-102}while(0);o=N(c[F>>2]>>16,(c[p>>2]&65535)<<16>>16)|0;o=o+((N(c[F>>2]&65535,(c[p>>2]&65535)<<16>>16)|0)>>16)|0;c[U+((c[x>>2]|0)+10<<2)>>2]=o;o=N(c[G>>2]>>16,(c[p>>2]&65535)<<16>>16)|0;o=o+((N(c[G>>2]&65535,(c[p>>2]&65535)<<16>>16)|0)>>16)|0;c[V+((c[x>>2]|0)+10<<2)>>2]=o;c[x>>2]=(c[x>>2]|0)+1}c[y>>2]=1;c[Q>>2]=0;b[P>>1]=0;c[x>>2]=(b[X>>1]|0)-1;a:while(1){c[T>>2]=(c[u>>2]|0)+(b[(c[t>>2]|0)+(c[x>>2]<<1)>>1]|0);c[M>>2]=d[(c[s>>2]|0)+(c[x>>2]|0)>>0]<<8;c[B>>2]=b[(c[q>>2]|0)+(c[x>>2]<<1)>>1];c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(c[y>>2]|0))break;o=N(c[M>>2]>>16,b[P+(c[Y>>2]<<1)>>1]|0)|0;c[D>>2]=o+((N(c[M>>2]&65535,b[P+(c[Y>>2]<<1)>>1]|0)|0)>>16);c[C>>2]=(c[B>>2]|0)-(c[D>>2]|0);o=N(b[v>>1]>>16,(c[C>>2]&65535)<<16>>16)|0;c[Z>>2]=o+((N(b[v>>1]&65535,(c[C>>2]&65535)<<16>>16)|0)>>16);if((c[Z>>2]|0)>9)e=9;else e=(c[Z>>2]|0)<-10?-10:c[Z>>2]|0;c[Z>>2]=e;a[$+(c[Y>>2]<<4)+(c[x>>2]|0)>>0]=c[Z>>2];c[F>>2]=c[U+((c[Z>>2]|0)+10<<2)>>2];c[G>>2]=c[V+((c[Z>>2]|0)+10<<2)>>2];c[F>>2]=(c[F>>2]|0)+(c[D>>2]|0);c[G>>2]=(c[G>>2]|0)+(c[D>>2]|0);b[P+(c[Y>>2]<<1)>>1]=c[F>>2];b[P+((c[Y>>2]|0)+(c[y>>2]|0)<<1)>>1]=c[G>>2];e=c[Z>>2]|0;do if(((c[Z>>2]|0)+1|0)>=4)if((e+1|0)==4){c[H>>2]=d[(c[T>>2]|0)+((c[Z>>2]|0)+4)>>0];c[I>>2]=280;break}else{c[H>>2]=108+(((c[Z>>2]&65535)<<16>>16)*43|0);c[I>>2]=(c[H>>2]|0)+43;break}else{if((e|0)>-4){c[H>>2]=d[(c[T>>2]|0)+((c[Z>>2]|0)+4)>>0];c[I>>2]=d[(c[T>>2]|0)+((c[Z>>2]|0)+1+4)>>0];break}if((c[Z>>2]|0)==-4){c[H>>2]=280;c[I>>2]=d[(c[T>>2]|0)+((c[Z>>2]|0)+1+4)>>0];break}else{c[H>>2]=108+(N(-43,(c[Z>>2]&65535)<<16>>16)|0);c[I>>2]=(c[H>>2]|0)-43;break}}while(0);c[J>>2]=c[Q+(c[Y>>2]<<2)>>2];c[E>>2]=(c[B>>2]|0)-(c[F>>2]|0);o=N((c[E>>2]&65535)<<16>>16,(c[E>>2]&65535)<<16>>16)|0;o=(c[J>>2]|0)+(N(o,b[(c[r>>2]|0)+(c[x>>2]<<1)>>1]|0)|0)|0;o=o+(N((c[w>>2]&65535)<<16>>16,(c[H>>2]&65535)<<16>>16)|0)|0;c[Q+(c[Y>>2]<<2)>>2]=o;c[E>>2]=(c[B>>2]|0)-(c[G>>2]|0);o=N((c[E>>2]&65535)<<16>>16,(c[E>>2]&65535)<<16>>16)|0;o=(c[J>>2]|0)+(N(o,b[(c[r>>2]|0)+(c[x>>2]<<1)>>1]|0)|0)|0;o=o+(N((c[w>>2]&65535)<<16>>16,(c[I>>2]&65535)<<16>>16)|0)|0;c[Q+((c[Y>>2]|0)+(c[y>>2]|0)<<2)>>2]=o;c[Y>>2]=(c[Y>>2]|0)+1}b:do if((c[y>>2]|0)<=2){c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(c[y>>2]|0))break;a[$+((c[Y>>2]|0)+(c[y>>2]|0)<<4)+(c[x>>2]|0)>>0]=(a[$+(c[Y>>2]<<4)+(c[x>>2]|0)>>0]|0)+1;c[Y>>2]=(c[Y>>2]|0)+1}c[y>>2]=c[y>>2]<<1;c[Y>>2]=c[y>>2];while(1){if((c[Y>>2]|0)>=4)break b;a[$+(c[Y>>2]<<4)+(c[x>>2]|0)>>0]=a[$+((c[Y>>2]|0)-(c[y>>2]|0)<<4)+(c[x>>2]|0)>>0]|0;c[Y>>2]=(c[Y>>2]|0)+1}}else{if((c[x>>2]|0)<=0)break a;c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=4)break;e=c[Q+(c[Y>>2]<<2)>>2]|0;f=c[Y>>2]|0;if((c[Q+(c[Y>>2]<<2)>>2]|0)>(c[Q+((c[Y>>2]|0)+4<<2)>>2]|0)){c[S+(f<<2)>>2]=e;c[R+(c[Y>>2]<<2)>>2]=c[Q+((c[Y>>2]|0)+4<<2)>>2];c[Q+(c[Y>>2]<<2)>>2]=c[R+(c[Y>>2]<<2)>>2];c[Q+((c[Y>>2]|0)+4<<2)>>2]=c[S+(c[Y>>2]<<2)>>2];c[F>>2]=b[P+(c[Y>>2]<<1)>>1];b[P+(c[Y>>2]<<1)>>1]=b[P+((c[Y>>2]|0)+4<<1)>>1]|0;b[P+((c[Y>>2]|0)+4<<1)>>1]=c[F>>2];e=(c[Y>>2]|0)+4|0;f=c[Y>>2]|0}else{c[R+(f<<2)>>2]=e;c[S+(c[Y>>2]<<2)>>2]=c[Q+((c[Y>>2]|0)+4<<2)>>2];e=c[Y>>2]|0;f=c[Y>>2]|0}c[O+(f<<2)>>2]=e;c[Y>>2]=(c[Y>>2]|0)+1}while(1){c[K>>2]=2147483647;c[L>>2]=0;c[z>>2]=0;c[A>>2]=0;c[Y>>2]=0;while(1){e=c[K>>2]|0;if((c[Y>>2]|0)>=4)break;if((e|0)>(c[S+(c[Y>>2]<<2)>>2]|0)){c[K>>2]=c[S+(c[Y>>2]<<2)>>2];c[z>>2]=c[Y>>2]}if((c[L>>2]|0)<(c[R+(c[Y>>2]<<2)>>2]|0)){c[L>>2]=c[R+(c[Y>>2]<<2)>>2];c[A>>2]=c[Y>>2]}c[Y>>2]=(c[Y>>2]|0)+1}if((e|0)>=(c[L>>2]|0))break;c[O+(c[A>>2]<<2)>>2]=c[O+(c[z>>2]<<2)>>2]^4;c[Q+(c[A>>2]<<2)>>2]=c[Q+((c[z>>2]|0)+4<<2)>>2];b[P+(c[A>>2]<<1)>>1]=b[P+((c[z>>2]|0)+4<<1)>>1]|0;c[R+(c[A>>2]<<2)>>2]=0;c[S+(c[z>>2]<<2)>>2]=2147483647;e=$+(c[A>>2]<<4)|0;f=$+(c[z>>2]<<4)|0;p=e+16|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(p|0))}c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=4)break b;o=$+(c[Y>>2]<<4)+(c[x>>2]|0)|0;a[o>>0]=(a[o>>0]|0)+(c[O+(c[Y>>2]<<2)>>2]>>2);c[Y>>2]=(c[Y>>2]|0)+1}}while(0);c[x>>2]=(c[x>>2]|0)+-1}c[Z>>2]=0;c[_>>2]=2147483647;c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=8)break;if((c[_>>2]|0)>(c[Q+(c[Y>>2]<<2)>>2]|0)){c[_>>2]=c[Q+(c[Y>>2]<<2)>>2];c[Z>>2]=c[Y>>2]}c[Y>>2]=(c[Y>>2]|0)+1}c[Y>>2]=0;while(1){e=c[Z>>2]|0;if((c[Y>>2]|0)>=(b[X>>1]|0))break;a[(c[W>>2]|0)+(c[Y>>2]|0)>>0]=a[$+((e&3)<<4)+(c[Y>>2]|0)>>0]|0;c[Y>>2]=(c[Y>>2]|0)+1}$=c[W>>2]|0;a[$>>0]=(a[$>>0]|0)+(e>>2);l=aa;return c[_>>2]|0}function Ze(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+128|0;n=t+28|0;o=t+24|0;p=t+20|0;q=t+16|0;r=t+12|0;s=t+8|0;h=t+4|0;i=t;j=t+96|0;k=t+64|0;m=t+32|0;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;g=N(-5,(c[(c[n>>2]|0)+4556>>2]&65535)<<16>>16)|0;c[h>>2]=3146+(g+(((c[(c[n>>2]|0)+4556>>2]&65535)<<16>>16)*59246>>16));if((c[(c[n>>2]|0)+4604>>2]|0)==2)c[h>>2]=(c[h>>2]|0)+(c[h>>2]>>1);Qf(k,c[p>>2]|0,c[(c[n>>2]|0)+4664>>2]|0);if((c[(c[n>>2]|0)+4656>>2]|0)==1)d=(a[(c[n>>2]|0)+4768+31>>0]|0)<4;else d=0;c[s>>2]=d&1;a:do if(c[s>>2]|0){Od(j,c[q>>2]|0,c[p>>2]|0,a[(c[n>>2]|0)+4768+31>>0]|0,c[(c[n>>2]|0)+4664>>2]|0);Qf(m,j,c[(c[n>>2]|0)+4664>>2]|0);c[i>>2]=(N(a[(c[n>>2]|0)+4768+31>>0]<<16>>16,a[(c[n>>2]|0)+4768+31>>0]<<16>>16)|0)<<11;c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[(c[n>>2]|0)+4664>>2]|0))break a;g=N(b[m+(c[r>>2]<<1)>>1]>>16,(c[i>>2]&65535)<<16>>16)|0;g=(b[k+(c[r>>2]<<1)>>1]>>1)+(g+((N(b[m+(c[r>>2]<<1)>>1]&65535,(c[i>>2]&65535)<<16>>16)|0)>>16))&65535;b[k+(c[r>>2]<<1)>>1]=g;c[r>>2]=(c[r>>2]|0)+1}}while(0);Re((c[n>>2]|0)+4768+8|0,c[p>>2]|0,c[(c[n>>2]|0)+4724>>2]|0,k,c[h>>2]|0,c[(c[n>>2]|0)+4692>>2]|0,a[(c[n>>2]|0)+4768+29>>0]|0)|0;Lf((c[o>>2]|0)+32|0,c[p>>2]|0,c[(c[n>>2]|0)+4664>>2]|0);if(c[s>>2]|0){Od(j,c[q>>2]|0,c[p>>2]|0,a[(c[n>>2]|0)+4768+31>>0]|0,c[(c[n>>2]|0)+4664>>2]|0);Lf(c[o>>2]|0,j,c[(c[n>>2]|0)+4664>>2]|0);l=t;return}else{_i(c[o>>2]|0,(c[o>>2]|0)+32|0,c[(c[n>>2]|0)+4664>>2]<<1|0)|0;l=t;return}}function _e(d,e,f,g,h,i,j,k,m,n,o){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;W=l;l=l+144|0;J=W+128|0;p=W+124|0;K=W+120|0;w=W+116|0;x=W+112|0;y=W+108|0;z=W+104|0;r=W+100|0;A=W+96|0;F=W+92|0;L=W+88|0;M=W+84|0;s=W+80|0;B=W+76|0;G=W+72|0;H=W+68|0;O=W+64|0;q=W+60|0;C=W+56|0;P=W+48|0;Q=W+44|0;R=W+40|0;t=W+36|0;u=W+32|0;D=W+28|0;v=W+24|0;E=W+20|0;S=W+16|0;T=W+12|0;I=W+8|0;U=W+4|0;V=W;c[J>>2]=d;c[p>>2]=e;c[K>>2]=f;c[w>>2]=g;c[x>>2]=h;c[y>>2]=i;c[z>>2]=j;c[r>>2]=k;c[A>>2]=m;c[F>>2]=n;c[L>>2]=o;c[U>>2]=(c[p>>2]|0)+-4;n=(c[L>>2]|0)+2|0;c[V>>2]=$()|0;g=l;l=l+((1*(n<<1)|0)+15&-16)|0;c[M>>2]=0;while(1){if((c[M>>2]|0)>=((c[L>>2]|0)+2|0))break;c[O>>2]=(b[(c[p>>2]|0)+((c[M>>2]|0)-2<<1)>>1]|0)+(b[(c[K>>2]|0)+((c[M>>2]|0)-2<<1)>>1]|0);c[q>>2]=(b[(c[p>>2]|0)+((c[M>>2]|0)-2<<1)>>1]|0)-(b[(c[K>>2]|0)+((c[M>>2]|0)-2<<1)>>1]|0);b[(c[U>>2]|0)+(c[M>>2]<<1)>>1]=(c[O>>2]>>1)+(c[O>>2]&1);if(((c[q>>2]>>1)+(c[q>>2]&1)|0)<=32767)if(((c[q>>2]>>1)+(c[q>>2]&1)|0)<-32768)d=-32768;else d=(c[q>>2]>>1)+(c[q>>2]&1)|0;else d=32767;b[g+(c[M>>2]<<1)>>1]=d;c[M>>2]=(c[M>>2]|0)+1}d=c[U>>2]|0;e=(c[J>>2]|0)+4|0;b[d>>1]=b[e>>1]|0;b[d+2>>1]=b[e+2>>1]|0;d=(c[J>>2]|0)+8|0;b[g>>1]=b[d>>1]|0;b[g+2>>1]=b[d+2>>1]|0;d=(c[J>>2]|0)+4|0;e=(c[U>>2]|0)+(c[L>>2]<<1)|0;b[d>>1]=b[e>>1]|0;b[d+2>>1]=b[e+2>>1]|0;d=(c[J>>2]|0)+8|0;e=g+(c[L>>2]<<1)|0;b[d>>1]=b[e>>1]|0;b[d+2>>1]=b[e+2>>1]|0;d=l;l=l+((1*(c[L>>2]<<1)|0)+15&-16)|0;e=l;l=l+((1*(c[L>>2]<<1)|0)+15&-16)|0;c[M>>2]=0;while(1){if((c[M>>2]|0)>=(c[L>>2]|0))break;c[O>>2]=((b[(c[U>>2]|0)+(c[M>>2]<<1)>>1]|0)+(b[(c[U>>2]|0)+((c[M>>2]|0)+2<<1)>>1]|0)+(b[(c[U>>2]|0)+((c[M>>2]|0)+1<<1)>>1]<<1)>>1)+1>>1;b[d+(c[M>>2]<<1)>>1]=c[O>>2];b[e+(c[M>>2]<<1)>>1]=(b[(c[U>>2]|0)+((c[M>>2]|0)+1<<1)>>1]|0)-(c[O>>2]|0);c[M>>2]=(c[M>>2]|0)+1}o=l;l=l+((1*(c[L>>2]<<1)|0)+15&-16)|0;f=l;l=l+((1*(c[L>>2]<<1)|0)+15&-16)|0;c[M>>2]=0;while(1){if((c[M>>2]|0)>=(c[L>>2]|0))break;c[O>>2]=((b[g+(c[M>>2]<<1)>>1]|0)+(b[g+((c[M>>2]|0)+2<<1)>>1]|0)+(b[g+((c[M>>2]|0)+1<<1)>>1]<<1)>>1)+1>>1;b[o+(c[M>>2]<<1)>>1]=c[O>>2];b[f+(c[M>>2]<<1)>>1]=(b[g+((c[M>>2]|0)+1<<1)>>1]|0)-(c[O>>2]|0);c[M>>2]=(c[M>>2]|0)+1}c[s>>2]=(c[L>>2]|0)==((c[F>>2]|0)*10|0)&1;c[C>>2]=c[s>>2]|0?328:655;q=(N((c[r>>2]&65535)<<16>>16,(c[r>>2]&65535)<<16>>16)|0)>>16;q=N(q,(c[C>>2]&65535)<<16>>16)|0;r=(N((c[r>>2]&65535)<<16>>16,(c[r>>2]&65535)<<16>>16)|0)&65535;c[C>>2]=q+((N(r,(c[C>>2]&65535)<<16>>16)|0)>>16);c[P>>2]=kg(t,d,o,(c[J>>2]|0)+12|0,c[L>>2]|0,c[C>>2]|0)|0;c[P+4>>2]=kg(u,e,f,(c[J>>2]|0)+12+8|0,c[L>>2]|0,c[C>>2]|0)|0;c[D>>2]=(c[u>>2]|0)+(((c[t>>2]&65535)<<16>>16)*3|0);c[D>>2]=(c[D>>2]|0)<65536?c[D>>2]|0:65536;u=(c[z>>2]|0)-(c[s>>2]|0?1200:600)|0;c[z>>2]=u;c[z>>2]=(c[z>>2]|0)<1?1:u;c[E>>2]=2e3+(((c[F>>2]&65535)<<16>>16)*900|0);c[v>>2]=(c[D>>2]|0)*3;u=$e(c[z>>2]|0,851968+(c[v>>2]|0)|0,19)|0;c[c[y>>2]>>2]=u;if((c[c[y>>2]>>2]|0)<(c[E>>2]|0)){c[c[y>>2]>>2]=c[E>>2];c[(c[y>>2]|0)+4>>2]=(c[z>>2]|0)-(c[c[y>>2]>>2]|0);u=N(65536+(c[v>>2]|0)>>16,(c[E>>2]&65535)<<16>>16)|0;c[S>>2]=$e((c[(c[y>>2]|0)+4>>2]<<1)-(c[E>>2]|0)|0,u+((N(65536+(c[v>>2]|0)&65535,(c[E>>2]&65535)<<16>>16)|0)>>16)|0,16)|0;if((c[S>>2]|0)>16384)d=16384;else d=(c[S>>2]|0)<0?0:c[S>>2]|0;c[S>>2]=d}else{c[(c[y>>2]|0)+4>>2]=(c[z>>2]|0)-(c[c[y>>2]>>2]|0);c[S>>2]=16384}v=N((c[S>>2]|0)-(b[(c[J>>2]|0)+28>>1]|0)>>16,(c[C>>2]&65535)<<16>>16)|0;C=(b[(c[J>>2]|0)+28>>1]|0)+(v+((N((c[S>>2]|0)-(b[(c[J>>2]|0)+28>>1]|0)&65535,(c[C>>2]&65535)<<16>>16)|0)>>16))&65535;b[(c[J>>2]|0)+28>>1]=C;a[c[x>>2]>>0]=0;a:do if(!(c[A>>2]|0)){do if(!(b[(c[J>>2]|0)+30>>1]|0)){if((c[z>>2]<<3|0)>=((c[E>>2]|0)*13|0)?(C=N(c[D>>2]>>16,b[(c[J>>2]|0)+28>>1]|0)|0,(C+((N(c[D>>2]&65535,b[(c[J>>2]|0)+28>>1]|0)|0)>>16)|0)>=819):0)break;c[P>>2]=(N(b[(c[J>>2]|0)+28>>1]|0,(c[P>>2]&65535)<<16>>16)|0)>>14;c[P+4>>2]=(N(b[(c[J>>2]|0)+28>>1]|0,(c[P+4>>2]&65535)<<16>>16)|0)>>14;rg(P,c[w>>2]|0);c[S>>2]=0;c[P>>2]=0;c[P+4>>2]=0;c[c[y>>2]>>2]=c[z>>2];c[(c[y>>2]|0)+4>>2]=0;a[c[x>>2]>>0]=1;break a}while(0);do if(b[(c[J>>2]|0)+30>>1]|0){if((c[z>>2]<<3|0)>=((c[E>>2]|0)*11|0)?(E=N(c[D>>2]>>16,b[(c[J>>2]|0)+28>>1]|0)|0,(E+((N(c[D>>2]&65535,b[(c[J>>2]|0)+28>>1]|0)|0)>>16)|0)>=328):0)break;c[P>>2]=(N(b[(c[J>>2]|0)+28>>1]|0,(c[P>>2]&65535)<<16>>16)|0)>>14;c[P+4>>2]=(N(b[(c[J>>2]|0)+28>>1]|0,(c[P+4>>2]&65535)<<16>>16)|0)>>14;rg(P,c[w>>2]|0);c[S>>2]=0;c[P>>2]=0;c[P+4>>2]=0;break a}while(0);if((b[(c[J>>2]|0)+28>>1]|0)>15565){rg(P,c[w>>2]|0);c[S>>2]=16384;break}else{c[P>>2]=(N(b[(c[J>>2]|0)+28>>1]|0,(c[P>>2]&65535)<<16>>16)|0)>>14;c[P+4>>2]=(N(b[(c[J>>2]|0)+28>>1]|0,(c[P+4>>2]&65535)<<16>>16)|0)>>14;rg(P,c[w>>2]|0);c[S>>2]=b[(c[J>>2]|0)+28>>1];break}}else{c[S>>2]=0;c[P>>2]=0;c[P+4>>2]=0;rg(P,c[w>>2]|0)}while(0);do if((a[c[x>>2]>>0]|0)==1){E=(c[J>>2]|0)+32|0;b[E>>1]=(b[E>>1]|0)+((c[L>>2]|0)-(c[F>>2]<<3));if((b[(c[J>>2]|0)+32>>1]|0)<((c[F>>2]|0)*5|0)){a[c[x>>2]>>0]=0;break}else{b[(c[J>>2]|0)+32>>1]=1e4;break}}else b[(c[J>>2]|0)+32>>1]=0;while(0);if((a[c[x>>2]>>0]|0)==0?(c[(c[y>>2]|0)+4>>2]|0)<1:0){c[(c[y>>2]|0)+4>>2]=1;E=af(1,(c[z>>2]|0)-(c[(c[y>>2]|0)+4>>2]|0)|0)|0;c[c[y>>2]>>2]=E}c[Q>>2]=0-(b[c[J>>2]>>1]|0);c[R>>2]=0-(b[(c[J>>2]|0)+2>>1]|0);c[T>>2]=b[(c[J>>2]|0)+30>>1]<<10;c[B>>2]=65536/(c[F>>2]<<3|0)|0;c[G>>2]=0-(((N(((c[P>>2]|0)-(b[c[J>>2]>>1]|0)&65535)<<16>>16,(c[B>>2]&65535)<<16>>16)|0)>>15)+1>>1);c[H>>2]=0-(((N(((c[P+4>>2]|0)-(b[(c[J>>2]|0)+2>>1]|0)&65535)<<16>>16,(c[B>>2]&65535)<<16>>16)|0)>>15)+1>>1);E=N((c[S>>2]|0)-(b[(c[J>>2]|0)+30>>1]|0)>>16,(c[B>>2]&65535)<<16>>16)|0;c[I>>2]=E+((N((c[S>>2]|0)-(b[(c[J>>2]|0)+30>>1]|0)&65535,(c[B>>2]&65535)<<16>>16)|0)>>16)<<10;c[M>>2]=0;while(1){if((c[M>>2]|0)>=(c[F>>2]<<3|0))break;c[Q>>2]=(c[Q>>2]|0)+(c[G>>2]|0);c[R>>2]=(c[R>>2]|0)+(c[H>>2]|0);c[T>>2]=(c[T>>2]|0)+(c[I>>2]|0);c[O>>2]=(b[(c[U>>2]|0)+(c[M>>2]<<1)>>1]|0)+(b[(c[U>>2]|0)+((c[M>>2]|0)+2<<1)>>1]|0)+(b[(c[U>>2]|0)+((c[M>>2]|0)+1<<1)>>1]<<1)<<9;D=N(c[T>>2]>>16,b[g+((c[M>>2]|0)+1<<1)>>1]|0)|0;D=D+((N(c[T>>2]&65535,b[g+((c[M>>2]|0)+1<<1)>>1]|0)|0)>>16)|0;E=N(c[O>>2]>>16,(c[Q>>2]&65535)<<16>>16)|0;c[O>>2]=D+(E+((N(c[O>>2]&65535,(c[Q>>2]&65535)<<16>>16)|0)>>16));E=N(b[(c[U>>2]|0)+((c[M>>2]|0)+1<<1)>>1]<<11>>16,(c[R>>2]&65535)<<16>>16)|0;c[O>>2]=(c[O>>2]|0)+(E+((N(b[(c[U>>2]|0)+((c[M>>2]|0)+1<<1)>>1]<<11&65535,(c[R>>2]&65535)<<16>>16)|0)>>16));if(((c[O>>2]>>7)+1>>1|0)<=32767)if(((c[O>>2]>>7)+1>>1|0)<-32768)d=-32768;else d=(c[O>>2]>>7)+1>>1;else d=32767;b[(c[K>>2]|0)+((c[M>>2]|0)-1<<1)>>1]=d;c[M>>2]=(c[M>>2]|0)+1}c[Q>>2]=0-(c[P>>2]|0);c[R>>2]=0-(c[P+4>>2]|0);c[T>>2]=c[S>>2]<<10;c[M>>2]=c[F>>2]<<3;while(1){if((c[M>>2]|0)>=(c[L>>2]|0))break;c[O>>2]=(b[(c[U>>2]|0)+(c[M>>2]<<1)>>1]|0)+(b[(c[U>>2]|0)+((c[M>>2]|0)+2<<1)>>1]|0)+(b[(c[U>>2]|0)+((c[M>>2]|0)+1<<1)>>1]<<1)<<9;H=N(c[T>>2]>>16,b[g+((c[M>>2]|0)+1<<1)>>1]|0)|0;H=H+((N(c[T>>2]&65535,b[g+((c[M>>2]|0)+1<<1)>>1]|0)|0)>>16)|0;I=N(c[O>>2]>>16,(c[Q>>2]&65535)<<16>>16)|0;c[O>>2]=H+(I+((N(c[O>>2]&65535,(c[Q>>2]&65535)<<16>>16)|0)>>16));I=N(b[(c[U>>2]|0)+((c[M>>2]|0)+1<<1)>>1]<<11>>16,(c[R>>2]&65535)<<16>>16)|0;c[O>>2]=(c[O>>2]|0)+(I+((N(b[(c[U>>2]|0)+((c[M>>2]|0)+1<<1)>>1]<<11&65535,(c[R>>2]&65535)<<16>>16)|0)>>16));if(((c[O>>2]>>7)+1>>1|0)<=32767)if(((c[O>>2]>>7)+1>>1|0)<-32768)d=-32768;else d=(c[O>>2]>>7)+1>>1;else d=32767;b[(c[K>>2]|0)+((c[M>>2]|0)-1<<1)>>1]=d;c[M>>2]=(c[M>>2]|0)+1}b[c[J>>2]>>1]=c[P>>2];b[(c[J>>2]|0)+2>>1]=c[P+4>>2];b[(c[J>>2]|0)+30>>1]=c[S>>2];_(c[V>>2]|0);l=W;return}function $e(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;h=l;l=l+48|0;f=h+40|0;q=h+36|0;p=h+32|0;i=h+28|0;k=h+24|0;j=h+20|0;g=h+16|0;m=h+12|0;n=h+8|0;o=h+4|0;e=h;c[q>>2]=a;c[p>>2]=b;c[i>>2]=d;d=c[q>>2]|0;c[k>>2]=(bf((c[q>>2]|0)>0?d:0-d|0)|0)-1;c[n>>2]=c[q>>2]<<c[k>>2];d=c[p>>2]|0;c[j>>2]=(bf((c[p>>2]|0)>0?d:0-d|0)|0)-1;c[o>>2]=c[p>>2]<<c[j>>2];c[m>>2]=536870911/(c[o>>2]>>16|0)|0;d=N(c[n>>2]>>16,(c[m>>2]&65535)<<16>>16)|0;c[e>>2]=d+((N(c[n>>2]&65535,(c[m>>2]&65535)<<16>>16)|0)>>16);d=c[n>>2]|0;b=c[o>>2]|0;a=c[e>>2]|0;a=Xi(b|0,((b|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Yi(a|0,y|0,32)|0;c[n>>2]=d-(a<<3);a=N(c[n>>2]>>16,(c[m>>2]&65535)<<16>>16)|0;c[e>>2]=(c[e>>2]|0)+(a+((N(c[n>>2]&65535,(c[m>>2]&65535)<<16>>16)|0)>>16));c[g>>2]=29+(c[k>>2]|0)-(c[j>>2]|0)-(c[i>>2]|0);a=c[g>>2]|0;if((c[g>>2]|0)>=0)if((a|0)<32){c[f>>2]=c[e>>2]>>c[g>>2];q=c[f>>2]|0;l=h;return q|0}else{c[f>>2]=0;q=c[f>>2]|0;l=h;return q|0}b=c[e>>2]|0;d=0-(c[g>>2]|0)|0;do if((-2147483648>>0-a|0)>(2147483647>>0-(c[g>>2]|0)|0)){if((b|0)>(-2147483648>>d|0)){a=-2147483648>>0-(c[g>>2]|0);break}if((c[e>>2]|0)<(2147483647>>0-(c[g>>2]|0)|0)){a=2147483647>>0-(c[g>>2]|0);break}else{a=c[e>>2]|0;break}}else{if((b|0)>(2147483647>>d|0)){a=2147483647>>0-(c[g>>2]|0);break}if((c[e>>2]|0)<(-2147483648>>0-(c[g>>2]|0)|0)){a=-2147483648>>0-(c[g>>2]|0);break}else{a=c[e>>2]|0;break}}while(0);c[f>>2]=a<<0-(c[g>>2]|0);q=c[f>>2]|0;l=h;return q|0}function af(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)>(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function bf(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){b=32;l=d;return b|0}b=32-(32-(Q(c[b>>2]|0)|0))|0;l=d;return b|0}function cf(a,d,e,f,g,h){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=l;l=l+64|0;o=w+52|0;u=w+48|0;v=w+44|0;p=w+40|0;i=w+36|0;q=w+32|0;r=w+28|0;x=w+24|0;j=w+20|0;k=w+16|0;s=w+12|0;t=w+8|0;m=w+4|0;n=w;c[o>>2]=a;c[u>>2]=d;c[v>>2]=e;c[p>>2]=f;c[i>>2]=g;c[q>>2]=h;h=c[u>>2]|0;g=(c[o>>2]|0)+4|0;b[h>>1]=b[g>>1]|0;b[h+2>>1]=b[g+2>>1]|0;h=c[v>>2]|0;g=(c[o>>2]|0)+8|0;b[h>>1]=b[g>>1]|0;b[h+2>>1]=b[g+2>>1]|0;h=(c[o>>2]|0)+4|0;g=(c[u>>2]|0)+(c[q>>2]<<1)|0;b[h>>1]=b[g>>1]|0;b[h+2>>1]=b[g+2>>1]|0;h=(c[o>>2]|0)+8|0;g=(c[v>>2]|0)+(c[q>>2]<<1)|0;b[h>>1]=b[g>>1]|0;b[h+2>>1]=b[g+2>>1]|0;c[m>>2]=b[c[o>>2]>>1];c[n>>2]=b[(c[o>>2]|0)+2>>1];c[x>>2]=65536/(c[i>>2]<<3|0)|0;c[j>>2]=((N(((c[c[p>>2]>>2]|0)-(b[c[o>>2]>>1]|0)&65535)<<16>>16,(c[x>>2]&65535)<<16>>16)|0)>>15)+1>>1;c[k>>2]=((N(((c[(c[p>>2]|0)+4>>2]|0)-(b[(c[o>>2]|0)+2>>1]|0)&65535)<<16>>16,(c[x>>2]&65535)<<16>>16)|0)>>15)+1>>1;c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[i>>2]<<3|0))break;c[m>>2]=(c[m>>2]|0)+(c[j>>2]|0);c[n>>2]=(c[n>>2]|0)+(c[k>>2]|0);c[s>>2]=(b[(c[u>>2]|0)+(c[r>>2]<<1)>>1]|0)+(b[(c[u>>2]|0)+((c[r>>2]|0)+2<<1)>>1]|0)+(b[(c[u>>2]|0)+((c[r>>2]|0)+1<<1)>>1]<<1)<<9;x=N(c[s>>2]>>16,(c[m>>2]&65535)<<16>>16)|0;c[s>>2]=(b[(c[v>>2]|0)+((c[r>>2]|0)+1<<1)>>1]<<8)+(x+((N(c[s>>2]&65535,(c[m>>2]&65535)<<16>>16)|0)>>16));x=N(b[(c[u>>2]|0)+((c[r>>2]|0)+1<<1)>>1]<<11>>16,(c[n>>2]&65535)<<16>>16)|0;c[s>>2]=(c[s>>2]|0)+(x+((N(b[(c[u>>2]|0)+((c[r>>2]|0)+1<<1)>>1]<<11&65535,(c[n>>2]&65535)<<16>>16)|0)>>16));if(((c[s>>2]>>7)+1>>1|0)<=32767)if(((c[s>>2]>>7)+1>>1|0)<-32768)a=-32768;else a=(c[s>>2]>>7)+1>>1;else a=32767;b[(c[v>>2]|0)+((c[r>>2]|0)+1<<1)>>1]=a;c[r>>2]=(c[r>>2]|0)+1}c[m>>2]=c[c[p>>2]>>2];c[n>>2]=c[(c[p>>2]|0)+4>>2];c[r>>2]=c[i>>2]<<3;while(1){if((c[r>>2]|0)>=(c[q>>2]|0))break;c[s>>2]=(b[(c[u>>2]|0)+(c[r>>2]<<1)>>1]|0)+(b[(c[u>>2]|0)+((c[r>>2]|0)+2<<1)>>1]|0)+(b[(c[u>>2]|0)+((c[r>>2]|0)+1<<1)>>1]<<1)<<9;x=N(c[s>>2]>>16,(c[m>>2]&65535)<<16>>16)|0;c[s>>2]=(b[(c[v>>2]|0)+((c[r>>2]|0)+1<<1)>>1]<<8)+(x+((N(c[s>>2]&65535,(c[m>>2]&65535)<<16>>16)|0)>>16));x=N(b[(c[u>>2]|0)+((c[r>>2]|0)+1<<1)>>1]<<11>>16,(c[n>>2]&65535)<<16>>16)|0;c[s>>2]=(c[s>>2]|0)+(x+((N(b[(c[u>>2]|0)+((c[r>>2]|0)+1<<1)>>1]<<11&65535,(c[n>>2]&65535)<<16>>16)|0)>>16));if(((c[s>>2]>>7)+1>>1|0)<=32767)if(((c[s>>2]>>7)+1>>1|0)<-32768)a=-32768;else a=(c[s>>2]>>7)+1>>1;else a=32767;b[(c[v>>2]|0)+((c[r>>2]|0)+1<<1)>>1]=a;c[r>>2]=(c[r>>2]|0)+1}b[c[o>>2]>>1]=c[c[p>>2]>>2];b[(c[o>>2]|0)+2>>1]=c[(c[p>>2]|0)+4>>2];c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[q>>2]|0))break;c[s>>2]=(b[(c[u>>2]|0)+((c[r>>2]|0)+1<<1)>>1]|0)+(b[(c[v>>2]|0)+((c[r>>2]|0)+1<<1)>>1]|0);c[t>>2]=(b[(c[u>>2]|0)+((c[r>>2]|0)+1<<1)>>1]|0)-(b[(c[v>>2]|0)+((c[r>>2]|0)+1<<1)>>1]|0);if((c[s>>2]|0)>32767)a=32767;else a=(c[s>>2]|0)<-32768?-32768:c[s>>2]|0;b[(c[u>>2]|0)+((c[r>>2]|0)+1<<1)>>1]=a;if((c[t>>2]|0)>32767)a=32767;else a=(c[t>>2]|0)<-32768?-32768:c[t>>2]|0;b[(c[v>>2]|0)+((c[r>>2]|0)+1<<1)>>1]=a;c[r>>2]=(c[r>>2]|0)+1}l=w;return}function df(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;d=f;c[d>>2]=a;if(!(((((((c[(c[d>>2]|0)+8>>2]|0)!=8e3?(c[(c[d>>2]|0)+8>>2]|0)!=12e3:0)?(c[(c[d>>2]|0)+8>>2]|0)!=16e3:0)?(c[(c[d>>2]|0)+8>>2]|0)!=24e3:0)?(c[(c[d>>2]|0)+8>>2]|0)!=32e3:0)?(c[(c[d>>2]|0)+8>>2]|0)!=44100:0)?(c[(c[d>>2]|0)+8>>2]|0)!=48e3:0))e=8;do if((e|0)==8){if(((c[(c[d>>2]|0)+20>>2]|0)!=8e3?(c[(c[d>>2]|0)+20>>2]|0)!=12e3:0)?(c[(c[d>>2]|0)+20>>2]|0)!=16e3:0)break;if(((c[(c[d>>2]|0)+12>>2]|0)!=8e3?(c[(c[d>>2]|0)+12>>2]|0)!=12e3:0)?(c[(c[d>>2]|0)+12>>2]|0)!=16e3:0)break;if(((c[(c[d>>2]|0)+16>>2]|0)!=8e3?(c[(c[d>>2]|0)+16>>2]|0)!=12e3:0)?(c[(c[d>>2]|0)+16>>2]|0)!=16e3:0)break;if(((c[(c[d>>2]|0)+16>>2]|0)<=(c[(c[d>>2]|0)+20>>2]|0)?(c[(c[d>>2]|0)+12>>2]|0)>=(c[(c[d>>2]|0)+20>>2]|0):0)?(c[(c[d>>2]|0)+16>>2]|0)<=(c[(c[d>>2]|0)+12>>2]|0):0){if((((c[(c[d>>2]|0)+24>>2]|0)!=10?(c[(c[d>>2]|0)+24>>2]|0)!=20:0)?(c[(c[d>>2]|0)+24>>2]|0)!=40:0)?(c[(c[d>>2]|0)+24>>2]|0)!=60:0){c[b>>2]=-103;e=c[b>>2]|0;l=f;return e|0}if((c[(c[d>>2]|0)+32>>2]|0)>=0?(c[(c[d>>2]|0)+32>>2]|0)<=100:0){if((c[(c[d>>2]|0)+44>>2]|0)>=0?(c[(c[d>>2]|0)+44>>2]|0)<=1:0){if((c[(c[d>>2]|0)+48>>2]|0)>=0?(c[(c[d>>2]|0)+48>>2]|0)<=1:0){do if((c[(c[d>>2]|0)+40>>2]|0)>=0){if((c[(c[d>>2]|0)+40>>2]|0)>1)break;do if((c[c[d>>2]>>2]|0)>=1){if((c[c[d>>2]>>2]|0)>2)break;do if((c[(c[d>>2]|0)+4>>2]|0)>=1){if((c[(c[d>>2]|0)+4>>2]|0)>2)break;if((c[(c[d>>2]|0)+4>>2]|0)>(c[c[d>>2]>>2]|0)){c[b>>2]=-111;e=c[b>>2]|0;l=f;return e|0}do if((c[(c[d>>2]|0)+36>>2]|0)>=0){if((c[(c[d>>2]|0)+36>>2]|0)>10)break;c[b>>2]=0;e=c[b>>2]|0;l=f;return e|0}while(0);c[b>>2]=-106;e=c[b>>2]|0;l=f;return e|0}while(0);c[b>>2]=-111;e=c[b>>2]|0;l=f;return e|0}while(0);c[b>>2]=-111;e=c[b>>2]|0;l=f;return e|0}while(0);c[b>>2]=-107;e=c[b>>2]|0;l=f;return e|0}c[b>>2]=-109;e=c[b>>2]|0;l=f;return e|0}c[b>>2]=-108;e=c[b>>2]|0;l=f;return e|0}c[b>>2]=-105;e=c[b>>2]|0;l=f;return e|0}}while(0);c[b>>2]=-102;e=c[b>>2]|0;l=f;return e|0}function ef(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;i=m+4|0;j=m;c[e>>2]=a;c[f>>2]=d;c[h>>2]=0;if((c[f>>2]|0)>8e4)a=8e4;else a=(c[f>>2]|0)<5e3?5e3:c[f>>2]|0;c[f>>2]=a;if((c[f>>2]|0)==(c[(c[e>>2]|0)+4632>>2]|0)){k=c[h>>2]|0;l=m;return k|0}c[(c[e>>2]|0)+4632>>2]=c[f>>2];do if((c[(c[e>>2]|0)+4600>>2]|0)!=8)if((c[(c[e>>2]|0)+4600>>2]|0)==12){c[j>>2]=17772;break}else{c[j>>2]=17804;break}else c[j>>2]=17740;while(0);if((c[(c[e>>2]|0)+4604>>2]|0)==2)c[f>>2]=(c[f>>2]|0)-2200;c[g>>2]=1;while(1){if((c[g>>2]|0)>=8){k=16;break}if((c[f>>2]|0)<=(c[(c[j>>2]|0)+(c[g>>2]<<2)>>2]|0))break;c[g>>2]=(c[g>>2]|0)+1}if((k|0)==16){k=c[h>>2]|0;l=m;return k|0}c[i>>2]=((c[f>>2]|0)-(c[(c[j>>2]|0)+((c[g>>2]|0)-1<<2)>>2]|0)<<6|0)/((c[(c[j>>2]|0)+(c[g>>2]<<2)>>2]|0)-(c[(c[j>>2]|0)+((c[g>>2]|0)-1<<2)>>2]|0)|0)|0;k=(b[24510+((c[g>>2]|0)-1<<1)>>1]<<6)+(N(c[i>>2]|0,(b[24510+(c[g>>2]<<1)>>1]|0)-(b[24510+((c[g>>2]|0)-1<<1)>>1]|0)|0)|0)|0;c[(c[e>>2]|0)+4748>>2]=k;k=c[h>>2]|0;l=m;return k|0}function ff(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=0;aj(c[f>>2]|0,0,12240)|0;c[(c[f>>2]|0)+5124>>2]=c[g>>2];b=(Bf(3932160)|0)-2048<<8;c[(c[f>>2]|0)+8>>2]=b;c[(c[f>>2]|0)+12>>2]=c[(c[f>>2]|0)+8>>2];c[(c[f>>2]|0)+4696>>2]=1;b=De((c[f>>2]|0)+32|0)|0;c[d>>2]=(c[d>>2]|0)+b;l=e;return c[d>>2]|0}function gf(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;p=l;l=l+48|0;k=p+32|0;m=p+28|0;n=p+24|0;o=p+20|0;r=p+16|0;q=p+12|0;h=p+8|0;i=p+4|0;j=p;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[r>>2]=e;c[q>>2]=f;c[h>>2]=g;c[j>>2]=0;c[(c[m>>2]|0)+6108>>2]=c[(c[n>>2]|0)+44>>2];c[(c[m>>2]|0)+4708>>2]=c[(c[n>>2]|0)+48>>2];c[(c[m>>2]|0)+4580>>2]=c[(c[n>>2]|0)+8>>2];c[(c[m>>2]|0)+4588>>2]=c[(c[n>>2]|0)+12>>2];c[(c[m>>2]|0)+4592>>2]=c[(c[n>>2]|0)+16>>2];c[(c[m>>2]|0)+4596>>2]=c[(c[n>>2]|0)+20>>2];c[(c[m>>2]|0)+6120>>2]=c[(c[n>>2]|0)+40>>2];c[(c[m>>2]|0)+5784>>2]=c[c[n>>2]>>2];c[(c[m>>2]|0)+5788>>2]=c[(c[n>>2]|0)+4>>2];c[(c[m>>2]|0)+4560>>2]=c[r>>2];c[(c[m>>2]|0)+5792>>2]=c[q>>2];if(c[(c[m>>2]|0)+4700>>2]|0?(c[(c[m>>2]|0)+4712>>2]|0)==0:0){if((c[(c[m>>2]|0)+4580>>2]|0)!=(c[(c[m>>2]|0)+4584>>2]|0)?(c[(c[m>>2]|0)+4600>>2]|0)>0:0){r=hf(c[m>>2]|0,c[(c[m>>2]|0)+4600>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+r}c[k>>2]=c[j>>2];r=c[k>>2]|0;l=p;return r|0}c[i>>2]=Ne(c[m>>2]|0,c[n>>2]|0)|0;if(c[h>>2]|0)c[i>>2]=c[h>>2];r=hf(c[m>>2]|0,c[i>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+r;r=jf(c[m>>2]|0,c[i>>2]|0,c[(c[n>>2]|0)+24>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+r;r=kf(c[m>>2]|0,c[(c[n>>2]|0)+36>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+r;c[(c[m>>2]|0)+4640>>2]=c[(c[n>>2]|0)+32>>2];r=lf(c[m>>2]|0,c[o>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+r;c[(c[m>>2]|0)+4700>>2]=1;c[k>>2]=c[j>>2];r=c[k>>2]|0;l=p;return r|0}function hf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+336|0;e=n+328|0;f=n+324|0;g=n+320|0;h=n+316|0;i=n+312|0;j=n+308|0;k=n+304|0;m=n+300|0;d=n;c[e>>2]=a;c[f>>2]=b;c[g>>2]=0;if((c[(c[e>>2]|0)+4600>>2]|0)==(c[f>>2]|0)?(c[(c[e>>2]|0)+4584>>2]|0)==(c[(c[e>>2]|0)+4580>>2]|0):0){k=c[e>>2]|0;k=k+4580|0;k=c[k>>2]|0;m=c[e>>2]|0;m=m+4584|0;c[m>>2]=k;m=c[g>>2]|0;l=n;return m|0}a=c[e>>2]|0;if(!(c[(c[e>>2]|0)+4600>>2]|0)){k=Tf(a+5808|0,c[(c[e>>2]|0)+4580>>2]|0,(c[f>>2]|0)*1e3|0,1)|0;c[g>>2]=(c[g>>2]|0)+k;k=c[e>>2]|0;k=k+4580|0;k=c[k>>2]|0;m=c[e>>2]|0;m=m+4584|0;c[m>>2]=k;m=c[g>>2]|0;l=n;return m|0}else{c[k>>2]=((c[a+4604>>2]|0)*5<<1)+5;c[j>>2]=N(c[k>>2]|0,c[(c[e>>2]|0)+4600>>2]|0)|0;c[h>>2]=N(c[k>>2]|0,c[f>>2]|0)|0;a=(c[j>>2]|0)>(c[h>>2]|0)?c[j>>2]|0:c[h>>2]|0;c[m>>2]=$()|0;b=l;l=l+((1*(a<<1)|0)+15&-16)|0;of(b,(c[e>>2]|0)+9356|0,c[j>>2]|0);a=Tf(d,((c[(c[e>>2]|0)+4600>>2]&65535)<<16>>16)*1e3|0,c[(c[e>>2]|0)+4580>>2]|0,0)|0;c[g>>2]=(c[g>>2]|0)+a;c[i>>2]=N(c[k>>2]|0,(c[(c[e>>2]|0)+4580>>2]|0)/1e3|0)|0;k=l;l=l+((1*(c[i>>2]<<1)|0)+15&-16)|0;j=Uf(d,k,b,c[j>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+j;j=Tf((c[e>>2]|0)+5808|0,c[(c[e>>2]|0)+4580>>2]|0,((c[f>>2]&65535)<<16>>16)*1e3|0,1)|0;c[g>>2]=(c[g>>2]|0)+j;k=Uf((c[e>>2]|0)+5808|0,b,k,c[i>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+k;pf((c[e>>2]|0)+9356|0,b,c[h>>2]|0);_(c[m>>2]|0);k=c[e>>2]|0;k=k+4580|0;k=c[k>>2]|0;m=c[e>>2]|0;m=m+4584|0;c[m>>2]=k;m=c[g>>2]|0;l=n;return m|0}return 0}function jf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;h=j+12|0;g=j+8|0;f=j+4|0;i=j;c[h>>2]=b;c[g>>2]=d;c[f>>2]=e;c[i>>2]=0;if((c[f>>2]|0)!=(c[(c[h>>2]|0)+4636>>2]|0)){if((c[f>>2]|0)!=10&(c[f>>2]|0)!=20&(c[f>>2]|0)!=40&(c[f>>2]|0)!=60)c[i>>2]=-103;if((c[f>>2]|0)<=10){c[(c[h>>2]|0)+5776>>2]=1;c[(c[h>>2]|0)+4604>>2]=(c[f>>2]|0)==10?2:1;b=N((c[f>>2]&65535)<<16>>16,(c[g>>2]&65535)<<16>>16)|0;c[(c[h>>2]|0)+4608>>2]=b;c[(c[h>>2]|0)+4572>>2]=((c[g>>2]&65535)<<16>>16)*14;b=(c[h>>2]|0)+4720|0;d=(c[(c[h>>2]|0)+4600>>2]|0)==8?29170:29158}else{c[(c[h>>2]|0)+5776>>2]=(c[f>>2]|0)/20|0;c[(c[h>>2]|0)+4604>>2]=4;c[(c[h>>2]|0)+4608>>2]=((c[g>>2]&65535)<<16>>16)*20;c[(c[h>>2]|0)+4572>>2]=((c[g>>2]&65535)<<16>>16)*24;b=(c[h>>2]|0)+4720|0;d=(c[(c[h>>2]|0)+4600>>2]|0)==8?29147:29113}c[b>>2]=d;c[(c[h>>2]|0)+4636>>2]=c[f>>2];c[(c[h>>2]|0)+4632>>2]=0}if((c[(c[h>>2]|0)+4600>>2]|0)==(c[g>>2]|0)){i=c[i>>2]|0;l=j;return i|0}f=(c[h>>2]|0)+7200|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;aj((c[h>>2]|0)+7216|0,0,2140)|0;aj((c[h>>2]|0)+144|0,0,4380)|0;f=(c[h>>2]|0)+4524|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;f=(c[h>>2]|0)+16|0;c[f>>2]=0;c[f+4>>2]=0;c[(c[h>>2]|0)+5772>>2]=0;c[(c[h>>2]|0)+5780>>2]=0;c[(c[h>>2]|0)+4632>>2]=0;c[(c[h>>2]|0)+4568>>2]=100;c[(c[h>>2]|0)+4696>>2]=1;c[(c[h>>2]|0)+7216+2136>>2]=100;a[(c[h>>2]|0)+7200>>0]=10;c[(c[h>>2]|0)+144+4356>>2]=100;c[(c[h>>2]|0)+144+4372>>2]=65536;a[(c[h>>2]|0)+4565>>0]=0;c[(c[h>>2]|0)+4600>>2]=c[g>>2];f=(c[(c[h>>2]|0)+4604>>2]|0)==4;c[(c[h>>2]|0)+4720>>2]=(c[(c[h>>2]|0)+4600>>2]|0)==8?(f?29147:29170):f?29113:29158;if((c[(c[h>>2]|0)+4600>>2]|0)!=8?(c[(c[h>>2]|0)+4600>>2]|0)!=12:0){c[(c[h>>2]|0)+4664>>2]=16;b=c[h>>2]|0;d=17704}else{c[(c[h>>2]|0)+4664>>2]=10;b=c[h>>2]|0;d=17668}c[b+4724>>2]=d;c[(c[h>>2]|0)+4612>>2]=(c[g>>2]|0)*5;b=N((c[(c[h>>2]|0)+4612>>2]&65535)<<16>>16,(c[(c[h>>2]|0)+4604>>2]&65535)<<16>>16)|0;c[(c[h>>2]|0)+4608>>2]=b;c[(c[h>>2]|0)+4616>>2]=((c[g>>2]&65535)<<16>>16)*20;c[(c[h>>2]|0)+4620>>2]=(c[g>>2]&65535)<<16>>16<<1;c[(c[h>>2]|0)+4576>>2]=((c[g>>2]&65535)<<16>>16)*18;b=(c[(c[h>>2]|0)+4604>>2]|0)==4;g=(c[g>>2]&65535)<<16>>16;c[(b?c[h>>2]|0:c[h>>2]|0)+4572>>2]=b?g*24|0:g*14|0;b=c[h>>2]|0;do if((c[(c[h>>2]|0)+4600>>2]|0)!=16){d=(c[h>>2]|0)+4684|0;if((c[b+4600>>2]|0)==12){c[d>>2]=13;d=29039;b=c[h>>2]|0;break}else{c[d>>2]=15;d=29030;b=c[h>>2]|0;break}}else{c[b+4684>>2]=10;d=29045;b=c[h>>2]|0}while(0);c[b+4716>>2]=d;i=c[i>>2]|0;l=j;return i|0}function kf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;do if((c[e>>2]|0)>=2){if((c[e>>2]|0)<4){c[(c[d>>2]|0)+4668>>2]=1;c[(c[d>>2]|0)+4676>>2]=49807;c[(c[d>>2]|0)+4672>>2]=8;c[(c[d>>2]|0)+4660>>2]=10;c[(c[d>>2]|0)+4624>>2]=(c[(c[d>>2]|0)+4600>>2]|0)*5;c[(c[d>>2]|0)+4652>>2]=1;c[(c[d>>2]|0)+4656>>2]=0;c[(c[d>>2]|0)+4680>>2]=0;c[(c[d>>2]|0)+4692>>2]=4;a=0;b=c[d>>2]|0;break}if((c[e>>2]|0)<6){c[(c[d>>2]|0)+4668>>2]=1;c[(c[d>>2]|0)+4676>>2]=48497;c[(c[d>>2]|0)+4672>>2]=10;c[(c[d>>2]|0)+4660>>2]=12;c[(c[d>>2]|0)+4624>>2]=(c[(c[d>>2]|0)+4600>>2]|0)*5;c[(c[d>>2]|0)+4652>>2]=2;c[(c[d>>2]|0)+4656>>2]=1;c[(c[d>>2]|0)+4680>>2]=0;c[(c[d>>2]|0)+4692>>2]=8;a=(c[(c[d>>2]|0)+4600>>2]|0)*983|0;b=c[d>>2]|0;break}a=(c[d>>2]|0)+4668|0;if((c[e>>2]|0)<8){c[a>>2]=1;c[(c[d>>2]|0)+4676>>2]=47186;c[(c[d>>2]|0)+4672>>2]=12;c[(c[d>>2]|0)+4660>>2]=14;c[(c[d>>2]|0)+4624>>2]=(c[(c[d>>2]|0)+4600>>2]|0)*5;c[(c[d>>2]|0)+4652>>2]=3;c[(c[d>>2]|0)+4656>>2]=1;c[(c[d>>2]|0)+4680>>2]=0;c[(c[d>>2]|0)+4692>>2]=16;a=(c[(c[d>>2]|0)+4600>>2]|0)*983|0;b=c[d>>2]|0;break}else{c[a>>2]=2;c[(c[d>>2]|0)+4676>>2]=45875;c[(c[d>>2]|0)+4672>>2]=16;c[(c[d>>2]|0)+4660>>2]=16;c[(c[d>>2]|0)+4624>>2]=(c[(c[d>>2]|0)+4600>>2]|0)*5;c[(c[d>>2]|0)+4652>>2]=4;c[(c[d>>2]|0)+4656>>2]=1;c[(c[d>>2]|0)+4680>>2]=0;c[(c[d>>2]|0)+4692>>2]=32;a=(c[(c[d>>2]|0)+4600>>2]|0)*983|0;b=c[d>>2]|0;break}}else{c[(c[d>>2]|0)+4668>>2]=0;c[(c[d>>2]|0)+4676>>2]=52429;c[(c[d>>2]|0)+4672>>2]=6;c[(c[d>>2]|0)+4660>>2]=8;c[(c[d>>2]|0)+4624>>2]=(c[(c[d>>2]|0)+4600>>2]|0)*3;c[(c[d>>2]|0)+4652>>2]=1;c[(c[d>>2]|0)+4656>>2]=0;c[(c[d>>2]|0)+4680>>2]=1;c[(c[d>>2]|0)+4692>>2]=2;a=0;b=c[d>>2]|0}while(0);c[b+4704>>2]=a;b=nf(c[(c[d>>2]|0)+4672>>2]|0,c[(c[d>>2]|0)+4664>>2]|0)|0;c[(c[d>>2]|0)+4672>>2]=b;c[(c[d>>2]|0)+4628>>2]=((c[(c[d>>2]|0)+4600>>2]|0)*5|0)+(c[(c[d>>2]|0)+4624>>2]<<1);c[(c[d>>2]|0)+4648>>2]=c[e>>2];l=g;return c[f>>2]|0}function lf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;g=i+16|0;d=i+12|0;f=i+8|0;h=i+4|0;e=i;c[g>>2]=a;c[d>>2]=b;c[h>>2]=0;c[f>>2]=c[(c[g>>2]|0)+6124>>2];c[(c[g>>2]|0)+6124>>2]=0;if(!(c[(c[g>>2]|0)+6120>>2]|0)){h=c[h>>2]|0;l=i;return h|0}if((c[(c[g>>2]|0)+4640>>2]|0)<=0){h=c[h>>2]|0;l=i;return h|0}do if((c[(c[g>>2]|0)+4600>>2]|0)!=8)if((c[(c[g>>2]|0)+4600>>2]|0)==12){c[e>>2]=14e3;break}else{c[e>>2]=16e3;break}else c[e>>2]=12e3;while(0);if((c[(c[g>>2]|0)+4640>>2]|0)<25)a=c[(c[g>>2]|0)+4640>>2]|0;else a=25;a=((N(c[e>>2]|0,125-a|0)|0)>>16)*655|0;if((c[(c[g>>2]|0)+4640>>2]|0)<25)b=c[(c[g>>2]|0)+4640>>2]|0;else b=25;c[e>>2]=a+(((N(c[e>>2]|0,125-b|0)|0)&65535)*655>>16);if((c[d>>2]|0)<=(c[e>>2]|0)){h=c[h>>2]|0;l=i;return h|0}a=c[g>>2]|0;if(!(c[f>>2]|0))b=7;else{b=mf(7-(((c[a+4640>>2]>>16)*26214|0)+((c[(c[g>>2]|0)+4640>>2]&65535)*26214>>16))|0,2)|0;a=c[g>>2]|0}c[a+6128>>2]=b;c[(c[g>>2]|0)+6124>>2]=1;h=c[h>>2]|0;l=i;return h|0}function mf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)>(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function nf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)<(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function of(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;f=j+12|0;h=j+8|0;k=j+4|0;i=j;c[f>>2]=a;c[h>>2]=d;c[k>>2]=e;c[i>>2]=(c[k>>2]|0)-1;while(1){if((c[i>>2]|0)<0)break;if((Ui(+g[(c[h>>2]|0)+(c[i>>2]<<2)>>2])|0)<=32767)if((Ui(+g[(c[h>>2]|0)+(c[i>>2]<<2)>>2])|0)<-32768)a=-32768;else a=Ui(+g[(c[h>>2]|0)+(c[i>>2]<<2)>>2])|0;else a=32767;b[(c[f>>2]|0)+(c[i>>2]<<1)>>1]=a;c[i>>2]=(c[i>>2]|0)+-1}l=j;return}function pf(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;f=j+12|0;h=j+8|0;k=j+4|0;i=j;c[f>>2]=a;c[h>>2]=d;c[k>>2]=e;c[i>>2]=(c[k>>2]|0)-1;while(1){if((c[i>>2]|0)<0)break;g[(c[f>>2]|0)+(c[i>>2]<<2)>>2]=+(b[(c[h>>2]|0)+(c[i>>2]<<1)>>1]|0);c[i>>2]=(c[i>>2]|0)+-1}l=j;return}function qf(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+160|0;v=D+156|0;w=D+152|0;x=D+148|0;y=D+144|0;z=D+140|0;A=D+136|0;B=D+132|0;f=D+128|0;g=D+124|0;h=D+120|0;i=D+116|0;j=D+112|0;k=D+108|0;m=D+104|0;n=D+100|0;o=D+96|0;p=D+92|0;q=D+88|0;r=D+52|0;s=D+16|0;t=D+8|0;u=D;c[v>>2]=a;c[w>>2]=d;c[x>>2]=e;c[t>>2]=r;c[t+4>>2]=s;c[B>>2]=c[x>>2]>>1;rf(c[w>>2]|0,r,s,c[B>>2]|0);c[u>>2]=r;c[h>>2]=b[12286];c[k>>2]=sf(c[u>>2]|0,c[h>>2]|0,c[B>>2]|0)|0;if((c[k>>2]|0)<0){b[c[v>>2]>>1]=0;c[u>>2]=s;c[k>>2]=sf(c[u>>2]|0,c[h>>2]|0,c[B>>2]|0)|0;c[f>>2]=1}else c[f>>2]=0;c[z>>2]=1;c[y>>2]=0;c[o>>2]=0;a:while(1){c[i>>2]=b[24572+(c[z>>2]<<1)>>1];c[m>>2]=sf(c[u>>2]|0,c[i>>2]|0,c[B>>2]|0)|0;if(!((c[k>>2]|0)<=0?(c[m>>2]|0)>=(c[o>>2]|0):0))C=7;do if((C|0)==7){C=0;if((c[k>>2]|0)>=0?(c[m>>2]|0)<=(0-(c[o>>2]|0)|0):0)break;c[z>>2]=(c[z>>2]|0)+1;c[h>>2]=c[i>>2];c[k>>2]=c[m>>2];c[o>>2]=0;if((c[z>>2]|0)<=128)continue a;c[y>>2]=(c[y>>2]|0)+1;if((c[y>>2]|0)>30)break a;xf(c[w>>2]|0,c[x>>2]|0,65536-(N((10+(c[y>>2]|0)&65535)<<16>>16,(c[y>>2]&65535)<<16>>16)|0)|0);rf(c[w>>2]|0,r,s,c[B>>2]|0);c[u>>2]=r;c[h>>2]=b[12286];c[k>>2]=sf(c[u>>2]|0,c[h>>2]|0,c[B>>2]|0)|0;if((c[k>>2]|0)<0){b[c[v>>2]>>1]=0;c[u>>2]=s;c[k>>2]=sf(c[u>>2]|0,c[h>>2]|0,c[B>>2]|0)|0;c[f>>2]=1}else c[f>>2]=0;c[z>>2]=1;continue a}while(0);if(!(c[m>>2]|0))c[o>>2]=1;else c[o>>2]=0;c[g>>2]=-256;c[A>>2]=0;while(1){if((c[A>>2]|0)>=3)break;c[j>>2]=((c[h>>2]|0)+(c[i>>2]|0)>>1)+((c[h>>2]|0)+(c[i>>2]|0)&1);c[n>>2]=sf(c[u>>2]|0,c[j>>2]|0,c[B>>2]|0)|0;if(!((c[k>>2]|0)<=0&(c[n>>2]|0)>=0)?!((c[k>>2]|0)>=0&(c[n>>2]|0)<=0):0){c[h>>2]=c[j>>2];c[k>>2]=c[n>>2];c[g>>2]=(c[g>>2]|0)+(128>>c[A>>2])}else{c[i>>2]=c[j>>2];c[m>>2]=c[n>>2]}c[A>>2]=(c[A>>2]|0)+1}e=c[k>>2]|0;a=c[k>>2]|0;if((((c[k>>2]|0)>0?e:0-e|0)|0)<65536){c[q>>2]=a-(c[m>>2]|0);c[p>>2]=(c[k>>2]<<5)+(c[q>>2]>>1);if(c[q>>2]|0)c[g>>2]=(c[g>>2]|0)+((c[p>>2]|0)/(c[q>>2]|0)|0)}else c[g>>2]=(c[g>>2]|0)+((a|0)/((c[k>>2]|0)-(c[m>>2]|0)>>5|0)|0);e=(tf((c[z>>2]<<8)+(c[g>>2]|0)|0,32767)|0)&65535;b[(c[v>>2]|0)+(c[f>>2]<<1)>>1]=e;c[f>>2]=(c[f>>2]|0)+1;if((c[f>>2]|0)>=(c[x>>2]|0)){C=34;break}c[u>>2]=c[t+((c[f>>2]&1)<<2)>>2];c[h>>2]=b[24572+((c[z>>2]|0)-1<<1)>>1];c[k>>2]=1-(c[f>>2]&2)<<12}if((C|0)==34){l=D;return}b[c[v>>2]>>1]=32768/((c[x>>2]|0)+1|0)|0;c[z>>2]=1;while(1){if((c[z>>2]|0)>=(c[x>>2]|0))break;C=(N(((c[z>>2]|0)+1&65535)<<16>>16,b[c[v>>2]>>1]|0)|0)&65535;b[(c[v>>2]|0)+(c[z>>2]<<1)>>1]=C;c[z>>2]=(c[z>>2]|0)+1}l=D;return}function rf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;c[(c[g>>2]|0)+(c[i>>2]<<2)>>2]=65536;c[(c[h>>2]|0)+(c[i>>2]<<2)>>2]=65536;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[i>>2]|0))break;c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]=0-(c[(c[f>>2]|0)+((c[i>>2]|0)-(c[j>>2]|0)-1<<2)>>2]|0)-(c[(c[f>>2]|0)+((c[i>>2]|0)+(c[j>>2]|0)<<2)>>2]|0);c[(c[h>>2]|0)+(c[j>>2]<<2)>>2]=0-(c[(c[f>>2]|0)+((c[i>>2]|0)-(c[j>>2]|0)-1<<2)>>2]|0)+(c[(c[f>>2]|0)+((c[i>>2]|0)+(c[j>>2]|0)<<2)>>2]|0);c[j>>2]=(c[j>>2]|0)+1}c[j>>2]=c[i>>2];while(1){a=c[g>>2]|0;if((c[j>>2]|0)<=0)break;f=(c[g>>2]|0)+((c[j>>2]|0)-1<<2)|0;c[f>>2]=(c[f>>2]|0)-(c[a+(c[j>>2]<<2)>>2]|0);f=(c[h>>2]|0)+((c[j>>2]|0)-1<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[(c[h>>2]|0)+(c[j>>2]<<2)>>2]|0);c[j>>2]=(c[j>>2]|0)+-1}uf(a,c[i>>2]|0);uf(c[h>>2]|0,c[i>>2]|0);l=k;return}function sf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+20|0;k=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;c[i>>2]=c[(c[e>>2]|0)+(c[f>>2]<<2)>>2];c[h>>2]=c[k>>2]<<4;if(8==(c[f>>2]|0)^1^1){k=N(c[i>>2]>>16,(c[h>>2]&65535)<<16>>16)|0;k=(c[(c[e>>2]|0)+28>>2]|0)+(k+((N(c[i>>2]&65535,(c[h>>2]&65535)<<16>>16)|0)>>16))|0;c[i>>2]=k+(N(c[i>>2]|0,(c[h>>2]>>15)+1>>1)|0);k=N(c[i>>2]>>16,(c[h>>2]&65535)<<16>>16)|0;k=(c[(c[e>>2]|0)+24>>2]|0)+(k+((N(c[i>>2]&65535,(c[h>>2]&65535)<<16>>16)|0)>>16))|0;c[i>>2]=k+(N(c[i>>2]|0,(c[h>>2]>>15)+1>>1)|0);k=N(c[i>>2]>>16,(c[h>>2]&65535)<<16>>16)|0;k=(c[(c[e>>2]|0)+20>>2]|0)+(k+((N(c[i>>2]&65535,(c[h>>2]&65535)<<16>>16)|0)>>16))|0;c[i>>2]=k+(N(c[i>>2]|0,(c[h>>2]>>15)+1>>1)|0);k=N(c[i>>2]>>16,(c[h>>2]&65535)<<16>>16)|0;k=(c[(c[e>>2]|0)+16>>2]|0)+(k+((N(c[i>>2]&65535,(c[h>>2]&65535)<<16>>16)|0)>>16))|0;c[i>>2]=k+(N(c[i>>2]|0,(c[h>>2]>>15)+1>>1)|0);k=N(c[i>>2]>>16,(c[h>>2]&65535)<<16>>16)|0;k=(c[(c[e>>2]|0)+12>>2]|0)+(k+((N(c[i>>2]&65535,(c[h>>2]&65535)<<16>>16)|0)>>16))|0;c[i>>2]=k+(N(c[i>>2]|0,(c[h>>2]>>15)+1>>1)|0);k=N(c[i>>2]>>16,(c[h>>2]&65535)<<16>>16)|0;k=(c[(c[e>>2]|0)+8>>2]|0)+(k+((N(c[i>>2]&65535,(c[h>>2]&65535)<<16>>16)|0)>>16))|0;c[i>>2]=k+(N(c[i>>2]|0,(c[h>>2]>>15)+1>>1)|0);k=N(c[i>>2]>>16,(c[h>>2]&65535)<<16>>16)|0;k=(c[(c[e>>2]|0)+4>>2]|0)+(k+((N(c[i>>2]&65535,(c[h>>2]&65535)<<16>>16)|0)>>16))|0;c[i>>2]=k+(N(c[i>>2]|0,(c[h>>2]>>15)+1>>1)|0);k=N(c[i>>2]>>16,(c[h>>2]&65535)<<16>>16)|0;k=(c[c[e>>2]>>2]|0)+(k+((N(c[i>>2]&65535,(c[h>>2]&65535)<<16>>16)|0)>>16))|0;c[i>>2]=k+(N(c[i>>2]|0,(c[h>>2]>>15)+1>>1)|0);k=c[i>>2]|0;l=j;return k|0}c[g>>2]=(c[f>>2]|0)-1;while(1){if((c[g>>2]|0)<0)break;k=N(c[i>>2]>>16,(c[h>>2]&65535)<<16>>16)|0;k=(c[(c[e>>2]|0)+(c[g>>2]<<2)>>2]|0)+(k+((N(c[i>>2]&65535,(c[h>>2]&65535)<<16>>16)|0)>>16))|0;c[i>>2]=k+(N(c[i>>2]|0,(c[h>>2]>>15)+1>>1)|0);c[g>>2]=(c[g>>2]|0)+-1}k=c[i>>2]|0;l=j;return k|0}function tf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)<(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function uf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=2;while(1){if((c[f>>2]|0)>(c[e>>2]|0))break;c[g>>2]=c[e>>2];while(1){a=c[d>>2]|0;if((c[g>>2]|0)<=(c[f>>2]|0))break;b=(c[d>>2]|0)+((c[g>>2]|0)-2<<2)|0;c[b>>2]=(c[b>>2]|0)-(c[a+(c[g>>2]<<2)>>2]|0);c[g>>2]=(c[g>>2]|0)+-1}b=(c[d>>2]|0)+((c[f>>2]|0)-2<<2)|0;c[b>>2]=(c[b>>2]|0)-(c[a+(c[f>>2]<<2)>>2]<<1);c[f>>2]=(c[f>>2]|0)+1}l=h;return}function vf(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=l;l=l+48|0;p=t+44|0;q=t+40|0;r=t+36|0;s=t+32|0;u=t+28|0;h=t+24|0;i=t+20|0;j=t+16|0;k=t+12|0;m=t+8|0;n=t+4|0;o=t;c[p>>2]=a;c[q>>2]=d;c[r>>2]=e;c[s>>2]=f;c[u>>2]=g;c[i>>2]=c[u>>2]>>1;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[i>>2]|0))break;c[j>>2]=b[(c[p>>2]|0)+(c[h>>2]<<1<<1)>>1]<<10;c[m>>2]=(c[j>>2]|0)-(c[c[q>>2]>>2]|0);u=N(c[m>>2]>>16,-24290<<16>>16)|0;c[k>>2]=(c[m>>2]|0)+(u+((N(c[m>>2]&65535,-24290<<16>>16)|0)>>16));c[n>>2]=(c[c[q>>2]>>2]|0)+(c[k>>2]|0);c[c[q>>2]>>2]=(c[j>>2]|0)+(c[k>>2]|0);c[j>>2]=b[(c[p>>2]|0)+((c[h>>2]<<1)+1<<1)>>1]<<10;c[m>>2]=(c[j>>2]|0)-(c[(c[q>>2]|0)+4>>2]|0);u=N(c[m>>2]>>16,10788<<16>>16)|0;c[k>>2]=u+((N(c[m>>2]&65535,10788<<16>>16)|0)>>16);c[o>>2]=(c[(c[q>>2]|0)+4>>2]|0)+(c[k>>2]|0);c[(c[q>>2]|0)+4>>2]=(c[j>>2]|0)+(c[k>>2]|0);if((((c[o>>2]|0)+(c[n>>2]|0)>>10)+1>>1|0)<=32767)if((((c[o>>2]|0)+(c[n>>2]|0)>>10)+1>>1|0)<-32768)a=-32768;else a=((c[o>>2]|0)+(c[n>>2]|0)>>10)+1>>1;else a=32767;b[(c[r>>2]|0)+(c[h>>2]<<1)>>1]=a;if((((c[o>>2]|0)-(c[n>>2]|0)>>10)+1>>1|0)<=32767)if((((c[o>>2]|0)-(c[n>>2]|0)>>10)+1>>1|0)<-32768)a=-32768;else a=((c[o>>2]|0)-(c[n>>2]|0)>>10)+1>>1;else a=32767;b[(c[s>>2]|0)+(c[h>>2]<<1)>>1]=a;c[h>>2]=(c[h>>2]|0)+1}l=t;return}function wf(a,d,e,f,g,h,i){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=l;l=l+64|0;v=x+52|0;w=x+48|0;y=x+44|0;j=x+40|0;k=x+36|0;m=x+32|0;n=x+28|0;o=x+24|0;p=x+20|0;q=x+16|0;r=x+12|0;s=x+8|0;t=x+4|0;u=x;c[v>>2]=a;c[w>>2]=d;c[y>>2]=e;c[j>>2]=f;c[k>>2]=g;c[m>>2]=h;c[n>>2]=i;c[r>>2]=0-(c[c[y>>2]>>2]|0)&16383;c[q>>2]=0-(c[c[y>>2]>>2]|0)>>14;c[t>>2]=0-(c[(c[y>>2]|0)+4>>2]|0)&16383;c[s>>2]=0-(c[(c[y>>2]|0)+4>>2]|0)>>14;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[m>>2]|0))break;c[p>>2]=b[(c[v>>2]|0)+((N(c[o>>2]|0,c[n>>2]|0)|0)<<1)>>1];y=N(c[c[w>>2]>>2]>>16,(c[p>>2]&65535)<<16>>16)|0;c[u>>2]=(c[c[j>>2]>>2]|0)+(y+((N(c[c[w>>2]>>2]&65535,(c[p>>2]&65535)<<16>>16)|0)>>16))<<2;y=N(c[u>>2]>>16,(c[r>>2]&65535)<<16>>16)|0;y=(c[(c[j>>2]|0)+4>>2]|0)+((y+((N(c[u>>2]&65535,(c[r>>2]&65535)<<16>>16)|0)>>16)>>13)+1>>1)|0;c[c[j>>2]>>2]=y;y=N(c[u>>2]>>16,(c[q>>2]&65535)<<16>>16)|0;y=(c[c[j>>2]>>2]|0)+(y+((N(c[u>>2]&65535,(c[q>>2]&65535)<<16>>16)|0)>>16))|0;c[c[j>>2]>>2]=y;y=N(c[(c[w>>2]|0)+4>>2]>>16,(c[p>>2]&65535)<<16>>16)|0;y=(c[c[j>>2]>>2]|0)+(y+((N(c[(c[w>>2]|0)+4>>2]&65535,(c[p>>2]&65535)<<16>>16)|0)>>16))|0;c[c[j>>2]>>2]=y;y=N(c[u>>2]>>16,(c[t>>2]&65535)<<16>>16)|0;y=(y+((N(c[u>>2]&65535,(c[t>>2]&65535)<<16>>16)|0)>>16)>>13)+1>>1;c[(c[j>>2]|0)+4>>2]=y;y=N(c[u>>2]>>16,(c[s>>2]&65535)<<16>>16)|0;y=(c[(c[j>>2]|0)+4>>2]|0)+(y+((N(c[u>>2]&65535,(c[s>>2]&65535)<<16>>16)|0)>>16))|0;c[(c[j>>2]|0)+4>>2]=y;y=N(c[(c[w>>2]|0)+8>>2]>>16,(c[p>>2]&65535)<<16>>16)|0;y=(c[(c[j>>2]|0)+4>>2]|0)+(y+((N(c[(c[w>>2]|0)+8>>2]&65535,(c[p>>2]&65535)<<16>>16)|0)>>16))|0;c[(c[j>>2]|0)+4>>2]=y;if(((c[u>>2]|0)+16384-1>>14|0)<=32767)if(((c[u>>2]|0)+16384-1>>14|0)<-32768)a=-32768;else a=(c[u>>2]|0)+16384-1>>14;else a=32767;b[(c[k>>2]|0)+((N(c[o>>2]|0,c[n>>2]|0)|0)<<1)>>1]=a;c[o>>2]=(c[o>>2]|0)+1}l=x;return}function xf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[i>>2]=(c[g>>2]|0)-65536;c[h>>2]=0;while(1){a=c[g>>2]>>16;b=c[e>>2]|0;if((c[h>>2]|0)>=((c[f>>2]|0)-1|0))break;d=N(a,(c[b+(c[h>>2]<<2)>>2]&65535)<<16>>16)|0;d=d+((N(c[g>>2]&65535,(c[(c[e>>2]|0)+(c[h>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;d=d+(N(c[g>>2]|0,(c[(c[e>>2]|0)+(c[h>>2]<<2)>>2]>>15)+1>>1)|0)|0;c[(c[e>>2]|0)+(c[h>>2]<<2)>>2]=d;d=((N(c[g>>2]|0,c[i>>2]|0)|0)>>15)+1>>1;c[g>>2]=(c[g>>2]|0)+d;c[h>>2]=(c[h>>2]|0)+1}i=N(a,(c[b+((c[f>>2]|0)-1<<2)>>2]&65535)<<16>>16)|0;i=i+((N(c[g>>2]&65535,(c[(c[e>>2]|0)+((c[f>>2]|0)-1<<2)>>2]&65535)<<16>>16)|0)>>16)|0;i=i+(N(c[g>>2]|0,(c[(c[e>>2]|0)+((c[f>>2]|0)-1<<2)>>2]>>15)+1>>1)|0)|0;c[(c[e>>2]|0)+((c[f>>2]|0)-1<<2)>>2]=i;l=j;return}function yf(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;c[j>>2]=(c[h>>2]|0)-65536;c[i>>2]=0;while(1){a=c[h>>2]|0;d=c[f>>2]|0;if((c[i>>2]|0)>=((c[g>>2]|0)-1|0))break;e=((N(a,b[d+(c[i>>2]<<1)>>1]|0)|0)>>15)+1>>1&65535;b[(c[f>>2]|0)+(c[i>>2]<<1)>>1]=e;e=((N(c[h>>2]|0,c[j>>2]|0)|0)>>15)+1>>1;c[h>>2]=(c[h>>2]|0)+e;c[i>>2]=(c[i>>2]|0)+1}j=((N(a,b[d+((c[g>>2]|0)-1<<1)>>1]|0)|0)>>15)+1>>1&65535;b[(c[f>>2]|0)+((c[g>>2]|0)-1<<1)>>1]=j;l=k;return}function zf(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+48|0;i=u+36|0;r=u+38|0;s=u+32|0;j=u+28|0;t=u+24|0;k=u+20|0;m=u+16|0;n=u+12|0;o=u+8|0;p=u+4|0;q=u;b[i>>1]=d;a[r>>0]=e;c[s>>2]=f;c[j>>2]=g;c[t>>2]=h;d=(c[t>>2]|0)==4;do if((c[j>>2]|0)==8)if(d){c[q>>2]=30282;c[p>>2]=11;break}else{c[q>>2]=30248;c[p>>2]=3;break}else if(d){c[q>>2]=30326;c[p>>2]=34;break}else{c[q>>2]=30254;c[p>>2]=12;break}while(0);c[n>>2]=(c[j>>2]&65535)<<16>>16<<1;c[o>>2]=((c[j>>2]&65535)<<16>>16)*18;c[k>>2]=(c[n>>2]|0)+(b[i>>1]|0);c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[t>>2]|0))break;d=N(c[m>>2]|0,c[p>>2]|0)|0;c[(c[s>>2]|0)+(c[m>>2]<<2)>>2]=(c[k>>2]|0)+(a[(c[q>>2]|0)+(d+(a[r>>0]|0))>>0]|0);d=c[(c[s>>2]|0)+(c[m>>2]<<2)>>2]|0;do if((c[n>>2]|0)>(c[o>>2]|0)){if((d|0)>(c[n>>2]|0)){d=c[n>>2]|0;break}if((c[(c[s>>2]|0)+(c[m>>2]<<2)>>2]|0)<(c[o>>2]|0)){d=c[o>>2]|0;break}else{d=c[(c[s>>2]|0)+(c[m>>2]<<2)>>2]|0;break}}else{if((d|0)>(c[o>>2]|0)){d=c[o>>2]|0;break}if((c[(c[s>>2]|0)+(c[m>>2]<<2)>>2]|0)<(c[n>>2]|0)){d=c[n>>2]|0;break}else{d=c[(c[s>>2]|0)+(c[m>>2]<<2)>>2]|0;break}}while(0);c[(c[s>>2]|0)+(c[m>>2]<<2)>>2]=d;c[m>>2]=(c[m>>2]|0)+1}l=u;return}function Af(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[g>>2]=a;c[h>>2]=d;c[i>>2]=e;c[j>>2]=f;c[m>>2]=0;c[k>>2]=0;while(1){a=c[m>>2]|0;if((c[k>>2]|0)>=(c[j>>2]|0))break;f=N(b[(c[g>>2]|0)+(c[k>>2]<<1)>>1]|0,b[(c[h>>2]|0)+(c[k>>2]<<1)>>1]|0)|0;c[m>>2]=a+(f>>c[i>>2]);c[k>>2]=(c[k>>2]|0)+1}l=n;return a|0}function Bf(a){a=a|0;var b=0,d=0,e=0,f=0;b=l;l=l+16|0;f=b+8|0;e=b+4|0;d=b;c[f>>2]=a;Cf(c[f>>2]|0,e,d);a=((N(c[d>>2]|0,128-(c[d>>2]|0)|0)|0)>>16)*179|0;a=(31-(c[e>>2]|0)<<7)+((c[d>>2]|0)+(a+(((N(c[d>>2]|0,128-(c[d>>2]|0)|0)|0)&65535)*179>>16)))|0;l=b;return a|0}function Cf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+16|0;h=e+12|0;i=e+8|0;f=e+4|0;g=e;c[h>>2]=a;c[i>>2]=b;c[f>>2]=d;c[g>>2]=Df(c[h>>2]|0)|0;c[c[i>>2]>>2]=c[g>>2];d=(Ef(c[h>>2]|0,24-(c[g>>2]|0)|0)|0)&127;c[c[f>>2]>>2]=d;l=e;return}function Df(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){b=32;l=d;return b|0}b=32-(32-(Q(c[b>>2]|0)|0))|0;l=d;return b|0}function Ef(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+20|0;d=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[d>>2]=a;c[f>>2]=b;c[g>>2]=c[d>>2];c[h>>2]=c[f>>2];c[i>>2]=0-(c[f>>2]|0);if(!(c[f>>2]|0)){c[e>>2]=c[d>>2];i=c[e>>2]|0;l=j;return i|0}a=c[g>>2]|0;if((c[f>>2]|0)<0){c[e>>2]=a<<c[i>>2]|(c[g>>2]|0)>>>(32-(c[i>>2]|0)|0);i=c[e>>2]|0;l=j;return i|0}else{c[e>>2]=a<<32-(c[h>>2]|0)|(c[g>>2]|0)>>>(c[h>>2]|0);i=c[e>>2]|0;l=j;return i|0}return 0}function Ff(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;if((c[e>>2]|0)<0){c[d>>2]=0;g=c[d>>2]|0;l=h;return g|0}if((c[e>>2]|0)>=3967){c[d>>2]=2147483647;g=c[d>>2]|0;l=h;return g|0}c[f>>2]=1<<(c[e>>2]>>7);c[g>>2]=c[e>>2]&127;a=c[f>>2]|0;b=c[f>>2]|0;if((c[e>>2]|0)<2048){e=N((N((c[g>>2]&65535)<<16>>16,(128-(c[g>>2]|0)&65535)<<16>>16)|0)>>16,-174)|0;c[f>>2]=a+((N(b,(c[g>>2]|0)+(e+((N((N((c[g>>2]&65535)<<16>>16,(128-(c[g>>2]|0)&65535)<<16>>16)|0)&65535,-174)|0)>>16))|0)|0)>>7)}else{e=N((N((c[g>>2]&65535)<<16>>16,(128-(c[g>>2]|0)&65535)<<16>>16)|0)>>16,-174)|0;c[f>>2]=a+(N(b>>7,(c[g>>2]|0)+(e+((N((N((c[g>>2]&65535)<<16>>16,(128-(c[g>>2]|0)&65535)<<16>>16)|0)&65535,-174)|0)>>16))|0)|0)}c[d>>2]=c[f>>2];g=c[d>>2]|0;l=h;return g|0}function Gf(a,d,e,f,g,h){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;p=t+40|0;q=t+36|0;r=t+32|0;s=t+28|0;i=t+24|0;j=t+16|0;k=t+12|0;m=t+8|0;n=t+4|0;o=t;c[p>>2]=a;c[q>>2]=d;c[r>>2]=e;c[s>>2]=f;c[i>>2]=g;c[t+20>>2]=h;c[k>>2]=c[i>>2];while(1){if((c[k>>2]|0)>=(c[s>>2]|0))break;c[o>>2]=(c[q>>2]|0)+((c[k>>2]|0)-1<<1);c[m>>2]=N(b[c[o>>2]>>1]|0,b[c[r>>2]>>1]|0)|0;c[m>>2]=(c[m>>2]|0)+(N(b[(c[o>>2]|0)+-2>>1]|0,b[(c[r>>2]|0)+2>>1]|0)|0);c[m>>2]=(c[m>>2]|0)+(N(b[(c[o>>2]|0)+-4>>1]|0,b[(c[r>>2]|0)+4>>1]|0)|0);c[m>>2]=(c[m>>2]|0)+(N(b[(c[o>>2]|0)+-6>>1]|0,b[(c[r>>2]|0)+6>>1]|0)|0);c[m>>2]=(c[m>>2]|0)+(N(b[(c[o>>2]|0)+-8>>1]|0,b[(c[r>>2]|0)+8>>1]|0)|0);c[m>>2]=(c[m>>2]|0)+(N(b[(c[o>>2]|0)+-10>>1]|0,b[(c[r>>2]|0)+10>>1]|0)|0);c[j>>2]=6;while(1){if((c[j>>2]|0)>=(c[i>>2]|0))break;c[m>>2]=(c[m>>2]|0)+(N(b[(c[o>>2]|0)+(0-(c[j>>2]|0)<<1)>>1]|0,b[(c[r>>2]|0)+(c[j>>2]<<1)>>1]|0)|0);c[m>>2]=(c[m>>2]|0)+(N(b[(c[o>>2]|0)+(0-(c[j>>2]|0)-1<<1)>>1]|0,b[(c[r>>2]|0)+((c[j>>2]|0)+1<<1)>>1]|0)|0);c[j>>2]=(c[j>>2]|0)+2}c[m>>2]=(b[(c[o>>2]|0)+2>>1]<<12)-(c[m>>2]|0);c[n>>2]=(c[m>>2]>>11)+1>>1;if((c[n>>2]|0)>32767)a=32767;else a=(c[n>>2]|0)<-32768?-32768:c[n>>2]|0;b[(c[p>>2]|0)+(c[k>>2]<<1)>>1]=a;c[k>>2]=(c[k>>2]|0)+1}aj(c[p>>2]|0,0,c[i>>2]<<1|0)|0;l=t;return}function Hf(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+160|0;e=m+148|0;f=m+144|0;g=m+140|0;h=m+136|0;i=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[g>>2]=d;c[k>>2]=0;c[j>>2]=i+((c[g>>2]&1)<<6);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[g>>2]|0))break;c[k>>2]=(c[k>>2]|0)+(b[(c[f>>2]|0)+(c[h>>2]<<1)>>1]|0);c[(c[j>>2]|0)+(c[h>>2]<<2)>>2]=b[(c[f>>2]|0)+(c[h>>2]<<1)>>1]<<12;c[h>>2]=(c[h>>2]|0)+1}if((c[k>>2]|0)>=4096){c[e>>2]=0;k=c[e>>2]|0;l=m;return k|0}else{c[e>>2]=If(i,c[g>>2]|0)|0;k=c[e>>2]|0;l=m;return k|0}return 0}function If(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=l;l=l+64|0;i=r+48|0;j=r+44|0;s=r+40|0;k=r+36|0;m=r+32|0;n=r+28|0;o=r+24|0;p=r+20|0;d=r+16|0;e=r+12|0;f=r+8|0;g=r+4|0;h=r;c[j>>2]=a;c[s>>2]=b;c[h>>2]=(c[j>>2]|0)+((c[s>>2]&1)<<6);c[o>>2]=1073741824;c[k>>2]=(c[s>>2]|0)-1;while(1){a=c[h>>2]|0;if((c[k>>2]|0)<=0)break;if((c[a+(c[k>>2]<<2)>>2]|0)>16773022){q=5;break}if((c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)<-16773022){q=5;break}c[p>>2]=0-(c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]<<7);s=c[p>>2]|0;b=c[p>>2]|0;b=Xi(s|0,((s|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0;b=Yi(b|0,y|0,32)|0;c[d>>2]=1073741824-b;b=c[d>>2]|0;c[n>>2]=32-(Jf((c[d>>2]|0)>0?b:0-b|0)|0);c[e>>2]=Kf(c[d>>2]|0,(c[n>>2]|0)+30|0)|0;b=c[o>>2]|0;s=c[d>>2]|0;s=Xi(b|0,((b|0)<0)<<31>>31|0,s|0,((s|0)<0)<<31>>31|0)|0;s=Yi(s|0,y|0,32)|0;c[o>>2]=s<<2;c[g>>2]=c[h>>2];c[h>>2]=(c[j>>2]|0)+((c[k>>2]&1)<<6);c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[k>>2]|0))break;b=c[(c[g>>2]|0)+(c[m>>2]<<2)>>2]|0;a=c[(c[g>>2]|0)+((c[k>>2]|0)-(c[m>>2]|0)-1<<2)>>2]|0;s=c[p>>2]|0;s=Xi(a|0,((a|0)<0)<<31>>31|0,s|0,((s|0)<0)<<31>>31|0)|0;s=Yi(s|0,y|0,30)|0;s=Zi(s|0,y|0,1,0)|0;s=Yi(s|0,y|0,1)|0;c[f>>2]=b-s;s=(c[n>>2]|0)==1;b=c[f>>2]|0;a=c[e>>2]|0;a=Xi(b|0,((b|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;b=y;if(s){b=Yi(a|0,b|0,1)|0;s=y;t=c[f>>2]|0;a=c[e>>2]|0;a=Xi(t|0,((t|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Zi(b|0,s|0,a&1|0,0)|0}else{a=Yi(a|0,b|0,(c[n>>2]|0)-1|0)|0;a=Zi(a|0,y|0,1,0)|0;a=Yi(a|0,y|0,1)|0}c[(c[h>>2]|0)+(c[m>>2]<<2)>>2]=a;c[m>>2]=(c[m>>2]|0)+1}c[k>>2]=(c[k>>2]|0)+-1}if((q|0)==5){c[i>>2]=0;t=c[i>>2]|0;l=r;return t|0}if((c[a>>2]|0)<=16773022?(c[c[h>>2]>>2]|0)>=-16773022:0){c[p>>2]=0-(c[c[h>>2]>>2]<<7);t=c[p>>2]|0;s=c[p>>2]|0;s=Xi(t|0,((t|0)<0)<<31>>31|0,s|0,((s|0)<0)<<31>>31|0)|0;s=Yi(s|0,y|0,32)|0;c[d>>2]=1073741824-s;s=c[o>>2]|0;t=c[d>>2]|0;t=Xi(s|0,((s|0)<0)<<31>>31|0,t|0,((t|0)<0)<<31>>31|0)|0;t=Yi(t|0,y|0,32)|0;c[o>>2]=t<<2;c[i>>2]=c[o>>2];t=c[i>>2]|0;l=r;return t|0}c[i>>2]=0;t=c[i>>2]|0;l=r;return t|0}function Jf(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){b=32;l=d;return b|0}b=32-(32-(Q(c[b>>2]|0)|0))|0;l=d;return b|0}function Kf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;h=l;l=l+48|0;f=h+32|0;n=h+28|0;d=h+24|0;i=h+20|0;g=h+16|0;j=h+12|0;m=h+8|0;k=h+4|0;e=h;c[n>>2]=a;c[d>>2]=b;a=c[n>>2]|0;c[i>>2]=(Jf((c[n>>2]|0)>0?a:0-a|0)|0)-1;c[m>>2]=c[n>>2]<<c[i>>2];c[j>>2]=536870911/(c[m>>2]>>16|0)|0;c[e>>2]=c[j>>2]<<16;a=N(c[m>>2]>>16,(c[j>>2]&65535)<<16>>16)|0;c[k>>2]=536870912-(a+((N(c[m>>2]&65535,(c[j>>2]&65535)<<16>>16)|0)>>16))<<3;a=N(c[k>>2]>>16,(c[j>>2]&65535)<<16>>16)|0;a=(c[e>>2]|0)+(a+((N(c[k>>2]&65535,(c[j>>2]&65535)<<16>>16)|0)>>16))|0;c[e>>2]=a+(N(c[k>>2]|0,(c[j>>2]>>15)+1>>1)|0);c[g>>2]=61-(c[i>>2]|0)-(c[d>>2]|0);a=c[g>>2]|0;if((c[g>>2]|0)>0)if((a|0)<32){c[f>>2]=c[e>>2]>>c[g>>2];n=c[f>>2]|0;l=h;return n|0}else{c[f>>2]=0;n=c[f>>2]|0;l=h;return n|0}b=c[e>>2]|0;d=0-(c[g>>2]|0)|0;do if((-2147483648>>0-a|0)>(2147483647>>0-(c[g>>2]|0)|0)){if((b|0)>(-2147483648>>d|0)){a=-2147483648>>0-(c[g>>2]|0);break}if((c[e>>2]|0)<(2147483647>>0-(c[g>>2]|0)|0)){a=2147483647>>0-(c[g>>2]|0);break}else{a=c[e>>2]|0;break}}else{if((b|0)>(2147483647>>d|0)){a=2147483647>>0-(c[g>>2]|0);break}if((c[e>>2]|0)<(-2147483648>>0-(c[g>>2]|0)|0)){a=-2147483648>>0-(c[g>>2]|0);break}else{a=c[e>>2]|0;break}}while(0);c[f>>2]=a<<0-(c[g>>2]|0);n=c[f>>2]|0;l=h;return n|0}function Lf(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+272|0;y=C+264|0;u=C+260|0;z=C+256|0;v=C+252|0;A=C+248|0;B=C+244|0;w=C+240|0;g=C+176|0;h=C+140|0;i=C+104|0;j=C+100|0;k=C+96|0;m=C+92|0;n=C+88|0;o=C+84|0;p=C+80|0;x=C+16|0;q=C+12|0;r=C+8|0;s=C+4|0;t=C;c[y>>2]=a;c[u>>2]=e;c[z>>2]=f;c[s>>2]=0;c[v>>2]=(c[z>>2]|0)==16?30222:30238;c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[z>>2]|0))break;c[m>>2]=b[(c[u>>2]|0)+(c[A>>2]<<1)>>1]>>8;c[n>>2]=(b[(c[u>>2]|0)+(c[A>>2]<<1)>>1]|0)-(c[m>>2]<<8);c[o>>2]=b[24572+(c[m>>2]<<1)>>1];c[p>>2]=(b[24572+((c[m>>2]|0)+1<<1)>>1]|0)-(c[o>>2]|0);f=((c[o>>2]<<8)+(N(c[p>>2]|0,c[n>>2]|0)|0)>>3)+1>>1;c[g+(d[(c[v>>2]|0)+(c[A>>2]|0)>>0]<<2)>>2]=f;c[A>>2]=(c[A>>2]|0)+1}c[w>>2]=c[z>>2]>>1;Mf(h,g,c[w>>2]|0);Mf(i,g+4|0,c[w>>2]|0);c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[w>>2]|0))break;c[j>>2]=(c[h+((c[A>>2]|0)+1<<2)>>2]|0)+(c[h+(c[A>>2]<<2)>>2]|0);c[k>>2]=(c[i+((c[A>>2]|0)+1<<2)>>2]|0)-(c[i+(c[A>>2]<<2)>>2]|0);c[x+(c[A>>2]<<2)>>2]=0-(c[k>>2]|0)-(c[j>>2]|0);c[x+((c[z>>2]|0)-(c[A>>2]|0)-1<<2)>>2]=(c[k>>2]|0)-(c[j>>2]|0);c[A>>2]=(c[A>>2]|0)+1}c[B>>2]=0;while(1){if((c[B>>2]|0)>=10)break;c[q>>2]=0;c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[z>>2]|0))break;w=c[x+(c[A>>2]<<2)>>2]|0;c[r>>2]=(c[x+(c[A>>2]<<2)>>2]|0)>0?w:0-w|0;if((c[r>>2]|0)>(c[q>>2]|0)){c[q>>2]=c[r>>2];c[s>>2]=c[A>>2]}c[A>>2]=(c[A>>2]|0)+1}c[q>>2]=(c[q>>2]>>4)+1>>1;if((c[q>>2]|0)<=32767)break;c[q>>2]=(c[q>>2]|0)<163838?c[q>>2]|0:163838;c[t>>2]=65470-(((c[q>>2]|0)-32767<<14|0)/((N(c[q>>2]|0,(c[s>>2]|0)+1|0)|0)>>2|0)|0);xf(x,c[z>>2]|0,c[t>>2]|0);c[B>>2]=(c[B>>2]|0)+1}w=(c[B>>2]|0)==10;c[A>>2]=0;a:do if(w)while(1){if((c[A>>2]|0)>=(c[z>>2]|0))break a;if(((c[x+(c[A>>2]<<2)>>2]>>4)+1>>1|0)<=32767)if(((c[x+(c[A>>2]<<2)>>2]>>4)+1>>1|0)<-32768)a=-32768;else a=(c[x+(c[A>>2]<<2)>>2]>>4)+1>>1;else a=32767;b[(c[y>>2]|0)+(c[A>>2]<<1)>>1]=a;c[x+(c[A>>2]<<2)>>2]=b[(c[y>>2]|0)+(c[A>>2]<<1)>>1]<<5;c[A>>2]=(c[A>>2]|0)+1}else while(1){if((c[A>>2]|0)>=(c[z>>2]|0))break a;b[(c[y>>2]|0)+(c[A>>2]<<1)>>1]=(c[x+(c[A>>2]<<2)>>2]>>4)+1>>1;c[A>>2]=(c[A>>2]|0)+1}while(0);c[B>>2]=0;while(1){if((c[B>>2]|0)>=16){a=31;break}if((Hf(c[y>>2]|0,c[z>>2]|0)|0)>=107374){a=31;break}xf(x,c[z>>2]|0,65536-(2<<c[B>>2])|0);c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[z>>2]|0))break;b[(c[y>>2]|0)+(c[A>>2]<<1)>>1]=(c[x+(c[A>>2]<<2)>>2]>>4)+1>>1;c[A>>2]=(c[A>>2]|0)+1}c[B>>2]=(c[B>>2]|0)+1}if((a|0)==31){l=C;return}}function Mf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[c[e>>2]>>2]=65536;c[(c[e>>2]|0)+4>>2]=0-(c[c[f>>2]>>2]|0);c[h>>2]=1;while(1){if((c[h>>2]|0)>=(c[g>>2]|0))break;c[j>>2]=c[(c[f>>2]|0)+(c[h>>2]<<1<<2)>>2];b=c[(c[e>>2]|0)+((c[h>>2]|0)-1<<2)>>2]<<1;a=c[j>>2]|0;d=c[(c[e>>2]|0)+(c[h>>2]<<2)>>2]|0;d=Xi(a|0,((a|0)<0)<<31>>31|0,d|0,((d|0)<0)<<31>>31|0)|0;d=Yi(d|0,y|0,15)|0;d=Zi(d|0,y|0,1,0)|0;d=Yi(d|0,y|0,1)|0;c[(c[e>>2]|0)+((c[h>>2]|0)+1<<2)>>2]=b-d;c[i>>2]=c[h>>2];while(1){if((c[i>>2]|0)<=1)break;a=c[(c[e>>2]|0)+((c[i>>2]|0)-2<<2)>>2]|0;d=c[j>>2]|0;b=c[(c[e>>2]|0)+((c[i>>2]|0)-1<<2)>>2]|0;b=Xi(d|0,((d|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0;b=Yi(b|0,y|0,15)|0;b=Zi(b|0,y|0,1,0)|0;b=Yi(b|0,y|0,1)|0;d=(c[e>>2]|0)+(c[i>>2]<<2)|0;c[d>>2]=(c[d>>2]|0)+(a-b);c[i>>2]=(c[i>>2]|0)+-1}d=(c[e>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)-(c[j>>2]|0);c[h>>2]=(c[h>>2]|0)+1}l=k;return}
function ca(a){a=a|0;var b=0;b=l;l=l+a|0;l=l+15&-16;return b|0}function da(){return l|0}function ea(a){a=a|0;l=a}function fa(a,b){a=a|0;b=b|0;l=a;m=b}function ga(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function ha(a){a=a|0;y=a}function ia(){return y|0}function ja(a,b,d,e,f){a=+a;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;i=o+20|0;j=o+16|0;k=o+12|0;m=o+8|0;n=o+4|0;h=o;g[i>>2]=a;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e;c[n>>2]=f;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[m>>2]|0))break;if(+g[i>>2]<+g[(c[j>>2]|0)+(c[h>>2]<<2)>>2])break;c[h>>2]=(c[h>>2]|0)+1}if((c[h>>2]|0)>(c[n>>2]|0)?+g[i>>2]<+g[(c[j>>2]|0)+(c[n>>2]<<2)>>2]+ +g[(c[k>>2]|0)+(c[n>>2]<<2)>>2]:0)c[h>>2]=c[n>>2];if((c[h>>2]|0)>=(c[n>>2]|0)){n=c[h>>2]|0;l=o;return n|0}if(!(+g[i>>2]>+g[(c[j>>2]|0)+((c[n>>2]|0)-1<<2)>>2]-+g[(c[k>>2]|0)+((c[n>>2]|0)-1<<2)>>2])){n=c[h>>2]|0;l=o;return n|0}c[h>>2]=c[n>>2];n=c[h>>2]|0;l=o;return n|0}function ka(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=(N(1664525,c[d>>2]|0)|0)+1013904223|0;l=b;return a|0}function la(a,d,e,f,h,i){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0;v=l;l=l+48|0;r=v+40|0;s=v+36|0;t=v+32|0;u=v+28|0;j=v+24|0;k=v+20|0;m=v+16|0;n=v+12|0;o=v+8|0;p=v+4|0;q=v;c[r>>2]=a;c[s>>2]=d;c[t>>2]=e;c[u>>2]=f;c[j>>2]=h;c[k>>2]=i;c[p>>2]=c[(c[r>>2]|0)+32>>2];c[o>>2]=c[(c[r>>2]|0)+44>>2]<<c[k>>2];c[n>>2]=0;do{c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[u>>2]|0))break;h=N(c[n>>2]|0,c[o>>2]|0)|0;i=N(c[n>>2]|0,c[o>>2]|0)|0;g[q>>2]=+ma((c[s>>2]|0)+(h+(b[(c[p>>2]|0)+(c[m>>2]<<1)>>1]<<c[k>>2])<<2)|0,(c[s>>2]|0)+(i+(b[(c[p>>2]|0)+(c[m>>2]<<1)>>1]<<c[k>>2])<<2)|0,(b[(c[p>>2]|0)+((c[m>>2]|0)+1<<1)>>1]|0)-(b[(c[p>>2]|0)+(c[m>>2]<<1)>>1]|0)<<c[k>>2])+1.0000000272452012e-27;w=+B(+(+g[q>>2]));g[(c[t>>2]|0)+((c[m>>2]|0)+(N(c[n>>2]|0,c[(c[r>>2]|0)+8>>2]|0)|0)<<2)>>2]=w;c[m>>2]=(c[m>>2]|0)+1}i=(c[n>>2]|0)+1|0;c[n>>2]=i}while((i|0)<(c[j>>2]|0));l=v;return}function ma(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[h>>2]=b;c[i>>2]=d;g[k>>2]=0.0;c[j>>2]=0;while(1){e=+g[k>>2];if((c[j>>2]|0)>=(c[i>>2]|0))break;g[k>>2]=e+ +g[(c[f>>2]|0)+(c[j>>2]<<2)>>2]*+g[(c[h>>2]|0)+(c[j>>2]<<2)>>2];c[j>>2]=(c[j>>2]|0)+1}l=m;return +e}function na(a,d,e,f,h,i,j){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0;y=l;l=l+64|0;v=y+48|0;w=y+44|0;x=y+40|0;k=y+36|0;m=y+32|0;n=y+28|0;o=y+24|0;p=y+20|0;q=y+16|0;r=y+12|0;s=y+8|0;t=y+4|0;u=y;c[v>>2]=a;c[w>>2]=d;c[x>>2]=e;c[k>>2]=f;c[m>>2]=h;c[n>>2]=i;c[o>>2]=j;c[s>>2]=c[(c[v>>2]|0)+32>>2];c[r>>2]=N(c[o>>2]|0,c[(c[v>>2]|0)+44>>2]|0)|0;c[q>>2]=0;do{c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[m>>2]|0))break;g[u>>2]=1.0/(+g[(c[k>>2]|0)+((c[p>>2]|0)+(N(c[q>>2]|0,c[(c[v>>2]|0)+8>>2]|0)|0)<<2)>>2]+1.0000000272452012e-27);c[t>>2]=N(c[o>>2]|0,b[(c[s>>2]|0)+(c[p>>2]<<1)>>1]|0)|0;while(1){if((c[t>>2]|0)>=(N(c[o>>2]|0,b[(c[s>>2]|0)+((c[p>>2]|0)+1<<1)>>1]|0)|0))break;z=+g[(c[w>>2]|0)+((c[t>>2]|0)+(N(c[q>>2]|0,c[r>>2]|0)|0)<<2)>>2];g[(c[x>>2]|0)+((c[t>>2]|0)+(N(c[q>>2]|0,c[r>>2]|0)|0)<<2)>>2]=z*+g[u>>2];c[t>>2]=(c[t>>2]|0)+1}c[p>>2]=(c[p>>2]|0)+1}j=(c[q>>2]|0)+1|0;c[q>>2]=j}while((j|0)<(c[n>>2]|0));l=y;return}function oa(a,d,e,f,h,i,j,k,m){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0;F=l;l=l+80|0;G=F+72|0;o=F+68|0;p=F+64|0;q=F+60|0;r=F+56|0;s=F+52|0;t=F+48|0;n=F+44|0;u=F+40|0;v=F+36|0;w=F+32|0;x=F+28|0;y=F+24|0;z=F+20|0;A=F+16|0;B=F+12|0;C=F+8|0;D=F+4|0;E=F;c[G>>2]=a;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=h;c[s>>2]=i;c[t>>2]=j;c[n>>2]=k;c[u>>2]=m;c[A>>2]=c[(c[G>>2]|0)+32>>2];c[w>>2]=N(c[t>>2]|0,c[(c[G>>2]|0)+44>>2]|0)|0;c[x>>2]=N(c[t>>2]|0,b[(c[A>>2]|0)+(c[s>>2]<<1)>>1]|0)|0;if((c[n>>2]|0)!=1){if((c[x>>2]|0)<((c[w>>2]|0)/(c[n>>2]|0)|0|0))a=c[x>>2]|0;else a=(c[w>>2]|0)/(c[n>>2]|0)|0;c[x>>2]=a}if(c[u>>2]|0){c[x>>2]=0;c[s>>2]=0;c[r>>2]=0}c[y>>2]=c[p>>2];c[z>>2]=(c[o>>2]|0)+((N(c[t>>2]|0,b[(c[A>>2]|0)+(c[r>>2]<<1)>>1]|0)|0)<<2);c[v>>2]=0;while(1){if((c[v>>2]|0)>=(N(c[t>>2]|0,b[(c[A>>2]|0)+(c[r>>2]<<1)>>1]|0)|0))break;G=c[y>>2]|0;c[y>>2]=G+4;g[G>>2]=0.0;c[v>>2]=(c[v>>2]|0)+1}c[v>>2]=c[r>>2];while(1){if((c[v>>2]|0)>=(c[s>>2]|0))break;c[B>>2]=N(c[t>>2]|0,b[(c[A>>2]|0)+(c[v>>2]<<1)>>1]|0)|0;c[C>>2]=N(c[t>>2]|0,b[(c[A>>2]|0)+((c[v>>2]|0)+1<<1)>>1]|0)|0;g[E>>2]=+g[(c[q>>2]|0)+(c[v>>2]<<2)>>2]+ +g[17464+(c[v>>2]<<2)>>2];g[D>>2]=+K(+(+g[E>>2]*.6931471805599453));do{G=c[z>>2]|0;c[z>>2]=G+4;H=+g[G>>2]*+g[D>>2];G=c[y>>2]|0;c[y>>2]=G+4;g[G>>2]=H;G=(c[B>>2]|0)+1|0;c[B>>2]=G}while((G|0)<(c[C>>2]|0));c[v>>2]=(c[v>>2]|0)+1}aj((c[p>>2]|0)+(c[x>>2]<<2)|0,0,(c[w>>2]|0)-(c[x>>2]|0)<<2|0)|0;l=F;return}function pa(a,e,f,h,i,j,k,m,n,o,p,q,r,s){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;var t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;Y=l;l=l+112|0;u=Y+108|0;v=Y+104|0;w=Y+100|0;x=Y+96|0;y=Y+92|0;z=Y+88|0;Z=Y+84|0;A=Y+80|0;C=Y+76|0;D=Y+72|0;E=Y+68|0;F=Y+64|0;G=Y+60|0;H=Y+56|0;I=Y+52|0;J=Y+48|0;L=Y+44|0;M=Y+40|0;O=Y+36|0;P=Y+32|0;Q=Y+28|0;R=Y+24|0;S=Y+20|0;T=Y+16|0;U=Y+12|0;V=Y+8|0;W=Y+4|0;X=Y;c[u>>2]=a;c[v>>2]=e;c[w>>2]=f;c[x>>2]=h;c[y>>2]=i;c[z>>2]=j;c[Z>>2]=k;c[A>>2]=m;c[C>>2]=n;c[D>>2]=o;c[E>>2]=p;c[F>>2]=q;c[G>>2]=r;c[H>>2]=s;c[J>>2]=c[Z>>2];while(1){if((c[J>>2]|0)>=(c[A>>2]|0))break;c[O>>2]=(b[(c[(c[u>>2]|0)+32>>2]|0)+((c[J>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[u>>2]|0)+32>>2]|0)+(c[J>>2]<<1)>>1]|0);Z=qa(1+(c[(c[F>>2]|0)+(c[J>>2]<<2)>>2]|0)|0,(b[(c[(c[u>>2]|0)+32>>2]|0)+((c[J>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[u>>2]|0)+32>>2]|0)+(c[J>>2]<<1)>>1]|0)|0)|0;c[R>>2]=Z>>>(c[x>>2]|0);g[P>>2]=+K(+(+(c[R>>2]|0)*-.125*.6931471805599453))*.5;g[Q>>2]=1.0/+B(+(+(c[O>>2]<<c[x>>2]|0)));c[I>>2]=0;do{c[X>>2]=0;Z=N(c[I>>2]|0,c[(c[u>>2]|0)+8>>2]|0)|0;g[T>>2]=+g[(c[D>>2]|0)+(Z+(c[J>>2]|0)<<2)>>2];Z=N(c[I>>2]|0,c[(c[u>>2]|0)+8>>2]|0)|0;g[U>>2]=+g[(c[E>>2]|0)+(Z+(c[J>>2]|0)<<2)>>2];if((c[y>>2]|0)==1){if(+g[T>>2]>+g[(c[D>>2]|0)+((c[(c[u>>2]|0)+8>>2]|0)+(c[J>>2]|0)<<2)>>2])t=+g[T>>2];else t=+g[(c[D>>2]|0)+((c[(c[u>>2]|0)+8>>2]|0)+(c[J>>2]|0)<<2)>>2];g[T>>2]=t;if(+g[U>>2]>+g[(c[E>>2]|0)+((c[(c[u>>2]|0)+8>>2]|0)+(c[J>>2]|0)<<2)>>2])t=+g[U>>2];else t=+g[(c[E>>2]|0)+((c[(c[u>>2]|0)+8>>2]|0)+(c[J>>2]|0)<<2)>>2];g[U>>2]=t}Z=N(c[I>>2]|0,c[(c[u>>2]|0)+8>>2]|0)|0;g[V>>2]=+g[(c[C>>2]|0)+(Z+(c[J>>2]|0)<<2)>>2]-(+g[T>>2]<+g[U>>2]?+g[T>>2]:+g[U>>2]);g[V>>2]=0.0>+g[V>>2]?0.0:+g[V>>2];g[W>>2]=+K(+(-+g[V>>2]*.6931471805599453))*2.0;if((c[x>>2]|0)==3)g[W>>2]=+g[W>>2]*1.4142135381698608;g[W>>2]=+g[P>>2]<+g[W>>2]?+g[P>>2]:+g[W>>2];g[W>>2]=+g[W>>2]*+g[Q>>2];Z=(c[v>>2]|0)+((N(c[I>>2]|0,c[z>>2]|0)|0)<<2)|0;c[S>>2]=Z+(b[(c[(c[u>>2]|0)+32>>2]|0)+(c[J>>2]<<1)>>1]<<c[x>>2]<<2);c[M>>2]=0;while(1){if((c[M>>2]|0)>=(1<<c[x>>2]|0))break;Z=N(c[J>>2]|0,c[y>>2]|0)|0;if(!(d[(c[w>>2]|0)+(Z+(c[I>>2]|0))>>0]&1<<c[M>>2])){c[L>>2]=0;while(1){if((c[L>>2]|0)>=(c[O>>2]|0))break;c[G>>2]=ka(c[G>>2]|0)|0;t=+g[W>>2];g[(c[S>>2]|0)+((c[L>>2]<<c[x>>2])+(c[M>>2]|0)<<2)>>2]=c[G>>2]&32768|0?t:-t;c[L>>2]=(c[L>>2]|0)+1}c[X>>2]=1}c[M>>2]=(c[M>>2]|0)+1}if(c[X>>2]|0)cd(c[S>>2]|0,c[O>>2]<<c[x>>2],1.0,c[H>>2]|0);Z=(c[I>>2]|0)+1|0;c[I>>2]=Z}while((Z|0)<(c[y>>2]|0));c[J>>2]=(c[J>>2]|0)+1}l=Y;return}function qa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)>>>0)/((c[d>>2]|0)>>>0)|0|0}function ra(a,d,e,f,h,i,j,k,m,n){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0;O=l;l=l+112|0;o=O+104|0;p=O+100|0;q=O+96|0;r=O+92|0;s=O+88|0;t=O+84|0;u=O+80|0;v=O+76|0;w=O+72|0;x=O+68|0;y=O+64|0;z=O+60|0;A=O+56|0;B=O+52|0;C=O+48|0;D=O+44|0;E=O+40|0;F=O+36|0;G=O+32|0;H=O+28|0;I=O+24|0;J=O+20|0;K=O+8|0;L=O+4|0;M=O;c[p>>2]=a;c[q>>2]=d;c[r>>2]=e;c[s>>2]=f;c[t>>2]=h;c[u>>2]=i;c[v>>2]=j;c[w>>2]=k;c[x>>2]=m;c[y>>2]=n;c[C>>2]=0;c[D>>2]=0;c[E>>2]=c[(c[p>>2]|0)+32>>2];c[G>>2]=0;c[B>>2]=N(c[y>>2]|0,c[(c[p>>2]|0)+44>>2]|0)|0;if((N(c[y>>2]|0,(b[(c[E>>2]|0)+(c[w>>2]<<1)>>1]|0)-(b[(c[E>>2]|0)+((c[w>>2]|0)-1<<1)>>1]|0)|0)|0)<=8){c[o>>2]=0;n=c[o>>2]|0;l=O;return n|0}c[A>>2]=0;do{c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[w>>2]|0))break;c[J>>2]=0;c[K>>2]=0;c[K+4>>2]=0;c[K+8>>2]=0;n=(c[q>>2]|0)+((N(c[y>>2]|0,b[(c[E>>2]|0)+(c[z>>2]<<1)>>1]|0)|0)<<2)|0;c[L>>2]=n+((N(c[A>>2]|0,c[B>>2]|0)|0)<<2);c[I>>2]=N(c[y>>2]|0,(b[(c[E>>2]|0)+((c[z>>2]|0)+1<<1)>>1]|0)-(b[(c[E>>2]|0)+(c[z>>2]<<1)>>1]|0)|0)|0;if((c[I>>2]|0)>8){c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[I>>2]|0))break;g[M>>2]=+g[(c[L>>2]|0)+(c[H>>2]<<2)>>2]*+g[(c[L>>2]|0)+(c[H>>2]<<2)>>2]*+(c[I>>2]|0);if(+g[M>>2]<.25)c[K>>2]=(c[K>>2]|0)+1;if(+g[M>>2]<.0625){n=K+4|0;c[n>>2]=(c[n>>2]|0)+1}if(+g[M>>2]<.015625){n=K+8|0;c[n>>2]=(c[n>>2]|0)+1}c[H>>2]=(c[H>>2]|0)+1}if((c[z>>2]|0)>((c[(c[p>>2]|0)+8>>2]|0)-4|0)){n=qa((c[K+4>>2]|0)+(c[K>>2]|0)<<5,c[I>>2]|0)|0;c[G>>2]=(c[G>>2]|0)+n}c[J>>2]=((c[K+8>>2]<<1|0)>=(c[I>>2]|0)&1)+((c[K+4>>2]<<1|0)>=(c[I>>2]|0)&1)+((c[K>>2]<<1|0)>=(c[I>>2]|0)&1);c[C>>2]=(c[C>>2]|0)+(c[J>>2]<<8);c[D>>2]=(c[D>>2]|0)+1}c[z>>2]=(c[z>>2]|0)+1}n=(c[A>>2]|0)+1|0;c[A>>2]=n}while((n|0)<(c[x>>2]|0));do if(c[v>>2]|0){if(c[G>>2]|0)c[G>>2]=qa(c[G>>2]|0,N(c[x>>2]|0,4-(c[(c[p>>2]|0)+8>>2]|0)+(c[w>>2]|0)|0)|0)|0;c[c[t>>2]>>2]=(c[c[t>>2]>>2]|0)+(c[G>>2]|0)>>1;c[G>>2]=c[c[t>>2]>>2];if((c[c[u>>2]>>2]|0)!=2){if(!(c[c[u>>2]>>2]|0))c[G>>2]=(c[G>>2]|0)-4}else c[G>>2]=(c[G>>2]|0)+4;if((c[G>>2]|0)>22){c[c[u>>2]>>2]=2;break}else{c[c[u>>2]>>2]=(c[G>>2]|0)>18?1:0;break}}while(0);c[C>>2]=qa(c[C>>2]|0,c[D>>2]|0)|0;c[C>>2]=(c[C>>2]|0)+(c[c[r>>2]>>2]|0)>>1;c[c[r>>2]>>2]=c[C>>2];c[C>>2]=((c[C>>2]|0)*3|0)+((3-(c[s>>2]|0)<<7)+64)+2>>2;do if((c[C>>2]|0)>=80){if((c[C>>2]|0)<256){c[F>>2]=2;break}if((c[C>>2]|0)<384){c[F>>2]=1;break}else{c[F>>2]=0;break}}else c[F>>2]=3;while(0);c[o>>2]=c[F>>2];n=c[o>>2]|0;l=O;return n|0}function sa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;e=n+24|0;f=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[e>>2]=a;c[f>>2]=b;c[h>>2]=d;c[f>>2]=c[f>>2]>>1;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[h>>2]|0))break;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[f>>2]|0))break;d=N(c[h>>2]<<1,c[j>>2]|0)|0;g[k>>2]=+g[(c[e>>2]|0)+(d+(c[i>>2]|0)<<2)>>2]*.7071067690849304;d=N(c[h>>2]|0,(c[j>>2]<<1)+1|0)|0;g[m>>2]=+g[(c[e>>2]|0)+(d+(c[i>>2]|0)<<2)>>2]*.7071067690849304;d=N(c[h>>2]<<1,c[j>>2]|0)|0;g[(c[e>>2]|0)+(d+(c[i>>2]|0)<<2)>>2]=+g[k>>2]+ +g[m>>2];d=N(c[h>>2]|0,(c[j>>2]<<1)+1|0)|0;g[(c[e>>2]|0)+(d+(c[i>>2]|0)<<2)>>2]=+g[k>>2]-+g[m>>2];c[j>>2]=(c[j>>2]|0)+1}c[i>>2]=(c[i>>2]|0)+1}l=n;return}function ta(e,f,h,i,j,k,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;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,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0;Aa=l;l=l+256|0;Ca=Aa+240|0;B=Aa+236|0;C=Aa+232|0;D=Aa+228|0;E=Aa+224|0;F=Aa+220|0;G=Aa+216|0;Da=Aa+212|0;H=Aa+208|0;Ea=Aa+204|0;I=Aa+200|0;J=Aa+196|0;K=Aa+192|0;L=Aa+188|0;M=Aa+184|0;O=Aa+180|0;P=Aa+176|0;Q=Aa+172|0;R=Aa+168|0;S=Aa+164|0;Ba=Aa+160|0;T=Aa+156|0;U=Aa+152|0;V=Aa+148|0;W=Aa+144|0;X=Aa+140|0;Y=Aa+136|0;Z=Aa+132|0;aa=Aa+128|0;ba=Aa+124|0;ca=Aa+120|0;da=Aa+116|0;ea=Aa+112|0;fa=Aa+108|0;ga=Aa+64|0;ha=Aa+60|0;ia=Aa+56|0;ja=Aa+52|0;ka=Aa+48|0;la=Aa+44|0;ma=Aa+40|0;na=Aa+36|0;oa=Aa+32|0;pa=Aa+28|0;qa=Aa+24|0;ra=Aa+20|0;sa=Aa+16|0;ta=Aa+12|0;xa=Aa+8|0;ya=Aa+4|0;za=Aa;c[Ca>>2]=e;c[B>>2]=f;c[C>>2]=h;c[D>>2]=i;c[E>>2]=j;c[F>>2]=k;c[G>>2]=m;c[Da>>2]=n;c[H>>2]=o;c[Ea>>2]=p;c[I>>2]=q;c[J>>2]=r;c[K>>2]=s;c[L>>2]=t;c[M>>2]=u;c[O>>2]=v;c[P>>2]=w;c[Q>>2]=x;c[R>>2]=y;c[S>>2]=z;c[Ba>>2]=A;c[V>>2]=c[(c[B>>2]|0)+32>>2];c[ca>>2]=1;c[da>>2]=c[F>>2]|0?2:1;c[fa>>2]=((c[Ca>>2]|0)!=0^1)&1;c[aa>>2]=1<<c[Q>>2];c[Z>>2]=c[Ea>>2]|0?c[aa>>2]|0:1;c[ea>>2]=N(c[aa>>2]|0,b[(c[V>>2]|0)+(c[C>>2]<<1)>>1]|0)|0;o=N(c[aa>>2]|0,b[(c[V>>2]|0)+((c[(c[B>>2]|0)+8>>2]|0)-1<<1)>>1]|0)|0;o=N(c[da>>2]|0,o-(c[ea>>2]|0)|0)|0;c[ha>>2]=$()|0;p=l;l=l+((1*(o<<2)|0)+15&-16)|0;c[W>>2]=p;p=(c[W>>2]|0)+((N(c[aa>>2]|0,b[(c[V>>2]|0)+((c[(c[B>>2]|0)+8>>2]|0)-1<<1)>>1]|0)|0)<<2)|0;c[X>>2]=p+(0-(c[ea>>2]|0)<<2);c[Y>>2]=(c[E>>2]|0)+((N(c[aa>>2]|0,b[(c[V>>2]|0)+((c[(c[B>>2]|0)+8>>2]|0)-1<<1)>>1]|0)|0)<<2);c[ba>>2]=0;c[ga+32>>2]=c[Da>>2];c[ga+24>>2]=c[P>>2];c[ga>>2]=c[Ca>>2];c[ga+12>>2]=c[K>>2];c[ga+4>>2]=c[B>>2];c[ga+36>>2]=c[c[S>>2]>>2];c[ga+16>>2]=c[I>>2];c[ga+40>>2]=c[Ba>>2];c[T>>2]=c[C>>2];while(1){if((c[T>>2]|0)>=(c[D>>2]|0))break;c[ma>>2]=-1;c[pa>>2]=0;c[ga+8>>2]=c[T>>2];c[sa>>2]=(c[T>>2]|0)==((c[D>>2]|0)-1|0)&1;c[na>>2]=(c[E>>2]|0)+((N(c[aa>>2]|0,b[(c[V>>2]|0)+(c[T>>2]<<1)>>1]|0)|0)<<2);if(c[F>>2]|0)c[oa>>2]=(c[F>>2]|0)+((N(c[aa>>2]|0,b[(c[V>>2]|0)+(c[T>>2]<<1)>>1]|0)|0)<<2);else c[oa>>2]=0;Ea=N(c[aa>>2]|0,b[(c[V>>2]|0)+((c[T>>2]|0)+1<<1)>>1]|0)|0;c[ka>>2]=Ea-(N(c[aa>>2]|0,b[(c[V>>2]|0)+(c[T>>2]<<1)>>1]|0)|0);c[ia>>2]=Gb(c[P>>2]|0)|0;if((c[T>>2]|0)!=(c[C>>2]|0))c[O>>2]=(c[O>>2]|0)-(c[ia>>2]|0);c[U>>2]=(c[M>>2]|0)-(c[ia>>2]|0)-1;c[ga+28>>2]=c[U>>2];if((c[T>>2]|0)<=((c[R>>2]|0)-1|0)){if(3<((c[R>>2]|0)-(c[T>>2]|0)|0))e=3;else e=(c[R>>2]|0)-(c[T>>2]|0)|0;c[la>>2]=ua(c[O>>2]|0,e)|0;if(((c[U>>2]|0)+1|0)<((c[(c[H>>2]|0)+(c[T>>2]<<2)>>2]|0)+(c[la>>2]|0)|0))e=(c[U>>2]|0)+1|0;else e=(c[(c[H>>2]|0)+(c[T>>2]<<2)>>2]|0)+(c[la>>2]|0)|0;do if(16383>=(e|0))if(((c[U>>2]|0)+1|0)<((c[(c[H>>2]|0)+(c[T>>2]<<2)>>2]|0)+(c[la>>2]|0)|0)){e=(c[U>>2]|0)+1|0;break}else{e=(c[(c[H>>2]|0)+(c[T>>2]<<2)>>2]|0)+(c[la>>2]|0)|0;break}else e=16383;while(0);do if(0<=(e|0)){if(((c[U>>2]|0)+1|0)<((c[(c[H>>2]|0)+(c[T>>2]<<2)>>2]|0)+(c[la>>2]|0)|0))e=(c[U>>2]|0)+1|0;else e=(c[(c[H>>2]|0)+(c[T>>2]<<2)>>2]|0)+(c[la>>2]|0)|0;if(16383>=(e|0))if(((c[U>>2]|0)+1|0)<((c[(c[H>>2]|0)+(c[T>>2]<<2)>>2]|0)+(c[la>>2]|0)|0)){e=(c[U>>2]|0)+1|0;break}else{e=(c[(c[H>>2]|0)+(c[T>>2]<<2)>>2]|0)+(c[la>>2]|0)|0;break}else e=16383}else e=0;while(0);c[ja>>2]=e}else c[ja>>2]=0;if((c[fa>>2]|0?(Ea=N(c[aa>>2]|0,b[(c[V>>2]|0)+(c[T>>2]<<1)>>1]|0)|0,(Ea-(c[ka>>2]|0)|0)>=(N(c[aa>>2]|0,b[(c[V>>2]|0)+(c[C>>2]<<1)>>1]|0)|0)):0)?(c[ca>>2]|0)!=0|(c[ba>>2]|0)==0:0)c[ba>>2]=c[T>>2];c[pa>>2]=c[(c[L>>2]|0)+(c[T>>2]<<2)>>2];c[ga+20>>2]=c[pa>>2];if((c[T>>2]|0)>=(c[(c[B>>2]|0)+12>>2]|0)){c[na>>2]=c[W>>2];if(c[F>>2]|0)c[oa>>2]=c[W>>2];c[Y>>2]=0}if((c[T>>2]|0)==((c[D>>2]|0)-1|0))c[Y>>2]=0;if(c[ba>>2]|0?(c[I>>2]|0)!=3|(c[Z>>2]|0)>1|(c[pa>>2]|0)<0:0){Ea=N(c[aa>>2]|0,b[(c[V>>2]|0)+(c[ba>>2]<<1)>>1]|0)|0;if(0>(Ea-(c[ea>>2]|0)-(c[ka>>2]|0)|0))e=0;else{e=N(c[aa>>2]|0,b[(c[V>>2]|0)+(c[ba>>2]<<1)>>1]|0)|0;e=e-(c[ea>>2]|0)-(c[ka>>2]|0)|0}c[ma>>2]=e;c[ta>>2]=c[ba>>2];do{Ca=c[aa>>2]|0;Da=c[V>>2]|0;Ea=(c[ta>>2]|0)+-1|0;c[ta>>2]=Ea;Ea=N(Ca,b[Da+(Ea<<1)>>1]|0)|0}while((Ea|0)>((c[ma>>2]|0)+(c[ea>>2]|0)|0));c[xa>>2]=(c[ba>>2]|0)-1;do{Ca=c[aa>>2]|0;Da=c[V>>2]|0;Ea=(c[xa>>2]|0)+1|0;c[xa>>2]=Ea;Ea=N(Ca,b[Da+(Ea<<1)>>1]|0)|0}while((Ea|0)<((c[ma>>2]|0)+(c[ea>>2]|0)+(c[ka>>2]|0)|0));c[ra>>2]=0;c[qa>>2]=0;c[ya>>2]=c[ta>>2];do{Ea=d[(c[G>>2]|0)+((N(c[ya>>2]|0,c[da>>2]|0)|0)+0)>>0]|0;c[qa>>2]=c[qa>>2]|Ea;Ea=N(c[ya>>2]|0,c[da>>2]|0)|0;c[ra>>2]=c[ra>>2]|d[(c[G>>2]|0)+(Ea+(c[da>>2]|0)-1)>>0];Ea=(c[ya>>2]|0)+1|0;c[ya>>2]=Ea}while((Ea|0)<(c[xa>>2]|0))}else{Ea=(1<<c[Z>>2])-1|0;c[ra>>2]=Ea;c[qa>>2]=Ea}a:do if((c[J>>2]|0?(c[T>>2]|0)==(c[K>>2]|0):0)?(c[J>>2]=0,c[fa>>2]|0):0){c[za>>2]=0;while(1){Ea=N(c[aa>>2]|0,b[(c[V>>2]|0)+(c[T>>2]<<1)>>1]|0)|0;if((c[za>>2]|0)>=(Ea-(c[ea>>2]|0)|0))break a;g[(c[W>>2]|0)+(c[za>>2]<<2)>>2]=(+g[(c[W>>2]|0)+(c[za>>2]<<2)>>2]+ +g[(c[X>>2]|0)+(c[za>>2]<<2)>>2])*.5;c[za>>2]=(c[za>>2]|0)+1}}while(0);if(c[J>>2]|0){if((c[ma>>2]|0)!=-1)e=(c[W>>2]|0)+(c[ma>>2]<<2)|0;else e=0;if(c[sa>>2]|0)f=0;else{f=(c[W>>2]|0)+((N(c[aa>>2]|0,b[(c[V>>2]|0)+(c[T>>2]<<1)>>1]|0)|0)<<2)|0;f=f+(0-(c[ea>>2]|0)<<2)|0}c[qa>>2]=va(ga,c[na>>2]|0,c[ka>>2]|0,(c[ja>>2]|0)/2|0,c[Z>>2]|0,e,c[Q>>2]|0,f,1.0,c[Y>>2]|0,c[qa>>2]|0)|0;if((c[ma>>2]|0)!=-1)e=(c[X>>2]|0)+(c[ma>>2]<<2)|0;else e=0;if(c[sa>>2]|0)f=0;else{f=(c[X>>2]|0)+((N(c[aa>>2]|0,b[(c[V>>2]|0)+(c[T>>2]<<1)>>1]|0)|0)<<2)|0;f=f+(0-(c[ea>>2]|0)<<2)|0}c[ra>>2]=va(ga,c[oa>>2]|0,c[ka>>2]|0,(c[ja>>2]|0)/2|0,c[Z>>2]|0,e,c[Q>>2]|0,f,1.0,c[Y>>2]|0,c[ra>>2]|0)|0}else{q=c[na>>2]|0;if(c[oa>>2]|0){if((c[ma>>2]|0)!=-1)e=(c[W>>2]|0)+(c[ma>>2]<<2)|0;else e=0;if(c[sa>>2]|0)f=0;else{f=(c[W>>2]|0)+((N(c[aa>>2]|0,b[(c[V>>2]|0)+(c[T>>2]<<1)>>1]|0)|0)<<2)|0;f=f+(0-(c[ea>>2]|0)<<2)|0}c[qa>>2]=wa(ga,q,c[oa>>2]|0,c[ka>>2]|0,c[ja>>2]|0,c[Z>>2]|0,e,c[Q>>2]|0,f,c[Y>>2]|0,c[qa>>2]|c[ra>>2])|0}else{if((c[ma>>2]|0)!=-1)e=(c[W>>2]|0)+(c[ma>>2]<<2)|0;else e=0;if(c[sa>>2]|0)f=0;else{f=(c[W>>2]|0)+((N(c[aa>>2]|0,b[(c[V>>2]|0)+(c[T>>2]<<1)>>1]|0)|0)<<2)|0;f=f+(0-(c[ea>>2]|0)<<2)|0}c[qa>>2]=va(ga,q,c[ka>>2]|0,c[ja>>2]|0,c[Z>>2]|0,e,c[Q>>2]|0,f,1.0,c[Y>>2]|0,c[qa>>2]|c[ra>>2])|0}c[ra>>2]=c[qa>>2]}a[(c[G>>2]|0)+((N(c[T>>2]|0,c[da>>2]|0)|0)+0)>>0]=c[qa>>2];Ea=N(c[T>>2]|0,c[da>>2]|0)|0;a[(c[G>>2]|0)+(Ea+(c[da>>2]|0)-1)>>0]=c[ra>>2];c[O>>2]=(c[O>>2]|0)+((c[(c[H>>2]|0)+(c[T>>2]<<2)>>2]|0)+(c[ia>>2]|0));c[ca>>2]=(c[ja>>2]|0)>(c[ka>>2]<<3|0)&1;c[T>>2]=(c[T>>2]|0)+1}c[c[S>>2]>>2]=c[ga+36>>2];_(c[ha>>2]|0);l=Aa;return}function ua(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return (c[e>>2]|0)/(c[d>>2]|0)|0|0}function va(a,b,e,f,h,i,j,k,m,n,o){a=a|0;b=b|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=+m;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=l;l=l+112|0;p=Q+100|0;q=Q+96|0;r=Q+92|0;s=Q+88|0;t=Q+84|0;u=Q+80|0;v=Q+76|0;w=Q+72|0;x=Q+68|0;y=Q+64|0;z=Q+60|0;A=Q+56|0;C=Q+52|0;D=Q+48|0;E=Q+44|0;F=Q+40|0;G=Q+36|0;H=Q+32|0;I=Q+28|0;J=Q+24|0;K=Q+20|0;L=Q+16|0;M=Q+12|0;N=Q+8|0;O=Q+4|0;P=Q;c[q>>2]=a;c[r>>2]=b;c[s>>2]=e;c[t>>2]=f;c[u>>2]=h;c[v>>2]=i;c[w>>2]=j;c[x>>2]=k;g[y>>2]=m;c[z>>2]=n;c[A>>2]=o;c[C>>2]=c[s>>2];c[D>>2]=c[s>>2];c[F>>2]=c[u>>2];c[G>>2]=0;c[H>>2]=0;c[J>>2]=0;c[K>>2]=((c[c[q>>2]>>2]|0)!=0^1)&1;c[M>>2]=c[c[q>>2]>>2];c[N>>2]=c[(c[q>>2]|0)+20>>2];c[I>>2]=(c[F>>2]|0)==1&1;c[D>>2]=qa(c[D>>2]|0,c[u>>2]|0)|0;if((c[s>>2]|0)==1){c[p>>2]=xa(c[q>>2]|0,c[r>>2]|0,0,c[t>>2]|0,c[x>>2]|0)|0;n=c[p>>2]|0;l=Q;return n|0}if((c[N>>2]|0)>0)c[H>>2]=c[N>>2];do if((c[z>>2]|0)!=0&(c[v>>2]|0)!=0){if((c[H>>2]|0)==0?!((c[D>>2]&1|0)==0&(c[N>>2]|0)<0|(c[F>>2]|0)>1):0)break;_i(c[z>>2]|0,c[v>>2]|0,(c[s>>2]<<2)+0|0)|0;c[v>>2]=c[z>>2]}while(0);c[L>>2]=0;while(1){if((c[L>>2]|0)>=(c[H>>2]|0))break;if(c[M>>2]|0)sa(c[r>>2]|0,c[s>>2]>>c[L>>2],1<<c[L>>2]);if(c[v>>2]|0)sa(c[v>>2]|0,c[s>>2]>>c[L>>2],1<<c[L>>2]);c[A>>2]=d[25196+(c[A>>2]&15)>>0]|0|(d[25196+(c[A>>2]>>4)>>0]|0)<<2;c[L>>2]=(c[L>>2]|0)+1}c[u>>2]=c[u>>2]>>c[H>>2];c[D>>2]=c[D>>2]<<c[H>>2];while(1){if(!((c[D>>2]&1|0)==0?(c[N>>2]|0)<0:0))break;if(c[M>>2]|0)sa(c[r>>2]|0,c[D>>2]|0,c[u>>2]|0);if(c[v>>2]|0)sa(c[v>>2]|0,c[D>>2]|0,c[u>>2]|0);c[A>>2]=c[A>>2]|c[A>>2]<<c[u>>2];c[u>>2]=c[u>>2]<<1;c[D>>2]=c[D>>2]>>1;c[G>>2]=(c[G>>2]|0)+1;c[N>>2]=(c[N>>2]|0)+1}c[F>>2]=c[u>>2];c[E>>2]=c[D>>2];if((c[F>>2]|0)>1){if(c[M>>2]|0)ya(c[r>>2]|0,c[D>>2]>>c[H>>2],c[F>>2]<<c[H>>2],c[I>>2]|0);if(c[v>>2]|0)ya(c[v>>2]|0,c[D>>2]>>c[H>>2],c[F>>2]<<c[H>>2],c[I>>2]|0)}c[J>>2]=za(c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[w>>2]|0,+g[y>>2],c[A>>2]|0)|0;if(c[K>>2]|0){if((c[F>>2]|0)>1)Aa(c[r>>2]|0,c[D>>2]>>c[H>>2],c[F>>2]<<c[H>>2],c[I>>2]|0);c[D>>2]=c[E>>2];c[u>>2]=c[F>>2];c[L>>2]=0;while(1){if((c[L>>2]|0)>=(c[G>>2]|0))break;c[u>>2]=c[u>>2]>>1;c[D>>2]=c[D>>2]<<1;c[J>>2]=c[J>>2]|(c[J>>2]|0)>>>(c[u>>2]|0);sa(c[r>>2]|0,c[D>>2]|0,c[u>>2]|0);c[L>>2]=(c[L>>2]|0)+1}c[L>>2]=0;while(1){if((c[L>>2]|0)>=(c[H>>2]|0))break;c[J>>2]=d[25212+(c[J>>2]|0)>>0];sa(c[r>>2]|0,c[C>>2]>>c[L>>2],1<<c[L>>2]);c[L>>2]=(c[L>>2]|0)+1}c[u>>2]=c[u>>2]<<c[H>>2];a:do if(c[x>>2]|0){g[P>>2]=+B(+(+(c[C>>2]|0)));c[O>>2]=0;while(1){if((c[O>>2]|0)>=(c[C>>2]|0))break a;g[(c[x>>2]|0)+(c[O>>2]<<2)>>2]=+g[P>>2]*+g[(c[r>>2]|0)+(c[O>>2]<<2)>>2];c[O>>2]=(c[O>>2]|0)+1}}while(0);c[J>>2]=c[J>>2]&(1<<c[u>>2])-1}c[p>>2]=c[J>>2];n=c[p>>2]|0;l=Q;return n|0}function wa(a,b,d,e,f,h,i,j,k,m,n){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=l;l=l+160|0;C=X+156|0;D=X+152|0;E=X+148|0;F=X+144|0;G=X+140|0;A=X+136|0;H=X+132|0;I=X+128|0;J=X+124|0;K=X+120|0;L=X+116|0;M=X+112|0;o=X+108|0;p=X+104|0;N=X+100|0;O=X+96|0;P=X+92|0;Q=X+88|0;R=X+84|0;S=X+80|0;T=X+76|0;z=X+72|0;U=X+68|0;B=X+64|0;q=X+40|0;r=X+36|0;s=X+32|0;t=X+28|0;u=X+24|0;v=X+20|0;w=X+16|0;x=X+12|0;y=X+8|0;V=X+4|0;W=X;c[D>>2]=a;c[E>>2]=b;c[F>>2]=d;c[G>>2]=e;c[A>>2]=f;c[H>>2]=h;c[I>>2]=i;c[J>>2]=j;c[K>>2]=k;c[L>>2]=m;c[M>>2]=n;c[o>>2]=0;c[p>>2]=0;c[N>>2]=0;g[O>>2]=0.0;g[P>>2]=0.0;c[Q>>2]=0;c[R>>2]=((c[c[D>>2]>>2]|0)!=0^1)&1;c[s>>2]=c[c[D>>2]>>2];c[t>>2]=c[(c[D>>2]|0)+24>>2];if((c[G>>2]|0)==1){c[C>>2]=xa(c[D>>2]|0,c[E>>2]|0,c[F>>2]|0,c[A>>2]|0,c[K>>2]|0)|0;W=c[C>>2]|0;l=X;return W|0}c[r>>2]=c[M>>2];Ba(c[D>>2]|0,q,c[E>>2]|0,c[F>>2]|0,c[G>>2]|0,A,c[H>>2]|0,c[H>>2]|0,c[J>>2]|0,1,M);c[N>>2]=c[q>>2];c[o>>2]=c[q+4>>2];c[p>>2]=c[q+8>>2];c[z>>2]=c[q+12>>2];c[U>>2]=c[q+16>>2];c[B>>2]=c[q+20>>2];g[O>>2]=+(c[o>>2]|0)*.000030517578125;g[P>>2]=+(c[p>>2]|0)*.000030517578125;do if((c[G>>2]|0)==2){c[v>>2]=0;c[S>>2]=c[A>>2];c[T>>2]=0;c[T>>2]=(c[U>>2]|0)!=0&(c[U>>2]|0)!=16384?8:0;c[S>>2]=(c[S>>2]|0)-(c[T>>2]|0);c[u>>2]=(c[U>>2]|0)>8192&1;V=(c[D>>2]|0)+28|0;c[V>>2]=(c[V>>2]|0)-((c[B>>2]|0)+(c[T>>2]|0));c[w>>2]=c[u>>2]|0?c[F>>2]|0:c[E>>2]|0;c[x>>2]=c[u>>2]|0?c[E>>2]|0:c[F>>2]|0;do if(c[T>>2]|0)if(c[s>>2]|0){c[v>>2]=+g[c[w>>2]>>2]*+g[(c[x>>2]|0)+4>>2]-+g[(c[w>>2]|0)+4>>2]*+g[c[x>>2]>>2]<0.0&1;bc(c[t>>2]|0,c[v>>2]|0,1);break}else{c[v>>2]=Rb(c[t>>2]|0,1)|0;break}while(0);c[v>>2]=1-(c[v>>2]<<1);c[Q>>2]=va(c[D>>2]|0,c[w>>2]|0,c[G>>2]|0,c[S>>2]|0,c[H>>2]|0,c[I>>2]|0,c[J>>2]|0,c[K>>2]|0,1.0,c[L>>2]|0,c[r>>2]|0)|0;g[c[x>>2]>>2]=+(0-(c[v>>2]|0)|0)*+g[(c[w>>2]|0)+4>>2];g[(c[x>>2]|0)+4>>2]=+(c[v>>2]|0)*+g[c[w>>2]>>2];if(c[R>>2]|0){g[c[E>>2]>>2]=+g[O>>2]*+g[c[E>>2]>>2];g[(c[E>>2]|0)+4>>2]=+g[O>>2]*+g[(c[E>>2]|0)+4>>2];g[c[F>>2]>>2]=+g[P>>2]*+g[c[F>>2]>>2];g[(c[F>>2]|0)+4>>2]=+g[P>>2]*+g[(c[F>>2]|0)+4>>2];g[y>>2]=+g[c[E>>2]>>2];g[c[E>>2]>>2]=+g[y>>2]-+g[c[F>>2]>>2];g[c[F>>2]>>2]=+g[y>>2]+ +g[c[F>>2]>>2];g[y>>2]=+g[(c[E>>2]|0)+4>>2];g[(c[E>>2]|0)+4>>2]=+g[y>>2]-+g[(c[F>>2]|0)+4>>2];g[(c[F>>2]|0)+4>>2]=+g[y>>2]+ +g[(c[F>>2]|0)+4>>2]}}else{a=c[A>>2]|0;if((c[A>>2]|0)>=(((c[A>>2]|0)-(c[z>>2]|0)|0)/2|0|0))a=(a-(c[z>>2]|0)|0)/2|0;if(0<=(a|0)){a=c[A>>2]|0;if((c[A>>2]|0)>=(((c[A>>2]|0)-(c[z>>2]|0)|0)/2|0|0))a=(a-(c[z>>2]|0)|0)/2|0}else a=0;c[S>>2]=a;c[T>>2]=(c[A>>2]|0)-(c[S>>2]|0);a=(c[D>>2]|0)+28|0;c[a>>2]=(c[a>>2]|0)-(c[B>>2]|0);c[V>>2]=c[(c[D>>2]|0)+28>>2];a=c[D>>2]|0;if((c[S>>2]|0)>=(c[T>>2]|0)){c[Q>>2]=va(a,c[E>>2]|0,c[G>>2]|0,c[S>>2]|0,c[H>>2]|0,c[I>>2]|0,c[J>>2]|0,c[K>>2]|0,1.0,c[L>>2]|0,c[M>>2]|0)|0;c[V>>2]=(c[S>>2]|0)-((c[V>>2]|0)-(c[(c[D>>2]|0)+28>>2]|0));if((c[V>>2]|0)>24&(c[U>>2]|0)!=0)c[T>>2]=(c[T>>2]|0)+((c[V>>2]|0)-24);V=va(c[D>>2]|0,c[F>>2]|0,c[G>>2]|0,c[T>>2]|0,c[H>>2]|0,0,c[J>>2]|0,0,+g[P>>2],0,c[M>>2]>>c[H>>2])|0;c[Q>>2]=c[Q>>2]|V;break}else{c[Q>>2]=va(a,c[F>>2]|0,c[G>>2]|0,c[T>>2]|0,c[H>>2]|0,0,c[J>>2]|0,0,+g[P>>2],0,c[M>>2]>>c[H>>2])|0;c[V>>2]=(c[T>>2]|0)-((c[V>>2]|0)-(c[(c[D>>2]|0)+28>>2]|0));if((c[V>>2]|0)>24&(c[U>>2]|0)!=16384)c[S>>2]=(c[S>>2]|0)+((c[V>>2]|0)-24);V=va(c[D>>2]|0,c[E>>2]|0,c[G>>2]|0,c[S>>2]|0,c[H>>2]|0,c[I>>2]|0,c[J>>2]|0,c[K>>2]|0,1.0,c[L>>2]|0,c[M>>2]|0)|0;c[Q>>2]=c[Q>>2]|V;break}}while(0);a:do if(c[R>>2]|0){if((c[G>>2]|0)!=2)Ka(c[E>>2]|0,c[F>>2]|0,+g[O>>2],c[G>>2]|0,c[(c[D>>2]|0)+40>>2]|0);if(c[N>>2]|0){c[W>>2]=0;while(1){if((c[W>>2]|0)>=(c[G>>2]|0))break a;g[(c[F>>2]|0)+(c[W>>2]<<2)>>2]=-+g[(c[F>>2]|0)+(c[W>>2]<<2)>>2];c[W>>2]=(c[W>>2]|0)+1}}}while(0);c[C>>2]=c[Q>>2];W=c[C>>2]|0;l=X;return W|0}function xa(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+48|0;p=u+44|0;q=u+40|0;r=u+36|0;s=u+32|0;t=u+28|0;h=u+24|0;i=u+20|0;j=u+16|0;k=u+12|0;m=u+8|0;n=u+4|0;o=u;c[p>>2]=a;c[q>>2]=b;c[r>>2]=d;c[s>>2]=e;c[t>>2]=f;c[h>>2]=((c[c[p>>2]>>2]|0)!=0^1)&1;c[k>>2]=c[q>>2];c[m>>2]=c[c[p>>2]>>2];c[n>>2]=c[(c[p>>2]|0)+24>>2];c[j>>2]=(c[r>>2]|0)!=0&1;c[i>>2]=0;do{c[o>>2]=0;if((c[(c[p>>2]|0)+28>>2]|0)>=8){if(c[m>>2]|0){c[o>>2]=+g[c[k>>2]>>2]<0.0&1;bc(c[n>>2]|0,c[o>>2]|0,1)}else c[o>>2]=Rb(c[n>>2]|0,1)|0;f=(c[p>>2]|0)+28|0;c[f>>2]=(c[f>>2]|0)-8;c[s>>2]=(c[s>>2]|0)-8}if(c[h>>2]|0)g[c[k>>2]>>2]=c[o>>2]|0?-1.0:1.0;c[k>>2]=c[r>>2];f=(c[i>>2]|0)+1|0;c[i>>2]=f}while((f|0)<(1+(c[j>>2]|0)|0));if(!(c[t>>2]|0)){l=u;return 1}g[c[t>>2]>>2]=+g[c[q>>2]>>2];l=u;return 1}function ya(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+48|0;j=p+32|0;k=p+28|0;m=p+24|0;q=p+20|0;n=p+16|0;o=p+12|0;f=p+8|0;h=p+4|0;i=p;c[j>>2]=a;c[k>>2]=b;c[m>>2]=d;c[q>>2]=e;c[f>>2]=N(c[k>>2]|0,c[m>>2]|0)|0;e=c[f>>2]|0;c[h>>2]=$()|0;a=l;l=l+((1*(e<<2)|0)+15&-16)|0;if(c[q>>2]|0){c[i>>2]=8+(c[m>>2]<<2)+-8;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[m>>2]|0))break;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[k>>2]|0))break;e=N(c[o>>2]|0,c[m>>2]|0)|0;q=N(c[(c[i>>2]|0)+(c[n>>2]<<2)>>2]|0,c[k>>2]|0)|0;g[a+(q+(c[o>>2]|0)<<2)>>2]=+g[(c[j>>2]|0)+(e+(c[n>>2]|0)<<2)>>2];c[o>>2]=(c[o>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1}o=c[j>>2]|0;n=c[f>>2]|0;n=n<<2;q=0;q=n+q|0;_i(o|0,a|0,q|0)|0;q=c[h>>2]|0;_(q|0);l=p;return}else{c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[m>>2]|0))break;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[k>>2]|0))break;i=N(c[o>>2]|0,c[m>>2]|0)|0;q=N(c[n>>2]|0,c[k>>2]|0)|0;g[a+(q+(c[o>>2]|0)<<2)>>2]=+g[(c[j>>2]|0)+(i+(c[n>>2]|0)<<2)>>2];c[o>>2]=(c[o>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1}o=c[j>>2]|0;n=c[f>>2]|0;n=n<<2;q=0;q=n+q|0;_i(o|0,a|0,q|0)|0;q=c[h>>2]|0;_(q|0);l=p;return}}function za(a,e,f,h,i,j,k,m,n){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=+m;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;Z=l;l=l+176|0;U=Z+164|0;Q=Z+160|0;V=Z+156|0;C=Z+152|0;W=Z+148|0;R=Z+144|0;S=Z+140|0;X=Z+136|0;T=Z+132|0;_=Z+128|0;r=Z+124|0;s=Z+120|0;o=Z+116|0;p=Z+112|0;E=Z+108|0;F=Z+104|0;G=Z+100|0;Y=Z+96|0;t=Z+92|0;H=Z+88|0;P=Z+84|0;u=Z+80|0;v=Z+76|0;A=Z+72|0;I=Z+68|0;J=Z+64|0;K=Z+60|0;B=Z+56|0;L=Z+52|0;D=Z+48|0;q=Z+24|0;M=Z+20|0;O=Z+16|0;z=Z+12|0;w=Z+8|0;x=Z+4|0;y=Z;c[U>>2]=a;c[Q>>2]=e;c[V>>2]=f;c[C>>2]=h;c[W>>2]=i;c[R>>2]=j;c[S>>2]=k;g[X>>2]=m;c[T>>2]=n;c[o>>2]=0;c[p>>2]=0;c[E>>2]=c[W>>2];g[F>>2]=0.0;g[G>>2]=0.0;c[Y>>2]=0;c[t>>2]=((c[c[U>>2]>>2]|0)!=0^1)&1;c[H>>2]=0;c[P>>2]=c[c[U>>2]>>2];c[u>>2]=c[(c[U>>2]|0)+4>>2];c[v>>2]=c[(c[U>>2]|0)+8>>2];c[A>>2]=c[(c[U>>2]|0)+16>>2];c[I>>2]=c[(c[U>>2]|0)+24>>2];n=N((c[S>>2]|0)+1|0,c[(c[u>>2]|0)+8>>2]|0)|0;c[_>>2]=(c[(c[u>>2]|0)+92+8>>2]|0)+(b[(c[(c[u>>2]|0)+92+4>>2]|0)+(n+(c[v>>2]|0)<<1)>>1]|0);if((c[S>>2]|0)!=-1?((c[V>>2]|0)>2?(c[C>>2]|0)>((d[(c[_>>2]|0)+(d[c[_>>2]>>0]|0)>>0]|0)+12|0):0):0){c[M>>2]=0;c[V>>2]=c[V>>2]>>1;c[H>>2]=(c[Q>>2]|0)+(c[V>>2]<<2);c[S>>2]=(c[S>>2]|0)-1;if((c[W>>2]|0)==1)c[T>>2]=c[T>>2]&1|c[T>>2]<<1;c[W>>2]=(c[W>>2]|0)+1>>1;Ba(c[U>>2]|0,q,c[Q>>2]|0,c[H>>2]|0,c[V>>2]|0,C,c[W>>2]|0,c[E>>2]|0,c[S>>2]|0,0,T);c[o>>2]=c[q+4>>2];c[p>>2]=c[q+8>>2];c[B>>2]=c[q+12>>2];c[L>>2]=c[q+16>>2];c[D>>2]=c[q+20>>2];g[F>>2]=+(c[o>>2]|0)*.000030517578125;g[G>>2]=+(c[p>>2]|0)*.000030517578125;do if((c[E>>2]|0)>1?c[L>>2]&16383|0:0){a=c[B>>2]|0;if((c[L>>2]|0)>8192){c[B>>2]=(c[B>>2]|0)-(a>>4-(c[S>>2]|0));break}if(0<(a+(c[V>>2]<<3>>5-(c[S>>2]|0))|0))a=0;else a=(c[B>>2]|0)+(c[V>>2]<<3>>5-(c[S>>2]|0))|0;c[B>>2]=a}while(0);a=c[C>>2]|0;if((c[C>>2]|0)>=(((c[C>>2]|0)-(c[B>>2]|0)|0)/2|0|0))a=(a-(c[B>>2]|0)|0)/2|0;if(0<=(a|0)){a=c[C>>2]|0;if((c[C>>2]|0)>=(((c[C>>2]|0)-(c[B>>2]|0)|0)/2|0|0))a=(a-(c[B>>2]|0)|0)/2|0}else a=0;c[J>>2]=a;c[K>>2]=(c[C>>2]|0)-(c[J>>2]|0);_=(c[U>>2]|0)+28|0;c[_>>2]=(c[_>>2]|0)-(c[D>>2]|0);if(c[R>>2]|0)c[M>>2]=(c[R>>2]|0)+(c[V>>2]<<2);c[O>>2]=c[(c[U>>2]|0)+28>>2];a=c[U>>2]|0;if((c[J>>2]|0)>=(c[K>>2]|0)){c[Y>>2]=za(a,c[Q>>2]|0,c[V>>2]|0,c[J>>2]|0,c[W>>2]|0,c[R>>2]|0,c[S>>2]|0,+g[X>>2]*+g[F>>2],c[T>>2]|0)|0;c[O>>2]=(c[J>>2]|0)-((c[O>>2]|0)-(c[(c[U>>2]|0)+28>>2]|0));if((c[O>>2]|0)>24&(c[L>>2]|0)!=0)c[K>>2]=(c[K>>2]|0)+((c[O>>2]|0)-24);_=za(c[U>>2]|0,c[H>>2]|0,c[V>>2]|0,c[K>>2]|0,c[W>>2]|0,c[M>>2]|0,c[S>>2]|0,+g[X>>2]*+g[G>>2],c[T>>2]>>c[W>>2])|0;c[Y>>2]=c[Y>>2]|_<<(c[E>>2]>>1);_=c[Y>>2]|0;l=Z;return _|0}else{_=za(a,c[H>>2]|0,c[V>>2]|0,c[K>>2]|0,c[W>>2]|0,c[M>>2]|0,c[S>>2]|0,+g[X>>2]*+g[G>>2],c[T>>2]>>c[W>>2])|0;c[Y>>2]=_<<(c[E>>2]>>1);c[O>>2]=(c[K>>2]|0)-((c[O>>2]|0)-(c[(c[U>>2]|0)+28>>2]|0));if((c[O>>2]|0)>24&(c[L>>2]|0)!=16384)c[J>>2]=(c[J>>2]|0)+((c[O>>2]|0)-24);_=za(c[U>>2]|0,c[Q>>2]|0,c[V>>2]|0,c[J>>2]|0,c[W>>2]|0,c[R>>2]|0,c[S>>2]|0,+g[X>>2]*+g[F>>2],c[T>>2]|0)|0;c[Y>>2]=c[Y>>2]|_;_=c[Y>>2]|0;l=Z;return _|0}}c[r>>2]=Ca(c[u>>2]|0,c[v>>2]|0,c[S>>2]|0,c[C>>2]|0)|0;c[s>>2]=Da(c[u>>2]|0,c[v>>2]|0,c[S>>2]|0,c[r>>2]|0)|0;a=c[s>>2]|0;e=c[U>>2]|0;while(1){_=e+28|0;c[_>>2]=(c[_>>2]|0)-a;if(!((c[(c[U>>2]|0)+28>>2]|0)<0?(c[r>>2]|0)>0:0))break;a=(c[U>>2]|0)+28|0;c[a>>2]=(c[a>>2]|0)+(c[s>>2]|0);c[r>>2]=(c[r>>2]|0)+-1;c[s>>2]=Da(c[u>>2]|0,c[v>>2]|0,c[S>>2]|0,c[r>>2]|0)|0;a=c[s>>2]|0;e=c[U>>2]|0}if(c[r>>2]|0){c[z>>2]=Ea(c[r>>2]|0)|0;h=c[Q>>2]|0;p=c[V>>2]|0;o=c[z>>2]|0;f=c[A>>2]|0;e=c[W>>2]|0;a=c[I>>2]|0;if(c[P>>2]|0){c[Y>>2]=Xc(h,p,o,f,e,a)|0;_=c[Y>>2]|0;l=Z;return _|0}else{c[Y>>2]=ad(h,p,o,f,e,a,+g[X>>2])|0;_=c[Y>>2]|0;l=Z;return _|0}}if(!(c[t>>2]|0)){_=c[Y>>2]|0;l=Z;return _|0}c[x>>2]=(1<<c[W>>2])-1;c[T>>2]=c[T>>2]&c[x>>2];if(!(c[T>>2]|0)){aj(c[Q>>2]|0,0,c[V>>2]<<2|0)|0;_=c[Y>>2]|0;l=Z;return _|0}_=(c[R>>2]|0)==0;c[w>>2]=0;if(_){while(1){if((c[w>>2]|0)>=(c[V>>2]|0))break;_=ka(c[(c[U>>2]|0)+36>>2]|0)|0;c[(c[U>>2]|0)+36>>2]=_;g[(c[Q>>2]|0)+(c[w>>2]<<2)>>2]=+(c[(c[U>>2]|0)+36>>2]>>20|0);c[w>>2]=(c[w>>2]|0)+1}c[Y>>2]=c[x>>2]}else{while(1){if((c[w>>2]|0)>=(c[V>>2]|0))break;_=ka(c[(c[U>>2]|0)+36>>2]|0)|0;c[(c[U>>2]|0)+36>>2]=_;g[y>>2]=.00390625;m=+g[y>>2];g[y>>2]=c[(c[U>>2]|0)+36>>2]&32768|0?m:-m;g[(c[Q>>2]|0)+(c[w>>2]<<2)>>2]=+g[(c[R>>2]|0)+(c[w>>2]<<2)>>2]+ +g[y>>2];c[w>>2]=(c[w>>2]|0)+1}c[Y>>2]=c[T>>2]}cd(c[Q>>2]|0,c[V>>2]|0,+g[X>>2],c[(c[U>>2]|0)+40>>2]|0);_=c[Y>>2]|0;l=Z;return _|0}function Aa(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+48|0;j=p+32|0;k=p+28|0;m=p+24|0;q=p+20|0;n=p+16|0;o=p+12|0;f=p+8|0;h=p+4|0;i=p;c[j>>2]=a;c[k>>2]=b;c[m>>2]=d;c[q>>2]=e;c[f>>2]=N(c[k>>2]|0,c[m>>2]|0)|0;e=c[f>>2]|0;c[h>>2]=$()|0;a=l;l=l+((1*(e<<2)|0)+15&-16)|0;if(c[q>>2]|0){c[i>>2]=8+(c[m>>2]<<2)+-8;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[m>>2]|0))break;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[k>>2]|0))break;e=N(c[(c[i>>2]|0)+(c[n>>2]<<2)>>2]|0,c[k>>2]|0)|0;q=N(c[o>>2]|0,c[m>>2]|0)|0;g[a+(q+(c[n>>2]|0)<<2)>>2]=+g[(c[j>>2]|0)+(e+(c[o>>2]|0)<<2)>>2];c[o>>2]=(c[o>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1}o=c[j>>2]|0;n=c[f>>2]|0;n=n<<2;q=0;q=n+q|0;_i(o|0,a|0,q|0)|0;q=c[h>>2]|0;_(q|0);l=p;return}else{c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[m>>2]|0))break;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[k>>2]|0))break;i=N(c[n>>2]|0,c[k>>2]|0)|0;q=N(c[o>>2]|0,c[m>>2]|0)|0;g[a+(q+(c[n>>2]|0)<<2)>>2]=+g[(c[j>>2]|0)+(i+(c[o>>2]|0)<<2)>>2];c[o>>2]=(c[o>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1}o=c[j>>2]|0;n=c[f>>2]|0;n=n<<2;q=0;q=n+q|0;_i(o|0,a|0,q|0)|0;q=c[h>>2]|0;_(q|0);l=p;return}}function Ba(a,d,e,f,h,i,j,k,m,n,o){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;Z=l;l=l+160|0;p=Z+148|0;K=Z+144|0;D=Z+140|0;E=Z+136|0;L=Z+132|0;M=Z+128|0;O=Z+124|0;q=Z+120|0;ba=Z+116|0;F=Z+112|0;P=Z+108|0;G=Z+104|0;Q=Z+100|0;R=Z+96|0;S=Z+92|0;T=Z+88|0;U=Z+84|0;$=Z+80|0;aa=Z+76|0;V=Z+72|0;W=Z+68|0;X=Z+64|0;H=Z+60|0;I=Z+56|0;_=Z+52|0;Y=Z+48|0;J=Z+44|0;z=Z+40|0;B=Z+36|0;A=Z+32|0;C=Z+28|0;u=Z+24|0;w=Z+20|0;x=Z+16|0;y=Z+12|0;r=Z+8|0;s=Z+4|0;t=Z;c[p>>2]=a;c[K>>2]=d;c[D>>2]=e;c[E>>2]=f;c[L>>2]=h;c[M>>2]=i;c[O>>2]=j;c[q>>2]=k;c[ba>>2]=m;c[F>>2]=n;c[P>>2]=o;c[Q>>2]=0;c[W>>2]=0;c[X>>2]=c[c[p>>2]>>2];c[H>>2]=c[(c[p>>2]|0)+4>>2];c[I>>2]=c[(c[p>>2]|0)+8>>2];c[_>>2]=c[(c[p>>2]|0)+12>>2];c[Y>>2]=c[(c[p>>2]|0)+24>>2];c[J>>2]=c[(c[p>>2]|0)+32>>2];c[$>>2]=(b[(c[(c[H>>2]|0)+56>>2]|0)+(c[I>>2]<<1)>>1]|0)+(c[ba>>2]<<3);c[aa>>2]=(c[$>>2]>>1)-((c[F>>2]|0?(c[L>>2]|0)==2:0)?16:4);c[G>>2]=Fa(c[L>>2]|0,c[c[M>>2]>>2]|0,c[aa>>2]|0,c[$>>2]|0,c[F>>2]|0)|0;if(c[F>>2]|0?(c[I>>2]|0)>=(c[_>>2]|0):0)c[G>>2]=1;if(c[X>>2]|0)c[Q>>2]=ed(c[D>>2]|0,c[E>>2]|0,c[F>>2]|0,c[L>>2]|0,c[(c[p>>2]|0)+40>>2]|0)|0;c[V>>2]=Gb(c[Y>>2]|0)|0;do if((c[G>>2]|0)!=1){if(c[X>>2]|0)c[Q>>2]=(N(c[Q>>2]|0,c[G>>2]|0)|0)+8192>>14;do if((c[F>>2]|0)!=0&(c[L>>2]|0)>2){c[z>>2]=3;c[B>>2]=c[Q>>2];c[A>>2]=(c[G>>2]|0)/2|0;o=N(c[z>>2]|0,(c[A>>2]|0)+1|0)|0;c[C>>2]=o+(c[A>>2]|0);o=c[Y>>2]|0;if(c[X>>2]|0){if((c[B>>2]|0)<=(c[A>>2]|0))d=N(c[z>>2]|0,c[B>>2]|0)|0;else d=(c[B>>2]|0)-1-(c[A>>2]|0)+(N((c[A>>2]|0)+1|0,c[z>>2]|0)|0)|0;if((c[B>>2]|0)<=(c[A>>2]|0))a=N(c[z>>2]|0,(c[B>>2]|0)+1|0)|0;else a=(c[B>>2]|0)-(c[A>>2]|0)+(N((c[A>>2]|0)+1|0,c[z>>2]|0)|0)|0;Ub(o,d,a,c[C>>2]|0);break}c[u>>2]=Kb(o,c[C>>2]|0)|0;if((c[u>>2]|0)<(N((c[A>>2]|0)+1|0,c[z>>2]|0)|0))c[B>>2]=(c[u>>2]|0)/(c[z>>2]|0)|0;else c[B>>2]=(c[A>>2]|0)+1+((c[u>>2]|0)-(N((c[A>>2]|0)+1|0,c[z>>2]|0)|0));if((c[B>>2]|0)<=(c[A>>2]|0))d=N(c[z>>2]|0,c[B>>2]|0)|0;else d=(c[B>>2]|0)-1-(c[A>>2]|0)+(N((c[A>>2]|0)+1|0,c[z>>2]|0)|0)|0;if((c[B>>2]|0)<=(c[A>>2]|0))a=N(c[z>>2]|0,(c[B>>2]|0)+1|0)|0;else a=(c[B>>2]|0)-(c[A>>2]|0)+(N((c[A>>2]|0)+1|0,c[z>>2]|0)|0)|0;Nb(c[Y>>2]|0,d,a,c[C>>2]|0);c[Q>>2]=c[B>>2]}else{if((c[q>>2]|0)>1|(c[F>>2]|0)!=0){a=c[Y>>2]|0;if(c[X>>2]|0){ac(a,c[Q>>2]|0,(c[G>>2]|0)+1|0);break}else{c[Q>>2]=Qb(a,(c[G>>2]|0)+1|0)|0;break}}c[w>>2]=1;c[x>>2]=N((c[G>>2]>>1)+1|0,(c[G>>2]>>1)+1|0)|0;if(!(c[X>>2]|0)){c[r>>2]=0;c[s>>2]=Kb(c[Y>>2]|0,c[x>>2]|0)|0;if((c[s>>2]|0)<((N(c[G>>2]>>1,(c[G>>2]>>1)+1|0)|0)>>1|0)){c[Q>>2]=((pc((c[s>>2]<<3)+1|0)|0)-1|0)>>>1;c[w>>2]=(c[Q>>2]|0)+1;c[r>>2]=(N(c[Q>>2]|0,(c[Q>>2]|0)+1|0)|0)>>1}else{ba=(c[G>>2]|0)+1<<1;c[Q>>2]=(ba-(pc(((c[x>>2]|0)-(c[s>>2]|0)-1<<3)+1|0)|0)|0)>>>1;c[w>>2]=(c[G>>2]|0)+1-(c[Q>>2]|0);c[r>>2]=(c[x>>2]|0)-((N((c[G>>2]|0)+1-(c[Q>>2]|0)|0,(c[G>>2]|0)+2-(c[Q>>2]|0)|0)|0)>>1)}Nb(c[Y>>2]|0,c[r>>2]|0,(c[r>>2]|0)+(c[w>>2]|0)|0,c[x>>2]|0);break}if((c[Q>>2]|0)<=(c[G>>2]>>1|0))a=(c[Q>>2]|0)+1|0;else a=(c[G>>2]|0)+1-(c[Q>>2]|0)|0;c[w>>2]=a;if((c[Q>>2]|0)<=(c[G>>2]>>1|0))a=(N(c[Q>>2]|0,(c[Q>>2]|0)+1|0)|0)>>1;else a=(c[x>>2]|0)-((N((c[G>>2]|0)+1-(c[Q>>2]|0)|0,(c[G>>2]|0)+2-(c[Q>>2]|0)|0)|0)>>1)|0;c[y>>2]=a;Ub(c[Y>>2]|0,c[y>>2]|0,(c[y>>2]|0)+(c[w>>2]|0)|0,c[x>>2]|0)}while(0);c[Q>>2]=qa(c[Q>>2]<<14,c[G>>2]|0)|0;if((c[X>>2]|0)!=0&(c[F>>2]|0)!=0)if(!(c[Q>>2]|0)){Ga(c[H>>2]|0,c[D>>2]|0,c[E>>2]|0,c[J>>2]|0,c[I>>2]|0,c[L>>2]|0);break}else{Ha(c[D>>2]|0,c[E>>2]|0,c[L>>2]|0);break}}else if(c[F>>2]|0){if(c[X>>2]|0){c[W>>2]=(c[Q>>2]|0)>8192&1;a:do if(c[W>>2]|0){c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[L>>2]|0))break a;g[(c[E>>2]|0)+(c[t>>2]<<2)>>2]=-+g[(c[E>>2]|0)+(c[t>>2]<<2)>>2];c[t>>2]=(c[t>>2]|0)+1}}while(0);Ga(c[H>>2]|0,c[D>>2]|0,c[E>>2]|0,c[J>>2]|0,c[I>>2]|0,c[L>>2]|0)}do if((c[c[M>>2]>>2]|0)>16?(c[(c[p>>2]|0)+28>>2]|0)>16:0){a=c[Y>>2]|0;if(c[X>>2]|0){_b(a,c[W>>2]|0,2);break}else{c[W>>2]=Ob(a,2)|0;break}}else v=60;while(0);if((v|0)==60)c[W>>2]=0;c[Q>>2]=0}while(0);ba=Gb(c[Y>>2]|0)|0;c[U>>2]=ba-(c[V>>2]|0);ba=c[M>>2]|0;c[ba>>2]=(c[ba>>2]|0)-(c[U>>2]|0);if(!(c[Q>>2]|0)){c[S>>2]=32767;c[T>>2]=0;ba=c[P>>2]|0;c[ba>>2]=c[ba>>2]&(1<<c[O>>2])-1;c[R>>2]=-16384;ba=c[W>>2]|0;aa=c[K>>2]|0;c[aa>>2]=ba;aa=c[S>>2]|0;ba=c[K>>2]|0;ba=ba+4|0;c[ba>>2]=aa;ba=c[T>>2]|0;aa=c[K>>2]|0;aa=aa+8|0;c[aa>>2]=ba;aa=c[R>>2]|0;ba=c[K>>2]|0;ba=ba+12|0;c[ba>>2]=aa;ba=c[Q>>2]|0;aa=c[K>>2]|0;aa=aa+16|0;c[aa>>2]=ba;aa=c[U>>2]|0;ba=c[K>>2]|0;ba=ba+20|0;c[ba>>2]=aa;l=Z;return}if((c[Q>>2]|0)==16384){c[S>>2]=0;c[T>>2]=32767;ba=c[P>>2]|0;c[ba>>2]=c[ba>>2]&(1<<c[O>>2])-1<<c[O>>2];c[R>>2]=16384;ba=c[W>>2]|0;aa=c[K>>2]|0;c[aa>>2]=ba;aa=c[S>>2]|0;ba=c[K>>2]|0;ba=ba+4|0;c[ba>>2]=aa;ba=c[T>>2]|0;aa=c[K>>2]|0;aa=aa+8|0;c[aa>>2]=ba;aa=c[R>>2]|0;ba=c[K>>2]|0;ba=ba+12|0;c[ba>>2]=aa;ba=c[Q>>2]|0;aa=c[K>>2]|0;aa=aa+16|0;c[aa>>2]=ba;aa=c[U>>2]|0;ba=c[K>>2]|0;ba=ba+20|0;c[ba>>2]=aa;l=Z;return}else{c[S>>2]=(Ia(c[Q>>2]&65535)|0)<<16>>16;c[T>>2]=(Ia(16384-(c[Q>>2]|0)&65535)|0)<<16>>16;ba=((c[L>>2]|0)-1<<7&65535)<<16>>16;c[R>>2]=16384+(N(ba,((Ja(c[T>>2]|0,c[S>>2]|0)|0)&65535)<<16>>16)|0)>>15;ba=c[W>>2]|0;aa=c[K>>2]|0;c[aa>>2]=ba;aa=c[S>>2]|0;ba=c[K>>2]|0;ba=ba+4|0;c[ba>>2]=aa;ba=c[T>>2]|0;aa=c[K>>2]|0;aa=aa+8|0;c[aa>>2]=ba;aa=c[R>>2]|0;ba=c[K>>2]|0;ba=ba+12|0;c[ba>>2]=aa;ba=c[Q>>2]|0;aa=c[K>>2]|0;aa=aa+16|0;c[aa>>2]=ba;aa=c[U>>2]|0;ba=c[K>>2]|0;ba=ba+20|0;c[ba>>2]=aa;l=Z;return}}function Ca(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=l;l=l+48|0;n=p+36|0;r=p+32|0;q=p+28|0;s=p+24|0;o=p+20|0;i=p+16|0;j=p+12|0;k=p+8|0;m=p+4|0;h=p;c[r>>2]=a;c[q>>2]=e;c[s>>2]=f;c[o>>2]=g;c[s>>2]=(c[s>>2]|0)+1;g=N(c[s>>2]|0,c[(c[r>>2]|0)+8>>2]|0)|0;c[m>>2]=(c[(c[r>>2]|0)+92+8>>2]|0)+(b[(c[(c[r>>2]|0)+92+4>>2]|0)+(g+(c[q>>2]|0)<<1)>>1]|0);c[j>>2]=0;c[k>>2]=d[c[m>>2]>>0];c[o>>2]=(c[o>>2]|0)+-1;c[i>>2]=0;while(1){if((c[i>>2]|0)>=6)break;c[h>>2]=(c[j>>2]|0)+(c[k>>2]|0)+1>>1;a=c[h>>2]|0;if((d[(c[m>>2]|0)+(c[h>>2]|0)>>0]|0)>=(c[o>>2]|0))c[k>>2]=a;else c[j>>2]=a;c[i>>2]=(c[i>>2]|0)+1}if(!(c[j>>2]|0))a=-1;else a=d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0;if(((c[o>>2]|0)-a|0)<=((d[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)-(c[o>>2]|0)|0)){c[n>>2]=c[j>>2];s=c[n>>2]|0;l=p;return s|0}else{c[n>>2]=c[k>>2];s=c[n>>2]|0;l=p;return s|0}return 0}function Da(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;j=l;l=l+32|0;m=j+16|0;k=j+12|0;n=j+8|0;h=j+4|0;i=j;c[m>>2]=a;c[k>>2]=e;c[n>>2]=f;c[h>>2]=g;c[n>>2]=(c[n>>2]|0)+1;g=N(c[n>>2]|0,c[(c[m>>2]|0)+8>>2]|0)|0;c[i>>2]=(c[(c[m>>2]|0)+92+8>>2]|0)+(b[(c[(c[m>>2]|0)+92+4>>2]|0)+(g+(c[k>>2]|0)<<1)>>1]|0);if(!(c[h>>2]|0)){n=0;l=j;return n|0}n=(d[(c[i>>2]|0)+(c[h>>2]|0)>>0]|0)+1|0;l=j;return n|0}function Ea(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;a=c[b>>2]|0;if((c[b>>2]|0)<8){b=a;l=d;return b|0}b=8+(a&7)<<(c[b>>2]>>3)-1;l=d;return b|0}function Fa(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;o=l;l=l+32|0;p=o+28|0;i=o+24|0;j=o+20|0;k=o+16|0;q=o+12|0;m=o+8|0;n=o+4|0;h=o;c[p>>2]=a;c[i>>2]=d;c[j>>2]=e;c[k>>2]=f;c[q>>2]=g;c[h>>2]=(c[p>>2]<<1)-1;if((c[q>>2]|0)!=0&(c[p>>2]|0)==2)c[h>>2]=(c[h>>2]|0)+-1;q=(c[i>>2]|0)+(N(c[h>>2]|0,c[j>>2]|0)|0)|0;c[n>>2]=ua(q,c[h>>2]|0)|0;if(((c[i>>2]|0)-(c[k>>2]|0)-32|0)<(c[n>>2]|0))a=(c[i>>2]|0)-(c[k>>2]|0)-32|0;else a=c[n>>2]|0;c[n>>2]=a;c[n>>2]=64<(c[n>>2]|0)?64:c[n>>2]|0;if((c[n>>2]|0)<4){c[m>>2]=1;q=c[m>>2]|0;l=o;return q|0}else{c[m>>2]=b[22328+((c[n>>2]&7)<<1)>>1]>>14-(c[n>>2]>>3);c[m>>2]=(c[m>>2]|0)+1>>1<<1;q=c[m>>2]|0;l=o;return q|0}return 0}function Ga(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;r=l;l=l+64|0;v=r+56|0;p=r+52|0;q=r+48|0;x=r+44|0;y=r+40|0;i=r+36|0;w=r+32|0;j=r+28|0;k=r+24|0;m=r+20|0;u=r+16|0;t=r+12|0;s=r+8|0;n=r+4|0;o=r;c[v>>2]=a;c[p>>2]=b;c[q>>2]=d;c[x>>2]=e;c[y>>2]=f;c[i>>2]=h;c[w>>2]=c[y>>2];g[u>>2]=+g[(c[x>>2]|0)+(c[w>>2]<<2)>>2];g[t>>2]=+g[(c[x>>2]|0)+((c[w>>2]|0)+(c[(c[v>>2]|0)+8>>2]|0)<<2)>>2];g[s>>2]=+B(+(+g[u>>2]*+g[u>>2]+1.0000000036274937e-15+ +g[t>>2]*+g[t>>2]))+1.0000000036274937e-15;g[k>>2]=+g[u>>2]/+g[s>>2];g[m>>2]=+g[t>>2]/+g[s>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[i>>2]|0))break;g[o>>2]=+g[(c[p>>2]|0)+(c[j>>2]<<2)>>2];g[n>>2]=+g[(c[q>>2]|0)+(c[j>>2]<<2)>>2];g[(c[p>>2]|0)+(c[j>>2]<<2)>>2]=+g[k>>2]*+g[o>>2]+ +g[m>>2]*+g[n>>2];c[j>>2]=(c[j>>2]|0)+1}l=r;return}function Ha(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;e=m+20|0;f=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[e>>2]=a;c[f>>2]=b;c[h>>2]=d;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[h>>2]|0))break;g[k>>2]=+g[(c[e>>2]|0)+(c[i>>2]<<2)>>2]*.7071067690849304;g[j>>2]=+g[(c[f>>2]|0)+(c[i>>2]<<2)>>2]*.7071067690849304;g[(c[e>>2]|0)+(c[i>>2]<<2)>>2]=+g[k>>2]+ +g[j>>2];g[(c[f>>2]|0)+(c[i>>2]<<2)>>2]=+g[j>>2]-+g[k>>2];c[i>>2]=(c[i>>2]|0)+1}l=m;return}function Ia(a){a=a|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;g=e+6|0;f=e;d=e+4|0;b[g>>1]=a;c[f>>2]=4096+(N(b[g>>1]|0,b[g>>1]|0)|0)>>13;b[d>>1]=c[f>>2];b[d>>1]=32767-(b[d>>1]|0)+(16384+(N(b[d>>1]|0,((16384+(N(b[d>>1]|0,(8277+(16384+(N(-626,b[d>>1]|0)|0)>>15)&65535)<<16>>16)|0)>>15)+-7651&65535)<<16>>16)|0)>>15);l=e;return 1+(b[d>>1]|0)&65535|0}function Ja(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=l;l=l+16|0;f=d+12|0;e=d+8|0;g=d+4|0;h=d;c[f>>2]=a;c[e>>2]=b;c[g>>2]=32-(Q(c[e>>2]|0)|0);c[h>>2]=32-(Q(c[f>>2]|0)|0);c[e>>2]=c[e>>2]<<15-(c[g>>2]|0);c[f>>2]=c[f>>2]<<15-(c[h>>2]|0);b=((c[h>>2]|0)-(c[g>>2]|0)<<11)+(16384+(N((c[f>>2]&65535)<<16>>16,((16384+(N((c[f>>2]&65535)<<16>>16,-2597)|0)>>15)+7932&65535)<<16>>16)|0)>>15)|0;b=b-(16384+(N((c[e>>2]&65535)<<16>>16,((16384+(N((c[e>>2]&65535)<<16>>16,-2597)|0)>>15)+7932&65535)<<16>>16)|0)>>15)|0;l=d;return b|0}function Ka(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;u=l;l=l+64|0;q=u+60|0;r=u+56|0;s=u+52|0;t=u+48|0;h=u+40|0;v=u+36|0;w=u+32|0;i=u+28|0;j=u+24|0;x=u+20|0;k=u+16|0;m=u+12|0;n=u+8|0;o=u+4|0;p=u;c[q>>2]=a;c[r>>2]=b;g[s>>2]=d;c[t>>2]=e;c[u+44>>2]=f;g[v>>2]=0.0;g[w>>2]=0.0;La(c[r>>2]|0,c[q>>2]|0,c[r>>2]|0,c[t>>2]|0,v,w);g[v>>2]=+g[s>>2]*+g[v>>2];g[x>>2]=+g[s>>2];g[i>>2]=+g[x>>2]*+g[x>>2]+ +g[w>>2]-+g[v>>2]*2.0;g[j>>2]=+g[x>>2]*+g[x>>2]+ +g[w>>2]+ +g[v>>2]*2.0;if(+g[j>>2]<6.000000284984708e-04|+g[i>>2]<6.000000284984708e-04){_i(c[r>>2]|0,c[q>>2]|0,(c[t>>2]<<2)+0|0)|0;l=u;return}g[k>>2]=+g[i>>2];g[m>>2]=1.0/+B(+(+g[k>>2]));g[k>>2]=+g[j>>2];g[n>>2]=1.0/+B(+(+g[k>>2]));c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[t>>2]|0))break;g[p>>2]=+g[s>>2]*+g[(c[q>>2]|0)+(c[h>>2]<<2)>>2];g[o>>2]=+g[(c[r>>2]|0)+(c[h>>2]<<2)>>2];g[(c[q>>2]|0)+(c[h>>2]<<2)>>2]=+g[m>>2]*(+g[p>>2]-+g[o>>2]);g[(c[r>>2]|0)+(c[h>>2]<<2)>>2]=+g[n>>2]*(+g[p>>2]+ +g[o>>2]);c[h>>2]=(c[h>>2]|0)+1}l=u;return}function La(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;p=t+32|0;q=t+28|0;r=t+24|0;s=t+20|0;j=t+16|0;k=t+12|0;m=t+8|0;n=t+4|0;o=t;c[p>>2]=a;c[q>>2]=b;c[r>>2]=d;c[s>>2]=e;c[j>>2]=f;c[k>>2]=h;g[n>>2]=0.0;g[o>>2]=0.0;c[m>>2]=0;while(1){i=+g[n>>2];if((c[m>>2]|0)>=(c[s>>2]|0))break;g[n>>2]=i+ +g[(c[p>>2]|0)+(c[m>>2]<<2)>>2]*+g[(c[q>>2]|0)+(c[m>>2]<<2)>>2];g[o>>2]=+g[o>>2]+ +g[(c[p>>2]|0)+(c[m>>2]<<2)>>2]*+g[(c[r>>2]|0)+(c[m>>2]<<2)>>2];c[m>>2]=(c[m>>2]|0)+1}g[c[j>>2]>>2]=i;g[c[k>>2]>>2]=+g[o>>2];l=t;return}function Ma(a){a=a|0;var b=0,d=0,e=0,f=0;e=l;l=l+16|0;f=e+4|0;b=e;c[f>>2]=a;a=c[f>>2]|0;a:do if((a|0)<16e3)if((a|0)<12e3){switch(a|0){case 8e3:break;default:{d=7;break a}}c[b>>2]=6;break}else{switch(a|0){case 12e3:break;default:{d=7;break a}}c[b>>2]=4;break}else{if((a|0)<24e3){switch(a|0){case 16e3:break;default:{d=7;break a}}c[b>>2]=3;break}if((a|0)<48e3){switch(a|0){case 24e3:break;default:{d=7;break a}}c[b>>2]=2;break}else{switch(a|0){case 48e3:break;default:{d=7;break a}}c[b>>2]=1;break}}while(0);if((d|0)==7)c[b>>2]=0;l=e;return c[b>>2]|0}function Na(a,b,d,e,f,h,i,j,k,m,n,o){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;i=+i;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=l;l=l+112|0;p=N+96|0;q=N+92|0;r=N+88|0;s=N+84|0;t=N+80|0;u=N+76|0;v=N+72|0;w=N+68|0;x=N+64|0;y=N+60|0;z=N+56|0;A=N+48|0;B=N+44|0;C=N+40|0;D=N+36|0;E=N+32|0;F=N+28|0;G=N+24|0;H=N+20|0;I=N+16|0;J=N+12|0;K=N+8|0;L=N+4|0;M=N;c[p>>2]=a;c[q>>2]=b;c[r>>2]=d;c[s>>2]=e;c[t>>2]=f;g[u>>2]=h;g[v>>2]=i;c[w>>2]=j;c[x>>2]=k;c[y>>2]=m;c[z>>2]=n;c[N+52>>2]=o;if(+g[u>>2]==0.0&+g[v>>2]==0.0){if((c[q>>2]|0)==(c[p>>2]|0)){l=N;return}$i(c[p>>2]|0,c[q>>2]|0,(c[t>>2]<<2)+0|0)|0;l=N;return}g[B>>2]=+g[u>>2]*+g[128+((c[w>>2]|0)*12|0)>>2];g[C>>2]=+g[u>>2]*+g[128+((c[w>>2]|0)*12|0)+4>>2];g[D>>2]=+g[u>>2]*+g[128+((c[w>>2]|0)*12|0)+8>>2];g[E>>2]=+g[v>>2]*+g[128+((c[x>>2]|0)*12|0)>>2];g[F>>2]=+g[v>>2]*+g[128+((c[x>>2]|0)*12|0)+4>>2];g[G>>2]=+g[v>>2]*+g[128+((c[x>>2]|0)*12|0)+8>>2];g[I>>2]=+g[(c[q>>2]|0)+(0-(c[s>>2]|0)+1<<2)>>2];g[J>>2]=+g[(c[q>>2]|0)+(0-(c[s>>2]|0)<<2)>>2];g[K>>2]=+g[(c[q>>2]|0)+(0-(c[s>>2]|0)-1<<2)>>2];g[L>>2]=+g[(c[q>>2]|0)+(0-(c[s>>2]|0)-2<<2)>>2];if((+g[u>>2]==+g[v>>2]?(c[r>>2]|0)==(c[s>>2]|0):0)?(c[w>>2]|0)==(c[x>>2]|0):0)c[z>>2]=0;c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[z>>2]|0))break;g[H>>2]=+g[(c[q>>2]|0)+((c[A>>2]|0)-(c[s>>2]|0)+2<<2)>>2];g[M>>2]=+g[(c[y>>2]|0)+(c[A>>2]<<2)>>2]*+g[(c[y>>2]|0)+(c[A>>2]<<2)>>2];g[(c[p>>2]|0)+(c[A>>2]<<2)>>2]=+g[(c[q>>2]|0)+(c[A>>2]<<2)>>2]+(1.0-+g[M>>2])*+g[B>>2]*+g[(c[q>>2]|0)+((c[A>>2]|0)-(c[r>>2]|0)<<2)>>2]+(1.0-+g[M>>2])*+g[C>>2]*(+g[(c[q>>2]|0)+((c[A>>2]|0)-(c[r>>2]|0)+1<<2)>>2]+ +g[(c[q>>2]|0)+((c[A>>2]|0)-(c[r>>2]|0)-1<<2)>>2])+(1.0-+g[M>>2])*+g[D>>2]*(+g[(c[q>>2]|0)+((c[A>>2]|0)-(c[r>>2]|0)+2<<2)>>2]+ +g[(c[q>>2]|0)+((c[A>>2]|0)-(c[r>>2]|0)-2<<2)>>2])+ +g[M>>2]*+g[E>>2]*+g[J>>2]+ +g[M>>2]*+g[F>>2]*(+g[I>>2]+ +g[K>>2])+ +g[M>>2]*+g[G>>2]*(+g[H>>2]+ +g[L>>2]);g[L>>2]=+g[K>>2];g[K>>2]=+g[J>>2];g[J>>2]=+g[I>>2];g[I>>2]=+g[H>>2];c[A>>2]=(c[A>>2]|0)+1}if(!(+g[v>>2]==0.0)){Oa((c[p>>2]|0)+(c[A>>2]<<2)|0,(c[q>>2]|0)+(c[A>>2]<<2)|0,c[s>>2]|0,(c[t>>2]|0)-(c[A>>2]|0)|0,+g[E>>2],+g[F>>2],+g[G>>2]);l=N;return}if((c[q>>2]|0)==(c[p>>2]|0)){l=N;return}$i((c[p>>2]|0)+(c[z>>2]<<2)|0,(c[q>>2]|0)+(c[z>>2]<<2)|0,((c[t>>2]|0)-(c[z>>2]|0)<<2)+0|0)|0;l=N;return}function Oa(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;h=+h;i=+i;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+64|0;u=x+48|0;v=x+44|0;w=x+40|0;j=x+36|0;k=x+32|0;m=x+28|0;n=x+24|0;o=x+20|0;p=x+16|0;q=x+12|0;r=x+8|0;s=x+4|0;t=x;c[u>>2]=a;c[v>>2]=b;c[w>>2]=d;c[j>>2]=e;g[k>>2]=f;g[m>>2]=h;g[n>>2]=i;g[s>>2]=+g[(c[v>>2]|0)+(0-(c[w>>2]|0)-2<<2)>>2];g[r>>2]=+g[(c[v>>2]|0)+(0-(c[w>>2]|0)-1<<2)>>2];g[q>>2]=+g[(c[v>>2]|0)+(0-(c[w>>2]|0)<<2)>>2];g[p>>2]=+g[(c[v>>2]|0)+(0-(c[w>>2]|0)+1<<2)>>2];c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[j>>2]|0))break;g[o>>2]=+g[(c[v>>2]|0)+((c[t>>2]|0)-(c[w>>2]|0)+2<<2)>>2];g[(c[u>>2]|0)+(c[t>>2]<<2)>>2]=+g[(c[v>>2]|0)+(c[t>>2]<<2)>>2]+ +g[k>>2]*+g[q>>2]+ +g[m>>2]*(+g[p>>2]+ +g[r>>2])+ +g[n>>2]*(+g[o>>2]+ +g[s>>2]);g[s>>2]=+g[r>>2];g[r>>2]=+g[q>>2];g[q>>2]=+g[p>>2];g[p>>2]=+g[o>>2];c[t>>2]=(c[t>>2]|0)+1}l=x;return}function Pa(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;h=o+20|0;i=o+16|0;j=o+12|0;k=o+8|0;m=o+4|0;n=o;c[h>>2]=a;c[i>>2]=e;c[j>>2]=f;c[k>>2]=g;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[h>>2]|0)+8>>2]|0))break;c[n>>2]=(b[(c[(c[h>>2]|0)+32>>2]|0)+((c[m>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[h>>2]|0)+32>>2]|0)+(c[m>>2]<<1)>>1]|0)<<c[j>>2];g=N(c[(c[h>>2]|0)+8>>2]|0,(c[j>>2]<<1)+(c[k>>2]|0)-1|0)|0;g=N((d[(c[(c[h>>2]|0)+92+12>>2]|0)+(g+(c[m>>2]|0))>>0]|0)+64|0,c[k>>2]|0)|0;g=(N(g,c[n>>2]|0)|0)>>2;c[(c[i>>2]|0)+(c[m>>2]<<2)>>2]=g;c[m>>2]=(c[m>>2]|0)+1}l=o;return}function Qa(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[d>>2]=a;if((c[d>>2]|0)>0|(c[d>>2]|0)<-7){c[b>>2]=25260;d=c[b>>2]|0;l=e;return d|0}else{c[b>>2]=c[164+(0-(c[d>>2]|0)<<2)>>2];d=c[b>>2]|0;l=e;return d|0}return 0}function Ra(){return 25411}function Sa(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=sc(48e3,960,0)|0;a=Ta(c[e>>2]|0,c[d>>2]|0)|0;l=b;return a|0}function Ta(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;b=204+((N(c[g>>2]|0,c[(c[f>>2]|0)+4>>2]|0)|0)-1<<2)|0;c[d>>2]=b+(c[g>>2]<<10<<2)+((N((c[g>>2]|0)*3|0,c[(c[f>>2]|0)+8>>2]|0)|0)<<2);l=e;return c[d>>2]|0}function Ua(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;j=l;l=l+32|0;f=j+20|0;g=j+16|0;h=j+12|0;m=j+8|0;k=j+4|0;i=j;c[g>>2]=a;c[h>>2]=b;c[m>>2]=d;c[k>>2]=e;d=c[g>>2]|0;e=sc(48e3,960,0)|0;c[i>>2]=Va(d,e,c[m>>2]|0,c[k>>2]|0)|0;if(c[i>>2]|0){c[f>>2]=c[i>>2];m=c[f>>2]|0;l=j;return m|0}else{m=Ma(c[h>>2]|0)|0;c[(c[g>>2]|0)+28>>2]=m;c[f>>2]=0;m=c[f>>2]|0;l=j;return m|0}return 0}function Va(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+20|0;g=k+16|0;h=k+12|0;i=k+8|0;j=k+4|0;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;c[j>>2]=e;if((c[i>>2]|0)<0|(c[i>>2]|0)>2){c[f>>2]=-1;j=c[f>>2]|0;l=k;return j|0}if((c[g>>2]|0)==0|(c[h>>2]|0)==0){c[f>>2]=-7;j=c[f>>2]|0;l=k;return j|0}else{e=c[g>>2]|0;aj(e|0,0,Ta(c[h>>2]|0,c[i>>2]|0)|0)|0;c[c[g>>2]>>2]=c[h>>2];i=c[i>>2]|0;c[(c[g>>2]|0)+4>>2]=i;c[(c[g>>2]|0)+8>>2]=i;c[(c[g>>2]|0)+28>>2]=1;c[(c[g>>2]|0)+32>>2]=0;c[(c[g>>2]|0)+36>>2]=c[(c[c[g>>2]>>2]|0)+12>>2];c[(c[g>>2]|0)+48>>2]=1;c[(c[g>>2]|0)+72>>2]=c[j>>2];c[(c[g>>2]|0)+52>>2]=1;c[(c[g>>2]|0)+16>>2]=1;c[(c[g>>2]|0)+40>>2]=-1;c[(c[g>>2]|0)+44>>2]=0;c[(c[g>>2]|0)+12>>2]=0;c[(c[g>>2]|0)+24>>2]=5;c[(c[g>>2]|0)+60>>2]=24;Wa(c[g>>2]|0,4028,k)|0;c[f>>2]=0;j=c[f>>2]|0;l=k;return j|0}return 0}function Wa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;Y=l;l=l+192|0;X=Y+184|0;W=Y+180|0;Z=Y+176|0;Q=Y+160|0;R=Y+156|0;S=Y+152|0;T=Y+148|0;U=Y+144|0;e=Y+140|0;f=Y+136|0;h=Y+132|0;i=Y+128|0;j=Y+124|0;k=Y+120|0;m=Y+116|0;n=Y+112|0;o=Y+108|0;p=Y+104|0;V=Y+100|0;q=Y+96|0;r=Y+92|0;s=Y+88|0;t=Y+84|0;u=Y+80|0;v=Y+76|0;w=Y+72|0;x=Y+68|0;y=Y+64|0;z=Y+60|0;A=Y+56|0;B=Y+52|0;C=Y+48|0;D=Y+44|0;E=Y+40|0;F=Y+36|0;G=Y+32|0;H=Y+28|0;I=Y+24|0;J=Y+20|0;K=Y+16|0;L=Y+12|0;M=Y+8|0;O=Y+4|0;P=Y;c[W>>2]=a;c[Z>>2]=b;c[Q>>2]=d;do switch(c[Z>>2]|0){case 4010:{V=(c[Q>>2]|0)+(4-1)&~(4-1);Z=c[V>>2]|0;c[Q>>2]=V+4;c[S>>2]=Z;c[R>>2]=c[S>>2];if((c[R>>2]|0)<0|(c[R>>2]|0)>10)a=41;else{c[(c[W>>2]|0)+24>>2]=c[R>>2];a=40}break}case 10010:{V=(c[Q>>2]|0)+(4-1)&~(4-1);Z=c[V>>2]|0;c[Q>>2]=V+4;c[U>>2]=Z;c[T>>2]=c[U>>2];if((c[T>>2]|0)>=0?(c[T>>2]|0)<(c[(c[c[W>>2]>>2]|0)+8>>2]|0):0){c[(c[W>>2]|0)+32>>2]=c[T>>2];a=40}else a=41;break}case 10012:{V=(c[Q>>2]|0)+(4-1)&~(4-1);Z=c[V>>2]|0;c[Q>>2]=V+4;c[f>>2]=Z;c[e>>2]=c[f>>2];if((c[e>>2]|0)>=1?(c[e>>2]|0)<=(c[(c[c[W>>2]>>2]|0)+8>>2]|0):0){c[(c[W>>2]|0)+36>>2]=c[e>>2];a=40}else a=41;break}case 10002:{V=(c[Q>>2]|0)+(4-1)&~(4-1);Z=c[V>>2]|0;c[Q>>2]=V+4;c[i>>2]=Z;c[h>>2]=c[i>>2];if((c[h>>2]|0)<0|(c[h>>2]|0)>2)a=41;else{c[(c[W>>2]|0)+20>>2]=(c[h>>2]|0)<=1&1;c[(c[W>>2]|0)+12>>2]=(c[h>>2]|0)==0&1;a=40}break}case 4014:{V=(c[Q>>2]|0)+(4-1)&~(4-1);Z=c[V>>2]|0;c[Q>>2]=V+4;c[k>>2]=Z;c[j>>2]=c[k>>2];if((c[j>>2]|0)<0|(c[j>>2]|0)>100)a=41;else{c[(c[W>>2]|0)+56>>2]=c[j>>2];a=40}break}case 4020:{Z=(c[Q>>2]|0)+(4-1)&~(4-1);a=c[Z>>2]|0;c[Q>>2]=Z+4;c[n>>2]=a;c[m>>2]=c[n>>2];c[(c[W>>2]|0)+52>>2]=c[m>>2];a=40;break}case 4006:{Z=(c[Q>>2]|0)+(4-1)&~(4-1);a=c[Z>>2]|0;c[Q>>2]=Z+4;c[p>>2]=a;c[o>>2]=c[p>>2];c[(c[W>>2]|0)+44>>2]=c[o>>2];a=40;break}case 4002:{d=(c[Q>>2]|0)+(4-1)&~(4-1);Z=c[d>>2]|0;c[Q>>2]=d+4;c[q>>2]=Z;c[V>>2]=c[q>>2];if((c[V>>2]|0)<=500&(c[V>>2]|0)!=-1)a=41;else{if((c[V>>2]|0)<((c[(c[W>>2]|0)+4>>2]|0)*26e4|0))a=c[V>>2]|0;else a=(c[(c[W>>2]|0)+4>>2]|0)*26e4|0;c[V>>2]=a;c[(c[W>>2]|0)+40>>2]=c[V>>2];a=40}break}case 10008:{V=(c[Q>>2]|0)+(4-1)&~(4-1);Z=c[V>>2]|0;c[Q>>2]=V+4;c[s>>2]=Z;c[r>>2]=c[s>>2];if((c[r>>2]|0)<1|(c[r>>2]|0)>2)a=41;else{c[(c[W>>2]|0)+8>>2]=c[r>>2];a=40}break}case 4036:{V=(c[Q>>2]|0)+(4-1)&~(4-1);Z=c[V>>2]|0;c[Q>>2]=V+4;c[u>>2]=Z;c[t>>2]=c[u>>2];if((c[t>>2]|0)<8|(c[t>>2]|0)>24)a=41;else{c[(c[W>>2]|0)+60>>2]=c[t>>2];a=40}break}case 4037:{Z=(c[Q>>2]|0)+(4-1)&~(4-1);a=c[Z>>2]|0;c[Q>>2]=Z+4;c[w>>2]=a;c[v>>2]=c[w>>2];c[c[v>>2]>>2]=c[(c[W>>2]|0)+60>>2];a=40;break}case 4040:{Z=(c[Q>>2]|0)+(4-1)&~(4-1);a=c[Z>>2]|0;c[Q>>2]=Z+4;c[y>>2]=a;c[x>>2]=c[y>>2];c[(c[W>>2]|0)+64>>2]=c[x>>2];a=40;break}case 4028:{c[A>>2]=(c[W>>2]|0)+200+((N(c[(c[W>>2]|0)+4>>2]|0,(c[(c[c[W>>2]>>2]|0)+4>>2]|0)+1024|0)|0)<<2);c[B>>2]=(c[A>>2]|0)+((N(c[(c[W>>2]|0)+4>>2]|0,c[(c[c[W>>2]>>2]|0)+8>>2]|0)|0)<<2);c[C>>2]=(c[B>>2]|0)+((N(c[(c[W>>2]|0)+4>>2]|0,c[(c[c[W>>2]>>2]|0)+8>>2]|0)|0)<<2);aj((c[W>>2]|0)+76|0,0,(Ta(c[c[W>>2]>>2]|0,c[(c[W>>2]|0)+4>>2]|0)|0)-((c[W>>2]|0)+76-(c[W>>2]|0))|0)|0;c[z>>2]=0;while(1){if((c[z>>2]|0)>=(N(c[(c[W>>2]|0)+4>>2]|0,c[(c[c[W>>2]>>2]|0)+8>>2]|0)|0))break;g[(c[C>>2]|0)+(c[z>>2]<<2)>>2]=-28.0;g[(c[B>>2]|0)+(c[z>>2]<<2)>>2]=-28.0;c[z>>2]=(c[z>>2]|0)+1}c[(c[W>>2]|0)+172>>2]=0;g[(c[W>>2]|0)+84>>2]=1.0;c[(c[W>>2]|0)+80>>2]=2;c[(c[W>>2]|0)+88>>2]=256;c[(c[W>>2]|0)+96>>2]=0;c[(c[W>>2]|0)+100>>2]=0;a=40;break}case 10016:{Z=(c[Q>>2]|0)+(4-1)&~(4-1);a=c[Z>>2]|0;c[Q>>2]=Z+4;c[E>>2]=a;c[D>>2]=c[E>>2];c[(c[W>>2]|0)+48>>2]=c[D>>2];a=40;break}case 10022:{V=(c[Q>>2]|0)+(4-1)&~(4-1);Z=c[V>>2]|0;c[Q>>2]=V+4;c[G>>2]=Z;c[F>>2]=c[G>>2];if(c[F>>2]|0){_i((c[W>>2]|0)+120|0,c[F>>2]|0,28|0)|0;a=40}else a=40;break}case 10015:{V=(c[Q>>2]|0)+(4-1)&~(4-1);Z=c[V>>2]|0;c[Q>>2]=V+4;c[I>>2]=Z;c[H>>2]=c[I>>2];if(!(c[H>>2]|0))a=41;else{c[c[H>>2]>>2]=c[c[W>>2]>>2];a=40}break}case 4031:{V=(c[Q>>2]|0)+(4-1)&~(4-1);Z=c[V>>2]|0;c[Q>>2]=V+4;c[K>>2]=Z;c[J>>2]=c[K>>2];if(!(c[J>>2]|0))a=41;else{c[c[J>>2]>>2]=c[(c[W>>2]|0)+76>>2];a=40}break}case 10024:{Z=(c[Q>>2]|0)+(4-1)&~(4-1);a=c[Z>>2]|0;c[Q>>2]=Z+4;c[M>>2]=a;c[L>>2]=c[M>>2];c[(c[W>>2]|0)+68>>2]=c[L>>2];a=40;break}case 10026:{Z=(c[Q>>2]|0)+(4-1)&~(4-1);a=c[Z>>2]|0;c[Q>>2]=Z+4;c[P>>2]=a;c[O>>2]=c[P>>2];c[(c[W>>2]|0)+192>>2]=c[O>>2];a=40;break}default:{c[X>>2]=-5;Z=c[X>>2]|0;l=Y;return Z|0}}while(0);if((a|0)==40){c[X>>2]=0;Z=c[X>>2]|0;l=Y;return Z|0}else if((a|0)==41){c[X>>2]=-1;Z=c[X>>2]|0;l=Y;return Z|0}return 0}function Xa(a,b,d,e,f,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=l;l=l+64|0;p=z+52|0;y=z+48|0;q=z+44|0;m=z+40|0;r=z+36|0;A=z+32|0;s=z+28|0;n=z+24|0;t=z+20|0;u=z+16|0;v=z+12|0;w=z+8|0;o=z+4|0;x=z;c[p>>2]=a;c[y>>2]=b;c[q>>2]=d;c[m>>2]=e;c[r>>2]=f;c[A>>2]=h;c[s>>2]=i;c[n>>2]=j;g[u>>2]=+g[c[A>>2]>>2];g[v>>2]=+g[c[s>>2]>>2];if(!(((c[r>>2]|0)==1?+g[(c[A>>2]|0)+4>>2]==0.0:0)^1|(c[n>>2]|0)!=0)){c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[q>>2]|0))break;g[o>>2]=+g[(c[p>>2]|0)+((N(c[m>>2]|0,c[t>>2]|0)|0)<<2)>>2]*32768.0;g[(c[y>>2]|0)+(c[t>>2]<<2)>>2]=+g[o>>2]-+g[v>>2];g[v>>2]=+g[u>>2]*+g[o>>2];c[t>>2]=(c[t>>2]|0)+1}g[c[s>>2]>>2]=+g[v>>2];l=z;return}c[w>>2]=(c[q>>2]|0)/(c[r>>2]|0)|0;if((c[r>>2]|0)!=1)aj(c[y>>2]|0,0,c[q>>2]<<2|0)|0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[w>>2]|0))break;k=+g[(c[p>>2]|0)+((N(c[m>>2]|0,c[t>>2]|0)|0)<<2)>>2]*32768.0;g[(c[y>>2]|0)+((N(c[t>>2]|0,c[r>>2]|0)|0)<<2)>>2]=k;c[t>>2]=(c[t>>2]|0)+1}a:do if(c[n>>2]|0){c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[w>>2]|0))break a;if(65536.0<+g[(c[y>>2]|0)+((N(c[t>>2]|0,c[r>>2]|0)|0)<<2)>>2])k=65536.0;else k=+g[(c[y>>2]|0)+((N(c[t>>2]|0,c[r>>2]|0)|0)<<2)>>2];if(!(-65536.0>k))if(65536.0<+g[(c[y>>2]|0)+((N(c[t>>2]|0,c[r>>2]|0)|0)<<2)>>2])k=65536.0;else k=+g[(c[y>>2]|0)+((N(c[t>>2]|0,c[r>>2]|0)|0)<<2)>>2];else k=-65536.0;g[(c[y>>2]|0)+((N(c[t>>2]|0,c[r>>2]|0)|0)<<2)>>2]=k;c[t>>2]=(c[t>>2]|0)+1}}while(0);c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[q>>2]|0))break;g[x>>2]=+g[(c[y>>2]|0)+(c[t>>2]<<2)>>2];g[(c[y>>2]|0)+(c[t>>2]<<2)>>2]=+g[x>>2]-+g[v>>2];g[v>>2]=+g[u>>2]*+g[x>>2];c[t>>2]=(c[t>>2]|0)+1}g[c[s>>2]>>2]=+g[v>>2];l=z;return}function Ya(a,d,e,f,h,i){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ka=0,ma=0,oa=0,pa=0,qa=0,sa=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Ya=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0;Cb=l;l=l+448|0;zb=Cb+440|0;Ab=Cb+436|0;u=Cb+432|0;m=Cb+428|0;o=Cb+424|0;xb=Cb+420|0;yb=Cb+416|0;lb=Cb+412|0;mb=Cb+408|0;Ka=Cb+404|0;Ha=Cb+400|0;p=Cb+352|0;v=Cb+348|0;nb=Cb+344|0;ob=Cb+340|0;pb=Cb+336|0;La=Cb+332|0;ub=Cb+328|0;qb=Cb+324|0;Ma=Cb+320|0;Na=Cb+316|0;V=Cb+312|0;T=Cb+308|0;za=Cb+304|0;Aa=Cb+300|0;rb=Cb+296|0;sb=Cb+292|0;W=Cb+288|0;Oa=Cb+284|0;O=Cb+280|0;Ia=Cb+276|0;Qa=Cb+272|0;Ra=Cb+268|0;Sa=Cb+264|0;X=Cb+260|0;Y=Cb+256|0;Ba=Cb+252|0;ga=Cb+248|0;ma=Cb+244|0;Ta=Cb+240|0;oa=Cb+236|0;Ua=Cb+232|0;U=Cb+228|0;Va=Cb+224|0;Wa=Cb+220|0;Ya=Cb+216|0;P=Cb+212|0;pa=Cb+208|0;qa=Cb+204|0;sa=Cb+200|0;s=Cb+196|0;ua=Cb+192|0;kb=Cb+188|0;tb=Cb+184|0;w=Cb+180|0;Z=Cb+176|0;M=Cb+172|0;Ja=Cb+168|0;vb=Cb+164|0;va=Cb+160|0;wa=Cb+156|0;ha=Cb+152|0;Ga=Cb+148|0;k=Cb+144|0;n=Cb+140|0;q=Cb+136|0;r=Cb+132|0;Bb=Cb+128|0;t=Cb+124|0;x=Cb+120|0;y=Cb+116|0;z=Cb+112|0;G=Cb+108|0;C=Cb+104|0;D=Cb+100|0;H=Cb+96|0;I=Cb+92|0;A=Cb+88|0;B=Cb+84|0;E=Cb+80|0;F=Cb+76|0;J=Cb+72|0;K=Cb+68|0;L=Cb+64|0;R=Cb+60|0;aa=Cb+56|0;ba=Cb+52|0;ca=Cb+48|0;da=Cb+44|0;ea=Cb+40|0;fa=Cb+36|0;Ca=Cb+32|0;Da=Cb+28|0;Ea=Cb+24|0;ia=Cb+20|0;ka=Cb+16|0;xa=Cb+12|0;ya=Cb+8|0;Fa=Cb+4|0;wb=Cb;c[Ab>>2]=a;c[u>>2]=d;c[m>>2]=e;c[o>>2]=f;c[xb>>2]=h;c[yb>>2]=i;c[La>>2]=0;c[ub>>2]=0;c[qb>>2]=c[(c[Ab>>2]|0)+4>>2];c[Ma>>2]=c[(c[Ab>>2]|0)+8>>2];c[Qa>>2]=15;g[Ra>>2]=0.0;c[Sa>>2]=0;c[Ua>>2]=0;c[Wa>>2]=0;c[Ya>>2]=0;c[P>>2]=0;c[qa>>2]=0;c[vb>>2]=0;g[va>>2]=0.0;g[wa>>2]=0.0;g[ha>>2]=0.0;c[Ga>>2]=51e4;c[kb>>2]=c[c[Ab>>2]>>2];c[tb>>2]=c[(c[kb>>2]|0)+8>>2];c[w>>2]=c[(c[kb>>2]|0)+4>>2];c[Z>>2]=c[(c[kb>>2]|0)+32>>2];c[rb>>2]=c[(c[Ab>>2]|0)+32>>2];c[sb>>2]=c[(c[Ab>>2]|0)+36>>2];g[pa>>2]=0.0;if((c[xb>>2]|0)<2|(c[u>>2]|0)==0){c[zb>>2]=-1;Bb=c[zb>>2]|0;l=Cb;return Bb|0}c[m>>2]=N(c[m>>2]|0,c[(c[Ab>>2]|0)+28>>2]|0)|0;c[Na>>2]=0;while(1){if((c[Na>>2]|0)>(c[(c[kb>>2]|0)+36>>2]|0))break;if((c[(c[kb>>2]|0)+44>>2]<<c[Na>>2]|0)==(c[m>>2]|0))break;c[Na>>2]=(c[Na>>2]|0)+1}if((c[Na>>2]|0)>(c[(c[kb>>2]|0)+36>>2]|0)){c[zb>>2]=-1;Bb=c[zb>>2]|0;l=Cb;return Bb|0}c[V>>2]=1<<c[Na>>2];c[Ka>>2]=N(c[V>>2]|0,c[(c[kb>>2]|0)+44>>2]|0)|0;c[v>>2]=(c[Ab>>2]|0)+200+((N(c[qb>>2]|0,c[w>>2]|0)|0)<<2);c[nb>>2]=(c[Ab>>2]|0)+200+((N(c[qb>>2]|0,(c[w>>2]|0)+1024|0)|0)<<2);c[ob>>2]=(c[nb>>2]|0)+((N(c[qb>>2]|0,c[tb>>2]|0)|0)<<2);c[pb>>2]=(c[ob>>2]|0)+((N(c[qb>>2]|0,c[tb>>2]|0)|0)<<2);if(!(c[yb>>2]|0)){c[oa>>2]=1;c[za>>2]=0}else{c[oa>>2]=Za(c[yb>>2]|0)|0;c[za>>2]=(c[oa>>2]|0)+4>>3}c[xb>>2]=(c[xb>>2]|0)<1275?c[xb>>2]|0:1275;c[Aa>>2]=(c[xb>>2]|0)-(c[za>>2]|0);if(c[(c[Ab>>2]|0)+44>>2]|0?(c[(c[Ab>>2]|0)+40>>2]|0)!=-1:0){c[k>>2]=c[c[kb>>2]>>2]>>3;n=N(c[(c[Ab>>2]|0)+40>>2]|0,c[m>>2]|0)|0;c[Ba>>2]=(n+(c[k>>2]>>1)|0)/(c[k>>2]|0)|0;c[X>>2]=c[Ba>>2]>>6}else{c[Ba>>2]=0;c[n>>2]=N(c[(c[Ab>>2]|0)+40>>2]|0,c[m>>2]|0)|0;if((c[oa>>2]|0)>1)c[n>>2]=(c[n>>2]|0)+(c[oa>>2]|0);if((c[(c[Ab>>2]|0)+40>>2]|0)!=-1){if((c[xb>>2]|0)<((((c[n>>2]|0)+(c[c[kb>>2]>>2]<<2)|0)/(c[c[kb>>2]>>2]<<3|0)|0)-(((c[(c[Ab>>2]|0)+48>>2]|0)!=0^1^1)&1)|0))a=c[xb>>2]|0;else a=(((c[n>>2]|0)+(c[c[kb>>2]>>2]<<2)|0)/(c[c[kb>>2]>>2]<<3|0)|0)-(((c[(c[Ab>>2]|0)+48>>2]|0)!=0^1^1)&1)|0;do if(2<=(a|0))if((c[xb>>2]|0)<((((c[n>>2]|0)+(c[c[kb>>2]>>2]<<2)|0)/(c[c[kb>>2]>>2]<<3|0)|0)-(((c[(c[Ab>>2]|0)+48>>2]|0)!=0^1^1)&1)|0)){a=c[xb>>2]|0;break}else{a=(((c[n>>2]|0)+(c[c[kb>>2]>>2]<<2)|0)/(c[c[kb>>2]>>2]<<3|0)|0)-(((c[(c[Ab>>2]|0)+48>>2]|0)!=0^1^1)&1)|0;break}else a=2;while(0);c[xb>>2]=a}c[X>>2]=c[xb>>2]}if((c[(c[Ab>>2]|0)+40>>2]|0)!=-1)c[Ga>>2]=(c[(c[Ab>>2]|0)+40>>2]|0)-(N(((c[Ma>>2]|0)*40|0)+20|0,(400>>c[Na>>2])-50|0)|0);if(!(c[yb>>2]|0)){Tb(p,c[o>>2]|0,c[xb>>2]|0);c[yb>>2]=p}if((c[Ba>>2]|0)>0?c[(c[Ab>>2]|0)+52>>2]|0:0){c[q>>2]=c[Ba>>2];if((((c[oa>>2]|0)==1?2:0)|0)>((c[Ba>>2]|0)+(c[q>>2]|0)-(c[(c[Ab>>2]|0)+164>>2]|0)>>6|0))a=(c[oa>>2]|0)==1?2:0;else a=(c[Ba>>2]|0)+(c[q>>2]|0)-(c[(c[Ab>>2]|0)+164>>2]|0)>>6;do if((a|0)<(c[Aa>>2]|0))if((((c[oa>>2]|0)==1?2:0)|0)>((c[Ba>>2]|0)+(c[q>>2]|0)-(c[(c[Ab>>2]|0)+164>>2]|0)>>6|0)){a=(c[oa>>2]|0)==1?2:0;break}else{a=(c[Ba>>2]|0)+(c[q>>2]|0)-(c[(c[Ab>>2]|0)+164>>2]|0)>>6;break}else a=c[Aa>>2]|0;while(0);c[r>>2]=a;if((c[r>>2]|0)<(c[Aa>>2]|0)){c[xb>>2]=(c[za>>2]|0)+(c[r>>2]|0);c[Aa>>2]=c[r>>2];ec(c[yb>>2]|0,c[xb>>2]|0)}}c[ga>>2]=c[xb>>2]<<3;c[W>>2]=c[sb>>2];if((c[W>>2]|0)>(c[(c[kb>>2]|0)+12>>2]|0))c[W>>2]=c[(c[kb>>2]|0)+12>>2];r=N(c[qb>>2]|0,(c[Ka>>2]|0)+(c[w>>2]|0)|0)|0;c[Bb>>2]=$()|0;h=l;l=l+((1*(r<<2)|0)+15&-16)|0;j=+g[(c[Ab>>2]|0)+180>>2];r=N(c[Ma>>2]|0,(c[Ka>>2]|0)-(c[w>>2]|0)|0)|0;if(j>+_a(c[u>>2]|0,(r|0)/(c[(c[Ab>>2]|0)+28>>2]|0)|0))j=+g[(c[Ab>>2]|0)+180>>2];else{r=N(c[Ma>>2]|0,(c[Ka>>2]|0)-(c[w>>2]|0)|0)|0;j=+_a(c[u>>2]|0,(r|0)/(c[(c[Ab>>2]|0)+28>>2]|0)|0)}g[s>>2]=j;q=N(c[Ma>>2]|0,(c[Ka>>2]|0)-(c[w>>2]|0)|0)|0;r=N(c[Ma>>2]|0,c[w>>2]|0)|0;j=+_a((c[u>>2]|0)+(((q|0)/(c[(c[Ab>>2]|0)+28>>2]|0)|0)<<2)|0,(r|0)/(c[(c[Ab>>2]|0)+28>>2]|0)|0);g[(c[Ab>>2]|0)+180>>2]=j;if(+g[s>>2]>+g[(c[Ab>>2]|0)+180>>2])j=+g[s>>2];else j=+g[(c[Ab>>2]|0)+180>>2];g[s>>2]=j;c[Ya>>2]=+g[s>>2]<=1.0/+(1<<c[(c[Ab>>2]|0)+60>>2]|0)&1;if((c[oa>>2]|0)==1)_b(c[yb>>2]|0,c[Ya>>2]|0,15);else c[Ya>>2]=0;if(c[Ya>>2]|0){if((c[Ba>>2]|0)>0){r=(c[xb>>2]|0)<((c[za>>2]|0)+2|0)?c[xb>>2]|0:(c[za>>2]|0)+2|0;c[xb>>2]=r;c[X>>2]=r;c[ga>>2]=c[xb>>2]<<3;c[Aa>>2]=2;ec(c[yb>>2]|0,c[xb>>2]|0)}c[oa>>2]=c[xb>>2]<<3;q=c[oa>>2]|0;q=q-(Za(c[yb>>2]|0)|0)|0;r=(c[yb>>2]|0)+20|0;c[r>>2]=(c[r>>2]|0)+q}c[mb>>2]=0;do{c[t>>2]=0;c[t>>2]=(c[(c[Ab>>2]|0)+16>>2]|0?+g[s>>2]>65536.0:0)&1;r=h+((N(c[mb>>2]|0,(c[Ka>>2]|0)+(c[w>>2]|0)|0)|0)<<2)|0;Xa((c[u>>2]|0)+(c[mb>>2]<<2)|0,r+(c[w>>2]<<2)|0,c[Ka>>2]|0,c[qb>>2]|0,c[(c[Ab>>2]|0)+28>>2]|0,(c[kb>>2]|0)+16|0,(c[Ab>>2]|0)+148+(c[mb>>2]<<2)|0,c[t>>2]|0);r=(c[mb>>2]|0)+1|0;c[mb>>2]=r}while((r|0)<(c[qb>>2]|0));if((c[Aa>>2]|0)>3?(c[(c[Ab>>2]|0)+68>>2]|0)!=0:0)if((c[rb>>2]|0)!=0|(c[Ya>>2]|0)!=0)a=0;else S=63;else if(((c[rb>>2]|0)==0?(c[Aa>>2]|0)>((c[Ma>>2]|0)*12|0):0)^1|(c[Ya>>2]|0)!=0)a=0;else S=63;if((S|0)==63)if(!(c[(c[Ab>>2]|0)+20>>2]|0)?(c[(c[Ab>>2]|0)+24>>2]|0)>=5:0){if((c[Na>>2]|0)!=3?(c[(c[Ab>>2]|0)+116>>2]|0)!=0:0)a=(c[(c[Ab>>2]|0)+64>>2]|0)==5010;else a=0;a=a^1}else a=0;c[x>>2]=a&1;c[Ua>>2]=c[(c[Ab>>2]|0)+100>>2];c[U>>2]=$a(c[Ab>>2]|0,h,c[v>>2]|0,c[qb>>2]|0,c[Ka>>2]|0,c[Ua>>2]|0,Qa,Ra,y,c[x>>2]|0,c[Aa>>2]|0)|0;if(!(!(+g[Ra>>2]>.4000000059604645)?!(+g[(c[Ab>>2]|0)+108>>2]>.4000000059604645):0))S=70;do if((S|0)==70){if(c[(c[Ab>>2]|0)+120>>2]|0?!(+g[(c[Ab>>2]|0)+120+4>>2]>.3):0)break;if(!(+(c[Qa>>2]|0)>+(c[(c[Ab>>2]|0)+104>>2]|0)*1.26)?!(+(c[Qa>>2]|0)<+(c[(c[Ab>>2]|0)+104>>2]|0)*.79):0)break;c[qa>>2]=1}while(0);if(!(c[U>>2]|0)){if((c[rb>>2]|0)==0?((c[oa>>2]|0)+16|0)<=(c[ga>>2]|0):0)_b(c[yb>>2]|0,0,1)}else{_b(c[yb>>2]|0,1,1);c[Qa>>2]=(c[Qa>>2]|0)+1;c[z>>2]=32-(Q(c[Qa>>2]|0)|0)-5;ac(c[yb>>2]|0,c[z>>2]|0,6);bc(c[yb>>2]|0,(c[Qa>>2]|0)-(16<<c[z>>2])|0,4+(c[z>>2]|0)|0);c[Qa>>2]=(c[Qa>>2]|0)-1;bc(c[yb>>2]|0,c[y>>2]|0,3);$b(c[yb>>2]|0,c[Ua>>2]|0,25425,2)}c[ub>>2]=0;c[La>>2]=0;if((c[(c[Ab>>2]|0)+24>>2]|0)>=1?(c[(c[Ab>>2]|0)+68>>2]|0)==0:0)c[ub>>2]=ab(h,(c[Ka>>2]|0)+(c[w>>2]|0)|0,c[qb>>2]|0,pa,P)|0;if((c[Na>>2]|0)>0?(z=(Za(c[yb>>2]|0)|0)+3|0,(z|0)<=(c[ga>>2]|0)):0){if(c[ub>>2]|0)c[La>>2]=c[V>>2]}else{c[ub>>2]=0;c[vb>>2]=1}z=(N(c[qb>>2]|0,c[Ka>>2]|0)|0)<<2;d=l;l=l+((1*z|0)+15&-16)|0;z=(N(c[tb>>2]|0,c[qb>>2]|0)|0)<<2;p=l;l=l+((1*z|0)+15&-16)|0;z=(N(c[tb>>2]|0,c[qb>>2]|0)|0)<<2;o=l;l=l+((1*z|0)+15&-16)|0;if(c[La>>2]|0)a=(c[(c[Ab>>2]|0)+24>>2]|0)>=8;else a=0;c[M>>2]=a&1;z=(N(c[Ma>>2]|0,c[tb>>2]|0)|0)<<2;f=l;l=l+((1*z|0)+15&-16)|0;a:do if(c[M>>2]|0){bb(c[kb>>2]|0,0,h,d,c[Ma>>2]|0,c[qb>>2]|0,c[Na>>2]|0,c[(c[Ab>>2]|0)+28>>2]|0,c[(c[Ab>>2]|0)+72>>2]|0);la(c[kb>>2]|0,d,p,c[W>>2]|0,c[Ma>>2]|0,c[Na>>2]|0);Tc(c[kb>>2]|0,c[W>>2]|0,c[sb>>2]|0,p,f,c[Ma>>2]|0);c[lb>>2]=0;while(1){if((c[lb>>2]|0)>=(N(c[Ma>>2]|0,c[tb>>2]|0)|0))break a;z=f+(c[lb>>2]<<2)|0;g[z>>2]=+g[z>>2]+ +(c[Na>>2]|0)*.5;c[lb>>2]=(c[lb>>2]|0)+1}}while(0);bb(c[kb>>2]|0,c[La>>2]|0,h,d,c[Ma>>2]|0,c[qb>>2]|0,c[Na>>2]|0,c[(c[Ab>>2]|0)+28>>2]|0,c[(c[Ab>>2]|0)+72>>2]|0);if((c[qb>>2]|0)==2&(c[Ma>>2]|0)==1)c[P>>2]=0;la(c[kb>>2]|0,d,p,c[W>>2]|0,c[Ma>>2]|0,c[Na>>2]|0);b:do if(c[(c[Ab>>2]|0)+68>>2]|0){c[lb>>2]=2;while(1){if((c[lb>>2]|0)>=(c[sb>>2]|0))break b;if(+g[p+(c[lb>>2]<<2)>>2]<+g[p>>2]*9.999999747378752e-05)j=+g[p+(c[lb>>2]<<2)>>2];else j=+g[p>>2]*9.999999747378752e-05;g[p+(c[lb>>2]<<2)>>2]=j;if(+g[p+(c[lb>>2]<<2)>>2]>1.0000000036274937e-15)j=+g[p+(c[lb>>2]<<2)>>2];else j=1.0000000036274937e-15;g[p+(c[lb>>2]<<2)>>2]=j;c[lb>>2]=(c[lb>>2]|0)+1}}while(0);Tc(c[kb>>2]|0,c[W>>2]|0,c[sb>>2]|0,p,o,c[Ma>>2]|0);z=(N(c[Ma>>2]|0,c[tb>>2]|0)|0)<<2;e=l;l=l+((1*z|0)+15&-16)|0;aj(e|0,0,c[sb>>2]<<2|0)|0;do if(!(c[rb>>2]|0)){if(!(c[(c[Ab>>2]|0)+192>>2]|0))break;if(c[(c[Ab>>2]|0)+68>>2]|0)break;g[H>>2]=0.0;g[I>>2]=0.0;c[A>>2]=0;if(2>(c[(c[Ab>>2]|0)+92>>2]|0))a=2;else a=c[(c[Ab>>2]|0)+92>>2]|0;c[G>>2]=a;c[mb>>2]=0;while(1){if((c[mb>>2]|0)>=(c[Ma>>2]|0))break;c[lb>>2]=0;while(1){if((c[lb>>2]|0)>=(c[G>>2]|0))break;z=N(c[tb>>2]|0,c[mb>>2]|0)|0;if(+g[(c[(c[Ab>>2]|0)+192>>2]|0)+(z+(c[lb>>2]|0)<<2)>>2]<.25){z=N(c[tb>>2]|0,c[mb>>2]|0)|0;j=+g[(c[(c[Ab>>2]|0)+192>>2]|0)+(z+(c[lb>>2]|0)<<2)>>2]}else j=.25;do if(j>-2.0){z=N(c[tb>>2]|0,c[mb>>2]|0)|0;if(!(+g[(c[(c[Ab>>2]|0)+192>>2]|0)+(z+(c[lb>>2]|0)<<2)>>2]<.25)){j=.25;break}z=N(c[tb>>2]|0,c[mb>>2]|0)|0;j=+g[(c[(c[Ab>>2]|0)+192>>2]|0)+(z+(c[lb>>2]|0)<<2)>>2]}else j=-2.0;while(0);g[B>>2]=j;if(+g[B>>2]>0.0)g[B>>2]=+g[B>>2]*.5;g[H>>2]=+g[H>>2]+ +g[B>>2]*+((b[(c[Z>>2]|0)+((c[lb>>2]|0)+1<<1)>>1]|0)-(b[(c[Z>>2]|0)+(c[lb>>2]<<1)>>1]|0)|0);c[A>>2]=(c[A>>2]|0)+((b[(c[Z>>2]|0)+((c[lb>>2]|0)+1<<1)>>1]|0)-(b[(c[Z>>2]|0)+(c[lb>>2]<<1)>>1]|0));g[I>>2]=+g[I>>2]+ +g[B>>2]*+(1+(c[lb>>2]<<1)-(c[G>>2]|0)|0);c[lb>>2]=(c[lb>>2]|0)+1}c[mb>>2]=(c[mb>>2]|0)+1}g[H>>2]=+g[H>>2]/+(c[A>>2]|0);g[H>>2]=+g[H>>2]+.20000000298023224;B=N(c[Ma>>2]|0,(c[G>>2]|0)-1|0)|0;B=N(B,(c[G>>2]|0)+1|0)|0;g[I>>2]=+g[I>>2]*6.0/+(N(B,c[G>>2]|0)|0);g[I>>2]=+g[I>>2]*.5;if((+g[I>>2]<.03099999949336052?+g[I>>2]:.03099999949336052)>-.03099999949336052)j=+g[I>>2]<.03099999949336052?+g[I>>2]:.03099999949336052;else j=-.03099999949336052;g[I>>2]=j;c[C>>2]=0;while(1){if((b[(c[Z>>2]|0)+((c[C>>2]|0)+1<<1)>>1]|0)>=((b[(c[Z>>2]|0)+(c[G>>2]<<1)>>1]|0)/2|0|0))break;c[C>>2]=(c[C>>2]|0)+1}c[D>>2]=0;c[lb>>2]=0;while(1){if((c[lb>>2]|0)>=(c[G>>2]|0))break;g[E>>2]=+g[H>>2]+ +g[I>>2]*+((c[lb>>2]|0)-(c[C>>2]|0)|0);j=+g[(c[(c[Ab>>2]|0)+192>>2]|0)+(c[lb>>2]<<2)>>2];if((c[Ma>>2]|0)==2){if(j>+g[(c[(c[Ab>>2]|0)+192>>2]|0)+((c[tb>>2]|0)+(c[lb>>2]|0)<<2)>>2])a=c[lb>>2]|0;else a=(c[tb>>2]|0)+(c[lb>>2]|0)|0;g[F>>2]=+g[(c[(c[Ab>>2]|0)+192>>2]|0)+(a<<2)>>2]}else g[F>>2]=j;g[F>>2]=+g[F>>2]<0.0?+g[F>>2]:0.0;g[F>>2]=+g[F>>2]-+g[E>>2];if(+g[F>>2]>.25){g[e+(c[lb>>2]<<2)>>2]=+g[F>>2]-.25;c[D>>2]=(c[D>>2]|0)+1}c[lb>>2]=(c[lb>>2]|0)+1}c:do if((c[D>>2]|0)>=3){g[H>>2]=+g[H>>2]+.25;if(+g[H>>2]>0.0){g[H>>2]=0.0;g[I>>2]=0.0;aj(e|0,0,c[G>>2]<<2|0)|0;break}c[lb>>2]=0;while(1){if((c[lb>>2]|0)>=(c[G>>2]|0))break c;if(0.0>+g[e+(c[lb>>2]<<2)>>2]-.25)j=0.0;else j=+g[e+(c[lb>>2]<<2)>>2]-.25;g[e+(c[lb>>2]<<2)>>2]=j;c[lb>>2]=(c[lb>>2]|0)+1}}while(0);g[H>>2]=+g[H>>2]+.20000000298023224;g[ha>>2]=+g[I>>2]*64.0;g[va>>2]=+g[H>>2]}while(0);if(!(c[(c[Ab>>2]|0)+68>>2]|0)){g[J>>2]=-10.0;g[K>>2]=0.0;if(c[La>>2]|0)j=+(c[Na>>2]|0)*.5;else j=0.0;g[L>>2]=j;c[lb>>2]=c[rb>>2];while(1){if((c[lb>>2]|0)>=(c[sb>>2]|0))break;if(+g[J>>2]-1.0>+g[o+(c[lb>>2]<<2)>>2]-+g[L>>2])j=+g[J>>2]-1.0;else j=+g[o+(c[lb>>2]<<2)>>2]-+g[L>>2];g[J>>2]=j;if((c[Ma>>2]|0)==2){if(+g[J>>2]>+g[o+((c[lb>>2]|0)+(c[tb>>2]|0)<<2)>>2]-+g[L>>2])j=+g[J>>2];else j=+g[o+((c[lb>>2]|0)+(c[tb>>2]|0)<<2)>>2]-+g[L>>2];g[J>>2]=j}g[K>>2]=+g[K>>2]+ +g[J>>2];c[lb>>2]=(c[lb>>2]|0)+1}g[K>>2]=+g[K>>2]/+((c[sb>>2]|0)-(c[rb>>2]|0)|0);g[wa>>2]=+g[K>>2]-+g[(c[Ab>>2]|0)+196>>2];if(3.0<(-1.5>+g[wa>>2]?-1.5:+g[wa>>2]))j=3.0;else j=-1.5>+g[wa>>2]?-1.5:+g[wa>>2];g[wa>>2]=j;L=(c[Ab>>2]|0)+196|0;g[L>>2]=+g[L>>2]+ +g[wa>>2]*.019999999552965164}if(!(c[M>>2]|0)){M=(N(c[Ma>>2]|0,c[tb>>2]|0)|0)<<2;_i(f|0,o|0,M+0|0)|0}do if((c[Na>>2]|0)>0){M=(Za(c[yb>>2]|0)|0)+3|0;if(c[ub>>2]|0?1:(M|0)>(c[ga>>2]|0))break;if((c[(c[Ab>>2]|0)+24>>2]|0)<5)break;if(c[(c[Ab>>2]|0)+68>>2]|0)break;if(!(cb(o,c[nb>>2]|0,c[tb>>2]|0,c[rb>>2]|0,c[sb>>2]|0,c[Ma>>2]|0)|0))break;c[ub>>2]=1;c[La>>2]=c[V>>2];bb(c[kb>>2]|0,c[La>>2]|0,h,d,c[Ma>>2]|0,c[qb>>2]|0,c[Na>>2]|0,c[(c[Ab>>2]|0)+28>>2]|0,c[(c[Ab>>2]|0)+72>>2]|0);la(c[kb>>2]|0,d,p,c[W>>2]|0,c[Ma>>2]|0,c[Na>>2]|0);Tc(c[kb>>2]|0,c[W>>2]|0,c[sb>>2]|0,p,o,c[Ma>>2]|0);c[lb>>2]=0;while(1){if((c[lb>>2]|0)>=(N(c[Ma>>2]|0,c[tb>>2]|0)|0))break;M=f+(c[lb>>2]<<2)|0;g[M>>2]=+g[M>>2]+ +(c[Na>>2]|0)*.5;c[lb>>2]=(c[lb>>2]|0)+1}g[pa>>2]=.20000000298023224}while(0);do if((c[Na>>2]|0)>0){M=(Za(c[yb>>2]|0)|0)+3|0;if((M|0)>(c[ga>>2]|0))break;_b(c[yb>>2]|0,c[ub>>2]|0,3)}while(0);m=(N(c[Ma>>2]|0,c[Ka>>2]|0)|0)<<2;n=l;l=l+((1*m|0)+15&-16)|0;na(c[kb>>2]|0,d,n,p,c[W>>2]|0,c[Ma>>2]|0,c[V>>2]|0);m=l;l=l+((1*(c[tb>>2]<<2)|0)+15&-16)|0;d:do if((c[rb>>2]|0)==0?(c[X>>2]|0)>=((c[Ma>>2]|0)*15|0):0){if((c[(c[Ab>>2]|0)+24>>2]|0)<2){S=192;break}if(c[(c[Ab>>2]|0)+68>>2]|0){S=192;break}do if((c[X>>2]|0)>=40){if((c[X>>2]|0)<60){c[R>>2]=6;break}if((c[X>>2]|0)<100){c[R>>2]=4;break}else{c[R>>2]=3;break}}else c[R>>2]=12;while(0);c[R>>2]=c[R>>2]<<1;c[T>>2]=db(c[kb>>2]|0,c[W>>2]|0,c[ub>>2]|0,m,c[R>>2]|0,n,c[Ka>>2]|0,c[Na>>2]|0,O,+g[pa>>2],c[P>>2]|0)|0;c[lb>>2]=c[W>>2];while(1){if((c[lb>>2]|0)>=(c[sb>>2]|0))break d;c[m+(c[lb>>2]<<2)>>2]=c[m+((c[W>>2]|0)-1<<2)>>2];c[lb>>2]=(c[lb>>2]|0)+1}}else S=192;while(0);if((S|0)==192){c[O>>2]=0;c[lb>>2]=0;while(1){if((c[lb>>2]|0)>=(c[sb>>2]|0))break;c[m+(c[lb>>2]<<2)>>2]=c[ub>>2];c[lb>>2]=(c[lb>>2]|0)+1}c[T>>2]=0}S=(N(c[Ma>>2]|0,c[tb>>2]|0)|0)<<2;k=l;l=l+((1*S|0)+15&-16)|0;Ic(c[kb>>2]|0,c[rb>>2]|0,c[sb>>2]|0,c[W>>2]|0,o,c[nb>>2]|0,c[ga>>2]|0,k,c[yb>>2]|0,c[Ma>>2]|0,c[Na>>2]|0,c[Aa>>2]|0,c[(c[Ab>>2]|0)+12>>2]|0,(c[Ab>>2]|0)+84|0,(c[(c[Ab>>2]|0)+24>>2]|0)>=4&1,c[(c[Ab>>2]|0)+56>>2]|0,c[(c[Ab>>2]|0)+68>>2]|0);eb(c[rb>>2]|0,c[sb>>2]|0,c[ub>>2]|0,m,c[Na>>2]|0,c[T>>2]|0,c[yb>>2]|0);T=(Za(c[yb>>2]|0)|0)+4|0;if((T|0)<=(c[ga>>2]|0)){e:do if(c[(c[Ab>>2]|0)+68>>2]|0){c[(c[Ab>>2]|0)+100>>2]=0;c[(c[Ab>>2]|0)+80>>2]=2}else{do if(!(c[La>>2]|0)){if((c[(c[Ab>>2]|0)+24>>2]|0)<3)break;if(c[rb>>2]|0?1:(c[Aa>>2]|0)<((c[Ma>>2]|0)*10|0))break;if(c[U>>2]|0)a=(c[La>>2]|0)!=0^1;else a=0;W=ra(c[kb>>2]|0,n,(c[Ab>>2]|0)+88|0,c[(c[Ab>>2]|0)+80>>2]|0,(c[Ab>>2]|0)+96|0,(c[Ab>>2]|0)+100|0,a&1,c[W>>2]|0,c[Ma>>2]|0,c[V>>2]|0)|0;c[(c[Ab>>2]|0)+80>>2]=W;break e}while(0);c[(c[Ab>>2]|0)+80>>2]=(c[(c[Ab>>2]|0)+24>>2]|0)==0?0:2}while(0);$b(c[yb>>2]|0,c[(c[Ab>>2]|0)+80>>2]|0,25428,5)}i=l;l=l+((1*(c[tb>>2]<<2)|0)+15&-16)|0;g[ua>>2]=+fb(o,f,c[tb>>2]|0,c[rb>>2]|0,c[sb>>2]|0,c[Ma>>2]|0,i,c[(c[Ab>>2]|0)+60>>2]|0,c[(c[kb>>2]|0)+56>>2]|0,c[ub>>2]|0,c[(c[Ab>>2]|0)+44>>2]|0,c[(c[Ab>>2]|0)+52>>2]|0,c[Z>>2]|0,c[Na>>2]|0,c[X>>2]|0,sa,c[(c[Ab>>2]|0)+68>>2]|0,e);if(c[(c[Ab>>2]|0)+68>>2]|0){if(8<((c[X>>2]|0)/3|0|0))a=8;else a=(c[X>>2]|0)/3|0;c[i>>2]=a}d=l;l=l+((1*(c[tb>>2]<<2)|0)+15&-16)|0;Pa(c[kb>>2]|0,d,c[Na>>2]|0,c[Ma>>2]|0);c[Y>>2]=6;c[ga>>2]=c[ga>>2]<<3;c[ma>>2]=0;c[oa>>2]=Gb(c[yb>>2]|0)|0;c[lb>>2]=c[rb>>2];while(1){a=c[Ma>>2]|0;if((c[lb>>2]|0)>=(c[sb>>2]|0))break;a=N(a,(b[(c[Z>>2]|0)+((c[lb>>2]|0)+1<<1)>>1]|0)-(b[(c[Z>>2]|0)+(c[lb>>2]<<1)>>1]|0)|0)|0;c[aa>>2]=a<<c[Na>>2];a=c[aa>>2]|0;if((c[aa>>2]<<3|0)<((48>(c[aa>>2]|0)?48:c[aa>>2]|0)|0))a=a<<3;else a=48>(a|0)?48:c[aa>>2]|0;c[ba>>2]=a;c[ca>>2]=c[Y>>2];c[da>>2]=0;c[ea>>2]=0;while(1){if(((c[oa>>2]|0)+(c[ca>>2]<<3)|0)>=((c[ga>>2]|0)-(c[ma>>2]|0)|0))break;if((c[da>>2]|0)>=(c[d+(c[lb>>2]<<2)>>2]|0))break;c[fa>>2]=(c[ea>>2]|0)<(c[i+(c[lb>>2]<<2)>>2]|0)&1;_b(c[yb>>2]|0,c[fa>>2]|0,c[ca>>2]|0);c[oa>>2]=Gb(c[yb>>2]|0)|0;if(!(c[fa>>2]|0))break;c[da>>2]=(c[da>>2]|0)+(c[ba>>2]|0);c[ma>>2]=(c[ma>>2]|0)+(c[ba>>2]|0);c[ca>>2]=1;c[ea>>2]=(c[ea>>2]|0)+1}if(c[ea>>2]|0)c[Y>>2]=2>((c[Y>>2]|0)-1|0)?2:(c[Y>>2]|0)-1|0;c[i+(c[lb>>2]<<2)>>2]=c[da>>2];c[lb>>2]=(c[lb>>2]|0)+1}if((a|0)==2){if(c[Na>>2]|0)c[Sa>>2]=gb(c[kb>>2]|0,n,c[Na>>2]|0,c[Ka>>2]|0)|0;fa=ja(+((c[Ga>>2]|0)/1e3|0|0),196,280,21,c[(c[Ab>>2]|0)+188>>2]|0)|0;c[(c[Ab>>2]|0)+188>>2]=fa;if((c[rb>>2]|0)>(c[(c[Ab>>2]|0)+188>>2]|0))a=c[rb>>2]|0;else a=c[(c[Ab>>2]|0)+188>>2]|0;do if((c[sb>>2]|0)>=(a|0))if((c[rb>>2]|0)>(c[(c[Ab>>2]|0)+188>>2]|0)){a=c[rb>>2]|0;break}else{a=c[(c[Ab>>2]|0)+188>>2]|0;break}else a=c[sb>>2]|0;while(0);c[(c[Ab>>2]|0)+188>>2]=a}c[Ia>>2]=5;if(((c[oa>>2]|0)+48|0)<=((c[ga>>2]|0)-(c[ma>>2]|0)|0)){if(c[(c[Ab>>2]|0)+68>>2]|0)c[Ia>>2]=5;else c[Ia>>2]=hb(c[kb>>2]|0,n,o,c[sb>>2]|0,c[Na>>2]|0,c[Ma>>2]|0,c[Ka>>2]|0,(c[Ab>>2]|0)+120|0,(c[Ab>>2]|0)+184|0,+g[pa>>2],c[(c[Ab>>2]|0)+188>>2]|0,+g[ha>>2],c[(c[Ab>>2]|0)+72>>2]|0)|0;$b(c[yb>>2]|0,c[Ia>>2]|0,25432,7);c[oa>>2]=Gb(c[yb>>2]|0)|0}if((c[Ba>>2]|0)>0){c[xa>>2]=(c[(c[kb>>2]|0)+36>>2]|0)-(c[Na>>2]|0);if((c[xb>>2]|0)<(1275>>3-(c[Na>>2]|0)|0))a=c[xb>>2]|0;else a=1275>>3-(c[Na>>2]|0);c[xb>>2]=a;c[ia>>2]=(c[Ba>>2]|0)-(((c[Ma>>2]|0)*40|0)+20<<3);if(c[(c[Ab>>2]|0)+52>>2]|0)c[ia>>2]=(c[ia>>2]|0)+(c[(c[Ab>>2]|0)+172>>2]>>c[xa>>2]);c[Ea>>2]=ib(c[kb>>2]|0,(c[Ab>>2]|0)+120|0,c[ia>>2]|0,c[Na>>2]|0,c[Ga>>2]|0,c[(c[Ab>>2]|0)+92>>2]|0,c[Ma>>2]|0,c[(c[Ab>>2]|0)+188>>2]|0,c[(c[Ab>>2]|0)+52>>2]|0,+g[(c[Ab>>2]|0)+184>>2],c[sa>>2]|0,+g[pa>>2],c[qa>>2]|0,+g[ua>>2],c[(c[Ab>>2]|0)+64>>2]|0,c[(c[Ab>>2]|0)+68>>2]|0,(c[(c[Ab>>2]|0)+192>>2]|0)!=0&1,+g[va>>2],+g[wa>>2])|0;c[Ea>>2]=(c[Ea>>2]|0)+(c[oa>>2]|0);c[ka>>2]=((c[oa>>2]|0)+(c[ma>>2]|0)+64-1>>6)+2-(c[za>>2]|0);c[Aa>>2]=(c[Ea>>2]|0)+32>>6;c[Aa>>2]=(c[ka>>2]|0)>(c[Aa>>2]|0)?c[ka>>2]|0:c[Aa>>2]|0;if((c[xb>>2]|0)<((c[Aa>>2]|0)+(c[za>>2]|0)|0))a=c[xb>>2]|0;else a=(c[Aa>>2]|0)+(c[za>>2]|0)|0;c[Aa>>2]=a-(c[za>>2]|0);c[Da>>2]=(c[Ea>>2]|0)-(c[Ba>>2]|0);c[Ea>>2]=c[Aa>>2]<<6;if(c[Ya>>2]|0){c[Aa>>2]=2;c[Ea>>2]=128;c[Da>>2]=0}if((c[(c[Ab>>2]|0)+176>>2]|0)<970){wa=(c[Ab>>2]|0)+176|0;c[wa>>2]=(c[wa>>2]|0)+1;g[Ca>>2]=1.0/+((c[(c[Ab>>2]|0)+176>>2]|0)+20|0)}else g[Ca>>2]=1.0000000474974513e-03;if(c[(c[Ab>>2]|0)+52>>2]|0){wa=(c[Ab>>2]|0)+164|0;c[wa>>2]=(c[wa>>2]|0)+((c[Ea>>2]|0)-(c[Ba>>2]|0))}if(c[(c[Ab>>2]|0)+52>>2]|0){Da=N(c[Da>>2]|0,1<<c[xa>>2])|0;Ea=(c[Ab>>2]|0)+168|0;c[Ea>>2]=(c[Ea>>2]|0)+~~(+g[Ca>>2]*+(Da-(c[(c[Ab>>2]|0)+172>>2]|0)-(c[(c[Ab>>2]|0)+168>>2]|0)|0));c[(c[Ab>>2]|0)+172>>2]=0-(c[(c[Ab>>2]|0)+168>>2]|0)}do if(c[(c[Ab>>2]|0)+52>>2]|0){if((c[(c[Ab>>2]|0)+164>>2]|0)>=0)break;c[ya>>2]=(0-(c[(c[Ab>>2]|0)+164>>2]|0)|0)/64|0;c[Aa>>2]=(c[Aa>>2]|0)+(c[Ya>>2]|0?0:c[ya>>2]|0);c[(c[Ab>>2]|0)+164>>2]=0}while(0);if((c[xb>>2]|0)<((c[Aa>>2]|0)+(c[za>>2]|0)|0))a=c[xb>>2]|0;else a=(c[Aa>>2]|0)+(c[za>>2]|0)|0;c[xb>>2]=a;ec(c[yb>>2]|0,c[xb>>2]|0)}e=l;l=l+((1*(c[tb>>2]<<2)|0)+15&-16)|0;f=l;l=l+((1*(c[tb>>2]<<2)|0)+15&-16)|0;h=l;l=l+((1*(c[tb>>2]<<2)|0)+15&-16)|0;Ea=c[xb>>2]<<3<<3;c[Ha>>2]=Ea-(Gb(c[yb>>2]|0)|0)-1;if((c[ub>>2]|0)!=0&(c[Na>>2]|0)>=2)a=(c[Ha>>2]|0)>=((c[Na>>2]|0)+2<<3|0);else a=0;c[Va>>2]=a?8:0;c[Ha>>2]=(c[Ha>>2]|0)-(c[Va>>2]|0);c[Ja>>2]=(c[sb>>2]|0)-1;if(c[(c[Ab>>2]|0)+120>>2]|0){do if((c[Ga>>2]|0)>=((c[Ma>>2]|0)*32e3|0)){if((c[Ga>>2]|0)<((c[Ma>>2]|0)*48e3|0)){c[Fa>>2]=16;break}if((c[Ga>>2]|0)<((c[Ma>>2]|0)*6e4|0)){c[Fa>>2]=18;break}if((c[Ga>>2]|0)<((c[Ma>>2]|0)*8e4|0)){c[Fa>>2]=19;break}else{c[Fa>>2]=20;break}}else c[Fa>>2]=13;while(0);if((c[(c[Ab>>2]|0)+120+24>>2]|0)>(c[Fa>>2]|0))a=c[(c[Ab>>2]|0)+120+24>>2]|0;else a=c[Fa>>2]|0;c[Ja>>2]=a}if(c[(c[Ab>>2]|0)+68>>2]|0)c[Ja>>2]=1;c[Oa>>2]=Uc(c[kb>>2]|0,c[rb>>2]|0,c[sb>>2]|0,i,d,c[Ia>>2]|0,(c[Ab>>2]|0)+188|0,Sa,c[Ha>>2]|0,Ta,f,e,h,c[Ma>>2]|0,c[Na>>2]|0,c[yb>>2]|0,1,c[(c[Ab>>2]|0)+92>>2]|0,c[Ja>>2]|0)|0;if(c[(c[Ab>>2]|0)+92>>2]|0){if(((c[(c[Ab>>2]|0)+92>>2]|0)-1|0)>(c[Oa>>2]|0))a=(c[(c[Ab>>2]|0)+92>>2]|0)-1|0;else a=c[Oa>>2]|0;d=c[(c[Ab>>2]|0)+92>>2]|0;do if(((c[(c[Ab>>2]|0)+92>>2]|0)+1|0)>=(a|0))if((d-1|0)>(c[Oa>>2]|0)){a=(c[(c[Ab>>2]|0)+92>>2]|0)-1|0;break}else{a=c[Oa>>2]|0;break}else a=d+1|0;while(0);d=c[Ab>>2]|0}else{a=c[Oa>>2]|0;d=c[Ab>>2]|0}c[d+92>>2]=a;Oc(c[kb>>2]|0,c[rb>>2]|0,c[sb>>2]|0,c[nb>>2]|0,k,e,c[yb>>2]|0,c[Ma>>2]|0);Ia=N(c[Ma>>2]|0,c[tb>>2]|0)|0;Ja=l;l=l+((1*Ia|0)+15&-16)|0;ta(1,c[kb>>2]|0,c[rb>>2]|0,c[sb>>2]|0,n,(c[Ma>>2]|0)==2?n+(c[Ka>>2]<<2)|0:0,Ja,p,f,c[La>>2]|0,c[(c[Ab>>2]|0)+80>>2]|0,c[Sa>>2]|0,c[(c[Ab>>2]|0)+188>>2]|0,m,(c[xb>>2]<<6)-(c[Va>>2]|0)|0,c[Ta>>2]|0,c[yb>>2]|0,c[Na>>2]|0,c[Oa>>2]|0,(c[Ab>>2]|0)+76|0,c[(c[Ab>>2]|0)+72>>2]|0);if((c[Va>>2]|0)>0){c[Wa>>2]=(c[(c[Ab>>2]|0)+116>>2]|0)<2&1;bc(c[yb>>2]|0,c[Wa>>2]|0,1)}Sa=c[kb>>2]|0;Ta=c[rb>>2]|0;Va=c[sb>>2]|0;Wa=c[nb>>2]|0;kb=c[xb>>2]<<3;kb=kb-(Za(c[yb>>2]|0)|0)|0;Pc(Sa,Ta,Va,Wa,k,e,h,kb,c[yb>>2]|0,c[Ma>>2]|0);f:do if(c[Ya>>2]|0){c[lb>>2]=0;while(1){if((c[lb>>2]|0)>=(N(c[Ma>>2]|0,c[tb>>2]|0)|0))break f;g[(c[nb>>2]|0)+(c[lb>>2]<<2)>>2]=-28.0;c[lb>>2]=(c[lb>>2]|0)+1}}while(0);c[(c[Ab>>2]|0)+104>>2]=c[Qa>>2];g[(c[Ab>>2]|0)+108>>2]=+g[Ra>>2];c[(c[Ab>>2]|0)+112>>2]=c[Ua>>2];if((c[qb>>2]|0)==2&(c[Ma>>2]|0)==1)_i((c[nb>>2]|0)+(c[tb>>2]<<2)|0,c[nb>>2]|0,(c[tb>>2]<<2)+0|0)|0;g:do if(c[ub>>2]|0){c[lb>>2]=0;while(1){if((c[lb>>2]|0)>=(N(c[qb>>2]|0,c[tb>>2]|0)|0))break g;if(+g[(c[ob>>2]|0)+(c[lb>>2]<<2)>>2]<+g[(c[nb>>2]|0)+(c[lb>>2]<<2)>>2])a=(c[ob>>2]|0)+(c[lb>>2]<<2)|0;else a=(c[nb>>2]|0)+(c[lb>>2]<<2)|0;g[(c[ob>>2]|0)+(c[lb>>2]<<2)>>2]=+g[a>>2];c[lb>>2]=(c[lb>>2]|0)+1}}else{kb=(N(c[qb>>2]|0,c[tb>>2]|0)|0)<<2;_i(c[pb>>2]|0,c[ob>>2]|0,kb+0|0)|0;kb=(N(c[qb>>2]|0,c[tb>>2]|0)|0)<<2;_i(c[ob>>2]|0,c[nb>>2]|0,kb+0|0)|0}while(0);c[mb>>2]=0;do{c[lb>>2]=0;while(1){if((c[lb>>2]|0)>=(c[rb>>2]|0))break;kb=N(c[mb>>2]|0,c[tb>>2]|0)|0;g[(c[nb>>2]|0)+(kb+(c[lb>>2]|0)<<2)>>2]=0.0;kb=N(c[mb>>2]|0,c[tb>>2]|0)|0;g[(c[pb>>2]|0)+(kb+(c[lb>>2]|0)<<2)>>2]=-28.0;kb=N(c[mb>>2]|0,c[tb>>2]|0)|0;g[(c[ob>>2]|0)+(kb+(c[lb>>2]|0)<<2)>>2]=-28.0;c[lb>>2]=(c[lb>>2]|0)+1}c[lb>>2]=c[sb>>2];while(1){if((c[lb>>2]|0)>=(c[tb>>2]|0))break;kb=N(c[mb>>2]|0,c[tb>>2]|0)|0;g[(c[nb>>2]|0)+(kb+(c[lb>>2]|0)<<2)>>2]=0.0;kb=N(c[mb>>2]|0,c[tb>>2]|0)|0;g[(c[pb>>2]|0)+(kb+(c[lb>>2]|0)<<2)>>2]=-28.0;kb=N(c[mb>>2]|0,c[tb>>2]|0)|0;g[(c[ob>>2]|0)+(kb+(c[lb>>2]|0)<<2)>>2]=-28.0;c[lb>>2]=(c[lb>>2]|0)+1}kb=(c[mb>>2]|0)+1|0;c[mb>>2]=kb}while((kb|0)<(c[qb>>2]|0));d=(c[Ab>>2]|0)+116|0;if((c[ub>>2]|0)!=0|(c[vb>>2]|0)!=0)a=(c[d>>2]|0)+1|0;else a=0;c[d>>2]=a;c[(c[Ab>>2]|0)+76>>2]=c[(c[yb>>2]|0)+28>>2];fc(c[yb>>2]|0);if(jb(c[yb>>2]|0)|0){c[zb>>2]=-3;c[wb>>2]=1}else{c[zb>>2]=c[xb>>2];c[wb>>2]=1}_(c[Bb>>2]|0);Bb=c[zb>>2]|0;l=Cb;return Bb|0}function Za(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=(c[(c[d>>2]|0)+20>>2]|0)-(32-(Q(c[(c[d>>2]|0)+28>>2]|0)|0))|0;l=b;return a|0}function _a(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+16|0;f=k+12|0;h=k+8|0;i=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;g[i>>2]=0.0;g[j>>2]=0.0;c[h>>2]=0;while(1){d=+g[i>>2];if((c[h>>2]|0)>=(c[f>>2]|0))break;if(d>+g[(c[e>>2]|0)+(c[h>>2]<<2)>>2])d=+g[i>>2];else d=+g[(c[e>>2]|0)+(c[h>>2]<<2)>>2];g[i>>2]=d;if(+g[j>>2]<+g[(c[e>>2]|0)+(c[h>>2]<<2)>>2])d=+g[j>>2];else d=+g[(c[e>>2]|0)+(c[h>>2]<<2)>>2];g[j>>2]=d;c[h>>2]=(c[h>>2]|0)+1}l=k;return +(d>-+g[j>>2]?+g[i>>2]:-+g[j>>2])}function $a(a,b,d,e,f,h,i,j,k,m,n){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0;O=l;l=l+96|0;s=O+92|0;t=O+88|0;u=O+84|0;v=O+80|0;w=O+76|0;x=O+72|0;y=O+68|0;B=O+64|0;C=O+60|0;o=O+56|0;p=O+52|0;D=O+48|0;E=O+40|0;F=O+36|0;G=O+32|0;H=O+28|0;q=O+24|0;I=O+20|0;J=O+16|0;K=O+12|0;L=O+8|0;r=O+4|0;M=O;c[s>>2]=a;c[t>>2]=b;c[u>>2]=d;c[v>>2]=e;c[w>>2]=f;c[x>>2]=h;c[y>>2]=i;c[B>>2]=j;c[C>>2]=k;c[o>>2]=m;c[p>>2]=n;c[F>>2]=c[c[s>>2]>>2];c[K>>2]=c[(c[F>>2]|0)+4>>2];k=N(c[v>>2]|0,(c[w>>2]|0)+1024|0)|0;c[L>>2]=$()|0;m=l;l=l+((1*(k<<2)|0)+15&-16)|0;c[E>>2]=m;c[E+4>>2]=m+((c[w>>2]|0)+1024<<2);c[D>>2]=0;do{_i(c[E+(c[D>>2]<<2)>>2]|0,(c[u>>2]|0)+(c[D>>2]<<10<<2)|0,4096|0)|0;m=(c[t>>2]|0)+((N(c[D>>2]|0,(c[w>>2]|0)+(c[K>>2]|0)|0)|0)<<2)|0;_i((c[E+(c[D>>2]<<2)>>2]|0)+4096|0,m+(c[K>>2]<<2)|0,(c[w>>2]<<2)+0|0)|0;m=(c[D>>2]|0)+1|0;c[D>>2]=m}while((m|0)<(c[v>>2]|0));if(c[o>>2]|0){k=1024+(c[w>>2]|0)>>1;c[r>>2]=$()|0;m=l;l=l+((1*(k<<2)|0)+15&-16)|0;tc(E,m,1024+(c[w>>2]|0)|0,c[v>>2]|0,c[(c[s>>2]|0)+72>>2]|0);yc(m+2048|0,m,c[w>>2]|0,979,G,c[(c[s>>2]|0)+72>>2]|0);c[G>>2]=1024-(c[G>>2]|0);g[H>>2]=+Ac(m,1024,15,c[w>>2]|0,G,c[(c[s>>2]|0)+104>>2]|0,+g[(c[s>>2]|0)+108>>2],c[(c[s>>2]|0)+72>>2]|0);if((c[G>>2]|0)>1022)c[G>>2]=1022;g[H>>2]=+g[H>>2]*.699999988079071;if((c[(c[s>>2]|0)+56>>2]|0)>2)g[H>>2]=+g[H>>2]*.5;if((c[(c[s>>2]|0)+56>>2]|0)>4)g[H>>2]=+g[H>>2]*.5;if((c[(c[s>>2]|0)+56>>2]|0)>8)g[H>>2]=0.0;_(c[r>>2]|0)}else{g[H>>2]=0.0;c[G>>2]=15}g[q>>2]=.20000000298023224;m=(A((c[G>>2]|0)-(c[(c[s>>2]|0)+104>>2]|0)|0)|0)*10|0;if((m|0)>(c[G>>2]|0))g[q>>2]=+g[q>>2]+.20000000298023224;if((c[p>>2]|0)<25)g[q>>2]=+g[q>>2]+.10000000149011612;if((c[p>>2]|0)<35)g[q>>2]=+g[q>>2]+.10000000149011612;if(+g[(c[s>>2]|0)+108>>2]>.4000000059604645)g[q>>2]=+g[q>>2]-.10000000149011612;if(+g[(c[s>>2]|0)+108>>2]>.550000011920929)g[q>>2]=+g[q>>2]-.10000000149011612;g[q>>2]=+g[q>>2]>.20000000298023224?+g[q>>2]:.20000000298023224;if(+g[H>>2]<+g[q>>2]){g[H>>2]=0.0;c[I>>2]=0;c[J>>2]=0}else{if(+A(+(+g[H>>2]-+g[(c[s>>2]|0)+108>>2]))<.10000000149011612)g[H>>2]=+g[(c[s>>2]|0)+108>>2];c[J>>2]=~~+z(+(+g[H>>2]*32.0/3.0+.5))-1;if(0>((7<(c[J>>2]|0)?7:c[J>>2]|0)|0))a=0;else a=7<(c[J>>2]|0)?7:c[J>>2]|0;c[J>>2]=a;g[H>>2]=+((c[J>>2]|0)+1|0)*.09375;c[I>>2]=1}c[D>>2]=0;do{c[M>>2]=(c[(c[F>>2]|0)+44>>2]|0)-(c[K>>2]|0);if((c[(c[s>>2]|0)+104>>2]|0)>15)a=c[(c[s>>2]|0)+104>>2]|0;else a=15;c[(c[s>>2]|0)+104>>2]=a;k=(c[t>>2]|0)+((N(c[D>>2]|0,(c[w>>2]|0)+(c[K>>2]|0)|0)|0)<<2)|0;m=(c[s>>2]|0)+200+((N(c[D>>2]|0,c[K>>2]|0)|0)<<2)|0;_i(k|0,m|0,(c[K>>2]<<2)+0|0)|0;if(c[M>>2]|0){m=(c[t>>2]|0)+((N(c[D>>2]|0,(c[w>>2]|0)+(c[K>>2]|0)|0)|0)<<2)|0;Na(m+(c[K>>2]<<2)|0,(c[E+(c[D>>2]<<2)>>2]|0)+4096|0,c[(c[s>>2]|0)+104>>2]|0,c[(c[s>>2]|0)+104>>2]|0,c[M>>2]|0,-+g[(c[s>>2]|0)+108>>2],-+g[(c[s>>2]|0)+108>>2],c[(c[s>>2]|0)+112>>2]|0,c[(c[s>>2]|0)+112>>2]|0,0,0,c[(c[s>>2]|0)+72>>2]|0)}m=(c[t>>2]|0)+((N(c[D>>2]|0,(c[w>>2]|0)+(c[K>>2]|0)|0)|0)<<2)|0;Na(m+(c[K>>2]<<2)+(c[M>>2]<<2)|0,(c[E+(c[D>>2]<<2)>>2]|0)+4096+(c[M>>2]<<2)|0,c[(c[s>>2]|0)+104>>2]|0,c[G>>2]|0,(c[w>>2]|0)-(c[M>>2]|0)|0,-+g[(c[s>>2]|0)+108>>2],-+g[H>>2],c[(c[s>>2]|0)+112>>2]|0,c[x>>2]|0,c[(c[F>>2]|0)+60>>2]|0,c[K>>2]|0,c[(c[s>>2]|0)+72>>2]|0);m=(c[s>>2]|0)+200+((N(c[D>>2]|0,c[K>>2]|0)|0)<<2)|0;a=(c[t>>2]|0)+((N(c[D>>2]|0,(c[w>>2]|0)+(c[K>>2]|0)|0)|0)<<2)|0;_i(m|0,a+(c[w>>2]<<2)|0,(c[K>>2]<<2)+0|0)|0;a=(c[u>>2]|0)+(c[D>>2]<<10<<2)|0;if((c[w>>2]|0)>1024)$i(a|0,(c[E+(c[D>>2]<<2)>>2]|0)+(c[w>>2]<<2)|0,4096|0)|0;else{$i(a|0,(c[u>>2]|0)+(c[D>>2]<<10<<2)+(c[w>>2]<<2)|0,(1024-(c[w>>2]|0)<<2)+0|0)|0;$i((c[u>>2]|0)+(c[D>>2]<<10<<2)+4096+(0-(c[w>>2]|0)<<2)|0,(c[E+(c[D>>2]<<2)>>2]|0)+4096|0,(c[w>>2]<<2)+0|0)|0}m=(c[D>>2]|0)+1|0;c[D>>2]=m}while((m|0)<(c[v>>2]|0));g[c[B>>2]>>2]=+g[H>>2];c[c[y>>2]>>2]=c[G>>2];c[c[C>>2]>>2]=c[J>>2];M=c[I>>2]|0;_(c[L>>2]|0);l=O;return M|0}function ab(a,b,e,f,h){a=a|0;b=b|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=l;l=l+96|0;y=I+84|0;A=I+80|0;C=I+76|0;H=I+72|0;D=I+68|0;j=I+64|0;k=I+60|0;m=I+56|0;E=I+52|0;n=I+48|0;o=I+44|0;F=I+40|0;p=I+36|0;G=I+32|0;q=I+28|0;r=I+24|0;s=I+20|0;t=I+16|0;u=I+12|0;v=I+8|0;w=I+4|0;x=I;c[y>>2]=a;c[A>>2]=b;c[C>>2]=e;c[H>>2]=f;c[D>>2]=h;c[E>>2]=0;c[n>>2]=0;h=c[A>>2]|0;c[G>>2]=$()|0;e=l;l=l+((1*(h<<2)|0)+15&-16)|0;c[p>>2]=(c[A>>2]|0)/2|0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[C>>2]|0))break;c[r>>2]=0;g[k>>2]=0.0;g[m>>2]=0.0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[A>>2]|0))break;g[u>>2]=+g[(c[y>>2]|0)+((c[j>>2]|0)+(N(c[o>>2]|0,c[A>>2]|0)|0)<<2)>>2];g[v>>2]=+g[k>>2]+ +g[u>>2];g[k>>2]=+g[m>>2]+ +g[v>>2]-+g[u>>2]*2.0;g[m>>2]=+g[u>>2]-+g[v>>2]*.5;g[e+(c[j>>2]<<2)>>2]=+g[v>>2];c[j>>2]=(c[j>>2]|0)+1}a=e;b=a+48|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));g[q>>2]=0.0;g[k>>2]=0.0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[p>>2]|0))break;g[w>>2]=+g[e+(c[j>>2]<<1<<2)>>2]*+g[e+(c[j>>2]<<1<<2)>>2]+ +g[e+((c[j>>2]<<1)+1<<2)>>2]*+g[e+((c[j>>2]<<1)+1<<2)>>2];g[q>>2]=+g[q>>2]+ +g[w>>2];g[e+(c[j>>2]<<2)>>2]=+g[k>>2]+(+g[w>>2]-+g[k>>2])*.0625;g[k>>2]=+g[e+(c[j>>2]<<2)>>2];c[j>>2]=(c[j>>2]|0)+1}g[k>>2]=0.0;g[t>>2]=0.0;c[j>>2]=(c[p>>2]|0)-1;while(1){if((c[j>>2]|0)<0)break;g[e+(c[j>>2]<<2)>>2]=+g[k>>2]+(+g[e+(c[j>>2]<<2)>>2]-+g[k>>2])*.125;g[k>>2]=+g[e+(c[j>>2]<<2)>>2];g[t>>2]=+g[t>>2]>+g[k>>2]?+g[t>>2]:+g[k>>2];c[j>>2]=(c[j>>2]|0)+-1}g[q>>2]=+B(+(+g[q>>2]*+g[t>>2]*.5*+(c[p>>2]|0)));g[s>>2]=+(c[p>>2]|0)/(+g[q>>2]+1.0000000036274937e-15);c[r>>2]=0;c[j>>2]=12;while(1){if((c[j>>2]|0)>=((c[p>>2]|0)-5|0))break;if(127.0<+z(+(+g[s>>2]*64.0*(+g[e+(c[j>>2]<<2)>>2]+1.0000000036274937e-15))))i=127.0;else i=+z(+(+g[s>>2]*64.0*(+g[e+(c[j>>2]<<2)>>2]+1.0000000036274937e-15)));if(!(0.0>i))if(127.0<+z(+(+g[s>>2]*64.0*(+g[e+(c[j>>2]<<2)>>2]+1.0000000036274937e-15))))i=127.0;else i=+z(+(+g[s>>2]*64.0*(+g[e+(c[j>>2]<<2)>>2]+1.0000000036274937e-15)));else i=0.0;c[x>>2]=~~i;c[r>>2]=(c[r>>2]|0)+(d[25443+(c[x>>2]|0)>>0]|0);c[j>>2]=(c[j>>2]|0)+4}c[r>>2]=(c[r>>2]<<6<<2|0)/(((c[p>>2]|0)-17|0)*6|0)|0;if((c[r>>2]|0)>(c[n>>2]|0)){c[c[D>>2]>>2]=c[o>>2];c[n>>2]=c[r>>2]}c[o>>2]=(c[o>>2]|0)+1}c[E>>2]=(c[n>>2]|0)>200&1;if(0.0>+B(+(+((c[n>>2]|0)*27|0)))-42.0)i=0.0;else i=+B(+(+((c[n>>2]|0)*27|0)))-42.0;g[F>>2]=i;if(0.0>(163.0<+g[F>>2]?163.0:+g[F>>2])*.006899999920278788-.139){i=0.0;i=+B(+i);H=c[H>>2]|0;g[H>>2]=i;H=c[E>>2]|0;G=c[G>>2]|0;_(G|0);l=I;return H|0}i=(163.0<+g[F>>2]?163.0:+g[F>>2])*.006899999920278788-.139;i=+B(+i);H=c[H>>2]|0;g[H>>2]=i;H=c[E>>2]|0;G=c[G>>2]|0;_(G|0);l=I;return H|0}function bb(a,b,d,e,f,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+80|0;C=D+64|0;m=D+60|0;n=D+56|0;o=D+52|0;p=D+48|0;q=D+44|0;r=D+40|0;s=D+36|0;t=D+32|0;u=D+28|0;v=D+24|0;w=D+20|0;x=D+16|0;y=D+12|0;z=D+8|0;A=D+4|0;B=D;c[C>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=h;c[r>>2]=i;c[s>>2]=j;c[t>>2]=k;c[u>>2]=c[(c[C>>2]|0)+4>>2];if(c[m>>2]|0){c[w>>2]=c[m>>2];c[v>>2]=c[(c[C>>2]|0)+44>>2];c[x>>2]=c[(c[C>>2]|0)+36>>2]}else{c[w>>2]=1;c[v>>2]=c[(c[C>>2]|0)+44>>2]<<c[r>>2];c[x>>2]=(c[(c[C>>2]|0)+36>>2]|0)-(c[r>>2]|0)}c[A>>2]=0;do{c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[w>>2]|0))break;j=N(c[w>>2]|0,c[v>>2]|0)|0;j=(c[n>>2]|0)+((N(c[A>>2]|0,j+(c[u>>2]|0)|0)|0)<<2)|0;j=j+((N(c[z>>2]|0,c[v>>2]|0)|0)<<2)|0;k=N(c[A>>2]|0,c[v>>2]|0)|0;k=(c[o>>2]|0)+((c[z>>2]|0)+(N(k,c[w>>2]|0)|0)<<2)|0;qc((c[C>>2]|0)+64|0,j,k,c[(c[C>>2]|0)+60>>2]|0,c[u>>2]|0,c[x>>2]|0,c[w>>2]|0,c[t>>2]|0);c[z>>2]=(c[z>>2]|0)+1}k=(c[A>>2]|0)+1|0;c[A>>2]=k}while((k|0)<(c[q>>2]|0));a:do if((c[q>>2]|0)==2&(c[p>>2]|0)==1){c[y>>2]=0;while(1){if((c[y>>2]|0)>=(N(c[w>>2]|0,c[v>>2]|0)|0))break a;C=N(c[w>>2]|0,c[v>>2]|0)|0;g[(c[o>>2]|0)+(c[y>>2]<<2)>>2]=+g[(c[o>>2]|0)+(c[y>>2]<<2)>>2]*.5+ +g[(c[o>>2]|0)+(C+(c[y>>2]|0)<<2)>>2]*.5;c[y>>2]=(c[y>>2]|0)+1}}while(0);if((c[s>>2]|0)==1){l=D;return}c[A>>2]=0;do{C=N(c[w>>2]|0,c[v>>2]|0)|0;c[B>>2]=(C|0)/(c[s>>2]|0)|0;c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[B>>2]|0))break;C=N(c[A>>2]|0,c[w>>2]|0)|0;C=N(C,c[v>>2]|0)|0;C=(c[o>>2]|0)+(C+(c[y>>2]|0)<<2)|0;g[C>>2]=+g[C>>2]*+(c[s>>2]|0);c[y>>2]=(c[y>>2]|0)+1}k=N(c[A>>2]|0,c[w>>2]|0)|0;k=N(k,c[v>>2]|0)|0;C=N(c[w>>2]|0,c[v>>2]|0)|0;aj((c[o>>2]|0)+(k+(c[B>>2]|0)<<2)|0,0,C-(c[B>>2]|0)<<2|0)|0;C=(c[A>>2]|0)+1|0;c[A>>2]=C}while((C|0)<(c[p>>2]|0));l=D;return}function cb(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+160|0;t=w+144|0;j=w+140|0;u=w+136|0;v=w+132|0;k=w+128|0;m=w+124|0;n=w+120|0;o=w+116|0;p=w+112|0;q=w+8|0;r=w+4|0;s=w;c[t>>2]=a;c[j>>2]=b;c[u>>2]=d;c[v>>2]=e;c[k>>2]=f;c[m>>2]=h;g[p>>2]=0.0;i=+g[(c[j>>2]|0)+(c[v>>2]<<2)>>2];a:do if((c[m>>2]|0)==1){g[q+(c[v>>2]<<2)>>2]=i;c[n>>2]=(c[v>>2]|0)+1;while(1){if((c[n>>2]|0)>=(c[k>>2]|0))break a;if(+g[q+((c[n>>2]|0)-1<<2)>>2]-1.0>+g[(c[j>>2]|0)+(c[n>>2]<<2)>>2])i=+g[q+((c[n>>2]|0)-1<<2)>>2]-1.0;else i=+g[(c[j>>2]|0)+(c[n>>2]<<2)>>2];g[q+(c[n>>2]<<2)>>2]=i;c[n>>2]=(c[n>>2]|0)+1}}else{h=c[v>>2]|0;g[q+(c[v>>2]<<2)>>2]=+g[(c[j>>2]|0)+((i>+g[(c[j>>2]|0)+((c[v>>2]|0)+(c[u>>2]|0)<<2)>>2]?h:h+(c[u>>2]|0)|0)<<2)>>2];c[n>>2]=(c[v>>2]|0)+1;while(1){if((c[n>>2]|0)>=(c[k>>2]|0))break a;h=c[n>>2]|0;if(+g[q+((c[n>>2]|0)-1<<2)>>2]-1.0>+g[(c[j>>2]|0)+((+g[(c[j>>2]|0)+(c[n>>2]<<2)>>2]>+g[(c[j>>2]|0)+((c[n>>2]|0)+(c[u>>2]|0)<<2)>>2]?h:h+(c[u>>2]|0)|0)<<2)>>2])i=+g[q+((c[n>>2]|0)-1<<2)>>2]-1.0;else{h=c[n>>2]|0;i=+g[(c[j>>2]|0)+((+g[(c[j>>2]|0)+(c[n>>2]<<2)>>2]>+g[(c[j>>2]|0)+((c[n>>2]|0)+(c[u>>2]|0)<<2)>>2]?h:h+(c[u>>2]|0)|0)<<2)>>2]}g[q+(c[n>>2]<<2)>>2]=i;c[n>>2]=(c[n>>2]|0)+1}}while(0);c[n>>2]=(c[k>>2]|0)-2;while(1){if((c[n>>2]|0)<(c[v>>2]|0))break;a=c[n>>2]|0;if(+g[q+(c[n>>2]<<2)>>2]>+g[q+((c[n>>2]|0)+1<<2)>>2]-1.0)i=+g[q+(a<<2)>>2];else i=+g[q+(a+1<<2)>>2]-1.0;g[q+(c[n>>2]<<2)>>2]=i;c[n>>2]=(c[n>>2]|0)+-1}c[o>>2]=0;do{c[n>>2]=2>(c[v>>2]|0)?2:c[v>>2]|0;while(1){if((c[n>>2]|0)>=((c[k>>2]|0)-1|0))break;if(0.0>+g[(c[t>>2]|0)+((c[n>>2]|0)+(N(c[o>>2]|0,c[u>>2]|0)|0)<<2)>>2])i=0.0;else i=+g[(c[t>>2]|0)+((c[n>>2]|0)+(N(c[o>>2]|0,c[u>>2]|0)|0)<<2)>>2];g[r>>2]=i;if(0.0>+g[q+(c[n>>2]<<2)>>2])i=0.0;else i=+g[q+(c[n>>2]<<2)>>2];g[s>>2]=i;if(0.0>+g[r>>2]-+g[s>>2])i=0.0;else i=+g[r>>2]-+g[s>>2];g[p>>2]=+g[p>>2]+i;c[n>>2]=(c[n>>2]|0)+1}j=(c[o>>2]|0)+1|0;c[o>>2]=j}while((j|0)<(c[m>>2]|0));g[p>>2]=+g[p>>2]/+(N(c[m>>2]|0,(c[k>>2]|0)-1-(2>(c[v>>2]|0)?2:c[v>>2]|0)|0)|0);l=w;return +g[p>>2]>1.0|0}function db(d,e,f,h,i,j,k,m,n,o,p){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=+o;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;X=l;l=l+144|0;q=X+128|0;I=X+124|0;J=X+120|0;T=X+116|0;K=X+112|0;r=X+108|0;s=X+104|0;L=X+100|0;t=X+96|0;Y=X+92|0;u=X+88|0;U=X+84|0;M=X+80|0;O=X+76|0;E=X+72|0;F=X+64|0;V=X+60|0;v=X+56|0;W=X+52|0;w=X+48|0;x=X+44|0;y=X+40|0;z=X+36|0;B=X+32|0;C=X+28|0;D=X+24|0;G=X+20|0;H=X+16|0;P=X+12|0;Q=X+8|0;R=X+4|0;S=X;c[q>>2]=d;c[I>>2]=e;c[J>>2]=f;c[T>>2]=h;c[K>>2]=i;c[r>>2]=j;c[s>>2]=k;c[L>>2]=m;c[t>>2]=n;g[Y>>2]=o;c[u>>2]=p;c[V>>2]=0;g[v>>2]=(-.25>.5-+g[Y>>2]?-.25:.5-+g[Y>>2])*.03999999910593033;e=c[I>>2]|0;c[W>>2]=$()|0;f=l;l=l+((1*(e<<2)|0)+15&-16)|0;e=l;l=l+((1*((b[(c[(c[q>>2]|0)+32>>2]|0)+(c[I>>2]<<1)>>1]|0)-(b[(c[(c[q>>2]|0)+32>>2]|0)+((c[I>>2]|0)-1<<1)>>1]|0)<<c[L>>2]<<2)|0)+15&-16)|0;p=l;l=l+((1*((b[(c[(c[q>>2]|0)+32>>2]|0)+(c[I>>2]<<1)>>1]|0)-(b[(c[(c[q>>2]|0)+32>>2]|0)+((c[I>>2]|0)-1<<1)>>1]|0)<<c[L>>2]<<2)|0)+15&-16)|0;h=l;l=l+((1*(c[I>>2]<<2)|0)+15&-16)|0;i=l;l=l+((1*(c[I>>2]<<2)|0)+15&-16)|0;c[c[t>>2]>>2]=0;c[U>>2]=0;while(1){if((c[U>>2]|0)>=(c[I>>2]|0))break;c[C>>2]=0;c[x>>2]=(b[(c[(c[q>>2]|0)+32>>2]|0)+((c[U>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[q>>2]|0)+32>>2]|0)+(c[U>>2]<<1)>>1]|0)<<c[L>>2];c[y>>2]=((b[(c[(c[q>>2]|0)+32>>2]|0)+((c[U>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[q>>2]|0)+32>>2]|0)+(c[U>>2]<<1)>>1]|0)|0)==1&1;Y=N(c[u>>2]|0,c[s>>2]|0)|0;_i(e|0,(c[r>>2]|0)+(Y+(b[(c[(c[q>>2]|0)+32>>2]|0)+(c[U>>2]<<1)>>1]<<c[L>>2])<<2)|0,(c[x>>2]<<2)+0|0)|0;g[z>>2]=+nb(e,c[x>>2]|0,c[J>>2]|0?c[L>>2]|0:0,+g[v>>2]);g[B>>2]=+g[z>>2];if(!((c[J>>2]|0)==0|(c[y>>2]|0)!=0)?(_i(p|0,e|0,(c[x>>2]<<2)+0|0)|0,sa(p,c[x>>2]>>c[L>>2],1<<c[L>>2]),g[z>>2]=+nb(p,c[x>>2]|0,(c[L>>2]|0)+1|0,+g[v>>2]),+g[z>>2]<+g[B>>2]):0){g[B>>2]=+g[z>>2];c[C>>2]=-1}c[w>>2]=0;while(1){d=(c[J>>2]|0)!=0;if((c[w>>2]|0)>=((c[L>>2]|0)+(((c[J>>2]|0?1:(c[y>>2]|0)!=0)^1)&1)|0))break;if(d)c[D>>2]=(c[L>>2]|0)-(c[w>>2]|0)-1;else c[D>>2]=(c[w>>2]|0)+1;sa(e,c[x>>2]>>c[w>>2],1<<c[w>>2]);g[z>>2]=+nb(e,c[x>>2]|0,c[D>>2]|0,+g[v>>2]);if(+g[z>>2]<+g[B>>2]){g[B>>2]=+g[z>>2];c[C>>2]=(c[w>>2]|0)+1}c[w>>2]=(c[w>>2]|0)+1}n=c[C>>2]|0;Y=N(-2,n)|0;c[f+((d?c[U>>2]|0:c[U>>2]|0)<<2)>>2]=d?n<<1:Y;Y=c[t>>2]|0;c[Y>>2]=(c[Y>>2]|0)+((c[J>>2]|0?c[L>>2]|0:0)-((c[f+(c[U>>2]<<2)>>2]|0)/2|0));do if(c[y>>2]|0){if(c[f+(c[U>>2]<<2)>>2]|0?(c[f+(c[U>>2]<<2)>>2]|0)!=(N(-2,c[L>>2]|0)|0):0)break;Y=f+(c[U>>2]<<2)|0;c[Y>>2]=(c[Y>>2]|0)-1}while(0);c[U>>2]=(c[U>>2]|0)+1}c[V>>2]=0;c[E>>2]=0;while(1){if((c[E>>2]|0)>=2)break;c[M>>2]=0;c[O>>2]=c[J>>2]|0?0:c[K>>2]|0;c[U>>2]=1;while(1){d=c[M>>2]|0;e=c[O>>2]|0;if((c[U>>2]|0)>=(c[I>>2]|0))break;if((d|0)<(e+(c[K>>2]|0)|0))d=c[M>>2]|0;else d=(c[O>>2]|0)+(c[K>>2]|0)|0;c[G>>2]=d;if(((c[M>>2]|0)+(c[K>>2]|0)|0)<(c[O>>2]|0))d=(c[M>>2]|0)+(c[K>>2]|0)|0;else d=c[O>>2]|0;c[H>>2]=d;c[M>>2]=(c[G>>2]|0)+(A((c[f+(c[U>>2]<<2)>>2]|0)-(a[25228+(c[L>>2]<<3)+((c[J>>2]<<2)+(c[E>>2]<<1)+0)>>0]<<1)|0)|0);c[O>>2]=(c[H>>2]|0)+(A((c[f+(c[U>>2]<<2)>>2]|0)-(a[25228+(c[L>>2]<<3)+((c[J>>2]<<2)+(c[E>>2]<<1)+1)>>0]<<1)|0)|0);c[U>>2]=(c[U>>2]|0)+1}c[M>>2]=(d|0)<(e|0)?c[M>>2]|0:c[O>>2]|0;c[F+(c[E>>2]<<2)>>2]=c[M>>2];c[E>>2]=(c[E>>2]|0)+1}if(c[J>>2]|0?(c[F+4>>2]|0)<(c[F>>2]|0):0)c[V>>2]=1;c[M>>2]=0;c[O>>2]=c[J>>2]|0?0:c[K>>2]|0;c[U>>2]=1;while(1){d=c[M>>2]|0;if((c[U>>2]|0)>=(c[I>>2]|0))break;c[R>>2]=d;c[S>>2]=(c[O>>2]|0)+(c[K>>2]|0);if((c[R>>2]|0)<(c[S>>2]|0)){c[P>>2]=c[R>>2];d=0;e=c[U>>2]|0}else{c[P>>2]=c[S>>2];d=1;e=c[U>>2]|0}c[h+(e<<2)>>2]=d;c[R>>2]=(c[M>>2]|0)+(c[K>>2]|0);c[S>>2]=c[O>>2];if((c[R>>2]|0)<(c[S>>2]|0)){c[Q>>2]=c[R>>2];d=c[U>>2]|0;e=0}else{c[Q>>2]=c[S>>2];d=c[U>>2]|0;e=1}c[i+(d<<2)>>2]=e;c[M>>2]=(c[P>>2]|0)+(A((c[f+(c[U>>2]<<2)>>2]|0)-(a[25228+(c[L>>2]<<3)+((c[J>>2]<<2)+(c[V>>2]<<1)+0)>>0]<<1)|0)|0);c[O>>2]=(c[Q>>2]|0)+(A((c[f+(c[U>>2]<<2)>>2]|0)-(a[25228+(c[L>>2]<<3)+((c[J>>2]<<2)+(c[V>>2]<<1)+1)>>0]<<1)|0)|0);c[U>>2]=(c[U>>2]|0)+1}c[(c[T>>2]|0)+((c[I>>2]|0)-1<<2)>>2]=(d|0)<(c[O>>2]|0)?0:1;c[U>>2]=(c[I>>2]|0)-2;while(1){if((c[U>>2]|0)<0)break;d=(c[U>>2]|0)+1|0;if((c[(c[T>>2]|0)+((c[U>>2]|0)+1<<2)>>2]|0)==1){d=c[i+(d<<2)>>2]|0;e=(c[T>>2]|0)+(c[U>>2]<<2)|0}else{d=c[h+(d<<2)>>2]|0;e=(c[T>>2]|0)+(c[U>>2]<<2)|0}c[e>>2]=d;c[U>>2]=(c[U>>2]|0)+-1}Y=c[V>>2]|0;_(c[W>>2]|0);l=X;return Y|0}function eb(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+64|0;v=y+52|0;w=y+48|0;x=y+44|0;j=y+40|0;k=y+36|0;m=y+32|0;n=y+28|0;o=y+24|0;p=y+20|0;q=y+16|0;r=y+12|0;s=y+8|0;t=y+4|0;u=y;c[v>>2]=b;c[w>>2]=d;c[x>>2]=e;c[j>>2]=f;c[k>>2]=g;c[m>>2]=h;c[n>>2]=i;c[t>>2]=c[(c[n>>2]|0)+4>>2]<<3;c[u>>2]=Za(c[n>>2]|0)|0;c[s>>2]=c[x>>2]|0?2:4;if((c[k>>2]|0)>0)b=((c[u>>2]|0)+(c[s>>2]|0)+1|0)>>>0<=(c[t>>2]|0)>>>0;else b=0;c[q>>2]=b&1;c[t>>2]=(c[t>>2]|0)-(c[q>>2]|0);c[r>>2]=0;c[o>>2]=0;c[p>>2]=c[v>>2];while(1){if((c[p>>2]|0)>=(c[w>>2]|0))break;if(((c[u>>2]|0)+(c[s>>2]|0)|0)>>>0<=(c[t>>2]|0)>>>0){_b(c[n>>2]|0,c[(c[j>>2]|0)+(c[p>>2]<<2)>>2]^c[o>>2],c[s>>2]|0);c[u>>2]=Za(c[n>>2]|0)|0;c[o>>2]=c[(c[j>>2]|0)+(c[p>>2]<<2)>>2];c[r>>2]=c[r>>2]|c[o>>2]}else c[(c[j>>2]|0)+(c[p>>2]<<2)>>2]=c[o>>2];c[s>>2]=c[x>>2]|0?4:5;c[p>>2]=(c[p>>2]|0)+1}if(c[q>>2]|0?(a[25228+(c[k>>2]<<3)+((c[x>>2]<<2)+0+(c[r>>2]|0))>>0]|0)!=(a[25228+(c[k>>2]<<3)+((c[x>>2]<<2)+2+(c[r>>2]|0))>>0]|0):0)_b(c[n>>2]|0,c[m>>2]|0,1);else c[m>>2]=0;c[p>>2]=c[v>>2];while(1){if((c[p>>2]|0)>=(c[w>>2]|0))break;c[(c[j>>2]|0)+(c[p>>2]<<2)>>2]=a[25228+(c[k>>2]<<3)+((c[x>>2]<<2)+(c[m>>2]<<1)+(c[(c[j>>2]|0)+(c[p>>2]<<2)>>2]|0))>>0];c[p>>2]=(c[p>>2]|0)+1}l=y;return}function fb(a,d,e,f,h,i,j,k,m,n,o,p,q,r,s,t,u,v){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;var w=0.0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;fa=l;l=l+128|0;I=fa+120|0;B=fa+116|0;H=fa+112|0;J=fa+108|0;L=fa+104|0;M=fa+100|0;O=fa+96|0;y=fa+92|0;z=fa+88|0;P=fa+84|0;Q=fa+80|0;R=fa+76|0;S=fa+72|0;T=fa+68|0;U=fa+64|0;V=fa+60|0;A=fa+56|0;K=fa+52|0;W=fa+48|0;C=fa+44|0;X=fa+40|0;Y=fa+36|0;Z=fa+32|0;D=fa+28|0;E=fa+24|0;F=fa+20|0;G=fa+16|0;aa=fa+12|0;ba=fa+8|0;ca=fa+4|0;da=fa;c[I>>2]=a;c[B>>2]=d;c[H>>2]=e;c[J>>2]=f;c[L>>2]=h;c[M>>2]=i;c[O>>2]=j;c[y>>2]=k;c[z>>2]=m;c[P>>2]=n;c[Q>>2]=o;c[R>>2]=p;c[S>>2]=q;c[T>>2]=r;c[U>>2]=s;c[V>>2]=t;c[A>>2]=u;c[K>>2]=v;c[X>>2]=0;n=N(c[M>>2]|0,c[H>>2]|0)|0;c[Z>>2]=$()|0;p=l;l=l+((1*(n<<2)|0)+15&-16)|0;n=(N(c[M>>2]|0,c[H>>2]|0)|0)<<2;o=l;l=l+((1*n|0)+15&-16)|0;aj(c[O>>2]|0,0,c[H>>2]<<2|0)|0;g[Y>>2]=-31.899999618530273;c[W>>2]=0;while(1){if((c[W>>2]|0)>=(c[L>>2]|0))break;x=+(b[(c[z>>2]|0)+(c[W>>2]<<1)>>1]|0)*.0625+.5+ +(9-(c[y>>2]|0)|0)-+g[17464+(c[W>>2]<<2)>>2]+ +(N((c[W>>2]|0)+5|0,(c[W>>2]|0)+5|0)|0)*.006200000178068876;g[o+(c[W>>2]<<2)>>2]=x;c[W>>2]=(c[W>>2]|0)+1}c[C>>2]=0;do{c[W>>2]=0;while(1){if((c[W>>2]|0)>=(c[L>>2]|0))break;z=N(c[C>>2]|0,c[H>>2]|0)|0;if(+g[Y>>2]>+g[(c[I>>2]|0)+(z+(c[W>>2]|0)<<2)>>2]-+g[o+(c[W>>2]<<2)>>2])w=+g[Y>>2];else{z=N(c[C>>2]|0,c[H>>2]|0)|0;w=+g[(c[I>>2]|0)+(z+(c[W>>2]|0)<<2)>>2]-+g[o+(c[W>>2]<<2)>>2]}g[Y>>2]=w;c[W>>2]=(c[W>>2]|0)+1}z=(c[C>>2]|0)+1|0;c[C>>2]=z}while((z|0)<(c[M>>2]|0));if((c[U>>2]|0)>50&(c[T>>2]|0)>=1^1|(c[A>>2]|0)!=0){da=c[X>>2]|0;ea=c[V>>2]|0;c[ea>>2]=da;x=+g[Y>>2];ea=c[Z>>2]|0;_(ea|0);l=fa;return +x}c[D>>2]=0;c[C>>2]=0;do{c[G>>2]=p+((N(c[C>>2]|0,c[H>>2]|0)|0)<<2);x=+g[(c[B>>2]|0)+((N(c[C>>2]|0,c[H>>2]|0)|0)<<2)>>2];g[c[G>>2]>>2]=x;c[W>>2]=1;while(1){if((c[W>>2]|0)>=(c[L>>2]|0))break;z=N(c[C>>2]|0,c[H>>2]|0)|0;A=N(c[C>>2]|0,c[H>>2]|0)|0;if(+g[(c[B>>2]|0)+(z+(c[W>>2]|0)<<2)>>2]>+g[(c[B>>2]|0)+(A+(c[W>>2]|0)-1<<2)>>2]+.5)c[D>>2]=c[W>>2];A=N(c[C>>2]|0,c[H>>2]|0)|0;if(+g[(c[G>>2]|0)+((c[W>>2]|0)-1<<2)>>2]+1.5<+g[(c[B>>2]|0)+(A+(c[W>>2]|0)<<2)>>2])w=+g[(c[G>>2]|0)+((c[W>>2]|0)-1<<2)>>2]+1.5;else{A=N(c[C>>2]|0,c[H>>2]|0)|0;w=+g[(c[B>>2]|0)+(A+(c[W>>2]|0)<<2)>>2]}g[(c[G>>2]|0)+(c[W>>2]<<2)>>2]=w;c[W>>2]=(c[W>>2]|0)+1}c[W>>2]=(c[D>>2]|0)-1;while(1){if((c[W>>2]|0)<0)break;A=N(c[C>>2]|0,c[H>>2]|0)|0;if(+g[(c[G>>2]|0)+((c[W>>2]|0)+1<<2)>>2]+2.0<+g[(c[B>>2]|0)+(A+(c[W>>2]|0)<<2)>>2])w=+g[(c[G>>2]|0)+((c[W>>2]|0)+1<<2)>>2]+2.0;else{A=N(c[C>>2]|0,c[H>>2]|0)|0;w=+g[(c[B>>2]|0)+(A+(c[W>>2]|0)<<2)>>2]}a=c[G>>2]|0;d=c[W>>2]|0;do if(!(+g[(c[G>>2]|0)+(c[W>>2]<<2)>>2]<w)){A=N(c[C>>2]|0,c[H>>2]|0)|0;if(+g[a+(d+1<<2)>>2]+2.0<+g[(c[B>>2]|0)+(A+(c[W>>2]|0)<<2)>>2]){w=+g[(c[G>>2]|0)+((c[W>>2]|0)+1<<2)>>2]+2.0;break}else{A=N(c[C>>2]|0,c[H>>2]|0)|0;w=+g[(c[B>>2]|0)+(A+(c[W>>2]|0)<<2)>>2];break}}else w=+g[a+(d<<2)>>2];while(0);g[(c[G>>2]|0)+(c[W>>2]<<2)>>2]=w;c[W>>2]=(c[W>>2]|0)+-1}g[E>>2]=1.0;c[W>>2]=2;while(1){if((c[W>>2]|0)>=((c[L>>2]|0)-2|0))break;w=+g[(c[G>>2]|0)+(c[W>>2]<<2)>>2];A=N(c[C>>2]|0,c[H>>2]|0)|0;x=+lb((c[B>>2]|0)+(A+(c[W>>2]|0)-2<<2)|0);if(w>x-+g[E>>2])w=+g[(c[G>>2]|0)+(c[W>>2]<<2)>>2];else{A=N(c[C>>2]|0,c[H>>2]|0)|0;w=+lb((c[B>>2]|0)+(A+(c[W>>2]|0)-2<<2)|0);w=w-+g[E>>2]}g[(c[G>>2]|0)+(c[W>>2]<<2)>>2]=w;c[W>>2]=(c[W>>2]|0)+1}x=+mb((c[B>>2]|0)+((N(c[C>>2]|0,c[H>>2]|0)|0)<<2)|0);g[F>>2]=x-+g[E>>2];if(+g[c[G>>2]>>2]>+g[F>>2])w=+g[c[G>>2]>>2];else w=+g[F>>2];g[c[G>>2]>>2]=w;if(+g[(c[G>>2]|0)+4>>2]>+g[F>>2])w=+g[(c[G>>2]|0)+4>>2];else w=+g[F>>2];g[(c[G>>2]|0)+4>>2]=w;A=N(c[C>>2]|0,c[H>>2]|0)|0;x=+mb((c[B>>2]|0)+(A+(c[L>>2]|0)-3<<2)|0);g[F>>2]=x-+g[E>>2];if(+g[(c[G>>2]|0)+((c[L>>2]|0)-2<<2)>>2]>+g[F>>2])w=+g[(c[G>>2]|0)+((c[L>>2]|0)-2<<2)>>2];else w=+g[F>>2];g[(c[G>>2]|0)+((c[L>>2]|0)-2<<2)>>2]=w;if(+g[(c[G>>2]|0)+((c[L>>2]|0)-1<<2)>>2]>+g[F>>2])w=+g[(c[G>>2]|0)+((c[L>>2]|0)-1<<2)>>2];else w=+g[F>>2];g[(c[G>>2]|0)+((c[L>>2]|0)-1<<2)>>2]=w;c[W>>2]=0;while(1){if((c[W>>2]|0)>=(c[L>>2]|0))break;if(+g[(c[G>>2]|0)+(c[W>>2]<<2)>>2]>+g[o+(c[W>>2]<<2)>>2])a=(c[G>>2]|0)+(c[W>>2]<<2)|0;else a=o+(c[W>>2]<<2)|0;g[(c[G>>2]|0)+(c[W>>2]<<2)>>2]=+g[a>>2];c[W>>2]=(c[W>>2]|0)+1}A=(c[C>>2]|0)+1|0;c[C>>2]=A}while((A|0)<(c[M>>2]|0));G=(c[M>>2]|0)==2;c[W>>2]=c[J>>2];a:do if(G)while(1){if((c[W>>2]|0)>=(c[L>>2]|0))break a;if(+g[p+((c[H>>2]|0)+(c[W>>2]|0)<<2)>>2]>+g[p+(c[W>>2]<<2)>>2]-4.0)w=+g[p+((c[H>>2]|0)+(c[W>>2]|0)<<2)>>2];else w=+g[p+(c[W>>2]<<2)>>2]-4.0;g[p+((c[H>>2]|0)+(c[W>>2]|0)<<2)>>2]=w;if(+g[p+(c[W>>2]<<2)>>2]>+g[p+((c[H>>2]|0)+(c[W>>2]|0)<<2)>>2]-4.0)w=+g[p+(c[W>>2]<<2)>>2];else w=+g[p+((c[H>>2]|0)+(c[W>>2]|0)<<2)>>2]-4.0;g[p+(c[W>>2]<<2)>>2]=w;if(0.0>+g[(c[I>>2]|0)+(c[W>>2]<<2)>>2]-+g[p+(c[W>>2]<<2)>>2])x=0.0;else x=+g[(c[I>>2]|0)+(c[W>>2]<<2)>>2]-+g[p+(c[W>>2]<<2)>>2];if(0.0>+g[(c[I>>2]|0)+((c[H>>2]|0)+(c[W>>2]|0)<<2)>>2]-+g[p+((c[H>>2]|0)+(c[W>>2]|0)<<2)>>2])w=0.0;else w=+g[(c[I>>2]|0)+((c[H>>2]|0)+(c[W>>2]|0)<<2)>>2]-+g[p+((c[H>>2]|0)+(c[W>>2]|0)<<2)>>2];g[p+(c[W>>2]<<2)>>2]=(x+w)*.5;c[W>>2]=(c[W>>2]|0)+1}else while(1){if((c[W>>2]|0)>=(c[L>>2]|0))break a;if(0.0>+g[(c[I>>2]|0)+(c[W>>2]<<2)>>2]-+g[p+(c[W>>2]<<2)>>2])w=0.0;else w=+g[(c[I>>2]|0)+(c[W>>2]<<2)>>2]-+g[p+(c[W>>2]<<2)>>2];g[p+(c[W>>2]<<2)>>2]=w;c[W>>2]=(c[W>>2]|0)+1}while(0);c[W>>2]=c[J>>2];while(1){if((c[W>>2]|0)>=(c[L>>2]|0))break;if(+g[p+(c[W>>2]<<2)>>2]>+g[(c[K>>2]|0)+(c[W>>2]<<2)>>2])a=p+(c[W>>2]<<2)|0;else a=(c[K>>2]|0)+(c[W>>2]<<2)|0;g[p+(c[W>>2]<<2)>>2]=+g[a>>2];c[W>>2]=(c[W>>2]|0)+1}b:do if(!(((c[Q>>2]|0)==0|(c[R>>2]|0)!=0)^1|(c[P>>2]|0)!=0)){c[W>>2]=c[J>>2];while(1){if((c[W>>2]|0)>=(c[L>>2]|0))break b;g[p+(c[W>>2]<<2)>>2]=+g[p+(c[W>>2]<<2)>>2]*.5;c[W>>2]=(c[W>>2]|0)+1}}while(0);c[W>>2]=c[J>>2];while(1){if((c[W>>2]|0)>=(c[L>>2]|0)){ea=103;break}if((c[W>>2]|0)<8){K=p+(c[W>>2]<<2)|0;g[K>>2]=+g[K>>2]*2.0}if((c[W>>2]|0)>=12)g[p+(c[W>>2]<<2)>>2]=+g[p+(c[W>>2]<<2)>>2]*.5;if(+g[p+(c[W>>2]<<2)>>2]<4.0)w=+g[p+(c[W>>2]<<2)>>2];else w=4.0;g[p+(c[W>>2]<<2)>>2]=w;K=N(c[M>>2]|0,(b[(c[S>>2]|0)+((c[W>>2]|0)+1<<1)>>1]|0)-(b[(c[S>>2]|0)+(c[W>>2]<<1)>>1]|0)|0)|0;c[aa>>2]=K<<c[T>>2];do if((c[aa>>2]|0)>=6){w=+g[p+(c[W>>2]<<2)>>2];if((c[aa>>2]|0)>48){c[ba>>2]=~~(w*8.0);c[ca>>2]=((N(c[ba>>2]|0,c[aa>>2]|0)|0)<<3|0)/8|0;break}else{c[ba>>2]=~~(w*+(c[aa>>2]|0)/6.0);c[ca>>2]=(c[ba>>2]|0)*6<<3;break}}else{c[ba>>2]=~~+g[p+(c[W>>2]<<2)>>2];c[ca>>2]=(N(c[ba>>2]|0,c[aa>>2]|0)|0)<<3}while(0);if(!(c[Q>>2]|0?(c[R>>2]|0)==0|(c[P>>2]|0)!=0:0))ea=100;if((ea|0)==100?(ea=0,((c[X>>2]|0)+(c[ca>>2]|0)>>3>>3|0)>((c[U>>2]|0)/4|0|0)):0)break;c[(c[O>>2]|0)+(c[W>>2]<<2)>>2]=c[ba>>2];c[X>>2]=(c[X>>2]|0)+(c[ca>>2]|0);c[W>>2]=(c[W>>2]|0)+1}if((ea|0)==103){da=c[X>>2]|0;ea=c[V>>2]|0;c[ea>>2]=da;x=+g[Y>>2];ea=c[Z>>2]|0;_(ea|0);l=fa;return +x}c[da>>2]=((c[U>>2]|0)/4|0)<<3<<3;c[(c[O>>2]|0)+(c[W>>2]<<2)>>2]=(c[da>>2]|0)-(c[X>>2]|0);c[X>>2]=c[da>>2];da=c[X>>2]|0;ea=c[V>>2]|0;c[ea>>2]=da;x=+g[Y>>2];ea=c[Z>>2]|0;_(ea|0);l=fa;return +x}function gb(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0;v=l;l=l+64|0;p=v+48|0;q=v+44|0;r=v+40|0;s=v+36|0;t=v+32|0;u=v+28|0;h=v+24|0;i=v+20|0;j=v+16|0;k=v+12|0;m=v+8|0;n=v+4|0;o=v;c[p>>2]=a;c[q>>2]=d;c[r>>2]=e;c[s>>2]=f;g[h>>2]=1.0000000036274937e-15;g[i>>2]=1.0000000036274937e-15;c[t>>2]=0;while(1){if((c[t>>2]|0)>=13)break;c[j>>2]=b[(c[(c[p>>2]|0)+32>>2]|0)+(c[t>>2]<<1)>>1]<<c[r>>2];while(1){if((c[j>>2]|0)>=(b[(c[(c[p>>2]|0)+32>>2]|0)+((c[t>>2]|0)+1<<1)>>1]<<c[r>>2]|0))break;g[k>>2]=+g[(c[q>>2]|0)+(c[j>>2]<<2)>>2];g[m>>2]=+g[(c[q>>2]|0)+((c[s>>2]|0)+(c[j>>2]|0)<<2)>>2];g[n>>2]=+g[k>>2]+ +g[m>>2];g[o>>2]=+g[k>>2]-+g[m>>2];w=+A(+(+g[k>>2]));g[h>>2]=+g[h>>2]+(w+ +A(+(+g[m>>2])));w=+A(+(+g[n>>2]));g[i>>2]=+g[i>>2]+(w+ +A(+(+g[o>>2])));c[j>>2]=(c[j>>2]|0)+1}c[t>>2]=(c[t>>2]|0)+1}g[i>>2]=+g[i>>2]*.7071070075035095;c[u>>2]=13;if((c[r>>2]|0)<=1)c[u>>2]=(c[u>>2]|0)-8;l=v;return +((b[(c[(c[p>>2]|0)+32>>2]|0)+26>>1]<<(c[r>>2]|0)+1)+(c[u>>2]|0)|0)*+g[i>>2]>+(b[(c[(c[p>>2]|0)+32>>2]|0)+26>>1]<<(c[r>>2]|0)+1|0)*+g[h>>2]|0}function hb(a,d,e,f,h,i,j,k,m,n,o,p,q){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=+n;o=o|0;p=+p;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,O=0,P=0,Q=0,R=0,S=0;S=l;l=l+96|0;D=S+92|0;s=S+88|0;E=S+84|0;F=S+80|0;t=S+76|0;G=S+72|0;u=S+68|0;P=S+64|0;H=S+60|0;M=S+56|0;v=S+52|0;O=S+48|0;I=S+40|0;K=S+36|0;J=S+32|0;Q=S+28|0;R=S+24|0;B=S+20|0;C=S+16|0;x=S+12|0;y=S+8|0;r=S+4|0;w=S;c[D>>2]=a;c[s>>2]=d;c[E>>2]=e;c[F>>2]=f;c[t>>2]=h;c[G>>2]=i;c[u>>2]=j;c[P>>2]=k;c[H>>2]=m;g[M>>2]=n;c[v>>2]=o;g[O>>2]=p;c[S+44>>2]=q;g[K>>2]=0.0;g[R>>2]=5.0;if((c[G>>2]|0)==2){g[x>>2]=0.0;c[I>>2]=0;while(1){if((c[I>>2]|0)>=8)break;g[r>>2]=+kb((c[s>>2]|0)+(b[(c[(c[D>>2]|0)+32>>2]|0)+(c[I>>2]<<1)>>1]<<c[t>>2]<<2)|0,(c[s>>2]|0)+((c[u>>2]|0)+(b[(c[(c[D>>2]|0)+32>>2]|0)+(c[I>>2]<<1)>>1]<<c[t>>2])<<2)|0,(b[(c[(c[D>>2]|0)+32>>2]|0)+((c[I>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[D>>2]|0)+32>>2]|0)+(c[I>>2]<<1)>>1]|0)<<c[t>>2]);g[x>>2]=+g[x>>2]+ +g[r>>2];c[I>>2]=(c[I>>2]|0)+1}g[x>>2]=+g[x>>2]*.125;if(1.0<+A(+(+g[x>>2])))p=1.0;else p=+A(+(+g[x>>2]));g[x>>2]=p;g[y>>2]=+g[x>>2];c[I>>2]=8;while(1){if((c[I>>2]|0)>=(c[v>>2]|0))break;g[w>>2]=+kb((c[s>>2]|0)+(b[(c[(c[D>>2]|0)+32>>2]|0)+(c[I>>2]<<1)>>1]<<c[t>>2]<<2)|0,(c[s>>2]|0)+((c[u>>2]|0)+(b[(c[(c[D>>2]|0)+32>>2]|0)+(c[I>>2]<<1)>>1]<<c[t>>2])<<2)|0,(b[(c[(c[D>>2]|0)+32>>2]|0)+((c[I>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[D>>2]|0)+32>>2]|0)+(c[I>>2]<<1)>>1]|0)<<c[t>>2]);if(+g[y>>2]<+A(+(+g[w>>2])))p=+g[y>>2];else p=+A(+(+g[w>>2]));g[y>>2]=p;c[I>>2]=(c[I>>2]|0)+1}if(1.0<+A(+(+g[y>>2])))p=1.0;else p=+A(+(+g[y>>2]));g[y>>2]=p;g[B>>2]=+L(+(1.0010000467300415-+g[x>>2]*+g[x>>2]))*1.4426950408889634;if(+g[B>>2]*.5>+L(+(1.0010000467300415-+g[y>>2]*+g[y>>2]))*1.4426950408889634)p=+g[B>>2]*.5;else p=+L(+(1.0010000467300415-+g[y>>2]*+g[y>>2]))*1.4426950408889634;g[C>>2]=p;g[R>>2]=+g[R>>2]+(-4.0>+g[B>>2]*.75?-4.0:+g[B>>2]*.75);if(+g[c[H>>2]>>2]+.25<-(+g[C>>2]*.5))p=+g[c[H>>2]>>2]+.25;else p=-(+g[C>>2]*.5);g[c[H>>2]>>2]=p}c[J>>2]=0;do{c[I>>2]=0;while(1){if((c[I>>2]|0)>=((c[F>>2]|0)-1|0))break;n=+g[(c[E>>2]|0)+((c[I>>2]|0)+(N(c[J>>2]|0,c[(c[D>>2]|0)+8>>2]|0)|0)<<2)>>2];g[K>>2]=+g[K>>2]+n*+(2+(c[I>>2]<<1)-(c[F>>2]|0)|0);c[I>>2]=(c[I>>2]|0)+1}H=(c[J>>2]|0)+1|0;c[J>>2]=H}while((H|0)<(c[G>>2]|0));n=+(N(c[G>>2]|0,(c[F>>2]|0)-1|0)|0);g[K>>2]=+g[K>>2]/n;if(2.0<(+g[K>>2]+1.0)/6.0)p=2.0;else p=(+g[K>>2]+1.0)/6.0;if(!(-2.0>p))if(2.0<(+g[K>>2]+1.0)/6.0)p=2.0;else p=(+g[K>>2]+1.0)/6.0;else p=-2.0;g[R>>2]=+g[R>>2]-p;g[R>>2]=+g[R>>2]-+g[O>>2];g[R>>2]=+g[R>>2]-+g[M>>2]*2.0;if(c[c[P>>2]>>2]|0){if(2.0<(+g[(c[P>>2]|0)+8>>2]+.05000000074505806)*2.0)p=2.0;else p=(+g[(c[P>>2]|0)+8>>2]+.05000000074505806)*2.0;if(!(-2.0>p))if(2.0<(+g[(c[P>>2]|0)+8>>2]+.05000000074505806)*2.0)p=2.0;else p=(+g[(c[P>>2]|0)+8>>2]+.05000000074505806)*2.0;else p=-2.0;g[R>>2]=+g[R>>2]-p}c[Q>>2]=~~+z(+(+g[R>>2]+.5));if(0>((10<(c[Q>>2]|0)?10:c[Q>>2]|0)|0)){R=0;c[Q>>2]=R;R=c[Q>>2]|0;l=S;return R|0}R=10<(c[Q>>2]|0)?10:c[Q>>2]|0;c[Q>>2]=R;R=c[Q>>2]|0;l=S;return R|0}function ib(a,d,e,f,h,i,j,k,m,n,o,p,q,r,s,t,u,v,w){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=+n;o=o|0;p=+p;q=q|0;r=+r;s=s|0;t=t|0;u=u|0;v=+v;w=+w;var x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;ea=l;l=l+144|0;ga=ea+140|0;D=ea+136|0;$=ea+132|0;O=ea+128|0;W=ea+124|0;fa=ea+120|0;P=ea+116|0;x=ea+112|0;X=ea+108|0;y=ea+104|0;E=ea+100|0;Y=ea+96|0;H=ea+92|0;Q=ea+88|0;F=ea+84|0;R=ea+80|0;Z=ea+76|0;I=ea+72|0;aa=ea+68|0;ba=ea+64|0;J=ea+60|0;z=ea+56|0;G=ea+52|0;S=ea+48|0;T=ea+44|0;A=ea+40|0;C=ea+36|0;B=ea+32|0;K=ea+28|0;L=ea+24|0;M=ea+20|0;U=ea+16|0;V=ea+12|0;_=ea+8|0;ca=ea+4|0;da=ea;c[ga>>2]=a;c[D>>2]=d;c[$>>2]=e;c[O>>2]=f;c[W>>2]=h;c[fa>>2]=i;c[P>>2]=j;c[x>>2]=k;c[X>>2]=m;g[y>>2]=n;c[E>>2]=o;g[Y>>2]=p;c[H>>2]=q;g[Q>>2]=r;c[F>>2]=s;c[R>>2]=t;c[Z>>2]=u;g[I>>2]=v;g[aa>>2]=w;c[S>>2]=c[(c[ga>>2]|0)+8>>2];c[T>>2]=c[(c[ga>>2]|0)+32>>2];c[z>>2]=c[fa>>2]|0?c[fa>>2]|0:c[S>>2]|0;c[J>>2]=b[(c[T>>2]|0)+(c[z>>2]<<1)>>1]<<c[O>>2];if((c[P>>2]|0)==2)c[J>>2]=(c[J>>2]|0)+(b[(c[T>>2]|0)+(((c[x>>2]|0)<(c[z>>2]|0)?c[x>>2]|0:c[z>>2]|0)<<1)>>1]<<c[O>>2]);c[ba>>2]=c[$>>2];if(c[c[D>>2]>>2]|0?+g[(c[D>>2]|0)+16>>2]<.4:0)c[ba>>2]=(c[ba>>2]|0)-~~(+(c[J>>2]<<3|0)*(.4000000059604645-+g[(c[D>>2]|0)+16>>2]));if((c[P>>2]|0)==2){c[A>>2]=(c[x>>2]|0)<(c[z>>2]|0)?c[x>>2]|0:c[z>>2]|0;c[C>>2]=(b[(c[T>>2]|0)+(c[A>>2]<<1)>>1]<<c[O>>2])-(c[A>>2]|0);g[B>>2]=+(c[C>>2]|0)*.800000011920929/+(c[J>>2]|0);g[y>>2]=+g[y>>2]<1.0?+g[y>>2]:1.0;if(+g[B>>2]*+(c[ba>>2]|0)<(+g[y>>2]-.10000000149011612)*+(c[C>>2]<<3|0)){p=+g[B>>2];a=c[ba>>2]|0}else{p=+g[y>>2]-.10000000149011612;a=c[C>>2]<<3}c[ba>>2]=(c[ba>>2]|0)-~~(p*+(a|0))}c[ba>>2]=(c[ba>>2]|0)+((c[E>>2]|0)-(16<<c[O>>2]));g[G>>2]=(c[F>>2]|0)==5010?.019999999552965164:.03999999910593033;c[ba>>2]=(c[ba>>2]|0)+~~((+g[Y>>2]-+g[G>>2])*+(c[ba>>2]|0));if(!(c[R>>2]|0?1:(c[c[D>>2]>>2]|0)==0)){if(0.0>+g[(c[D>>2]|0)+4>>2]-.15000000596046448)p=0.0;else p=+g[(c[D>>2]|0)+4>>2]-.15000000596046448;g[L>>2]=p-.09000000357627869;c[K>>2]=(c[ba>>2]|0)+~~(+(c[J>>2]<<3|0)*1.2000000476837158*+g[L>>2]);if(c[H>>2]|0)c[K>>2]=(c[K>>2]|0)+~~(+(c[J>>2]<<3|0)*.800000011920929);c[ba>>2]=c[K>>2]}if(!((c[Z>>2]|0)==0|(c[R>>2]|0)!=0)){c[M>>2]=(c[ba>>2]|0)+~~(+g[I>>2]*+(c[J>>2]<<3|0));if(((c[ba>>2]|0)/4|0|0)>(c[M>>2]|0))a=(c[ba>>2]|0)/4|0;else a=c[M>>2]|0;c[ba>>2]=a}c[V>>2]=b[(c[T>>2]|0)+((c[S>>2]|0)-2<<1)>>1]<<c[O>>2];n=+((N(c[P>>2]|0,c[V>>2]|0)|0)<<3|0);c[U>>2]=~~(n*+g[Q>>2]);c[U>>2]=(c[U>>2]|0)>(c[ba>>2]>>2|0)?c[U>>2]|0:c[ba>>2]>>2;c[ba>>2]=(c[ba>>2]|0)<(c[U>>2]|0)?c[ba>>2]|0:c[U>>2]|0;if((c[Z>>2]|0)==0|(c[R>>2]|0)!=0?(c[X>>2]|0)!=0|(c[W>>2]|0)<64e3:0){if(0.0>+((c[W>>2]|0)-32e3|0)*.000030517578125)p=0.0;else p=+((c[W>>2]|0)-32e3|0)*.000030517578125;g[_>>2]=p;if(c[X>>2]|0)g[_>>2]=+g[_>>2]<.6700000166893005?+g[_>>2]:.6700000166893005;c[ba>>2]=(c[$>>2]|0)+~~(+g[_>>2]*+((c[ba>>2]|0)-(c[$>>2]|0)|0))}if(!((c[Z>>2]|0)==0&+g[Y>>2]<.20000000298023224)){fa=c[$>>2]|0;fa=fa<<1;da=c[ba>>2]|0;da=(fa|0)<(da|0);fa=c[$>>2]|0;fa=fa<<1;ga=c[ba>>2]|0;ga=da?fa:ga;c[ba>>2]=ga;ga=c[ba>>2]|0;l=ea;return ga|0}if(0>((32e3<(96e3-(c[W>>2]|0)|0)?32e3:96e3-(c[W>>2]|0)|0)|0))a=0;else a=32e3<(96e3-(c[W>>2]|0)|0)?32e3:96e3-(c[W>>2]|0)|0;g[ca>>2]=+(a|0)*3.099999958067201e-06;g[da>>2]=+g[aa>>2]*+g[ca>>2];c[ba>>2]=(c[ba>>2]|0)+~~(+g[da>>2]*+(c[ba>>2]|0));fa=c[$>>2]|0;fa=fa<<1;da=c[ba>>2]|0;da=(fa|0)<(da|0);fa=c[$>>2]|0;fa=fa<<1;ga=c[ba>>2]|0;ga=da?fa:ga;c[ba>>2]=ga;ga=c[ba>>2]|0;l=ea;return ga|0}function jb(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[b>>2]|0)+44>>2]|0}function kb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[h>>2]=b;c[i>>2]=d;g[k>>2]=0.0;c[j>>2]=0;while(1){e=+g[k>>2];if((c[j>>2]|0)>=(c[i>>2]|0))break;g[k>>2]=e+ +g[(c[f>>2]|0)+(c[j>>2]<<2)>>2]*+g[(c[h>>2]|0)+(c[j>>2]<<2)>>2];c[j>>2]=(c[j>>2]|0)+1}l=m;return +e}function lb(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0.0;n=l;l=l+48|0;b=n+32|0;d=n+28|0;e=n+24|0;f=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[d>>2]=a;g[h>>2]=+g[(c[d>>2]|0)+8>>2];a=c[d>>2]|0;if(+g[c[d>>2]>>2]>+g[(c[d>>2]|0)+4>>2]){g[e>>2]=+g[a+4>>2];g[f>>2]=+g[c[d>>2]>>2]}else{g[e>>2]=+g[a>>2];g[f>>2]=+g[(c[d>>2]|0)+4>>2]}a=c[d>>2]|0;if(+g[(c[d>>2]|0)+12>>2]>+g[(c[d>>2]|0)+16>>2]){g[i>>2]=+g[a+16>>2];g[j>>2]=+g[(c[d>>2]|0)+12>>2]}else{g[i>>2]=+g[a+12>>2];g[j>>2]=+g[(c[d>>2]|0)+16>>2]}if(+g[e>>2]>+g[i>>2]){g[k>>2]=+g[e>>2];g[e>>2]=+g[i>>2];g[i>>2]=+g[k>>2];g[m>>2]=+g[f>>2];g[f>>2]=+g[j>>2];g[j>>2]=+g[m>>2]}if(+g[h>>2]>+g[f>>2])if(+g[f>>2]<+g[i>>2]){g[b>>2]=+g[h>>2]<+g[i>>2]?+g[h>>2]:+g[i>>2];o=+g[b>>2];l=n;return +o}else{g[b>>2]=+g[j>>2]<+g[f>>2]?+g[j>>2]:+g[f>>2];o=+g[b>>2];l=n;return +o}else if(+g[h>>2]<+g[i>>2]){g[b>>2]=+g[f>>2]<+g[i>>2]?+g[f>>2]:+g[i>>2];o=+g[b>>2];l=n;return +o}else{g[b>>2]=+g[h>>2]<+g[j>>2]?+g[h>>2]:+g[j>>2];o=+g[b>>2];l=n;return +o}return 0.0}function mb(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,i=0,j=0.0;i=l;l=l+32|0;b=i+16|0;d=i+12|0;e=i+8|0;f=i+4|0;h=i;c[d>>2]=a;a=c[d>>2]|0;if(+g[c[d>>2]>>2]>+g[(c[d>>2]|0)+4>>2]){g[e>>2]=+g[a+4>>2];g[f>>2]=+g[c[d>>2]>>2]}else{g[e>>2]=+g[a>>2];g[f>>2]=+g[(c[d>>2]|0)+4>>2]}g[h>>2]=+g[(c[d>>2]|0)+8>>2];if(+g[f>>2]<+g[h>>2]){g[b>>2]=+g[f>>2];j=+g[b>>2];l=i;return +j}if(+g[e>>2]<+g[h>>2]){g[b>>2]=+g[h>>2];j=+g[b>>2];l=i;return +j}else{g[b>>2]=+g[e>>2];j=+g[b>>2];l=i;return +j}return 0.0}function nb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;f=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[f>>2]=a;c[h>>2]=b;c[i>>2]=d;g[j>>2]=e;g[m>>2]=0.0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[h>>2]|0))break;e=+A(+(+g[(c[f>>2]|0)+(c[k>>2]<<2)>>2]));g[m>>2]=+g[m>>2]+e;c[k>>2]=(c[k>>2]|0)+1}g[m>>2]=+g[m>>2]+ +(c[i>>2]|0)*+g[j>>2]*+g[m>>2];l=n;return +(+g[m>>2])}function ob(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=sc(48e3,960,0)|0;a=pb(c[e>>2]|0,c[d>>2]|0)|0;l=b;return a|0}function pb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;b=88+((N(c[g>>2]|0,2048+(c[(c[f>>2]|0)+4>>2]|0)|0)|0)-1<<2)|0;c[d>>2]=b+((c[g>>2]|0)*24<<2)+(c[(c[f>>2]|0)+8>>2]<<3<<2);l=e;return c[d>>2]|0}function qb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;e=i+16|0;f=i+12|0;g=i+8|0;j=i+4|0;h=i;c[f>>2]=a;c[g>>2]=b;c[j>>2]=d;b=c[f>>2]|0;d=sc(48e3,960,0)|0;c[h>>2]=rb(b,d,c[j>>2]|0)|0;if(c[h>>2]|0){c[e>>2]=c[h>>2];j=c[e>>2]|0;l=i;return j|0}j=Ma(c[g>>2]|0)|0;c[(c[f>>2]|0)+16>>2]=j;if(!(c[(c[f>>2]|0)+16>>2]|0)){c[e>>2]=-1;j=c[e>>2]|0;l=i;return j|0}else{c[e>>2]=0;j=c[e>>2]|0;l=i;return j|0}return 0}function rb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;e=i+16|0;f=i+12|0;g=i+8|0;h=i+4|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if((c[h>>2]|0)<0|(c[h>>2]|0)>2){c[e>>2]=-1;h=c[e>>2]|0;l=i;return h|0}if(!(c[f>>2]|0)){c[e>>2]=-7;h=c[e>>2]|0;l=i;return h|0}else{d=c[f>>2]|0;aj(d|0,0,pb(c[g>>2]|0,c[h>>2]|0)|0)|0;c[c[f>>2]>>2]=c[g>>2];c[(c[f>>2]|0)+4>>2]=c[(c[g>>2]|0)+4>>2];h=c[h>>2]|0;c[(c[f>>2]|0)+8>>2]=h;c[(c[f>>2]|0)+12>>2]=h;c[(c[f>>2]|0)+16>>2]=1;c[(c[f>>2]|0)+20>>2]=0;c[(c[f>>2]|0)+24>>2]=c[(c[c[f>>2]>>2]|0)+12>>2];c[(c[f>>2]|0)+28>>2]=1;h=sb()|0;c[(c[f>>2]|0)+32>>2]=h;c[(c[f>>2]|0)+48>>2]=0;tb(c[f>>2]|0,4028,i)|0;c[e>>2]=0;h=c[e>>2]|0;l=i;return h|0}return 0}function sb(){return 0}function tb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;G=l;l=l+128|0;F=G+120|0;z=G+116|0;H=G+112|0;A=G+96|0;B=G+88|0;C=G+84|0;D=G+80|0;E=G+76|0;e=G+72|0;f=G+68|0;h=G+64|0;i=G+60|0;j=G+56|0;k=G+52|0;m=G+48|0;n=G+44|0;o=G+40|0;p=G+36|0;q=G+32|0;r=G+28|0;s=G+24|0;t=G+20|0;u=G+16|0;v=G+12|0;w=G+8|0;x=G+4|0;y=G;c[z>>2]=a;c[H>>2]=b;c[A>>2]=d;a:do switch(c[H>>2]|0){case 10010:{d=(c[A>>2]|0)+(4-1)&~(4-1);H=c[d>>2]|0;c[A>>2]=d+4;c[C>>2]=H;c[B>>2]=c[C>>2];if((c[B>>2]|0)>=0?(c[B>>2]|0)<(c[(c[c[z>>2]>>2]|0)+8>>2]|0):0){c[(c[z>>2]|0)+20>>2]=c[B>>2];a=24}else a=25;break}case 10012:{d=(c[A>>2]|0)+(4-1)&~(4-1);H=c[d>>2]|0;c[A>>2]=d+4;c[E>>2]=H;c[D>>2]=c[E>>2];if((c[D>>2]|0)>=1?(c[D>>2]|0)<=(c[(c[c[z>>2]>>2]|0)+8>>2]|0):0){c[(c[z>>2]|0)+24>>2]=c[D>>2];a=24}else a=25;break}case 10008:{d=(c[A>>2]|0)+(4-1)&~(4-1);H=c[d>>2]|0;c[A>>2]=d+4;c[f>>2]=H;c[e>>2]=c[f>>2];if((c[e>>2]|0)<1|(c[e>>2]|0)>2)a=25;else{c[(c[z>>2]|0)+12>>2]=c[e>>2];a=24}break}case 10007:{d=(c[A>>2]|0)+(4-1)&~(4-1);H=c[d>>2]|0;c[A>>2]=d+4;c[i>>2]=H;c[h>>2]=c[i>>2];if(!(c[h>>2]|0))a=25;else{c[c[h>>2]>>2]=c[(c[z>>2]|0)+40>>2];c[(c[z>>2]|0)+40>>2]=0;a=24}break}case 4027:{d=(c[A>>2]|0)+(4-1)&~(4-1);H=c[d>>2]|0;c[A>>2]=d+4;c[k>>2]=H;c[j>>2]=c[k>>2];if(!(c[j>>2]|0))a=25;else{c[c[j>>2]>>2]=(c[(c[z>>2]|0)+4>>2]|0)/(c[(c[z>>2]|0)+16>>2]|0)|0;a=24}break}case 4028:{c[n>>2]=(c[z>>2]|0)+84+((N(2048+(c[(c[z>>2]|0)+4>>2]|0)|0,c[(c[z>>2]|0)+8>>2]|0)|0)<<2);c[o>>2]=(c[n>>2]|0)+((c[(c[z>>2]|0)+8>>2]|0)*24<<2);c[p>>2]=(c[o>>2]|0)+(c[(c[c[z>>2]>>2]|0)+8>>2]<<1<<2);c[q>>2]=(c[p>>2]|0)+(c[(c[c[z>>2]>>2]|0)+8>>2]<<1<<2);aj((c[z>>2]|0)+36|0,0,(pb(c[c[z>>2]>>2]|0,c[(c[z>>2]|0)+8>>2]|0)|0)-((c[z>>2]|0)+36-(c[z>>2]|0))|0)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[c[z>>2]>>2]|0)+8>>2]<<1|0)){a=24;break a}g[(c[q>>2]|0)+(c[m>>2]<<2)>>2]=-28.0;g[(c[p>>2]|0)+(c[m>>2]<<2)>>2]=-28.0;c[m>>2]=(c[m>>2]|0)+1}}case 4033:{d=(c[A>>2]|0)+(4-1)&~(4-1);H=c[d>>2]|0;c[A>>2]=d+4;c[s>>2]=H;c[r>>2]=c[s>>2];if(!(c[r>>2]|0))a=25;else{c[c[r>>2]>>2]=c[(c[z>>2]|0)+52>>2];a=24}break}case 10015:{d=(c[A>>2]|0)+(4-1)&~(4-1);H=c[d>>2]|0;c[A>>2]=d+4;c[u>>2]=H;c[t>>2]=c[u>>2];if(!(c[t>>2]|0))a=25;else{c[c[t>>2]>>2]=c[c[z>>2]>>2];a=24}break}case 10016:{H=(c[A>>2]|0)+(4-1)&~(4-1);a=c[H>>2]|0;c[A>>2]=H+4;c[w>>2]=a;c[v>>2]=c[w>>2];c[(c[z>>2]|0)+28>>2]=c[v>>2];a=24;break}case 4031:{d=(c[A>>2]|0)+(4-1)&~(4-1);H=c[d>>2]|0;c[A>>2]=d+4;c[y>>2]=H;c[x>>2]=c[y>>2];if(!(c[x>>2]|0))a=25;else{c[c[x>>2]>>2]=c[(c[z>>2]|0)+36>>2];a=24}break}default:{c[F>>2]=-5;H=c[F>>2]|0;l=G;return H|0}}while(0);if((a|0)==24){c[F>>2]=0;H=c[F>>2]|0;l=G;return H|0}else if((a|0)==25){c[F>>2]=-1;H=c[F>>2]|0;l=G;return H|0}return 0}
function gd(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+80|0;p=t+40|0;h=t+36|0;q=t+32|0;r=t+28|0;s=t+24|0;i=t+20|0;k=t+16|0;g=t+12|0;j=t+8|0;m=t+48|0;n=t+4|0;o=t;c[p>>2]=a;c[h>>2]=d;c[q>>2]=e;c[r>>2]=f;c[n>>2]=(c[p>>2]|0)+2772;if((c[(c[p>>2]|0)+2316>>2]|0)!=(c[(c[n>>2]|0)+1384>>2]|0)){fd(c[p>>2]|0);c[(c[n>>2]|0)+1384>>2]=c[(c[p>>2]|0)+2316>>2]}a:do if((c[(c[p>>2]|0)+4160>>2]|0)==0?(c[(c[p>>2]|0)+4164>>2]|0)==0:0){c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[(c[p>>2]|0)+2340>>2]|0))break;f=(c[n>>2]|0)+1280+(c[s>>2]<<1)|0;b[f>>1]=(b[f>>1]|0)+((((b[(c[p>>2]|0)+2344+(c[s>>2]<<1)>>1]|0)-(b[(c[n>>2]|0)+1280+(c[s>>2]<<1)>>1]|0)>>16)*16348|0)+(((b[(c[p>>2]|0)+2344+(c[s>>2]<<1)>>1]|0)-(b[(c[n>>2]|0)+1280+(c[s>>2]<<1)>>1]|0)&65535)*16348>>16));c[s>>2]=(c[s>>2]|0)+1}c[g>>2]=0;c[i>>2]=0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[(c[p>>2]|0)+2324>>2]|0))break;if((c[(c[h>>2]|0)+16+(c[s>>2]<<2)>>2]|0)>(c[g>>2]|0)){c[g>>2]=c[(c[h>>2]|0)+16+(c[s>>2]<<2)>>2];c[i>>2]=c[s>>2]}c[s>>2]=(c[s>>2]|0)+1}$i((c[n>>2]|0)+(c[(c[p>>2]|0)+2332>>2]<<2)|0,c[n>>2]|0,(N((c[(c[p>>2]|0)+2324>>2]|0)-1|0,c[(c[p>>2]|0)+2332>>2]|0)|0)<<2|0)|0;i=(c[p>>2]|0)+4+((N(c[i>>2]|0,c[(c[p>>2]|0)+2332>>2]|0)|0)<<2)|0;_i(c[n>>2]|0,i|0,c[(c[p>>2]|0)+2332>>2]<<2|0)|0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[(c[p>>2]|0)+2324>>2]|0))break a;i=(c[n>>2]|0)+1376|0;c[i>>2]=(c[i>>2]|0)+((((c[(c[h>>2]|0)+16+(c[s>>2]<<2)>>2]|0)-(c[(c[n>>2]|0)+1376>>2]|0)>>16)*4634|0)+(((c[(c[h>>2]|0)+16+(c[s>>2]<<2)>>2]|0)-(c[(c[n>>2]|0)+1376>>2]|0)&65535)*4634>>16));c[s>>2]=(c[s>>2]|0)+1}}while(0);if(!(c[(c[p>>2]|0)+4160>>2]|0)){aj((c[n>>2]|0)+1312|0,0,c[(c[p>>2]|0)+2340>>2]<<2|0)|0;l=t;return}i=(c[r>>2]|0)+16|0;c[o>>2]=$()|0;e=l;l=l+((1*(i<<2)|0)+15&-16)|0;i=N(b[(c[p>>2]|0)+4168+56>>1]>>16,(c[(c[p>>2]|0)+4168+72+4>>2]&65535)<<16>>16)|0;i=i+((N(b[(c[p>>2]|0)+4168+56>>1]&65535,(c[(c[p>>2]|0)+4168+72+4>>2]&65535)<<16>>16)|0)>>16)|0;c[j>>2]=i+(N(b[(c[p>>2]|0)+4168+56>>1]|0,(c[(c[p>>2]|0)+4168+72+4>>2]>>15)+1>>1)|0);if((c[j>>2]|0)<2097152?(c[(c[n>>2]|0)+1376>>2]|0)<=8388608:0){i=N(c[j>>2]>>16,(c[j>>2]&65535)<<16>>16)|0;i=i+((N(c[j>>2]&65535,(c[j>>2]&65535)<<16>>16)|0)>>16)|0;c[j>>2]=i+(N(c[j>>2]|0,(c[j>>2]>>15)+1>>1)|0);i=N(c[(c[n>>2]|0)+1376>>2]>>16,(c[(c[n>>2]|0)+1376>>2]&65535)<<16>>16)|0;i=i+((N(c[(c[n>>2]|0)+1376>>2]&65535,(c[(c[n>>2]|0)+1376>>2]&65535)<<16>>16)|0)>>16)|0;i=i+(N(c[(c[n>>2]|0)+1376>>2]|0,(c[(c[n>>2]|0)+1376>>2]>>15)+1>>1)|0)|0;c[j>>2]=i-(c[j>>2]<<5);c[j>>2]=(hd(c[j>>2]|0)|0)<<8}else{c[j>>2]=N(c[j>>2]>>16,c[j>>2]>>16)|0;i=N(c[(c[n>>2]|0)+1376>>2]>>16,c[(c[n>>2]|0)+1376>>2]>>16)|0;c[j>>2]=i-(c[j>>2]<<5);c[j>>2]=(hd(c[j>>2]|0)|0)<<16}id(e+64|0,c[n>>2]|0,c[j>>2]|0,c[r>>2]|0,(c[n>>2]|0)+1380|0);Lf(m,(c[n>>2]|0)+1280|0,c[(c[p>>2]|0)+2340>>2]|0);a=e;d=(c[n>>2]|0)+1312|0;g=a+64|0;do{c[a>>2]=c[d>>2];a=a+4|0;d=d+4|0}while((a|0)<(g|0));c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[r>>2]|0))break;c[k>>2]=c[(c[p>>2]|0)+2340>>2]>>1;j=N(c[e+(16+(c[s>>2]|0)-1<<2)>>2]>>16,b[m>>1]|0)|0;c[k>>2]=(c[k>>2]|0)+(j+((N(c[e+(16+(c[s>>2]|0)-1<<2)>>2]&65535,b[m>>1]|0)|0)>>16));j=N(c[e+(16+(c[s>>2]|0)-2<<2)>>2]>>16,b[m+2>>1]|0)|0;c[k>>2]=(c[k>>2]|0)+(j+((N(c[e+(16+(c[s>>2]|0)-2<<2)>>2]&65535,b[m+2>>1]|0)|0)>>16));j=N(c[e+(16+(c[s>>2]|0)-3<<2)>>2]>>16,b[m+4>>1]|0)|0;c[k>>2]=(c[k>>2]|0)+(j+((N(c[e+(16+(c[s>>2]|0)-3<<2)>>2]&65535,b[m+4>>1]|0)|0)>>16));j=N(c[e+(16+(c[s>>2]|0)-4<<2)>>2]>>16,b[m+6>>1]|0)|0;c[k>>2]=(c[k>>2]|0)+(j+((N(c[e+(16+(c[s>>2]|0)-4<<2)>>2]&65535,b[m+6>>1]|0)|0)>>16));j=N(c[e+(16+(c[s>>2]|0)-5<<2)>>2]>>16,b[m+8>>1]|0)|0;c[k>>2]=(c[k>>2]|0)+(j+((N(c[e+(16+(c[s>>2]|0)-5<<2)>>2]&65535,b[m+8>>1]|0)|0)>>16));j=N(c[e+(16+(c[s>>2]|0)-6<<2)>>2]>>16,b[m+10>>1]|0)|0;c[k>>2]=(c[k>>2]|0)+(j+((N(c[e+(16+(c[s>>2]|0)-6<<2)>>2]&65535,b[m+10>>1]|0)|0)>>16));j=N(c[e+(16+(c[s>>2]|0)-7<<2)>>2]>>16,b[m+12>>1]|0)|0;c[k>>2]=(c[k>>2]|0)+(j+((N(c[e+(16+(c[s>>2]|0)-7<<2)>>2]&65535,b[m+12>>1]|0)|0)>>16));j=N(c[e+(16+(c[s>>2]|0)-8<<2)>>2]>>16,b[m+14>>1]|0)|0;c[k>>2]=(c[k>>2]|0)+(j+((N(c[e+(16+(c[s>>2]|0)-8<<2)>>2]&65535,b[m+14>>1]|0)|0)>>16));j=N(c[e+(16+(c[s>>2]|0)-9<<2)>>2]>>16,b[m+16>>1]|0)|0;c[k>>2]=(c[k>>2]|0)+(j+((N(c[e+(16+(c[s>>2]|0)-9<<2)>>2]&65535,b[m+16>>1]|0)|0)>>16));j=N(c[e+(16+(c[s>>2]|0)-10<<2)>>2]>>16,b[m+18>>1]|0)|0;c[k>>2]=(c[k>>2]|0)+(j+((N(c[e+(16+(c[s>>2]|0)-10<<2)>>2]&65535,b[m+18>>1]|0)|0)>>16));if((c[(c[p>>2]|0)+2340>>2]|0)==16){j=N(c[e+(16+(c[s>>2]|0)-11<<2)>>2]>>16,b[m+20>>1]|0)|0;c[k>>2]=(c[k>>2]|0)+(j+((N(c[e+(16+(c[s>>2]|0)-11<<2)>>2]&65535,b[m+20>>1]|0)|0)>>16));j=N(c[e+(16+(c[s>>2]|0)-12<<2)>>2]>>16,b[m+22>>1]|0)|0;c[k>>2]=(c[k>>2]|0)+(j+((N(c[e+(16+(c[s>>2]|0)-12<<2)>>2]&65535,b[m+22>>1]|0)|0)>>16));j=N(c[e+(16+(c[s>>2]|0)-13<<2)>>2]>>16,b[m+24>>1]|0)|0;c[k>>2]=(c[k>>2]|0)+(j+((N(c[e+(16+(c[s>>2]|0)-13<<2)>>2]&65535,b[m+24>>1]|0)|0)>>16));j=N(c[e+(16+(c[s>>2]|0)-14<<2)>>2]>>16,b[m+26>>1]|0)|0;c[k>>2]=(c[k>>2]|0)+(j+((N(c[e+(16+(c[s>>2]|0)-14<<2)>>2]&65535,b[m+26>>1]|0)|0)>>16));j=N(c[e+(16+(c[s>>2]|0)-15<<2)>>2]>>16,b[m+28>>1]|0)|0;c[k>>2]=(c[k>>2]|0)+(j+((N(c[e+(16+(c[s>>2]|0)-15<<2)>>2]&65535,b[m+28>>1]|0)|0)>>16));j=N(c[e+(16+(c[s>>2]|0)-16<<2)>>2]>>16,b[m+30>>1]|0)|0;c[k>>2]=(c[k>>2]|0)+(j+((N(c[e+(16+(c[s>>2]|0)-16<<2)>>2]&65535,b[m+30>>1]|0)|0)>>16))}c[e+(16+(c[s>>2]|0)<<2)>>2]=(c[e+(16+(c[s>>2]|0)<<2)>>2]|0)+(c[k>>2]<<4);if(((b[(c[q>>2]|0)+(c[s>>2]<<1)>>1]|0)+((c[e+(16+(c[s>>2]|0)<<2)>>2]>>9)+1>>1)|0)<=32767)if(((b[(c[q>>2]|0)+(c[s>>2]<<1)>>1]|0)+((c[e+(16+(c[s>>2]|0)<<2)>>2]>>9)+1>>1)|0)<-32768)a=-32768;else a=(b[(c[q>>2]|0)+(c[s>>2]<<1)>>1]|0)+((c[e+(16+(c[s>>2]|0)<<2)>>2]>>9)+1>>1)|0;else a=32767;b[(c[q>>2]|0)+(c[s>>2]<<1)>>1]=a;c[s>>2]=(c[s>>2]|0)+1}a=(c[n>>2]|0)+1312|0;d=e+(c[r>>2]<<2)|0;g=a+64|0;do{c[a>>2]=c[d>>2];a=a+4|0;d=d+4|0}while((a|0)<(g|0));_(c[o>>2]|0);l=t;return}function hd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;b=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;if((c[d>>2]|0)<=0){c[b>>2]=0;g=c[b>>2]|0;l=h;return g|0}jd(c[d>>2]|0,f,g);if(c[f>>2]&1|0)c[e>>2]=32768;else c[e>>2]=46214;c[e>>2]=c[e>>2]>>(c[f>>2]>>1);f=N(c[e>>2]>>16,(((c[g>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0;c[e>>2]=(c[e>>2]|0)+(f+((N(c[e>>2]&65535,(((c[g>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0)>>16));c[b>>2]=c[e>>2];g=c[b>>2]|0;l=h;return g|0}function id(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;k=q+32|0;m=q+28|0;n=q+24|0;o=q+20|0;p=q+16|0;g=q+12|0;h=q+8|0;i=q+4|0;j=q;c[k>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[j>>2]=255;while(1){if((c[j>>2]|0)<=(c[o>>2]|0))break;c[j>>2]=c[j>>2]>>1}c[g>>2]=c[c[p>>2]>>2];c[h>>2]=0;while(1){a=c[g>>2]|0;if((c[h>>2]|0)>=(c[o>>2]|0))break;c[g>>2]=907633515+(N(a,196314165)|0);c[i>>2]=c[g>>2]>>24&c[j>>2];f=N(c[(c[m>>2]|0)+(c[i>>2]<<2)>>2]>>16,(c[n>>2]>>4&65535)<<16>>16)|0;f=f+((N(c[(c[m>>2]|0)+(c[i>>2]<<2)>>2]&65535,(c[n>>2]>>4&65535)<<16>>16)|0)>>16)|0;if((f+(N(c[(c[m>>2]|0)+(c[i>>2]<<2)>>2]|0,(c[n>>2]>>4>>15)+1>>1)|0)|0)<=32767){f=N(c[(c[m>>2]|0)+(c[i>>2]<<2)>>2]>>16,(c[n>>2]>>4&65535)<<16>>16)|0;f=f+((N(c[(c[m>>2]|0)+(c[i>>2]<<2)>>2]&65535,(c[n>>2]>>4&65535)<<16>>16)|0)>>16)|0;if((f+(N(c[(c[m>>2]|0)+(c[i>>2]<<2)>>2]|0,(c[n>>2]>>4>>15)+1>>1)|0)|0)<-32768)a=-32768;else{a=N(c[(c[m>>2]|0)+(c[i>>2]<<2)>>2]>>16,(c[n>>2]>>4&65535)<<16>>16)|0;a=a+((N(c[(c[m>>2]|0)+(c[i>>2]<<2)>>2]&65535,(c[n>>2]>>4&65535)<<16>>16)|0)>>16)|0;a=a+(N(c[(c[m>>2]|0)+(c[i>>2]<<2)>>2]|0,(c[n>>2]>>4>>15)+1>>1)|0)|0}}else a=32767;c[(c[k>>2]|0)+(c[h>>2]<<2)>>2]=(a&65535)<<16>>16;c[h>>2]=(c[h>>2]|0)+1}c[c[p>>2]>>2]=a;l=q;return}function jd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+16|0;h=e+12|0;i=e+8|0;f=e+4|0;g=e;c[h>>2]=a;c[i>>2]=b;c[f>>2]=d;c[g>>2]=kd(c[h>>2]|0)|0;c[c[i>>2]>>2]=c[g>>2];d=(ld(c[h>>2]|0,24-(c[g>>2]|0)|0)|0)&127;c[c[f>>2]>>2]=d;l=e;return}function kd(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){b=32;l=d;return b|0}b=32-(32-(Q(c[b>>2]|0)|0))|0;l=d;return b|0}function ld(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+20|0;d=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[d>>2]=a;c[f>>2]=b;c[g>>2]=c[d>>2];c[h>>2]=c[f>>2];c[i>>2]=0-(c[f>>2]|0);if(!(c[f>>2]|0)){c[e>>2]=c[d>>2];i=c[e>>2]|0;l=j;return i|0}a=c[g>>2]|0;if((c[f>>2]|0)<0){c[e>>2]=a<<c[i>>2]|(c[g>>2]|0)>>>(32-(c[i>>2]|0)|0);i=c[e>>2]|0;l=j;return i|0}else{c[e>>2]=a<<32-(c[h>>2]|0)|(c[g>>2]|0)>>>(c[h>>2]|0);i=c[e>>2]|0;l=j;return i|0}return 0}function md(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;s=l;l=l+48|0;q=s+40|0;v=s+36|0;r=s+32|0;t=s+28|0;u=s+24|0;i=s+20|0;j=s+16|0;k=s+12|0;m=s+8|0;n=s+44|0;o=s+4|0;p=s;c[q>>2]=b;c[v>>2]=d;c[r>>2]=e;c[t>>2]=f;c[u>>2]=g;c[i>>2]=h;a[n+1>>0]=0;c[o>>2]=c[v>>2];c[j>>2]=(((c[u>>2]|0)+(c[t>>2]<<1)&65535)<<16>>16)*7;c[p>>2]=30180+(c[j>>2]|0);c[r>>2]=(c[r>>2]|0)+8>>4;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[r>>2]|0))break;c[m>>2]=c[(c[i>>2]|0)+(c[j>>2]<<2)>>2];a:do if((c[m>>2]|0)>0){a[n>>0]=a[(c[p>>2]|0)+((c[m>>2]&31|0)<6?c[m>>2]&31:6)>>0]|0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=16)break a;if(a[(c[o>>2]|0)+(c[k>>2]|0)>>0]|0)$b(c[q>>2]|0,(a[(c[o>>2]|0)+(c[k>>2]|0)>>0]>>15)+1|0,n,8);c[k>>2]=(c[k>>2]|0)+1}}while(0);c[o>>2]=(c[o>>2]|0)+16;c[j>>2]=(c[j>>2]|0)+1}l=s;return}function nd(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;t=l;l=l+48|0;r=t+40|0;w=t+36|0;s=t+32|0;u=t+28|0;v=t+24|0;j=t+20|0;k=t+16|0;m=t+12|0;n=t+8|0;o=t+44|0;p=t+4|0;q=t;c[r>>2]=d;c[w>>2]=e;c[s>>2]=f;c[u>>2]=g;c[v>>2]=h;c[j>>2]=i;a[o+1>>0]=0;c[p>>2]=c[w>>2];c[k>>2]=(((c[v>>2]|0)+(c[u>>2]<<1)&65535)<<16>>16)*7;c[q>>2]=30180+(c[k>>2]|0);c[s>>2]=(c[s>>2]|0)+8>>4;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[s>>2]|0))break;c[n>>2]=c[(c[j>>2]|0)+(c[k>>2]<<2)>>2];a:do if((c[n>>2]|0)>0){a[o>>0]=a[(c[q>>2]|0)+((c[n>>2]&31|0)<6?c[n>>2]&31:6)>>0]|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=16)break a;if((b[(c[p>>2]|0)+(c[m>>2]<<1)>>1]|0)>0){v=((Pb(c[r>>2]|0,o,8)|0)<<1)-1|0;w=(c[p>>2]|0)+(c[m>>2]<<1)|0;b[w>>1]=N(b[w>>1]|0,v)|0}c[m>>2]=(c[m>>2]|0)+1}}while(0);c[p>>2]=(c[p>>2]|0)+32;c[k>>2]=(c[k>>2]|0)+1}l=t;return}function od(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;aj(c[d>>2]|0,0,4260)|0;c[(c[d>>2]|0)+2376>>2]=1;c[c[d>>2]>>2]=65536;fd(c[d>>2]|0);ie(c[d>>2]|0);l=b;return 0}function pd(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=l;l=l+144|0;I=M+100|0;J=M+96|0;K=M+92|0;n=M+88|0;L=M+84|0;o=M+80|0;p=M+76|0;q=M+72|0;r=M+68|0;s=M+64|0;t=M+60|0;u=M+56|0;v=M+52|0;w=M+48|0;x=M+44|0;y=M+104|0;z=M+40|0;A=M+36|0;B=M+32|0;C=M+28|0;D=M+24|0;k=M+20|0;m=M+16|0;E=M+12|0;F=M+8|0;G=M+4|0;H=M;c[I>>2]=d;c[J>>2]=e;c[K>>2]=f;c[n>>2]=g;c[L>>2]=h;c[q>>2]=0;h=c[(c[I>>2]|0)+2336>>2]|0;c[H>>2]=$()|0;g=l;l=l+((1*(h<<1)|0)+15&-16)|0;h=l;l=l+((1*((c[(c[I>>2]|0)+2336>>2]|0)+(c[(c[I>>2]|0)+2328>>2]|0)<<2)|0)+15&-16)|0;i=l;l=l+((1*(c[(c[I>>2]|0)+2332>>2]<<2)|0)+15&-16)|0;j=l;l=l+((1*((c[(c[I>>2]|0)+2332>>2]|0)+16<<2)|0)+15&-16)|0;c[m>>2]=b[24558+(a[(c[I>>2]|0)+2736+29>>0]>>1<<2)+(a[(c[I>>2]|0)+2736+30>>0]<<1)>>1];if((a[(c[I>>2]|0)+2736+31>>0]|0)<4)c[t>>2]=1;else c[t>>2]=0;c[k>>2]=a[(c[I>>2]|0)+2736+34>>0];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[(c[I>>2]|0)+2328>>2]|0))break;c[k>>2]=907633515+(N(c[k>>2]|0,196314165)|0);c[(c[I>>2]|0)+4+(c[o>>2]<<2)>>2]=b[(c[n>>2]|0)+(c[o>>2]<<1)>>1]<<14;d=(c[I>>2]|0)+4+(c[o>>2]<<2)|0;e=c[d>>2]|0;if((c[(c[I>>2]|0)+4+(c[o>>2]<<2)>>2]|0)<=0){if((e|0)<0){f=(c[I>>2]|0)+4+(c[o>>2]<<2)|0;c[f>>2]=(c[f>>2]|0)+1280}}else c[d>>2]=e-1280;f=(c[I>>2]|0)+4+(c[o>>2]<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[m>>2]<<4);if((c[k>>2]|0)<0)c[(c[I>>2]|0)+4+(c[o>>2]<<2)>>2]=0-(c[(c[I>>2]|0)+4+(c[o>>2]<<2)>>2]|0);c[k>>2]=(c[k>>2]|0)+(b[(c[n>>2]|0)+(c[o>>2]<<1)>>1]|0);c[o>>2]=(c[o>>2]|0)+1}d=j;e=(c[I>>2]|0)+1284|0;f=d+64|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));c[F>>2]=(c[I>>2]|0)+4;c[x>>2]=c[K>>2];c[s>>2]=c[(c[I>>2]|0)+2336>>2];c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[(c[I>>2]|0)+2324>>2]|0))break;c[G>>2]=i;c[v>>2]=(c[J>>2]|0)+32+(c[p>>2]>>1<<5);_i(y|0,c[v>>2]|0,c[(c[I>>2]|0)+2340>>2]<<1|0)|0;c[w>>2]=(c[J>>2]|0)+96+((c[p>>2]|0)*5<<1);c[u>>2]=a[(c[I>>2]|0)+2736+29>>0];c[B>>2]=c[(c[J>>2]|0)+16+(c[p>>2]<<2)>>2]>>6;c[C>>2]=qd(c[(c[J>>2]|0)+16+(c[p>>2]<<2)>>2]|0,47)|0;a:do if((c[(c[J>>2]|0)+16+(c[p>>2]<<2)>>2]|0)!=(c[c[I>>2]>>2]|0)){c[D>>2]=rd(c[c[I>>2]>>2]|0,c[(c[J>>2]|0)+16+(c[p>>2]<<2)>>2]|0,16)|0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=16)break a;n=N(c[D>>2]>>16,(c[j+(c[o>>2]<<2)>>2]&65535)<<16>>16)|0;n=n+((N(c[D>>2]&65535,(c[j+(c[o>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;n=n+(N(c[D>>2]|0,(c[j+(c[o>>2]<<2)>>2]>>15)+1>>1)|0)|0;c[j+(c[o>>2]<<2)>>2]=n;c[o>>2]=(c[o>>2]|0)+1}}else c[D>>2]=65536;while(0);c[c[I>>2]>>2]=c[(c[J>>2]|0)+16+(c[p>>2]<<2)>>2];if((c[(c[I>>2]|0)+4160>>2]|0?(c[(c[I>>2]|0)+4164>>2]|0)==2:0)?((c[p>>2]|0)<2?(a[(c[I>>2]|0)+2736+29>>0]|0)!=2:0):0){n=c[w>>2]|0;b[n>>1]=0;b[n+2>>1]=0;b[n+4>>1]=0;b[n+6>>1]=0;b[n+8>>1]=0;b[(c[w>>2]|0)+4>>1]=4096;c[u>>2]=2;c[(c[J>>2]|0)+(c[p>>2]<<2)>>2]=c[(c[I>>2]|0)+2308>>2]}b:do if((c[u>>2]|0)==2){c[q>>2]=c[(c[J>>2]|0)+(c[p>>2]<<2)>>2];if(c[p>>2]|0?!((c[p>>2]|0)==2&(c[t>>2]|0)!=0):0){if((c[D>>2]|0)==65536)break;c[o>>2]=0;while(1){if((c[o>>2]|0)>=((c[q>>2]|0)+2|0))break b;n=N(c[D>>2]>>16,(c[h+((c[s>>2]|0)-(c[o>>2]|0)-1<<2)>>2]&65535)<<16>>16)|0;n=n+((N(c[D>>2]&65535,(c[h+((c[s>>2]|0)-(c[o>>2]|0)-1<<2)>>2]&65535)<<16>>16)|0)>>16)|0;n=n+(N(c[D>>2]|0,(c[h+((c[s>>2]|0)-(c[o>>2]|0)-1<<2)>>2]>>15)+1>>1)|0)|0;c[h+((c[s>>2]|0)-(c[o>>2]|0)-1<<2)>>2]=n;c[o>>2]=(c[o>>2]|0)+1}}c[r>>2]=(c[(c[I>>2]|0)+2336>>2]|0)-(c[q>>2]|0)-(c[(c[I>>2]|0)+2340>>2]|0)-2;if((c[p>>2]|0)==2)_i((c[I>>2]|0)+1348+(c[(c[I>>2]|0)+2336>>2]<<1)|0,c[K>>2]|0,c[(c[I>>2]|0)+2332>>2]<<1<<1|0)|0;n=(c[I>>2]|0)+1348+((c[r>>2]|0)+(N(c[p>>2]|0,c[(c[I>>2]|0)+2332>>2]|0)|0)<<1)|0;Gf(g+(c[r>>2]<<1)|0,n,c[v>>2]|0,(c[(c[I>>2]|0)+2336>>2]|0)-(c[r>>2]|0)|0,c[(c[I>>2]|0)+2340>>2]|0,c[L>>2]|0);if(!(c[p>>2]|0)){n=N(c[C>>2]>>16,(c[(c[J>>2]|0)+136>>2]&65535)<<16>>16)|0;c[C>>2]=n+((N(c[C>>2]&65535,(c[(c[J>>2]|0)+136>>2]&65535)<<16>>16)|0)>>16)<<2}c[o>>2]=0;while(1){if((c[o>>2]|0)>=((c[q>>2]|0)+2|0))break b;n=N(c[C>>2]>>16,b[g+((c[(c[I>>2]|0)+2336>>2]|0)-(c[o>>2]|0)-1<<1)>>1]|0)|0;n=n+((N(c[C>>2]&65535,b[g+((c[(c[I>>2]|0)+2336>>2]|0)-(c[o>>2]|0)-1<<1)>>1]|0)|0)>>16)|0;c[h+((c[s>>2]|0)-(c[o>>2]|0)-1<<2)>>2]=n;c[o>>2]=(c[o>>2]|0)+1}}while(0);c:do if((c[u>>2]|0)==2){c[E>>2]=h+((c[s>>2]|0)-(c[q>>2]|0)+2<<2);c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[(c[I>>2]|0)+2332>>2]|0))break c;c[z>>2]=2;n=N(c[c[E>>2]>>2]>>16,b[c[w>>2]>>1]|0)|0;c[z>>2]=(c[z>>2]|0)+(n+((N(c[c[E>>2]>>2]&65535,b[c[w>>2]>>1]|0)|0)>>16));n=N(c[(c[E>>2]|0)+-4>>2]>>16,b[(c[w>>2]|0)+2>>1]|0)|0;c[z>>2]=(c[z>>2]|0)+(n+((N(c[(c[E>>2]|0)+-4>>2]&65535,b[(c[w>>2]|0)+2>>1]|0)|0)>>16));n=N(c[(c[E>>2]|0)+-8>>2]>>16,b[(c[w>>2]|0)+4>>1]|0)|0;c[z>>2]=(c[z>>2]|0)+(n+((N(c[(c[E>>2]|0)+-8>>2]&65535,b[(c[w>>2]|0)+4>>1]|0)|0)>>16));n=N(c[(c[E>>2]|0)+-12>>2]>>16,b[(c[w>>2]|0)+6>>1]|0)|0;c[z>>2]=(c[z>>2]|0)+(n+((N(c[(c[E>>2]|0)+-12>>2]&65535,b[(c[w>>2]|0)+6>>1]|0)|0)>>16));n=N(c[(c[E>>2]|0)+-16>>2]>>16,b[(c[w>>2]|0)+8>>1]|0)|0;c[z>>2]=(c[z>>2]|0)+(n+((N(c[(c[E>>2]|0)+-16>>2]&65535,b[(c[w>>2]|0)+8>>1]|0)|0)>>16));c[E>>2]=(c[E>>2]|0)+4;c[(c[G>>2]|0)+(c[o>>2]<<2)>>2]=(c[(c[F>>2]|0)+(c[o>>2]<<2)>>2]|0)+(c[z>>2]<<1);c[h+(c[s>>2]<<2)>>2]=c[(c[G>>2]|0)+(c[o>>2]<<2)>>2]<<1;c[s>>2]=(c[s>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+1}}else c[G>>2]=c[F>>2];while(0);c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[(c[I>>2]|0)+2332>>2]|0))break;c[A>>2]=c[(c[I>>2]|0)+2340>>2]>>1;n=N(c[j+(16+(c[o>>2]|0)-1<<2)>>2]>>16,b[y>>1]|0)|0;c[A>>2]=(c[A>>2]|0)+(n+((N(c[j+(16+(c[o>>2]|0)-1<<2)>>2]&65535,b[y>>1]|0)|0)>>16));n=N(c[j+(16+(c[o>>2]|0)-2<<2)>>2]>>16,b[y+2>>1]|0)|0;c[A>>2]=(c[A>>2]|0)+(n+((N(c[j+(16+(c[o>>2]|0)-2<<2)>>2]&65535,b[y+2>>1]|0)|0)>>16));n=N(c[j+(16+(c[o>>2]|0)-3<<2)>>2]>>16,b[y+4>>1]|0)|0;c[A>>2]=(c[A>>2]|0)+(n+((N(c[j+(16+(c[o>>2]|0)-3<<2)>>2]&65535,b[y+4>>1]|0)|0)>>16));n=N(c[j+(16+(c[o>>2]|0)-4<<2)>>2]>>16,b[y+6>>1]|0)|0;c[A>>2]=(c[A>>2]|0)+(n+((N(c[j+(16+(c[o>>2]|0)-4<<2)>>2]&65535,b[y+6>>1]|0)|0)>>16));n=N(c[j+(16+(c[o>>2]|0)-5<<2)>>2]>>16,b[y+8>>1]|0)|0;c[A>>2]=(c[A>>2]|0)+(n+((N(c[j+(16+(c[o>>2]|0)-5<<2)>>2]&65535,b[y+8>>1]|0)|0)>>16));n=N(c[j+(16+(c[o>>2]|0)-6<<2)>>2]>>16,b[y+10>>1]|0)|0;c[A>>2]=(c[A>>2]|0)+(n+((N(c[j+(16+(c[o>>2]|0)-6<<2)>>2]&65535,b[y+10>>1]|0)|0)>>16));n=N(c[j+(16+(c[o>>2]|0)-7<<2)>>2]>>16,b[y+12>>1]|0)|0;c[A>>2]=(c[A>>2]|0)+(n+((N(c[j+(16+(c[o>>2]|0)-7<<2)>>2]&65535,b[y+12>>1]|0)|0)>>16));n=N(c[j+(16+(c[o>>2]|0)-8<<2)>>2]>>16,b[y+14>>1]|0)|0;c[A>>2]=(c[A>>2]|0)+(n+((N(c[j+(16+(c[o>>2]|0)-8<<2)>>2]&65535,b[y+14>>1]|0)|0)>>16));n=N(c[j+(16+(c[o>>2]|0)-9<<2)>>2]>>16,b[y+16>>1]|0)|0;c[A>>2]=(c[A>>2]|0)+(n+((N(c[j+(16+(c[o>>2]|0)-9<<2)>>2]&65535,b[y+16>>1]|0)|0)>>16));n=N(c[j+(16+(c[o>>2]|0)-10<<2)>>2]>>16,b[y+18>>1]|0)|0;c[A>>2]=(c[A>>2]|0)+(n+((N(c[j+(16+(c[o>>2]|0)-10<<2)>>2]&65535,b[y+18>>1]|0)|0)>>16));if((c[(c[I>>2]|0)+2340>>2]|0)==16){n=N(c[j+(16+(c[o>>2]|0)-11<<2)>>2]>>16,b[y+20>>1]|0)|0;c[A>>2]=(c[A>>2]|0)+(n+((N(c[j+(16+(c[o>>2]|0)-11<<2)>>2]&65535,b[y+20>>1]|0)|0)>>16));n=N(c[j+(16+(c[o>>2]|0)-12<<2)>>2]>>16,b[y+22>>1]|0)|0;c[A>>2]=(c[A>>2]|0)+(n+((N(c[j+(16+(c[o>>2]|0)-12<<2)>>2]&65535,b[y+22>>1]|0)|0)>>16));n=N(c[j+(16+(c[o>>2]|0)-13<<2)>>2]>>16,b[y+24>>1]|0)|0;c[A>>2]=(c[A>>2]|0)+(n+((N(c[j+(16+(c[o>>2]|0)-13<<2)>>2]&65535,b[y+24>>1]|0)|0)>>16));n=N(c[j+(16+(c[o>>2]|0)-14<<2)>>2]>>16,b[y+26>>1]|0)|0;c[A>>2]=(c[A>>2]|0)+(n+((N(c[j+(16+(c[o>>2]|0)-14<<2)>>2]&65535,b[y+26>>1]|0)|0)>>16));n=N(c[j+(16+(c[o>>2]|0)-15<<2)>>2]>>16,b[y+28>>1]|0)|0;c[A>>2]=(c[A>>2]|0)+(n+((N(c[j+(16+(c[o>>2]|0)-15<<2)>>2]&65535,b[y+28>>1]|0)|0)>>16));n=N(c[j+(16+(c[o>>2]|0)-16<<2)>>2]>>16,b[y+30>>1]|0)|0;c[A>>2]=(c[A>>2]|0)+(n+((N(c[j+(16+(c[o>>2]|0)-16<<2)>>2]&65535,b[y+30>>1]|0)|0)>>16))}c[j+(16+(c[o>>2]|0)<<2)>>2]=(c[(c[G>>2]|0)+(c[o>>2]<<2)>>2]|0)+(c[A>>2]<<4);n=N(c[j+(16+(c[o>>2]|0)<<2)>>2]>>16,(c[B>>2]&65535)<<16>>16)|0;n=n+((N(c[j+(16+(c[o>>2]|0)<<2)>>2]&65535,(c[B>>2]&65535)<<16>>16)|0)>>16)|0;if(((n+(N(c[j+(16+(c[o>>2]|0)<<2)>>2]|0,(c[B>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<=32767){n=N(c[j+(16+(c[o>>2]|0)<<2)>>2]>>16,(c[B>>2]&65535)<<16>>16)|0;n=n+((N(c[j+(16+(c[o>>2]|0)<<2)>>2]&65535,(c[B>>2]&65535)<<16>>16)|0)>>16)|0;if(((n+(N(c[j+(16+(c[o>>2]|0)<<2)>>2]|0,(c[B>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<-32768)d=-32768;else{d=N(c[j+(16+(c[o>>2]|0)<<2)>>2]>>16,(c[B>>2]&65535)<<16>>16)|0;d=d+((N(c[j+(16+(c[o>>2]|0)<<2)>>2]&65535,(c[B>>2]&65535)<<16>>16)|0)>>16)|0;d=(d+(N(c[j+(16+(c[o>>2]|0)<<2)>>2]|0,(c[B>>2]>>15)+1>>1)|0)>>7)+1>>1}}else d=32767;b[(c[x>>2]|0)+(c[o>>2]<<1)>>1]=d;c[o>>2]=(c[o>>2]|0)+1}d=j;e=j+(c[(c[I>>2]|0)+2332>>2]<<2)|0;f=d+64|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));c[F>>2]=(c[F>>2]|0)+(c[(c[I>>2]|0)+2332>>2]<<2);c[x>>2]=(c[x>>2]|0)+(c[(c[I>>2]|0)+2332>>2]<<1);c[p>>2]=(c[p>>2]|0)+1}d=(c[I>>2]|0)+1284|0;e=j;f=d+64|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));_(c[H>>2]|0);l=M;return}function qd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;h=l;l=l+48|0;f=h+32|0;n=h+28|0;d=h+24|0;i=h+20|0;g=h+16|0;j=h+12|0;m=h+8|0;k=h+4|0;e=h;c[n>>2]=a;c[d>>2]=b;a=c[n>>2]|0;c[i>>2]=(sd((c[n>>2]|0)>0?a:0-a|0)|0)-1;c[m>>2]=c[n>>2]<<c[i>>2];c[j>>2]=536870911/(c[m>>2]>>16|0)|0;c[e>>2]=c[j>>2]<<16;a=N(c[m>>2]>>16,(c[j>>2]&65535)<<16>>16)|0;c[k>>2]=536870912-(a+((N(c[m>>2]&65535,(c[j>>2]&65535)<<16>>16)|0)>>16))<<3;a=N(c[k>>2]>>16,(c[j>>2]&65535)<<16>>16)|0;a=(c[e>>2]|0)+(a+((N(c[k>>2]&65535,(c[j>>2]&65535)<<16>>16)|0)>>16))|0;c[e>>2]=a+(N(c[k>>2]|0,(c[j>>2]>>15)+1>>1)|0);c[g>>2]=61-(c[i>>2]|0)-(c[d>>2]|0);a=c[g>>2]|0;if((c[g>>2]|0)>0)if((a|0)<32){c[f>>2]=c[e>>2]>>c[g>>2];n=c[f>>2]|0;l=h;return n|0}else{c[f>>2]=0;n=c[f>>2]|0;l=h;return n|0}b=c[e>>2]|0;d=0-(c[g>>2]|0)|0;do if((-2147483648>>0-a|0)>(2147483647>>0-(c[g>>2]|0)|0)){if((b|0)>(-2147483648>>d|0)){a=-2147483648>>0-(c[g>>2]|0);break}if((c[e>>2]|0)<(2147483647>>0-(c[g>>2]|0)|0)){a=2147483647>>0-(c[g>>2]|0);break}else{a=c[e>>2]|0;break}}else{if((b|0)>(2147483647>>d|0)){a=2147483647>>0-(c[g>>2]|0);break}if((c[e>>2]|0)<(-2147483648>>0-(c[g>>2]|0)|0)){a=-2147483648>>0-(c[g>>2]|0);break}else{a=c[e>>2]|0;break}}while(0);c[f>>2]=a<<0-(c[g>>2]|0);n=c[f>>2]|0;l=h;return n|0}function rd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;h=l;l=l+48|0;f=h+40|0;q=h+36|0;p=h+32|0;i=h+28|0;k=h+24|0;j=h+20|0;g=h+16|0;m=h+12|0;n=h+8|0;o=h+4|0;e=h;c[q>>2]=a;c[p>>2]=b;c[i>>2]=d;d=c[q>>2]|0;c[k>>2]=(sd((c[q>>2]|0)>0?d:0-d|0)|0)-1;c[n>>2]=c[q>>2]<<c[k>>2];d=c[p>>2]|0;c[j>>2]=(sd((c[p>>2]|0)>0?d:0-d|0)|0)-1;c[o>>2]=c[p>>2]<<c[j>>2];c[m>>2]=536870911/(c[o>>2]>>16|0)|0;d=N(c[n>>2]>>16,(c[m>>2]&65535)<<16>>16)|0;c[e>>2]=d+((N(c[n>>2]&65535,(c[m>>2]&65535)<<16>>16)|0)>>16);d=c[n>>2]|0;b=c[o>>2]|0;a=c[e>>2]|0;a=Xi(b|0,((b|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Yi(a|0,y|0,32)|0;c[n>>2]=d-(a<<3);a=N(c[n>>2]>>16,(c[m>>2]&65535)<<16>>16)|0;c[e>>2]=(c[e>>2]|0)+(a+((N(c[n>>2]&65535,(c[m>>2]&65535)<<16>>16)|0)>>16));c[g>>2]=29+(c[k>>2]|0)-(c[j>>2]|0)-(c[i>>2]|0);a=c[g>>2]|0;if((c[g>>2]|0)>=0)if((a|0)<32){c[f>>2]=c[e>>2]>>c[g>>2];q=c[f>>2]|0;l=h;return q|0}else{c[f>>2]=0;q=c[f>>2]|0;l=h;return q|0}b=c[e>>2]|0;d=0-(c[g>>2]|0)|0;do if((-2147483648>>0-a|0)>(2147483647>>0-(c[g>>2]|0)|0)){if((b|0)>(-2147483648>>d|0)){a=-2147483648>>0-(c[g>>2]|0);break}if((c[e>>2]|0)<(2147483647>>0-(c[g>>2]|0)|0)){a=2147483647>>0-(c[g>>2]|0);break}else{a=c[e>>2]|0;break}}else{if((b|0)>(2147483647>>d|0)){a=2147483647>>0-(c[g>>2]|0);break}if((c[e>>2]|0)<(-2147483648>>0-(c[g>>2]|0)|0)){a=-2147483648>>0-(c[g>>2]|0);break}else{a=c[e>>2]|0;break}}while(0);c[f>>2]=a<<0-(c[g>>2]|0);q=c[f>>2]|0;l=h;return q|0}function sd(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){b=32;l=d;return b|0}b=32-(32-(Q(c[b>>2]|0)|0))|0;l=d;return b|0}function td(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+192|0;t=x+180|0;u=x+176|0;v=x+172|0;j=x+168|0;k=x+164|0;m=x+160|0;n=x+156|0;o=x+152|0;p=x+148|0;q=x+144|0;r=x+4|0;s=x;c[t>>2]=b;c[u>>2]=d;c[v>>2]=e;c[j>>2]=f;c[k>>2]=g;c[m>>2]=h;c[n>>2]=i;c[q>>2]=0;c[o>>2]=c[(c[t>>2]|0)+2328>>2];c[r+136>>2]=0;do if(!(c[k>>2]|0))w=4;else{if((c[k>>2]|0)==2?(c[(c[t>>2]|0)+2420+(c[(c[t>>2]|0)+2388>>2]<<2)>>2]|0)==1:0){w=4;break}je(c[t>>2]|0,r,c[v>>2]|0,1,c[n>>2]|0)}while(0);if((w|0)==4){i=(c[o>>2]|0)+16-1&-16;c[s>>2]=$()|0;w=l;l=l+((1*(i<<1)|0)+15&-16)|0;vd(c[t>>2]|0,c[u>>2]|0,c[(c[t>>2]|0)+2388>>2]|0,c[k>>2]|0,c[m>>2]|0);wd(c[u>>2]|0,w,a[(c[t>>2]|0)+2736+29>>0]|0,a[(c[t>>2]|0)+2736+30>>0]|0,c[(c[t>>2]|0)+2328>>2]|0);ud(c[t>>2]|0,r,c[m>>2]|0);pd(c[t>>2]|0,r,c[v>>2]|0,w,c[n>>2]|0);je(c[t>>2]|0,r,c[v>>2]|0,0,c[n>>2]|0);c[(c[t>>2]|0)+4160>>2]=0;c[(c[t>>2]|0)+4164>>2]=a[(c[t>>2]|0)+2736+29>>0];c[(c[t>>2]|0)+2376>>2]=0;_(c[s>>2]|0)}c[p>>2]=(c[(c[t>>2]|0)+2336>>2]|0)-(c[(c[t>>2]|0)+2328>>2]|0);$i((c[t>>2]|0)+1348|0,(c[t>>2]|0)+1348+(c[(c[t>>2]|0)+2328>>2]<<1)|0,c[p>>2]<<1|0)|0;_i((c[t>>2]|0)+1348+(c[p>>2]<<1)|0,c[v>>2]|0,c[(c[t>>2]|0)+2328>>2]<<1|0)|0;gd(c[t>>2]|0,r,c[v>>2]|0,c[o>>2]|0);ue(c[t>>2]|0,c[v>>2]|0,c[o>>2]|0);c[(c[t>>2]|0)+2308>>2]=c[r+((c[(c[t>>2]|0)+2324>>2]|0)-1<<2)>>2];c[c[j>>2]>>2]=c[o>>2];l=x;return c[q>>2]|0}function ud(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+96|0;j=p+24|0;k=p+20|0;q=p+16|0;m=p+12|0;n=p+8|0;o=p+4|0;h=p+64|0;g=p+32|0;i=p;c[j>>2]=d;c[k>>2]=e;c[q>>2]=f;Ld((c[k>>2]|0)+16|0,(c[j>>2]|0)+2736|0,(c[j>>2]|0)+2312|0,(c[q>>2]|0)==2&1,c[(c[j>>2]|0)+2324>>2]|0);Rd(h,(c[j>>2]|0)+2736+8|0,c[(c[j>>2]|0)+2732>>2]|0);Lf((c[k>>2]|0)+32+32|0,h,c[(c[j>>2]|0)+2340>>2]|0);if((c[(c[j>>2]|0)+2376>>2]|0)==1)a[(c[j>>2]|0)+2736+31>>0]=4;if((a[(c[j>>2]|0)+2736+31>>0]|0)<4){c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[j>>2]|0)+2340>>2]|0))break;q=(b[(c[j>>2]|0)+2344+(c[m>>2]<<1)>>1]|0)+((N(a[(c[j>>2]|0)+2736+31>>0]|0,(b[h+(c[m>>2]<<1)>>1]|0)-(b[(c[j>>2]|0)+2344+(c[m>>2]<<1)>>1]|0)|0)|0)>>2)&65535;b[g+(c[m>>2]<<1)>>1]=q;c[m>>2]=(c[m>>2]|0)+1}Lf((c[k>>2]|0)+32|0,g,c[(c[j>>2]|0)+2340>>2]|0)}else _i((c[k>>2]|0)+32|0,(c[k>>2]|0)+32+32|0,c[(c[j>>2]|0)+2340>>2]<<1|0)|0;_i((c[j>>2]|0)+2344|0,h|0,c[(c[j>>2]|0)+2340>>2]<<1|0)|0;if(c[(c[j>>2]|0)+4160>>2]|0){yf((c[k>>2]|0)+32|0,c[(c[j>>2]|0)+2340>>2]|0,63570);yf((c[k>>2]|0)+32+32|0,c[(c[j>>2]|0)+2340>>2]|0,63570)}if((a[(c[j>>2]|0)+2736+29>>0]|0)!=2){aj(c[k>>2]|0,0,c[(c[j>>2]|0)+2324>>2]<<2|0)|0;aj((c[k>>2]|0)+96|0,0,(c[(c[j>>2]|0)+2324>>2]|0)*5<<1|0)|0;a[(c[j>>2]|0)+2736+32>>0]=0;o=0;q=c[k>>2]|0;q=q+136|0;c[q>>2]=o;l=p;return}zf(b[(c[j>>2]|0)+2736+26>>1]|0,a[(c[j>>2]|0)+2736+28>>0]|0,c[k>>2]|0,c[(c[j>>2]|0)+2316>>2]|0,c[(c[j>>2]|0)+2324>>2]|0);c[i>>2]=c[17644+(a[(c[j>>2]|0)+2736+32>>0]<<2)>>2];c[n>>2]=0;while(1){d=(c[j>>2]|0)+2736|0;if((c[n>>2]|0)>=(c[(c[j>>2]|0)+2324>>2]|0))break;c[o>>2]=a[d+4+(c[n>>2]|0)>>0];c[m>>2]=0;while(1){if((c[m>>2]|0)>=5)break;b[(c[k>>2]|0)+96+(((c[n>>2]|0)*5|0)+(c[m>>2]|0)<<1)>>1]=a[(c[i>>2]|0)+(((c[o>>2]|0)*5|0)+(c[m>>2]|0))>>0]<<7;c[m>>2]=(c[m>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1}c[o>>2]=a[d+33>>0];o=b[24566+(c[o>>2]<<1)>>1]|0;q=c[k>>2]|0;q=q+136|0;c[q>>2]=o;l=p;return}function vd(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=l;l=l+96|0;r=t+36|0;s=t+32|0;u=t+28|0;v=t+24|0;q=t+20|0;i=t+16|0;n=t+12|0;j=t+8|0;o=t+4|0;p=t;k=t+40|0;m=t+72|0;c[r>>2]=d;c[s>>2]=e;c[u>>2]=f;c[v>>2]=g;c[q>>2]=h;if(!(c[v>>2]|0)?!(c[(c[r>>2]|0)+2404+(c[u>>2]<<2)>>2]|0):0)c[j>>2]=Pb(c[s>>2]|0,29020,8)|0;else c[j>>2]=(Pb(c[s>>2]|0,29016,8)|0)+2;a[(c[r>>2]|0)+2736+29>>0]=c[j>>2]>>1;a[(c[r>>2]|0)+2736+30>>0]=c[j>>2]&1;d=c[s>>2]|0;if((c[q>>2]|0)==2){v=(Pb(d,26767,8)|0)&255;a[(c[r>>2]|0)+2736>>0]=v}else{u=(Pb(d,26743+(a[(c[r>>2]|0)+2736+29>>0]<<3)|0,8)|0)<<3&255;a[(c[r>>2]|0)+2736>>0]=u;u=((Pb(c[s>>2]|0,29045,8)|0)&255)<<24>>24;v=(c[r>>2]|0)+2736|0;a[v>>0]=(a[v>>0]|0)+u}c[i>>2]=1;while(1){d=c[s>>2]|0;if((c[i>>2]|0)>=(c[(c[r>>2]|0)+2324>>2]|0))break;v=(Pb(d,26767,8)|0)&255;a[(c[r>>2]|0)+2736+(c[i>>2]|0)>>0]=v;c[i>>2]=(c[i>>2]|0)+1}v=(Pb(d,(c[(c[(c[r>>2]|0)+2732>>2]|0)+12>>2]|0)+(N(a[(c[r>>2]|0)+2736+29>>0]>>1,b[c[(c[r>>2]|0)+2732>>2]>>1]|0)|0)|0,8)|0)&255;a[(c[r>>2]|0)+2736+8>>0]=v;Xe(k,m,c[(c[r>>2]|0)+2732>>2]|0,a[(c[r>>2]|0)+2736+8>>0]|0);c[i>>2]=0;while(1){if((c[i>>2]|0)>=(b[(c[(c[r>>2]|0)+2732>>2]|0)+2>>1]|0))break;c[j>>2]=Pb(c[s>>2]|0,(c[(c[(c[r>>2]|0)+2732>>2]|0)+24>>2]|0)+(b[k+(c[i>>2]<<1)>>1]|0)|0,8)|0;if(c[j>>2]|0){if((c[j>>2]|0)==8){v=Pb(c[s>>2]|0,29053,8)|0;c[j>>2]=(c[j>>2]|0)+v}}else{v=Pb(c[s>>2]|0,29053,8)|0;c[j>>2]=(c[j>>2]|0)-v}a[(c[r>>2]|0)+2736+8+((c[i>>2]|0)+1)>>0]=(c[j>>2]|0)-4;c[i>>2]=(c[i>>2]|0)+1}if((c[(c[r>>2]|0)+2324>>2]|0)==4){d=(Pb(c[s>>2]|0,29022,8)|0)&255;e=c[r>>2]|0}else{d=4;e=c[r>>2]|0}a[e+2736+31>>0]=d;if((a[(c[r>>2]|0)+2736+29>>0]|0)!=2){v=c[r>>2]|0;v=v+2736|0;v=v+29|0;v=a[v>>0]|0;v=v<<24>>24;u=c[r>>2]|0;u=u+2396|0;c[u>>2]=v;u=c[s>>2]|0;u=Pb(u,29030,8)|0;u=u&255;v=c[r>>2]|0;v=v+2736|0;v=v+34|0;a[v>>0]=u;l=t;return}c[o>>2]=1;if(((c[q>>2]|0)==2?(c[(c[r>>2]|0)+2396>>2]|0)==2:0)?(c[p>>2]=((Pb(c[s>>2]|0,29092,8)|0)&65535)<<16>>16,(c[p>>2]|0)>0):0){c[p>>2]=(c[p>>2]|0)-9;b[(c[r>>2]|0)+2736+26>>1]=(b[(c[r>>2]|0)+2400>>1]|0)+(c[p>>2]|0);c[o>>2]=0}if(c[o>>2]|0){u=((Pb(c[s>>2]|0,29060,8)|0)&65535)<<16>>16;u=(N(u,c[(c[r>>2]|0)+2316>>2]>>1)|0)&65535;b[(c[r>>2]|0)+2736+26>>1]=u;u=((Pb(c[s>>2]|0,c[(c[r>>2]|0)+2380>>2]|0,8)|0)&65535)<<16>>16;v=(c[r>>2]|0)+2736+26|0;b[v>>1]=(b[v>>1]|0)+u}b[(c[r>>2]|0)+2400>>1]=b[(c[r>>2]|0)+2736+26>>1]|0;v=(Pb(c[s>>2]|0,c[(c[r>>2]|0)+2384>>2]|0,8)|0)&255;a[(c[r>>2]|0)+2736+28>>0]=v;v=(Pb(c[s>>2]|0,26808,8)|0)&255;a[(c[r>>2]|0)+2736+32>>0]=v;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[(c[r>>2]|0)+2324>>2]|0))break;v=(Pb(c[s>>2]|0,c[17620+(a[(c[r>>2]|0)+2736+32>>0]<<2)>>2]|0,8)|0)&255;a[(c[r>>2]|0)+2736+4+(c[n>>2]|0)>>0]=v;c[n>>2]=(c[n>>2]|0)+1}if(!(c[q>>2]|0)){d=(Pb(c[s>>2]|0,29013,8)|0)&255;e=c[r>>2]|0}else{d=0;e=c[r>>2]|0}a[e+2736+33>>0]=d;v=c[r>>2]|0;v=v+2736|0;v=v+29|0;v=a[v>>0]|0;v=v<<24>>24;u=c[r>>2]|0;u=u+2396|0;c[u>>2]=v;u=c[s>>2]|0;u=Pb(u,29030,8)|0;u=u&255;v=c[r>>2]|0;v=v+2736|0;v=v+34|0;a[v>>0]=u;l=t;return}function wd(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+224|0;t=y+212|0;u=y+208|0;v=y+204|0;w=y+200|0;x=y+196|0;j=y+192|0;k=y+188|0;m=y+184|0;n=y+180|0;o=y+176|0;p=y+172|0;h=y+168|0;q=y+88|0;r=y+8|0;s=y+4|0;i=y;c[t>>2]=a;c[u>>2]=d;c[v>>2]=e;c[w>>2]=f;c[x>>2]=g;c[h>>2]=Pb(c[t>>2]|0,29519+((c[v>>2]>>1)*9|0)|0,8)|0;c[n>>2]=c[x>>2]>>4;if((c[n>>2]<<4|0)<(c[x>>2]|0))c[n>>2]=(c[n>>2]|0)+1;c[i>>2]=29177+((c[h>>2]|0)*18|0);c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[n>>2]|0))break;c[r+(c[j>>2]<<2)>>2]=0;a=Pb(c[t>>2]|0,c[i>>2]|0,8)|0;d=c[j>>2]|0;while(1){c[q+(d<<2)>>2]=a;a=c[j>>2]|0;if((c[q+(c[j>>2]<<2)>>2]|0)!=17)break;a=r+(a<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=Pb(c[t>>2]|0,29339+((c[r+(c[j>>2]<<2)>>2]|0)==10&1)|0,8)|0;d=c[j>>2]|0}c[j>>2]=a+1}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[n>>2]|0))break;a=(c[u>>2]|0)+((c[j>>2]&65535)<<16>>16<<4<<1)|0;if((c[q+(c[j>>2]<<2)>>2]|0)>0)Be(a,c[t>>2]|0,c[q+(c[j>>2]<<2)>>2]|0);else{d=a+32|0;do{b[a>>1]=0;a=a+2|0}while((a|0)<(d|0))}c[j>>2]=(c[j>>2]|0)+1}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[n>>2]|0))break;if((c[r+(c[j>>2]<<2)>>2]|0)>0){c[p>>2]=c[r+(c[j>>2]<<2)>>2];c[s>>2]=(c[u>>2]|0)+((c[j>>2]&65535)<<16>>16<<4<<1);c[m>>2]=0;while(1){if((c[m>>2]|0)>=16)break;c[o>>2]=b[(c[s>>2]|0)+(c[m>>2]<<1)>>1];c[k>>2]=0;while(1){a=c[o>>2]|0;if((c[k>>2]|0)>=(c[p>>2]|0))break;c[o>>2]=a<<1;i=Pb(c[t>>2]|0,29011,8)|0;c[o>>2]=(c[o>>2]|0)+i;c[k>>2]=(c[k>>2]|0)+1}b[(c[s>>2]|0)+(c[m>>2]<<1)>>1]=a;c[m>>2]=(c[m>>2]|0)+1}i=q+(c[j>>2]<<2)|0;c[i>>2]=c[i>>2]|c[p>>2]<<5}c[j>>2]=(c[j>>2]|0)+1}nd(c[t>>2]|0,c[u>>2]|0,c[x>>2]|0,c[v>>2]|0,c[w>>2]|0,q);l=y;return}function xd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;h=m+16|0;i=m+12|0;f=m+8|0;j=m+4|0;k=m;c[h>>2]=b;c[i>>2]=d;c[f>>2]=e;c[k>>2]=0;c[(c[h>>2]|0)+2332>>2]=((c[i>>2]&65535)<<16>>16)*5;c[j>>2]=N((c[(c[h>>2]|0)+2324>>2]&65535)<<16>>16,(c[(c[h>>2]|0)+2332>>2]&65535)<<16>>16)|0;if(!((c[(c[h>>2]|0)+2316>>2]|0)==(c[i>>2]|0)?(c[(c[h>>2]|0)+2320>>2]|0)==(c[f>>2]|0):0)){e=Tf((c[h>>2]|0)+2432|0,((c[i>>2]&65535)<<16>>16)*1e3|0,c[f>>2]|0,0)|0;c[k>>2]=(c[k>>2]|0)+e;c[(c[h>>2]|0)+2320>>2]=c[f>>2]}if((c[(c[h>>2]|0)+2316>>2]|0)==(c[i>>2]|0)?(c[j>>2]|0)==(c[(c[h>>2]|0)+2328>>2]|0):0){k=c[k>>2]|0;l=m;return k|0}f=(c[(c[h>>2]|0)+2324>>2]|0)==4;c[(c[h>>2]|0)+2384>>2]=(c[i>>2]|0)==8?(f?29147:29170):f?29113:29158;if((c[(c[h>>2]|0)+2316>>2]|0)!=(c[i>>2]|0)){c[(c[h>>2]|0)+2336>>2]=((c[i>>2]&65535)<<16>>16)*20;b=(c[h>>2]|0)+2340|0;if((c[i>>2]|0)==8|(c[i>>2]|0)==12){c[b>>2]=10;b=c[h>>2]|0;d=17668}else{c[b>>2]=16;b=c[h>>2]|0;d=17704}c[b+2732>>2]=d;do if((c[i>>2]|0)!=16){if((c[i>>2]|0)==12){b=29039;d=c[h>>2]|0;g=16;break}if((c[i>>2]|0)==8){b=29030;d=c[h>>2]|0;g=16}}else{b=29045;d=c[h>>2]|0;g=16}while(0);if((g|0)==16)c[d+2380>>2]=b;c[(c[h>>2]|0)+2376>>2]=1;c[(c[h>>2]|0)+2308>>2]=100;a[(c[h>>2]|0)+2312>>0]=10;c[(c[h>>2]|0)+4164>>2]=0;aj((c[h>>2]|0)+1348|0,0,960)|0;b=(c[h>>2]|0)+1284|0;d=b+64|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0))}c[(c[h>>2]|0)+2316>>2]=c[i>>2];c[(c[h>>2]|0)+2328>>2]=c[j>>2];k=c[k>>2]|0;l=m;return k|0}function yd(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=0;c[c[e>>2]>>2]=8544;l=d;return c[b>>2]|0}function zd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[e>>2]=0;c[f>>2]=c[b>>2];c[d>>2]=0;while(1){if((c[d>>2]|0)>=2)break;c[e>>2]=od((c[f>>2]|0)+((c[d>>2]|0)*4260|0)|0)|0;c[d>>2]=(c[d>>2]|0)+1}f=(c[b>>2]|0)+8520|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[(c[b>>2]|0)+8540>>2]=0;l=g;return c[e>>2]|0}function Ad(d,e,f,g,h,i,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0;Q=l;l=l+784|0;P=Q+128|0;S=Q+124|0;H=Q+120|0;I=Q+116|0;R=Q+112|0;r=Q+108|0;x=Q+104|0;y=Q+100|0;s=Q+96|0;J=Q+92|0;z=Q+88|0;K=Q+84|0;L=Q+80|0;A=Q+76|0;n=Q+72|0;B=Q+64|0;t=Q+56|0;C=Q+52|0;M=Q+48|0;D=Q+44|0;u=Q+40|0;E=Q+36|0;F=Q+32|0;m=Q+28|0;o=Q+136|0;p=Q+24|0;O=Q+20|0;v=Q+16|0;w=Q+12|0;G=Q;c[S>>2]=d;c[H>>2]=e;c[I>>2]=f;c[R>>2]=g;c[r>>2]=h;c[x>>2]=i;c[y>>2]=j;c[s>>2]=k;c[K>>2]=0;c[L>>2]=0;c[t>>2]=0;c[t+4>>2]=0;c[M>>2]=c[S>>2];c[D>>2]=c[M>>2];a:do if(c[R>>2]|0){c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[(c[H>>2]|0)+4>>2]|0))break a;c[(c[D>>2]|0)+((c[z>>2]|0)*4260|0)+2388>>2]=0;c[z>>2]=(c[z>>2]|0)+1}}while(0);if((c[(c[H>>2]|0)+4>>2]|0)>(c[(c[M>>2]|0)+8536>>2]|0)){S=od((c[D>>2]|0)+4260|0)|0;c[L>>2]=(c[L>>2]|0)+S}if((c[(c[H>>2]|0)+4>>2]|0)==1?(c[(c[M>>2]|0)+8536>>2]|0)==2:0)d=(c[(c[H>>2]|0)+12>>2]|0)==((c[(c[D>>2]|0)+2316>>2]|0)*1e3|0);else d=0;c[E>>2]=d&1;b:do if(!(c[(c[D>>2]|0)+2388>>2]|0)){c[z>>2]=0;c:while(1){if((c[z>>2]|0)>=(c[(c[H>>2]|0)+4>>2]|0))break b;do if(!(c[(c[H>>2]|0)+16>>2]|0)){c[(c[D>>2]|0)+((c[z>>2]|0)*4260|0)+2392>>2]=1;d=2;e=(c[D>>2]|0)+((c[z>>2]|0)*4260|0)|0}else{if((c[(c[H>>2]|0)+16>>2]|0)==10){c[(c[D>>2]|0)+((c[z>>2]|0)*4260|0)+2392>>2]=1;d=2;e=(c[D>>2]|0)+((c[z>>2]|0)*4260|0)|0;break}if((c[(c[H>>2]|0)+16>>2]|0)==20){c[(c[D>>2]|0)+((c[z>>2]|0)*4260|0)+2392>>2]=1;d=4;e=(c[D>>2]|0)+((c[z>>2]|0)*4260|0)|0;break}if((c[(c[H>>2]|0)+16>>2]|0)==40){c[(c[D>>2]|0)+((c[z>>2]|0)*4260|0)+2392>>2]=2;d=4;e=(c[D>>2]|0)+((c[z>>2]|0)*4260|0)|0;break}if((c[(c[H>>2]|0)+16>>2]|0)!=60){q=23;break c}c[(c[D>>2]|0)+((c[z>>2]|0)*4260|0)+2392>>2]=3;d=4;e=(c[D>>2]|0)+((c[z>>2]|0)*4260|0)|0}while(0);c[e+2324>>2]=d;c[m>>2]=(c[(c[H>>2]|0)+12>>2]>>10)+1;if((c[m>>2]|0)!=8&(c[m>>2]|0)!=12&(c[m>>2]|0)!=16){q=25;break}S=xd((c[D>>2]|0)+((c[z>>2]|0)*4260|0)|0,c[m>>2]|0,c[(c[H>>2]|0)+8>>2]|0)|0;c[L>>2]=(c[L>>2]|0)+S;c[z>>2]=(c[z>>2]|0)+1}if((q|0)==23){c[P>>2]=-203;S=c[P>>2]|0;l=Q;return S|0}else if((q|0)==25){c[P>>2]=-200;S=c[P>>2]|0;l=Q;return S|0}}while(0);do if((c[c[H>>2]>>2]|0)==2?(c[(c[H>>2]|0)+4>>2]|0)==2:0){if((c[(c[M>>2]|0)+8532>>2]|0)!=1?(c[(c[M>>2]|0)+8536>>2]|0)!=1:0)break;c[(c[M>>2]|0)+8520>>2]=0;c[(c[M>>2]|0)+8520+8>>2]=0;_i((c[D>>2]|0)+4260+2432|0,(c[D>>2]|0)+2432|0,300)|0}while(0);c[(c[M>>2]|0)+8532>>2]=c[c[H>>2]>>2];c[(c[M>>2]|0)+8536>>2]=c[(c[H>>2]|0)+4>>2];if((c[(c[H>>2]|0)+8>>2]|0)<=48e3?(c[(c[H>>2]|0)+8>>2]|0)>=8e3:0){d:do if((c[I>>2]|0)!=1?(c[(c[D>>2]|0)+2388>>2]|0)==0:0){c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[(c[H>>2]|0)+4>>2]|0))break;c[J>>2]=0;while(1){S=(c[J>>2]|0)<(c[(c[D>>2]|0)+((c[z>>2]|0)*4260|0)+2392>>2]|0);d=Ob(c[r>>2]|0,1)|0;e=(c[D>>2]|0)+((c[z>>2]|0)*4260|0)|0;if(!S)break;c[e+2404+(c[J>>2]<<2)>>2]=d;c[J>>2]=(c[J>>2]|0)+1}c[e+2416>>2]=d;c[z>>2]=(c[z>>2]|0)+1}c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[(c[H>>2]|0)+4>>2]|0))break;S=(c[D>>2]|0)+((c[z>>2]|0)*4260|0)+2420|0;c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;e:do if(c[(c[D>>2]|0)+((c[z>>2]|0)*4260|0)+2416>>2]|0){if((c[(c[D>>2]|0)+((c[z>>2]|0)*4260|0)+2392>>2]|0)==1){c[(c[D>>2]|0)+((c[z>>2]|0)*4260|0)+2420>>2]=1;break}c[n>>2]=(Pb(c[r>>2]|0,c[17836+((c[(c[D>>2]|0)+((c[z>>2]|0)*4260|0)+2392>>2]|0)-2<<2)>>2]|0,8)|0)+1;c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[(c[D>>2]|0)+((c[z>>2]|0)*4260|0)+2392>>2]|0))break e;c[(c[D>>2]|0)+((c[z>>2]|0)*4260|0)+2420+(c[J>>2]<<2)>>2]=c[n>>2]>>c[J>>2]&1;c[J>>2]=(c[J>>2]|0)+1}}while(0);c[z>>2]=(c[z>>2]|0)+1}if(!(c[I>>2]|0)){c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[(c[D>>2]|0)+2392>>2]|0))break d;c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[(c[H>>2]|0)+4>>2]|0))break;if(c[(c[D>>2]|0)+((c[z>>2]|0)*4260|0)+2420+(c[J>>2]<<2)>>2]|0){do if((c[z>>2]|0)==0?(c[(c[H>>2]|0)+4>>2]|0)==2:0){gg(c[r>>2]|0,t);if(c[(c[D>>2]|0)+4260+2420+(c[J>>2]<<2)>>2]|0)break;hg(c[r>>2]|0,K)}while(0);do if((c[J>>2]|0)>0){if(!(c[(c[D>>2]|0)+((c[z>>2]|0)*4260|0)+2420+((c[J>>2]|0)-1<<2)>>2]|0)){q=64;break}c[p>>2]=2}else q=64;while(0);if((q|0)==64){q=0;c[p>>2]=0}vd((c[D>>2]|0)+((c[z>>2]|0)*4260|0)|0,c[r>>2]|0,c[J>>2]|0,1,c[p>>2]|0);wd(c[r>>2]|0,o,a[(c[D>>2]|0)+((c[z>>2]|0)*4260|0)+2736+29>>0]|0,a[(c[D>>2]|0)+((c[z>>2]|0)*4260|0)+2736+30>>0]|0,c[(c[D>>2]|0)+((c[z>>2]|0)*4260|0)+2328>>2]|0)}c[z>>2]=(c[z>>2]|0)+1}c[J>>2]=(c[J>>2]|0)+1}}}while(0);f:do if((c[(c[H>>2]|0)+4>>2]|0)==2){do if(c[I>>2]|0){if((c[I>>2]|0)==2?(c[(c[D>>2]|0)+2420+(c[(c[D>>2]|0)+2388>>2]<<2)>>2]|0)==1:0)break;c[z>>2]=0;while(1){if((c[z>>2]|0)>=2)break f;c[t+(c[z>>2]<<2)>>2]=b[(c[M>>2]|0)+8520+(c[z>>2]<<1)>>1];c[z>>2]=(c[z>>2]|0)+1}}while(0);gg(c[r>>2]|0,t);if(!((c[I>>2]|0)==0?!(c[(c[D>>2]|0)+4260+2404+(c[(c[D>>2]|0)+2388>>2]<<2)>>2]|0):0))q=74;do if((q|0)==74){if((c[I>>2]|0)==2?(c[(c[D>>2]|0)+4260+2420+(c[(c[D>>2]|0)+2388>>2]<<2)>>2]|0)==0:0)break;c[K>>2]=0;break f}while(0);hg(c[r>>2]|0,K)}while(0);if(((c[K>>2]|0)==0?(c[(c[H>>2]|0)+4>>2]|0)==2:0)?(c[(c[M>>2]|0)+8540>>2]|0)==1:0){aj((c[M>>2]|0)+4260+1348|0,0,960)|0;d=(c[M>>2]|0)+4260+1284|0;e=d+64|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));c[(c[M>>2]|0)+4260+2308>>2]=100;a[(c[M>>2]|0)+4260+2312>>0]=10;c[(c[M>>2]|0)+4260+4164>>2]=0;c[(c[M>>2]|0)+4260+2376>>2]=1}S=N(c[(c[H>>2]|0)+12>>2]|0,c[(c[H>>2]|0)+4>>2]|0)|0;c[F>>2]=(S|0)<(N(c[(c[H>>2]|0)+8>>2]|0,c[c[H>>2]>>2]|0)|0)&1;if(c[F>>2]|0)e=1;else e=N(c[(c[H>>2]|0)+4>>2]|0,(c[(c[D>>2]|0)+2328>>2]|0)+2|0)|0;c[O>>2]=$()|0;d=l;l=l+((1*(e<<1)|0)+15&-16)|0;if(c[F>>2]|0){c[B>>2]=c[x>>2];d=c[x>>2]|0;e=c[D>>2]|0}else{c[B>>2]=d;e=c[D>>2]|0}c[B+4>>2]=d+(c[e+2328>>2]<<1)+4;if(!(c[I>>2]|0))c[u>>2]=((c[K>>2]|0)!=0^1)&1;else{if(c[(c[M>>2]|0)+8540>>2]|0)if((c[I>>2]|0)==2?(c[(c[H>>2]|0)+4>>2]|0)==2:0)d=(c[(c[D>>2]|0)+4260+2420+(c[(c[D>>2]|0)+4260+2388>>2]<<2)>>2]|0)==1;else d=0;else d=1;c[u>>2]=d&1}c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[(c[H>>2]|0)+4>>2]|0))break;if((c[z>>2]|0)==0|(c[u>>2]|0)!=0){c[v>>2]=(c[(c[D>>2]|0)+2388>>2]|0)-(c[z>>2]|0);g:do if((c[v>>2]|0)<=0)c[w>>2]=0;else{if((c[I>>2]|0)==2){c[w>>2]=c[(c[D>>2]|0)+((c[z>>2]|0)*4260|0)+2420+((c[v>>2]|0)-1<<2)>>2]|0?2:0;break}do if((c[z>>2]|0)>0){if(!(c[(c[M>>2]|0)+8540>>2]|0))break;c[w>>2]=1;break g}while(0);c[w>>2]=2}while(0);S=td((c[D>>2]|0)+((c[z>>2]|0)*4260|0)|0,c[r>>2]|0,(c[B+(c[z>>2]<<2)>>2]|0)+4|0,A,c[I>>2]|0,c[w>>2]|0,c[s>>2]|0)|0;c[L>>2]=(c[L>>2]|0)+S}else aj((c[B+(c[z>>2]<<2)>>2]|0)+4|0,0,c[A>>2]<<1|0)|0;S=(c[D>>2]|0)+((c[z>>2]|0)*4260|0)+2388|0;c[S>>2]=(c[S>>2]|0)+1;c[z>>2]=(c[z>>2]|0)+1}if((c[c[H>>2]>>2]|0)==2?(c[(c[H>>2]|0)+4>>2]|0)==2:0)cf((c[M>>2]|0)+8520|0,c[B>>2]|0,c[B+4>>2]|0,t,c[(c[D>>2]|0)+2316>>2]|0,c[A>>2]|0);else{S=c[B>>2]|0;R=(c[M>>2]|0)+8520+4|0;b[S>>1]=b[R>>1]|0;b[S+2>>1]=b[R+2>>1]|0;S=(c[M>>2]|0)+8520+4|0;R=(c[B>>2]|0)+(c[A>>2]<<1)|0;b[S>>1]=b[R>>1]|0;b[S+2>>1]=b[R+2>>1]|0}S=N(c[A>>2]|0,c[(c[H>>2]|0)+8>>2]|0)|0;c[c[y>>2]>>2]=(S|0)/(((c[(c[D>>2]|0)+2316>>2]&65535)<<16>>16)*1e3|0)|0;if((c[c[H>>2]>>2]|0)==2)d=c[c[y>>2]>>2]|0;else d=1;e=l;l=l+((1*(d<<1)|0)+15&-16)|0;if((c[c[H>>2]>>2]|0)==2)c[C>>2]=e;else c[C>>2]=c[x>>2];if(c[F>>2]|0)d=N(c[(c[H>>2]|0)+4>>2]|0,(c[(c[D>>2]|0)+2328>>2]|0)+2|0)|0;else d=1;e=l;l=l+((1*(d<<1)|0)+15&-16)|0;if(c[F>>2]|0){S=(N(c[(c[H>>2]|0)+4>>2]|0,(c[(c[D>>2]|0)+2328>>2]|0)+2|0)|0)<<1;_i(e|0,c[x>>2]|0,S+0|0)|0;c[B>>2]=e;c[B+4>>2]=e+(c[(c[D>>2]|0)+2328>>2]<<1)+4}c[z>>2]=0;while(1){S=c[H>>2]|0;if((c[z>>2]|0)>=(c[((c[c[H>>2]>>2]|0)<(c[(c[H>>2]|0)+4>>2]|0)?S:S+4|0)>>2]|0))break;S=Uf((c[D>>2]|0)+((c[z>>2]|0)*4260|0)+2432|0,c[C>>2]|0,(c[B+(c[z>>2]<<2)>>2]|0)+2|0,c[A>>2]|0)|0;c[L>>2]=(c[L>>2]|0)+S;h:do if((c[c[H>>2]>>2]|0)==2){c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[c[y>>2]>>2]|0))break h;b[(c[x>>2]|0)+((c[z>>2]|0)+(c[J>>2]<<1)<<1)>>1]=b[(c[C>>2]|0)+(c[J>>2]<<1)>>1]|0;c[J>>2]=(c[J>>2]|0)+1}}while(0);c[z>>2]=(c[z>>2]|0)+1}i:do if((c[c[H>>2]>>2]|0)==2){if((c[(c[H>>2]|0)+4>>2]|0)!=1)break;if(c[E>>2]|0){S=Uf((c[D>>2]|0)+4260+2432|0,c[C>>2]|0,(c[B>>2]|0)+2|0,c[A>>2]|0)|0;c[L>>2]=(c[L>>2]|0)+S;c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[c[y>>2]>>2]|0))break i;b[(c[x>>2]|0)+(1+(c[J>>2]<<1)<<1)>>1]=b[(c[C>>2]|0)+(c[J>>2]<<1)>>1]|0;c[J>>2]=(c[J>>2]|0)+1}}else{c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[c[y>>2]>>2]|0))break i;b[(c[x>>2]|0)+(1+(c[J>>2]<<1)<<1)>>1]=b[(c[x>>2]|0)+(0+(c[J>>2]<<1)<<1)>>1]|0;c[J>>2]=(c[J>>2]|0)+1}}}while(0);if((c[(c[D>>2]|0)+4164>>2]|0)==2){c[G>>2]=c[4402];c[G+4>>2]=c[4403];c[G+8>>2]=c[4404];e=N(c[(c[D>>2]|0)+2308>>2]|0,c[G+((c[(c[D>>2]|0)+2316>>2]|0)-8>>2<<2)>>2]|0)|0;d=c[H>>2]|0}else{e=0;d=c[H>>2]|0}c[d+20>>2]=e;j:do if((c[I>>2]|0)==1){c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[(c[M>>2]|0)+8536>>2]|0))break j;a[(c[M>>2]|0)+((c[J>>2]|0)*4260|0)+2312>>0]=10;c[J>>2]=(c[J>>2]|0)+1}}else c[(c[M>>2]|0)+8540>>2]=c[K>>2];while(0);c[P>>2]=c[L>>2];_(c[O>>2]|0);S=c[P>>2]|0;l=Q;return S|0}c[L>>2]=-200;c[P>>2]=c[L>>2];S=c[P>>2]|0;l=Q;return S|0}function Bd(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=0;c[c[e>>2]>>2]=24568;l=d;return c[b>>2]|0}function Cd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=0;c[h>>2]=c[e>>2];aj(c[h>>2]|0,0,24568)|0;c[i>>2]=0;while(1){a=c[h>>2]|0;if((c[i>>2]|0)>=2)break;d=ff(a+((c[i>>2]|0)*12240|0)|0,c[f>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+d;c[i>>2]=(c[i>>2]|0)+1}c[a+24544>>2]=1;c[(c[h>>2]|0)+24548>>2]=1;i=Dd(c[e>>2]|0,c[g>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+i;l=k;return c[j>>2]|0}function Dd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=l;l=l+32|0;i=g+16|0;d=g+12|0;e=g+8|0;f=g+4|0;h=g;c[i>>2]=a;c[d>>2]=b;c[e>>2]=0;c[h>>2]=c[i>>2];c[f>>2]=c[h>>2];c[c[d>>2]>>2]=c[(c[h>>2]|0)+24544>>2];c[(c[d>>2]|0)+4>>2]=c[(c[h>>2]|0)+24548>>2];c[(c[d>>2]|0)+8>>2]=c[(c[f>>2]|0)+4580>>2];c[(c[d>>2]|0)+12>>2]=c[(c[f>>2]|0)+4588>>2];c[(c[d>>2]|0)+16>>2]=c[(c[f>>2]|0)+4592>>2];c[(c[d>>2]|0)+20>>2]=c[(c[f>>2]|0)+4596>>2];c[(c[d>>2]|0)+24>>2]=c[(c[f>>2]|0)+4636>>2];c[(c[d>>2]|0)+28>>2]=c[(c[f>>2]|0)+4632>>2];c[(c[d>>2]|0)+32>>2]=c[(c[f>>2]|0)+4640>>2];c[(c[d>>2]|0)+36>>2]=c[(c[f>>2]|0)+4648>>2];c[(c[d>>2]|0)+40>>2]=c[(c[f>>2]|0)+6120>>2];c[(c[d>>2]|0)+44>>2]=c[(c[f>>2]|0)+6108>>2];c[(c[d>>2]|0)+48>>2]=c[(c[f>>2]|0)+4708>>2];c[(c[d>>2]|0)+68>>2]=((c[(c[f>>2]|0)+4600>>2]&65535)<<16>>16)*1e3;c[(c[d>>2]|0)+72>>2]=c[(c[f>>2]|0)+4560>>2];if((c[(c[f>>2]|0)+4600>>2]|0)!=16){h=0;h=h&1;i=c[d>>2]|0;i=i+76|0;c[i>>2]=h;i=c[e>>2]|0;l=g;return i|0}h=(c[(c[f>>2]|0)+16+12>>2]|0)==0;h=h&1;i=c[d>>2]|0;i=i+76|0;c[i>>2]=h;i=c[e>>2]|0;l=g;return i|0}function Ed(d,e,f,g,h,i,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,aa=0;Z=l;l=l+176|0;X=Z+156|0;aa=Z+152|0;Y=Z+148|0;o=Z+144|0;p=Z+140|0;q=Z+136|0;r=Z+132|0;Q=Z+128|0;R=Z+124|0;s=Z+120|0;t=Z+116|0;u=Z+112|0;S=Z+108|0;T=Z+104|0;U=Z+100|0;v=Z+96|0;w=Z+92|0;x=Z+88|0;y=Z+84|0;k=Z+80|0;z=Z+76|0;A=Z+72|0;B=Z+64|0;C=Z+56|0;D=Z+52|0;E=Z+48|0;V=Z+44|0;m=Z+40|0;F=Z+36|0;G=Z+32|0;n=Z+28|0;W=Z+24|0;H=Z+20|0;I=Z+160|0;J=Z+16|0;K=Z+12|0;L=Z+8|0;M=Z+4|0;O=Z;c[aa>>2]=d;c[Y>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=i;c[Q>>2]=j;c[S>>2]=0;c[T>>2]=0;c[U>>2]=0;c[y>>2]=0;c[V>>2]=c[aa>>2];if(c[(c[Y>>2]|0)+64>>2]|0){c[(c[V>>2]|0)+4696>>2]=1;c[(c[V>>2]|0)+12240+4696>>2]=1}c[(c[V>>2]|0)+12240+5780>>2]=0;c[(c[V>>2]|0)+5780>>2]=0;aa=df(c[Y>>2]|0)|0;c[U>>2]=aa;if(aa|0){c[X>>2]=c[U>>2];aa=c[X>>2]|0;l=Z;return aa|0}c[(c[Y>>2]|0)+84>>2]=0;if((c[(c[Y>>2]|0)+4>>2]|0)>(c[(c[V>>2]|0)+24548>>2]|0)?(aa=ff((c[V>>2]|0)+12240|0,c[(c[V>>2]|0)+5124>>2]|0)|0,c[U>>2]=(c[U>>2]|0)+aa,c[(c[V>>2]|0)+24480>>2]=0,c[(c[V>>2]|0)+24480+8>>2]=0,c[(c[V>>2]|0)+24480+12>>2]=0,c[(c[V>>2]|0)+24480+12+4>>2]=1,c[(c[V>>2]|0)+24480+12+8>>2]=0,c[(c[V>>2]|0)+24480+12+12>>2]=1,b[(c[V>>2]|0)+24480+30>>1]=0,b[(c[V>>2]|0)+24480+28>>1]=16384,(c[(c[V>>2]|0)+24544>>2]|0)==2):0){_i((c[V>>2]|0)+12240+5808|0,(c[V>>2]|0)+5808|0,300)|0;aa=(c[V>>2]|0)+12240|0;j=c[V>>2]|0;c[aa>>2]=c[j>>2];c[aa+4>>2]=c[j+4>>2]}if((c[(c[Y>>2]|0)+24>>2]|0)!=(c[(c[V>>2]|0)+4636>>2]|0))d=1;else d=(c[(c[V>>2]|0)+24548>>2]|0)!=(c[(c[Y>>2]|0)+4>>2]|0);c[m>>2]=d&1;c[(c[V>>2]|0)+24544>>2]=c[c[Y>>2]>>2];c[(c[V>>2]|0)+24548>>2]=c[(c[Y>>2]|0)+4>>2];c[x>>2]=((c[p>>2]|0)*100|0)/(c[(c[Y>>2]|0)+8>>2]|0)|0;c[G>>2]=(c[x>>2]|0)>1?c[x>>2]>>1:1;c[F>>2]=0;d=c[x>>2]|0;a:do if(!(c[Q>>2]|0)){aa=N(d,c[(c[Y>>2]|0)+8>>2]|0)|0;if((c[p>>2]|0)<0?1:(aa|0)!=((c[p>>2]|0)*100|0)){c[X>>2]=-101;aa=c[X>>2]|0;l=Z;return aa|0}if(((c[p>>2]|0)*1e3|0)>(N(c[(c[Y>>2]|0)+24>>2]|0,c[(c[Y>>2]|0)+8>>2]|0)|0)){c[X>>2]=-101;aa=c[X>>2]|0;l=Z;return aa|0}}else{if((d|0)!=1){c[X>>2]=-101;aa=c[X>>2]|0;l=Z;return aa|0}c[R>>2]=0;while(1){if((c[R>>2]|0)>=(c[(c[Y>>2]|0)+4>>2]|0))break;c[U>>2]=ff((c[V>>2]|0)+((c[R>>2]|0)*12240|0)|0,c[(c[V>>2]|0)+((c[R>>2]|0)*12240|0)+5124>>2]|0)|0;c[R>>2]=(c[R>>2]|0)+1}c[S>>2]=c[(c[Y>>2]|0)+24>>2];c[(c[Y>>2]|0)+24>>2]=10;c[T>>2]=c[(c[Y>>2]|0)+36>>2];c[(c[Y>>2]|0)+36>>2]=0;c[R>>2]=0;while(1){if((c[R>>2]|0)>=(c[(c[Y>>2]|0)+4>>2]|0))break a;c[(c[V>>2]|0)+((c[R>>2]|0)*12240|0)+4700>>2]=0;c[(c[V>>2]|0)+((c[R>>2]|0)*12240|0)+4712>>2]=1;c[R>>2]=(c[R>>2]|0)+1}}while(0);c[A>>2]=c[(c[Y>>2]|0)+28>>2]>>(c[(c[Y>>2]|0)+4>>2]|0)-1;c[R>>2]=0;while(1){if((c[R>>2]|0)>=(c[(c[Y>>2]|0)+4>>2]|0))break;if((c[R>>2]|0)==1)d=c[(c[V>>2]|0)+4600>>2]|0;else d=0;c[n>>2]=d;aa=gf((c[V>>2]|0)+((c[R>>2]|0)*12240|0)|0,c[Y>>2]|0,c[A>>2]|0,c[(c[V>>2]|0)+24560>>2]|0,c[R>>2]|0,c[n>>2]|0)|0;c[U>>2]=aa;if(aa|0){P=28;break}b:do if(c[m>>2]|0?1:(c[(c[V>>2]|0)+((c[R>>2]|0)*12240|0)+4696>>2]|0)!=0){c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[(c[V>>2]|0)+5776>>2]|0))break b;c[(c[V>>2]|0)+((c[R>>2]|0)*12240|0)+4756+(c[s>>2]<<2)>>2]=0;c[s>>2]=(c[s>>2]|0)+1}}while(0);c[(c[V>>2]|0)+((c[R>>2]|0)*12240|0)+6112>>2]=c[(c[V>>2]|0)+((c[R>>2]|0)*12240|0)+6108>>2];c[R>>2]=(c[R>>2]|0)+1}if((P|0)==28){c[X>>2]=c[U>>2];aa=c[X>>2]|0;l=Z;return aa|0}c[w>>2]=N((c[x>>2]|0)*10|0,c[(c[V>>2]|0)+4600>>2]|0)|0;aa=N(c[w>>2]|0,c[(c[V>>2]|0)+4580>>2]|0)|0;c[k>>2]=(aa|0)/((c[(c[V>>2]|0)+4600>>2]|0)*1e3|0)|0;aa=c[k>>2]|0;c[W>>2]=$()|0;g=l;l=l+((1*(aa<<1)|0)+15&-16)|0;while(1){c[v>>2]=(c[(c[V>>2]|0)+4608>>2]|0)-(c[(c[V>>2]|0)+5772>>2]|0);c[v>>2]=(c[v>>2]|0)<(c[w>>2]|0)?c[v>>2]|0:c[w>>2]|0;aa=N(c[v>>2]|0,c[(c[V>>2]|0)+4580>>2]|0)|0;c[y>>2]=(aa|0)/((c[(c[V>>2]|0)+4600>>2]|0)*1e3|0)|0;if((c[c[Y>>2]>>2]|0)==2?(c[(c[Y>>2]|0)+4>>2]|0)==2:0){c[H>>2]=c[(c[V>>2]|0)+5780>>2];c[R>>2]=0;while(1){if((c[R>>2]|0)>=(c[y>>2]|0))break;b[g+(c[R>>2]<<1)>>1]=b[(c[o>>2]|0)+(c[R>>2]<<1<<1)>>1]|0;c[R>>2]=(c[R>>2]|0)+1}if((c[H>>2]|0)==0?(c[(c[V>>2]|0)+24552>>2]|0)==1:0)_i((c[V>>2]|0)+12240+5808|0,(c[V>>2]|0)+5808|0,300)|0;aa=Uf((c[V>>2]|0)+5808|0,(c[V>>2]|0)+5128+((c[(c[V>>2]|0)+5772>>2]|0)+2<<1)|0,g,c[y>>2]|0)|0;c[U>>2]=(c[U>>2]|0)+aa;aa=(c[V>>2]|0)+5772|0;c[aa>>2]=(c[aa>>2]|0)+(c[v>>2]|0);c[v>>2]=(c[(c[V>>2]|0)+12240+4608>>2]|0)-(c[(c[V>>2]|0)+12240+5772>>2]|0);if((c[v>>2]|0)<(N((c[x>>2]|0)*10|0,c[(c[V>>2]|0)+12240+4600>>2]|0)|0))d=c[v>>2]|0;else d=N((c[x>>2]|0)*10|0,c[(c[V>>2]|0)+12240+4600>>2]|0)|0;c[v>>2]=d;c[R>>2]=0;while(1){if((c[R>>2]|0)>=(c[y>>2]|0))break;b[g+(c[R>>2]<<1)>>1]=b[(c[o>>2]|0)+((c[R>>2]<<1)+1<<1)>>1]|0;c[R>>2]=(c[R>>2]|0)+1}d=Uf((c[V>>2]|0)+12240+5808|0,(c[V>>2]|0)+12240+5128+((c[(c[V>>2]|0)+12240+5772>>2]|0)+2<<1)|0,g,c[y>>2]|0)|0;c[U>>2]=(c[U>>2]|0)+d;d=c[V>>2]|0;e=1;f=c[v>>2]|0}else P=49;do if((P|0)==49){P=0;if((c[c[Y>>2]>>2]|0)==2?(c[(c[Y>>2]|0)+4>>2]|0)==1:0){c[R>>2]=0;while(1){if((c[R>>2]|0)>=(c[y>>2]|0))break;c[E>>2]=(b[(c[o>>2]|0)+(c[R>>2]<<1<<1)>>1]|0)+(b[(c[o>>2]|0)+((c[R>>2]<<1)+1<<1)>>1]|0);b[g+(c[R>>2]<<1)>>1]=(c[E>>2]>>1)+(c[E>>2]&1);c[R>>2]=(c[R>>2]|0)+1}aa=Uf((c[V>>2]|0)+5808|0,(c[V>>2]|0)+5128+((c[(c[V>>2]|0)+5772>>2]|0)+2<<1)|0,g,c[y>>2]|0)|0;c[U>>2]=(c[U>>2]|0)+aa;c:do if((c[(c[V>>2]|0)+24552>>2]|0)==2?(c[(c[V>>2]|0)+5780>>2]|0)==0:0){aa=Uf((c[V>>2]|0)+12240+5808|0,(c[V>>2]|0)+12240+5128+((c[(c[V>>2]|0)+12240+5772>>2]|0)+2<<1)|0,g,c[y>>2]|0)|0;c[U>>2]=(c[U>>2]|0)+aa;c[R>>2]=0;while(1){if((c[R>>2]|0)>=(c[(c[V>>2]|0)+4608>>2]|0))break c;b[(c[V>>2]|0)+5128+((c[(c[V>>2]|0)+5772>>2]|0)+(c[R>>2]|0)+2<<1)>>1]=(b[(c[V>>2]|0)+5128+((c[(c[V>>2]|0)+5772>>2]|0)+(c[R>>2]|0)+2<<1)>>1]|0)+(b[(c[V>>2]|0)+12240+5128+((c[(c[V>>2]|0)+12240+5772>>2]|0)+(c[R>>2]|0)+2<<1)>>1]|0)>>1;c[R>>2]=(c[R>>2]|0)+1}}while(0);d=c[V>>2]|0;e=0;f=c[v>>2]|0;break}_i(g|0,c[o>>2]|0,c[y>>2]<<1|0)|0;d=Uf((c[V>>2]|0)+5808|0,(c[V>>2]|0)+5128+((c[(c[V>>2]|0)+5772>>2]|0)+2<<1)|0,g,c[y>>2]|0)|0;c[U>>2]=(c[U>>2]|0)+d;d=c[V>>2]|0;e=0;f=c[v>>2]|0}while(0);aa=d+(e*12240|0)+5772|0;c[aa>>2]=(c[aa>>2]|0)+f;aa=N(c[y>>2]|0,c[c[Y>>2]>>2]|0)|0;c[o>>2]=(c[o>>2]|0)+(aa<<1);c[p>>2]=(c[p>>2]|0)-(c[y>>2]|0);c[(c[V>>2]|0)+24560>>2]=0;if((c[(c[V>>2]|0)+5772>>2]|0)<(c[(c[V>>2]|0)+4608>>2]|0))break;if(!(c[Q>>2]|0?1:(c[(c[V>>2]|0)+5780>>2]|0)!=0)){a[I>>0]=0;a[I+1>>0]=0;a[I>>0]=256-(256>>(N((c[(c[V>>2]|0)+5776>>2]|0)+1|0,c[(c[Y>>2]|0)+4>>2]|0)|0));$b(c[q>>2]|0,0,I,8);c[R>>2]=0;while(1){if((c[R>>2]|0)>=(c[(c[Y>>2]|0)+4>>2]|0))break;c[D>>2]=0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[(c[V>>2]|0)+((c[R>>2]|0)*12240|0)+5776>>2]|0))break;c[D>>2]=c[D>>2]|c[(c[V>>2]|0)+((c[R>>2]|0)*12240|0)+4756+(c[s>>2]<<2)>>2]<<c[s>>2];c[s>>2]=(c[s>>2]|0)+1}a[(c[V>>2]|0)+((c[R>>2]|0)*12240|0)+4755>>0]=(c[D>>2]|0)>0?1:0;if(c[D>>2]|0?(c[(c[V>>2]|0)+((c[R>>2]|0)*12240|0)+5776>>2]|0)>1:0)$b(c[q>>2]|0,(c[D>>2]|0)-1|0,c[17836+((c[(c[V>>2]|0)+((c[R>>2]|0)*12240|0)+5776>>2]|0)-2<<2)>>2]|0,8);c[R>>2]=(c[R>>2]|0)+1}c[s>>2]=0;while(1){aa=(c[s>>2]|0)<(c[(c[V>>2]|0)+5776>>2]|0);c[R>>2]=0;if(!aa)break;while(1){if((c[R>>2]|0)>=(c[(c[Y>>2]|0)+4>>2]|0))break;if(c[(c[V>>2]|0)+((c[R>>2]|0)*12240|0)+4756+(c[s>>2]<<2)>>2]|0){if(((c[R>>2]|0)==0?(c[(c[Y>>2]|0)+4>>2]|0)==2:0)?(ig(c[q>>2]|0,(c[V>>2]|0)+24480+34+((c[s>>2]|0)*6|0)|0),(c[(c[V>>2]|0)+12240+4756+(c[s>>2]<<2)>>2]|0)==0):0)jg(c[q>>2]|0,a[(c[V>>2]|0)+24480+52+(c[s>>2]|0)>>0]|0);if((c[s>>2]|0)>0?c[(c[V>>2]|0)+((c[R>>2]|0)*12240|0)+4756+((c[s>>2]|0)-1<<2)>>2]|0:0)c[J>>2]=2;else c[J>>2]=0;Gd((c[V>>2]|0)+((c[R>>2]|0)*12240|0)|0,c[q>>2]|0,c[s>>2]|0,1,c[J>>2]|0);Hd(c[q>>2]|0,a[(c[V>>2]|0)+((c[R>>2]|0)*12240|0)+6132+((c[s>>2]|0)*36|0)+29>>0]|0,a[(c[V>>2]|0)+((c[R>>2]|0)*12240|0)+6132+((c[s>>2]|0)*36|0)+30>>0]|0,(c[V>>2]|0)+((c[R>>2]|0)*12240|0)+6240+((c[s>>2]|0)*320|0)|0,c[(c[V>>2]|0)+((c[R>>2]|0)*12240|0)+4608>>2]|0)}c[R>>2]=(c[R>>2]|0)+1}c[s>>2]=(c[s>>2]|0)+1}while(1){if((c[R>>2]|0)>=(c[(c[Y>>2]|0)+4>>2]|0))break;aa=(c[V>>2]|0)+((c[R>>2]|0)*12240|0)+4756|0;c[aa>>2]=0;c[aa+4>>2]=0;c[aa+8>>2]=0;c[R>>2]=(c[R>>2]|0)+1}aa=Fd(c[q>>2]|0)|0;c[(c[V>>2]|0)+24536>>2]=aa}Qe(c[V>>2]|0);c[t>>2]=(N(c[(c[Y>>2]|0)+28>>2]|0,c[(c[Y>>2]|0)+24>>2]|0)|0)/1e3|0;if(!(c[Q>>2]|0))c[t>>2]=(c[t>>2]|0)-(c[(c[V>>2]|0)+24536>>2]|0);c[t>>2]=(c[t>>2]|0)/(c[(c[V>>2]|0)+5776>>2]|0)|0;d=(c[t>>2]&65535)<<16>>16;if((c[(c[Y>>2]|0)+24>>2]|0)==10)c[A>>2]=d*100;else c[A>>2]=d*50;c[A>>2]=(c[A>>2]|0)-(((c[(c[V>>2]|0)+24540>>2]|0)*1e3|0)/500|0);if((c[Q>>2]|0)==0?(c[(c[V>>2]|0)+5780>>2]|0)>0:0){aa=Fd(c[q>>2]|0)|0;c[K>>2]=aa-(c[(c[V>>2]|0)+24536>>2]|0)-(N(c[t>>2]|0,c[(c[V>>2]|0)+5780>>2]|0)|0);c[A>>2]=(c[A>>2]|0)-(((c[K>>2]|0)*1e3|0)/500|0)}d=c[A>>2]|0;do if((c[(c[Y>>2]|0)+28>>2]|0)>5e3)if((d|0)>(c[(c[Y>>2]|0)+28>>2]|0)){d=c[(c[Y>>2]|0)+28>>2]|0;break}else{d=(c[A>>2]|0)<5e3?5e3:c[A>>2]|0;break}else if((d|0)<=5e3)if((c[A>>2]|0)<(c[(c[Y>>2]|0)+28>>2]|0)){d=c[(c[Y>>2]|0)+28>>2]|0;break}else{d=c[A>>2]|0;break}else d=5e3;while(0);c[A>>2]=d;d=c[V>>2]|0;if((c[(c[Y>>2]|0)+4>>2]|0)==2){_e(d+24480|0,(c[V>>2]|0)+5128+4|0,(c[V>>2]|0)+12240+5128+4|0,(c[V>>2]|0)+24480+34+((c[(c[V>>2]|0)+5780>>2]|0)*6|0)|0,(c[V>>2]|0)+24480+52+(c[(c[V>>2]|0)+5780>>2]|0)|0,B,c[A>>2]|0,c[(c[V>>2]|0)+4556>>2]|0,c[(c[Y>>2]|0)+56>>2]|0,c[(c[V>>2]|0)+4600>>2]|0,c[(c[V>>2]|0)+4608>>2]|0);d=c[V>>2]|0;if(!(a[(c[V>>2]|0)+24480+52+(c[(c[V>>2]|0)+5780>>2]|0)>>0]|0)){if((c[d+24564>>2]|0)==1){aa=(c[V>>2]|0)+12240+7200|0;c[aa>>2]=0;c[aa+4>>2]=0;c[aa+8>>2]=0;c[aa+12>>2]=0;aj((c[V>>2]|0)+12240+7216|0,0,2140)|0;aj((c[V>>2]|0)+12240+144|0,0,4380)|0;aa=(c[V>>2]|0)+12240+4524|0;c[aa>>2]=0;c[aa+4>>2]=0;c[aa+8>>2]=0;c[aa+12>>2]=0;c[aa+16>>2]=0;c[aa+20>>2]=0;c[aa+24>>2]=0;c[aa+28>>2]=0;aa=(c[V>>2]|0)+12240+16|0;c[aa>>2]=0;c[aa+4>>2]=0;c[(c[V>>2]|0)+12240+4568>>2]=100;c[(c[V>>2]|0)+12240+144+4356>>2]=100;a[(c[V>>2]|0)+12240+7200>>0]=10;a[(c[V>>2]|0)+12240+4565>>0]=0;c[(c[V>>2]|0)+12240+144+4372>>2]=65536;c[(c[V>>2]|0)+12240+4696>>2]=1}vg((c[V>>2]|0)+12240|0)}else a[d+12240+4752+(c[(c[V>>2]|0)+5780>>2]|0)>>0]=0;if((c[Q>>2]|0)==0?(ig(c[q>>2]|0,(c[V>>2]|0)+24480+34+((c[(c[V>>2]|0)+5780>>2]|0)*6|0)|0),(a[(c[V>>2]|0)+12240+4752+(c[(c[V>>2]|0)+5780>>2]|0)>>0]|0)==0):0)jg(c[q>>2]|0,a[(c[V>>2]|0)+24480+52+(c[(c[V>>2]|0)+5780>>2]|0)>>0]|0)}else{c[d+5128>>2]=c[(c[V>>2]|0)+24480+4>>2];aa=(c[V>>2]|0)+24480+4|0;n=(c[V>>2]|0)+5128+(c[(c[V>>2]|0)+4608>>2]<<1)|0;b[aa>>1]=b[n>>1]|0;b[aa+2>>1]=b[n+2>>1]|0}vg(c[V>>2]|0);c[R>>2]=0;while(1){if((c[R>>2]|0)>=(c[(c[Y>>2]|0)+4>>2]|0))break;c[L>>2]=c[(c[Y>>2]|0)+52>>2];do if(!((c[G>>2]|0)==2&(c[F>>2]|0)==0)){if((c[G>>2]|0)==3){if(!(c[F>>2]|0)){c[L>>2]=(c[L>>2]<<1|0)/5|0;break}if((c[F>>2]|0)!=1)break;c[L>>2]=((c[L>>2]|0)*3|0)/4|0}}else c[L>>2]=((c[L>>2]|0)*3|0)/5|0;while(0);if(c[(c[Y>>2]|0)+48>>2]|0)d=(c[F>>2]|0)==((c[G>>2]|0)-1|0);else d=0;c[M>>2]=d&1;do if((c[(c[Y>>2]|0)+4>>2]|0)==1)c[C>>2]=c[A>>2];else{c[C>>2]=c[B+(c[R>>2]<<2)>>2];if(c[R>>2]|0)break;if((c[B+4>>2]|0)<=0)break;c[M>>2]=0;c[L>>2]=(c[L>>2]|0)-((c[(c[Y>>2]|0)+52>>2]|0)/(c[G>>2]<<1|0)|0)}while(0);if((c[C>>2]|0)>0){ef((c[V>>2]|0)+((c[R>>2]|0)*12240|0)|0,c[C>>2]|0)|0;d:do if(((c[(c[V>>2]|0)+5780>>2]|0)-(c[R>>2]|0)|0)<=0)c[O>>2]=0;else{do if((c[R>>2]|0)>0){if(!(c[(c[V>>2]|0)+24564>>2]|0))break;c[O>>2]=1;break d}while(0);c[O>>2]=2}while(0);c[U>>2]=wg((c[V>>2]|0)+((c[R>>2]|0)*12240|0)|0,c[r>>2]|0,c[q>>2]|0,c[O>>2]|0,c[L>>2]|0,c[M>>2]|0)|0}c[(c[V>>2]|0)+((c[R>>2]|0)*12240|0)+4700>>2]=0;c[(c[V>>2]|0)+((c[R>>2]|0)*12240|0)+5772>>2]=0;aa=(c[V>>2]|0)+((c[R>>2]|0)*12240|0)+5780|0;c[aa>>2]=(c[aa>>2]|0)+1;c[R>>2]=(c[R>>2]|0)+1}c[(c[V>>2]|0)+24564>>2]=a[(c[V>>2]|0)+24480+52+((c[(c[V>>2]|0)+5780>>2]|0)-1)>>0];do if((c[c[r>>2]>>2]|0)>0?(c[(c[V>>2]|0)+5780>>2]|0)==(c[(c[V>>2]|0)+5776>>2]|0):0){c[u>>2]=0;c[R>>2]=0;while(1){if((c[R>>2]|0)>=(c[(c[Y>>2]|0)+4>>2]|0))break;c[s>>2]=0;while(1){aa=(c[s>>2]|0)<(c[(c[V>>2]|0)+((c[R>>2]|0)*12240|0)+5776>>2]|0);c[u>>2]=c[u>>2]<<1;d=(c[V>>2]|0)+((c[R>>2]|0)*12240|0)|0;if(!aa)break;c[u>>2]=c[u>>2]|a[d+4752+(c[s>>2]|0)>>0];c[s>>2]=(c[s>>2]|0)+1}c[u>>2]=c[u>>2]|a[d+4755>>0];c[R>>2]=(c[R>>2]|0)+1}if(!(c[Q>>2]|0))dc(c[q>>2]|0,c[u>>2]|0,N((c[(c[V>>2]|0)+5776>>2]|0)+1|0,c[(c[Y>>2]|0)+4>>2]|0)|0);do if(c[(c[V>>2]|0)+6112>>2]|0){if((c[(c[Y>>2]|0)+4>>2]|0)!=1?(c[(c[V>>2]|0)+12240+6112>>2]|0)==0:0)break;c[c[r>>2]>>2]=0}while(0);n=(c[V>>2]|0)+24540|0;c[n>>2]=(c[n>>2]|0)+(c[c[r>>2]>>2]<<3);n=(N(c[(c[Y>>2]|0)+28>>2]|0,c[(c[Y>>2]|0)+24>>2]|0)|0)/1e3|0;aa=(c[V>>2]|0)+24540|0;c[aa>>2]=(c[aa>>2]|0)-n;do if((c[(c[V>>2]|0)+24540>>2]|0)>1e4)d=1e4;else{if((c[(c[V>>2]|0)+24540>>2]|0)<0){d=0;break}d=c[(c[V>>2]|0)+24540>>2]|0}while(0);c[(c[V>>2]|0)+24540>>2]=d;c[z>>2]=13+(0+(((c[(c[V>>2]|0)+24556>>2]&65535)<<16>>16)*3188>>16));d=(c[V>>2]|0)+24560|0;if((c[(c[V>>2]|0)+4556>>2]|0)<(c[z>>2]|0)){c[d>>2]=1;c[(c[V>>2]|0)+24556>>2]=0;break}else{c[d>>2]=0;aa=(c[V>>2]|0)+24556|0;c[aa>>2]=(c[aa>>2]|0)+(c[(c[Y>>2]|0)+24>>2]|0);break}}while(0);if(!(c[p>>2]|0))break;c[F>>2]=(c[F>>2]|0)+1}c[(c[V>>2]|0)+24552>>2]=c[(c[Y>>2]|0)+4>>2];c[(c[Y>>2]|0)+72>>2]=c[(c[V>>2]|0)+24560>>2];if((c[(c[V>>2]|0)+4600>>2]|0)==16)d=(c[(c[V>>2]|0)+16+12>>2]|0)==0;else d=0;c[(c[Y>>2]|0)+76>>2]=d&1;c[(c[Y>>2]|0)+68>>2]=((c[(c[V>>2]|0)+4600>>2]&65535)<<16>>16)*1e3;if(c[(c[Y>>2]|0)+56>>2]|0)d=0;else d=b[(c[V>>2]|0)+24480+28>>1]|0;c[(c[Y>>2]|0)+80>>2]=d;e:do if(c[Q>>2]|0){c[(c[Y>>2]|0)+24>>2]=c[S>>2];c[(c[Y>>2]|0)+36>>2]=c[T>>2];c[R>>2]=0;while(1){if((c[R>>2]|0)>=(c[(c[Y>>2]|0)+4>>2]|0))break e;c[(c[V>>2]|0)+((c[R>>2]|0)*12240|0)+4700>>2]=0;c[(c[V>>2]|0)+((c[R>>2]|0)*12240|0)+4712>>2]=0;c[R>>2]=(c[R>>2]|0)+1}}while(0);c[X>>2]=c[U>>2];_(c[W>>2]|0);aa=c[X>>2]|0;l=Z;return aa|0}function Fd(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=(c[(c[d>>2]|0)+20>>2]|0)-(32-(Q(c[(c[d>>2]|0)+28>>2]|0)|0))|0;l=b;return a|0}function Gd(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+112|0;v=y+48|0;w=y+44|0;i=y+40|0;k=y+36|0;x=y+32|0;n=y+28|0;o=y+24|0;j=y+20|0;p=y+16|0;q=y+12|0;r=y+56|0;m=y+88|0;s=y+8|0;t=y+4|0;u=y;c[v>>2]=d;c[w>>2]=e;c[i>>2]=f;c[k>>2]=g;c[x>>2]=h;d=c[v>>2]|0;if(c[k>>2]|0)c[s>>2]=d+6132+((c[i>>2]|0)*36|0);else c[s>>2]=d+4768;c[j>>2]=(a[(c[s>>2]|0)+29>>0]<<1)+(a[(c[s>>2]|0)+30>>0]|0);d=c[w>>2]|0;e=c[j>>2]|0;if((c[k>>2]|0)!=0|(c[j>>2]|0)>=2)$b(d,e-2|0,29016,8);else $b(d,e,29020,8);d=c[w>>2]|0;e=a[c[s>>2]>>0]|0;if((c[x>>2]|0)==2)$b(d,e,26767,8);else{$b(d,e>>3,26743+(a[(c[s>>2]|0)+29>>0]<<3)|0,8);$b(c[w>>2]|0,a[c[s>>2]>>0]&7,29045,8)}c[n>>2]=1;while(1){d=c[w>>2]|0;e=c[s>>2]|0;if((c[n>>2]|0)>=(c[(c[v>>2]|0)+4604>>2]|0))break;$b(d,a[e+(c[n>>2]|0)>>0]|0,26767,8);c[n>>2]=(c[n>>2]|0)+1}$b(d,a[e+8>>0]|0,(c[(c[(c[v>>2]|0)+4724>>2]|0)+12>>2]|0)+(N(a[(c[s>>2]|0)+29>>0]>>1,b[c[(c[v>>2]|0)+4724>>2]>>1]|0)|0)|0,8);Xe(r,m,c[(c[v>>2]|0)+4724>>2]|0,a[(c[s>>2]|0)+8>>0]|0);c[n>>2]=0;while(1){if((c[n>>2]|0)>=(b[(c[(c[v>>2]|0)+4724>>2]|0)+2>>1]|0))break;do if((a[(c[s>>2]|0)+8+((c[n>>2]|0)+1)>>0]|0)<4){d=c[w>>2]|0;if((a[(c[s>>2]|0)+8+((c[n>>2]|0)+1)>>0]|0)<=-4){$b(d,0,(c[(c[(c[v>>2]|0)+4724>>2]|0)+24>>2]|0)+(b[r+(c[n>>2]<<1)>>1]|0)|0,8);$b(c[w>>2]|0,0-(a[(c[s>>2]|0)+8+((c[n>>2]|0)+1)>>0]|0)-4|0,29053,8);break}else{$b(d,(a[(c[s>>2]|0)+8+((c[n>>2]|0)+1)>>0]|0)+4|0,(c[(c[(c[v>>2]|0)+4724>>2]|0)+24>>2]|0)+(b[r+(c[n>>2]<<1)>>1]|0)|0,8);break}}else{$b(c[w>>2]|0,8,(c[(c[(c[v>>2]|0)+4724>>2]|0)+24>>2]|0)+(b[r+(c[n>>2]<<1)>>1]|0)|0,8);$b(c[w>>2]|0,(a[(c[s>>2]|0)+8+((c[n>>2]|0)+1)>>0]|0)-4|0,29053,8)}while(0);c[n>>2]=(c[n>>2]|0)+1}if((c[(c[v>>2]|0)+4604>>2]|0)==4)$b(c[w>>2]|0,a[(c[s>>2]|0)+31>>0]|0,29022,8);if((a[(c[s>>2]|0)+29>>0]|0)!=2){u=c[s>>2]|0;u=u+29|0;u=a[u>>0]|0;u=u<<24>>24;x=c[v>>2]|0;x=x+5800|0;c[x>>2]=u;w=c[w>>2]|0;x=c[s>>2]|0;x=x+34|0;x=a[x>>0]|0;x=x<<24>>24;$b(w,x,29030,8);l=y;return}c[p>>2]=1;if((c[x>>2]|0)==2?(c[(c[v>>2]|0)+5800>>2]|0)==2:0){c[q>>2]=(b[(c[s>>2]|0)+26>>1]|0)-(b[(c[v>>2]|0)+5804>>1]|0);if((c[q>>2]|0)<-8|(c[q>>2]|0)>11)c[q>>2]=0;else{c[q>>2]=(c[q>>2]|0)+9;c[p>>2]=0}$b(c[w>>2]|0,c[q>>2]|0,29092,8)}if(c[p>>2]|0){c[t>>2]=(b[(c[s>>2]|0)+26>>1]|0)/(c[(c[v>>2]|0)+4600>>2]>>1|0)|0;c[u>>2]=(b[(c[s>>2]|0)+26>>1]|0)-(N((c[t>>2]&65535)<<16>>16,(c[(c[v>>2]|0)+4600>>2]>>1&65535)<<16>>16)|0);$b(c[w>>2]|0,c[t>>2]|0,29060,8);$b(c[w>>2]|0,c[u>>2]|0,c[(c[v>>2]|0)+4716>>2]|0,8)}b[(c[v>>2]|0)+5804>>1]=b[(c[s>>2]|0)+26>>1]|0;$b(c[w>>2]|0,a[(c[s>>2]|0)+28>>0]|0,c[(c[v>>2]|0)+4720>>2]|0,8);$b(c[w>>2]|0,a[(c[s>>2]|0)+32>>0]|0,26808,8);c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[(c[v>>2]|0)+4604>>2]|0))break;$b(c[w>>2]|0,a[(c[s>>2]|0)+4+(c[o>>2]|0)>>0]|0,c[17620+(a[(c[s>>2]|0)+32>>0]<<2)>>2]|0,8);c[o>>2]=(c[o>>2]|0)+1}if(c[x>>2]|0){u=c[s>>2]|0;u=u+29|0;u=a[u>>0]|0;u=u<<24>>24;x=c[v>>2]|0;x=x+5800|0;c[x>>2]=u;w=c[w>>2]|0;x=c[s>>2]|0;x=x+34|0;x=a[x>>0]|0;x=x<<24>>24;$b(w,x,29030,8);l=y;return}$b(c[w>>2]|0,a[(c[s>>2]|0)+33>>0]|0,29013,8);u=c[s>>2]|0;u=u+29|0;u=a[u>>0]|0;u=u<<24>>24;x=c[v>>2]|0;x=x+5800|0;c[x>>2]=u;w=c[w>>2]|0;x=c[s>>2]|0;x=x+34|0;x=a[x>>0]|0;x=x<<24>>24;$b(w,x,29030,8);l=y;return}function Hd(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=l;l=l+128|0;A=F+116|0;B=F+112|0;C=F+108|0;D=F+104|0;E=F+100|0;r=F+96|0;s=F+92|0;t=F+88|0;u=F+84|0;v=F+80|0;w=F+76|0;i=F+72|0;m=F+68|0;x=F+64|0;n=F+60|0;o=F+56|0;j=F+24|0;k=F+16|0;y=F+12|0;q=F+8|0;p=F+4|0;z=F;c[A>>2]=b;c[B>>2]=e;c[C>>2]=f;c[D>>2]=g;c[E>>2]=h;c[m>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;c[j+20>>2]=0;c[j+24>>2]=0;c[j+28>>2]=0;c[u>>2]=c[E>>2]>>4;if((c[u>>2]<<4|0)<(c[E>>2]|0)){c[u>>2]=(c[u>>2]|0)+1;b=(c[D>>2]|0)+(c[E>>2]|0)|0;e=b+16|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(e|0))}h=c[u>>2]<<4;c[z>>2]=$()|0;e=l;l=l+((1*(h<<2)|0)+15&-16)|0;c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[u>>2]<<4|0))break;h=a[(c[D>>2]|0)+((c[r>>2]|0)+0)>>0]|0;c[e+((c[r>>2]|0)+0<<2)>>2]=(a[(c[D>>2]|0)+((c[r>>2]|0)+0)>>0]|0)>0?h:0-h|0;h=a[(c[D>>2]|0)+((c[r>>2]|0)+1)>>0]|0;c[e+((c[r>>2]|0)+1<<2)>>2]=(a[(c[D>>2]|0)+((c[r>>2]|0)+1)>>0]|0)>0?h:0-h|0;h=a[(c[D>>2]|0)+((c[r>>2]|0)+2)>>0]|0;c[e+((c[r>>2]|0)+2<<2)>>2]=(a[(c[D>>2]|0)+((c[r>>2]|0)+2)>>0]|0)>0?h:0-h|0;h=a[(c[D>>2]|0)+((c[r>>2]|0)+3)>>0]|0;c[e+((c[r>>2]|0)+3<<2)>>2]=(a[(c[D>>2]|0)+((c[r>>2]|0)+3)>>0]|0)>0?h:0-h|0;c[r>>2]=(c[r>>2]|0)+4}f=l;l=l+((1*(c[u>>2]<<2)|0)+15&-16)|0;g=l;l=l+((1*(c[u>>2]<<2)|0)+15&-16)|0;c[k>>2]=e;c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[u>>2]|0))break;c[g+(c[r>>2]<<2)>>2]=0;a:while(1){c[i>>2]=Id(j,c[k>>2]|0,d[29173]|0,8)|0;h=Id(j,j,d[29174]|0,4)|0;c[i>>2]=(c[i>>2]|0)+h;h=Id(j,j,d[29175]|0,2)|0;c[i>>2]=(c[i>>2]|0)+h;h=Id(f+(c[r>>2]<<2)|0,j,d[29176]|0,1)|0;c[i>>2]=(c[i>>2]|0)+h;if(!(c[i>>2]|0))break;h=g+(c[r>>2]<<2)|0;c[h>>2]=(c[h>>2]|0)+1;c[s>>2]=0;while(1){if((c[s>>2]|0)>=16)continue a;c[(c[k>>2]|0)+(c[s>>2]<<2)>>2]=c[(c[k>>2]|0)+(c[s>>2]<<2)>>2]>>1;c[s>>2]=(c[s>>2]|0)+1}}c[k>>2]=(c[k>>2]|0)+64;c[r>>2]=(c[r>>2]|0)+1}c[n>>2]=2147483647;c[s>>2]=0;while(1){if((c[s>>2]|0)>=9)break;c[p>>2]=29357+((c[s>>2]|0)*18|0);c[o>>2]=d[29537+((c[B>>2]>>1)*9|0)+(c[s>>2]|0)>>0];c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[u>>2]|0))break;b=c[p>>2]|0;if((c[g+(c[r>>2]<<2)>>2]|0)>0)c[o>>2]=(c[o>>2]|0)+(d[b+17>>0]|0);else c[o>>2]=(c[o>>2]|0)+(d[b+(c[f+(c[r>>2]<<2)>>2]|0)>>0]|0);c[r>>2]=(c[r>>2]|0)+1}if((c[o>>2]|0)<(c[n>>2]|0)){c[n>>2]=c[o>>2];c[m>>2]=c[s>>2]}c[s>>2]=(c[s>>2]|0)+1}$b(c[A>>2]|0,c[m>>2]|0,29519+((c[B>>2]>>1)*9|0)|0,8);c[q>>2]=29177+((c[m>>2]|0)*18|0);c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[u>>2]|0))break;b=c[A>>2]|0;if(!(c[g+(c[r>>2]<<2)>>2]|0))$b(b,c[f+(c[r>>2]<<2)>>2]|0,c[q>>2]|0,8);else{$b(b,17,c[q>>2]|0,8);c[s>>2]=0;while(1){b=c[A>>2]|0;if((c[s>>2]|0)>=((c[g+(c[r>>2]<<2)>>2]|0)-1|0))break;$b(b,17,29339,8);c[s>>2]=(c[s>>2]|0)+1}$b(b,c[f+(c[r>>2]<<2)>>2]|0,29339,8)}c[r>>2]=(c[r>>2]|0)+1}c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[u>>2]|0))break;if((c[f+(c[r>>2]<<2)>>2]|0)>0)ye(c[A>>2]|0,e+(c[r>>2]<<4<<2)|0);c[r>>2]=(c[r>>2]|0)+1}c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[u>>2]|0))break;b:do if((c[g+(c[r>>2]<<2)>>2]|0)>0){c[y>>2]=(c[D>>2]|0)+(c[r>>2]<<4);c[w>>2]=(c[g+(c[r>>2]<<2)>>2]|0)-1;c[s>>2]=0;while(1){if((c[s>>2]|0)>=16)break b;q=a[(c[y>>2]|0)+(c[s>>2]|0)>>0]|0;c[x>>2]=(((a[(c[y>>2]|0)+(c[s>>2]|0)>>0]|0)>0?q:0-q|0)&255)<<24>>24;c[t>>2]=c[w>>2];while(1){b=c[x>>2]|0;if((c[t>>2]|0)<=0)break;c[v>>2]=b>>c[t>>2]&1;$b(c[A>>2]|0,c[v>>2]|0,29011,8);c[t>>2]=(c[t>>2]|0)+-1}c[v>>2]=b&1;$b(c[A>>2]|0,c[v>>2]|0,29011,8);c[s>>2]=(c[s>>2]|0)+1}}while(0);c[r>>2]=(c[r>>2]|0)+1}md(c[A>>2]|0,c[D>>2]|0,c[E>>2]|0,c[B>>2]|0,c[C>>2]|0,f);_(c[z>>2]|0);l=F;return}function Id(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;m=n+24|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;f=n;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;c[j>>2]=e;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[j>>2]|0)){a=6;break}c[f>>2]=(c[(c[h>>2]|0)+(c[k>>2]<<1<<2)>>2]|0)+(c[(c[h>>2]|0)+((c[k>>2]<<1)+1<<2)>>2]|0);if((c[f>>2]|0)>(c[i>>2]|0)){a=4;break}c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]=c[f>>2];c[k>>2]=(c[k>>2]|0)+1}if((a|0)==4){c[m>>2]=1;m=c[m>>2]|0;l=n;return m|0}else if((a|0)==6){c[m>>2]=0;m=c[m>>2]|0;l=n;return m|0}return 0}function Jd(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;j=p+24|0;k=p+20|0;m=p+16|0;n=p+12|0;o=p+8|0;h=p+4|0;i=p;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[o>>2]|0))break;Bf(c[(c[k>>2]|0)+(c[h>>2]<<2)>>2]|0)|0;g=0+((((Bf(c[(c[k>>2]|0)+(c[h>>2]<<2)>>2]|0)|0)-2090&65535)<<16>>16)*2251>>16)&255;a[(c[j>>2]|0)+(c[h>>2]|0)>>0]=g;if((a[(c[j>>2]|0)+(c[h>>2]|0)>>0]|0)<(a[c[m>>2]>>0]|0)){g=(c[j>>2]|0)+(c[h>>2]|0)|0;a[g>>0]=(a[g>>0]|0)+1<<24>>24}if((a[(c[j>>2]|0)+(c[h>>2]|0)>>0]|0)<=63)if((a[(c[j>>2]|0)+(c[h>>2]|0)>>0]|0)<0)b=0;else b=a[(c[j>>2]|0)+(c[h>>2]|0)>>0]|0;else b=63;a[(c[j>>2]|0)+(c[h>>2]|0)>>0]=b;if((c[h>>2]|0)==0&(c[n>>2]|0)==0){b=a[(c[j>>2]|0)+(c[h>>2]|0)>>0]|0;do if(((a[c[m>>2]>>0]|0)+-4|0)>63){if((b|0)>((a[c[m>>2]>>0]|0)+-4|0)){b=(a[c[m>>2]>>0]|0)+-4|0;break}if((a[(c[j>>2]|0)+(c[h>>2]|0)>>0]|0)<63)b=63;else b=a[(c[j>>2]|0)+(c[h>>2]|0)>>0]|0}else if((b|0)<=63)if((a[(c[j>>2]|0)+(c[h>>2]|0)>>0]|0)<((a[c[m>>2]>>0]|0)+-4|0)){b=(a[c[m>>2]>>0]|0)+-4|0;break}else{b=a[(c[j>>2]|0)+(c[h>>2]|0)>>0]|0;break}else b=63;while(0);a[(c[j>>2]|0)+(c[h>>2]|0)>>0]=b;a[c[m>>2]>>0]=a[(c[j>>2]|0)+(c[h>>2]|0)>>0]|0}else{a[(c[j>>2]|0)+(c[h>>2]|0)>>0]=(a[(c[j>>2]|0)+(c[h>>2]|0)>>0]|0)-(a[c[m>>2]>>0]|0);c[i>>2]=8+(a[c[m>>2]>>0]|0);if((a[(c[j>>2]|0)+(c[h>>2]|0)>>0]|0)>(c[i>>2]|0))a[(c[j>>2]|0)+(c[h>>2]|0)>>0]=(c[i>>2]|0)+((a[(c[j>>2]|0)+(c[h>>2]|0)>>0]|0)-(c[i>>2]|0)+1>>1);if((a[(c[j>>2]|0)+(c[h>>2]|0)>>0]|0)<=36)if((a[(c[j>>2]|0)+(c[h>>2]|0)>>0]|0)<-4)b=-4;else b=a[(c[j>>2]|0)+(c[h>>2]|0)>>0]|0;else b=36;a[(c[j>>2]|0)+(c[h>>2]|0)>>0]=b;b=a[(c[j>>2]|0)+(c[h>>2]|0)>>0]|0;if((a[(c[j>>2]|0)+(c[h>>2]|0)>>0]|0)>(c[i>>2]|0)){d=c[m>>2]|0;b=(b<<1)-(c[i>>2]|0)|0}else d=c[m>>2]|0;a[d>>0]=(a[d>>0]|0)+b;g=(c[j>>2]|0)+(c[h>>2]|0)|0;a[g>>0]=(a[g>>0]|0)+4}g=Ff(Kd(((a[c[m>>2]>>0]<<16>>16)*29|0)+((a[c[m>>2]>>0]<<16>>16)*7281>>16)+2090|0,3967)|0)|0;c[(c[k>>2]|0)+(c[h>>2]<<2)>>2]=g;c[h>>2]=(c[h>>2]|0)+1}l=p;return}function Kd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)<(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function Ld(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;k=q+28|0;m=q+24|0;n=q+20|0;o=q+16|0;p=q+12|0;h=q+8|0;i=q+4|0;j=q;c[k>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[p>>2]|0))break;b=a[(c[m>>2]|0)+(c[h>>2]|0)>>0]|0;if((c[h>>2]|0)==0&(c[o>>2]|0)==0){g=(Md(b,(a[c[n>>2]>>0]|0)-16|0)|0)&255;a[c[n>>2]>>0]=g}else{c[i>>2]=b+-4;c[j>>2]=8+(a[c[n>>2]>>0]|0);b=c[i>>2]|0;if((c[i>>2]|0)>(c[j>>2]|0)){d=c[n>>2]|0;b=(b<<1)-(c[j>>2]|0)|0}else d=c[n>>2]|0;a[d>>0]=(a[d>>0]|0)+b}if((a[c[n>>2]>>0]|0)<=63)if((a[c[n>>2]>>0]|0)<0)b=0;else b=a[c[n>>2]>>0]|0;else b=63;a[c[n>>2]>>0]=b;g=Ff(Kd(((a[c[n>>2]>>0]<<16>>16)*29|0)+((a[c[n>>2]>>0]<<16>>16)*7281>>16)+2090|0,3967)|0)|0;c[(c[k>>2]|0)+(c[h>>2]<<2)>>2]=g;c[h>>2]=(c[h>>2]|0)+1}l=q;return}function Md(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)>(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function Nd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[f>>2]|0))break;c[h>>2]=(a[(c[e>>2]|0)+(c[g>>2]|0)>>0]|0)+(c[h>>2]<<8);c[g>>2]=(c[g>>2]|0)+1}l=i;return c[h>>2]|0}function Od(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;i=o+20|0;j=o+16|0;k=o+12|0;m=o+8|0;n=o+4|0;h=o;c[i>>2]=a;c[j>>2]=d;c[k>>2]=e;c[m>>2]=f;c[n>>2]=g;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[n>>2]|0))break;g=(b[(c[j>>2]|0)+(c[h>>2]<<1)>>1]|0)+((N(((b[(c[k>>2]|0)+(c[h>>2]<<1)>>1]|0)-(b[(c[j>>2]|0)+(c[h>>2]<<1)>>1]|0)&65535)<<16>>16,(c[m>>2]&65535)<<16>>16)|0)>>2)&65535;b[(c[i>>2]|0)+(c[h>>2]<<1)>>1]=g;c[h>>2]=(c[h>>2]|0)+1}l=o;return}function Pd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+48|0;g=m+36|0;h=m+32|0;i=m+28|0;j=m+16|0;k=m+8|0;e=m+4|0;f=m;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;c[e>>2]=0;c[f>>2]=0;if(!(c[(c[g>>2]|0)+12>>2]|0)){l=m;return}c[e>>2]=256-(c[(c[g>>2]|0)+8>>2]|0)<<10;c[f>>2]=c[e>>2]>>16;c[e>>2]=(c[e>>2]|0)-(c[f>>2]<<16);Qd(j,k,c[f>>2]|0,c[e>>2]|0);if(((c[(c[g>>2]|0)+8>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)|0)<=256)if(((c[(c[g>>2]|0)+8>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)|0)<0)a=0;else a=(c[(c[g>>2]|0)+8>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)|0;else a=256;c[(c[g>>2]|0)+8>>2]=a;wf(c[h>>2]|0,j,k,c[g>>2]|0,c[h>>2]|0,c[i>>2]|0,1);l=m;return}function Qd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;if((c[h>>2]|0)>=4){k=c[f>>2]|0;c[k>>2]=c[4473];c[k+4>>2]=c[4474];c[k+8>>2]=c[4475];k=c[g>>2]|0;c[k>>2]=c[4484];c[k+4>>2]=c[4485];l=m;return}if((c[i>>2]|0)<=0){k=c[f>>2]|0;j=17844+((c[h>>2]|0)*12|0)|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];k=c[g>>2]|0;j=17904+(c[h>>2]<<3)|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];l=m;return}e=(c[i>>2]|0)<32768;c[j>>2]=0;if(e){while(1){if((c[j>>2]|0)>=3)break;e=N((c[17844+(((c[h>>2]|0)+1|0)*12|0)+(c[j>>2]<<2)>>2]|0)-(c[17844+((c[h>>2]|0)*12|0)+(c[j>>2]<<2)>>2]|0)>>16,(c[i>>2]&65535)<<16>>16)|0;e=(c[17844+((c[h>>2]|0)*12|0)+(c[j>>2]<<2)>>2]|0)+(e+((N((c[17844+(((c[h>>2]|0)+1|0)*12|0)+(c[j>>2]<<2)>>2]|0)-(c[17844+((c[h>>2]|0)*12|0)+(c[j>>2]<<2)>>2]|0)&65535,(c[i>>2]&65535)<<16>>16)|0)>>16))|0;c[(c[f>>2]|0)+(c[j>>2]<<2)>>2]=e;c[j>>2]=(c[j>>2]|0)+1}c[k>>2]=0;while(1){if((c[k>>2]|0)>=2)break;j=N((c[17904+((c[h>>2]|0)+1<<3)+(c[k>>2]<<2)>>2]|0)-(c[17904+(c[h>>2]<<3)+(c[k>>2]<<2)>>2]|0)>>16,(c[i>>2]&65535)<<16>>16)|0;j=(c[17904+(c[h>>2]<<3)+(c[k>>2]<<2)>>2]|0)+(j+((N((c[17904+((c[h>>2]|0)+1<<3)+(c[k>>2]<<2)>>2]|0)-(c[17904+(c[h>>2]<<3)+(c[k>>2]<<2)>>2]|0)&65535,(c[i>>2]&65535)<<16>>16)|0)>>16))|0;c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]=j;c[k>>2]=(c[k>>2]|0)+1}l=m;return}else{while(1){if((c[j>>2]|0)>=3)break;e=N((c[17844+(((c[h>>2]|0)+1|0)*12|0)+(c[j>>2]<<2)>>2]|0)-(c[17844+((c[h>>2]|0)*12|0)+(c[j>>2]<<2)>>2]|0)>>16,((c[i>>2]|0)-65536&65535)<<16>>16)|0;e=(c[17844+(((c[h>>2]|0)+1|0)*12|0)+(c[j>>2]<<2)>>2]|0)+(e+((N((c[17844+(((c[h>>2]|0)+1|0)*12|0)+(c[j>>2]<<2)>>2]|0)-(c[17844+((c[h>>2]|0)*12|0)+(c[j>>2]<<2)>>2]|0)&65535,((c[i>>2]|0)-65536&65535)<<16>>16)|0)>>16))|0;c[(c[f>>2]|0)+(c[j>>2]<<2)>>2]=e;c[j>>2]=(c[j>>2]|0)+1}c[k>>2]=0;while(1){if((c[k>>2]|0)>=2)break;j=N((c[17904+((c[h>>2]|0)+1<<3)+(c[k>>2]<<2)>>2]|0)-(c[17904+(c[h>>2]<<3)+(c[k>>2]<<2)>>2]|0)>>16,((c[i>>2]|0)-65536&65535)<<16>>16)|0;j=(c[17904+((c[h>>2]|0)+1<<3)+(c[k>>2]<<2)>>2]|0)+(j+((N((c[17904+((c[h>>2]|0)+1<<3)+(c[k>>2]<<2)>>2]|0)-(c[17904+(c[h>>2]<<3)+(c[k>>2]<<2)>>2]|0)&65535,((c[i>>2]|0)-65536&65535)<<16>>16)|0)>>16))|0;c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]=j;c[k>>2]=(c[k>>2]|0)+1}l=m;return}}function Rd(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+144|0;p=t+24|0;i=t+20|0;q=t+16|0;r=t+12|0;j=t+128|0;k=t+96|0;s=t+64|0;m=t+32|0;n=t+8|0;o=t+4|0;h=t;c[p>>2]=e;c[i>>2]=f;c[q>>2]=g;c[h>>2]=(c[(c[q>>2]|0)+8>>2]|0)+(N(a[c[i>>2]>>0]|0,b[(c[q>>2]|0)+2>>1]|0)|0);c[r>>2]=0;while(1){if((c[r>>2]|0)>=(b[(c[q>>2]|0)+2>>1]|0))break;b[(c[p>>2]|0)+(c[r>>2]<<1)>>1]=d[(c[h>>2]|0)+(c[r>>2]|0)>>0]<<7;c[r>>2]=(c[r>>2]|0)+1}Xe(k,j,c[q>>2]|0,a[c[i>>2]>>0]|0);Sd(s,(c[i>>2]|0)+1|0,j,b[(c[q>>2]|0)+4>>1]|0,b[(c[q>>2]|0)+2>>1]|0);Qf(m,c[p>>2]|0,b[(c[q>>2]|0)+2>>1]|0);c[r>>2]=0;while(1){if((c[r>>2]|0)>=(b[(c[q>>2]|0)+2>>1]|0))break;c[n>>2]=Td(b[m+(c[r>>2]<<1)>>1]<<16)|0;c[o>>2]=(b[(c[p>>2]|0)+(c[r>>2]<<1)>>1]|0)+((b[s+(c[r>>2]<<1)>>1]<<14|0)/(c[n>>2]|0)|0);if((c[o>>2]|0)>32767)e=32767;else e=(c[o>>2]|0)<0?0:c[o>>2]|0;b[(c[p>>2]|0)+(c[r>>2]<<1)>>1]=e;c[r>>2]=(c[r>>2]|0)+1}Nf(c[p>>2]|0,c[(c[q>>2]|0)+32>>2]|0,b[(c[q>>2]|0)+2>>1]|0);l=t;return}function Sd(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+32|0;n=r+24|0;o=r+20|0;p=r+16|0;q=r+12|0;s=r+28|0;j=r+8|0;k=r+4|0;m=r;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;b[s>>1]=i;c[k>>2]=0;c[j>>2]=(b[s>>1]|0)-1;while(1){if((c[j>>2]|0)<0)break;c[m>>2]=(N((c[k>>2]&65535)<<16>>16,d[(c[p>>2]|0)+(c[j>>2]|0)>>0]|0)|0)>>8;c[k>>2]=a[(c[o>>2]|0)+(c[j>>2]|0)>>0]<<10;e=c[k>>2]|0;if((c[k>>2]|0)<=0){if((e|0)<0)c[k>>2]=(c[k>>2]|0)+102}else c[k>>2]=e-102;s=N(c[k>>2]>>16,(c[q>>2]&65535)<<16>>16)|0;c[k>>2]=(c[m>>2]|0)+(s+((N(c[k>>2]&65535,(c[q>>2]&65535)<<16>>16)|0)>>16));b[(c[n>>2]|0)+(c[j>>2]<<1)>>1]=c[k>>2];c[j>>2]=(c[j>>2]|0)+-1}l=r;return}function Td(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;b=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;if((c[d>>2]|0)<=0){c[b>>2]=0;g=c[b>>2]|0;l=h;return g|0}Ud(c[d>>2]|0,f,g);if(c[f>>2]&1|0)c[e>>2]=32768;else c[e>>2]=46214;c[e>>2]=c[e>>2]>>(c[f>>2]>>1);f=N(c[e>>2]>>16,(((c[g>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0;c[e>>2]=(c[e>>2]|0)+(f+((N(c[e>>2]&65535,(((c[g>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0)>>16));c[b>>2]=c[e>>2];g=c[b>>2]|0;l=h;return g|0}function Ud(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+16|0;h=e+12|0;i=e+8|0;f=e+4|0;g=e;c[h>>2]=a;c[i>>2]=b;c[f>>2]=d;c[g>>2]=Vd(c[h>>2]|0)|0;c[c[i>>2]>>2]=c[g>>2];d=(Wd(c[h>>2]|0,24-(c[g>>2]|0)|0)|0)&127;c[c[f>>2]>>2]=d;l=e;return}function Vd(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){b=32;l=d;return b|0}b=32-(32-(Q(c[b>>2]|0)|0))|0;l=d;return b|0}function Wd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+20|0;d=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[d>>2]=a;c[f>>2]=b;c[g>>2]=c[d>>2];c[h>>2]=c[f>>2];c[i>>2]=0-(c[f>>2]|0);if(!(c[f>>2]|0)){c[e>>2]=c[d>>2];i=c[e>>2]|0;l=j;return i|0}a=c[g>>2]|0;if((c[f>>2]|0)<0){c[e>>2]=a<<c[i>>2]|(c[g>>2]|0)>>>(32-(c[i>>2]|0)|0);i=c[e>>2]|0;l=j;return i|0}else{c[e>>2]=a<<32-(c[h>>2]|0)|(c[g>>2]|0)>>>(c[h>>2]|0);i=c[e>>2]|0;l=j;return i|0}return 0}function Xd(d,e,f,g,h,i,j,k,m,n,o,p,q,r,s){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;var t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;U=l;l=l+112|0;t=U+100|0;u=U+96|0;v=U+92|0;w=U+88|0;x=U+84|0;y=U+80|0;z=U+76|0;A=U+72|0;B=U+68|0;C=U+64|0;D=U+60|0;E=U+56|0;F=U+52|0;G=U+48|0;H=U+44|0;I=U+40|0;J=U+36|0;K=U+32|0;L=U+28|0;M=U+24|0;O=U+20|0;P=U+16|0;Q=U+12|0;R=U+8|0;S=U+4|0;T=U;c[t>>2]=d;c[u>>2]=e;c[v>>2]=f;c[w>>2]=g;c[x>>2]=h;c[y>>2]=i;c[z>>2]=j;c[A>>2]=k;c[B>>2]=m;c[C>>2]=n;c[D>>2]=o;c[E>>2]=p;c[F>>2]=q;c[G>>2]=r;c[H>>2]=s;c[(c[u>>2]|0)+4368>>2]=a[(c[v>>2]|0)+34>>0];c[J>>2]=c[(c[u>>2]|0)+4356>>2];c[S>>2]=b[24558+(a[(c[v>>2]|0)+29>>0]>>1<<2)+(a[(c[v>>2]|0)+30>>0]<<1)>>1];if((a[(c[v>>2]|0)+31>>0]|0)==4)c[L>>2]=0;else c[L>>2]=1;e=(c[(c[t>>2]|0)+4616>>2]|0)+(c[(c[t>>2]|0)+4608>>2]|0)|0;c[T>>2]=$()|0;d=l;l=l+((1*(e<<2)|0)+15&-16)|0;e=l;l=l+((1*((c[(c[t>>2]|0)+4616>>2]|0)+(c[(c[t>>2]|0)+4608>>2]|0)<<1)|0)+15&-16)|0;o=l;l=l+((1*(c[(c[t>>2]|0)+4612>>2]<<2)|0)+15&-16)|0;c[(c[u>>2]|0)+4364>>2]=c[(c[t>>2]|0)+4616>>2];c[(c[u>>2]|0)+4360>>2]=c[(c[t>>2]|0)+4616>>2];c[Q>>2]=(c[u>>2]|0)+(c[(c[t>>2]|0)+4616>>2]<<1);c[I>>2]=0;while(1){if((c[I>>2]|0)>=(c[(c[t>>2]|0)+4604>>2]|0))break;c[M>>2]=(c[y>>2]|0)+((c[I>>2]>>1|1-(c[L>>2]|0))<<4<<1);c[O>>2]=(c[z>>2]|0)+((c[I>>2]|0)*5<<1);c[P>>2]=(c[A>>2]|0)+(c[I>>2]<<4<<1);c[R>>2]=c[(c[B>>2]|0)+(c[I>>2]<<2)>>2]>>2;c[R>>2]=c[R>>2]|c[(c[B>>2]|0)+(c[I>>2]<<2)>>2]>>1<<16;c[(c[u>>2]|0)+4376>>2]=0;if((a[(c[v>>2]|0)+29>>0]|0)==2?(c[J>>2]=c[(c[F>>2]|0)+(c[I>>2]<<2)>>2],(c[I>>2]&3-(c[L>>2]<<1)|0)==0):0){c[K>>2]=(c[(c[t>>2]|0)+4616>>2]|0)-(c[J>>2]|0)-(c[(c[t>>2]|0)+4664>>2]|0)-2;n=(c[u>>2]|0)+((c[K>>2]|0)+(N(c[I>>2]|0,c[(c[t>>2]|0)+4612>>2]|0)|0)<<1)|0;Gf(e+(c[K>>2]<<1)|0,n,c[M>>2]|0,(c[(c[t>>2]|0)+4616>>2]|0)-(c[K>>2]|0)|0,c[(c[t>>2]|0)+4664>>2]|0,c[(c[t>>2]|0)+5124>>2]|0);c[(c[u>>2]|0)+4376>>2]=1;c[(c[u>>2]|0)+4360>>2]=c[(c[t>>2]|0)+4616>>2]}Yd(c[t>>2]|0,c[u>>2]|0,c[w>>2]|0,o,e,d,c[I>>2]|0,c[H>>2]|0,c[E>>2]|0,c[F>>2]|0,a[(c[v>>2]|0)+29>>0]|0);Zd(c[u>>2]|0,a[(c[v>>2]|0)+29>>0]|0,o,c[x>>2]|0,c[Q>>2]|0,d,c[M>>2]|0,c[O>>2]|0,c[P>>2]|0,c[J>>2]|0,c[R>>2]|0,c[(c[C>>2]|0)+(c[I>>2]<<2)>>2]|0,c[(c[D>>2]|0)+(c[I>>2]<<2)>>2]|0,c[(c[E>>2]|0)+(c[I>>2]<<2)>>2]|0,c[G>>2]|0,c[S>>2]|0,c[(c[t>>2]|0)+4612>>2]|0,c[(c[t>>2]|0)+4660>>2]|0,c[(c[t>>2]|0)+4664>>2]|0);c[w>>2]=(c[w>>2]|0)+(c[(c[t>>2]|0)+4612>>2]<<2);c[x>>2]=(c[x>>2]|0)+(c[(c[t>>2]|0)+4612>>2]|0);c[Q>>2]=(c[Q>>2]|0)+(c[(c[t>>2]|0)+4612>>2]<<1);c[I>>2]=(c[I>>2]|0)+1}c[(c[u>>2]|0)+4356>>2]=c[(c[F>>2]|0)+((c[(c[t>>2]|0)+4604>>2]|0)-1<<2)>>2];$i(c[u>>2]|0,(c[u>>2]|0)+(c[(c[t>>2]|0)+4608>>2]<<1)|0,c[(c[t>>2]|0)+4616>>2]<<1|0)|0;$i((c[u>>2]|0)+1280|0,(c[u>>2]|0)+1280+(c[(c[t>>2]|0)+4608>>2]<<2)|0,c[(c[t>>2]|0)+4616>>2]<<2|0)|0;_(c[T>>2]|0);l=U;return}function Yd(a,d,e,f,g,h,i,j,k,m,n){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=l;l=l+64|0;o=D+60|0;p=D+56|0;q=D+52|0;r=D+48|0;s=D+44|0;t=D+40|0;u=D+36|0;v=D+32|0;w=D+28|0;E=D+24|0;x=D+20|0;y=D+16|0;z=D+12|0;A=D+8|0;B=D+4|0;C=D;c[o>>2]=a;c[p>>2]=d;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=i;c[v>>2]=j;c[w>>2]=k;c[E>>2]=m;c[x>>2]=n;c[z>>2]=c[(c[E>>2]|0)+(c[u>>2]<<2)>>2];if((c[(c[w>>2]|0)+(c[u>>2]<<2)>>2]|0)>1)a=c[(c[w>>2]|0)+(c[u>>2]<<2)>>2]|0;else a=1;c[B>>2]=_d(a,47)|0;if((c[(c[w>>2]|0)+(c[u>>2]<<2)>>2]|0)!=(c[(c[p>>2]|0)+4372>>2]|0))c[A>>2]=$d(c[(c[p>>2]|0)+4372>>2]|0,c[(c[w>>2]|0)+(c[u>>2]<<2)>>2]|0,16)|0;else c[A>>2]=65536;c[C>>2]=(c[B>>2]>>7)+1>>1;c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[(c[o>>2]|0)+4612>>2]|0))break;E=N(c[(c[q>>2]|0)+(c[y>>2]<<2)>>2]>>16,(c[C>>2]&65535)<<16>>16)|0;E=E+((N(c[(c[q>>2]|0)+(c[y>>2]<<2)>>2]&65535,(c[C>>2]&65535)<<16>>16)|0)>>16)|0;E=E+(N(c[(c[q>>2]|0)+(c[y>>2]<<2)>>2]|0,(c[C>>2]>>15)+1>>1)|0)|0;c[(c[r>>2]|0)+(c[y>>2]<<2)>>2]=E;c[y>>2]=(c[y>>2]|0)+1}c[(c[p>>2]|0)+4372>>2]=c[(c[w>>2]|0)+(c[u>>2]<<2)>>2];a:do if(c[(c[p>>2]|0)+4376>>2]|0){if(!(c[u>>2]|0)){E=N(c[B>>2]>>16,(c[v>>2]&65535)<<16>>16)|0;c[B>>2]=E+((N(c[B>>2]&65535,(c[v>>2]&65535)<<16>>16)|0)>>16)<<2}c[y>>2]=(c[(c[p>>2]|0)+4360>>2]|0)-(c[z>>2]|0)-2;while(1){if((c[y>>2]|0)>=(c[(c[p>>2]|0)+4360>>2]|0))break a;E=N(c[B>>2]>>16,b[(c[s>>2]|0)+(c[y>>2]<<1)>>1]|0)|0;E=E+((N(c[B>>2]&65535,b[(c[s>>2]|0)+(c[y>>2]<<1)>>1]|0)|0)>>16)|0;c[(c[t>>2]|0)+(c[y>>2]<<2)>>2]=E;c[y>>2]=(c[y>>2]|0)+1}}while(0);if((c[A>>2]|0)==65536){l=D;return}c[y>>2]=(c[(c[p>>2]|0)+4364>>2]|0)-(c[(c[o>>2]|0)+4616>>2]|0);while(1){if((c[y>>2]|0)>=(c[(c[p>>2]|0)+4364>>2]|0))break;E=N(c[A>>2]>>16,(c[(c[p>>2]|0)+1280+(c[y>>2]<<2)>>2]&65535)<<16>>16)|0;E=E+((N(c[A>>2]&65535,(c[(c[p>>2]|0)+1280+(c[y>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;E=E+(N(c[A>>2]|0,(c[(c[p>>2]|0)+1280+(c[y>>2]<<2)>>2]>>15)+1>>1)|0)|0;c[(c[p>>2]|0)+1280+(c[y>>2]<<2)>>2]=E;c[y>>2]=(c[y>>2]|0)+1}b:do if((c[x>>2]|0)==2?(c[(c[p>>2]|0)+4376>>2]|0)==0:0){c[y>>2]=(c[(c[p>>2]|0)+4360>>2]|0)-(c[z>>2]|0)-2;while(1){if((c[y>>2]|0)>=(c[(c[p>>2]|0)+4360>>2]|0))break b;E=N(c[A>>2]>>16,(c[(c[t>>2]|0)+(c[y>>2]<<2)>>2]&65535)<<16>>16)|0;E=E+((N(c[A>>2]&65535,(c[(c[t>>2]|0)+(c[y>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;E=E+(N(c[A>>2]|0,(c[(c[t>>2]|0)+(c[y>>2]<<2)>>2]>>15)+1>>1)|0)|0;c[(c[t>>2]|0)+(c[y>>2]<<2)>>2]=E;c[y>>2]=(c[y>>2]|0)+1}}while(0);E=N(c[A>>2]>>16,(c[(c[p>>2]|0)+4352>>2]&65535)<<16>>16)|0;E=E+((N(c[A>>2]&65535,(c[(c[p>>2]|0)+4352>>2]&65535)<<16>>16)|0)>>16)|0;E=E+(N(c[A>>2]|0,(c[(c[p>>2]|0)+4352>>2]>>15)+1>>1)|0)|0;c[(c[p>>2]|0)+4352>>2]=E;c[y>>2]=0;while(1){if((c[y>>2]|0)>=32)break;E=N(c[A>>2]>>16,(c[(c[p>>2]|0)+3840+(c[y>>2]<<2)>>2]&65535)<<16>>16)|0;E=E+((N(c[A>>2]&65535,(c[(c[p>>2]|0)+3840+(c[y>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;E=E+(N(c[A>>2]|0,(c[(c[p>>2]|0)+3840+(c[y>>2]<<2)>>2]>>15)+1>>1)|0)|0;c[(c[p>>2]|0)+3840+(c[y>>2]<<2)>>2]=E;c[y>>2]=(c[y>>2]|0)+1}c[y>>2]=0;while(1){if((c[y>>2]|0)>=16)break;E=N(c[A>>2]>>16,(c[(c[p>>2]|0)+4288+(c[y>>2]<<2)>>2]&65535)<<16>>16)|0;E=E+((N(c[A>>2]&65535,(c[(c[p>>2]|0)+4288+(c[y>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;E=E+(N(c[A>>2]|0,(c[(c[p>>2]|0)+4288+(c[y>>2]<<2)>>2]>>15)+1>>1)|0)|0;c[(c[p>>2]|0)+4288+(c[y>>2]<<2)>>2]=E;c[y>>2]=(c[y>>2]|0)+1}l=D;return}function Zd(d,e,f,g,h,i,j,k,m,n,o,p,q,r,s,t,u,v,w){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;var x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;ma=l;l=l+176|0;ka=ma+168|0;x=ma+164|0;y=ma+160|0;z=ma+156|0;A=ma+152|0;B=ma+148|0;C=ma+144|0;D=ma+140|0;E=ma+136|0;F=ma+132|0;G=ma+128|0;H=ma+124|0;I=ma+120|0;na=ma+116|0;J=ma+112|0;K=ma+108|0;la=ma+104|0;L=ma+100|0;M=ma+96|0;O=ma+92|0;P=ma+88|0;Q=ma+84|0;R=ma+80|0;S=ma+76|0;T=ma+72|0;U=ma+68|0;V=ma+64|0;W=ma+60|0;X=ma+56|0;Y=ma+52|0;Z=ma+48|0;_=ma+44|0;$=ma+40|0;aa=ma+36|0;ba=ma+32|0;ca=ma+28|0;da=ma+24|0;ea=ma+20|0;fa=ma+16|0;ga=ma+12|0;ha=ma+8|0;ia=ma+4|0;ja=ma;c[ka>>2]=d;c[x>>2]=e;c[y>>2]=f;c[z>>2]=g;c[A>>2]=h;c[B>>2]=i;c[C>>2]=j;c[D>>2]=k;c[E>>2]=m;c[F>>2]=n;c[G>>2]=o;c[H>>2]=p;c[I>>2]=q;c[na>>2]=r;c[J>>2]=s;c[K>>2]=t;c[la>>2]=u;c[L>>2]=v;c[M>>2]=w;c[ia>>2]=(c[ka>>2]|0)+1280+((c[(c[ka>>2]|0)+4364>>2]|0)-(c[F>>2]|0)+1<<2);c[ja>>2]=(c[B>>2]|0)+((c[(c[ka>>2]|0)+4360>>2]|0)-(c[F>>2]|0)+2<<2);c[da>>2]=c[na>>2]>>6;c[ha>>2]=(c[ka>>2]|0)+3840+124;c[O>>2]=0;while(1){d=c[ka>>2]|0;if((c[O>>2]|0)>=(c[la>>2]|0))break;na=907633515+(N(c[d+4368>>2]|0,196314165)|0)|0;c[(c[ka>>2]|0)+4368>>2]=na;c[R>>2]=c[M>>2]>>1;na=N(c[c[ha>>2]>>2]>>16,b[c[C>>2]>>1]|0)|0;c[R>>2]=(c[R>>2]|0)+(na+((N(c[c[ha>>2]>>2]&65535,b[c[C>>2]>>1]|0)|0)>>16));na=N(c[(c[ha>>2]|0)+-4>>2]>>16,b[(c[C>>2]|0)+2>>1]|0)|0;c[R>>2]=(c[R>>2]|0)+(na+((N(c[(c[ha>>2]|0)+-4>>2]&65535,b[(c[C>>2]|0)+2>>1]|0)|0)>>16));na=N(c[(c[ha>>2]|0)+-8>>2]>>16,b[(c[C>>2]|0)+4>>1]|0)|0;c[R>>2]=(c[R>>2]|0)+(na+((N(c[(c[ha>>2]|0)+-8>>2]&65535,b[(c[C>>2]|0)+4>>1]|0)|0)>>16));na=N(c[(c[ha>>2]|0)+-12>>2]>>16,b[(c[C>>2]|0)+6>>1]|0)|0;c[R>>2]=(c[R>>2]|0)+(na+((N(c[(c[ha>>2]|0)+-12>>2]&65535,b[(c[C>>2]|0)+6>>1]|0)|0)>>16));na=N(c[(c[ha>>2]|0)+-16>>2]>>16,b[(c[C>>2]|0)+8>>1]|0)|0;c[R>>2]=(c[R>>2]|0)+(na+((N(c[(c[ha>>2]|0)+-16>>2]&65535,b[(c[C>>2]|0)+8>>1]|0)|0)>>16));na=N(c[(c[ha>>2]|0)+-20>>2]>>16,b[(c[C>>2]|0)+10>>1]|0)|0;c[R>>2]=(c[R>>2]|0)+(na+((N(c[(c[ha>>2]|0)+-20>>2]&65535,b[(c[C>>2]|0)+10>>1]|0)|0)>>16));na=N(c[(c[ha>>2]|0)+-24>>2]>>16,b[(c[C>>2]|0)+12>>1]|0)|0;c[R>>2]=(c[R>>2]|0)+(na+((N(c[(c[ha>>2]|0)+-24>>2]&65535,b[(c[C>>2]|0)+12>>1]|0)|0)>>16));na=N(c[(c[ha>>2]|0)+-28>>2]>>16,b[(c[C>>2]|0)+14>>1]|0)|0;c[R>>2]=(c[R>>2]|0)+(na+((N(c[(c[ha>>2]|0)+-28>>2]&65535,b[(c[C>>2]|0)+14>>1]|0)|0)>>16));na=N(c[(c[ha>>2]|0)+-32>>2]>>16,b[(c[C>>2]|0)+16>>1]|0)|0;c[R>>2]=(c[R>>2]|0)+(na+((N(c[(c[ha>>2]|0)+-32>>2]&65535,b[(c[C>>2]|0)+16>>1]|0)|0)>>16));na=N(c[(c[ha>>2]|0)+-36>>2]>>16,b[(c[C>>2]|0)+18>>1]|0)|0;c[R>>2]=(c[R>>2]|0)+(na+((N(c[(c[ha>>2]|0)+-36>>2]&65535,b[(c[C>>2]|0)+18>>1]|0)|0)>>16));if((c[M>>2]|0)==16){na=N(c[(c[ha>>2]|0)+-40>>2]>>16,b[(c[C>>2]|0)+20>>1]|0)|0;c[R>>2]=(c[R>>2]|0)+(na+((N(c[(c[ha>>2]|0)+-40>>2]&65535,b[(c[C>>2]|0)+20>>1]|0)|0)>>16));na=N(c[(c[ha>>2]|0)+-44>>2]>>16,b[(c[C>>2]|0)+22>>1]|0)|0;c[R>>2]=(c[R>>2]|0)+(na+((N(c[(c[ha>>2]|0)+-44>>2]&65535,b[(c[C>>2]|0)+22>>1]|0)|0)>>16));na=N(c[(c[ha>>2]|0)+-48>>2]>>16,b[(c[C>>2]|0)+24>>1]|0)|0;c[R>>2]=(c[R>>2]|0)+(na+((N(c[(c[ha>>2]|0)+-48>>2]&65535,b[(c[C>>2]|0)+24>>1]|0)|0)>>16));na=N(c[(c[ha>>2]|0)+-52>>2]>>16,b[(c[C>>2]|0)+26>>1]|0)|0;c[R>>2]=(c[R>>2]|0)+(na+((N(c[(c[ha>>2]|0)+-52>>2]&65535,b[(c[C>>2]|0)+26>>1]|0)|0)>>16));na=N(c[(c[ha>>2]|0)+-56>>2]>>16,b[(c[C>>2]|0)+28>>1]|0)|0;c[R>>2]=(c[R>>2]|0)+(na+((N(c[(c[ha>>2]|0)+-56>>2]&65535,b[(c[C>>2]|0)+28>>1]|0)|0)>>16));na=N(c[(c[ha>>2]|0)+-60>>2]>>16,b[(c[C>>2]|0)+30>>1]|0)|0;c[R>>2]=(c[R>>2]|0)+(na+((N(c[(c[ha>>2]|0)+-60>>2]&65535,b[(c[C>>2]|0)+30>>1]|0)|0)>>16))}if((c[x>>2]|0)==2){c[Q>>2]=2;na=N(c[c[ja>>2]>>2]>>16,b[c[D>>2]>>1]|0)|0;c[Q>>2]=(c[Q>>2]|0)+(na+((N(c[c[ja>>2]>>2]&65535,b[c[D>>2]>>1]|0)|0)>>16));na=N(c[(c[ja>>2]|0)+-4>>2]>>16,b[(c[D>>2]|0)+2>>1]|0)|0;c[Q>>2]=(c[Q>>2]|0)+(na+((N(c[(c[ja>>2]|0)+-4>>2]&65535,b[(c[D>>2]|0)+2>>1]|0)|0)>>16));na=N(c[(c[ja>>2]|0)+-8>>2]>>16,b[(c[D>>2]|0)+4>>1]|0)|0;c[Q>>2]=(c[Q>>2]|0)+(na+((N(c[(c[ja>>2]|0)+-8>>2]&65535,b[(c[D>>2]|0)+4>>1]|0)|0)>>16));na=N(c[(c[ja>>2]|0)+-12>>2]>>16,b[(c[D>>2]|0)+6>>1]|0)|0;c[Q>>2]=(c[Q>>2]|0)+(na+((N(c[(c[ja>>2]|0)+-12>>2]&65535,b[(c[D>>2]|0)+6>>1]|0)|0)>>16));na=N(c[(c[ja>>2]|0)+-16>>2]>>16,b[(c[D>>2]|0)+8>>1]|0)|0;c[Q>>2]=(c[Q>>2]|0)+(na+((N(c[(c[ja>>2]|0)+-16>>2]&65535,b[(c[D>>2]|0)+8>>1]|0)|0)>>16));c[ja>>2]=(c[ja>>2]|0)+4}else c[Q>>2]=0;c[fa>>2]=c[c[ha>>2]>>2];c[ea>>2]=c[(c[ka>>2]|0)+4288>>2];c[(c[ka>>2]|0)+4288>>2]=c[fa>>2];c[S>>2]=c[L>>2]>>1;na=N(c[fa>>2]>>16,b[c[E>>2]>>1]|0)|0;c[S>>2]=(c[S>>2]|0)+(na+((N(c[fa>>2]&65535,b[c[E>>2]>>1]|0)|0)>>16));c[P>>2]=2;while(1){if((c[P>>2]|0)>=(c[L>>2]|0))break;c[fa>>2]=c[(c[ka>>2]|0)+4288+((c[P>>2]|0)-1<<2)>>2];c[(c[ka>>2]|0)+4288+((c[P>>2]|0)-1<<2)>>2]=c[ea>>2];na=N(c[ea>>2]>>16,b[(c[E>>2]|0)+((c[P>>2]|0)-1<<1)>>1]|0)|0;c[S>>2]=(c[S>>2]|0)+(na+((N(c[ea>>2]&65535,b[(c[E>>2]|0)+((c[P>>2]|0)-1<<1)>>1]|0)|0)>>16));c[ea>>2]=c[(c[ka>>2]|0)+4288+((c[P>>2]|0)+0<<2)>>2];c[(c[ka>>2]|0)+4288+((c[P>>2]|0)+0<<2)>>2]=c[fa>>2];na=N(c[fa>>2]>>16,b[(c[E>>2]|0)+(c[P>>2]<<1)>>1]|0)|0;c[S>>2]=(c[S>>2]|0)+(na+((N(c[fa>>2]&65535,b[(c[E>>2]|0)+(c[P>>2]<<1)>>1]|0)|0)>>16));c[P>>2]=(c[P>>2]|0)+2}c[(c[ka>>2]|0)+4288+((c[L>>2]|0)-1<<2)>>2]=c[ea>>2];na=N(c[ea>>2]>>16,b[(c[E>>2]|0)+((c[L>>2]|0)-1<<1)>>1]|0)|0;c[S>>2]=(c[S>>2]|0)+(na+((N(c[ea>>2]&65535,b[(c[E>>2]|0)+((c[L>>2]|0)-1<<1)>>1]|0)|0)>>16));c[S>>2]=c[S>>2]<<1;na=N(c[(c[ka>>2]|0)+4352>>2]>>16,(c[H>>2]&65535)<<16>>16)|0;c[S>>2]=(c[S>>2]|0)+(na+((N(c[(c[ka>>2]|0)+4352>>2]&65535,(c[H>>2]&65535)<<16>>16)|0)>>16));na=N(c[(c[ka>>2]|0)+1280+((c[(c[ka>>2]|0)+4364>>2]|0)-1<<2)>>2]>>16,(c[I>>2]&65535)<<16>>16)|0;c[U>>2]=na+((N(c[(c[ka>>2]|0)+1280+((c[(c[ka>>2]|0)+4364>>2]|0)-1<<2)>>2]&65535,(c[I>>2]&65535)<<16>>16)|0)>>16);na=(c[U>>2]|0)+(N(c[(c[ka>>2]|0)+4352>>2]>>16,c[I>>2]>>16)|0)|0;c[U>>2]=na+((N(c[(c[ka>>2]|0)+4352>>2]&65535,c[I>>2]>>16)|0)>>16);c[ea>>2]=(c[R>>2]<<2)-(c[S>>2]|0);c[ea>>2]=(c[ea>>2]|0)-(c[U>>2]|0);if((c[F>>2]|0)>0){na=N((c[c[ia>>2]>>2]|0)+(c[(c[ia>>2]|0)+-8>>2]|0)>>16,(c[G>>2]&65535)<<16>>16)|0;c[T>>2]=na+((N((c[c[ia>>2]>>2]|0)+(c[(c[ia>>2]|0)+-8>>2]|0)&65535,(c[G>>2]&65535)<<16>>16)|0)>>16);na=(c[T>>2]|0)+(N(c[(c[ia>>2]|0)+-4>>2]>>16,c[G>>2]>>16)|0)|0;c[T>>2]=na+((N(c[(c[ia>>2]|0)+-4>>2]&65535,c[G>>2]>>16)|0)>>16);c[T>>2]=c[T>>2]<<1;c[ia>>2]=(c[ia>>2]|0)+4;c[fa>>2]=(c[Q>>2]|0)-(c[T>>2]|0);c[ea>>2]=(c[fa>>2]|0)+(c[ea>>2]<<1);c[ea>>2]=(c[ea>>2]>>2)+1>>1}else c[ea>>2]=(c[ea>>2]>>1)+1>>1;c[V>>2]=(c[(c[y>>2]|0)+(c[O>>2]<<2)>>2]|0)-(c[ea>>2]|0);if((c[(c[ka>>2]|0)+4368>>2]|0)<0)c[V>>2]=0-(c[V>>2]|0);if((c[V>>2]|0)>30720)d=30720;else d=(c[V>>2]|0)<-31744?-31744:c[V>>2]|0;c[V>>2]=d;c[Y>>2]=(c[V>>2]|0)-(c[K>>2]|0);c[X>>2]=c[Y>>2]>>10;d=c[X>>2]|0;do if((c[X>>2]|0)<=0){if(!d){c[Y>>2]=c[K>>2];c[Z>>2]=(c[Y>>2]|0)+944;c[_>>2]=N((c[Y>>2]&65535)<<16>>16,(c[J>>2]&65535)<<16>>16)|0;c[$>>2]=N((c[Z>>2]&65535)<<16>>16,(c[J>>2]&65535)<<16>>16)|0;break}if((c[X>>2]|0)==-1){c[Z>>2]=c[K>>2];c[Y>>2]=(c[Z>>2]|0)-944;c[_>>2]=N((0-(c[Y>>2]|0)&65535)<<16>>16,(c[J>>2]&65535)<<16>>16)|0;c[$>>2]=N((c[Z>>2]&65535)<<16>>16,(c[J>>2]&65535)<<16>>16)|0;break}else{c[Y>>2]=(c[X>>2]<<10)+80;c[Y>>2]=(c[Y>>2]|0)+(c[K>>2]|0);c[Z>>2]=(c[Y>>2]|0)+1024;c[_>>2]=N((0-(c[Y>>2]|0)&65535)<<16>>16,(c[J>>2]&65535)<<16>>16)|0;c[$>>2]=N((0-(c[Z>>2]|0)&65535)<<16>>16,(c[J>>2]&65535)<<16>>16)|0;break}}else{c[Y>>2]=(d<<10)-80;c[Y>>2]=(c[Y>>2]|0)+(c[K>>2]|0);c[Z>>2]=(c[Y>>2]|0)+1024;c[_>>2]=N((c[Y>>2]&65535)<<16>>16,(c[J>>2]&65535)<<16>>16)|0;c[$>>2]=N((c[Z>>2]&65535)<<16>>16,(c[J>>2]&65535)<<16>>16)|0}while(0);c[W>>2]=(c[V>>2]|0)-(c[Y>>2]|0);c[_>>2]=(c[_>>2]|0)+(N((c[W>>2]&65535)<<16>>16,(c[W>>2]&65535)<<16>>16)|0);c[W>>2]=(c[V>>2]|0)-(c[Z>>2]|0);c[$>>2]=(c[$>>2]|0)+(N((c[W>>2]&65535)<<16>>16,(c[W>>2]&65535)<<16>>16)|0);if((c[$>>2]|0)<(c[_>>2]|0))c[Y>>2]=c[Z>>2];a[(c[z>>2]|0)+(c[O>>2]|0)>>0]=(c[Y>>2]>>9)+1>>1;c[aa>>2]=c[Y>>2]<<4;if((c[(c[ka>>2]|0)+4368>>2]|0)<0)c[aa>>2]=0-(c[aa>>2]|0);c[ba>>2]=(c[aa>>2]|0)+(c[Q>>2]<<1);c[ca>>2]=(c[ba>>2]|0)+(c[R>>2]<<4);na=N(c[ca>>2]>>16,(c[da>>2]&65535)<<16>>16)|0;na=na+((N(c[ca>>2]&65535,(c[da>>2]&65535)<<16>>16)|0)>>16)|0;if(((na+(N(c[ca>>2]|0,(c[da>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<=32767){na=N(c[ca>>2]>>16,(c[da>>2]&65535)<<16>>16)|0;na=na+((N(c[ca>>2]&65535,(c[da>>2]&65535)<<16>>16)|0)>>16)|0;if(((na+(N(c[ca>>2]|0,(c[da>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<-32768)d=-32768;else{d=N(c[ca>>2]>>16,(c[da>>2]&65535)<<16>>16)|0;d=d+((N(c[ca>>2]&65535,(c[da>>2]&65535)<<16>>16)|0)>>16)|0;d=(d+(N(c[ca>>2]|0,(c[da>>2]>>15)+1>>1)|0)>>7)+1>>1}}else d=32767;b[(c[A>>2]|0)+(c[O>>2]<<1)>>1]=d;c[ha>>2]=(c[ha>>2]|0)+4;c[c[ha>>2]>>2]=c[ca>>2];c[ga>>2]=(c[ca>>2]|0)-(c[S>>2]<<2);c[(c[ka>>2]|0)+4352>>2]=c[ga>>2];c[(c[ka>>2]|0)+1280+(c[(c[ka>>2]|0)+4364>>2]<<2)>>2]=(c[ga>>2]|0)-(c[U>>2]<<2);c[(c[B>>2]|0)+(c[(c[ka>>2]|0)+4360>>2]<<2)>>2]=c[ba>>2]<<1;na=(c[ka>>2]|0)+4364|0;c[na>>2]=(c[na>>2]|0)+1;na=(c[ka>>2]|0)+4360|0;c[na>>2]=(c[na>>2]|0)+1;c[(c[ka>>2]|0)+4368>>2]=(c[(c[ka>>2]|0)+4368>>2]|0)+(a[(c[z>>2]|0)+(c[O>>2]|0)>>0]|0);c[O>>2]=(c[O>>2]|0)+1}o=d+3840|0;d=(c[ka>>2]|0)+3840+(c[la>>2]<<2)|0;e=o+128|0;do{c[o>>2]=c[d>>2];o=o+4|0;d=d+4|0}while((o|0)<(e|0));l=ma;return}function _d(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;h=l;l=l+48|0;f=h+32|0;n=h+28|0;d=h+24|0;i=h+20|0;g=h+16|0;j=h+12|0;m=h+8|0;k=h+4|0;e=h;c[n>>2]=a;c[d>>2]=b;a=c[n>>2]|0;c[i>>2]=(ae((c[n>>2]|0)>0?a:0-a|0)|0)-1;c[m>>2]=c[n>>2]<<c[i>>2];c[j>>2]=536870911/(c[m>>2]>>16|0)|0;c[e>>2]=c[j>>2]<<16;a=N(c[m>>2]>>16,(c[j>>2]&65535)<<16>>16)|0;c[k>>2]=536870912-(a+((N(c[m>>2]&65535,(c[j>>2]&65535)<<16>>16)|0)>>16))<<3;a=N(c[k>>2]>>16,(c[j>>2]&65535)<<16>>16)|0;a=(c[e>>2]|0)+(a+((N(c[k>>2]&65535,(c[j>>2]&65535)<<16>>16)|0)>>16))|0;c[e>>2]=a+(N(c[k>>2]|0,(c[j>>2]>>15)+1>>1)|0);c[g>>2]=61-(c[i>>2]|0)-(c[d>>2]|0);a=c[g>>2]|0;if((c[g>>2]|0)>0)if((a|0)<32){c[f>>2]=c[e>>2]>>c[g>>2];n=c[f>>2]|0;l=h;return n|0}else{c[f>>2]=0;n=c[f>>2]|0;l=h;return n|0}b=c[e>>2]|0;d=0-(c[g>>2]|0)|0;do if((-2147483648>>0-a|0)>(2147483647>>0-(c[g>>2]|0)|0)){if((b|0)>(-2147483648>>d|0)){a=-2147483648>>0-(c[g>>2]|0);break}if((c[e>>2]|0)<(2147483647>>0-(c[g>>2]|0)|0)){a=2147483647>>0-(c[g>>2]|0);break}else{a=c[e>>2]|0;break}}else{if((b|0)>(2147483647>>d|0)){a=2147483647>>0-(c[g>>2]|0);break}if((c[e>>2]|0)<(-2147483648>>0-(c[g>>2]|0)|0)){a=-2147483648>>0-(c[g>>2]|0);break}else{a=c[e>>2]|0;break}}while(0);c[f>>2]=a<<0-(c[g>>2]|0);n=c[f>>2]|0;l=h;return n|0}function $d(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;h=l;l=l+48|0;f=h+40|0;q=h+36|0;p=h+32|0;i=h+28|0;k=h+24|0;j=h+20|0;g=h+16|0;m=h+12|0;n=h+8|0;o=h+4|0;e=h;c[q>>2]=a;c[p>>2]=b;c[i>>2]=d;d=c[q>>2]|0;c[k>>2]=(ae((c[q>>2]|0)>0?d:0-d|0)|0)-1;c[n>>2]=c[q>>2]<<c[k>>2];d=c[p>>2]|0;c[j>>2]=(ae((c[p>>2]|0)>0?d:0-d|0)|0)-1;c[o>>2]=c[p>>2]<<c[j>>2];c[m>>2]=536870911/(c[o>>2]>>16|0)|0;d=N(c[n>>2]>>16,(c[m>>2]&65535)<<16>>16)|0;c[e>>2]=d+((N(c[n>>2]&65535,(c[m>>2]&65535)<<16>>16)|0)>>16);d=c[n>>2]|0;b=c[o>>2]|0;a=c[e>>2]|0;a=Xi(b|0,((b|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Yi(a|0,y|0,32)|0;c[n>>2]=d-(a<<3);a=N(c[n>>2]>>16,(c[m>>2]&65535)<<16>>16)|0;c[e>>2]=(c[e>>2]|0)+(a+((N(c[n>>2]&65535,(c[m>>2]&65535)<<16>>16)|0)>>16));c[g>>2]=29+(c[k>>2]|0)-(c[j>>2]|0)-(c[i>>2]|0);a=c[g>>2]|0;if((c[g>>2]|0)>=0)if((a|0)<32){c[f>>2]=c[e>>2]>>c[g>>2];q=c[f>>2]|0;l=h;return q|0}else{c[f>>2]=0;q=c[f>>2]|0;l=h;return q|0}b=c[e>>2]|0;d=0-(c[g>>2]|0)|0;do if((-2147483648>>0-a|0)>(2147483647>>0-(c[g>>2]|0)|0)){if((b|0)>(-2147483648>>d|0)){a=-2147483648>>0-(c[g>>2]|0);break}if((c[e>>2]|0)<(2147483647>>0-(c[g>>2]|0)|0)){a=2147483647>>0-(c[g>>2]|0);break}else{a=c[e>>2]|0;break}}else{if((b|0)>(2147483647>>d|0)){a=2147483647>>0-(c[g>>2]|0);break}if((c[e>>2]|0)<(-2147483648>>0-(c[g>>2]|0)|0)){a=-2147483648>>0-(c[g>>2]|0);break}else{a=c[e>>2]|0;break}}while(0);c[f>>2]=a<<0-(c[g>>2]|0);q=c[f>>2]|0;l=h;return q|0}function ae(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){b=32;l=d;return b|0}b=32-(32-(Q(c[b>>2]|0)|0))|0;l=d;return b|0}function be(d,e,f,g,h,i,j,k,m,n,o,p,q,r,s){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;var t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;ea=l;l=l+272|0;T=ea+264|0;U=ea+260|0;t=ea+256|0;u=ea+252|0;V=ea+248|0;v=ea+244|0;w=ea+240|0;x=ea+236|0;y=ea+232|0;z=ea+228|0;A=ea+224|0;B=ea+220|0;W=ea+216|0;C=ea+212|0;D=ea+208|0;X=ea+204|0;E=ea+200|0;F=ea+196|0;G=ea+192|0;H=ea+188|0;I=ea+184|0;J=ea+180|0;Y=ea+176|0;K=ea+172|0;Z=ea+168|0;L=ea+164|0;M=ea+160|0;O=ea+156|0;aa=ea+152|0;P=ea+148|0;Q=ea+144|0;R=ea+140|0;ba=ea+136|0;ca=ea+132|0;da=ea+128|0;S=ea;c[T>>2]=d;c[U>>2]=e;c[t>>2]=f;c[u>>2]=g;c[V>>2]=h;c[v>>2]=i;c[w>>2]=j;c[x>>2]=k;c[y>>2]=m;c[z>>2]=n;c[A>>2]=o;c[B>>2]=p;c[W>>2]=q;c[C>>2]=r;c[D>>2]=s;c[F>>2]=c[(c[U>>2]|0)+4356>>2];n=c[(c[T>>2]|0)+4652>>2]|0;c[da>>2]=$()|0;q=l;l=l+((1*(n*1168|0)|0)+15&-16)|0;aj(q|0,0,(c[(c[T>>2]|0)+4652>>2]|0)*1168|0)|0;c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[(c[T>>2]|0)+4652>>2]|0))break;c[ca>>2]=q+((c[E>>2]|0)*1168|0);c[(c[ca>>2]|0)+1156>>2]=(c[E>>2]|0)+(a[(c[t>>2]|0)+34>>0]|0)&3;c[(c[ca>>2]|0)+1160>>2]=c[(c[ca>>2]|0)+1156>>2];c[(c[ca>>2]|0)+1164>>2]=0;c[(c[ca>>2]|0)+1152>>2]=c[(c[U>>2]|0)+4352>>2];c[(c[ca>>2]|0)+960>>2]=c[(c[U>>2]|0)+1280+((c[(c[T>>2]|0)+4616>>2]|0)-1<<2)>>2];d=c[ca>>2]|0;e=(c[U>>2]|0)+3840|0;o=d+128|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(o|0));d=(c[ca>>2]|0)+1088|0;e=(c[U>>2]|0)+4288|0;o=d+64|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(o|0));c[E>>2]=(c[E>>2]|0)+1}c[Q>>2]=b[24558+(a[(c[t>>2]|0)+29>>0]>>1<<2)+(a[(c[t>>2]|0)+30>>0]<<1)>>1];c[K>>2]=0;c[Z>>2]=ce(32,c[(c[T>>2]|0)+4612>>2]|0)|0;a:do if((a[(c[t>>2]|0)+29>>0]|0)!=2){if((c[F>>2]|0)>0)c[Z>>2]=ce(c[Z>>2]|0,(c[F>>2]|0)-2-1|0)|0}else{c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[(c[T>>2]|0)+4604>>2]|0))break a;c[Z>>2]=ce(c[Z>>2]|0,(c[(c[W>>2]|0)+(c[E>>2]<<2)>>2]|0)-2-1|0)|0;c[E>>2]=(c[E>>2]|0)+1}}while(0);if((a[(c[t>>2]|0)+31>>0]|0)==4)c[H>>2]=0;else c[H>>2]=1;d=l;l=l+((1*((c[(c[T>>2]|0)+4616>>2]|0)+(c[(c[T>>2]|0)+4608>>2]|0)<<2)|0)+15&-16)|0;e=l;l=l+((1*((c[(c[T>>2]|0)+4616>>2]|0)+(c[(c[T>>2]|0)+4608>>2]|0)<<1)|0)+15&-16)|0;o=l;l=l+((1*(c[(c[T>>2]|0)+4612>>2]<<2)|0)+15&-16)|0;c[aa>>2]=(c[U>>2]|0)+(c[(c[T>>2]|0)+4616>>2]<<1);c[(c[U>>2]|0)+4364>>2]=c[(c[T>>2]|0)+4616>>2];c[(c[U>>2]|0)+4360>>2]=c[(c[T>>2]|0)+4616>>2];c[J>>2]=0;c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[(c[T>>2]|0)+4604>>2]|0))break;c[L>>2]=(c[v>>2]|0)+((c[E>>2]>>1|1-(c[H>>2]|0))<<4<<1);c[M>>2]=(c[w>>2]|0)+((c[E>>2]|0)*5<<1);c[O>>2]=(c[x>>2]|0)+(c[E>>2]<<4<<1);c[P>>2]=c[(c[y>>2]|0)+(c[E>>2]<<2)>>2]>>2;c[P>>2]=c[P>>2]|c[(c[y>>2]|0)+(c[E>>2]<<2)>>2]>>1<<16;c[(c[U>>2]|0)+4376>>2]=0;if((a[(c[t>>2]|0)+29>>0]|0)==2?(c[F>>2]=c[(c[W>>2]|0)+(c[E>>2]<<2)>>2],(c[E>>2]&3-(c[H>>2]<<1)|0)==0):0){if((c[E>>2]|0)==2){c[R>>2]=c[q+1164>>2];c[I>>2]=0;c[X>>2]=1;while(1){if((c[X>>2]|0)>=(c[(c[T>>2]|0)+4652>>2]|0))break;if((c[q+((c[X>>2]|0)*1168|0)+1164>>2]|0)<(c[R>>2]|0)){c[R>>2]=c[q+((c[X>>2]|0)*1168|0)+1164>>2];c[I>>2]=c[X>>2]}c[X>>2]=(c[X>>2]|0)+1}c[X>>2]=0;while(1){if((c[X>>2]|0)>=(c[(c[T>>2]|0)+4652>>2]|0))break;if((c[X>>2]|0)!=(c[I>>2]|0)){n=q+((c[X>>2]|0)*1168|0)+1164|0;c[n>>2]=(c[n>>2]|0)+134217727}c[X>>2]=(c[X>>2]|0)+1}c[ca>>2]=q+((c[I>>2]|0)*1168|0);c[Y>>2]=(c[K>>2]|0)+(c[Z>>2]|0);c[X>>2]=0;while(1){if((c[X>>2]|0)>=(c[Z>>2]|0))break;c[Y>>2]=(c[Y>>2]|0)-1&31;a[(c[V>>2]|0)+((c[X>>2]|0)-(c[Z>>2]|0))>>0]=(c[(c[ca>>2]|0)+576+(c[Y>>2]<<2)>>2]>>9)+1>>1;n=N(c[(c[ca>>2]|0)+704+(c[Y>>2]<<2)>>2]>>16,(c[(c[B>>2]|0)+4>>2]&65535)<<16>>16)|0;n=n+((N(c[(c[ca>>2]|0)+704+(c[Y>>2]<<2)>>2]&65535,(c[(c[B>>2]|0)+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((n+(N(c[(c[ca>>2]|0)+704+(c[Y>>2]<<2)>>2]|0,(c[(c[B>>2]|0)+4>>2]>>15)+1>>1)|0)>>13)+1>>1|0)<=32767){n=N(c[(c[ca>>2]|0)+704+(c[Y>>2]<<2)>>2]>>16,(c[(c[B>>2]|0)+4>>2]&65535)<<16>>16)|0;n=n+((N(c[(c[ca>>2]|0)+704+(c[Y>>2]<<2)>>2]&65535,(c[(c[B>>2]|0)+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((n+(N(c[(c[ca>>2]|0)+704+(c[Y>>2]<<2)>>2]|0,(c[(c[B>>2]|0)+4>>2]>>15)+1>>1)|0)>>13)+1>>1|0)<-32768)p=-32768;else{p=N(c[(c[ca>>2]|0)+704+(c[Y>>2]<<2)>>2]>>16,(c[(c[B>>2]|0)+4>>2]&65535)<<16>>16)|0;p=p+((N(c[(c[ca>>2]|0)+704+(c[Y>>2]<<2)>>2]&65535,(c[(c[B>>2]|0)+4>>2]&65535)<<16>>16)|0)>>16)|0;p=(p+(N(c[(c[ca>>2]|0)+704+(c[Y>>2]<<2)>>2]|0,(c[(c[B>>2]|0)+4>>2]>>15)+1>>1)|0)>>13)+1>>1}}else p=32767;b[(c[aa>>2]|0)+((c[X>>2]|0)-(c[Z>>2]|0)<<1)>>1]=p;c[(c[U>>2]|0)+1280+((c[(c[U>>2]|0)+4364>>2]|0)-(c[Z>>2]|0)+(c[X>>2]|0)<<2)>>2]=c[(c[ca>>2]|0)+960+(c[Y>>2]<<2)>>2];c[X>>2]=(c[X>>2]|0)+1}c[J>>2]=0}c[G>>2]=(c[(c[T>>2]|0)+4616>>2]|0)-(c[F>>2]|0)-(c[(c[T>>2]|0)+4664>>2]|0)-2;n=(c[U>>2]|0)+((c[G>>2]|0)+(N(c[E>>2]|0,c[(c[T>>2]|0)+4612>>2]|0)|0)<<1)|0;Gf(e+(c[G>>2]<<1)|0,n,c[L>>2]|0,(c[(c[T>>2]|0)+4616>>2]|0)-(c[G>>2]|0)|0,c[(c[T>>2]|0)+4664>>2]|0,c[(c[T>>2]|0)+5124>>2]|0);c[(c[U>>2]|0)+4360>>2]=c[(c[T>>2]|0)+4616>>2];c[(c[U>>2]|0)+4376>>2]=1}de(c[T>>2]|0,c[U>>2]|0,q,c[u>>2]|0,o,e,d,c[E>>2]|0,c[(c[T>>2]|0)+4652>>2]|0,c[D>>2]|0,c[B>>2]|0,c[W>>2]|0,a[(c[t>>2]|0)+29>>0]|0,c[Z>>2]|0);ja=c[U>>2]|0;ia=a[(c[t>>2]|0)+29>>0]|0;ha=c[V>>2]|0;ga=c[aa>>2]|0;fa=c[L>>2]|0;p=c[M>>2]|0;r=c[O>>2]|0;s=c[F>>2]|0;f=c[P>>2]|0;g=c[(c[z>>2]|0)+(c[E>>2]<<2)>>2]|0;h=c[(c[A>>2]|0)+(c[E>>2]<<2)>>2]|0;i=c[(c[B>>2]|0)+(c[E>>2]<<2)>>2]|0;j=c[C>>2]|0;k=c[Q>>2]|0;m=c[(c[T>>2]|0)+4612>>2]|0;n=c[J>>2]|0;c[J>>2]=n+1;ee(ja,q,ia,o,ha,ga,d,S,fa,p,r,s,f,g,h,i,j,k,m,n,c[(c[T>>2]|0)+4660>>2]|0,c[(c[T>>2]|0)+4664>>2]|0,c[(c[T>>2]|0)+4704>>2]|0,c[(c[T>>2]|0)+4652>>2]|0,K,c[Z>>2]|0);c[u>>2]=(c[u>>2]|0)+(c[(c[T>>2]|0)+4612>>2]<<2);c[V>>2]=(c[V>>2]|0)+(c[(c[T>>2]|0)+4612>>2]|0);c[aa>>2]=(c[aa>>2]|0)+(c[(c[T>>2]|0)+4612>>2]<<1);c[E>>2]=(c[E>>2]|0)+1}c[R>>2]=c[q+1164>>2];c[I>>2]=0;c[E>>2]=1;while(1){if((c[E>>2]|0)>=(c[(c[T>>2]|0)+4652>>2]|0))break;if((c[q+((c[E>>2]|0)*1168|0)+1164>>2]|0)<(c[R>>2]|0)){c[R>>2]=c[q+((c[E>>2]|0)*1168|0)+1164>>2];c[I>>2]=c[E>>2]}c[E>>2]=(c[E>>2]|0)+1}c[ca>>2]=q+((c[I>>2]|0)*1168|0);a[(c[t>>2]|0)+34>>0]=c[(c[ca>>2]|0)+1160>>2];c[Y>>2]=(c[K>>2]|0)+(c[Z>>2]|0);c[ba>>2]=c[(c[B>>2]|0)+((c[(c[T>>2]|0)+4604>>2]|0)-1<<2)>>2]>>6;c[X>>2]=0;while(1){if((c[X>>2]|0)>=(c[Z>>2]|0))break;c[Y>>2]=(c[Y>>2]|0)-1&31;a[(c[V>>2]|0)+((c[X>>2]|0)-(c[Z>>2]|0))>>0]=(c[(c[ca>>2]|0)+576+(c[Y>>2]<<2)>>2]>>9)+1>>1;ja=N(c[(c[ca>>2]|0)+704+(c[Y>>2]<<2)>>2]>>16,(c[ba>>2]&65535)<<16>>16)|0;ja=ja+((N(c[(c[ca>>2]|0)+704+(c[Y>>2]<<2)>>2]&65535,(c[ba>>2]&65535)<<16>>16)|0)>>16)|0;if(((ja+(N(c[(c[ca>>2]|0)+704+(c[Y>>2]<<2)>>2]|0,(c[ba>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<=32767){ja=N(c[(c[ca>>2]|0)+704+(c[Y>>2]<<2)>>2]>>16,(c[ba>>2]&65535)<<16>>16)|0;ja=ja+((N(c[(c[ca>>2]|0)+704+(c[Y>>2]<<2)>>2]&65535,(c[ba>>2]&65535)<<16>>16)|0)>>16)|0;if(((ja+(N(c[(c[ca>>2]|0)+704+(c[Y>>2]<<2)>>2]|0,(c[ba>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<-32768)d=-32768;else{d=N(c[(c[ca>>2]|0)+704+(c[Y>>2]<<2)>>2]>>16,(c[ba>>2]&65535)<<16>>16)|0;d=d+((N(c[(c[ca>>2]|0)+704+(c[Y>>2]<<2)>>2]&65535,(c[ba>>2]&65535)<<16>>16)|0)>>16)|0;d=(d+(N(c[(c[ca>>2]|0)+704+(c[Y>>2]<<2)>>2]|0,(c[ba>>2]>>15)+1>>1)|0)>>7)+1>>1}}else d=32767;b[(c[aa>>2]|0)+((c[X>>2]|0)-(c[Z>>2]|0)<<1)>>1]=d;c[(c[U>>2]|0)+1280+((c[(c[U>>2]|0)+4364>>2]|0)-(c[Z>>2]|0)+(c[X>>2]|0)<<2)>>2]=c[(c[ca>>2]|0)+960+(c[Y>>2]<<2)>>2];c[X>>2]=(c[X>>2]|0)+1}d=(c[U>>2]|0)+3840|0;e=(c[ca>>2]|0)+(c[(c[T>>2]|0)+4612>>2]<<2)|0;o=d+128|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(o|0));d=(c[U>>2]|0)+4288|0;e=(c[ca>>2]|0)+1088|0;o=d+64|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(o|0));c[(c[U>>2]|0)+4352>>2]=c[(c[ca>>2]|0)+1152>>2];c[(c[U>>2]|0)+4356>>2]=c[(c[W>>2]|0)+((c[(c[T>>2]|0)+4604>>2]|0)-1<<2)>>2];$i(c[U>>2]|0,(c[U>>2]|0)+(c[(c[T>>2]|0)+4608>>2]<<1)|0,c[(c[T>>2]|0)+4616>>2]<<1|0)|0;$i((c[U>>2]|0)+1280|0,(c[U>>2]|0)+1280+(c[(c[T>>2]|0)+4608>>2]<<2)|0,c[(c[T>>2]|0)+4616>>2]<<2|0)|0;_(c[da>>2]|0);l=ea;return}function ce(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)<(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function de(a,d,e,f,g,h,i,j,k,m,n,o,p,q){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;L=l;l=l+96|0;r=L+80|0;s=L+76|0;t=L+72|0;u=L+68|0;v=L+64|0;w=L+60|0;x=L+56|0;y=L+52|0;z=L+48|0;A=L+44|0;B=L+40|0;M=L+36|0;C=L+32|0;D=L+28|0;E=L+24|0;F=L+20|0;G=L+16|0;H=L+12|0;I=L+8|0;J=L+4|0;K=L;c[r>>2]=a;c[s>>2]=d;c[t>>2]=e;c[u>>2]=f;c[v>>2]=g;c[w>>2]=h;c[x>>2]=i;c[y>>2]=j;c[z>>2]=k;c[A>>2]=m;c[B>>2]=n;c[M>>2]=o;c[C>>2]=p;c[D>>2]=q;c[G>>2]=c[(c[M>>2]|0)+(c[y>>2]<<2)>>2];if((c[(c[B>>2]|0)+(c[y>>2]<<2)>>2]|0)>1)a=c[(c[B>>2]|0)+(c[y>>2]<<2)>>2]|0;else a=1;c[I>>2]=fe(a,47)|0;if((c[(c[B>>2]|0)+(c[y>>2]<<2)>>2]|0)!=(c[(c[s>>2]|0)+4372>>2]|0))c[H>>2]=ge(c[(c[s>>2]|0)+4372>>2]|0,c[(c[B>>2]|0)+(c[y>>2]<<2)>>2]|0,16)|0;else c[H>>2]=65536;c[J>>2]=(c[I>>2]>>7)+1>>1;c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[(c[r>>2]|0)+4612>>2]|0))break;M=N(c[(c[u>>2]|0)+(c[E>>2]<<2)>>2]>>16,(c[J>>2]&65535)<<16>>16)|0;M=M+((N(c[(c[u>>2]|0)+(c[E>>2]<<2)>>2]&65535,(c[J>>2]&65535)<<16>>16)|0)>>16)|0;M=M+(N(c[(c[u>>2]|0)+(c[E>>2]<<2)>>2]|0,(c[J>>2]>>15)+1>>1)|0)|0;c[(c[v>>2]|0)+(c[E>>2]<<2)>>2]=M;c[E>>2]=(c[E>>2]|0)+1}c[(c[s>>2]|0)+4372>>2]=c[(c[B>>2]|0)+(c[y>>2]<<2)>>2];a:do if(c[(c[s>>2]|0)+4376>>2]|0){if(!(c[y>>2]|0)){M=N(c[I>>2]>>16,(c[A>>2]&65535)<<16>>16)|0;c[I>>2]=M+((N(c[I>>2]&65535,(c[A>>2]&65535)<<16>>16)|0)>>16)<<2}c[E>>2]=(c[(c[s>>2]|0)+4360>>2]|0)-(c[G>>2]|0)-2;while(1){if((c[E>>2]|0)>=(c[(c[s>>2]|0)+4360>>2]|0))break a;M=N(c[I>>2]>>16,b[(c[w>>2]|0)+(c[E>>2]<<1)>>1]|0)|0;M=M+((N(c[I>>2]&65535,b[(c[w>>2]|0)+(c[E>>2]<<1)>>1]|0)|0)>>16)|0;c[(c[x>>2]|0)+(c[E>>2]<<2)>>2]=M;c[E>>2]=(c[E>>2]|0)+1}}while(0);if((c[H>>2]|0)==65536){l=L;return}c[E>>2]=(c[(c[s>>2]|0)+4364>>2]|0)-(c[(c[r>>2]|0)+4616>>2]|0);while(1){if((c[E>>2]|0)>=(c[(c[s>>2]|0)+4364>>2]|0))break;M=N(c[H>>2]>>16,(c[(c[s>>2]|0)+1280+(c[E>>2]<<2)>>2]&65535)<<16>>16)|0;M=M+((N(c[H>>2]&65535,(c[(c[s>>2]|0)+1280+(c[E>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;M=M+(N(c[H>>2]|0,(c[(c[s>>2]|0)+1280+(c[E>>2]<<2)>>2]>>15)+1>>1)|0)|0;c[(c[s>>2]|0)+1280+(c[E>>2]<<2)>>2]=M;c[E>>2]=(c[E>>2]|0)+1}b:do if((c[C>>2]|0)==2?(c[(c[s>>2]|0)+4376>>2]|0)==0:0){c[E>>2]=(c[(c[s>>2]|0)+4360>>2]|0)-(c[G>>2]|0)-2;while(1){if((c[E>>2]|0)>=((c[(c[s>>2]|0)+4360>>2]|0)-(c[D>>2]|0)|0))break b;M=N(c[H>>2]>>16,(c[(c[x>>2]|0)+(c[E>>2]<<2)>>2]&65535)<<16>>16)|0;M=M+((N(c[H>>2]&65535,(c[(c[x>>2]|0)+(c[E>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;M=M+(N(c[H>>2]|0,(c[(c[x>>2]|0)+(c[E>>2]<<2)>>2]>>15)+1>>1)|0)|0;c[(c[x>>2]|0)+(c[E>>2]<<2)>>2]=M;c[E>>2]=(c[E>>2]|0)+1}}while(0);c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[z>>2]|0))break;c[K>>2]=(c[t>>2]|0)+((c[F>>2]|0)*1168|0);M=N(c[H>>2]>>16,(c[(c[K>>2]|0)+1152>>2]&65535)<<16>>16)|0;M=M+((N(c[H>>2]&65535,(c[(c[K>>2]|0)+1152>>2]&65535)<<16>>16)|0)>>16)|0;M=M+(N(c[H>>2]|0,(c[(c[K>>2]|0)+1152>>2]>>15)+1>>1)|0)|0;c[(c[K>>2]|0)+1152>>2]=M;c[E>>2]=0;while(1){if((c[E>>2]|0)>=32)break;M=N(c[H>>2]>>16,(c[(c[K>>2]|0)+(c[E>>2]<<2)>>2]&65535)<<16>>16)|0;M=M+((N(c[H>>2]&65535,(c[(c[K>>2]|0)+(c[E>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;M=M+(N(c[H>>2]|0,(c[(c[K>>2]|0)+(c[E>>2]<<2)>>2]>>15)+1>>1)|0)|0;c[(c[K>>2]|0)+(c[E>>2]<<2)>>2]=M;c[E>>2]=(c[E>>2]|0)+1}c[E>>2]=0;while(1){if((c[E>>2]|0)>=16)break;M=N(c[H>>2]>>16,(c[(c[K>>2]|0)+1088+(c[E>>2]<<2)>>2]&65535)<<16>>16)|0;M=M+((N(c[H>>2]&65535,(c[(c[K>>2]|0)+1088+(c[E>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;M=M+(N(c[H>>2]|0,(c[(c[K>>2]|0)+1088+(c[E>>2]<<2)>>2]>>15)+1>>1)|0)|0;c[(c[K>>2]|0)+1088+(c[E>>2]<<2)>>2]=M;c[E>>2]=(c[E>>2]|0)+1}c[E>>2]=0;while(1){if((c[E>>2]|0)>=32)break;M=N(c[H>>2]>>16,(c[(c[K>>2]|0)+832+(c[E>>2]<<2)>>2]&65535)<<16>>16)|0;M=M+((N(c[H>>2]&65535,(c[(c[K>>2]|0)+832+(c[E>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;M=M+(N(c[H>>2]|0,(c[(c[K>>2]|0)+832+(c[E>>2]<<2)>>2]>>15)+1>>1)|0)|0;c[(c[K>>2]|0)+832+(c[E>>2]<<2)>>2]=M;M=N(c[H>>2]>>16,(c[(c[K>>2]|0)+960+(c[E>>2]<<2)>>2]&65535)<<16>>16)|0;M=M+((N(c[H>>2]&65535,(c[(c[K>>2]|0)+960+(c[E>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;M=M+(N(c[H>>2]|0,(c[(c[K>>2]|0)+960+(c[E>>2]<<2)>>2]>>15)+1>>1)|0)|0;c[(c[K>>2]|0)+960+(c[E>>2]<<2)>>2]=M;c[E>>2]=(c[E>>2]|0)+1}c[F>>2]=(c[F>>2]|0)+1}l=L;return}
function Gh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,B=0,C=0.0;B=l;l=l+80|0;t=B+64|0;u=B+60|0;v=B+56|0;w=B+52|0;x=B+48|0;y=B+44|0;h=B+40|0;i=B+36|0;j=B+32|0;k=B+28|0;m=B+24|0;n=B+20|0;o=B+16|0;p=B+12|0;q=B+8|0;r=B+4|0;s=B;c[t>>2]=a;c[u>>2]=b;c[v>>2]=d;c[w>>2]=e;if(!((((c[v>>2]|0)<1|(c[u>>2]|0)<1)^1)&(c[t>>2]|0)!=0&(c[w>>2]|0)!=0)){l=B;return}c[y>>2]=0;while(1){if((c[y>>2]|0)>=(N(c[u>>2]|0,c[v>>2]|0)|0))break;if(2.0<+g[(c[t>>2]|0)+(c[y>>2]<<2)>>2])f=2.0;else f=+g[(c[t>>2]|0)+(c[y>>2]<<2)>>2];if(!(-2.0>f))if(2.0<+g[(c[t>>2]|0)+(c[y>>2]<<2)>>2])f=2.0;else f=+g[(c[t>>2]|0)+(c[y>>2]<<2)>>2];else f=-2.0;g[(c[t>>2]|0)+(c[y>>2]<<2)>>2]=f;c[y>>2]=(c[y>>2]|0)+1}c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[v>>2]|0))break;c[h>>2]=(c[t>>2]|0)+(c[x>>2]<<2);g[i>>2]=+g[(c[w>>2]|0)+(c[x>>2]<<2)>>2];c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[u>>2]|0))break;f=+g[(c[h>>2]|0)+((N(c[y>>2]|0,c[v>>2]|0)|0)<<2)>>2];if(f*+g[i>>2]>=0.0)break;C=+g[(c[h>>2]|0)+((N(c[y>>2]|0,c[v>>2]|0)|0)<<2)>>2];f=+g[i>>2]*+g[(c[h>>2]|0)+((N(c[y>>2]|0,c[v>>2]|0)|0)<<2)>>2];f=C+f*+g[(c[h>>2]|0)+((N(c[y>>2]|0,c[v>>2]|0)|0)<<2)>>2];g[(c[h>>2]|0)+((N(c[y>>2]|0,c[v>>2]|0)|0)<<2)>>2]=f;c[y>>2]=(c[y>>2]|0)+1}c[k>>2]=0;g[j>>2]=+g[c[h>>2]>>2];do{c[p>>2]=0;c[y>>2]=c[k>>2];while(1){if((c[y>>2]|0)>=(c[u>>2]|0))break;if(+g[(c[h>>2]|0)+((N(c[y>>2]|0,c[v>>2]|0)|0)<<2)>>2]>1.0)break;if(+g[(c[h>>2]|0)+((N(c[y>>2]|0,c[v>>2]|0)|0)<<2)>>2]<-1.0)break;c[y>>2]=(c[y>>2]|0)+1}if((c[y>>2]|0)==(c[u>>2]|0)){z=23;break}c[q>>2]=c[y>>2];e=c[y>>2]|0;c[n>>2]=e;c[m>>2]=e;g[o>>2]=+A(+(+g[(c[h>>2]|0)+((N(c[y>>2]|0,c[v>>2]|0)|0)<<2)>>2]));while(1){if((c[m>>2]|0)<=0)break;C=+g[(c[h>>2]|0)+((N(c[y>>2]|0,c[v>>2]|0)|0)<<2)>>2];if(!(C*+g[(c[h>>2]|0)+((N((c[m>>2]|0)-1|0,c[v>>2]|0)|0)<<2)>>2]>=0.0))break;c[m>>2]=(c[m>>2]|0)+-1}while(1){if((c[n>>2]|0)>=(c[u>>2]|0))break;C=+g[(c[h>>2]|0)+((N(c[y>>2]|0,c[v>>2]|0)|0)<<2)>>2];if(!(C*+g[(c[h>>2]|0)+((N(c[n>>2]|0,c[v>>2]|0)|0)<<2)>>2]>=0.0))break;C=+A(+(+g[(c[h>>2]|0)+((N(c[n>>2]|0,c[v>>2]|0)|0)<<2)>>2]));if(C>+g[o>>2]){g[o>>2]=+A(+(+g[(c[h>>2]|0)+((N(c[n>>2]|0,c[v>>2]|0)|0)<<2)>>2]));c[q>>2]=c[n>>2]}c[n>>2]=(c[n>>2]|0)+1}if(!(c[m>>2]|0)){C=+g[(c[h>>2]|0)+((N(c[y>>2]|0,c[v>>2]|0)|0)<<2)>>2];a=C*+g[c[h>>2]>>2]>=0.0}else a=0;c[p>>2]=a&1;g[i>>2]=(+g[o>>2]-1.0)/(+g[o>>2]*+g[o>>2]);if(+g[(c[h>>2]|0)+((N(c[y>>2]|0,c[v>>2]|0)|0)<<2)>>2]>0.0)g[i>>2]=-+g[i>>2];c[y>>2]=c[m>>2];while(1){if((c[y>>2]|0)>=(c[n>>2]|0))break;f=+g[(c[h>>2]|0)+((N(c[y>>2]|0,c[v>>2]|0)|0)<<2)>>2];C=+g[i>>2]*+g[(c[h>>2]|0)+((N(c[y>>2]|0,c[v>>2]|0)|0)<<2)>>2];C=f+C*+g[(c[h>>2]|0)+((N(c[y>>2]|0,c[v>>2]|0)|0)<<2)>>2];g[(c[h>>2]|0)+((N(c[y>>2]|0,c[v>>2]|0)|0)<<2)>>2]=C;c[y>>2]=(c[y>>2]|0)+1}a:do if((c[p>>2]|0)!=0&(c[q>>2]|0)>=2){g[s>>2]=+g[j>>2]-+g[c[h>>2]>>2];g[r>>2]=+g[s>>2]/+(c[q>>2]|0);c[y>>2]=c[k>>2];while(1){if((c[y>>2]|0)>=(c[q>>2]|0))break a;g[s>>2]=+g[s>>2]-+g[r>>2];e=(c[h>>2]|0)+((N(c[y>>2]|0,c[v>>2]|0)|0)<<2)|0;g[e>>2]=+g[e>>2]+ +g[s>>2];if(1.0<+g[(c[h>>2]|0)+((N(c[y>>2]|0,c[v>>2]|0)|0)<<2)>>2])f=1.0;else f=+g[(c[h>>2]|0)+((N(c[y>>2]|0,c[v>>2]|0)|0)<<2)>>2];if(!(-1.0>f))if(1.0<+g[(c[h>>2]|0)+((N(c[y>>2]|0,c[v>>2]|0)|0)<<2)>>2])f=1.0;else f=+g[(c[h>>2]|0)+((N(c[y>>2]|0,c[v>>2]|0)|0)<<2)>>2];else f=-1.0;g[(c[h>>2]|0)+((N(c[y>>2]|0,c[v>>2]|0)|0)<<2)>>2]=f;c[y>>2]=(c[y>>2]|0)+1}}while(0);c[k>>2]=c[n>>2]}while((c[k>>2]|0)!=(c[u>>2]|0));if((z|0)==23){z=0;g[i>>2]=0.0}g[(c[w>>2]|0)+(c[x>>2]<<2)>>2]=+g[i>>2];c[x>>2]=(c[x>>2]|0)+1}l=B;return}function Hh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+8|0;g=i+4|0;h=i;c[g>>2]=b;c[h>>2]=e;b=c[g>>2]|0;if((c[g>>2]|0)<252){a[c[h>>2]>>0]=b;c[f>>2]=1;h=c[f>>2]|0;l=i;return h|0}else{a[c[h>>2]>>0]=252+(b&3);a[(c[h>>2]|0)+1>>0]=(c[g>>2]|0)-(d[c[h>>2]>>0]|0)>>2;c[f>>2]=2;h=c[f>>2]|0;l=i;return h|0}return 0}function Ih(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;b=d[c[e>>2]>>0]|0;if((d[c[e>>2]>>0]|0)&128|0){c[g>>2]=b>>3&3;c[g>>2]=(c[f>>2]<<c[g>>2]|0)/400|0;g=c[g>>2]|0;l=h;return g|0}a=d[c[e>>2]>>0]|0;if((b&96|0)==96){c[g>>2]=(c[f>>2]|0)/((a&8|0?50:100)|0)|0;g=c[g>>2]|0;l=h;return g|0}c[g>>2]=a>>3&3;a=c[f>>2]|0;if((c[g>>2]|0)==3){c[g>>2]=(a*60|0)/1e3|0;g=c[g>>2]|0;l=h;return g|0}else{c[g>>2]=(a<<c[g>>2]|0)/100|0;g=c[g>>2]|0;l=h;return g|0}return 0}function Jh(e,f,g,h,i,j,k,m){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=l;l=l+80|0;G=J+72|0;H=J+68|0;n=J+64|0;o=J+60|0;p=J+56|0;q=J+52|0;r=J+48|0;s=J+44|0;t=J+40|0;u=J+36|0;v=J+32|0;w=J+28|0;x=J+24|0;y=J+77|0;z=J+76|0;A=J+20|0;B=J+16|0;C=J+12|0;D=J+8|0;E=J+4|0;F=J;c[H>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=i;c[r>>2]=j;c[s>>2]=k;c[t>>2]=m;c[C>>2]=0;c[D>>2]=c[H>>2];if(!(c[r>>2]|0)){c[G>>2]=-1;I=c[G>>2]|0;l=J;return I|0}c[A>>2]=Ih(c[H>>2]|0,48e3)|0;c[x>>2]=0;m=c[H>>2]|0;c[H>>2]=m+1;a[z>>0]=a[m>>0]|0;c[n>>2]=(c[n>>2]|0)+-1;c[B>>2]=c[n>>2];a:do switch(d[z>>0]&3|0){case 0:{c[w>>2]=1;break}case 1:{c[w>>2]=2;c[x>>2]=1;if(!(c[o>>2]|0)){if(!(c[n>>2]&1)){c[B>>2]=(c[n>>2]|0)/2|0;b[c[r>>2]>>1]=c[B>>2];break a}c[G>>2]=-4;I=c[G>>2]|0;l=J;return I|0}break}case 2:{c[w>>2]=2;c[v>>2]=Kh(c[H>>2]|0,c[n>>2]|0,c[r>>2]|0)|0;c[n>>2]=(c[n>>2]|0)-(c[v>>2]|0);if((b[c[r>>2]>>1]|0)>=0?(b[c[r>>2]>>1]|0)<=(c[n>>2]|0):0){c[H>>2]=(c[H>>2]|0)+(c[v>>2]|0);c[B>>2]=(c[n>>2]|0)-(b[c[r>>2]>>1]|0);break a}c[G>>2]=-4;I=c[G>>2]|0;l=J;return I|0}default:{if((c[n>>2]|0)<1){c[G>>2]=-4;I=c[G>>2]|0;l=J;return I|0}m=c[H>>2]|0;c[H>>2]=m+1;a[y>>0]=a[m>>0]|0;c[w>>2]=d[y>>0]&63;if((c[w>>2]|0)>0?(N(c[A>>2]|0,c[w>>2]|0)|0)<=5760:0){c[n>>2]=(c[n>>2]|0)+-1;b:do if(d[y>>0]&64|0){while(1){if((c[n>>2]|0)<=0)break;m=c[H>>2]|0;c[H>>2]=m+1;c[E>>2]=d[m>>0];c[n>>2]=(c[n>>2]|0)+-1;c[F>>2]=(c[E>>2]|0)==255?254:c[E>>2]|0;c[n>>2]=(c[n>>2]|0)-(c[F>>2]|0);c[C>>2]=(c[C>>2]|0)+(c[F>>2]|0);if((c[E>>2]|0)!=255)break b}c[G>>2]=-4;I=c[G>>2]|0;l=J;return I|0}while(0);if((c[n>>2]|0)<0){c[G>>2]=-4;I=c[G>>2]|0;l=J;return I|0}c[x>>2]=((d[y>>0]&128|0)!=0^1)&1;if(c[x>>2]|0){if(c[o>>2]|0)break a;c[B>>2]=(c[n>>2]|0)/(c[w>>2]|0)|0;I=N(c[B>>2]|0,c[w>>2]|0)|0;if((I|0)!=(c[n>>2]|0)){c[G>>2]=-4;I=c[G>>2]|0;l=J;return I|0}c[u>>2]=0;while(1){if((c[u>>2]|0)>=((c[w>>2]|0)-1|0))break a;b[(c[r>>2]|0)+(c[u>>2]<<1)>>1]=c[B>>2];c[u>>2]=(c[u>>2]|0)+1}}c[B>>2]=c[n>>2];c[u>>2]=0;while(1){if((c[u>>2]|0)>=((c[w>>2]|0)-1|0))break;c[v>>2]=Kh(c[H>>2]|0,c[n>>2]|0,(c[r>>2]|0)+(c[u>>2]<<1)|0)|0;c[n>>2]=(c[n>>2]|0)-(c[v>>2]|0);if((b[(c[r>>2]|0)+(c[u>>2]<<1)>>1]|0)<0){I=29;break}if((b[(c[r>>2]|0)+(c[u>>2]<<1)>>1]|0)>(c[n>>2]|0)){I=29;break}c[H>>2]=(c[H>>2]|0)+(c[v>>2]|0);c[B>>2]=(c[B>>2]|0)-((c[v>>2]|0)+(b[(c[r>>2]|0)+(c[u>>2]<<1)>>1]|0));c[u>>2]=(c[u>>2]|0)+1}if((I|0)==29){c[G>>2]=-4;I=c[G>>2]|0;l=J;return I|0}if((c[B>>2]|0)>=0)break a;c[G>>2]=-4;I=c[G>>2]|0;l=J;return I|0}c[G>>2]=-4;I=c[G>>2]|0;l=J;return I|0}}while(0);c:do if(c[o>>2]|0){c[v>>2]=Kh(c[H>>2]|0,c[n>>2]|0,(c[r>>2]|0)+(c[w>>2]<<1)+-2|0)|0;c[n>>2]=(c[n>>2]|0)-(c[v>>2]|0);if((b[(c[r>>2]|0)+((c[w>>2]|0)-1<<1)>>1]|0)>=0?(b[(c[r>>2]|0)+((c[w>>2]|0)-1<<1)>>1]|0)<=(c[n>>2]|0):0){c[H>>2]=(c[H>>2]|0)+(c[v>>2]|0);if(!(c[x>>2]|0)){if(((c[v>>2]|0)+(b[(c[r>>2]|0)+((c[w>>2]|0)-1<<1)>>1]|0)|0)<=(c[B>>2]|0))break;c[G>>2]=-4;I=c[G>>2]|0;l=J;return I|0}I=N(b[(c[r>>2]|0)+((c[w>>2]|0)-1<<1)>>1]|0,c[w>>2]|0)|0;if((I|0)>(c[n>>2]|0)){c[G>>2]=-4;I=c[G>>2]|0;l=J;return I|0}c[u>>2]=0;while(1){if((c[u>>2]|0)>=((c[w>>2]|0)-1|0))break c;b[(c[r>>2]|0)+(c[u>>2]<<1)>>1]=b[(c[r>>2]|0)+((c[w>>2]|0)-1<<1)>>1]|0;c[u>>2]=(c[u>>2]|0)+1}}c[G>>2]=-4;I=c[G>>2]|0;l=J;return I|0}else{if((c[B>>2]|0)<=1275){b[(c[r>>2]|0)+((c[w>>2]|0)-1<<1)>>1]=c[B>>2];break}c[G>>2]=-4;I=c[G>>2]|0;l=J;return I|0}while(0);if(c[s>>2]|0)c[c[s>>2]>>2]=(c[H>>2]|0)-(c[D>>2]|0);c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[w>>2]|0))break;if(c[q>>2]|0)c[(c[q>>2]|0)+(c[u>>2]<<2)>>2]=c[H>>2];c[H>>2]=(c[H>>2]|0)+(b[(c[r>>2]|0)+(c[u>>2]<<1)>>1]|0);c[u>>2]=(c[u>>2]|0)+1}if(c[t>>2]|0)c[c[t>>2]>>2]=(c[C>>2]|0)+((c[H>>2]|0)-(c[D>>2]|0));if(c[p>>2]|0)a[c[p>>2]>>0]=a[z>>0]|0;c[G>>2]=c[w>>2];I=c[G>>2]|0;l=J;return I|0}function Kh(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[h>>2]=a;c[i>>2]=e;c[j>>2]=f;if((c[i>>2]|0)<1){b[c[j>>2]>>1]=-1;c[g>>2]=-1;j=c[g>>2]|0;l=k;return j|0}if((d[c[h>>2]>>0]|0|0)<252){b[c[j>>2]>>1]=d[c[h>>2]>>0]|0;c[g>>2]=1;j=c[g>>2]|0;l=k;return j|0}if((c[i>>2]|0)<2){b[c[j>>2]>>1]=-1;c[g>>2]=-1;j=c[g>>2]|0;l=k;return j|0}else{b[c[j>>2]>>1]=((d[(c[h>>2]|0)+1>>0]|0)<<2)+(d[c[h>>2]>>0]|0);c[g>>2]=2;j=c[g>>2]|0;l=k;return j|0}return 0}function Lh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;b=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;if((c[d>>2]|0)<1|(c[d>>2]|0)>2){c[b>>2]=0;g=c[b>>2]|0;l=h;return g|0}c[g>>2]=yd(e)|0;if(c[g>>2]|0){c[b>>2]=0;g=c[b>>2]|0;l=h;return g|0}else{c[e>>2]=Mh(c[e>>2]|0)|0;c[f>>2]=ob(c[d>>2]|0)|0;g=Mh(88)|0;c[b>>2]=g+(c[e>>2]|0)+(c[f>>2]|0);g=c[b>>2]|0;l=h;return g|0}return 0}function Mh(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=4;a=N((((c[e>>2]|0)+(c[d>>2]|0)-1|0)>>>0)/((c[d>>2]|0)>>>0)|0,c[d>>2]|0)|0;l=b;return a|0}function Nh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;n=o;f=o+32|0;g=o+28|0;h=o+24|0;i=o+20|0;j=o+16|0;k=o+12|0;m=o+8|0;e=o+4|0;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;if(!((c[h>>2]|0)!=48e3&(c[h>>2]|0)!=24e3&(c[h>>2]|0)!=16e3&(c[h>>2]|0)!=12e3&(c[h>>2]|0)!=8e3)?!((c[i>>2]|0)!=1&(c[i>>2]|0)!=2):0){d=c[g>>2]|0;aj(d|0,0,Lh(c[i>>2]|0)|0)|0;c[m>>2]=yd(e)|0;if(c[m>>2]|0){c[f>>2]=-3;n=c[f>>2]|0;l=o;return n|0}c[e>>2]=Mh(c[e>>2]|0)|0;d=Mh(88)|0;c[(c[g>>2]|0)+4>>2]=d;c[c[g>>2]>>2]=(c[(c[g>>2]|0)+4>>2]|0)+(c[e>>2]|0);c[j>>2]=(c[g>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0);c[k>>2]=(c[g>>2]|0)+(c[c[g>>2]>>2]|0);d=c[i>>2]|0;c[(c[g>>2]|0)+8>>2]=d;c[(c[g>>2]|0)+48>>2]=d;c[(c[g>>2]|0)+12>>2]=c[h>>2];c[(c[g>>2]|0)+16+8>>2]=c[(c[g>>2]|0)+12>>2];c[(c[g>>2]|0)+16>>2]=c[(c[g>>2]|0)+8>>2];c[m>>2]=zd(c[j>>2]|0)|0;if(c[m>>2]|0){c[f>>2]=-3;n=c[f>>2]|0;l=o;return n|0}c[m>>2]=qb(c[k>>2]|0,c[h>>2]|0,c[i>>2]|0)|0;if(c[m>>2]|0){c[f>>2]=-3;n=c[f>>2]|0;l=o;return n|0}else{m=c[k>>2]|0;c[n>>2]=0;tb(m,10016,n)|0;c[(c[g>>2]|0)+60>>2]=0;c[(c[g>>2]|0)+64>>2]=(c[h>>2]|0)/400|0;n=Oh()|0;c[(c[g>>2]|0)+44>>2]=n;c[f>>2]=0;n=c[f>>2]|0;l=o;return n|0}}c[f>>2]=-1;n=c[f>>2]|0;l=o;return n|0}function Oh(){return 0}function Ph(a,d,e,f,h,i,j,k,m){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0;O=l;l=l+208|0;L=O+88|0;G=O+84|0;n=O+80|0;o=O+76|0;H=O+72|0;I=O+68|0;p=O+64|0;q=O+60|0;r=O+56|0;s=O+52|0;t=O+48|0;u=O+44|0;v=O+40|0;w=O+36|0;x=O+192|0;y=O+32|0;z=O+28|0;A=O+24|0;B=O+20|0;C=O+96|0;J=O+16|0;K=O+12|0;D=O+8|0;E=O+4|0;F=O;c[G>>2]=a;c[n>>2]=d;c[o>>2]=e;c[H>>2]=f;c[I>>2]=h;c[p>>2]=i;c[q>>2]=j;c[r>>2]=k;c[s>>2]=m;if((c[p>>2]|0)<0|(c[p>>2]|0)>1){c[L>>2]=-1;M=c[L>>2]|0;l=O;return M|0}if((c[p>>2]|0)!=0|(c[o>>2]|0)==0|(c[n>>2]|0)==0?(c[I>>2]|0)%((c[(c[G>>2]|0)+12>>2]|0)/400|0|0)|0|0:0){c[L>>2]=-1;M=c[L>>2]|0;l=O;return M|0}if((c[o>>2]|0)==0|(c[n>>2]|0)==0){c[J>>2]=0;while(1){a=(c[H>>2]|0)+((N(c[J>>2]|0,c[(c[G>>2]|0)+8>>2]|0)|0)<<2)|0;c[K>>2]=Qh(c[G>>2]|0,0,0,a,(c[I>>2]|0)-(c[J>>2]|0)|0,0)|0;a=c[K>>2]|0;if((c[K>>2]|0)<0){M=9;break}c[J>>2]=(c[J>>2]|0)+a;if((c[J>>2]|0)>=(c[I>>2]|0)){M=11;break}}if((M|0)==9){c[L>>2]=a;M=c[L>>2]|0;l=O;return M|0}else if((M|0)==11){Rh()|0;c[(c[G>>2]|0)+72>>2]=c[J>>2];c[L>>2]=c[J>>2];M=c[L>>2]|0;l=O;return M|0}}if((c[o>>2]|0)<0){c[L>>2]=-1;M=c[L>>2]|0;l=O;return M|0}c[A>>2]=Sh(c[n>>2]|0)|0;c[z>>2]=Th(c[n>>2]|0)|0;c[y>>2]=Ih(c[n>>2]|0,c[(c[G>>2]|0)+12>>2]|0)|0;c[B>>2]=Uh(c[n>>2]|0)|0;c[v>>2]=Jh(c[n>>2]|0,c[o>>2]|0,c[q>>2]|0,x,0,C,w,c[r>>2]|0)|0;if((c[v>>2]|0)<0){c[L>>2]=c[v>>2];M=c[L>>2]|0;l=O;return M|0}c[n>>2]=(c[n>>2]|0)+(c[w>>2]|0);if(c[p>>2]|0){if(!((c[A>>2]|0)==1002?1:(c[I>>2]|0)<(c[y>>2]|0))?(c[(c[G>>2]|0)+56>>2]|0)!=1002:0){c[D>>2]=c[(c[G>>2]|0)+72>>2];if((c[I>>2]|0)-(c[y>>2]|0)|0?(c[E>>2]=Ph(c[G>>2]|0,0,0,c[H>>2]|0,(c[I>>2]|0)-(c[y>>2]|0)|0,0,0,0,c[s>>2]|0)|0,(c[E>>2]|0)<0):0){c[(c[G>>2]|0)+72>>2]=c[D>>2];c[L>>2]=c[E>>2];M=c[L>>2]|0;l=O;return M|0}c[(c[G>>2]|0)+56>>2]=c[A>>2];c[(c[G>>2]|0)+52>>2]=c[z>>2];c[(c[G>>2]|0)+64>>2]=c[y>>2];c[(c[G>>2]|0)+48>>2]=c[B>>2];M=(c[H>>2]|0)+((N(c[(c[G>>2]|0)+8>>2]|0,(c[I>>2]|0)-(c[y>>2]|0)|0)|0)<<2)|0;c[E>>2]=Qh(c[G>>2]|0,c[n>>2]|0,b[C>>1]|0,M,c[y>>2]|0,1)|0;if((c[E>>2]|0)<0){c[L>>2]=c[E>>2];M=c[L>>2]|0;l=O;return M|0}else{Rh()|0;c[(c[G>>2]|0)+72>>2]=c[I>>2];c[L>>2]=c[I>>2];M=c[L>>2]|0;l=O;return M|0}}c[L>>2]=Ph(c[G>>2]|0,0,0,c[H>>2]|0,c[I>>2]|0,0,0,0,c[s>>2]|0)|0;M=c[L>>2]|0;l=O;return M|0}K=N(c[v>>2]|0,c[y>>2]|0)|0;if((K|0)>(c[I>>2]|0)){c[L>>2]=-2;M=c[L>>2]|0;l=O;return M|0}c[(c[G>>2]|0)+56>>2]=c[A>>2];c[(c[G>>2]|0)+52>>2]=c[z>>2];c[(c[G>>2]|0)+64>>2]=c[y>>2];c[(c[G>>2]|0)+48>>2]=c[B>>2];c[u>>2]=0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[v>>2]|0))break;K=(c[H>>2]|0)+((N(c[u>>2]|0,c[(c[G>>2]|0)+8>>2]|0)|0)<<2)|0;c[F>>2]=Qh(c[G>>2]|0,c[n>>2]|0,b[C+(c[t>>2]<<1)>>1]|0,K,(c[I>>2]|0)-(c[u>>2]|0)|0,0)|0;if((c[F>>2]|0)<0){M=31;break}c[n>>2]=(c[n>>2]|0)+(b[C+(c[t>>2]<<1)>>1]|0);c[u>>2]=(c[u>>2]|0)+(c[F>>2]|0);c[t>>2]=(c[t>>2]|0)+1}if((M|0)==31){c[L>>2]=c[F>>2];M=c[L>>2]|0;l=O;return M|0}c[(c[G>>2]|0)+72>>2]=c[u>>2];Rh()|0;if(c[s>>2]|0)Gh(c[H>>2]|0,c[u>>2]|0,c[(c[G>>2]|0)+8>>2]|0,(c[G>>2]|0)+76|0);else{g[(c[G>>2]|0)+76+4>>2]=0.0;g[(c[G>>2]|0)+76>>2]=0.0}c[L>>2]=c[u>>2];M=c[L>>2]|0;l=O;return M|0}function Qh(d,e,f,h,i,j){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0;ta=l;l=l+320|0;X=ta+80|0;W=ta+72|0;V=ta+64|0;U=ta+56|0;T=ta+48|0;S=ta+40|0;R=ta+32|0;Q=ta+24|0;P=ta+16|0;y=ta+8|0;x=ta;ra=ta+308|0;sa=ta+304|0;O=ta+300|0;ha=ta+296|0;ia=ta+292|0;ja=ta+288|0;A=ta+284|0;p=ta+280|0;B=ta+276|0;Y=ta+272|0;q=ta+268|0;na=ta+264|0;Z=ta+216|0;r=ta+212|0;o=ta+208|0;z=ta+204|0;m=ta+200|0;aa=ta+196|0;C=ta+192|0;qa=ta+188|0;ka=ta+184|0;D=ta+180|0;E=ta+176|0;la=ta+172|0;F=ta+168|0;ma=ta+164|0;G=ta+160|0;ba=ta+156|0;H=ta+152|0;n=ta+148|0;ca=ta+144|0;da=ta+140|0;ea=ta+136|0;I=ta+132|0;k=ta+128|0;oa=ta+124|0;pa=ta+120|0;s=ta+116|0;t=ta+112|0;u=ta+108|0;v=ta+104|0;w=ta+100|0;J=ta+96|0;L=ta+312|0;M=ta+92|0;fa=ta+88|0;ga=ta+84|0;c[sa>>2]=d;c[O>>2]=e;c[ha>>2]=f;c[ia>>2]=h;c[ja>>2]=i;c[A>>2]=j;c[q>>2]=0;c[na>>2]=0;c[aa>>2]=0;c[D>>2]=0;c[la>>2]=0;c[F>>2]=0;c[ma>>2]=0;c[ea>>2]=0;c[p>>2]=(c[sa>>2]|0)+(c[(c[sa>>2]|0)+4>>2]|0);c[B>>2]=(c[sa>>2]|0)+(c[c[sa>>2]>>2]|0);c[ca>>2]=(c[(c[sa>>2]|0)+12>>2]|0)/50|0;c[n>>2]=c[ca>>2]>>1;c[H>>2]=c[n>>2]>>1;c[ba>>2]=c[H>>2]>>1;if((c[ja>>2]|0)<(c[ba>>2]|0)){c[ra>>2]=-2;sa=c[ra>>2]|0;l=ta;return sa|0}if((c[ja>>2]|0)<(((c[(c[sa>>2]|0)+12>>2]|0)/25|0)*3|0))d=c[ja>>2]|0;else d=((c[(c[sa>>2]|0)+12>>2]|0)/25|0)*3|0;c[ja>>2]=d;if((c[ha>>2]|0)<=1){c[O>>2]=0;if((c[ja>>2]|0)<(c[(c[sa>>2]|0)+64>>2]|0))d=c[ja>>2]|0;else d=c[(c[sa>>2]|0)+64>>2]|0;c[ja>>2]=d}do if(!(c[O>>2]|0)){c[qa>>2]=c[ja>>2];c[ka>>2]=c[(c[sa>>2]|0)+60>>2];if(!(c[ka>>2]|0)){c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(N(c[qa>>2]|0,c[(c[sa>>2]|0)+8>>2]|0)|0))break;g[(c[ia>>2]|0)+(c[Y>>2]<<2)>>2]=0.0;c[Y>>2]=(c[Y>>2]|0)+1}c[ra>>2]=c[qa>>2];sa=c[ra>>2]|0;l=ta;return sa|0}if((c[qa>>2]|0)>(c[ca>>2]|0)){while(1){c[k>>2]=Qh(c[sa>>2]|0,0,0,c[ia>>2]|0,(c[qa>>2]|0)<(c[ca>>2]|0)?c[qa>>2]|0:c[ca>>2]|0,0)|0;d=c[k>>2]|0;if((c[k>>2]|0)<0){e=20;break}pa=N(d,c[(c[sa>>2]|0)+8>>2]|0)|0;c[ia>>2]=(c[ia>>2]|0)+(pa<<2);c[qa>>2]=(c[qa>>2]|0)-(c[k>>2]|0);if((c[qa>>2]|0)<=0){e=22;break}}if((e|0)==20){c[ra>>2]=d;sa=c[ra>>2]|0;l=ta;return sa|0}else if((e|0)==22){c[ra>>2]=c[ja>>2];sa=c[ra>>2]|0;l=ta;return sa|0}}if((c[qa>>2]|0)<(c[ca>>2]|0)){if((c[qa>>2]|0)>(c[n>>2]|0)){c[qa>>2]=c[n>>2];break}if(((c[ka>>2]|0)!=1e3?(c[qa>>2]|0)>(c[H>>2]|0):0)?(c[qa>>2]|0)<(c[n>>2]|0):0)c[qa>>2]=c[H>>2]}}else{c[qa>>2]=c[(c[sa>>2]|0)+64>>2];c[ka>>2]=c[(c[sa>>2]|0)+56>>2];Hb(Z,c[O>>2]|0,c[ha>>2]|0)}while(0);c[I>>2]=0;c[z>>2]=1;c[m>>2]=1;do if(c[O>>2]|0?(c[(c[sa>>2]|0)+60>>2]|0)>0:0){if(!(((c[ka>>2]|0)==1002?(c[(c[sa>>2]|0)+60>>2]|0)!=1002:0)?!(c[(c[sa>>2]|0)+68>>2]|0):0)){if((c[ka>>2]|0)==1002)break;if((c[(c[sa>>2]|0)+60>>2]|0)!=1002)break}c[D>>2]=1;d=N(c[H>>2]|0,c[(c[sa>>2]|0)+8>>2]|0)|0;if((c[ka>>2]|0)==1002){c[m>>2]=d;break}else{c[z>>2]=d;break}}while(0);m=c[m>>2]|0;c[oa>>2]=$()|0;d=l;l=l+((1*(m<<2)|0)+15&-16)|0;if((c[D>>2]|0)!=0&(c[ka>>2]|0)==1002){c[aa>>2]=d;Qh(c[sa>>2]|0,0,0,c[aa>>2]|0,(c[H>>2]|0)<(c[qa>>2]|0)?c[H>>2]|0:c[qa>>2]|0,0)|0}a:do if((c[qa>>2]|0)>(c[ja>>2]|0)){c[ra>>2]=-1;c[pa>>2]=1}else{c[ja>>2]=c[qa>>2];if((c[ka>>2]|0)==1002|(c[I>>2]|0)!=0)d=1;else d=N((c[n>>2]|0)>(c[ja>>2]|0)?c[n>>2]|0:c[ja>>2]|0,c[(c[sa>>2]|0)+8>>2]|0)|0;c[o>>2]=d;h=l;l=l+((1*(c[o>>2]<<1)|0)+15&-16)|0;b:do if((c[ka>>2]|0)!=1002){c[u>>2]=h;if((c[(c[sa>>2]|0)+60>>2]|0)==1002)zd(c[p>>2]|0)|0;if(10>(((c[qa>>2]|0)*1e3|0)/(c[(c[sa>>2]|0)+12>>2]|0)|0|0))d=10;else d=((c[qa>>2]|0)*1e3|0)/(c[(c[sa>>2]|0)+12>>2]|0)|0;c[(c[sa>>2]|0)+16+16>>2]=d;if(c[O>>2]|0){c[(c[sa>>2]|0)+16+4>>2]=c[(c[sa>>2]|0)+48>>2];d=c[sa>>2]|0;if((c[ka>>2]|0)==1e3){e=c[sa>>2]|0;if((c[d+52>>2]|0)==1101){f=8e3;d=e}else{d=(c[e+52>>2]|0)==1102;f=d?12e3:16e3;d=d?c[sa>>2]|0:c[sa>>2]|0}}else f=16e3;c[d+16+12>>2]=f}c[s>>2]=(c[O>>2]|0)==0?1:c[A>>2]<<1;c[t>>2]=0;c:while(1){c[v>>2]=(c[t>>2]|0)==0&1;c[q>>2]=Ad(c[p>>2]|0,(c[sa>>2]|0)+16|0,c[s>>2]|0,c[v>>2]|0,Z,c[u>>2]|0,r,c[(c[sa>>2]|0)+44>>2]|0)|0;d:do if(c[q>>2]|0){if(!(c[s>>2]|0))break c;c[r>>2]=c[ja>>2];c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(N(c[ja>>2]|0,c[(c[sa>>2]|0)+8>>2]|0)|0))break d;b[(c[u>>2]|0)+(c[Y>>2]<<1)>>1]=0;c[Y>>2]=(c[Y>>2]|0)+1}}while(0);o=N(c[r>>2]|0,c[(c[sa>>2]|0)+8>>2]|0)|0;c[u>>2]=(c[u>>2]|0)+(o<<1);c[t>>2]=(c[t>>2]|0)+(c[r>>2]|0);if((c[t>>2]|0)>=(c[ja>>2]|0))break b}c[ra>>2]=-3;c[pa>>2]=1;break a}while(0);c[E>>2]=0;if((c[A>>2]|0)==0&(c[ka>>2]|0)!=1002&(c[O>>2]|0)!=0?(v=(Vh(Z)|0)+17|0,(v+(((c[(c[sa>>2]|0)+56>>2]|0)==1001&1)*20|0)|0)<=(c[ha>>2]<<3|0)):0){if((c[ka>>2]|0)==1001)c[la>>2]=Ob(Z,12)|0;else c[la>>2]=1;if(c[la>>2]|0){c[ma>>2]=Ob(Z,1)|0;if((c[ka>>2]|0)==1001)d=(Qb(Z,256)|0)+2|0;else{d=c[ha>>2]|0;d=d-((Vh(Z)|0)+7>>3)|0}c[F>>2]=d;c[ha>>2]=(c[ha>>2]|0)-(c[F>>2]|0);v=c[ha>>2]<<3;if((v|0)<(Vh(Z)|0)){c[ha>>2]=0;c[F>>2]=0;c[la>>2]=0}v=Z+4|0;c[v>>2]=(c[v>>2]|0)-(c[F>>2]|0)}}if((c[ka>>2]|0)!=1002)c[E>>2]=17;c[w>>2]=21;switch(c[(c[sa>>2]|0)+52>>2]|0){case 1101:{c[w>>2]=13;break}case 1103:case 1102:{c[w>>2]=17;break}case 1104:{c[w>>2]=19;break}case 1105:{c[w>>2]=21;break}default:{}}v=c[B>>2]|0;c[x>>2]=c[w>>2];tb(v,10012,x)|0;x=c[B>>2]|0;c[y>>2]=c[(c[sa>>2]|0)+48>>2];tb(x,10008,y)|0;if(c[la>>2]|0){c[D>>2]=0;c[z>>2]=1}d=l;l=l+((1*(c[z>>2]<<2)|0)+15&-16)|0;if((c[D>>2]|0)!=0&(c[ka>>2]|0)!=1002){c[aa>>2]=d;Qh(c[sa>>2]|0,0,0,c[aa>>2]|0,(c[H>>2]|0)<(c[qa>>2]|0)?c[H>>2]|0:c[qa>>2]|0,0)|0}if(c[la>>2]|0)d=N(c[H>>2]|0,c[(c[sa>>2]|0)+8>>2]|0)|0;else d=1;c[C>>2]=d;d=l;l=l+((1*(c[C>>2]<<2)|0)+15&-16)|0;if((c[la>>2]|0)!=0&(c[ma>>2]|0)!=0){C=c[B>>2]|0;c[P>>2]=0;tb(C,10010,P)|0;ub(c[B>>2]|0,(c[O>>2]|0)+(c[ha>>2]|0)|0,c[F>>2]|0,d,c[H>>2]|0,0,0)|0;P=c[B>>2]|0;c[Q>>2]=ea+(((ea-ea|0)/4|0)<<2);tb(P,4031,Q)|0}Q=c[B>>2]|0;c[R>>2]=c[E>>2];tb(Q,10010,R)|0;do if((c[ka>>2]|0)==1e3){a[L>>0]=a[30519]|0;a[L+1>>0]=a[30520]|0;e:do if(!(c[I>>2]|0)){c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(N(c[ja>>2]|0,c[(c[sa>>2]|0)+8>>2]|0)|0))break e;g[(c[ia>>2]|0)+(c[Y>>2]<<2)>>2]=0.0;c[Y>>2]=(c[Y>>2]|0)+1}}while(0);if((c[(c[sa>>2]|0)+60>>2]|0)==1001){if((c[la>>2]|0)!=0&(c[ma>>2]|0)!=0?c[(c[sa>>2]|0)+68>>2]|0:0)break;ca=c[B>>2]|0;c[T>>2]=0;tb(ca,10010,T)|0;ub(c[B>>2]|0,L,2,c[ia>>2]|0,c[ba>>2]|0,0,c[I>>2]|0)|0}}else{c[J>>2]=(c[ca>>2]|0)<(c[ja>>2]|0)?c[ca>>2]|0:c[ja>>2]|0;do if((c[ka>>2]|0)!=(c[(c[sa>>2]|0)+60>>2]|0)){if((c[(c[sa>>2]|0)+60>>2]|0)<=0)break;if(c[(c[sa>>2]|0)+68>>2]|0)break;tb(c[B>>2]|0,4028,S)|0}while(0);c[na>>2]=ub(c[B>>2]|0,c[A>>2]|0?0:c[O>>2]|0,c[ha>>2]|0,c[ia>>2]|0,c[J>>2]|0,Z,c[I>>2]|0)|0}while(0);f:do if(!((c[ka>>2]|0)==1002|(c[I>>2]|0)!=0)){c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(N(c[ja>>2]|0,c[(c[sa>>2]|0)+8>>2]|0)|0))break f;g[(c[ia>>2]|0)+(c[Y>>2]<<2)>>2]=+g[(c[ia>>2]|0)+(c[Y>>2]<<2)>>2]+ +(b[h+(c[Y>>2]<<1)>>1]|0)*.000030517578125;c[Y>>2]=(c[Y>>2]|0)+1}}while(0);ca=c[B>>2]|0;c[U>>2]=M+(((M-M|0)/4|0)<<2);tb(ca,10015,U)|0;c[da>>2]=c[(c[M>>2]|0)+60>>2];if(!((c[la>>2]|0)==0|(c[ma>>2]|0)!=0)){tb(c[B>>2]|0,4028,V)|0;ca=c[B>>2]|0;c[W>>2]=0;tb(ca,10010,W)|0;ub(c[B>>2]|0,(c[O>>2]|0)+(c[ha>>2]|0)|0,c[F>>2]|0,d,c[H>>2]|0,0,0)|0;W=c[B>>2]|0;c[X>>2]=ea+(((ea-ea|0)/4|0)<<2);tb(W,4031,X)|0;W=(c[ia>>2]|0)+((N(c[(c[sa>>2]|0)+8>>2]|0,(c[ja>>2]|0)-(c[ba>>2]|0)|0)|0)<<2)|0;X=d+((N(c[(c[sa>>2]|0)+8>>2]|0,c[ba>>2]|0)|0)<<2)|0;ca=(c[ia>>2]|0)+((N(c[(c[sa>>2]|0)+8>>2]|0,(c[ja>>2]|0)-(c[ba>>2]|0)|0)|0)<<2)|0;Wh(W,X,ca,c[ba>>2]|0,c[(c[sa>>2]|0)+8>>2]|0,c[da>>2]|0,c[(c[sa>>2]|0)+12>>2]|0)}if((c[la>>2]|0)!=0&(c[ma>>2]|0)!=0){c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[(c[sa>>2]|0)+8>>2]|0))break;c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(c[ba>>2]|0))break;X=N(c[(c[sa>>2]|0)+8>>2]|0,c[Y>>2]|0)|0;ca=N(c[(c[sa>>2]|0)+8>>2]|0,c[Y>>2]|0)|0;g[(c[ia>>2]|0)+(ca+(c[G>>2]|0)<<2)>>2]=+g[d+(X+(c[G>>2]|0)<<2)>>2];c[Y>>2]=(c[Y>>2]|0)+1}c[G>>2]=(c[G>>2]|0)+1}W=d+((N(c[(c[sa>>2]|0)+8>>2]|0,c[ba>>2]|0)|0)<<2)|0;X=(c[ia>>2]|0)+((N(c[(c[sa>>2]|0)+8>>2]|0,c[ba>>2]|0)|0)<<2)|0;ca=(c[ia>>2]|0)+((N(c[(c[sa>>2]|0)+8>>2]|0,c[ba>>2]|0)|0)<<2)|0;Wh(W,X,ca,c[ba>>2]|0,c[(c[sa>>2]|0)+8>>2]|0,c[da>>2]|0,c[(c[sa>>2]|0)+12>>2]|0)}do if(c[D>>2]|0){if((c[qa>>2]|0)<(c[H>>2]|0)){Wh(c[aa>>2]|0,c[ia>>2]|0,c[ia>>2]|0,c[ba>>2]|0,c[(c[sa>>2]|0)+8>>2]|0,c[da>>2]|0,c[(c[sa>>2]|0)+12>>2]|0);break}c[Y>>2]=0;while(1){ca=(c[Y>>2]|0)<(N(c[(c[sa>>2]|0)+8>>2]|0,c[ba>>2]|0)|0);d=c[aa>>2]|0;if(!ca)break;g[(c[ia>>2]|0)+(c[Y>>2]<<2)>>2]=+g[d+(c[Y>>2]<<2)>>2];c[Y>>2]=(c[Y>>2]|0)+1}X=d+((N(c[(c[sa>>2]|0)+8>>2]|0,c[ba>>2]|0)|0)<<2)|0;aa=(c[ia>>2]|0)+((N(c[(c[sa>>2]|0)+8>>2]|0,c[ba>>2]|0)|0)<<2)|0;ca=(c[ia>>2]|0)+((N(c[(c[sa>>2]|0)+8>>2]|0,c[ba>>2]|0)|0)<<2)|0;Wh(X,aa,ca,c[ba>>2]|0,c[(c[sa>>2]|0)+8>>2]|0,c[da>>2]|0,c[(c[sa>>2]|0)+12>>2]|0)}while(0);g:do if(c[(c[sa>>2]|0)+40>>2]|0){g[fa>>2]=+K(+(+(c[(c[sa>>2]|0)+40>>2]|0)*6.488140788860619e-04*.6931471805599453));c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(N(c[ja>>2]|0,c[(c[sa>>2]|0)+8>>2]|0)|0))break g;g[ga>>2]=+g[(c[ia>>2]|0)+(c[Y>>2]<<2)>>2]*+g[fa>>2];g[(c[ia>>2]|0)+(c[Y>>2]<<2)>>2]=+g[ga>>2];c[Y>>2]=(c[Y>>2]|0)+1}}while(0);if((c[ha>>2]|0)<=1){d=0;e=c[sa>>2]|0}else{d=c[Z+28>>2]^c[ea>>2];e=c[sa>>2]|0}c[e+84>>2]=d;c[(c[sa>>2]|0)+60>>2]=c[ka>>2];if(c[la>>2]|0)d=(c[ma>>2]|0)!=0^1;else d=0;c[(c[sa>>2]|0)+68>>2]=d&1;if((c[na>>2]|0)>=0)Rh()|0;c[ra>>2]=(c[na>>2]|0)<0?c[na>>2]|0:c[qa>>2]|0;c[pa>>2]=1}while(0);_(c[oa>>2]|0);sa=c[ra>>2]|0;l=ta;return sa|0}function Rh(){return 0}function Sh(a){a=a|0;var b=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;e=f;c[b>>2]=a;do if(!((d[c[b>>2]>>0]|0)&128|0))if(((d[c[b>>2]>>0]|0)&96|0)==96){c[e>>2]=1001;break}else{c[e>>2]=1e3;break}else c[e>>2]=1002;while(0);l=f;return c[e>>2]|0}function Th(a){a=a|0;var b=0,e=0,f=0,g=0;g=l;l=l+16|0;b=g+4|0;f=g;c[b>>2]=a;e=d[c[b>>2]>>0]|0;if((d[c[b>>2]>>0]|0)&128|0){e=1102+(e>>5&3)|0;c[f>>2]=e;c[f>>2]=(c[f>>2]|0)==1102?1101:e;f=c[f>>2]|0;l=g;return f|0}a=d[c[b>>2]>>0]|0;if((e&96|0)==96){c[f>>2]=a&16|0?1105:1104;f=c[f>>2]|0;l=g;return f|0}else{c[f>>2]=1101+(a>>5&3);f=c[f>>2]|0;l=g;return f|0}return 0}function Uh(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;l=e;return ((d[c[b>>2]>>0]|0)&4|0?2:1)|0}function Vh(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=(c[(c[d>>2]|0)+20>>2]|0)-(32-(Q(c[(c[d>>2]|0)+28>>2]|0)|0))|0;l=b;return a|0}function Wh(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0;u=l;l=l+48|0;r=u+40|0;s=u+36|0;t=u+32|0;j=u+28|0;k=u+24|0;m=u+20|0;v=u+16|0;n=u+12|0;o=u+8|0;p=u+4|0;q=u;c[r>>2]=a;c[s>>2]=b;c[t>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=h;c[v>>2]=i;c[p>>2]=48e3/(c[v>>2]|0)|0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[k>>2]|0))break;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[j>>2]|0))break;w=+g[(c[m>>2]|0)+((N(c[n>>2]|0,c[p>>2]|0)|0)<<2)>>2];g[q>>2]=w*+g[(c[m>>2]|0)+((N(c[n>>2]|0,c[p>>2]|0)|0)<<2)>>2];h=N(c[n>>2]|0,c[k>>2]|0)|0;i=N(c[n>>2]|0,c[k>>2]|0)|0;v=N(c[n>>2]|0,c[k>>2]|0)|0;g[(c[t>>2]|0)+(v+(c[o>>2]|0)<<2)>>2]=+g[q>>2]*+g[(c[s>>2]|0)+(h+(c[o>>2]|0)<<2)>>2]+(1.0-+g[q>>2])*+g[(c[r>>2]|0)+(i+(c[o>>2]|0)<<2)>>2];c[n>>2]=(c[n>>2]|0)+1}c[o>>2]=(c[o>>2]|0)+1}l=u;return}function Xh(a,d,e,f,h,i){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+48|0;r=v+40|0;s=v+36|0;t=v+32|0;u=v+28|0;k=v+24|0;m=v+20|0;n=v+16|0;o=v+12|0;p=v+8|0;j=v+4|0;q=v;c[s>>2]=a;c[t>>2]=d;c[u>>2]=e;c[k>>2]=f;c[m>>2]=h;c[n>>2]=i;if((c[m>>2]|0)<=0){c[r>>2]=-1;u=c[r>>2]|0;l=v;return u|0}do if(!((c[t>>2]|0)!=0&(c[u>>2]|0)>0^1|(c[n>>2]|0)!=0)){c[j>>2]=Yh(c[s>>2]|0,c[t>>2]|0,c[u>>2]|0)|0;if((c[j>>2]|0)>0){c[m>>2]=(c[m>>2]|0)<(c[j>>2]|0)?c[m>>2]|0:c[j>>2]|0;break}c[r>>2]=-4;u=c[r>>2]|0;l=v;return u|0}while(0);i=N(c[m>>2]|0,c[(c[s>>2]|0)+8>>2]|0)|0;c[q>>2]=$()|0;a=l;l=l+((1*(i<<2)|0)+15&-16)|0;c[o>>2]=Ph(c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,a,c[m>>2]|0,c[n>>2]|0,0,0,1)|0;a:do if((c[o>>2]|0)>0){c[p>>2]=0;while(1){if((c[p>>2]|0)>=(N(c[o>>2]|0,c[(c[s>>2]|0)+8>>2]|0)|0))break a;u=Zh(+g[a+(c[p>>2]<<2)>>2])|0;b[(c[k>>2]|0)+(c[p>>2]<<1)>>1]=u;c[p>>2]=(c[p>>2]|0)+1}}while(0);c[r>>2]=c[o>>2];_(c[q>>2]|0);u=c[r>>2]|0;l=v;return u|0}function Yh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;d=_h(c[h>>2]|0,c[g>>2]|0,c[(c[f>>2]|0)+12>>2]|0)|0;l=e;return d|0}function Zh(a){a=+a;var b=0,c=0;c=l;l=l+16|0;b=c;g[b>>2]=a;g[b>>2]=+g[b>>2]*32768.0;g[b>>2]=+g[b>>2]>-32768.0?+g[b>>2]:-32768.0;g[b>>2]=+g[b>>2]<32767.0?+g[b>>2]:32767.0;b=(Ui(+g[b>>2])|0)&65535;l=c;return b|0}function _h(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+32|0;e=i+20|0;f=i+16|0;k=i+12|0;g=i+8|0;h=i+4|0;j=i;c[f>>2]=a;c[k>>2]=b;c[g>>2]=d;c[j>>2]=$h(c[f>>2]|0,c[k>>2]|0)|0;a=c[j>>2]|0;if((c[j>>2]|0)<0){c[e>>2]=a;k=c[e>>2]|0;l=i;return k|0}c[h>>2]=N(a,Ih(c[f>>2]|0,c[g>>2]|0)|0)|0;if(((c[h>>2]|0)*25|0)>((c[g>>2]|0)*3|0)){c[e>>2]=-4;k=c[e>>2]|0;l=i;return k|0}else{c[e>>2]=c[h>>2];k=c[e>>2]|0;l=i;return k|0}return 0}function $h(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[f>>2]=a;c[g>>2]=b;do if((c[g>>2]|0)>=1){c[h>>2]=(d[c[f>>2]>>0]|0)&3;if(!(c[h>>2]|0)){c[e>>2]=1;break}if((c[h>>2]|0)!=3){c[e>>2]=2;break}if((c[g>>2]|0)<2){c[e>>2]=-4;break}else{c[e>>2]=(d[(c[f>>2]|0)+1>>0]|0)&63;break}}else c[e>>2]=-1;while(0);l=i;return c[e>>2]|0}function ai(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;k=p+24|0;m=p+20|0;n=p+16|0;o=p+12|0;h=p+8|0;i=p+4|0;j=p;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[h>>2]=e;c[i>>2]=f;c[j>>2]=g;if((c[i>>2]|0)<=0){c[k>>2]=-1;o=c[k>>2]|0;l=p;return o|0}else{c[k>>2]=Ph(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[h>>2]|0,c[i>>2]|0,c[j>>2]|0,0,0,0)|0;o=c[k>>2]|0;l=p;return o|0}return 0}function bi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=l;l=l+112|0;x=A+8|0;y=A+108|0;s=A+104|0;B=A+100|0;z=A+96|0;t=A+80|0;u=A+72|0;v=A+68|0;w=A+64|0;e=A+60|0;f=A+56|0;g=A+52|0;h=A+48|0;i=A+44|0;j=A+40|0;k=A+36|0;m=A+32|0;n=A+28|0;o=A+24|0;p=A+20|0;q=A+16|0;r=A+12|0;c[s>>2]=a;c[B>>2]=b;c[z>>2]=0;c[u>>2]=(c[s>>2]|0)+(c[(c[s>>2]|0)+4>>2]|0);c[v>>2]=(c[s>>2]|0)+(c[c[s>>2]>>2]|0);c[t>>2]=d;a:do switch(c[B>>2]|0){case 4009:{d=(c[t>>2]|0)+(4-1)&~(4-1);B=c[d>>2]|0;c[t>>2]=d+4;c[e>>2]=B;c[w>>2]=c[e>>2];if(c[w>>2]|0){c[c[w>>2]>>2]=c[(c[s>>2]|0)+52>>2];a=20}else a=21;break}case 4031:{d=(c[t>>2]|0)+(4-1)&~(4-1);B=c[d>>2]|0;c[t>>2]=d+4;c[g>>2]=B;c[f>>2]=c[g>>2];if(c[f>>2]|0){c[c[f>>2]>>2]=c[(c[s>>2]|0)+84>>2];a=20}else a=21;break}case 4028:{aj((c[s>>2]|0)+48|0,0,88-((c[s>>2]|0)+48-(c[s>>2]|0))|0)|0;tb(c[v>>2]|0,4028,A)|0;zd(c[u>>2]|0)|0;c[(c[s>>2]|0)+48>>2]=c[(c[s>>2]|0)+8>>2];c[(c[s>>2]|0)+64>>2]=(c[(c[s>>2]|0)+12>>2]|0)/400|0;a=20;break}case 4029:{d=(c[t>>2]|0)+(4-1)&~(4-1);B=c[d>>2]|0;c[t>>2]=d+4;c[i>>2]=B;c[h>>2]=c[i>>2];if(c[h>>2]|0){c[c[h>>2]>>2]=c[(c[s>>2]|0)+12>>2];a=20}else a=21;break}case 4033:{d=(c[t>>2]|0)+(4-1)&~(4-1);B=c[d>>2]|0;c[t>>2]=d+4;c[k>>2]=B;c[j>>2]=c[k>>2];if(c[j>>2]|0)if((c[(c[s>>2]|0)+60>>2]|0)==1002){a=c[v>>2]|0;c[x>>2]=(c[j>>2]|0)+((((c[j>>2]|0)-(c[j>>2]|0)|0)/4|0)<<2);tb(a,4033,x)|0;a=20;break a}else{c[c[j>>2]>>2]=c[(c[s>>2]|0)+16+20>>2];a=20;break a}else a=21;break}case 4045:{d=(c[t>>2]|0)+(4-1)&~(4-1);B=c[d>>2]|0;c[t>>2]=d+4;c[n>>2]=B;c[m>>2]=c[n>>2];if(c[m>>2]|0){c[c[m>>2]>>2]=c[(c[s>>2]|0)+40>>2];a=20}else a=21;break}case 4034:{d=(c[t>>2]|0)+(4-1)&~(4-1);B=c[d>>2]|0;c[t>>2]=d+4;c[p>>2]=B;c[o>>2]=c[p>>2];if((c[o>>2]|0)<-32768|(c[o>>2]|0)>32767)a=21;else{c[(c[s>>2]|0)+40>>2]=c[o>>2];a=20}break}case 4039:{d=(c[t>>2]|0)+(4-1)&~(4-1);B=c[d>>2]|0;c[t>>2]=d+4;c[r>>2]=B;c[q>>2]=c[r>>2];if(c[q>>2]|0){c[c[q>>2]>>2]=c[(c[s>>2]|0)+72>>2];a=20}else a=21;break}default:{c[z>>2]=-5;a=20}}while(0);if((a|0)==20){c[y>>2]=c[z>>2];B=c[y>>2]|0;l=A;return B|0}else if((a|0)==21){c[y>>2]=-1;B=c[y>>2]|0;l=A;return B|0}return 0}function ci(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;b=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;if((c[d>>2]|0)<1|(c[d>>2]|0)>2){c[b>>2]=0;g=c[b>>2]|0;l=h;return g|0}c[g>>2]=Bd(e)|0;if(c[g>>2]|0){c[b>>2]=0;g=c[b>>2]|0;l=h;return g|0}else{c[e>>2]=di(c[e>>2]|0)|0;c[f>>2]=Sa(c[d>>2]|0)|0;g=di(18220)|0;c[b>>2]=g+(c[e>>2]|0)+(c[f>>2]|0);g=c[b>>2]|0;l=h;return g|0}return 0}function di(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=4;a=N((((c[e>>2]|0)+(c[d>>2]|0)-1|0)>>>0)/((c[d>>2]|0)>>>0)|0,c[d>>2]|0)|0;l=b;return a|0}function ei(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;t=u+8|0;s=u;m=u+48|0;n=u+44|0;o=u+40|0;p=u+36|0;q=u+32|0;r=u+28|0;h=u+24|0;i=u+20|0;j=u+16|0;k=u+12|0;c[n>>2]=a;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;if((!((c[o>>2]|0)!=48e3&(c[o>>2]|0)!=24e3&(c[o>>2]|0)!=16e3&(c[o>>2]|0)!=12e3&(c[o>>2]|0)!=8e3)?!((c[p>>2]|0)!=1&(c[p>>2]|0)!=2):0)?!((c[q>>2]|0)!=2048&(c[q>>2]|0)!=2049&(c[q>>2]|0)!=2051):0){f=c[n>>2]|0;aj(f|0,0,ci(c[p>>2]|0)|0)|0;c[j>>2]=Bd(k)|0;if(c[j>>2]|0){c[m>>2]=-1;t=c[m>>2]|0;l=u;return t|0}c[k>>2]=di(c[k>>2]|0)|0;f=di(18220)|0;c[(c[n>>2]|0)+4>>2]=f;c[c[n>>2]>>2]=(c[(c[n>>2]|0)+4>>2]|0)+(c[k>>2]|0);c[r>>2]=(c[n>>2]|0)+(c[(c[n>>2]|0)+4>>2]|0);c[h>>2]=(c[n>>2]|0)+(c[c[n>>2]>>2]|0);f=c[p>>2]|0;c[(c[n>>2]|0)+100>>2]=f;c[(c[n>>2]|0)+14288>>2]=f;c[(c[n>>2]|0)+132>>2]=c[o>>2];f=fi()|0;c[(c[n>>2]|0)+168>>2]=f;c[j>>2]=Cd(c[r>>2]|0,c[(c[n>>2]|0)+168>>2]|0,(c[n>>2]|0)+8|0)|0;if(c[j>>2]|0){c[m>>2]=-3;t=c[m>>2]|0;l=u;return t|0}c[(c[n>>2]|0)+8>>2]=c[p>>2];c[(c[n>>2]|0)+8+4>>2]=c[p>>2];c[(c[n>>2]|0)+8+8>>2]=c[(c[n>>2]|0)+132>>2];c[(c[n>>2]|0)+8+12>>2]=16e3;c[(c[n>>2]|0)+8+16>>2]=8e3;c[(c[n>>2]|0)+8+20>>2]=16e3;c[(c[n>>2]|0)+8+24>>2]=20;c[(c[n>>2]|0)+8+28>>2]=25e3;c[(c[n>>2]|0)+8+32>>2]=0;c[(c[n>>2]|0)+8+36>>2]=9;c[(c[n>>2]|0)+8+40>>2]=0;c[(c[n>>2]|0)+8+44>>2]=0;c[(c[n>>2]|0)+8+48>>2]=0;c[(c[n>>2]|0)+8+64>>2]=0;c[i>>2]=Ua(c[h>>2]|0,c[o>>2]|0,c[p>>2]|0,c[(c[n>>2]|0)+168>>2]|0)|0;if(c[i>>2]|0){c[m>>2]=-3;t=c[m>>2]|0;l=u;return t|0}else{r=c[h>>2]|0;c[s>>2]=0;Wa(r,10016,s)|0;s=c[h>>2]|0;c[t>>2]=c[(c[n>>2]|0)+8+36>>2];Wa(s,4010,t)|0;c[(c[n>>2]|0)+136>>2]=1;c[(c[n>>2]|0)+140>>2]=1;c[(c[n>>2]|0)+152>>2]=-1e3;t=3e3+(N(c[o>>2]|0,c[p>>2]|0)|0)|0;c[(c[n>>2]|0)+148>>2]=t;c[(c[n>>2]|0)+96>>2]=c[q>>2];c[(c[n>>2]|0)+112>>2]=-1e3;c[(c[n>>2]|0)+116>>2]=-1e3;c[(c[n>>2]|0)+120>>2]=1105;c[(c[n>>2]|0)+108>>2]=-1e3;c[(c[n>>2]|0)+124>>2]=-1e3;c[(c[n>>2]|0)+128>>2]=-1;c[(c[n>>2]|0)+160>>2]=(c[(c[n>>2]|0)+132>>2]|0)/100|0;c[(c[n>>2]|0)+156>>2]=24;c[(c[n>>2]|0)+144>>2]=5e3;c[(c[n>>2]|0)+104>>2]=(c[(c[n>>2]|0)+132>>2]|0)/250|0;b[(c[n>>2]|0)+14292>>1]=16384;g[(c[n>>2]|0)+14300>>2]=1.0;t=(Bf(60)|0)<<8;c[(c[n>>2]|0)+14296>>2]=t;c[(c[n>>2]|0)+14344>>2]=1;c[(c[n>>2]|0)+14320>>2]=1001;c[(c[n>>2]|0)+14336>>2]=1105;Hi((c[n>>2]|0)+172|0);c[m>>2]=0;t=c[m>>2]|0;l=u;return t|0}}c[m>>2]=-1;t=c[m>>2]|0;l=u;return t|0}function fi(){return 0}function gi(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=l;l=l+48|0;v=u+40|0;s=u+36|0;t=u+32|0;j=u+28|0;k=u+24|0;m=u+20|0;n=u+16|0;o=u+12|0;p=u+8|0;q=u+4|0;r=u;c[v>>2]=a;c[s>>2]=b;c[t>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=h;c[n>>2]=i;c[o>>2]=c[v>>2];c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[t>>2]|0))break;v=N((c[q>>2]|0)+(c[j>>2]|0)|0,c[n>>2]|0)|0;g[(c[s>>2]|0)+(c[q>>2]<<2)>>2]=+g[(c[o>>2]|0)+(v+(c[k>>2]|0)<<2)>>2]*32768.0;c[q>>2]=(c[q>>2]|0)+1}a:do if((c[m>>2]|0)<=-1){if((c[m>>2]|0)==-2){c[r>>2]=1;while(1){if((c[r>>2]|0)>=(c[n>>2]|0))break a;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[t>>2]|0))break;i=N((c[q>>2]|0)+(c[j>>2]|0)|0,c[n>>2]|0)|0;v=(c[s>>2]|0)+(c[q>>2]<<2)|0;g[v>>2]=+g[v>>2]+ +g[(c[o>>2]|0)+(i+(c[r>>2]|0)<<2)>>2]*32768.0;c[q>>2]=(c[q>>2]|0)+1}c[r>>2]=(c[r>>2]|0)+1}}}else{c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[t>>2]|0))break a;i=N((c[q>>2]|0)+(c[j>>2]|0)|0,c[n>>2]|0)|0;v=(c[s>>2]|0)+(c[q>>2]<<2)|0;g[v>>2]=+g[v>>2]+ +g[(c[o>>2]|0)+(i+(c[m>>2]|0)<<2)>>2]*32768.0;c[q>>2]=(c[q>>2]|0)+1}}while(0);g[p>>2]=1.0;if((c[n>>2]|0)==-2)g[p>>2]=+g[p>>2]/+(c[n>>2]|0);else g[p>>2]=+g[p>>2]/2.0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[t>>2]|0))break;v=(c[s>>2]|0)+(c[q>>2]<<2)|0;g[v>>2]=+g[v>>2]*+g[p>>2];c[q>>2]=(c[q>>2]|0)+1}l=u;return}function hi(a,d,e,f,h,i,j){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=l;l=l+48|0;w=v+40|0;t=v+36|0;u=v+32|0;k=v+28|0;m=v+24|0;n=v+20|0;o=v+16|0;p=v+12|0;q=v+8|0;r=v+4|0;s=v;c[w>>2]=a;c[t>>2]=d;c[u>>2]=e;c[k>>2]=f;c[m>>2]=h;c[n>>2]=i;c[o>>2]=j;c[p>>2]=c[w>>2];c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[u>>2]|0))break;w=N((c[r>>2]|0)+(c[k>>2]|0)|0,c[o>>2]|0)|0;g[(c[t>>2]|0)+(c[r>>2]<<2)>>2]=+(b[(c[p>>2]|0)+(w+(c[m>>2]|0)<<1)>>1]|0);c[r>>2]=(c[r>>2]|0)+1}a:do if((c[n>>2]|0)<=-1){if((c[n>>2]|0)==-2){c[s>>2]=1;while(1){if((c[s>>2]|0)>=(c[o>>2]|0))break a;c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[u>>2]|0))break;j=N((c[r>>2]|0)+(c[k>>2]|0)|0,c[o>>2]|0)|0;w=(c[t>>2]|0)+(c[r>>2]<<2)|0;g[w>>2]=+g[w>>2]+ +(b[(c[p>>2]|0)+(j+(c[s>>2]|0)<<1)>>1]|0);c[r>>2]=(c[r>>2]|0)+1}c[s>>2]=(c[s>>2]|0)+1}}}else{c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[u>>2]|0))break a;j=N((c[r>>2]|0)+(c[k>>2]|0)|0,c[o>>2]|0)|0;w=(c[t>>2]|0)+(c[r>>2]<<2)|0;g[w>>2]=+g[w>>2]+ +(b[(c[p>>2]|0)+(j+(c[n>>2]|0)<<1)>>1]|0);c[r>>2]=(c[r>>2]|0)+1}}while(0);g[q>>2]=.000030517578125;if((c[o>>2]|0)==-2)g[q>>2]=+g[q>>2]/+(c[o>>2]|0);else g[q>>2]=+g[q>>2]/2.0;c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[u>>2]|0))break;w=(c[t>>2]|0)+(c[r>>2]<<2)|0;g[w>>2]=+g[w>>2]*+g[q>>2];c[r>>2]=(c[r>>2]|0)+1}l=v;return}function ii(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;f=j+16|0;g=j+12|0;e=j+8|0;h=j+4|0;i=j;c[g>>2]=a;c[e>>2]=b;c[h>>2]=d;if((c[g>>2]|0)<((c[h>>2]|0)/400|0|0)){c[f>>2]=-1;i=c[f>>2]|0;l=j;return i|0}do if((c[e>>2]|0)==5e3)c[i>>2]=c[g>>2];else{if((c[e>>2]|0)==5010){c[i>>2]=(c[h>>2]|0)/50|0;break}if(!((c[e>>2]|0)>=5001&(c[e>>2]|0)<=5006)){c[f>>2]=-1;i=c[f>>2]|0;l=j;return i|0}a=c[h>>2]|0;if((((c[h>>2]|0)*3|0)/50|0|0)<(((c[h>>2]|0)/400|0)<<(c[e>>2]|0)-5001|0))a=(a*3|0)/50|0;else a=((a|0)/400|0)<<(c[e>>2]|0)-5001;c[i>>2]=a}while(0);if((c[i>>2]|0)>(c[g>>2]|0)){c[f>>2]=-1;i=c[f>>2]|0;l=j;return i|0}if(((((((c[i>>2]|0)*400|0)!=(c[h>>2]|0)?((c[i>>2]|0)*200|0)!=(c[h>>2]|0):0)?((c[i>>2]|0)*100|0)!=(c[h>>2]|0):0)?((c[i>>2]|0)*50|0)!=(c[h>>2]|0):0)?((c[i>>2]|0)*25|0)!=(c[h>>2]|0):0)?((c[i>>2]|0)*50|0)!=((c[h>>2]|0)*3|0):0){c[f>>2]=-1;i=c[f>>2]|0;l=j;return i|0}c[f>>2]=c[i>>2];i=c[f>>2]|0;l=j;return i|0}function ji(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+48|0;v=w+40|0;k=w+36|0;m=w+32|0;n=w+28|0;o=w+24|0;p=w+20|0;q=w+16|0;r=w+12|0;s=w+8|0;t=w+4|0;u=w;c[k>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=i;c[t>>2]=j;if((c[n>>2]|0)==5010?(c[m>>2]|0)>=((c[p>>2]|0)/200|0|0):0){c[u>>2]=3;c[u>>2]=ki(c[k>>2]|0,c[m>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,0.0,c[t>>2]|0,c[r>>2]|0,c[s>>2]|0)|0;while(1){if((((c[p>>2]|0)/400|0)<<c[u>>2]|0)<=(c[m>>2]|0))break;c[u>>2]=(c[u>>2]|0)+-1}c[m>>2]=((c[p>>2]|0)/400|0)<<c[u>>2]}else c[m>>2]=ii(c[m>>2]|0,c[n>>2]|0,c[p>>2]|0)|0;if((c[m>>2]|0)<0){c[v>>2]=-1;v=c[v>>2]|0;l=w;return v|0}else{c[v>>2]=c[m>>2];v=c[v>>2]|0;l=w;return v|0}return 0}function ki(a,b,d,e,f,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;H=l;l=l+304|0;G=H+296|0;m=H+292|0;n=H+288|0;I=H+284|0;o=H+280|0;p=H+276|0;q=H+272|0;r=H+268|0;s=H+264|0;t=H+260|0;u=H+256|0;v=H+144|0;w=H+36|0;x=H+32|0;y=H+28|0;z=H+24|0;A=H+20|0;B=H+16|0;C=H+12|0;D=H+8|0;E=H+4|0;F=H;c[G>>2]=a;c[m>>2]=b;c[n>>2]=d;c[I>>2]=e;c[o>>2]=f;g[p>>2]=h;c[q>>2]=i;c[r>>2]=j;c[s>>2]=k;c[y>>2]=0;c[z>>2]=(c[I>>2]|0)/400|0;k=c[z>>2]|0;c[C>>2]=$()|0;b=l;l=l+((1*(k<<2)|0)+15&-16)|0;g[v>>2]=+g[c[q>>2]>>2];g[w>>2]=1.0/(+g[c[q>>2]>>2]+1.0000000036274937e-15);if(c[r>>2]|0){c[B>>2]=(c[z>>2]<<1)-(c[r>>2]|0);c[m>>2]=(c[m>>2]|0)-(c[B>>2]|0);g[v+4>>2]=+g[(c[q>>2]|0)+4>>2];g[w+4>>2]=1.0/(+g[(c[q>>2]|0)+4>>2]+1.0000000036274937e-15);g[v+8>>2]=+g[(c[q>>2]|0)+8>>2];g[w+8>>2]=1.0/(+g[(c[q>>2]|0)+8>>2]+1.0000000036274937e-15);c[A>>2]=3}else{c[A>>2]=1;c[B>>2]=0}if(((c[m>>2]|0)/(c[z>>2]|0)|0|0)<24)a=(c[m>>2]|0)/(c[z>>2]|0)|0;else a=24;c[t>>2]=a;g[x>>2]=0.0;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[t>>2]|0))break;g[D>>2]=1.0000000036274937e-15;I=N(c[u>>2]|0,c[z>>2]|0)|0;ba[c[s>>2]&3](c[G>>2]|0,b,c[z>>2]|0,I+(c[B>>2]|0)|0,0,-2,c[n>>2]|0);if(!(c[u>>2]|0))g[x>>2]=+g[b>>2];c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[z>>2]|0))break;g[E>>2]=+g[b+(c[F>>2]<<2)>>2];g[D>>2]=+g[D>>2]+(+g[E>>2]-+g[x>>2])*(+g[E>>2]-+g[x>>2]);g[x>>2]=+g[E>>2];c[F>>2]=(c[F>>2]|0)+1}g[v+((c[u>>2]|0)+(c[A>>2]|0)<<2)>>2]=+g[D>>2];g[w+((c[u>>2]|0)+(c[A>>2]|0)<<2)>>2]=1.0/+g[D>>2];c[u>>2]=(c[u>>2]|0)+1}g[v+((c[u>>2]|0)+(c[A>>2]|0)<<2)>>2]=+g[v+((c[u>>2]|0)+(c[A>>2]|0)-1<<2)>>2];if(c[r>>2]|0)c[t>>2]=24<((c[t>>2]|0)+2|0)?24:(c[t>>2]|0)+2|0;c[y>>2]=li(v,w,c[t>>2]|0,~~((+g[p>>2]*.5+1.0)*+(((c[n>>2]|0)*60|0)+40|0)),(c[o>>2]|0)/400|0)|0;g[c[q>>2]>>2]=+g[v+(1<<c[y>>2]<<2)>>2];if(!(c[r>>2]|0)){I=c[y>>2]|0;G=c[C>>2]|0;_(G|0);l=H;return I|0}g[(c[q>>2]|0)+4>>2]=+g[v+((1<<c[y>>2])+1<<2)>>2];g[(c[q>>2]|0)+8>>2]=+g[v+((1<<c[y>>2])+2<<2)>>2];I=c[y>>2]|0;G=c[C>>2]|0;_(G|0);l=H;return I|0}function li(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=l;l=l+3136|0;p=z+3124|0;q=z+3120|0;y=z+3116|0;r=z+3112|0;s=z+3108|0;t=z+3104|0;u=z+1568|0;v=z+32|0;w=z+28|0;x=z+24|0;i=z+20|0;j=z+16|0;k=z+12|0;m=z+8|0;n=z+4|0;o=z;c[p>>2]=a;c[q>>2]=b;c[y>>2]=d;c[r>>2]=e;c[s>>2]=f;do if((c[s>>2]|0)>=80)if((c[s>>2]|0)>160){g[i>>2]=1.0;break}else{g[i>>2]=(+(c[s>>2]|0)-80.0)/80.0;break}else g[i>>2]=0.0;while(0);c[t>>2]=0;while(1){if((c[t>>2]|0)>=16)break;c[v+(c[t>>2]<<2)>>2]=-1;g[u+(c[t>>2]<<2)>>2]=1.0e10;c[t>>2]=(c[t>>2]|0)+1}c[t>>2]=0;while(1){if((c[t>>2]|0)>=4)break;A=+((c[r>>2]|0)+(N(c[s>>2]|0,1<<c[t>>2])|0)|0);h=+g[i>>2];h=A*(h*+mi(c[p>>2]|0,c[q>>2]|0,c[t>>2]|0,(c[y>>2]|0)+1|0)+1.0);g[u+(1<<c[t>>2]<<2)>>2]=h;c[v+(1<<c[t>>2]<<2)>>2]=c[t>>2];c[t>>2]=(c[t>>2]|0)+1}c[t>>2]=1;while(1){if((c[t>>2]|0)>=(c[y>>2]|0))break;c[j>>2]=2;while(1){if((c[j>>2]|0)>=16)break;g[u+(c[t>>2]<<6)+(c[j>>2]<<2)>>2]=+g[u+((c[t>>2]|0)-1<<6)+((c[j>>2]|0)-1<<2)>>2];c[v+(c[t>>2]<<6)+(c[j>>2]<<2)>>2]=(c[j>>2]|0)-1;c[j>>2]=(c[j>>2]|0)+1}c[j>>2]=0;while(1){a=c[t>>2]|0;if((c[j>>2]|0)>=4)break;c[v+(a<<6)+(1<<c[j>>2]<<2)>>2]=1;g[m>>2]=+g[u+((c[t>>2]|0)-1<<6)+4>>2];c[k>>2]=1;while(1){if((c[k>>2]|0)>=4)break;g[o>>2]=+g[u+((c[t>>2]|0)-1<<6)+((1<<(c[k>>2]|0)+1)-1<<2)>>2];if(+g[o>>2]<+g[m>>2]){c[v+(c[t>>2]<<6)+(1<<c[j>>2]<<2)>>2]=(1<<(c[k>>2]|0)+1)-1;g[m>>2]=+g[o>>2]}c[k>>2]=(c[k>>2]|0)+1}A=+((c[r>>2]|0)+(N(c[s>>2]|0,1<<c[j>>2])|0)|0);h=+g[i>>2];g[n>>2]=A*(h*+mi((c[p>>2]|0)+(c[t>>2]<<2)|0,(c[q>>2]|0)+(c[t>>2]<<2)|0,c[j>>2]|0,(c[y>>2]|0)-(c[t>>2]|0)+1|0)+1.0);g[u+(c[t>>2]<<6)+(1<<c[j>>2]<<2)>>2]=+g[m>>2];h=+g[n>>2];if(((c[y>>2]|0)-(c[t>>2]|0)|0)<(1<<c[j>>2]|0)){b=c[j>>2]|0;h=h*+((c[y>>2]|0)-(c[t>>2]|0)|0)/+(1<<c[j>>2]|0);a=u+(c[t>>2]<<6)|0}else{b=c[j>>2]|0;a=u+(c[t>>2]<<6)|0}f=a+(1<<b<<2)|0;g[f>>2]=+g[f>>2]+h;c[j>>2]=(c[j>>2]|0)+1}c[t>>2]=a+1}c[x>>2]=1;g[w>>2]=+g[u+((c[y>>2]|0)-1<<6)+4>>2];c[t>>2]=2;while(1){a=(c[y>>2]|0)-1|0;if((c[t>>2]|0)>=16)break;if(+g[u+(a<<6)+(c[t>>2]<<2)>>2]<+g[w>>2]){g[w>>2]=+g[u+((c[y>>2]|0)-1<<6)+(c[t>>2]<<2)>>2];c[x>>2]=c[t>>2]}c[t>>2]=(c[t>>2]|0)+1}c[t>>2]=a;while(1){if((c[t>>2]|0)<0)break;c[x>>2]=c[v+(c[t>>2]<<6)+(c[x>>2]<<2)>>2];c[t>>2]=(c[t>>2]|0)+-1}l=z;return c[x>>2]|0}function mi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;m=r+32|0;n=r+28|0;h=r+24|0;i=r+20|0;o=r+16|0;p=r+12|0;j=r+8|0;k=r+4|0;q=r;c[m>>2]=a;c[n>>2]=b;c[h>>2]=d;c[i>>2]=e;g[j>>2]=0.0;g[k>>2]=0.0;if((c[i>>2]|0)<((1<<c[h>>2])+1|0))a=c[i>>2]|0;else a=(1<<c[h>>2])+1|0;c[p>>2]=a;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[p>>2]|0))break;g[j>>2]=+g[j>>2]+ +g[(c[m>>2]|0)+(c[o>>2]<<2)>>2];g[k>>2]=+g[k>>2]+ +g[(c[n>>2]|0)+(c[o>>2]<<2)>>2];c[o>>2]=(c[o>>2]|0)+1}g[q>>2]=+g[j>>2]*+g[k>>2]/+(N(c[p>>2]|0,c[p>>2]|0)|0);if(0.0>(+g[q>>2]-2.0)*.05000000074505806)f=0.0;else f=(+g[q>>2]-2.0)*.05000000074505806;if(1.0<+B(+f)){f=1.0;l=r;return +f}if(0.0>(+g[q>>2]-2.0)*.05000000074505806)f=0.0;else f=(+g[q>>2]-2.0)*.05000000074505806;f=+B(+f);l=r;return +f}function ni(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,C=0,D=0,E=0,F=0,G=0;F=l;l=l+96|0;s=F+84|0;t=F+80|0;G=F+76|0;E=F+72|0;z=F+68|0;C=F+64|0;u=F+60|0;h=F+56|0;i=F+52|0;j=F+48|0;v=F+44|0;w=F+40|0;x=F+36|0;y=F+32|0;D=F+28|0;k=F+24|0;m=F+20|0;n=F+16|0;o=F+12|0;p=F+8|0;q=F+4|0;r=F;c[s>>2]=a;c[t>>2]=b;c[G>>2]=d;c[E>>2]=e;c[D>>2]=(c[G>>2]|0)/(c[t>>2]|0)|0;g[m>>2]=1.0-25.0/+((50>(c[D>>2]|0)?50:c[D>>2]|0)|0);g[j>>2]=0.0;g[i>>2]=0.0;g[h>>2]=0.0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[t>>2]|0))break;g[n>>2]=0.0;g[o>>2]=0.0;g[p>>2]=0.0;g[q>>2]=+g[(c[s>>2]|0)+(c[k>>2]<<1<<2)>>2];g[r>>2]=+g[(c[s>>2]|0)+((c[k>>2]<<1)+1<<2)>>2];g[n>>2]=+g[q>>2]*+g[q>>2];g[o>>2]=+g[q>>2]*+g[r>>2];g[p>>2]=+g[r>>2]*+g[r>>2];g[q>>2]=+g[(c[s>>2]|0)+((c[k>>2]<<1)+2<<2)>>2];g[r>>2]=+g[(c[s>>2]|0)+((c[k>>2]<<1)+3<<2)>>2];g[n>>2]=+g[n>>2]+ +g[q>>2]*+g[q>>2];g[o>>2]=+g[o>>2]+ +g[q>>2]*+g[r>>2];g[p>>2]=+g[p>>2]+ +g[r>>2]*+g[r>>2];g[q>>2]=+g[(c[s>>2]|0)+((c[k>>2]<<1)+4<<2)>>2];g[r>>2]=+g[(c[s>>2]|0)+((c[k>>2]<<1)+5<<2)>>2];g[n>>2]=+g[n>>2]+ +g[q>>2]*+g[q>>2];g[o>>2]=+g[o>>2]+ +g[q>>2]*+g[r>>2];g[p>>2]=+g[p>>2]+ +g[r>>2]*+g[r>>2];g[q>>2]=+g[(c[s>>2]|0)+((c[k>>2]<<1)+6<<2)>>2];g[r>>2]=+g[(c[s>>2]|0)+((c[k>>2]<<1)+7<<2)>>2];g[n>>2]=+g[n>>2]+ +g[q>>2]*+g[q>>2];g[o>>2]=+g[o>>2]+ +g[q>>2]*+g[r>>2];g[p>>2]=+g[p>>2]+ +g[r>>2]*+g[r>>2];g[h>>2]=+g[h>>2]+ +g[n>>2];g[i>>2]=+g[i>>2]+ +g[o>>2];g[j>>2]=+g[j>>2]+ +g[p>>2];c[k>>2]=(c[k>>2]|0)+4}G=c[E>>2]|0;g[G>>2]=+g[G>>2]+ +g[m>>2]*(+g[h>>2]-+g[c[E>>2]>>2]);G=(c[E>>2]|0)+4|0;g[G>>2]=+g[G>>2]+ +g[m>>2]*(+g[i>>2]-+g[(c[E>>2]|0)+4>>2]);G=(c[E>>2]|0)+8|0;g[G>>2]=+g[G>>2]+ +g[m>>2]*(+g[j>>2]-+g[(c[E>>2]|0)+8>>2]);if(0.0>+g[c[E>>2]>>2])f=0.0;else f=+g[c[E>>2]>>2];g[c[E>>2]>>2]=f;if(0.0>+g[(c[E>>2]|0)+4>>2])f=0.0;else f=+g[(c[E>>2]|0)+4>>2];g[(c[E>>2]|0)+4>>2]=f;if(0.0>+g[(c[E>>2]|0)+8>>2])f=0.0;else f=+g[(c[E>>2]|0)+8>>2];g[(c[E>>2]|0)+8>>2]=f;G=c[E>>2]|0;if(+g[(+g[c[E>>2]>>2]>+g[(c[E>>2]|0)+8>>2]?G:G+8|0)>>2]>7.999999797903001e-04){g[v>>2]=+B(+(+g[c[E>>2]>>2]));g[w>>2]=+B(+(+g[(c[E>>2]|0)+8>>2]));g[x>>2]=+B(+(+g[v>>2]));g[y>>2]=+B(+(+g[w>>2]));if(+g[(c[E>>2]|0)+4>>2]<+g[v>>2]*+g[w>>2])f=+g[(c[E>>2]|0)+4>>2];else f=+g[v>>2]*+g[w>>2];g[(c[E>>2]|0)+4>>2]=f;g[z>>2]=+g[(c[E>>2]|0)+4>>2]/(+g[v>>2]*+g[w>>2]+1.0000000036274937e-15);f=+A(+(+g[x>>2]-+g[y>>2]))*1.0;g[C>>2]=f/(+g[x>>2]+1.0000000036274937e-15+ +g[y>>2]);f=+B(+(1.0-+g[z>>2]*+g[z>>2]));g[u>>2]=f*+g[C>>2];a=(c[E>>2]|0)+12|0;g[a>>2]=+g[a>>2]+(+g[u>>2]-+g[(c[E>>2]|0)+12>>2])/+(c[D>>2]|0);a=c[E>>2]|0;if(+g[(c[E>>2]|0)+16>>2]-.019999999552965164/+(c[D>>2]|0)>+g[(c[E>>2]|0)+12>>2])f=+g[a+16>>2]-.019999999552965164/+(c[D>>2]|0);else f=+g[a+12>>2];g[(c[E>>2]|0)+16>>2]=f}else{g[u>>2]=0.0;g[z>>2]=1.0;g[C>>2]=0.0}if(1.0<+g[(c[E>>2]|0)+16>>2]*20.0){f=1.0;l=F;return +f}f=+g[(c[E>>2]|0)+16>>2]*20.0;l=F;return +f}function oi(e,f,h,i,j,k,m,n,o,p,q,r,s){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;var t=0.0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Xa=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0;Rb=l;l=l+1072|0;vb=Rb+168|0;ub=Rb+160|0;tb=Rb+152|0;sb=Rb+144|0;Db=Rb+136|0;Cb=Rb+128|0;Bb=Rb+120|0;Ab=Rb+112|0;zb=Rb+104|0;yb=Rb+96|0;xb=Rb+88|0;wb=Rb+80|0;Ua=Rb+72|0;Ta=Rb+64|0;Sa=Rb+56|0;Ra=Rb+48|0;Qa=Rb+40|0;Pa=Rb+32|0;Oa=Rb+24|0;Na=Rb+16|0;V=Rb+8|0;y=Rb;Ob=Rb+1048|0;Pb=Rb+1044|0;pa=Rb+1040|0;Fb=Rb+1036|0;Qb=Rb+1032|0;Z=Rb+1028|0;aa=Rb+1024|0;u=Rb+1020|0;v=Rb+1016|0;ba=Rb+1012|0;ca=Rb+1008|0;da=Rb+1004|0;ea=Rb+1e3|0;qa=Rb+996|0;Ga=Rb+992|0;lb=Rb+988|0;Za=Rb+984|0;Mb=Rb+980|0;La=Rb+976|0;Gb=Rb+928|0;Xa=Rb+920|0;Ha=Rb+916|0;mb=Rb+912|0;Hb=Rb+908|0;Ib=Rb+904|0;nb=Rb+900|0;ob=Rb+896|0;Lb=Rb+892|0;pb=Rb+888|0;X=Rb+884|0;W=Rb+880|0;I=Rb+876|0;_a=Rb+872|0;w=Rb+868|0;Ca=Rb+864|0;Aa=Rb+860|0;qb=Rb+856|0;$a=Rb+852|0;Jb=Rb+848|0;ab=Rb+844|0;E=Rb+840|0;db=Rb+836|0;rb=Rb+808|0;T=Rb+804|0;U=Rb+800|0;x=Rb+796|0;A=Rb+792|0;B=Rb+788|0;C=Rb+784|0;D=Rb+780|0;F=Rb+776|0;G=Rb+772|0;H=Rb+768|0;J=Rb+680|0;K=Rb+676|0;L=Rb+672|0;M=Rb+640|0;O=Rb+632|0;P=Rb+628|0;Q=Rb+624|0;R=Rb+620|0;S=Rb+616|0;ha=Rb+612|0;ia=Rb+608|0;ja=Rb+604|0;ka=Rb+600|0;la=Rb+596|0;fa=Rb+592|0;ma=Rb+588|0;na=Rb+584|0;oa=Rb+284|0;ga=Rb+280|0;Nb=Rb+276|0;Kb=Rb+272|0;Y=Rb+268|0;ra=Rb+264|0;sa=Rb+260|0;Ma=Rb+256|0;ta=Rb+252|0;ua=Rb+248|0;va=Rb+244|0;Ba=Rb+240|0;wa=Rb+236|0;xa=Rb+232|0;ya=Rb+1052|0;za=Rb+228|0;Da=Rb+224|0;Ea=Rb+220|0;Fa=Rb+216|0;Ia=Rb+212|0;Ja=Rb+208|0;Va=Rb+204|0;Ka=Rb+200|0;bb=Rb+196|0;cb=Rb+192|0;eb=Rb+188|0;fb=Rb+184|0;gb=Rb+1056|0;hb=Rb+180|0;ib=Rb+1054|0;jb=Rb+176|0;kb=Rb+172|0;c[Pb>>2]=e;c[pa>>2]=f;c[Fb>>2]=h;c[Qb>>2]=i;c[Z>>2]=j;c[aa>>2]=k;c[u>>2]=m;c[v>>2]=n;c[ba>>2]=o;c[ca>>2]=p;c[da>>2]=q;c[ea>>2]=r;c[qa>>2]=s;c[Mb>>2]=0;c[Ha>>2]=0;c[mb>>2]=0;c[Hb>>2]=0;c[Ib>>2]=0;c[nb>>2]=0;c[Lb>>2]=0;c[pb>>2]=0;c[T>>2]=-1;c[U>>2]=-1;c[Jb>>2]=1276<(c[Z>>2]|0)?1276:c[Z>>2]|0;c[(c[Pb>>2]|0)+18216>>2]=0;if(!((((((!(c[(c[Pb>>2]|0)+144>>2]|0)?((c[Fb>>2]|0)*400|0)!=(c[(c[Pb>>2]|0)+132>>2]|0):0)?((c[Fb>>2]|0)*200|0)!=(c[(c[Pb>>2]|0)+132>>2]|0):0)?((c[Fb>>2]|0)*100|0)!=(c[(c[Pb>>2]|0)+132>>2]|0):0)?((c[Fb>>2]|0)*50|0)!=(c[(c[Pb>>2]|0)+132>>2]|0):0)?((c[Fb>>2]|0)*25|0)!=(c[(c[Pb>>2]|0)+132>>2]|0):0)?((c[Fb>>2]|0)*50|0)!=((c[(c[Pb>>2]|0)+132>>2]|0)*3|0):0))Eb=8;if((Eb|0)==8?!((c[Jb>>2]|0)<=0?1:((c[Fb>>2]|0)*400|0)<(c[(c[Pb>>2]|0)+132>>2]|0)):0){c[Ga>>2]=(c[Pb>>2]|0)+(c[(c[Pb>>2]|0)+4>>2]|0);c[lb>>2]=(c[Pb>>2]|0)+(c[c[Pb>>2]>>2]|0);if((c[(c[Pb>>2]|0)+96>>2]|0)==2051)c[w>>2]=0;else c[w>>2]=c[(c[Pb>>2]|0)+104>>2];if((c[aa>>2]|0)<(c[(c[Pb>>2]|0)+156>>2]|0))e=c[aa>>2]|0;else e=c[(c[Pb>>2]|0)+156>>2]|0;c[aa>>2]=e;p=c[lb>>2]|0;c[y>>2]=db+(((db-db|0)/4|0)<<2);Wa(p,10015,y)|0;c[rb>>2]=0;if((c[(c[Pb>>2]|0)+8+36>>2]|0)>=7?(c[(c[Pb>>2]|0)+132>>2]|0)==48e3:0){c[T>>2]=c[(c[Pb>>2]|0)+172+8508>>2];c[U>>2]=c[(c[Pb>>2]|0)+172+8512>>2];Li((c[Pb>>2]|0)+172|0,c[db>>2]|0,c[u>>2]|0,c[v>>2]|0,c[Fb>>2]|0,c[ba>>2]|0,c[ca>>2]|0,c[da>>2]|0,c[(c[Pb>>2]|0)+132>>2]|0,c[aa>>2]|0,c[ea>>2]|0,rb)}c[(c[Pb>>2]|0)+128>>2]=-1;c[(c[Pb>>2]|0)+18212>>2]=0;do if(c[rb>>2]|0){if((c[(c[Pb>>2]|0)+112>>2]|0)==-1e3){y=~~+z(+((1.0-+g[rb+20>>2])*100.0+.5));c[(c[Pb>>2]|0)+128>>2]=y}c[x>>2]=c[rb+24>>2];if((c[x>>2]|0)<=12){c[(c[Pb>>2]|0)+18212>>2]=1101;break}if((c[x>>2]|0)<=14){c[(c[Pb>>2]|0)+18212>>2]=1102;break}if((c[x>>2]|0)<=16){c[(c[Pb>>2]|0)+18212>>2]=1103;break}else{c[(c[Pb>>2]|0)+18212>>2]=(c[x>>2]|0)<=18?1104:1105;break}}while(0);if((c[(c[Pb>>2]|0)+100>>2]|0)==2?(c[(c[Pb>>2]|0)+108>>2]|0)!=1:0)g[E>>2]=+ni(c[pa>>2]|0,c[Fb>>2]|0,c[(c[Pb>>2]|0)+132>>2]|0,(c[Pb>>2]|0)+14352|0);else g[E>>2]=0.0;c[ab>>2]=c[w>>2];y=pi(c[Pb>>2]|0,c[Fb>>2]|0,c[Jb>>2]|0)|0;c[(c[Pb>>2]|0)+148>>2]=y;c[Ca>>2]=(c[(c[Pb>>2]|0)+132>>2]|0)/(c[Fb>>2]|0)|0;do if((c[Jb>>2]|0)>=3?(c[(c[Pb>>2]|0)+148>>2]|0)>=((c[Ca>>2]|0)*3<<3|0):0){if((c[Ca>>2]|0)<50){if((N(c[Jb>>2]|0,c[Ca>>2]|0)|0)<300)break;if((c[(c[Pb>>2]|0)+148>>2]|0)<2400)break}if(!(c[(c[Pb>>2]|0)+136>>2]|0)){if((((c[(c[Pb>>2]|0)+148>>2]|0)+(c[Ca>>2]<<2)|0)/(c[Ca>>2]<<3|0)|0|0)<(c[Jb>>2]|0))e=((c[(c[Pb>>2]|0)+148>>2]|0)+(c[Ca>>2]<<2)|0)/(c[Ca>>2]<<3|0)|0;else e=c[Jb>>2]|0;c[C>>2]=e;B=N(c[C>>2]|0,c[Ca>>2]<<3)|0;c[(c[Pb>>2]|0)+148>>2]=B;c[Jb>>2]=c[C>>2]}c[Aa>>2]=(N(c[Ca>>2]|0,c[Jb>>2]|0)|0)<<3;c[_a>>2]=(c[(c[Pb>>2]|0)+148>>2]|0)-(N(((c[(c[Pb>>2]|0)+100>>2]|0)*40|0)+20|0,((c[(c[Pb>>2]|0)+132>>2]|0)/(c[Fb>>2]|0)|0)-50|0)|0);do if((c[(c[Pb>>2]|0)+112>>2]|0)!=3001){if((c[(c[Pb>>2]|0)+112>>2]|0)==3002){c[I>>2]=0;break}e=c[Pb>>2]|0;if((c[(c[Pb>>2]|0)+128>>2]|0)>=0){c[I>>2]=(c[e+128>>2]|0)*327>>8;if((c[(c[Pb>>2]|0)+96>>2]|0)!=2049)break;c[I>>2]=(c[I>>2]|0)<115?c[I>>2]|0:115;break}if((c[e+96>>2]|0)==2048){c[I>>2]=115;break}else{c[I>>2]=48;break}}else c[I>>2]=127;while(0);if((c[(c[Pb>>2]|0)+108>>2]|0)!=-1e3?(c[(c[Pb>>2]|0)+100>>2]|0)==2:0){e=c[(c[Pb>>2]|0)+108>>2]|0;f=c[Pb>>2]|0}else Eb=71;do if((Eb|0)==71){if((c[(c[Pb>>2]|0)+100>>2]|0)!=2){e=c[(c[Pb>>2]|0)+100>>2]|0;f=c[Pb>>2]|0;break}c[D>>2]=3e4;e=c[D>>2]|0;if((c[(c[Pb>>2]|0)+14288>>2]|0)==2)c[D>>2]=e-1e3;else c[D>>2]=e+1e3;e=(c[_a>>2]|0)>(c[D>>2]|0)?2:1;f=c[Pb>>2]|0}while(0);c[f+14288>>2]=e;c[_a>>2]=(c[(c[Pb>>2]|0)+148>>2]|0)-(N(((c[(c[Pb>>2]|0)+14288>>2]|0)*40|0)+20|0,((c[(c[Pb>>2]|0)+132>>2]|0)/(c[Fb>>2]|0)|0)-50|0)|0);e=c[Pb>>2]|0;do if((c[(c[Pb>>2]|0)+96>>2]|0)==2051){f=1002;Eb=91}else{if((c[e+124>>2]|0)!=-1e3){f=c[(c[Pb>>2]|0)+124>>2]|0;e=c[Pb>>2]|0;Eb=91;break}c[F>>2]=~~((1.0-+g[E>>2])*+(c[4508]|0)+ +g[E>>2]*+(c[4510]|0));c[G>>2]=~~((1.0-+g[E>>2])*+(c[4511]|0)+ +g[E>>2]*+(c[4511]|0));E=N(c[I>>2]|0,c[I>>2]|0)|0;c[H>>2]=(c[G>>2]|0)+((N(E,(c[F>>2]|0)-(c[G>>2]|0)|0)|0)>>14);if((c[(c[Pb>>2]|0)+96>>2]|0)==2048)c[H>>2]=(c[H>>2]|0)+8e3;do if((c[(c[Pb>>2]|0)+14324>>2]|0)==1002)c[H>>2]=(c[H>>2]|0)-4e3;else{if((c[(c[Pb>>2]|0)+14324>>2]|0)<=0)break;c[H>>2]=(c[H>>2]|0)+4e3}while(0);c[(c[Pb>>2]|0)+14320>>2]=(c[_a>>2]|0)>=(c[H>>2]|0)?1002:1e3;do if(c[(c[Pb>>2]|0)+8+40>>2]|0){if((c[(c[Pb>>2]|0)+8+32>>2]|0)<=(128-(c[I>>2]|0)>>4|0))break;c[(c[Pb>>2]|0)+14320>>2]=1e3}while(0);if(!((c[I>>2]|0)>100?(c[(c[Pb>>2]|0)+8+44>>2]|0)!=0:0))break;f=1e3;e=c[Pb>>2]|0;Eb=91}while(0);if((Eb|0)==91)c[e+14320>>2]=f;if((c[(c[Pb>>2]|0)+14320>>2]|0)!=1002?(c[Fb>>2]|0)<((c[(c[Pb>>2]|0)+132>>2]|0)/100|0|0):0)c[(c[Pb>>2]|0)+14320>>2]=1002;if(c[(c[Pb>>2]|0)+164>>2]|0)c[(c[Pb>>2]|0)+14320>>2]=1002;H=N((c[Ca>>2]|0)>50?12e3:8e3,c[Fb>>2]|0)|0;if((c[Jb>>2]|0)<((H|0)/(c[(c[Pb>>2]|0)+132>>2]<<3|0)|0|0))c[(c[Pb>>2]|0)+14320>>2]=1002;do if((c[(c[Pb>>2]|0)+14288>>2]|0)==1){if((c[(c[Pb>>2]|0)+14328>>2]|0)!=2){Eb=105;break}if(c[(c[Pb>>2]|0)+8+56>>2]|0){Eb=105;break}if((c[(c[Pb>>2]|0)+14320>>2]|0)==1002){Eb=105;break}if((c[(c[Pb>>2]|0)+14324>>2]|0)==1002){Eb=105;break}c[(c[Pb>>2]|0)+8+56>>2]=1;c[(c[Pb>>2]|0)+14288>>2]=2}else Eb=105;while(0);if((Eb|0)==105)c[(c[Pb>>2]|0)+8+56>>2]=0;do if((c[(c[Pb>>2]|0)+14324>>2]|0)>0){if(!((c[(c[Pb>>2]|0)+14320>>2]|0)!=1002?(c[(c[Pb>>2]|0)+14324>>2]|0)==1002:0)){if((c[(c[Pb>>2]|0)+14320>>2]|0)!=1002)break;if((c[(c[Pb>>2]|0)+14324>>2]|0)==1002)break}c[Hb>>2]=1;c[nb>>2]=(c[(c[Pb>>2]|0)+14320>>2]|0)!=1002&1;if(c[nb>>2]|0)break;if((c[Fb>>2]|0)>=((c[(c[Pb>>2]|0)+132>>2]|0)/100|0|0)){c[(c[Pb>>2]|0)+14320>>2]=c[(c[Pb>>2]|0)+14324>>2];c[Lb>>2]=1;break}else{c[Hb>>2]=0;break}}while(0);if(c[(c[Pb>>2]|0)+14340>>2]|0){c[Hb>>2]=1;c[nb>>2]=1;c[(c[Pb>>2]|0)+14340>>2]=0;c[Ha>>2]=1}do if(c[Hb>>2]|0){H=N(c[Jb>>2]|0,(c[(c[Pb>>2]|0)+132>>2]|0)/200|0)|0;if(257<((H|0)/((c[Fb>>2]|0)+((c[(c[Pb>>2]|0)+132>>2]|0)/200|0)|0)|0|0))e=257;else{e=N(c[Jb>>2]|0,(c[(c[Pb>>2]|0)+132>>2]|0)/200|0)|0;e=(e|0)/((c[Fb>>2]|0)+((c[(c[Pb>>2]|0)+132>>2]|0)/200|0)|0)|0}c[Ib>>2]=e;if(!(c[(c[Pb>>2]|0)+136>>2]|0))break;if((c[Ib>>2]|0)<((c[(c[Pb>>2]|0)+148>>2]|0)/1600|0|0))e=c[Ib>>2]|0;else e=(c[(c[Pb>>2]|0)+148>>2]|0)/1600|0;c[Ib>>2]=e}while(0);do if((c[(c[Pb>>2]|0)+14320>>2]|0)!=1002){if((c[(c[Pb>>2]|0)+14324>>2]|0)!=1002)break;Cd(c[Ga>>2]|0,c[(c[Pb>>2]|0)+168>>2]|0,J)|0;c[Ha>>2]=1}while(0);do if((c[(c[Pb>>2]|0)+14320>>2]|0)!=1002){if(c[(c[Pb>>2]|0)+14344>>2]|0){Eb=131;break}if(c[(c[Pb>>2]|0)+8+72>>2]|0)Eb=131}else Eb=131;while(0);do if((Eb|0)==131){c[O>>2]=1105;c[P>>2]=c[_a>>2];do if((c[(c[Pb>>2]|0)+14320>>2]|0)!=1002){c[P>>2]=(N(c[P>>2]|0,45+(c[(c[Pb>>2]|0)+8+36>>2]|0)|0)|0)/50|0;if(c[(c[Pb>>2]|0)+136>>2]|0)break;c[P>>2]=(c[P>>2]|0)-1e3}while(0);do if((c[(c[Pb>>2]|0)+100>>2]|0)==2){if((c[(c[Pb>>2]|0)+108>>2]|0)==1){Eb=137;break}c[K>>2]=18048;c[L>>2]=18080}else Eb=137;while(0);if((Eb|0)==137){c[K>>2]=18112;c[L>>2]=18144}c[Za>>2]=0;while(1){if((c[Za>>2]|0)>=8)break;J=N(c[I>>2]|0,c[I>>2]|0)|0;J=(c[(c[L>>2]|0)+(c[Za>>2]<<2)>>2]|0)+((N(J,(c[(c[K>>2]|0)+(c[Za>>2]<<2)>>2]|0)-(c[(c[L>>2]|0)+(c[Za>>2]<<2)>>2]|0)|0)|0)>>14)|0;c[M+(c[Za>>2]<<2)>>2]=J;c[Za>>2]=(c[Za>>2]|0)+1}do{c[Q>>2]=c[M+((c[O>>2]|0)-1102<<1<<2)>>2];c[R>>2]=c[M+(((c[O>>2]|0)-1102<<1)+1<<2)>>2];do if(!(c[(c[Pb>>2]|0)+14344>>2]|0)){e=c[R>>2]|0;f=c[Q>>2]|0;if((c[(c[Pb>>2]|0)+14336>>2]|0)>=(c[O>>2]|0)){c[Q>>2]=f-e;break}else{c[Q>>2]=f+e;break}}while(0);if((c[P>>2]|0)>=(c[Q>>2]|0))break;L=(c[O>>2]|0)+-1|0;c[O>>2]=L}while((L|0)>1101);c[(c[Pb>>2]|0)+14336>>2]=c[O>>2];if(c[(c[Pb>>2]|0)+14344>>2]|0)break;if((c[(c[Pb>>2]|0)+14320>>2]|0)==1002)break;if(c[(c[Pb>>2]|0)+8+76>>2]|0)break;if((c[(c[Pb>>2]|0)+14336>>2]|0)<=1103)break;c[(c[Pb>>2]|0)+14336>>2]=1103}while(0);if((c[(c[Pb>>2]|0)+14336>>2]|0)>(c[(c[Pb>>2]|0)+120>>2]|0))c[(c[Pb>>2]|0)+14336>>2]=c[(c[Pb>>2]|0)+120>>2];if((c[(c[Pb>>2]|0)+116>>2]|0)!=-1e3)c[(c[Pb>>2]|0)+14336>>2]=c[(c[Pb>>2]|0)+116>>2];if((c[Aa>>2]|0)<15e3?(c[(c[Pb>>2]|0)+14320>>2]|0)!=1002:0){if((c[(c[Pb>>2]|0)+14336>>2]|0)<1103)e=c[(c[Pb>>2]|0)+14336>>2]|0;else e=1103;c[(c[Pb>>2]|0)+14336>>2]=e}do if((c[(c[Pb>>2]|0)+132>>2]|0)<=24e3){if((c[(c[Pb>>2]|0)+14336>>2]|0)<=1104)break;c[(c[Pb>>2]|0)+14336>>2]=1104}while(0);do if((c[(c[Pb>>2]|0)+132>>2]|0)<=16e3){if((c[(c[Pb>>2]|0)+14336>>2]|0)<=1103)break;c[(c[Pb>>2]|0)+14336>>2]=1103}while(0);do if((c[(c[Pb>>2]|0)+132>>2]|0)<=12e3){if((c[(c[Pb>>2]|0)+14336>>2]|0)<=1102)break;c[(c[Pb>>2]|0)+14336>>2]=1102}while(0);do if((c[(c[Pb>>2]|0)+132>>2]|0)<=8e3){if((c[(c[Pb>>2]|0)+14336>>2]|0)<=1101)break;c[(c[Pb>>2]|0)+14336>>2]=1101}while(0);do if(c[(c[Pb>>2]|0)+18212>>2]|0){if((c[(c[Pb>>2]|0)+116>>2]|0)!=-1e3)break;do if((c[_a>>2]|0)<=((c[(c[Pb>>2]|0)+14288>>2]|0)*18e3|0)){if((c[(c[Pb>>2]|0)+14320>>2]|0)!=1002){Eb=177;break}c[S>>2]=1101}else Eb=177;while(0);a:do if((Eb|0)==177){do if((c[_a>>2]|0)<=((c[(c[Pb>>2]|0)+14288>>2]|0)*24e3|0)){if((c[(c[Pb>>2]|0)+14320>>2]|0)!=1002)break;c[S>>2]=1102;break a}while(0);if((c[_a>>2]|0)<=((c[(c[Pb>>2]|0)+14288>>2]|0)*3e4|0)){c[S>>2]=1103;break}if((c[_a>>2]|0)<=((c[(c[Pb>>2]|0)+14288>>2]|0)*44e3|0)){c[S>>2]=1104;break}else{c[S>>2]=1105;break}}while(0);if((c[(c[Pb>>2]|0)+18212>>2]|0)>(c[S>>2]|0))e=c[(c[Pb>>2]|0)+18212>>2]|0;else e=c[S>>2]|0;c[(c[Pb>>2]|0)+18212>>2]=e;S=c[Pb>>2]|0;c[(c[Pb>>2]|0)+14336>>2]=c[((c[(c[Pb>>2]|0)+14336>>2]|0)<(c[(c[Pb>>2]|0)+18212>>2]|0)?S+14336|0:S+18212|0)>>2]}while(0);S=c[lb>>2]|0;c[V>>2]=c[aa>>2];Wa(S,4036,V)|0;do if((c[(c[Pb>>2]|0)+14320>>2]|0)==1002){if((c[(c[Pb>>2]|0)+14336>>2]|0)!=1102)break;c[(c[Pb>>2]|0)+14336>>2]=1103}while(0);if(c[(c[Pb>>2]|0)+164>>2]|0)c[(c[Pb>>2]|0)+14336>>2]=1101;do if((c[Fb>>2]|0)>((c[(c[Pb>>2]|0)+132>>2]|0)/50|0|0)){if((c[(c[Pb>>2]|0)+14320>>2]|0)!=1002?(c[(c[Pb>>2]|0)+14336>>2]|0)<=1103:0)break;if((c[T>>2]|0)!=-1){c[(c[Pb>>2]|0)+172+8508>>2]=c[T>>2];c[(c[Pb>>2]|0)+172+8512>>2]=c[U>>2]}c[ha>>2]=(c[Fb>>2]|0)>((c[(c[Pb>>2]|0)+132>>2]|0)/25|0|0)?3:2;if(1276<(((c[Z>>2]|0)-3|0)/(c[ha>>2]|0)|0|0))e=1276;else e=((c[Z>>2]|0)-3|0)/(c[ha>>2]|0)|0;c[fa>>2]=e;e=N(c[ha>>2]|0,c[fa>>2]|0)|0;c[na>>2]=$()|0;f=l;l=l+((1*e|0)+15&-16)|0;Ci(oa)|0;c[ia>>2]=c[(c[Pb>>2]|0)+124>>2];c[ja>>2]=c[(c[Pb>>2]|0)+116>>2];c[ka>>2]=c[(c[Pb>>2]|0)+108>>2];c[(c[Pb>>2]|0)+124>>2]=c[(c[Pb>>2]|0)+14320>>2];c[(c[Pb>>2]|0)+116>>2]=c[(c[Pb>>2]|0)+14336>>2];c[(c[Pb>>2]|0)+108>>2]=c[(c[Pb>>2]|0)+14288>>2];c[la>>2]=c[(c[Pb>>2]|0)+8+56>>2];e=c[Pb>>2]|0;if(c[la>>2]|0)c[e+108>>2]=1;else c[(c[Pb>>2]|0)+14328>>2]=c[e+14288>>2];c[Za>>2]=0;while(1){e=c[Pb>>2]|0;if((c[Za>>2]|0)>=(c[ha>>2]|0)){Eb=214;break}c[e+8+56>>2]=0;do if(c[Lb>>2]|0){if((c[Za>>2]|0)!=((c[ha>>2]|0)-1|0))break;c[(c[Pb>>2]|0)+124>>2]=1002}while(0);Jb=(c[pa>>2]|0)+((N(c[Za>>2]|0,(N(c[(c[Pb>>2]|0)+100>>2]|0,c[(c[Pb>>2]|0)+132>>2]|0)|0)/50|0)|0)<<2)|0;Kb=f+(N(c[Za>>2]|0,c[fa>>2]|0)|0)|0;c[ga>>2]=oi(c[Pb>>2]|0,Jb,(c[(c[Pb>>2]|0)+132>>2]|0)/50|0,Kb,c[fa>>2]|0,c[aa>>2]|0,0,0,c[ba>>2]|0,c[ca>>2]|0,c[da>>2]|0,c[ea>>2]|0,c[qa>>2]|0)|0;if((c[ga>>2]|0)<0){Eb=210;break}Kb=f+(N(c[Za>>2]|0,c[fa>>2]|0)|0)|0;c[Mb>>2]=Di(oa,Kb,c[ga>>2]|0)|0;if((c[Mb>>2]|0)<0){Eb=212;break}c[Za>>2]=(c[Za>>2]|0)+1}do if((Eb|0)==210){c[Ob>>2]=-3;c[Nb>>2]=1}else if((Eb|0)==212){c[Ob>>2]=-3;c[Nb>>2]=1}else if((Eb|0)==214){if(c[e+136>>2]|0)c[ma>>2]=c[Z>>2];else{if((((c[(c[Pb>>2]|0)+148>>2]|0)*3|0)/(1200/(c[ha>>2]|0)|0|0)|0|0)<(c[Z>>2]|0))e=((c[(c[Pb>>2]|0)+148>>2]|0)*3|0)/(1200/(c[ha>>2]|0)|0|0)|0;else e=c[Z>>2]|0;c[ma>>2]=e}c[Mb>>2]=Fi(oa,0,c[ha>>2]|0,c[Qb>>2]|0,c[ma>>2]|0,0,((c[(c[Pb>>2]|0)+136>>2]|0)!=0^1)&1)|0;if((c[Mb>>2]|0)<0){c[Ob>>2]=-3;c[Nb>>2]=1;break}else{c[(c[Pb>>2]|0)+124>>2]=c[ia>>2];c[(c[Pb>>2]|0)+116>>2]=c[ja>>2];c[(c[Pb>>2]|0)+108>>2]=c[ka>>2];c[(c[Pb>>2]|0)+8+56>>2]=c[la>>2];c[Ob>>2]=c[Mb>>2];c[Nb>>2]=1;break}}while(0);_(c[na>>2]|0);Qb=c[Ob>>2]|0;l=Rb;return Qb|0}while(0);c[qb>>2]=c[(c[Pb>>2]|0)+14336>>2];if((c[qb>>2]|0)>1103?(c[(c[Pb>>2]|0)+14320>>2]|0)==1e3:0)c[(c[Pb>>2]|0)+14320>>2]=1001;if((c[qb>>2]|0)<=1103?(c[(c[Pb>>2]|0)+14320>>2]|0)==1001:0)c[(c[Pb>>2]|0)+14320>>2]=1e3;oa=N(c[(c[Pb>>2]|0)+148>>2]|0,c[Fb>>2]|0)|0;if(((c[Jb>>2]|0)-(c[Ib>>2]|0)|0)<((oa|0)/(c[(c[Pb>>2]|0)+132>>2]<<3|0)|0|0))e=(c[Jb>>2]|0)-(c[Ib>>2]|0)|0;else{e=N(c[(c[Pb>>2]|0)+148>>2]|0,c[Fb>>2]|0)|0;e=(e|0)/(c[(c[Pb>>2]|0)+132>>2]<<3|0)|0}c[Xa>>2]=e-1;c[Qb>>2]=(c[Qb>>2]|0)+1;Tb(Gb,c[Qb>>2]|0,(c[Jb>>2]|0)-1|0);na=N((c[ab>>2]|0)+(c[Fb>>2]|0)|0,c[(c[Pb>>2]|0)+100>>2]|0)|0;c[Kb>>2]=$()|0;r=l;l=l+((1*(na<<2)|0)+15&-16)|0;na=(c[Pb>>2]|0)+14372+((N((c[(c[Pb>>2]|0)+160>>2]|0)-(c[ab>>2]|0)|0,c[(c[Pb>>2]|0)+100>>2]|0)|0)<<2)|0;oa=(N(c[ab>>2]|0,c[(c[Pb>>2]|0)+100>>2]|0)|0)<<2;_i(r|0,na|0,oa+0|0)|0;if((c[(c[Pb>>2]|0)+14320>>2]|0)==1002)c[W>>2]=(Bf(60)|0)<<8;else c[W>>2]=c[(c[Ga>>2]|0)+8>>2];c[(c[Pb>>2]|0)+14296>>2]=(c[(c[Pb>>2]|0)+14296>>2]|0)+((((c[W>>2]|0)-(c[(c[Pb>>2]|0)+14296>>2]|0)>>16)*983|0)+(((c[W>>2]|0)-(c[(c[Pb>>2]|0)+14296>>2]|0)&65535)*983>>16));c[X>>2]=Ff(c[(c[Pb>>2]|0)+14296>>2]>>8)|0;e=c[pa>>2]|0;if((c[(c[Pb>>2]|0)+96>>2]|0)==2048){pa=r+((N(c[ab>>2]|0,c[(c[Pb>>2]|0)+100>>2]|0)|0)<<2)|0;ri(e,c[X>>2]|0,pa,(c[Pb>>2]|0)+14304|0,c[Fb>>2]|0,c[(c[Pb>>2]|0)+100>>2]|0,c[(c[Pb>>2]|0)+132>>2]|0)}else{pa=r+((N(c[ab>>2]|0,c[(c[Pb>>2]|0)+100>>2]|0)|0)<<2)|0;si(e,3,pa,(c[Pb>>2]|0)+14304|0,c[Fb>>2]|0,c[(c[Pb>>2]|0)+100>>2]|0,c[(c[Pb>>2]|0)+132>>2]|0)}do if(c[qa>>2]|0){pa=r+((N(c[ab>>2]|0,c[(c[Pb>>2]|0)+100>>2]|0)|0)<<2)|0;qa=r+((N(c[ab>>2]|0,c[(c[Pb>>2]|0)+100>>2]|0)|0)<<2)|0;g[Y>>2]=+ti(pa,qa,N(c[Fb>>2]|0,c[(c[Pb>>2]|0)+100>>2]|0)|0);if(+g[Y>>2]<1.0e9?!(+g[Y>>2]!=+g[Y>>2]):0)break;qa=r+((N(c[ab>>2]|0,c[(c[Pb>>2]|0)+100>>2]|0)|0)<<2)|0;aj(qa|0,0,(N(c[Fb>>2]|0,c[(c[Pb>>2]|0)+100>>2]|0)|0)<<2|0)|0;g[(c[Pb>>2]|0)+14304+12>>2]=0.0;g[(c[Pb>>2]|0)+14304+8>>2]=0.0;g[(c[Pb>>2]|0)+14304+4>>2]=0.0;g[(c[Pb>>2]|0)+14304>>2]=0.0}while(0);g[$a>>2]=1.0;if((c[(c[Pb>>2]|0)+14320>>2]|0)!=1002){qa=N(c[(c[Pb>>2]|0)+100>>2]|0,c[Fb>>2]|0)|0;c[Ma>>2]=$()|0;q=l;l=l+((1*(qa<<1)|0)+15&-16)|0;c[ra>>2]=N(c[Xa>>2]<<3,c[Ca>>2]|0)|0;do if((c[(c[Pb>>2]|0)+14320>>2]|0)==1001){e=N(c[(c[Pb>>2]|0)+14288>>2]|0,5e3+(((c[(c[Pb>>2]|0)+132>>2]|0)==((c[Fb>>2]|0)*100|0)&1)*1e3|0)|0)|0;c[(c[Pb>>2]|0)+8+28>>2]=e;e=(c[ra>>2]|0)-(c[(c[Pb>>2]|0)+8+28>>2]|0)|0;if((c[qb>>2]|0)==1104){e=(e<<1|0)/3|0;f=c[Pb>>2]|0}else{e=(e*3|0)/5|0;f=c[Pb>>2]|0}qa=f+8+28|0;c[qa>>2]=(c[qa>>2]|0)+e;if((c[(c[Pb>>2]|0)+8+28>>2]|0)>((c[ra>>2]<<2|0)/5|0|0))c[(c[Pb>>2]|0)+8+28>>2]=(c[ra>>2]<<2|0)/5|0;if(c[(c[Pb>>2]|0)+14348>>2]|0)break;c[sa>>2]=(c[ra>>2]|0)-(c[(c[Pb>>2]|0)+8+28>>2]|0);c[ta>>2]=(c[qb>>2]|0)==1104?3e3:3600;g[$a>>2]=+(c[sa>>2]|0)/(+(c[sa>>2]|0)+ +(N(c[(c[Pb>>2]|0)+14288>>2]|0,c[ta>>2]|0)|0));g[$a>>2]=+g[$a>>2]<.8571428656578064?+g[$a>>2]+.1428571492433548:1.0}else c[(c[Pb>>2]|0)+8+28>>2]=c[ra>>2];while(0);do if(c[(c[Pb>>2]|0)+14348>>2]|0){if(!(c[(c[Pb>>2]|0)+136>>2]|0))break;if(c[(c[Pb>>2]|0)+164>>2]|0)break;g[ua>>2]=0.0;c[xa>>2]=17;b[ya>>1]=16e3;do if((c[(c[Pb>>2]|0)+14336>>2]|0)==1101){c[xa>>2]=13;b[ya>>1]=8e3}else{if((c[(c[Pb>>2]|0)+14336>>2]|0)!=1102)break;c[xa>>2]=15;b[ya>>1]=12e3}while(0);c[wa>>2]=0;while(1){if((c[wa>>2]|0)>=(c[(c[Pb>>2]|0)+100>>2]|0))break;c[Za>>2]=0;while(1){if((c[Za>>2]|0)>=(c[xa>>2]|0))break;if(+g[(c[(c[Pb>>2]|0)+14348>>2]|0)+(((c[wa>>2]|0)*21|0)+(c[Za>>2]|0)<<2)>>2]<.5)t=+g[(c[(c[Pb>>2]|0)+14348>>2]|0)+(((c[wa>>2]|0)*21|0)+(c[Za>>2]|0)<<2)>>2];else t=.5;do if(t>-2.0){if(!(+g[(c[(c[Pb>>2]|0)+14348>>2]|0)+(((c[wa>>2]|0)*21|0)+(c[Za>>2]|0)<<2)>>2]<.5)){t=.5;break}t=+g[(c[(c[Pb>>2]|0)+14348>>2]|0)+(((c[wa>>2]|0)*21|0)+(c[Za>>2]|0)<<2)>>2]}else t=-2.0;while(0);g[za>>2]=t;if(+g[za>>2]>0.0)g[za>>2]=+g[za>>2]*.5;g[ua>>2]=+g[ua>>2]+ +g[za>>2];c[Za>>2]=(c[Za>>2]|0)+1}c[wa>>2]=(c[wa>>2]|0)+1}g[va>>2]=+g[ua>>2]/+(c[xa>>2]|0)*+(c[(c[Pb>>2]|0)+100>>2]|0);g[va>>2]=+g[va>>2]+.20000000298023224;c[Ba>>2]=~~(+(b[ya>>1]|0)*+g[va>>2]);if((c[Ba>>2]|0)>((N(-2,c[(c[Pb>>2]|0)+8+28>>2]|0)|0)/3|0|0))e=c[Ba>>2]|0;else e=(N(-2,c[(c[Pb>>2]|0)+8+28>>2]|0)|0)/3|0;c[Ba>>2]=e;do if((c[(c[Pb>>2]|0)+14336>>2]|0)==1104)Eb=276;else{if((c[(c[Pb>>2]|0)+14336>>2]|0)==1105){Eb=276;break}e=c[Ba>>2]|0;f=c[Pb>>2]|0}while(0);if((Eb|0)==276){e=((c[Ba>>2]|0)*3|0)/5|0;f=c[Pb>>2]|0}za=f+8+28|0;c[za>>2]=(c[za>>2]|0)+e;Ba=N(c[Ba>>2]|0,c[Fb>>2]|0)|0;c[Xa>>2]=(c[Xa>>2]|0)+((Ba|0)/(c[(c[Pb>>2]|0)+132>>2]<<3|0)|0)}while(0);c[(c[Pb>>2]|0)+8+24>>2]=((c[Fb>>2]|0)*1e3|0)/(c[(c[Pb>>2]|0)+132>>2]|0)|0;c[(c[Pb>>2]|0)+8>>2]=c[(c[Pb>>2]|0)+100>>2];c[(c[Pb>>2]|0)+8+4>>2]=c[(c[Pb>>2]|0)+14288>>2];if((c[qb>>2]|0)==1101)c[(c[Pb>>2]|0)+8+20>>2]=8e3;else c[(c[Pb>>2]|0)+8+20>>2]=(c[qb>>2]|0)==1102?12e3:16e3;c[(c[Pb>>2]|0)+8+16>>2]=(c[(c[Pb>>2]|0)+14320>>2]|0)==1001?16e3:8e3;do if((c[(c[Pb>>2]|0)+14320>>2]|0)==1e3){c[Da>>2]=c[Aa>>2];c[(c[Pb>>2]|0)+8+12>>2]=16e3;if((c[Ca>>2]|0)>50)c[Da>>2]=(c[Da>>2]<<1|0)/3|0;if((c[Da>>2]|0)<13e3){c[(c[Pb>>2]|0)+8+12>>2]=12e3;if(12e3<(c[(c[Pb>>2]|0)+8+20>>2]|0))e=12e3;else e=c[(c[Pb>>2]|0)+8+20>>2]|0;c[(c[Pb>>2]|0)+8+20>>2]=e}if((c[Da>>2]|0)>=9600)break;c[(c[Pb>>2]|0)+8+12>>2]=8e3;if(8e3<(c[(c[Pb>>2]|0)+8+20>>2]|0))e=8e3;else e=c[(c[Pb>>2]|0)+8+20>>2]|0;c[(c[Pb>>2]|0)+8+20>>2]=e}else c[(c[Pb>>2]|0)+8+12>>2]=16e3;while(0);c[(c[Pb>>2]|0)+8+48>>2]=((c[(c[Pb>>2]|0)+136>>2]|0)!=0^1)&1;if(1275<((c[Jb>>2]|0)-1-(c[Ib>>2]|0)|0))e=1275;else e=(c[Jb>>2]|0)-1-(c[Ib>>2]|0)|0;c[La>>2]=e;c[(c[Pb>>2]|0)+8+52>>2]=c[La>>2]<<3;if((c[(c[Pb>>2]|0)+14320>>2]|0)==1001)c[(c[Pb>>2]|0)+8+52>>2]=((c[(c[Pb>>2]|0)+8+52>>2]|0)*9|0)/10|0;if(c[(c[Pb>>2]|0)+8+48>>2]|0){Da=N(c[(c[Pb>>2]|0)+8+28>>2]|0,c[Fb>>2]|0)|0;c[(c[Pb>>2]|0)+8+52>>2]=((Da|0)/(c[(c[Pb>>2]|0)+132>>2]<<3|0)|0)<<3;if(1>((c[(c[Pb>>2]|0)+8+28>>2]|0)-2e3|0))e=1;else e=(c[(c[Pb>>2]|0)+8+28>>2]|0)-2e3|0;c[(c[Pb>>2]|0)+8+28>>2]=e}if(c[Ha>>2]|0){c[Ea>>2]=0;c[Fa>>2]=N(c[(c[Pb>>2]|0)+100>>2]|0,(c[(c[Pb>>2]|0)+160>>2]|0)-(c[(c[Pb>>2]|0)+104>>2]|0)-((c[(c[Pb>>2]|0)+132>>2]|0)/400|0)|0)|0;ui((c[Pb>>2]|0)+14372+(c[Fa>>2]<<2)|0,(c[Pb>>2]|0)+14372+(c[Fa>>2]<<2)|0,0.0,1.0,c[(c[db>>2]|0)+4>>2]|0,(c[(c[Pb>>2]|0)+132>>2]|0)/400|0,c[(c[Pb>>2]|0)+100>>2]|0,c[(c[db>>2]|0)+60>>2]|0,c[(c[Pb>>2]|0)+132>>2]|0);aj((c[Pb>>2]|0)+14372|0,0,c[Fa>>2]<<2|0)|0;c[Za>>2]=0;while(1){if((c[Za>>2]|0)>=(N(c[(c[Pb>>2]|0)+160>>2]|0,c[(c[Pb>>2]|0)+100>>2]|0)|0))break;Ha=vi(+g[(c[Pb>>2]|0)+14372+(c[Za>>2]<<2)>>2])|0;b[q+(c[Za>>2]<<1)>>1]=Ha;c[Za>>2]=(c[Za>>2]|0)+1}Ed(c[Ga>>2]|0,(c[Pb>>2]|0)+8|0,q,c[(c[Pb>>2]|0)+160>>2]|0,0,Ea,1)|0}c[Za>>2]=0;while(1){if((c[Za>>2]|0)>=(N(c[Fb>>2]|0,c[(c[Pb>>2]|0)+100>>2]|0)|0))break;Ha=N(c[ab>>2]|0,c[(c[Pb>>2]|0)+100>>2]|0)|0;Ha=vi(+g[r+(Ha+(c[Za>>2]|0)<<2)>>2])|0;b[q+(c[Za>>2]<<1)>>1]=Ha;c[Za>>2]=(c[Za>>2]|0)+1}c[Mb>>2]=Ed(c[Ga>>2]|0,(c[Pb>>2]|0)+8|0,q,c[Fb>>2]|0,Gb,La,0)|0;do if(c[Mb>>2]|0){c[Ob>>2]=-3;c[Nb>>2]=1}else{e=c[Pb>>2]|0;if(!(c[La>>2]|0)){c[e+18216>>2]=0;Za=qi(c[(c[Pb>>2]|0)+14320>>2]|0,(c[(c[Pb>>2]|0)+132>>2]|0)/(c[Fb>>2]|0)|0,c[qb>>2]|0,c[(c[Pb>>2]|0)+14288>>2]|0)|0;a[(c[Qb>>2]|0)+-1>>0]=Za;c[Ob>>2]=1;c[Nb>>2]=1;break}do if((c[e+14320>>2]|0)==1e3){if((c[(c[Pb>>2]|0)+8+68>>2]|0)==8e3){c[qb>>2]=1101;break}if((c[(c[Pb>>2]|0)+8+68>>2]|0)==12e3){c[qb>>2]=1102;break}if((c[(c[Pb>>2]|0)+8+68>>2]|0)!=16e3)break;c[qb>>2]=1103}while(0);c[(c[Pb>>2]|0)+8+60>>2]=c[(c[Pb>>2]|0)+8+84>>2];if(c[(c[Pb>>2]|0)+8+60>>2]|0){c[Hb>>2]=1;c[nb>>2]=0;c[(c[Pb>>2]|0)+14340>>2]=1}c[Nb>>2]=0}while(0);_(c[Ma>>2]|0);if(!(c[Nb>>2]|0))Eb=325}else Eb=325;b:do if((Eb|0)==325){c[Ia>>2]=21;switch(c[qb>>2]|0){case 1101:{c[Ia>>2]=13;break}case 1103:case 1102:{c[Ia>>2]=17;break}case 1104:{c[Ia>>2]=19;break}case 1105:{c[Ia>>2]=21;break}default:{}}Za=c[lb>>2]|0;c[Na>>2]=c[Ia>>2];Wa(Za,10012,Na)|0;Za=c[lb>>2]|0;c[Oa>>2]=c[(c[Pb>>2]|0)+14288>>2];Wa(Za,10008,Oa)|0;Za=c[lb>>2]|0;c[Pa>>2]=-1;Wa(Za,4002,Pa)|0;do if((c[(c[Pb>>2]|0)+14320>>2]|0)!=1e3){g[Ja>>2]=2.0;Za=c[lb>>2]|0;c[Qa>>2]=0;Wa(Za,4006,Qa)|0;if(c[(c[Pb>>2]|0)+8+64>>2]|0)g[Ja>>2]=0.0;Za=c[lb>>2]|0;c[Ra>>2]=~~+g[Ja>>2];Wa(Za,10002,Ra)|0;if((c[(c[Pb>>2]|0)+14320>>2]|0)==1001){c[Va>>2]=(wi(Gb)|0)+7>>3;if(c[Hb>>2]|0)c[Va>>2]=(c[Va>>2]|0)+((c[(c[Pb>>2]|0)+14320>>2]|0)==1001?3:1);e=c[Va>>2]|0;f=c[Xa>>2]|0;if(c[(c[Pb>>2]|0)+136>>2]|0){Za=N(c[(c[Pb>>2]|0)+8+28>>2]|0,c[Fb>>2]|0)|0;c[ob>>2]=e+f-((Za|0)/(c[(c[Pb>>2]|0)+132>>2]<<3|0)|0);break}else{c[ob>>2]=(e|0)>(f|0)?c[Va>>2]|0:c[Xa>>2]|0;break}}if(!(c[(c[Pb>>2]|0)+136>>2]|0)){c[ob>>2]=c[Xa>>2];break}c[Ka>>2]=0;do if((c[(c[Pb>>2]|0)+144>>2]|0)==5010){if((c[Fb>>2]|0)==((c[(c[Pb>>2]|0)+132>>2]|0)/50|0|0))break;c[Ka>>2]=N(((c[(c[Pb>>2]|0)+14288>>2]|0)*60|0)+40|0,((c[(c[Pb>>2]|0)+132>>2]|0)/(c[Fb>>2]|0)|0)-50|0)|0;if(!(c[rb>>2]|0))break;c[Ka>>2]=~~(+(c[Ka>>2]|0)*(+g[rb+4>>2]*.5+1.0))}while(0);Za=c[lb>>2]|0;c[Sa>>2]=1;Wa(Za,4006,Sa)|0;Za=c[lb>>2]|0;c[Ta>>2]=c[(c[Pb>>2]|0)+140>>2];Wa(Za,4020,Ta)|0;Za=c[lb>>2]|0;c[Ua>>2]=(c[(c[Pb>>2]|0)+148>>2]|0)+(c[Ka>>2]|0);Wa(Za,4002,Ua)|0;c[ob>>2]=(c[Jb>>2]|0)-1-(c[Ib>>2]|0)}else c[ob>>2]=0;while(0);Za=((N(c[(c[Pb>>2]|0)+100>>2]|0,c[(c[Pb>>2]|0)+132>>2]|0)|0)/400|0)<<2;f=l;l=l+((1*Za|0)+15&-16)|0;do if((c[(c[Pb>>2]|0)+14320>>2]|0)!=1e3){if((c[(c[Pb>>2]|0)+14320>>2]|0)==(c[(c[Pb>>2]|0)+14324>>2]|0))break;if((c[(c[Pb>>2]|0)+14324>>2]|0)<=0)break;Xa=(c[Pb>>2]|0)+14372+((N((c[(c[Pb>>2]|0)+160>>2]|0)-(c[ab>>2]|0)-((c[(c[Pb>>2]|0)+132>>2]|0)/400|0)|0,c[(c[Pb>>2]|0)+100>>2]|0)|0)<<2)|0;Za=((N(c[(c[Pb>>2]|0)+100>>2]|0,c[(c[Pb>>2]|0)+132>>2]|0)|0)/400|0)<<2;_i(f|0,Xa|0,Za+0|0)|0}while(0);Za=(N(c[(c[Pb>>2]|0)+100>>2]|0,(c[(c[Pb>>2]|0)+160>>2]|0)-((c[Fb>>2]|0)+(c[ab>>2]|0))|0)|0)>0;e=(c[Pb>>2]|0)+14372|0;if(Za){Xa=(c[Pb>>2]|0)+14372+((N(c[(c[Pb>>2]|0)+100>>2]|0,c[Fb>>2]|0)|0)<<2)|0;Za=(N(c[(c[Pb>>2]|0)+100>>2]|0,(c[(c[Pb>>2]|0)+160>>2]|0)-(c[Fb>>2]|0)-(c[ab>>2]|0)|0)|0)<<2;$i(e|0,Xa|0,Za+0|0)|0;Za=(c[Pb>>2]|0)+14372+((N(c[(c[Pb>>2]|0)+100>>2]|0,(c[(c[Pb>>2]|0)+160>>2]|0)-(c[Fb>>2]|0)-(c[ab>>2]|0)|0)|0)<<2)|0;ab=(N((c[Fb>>2]|0)+(c[ab>>2]|0)|0,c[(c[Pb>>2]|0)+100>>2]|0)|0)<<2;_i(Za|0,r|0,ab+0|0)|0}else{Za=r+((N((c[Fb>>2]|0)+(c[ab>>2]|0)-(c[(c[Pb>>2]|0)+160>>2]|0)|0,c[(c[Pb>>2]|0)+100>>2]|0)|0)<<2)|0;ab=(N(c[(c[Pb>>2]|0)+160>>2]|0,c[(c[Pb>>2]|0)+100>>2]|0)|0)<<2;_i(e|0,Za|0,ab+0|0)|0}if(+g[$a>>2]<1.0?1:+g[(c[Pb>>2]|0)+14300>>2]<1.0)ui(r,r,+g[(c[Pb>>2]|0)+14300>>2],+g[$a>>2],c[(c[db>>2]|0)+4>>2]|0,c[Fb>>2]|0,c[(c[Pb>>2]|0)+100>>2]|0,c[(c[db>>2]|0)+60>>2]|0,c[(c[Pb>>2]|0)+132>>2]|0);g[(c[Pb>>2]|0)+14300>>2]=+g[$a>>2];if(!((c[(c[Pb>>2]|0)+14320>>2]|0)==1001?(c[(c[Pb>>2]|0)+14288>>2]|0)!=1:0)){if(16384<((0>((c[_a>>2]|0)-3e4|0)?0:(c[_a>>2]|0)-3e4|0)<<1|0))e=16384;else e=(0>((c[_a>>2]|0)-3e4|0)?0:(c[_a>>2]|0)-3e4|0)<<1;c[(c[Pb>>2]|0)+8+80>>2]=e}do if(!(c[(c[Pb>>2]|0)+14348>>2]|0)){if((c[(c[Pb>>2]|0)+100>>2]|0)!=2)break;if((b[(c[Pb>>2]|0)+14292>>1]|0)>=16384?(c[(c[Pb>>2]|0)+8+80>>2]|0)>=16384:0)break;g[bb>>2]=+(b[(c[Pb>>2]|0)+14292>>1]|0);g[cb>>2]=+(c[(c[Pb>>2]|0)+8+80>>2]|0);g[bb>>2]=+g[bb>>2]*.00006103515625;g[cb>>2]=+g[cb>>2]*.00006103515625;xi(r,r,+g[bb>>2],+g[cb>>2],c[(c[db>>2]|0)+4>>2]|0,c[Fb>>2]|0,c[(c[Pb>>2]|0)+100>>2]|0,c[(c[db>>2]|0)+60>>2]|0,c[(c[Pb>>2]|0)+132>>2]|0);b[(c[Pb>>2]|0)+14292>>1]=c[(c[Pb>>2]|0)+8+80>>2]}while(0);do if((c[(c[Pb>>2]|0)+14320>>2]|0)!=1002){db=(wi(Gb)|0)+17|0;if((db+(((c[(c[Pb>>2]|0)+14320>>2]|0)==1001&1)*20|0)|0)>((c[Jb>>2]|0)-1<<3|0)){Eb=383;break}do if((c[(c[Pb>>2]|0)+14320>>2]|0)==1001){if((c[Hb>>2]|0)==0?(db=(wi(Gb)|0)+37|0,(db|0)>(c[ob>>2]<<3|0)):0)break;_b(Gb,c[Hb>>2]|0,12)}while(0);if(!(c[Hb>>2]|0))break;_b(Gb,c[nb>>2]|0,1);e=(c[Jb>>2]|0)-1|0;if((c[(c[Pb>>2]|0)+14320>>2]|0)==1001)c[eb>>2]=e-(c[ob>>2]|0);else c[eb>>2]=e-((wi(Gb)|0)+7>>3);if((c[eb>>2]|0)<((c[(c[Pb>>2]|0)+148>>2]|0)/1600|0|0))e=c[eb>>2]|0;else e=(c[(c[Pb>>2]|0)+148>>2]|0)/1600|0;c[Ib>>2]=e;if(257<((2>(c[Ib>>2]|0)?2:c[Ib>>2]|0)|0))e=257;else e=2>(c[Ib>>2]|0)?2:c[Ib>>2]|0;c[Ib>>2]=e;if((c[(c[Pb>>2]|0)+14320>>2]|0)!=1001)break;ac(Gb,(c[Ib>>2]|0)-2|0,256)}else Eb=383;while(0);if((Eb|0)==383)c[Hb>>2]=0;if(!(c[Hb>>2]|0)){c[(c[Pb>>2]|0)+14340>>2]=0;c[Ib>>2]=0}if((c[(c[Pb>>2]|0)+14320>>2]|0)!=1002)c[mb>>2]=17;if((c[(c[Pb>>2]|0)+14320>>2]|0)==1e3){c[Mb>>2]=(wi(Gb)|0)+7>>3;fc(Gb);c[ob>>2]=c[Mb>>2]}else{if(((c[Jb>>2]|0)-1-(c[Ib>>2]|0)|0)<(c[ob>>2]|0))e=(c[Jb>>2]|0)-1-(c[Ib>>2]|0)|0;else e=c[ob>>2]|0;c[ob>>2]=e;ec(Gb,c[ob>>2]|0)}if(!(!(c[Hb>>2]|0)?(c[(c[Pb>>2]|0)+14320>>2]|0)==1e3:0)){Eb=c[lb>>2]|0;c[wb>>2]=rb+(((rb-rb|0)/28|0)*28|0);Wa(Eb,10022,wb)|0}do if((c[Hb>>2]|0)!=0&(c[nb>>2]|0)!=0){Eb=c[lb>>2]|0;c[xb>>2]=0;Wa(Eb,10010,xb)|0;Eb=c[lb>>2]|0;c[yb>>2]=0;Wa(Eb,4006,yb)|0;c[fb>>2]=Ya(c[lb>>2]|0,r,(c[(c[Pb>>2]|0)+132>>2]|0)/200|0,(c[Qb>>2]|0)+(c[ob>>2]|0)|0,c[Ib>>2]|0,0)|0;if((c[fb>>2]|0)<0){c[Ob>>2]=-3;c[Nb>>2]=1;break b}else{Eb=c[lb>>2]|0;c[zb>>2]=pb+(((pb-pb|0)/4|0)<<2);Wa(Eb,4031,zb)|0;Wa(c[lb>>2]|0,4028,Ab)|0;break}}while(0);Eb=c[lb>>2]|0;c[Bb>>2]=c[mb>>2];Wa(Eb,10010,Bb)|0;do if((c[(c[Pb>>2]|0)+14320>>2]|0)!=1e3){do if((c[(c[Pb>>2]|0)+14320>>2]|0)!=(c[(c[Pb>>2]|0)+14324>>2]|0)){if((c[(c[Pb>>2]|0)+14324>>2]|0)<=0)break;Wa(c[lb>>2]|0,4028,Cb)|0;Ya(c[lb>>2]|0,f,(c[(c[Pb>>2]|0)+132>>2]|0)/400|0,gb,2,0)|0;Eb=c[lb>>2]|0;c[Db>>2]=0;Wa(Eb,10002,Db)|0}while(0);Eb=wi(Gb)|0;if((Eb|0)>(c[ob>>2]<<3|0))break;c[Mb>>2]=Ya(c[lb>>2]|0,r,c[Fb>>2]|0,0,c[ob>>2]|0,Gb)|0;if((c[Mb>>2]|0)>=0)break;c[Ob>>2]=-3;c[Nb>>2]=1;break b}while(0);do if(!((c[Hb>>2]|0)==0|(c[nb>>2]|0)!=0)){c[jb>>2]=(c[(c[Pb>>2]|0)+132>>2]|0)/200|0;c[kb>>2]=(c[(c[Pb>>2]|0)+132>>2]|0)/400|0;Wa(c[lb>>2]|0,4028,sb)|0;Eb=c[lb>>2]|0;c[tb>>2]=0;Wa(Eb,10010,tb)|0;Eb=c[lb>>2]|0;c[ub>>2]=0;Wa(Eb,10002,ub)|0;Eb=r+((N(c[(c[Pb>>2]|0)+100>>2]|0,(c[Fb>>2]|0)-(c[jb>>2]|0)-(c[kb>>2]|0)|0)|0)<<2)|0;Ya(c[lb>>2]|0,Eb,c[kb>>2]|0,ib,2,0)|0;Eb=r+((N(c[(c[Pb>>2]|0)+100>>2]|0,(c[Fb>>2]|0)-(c[jb>>2]|0)|0)|0)<<2)|0;c[hb>>2]=Ya(c[lb>>2]|0,Eb,c[jb>>2]|0,(c[Qb>>2]|0)+(c[ob>>2]|0)|0,c[Ib>>2]|0,0)|0;if((c[hb>>2]|0)<0){c[Ob>>2]=-3;c[Nb>>2]=1;break b}else{Eb=c[lb>>2]|0;c[vb>>2]=pb+(((pb-pb|0)/4|0)<<2);Wa(Eb,4031,vb)|0;break}}while(0);c[Qb>>2]=(c[Qb>>2]|0)+-1;e=qi(c[(c[Pb>>2]|0)+14320>>2]|0,(c[(c[Pb>>2]|0)+132>>2]|0)/(c[Fb>>2]|0)|0,c[qb>>2]|0,c[(c[Pb>>2]|0)+14288>>2]|0)|0;a[c[Qb>>2]>>0]=e;c[(c[Pb>>2]|0)+18216>>2]=c[Gb+28>>2]^c[pb>>2];e=c[Pb>>2]|0;if(c[Lb>>2]|0)f=1002;else{f=c[e+14320>>2]|0;e=c[Pb>>2]|0}c[e+14324>>2]=f;c[(c[Pb>>2]|0)+14328>>2]=c[(c[Pb>>2]|0)+14288>>2];c[(c[Pb>>2]|0)+14332>>2]=c[Fb>>2];c[(c[Pb>>2]|0)+14344>>2]=0;Lb=wi(Gb)|0;c:do if((Lb|0)>((c[Jb>>2]|0)-1<<3|0))if((c[Jb>>2]|0)<2){c[Ob>>2]=-2;c[Nb>>2]=1;break b}else{a[(c[Qb>>2]|0)+1>>0]=0;c[Mb>>2]=1;c[(c[Pb>>2]|0)+18216>>2]=0;break}else{if(!(((c[Hb>>2]|0?1:(c[(c[Pb>>2]|0)+14320>>2]|0)!=1e3)^1)&(c[Mb>>2]|0)>2))break;do{if(d[(c[Qb>>2]|0)+(c[Mb>>2]|0)>>0]|0)break c;c[Mb>>2]=(c[Mb>>2]|0)+-1}while((c[Mb>>2]|0)>2)}while(0);c[Mb>>2]=(c[Mb>>2]|0)+(1+(c[Ib>>2]|0));do if(!(c[(c[Pb>>2]|0)+136>>2]|0))if(Gi(c[Qb>>2]|0,c[Mb>>2]|0,c[Jb>>2]|0)|0){c[Ob>>2]=-3;c[Nb>>2]=1;break b}else{c[Mb>>2]=c[Jb>>2];break}while(0);c[Ob>>2]=c[Mb>>2];c[Nb>>2]=1}while(0);_(c[Kb>>2]|0);Qb=c[Ob>>2]|0;l=Rb;return Qb|0}while(0);c[A>>2]=c[(c[Pb>>2]|0)+14320>>2];if(!(c[(c[Pb>>2]|0)+14336>>2]|0))e=1101;else e=c[(c[Pb>>2]|0)+14336>>2]|0;c[B>>2]=e;if(!(c[A>>2]|0))c[A>>2]=1e3;if((c[Ca>>2]|0)>100)c[A>>2]=1002;if((c[Ca>>2]|0)<50)c[A>>2]=1e3;do if(!((c[A>>2]|0)==1e3&(c[B>>2]|0)>1103)){if((c[A>>2]|0)==1002&(c[B>>2]|0)==1102){c[B>>2]=1101;break}if((c[B>>2]|0)<=1104)c[B>>2]=1104}else c[B>>2]=1103;while(0);Pb=qi(c[A>>2]|0,c[Ca>>2]|0,c[B>>2]|0,c[(c[Pb>>2]|0)+14288>>2]|0)|0;a[c[Qb>>2]>>0]=Pb;c[Ob>>2]=1;Qb=c[Ob>>2]|0;l=Rb;return Qb|0}c[Ob>>2]=-1;Qb=c[Ob>>2]|0;l=Rb;return Qb|0}function pi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(!(c[g>>2]|0))c[g>>2]=(c[(c[f>>2]|0)+132>>2]|0)/400|0;a=c[f>>2]|0;if((c[(c[f>>2]|0)+152>>2]|0)==-1e3){c[e>>2]=(((c[a+132>>2]|0)*60|0)/(c[g>>2]|0)|0)+(N(c[(c[f>>2]|0)+132>>2]|0,c[(c[f>>2]|0)+100>>2]|0)|0);h=c[e>>2]|0;l=i;return h|0}if((c[a+152>>2]|0)==-1){h=N(c[h>>2]<<3,c[(c[f>>2]|0)+132>>2]|0)|0;c[e>>2]=(h|0)/(c[g>>2]|0)|0;h=c[e>>2]|0;l=i;return h|0}else{c[e>>2]=c[(c[f>>2]|0)+152>>2];h=c[e>>2]|0;l=i;return h|0}return 0}function qi(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;i=p+20|0;j=p+16|0;k=p+12|0;m=p+8|0;n=p+4|0;o=p+24|0;h=p;c[i>>2]=b;c[j>>2]=e;c[k>>2]=f;c[m>>2]=g;c[n>>2]=0;while(1){if((c[j>>2]|0)>=400)break;c[j>>2]=c[j>>2]<<1;c[n>>2]=(c[n>>2]|0)+1}do if((c[i>>2]|0)!=1e3)if((c[i>>2]|0)==1002){k=(c[k>>2]|0)-1102|0;c[h>>2]=k;c[h>>2]=(c[h>>2]|0)<0?0:k;a[o>>0]=-128;a[o>>0]=d[o>>0]|0|c[h>>2]<<5;a[o>>0]=d[o>>0]|0|c[n>>2]<<3;break}else{a[o>>0]=96;a[o>>0]=d[o>>0]|0|(c[k>>2]|0)-1104<<4;a[o>>0]=d[o>>0]|0|(c[n>>2]|0)-2<<3;break}else{a[o>>0]=(c[k>>2]|0)-1101<<5;a[o>>0]=d[o>>0]|0|(c[n>>2]|0)-2<<3}while(0);a[o>>0]=d[o>>0]|0|((c[m>>2]|0)==2&1)<<2;l=p;return a[o>>0]|0}function ri(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;q=l;l=l+64|0;o=q+60|0;v=q+56|0;p=q+52|0;i=q+48|0;j=q+44|0;k=q+40|0;u=q+36|0;m=q+24|0;n=q+16|0;s=q+8|0;t=q+4|0;r=q;c[o>>2]=a;c[v>>2]=b;c[p>>2]=d;c[i>>2]=e;c[j>>2]=f;c[k>>2]=g;c[u>>2]=h;c[s>>2]=(((c[v>>2]&65535)<<16>>16)*2471|0)/((c[u>>2]|0)/1e3|0|0)|0;c[t>>2]=268435456-((c[s>>2]|0)*471|0);c[m>>2]=c[t>>2];c[m+4>>2]=0-(c[t>>2]|0)<<1;c[m+8>>2]=c[t>>2];c[r>>2]=c[t>>2]>>6;h=N(c[s>>2]>>16,(c[s>>2]&65535)<<16>>16)|0;h=h+((N(c[s>>2]&65535,(c[s>>2]&65535)<<16>>16)|0)>>16)|0;h=N(c[r>>2]>>16,(h+(N(c[s>>2]|0,(c[s>>2]>>15)+1>>1)|0)-8388608&65535)<<16>>16)|0;g=N(c[s>>2]>>16,(c[s>>2]&65535)<<16>>16)|0;g=g+((N(c[s>>2]&65535,(c[s>>2]&65535)<<16>>16)|0)>>16)|0;g=h+((N(c[r>>2]&65535,(g+(N(c[s>>2]|0,(c[s>>2]>>15)+1>>1)|0)-8388608&65535)<<16>>16)|0)>>16)|0;h=N(c[s>>2]>>16,(c[s>>2]&65535)<<16>>16)|0;h=h+((N(c[s>>2]&65535,(c[s>>2]&65535)<<16>>16)|0)>>16)|0;c[n>>2]=g+(N(c[r>>2]|0,(h+(N(c[s>>2]|0,(c[s>>2]>>15)+1>>1)|0)-8388608>>15)+1>>1)|0);h=N(c[r>>2]>>16,(c[r>>2]&65535)<<16>>16)|0;h=h+((N(c[r>>2]&65535,(c[r>>2]&65535)<<16>>16)|0)>>16)|0;c[n+4>>2]=h+(N(c[r>>2]|0,(c[r>>2]>>15)+1>>1)|0);yi(c[o>>2]|0,m,n,c[i>>2]|0,c[p>>2]|0,c[j>>2]|0,c[k>>2]|0);if((c[k>>2]|0)!=2){l=q;return}yi((c[o>>2]|0)+4|0,m,n,(c[i>>2]|0)+8|0,(c[p>>2]|0)+4|0,c[j>>2]|0,c[k>>2]|0);l=q;return}function si(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=l;l=l+64|0;t=v+48|0;x=v+44|0;u=v+40|0;j=v+36|0;k=v+32|0;m=v+28|0;w=v+24|0;n=v+20|0;o=v+16|0;p=v+12|0;q=v+8|0;r=v+4|0;s=v;c[t>>2]=a;c[x>>2]=b;c[u>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=h;c[w>>2]=i;g[p>>2]=+(c[x>>2]|0)*4.0/+(c[w>>2]|0);c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[m>>2]|0))break;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[k>>2]|0))break;x=N(c[m>>2]|0,c[o>>2]|0)|0;g[q>>2]=+g[(c[t>>2]|0)+(x+(c[n>>2]|0)<<2)>>2];g[r>>2]=+g[q>>2]-+g[(c[j>>2]|0)+(c[n>>2]<<1<<2)>>2];g[(c[j>>2]|0)+(c[n>>2]<<1<<2)>>2]=+g[(c[j>>2]|0)+(c[n>>2]<<1<<2)>>2]+ +g[p>>2]*(+g[q>>2]-+g[(c[j>>2]|0)+(c[n>>2]<<1<<2)>>2])+1.0000000031710769e-30;g[s>>2]=+g[r>>2]-+g[(c[j>>2]|0)+((c[n>>2]<<1)+1<<2)>>2];g[(c[j>>2]|0)+((c[n>>2]<<1)+1<<2)>>2]=+g[(c[j>>2]|0)+((c[n>>2]<<1)+1<<2)>>2]+ +g[p>>2]*(+g[r>>2]-+g[(c[j>>2]|0)+((c[n>>2]<<1)+1<<2)>>2])+1.0000000031710769e-30;x=N(c[m>>2]|0,c[o>>2]|0)|0;g[(c[u>>2]|0)+(x+(c[n>>2]|0)<<2)>>2]=+g[s>>2];c[o>>2]=(c[o>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1}l=v;return}function ti(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[h>>2]=b;c[i>>2]=d;g[k>>2]=0.0;c[j>>2]=0;while(1){e=+g[k>>2];if((c[j>>2]|0)>=(c[i>>2]|0))break;g[k>>2]=e+ +g[(c[f>>2]|0)+(c[j>>2]<<2)>>2]*+g[(c[h>>2]|0)+(c[j>>2]<<2)>>2];c[j>>2]=(c[j>>2]|0)+1}l=m;return +e}function ui(a,b,d,e,f,h,i,j,k){a=a|0;b=b|0;d=+d;e=+e;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;B=l;l=l+80|0;A=B+64|0;m=B+60|0;n=B+56|0;o=B+52|0;C=B+48|0;p=B+44|0;q=B+40|0;r=B+36|0;D=B+32|0;s=B+28|0;t=B+24|0;u=B+20|0;v=B+16|0;w=B+12|0;x=B+8|0;y=B+4|0;z=B;c[A>>2]=a;c[m>>2]=b;g[n>>2]=d;g[o>>2]=e;c[C>>2]=f;c[p>>2]=h;c[q>>2]=i;c[r>>2]=j;c[D>>2]=k;c[t>>2]=48e3/(c[D>>2]|0)|0;c[u>>2]=(c[C>>2]|0)/(c[t>>2]|0)|0;k=(c[q>>2]|0)==1;c[s>>2]=0;a:do if(k)while(1){if((c[s>>2]|0)>=(c[u>>2]|0))break a;e=+g[(c[r>>2]|0)+((N(c[s>>2]|0,c[t>>2]|0)|0)<<2)>>2];g[x>>2]=e*+g[(c[r>>2]|0)+((N(c[s>>2]|0,c[t>>2]|0)|0)<<2)>>2];g[w>>2]=+g[x>>2]*+g[o>>2]+(1.0-+g[x>>2])*+g[n>>2];g[(c[m>>2]|0)+(c[s>>2]<<2)>>2]=+g[w>>2]*+g[(c[A>>2]|0)+(c[s>>2]<<2)>>2];c[s>>2]=(c[s>>2]|0)+1}else while(1){if((c[s>>2]|0)>=(c[u>>2]|0))break a;e=+g[(c[r>>2]|0)+((N(c[s>>2]|0,c[t>>2]|0)|0)<<2)>>2];g[z>>2]=e*+g[(c[r>>2]|0)+((N(c[s>>2]|0,c[t>>2]|0)|0)<<2)>>2];g[y>>2]=+g[z>>2]*+g[o>>2]+(1.0-+g[z>>2])*+g[n>>2];g[(c[m>>2]|0)+(c[s>>2]<<1<<2)>>2]=+g[y>>2]*+g[(c[A>>2]|0)+(c[s>>2]<<1<<2)>>2];g[(c[m>>2]|0)+((c[s>>2]<<1)+1<<2)>>2]=+g[y>>2]*+g[(c[A>>2]|0)+((c[s>>2]<<1)+1<<2)>>2];c[s>>2]=(c[s>>2]|0)+1}while(0);c[v>>2]=0;do{c[s>>2]=c[u>>2];while(1){if((c[s>>2]|0)>=(c[p>>2]|0))break;C=N(c[s>>2]|0,c[q>>2]|0)|0;D=N(c[s>>2]|0,c[q>>2]|0)|0;g[(c[m>>2]|0)+(D+(c[v>>2]|0)<<2)>>2]=+g[o>>2]*+g[(c[A>>2]|0)+(C+(c[v>>2]|0)<<2)>>2];c[s>>2]=(c[s>>2]|0)+1}D=(c[v>>2]|0)+1|0;c[v>>2]=D}while((D|0)<(c[q>>2]|0));l=B;return}function vi(a){a=+a;var b=0,c=0;c=l;l=l+16|0;b=c;g[b>>2]=a;g[b>>2]=+g[b>>2]*32768.0;g[b>>2]=+g[b>>2]>-32768.0?+g[b>>2]:-32768.0;g[b>>2]=+g[b>>2]<32767.0?+g[b>>2]:32767.0;b=(Ui(+g[b>>2])|0)&65535;l=c;return b|0}function wi(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=(c[(c[d>>2]|0)+20>>2]|0)-(32-(Q(c[(c[d>>2]|0)+28>>2]|0)|0))|0;l=b;return a|0}function xi(a,b,d,e,f,h,i,j,k){a=a|0;b=b|0;d=+d;e=+e;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=l;l=l+64|0;z=A+60|0;m=A+56|0;n=A+52|0;o=A+48|0;B=A+44|0;p=A+40|0;q=A+36|0;r=A+32|0;C=A+28|0;s=A+24|0;t=A+20|0;u=A+16|0;v=A+12|0;w=A+8|0;x=A+4|0;y=A;c[z>>2]=a;c[m>>2]=b;g[n>>2]=d;g[o>>2]=e;c[B>>2]=f;c[p>>2]=h;c[q>>2]=i;c[r>>2]=j;c[C>>2]=k;c[u>>2]=48e3/(c[C>>2]|0)|0;c[t>>2]=(c[B>>2]|0)/(c[u>>2]|0)|0;g[n>>2]=1.0-+g[n>>2];g[o>>2]=1.0-+g[o>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[t>>2]|0))break;e=+g[(c[r>>2]|0)+((N(c[s>>2]|0,c[u>>2]|0)|0)<<2)>>2];g[x>>2]=e*+g[(c[r>>2]|0)+((N(c[s>>2]|0,c[u>>2]|0)|0)<<2)>>2];g[w>>2]=+g[x>>2]*+g[o>>2]+(1.0-+g[x>>2])*+g[n>>2];e=+g[(c[z>>2]|0)+((N(c[s>>2]|0,c[q>>2]|0)|0)<<2)>>2];g[v>>2]=(e-+g[(c[z>>2]|0)+((N(c[s>>2]|0,c[q>>2]|0)|0)+1<<2)>>2])*.5;g[v>>2]=+g[w>>2]*+g[v>>2];e=+g[(c[m>>2]|0)+((N(c[s>>2]|0,c[q>>2]|0)|0)<<2)>>2];g[(c[m>>2]|0)+((N(c[s>>2]|0,c[q>>2]|0)|0)<<2)>>2]=e-+g[v>>2];e=+g[(c[m>>2]|0)+((N(c[s>>2]|0,c[q>>2]|0)|0)+1<<2)>>2];g[(c[m>>2]|0)+((N(c[s>>2]|0,c[q>>2]|0)|0)+1<<2)>>2]=e+ +g[v>>2];c[s>>2]=(c[s>>2]|0)+1}while(1){if((c[s>>2]|0)>=(c[p>>2]|0))break;e=+g[(c[z>>2]|0)+((N(c[s>>2]|0,c[q>>2]|0)|0)<<2)>>2];g[y>>2]=(e-+g[(c[z>>2]|0)+((N(c[s>>2]|0,c[q>>2]|0)|0)+1<<2)>>2])*.5;g[y>>2]=+g[o>>2]*+g[y>>2];e=+g[(c[m>>2]|0)+((N(c[s>>2]|0,c[q>>2]|0)|0)<<2)>>2];g[(c[m>>2]|0)+((N(c[s>>2]|0,c[q>>2]|0)|0)<<2)>>2]=e-+g[y>>2];e=+g[(c[m>>2]|0)+((N(c[s>>2]|0,c[q>>2]|0)|0)+1<<2)>>2];g[(c[m>>2]|0)+((N(c[s>>2]|0,c[q>>2]|0)|0)+1<<2)>>2]=e+ +g[y>>2];c[s>>2]=(c[s>>2]|0)+1}l=A;return}function yi(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=l;l=l+64|0;t=u+60|0;v=u+56|0;w=u+52|0;j=u+48|0;k=u+44|0;m=u+40|0;n=u+36|0;o=u+32|0;p=u+28|0;q=u+24|0;r=u+16|0;s=u;c[t>>2]=a;c[v>>2]=b;c[w>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=h;c[n>>2]=i;g[r>>2]=+(c[c[w>>2]>>2]|0)*3.725290298461914e-09;g[r+4>>2]=+(c[(c[w>>2]|0)+4>>2]|0)*3.725290298461914e-09;g[s>>2]=+(c[c[v>>2]>>2]|0)*3.725290298461914e-09;g[s+4>>2]=+(c[(c[v>>2]|0)+4>>2]|0)*3.725290298461914e-09;g[s+8>>2]=+(c[(c[v>>2]|0)+8>>2]|0)*3.725290298461914e-09;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[m>>2]|0))break;g[q>>2]=+g[(c[t>>2]|0)+((N(c[o>>2]|0,c[n>>2]|0)|0)<<2)>>2];g[p>>2]=+g[c[j>>2]>>2]+ +g[s>>2]*+g[q>>2];g[c[j>>2]>>2]=+g[(c[j>>2]|0)+4>>2]-+g[p>>2]*+g[r>>2]+ +g[s+4>>2]*+g[q>>2];g[(c[j>>2]|0)+4>>2]=-+g[p>>2]*+g[r+4>>2]+ +g[s+8>>2]*+g[q>>2]+1.0000000031710769e-30;g[(c[k>>2]|0)+((N(c[o>>2]|0,c[n>>2]|0)|0)<<2)>>2]=+g[p>>2];c[o>>2]=(c[o>>2]|0)+1}l=u;return}function zi(a,d,e,f,h){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;o=t+36|0;p=t+32|0;q=t+28|0;r=t+24|0;s=t+20|0;j=t+16|0;k=t+12|0;m=t+8|0;i=t+4|0;n=t;c[o>>2]=a;c[p>>2]=d;c[q>>2]=e;c[r>>2]=f;c[s>>2]=h;if((c[(c[o>>2]|0)+96>>2]|0)==2051)c[i>>2]=0;else c[i>>2]=c[(c[o>>2]|0)+104>>2];c[m>>2]=ji(c[p>>2]|0,c[q>>2]|0,c[(c[o>>2]|0)+144>>2]|0,c[(c[o>>2]|0)+100>>2]|0,c[(c[o>>2]|0)+132>>2]|0,c[(c[o>>2]|0)+148>>2]|0,c[i>>2]|0,1,(c[o>>2]|0)+172+6872|0)|0;h=N(c[m>>2]|0,c[(c[o>>2]|0)+100>>2]|0)|0;c[n>>2]=$()|0;a=l;l=l+((1*(h<<2)|0)+15&-16)|0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(N(c[m>>2]|0,c[(c[o>>2]|0)+100>>2]|0)|0))break;g[a+(c[j>>2]<<2)>>2]=+(b[(c[p>>2]|0)+(c[j>>2]<<1)>>1]|0)*.000030517578125;c[j>>2]=(c[j>>2]|0)+1}c[k>>2]=oi(c[o>>2]|0,a,c[m>>2]|0,c[r>>2]|0,c[s>>2]|0,16,c[p>>2]|0,c[q>>2]|0,0,-2,c[(c[o>>2]|0)+100>>2]|0,1,0)|0;s=c[k>>2]|0;_(c[n>>2]|0);l=t;return s|0}function Ai(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;i=o+24|0;j=o+20|0;k=o+16|0;m=o+12|0;n=o+8|0;g=o+4|0;h=o;c[i>>2]=a;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e;c[n>>2]=f;if((c[(c[i>>2]|0)+96>>2]|0)==2051)c[h>>2]=0;else c[h>>2]=c[(c[i>>2]|0)+104>>2];c[g>>2]=ji(c[j>>2]|0,c[k>>2]|0,c[(c[i>>2]|0)+144>>2]|0,c[(c[i>>2]|0)+100>>2]|0,c[(c[i>>2]|0)+132>>2]|0,c[(c[i>>2]|0)+148>>2]|0,c[h>>2]|0,2,(c[i>>2]|0)+172+6872|0)|0;n=oi(c[i>>2]|0,c[j>>2]|0,c[g>>2]|0,c[m>>2]|0,c[n>>2]|0,24,c[j>>2]|0,c[k>>2]|0,0,-2,c[(c[i>>2]|0)+100>>2]|0,2,1)|0;l=o;return n|0}function Bi(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0;Ua=l;l=l+512|0;Pa=Ua+48|0;Oa=Ua+40|0;Na=Ua+32|0;Ma=Ua+24|0;La=Ua+16|0;Ka=Ua+8|0;Ja=Ua;Sa=Ua+496|0;Ra=Ua+492|0;Va=Ua+488|0;Ta=Ua+484|0;ca=Ua+480|0;na=Ua+464|0;ya=Ua+456|0;Ia=Ua+452|0;f=Ua+448|0;h=Ua+444|0;i=Ua+440|0;j=Ua+436|0;k=Ua+432|0;m=Ua+428|0;Qa=Ua+424|0;n=Ua+420|0;o=Ua+416|0;p=Ua+412|0;q=Ua+408|0;r=Ua+404|0;s=Ua+400|0;t=Ua+396|0;u=Ua+392|0;v=Ua+388|0;w=Ua+384|0;x=Ua+380|0;y=Ua+376|0;z=Ua+372|0;A=Ua+368|0;B=Ua+364|0;C=Ua+360|0;D=Ua+356|0;E=Ua+352|0;F=Ua+348|0;G=Ua+344|0;H=Ua+340|0;I=Ua+336|0;J=Ua+332|0;K=Ua+328|0;L=Ua+324|0;M=Ua+320|0;N=Ua+316|0;O=Ua+312|0;P=Ua+308|0;Q=Ua+304|0;R=Ua+300|0;S=Ua+296|0;T=Ua+292|0;U=Ua+288|0;V=Ua+284|0;W=Ua+280|0;X=Ua+276|0;Y=Ua+272|0;Z=Ua+268|0;_=Ua+264|0;$=Ua+260|0;aa=Ua+256|0;ba=Ua+252|0;da=Ua+248|0;ea=Ua+244|0;fa=Ua+240|0;ga=Ua+236|0;ha=Ua+232|0;ia=Ua+228|0;ja=Ua+224|0;ka=Ua+220|0;la=Ua+216|0;ma=Ua+212|0;oa=Ua+208|0;pa=Ua+204|0;qa=Ua+200|0;ra=Ua+196|0;sa=Ua+192|0;ta=Ua+188|0;ua=Ua+184|0;va=Ua+180|0;wa=Ua+176|0;xa=Ua+88|0;za=Ua+84|0;Aa=Ua+80|0;Ba=Ua+76|0;Ca=Ua+72|0;Da=Ua+68|0;Ea=Ua+64|0;Fa=Ua+60|0;Ga=Ua+56|0;Ha=Ua+52|0;c[Ra>>2]=a;c[Va>>2]=d;c[Ta>>2]=0;c[na>>2]=e;c[ca>>2]=(c[Ra>>2]|0)+(c[c[Ra>>2]>>2]|0);a:do switch(c[Va>>2]|0){case 4e3:{Qa=(c[na>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[na>>2]=Qa+4;c[Ia>>2]=Va;c[ya>>2]=c[Ia>>2];do if(!((c[ya>>2]|0)!=2048&(c[ya>>2]|0)!=2049&(c[ya>>2]|0)!=2051)){if((c[(c[Ra>>2]|0)+14344>>2]|0)==0?(c[(c[Ra>>2]|0)+96>>2]|0)!=(c[ya>>2]|0):0)break;c[(c[Ra>>2]|0)+96>>2]=c[ya>>2];a=95;break a}while(0);c[Ta>>2]=-1;a=95;break}case 4001:{Qa=(c[na>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[na>>2]=Qa+4;c[h>>2]=Va;c[f>>2]=c[h>>2];if(c[f>>2]|0){c[c[f>>2]>>2]=c[(c[Ra>>2]|0)+96>>2];a=95}else a=96;break}case 4002:{Qa=(c[na>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[na>>2]=Qa+4;c[j>>2]=Va;c[i>>2]=c[j>>2];do if((c[i>>2]|0)!=-1e3&(c[i>>2]|0)!=-1){if((c[i>>2]|0)<=0){a=96;break a}if((c[i>>2]|0)<=500){c[i>>2]=500;break}if((c[i>>2]|0)>((c[(c[Ra>>2]|0)+100>>2]|0)*3e5|0))c[i>>2]=(c[(c[Ra>>2]|0)+100>>2]|0)*3e5}while(0);c[(c[Ra>>2]|0)+152>>2]=c[i>>2];a=95;break}case 4003:{Qa=(c[na>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[na>>2]=Qa+4;c[m>>2]=Va;c[k>>2]=c[m>>2];if(c[k>>2]|0){a=pi(c[Ra>>2]|0,c[(c[Ra>>2]|0)+14332>>2]|0,1276)|0;c[c[k>>2]>>2]=a;a=95}else a=96;break}case 4022:{Va=(c[na>>2]|0)+(4-1)&~(4-1);a=c[Va>>2]|0;c[na>>2]=Va+4;c[n>>2]=a;c[Qa>>2]=c[n>>2];a=c[Qa>>2]|0;if((c[Qa>>2]|0)<1){if((a|0)!=-1e3){a=96;break a}}else if((c[Qa>>2]|0)!=-1e3?(a|0)>(c[(c[Ra>>2]|0)+100>>2]|0):0){a=96;break a}c[(c[Ra>>2]|0)+108>>2]=c[Qa>>2];a=95;break}case 4023:{Qa=(c[na>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[na>>2]=Qa+4;c[p>>2]=Va;c[o>>2]=c[p>>2];if(c[o>>2]|0){c[c[o>>2]>>2]=c[(c[Ra>>2]|0)+108>>2];a=95}else a=96;break}case 4004:{Qa=(c[na>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[na>>2]=Qa+4;c[r>>2]=Va;c[q>>2]=c[r>>2];if(!((c[q>>2]|0)<1101|(c[q>>2]|0)>1105)){c[(c[Ra>>2]|0)+120>>2]=c[q>>2];a=c[Ra>>2]|0;if((c[(c[Ra>>2]|0)+120>>2]|0)==1101){c[a+8+12>>2]=8e3;a=95;break a}else{c[(c[Ra>>2]|0)+8+12>>2]=(c[a+120>>2]|0)==1102?12e3:16e3;a=95;break a}}else a=96;break}case 4005:{Qa=(c[na>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[na>>2]=Qa+4;c[t>>2]=Va;c[s>>2]=c[t>>2];if(c[s>>2]|0){c[c[s>>2]>>2]=c[(c[Ra>>2]|0)+120>>2];a=95}else a=96;break}case 4008:{Qa=(c[na>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[na>>2]=Qa+4;c[v>>2]=Va;c[u>>2]=c[v>>2];if(!(((c[u>>2]|0)<1101|(c[u>>2]|0)>1105)&(c[u>>2]|0)!=-1e3)){c[(c[Ra>>2]|0)+116>>2]=c[u>>2];a=c[Ra>>2]|0;if((c[(c[Ra>>2]|0)+116>>2]|0)==1101){c[a+8+12>>2]=8e3;a=95;break a}else{c[(c[Ra>>2]|0)+8+12>>2]=(c[a+116>>2]|0)==1102?12e3:16e3;a=95;break a}}else a=96;break}case 4009:{Qa=(c[na>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[na>>2]=Qa+4;c[x>>2]=Va;c[w>>2]=c[x>>2];if(c[w>>2]|0){c[c[w>>2]>>2]=c[(c[Ra>>2]|0)+14336>>2];a=95}else a=96;break}case 4016:{Qa=(c[na>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[na>>2]=Qa+4;c[z>>2]=Va;c[y>>2]=c[z>>2];if((c[y>>2]|0)<0|(c[y>>2]|0)>1)a=96;else{c[(c[Ra>>2]|0)+8+44>>2]=c[y>>2];a=95}break}case 4017:{Qa=(c[na>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[na>>2]=Qa+4;c[B>>2]=Va;c[A>>2]=c[B>>2];if(c[A>>2]|0){c[c[A>>2]>>2]=c[(c[Ra>>2]|0)+8+44>>2];a=95}else a=96;break}case 4010:{Qa=(c[na>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[na>>2]=Qa+4;c[D>>2]=Va;c[C>>2]=c[D>>2];if((c[C>>2]|0)<0|(c[C>>2]|0)>10)a=96;else{c[(c[Ra>>2]|0)+8+36>>2]=c[C>>2];a=c[ca>>2]|0;c[Ja>>2]=c[C>>2];Wa(a,4010,Ja)|0;a=95}break}case 4011:{Qa=(c[na>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[na>>2]=Qa+4;c[F>>2]=Va;c[E>>2]=c[F>>2];if(c[E>>2]|0){c[c[E>>2]>>2]=c[(c[Ra>>2]|0)+8+36>>2];a=95}else a=96;break}case 4012:{Qa=(c[na>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[na>>2]=Qa+4;c[H>>2]=Va;c[G>>2]=c[H>>2];if((c[G>>2]|0)<0|(c[G>>2]|0)>1)a=96;else{c[(c[Ra>>2]|0)+8+40>>2]=c[G>>2];a=95}break}case 4013:{Qa=(c[na>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[na>>2]=Qa+4;c[J>>2]=Va;c[I>>2]=c[J>>2];if(c[I>>2]|0){c[c[I>>2]>>2]=c[(c[Ra>>2]|0)+8+40>>2];a=95}else a=96;break}case 4014:{Qa=(c[na>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[na>>2]=Qa+4;c[L>>2]=Va;c[K>>2]=c[L>>2];if((c[K>>2]|0)<0|(c[K>>2]|0)>100)a=96;else{c[(c[Ra>>2]|0)+8+32>>2]=c[K>>2];a=c[ca>>2]|0;c[Ka>>2]=c[K>>2];Wa(a,4014,Ka)|0;a=95}break}case 4015:{Qa=(c[na>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[na>>2]=Qa+4;c[N>>2]=Va;c[M>>2]=c[N>>2];if(c[M>>2]|0){c[c[M>>2]>>2]=c[(c[Ra>>2]|0)+8+32>>2];a=95}else a=96;break}case 4006:{Qa=(c[na>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[na>>2]=Qa+4;c[P>>2]=Va;c[O>>2]=c[P>>2];if((c[O>>2]|0)<0|(c[O>>2]|0)>1)a=96;else{c[(c[Ra>>2]|0)+136>>2]=c[O>>2];c[(c[Ra>>2]|0)+8+48>>2]=1-(c[O>>2]|0);a=95}break}case 4007:{Qa=(c[na>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[na>>2]=Qa+4;c[R>>2]=Va;c[Q>>2]=c[R>>2];if(c[Q>>2]|0){c[c[Q>>2]>>2]=c[(c[Ra>>2]|0)+136>>2];a=95}else a=96;break}case 11018:{Qa=(c[na>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[na>>2]=Qa+4;c[T>>2]=Va;c[S>>2]=c[T>>2];if((c[S>>2]|0)<-1|(c[S>>2]|0)>100)a=96;else{c[(c[Ra>>2]|0)+128>>2]=c[S>>2];a=95}break}case 11019:{Qa=(c[na>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[na>>2]=Qa+4;c[V>>2]=Va;c[U>>2]=c[V>>2];if(c[U>>2]|0){c[c[U>>2]>>2]=c[(c[Ra>>2]|0)+128>>2];a=95}else a=96;break}case 4020:{Qa=(c[na>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[na>>2]=Qa+4;c[X>>2]=Va;c[W>>2]=c[X>>2];if((c[W>>2]|0)<0|(c[W>>2]|0)>1)a=96;else{c[(c[Ra>>2]|0)+140>>2]=c[W>>2];a=95}break}case 4021:{Qa=(c[na>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[na>>2]=Qa+4;c[Z>>2]=Va;c[Y>>2]=c[Z>>2];if(c[Y>>2]|0){c[c[Y>>2]>>2]=c[(c[Ra>>2]|0)+140>>2];a=95}else a=96;break}case 4024:{Qa=(c[na>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[na>>2]=Qa+4;c[$>>2]=Va;c[_>>2]=c[$>>2];if((c[_>>2]|0)!=-1e3&(c[_>>2]|0)!=3001&(c[_>>2]|0)!=3002)a=96;else{c[(c[Ra>>2]|0)+112>>2]=c[_>>2];a=95}break}case 4025:{Qa=(c[na>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[na>>2]=Qa+4;c[ba>>2]=Va;c[aa>>2]=c[ba>>2];if(c[aa>>2]|0){c[c[aa>>2]>>2]=c[(c[Ra>>2]|0)+112>>2];a=95}else a=96;break}case 4027:{Qa=(c[na>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[na>>2]=Qa+4;c[ea>>2]=Va;c[da>>2]=c[ea>>2];if(c[da>>2]|0){c[c[da>>2]>>2]=(c[(c[Ra>>2]|0)+132>>2]|0)/400|0;if((c[(c[Ra>>2]|0)+96>>2]|0)!=2051){a=c[da>>2]|0;c[a>>2]=(c[a>>2]|0)+(c[(c[Ra>>2]|0)+104>>2]|0);a=95}else a=95}else a=96;break}case 4029:{Qa=(c[na>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[na>>2]=Qa+4;c[ga>>2]=Va;c[fa>>2]=c[ga>>2];if(c[fa>>2]|0){c[c[fa>>2]>>2]=c[(c[Ra>>2]|0)+132>>2];a=95}else a=96;break}case 4031:{Qa=(c[na>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[na>>2]=Qa+4;c[ia>>2]=Va;c[ha>>2]=c[ia>>2];if(c[ha>>2]|0){c[c[ha>>2]>>2]=c[(c[Ra>>2]|0)+18216>>2];a=95}else a=96;break}case 4036:{Qa=(c[na>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[na>>2]=Qa+4;c[ka>>2]=Va;c[ja>>2]=c[ka>>2];if((c[ja>>2]|0)<8|(c[ja>>2]|0)>24)a=96;else{c[(c[Ra>>2]|0)+156>>2]=c[ja>>2];a=95}break}case 4037:{Qa=(c[na>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[na>>2]=Qa+4;c[ma>>2]=Va;c[la>>2]=c[ma>>2];if(c[la>>2]|0){c[c[la>>2]>>2]=c[(c[Ra>>2]|0)+156>>2];a=95}else a=96;break}case 4040:{Qa=(c[na>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[na>>2]=Qa+4;c[pa>>2]=Va;c[oa>>2]=c[pa>>2];if((c[oa>>2]|0)!=5e3&(c[oa>>2]|0)!=5001&(c[oa>>2]|0)!=5002&(c[oa>>2]|0)!=5003&(c[oa>>2]|0)!=5004&(c[oa>>2]|0)!=5005&(c[oa>>2]|0)!=5006&(c[oa>>2]|0)!=5010)a=96;else{c[(c[Ra>>2]|0)+144>>2]=c[oa>>2];a=c[ca>>2]|0;c[La>>2]=c[oa>>2];Wa(a,4040,La)|0;a=95}break}case 4041:{Qa=(c[na>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[na>>2]=Qa+4;c[ra>>2]=Va;c[qa>>2]=c[ra>>2];if(c[qa>>2]|0){c[c[qa>>2]>>2]=c[(c[Ra>>2]|0)+144>>2];a=95}else a=96;break}case 4042:{Qa=(c[na>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[na>>2]=Qa+4;c[ta>>2]=Va;c[sa>>2]=c[ta>>2];if((c[sa>>2]|0)>1|(c[sa>>2]|0)<0)a=96;else{c[(c[Ra>>2]|0)+8+64>>2]=c[sa>>2];a=95}break}case 4043:{Qa=(c[na>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[na>>2]=Qa+4;c[va>>2]=Va;c[ua>>2]=c[va>>2];if(c[ua>>2]|0){c[c[ua>>2]>>2]=c[(c[Ra>>2]|0)+8+64>>2];a=95}else a=96;break}case 4028:{c[wa>>2]=(c[Ra>>2]|0)+(c[(c[Ra>>2]|0)+4>>2]|0);Ji((c[Ra>>2]|0)+172|0);c[za>>2]=(c[Ra>>2]|0)+14288;aj(c[za>>2]|0,0,18220-((c[za>>2]|0)-(c[Ra>>2]|0))|0)|0;Wa(c[ca>>2]|0,4028,Ma)|0;Cd(c[wa>>2]|0,c[(c[Ra>>2]|0)+168>>2]|0,xa)|0;c[(c[Ra>>2]|0)+14288>>2]=c[(c[Ra>>2]|0)+100>>2];b[(c[Ra>>2]|0)+14292>>1]=16384;g[(c[Ra>>2]|0)+14300>>2]=1.0;c[(c[Ra>>2]|0)+14344>>2]=1;c[(c[Ra>>2]|0)+14320>>2]=1001;c[(c[Ra>>2]|0)+14336>>2]=1105;a=(Bf(60)|0)<<8;c[(c[Ra>>2]|0)+14296>>2]=a;a=95;break}case 11002:{Qa=(c[na>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[na>>2]=Qa+4;c[Ba>>2]=Va;c[Aa>>2]=c[Ba>>2];if(((c[Aa>>2]|0)<1e3|(c[Aa>>2]|0)>1002)&(c[Aa>>2]|0)!=-1e3)a=96;else{c[(c[Ra>>2]|0)+124>>2]=c[Aa>>2];a=95}break}case 10024:{Va=(c[na>>2]|0)+(4-1)&~(4-1);a=c[Va>>2]|0;c[na>>2]=Va+4;c[Da>>2]=a;c[Ca>>2]=c[Da>>2];c[(c[Ra>>2]|0)+164>>2]=c[Ca>>2];a=c[ca>>2]|0;c[Na>>2]=c[Ca>>2];c[Ta>>2]=Wa(a,10024,Na)|0;a=95;break}case 10026:{Va=(c[na>>2]|0)+(4-1)&~(4-1);a=c[Va>>2]|0;c[na>>2]=Va+4;c[Fa>>2]=a;c[Ea>>2]=c[Fa>>2];c[(c[Ra>>2]|0)+14348>>2]=c[Ea>>2];a=c[ca>>2]|0;c[Oa>>2]=(c[Ea>>2]|0)+((((c[Ea>>2]|0)-(c[Ea>>2]|0)|0)/4|0)<<2);c[Ta>>2]=Wa(a,10026,Oa)|0;a=95;break}case 10015:{Ra=(c[na>>2]|0)+(4-1)&~(4-1);Va=c[Ra>>2]|0;c[na>>2]=Ra+4;c[Ha>>2]=Va;c[Ga>>2]=c[Ha>>2];if(c[Ga>>2]|0){a=c[ca>>2]|0;c[Pa>>2]=(c[Ga>>2]|0)+((((c[Ga>>2]|0)-(c[Ga>>2]|0)|0)/4|0)<<2);c[Ta>>2]=Wa(a,10015,Pa)|0;a=95}else a=96;break}default:{c[Ta>>2]=-5;a=95}}while(0);if((a|0)==95){c[Sa>>2]=c[Ta>>2];Va=c[Sa>>2]|0;l=Ua;return Va|0}else if((a|0)==96){c[Sa>>2]=-1;Va=c[Sa>>2]|0;l=Ua;return Va|0}return 0}function Ci(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;c[(c[b>>2]|0)+4>>2]=0;l=d;return c[b>>2]|0}function Di(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=Ei(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,0)|0;l=e;return d|0}function Ei(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;j=q+24|0;k=q+20|0;m=q+16|0;n=q+12|0;o=q+8|0;p=q+28|0;h=q+4|0;i=q;c[k>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;if((c[n>>2]|0)<1){c[j>>2]=-4;p=c[j>>2]|0;l=q;return p|0}if(c[(c[k>>2]|0)+4>>2]|0){if(((d[c[k>>2]>>0]|0)&252|0)!=((d[c[m>>2]>>0]|0)&252|0)){c[j>>2]=-4;p=c[j>>2]|0;l=q;return p|0}}else{a[c[k>>2]>>0]=a[c[m>>2]>>0]|0;g=Ih(c[m>>2]|0,8e3)|0;c[(c[k>>2]|0)+296>>2]=g}c[h>>2]=$h(c[m>>2]|0,c[n>>2]|0)|0;if((c[h>>2]|0)<1){c[j>>2]=-4;p=c[j>>2]|0;l=q;return p|0}if((N((c[h>>2]|0)+(c[(c[k>>2]|0)+4>>2]|0)|0,c[(c[k>>2]|0)+296>>2]|0)|0)>960){c[j>>2]=-4;p=c[j>>2]|0;l=q;return p|0}c[i>>2]=Jh(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,p,(c[k>>2]|0)+8+(c[(c[k>>2]|0)+4>>2]<<2)|0,(c[k>>2]|0)+200+(c[(c[k>>2]|0)+4>>2]<<1)|0,0,0)|0;if((c[i>>2]|0)<1){c[j>>2]=c[i>>2];p=c[j>>2]|0;l=q;return p|0}else{p=(c[k>>2]|0)+4|0;c[p>>2]=(c[p>>2]|0)+(c[h>>2]|0);c[j>>2]=0;p=c[j>>2]|0;l=q;return p|0}return 0}function Fi(e,f,g,h,i,j,k){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=l;l=l+80|0;E=F+68|0;p=F+64|0;n=F+60|0;m=F+56|0;q=F+52|0;r=F+48|0;s=F+44|0;t=F+40|0;u=F+36|0;v=F+32|0;w=F+28|0;x=F+24|0;y=F+20|0;z=F+16|0;A=F+12|0;B=F+8|0;C=F+4|0;D=F;c[p>>2]=e;c[n>>2]=f;c[m>>2]=g;c[q>>2]=h;c[r>>2]=i;c[s>>2]=j;c[t>>2]=k;if(((c[n>>2]|0)>=0?(c[n>>2]|0)<(c[m>>2]|0):0)?(c[m>>2]|0)<=(c[(c[p>>2]|0)+4>>2]|0):0){c[v>>2]=(c[m>>2]|0)-(c[n>>2]|0);c[x>>2]=(c[p>>2]|0)+200+(c[n>>2]<<1);c[y>>2]=(c[p>>2]|0)+8+(c[n>>2]<<2);if(c[s>>2]|0)c[w>>2]=1+((b[(c[x>>2]|0)+((c[v>>2]|0)-1<<1)>>1]|0)>=252&1);else c[w>>2]=0;c[z>>2]=c[q>>2];do if((c[v>>2]|0)!=1){if((c[v>>2]|0)==2){e=b[c[x>>2]>>1]|0;if((b[(c[x>>2]|0)+2>>1]|0)==(b[c[x>>2]>>1]|0)){c[w>>2]=(c[w>>2]|0)+((e<<1)+1);if((c[w>>2]|0)<=(c[r>>2]|0)){k=(d[c[p>>2]>>0]&252|1)&255;n=c[z>>2]|0;c[z>>2]=n+1;a[n>>0]=k;break}c[E>>2]=-2;E=c[E>>2]|0;l=F;return E|0}else{c[w>>2]=(c[w>>2]|0)+(e+(b[(c[x>>2]|0)+2>>1]|0)+2+((b[c[x>>2]>>1]|0)>=252&1));if((c[w>>2]|0)<=(c[r>>2]|0)){k=(d[c[p>>2]>>0]&252|2)&255;n=c[z>>2]|0;c[z>>2]=n+1;a[n>>0]=k;n=Hh(b[c[x>>2]>>1]|0,c[z>>2]|0)|0;c[z>>2]=(c[z>>2]|0)+n;break}c[E>>2]=-2;E=c[E>>2]|0;l=F;return E|0}}}else{c[w>>2]=(c[w>>2]|0)+((b[c[x>>2]>>1]|0)+1);if((c[w>>2]|0)<=(c[r>>2]|0)){k=d[c[p>>2]>>0]&252;n=c[z>>2]|0;c[z>>2]=n+1;a[n>>0]=k;break}c[E>>2]=-2;E=c[E>>2]|0;l=F;return E|0}while(0);if((c[v>>2]|0)<=2){if(c[t>>2]|0?(c[w>>2]|0)<(c[r>>2]|0):0)o=23}else o=23;a:do if((o|0)==23){c[B>>2]=0;c[z>>2]=c[q>>2];if(c[s>>2]|0)c[w>>2]=1+((b[(c[x>>2]|0)+((c[v>>2]|0)-1<<1)>>1]|0)>=252&1);else c[w>>2]=0;c[A>>2]=0;c[u>>2]=1;while(1){if((c[u>>2]|0)>=(c[v>>2]|0))break;if((b[(c[x>>2]|0)+(c[u>>2]<<1)>>1]|0)!=(b[c[x>>2]>>1]|0)){o=29;break}c[u>>2]=(c[u>>2]|0)+1}if((o|0)==29)c[A>>2]=1;do if(c[A>>2]|0){c[w>>2]=(c[w>>2]|0)+2;c[u>>2]=0;while(1){e=c[x>>2]|0;if((c[u>>2]|0)>=((c[v>>2]|0)-1|0))break;c[w>>2]=(c[w>>2]|0)+(1+((b[e+(c[u>>2]<<1)>>1]|0)>=252&1)+(b[(c[x>>2]|0)+(c[u>>2]<<1)>>1]|0));c[u>>2]=(c[u>>2]|0)+1}c[w>>2]=(c[w>>2]|0)+(b[e+((c[v>>2]|0)-1<<1)>>1]|0);if((c[w>>2]|0)<=(c[r>>2]|0)){p=(d[c[p>>2]>>0]&252|3)&255;o=c[z>>2]|0;c[z>>2]=o+1;a[o>>0]=p;o=(c[v>>2]|128)&255;p=c[z>>2]|0;c[z>>2]=p+1;a[p>>0]=o;break}c[E>>2]=-2;E=c[E>>2]|0;l=F;return E|0}else{o=(N(c[v>>2]|0,b[c[x>>2]>>1]|0)|0)+2|0;c[w>>2]=(c[w>>2]|0)+o;if((c[w>>2]|0)<=(c[r>>2]|0)){p=(d[c[p>>2]>>0]&252|3)&255;o=c[z>>2]|0;c[z>>2]=o+1;a[o>>0]=p;o=c[v>>2]&255;p=c[z>>2]|0;c[z>>2]=p+1;a[p>>0]=o;break}c[E>>2]=-2;E=c[E>>2]|0;l=F;return E|0}while(0);if(c[t>>2]|0)e=(c[r>>2]|0)-(c[w>>2]|0)|0;else e=0;c[B>>2]=e;if(c[B>>2]|0){p=(c[q>>2]|0)+1|0;a[p>>0]=d[p>>0]|64;c[C>>2]=((c[B>>2]|0)-1|0)/255|0;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[C>>2]|0))break;p=c[z>>2]|0;c[z>>2]=p+1;a[p>>0]=-1;c[u>>2]=(c[u>>2]|0)+1}p=(c[B>>2]|0)-((c[C>>2]|0)*255|0)-1&255;C=c[z>>2]|0;c[z>>2]=C+1;a[C>>0]=p;c[w>>2]=(c[w>>2]|0)+(c[B>>2]|0)}if(c[A>>2]|0){c[u>>2]=0;while(1){if((c[u>>2]|0)>=((c[v>>2]|0)-1|0))break a;C=Hh(b[(c[x>>2]|0)+(c[u>>2]<<1)>>1]|0,c[z>>2]|0)|0;c[z>>2]=(c[z>>2]|0)+C;c[u>>2]=(c[u>>2]|0)+1}}}while(0);if(c[s>>2]|0){c[D>>2]=Hh(b[(c[x>>2]|0)+((c[v>>2]|0)-1<<1)>>1]|0,c[z>>2]|0)|0;c[z>>2]=(c[z>>2]|0)+(c[D>>2]|0)}c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[v>>2]|0))break;$i(c[z>>2]|0,c[(c[y>>2]|0)+(c[u>>2]<<2)>>2]|0,(b[(c[x>>2]|0)+(c[u>>2]<<1)>>1]|0)+0|0)|0;c[z>>2]=(c[z>>2]|0)+(b[(c[x>>2]|0)+(c[u>>2]<<1)>>1]|0);c[u>>2]=(c[u>>2]|0)+1}b:do if(c[t>>2]|0)while(1){if((c[z>>2]|0)>>>0>=((c[q>>2]|0)+(c[r>>2]|0)|0)>>>0)break b;D=c[z>>2]|0;c[z>>2]=D+1;a[D>>0]=0}while(0);c[E>>2]=c[w>>2];E=c[E>>2]|0;l=F;return E|0}c[E>>2]=-1;E=c[E>>2]|0;l=F;return E|0}function Gi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+320|0;e=k+316|0;f=k+312|0;g=k+308|0;h=k+304|0;i=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if((c[g>>2]|0)<1){c[e>>2]=-1;j=c[e>>2]|0;l=k;return j|0}if((c[g>>2]|0)==(c[h>>2]|0)){c[e>>2]=0;j=c[e>>2]|0;l=k;return j|0}if((c[g>>2]|0)>(c[h>>2]|0)){c[e>>2]=-1;j=c[e>>2]|0;l=k;return j|0}Ci(i)|0;$i((c[f>>2]|0)+(c[h>>2]|0)+(0-(c[g>>2]|0))|0,c[f>>2]|0,(c[g>>2]|0)+0|0)|0;Di(i,(c[f>>2]|0)+(c[h>>2]|0)+(0-(c[g>>2]|0))|0,c[g>>2]|0)|0;c[j>>2]=Fi(i,0,c[i+4>>2]|0,c[f>>2]|0,c[h>>2]|0,0,1)|0;if((c[j>>2]|0)>0){c[e>>2]=0;j=c[e>>2]|0;l=k;return j|0}else{c[e>>2]=c[j>>2];j=c[e>>2]|0;l=k;return j|0}return 0}function Hi(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=Ii()|0;c[c[d>>2]>>2]=a;Ji(c[d>>2]|0);l=b;return}function Ii(){return 0}function Ji(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=(c[d>>2]|0)+4;aj(c[e>>2]|0,0,14116-((c[e>>2]|0)-(c[d>>2]|0))|0)|0;l=b;return}function Ki(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;h=n+24|0;i=n+20|0;f=n+16|0;e=n+12|0;j=n+8|0;k=n+4|0;m=n;c[h>>2]=a;c[i>>2]=b;c[f>>2]=d;c[e>>2]=c[(c[h>>2]|0)+8508>>2];c[j>>2]=(c[(c[h>>2]|0)+8504>>2]|0)-(c[(c[h>>2]|0)+8508>>2]|0);if((c[j>>2]|0)<0)c[j>>2]=(c[j>>2]|0)+200;if((c[f>>2]|0)>480?(c[e>>2]|0)!=(c[(c[h>>2]|0)+8504>>2]|0):0){d=(c[e>>2]|0)+1|0;c[e>>2]=d;c[e>>2]=(c[e>>2]|0)==200?0:d}if((c[e>>2]|0)==(c[(c[h>>2]|0)+8504>>2]|0))c[e>>2]=(c[e>>2]|0)+-1;if((c[e>>2]|0)<0)c[e>>2]=199;_i(c[i>>2]|0,(c[h>>2]|0)+8516+((c[e>>2]|0)*28|0)|0,28|0)|0;b=(c[h>>2]|0)+8512|0;a=(c[f>>2]|0)/120|0;while(1){c[b>>2]=(c[b>>2]|0)+a;a=c[h>>2]|0;if((c[(c[h>>2]|0)+8512>>2]|0)<4)break;b=a+8512|0;c[b>>2]=(c[b>>2]|0)-4;b=(c[h>>2]|0)+8508|0;a=1}if((c[a+8508>>2]|0)>=200){f=(c[h>>2]|0)+8508|0;c[f>>2]=(c[f>>2]|0)-200}c[j>>2]=((c[j>>2]|0)-10|0)>0?(c[j>>2]|0)-10|0:0;g[k>>2]=0.0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(200-(c[j>>2]|0)|0))break;g[k>>2]=+g[k>>2]+ +g[(c[h>>2]|0)+7688+(c[m>>2]<<2)>>2];c[m>>2]=(c[m>>2]|0)+1}while(1){if((c[m>>2]|0)>=200)break;g[k>>2]=+g[k>>2]+ +g[(c[h>>2]|0)+6888+(c[m>>2]<<2)>>2];c[m>>2]=(c[m>>2]|0)+1}g[k>>2]=+g[k>>2]*+g[(c[h>>2]|0)+8492>>2]+(1.0-+g[k>>2])*+g[(c[h>>2]|0)+8488>>2];g[(c[i>>2]|0)+20>>2]=+g[k>>2];l=n;return}function Li(a,b,d,e,f,g,h,i,j,k,m,n){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+64|0;p=C+52|0;q=C+48|0;r=C+44|0;s=C+40|0;t=C+36|0;u=C+32|0;v=C+28|0;w=C+24|0;o=C+20|0;x=C+16|0;y=C+12|0;z=C+8|0;A=C+4|0;B=C;c[p>>2]=a;c[q>>2]=b;c[r>>2]=d;c[s>>2]=e;c[t>>2]=f;c[u>>2]=g;c[v>>2]=h;c[w>>2]=i;c[o>>2]=j;c[x>>2]=k;c[y>>2]=m;c[z>>2]=n;if(!(c[r>>2]|0)){y=c[z>>2]|0;c[y>>2]=0;y=c[p>>2]|0;A=c[z>>2]|0;B=c[t>>2]|0;Ki(y,A,B);l=C;return}if((((c[o>>2]|0)*195|0)/100|0|0)<(c[s>>2]|0))a=((c[o>>2]|0)*195|0)/100|0;else a=c[s>>2]|0;c[s>>2]=a;c[B>>2]=(c[s>>2]|0)-(c[(c[p>>2]|0)+6884>>2]|0);c[A>>2]=c[(c[p>>2]|0)+6884>>2];do{Mi(c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,480<(c[B>>2]|0)?480:c[B>>2]|0,c[A>>2]|0,c[u>>2]|0,c[v>>2]|0,c[w>>2]|0,c[x>>2]|0,c[y>>2]|0);c[A>>2]=(c[A>>2]|0)+480;c[B>>2]=(c[B>>2]|0)-480}while((c[B>>2]|0)>0);c[(c[p>>2]|0)+6884>>2]=c[s>>2];y=(c[p>>2]|0)+6884|0;c[y>>2]=(c[y>>2]|0)-(c[t>>2]|0);y=c[z>>2]|0;c[y>>2]=0;y=c[p>>2]|0;A=c[z>>2]|0;B=c[t>>2]|0;Ki(y,A,B);l=C;return}
function Mi(a,b,d,e,f,h,i,j,k,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0;Xa=l;l=l+10192|0;Sa=Xa+10180|0;o=Xa+10176|0;p=Xa+10172|0;q=Xa+10168|0;r=Xa+10164|0;s=Xa+10160|0;t=Xa+10156|0;u=Xa+10152|0;W=Xa+10148|0;v=Xa+10144|0;Ea=Xa+10140|0;ra=Xa+10136|0;w=Xa+10132|0;ha=Xa+10128|0;x=Xa+10124|0;y=Xa+10120|0;D=Xa+10116|0;E=Xa+10112|0;X=Xa+10040|0;sa=Xa+9968|0;ya=Xa+9936|0;za=Xa+9836|0;Aa=Xa+9832|0;ta=Xa+9828|0;Ta=Xa+9824|0;Ba=Xa+9816|0;Ca=Xa+9812|0;ua=Xa+9808|0;Ra=Xa+9800|0;Da=Xa+9796|0;va=Xa+9792|0;ia=Xa+9788|0;wa=Xa+9784|0;ja=Xa+9780|0;Ua=Xa+9776|0;ka=Xa+9772|0;la=Xa+9768|0;F=Xa+9764|0;Va=Xa+9760|0;G=Xa+5920|0;ma=Xa+2080|0;Y=Xa+1120|0;Z=Xa+160|0;H=Xa+152|0;I=Xa+148|0;J=Xa+144|0;K=Xa+140|0;M=Xa+136|0;N=Xa+132|0;O=Xa+128|0;P=Xa+124|0;Q=Xa+120|0;R=Xa+116|0;S=Xa+112|0;T=Xa+108|0;U=Xa+104|0;V=Xa+100|0;_=Xa+96|0;$=Xa+92|0;aa=Xa+88|0;ca=Xa+84|0;da=Xa+80|0;ea=Xa+76|0;fa=Xa+72|0;na=Xa+68|0;oa=Xa+64|0;pa=Xa+60|0;qa=Xa+56|0;xa=Xa+52|0;Fa=Xa+48|0;Ga=Xa+44|0;Ha=Xa+40|0;Ia=Xa+36|0;Ja=Xa+32|0;Ka=Xa+28|0;La=Xa+24|0;Ma=Xa+20|0;Na=Xa+16|0;Oa=Xa+12|0;Pa=Xa+8|0;Qa=Xa+4|0;Wa=Xa;c[Sa>>2]=a;c[o>>2]=b;c[p>>2]=d;c[q>>2]=e;c[r>>2]=f;c[s>>2]=h;c[t>>2]=i;c[u>>2]=j;c[W>>2]=k;c[v>>2]=m;c[ha>>2]=480;c[x>>2]=240;c[y>>2]=(c[Sa>>2]|0)+4;c[D>>2]=(c[Sa>>2]|0)+964;c[E>>2]=(c[Sa>>2]|0)+1924;g[Xa+9820>>2]=97.40908813476562;g[Ba>>2]=0.0;c[Ua>>2]=0;g[ka>>2]=0.0;m=(c[Sa>>2]|0)+6864|0;c[m>>2]=(c[m>>2]|0)+1;if(20<(1+(c[(c[Sa>>2]|0)+6868>>2]|0)|0))a=20;else a=1+(c[(c[Sa>>2]|0)+6868>>2]|0)|0;g[Da>>2]=1.0/+(a|0);if(50<(1+(c[(c[Sa>>2]|0)+6868>>2]|0)|0))a=50;else a=1+(c[(c[Sa>>2]|0)+6868>>2]|0)|0;g[va>>2]=1.0/+(a|0);if(1e3<(1+(c[(c[Sa>>2]|0)+6868>>2]|0)|0))a=1e3;else a=1+(c[(c[Sa>>2]|0)+6868>>2]|0)|0;g[ia>>2]=1.0/+(a|0);if((c[(c[Sa>>2]|0)+6868>>2]|0)<4)g[(c[Sa>>2]|0)+6844>>2]=.5;c[w>>2]=c[(c[o>>2]|0)+64+8>>2];if(!(c[(c[Sa>>2]|0)+6868>>2]|0))c[(c[Sa>>2]|0)+5764>>2]=240;if((c[q>>2]|0)<(720-(c[(c[Sa>>2]|0)+5764>>2]|0)|0))a=c[q>>2]|0;else a=720-(c[(c[Sa>>2]|0)+5764>>2]|0)|0;ba[c[v>>2]&3](c[p>>2]|0,(c[Sa>>2]|0)+2884+(c[(c[Sa>>2]|0)+5764>>2]<<2)|0,a,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0);if(((c[(c[Sa>>2]|0)+5764>>2]|0)+(c[q>>2]|0)|0)<720){Wa=(c[Sa>>2]|0)+5764|0;c[Wa>>2]=(c[Wa>>2]|0)+(c[q>>2]|0);l=Xa;return}m=(c[Sa>>2]|0)+8516|0;k=(c[Sa>>2]|0)+8504|0;o=c[k>>2]|0;c[k>>2]=o+1;c[Va>>2]=m+(o*28|0);if((c[(c[Sa>>2]|0)+8504>>2]|0)>=200){o=(c[Sa>>2]|0)+8504|0;c[o>>2]=(c[o>>2]|0)-200}c[Ea>>2]=0;while(1){if((c[Ea>>2]|0)>=(c[x>>2]|0))break;g[H>>2]=+g[18176+(c[Ea>>2]<<2)>>2];g[G+(c[Ea>>2]<<3)>>2]=+g[H>>2]*+g[(c[Sa>>2]|0)+2884+(c[Ea>>2]<<2)>>2];g[G+(c[Ea>>2]<<3)+4>>2]=+g[H>>2]*+g[(c[Sa>>2]|0)+2884+((c[x>>2]|0)+(c[Ea>>2]|0)<<2)>>2];g[G+((c[ha>>2]|0)-(c[Ea>>2]|0)-1<<3)>>2]=+g[H>>2]*+g[(c[Sa>>2]|0)+2884+((c[ha>>2]|0)-(c[Ea>>2]|0)-1<<2)>>2];g[G+((c[ha>>2]|0)-(c[Ea>>2]|0)-1<<3)+4>>2]=+g[H>>2]*+g[(c[Sa>>2]|0)+2884+((c[ha>>2]|0)+(c[x>>2]|0)-(c[Ea>>2]|0)-1<<2)>>2];c[Ea>>2]=(c[Ea>>2]|0)+1}$i((c[Sa>>2]|0)+2884|0,(c[Sa>>2]|0)+2884+2880+-960|0,960|0)|0;c[F>>2]=(c[q>>2]|0)-(720-(c[(c[Sa>>2]|0)+5764>>2]|0));ba[c[v>>2]&3](c[p>>2]|0,(c[Sa>>2]|0)+2884+960|0,c[F>>2]|0,(c[r>>2]|0)+720-(c[(c[Sa>>2]|0)+5764>>2]|0)|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0);c[(c[Sa>>2]|0)+5764>>2]=240+(c[F>>2]|0);lc(c[w>>2]|0,G,ma);if(+g[ma>>2]!=+g[ma>>2]){c[c[Va>>2]>>2]=0;l=Xa;return}c[Ea>>2]=1;while(1){if((c[Ea>>2]|0)>=(c[x>>2]|0))break;g[I>>2]=+g[ma+(c[Ea>>2]<<3)>>2]+ +g[ma+((c[ha>>2]|0)-(c[Ea>>2]|0)<<3)>>2];g[K>>2]=+g[ma+(c[Ea>>2]<<3)+4>>2]-+g[ma+((c[ha>>2]|0)-(c[Ea>>2]|0)<<3)+4>>2];g[J>>2]=+g[ma+(c[Ea>>2]<<3)+4>>2]+ +g[ma+((c[ha>>2]|0)-(c[Ea>>2]|0)<<3)+4>>2];g[M>>2]=+g[ma+((c[ha>>2]|0)-(c[Ea>>2]|0)<<3)>>2]-+g[ma+(c[Ea>>2]<<3)>>2];g[N>>2]=+Ni(+g[K>>2],+g[I>>2])*.15915493667125702;g[O>>2]=+g[N>>2]-+g[(c[y>>2]|0)+(c[Ea>>2]<<2)>>2];g[P>>2]=+g[O>>2]-+g[(c[D>>2]|0)+(c[Ea>>2]<<2)>>2];g[Q>>2]=+Ni(+g[M>>2],+g[J>>2])*.15915493667125702;g[R>>2]=+g[Q>>2]-+g[N>>2];g[S>>2]=+g[R>>2]-+g[O>>2];g[T>>2]=+g[P>>2]-+z(+(+g[P>>2]+.5));n=+A(+(+g[T>>2]));g[Z+(c[Ea>>2]<<2)>>2]=n;g[T>>2]=+g[T>>2]*+g[T>>2];g[T>>2]=+g[T>>2]*+g[T>>2];g[U>>2]=+g[S>>2]-+z(+(+g[S>>2]+.5));n=+A(+(+g[U>>2]));H=Z+(c[Ea>>2]<<2)|0;g[H>>2]=+g[H>>2]+n;g[U>>2]=+g[U>>2]*+g[U>>2];g[U>>2]=+g[U>>2]*+g[U>>2];g[V>>2]=(+g[(c[E>>2]|0)+(c[Ea>>2]<<2)>>2]+ +g[T>>2]*2.0+ +g[U>>2])*.25;g[Y+(c[Ea>>2]<<2)>>2]=1.0/(+g[V>>2]*62341.81640625+1.0)-.014999999664723873;g[(c[y>>2]|0)+(c[Ea>>2]<<2)>>2]=+g[Q>>2];g[(c[D>>2]|0)+(c[Ea>>2]<<2)>>2]=+g[R>>2];g[(c[E>>2]|0)+(c[Ea>>2]<<2)>>2]=+g[U>>2];c[Ea>>2]=(c[Ea>>2]|0)+1}g[Aa>>2]=0.0;g[ta>>2]=0.0;g[(c[Va>>2]|0)+16>>2]=0.0;g[Ta>>2]=0.0;g[Ca>>2]=0.0;a:do if(!(c[(c[Sa>>2]|0)+6868>>2]|0)){c[ra>>2]=0;while(1){if((c[ra>>2]|0)>=18)break a;g[(c[Sa>>2]|0)+6420+(c[ra>>2]<<2)>>2]=1.0e10;g[(c[Sa>>2]|0)+6492+(c[ra>>2]<<2)>>2]=-1.0e10;c[ra>>2]=(c[ra>>2]|0)+1}}while(0);g[ua>>2]=0.0;g[wa>>2]=0.0;c[ra>>2]=0;while(1){if((c[ra>>2]|0)>=18)break;g[_>>2]=0.0;g[$>>2]=0.0;g[aa>>2]=0.0;c[Ea>>2]=c[19136+(c[ra>>2]<<2)>>2];while(1){if((c[Ea>>2]|0)>=(c[19136+((c[ra>>2]|0)+1<<2)>>2]|0))break;g[fa>>2]=+g[ma+(c[Ea>>2]<<3)>>2]*+g[ma+(c[Ea>>2]<<3)>>2]+ +g[ma+((c[ha>>2]|0)-(c[Ea>>2]|0)<<3)>>2]*+g[ma+((c[ha>>2]|0)-(c[Ea>>2]|0)<<3)>>2]+ +g[ma+(c[Ea>>2]<<3)+4>>2]*+g[ma+(c[Ea>>2]<<3)+4>>2]+ +g[ma+((c[ha>>2]|0)-(c[Ea>>2]|0)<<3)+4>>2]*+g[ma+((c[ha>>2]|0)-(c[Ea>>2]|0)<<3)+4>>2];g[_>>2]=+g[_>>2]+ +g[fa>>2];g[$>>2]=+g[$>>2]+ +g[fa>>2]*+g[Y+(c[Ea>>2]<<2)>>2];g[aa>>2]=+g[aa>>2]+ +g[fa>>2]*2.0*(.5-+g[Z+(c[Ea>>2]<<2)>>2]);c[Ea>>2]=(c[Ea>>2]|0)+1}if(!(+g[_>>2]<1.0e9)){ga=37;break}if(+g[_>>2]!=+g[_>>2]){ga=37;break}g[(c[Sa>>2]|0)+5844+((c[(c[Sa>>2]|0)+6856>>2]|0)*72|0)+(c[ra>>2]<<2)>>2]=+g[_>>2];g[Ta>>2]=+g[Ta>>2]+ +g[aa>>2]/(+g[_>>2]+1.0000000036274937e-15);n=+B(+(+g[_>>2]+1.000000013351432e-10));g[wa>>2]=+g[wa>>2]+n;n=+L(+(+g[_>>2]+1.000000013351432e-10));g[sa+(c[ra>>2]<<2)>>2]=n;if(+g[sa+(c[ra>>2]<<2)>>2]<+g[(c[Sa>>2]|0)+6420+(c[ra>>2]<<2)>>2]+.009999999776482582)n=+g[sa+(c[ra>>2]<<2)>>2];else n=+g[(c[Sa>>2]|0)+6420+(c[ra>>2]<<2)>>2]+.009999999776482582;g[(c[Sa>>2]|0)+6420+(c[ra>>2]<<2)>>2]=n;if(+g[sa+(c[ra>>2]<<2)>>2]>+g[(c[Sa>>2]|0)+6492+(c[ra>>2]<<2)>>2]-.10000000149011612)n=+g[sa+(c[ra>>2]<<2)>>2];else n=+g[(c[Sa>>2]|0)+6492+(c[ra>>2]<<2)>>2]-.10000000149011612;g[(c[Sa>>2]|0)+6492+(c[ra>>2]<<2)>>2]=n;if(+g[(c[Sa>>2]|0)+6492+(c[ra>>2]<<2)>>2]<+g[(c[Sa>>2]|0)+6420+(c[ra>>2]<<2)>>2]+1.0){V=(c[Sa>>2]|0)+6492+(c[ra>>2]<<2)|0;g[V>>2]=+g[V>>2]+.5;V=(c[Sa>>2]|0)+6420+(c[ra>>2]<<2)|0;g[V>>2]=+g[V>>2]-.5}g[ua>>2]=+g[ua>>2]+(+g[sa+(c[ra>>2]<<2)>>2]-+g[(c[Sa>>2]|0)+6420+(c[ra>>2]<<2)>>2])/(+g[(c[Sa>>2]|0)+6492+(c[ra>>2]<<2)>>2]+1.0000000036274937e-15-+g[(c[Sa>>2]|0)+6420+(c[ra>>2]<<2)>>2]);g[da>>2]=0.0;g[ca>>2]=0.0;c[Ea>>2]=0;while(1){if((c[Ea>>2]|0)>=8)break;n=+B(+(+g[(c[Sa>>2]|0)+5844+((c[Ea>>2]|0)*72|0)+(c[ra>>2]<<2)>>2]));g[ca>>2]=+g[ca>>2]+n;g[da>>2]=+g[da>>2]+ +g[(c[Sa>>2]|0)+5844+((c[Ea>>2]|0)*72|0)+(c[ra>>2]<<2)>>2];c[Ea>>2]=(c[Ea>>2]|0)+1}if(.9900000095367432<+g[ca>>2]/+B(+(+g[da>>2]*8.0+1.0e-15)))n=.9900000095367432;else n=+g[ca>>2]/+B(+(+g[da>>2]*8.0+1.0e-15));g[ea>>2]=n;g[ea>>2]=+g[ea>>2]*+g[ea>>2];g[ea>>2]=+g[ea>>2]*+g[ea>>2];g[Ca>>2]=+g[Ca>>2]+ +g[ea>>2];if(+g[$>>2]/(+g[_>>2]+1.0000000036274937e-15)>+g[ea>>2]*+g[(c[Sa>>2]|0)+5768+(c[ra>>2]<<2)>>2])n=+g[$>>2]/(+g[_>>2]+1.0000000036274937e-15);else n=+g[ea>>2]*+g[(c[Sa>>2]|0)+5768+(c[ra>>2]<<2)>>2];g[X+(c[ra>>2]<<2)>>2]=n;g[Aa>>2]=+g[Aa>>2]+ +g[X+(c[ra>>2]<<2)>>2];if((c[ra>>2]|0)>=9)g[Aa>>2]=+g[Aa>>2]-+g[X+((c[ra>>2]|0)-18+9<<2)>>2];if(+g[ta>>2]>(+((c[ra>>2]|0)-18|0)*.029999999329447746+1.0)*+g[Aa>>2])n=+g[ta>>2];else n=(+((c[ra>>2]|0)-18|0)*.029999999329447746+1.0)*+g[Aa>>2];g[ta>>2]=n;g[Ba>>2]=+g[Ba>>2]+ +g[X+(c[ra>>2]<<2)>>2]*+((c[ra>>2]|0)-8|0);g[(c[Sa>>2]|0)+5768+(c[ra>>2]<<2)>>2]=+g[X+(c[ra>>2]<<2)>>2];c[ra>>2]=(c[ra>>2]|0)+1}if((ga|0)==37){c[c[Va>>2]>>2]=0;l=Xa;return}g[ja>>2]=0.0;c[Ua>>2]=0;g[ka>>2]=0.0;g[la>>2]=5.699999746866524e-04/+(1<<(0>((c[W>>2]|0)-8|0)?0:(c[W>>2]|0)-8|0)|0);g[la>>2]=+g[la>>2]*+g[la>>2];c[ra>>2]=0;while(1){if((c[ra>>2]|0)>=21)break;g[na>>2]=0.0;c[oa>>2]=c[19212+(c[ra>>2]<<2)>>2];c[pa>>2]=c[19212+((c[ra>>2]|0)+1<<2)>>2];c[Ea>>2]=c[oa>>2];while(1){if((c[Ea>>2]|0)>=(c[pa>>2]|0))break;g[qa>>2]=+g[ma+(c[Ea>>2]<<3)>>2]*+g[ma+(c[Ea>>2]<<3)>>2]+ +g[ma+((c[ha>>2]|0)-(c[Ea>>2]|0)<<3)>>2]*+g[ma+((c[ha>>2]|0)-(c[Ea>>2]|0)<<3)>>2]+ +g[ma+(c[Ea>>2]<<3)+4>>2]*+g[ma+(c[Ea>>2]<<3)+4>>2]+ +g[ma+((c[ha>>2]|0)-(c[Ea>>2]|0)<<3)+4>>2]*+g[ma+((c[ha>>2]|0)-(c[Ea>>2]|0)<<3)+4>>2];g[na>>2]=+g[na>>2]+ +g[qa>>2];c[Ea>>2]=(c[Ea>>2]|0)+1}g[ka>>2]=+g[ka>>2]>+g[na>>2]?+g[ka>>2]:+g[na>>2];if((1.0-+g[ia>>2])*+g[(c[Sa>>2]|0)+6564+(c[ra>>2]<<2)>>2]>+g[na>>2])n=(1.0-+g[ia>>2])*+g[(c[Sa>>2]|0)+6564+(c[ra>>2]<<2)>>2];else n=+g[na>>2];g[(c[Sa>>2]|0)+6564+(c[ra>>2]<<2)>>2]=n;if(+g[na>>2]>+g[(c[Sa>>2]|0)+6564+(c[ra>>2]<<2)>>2])n=+g[na>>2];else n=+g[(c[Sa>>2]|0)+6564+(c[ra>>2]<<2)>>2];g[na>>2]=n;g[ja>>2]=+g[ja>>2]*.05000000074505806>+g[na>>2]?+g[ja>>2]*.05000000074505806:+g[na>>2];if((+g[na>>2]>+g[ja>>2]*.1?+g[na>>2]*1.0e9>+g[ka>>2]:0)?+g[na>>2]>+g[la>>2]*+((c[pa>>2]|0)-(c[oa>>2]|0)|0):0)c[Ua>>2]=c[ra>>2];c[ra>>2]=(c[ra>>2]|0)+1}if((c[(c[Sa>>2]|0)+6868>>2]|0)<=2)c[Ua>>2]=20;g[wa>>2]=+Ti(+g[wa>>2])*20.0;if(+g[(c[Sa>>2]|0)+6848>>2]-.029999999329447746>+g[wa>>2])n=+g[(c[Sa>>2]|0)+6848>>2]-.029999999329447746;else n=+g[wa>>2];g[(c[Sa>>2]|0)+6848>>2]=n;qa=(c[Sa>>2]|0)+6852|0;g[qa>>2]=+g[qa>>2]*(1.0-+g[va>>2]);if(+g[wa>>2]<+g[(c[Sa>>2]|0)+6848>>2]-30.0){wa=(c[Sa>>2]|0)+6852|0;g[wa>>2]=+g[wa>>2]+ +g[va>>2]}c[Ea>>2]=0;while(1){if((c[Ea>>2]|0)>=8)break;g[xa>>2]=0.0;c[ra>>2]=0;while(1){if((c[ra>>2]|0)>=16)break;g[xa>>2]=+g[xa>>2]+ +g[19300+((c[Ea>>2]<<4)+(c[ra>>2]|0)<<2)>>2]*+g[sa+(c[ra>>2]<<2)>>2];c[ra>>2]=(c[ra>>2]|0)+1}g[ya+(c[Ea>>2]<<2)>>2]=+g[xa>>2];c[Ea>>2]=(c[Ea>>2]|0)+1}g[Ca>>2]=+g[Ca>>2]/18.0;n=+g[ua>>2]/18.0;g[ua>>2]=n;g[ua>>2]=(c[(c[Sa>>2]|0)+6868>>2]|0)<10?.5:n;g[Ta>>2]=+g[Ta>>2]/18.0;g[(c[Va>>2]|0)+16>>2]=+g[Ta>>2]+(1.0-+g[Ta>>2])*+g[ua>>2];g[Aa>>2]=+g[ta>>2]/9.0;if(+g[Aa>>2]>+g[(c[Sa>>2]|0)+5840>>2]*.800000011920929)n=+g[Aa>>2];else n=+g[(c[Sa>>2]|0)+5840>>2]*.800000011920929;g[Aa>>2]=n;g[(c[Sa>>2]|0)+5840>>2]=+g[Aa>>2];g[Ba>>2]=+g[Ba>>2]/64.0;g[(c[Va>>2]|0)+8>>2]=+g[Ba>>2];c[(c[Sa>>2]|0)+6856>>2]=((c[(c[Sa>>2]|0)+6856>>2]|0)+1|0)%8|0;Ba=(c[Sa>>2]|0)+6868|0;c[Ba>>2]=(c[Ba>>2]|0)+1;g[(c[Va>>2]|0)+4>>2]=+g[Aa>>2];c[Ea>>2]=0;while(1){if((c[Ea>>2]|0)>=4)break;g[za+(c[Ea>>2]<<2)>>2]=(+g[ya+(c[Ea>>2]<<2)>>2]+ +g[(c[Sa>>2]|0)+6648+((c[Ea>>2]|0)+24<<2)>>2])*-.12298999726772308+(+g[(c[Sa>>2]|0)+6648+(c[Ea>>2]<<2)>>2]+ +g[(c[Sa>>2]|0)+6648+((c[Ea>>2]|0)+16<<2)>>2])*.49195000529289246+ +g[(c[Sa>>2]|0)+6648+((c[Ea>>2]|0)+8<<2)>>2]*.6969299912452698-+g[(c[Sa>>2]|0)+6776+(c[Ea>>2]<<2)>>2]*1.4349000453948975;c[Ea>>2]=(c[Ea>>2]|0)+1}c[Ea>>2]=0;while(1){if((c[Ea>>2]|0)>=4)break;g[(c[Sa>>2]|0)+6776+(c[Ea>>2]<<2)>>2]=(1.0-+g[Da>>2])*+g[(c[Sa>>2]|0)+6776+(c[Ea>>2]<<2)>>2]+ +g[Da>>2]*+g[ya+(c[Ea>>2]<<2)>>2];c[Ea>>2]=(c[Ea>>2]|0)+1}c[Ea>>2]=0;while(1){if((c[Ea>>2]|0)>=4)break;g[za+(4+(c[Ea>>2]|0)<<2)>>2]=(+g[ya+(c[Ea>>2]<<2)>>2]-+g[(c[Sa>>2]|0)+6648+((c[Ea>>2]|0)+24<<2)>>2])*.6324599981307983+(+g[(c[Sa>>2]|0)+6648+(c[Ea>>2]<<2)>>2]-+g[(c[Sa>>2]|0)+6648+((c[Ea>>2]|0)+16<<2)>>2])*.31622999906539917;c[Ea>>2]=(c[Ea>>2]|0)+1}c[Ea>>2]=0;while(1){if((c[Ea>>2]|0)>=3)break;g[za+(8+(c[Ea>>2]|0)<<2)>>2]=(+g[ya+(c[Ea>>2]<<2)>>2]+ +g[(c[Sa>>2]|0)+6648+((c[Ea>>2]|0)+24<<2)>>2])*.5345199704170227-(+g[(c[Sa>>2]|0)+6648+(c[Ea>>2]<<2)>>2]+ +g[(c[Sa>>2]|0)+6648+((c[Ea>>2]|0)+16<<2)>>2])*.26725998520851135-+g[(c[Sa>>2]|0)+6648+((c[Ea>>2]|0)+8<<2)>>2]*.5345199704170227;c[Ea>>2]=(c[Ea>>2]|0)+1}b:do if((c[(c[Sa>>2]|0)+6868>>2]|0)>5){c[Ea>>2]=0;while(1){if((c[Ea>>2]|0)>=9)break b;g[(c[Sa>>2]|0)+6808+(c[Ea>>2]<<2)>>2]=(1.0-+g[Da>>2])*+g[(c[Sa>>2]|0)+6808+(c[Ea>>2]<<2)>>2]+ +g[Da>>2]*+g[za+(c[Ea>>2]<<2)>>2]*+g[za+(c[Ea>>2]<<2)>>2];c[Ea>>2]=(c[Ea>>2]|0)+1}}while(0);c[Ea>>2]=0;while(1){if((c[Ea>>2]|0)>=8)break;g[(c[Sa>>2]|0)+6648+((c[Ea>>2]|0)+24<<2)>>2]=+g[(c[Sa>>2]|0)+6648+((c[Ea>>2]|0)+16<<2)>>2];g[(c[Sa>>2]|0)+6648+((c[Ea>>2]|0)+16<<2)>>2]=+g[(c[Sa>>2]|0)+6648+((c[Ea>>2]|0)+8<<2)>>2];g[(c[Sa>>2]|0)+6648+((c[Ea>>2]|0)+8<<2)>>2]=+g[(c[Sa>>2]|0)+6648+(c[Ea>>2]<<2)>>2];g[(c[Sa>>2]|0)+6648+(c[Ea>>2]<<2)>>2]=+g[ya+(c[Ea>>2]<<2)>>2];c[Ea>>2]=(c[Ea>>2]|0)+1}c[Ea>>2]=0;while(1){if((c[Ea>>2]|0)>=9)break;n=+B(+(+g[(c[Sa>>2]|0)+6808+(c[Ea>>2]<<2)>>2]));g[za+(11+(c[Ea>>2]|0)<<2)>>2]=n;c[Ea>>2]=(c[Ea>>2]|0)+1}g[za+80>>2]=+g[(c[Va>>2]|0)+4>>2];g[za+84>>2]=+g[(c[Va>>2]|0)+16>>2];g[za+88>>2]=+g[Ca>>2];g[za+92>>2]=+g[(c[Va>>2]|0)+8>>2];g[za+96>>2]=+g[(c[Sa>>2]|0)+6852>>2];Oi(20616,za,Ra);g[Ra>>2]=(+g[Ra>>2]+1.0)*.5;g[Ra>>2]=+g[Ra>>2]*1.2100000381469727*+g[Ra>>2]+.009999999776482582-+C(+(+g[Ra>>2]),10.0)*.23000000417232513;g[Ra+4>>2]=+g[Ra+4>>2]*.5+.5;g[Ra>>2]=+g[Ra+4>>2]*+g[Ra>>2]+(1.0-+g[Ra+4>>2])*.5;g[Fa>>2]=+g[Ra+4>>2]*4.999999873689376e-05;g[Ga>>2]=.05000000074505806;if(.05000000074505806>(.949999988079071<+g[Ra>>2]?.949999988079071:+g[Ra>>2]))n=.05000000074505806;else n=.949999988079071<+g[Ra>>2]?.949999988079071:+g[Ra>>2];g[Oa>>2]=n;if(.949999988079071<+g[(c[Sa>>2]|0)+6844>>2])n=.949999988079071;else n=+g[(c[Sa>>2]|0)+6844>>2];if(!(.05000000074505806>n))if(.949999988079071<+g[(c[Sa>>2]|0)+6844>>2])n=.949999988079071;else n=+g[(c[Sa>>2]|0)+6844>>2];else n=.05000000074505806;g[Pa>>2]=n;n=+A(+(+g[Oa>>2]-+g[Pa>>2]))*.05000000074505806;g[Ga>>2]=n/(+g[Oa>>2]*(1.0-+g[Pa>>2])+ +g[Pa>>2]*(1.0-+g[Oa>>2]))+.009999999776482582;g[Ha>>2]=(1.0-+g[(c[Sa>>2]|0)+6844>>2])*(1.0-+g[Fa>>2])+ +g[(c[Sa>>2]|0)+6844>>2]*+g[Fa>>2];g[Ia>>2]=+g[(c[Sa>>2]|0)+6844>>2]*(1.0-+g[Fa>>2])+(1.0-+g[(c[Sa>>2]|0)+6844>>2])*+g[Fa>>2];n=+C(+(1.0-+g[Ra>>2]),+(+g[Ga>>2]));g[Ha>>2]=+g[Ha>>2]*n;n=+C(+(+g[Ra>>2]),+(+g[Ga>>2]));g[Ia>>2]=+g[Ia>>2]*n;g[(c[Sa>>2]|0)+6844>>2]=+g[Ia>>2]/(+g[Ha>>2]+ +g[Ia>>2]);g[(c[Va>>2]|0)+20>>2]=+g[(c[Sa>>2]|0)+6844>>2];g[La>>2]=9.999999682655225e-21;g[Ma>>2]=+C(+(1.0-+g[Ra>>2]),+(+g[Ga>>2]));g[Na>>2]=+C(+(+g[Ra>>2]),+(+g[Ga>>2]));if((c[(c[Sa>>2]|0)+6868>>2]|0)==1){g[(c[Sa>>2]|0)+6888>>2]=.5;g[(c[Sa>>2]|0)+7688>>2]=.5}g[Ja>>2]=+g[(c[Sa>>2]|0)+6888>>2]+ +g[(c[Sa>>2]|0)+6888+4>>2];g[Ka>>2]=+g[(c[Sa>>2]|0)+7688>>2]+ +g[(c[Sa>>2]|0)+7688+4>>2];g[(c[Sa>>2]|0)+6888>>2]=+g[Ja>>2]*(1.0-+g[Fa>>2])*+g[Ma>>2];g[(c[Sa>>2]|0)+7688>>2]=+g[Ka>>2]*(1.0-+g[Fa>>2])*+g[Na>>2];c[Ea>>2]=1;while(1){if((c[Ea>>2]|0)>=199)break;g[(c[Sa>>2]|0)+6888+(c[Ea>>2]<<2)>>2]=+g[(c[Sa>>2]|0)+6888+((c[Ea>>2]|0)+1<<2)>>2]*+g[Ma>>2];g[(c[Sa>>2]|0)+7688+(c[Ea>>2]<<2)>>2]=+g[(c[Sa>>2]|0)+7688+((c[Ea>>2]|0)+1<<2)>>2]*+g[Na>>2];c[Ea>>2]=(c[Ea>>2]|0)+1}g[(c[Sa>>2]|0)+6888+796>>2]=+g[Ka>>2]*+g[Fa>>2]*+g[Ma>>2];g[(c[Sa>>2]|0)+7688+796>>2]=+g[Ja>>2]*+g[Fa>>2]*+g[Na>>2];c[Ea>>2]=0;while(1){if((c[Ea>>2]|0)>=200)break;g[La>>2]=+g[La>>2]+(+g[(c[Sa>>2]|0)+6888+(c[Ea>>2]<<2)>>2]+ +g[(c[Sa>>2]|0)+7688+(c[Ea>>2]<<2)>>2]);c[Ea>>2]=(c[Ea>>2]|0)+1}g[La>>2]=1.0/+g[La>>2];c[Ea>>2]=0;while(1){if((c[Ea>>2]|0)>=200)break;Pa=(c[Sa>>2]|0)+6888+(c[Ea>>2]<<2)|0;g[Pa>>2]=+g[Pa>>2]*+g[La>>2];Pa=(c[Sa>>2]|0)+7688+(c[Ea>>2]<<2)|0;g[Pa>>2]=+g[Pa>>2]*+g[La>>2];c[Ea>>2]=(c[Ea>>2]|0)+1}g[La>>2]=+g[(c[Sa>>2]|0)+7688>>2];c[Ea>>2]=1;while(1){if((c[Ea>>2]|0)>=200)break;g[La>>2]=+g[La>>2]+ +g[(c[Sa>>2]|0)+6888+(c[Ea>>2]<<2)>>2];c[Ea>>2]=(c[Ea>>2]|0)+1}a=c[Sa>>2]|0;do if(+g[Ra+4>>2]>.75){if(+g[a+6844>>2]>.9){Oa=(c[Sa>>2]|0)+8500|0;Pa=(c[Oa>>2]|0)+1|0;c[Oa>>2]=Pa;g[Qa>>2]=1.0/+(Pa|0);if((c[(c[Sa>>2]|0)+8500>>2]|0)<500)a=c[(c[Sa>>2]|0)+8500>>2]|0;else a=500;c[(c[Sa>>2]|0)+8500>>2]=a;if(-.20000000298023224>+g[Ra>>2]-+g[(c[Sa>>2]|0)+8492>>2])n=-.20000000298023224;else n=+g[Ra>>2]-+g[(c[Sa>>2]|0)+8492>>2];Pa=(c[Sa>>2]|0)+8492|0;g[Pa>>2]=+g[Pa>>2]+ +g[Qa>>2]*n}if(!(+g[(c[Sa>>2]|0)+6844>>2]<.1))break;Pa=(c[Sa>>2]|0)+8496|0;Qa=(c[Pa>>2]|0)+1|0;c[Pa>>2]=Qa;g[Wa>>2]=1.0/+(Qa|0);if((c[(c[Sa>>2]|0)+8496>>2]|0)<500)a=c[(c[Sa>>2]|0)+8496>>2]|0;else a=500;c[(c[Sa>>2]|0)+8496>>2]=a;if(.20000000298023224<+g[Ra>>2]-+g[(c[Sa>>2]|0)+8488>>2])n=.20000000298023224;else n=+g[Ra>>2]-+g[(c[Sa>>2]|0)+8488>>2];Ra=(c[Sa>>2]|0)+8488|0;g[Ra>>2]=+g[Ra>>2]+ +g[Wa>>2]*n}else{if(!(c[a+8500>>2]|0))g[(c[Sa>>2]|0)+8492>>2]=.8999999761581421;if(c[(c[Sa>>2]|0)+8496>>2]|0)break;g[(c[Sa>>2]|0)+8488>>2]=.10000000149011612}while(0);if((c[(c[Sa>>2]|0)+6860>>2]|0)!=(+g[(c[Sa>>2]|0)+6844>>2]>.5|0))c[(c[Sa>>2]|0)+6864>>2]=0;c[(c[Sa>>2]|0)+6860>>2]=+g[(c[Sa>>2]|0)+6844>>2]>.5&1;c[(c[Va>>2]|0)+24>>2]=c[Ua>>2];g[(c[Va>>2]|0)+12>>2]=+g[Ta>>2];c[c[Va>>2]>>2]=1;l=Xa;return}function Ni(a,b){a=+a;b=+b;var c=0,d=0,e=0,f=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;c=k+24|0;d=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;i=k+4|0;j=k;g[d>>2]=a;g[e>>2]=b;b=+A(+(+g[e>>2]));if(b+ +A(+(+g[d>>2]))<9.999999717180685e-10){g[e>>2]=+g[e>>2]*999999995904.0;g[d>>2]=+g[d>>2]*999999995904.0}g[f>>2]=+g[e>>2]*+g[e>>2];g[h>>2]=+g[d>>2]*+g[d>>2];if(+g[f>>2]<+g[h>>2]){g[i>>2]=(+g[h>>2]+ +g[f>>2]*.6784840226173401)*(+g[h>>2]+ +g[f>>2]*.0859554186463356);if(+g[i>>2]!=0.0){g[c>>2]=-+g[e>>2]*+g[d>>2]*(+g[h>>2]+ +g[f>>2]*.43157973885536194)/+g[i>>2]+(+g[d>>2]<0.0?-1.5707963705062866:1.5707963705062866);b=+g[c>>2];l=k;return +b}else{g[c>>2]=+g[d>>2]<0.0?-1.5707963705062866:1.5707963705062866;b=+g[c>>2];l=k;return +b}}else{g[j>>2]=(+g[f>>2]+ +g[h>>2]*.6784840226173401)*(+g[f>>2]+ +g[h>>2]*.0859554186463356);if(+g[j>>2]!=0.0){g[c>>2]=+g[e>>2]*+g[d>>2]*(+g[f>>2]+ +g[h>>2]*.43157973885536194)/+g[j>>2]+(+g[d>>2]<0.0?-1.5707963705062866:1.5707963705062866)-(+g[e>>2]*+g[d>>2]<0.0?-1.5707963705062866:1.5707963705062866);b=+g[c>>2];l=k;return +b}else{g[c>>2]=(+g[d>>2]<0.0?-1.5707963705062866:1.5707963705062866)-(+g[e>>2]*+g[d>>2]<0.0?-1.5707963705062866:1.5707963705062866);b=+g[c>>2];l=k;return +b}}return 0.0}function Oi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=l;l=l+448|0;m=r+436|0;h=r+432|0;n=r+428|0;o=r+424|0;p=r+24|0;q=r+16|0;i=r+12|0;f=r+8|0;j=r+4|0;k=r;c[m>>2]=a;c[h>>2]=b;c[n>>2]=d;c[q>>2]=c[(c[m>>2]|0)+8>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[(c[(c[m>>2]|0)+4>>2]|0)+4>>2]|0))break;d=c[q>>2]|0;c[q>>2]=d+4;g[f>>2]=+g[d>>2];c[i>>2]=0;while(1){e=+g[f>>2];if((c[i>>2]|0)>=(c[c[(c[m>>2]|0)+4>>2]>>2]|0))break;s=+g[(c[h>>2]|0)+(c[i>>2]<<2)>>2];d=c[q>>2]|0;c[q>>2]=d+4;g[f>>2]=e+s*+g[d>>2];c[i>>2]=(c[i>>2]|0)+1}s=+Pi(e);g[p+(c[o>>2]<<2)>>2]=s;c[o>>2]=(c[o>>2]|0)+1}c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[(c[(c[m>>2]|0)+4>>2]|0)+8>>2]|0))break;i=c[q>>2]|0;c[q>>2]=i+4;g[k>>2]=+g[i>>2];c[j>>2]=0;while(1){e=+g[k>>2];if((c[j>>2]|0)>=(c[(c[(c[m>>2]|0)+4>>2]|0)+4>>2]|0))break;s=+g[p+(c[j>>2]<<2)>>2];i=c[q>>2]|0;c[q>>2]=i+4;g[k>>2]=e+s*+g[i>>2];c[j>>2]=(c[j>>2]|0)+1}s=+Pi(e);g[(c[n>>2]|0)+(c[o>>2]<<2)>>2]=s;c[o>>2]=(c[o>>2]|0)+1}l=r;return}function Pi(a){a=+a;var b=0,d=0,e=0,f=0,h=0,i=0,j=0;j=l;l=l+32|0;b=j+20|0;d=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;i=j;g[d>>2]=a;g[i>>2]=1.0;if(!(+g[d>>2]<8.0)){g[b>>2]=1.0;a=+g[b>>2];l=j;return +a}if(!(+g[d>>2]>-8.0)){g[b>>2]=-1.0;a=+g[b>>2];l=j;return +a}if(+g[d>>2]!=+g[d>>2]){g[b>>2]=0.0;a=+g[b>>2];l=j;return +a}if(+g[d>>2]<0.0){g[d>>2]=-+g[d>>2];g[i>>2]=-1.0}c[e>>2]=~~+z(+(+g[d>>2]*25.0+.5));g[d>>2]=+g[d>>2]-+(c[e>>2]|0)*.03999999910593033;g[f>>2]=+g[19812+(c[e>>2]<<2)>>2];g[h>>2]=1.0-+g[f>>2]*+g[f>>2];g[f>>2]=+g[f>>2]+ +g[d>>2]*+g[h>>2]*(1.0-+g[f>>2]*+g[d>>2]);g[b>>2]=+g[i>>2]*+g[f>>2];a=+g[b>>2];l=j;return +a}function Qi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+16|0;p=x;do if(a>>>0<245){m=a>>>0<11?16:a+11&-8;a=m>>>3;o=c[7631]|0;d=o>>>a;if(d&3|0){b=(d&1^1)+a|0;a=30564+(b<<1<<2)|0;d=a+8|0;e=c[d>>2]|0;f=e+8|0;g=c[f>>2]|0;if((g|0)==(a|0))c[7631]=o&~(1<<b);else{c[g+12>>2]=a;c[d>>2]=g}w=b<<3;c[e+4>>2]=w|3;w=e+w+4|0;c[w>>2]=c[w>>2]|1;w=f;l=x;return w|0}n=c[7633]|0;if(m>>>0>n>>>0){if(d|0){b=2<<a;b=d<<a&(b|0-b);b=(b&0-b)+-1|0;i=b>>>12&16;b=b>>>i;d=b>>>5&8;b=b>>>d;g=b>>>2&4;b=b>>>g;a=b>>>1&2;b=b>>>a;e=b>>>1&1;e=(d|i|g|a|e)+(b>>>e)|0;b=30564+(e<<1<<2)|0;a=b+8|0;g=c[a>>2]|0;i=g+8|0;d=c[i>>2]|0;if((d|0)==(b|0)){a=o&~(1<<e);c[7631]=a}else{c[d+12>>2]=b;c[a>>2]=d;a=o}w=e<<3;h=w-m|0;c[g+4>>2]=m|3;f=g+m|0;c[f+4>>2]=h|1;c[g+w>>2]=h;if(n|0){e=c[7636]|0;b=n>>>3;d=30564+(b<<1<<2)|0;b=1<<b;if(!(a&b)){c[7631]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[7633]=h;c[7636]=f;w=i;l=x;return w|0}j=c[7632]|0;if(j){d=(j&0-j)+-1|0;i=d>>>12&16;d=d>>>i;h=d>>>5&8;d=d>>>h;k=d>>>2&4;d=d>>>k;e=d>>>1&2;d=d>>>e;a=d>>>1&1;a=c[30828+((h|i|k|e|a)+(d>>>a)<<2)>>2]|0;d=(c[a+4>>2]&-8)-m|0;e=c[a+16+(((c[a+16>>2]|0)==0&1)<<2)>>2]|0;if(!e){k=a;h=d}else{do{i=(c[e+4>>2]&-8)-m|0;k=i>>>0<d>>>0;d=k?i:d;a=k?e:a;e=c[e+16+(((c[e+16>>2]|0)==0&1)<<2)>>2]|0}while((e|0)!=0);k=a;h=d}i=k+m|0;if(i>>>0>k>>>0){f=c[k+24>>2]|0;b=c[k+12>>2]|0;do if((b|0)==(k|0)){a=k+20|0;b=c[a>>2]|0;if(!b){a=k+16|0;b=c[a>>2]|0;if(!b){d=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e|0){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}c[a>>2]=0;d=b}else{d=c[k+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);do if(f|0){b=c[k+28>>2]|0;a=30828+(b<<2)|0;if((k|0)==(c[a>>2]|0)){c[a>>2]=d;if(!d){c[7632]=j&~(1<<b);break}}else{c[f+16+(((c[f+16>>2]|0)!=(k|0)&1)<<2)>>2]=d;if(!d)break}c[d+24>>2]=f;b=c[k+16>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}b=c[k+20>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}while(0);if(h>>>0<16){w=h+m|0;c[k+4>>2]=w|3;w=k+w+4|0;c[w>>2]=c[w>>2]|1}else{c[k+4>>2]=m|3;c[i+4>>2]=h|1;c[i+h>>2]=h;if(n|0){e=c[7636]|0;b=n>>>3;d=30564+(b<<1<<2)|0;b=1<<b;if(!(o&b)){c[7631]=o|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[7633]=h;c[7636]=i}w=k+8|0;l=x;return w|0}else n=m}else n=m}else n=m}else if(a>>>0<=4294967231){a=a+11|0;m=a&-8;k=c[7632]|0;if(k){e=0-m|0;a=a>>>8;if(a)if(m>>>0>16777215)j=31;else{o=(a+1048320|0)>>>16&8;v=a<<o;n=(v+520192|0)>>>16&4;v=v<<n;j=(v+245760|0)>>>16&2;j=14-(n|o|j)+(v<<j>>>15)|0;j=m>>>(j+7|0)&1|j<<1}else j=0;d=c[30828+(j<<2)>>2]|0;a:do if(!d){d=0;a=0;v=57}else{a=0;i=d;h=m<<((j|0)==31?0:25-(j>>>1)|0);d=0;while(1){f=(c[i+4>>2]&-8)-m|0;if(f>>>0<e>>>0)if(!f){e=0;d=i;a=i;v=61;break a}else{a=i;e=f}f=c[i+20>>2]|0;i=c[i+16+(h>>>31<<2)>>2]|0;d=(f|0)==0|(f|0)==(i|0)?d:f;f=(i|0)==0;if(f){v=57;break}else h=h<<((f^1)&1)}}while(0);if((v|0)==57){if((d|0)==0&(a|0)==0){a=2<<j;a=k&(a|0-a);if(!a){n=m;break}o=(a&0-a)+-1|0;i=o>>>12&16;o=o>>>i;h=o>>>5&8;o=o>>>h;j=o>>>2&4;o=o>>>j;n=o>>>1&2;o=o>>>n;d=o>>>1&1;a=0;d=c[30828+((h|i|j|n|d)+(o>>>d)<<2)>>2]|0}if(!d){i=a;h=e}else v=61}if((v|0)==61)while(1){v=0;n=(c[d+4>>2]&-8)-m|0;o=n>>>0<e>>>0;e=o?n:e;a=o?d:a;d=c[d+16+(((c[d+16>>2]|0)==0&1)<<2)>>2]|0;if(!d){i=a;h=e;break}else v=61}if((i|0)!=0?h>>>0<((c[7633]|0)-m|0)>>>0:0){g=i+m|0;if(g>>>0<=i>>>0){w=0;l=x;return w|0}f=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){b=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e|0){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}c[a>>2]=0}else{w=c[i+8>>2]|0;c[w+12>>2]=b;c[b+8>>2]=w}while(0);do if(f){a=c[i+28>>2]|0;d=30828+(a<<2)|0;if((i|0)==(c[d>>2]|0)){c[d>>2]=b;if(!b){e=k&~(1<<a);c[7632]=e;break}}else{c[f+16+(((c[f+16>>2]|0)!=(i|0)&1)<<2)>>2]=b;if(!b){e=k;break}}c[b+24>>2]=f;a=c[i+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[i+20>>2]|0;if(a){c[b+20>>2]=a;c[a+24>>2]=b;e=k}else e=k}else e=k;while(0);do if(h>>>0>=16){c[i+4>>2]=m|3;c[g+4>>2]=h|1;c[g+h>>2]=h;b=h>>>3;if(h>>>0<256){d=30564+(b<<1<<2)|0;a=c[7631]|0;b=1<<b;if(!(a&b)){c[7631]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=g;c[b+12>>2]=g;c[g+8>>2]=b;c[g+12>>2]=d;break}b=h>>>8;if(b)if(h>>>0>16777215)b=31;else{v=(b+1048320|0)>>>16&8;w=b<<v;u=(w+520192|0)>>>16&4;w=w<<u;b=(w+245760|0)>>>16&2;b=14-(u|v|b)+(w<<b>>>15)|0;b=h>>>(b+7|0)&1|b<<1}else b=0;d=30828+(b<<2)|0;c[g+28>>2]=b;a=g+16|0;c[a+4>>2]=0;c[a>>2]=0;a=1<<b;if(!(e&a)){c[7632]=e|a;c[d>>2]=g;c[g+24>>2]=d;c[g+12>>2]=g;c[g+8>>2]=g;break}a=h<<((b|0)==31?0:25-(b>>>1)|0);d=c[d>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(h|0)){v=97;break}e=d+16+(a>>>31<<2)|0;b=c[e>>2]|0;if(!b){v=96;break}else{a=a<<1;d=b}}if((v|0)==96){c[e>>2]=g;c[g+24>>2]=d;c[g+12>>2]=g;c[g+8>>2]=g;break}else if((v|0)==97){v=d+8|0;w=c[v>>2]|0;c[w+12>>2]=g;c[v>>2]=g;c[g+8>>2]=w;c[g+12>>2]=d;c[g+24>>2]=0;break}}else{w=h+m|0;c[i+4>>2]=w|3;w=i+w+4|0;c[w>>2]=c[w>>2]|1}while(0);w=i+8|0;l=x;return w|0}else n=m}else n=m}else n=-1;while(0);d=c[7633]|0;if(d>>>0>=n>>>0){b=d-n|0;a=c[7636]|0;if(b>>>0>15){w=a+n|0;c[7636]=w;c[7633]=b;c[w+4>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=n|3}else{c[7633]=0;c[7636]=0;c[a+4>>2]=d|3;w=a+d+4|0;c[w>>2]=c[w>>2]|1}w=a+8|0;l=x;return w|0}i=c[7634]|0;if(i>>>0>n>>>0){u=i-n|0;c[7634]=u;w=c[7637]|0;v=w+n|0;c[7637]=v;c[v+4>>2]=u|1;c[w+4>>2]=n|3;w=w+8|0;l=x;return w|0}if(!(c[7749]|0)){c[7751]=4096;c[7750]=4096;c[7752]=-1;c[7753]=-1;c[7754]=0;c[7742]=0;c[7749]=p&-16^1431655768;a=4096}else a=c[7751]|0;j=n+48|0;k=n+47|0;h=a+k|0;f=0-a|0;m=h&f;if(m>>>0<=n>>>0){w=0;l=x;return w|0}a=c[7741]|0;if(a|0?(o=c[7739]|0,p=o+m|0,p>>>0<=o>>>0|p>>>0>a>>>0):0){w=0;l=x;return w|0}b:do if(!(c[7742]&4)){d=c[7637]|0;c:do if(d){e=30972;while(1){a=c[e>>2]|0;if(a>>>0<=d>>>0?(s=e+4|0,(a+(c[s>>2]|0)|0)>>>0>d>>>0):0)break;a=c[e+8>>2]|0;if(!a){v=118;break c}else e=a}b=h-i&f;if(b>>>0<2147483647){a=dj(b|0)|0;if((a|0)==((c[e>>2]|0)+(c[s>>2]|0)|0)){if((a|0)!=(-1|0)){h=b;g=a;v=135;break b}}else{e=a;v=126}}else b=0}else v=118;while(0);do if((v|0)==118){d=dj(0)|0;if((d|0)!=(-1|0)?(b=d,q=c[7750]|0,r=q+-1|0,b=((r&b|0)==0?0:(r+b&0-q)-b|0)+m|0,q=c[7739]|0,r=b+q|0,b>>>0>n>>>0&b>>>0<2147483647):0){s=c[7741]|0;if(s|0?r>>>0<=q>>>0|r>>>0>s>>>0:0){b=0;break}a=dj(b|0)|0;if((a|0)==(d|0)){h=b;g=d;v=135;break b}else{e=a;v=126}}else b=0}while(0);do if((v|0)==126){d=0-b|0;if(!(j>>>0>b>>>0&(b>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){b=0;break}else{h=b;g=e;v=135;break b}a=c[7751]|0;a=k-b+a&0-a;if(a>>>0>=2147483647){h=b;g=e;v=135;break b}if((dj(a|0)|0)==(-1|0)){dj(d|0)|0;b=0;break}else{h=a+b|0;g=e;v=135;break b}}while(0);c[7742]=c[7742]|4;v=133}else{b=0;v=133}while(0);if(((v|0)==133?m>>>0<2147483647:0)?(g=dj(m|0)|0,s=dj(0)|0,t=s-g|0,u=t>>>0>(n+40|0)>>>0,!((g|0)==(-1|0)|u^1|g>>>0<s>>>0&((g|0)!=(-1|0)&(s|0)!=(-1|0))^1)):0){h=u?t:b;v=135}if((v|0)==135){b=(c[7739]|0)+h|0;c[7739]=b;if(b>>>0>(c[7740]|0)>>>0)c[7740]=b;j=c[7637]|0;do if(j){b=30972;while(1){a=c[b>>2]|0;d=b+4|0;e=c[d>>2]|0;if((g|0)==(a+e|0)){v=143;break}f=c[b+8>>2]|0;if(!f)break;else b=f}if(((v|0)==143?(c[b+12>>2]&8|0)==0:0)?g>>>0>j>>>0&a>>>0<=j>>>0:0){c[d>>2]=e+h;w=(c[7634]|0)+h|0;u=j+8|0;u=(u&7|0)==0?0:0-u&7;v=j+u|0;u=w-u|0;c[7637]=v;c[7634]=u;c[v+4>>2]=u|1;c[j+w+4>>2]=40;c[7638]=c[7753];break}if(g>>>0<(c[7635]|0)>>>0)c[7635]=g;a=g+h|0;b=30972;while(1){if((c[b>>2]|0)==(a|0)){v=151;break}b=c[b+8>>2]|0;if(!b){a=30972;break}}if((v|0)==151)if(!(c[b+12>>2]&8)){c[b>>2]=g;m=b+4|0;c[m>>2]=(c[m>>2]|0)+h;m=g+8|0;m=g+((m&7|0)==0?0:0-m&7)|0;b=a+8|0;b=a+((b&7|0)==0?0:0-b&7)|0;k=m+n|0;i=b-m-n|0;c[m+4>>2]=n|3;do if((j|0)!=(b|0)){if((c[7636]|0)==(b|0)){w=(c[7633]|0)+i|0;c[7633]=w;c[7636]=k;c[k+4>>2]=w|1;c[k+w>>2]=w;break}a=c[b+4>>2]|0;if((a&3|0)==1){h=a&-8;e=a>>>3;d:do if(a>>>0<256){a=c[b+8>>2]|0;d=c[b+12>>2]|0;if((d|0)==(a|0)){c[7631]=c[7631]&~(1<<e);break}else{c[a+12>>2]=d;c[d+8>>2]=a;break}}else{g=c[b+24>>2]|0;a=c[b+12>>2]|0;do if((a|0)==(b|0)){e=b+16|0;d=e+4|0;a=c[d>>2]|0;if(!a){a=c[e>>2]|0;if(!a){a=0;break}else d=e}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;d=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;d=e}}c[d>>2]=0}else{w=c[b+8>>2]|0;c[w+12>>2]=a;c[a+8>>2]=w}while(0);if(!g)break;d=c[b+28>>2]|0;e=30828+(d<<2)|0;do if((c[e>>2]|0)!=(b|0)){c[g+16+(((c[g+16>>2]|0)!=(b|0)&1)<<2)>>2]=a;if(!a)break d}else{c[e>>2]=a;if(a|0)break;c[7632]=c[7632]&~(1<<d);break d}while(0);c[a+24>>2]=g;d=b+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(!d)break;c[a+20>>2]=d;c[d+24>>2]=a}while(0);b=b+h|0;f=h+i|0}else f=i;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[k+4>>2]=f|1;c[k+f>>2]=f;b=f>>>3;if(f>>>0<256){d=30564+(b<<1<<2)|0;a=c[7631]|0;b=1<<b;if(!(a&b)){c[7631]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=k;c[b+12>>2]=k;c[k+8>>2]=b;c[k+12>>2]=d;break}b=f>>>8;do if(!b)b=0;else{if(f>>>0>16777215){b=31;break}v=(b+1048320|0)>>>16&8;w=b<<v;u=(w+520192|0)>>>16&4;w=w<<u;b=(w+245760|0)>>>16&2;b=14-(u|v|b)+(w<<b>>>15)|0;b=f>>>(b+7|0)&1|b<<1}while(0);e=30828+(b<<2)|0;c[k+28>>2]=b;a=k+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[7632]|0;d=1<<b;if(!(a&d)){c[7632]=a|d;c[e>>2]=k;c[k+24>>2]=e;c[k+12>>2]=k;c[k+8>>2]=k;break}a=f<<((b|0)==31?0:25-(b>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(f|0)){v=192;break}e=d+16+(a>>>31<<2)|0;b=c[e>>2]|0;if(!b){v=191;break}else{a=a<<1;d=b}}if((v|0)==191){c[e>>2]=k;c[k+24>>2]=d;c[k+12>>2]=k;c[k+8>>2]=k;break}else if((v|0)==192){v=d+8|0;w=c[v>>2]|0;c[w+12>>2]=k;c[v>>2]=k;c[k+8>>2]=w;c[k+12>>2]=d;c[k+24>>2]=0;break}}else{w=(c[7634]|0)+i|0;c[7634]=w;c[7637]=k;c[k+4>>2]=w|1}while(0);w=m+8|0;l=x;return w|0}else a=30972;while(1){b=c[a>>2]|0;if(b>>>0<=j>>>0?(w=b+(c[a+4>>2]|0)|0,w>>>0>j>>>0):0)break;a=c[a+8>>2]|0}f=w+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=j+16|0;a=a>>>0<f>>>0?j:a;b=a+8|0;d=h+-40|0;u=g+8|0;u=(u&7|0)==0?0:0-u&7;v=g+u|0;u=d-u|0;c[7637]=v;c[7634]=u;c[v+4>>2]=u|1;c[g+d+4>>2]=40;c[7638]=c[7753];d=a+4|0;c[d>>2]=27;c[b>>2]=c[7743];c[b+4>>2]=c[7744];c[b+8>>2]=c[7745];c[b+12>>2]=c[7746];c[7743]=g;c[7744]=h;c[7746]=0;c[7745]=b;b=a+24|0;do{v=b;b=b+4|0;c[b>>2]=7}while((v+8|0)>>>0<w>>>0);if((a|0)!=(j|0)){g=a-j|0;c[d>>2]=c[d>>2]&-2;c[j+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){d=30564+(b<<1<<2)|0;a=c[7631]|0;b=1<<b;if(!(a&b)){c[7631]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)d=31;else{v=(b+1048320|0)>>>16&8;w=b<<v;u=(w+520192|0)>>>16&4;w=w<<u;d=(w+245760|0)>>>16&2;d=14-(u|v|d)+(w<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=30828+(d<<2)|0;c[j+28>>2]=d;c[j+20>>2]=0;c[f>>2]=0;b=c[7632]|0;a=1<<d;if(!(b&a)){c[7632]=b|a;c[e>>2]=j;c[j+24>>2]=e;c[j+12>>2]=j;c[j+8>>2]=j;break}a=g<<((d|0)==31?0:25-(d>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(g|0)){v=213;break}e=d+16+(a>>>31<<2)|0;b=c[e>>2]|0;if(!b){v=212;break}else{a=a<<1;d=b}}if((v|0)==212){c[e>>2]=j;c[j+24>>2]=d;c[j+12>>2]=j;c[j+8>>2]=j;break}else if((v|0)==213){v=d+8|0;w=c[v>>2]|0;c[w+12>>2]=j;c[v>>2]=j;c[j+8>>2]=w;c[j+12>>2]=d;c[j+24>>2]=0;break}}}else{w=c[7635]|0;if((w|0)==0|g>>>0<w>>>0)c[7635]=g;c[7743]=g;c[7744]=h;c[7746]=0;c[7640]=c[7749];c[7639]=-1;c[7644]=30564;c[7643]=30564;c[7646]=30572;c[7645]=30572;c[7648]=30580;c[7647]=30580;c[7650]=30588;c[7649]=30588;c[7652]=30596;c[7651]=30596;c[7654]=30604;c[7653]=30604;c[7656]=30612;c[7655]=30612;c[7658]=30620;c[7657]=30620;c[7660]=30628;c[7659]=30628;c[7662]=30636;c[7661]=30636;c[7664]=30644;c[7663]=30644;c[7666]=30652;c[7665]=30652;c[7668]=30660;c[7667]=30660;c[7670]=30668;c[7669]=30668;c[7672]=30676;c[7671]=30676;c[7674]=30684;c[7673]=30684;c[7676]=30692;c[7675]=30692;c[7678]=30700;c[7677]=30700;c[7680]=30708;c[7679]=30708;c[7682]=30716;c[7681]=30716;c[7684]=30724;c[7683]=30724;c[7686]=30732;c[7685]=30732;c[7688]=30740;c[7687]=30740;c[7690]=30748;c[7689]=30748;c[7692]=30756;c[7691]=30756;c[7694]=30764;c[7693]=30764;c[7696]=30772;c[7695]=30772;c[7698]=30780;c[7697]=30780;c[7700]=30788;c[7699]=30788;c[7702]=30796;c[7701]=30796;c[7704]=30804;c[7703]=30804;c[7706]=30812;c[7705]=30812;w=h+-40|0;u=g+8|0;u=(u&7|0)==0?0:0-u&7;v=g+u|0;u=w-u|0;c[7637]=v;c[7634]=u;c[v+4>>2]=u|1;c[g+w+4>>2]=40;c[7638]=c[7753]}while(0);b=c[7634]|0;if(b>>>0>n>>>0){u=b-n|0;c[7634]=u;w=c[7637]|0;v=w+n|0;c[7637]=v;c[v+4>>2]=u|1;c[w+4>>2]=n|3;w=w+8|0;l=x;return w|0}}c[(Si()|0)>>2]=12;w=0;l=x;return w|0}function Ri(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)return;d=a+-8|0;f=c[7635]|0;a=c[a+-4>>2]|0;b=a&-8;j=d+b|0;do if(!(a&1)){e=c[d>>2]|0;if(!(a&3))return;h=d+(0-e)|0;g=e+b|0;if(h>>>0<f>>>0)return;if((c[7636]|0)==(h|0)){a=j+4|0;b=c[a>>2]|0;if((b&3|0)!=3){i=h;b=g;break}c[7633]=g;c[a>>2]=b&-2;c[h+4>>2]=g|1;c[h+g>>2]=g;return}d=e>>>3;if(e>>>0<256){a=c[h+8>>2]|0;b=c[h+12>>2]|0;if((b|0)==(a|0)){c[7631]=c[7631]&~(1<<d);i=h;b=g;break}else{c[a+12>>2]=b;c[b+8>>2]=a;i=h;b=g;break}}f=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){d=h+16|0;b=d+4|0;a=c[b>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}else b=d}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}c[b>>2]=0}else{i=c[h+8>>2]|0;c[i+12>>2]=a;c[a+8>>2]=i}while(0);if(f){b=c[h+28>>2]|0;d=30828+(b<<2)|0;if((c[d>>2]|0)==(h|0)){c[d>>2]=a;if(!a){c[7632]=c[7632]&~(1<<b);i=h;b=g;break}}else{c[f+16+(((c[f+16>>2]|0)!=(h|0)&1)<<2)>>2]=a;if(!a){i=h;b=g;break}}c[a+24>>2]=f;b=h+16|0;d=c[b>>2]|0;if(d|0){c[a+16>>2]=d;c[d+24>>2]=a}b=c[b+4>>2]|0;if(b){c[a+20>>2]=b;c[b+24>>2]=a;i=h;b=g}else{i=h;b=g}}else{i=h;b=g}}else{i=d;h=d}while(0);if(h>>>0>=j>>>0)return;a=j+4|0;e=c[a>>2]|0;if(!(e&1))return;if(!(e&2)){if((c[7637]|0)==(j|0)){j=(c[7634]|0)+b|0;c[7634]=j;c[7637]=i;c[i+4>>2]=j|1;if((i|0)!=(c[7636]|0))return;c[7636]=0;c[7633]=0;return}if((c[7636]|0)==(j|0)){j=(c[7633]|0)+b|0;c[7633]=j;c[7636]=h;c[i+4>>2]=j|1;c[h+j>>2]=j;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){b=c[j+8>>2]|0;a=c[j+12>>2]|0;if((a|0)==(b|0)){c[7631]=c[7631]&~(1<<d);break}else{c[b+12>>2]=a;c[a+8>>2]=b;break}}else{g=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){d=j+16|0;b=d+4|0;a=c[b>>2]|0;if(!a){a=c[d>>2]|0;if(!a){d=0;break}else b=d}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}c[b>>2]=0;d=a}else{d=c[j+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(g|0){a=c[j+28>>2]|0;b=30828+(a<<2)|0;if((c[b>>2]|0)==(j|0)){c[b>>2]=d;if(!d){c[7632]=c[7632]&~(1<<a);break}}else{c[g+16+(((c[g+16>>2]|0)!=(j|0)&1)<<2)>>2]=d;if(!d)break}c[d+24>>2]=g;a=j+16|0;b=c[a>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}a=c[a+4>>2]|0;if(a|0){c[d+20>>2]=a;c[a+24>>2]=d}}}while(0);c[i+4>>2]=f|1;c[h+f>>2]=f;if((i|0)==(c[7636]|0)){c[7633]=f;return}}else{c[a>>2]=e&-2;c[i+4>>2]=b|1;c[h+b>>2]=b;f=b}a=f>>>3;if(f>>>0<256){d=30564+(a<<1<<2)|0;b=c[7631]|0;a=1<<a;if(!(b&a)){c[7631]=b|a;a=d;b=d+8|0}else{b=d+8|0;a=c[b>>2]|0}c[b>>2]=i;c[a+12>>2]=i;c[i+8>>2]=a;c[i+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)a=31;else{h=(a+1048320|0)>>>16&8;j=a<<h;g=(j+520192|0)>>>16&4;j=j<<g;a=(j+245760|0)>>>16&2;a=14-(g|h|a)+(j<<a>>>15)|0;a=f>>>(a+7|0)&1|a<<1}else a=0;e=30828+(a<<2)|0;c[i+28>>2]=a;c[i+20>>2]=0;c[i+16>>2]=0;b=c[7632]|0;d=1<<a;do if(b&d){b=f<<((a|0)==31?0:25-(a>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(f|0)){a=73;break}e=d+16+(b>>>31<<2)|0;a=c[e>>2]|0;if(!a){a=72;break}else{b=b<<1;d=a}}if((a|0)==72){c[e>>2]=i;c[i+24>>2]=d;c[i+12>>2]=i;c[i+8>>2]=i;break}else if((a|0)==73){h=d+8|0;j=c[h>>2]|0;c[j+12>>2]=i;c[h>>2]=i;c[i+8>>2]=j;c[i+12>>2]=d;c[i+24>>2]=0;break}}else{c[7632]=b|d;c[e>>2]=i;c[i+24>>2]=e;c[i+12>>2]=i;c[i+8>>2]=i}while(0);j=(c[7639]|0)+-1|0;c[7639]=j;if(!j)a=30980;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[7639]=-1;return}function Si(){return 31020}function Ti(a){a=+a;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,k=0.0,l=0.0,m=0.0;h[j>>3]=a;b=c[j>>2]|0;d=c[j+4>>2]|0;e=(d|0)<0;do if(e|d>>>0<1048576){if((b|0)==0&(d&2147483647|0)==0){a=-1.0/(a*a);break}if(e){a=(a-a)/0.0;break}else{h[j>>3]=a*18014398509481984.0;d=c[j+4>>2]|0;e=-1077;b=c[j>>2]|0;f=9;break}}else if(d>>>0<=2146435071)if((b|0)==0&0==0&(d|0)==1072693248)a=0.0;else{e=-1023;f=9}while(0);if((f|0)==9){f=d+614242|0;c[j>>2]=b;c[j+4>>2]=(f&1048575)+1072079006;k=+h[j>>3]+-1.0;i=k*(k*.5);l=k/(k+2.0);m=l*l;g=m*m;h[j>>3]=k-i;d=c[j+4>>2]|0;c[j>>2]=0;c[j+4>>2]=d;a=+h[j>>3];g=k-a-i+l*(i+(g*(g*(g*.15313837699209373+.22222198432149784)+.3999999999940942)+m*(g*(g*(g*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));m=a*.4342944818781689;i=+(e+(f>>>20)|0);l=i*.30102999566361177;k=l+m;a=k+(m+(l-k)+(g*.4342944818781689+(i*3.694239077158931e-13+(g+a)*2.5082946711645275e-11)))}return +a}function Ui(a){a=+a;return ~~+cj(+a)|0}function Vi(){}function Wi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=N(e,f)|0;d=a>>>16;a=(c>>>16)+(N(e,d)|0)|0;e=b>>>16;b=N(e,f)|0;return (y=(a>>>16)+(N(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function Xi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=Wi(e,f)|0;a=y;return (y=(N(b,f)|0)+(N(d,e)|0)+a|a&0,c|0|0)|0}function Yi(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){y=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}y=(b|0)<0?-1:0;return b>>c-32|0}function Zi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (y=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function _i(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192)return Y(b|0,d|0,e|0)|0;h=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return h|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}e=g&-4|0;f=e-64|0;while((b|0)<=(f|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(e|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{e=g-4|0;while((b|0)<(e|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return h|0}function $i(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else _i(b,c,d)|0;return b|0}function aj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}f=h&-4|0;g=f-64|0;i=d|d<<8|d<<16|d<<24;while((b|0)<=(g|0)){c[b>>2]=i;c[b+4>>2]=i;c[b+8>>2]=i;c[b+12>>2]=i;c[b+16>>2]=i;c[b+20>>2]=i;c[b+24>>2]=i;c[b+28>>2]=i;c[b+32>>2]=i;c[b+36>>2]=i;c[b+40>>2]=i;c[b+44>>2]=i;c[b+48>>2]=i;c[b+52>>2]=i;c[b+56>>2]=i;c[b+60>>2]=i;b=b+64|0}while((b|0)<(f|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}return h-e|0}function bj(a){a=+a;return a>=0.0?+z(a+.5):+M(a-.5)}function cj(a){a=+a;return a-+z(a)!=.5?+bj(a):+bj(a/2.0)*2.0}function dj(a){a=a|0;var b=0,d=0;d=a+15&-16|0;b=c[i>>2]|0;a=b+d|0;if((d|0)>0&(a|0)<(b|0)|(a|0)<0){V()|0;X(12);return -1}c[i>>2]=a;if((a|0)>(U()|0)?(T()|0)==0:0){c[i>>2]=b;X(12);return -1}return b|0}function ej(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;ba[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function fj(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;R(0)}
// EMSCRIPTEN_END_FUNCS
var ba=[fj,hi,gi,fj];return{___muldi3:Xi,_bitshift64Ashr:Yi,_free:Ri,_i64Add:Zi,_malloc:Qi,_memcpy:_i,_memmove:$i,_memset:aj,_opus_decode:Xh,_opus_decode_float:ai,_opus_decoder_ctl:bi,_opus_decoder_get_size:Lh,_opus_decoder_init:Nh,_opus_encode:zi,_opus_encode_float:Ai,_opus_encoder_ctl:Bi,_opus_encoder_get_size:ci,_opus_encoder_init:ei,_opus_get_version_string:Ra,_opus_packet_get_nb_samples:_h,_opus_strerror:Qa,_rintf:cj,_sbrk:dj,dynCall_viiiiiii:ej,establishStackSpace:fa,getTempRet0:ia,runPostSets:Vi,setTempRet0:ha,setThrew:ga,stackAlloc:ca,stackRestore:ea,stackSave:da}})
// EMSCRIPTEN_END_ASM
(a.c,a.f,buffer);a.___muldi3=X.___muldi3;a._bitshift64Ashr=X._bitshift64Ashr;a._free=X._free;a._i64Add=X._i64Add;a._malloc=X._malloc;a._memcpy=X._memcpy;a._memmove=X._memmove;a._memset=X._memset;a._opus_decode=X._opus_decode;a._opus_decode_float=X._opus_decode_float;a._opus_decoder_ctl=X._opus_decoder_ctl;a._opus_decoder_get_size=X._opus_decoder_get_size;
a._opus_decoder_init=X._opus_decoder_init;a._opus_encode=X._opus_encode;a._opus_encode_float=X._opus_encode_float;a._opus_encoder_ctl=X._opus_encoder_ctl;a._opus_encoder_get_size=X._opus_encoder_get_size;a._opus_encoder_init=X._opus_encoder_init;a._opus_get_version_string=X._opus_get_version_string;a._opus_packet_get_nb_samples=X._opus_packet_get_nb_samples;a._opus_strerror=X._opus_strerror;a._rintf=X._rintf;a._sbrk=X._sbrk;a.establishStackSpace=X.establishStackSpace;a.getTempRet0=X.getTempRet0;
a.runPostSets=X.runPostSets;a.setTempRet0=X.setTempRet0;a.setThrew=X.setThrew;a.stackAlloc=X.stackAlloc;var na=a.stackRestore=X.stackRestore,ja=a.stackSave=X.stackSave;a.dynCall_viiiiiii=X.dynCall_viiiiiii;a.asm=X;
if(U)if((String.prototype.startsWith?U.startsWith(V):0===U.indexOf(V))||("function"===typeof a.locateFile?U=a.locateFile(U):a.memoryInitializerPrefixURL&&(U=a.memoryInitializerPrefixURL+U)),m||n){var oa=a.readBinary(U);z.set(oa,8)}else{var pa=function(){a.readAsync(U,Y,function(){throw"could not load memory initializer "+U;})};P++;a.monitorRunDependencies&&a.monitorRunDependencies(P);var Y=function(b){b.byteLength&&(b=new Uint8Array(b));z.set(b,8);a.memoryInitializerRequest&&delete a.memoryInitializerRequest.response;
P--;a.monitorRunDependencies&&a.monitorRunDependencies(P);0==P&&(null!==Q&&(clearInterval(Q),Q=null),R&&(b=R,R=null,b()))},qa=r(U);if(qa)Y(qa.buffer);else if(a.memoryInitializerRequest){var ra=function(){var b=a.memoryInitializerRequest,c=b.response;if(200!==b.status&&0!==b.status)if(c=r(a.memoryInitializerRequestURL))c=c.buffer;else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+b.status+", retrying "+U);pa();return}Y(c)};a.memoryInitializerRequest.response?
setTimeout(ra,0):a.memoryInitializerRequest.addEventListener("load",ra)}else pa()}a.then=function(b){if(a.calledRun)b(a);else{var c=a.onRuntimeInitialized;a.onRuntimeInitialized=function(){c&&c();b(a)}}return a};function u(b){this.name="ExitStatus";this.message="Program terminated with exit("+b+")";this.status=b}u.prototype=Error();u.prototype.constructor=u;R=function sa(){a.calledRun||Z();a.calledRun||(R=sa)};
function Z(){function b(){if(!a.calledRun&&(a.calledRun=!0,!x)){ea||(ea=!0,N(aa));N(ba);if(a.onRuntimeInitialized)a.onRuntimeInitialized();if(a.postRun)for("function"==typeof a.postRun&&(a.postRun=[a.postRun]);a.postRun.length;){var b=a.postRun.shift();da.unshift(b)}N(da)}}if(!(0<P)){if(a.preRun)for("function"==typeof a.preRun&&(a.preRun=[a.preRun]);a.preRun.length;)fa();N(O);0<P||a.calledRun||(a.setStatus?(a.setStatus("Running..."),setTimeout(function(){setTimeout(function(){a.setStatus("")},1);
b()},1)):b())}}a.run=Z;a.exit=function(b,c){if(!c||!a.noExitRuntime||0!==b){if(!a.noExitRuntime&&(x=!0,F=void 0,N(ca),a.onExit))a.onExit(b);m&&process.exit(b);a.quit(b,new u(b))}};function y(b){if(a.onAbort)a.onAbort(b);void 0!==b?(a.print(b),a.printErr(b),b=JSON.stringify(b)):b="";x=!0;throw"abort("+b+"). Build with -s ASSERTIONS=1 for more info.";}a.abort=y;if(a.preInit)for("function"==typeof a.preInit&&(a.preInit=[a.preInit]);0<a.preInit.length;)a.preInit.pop()();a.noExitRuntime=!0;Z();
return Module;
};
if (typeof exports === 'object' && typeof module === 'object')
module.exports = Module;
else if (typeof define === 'function' && define['amd'])
define([], function() { return Module; });
else if (typeof exports === 'object')
exports["Module"] = Module;