var Module = function(Module) { Module = Module || {}; var b;b||(b=eval("(function() { try { return Module || {} } catch(e) { return {} } })()"));var f={},l;for(l in b)b.hasOwnProperty(l)&&(f[l]=b[l]);var p=!1,q=!1,r=!1,t=!1; if(b.ENVIRONMENT)if("WEB"===b.ENVIRONMENT)p=!0;else if("WORKER"===b.ENVIRONMENT)q=!0;else if("NODE"===b.ENVIRONMENT)r=!0;else if("SHELL"===b.ENVIRONMENT)t=!0;else throw Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.");else p="object"===typeof window,q="function"===typeof importScripts,r="object"===typeof process&&"function"===typeof require&&!p&&!q,t=!p&&!r&&!q; if(r){b.print||(b.print=console.log);b.printErr||(b.printErr=console.warn);var u,v;b.read=function(a,c){u||(u=null);v||(v=require("path"));a=v.normalize(a);var d=u.readFileSync(a);d||a==v.resolve(a)||(a=path.join(__dirname,"..","src",a),d=u.readFileSync(a));d&&!c&&(d=d.toString());return d};b.readBinary=function(a){a=b.read(a,!0);a.buffer||(a=new Uint8Array(a));assert(a.buffer);return a};b.load=function(a){aa(read(a))};b.thisProgram||(b.thisProgram=1 0) var gc = undefined");else if(p||q)b.read=function(a){var c=new XMLHttpRequest;c.open("GET",a,!1);c.send(null);return c.responseText},b.readAsync=function(a,c,d){var e=new XMLHttpRequest;e.open("GET",a,!0);e.responseType="arraybuffer";e.onload=function(){200== e.status||0==e.status&&e.response?c(e.response):d()};e.onerror=d;e.send(null)},"undefined"!=typeof arguments&&(b.arguments=arguments),"undefined"!==typeof console?(b.print||(b.print=function(a){console.log(a)}),b.printErr||(b.printErr=function(a){console.warn(a)})):b.print||(b.print=function(){}),q&&(b.load=importScripts),"undefined"===typeof b.setWindowTitle&&(b.setWindowTitle=function(a){document.title=a});else throw"Unknown runtime environment. Where are we?";function aa(a){eval.call(null,a)} !b.load&&b.read&&(b.load=function(a){aa(b.read(a))});b.print||(b.print=function(){});b.printErr||(b.printErr=b.print);b.arguments||(b.arguments=[]);b.thisProgram||(b.thisProgram="./this.program");b.print=b.print;b.m=b.printErr;b.preRun=[];b.postRun=[];for(l in f)f.hasOwnProperty(l)&&(b[l]=f[l]); var f=void 0,y={B:function(a){tempRet0=a},w:function(){return tempRet0},g:function(){return x},c:function(a){x=a},q:function(a){switch(a){case "i1":case "i8":return 1;case "i16":return 2;case "i32":return 4;case "i64":return 8;case "float":return 4;case "double":return 8;default:return"*"===a[a.length-1]?y.i:"i"===a[0]?(a=parseInt(a.substr(1)),assert(0===a%8),a/8):0}},v:function(a){return Math.max(y.q(a),y.i)},C:16,Q:function(a,c){"double"===c||"i64"===c?a&7&&(assert(4===(a&7)),a+=4):assert(0===(a& 3));return a},K:function(a,c,d){return d||"i64"!=a&&"double"!=a?a?Math.min(c||(a?y.v(a):0),y.i):Math.min(c,8):8},k:function(a,c,d){return d&&d.length?(d.splice||(d=Array.prototype.slice.call(d)),d.splice(0,0,c),b["dynCall_"+a].apply(null,d)):b["dynCall_"+a].call(null,c)},e:[],r:function(a){for(var c=0;c=F)G("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+ F+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 "),a=!0;return a?(E=c,0):c},p:function(a,c){return Math.ceil(a/(c?c:16))*(c?c:16)},P:function(a,c,d){return d?+(a>>>0)+4294967296*+(c>>>0):+(a>>>0)+4294967296*+(c|0)},h:8,i:4,D:0};b.Runtime=y;y.addFunction=y.r; y.removeFunction=y.A;var H=!1;function assert(a,c){a||G("Assertion failed: "+c)}function ba(a){var c=b["_"+a];if(!c)try{c=eval("_"+a)}catch(d){}assert(c,"Cannot call unknown function "+a+" (perhaps LLVM optimizations or closure removed it?)");return c}var ca,da; (function(){function a(a){a=a.toString().match(g).slice(1);return{arguments:a[0],body:a[1],returnValue:a[2]}}function c(){if(!k){k={};for(var c in d)d.hasOwnProperty(c)&&(k[c]=a(d[c]))}}var d={stackSave:function(){y.g()},stackRestore:function(){y.c()},arrayToC:function(a){var c=y.f(a.length);ea(a,c);return c},stringToC:function(a){var c=0;null!==a&&void 0!==a&&0!==a&&(c=y.f((a.length<<2)+1),fa(a,c));return c}},e={string:d.stringToC,array:d.arrayToC};da=function(a,c,d,g,k){a=ba(a);var C=[],D=0;if(g)for(var n= 0;n>0]=c;break;case "i8":J[a>>0]=c;break;case "i16":L[a>>1]=c;break;case "i32":M[a>>2]=c;break;case "i64":tempI64=[c>>>0,(tempDouble=c,1<=+ha(tempDouble)?0>>0:~~+ka((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)];M[a>>2]=tempI64[0];M[a+4>>2]=tempI64[1];break;case "float":N[a>>2]=c;break;case "double":la[a>>3]=c;break;default:G("invalid type for setValue: "+ d)}}b.setValue=ga;function ma(a,c){c=c||"i8";"*"===c.charAt(c.length-1)&&(c="i32");switch(c){case "i1":return J[a>>0];case "i8":return J[a>>0];case "i16":return L[a>>1];case "i32":return M[a>>2];case "i64":return M[a>>2];case "float":return N[a>>2];case "double":return la[a>>3];default:G("invalid type for setValue: "+c)}return null}b.getValue=ma;b.ALLOC_NORMAL=0;b.ALLOC_STACK=1;b.ALLOC_STATIC=2;b.ALLOC_DYNAMIC=3;b.ALLOC_NONE=4; function O(a,c,d,e){var g,k;"number"===typeof a?(g=!0,k=a):(g=!1,k=a.length);var h="string"===typeof c?c:null;d=4==d?e:["function"===typeof Q?Q:y.o,y.f,y.o,y.b][void 0===d?2:d](Math.max(k,h?1:c.length));if(g){e=d;assert(0==(d&3));for(a=d+(k&-4);e>2]=0;for(a=d+k;e>0]=0;return d}if("i8"===h)return a.subarray||a.slice?R.set(a,d):R.set(new Uint8Array(a),d),d;e=0;for(var A,m;e>0];d|=e;if(0==e&&!c)break;g++;if(c&&g==c)break}c||(c=g);e="";if(128>d){for(;0>0];if(!d)return c;c+=String.fromCharCode(d)}};b.stringToAscii=function(a,c){return pa(a,c,!1)}; function qa(a,c){for(var d,e,g,k,h,A,m="";;){d=a[c++];if(!d)return m;d&128?(e=a[c++]&63,192==(d&224)?m+=String.fromCharCode((d&31)<<6|e):(g=a[c++]&63,224==(d&240)?d=(d&15)<<12|e<<6|g:(k=a[c++]&63,240==(d&248)?d=(d&7)<<18|e<<12|g<<6|k:(h=a[c++]&63,248==(d&252)?d=(d&3)<<24|e<<18|g<<12|k<<6|h:(A=a[c++]&63,d=(d&1)<<30|e<<24|g<<18|k<<12|h<<6|A))),65536>d?m+=String.fromCharCode(d):(d-=65536,m+=String.fromCharCode(55296|d>>10,56320|d&1023)))):m+=String.fromCharCode(d)}}b.UTF8ArrayToString=qa; b.UTF8ToString=function(a){return qa(R,a)}; function ra(a,c,d,e){if(!(0=h&&(h=65536+((h&1023)<<10)|a.charCodeAt(++k)&1023);if(127>=h){if(d>=e)break;c[d++]=h}else{if(2047>=h){if(d+1>=e)break;c[d++]=192|h>>6}else{if(65535>=h){if(d+2>=e)break;c[d++]=224|h>>12}else{if(2097151>=h){if(d+3>=e)break;c[d++]=240|h>>18}else{if(67108863>=h){if(d+4>=e)break;c[d++]=248|h>>24}else{if(d+5>=e)break;c[d++]=252|h>>30;c[d++]=128|h>>24&63}c[d++]=128|h>>18&63}c[d++]=128| h>>12&63}c[d++]=128|h>>6&63}c[d++]=128|h&63}}c[d]=0;return d-g}b.stringToUTF8Array=ra;b.stringToUTF8=function(a,c,d){return ra(a,R,c,d)};function sa(a){for(var c=0,d=0;d=e&&(e=65536+((e&1023)<<10)|a.charCodeAt(++d)&1023);127>=e?++c:c=2047>=e?c+2:65535>=e?c+3:2097151>=e?c+4:67108863>=e?c+5:c+6}return c}b.lengthBytesUTF8=sa; function ta(){return ua().replace(/__Z[\w\d_]+/g,function(a){var c;a:{if(b.___cxa_demangle)try{var d=Q(a.length);fa(a.substr(1),d);var e=Q(4),g=b.___cxa_demangle(d,0,0,e);if(0===ma(e,"i32")&&g){c=I(g);break a}}catch(k){c=a;break a}finally{d&&va(d),e&&va(e),g&&va(g)}y.d("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");c=a}return a===c?a:a+" ["+c+"]"})} function ua(){var a=Error();if(!a.stack){try{throw Error(0);}catch(c){a=c}if(!a.stack)return"(no stack trace available)"}return a.stack.toString()}b.stackTrace=function(){return ta()};function wa(){var a=E;0U?2*U:U+16777216;U!==F&&(F=U);b.buffer?buffer=b.buffer:buffer=new ArrayBuffer(F);b.HEAP8=J=new Int8Array(buffer); b.HEAP16=L=new Int16Array(buffer);b.HEAP32=M=new Int32Array(buffer);b.HEAPU8=R=new Uint8Array(buffer);b.HEAPU16=xa=new Uint16Array(buffer);b.HEAPU32=ya=new Uint32Array(buffer);b.HEAPF32=N=new Float32Array(buffer);b.HEAPF64=la=new Float64Array(buffer);M[0]=255;if(255!==R[0]||0!==R[3])throw"Typed arrays 2 must be run on a little-endian system";b.HEAP=void 0;b.buffer=buffer;b.HEAP8=J;b.HEAP16=L;b.HEAP32=M;b.HEAPU8=R;b.HEAPU16=xa;b.HEAPU32=ya;b.HEAPF32=N;b.HEAPF64=la; function V(a){for(;0>0]=a[d],d+=1}b.writeStringToMemory=fa;function ea(a,c){for(var d=0;d>0]=a[d]}b.writeArrayToMemory=ea; function pa(a,c,d){for(var e=0;e>0]=a.charCodeAt(e);d||(J[c>>0]=0)}b.writeAsciiToMemory=pa;Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(a,c){var d=a&65535,e=c&65535;return d*e+((a>>>16)*e+d*(c>>>16)<<16)|0});Math.O=Math.imul;Math.clz32||(Math.clz32=function(a){a=a>>>0;for(var c=0;32>c;c++)if(a&1<<31-c)return c;return 32});Math.H=Math.clz32;var ha=Math.abs,ka=Math.ceil,ja=Math.floor,La=Math.pow,ia=Math.min,W=0,Ma=null,X=null; b.addRunDependency=function(){W++;b.monitorRunDependencies&&b.monitorRunDependencies(W)};b.removeRunDependency=function(){W--;b.monitorRunDependencies&&b.monitorRunDependencies(W);if(0==W&&(null!==Ma&&(clearInterval(Ma),Ma=null),X)){var a=X;X=null;a()}};b.preloadedImages={};b.preloadedAudios={};za=8;z=za+31072;Ea.push(); O([1,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,1,0,0,0,5,0,0,0,2,0,0,0,15,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,12,0,0,0,3,0,0,0,11,0,0,0,4,0,0,0,14,0,0,0,1,0,0,0,9,0,0,0,6,0,0,0,13,0,0,0,2,0,0,0,10,0,0,0,5,0,0,0,0,0,157,62,0,64,94,62,0,192,4,62,0,128,237,62,0,64,137,62,0,0,0,0,0,192,76,63,0,0,205,61,0,0,0,0,190,98,0,0,198,98,0,0,215,98,0,0,232,98,0,0,247,98,0,0,8,99,0,0,32,99,0,0,46,99,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,224, 64,0,0,0,65,0,0,128,65,0,0,192,65,0,0,16,66,0,0,48,66,0,0,72,66,0,0,96,66,0,0,120,66,0,0,134,66,0,0,144,66,0,0,158,66,0,0,176,66,0,0,212,66,0,0,6,67,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,64,64,0,0,64,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,0,65,0,0,0,65,168,1,0,0,104,4,0,0,36,7,0,0,220,9,0,0,144,12,0,0,64,15,0,0,236,17,0,0,84,19,0,0,16,20,0,0,132,20,0,0,208,20,0,0,8,21,0,0,40,21,0,0,64,21,0,0, 76,21,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0, 1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0, 0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0, 0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,21,0,0,0,23,0,0,0,25,0,0,0,27,0,0,0,29,0,0,0,31,0,0,0,33,0,0,0,35,0,0,0,37,0,0,0,39,0,0,0,41,0,0,0,43, 0,0,0,45,0,0,0,47,0,0,0,49,0,0,0,51,0,0,0,53,0,0,0,55,0,0,0,57,0,0,0,59,0,0,0,61,0,0,0,63,0,0,0,65,0,0,0,67,0,0,0,69,0,0,0,71,0,0,0,73,0,0,0,75,0,0,0,77,0,0,0,79,0,0,0,81,0,0,0,83,0,0,0,85,0,0,0,87,0,0,0,89,0,0,0,91,0,0,0,93,0,0,0,95,0,0,0,97,0,0,0,99,0,0,0,101,0,0,0,103,0,0,0,105,0,0,0,107,0,0,0,109,0,0,0,111,0,0,0,113,0,0,0,115,0,0,0,117,0,0,0,119,0,0,0,121,0,0,0,123,0,0,0,125,0,0,0,127,0,0,0,129,0,0,0,131,0,0,0,133,0,0,0,135,0,0,0,137,0,0,0,139,0,0,0,141,0,0,0,143,0,0,0,145,0,0,0,147,0,0,0,149, 0,0,0,151,0,0,0,153,0,0,0,155,0,0,0,157,0,0,0,159,0,0,0,161,0,0,0,163,0,0,0,165,0,0,0,167,0,0,0,169,0,0,0,171,0,0,0,173,0,0,0,175,0,0,0,177,0,0,0,179,0,0,0,181,0,0,0,183,0,0,0,185,0,0,0,187,0,0,0,189,0,0,0,191,0,0,0,193,0,0,0,195,0,0,0,197,0,0,0,199,0,0,0,201,0,0,0,203,0,0,0,205,0,0,0,207,0,0,0,209,0,0,0,211,0,0,0,213,0,0,0,215,0,0,0,217,0,0,0,219,0,0,0,221,0,0,0,223,0,0,0,225,0,0,0,227,0,0,0,229,0,0,0,231,0,0,0,233,0,0,0,235,0,0,0,237,0,0,0,239,0,0,0,241,0,0,0,243,0,0,0,245,0,0,0,247,0,0,0,249,0, 0,0,251,0,0,0,253,0,0,0,255,0,0,0,1,1,0,0,3,1,0,0,5,1,0,0,7,1,0,0,9,1,0,0,11,1,0,0,13,1,0,0,15,1,0,0,17,1,0,0,19,1,0,0,21,1,0,0,23,1,0,0,25,1,0,0,27,1,0,0,29,1,0,0,31,1,0,0,33,1,0,0,35,1,0,0,37,1,0,0,39,1,0,0,41,1,0,0,43,1,0,0,45,1,0,0,47,1,0,0,49,1,0,0,51,1,0,0,53,1,0,0,55,1,0,0,57,1,0,0,59,1,0,0,61,1,0,0,63,1,0,0,65,1,0,0,67,1,0,0,69,1,0,0,71,1,0,0,73,1,0,0,75,1,0,0,77,1,0,0,79,1,0,0,81,1,0,0,83,1,0,0,85,1,0,0,87,1,0,0,89,1,0,0,91,1,0,0,93,1,0,0,95,1,0,0,13,0,0,0,25,0,0,0,41,0,0,0,61,0,0,0,85,0, 0,0,113,0,0,0,145,0,0,0,181,0,0,0,221,0,0,0,9,1,0,0,57,1,0,0,109,1,0,0,165,1,0,0,225,1,0,0,33,2,0,0,101,2,0,0,173,2,0,0,249,2,0,0,73,3,0,0,157,3,0,0,245,3,0,0,81,4,0,0,177,4,0,0,21,5,0,0,125,5,0,0,233,5,0,0,89,6,0,0,205,6,0,0,69,7,0,0,193,7,0,0,65,8,0,0,197,8,0,0,77,9,0,0,217,9,0,0,105,10,0,0,253,10,0,0,149,11,0,0,49,12,0,0,209,12,0,0,117,13,0,0,29,14,0,0,201,14,0,0,121,15,0,0,45,16,0,0,229,16,0,0,161,17,0,0,97,18,0,0,37,19,0,0,237,19,0,0,185,20,0,0,137,21,0,0,93,22,0,0,53,23,0,0,17,24,0,0,241,24, 0,0,213,25,0,0,189,26,0,0,169,27,0,0,153,28,0,0,141,29,0,0,133,30,0,0,129,31,0,0,129,32,0,0,133,33,0,0,141,34,0,0,153,35,0,0,169,36,0,0,189,37,0,0,213,38,0,0,241,39,0,0,17,41,0,0,53,42,0,0,93,43,0,0,137,44,0,0,185,45,0,0,237,46,0,0,37,48,0,0,97,49,0,0,161,50,0,0,229,51,0,0,45,53,0,0,121,54,0,0,201,55,0,0,29,57,0,0,117,58,0,0,209,59,0,0,49,61,0,0,149,62,0,0,253,63,0,0,105,65,0,0,217,66,0,0,77,68,0,0,197,69,0,0,65,71,0,0,193,72,0,0,69,74,0,0,205,75,0,0,89,77,0,0,233,78,0,0,125,80,0,0,21,82,0,0,177, 83,0,0,81,85,0,0,245,86,0,0,157,88,0,0,73,90,0,0,249,91,0,0,173,93,0,0,101,95,0,0,33,97,0,0,225,98,0,0,165,100,0,0,109,102,0,0,57,104,0,0,9,106,0,0,221,107,0,0,181,109,0,0,145,111,0,0,113,113,0,0,85,115,0,0,61,117,0,0,41,119,0,0,25,121,0,0,13,123,0,0,5,125,0,0,1,127,0,0,1,129,0,0,5,131,0,0,13,133,0,0,25,135,0,0,41,137,0,0,61,139,0,0,85,141,0,0,113,143,0,0,145,145,0,0,181,147,0,0,221,149,0,0,9,152,0,0,57,154,0,0,109,156,0,0,165,158,0,0,225,160,0,0,33,163,0,0,101,165,0,0,173,167,0,0,249,169,0,0,73, 172,0,0,157,174,0,0,245,176,0,0,81,179,0,0,177,181,0,0,21,184,0,0,125,186,0,0,233,188,0,0,89,191,0,0,205,193,0,0,69,196,0,0,193,198,0,0,65,201,0,0,197,203,0,0,77,206,0,0,217,208,0,0,105,211,0,0,253,213,0,0,149,216,0,0,49,219,0,0,209,221,0,0,117,224,0,0,29,227,0,0,201,229,0,0,121,232,0,0,45,235,0,0,229,237,0,0,161,240,0,0,63,0,0,0,129,0,0,0,231,0,0,0,121,1,0,0,63,2,0,0,65,3,0,0,135,4,0,0,25,6,0,0,255,7,0,0,65,10,0,0,231,12,0,0,249,15,0,0,127,19,0,0,129,23,0,0,7,28,0,0,25,33,0,0,191,38,0,0,1,45,0,0, 231,51,0,0,121,59,0,0,191,67,0,0,193,76,0,0,135,86,0,0,25,97,0,0,127,108,0,0,193,120,0,0,231,133,0,0,249,147,0,0,255,162,0,0,1,179,0,0,7,196,0,0,25,214,0,0,63,233,0,0,129,253,0,0,231,18,1,0,121,41,1,0,63,65,1,0,65,90,1,0,135,116,1,0,25,144,1,0,255,172,1,0,65,203,1,0,231,234,1,0,249,11,2,0,127,46,2,0,129,82,2,0,7,120,2,0,25,159,2,0,191,199,2,0,1,242,2,0,231,29,3,0,121,75,3,0,191,122,3,0,193,171,3,0,135,222,3,0,25,19,4,0,127,73,4,0,193,129,4,0,231,187,4,0,249,247,4,0,255,53,5,0,1,118,5,0,7,184,5,0, 25,252,5,0,63,66,6,0,129,138,6,0,231,212,6,0,121,33,7,0,63,112,7,0,65,193,7,0,135,20,8,0,25,106,8,0,255,193,8,0,65,28,9,0,231,120,9,0,249,215,9,0,127,57,10,0,129,157,10,0,7,4,11,0,25,109,11,0,191,216,11,0,1,71,12,0,231,183,12,0,121,43,13,0,191,161,13,0,193,26,14,0,135,150,14,0,25,21,15,0,127,150,15,0,193,26,16,0,231,161,16,0,249,43,17,0,255,184,17,0,1,73,18,0,7,220,18,0,25,114,19,0,63,11,20,0,129,167,20,0,231,70,21,0,121,233,21,0,63,143,22,0,65,56,23,0,135,228,23,0,25,148,24,0,255,70,25,0,65,253, 25,0,231,182,26,0,249,115,27,0,127,52,28,0,129,248,28,0,7,192,29,0,25,139,30,0,191,89,31,0,1,44,32,0,231,1,33,0,121,219,33,0,191,184,34,0,193,153,35,0,135,126,36,0,25,103,37,0,127,83,38,0,193,67,39,0,231,55,40,0,249,47,41,0,255,43,42,0,1,44,43,0,7,48,44,0,25,56,45,0,63,68,46,0,129,84,47,0,231,104,48,0,121,129,49,0,63,158,50,0,65,191,51,0,135,228,52,0,25,14,54,0,255,59,55,0,65,110,56,0,231,164,57,0,249,223,58,0,127,31,60,0,129,99,61,0,7,172,62,0,25,249,63,0,191,74,65,0,1,161,66,0,231,251,67,0,121, 91,69,0,191,191,70,0,193,40,72,0,135,150,73,0,25,9,75,0,127,128,76,0,193,252,77,0,231,125,79,0,249,3,81,0,255,142,82,0,1,31,84,0,7,180,85,0,25,78,87,0,63,237,88,0,129,145,90,0,231,58,92,0,121,233,93,0,63,157,95,0,65,86,97,0,135,20,99,0,25,216,100,0,255,160,102,0,65,111,104,0,231,66,106,0,249,27,108,0,127,250,109,0,65,1,0,0,169,2,0,0,9,5,0,0,193,8,0,0,65,14,0,0,9,22,0,0,169,32,0,0,193,46,0,0,1,65,0,0,41,88,0,0,9,117,0,0,129,152,0,0,129,195,0,0,9,247,0,0,41,52,1,0,1,124,1,0,193,207,1,0,169,48,2,0,9, 160,2,0,65,31,3,0,193,175,3,0,9,83,4,0,169,10,5,0,65,216,5,0,129,189,6,0,41,188,7,0,9,214,8,0,1,13,10,0,1,99,11,0,9,218,12,0,41,116,14,0,129,51,16,0,65,26,18,0,169,42,20,0,9,103,22,0,193,209,24,0,65,109,27,0,9,60,30,0,169,64,33,0,193,125,36,0,1,246,39,0,41,172,43,0,9,163,47,0,129,221,51,0,129,94,56,0,9,41,61,0,41,64,66,0,1,167,71,0,193,96,77,0,169,112,83,0,9,218,89,0,65,160,96,0,193,198,103,0,9,81,111,0,169,66,119,0,65,159,127,0,129,106,136,0,41,168,145,0,9,92,155,0,1,138,165,0,1,54,176,0,9,100,187, 0,41,24,199,0,129,86,211,0,65,35,224,0,169,130,237,0,9,121,251,0,193,10,10,1,65,60,25,1,9,18,41,1,169,144,57,1,193,188,74,1,1,155,92,1,41,48,111,1,9,129,130,1,129,146,150,1,129,105,171,1,9,11,193,1,41,124,215,1,1,194,238,1,193,225,6,2,169,224,31,2,9,196,57,2,65,145,84,2,193,77,112,2,9,255,140,2,169,170,170,2,65,86,201,2,129,7,233,2,41,196,9,3,9,146,43,3,1,119,78,3,1,121,114,3,9,158,151,3,41,236,189,3,129,105,229,3,65,28,14,4,169,10,56,4,9,59,99,4,193,179,143,4,65,123,189,4,9,152,236,4,169,16,29,5, 193,235,78,5,1,48,130,5,41,228,182,5,9,15,237,5,129,183,36,6,129,228,93,6,9,157,152,6,41,232,212,6,1,205,18,7,193,82,82,7,169,128,147,7,9,94,214,7,65,242,26,8,193,68,97,8,9,93,169,8,169,66,243,8,65,253,62,9,129,148,140,9,41,16,220,9,9,120,45,10,1,212,128,10,1,44,214,10,9,136,45,11,41,240,134,11,129,108,226,11,65,5,64,12,169,194,159,12,9,173,1,13,193,204,101,13,65,42,204,13,9,206,52,14,169,192,159,14,193,10,13,15,1,181,124,15,41,200,238,15,9,77,99,16,129,76,218,16,129,207,83,17,9,223,207,17,41,132, 78,18,1,200,207,18,193,179,83,19,169,80,218,19,9,168,99,20,65,195,239,20,193,171,126,21,9,107,16,22,169,10,165,22,65,148,60,23,129,17,215,23,41,140,116,24,9,14,21,25,1,161,184,25,1,79,95,26,9,34,9,27,41,36,182,27,129,95,102,28,65,222,25,29,169,170,208,29,9,207,138,30,193,85,72,31,65,73,9,32,9,180,205,32,169,160,149,33,193,25,97,34,1,42,48,35,41,220,2,36,9,59,217,36,129,81,179,37,147,6,0,0,69,14,0,0,15,28,0,0,17,51,0,0,91,87,0,0,13,142,0,0,119,221,0,0,57,77,1,0,99,230,1,0,149,179,2,0,31,193,3,0,33, 29,5,0,171,215,6,0,221,2,9,0,7,179,11,0,201,254,14,0,51,255,18,0,229,207,23,0,47,143,29,0,49,94,36,0,251,96,44,0,173,190,53,0,151,161,64,0,89,55,77,0,3,177,91,0,53,67,108,0,63,38,127,0,65,150,148,0,75,211,172,0,125,33,200,0,39,201,230,0,233,22,9,1,211,91,47,1,133,237,89,1,79,38,137,1,81,101,189,1,155,14,247,1,77,139,54,2,183,73,124,2,121,189,200,2,163,95,28,3,213,174,119,3,95,47,219,3,97,107,71,4,235,242,188,4,29,92,60,5,71,67,198,5,9,75,91,6,115,28,252,6,37,103,169,7,111,225,99,8,113,72,44,9,59, 96,3,10,237,243,233,10,215,213,224,11,153,223,232,12,67,242,2,14,117,246,47,15,127,220,112,16,129,156,198,17,139,54,50,19,189,178,180,20,103,33,79,22,41,155,2,24,19,65,208,25,197,60,185,27,143,192,190,29,145,7,226,31,219,85,36,34,141,248,134,36,247,69,11,39,185,157,178,41,227,104,126,44,21,26,112,47,159,45,137,50,161,41,203,53,43,158,55,57,93,37,208,60,135,99,150,64,73,7,140,68,179,201,178,72,101,110,12,77,175,195,154,81,177,162,95,86,123,239,92,91,45,153,148,96,23,154,8,102,217,247,186,107,131,195, 173,113,181,25,227,119,191,34,93,126,29,35,0,0,113,77,0,0,145,156,0,0,253,38,1,0,101,12,2,0,233,119,3,0,153,162,5,0,53,214,8,0,45,112,13,0,225,228,19,0,33,195,28,0,237,183,40,0,117,146,56,0,89,72,77,0,41,250,103,0,37,248,137,0,61,199,180,0,81,38,234,0,177,19,44,1,221,210,124,1,133,242,222,1,201,82,85,2,185,43,227,2,21,20,140,3,77,8,84,4,193,113,63,5,65,46,83,6,205,151,148,7,149,140,9,9,57,119,184,10,73,87,168,12,5,202,224,14,93,19,106,17,49,39,77,20,209,178,147,23,189,38,72,27,165,192,117,31,169, 149,40,36,217,156,109,41,245,185,82,47,109,200,230,53,161,166,57,61,97,65,92,69,173,159,96,78,181,238,89,88,25,142,92,99,105,28,126,111,229,131,213,124,255,189,0,0,1,168,1,0,143,107,3,0,241,158,6,0,63,35,12,0,193,61,21,0,143,182,35,0,241,252,57,0,255,81,91,0,1,250,139,0,15,117,209,0,113,191,50,1,63,154,184,1,193,220,109,2,15,207,95,3,113,142,158,4,255,123,61,6,1,182,83,8,143,156,252,10,241,97,88,14,63,167,140,18,193,37,197,23,143,101,52,30,241,129,20,38,255,251,167,47,1,156,58,59,15,98,34,73,113, 134,192,89,63,138,130,109,193,88,227,132,1,14,4,0,145,33,9,0,17,44,19,0,65,238,37,0,65,79,71,0,145,67,128,0,17,247,221,0,1,70,115,1,1,146,90,2,17,1,184,3,145,53,188,5,65,143,167,8,65,6,206,12,17,178,155,18,145,15,154,26,1,26,118,37,1,76,7,52,145,158,87,71,17,157,172,96,65,166,145,129,35,81,22,0,197,158,50,0,23,185,107,0,153,246,216,0,107,137,160,1,13,196,254,2,31,1,80,5,33,217,29,9,51,108,48,15,213,162,164,24,167,103,8,39,41,253,125,60,123,181,231,91,29,119,29,137,175,160,45,201,173,142,123,0,137, 230,25,1,57,150,94,2,61,22,216,4,181,99,119,9,225,40,198,17,33,3,52,32,117,72,130,56,125,87,87,96,191,91,175,2,129,216,39,6,247,132,94,13,233,254,173,27,127,139,235,54,129,183,229,104,23,3,156,193,193,12,255,14,57,106,133,34,25,238,145,75,129,120,43,158,51,225,9,84,149,139,0,0,55,152,0,0,255,165,0,0,4,181,0,0,103,197,0,0,69,215,0,0,193,234,0,0,255,255,0,0,172,21,0,0,128,187,0,0,120,0,0,0,21,0,0,0,21,0,0,0,0,154,89,63,0,0,0,0,0,0,128,63,0,0,128,63,72,87,0,0,3,0,0,0,8,0,0,0,120,0,0,0,11,0,0,0,249,99, 0,0,116,87,0,0,24,22,0,0,128,7,0,0,3,0,0,0,248,23,0,0,48,39,0,0,104,39,0,0,160,39,0,0,216,39,0,0,136,1,0,0,166,94,0,0,224,100,0,0,104,102,0,0,106,28,141,56,82,187,30,58,8,105,220,58,130,237,87,59,137,99,178,59,3,42,5,60,48,220,57,60,180,62,119,60,28,163,158,60,209,242,197,60,254,134,241,60,155,171,16,61,5,173,42,61,132,194,70,61,83,230,100,61,17,137,130,61,135,159,147,61,203,178,165,61,209,190,184,61,58,191,204,61,84,175,225,61,20,138,247,61,14,37,7,62,217,244,18,62,95,49,31,62,104,215,43,62,138, 227,56,62,48,82,70,62,148,31,84,62,191,71,98,62,142,198,112,62,176,151,127,62,82,91,135,62,96,15,143,62,152,229,150,62,121,219,158,62,112,238,166,62,216,27,175,62,251,96,183,62,17,187,191,62,70,39,200,62,183,162,208,62,120,42,217,62,148,187,225,62,12,83,234,62,222,237,242,62,6,137,251,62,190,16,2,63,31,90,6,63,36,159,10,63,80,222,14,63,43,22,19,63,65,69,23,63,37,106,27,63,115,131,31,63,206,143,35,63,230,141,39,63,116,124,43,63,63,90,47,63,25,38,51,63,231,222,54,63,153,131,58,63,51,19,62,63,197,140, 65,63,119,239,68,63,127,58,72,63,39,109,75,63,206,134,78,63,229,134,81,63,241,108,84,63,142,56,87,63,105,233,89,63,69,127,92,63,250,249,94,63,115,89,97,63,175,157,99,63,193,198,101,63,207,212,103,63,17,200,105,63,210,160,107,63,110,95,109,63,80,4,111,63,244,143,112,63,230,2,114,63,189,93,115,63,31,161,116,63,191,205,117,63,87,228,118,63,176,229,119,63,151,210,120,63,227,171,121,63,115,114,122,63,39,39,123,63,231,202,123,63,157,94,124,63,53,227,124,63,156,89,125,63,189,194,125,63,134,31,126,63,222, 112,126,63,171,183,126,63,207,244,126,63,38,41,127,63,134,85,127,63,190,122,127,63,150,153,127,63,204,178,127,63,20,199,127,63,28,215,127,63,130,227,127,63,221,236,127,63,182,243,127,63,138,248,127,63,200,251,127,63,214,253,127,63,7,255,127,63,165,255,127,63,232,255,127,63,253,255,127,63,0,0,128,63,224,1,0,0,135,136,8,59,255,255,255,255,5,0,96,0,3,0,32,0,4,0,8,0,2,0,4,0,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,158,87,0,0,48,24,0,0,0,0,0,0,0,0,128,63,0,0,0,128,99,250,127,63,191,117,86,188,139,233,127,63,10, 113,214,188,121,205,127,63,231,206,32,189,47,166,127,63,58,94,86,189,175,115,127,63,19,242,133,189,249,53,127,63,42,175,160,189,18,237,126,63,51,101,187,189,253,152,126,63,4,19,214,189,188,57,126,63,115,183,240,189,85,207,125,63,168,168,5,190,203,89,125,63,187,239,18,190,37,217,124,63,92,48,32,190,103,77,124,63,245,105,45,190,152,182,123,63,243,155,58,190,190,20,123,63,194,197,71,190,226,103,122,63,205,230,84,190,9,176,121,63,130,254,97,190,60,237,120,63,77,12,111,190,132,31,120,63,156,15,124,190, 234,70,119,63,238,131,132,190,119,99,118,63,62,250,138,190,54,117,117,63,117,106,145,190,48,124,116,63,76,212,151,190,113,120,115,63,122,55,158,190,3,106,114,63,183,147,164,190,244,80,113,63,188,232,170,190,79,45,112,63,65,54,177,190,33,255,110,63,1,124,183,190,118,198,109,63,180,185,189,190,94,131,108,63,21,239,195,190,231,53,107,63,222,27,202,190,30,222,105,63,201,63,208,190,18,124,104,63,146,90,214,190,212,15,103,63,243,107,220,190,116,153,101,63,170,115,226,190,1,25,100,63,113,113,232,190,141, 142,98,63,7,101,238,190,40,250,96,63,39,78,244,190,230,91,95,63,144,44,250,190,215,179,93,63,0,0,0,191,15,2,92,63,27,228,2,191,160,70,90,63,119,194,5,191,158,129,88,63,246,154,8,191,29,179,86,63,119,109,11,191,49,219,84,63,218,57,14,191,239,249,82,63,0,0,17,191,108,15,81,63,202,191,19,191,189,27,79,63,24,121,22,191,248,30,77,63,205,43,25,191,52,25,75,63,202,215,27,191,136,10,73,63,241,124,30,191,10,243,70,63,36,27,33,191,209,210,68,63,70,178,35,191,247,169,66,63,58,66,38,191,147,120,64,63,227,202, 40,191,189,62,62,63,37,76,43,191,143,252,59,63,227,197,45,191,34,178,57,63,1,56,48,191,144,95,55,63,101,162,50,191,243,4,53,63,243,4,53,191,101,162,50,63,144,95,55,191,1,56,48,63,34,178,57,191,227,197,45,63,143,252,59,191,37,76,43,63,189,62,62,191,227,202,40,63,147,120,64,191,58,66,38,63,247,169,66,191,70,178,35,63,209,210,68,191,36,27,33,63,10,243,70,191,241,124,30,63,136,10,73,191,202,215,27,63,52,25,75,191,205,43,25,63,248,30,77,191,24,121,22,63,189,27,79,191,202,191,19,63,108,15,81,191,0,0,17, 63,239,249,82,191,218,57,14,63,49,219,84,191,119,109,11,63,29,179,86,191,246,154,8,63,158,129,88,191,119,194,5,63,160,70,90,191,27,228,2,63,15,2,92,191,0,0,0,63,215,179,93,191,144,44,250,62,230,91,95,191,39,78,244,62,40,250,96,191,7,101,238,62,141,142,98,191,113,113,232,62,1,25,100,191,170,115,226,62,116,153,101,191,243,107,220,62,212,15,103,191,146,90,214,62,18,124,104,191,201,63,208,62,30,222,105,191,222,27,202,62,231,53,107,191,21,239,195,62,94,131,108,191,180,185,189,62,118,198,109,191,1,124, 183,62,33,255,110,191,65,54,177,62,79,45,112,191,188,232,170,62,244,80,113,191,183,147,164,62,3,106,114,191,122,55,158,62,113,120,115,191,76,212,151,62,48,124,116,191,117,106,145,62,54,117,117,191,62,250,138,62,119,99,118,191,238,131,132,62,234,70,119,191,156,15,124,62,132,31,120,191,77,12,111,62,60,237,120,191,130,254,97,62,9,176,121,191,205,230,84,62,226,103,122,191,194,197,71,62,190,20,123,191,243,155,58,62,152,182,123,191,245,105,45,62,103,77,124,191,92,48,32,62,37,217,124,191,187,239,18,62,203, 89,125,191,168,168,5,62,85,207,125,191,115,183,240,61,188,57,126,191,4,19,214,61,253,152,126,191,51,101,187,61,18,237,126,191,42,175,160,61,249,53,127,191,19,242,133,61,175,115,127,191,58,94,86,61,47,166,127,191,231,206,32,61,121,205,127,191,10,113,214,60,139,233,127,191,191,117,86,60,99,250,127,191,0,48,141,36,0,0,128,191,191,117,86,188,99,250,127,191,10,113,214,188,139,233,127,191,231,206,32,189,121,205,127,191,58,94,86,189,47,166,127,191,19,242,133,189,175,115,127,191,42,175,160,189,249,53,127, 191,51,101,187,189,18,237,126,191,4,19,214,189,253,152,126,191,115,183,240,189,188,57,126,191,168,168,5,190,85,207,125,191,187,239,18,190,203,89,125,191,92,48,32,190,37,217,124,191,245,105,45,190,103,77,124,191,243,155,58,190,152,182,123,191,194,197,71,190,190,20,123,191,205,230,84,190,226,103,122,191,130,254,97,190,9,176,121,191,77,12,111,190,60,237,120,191,156,15,124,190,132,31,120,191,238,131,132,190,234,70,119,191,62,250,138,190,119,99,118,191,117,106,145,190,54,117,117,191,76,212,151,190,48, 124,116,191,122,55,158,190,113,120,115,191,183,147,164,190,3,106,114,191,188,232,170,190,244,80,113,191,65,54,177,190,79,45,112,191,1,124,183,190,33,255,110,191,180,185,189,190,118,198,109,191,21,239,195,190,94,131,108,191,222,27,202,190,231,53,107,191,201,63,208,190,30,222,105,191,146,90,214,190,18,124,104,191,243,107,220,190,212,15,103,191,170,115,226,190,116,153,101,191,113,113,232,190,1,25,100,191,7,101,238,190,141,142,98,191,39,78,244,190,40,250,96,191,144,44,250,190,230,91,95,191,0,0,0,191, 215,179,93,191,27,228,2,191,15,2,92,191,119,194,5,191,160,70,90,191,246,154,8,191,158,129,88,191,119,109,11,191,29,179,86,191,218,57,14,191,49,219,84,191,0,0,17,191,239,249,82,191,202,191,19,191,108,15,81,191,24,121,22,191,189,27,79,191,205,43,25,191,248,30,77,191,202,215,27,191,52,25,75,191,241,124,30,191,136,10,73,191,36,27,33,191,10,243,70,191,70,178,35,191,209,210,68,191,58,66,38,191,247,169,66,191,227,202,40,191,147,120,64,191,37,76,43,191,189,62,62,191,227,197,45,191,143,252,59,191,1,56,48, 191,34,178,57,191,101,162,50,191,144,95,55,191,243,4,53,191,243,4,53,191,144,95,55,191,101,162,50,191,34,178,57,191,1,56,48,191,143,252,59,191,227,197,45,191,189,62,62,191,37,76,43,191,147,120,64,191,227,202,40,191,247,169,66,191,58,66,38,191,209,210,68,191,70,178,35,191,10,243,70,191,36,27,33,191,136,10,73,191,241,124,30,191,52,25,75,191,202,215,27,191,248,30,77,191,205,43,25,191,189,27,79,191,24,121,22,191,108,15,81,191,202,191,19,191,239,249,82,191,0,0,17,191,49,219,84,191,218,57,14,191,29,179, 86,191,119,109,11,191,158,129,88,191,246,154,8,191,160,70,90,191,119,194,5,191,15,2,92,191,27,228,2,191,215,179,93,191,0,0,0,191,230,91,95,191,144,44,250,190,40,250,96,191,39,78,244,190,141,142,98,191,7,101,238,190,1,25,100,191,113,113,232,190,116,153,101,191,170,115,226,190,212,15,103,191,243,107,220,190,18,124,104,191,146,90,214,190,30,222,105,191,201,63,208,190,231,53,107,191,222,27,202,190,94,131,108,191,21,239,195,190,118,198,109,191,180,185,189,190,33,255,110,191,1,124,183,190,79,45,112,191, 65,54,177,190,244,80,113,191,188,232,170,190,3,106,114,191,183,147,164,190,113,120,115,191,122,55,158,190,48,124,116,191,76,212,151,190,54,117,117,191,117,106,145,190,119,99,118,191,62,250,138,190,234,70,119,191,238,131,132,190,132,31,120,191,156,15,124,190,60,237,120,191,77,12,111,190,9,176,121,191,130,254,97,190,226,103,122,191,205,230,84,190,190,20,123,191,194,197,71,190,152,182,123,191,243,155,58,190,103,77,124,191,245,105,45,190,37,217,124,191,92,48,32,190,203,89,125,191,187,239,18,190,85,207, 125,191,168,168,5,190,188,57,126,191,115,183,240,189,253,152,126,191,4,19,214,189,18,237,126,191,51,101,187,189,249,53,127,191,42,175,160,189,175,115,127,191,19,242,133,189,47,166,127,191,58,94,86,189,121,205,127,191,231,206,32,189,139,233,127,191,10,113,214,188,99,250,127,191,191,117,86,188,0,0,128,191,0,48,13,165,99,250,127,191,191,117,86,60,139,233,127,191,10,113,214,60,121,205,127,191,231,206,32,61,47,166,127,191,58,94,86,61,175,115,127,191,19,242,133,61,249,53,127,191,42,175,160,61,18,237,126, 191,51,101,187,61,253,152,126,191,4,19,214,61,188,57,126,191,115,183,240,61,85,207,125,191,168,168,5,62,203,89,125,191,187,239,18,62,37,217,124,191,92,48,32,62,103,77,124,191,245,105,45,62,152,182,123,191,243,155,58,62,190,20,123,191,194,197,71,62,226,103,122,191,205,230,84,62,9,176,121,191,130,254,97,62,60,237,120,191,77,12,111,62,132,31,120,191,156,15,124,62,234,70,119,191,238,131,132,62,119,99,118,191,62,250,138,62,54,117,117,191,117,106,145,62,48,124,116,191,76,212,151,62,113,120,115,191,122, 55,158,62,3,106,114,191,183,147,164,62,244,80,113,191,188,232,170,62,79,45,112,191,65,54,177,62,33,255,110,191,1,124,183,62,118,198,109,191,180,185,189,62,94,131,108,191,21,239,195,62,231,53,107,191,222,27,202,62,30,222,105,191,201,63,208,62,18,124,104,191,146,90,214,62,212,15,103,191,243,107,220,62,116,153,101,191,170,115,226,62,1,25,100,191,113,113,232,62,141,142,98,191,7,101,238,62,40,250,96,191,39,78,244,62,230,91,95,191,144,44,250,62,215,179,93,191,0,0,0,63,15,2,92,191,27,228,2,63,160,70,90, 191,119,194,5,63,158,129,88,191,246,154,8,63,29,179,86,191,119,109,11,63,49,219,84,191,218,57,14,63,239,249,82,191,0,0,17,63,108,15,81,191,202,191,19,63,189,27,79,191,24,121,22,63,248,30,77,191,205,43,25,63,52,25,75,191,202,215,27,63,136,10,73,191,241,124,30,63,10,243,70,191,36,27,33,63,209,210,68,191,70,178,35,63,247,169,66,191,58,66,38,63,147,120,64,191,227,202,40,63,189,62,62,191,37,76,43,63,143,252,59,191,227,197,45,63,34,178,57,191,1,56,48,63,144,95,55,191,101,162,50,63,243,4,53,191,243,4,53, 63,101,162,50,191,144,95,55,63,1,56,48,191,34,178,57,63,227,197,45,191,143,252,59,63,37,76,43,191,189,62,62,63,227,202,40,191,147,120,64,63,58,66,38,191,247,169,66,63,70,178,35,191,209,210,68,63,36,27,33,191,10,243,70,63,241,124,30,191,136,10,73,63,202,215,27,191,52,25,75,63,205,43,25,191,248,30,77,63,24,121,22,191,189,27,79,63,202,191,19,191,108,15,81,63,0,0,17,191,239,249,82,63,218,57,14,191,49,219,84,63,119,109,11,191,29,179,86,63,246,154,8,191,158,129,88,63,119,194,5,191,160,70,90,63,27,228,2, 191,15,2,92,63,0,0,0,191,215,179,93,63,144,44,250,190,230,91,95,63,39,78,244,190,40,250,96,63,7,101,238,190,141,142,98,63,113,113,232,190,1,25,100,63,170,115,226,190,116,153,101,63,243,107,220,190,212,15,103,63,146,90,214,190,18,124,104,63,201,63,208,190,30,222,105,63,222,27,202,190,231,53,107,63,21,239,195,190,94,131,108,63,180,185,189,190,118,198,109,63,1,124,183,190,33,255,110,63,65,54,177,190,79,45,112,63,188,232,170,190,244,80,113,63,183,147,164,190,3,106,114,63,122,55,158,190,113,120,115,63, 76,212,151,190,48,124,116,63,117,106,145,190,54,117,117,63,62,250,138,190,119,99,118,63,238,131,132,190,234,70,119,63,156,15,124,190,132,31,120,63,77,12,111,190,60,237,120,63,130,254,97,190,9,176,121,63,205,230,84,190,226,103,122,63,194,197,71,190,190,20,123,63,243,155,58,190,152,182,123,63,245,105,45,190,103,77,124,63,92,48,32,190,37,217,124,63,187,239,18,190,203,89,125,63,168,168,5,190,85,207,125,63,115,183,240,189,188,57,126,63,4,19,214,189,253,152,126,63,51,101,187,189,18,237,126,63,42,175,160, 189,249,53,127,63,19,242,133,189,175,115,127,63,58,94,86,189,47,166,127,63,231,206,32,189,121,205,127,63,10,113,214,188,139,233,127,63,191,117,86,188,99,250,127,63,0,200,83,165,0,0,128,63,191,117,86,60,99,250,127,63,10,113,214,60,139,233,127,63,231,206,32,61,121,205,127,63,58,94,86,61,47,166,127,63,19,242,133,61,175,115,127,63,42,175,160,61,249,53,127,63,51,101,187,61,18,237,126,63,4,19,214,61,253,152,126,63,115,183,240,61,188,57,126,63,168,168,5,62,85,207,125,63,187,239,18,62,203,89,125,63,92,48, 32,62,37,217,124,63,245,105,45,62,103,77,124,63,243,155,58,62,152,182,123,63,194,197,71,62,190,20,123,63,205,230,84,62,226,103,122,63,130,254,97,62,9,176,121,63,77,12,111,62,60,237,120,63,156,15,124,62,132,31,120,63,238,131,132,62,234,70,119,63,62,250,138,62,119,99,118,63,117,106,145,62,54,117,117,63,76,212,151,62,48,124,116,63,122,55,158,62,113,120,115,63,183,147,164,62,3,106,114,63,188,232,170,62,244,80,113,63,65,54,177,62,79,45,112,63,1,124,183,62,33,255,110,63,180,185,189,62,118,198,109,63,21, 239,195,62,94,131,108,63,222,27,202,62,231,53,107,63,201,63,208,62,30,222,105,63,146,90,214,62,18,124,104,63,243,107,220,62,212,15,103,63,170,115,226,62,116,153,101,63,113,113,232,62,1,25,100,63,7,101,238,62,141,142,98,63,39,78,244,62,40,250,96,63,144,44,250,62,230,91,95,63,0,0,0,63,215,179,93,63,27,228,2,63,15,2,92,63,119,194,5,63,160,70,90,63,246,154,8,63,158,129,88,63,119,109,11,63,29,179,86,63,218,57,14,63,49,219,84,63,0,0,17,63,239,249,82,63,202,191,19,63,108,15,81,63,24,121,22,63,189,27,79, 63,205,43,25,63,248,30,77,63,202,215,27,63,52,25,75,63,241,124,30,63,136,10,73,63,36,27,33,63,10,243,70,63,70,178,35,63,209,210,68,63,58,66,38,63,247,169,66,63,227,202,40,63,147,120,64,63,37,76,43,63,189,62,62,63,227,197,45,63,143,252,59,63,1,56,48,63,34,178,57,63,101,162,50,63,144,95,55,63,243,4,53,63,243,4,53,63,144,95,55,63,101,162,50,63,34,178,57,63,1,56,48,63,143,252,59,63,227,197,45,63,189,62,62,63,37,76,43,63,147,120,64,63,227,202,40,63,247,169,66,63,58,66,38,63,209,210,68,63,70,178,35,63, 10,243,70,63,36,27,33,63,136,10,73,63,241,124,30,63,52,25,75,63,202,215,27,63,248,30,77,63,205,43,25,63,189,27,79,63,24,121,22,63,108,15,81,63,202,191,19,63,239,249,82,63,0,0,17,63,49,219,84,63,218,57,14,63,29,179,86,63,119,109,11,63,158,129,88,63,246,154,8,63,160,70,90,63,119,194,5,63,15,2,92,63,27,228,2,63,215,179,93,63,0,0,0,63,230,91,95,63,144,44,250,62,40,250,96,63,39,78,244,62,141,142,98,63,7,101,238,62,1,25,100,63,113,113,232,62,116,153,101,63,170,115,226,62,212,15,103,63,243,107,220,62,18, 124,104,63,146,90,214,62,30,222,105,63,201,63,208,62,231,53,107,63,222,27,202,62,94,131,108,63,21,239,195,62,118,198,109,63,180,185,189,62,33,255,110,63,1,124,183,62,79,45,112,63,65,54,177,62,244,80,113,63,188,232,170,62,3,106,114,63,183,147,164,62,113,120,115,63,122,55,158,62,48,124,116,63,76,212,151,62,54,117,117,63,117,106,145,62,119,99,118,63,62,250,138,62,234,70,119,63,238,131,132,62,132,31,120,63,156,15,124,62,60,237,120,63,77,12,111,62,9,176,121,63,130,254,97,62,226,103,122,63,205,230,84,62, 190,20,123,63,194,197,71,62,152,182,123,63,243,155,58,62,103,77,124,63,245,105,45,62,37,217,124,63,92,48,32,62,203,89,125,63,187,239,18,62,85,207,125,63,168,168,5,62,188,57,126,63,115,183,240,61,253,152,126,63,4,19,214,61,18,237,126,63,51,101,187,61,249,53,127,63,42,175,160,61,175,115,127,63,19,242,133,61,47,166,127,63,58,94,86,61,121,205,127,63,231,206,32,61,139,233,127,63,10,113,214,60,99,250,127,63,191,117,86,60,240,0,0,0,137,136,136,59,1,0,0,0,5,0,48,0,3,0,16,0,4,0,4,0,4,0,1,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,94,91,0,0,48,24,0,0,0,0,0,0,120,0,0,0,136,136,8,60,2,0,0,0,5,0,24,0,3,0,8,0,2,0,4,0,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,62,93,0,0,48,24,0,0,0,0,0,0,60,0,0,0,137,136,136,60,3,0,0,0,5,0,12,0,3,0,4,0,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,94,0,0,48,24,0,0,0,0,0,0,255,255,127,63,142,255,127,63,106,254,127,63,147,252,127,63,7,250,127,63,200,246,127,63,214,242,127,63,48,238,127,63,214,232,127,63,200,226,127,63,7,220,127,63,147,212,127,63],"i8",4,y.h); O([107,204,127,63,143,195,127,63,0,186,127,63,189,175,127,63,199,164,127,63,29,153,127,63,192,140,127,63,176,127,127,63,236,113,127,63,118,99,127,63,75,84,127,63,110,68,127,63,222,51,127,63,154,34,127,63,163,16,127,63,250,253,126,63,157,234,126,63,141,214,126,63,203,193,126,63,86,172,126,63,46,150,126,63,83,127,126,63,198,103,126,63,134,79,126,63,148,54,126,63,239,28,126,63,152,2,126,63,143,231,125,63,211,203,125,63,102,175,125,63,70,146,125,63,116,116,125,63,241,85,125,63,188,54,125,63,213,22,125, 63,60,246,124,63,242,212,124,63,246,178,124,63,73,144,124,63,235,108,124,63,219,72,124,63,27,36,124,63,169,254,123,63,135,216,123,63,180,177,123,63,48,138,123,63,252,97,123,63,23,57,123,63,130,15,123,63,61,229,122,63,72,186,122,63,162,142,122,63,77,98,122,63,72,53,122,63,148,7,122,63,48,217,121,63,29,170,121,63,90,122,121,63,233,73,121,63,200,24,121,63,249,230,120,63,123,180,120,63,78,129,120,63,115,77,120,63,234,24,120,63,178,227,119,63,205,173,119,63,58,119,119,63,249,63,119,63,10,8,119,63,110, 207,118,63,37,150,118,63,47,92,118,63,140,33,118,63,60,230,117,63,64,170,117,63,151,109,117,63,66,48,117,63,65,242,116,63,148,179,116,63,59,116,116,63,55,52,116,63,135,243,115,63,44,178,115,63,38,112,115,63,118,45,115,63,26,234,114,63,20,166,114,63,100,97,114,63,10,28,114,63,5,214,113,63,87,143,113,63,0,72,113,63,255,255,112,63,85,183,112,63,2,110,112,63,6,36,112,63,98,217,111,63,21,142,111,63,32,66,111,63,132,245,110,63,63,168,110,63,83,90,110,63,192,11,110,63,134,188,109,63,165,108,109,63,29,28, 109,63,239,202,108,63,27,121,108,63,161,38,108,63,128,211,107,63,187,127,107,63,80,43,107,63,64,214,106,63,140,128,106,63,50,42,106,63,53,211,105,63,147,123,105,63,77,35,105,63,100,202,104,63,216,112,104,63,168,22,104,63,213,187,103,63,96,96,103,63,72,4,103,63,143,167,102,63,51,74,102,63,54,236,101,63,151,141,101,63,87,46,101,63,119,206,100,63,245,109,100,63,212,12,100,63,18,171,99,63,177,72,99,63,176,229,98,63,16,130,98,63,209,29,98,63,243,184,97,63,119,83,97,63,92,237,96,63,164,134,96,63,78,31, 96,63,91,183,95,63,203,78,95,63,158,229,94,63,213,123,94,63,112,17,94,63,110,166,93,63,210,58,93,63,154,206,92,63,198,97,92,63,89,244,91,63,81,134,91,63,174,23,91,63,114,168,90,63,157,56,90,63,46,200,89,63,39,87,89,63,135,229,88,63,79,115,88,63,127,0,88,63,23,141,87,63,24,25,87,63,130,164,86,63,86,47,86,63,147,185,85,63,58,67,85,63,75,204,84,63,199,84,84,63,174,220,83,63,1,100,83,63,191,234,82,63,233,112,82,63,127,246,81,63,130,123,81,63,242,255,80,63,207,131,80,63,26,7,80,63,210,137,79,63,250,11, 79,63,144,141,78,63,148,14,78,63,9,143,77,63,237,14,77,63,65,142,76,63,5,13,76,63,59,139,75,63,225,8,75,63,249,133,74,63,131,2,74,63,127,126,73,63,238,249,72,63,207,116,72,63,36,239,71,63,237,104,71,63,41,226,70,63,218,90,70,63,0,211,69,63,155,74,69,63,172,193,68,63,50,56,68,63,47,174,67,63,162,35,67,63,141,152,66,63,239,12,66,63,200,128,65,63,26,244,64,63,229,102,64,63,40,217,63,63,229,74,63,63,27,188,62,63,204,44,62,63,247,156,61,63,157,12,61,63,190,123,60,63,92,234,59,63,117,88,59,63,10,198,58, 63,29,51,58,63,173,159,57,63,187,11,57,63,71,119,56,63,81,226,55,63,218,76,55,63,227,182,54,63,107,32,54,63,116,137,53,63,253,241,52,63,7,90,52,63,147,193,51,63,160,40,51,63,48,143,50,63,66,245,49,63,216,90,49,63,241,191,48,63,142,36,48,63,175,136,47,63,85,236,46,63,129,79,46,63,50,178,45,63,105,20,45,63,39,118,44,63,107,215,43,63,55,56,43,63,139,152,42,63,103,248,41,63,204,87,41,63,186,182,40,63,50,21,40,63,51,115,39,63,191,208,38,63,214,45,38,63,121,138,37,63,167,230,36,63,97,66,36,63,169,157,35, 63,125,248,34,63,223,82,34,63,207,172,33,63,77,6,33,63,91,95,32,63,248,183,31,63,37,16,31,63,226,103,30,63,48,191,29,63,16,22,29,63,129,108,28,63,132,194,27,63,26,24,27,63,67,109,26,63,0,194,25,63,81,22,25,63,54,106,24,63,177,189,23,63,193,16,23,63,103,99,22,63,163,181,21,63,118,7,21,63,225,88,20,63,228,169,19,63,127,250,18,63,179,74,18,63,128,154,17,63,231,233,16,63,232,56,16,63,132,135,15,63,187,213,14,63,142,35,14,63,254,112,13,63,10,190,12,63,179,10,12,63,250,86,11,63,223,162,10,63,99,238,9,63, 134,57,9,63,73,132,8,63,172,206,7,63,175,24,7,63,84,98,6,63,155,171,5,63,131,244,4,63,15,61,4,63,61,133,3,63,15,205,2,63,134,20,2,63,161,91,1,63,97,162,0,63,143,209,255,62,167,93,254,62,14,233,252,62,194,115,251,62,198,253,249,62,27,135,248,62,193,15,247,62,186,151,245,62,6,31,244,62,168,165,242,62,158,43,241,62,236,176,239,62,145,53,238,62,144,185,236,62,232,60,235,62,154,191,233,62,169,65,232,62,21,195,230,62,223,67,229,62,8,196,227,62,145,67,226,62,124,194,224,62,200,64,223,62,120,190,221,62,140, 59,220,62,6,184,218,62,230,51,217,62,46,175,215,62,223,41,214,62,249,163,212,62,125,29,211,62,110,150,209,62,204,14,208,62,151,134,206,62,210,253,204,62,125,116,203,62,153,234,201,62,39,96,200,62,40,213,198,62,159,73,197,62,138,189,195,62,236,48,194,62,198,163,192,62,25,22,191,62,230,135,189,62,45,249,187,62,241,105,186,62,50,218,184,62,241,73,183,62,47,185,181,62,238,39,180,62,47,150,178,62,242,3,177,62,57,113,175,62,4,222,173,62,86,74,172,62,47,182,170,62,144,33,169,62,122,140,167,62,239,246,165, 62,239,96,164,62,124,202,162,62,151,51,161,62,64,156,159,62,122,4,158,62,68,108,156,62,161,211,154,62,145,58,153,62,22,161,151,62,48,7,150,62,225,108,148,62,41,210,146,62,11,55,145,62,135,155,143,62,158,255,141,62,81,99,140,62,162,198,138,62,145,41,137,62,32,140,135,62,80,238,133,62,34,80,132,62,151,177,130,62,176,18,129,62,222,230,126,62,169,167,123,62,195,103,120,62,47,39,117,62,238,229,113,62,4,164,110,62,115,97,107,62,60,30,104,62,98,218,100,62,232,149,97,62,207,80,94,62,26,11,91,62,204,196,87, 62,230,125,84,62,107,54,81,62,93,238,77,62,191,165,74,62,146,92,71,62,218,18,68,62,151,200,64,62,206,125,61,62,128,50,58,62,174,230,54,62,93,154,51,62,141,77,48,62,66,0,45,62,125,178,41,62,66,100,38,62,145,21,35,62,110,198,31,62,219,118,28,62,218,38,25,62,109,214,21,62,152,133,18,62,91,52,15,62,186,226,11,62,183,144,8,62,84,62,5,62,148,235,1,62,240,48,253,61,6,138,246,61,113,226,239,61,51,58,233,61,79,145,226,61,207,231,219,61,181,61,213,61,3,147,206,61,192,231,199,61,242,59,193,61,156,143,186,61, 195,226,179,61,108,53,173,61,155,135,166,61,85,217,159,61,159,42,153,61,126,123,146,61,246,203,139,61,11,28,133,61,135,215,124,61,70,118,111,61,93,20,98,61,214,177,84,61,185,78,71,61,16,235,57,61,229,134,44,61,64,34,31,61,44,189,17,61,178,87,4,61,181,227,237,60,96,23,211,60,118,74,184,60,11,125,157,60,50,175,130,60,250,193,79,60,254,36,26,60,42,15,201,59,153,167,59,59,46,125,214,185,210,70,113,187,171,222,227,187,166,140,39,188,129,41,93,188,225,98,137,188,160,48,164,188,236,253,190,188,179,202,217, 188,224,150,244,188,49,177,7,189,147,22,21,189,140,123,34,189,19,224,47,189,30,68,61,189,165,167,74,189,157,10,88,189,254,108,101,189,190,206,114,189,234,23,128,189,27,200,134,189,237,119,141,189,92,39,148,189,99,214,154,189,253,132,161,189,38,51,168,189,217,224,174,189,17,142,181,189,202,58,188,189,254,230,194,189,170,146,201,189,200,61,208,189,84,232,214,189,74,146,221,189,164,59,228,189,93,228,234,189,114,140,241,189,221,51,248,189,154,218,254,189,82,192,2,190,252,18,6,190,71,101,9,190,50,183, 12,190,186,8,16,190,221,89,19,190,152,170,22,190,234,250,25,190,208,74,29,190,71,154,32,190,78,233,35,190,225,55,39,190,0,134,42,190,166,211,45,190,211,32,49,190,131,109,52,190,181,185,55,190,101,5,59,190,147,80,62,190,58,155,65,190,90,229,68,190,240,46,72,190,249,119,75,190,116,192,78,190,93,8,82,190,179,79,85,190,115,150,88,190,156,220,91,190,42,34,95,190,27,103,98,190,109,171,101,190,31,239,104,190,44,50,108,190,148,116,111,190,84,182,114,190,106,247,117,190,211,55,121,190,141,119,124,190,150, 182,127,190,117,122,129,190,69,25,131,190,185,183,132,190,208,85,134,190,136,243,135,190,225,144,137,190,218,45,139,190,112,202,140,190,164,102,142,190,116,2,144,190,223,157,145,190,228,56,147,190,129,211,148,190,182,109,150,190,129,7,152,190,226,160,153,190,215,57,155,190,95,210,156,190,121,106,158,190,35,2,160,190,94,153,161,190,38,48,163,190,125,198,164,190,96,92,166,190,206,241,167,190,198,134,169,190,71,27,171,190,80,175,172,190,224,66,174,190,245,213,175,190,143,104,177,190,173,250,178,190, 77,140,180,190,110,29,182,190,16,174,183,190,48,62,185,190,207,205,186,190,234,92,188,190,130,235,189,190,148,121,191,190,31,7,193,190,35,148,194,190,159,32,196,190,145,172,197,190,248,55,199,190,211,194,200,190,34,77,202,190,226,214,203,190,19,96,205,190,181,232,206,190,197,112,208,190,66,248,209,190,45,127,211,190,131,5,213,190,67,139,214,190,109,16,216,190,255,148,217,190,249,24,219,190,89,156,220,190,29,31,222,190,70,161,223,190,211,34,225,190,193,163,226,190,16,36,228,190,190,163,229,190,204, 34,231,190,56,161,232,190,0,31,234,190,36,156,235,190,162,24,237,190,122,148,238,190,171,15,240,190,51,138,241,190,18,4,243,190,70,125,244,190,207,245,245,190,170,109,247,190,217,228,248,190,88,91,250,190,40,209,251,190,71,70,253,190,181,186,254,190,56,23,0,191,187,208,0,191,228,137,1,191,178,66,2,191,37,251,2,191,59,179,3,191,246,106,4,191,83,34,5,191,83,217,5,191,245,143,6,191,56,70,7,191,29,252,7,191,162,177,8,191,199,102,9,191,140,27,10,191,240,207,10,191,243,131,11,191,147,55,12,191,209,234, 12,191,172,157,13,191,36,80,14,191,56,2,15,191,232,179,15,191,50,101,16,191,24,22,17,191,151,198,17,191,176,118,18,191,99,38,19,191,174,213,19,191,145,132,20,191,13,51,21,191,31,225,21,191,200,142,22,191,8,60,23,191,221,232,23,191,72,149,24,191,72,65,25,191,220,236,25,191,4,152,26,191,192,66,27,191,15,237,27,191,240,150,28,191,99,64,29,191,104,233,29,191,254,145,30,191,37,58,31,191,220,225,31,191,35,137,32,191,250,47,33,191,95,214,33,191,82,124,34,191,212,33,35,191,227,198,35,191,127,107,36,191,167, 15,37,191,92,179,37,191,157,86,38,191,104,249,38,191,191,155,39,191,160,61,40,191,11,223,40,191,255,127,41,191,125,32,42,191,131,192,42,191,17,96,43,191,39,255,43,191,196,157,44,191,232,59,45,191,146,217,45,191,195,118,46,191,121,19,47,191,180,175,47,191,115,75,48,191,183,230,48,191,127,129,49,191,203,27,50,191,153,181,50,191,234,78,51,191,189,231,51,191,18,128,52,191,232,23,53,191,63,175,53,191,22,70,54,191,110,220,54,191,69,114,55,191,156,7,56,191,113,156,56,191,197,48,57,191,150,196,57,191,230, 87,58,191,178,234,58,191,252,124,59,191,194,14,60,191,3,160,60,191,193,48,61,191,250,192,61,191,173,80,62,191,219,223,62,191,131,110,63,191,165,252,63,191,64,138,64,191,83,23,65,191,224,163,65,191,228,47,66,191,96,187,66,191,83,70,67,191,190,208,67,191,158,90,68,191,246,227,68,191,194,108,69,191,5,245,69,191,188,124,70,191,232,3,71,191,137,138,71,191,157,16,72,191,37,150,72,191,32,27,73,191,142,159,73,191,111,35,74,191,193,166,74,191,134,41,75,191,188,171,75,191,99,45,76,191,122,174,76,191,2,47,77, 191,250,174,77,191,98,46,78,191,57,173,78,191,126,43,79,191,51,169,79,191,85,38,80,191,230,162,80,191,228,30,81,191,80,154,81,191,40,21,82,191,109,143,82,191,30,9,83,191,59,130,83,191,195,250,83,191,183,114,84,191,22,234,84,191,223,96,85,191,18,215,85,191,176,76,86,191,183,193,86,191,39,54,87,191,0,170,87,191,66,29,88,191,236,143,88,191,254,1,89,191,120,115,89,191,89,228,89,191,162,84,90,191,81,196,90,191,102,51,91,191,226,161,91,191,195,15,92,191,10,125,92,191,183,233,92,191,200,85,93,191,62,193, 93,191,24,44,94,191,87,150,94,191,249,255,94,191,255,104,95,191,104,209,95,191,51,57,96,191,98,160,96,191,243,6,97,191,229,108,97,191,58,210,97,191,240,54,98,191,8,155,98,191,128,254,98,191,89,97,99,191,146,195,99,191,44,37,100,191,37,134,100,191,126,230,100,191,55,70,101,191,78,165,101,191,197,3,102,191,154,97,102,191,205,190,102,191,94,27,103,191,77,119,103,191,154,210,103,191,68,45,104,191,75,135,104,191,174,224,104,191,111,57,105,191,139,145,105,191,4,233,105,191,217,63,106,191,9,150,106,191, 148,235,106,191,123,64,107,191,188,148,107,191,89,232,107,191,79,59,108,191,160,141,108,191,75,223,108,191,79,48,109,191,173,128,109,191,101,208,109,191,117,31,110,191,223,109,110,191,161,187,110,191,187,8,111,191,46,85,111,191,248,160,111,191,27,236,111,191,149,54,112,191,103,128,112,191,144,201,112,191,15,18,113,191,230,89,113,191,19,161,113,191,151,231,113,191,113,45,114,191,160,114,114,191,38,183,114,191,1,251,114,191,50,62,115,191,184,128,115,191,148,194,115,191,196,3,116,191,73,68,116,191,34, 132,116,191,80,195,116,191,210,1,117,191,168,63,117,191,210,124,117,191,80,185,117,191,33,245,117,191,69,48,118,191,189,106,118,191,136,164,118,191,166,221,118,191,22,22,119,191,217,77,119,191,239,132,119,191,87,187,119,191,17,241,119,191,29,38,120,191,122,90,120,191,42,142,120,191,43,193,120,191,125,243,120,191,33,37,121,191,22,86,121,191,92,134,121,191,242,181,121,191,218,228,121,191,18,19,122,191,154,64,122,191,115,109,122,191,157,153,122,191,22,197,122,191,223,239,122,191,248,25,123,191,97,67, 123,191,26,108,123,191,34,148,123,191,122,187,123,191,32,226,123,191,23,8,124,191,92,45,124,191,240,81,124,191,211,117,124,191,5,153,124,191,134,187,124,191,85,221,124,191,115,254,124,191,223,30,125,191,154,62,125,191,163,93,125,191,250,123,125,191,159,153,125,191,146,182,125,191,211,210,125,191,98,238,125,191,63,9,126,191,105,35,126,191,225,60,126,191,167,85,126,191,186,109,126,191,27,133,126,191,201,155,126,191,196,177,126,191,13,199,126,191,162,219,126,191,133,239,126,191,181,2,127,191,50,21,127, 191,252,38,127,191,19,56,127,191,118,72,127,191,39,88,127,191,36,103,127,191,110,117,127,191,5,131,127,191,232,143,127,191,25,156,127,191,149,167,127,191,95,178,127,191,116,188,127,191,215,197,127,191,133,206,127,191,129,214,127,191,200,221,127,191,93,228,127,191,61,234,127,191,106,239,127,191,227,243,127,191,169,247,127,191,187,250,127,191,25,253,127,191,196,254,127,191,187,255,127,191,250,255,127,63,57,254,127,63,169,249,127,63,75,242,127,63,30,232,127,63,35,219,127,63,89,203,127,63,193,184,127, 63,91,163,127,63,40,139,127,63,39,112,127,63,90,82,127,63,191,49,127,63,88,14,127,63,37,232,126,63,38,191,126,63,92,147,126,63,200,100,126,63,105,51,126,63,65,255,125,63,79,200,125,63,150,142,125,63,20,82,125,63,203,18,125,63,188,208,124,63,231,139,124,63,77,68,124,63,239,249,123,63,205,172,123,63,233,92,123,63,67,10,123,63,221,180,122,63,182,92,122,63,209,1,122,63,46,164,121,63,206,67,121,63,178,224,120,63,220,122,120,63,76,18,120,63,4,167,119,63,4,57,119,63,79,200,118,63,228,84,118,63,198,222,117, 63,246,101,117,63,117,234,116,63,68,108,116,63,101,235,115,63,218,103,115,63,163,225,114,63,194,88,114,63,57,205,113,63,9,63,113,63,52,174,112,63,187,26,112,63,160,132,111,63,228,235,110,63,138,80,110,63,147,178,109,63,1,18,109,63,213,110,108,63,17,201,107,63,183,32,107,63,201,117,106,63,73,200,105,63,57,24,105,63,155,101,104,63,111,176,103,63,186,248,102,63,124,62,102,63,184,129,101,63,111,194,100,63,164,0,100,63,90,60,99,63,145,117,98,63,76,172,97,63,142,224,96,63,89,18,96,63,174,65,95,63,145,110, 94,63,3,153,93,63,8,193,92,63,160,230,91,63,207,9,91,63,152,42,90,63,251,72,89,63,253,100,88,63,159,126,87,63,229,149,86,63,208,170,85,63,99,189,84,63,161,205,83,63,140,219,82,63,39,231,81,63,117,240,80,63,121,247,79,63,52,252,78,63,171,254,77,63,223,254,76,63,212,252,75,63,140,248,74,63,10,242,73,63,82,233,72,63,101,222,71,63,71,209,70,63,251,193,69,63,132,176,68,63,229,156,67,63,32,135,66,63,58,111,65,63,52,85,64,63,19,57,63,63,216,26,62,63,136,250,60,63,38,216,59,63,180,179,58,63,54,141,57,63, 175,100,56,63,34,58,55,63,147,13,54,63,5,223,52,63,124,174,51,63,249,123,50,63,130,71,49,63,25,17,48,63,194,216,46,63,127,158,45,63,86,98,44,63,72,36,43,63,90,228,41,63,144,162,40,63,235,94,39,63,113,25,38,63,37,210,36,63,9,137,35,63,35,62,34,63,117,241,32,63,4,163,31,63,210,82,30,63,228,0,29,63,61,173,27,63,225,87,26,63,211,0,25,63,25,168,23,63,180,77,22,63,170,241,20,63,253,147,19,63,178,52,18,63,204,211,16,63,80,113,15,63,66,13,14,63,164,167,12,63,124,64,11,63,205,215,9,63,154,109,8,63,233,1,7, 63,189,148,5,63,25,38,4,63,3,182,2,63,126,68,1,63,28,163,255,62,110,186,252,62,250,206,249,62,202,224,246,62,228,239,243,62,81,252,240,62,26,6,238,62,71,13,235,62,224,17,232,62,237,19,229,62,119,19,226,62,135,16,223,62,36,11,220,62,88,3,217,62,42,249,213,62,164,236,210,62,205,221,207,62,175,204,204,62,82,185,201,62,191,163,198,62,254,139,195,62,24,114,192,62,22,86,189,62,0,56,186,62,224,23,183,62,189,245,179,62,161,209,176,62,149,171,173,62,162,131,170,62,207,89,167,62,39,46,164,62,178,0,161,62,121, 209,157,62,133,160,154,62,223,109,151,62,143,57,148,62,160,3,145,62,26,204,141,62,5,147,138,62,107,88,135,62,86,28,132,62,205,222,128,62,182,63,123,62,16,191,116,62,187,59,110,62,201,181,103,62,77,45,97,62,89,162,90,62,255,20,84,62,81,133,77,62,99,243,70,62,70,95,64,62,13,201,57,62,202,48,51,62,144,150,44,62,114,250,37,62,130,92,31,62,210,188,24,62,118,27,18,62,127,120,11,62,1,212,4,62,29,92,252,61,114,13,239,61,41,188,225,61,102,104,212,61,78,18,199,61,8,186,185,61,184,95,172,61,132,3,159,61,146, 165,145,61,7,70,132,61,18,202,109,61,122,5,83,61,145,62,56,61,164,117,29,61,252,170,2,61,202,189,207,60,86,35,154,60,97,14,73,60,197,167,187,59,61,122,86,186,9,70,241,187,18,221,99,188,80,138,167,188,65,36,221,188,227,93,9,189,35,40,36,189,150,240,62,189,242,182,89,189,234,122,116,189,26,158,135,189,66,253,148,189,200,90,162,189,134,182,175,189,87,16,189,189,22,104,202,189,155,189,215,189,195,16,229,189,105,97,242,189,101,175,255,189,74,125,6,190,104,33,13,190,250,195,19,190,237,100,26,190,46,4,33, 190,172,161,39,190,83,61,46,190,16,215,52,190,210,110,59,190,134,4,66,190,25,152,72,190,121,41,79,190,148,184,85,190,86,69,92,190,174,207,98,190,137,87,105,190,214,220,111,190,128,95,118,190,120,223,124,190,84,174,129,190,129,235,132,190,56,39,136,190,114,97,139,190,36,154,142,190,69,209,145,190,205,6,149,190,179,58,152,190,238,108,155,190,116,157,158,190,61,204,161,190,64,249,164,190,115,36,168,190,207,77,171,190,73,117,174,190,218,154,177,190,120,190,180,190,27,224,183,190,186,255,186,190,75,29, 190,190,199,56,193,190,37,82,196,190,91,105,199,190,97,126,202,190,48,145,205,190,188,161,208,190,0,176,211,190,241,187,214,190,135,197,217,190,186,204,220,190,129,209,223,190,211,211,226,190,169,211,229,190,250,208,232,190,189,203,235,190,234,195,238,190,120,185,241,190,96,172,244,190,154,156,247,190,28,138,250,190,223,116,253,190,109,46,0,191,3,161,1,191,45,18,3,191,230,129,4,191,44,240,5,191,250,92,7,191,76,200,8,191,30,50,10,191,108,154,11,191,50,1,13,191,108,102,14,191,23,202,15,191,45,44,17, 191,172,140,18,191,144,235,19,191,213,72,21,191,118,164,22,191,113,254,23,191,192,86,25,191,98,173,26,191,81,2,28,191,138,85,29,191,9,167,30,191,203,246,31,191,204,68,33,191,9,145,34,191,124,219,35,191,36,36,37,191,253,106,38,191,2,176,39,191,48,243,40,191,132,52,42,191,250,115,43,191,143,177,44,191,63,237,45,191,7,39,47,191,227,94,48,191,208,148,49,191,202,200,50,191,206,250,51,191,218,42,53,191,232,88,54,191,247,132,55,191,2,175,56,191,7,215,57,191,3,253,58,191,241,32,60,191,207,66,61,191,154,98, 62,191,79,128,63,191,233,155,64,191,104,181,65,191,198,204,66,191,1,226,67,191,23,245,68,191,3,6,70,191,196,20,71,191,86,33,72,191,182,43,73,191,225,51,74,191,212,57,75,191,141,61,76,191,9,63,77,191,68,62,78,191,61,59,79,191,240,53,80,191,90,46,81,191,121,36,82,191,74,24,83,191,202,9,84,191,247,248,84,191,206,229,85,191,77,208,86,191,112,184,87,191,55,158,88,191,156,129,89,191,160,98,90,191,62,65,91,191,117,29,92,191,65,247,92,191,162,206,93,191,148,163,94,191,20,118,95,191,34,70,96,191,186,19,97, 191,217,222,97,191,127,167,98,191,169,109,99,191,84,49,100,191,126,242,100,191,38,177,101,191,73,109,102,191,229,38,103,191,248,221,103,191,128,146,104,191,123,68,105,191,232,243,105,191,195,160,106,191,12,75,107,191,192,242,107,191,222,151,108,191,100,58,109,191,80,218,109,191,160,119,110,191,83,18,111,191,102,170,111,191,217,63,112,191,169,210,112,191,213,98,113,191,91,240,113,191,58,123,114,191,113,3,115,191,253,136,115,191,222,11,116,191,17,140,116,191,150,9,117,191,107,132,117,191,143,252,117, 191,0,114,118,191,189,228,118,191,198,84,119,191,24,194,119,191,178,44,120,191,147,148,120,191,187,249,120,191,40,92,121,191,217,187,121,191,205,24,122,191,2,115,122,191,121,202,122,191,47,31,123,191,36,113,123,191,88,192,123,191,201,12,124,191,118,86,124,191,95,157,124,191,130,225,124,191,224,34,125,191,119,97,125,191,71,157,125,191,79,214,125,191,142,12,126,191,4,64,126,191,176,112,126,191,146,158,126,191,169,201,126,191,245,241,126,191,117,23,127,191,41,58,127,191,16,90,127,191,43,119,127,191, 120,145,127,191,248,168,127,191,170,189,127,191,143,207,127,191,165,222,127,191,237,234,127,191,102,244,127,191,17,251,127,191,237,254,127,191,234,255,127,63,229,248,127,63,166,230,127,63,45,201,127,63,124,160,127,63,149,108,127,63,121,45,127,63,44,227,126,63,177,141,126,63,11,45,126,63,63,193,125,63,82,74,125,63,72,200,124,63,40,59,124,63,247,162,123,63,189,255,122,63,128,81,122,63,72,152,121,63,30,212,120,63,9,5,120,63,19,43,119,63,70,70,118,63,172,86,117,63,78,92,116,63,56,87,115,63,118,71,114, 63,19,45,113,63,28,8,112,63,158,216,110,63,165,158,109,63,64,90,108,63,126,11,107,63,107,178,105,63,25,79,104,63,150,225,102,63,242,105,101,63,62,232,99,63,139,92,98,63,234,198,96,63,109,39,95,63,38,126,93,63,40,203,91,63,133,14,90,63,83,72,88,63,163,120,86,63,139,159,84,63,32,189,82,63,118,209,80,63,163,220,78,63,189,222,76,63,219,215,74,63,19,200,72,63,124,175,70,63,46,142,68,63,65,100,66,63,206,49,64,63,236,246,61,63,180,179,59,63,66,104,57,63,173,20,55,63,16,185,52,63,134,85,50,63,41,234,47,63, 21,119,45,63,101,252,42,63,53,122,40,63,161,240,37,63,198,95,35,63,192,199,32,63,172,40,30,63,169,130,27,63,212,213,24,63,74,34,22,63,42,104,19,63,147,167,16,63,164,224,13,63,123,19,11,63,57,64,8,63,253,102,5,63,231,135,2,63,45,70,255,62,91,113,249,62,151,145,243,62,36,167,237,62,69,178,231,62,60,179,225,62,76,170,219,62,186,151,213,62,201,123,207,62,190,86,201,62,223,40,195,62,112,242,188,62,183,179,182,62,251,108,176,62,129,30,170,62,146,200,163,62,115,107,157,62,108,7,151,62,197,156,144,62,199, 43,138,62,185,180,131,62,199,111,122,62,33,107,109,62,17,92,96,62,41,67,83,62,253,32,70,62,32,246,56,62,38,195,43,62,164,136,30,62,45,71,17,62,87,255,3,62,110,99,237,61,194,189,210,61,218,14,184,61,222,87,157,61,251,153,130,61,188,172,79,61,101,28,26,61,153,10,201,60,42,167,59,60,193,120,214,186,45,68,113,188,87,215,227,188,76,129,39,189,148,15,93,189,21,74,137,189,90,6,164,189,109,187,190,189,34,104,217,189,78,11,244,189,227,81,7,190,47,152,20,190,247,215,33,190,165,16,47,190,166,65,60,190,100,106, 73,190,77,138,86,190,205,160,99,190,80,173,112,190,69,175,125,190,13,83,133,190,158,200,139,190,13,56,146,190,18,161,152,190,102,3,159,190,191,94,165,190,216,178,171,190,105,255,177,190,43,68,184,190,216,128,190,190,42,181,196,190,219,224,202,190,165,3,209,190,69,29,215,190,117,45,221,190,241,51,227,190,118,48,233,190,192,34,239,190,141,10,245,190,155,231,250,190,211,92,0,191,56,64,3,191,219,29,6,191,155,245,8,191,90,199,11,191,247,146,14,191,84,88,17,191,80,23,20,191,205,207,22,191,172,129,25,191, 208,44,28,191,26,209,30,191,109,110,33,191,171,4,36,191,183,147,38,191,116,27,41,191,199,155,43,191,147,20,46,191,187,133,48,191,38,239,50,191,183,80,53,191,85,170,55,191,227,251,57,191,74,69,60,191,110,134,62,191,55,191,64,191,139,239,66,191,83,23,69,191,117,54,71,191,218,76,73,191,107,90,75,191,16,95,77,191,179,90,79,191,62,77,81,191,154,54,83,191,179,22,85,191,114,237,86,191,197,186,88,191,149,126,90,191,208,56,92,191,98,233,93,191,56,144,95,191,64,45,97,191,103,192,98,191,156,73,100,191,206,200, 101,191,235,61,103,191,227,168,104,191,167,9,106,191,39,96,107,191,84,172,108,191,31,238,109,191,122,37,111,191,88,82,112,191,171,116,113,191,103,140,114,191,127,153,115,191,231,155,116,191,149,147,117,191,126,128,118,191,150,98,119,191,212,57,120,191,47,6,121,191,158,199,121,191,23,126,122,191,148,41,123,191,13,202,123,191,122,95,124,191,213,233,124,191,24,105,125,191,62,221,125,191,64,70,126,191,28,164,126,191,204,246,126,191,77,62,127,191,156,122,127,191,182,171,127,191,153,209,127,191,67,236, 127,191,180,251,127,191,166,255,127,63,148,227,127,63,156,154,127,63,204,36,127,63,56,130,126,63,253,178,125,63,63,183,124,63,42,143,123,63,243,58,122,63,212,186,120,63,17,15,119,63,246,55,117,63,213,53,115,63,8,9,113,63,241,177,110,63,249,48,108,63,144,134,105,63,47,179,102,63,83,183,99,63,132,147,96,63,78,72,93,63,69,214,89,63,3,62,86,63,43,128,82,63,101,157,78,63,94,150,74,63,204,107,70,63,106,30,66,63,249,174,61,63,64,30,57,63,13,109,52,63,50,156,47,63,135,172,42,63,235,158,37,63,63,116,32,63, 109,45,27,63,97,203,21,63,13,79,16,63,104,185,10,63,107,11,5,63,46,140,254,62,221,212,242,62,241,242,230,62,127,232,218,62,166,183,206,62,136,98,194,62,78,235,181,62,42,84,169,62,81,159,156,62,253,206,143,62,109,229,130,62,206,201,107,62,98,159,81,62,48,80,55,62,211,224,28,62,241,85,2,62,98,104,207,61,124,0,154,61,36,251,72,61,27,164,187,60,243,119,86,187,100,61,241,188,187,192,99,189,103,93,167,189,20,189,220,189,3,251,8,190,115,127,35,190,52,231,61,190,164,45,88,190,38,78,114,190,18,34,134,190, 137,5,147,190,52,207,159,190,213,124,172,190,51,12,185,190,26,123,197,190,91,199,209,190,205,238,221,190,80,239,233,190,199,198,245,190,144,185,0,191,38,121,6,191,36,33,12,191,141,176,17,191,102,38,23,191,186,129,28,191,152,193,33,191,21,229,38,191,74,235,43,191,86,211,48,191,91,156,53,191,131,69,58,191,253,205,62,191,252,52,67,191,188,121,71,191,125,155,75,191,132,153,79,191,31,115,83,191,161,39,87,191,99,182,90,191,198,30,94,191,48,96,97,191,15,122,100,191,216,107,103,191,7,53,106,191,31,213,108, 191,169,75,111,191,55,152,113,191,98,186,115,191,201,177,117,191,22,126,119,191,246,30,121,191,33,148,122,191,85,221,123,191,89,250,124,191,250,234,125,191,14,175,126,191,116,70,127,191,15,177,127,191,206,238,127,191,0,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,3,0,0,0,2,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,3,0,0,0,2,0,0,0,0,0,206,64,0,0,200,64,0,0,184,64,0,0,170,64,0,0,162,64,0,0,154,64,0,0,144,64,0,0,140,64,0,0,156,64,0,0,150,64,0,0,146,64,0,0,142,64,0,0,156,64,0,0,148,64,0, 0,138,64,0,0,144,64,0,0,140,64,0,0,148,64,0,0,152,64,0,0,142,64,0,0,112,64,0,0,112,64,0,0,112,64,0,0,112,64,0,0,112,64,0,134,107,63,0,20,46,63,0,112,189,62,0,208,76,62,0,0,102,63,0,0,76,63,0,0,38,63,0,0,0,63,15,0,0,0,10,0,0,0,5,0,0,0,6,0,0,0,4,0,0,0,3,0,0,0,191,104,0,0,199,104,0,0,215,104,0,0,247,104,0,0,255,104,0,0,15,105,0,0,47,105,0,0,87,105,0,0,167,105,0,0,71,106,0,0,79,106,0,0,95,106,0,0,32,0,10,0,20,46,100,1,130,106,0,0,194,107,0,0,2,108,0,0,20,108,0,0,180,108,0,0,252,108,0,0,134,95,0,0,32, 0,16,0,102,38,171,1,68,109,0,0,68,111,0,0,132,111,0,0,162,111,0,0,162,112,0,0,234,112,0,0,156,95,0,0,0,0,0,0,64,31,0,0,184,36,0,0,236,44,0,0,188,52,0,0,92,68,0,0,168,97,0,0,128,56,1,0,0,0,0,0,40,35,0,0,224,46,0,0,164,56,0,0,68,72,0,0,180,95,0,0,172,138,0,0,128,56,1,0,0,0,0,0,4,41,0,0,176,54,0,0,104,66,0,0,252,83,0,0,84,111,0,0,16,164,0,0,128,56,1,0,77,113,0,0,80,113,0,0,10,103,242,14,86,205,228,29,10,103,242,14,117,82,130,12,89,154,4,25,117,82,130,12,70,17,49,10,237,3,98,20,70,17,49,10,218,2,215, 7,249,198,173,15,218,2,215,7,34,182,82,5,218,250,164,10,34,182,82,5,70,243,46,30,43,227,75,14,31,102,128,24,28,44,29,10,218,97,72,18,237,156,244,6,236,48,19,11,227,144,165,4,237,164,29,2,10,223,107,3,48,117,0,0,112,23,0,0,32,209,255,255,32,209,255,255,0,64,0,0,108,34,0,0,66,15,0,0,18,6,0,0,77,2,0,0,219,0,0,0,237,0,0,0,153,0,0,0,73,0,0,0,30,0,0,0,12,0,0,0,7,0,0,0,0,64,0,0,147,93,0,0,189,112,0,0,237,121,0,0,178,125,0,0,36,127,0,0,0,250,0,0,128,62,0,0,160,140,0,0,128,62,0,0,248,42,0,0,232,3,0,0,176, 54,0,0,232,3,0,0,8,82,0,0,208,7,0,0,96,109,0,0,208,7,0,0,224,46,0,0,232,3,0,0,80,70,0,0,208,7,0,0,8,82,0,0,208,7,0,0,48,117,0,0,208,7,0,0,248,42,0,0,232,3,0,0,176,54,0,0,232,3,0,0,104,66,0,0,232,3,0,0,8,82,0,0,208,7,0,0,224,46,0,0,232,3,0,0,152,58,0,0,232,3,0,0,80,70,0,0,208,7,0,0,240,85,0,0,208,7,0,0,230,90,52,56,119,78,51,57,211,217,201,57,146,145,51,58,204,96,140,58,97,251,201,58,153,126,9,59,203,128,51,59,213,37,99,59,119,46,140,59,168,138,169,59,69,184,201,59,135,166,236,59,232,46,9,60,174,102, 29,60,247,2,51,60,147,255,73,60,79,88,98,60,94,17,124,60,46,145,139,60,189,199,153,60,92,172,168,60,243,60,184,60,129,121,200,60,238,95,217,60,57,240,234,60,99,42,253,60,53,7,8,61,16,204,17,61,205,228,27,61,97,80,38,61,203,14,49,61,0,31,60,61,254,128,71,61,198,52,83,61,63,56,95,61,105,139,107,61,69,46,120,61,105,144,130,61,123,48,137,61,224,247,143,61,138,229,150,61,123,249,157,61,177,51,165,61,33,147,172,61,80,24,180,61,51,194,187,61,79,145,195,61,18,132,203,61,2,155,211,61,31,214,219,61,215,51, 228,61,175,180,236,61,33,88,245,61,168,29,254,61,161,130,3,62,242,6,8,62,199,155,12,62,221,64,17,62,52,246,21,62,69,187,26,62,17,144,31,62,84,116,36,62,203,103,41,62,51,106,46,62,141,123,51,62,82,155,56,62,197,201,61,62,28,6,67,62,89,80,72,62,122,168,77,62,183,13,83,62,82,128,88,62,8,0,94,62,84,140,99,62,242,36,105,62,37,202,110,62,36,123,116,62,172,55,122,62,0,0,128,62,171,233,130,62,249,216,133,62,133,205,136,62,80,199,139,62,55,198,142,62,247,201,145,62,179,210,148,62,38,224,151,62,15,242,154, 62,108,8,158,62,28,35,161,62,255,65,164,62,208,100,167,62,177,139,170,62,28,182,173,62,84,228,176,62,211,21,180,62,186,74,183,62,232,130,186,62,249,189,189,62,13,252,192,62,226,60,196,62,86,128,199,62,71,198,202,62,149,14,206,62,251,88,209,62,122,165,212,62,241,243,215,62,28,68,219,62,217,149,222,62,8,233,225,62,167,61,229,62,83,147,232,62,12,234,235,62,175,65,239,62,28,154,242,62,14,243,245,62,136,76,249,62,34,166,252,62,0,0,0,63,239,172,1,63,188,89,3,63,121,6,5,63,242,178,6,63,41,95,8,63,250,10, 10,63,86,182,11,63,44,97,13,63,124,11,15,63,19,181,16,63,242,93,18,63,8,6,20,63,67,173,21,63,130,83,23,63,182,248,24,63,220,156,26,63,213,63,28,63,143,225,29,63,249,129,31,63,4,33,33,63,140,190,34,63,163,90,36,63,23,245,37,63,214,141,39,63,242,36,41,63,40,186,42,63,152,77,44,63,1,223,45,63,114,110,47,63,202,251,48,63,249,134,50,63,237,15,52,63,167,150,53,63,4,27,55,63,229,156,56,63,88,28,58,63,61,153,59,63,131,19,61,63,42,139,62,63,0,0,64,63,21,114,65,63,55,225,66,63,119,77,68,63,195,182,69,63,235, 28,71,63,254,127,72,63,236,223,73,63,146,60,75,63,225,149,76,63,234,235,77,63,121,62,79,63,143,141,80,63,43,217,81,63,29,33,83,63,115,101,84,63,13,166,85,63,235,226,86,63,252,27,88,63,47,81,89,63,115,130,90,63,201,175,91,63,14,217,92,63,67,254,93,63,88,31,95,63,75,60,96,63,252,84,97,63,106,105,98,63,133,121,99,63,60,133,100,63,160,140,101,63,126,143,102,63,214,141,103,63,186,135,104,63,246,124,105,63,156,109,106,63,138,89,107,63,209,64,108,63,79,35,109,63,4,1,110,63,241,217,110,63,243,173,111,63, 28,125,112,63,73,71,113,63,124,12,114,63,180,204,114,63,240,135,115,63,16,62,116,63,19,239,116,63,250,154,117,63,179,65,118,63,63,227,118,63,141,127,119,63,173,22,120,63,126,168,120,63,1,53,121,63,52,188,121,63,24,62,122,63,157,186,122,63,194,49,123,63,119,163,123,63,187,15,124,63,159,118,124,63,2,216,124,63,244,51,125,63,101,138,125,63,68,219,125,63,179,38,126,63,143,108,126,63,235,172,126,63,163,231,126,63,218,28,127,63,127,76,127,63,129,118,127,63,2,155,127,63,208,185,127,63,28,211,127,63,197, 230,127,63,203,244,127,63,47,253,127,63,0,0,128,63,2,0,0,0,4,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,16,0,0,0,20,0,0,0,24,0,0,0,28,0,0,0,32,0,0,0,40,0,0,0,48,0,0,0,56,0,0,0,68,0,0,0,80,0,0,0,96,0,0,0,120,0,0,0,1,0,0,0,2,0,0,0,4,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,16,0,0,0,20,0,0,0,24,0,0,0,28,0,0,0,32,0,0,0,40,0,0,0,48,0,0,0,56,0,0,0,68,0,0,0,80,0,0,0,96,0,0,0,120,0,0,0,160,0,0,0,200,0,0,0,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62, 0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,208,37,180,62,151,57,173,62,9,165,159,62,250,237,139,62,205,172,101,62,248,169,42,62,52,48,210,61,90,241,13,61,90,241,13,189,52,48,210,189,248,169,42,190,205,172,101,190,250,237,139,190,9,165,159,190,151,57,173,190,208,37,180,190,135,138,177,62,27,131,150,62,96,35,73,62,196,66,141,61,196,66,141,189,96,35,73,190,27,131,150,190,135,138,177,190,135,138,177,190,27,131,150,190,96,35,73,190,196,66,141,189,196,66,141, 61,96,35,73,62,27,131,150,62,135,138,177,62,151,57,173,62,205,172,101,62,90,241,13,61,248,169,42,190,9,165,159,190,208,37,180,190,250,237,139,190,52,48,210,189,52,48,210,61,250,237,139,62,208,37,180,62,9,165,159,62,248,169,42,62,90,241,13,189,205,172,101,190,151,57,173,190,125,61,167,62,210,139,10,62,210,139,10,190,125,61,167,190,125,61,167,190,210,139,10,190,210,139,10,62,125,61,167,62,125,61,167,62,210,139,10,62,210,139,10,190,125,61,167,190,125,61,167,190,210,139,10,190,210,139,10,62,125,61,167, 62,9,165,159,62,90,241,13,61,250,237,139,190,151,57,173,190,52,48,210,189,205,172,101,62,208,37,180,62,248,169,42,62,248,169,42,190,208,37,180,190,205,172,101,190,52,48,210,61,151,57,173,62,250,237,139,62,90,241,13,189,9,165,159,190,27,131,150,62,196,66,141,189,135,138,177,190,96,35,73,190,96,35,73,62,135,138,177,62,196,66,141,61,27,131,150,190,27,131,150,190,196,66,141,61,135,138,177,62,96,35,73,62,96,35,73,190,135,138,177,190,196,66,141,189,27,131,150,62,250,237,139,62,248,169,42,190,151,57,173, 190,90,241,13,61,208,37,180,62,52,48,210,61,9,165,159,190,205,172,101,190,205,172,101,62,9,165,159,62,52,48,210,189,208,37,180,190,90,241,13,189,151,57,173,62,248,169,42,62,250,237,139,190,0,0,0,0,5,193,35,61,233,125,163,61,37,150,244,61,226,116,34,62,172,28,74,62,221,37,113,62,52,186,139,62,180,119,158,62,228,191,176,62,173,136,194,62,37,201,211,62,24,122,228,62,24,149,244,62,200,10,2,63,28,124,9,63,73,157,16,63,202,109,23,63,192,237,29,63,159,29,36,63,84,254,41,63,46,145,47,63,224,215,52,63,99, 212,57,63,240,136,62,63,211,247,66,63,171,35,71,63,23,15,75,63,216,188,78,63,173,47,82,63,106,106,85,63,206,111,88,63,154,66,91,63,142,229,93,63,75,91,96,63,110,166,98,63,100,201,100,63,155,198,102,63,111,160,104,63,247,88,106,63,128,242,107,63,223,110,109,63,11,208,110,63,202,23,112,63,224,71,113,63,225,97,114,63,77,103,115,63,150,89,116,63,12,58,117,63,255,9,118,63,138,202,118,63,187,124,119,63,192,33,120,63,98,186,120,63,157,71,121,63,75,202,121,63,36,67,122,63,242,178,122,63,59,26,123,63,200, 121,123,63,32,210,123,63,200,35,124,63,55,111,124,63,242,180,124,63,94,245,124,63,224,48,125,63,236,103,125,63,183,154,125,63,180,201,125,63,6,245,125,63,17,29,126,63,24,66,126,63,78,100,126,63,211,131,126,63,253,160,126,63,237,187,126,63,195,212,126,63,179,235,126,63,239,0,127,63,135,20,127,63,141,38,127,63,67,55,127,63,170,70,127,63,227,84,127,63,15,98,127,63,47,110,127,63,100,121,127,63,190,131,127,63,63,141,127,63,24,150,127,63,56,158,127,63,194,165,127,63,163,172,127,63,16,179,127,63,245,184, 127,63,119,190,127,63,114,195,127,63,25,200,127,63,108,204,127,63,91,208,127,63,6,212,127,63,111,215,127,63,131,218,127,63,102,221,127,63,21,224,127,63,130,226,127,63,205,228,127,63,230,230,127,63,205,232,127,63,146,234,127,63,70,236,127,63,200,237,127,63,40,239,127,63,120,240,127,63,166,241,127,63,195,242,127,63,191,243,127,63,186,244,127,63,148,245,127,63,94,246,127,63,39,247,127,63,207,247,127,63,119,248,127,63,253,248,127,63,148,249,127,63,9,250,127,63,127,250,127,63,244,250,127,63,89,251,127, 63,173,251,127,63,1,252,127,63,84,252,127,63,152,252,127,63,219,252,127,63,30,253,127,63,80,253,127,63,130,253,127,63,181,253,127,63,231,253,127,63,9,254,127,63,59,254,127,63,93,254,127,63,126,254,127,63,143,254,127,63,176,254,127,63,210,254,127,63,227,254,127,63,244,254,127,63,21,255,127,63,38,255,127,63,55,255,127,63,71,255,127,63,88,255,127,63,88,255,127,63,105,255,127,63,122,255,127,63,122,255,127,63,139,255,127,63,155,255,127,63,155,255,127,63,155,255,127,63,172,255,127,63,172,255,127,63,189, 255,127,63,189,255,127,63,189,255,127,63,206,255,127,63,206,255,127,63,206,255,127,63],"i8",4,y.h+10240); O([206,255,127,63,206,255,127,63,222,255,127,63,222,255,127,63,222,255,127,63,222,255,127,63,222,255,127,63,222,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,3,0,0,0,148,80,0,0,160,80,0,0,25,0,0,0,15,0,0,0,2,0,0,0,14,190, 192,189,172,31,155,190,149,130,26,191,150,149,70,190,84,114,62,190,146,3,26,191,6,152,62,189,2,160,234,189,182,43,212,189,185,114,30,191,106,190,162,190,28,7,46,190,107,243,143,189,90,158,23,62,33,173,209,62,10,102,12,63,125,60,188,62,20,33,253,190,143,169,67,63,8,119,235,191,10,243,46,62,117,147,76,65,80,83,139,191,108,236,162,191,181,21,130,193,28,107,193,65,162,98,178,192,255,231,48,190,47,79,39,190,158,206,101,190,255,87,194,189,155,60,149,189,203,248,135,190,44,97,205,189,203,33,83,189,64,166, 21,190,238,35,247,189,160,253,56,190,219,167,3,62,233,95,226,62,213,202,252,190,29,203,43,62,231,168,83,62,1,79,74,190,247,3,214,62,71,119,192,63,173,249,69,191,64,164,32,193,43,194,205,62,192,178,62,64,201,118,115,65,100,204,241,191,39,165,152,191,23,204,233,60,134,193,132,187,201,232,144,61,84,72,7,60,154,231,189,189,103,71,42,188,59,137,140,187,159,122,160,187,88,90,145,189,85,196,39,187,169,11,34,61,177,219,103,62,241,54,5,61,52,17,38,62,170,10,205,189,86,185,248,62,108,4,2,62,86,102,146,62,228, 254,126,60,106,251,215,61,159,142,67,64,136,70,147,63,57,40,129,191,71,90,234,191,139,84,84,64,210,53,91,192,13,253,243,189,232,39,38,189,25,31,226,59,241,90,147,60,171,170,28,189,237,238,195,59,5,106,150,188,246,141,249,58,37,201,19,190,106,115,50,189,210,214,129,58,161,100,98,62,158,210,17,62,128,215,247,62,221,12,207,62,124,15,3,63,250,242,114,190,55,139,119,62,47,110,179,62,183,13,51,191,136,99,38,65,18,165,41,64,83,208,27,192,53,7,134,192,125,150,135,63,60,247,218,63,12,212,218,59,186,186,147, 189,191,192,34,189,69,144,20,61,38,112,235,189,208,37,193,188,210,156,6,60,124,58,104,188,114,11,7,189,31,26,17,189,171,204,53,59,154,208,148,190,218,230,146,191,140,104,163,190,89,193,47,191,163,233,188,62,64,50,245,62,253,245,58,62,163,119,210,190,8,144,97,63,39,107,147,192,33,31,188,63,224,243,171,62,161,214,232,191,245,91,241,193,8,172,177,64,252,177,255,58,106,21,253,189,37,245,148,189,41,102,131,189,252,233,90,189,35,134,221,189,20,249,191,189,43,237,142,189,75,171,225,188,167,236,68,190,122, 110,225,189,172,28,146,62,105,170,207,190,7,203,189,61,35,101,147,190,201,231,89,191,252,194,203,189,212,95,111,190,111,129,164,191,13,108,145,63,155,201,71,64,187,39,143,189,66,91,238,191,113,201,41,64,120,238,233,192,26,168,28,64,135,138,146,186,54,152,129,189,127,33,26,189,138,114,25,190,229,100,18,62,247,202,60,62,113,202,252,61,117,220,154,61,70,65,240,61,200,40,191,61,71,193,141,61,22,144,172,61,175,81,144,61,27,166,113,61,173,246,192,61,61,209,229,190,92,47,215,60,148,107,138,62,106,78,134, 190,98,186,48,62,49,37,0,64,133,9,35,190,99,96,29,61,26,81,35,65,182,248,132,64,7,206,21,192,120,99,97,189,79,18,30,60,98,186,16,190,8,223,224,60,187,222,12,61,136,166,71,189,97,152,194,61,35,245,253,187,158,146,24,189,185,155,179,187,187,236,135,189,45,182,196,61,230,206,76,190,12,24,41,189,251,87,22,63,48,68,83,61,142,172,172,62,218,226,90,63,93,26,43,63,202,82,235,189,178,75,104,192,37,89,239,190,177,164,92,190,57,98,39,64,145,238,207,62,180,142,174,191,203,61,46,61,20,5,250,61,210,98,191,61,67, 4,252,61,160,165,11,61,155,226,17,190,245,130,15,61,15,250,72,189,55,41,150,61,113,52,108,61,83,235,253,61,185,215,83,189,147,139,129,190,69,47,23,63,113,89,21,62,238,95,161,62,207,217,98,62,177,168,24,190,79,89,93,62,127,251,178,190,253,135,196,65,161,131,126,191,11,66,29,63,242,82,150,193,27,76,53,192,69,128,55,191,84,196,177,190,253,130,245,62,128,238,123,190,215,96,155,61,137,150,12,62,211,19,54,190,185,51,243,61,46,253,141,186,175,7,115,190,129,34,182,62,33,7,5,190,218,78,96,189,101,28,163,190, 21,171,166,190,107,211,56,62,171,31,128,189,183,155,16,62,40,41,176,62,24,207,192,62,95,126,23,191,102,247,186,64,170,241,194,190,46,56,99,62,239,172,181,191,48,108,229,201,122,170,171,63,218,31,232,60,27,113,55,189,162,59,173,188,127,121,210,188,9,192,100,60,236,86,170,60,101,102,48,188,198,207,53,60,202,13,112,61,62,180,207,188,178,134,6,189,121,35,243,61,78,38,94,190,247,62,21,62,230,93,245,61,106,111,187,189,198,21,247,189,41,83,161,189,106,23,19,190,134,89,24,191,188,116,147,191,198,109,160, 191,181,224,149,191,42,227,138,64,64,26,110,201,249,102,175,191,204,76,36,189,13,168,87,62,141,239,11,190,159,57,11,62,64,87,86,189,28,28,54,61,199,207,107,60,239,56,135,59,170,27,158,188,226,177,95,62,162,178,225,189,236,163,1,192,165,17,107,63,28,8,29,192,134,3,153,63,184,86,123,189,48,18,246,191,186,192,157,62,172,202,254,62,42,144,105,63,102,75,86,62,147,24,22,192,95,94,12,64,39,20,207,192,144,78,217,63,169,161,57,191,112,218,66,60,77,206,26,61,109,235,98,61,109,130,185,60,243,67,144,189,93,3, 246,188,182,124,73,60,72,233,136,187,62,158,140,189,125,64,0,61,219,50,32,61,194,108,186,62,242,165,193,189,126,80,188,60,194,81,50,190,228,218,168,62,44,239,234,61,112,182,153,62,62,33,219,61,18,136,7,62,8,148,185,64,125,118,104,63,80,195,103,191,88,202,86,192,248,56,67,62,207,161,60,62,50,116,44,191,208,94,109,62,213,29,112,189,65,74,108,62,216,101,224,190,240,193,123,62,23,72,48,190,182,123,179,61,121,115,56,191,85,106,38,62,85,187,139,60,143,114,208,61,117,230,198,62,213,38,170,63,2,241,138,63, 108,177,111,191,51,167,23,192,66,9,215,192,144,102,92,192,241,215,8,64,116,181,99,65,82,68,157,64,20,203,69,192,16,18,27,193,252,170,68,191,164,228,229,63,75,35,97,61,17,82,39,62,16,59,163,61,253,223,12,61,211,175,99,189,237,178,165,187,217,102,153,60,110,201,5,61,34,162,189,60,175,119,31,62,154,15,67,61,75,120,130,190,151,255,204,63,210,28,77,191,119,132,35,64,65,213,60,63,19,102,174,191,221,9,50,191,71,90,28,192,62,174,221,191,131,250,124,64,205,1,242,63,101,224,248,62,75,89,53,193,128,147,112, 74,249,75,195,190,126,29,248,61,94,44,104,191,249,20,60,64,51,196,209,63,231,255,97,63,2,213,95,63,45,207,155,63,46,226,95,191,166,182,164,62,93,249,72,63,160,81,114,63,134,55,19,191,62,203,93,192,34,137,98,63,173,62,189,61,144,131,30,193,116,93,200,62,10,242,35,62,170,43,3,192,240,167,132,64,210,22,140,61,58,60,20,190,123,16,146,190,69,44,194,62,116,70,148,191,167,29,227,188,154,153,29,193,16,93,154,192,51,167,109,64,139,224,119,64,26,163,97,64,0,64,202,69,27,76,255,82,130,90,179,98,162,107,96,117, 0,0,1,0,2,0,3,0,4,0,5,0,6,0,7,0,8,0,10,0,12,0,14,0,16,0,20,0,24,0,28,0,34,0,40,0,48,0,60,0,78,0,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,8,0,8,0,8,0,16,0,16,0,16,0,21,0,21,0,24,0,29,0,34,0,36,0,0,0,96,0,192,0,32,1,128,1,32,0,128,0,224,0,64,1,160,1,64,0,160,0,0,1,96,1,192,1,8,0,104,0,200,0,40,1,136,1,40,0,136,0,232,0,72,1,168,1,72,0,168,0,8,1,104,1,200,1,16,0,112,0,208,0,48,1,144,1,48,0,144,0,240,0,80,1,176,1,80,0,176,0,16,1,112,1,208,1,24,0,120,0,216,0,56,1,152,1,56,0,152,0,248,0,88,1,184,1,88,0, 184,0,24,1,120,1,216,1,4,0,100,0,196,0,36,1,132,1,36,0,132,0,228,0,68,1,164,1,68,0,164,0,4,1,100,1,196,1,12,0,108,0,204,0,44,1,140,1,44,0,140,0,236,0,76,1,172,1,76,0,172,0,12,1,108,1,204,1,20,0,116,0,212,0,52,1,148,1,52,0,148,0,244,0,84,1,180,1,84,0,180,0,20,1,116,1,212,1,28,0,124,0,220,0,60,1,156,1,60,0,156,0,252,0,92,1,188,1,92,0,188,0,28,1,124,1,220,1,1,0,97,0,193,0,33,1,129,1,33,0,129,0,225,0,65,1,161,1,65,0,161,0,1,1,97,1,193,1,9,0,105,0,201,0,41,1,137,1,41,0,137,0,233,0,73,1,169,1,73,0,169, 0,9,1,105,1,201,1,17,0,113,0,209,0,49,1,145,1,49,0,145,0,241,0,81,1,177,1,81,0,177,0,17,1,113,1,209,1,25,0,121,0,217,0,57,1,153,1,57,0,153,0,249,0,89,1,185,1,89,0,185,0,25,1,121,1,217,1,5,0,101,0,197,0,37,1,133,1,37,0,133,0,229,0,69,1,165,1,69,0,165,0,5,1,101,1,197,1,13,0,109,0,205,0,45,1,141,1,45,0,141,0,237,0,77,1,173,1,77,0,173,0,13,1,109,1,205,1,21,0,117,0,213,0,53,1,149,1,53,0,149,0,245,0,85,1,181,1,85,0,181,0,21,1,117,1,213,1,29,0,125,0,221,0,61,1,157,1,61,0,157,0,253,0,93,1,189,1,93,0,189, 0,29,1,125,1,221,1,2,0,98,0,194,0,34,1,130,1,34,0,130,0,226,0,66,1,162,1,66,0,162,0,2,1,98,1,194,1,10,0,106,0,202,0,42,1,138,1,42,0,138,0,234,0,74,1,170,1,74,0,170,0,10,1,106,1,202,1,18,0,114,0,210,0,50,1,146,1,50,0,146,0,242,0,82,1,178,1,82,0,178,0,18,1,114,1,210,1,26,0,122,0,218,0,58,1,154,1,58,0,154,0,250,0,90,1,186,1,90,0,186,0,26,1,122,1,218,1,6,0,102,0,198,0,38,1,134,1,38,0,134,0,230,0,70,1,166,1,70,0,166,0,6,1,102,1,198,1,14,0,110,0,206,0,46,1,142,1,46,0,142,0,238,0,78,1,174,1,78,0,174,0,14, 1,110,1,206,1,22,0,118,0,214,0,54,1,150,1,54,0,150,0,246,0,86,1,182,1,86,0,182,0,22,1,118,1,214,1,30,0,126,0,222,0,62,1,158,1,62,0,158,0,254,0,94,1,190,1,94,0,190,0,30,1,126,1,222,1,3,0,99,0,195,0,35,1,131,1,35,0,131,0,227,0,67,1,163,1,67,0,163,0,3,1,99,1,195,1,11,0,107,0,203,0,43,1,139,1,43,0,139,0,235,0,75,1,171,1,75,0,171,0,11,1,107,1,203,1,19,0,115,0,211,0,51,1,147,1,51,0,147,0,243,0,83,1,179,1,83,0,179,0,19,1,115,1,211,1,27,0,123,0,219,0,59,1,155,1,59,0,155,0,251,0,91,1,187,1,91,0,187,0,27,1, 123,1,219,1,7,0,103,0,199,0,39,1,135,1,39,0,135,0,231,0,71,1,167,1,71,0,167,0,7,1,103,1,199,1,15,0,111,0,207,0,47,1,143,1,47,0,143,0,239,0,79,1,175,1,79,0,175,0,15,1,111,1,207,1,23,0,119,0,215,0,55,1,151,1,55,0,151,0,247,0,87,1,183,1,87,0,183,0,23,1,119,1,215,1,31,0,127,0,223,0,63,1,159,1,63,0,159,0,255,0,95,1,191,1,95,0,191,0,31,1,127,1,223,1,0,0,48,0,96,0,144,0,192,0,16,0,64,0,112,0,160,0,208,0,32,0,80,0,128,0,176,0,224,0,4,0,52,0,100,0,148,0,196,0,20,0,68,0,116,0,164,0,212,0,36,0,84,0,132,0,180, 0,228,0,8,0,56,0,104,0,152,0,200,0,24,0,72,0,120,0,168,0,216,0,40,0,88,0,136,0,184,0,232,0,12,0,60,0,108,0,156,0,204,0,28,0,76,0,124,0,172,0,220,0,44,0,92,0,140,0,188,0,236,0,1,0,49,0,97,0,145,0,193,0,17,0,65,0,113,0,161,0,209,0,33,0,81,0,129,0,177,0,225,0,5,0,53,0,101,0,149,0,197,0,21,0,69,0,117,0,165,0,213,0,37,0,85,0,133,0,181,0,229,0,9,0,57,0,105,0,153,0,201,0,25,0,73,0,121,0,169,0,217,0,41,0,89,0,137,0,185,0,233,0,13,0,61,0,109,0,157,0,205,0,29,0,77,0,125,0,173,0,221,0,45,0,93,0,141,0,189,0, 237,0,2,0,50,0,98,0,146,0,194,0,18,0,66,0,114,0,162,0,210,0,34,0,82,0,130,0,178,0,226,0,6,0,54,0,102,0,150,0,198,0,22,0,70,0,118,0,166,0,214,0,38,0,86,0,134,0,182,0,230,0,10,0,58,0,106,0,154,0,202,0,26,0,74,0,122,0,170,0,218,0,42,0,90,0,138,0,186,0,234,0,14,0,62,0,110,0,158,0,206,0,30,0,78,0,126,0,174,0,222,0,46,0,94,0,142,0,190,0,238,0,3,0,51,0,99,0,147,0,195,0,19,0,67,0,115,0,163,0,211,0,35,0,83,0,131,0,179,0,227,0,7,0,55,0,103,0,151,0,199,0,23,0,71,0,119,0,167,0,215,0,39,0,87,0,135,0,183,0,231, 0,11,0,59,0,107,0,155,0,203,0,27,0,75,0,123,0,171,0,219,0,43,0,91,0,139,0,187,0,235,0,15,0,63,0,111,0,159,0,207,0,31,0,79,0,127,0,175,0,223,0,47,0,95,0,143,0,191,0,239,0,0,0,24,0,48,0,72,0,96,0,8,0,32,0,56,0,80,0,104,0,16,0,40,0,64,0,88,0,112,0,4,0,28,0,52,0,76,0,100,0,12,0,36,0,60,0,84,0,108,0,20,0,44,0,68,0,92,0,116,0,1,0,25,0,49,0,73,0,97,0,9,0,33,0,57,0,81,0,105,0,17,0,41,0,65,0,89,0,113,0,5,0,29,0,53,0,77,0,101,0,13,0,37,0,61,0,85,0,109,0,21,0,45,0,69,0,93,0,117,0,2,0,26,0,50,0,74,0,98,0,10, 0,34,0,58,0,82,0,106,0,18,0,42,0,66,0,90,0,114,0,6,0,30,0,54,0,78,0,102,0,14,0,38,0,62,0,86,0,110,0,22,0,46,0,70,0,94,0,118,0,3,0,27,0,51,0,75,0,99,0,11,0,35,0,59,0,83,0,107,0,19,0,43,0,67,0,91,0,115,0,7,0,31,0,55,0,79,0,103,0,15,0,39,0,63,0,87,0,111,0,23,0,47,0,71,0,95,0,119,0,0,0,12,0,24,0,36,0,48,0,4,0,16,0,28,0,40,0,52,0,8,0,20,0,32,0,44,0,56,0,1,0,13,0,25,0,37,0,49,0,5,0,17,0,29,0,41,0,53,0,9,0,21,0,33,0,45,0,57,0,2,0,14,0,26,0,38,0,50,0,6,0,18,0,30,0,42,0,54,0,10,0,22,0,34,0,46,0,58,0,3,0,15, 0,27,0,39,0,51,0,7,0,19,0,31,0,43,0,55,0,11,0,23,0,35,0,47,0,59,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,41,0,41,0,41,0,82,0,82,0,123,0,164,0,200,0,222,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,0,41,0,41,0,41,0,123,0,123,0,123,0,164,0,164,0,240,0,10,1,27,1,39,1,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,123,0,123,0,123,0,123,0,240,0,240,0,240,0,10,1,10,1,49,1,62,1,72,1,80,1,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,240,0,240,0,240,0,240,0,49,1,49,1,49,1,62,1, 62,1,87,1,95,1,102,1,108,1,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,49,1,49,1,49,1,49,1,87,1,87,1,87,1,95,1,95,1,114,1,120,1,126,1,131,1,184,126,154,121,154,121,102,102,184,126,51,115,16,48,250,0,3,0,6,0,3,0,3,0,3,0,4,0,3,0,3,0,3,0,205,1,100,0,3,0,40,0,3,0,3,0,3,0,5,0,14,0,14,0,10,0,11,0,3,0,8,0,9,0,7,0,3,0,91,1,18,0,29,0,38,0,40,0,46,0,52,0,62,0,84,0,92,202,190,216,182,223,154,226,156,230,120,236,122,244,204,252,52,3,134,11,136,19,100,25,102,29,74,32,66,39,164,53,100,0,240,0,32,0,100,0,205, 60,0,48,0,32,30,161,36,42,0,32,254,31,246,31,234,31,216,31,194,31,168,31,136,31,98,31,58,31,10,31,216,30,160,30,98,30,34,30,220,29,144,29,66,29,238,28,150,28,58,28,216,27,114,27,10,27,156,26,42,26,180,25,58,25,188,24,60,24,182,23,46,23,160,22,16,22,126,21,232,20,78,20,176,19,16,19,110,18,200,17,30,17,116,16,198,15,22,15,100,14,174,13,248,12,64,12,132,11,200,10,10,10,74,9,138,8,198,7,2,7,62,6,120,5,178,4,234,3,34,3,90,2,146,1,202,0,0,0,54,255,110,254,166,253,222,252,22,252,78,251,136,250,194,249,254, 248,58,248,118,247,182,246,246,245,56,245,124,244,192,243,8,243,82,242,156,241,234,240,58,240,140,239,226,238,56,238,146,237,240,236,80,236,178,235,24,235,130,234,240,233,96,233,210,232,74,232,196,231,68,231,198,230,76,230,214,229,100,229,246,228,142,228,40,228,198,227,106,227,18,227,190,226,112,226,36,226,222,225,158,225,96,225,40,225,246,224,198,224,158,224,120,224,88,224,62,224,40,224,22,224,10,224,2,224,0,224,210,6,138,58,171,152,198,26,169,100,246,216,42,175,213,201,207,255,64,0,17,0,99,255, 97,1,16,254,163,0,39,43,189,86,217,255,6,0,91,0,86,255,186,0,23,0,128,252,192,24,216,77,237,255,220,255,102,0,167,255,232,255,72,1,73,252,8,10,37,62,135,199,61,201,64,0,128,0,134,255,36,0,54,1,0,253,72,2,51,36,69,69,12,0,128,0,18,0,114,255,32,1,139,255,159,252,27,16,123,56,104,2,13,200,246,255,39,0,58,0,210,255,172,255,120,0,184,0,197,254,227,253,4,5,4,21,64,35,230,62,198,196,243,255,0,0,20,0,26,0,5,0,225,255,213,255,252,255,65,0,90,0,7,0,99,255,8,255,212,255,81,2,47,6,52,10,199,12,228,87,5,197,3, 0,242,255,236,255,241,255,2,0,25,0,37,0,25,0,240,255,185,255,149,255,177,255,50,0,36,1,111,2,214,3,8,5,184,5,148,107,103,196,17,0,12,0,8,0,1,0,246,255,234,255,226,255,224,255,234,255,3,0,44,0,100,0,168,0,243,0,61,1,125,1,173,1,199,1,19,245,149,230,89,18,243,41,31,6,84,32,189,0,168,253,105,2,103,119,117,0,97,255,210,251,8,116,52,0,221,0,168,246,116,110,252,255,17,2,234,242,229,102,208,255,246,2,140,240,165,93,176,255,137,3,117,239,6,83,157,255,204,3,130,239,102,71,149,255,199,3,139,240,39,59,153,255, 128,3,97,242,174,46,165,255,5,3,207,244,94,34,185,255,99,2,161,247,152,22,210,255,169,1,161,250,180,11,0,1,1,1,2,3,3,3,2,3,3,3,2,3,3,3,0,3,12,15,48,51,60,63,192,195,204,207,240,243,252,255,0,255,0,255,0,255,0,255,0,255,0,254,1,0,1,255,0,254,0,253,2,0,1,255,0,254,0,253,3,0,1,255,117,110,107,110,111,119,110,32,101,114,114,111,114,0,115,117,99,99,101,115,115,0,105,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,98,117,102,102,101,114,32,116,111,111,32,115,109,97,108,108,0,105,110,116,101, 114,110,97,108,32,101,114,114,111,114,0,99,111,114,114,117,112,116,101,100,32,115,116,114,101,97,109,0,114,101,113,117,101,115,116,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,105,110,118,97,108,105,100,32,115,116,97,116,101,0,109,101,109,111,114,121,32,97,108,108,111,99,97,116,105,111,110,32,102,97,105,108,101,100,0,108,105,98,111,112,117,115,32,49,46,49,46,50,0,2,1,0,255,255,156,110,86,70,59,51,45,40,37,33,31,28,26,25,23,22,21,20,19,18,17,16,16,15,15,14,13,13,12,12,12,12,11,11, 11,10,10,10,9,9,9,9,9,9,8,8,8,8,8,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,25,23,2,0,126,124,119,109,87,41,19,9,4,2,0,2,1,0,25,23,2,0,126,124,119,109,87,41,19,9,4,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,80,75,69,63,56,49,40,34,29,20,18,10,0,0,0,0,0,0,0,0,110,100,90,84,78,71,65,58,51,45,39,32,26,20,12,0,0,0,0,0,0,118,110,103,93,86,80,75,70,65,59,53,47,40,31,23,15,4,0,0,0,0,126, 119,112,104,95,89,83,78,72,66,60,54,47,39,32,25,17,12,1,0,0,134,127,120,114,103,97,91,85,78,72,66,60,54,47,41,35,29,23,16,10,1,144,137,130,124,113,107,101,95,88,82,76,70,64,57,51,45,39,33,26,15,1,152,145,138,132,123,117,111,105,98,92,86,80,74,67,61,55,49,43,36,20,1,162,155,148,142,133,127,121,115,108,102,96,90,84,77,71,65,59,53,46,30,1,172,165,158,152,143,137,131,125,118,112,106,100,94,87,81,75,69,63,56,45,20,200,200,200,200,200,200,200,200,198,193,188,183,178,173,168,163,158,153,148,129,104,40,7, 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,40,15,23,28,31,34,36,38,39,41,42,43,44,45,46,47,47,49,50,51,52,53,54,55,55,57,58,59,60,61,62,63,63,65,66,67,68,69,70,71,71,40,20,33,41,48,53,57,61,64,66,69,71,73,75,76,78,80,82,85,87,89,91,92,94,96,98,101,103,105,107,108,110,112,114,117,119,121,123,124,126,128,40,23,39,51,60,67,73,79,83,87,91,94,97,100,102,105,107,111,115,118,121,124,126,129,131,135,139,142,145,148,150,153,155,159,163,166,169,172,174,177,179,35,28,49,65, 78,89,99,107,114,120,126,132,136,141,145,149,153,159,165,171,176,180,185,189,192,199,205,211,216,220,225,229,232,239,245,251,21,33,58,79,97,112,125,137,148,157,166,174,182,189,195,201,207,217,227,235,243,251,17,35,63,86,106,123,139,152,165,177,187,197,206,214,222,230,237,250,25,31,55,75,91,105,117,128,138,146,154,161,168,174,180,185,190,200,208,215,222,229,235,240,245,255,16,36,65,89,110,128,144,159,173,185,196,207,217,226,234,242,250,11,41,74,103,128,151,172,191,209,225,241,255,9,43,79,110,138,163, 186,207,227,246,12,39,71,99,123,144,164,182,198,214,228,241,253,9,44,81,113,142,168,192,214,235,255,7,49,90,127,160,191,220,247,6,51,95,134,170,203,234,7,47,87,123,155,184,212,237,6,52,97,137,174,208,240,5,57,106,151,192,231,5,59,111,158,202,243,5,55,103,147,187,224,5,60,113,161,206,248,4,65,122,175,224,4,67,127,182,234,224,224,224,224,224,224,224,224,160,160,160,160,185,185,185,178,178,168,134,61,37,224,224,224,224,224,224,224,224,240,240,240,240,207,207,207,198,198,183,144,66,40,160,160,160,160, 160,160,160,160,185,185,185,185,193,193,193,183,183,172,138,64,38,240,240,240,240,240,240,240,240,207,207,207,207,204,204,204,193,193,180,143,66,40,185,185,185,185,185,185,185,185,193,193,193,193,193,193,193,183,183,172,138,65,39,207,207,207,207,207,207,207,207,204,204,204,204,201,201,201,188,188,176,141,66,40,193,193,193,193,193,193,193,193,193,193,193,193,194,194,194,184,184,173,139,65,39,204,204,204,204,204,204,204,204,201,201,201,201,198,198,198,187,187,175,140,66,40,72,127,65,129,66,128,65,128, 64,128,62,128,64,128,64,128,92,78,92,79,92,78,90,79,116,41,115,40,114,40,132,26,132,26,145,17,161,12,176,10,177,11,24,179,48,138,54,135,54,132,53,134,56,133,55,132,55,132,61,114,70,96,74,88,75,88,87,74,89,66,91,67,100,59,108,50,120,40,122,37,97,43,78,50,83,78,84,81,88,75,86,74,87,71,90,73,93,74,93,74,109,40,114,36,117,34,117,34,143,17,145,18,146,19,162,12,165,10,178,7,189,6,190,8,177,9,23,178,54,115,63,102,66,98,69,99,74,89,71,91,73,91,78,89,86,80,92,66,93,64,102,59,103,60,104,60,117,52,123,44,138, 35,133,31,97,38,77,45,61,90,93,60,105,42,107,41,110,45,116,38,113,38,112,38,124,26,132,27,136,19,140,20,155,14,159,16,158,18,170,13,177,10,187,8,192,6,175,9,159,10,21,178,59,110,71,86,75,85,84,83,91,66,88,73,87,72,92,75,98,72,105,58,107,54,115,52,114,55,112,56,129,51,132,40,150,33,140,29,98,35,77,42,42,121,96,66,108,43,111,40,117,44,123,32,120,36,119,33,127,33,134,34,139,21,147,23,152,20,158,25,154,26,166,21,173,16,184,13,184,10,150,13,139,15,22,178,63,114,74,82,84,83,92,82,103,62,96,72,96,67,101, 73,107,72,113,55,118,52,125,52,118,52,117,55,135,49,137,39,157,32,145,29,97,33,77,40,2,1,0,0,8,13,16,19,21,23,24,26,27,28,29,30,31,32,32,33,34,34,35,36,36,37,37,224,112,44,15,3,2,1,0,254,237,192,132,70,23,4,0,255,252,226,155,61,11,2,0,250,245,234,203,71,50,42,38,35,33,31,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0,179,99,0,71,56,43,30,21,12,6,0,199,165,144,124,109,96,84,71,61,51,42,32,23,15,8,0,241,225,211,199,187,175,164,153,142,132,123,114,105,96,88,80,72,64, 57,50,44,38,33,29,24,20,16,12,9,5,2,0,15,131,138,138,155,155,173,173,69,93,115,118,131,138,141,138,150,150,155,150,155,160,166,160,131,128,134,141,141,141,145,145,145,150,155,155,155,155,160,160,160,160,166,166,173,173,182,192,182,192,192,192,205,192,205,224,4,6,24,7,5,0,0,2,0,0,12,28,41,13,252,247,15,42,25,14,1,254,62,41,247,246,37,65,252,3,250,4,66,7,248,16,14,38,253,33,13,22,39,23,12,255,36,64,27,250,249,10,55,43,17,1,1,8,1,1,6,245,74,53,247,244,55,76,244,8,253,3,93,27,252,26,39,59,3,248,2,0,77, 11,9,248,22,44,250,7,40,9,26,3,9,249,20,101,249,4,3,248,42,26,0,241,33,68,2,23,254,55,46,254,15,3,255,21,16,41,250,27,61,39,5,245,42,88,4,1,254,60,65,6,252,255,251,73,56,1,247,19,94,29,247,0,12,99,6,4,8,237,102,46,243,3,2,13,3,2,9,235,84,72,238,245,46,104,234,8,18,38,48,23,0,240,70,83,235,11,5,245,117,22,248,250,23,117,244,3,3,248,95,28,4,246,15,77,60,241,255,4,124,2,252,3,38,84,24,231,2,13,42,13,31,21,252,56,46,255,255,35,79,243,19,249,65,88,247,242,20,4,81,49,227,20,0,75,3,239,5,247,44,92,248,1, 253,22,69,31,250,95,41,244,5,39,67,16,252,1,0,250,120,55,220,243,44,122,4,232,81,5,11,3,7,2,0,9,10,88,46,2,90,87,93,91,82,98,109,120,118,12,113,115,117,119,99,59,87,111,63,111,112,80,126,124,125,124,129,121,126,23,132,127,127,127,126,127,122,133,130,134,101,118,119,145,126,86,124,120,123,119,170,173,107,109,8,16,32,12,35,60,83,108,132,157,180,206,228,15,32,55,77,101,125,151,175,201,225,19,42,66,89,114,137,162,184,209,230,12,25,50,72,97,120,147,172,200,223,26,44,69,90,114,135,159,180,205,225,13,22, 53,80,106,130,156,180,205,228,15,25,44,64,90,115,142,168,196,222,19,24,62,82,100,120,145,168,190,214,22,31,50,79,103,120,151,170,203,227,21,29,45,65,106,124,150,171,196,224,30,49,75,97,121,142,165,186,209,229,19,25,52,70,93,116,143,166,192,219,26,34,62,75,97,118,145,167,194,217,25,33,56,70,91,113,143,165,196,223,21,34,51,72,97,117,145,171,196,222,20,29,50,67,90,117,144,168,197,221,22,31,48,66,95,117,146,168,196,222,24,33,51,77,116,134,158,180,200,224,21,28,70,87,106,124,149,170,194,217,26,33,53,64, 83,117,152,173,204,225,27,34,65,95,108,129,155,174,210,225,20,26,72,99,113,131,154,176,200,219,34,43,61,78,93,114,155,177,205,229,23,29,54,97,124,138,163,179,209,229,30,38,56,89,118,129,158,178,200,231,21,29,49,63,85,111,142,163,193,222,27,48,77,103,133,158,179,196,215,232,29,47,74,99,124,151,176,198,220,237,33,42,61,76,93,121,155,174,207,225,29,53,87,112,136,154,170,188,208,227,24,30,52,84,131,150,166,186,203,229,37,48,64,84,104,118,156,177,201,230,212,178,148,129,108,96,85,82,79,77,61,59,57,56, 51,49,48,45,42,41,40,38,36,34,31,30,21,12,10,3,1,0,255,245,244,236,233,225,217,203,190,176,175,161,149,136,125,114,102,91,81,71,60,52,43,35,28,20,19,18,12,11,5,0,179,138,140,148,151,149,153,151,163,116,67,82,59,92,72,100,89,92,16,0,0,0,0,99,66,36,36,34,36,34,34,34,34,83,69,36,52,34,116,102,70,68,68,176,102,68,68,34,65,85,68,84,36,116,141,152,139,170,132,187,184,216,137,132,249,168,185,139,104,102,100,68,68,178,218,185,185,170,244,216,187,187,170,244,187,187,219,138,103,155,184,185,137,116,183,155, 152,136,132,217,184,184,170,164,217,171,155,139,244,169,184,185,170,164,216,223,218,138,214,143,188,218,168,244,141,136,155,170,168,138,220,219,139,164,219,202,216,137,168,186,246,185,139,116,185,219,185,138,100,100,134,100,102,34,68,68,100,68,168,203,221,218,168,167,154,136,104,70,164,246,171,137,139,137,155,218,219,139,255,254,253,238,14,3,2,1,0,255,254,252,218,35,3,2,1,0,255,254,250,208,59,4,2,1,0,255,254,246,194,71,10,2,1,0,255,252,236,183,82,8,2,1,0,255,252,235,180,90,17,2,1,0,255,248,224,171, 97,30,4,1,0,255,254,236,173,95,37,7,1,0,255,255,255,131,6,145,255,255,255,255,255,236,93,15,96,255,255,255,255,255,194,83,25,71,221,255,255,255,255,162,73,34,66,162,255,255,255,210,126,73,43,57,173,255,255,255,201,125,71,48,58,130,255,255,255,166,110,73,57,62,104,210,255,255,251,123,65,55,68,100,171,255,7,23,38,54,69,85,100,116,131,147,162,178,193,208,223,239,13,25,41,55,69,83,98,112,127,142,157,171,187,203,220,236,15,21,34,51,61,78,92,106,126,136,152,167,185,205,225,240,10,21,36,50,63,79,95,110, 126,141,157,173,189,205,221,237,17,20,37,51,59,78,89,107,123,134,150,164,184,205,224,240,10,15,32,51,67,81,96,112,129,142,158,173,189,204,220,236,8,21,37,51,65,79,98,113,126,138,155,168,179,192,209,218,12,15,34,55,63,78,87,108,118,131,148,167,185,203,219,236,16,19,32,36,56,79,91,108,118,136,154,171,186,204,220,237,11,28,43,58,74,89,105,120,135,150,165,180,196,211,226,241,6,16,33,46,60,75,92,107,123,137,156,169,185,199,214,225,11,19,30,44,57,74,89,105,121,135,152,169,186,202,218,234,12,19,29,46,57, 71,88,100,120,132,148,165,182,199,216,233,17,23,35,46,56,77,92,106,123,134,152,167,185,204,222,237,14,17,45,53,63,75,89,107,115,132,151,171,188,206,221,240,9,16,29,40,56,71,88,103,119,137,154,171,189,205,222,237,16,19,36,48,57,76,87,105,118,132,150,167,185,202,218,236,12,17,29,54,71,81,94,104,126,136,149,164,182,201,221,237,15,28,47,62,79,97,115,129,142,155,168,180,194,208,223,238,8,14,30,45,62,78,94,111,127,143,159,175,192,207,223,239,17,30,49,62,79,92,107,119,132,145,160,174,190,204,220,235,14, 19,36,45,61,76,91,108,121,138,154,172,189,205,222,238,12,18,31,45,60,76,91,107,123,138,154,171,187,204,221,236,13,17,31,43,53,70,83,103,114,131,149,167,185,203,220,237,17,22,35,42,58,78,93,110,125,139,155,170,188,206,224,240,8,15,34,50,67,83,99,115,131,146,162,178,193,209,224,239,13,16,41,66,73,86,95,111,128,137,150,163,183,206,225,241,17,25,37,52,63,75,92,102,119,132,144,160,175,191,212,231,19,31,49,65,83,100,117,133,147,161,174,187,200,213,227,242,18,31,52,68,88,103,117,126,138,149,163,177,192, 207,223,239,16,29,47,61,76,90,106,119,133,147,161,176,193,209,224,240,15,21,35,50,61,73,86,97,110,119,129,141,175,198,218,237,225,204,201,184,183,175,158,154,153,135,119,115,113,110,109,99,98,95,79,68,52,50,48,45,43,32,31,27,18,10,3,0,255,251,235,230,212,201,196,182,167,166,163,151,138,124,110,104,90,78,76,70,69,57,45,34,24,21,11,6,5,4,3,0,175,148,160,176,178,173,174,164,177,174,196,182,198,192,182,68,62,66,60,72,117,85,90,118,136,151,142,160,142,155,0,0,0,0,0,0,0,1,100,102,102,68,68,36,34,96,164, 107,158,185,180,185,139,102,64,66,36,34,34,0,1,32,208,139,141,191,152,185,155,104,96,171,104,166,102,102,102,132,1,0,0,0,0,16,16,0,80,109,78,107,185,139,103,101,208,212,141,139,173,153,123,103,36,0,0,0,0,0,0,1,48,0,0,0,0,0,0,32,68,135,123,119,119,103,69,98,68,103,120,118,118,102,71,98,134,136,157,184,182,153,139,134,208,168,248,75,189,143,121,107,32,49,34,34,34,0,17,2,210,235,139,123,185,137,105,134,98,135,104,182,100,183,171,134,100,70,68,70,66,66,34,131,64,166,102,68,36,2,1,0,134,166,102,68,34, 34,66,132,212,246,158,139,107,107,87,102,100,219,125,122,137,118,103,132,114,135,137,105,171,106,50,34,164,214,141,143,185,151,121,103,192,34,0,0,0,0,0,1,208,109,74,187,134,249,159,137,102,110,154,118,87,101,119,101,0,2,0,36,36,66,68,35,96,164,102,100,36,0,2,33,167,138,174,102,100,84,2,2,100,107,120,119,36,197,24,0,255,254,253,244,12,3,2,1,0,255,254,252,224,38,3,2,1,0,255,254,251,209,57,4,2,1,0,255,254,244,195,69,4,2,1,0,255,251,232,184,84,7,2,1,0,255,254,240,186,86,14,2,1,0,255,254,239,178,91,30, 5,1,0,255,248,227,177,100,19,2,1,0,255,255,255,156,4,154,255,255,255,255,255,227,102,15,92,255,255,255,255,255,213,83,24,72,236,255,255,255,255,150,76,33,63,214,255,255,255,190,121,77,43,55,185,255,255,255,245,137,71,43,59,139,255,255,255,255,131,66,50,66,107,194,255,255,166,116,76,55,53,125,255,255,249,247,246,245,244,234,210,202,201,200,197,174,82,59,56,55,54,46,22,12,11,10,9,7,0,64,0,203,150,0,215,195,166,125,110,82,0,120,0,128,64,0,232,158,10,0,230,0,243,221,192,181,0,171,85,0,192,128,64,0,205, 154,102,51,0,213,171,128,85,43,0,224,192,160,128,96,64,32,0,100,40,16,7,3,1,0,253,250,244,233,212,182,150,131,120,110,98,85,72,60,49,40,32,25,19,15,13,11,9,8,7,6,5,4,3,2,1,0,210,208,206,203,199,193,183,168,142,104,74,52,37,27,20,14,10,6,4,2,0,223,201,183,167,152,138,124,111,98,88,79,70,62,56,50,44,39,35,31,27,24,21,18,16,14,12,10,8,6,4,3,2,1,0,188,176,155,138,119,97,67,43,26,10,0,165,119,80,61,47,35,27,20,14,9,4,0,113,63,0,8,10,12,16,125,51,26,18,15,12,11,10,9,8,7,6,5,4,3,2,1,0,198,105,45,22,15,12, 11,10,9,8,7,6,5,4,3,2,1,0,213,162,116,83,59,43,32,24,18,15,12,9,7,6,5,3,2,0,239,187,116,59,28,16,11,10,9,8,7,6,5,4,3,2,1,0,250,229,188,135,86,51,30,19,13,10,8,6,5,4,3,2,1,0,249,235,213,185,156,128,103,83,66,53,42,33,26,21,17,13,10,0,254,249,235,206,164,118,77,46,27,16,10,7,5,4,3,2,1,0,255,253,249,239,220,191,156,119,85,57,37,23,15,10,6,4,2,0,255,253,251,246,237,223,203,179,152,124,98,75,55,40,29,21,15,0,255,254,253,247,220,162,106,67,42,28,18,12,9,6,4,3,2,0,31,57,107,160,205,205,255,255,255,255,255, 255,255,255,255,255,255,255,69,47,67,111,166,205,255,255,255,255,255,255,255,255,255,255,255,255,82,74,79,95,109,128,145,160,173,205,205,205,224,255,255,224,255,224,125,74,59,69,97,141,182,255,255,255,255,255,255,255,255,255,255,255,173,115,85,73,76,92,115,145,173,205,224,224,255,255,255,255,255,255,166,134,113,102,101,102,107,118,125,138,145,155,166,182,192,192,205,150,224,182,134,101,83,79,85,97,120,145,173,205,224,255,255,255,255,255,255,224,192,150,120,101,92,89,93,102,118,134,160,182,192,224, 224,224,255,224,224,182,155,134,118,109,104,102,106,111,118,131,145,160,173,131,241,190,178,132,87,74,41,14,0,223,193,157,140,106,57,39,18,0,131,74,141,79,80,138,95,104,134,95,99,91,125,93,76,123,115,123,128,0,214,42,0,235,128,21,0,244,184,72,11,0,248,214,128,42,7,0,248,225,170,80,25,5,0,251,236,198,126,54,18,3,0,250,238,211,159,82,35,15,5,0,250,231,203,168,128,88,53,25,6,0,252,238,216,185,148,108,71,40,18,4,0,253,243,225,199,166,128,90,57,31,13,3,0,254,246,233,212,183,147,109,73,44,23,10,2,0,255, 250,240,223,198,166,128,90,58,33,16,6,1,0,255,251,244,231,210,181,146,110,75,46,25,12,5,1,0,255,253,248,238,221,196,164,128,92,60,35,18,8,3,1,0,255,253,249,242,229,208,180,146,110,76,48,27,14,7,3,1,0,129,0,207,50,0,236,129,20,0,245,185,72,10,0,249,213,129,42,6,0,250,226,169,87,27,4,0,251,233,194,130,62,20,4,0,250,236,207,160,99,47,17,3,0,255,240,217,182,131,81,41,11,1,0,255,254,233,201,159,107,61,20,2,1,0,255,249,233,206,170,128,86,50,23,7,1,0,255,250,238,217,186,148,108,70,39,18,6,1,0,255,252,243, 226,200,166,128,90,56,30,13,4,1,0,255,252,245,231,209,180,146,110,76,47,25,11,4,1,0,255,253,248,237,219,194,163,128,93,62,37,19,8,3,1,0,255,254,250,241,226,205,177,145,111,79,51,30,15,6,2,1,0,129,0,203,54,0,234,129,23,0,245,184,73,10,0,250,215,129,41,5,0,252,232,173,86,24,3,0,253,240,200,129,56,15,2,0,253,244,217,164,94,38,10,1,0,253,245,226,189,132,71,27,7,1,0,253,246,231,203,159,105,56,23,6,1,0,255,248,235,213,179,133,85,47,19,5,1,0,255,254,243,221,194,159,117,70,37,12,2,1,0,255,254,248,234,208, 171,128,85,48,22,8,2,1,0,255,254,250,240,220,189,149,107,67,36,16,6,2,1,0,255,254,251,243,227,201,166,128,90,55,29,13,5,2,1,0,255,254,252,246,234,213,183,147,109,73,43,22,10,4,2,1,0,130,0,200,58,0,231,130,26,0,244,184,76,12,0,249,214,130,43,6,0,252,232,173,87,24,3,0,253,241,203,131,56,14,2,0,254,246,221,167,94,35,8,1,0,254,249,232,193,130,65,23,5,1,0,255,251,239,211,162,99,45,15,4,1,0,255,251,243,223,186,131,74,33,11,3,1,0,255,252,245,230,202,158,105,57,24,8,2,1,0,255,253,247,235,214,179,132,84,44, 19,7,2,1,0,255,254,250,240,223,196,159,112,69,36,15,6,2,1,0,255,254,253,245,231,209,176,136,93,55,27,11,3,2,1,0,255,254,253,252,239,221,194,158,117,76,42,18,4,3,2,1,0,0,0,2,5,9,14,20,27,35,44,54,65,77,90,104,119,135,254,49,67,77,82,93,99,198,11,18,24,31,36,45,255,46,66,78,87,94,104,208,14,21,32,42,51,66,255,94,104,109,112,115,118,248,53,69,80,88,95,102,0,15,8,7,4,11,12,3,2,13,10,5,6,9,14,1,0,9,6,3,4,5,8,1,2,7,0,1,0,0,0,1,0,0,1,255,1,255,2,254,2,254,3,253,0,1,0,1,255,2,255,2,254,3,254,3,253,7,254, 7,0,2,255,255,255,0,0,1,1,0,1,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,255,2,1,0,1,1,0,0,255,255,0,0,1,255,0,1,255,0,255,1,254,2,254,254,2,253,2,3,253,252,3,252,4,4,251,5,250,251,6,249,6,5,8,247,0,0,1,0,0,0,0,0,0,0,255,1,0,0,1,255,0,1,255,255,1,255,2,1,255,2,254,254,2,254,2,2,3,253,0,1,0,0,0,0,0,0,1,0,1,0,0,1,255,1,0,0,2,1,255,2,255,255,2,255,2,2,255,3,254,254,254,3,0,1,0,0,1,0,1,255,2,255,2,255,2,3,254,3,254,254,4,4,253,5,253,252,6,252,6,5,251,8,250,251,249,9,251,8,255,6,255,6,252,10,250,10, 254,6,255,6,251,10,247,12,253,7,254,7,249,13,16,24,34,6,0,3,0,7,3,0,1,10,0,2,6,18,10,12,4,0,2,0,0,0,9,4,7,4,0,3,12,7,7,255,255],"i8",4,y.h+20480);var Na=z,z=z+16;function Oa(a){b.___errno_location&&(M[b.___errno_location()>>2]=a);return a}b._i64Add=Pa;b._bitshift64Ashr=Qa;b._memset=Ra;b._memcpy=Sa;var Ta=ha;function S(a){S.a||(E=wa(),S.a=!0,assert(y.b),S.u=y.b,y.b=function(){G("cannot dynamically allocate, sbrk now has control")});var c=E;return 0==a||S.u(a)?c:4294967295} function Y(){Y.a||(Y.a=[]);Y.a.push(y.g());return Y.a.length-1}b._memmove=Ua; var Aa=x=y.p(z),na=!0,Ba=Aa+Ca,E=y.p(Ba),Va=O([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1, 0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",3);b.s={Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array,NaN:NaN,Infinity:Infinity}; b.t={abort:G,assert:assert,invoke_viiiiiii:function(a,c,d,e,g,k,h,A){try{b.dynCall_viiiiiii(a,c,d,e,g,k,h,A)}catch(m){if("number"!==typeof m&&"longjmp"!==m)throw m;Z.setThrew(1,0)}},_llvm_pow_f64:La,_pthread_self:function(){return 0},_abort:function(){b.abort()},___setErrNo:Oa,_llvm_stacksave:Y,_sbrk:S,_time:function(a){var c=Date.now()/1E3|0;a&&(M[a>>2]=c);return c},_llvm_fabs_f64:Ta,_emscripten_memcpy_big:function(a,c,d){R.set(R.subarray(c,c+d),a);return a},_llvm_stackrestore:function(a){var c= Y.a[a];Y.a.splice(a,1);y.c(c)},_sysconf:function(a){switch(a){case 30:return 4096;case 85:return U/4096;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1; case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1E3;case 89:return 700;case 71:return 256; case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return"object"===typeof navigator?navigator.hardwareConcurrency||1:1}Oa(22);return-1},STACKTOP:x,STACK_MAX:Ba,tempDoublePtr:Na,ABORT:H,cttz_i8:Va};// EMSCRIPTEN_START_ASM var Z=(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.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|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,y=0,z=0,A=0,B=0.0;var C=0;var D=0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=global.Math.floor;var N=global.Math.abs;var O=global.Math.sqrt;var P=global.Math.pow;var Q=global.Math.cos;var R=global.Math.sin;var S=global.Math.tan;var T=global.Math.acos;var U=global.Math.asin;var V=global.Math.atan;var W=global.Math.atan2;var X=global.Math.exp;var Y=global.Math.log;var Z=global.Math.ceil;var _=global.Math.imul;var $=global.Math.min;var aa=global.Math.clz32;var ba=env.abort;var ca=env.assert;var da=env.invoke_viiiiiii;var ea=env._llvm_pow_f64;var fa=env._pthread_self;var ga=env._abort;var ha=env.___setErrNo;var ia=env._llvm_stacksave;var ja=env._sbrk;var ka=env._time;var la=env._llvm_fabs_f64;var ma=env._emscripten_memcpy_big;var na=env._llvm_stackrestore;var oa=env._sysconf;var pa=0.0; // EMSCRIPTEN_START_FUNCS function Lb(a,d,e,f,h,j,k){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;var l=0,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,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ja=0,ka=0,la=0,ma=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0;ta=i;i=i+304|0;X=ta+288|0;Y=ta+284|0;l=ta+280|0;Z=ta+276|0;$=ta+272|0;aa=ta+268|0;ba=ta+264|0;ca=ta+260|0;ha=ta+256|0;ka=ta+252|0;ga=ta+248|0;M=ta+244|0;B=ta+240|0;n=ta+192|0;C=ta+184|0;ra=ta+176|0;ua=ta+168|0;oa=ta+164|0;pa=ta+160|0;qa=ta+156|0;V=ta+152|0;K=ta+148|0;Q=ta+144|0;q=ta+140|0;fa=ta+136|0;O=ta+132|0;P=ta+128|0;sa=ta+124|0;ja=ta+120|0;I=ta+116|0;G=ta+112|0;A=ta+108|0;T=ta+104|0;S=ta+100|0;J=ta+96|0;H=ta+92|0;z=ta+88|0;F=ta+84|0;y=ta+80|0;s=ta+76|0;U=ta+72|0;E=ta+68|0;D=ta+64|0;L=ta+60|0;N=ta+56|0;la=ta+52|0;ma=ta+48|0;R=ta+44|0;u=ta+40|0;p=ta+36|0;o=ta+32|0;da=ta+28|0;x=ta+24|0;w=ta+20|0;t=ta+16|0;r=ta+12|0;v=ta+8|0;W=ta+4|0;ea=ta;c[Y>>2]=a;c[l>>2]=d;c[Z>>2]=e;c[$>>2]=f;c[aa>>2]=h;c[ba>>2]=j;c[ca>>2]=k;c[fa>>2]=c[(c[Y>>2]|0)+8>>2];c[J>>2]=0;c[H>>2]=0;c[D>>2]=0;c[N>>2]=c[(c[Y>>2]|0)+12>>2];c[la>>2]=c[c[Y>>2]>>2];c[ma>>2]=c[(c[la>>2]|0)+8>>2];c[R>>2]=c[(c[la>>2]|0)+4>>2];c[u>>2]=c[(c[la>>2]|0)+32>>2];c[sa>>2]=c[(c[Y>>2]|0)+20>>2];c[ja>>2]=c[(c[Y>>2]|0)+24>>2];c[aa>>2]=_(c[aa>>2]|0,c[(c[Y>>2]|0)+16>>2]|0)|0;c[ua>>2]=(c[Y>>2]|0)+84+((_(2048+(c[R>>2]|0)|0,c[fa>>2]|0)|0)<<2);c[oa>>2]=(c[ua>>2]|0)+((c[fa>>2]|0)*24<<2);c[pa>>2]=(c[oa>>2]|0)+(c[ma>>2]<<1<<2);c[qa>>2]=(c[pa>>2]|0)+(c[ma>>2]<<1<<2);c[V>>2]=(c[qa>>2]|0)+(c[ma>>2]<<1<<2);c[O>>2]=0;while(1){if((c[O>>2]|0)>(c[(c[la>>2]|0)+36>>2]|0))break;if((c[(c[la>>2]|0)+44>>2]<>2]|0)==(c[aa>>2]|0))break;c[O>>2]=(c[O>>2]|0)+1}if((c[O>>2]|0)>(c[(c[la>>2]|0)+36>>2]|0)){c[X>>2]=-1;ua=c[X>>2]|0;i=ta;return ua|0}c[P>>2]=1<>2];if((c[Z>>2]|0)<0|(c[Z>>2]|0)>1275|(c[$>>2]|0)==0){c[X>>2]=-1;ua=c[X>>2]|0;i=ta;return ua|0}c[ga>>2]=_(c[P>>2]|0,c[(c[la>>2]|0)+44>>2]|0)|0;c[ha>>2]=0;do{ua=(c[Y>>2]|0)+84+((_(c[ha>>2]|0,2048+(c[R>>2]|0)|0)|0)<<2)|0;c[C+(c[ha>>2]<<2)>>2]=ua;c[ra+(c[ha>>2]<<2)>>2]=(c[C+(c[ha>>2]<<2)>>2]|0)+8192+(0-(c[ga>>2]|0)<<2);ua=(c[ha>>2]|0)+1|0;c[ha>>2]=ua}while((ua|0)<(c[fa>>2]|0));c[I>>2]=c[ja>>2];if((c[I>>2]|0)>(c[(c[la>>2]|0)+12>>2]|0))c[I>>2]=c[(c[la>>2]|0)+12>>2];if((c[l>>2]|0)==0|(c[Z>>2]|0)<=1){Mb(c[Y>>2]|0,c[ga>>2]|0,c[O>>2]|0);Pb(ra,c[$>>2]|0,c[ga>>2]|0,c[fa>>2]|0,c[(c[Y>>2]|0)+16>>2]|0,(c[la>>2]|0)+16|0,(c[Y>>2]|0)+76|0,c[ca>>2]|0);c[X>>2]=(c[aa>>2]|0)/(c[(c[Y>>2]|0)+16>>2]|0)|0;ua=c[X>>2]|0;i=ta;return ua|0}if(!(c[ba>>2]|0)){Yb(n,c[l>>2]|0,c[Z>>2]|0);c[ba>>2]=n}a:do if((c[N>>2]|0)==1){c[ka>>2]=0;while(1){if((c[ka>>2]|0)>=(c[ma>>2]|0))break a;if(+g[(c[oa>>2]|0)+(c[ka>>2]<<2)>>2]>+g[(c[oa>>2]|0)+((c[ma>>2]|0)+(c[ka>>2]|0)<<2)>>2])m=+g[(c[oa>>2]|0)+(c[ka>>2]<<2)>>2];else m=+g[(c[oa>>2]|0)+((c[ma>>2]|0)+(c[ka>>2]|0)<<2)>>2];g[(c[oa>>2]|0)+(c[ka>>2]<<2)>>2]=m;c[ka>>2]=(c[ka>>2]|0)+1}}while(0);c[z>>2]=c[Z>>2]<<3;c[y>>2]=Qb(c[ba>>2]|0)|0;do if((c[y>>2]|0)<(c[z>>2]|0))if((c[y>>2]|0)==1){c[L>>2]=dc(c[ba>>2]|0,15)|0;break}else{c[L>>2]=0;break}else c[L>>2]=1;while(0);if(c[L>>2]|0){c[y>>2]=c[Z>>2]<<3;a=c[y>>2]|0;a=a-(Qb(c[ba>>2]|0)|0)|0;ua=(c[ba>>2]|0)+20|0;c[ua>>2]=(c[ua>>2]|0)+a}g[S>>2]=0.0;c[T>>2]=0;c[U>>2]=0;if((c[sa>>2]|0)==0?((c[y>>2]|0)+16|0)<=(c[z>>2]|0):0){if(dc(c[ba>>2]|0,1)|0){c[o>>2]=fc(c[ba>>2]|0,6)|0;ua=16<>2];c[T>>2]=ua+(gc(c[ba>>2]|0,4+(c[o>>2]|0)|0)|0)-1;c[p>>2]=gc(c[ba>>2]|0,3)|0;ua=(Qb(c[ba>>2]|0)|0)+2|0;if((ua|0)<=(c[z>>2]|0))c[U>>2]=ec(c[ba>>2]|0,25575,2)|0;g[S>>2]=+((c[p>>2]|0)+1|0)*.09375}c[y>>2]=Qb(c[ba>>2]|0)|0}if((c[O>>2]|0)>0?((c[y>>2]|0)+3|0)<=(c[z>>2]|0):0){c[Q>>2]=dc(c[ba>>2]|0,3)|0;c[y>>2]=Qb(c[ba>>2]|0)|0}else c[Q>>2]=0;if(c[Q>>2]|0)c[K>>2]=c[P>>2];else c[K>>2]=0;if(((c[y>>2]|0)+3|0)<=(c[z>>2]|0))l=dc(c[ba>>2]|0,3)|0;else l=0;c[q>>2]=l;fd(c[la>>2]|0,c[sa>>2]|0,c[ja>>2]|0,c[oa>>2]|0,c[q>>2]|0,c[ba>>2]|0,c[N>>2]|0,c[O>>2]|0);ua=c[ma>>2]|0;c[da>>2]=ia()|0;e=i;i=i+((1*(ua<<2)|0)+15&-16)|0;Rb(c[sa>>2]|0,c[ja>>2]|0,c[Q>>2]|0,e,c[O>>2]|0,c[ba>>2]|0);c[y>>2]=Qb(c[ba>>2]|0)|0;c[M>>2]=2;if(((c[y>>2]|0)+4|0)<=(c[z>>2]|0))c[M>>2]=ec(c[ba>>2]|0,25578,5)|0;n=i;i=i+((1*(c[ma>>2]<<2)|0)+15&-16)|0;eb(c[la>>2]|0,n,c[O>>2]|0,c[N>>2]|0);h=i;i=i+((1*(c[ma>>2]<<2)|0)+15&-16)|0;c[s>>2]=6;c[z>>2]=c[z>>2]<<3;c[y>>2]=Xb(c[ba>>2]|0)|0;c[ka>>2]=c[sa>>2];while(1){if((c[ka>>2]|0)>=(c[ja>>2]|0))break;l=_(c[N>>2]|0,(b[(c[u>>2]|0)+((c[ka>>2]|0)+1<<1)>>1]|0)-(b[(c[u>>2]|0)+(c[ka>>2]<<1)>>1]|0)|0)|0;c[x>>2]=l<>2];l=c[x>>2]|0;if((c[x>>2]<<3|0)<((48>(c[x>>2]|0)?48:c[x>>2]|0)|0))l=l<<3;else l=48>(l|0)?48:c[x>>2]|0;c[w>>2]=l;c[t>>2]=c[s>>2];c[r>>2]=0;while(1){if(((c[y>>2]|0)+(c[t>>2]<<3)|0)>=(c[z>>2]|0))break;if((c[r>>2]|0)>=(c[n+(c[ka>>2]<<2)>>2]|0))break;c[v>>2]=dc(c[ba>>2]|0,c[t>>2]|0)|0;c[y>>2]=Xb(c[ba>>2]|0)|0;if(!(c[v>>2]|0))break;c[r>>2]=(c[r>>2]|0)+(c[w>>2]|0);c[z>>2]=(c[z>>2]|0)-(c[w>>2]|0);c[t>>2]=1}c[h+(c[ka>>2]<<2)>>2]=c[r>>2];if((c[r>>2]|0)>0)c[s>>2]=2>((c[s>>2]|0)-1|0)?2:(c[s>>2]|0)-1|0;c[ka>>2]=(c[ka>>2]|0)+1}j=i;i=i+((1*(c[ma>>2]<<2)|0)+15&-16)|0;if(((c[y>>2]|0)+48|0)<=(c[z>>2]|0))l=ec(c[ba>>2]|0,25582,7)|0;else l=5;c[A>>2]=l;ua=c[Z>>2]<<3<<3;c[B>>2]=ua-(Xb(c[ba>>2]|0)|0)-1;if((c[Q>>2]|0)!=0&(c[O>>2]|0)>=2)l=(c[B>>2]|0)>=((c[O>>2]|0)+2<<3|0);else l=0;c[E>>2]=l?8:0;c[B>>2]=(c[B>>2]|0)-(c[E>>2]|0);k=i;i=i+((1*(c[ma>>2]<<2)|0)+15&-16)|0;d=i;i=i+((1*(c[ma>>2]<<2)|0)+15&-16)|0;c[G>>2]=jd(c[la>>2]|0,c[sa>>2]|0,c[ja>>2]|0,h,n,c[A>>2]|0,J,H,c[B>>2]|0,F,k,j,d,c[N>>2]|0,c[O>>2]|0,c[ba>>2]|0,0,0,0)|0;gd(c[la>>2]|0,c[sa>>2]|0,c[ja>>2]|0,c[oa>>2]|0,j,c[ba>>2]|0,c[N>>2]|0);c[ha>>2]=0;do{qj(c[C+(c[ha>>2]<<2)>>2]|0,(c[C+(c[ha>>2]<<2)>>2]|0)+(c[ga>>2]<<2)|0,(2048-(c[ga>>2]|0)+((c[R>>2]|0)/2|0)<<2)+0|0)|0;ua=(c[ha>>2]|0)+1|0;c[ha>>2]=ua}while((ua|0)<(c[fa>>2]|0));ua=_(c[N>>2]|0,c[ma>>2]|0)|0;l=i;i=i+((1*ua|0)+15&-16)|0;ua=(_(c[N>>2]|0,c[ga>>2]|0)|0)<<2;n=i;i=i+((1*ua|0)+15&-16)|0;Ka(0,c[la>>2]|0,c[sa>>2]|0,c[ja>>2]|0,n,(c[N>>2]|0)==2?n+(c[ga>>2]<<2)|0:0,l,0,k,c[K>>2]|0,c[M>>2]|0,c[H>>2]|0,c[J>>2]|0,e,(c[Z>>2]<<6)-(c[E>>2]|0)|0,c[F>>2]|0,c[ba>>2]|0,c[O>>2]|0,c[G>>2]|0,(c[Y>>2]|0)+36|0,c[(c[Y>>2]|0)+32>>2]|0);if((c[E>>2]|0)>0)c[D>>2]=gc(c[ba>>2]|0,1)|0;H=c[la>>2]|0;J=c[sa>>2]|0;K=c[ja>>2]|0;M=c[oa>>2]|0;ua=c[Z>>2]<<3;ua=ua-(Qb(c[ba>>2]|0)|0)|0;hd(H,J,K,M,j,d,ua,c[ba>>2]|0,c[N>>2]|0);if(c[D>>2]|0)Ga(c[la>>2]|0,n,l,c[O>>2]|0,c[N>>2]|0,c[ga>>2]|0,c[sa>>2]|0,c[ja>>2]|0,c[oa>>2]|0,c[pa>>2]|0,c[qa>>2]|0,k,c[(c[Y>>2]|0)+36>>2]|0,c[(c[Y>>2]|0)+32>>2]|0);b:do if(c[L>>2]|0){c[ka>>2]=0;while(1){if((c[ka>>2]|0)>=(_(c[N>>2]|0,c[ma>>2]|0)|0))break b;g[(c[oa>>2]|0)+(c[ka>>2]<<2)>>2]=-28.0;c[ka>>2]=(c[ka>>2]|0)+1}}while(0);Nb(c[la>>2]|0,n,ra,c[oa>>2]|0,c[sa>>2]|0,c[I>>2]|0,c[N>>2]|0,c[fa>>2]|0,c[Q>>2]|0,c[O>>2]|0,c[(c[Y>>2]|0)+16>>2]|0,c[L>>2]|0,c[(c[Y>>2]|0)+32>>2]|0);c[ha>>2]=0;do{if((c[(c[Y>>2]|0)+52>>2]|0)>15)l=c[(c[Y>>2]|0)+52>>2]|0;else l=15;c[(c[Y>>2]|0)+52>>2]=l;if((c[(c[Y>>2]|0)+56>>2]|0)>15)l=c[(c[Y>>2]|0)+56>>2]|0;else l=15;c[(c[Y>>2]|0)+56>>2]=l;cb(c[ra+(c[ha>>2]<<2)>>2]|0,c[ra+(c[ha>>2]<<2)>>2]|0,c[(c[Y>>2]|0)+56>>2]|0,c[(c[Y>>2]|0)+52>>2]|0,c[(c[la>>2]|0)+44>>2]|0,+g[(c[Y>>2]|0)+64>>2],+g[(c[Y>>2]|0)+60>>2],c[(c[Y>>2]|0)+72>>2]|0,c[(c[Y>>2]|0)+68>>2]|0,c[(c[la>>2]|0)+60>>2]|0,c[R>>2]|0,c[(c[Y>>2]|0)+32>>2]|0);if(c[O>>2]|0)cb((c[ra+(c[ha>>2]<<2)>>2]|0)+(c[(c[la>>2]|0)+44>>2]<<2)|0,(c[ra+(c[ha>>2]<<2)>>2]|0)+(c[(c[la>>2]|0)+44>>2]<<2)|0,c[(c[Y>>2]|0)+52>>2]|0,c[T>>2]|0,(c[ga>>2]|0)-(c[(c[la>>2]|0)+44>>2]|0)|0,+g[(c[Y>>2]|0)+60>>2],+g[S>>2],c[(c[Y>>2]|0)+68>>2]|0,c[U>>2]|0,c[(c[la>>2]|0)+60>>2]|0,c[R>>2]|0,c[(c[Y>>2]|0)+32>>2]|0);ua=(c[ha>>2]|0)+1|0;c[ha>>2]=ua}while((ua|0)<(c[fa>>2]|0));c[(c[Y>>2]|0)+56>>2]=c[(c[Y>>2]|0)+52>>2];g[(c[Y>>2]|0)+64>>2]=+g[(c[Y>>2]|0)+60>>2];c[(c[Y>>2]|0)+72>>2]=c[(c[Y>>2]|0)+68>>2];c[(c[Y>>2]|0)+52>>2]=c[T>>2];g[(c[Y>>2]|0)+60>>2]=+g[S>>2];c[(c[Y>>2]|0)+68>>2]=c[U>>2];if(c[O>>2]|0){c[(c[Y>>2]|0)+56>>2]=c[(c[Y>>2]|0)+52>>2];g[(c[Y>>2]|0)+64>>2]=+g[(c[Y>>2]|0)+60>>2];c[(c[Y>>2]|0)+72>>2]=c[(c[Y>>2]|0)+68>>2]}if((c[N>>2]|0)==1)pj((c[oa>>2]|0)+(c[ma>>2]<<2)|0,c[oa>>2]|0,(c[ma>>2]<<2)+0|0)|0;c:do if(c[Q>>2]|0){c[ka>>2]=0;while(1){if((c[ka>>2]|0)>=(c[ma>>2]<<1|0))break c;l=c[ka>>2]|0;if(+g[(c[pa>>2]|0)+(c[ka>>2]<<2)>>2]<+g[(c[oa>>2]|0)+(c[ka>>2]<<2)>>2])m=+g[(c[pa>>2]|0)+(l<<2)>>2];else m=+g[(c[oa>>2]|0)+(l<<2)>>2];g[(c[pa>>2]|0)+(c[ka>>2]<<2)>>2]=m;c[ka>>2]=(c[ka>>2]|0)+1}}else{pj(c[qa>>2]|0,c[pa>>2]|0,(c[ma>>2]<<1<<2)+0|0)|0;pj(c[pa>>2]|0,c[oa>>2]|0,(c[ma>>2]<<1<<2)+0|0)|0;if((c[(c[Y>>2]|0)+48>>2]|0)<10)g[W>>2]=+(c[P>>2]|0)*1.0000000474974513e-03;else g[W>>2]=1.0;c[ka>>2]=0;while(1){if((c[ka>>2]|0)>=(c[ma>>2]<<1|0))break c;l=c[ka>>2]|0;if(+g[(c[V>>2]|0)+(c[ka>>2]<<2)>>2]+ +g[W>>2]<+g[(c[oa>>2]|0)+(c[ka>>2]<<2)>>2])m=+g[(c[V>>2]|0)+(l<<2)>>2]+ +g[W>>2];else m=+g[(c[oa>>2]|0)+(l<<2)>>2];g[(c[V>>2]|0)+(c[ka>>2]<<2)>>2]=m;c[ka>>2]=(c[ka>>2]|0)+1}}while(0);c[ha>>2]=0;do{c[ka>>2]=0;while(1){if((c[ka>>2]|0)>=(c[sa>>2]|0))break;ua=_(c[ha>>2]|0,c[ma>>2]|0)|0;g[(c[oa>>2]|0)+(ua+(c[ka>>2]|0)<<2)>>2]=0.0;ua=_(c[ha>>2]|0,c[ma>>2]|0)|0;g[(c[qa>>2]|0)+(ua+(c[ka>>2]|0)<<2)>>2]=-28.0;ua=_(c[ha>>2]|0,c[ma>>2]|0)|0;g[(c[pa>>2]|0)+(ua+(c[ka>>2]|0)<<2)>>2]=-28.0;c[ka>>2]=(c[ka>>2]|0)+1}c[ka>>2]=c[ja>>2];while(1){l=c[ha>>2]|0;if((c[ka>>2]|0)>=(c[ma>>2]|0))break;ua=_(l,c[ma>>2]|0)|0;g[(c[oa>>2]|0)+(ua+(c[ka>>2]|0)<<2)>>2]=0.0;ua=_(c[ha>>2]|0,c[ma>>2]|0)|0;g[(c[qa>>2]|0)+(ua+(c[ka>>2]|0)<<2)>>2]=-28.0;ua=_(c[ha>>2]|0,c[ma>>2]|0)|0;g[(c[pa>>2]|0)+(ua+(c[ka>>2]|0)<<2)>>2]=-28.0;c[ka>>2]=(c[ka>>2]|0)+1}ua=l+1|0;c[ha>>2]=ua}while((ua|0)<2);c[(c[Y>>2]|0)+36>>2]=c[(c[ba>>2]|0)+28>>2];Pb(ra,c[$>>2]|0,c[ga>>2]|0,c[fa>>2]|0,c[(c[Y>>2]|0)+16>>2]|0,(c[la>>2]|0)+16|0,(c[Y>>2]|0)+76|0,c[ca>>2]|0);c[(c[Y>>2]|0)+48>>2]=0;ua=Qb(c[ba>>2]|0)|0;if((ua|0)>(c[Z>>2]<<3|0)){c[X>>2]=-3;c[ea>>2]=1}else{if(Sb(c[ba>>2]|0)|0)c[(c[Y>>2]|0)+40>>2]=1;c[X>>2]=(c[aa>>2]|0)/(c[(c[Y>>2]|0)+16>>2]|0)|0;c[ea>>2]=1}na(c[da>>2]|0);ua=c[X>>2]|0;i=ta;return ua|0}function Mb(a,d,e){a=a|0;d=d|0;e=e|0;var f=0.0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ja=0,ka=0;ka=i;i=i+4608|0;aa=ka+4596|0;ba=ka+4592|0;L=ka+4588|0;da=ka+4584|0;fa=ka+4580|0;ca=ka+4576|0;ea=ka+4568|0;Y=ka+4560|0;C=ka+4556|0;X=ka+4552|0;j=ka+4548|0;k=ka+4544|0;N=ka+4540|0;ha=ka+4536|0;W=ka+4532|0;ja=ka+4528|0;$=ka+4524|0;ga=ka+4520|0;h=ka+4516|0;S=ka+4512|0;Z=ka+4508|0;U=ka+4504|0;T=ka+4500|0;R=ka+4496|0;M=ka+4492|0;V=ka+4488|0;Q=ka+4484|0;P=ka+4480|0;K=ka+4476|0;A=ka+4472|0;F=ka+4468|0;l=ka+4464|0;w=ka+368|0;t=ka+360|0;r=ka+356|0;o=ka+352|0;s=ka+348|0;z=ka+344|0;y=ka+340|0;x=ka+336|0;B=ka+332|0;q=ka+232|0;D=ka+136|0;m=ka+128|0;n=ka+124|0;u=ka+120|0;v=ka+116|0;H=ka+112|0;E=ka+16|0;p=ka+12|0;I=ka+8|0;G=ka+4|0;J=ka;c[aa>>2]=a;c[ba>>2]=d;c[L>>2]=e;c[ca>>2]=c[(c[aa>>2]|0)+8>>2];c[ha>>2]=c[c[aa>>2]>>2];c[W>>2]=c[(c[ha>>2]|0)+8>>2];c[ja>>2]=c[(c[ha>>2]|0)+4>>2];c[S>>2]=c[(c[ha>>2]|0)+32>>2];c[da>>2]=0;do{a=(c[aa>>2]|0)+84+((_(c[da>>2]|0,2048+(c[ja>>2]|0)|0)|0)<<2)|0;c[ea+(c[da>>2]<<2)>>2]=a;c[Y+(c[da>>2]<<2)>>2]=(c[ea+(c[da>>2]<<2)>>2]|0)+8192+(0-(c[ba>>2]|0)<<2);a=(c[da>>2]|0)+1|0;c[da>>2]=a}while((a|0)<(c[ca>>2]|0));c[C>>2]=(c[aa>>2]|0)+84+((_(2048+(c[ja>>2]|0)|0,c[ca>>2]|0)|0)<<2);c[X>>2]=(c[C>>2]|0)+((c[ca>>2]|0)*24<<2);c[j>>2]=(c[X>>2]|0)+(c[W>>2]<<1<<2);c[k>>2]=(c[j>>2]|0)+(c[W>>2]<<1<<2);c[N>>2]=(c[k>>2]|0)+(c[W>>2]<<1<<2);c[ga>>2]=c[(c[aa>>2]|0)+48>>2];c[$>>2]=c[(c[aa>>2]|0)+20>>2];c[h>>2]=((c[ga>>2]|0)>=5?1:(c[$>>2]|0)!=0)&1;if(c[h>>2]|0){c[U>>2]=c[(c[aa>>2]|0)+24>>2];if((c[U>>2]|0)<(c[(c[ha>>2]|0)+12>>2]|0))e=c[U>>2]|0;else e=c[(c[ha>>2]|0)+12>>2]|0;do if((c[$>>2]|0)<=(e|0))if((c[U>>2]|0)<(c[(c[ha>>2]|0)+12>>2]|0)){e=c[U>>2]|0;break}else{e=c[(c[ha>>2]|0)+12>>2]|0;break}else e=c[$>>2]|0;while(0);c[T>>2]=e;K=_(c[ca>>2]|0,c[ba>>2]|0)|0;c[M>>2]=ia()|0;d=i;i=i+((1*(K<<2)|0)+15&-16)|0;g[R>>2]=(c[ga>>2]|0)==0?1.5:.5;c[da>>2]=0;do{c[fa>>2]=c[$>>2];while(1){e=c[da>>2]|0;if((c[fa>>2]|0)>=(c[U>>2]|0))break;J=_(e,c[W>>2]|0)|0;K=_(c[da>>2]|0,c[W>>2]|0)|0;e=_(c[da>>2]|0,c[W>>2]|0)|0;e=e+(c[fa>>2]|0)|0;if(+g[(c[N>>2]|0)+(J+(c[fa>>2]|0)<<2)>>2]>+g[(c[X>>2]|0)+(K+(c[fa>>2]|0)<<2)>>2]-+g[R>>2])f=+g[(c[N>>2]|0)+(e<<2)>>2];else f=+g[(c[X>>2]|0)+(e<<2)>>2]-+g[R>>2];K=_(c[da>>2]|0,c[W>>2]|0)|0;g[(c[X>>2]|0)+(K+(c[fa>>2]|0)<<2)>>2]=f;c[fa>>2]=(c[fa>>2]|0)+1}K=e+1|0;c[da>>2]=K}while((K|0)<(c[ca>>2]|0));c[Z>>2]=c[(c[aa>>2]|0)+36>>2];c[da>>2]=0;while(1){if((c[da>>2]|0)>=(c[ca>>2]|0))break;c[fa>>2]=c[$>>2];while(1){if((c[fa>>2]|0)>=(c[T>>2]|0))break;W=_(c[ba>>2]|0,c[da>>2]|0)|0;c[Q>>2]=W+(b[(c[S>>2]|0)+(c[fa>>2]<<1)>>1]<>2]);c[P>>2]=(b[(c[S>>2]|0)+((c[fa>>2]|0)+1<<1)>>1]|0)-(b[(c[S>>2]|0)+(c[fa>>2]<<1)>>1]|0)<>2];c[V>>2]=0;while(1){if((c[V>>2]|0)>=(c[P>>2]|0))break;c[Z>>2]=Ba(c[Z>>2]|0)|0;g[d+((c[Q>>2]|0)+(c[V>>2]|0)<<2)>>2]=+(c[Z>>2]>>20|0);c[V>>2]=(c[V>>2]|0)+1}td(d+(c[Q>>2]<<2)|0,c[P>>2]|0,1.0,c[(c[aa>>2]|0)+32>>2]|0);c[fa>>2]=(c[fa>>2]|0)+1}c[da>>2]=(c[da>>2]|0)+1}c[(c[aa>>2]|0)+36>>2]=c[Z>>2];c[da>>2]=0;do{qj(c[ea+(c[da>>2]<<2)>>2]|0,(c[ea+(c[da>>2]<<2)>>2]|0)+(c[ba>>2]<<2)|0,(2048-(c[ba>>2]|0)+(c[ja>>2]>>1)<<2)+0|0)|0;fa=(c[da>>2]|0)+1|0;c[da>>2]=fa}while((fa|0)<(c[ca>>2]|0));Nb(c[ha>>2]|0,d,Y,c[X>>2]|0,c[$>>2]|0,c[T>>2]|0,c[ca>>2]|0,c[ca>>2]|0,0,c[L>>2]|0,c[(c[aa>>2]|0)+16>>2]|0,0,c[(c[aa>>2]|0)+32>>2]|0);na(c[M>>2]|0);ha=c[ga>>2]|0;ha=ha+1|0;ja=c[aa>>2]|0;ja=ja+48|0;c[ja>>2]=ha;i=ka;return}g[A>>2]=1.0;if(!(c[ga>>2]|0)){$=Ob(ea,c[ca>>2]|0,c[(c[aa>>2]|0)+32>>2]|0)|0;c[F>>2]=$;c[(c[aa>>2]|0)+44>>2]=$}else{c[F>>2]=c[(c[aa>>2]|0)+44>>2];g[A>>2]=.800000011920929}$=c[ja>>2]|0;c[l>>2]=ia()|0;e=i;i=i+((1*($<<2)|0)+15&-16)|0;c[K>>2]=c[(c[ha>>2]|0)+60>>2];c[da>>2]=0;do{g[o>>2]=0.0;c[s>>2]=c[ea+(c[da>>2]<<2)>>2];c[fa>>2]=0;while(1){if((c[fa>>2]|0)>=1024)break;g[w+(c[fa>>2]<<2)>>2]=+g[(c[s>>2]|0)+(1024+(c[fa>>2]|0)<<2)>>2];c[fa>>2]=(c[fa>>2]|0)+1}if(!(c[ga>>2]|0)){Yc(w,q,c[K>>2]|0,c[ja>>2]|0,24,1024,c[(c[aa>>2]|0)+32>>2]|0)|0;g[q>>2]=+g[q>>2]*1.000100016593933;c[fa>>2]=1;while(1){if((c[fa>>2]|0)>24)break;ha=q+(c[fa>>2]<<2)|0;g[ha>>2]=+g[ha>>2]-+g[q+(c[fa>>2]<<2)>>2]*6.400000711437315e-05*+(c[fa>>2]|0)*+(c[fa>>2]|0);c[fa>>2]=(c[fa>>2]|0)+1}Uc((c[C>>2]|0)+((c[da>>2]|0)*24<<2)|0,q,24)}c[x>>2]=(c[F>>2]<<1|0)<1024?c[F>>2]<<1:1024;c[fa>>2]=0;while(1){if((c[fa>>2]|0)>=24)break;g[D+(c[fa>>2]<<2)>>2]=+g[(c[s>>2]|0)+(2048-(c[x>>2]|0)-1-(c[fa>>2]|0)<<2)>>2];c[fa>>2]=(c[fa>>2]|0)+1}Vc(w+4096+(0-(c[x>>2]|0)<<2)|0,(c[C>>2]|0)+((c[da>>2]|0)*24<<2)|0,w+4096+(0-(c[x>>2]|0)<<2)|0,c[x>>2]|0,24,D,c[(c[aa>>2]|0)+32>>2]|0);g[m>>2]=1.0;g[n>>2]=1.0;c[u>>2]=c[x>>2]>>1;c[fa>>2]=0;while(1){if((c[fa>>2]|0)>=(c[u>>2]|0))break;g[v>>2]=+g[w+(1024-(c[u>>2]|0)+(c[fa>>2]|0)<<2)>>2];g[m>>2]=+g[m>>2]+ +g[v>>2]*+g[v>>2];g[v>>2]=+g[w+(1024-(c[u>>2]<<1)+(c[fa>>2]|0)<<2)>>2];g[n>>2]=+g[n>>2]+ +g[v>>2]*+g[v>>2];c[fa>>2]=(c[fa>>2]|0)+1}g[m>>2]=+g[m>>2]<+g[n>>2]?+g[m>>2]:+g[n>>2];g[t>>2]=+O(+(+g[m>>2]/+g[n>>2]));qj(c[s>>2]|0,(c[s>>2]|0)+(c[ba>>2]<<2)|0,(2048-(c[ba>>2]|0)<<2)+0|0)|0;c[z>>2]=1024-(c[F>>2]|0);c[y>>2]=(c[ba>>2]|0)+(c[ja>>2]|0);g[r>>2]=+g[A>>2]*+g[t>>2];c[B>>2]=0;c[fa>>2]=0;while(1){if((c[fa>>2]|0)>=(c[y>>2]|0))break;if((c[B>>2]|0)>=(c[F>>2]|0)){c[B>>2]=(c[B>>2]|0)-(c[F>>2]|0);g[r>>2]=+g[r>>2]*+g[t>>2]}g[(c[s>>2]|0)+(2048-(c[ba>>2]|0)+(c[fa>>2]|0)<<2)>>2]=+g[r>>2]*+g[w+((c[z>>2]|0)+(c[B>>2]|0)<<2)>>2];g[H>>2]=+g[(c[s>>2]|0)+(1024-(c[ba>>2]|0)+(c[z>>2]|0)+(c[B>>2]|0)<<2)>>2];g[o>>2]=+g[o>>2]+ +g[H>>2]*+g[H>>2];c[fa>>2]=(c[fa>>2]|0)+1;c[B>>2]=(c[B>>2]|0)+1}c[fa>>2]=0;while(1){if((c[fa>>2]|0)>=24)break;g[E+(c[fa>>2]<<2)>>2]=+g[(c[s>>2]|0)+(2048-(c[ba>>2]|0)-1-(c[fa>>2]|0)<<2)>>2];c[fa>>2]=(c[fa>>2]|0)+1}Xc((c[s>>2]|0)+8192+(0-(c[ba>>2]|0)<<2)|0,(c[C>>2]|0)+((c[da>>2]|0)*24<<2)|0,(c[s>>2]|0)+8192+(0-(c[ba>>2]|0)<<2)|0,c[y>>2]|0,24,E,c[(c[aa>>2]|0)+32>>2]|0);g[p>>2]=0.0;c[fa>>2]=0;while(1){if((c[fa>>2]|0)>=(c[y>>2]|0))break;g[I>>2]=+g[(c[s>>2]|0)+(2048-(c[ba>>2]|0)+(c[fa>>2]|0)<<2)>>2];g[p>>2]=+g[p>>2]+ +g[I>>2]*+g[I>>2];c[fa>>2]=(c[fa>>2]|0)+1}a:do if(+g[o>>2]>+g[p>>2]*.20000000298023224){if(+g[o>>2]<+g[p>>2]){g[G>>2]=+O(+((+g[o>>2]+1.0)/(+g[p>>2]+1.0)));c[fa>>2]=0;while(1){if((c[fa>>2]|0)>=(c[ja>>2]|0))break;g[J>>2]=1.0-+g[(c[K>>2]|0)+(c[fa>>2]<<2)>>2]*(1.0-+g[G>>2]);g[(c[s>>2]|0)+(2048-(c[ba>>2]|0)+(c[fa>>2]|0)<<2)>>2]=+g[J>>2]*+g[(c[s>>2]|0)+(2048-(c[ba>>2]|0)+(c[fa>>2]|0)<<2)>>2];c[fa>>2]=(c[fa>>2]|0)+1}c[fa>>2]=c[ja>>2];while(1){if((c[fa>>2]|0)>=(c[y>>2]|0))break a;g[(c[s>>2]|0)+(2048-(c[ba>>2]|0)+(c[fa>>2]|0)<<2)>>2]=+g[G>>2]*+g[(c[s>>2]|0)+(2048-(c[ba>>2]|0)+(c[fa>>2]|0)<<2)>>2];c[fa>>2]=(c[fa>>2]|0)+1}}}else{c[fa>>2]=0;while(1){if((c[fa>>2]|0)>=(c[y>>2]|0))break a;g[(c[s>>2]|0)+(2048-(c[ba>>2]|0)+(c[fa>>2]|0)<<2)>>2]=0.0;c[fa>>2]=(c[fa>>2]|0)+1}}while(0);cb(e,(c[s>>2]|0)+8192|0,c[(c[aa>>2]|0)+52>>2]|0,c[(c[aa>>2]|0)+52>>2]|0,c[ja>>2]|0,-+g[(c[aa>>2]|0)+60>>2],-+g[(c[aa>>2]|0)+60>>2],c[(c[aa>>2]|0)+68>>2]|0,c[(c[aa>>2]|0)+68>>2]|0,0,0,c[(c[aa>>2]|0)+32>>2]|0);c[fa>>2]=0;while(1){if((c[fa>>2]|0)>=((c[ja>>2]|0)/2|0|0))break;g[(c[s>>2]|0)+(2048+(c[fa>>2]|0)<<2)>>2]=+g[(c[K>>2]|0)+(c[fa>>2]<<2)>>2]*+g[e+((c[ja>>2]|0)-1-(c[fa>>2]|0)<<2)>>2]+ +g[(c[K>>2]|0)+((c[ja>>2]|0)-(c[fa>>2]|0)-1<<2)>>2]*+g[e+(c[fa>>2]<<2)>>2];c[fa>>2]=(c[fa>>2]|0)+1}ha=(c[da>>2]|0)+1|0;c[da>>2]=ha}while((ha|0)<(c[ca>>2]|0));na(c[l>>2]|0);ha=c[ga>>2]|0;ha=ha+1|0;ja=c[aa>>2]|0;ja=ja+48|0;c[ja>>2]=ha;i=ka;return}function Nb(a,b,d,e,f,h,j,k,l,m,n,o,p){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;P=i;i=i+112|0;q=P+100|0;r=P+96|0;w=P+92|0;x=P+88|0;y=P+84|0;z=P+80|0;A=P+76|0;B=P+72|0;Q=P+68|0;C=P+64|0;s=P+60|0;t=P+56|0;u=P+52|0;I=P+48|0;L=P+44|0;E=P+40|0;H=P+36|0;D=P+32|0;F=P+28|0;G=P+24|0;O=P+20|0;M=P+16|0;N=P+12|0;v=P+8|0;J=P+4|0;K=P;c[q>>2]=a;c[r>>2]=b;c[w>>2]=d;c[x>>2]=e;c[y>>2]=f;c[z>>2]=h;c[A>>2]=j;c[B>>2]=k;c[Q>>2]=l;c[C>>2]=m;c[s>>2]=n;c[t>>2]=o;c[u>>2]=p;c[N>>2]=c[(c[q>>2]|0)+4>>2];c[M>>2]=c[(c[q>>2]|0)+8>>2];c[F>>2]=c[(c[q>>2]|0)+44>>2]<>2];f=c[F>>2]|0;c[v>>2]=ia()|0;j=i;i=i+((1*(f<<2)|0)+15&-16)|0;c[E>>2]=1<>2];if(c[Q>>2]|0){c[D>>2]=c[E>>2];c[G>>2]=c[(c[q>>2]|0)+44>>2];c[O>>2]=c[(c[q>>2]|0)+36>>2]}else{c[D>>2]=1;c[G>>2]=c[(c[q>>2]|0)+44>>2]<>2];c[O>>2]=(c[(c[q>>2]|0)+36>>2]|0)-(c[C>>2]|0)}if((c[B>>2]|0)==2&(c[A>>2]|0)==1){Fa(c[q>>2]|0,c[r>>2]|0,j,c[x>>2]|0,c[y>>2]|0,c[z>>2]|0,c[E>>2]|0,c[s>>2]|0,c[t>>2]|0);c[J>>2]=(c[(c[w>>2]|0)+4>>2]|0)+(((c[N>>2]|0)/2|0)<<2);pj(c[J>>2]|0,j|0,(c[F>>2]<<2)+0|0)|0;c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[D>>2]|0))break;Q=(c[c[w>>2]>>2]|0)+((_(c[G>>2]|0,c[H>>2]|0)|0)<<2)|0;Ic((c[q>>2]|0)+64|0,(c[J>>2]|0)+(c[H>>2]<<2)|0,Q,c[(c[q>>2]|0)+60>>2]|0,c[N>>2]|0,c[O>>2]|0,c[D>>2]|0,c[u>>2]|0);c[H>>2]=(c[H>>2]|0)+1}c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[D>>2]|0))break;Q=(c[(c[w>>2]|0)+4>>2]|0)+((_(c[G>>2]|0,c[H>>2]|0)|0)<<2)|0;Ic((c[q>>2]|0)+64|0,j+(c[H>>2]<<2)|0,Q,c[(c[q>>2]|0)+60>>2]|0,c[N>>2]|0,c[O>>2]|0,c[D>>2]|0,c[u>>2]|0);c[H>>2]=(c[H>>2]|0)+1}Q=c[v>>2]|0;na(Q|0);i=P;return}if(!((c[B>>2]|0)==1&(c[A>>2]|0)==2)){c[I>>2]=0;do{L=(c[r>>2]|0)+((_(c[I>>2]|0,c[F>>2]|0)|0)<<2)|0;Q=(c[x>>2]|0)+((_(c[I>>2]|0,c[M>>2]|0)|0)<<2)|0;Fa(c[q>>2]|0,L,j,Q,c[y>>2]|0,c[z>>2]|0,c[E>>2]|0,c[s>>2]|0,c[t>>2]|0);c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[D>>2]|0))break;Q=(c[(c[w>>2]|0)+(c[I>>2]<<2)>>2]|0)+((_(c[G>>2]|0,c[H>>2]|0)|0)<<2)|0;Ic((c[q>>2]|0)+64|0,j+(c[H>>2]<<2)|0,Q,c[(c[q>>2]|0)+60>>2]|0,c[N>>2]|0,c[O>>2]|0,c[D>>2]|0,c[u>>2]|0);c[H>>2]=(c[H>>2]|0)+1}Q=(c[I>>2]|0)+1|0;c[I>>2]=Q}while((Q|0)<(c[B>>2]|0));Q=c[v>>2]|0;na(Q|0);i=P;return}c[K>>2]=(c[c[w>>2]>>2]|0)+(((c[N>>2]|0)/2|0)<<2);Fa(c[q>>2]|0,c[r>>2]|0,j,c[x>>2]|0,c[y>>2]|0,c[z>>2]|0,c[E>>2]|0,c[s>>2]|0,c[t>>2]|0);Fa(c[q>>2]|0,(c[r>>2]|0)+(c[F>>2]<<2)|0,c[K>>2]|0,(c[x>>2]|0)+(c[M>>2]<<2)|0,c[y>>2]|0,c[z>>2]|0,c[E>>2]|0,c[s>>2]|0,c[t>>2]|0);c[L>>2]=0;while(1){if((c[L>>2]|0)>=(c[F>>2]|0))break;g[j+(c[L>>2]<<2)>>2]=(+g[j+(c[L>>2]<<2)>>2]+ +g[(c[K>>2]|0)+(c[L>>2]<<2)>>2])*.5;c[L>>2]=(c[L>>2]|0)+1}c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[D>>2]|0))break;Q=(c[c[w>>2]>>2]|0)+((_(c[G>>2]|0,c[H>>2]|0)|0)<<2)|0;Ic((c[q>>2]|0)+64|0,j+(c[H>>2]<<2)|0,Q,c[(c[q>>2]|0)+60>>2]|0,c[N>>2]|0,c[O>>2]|0,c[D>>2]|0,c[u>>2]|0);c[H>>2]=(c[H>>2]|0)+1}Q=c[v>>2]|0;na(Q|0);i=P;return}function Ob(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;f=i;i=i+4112|0;k=f+4108|0;j=f+4104|0;g=f+4100|0;e=f+4096|0;h=f;c[k>>2]=a;c[j>>2]=b;c[g>>2]=d;Kc(c[k>>2]|0,h,2048,c[j>>2]|0,c[g>>2]|0);Pc(h+1440|0,h,1328,620,e,c[g>>2]|0);c[e>>2]=720-(c[e>>2]|0);i=f;return c[e>>2]|0}function Pb(a,b,d,e,f,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0;C=i;i=i+80|0;l=C+72|0;m=C+68|0;n=C+64|0;o=C+60|0;p=C+56|0;D=C+52|0;q=C+48|0;u=C+40|0;s=C+36|0;t=C+32|0;v=C+28|0;r=C+24|0;w=C+20|0;A=C+16|0;B=C+12|0;x=C+8|0;y=C+4|0;z=C;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[D>>2]=h;c[q>>2]=j;c[C+44>>2]=k;c[t>>2]=0;b=c[n>>2]|0;c[r>>2]=ia()|0;e=i;i=i+((1*(b<<2)|0)+15&-16)|0;g[v>>2]=+g[c[D>>2]>>2];c[s>>2]=(c[n>>2]|0)/(c[p>>2]|0)|0;c[u>>2]=0;do{g[x>>2]=+g[(c[q>>2]|0)+(c[u>>2]<<2)>>2];c[A>>2]=c[(c[l>>2]|0)+(c[u>>2]<<2)>>2];c[B>>2]=(c[m>>2]|0)+(c[u>>2]<<2);D=(c[p>>2]|0)>1;c[w>>2]=0;a:do if(D){while(1){if((c[w>>2]|0)>=(c[n>>2]|0))break;g[y>>2]=+g[(c[A>>2]|0)+(c[w>>2]<<2)>>2]+ +g[x>>2]+1.0000000031710769e-30;g[x>>2]=+g[v>>2]*+g[y>>2];g[e+(c[w>>2]<<2)>>2]=+g[y>>2];c[w>>2]=(c[w>>2]|0)+1}c[t>>2]=1}else while(1){if((c[w>>2]|0)>=(c[n>>2]|0))break a;g[z>>2]=+g[(c[A>>2]|0)+(c[w>>2]<<2)>>2]+ +g[x>>2]+1.0000000031710769e-30;g[x>>2]=+g[v>>2]*+g[z>>2];D=_(c[w>>2]|0,c[o>>2]|0)|0;g[(c[B>>2]|0)+(D<<2)>>2]=+g[z>>2]*.000030517578125;c[w>>2]=(c[w>>2]|0)+1}while(0);g[(c[q>>2]|0)+(c[u>>2]<<2)>>2]=+g[x>>2];b:do if(c[t>>2]|0){c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[s>>2]|0))break b;E=+g[e+((_(c[w>>2]|0,c[p>>2]|0)|0)<<2)>>2]*.000030517578125;D=_(c[w>>2]|0,c[o>>2]|0)|0;g[(c[B>>2]|0)+(D<<2)>>2]=E;c[w>>2]=(c[w>>2]|0)+1}}while(0);D=(c[u>>2]|0)+1|0;c[u>>2]=D}while((D|0)<(c[o>>2]|0));na(c[r>>2]|0);i=C;return}function Qb(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[(c[d>>2]|0)+20>>2]|0)-(32-(aa(c[(c[d>>2]|0)+28>>2]|0)|0))|0;i=b;return a|0}function Rb(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 j=0,k=0,l=0,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=i;i=i+64|0;j=x+52|0;k=x+48|0;l=x+44|0;m=x+40|0;n=x+36|0;o=x+32|0;r=x+28|0;q=x+24|0;v=x+20|0;w=x+16|0;u=x+12|0;s=x+8|0;p=x+4|0;t=x;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=c[(c[o>>2]|0)+4>>2]<<3;c[t>>2]=Qb(c[o>>2]|0)|0;c[s>>2]=c[l>>2]|0?2:4;if((c[n>>2]|0)>0)g=((c[t>>2]|0)+(c[s>>2]|0)+1|0)>>>0<=(c[p>>2]|0)>>>0;else g=0;c[w>>2]=g&1;c[p>>2]=(c[p>>2]|0)-(c[w>>2]|0);c[q>>2]=0;c[u>>2]=0;c[r>>2]=c[j>>2];while(1){if((c[r>>2]|0)>=(c[k>>2]|0))break;if(((c[t>>2]|0)+(c[s>>2]|0)|0)>>>0<=(c[p>>2]|0)>>>0){f=dc(c[o>>2]|0,c[s>>2]|0)|0;c[q>>2]=c[q>>2]^f;c[t>>2]=Qb(c[o>>2]|0)|0;c[u>>2]=c[u>>2]|c[q>>2]}c[(c[m>>2]|0)+(c[r>>2]<<2)>>2]=c[q>>2];c[s>>2]=c[l>>2]|0?4:5;c[r>>2]=(c[r>>2]|0)+1}c[v>>2]=0;if(c[w>>2]|0?(a[25232+(c[n>>2]<<3)+((c[l>>2]<<2)+0+(c[u>>2]|0))>>0]|0)!=(a[25232+(c[n>>2]<<3)+((c[l>>2]<<2)+2+(c[u>>2]|0))>>0]|0):0)c[v>>2]=dc(c[o>>2]|0,1)|0;c[r>>2]=c[j>>2];while(1){if((c[r>>2]|0)>=(c[k>>2]|0))break;c[(c[m>>2]|0)+(c[r>>2]<<2)>>2]=a[25232+(c[n>>2]<<3)+((c[l>>2]<<2)+(c[v>>2]<<1)+(c[(c[m>>2]|0)+(c[r>>2]<<2)>>2]|0))>>0];c[r>>2]=(c[r>>2]|0)+1}i=x;return}function Sb(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+44>>2]|0}function Tb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;k=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;c[k>>2]=e;b=c[k>>2]|0;a=Ub(c[h>>2]|0,c[j>>2]|0)|0;rc(b,a,(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);i=f;return}function Ub(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;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]=N(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))b=(c[d>>2]|0)-(c[g>>2]|0)|0;else b=c[h>>2]|0;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;c[f>>2]=(c[f>>2]|0)+(c[(c[364+(a<<2)>>2]|0)+(b<<2)>>2]|0);b=N(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))b=(c[d>>2]|0)-(c[g>>2]|0)|0;else b=(c[h>>2]|0)+1|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;c[f>>2]=(c[f>>2]|0)+(c[(c[364+(a<<2)>>2]|0)+(b<<2)>>2]|0)}}while((c[g>>2]|0)>0);i=j;return c[f>>2]|0}function Vb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+16|0;h=g+12|0;k=g+8|0;j=g+4|0;l=g;c[h>>2]=a;c[k>>2]=b;c[j>>2]=d;c[l>>2]=e;d=c[k>>2]|0;b=c[j>>2]|0;a=fc(c[l>>2]|0,(c[(c[364+(((c[k>>2]|0)<(c[j>>2]|0)?c[k>>2]|0:c[j>>2]|0)<<2)>>2]|0)+(((c[k>>2]|0)>(c[j>>2]|0)?c[k>>2]|0:c[j>>2]|0)<<2)>>2]|0)+(c[(c[364+(((c[k>>2]|0)<((c[j>>2]|0)+1|0)?c[k>>2]|0:(c[j>>2]|0)+1|0)<<2)>>2]|0)+(((c[k>>2]|0)>((c[j>>2]|0)+1|0)?c[k>>2]|0:(c[j>>2]|0)+1|0)<<2)>>2]|0)|0)|0;f=+Wb(d,b,a,c[h>>2]|0);i=g;return +f}function Wb(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0.0;t=i;i=i+48|0;h=t+36|0;j=t+32|0;k=t+28|0;l=t+24|0;n=t+20|0;q=t+16|0;m=t+12|0;r=t+40|0;s=t+8|0;o=t+4|0;p=t;c[h>>2]=a;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;g[s>>2]=0.0;while(1){e=c[j>>2]|0;if((c[h>>2]|0)<=2)break;d=c[h>>2]|0;do if((e|0)>=(c[h>>2]|0)){c[p>>2]=c[364+(d<<2)>>2];c[n>>2]=c[(c[p>>2]|0)+((c[j>>2]|0)+1<<2)>>2];c[q>>2]=0-((c[k>>2]|0)>>>0>=(c[n>>2]|0)>>>0&1);c[k>>2]=(c[k>>2]|0)-(c[n>>2]&c[q>>2]);c[m>>2]=c[j>>2];c[o>>2]=c[(c[p>>2]|0)+(c[h>>2]<<2)>>2];a:do if((c[o>>2]|0)>>>0>(c[k>>2]|0)>>>0){c[j>>2]=c[h>>2];do{f=c[h>>2]|0;a=(c[j>>2]|0)+-1|0;c[j>>2]=a;c[n>>2]=c[(c[364+(a<<2)>>2]|0)+(f<<2)>>2]}while((c[n>>2]|0)>>>0>(c[k>>2]|0)>>>0)}else{c[n>>2]=c[(c[p>>2]|0)+(c[j>>2]<<2)>>2];while(1){if((c[n>>2]|0)>>>0<=(c[k>>2]|0)>>>0)break a;c[j>>2]=(c[j>>2]|0)+-1;c[n>>2]=c[(c[p>>2]|0)+(c[j>>2]<<2)>>2]}}while(0);c[k>>2]=(c[k>>2]|0)-(c[n>>2]|0);b[r>>1]=(c[m>>2]|0)-(c[j>>2]|0)+(c[q>>2]|0)^c[q>>2];a=b[r>>1]|0;f=c[l>>2]|0;c[l>>2]=f+4;c[f>>2]=a;g[s>>2]=+g[s>>2]+ +(b[r>>1]|0)*+(b[r>>1]|0)}else{c[n>>2]=c[(c[364+(c[j>>2]<<2)>>2]|0)+(d<<2)>>2];c[o>>2]=c[(c[364+((c[j>>2]|0)+1<<2)>>2]|0)+(c[h>>2]<<2)>>2];if((c[n>>2]|0)>>>0<=(c[k>>2]|0)>>>0?(c[k>>2]|0)>>>0<(c[o>>2]|0)>>>0:0){c[k>>2]=(c[k>>2]|0)-(c[n>>2]|0);f=c[l>>2]|0;c[l>>2]=f+4;c[f>>2]=0;break}c[q>>2]=0-((c[k>>2]|0)>>>0>=(c[o>>2]|0)>>>0&1);c[k>>2]=(c[k>>2]|0)-(c[o>>2]&c[q>>2]);c[m>>2]=c[j>>2];do{f=c[h>>2]|0;a=(c[j>>2]|0)+-1|0;c[j>>2]=a;c[n>>2]=c[(c[364+(a<<2)>>2]|0)+(f<<2)>>2]}while((c[n>>2]|0)>>>0>(c[k>>2]|0)>>>0);c[k>>2]=(c[k>>2]|0)-(c[n>>2]|0);b[r>>1]=(c[m>>2]|0)-(c[j>>2]|0)+(c[q>>2]|0)^c[q>>2];a=b[r>>1]|0;f=c[l>>2]|0;c[l>>2]=f+4;c[f>>2]=a;g[s>>2]=+g[s>>2]+ +(b[r>>1]|0)*+(b[r>>1]|0)}while(0);c[h>>2]=(c[h>>2]|0)+-1}c[n>>2]=(e<<1)+1;c[q>>2]=0-((c[k>>2]|0)>>>0>=(c[n>>2]|0)>>>0&1);c[k>>2]=(c[k>>2]|0)-(c[n>>2]&c[q>>2]);c[m>>2]=c[j>>2];c[j>>2]=((c[k>>2]|0)+1|0)>>>1;if(!(c[j>>2]|0)){p=c[m>>2]|0;o=c[j>>2]|0;o=p-o|0;p=c[q>>2]|0;p=o+p|0;o=c[q>>2]|0;o=p^o;o=o&65535;b[r>>1]=o;o=b[r>>1]|0;o=o<<16>>16;p=c[l>>2]|0;n=p+4|0;c[l>>2]=n;c[p>>2]=o;w=+g[s>>2];p=b[r>>1]|0;u=+(p<<16>>16);p=b[r>>1]|0;v=+(p<<16>>16);v=u*v;v=w+v;g[s>>2]=v;p=c[k>>2]|0;p=0-p|0;c[q>>2]=p;p=c[j>>2]|0;o=c[q>>2]|0;o=p+o|0;p=c[q>>2]|0;p=o^p;p=p&65535;b[r>>1]=p;p=b[r>>1]|0;p=p<<16>>16;q=c[l>>2]|0;c[q>>2]=p;v=+g[s>>2];q=b[r>>1]|0;w=+(q<<16>>16);r=b[r>>1]|0;u=+(r<<16>>16);u=w*u;u=v+u;g[s>>2]=u;u=+g[s>>2];i=t;return +u}c[k>>2]=(c[k>>2]|0)-((c[j>>2]<<1)-1);p=c[m>>2]|0;o=c[j>>2]|0;o=p-o|0;p=c[q>>2]|0;p=o+p|0;o=c[q>>2]|0;o=p^o;o=o&65535;b[r>>1]=o;o=b[r>>1]|0;o=o<<16>>16;p=c[l>>2]|0;n=p+4|0;c[l>>2]=n;c[p>>2]=o;u=+g[s>>2];p=b[r>>1]|0;w=+(p<<16>>16);p=b[r>>1]|0;v=+(p<<16>>16);v=w*v;v=u+v;g[s>>2]=v;p=c[k>>2]|0;p=0-p|0;c[q>>2]=p;p=c[j>>2]|0;o=c[q>>2]|0;o=p+o|0;p=c[q>>2]|0;p=o^p;p=p&65535;b[r>>1]=p;p=b[r>>1]|0;p=p<<16>>16;q=c[l>>2]|0;c[q>>2]=p;v=+g[s>>2];q=b[r>>1]|0;u=+(q<<16>>16);r=b[r>>1]|0;w=+(r<<16>>16);w=u*w;w=v+w;g[s>>2]=w;w=+g[s>>2];i=t;return +w}function Xb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=i;i=i+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-(aa(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);i=e;return (c[d>>2]|0)-(c[b>>2]|0)|0}function Yb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+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;a=Zb(c[f>>2]|0)|0;c[(c[f>>2]|0)+40>>2]=a;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;_b(c[f>>2]|0);i=e;return}function Zb(a){a=a|0;var b=0,e=0,f=0;e=i;i=i+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){a=0;i=e;return a|0}f=(c[b>>2]|0)+24|0;a=c[f>>2]|0;c[f>>2]=a+1;a=d[(c[c[b>>2]>>2]|0)+a>>0]|0;i=e;return a|0}function _b(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+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=Zb(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}i=e;return}function $b(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;e=f+4|0;d=f;c[g>>2]=a;c[e>>2]=b;a=ac(c[(c[g>>2]|0)+28>>2]|0,c[e>>2]|0)|0;c[(c[g>>2]|0)+36>>2]=a;c[d>>2]=((c[(c[g>>2]|0)+32>>2]|0)>>>0)/((c[(c[g>>2]|0)+36>>2]|0)>>>0)|0;i=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 ac(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;i=f;return ((c[e>>2]|0)>>>0)/((c[d>>2]|0)>>>0)|0|0}function bc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+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;i=f;return (1<>2])-((c[d>>2]|0)+1+((1<>2])-((c[d>>2]|0)+1)&0-(1<>2]>>>0<((c[d>>2]|0)+1|0)>>>0&1)))|0}function cc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;g=k+12|0;h=k+8|0;l=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[l>>2]=e;c[j>>2]=_(c[(c[f>>2]|0)+36>>2]|0,(c[l>>2]|0)-(c[h>>2]|0)|0)|0;d=(c[f>>2]|0)+32|0;c[d>>2]=(c[d>>2]|0)-(c[j>>2]|0);d=c[f>>2]|0;if((c[g>>2]|0)>>>0>0){j=_(c[d+36>>2]|0,(c[h>>2]|0)-(c[g>>2]|0)|0)|0;l=c[f>>2]|0;l=l+28|0;c[l>>2]=j;l=c[f>>2]|0;_b(l);i=k;return}else{j=(c[d+28>>2]|0)-(c[j>>2]|0)|0;l=c[f>>2]|0;l=l+28|0;c[l>>2]=j;l=c[f>>2]|0;_b(l);i=k;return}}function dc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;d=j+20|0;k=j+16|0;f=j+12|0;e=j+8|0;h=j+4|0;g=j;c[d>>2]=a;c[k>>2]=b;c[f>>2]=c[(c[d>>2]|0)+28>>2];c[e>>2]=c[(c[d>>2]|0)+32>>2];c[h>>2]=(c[f>>2]|0)>>>(c[k>>2]|0);c[g>>2]=(c[e>>2]|0)>>>0<(c[h>>2]|0)>>>0&1;if(!(c[g>>2]|0))c[(c[d>>2]|0)+32>>2]=(c[e>>2]|0)-(c[h>>2]|0);if(c[g>>2]|0){h=c[h>>2]|0;k=c[d>>2]|0;k=k+28|0;c[k>>2]=h;k=c[d>>2]|0;_b(k);k=c[g>>2]|0;i=j;return k|0}else{h=(c[f>>2]|0)-(c[h>>2]|0)|0;k=c[d>>2]|0;k=k+28|0;c[k>>2]=h;k=c[d>>2]|0;_b(k);k=c[g>>2]|0;i=j;return k|0}return 0}function ec(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;f=n+28|0;g=n+24|0;o=n+20|0;j=n+16|0;h=n+12|0;l=n+8|0;m=n+4|0;k=n;c[f>>2]=a;c[g>>2]=b;c[o>>2]=e;c[l>>2]=c[(c[f>>2]|0)+28>>2];c[h>>2]=c[(c[f>>2]|0)+32>>2];c[j>>2]=(c[l>>2]|0)>>>(c[o>>2]|0);c[k>>2]=-1;do{c[m>>2]=c[l>>2];a=c[j>>2]|0;o=(c[k>>2]|0)+1|0;c[k>>2]=o;c[l>>2]=_(a,d[(c[g>>2]|0)+o>>0]|0)|0}while((c[h>>2]|0)>>>0<(c[l>>2]|0)>>>0);c[(c[f>>2]|0)+32>>2]=(c[h>>2]|0)-(c[l>>2]|0);c[(c[f>>2]|0)+28>>2]=(c[m>>2]|0)-(c[l>>2]|0);_b(c[f>>2]|0);i=n;return c[k>>2]|0}function fc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;e=l+20|0;f=l+16|0;g=l+12|0;j=l+8|0;h=l+4|0;k=l;c[e>>2]=a;c[f>>2]=b;c[f>>2]=(c[f>>2]|0)+-1;c[h>>2]=32-(aa(c[f>>2]|0)|0);if((c[h>>2]|0)<=8){c[f>>2]=(c[f>>2]|0)+1;c[j>>2]=$b(c[e>>2]|0,c[f>>2]|0)|0;cc(c[e>>2]|0,c[j>>2]|0,(c[j>>2]|0)+1|0,c[f>>2]|0);c[d>>2]=c[j>>2];k=c[d>>2]|0;i=l;return k|0}c[h>>2]=(c[h>>2]|0)-8;c[g>>2]=((c[f>>2]|0)>>>(c[h>>2]|0))+1;c[j>>2]=$b(c[e>>2]|0,c[g>>2]|0)|0;cc(c[e>>2]|0,c[j>>2]|0,(c[j>>2]|0)+1|0,c[g>>2]|0);j=c[j>>2]<>2];c[k>>2]=j|(gc(c[e>>2]|0,c[h>>2]|0)|0);if((c[k>>2]|0)>>>0<=(c[f>>2]|0)>>>0){c[d>>2]=c[k>>2];k=c[d>>2]|0;i=l;return k|0}else{c[(c[e>>2]|0)+44>>2]=1;c[d>>2]=c[f>>2];k=c[d>>2]|0;i=l;return k|0}return 0}function gc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;h=j+8|0;f=j+4|0;g=j;c[d>>2]=a;c[e>>2]=b;c[h>>2]=c[(c[d>>2]|0)+12>>2];c[f>>2]=c[(c[d>>2]|0)+16>>2];if((c[f>>2]|0)>>>0<(c[e>>2]|0)>>>0)do{a=hc(c[d>>2]|0)|0;c[h>>2]=c[h>>2]|a<>2];c[f>>2]=(c[f>>2]|0)+8}while((c[f>>2]|0)<=24);c[g>>2]=c[h>>2]&(1<>2])-1;c[h>>2]=(c[h>>2]|0)>>>(c[e>>2]|0);c[f>>2]=(c[f>>2]|0)-(c[e>>2]|0);c[(c[d>>2]|0)+12>>2]=c[h>>2];c[(c[d>>2]|0)+16>>2]=c[f>>2];h=(c[d>>2]|0)+20|0;c[h>>2]=(c[h>>2]|0)+(c[e>>2]|0);i=j;return c[g>>2]|0}function hc(a){a=a|0;var b=0,e=0,f=0,g=0;e=i;i=i+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){a=0;i=e;return a|0}f=c[(c[b>>2]|0)+4>>2]|0;g=(c[b>>2]|0)+8|0;a=(c[g>>2]|0)+1|0;c[g>>2]=a;a=d[(c[c[b>>2]>>2]|0)+(f-a)>>0]|0;i=e;return a|0}function ic(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+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;i=e;return}function jc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=kc(c[(c[f>>2]|0)+28>>2]|0,c[j>>2]|0)|0;if((c[g>>2]|0)>>>0>0){e=(c[(c[f>>2]|0)+28>>2]|0)-(_(c[k>>2]|0,(c[j>>2]|0)-(c[g>>2]|0)|0)|0)|0;a=(c[f>>2]|0)+32|0;c[a>>2]=(c[a>>2]|0)+e;k=_(c[k>>2]|0,(c[h>>2]|0)-(c[g>>2]|0)|0)|0;c[(c[f>>2]|0)+28>>2]=k;k=c[f>>2]|0;lc(k);i=l;return}else{a=_(c[k>>2]|0,(c[j>>2]|0)-(c[h>>2]|0)|0)|0;k=(c[f>>2]|0)+28|0;c[k>>2]=(c[k>>2]|0)-a;k=c[f>>2]|0;lc(k);i=l;return}}function kc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;i=f;return ((c[e>>2]|0)>>>0)/((c[d>>2]|0)>>>0)|0|0}function lc(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;while(1){if((c[(c[b>>2]|0)+28>>2]|0)>>>0>8388608)break;mc(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}i=d;return}function mc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+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;i=h;return}c[f>>2]=c[e>>2]>>8;if((c[(c[d>>2]|0)+40>>2]|0)>=0){b=nc(c[d>>2]|0,(c[(c[d>>2]|0)+40>>2]|0)+(c[f>>2]|0)|0)|0;a=(c[d>>2]|0)+44|0;c[a>>2]=c[a>>2]|b}if((c[(c[d>>2]|0)+36>>2]|0)>>>0>0){c[g>>2]=255+(c[f>>2]|0)&255;do{f=nc(c[d>>2]|0,c[g>>2]|0)|0;a=(c[d>>2]|0)+44|0;c[a>>2]=c[a>>2]|f;a=(c[d>>2]|0)+36|0;f=(c[a>>2]|0)+-1|0;c[a>>2]=f}while(f>>>0>0)}c[(c[d>>2]|0)+40>>2]=c[e>>2]&255;i=h;return}function nc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+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;d=c[e>>2]|0;i=h;return d|0}else{b=c[g>>2]&255;g=(c[f>>2]|0)+24|0;d=c[g>>2]|0;c[g>>2]=d+1;a[(c[c[f>>2]>>2]|0)+d>>0]=b;c[e>>2]=0;d=c[e>>2]|0;i=h;return d|0}return 0}function oc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=(c[(c[f>>2]|0)+28>>2]|0)>>>(c[j>>2]|0);if((c[g>>2]|0)>>>0>0){b=(c[(c[f>>2]|0)+28>>2]|0)-(_(c[k>>2]|0,(1<>2])-(c[g>>2]|0)|0)|0)|0;a=(c[f>>2]|0)+32|0;c[a>>2]=(c[a>>2]|0)+b;k=_(c[k>>2]|0,(c[h>>2]|0)-(c[g>>2]|0)|0)|0;c[(c[f>>2]|0)+28>>2]=k;k=c[f>>2]|0;lc(k);i=l;return}else{a=_(c[k>>2]|0,(1<>2])-(c[h>>2]|0)|0)|0;k=(c[f>>2]|0)+28|0;c[k>>2]=(c[k>>2]|0)-a;k=c[f>>2]|0;lc(k);i=l;return}}function pc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+20|0;f=k+16|0;l=k+12|0;h=k+8|0;j=k+4|0;g=k;c[e>>2]=a;c[f>>2]=b;c[l>>2]=d;c[h>>2]=c[(c[e>>2]|0)+28>>2];c[g>>2]=c[(c[e>>2]|0)+32>>2];c[j>>2]=(c[h>>2]|0)>>>(c[l>>2]|0);c[h>>2]=(c[h>>2]|0)-(c[j>>2]|0);if(c[f>>2]|0)c[(c[e>>2]|0)+32>>2]=(c[g>>2]|0)+(c[h>>2]|0);c[(c[e>>2]|0)+28>>2]=c[f>>2]|0?c[j>>2]|0:c[h>>2]|0;lc(c[e>>2]|0);i=k;return}function qc(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l+8|0;m=l+4|0;k=l;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[m>>2]=f;c[k>>2]=(c[(c[g>>2]|0)+28>>2]|0)>>>(c[m>>2]|0);if((c[h>>2]|0)>0){a=(c[(c[g>>2]|0)+28>>2]|0)-(_(c[k>>2]|0,d[(c[j>>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)+a;m=_(c[k>>2]|0,(d[(c[j>>2]|0)+((c[h>>2]|0)-1)>>0]|0)-(d[(c[j>>2]|0)+(c[h>>2]|0)>>0]|0)|0)|0;c[(c[g>>2]|0)+28>>2]=m;m=c[g>>2]|0;lc(m);i=l;return}else{k=_(c[k>>2]|0,d[(c[j>>2]|0)+(c[h>>2]|0)>>0]|0)|0;m=(c[g>>2]|0)+28|0;c[m>>2]=(c[m>>2]|0)-k;m=c[g>>2]|0;lc(m);i=l;return}}function rc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;g=l+12|0;j=l+8|0;h=l+4|0;k=l;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[g>>2]=(c[g>>2]|0)+-1;c[k>>2]=32-(aa(c[g>>2]|0)|0);if((c[k>>2]|0)>8){c[k>>2]=(c[k>>2]|0)-8;c[j>>2]=((c[g>>2]|0)>>>(c[k>>2]|0))+1;c[h>>2]=(c[f>>2]|0)>>>(c[k>>2]|0);jc(c[e>>2]|0,c[h>>2]|0,(c[h>>2]|0)+1|0,c[j>>2]|0);sc(c[e>>2]|0,c[f>>2]&(1<>2])-1,c[k>>2]|0);i=l;return}else{jc(c[e>>2]|0,c[f>>2]|0,(c[f>>2]|0)+1|0,(c[g>>2]|0)+1|0);i=l;return}}function sc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=c[(c[e>>2]|0)+12>>2];c[h>>2]=c[(c[e>>2]|0)+16>>2];if(((c[h>>2]|0)+(c[g>>2]|0)|0)>>>0>32)do{b=tc(c[e>>2]|0,c[j>>2]&255)|0;a=(c[e>>2]|0)+44|0;c[a>>2]=c[a>>2]|b;c[j>>2]=(c[j>>2]|0)>>>8;c[h>>2]=(c[h>>2]|0)-8}while((c[h>>2]|0)>=8);c[j>>2]=c[j>>2]|c[f>>2]<>2];c[h>>2]=(c[h>>2]|0)+(c[g>>2]|0);c[(c[e>>2]|0)+12>>2]=c[j>>2];c[(c[e>>2]|0)+16>>2]=c[h>>2];j=(c[e>>2]|0)+20|0;c[j>>2]=(c[j>>2]|0)+(c[g>>2]|0);i=k;return}function tc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+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;d=c[e>>2]|0;i=h;return d|0}else{g=c[g>>2]&255;b=c[(c[f>>2]|0)+4>>2]|0;j=(c[f>>2]|0)+8|0;d=(c[j>>2]|0)+1|0;c[j>>2]=d;a[(c[c[f>>2]>>2]|0)+(b-d)>>0]=g;c[e>>2]=0;d=c[e>>2]|0;i=h;return d|0}return 0}function uc(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[l>>2]=8-(c[j>>2]|0);c[k>>2]=(1<>2])-1<>2];f=c[g>>2]|0;if((c[(c[g>>2]|0)+24>>2]|0)>>>0>0){a[c[c[g>>2]>>2]>>0]=(d[c[f>>2]>>0]|0)&~c[k>>2]|c[h>>2]<>2];i=m;return}b=c[g>>2]|0;if((c[f+40>>2]|0)>=0){c[(c[g>>2]|0)+40>>2]=c[b+40>>2]&~c[k>>2]|c[h>>2]<>2];i=m;return}f=c[g>>2]|0;if((c[b+28>>2]|0)>>>0<=-2147483648>>>(c[j>>2]|0)>>>0){c[(c[g>>2]|0)+32>>2]=c[f+32>>2]&~(c[k>>2]<<23)|c[h>>2]<<23+(c[l>>2]|0);i=m;return}else{c[f+44>>2]=-1;i=m;return}}function vc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;qj((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];i=d;return}function wc(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+20|0;k=l+16|0;j=l+12|0;e=l+8|0;f=l+4|0;h=l;c[g>>2]=b;c[h>>2]=32-(32-(aa(c[(c[g>>2]|0)+28>>2]|0)|0));c[e>>2]=2147483647>>>(c[h>>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[h>>2]=(c[h>>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[h>>2]|0)<=0)break;mc(b,(c[f>>2]|0)>>>23);c[f>>2]=c[f>>2]<<8&2147483647;c[h>>2]=(c[h>>2]|0)-8}if(!((c[b+40>>2]|0)<0?(c[(c[g>>2]|0)+36>>2]|0)>>>0<=0:0))mc(c[g>>2]|0,0);c[k>>2]=c[(c[g>>2]|0)+12>>2];c[j>>2]=c[(c[g>>2]|0)+16>>2];while(1){b=c[g>>2]|0;if((c[j>>2]|0)<8)break;e=tc(b,c[k>>2]&255)|0;f=(c[g>>2]|0)+44|0;c[f>>2]=c[f>>2]|e;c[k>>2]=(c[k>>2]|0)>>>8;c[j>>2]=(c[j>>2]|0)-8}if(c[b+44>>2]|0){i=l;return}oj((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[j>>2]|0)<=0){i=l;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;i=l;return}c[h>>2]=0-(c[h>>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[h>>2]|0)<(c[j>>2]|0):0){c[k>>2]=c[k>>2]&(1<>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[k>>2]&255;i=l;return}function xc(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+64|0;e=o+60|0;f=o+56|0;l=o+52|0;k=o+48|0;m=o+44|0;g=o+40|0;h=o+8|0;j=o+4|0;n=o;c[e>>2]=a;c[f>>2]=d;if((c[(c[e>>2]|0)+8>>2]|0)>0)d=c[(c[e>>2]|0)+8>>2]|0;else d=0;c[n>>2]=d;c[h>>2]=1;c[g>>2]=0;do{c[m>>2]=b[(c[e>>2]|0)+12+(c[g>>2]<<1<<1)>>1];c[k>>2]=b[(c[e>>2]|0)+12+((c[g>>2]<<1)+1<<1)>>1];a=_(c[h+(c[g>>2]<<2)>>2]|0,c[m>>2]|0)|0;c[h+((c[g>>2]|0)+1<<2)>>2]=a;c[g>>2]=(c[g>>2]|0)+1}while((c[k>>2]|0)!=1);c[k>>2]=b[(c[e>>2]|0)+12+((c[g>>2]<<1)-1<<1)>>1];c[j>>2]=(c[g>>2]|0)-1;while(1){if((c[j>>2]|0)<0)break;if(c[j>>2]|0)c[l>>2]=b[(c[e>>2]|0)+12+((c[j>>2]<<1)-1<<1)>>1];else c[l>>2]=1;switch(b[(c[e>>2]|0)+12+(c[j>>2]<<1<<1)>>1]|0){case 2:{yc(c[f>>2]|0,c[k>>2]|0,c[h+(c[j>>2]<<2)>>2]|0);break}case 4:{zc(c[f>>2]|0,c[h+(c[j>>2]<<2)>>2]<>2],c[e>>2]|0,c[k>>2]|0,c[h+(c[j>>2]<<2)>>2]|0,c[l>>2]|0);break}case 3:{Ac(c[f>>2]|0,c[h+(c[j>>2]<<2)>>2]<>2],c[e>>2]|0,c[k>>2]|0,c[h+(c[j>>2]<<2)>>2]|0,c[l>>2]|0);break}case 5:{Bc(c[f>>2]|0,c[h+(c[j>>2]<<2)>>2]<>2],c[e>>2]|0,c[k>>2]|0,c[h+(c[j>>2]<<2)>>2]|0,c[l>>2]|0);break}default:{}}c[k>>2]=c[l>>2];c[j>>2]=(c[j>>2]|0)+-1}i=o;return}function yc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+28|0;f=m+20|0;h=m+16|0;j=m+12|0;l=m+8|0;k=m;c[e>>2]=a;c[m+24>>2]=b;c[f>>2]=d;g[l>>2]=.7071067690849304;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[f>>2]|0))break;c[h>>2]=(c[e>>2]|0)+32;b=c[h>>2]|0;c[k>>2]=c[b>>2];c[k+4>>2]=c[b+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];b=c[e>>2]|0;g[b>>2]=+g[b>>2]+ +g[k>>2];b=(c[e>>2]|0)+4|0;g[b>>2]=+g[b>>2]+ +g[k+4>>2];g[k>>2]=(+g[(c[h>>2]|0)+8>>2]+ +g[(c[h>>2]|0)+8+4>>2])*+g[l>>2];g[k+4>>2]=(+g[(c[h>>2]|0)+8+4>>2]-+g[(c[h>>2]|0)+8>>2])*+g[l>>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];b=(c[e>>2]|0)+8|0;g[b>>2]=+g[b>>2]+ +g[k>>2];b=(c[e>>2]|0)+8+4|0;g[b>>2]=+g[b>>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];b=(c[e>>2]|0)+16|0;g[b>>2]=+g[b>>2]+ +g[k>>2];b=(c[e>>2]|0)+16+4|0;g[b>>2]=+g[b>>2]+ +g[k+4>>2];g[k>>2]=(+g[(c[h>>2]|0)+24+4>>2]-+g[(c[h>>2]|0)+24>>2])*+g[l>>2];g[k+4>>2]=(-+g[(c[h>>2]|0)+24+4>>2]-+g[(c[h>>2]|0)+24>>2])*+g[l>>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];b=(c[e>>2]|0)+24|0;g[b>>2]=+g[b>>2]+ +g[k>>2];b=(c[e>>2]|0)+24+4|0;g[b>>2]=+g[b>>2]+ +g[k+4>>2];c[e>>2]=(c[e>>2]|0)+64;c[j>>2]=(c[j>>2]|0)+1}i=m;return}function zc(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 j=0,k=0,l=0,m=0,n=0,o=0,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=i;i=i+128|0;j=A+120|0;k=A+116|0;l=A+112|0;m=A+108|0;n=A+104|0;o=A+100|0;q=A+96|0;v=A+88|0;w=A+80|0;r=A+72|0;u=A+24|0;x=A+20|0;y=A+16|0;z=A+12|0;s=A+8|0;t=A+4|0;p=A;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=h;if((c[m>>2]|0)==1){c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[n>>2]|0))break;g[v>>2]=+g[c[j>>2]>>2]-+g[(c[j>>2]|0)+16>>2];g[v+4>>2]=+g[(c[j>>2]|0)+4>>2]-+g[(c[j>>2]|0)+16+4>>2];z=c[j>>2]|0;g[z>>2]=+g[z>>2]+ +g[(c[j>>2]|0)+16>>2];z=(c[j>>2]|0)+4|0;g[z>>2]=+g[z>>2]+ +g[(c[j>>2]|0)+16+4>>2];g[w>>2]=+g[(c[j>>2]|0)+8>>2]+ +g[(c[j>>2]|0)+24>>2];g[w+4>>2]=+g[(c[j>>2]|0)+8+4>>2]+ +g[(c[j>>2]|0)+24+4>>2];g[(c[j>>2]|0)+16>>2]=+g[c[j>>2]>>2]-+g[w>>2];g[(c[j>>2]|0)+16+4>>2]=+g[(c[j>>2]|0)+4>>2]-+g[w+4>>2];z=c[j>>2]|0;g[z>>2]=+g[z>>2]+ +g[w>>2];z=(c[j>>2]|0)+4|0;g[z>>2]=+g[z>>2]+ +g[w+4>>2];g[w>>2]=+g[(c[j>>2]|0)+8>>2]-+g[(c[j>>2]|0)+24>>2];g[w+4>>2]=+g[(c[j>>2]|0)+8+4>>2]-+g[(c[j>>2]|0)+24+4>>2];g[(c[j>>2]|0)+8>>2]=+g[v>>2]+ +g[w+4>>2];g[(c[j>>2]|0)+8+4>>2]=+g[v+4>>2]-+g[w>>2];g[(c[j>>2]|0)+24>>2]=+g[v>>2]-+g[w+4>>2];g[(c[j>>2]|0)+24+4>>2]=+g[v+4>>2]+ +g[w>>2];c[j>>2]=(c[j>>2]|0)+32;c[q>>2]=(c[q>>2]|0)+1}i=A;return}c[s>>2]=c[m>>2]<<1;c[t>>2]=(c[m>>2]|0)*3;c[p>>2]=c[j>>2];c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[n>>2]|0))break;c[j>>2]=(c[p>>2]|0)+((_(c[q>>2]|0,c[o>>2]|0)|0)<<3);d=c[(c[l>>2]|0)+48>>2]|0;c[x>>2]=d;c[y>>2]=d;c[z>>2]=d;c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[m>>2]|0))break;g[u>>2]=+g[(c[j>>2]|0)+(c[m>>2]<<3)>>2]*+g[c[x>>2]>>2]-+g[(c[j>>2]|0)+(c[m>>2]<<3)+4>>2]*+g[(c[x>>2]|0)+4>>2];g[u+4>>2]=+g[(c[j>>2]|0)+(c[m>>2]<<3)>>2]*+g[(c[x>>2]|0)+4>>2]+ +g[(c[j>>2]|0)+(c[m>>2]<<3)+4>>2]*+g[c[x>>2]>>2];g[u+8>>2]=+g[(c[j>>2]|0)+(c[s>>2]<<3)>>2]*+g[c[y>>2]>>2]-+g[(c[j>>2]|0)+(c[s>>2]<<3)+4>>2]*+g[(c[y>>2]|0)+4>>2];g[u+8+4>>2]=+g[(c[j>>2]|0)+(c[s>>2]<<3)>>2]*+g[(c[y>>2]|0)+4>>2]+ +g[(c[j>>2]|0)+(c[s>>2]<<3)+4>>2]*+g[c[y>>2]>>2];g[u+16>>2]=+g[(c[j>>2]|0)+(c[t>>2]<<3)>>2]*+g[c[z>>2]>>2]-+g[(c[j>>2]|0)+(c[t>>2]<<3)+4>>2]*+g[(c[z>>2]|0)+4>>2];g[u+16+4>>2]=+g[(c[j>>2]|0)+(c[t>>2]<<3)>>2]*+g[(c[z>>2]|0)+4>>2]+ +g[(c[j>>2]|0)+(c[t>>2]<<3)+4>>2]*+g[c[z>>2]>>2];g[u+40>>2]=+g[c[j>>2]>>2]-+g[u+8>>2];g[u+40+4>>2]=+g[(c[j>>2]|0)+4>>2]-+g[u+8+4>>2];d=c[j>>2]|0;g[d>>2]=+g[d>>2]+ +g[u+8>>2];d=(c[j>>2]|0)+4|0;g[d>>2]=+g[d>>2]+ +g[u+8+4>>2];g[u+24>>2]=+g[u>>2]+ +g[u+16>>2];g[u+24+4>>2]=+g[u+4>>2]+ +g[u+16+4>>2];g[u+32>>2]=+g[u>>2]-+g[u+16>>2];g[u+32+4>>2]=+g[u+4>>2]-+g[u+16+4>>2];g[(c[j>>2]|0)+(c[s>>2]<<3)>>2]=+g[c[j>>2]>>2]-+g[u+24>>2];g[(c[j>>2]|0)+(c[s>>2]<<3)+4>>2]=+g[(c[j>>2]|0)+4>>2]-+g[u+24+4>>2];c[x>>2]=(c[x>>2]|0)+(c[k>>2]<<3);c[y>>2]=(c[y>>2]|0)+(c[k>>2]<<1<<3);c[z>>2]=(c[z>>2]|0)+((c[k>>2]|0)*3<<3);d=c[j>>2]|0;g[d>>2]=+g[d>>2]+ +g[u+24>>2];d=(c[j>>2]|0)+4|0;g[d>>2]=+g[d>>2]+ +g[u+24+4>>2];g[(c[j>>2]|0)+(c[m>>2]<<3)>>2]=+g[u+40>>2]+ +g[u+32+4>>2];g[(c[j>>2]|0)+(c[m>>2]<<3)+4>>2]=+g[u+40+4>>2]-+g[u+32>>2];g[(c[j>>2]|0)+(c[t>>2]<<3)>>2]=+g[u+40>>2]-+g[u+32+4>>2];g[(c[j>>2]|0)+(c[t>>2]<<3)+4>>2]=+g[u+40+4>>2]+ +g[u+32>>2];c[j>>2]=(c[j>>2]|0)+8;c[r>>2]=(c[r>>2]|0)+1}c[q>>2]=(c[q>>2]|0)+1}i=A;return}function Ac(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 j=0,k=0,l=0,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=i;i=i+112|0;j=x+96|0;k=x+92|0;l=x+88|0;m=x+84|0;n=x+80|0;o=x+76|0;r=x+72|0;s=x+68|0;t=x+64|0;v=x+60|0;w=x+56|0;u=x+16|0;q=x+8|0;p=x;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=h;c[t>>2]=c[m>>2]<<1;c[p>>2]=c[j>>2];d=_(c[k>>2]|0,c[m>>2]|0)|0;d=(c[(c[l>>2]|0)+48>>2]|0)+(d<<3)|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[n>>2]|0))break;c[j>>2]=(c[p>>2]|0)+((_(c[r>>2]|0,c[o>>2]|0)|0)<<3);d=c[(c[l>>2]|0)+48>>2]|0;c[w>>2]=d;c[v>>2]=d;c[s>>2]=c[m>>2];do{g[u+8>>2]=+g[(c[j>>2]|0)+(c[m>>2]<<3)>>2]*+g[c[v>>2]>>2]-+g[(c[j>>2]|0)+(c[m>>2]<<3)+4>>2]*+g[(c[v>>2]|0)+4>>2];g[u+8+4>>2]=+g[(c[j>>2]|0)+(c[m>>2]<<3)>>2]*+g[(c[v>>2]|0)+4>>2]+ +g[(c[j>>2]|0)+(c[m>>2]<<3)+4>>2]*+g[c[v>>2]>>2];g[u+16>>2]=+g[(c[j>>2]|0)+(c[t>>2]<<3)>>2]*+g[c[w>>2]>>2]-+g[(c[j>>2]|0)+(c[t>>2]<<3)+4>>2]*+g[(c[w>>2]|0)+4>>2];g[u+16+4>>2]=+g[(c[j>>2]|0)+(c[t>>2]<<3)>>2]*+g[(c[w>>2]|0)+4>>2]+ +g[(c[j>>2]|0)+(c[t>>2]<<3)+4>>2]*+g[c[w>>2]>>2];g[u+24>>2]=+g[u+8>>2]+ +g[u+16>>2];g[u+24+4>>2]=+g[u+8+4>>2]+ +g[u+16+4>>2];g[u>>2]=+g[u+8>>2]-+g[u+16>>2];g[u+4>>2]=+g[u+8+4>>2]-+g[u+16+4>>2];c[v>>2]=(c[v>>2]|0)+(c[k>>2]<<3);c[w>>2]=(c[w>>2]|0)+(c[k>>2]<<1<<3);g[(c[j>>2]|0)+(c[m>>2]<<3)>>2]=+g[c[j>>2]>>2]-+g[u+24>>2]*.5;g[(c[j>>2]|0)+(c[m>>2]<<3)+4>>2]=+g[(c[j>>2]|0)+4>>2]-+g[u+24+4>>2]*.5;g[u>>2]=+g[u>>2]*+g[q+4>>2];d=u+4|0;g[d>>2]=+g[d>>2]*+g[q+4>>2];d=c[j>>2]|0;g[d>>2]=+g[d>>2]+ +g[u+24>>2];d=(c[j>>2]|0)+4|0;g[d>>2]=+g[d>>2]+ +g[u+24+4>>2];g[(c[j>>2]|0)+(c[t>>2]<<3)>>2]=+g[(c[j>>2]|0)+(c[m>>2]<<3)>>2]+ +g[u+4>>2];g[(c[j>>2]|0)+(c[t>>2]<<3)+4>>2]=+g[(c[j>>2]|0)+(c[m>>2]<<3)+4>>2]-+g[u>>2];d=(c[j>>2]|0)+(c[m>>2]<<3)|0;g[d>>2]=+g[d>>2]-+g[u+4>>2];d=(c[j>>2]|0)+(c[m>>2]<<3)+4|0;g[d>>2]=+g[d>>2]+ +g[u>>2];c[j>>2]=(c[j>>2]|0)+8;d=(c[s>>2]|0)+-1|0;c[s>>2]=d}while((d|0)!=0);c[r>>2]=(c[r>>2]|0)+1}i=x;return}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 j=0,k=0,l=0,m=0,n=0,o=0,p=0,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=i;i=i+192|0;j=A+184|0;k=A+180|0;B=A+176|0;l=A+172|0;m=A+168|0;n=A+164|0;o=A+160|0;p=A+156|0;q=A+152|0;r=A+148|0;s=A+144|0;u=A+140|0;x=A+136|0;v=A+32|0;w=A+24|0;y=A+16|0;z=A+8|0;t=A;c[j>>2]=a;c[k>>2]=b;c[B>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=h;c[t>>2]=c[j>>2];d=_(c[k>>2]|0,c[l>>2]|0)|0;d=(c[(c[B>>2]|0)+48>>2]|0)+(d<<3)|0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];d=_(c[k>>2]<<1,c[l>>2]|0)|0;d=(c[(c[B>>2]|0)+48>>2]|0)+(d<<3)|0;c[z>>2]=c[d>>2];c[z+4>>2]=c[d+4>>2];c[w>>2]=c[(c[B>>2]|0)+48>>2];c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[m>>2]|0))break;c[j>>2]=(c[t>>2]|0)+((_(c[u>>2]|0,c[n>>2]|0)|0)<<3);c[o>>2]=c[j>>2];c[p>>2]=(c[o>>2]|0)+(c[l>>2]<<3);c[q>>2]=(c[o>>2]|0)+(c[l>>2]<<1<<3);c[r>>2]=(c[o>>2]|0)+((c[l>>2]|0)*3<<3);c[s>>2]=(c[o>>2]|0)+(c[l>>2]<<2<<3);c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[l>>2]|0))break;B=c[o>>2]|0;c[v>>2]=c[B>>2];c[v+4>>2]=c[B+4>>2];B=_(c[x>>2]|0,c[k>>2]|0)|0;d=_(c[x>>2]|0,c[k>>2]|0)|0;g[v+8>>2]=+g[c[p>>2]>>2]*+g[(c[w>>2]|0)+(B<<3)>>2]-+g[(c[p>>2]|0)+4>>2]*+g[(c[w>>2]|0)+(d<<3)+4>>2];d=_(c[x>>2]|0,c[k>>2]|0)|0;B=_(c[x>>2]|0,c[k>>2]|0)|0;g[v+8+4>>2]=+g[c[p>>2]>>2]*+g[(c[w>>2]|0)+(d<<3)+4>>2]+ +g[(c[p>>2]|0)+4>>2]*+g[(c[w>>2]|0)+(B<<3)>>2];B=_(c[x>>2]<<1,c[k>>2]|0)|0;d=_(c[x>>2]<<1,c[k>>2]|0)|0;g[v+16>>2]=+g[c[q>>2]>>2]*+g[(c[w>>2]|0)+(B<<3)>>2]-+g[(c[q>>2]|0)+4>>2]*+g[(c[w>>2]|0)+(d<<3)+4>>2];d=_(c[x>>2]<<1,c[k>>2]|0)|0;B=_(c[x>>2]<<1,c[k>>2]|0)|0;g[v+16+4>>2]=+g[c[q>>2]>>2]*+g[(c[w>>2]|0)+(d<<3)+4>>2]+ +g[(c[q>>2]|0)+4>>2]*+g[(c[w>>2]|0)+(B<<3)>>2];B=_((c[x>>2]|0)*3|0,c[k>>2]|0)|0;d=_((c[x>>2]|0)*3|0,c[k>>2]|0)|0;g[v+24>>2]=+g[c[r>>2]>>2]*+g[(c[w>>2]|0)+(B<<3)>>2]-+g[(c[r>>2]|0)+4>>2]*+g[(c[w>>2]|0)+(d<<3)+4>>2];d=_((c[x>>2]|0)*3|0,c[k>>2]|0)|0;B=_((c[x>>2]|0)*3|0,c[k>>2]|0)|0;g[v+24+4>>2]=+g[c[r>>2]>>2]*+g[(c[w>>2]|0)+(d<<3)+4>>2]+ +g[(c[r>>2]|0)+4>>2]*+g[(c[w>>2]|0)+(B<<3)>>2];B=_(c[x>>2]<<2,c[k>>2]|0)|0;d=_(c[x>>2]<<2,c[k>>2]|0)|0;g[v+32>>2]=+g[c[s>>2]>>2]*+g[(c[w>>2]|0)+(B<<3)>>2]-+g[(c[s>>2]|0)+4>>2]*+g[(c[w>>2]|0)+(d<<3)+4>>2];d=_(c[x>>2]<<2,c[k>>2]|0)|0;B=_(c[x>>2]<<2,c[k>>2]|0)|0;g[v+32+4>>2]=+g[c[s>>2]>>2]*+g[(c[w>>2]|0)+(d<<3)+4>>2]+ +g[(c[s>>2]|0)+4>>2]*+g[(c[w>>2]|0)+(B<<3)>>2];g[v+56>>2]=+g[v+8>>2]+ +g[v+32>>2];g[v+56+4>>2]=+g[v+8+4>>2]+ +g[v+32+4>>2];g[v+80>>2]=+g[v+8>>2]-+g[v+32>>2];g[v+80+4>>2]=+g[v+8+4>>2]-+g[v+32+4>>2];g[v+64>>2]=+g[v+16>>2]+ +g[v+24>>2];g[v+64+4>>2]=+g[v+16+4>>2]+ +g[v+24+4>>2];g[v+72>>2]=+g[v+16>>2]-+g[v+24>>2];g[v+72+4>>2]=+g[v+16+4>>2]-+g[v+24+4>>2];B=c[o>>2]|0;g[B>>2]=+g[B>>2]+(+g[v+56>>2]+ +g[v+64>>2]);B=(c[o>>2]|0)+4|0;g[B>>2]=+g[B>>2]+(+g[v+56+4>>2]+ +g[v+64+4>>2]);g[v+40>>2]=+g[v>>2]+ +g[v+56>>2]*+g[y>>2]+ +g[v+64>>2]*+g[z>>2];g[v+40+4>>2]=+g[v+4>>2]+ +g[v+56+4>>2]*+g[y>>2]+ +g[v+64+4>>2]*+g[z>>2];g[v+48>>2]=+g[v+80+4>>2]*+g[y+4>>2]+ +g[v+72+4>>2]*+g[z+4>>2];g[v+48+4>>2]=-(+g[v+80>>2]*+g[y+4>>2])-+g[v+72>>2]*+g[z+4>>2];g[c[p>>2]>>2]=+g[v+40>>2]-+g[v+48>>2];g[(c[p>>2]|0)+4>>2]=+g[v+40+4>>2]-+g[v+48+4>>2];g[c[s>>2]>>2]=+g[v+40>>2]+ +g[v+48>>2];g[(c[s>>2]|0)+4>>2]=+g[v+40+4>>2]+ +g[v+48+4>>2];g[v+88>>2]=+g[v>>2]+ +g[v+56>>2]*+g[z>>2]+ +g[v+64>>2]*+g[y>>2];g[v+88+4>>2]=+g[v+4>>2]+ +g[v+56+4>>2]*+g[z>>2]+ +g[v+64+4>>2]*+g[y>>2];g[v+96>>2]=-(+g[v+80+4>>2]*+g[z+4>>2])+ +g[v+72+4>>2]*+g[y+4>>2];g[v+96+4>>2]=+g[v+80>>2]*+g[z+4>>2]-+g[v+72>>2]*+g[y+4>>2];g[c[q>>2]>>2]=+g[v+88>>2]+ +g[v+96>>2];g[(c[q>>2]|0)+4>>2]=+g[v+88+4>>2]+ +g[v+96+4>>2];g[c[r>>2]>>2]=+g[v+88>>2]-+g[v+96>>2];g[(c[r>>2]|0)+4>>2]=+g[v+88+4>>2]-+g[v+96+4>>2];c[o>>2]=(c[o>>2]|0)+8;c[p>>2]=(c[p>>2]|0)+8;c[q>>2]=(c[q>>2]|0)+8;c[r>>2]=(c[r>>2]|0)+8;c[s>>2]=(c[s>>2]|0)+8;c[x>>2]=(c[x>>2]|0)+1}c[u>>2]=(c[u>>2]|0)+1}i=A;return}function Cc(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;h=n+20|0;j=n+16|0;k=n+12|0;l=n+8|0;m=n;c[f>>2]=a;c[h>>2]=d;c[j>>2]=e;g[l>>2]=+g[(c[f>>2]|0)+4>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[f>>2]>>2]|0))break;a=(c[h>>2]|0)+(c[k>>2]<<3)|0;c[m>>2]=c[a>>2];c[m+4>>2]=c[a+4>>2];g[(c[j>>2]|0)+(b[(c[(c[f>>2]|0)+44>>2]|0)+(c[k>>2]<<1)>>1]<<3)>>2]=+g[l>>2]*+g[m>>2];g[(c[j>>2]|0)+(b[(c[(c[f>>2]|0)+44>>2]|0)+(c[k>>2]<<1)>>1]<<3)+4>>2]=+g[l>>2]*+g[m+4>>2];c[k>>2]=(c[k>>2]|0)+1}xc(c[f>>2]|0,c[j>>2]|0);i=n;return}function Dc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;j=q+36|0;k=q+32|0;l=q+28|0;f=q+24|0;n=q+20|0;h=q+16|0;p=q+12|0;o=q+8|0;m=q+4|0;g=q;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[f>>2]=e;c[h>>2]=c[c[k>>2]>>2];c[n>>2]=0;if(!(c[h>>2]|0)){m=c[j>>2]|0;o=c[n>>2]|0;n=c[n>>2]|0;p=c[l>>2]|0;p=n+p|0;oc(m,o,p,15);i=q;return}c[p>>2]=0-((c[h>>2]|0)<0&1);c[h>>2]=(c[h>>2]|0)+(c[p>>2]|0)^c[p>>2];c[n>>2]=c[l>>2];c[l>>2]=Ec(c[l>>2]|0,c[f>>2]|0)|0;c[o>>2]=1;while(1){if((c[l>>2]|0)>>>0>0)a=(c[o>>2]|0)<(c[h>>2]|0);else a=0;e=c[l>>2]|0;if(!a)break;c[l>>2]=e<<1;c[n>>2]=(c[n>>2]|0)+((c[l>>2]|0)+2);c[l>>2]=(_(c[l>>2]|0,c[f>>2]|0)|0)>>>15;c[o>>2]=(c[o>>2]|0)+1}if(e|0){c[l>>2]=(c[l>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+(c[l>>2]&~c[p>>2]);m=c[j>>2]|0;o=c[n>>2]|0;n=c[n>>2]|0;p=c[l>>2]|0;p=n+p|0;oc(m,o,p,15);i=q;return}c[g>>2]=(32768-(c[n>>2]|0)+1-1|0)>>>0;c[g>>2]=(c[g>>2]|0)-(c[p>>2]|0)>>1;if(((c[h>>2]|0)-(c[o>>2]|0)|0)<((c[g>>2]|0)-1|0))e=(c[h>>2]|0)-(c[o>>2]|0)|0;else e=(c[g>>2]|0)-1|0;c[m>>2]=e;c[n>>2]=(c[n>>2]|0)+((c[m>>2]<<1)+1+(c[p>>2]|0));c[l>>2]=1<(32768-(c[n>>2]|0)|0)>>>0?1:32768-(c[n>>2]|0)|0;c[c[k>>2]>>2]=(c[o>>2]|0)+(c[m>>2]|0)+(c[p>>2]|0)^c[p>>2];m=c[j>>2]|0;o=c[n>>2]|0;n=c[n>>2]|0;p=c[l>>2]|0;p=n+p|0;oc(m,o,p,15);i=q;return}function Ec(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+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);a=(_(c[f>>2]|0,16384-(c[e>>2]|0)|0)|0)>>>15;i=d;return a|0}function Fc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;j=m+20|0;f=m+16|0;l=m+12|0;k=m+8|0;h=m+4|0;g=m;c[e>>2]=a;c[j>>2]=b;c[f>>2]=d;c[l>>2]=0;c[h>>2]=bc(c[e>>2]|0,15)|0;c[k>>2]=0;do if((c[h>>2]|0)>>>0>=(c[j>>2]|0)>>>0){c[l>>2]=(c[l>>2]|0)+1;c[k>>2]=c[j>>2];c[j>>2]=(Ec(c[j>>2]|0,c[f>>2]|0)|0)+1;while(1){if((c[j>>2]|0)>>>0>1)d=(c[h>>2]|0)>>>0>=((c[k>>2]|0)+(c[j>>2]<<1)|0)>>>0;else d=0;a=c[j>>2]|0;if(!d)break;c[j>>2]=a<<1;c[k>>2]=(c[k>>2]|0)+(c[j>>2]|0);c[j>>2]=(_((c[j>>2]|0)-2|0,c[f>>2]|0)|0)>>>15;c[j>>2]=(c[j>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}if(a>>>0<=1){c[g>>2]=((c[h>>2]|0)-(c[k>>2]|0)|0)>>>1;c[l>>2]=(c[l>>2]|0)+(c[g>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[g>>2]<<1)}if((c[h>>2]|0)>>>0<((c[k>>2]|0)+(c[j>>2]|0)|0)>>>0){c[l>>2]=0-(c[l>>2]|0);break}else{c[k>>2]=(c[k>>2]|0)+(c[j>>2]|0);break}}while(0);a=c[e>>2]|0;d=c[k>>2]|0;if(((c[k>>2]|0)+(c[j>>2]|0)|0)>>>0>=32768){k=32768;cc(a,d,k,32768);l=c[l>>2]|0;i=m;return l|0}k=(c[k>>2]|0)+(c[j>>2]|0)|0;cc(a,d,k,32768);l=c[l>>2]|0;i=m;return l|0}function Gc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;b=h+16|0;d=h+12|0;f=h+8|0;e=h+4|0;g=h;c[b>>2]=a;c[f>>2]=0;c[e>>2]=32-(aa(c[b>>2]|0)|0)-1>>1;c[d>>2]=1<>2];do{c[g>>2]=(c[f>>2]<<1)+(c[d>>2]|0)<>2];if((c[g>>2]|0)>>>0<=(c[b>>2]|0)>>>0){c[f>>2]=(c[f>>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[e>>2]=(c[e>>2]|0)+-1}while((c[e>>2]|0)>=0);i=h;return c[f>>2]|0}function Hc(a,d,e,f,h,j,k,l){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0.0;U=i;i=i+160|0;V=U+144|0;o=U+140|0;p=U+136|0;q=U+132|0;r=U+128|0;m=U+124|0;s=U+120|0;x=U+112|0;n=U+108|0;u=U+104|0;v=U+100|0;B=U+96|0;G=U+92|0;A=U+88|0;t=U+84|0;J=U+80|0;K=U+76|0;O=U+72|0;H=U+68|0;I=U+64|0;P=U+60|0;C=U+56|0;L=U+48|0;D=U+44|0;E=U+40|0;z=U+36|0;y=U+32|0;S=U+28|0;M=U+24|0;w=U+20|0;Q=U+16|0;R=U+12|0;F=U+8|0;T=U+4|0;N=U;c[V>>2]=a;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=h;c[m>>2]=j;c[s>>2]=k;c[U+116>>2]=l;c[B>>2]=c[(c[V>>2]|0)+8+(c[m>>2]<<2)>>2];g[A>>2]=+g[(c[B>>2]|0)+4>>2];c[n>>2]=c[c[V>>2]>>2];c[G>>2]=c[(c[V>>2]|0)+24>>2];c[x>>2]=0;while(1){l=c[n>>2]>>1;if((c[x>>2]|0)>=(c[m>>2]|0))break;c[n>>2]=l;c[G>>2]=(c[G>>2]|0)+(c[n>>2]<<2);c[x>>2]=(c[x>>2]|0)+1}c[u>>2]=l;c[v>>2]=c[n>>2]>>2;d=c[u>>2]|0;c[t>>2]=ia()|0;l=i;i=i+((1*(d<<2)|0)+15&-16)|0;d=i;i=i+((1*(c[v>>2]<<3)|0)+15&-16)|0;c[J>>2]=(c[o>>2]|0)+(c[r>>2]>>1<<2);c[K>>2]=(c[o>>2]|0)+(c[u>>2]<<2)+-4+(c[r>>2]>>1<<2);c[O>>2]=l;c[H>>2]=(c[q>>2]|0)+(c[r>>2]>>1<<2);c[I>>2]=(c[q>>2]|0)+(c[r>>2]>>1<<2)+-4;c[x>>2]=0;while(1){if((c[x>>2]|0)>=((c[r>>2]|0)+3>>2|0))break;W=+g[c[I>>2]>>2]*+g[(c[J>>2]|0)+(c[u>>2]<<2)>>2]+ +g[c[H>>2]>>2]*+g[c[K>>2]>>2];V=c[O>>2]|0;c[O>>2]=V+4;g[V>>2]=W;W=+g[c[H>>2]>>2]*+g[c[J>>2]>>2]-+g[c[I>>2]>>2]*+g[(c[K>>2]|0)+(0-(c[u>>2]|0)<<2)>>2];V=c[O>>2]|0;c[O>>2]=V+4;g[V>>2]=W;c[J>>2]=(c[J>>2]|0)+8;c[K>>2]=(c[K>>2]|0)+-8;c[H>>2]=(c[H>>2]|0)+8;c[I>>2]=(c[I>>2]|0)+-8;c[x>>2]=(c[x>>2]|0)+1}c[H>>2]=c[q>>2];c[I>>2]=(c[q>>2]|0)+(c[r>>2]<<2)+-4;while(1){if((c[x>>2]|0)>=((c[v>>2]|0)-((c[r>>2]|0)+3>>2)|0))break;W=+g[c[K>>2]>>2];V=c[O>>2]|0;c[O>>2]=V+4;g[V>>2]=W;W=+g[c[J>>2]>>2];V=c[O>>2]|0;c[O>>2]=V+4;g[V>>2]=W;c[J>>2]=(c[J>>2]|0)+8;c[K>>2]=(c[K>>2]|0)+-8;c[x>>2]=(c[x>>2]|0)+1}while(1){if((c[x>>2]|0)>=(c[v>>2]|0))break;W=-(+g[c[H>>2]>>2]*+g[(c[J>>2]|0)+(0-(c[u>>2]|0)<<2)>>2])+ +g[c[I>>2]>>2]*+g[c[K>>2]>>2];V=c[O>>2]|0;c[O>>2]=V+4;g[V>>2]=W;W=+g[c[I>>2]>>2]*+g[c[J>>2]>>2]+ +g[c[H>>2]>>2]*+g[(c[K>>2]|0)+(c[u>>2]<<2)>>2];V=c[O>>2]|0;c[O>>2]=V+4;g[V>>2]=W;c[J>>2]=(c[J>>2]|0)+8;c[K>>2]=(c[K>>2]|0)+-8;c[H>>2]=(c[H>>2]|0)+8;c[I>>2]=(c[I>>2]|0)+-8;c[x>>2]=(c[x>>2]|0)+1}c[P>>2]=l;c[C>>2]=c[G>>2];c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[v>>2]|0))break;g[D>>2]=+g[(c[C>>2]|0)+(c[x>>2]<<2)>>2];g[E>>2]=+g[(c[C>>2]|0)+((c[v>>2]|0)+(c[x>>2]|0)<<2)>>2];V=c[P>>2]|0;c[P>>2]=V+4;g[z>>2]=+g[V>>2];V=c[P>>2]|0;c[P>>2]=V+4;g[y>>2]=+g[V>>2];g[S>>2]=+g[z>>2]*+g[D>>2]-+g[y>>2]*+g[E>>2];g[M>>2]=+g[y>>2]*+g[D>>2]+ +g[z>>2]*+g[E>>2];g[L>>2]=+g[S>>2];g[L+4>>2]=+g[M>>2];g[L>>2]=+g[A>>2]*+g[L>>2];g[L+4>>2]=+g[A>>2]*+g[L+4>>2];V=d+(b[(c[(c[B>>2]|0)+44>>2]|0)+(c[x>>2]<<1)>>1]<<3)|0;c[V>>2]=c[L>>2];c[V+4>>2]=c[L+4>>2];c[x>>2]=(c[x>>2]|0)+1}xc(c[B>>2]|0,d);c[w>>2]=d;c[Q>>2]=c[p>>2];c[R>>2]=(c[p>>2]|0)+((_(c[s>>2]|0,(c[u>>2]|0)-1|0)|0)<<2);c[F>>2]=c[G>>2];c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[v>>2]|0))break;g[T>>2]=+g[(c[w>>2]|0)+4>>2]*+g[(c[F>>2]|0)+((c[v>>2]|0)+(c[x>>2]|0)<<2)>>2]-+g[c[w>>2]>>2]*+g[(c[F>>2]|0)+(c[x>>2]<<2)>>2];g[N>>2]=+g[c[w>>2]>>2]*+g[(c[F>>2]|0)+((c[v>>2]|0)+(c[x>>2]|0)<<2)>>2]+ +g[(c[w>>2]|0)+4>>2]*+g[(c[F>>2]|0)+(c[x>>2]<<2)>>2];g[c[Q>>2]>>2]=+g[T>>2];g[c[R>>2]>>2]=+g[N>>2];c[w>>2]=(c[w>>2]|0)+8;c[Q>>2]=(c[Q>>2]|0)+(c[s>>2]<<1<<2);c[R>>2]=(c[R>>2]|0)+(0-(c[s>>2]<<1)<<2);c[x>>2]=(c[x>>2]|0)+1}na(c[t>>2]|0);i=U;return}function Ic(a,d,e,f,h,j,k,l){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0.0;V=i;i=i+144|0;m=V+140|0;n=V+136|0;o=V+132|0;p=V+128|0;q=V+124|0;r=V+120|0;s=V+116|0;x=V+108|0;t=V+104|0;u=V+100|0;v=V+96|0;F=V+92|0;K=V+88|0;M=V+84|0;P=V+80|0;B=V+76|0;w=V+72|0;A=V+68|0;T=V+64|0;N=V+60|0;Q=V+56|0;R=V+52|0;D=V+48|0;z=V+44|0;y=V+40|0;U=V+36|0;O=V+32|0;C=V+28|0;E=V+24|0;L=V+20|0;S=V+16|0;G=V+12|0;H=V+8|0;I=V+4|0;J=V;c[m>>2]=a;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=h;c[r>>2]=j;c[s>>2]=k;c[V+112>>2]=l;c[t>>2]=c[c[m>>2]>>2];c[F>>2]=c[(c[m>>2]|0)+24>>2];c[x>>2]=0;while(1){l=c[t>>2]>>1;if((c[x>>2]|0)>=(c[r>>2]|0))break;c[t>>2]=l;c[F>>2]=(c[F>>2]|0)+(c[t>>2]<<2);c[x>>2]=(c[x>>2]|0)+1}c[u>>2]=l;c[v>>2]=c[t>>2]>>2;c[K>>2]=c[n>>2];c[M>>2]=(c[n>>2]|0)+((_(c[s>>2]|0,(c[u>>2]|0)-1|0)|0)<<2);c[P>>2]=(c[o>>2]|0)+(c[q>>2]>>1<<2);c[B>>2]=c[F>>2];c[w>>2]=c[(c[(c[m>>2]|0)+8+(c[r>>2]<<2)>>2]|0)+44>>2];c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[v>>2]|0))break;t=c[w>>2]|0;c[w>>2]=t+2;c[A>>2]=b[t>>1];g[T>>2]=+g[c[M>>2]>>2]*+g[(c[B>>2]|0)+(c[x>>2]<<2)>>2]+ +g[c[K>>2]>>2]*+g[(c[B>>2]|0)+((c[v>>2]|0)+(c[x>>2]|0)<<2)>>2];g[N>>2]=+g[c[K>>2]>>2]*+g[(c[B>>2]|0)+(c[x>>2]<<2)>>2]-+g[c[M>>2]>>2]*+g[(c[B>>2]|0)+((c[v>>2]|0)+(c[x>>2]|0)<<2)>>2];g[(c[P>>2]|0)+((c[A>>2]<<1)+1<<2)>>2]=+g[T>>2];g[(c[P>>2]|0)+(c[A>>2]<<1<<2)>>2]=+g[N>>2];c[K>>2]=(c[K>>2]|0)+(c[s>>2]<<1<<2);c[M>>2]=(c[M>>2]|0)+(0-(c[s>>2]<<1)<<2);c[x>>2]=(c[x>>2]|0)+1}xc(c[(c[m>>2]|0)+8+(c[r>>2]<<2)>>2]|0,(c[o>>2]|0)+(c[q>>2]>>1<<2)|0);c[Q>>2]=(c[o>>2]|0)+(c[q>>2]>>1<<2);c[R>>2]=(c[o>>2]|0)+(c[q>>2]>>1<<2)+(c[u>>2]<<2)+-8;c[D>>2]=c[F>>2];c[x>>2]=0;while(1){if((c[x>>2]|0)>=((c[v>>2]|0)+1>>1|0))break;g[z>>2]=+g[(c[Q>>2]|0)+4>>2];g[y>>2]=+g[c[Q>>2]>>2];g[C>>2]=+g[(c[D>>2]|0)+(c[x>>2]<<2)>>2];g[E>>2]=+g[(c[D>>2]|0)+((c[v>>2]|0)+(c[x>>2]|0)<<2)>>2];g[U>>2]=+g[z>>2]*+g[C>>2]+ +g[y>>2]*+g[E>>2];g[O>>2]=+g[z>>2]*+g[E>>2]-+g[y>>2]*+g[C>>2];g[z>>2]=+g[(c[R>>2]|0)+4>>2];g[y>>2]=+g[c[R>>2]>>2];g[c[Q>>2]>>2]=+g[U>>2];g[(c[R>>2]|0)+4>>2]=+g[O>>2];g[C>>2]=+g[(c[D>>2]|0)+((c[v>>2]|0)-(c[x>>2]|0)-1<<2)>>2];g[E>>2]=+g[(c[D>>2]|0)+((c[u>>2]|0)-(c[x>>2]|0)-1<<2)>>2];g[U>>2]=+g[z>>2]*+g[C>>2]+ +g[y>>2]*+g[E>>2];g[O>>2]=+g[z>>2]*+g[E>>2]-+g[y>>2]*+g[C>>2];g[c[R>>2]>>2]=+g[U>>2];g[(c[Q>>2]|0)+4>>2]=+g[O>>2];c[Q>>2]=(c[Q>>2]|0)+8;c[R>>2]=(c[R>>2]|0)+-8;c[x>>2]=(c[x>>2]|0)+1}c[L>>2]=(c[o>>2]|0)+(c[q>>2]<<2)+-4;c[S>>2]=c[o>>2];c[G>>2]=c[p>>2];c[H>>2]=(c[p>>2]|0)+(c[q>>2]<<2)+-4;c[x>>2]=0;while(1){if((c[x>>2]|0)>=((c[q>>2]|0)/2|0|0))break;g[I>>2]=+g[c[L>>2]>>2];g[J>>2]=+g[c[S>>2]>>2];W=+g[c[H>>2]>>2]*+g[J>>2]-+g[c[G>>2]>>2]*+g[I>>2];U=c[S>>2]|0;c[S>>2]=U+4;g[U>>2]=W;W=+g[c[G>>2]>>2]*+g[J>>2]+ +g[c[H>>2]>>2]*+g[I>>2];U=c[L>>2]|0;c[L>>2]=U+-4;g[U>>2]=W;c[G>>2]=(c[G>>2]|0)+4;c[H>>2]=(c[H>>2]|0)+-4;c[x>>2]=(c[x>>2]|0)+1}i=V;return}function Jc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;h=l+20|0;e=l+16|0;f=l+12|0;j=l+8|0;k=l+4|0;g=l;c[e>>2]=a;c[f>>2]=b;c[j>>2]=d;c[k>>2]=0;a:while(1){if((c[k>>2]|0)>=1){e=12;break}c[g>>2]=0;while(1){if((c[g>>2]|0)>=4)break;if((c[e>>2]|0)==(c[c[5544+(c[k>>2]<<2)>>2]>>2]|0)?(c[f>>2]<>2]|0)==(_(c[(c[5544+(c[k>>2]<<2)>>2]|0)+44>>2]|0,c[(c[5544+(c[k>>2]<<2)>>2]|0)+40>>2]|0)|0):0){e=7;break a}c[g>>2]=(c[g>>2]|0)+1}c[k>>2]=(c[k>>2]|0)+1}if((e|0)==7){if(c[j>>2]|0)c[c[j>>2]>>2]=0;c[h>>2]=c[5544+(c[k>>2]<<2)>>2];k=c[h>>2]|0;i=l;return k|0}else if((e|0)==12){if(c[j>>2]|0)c[c[j>>2]>>2]=-1;c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}return 0}function Kc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+112|0;h=u+108|0;j=u+104|0;k=u+100|0;l=u+96|0;m=u+92|0;p=u+88|0;n=u+68|0;t=u+64|0;q=u+48|0;s=u+24|0;r=u+4|0;o=u;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;g[t>>2]=1.0;c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[s+12>>2]=0;c[s+16>>2]=0;g[o>>2]=.800000011920929;c[p>>2]=1;while(1){if((c[p>>2]|0)>=(c[k>>2]>>1|0))break;g[(c[j>>2]|0)+(c[p>>2]<<2)>>2]=((+g[(c[c[h>>2]>>2]|0)+((c[p>>2]<<1)-1<<2)>>2]+ +g[(c[c[h>>2]>>2]|0)+((c[p>>2]<<1)+1<<2)>>2])*.5+ +g[(c[c[h>>2]>>2]|0)+(c[p>>2]<<1<<2)>>2])*.5;c[p>>2]=(c[p>>2]|0)+1}g[c[j>>2]>>2]=(+g[(c[c[h>>2]>>2]|0)+4>>2]*.5+ +g[c[c[h>>2]>>2]>>2])*.5;if((c[l>>2]|0)==2){c[p>>2]=1;while(1){if((c[p>>2]|0)>=(c[k>>2]>>1|0))break;b=(c[j>>2]|0)+(c[p>>2]<<2)|0;g[b>>2]=+g[b>>2]+((+g[(c[(c[h>>2]|0)+4>>2]|0)+((c[p>>2]<<1)-1<<2)>>2]+ +g[(c[(c[h>>2]|0)+4>>2]|0)+((c[p>>2]<<1)+1<<2)>>2])*.5+ +g[(c[(c[h>>2]|0)+4>>2]|0)+(c[p>>2]<<1<<2)>>2])*.5;c[p>>2]=(c[p>>2]|0)+1}b=c[j>>2]|0;g[b>>2]=+g[b>>2]+(+g[(c[(c[h>>2]|0)+4>>2]|0)+4>>2]*.5+ +g[c[(c[h>>2]|0)+4>>2]>>2])*.5}Yc(c[j>>2]|0,n,0,0,4,c[k>>2]>>1,c[m>>2]|0)|0;g[n>>2]=+g[n>>2]*1.000100016593933;c[p>>2]=1;while(1){if((c[p>>2]|0)>4)break;b=n+(c[p>>2]<<2)|0;g[b>>2]=+g[b>>2]-+g[n+(c[p>>2]<<2)>>2]*(+(c[p>>2]|0)*.00800000037997961)*(+(c[p>>2]|0)*.00800000037997961);c[p>>2]=(c[p>>2]|0)+1}Uc(q,n,4);c[p>>2]=0;while(1){if((c[p>>2]|0)>=4)break;g[t>>2]=+g[t>>2]*.8999999761581421;g[q+(c[p>>2]<<2)>>2]=+g[q+(c[p>>2]<<2)>>2]*+g[t>>2];c[p>>2]=(c[p>>2]|0)+1}g[r>>2]=+g[q>>2]+.800000011920929;g[r+4>>2]=+g[q+4>>2]+ +g[o>>2]*+g[q>>2];g[r+8>>2]=+g[q+8>>2]+ +g[o>>2]*+g[q+4>>2];g[r+12>>2]=+g[q+12>>2]+ +g[o>>2]*+g[q+8>>2];g[r+16>>2]=+g[o>>2]*+g[q+12>>2];Lc(c[j>>2]|0,r,c[j>>2]|0,c[k>>2]>>1,s);i=u;return}function Lc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=i;i=i+80|0;h=y+64|0;z=y+60|0;j=y+56|0;k=y+52|0;l=y+48|0;m=y+44|0;s=y+40|0;t=y+36|0;u=y+32|0;v=y+28|0;w=y+24|0;n=y+20|0;o=y+16|0;p=y+12|0;q=y+8|0;r=y+4|0;x=y;c[h>>2]=a;c[z>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;g[s>>2]=+g[c[z>>2]>>2];g[t>>2]=+g[(c[z>>2]|0)+4>>2];g[u>>2]=+g[(c[z>>2]|0)+8>>2];g[v>>2]=+g[(c[z>>2]|0)+12>>2];g[w>>2]=+g[(c[z>>2]|0)+16>>2];g[n>>2]=+g[c[l>>2]>>2];g[o>>2]=+g[(c[l>>2]|0)+4>>2];g[p>>2]=+g[(c[l>>2]|0)+8>>2];g[q>>2]=+g[(c[l>>2]|0)+12>>2];g[r>>2]=+g[(c[l>>2]|0)+16>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[k>>2]|0))break;g[x>>2]=+g[(c[h>>2]|0)+(c[m>>2]<<2)>>2];g[x>>2]=+g[x>>2]+ +g[s>>2]*+g[n>>2];g[x>>2]=+g[x>>2]+ +g[t>>2]*+g[o>>2];g[x>>2]=+g[x>>2]+ +g[u>>2]*+g[p>>2];g[x>>2]=+g[x>>2]+ +g[v>>2]*+g[q>>2];g[x>>2]=+g[x>>2]+ +g[w>>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[n>>2];g[n>>2]=+g[(c[h>>2]|0)+(c[m>>2]<<2)>>2];g[(c[j>>2]|0)+(c[m>>2]<<2)>>2]=+g[x>>2];c[m>>2]=(c[m>>2]|0)+1}g[c[l>>2]>>2]=+g[n>>2];g[(c[l>>2]|0)+4>>2]=+g[o>>2];g[(c[l>>2]|0)+8>>2]=+g[p>>2];g[(c[l>>2]|0)+12>>2]=+g[q>>2];g[(c[l>>2]|0)+16>>2]=+g[r>>2];i=y;return}function Mc(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 j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;j=r+48|0;k=r+44|0;l=r+40|0;m=r+36|0;n=r+32|0;o=r+24|0;p=r+8|0;q=r;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[r+28>>2]=h;c[o>>2]=0;while(1){if((c[o>>2]|0)>=((c[n>>2]|0)-3|0))break;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;Nc(c[j>>2]|0,(c[k>>2]|0)+(c[o>>2]<<2)|0,p,c[m>>2]|0);g[(c[l>>2]|0)+(c[o>>2]<<2)>>2]=+g[p>>2];g[(c[l>>2]|0)+((c[o>>2]|0)+1<<2)>>2]=+g[p+4>>2];g[(c[l>>2]|0)+((c[o>>2]|0)+2<<2)>>2]=+g[p+8>>2];g[(c[l>>2]|0)+((c[o>>2]|0)+3<<2)>>2]=+g[p+12>>2];c[o>>2]=(c[o>>2]|0)+4}while(1){if((c[o>>2]|0)>=(c[n>>2]|0))break;g[q>>2]=+Oc(c[j>>2]|0,(c[k>>2]|0)+(c[o>>2]<<2)|0,c[m>>2]|0);g[(c[l>>2]|0)+(c[o>>2]<<2)>>2]=+g[q>>2];c[o>>2]=(c[o>>2]|0)+1}i=r;return}function Nc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;f=u+48|0;h=u+44|0;j=u+40|0;k=u+36|0;l=u+32|0;q=u+28|0;r=u+24|0;s=u+20|0;t=u+16|0;m=u+12|0;n=u+8|0;o=u+4|0;p=u;c[f>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;g[t>>2]=0.0;b=c[h>>2]|0;c[h>>2]=b+4;g[q>>2]=+g[b>>2];b=c[h>>2]|0;c[h>>2]=b+4;g[r>>2]=+g[b>>2];b=c[h>>2]|0;c[h>>2]=b+4;g[s>>2]=+g[b>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=((c[k>>2]|0)-3|0))break;b=c[f>>2]|0;c[f>>2]=b+4;g[m>>2]=+g[b>>2];b=c[h>>2]|0;c[h>>2]=b+4;g[t>>2]=+g[b>>2];g[c[j>>2]>>2]=+g[c[j>>2]>>2]+ +g[m>>2]*+g[q>>2];g[(c[j>>2]|0)+4>>2]=+g[(c[j>>2]|0)+4>>2]+ +g[m>>2]*+g[r>>2];g[(c[j>>2]|0)+8>>2]=+g[(c[j>>2]|0)+8>>2]+ +g[m>>2]*+g[s>>2];g[(c[j>>2]|0)+12>>2]=+g[(c[j>>2]|0)+12>>2]+ +g[m>>2]*+g[t>>2];b=c[f>>2]|0;c[f>>2]=b+4;g[m>>2]=+g[b>>2];b=c[h>>2]|0;c[h>>2]=b+4;g[q>>2]=+g[b>>2];g[c[j>>2]>>2]=+g[c[j>>2]>>2]+ +g[m>>2]*+g[r>>2];g[(c[j>>2]|0)+4>>2]=+g[(c[j>>2]|0)+4>>2]+ +g[m>>2]*+g[s>>2];g[(c[j>>2]|0)+8>>2]=+g[(c[j>>2]|0)+8>>2]+ +g[m>>2]*+g[t>>2];g[(c[j>>2]|0)+12>>2]=+g[(c[j>>2]|0)+12>>2]+ +g[m>>2]*+g[q>>2];b=c[f>>2]|0;c[f>>2]=b+4;g[m>>2]=+g[b>>2];b=c[h>>2]|0;c[h>>2]=b+4;g[r>>2]=+g[b>>2];g[c[j>>2]>>2]=+g[c[j>>2]>>2]+ +g[m>>2]*+g[s>>2];g[(c[j>>2]|0)+4>>2]=+g[(c[j>>2]|0)+4>>2]+ +g[m>>2]*+g[t>>2];g[(c[j>>2]|0)+8>>2]=+g[(c[j>>2]|0)+8>>2]+ +g[m>>2]*+g[q>>2];g[(c[j>>2]|0)+12>>2]=+g[(c[j>>2]|0)+12>>2]+ +g[m>>2]*+g[r>>2];b=c[f>>2]|0;c[f>>2]=b+4;g[m>>2]=+g[b>>2];b=c[h>>2]|0;c[h>>2]=b+4;g[s>>2]=+g[b>>2];g[c[j>>2]>>2]=+g[c[j>>2]>>2]+ +g[m>>2]*+g[t>>2];g[(c[j>>2]|0)+4>>2]=+g[(c[j>>2]|0)+4>>2]+ +g[m>>2]*+g[q>>2];g[(c[j>>2]|0)+8>>2]=+g[(c[j>>2]|0)+8>>2]+ +g[m>>2]*+g[r>>2];g[(c[j>>2]|0)+12>>2]=+g[(c[j>>2]|0)+12>>2]+ +g[m>>2]*+g[s>>2];c[l>>2]=(c[l>>2]|0)+4}b=c[l>>2]|0;c[l>>2]=b+1;if((b|0)<(c[k>>2]|0)){b=c[f>>2]|0;c[f>>2]=b+4;g[n>>2]=+g[b>>2];b=c[h>>2]|0;c[h>>2]=b+4;g[t>>2]=+g[b>>2];g[c[j>>2]>>2]=+g[c[j>>2]>>2]+ +g[n>>2]*+g[q>>2];g[(c[j>>2]|0)+4>>2]=+g[(c[j>>2]|0)+4>>2]+ +g[n>>2]*+g[r>>2];g[(c[j>>2]|0)+8>>2]=+g[(c[j>>2]|0)+8>>2]+ +g[n>>2]*+g[s>>2];g[(c[j>>2]|0)+12>>2]=+g[(c[j>>2]|0)+12>>2]+ +g[n>>2]*+g[t>>2]}b=c[l>>2]|0;c[l>>2]=b+1;if((b|0)<(c[k>>2]|0)){b=c[f>>2]|0;c[f>>2]=b+4;g[o>>2]=+g[b>>2];b=c[h>>2]|0;c[h>>2]=b+4;g[q>>2]=+g[b>>2];g[c[j>>2]>>2]=+g[c[j>>2]>>2]+ +g[o>>2]*+g[r>>2];g[(c[j>>2]|0)+4>>2]=+g[(c[j>>2]|0)+4>>2]+ +g[o>>2]*+g[s>>2];g[(c[j>>2]|0)+8>>2]=+g[(c[j>>2]|0)+8>>2]+ +g[o>>2]*+g[t>>2];g[(c[j>>2]|0)+12>>2]=+g[(c[j>>2]|0)+12>>2]+ +g[o>>2]*+g[q>>2]}if((c[l>>2]|0)>=(c[k>>2]|0)){i=u;return}b=c[f>>2]|0;c[f>>2]=b+4;g[p>>2]=+g[b>>2];b=c[h>>2]|0;c[h>>2]=b+4;g[r>>2]=+g[b>>2];g[c[j>>2]>>2]=+g[c[j>>2]>>2]+ +g[p>>2]*+g[s>>2];g[(c[j>>2]|0)+4>>2]=+g[(c[j>>2]|0)+4>>2]+ +g[p>>2]*+g[t>>2];g[(c[j>>2]|0)+8>>2]=+g[(c[j>>2]|0)+8>>2]+ +g[p>>2]*+g[q>>2];g[(c[j>>2]|0)+12>>2]=+g[(c[j>>2]|0)+12>>2]+ +g[p>>2]*+g[r>>2];i=u;return}function Oc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[f>>2]=a;c[h>>2]=b;c[j>>2]=d;g[l>>2]=0.0;c[k>>2]=0;while(1){e=+g[l>>2];if((c[k>>2]|0)>=(c[j>>2]|0))break;g[l>>2]=e+ +g[(c[f>>2]|0)+(c[k>>2]<<2)>>2]*+g[(c[h>>2]|0)+(c[k>>2]<<2)>>2];c[k>>2]=(c[k>>2]|0)+1}i=m;return +e}function Pc(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 j=0,k=0,l=0,m=0,n=0,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=i;i=i+80|0;j=z+64|0;k=z+60|0;l=z+56|0;m=z+52|0;n=z+48|0;o=z+44|0;u=z+40|0;v=z+36|0;w=z+32|0;s=z+24|0;x=z+20|0;p=z+16|0;y=z+12|0;q=z+8|0;r=z+4|0;t=z;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=h;c[s>>2]=0;c[s+4>>2]=0;c[w>>2]=(c[l>>2]|0)+(c[m>>2]|0);d=c[l>>2]>>2;c[p>>2]=ia()|0;h=i;i=i+((1*(d<<2)|0)+15&-16)|0;d=i;i=i+((1*(c[w>>2]>>2<<2)|0)+15&-16)|0;e=i;i=i+((1*(c[m>>2]>>1<<2)|0)+15&-16)|0;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[l>>2]>>2|0))break;g[h+(c[v>>2]<<2)>>2]=+g[(c[j>>2]|0)+(c[v>>2]<<1<<2)>>2];c[v>>2]=(c[v>>2]|0)+1}c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[w>>2]>>2|0))break;g[d+(c[v>>2]<<2)>>2]=+g[(c[k>>2]|0)+(c[v>>2]<<1<<2)>>2];c[v>>2]=(c[v>>2]|0)+1}Mc(h,d,e,c[l>>2]>>2,c[m>>2]>>2,c[o>>2]|0);Qc(e,d,c[l>>2]>>2,c[m>>2]>>2,s);c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[m>>2]>>1|0))break;g[e+(c[u>>2]<<2)>>2]=0.0;if(!((N((c[u>>2]|0)-(c[s>>2]<<1)|0)|0)>2?(N((c[u>>2]|0)-(c[s+4>>2]<<1)|0)|0)>2:0)){g[y>>2]=+Oc(c[j>>2]|0,(c[k>>2]|0)+(c[u>>2]<<2)|0,c[l>>2]>>1);g[e+(c[u>>2]<<2)>>2]=-1.0>+g[y>>2]?-1.0:+g[y>>2]}c[u>>2]=(c[u>>2]|0)+1}Qc(e,c[k>>2]|0,c[l>>2]>>1,c[m>>2]>>1,s);if((c[s>>2]|0)>0?(c[s>>2]|0)<((c[m>>2]>>1)-1|0):0){g[q>>2]=+g[e+((c[s>>2]|0)-1<<2)>>2];g[r>>2]=+g[e+(c[s>>2]<<2)>>2];g[t>>2]=+g[e+((c[s>>2]|0)+1<<2)>>2];if(+g[t>>2]-+g[q>>2]>(+g[r>>2]-+g[q>>2])*.699999988079071){c[x>>2]=1;y=c[s>>2]|0;y=y<<1;x=c[x>>2]|0;x=y-x|0;y=c[n>>2]|0;c[y>>2]=x;y=c[p>>2]|0;na(y|0);i=z;return}if(+g[q>>2]-+g[t>>2]>(+g[r>>2]-+g[t>>2])*.699999988079071){c[x>>2]=-1;y=c[s>>2]|0;y=y<<1;x=c[x>>2]|0;x=y-x|0;y=c[n>>2]|0;c[y>>2]=x;y=c[p>>2]|0;na(y|0);i=z;return}else{c[x>>2]=0;y=c[s>>2]|0;y=y<<1;x=c[x>>2]|0;x=y-x|0;y=c[n>>2]|0;c[y>>2]=x;y=c[p>>2]|0;na(y|0);i=z;return}}c[x>>2]=0;y=c[s>>2]|0;y=y<<1;x=c[x>>2]|0;x=y-x|0;y=c[n>>2]|0;c[y>>2]=x;y=c[p>>2]|0;na(y|0);i=z;return}function Qc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;h=u+52|0;j=u+48|0;k=u+44|0;l=u+40|0;m=u+36|0;q=u+32|0;r=u+28|0;n=u+24|0;p=u+16|0;o=u+8|0;s=u+4|0;t=u;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;g[n>>2]=1.0;g[p>>2]=-1.0;g[p+4>>2]=-1.0;g[o>>2]=0.0;g[o+4>>2]=0.0;c[c[m>>2]>>2]=0;c[(c[m>>2]|0)+4>>2]=1;c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[k>>2]|0))break;g[n>>2]=+g[n>>2]+ +g[(c[j>>2]|0)+(c[r>>2]<<2)>>2]*+g[(c[j>>2]|0)+(c[r>>2]<<2)>>2];c[r>>2]=(c[r>>2]|0)+1}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[l>>2]|0))break;do if(+g[(c[h>>2]|0)+(c[q>>2]<<2)>>2]>0.0?(g[t>>2]=+g[(c[h>>2]|0)+(c[q>>2]<<2)>>2],g[t>>2]=+g[t>>2]*9.999999960041972e-13,g[s>>2]=+g[t>>2]*+g[t>>2],+g[s>>2]*+g[o+4>>2]>+g[p+4>>2]*+g[n>>2]):0)if(+g[s>>2]*+g[o>>2]>+g[p>>2]*+g[n>>2]){g[p+4>>2]=+g[p>>2];g[o+4>>2]=+g[o>>2];c[(c[m>>2]|0)+4>>2]=c[c[m>>2]>>2];g[p>>2]=+g[s>>2];g[o>>2]=+g[n>>2];c[c[m>>2]>>2]=c[q>>2];break}else{g[p+4>>2]=+g[s>>2];g[o+4>>2]=+g[n>>2];c[(c[m>>2]|0)+4>>2]=c[q>>2];break}while(0);g[n>>2]=+g[n>>2]+(+g[(c[j>>2]|0)+((c[q>>2]|0)+(c[k>>2]|0)<<2)>>2]*+g[(c[j>>2]|0)+((c[q>>2]|0)+(c[k>>2]|0)<<2)>>2]-+g[(c[j>>2]|0)+(c[q>>2]<<2)>>2]*+g[(c[j>>2]|0)+(c[q>>2]<<2)>>2]);g[n>>2]=1.0>+g[n>>2]?1.0:+g[n>>2];c[q>>2]=(c[q>>2]|0)+1}i=u;return}function Rc(a,b,d,e,f,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=+j;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,P=0,Q=0;Q=i;i=i+128|0;m=Q+124|0;n=Q+120|0;o=Q+116|0;p=Q+112|0;q=Q+108|0;r=Q+104|0;s=Q+100|0;E=Q+92|0;l=Q+88|0;u=Q+84|0;v=Q+80|0;B=Q+76|0;C=Q+72|0;H=Q+68|0;L=Q+64|0;K=Q+60|0;P=Q+56|0;M=Q+52|0;J=Q+40|0;y=Q+36|0;z=Q+32|0;G=Q+28|0;F=Q+24|0;t=Q+20|0;w=Q+16|0;x=Q+12|0;D=Q+8|0;A=Q+4|0;I=Q;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=h;g[s>>2]=j;c[Q+96>>2]=k;c[F>>2]=c[o>>2];c[n>>2]=(c[n>>2]|0)/2|0;c[o>>2]=(c[o>>2]|0)/2|0;a=c[q>>2]|0;c[a>>2]=(c[a>>2]|0)/2|0;c[r>>2]=(c[r>>2]|0)/2|0;c[p>>2]=(c[p>>2]|0)/2|0;c[m>>2]=(c[m>>2]|0)+(c[n>>2]<<2);if((c[c[q>>2]>>2]|0)>=(c[n>>2]|0))c[c[q>>2]>>2]=(c[n>>2]|0)-1;a=c[c[q>>2]>>2]|0;c[v>>2]=a;c[u>>2]=a;a=(c[n>>2]|0)+1|0;c[t>>2]=ia()|0;f=i;i=i+((1*(a<<2)|0)+15&-16)|0;Sc(c[m>>2]|0,c[m>>2]|0,(c[m>>2]|0)+(0-(c[v>>2]|0)<<2)|0,c[p>>2]|0,K,L);g[f>>2]=+g[K>>2];g[P>>2]=+g[K>>2];c[l>>2]=1;while(1){if((c[l>>2]|0)>(c[n>>2]|0))break;g[P>>2]=+g[P>>2]+ +g[(c[m>>2]|0)+(0-(c[l>>2]|0)<<2)>>2]*+g[(c[m>>2]|0)+(0-(c[l>>2]|0)<<2)>>2]-+g[(c[m>>2]|0)+((c[p>>2]|0)-(c[l>>2]|0)<<2)>>2]*+g[(c[m>>2]|0)+((c[p>>2]|0)-(c[l>>2]|0)<<2)>>2];g[f+(c[l>>2]<<2)>>2]=0.0>+g[P>>2]?0.0:+g[P>>2];c[l>>2]=(c[l>>2]|0)+1}g[P>>2]=+g[f+(c[v>>2]<<2)>>2];g[y>>2]=+g[L>>2];g[z>>2]=+g[P>>2];j=+g[L>>2]/+O(+(+g[K>>2]*+g[P>>2]+1.0));g[C>>2]=j;g[B>>2]=j;c[E>>2]=2;while(1){if((c[E>>2]|0)>15)break;g[A>>2]=0.0;c[w>>2]=Tc((c[v>>2]<<1)+(c[E>>2]|0)|0,c[E>>2]<<1)|0;if((c[w>>2]|0)<(c[o>>2]|0))break;do if((c[E>>2]|0)==2){e=c[v>>2]|0;if(((c[w>>2]|0)+(c[v>>2]|0)|0)>(c[n>>2]|0)){c[x>>2]=e;break}else{c[x>>2]=e+(c[w>>2]|0);break}}else{l=_(c[17400+(c[E>>2]<<2)>>2]<<1,c[v>>2]|0)|0;c[x>>2]=Tc(l+(c[E>>2]|0)|0,c[E>>2]<<1)|0}while(0);Sc(c[m>>2]|0,(c[m>>2]|0)+(0-(c[w>>2]|0)<<2)|0,(c[m>>2]|0)+(0-(c[x>>2]|0)<<2)|0,c[p>>2]|0,L,M);g[L>>2]=+g[L>>2]+ +g[M>>2];g[P>>2]=+g[f+(c[w>>2]<<2)>>2]+ +g[f+(c[x>>2]<<2)>>2];g[D>>2]=+g[L>>2]/+O(+(+g[K>>2]*2.0*1.0*+g[P>>2]+1.0));do if((N((c[w>>2]|0)-(c[r>>2]|0)|0)|0)<=1)g[A>>2]=+g[s>>2];else{if((N((c[w>>2]|0)-(c[r>>2]|0)|0)|0)<=2?(l=_((c[E>>2]|0)*5|0,c[E>>2]|0)|0,(l|0)<(c[v>>2]|0)):0){g[A>>2]=+g[s>>2]*.5;break}g[A>>2]=0.0}while(0);if(.30000001192092896>+g[C>>2]*.699999988079071-+g[A>>2])j=.30000001192092896;else j=+g[C>>2]*.699999988079071-+g[A>>2];g[I>>2]=j;if((c[w>>2]|0)>=((c[o>>2]|0)*3|0)){if((c[w>>2]|0)<(c[o>>2]<<1|0)){if(.5>+g[C>>2]*.8999999761581421-+g[A>>2])j=.5;else j=+g[C>>2]*.8999999761581421-+g[A>>2];g[I>>2]=j}}else{if(.4000000059604645>+g[C>>2]*.8500000238418579-+g[A>>2])j=.4000000059604645;else j=+g[C>>2]*.8500000238418579-+g[A>>2];g[I>>2]=j}if(+g[D>>2]>+g[I>>2]){g[y>>2]=+g[L>>2];g[z>>2]=+g[P>>2];c[u>>2]=c[w>>2];g[B>>2]=+g[D>>2]}c[E>>2]=(c[E>>2]|0)+1}g[y>>2]=0.0>+g[y>>2]?0.0:+g[y>>2];if(+g[z>>2]<=+g[y>>2])g[H>>2]=1.0;else g[H>>2]=+g[y>>2]/(+g[z>>2]+1.0);c[E>>2]=0;while(1){if((c[E>>2]|0)>=3)break;j=+Oc(c[m>>2]|0,(c[m>>2]|0)+(0-((c[u>>2]|0)+(c[E>>2]|0)-1)<<2)|0,c[p>>2]|0);g[J+(c[E>>2]<<2)>>2]=j;c[E>>2]=(c[E>>2]|0)+1}do if(!(+g[J+8>>2]-+g[J>>2]>(+g[J+4>>2]-+g[J>>2])*.699999988079071))if(+g[J>>2]-+g[J+8>>2]>(+g[J+4>>2]-+g[J+8>>2])*.699999988079071){c[G>>2]=-1;break}else{c[G>>2]=0;break}else c[G>>2]=1;while(0);if(+g[H>>2]>+g[B>>2])g[H>>2]=+g[B>>2];c[c[q>>2]>>2]=(c[u>>2]<<1)+(c[G>>2]|0);if((c[c[q>>2]>>2]|0)>=(c[F>>2]|0)){j=+g[H>>2];P=c[t>>2]|0;na(P|0);i=Q;return +j}c[c[q>>2]>>2]=c[F>>2];j=+g[H>>2];P=c[t>>2]|0;na(P|0);i=Q;return +j}function Sc(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 j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;k=t+32|0;l=t+28|0;m=t+24|0;n=t+20|0;o=t+16|0;p=t+12|0;q=t+8|0;r=t+4|0;s=t;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=h;g[r>>2]=0.0;g[s>>2]=0.0;c[q>>2]=0;while(1){j=+g[r>>2];if((c[q>>2]|0)>=(c[n>>2]|0))break;g[r>>2]=j+ +g[(c[k>>2]|0)+(c[q>>2]<<2)>>2]*+g[(c[l>>2]|0)+(c[q>>2]<<2)>>2];g[s>>2]=+g[s>>2]+ +g[(c[k>>2]|0)+(c[q>>2]<<2)>>2]*+g[(c[m>>2]|0)+(c[q>>2]<<2)>>2];c[q>>2]=(c[q>>2]|0)+1}g[c[o>>2]>>2]=j;g[c[p>>2]>>2]=+g[s>>2];i=t;return}function Tc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;i=f;return ((c[e>>2]|0)>>>0)/((c[d>>2]|0)>>>0)|0|0}function Uc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+48|0;r=q+40|0;e=q+36|0;f=q+32|0;j=q+28|0;k=q+24|0;m=q+20|0;h=q+16|0;l=q+12|0;n=q+8|0;o=q+4|0;p=q;c[r>>2]=a;c[e>>2]=b;c[f>>2]=d;g[h>>2]=+g[c[e>>2]>>2];c[l>>2]=c[r>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[f>>2]|0))break;g[(c[l>>2]|0)+(c[j>>2]<<2)>>2]=0.0;c[j>>2]=(c[j>>2]|0)+1}if(!(+g[c[e>>2]>>2]!=0.0)){i=q;return}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[f>>2]|0)){e=15;break}g[n>>2]=0.0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[j>>2]|0))break;g[n>>2]=+g[n>>2]+ +g[(c[l>>2]|0)+(c[k>>2]<<2)>>2]*+g[(c[e>>2]|0)+((c[j>>2]|0)-(c[k>>2]|0)<<2)>>2];c[k>>2]=(c[k>>2]|0)+1}g[n>>2]=+g[n>>2]+ +g[(c[e>>2]|0)+((c[j>>2]|0)+1<<2)>>2];g[m>>2]=-(+g[n>>2]/+g[h>>2]);g[(c[l>>2]|0)+(c[j>>2]<<2)>>2]=+g[m>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=((c[j>>2]|0)+1>>1|0))break;g[o>>2]=+g[(c[l>>2]|0)+(c[k>>2]<<2)>>2];g[p>>2]=+g[(c[l>>2]|0)+((c[j>>2]|0)-1-(c[k>>2]|0)<<2)>>2];g[(c[l>>2]|0)+(c[k>>2]<<2)>>2]=+g[o>>2]+ +g[m>>2]*+g[p>>2];g[(c[l>>2]|0)+((c[j>>2]|0)-1-(c[k>>2]|0)<<2)>>2]=+g[p>>2]+ +g[m>>2]*+g[o>>2];c[k>>2]=(c[k>>2]|0)+1}g[h>>2]=+g[h>>2]-+g[m>>2]*+g[m>>2]*+g[h>>2];if(+g[h>>2]<+g[c[e>>2]>>2]*1.0000000474974513e-03){e=15;break}c[j>>2]=(c[j>>2]|0)+1}if((e|0)==15){i=q;return}}function Vc(a,b,d,e,f,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;k=v+60|0;l=v+56|0;m=v+52|0;n=v+48|0;o=v+44|0;p=v+40|0;r=v+32|0;s=v+28|0;q=v+24|0;t=v+8|0;u=v;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=h;c[v+36>>2]=j;a=c[o>>2]|0;c[q>>2]=ia()|0;e=i;i=i+((1*(a<<2)|0)+15&-16)|0;a=i;i=i+((1*((c[n>>2]|0)+(c[o>>2]|0)<<2)|0)+15&-16)|0;c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[o>>2]|0))break;g[e+(c[r>>2]<<2)>>2]=+g[(c[l>>2]|0)+((c[o>>2]|0)-(c[r>>2]|0)-1<<2)>>2];c[r>>2]=(c[r>>2]|0)+1}c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[o>>2]|0))break;g[a+(c[r>>2]<<2)>>2]=+g[(c[p>>2]|0)+((c[o>>2]|0)-(c[r>>2]|0)-1<<2)>>2];c[r>>2]=(c[r>>2]|0)+1}c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[n>>2]|0))break;g[a+((c[r>>2]|0)+(c[o>>2]|0)<<2)>>2]=+g[(c[k>>2]|0)+(c[r>>2]<<2)>>2];c[r>>2]=(c[r>>2]|0)+1}c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[o>>2]|0))break;g[(c[p>>2]|0)+(c[r>>2]<<2)>>2]=+g[(c[k>>2]|0)+((c[n>>2]|0)-(c[r>>2]|0)-1<<2)>>2];c[r>>2]=(c[r>>2]|0)+1}c[r>>2]=0;while(1){if((c[r>>2]|0)>=((c[n>>2]|0)-3|0))break;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;Wc(e,a+(c[r>>2]<<2)|0,t,c[o>>2]|0);g[(c[m>>2]|0)+(c[r>>2]<<2)>>2]=+g[(c[k>>2]|0)+(c[r>>2]<<2)>>2]+ +g[t>>2];g[(c[m>>2]|0)+((c[r>>2]|0)+1<<2)>>2]=+g[(c[k>>2]|0)+((c[r>>2]|0)+1<<2)>>2]+ +g[t+4>>2];g[(c[m>>2]|0)+((c[r>>2]|0)+2<<2)>>2]=+g[(c[k>>2]|0)+((c[r>>2]|0)+2<<2)>>2]+ +g[t+8>>2];g[(c[m>>2]|0)+((c[r>>2]|0)+3<<2)>>2]=+g[(c[k>>2]|0)+((c[r>>2]|0)+3<<2)>>2]+ +g[t+12>>2];c[r>>2]=(c[r>>2]|0)+4}while(1){if((c[r>>2]|0)>=(c[n>>2]|0))break;g[u>>2]=0.0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[o>>2]|0))break;g[u>>2]=+g[u>>2]+ +g[e+(c[s>>2]<<2)>>2]*+g[a+((c[r>>2]|0)+(c[s>>2]|0)<<2)>>2];c[s>>2]=(c[s>>2]|0)+1}g[(c[m>>2]|0)+(c[r>>2]<<2)>>2]=+g[(c[k>>2]|0)+(c[r>>2]<<2)>>2]+ +g[u>>2];c[r>>2]=(c[r>>2]|0)+1}na(c[q>>2]|0);i=v;return}function Wc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;f=u+48|0;h=u+44|0;j=u+40|0;k=u+36|0;l=u+32|0;q=u+28|0;r=u+24|0;s=u+20|0;t=u+16|0;m=u+12|0;n=u+8|0;o=u+4|0;p=u;c[f>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;g[t>>2]=0.0;b=c[h>>2]|0;c[h>>2]=b+4;g[q>>2]=+g[b>>2];b=c[h>>2]|0;c[h>>2]=b+4;g[r>>2]=+g[b>>2];b=c[h>>2]|0;c[h>>2]=b+4;g[s>>2]=+g[b>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=((c[k>>2]|0)-3|0))break;b=c[f>>2]|0;c[f>>2]=b+4;g[m>>2]=+g[b>>2];b=c[h>>2]|0;c[h>>2]=b+4;g[t>>2]=+g[b>>2];g[c[j>>2]>>2]=+g[c[j>>2]>>2]+ +g[m>>2]*+g[q>>2];g[(c[j>>2]|0)+4>>2]=+g[(c[j>>2]|0)+4>>2]+ +g[m>>2]*+g[r>>2];g[(c[j>>2]|0)+8>>2]=+g[(c[j>>2]|0)+8>>2]+ +g[m>>2]*+g[s>>2];g[(c[j>>2]|0)+12>>2]=+g[(c[j>>2]|0)+12>>2]+ +g[m>>2]*+g[t>>2];b=c[f>>2]|0;c[f>>2]=b+4;g[m>>2]=+g[b>>2];b=c[h>>2]|0;c[h>>2]=b+4;g[q>>2]=+g[b>>2];g[c[j>>2]>>2]=+g[c[j>>2]>>2]+ +g[m>>2]*+g[r>>2];g[(c[j>>2]|0)+4>>2]=+g[(c[j>>2]|0)+4>>2]+ +g[m>>2]*+g[s>>2];g[(c[j>>2]|0)+8>>2]=+g[(c[j>>2]|0)+8>>2]+ +g[m>>2]*+g[t>>2];g[(c[j>>2]|0)+12>>2]=+g[(c[j>>2]|0)+12>>2]+ +g[m>>2]*+g[q>>2];b=c[f>>2]|0;c[f>>2]=b+4;g[m>>2]=+g[b>>2];b=c[h>>2]|0;c[h>>2]=b+4;g[r>>2]=+g[b>>2];g[c[j>>2]>>2]=+g[c[j>>2]>>2]+ +g[m>>2]*+g[s>>2];g[(c[j>>2]|0)+4>>2]=+g[(c[j>>2]|0)+4>>2]+ +g[m>>2]*+g[t>>2];g[(c[j>>2]|0)+8>>2]=+g[(c[j>>2]|0)+8>>2]+ +g[m>>2]*+g[q>>2];g[(c[j>>2]|0)+12>>2]=+g[(c[j>>2]|0)+12>>2]+ +g[m>>2]*+g[r>>2];b=c[f>>2]|0;c[f>>2]=b+4;g[m>>2]=+g[b>>2];b=c[h>>2]|0;c[h>>2]=b+4;g[s>>2]=+g[b>>2];g[c[j>>2]>>2]=+g[c[j>>2]>>2]+ +g[m>>2]*+g[t>>2];g[(c[j>>2]|0)+4>>2]=+g[(c[j>>2]|0)+4>>2]+ +g[m>>2]*+g[q>>2];g[(c[j>>2]|0)+8>>2]=+g[(c[j>>2]|0)+8>>2]+ +g[m>>2]*+g[r>>2];g[(c[j>>2]|0)+12>>2]=+g[(c[j>>2]|0)+12>>2]+ +g[m>>2]*+g[s>>2];c[l>>2]=(c[l>>2]|0)+4}b=c[l>>2]|0;c[l>>2]=b+1;if((b|0)<(c[k>>2]|0)){b=c[f>>2]|0;c[f>>2]=b+4;g[n>>2]=+g[b>>2];b=c[h>>2]|0;c[h>>2]=b+4;g[t>>2]=+g[b>>2];g[c[j>>2]>>2]=+g[c[j>>2]>>2]+ +g[n>>2]*+g[q>>2];g[(c[j>>2]|0)+4>>2]=+g[(c[j>>2]|0)+4>>2]+ +g[n>>2]*+g[r>>2];g[(c[j>>2]|0)+8>>2]=+g[(c[j>>2]|0)+8>>2]+ +g[n>>2]*+g[s>>2];g[(c[j>>2]|0)+12>>2]=+g[(c[j>>2]|0)+12>>2]+ +g[n>>2]*+g[t>>2]}b=c[l>>2]|0;c[l>>2]=b+1;if((b|0)<(c[k>>2]|0)){b=c[f>>2]|0;c[f>>2]=b+4;g[o>>2]=+g[b>>2];b=c[h>>2]|0;c[h>>2]=b+4;g[q>>2]=+g[b>>2];g[c[j>>2]>>2]=+g[c[j>>2]>>2]+ +g[o>>2]*+g[r>>2];g[(c[j>>2]|0)+4>>2]=+g[(c[j>>2]|0)+4>>2]+ +g[o>>2]*+g[s>>2];g[(c[j>>2]|0)+8>>2]=+g[(c[j>>2]|0)+8>>2]+ +g[o>>2]*+g[t>>2];g[(c[j>>2]|0)+12>>2]=+g[(c[j>>2]|0)+12>>2]+ +g[o>>2]*+g[q>>2]}if((c[l>>2]|0)>=(c[k>>2]|0)){i=u;return}b=c[f>>2]|0;c[f>>2]=b+4;g[p>>2]=+g[b>>2];b=c[h>>2]|0;c[h>>2]=b+4;g[r>>2]=+g[b>>2];g[c[j>>2]>>2]=+g[c[j>>2]>>2]+ +g[p>>2]*+g[s>>2];g[(c[j>>2]|0)+4>>2]=+g[(c[j>>2]|0)+4>>2]+ +g[p>>2]*+g[t>>2];g[(c[j>>2]|0)+8>>2]=+g[(c[j>>2]|0)+8>>2]+ +g[p>>2]*+g[q>>2];g[(c[j>>2]|0)+12>>2]=+g[(c[j>>2]|0)+12>>2]+ +g[p>>2]*+g[r>>2];i=u;return}function Xc(a,b,d,e,f,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;k=v+60|0;l=v+56|0;m=v+52|0;n=v+48|0;o=v+44|0;p=v+40|0;r=v+32|0;s=v+28|0;q=v+24|0;t=v+8|0;u=v;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=h;c[v+36>>2]=j;a=c[o>>2]|0;c[q>>2]=ia()|0;e=i;i=i+((1*(a<<2)|0)+15&-16)|0;a=i;i=i+((1*((c[n>>2]|0)+(c[o>>2]|0)<<2)|0)+15&-16)|0;c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[o>>2]|0))break;g[e+(c[r>>2]<<2)>>2]=+g[(c[l>>2]|0)+((c[o>>2]|0)-(c[r>>2]|0)-1<<2)>>2];c[r>>2]=(c[r>>2]|0)+1}c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[o>>2]|0))break;g[a+(c[r>>2]<<2)>>2]=-+g[(c[p>>2]|0)+((c[o>>2]|0)-(c[r>>2]|0)-1<<2)>>2];c[r>>2]=(c[r>>2]|0)+1}while(1){if((c[r>>2]|0)>=((c[n>>2]|0)+(c[o>>2]|0)|0))break;g[a+(c[r>>2]<<2)>>2]=0.0;c[r>>2]=(c[r>>2]|0)+1}c[r>>2]=0;while(1){if((c[r>>2]|0)>=((c[n>>2]|0)-3|0))break;g[t>>2]=+g[(c[k>>2]|0)+(c[r>>2]<<2)>>2];g[t+4>>2]=+g[(c[k>>2]|0)+((c[r>>2]|0)+1<<2)>>2];g[t+8>>2]=+g[(c[k>>2]|0)+((c[r>>2]|0)+2<<2)>>2];g[t+12>>2]=+g[(c[k>>2]|0)+((c[r>>2]|0)+3<<2)>>2];Wc(e,a+(c[r>>2]<<2)|0,t,c[o>>2]|0);g[a+((c[r>>2]|0)+(c[o>>2]|0)<<2)>>2]=-+g[t>>2];g[(c[m>>2]|0)+(c[r>>2]<<2)>>2]=+g[t>>2];g[t+4>>2]=+g[t+4>>2]+ +g[a+((c[r>>2]|0)+(c[o>>2]|0)<<2)>>2]*+g[c[l>>2]>>2];g[a+((c[r>>2]|0)+(c[o>>2]|0)+1<<2)>>2]=-+g[t+4>>2];g[(c[m>>2]|0)+((c[r>>2]|0)+1<<2)>>2]=+g[t+4>>2];g[t+8>>2]=+g[t+8>>2]+ +g[a+((c[r>>2]|0)+(c[o>>2]|0)+1<<2)>>2]*+g[c[l>>2]>>2];g[t+8>>2]=+g[t+8>>2]+ +g[a+((c[r>>2]|0)+(c[o>>2]|0)<<2)>>2]*+g[(c[l>>2]|0)+4>>2];g[a+((c[r>>2]|0)+(c[o>>2]|0)+2<<2)>>2]=-+g[t+8>>2];g[(c[m>>2]|0)+((c[r>>2]|0)+2<<2)>>2]=+g[t+8>>2];g[t+12>>2]=+g[t+12>>2]+ +g[a+((c[r>>2]|0)+(c[o>>2]|0)+2<<2)>>2]*+g[c[l>>2]>>2];g[t+12>>2]=+g[t+12>>2]+ +g[a+((c[r>>2]|0)+(c[o>>2]|0)+1<<2)>>2]*+g[(c[l>>2]|0)+4>>2];g[t+12>>2]=+g[t+12>>2]+ +g[a+((c[r>>2]|0)+(c[o>>2]|0)<<2)>>2]*+g[(c[l>>2]|0)+8>>2];g[a+((c[r>>2]|0)+(c[o>>2]|0)+3<<2)>>2]=-+g[t+12>>2];g[(c[m>>2]|0)+((c[r>>2]|0)+3<<2)>>2]=+g[t+12>>2];c[r>>2]=(c[r>>2]|0)+4}while(1){if((c[r>>2]|0)>=(c[n>>2]|0))break;g[u>>2]=+g[(c[k>>2]|0)+(c[r>>2]<<2)>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[o>>2]|0))break;g[u>>2]=+g[u>>2]-+g[e+(c[s>>2]<<2)>>2]*+g[a+((c[r>>2]|0)+(c[s>>2]|0)<<2)>>2];c[s>>2]=(c[s>>2]|0)+1}g[a+((c[r>>2]|0)+(c[o>>2]|0)<<2)>>2]=+g[u>>2];g[(c[m>>2]|0)+(c[r>>2]<<2)>>2]=+g[u>>2];c[r>>2]=(c[r>>2]|0)+1}c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[o>>2]|0))break;g[(c[p>>2]|0)+(c[r>>2]<<2)>>2]=+g[(c[m>>2]|0)+((c[n>>2]|0)-(c[r>>2]|0)-1<<2)>>2];c[r>>2]=(c[r>>2]|0)+1}na(c[q>>2]|0);i=v;return}function Yc(a,b,d,e,f,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var k=0.0,l=0,m=0,n=0,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=i;i=i+64|0;l=z+52|0;p=z+48|0;m=z+44|0;n=z+40|0;q=z+36|0;r=z+32|0;o=z+28|0;t=z+24|0;v=z+20|0;w=z+16|0;u=z+12|0;x=z+8|0;y=z+4|0;s=z;c[l>>2]=a;c[p>>2]=b;c[m>>2]=d;c[n>>2]=e;c[q>>2]=f;c[r>>2]=h;c[o>>2]=j;c[u>>2]=(c[r>>2]|0)-(c[q>>2]|0);a=c[r>>2]|0;c[s>>2]=ia()|0;b=i;i=i+((1*(a<<2)|0)+15&-16)|0;if(!(c[n>>2]|0))c[y>>2]=c[l>>2];else{c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[r>>2]|0))break;g[b+(c[v>>2]<<2)>>2]=+g[(c[l>>2]|0)+(c[v>>2]<<2)>>2];c[v>>2]=(c[v>>2]|0)+1}c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[n>>2]|0))break;g[b+(c[v>>2]<<2)>>2]=+g[(c[l>>2]|0)+(c[v>>2]<<2)>>2]*+g[(c[m>>2]|0)+(c[v>>2]<<2)>>2];g[b+((c[r>>2]|0)-(c[v>>2]|0)-1<<2)>>2]=+g[(c[l>>2]|0)+((c[r>>2]|0)-(c[v>>2]|0)-1<<2)>>2]*+g[(c[m>>2]|0)+(c[v>>2]<<2)>>2];c[v>>2]=(c[v>>2]|0)+1}c[y>>2]=b}c[x>>2]=0;Mc(c[y>>2]|0,c[y>>2]|0,c[p>>2]|0,c[u>>2]|0,(c[q>>2]|0)+1|0,c[o>>2]|0);c[w>>2]=0;while(1){if((c[w>>2]|0)>(c[q>>2]|0))break;c[v>>2]=(c[w>>2]|0)+(c[u>>2]|0);g[t>>2]=0.0;while(1){k=+g[t>>2];if((c[v>>2]|0)>=(c[r>>2]|0))break;g[t>>2]=k+ +g[(c[y>>2]|0)+(c[v>>2]<<2)>>2]*+g[(c[y>>2]|0)+((c[v>>2]|0)-(c[w>>2]|0)<<2)>>2];c[v>>2]=(c[v>>2]|0)+1}o=(c[p>>2]|0)+(c[w>>2]<<2)|0;g[o>>2]=+g[o>>2]+k;c[w>>2]=(c[w>>2]|0)+1}y=c[x>>2]|0;na(c[s>>2]|0);i=z;return y|0}function Zc(a,b,d,e,f,h,j,k,l,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;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;var u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0;aa=i;i=i+224|0;z=aa+216|0;A=aa+212|0;H=aa+208|0;x=aa+204|0;I=aa+200|0;J=aa+196|0;K=aa+192|0;L=aa+188|0;M=aa+184|0;N=aa+180|0;B=aa+176|0;v=aa+172|0;ba=aa+168|0;C=aa+164|0;D=aa+160|0;w=aa+156|0;E=aa+152|0;S=aa+148|0;V=aa+144|0;R=aa+96|0;Z=aa+92|0;O=aa+88|0;T=aa+84|0;W=aa+80|0;F=aa+76|0;U=aa+72|0;Q=aa+24|0;$=aa+20|0;Y=aa+16|0;X=aa+12|0;y=aa+8|0;P=aa+4|0;G=aa;c[z>>2]=a;c[A>>2]=b;c[H>>2]=d;c[x>>2]=e;c[I>>2]=f;c[J>>2]=h;c[K>>2]=j;c[L>>2]=k;c[M>>2]=l;c[N>>2]=m;c[B>>2]=n;c[v>>2]=o;c[ba>>2]=p;c[C>>2]=q;c[D>>2]=r;c[w>>2]=s;c[E>>2]=t;c[O>>2]=0;if(!(c[ba>>2]|0))if(!(c[D>>2]|0)?+g[c[C>>2]>>2]>+(_(c[N>>2]<<1,(c[H>>2]|0)-(c[A>>2]|0)|0)|0):0)m=(c[v>>2]|0)>(_((c[H>>2]|0)-(c[A>>2]|0)|0,c[N>>2]|0)|0);else m=0;else m=1;c[S>>2]=m&1;c[T>>2]=~~(+((c[K>>2]|0)>>>0)*+g[c[C>>2]>>2]*+(c[w>>2]|0)/+(c[N>>2]<<9|0));g[W>>2]=+_c(c[I>>2]|0,c[J>>2]|0,c[A>>2]|0,c[x>>2]|0,c[(c[z>>2]|0)+8>>2]|0,c[N>>2]|0);c[Z>>2]=$c(c[M>>2]|0)|0;if(((c[Z>>2]|0)+3|0)>>>0>(c[K>>2]|0)>>>0){c[S>>2]=0;c[D>>2]=0}g[V>>2]=16.0;if(((c[H>>2]|0)-(c[A>>2]|0)|0)>10){if(+g[V>>2]<+(c[v>>2]|0)*.125)u=+g[V>>2];else u=+(c[v>>2]|0)*.125;g[V>>2]=u}if(c[E>>2]|0)g[V>>2]=3.0;q=R;f=c[M>>2]|0;e=q+48|0;do{c[q>>2]=c[f>>2];q=q+4|0;f=f+4|0}while((q|0)<(e|0));ba=_(c[N>>2]|0,c[(c[z>>2]|0)+8>>2]|0)|0;c[F>>2]=ia()|0;n=i;i=i+((1*(ba<<2)|0)+15&-16)|0;ba=(_(c[N>>2]|0,c[(c[z>>2]|0)+8>>2]|0)|0)<<2;j=i;i=i+((1*ba|0)+15&-16)|0;ba=(_(c[N>>2]|0,c[(c[z>>2]|0)+8>>2]|0)|0)<<2;pj(n|0,c[J>>2]|0,ba+0|0)|0;if((c[D>>2]|0)!=0|(c[S>>2]|0)!=0)c[O>>2]=ad(c[z>>2]|0,c[A>>2]|0,c[H>>2]|0,c[I>>2]|0,n,c[K>>2]|0,c[Z>>2]|0,26384+((c[B>>2]|0)*84|0)+42|0,j,c[M>>2]|0,c[N>>2]|0,c[B>>2]|0,1,+g[V>>2],c[E>>2]|0)|0;if(c[S>>2]|0){ba=(_(c[N>>2]|0,c[(c[z>>2]|0)+8>>2]|0)|0)<<2;pj(c[J>>2]|0,n|0,ba+0|0)|0;ba=(_(c[N>>2]|0,c[(c[z>>2]|0)+8>>2]|0)|0)<<2;pj(c[L>>2]|0,j|0,ba+0|0)|0}else{c[$>>2]=Xb(c[M>>2]|0)|0;q=Q;f=c[M>>2]|0;e=q+48|0;do{c[q>>2]=c[f>>2];q=q+4|0;f=f+4|0}while((q|0)<(e|0));c[Y>>2]=bd(R)|0;c[X>>2]=bd(Q)|0;q=cd(Q)|0;c[U>>2]=q+(c[Y>>2]|0);q=(c[X>>2]|0)-(c[Y>>2]|0)|0;c[y>>2]=q;c[y>>2]=(c[y>>2]|0)==0?1:q;q=c[y>>2]|0;c[G>>2]=ia()|0;m=i;i=i+((1*q|0)+15&-16)|0;pj(m|0,c[U>>2]|0,(c[X>>2]|0)-(c[Y>>2]|0)+0|0)|0;q=c[M>>2]|0;f=R;e=q+48|0;do{c[q>>2]=c[f>>2];q=q+4|0;f=f+4|0}while((q|0)<(e|0));c[P>>2]=ad(c[z>>2]|0,c[A>>2]|0,c[H>>2]|0,c[I>>2]|0,c[J>>2]|0,c[K>>2]|0,c[Z>>2]|0,26384+((c[B>>2]|0)*84|0)+((c[S>>2]|0)*42|0)|0,c[L>>2]|0,c[M>>2]|0,c[N>>2]|0,c[B>>2]|0,0,+g[V>>2],c[E>>2]|0)|0;do if(c[D>>2]|0){if((c[O>>2]|0)>=(c[P>>2]|0)){if((c[O>>2]|0)!=(c[P>>2]|0))break;ba=Xb(c[M>>2]|0)|0;if((ba+(c[T>>2]|0)|0)<=(c[$>>2]|0))break}q=c[M>>2]|0;f=Q;e=q+48|0;do{c[q>>2]=c[f>>2];q=q+4|0;f=f+4|0}while((q|0)<(e|0));pj(c[U>>2]|0,m|0,(c[X>>2]|0)-(c[Y>>2]|0)+0|0)|0;ba=(_(c[N>>2]|0,c[(c[z>>2]|0)+8>>2]|0)|0)<<2;pj(c[J>>2]|0,n|0,ba+0|0)|0;ba=(_(c[N>>2]|0,c[(c[z>>2]|0)+8>>2]|0)|0)<<2;pj(c[L>>2]|0,j|0,ba+0|0)|0;c[S>>2]=1}while(0);na(c[G>>2]|0)}if(c[S>>2]|0){g[c[C>>2]>>2]=+g[W>>2];ba=c[F>>2]|0;na(ba|0);i=aa;return}else{g[c[C>>2]>>2]=+g[17580+(c[B>>2]<<2)>>2]*+g[17580+(c[B>>2]<<2)>>2]*+g[c[C>>2]>>2]+ +g[W>>2];ba=c[F>>2]|0;na(ba|0);i=aa;return}}function _c(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 j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;j=t+36|0;k=t+32|0;l=t+28|0;m=t+24|0;n=t+20|0;o=t+16|0;p=t+12|0;s=t+8|0;r=t+4|0;q=t;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=h;g[r>>2]=0.0;c[p>>2]=0;do{c[s>>2]=c[l>>2];while(1){if((c[s>>2]|0)>=(c[m>>2]|0))break;b=(c[s>>2]|0)+(_(c[p>>2]|0,c[n>>2]|0)|0)|0;d=(c[s>>2]|0)+(_(c[p>>2]|0,c[n>>2]|0)|0)|0;g[q>>2]=+g[(c[j>>2]|0)+(b<<2)>>2]-+g[(c[k>>2]|0)+(d<<2)>>2];g[r>>2]=+g[r>>2]+ +g[q>>2]*+g[q>>2];c[s>>2]=(c[s>>2]|0)+1}d=(c[p>>2]|0)+1|0;c[p>>2]=d}while((d|0)<(c[o>>2]|0));i=t;return +(200.0<+g[r>>2]?200.0:+g[r>>2])}function $c(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[(c[d>>2]|0)+20>>2]|0)-(32-(aa(c[(c[d>>2]|0)+28>>2]|0)|0))|0;i=b;return a|0}function ad(a,b,e,f,h,j,k,l,m,n,o,p,q,r,s){a=a|0;b=b|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=+r;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,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;$=i;i=i+128|0;v=$+124|0;w=$+120|0;A=$+116|0;B=$+112|0;C=$+108|0;D=$+104|0;E=$+100|0;F=$+96|0;G=$+92|0;H=$+88|0;x=$+84|0;t=$+80|0;u=$+76|0;y=$+72|0;z=$+68|0;R=$+64|0;L=$+60|0;I=$+56|0;U=$+48|0;O=$+44|0;J=$+40|0;K=$+36|0;W=$+32|0;X=$+28|0;V=$+24|0;Z=$+20|0;Q=$+16|0;Y=$+12|0;S=$+8|0;P=$+4|0;T=$;c[v>>2]=a;c[w>>2]=b;c[A>>2]=e;c[B>>2]=f;c[C>>2]=h;c[D>>2]=j;c[E>>2]=k;c[F>>2]=l;c[G>>2]=m;c[H>>2]=n;c[x>>2]=o;c[t>>2]=p;c[u>>2]=q;g[y>>2]=r;c[z>>2]=s;c[I>>2]=0;c[U>>2]=0;c[U+4>>2]=0;if(((c[E>>2]|0)+3|0)<=(c[D>>2]|0))pc(c[H>>2]|0,c[u>>2]|0,3);if(c[u>>2]|0){g[O>>2]=0.0;g[J>>2]=.149993896484375}else{g[J>>2]=+g[17564+(c[t>>2]<<2)>>2];g[O>>2]=+g[17580+(c[t>>2]<<2)>>2]}c[R>>2]=c[w>>2];while(1){if((c[R>>2]|0)>=(c[A>>2]|0))break;c[L>>2]=0;do{k=(c[R>>2]|0)+(_(c[L>>2]|0,c[(c[v>>2]|0)+8>>2]|0)|0)|0;g[Z>>2]=+g[(c[B>>2]|0)+(k<<2)>>2];k=(c[R>>2]|0)+(_(c[L>>2]|0,c[(c[v>>2]|0)+8>>2]|0)|0)|0;if(-9.0>+g[(c[C>>2]|0)+(k<<2)>>2])r=-9.0;else{k=(c[R>>2]|0)+(_(c[L>>2]|0,c[(c[v>>2]|0)+8>>2]|0)|0)|0;r=+g[(c[C>>2]|0)+(k<<2)>>2]}g[S>>2]=r;g[Q>>2]=+g[Z>>2]-+g[O>>2]*+g[S>>2]-+g[U+(c[L>>2]<<2)>>2];c[W>>2]=~~+M(+(+g[Q>>2]+.5));k=(c[R>>2]|0)+(_(c[L>>2]|0,c[(c[v>>2]|0)+8>>2]|0)|0)|0;if(-28.0>+g[(c[C>>2]|0)+(k<<2)>>2])r=-28.0;else{k=(c[R>>2]|0)+(_(c[L>>2]|0,c[(c[v>>2]|0)+8>>2]|0)|0)|0;r=+g[(c[C>>2]|0)+(k<<2)>>2]}g[P>>2]=r-+g[y>>2];if((c[W>>2]|0)<0?+g[Z>>2]<+g[P>>2]:0){k=(c[W>>2]|0)+~~(+g[P>>2]-+g[Z>>2])|0;c[W>>2]=k;c[W>>2]=(c[W>>2]|0)>0?0:k}c[X>>2]=c[W>>2];c[E>>2]=$c(c[H>>2]|0)|0;c[K>>2]=(c[D>>2]|0)-(c[E>>2]|0)-(_((c[x>>2]|0)*3|0,(c[A>>2]|0)-(c[R>>2]|0)|0)|0);if((c[K>>2]|0)<30?(c[R>>2]|0)!=(c[w>>2]|0):0){if((c[K>>2]|0)<24)c[W>>2]=1<(c[W>>2]|0)?1:c[W>>2]|0;if((c[K>>2]|0)<16)c[W>>2]=-1>(c[W>>2]|0)?-1:c[W>>2]|0}if((c[z>>2]|0)!=0&(c[R>>2]|0)>=2)c[W>>2]=(c[W>>2]|0)<0?c[W>>2]|0:0;do if(((c[D>>2]|0)-(c[E>>2]|0)|0)<15)if(((c[D>>2]|0)-(c[E>>2]|0)|0)<2)if(((c[D>>2]|0)-(c[E>>2]|0)|0)>=1){c[W>>2]=0<(c[W>>2]|0)?0:c[W>>2]|0;pc(c[H>>2]|0,0-(c[W>>2]|0)|0,1);break}else{c[W>>2]=-1;break}else{if(-1>(((c[W>>2]|0)<1?c[W>>2]|0:1)|0))t=-1;else t=(c[W>>2]|0)<1?c[W>>2]|0:1;c[W>>2]=t;qc(c[H>>2]|0,c[W>>2]<<1^0-((c[W>>2]|0)<0&1),26720,2);break}else{c[T>>2]=((c[R>>2]|0)<20?c[R>>2]|0:20)<<1;Dc(c[H>>2]|0,W,(d[(c[F>>2]|0)+(c[T>>2]|0)>>0]|0)<<7,(d[(c[F>>2]|0)+((c[T>>2]|0)+1)>>0]|0)<<6)}while(0);k=(c[R>>2]|0)+(_(c[L>>2]|0,c[(c[v>>2]|0)+8>>2]|0)|0)|0;g[(c[G>>2]|0)+(k<<2)>>2]=+g[Q>>2]-+(c[W>>2]|0);k=N((c[X>>2]|0)-(c[W>>2]|0)|0)|0;c[I>>2]=(c[I>>2]|0)+k;g[V>>2]=+(c[W>>2]|0);g[Y>>2]=+g[O>>2]*+g[S>>2]+ +g[U+(c[L>>2]<<2)>>2]+ +g[V>>2];k=(c[R>>2]|0)+(_(c[L>>2]|0,c[(c[v>>2]|0)+8>>2]|0)|0)|0;g[(c[C>>2]|0)+(k<<2)>>2]=+g[Y>>2];g[U+(c[L>>2]<<2)>>2]=+g[U+(c[L>>2]<<2)>>2]+ +g[V>>2]-+g[J>>2]*+g[V>>2];k=(c[L>>2]|0)+1|0;c[L>>2]=k}while((k|0)<(c[x>>2]|0));c[R>>2]=(c[R>>2]|0)+1}i=$;return (c[z>>2]|0?0:c[I>>2]|0)|0}function bd(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+24>>2]|0}function cd(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[b>>2]>>2]|0}function dd(a,d,e,f,h,j,k,l){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=i;i=i+64|0;m=y+44|0;z=y+40|0;n=y+36|0;o=y+32|0;p=y+28|0;q=y+24|0;r=y+20|0;s=y+16|0;v=y+12|0;t=y+8|0;u=y+48|0;x=y+4|0;w=y;c[m>>2]=a;c[z>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=h;c[q>>2]=j;c[r>>2]=k;c[s>>2]=l;c[v>>2]=c[z>>2];while(1){if((c[v>>2]|0)>=(c[n>>2]|0))break;b[u>>1]=1<>2]|0)+(c[v>>2]<<2)>>2];if((c[(c[q>>2]|0)+(c[v>>2]<<2)>>2]|0)>0){c[t>>2]=0;do{z=(c[v>>2]|0)+(_(c[t>>2]|0,c[(c[m>>2]|0)+8>>2]|0)|0)|0;c[x>>2]=~~+M(+((+g[(c[p>>2]|0)+(z<<2)>>2]+.5)*+(b[u>>1]|0)));if((c[x>>2]|0)>((b[u>>1]|0)-1|0))c[x>>2]=(b[u>>1]|0)-1;if((c[x>>2]|0)<0)c[x>>2]=0;sc(c[r>>2]|0,c[x>>2]|0,c[(c[q>>2]|0)+(c[v>>2]<<2)>>2]|0);g[w>>2]=(+(c[x>>2]|0)+.5)*+(1<<14-(c[(c[q>>2]|0)+(c[v>>2]<<2)>>2]|0)|0)*.00006103515625-.5;z=(c[v>>2]|0)+(_(c[t>>2]|0,c[(c[m>>2]|0)+8>>2]|0)|0)|0;z=(c[o>>2]|0)+(z<<2)|0;g[z>>2]=+g[z>>2]+ +g[w>>2];z=(c[v>>2]|0)+(_(c[t>>2]|0,c[(c[m>>2]|0)+8>>2]|0)|0)|0;z=(c[p>>2]|0)+(z<<2)|0;g[z>>2]=+g[z>>2]-+g[w>>2];z=(c[t>>2]|0)+1|0;c[t>>2]=z}while((z|0)<(c[s>>2]|0))}c[v>>2]=(c[v>>2]|0)+1}i=y;return}function ed(a,b,d,e,f,h,j,k,l,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+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;y=C+16|0;A=C+12|0;x=C+8|0;B=C+4|0;z=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]=j;c[u>>2]=k;c[v>>2]=l;c[w>>2]=m;c[A>>2]=0;while(1){if((c[A>>2]|0)>=2)break;c[y>>2]=c[o>>2];while(1){if((c[y>>2]|0)>=(c[p>>2]|0))break;if((c[u>>2]|0)<(c[w>>2]|0))break;if((c[(c[s>>2]|0)+(c[y>>2]<<2)>>2]|0)<8?(c[(c[t>>2]|0)+(c[y>>2]<<2)>>2]|0)==(c[A>>2]|0):0){c[x>>2]=0;do{b=(c[y>>2]|0)+(_(c[x>>2]|0,c[(c[n>>2]|0)+8>>2]|0)|0)|0;c[B>>2]=+g[(c[r>>2]|0)+(b<<2)>>2]<0.0?0:1;sc(c[v>>2]|0,c[B>>2]|0,1);g[z>>2]=(+(c[B>>2]|0)-.5)*+(1<<14-(c[(c[s>>2]|0)+(c[y>>2]<<2)>>2]|0)-1|0)*.00006103515625;b=(c[y>>2]|0)+(_(c[x>>2]|0,c[(c[n>>2]|0)+8>>2]|0)|0)|0;b=(c[q>>2]|0)+(b<<2)|0;g[b>>2]=+g[b>>2]+ +g[z>>2];c[u>>2]=(c[u>>2]|0)+-1;b=(c[x>>2]|0)+1|0;c[x>>2]=b}while((b|0)<(c[w>>2]|0))}c[y>>2]=(c[y>>2]|0)+1}c[A>>2]=(c[A>>2]|0)+1}i=C;return}function fd(a,b,e,f,h,j,k,l){a=a|0;b=b|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|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=i;i=i+96|0;p=G+80|0;n=G+76|0;q=G+72|0;r=G+68|0;H=G+64|0;s=G+60|0;t=G+56|0;o=G+52|0;B=G+48|0;y=G+44|0;w=G+40|0;A=G+32|0;x=G+28|0;u=G+24|0;v=G+20|0;E=G+16|0;D=G+12|0;C=G+8|0;F=G+4|0;z=G;c[p>>2]=a;c[n>>2]=b;c[q>>2]=e;c[r>>2]=f;c[H>>2]=h;c[s>>2]=j;c[t>>2]=k;c[o>>2]=l;c[B>>2]=26384+((c[o>>2]|0)*84|0)+((c[H>>2]|0)*42|0);c[A>>2]=0;c[A+4>>2]=0;if(c[H>>2]|0){g[x>>2]=0.0;g[u>>2]=.149993896484375}else{g[u>>2]=+g[17564+(c[o>>2]<<2)>>2];g[x>>2]=+g[17580+(c[o>>2]<<2)>>2]}c[v>>2]=c[(c[s>>2]|0)+4>>2]<<3;c[y>>2]=c[n>>2];while(1){if((c[y>>2]|0)>=(c[q>>2]|0))break;c[w>>2]=0;do{c[E>>2]=$c(c[s>>2]|0)|0;do if(((c[v>>2]|0)-(c[E>>2]|0)|0)<15){if(((c[v>>2]|0)-(c[E>>2]|0)|0)>=2){c[D>>2]=ec(c[s>>2]|0,26720,2)|0;c[D>>2]=c[D>>2]>>1^0-(c[D>>2]&1);break}if(((c[v>>2]|0)-(c[E>>2]|0)|0)>=1){c[D>>2]=0-(dc(c[s>>2]|0,1)|0);break}else{c[D>>2]=-1;break}}else{c[z>>2]=((c[y>>2]|0)<20?c[y>>2]|0:20)<<1;c[D>>2]=Fc(c[s>>2]|0,(d[(c[B>>2]|0)+(c[z>>2]|0)>>0]|0)<<7,(d[(c[B>>2]|0)+((c[z>>2]|0)+1)>>0]|0)<<6)|0}while(0);g[C>>2]=+(c[D>>2]|0);H=(c[y>>2]|0)+(_(c[w>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0)|0;if(-9.0>+g[(c[r>>2]|0)+(H<<2)>>2])m=-9.0;else{H=(c[y>>2]|0)+(_(c[w>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0)|0;m=+g[(c[r>>2]|0)+(H<<2)>>2]}H=(c[y>>2]|0)+(_(c[w>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0)|0;g[(c[r>>2]|0)+(H<<2)>>2]=m;H=(c[y>>2]|0)+(_(c[w>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0)|0;g[F>>2]=+g[x>>2]*+g[(c[r>>2]|0)+(H<<2)>>2]+ +g[A+(c[w>>2]<<2)>>2]+ +g[C>>2];H=(c[y>>2]|0)+(_(c[w>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0)|0;g[(c[r>>2]|0)+(H<<2)>>2]=+g[F>>2];g[A+(c[w>>2]<<2)>>2]=+g[A+(c[w>>2]<<2)>>2]+ +g[C>>2]-+g[u>>2]*+g[C>>2];H=(c[w>>2]|0)+1|0;c[w>>2]=H}while((H|0)<(c[t>>2]|0));c[y>>2]=(c[y>>2]|0)+1}i=G;return}function gd(a,b,d,e,f,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+48|0;k=u+40|0;v=u+36|0;l=u+32|0;m=u+28|0;n=u+24|0;o=u+20|0;p=u+16|0;r=u+12|0;q=u+8|0;t=u+4|0;s=u;c[k>>2]=a;c[v>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=h;c[p>>2]=j;c[r>>2]=c[v>>2];while(1){if((c[r>>2]|0)>=(c[l>>2]|0))break;if((c[(c[n>>2]|0)+(c[r>>2]<<2)>>2]|0)>0){c[q>>2]=0;do{c[t>>2]=gc(c[o>>2]|0,c[(c[n>>2]|0)+(c[r>>2]<<2)>>2]|0)|0;g[s>>2]=(+(c[t>>2]|0)+.5)*+(1<<14-(c[(c[n>>2]|0)+(c[r>>2]<<2)>>2]|0)|0)*.00006103515625-.5;v=(c[r>>2]|0)+(_(c[q>>2]|0,c[(c[k>>2]|0)+8>>2]|0)|0)|0;v=(c[m>>2]|0)+(v<<2)|0;g[v>>2]=+g[v>>2]+ +g[s>>2];v=(c[q>>2]|0)+1|0;c[q>>2]=v}while((v|0)<(c[p>>2]|0))}c[r>>2]=(c[r>>2]|0)+1}i=u;return}function hd(a,b,d,e,f,h,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+64|0;m=A+52|0;n=A+48|0;o=A+44|0;p=A+40|0;q=A+36|0;r=A+32|0;s=A+28|0;t=A+24|0;u=A+20|0;w=A+16|0;y=A+12|0;v=A+8|0;z=A+4|0;x=A;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[u>>2]=l;c[y>>2]=0;while(1){if((c[y>>2]|0)>=2)break;c[w>>2]=c[n>>2];while(1){if((c[w>>2]|0)>=(c[o>>2]|0))break;if((c[s>>2]|0)<(c[u>>2]|0))break;if((c[(c[q>>2]|0)+(c[w>>2]<<2)>>2]|0)<8?(c[(c[r>>2]|0)+(c[w>>2]<<2)>>2]|0)==(c[y>>2]|0):0){c[v>>2]=0;do{c[z>>2]=gc(c[t>>2]|0,1)|0;g[x>>2]=(+(c[z>>2]|0)-.5)*+(1<<14-(c[(c[q>>2]|0)+(c[w>>2]<<2)>>2]|0)-1|0)*.00006103515625;b=(c[w>>2]|0)+(_(c[v>>2]|0,c[(c[m>>2]|0)+8>>2]|0)|0)|0;b=(c[p>>2]|0)+(b<<2)|0;g[b>>2]=+g[b>>2]+ +g[x>>2];c[s>>2]=(c[s>>2]|0)+-1;b=(c[v>>2]|0)+1|0;c[v>>2]=b}while((b|0)<(c[u>>2]|0))}c[w>>2]=(c[w>>2]|0)+1}c[y>>2]=(c[y>>2]|0)+1}i=A;return}function id(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 j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=i;i=i+32|0;j=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;n=r+12|0;o=r+8|0;p=r+4|0;q=r;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=h;c[p>>2]=0;do{c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[k>>2]|0))break;a=(c[q>>2]|0)+(_(c[p>>2]|0,c[(c[j>>2]|0)+8>>2]|0)|0)|0;s=+Y(+(+g[(c[m>>2]|0)+(a<<2)>>2]))*1.4426950408889634;a=(c[q>>2]|0)+(_(c[p>>2]|0,c[(c[j>>2]|0)+8>>2]|0)|0)|0;g[(c[n>>2]|0)+(a<<2)>>2]=s-+g[17464+(c[q>>2]<<2)>>2];c[q>>2]=(c[q>>2]|0)+1}c[q>>2]=c[k>>2];while(1){h=c[p>>2]|0;if((c[q>>2]|0)>=(c[l>>2]|0))break;a=_(h,c[(c[j>>2]|0)+8>>2]|0)|0;g[(c[n>>2]|0)+(a+(c[q>>2]|0)<<2)>>2]=-14.0;c[q>>2]=(c[q>>2]|0)+1}a=h+1|0;c[p>>2]=a}while((a|0)<(c[o>>2]|0));i=r;return}function jd(a,e,f,g,h,j,k,l,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;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;var x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ha=i;i=i+160|0;D=ha+144|0;E=ha+140|0;P=ha+136|0;Q=ha+132|0;R=ha+128|0;x=ha+124|0;S=ha+120|0;T=ha+116|0;U=ha+112|0;V=ha+108|0;F=ha+104|0;G=ha+100|0;H=ha+96|0;I=ha+92|0;J=ha+88|0;K=ha+84|0;L=ha+80|0;M=ha+76|0;N=ha+72|0;ea=ha+68|0;aa=ha+64|0;da=ha+60|0;ca=ha+56|0;Z=ha+52|0;ga=ha+48|0;fa=ha+44|0;ba=ha+40|0;$=ha+36|0;O=ha+32|0;A=ha+28|0;C=ha+24|0;B=ha+20|0;z=ha+16|0;y=ha+12|0;X=ha+8|0;Y=ha+4|0;W=ha;c[D>>2]=a;c[E>>2]=e;c[P>>2]=f;c[Q>>2]=g;c[R>>2]=h;c[x>>2]=j;c[S>>2]=k;c[T>>2]=l;c[U>>2]=m;c[V>>2]=n;c[F>>2]=o;c[G>>2]=p;c[H>>2]=q;c[I>>2]=r;c[J>>2]=s;c[K>>2]=t;c[L>>2]=u;c[M>>2]=v;c[N>>2]=w;c[U>>2]=(c[U>>2]|0)>0?c[U>>2]|0:0;c[da>>2]=c[(c[D>>2]|0)+8>>2];c[ga>>2]=c[E>>2];c[fa>>2]=(c[U>>2]|0)>=8?8:0;c[U>>2]=(c[U>>2]|0)-(c[fa>>2]|0);c[$>>2]=0;c[ba>>2]=0;do if((c[I>>2]|0)==2){c[ba>>2]=d[26723+((c[P>>2]|0)-(c[E>>2]|0))>>0];if((c[ba>>2]|0)>(c[U>>2]|0)){c[ba>>2]=0;break}else{c[U>>2]=(c[U>>2]|0)-(c[ba>>2]|0);c[$>>2]=(c[U>>2]|0)>=8?8:0;c[U>>2]=(c[U>>2]|0)-(c[$>>2]|0);break}}while(0);j=c[da>>2]|0;c[O>>2]=ia()|0;s=i;i=i+((1*(j<<2)|0)+15&-16)|0;j=i;i=i+((1*(c[da>>2]<<2)|0)+15&-16)|0;n=i;i=i+((1*(c[da>>2]<<2)|0)+15&-16)|0;h=i;i=i+((1*(c[da>>2]<<2)|0)+15&-16)|0;c[ca>>2]=c[E>>2];while(1){if((c[ca>>2]|0)>=(c[P>>2]|0))break;if((c[I>>2]<<3|0)>(((b[(c[(c[D>>2]|0)+32>>2]|0)+((c[ca>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[D>>2]|0)+32>>2]|0)+(c[ca>>2]<<1)>>1]|0)|0)*3<>2]<<3>>4|0))r=c[I>>2]<<3;else r=((b[(c[(c[D>>2]|0)+32>>2]|0)+((c[ca>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[D>>2]|0)+32>>2]|0)+(c[ca>>2]<<1)>>1]|0)|0)*3<>2]<<3>>4;c[n+(c[ca>>2]<<2)>>2]=r;m=_(c[I>>2]|0,(b[(c[(c[D>>2]|0)+32>>2]|0)+((c[ca>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[D>>2]|0)+32>>2]|0)+(c[ca>>2]<<1)>>1]|0)|0)|0;m=_(m,(c[x>>2]|0)-5-(c[J>>2]|0)|0)|0;m=_(m,(c[P>>2]|0)-(c[ca>>2]|0)-1|0)|0;m=(_(m,1<<(c[J>>2]|0)+3)|0)>>6;c[h+(c[ca>>2]<<2)>>2]=m;if(((b[(c[(c[D>>2]|0)+32>>2]|0)+((c[ca>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[D>>2]|0)+32>>2]|0)+(c[ca>>2]<<1)>>1]|0)<>2]|0)==1){m=h+(c[ca>>2]<<2)|0;c[m>>2]=(c[m>>2]|0)-(c[I>>2]<<3)}c[ca>>2]=(c[ca>>2]|0)+1}c[ea>>2]=1;c[aa>>2]=(c[(c[D>>2]|0)+48>>2]|0)-1;do{c[A>>2]=0;c[C>>2]=0;c[B>>2]=(c[ea>>2]|0)+(c[aa>>2]|0)>>1;c[ca>>2]=c[P>>2];while(1){x=c[ca>>2]|0;c[ca>>2]=x+-1;if((x|0)<=(c[E>>2]|0))break;c[y>>2]=(b[(c[(c[D>>2]|0)+32>>2]|0)+((c[ca>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[D>>2]|0)+32>>2]|0)+(c[ca>>2]<<1)>>1]|0);m=_(c[I>>2]|0,c[y>>2]|0)|0;x=_(c[B>>2]|0,c[da>>2]|0)|0;x=_(m,d[(c[(c[D>>2]|0)+52>>2]|0)+(x+(c[ca>>2]|0))>>0]|0)|0;c[z>>2]=x<>2]>>2;if((c[z>>2]|0)>0){if(0>((c[z>>2]|0)+(c[h+(c[ca>>2]<<2)>>2]|0)|0))r=0;else r=(c[z>>2]|0)+(c[h+(c[ca>>2]<<2)>>2]|0)|0;c[z>>2]=r}c[z>>2]=(c[z>>2]|0)+(c[(c[Q>>2]|0)+(c[ca>>2]<<2)>>2]|0);if(!(c[A>>2]|0?1:(c[z>>2]|0)>=(c[n+(c[ca>>2]<<2)>>2]|0))){if((c[z>>2]|0)<(c[I>>2]<<3|0))continue;c[C>>2]=(c[C>>2]|0)+(c[I>>2]<<3);continue}c[A>>2]=1;if((c[z>>2]|0)<(c[(c[R>>2]|0)+(c[ca>>2]<<2)>>2]|0))r=c[z>>2]|0;else r=c[(c[R>>2]|0)+(c[ca>>2]<<2)>>2]|0;c[C>>2]=(c[C>>2]|0)+r}r=c[B>>2]|0;if((c[C>>2]|0)>(c[U>>2]|0))c[aa>>2]=r-1;else c[ea>>2]=r+1}while((c[ea>>2]|0)<=(c[aa>>2]|0));C=c[ea>>2]|0;c[ea>>2]=C+-1;c[aa>>2]=C;c[ca>>2]=c[E>>2];while(1){if((c[ca>>2]|0)>=(c[P>>2]|0))break;c[W>>2]=(b[(c[(c[D>>2]|0)+32>>2]|0)+((c[ca>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[D>>2]|0)+32>>2]|0)+(c[ca>>2]<<1)>>1]|0);B=_(c[I>>2]|0,c[W>>2]|0)|0;C=_(c[ea>>2]|0,c[da>>2]|0)|0;C=_(B,d[(c[(c[D>>2]|0)+52>>2]|0)+(C+(c[ca>>2]|0))>>0]|0)|0;c[X>>2]=C<>2]>>2;if((c[aa>>2]|0)>=(c[(c[D>>2]|0)+48>>2]|0))r=c[(c[R>>2]|0)+(c[ca>>2]<<2)>>2]|0;else{C=_(c[I>>2]|0,c[W>>2]|0)|0;r=_(c[aa>>2]|0,c[da>>2]|0)|0;r=_(C,d[(c[(c[D>>2]|0)+52>>2]|0)+(r+(c[ca>>2]|0))>>0]|0)|0;r=r<>2]>>2}c[Y>>2]=r;if((c[X>>2]|0)>0){if(0>((c[X>>2]|0)+(c[h+(c[ca>>2]<<2)>>2]|0)|0))r=0;else r=(c[X>>2]|0)+(c[h+(c[ca>>2]<<2)>>2]|0)|0;c[X>>2]=r}if((c[Y>>2]|0)>0){if(0>((c[Y>>2]|0)+(c[h+(c[ca>>2]<<2)>>2]|0)|0))r=0;else r=(c[Y>>2]|0)+(c[h+(c[ca>>2]<<2)>>2]|0)|0;c[Y>>2]=r}if((c[ea>>2]|0)>0)c[X>>2]=(c[X>>2]|0)+(c[(c[Q>>2]|0)+(c[ca>>2]<<2)>>2]|0);c[Y>>2]=(c[Y>>2]|0)+(c[(c[Q>>2]|0)+(c[ca>>2]<<2)>>2]|0);if((c[(c[Q>>2]|0)+(c[ca>>2]<<2)>>2]|0)>0)c[ga>>2]=c[ca>>2];if(0>((c[Y>>2]|0)-(c[X>>2]|0)|0))r=0;else r=(c[Y>>2]|0)-(c[X>>2]|0)|0;c[Y>>2]=r;c[s+(c[ca>>2]<<2)>>2]=c[X>>2];c[j+(c[ca>>2]<<2)>>2]=c[Y>>2];c[ca>>2]=(c[ca>>2]|0)+1}c[Z>>2]=kd(c[D>>2]|0,c[E>>2]|0,c[P>>2]|0,c[ga>>2]|0,s,j,n,c[R>>2]|0,c[U>>2]|0,c[V>>2]|0,c[fa>>2]|0,c[S>>2]|0,c[ba>>2]|0,c[T>>2]|0,c[$>>2]|0,c[F>>2]|0,c[G>>2]|0,c[H>>2]|0,c[I>>2]|0,c[J>>2]|0,c[K>>2]|0,c[L>>2]|0,c[M>>2]|0,c[N>>2]|0)|0;ga=c[Z>>2]|0;na(c[O>>2]|0);i=ha;return ga|0}function kd(a,e,f,g,h,j,k,l,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;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;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,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0;Da=i;i=i+224|0;ea=Da+208|0;ba=Da+204|0;ma=Da+200|0;P=Da+196|0;G=Da+192|0;H=Da+188|0;Q=Da+184|0;na=Da+180|0;Z=Da+176|0;oa=Da+172|0;L=Da+168|0;fa=Da+164|0;M=Da+160|0;ga=Da+156|0;W=Da+152|0;ha=Da+148|0;ia=Da+144|0;ja=Da+140|0;ka=Da+136|0;la=Da+132|0;X=Da+128|0;Y=Da+124|0;N=Da+120|0;O=Da+116|0;aa=Da+112|0;J=Da+108|0;C=Da+104|0;D=Da+100|0;za=Da+96|0;Aa=Da+92|0;Ca=Da+88|0;ua=Da+84|0;R=Da+80|0;ca=Da+76|0;$=Da+72|0;I=Da+68|0;sa=Da+64|0;E=Da+60|0;F=Da+56|0;K=Da+52|0;T=Da+48|0;S=Da+44|0;U=Da+40|0;da=Da+36|0;qa=Da+32|0;pa=Da+28|0;va=Da+24|0;Ba=Da+20|0;ra=Da+16|0;wa=Da+12|0;ta=Da+8|0;ya=Da+4|0;xa=Da;c[ea>>2]=a;c[ba>>2]=e;c[ma>>2]=f;c[P>>2]=g;c[G>>2]=h;c[H>>2]=j;c[Q>>2]=k;c[na>>2]=l;c[Z>>2]=m;c[oa>>2]=n;c[L>>2]=o;c[fa>>2]=p;c[M>>2]=q;c[ga>>2]=r;c[W>>2]=s;c[ha>>2]=t;c[ia>>2]=u;c[ja>>2]=v;c[ka>>2]=w;c[la>>2]=x;c[X>>2]=y;c[Y>>2]=z;c[N>>2]=A;c[O>>2]=B;c[ua>>2]=-1;c[R>>2]=c[ka>>2]<<3;c[Ca>>2]=(c[ka>>2]|0)>1&1;c[Aa>>2]=c[la>>2]<<3;c[J>>2]=0;c[C>>2]=64;c[D>>2]=0;while(1){if((c[D>>2]|0)>=6)break;c[E>>2]=(c[J>>2]|0)+(c[C>>2]|0)>>1;c[aa>>2]=0;c[I>>2]=0;c[za>>2]=c[ma>>2];while(1){m=c[za>>2]|0;c[za>>2]=m+-1;if((m|0)<=(c[ba>>2]|0))break;c[F>>2]=(c[(c[G>>2]|0)+(c[za>>2]<<2)>>2]|0)+((_(c[E>>2]|0,c[(c[H>>2]|0)+(c[za>>2]<<2)>>2]|0)|0)>>6);if(!(c[I>>2]|0?1:(c[F>>2]|0)>=(c[(c[Q>>2]|0)+(c[za>>2]<<2)>>2]|0))){if((c[F>>2]|0)<(c[R>>2]|0))continue;c[aa>>2]=(c[aa>>2]|0)+(c[R>>2]|0);continue}c[I>>2]=1;if((c[F>>2]|0)<(c[(c[na>>2]|0)+(c[za>>2]<<2)>>2]|0))w=c[F>>2]|0;else w=c[(c[na>>2]|0)+(c[za>>2]<<2)>>2]|0;c[aa>>2]=(c[aa>>2]|0)+w}w=c[E>>2]|0;if((c[aa>>2]|0)>(c[Z>>2]|0))c[C>>2]=w;else c[J>>2]=w;c[D>>2]=(c[D>>2]|0)+1}c[aa>>2]=0;c[I>>2]=0;c[za>>2]=c[ma>>2];while(1){F=c[za>>2]|0;c[za>>2]=F+-1;if((F|0)<=(c[ba>>2]|0))break;c[K>>2]=(c[(c[G>>2]|0)+(c[za>>2]<<2)>>2]|0)+((_(c[J>>2]|0,c[(c[H>>2]|0)+(c[za>>2]<<2)>>2]|0)|0)>>6);do if(!(c[I>>2]|0?1:(c[K>>2]|0)>=(c[(c[Q>>2]|0)+(c[za>>2]<<2)>>2]|0)))if((c[K>>2]|0)>=(c[R>>2]|0)){c[K>>2]=c[R>>2];break}else{c[K>>2]=0;break}else c[I>>2]=1;while(0);if((c[K>>2]|0)<(c[(c[na>>2]|0)+(c[za>>2]<<2)>>2]|0))w=c[K>>2]|0;else w=c[(c[na>>2]|0)+(c[za>>2]<<2)>>2]|0;c[K>>2]=w;c[(c[ha>>2]|0)+(c[za>>2]<<2)>>2]=c[K>>2];c[aa>>2]=(c[aa>>2]|0)+(c[K>>2]|0)}c[ua>>2]=c[ma>>2];while(1){c[za>>2]=(c[ua>>2]|0)-1;if((c[za>>2]|0)<=(c[P>>2]|0)){V=29;break}c[ca>>2]=(c[Z>>2]|0)-(c[aa>>2]|0);c[$>>2]=ld(c[ca>>2]|0,(b[(c[(c[ea>>2]|0)+32>>2]|0)+(c[ua>>2]<<1)>>1]|0)-(b[(c[(c[ea>>2]|0)+32>>2]|0)+(c[ba>>2]<<1)>>1]|0)|0)|0;K=_((b[(c[(c[ea>>2]|0)+32>>2]|0)+(c[ua>>2]<<1)>>1]|0)-(b[(c[(c[ea>>2]|0)+32>>2]|0)+(c[ba>>2]<<1)>>1]|0)|0,c[$>>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[za>>2]<<1)>>1]|0)-(b[(c[(c[ea>>2]|0)+32>>2]|0)+(c[ba>>2]<<1)>>1]|0))|0)>0)w=(c[ca>>2]|0)-((b[(c[(c[ea>>2]|0)+32>>2]|0)+(c[za>>2]<<1)>>1]|0)-(b[(c[(c[ea>>2]|0)+32>>2]|0)+(c[ba>>2]<<1)>>1]|0))|0;else w=0;c[U>>2]=w;c[T>>2]=(b[(c[(c[ea>>2]|0)+32>>2]|0)+(c[ua>>2]<<1)>>1]|0)-(b[(c[(c[ea>>2]|0)+32>>2]|0)+(c[za>>2]<<1)>>1]|0);K=(c[(c[ha>>2]|0)+(c[za>>2]<<2)>>2]|0)+(_(c[$>>2]|0,c[T>>2]|0)|0)|0;c[S>>2]=K+(c[U>>2]|0);if((c[(c[Q>>2]|0)+(c[za>>2]<<2)>>2]|0)>((c[R>>2]|0)+8|0))w=c[(c[Q>>2]|0)+(c[za>>2]<<2)>>2]|0;else w=(c[R>>2]|0)+8|0;if((c[S>>2]|0)>=(w|0)){if(!(c[Y>>2]|0)){if(dc(c[X>>2]|0,1)|0)break}else{if((c[ua>>2]|0)<=((c[ba>>2]|0)+2|0)){V=40;break}K=_((c[za>>2]|0)<(c[N>>2]|0)?7:9,c[T>>2]|0)|0;if((c[S>>2]|0)>(K<>2]<<3>>4|0)?(c[za>>2]|0)<=(c[O>>2]|0):0){V=40;break}pc(c[X>>2]|0,0,1)}c[aa>>2]=(c[aa>>2]|0)+8;c[S>>2]=(c[S>>2]|0)-8}c[aa>>2]=(c[aa>>2]|0)-((c[(c[ha>>2]|0)+(c[za>>2]<<2)>>2]|0)+(c[M>>2]|0));if((c[M>>2]|0)>0)c[M>>2]=d[26723+((c[za>>2]|0)-(c[ba>>2]|0))>>0];c[aa>>2]=(c[aa>>2]|0)+(c[M>>2]|0);if((c[S>>2]|0)>=(c[R>>2]|0)){c[aa>>2]=(c[aa>>2]|0)+(c[R>>2]|0);c[(c[ha>>2]|0)+(c[za>>2]<<2)>>2]=c[R>>2]}else c[(c[ha>>2]|0)+(c[za>>2]<<2)>>2]=0;c[ua>>2]=(c[ua>>2]|0)+-1}if((V|0)==29)c[Z>>2]=(c[Z>>2]|0)+(c[L>>2]|0);else if((V|0)==40)pc(c[X>>2]|0,1,1);do if((c[M>>2]|0)>0){if(!(c[Y>>2]|0)){V=c[ba>>2]|0;V=V+(fc(c[X>>2]|0,(c[ua>>2]|0)+1-(c[ba>>2]|0)|0)|0)|0;c[c[fa>>2]>>2]=V;break}if((c[c[fa>>2]>>2]|0)<(c[ua>>2]|0))w=c[c[fa>>2]>>2]|0;else w=c[ua>>2]|0;c[c[fa>>2]>>2]=w;rc(c[X>>2]|0,(c[c[fa>>2]>>2]|0)-(c[ba>>2]|0)|0,(c[ua>>2]|0)+1-(c[ba>>2]|0)|0)}else c[c[fa>>2]>>2]=0;while(0);if((c[c[fa>>2]>>2]|0)<=(c[ba>>2]|0)){c[Z>>2]=(c[Z>>2]|0)+(c[W>>2]|0);c[W>>2]=0}do if((c[W>>2]|0)>0){w=c[X>>2]|0;if(c[Y>>2]|0){pc(w,c[c[ga>>2]>>2]|0,1);break}else{Y=dc(w,1)|0;c[c[ga>>2]>>2]=Y;break}}else c[c[ga>>2]>>2]=0;while(0);c[ca>>2]=(c[Z>>2]|0)-(c[aa>>2]|0);c[$>>2]=ld(c[ca>>2]|0,(b[(c[(c[ea>>2]|0)+32>>2]|0)+(c[ua>>2]<<1)>>1]|0)-(b[(c[(c[ea>>2]|0)+32>>2]|0)+(c[ba>>2]<<1)>>1]|0)|0)|0;aa=_((b[(c[(c[ea>>2]|0)+32>>2]|0)+(c[ua>>2]<<1)>>1]|0)-(b[(c[(c[ea>>2]|0)+32>>2]|0)+(c[ba>>2]<<1)>>1]|0)|0,c[$>>2]|0)|0;c[ca>>2]=(c[ca>>2]|0)-aa;c[za>>2]=c[ba>>2];while(1){if((c[za>>2]|0)>=(c[ua>>2]|0))break;Z=_(c[$>>2]|0,(b[(c[(c[ea>>2]|0)+32>>2]|0)+((c[za>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[ea>>2]|0)+32>>2]|0)+(c[za>>2]<<1)>>1]|0)|0)|0;aa=(c[ha>>2]|0)+(c[za>>2]<<2)|0;c[aa>>2]=(c[aa>>2]|0)+Z;c[za>>2]=(c[za>>2]|0)+1}c[za>>2]=c[ba>>2];while(1){if((c[za>>2]|0)>=(c[ua>>2]|0))break;if((c[ca>>2]|0)<((b[(c[(c[ea>>2]|0)+32>>2]|0)+((c[za>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[ea>>2]|0)+32>>2]|0)+(c[za>>2]<<1)>>1]|0)|0))w=c[ca>>2]|0;else w=(b[(c[(c[ea>>2]|0)+32>>2]|0)+((c[za>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[ea>>2]|0)+32>>2]|0)+(c[za>>2]<<1)>>1]|0)|0;c[da>>2]=w;aa=(c[ha>>2]|0)+(c[za>>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[za>>2]=(c[za>>2]|0)+1}c[sa>>2]=0;c[za>>2]=c[ba>>2];while(1){if((c[za>>2]|0)>=(c[ua>>2]|0))break;c[qa>>2]=(b[(c[(c[ea>>2]|0)+32>>2]|0)+((c[za>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[ea>>2]|0)+32>>2]|0)+(c[za>>2]<<1)>>1]|0);c[pa>>2]=c[qa>>2]<>2];c[ta>>2]=(c[(c[ha>>2]|0)+(c[za>>2]<<2)>>2]|0)+(c[sa>>2]|0);w=c[ta>>2]|0;if((c[pa>>2]|0)>1){if((w-(c[(c[na>>2]|0)+(c[za>>2]<<2)>>2]|0)|0)>0)w=(c[ta>>2]|0)-(c[(c[na>>2]|0)+(c[za>>2]<<2)>>2]|0)|0;else w=0;c[wa>>2]=w;c[(c[ha>>2]|0)+(c[za>>2]<<2)>>2]=(c[ta>>2]|0)-(c[wa>>2]|0);w=_(c[ka>>2]|0,c[pa>>2]|0)|0;if((c[ka>>2]|0)==2&(c[pa>>2]|0)>2?!(c[c[ga>>2]>>2]|0):0)x=(c[za>>2]|0)<(c[c[fa>>2]>>2]|0);else x=0;c[va>>2]=w+(x?1:0);c[ra>>2]=_(c[va>>2]|0,(b[(c[(c[ea>>2]|0)+56>>2]|0)+(c[za>>2]<<1)>>1]|0)+(c[Aa>>2]|0)|0)|0;c[Ba>>2]=(c[ra>>2]>>1)-((c[va>>2]|0)*21|0);if((c[pa>>2]|0)==2)c[Ba>>2]=(c[Ba>>2]|0)+(c[va>>2]<<3>>2);if(((c[(c[ha>>2]|0)+(c[za>>2]<<2)>>2]|0)+(c[Ba>>2]|0)|0)>=(c[va>>2]<<1<<3|0)){if(((c[(c[ha>>2]|0)+(c[za>>2]<<2)>>2]|0)+(c[Ba>>2]|0)|0)<((c[va>>2]|0)*3<<3|0))c[Ba>>2]=(c[Ba>>2]|0)+(c[ra>>2]>>3)}else c[Ba>>2]=(c[Ba>>2]|0)+(c[ra>>2]>>2);if(0>((c[(c[ha>>2]|0)+(c[za>>2]<<2)>>2]|0)+(c[Ba>>2]|0)+(c[va>>2]<<2)|0))w=0;else w=(c[(c[ha>>2]|0)+(c[za>>2]<<2)>>2]|0)+(c[Ba>>2]|0)+(c[va>>2]<<2)|0;c[(c[ia>>2]|0)+(c[za>>2]<<2)>>2]=w;da=(ld(c[(c[ia>>2]|0)+(c[za>>2]<<2)>>2]|0,c[va>>2]|0)|0)>>>3;c[(c[ia>>2]|0)+(c[za>>2]<<2)>>2]=da;da=_(c[ka>>2]|0,c[(c[ia>>2]|0)+(c[za>>2]<<2)>>2]|0)|0;if((da|0)>(c[(c[ha>>2]|0)+(c[za>>2]<<2)>>2]>>3|0))c[(c[ia>>2]|0)+(c[za>>2]<<2)>>2]=c[(c[ha>>2]|0)+(c[za>>2]<<2)>>2]>>c[Ca>>2]>>3;if((c[(c[ia>>2]|0)+(c[za>>2]<<2)>>2]|0)<8)w=c[(c[ia>>2]|0)+(c[za>>2]<<2)>>2]|0;else w=8;c[(c[ia>>2]|0)+(c[za>>2]<<2)>>2]=w;ca=_(c[(c[ia>>2]|0)+(c[za>>2]<<2)>>2]|0,c[va>>2]<<3)|0;c[(c[ja>>2]|0)+(c[za>>2]<<2)>>2]=(ca|0)>=((c[(c[ha>>2]|0)+(c[za>>2]<<2)>>2]|0)+(c[Ba>>2]|0)|0)&1;ca=(_(c[ka>>2]|0,c[(c[ia>>2]|0)+(c[za>>2]<<2)>>2]|0)|0)<<3;da=(c[ha>>2]|0)+(c[za>>2]<<2)|0;c[da>>2]=(c[da>>2]|0)-ca}else{if(0>(w-(c[ka>>2]<<3)|0))w=0;else w=(c[ta>>2]|0)-(c[ka>>2]<<3)|0;c[wa>>2]=w;c[(c[ha>>2]|0)+(c[za>>2]<<2)>>2]=(c[ta>>2]|0)-(c[wa>>2]|0);c[(c[ia>>2]|0)+(c[za>>2]<<2)>>2]=0;c[(c[ja>>2]|0)+(c[za>>2]<<2)>>2]=1}if((c[wa>>2]|0)>0){if((c[wa>>2]>>(c[Ca>>2]|0)+3|0)<(8-(c[(c[ia>>2]|0)+(c[za>>2]<<2)>>2]|0)|0))w=c[wa>>2]>>(c[Ca>>2]|0)+3;else w=8-(c[(c[ia>>2]|0)+(c[za>>2]<<2)>>2]|0)|0;c[ya>>2]=w;da=(c[ia>>2]|0)+(c[za>>2]<<2)|0;c[da>>2]=(c[da>>2]|0)+(c[ya>>2]|0);c[xa>>2]=(_(c[ya>>2]|0,c[ka>>2]|0)|0)<<3;c[(c[ja>>2]|0)+(c[za>>2]<<2)>>2]=(c[xa>>2]|0)>=((c[wa>>2]|0)-(c[sa>>2]|0)|0)&1;c[wa>>2]=(c[wa>>2]|0)-(c[xa>>2]|0)}c[sa>>2]=c[wa>>2];c[za>>2]=(c[za>>2]|0)+1}c[c[oa>>2]>>2]=c[sa>>2];while(1){if((c[za>>2]|0)>=(c[ma>>2]|0))break;c[(c[ia>>2]|0)+(c[za>>2]<<2)>>2]=c[(c[ha>>2]|0)+(c[za>>2]<<2)>>2]>>c[Ca>>2]>>3;c[(c[ha>>2]|0)+(c[za>>2]<<2)>>2]=0;c[(c[ja>>2]|0)+(c[za>>2]<<2)>>2]=(c[(c[ia>>2]|0)+(c[za>>2]<<2)>>2]|0)<1&1;c[za>>2]=(c[za>>2]|0)+1}i=Da;return c[ua>>2]|0}function ld(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;i=f;return ((c[e>>2]|0)>>>0)/((c[d>>2]|0)>>>0)|0|0}function md(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 j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=i;i=i+96|0;j=E+84|0;k=E+80|0;l=E+76|0;F=E+72|0;m=E+68|0;n=E+64|0;v=E+60|0;w=E+56|0;z=E+52|0;x=E+48|0;A=E+44|0;C=E+40|0;D=E+36|0;u=E+32|0;o=E+28|0;y=E+24|0;B=E+20|0;s=E+16|0;t=E+12|0;r=E+8|0;p=E+4|0;q=E;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[F>>2]=e;c[m>>2]=f;c[n>>2]=h;f=c[k>>2]|0;c[o>>2]=ia()|0;a=i;i=i+((1*(f<<2)|0)+15&-16)|0;f=i;i=i+((1*(c[k>>2]<<2)|0)+15&-16)|0;d=i;i=i+((1*(c[k>>2]<<2)|0)+15&-16)|0;nd(c[j>>2]|0,c[k>>2]|0,1,c[m>>2]|0,c[l>>2]|0,c[F>>2]|0);g[A>>2]=0.0;c[w>>2]=0;do{b=d+(c[w>>2]<<2)|0;if(+g[(c[j>>2]|0)+(c[w>>2]<<2)>>2]>0.0)g[b>>2]=1.0;else{g[b>>2]=-1.0;g[(c[j>>2]|0)+(c[w>>2]<<2)>>2]=-+g[(c[j>>2]|0)+(c[w>>2]<<2)>>2]}c[f+(c[w>>2]<<2)>>2]=0;g[a+(c[w>>2]<<2)>>2]=0.0;F=(c[w>>2]|0)+1|0;c[w>>2]=F}while((F|0)<(c[k>>2]|0));g[D>>2]=0.0;g[C>>2]=0.0;c[x>>2]=c[l>>2];if((c[l>>2]|0)>(c[k>>2]>>1|0)){c[w>>2]=0;do{g[A>>2]=+g[A>>2]+ +g[(c[j>>2]|0)+(c[w>>2]<<2)>>2];F=(c[w>>2]|0)+1|0;c[w>>2]=F}while((F|0)<(c[k>>2]|0));if(!(+g[A>>2]>1.0000000036274937e-15&+g[A>>2]<64.0)){g[c[j>>2]>>2]=1.0;c[w>>2]=1;do{g[(c[j>>2]|0)+(c[w>>2]<<2)>>2]=0.0;F=(c[w>>2]|0)+1|0;c[w>>2]=F}while((F|0)<(c[k>>2]|0));g[A>>2]=1.0}g[y>>2]=+((c[l>>2]|0)-1|0)*(1.0/+g[A>>2]);c[w>>2]=0;do{F=~~+M(+(+g[y>>2]*+g[(c[j>>2]|0)+(c[w>>2]<<2)>>2]));c[f+(c[w>>2]<<2)>>2]=F;g[a+(c[w>>2]<<2)>>2]=+(c[f+(c[w>>2]<<2)>>2]|0);g[D>>2]=+g[D>>2]+ +g[a+(c[w>>2]<<2)>>2]*+g[a+(c[w>>2]<<2)>>2];g[C>>2]=+g[C>>2]+ +g[(c[j>>2]|0)+(c[w>>2]<<2)>>2]*+g[a+(c[w>>2]<<2)>>2];F=a+(c[w>>2]<<2)|0;g[F>>2]=+g[F>>2]*2.0;c[x>>2]=(c[x>>2]|0)-(c[f+(c[w>>2]<<2)>>2]|0);F=(c[w>>2]|0)+1|0;c[w>>2]=F}while((F|0)<(c[k>>2]|0))}if((c[x>>2]|0)>((c[k>>2]|0)+3|0)){g[B>>2]=+(c[x>>2]|0);g[D>>2]=+g[D>>2]+ +g[B>>2]*+g[B>>2];g[D>>2]=+g[D>>2]+ +g[B>>2]*+g[a>>2];c[f>>2]=(c[f>>2]|0)+(c[x>>2]|0);c[x>>2]=0}g[z>>2]=1.0;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[x>>2]|0))break;g[t>>2]=-999999986991104.0;g[r>>2]=0.0;c[s>>2]=0;g[D>>2]=+g[D>>2]+1.0;c[w>>2]=0;do{g[p>>2]=+g[C>>2]+ +g[(c[j>>2]|0)+(c[w>>2]<<2)>>2];g[q>>2]=+g[D>>2]+ +g[a+(c[w>>2]<<2)>>2];g[p>>2]=+g[p>>2]*+g[p>>2];if(+g[r>>2]*+g[p>>2]>+g[q>>2]*+g[t>>2]){g[r>>2]=+g[q>>2];g[t>>2]=+g[p>>2];c[s>>2]=c[w>>2]}F=(c[w>>2]|0)+1|0;c[w>>2]=F}while((F|0)<(c[k>>2]|0));g[C>>2]=+g[C>>2]+ +g[(c[j>>2]|0)+(c[s>>2]<<2)>>2];g[D>>2]=+g[D>>2]+ +g[a+(c[s>>2]<<2)>>2];F=a+(c[s>>2]<<2)|0;g[F>>2]=+g[F>>2]+ +g[z>>2]*2.0;F=f+(c[s>>2]<<2)|0;c[F>>2]=(c[F>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+1}c[w>>2]=0;do{g[(c[j>>2]|0)+(c[w>>2]<<2)>>2]=+g[d+(c[w>>2]<<2)>>2]*+g[(c[j>>2]|0)+(c[w>>2]<<2)>>2];if(+g[d+(c[w>>2]<<2)>>2]<0.0)c[f+(c[w>>2]<<2)>>2]=0-(c[f+(c[w>>2]<<2)>>2]|0);F=(c[w>>2]|0)+1|0;c[w>>2]=F}while((F|0)<(c[k>>2]|0));Tb(f,c[k>>2]|0,c[l>>2]|0,c[n>>2]|0);c[u>>2]=qd(f,c[k>>2]|0,c[m>>2]|0)|0;F=c[u>>2]|0;na(c[o>>2]|0);i=E;return F|0}function nd(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 j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+64|0;j=w+48|0;k=w+44|0;l=w+40|0;m=w+36|0;n=w+32|0;o=w+28|0;s=w+24|0;p=w+20|0;t=w+16|0;r=w+12|0;v=w+8|0;u=w+4|0;q=w;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=h;c[u>>2]=0;if((c[o>>2]|0)==0?1:(c[n>>2]<<1|0)>=(c[k>>2]|0)){i=w;return}c[q>>2]=c[17596+((c[o>>2]|0)-1<<2)>>2];g[r>>2]=+(c[k>>2]|0)*1.0/+((c[k>>2]|0)+(_(c[q>>2]|0,c[n>>2]|0)|0)|0);g[v>>2]=+g[r>>2]*+g[r>>2]*.5;g[p>>2]=+Q(+(+g[v>>2]*1.5707963705062866));g[t>>2]=+Q(+((1.0-+g[v>>2])*1.5707963705062866));a:do if((c[k>>2]|0)>=(c[m>>2]<<3|0)){c[u>>2]=1;while(1){v=_(c[u>>2]|0,c[u>>2]|0)|0;v=_(v+(c[u>>2]|0)|0,c[m>>2]|0)|0;if((v+(c[m>>2]>>2)|0)>=(c[k>>2]|0))break a;c[u>>2]=(c[u>>2]|0)+1}}while(0);c[k>>2]=od(c[k>>2]|0,c[m>>2]|0)|0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[m>>2]|0))break;if((c[l>>2]|0)>=0){v=(c[j>>2]|0)+((_(c[s>>2]|0,c[k>>2]|0)|0)<<2)|0;pd(v,c[k>>2]|0,1,+g[p>>2],-+g[t>>2]);if(c[u>>2]|0){v=(c[j>>2]|0)+((_(c[s>>2]|0,c[k>>2]|0)|0)<<2)|0;pd(v,c[k>>2]|0,c[u>>2]|0,+g[t>>2],-+g[p>>2])}}else{if(c[u>>2]|0){v=(c[j>>2]|0)+((_(c[s>>2]|0,c[k>>2]|0)|0)<<2)|0;pd(v,c[k>>2]|0,c[u>>2]|0,+g[t>>2],+g[p>>2])}v=(c[j>>2]|0)+((_(c[s>>2]|0,c[k>>2]|0)|0)<<2)|0;pd(v,c[k>>2]|0,1,+g[p>>2],+g[t>>2])}c[s>>2]=(c[s>>2]|0)+1}i=w;return}function od(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;i=f;return ((c[e>>2]|0)>>>0)/((c[d>>2]|0)>>>0)|0|0}function pd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=+e;f=+f;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;h=u+44|0;j=u+40|0;k=u+36|0;l=u+32|0;m=u+28|0;o=u+24|0;p=u+20|0;n=u+16|0;q=u+12|0;s=u+8|0;r=u+4|0;t=u;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;g[l>>2]=e;g[m>>2]=f;c[n>>2]=c[h>>2];g[p>>2]=-+g[m>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=((c[j>>2]|0)-(c[k>>2]|0)|0))break;g[q>>2]=+g[c[n>>2]>>2];g[s>>2]=+g[(c[n>>2]|0)+(c[k>>2]<<2)>>2];g[(c[n>>2]|0)+(c[k>>2]<<2)>>2]=+g[l>>2]*+g[s>>2]+ +g[m>>2]*+g[q>>2];f=+g[l>>2]*+g[q>>2]+ +g[p>>2]*+g[s>>2];d=c[n>>2]|0;c[n>>2]=d+4;g[d>>2]=f;c[o>>2]=(c[o>>2]|0)+1}c[n>>2]=(c[h>>2]|0)+((c[j>>2]|0)-(c[k>>2]<<1)-1<<2);c[o>>2]=(c[j>>2]|0)-(c[k>>2]<<1)-1;while(1){if((c[o>>2]|0)<0)break;g[r>>2]=+g[c[n>>2]>>2];g[t>>2]=+g[(c[n>>2]|0)+(c[k>>2]<<2)>>2];g[(c[n>>2]|0)+(c[k>>2]<<2)>>2]=+g[l>>2]*+g[t>>2]+ +g[m>>2]*+g[r>>2];f=+g[l>>2]*+g[r>>2]+ +g[p>>2]*+g[t>>2];s=c[n>>2]|0;c[n>>2]=s+-4;g[s>>2]=f;c[o>>2]=(c[o>>2]|0)+-1}i=u;return}function qd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;e=o+32|0;f=o+28|0;g=o+24|0;h=o+20|0;k=o+16|0;j=o+12|0;l=o+8|0;m=o+4|0;n=o;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if((c[h>>2]|0)<=1){c[e>>2]=1;n=c[e>>2]|0;i=o;return n|0}c[j>>2]=od(c[g>>2]|0,c[h>>2]|0)|0;c[k>>2]=0;c[l>>2]=0;do{c[n>>2]=0;c[m>>2]=0;do{a=_(c[l>>2]|0,c[j>>2]|0)|0;c[n>>2]=c[n>>2]|c[(c[f>>2]|0)+(a+(c[m>>2]|0)<<2)>>2];a=(c[m>>2]|0)+1|0;c[m>>2]=a}while((a|0)<(c[j>>2]|0));c[k>>2]=c[k>>2]|((c[n>>2]|0)!=0&1)<>2];a=(c[l>>2]|0)+1|0;c[l>>2]=a}while((a|0)<(c[h>>2]|0));c[e>>2]=c[k>>2];n=c[e>>2]|0;i=o;return n|0}function rd(a,b,d,e,f,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=+j;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;k=i;i=i+48|0;r=k+36|0;o=k+32|0;q=k+28|0;p=k+24|0;n=k+20|0;u=k+16|0;s=k+12|0;t=k+8|0;m=k+4|0;l=k;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]=j;h=c[o>>2]|0;c[l>>2]=ia()|0;e=i;i=i+((1*(h<<2)|0)+15&-16)|0;g[t>>2]=+Vb(e,c[o>>2]|0,c[q>>2]|0,c[u>>2]|0);sd(e,c[r>>2]|0,c[o>>2]|0,+g[t>>2],+g[s>>2]);nd(c[r>>2]|0,c[o>>2]|0,-1,c[n>>2]|0,c[q>>2]|0,c[p>>2]|0);c[m>>2]=qd(e,c[o>>2]|0,c[n>>2]|0)|0;e=c[m>>2]|0;na(c[l>>2]|0);i=k;return e|0}function sd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=+e;f=+f;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;n=i;i=i+32|0;h=n+28|0;j=n+24|0;k=n+20|0;q=n+16|0;o=n+12|0;m=n+8|0;p=n+4|0;l=n;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;g[q>>2]=e;g[o>>2]=f;g[p>>2]=+g[q>>2];f=1.0/+O(+(+g[p>>2]));g[l>>2]=f*+g[o>>2];c[m>>2]=0;do{g[(c[j>>2]|0)+(c[m>>2]<<2)>>2]=+g[l>>2]*+(c[(c[h>>2]|0)+(c[m>>2]<<2)>>2]|0);q=(c[m>>2]|0)+1|0;c[m>>2]=q}while((q|0)<(c[k>>2]|0));i=n;return}function td(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=i;i=i+48|0;m=l+32|0;f=l+28|0;n=l+24|0;j=l+16|0;p=l+12|0;h=l+8|0;o=l+4|0;k=l;c[m>>2]=a;c[f>>2]=b;g[n>>2]=d;c[l+20>>2]=e;g[p>>2]=+ud(c[m>>2]|0,c[m>>2]|0,c[f>>2]|0)+1.0000000036274937e-15;g[o>>2]=+g[p>>2];d=1.0/+O(+(+g[o>>2]));g[h>>2]=d*+g[n>>2];c[k>>2]=c[m>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[f>>2]|0))break;g[c[k>>2]>>2]=+g[h>>2]*+g[c[k>>2]>>2];c[k>>2]=(c[k>>2]|0)+4;c[j>>2]=(c[j>>2]|0)+1}i=l;return}function ud(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[f>>2]=a;c[h>>2]=b;c[j>>2]=d;g[l>>2]=0.0;c[k>>2]=0;while(1){e=+g[l>>2];if((c[k>>2]|0)>=(c[j>>2]|0))break;g[l>>2]=e+ +g[(c[f>>2]|0)+(c[k>>2]<<2)>>2]*+g[(c[h>>2]|0)+(c[k>>2]<<2)>>2];c[k>>2]=(c[k>>2]|0)+1}i=m;return +e}function vd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0;t=i;i=i+64|0;h=t+48|0;j=t+44|0;u=t+40|0;k=t+36|0;n=t+28|0;o=t+24|0;q=t+20|0;s=t+16|0;l=t+12|0;m=t+8|0;p=t+4|0;r=t;c[h>>2]=a;c[j>>2]=b;c[u>>2]=d;c[k>>2]=e;c[t+32>>2]=f;g[m>>2]=1.0000000036274937e-15;g[l>>2]=1.0000000036274937e-15;a:do if(c[u>>2]|0){c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[k>>2]|0))break a;g[p>>2]=+g[(c[h>>2]|0)+(c[n>>2]<<2)>>2]+ +g[(c[j>>2]|0)+(c[n>>2]<<2)>>2];g[r>>2]=+g[(c[h>>2]|0)+(c[n>>2]<<2)>>2]-+g[(c[j>>2]|0)+(c[n>>2]<<2)>>2];g[l>>2]=+g[l>>2]+ +g[p>>2]*+g[p>>2];g[m>>2]=+g[m>>2]+ +g[r>>2]*+g[r>>2];c[n>>2]=(c[n>>2]|0)+1}}else{v=+ud(c[h>>2]|0,c[h>>2]|0,c[k>>2]|0);g[l>>2]=+g[l>>2]+v;v=+ud(c[j>>2]|0,c[j>>2]|0,c[k>>2]|0);g[m>>2]=+g[m>>2]+v}while(0);g[q>>2]=+O(+(+g[l>>2]));g[s>>2]=+O(+(+g[m>>2]));c[o>>2]=~~+M(+(+W(+(+g[s>>2]),+(+g[q>>2]))*10430.3818359375+.5));i=t;return c[o>>2]|0}function wd(a){a=a|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;g=h+8|0;f=h+4|0;e=h;c[d>>2]=a;c[f>>2]=32767/((c[(c[d>>2]|0)+2340>>2]|0)+1|0)|0;c[e>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[d>>2]|0)+2340>>2]|0))break;c[e>>2]=(c[e>>2]|0)+(c[f>>2]|0);b[(c[d>>2]|0)+2772+1280+(c[g>>2]<<1)>>1]=c[e>>2];c[g>>2]=(c[g>>2]|0)+1}c[(c[d>>2]|0)+2772+1376>>2]=0;c[(c[d>>2]|0)+2772+1380>>2]=3176576;i=h;return} function cg(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;f=t+40|0;g=t+36|0;h=t+32|0;m=t+28|0;j=t+24|0;n=t+20|0;o=t+16|0;k=t+44|0;l=t+12|0;r=t+8|0;q=t+4|0;p=t;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;c[j>>2]=0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=20)break;c[r>>2]=(b[c[f>>2]>>1]|0)-(b[c[g>>2]>>1]|0);c[j>>2]=0;c[m>>2]=1;while(1){if((c[m>>2]|0)>((c[h>>2]|0)-1|0))break;c[l>>2]=(b[(c[f>>2]|0)+(c[m>>2]<<1)>>1]|0)-((b[(c[f>>2]|0)+((c[m>>2]|0)-1<<1)>>1]|0)+(b[(c[g>>2]|0)+(c[m>>2]<<1)>>1]|0));if((c[l>>2]|0)<(c[r>>2]|0)){c[r>>2]=c[l>>2];c[j>>2]=c[m>>2]}c[m>>2]=(c[m>>2]|0)+1}c[l>>2]=32768-((b[(c[f>>2]|0)+((c[h>>2]|0)-1<<1)>>1]|0)+(b[(c[g>>2]|0)+(c[h>>2]<<1)>>1]|0));if((c[l>>2]|0)<(c[r>>2]|0)){c[r>>2]=c[l>>2];c[j>>2]=c[h>>2]}if((c[r>>2]|0)>=0){s=41;break}do if(!(c[j>>2]|0))b[c[f>>2]>>1]=b[c[g>>2]>>1]|0;else{if((c[j>>2]|0)==(c[h>>2]|0)){b[(c[f>>2]|0)+((c[h>>2]|0)-1<<1)>>1]=32768-(b[(c[g>>2]|0)+(c[h>>2]<<1)>>1]|0);break}c[q>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[j>>2]|0))break;c[q>>2]=(c[q>>2]|0)+(b[(c[g>>2]|0)+(c[n>>2]<<1)>>1]|0);c[n>>2]=(c[n>>2]|0)+1}c[q>>2]=(c[q>>2]|0)+(b[(c[g>>2]|0)+(c[j>>2]<<1)>>1]>>1);c[p>>2]=32768;c[n>>2]=c[h>>2];while(1){if((c[n>>2]|0)<=(c[j>>2]|0))break;c[p>>2]=(c[p>>2]|0)-(b[(c[g>>2]|0)+(c[n>>2]<<1)>>1]|0);c[n>>2]=(c[n>>2]|0)+-1}c[p>>2]=(c[p>>2]|0)-(b[(c[g>>2]|0)+(c[j>>2]<<1)>>1]>>1);e=((b[(c[f>>2]|0)+((c[j>>2]|0)-1<<1)>>1]|0)+(b[(c[f>>2]|0)+(c[j>>2]<<1)>>1]|0)>>1)+((b[(c[f>>2]|0)+((c[j>>2]|0)-1<<1)>>1]|0)+(b[(c[f>>2]|0)+(c[j>>2]<<1)>>1]|0)&1)|0;do if((c[q>>2]|0)>(c[p>>2]|0)){if((e|0)>(c[q>>2]|0)){e=c[q>>2]|0;break}if((((b[(c[f>>2]|0)+((c[j>>2]|0)-1<<1)>>1]|0)+(b[(c[f>>2]|0)+(c[j>>2]<<1)>>1]|0)>>1)+((b[(c[f>>2]|0)+((c[j>>2]|0)-1<<1)>>1]|0)+(b[(c[f>>2]|0)+(c[j>>2]<<1)>>1]|0)&1)|0)<(c[p>>2]|0)){e=c[p>>2]|0;break}else{e=((b[(c[f>>2]|0)+((c[j>>2]|0)-1<<1)>>1]|0)+(b[(c[f>>2]|0)+(c[j>>2]<<1)>>1]|0)>>1)+((b[(c[f>>2]|0)+((c[j>>2]|0)-1<<1)>>1]|0)+(b[(c[f>>2]|0)+(c[j>>2]<<1)>>1]|0)&1)|0;break}}else{if((e|0)>(c[p>>2]|0)){e=c[p>>2]|0;break}if((((b[(c[f>>2]|0)+((c[j>>2]|0)-1<<1)>>1]|0)+(b[(c[f>>2]|0)+(c[j>>2]<<1)>>1]|0)>>1)+((b[(c[f>>2]|0)+((c[j>>2]|0)-1<<1)>>1]|0)+(b[(c[f>>2]|0)+(c[j>>2]<<1)>>1]|0)&1)|0)<(c[q>>2]|0)){e=c[q>>2]|0;break}else{e=((b[(c[f>>2]|0)+((c[j>>2]|0)-1<<1)>>1]|0)+(b[(c[f>>2]|0)+(c[j>>2]<<1)>>1]|0)>>1)+((b[(c[f>>2]|0)+((c[j>>2]|0)-1<<1)>>1]|0)+(b[(c[f>>2]|0)+(c[j>>2]<<1)>>1]|0)&1)|0;break}}while(0);b[k>>1]=e;b[(c[f>>2]|0)+((c[j>>2]|0)-1<<1)>>1]=(b[k>>1]|0)-(b[(c[g>>2]|0)+(c[j>>2]<<1)>>1]>>1);b[(c[f>>2]|0)+(c[j>>2]<<1)>>1]=(b[(c[f>>2]|0)+((c[j>>2]|0)-1<<1)>>1]|0)+(b[(c[g>>2]|0)+(c[j>>2]<<1)>>1]|0)}while(0);c[o>>2]=(c[o>>2]|0)+1}if((s|0)==41){i=t;return}if((c[o>>2]|0)!=20){i=t;return}vg(c[f>>2]|0,c[h>>2]|0);s=(dg(b[c[f>>2]>>1]|0,b[c[g>>2]>>1]|0)|0)&65535;b[c[f>>2]>>1]=s;c[m>>2]=1;while(1){if((c[m>>2]|0)>=(c[h>>2]|0))break;s=(dg(b[(c[f>>2]|0)+(c[m>>2]<<1)>>1]|0,(b[(c[f>>2]|0)+((c[m>>2]|0)-1<<1)>>1]|0)+(b[(c[g>>2]|0)+(c[m>>2]<<1)>>1]|0)|0)|0)&65535;b[(c[f>>2]|0)+(c[m>>2]<<1)>>1]=s;c[m>>2]=(c[m>>2]|0)+1}s=(eg(b[(c[f>>2]|0)+((c[h>>2]|0)-1<<1)>>1]|0,32768-(b[(c[g>>2]|0)+(c[h>>2]<<1)>>1]|0)|0)|0)&65535;b[(c[f>>2]|0)+((c[h>>2]|0)-1<<1)>>1]=s;c[m>>2]=(c[h>>2]|0)-2;while(1){if((c[m>>2]|0)<0)break;s=(eg(b[(c[f>>2]|0)+(c[m>>2]<<1)>>1]|0,(b[(c[f>>2]|0)+((c[m>>2]|0)+1<<1)>>1]|0)-(b[(c[g>>2]|0)+((c[m>>2]|0)+1<<1)>>1]|0)|0)|0)&65535;b[(c[f>>2]|0)+(c[m>>2]<<1)>>1]=s;c[m>>2]=(c[m>>2]|0)+-1}i=t;return}function dg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;i=f;return ((c[e>>2]|0)>(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function eg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;i=f;return ((c[e>>2]|0)<(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function fg(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;c[k>>2]=gg(b[c[g>>2]>>1]|0,1)|0;c[k>>2]=131072/(c[k>>2]|0)|0;c[l>>2]=gg((b[(c[g>>2]|0)+2>>1]|0)-(b[c[g>>2]>>1]|0)|0,1)|0;c[l>>2]=131072/(c[l>>2]|0)|0;d=(hg((c[k>>2]|0)+(c[l>>2]|0)|0,32767)|0)&65535;b[c[f>>2]>>1]=d;c[j>>2]=1;while(1){if((c[j>>2]|0)>=((c[h>>2]|0)-1|0))break;c[k>>2]=gg((b[(c[g>>2]|0)+((c[j>>2]|0)+1<<1)>>1]|0)-(b[(c[g>>2]|0)+(c[j>>2]<<1)>>1]|0)|0,1)|0;c[k>>2]=131072/(c[k>>2]|0)|0;d=(hg((c[k>>2]|0)+(c[l>>2]|0)|0,32767)|0)&65535;b[(c[f>>2]|0)+(c[j>>2]<<1)>>1]=d;c[l>>2]=gg((b[(c[g>>2]|0)+((c[j>>2]|0)+2<<1)>>1]|0)-(b[(c[g>>2]|0)+((c[j>>2]|0)+1<<1)>>1]|0)|0,1)|0;c[l>>2]=131072/(c[l>>2]|0)|0;d=(hg((c[k>>2]|0)+(c[l>>2]|0)|0,32767)|0)&65535;b[(c[f>>2]|0)+((c[j>>2]|0)+1<<1)>>1]=d;c[j>>2]=(c[j>>2]|0)+2}c[k>>2]=gg(32768-(b[(c[g>>2]|0)+((c[h>>2]|0)-1<<1)>>1]|0)|0,1)|0;c[k>>2]=131072/(c[k>>2]|0)|0;l=(hg((c[k>>2]|0)+(c[l>>2]|0)|0,32767)|0)&65535;b[(c[f>>2]|0)+((c[h>>2]|0)-1<<1)>>1]=l;i=m;return}function gg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;i=f;return ((c[e>>2]|0)>(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function hg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;i=f;return ((c[e>>2]|0)<(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function ig(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+20|0;h=m+16|0;j=m+12|0;k=m+8|0;n=m+4|0;l=m;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[n>>2]=f;oj(c[h>>2]|0,0,300)|0;d=(c[j>>2]|0)!=8e3&(c[j>>2]|0)!=12e3&(c[j>>2]|0)!=16e3;do if(c[n>>2]|0){if(!(d&(c[j>>2]|0)!=24e3&(c[j>>2]|0)!=48e3)?!((c[k>>2]|0)!=8e3&(c[k>>2]|0)!=12e3&(c[k>>2]|0)!=16e3):0){c[(c[h>>2]|0)+292>>2]=a[30493+((((c[j>>2]>>12)-((c[j>>2]|0)>16e3&1)>>((c[j>>2]|0)>24e3&1))-1|0)*3|0)+(((c[k>>2]>>12)-((c[k>>2]|0)>16e3&1)>>((c[k>>2]|0)>24e3&1))-1)>>0];break}c[g>>2]=-1;n=c[g>>2]|0;i=m;return n|0}else{if(!d?!((c[k>>2]|0)!=8e3&(c[k>>2]|0)!=12e3&(c[k>>2]|0)!=16e3&(c[k>>2]|0)!=24e3&(c[k>>2]|0)!=48e3):0){c[(c[h>>2]|0)+292>>2]=a[30508+((((c[j>>2]>>12)-((c[j>>2]|0)>16e3&1)>>((c[j>>2]|0)>24e3&1))-1|0)*5|0)+(((c[k>>2]>>12)-((c[k>>2]|0)>16e3&1)>>((c[k>>2]|0)>24e3&1))-1)>>0];break}c[g>>2]=-1;n=c[g>>2]|0;i=m;return n|0}while(0);c[(c[h>>2]|0)+284>>2]=(c[j>>2]|0)/1e3|0;c[(c[h>>2]|0)+288>>2]=(c[k>>2]|0)/1e3|0;c[(c[h>>2]|0)+268>>2]=(c[(c[h>>2]|0)+284>>2]|0)*10;c[l>>2]=0;e=c[k>>2]|0;b=c[j>>2]|0;do if((c[k>>2]|0)>(c[j>>2]|0)){d=(c[h>>2]|0)+264|0;if((e|0)==(b<<1|0)){c[d>>2]=1;break}else{c[d>>2]=2;c[l>>2]=1;break}}else{d=(c[h>>2]|0)+264|0;if((e|0)>=(b|0)){c[d>>2]=0;break}c[d>>2]=3;if((c[k>>2]<<2|0)==((c[j>>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]=24846;break}if(((c[k>>2]|0)*3|0)==(c[j>>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]=24904;break}if((c[k>>2]<<1|0)==(c[j>>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]=24944;break}if(((c[k>>2]|0)*3|0)==(c[j>>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]=24972;break}if((c[k>>2]<<2|0)==(c[j>>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]=25012;break}if(((c[k>>2]|0)*6|0)==(c[j>>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]=25052;break}c[g>>2]=-1;n=c[g>>2]|0;i=m;return n|0}while(0);c[(c[h>>2]|0)+272>>2]=((c[j>>2]<<14+(c[l>>2]|0)|0)/(c[k>>2]|0)|0)<<2;while(1){n=_(c[(c[h>>2]|0)+272>>2]>>16,(c[k>>2]&65535)<<16>>16)|0;n=n+((_(c[(c[h>>2]|0)+272>>2]&65535,(c[k>>2]&65535)<<16>>16)|0)>>16)|0;n=n+(_(c[(c[h>>2]|0)+272>>2]|0,(c[k>>2]>>15)+1>>1)|0)|0;if((n|0)>=(c[j>>2]<>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;i=m;return n|0}function jg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=(c[(c[f>>2]|0)+284>>2]|0)-(c[(c[f>>2]|0)+292>>2]|0);pj((c[f>>2]|0)+168+(c[(c[f>>2]|0)+292>>2]<<1)|0,c[h>>2]|0,c[k>>2]<<1|0)|0;switch(c[(c[f>>2]|0)+264>>2]|0){case 1:{sg(c[f>>2]|0,c[g>>2]|0,(c[f>>2]|0)+168|0,c[(c[f>>2]|0)+284>>2]|0);sg(c[f>>2]|0,(c[g>>2]|0)+(c[(c[f>>2]|0)+288>>2]<<1)|0,(c[h>>2]|0)+(c[k>>2]<<1)|0,(c[j>>2]|0)-(c[(c[f>>2]|0)+284>>2]|0)|0);break}case 2:{pg(c[f>>2]|0,c[g>>2]|0,(c[f>>2]|0)+168|0,c[(c[f>>2]|0)+284>>2]|0);pg(c[f>>2]|0,(c[g>>2]|0)+(c[(c[f>>2]|0)+288>>2]<<1)|0,(c[h>>2]|0)+(c[k>>2]<<1)|0,(c[j>>2]|0)-(c[(c[f>>2]|0)+284>>2]|0)|0);break}case 3:{ng(c[f>>2]|0,c[g>>2]|0,(c[f>>2]|0)+168|0,c[(c[f>>2]|0)+284>>2]|0);ng(c[f>>2]|0,(c[g>>2]|0)+(c[(c[f>>2]|0)+288>>2]<<1)|0,(c[h>>2]|0)+(c[k>>2]<<1)|0,(c[j>>2]|0)-(c[(c[f>>2]|0)+284>>2]|0)|0);break}default:{pj(c[g>>2]|0,(c[f>>2]|0)+168|0,c[(c[f>>2]|0)+284>>2]<<1|0)|0;pj((c[g>>2]|0)+(c[(c[f>>2]|0)+288>>2]<<1)|0,(c[h>>2]|0)+(c[k>>2]<<1)|0,(c[j>>2]|0)-(c[(c[f>>2]|0)+284>>2]|0)<<1|0)|0}}pj((c[f>>2]|0)+168|0,(c[h>>2]|0)+((c[j>>2]|0)-(c[(c[f>>2]|0)+292>>2]|0)<<1)|0,c[(c[f>>2]|0)+292>>2]<<1|0)|0;i=l;return 0}function kg(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+1968|0;g=q+1964|0;h=q+1960|0;j=q+1956|0;k=q+1952|0;o=q+1948|0;n=q+1944|0;p=q+1940|0;m=q+1936|0;l=q;c[g>>2]=a;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;d=c[g>>2]|0;c[l>>2]=c[d>>2];c[l+4>>2]=c[d+4>>2];c[l+8>>2]=c[d+8>>2];c[l+12>>2]=c[d+12>>2];while(1){c[o>>2]=(c[k>>2]|0)<480?c[k>>2]|0:480;mg((c[g>>2]|0)+16|0,l+16|0,c[j>>2]|0,25092,c[o>>2]|0);c[m>>2]=l;c[n>>2]=c[o>>2];while(1){if((c[n>>2]|0)<=2)break;d=_(c[c[m>>2]>>2]>>16,b[12548]|0)|0;c[p>>2]=d+((_(c[c[m>>2]>>2]&65535,b[12548]|0)|0)>>16);d=_(c[(c[m>>2]|0)+4>>2]>>16,b[12549]|0)|0;c[p>>2]=(c[p>>2]|0)+(d+((_(c[(c[m>>2]|0)+4>>2]&65535,b[12549]|0)|0)>>16));d=_(c[(c[m>>2]|0)+8>>2]>>16,b[12551]|0)|0;c[p>>2]=(c[p>>2]|0)+(d+((_(c[(c[m>>2]|0)+8>>2]&65535,b[12551]|0)|0)>>16));d=_(c[(c[m>>2]|0)+12>>2]>>16,b[12550]|0)|0;c[p>>2]=(c[p>>2]|0)+(d+((_(c[(c[m>>2]|0)+12>>2]&65535,b[12550]|0)|0)>>16));if(((c[p>>2]>>5)+1>>1|0)<=32767)if(((c[p>>2]>>5)+1>>1|0)<-32768)a=-32768;else a=(c[p>>2]>>5)+1>>1;else a=32767;d=c[h>>2]|0;c[h>>2]=d+2;b[d>>1]=a;d=_(c[(c[m>>2]|0)+4>>2]>>16,b[12550]|0)|0;c[p>>2]=d+((_(c[(c[m>>2]|0)+4>>2]&65535,b[12550]|0)|0)>>16);d=_(c[(c[m>>2]|0)+8>>2]>>16,b[12551]|0)|0;c[p>>2]=(c[p>>2]|0)+(d+((_(c[(c[m>>2]|0)+8>>2]&65535,b[12551]|0)|0)>>16));d=_(c[(c[m>>2]|0)+12>>2]>>16,b[12549]|0)|0;c[p>>2]=(c[p>>2]|0)+(d+((_(c[(c[m>>2]|0)+12>>2]&65535,b[12549]|0)|0)>>16));d=_(c[(c[m>>2]|0)+16>>2]>>16,b[12548]|0)|0;c[p>>2]=(c[p>>2]|0)+(d+((_(c[(c[m>>2]|0)+16>>2]&65535,b[12548]|0)|0)>>16));if(((c[p>>2]>>5)+1>>1|0)<=32767)if(((c[p>>2]>>5)+1>>1|0)<-32768)a=-32768;else a=(c[p>>2]>>5)+1>>1;else a=32767;d=c[h>>2]|0;c[h>>2]=d+2;b[d>>1]=a;c[m>>2]=(c[m>>2]|0)+12;c[n>>2]=(c[n>>2]|0)-3}c[j>>2]=(c[j>>2]|0)+(c[o>>2]<<1);c[k>>2]=(c[k>>2]|0)-(c[o>>2]|0);if((c[k>>2]|0)<=0)break;d=l+(c[o>>2]<<2)|0;c[l>>2]=c[d>>2];c[l+4>>2]=c[d+4>>2];c[l+8>>2]=c[d+8>>2];c[l+12>>2]=c[d+12>>2]}p=c[g>>2]|0;o=l+(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];i=q;return}function lg(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+48|0;g=q+36|0;h=q+32|0;j=q+28|0;r=q+24|0;n=q+20|0;o=q+16|0;m=q+12|0;p=q+8|0;l=q+4|0;k=q;c[g>>2]=a;c[h>>2]=d;c[j>>2]=e;c[r>>2]=f;c[o>>2]=c[r>>2]>>1;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[o>>2]|0))break;c[m>>2]=b[(c[j>>2]|0)+(c[n>>2]<<1<<1)>>1]<<10;c[l>>2]=(c[m>>2]|0)-(c[c[g>>2]>>2]|0);r=_(c[l>>2]>>16,-25727)|0;c[k>>2]=(c[l>>2]|0)+(r+((_(c[l>>2]&65535,-25727)|0)>>16));c[p>>2]=(c[c[g>>2]>>2]|0)+(c[k>>2]|0);c[c[g>>2]>>2]=(c[m>>2]|0)+(c[k>>2]|0);c[m>>2]=b[(c[j>>2]|0)+((c[n>>2]<<1)+1<<1)>>1]<<10;c[l>>2]=(c[m>>2]|0)-(c[(c[g>>2]|0)+4>>2]|0);c[k>>2]=((c[l>>2]>>16)*9872|0)+((c[l>>2]&65535)*9872>>16);c[p>>2]=(c[p>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0);c[p>>2]=(c[p>>2]|0)+(c[k>>2]|0);c[(c[g>>2]|0)+4>>2]=(c[m>>2]|0)+(c[k>>2]|0);if(((c[p>>2]>>10)+1>>1|0)<=32767)if(((c[p>>2]>>10)+1>>1|0)<-32768)a=-32768;else a=(c[p>>2]>>10)+1>>1;else a=32767;b[(c[h>>2]|0)+(c[n>>2]<<1)>>1]=a;c[n>>2]=(c[n>>2]|0)+1}i=q;return}function mg(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[h>>2]=a;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[m>>2]|0))break;c[o>>2]=(c[c[h>>2]>>2]|0)+(b[(c[k>>2]|0)+(c[n>>2]<<1)>>1]<<8);c[(c[j>>2]|0)+(c[n>>2]<<2)>>2]=c[o>>2];c[o>>2]=c[o>>2]<<2;d=_(c[o>>2]>>16,b[c[l>>2]>>1]|0)|0;d=(c[(c[h>>2]|0)+4>>2]|0)+(d+((_(c[o>>2]&65535,b[c[l>>2]>>1]|0)|0)>>16))|0;c[c[h>>2]>>2]=d;d=_(c[o>>2]>>16,b[(c[l>>2]|0)+2>>1]|0)|0;d=d+((_(c[o>>2]&65535,b[(c[l>>2]|0)+2>>1]|0)|0)>>16)|0;c[(c[h>>2]|0)+4>>2]=d;c[n>>2]=(c[n>>2]|0)+1}i=p;return}function ng(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;q=p+36|0;f=p+32|0;g=p+28|0;h=p+24|0;l=p+20|0;o=p+16|0;n=p+12|0;m=p+8|0;k=p+4|0;j=p;c[q>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[l>>2]=c[q>>2];b=(c[(c[l>>2]|0)+268>>2]|0)+(c[(c[l>>2]|0)+276>>2]|0)|0;c[j>>2]=ia()|0;a=i;i=i+((1*(b<<2)|0)+15&-16)|0;pj(a|0,(c[l>>2]|0)+24|0,c[(c[l>>2]|0)+276>>2]<<2|0)|0;c[k>>2]=(c[(c[l>>2]|0)+296>>2]|0)+4;c[m>>2]=c[(c[l>>2]|0)+272>>2];while(1){if((c[h>>2]|0)<(c[(c[l>>2]|0)+268>>2]|0))d=c[h>>2]|0;else d=c[(c[l>>2]|0)+268>>2]|0;c[o>>2]=d;mg(c[l>>2]|0,a+(c[(c[l>>2]|0)+276>>2]<<2)|0,c[g>>2]|0,c[(c[l>>2]|0)+296>>2]|0,c[o>>2]|0);c[n>>2]=c[o>>2]<<16;c[f>>2]=og(c[f>>2]|0,a,c[k>>2]|0,c[(c[l>>2]|0)+276>>2]|0,c[(c[l>>2]|0)+280>>2]|0,c[n>>2]|0,c[m>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+(c[o>>2]<<1);c[h>>2]=(c[h>>2]|0)-(c[o>>2]|0);if((c[h>>2]|0)<=1)break;pj(a|0,a+(c[o>>2]<<2)|0,c[(c[l>>2]|0)+276>>2]<<2|0)|0}pj((c[l>>2]|0)+24|0,a+(c[o>>2]<<2)|0,c[(c[l>>2]|0)+276>>2]<<2|0)|0;na(c[j>>2]|0);i=p;return}function og(a,d,e,f,g,h,j){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=i;i=i+48|0;n=v+44|0;o=v+40|0;p=v+36|0;w=v+32|0;k=v+28|0;q=v+24|0;r=v+20|0;t=v+16|0;u=v+12|0;s=v+8|0;l=v+4|0;m=v;c[n>>2]=a;c[o>>2]=d;c[p>>2]=e;c[w>>2]=f;c[k>>2]=g;c[q>>2]=h;c[r>>2]=j;switch(c[w>>2]|0){case 18:{c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[q>>2]|0))break;c[s>>2]=(c[o>>2]|0)+(c[t>>2]>>16<<2);w=_((c[t>>2]&65535)>>16,(c[k>>2]&65535)<<16>>16)|0;c[l>>2]=w+((_(c[t>>2]&65535,(c[k>>2]&65535)<<16>>16)|0)>>16);c[m>>2]=(c[p>>2]|0)+((c[l>>2]|0)*9<<1);w=_(c[c[s>>2]>>2]>>16,b[c[m>>2]>>1]|0)|0;c[u>>2]=w+((_(c[c[s>>2]>>2]&65535,b[c[m>>2]>>1]|0)|0)>>16);w=_(c[(c[s>>2]|0)+4>>2]>>16,b[(c[m>>2]|0)+2>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((_(c[(c[s>>2]|0)+4>>2]&65535,b[(c[m>>2]|0)+2>>1]|0)|0)>>16));w=_(c[(c[s>>2]|0)+8>>2]>>16,b[(c[m>>2]|0)+4>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((_(c[(c[s>>2]|0)+8>>2]&65535,b[(c[m>>2]|0)+4>>1]|0)|0)>>16));w=_(c[(c[s>>2]|0)+12>>2]>>16,b[(c[m>>2]|0)+6>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((_(c[(c[s>>2]|0)+12>>2]&65535,b[(c[m>>2]|0)+6>>1]|0)|0)>>16));w=_(c[(c[s>>2]|0)+16>>2]>>16,b[(c[m>>2]|0)+8>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((_(c[(c[s>>2]|0)+16>>2]&65535,b[(c[m>>2]|0)+8>>1]|0)|0)>>16));w=_(c[(c[s>>2]|0)+20>>2]>>16,b[(c[m>>2]|0)+10>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((_(c[(c[s>>2]|0)+20>>2]&65535,b[(c[m>>2]|0)+10>>1]|0)|0)>>16));w=_(c[(c[s>>2]|0)+24>>2]>>16,b[(c[m>>2]|0)+12>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((_(c[(c[s>>2]|0)+24>>2]&65535,b[(c[m>>2]|0)+12>>1]|0)|0)>>16));w=_(c[(c[s>>2]|0)+28>>2]>>16,b[(c[m>>2]|0)+14>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((_(c[(c[s>>2]|0)+28>>2]&65535,b[(c[m>>2]|0)+14>>1]|0)|0)>>16));w=_(c[(c[s>>2]|0)+32>>2]>>16,b[(c[m>>2]|0)+16>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((_(c[(c[s>>2]|0)+32>>2]&65535,b[(c[m>>2]|0)+16>>1]|0)|0)>>16));c[m>>2]=(c[p>>2]|0)+(((c[k>>2]|0)-1-(c[l>>2]|0)|0)*9<<1);w=_(c[(c[s>>2]|0)+68>>2]>>16,b[c[m>>2]>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((_(c[(c[s>>2]|0)+68>>2]&65535,b[c[m>>2]>>1]|0)|0)>>16));w=_(c[(c[s>>2]|0)+64>>2]>>16,b[(c[m>>2]|0)+2>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((_(c[(c[s>>2]|0)+64>>2]&65535,b[(c[m>>2]|0)+2>>1]|0)|0)>>16));w=_(c[(c[s>>2]|0)+60>>2]>>16,b[(c[m>>2]|0)+4>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((_(c[(c[s>>2]|0)+60>>2]&65535,b[(c[m>>2]|0)+4>>1]|0)|0)>>16));w=_(c[(c[s>>2]|0)+56>>2]>>16,b[(c[m>>2]|0)+6>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((_(c[(c[s>>2]|0)+56>>2]&65535,b[(c[m>>2]|0)+6>>1]|0)|0)>>16));w=_(c[(c[s>>2]|0)+52>>2]>>16,b[(c[m>>2]|0)+8>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((_(c[(c[s>>2]|0)+52>>2]&65535,b[(c[m>>2]|0)+8>>1]|0)|0)>>16));w=_(c[(c[s>>2]|0)+48>>2]>>16,b[(c[m>>2]|0)+10>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((_(c[(c[s>>2]|0)+48>>2]&65535,b[(c[m>>2]|0)+10>>1]|0)|0)>>16));w=_(c[(c[s>>2]|0)+44>>2]>>16,b[(c[m>>2]|0)+12>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((_(c[(c[s>>2]|0)+44>>2]&65535,b[(c[m>>2]|0)+12>>1]|0)|0)>>16));w=_(c[(c[s>>2]|0)+40>>2]>>16,b[(c[m>>2]|0)+14>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((_(c[(c[s>>2]|0)+40>>2]&65535,b[(c[m>>2]|0)+14>>1]|0)|0)>>16));w=_(c[(c[s>>2]|0)+36>>2]>>16,b[(c[m>>2]|0)+16>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((_(c[(c[s>>2]|0)+36>>2]&65535,b[(c[m>>2]|0)+16>>1]|0)|0)>>16));if(((c[u>>2]>>5)+1>>1|0)<=32767)if(((c[u>>2]>>5)+1>>1|0)<-32768)e=-32768;else e=(c[u>>2]>>5)+1>>1;else e=32767;w=c[n>>2]|0;c[n>>2]=w+2;b[w>>1]=e;c[t>>2]=(c[t>>2]|0)+(c[r>>2]|0)}w=c[n>>2]|0;i=v;return w|0}case 24:{c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[q>>2]|0))break;c[s>>2]=(c[o>>2]|0)+(c[t>>2]>>16<<2);w=_((c[c[s>>2]>>2]|0)+(c[(c[s>>2]|0)+92>>2]|0)>>16,b[c[p>>2]>>1]|0)|0;c[u>>2]=w+((_((c[c[s>>2]>>2]|0)+(c[(c[s>>2]|0)+92>>2]|0)&65535,b[c[p>>2]>>1]|0)|0)>>16);w=_((c[(c[s>>2]|0)+4>>2]|0)+(c[(c[s>>2]|0)+88>>2]|0)>>16,b[(c[p>>2]|0)+2>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((_((c[(c[s>>2]|0)+4>>2]|0)+(c[(c[s>>2]|0)+88>>2]|0)&65535,b[(c[p>>2]|0)+2>>1]|0)|0)>>16));w=_((c[(c[s>>2]|0)+8>>2]|0)+(c[(c[s>>2]|0)+84>>2]|0)>>16,b[(c[p>>2]|0)+4>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((_((c[(c[s>>2]|0)+8>>2]|0)+(c[(c[s>>2]|0)+84>>2]|0)&65535,b[(c[p>>2]|0)+4>>1]|0)|0)>>16));w=_((c[(c[s>>2]|0)+12>>2]|0)+(c[(c[s>>2]|0)+80>>2]|0)>>16,b[(c[p>>2]|0)+6>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((_((c[(c[s>>2]|0)+12>>2]|0)+(c[(c[s>>2]|0)+80>>2]|0)&65535,b[(c[p>>2]|0)+6>>1]|0)|0)>>16));w=_((c[(c[s>>2]|0)+16>>2]|0)+(c[(c[s>>2]|0)+76>>2]|0)>>16,b[(c[p>>2]|0)+8>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((_((c[(c[s>>2]|0)+16>>2]|0)+(c[(c[s>>2]|0)+76>>2]|0)&65535,b[(c[p>>2]|0)+8>>1]|0)|0)>>16));w=_((c[(c[s>>2]|0)+20>>2]|0)+(c[(c[s>>2]|0)+72>>2]|0)>>16,b[(c[p>>2]|0)+10>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((_((c[(c[s>>2]|0)+20>>2]|0)+(c[(c[s>>2]|0)+72>>2]|0)&65535,b[(c[p>>2]|0)+10>>1]|0)|0)>>16));w=_((c[(c[s>>2]|0)+24>>2]|0)+(c[(c[s>>2]|0)+68>>2]|0)>>16,b[(c[p>>2]|0)+12>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((_((c[(c[s>>2]|0)+24>>2]|0)+(c[(c[s>>2]|0)+68>>2]|0)&65535,b[(c[p>>2]|0)+12>>1]|0)|0)>>16));w=_((c[(c[s>>2]|0)+28>>2]|0)+(c[(c[s>>2]|0)+64>>2]|0)>>16,b[(c[p>>2]|0)+14>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((_((c[(c[s>>2]|0)+28>>2]|0)+(c[(c[s>>2]|0)+64>>2]|0)&65535,b[(c[p>>2]|0)+14>>1]|0)|0)>>16));w=_((c[(c[s>>2]|0)+32>>2]|0)+(c[(c[s>>2]|0)+60>>2]|0)>>16,b[(c[p>>2]|0)+16>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((_((c[(c[s>>2]|0)+32>>2]|0)+(c[(c[s>>2]|0)+60>>2]|0)&65535,b[(c[p>>2]|0)+16>>1]|0)|0)>>16));w=_((c[(c[s>>2]|0)+36>>2]|0)+(c[(c[s>>2]|0)+56>>2]|0)>>16,b[(c[p>>2]|0)+18>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((_((c[(c[s>>2]|0)+36>>2]|0)+(c[(c[s>>2]|0)+56>>2]|0)&65535,b[(c[p>>2]|0)+18>>1]|0)|0)>>16));w=_((c[(c[s>>2]|0)+40>>2]|0)+(c[(c[s>>2]|0)+52>>2]|0)>>16,b[(c[p>>2]|0)+20>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((_((c[(c[s>>2]|0)+40>>2]|0)+(c[(c[s>>2]|0)+52>>2]|0)&65535,b[(c[p>>2]|0)+20>>1]|0)|0)>>16));w=_((c[(c[s>>2]|0)+44>>2]|0)+(c[(c[s>>2]|0)+48>>2]|0)>>16,b[(c[p>>2]|0)+22>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((_((c[(c[s>>2]|0)+44>>2]|0)+(c[(c[s>>2]|0)+48>>2]|0)&65535,b[(c[p>>2]|0)+22>>1]|0)|0)>>16));if(((c[u>>2]>>5)+1>>1|0)<=32767)if(((c[u>>2]>>5)+1>>1|0)<-32768)e=-32768;else e=(c[u>>2]>>5)+1>>1;else e=32767;w=c[n>>2]|0;c[n>>2]=w+2;b[w>>1]=e;c[t>>2]=(c[t>>2]|0)+(c[r>>2]|0)}w=c[n>>2]|0;i=v;return w|0}case 36:{c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[q>>2]|0))break;c[s>>2]=(c[o>>2]|0)+(c[t>>2]>>16<<2);w=_((c[c[s>>2]>>2]|0)+(c[(c[s>>2]|0)+140>>2]|0)>>16,b[c[p>>2]>>1]|0)|0;c[u>>2]=w+((_((c[c[s>>2]>>2]|0)+(c[(c[s>>2]|0)+140>>2]|0)&65535,b[c[p>>2]>>1]|0)|0)>>16);w=_((c[(c[s>>2]|0)+4>>2]|0)+(c[(c[s>>2]|0)+136>>2]|0)>>16,b[(c[p>>2]|0)+2>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((_((c[(c[s>>2]|0)+4>>2]|0)+(c[(c[s>>2]|0)+136>>2]|0)&65535,b[(c[p>>2]|0)+2>>1]|0)|0)>>16));w=_((c[(c[s>>2]|0)+8>>2]|0)+(c[(c[s>>2]|0)+132>>2]|0)>>16,b[(c[p>>2]|0)+4>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((_((c[(c[s>>2]|0)+8>>2]|0)+(c[(c[s>>2]|0)+132>>2]|0)&65535,b[(c[p>>2]|0)+4>>1]|0)|0)>>16));w=_((c[(c[s>>2]|0)+12>>2]|0)+(c[(c[s>>2]|0)+128>>2]|0)>>16,b[(c[p>>2]|0)+6>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((_((c[(c[s>>2]|0)+12>>2]|0)+(c[(c[s>>2]|0)+128>>2]|0)&65535,b[(c[p>>2]|0)+6>>1]|0)|0)>>16));w=_((c[(c[s>>2]|0)+16>>2]|0)+(c[(c[s>>2]|0)+124>>2]|0)>>16,b[(c[p>>2]|0)+8>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((_((c[(c[s>>2]|0)+16>>2]|0)+(c[(c[s>>2]|0)+124>>2]|0)&65535,b[(c[p>>2]|0)+8>>1]|0)|0)>>16));w=_((c[(c[s>>2]|0)+20>>2]|0)+(c[(c[s>>2]|0)+120>>2]|0)>>16,b[(c[p>>2]|0)+10>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((_((c[(c[s>>2]|0)+20>>2]|0)+(c[(c[s>>2]|0)+120>>2]|0)&65535,b[(c[p>>2]|0)+10>>1]|0)|0)>>16));w=_((c[(c[s>>2]|0)+24>>2]|0)+(c[(c[s>>2]|0)+116>>2]|0)>>16,b[(c[p>>2]|0)+12>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((_((c[(c[s>>2]|0)+24>>2]|0)+(c[(c[s>>2]|0)+116>>2]|0)&65535,b[(c[p>>2]|0)+12>>1]|0)|0)>>16));w=_((c[(c[s>>2]|0)+28>>2]|0)+(c[(c[s>>2]|0)+112>>2]|0)>>16,b[(c[p>>2]|0)+14>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((_((c[(c[s>>2]|0)+28>>2]|0)+(c[(c[s>>2]|0)+112>>2]|0)&65535,b[(c[p>>2]|0)+14>>1]|0)|0)>>16));w=_((c[(c[s>>2]|0)+32>>2]|0)+(c[(c[s>>2]|0)+108>>2]|0)>>16,b[(c[p>>2]|0)+16>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((_((c[(c[s>>2]|0)+32>>2]|0)+(c[(c[s>>2]|0)+108>>2]|0)&65535,b[(c[p>>2]|0)+16>>1]|0)|0)>>16));w=_((c[(c[s>>2]|0)+36>>2]|0)+(c[(c[s>>2]|0)+104>>2]|0)>>16,b[(c[p>>2]|0)+18>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((_((c[(c[s>>2]|0)+36>>2]|0)+(c[(c[s>>2]|0)+104>>2]|0)&65535,b[(c[p>>2]|0)+18>>1]|0)|0)>>16));w=_((c[(c[s>>2]|0)+40>>2]|0)+(c[(c[s>>2]|0)+100>>2]|0)>>16,b[(c[p>>2]|0)+20>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((_((c[(c[s>>2]|0)+40>>2]|0)+(c[(c[s>>2]|0)+100>>2]|0)&65535,b[(c[p>>2]|0)+20>>1]|0)|0)>>16));w=_((c[(c[s>>2]|0)+44>>2]|0)+(c[(c[s>>2]|0)+96>>2]|0)>>16,b[(c[p>>2]|0)+22>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((_((c[(c[s>>2]|0)+44>>2]|0)+(c[(c[s>>2]|0)+96>>2]|0)&65535,b[(c[p>>2]|0)+22>>1]|0)|0)>>16));w=_((c[(c[s>>2]|0)+48>>2]|0)+(c[(c[s>>2]|0)+92>>2]|0)>>16,b[(c[p>>2]|0)+24>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((_((c[(c[s>>2]|0)+48>>2]|0)+(c[(c[s>>2]|0)+92>>2]|0)&65535,b[(c[p>>2]|0)+24>>1]|0)|0)>>16));w=_((c[(c[s>>2]|0)+52>>2]|0)+(c[(c[s>>2]|0)+88>>2]|0)>>16,b[(c[p>>2]|0)+26>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((_((c[(c[s>>2]|0)+52>>2]|0)+(c[(c[s>>2]|0)+88>>2]|0)&65535,b[(c[p>>2]|0)+26>>1]|0)|0)>>16));w=_((c[(c[s>>2]|0)+56>>2]|0)+(c[(c[s>>2]|0)+84>>2]|0)>>16,b[(c[p>>2]|0)+28>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((_((c[(c[s>>2]|0)+56>>2]|0)+(c[(c[s>>2]|0)+84>>2]|0)&65535,b[(c[p>>2]|0)+28>>1]|0)|0)>>16));w=_((c[(c[s>>2]|0)+60>>2]|0)+(c[(c[s>>2]|0)+80>>2]|0)>>16,b[(c[p>>2]|0)+30>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((_((c[(c[s>>2]|0)+60>>2]|0)+(c[(c[s>>2]|0)+80>>2]|0)&65535,b[(c[p>>2]|0)+30>>1]|0)|0)>>16));w=_((c[(c[s>>2]|0)+64>>2]|0)+(c[(c[s>>2]|0)+76>>2]|0)>>16,b[(c[p>>2]|0)+32>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((_((c[(c[s>>2]|0)+64>>2]|0)+(c[(c[s>>2]|0)+76>>2]|0)&65535,b[(c[p>>2]|0)+32>>1]|0)|0)>>16));w=_((c[(c[s>>2]|0)+68>>2]|0)+(c[(c[s>>2]|0)+72>>2]|0)>>16,b[(c[p>>2]|0)+34>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((_((c[(c[s>>2]|0)+68>>2]|0)+(c[(c[s>>2]|0)+72>>2]|0)&65535,b[(c[p>>2]|0)+34>>1]|0)|0)>>16));if(((c[u>>2]>>5)+1>>1|0)<=32767)if(((c[u>>2]>>5)+1>>1|0)<-32768)e=-32768;else e=(c[u>>2]>>5)+1>>1;else e=32767;w=c[n>>2]|0;c[n>>2]=w+2;b[w>>1]=e;c[t>>2]=(c[t>>2]|0)+(c[r>>2]|0)}w=c[n>>2]|0;i=v;return w|0}default:{w=c[n>>2]|0;i=v;return w|0}}return 0}function pg(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;q=p+32|0;g=p+28|0;h=p+24|0;j=p+20|0;l=p+16|0;o=p+12|0;n=p+8|0;m=p+4|0;k=p;c[q>>2]=a;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[l>>2]=c[q>>2];d=(c[(c[l>>2]|0)+268>>2]<<1)+8|0;c[k>>2]=ia()|0;a=i;i=i+((1*(d<<1)|0)+15&-16)|0;d=(c[l>>2]|0)+24|0;b[a>>1]=b[d>>1]|0;b[a+2>>1]=b[d+2>>1]|0;b[a+4>>1]=b[d+4>>1]|0;b[a+6>>1]=b[d+6>>1]|0;b[a+8>>1]=b[d+8>>1]|0;b[a+10>>1]=b[d+10>>1]|0;b[a+12>>1]=b[d+12>>1]|0;b[a+14>>1]=b[d+14>>1]|0;c[m>>2]=c[(c[l>>2]|0)+272>>2];while(1){if((c[j>>2]|0)<(c[(c[l>>2]|0)+268>>2]|0))e=c[j>>2]|0;else e=c[(c[l>>2]|0)+268>>2]|0;c[o>>2]=e;rg(c[l>>2]|0,a+16|0,c[h>>2]|0,c[o>>2]|0);c[n>>2]=c[o>>2]<<17;c[g>>2]=qg(c[g>>2]|0,a,c[n>>2]|0,c[m>>2]|0)|0;c[h>>2]=(c[h>>2]|0)+(c[o>>2]<<1);c[j>>2]=(c[j>>2]|0)-(c[o>>2]|0);if((c[j>>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[l>>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;na(c[k>>2]|0);i=p;return}function qg(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;m=p+12|0;n=p+8|0;l=p+4|0;o=p;c[g>>2]=a;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[j>>2]|0))break;c[o>>2]=(((c[m>>2]&65535)>>16)*12|0)+((c[m>>2]&65535)*12>>16);c[l>>2]=(c[h>>2]|0)+(c[m>>2]>>16<<1);c[n>>2]=_(b[c[l>>2]>>1]|0,b[25104+(c[o>>2]<<3)>>1]|0)|0;c[n>>2]=(c[n>>2]|0)+(_(b[(c[l>>2]|0)+2>>1]|0,b[25104+(c[o>>2]<<3)+2>>1]|0)|0);c[n>>2]=(c[n>>2]|0)+(_(b[(c[l>>2]|0)+4>>1]|0,b[25104+(c[o>>2]<<3)+4>>1]|0)|0);c[n>>2]=(c[n>>2]|0)+(_(b[(c[l>>2]|0)+6>>1]|0,b[25104+(c[o>>2]<<3)+6>>1]|0)|0);c[n>>2]=(c[n>>2]|0)+(_(b[(c[l>>2]|0)+8>>1]|0,b[25104+(11-(c[o>>2]|0)<<3)+6>>1]|0)|0);c[n>>2]=(c[n>>2]|0)+(_(b[(c[l>>2]|0)+10>>1]|0,b[25104+(11-(c[o>>2]|0)<<3)+4>>1]|0)|0);c[n>>2]=(c[n>>2]|0)+(_(b[(c[l>>2]|0)+12>>1]|0,b[25104+(11-(c[o>>2]|0)<<3)+2>>1]|0)|0);c[n>>2]=(c[n>>2]|0)+(_(b[(c[l>>2]|0)+14>>1]|0,b[25104+(11-(c[o>>2]|0)<<3)>>1]|0)|0);if(((c[n>>2]>>14)+1>>1|0)<=32767)if(((c[n>>2]>>14)+1>>1|0)<-32768)d=-32768;else d=(c[n>>2]>>14)+1>>1;else d=32767;a=c[g>>2]|0;c[g>>2]=a+2;b[a>>1]=d;c[m>>2]=(c[m>>2]|0)+(c[k>>2]|0)}i=p;return c[g>>2]|0}function rg(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;g=r+36|0;h=r+32|0;j=r+28|0;k=r+24|0;o=r+20|0;n=r+16|0;p=r+12|0;q=r+8|0;m=r+4|0;l=r;c[g>>2]=a;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[k>>2]|0))break;c[n>>2]=b[(c[j>>2]|0)+(c[o>>2]<<1)>>1]<<10;c[m>>2]=(c[n>>2]|0)-(c[c[g>>2]>>2]|0);d=_(c[m>>2]>>16,b[12417]|0)|0;c[l>>2]=d+((_(c[m>>2]&65535,b[12417]|0)|0)>>16);c[p>>2]=(c[c[g>>2]>>2]|0)+(c[l>>2]|0);c[c[g>>2]>>2]=(c[n>>2]|0)+(c[l>>2]|0);c[m>>2]=(c[p>>2]|0)-(c[(c[g>>2]|0)+4>>2]|0);d=_(c[m>>2]>>16,b[12418]|0)|0;c[l>>2]=d+((_(c[m>>2]&65535,b[12418]|0)|0)>>16);c[q>>2]=(c[(c[g>>2]|0)+4>>2]|0)+(c[l>>2]|0);c[(c[g>>2]|0)+4>>2]=(c[p>>2]|0)+(c[l>>2]|0);c[m>>2]=(c[q>>2]|0)-(c[(c[g>>2]|0)+8>>2]|0);d=_(c[m>>2]>>16,b[12419]|0)|0;c[l>>2]=(c[m>>2]|0)+(d+((_(c[m>>2]&65535,b[12419]|0)|0)>>16));c[p>>2]=(c[(c[g>>2]|0)+8>>2]|0)+(c[l>>2]|0);c[(c[g>>2]|0)+8>>2]=(c[q>>2]|0)+(c[l>>2]|0);if(((c[p>>2]>>9)+1>>1|0)<=32767)if(((c[p>>2]>>9)+1>>1|0)<-32768)a=-32768;else a=(c[p>>2]>>9)+1>>1;else a=32767;b[(c[h>>2]|0)+(c[o>>2]<<1<<1)>>1]=a;c[m>>2]=(c[n>>2]|0)-(c[(c[g>>2]|0)+12>>2]|0);d=_(c[m>>2]>>16,b[12420]|0)|0;c[l>>2]=d+((_(c[m>>2]&65535,b[12420]|0)|0)>>16);c[p>>2]=(c[(c[g>>2]|0)+12>>2]|0)+(c[l>>2]|0);c[(c[g>>2]|0)+12>>2]=(c[n>>2]|0)+(c[l>>2]|0);c[m>>2]=(c[p>>2]|0)-(c[(c[g>>2]|0)+16>>2]|0);d=_(c[m>>2]>>16,b[12421]|0)|0;c[l>>2]=d+((_(c[m>>2]&65535,b[12421]|0)|0)>>16);c[q>>2]=(c[(c[g>>2]|0)+16>>2]|0)+(c[l>>2]|0);c[(c[g>>2]|0)+16>>2]=(c[p>>2]|0)+(c[l>>2]|0);c[m>>2]=(c[q>>2]|0)-(c[(c[g>>2]|0)+20>>2]|0);d=_(c[m>>2]>>16,b[12422]|0)|0;c[l>>2]=(c[m>>2]|0)+(d+((_(c[m>>2]&65535,b[12422]|0)|0)>>16));c[p>>2]=(c[(c[g>>2]|0)+20>>2]|0)+(c[l>>2]|0);c[(c[g>>2]|0)+20>>2]=(c[q>>2]|0)+(c[l>>2]|0);if(((c[p>>2]>>9)+1>>1|0)<=32767)if(((c[p>>2]>>9)+1>>1|0)<-32768)a=-32768;else a=(c[p>>2]>>9)+1>>1;else a=32767;b[(c[h>>2]|0)+((c[o>>2]<<1)+1<<1)>>1]=a;c[o>>2]=(c[o>>2]|0)+1}i=r;return}function sg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;l=f+16|0;j=f+12|0;h=f+8|0;g=f+4|0;k=f;c[l>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;c[k>>2]=c[l>>2];rg(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0);i=f;return}function tg(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+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;i=f;return e|0}else{c[e>>2]=c[d>>2]>>5;c[b>>2]=(c[17960+(c[e>>2]<<2)>>2]|0)-(_((c[17984+(c[e>>2]<<2)>>2]&65535)<<16>>16,(c[d>>2]&31)<<16>>16)|0);e=c[b>>2]|0;i=f;return e|0}}else if((a|0)>=192){c[b>>2]=32767;e=c[b>>2]|0;i=f;return e|0}else{c[e>>2]=c[d>>2]>>5;c[b>>2]=(c[18008+(c[e>>2]<<2)>>2]|0)+(_((c[17984+(c[e>>2]<<2)>>2]&65535)<<16>>16,(c[d>>2]&31)<<16>>16)|0);e=c[b>>2]|0;i=f;return e|0}return 0}function ug(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;m=n+8|0;k=n+4|0;l=n;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[j>>2]|0))break;c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]=c[k>>2];c[k>>2]=(c[k>>2]|0)+1}c[k>>2]=1;while(1){if((c[k>>2]|0)>=(c[j>>2]|0))break;c[m>>2]=c[(c[f>>2]|0)+(c[k>>2]<<2)>>2];c[l>>2]=(c[k>>2]|0)-1;while(1){if((c[l>>2]|0)<0)break;if((c[m>>2]|0)>=(c[(c[f>>2]|0)+(c[l>>2]<<2)>>2]|0))break;c[(c[f>>2]|0)+((c[l>>2]|0)+1<<2)>>2]=c[(c[f>>2]|0)+(c[l>>2]<<2)>>2];c[(c[g>>2]|0)+((c[l>>2]|0)+1<<2)>>2]=c[(c[g>>2]|0)+(c[l>>2]<<2)>>2];c[l>>2]=(c[l>>2]|0)+-1}c[(c[f>>2]|0)+((c[l>>2]|0)+1<<2)>>2]=c[m>>2];c[(c[g>>2]|0)+((c[l>>2]|0)+1<<2)>>2]=c[k>>2];c[k>>2]=(c[k>>2]|0)+1}c[k>>2]=c[j>>2];while(1){if((c[k>>2]|0)>=(c[h>>2]|0))break;c[m>>2]=c[(c[f>>2]|0)+(c[k>>2]<<2)>>2];if((c[m>>2]|0)<(c[(c[f>>2]|0)+((c[j>>2]|0)-1<<2)>>2]|0)){c[l>>2]=(c[j>>2]|0)-2;while(1){if((c[l>>2]|0)<0)break;if((c[m>>2]|0)>=(c[(c[f>>2]|0)+(c[l>>2]<<2)>>2]|0))break;c[(c[f>>2]|0)+((c[l>>2]|0)+1<<2)>>2]=c[(c[f>>2]|0)+(c[l>>2]<<2)>>2];c[(c[g>>2]|0)+((c[l>>2]|0)+1<<2)>>2]=c[(c[g>>2]|0)+(c[l>>2]<<2)>>2];c[l>>2]=(c[l>>2]|0)+-1}c[(c[f>>2]|0)+((c[l>>2]|0)+1<<2)>>2]=c[m>>2];c[(c[g>>2]|0)+((c[l>>2]|0)+1<<2)>>2]=c[k>>2]}c[k>>2]=(c[k>>2]|0)+1}i=n;return}function vg(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;j=k+8|0;g=k+4|0;h=k;c[e>>2]=a;c[f>>2]=d;c[g>>2]=1;while(1){if((c[g>>2]|0)>=(c[f>>2]|0))break;c[j>>2]=b[(c[e>>2]|0)+(c[g>>2]<<1)>>1];c[h>>2]=(c[g>>2]|0)-1;while(1){if((c[h>>2]|0)<0)break;if((c[j>>2]|0)>=(b[(c[e>>2]|0)+(c[h>>2]<<1)>>1]|0))break;b[(c[e>>2]|0)+((c[h>>2]|0)+1<<1)>>1]=b[(c[e>>2]|0)+(c[h>>2]<<1)>>1]|0;c[h>>2]=(c[h>>2]|0)+-1}b[(c[e>>2]|0)+((c[h>>2]|0)+1<<1)>>1]=c[j>>2];c[g>>2]=(c[g>>2]|0)+1}i=k;return}function wg(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;p=q+8|0;o=q+4|0;n=q;c[h>>2]=a;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[n>>2]=0;c[p>>2]=0;c[l>>2]=(c[l>>2]|0)+-1;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[l>>2]|0))break;c[n>>2]=(c[n>>2]|0)+(_(b[(c[k>>2]|0)+(c[m>>2]<<1)>>1]|0,b[(c[k>>2]|0)+(c[m>>2]<<1)>>1]|0)|0);c[n>>2]=(c[n>>2]|0)+(_(b[(c[k>>2]|0)+((c[m>>2]|0)+1<<1)>>1]|0,b[(c[k>>2]|0)+((c[m>>2]|0)+1<<1)>>1]|0)|0);if((c[n>>2]|0)<0){g=4;break}c[m>>2]=(c[m>>2]|0)+2}if((g|0)==4){c[n>>2]=(c[n>>2]|0)>>>2;c[p>>2]=2;c[m>>2]=(c[m>>2]|0)+2}while(1){a=c[m>>2]|0;if((c[m>>2]|0)>=(c[l>>2]|0))break;c[o>>2]=_(b[(c[k>>2]|0)+(a<<1)>>1]|0,b[(c[k>>2]|0)+(c[m>>2]<<1)>>1]|0)|0;c[o>>2]=(c[o>>2]|0)+(_(b[(c[k>>2]|0)+((c[m>>2]|0)+1<<1)>>1]|0,b[(c[k>>2]|0)+((c[m>>2]|0)+1<<1)>>1]|0)|0);c[n>>2]=(c[n>>2]|0)+((c[o>>2]|0)>>>(c[p>>2]|0));if((c[n>>2]|0)<0){c[n>>2]=(c[n>>2]|0)>>>2;c[p>>2]=(c[p>>2]|0)+2}c[m>>2]=(c[m>>2]|0)+2}if((a|0)==(c[l>>2]|0)){c[o>>2]=_(b[(c[k>>2]|0)+(c[m>>2]<<1)>>1]|0,b[(c[k>>2]|0)+(c[m>>2]<<1)>>1]|0)|0;c[n>>2]=(c[n>>2]|0)+(c[o>>2]>>c[p>>2])}if(!(c[n>>2]&-1073741824)){p=c[p>>2]|0;o=c[j>>2]|0;c[o>>2]=p;o=c[n>>2]|0;p=c[h>>2]|0;c[p>>2]=o;i=q;return}c[n>>2]=(c[n>>2]|0)>>>2;c[p>>2]=(c[p>>2]|0)+2;p=c[p>>2]|0;o=c[j>>2]|0;c[o>>2]=p;o=c[n>>2]|0;p=c[h>>2]|0;c[p>>2]=o;i=q;return}function xg(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+48|0;e=l+40|0;f=l+36|0;j=l+32|0;g=l+8|0;h=l+4|0;k=l;c[e>>2]=a;c[f>>2]=d;c[j>>2]=ec(c[e>>2]|0,28978,8)|0;c[g+8>>2]=(c[j>>2]|0)/5|0;c[g+12+8>>2]=(c[j>>2]|0)-((c[g+8>>2]|0)*5|0);c[j>>2]=0;while(1){if((c[j>>2]|0)>=2)break;a=ec(c[e>>2]|0,29031,8)|0;c[g+((c[j>>2]|0)*12|0)>>2]=a;a=ec(c[e>>2]|0,29038,8)|0;c[g+((c[j>>2]|0)*12|0)+4>>2]=a;c[j>>2]=(c[j>>2]|0)+1}c[j>>2]=0;while(1){if((c[j>>2]|0)>=2)break;a=g+((c[j>>2]|0)*12|0)|0;c[a>>2]=(c[a>>2]|0)+((c[g+((c[j>>2]|0)*12|0)+8>>2]|0)*3|0);c[h>>2]=b[24526+(c[g+((c[j>>2]|0)*12|0)>>2]<<1)>>1];c[k>>2]=(((b[24526+((c[g+((c[j>>2]|0)*12|0)>>2]|0)+1<<1)>>1]|0)-(c[h>>2]|0)>>16)*6554|0)+(((b[24526+((c[g+((c[j>>2]|0)*12|0)>>2]|0)+1<<1)>>1]|0)-(c[h>>2]|0)&65535)*6554>>16);a=(c[h>>2]|0)+(_((c[k>>2]&65535)<<16>>16,((c[g+((c[j>>2]|0)*12|0)+4>>2]<<1)+1&65535)<<16>>16)|0)|0;c[(c[f>>2]|0)+(c[j>>2]<<2)>>2]=a;c[j>>2]=(c[j>>2]|0)+1}k=c[f>>2]|0;c[k>>2]=(c[k>>2]|0)-(c[(c[f>>2]|0)+4>>2]|0);i=l;return}function yg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=ec(c[f>>2]|0,29003,8)|0;c[c[e>>2]>>2]=a;i=d;return}function zg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+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);qc(c[e>>2]|0,c[g>>2]|0,28978,8);c[g>>2]=0;while(1){if((c[g>>2]|0)>=2)break;qc(c[e>>2]|0,a[(c[f>>2]|0)+((c[g>>2]|0)*3|0)>>0]|0,29031,8);qc(c[e>>2]|0,a[(c[f>>2]|0)+((c[g>>2]|0)*3|0)+1>>0]|0,29038,8);c[g>>2]=(c[g>>2]|0)+1}i=h;return}function Ag(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e;f=e+4|0;c[g>>2]=b;a[f>>0]=d;qc(c[g>>2]|0,a[f>>0]|0,29003,8);i=e;return}function Bg(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,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;r=i;i=i+64|0;o=r+52|0;u=r+48|0;t=r+44|0;p=r+40|0;s=r+36|0;h=r+32|0;n=r+28|0;v=r+24|0;w=r+20|0;k=r+16|0;l=r+12|0;j=r+8|0;q=r+4|0;m=r;c[o>>2]=a;c[u>>2]=b;c[t>>2]=d;c[p>>2]=e;c[s>>2]=f;c[h>>2]=g;wg(k,v,c[u>>2]|0,c[s>>2]|0);wg(l,w,c[t>>2]|0,c[s>>2]|0);c[n>>2]=Cg(c[v>>2]|0,c[w>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+(c[n>>2]&1);c[l>>2]=c[l>>2]>>(c[n>>2]|0)-(c[w>>2]|0);c[k>>2]=c[k>>2]>>(c[n>>2]|0)-(c[v>>2]|0);c[k>>2]=Cg(c[k>>2]|0,1)|0;c[j>>2]=Rf(c[u>>2]|0,c[t>>2]|0,c[n>>2]|0,c[s>>2]|0)|0;c[q>>2]=Dg(c[j>>2]|0,c[k>>2]|0,13)|0;if((c[q>>2]|0)>16384)f=16384;else f=(c[q>>2]|0)<-16384?-16384:c[q>>2]|0;c[q>>2]=f;w=_(c[q>>2]>>16,(c[q>>2]&65535)<<16>>16)|0;c[m>>2]=w+((_(c[q>>2]&65535,(c[q>>2]&65535)<<16>>16)|0)>>16);w=c[m>>2]|0;c[h>>2]=Cg(c[h>>2]|0,(c[m>>2]|0)>0?w:0-w|0)|0;c[n>>2]=c[n>>2]>>1;w=c[c[p>>2]>>2]|0;v=Fg(c[k>>2]|0)|0;v=_((v<>2])-(c[c[p>>2]>>2]|0)>>16,(c[h>>2]&65535)<<16>>16)|0;u=Fg(c[k>>2]|0)|0;u=w+(v+((_((u<>2])-(c[c[p>>2]>>2]|0)&65535,(c[h>>2]&65535)<<16>>16)|0)>>16))|0;c[c[p>>2]>>2]=u;u=_(c[j>>2]>>16,(c[q>>2]&65535)<<16>>16)|0;c[l>>2]=(c[l>>2]|0)-(u+((_(c[j>>2]&65535,(c[q>>2]&65535)<<16>>16)|0)>>16)<<4);u=_(c[k>>2]>>16,(c[m>>2]&65535)<<16>>16)|0;c[l>>2]=(c[l>>2]|0)+(u+((_(c[k>>2]&65535,(c[m>>2]&65535)<<16>>16)|0)>>16)<<6);u=c[(c[p>>2]|0)+4>>2]|0;v=Fg(c[l>>2]|0)|0;v=_((v<>2])-(c[(c[p>>2]|0)+4>>2]|0)>>16,(c[h>>2]&65535)<<16>>16)|0;w=Fg(c[l>>2]|0)|0;w=u+(v+((_((w<>2])-(c[(c[p>>2]|0)+4>>2]|0)&65535,(c[h>>2]&65535)<<16>>16)|0)>>16))|0;c[(c[p>>2]|0)+4>>2]=w;if((c[c[p>>2]>>2]|0)>1)f=c[c[p>>2]>>2]|0;else f=1;w=Dg(c[(c[p>>2]|0)+4>>2]|0,f,14)|0;c[c[o>>2]>>2]=w;if((c[c[o>>2]>>2]|0)>32767){v=32767;w=c[o>>2]|0;c[w>>2]=v;w=c[q>>2]|0;i=r;return w|0}if((c[c[o>>2]>>2]|0)<0){v=0;w=c[o>>2]|0;c[w>>2]=v;w=c[q>>2]|0;i=r;return w|0}v=c[c[o>>2]>>2]|0;w=c[o>>2]|0;c[w>>2]=v;w=c[q>>2]|0;i=r;return w|0}function Cg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;i=f;return ((c[e>>2]|0)>(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function Dg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=i;i=i+48|0;f=h+40|0;q=h+36|0;p=h+32|0;j=h+28|0;l=h+24|0;k=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[j>>2]=d;b=c[q>>2]|0;c[l>>2]=(Eg((c[q>>2]|0)>0?b:0-b|0)|0)-1;c[n>>2]=c[q>>2]<>2];b=c[p>>2]|0;c[k>>2]=(Eg((c[p>>2]|0)>0?b:0-b|0)|0)-1;c[o>>2]=c[p>>2]<>2];c[m>>2]=536870911/(c[o>>2]>>16|0)|0;b=_(c[n>>2]>>16,(c[m>>2]&65535)<<16>>16)|0;c[e>>2]=b+((_(c[n>>2]&65535,(c[m>>2]&65535)<<16>>16)|0)>>16);b=c[n>>2]|0;a=c[o>>2]|0;d=c[e>>2]|0;d=yj(a|0,((a|0)<0)<<31>>31|0,d|0,((d|0)<0)<<31>>31|0)|0;d=nj(d|0,C|0,32)|0;c[n>>2]=b-(d<<3);d=_(c[n>>2]>>16,(c[m>>2]&65535)<<16>>16)|0;c[e>>2]=(c[e>>2]|0)+(d+((_(c[n>>2]&65535,(c[m>>2]&65535)<<16>>16)|0)>>16));c[g>>2]=29+(c[l>>2]|0)-(c[k>>2]|0)-(c[j>>2]|0);d=c[g>>2]|0;if((c[g>>2]|0)>=0)if((d|0)<32){c[f>>2]=c[e>>2]>>c[g>>2];q=c[f>>2]|0;i=h;return q|0}else{c[f>>2]=0;q=c[f>>2]|0;i=h;return q|0}a=c[e>>2]|0;b=0-(c[g>>2]|0)|0;do if((-2147483648>>0-d|0)>(2147483647>>0-(c[g>>2]|0)|0)){if((a|0)>(-2147483648>>b|0)){d=-2147483648>>0-(c[g>>2]|0);break}if((c[e>>2]|0)<(2147483647>>0-(c[g>>2]|0)|0)){d=2147483647>>0-(c[g>>2]|0);break}else{d=c[e>>2]|0;break}}else{if((a|0)>(2147483647>>b|0)){d=2147483647>>0-(c[g>>2]|0);break}if((c[e>>2]|0)<(-2147483648>>0-(c[g>>2]|0)|0)){d=-2147483648>>0-(c[g>>2]|0);break}else{d=c[e>>2]|0;break}}while(0);c[f>>2]=d<<0-(c[g>>2]|0);q=c[f>>2]|0;i=h;return q|0}function Eg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){a=32;i=d;return a|0}a=32-(32-(aa(c[b>>2]|0)|0))|0;i=d;return a|0}function Fg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;b=h+16|0;d=h+12|0;g=h+8|0;f=h+4|0;e=h;c[d>>2]=a;if((c[d>>2]|0)<=0){c[b>>2]=0;g=c[b>>2]|0;i=h;return g|0}Gg(c[d>>2]|0,f,e);if(c[f>>2]&1|0)c[g>>2]=32768;else c[g>>2]=46214;c[g>>2]=c[g>>2]>>(c[f>>2]>>1);a=_(c[g>>2]>>16,(((c[e>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0;c[g>>2]=(c[g>>2]|0)+(a+((_(c[g>>2]&65535,(((c[e>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0)>>16));c[b>>2]=c[g>>2];g=c[b>>2]|0;i=h;return g|0}function Gg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;h=e+12|0;j=e+8|0;f=e+4|0;g=e;c[h>>2]=a;c[j>>2]=b;c[f>>2]=d;c[g>>2]=Eg(c[h>>2]|0)|0;c[c[j>>2]>>2]=c[g>>2];b=(Hg(c[h>>2]|0,24-(c[g>>2]|0)|0)|0)&127;c[c[f>>2]>>2]=b;i=e;return}function Hg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+20|0;d=k+16|0;f=k+12|0;j=k+8|0;h=k+4|0;g=k;c[d>>2]=a;c[f>>2]=b;c[j>>2]=c[d>>2];c[h>>2]=c[f>>2];c[g>>2]=0-(c[f>>2]|0);if(!(c[f>>2]|0)){c[e>>2]=c[d>>2];j=c[e>>2]|0;i=k;return j|0}d=c[j>>2]|0;if((c[f>>2]|0)<0){c[e>>2]=d<>2]|(c[j>>2]|0)>>>(32-(c[g>>2]|0)|0);j=c[e>>2]|0;i=k;return j|0}else{c[e>>2]=d<<32-(c[h>>2]|0)|(c[j>>2]|0)>>>(c[h>>2]|0);j=c[e>>2]|0;i=k;return j|0}return 0}function Ig(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;f=r+40|0;g=r+36|0;k=r+32|0;l=r+28|0;o=r+24|0;m=r+20|0;q=r+16|0;n=r+12|0;j=r+8|0;h=r+4|0;p=r;c[f>>2]=d;c[g>>2]=e;c[p>>2]=0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=2)break;c[j>>2]=2147483647;c[k>>2]=0;a:while(1){if((c[k>>2]|0)>=15)break;c[m>>2]=b[24526+(c[k>>2]<<1)>>1];c[q>>2]=(((b[24526+((c[k>>2]|0)+1<<1)>>1]|0)-(c[m>>2]|0)>>16)*6554|0)+(((b[24526+((c[k>>2]|0)+1<<1)>>1]|0)-(c[m>>2]|0)&65535)*6554>>16);c[l>>2]=0;while(1){if((c[l>>2]|0)>=5)break;c[n>>2]=(c[m>>2]|0)+(_((c[q>>2]&65535)<<16>>16,((c[l>>2]<<1)+1&65535)<<16>>16)|0);d=(c[(c[f>>2]|0)+(c[o>>2]<<2)>>2]|0)-(c[n>>2]|0)|0;c[h>>2]=((c[(c[f>>2]|0)+(c[o>>2]<<2)>>2]|0)-(c[n>>2]|0)|0)>0?d:0-d|0;if((c[h>>2]|0)>=(c[j>>2]|0))break a;c[j>>2]=c[h>>2];c[p>>2]=c[n>>2];a[(c[g>>2]|0)+((c[o>>2]|0)*3|0)>>0]=c[k>>2];a[(c[g>>2]|0)+((c[o>>2]|0)*3|0)+1>>0]=c[l>>2];c[l>>2]=(c[l>>2]|0)+1}c[k>>2]=(c[k>>2]|0)+1}a[(c[g>>2]|0)+((c[o>>2]|0)*3|0)+2>>0]=(a[(c[g>>2]|0)+((c[o>>2]|0)*3|0)>>0]|0)/3|0;d=(c[g>>2]|0)+((c[o>>2]|0)*3|0)|0;a[d>>0]=(a[d>>0]|0)-((a[(c[g>>2]|0)+((c[o>>2]|0)*3|0)+2>>0]|0)*3|0);c[(c[f>>2]|0)+(c[o>>2]<<2)>>2]=c[p>>2];c[o>>2]=(c[o>>2]|0)+1}q=c[f>>2]|0;c[q>>2]=(c[q>>2]|0)-(c[(c[f>>2]|0)+4>>2]|0);i=r;return}function Jg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;f=p+32|0;h=p+28|0;q=p+24|0;j=p+20|0;o=p+16|0;n=p+12|0;m=p+8|0;k=p+4|0;l=p;c[f>>2]=a;c[h>>2]=b;c[q>>2]=d;c[j>>2]=e;g[n>>2]=3.1415927410125732/+((c[j>>2]|0)+1|0);g[m>>2]=2.0-+g[n>>2]*+g[n>>2];if((c[q>>2]|0)<2){g[k>>2]=0.0;g[l>>2]=+g[n>>2]}else{g[k>>2]=1.0;g[l>>2]=+g[m>>2]*.5}c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[j>>2]|0))break;g[(c[f>>2]|0)+((c[o>>2]|0)+0<<2)>>2]=+g[(c[h>>2]|0)+((c[o>>2]|0)+0<<2)>>2]*.5*(+g[k>>2]+ +g[l>>2]);g[(c[f>>2]|0)+((c[o>>2]|0)+1<<2)>>2]=+g[(c[h>>2]|0)+((c[o>>2]|0)+1<<2)>>2]*+g[l>>2];g[k>>2]=+g[m>>2]*+g[l>>2]-+g[k>>2];g[(c[f>>2]|0)+((c[o>>2]|0)+2<<2)>>2]=+g[(c[h>>2]|0)+((c[o>>2]|0)+2<<2)>>2]*.5*(+g[l>>2]+ +g[k>>2]);g[(c[f>>2]|0)+((c[o>>2]|0)+3<<2)>>2]=+g[(c[h>>2]|0)+((c[o>>2]|0)+3<<2)>>2]*+g[k>>2];g[l>>2]=+g[m>>2]*+g[k>>2]-+g[l>>2];c[o>>2]=(c[o>>2]|0)+4}i=p;return}function Kg(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0;o=i;i=i+32|0;p=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[p>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[n>>2]=(c[p>>2]|0)+((c[k>>2]|0)-1<<2);c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[k>>2]|0))break;q=+Hh(c[n>>2]|0,c[h>>2]|0,c[j>>2]|0);g[(c[l>>2]|0)+(c[m>>2]<<2)>>2]=q;c[n>>2]=(c[n>>2]|0)+-4;c[m>>2]=(c[m>>2]|0)+1}i=o;return}function Lg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;f=r+36|0;j=r+32|0;k=r+28|0;l=r+24|0;n=r+20|0;o=r+16|0;m=r;p=r+12|0;q=r+8|0;c[f>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[p>>2]=(c[f>>2]|0)+((c[k>>2]|0)-1<<2);h[m>>3]=+Gh(c[p>>2]|0,c[j>>2]|0);g[(c[l>>2]|0)+(0<<2)>>2]=+h[m>>3];c[n>>2]=1;while(1){if((c[n>>2]|0)>=(c[k>>2]|0))break;h[m>>3]=+h[m>>3]+(+g[(c[p>>2]|0)+(0-(c[n>>2]|0)<<2)>>2]*+g[(c[p>>2]|0)+(0-(c[n>>2]|0)<<2)>>2]-+g[(c[p>>2]|0)+((c[j>>2]|0)-(c[n>>2]|0)<<2)>>2]*+g[(c[p>>2]|0)+((c[j>>2]|0)-(c[n>>2]|0)<<2)>>2]);a=_(c[n>>2]|0,c[k>>2]|0)|0;g[(c[l>>2]|0)+(a+(c[n>>2]|0)<<2)>>2]=+h[m>>3];c[n>>2]=(c[n>>2]|0)+1}c[q>>2]=(c[f>>2]|0)+((c[k>>2]|0)-2<<2);c[o>>2]=1;while(1){if((c[o>>2]|0)>=(c[k>>2]|0))break;h[m>>3]=+Hh(c[p>>2]|0,c[q>>2]|0,c[j>>2]|0);g[(c[l>>2]|0)+((_(c[o>>2]|0,c[k>>2]|0)|0)+0<<2)>>2]=+h[m>>3];g[(c[l>>2]|0)+(0+(c[o>>2]|0)<<2)>>2]=+h[m>>3];c[n>>2]=1;while(1){if((c[n>>2]|0)>=((c[k>>2]|0)-(c[o>>2]|0)|0))break;h[m>>3]=+h[m>>3]+(+g[(c[p>>2]|0)+(0-(c[n>>2]|0)<<2)>>2]*+g[(c[q>>2]|0)+(0-(c[n>>2]|0)<<2)>>2]-+g[(c[p>>2]|0)+((c[j>>2]|0)-(c[n>>2]|0)<<2)>>2]*+g[(c[q>>2]|0)+((c[j>>2]|0)-(c[n>>2]|0)<<2)>>2]);a=_((c[o>>2]|0)+(c[n>>2]|0)|0,c[k>>2]|0)|0;g[(c[l>>2]|0)+(a+(c[n>>2]|0)<<2)>>2]=+h[m>>3];a=_(c[n>>2]|0,c[k>>2]|0)|0;g[(c[l>>2]|0)+(a+((c[o>>2]|0)+(c[n>>2]|0))<<2)>>2]=+h[m>>3];c[n>>2]=(c[n>>2]|0)+1}c[q>>2]=(c[q>>2]|0)+-4;c[o>>2]=(c[o>>2]|0)+1}i=r;return}function Mg(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;We(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;a[(c[d>>2]|0)+4752+(c[(c[d>>2]|0)+5780>>2]|0)>>0]=1;i=e;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;c[(c[d>>2]|0)+6112>>2]=0}}else c[b+6112>>2]=0;a[(c[d>>2]|0)+4752+(c[(c[d>>2]|0)+5780>>2]|0)>>0]=0;i=e;return}function Ng(d,e,f,h,j,k){d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,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=i;i=i+15152|0;o=X+13856|0;p=X+13852|0;q=X+13848|0;r=X+13844|0;s=X+13840|0;t=X+13836|0;u=X+13832|0;Q=X+12920|0;I=X+12916|0;J=X+12912|0;K=X+12908|0;A=X+12904|0;z=X+12900|0;P=X+12896|0;n=X+12892|0;m=X+12888|0;W=X+11608|0;l=X+8920|0;T=X+8872|0;U=X+8824|0;R=X+4444|0;S=X+64|0;V=X+60|0;L=X+56|0;M=X+52|0;N=X+48|0;C=X+44|0;D=X+40|0;F=X+36|0;G=X+32|0;H=X+28|0;B=X+13862|0;x=X+13860|0;y=X+24|0;v=X+15139|0;O=X+8|0;w=X+13864|0;E=X;c[p>>2]=d;c[q>>2]=e;c[r>>2]=f;c[s>>2]=h;c[t>>2]=j;c[u>>2]=k;c[P>>2]=0;c[D>>2]=0;c[C>>2]=0;c[N>>2]=0;c[M>>2]=0;a[v>>0]=0;f=(c[p>>2]|0)+4644|0;k=c[f>>2]|0;c[f>>2]=k+1;a[(c[p>>2]|0)+4768+34>>0]=k&3;c[n>>2]=(c[p>>2]|0)+9356+(c[(c[p>>2]|0)+4616>>2]<<2);c[m>>2]=l+(c[(c[p>>2]|0)+4616>>2]<<2);ee((c[p>>2]|0)+16|0,(c[p>>2]|0)+5128+2|0,c[(c[p>>2]|0)+4608>>2]|0);Og((c[n>>2]|0)+((c[(c[p>>2]|0)+4600>>2]|0)*5<<2)|0,(c[p>>2]|0)+5128+2|0,c[(c[p>>2]|0)+4608>>2]|0);c[I>>2]=0;while(1){if((c[I>>2]|0)>=8)break;k=((c[(c[p>>2]|0)+4600>>2]|0)*5|0)+(_(c[I>>2]|0,c[(c[p>>2]|0)+4608>>2]>>3)|0)|0;k=(c[n>>2]|0)+(k<<2)|0;g[k>>2]=+g[k>>2]+ +(1-(c[I>>2]&2)|0)*9.999999974752427e-07;c[I>>2]=(c[I>>2]|0)+1}a:do if(!(c[(c[p>>2]|0)+4712>>2]|0)){Xg(c[p>>2]|0,Q,l,c[n>>2]|0,c[(c[p>>2]|0)+5124>>2]|0);fh(c[p>>2]|0,Q,c[m>>2]|0,c[n>>2]|0);Yg(c[p>>2]|0,Q,l,c[n>>2]|0,c[s>>2]|0);nh(c[p>>2]|0,Q,c[s>>2]|0);kh(c[p>>2]|0,Q,W,c[n>>2]|0);Pg(c[p>>2]|0,Q,W,c[s>>2]|0);c[K>>2]=6;b[B>>1]=256;c[z>>2]=0;c[A>>2]=0;c[F>>2]=ce((c[p>>2]|0)+4768|0,c[(c[p>>2]|0)+4604>>2]|0)|0;c[G>>2]=-1;c[H>>2]=-1;h=T;j=c[r>>2]|0;e=h+48|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(e|0));pj(R|0,(c[p>>2]|0)+144|0,4380)|0;c[V>>2]=a[(c[p>>2]|0)+4768+34>>0];b[x>>1]=b[(c[p>>2]|0)+5804>>1]|0;c[y>>2]=c[(c[p>>2]|0)+5800>>2];c[J>>2]=0;while(1){do if((c[F>>2]|0)!=(c[G>>2]|0)){if((c[F>>2]|0)==(c[H>>2]|0)){c[L>>2]=c[N>>2];break}if((c[J>>2]|0)>0){h=c[r>>2]|0;j=T;e=h+48|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(e|0));pj((c[p>>2]|0)+144|0,R|0,4380)|0;a[(c[p>>2]|0)+4768+34>>0]=c[V>>2];b[(c[p>>2]|0)+5804>>1]=b[x>>1]|0;c[(c[p>>2]|0)+5800>>2]=c[y>>2]}Bh(c[p>>2]|0,Q,(c[p>>2]|0)+4768|0,(c[p>>2]|0)+144|0,(c[p>>2]|0)+4804|0,W);Xd(c[p>>2]|0,c[r>>2]|0,c[(c[p>>2]|0)+5780>>2]|0,0,c[s>>2]|0);Yd(c[r>>2]|0,a[(c[p>>2]|0)+4768+29>>0]|0,a[(c[p>>2]|0)+4768+30>>0]|0,(c[p>>2]|0)+4804|0,c[(c[p>>2]|0)+4608>>2]|0);c[L>>2]=Rg(c[r>>2]|0)|0;if((c[u>>2]|0)==0&(c[J>>2]|0)==0?(c[L>>2]|0)<=(c[t>>2]|0):0)break a}else c[L>>2]=c[M>>2];while(0);if((c[J>>2]|0)==(c[K>>2]|0))break;do if((c[L>>2]|0)>(c[t>>2]|0))if((c[z>>2]|0)==0&(c[J>>2]|0)>=2){n=Q+852|0;g[n>>2]=+g[n>>2]*1.5;c[A>>2]=0;c[H>>2]=-1;break}else{c[A>>2]=1;c[N>>2]=c[L>>2];c[D>>2]=b[B>>1];c[H>>2]=c[F>>2];break}else{if((c[L>>2]|0)>=((c[t>>2]|0)-5|0))break a;c[z>>2]=1;c[M>>2]=c[L>>2];c[C>>2]=b[B>>1];if((c[F>>2]|0)!=(c[G>>2]|0)){c[G>>2]=c[F>>2];h=U;j=c[r>>2]|0;e=h+48|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(e|0));pj(w|0,c[c[r>>2]>>2]|0,c[(c[r>>2]|0)+24>>2]|0)|0;pj(S|0,(c[p>>2]|0)+144|0,4380)|0;a[v>>0]=a[(c[p>>2]|0)+7200>>0]|0}}while(0);do if(c[z>>2]&c[A>>2]){n=_((c[D>>2]|0)-(c[C>>2]|0)|0,(c[t>>2]|0)-(c[M>>2]|0)|0)|0;b[B>>1]=(c[C>>2]|0)+((n|0)/((c[N>>2]|0)-(c[M>>2]|0)|0)|0);if((b[B>>1]|0)>((c[C>>2]|0)+((c[D>>2]|0)-(c[C>>2]|0)>>2)|0)){b[B>>1]=(c[C>>2]|0)+((c[D>>2]|0)-(c[C>>2]|0)>>2);break}if((b[B>>1]|0)<((c[D>>2]|0)-((c[D>>2]|0)-(c[C>>2]|0)>>2)|0))b[B>>1]=(c[D>>2]|0)-((c[D>>2]|0)-(c[C>>2]|0)>>2)}else{c[E>>2]=Wf((((c[L>>2]|0)-(c[t>>2]|0)<<7|0)/(c[(c[p>>2]|0)+4608>>2]|0)|0)+2048|0)|0;c[E>>2]=Sg(c[E>>2]|0,131072)|0;if((c[L>>2]|0)>(c[t>>2]|0))c[E>>2]=Tg(c[E>>2]|0,85197)|0;n=_(c[E>>2]>>16,b[B>>1]|0)|0;b[B>>1]=n+((_(c[E>>2]&65535,b[B>>1]|0)|0)>>16)}while(0);c[I>>2]=0;while(1){if((c[I>>2]|0)>=(c[(c[p>>2]|0)+4604>>2]|0))break;n=_(c[Q+892+(c[I>>2]<<2)>>2]>>16,b[B>>1]|0)|0;if((n+((_(c[Q+892+(c[I>>2]<<2)>>2]&65535,b[B>>1]|0)|0)>>16)|0)<=8388607){n=_(c[Q+892+(c[I>>2]<<2)>>2]>>16,b[B>>1]|0)|0;if((n+((_(c[Q+892+(c[I>>2]<<2)>>2]&65535,b[B>>1]|0)|0)>>16)|0)<-8388608)h=-8388608;else{h=_(c[Q+892+(c[I>>2]<<2)>>2]>>16,b[B>>1]|0)|0;h=h+((_(c[Q+892+(c[I>>2]<<2)>>2]&65535,b[B>>1]|0)|0)>>16)|0}}else h=8388607;c[O+(c[I>>2]<<2)>>2]=h<<8;c[I>>2]=(c[I>>2]|0)+1}a[(c[p>>2]|0)+7200>>0]=a[Q+908>>0]|0;_d((c[p>>2]|0)+4768|0,O,(c[p>>2]|0)+7200|0,(c[s>>2]|0)==2&1,c[(c[p>>2]|0)+4604>>2]|0);c[F>>2]=ce((c[p>>2]|0)+4768|0,c[(c[p>>2]|0)+4604>>2]|0)|0;c[I>>2]=0;while(1){if((c[I>>2]|0)>=(c[(c[p>>2]|0)+4604>>2]|0))break;g[Q+(c[I>>2]<<2)>>2]=+(c[O+(c[I>>2]<<2)>>2]|0)/65536.0;c[I>>2]=(c[I>>2]|0)+1}c[J>>2]=(c[J>>2]|0)+1}if(c[z>>2]|0){if((c[F>>2]|0)!=(c[G>>2]|0)?(c[L>>2]|0)<=(c[t>>2]|0):0)break;h=c[r>>2]|0;j=U;e=h+48|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(e|0));pj(c[c[r>>2]>>2]|0,w|0,c[U+24>>2]|0)|0;pj((c[p>>2]|0)+144|0,S|0,4380)|0;a[(c[p>>2]|0)+7200>>0]=a[v>>0]|0}}while(0);qj((c[p>>2]|0)+9356|0,(c[p>>2]|0)+9356+(c[(c[p>>2]|0)+4608>>2]<<2)|0,(c[(c[p>>2]|0)+4616>>2]|0)+((c[(c[p>>2]|0)+4600>>2]|0)*5|0)<<2|0)|0;if(c[(c[p>>2]|0)+4712>>2]|0){c[c[q>>2]>>2]=0;c[o>>2]=c[P>>2];W=c[o>>2]|0;i=X;return W|0}else{c[(c[p>>2]|0)+4568>>2]=c[Q+228+((c[(c[p>>2]|0)+4604>>2]|0)-1<<2)>>2];a[(c[p>>2]|0)+4565>>0]=a[(c[p>>2]|0)+4768+29>>0]|0;c[(c[p>>2]|0)+4696>>2]=0;W=(Rg(c[r>>2]|0)|0)+7>>3;c[c[q>>2]>>2]=W;c[o>>2]=c[P>>2];W=c[o>>2]|0;i=X;return W|0}return 0}function Og(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0;k=i;i=i+16|0;f=k+12|0;h=k+8|0;l=k+4|0;j=k;c[f>>2]=a;c[h>>2]=d;c[l>>2]=e;c[j>>2]=(c[l>>2]|0)-1;while(1){if((c[j>>2]|0)<0)break;g[(c[f>>2]|0)+(c[j>>2]<<2)>>2]=+(b[(c[h>>2]|0)+(c[j>>2]<<1)>>1]|0);c[j>>2]=(c[j>>2]|0)+-1}i=k;return}function Pg(d,e,f,h){d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+4448|0;j=s+4432|0;k=s+4428|0;l=s+4424|0;m=s+4420|0;p=s+4416|0;n=s+4400|0;o=s+4384|0;q=s+4380|0;r=s;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=h;c[q>>2]=(c[j>>2]|0)+6132+((c[(c[j>>2]|0)+5780>>2]|0)*36|0);if(!(c[(c[j>>2]|0)+6124>>2]|0)){i=s;return}if((c[(c[j>>2]|0)+4556>>2]|0)<=77){i=s;return}c[(c[j>>2]|0)+4756+(c[(c[j>>2]|0)+5780>>2]<<2)>>2]=1;pj(r|0,(c[j>>2]|0)+144|0,4380)|0;h=c[q>>2]|0;d=(c[j>>2]|0)+4768|0;e=h+36|0;do{b[h>>1]=b[d>>1]|0;h=h+2|0;d=d+2|0}while((h|0)<(e|0));pj(o|0,c[k>>2]|0,c[(c[j>>2]|0)+4604>>2]<<2|0)|0;if(!((c[(c[j>>2]|0)+5780>>2]|0)!=0?(c[(c[j>>2]|0)+4756+((c[(c[j>>2]|0)+5780>>2]|0)-1<<2)>>2]|0)!=0:0)){a[(c[j>>2]|0)+4564>>0]=a[(c[j>>2]|0)+7200>>0]|0;f=c[q>>2]|0;a[f>>0]=(a[f>>0]|0)+(c[(c[j>>2]|0)+6128>>2]|0);f=(Qg(a[c[q>>2]>>0]|0,63)|0)&255;a[c[q>>2]>>0]=f}ae(n,c[q>>2]|0,(c[j>>2]|0)+4564|0,(c[m>>2]|0)==2&1,c[(c[j>>2]|0)+4604>>2]|0);c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[(c[j>>2]|0)+4604>>2]|0))break;g[(c[k>>2]|0)+(c[p>>2]<<2)>>2]=+(c[n+(c[p>>2]<<2)>>2]|0)*.0000152587890625;c[p>>2]=(c[p>>2]|0)+1}Bh(c[j>>2]|0,c[k>>2]|0,c[q>>2]|0,r,(c[j>>2]|0)+6240+((c[(c[j>>2]|0)+5780>>2]|0)*320|0)|0,c[l>>2]|0);pj(c[k>>2]|0,o|0,c[(c[j>>2]|0)+4604>>2]<<2|0)|0;i=s;return}function Qg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;i=f;return ((c[e>>2]|0)<(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function Rg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[(c[d>>2]|0)+20>>2]|0)-(32-(aa(c[(c[d>>2]|0)+28>>2]|0)|0))|0;i=b;return a|0}function Sg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;i=f;return ((c[e>>2]|0)<(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function Tg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;i=f;return ((c[e>>2]|0)>(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function Ug(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+1744|0;j=v+1700|0;k=v+1696|0;l=v+1692|0;h=v+1688|0;q=v+1684|0;u=v+1680|0;o=v+1616|0;r=v+1608|0;s=v+1604|0;t=v+1600|0;n=v+1704|0;p=v+1536|0;m=v;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;g[h>>2]=f;c[u>>2]=(c[(c[j>>2]|0)+4612>>2]|0)+(c[(c[j>>2]|0)+4664>>2]|0);a[(c[j>>2]|0)+4768+31>>0]=4;g[r>>2]=+Eh(o,c[l>>2]|0,+g[h>>2],c[u>>2]|0,c[(c[j>>2]|0)+4604>>2]|0,c[(c[j>>2]|0)+4664>>2]|0);a:do if((c[(c[j>>2]|0)+4656>>2]|0?(c[(c[j>>2]|0)+4696>>2]|0)==0:0)?(c[(c[j>>2]|0)+4604>>2]|0)==4:0){f=+Eh(p,(c[l>>2]|0)+(c[u>>2]<<1<<2)|0,+g[h>>2],c[u>>2]|0,2,c[(c[j>>2]|0)+4664>>2]|0);g[r>>2]=+g[r>>2]-f;xh(c[k>>2]|0,p,c[(c[j>>2]|0)+4664>>2]|0);g[s>>2]=3402823466385288598117041.0e14;c[q>>2]=3;while(1){if((c[q>>2]|0)<0)break a;de(n,(c[j>>2]|0)+4524|0,c[k>>2]|0,c[q>>2]|0,c[(c[j>>2]|0)+4664>>2]|0);zh(p,n,c[(c[j>>2]|0)+4664>>2]|0);Zg(m,p,c[l>>2]|0,c[u>>2]<<1,c[(c[j>>2]|0)+4664>>2]|0);f=+Gh(m+(c[(c[j>>2]|0)+4664>>2]<<2)|0,(c[u>>2]|0)-(c[(c[j>>2]|0)+4664>>2]|0)|0);g[t>>2]=f+ +Gh(m+(c[(c[j>>2]|0)+4664>>2]<<2)+(c[u>>2]<<2)|0,(c[u>>2]|0)-(c[(c[j>>2]|0)+4664>>2]|0)|0);f=+g[t>>2];if(!(+g[t>>2]<+g[r>>2])){if(f>+g[s>>2])break a}else{g[r>>2]=f;a[(c[j>>2]|0)+4768+31>>0]=c[q>>2]}g[s>>2]=+g[t>>2];c[q>>2]=(c[q>>2]|0)+-1}}while(0);if((a[(c[j>>2]|0)+4768+31>>0]|0)!=4){i=v;return}xh(c[k>>2]|0,o,c[(c[j>>2]|0)+4664>>2]|0);i=v;return}function Vg(a,b,d,e,f,h,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|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=i;i=i+192|0;n=L+188|0;O=L+184|0;o=L+180|0;N=L+176|0;p=L+172|0;q=L+168|0;r=L+164|0;B=L+160|0;M=L+156|0;G=L+152|0;H=L+148|0;C=L+144|0;J=L+140|0;v=L+136|0;t=L+132|0;s=L+128|0;D=L+112|0;I=L+104|0;F=L+100|0;E=L+80|0;K=L+64|0;x=L+48|0;z=L+44|0;u=L+24|0;A=L+8|0;y=L+4|0;w=L;c[n>>2]=a;c[O>>2]=b;c[o>>2]=d;c[N>>2]=e;c[p>>2]=f;c[q>>2]=h;c[r>>2]=j;c[B>>2]=k;c[M>>2]=l;c[C>>2]=c[n>>2];c[v>>2]=c[O>>2];c[y>>2]=(c[N>>2]|0)+(c[M>>2]<<2);c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[B>>2]|0))break;c[w>>2]=(c[y>>2]|0)+(0-((c[(c[p>>2]|0)+(c[H>>2]<<2)>>2]|0)+2)<<2);Lg(c[w>>2]|0,c[r>>2]|0,5,c[v>>2]|0);Kg(c[w>>2]|0,c[y>>2]|0,c[r>>2]|0,5,u);m=+Gh(c[y>>2]|0,c[r>>2]|0);g[A+(c[H>>2]<<2)>>2]=m;g[z>>2]=+g[A+(c[H>>2]<<2)>>2]+1.0+ +g[c[v>>2]>>2]+ +g[(c[v>>2]|0)+96>>2];g[z>>2]=+g[z>>2]*.01666666753590107;ph(c[v>>2]|0,A+(c[H>>2]<<2)|0,+g[z>>2],5);sh(c[v>>2]|0,5,u,c[C>>2]|0);m=+qh(c[C>>2]|0,c[v>>2]|0,u,+g[A+(c[H>>2]<<2)>>2],5);g[x+(c[H>>2]<<2)>>2]=m;g[J>>2]=+g[(c[q>>2]|0)+(c[H>>2]<<2)>>2]/(+g[x+(c[H>>2]<<2)>>2]*+g[(c[q>>2]|0)+(c[H>>2]<<2)>>2]+ +(c[r>>2]|0)*.009999999776482582);Uh(c[v>>2]|0,+g[J>>2],25);g[K+(c[H>>2]<<2)>>2]=+g[(c[v>>2]|0)+48>>2];c[y>>2]=(c[y>>2]|0)+(c[r>>2]<<2);c[C>>2]=(c[C>>2]|0)+20;c[v>>2]=(c[v>>2]|0)+100;c[H>>2]=(c[H>>2]|0)+1}if(c[o>>2]|0){g[s>>2]=9.999999974752427e-07;g[t>>2]=0.0;c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[B>>2]|0))break;g[t>>2]=+g[t>>2]+ +g[A+(c[H>>2]<<2)>>2]*+g[(c[q>>2]|0)+(c[H>>2]<<2)>>2];g[s>>2]=+g[s>>2]+ +g[x+(c[H>>2]<<2)>>2]*+g[(c[q>>2]|0)+(c[H>>2]<<2)>>2];c[H>>2]=(c[H>>2]|0)+1}m=+Wg(+g[t>>2]/+g[s>>2])*3.0;g[c[o>>2]>>2]=m}c[C>>2]=c[n>>2];c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[B>>2]|0))break;g[D+(c[H>>2]<<2)>>2]=0.0;c[G>>2]=0;while(1){if((c[G>>2]|0)>=5)break;O=D+(c[H>>2]<<2)|0;g[O>>2]=+g[O>>2]+ +g[(c[C>>2]|0)+(c[G>>2]<<2)>>2];c[G>>2]=(c[G>>2]|0)+1}c[C>>2]=(c[C>>2]|0)+20;c[H>>2]=(c[H>>2]|0)+1}g[J>>2]=1.0000000474974513e-03;c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[B>>2]|0))break;g[J>>2]=+g[J>>2]+ +g[K+(c[H>>2]<<2)>>2];c[H>>2]=(c[H>>2]|0)+1}g[I>>2]=0.0;c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[B>>2]|0))break;g[I>>2]=+g[I>>2]+ +g[D+(c[H>>2]<<2)>>2]*+g[K+(c[H>>2]<<2)>>2];c[H>>2]=(c[H>>2]|0)+1}g[I>>2]=+g[I>>2]/+g[J>>2];c[C>>2]=c[n>>2];c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[B>>2]|0))break;g[F>>2]=.10000000149011612/(+g[K+(c[H>>2]<<2)>>2]+.10000000149011612)*(+g[I>>2]-+g[D+(c[H>>2]<<2)>>2]);g[J>>2]=0.0;c[G>>2]=0;while(1){if((c[G>>2]|0)>=5)break;if(+g[(c[C>>2]|0)+(c[G>>2]<<2)>>2]>.10000000149011612)m=+g[(c[C>>2]|0)+(c[G>>2]<<2)>>2];else m=.10000000149011612;g[E+(c[G>>2]<<2)>>2]=m;g[J>>2]=+g[J>>2]+ +g[E+(c[G>>2]<<2)>>2];c[G>>2]=(c[G>>2]|0)+1}g[J>>2]=+g[F>>2]/+g[J>>2];c[G>>2]=0;while(1){if((c[G>>2]|0)>=5)break;g[(c[C>>2]|0)+(c[G>>2]<<2)>>2]=+g[(c[C>>2]|0)+(c[G>>2]<<2)>>2]+ +g[E+(c[G>>2]<<2)>>2]*+g[J>>2];c[G>>2]=(c[G>>2]|0)+1}c[C>>2]=(c[C>>2]|0)+20;c[H>>2]=(c[H>>2]|0)+1}i=L;return}function Wg(a){a=+a;var b=0,c=0;b=i;i=i+16|0;c=b;h[c>>3]=a;a=+hj(+h[c>>3])*3.32192809488736;i=b;return +a}function Xg(d,e,f,h,j){d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;p=i;i=i+1792|0;k=p+1776|0;l=p+1772|0;m=p+1768|0;z=p+1764|0;n=p+1760|0;q=p+1756|0;o=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[l>>2]=e;c[m>>2]=f;c[z>>2]=h;c[n>>2]=j;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;Jg(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);pj(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);Jg(c[y>>2]|0,c[x>>2]|0,2,c[(c[k>>2]|0)+4620>>2]|0);Dh(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]=+Vh(t,v,c[(c[k>>2]|0)+4672>>2]|0);g[(c[l>>2]|0)+868>>2]=+g[v>>2]/(+g[u>>2]>1.0?+g[u>>2]:1.0);Ih(s,t,c[(c[k>>2]|0)+4672>>2]|0);Fh(s,c[(c[k>>2]|0)+4672>>2]|0,.9900000095367432);Zg(c[m>>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[o>>2]=.6000000238418579;g[o>>2]=+g[o>>2]-+(c[(c[k>>2]|0)+4672>>2]|0)*.004000000189989805;g[o>>2]=+g[o>>2]-+(c[(c[k>>2]|0)+4556>>2]|0)*.10000000149011612*.00390625;g[o>>2]=+g[o>>2]-+(a[(c[k>>2]|0)+4565>>0]>>1|0)*.15000000596046448;g[o>>2]=+g[o>>2]-+(c[(c[k>>2]|0)+4744>>2]|0)*.10000000149011612*.000030517578125;z=(Lh(c[m>>2]|0,(c[l>>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[o>>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[n>>2]|0)|0)==0;k=(c[k>>2]|0)+4768+29|0;if(z){a[k>>0]=2;i=p;return}else{a[k>>0]=1;i=p;return}}z=(c[l>>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;i=p;return}function Yg(d,e,f,h,j){d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0;y=i;i=i+2048|0;l=y+2004|0;m=y+2e3|0;n=y+1996|0;o=y+1992|0;p=y+1988|0;t=y+1984|0;r=y+1584|0;u=y+1568|0;s=y+1552|0;k=y+2008|0;x=y+1548|0;w=y+1544|0;q=y+8|0;v=y;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=h;c[p>>2]=j;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[(c[l>>2]|0)+4604>>2]|0))break;g[u+(c[t>>2]<<2)>>2]=1.0/+g[(c[m>>2]|0)+(c[t>>2]<<2)>>2];g[s+(c[t>>2]<<2)>>2]=+g[u+(c[t>>2]<<2)>>2]*+g[u+(c[t>>2]<<2)>>2];c[t>>2]=(c[t>>2]|0)+1}if((a[(c[l>>2]|0)+4768+29>>0]|0)==2){Vg((c[m>>2]|0)+144|0,r,(c[m>>2]|0)+872|0,c[n>>2]|0,(c[m>>2]|0)+228|0,s,c[(c[l>>2]|0)+4612>>2]|0,c[(c[l>>2]|0)+4604>>2]|0,c[(c[l>>2]|0)+4616>>2]|0);Ch((c[m>>2]|0)+144|0,(c[l>>2]|0)+4768+4|0,(c[l>>2]|0)+4768+32|0,(c[l>>2]|0)+4688|0,r,c[(c[l>>2]|0)+4684>>2]|0,c[(c[l>>2]|0)+4680>>2]|0,c[(c[l>>2]|0)+4604>>2]|0,c[(c[l>>2]|0)+5124>>2]|0);eh(c[l>>2]|0,c[m>>2]|0,c[p>>2]|0);dh(q,(c[o>>2]|0)+(0-(c[(c[l>>2]|0)+4664>>2]|0)<<2)|0,(c[m>>2]|0)+144|0,(c[m>>2]|0)+228|0,u,c[(c[l>>2]|0)+4612>>2]|0,c[(c[l>>2]|0)+4604>>2]|0,c[(c[l>>2]|0)+4664>>2]|0)}else{c[x>>2]=(c[o>>2]|0)+(0-(c[(c[l>>2]|0)+4664>>2]|0)<<2);c[w>>2]=q;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[(c[l>>2]|0)+4604>>2]|0))break;Th(c[w>>2]|0,c[x>>2]|0,+g[u+(c[t>>2]<<2)>>2],(c[(c[l>>2]|0)+4612>>2]|0)+(c[(c[l>>2]|0)+4664>>2]|0)|0);c[w>>2]=(c[w>>2]|0)+((c[(c[l>>2]|0)+4612>>2]|0)+(c[(c[l>>2]|0)+4664>>2]|0)<<2);c[x>>2]=(c[x>>2]|0)+(c[(c[l>>2]|0)+4612>>2]<<2);c[t>>2]=(c[t>>2]|0)+1}oj((c[m>>2]|0)+144|0,0,(c[(c[l>>2]|0)+4604>>2]|0)*5<<2|0)|0;g[(c[m>>2]|0)+872>>2]=0.0;c[(c[l>>2]|0)+4688>>2]=0}if(c[(c[l>>2]|0)+4696>>2]|0){g[v>>2]=.009999999776482582;h=c[l>>2]|0;z=+g[v>>2];Ug(h,k,q,z);h=c[l>>2]|0;f=c[m>>2]|0;f=f+16|0;e=c[l>>2]|0;e=e+4524|0;Ah(h,f,k,e);e=c[m>>2]|0;e=e+876|0;f=c[m>>2]|0;f=f+16|0;h=c[m>>2]|0;w=c[l>>2]|0;w=w+4612|0;w=c[w>>2]|0;x=c[l>>2]|0;x=x+4604|0;x=c[x>>2]|0;m=c[l>>2]|0;m=m+4664|0;m=c[m>>2]|0;rh(e,q,f,h,w,x,m);m=c[l>>2]|0;m=m+4524|0;l=m+32|0;do{b[m>>1]=b[k>>1]|0;m=m+2|0;k=k+2|0}while((m|0)<(l|0));i=y;return}else{g[v>>2]=+P(2.0,+(+g[(c[m>>2]|0)+872>>2]/3.0))/1.0e4;g[v>>2]=+g[v>>2]/(+g[(c[m>>2]|0)+860>>2]*.75+.25);h=c[l>>2]|0;z=+g[v>>2];Ug(h,k,q,z);h=c[l>>2]|0;f=c[m>>2]|0;f=f+16|0;e=c[l>>2]|0;e=e+4524|0;Ah(h,f,k,e);e=c[m>>2]|0;e=e+876|0;f=c[m>>2]|0;f=f+16|0;h=c[m>>2]|0;w=c[l>>2]|0;w=w+4612|0;w=c[w>>2]|0;x=c[l>>2]|0;x=x+4604|0;x=c[x>>2]|0;m=c[l>>2]|0;m=m+4664|0;m=c[m>>2]|0;rh(e,q,f,h,w,x,m);m=c[l>>2]|0;m=m+4524|0;l=m+32|0;do{b[m>>1]=b[k>>1]|0;m=m+2|0;k=k+2|0}while((m|0)<(l|0));i=y;return}}function Zg(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;switch(c[l>>2]|0){case 6:{_g(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);break}case 8:{$g(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);break}case 10:{ah(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);break}case 12:{bh(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);break}case 16:{ch(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);break}default:{}}oj(c[g>>2]|0,0,c[l>>2]<<2|0)|0;i=m;return}function _g(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;f=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;m=o+8|0;l=o+4|0;n=o;c[f>>2]=a;c[h>>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[n>>2]=(c[j>>2]|0)+((c[m>>2]|0)-1<<2);g[l>>2]=+g[c[n>>2]>>2]*+g[c[h>>2]>>2]+ +g[(c[n>>2]|0)+-4>>2]*+g[(c[h>>2]|0)+4>>2]+ +g[(c[n>>2]|0)+-8>>2]*+g[(c[h>>2]|0)+8>>2]+ +g[(c[n>>2]|0)+-12>>2]*+g[(c[h>>2]|0)+12>>2]+ +g[(c[n>>2]|0)+-16>>2]*+g[(c[h>>2]|0)+16>>2]+ +g[(c[n>>2]|0)+-20>>2]*+g[(c[h>>2]|0)+20>>2];g[(c[f>>2]|0)+(c[m>>2]<<2)>>2]=+g[(c[n>>2]|0)+4>>2]-+g[l>>2];c[m>>2]=(c[m>>2]|0)+1}i=o;return}function $g(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;f=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;m=o+8|0;l=o+4|0;n=o;c[f>>2]=a;c[h>>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[n>>2]=(c[j>>2]|0)+((c[m>>2]|0)-1<<2);g[l>>2]=+g[c[n>>2]>>2]*+g[c[h>>2]>>2]+ +g[(c[n>>2]|0)+-4>>2]*+g[(c[h>>2]|0)+4>>2]+ +g[(c[n>>2]|0)+-8>>2]*+g[(c[h>>2]|0)+8>>2]+ +g[(c[n>>2]|0)+-12>>2]*+g[(c[h>>2]|0)+12>>2]+ +g[(c[n>>2]|0)+-16>>2]*+g[(c[h>>2]|0)+16>>2]+ +g[(c[n>>2]|0)+-20>>2]*+g[(c[h>>2]|0)+20>>2]+ +g[(c[n>>2]|0)+-24>>2]*+g[(c[h>>2]|0)+24>>2]+ +g[(c[n>>2]|0)+-28>>2]*+g[(c[h>>2]|0)+28>>2];g[(c[f>>2]|0)+(c[m>>2]<<2)>>2]=+g[(c[n>>2]|0)+4>>2]-+g[l>>2];c[m>>2]=(c[m>>2]|0)+1}i=o;return}function ah(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;f=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;m=o+8|0;l=o+4|0;n=o;c[f>>2]=a;c[h>>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[n>>2]=(c[j>>2]|0)+((c[m>>2]|0)-1<<2);g[l>>2]=+g[c[n>>2]>>2]*+g[c[h>>2]>>2]+ +g[(c[n>>2]|0)+-4>>2]*+g[(c[h>>2]|0)+4>>2]+ +g[(c[n>>2]|0)+-8>>2]*+g[(c[h>>2]|0)+8>>2]+ +g[(c[n>>2]|0)+-12>>2]*+g[(c[h>>2]|0)+12>>2]+ +g[(c[n>>2]|0)+-16>>2]*+g[(c[h>>2]|0)+16>>2]+ +g[(c[n>>2]|0)+-20>>2]*+g[(c[h>>2]|0)+20>>2]+ +g[(c[n>>2]|0)+-24>>2]*+g[(c[h>>2]|0)+24>>2]+ +g[(c[n>>2]|0)+-28>>2]*+g[(c[h>>2]|0)+28>>2]+ +g[(c[n>>2]|0)+-32>>2]*+g[(c[h>>2]|0)+32>>2]+ +g[(c[n>>2]|0)+-36>>2]*+g[(c[h>>2]|0)+36>>2];g[(c[f>>2]|0)+(c[m>>2]<<2)>>2]=+g[(c[n>>2]|0)+4>>2]-+g[l>>2];c[m>>2]=(c[m>>2]|0)+1}i=o;return}function bh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;f=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;m=o+8|0;l=o+4|0;n=o;c[f>>2]=a;c[h>>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[n>>2]=(c[j>>2]|0)+((c[m>>2]|0)-1<<2);g[l>>2]=+g[c[n>>2]>>2]*+g[c[h>>2]>>2]+ +g[(c[n>>2]|0)+-4>>2]*+g[(c[h>>2]|0)+4>>2]+ +g[(c[n>>2]|0)+-8>>2]*+g[(c[h>>2]|0)+8>>2]+ +g[(c[n>>2]|0)+-12>>2]*+g[(c[h>>2]|0)+12>>2]+ +g[(c[n>>2]|0)+-16>>2]*+g[(c[h>>2]|0)+16>>2]+ +g[(c[n>>2]|0)+-20>>2]*+g[(c[h>>2]|0)+20>>2]+ +g[(c[n>>2]|0)+-24>>2]*+g[(c[h>>2]|0)+24>>2]+ +g[(c[n>>2]|0)+-28>>2]*+g[(c[h>>2]|0)+28>>2]+ +g[(c[n>>2]|0)+-32>>2]*+g[(c[h>>2]|0)+32>>2]+ +g[(c[n>>2]|0)+-36>>2]*+g[(c[h>>2]|0)+36>>2]+ +g[(c[n>>2]|0)+-40>>2]*+g[(c[h>>2]|0)+40>>2]+ +g[(c[n>>2]|0)+-44>>2]*+g[(c[h>>2]|0)+44>>2];g[(c[f>>2]|0)+(c[m>>2]<<2)>>2]=+g[(c[n>>2]|0)+4>>2]-+g[l>>2];c[m>>2]=(c[m>>2]|0)+1}i=o;return}function ch(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;f=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;m=o+8|0;l=o+4|0;n=o;c[f>>2]=a;c[h>>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[n>>2]=(c[j>>2]|0)+((c[m>>2]|0)-1<<2);g[l>>2]=+g[c[n>>2]>>2]*+g[c[h>>2]>>2]+ +g[(c[n>>2]|0)+-4>>2]*+g[(c[h>>2]|0)+4>>2]+ +g[(c[n>>2]|0)+-8>>2]*+g[(c[h>>2]|0)+8>>2]+ +g[(c[n>>2]|0)+-12>>2]*+g[(c[h>>2]|0)+12>>2]+ +g[(c[n>>2]|0)+-16>>2]*+g[(c[h>>2]|0)+16>>2]+ +g[(c[n>>2]|0)+-20>>2]*+g[(c[h>>2]|0)+20>>2]+ +g[(c[n>>2]|0)+-24>>2]*+g[(c[h>>2]|0)+24>>2]+ +g[(c[n>>2]|0)+-28>>2]*+g[(c[h>>2]|0)+28>>2]+ +g[(c[n>>2]|0)+-32>>2]*+g[(c[h>>2]|0)+32>>2]+ +g[(c[n>>2]|0)+-36>>2]*+g[(c[h>>2]|0)+36>>2]+ +g[(c[n>>2]|0)+-40>>2]*+g[(c[h>>2]|0)+40>>2]+ +g[(c[n>>2]|0)+-44>>2]*+g[(c[h>>2]|0)+44>>2]+ +g[(c[n>>2]|0)+-48>>2]*+g[(c[h>>2]|0)+48>>2]+ +g[(c[n>>2]|0)+-52>>2]*+g[(c[h>>2]|0)+52>>2]+ +g[(c[n>>2]|0)+-56>>2]*+g[(c[h>>2]|0)+56>>2]+ +g[(c[n>>2]|0)+-60>>2]*+g[(c[h>>2]|0)+60>>2];g[(c[f>>2]|0)+(c[m>>2]<<2)>>2]=+g[(c[n>>2]|0)+4>>2]-+g[l>>2];c[m>>2]=(c[m>>2]|0)+1}i=o;return}function dh(a,b,d,e,f,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;z=i;i=i+80|0;A=z+76|0;B=z+72|0;l=z+68|0;m=z+64|0;n=z+60|0;o=z+56|0;p=z+52|0;q=z+48|0;y=z+44|0;x=z+40|0;r=z+20|0;s=z+16|0;u=z+12|0;w=z+8|0;t=z+4|0;v=z;c[A>>2]=a;c[B>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=h;c[p>>2]=j;c[q>>2]=k;c[y>>2]=c[B>>2];c[s>>2]=c[A>>2];c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[p>>2]|0))break;c[x>>2]=(c[y>>2]|0)+(0-(c[(c[m>>2]|0)+(c[w>>2]<<2)>>2]|0)<<2);g[u>>2]=+g[(c[n>>2]|0)+(c[w>>2]<<2)>>2];c[t>>2]=0;while(1){if((c[t>>2]|0)>=5)break;g[r+(c[t>>2]<<2)>>2]=+g[(c[l>>2]|0)+(((c[w>>2]|0)*5|0)+(c[t>>2]|0)<<2)>>2];c[t>>2]=(c[t>>2]|0)+1}c[t>>2]=0;while(1){if((c[t>>2]|0)>=((c[o>>2]|0)+(c[q>>2]|0)|0))break;g[(c[s>>2]|0)+(c[t>>2]<<2)>>2]=+g[(c[y>>2]|0)+(c[t>>2]<<2)>>2];c[v>>2]=0;while(1){if((c[v>>2]|0)>=5)break;B=(c[s>>2]|0)+(c[t>>2]<<2)|0;g[B>>2]=+g[B>>2]-+g[r+(c[v>>2]<<2)>>2]*+g[(c[x>>2]|0)+(2-(c[v>>2]|0)<<2)>>2];c[v>>2]=(c[v>>2]|0)+1}B=(c[s>>2]|0)+(c[t>>2]<<2)|0;g[B>>2]=+g[B>>2]*+g[u>>2];c[x>>2]=(c[x>>2]|0)+4;c[t>>2]=(c[t>>2]|0)+1}c[s>>2]=(c[s>>2]|0)+((c[o>>2]|0)+(c[q>>2]|0)<<2);c[y>>2]=(c[y>>2]|0)+(c[o>>2]<<2);c[w>>2]=(c[w>>2]|0)+1}i=z;return}function eh(d,e,f){d=d|0;e=e|0;f=f|0;var h=0.0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+16|0;k=m+12|0;l=m+8|0;n=m+4|0;j=m;c[k>>2]=d;c[l>>2]=e;c[n>>2]=f;f=c[k>>2]|0;if(!(c[n>>2]|0)){c[j>>2]=(c[f+4640>>2]|0)+(c[(c[k>>2]|0)+5776>>2]|0);if(!(+(c[j>>2]|0)*+g[(c[l>>2]|0)+872>>2]*.10000000149011612>2.0))if(+(c[j>>2]|0)*+g[(c[l>>2]|0)+872>>2]*.10000000149011612<0.0)h=0.0;else h=+(c[j>>2]|0)*+g[(c[l>>2]|0)+872>>2]*.10000000149011612;else h=2.0;a[(c[k>>2]|0)+4768+33>>0]=~~h}else a[f+4768+33>>0]=0;g[(c[l>>2]|0)+224>>2]=+(b[24566+(a[(c[k>>2]|0)+4768+33>>0]<<1)>>1]|0)/16384.0;i=m;return}function fh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,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,Q=0.0,R=0;M=i;i=i+1152|0;D=M+1140|0;E=M+1136|0;h=M+1132|0;R=M+1128|0;K=M+1124|0;J=M+1120|0;m=M+1116|0;q=M+1112|0;F=M+1108|0;G=M+1104|0;H=M+1100|0;w=M+1096|0;x=M+1092|0;k=M+1088|0;l=M+1084|0;j=M+1080|0;s=M+1076|0;o=M+1072|0;p=M+1068|0;v=M+1064|0;u=M+1060|0;L=M+1056|0;I=M+1052|0;A=M+1048|0;C=M+88|0;r=M+20|0;B=M+16|0;n=M+12|0;y=M+8|0;z=M+4|0;t=M;c[D>>2]=b;c[E>>2]=d;c[h>>2]=e;c[R>>2]=f;c[K>>2]=(c[D>>2]|0)+7200;c[B>>2]=(c[R>>2]|0)+(0-(c[(c[D>>2]|0)+4624>>2]|0)<<2);g[q>>2]=+(c[(c[D>>2]|0)+4748>>2]|0)*.0078125;g[(c[E>>2]|0)+856>>2]=+((c[(c[D>>2]|0)+4728>>2]|0)+(c[(c[D>>2]|0)+4728+4>>2]|0)|0)*.5*.000030517578125;Q=+gh((+g[q>>2]-20.0)*.25);g[(c[E>>2]|0)+860>>2]=Q;if(!(c[(c[D>>2]|0)+4708>>2]|0)){g[I>>2]=1.0-+(c[(c[D>>2]|0)+4556>>2]|0)*.00390625;g[q>>2]=+g[q>>2]-+g[(c[E>>2]|0)+860>>2]*2.0*(+g[(c[E>>2]|0)+856>>2]*.5+.5)*+g[I>>2]*+g[I>>2]}e=c[D>>2]|0;if((a[(c[D>>2]|0)+4768+29>>0]|0)==2)g[q>>2]=+g[q>>2]+ +g[e+12236>>2]*2.0;else g[q>>2]=+g[q>>2]+(+(c[e+4748>>2]|0)*-.4000000059604645*.0078125+6.0)*(1.0-+g[(c[E>>2]|0)+856>>2]);e=c[D>>2]|0;if((a[(c[D>>2]|0)+4768+29>>0]|0)==2){a[e+4768+30>>0]=0;g[(c[E>>2]|0)+864>>2]=0.0}else{c[m>>2]=c[e+4600>>2]<<1;g[j>>2]=0.0;g[l>>2]=0.0;c[n>>2]=c[h>>2];c[J>>2]=0;while(1){if((c[J>>2]|0)>=((((c[(c[D>>2]|0)+4604>>2]&65535)<<16>>16)*5|0)/2|0|0))break;Q=+(c[m>>2]|0);g[w>>2]=Q+ +Gh(c[n>>2]|0,c[m>>2]|0);g[k>>2]=+hh(+g[w>>2]);if((c[J>>2]|0)>0){Q=+N(+(+g[k>>2]-+g[l>>2]));g[j>>2]=+g[j>>2]+Q}g[l>>2]=+g[k>>2];c[n>>2]=(c[n>>2]|0)+(c[m>>2]<<2);c[J>>2]=(c[J>>2]|0)+1}Q=+gh((+g[j>>2]-5.0)*.4000000059604645);g[(c[E>>2]|0)+864>>2]=Q;e=(c[D>>2]|0)+4768+30|0;if(+g[(c[E>>2]|0)+864>>2]>.75)a[e>>0]=0;else a[e>>0]=1;g[q>>2]=+g[q>>2]+(+g[(c[E>>2]|0)+864>>2]-.5)*2.0}g[L>>2]=+g[(c[E>>2]|0)+868>>2]*1.0000000474974513e-03;Q=.949999988079071/(+g[L>>2]*+g[L>>2]+1.0);g[p>>2]=Q;g[o>>2]=Q;g[s>>2]=(1.0-+g[(c[E>>2]|0)+860>>2]*.75)*.009999999776482582;g[o>>2]=+g[o>>2]-+g[s>>2];g[p>>2]=+g[p>>2]+ +g[s>>2];g[o>>2]=+g[o>>2]/+g[p>>2];if((c[(c[D>>2]|0)+4704>>2]|0)>0)g[A>>2]=+(c[(c[D>>2]|0)+4704>>2]|0)/65536.0+ +g[(c[E>>2]|0)+860>>2]*.009999999776482582;else g[A>>2]=0.0;c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[(c[D>>2]|0)+4604>>2]|0))break;c[t>>2]=(c[(c[D>>2]|0)+4600>>2]|0)*3;c[z>>2]=((c[(c[D>>2]|0)+4628>>2]|0)-(c[t>>2]|0)|0)/2|0;Jg(C,c[B>>2]|0,1,c[z>>2]|0);c[y>>2]=c[z>>2];pj(C+(c[y>>2]<<2)|0,(c[B>>2]|0)+(c[y>>2]<<2)|0,c[t>>2]<<2|0)|0;c[y>>2]=(c[y>>2]|0)+(c[t>>2]|0);Jg(C+(c[y>>2]<<2)|0,(c[B>>2]|0)+(c[y>>2]<<2)|0,2,c[z>>2]|0);c[B>>2]=(c[B>>2]|0)+(c[(c[D>>2]|0)+4612>>2]<<2);if((c[(c[D>>2]|0)+4704>>2]|0)>0)wh(r,C,+g[A>>2],c[(c[D>>2]|0)+4628>>2]|0,c[(c[D>>2]|0)+4660>>2]|0);else Dh(r,C,c[(c[D>>2]|0)+4628>>2]|0,(c[(c[D>>2]|0)+4660>>2]|0)+1|0);g[r>>2]=+g[r>>2]+ +g[r>>2]*4.999999873689376e-05;g[w>>2]=+Jh((c[E>>2]|0)+500+(c[J>>2]<<4<<2)|0,r,c[(c[D>>2]|0)+4660>>2]|0);Q=+O(+(+g[w>>2]));g[(c[E>>2]|0)+(c[J>>2]<<2)>>2]=Q;if((c[(c[D>>2]|0)+4704>>2]|0)>0){Q=+ih((c[E>>2]|0)+500+(c[J>>2]<<4<<2)|0,+g[A>>2],c[(c[D>>2]|0)+4660>>2]|0);R=(c[E>>2]|0)+(c[J>>2]<<2)|0;g[R>>2]=+g[R>>2]*Q}Fh((c[E>>2]|0)+500+(c[J>>2]<<4<<2)|0,c[(c[D>>2]|0)+4660>>2]|0,+g[p>>2]);pj((c[E>>2]|0)+244+(c[J>>2]<<4<<2)|0,(c[E>>2]|0)+500+(c[J>>2]<<4<<2)|0,c[(c[D>>2]|0)+4660>>2]<<2|0)|0;Fh((c[E>>2]|0)+244+(c[J>>2]<<4<<2)|0,c[(c[D>>2]|0)+4660>>2]|0,+g[o>>2]);g[x>>2]=+Kh((c[E>>2]|0)+500+(c[J>>2]<<4<<2)|0,c[(c[D>>2]|0)+4660>>2]|0);g[w>>2]=+Kh((c[E>>2]|0)+244+(c[J>>2]<<4<<2)|0,c[(c[D>>2]|0)+4660>>2]|0);g[(c[E>>2]|0)+788+(c[J>>2]<<2)>>2]=1.0-(1.0-+g[x>>2]/+g[w>>2])*.699999988079071;jh((c[E>>2]|0)+500+(c[J>>2]<<4<<2)|0,(c[E>>2]|0)+244+(c[J>>2]<<4<<2)|0,+g[A>>2],3.999000072479248,c[(c[D>>2]|0)+4660>>2]|0);c[J>>2]=(c[J>>2]|0)+1}g[v>>2]=+P(2.0,+(+g[q>>2]*-.1599999964237213));g[u>>2]=+P(2.0,.3199999928474426);c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[(c[D>>2]|0)+4604>>2]|0))break;R=(c[E>>2]|0)+(c[J>>2]<<2)|0;g[R>>2]=+g[R>>2]*+g[v>>2];R=(c[E>>2]|0)+(c[J>>2]<<2)|0;g[R>>2]=+g[R>>2]+ +g[u>>2];c[J>>2]=(c[J>>2]|0)+1}g[v>>2]=+g[(c[E>>2]|0)+860>>2]*.10000000149011612+1.0499999523162842;c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[(c[D>>2]|0)+4604>>2]|0))break;R=(c[E>>2]|0)+788+(c[J>>2]<<2)|0;g[R>>2]=+g[R>>2]*+g[v>>2];c[J>>2]=(c[J>>2]|0)+1}g[L>>2]=((+(c[(c[D>>2]|0)+4728>>2]|0)*.000030517578125-1.0)*.5+1.0)*4.0;g[L>>2]=+g[L>>2]*(+(c[(c[D>>2]|0)+4556>>2]|0)*.00390625);if((a[(c[D>>2]|0)+4768+29>>0]|0)==2){c[J>>2]=0;while(1){e=c[D>>2]|0;if((c[J>>2]|0)>=(c[(c[D>>2]|0)+4604>>2]|0))break;g[I>>2]=.20000000298023224/+(c[e+4600>>2]|0)+3.0/+(c[(c[E>>2]|0)+228+(c[J>>2]<<2)>>2]|0);g[(c[E>>2]|0)+756+(c[J>>2]<<2)>>2]=+g[I>>2]+-1.0;g[(c[E>>2]|0)+772+(c[J>>2]<<2)>>2]=1.0-+g[I>>2]-+g[I>>2]*+g[L>>2];c[J>>2]=(c[J>>2]|0)+1}g[H>>2]=-.25-+(c[e+4556>>2]|0)*.26249998807907104*.00390625}else{g[I>>2]=1.2999999523162842/+(c[(c[D>>2]|0)+4600>>2]|0);g[(c[E>>2]|0)+756>>2]=+g[I>>2]+-1.0;g[(c[E>>2]|0)+772>>2]=1.0-+g[I>>2]-+g[I>>2]*+g[L>>2]*.6000000238418579;c[J>>2]=1;while(1){if((c[J>>2]|0)>=(c[(c[D>>2]|0)+4604>>2]|0))break;g[(c[E>>2]|0)+756+(c[J>>2]<<2)>>2]=+g[(c[E>>2]|0)+756>>2];g[(c[E>>2]|0)+772+(c[J>>2]<<2)>>2]=+g[(c[E>>2]|0)+772>>2];c[J>>2]=(c[J>>2]|0)+1}g[H>>2]=-.25}g[F>>2]=(1.0-+g[(c[E>>2]|0)+860>>2])*.10000000149011612*+g[(c[D>>2]|0)+12236>>2];g[F>>2]=+g[F>>2]+(1.0-+g[(c[E>>2]|0)+856>>2])*.10000000149011612;if((a[(c[D>>2]|0)+4768+29>>0]|0)==2){g[G>>2]=.30000001192092896;g[G>>2]=+g[G>>2]+(1.0-(1.0-+g[(c[E>>2]|0)+860>>2])*+g[(c[E>>2]|0)+856>>2])*.20000000298023224;Q=+O(+(+g[(c[D>>2]|0)+12236>>2]));g[G>>2]=+g[G>>2]*Q}else g[G>>2]=0.0;c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[(c[D>>2]|0)+4604>>2]|0))break;R=(c[K>>2]|0)+4|0;g[R>>2]=+g[R>>2]+(+g[F>>2]-+g[(c[K>>2]|0)+4>>2])*.4000000059604645;g[(c[E>>2]|0)+804+(c[J>>2]<<2)>>2]=+g[(c[K>>2]|0)+4>>2];R=(c[K>>2]|0)+8|0;g[R>>2]=+g[R>>2]+(+g[G>>2]-+g[(c[K>>2]|0)+8>>2])*.4000000059604645;g[(c[E>>2]|0)+836+(c[J>>2]<<2)>>2]=+g[(c[K>>2]|0)+8>>2];R=(c[K>>2]|0)+12|0;g[R>>2]=+g[R>>2]+(+g[H>>2]-+g[(c[K>>2]|0)+12>>2])*.4000000059604645;g[(c[E>>2]|0)+820+(c[J>>2]<<2)>>2]=+g[(c[K>>2]|0)+12>>2];c[J>>2]=(c[J>>2]|0)+1}i=M;return}function gh(a){a=+a;var b=0,c=0;b=i;i=i+16|0;c=b;g[c>>2]=a;a=1.0/(+X(+-+g[c>>2])+1.0);i=b;return +a}function hh(a){a=+a;var b=0,c=0;b=i;i=i+16|0;c=b;h[c>>3]=a;a=+hj(+h[c>>3])*3.32192809488736;i=b;return +a}function ih(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;l=k+8|0;j=k+4|0;h=k;c[e>>2]=a;g[f>>2]=b;c[l>>2]=d;g[f>>2]=-+g[f>>2];g[h>>2]=+g[(c[e>>2]|0)+((c[l>>2]|0)-1<<2)>>2];c[j>>2]=(c[l>>2]|0)-2;while(1){b=+g[f>>2]*+g[h>>2];if((c[j>>2]|0)<0)break;g[h>>2]=b+ +g[(c[e>>2]|0)+(c[j>>2]<<2)>>2];c[j>>2]=(c[j>>2]|0)+-1}i=k;return +(1.0/(1.0-b))}function jh(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=+e;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;h=v+48|0;j=v+44|0;k=v+40|0;l=v+36|0;m=v+32|0;q=v+28|0;s=v+24|0;r=v+20|0;u=v+16|0;t=v+12|0;n=v+8|0;p=v+4|0;o=v;c[h>>2]=a;c[j>>2]=b;g[k>>2]=d;g[l>>2]=e;c[m>>2]=f;c[r>>2]=0;c[q>>2]=(c[m>>2]|0)-1;while(1){d=+g[k>>2];if((c[q>>2]|0)<=0)break;f=(c[h>>2]|0)+((c[q>>2]|0)-1<<2)|0;g[f>>2]=+g[f>>2]-d*+g[(c[h>>2]|0)+(c[q>>2]<<2)>>2];f=(c[j>>2]|0)+((c[q>>2]|0)-1<<2)|0;g[f>>2]=+g[f>>2]-+g[k>>2]*+g[(c[j>>2]|0)+(c[q>>2]<<2)>>2];c[q>>2]=(c[q>>2]|0)+-1}g[p>>2]=(1.0-d*+g[k>>2])/(+g[k>>2]*+g[c[h>>2]>>2]+1.0);g[o>>2]=(1.0-+g[k>>2]*+g[k>>2])/(+g[k>>2]*+g[c[j>>2]>>2]+1.0);c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[m>>2]|0))break;f=(c[h>>2]|0)+(c[q>>2]<<2)|0;g[f>>2]=+g[f>>2]*+g[p>>2];f=(c[j>>2]|0)+(c[q>>2]<<2)|0;g[f>>2]=+g[f>>2]*+g[o>>2];c[q>>2]=(c[q>>2]|0)+1}c[s>>2]=0;while(1){if((c[s>>2]|0)>=10){b=31;break}g[t>>2]=-1.0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[m>>2]|0))break;e=+N(+(+g[(c[h>>2]|0)+(c[q>>2]<<2)>>2]));f=e>+N(+(+g[(c[j>>2]|0)+(c[q>>2]<<2)>>2]));b=c[q>>2]|0;if(f)d=+g[(c[h>>2]|0)+(b<<2)>>2];else d=+g[(c[j>>2]|0)+(b<<2)>>2];g[u>>2]=+N(+d);if(+g[u>>2]>+g[t>>2]){g[t>>2]=+g[u>>2];c[r>>2]=c[q>>2]}c[q>>2]=(c[q>>2]|0)+1}if(+g[t>>2]<=+g[l>>2]){b=31;break}c[q>>2]=1;while(1){if((c[q>>2]|0)>=(c[m>>2]|0))break;f=(c[h>>2]|0)+((c[q>>2]|0)-1<<2)|0;g[f>>2]=+g[f>>2]+ +g[k>>2]*+g[(c[h>>2]|0)+(c[q>>2]<<2)>>2];f=(c[j>>2]|0)+((c[q>>2]|0)-1<<2)|0;g[f>>2]=+g[f>>2]+ +g[k>>2]*+g[(c[j>>2]|0)+(c[q>>2]<<2)>>2];c[q>>2]=(c[q>>2]|0)+1}g[p>>2]=1.0/+g[p>>2];g[o>>2]=1.0/+g[o>>2];c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[m>>2]|0))break;f=(c[h>>2]|0)+(c[q>>2]<<2)|0;g[f>>2]=+g[f>>2]*+g[p>>2];f=(c[j>>2]|0)+(c[q>>2]<<2)|0;g[f>>2]=+g[f>>2]*+g[o>>2];c[q>>2]=(c[q>>2]|0)+1}g[n>>2]=.9900000095367432-(+(c[s>>2]|0)*.10000000149011612+.800000011920929)*(+g[t>>2]-+g[l>>2])/(+g[t>>2]*+((c[r>>2]|0)+1|0));Fh(c[h>>2]|0,c[m>>2]|0,+g[n>>2]);Fh(c[j>>2]|0,c[m>>2]|0,+g[n>>2]);c[q>>2]=(c[m>>2]|0)-1;while(1){d=+g[k>>2];if((c[q>>2]|0)<=0)break;f=(c[h>>2]|0)+((c[q>>2]|0)-1<<2)|0;g[f>>2]=+g[f>>2]-d*+g[(c[h>>2]|0)+(c[q>>2]<<2)>>2];f=(c[j>>2]|0)+((c[q>>2]|0)-1<<2)|0;g[f>>2]=+g[f>>2]-+g[k>>2]*+g[(c[j>>2]|0)+(c[q>>2]<<2)>>2];c[q>>2]=(c[q>>2]|0)+-1}g[p>>2]=(1.0-d*+g[k>>2])/(+g[k>>2]*+g[c[h>>2]>>2]+1.0);g[o>>2]=(1.0-+g[k>>2]*+g[k>>2])/(+g[k>>2]*+g[c[j>>2]>>2]+1.0);c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[m>>2]|0))break;f=(c[h>>2]|0)+(c[q>>2]<<2)|0;g[f>>2]=+g[f>>2]*+g[p>>2];f=(c[j>>2]|0)+(c[q>>2]<<2)|0;g[f>>2]=+g[f>>2]*+g[o>>2];c[q>>2]=(c[q>>2]|0)+1}c[s>>2]=(c[s>>2]|0)+1}if((b|0)==31){i=v;return}}function kh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=i;i=i+464|0;h=y+460|0;j=y+456|0;z=y+452|0;A=y+448|0;q=y+444|0;s=y+440|0;t=y+436|0;u=y+432|0;n=y+428|0;r=y+424|0;p=y+420|0;o=y+416|0;l=y+408|0;k=y+404|0;v=y+400|0;w=y+396|0;m=y+384|0;x=y;c[h>>2]=b;c[j>>2]=d;c[z>>2]=e;c[A>>2]=f;c[q>>2]=(c[h>>2]|0)+7216;c[v>>2]=c[A>>2];c[w>>2]=c[z>>2];c[u>>2]=c[(c[q>>2]|0)+2136>>2];c[t>>2]=0;while(1){b=c[h>>2]|0;if((c[t>>2]|0)>=(c[(c[h>>2]|0)+4604>>2]|0))break;if((a[b+4768+29>>0]|0)==2)c[u>>2]=c[(c[j>>2]|0)+228+(c[t>>2]<<2)>>2];g[n>>2]=+g[(c[j>>2]|0)+836+(c[t>>2]<<2)>>2]*(1.0-+g[(c[j>>2]|0)+804+(c[t>>2]<<2)>>2]);g[m>>2]=+g[n>>2]*.25;g[m+4>>2]=+g[n>>2]*.4999847412109375;g[m+8>>2]=+g[n>>2]*.25;g[r>>2]=+g[(c[j>>2]|0)+820+(c[t>>2]<<2)>>2];g[p>>2]=+g[(c[j>>2]|0)+756+(c[t>>2]<<2)>>2];g[o>>2]=+g[(c[j>>2]|0)+772+(c[t>>2]<<2)>>2];c[k>>2]=(c[j>>2]|0)+244+(c[t>>2]<<4<<2);lh((c[q>>2]|0)+2048|0,x,c[k>>2]|0,c[v>>2]|0,+(c[(c[h>>2]|0)+4704>>2]|0)/65536.0,c[(c[h>>2]|0)+4612>>2]|0,c[(c[h>>2]|0)+4660>>2]|0);g[l>>2]=+g[(c[j>>2]|0)+788+(c[t>>2]<<2)>>2];g[l+4>>2]=-+g[(c[j>>2]|0)+788+(c[t>>2]<<2)>>2]*(+g[(c[j>>2]|0)+804+(c[t>>2]<<2)>>2]*+g[n>>2]+.05000000074505806+ +g[(c[j>>2]|0)+860>>2]*.10000000149011612);g[c[w>>2]>>2]=+g[l>>2]*+g[x>>2]+ +g[l+4>>2]*+g[(c[q>>2]|0)+2128>>2];c[s>>2]=1;while(1){if((c[s>>2]|0)>=(c[(c[h>>2]|0)+4612>>2]|0))break;g[(c[w>>2]|0)+(c[s>>2]<<2)>>2]=+g[l>>2]*+g[x+(c[s>>2]<<2)>>2]+ +g[l+4>>2]*+g[x+((c[s>>2]|0)-1<<2)>>2];c[s>>2]=(c[s>>2]|0)+1}g[(c[q>>2]|0)+2128>>2]=+g[x+((c[(c[h>>2]|0)+4612>>2]|0)-1<<2)>>2];mh(c[q>>2]|0,c[w>>2]|0,c[w>>2]|0,m,+g[r>>2],+g[p>>2],+g[o>>2],c[u>>2]|0,c[(c[h>>2]|0)+4612>>2]|0);c[v>>2]=(c[v>>2]|0)+(c[(c[h>>2]|0)+4612>>2]<<2);c[w>>2]=(c[w>>2]|0)+(c[(c[h>>2]|0)+4612>>2]<<2);c[t>>2]=(c[t>>2]|0)+1}c[(c[q>>2]|0)+2136>>2]=c[(c[j>>2]|0)+228+((c[b+4604>>2]|0)-1<<2)>>2];i=y;return}function lh(a,b,d,e,f,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+48|0;k=w+44|0;l=w+40|0;m=w+36|0;n=w+32|0;o=w+28|0;p=w+24|0;q=w+20|0;t=w+16|0;s=w+12|0;r=w+8|0;u=w+4|0;v=w;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;g[o>>2]=f;c[p>>2]=h;c[q>>2]=j;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[p>>2]|0))break;g[v>>2]=+g[c[k>>2]>>2]+ +g[o>>2]*+g[(c[k>>2]|0)+4>>2];g[c[k>>2]>>2]=+g[(c[n>>2]|0)+(c[t>>2]<<2)>>2];g[u>>2]=+g[(c[k>>2]|0)+4>>2]+ +g[o>>2]*(+g[(c[k>>2]|0)+8>>2]-+g[v>>2]);g[(c[k>>2]|0)+4>>2]=+g[v>>2];g[r>>2]=+g[c[m>>2]>>2]*+g[v>>2];c[s>>2]=2;while(1){if((c[s>>2]|0)>=(c[q>>2]|0))break;g[v>>2]=+g[(c[k>>2]|0)+(c[s>>2]<<2)>>2]+ +g[o>>2]*(+g[(c[k>>2]|0)+((c[s>>2]|0)+1<<2)>>2]-+g[u>>2]);g[(c[k>>2]|0)+(c[s>>2]<<2)>>2]=+g[u>>2];g[r>>2]=+g[r>>2]+ +g[(c[m>>2]|0)+((c[s>>2]|0)-1<<2)>>2]*+g[u>>2];g[u>>2]=+g[(c[k>>2]|0)+((c[s>>2]|0)+1<<2)>>2]+ +g[o>>2]*(+g[(c[k>>2]|0)+((c[s>>2]|0)+2<<2)>>2]-+g[v>>2]);g[(c[k>>2]|0)+((c[s>>2]|0)+1<<2)>>2]=+g[v>>2];g[r>>2]=+g[r>>2]+ +g[(c[m>>2]|0)+(c[s>>2]<<2)>>2]*+g[v>>2];c[s>>2]=(c[s>>2]|0)+2}g[(c[k>>2]|0)+(c[q>>2]<<2)>>2]=+g[u>>2];g[r>>2]=+g[r>>2]+ +g[(c[m>>2]|0)+((c[q>>2]|0)-1<<2)>>2]*+g[u>>2];g[(c[l>>2]|0)+(c[t>>2]<<2)>>2]=+g[(c[n>>2]|0)+(c[t>>2]<<2)>>2]-+g[r>>2];c[t>>2]=(c[t>>2]|0)+1}i=w;return}function mh(a,b,d,e,f,h,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;h=+h;j=+j;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+80|0;m=E+68|0;n=E+64|0;o=E+60|0;p=E+56|0;q=E+52|0;r=E+48|0;s=E+44|0;t=E+40|0;u=E+36|0;x=E+32|0;y=E+28|0;w=E+24|0;B=E+20|0;z=E+16|0;A=E+12|0;C=E+8|0;D=E+4|0;v=E;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;g[q>>2]=f;g[r>>2]=h;g[s>>2]=j;c[t>>2]=k;c[u>>2]=l;c[v>>2]=c[m>>2];c[w>>2]=c[(c[m>>2]|0)+2116>>2];g[C>>2]=+g[(c[m>>2]|0)+2120>>2];g[D>>2]=+g[(c[m>>2]|0)+2124>>2];c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[u>>2]|0))break;if((c[t>>2]|0)>0){c[y>>2]=(c[t>>2]|0)+(c[w>>2]|0);g[A>>2]=+g[(c[v>>2]|0)+(((c[y>>2]|0)-1-1&511)<<2)>>2]*+g[c[p>>2]>>2];g[A>>2]=+g[A>>2]+ +g[(c[v>>2]|0)+(((c[y>>2]|0)-1&511)<<2)>>2]*+g[(c[p>>2]|0)+4>>2];g[A>>2]=+g[A>>2]+ +g[(c[v>>2]|0)+(((c[y>>2]|0)-1+1&511)<<2)>>2]*+g[(c[p>>2]|0)+8>>2]}else g[A>>2]=0.0;g[B>>2]=+g[C>>2]*+g[q>>2];g[z>>2]=+g[C>>2]*+g[s>>2]+ +g[D>>2]*+g[r>>2];g[C>>2]=+g[(c[n>>2]|0)+(c[x>>2]<<2)>>2]-+g[B>>2];g[D>>2]=+g[C>>2]-+g[z>>2];c[w>>2]=(c[w>>2]|0)-1&511;g[(c[v>>2]|0)+(c[w>>2]<<2)>>2]=+g[D>>2];g[(c[o>>2]|0)+(c[x>>2]<<2)>>2]=+g[D>>2]-+g[A>>2];c[x>>2]=(c[x>>2]|0)+1}g[(c[m>>2]|0)+2120>>2]=+g[C>>2];g[(c[m>>2]|0)+2124>>2]=+g[D>>2];c[(c[m>>2]|0)+2116>>2]=c[w>>2];i=E;return}function nh(d,e,f){d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;s=i;i=i+64|0;p=s+48|0;q=s+44|0;h=s+40|0;n=s+36|0;l=s+32|0;m=s+16|0;o=s+12|0;j=s+8|0;k=s+4|0;r=s;c[p>>2]=d;c[q>>2]=e;c[h>>2]=f;c[n>>2]=(c[p>>2]|0)+7200;a:do if((a[(c[p>>2]|0)+4768+29>>0]|0)==2){g[o>>2]=1.0-+oh((+g[(c[q>>2]|0)+872>>2]-12.0)*.25)*.5;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[(c[p>>2]|0)+4604>>2]|0))break a;e=(c[q>>2]|0)+(c[l>>2]<<2)|0;g[e>>2]=+g[e>>2]*+g[o>>2];c[l>>2]=(c[l>>2]|0)+1}}while(0);t=+P(2.0,+((21.0-+(c[(c[p>>2]|0)+4748>>2]|0)*.0078125)*.33000001311302185));g[j>>2]=t/+(c[(c[p>>2]|0)+4612>>2]|0);c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[(c[p>>2]|0)+4604>>2]|0))break;g[k>>2]=+g[(c[q>>2]|0)+(c[l>>2]<<2)>>2];g[k>>2]=+O(+(+g[k>>2]*+g[k>>2]+ +g[(c[q>>2]|0)+876+(c[l>>2]<<2)>>2]*+g[j>>2]));g[(c[q>>2]|0)+(c[l>>2]<<2)>>2]=+g[k>>2]<32767.0?+g[k>>2]:32767.0;c[l>>2]=(c[l>>2]|0)+1}c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[(c[p>>2]|0)+4604>>2]|0))break;c[m+(c[l>>2]<<2)>>2]=~~(+g[(c[q>>2]|0)+(c[l>>2]<<2)>>2]*65536.0);c[l>>2]=(c[l>>2]|0)+1}pj((c[q>>2]|0)+892|0,m|0,c[(c[p>>2]|0)+4604>>2]<<2|0)|0;a[(c[q>>2]|0)+908>>0]=a[c[n>>2]>>0]|0;_d((c[p>>2]|0)+4768|0,m,c[n>>2]|0,(c[h>>2]|0)==2&1,c[(c[p>>2]|0)+4604>>2]|0);c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[(c[p>>2]|0)+4604>>2]|0))break;g[(c[q>>2]|0)+(c[l>>2]<<2)>>2]=+(c[m+(c[l>>2]<<2)>>2]|0)/65536.0;c[l>>2]=(c[l>>2]|0)+1}do if((a[(c[p>>2]|0)+4768+29>>0]|0)==2){h=(c[p>>2]|0)+4768+30|0;if(+g[(c[q>>2]|0)+872>>2]+ +(c[(c[p>>2]|0)+4744>>2]|0)*.000030517578125>1.0){a[h>>0]=0;break}else{a[h>>0]=1;break}}while(0);g[r>>2]=+(b[24558+(a[(c[p>>2]|0)+4768+29>>0]>>1<<2)+(a[(c[p>>2]|0)+4768+30>>0]<<1)>>1]|0)/1024.0;g[(c[q>>2]|0)+852>>2]=+(c[(c[p>>2]|0)+4652>>2]|0)*-.05000000074505806+1.2000000476837158+ +(c[(c[p>>2]|0)+4556>>2]|0)*-.20000000298023224*.00390625+ +g[(c[q>>2]|0)+856>>2]*-.10000000149011612+ +g[(c[q>>2]|0)+860>>2]*-.20000000298023224+ +g[r>>2]*.800000011920929;i=s;return}function oh(a){a=+a;var b=0,c=0;b=i;i=i+16|0;c=b;g[c>>2]=a;a=1.0/(+X(+-+g[c>>2])+1.0);i=b;return +a}function ph(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[f>>2]=a;c[h>>2]=b;g[j>>2]=d;c[k>>2]=e;c[l>>2]=0;while(1){d=+g[j>>2];if((c[l>>2]|0)>=(c[k>>2]|0))break;b=_(c[l>>2]|0,c[k>>2]|0)|0;b=(c[f>>2]|0)+(b+(c[l>>2]|0)<<2)|0;g[b>>2]=+g[b>>2]+d;c[l>>2]=(c[l>>2]|0)+1}l=c[h>>2]|0;g[l>>2]=+g[l>>2]+d;i=m;return}function qh(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+40|0;j=t+36|0;k=t+32|0;l=t+28|0;m=t+24|0;n=t+20|0;o=t+16|0;p=t+12|0;s=t+8|0;q=t+4|0;r=t;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;g[l>>2]=e;c[m>>2]=f;g[q>>2]=0.0;d=(_(c[m>>2]|0,c[m>>2]|0)|0)-1|0;g[r>>2]=(+g[c[j>>2]>>2]+ +g[(c[j>>2]|0)+(d<<2)>>2])*9.99999993922529e-09;c[p>>2]=0;while(1){if((c[p>>2]|0)>=10)break;g[q>>2]=+g[l>>2];g[s>>2]=0.0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[m>>2]|0))break;g[s>>2]=+g[s>>2]+ +g[(c[k>>2]|0)+(c[n>>2]<<2)>>2]*+g[(c[h>>2]|0)+(c[n>>2]<<2)>>2];c[n>>2]=(c[n>>2]|0)+1}g[q>>2]=+g[q>>2]-+g[s>>2]*2.0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[m>>2]|0))break;g[s>>2]=0.0;c[o>>2]=(c[n>>2]|0)+1;while(1){if((c[o>>2]|0)>=(c[m>>2]|0))break;e=+g[(c[j>>2]|0)+((c[n>>2]|0)+(_(c[m>>2]|0,c[o>>2]|0)|0)<<2)>>2];g[s>>2]=+g[s>>2]+e*+g[(c[h>>2]|0)+(c[o>>2]<<2)>>2];c[o>>2]=(c[o>>2]|0)+1}e=+g[(c[j>>2]|0)+((c[n>>2]|0)+(_(c[m>>2]|0,c[n>>2]|0)|0)<<2)>>2];g[q>>2]=+g[q>>2]+ +g[(c[h>>2]|0)+(c[n>>2]<<2)>>2]*(+g[s>>2]*2.0+e*+g[(c[h>>2]|0)+(c[n>>2]<<2)>>2]);c[n>>2]=(c[n>>2]|0)+1}if(+g[q>>2]>0.0)break;c[n>>2]=0;while(1){e=+g[r>>2];if((c[n>>2]|0)>=(c[m>>2]|0))break;d=(c[j>>2]|0)+((c[n>>2]|0)+(_(c[m>>2]|0,c[n>>2]|0)|0)<<2)|0;g[d>>2]=+g[d>>2]+e;c[n>>2]=(c[n>>2]|0)+1}g[r>>2]=e*2.0;c[p>>2]=(c[p>>2]|0)+1}if((c[p>>2]|0)!=10){e=+g[q>>2];i=t;return +e}g[q>>2]=1.0;e=+g[q>>2];i=t;return +e}function rh(a,b,d,e,f,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0;t=i;i=i+816|0;k=t+800|0;l=t+796|0;m=t+792|0;n=t+788|0;o=t+784|0;u=t+780|0;p=t+776|0;s=t+772|0;r=t+768|0;q=t;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[u>>2]=h;c[p>>2]=j;c[r>>2]=q+(c[p>>2]<<2);c[s>>2]=(c[p>>2]|0)+(c[o>>2]|0);Zg(q,c[m>>2]|0,(c[l>>2]|0)+(0<<2)|0,c[s>>2]<<1,c[p>>2]|0);v=+g[c[n>>2]>>2]*+g[c[n>>2]>>2];v=v*+Gh((c[r>>2]|0)+(0<<2)|0,c[o>>2]|0);g[c[k>>2]>>2]=v;v=+g[(c[n>>2]|0)+4>>2]*+g[(c[n>>2]|0)+4>>2];v=v*+Gh((c[r>>2]|0)+(c[s>>2]<<2)|0,c[o>>2]|0);g[(c[k>>2]|0)+4>>2]=v;if((c[u>>2]|0)!=4){i=t;return}Zg(q,(c[m>>2]|0)+64|0,(c[l>>2]|0)+(c[s>>2]<<1<<2)|0,c[s>>2]<<1,c[p>>2]|0);v=+g[(c[n>>2]|0)+8>>2]*+g[(c[n>>2]|0)+8>>2];v=v*+Gh((c[r>>2]|0)+(0<<2)|0,c[o>>2]|0);g[(c[k>>2]|0)+8>>2]=v;v=+g[(c[n>>2]|0)+12>>2]*+g[(c[n>>2]|0)+12>>2];v=v*+Gh((c[r>>2]|0)+(c[s>>2]<<2)|0,c[o>>2]|0);g[(c[k>>2]|0)+12>>2]=v;i=t;return}function sh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+1184|0;p=n+1168|0;f=n+1164|0;o=n+1160|0;h=n+1156|0;m=n+1152|0;k=n+128|0;l=n+64|0;j=n;c[p>>2]=a;c[f>>2]=b;c[o>>2]=d;c[h>>2]=e;th(c[p>>2]|0,c[f>>2]|0,k,j);uh(k,c[f>>2]|0,c[o>>2]|0,l);c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[f>>2]|0))break;g[l+(c[m>>2]<<2)>>2]=+g[l+(c[m>>2]<<2)>>2]*+g[j+(c[m>>2]<<2)>>2];c[m>>2]=(c[m>>2]|0)+1}vh(k,c[f>>2]|0,l,c[h>>2]|0);i=n;return}function th(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,j=0,k=0,l=0,m=0,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=i;i=i+192|0;f=y+184|0;j=y+180|0;k=y+176|0;l=y+172|0;p=y+168|0;q=y+164|0;r=y+160|0;s=y+156|0;o=y+152|0;t=y+148|0;u=y+144|0;v=y+8|0;n=y;w=y+80|0;m=y+16|0;c[f>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[o>>2]=1;b=(_(c[j>>2]|0,c[j>>2]|0)|0)-1|0;h[n>>3]=(+g[c[f>>2]>>2]+ +g[(c[f>>2]|0)+(b<<2)>>2])*4.999999873689376e-06;c[s>>2]=0;while(1){if(!((c[s>>2]|0)<(c[j>>2]|0)?(c[o>>2]|0)==1:0))break;c[o>>2]=0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[j>>2]|0))break;c[t>>2]=(c[k>>2]|0)+((_(c[q>>2]|0,c[j>>2]|0)|0)+0<<2);b=_(c[q>>2]|0,c[j>>2]|0)|0;h[v>>3]=+g[(c[f>>2]|0)+(b+(c[q>>2]|0)<<2)>>2];c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[q>>2]|0))break;g[w+(c[p>>2]<<2)>>2]=+g[(c[t>>2]|0)+(c[p>>2]<<2)>>2]*+g[m+(c[p>>2]<<2)>>2];h[v>>3]=+h[v>>3]-+g[(c[t>>2]|0)+(c[p>>2]<<2)>>2]*+g[w+(c[p>>2]<<2)>>2];c[p>>2]=(c[p>>2]|0)+1}if(+h[v>>3]<+h[n>>3]){x=9;break}g[m+(c[q>>2]<<2)>>2]=+h[v>>3];g[(c[l>>2]|0)+(c[q>>2]<<2)>>2]=1.0/+h[v>>3];b=_(c[q>>2]|0,c[j>>2]|0)|0;g[(c[k>>2]|0)+(b+(c[q>>2]|0)<<2)>>2]=1.0;c[t>>2]=(c[f>>2]|0)+((_(c[q>>2]|0,c[j>>2]|0)|0)+0<<2);c[u>>2]=(c[k>>2]|0)+((_((c[q>>2]|0)+1|0,c[j>>2]|0)|0)+0<<2);c[p>>2]=(c[q>>2]|0)+1;while(1){if((c[p>>2]|0)>=(c[j>>2]|0))break;h[v>>3]=0.0;c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[q>>2]|0))break;h[v>>3]=+h[v>>3]+ +g[(c[u>>2]|0)+(c[r>>2]<<2)>>2]*+g[w+(c[r>>2]<<2)>>2];c[r>>2]=(c[r>>2]|0)+1}b=_(c[p>>2]|0,c[j>>2]|0)|0;g[(c[k>>2]|0)+(b+(c[q>>2]|0)<<2)>>2]=(+g[(c[t>>2]|0)+(c[p>>2]<<2)>>2]-+h[v>>3])*+g[(c[l>>2]|0)+(c[q>>2]<<2)>>2];c[u>>2]=(c[u>>2]|0)+(c[j>>2]<<2);c[p>>2]=(c[p>>2]|0)+1}c[q>>2]=(c[q>>2]|0)+1}if((x|0)==9){x=0;h[v>>3]=+((c[s>>2]|0)+1|0)*+h[n>>3]-+h[v>>3];c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[j>>2]|0))break;b=_(c[p>>2]|0,c[j>>2]|0)|0;b=(c[f>>2]|0)+(b+(c[p>>2]|0)<<2)|0;g[b>>2]=+g[b>>2]+ +h[v>>3];c[p>>2]=(c[p>>2]|0)+1}c[o>>2]=1}c[s>>2]=(c[s>>2]|0)+1}i=y;return}function uh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;o=p+4|0;n=p;c[f>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[h>>2]|0))break;c[n>>2]=(c[f>>2]|0)+((_(c[l>>2]|0,c[h>>2]|0)|0)+0<<2);g[o>>2]=0.0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[l>>2]|0))break;g[o>>2]=+g[o>>2]+ +g[(c[n>>2]|0)+(c[m>>2]<<2)>>2]*+g[(c[k>>2]|0)+(c[m>>2]<<2)>>2];c[m>>2]=(c[m>>2]|0)+1}g[o>>2]=+g[(c[j>>2]|0)+(c[l>>2]<<2)>>2]-+g[o>>2];g[(c[k>>2]|0)+(c[l>>2]<<2)>>2]=+g[o>>2];c[l>>2]=(c[l>>2]|0)+1}i=p;return}function vh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;o=p+4|0;n=p;c[f>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=(c[h>>2]|0)-1;while(1){if((c[l>>2]|0)<0)break;c[n>>2]=(c[f>>2]|0)+(0+(c[l>>2]|0)<<2);g[o>>2]=0.0;c[m>>2]=(c[h>>2]|0)-1;while(1){if((c[m>>2]|0)<=(c[l>>2]|0))break;e=_(c[m>>2]|0,c[h>>2]|0)|0;g[o>>2]=+g[o>>2]+ +g[(c[n>>2]|0)+(e<<2)>>2]*+g[(c[k>>2]|0)+(c[m>>2]<<2)>>2];c[m>>2]=(c[m>>2]|0)+-1}g[o>>2]=+g[(c[j>>2]|0)+(c[l>>2]<<2)>>2]-+g[o>>2];g[(c[k>>2]|0)+(c[l>>2]<<2)>>2]=+g[o>>2];c[l>>2]=(c[l>>2]|0)+-1}i=p;return}function wh(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+320|0;j=u+312|0;k=u+308|0;l=u+304|0;m=u+300|0;n=u+296|0;q=u+292|0;p=u+288|0;s=u+280|0;t=u+272|0;r=u+136|0;o=u;c[j>>2]=a;c[k>>2]=b;g[l>>2]=d;c[m>>2]=e;c[n>>2]=f;oj(r|0,0,136)|0;oj(o|0,0,136)|0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[m>>2]|0))break;h[s>>3]=+g[(c[k>>2]|0)+(c[q>>2]<<2)>>2];c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[n>>2]|0))break;h[t>>3]=+h[r+(c[p>>2]<<3)>>3]+ +g[l>>2]*(+h[r+((c[p>>2]|0)+1<<3)>>3]-+h[s>>3]);h[r+(c[p>>2]<<3)>>3]=+h[s>>3];f=o+(c[p>>2]<<3)|0;h[f>>3]=+h[f>>3]+ +h[r>>3]*+h[s>>3];h[s>>3]=+h[r+((c[p>>2]|0)+1<<3)>>3]+ +g[l>>2]*(+h[r+((c[p>>2]|0)+2<<3)>>3]-+h[t>>3]);h[r+((c[p>>2]|0)+1<<3)>>3]=+h[t>>3];f=o+((c[p>>2]|0)+1<<3)|0;h[f>>3]=+h[f>>3]+ +h[r>>3]*+h[t>>3];c[p>>2]=(c[p>>2]|0)+2}h[r+(c[n>>2]<<3)>>3]=+h[s>>3];f=o+(c[n>>2]<<3)|0;h[f>>3]=+h[f>>3]+ +h[r>>3]*+h[s>>3];c[q>>2]=(c[q>>2]|0)+1}c[p>>2]=0;while(1){if((c[p>>2]|0)>=((c[n>>2]|0)+1|0))break;g[(c[j>>2]|0)+(c[p>>2]<<2)>>2]=+h[o+(c[p>>2]<<3)>>3];c[p>>2]=(c[p>>2]|0)+1}i=u;return}function xh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0;l=i;i=i+80|0;e=l+76|0;f=l+72|0;h=l+68|0;k=l+64|0;j=l;c[e>>2]=a;c[f>>2]=b;c[h>>2]=d;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[h>>2]|0))break;b=yh(+g[(c[f>>2]|0)+(c[k>>2]<<2)>>2]*65536.0)|0;c[j+(c[k>>2]<<2)>>2]=b;c[k>>2]=(c[k>>2]|0)+1}Hf(c[e>>2]|0,j,c[h>>2]|0);i=l;return}function yh(a){a=+a;var b=0,c=0;c=i;i=i+16|0;b=c;g[b>>2]=a;b=ij(+g[b>>2])|0;i=c;return b|0}function zh(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+48|0;f=l+12|0;m=l+8|0;h=l+4|0;k=l;j=l+16|0;c[f>>2]=a;c[m>>2]=d;c[h>>2]=e;ag(j,c[m>>2]|0,c[h>>2]|0);c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[h>>2]|0))break;g[(c[f>>2]|0)+(c[k>>2]<<2)>>2]=+(b[j+(c[k>>2]<<1)>>1]|0)*.000244140625;c[k>>2]=(c[k>>2]|0)+1}i=l;return}function Ah(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+96|0;h=n+20|0;j=n+16|0;p=n+12|0;o=n+8|0;l=n+4|0;m=n;k=n+24|0;c[h>>2]=a;c[j>>2]=d;c[p>>2]=e;c[o>>2]=f;pf(c[h>>2]|0,k,c[p>>2]|0,c[o>>2]|0);c[m>>2]=0;while(1){if((c[m>>2]|0)>=2)break;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[(c[h>>2]|0)+4664>>2]|0))break;g[(c[j>>2]|0)+(c[m>>2]<<6)+(c[l>>2]<<2)>>2]=+(b[k+(c[m>>2]<<5)+(c[l>>2]<<1)>>1]|0)*.000244140625;c[l>>2]=(c[l>>2]|0)+1}c[m>>2]=(c[m>>2]|0)+1}i=n;return}function Bh(d,e,f,h,j,k){d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+1632|0;l=D+1388|0;m=D+1384|0;n=D+1380|0;o=D+1376|0;p=D+1372|0;q=D+1368|0;A=D+1364|0;B=D+1360|0;C=D+80|0;s=D+64|0;y=D+1560|0;v=D+1520|0;w=D+56|0;r=D+1392|0;u=D+40|0;x=D+32|0;z=D+16|0;t=D;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=h;c[p>>2]=j;c[q>>2]=k;c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[(c[l>>2]|0)+4604>>2]|0))break;c[B>>2]=0;while(1){d=c[A>>2]|0;if((c[B>>2]|0)>=(c[(c[l>>2]|0)+4660>>2]|0))break;k=(yh(+g[(c[m>>2]|0)+500+((d<<4)+(c[B>>2]|0)<<2)>>2]*8192.0)|0)&65535;b[r+((c[A>>2]<<4)+(c[B>>2]|0)<<1)>>1]=k;c[B>>2]=(c[B>>2]|0)+1}c[A>>2]=d+1}c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[(c[l>>2]|0)+4604>>2]|0))break;k=(yh(+g[(c[m>>2]|0)+772+(c[A>>2]<<2)>>2]*16384.0)|0)<<16;k=k|(yh(+g[(c[m>>2]|0)+756+(c[A>>2]<<2)>>2]*16384.0)|0)&65535;c[u+(c[A>>2]<<2)>>2]=k;k=yh(+g[(c[m>>2]|0)+820+(c[A>>2]<<2)>>2]*16384.0)|0;c[z+(c[A>>2]<<2)>>2]=k;k=yh(+g[(c[m>>2]|0)+836+(c[A>>2]<<2)>>2]*16384.0)|0;c[t+(c[A>>2]<<2)>>2]=k;c[A>>2]=(c[A>>2]|0)+1}c[x>>2]=yh(+g[(c[m>>2]|0)+852>>2]*1024.0)|0;c[A>>2]=0;while(1){if((c[A>>2]|0)>=((c[(c[l>>2]|0)+4604>>2]|0)*5|0))break;k=(yh(+g[(c[m>>2]|0)+144+(c[A>>2]<<2)>>2]*16384.0)|0)&65535;b[v+(c[A>>2]<<1)>>1]=k;c[A>>2]=(c[A>>2]|0)+1}c[B>>2]=0;while(1){k=(c[B>>2]|0)<2;c[A>>2]=0;if(!k)break;while(1){if((c[A>>2]|0)>=(c[(c[l>>2]|0)+4664>>2]|0))break;k=(yh(+g[(c[m>>2]|0)+16+(c[B>>2]<<6)+(c[A>>2]<<2)>>2]*4096.0)|0)&65535;b[y+(c[B>>2]<<5)+(c[A>>2]<<1)>>1]=k;c[A>>2]=(c[A>>2]|0)+1}c[B>>2]=(c[B>>2]|0)+1}while(1){if((c[A>>2]|0)>=(c[(c[l>>2]|0)+4604>>2]|0))break;B=yh(+g[(c[m>>2]|0)+(c[A>>2]<<2)>>2]*65536.0)|0;c[s+(c[A>>2]<<2)>>2]=B;c[A>>2]=(c[A>>2]|0)+1}if((a[(c[n>>2]|0)+29>>0]|0)==2)c[w>>2]=b[24566+(a[(c[n>>2]|0)+33>>0]<<1)>>1];else c[w>>2]=0;c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[(c[l>>2]|0)+4608>>2]|0))break;B=yh(+g[(c[q>>2]|0)+(c[A>>2]<<2)>>2]*8.0)|0;c[C+(c[A>>2]<<2)>>2]=B;c[A>>2]=(c[A>>2]|0)+1}if((c[(c[l>>2]|0)+4652>>2]|0)<=1?(c[(c[l>>2]|0)+4704>>2]|0)<=0:0){me(c[l>>2]|0,c[o>>2]|0,c[n>>2]|0,C,c[p>>2]|0,y,v,r,t,z,u,s,(c[m>>2]|0)+228|0,c[x>>2]|0,c[w>>2]|0);i=D;return}se(c[l>>2]|0,c[o>>2]|0,c[n>>2]|0,C,c[p>>2]|0,y,v,r,t,z,u,s,(c[m>>2]|0)+228|0,c[x>>2]|0,c[w>>2]|0);i=D;return}function Ch(a,d,e,f,h,j,k,l,m){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+480|0;n=z+436|0;o=z+432|0;p=z+428|0;q=z+424|0;r=z+420|0;s=z+416|0;t=z+412|0;u=z+408|0;v=z+404|0;y=z+400|0;w=z+440|0;x=z;c[n>>2]=a;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[u>>2]=l;c[v>>2]=m;c[y>>2]=0;while(1){if((c[y>>2]|0)>=((c[u>>2]|0)*5|0))break;f=(yh(+g[(c[n>>2]|0)+(c[y>>2]<<2)>>2]*16384.0)|0)&65535;b[w+(c[y>>2]<<1)>>1]=f;c[y>>2]=(c[y>>2]|0)+1}c[y>>2]=0;while(1){if((c[y>>2]|0)>=(((c[u>>2]|0)*5|0)*5|0))break;f=yh(+g[(c[r>>2]|0)+(c[y>>2]<<2)>>2]*262144.0)|0;c[x+(c[y>>2]<<2)>>2]=f;c[y>>2]=(c[y>>2]|0)+1}df(w,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,x,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0);c[y>>2]=0;while(1){if((c[y>>2]|0)>=((c[u>>2]|0)*5|0))break;g[(c[n>>2]|0)+(c[y>>2]<<2)>>2]=+(b[w+(c[y>>2]<<1)>>1]|0)*.00006103515625;c[y>>2]=(c[y>>2]|0)+1}i=z;return}function Dh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0.0;m=i;i=i+32|0;f=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[f>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;if((c[k>>2]|0)>(c[j>>2]|0))c[k>>2]=c[j>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[k>>2]|0))break;n=+Hh(c[h>>2]|0,(c[h>>2]|0)+(c[l>>2]<<2)|0,(c[j>>2]|0)-(c[l>>2]|0)|0);g[(c[f>>2]|0)+(c[l>>2]<<2)>>2]=n;c[l>>2]=(c[l>>2]|0)+1}i=m;return}function Eh(a,b,d,e,f,j){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=i;i=i+784|0;k=K+768|0;l=K+764|0;m=K+760|0;n=K+756|0;o=K+752|0;p=K+748|0;y=K+744|0;z=K+740|0;F=K+736|0;E=K+732|0;s=K+720|0;x=K+712|0;C=K+704|0;B=K+696|0;A=K+688|0;D=K+680|0;r=K+672|0;G=K+664|0;H=K+656|0;I=K+728|0;v=K+528|0;w=K+400|0;u=K+264|0;t=K+128|0;q=K;c[k>>2]=a;c[l>>2]=b;g[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=j;h[s>>3]=+Gh(c[l>>2]|0,_(c[o>>2]|0,c[n>>2]|0)|0);a=v;f=a+128|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(f|0));c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[o>>2]|0))break;c[I>>2]=(c[l>>2]|0)+((_(c[F>>2]|0,c[n>>2]|0)|0)<<2);c[z>>2]=1;while(1){if((c[z>>2]|0)>=((c[p>>2]|0)+1|0))break;d=+Hh(c[I>>2]|0,(c[I>>2]|0)+(c[z>>2]<<2)|0,(c[n>>2]|0)-(c[z>>2]|0)|0);b=v+((c[z>>2]|0)-1<<3)|0;h[b>>3]=+h[b>>3]+d;c[z>>2]=(c[z>>2]|0)+1}c[F>>2]=(c[F>>2]|0)+1}a=w;j=v;f=a+128|0;do{c[a>>2]=c[j>>2];a=a+4|0;j=j+4|0}while((a|0)<(f|0));d=+h[s>>3]+ +h[s>>3]*9.999999747378752e-06+9.999999717180685e-10;h[u>>3]=d;h[t>>3]=d;h[x>>3]=1.0;c[E>>2]=0;c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[p>>2]|0))break;c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[o>>2]|0))break;c[I>>2]=(c[l>>2]|0)+((_(c[F>>2]|0,c[n>>2]|0)|0)<<2);h[G>>3]=+g[(c[I>>2]|0)+(c[z>>2]<<2)>>2];h[H>>3]=+g[(c[I>>2]|0)+((c[n>>2]|0)-(c[z>>2]|0)-1<<2)>>2];c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[z>>2]|0))break;b=v+(c[y>>2]<<3)|0;h[b>>3]=+h[b>>3]-+g[(c[I>>2]|0)+(c[z>>2]<<2)>>2]*+g[(c[I>>2]|0)+((c[z>>2]|0)-(c[y>>2]|0)-1<<2)>>2];b=w+(c[y>>2]<<3)|0;h[b>>3]=+h[b>>3]-+g[(c[I>>2]|0)+((c[n>>2]|0)-(c[z>>2]|0)-1<<2)>>2]*+g[(c[I>>2]|0)+((c[n>>2]|0)-(c[z>>2]|0)+(c[y>>2]|0)<<2)>>2];h[r>>3]=+h[q+(c[y>>2]<<3)>>3];h[G>>3]=+h[G>>3]+ +g[(c[I>>2]|0)+((c[z>>2]|0)-(c[y>>2]|0)-1<<2)>>2]*+h[r>>3];h[H>>3]=+h[H>>3]+ +g[(c[I>>2]|0)+((c[n>>2]|0)-(c[z>>2]|0)+(c[y>>2]|0)<<2)>>2]*+h[r>>3];c[y>>2]=(c[y>>2]|0)+1}c[y>>2]=0;while(1){if((c[y>>2]|0)>(c[z>>2]|0))break;b=u+(c[y>>2]<<3)|0;h[b>>3]=+h[b>>3]-+h[G>>3]*+g[(c[I>>2]|0)+((c[z>>2]|0)-(c[y>>2]|0)<<2)>>2];b=t+(c[y>>2]<<3)|0;h[b>>3]=+h[b>>3]-+h[H>>3]*+g[(c[I>>2]|0)+((c[n>>2]|0)-(c[z>>2]|0)+(c[y>>2]|0)-1<<2)>>2];c[y>>2]=(c[y>>2]|0)+1}c[F>>2]=(c[F>>2]|0)+1}h[G>>3]=+h[v+(c[z>>2]<<3)>>3];h[H>>3]=+h[w+(c[z>>2]<<3)>>3];c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[z>>2]|0))break;h[r>>3]=+h[q+(c[y>>2]<<3)>>3];h[G>>3]=+h[G>>3]+ +h[w+((c[z>>2]|0)-(c[y>>2]|0)-1<<3)>>3]*+h[r>>3];h[H>>3]=+h[H>>3]+ +h[v+((c[z>>2]|0)-(c[y>>2]|0)-1<<3)>>3]*+h[r>>3];c[y>>2]=(c[y>>2]|0)+1}h[u+((c[z>>2]|0)+1<<3)>>3]=+h[G>>3];h[t+((c[z>>2]|0)+1<<3)>>3]=+h[H>>3];h[C>>3]=+h[t+((c[z>>2]|0)+1<<3)>>3];h[A>>3]=+h[t>>3];h[B>>3]=+h[u>>3];c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[z>>2]|0))break;h[r>>3]=+h[q+(c[y>>2]<<3)>>3];h[C>>3]=+h[C>>3]+ +h[t+((c[z>>2]|0)-(c[y>>2]|0)<<3)>>3]*+h[r>>3];h[A>>3]=+h[A>>3]+ +h[t+((c[y>>2]|0)+1<<3)>>3]*+h[r>>3];h[B>>3]=+h[B>>3]+ +h[u+((c[y>>2]|0)+1<<3)>>3]*+h[r>>3];c[y>>2]=(c[y>>2]|0)+1}h[D>>3]=+h[C>>3]*-2.0/(+h[B>>3]+ +h[A>>3]);h[G>>3]=+h[x>>3]*(1.0-+h[D>>3]*+h[D>>3]);if(+h[G>>3]<=+g[m>>2]){h[D>>3]=+O(+(1.0-+g[m>>2]/+h[x>>3]));if(+h[C>>3]>0.0)h[D>>3]=-+h[D>>3];h[x>>3]=+g[m>>2];c[E>>2]=1}else h[x>>3]=+h[G>>3];c[y>>2]=0;while(1){if((c[y>>2]|0)>=((c[z>>2]|0)+1>>1|0))break;h[G>>3]=+h[q+(c[y>>2]<<3)>>3];h[H>>3]=+h[q+((c[z>>2]|0)-(c[y>>2]|0)-1<<3)>>3];h[q+(c[y>>2]<<3)>>3]=+h[G>>3]+ +h[D>>3]*+h[H>>3];h[q+((c[z>>2]|0)-(c[y>>2]|0)-1<<3)>>3]=+h[H>>3]+ +h[D>>3]*+h[G>>3];c[y>>2]=(c[y>>2]|0)+1}h[q+(c[z>>2]<<3)>>3]=+h[D>>3];if(c[E>>2]|0){J=33;break}c[y>>2]=0;while(1){if((c[y>>2]|0)>((c[z>>2]|0)+1|0))break;h[G>>3]=+h[u+(c[y>>2]<<3)>>3];b=u+(c[y>>2]<<3)|0;h[b>>3]=+h[b>>3]+ +h[D>>3]*+h[t+((c[z>>2]|0)-(c[y>>2]|0)+1<<3)>>3];b=t+((c[z>>2]|0)-(c[y>>2]|0)+1<<3)|0;h[b>>3]=+h[b>>3]+ +h[D>>3]*+h[G>>3];c[y>>2]=(c[y>>2]|0)+1}c[z>>2]=(c[z>>2]|0)+1}a:do if((J|0)==33){c[y>>2]=(c[z>>2]|0)+1;while(1){if((c[y>>2]|0)>=(c[p>>2]|0))break a;h[q+(c[y>>2]<<3)>>3]=0.0;c[y>>2]=(c[y>>2]|0)+1}}while(0);if(!(c[E>>2]|0)){h[B>>3]=+h[u>>3];h[G>>3]=1.0;c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[p>>2]|0))break;h[r>>3]=+h[q+(c[y>>2]<<3)>>3];h[B>>3]=+h[B>>3]+ +h[u+((c[y>>2]|0)+1<<3)>>3]*+h[r>>3];h[G>>3]=+h[G>>3]+ +h[r>>3]*+h[r>>3];g[(c[k>>2]|0)+(c[y>>2]<<2)>>2]=-+h[r>>3];c[y>>2]=(c[y>>2]|0)+1}h[B>>3]=+h[B>>3]-+h[s>>3]*9.999999747378752e-06*+h[G>>3];d=+h[B>>3];i=K;return +d}c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[p>>2]|0))break;g[(c[k>>2]|0)+(c[y>>2]<<2)>>2]=-+h[q+(c[y>>2]<<3)>>3];c[y>>2]=(c[y>>2]|0)+1}c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[o>>2]|0))break;J=(c[l>>2]|0)+((_(c[F>>2]|0,c[n>>2]|0)|0)<<2)|0;d=+Gh(J,c[p>>2]|0);h[s>>3]=+h[s>>3]-d;c[F>>2]=(c[F>>2]|0)+1}h[B>>3]=+h[s>>3]*+h[x>>3];d=+h[B>>3];i=K;return +d}function Fh(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+16|0;f=l+12|0;h=l+8|0;k=l+4|0;j=l;c[e>>2]=a;c[f>>2]=b;g[h>>2]=d;g[j>>2]=+g[h>>2];c[k>>2]=0;while(1){d=+g[j>>2];if((c[k>>2]|0)>=((c[f>>2]|0)-1|0))break;b=(c[e>>2]|0)+(c[k>>2]<<2)|0;g[b>>2]=+g[b>>2]*d;g[j>>2]=+g[j>>2]*+g[h>>2];c[k>>2]=(c[k>>2]|0)+1}k=(c[e>>2]|0)+((c[f>>2]|0)-1<<2)|0;g[k>>2]=+g[k>>2]*d;i=l;return}function Gh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+20|0;e=l+16|0;j=l+12|0;f=l+8|0;k=l;c[d>>2]=a;c[e>>2]=b;h[k>>3]=0.0;c[f>>2]=c[e>>2]&65532;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[f>>2]|0))break;h[k>>3]=+h[k>>3]+(+g[(c[d>>2]|0)+((c[j>>2]|0)+0<<2)>>2]*+g[(c[d>>2]|0)+((c[j>>2]|0)+0<<2)>>2]+ +g[(c[d>>2]|0)+((c[j>>2]|0)+1<<2)>>2]*+g[(c[d>>2]|0)+((c[j>>2]|0)+1<<2)>>2]+ +g[(c[d>>2]|0)+((c[j>>2]|0)+2<<2)>>2]*+g[(c[d>>2]|0)+((c[j>>2]|0)+2<<2)>>2]+ +g[(c[d>>2]|0)+((c[j>>2]|0)+3<<2)>>2]*+g[(c[d>>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[e>>2]|0))break;h[k>>3]=+h[k>>3]+ +g[(c[d>>2]|0)+(c[j>>2]<<2)>>2]*+g[(c[d>>2]|0)+(c[j>>2]<<2)>>2];c[j>>2]=(c[j>>2]|0)+1}i=l;return +(+h[k>>3])}function Hh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;e=n+24|0;f=n+20|0;j=n+16|0;l=n+12|0;k=n+8|0;m=n;c[e>>2]=a;c[f>>2]=b;c[j>>2]=d;h[m>>3]=0.0;c[k>>2]=c[j>>2]&65532;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[k>>2]|0))break;h[m>>3]=+h[m>>3]+(+g[(c[e>>2]|0)+((c[l>>2]|0)+0<<2)>>2]*+g[(c[f>>2]|0)+((c[l>>2]|0)+0<<2)>>2]+ +g[(c[e>>2]|0)+((c[l>>2]|0)+1<<2)>>2]*+g[(c[f>>2]|0)+((c[l>>2]|0)+1<<2)>>2]+ +g[(c[e>>2]|0)+((c[l>>2]|0)+2<<2)>>2]*+g[(c[f>>2]|0)+((c[l>>2]|0)+2<<2)>>2]+ +g[(c[e>>2]|0)+((c[l>>2]|0)+3<<2)>>2]*+g[(c[f>>2]|0)+((c[l>>2]|0)+3<<2)>>2]);c[l>>2]=(c[l>>2]|0)+4}while(1){if((c[l>>2]|0)>=(c[j>>2]|0))break;h[m>>3]=+h[m>>3]+ +g[(c[e>>2]|0)+(c[l>>2]<<2)>>2]*+g[(c[f>>2]|0)+(c[l>>2]<<2)>>2];c[l>>2]=(c[l>>2]|0)+1}i=n;return +(+h[m>>3])}function Ih(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+96|0;e=m+80|0;f=m+76|0;h=m+72|0;k=m+68|0;l=m+64|0;j=m;c[e>>2]=a;c[f>>2]=b;c[h>>2]=d;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[h>>2]|0))break;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[k>>2]|0))break;g[j+(c[l>>2]<<2)>>2]=+g[(c[e>>2]|0)+(c[l>>2]<<2)>>2];c[l>>2]=(c[l>>2]|0)+1}c[l>>2]=0;while(1){a=c[k>>2]|0;if((c[l>>2]|0)>=(c[k>>2]|0))break;b=(c[e>>2]|0)+(c[l>>2]<<2)|0;g[b>>2]=+g[b>>2]+ +g[j+(a-(c[l>>2]|0)-1<<2)>>2]*+g[(c[f>>2]|0)+(c[k>>2]<<2)>>2];c[l>>2]=(c[l>>2]|0)+1}g[(c[e>>2]|0)+(c[k>>2]<<2)>>2]=-+g[(c[f>>2]|0)+(a<<2)>>2];c[k>>2]=(c[k>>2]|0)+1}i=m;return}function Jh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;e=s+44|0;f=s+40|0;h=s+36|0;l=s+32|0;o=s+28|0;n=s+24|0;p=s+20|0;q=s+16|0;r=s+12|0;m=s+8|0;j=s+4|0;k=s;c[e>>2]=a;c[f>>2]=b;c[h>>2]=d;g[p>>2]=+g[c[f>>2]>>2]*9.999999960041972e-13+9.999999717180685e-10;g[q>>2]=+g[c[f>>2]>>2];g[q>>2]=+g[p>>2]>+g[q>>2]?+g[p>>2]:+g[q>>2];g[c[e>>2]>>2]=+g[(c[f>>2]|0)+4>>2]/+g[q>>2];g[q>>2]=+g[q>>2]-+g[c[e>>2]>>2]*+g[(c[f>>2]|0)+4>>2];g[q>>2]=+g[p>>2]>+g[q>>2]?+g[p>>2]:+g[q>>2];c[n>>2]=1;while(1){if((c[n>>2]|0)>=(c[h>>2]|0))break;g[r>>2]=+g[(c[f>>2]|0)+((c[n>>2]|0)+1<<2)>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[n>>2]|0))break;g[r>>2]=+g[r>>2]-+g[(c[e>>2]|0)+(c[l>>2]<<2)>>2]*+g[(c[f>>2]|0)+((c[n>>2]|0)-(c[l>>2]|0)<<2)>>2];c[l>>2]=(c[l>>2]|0)+1}g[m>>2]=+g[r>>2]/+g[q>>2];g[q>>2]=+g[q>>2]-+g[m>>2]*+g[r>>2];g[q>>2]=+g[p>>2]>+g[q>>2]?+g[p>>2]:+g[q>>2];c[o>>2]=c[n>>2]>>1;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[o>>2]|0))break;g[j>>2]=+g[(c[e>>2]|0)+(c[l>>2]<<2)>>2];g[k>>2]=+g[(c[e>>2]|0)+((c[n>>2]|0)-(c[l>>2]|0)-1<<2)>>2];d=(c[e>>2]|0)+((c[n>>2]|0)-(c[l>>2]|0)-1<<2)|0;g[d>>2]=+g[d>>2]-+g[m>>2]*+g[j>>2];d=(c[e>>2]|0)+(c[l>>2]<<2)|0;g[d>>2]=+g[d>>2]-+g[m>>2]*+g[k>>2];c[l>>2]=(c[l>>2]|0)+1}if(c[n>>2]&1|0){d=(c[e>>2]|0)+(c[o>>2]<<2)|0;g[d>>2]=+g[d>>2]-+g[m>>2]*+g[(c[e>>2]|0)+(c[o>>2]<<2)>>2]}g[(c[e>>2]|0)+(c[n>>2]<<2)>>2]=+g[m>>2];c[n>>2]=(c[n>>2]|0)+1}i=s;return +(+g[q>>2])}function Kh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0;r=i;i=i+192|0;d=r+184|0;t=r+180|0;s=r+176|0;l=r+172|0;m=r+168|0;k=r+24|0;n=r+16|0;o=r+8|0;p=r;j=r+40|0;f=r+36|0;e=r+32|0;c[t>>2]=a;c[s>>2]=b;c[e>>2]=j+((c[s>>2]&1)<<6);pj(c[e>>2]|0,c[t>>2]|0,c[s>>2]<<2|0)|0;h[k>>3]=1.0;c[l>>2]=(c[s>>2]|0)-1;while(1){if((c[l>>2]|0)<=0)break;h[n>>3]=-+g[(c[e>>2]|0)+(c[l>>2]<<2)>>2];if(+h[n>>3]>.9998999834060669|+h[n>>3]<-.9998999834060669){q=4;break}h[o>>3]=1.0-+h[n>>3]*+h[n>>3];h[p>>3]=1.0/+h[o>>3];h[k>>3]=+h[k>>3]*+h[o>>3];c[f>>2]=c[e>>2];c[e>>2]=j+((c[l>>2]&1)<<6);c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[l>>2]|0))break;g[(c[e>>2]|0)+(c[m>>2]<<2)>>2]=(+g[(c[f>>2]|0)+(c[m>>2]<<2)>>2]-+g[(c[f>>2]|0)+((c[l>>2]|0)-(c[m>>2]|0)-1<<2)>>2]*+h[n>>3])*+h[p>>3];c[m>>2]=(c[m>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+-1}if((q|0)==4){g[d>>2]=0.0;u=+g[d>>2];i=r;return +u}h[n>>3]=-+g[c[e>>2]>>2];if(+h[n>>3]>.9998999834060669|+h[n>>3]<-.9998999834060669){g[d>>2]=0.0;u=+g[d>>2];i=r;return +u}else{h[o>>3]=1.0-+h[n>>3]*+h[n>>3];h[k>>3]=+h[k>>3]*+h[o>>3];g[d>>2]=+h[k>>3];u=+g[d>>2];i=r;return +u}return 0.0}function Lh(d,e,f,j,k,l,m,n,o,p,q,r){d=d|0;e=e|0;f=f|0;j=j|0;k=k|0;l=l|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,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0;La=i;i=i+13936|0;Ca=La+10416|0;da=La+10412|0;Ea=La+10408|0;Fa=La+10404|0;Ga=La+10400|0;H=La+10396|0;I=La+10392|0;s=La+10388|0;J=La+10384|0;ya=La+10380|0;ea=La+10376|0;Da=La+10372|0;fa=La+10368|0;U=La+10364|0;Ka=La+10360|0;la=La+10356|0;qa=La+10352|0;T=La+9072|0;y=La+8432|0;z=La+13288|0;x=La+12968|0;u=La+8408|0;ba=La+8404|0;ia=La+8400|0;K=La+6016|0;G=La+5756|0;M=La+5712|0;xa=La+5708|0;P=La+5704|0;ja=La+24|0;E=La+16|0;oa=La+8|0;pa=La;R=La+5608|0;Q=La+12664|0;X=La+5600|0;W=La+5596|0;t=La+5592|0;ga=La+5588|0;N=La+5584|0;O=La+5580|0;ha=La+5576|0;Ha=La+5572|0;L=La+5568|0;za=La+5564|0;wa=La+5560|0;ma=La+5556|0;Aa=La+5552|0;Ja=La+5548|0;V=La+5544|0;$=La+5540|0;S=La+5536|0;na=La+2816|0;ka=La+96|0;ra=La+88|0;A=La+84|0;C=La+80|0;B=La+76|0;va=La+72|0;aa=La+68|0;F=La+64|0;Ba=La+60|0;ta=La+56|0;Z=La+52|0;sa=La+48|0;Y=La+44|0;D=La+40|0;ua=La+36|0;Ia=La+32|0;w=La+11384|0;v=La+10424|0;c[da>>2]=d;c[Ea>>2]=e;c[Fa>>2]=f;c[Ga>>2]=j;c[H>>2]=k;c[I>>2]=l;g[s>>2]=m;g[J>>2]=n;c[ya>>2]=o;c[ea>>2]=p;c[Da>>2]=q;c[fa>>2]=r;c[A>>2]=_(20+((c[Da>>2]|0)*5|0)|0,c[ya>>2]|0)|0;c[B>>2]=20+((c[Da>>2]|0)*5|0)<<2;c[C>>2]=20+((c[Da>>2]|0)*5|0)<<3;c[va>>2]=(c[ya>>2]|0)*5;c[F>>2]=20;c[aa>>2]=40;c[Ba>>2]=c[ya>>2]<<1;c[Z>>2]=8;c[ta>>2]=16;c[sa>>2]=((c[ya>>2]|0)*18|0)-1;c[D>>2]=72;c[Y>>2]=143;do if((c[ya>>2]|0)!=16)if((c[ya>>2]|0)==12){Mh(v,c[da>>2]|0,c[A>>2]|0);c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;kg(u,z,v,c[A>>2]|0);Nh(T,z,c[C>>2]|0);break}else{Mh(z,c[da>>2]|0,c[C>>2]|0);break}else{Mh(w,c[da>>2]|0,c[A>>2]|0);c[u>>2]=0;c[u+4>>2]=0;lg(u,z,w,c[A>>2]|0);Nh(T,z,c[C>>2]|0)}while(0);c[u>>2]=0;c[u+4>>2]=0;lg(u,x,z,c[C>>2]|0);Nh(y,x,c[B>>2]|0);c[U>>2]=(c[B>>2]|0)-1;while(1){if((c[U>>2]|0)<=0)break;l=y+(c[U>>2]<<2)|0;g[l>>2]=+g[l>>2]+ +g[y+((c[U>>2]|0)-1<<2)>>2];c[U>>2]=(c[U>>2]|0)+-1}oj(K|0,0,(c[Da>>2]<<2)*149|0)|0;c[xa>>2]=y+(c[F>>2]<<2<<2);c[Ka>>2]=0;while(1){if((c[Ka>>2]|0)>=(c[Da>>2]>>1|0))break;c[P>>2]=(c[xa>>2]|0)+(0-(c[Z>>2]|0)<<2);Mc(c[xa>>2]|0,(c[xa>>2]|0)+(0-(c[D>>2]|0)<<2)|0,G,c[aa>>2]|0,(c[D>>2]|0)-(c[Z>>2]|0)+1|0,c[fa>>2]|0);h[ja>>3]=+g[G+((c[D>>2]|0)-(c[Z>>2]|0)<<2)>>2];n=+Gh(c[xa>>2]|0,c[aa>>2]|0);n=n+ +Gh(c[P>>2]|0,c[aa>>2]|0);h[E>>3]=n+ +(c[aa>>2]|0)*4.0e3;F=K+(c[Z>>2]<<2)|0;g[F>>2]=+g[F>>2]+ +h[ja>>3]*2.0/+h[E>>3];c[la>>2]=(c[Z>>2]|0)+1;while(1){if((c[la>>2]|0)>(c[D>>2]|0))break;c[P>>2]=(c[P>>2]|0)+-4;h[ja>>3]=+g[G+((c[D>>2]|0)-(c[la>>2]|0)<<2)>>2];h[E>>3]=+h[E>>3]+(+g[c[P>>2]>>2]*+g[c[P>>2]>>2]-+g[(c[P>>2]|0)+(c[aa>>2]<<2)>>2]*+g[(c[P>>2]|0)+(c[aa>>2]<<2)>>2]);F=K+(c[la>>2]<<2)|0;g[F>>2]=+g[F>>2]+ +h[ja>>3]*2.0/+h[E>>3];c[la>>2]=(c[la>>2]|0)+1}c[xa>>2]=(c[xa>>2]|0)+(c[aa>>2]<<2);c[Ka>>2]=(c[Ka>>2]|0)+1}c[U>>2]=c[D>>2];while(1){if((c[U>>2]|0)<(c[Z>>2]|0))break;G=K+(c[U>>2]<<2)|0;g[G>>2]=+g[G>>2]-+g[K+(c[U>>2]<<2)>>2]*+(c[U>>2]|0)/4096.0;c[U>>2]=(c[U>>2]|0)+-1}c[X>>2]=4+(c[ea>>2]<<1);Wh(K+(c[Z>>2]<<2)|0,R,(c[D>>2]|0)-(c[Z>>2]|0)+1|0,c[X>>2]|0);g[t>>2]=+g[K+(c[Z>>2]<<2)>>2];if(+g[t>>2]<.20000000298023224){oj(c[Ea>>2]|0,0,c[Da>>2]<<2|0)|0;g[c[H>>2]>>2]=0.0;b[c[Fa>>2]>>1]=0;a[c[Ga>>2]>>0]=0;c[Ca>>2]=1;Ka=c[Ca>>2]|0;i=La;return Ka|0}g[ba>>2]=+g[s>>2]*+g[t>>2];c[U>>2]=0;while(1){if((c[U>>2]|0)>=(c[X>>2]|0))break;s=c[U>>2]|0;if(!(+g[K+((c[Z>>2]|0)+(c[U>>2]|0)<<2)>>2]>+g[ba>>2])){ca=24;break}c[R+(c[U>>2]<<2)>>2]=(c[R+(s<<2)>>2]|0)+(c[Z>>2]|0)<<1;c[U>>2]=(c[U>>2]|0)+1}if((ca|0)==24)c[X>>2]=s;c[U>>2]=(c[ta>>2]|0)-5;while(1){if((c[U>>2]|0)>=((c[Y>>2]|0)+5|0))break;b[Q+(c[U>>2]<<1)>>1]=0;c[U>>2]=(c[U>>2]|0)+1}c[U>>2]=0;while(1){if((c[U>>2]|0)>=(c[X>>2]|0))break;b[Q+(c[R+(c[U>>2]<<2)>>2]<<1)>>1]=1;c[U>>2]=(c[U>>2]|0)+1}c[U>>2]=(c[Y>>2]|0)+3;while(1){if((c[U>>2]|0)<(c[ta>>2]|0))break;ca=Q+(c[U>>2]<<1)|0;b[ca>>1]=(b[ca>>1]|0)+((b[Q+((c[U>>2]|0)-1<<1)>>1]|0)+(b[Q+((c[U>>2]|0)-2<<1)>>1]|0));c[U>>2]=(c[U>>2]|0)+-1}c[X>>2]=0;c[U>>2]=c[ta>>2];while(1){if((c[U>>2]|0)>=((c[Y>>2]|0)+1|0))break;if((b[Q+((c[U>>2]|0)+1<<1)>>1]|0)>0){c[R+(c[X>>2]<<2)>>2]=c[U>>2];c[X>>2]=(c[X>>2]|0)+1}c[U>>2]=(c[U>>2]|0)+1}c[U>>2]=(c[Y>>2]|0)+3;while(1){if((c[U>>2]|0)<(c[ta>>2]|0))break;ca=Q+(c[U>>2]<<1)|0;b[ca>>1]=(b[ca>>1]|0)+((b[Q+((c[U>>2]|0)-1<<1)>>1]|0)+(b[Q+((c[U>>2]|0)-2<<1)>>1]|0)+(b[Q+((c[U>>2]|0)-3<<1)>>1]|0));c[U>>2]=(c[U>>2]|0)+-1}c[W>>2]=0;c[U>>2]=c[ta>>2];while(1){if((c[U>>2]|0)>=((c[Y>>2]|0)+4|0))break;if((b[Q+(c[U>>2]<<1)>>1]|0)>0){b[Q+(c[W>>2]<<1)>>1]=(c[U>>2]|0)-2;c[W>>2]=(c[W>>2]|0)+1}c[U>>2]=(c[U>>2]|0)+1}oj(K|0,0,2384)|0;if((c[ya>>2]|0)==8)c[xa>>2]=(c[da>>2]|0)+640;else c[xa>>2]=T+640;c[Ka>>2]=0;while(1){if((c[Ka>>2]|0)>=(c[Da>>2]|0))break;h[pa>>3]=+Gh(c[xa>>2]|0,c[aa>>2]|0)+1.0;c[qa>>2]=0;while(1){if((c[qa>>2]|0)>=(c[W>>2]|0))break;c[la>>2]=b[Q+(c[qa>>2]<<1)>>1];c[P>>2]=(c[xa>>2]|0)+(0-(c[la>>2]|0)<<2);h[ja>>3]=+Hh(c[P>>2]|0,c[xa>>2]|0,c[aa>>2]|0);if(+h[ja>>3]>0.0){h[oa>>3]=+Gh(c[P>>2]|0,c[aa>>2]|0);g[K+((c[Ka>>2]|0)*596|0)+(c[la>>2]<<2)>>2]=+h[ja>>3]*2.0/(+h[oa>>3]+ +h[pa>>3])}else g[K+((c[Ka>>2]|0)*596|0)+(c[la>>2]<<2)>>2]=0.0;c[qa>>2]=(c[qa>>2]|0)+1}c[xa>>2]=(c[xa>>2]|0)+(c[aa>>2]<<2);c[Ka>>2]=(c[Ka>>2]|0)+1}g[ga>>2]=0.0;g[N>>2]=-1.0e3;c[Ha>>2]=0;c[za>>2]=-1;if((c[I>>2]|0)>0){if((c[ya>>2]|0)!=12){if((c[ya>>2]|0)==16)c[I>>2]=c[I>>2]>>1}else c[I>>2]=(c[I>>2]<<1|0)/3|0;g[$>>2]=+Oh(+(c[I>>2]|0))}else g[$>>2]=0.0;do if((c[Da>>2]|0)==4){c[Ja>>2]=11;c[Ia>>2]=30286;if((c[ya>>2]|0)==8&(c[ea>>2]|0)>0){c[ua>>2]=11;break}else{c[ua>>2]=3;break}}else{c[Ja>>2]=3;c[Ia>>2]=30252;c[ua>>2]=3}while(0);c[Ka>>2]=0;while(1){if((c[Ka>>2]|0)>=(c[X>>2]|0))break;c[la>>2]=c[R+(c[Ka>>2]<<2)>>2];c[qa>>2]=0;while(1){if((c[qa>>2]|0)>=(c[ua>>2]|0))break;g[M+(c[qa>>2]<<2)>>2]=0.0;c[U>>2]=0;while(1){if((c[U>>2]|0)>=(c[Da>>2]|0))break;ba=_(c[U>>2]|0,c[Ja>>2]|0)|0;ca=M+(c[qa>>2]<<2)|0;g[ca>>2]=+g[ca>>2]+ +g[K+((c[U>>2]|0)*596|0)+((c[la>>2]|0)+(a[(c[Ia>>2]|0)+(ba+(c[qa>>2]|0))>>0]|0)<<2)>>2];c[U>>2]=(c[U>>2]|0)+1}c[qa>>2]=(c[qa>>2]|0)+1}g[ha>>2]=-1.0e3;c[L>>2]=0;c[U>>2]=0;while(1){if((c[U>>2]|0)>=(c[ua>>2]|0))break;if(+g[M+(c[U>>2]<<2)>>2]>+g[ha>>2]){g[ha>>2]=+g[M+(c[U>>2]<<2)>>2];c[L>>2]=c[U>>2]}c[U>>2]=(c[U>>2]|0)+1}g[V>>2]=+Oh(+(c[la>>2]|0));g[O>>2]=+g[ha>>2]-+(c[Da>>2]|0)*.20000000298023224*+g[V>>2];if((c[I>>2]|0)>0){g[S>>2]=+g[V>>2]-+g[$>>2];g[S>>2]=+g[S>>2]*+g[S>>2];g[O>>2]=+g[O>>2]-+(c[Da>>2]|0)*.20000000298023224*+g[c[H>>2]>>2]*+g[S>>2]/(+g[S>>2]+.5)}if(+g[O>>2]>+g[N>>2]?+g[ha>>2]>+(c[Da>>2]|0)*+g[J>>2]:0){g[N>>2]=+g[O>>2];g[ga>>2]=+g[ha>>2];c[za>>2]=c[la>>2];c[Ha>>2]=c[L>>2]}c[Ka>>2]=(c[Ka>>2]|0)+1}if((c[za>>2]|0)==-1){Ka=c[Ea>>2]|0;c[Ka>>2]=0;c[Ka+4>>2]=0;c[Ka+8>>2]=0;c[Ka+12>>2]=0;g[c[H>>2]>>2]=0.0;b[c[Fa>>2]>>1]=0;a[c[Ga>>2]>>0]=0;c[Ca>>2]=1;Ka=c[Ca>>2]|0;i=La;return Ka|0}g[c[H>>2]>>2]=+g[ga>>2]/+(c[Da>>2]|0);if((c[ya>>2]|0)>8){s=c[za>>2]|0;if((c[ya>>2]|0)==12)c[za>>2]=(((s&65535)<<16>>16)*3>>1)+(((c[za>>2]&65535)<<16>>16)*3&1);else c[za>>2]=s<<1;s=c[za>>2]|0;do if((c[Ba>>2]|0)>(c[sa>>2]|0))if((s|0)>(c[Ba>>2]|0)){s=c[Ba>>2]|0;break}else{s=(c[za>>2]|0)<(c[sa>>2]|0)?c[sa>>2]|0:c[za>>2]|0;break}else if((s|0)>(c[sa>>2]|0)){s=c[sa>>2]|0;break}else{s=(c[za>>2]|0)<(c[Ba>>2]|0)?c[Ba>>2]|0:c[za>>2]|0;break}while(0);c[za>>2]=s;c[wa>>2]=Ph((c[za>>2]|0)-2|0,c[Ba>>2]|0)|0;c[ma>>2]=Qh((c[za>>2]|0)+2|0,c[sa>>2]|0)|0;c[Aa>>2]=c[za>>2];c[Ha>>2]=0;g[ga>>2]=-1.0e3;Rh(ka,c[da>>2]|0,c[wa>>2]|0,c[va>>2]|0,c[Da>>2]|0,c[ea>>2]|0,c[fa>>2]|0);Sh(na,c[da>>2]|0,c[wa>>2]|0,c[va>>2]|0,c[Da>>2]|0,c[ea>>2]|0);c[ra>>2]=0;g[ia>>2]=.05000000074505806/+(c[za>>2]|0);if((c[Da>>2]|0)==4){c[ua>>2]=a[30490+(c[ea>>2]|0)>>0];c[Ja>>2]=34;c[Ia>>2]=30330}else{c[ua>>2]=12;c[Ja>>2]=12;c[Ia>>2]=30258}c[xa>>2]=(c[da>>2]|0)+((c[ya>>2]|0)*20<<2);h[pa>>3]=+Gh(c[xa>>2]|0,_(c[Da>>2]|0,c[va>>2]|0)|0)+1.0;c[la>>2]=c[wa>>2];while(1){if((c[la>>2]|0)>(c[ma>>2]|0))break;c[qa>>2]=0;while(1){if((c[qa>>2]|0)>=(c[ua>>2]|0))break;h[ja>>3]=0.0;h[oa>>3]=+h[pa>>3];c[Ka>>2]=0;while(1){if((c[Ka>>2]|0)>=(c[Da>>2]|0))break;h[ja>>3]=+h[ja>>3]+ +g[ka+((c[Ka>>2]|0)*680|0)+((c[qa>>2]|0)*20|0)+(c[ra>>2]<<2)>>2];h[oa>>3]=+h[oa>>3]+ +g[na+((c[Ka>>2]|0)*680|0)+((c[qa>>2]|0)*20|0)+(c[ra>>2]<<2)>>2];c[Ka>>2]=(c[Ka>>2]|0)+1}if(+h[ja>>3]>0.0){g[ha>>2]=+h[ja>>3]*2.0/+h[oa>>3];g[ha>>2]=+g[ha>>2]*(1.0-+g[ia>>2]*+(c[qa>>2]|0))}else g[ha>>2]=0.0;if(+g[ha>>2]>+g[ga>>2]?((c[la>>2]|0)+(a[30330+(c[qa>>2]|0)>>0]|0)|0)<=(c[sa>>2]|0):0){g[ga>>2]=+g[ha>>2];c[Aa>>2]=c[la>>2];c[Ha>>2]=c[qa>>2]}c[qa>>2]=(c[qa>>2]|0)+1}c[ra>>2]=(c[ra>>2]|0)+1;c[la>>2]=(c[la>>2]|0)+1}c[Ka>>2]=0;while(1){s=c[Aa>>2]|0;if((c[Ka>>2]|0)>=(c[Da>>2]|0))break;za=_(c[Ka>>2]|0,c[Ja>>2]|0)|0;c[(c[Ea>>2]|0)+(c[Ka>>2]<<2)>>2]=s+(a[(c[Ia>>2]|0)+(za+(c[Ha>>2]|0))>>0]|0);s=c[(c[Ea>>2]|0)+(c[Ka>>2]<<2)>>2]|0;do if((c[Ba>>2]|0)>((c[ya>>2]|0)*18|0)){if((s|0)>(c[Ba>>2]|0)){s=c[Ba>>2]|0;break}if((c[(c[Ea>>2]|0)+(c[Ka>>2]<<2)>>2]|0)<((c[ya>>2]|0)*18|0)){s=(c[ya>>2]|0)*18|0;break}else{s=c[(c[Ea>>2]|0)+(c[Ka>>2]<<2)>>2]|0;break}}else{if((s|0)>((c[ya>>2]|0)*18|0)){s=(c[ya>>2]|0)*18|0;break}if((c[(c[Ea>>2]|0)+(c[Ka>>2]<<2)>>2]|0)<(c[Ba>>2]|0)){s=c[Ba>>2]|0;break}else{s=c[(c[Ea>>2]|0)+(c[Ka>>2]<<2)>>2]|0;break}}while(0);c[(c[Ea>>2]|0)+(c[Ka>>2]<<2)>>2]=s;c[Ka>>2]=(c[Ka>>2]|0)+1}b[c[Fa>>2]>>1]=s-(c[Ba>>2]|0);a[c[Ga>>2]>>0]=c[Ha>>2]}else{c[Ka>>2]=0;while(1){s=c[za>>2]|0;if((c[Ka>>2]|0)>=(c[Da>>2]|0))break;Ba=_(c[Ka>>2]|0,c[Ja>>2]|0)|0;c[(c[Ea>>2]|0)+(c[Ka>>2]<<2)>>2]=s+(a[(c[Ia>>2]|0)+(Ba+(c[Ha>>2]|0))>>0]|0);s=c[(c[Ea>>2]|0)+(c[Ka>>2]<<2)>>2]|0;do if((c[ta>>2]|0)>144){if((s|0)>(c[ta>>2]|0)){s=c[ta>>2]|0;break}if((c[(c[Ea>>2]|0)+(c[Ka>>2]<<2)>>2]|0)<144)s=144;else s=c[(c[Ea>>2]|0)+(c[Ka>>2]<<2)>>2]|0}else if((s|0)<=144)if((c[(c[Ea>>2]|0)+(c[Ka>>2]<<2)>>2]|0)<(c[ta>>2]|0)){s=c[ta>>2]|0;break}else{s=c[(c[Ea>>2]|0)+(c[Ka>>2]<<2)>>2]|0;break}else s=144;while(0);c[(c[Ea>>2]|0)+(c[Ka>>2]<<2)>>2]=s;c[Ka>>2]=(c[Ka>>2]|0)+1}b[c[Fa>>2]>>1]=s-(c[ta>>2]|0);a[c[Ga>>2]>>0]=c[Ha>>2]}c[Ca>>2]=0;Ka=c[Ca>>2]|0;i=La;return Ka|0}function Mh(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0;k=i;i=i+16|0;f=k+12|0;h=k+8|0;l=k+4|0;j=k;c[f>>2]=a;c[h>>2]=d;c[l>>2]=e;c[j>>2]=(c[l>>2]|0)-1;while(1){if((c[j>>2]|0)<0)break;if((ij(+g[(c[h>>2]|0)+(c[j>>2]<<2)>>2])|0)<=32767)if((ij(+g[(c[h>>2]|0)+(c[j>>2]<<2)>>2])|0)<-32768)d=-32768;else d=ij(+g[(c[h>>2]|0)+(c[j>>2]<<2)>>2])|0;else d=32767;b[(c[f>>2]|0)+(c[j>>2]<<1)>>1]=d;c[j>>2]=(c[j>>2]|0)+-1}i=k;return}function Nh(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0;k=i;i=i+16|0;f=k+12|0;h=k+8|0;l=k+4|0;j=k;c[f>>2]=a;c[h>>2]=d;c[l>>2]=e;c[j>>2]=(c[l>>2]|0)-1;while(1){if((c[j>>2]|0)<0)break;g[(c[f>>2]|0)+(c[j>>2]<<2)>>2]=+(b[(c[h>>2]|0)+(c[j>>2]<<1)>>1]|0);c[j>>2]=(c[j>>2]|0)+-1}i=k;return}function Oh(a){a=+a;var b=0,c=0;b=i;i=i+16|0;c=b;h[c>>3]=a;a=+hj(+h[c>>3])*3.32192809488736;i=b;return +a}function Ph(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;i=f;return ((c[e>>2]|0)>(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function Qh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;i=f;return ((c[e>>2]|0)<(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function Rh(b,d,e,f,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=i;i=i+256|0;l=H+252|0;m=H+248|0;n=H+244|0;o=H+240|0;p=H+236|0;q=H+232|0;r=H+228|0;F=H+224|0;w=H+220|0;y=H+216|0;z=H+212|0;A=H+208|0;C=H+204|0;B=H+200|0;D=H+196|0;v=H+192|0;x=H+188|0;u=H+184|0;E=H+96|0;G=H+8|0;t=H+4|0;s=H;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=h;c[q>>2]=j;c[r>>2]=k;if((c[p>>2]|0)==4){c[t>>2]=30466+(c[q>>2]<<3);c[s>>2]=30330;c[D>>2]=a[30490+(c[q>>2]|0)>>0];c[u>>2]=34}else{c[t>>2]=30282;c[s>>2]=30258;c[D>>2]=12;c[u>>2]=12}c[F>>2]=(c[m>>2]|0)+(c[o>>2]<<2<<2);c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[p>>2]|0))break;c[A>>2]=0;c[C>>2]=a[(c[t>>2]|0)+((c[z>>2]<<1)+0)>>0];c[B>>2]=a[(c[t>>2]|0)+((c[z>>2]<<1)+1)>>0];Mc(c[F>>2]|0,(c[F>>2]|0)+(0-(c[n>>2]|0)<<2)+(0-(c[B>>2]|0)<<2)|0,G,c[o>>2]|0,(c[B>>2]|0)-(c[C>>2]|0)+1|0,c[r>>2]|0);c[y>>2]=c[C>>2];while(1){if((c[y>>2]|0)>(c[B>>2]|0))break;g[E+(c[A>>2]<<2)>>2]=+g[G+((c[B>>2]|0)-(c[y>>2]|0)<<2)>>2];c[A>>2]=(c[A>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+1}c[v>>2]=a[(c[t>>2]|0)+((c[z>>2]<<1)+0)>>0];c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[D>>2]|0))break;e=_(c[z>>2]|0,c[u>>2]|0)|0;c[x>>2]=(a[(c[s>>2]|0)+(e+(c[w>>2]|0))>>0]|0)-(c[v>>2]|0);c[y>>2]=0;while(1){if((c[y>>2]|0)>=5)break;g[(c[l>>2]|0)+((c[z>>2]|0)*680|0)+((c[w>>2]|0)*20|0)+(c[y>>2]<<2)>>2]=+g[E+((c[x>>2]|0)+(c[y>>2]|0)<<2)>>2];c[y>>2]=(c[y>>2]|0)+1}c[w>>2]=(c[w>>2]|0)+1}c[F>>2]=(c[F>>2]|0)+(c[o>>2]<<2);c[z>>2]=(c[z>>2]|0)+1}i=H;return}function Sh(b,d,e,f,j,k){b=b|0;d=d|0;e=e|0;f=f|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=i;i=i+176|0;l=G+168|0;m=G+164|0;n=G+160|0;o=G+156|0;p=G+152|0;q=G+148|0;F=G+144|0;t=G+140|0;w=G;A=G+136|0;x=G+132|0;z=G+128|0;B=G+124|0;D=G+120|0;v=G+116|0;y=G+112|0;u=G+108|0;C=G+104|0;E=G+16|0;s=G+12|0;r=G+8|0;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=j;c[q>>2]=k;if((c[p>>2]|0)==4){c[s>>2]=30466+(c[q>>2]<<3);c[r>>2]=30330;c[D>>2]=a[30490+(c[q>>2]|0)>>0];c[u>>2]=34}else{c[s>>2]=30282;c[r>>2]=30258;c[D>>2]=12;c[u>>2]=12}c[F>>2]=(c[m>>2]|0)+(c[o>>2]<<2<<2);c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[p>>2]|0))break;c[B>>2]=0;c[t>>2]=(c[F>>2]|0)+(0-((c[n>>2]|0)+(a[(c[s>>2]|0)+((c[A>>2]<<1)+0)>>0]|0))<<2);h[w>>3]=+Gh(c[t>>2]|0,c[o>>2]|0)+.001;g[E+(c[B>>2]<<2)>>2]=+h[w>>3];c[B>>2]=(c[B>>2]|0)+1;c[C>>2]=(a[(c[s>>2]|0)+((c[A>>2]<<1)+1)>>0]|0)-(a[(c[s>>2]|0)+((c[A>>2]<<1)+0)>>0]|0)+1;c[x>>2]=1;while(1){if((c[x>>2]|0)>=(c[C>>2]|0))break;h[w>>3]=+h[w>>3]-+g[(c[t>>2]|0)+((c[o>>2]|0)-(c[x>>2]|0)<<2)>>2]*+g[(c[t>>2]|0)+((c[o>>2]|0)-(c[x>>2]|0)<<2)>>2];h[w>>3]=+h[w>>3]+ +g[(c[t>>2]|0)+(0-(c[x>>2]|0)<<2)>>2]*+g[(c[t>>2]|0)+(0-(c[x>>2]|0)<<2)>>2];g[E+(c[B>>2]<<2)>>2]=+h[w>>3];c[B>>2]=(c[B>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+1}c[v>>2]=a[(c[s>>2]|0)+((c[A>>2]<<1)+0)>>0];c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[D>>2]|0))break;e=_(c[A>>2]|0,c[u>>2]|0)|0;c[y>>2]=(a[(c[r>>2]|0)+(e+(c[x>>2]|0))>>0]|0)-(c[v>>2]|0);c[z>>2]=0;while(1){if((c[z>>2]|0)>=5)break;g[(c[l>>2]|0)+((c[A>>2]|0)*680|0)+((c[x>>2]|0)*20|0)+(c[z>>2]<<2)>>2]=+g[E+((c[y>>2]|0)+(c[z>>2]|0)<<2)>>2];c[z>>2]=(c[z>>2]|0)+1}c[x>>2]=(c[x>>2]|0)+1}c[F>>2]=(c[F>>2]|0)+(c[o>>2]<<2);c[A>>2]=(c[A>>2]|0)+1}i=G;return}function Th(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;l=n;c[f>>2]=a;c[h>>2]=b;g[j>>2]=d;c[k>>2]=e;c[l>>2]=c[k>>2]&65532;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[l>>2]|0))break;g[(c[f>>2]|0)+((c[m>>2]|0)+0<<2)>>2]=+g[j>>2]*+g[(c[h>>2]|0)+((c[m>>2]|0)+0<<2)>>2];g[(c[f>>2]|0)+((c[m>>2]|0)+1<<2)>>2]=+g[j>>2]*+g[(c[h>>2]|0)+((c[m>>2]|0)+1<<2)>>2];g[(c[f>>2]|0)+((c[m>>2]|0)+2<<2)>>2]=+g[j>>2]*+g[(c[h>>2]|0)+((c[m>>2]|0)+2<<2)>>2];g[(c[f>>2]|0)+((c[m>>2]|0)+3<<2)>>2]=+g[j>>2]*+g[(c[h>>2]|0)+((c[m>>2]|0)+3<<2)>>2];c[m>>2]=(c[m>>2]|0)+4}while(1){if((c[m>>2]|0)>=(c[k>>2]|0))break;g[(c[f>>2]|0)+(c[m>>2]<<2)>>2]=+g[j>>2]*+g[(c[h>>2]|0)+(c[m>>2]<<2)>>2];c[m>>2]=(c[m>>2]|0)+1}i=n;return} function ra(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function sa(){return i|0}function ta(a){a=a|0;i=a}function ua(a,b){a=a|0;b=b|0;i=a;j=b}function va(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function wa(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0]}function xa(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0];a[k+4>>0]=a[b+4>>0];a[k+5>>0]=a[b+5>>0];a[k+6>>0]=a[b+6>>0];a[k+7>>0]=a[b+7>>0]}function ya(a){a=a|0;C=a}function za(){return C|0}function Aa(a,b,d,e,f){a=+a;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;g[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[l>>2]|0))break;if(+g[h>>2]<+g[(c[j>>2]|0)+(c[n>>2]<<2)>>2])break;c[n>>2]=(c[n>>2]|0)+1}if((c[n>>2]|0)>(c[m>>2]|0)?+g[h>>2]<+g[(c[j>>2]|0)+(c[m>>2]<<2)>>2]+ +g[(c[k>>2]|0)+(c[m>>2]<<2)>>2]:0)c[n>>2]=c[m>>2];if((c[n>>2]|0)>=(c[m>>2]|0)){b=c[n>>2]|0;i=o;return b|0}if(!(+g[h>>2]>+g[(c[j>>2]|0)+((c[m>>2]|0)-1<<2)>>2]-+g[(c[k>>2]|0)+((c[m>>2]|0)-1<<2)>>2])){b=c[n>>2]|0;i=o;return b|0}c[n>>2]=c[m>>2];b=c[n>>2]|0;i=o;return b|0}function Ba(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(_(1664525,c[d>>2]|0)|0)+1013904223|0;i=b;return a|0}function Ca(a,d,e,f,h,j){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0;v=i;i=i+48|0;k=v+40|0;l=v+36|0;m=v+32|0;n=v+28|0;o=v+24|0;p=v+20|0;t=v+16|0;r=v+12|0;q=v+8|0;s=v+4|0;u=v;c[k>>2]=a;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=h;c[p>>2]=j;c[s>>2]=c[(c[k>>2]|0)+32>>2];c[q>>2]=c[(c[k>>2]|0)+44>>2]<>2];c[r>>2]=0;do{c[t>>2]=0;while(1){h=c[r>>2]|0;if((c[t>>2]|0)>=(c[n>>2]|0))break;f=_(h,c[q>>2]|0)|0;a=_(c[r>>2]|0,c[q>>2]|0)|0;g[u>>2]=+Da((c[l>>2]|0)+(f+(b[(c[s>>2]|0)+(c[t>>2]<<1)>>1]<>2])<<2)|0,(c[l>>2]|0)+(a+(b[(c[s>>2]|0)+(c[t>>2]<<1)>>1]<>2])<<2)|0,(b[(c[s>>2]|0)+((c[t>>2]|0)+1<<1)>>1]|0)-(b[(c[s>>2]|0)+(c[t>>2]<<1)>>1]|0)<>2])+1.0000000272452012e-27;w=+O(+(+g[u>>2]));a=(c[t>>2]|0)+(_(c[r>>2]|0,c[(c[k>>2]|0)+8>>2]|0)|0)|0;g[(c[m>>2]|0)+(a<<2)>>2]=w;c[t>>2]=(c[t>>2]|0)+1}a=h+1|0;c[r>>2]=a}while((a|0)<(c[o>>2]|0));i=v;return}function Da(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[f>>2]=a;c[h>>2]=b;c[j>>2]=d;g[l>>2]=0.0;c[k>>2]=0;while(1){e=+g[l>>2];if((c[k>>2]|0)>=(c[j>>2]|0))break;g[l>>2]=e+ +g[(c[f>>2]|0)+(c[k>>2]<<2)>>2]*+g[(c[h>>2]|0)+(c[k>>2]<<2)>>2];c[k>>2]=(c[k>>2]|0)+1}i=m;return +e}function Ea(a,d,e,f,h,j,k){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+64|0;l=y+48|0;m=y+44|0;n=y+40|0;o=y+36|0;p=y+32|0;q=y+28|0;r=y+24|0;w=y+20|0;t=y+16|0;s=y+12|0;u=y+8|0;x=y+4|0;v=y;c[l>>2]=a;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=h;c[q>>2]=j;c[r>>2]=k;c[u>>2]=c[(c[l>>2]|0)+32>>2];c[s>>2]=_(c[r>>2]|0,c[(c[l>>2]|0)+44>>2]|0)|0;c[t>>2]=0;do{c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[p>>2]|0))break;a=(c[w>>2]|0)+(_(c[t>>2]|0,c[(c[l>>2]|0)+8>>2]|0)|0)|0;g[v>>2]=1.0/(+g[(c[o>>2]|0)+(a<<2)>>2]+1.0000000272452012e-27);c[x>>2]=_(c[r>>2]|0,b[(c[u>>2]|0)+(c[w>>2]<<1)>>1]|0)|0;while(1){if((c[x>>2]|0)>=(_(c[r>>2]|0,b[(c[u>>2]|0)+((c[w>>2]|0)+1<<1)>>1]|0)|0))break;d=(c[x>>2]|0)+(_(c[t>>2]|0,c[s>>2]|0)|0)|0;a=(c[x>>2]|0)+(_(c[t>>2]|0,c[s>>2]|0)|0)|0;g[(c[n>>2]|0)+(a<<2)>>2]=+g[(c[m>>2]|0)+(d<<2)>>2]*+g[v>>2];c[x>>2]=(c[x>>2]|0)+1}c[w>>2]=(c[w>>2]|0)+1}a=(c[t>>2]|0)+1|0;c[t>>2]=a}while((a|0)<(c[q>>2]|0));i=y;return}function Fa(a,d,e,f,h,j,k,l,m){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0;F=i;i=i+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;B=F+36|0;v=F+32|0;x=F+28|0;z=F+24|0;E=F+20|0;y=F+16|0;C=F+12|0;w=F+8|0;A=F+4|0;D=F;c[G>>2]=a;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[n>>2]=l;c[u>>2]=m;c[y>>2]=c[(c[G>>2]|0)+32>>2];c[v>>2]=_(c[t>>2]|0,c[(c[G>>2]|0)+44>>2]|0)|0;c[x>>2]=_(c[t>>2]|0,b[(c[y>>2]|0)+(c[s>>2]<<1)>>1]|0)|0;if((c[n>>2]|0)!=1){if((c[x>>2]|0)<((c[v>>2]|0)/(c[n>>2]|0)|0|0))n=c[x>>2]|0;else n=(c[v>>2]|0)/(c[n>>2]|0)|0;c[x>>2]=n}if(c[u>>2]|0){c[x>>2]=0;c[s>>2]=0;c[r>>2]=0}c[z>>2]=c[p>>2];c[E>>2]=(c[o>>2]|0)+((_(c[t>>2]|0,b[(c[y>>2]|0)+(c[r>>2]<<1)>>1]|0)|0)<<2);c[B>>2]=0;while(1){if((c[B>>2]|0)>=(_(c[t>>2]|0,b[(c[y>>2]|0)+(c[r>>2]<<1)>>1]|0)|0))break;G=c[z>>2]|0;c[z>>2]=G+4;g[G>>2]=0.0;c[B>>2]=(c[B>>2]|0)+1}c[B>>2]=c[r>>2];while(1){if((c[B>>2]|0)>=(c[s>>2]|0))break;c[C>>2]=_(c[t>>2]|0,b[(c[y>>2]|0)+(c[B>>2]<<1)>>1]|0)|0;c[w>>2]=_(c[t>>2]|0,b[(c[y>>2]|0)+((c[B>>2]|0)+1<<1)>>1]|0)|0;g[D>>2]=+g[(c[q>>2]|0)+(c[B>>2]<<2)>>2]+ +g[17464+(c[B>>2]<<2)>>2];g[A>>2]=+X(+(+g[D>>2]*.6931471805599453));do{G=c[E>>2]|0;c[E>>2]=G+4;H=+g[G>>2]*+g[A>>2];G=c[z>>2]|0;c[z>>2]=G+4;g[G>>2]=H;G=(c[C>>2]|0)+1|0;c[C>>2]=G}while((G|0)<(c[w>>2]|0));c[B>>2]=(c[B>>2]|0)+1}oj((c[p>>2]|0)+(c[x>>2]<<2)|0,0,(c[v>>2]|0)-(c[x>>2]|0)<<2|0)|0;i=F;return}function Ga(a,e,f,h,j,k,l,m,n,o,p,q,r,s){a=a|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;var t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0;W=i;i=i+112|0;u=W+108|0;v=W+104|0;A=W+100|0;B=W+96|0;C=W+92|0;D=W+88|0;Y=W+84|0;E=W+80|0;F=W+76|0;G=W+72|0;w=W+68|0;x=W+64|0;y=W+60|0;z=W+56|0;K=W+52|0;M=W+48|0;N=W+44|0;P=W+40|0;I=W+36|0;V=W+32|0;U=W+28|0;L=W+24|0;J=W+20|0;Q=W+16|0;R=W+12|0;H=W+8|0;S=W+4|0;T=W;c[u>>2]=a;c[v>>2]=e;c[A>>2]=f;c[B>>2]=h;c[C>>2]=j;c[D>>2]=k;c[Y>>2]=l;c[E>>2]=m;c[F>>2]=n;c[G>>2]=o;c[w>>2]=p;c[x>>2]=q;c[y>>2]=r;c[z>>2]=s;c[M>>2]=c[Y>>2];while(1){if((c[M>>2]|0)>=(c[E>>2]|0))break;c[I>>2]=(b[(c[(c[u>>2]|0)+32>>2]|0)+((c[M>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[u>>2]|0)+32>>2]|0)+(c[M>>2]<<1)>>1]|0);Y=Ha(1+(c[(c[x>>2]|0)+(c[M>>2]<<2)>>2]|0)|0,(b[(c[(c[u>>2]|0)+32>>2]|0)+((c[M>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[u>>2]|0)+32>>2]|0)+(c[M>>2]<<1)>>1]|0)|0)|0;c[L>>2]=Y>>>(c[B>>2]|0);g[V>>2]=+X(+(+(c[L>>2]|0)*-.125*.6931471805599453))*.5;g[U>>2]=1.0/+O(+(+(c[I>>2]<>2]|0)));c[K>>2]=0;do{c[T>>2]=0;Y=_(c[K>>2]|0,c[(c[u>>2]|0)+8>>2]|0)|0;g[Q>>2]=+g[(c[G>>2]|0)+(Y+(c[M>>2]|0)<<2)>>2];Y=_(c[K>>2]|0,c[(c[u>>2]|0)+8>>2]|0)|0;g[R>>2]=+g[(c[w>>2]|0)+(Y+(c[M>>2]|0)<<2)>>2];if((c[C>>2]|0)==1){if(+g[Q>>2]>+g[(c[G>>2]|0)+((c[(c[u>>2]|0)+8>>2]|0)+(c[M>>2]|0)<<2)>>2])t=+g[Q>>2];else t=+g[(c[G>>2]|0)+((c[(c[u>>2]|0)+8>>2]|0)+(c[M>>2]|0)<<2)>>2];g[Q>>2]=t;if(+g[R>>2]>+g[(c[w>>2]|0)+((c[(c[u>>2]|0)+8>>2]|0)+(c[M>>2]|0)<<2)>>2])t=+g[R>>2];else t=+g[(c[w>>2]|0)+((c[(c[u>>2]|0)+8>>2]|0)+(c[M>>2]|0)<<2)>>2];g[R>>2]=t}Y=_(c[K>>2]|0,c[(c[u>>2]|0)+8>>2]|0)|0;g[H>>2]=+g[(c[F>>2]|0)+(Y+(c[M>>2]|0)<<2)>>2]-(+g[Q>>2]<+g[R>>2]?+g[Q>>2]:+g[R>>2]);g[H>>2]=0.0>+g[H>>2]?0.0:+g[H>>2];g[S>>2]=+X(+(-+g[H>>2]*.6931471805599453))*2.0;if((c[B>>2]|0)==3)g[S>>2]=+g[S>>2]*1.4142135381698608;g[S>>2]=+g[V>>2]<+g[S>>2]?+g[V>>2]:+g[S>>2];g[S>>2]=+g[S>>2]*+g[U>>2];Y=(c[v>>2]|0)+((_(c[K>>2]|0,c[D>>2]|0)|0)<<2)|0;c[J>>2]=Y+(b[(c[(c[u>>2]|0)+32>>2]|0)+(c[M>>2]<<1)>>1]<>2]<<2);c[P>>2]=0;while(1){if((c[P>>2]|0)>=(1<>2]|0))break;Y=_(c[M>>2]|0,c[C>>2]|0)|0;if(!(d[(c[A>>2]|0)+(Y+(c[K>>2]|0))>>0]&1<>2])){c[N>>2]=0;while(1){if((c[N>>2]|0)>=(c[I>>2]|0))break;c[y>>2]=Ba(c[y>>2]|0)|0;t=+g[S>>2];g[(c[J>>2]|0)+((c[N>>2]<>2])+(c[P>>2]|0)<<2)>>2]=c[y>>2]&32768|0?t:-t;c[N>>2]=(c[N>>2]|0)+1}c[T>>2]=1}c[P>>2]=(c[P>>2]|0)+1}if(c[T>>2]|0)td(c[J>>2]|0,c[I>>2]<>2],1.0,c[z>>2]|0);Y=(c[K>>2]|0)+1|0;c[K>>2]=Y}while((Y|0)<(c[C>>2]|0));c[M>>2]=(c[M>>2]|0)+1}i=W;return}function Ha(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;i=f;return ((c[e>>2]|0)>>>0)/((c[d>>2]|0)>>>0)|0|0}function Ia(a,d,e,f,h,j,k,l,m,n){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=i;i=i+112|0;G=N+104|0;o=N+100|0;q=N+96|0;H=N+92|0;I=N+88|0;r=N+84|0;s=N+80|0;t=N+76|0;u=N+72|0;v=N+68|0;p=N+64|0;A=N+60|0;y=N+56|0;x=N+52|0;M=N+48|0;L=N+44|0;z=N+40|0;J=N+36|0;K=N+32|0;B=N+28|0;w=N+24|0;D=N+20|0;C=N+8|0;E=N+4|0;F=N;c[o>>2]=a;c[q>>2]=d;c[H>>2]=e;c[I>>2]=f;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[u>>2]=l;c[v>>2]=m;c[p>>2]=n;c[M>>2]=0;c[L>>2]=0;c[z>>2]=c[(c[o>>2]|0)+32>>2];c[K>>2]=0;c[x>>2]=_(c[p>>2]|0,c[(c[o>>2]|0)+44>>2]|0)|0;if((_(c[p>>2]|0,(b[(c[z>>2]|0)+(c[u>>2]<<1)>>1]|0)-(b[(c[z>>2]|0)+((c[u>>2]|0)-1<<1)>>1]|0)|0)|0)<=8){c[G>>2]=0;M=c[G>>2]|0;i=N;return M|0}c[y>>2]=0;do{c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[u>>2]|0))break;c[D>>2]=0;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;k=(c[q>>2]|0)+((_(c[p>>2]|0,b[(c[z>>2]|0)+(c[A>>2]<<1)>>1]|0)|0)<<2)|0;c[E>>2]=k+((_(c[y>>2]|0,c[x>>2]|0)|0)<<2);c[w>>2]=_(c[p>>2]|0,(b[(c[z>>2]|0)+((c[A>>2]|0)+1<<1)>>1]|0)-(b[(c[z>>2]|0)+(c[A>>2]<<1)>>1]|0)|0)|0;if((c[w>>2]|0)>8){c[B>>2]=0;while(1){if((c[B>>2]|0)>=(c[w>>2]|0))break;g[F>>2]=+g[(c[E>>2]|0)+(c[B>>2]<<2)>>2]*+g[(c[E>>2]|0)+(c[B>>2]<<2)>>2]*+(c[w>>2]|0);if(+g[F>>2]<.25)c[C>>2]=(c[C>>2]|0)+1;if(+g[F>>2]<.0625){k=C+4|0;c[k>>2]=(c[k>>2]|0)+1}if(+g[F>>2]<.015625){k=C+8|0;c[k>>2]=(c[k>>2]|0)+1}c[B>>2]=(c[B>>2]|0)+1}if((c[A>>2]|0)>((c[(c[o>>2]|0)+8>>2]|0)-4|0)){k=Ha((c[C+4>>2]|0)+(c[C>>2]|0)<<5,c[w>>2]|0)|0;c[K>>2]=(c[K>>2]|0)+k}c[D>>2]=((c[C+8>>2]<<1|0)>=(c[w>>2]|0)&1)+((c[C+4>>2]<<1|0)>=(c[w>>2]|0)&1)+((c[C>>2]<<1|0)>=(c[w>>2]|0)&1);c[M>>2]=(c[M>>2]|0)+(c[D>>2]<<8);c[L>>2]=(c[L>>2]|0)+1}c[A>>2]=(c[A>>2]|0)+1}k=(c[y>>2]|0)+1|0;c[y>>2]=k}while((k|0)<(c[v>>2]|0));do if(c[t>>2]|0){if(c[K>>2]|0)c[K>>2]=Ha(c[K>>2]|0,_(c[v>>2]|0,4-(c[(c[o>>2]|0)+8>>2]|0)+(c[u>>2]|0)|0)|0)|0;c[c[r>>2]>>2]=(c[c[r>>2]>>2]|0)+(c[K>>2]|0)>>1;c[K>>2]=c[c[r>>2]>>2];if((c[c[s>>2]>>2]|0)!=2){if(!(c[c[s>>2]>>2]|0))c[K>>2]=(c[K>>2]|0)-4}else c[K>>2]=(c[K>>2]|0)+4;if((c[K>>2]|0)>22){c[c[s>>2]>>2]=2;break}o=c[s>>2]|0;if((c[K>>2]|0)>18){c[o>>2]=1;break}else{c[o>>2]=0;break}}while(0);c[M>>2]=Ha(c[M>>2]|0,c[L>>2]|0)|0;c[M>>2]=(c[M>>2]|0)+(c[c[H>>2]>>2]|0)>>1;c[c[H>>2]>>2]=c[M>>2];c[M>>2]=((c[M>>2]|0)*3|0)+((3-(c[I>>2]|0)<<7)+64)+2>>2;do if((c[M>>2]|0)>=80){if((c[M>>2]|0)<256){c[J>>2]=2;break}if((c[M>>2]|0)<384){c[J>>2]=1;break}else{c[J>>2]=0;break}}else c[J>>2]=3;while(0);c[G>>2]=c[J>>2];M=c[G>>2]|0;i=N;return M|0}function Ja(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;e=n+24|0;f=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=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[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[h>>2]|0))break;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[f>>2]|0))break;d=_(c[h>>2]<<1,c[k>>2]|0)|0;g[l>>2]=+g[(c[e>>2]|0)+(d+(c[j>>2]|0)<<2)>>2]*.7071067690849304;d=_(c[h>>2]|0,(c[k>>2]<<1)+1|0)|0;g[m>>2]=+g[(c[e>>2]|0)+(d+(c[j>>2]|0)<<2)>>2]*.7071067690849304;d=_(c[h>>2]<<1,c[k>>2]|0)|0;g[(c[e>>2]|0)+(d+(c[j>>2]|0)<<2)>>2]=+g[l>>2]+ +g[m>>2];d=_(c[h>>2]|0,(c[k>>2]<<1)+1|0)|0;g[(c[e>>2]|0)+(d+(c[j>>2]|0)<<2)>>2]=+g[l>>2]-+g[m>>2];c[k>>2]=(c[k>>2]|0)+1}c[j>>2]=(c[j>>2]|0)+1}i=n;return}function Ka(e,f,h,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A){e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;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,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ja=0,ka=0,la=0,ma=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;xa=i;i=i+256|0;za=xa+240|0;B=xa+236|0;M=xa+232|0;O=xa+228|0;P=xa+224|0;Q=xa+220|0;R=xa+216|0;Aa=xa+212|0;S=xa+208|0;Ba=xa+204|0;C=xa+200|0;D=xa+196|0;E=xa+192|0;F=xa+188|0;G=xa+184|0;H=xa+180|0;I=xa+176|0;J=xa+172|0;K=xa+168|0;L=xa+164|0;ya=xa+160|0;ga=xa+156|0;qa=xa+152|0;ba=xa+148|0;ma=xa+144|0;oa=xa+140|0;la=xa+136|0;T=xa+132|0;V=xa+128|0;ka=xa+124|0;ua=xa+120|0;U=xa+116|0;pa=xa+112|0;ra=xa+108|0;$=xa+64|0;N=xa+60|0;sa=xa+56|0;Z=xa+52|0;W=xa+48|0;aa=xa+44|0;ca=xa+40|0;X=xa+36|0;Y=xa+32|0;ta=xa+28|0;va=xa+24|0;wa=xa+20|0;ja=xa+16|0;fa=xa+12|0;da=xa+8|0;ea=xa+4|0;ha=xa;c[za>>2]=e;c[B>>2]=f;c[M>>2]=h;c[O>>2]=j;c[P>>2]=k;c[Q>>2]=l;c[R>>2]=m;c[Aa>>2]=n;c[S>>2]=o;c[Ba>>2]=p;c[C>>2]=q;c[D>>2]=r;c[E>>2]=s;c[F>>2]=t;c[G>>2]=u;c[H>>2]=v;c[I>>2]=w;c[J>>2]=x;c[K>>2]=y;c[L>>2]=z;c[ya>>2]=A;c[ba>>2]=c[(c[B>>2]|0)+32>>2];c[ua>>2]=1;c[U>>2]=c[Q>>2]|0?2:1;c[ra>>2]=((c[za>>2]|0)!=0^1)&1;c[V>>2]=1<>2];c[T>>2]=c[Ba>>2]|0?c[V>>2]|0:1;c[pa>>2]=_(c[V>>2]|0,b[(c[ba>>2]|0)+(c[M>>2]<<1)>>1]|0)|0;t=_(c[V>>2]|0,b[(c[ba>>2]|0)+((c[(c[B>>2]|0)+8>>2]|0)-1<<1)>>1]|0)|0;t=_(c[U>>2]|0,t-(c[pa>>2]|0)|0)|0;c[N>>2]=ia()|0;u=i;i=i+((1*(t<<2)|0)+15&-16)|0;c[ma>>2]=u;u=(c[ma>>2]|0)+((_(c[V>>2]|0,b[(c[ba>>2]|0)+((c[(c[B>>2]|0)+8>>2]|0)-1<<1)>>1]|0)|0)<<2)|0;c[oa>>2]=u+(0-(c[pa>>2]|0)<<2);c[la>>2]=(c[P>>2]|0)+((_(c[V>>2]|0,b[(c[ba>>2]|0)+((c[(c[B>>2]|0)+8>>2]|0)-1<<1)>>1]|0)|0)<<2);c[ka>>2]=0;c[$+32>>2]=c[Aa>>2];c[$+24>>2]=c[I>>2];c[$>>2]=c[za>>2];c[$+12>>2]=c[E>>2];c[$+4>>2]=c[B>>2];c[$+36>>2]=c[c[L>>2]>>2];c[$+16>>2]=c[C>>2];c[$+40>>2]=c[ya>>2];c[ga>>2]=c[M>>2];while(1){if((c[ga>>2]|0)>=(c[O>>2]|0))break;c[ca>>2]=-1;c[ta>>2]=0;c[$+8>>2]=c[ga>>2];c[ja>>2]=(c[ga>>2]|0)==((c[O>>2]|0)-1|0)&1;c[X>>2]=(c[P>>2]|0)+((_(c[V>>2]|0,b[(c[ba>>2]|0)+(c[ga>>2]<<1)>>1]|0)|0)<<2);if(c[Q>>2]|0)c[Y>>2]=(c[Q>>2]|0)+((_(c[V>>2]|0,b[(c[ba>>2]|0)+(c[ga>>2]<<1)>>1]|0)|0)<<2);else c[Y>>2]=0;Ba=_(c[V>>2]|0,b[(c[ba>>2]|0)+((c[ga>>2]|0)+1<<1)>>1]|0)|0;c[W>>2]=Ba-(_(c[V>>2]|0,b[(c[ba>>2]|0)+(c[ga>>2]<<1)>>1]|0)|0);c[sa>>2]=Xb(c[I>>2]|0)|0;if((c[ga>>2]|0)!=(c[M>>2]|0))c[H>>2]=(c[H>>2]|0)-(c[sa>>2]|0);c[qa>>2]=(c[G>>2]|0)-(c[sa>>2]|0)-1;c[$+28>>2]=c[qa>>2];if((c[ga>>2]|0)<=((c[K>>2]|0)-1|0)){if(3<((c[K>>2]|0)-(c[ga>>2]|0)|0))x=3;else x=(c[K>>2]|0)-(c[ga>>2]|0)|0;c[aa>>2]=La(c[H>>2]|0,x)|0;if(((c[qa>>2]|0)+1|0)<((c[(c[S>>2]|0)+(c[ga>>2]<<2)>>2]|0)+(c[aa>>2]|0)|0))x=(c[qa>>2]|0)+1|0;else x=(c[(c[S>>2]|0)+(c[ga>>2]<<2)>>2]|0)+(c[aa>>2]|0)|0;do if(16383>=(x|0))if(((c[qa>>2]|0)+1|0)<((c[(c[S>>2]|0)+(c[ga>>2]<<2)>>2]|0)+(c[aa>>2]|0)|0)){x=(c[qa>>2]|0)+1|0;break}else{x=(c[(c[S>>2]|0)+(c[ga>>2]<<2)>>2]|0)+(c[aa>>2]|0)|0;break}else x=16383;while(0);do if(0<=(x|0)){if(((c[qa>>2]|0)+1|0)<((c[(c[S>>2]|0)+(c[ga>>2]<<2)>>2]|0)+(c[aa>>2]|0)|0))x=(c[qa>>2]|0)+1|0;else x=(c[(c[S>>2]|0)+(c[ga>>2]<<2)>>2]|0)+(c[aa>>2]|0)|0;if(16383>=(x|0))if(((c[qa>>2]|0)+1|0)<((c[(c[S>>2]|0)+(c[ga>>2]<<2)>>2]|0)+(c[aa>>2]|0)|0)){x=(c[qa>>2]|0)+1|0;break}else{x=(c[(c[S>>2]|0)+(c[ga>>2]<<2)>>2]|0)+(c[aa>>2]|0)|0;break}else x=16383}else x=0;while(0);c[Z>>2]=x}else c[Z>>2]=0;if((c[ra>>2]|0?(Ba=_(c[V>>2]|0,b[(c[ba>>2]|0)+(c[ga>>2]<<1)>>1]|0)|0,(Ba-(c[W>>2]|0)|0)>=(_(c[V>>2]|0,b[(c[ba>>2]|0)+(c[M>>2]<<1)>>1]|0)|0)):0)?(c[ua>>2]|0)!=0|(c[ka>>2]|0)==0:0)c[ka>>2]=c[ga>>2];c[ta>>2]=c[(c[F>>2]|0)+(c[ga>>2]<<2)>>2];c[$+20>>2]=c[ta>>2];if((c[ga>>2]|0)>=(c[(c[B>>2]|0)+12>>2]|0)){c[X>>2]=c[ma>>2];if(c[Q>>2]|0)c[Y>>2]=c[ma>>2];c[la>>2]=0}if((c[ga>>2]|0)==((c[O>>2]|0)-1|0))c[la>>2]=0;if(c[ka>>2]|0?(c[C>>2]|0)!=3|(c[T>>2]|0)>1|(c[ta>>2]|0)<0:0){Ba=_(c[V>>2]|0,b[(c[ba>>2]|0)+(c[ka>>2]<<1)>>1]|0)|0;if(0>(Ba-(c[pa>>2]|0)-(c[W>>2]|0)|0))x=0;else{x=_(c[V>>2]|0,b[(c[ba>>2]|0)+(c[ka>>2]<<1)>>1]|0)|0;x=x-(c[pa>>2]|0)-(c[W>>2]|0)|0}c[ca>>2]=x;c[fa>>2]=c[ka>>2];do{Aa=c[V>>2]|0;Ba=(c[fa>>2]|0)+-1|0;c[fa>>2]=Ba;Ba=_(Aa,b[(c[ba>>2]|0)+(Ba<<1)>>1]|0)|0}while((Ba|0)>((c[ca>>2]|0)+(c[pa>>2]|0)|0));c[da>>2]=(c[ka>>2]|0)-1;do{Aa=c[V>>2]|0;Ba=(c[da>>2]|0)+1|0;c[da>>2]=Ba;Ba=_(Aa,b[(c[ba>>2]|0)+(Ba<<1)>>1]|0)|0}while((Ba|0)<((c[ca>>2]|0)+(c[pa>>2]|0)+(c[W>>2]|0)|0));c[wa>>2]=0;c[va>>2]=0;c[ea>>2]=c[fa>>2];do{Ba=(_(c[ea>>2]|0,c[U>>2]|0)|0)+0|0;c[va>>2]=c[va>>2]|d[(c[R>>2]|0)+Ba>>0];Ba=_(c[ea>>2]|0,c[U>>2]|0)|0;c[wa>>2]=c[wa>>2]|d[(c[R>>2]|0)+(Ba+(c[U>>2]|0)-1)>>0];Ba=(c[ea>>2]|0)+1|0;c[ea>>2]=Ba}while((Ba|0)<(c[da>>2]|0))}else{Ba=(1<>2])-1|0;c[wa>>2]=Ba;c[va>>2]=Ba}a:do if((c[D>>2]|0?(c[ga>>2]|0)==(c[E>>2]|0):0)?(c[D>>2]=0,c[ra>>2]|0):0){c[ha>>2]=0;while(1){Ba=_(c[V>>2]|0,b[(c[ba>>2]|0)+(c[ga>>2]<<1)>>1]|0)|0;if((c[ha>>2]|0)>=(Ba-(c[pa>>2]|0)|0))break a;g[(c[ma>>2]|0)+(c[ha>>2]<<2)>>2]=(+g[(c[ma>>2]|0)+(c[ha>>2]<<2)>>2]+ +g[(c[oa>>2]|0)+(c[ha>>2]<<2)>>2])*.5;c[ha>>2]=(c[ha>>2]|0)+1}}while(0);if(c[D>>2]|0){if((c[ca>>2]|0)!=-1)x=(c[ma>>2]|0)+(c[ca>>2]<<2)|0;else x=0;if(c[ja>>2]|0)k=0;else{k=(c[ma>>2]|0)+((_(c[V>>2]|0,b[(c[ba>>2]|0)+(c[ga>>2]<<1)>>1]|0)|0)<<2)|0;k=k+(0-(c[pa>>2]|0)<<2)|0}c[va>>2]=Ma($,c[X>>2]|0,c[W>>2]|0,(c[Z>>2]|0)/2|0,c[T>>2]|0,x,c[J>>2]|0,k,1.0,c[la>>2]|0,c[va>>2]|0)|0;if((c[ca>>2]|0)!=-1)x=(c[oa>>2]|0)+(c[ca>>2]<<2)|0;else x=0;if(c[ja>>2]|0)k=0;else{k=(c[oa>>2]|0)+((_(c[V>>2]|0,b[(c[ba>>2]|0)+(c[ga>>2]<<1)>>1]|0)|0)<<2)|0;k=k+(0-(c[pa>>2]|0)<<2)|0}c[wa>>2]=Ma($,c[Y>>2]|0,c[W>>2]|0,(c[Z>>2]|0)/2|0,c[T>>2]|0,x,c[J>>2]|0,k,1.0,c[la>>2]|0,c[wa>>2]|0)|0}else{l=c[X>>2]|0;if(c[Y>>2]|0){if((c[ca>>2]|0)!=-1)x=(c[ma>>2]|0)+(c[ca>>2]<<2)|0;else x=0;if(c[ja>>2]|0)k=0;else{k=(c[ma>>2]|0)+((_(c[V>>2]|0,b[(c[ba>>2]|0)+(c[ga>>2]<<1)>>1]|0)|0)<<2)|0;k=k+(0-(c[pa>>2]|0)<<2)|0}c[va>>2]=Na($,l,c[Y>>2]|0,c[W>>2]|0,c[Z>>2]|0,c[T>>2]|0,x,c[J>>2]|0,k,c[la>>2]|0,c[va>>2]|c[wa>>2])|0}else{if((c[ca>>2]|0)!=-1)x=(c[ma>>2]|0)+(c[ca>>2]<<2)|0;else x=0;if(c[ja>>2]|0)k=0;else{k=(c[ma>>2]|0)+((_(c[V>>2]|0,b[(c[ba>>2]|0)+(c[ga>>2]<<1)>>1]|0)|0)<<2)|0;k=k+(0-(c[pa>>2]|0)<<2)|0}c[va>>2]=Ma($,l,c[W>>2]|0,c[Z>>2]|0,c[T>>2]|0,x,c[J>>2]|0,k,1.0,c[la>>2]|0,c[va>>2]|c[wa>>2])|0}c[wa>>2]=c[va>>2]}Ba=(_(c[ga>>2]|0,c[U>>2]|0)|0)+0|0;a[(c[R>>2]|0)+Ba>>0]=c[va>>2];Ba=_(c[ga>>2]|0,c[U>>2]|0)|0;a[(c[R>>2]|0)+(Ba+(c[U>>2]|0)-1)>>0]=c[wa>>2];c[H>>2]=(c[H>>2]|0)+((c[(c[S>>2]|0)+(c[ga>>2]<<2)>>2]|0)+(c[sa>>2]|0));c[ua>>2]=(c[Z>>2]|0)>(c[W>>2]<<3|0)&1;c[ga>>2]=(c[ga>>2]|0)+1}c[c[L>>2]>>2]=c[$+36>>2];na(c[N>>2]|0);i=xa;return}function La(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;i=f;return (c[e>>2]|0)/(c[d>>2]|0)|0|0}function Ma(a,b,e,f,h,j,k,l,m,n,o){a=a|0;b=b|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|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,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0;Q=i;i=i+112|0;p=Q+100|0;q=Q+96|0;t=Q+92|0;u=Q+88|0;v=Q+84|0;w=Q+80|0;x=Q+76|0;y=Q+72|0;z=Q+68|0;A=Q+64|0;r=Q+60|0;s=Q+56|0;C=Q+52|0;D=Q+48|0;E=Q+44|0;B=Q+40|0;P=Q+36|0;L=Q+32|0;J=Q+28|0;F=Q+24|0;M=Q+20|0;I=Q+16|0;G=Q+12|0;N=Q+8|0;H=Q+4|0;K=Q;c[q>>2]=a;c[t>>2]=b;c[u>>2]=e;c[v>>2]=f;c[w>>2]=h;c[x>>2]=j;c[y>>2]=k;c[z>>2]=l;g[A>>2]=m;c[r>>2]=n;c[s>>2]=o;c[C>>2]=c[u>>2];c[D>>2]=c[u>>2];c[B>>2]=c[w>>2];c[P>>2]=0;c[L>>2]=0;c[F>>2]=0;c[M>>2]=((c[c[q>>2]>>2]|0)!=0^1)&1;c[G>>2]=c[c[q>>2]>>2];c[N>>2]=c[(c[q>>2]|0)+20>>2];c[J>>2]=(c[B>>2]|0)==1&1;c[D>>2]=Ha(c[D>>2]|0,c[w>>2]|0)|0;if((c[u>>2]|0)==1){c[p>>2]=Oa(c[q>>2]|0,c[t>>2]|0,0,c[v>>2]|0,c[z>>2]|0)|0;P=c[p>>2]|0;i=Q;return P|0}if((c[N>>2]|0)>0)c[L>>2]=c[N>>2];do if((c[r>>2]|0)!=0&(c[x>>2]|0)!=0){if((c[L>>2]|0)==0?!((c[D>>2]&1|0)==0&(c[N>>2]|0)<0|(c[B>>2]|0)>1):0)break;pj(c[r>>2]|0,c[x>>2]|0,(c[u>>2]<<2)+0|0)|0;c[x>>2]=c[r>>2]}while(0);c[I>>2]=0;while(1){if((c[I>>2]|0)>=(c[L>>2]|0))break;if(c[G>>2]|0)Ja(c[t>>2]|0,c[u>>2]>>c[I>>2],1<>2]);if(c[x>>2]|0)Ja(c[x>>2]|0,c[u>>2]>>c[I>>2],1<>2]);c[s>>2]=d[25200+(c[s>>2]&15)>>0]|0|(d[25200+(c[s>>2]>>4)>>0]|0)<<2;c[I>>2]=(c[I>>2]|0)+1}c[w>>2]=c[w>>2]>>c[L>>2];c[D>>2]=c[D>>2]<>2];while(1){if(!((c[D>>2]&1|0)==0?(c[N>>2]|0)<0:0))break;if(c[G>>2]|0)Ja(c[t>>2]|0,c[D>>2]|0,c[w>>2]|0);if(c[x>>2]|0)Ja(c[x>>2]|0,c[D>>2]|0,c[w>>2]|0);c[s>>2]=c[s>>2]|c[s>>2]<>2];c[w>>2]=c[w>>2]<<1;c[D>>2]=c[D>>2]>>1;c[P>>2]=(c[P>>2]|0)+1;c[N>>2]=(c[N>>2]|0)+1}c[B>>2]=c[w>>2];c[E>>2]=c[D>>2];if((c[B>>2]|0)>1){if(c[G>>2]|0)Pa(c[t>>2]|0,c[D>>2]>>c[L>>2],c[B>>2]<>2],c[J>>2]|0);if(c[x>>2]|0)Pa(c[x>>2]|0,c[D>>2]>>c[L>>2],c[B>>2]<>2],c[J>>2]|0)}c[F>>2]=Qa(c[q>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[w>>2]|0,c[x>>2]|0,c[y>>2]|0,+g[A>>2],c[s>>2]|0)|0;if(c[M>>2]|0){if((c[B>>2]|0)>1)Ra(c[t>>2]|0,c[D>>2]>>c[L>>2],c[B>>2]<>2],c[J>>2]|0);c[D>>2]=c[E>>2];c[w>>2]=c[B>>2];c[I>>2]=0;while(1){if((c[I>>2]|0)>=(c[P>>2]|0))break;c[w>>2]=c[w>>2]>>1;c[D>>2]=c[D>>2]<<1;c[F>>2]=c[F>>2]|(c[F>>2]|0)>>>(c[w>>2]|0);Ja(c[t>>2]|0,c[D>>2]|0,c[w>>2]|0);c[I>>2]=(c[I>>2]|0)+1}c[I>>2]=0;while(1){if((c[I>>2]|0)>=(c[L>>2]|0))break;c[F>>2]=d[25216+(c[F>>2]|0)>>0];Ja(c[t>>2]|0,c[C>>2]>>c[I>>2],1<>2]);c[I>>2]=(c[I>>2]|0)+1}c[w>>2]=c[w>>2]<>2];a:do if(c[z>>2]|0){g[K>>2]=+O(+(+(c[C>>2]|0)));c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[C>>2]|0))break a;g[(c[z>>2]|0)+(c[H>>2]<<2)>>2]=+g[K>>2]*+g[(c[t>>2]|0)+(c[H>>2]<<2)>>2];c[H>>2]=(c[H>>2]|0)+1}}while(0);c[F>>2]=c[F>>2]&(1<>2])-1}c[p>>2]=c[F>>2];P=c[p>>2]|0;i=Q;return P|0}function Na(a,b,d,e,f,h,j,k,l,m,n){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=i;i=i+160|0;C=X+156|0;D=X+152|0;G=X+148|0;H=X+144|0;I=X+140|0;A=X+136|0;J=X+132|0;K=X+128|0;L=X+124|0;M=X+120|0;E=X+116|0;F=X+112|0;r=X+108|0;s=X+104|0;O=X+100|0;S=X+96|0;W=X+92|0;N=X+88|0;U=X+84|0;R=X+80|0;V=X+76|0;z=X+72|0;P=X+68|0;B=X+64|0;u=X+40|0;t=X+36|0;q=X+32|0;p=X+28|0;o=X+24|0;v=X+20|0;x=X+16|0;y=X+12|0;w=X+8|0;T=X+4|0;Q=X;c[D>>2]=a;c[G>>2]=b;c[H>>2]=d;c[I>>2]=e;c[A>>2]=f;c[J>>2]=h;c[K>>2]=j;c[L>>2]=k;c[M>>2]=l;c[E>>2]=m;c[F>>2]=n;c[r>>2]=0;c[s>>2]=0;c[O>>2]=0;g[S>>2]=0.0;g[W>>2]=0.0;c[N>>2]=0;c[U>>2]=((c[c[D>>2]>>2]|0)!=0^1)&1;c[q>>2]=c[c[D>>2]>>2];c[p>>2]=c[(c[D>>2]|0)+24>>2];if((c[I>>2]|0)==1){c[C>>2]=Oa(c[D>>2]|0,c[G>>2]|0,c[H>>2]|0,c[A>>2]|0,c[M>>2]|0)|0;W=c[C>>2]|0;i=X;return W|0}c[t>>2]=c[F>>2];Sa(c[D>>2]|0,u,c[G>>2]|0,c[H>>2]|0,c[I>>2]|0,A,c[J>>2]|0,c[J>>2]|0,c[L>>2]|0,1,F);c[O>>2]=c[u>>2];c[r>>2]=c[u+4>>2];c[s>>2]=c[u+8>>2];c[z>>2]=c[u+12>>2];c[P>>2]=c[u+16>>2];c[B>>2]=c[u+20>>2];g[S>>2]=+(c[r>>2]|0)*.000030517578125;g[W>>2]=+(c[s>>2]|0)*.000030517578125;do if((c[I>>2]|0)==2){c[v>>2]=0;c[R>>2]=c[A>>2];c[V>>2]=0;c[V>>2]=(c[P>>2]|0)!=0&(c[P>>2]|0)!=16384?8:0;c[R>>2]=(c[R>>2]|0)-(c[V>>2]|0);c[o>>2]=(c[P>>2]|0)>8192&1;T=(c[D>>2]|0)+28|0;c[T>>2]=(c[T>>2]|0)-((c[B>>2]|0)+(c[V>>2]|0));c[x>>2]=c[o>>2]|0?c[H>>2]|0:c[G>>2]|0;c[y>>2]=c[o>>2]|0?c[G>>2]|0:c[H>>2]|0;do if(c[V>>2]|0)if(c[q>>2]|0){c[v>>2]=+g[c[x>>2]>>2]*+g[(c[y>>2]|0)+4>>2]-+g[(c[x>>2]|0)+4>>2]*+g[c[y>>2]>>2]<0.0&1;sc(c[p>>2]|0,c[v>>2]|0,1);break}else{c[v>>2]=gc(c[p>>2]|0,1)|0;break}while(0);c[v>>2]=1-(c[v>>2]<<1);c[N>>2]=Ma(c[D>>2]|0,c[x>>2]|0,c[I>>2]|0,c[R>>2]|0,c[J>>2]|0,c[K>>2]|0,c[L>>2]|0,c[M>>2]|0,1.0,c[E>>2]|0,c[t>>2]|0)|0;g[c[y>>2]>>2]=+(0-(c[v>>2]|0)|0)*+g[(c[x>>2]|0)+4>>2];g[(c[y>>2]|0)+4>>2]=+(c[v>>2]|0)*+g[c[x>>2]>>2];if(c[U>>2]|0){g[c[G>>2]>>2]=+g[S>>2]*+g[c[G>>2]>>2];g[(c[G>>2]|0)+4>>2]=+g[S>>2]*+g[(c[G>>2]|0)+4>>2];g[c[H>>2]>>2]=+g[W>>2]*+g[c[H>>2]>>2];g[(c[H>>2]|0)+4>>2]=+g[W>>2]*+g[(c[H>>2]|0)+4>>2];g[w>>2]=+g[c[G>>2]>>2];g[c[G>>2]>>2]=+g[w>>2]-+g[c[H>>2]>>2];g[c[H>>2]>>2]=+g[w>>2]+ +g[c[H>>2]>>2];g[w>>2]=+g[(c[G>>2]|0)+4>>2];g[(c[G>>2]|0)+4>>2]=+g[w>>2]-+g[(c[H>>2]|0)+4>>2];g[(c[H>>2]|0)+4>>2]=+g[w>>2]+ +g[(c[H>>2]|0)+4>>2]}}else{h=c[A>>2]|0;if((c[A>>2]|0)>=(((c[A>>2]|0)-(c[z>>2]|0)|0)/2|0|0))h=(h-(c[z>>2]|0)|0)/2|0;if(0<=(h|0)){h=c[A>>2]|0;if((c[A>>2]|0)>=(((c[A>>2]|0)-(c[z>>2]|0)|0)/2|0|0))h=(h-(c[z>>2]|0)|0)/2|0}else h=0;c[R>>2]=h;c[V>>2]=(c[A>>2]|0)-(c[R>>2]|0);h=(c[D>>2]|0)+28|0;c[h>>2]=(c[h>>2]|0)-(c[B>>2]|0);c[T>>2]=c[(c[D>>2]|0)+28>>2];h=c[D>>2]|0;if((c[R>>2]|0)>=(c[V>>2]|0)){c[N>>2]=Ma(h,c[G>>2]|0,c[I>>2]|0,c[R>>2]|0,c[J>>2]|0,c[K>>2]|0,c[L>>2]|0,c[M>>2]|0,1.0,c[E>>2]|0,c[F>>2]|0)|0;c[T>>2]=(c[R>>2]|0)-((c[T>>2]|0)-(c[(c[D>>2]|0)+28>>2]|0));if((c[T>>2]|0)>24&(c[P>>2]|0)!=0)c[V>>2]=(c[V>>2]|0)+((c[T>>2]|0)-24);W=Ma(c[D>>2]|0,c[H>>2]|0,c[I>>2]|0,c[V>>2]|0,c[J>>2]|0,0,c[L>>2]|0,0,+g[W>>2],0,c[F>>2]>>c[J>>2])|0;c[N>>2]=c[N>>2]|W;break}else{c[N>>2]=Ma(h,c[H>>2]|0,c[I>>2]|0,c[V>>2]|0,c[J>>2]|0,0,c[L>>2]|0,0,+g[W>>2],0,c[F>>2]>>c[J>>2])|0;c[T>>2]=(c[V>>2]|0)-((c[T>>2]|0)-(c[(c[D>>2]|0)+28>>2]|0));if((c[T>>2]|0)>24&(c[P>>2]|0)!=16384)c[R>>2]=(c[R>>2]|0)+((c[T>>2]|0)-24);W=Ma(c[D>>2]|0,c[G>>2]|0,c[I>>2]|0,c[R>>2]|0,c[J>>2]|0,c[K>>2]|0,c[L>>2]|0,c[M>>2]|0,1.0,c[E>>2]|0,c[F>>2]|0)|0;c[N>>2]=c[N>>2]|W;break}}while(0);a:do if(c[U>>2]|0){if((c[I>>2]|0)!=2)$a(c[G>>2]|0,c[H>>2]|0,+g[S>>2],c[I>>2]|0,c[(c[D>>2]|0)+40>>2]|0);if(c[O>>2]|0){c[Q>>2]=0;while(1){if((c[Q>>2]|0)>=(c[I>>2]|0))break a;g[(c[H>>2]|0)+(c[Q>>2]<<2)>>2]=-+g[(c[H>>2]|0)+(c[Q>>2]<<2)>>2];c[Q>>2]=(c[Q>>2]|0)+1}}}while(0);c[C>>2]=c[N>>2];W=c[C>>2]|0;i=X;return W|0}function Oa(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;h=u+44|0;j=u+40|0;k=u+36|0;l=u+32|0;m=u+28|0;q=u+24|0;n=u+20|0;s=u+16|0;t=u+12|0;p=u+8|0;o=u+4|0;r=u;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[q>>2]=((c[c[h>>2]>>2]|0)!=0^1)&1;c[t>>2]=c[j>>2];c[p>>2]=c[c[h>>2]>>2];c[o>>2]=c[(c[h>>2]|0)+24>>2];c[s>>2]=(c[k>>2]|0)!=0&1;c[n>>2]=0;do{c[r>>2]=0;if((c[(c[h>>2]|0)+28>>2]|0)>=8){if(c[p>>2]|0){c[r>>2]=+g[c[t>>2]>>2]<0.0&1;sc(c[o>>2]|0,c[r>>2]|0,1)}else c[r>>2]=gc(c[o>>2]|0,1)|0;f=(c[h>>2]|0)+28|0;c[f>>2]=(c[f>>2]|0)-8;c[l>>2]=(c[l>>2]|0)-8}if(c[q>>2]|0)g[c[t>>2]>>2]=c[r>>2]|0?-1.0:1.0;c[t>>2]=c[k>>2];f=(c[n>>2]|0)+1|0;c[n>>2]=f}while((f|0)<(1+(c[s>>2]|0)|0));if(!(c[m>>2]|0)){i=u;return 1}g[c[m>>2]>>2]=+g[c[j>>2]>>2];i=u;return 1}function Pa(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;f=p+32|0;h=p+28|0;j=p+24|0;q=p+20|0;m=p+16|0;n=p+12|0;l=p+8|0;k=p+4|0;o=p;c[f>>2]=a;c[h>>2]=b;c[j>>2]=d;c[q>>2]=e;c[l>>2]=_(c[h>>2]|0,c[j>>2]|0)|0;d=c[l>>2]|0;c[k>>2]=ia()|0;b=i;i=i+((1*(d<<2)|0)+15&-16)|0;if(c[q>>2]|0){c[o>>2]=8+(c[j>>2]<<2)+-8;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[j>>2]|0))break;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[h>>2]|0))break;d=_(c[n>>2]|0,c[j>>2]|0)|0;q=_(c[(c[o>>2]|0)+(c[m>>2]<<2)>>2]|0,c[h>>2]|0)|0;g[b+(q+(c[n>>2]|0)<<2)>>2]=+g[(c[f>>2]|0)+(d+(c[m>>2]|0)<<2)>>2];c[n>>2]=(c[n>>2]|0)+1}c[m>>2]=(c[m>>2]|0)+1}o=c[f>>2]|0;n=c[l>>2]|0;n=n<<2;q=0;q=n+q|0;pj(o|0,b|0,q|0)|0;q=c[k>>2]|0;na(q|0);i=p;return}else{c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[j>>2]|0))break;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[h>>2]|0))break;o=_(c[n>>2]|0,c[j>>2]|0)|0;q=_(c[m>>2]|0,c[h>>2]|0)|0;g[b+(q+(c[n>>2]|0)<<2)>>2]=+g[(c[f>>2]|0)+(o+(c[m>>2]|0)<<2)>>2];c[n>>2]=(c[n>>2]|0)+1}c[m>>2]=(c[m>>2]|0)+1}o=c[f>>2]|0;n=c[l>>2]|0;n=n<<2;q=0;q=n+q|0;pj(o|0,b|0,q|0)|0;q=c[k>>2]|0;na(q|0);i=p;return}}function Qa(a,e,f,h,j,k,l,m,n){a=a|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|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,N=0,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=i;i=i+176|0;G=Y+164|0;H=Y+160|0;U=Y+156|0;D=Y+152|0;V=Y+148|0;I=Y+144|0;J=Y+140|0;W=Y+136|0;K=Y+132|0;Z=Y+128|0;v=Y+124|0;p=Y+120|0;r=Y+116|0;s=Y+112|0;L=Y+108|0;P=Y+104|0;T=Y+100|0;X=Y+96|0;w=Y+92|0;M=Y+88|0;E=Y+84|0;u=Y+80|0;q=Y+76|0;A=Y+72|0;C=Y+68|0;O=Y+64|0;S=Y+60|0;B=Y+56|0;N=Y+52|0;F=Y+48|0;x=Y+24|0;Q=Y+20|0;R=Y+16|0;z=Y+12|0;t=Y+8|0;o=Y+4|0;y=Y;c[G>>2]=a;c[H>>2]=e;c[U>>2]=f;c[D>>2]=h;c[V>>2]=j;c[I>>2]=k;c[J>>2]=l;g[W>>2]=m;c[K>>2]=n;c[r>>2]=0;c[s>>2]=0;c[L>>2]=c[V>>2];g[P>>2]=0.0;g[T>>2]=0.0;c[X>>2]=0;c[w>>2]=((c[c[G>>2]>>2]|0)!=0^1)&1;c[M>>2]=0;c[E>>2]=c[c[G>>2]>>2];c[u>>2]=c[(c[G>>2]|0)+4>>2];c[q>>2]=c[(c[G>>2]|0)+8>>2];c[A>>2]=c[(c[G>>2]|0)+16>>2];c[C>>2]=c[(c[G>>2]|0)+24>>2];k=_((c[J>>2]|0)+1|0,c[(c[u>>2]|0)+8>>2]|0)|0;c[Z>>2]=(c[(c[u>>2]|0)+92+8>>2]|0)+(b[(c[(c[u>>2]|0)+92+4>>2]|0)+(k+(c[q>>2]|0)<<1)>>1]|0);if((c[J>>2]|0)!=-1?((c[U>>2]|0)>2?(c[D>>2]|0)>((d[(c[Z>>2]|0)+(d[c[Z>>2]>>0]|0)>>0]|0)+12|0):0):0){c[Q>>2]=0;c[U>>2]=c[U>>2]>>1;c[M>>2]=(c[H>>2]|0)+(c[U>>2]<<2);c[J>>2]=(c[J>>2]|0)-1;if((c[V>>2]|0)==1)c[K>>2]=c[K>>2]&1|c[K>>2]<<1;c[V>>2]=(c[V>>2]|0)+1>>1;Sa(c[G>>2]|0,x,c[H>>2]|0,c[M>>2]|0,c[U>>2]|0,D,c[V>>2]|0,c[L>>2]|0,c[J>>2]|0,0,K);c[r>>2]=c[x+4>>2];c[s>>2]=c[x+8>>2];c[B>>2]=c[x+12>>2];c[N>>2]=c[x+16>>2];c[F>>2]=c[x+20>>2];g[P>>2]=+(c[r>>2]|0)*.000030517578125;g[T>>2]=+(c[s>>2]|0)*.000030517578125;do if((c[L>>2]|0)>1?c[N>>2]&16383|0:0){j=c[B>>2]|0;if((c[N>>2]|0)>8192){c[B>>2]=(c[B>>2]|0)-(j>>4-(c[J>>2]|0));break}if(0<(j+(c[U>>2]<<3>>5-(c[J>>2]|0))|0))j=0;else j=(c[B>>2]|0)+(c[U>>2]<<3>>5-(c[J>>2]|0))|0;c[B>>2]=j}while(0);j=c[D>>2]|0;if((c[D>>2]|0)>=(((c[D>>2]|0)-(c[B>>2]|0)|0)/2|0|0))j=(j-(c[B>>2]|0)|0)/2|0;if(0<=(j|0)){j=c[D>>2]|0;if((c[D>>2]|0)>=(((c[D>>2]|0)-(c[B>>2]|0)|0)/2|0|0))j=(j-(c[B>>2]|0)|0)/2|0}else j=0;c[O>>2]=j;c[S>>2]=(c[D>>2]|0)-(c[O>>2]|0);Z=(c[G>>2]|0)+28|0;c[Z>>2]=(c[Z>>2]|0)-(c[F>>2]|0);if(c[I>>2]|0)c[Q>>2]=(c[I>>2]|0)+(c[U>>2]<<2);c[R>>2]=c[(c[G>>2]|0)+28>>2];j=c[G>>2]|0;if((c[O>>2]|0)>=(c[S>>2]|0)){c[X>>2]=Qa(j,c[H>>2]|0,c[U>>2]|0,c[O>>2]|0,c[V>>2]|0,c[I>>2]|0,c[J>>2]|0,+g[W>>2]*+g[P>>2],c[K>>2]|0)|0;c[R>>2]=(c[O>>2]|0)-((c[R>>2]|0)-(c[(c[G>>2]|0)+28>>2]|0));if((c[R>>2]|0)>24&(c[N>>2]|0)!=0)c[S>>2]=(c[S>>2]|0)+((c[R>>2]|0)-24);Z=Qa(c[G>>2]|0,c[M>>2]|0,c[U>>2]|0,c[S>>2]|0,c[V>>2]|0,c[Q>>2]|0,c[J>>2]|0,+g[W>>2]*+g[T>>2],c[K>>2]>>c[V>>2])|0;c[X>>2]=c[X>>2]|Z<<(c[L>>2]>>1);Z=c[X>>2]|0;i=Y;return Z|0}else{Z=Qa(j,c[M>>2]|0,c[U>>2]|0,c[S>>2]|0,c[V>>2]|0,c[Q>>2]|0,c[J>>2]|0,+g[W>>2]*+g[T>>2],c[K>>2]>>c[V>>2])|0;c[X>>2]=Z<<(c[L>>2]>>1);c[R>>2]=(c[S>>2]|0)-((c[R>>2]|0)-(c[(c[G>>2]|0)+28>>2]|0));if((c[R>>2]|0)>24&(c[N>>2]|0)!=16384)c[O>>2]=(c[O>>2]|0)+((c[R>>2]|0)-24);Z=Qa(c[G>>2]|0,c[H>>2]|0,c[U>>2]|0,c[O>>2]|0,c[V>>2]|0,c[I>>2]|0,c[J>>2]|0,+g[W>>2]*+g[P>>2],c[K>>2]|0)|0;c[X>>2]=c[X>>2]|Z;Z=c[X>>2]|0;i=Y;return Z|0}}c[v>>2]=Ta(c[u>>2]|0,c[q>>2]|0,c[J>>2]|0,c[D>>2]|0)|0;c[p>>2]=Ua(c[u>>2]|0,c[q>>2]|0,c[J>>2]|0,c[v>>2]|0)|0;Z=(c[G>>2]|0)+28|0;c[Z>>2]=(c[Z>>2]|0)-(c[p>>2]|0);while(1){if(!((c[(c[G>>2]|0)+28>>2]|0)<0?(c[v>>2]|0)>0:0))break;Z=(c[G>>2]|0)+28|0;c[Z>>2]=(c[Z>>2]|0)+(c[p>>2]|0);c[v>>2]=(c[v>>2]|0)+-1;c[p>>2]=Ua(c[u>>2]|0,c[q>>2]|0,c[J>>2]|0,c[v>>2]|0)|0;Z=(c[G>>2]|0)+28|0;c[Z>>2]=(c[Z>>2]|0)-(c[p>>2]|0)}if(c[v>>2]|0){c[z>>2]=Va(c[v>>2]|0)|0;o=c[H>>2]|0;h=c[U>>2]|0;e=c[z>>2]|0;f=c[A>>2]|0;l=c[V>>2]|0;j=c[C>>2]|0;if(c[E>>2]|0){c[X>>2]=md(o,h,e,f,l,j)|0;Z=c[X>>2]|0;i=Y;return Z|0}else{c[X>>2]=rd(o,h,e,f,l,j,+g[W>>2])|0;Z=c[X>>2]|0;i=Y;return Z|0}}if(!(c[w>>2]|0)){Z=c[X>>2]|0;i=Y;return Z|0}c[o>>2]=(1<>2])-1;c[K>>2]=c[K>>2]&c[o>>2];if(!(c[K>>2]|0)){oj(c[H>>2]|0,0,c[U>>2]<<2|0)|0;Z=c[X>>2]|0;i=Y;return Z|0}Z=(c[I>>2]|0)==0;c[t>>2]=0;if(Z){while(1){if((c[t>>2]|0)>=(c[U>>2]|0))break;Z=Ba(c[(c[G>>2]|0)+36>>2]|0)|0;c[(c[G>>2]|0)+36>>2]=Z;g[(c[H>>2]|0)+(c[t>>2]<<2)>>2]=+(c[(c[G>>2]|0)+36>>2]>>20|0);c[t>>2]=(c[t>>2]|0)+1}c[X>>2]=c[o>>2]}else{while(1){if((c[t>>2]|0)>=(c[U>>2]|0))break;Z=Ba(c[(c[G>>2]|0)+36>>2]|0)|0;c[(c[G>>2]|0)+36>>2]=Z;g[y>>2]=.00390625;m=+g[y>>2];g[y>>2]=c[(c[G>>2]|0)+36>>2]&32768|0?m:-m;g[(c[H>>2]|0)+(c[t>>2]<<2)>>2]=+g[(c[I>>2]|0)+(c[t>>2]<<2)>>2]+ +g[y>>2];c[t>>2]=(c[t>>2]|0)+1}c[X>>2]=c[K>>2]}td(c[H>>2]|0,c[U>>2]|0,+g[W>>2],c[(c[G>>2]|0)+40>>2]|0);Z=c[X>>2]|0;i=Y;return Z|0}function Ra(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;h=p+32|0;j=p+28|0;k=p+24|0;q=p+20|0;n=p+16|0;o=p+12|0;m=p+8|0;l=p+4|0;f=p;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[q>>2]=e;c[m>>2]=_(c[j>>2]|0,c[k>>2]|0)|0;d=c[m>>2]|0;c[l>>2]=ia()|0;a=i;i=i+((1*(d<<2)|0)+15&-16)|0;if(c[q>>2]|0){c[f>>2]=8+(c[k>>2]<<2)+-8;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[k>>2]|0))break;c[o>>2]=0;while(1){b=c[n>>2]|0;if((c[o>>2]|0)>=(c[j>>2]|0))break;d=_(c[(c[f>>2]|0)+(b<<2)>>2]|0,c[j>>2]|0)|0;q=_(c[o>>2]|0,c[k>>2]|0)|0;g[a+(q+(c[n>>2]|0)<<2)>>2]=+g[(c[h>>2]|0)+(d+(c[o>>2]|0)<<2)>>2];c[o>>2]=(c[o>>2]|0)+1}c[n>>2]=b+1}o=c[h>>2]|0;n=c[m>>2]|0;n=n<<2;q=0;q=n+q|0;pj(o|0,a|0,q|0)|0;q=c[l>>2]|0;na(q|0);i=p;return}else{c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[k>>2]|0))break;c[o>>2]=0;while(1){b=c[n>>2]|0;if((c[o>>2]|0)>=(c[j>>2]|0))break;f=_(b,c[j>>2]|0)|0;q=_(c[o>>2]|0,c[k>>2]|0)|0;g[a+(q+(c[n>>2]|0)<<2)>>2]=+g[(c[h>>2]|0)+(f+(c[o>>2]|0)<<2)>>2];c[o>>2]=(c[o>>2]|0)+1}c[n>>2]=b+1}o=c[h>>2]|0;n=c[m>>2]|0;n=n<<2;q=0;q=n+q|0;pj(o|0,a|0,q|0)|0;q=c[l>>2]|0;na(q|0);i=p;return}}function Sa(a,d,e,f,h,j,k,l,m,n,o){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0;Y=i;i=i+160|0;p=Y+148|0;K=Y+144|0;D=Y+140|0;E=Y+136|0;M=Y+132|0;N=Y+128|0;O=Y+124|0;q=Y+120|0;ba=Y+116|0;F=Y+112|0;L=Y+108|0;J=Y+104|0;V=Y+100|0;P=Y+96|0;S=Y+92|0;U=Y+88|0;W=Y+84|0;$=Y+80|0;aa=Y+76|0;X=Y+72|0;T=Y+68|0;R=Y+64|0;I=Y+60|0;H=Y+56|0;Z=Y+52|0;Q=Y+48|0;G=Y+44|0;z=Y+40|0;B=Y+36|0;A=Y+32|0;C=Y+28|0;u=Y+24|0;x=Y+20|0;y=Y+16|0;w=Y+12|0;r=Y+8|0;s=Y+4|0;t=Y;c[p>>2]=a;c[K>>2]=d;c[D>>2]=e;c[E>>2]=f;c[M>>2]=h;c[N>>2]=j;c[O>>2]=k;c[q>>2]=l;c[ba>>2]=m;c[F>>2]=n;c[L>>2]=o;c[V>>2]=0;c[T>>2]=0;c[R>>2]=c[c[p>>2]>>2];c[I>>2]=c[(c[p>>2]|0)+4>>2];c[H>>2]=c[(c[p>>2]|0)+8>>2];c[Z>>2]=c[(c[p>>2]|0)+12>>2];c[Q>>2]=c[(c[p>>2]|0)+24>>2];c[G>>2]=c[(c[p>>2]|0)+32>>2];c[$>>2]=(b[(c[(c[I>>2]|0)+56>>2]|0)+(c[H>>2]<<1)>>1]|0)+(c[ba>>2]<<3);c[aa>>2]=(c[$>>2]>>1)-((c[F>>2]|0?(c[M>>2]|0)==2:0)?16:4);c[J>>2]=Wa(c[M>>2]|0,c[c[N>>2]>>2]|0,c[aa>>2]|0,c[$>>2]|0,c[F>>2]|0)|0;if(c[F>>2]|0?(c[H>>2]|0)>=(c[Z>>2]|0):0)c[J>>2]=1;if(c[R>>2]|0)c[V>>2]=vd(c[D>>2]|0,c[E>>2]|0,c[F>>2]|0,c[M>>2]|0,c[(c[p>>2]|0)+40>>2]|0)|0;c[X>>2]=Xb(c[Q>>2]|0)|0;do if((c[J>>2]|0)!=1){if(c[R>>2]|0)c[V>>2]=(_(c[V>>2]|0,c[J>>2]|0)|0)+8192>>14;do if((c[F>>2]|0)!=0&(c[M>>2]|0)>2){c[z>>2]=3;c[B>>2]=c[V>>2];c[A>>2]=(c[J>>2]|0)/2|0;k=_(c[z>>2]|0,(c[A>>2]|0)+1|0)|0;c[C>>2]=k+(c[A>>2]|0);k=c[Q>>2]|0;if(c[R>>2]|0){if((c[B>>2]|0)<=(c[A>>2]|0))q=_(c[z>>2]|0,c[B>>2]|0)|0;else q=(c[B>>2]|0)-1-(c[A>>2]|0)+(_((c[A>>2]|0)+1|0,c[z>>2]|0)|0)|0;if((c[B>>2]|0)<=(c[A>>2]|0))p=_(c[z>>2]|0,(c[B>>2]|0)+1|0)|0;else p=(c[B>>2]|0)-(c[A>>2]|0)+(_((c[A>>2]|0)+1|0,c[z>>2]|0)|0)|0;jc(k,q,p,c[C>>2]|0);break}c[u>>2]=$b(k,c[C>>2]|0)|0;if((c[u>>2]|0)<(_((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)-(_((c[A>>2]|0)+1|0,c[z>>2]|0)|0));if((c[B>>2]|0)<=(c[A>>2]|0))q=_(c[z>>2]|0,c[B>>2]|0)|0;else q=(c[B>>2]|0)-1-(c[A>>2]|0)+(_((c[A>>2]|0)+1|0,c[z>>2]|0)|0)|0;if((c[B>>2]|0)<=(c[A>>2]|0))p=_(c[z>>2]|0,(c[B>>2]|0)+1|0)|0;else p=(c[B>>2]|0)-(c[A>>2]|0)+(_((c[A>>2]|0)+1|0,c[z>>2]|0)|0)|0;cc(c[Q>>2]|0,q,p,c[C>>2]|0);c[V>>2]=c[B>>2]}else{if((c[q>>2]|0)>1|(c[F>>2]|0)!=0){p=c[Q>>2]|0;if(c[R>>2]|0){rc(p,c[V>>2]|0,(c[J>>2]|0)+1|0);break}else{c[V>>2]=fc(p,(c[J>>2]|0)+1|0)|0;break}}c[x>>2]=1;c[y>>2]=_((c[J>>2]>>1)+1|0,(c[J>>2]>>1)+1|0)|0;if(!(c[R>>2]|0)){c[r>>2]=0;c[s>>2]=$b(c[Q>>2]|0,c[y>>2]|0)|0;if((c[s>>2]|0)<((_(c[J>>2]>>1,(c[J>>2]>>1)+1|0)|0)>>1|0)){c[V>>2]=((Gc((c[s>>2]<<3)+1|0)|0)-1|0)>>>1;c[x>>2]=(c[V>>2]|0)+1;c[r>>2]=(_(c[V>>2]|0,(c[V>>2]|0)+1|0)|0)>>1}else{ba=(c[J>>2]|0)+1<<1;c[V>>2]=(ba-(Gc(((c[y>>2]|0)-(c[s>>2]|0)-1<<3)+1|0)|0)|0)>>>1;c[x>>2]=(c[J>>2]|0)+1-(c[V>>2]|0);c[r>>2]=(c[y>>2]|0)-((_((c[J>>2]|0)+1-(c[V>>2]|0)|0,(c[J>>2]|0)+2-(c[V>>2]|0)|0)|0)>>1)}cc(c[Q>>2]|0,c[r>>2]|0,(c[r>>2]|0)+(c[x>>2]|0)|0,c[y>>2]|0);break}if((c[V>>2]|0)<=(c[J>>2]>>1|0))p=(c[V>>2]|0)+1|0;else p=(c[J>>2]|0)+1-(c[V>>2]|0)|0;c[x>>2]=p;if((c[V>>2]|0)<=(c[J>>2]>>1|0))p=(_(c[V>>2]|0,(c[V>>2]|0)+1|0)|0)>>1;else p=(c[y>>2]|0)-((_((c[J>>2]|0)+1-(c[V>>2]|0)|0,(c[J>>2]|0)+2-(c[V>>2]|0)|0)|0)>>1)|0;c[w>>2]=p;jc(c[Q>>2]|0,c[w>>2]|0,(c[w>>2]|0)+(c[x>>2]|0)|0,c[y>>2]|0)}while(0);c[V>>2]=Ha(c[V>>2]<<14,c[J>>2]|0)|0;if((c[R>>2]|0)!=0&(c[F>>2]|0)!=0)if(!(c[V>>2]|0)){Xa(c[I>>2]|0,c[D>>2]|0,c[E>>2]|0,c[G>>2]|0,c[H>>2]|0,c[M>>2]|0);break}else{Ya(c[D>>2]|0,c[E>>2]|0,c[M>>2]|0);break}}else if(c[F>>2]|0){if(c[R>>2]|0){c[T>>2]=(c[V>>2]|0)>8192&1;a:do if(c[T>>2]|0){c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[M>>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);Xa(c[I>>2]|0,c[D>>2]|0,c[E>>2]|0,c[G>>2]|0,c[H>>2]|0,c[M>>2]|0)}do if((c[c[N>>2]>>2]|0)>16?(c[(c[p>>2]|0)+28>>2]|0)>16:0){p=c[Q>>2]|0;if(c[R>>2]|0){pc(p,c[T>>2]|0,2);break}else{c[T>>2]=dc(p,2)|0;break}}else v=60;while(0);if((v|0)==60)c[T>>2]=0;c[V>>2]=0}while(0);ba=Xb(c[Q>>2]|0)|0;c[W>>2]=ba-(c[X>>2]|0);ba=c[N>>2]|0;c[ba>>2]=(c[ba>>2]|0)-(c[W>>2]|0);if(!(c[V>>2]|0)){c[S>>2]=32767;c[U>>2]=0;ba=c[L>>2]|0;c[ba>>2]=c[ba>>2]&(1<>2])-1;c[P>>2]=-16384;ba=c[T>>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[U>>2]|0;aa=c[K>>2]|0;aa=aa+8|0;c[aa>>2]=ba;aa=c[P>>2]|0;ba=c[K>>2]|0;ba=ba+12|0;c[ba>>2]=aa;ba=c[V>>2]|0;aa=c[K>>2]|0;aa=aa+16|0;c[aa>>2]=ba;aa=c[W>>2]|0;ba=c[K>>2]|0;ba=ba+20|0;c[ba>>2]=aa;i=Y;return}if((c[V>>2]|0)==16384){c[S>>2]=0;c[U>>2]=32767;ba=c[L>>2]|0;c[ba>>2]=c[ba>>2]&(1<>2])-1<>2];c[P>>2]=16384;ba=c[T>>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[U>>2]|0;aa=c[K>>2]|0;aa=aa+8|0;c[aa>>2]=ba;aa=c[P>>2]|0;ba=c[K>>2]|0;ba=ba+12|0;c[ba>>2]=aa;ba=c[V>>2]|0;aa=c[K>>2]|0;aa=aa+16|0;c[aa>>2]=ba;aa=c[W>>2]|0;ba=c[K>>2]|0;ba=ba+20|0;c[ba>>2]=aa;i=Y;return}else{c[S>>2]=(Za(c[V>>2]&65535)|0)<<16>>16;c[U>>2]=(Za(16384-(c[V>>2]|0)&65535)|0)<<16>>16;ba=((c[M>>2]|0)-1<<7&65535)<<16>>16;c[P>>2]=16384+(_(ba,((_a(c[U>>2]|0,c[S>>2]|0)|0)&65535)<<16>>16)|0)>>15;ba=c[T>>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[U>>2]|0;aa=c[K>>2]|0;aa=aa+8|0;c[aa>>2]=ba;aa=c[P>>2]|0;ba=c[K>>2]|0;ba=ba+12|0;c[ba>>2]=aa;ba=c[V>>2]|0;aa=c[K>>2]|0;aa=aa+16|0;c[aa>>2]=ba;aa=c[W>>2]|0;ba=c[K>>2]|0;ba=ba+20|0;c[ba>>2]=aa;i=Y;return}}function Ta(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=i;i=i+48|0;k=p+36|0;r=p+32|0;q=p+28|0;s=p+24|0;l=p+20|0;h=p+16|0;o=p+12|0;n=p+8|0;m=p+4|0;j=p;c[r>>2]=a;c[q>>2]=e;c[s>>2]=f;c[l>>2]=g;c[s>>2]=(c[s>>2]|0)+1;a=_(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)+(a+(c[q>>2]|0)<<1)>>1]|0);c[o>>2]=0;c[n>>2]=d[c[m>>2]>>0];c[l>>2]=(c[l>>2]|0)+-1;c[h>>2]=0;while(1){if((c[h>>2]|0)>=6)break;c[j>>2]=(c[o>>2]|0)+(c[n>>2]|0)+1>>1;f=c[j>>2]|0;if((d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)>=(c[l>>2]|0))c[n>>2]=f;else c[o>>2]=f;c[h>>2]=(c[h>>2]|0)+1}if(!(c[o>>2]|0))f=-1;else f=d[(c[m>>2]|0)+(c[o>>2]|0)>>0]|0;if(((c[l>>2]|0)-f|0)<=((d[(c[m>>2]|0)+(c[n>>2]|0)>>0]|0)-(c[l>>2]|0)|0)){c[k>>2]=c[o>>2];s=c[k>>2]|0;i=p;return s|0}else{c[k>>2]=c[n>>2];s=c[k>>2]|0;i=p;return s|0}return 0}function Ua(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;k=i;i=i+32|0;m=k+16|0;l=k+12|0;n=k+8|0;h=k+4|0;j=k;c[m>>2]=a;c[l>>2]=e;c[n>>2]=f;c[h>>2]=g;c[n>>2]=(c[n>>2]|0)+1;g=_(c[n>>2]|0,c[(c[m>>2]|0)+8>>2]|0)|0;c[j>>2]=(c[(c[m>>2]|0)+92+8>>2]|0)+(b[(c[(c[m>>2]|0)+92+4>>2]|0)+(g+(c[l>>2]|0)<<1)>>1]|0);if(!(c[h>>2]|0)){n=0;i=k;return n|0}n=(d[(c[j>>2]|0)+(c[h>>2]|0)>>0]|0)+1|0;i=k;return n|0}function Va(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;a=c[b>>2]|0;if((c[b>>2]|0)<8){b=a;i=d;return b|0}b=8+(a&7)<<(c[b>>2]>>3)-1;i=d;return b|0}function Wa(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=i;i=i+32|0;p=o+28|0;h=o+24|0;j=o+20|0;k=o+16|0;q=o+12|0;n=o+8|0;m=o+4|0;l=o;c[p>>2]=a;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[q>>2]=g;c[l>>2]=(c[p>>2]<<1)-1;if((c[q>>2]|0)!=0&(c[p>>2]|0)==2)c[l>>2]=(c[l>>2]|0)+-1;q=(c[h>>2]|0)+(_(c[l>>2]|0,c[j>>2]|0)|0)|0;c[m>>2]=La(q,c[l>>2]|0)|0;if(((c[h>>2]|0)-(c[k>>2]|0)-32|0)<(c[m>>2]|0))h=(c[h>>2]|0)-(c[k>>2]|0)-32|0;else h=c[m>>2]|0;c[m>>2]=h;c[m>>2]=64<(c[m>>2]|0)?64:c[m>>2]|0;if((c[m>>2]|0)<4){c[n>>2]=1;q=c[n>>2]|0;i=o;return q|0}else{c[n>>2]=b[22328+((c[m>>2]&7)<<1)>>1]>>14-(c[m>>2]>>3);c[n>>2]=(c[n>>2]|0)+1>>1<<1;q=c[n>>2]|0;i=o;return q|0}return 0}function Xa(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 j=0,k=0,l=0,m=0,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=i;i=i+64|0;v=r+56|0;j=r+52|0;k=r+48|0;x=r+44|0;y=r+40|0;l=r+36|0;w=r+32|0;o=r+28|0;m=r+24|0;n=r+20|0;u=r+16|0;t=r+12|0;s=r+8|0;q=r+4|0;p=r;c[v>>2]=a;c[j>>2]=b;c[k>>2]=d;c[x>>2]=e;c[y>>2]=f;c[l>>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]=+O(+(+g[u>>2]*+g[u>>2]+1.0000000036274937e-15+ +g[t>>2]*+g[t>>2]))+1.0000000036274937e-15;g[m>>2]=+g[u>>2]/+g[s>>2];g[n>>2]=+g[t>>2]/+g[s>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[l>>2]|0))break;g[p>>2]=+g[(c[j>>2]|0)+(c[o>>2]<<2)>>2];g[q>>2]=+g[(c[k>>2]|0)+(c[o>>2]<<2)>>2];g[(c[j>>2]|0)+(c[o>>2]<<2)>>2]=+g[m>>2]*+g[p>>2]+ +g[n>>2]*+g[q>>2];c[o>>2]=(c[o>>2]|0)+1}i=r;return}function Ya(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+20|0;f=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[e>>2]=a;c[f>>2]=b;c[h>>2]=d;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[h>>2]|0))break;g[k>>2]=+g[(c[e>>2]|0)+(c[j>>2]<<2)>>2]*.7071067690849304;g[l>>2]=+g[(c[f>>2]|0)+(c[j>>2]<<2)>>2]*.7071067690849304;g[(c[e>>2]|0)+(c[j>>2]<<2)>>2]=+g[k>>2]+ +g[l>>2];g[(c[f>>2]|0)+(c[j>>2]<<2)>>2]=+g[l>>2]-+g[k>>2];c[j>>2]=(c[j>>2]|0)+1}i=m;return}function Za(a){a=a|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+6|0;f=e;d=e+4|0;b[g>>1]=a;c[f>>2]=4096+(_(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+(_(b[d>>1]|0,((16384+(_(b[d>>1]|0,(8277+(16384+(_(-626,b[d>>1]|0)|0)>>15)&65535)<<16>>16)|0)>>15)+-7651&65535)<<16>>16)|0)>>15);i=e;return 1+(b[d>>1]|0)&65535|0}function _a(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+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-(aa(c[e>>2]|0)|0);c[h>>2]=32-(aa(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);a=((c[h>>2]|0)-(c[g>>2]|0)<<11)+(16384+(_((c[f>>2]&65535)<<16>>16,((16384+(_((c[f>>2]&65535)<<16>>16,-2597)|0)>>15)+7932&65535)<<16>>16)|0)>>15)|0;a=a-(16384+(_((c[e>>2]&65535)<<16>>16,((16384+(_((c[e>>2]&65535)<<16>>16,-2597)|0)>>15)+7932&65535)<<16>>16)|0)>>15)|0;i=d;return a|0}function $a(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;u=i;i=i+64|0;h=u+60|0;j=u+56|0;k=u+52|0;l=u+48|0;o=u+40|0;v=u+36|0;w=u+32|0;m=u+28|0;n=u+24|0;x=u+20|0;t=u+16|0;q=u+12|0;s=u+8|0;r=u+4|0;p=u;c[h>>2]=a;c[j>>2]=b;g[k>>2]=d;c[l>>2]=e;c[u+44>>2]=f;g[v>>2]=0.0;g[w>>2]=0.0;ab(c[j>>2]|0,c[h>>2]|0,c[j>>2]|0,c[l>>2]|0,v,w);g[v>>2]=+g[k>>2]*+g[v>>2];g[x>>2]=+g[k>>2];g[m>>2]=+g[x>>2]*+g[x>>2]+ +g[w>>2]-+g[v>>2]*2.0;g[n>>2]=+g[x>>2]*+g[x>>2]+ +g[w>>2]+ +g[v>>2]*2.0;if(+g[n>>2]<6.000000284984708e-04|+g[m>>2]<6.000000284984708e-04){pj(c[j>>2]|0,c[h>>2]|0,(c[l>>2]<<2)+0|0)|0;i=u;return}g[t>>2]=+g[m>>2];g[q>>2]=1.0/+O(+(+g[t>>2]));g[t>>2]=+g[n>>2];g[s>>2]=1.0/+O(+(+g[t>>2]));c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[l>>2]|0))break;g[p>>2]=+g[k>>2]*+g[(c[h>>2]|0)+(c[o>>2]<<2)>>2];g[r>>2]=+g[(c[j>>2]|0)+(c[o>>2]<<2)>>2];g[(c[h>>2]|0)+(c[o>>2]<<2)>>2]=+g[q>>2]*(+g[p>>2]-+g[r>>2]);g[(c[j>>2]|0)+(c[o>>2]<<2)>>2]=+g[s>>2]*(+g[p>>2]+ +g[r>>2]);c[o>>2]=(c[o>>2]|0)+1}i=u;return}function ab(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 j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;k=t+32|0;l=t+28|0;m=t+24|0;n=t+20|0;o=t+16|0;p=t+12|0;q=t+8|0;r=t+4|0;s=t;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=h;g[r>>2]=0.0;g[s>>2]=0.0;c[q>>2]=0;while(1){j=+g[r>>2];if((c[q>>2]|0)>=(c[n>>2]|0))break;g[r>>2]=j+ +g[(c[k>>2]|0)+(c[q>>2]<<2)>>2]*+g[(c[l>>2]|0)+(c[q>>2]<<2)>>2];g[s>>2]=+g[s>>2]+ +g[(c[k>>2]|0)+(c[q>>2]<<2)>>2]*+g[(c[m>>2]|0)+(c[q>>2]<<2)>>2];c[q>>2]=(c[q>>2]|0)+1}g[c[o>>2]>>2]=j;g[c[p>>2]>>2]=+g[s>>2];i=t;return}function bb(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+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;i=e;return c[b>>2]|0}function cb(a,b,d,e,f,h,j,k,l,m,n,o){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;j=+j;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=i;i=i+112|0;p=N+96|0;q=N+92|0;s=N+88|0;t=N+84|0;u=N+80|0;v=N+76|0;w=N+72|0;x=N+68|0;y=N+64|0;z=N+60|0;r=N+56|0;H=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;I=N+20|0;J=N+16|0;K=N+12|0;L=N+8|0;M=N+4|0;A=N;c[p>>2]=a;c[q>>2]=b;c[s>>2]=d;c[t>>2]=e;c[u>>2]=f;g[v>>2]=h;g[w>>2]=j;c[x>>2]=k;c[y>>2]=l;c[z>>2]=m;c[r>>2]=n;c[N+52>>2]=o;if(+g[v>>2]==0.0&+g[w>>2]==0.0){if((c[q>>2]|0)==(c[p>>2]|0)){i=N;return}qj(c[p>>2]|0,c[q>>2]|0,(c[u>>2]<<2)+0|0)|0;i=N;return}g[B>>2]=+g[v>>2]*+g[128+((c[x>>2]|0)*12|0)>>2];g[C>>2]=+g[v>>2]*+g[128+((c[x>>2]|0)*12|0)+4>>2];g[D>>2]=+g[v>>2]*+g[128+((c[x>>2]|0)*12|0)+8>>2];g[E>>2]=+g[w>>2]*+g[128+((c[y>>2]|0)*12|0)>>2];g[F>>2]=+g[w>>2]*+g[128+((c[y>>2]|0)*12|0)+4>>2];g[G>>2]=+g[w>>2]*+g[128+((c[y>>2]|0)*12|0)+8>>2];g[J>>2]=+g[(c[q>>2]|0)+(0-(c[t>>2]|0)+1<<2)>>2];g[K>>2]=+g[(c[q>>2]|0)+(0-(c[t>>2]|0)<<2)>>2];g[L>>2]=+g[(c[q>>2]|0)+(0-(c[t>>2]|0)-1<<2)>>2];g[M>>2]=+g[(c[q>>2]|0)+(0-(c[t>>2]|0)-2<<2)>>2];if((+g[v>>2]==+g[w>>2]?(c[s>>2]|0)==(c[t>>2]|0):0)?(c[x>>2]|0)==(c[y>>2]|0):0)c[r>>2]=0;c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[r>>2]|0))break;g[I>>2]=+g[(c[q>>2]|0)+((c[H>>2]|0)-(c[t>>2]|0)+2<<2)>>2];g[A>>2]=+g[(c[z>>2]|0)+(c[H>>2]<<2)>>2]*+g[(c[z>>2]|0)+(c[H>>2]<<2)>>2];g[(c[p>>2]|0)+(c[H>>2]<<2)>>2]=+g[(c[q>>2]|0)+(c[H>>2]<<2)>>2]+(1.0-+g[A>>2])*+g[B>>2]*+g[(c[q>>2]|0)+((c[H>>2]|0)-(c[s>>2]|0)<<2)>>2]+(1.0-+g[A>>2])*+g[C>>2]*(+g[(c[q>>2]|0)+((c[H>>2]|0)-(c[s>>2]|0)+1<<2)>>2]+ +g[(c[q>>2]|0)+((c[H>>2]|0)-(c[s>>2]|0)-1<<2)>>2])+(1.0-+g[A>>2])*+g[D>>2]*(+g[(c[q>>2]|0)+((c[H>>2]|0)-(c[s>>2]|0)+2<<2)>>2]+ +g[(c[q>>2]|0)+((c[H>>2]|0)-(c[s>>2]|0)-2<<2)>>2])+ +g[A>>2]*+g[E>>2]*+g[K>>2]+ +g[A>>2]*+g[F>>2]*(+g[J>>2]+ +g[L>>2])+ +g[A>>2]*+g[G>>2]*(+g[I>>2]+ +g[M>>2]);g[M>>2]=+g[L>>2];g[L>>2]=+g[K>>2];g[K>>2]=+g[J>>2];g[J>>2]=+g[I>>2];c[H>>2]=(c[H>>2]|0)+1}if(!(+g[w>>2]==0.0)){db((c[p>>2]|0)+(c[H>>2]<<2)|0,(c[q>>2]|0)+(c[H>>2]<<2)|0,c[t>>2]|0,(c[u>>2]|0)-(c[H>>2]|0)|0,+g[E>>2],+g[F>>2],+g[G>>2]);i=N;return}if((c[q>>2]|0)==(c[p>>2]|0)){i=N;return}qj((c[p>>2]|0)+(c[r>>2]<<2)|0,(c[q>>2]|0)+(c[r>>2]<<2)|0,((c[u>>2]|0)-(c[r>>2]|0)<<2)+0|0)|0;i=N;return}function db(a,b,d,e,f,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;h=+h;j=+j;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+64|0;k=x+48|0;l=x+44|0;m=x+40|0;n=x+36|0;o=x+32|0;p=x+28|0;q=x+24|0;s=x+20|0;t=x+16|0;u=x+12|0;v=x+8|0;w=x+4|0;r=x;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;g[o>>2]=f;g[p>>2]=h;g[q>>2]=j;g[w>>2]=+g[(c[l>>2]|0)+(0-(c[m>>2]|0)-2<<2)>>2];g[v>>2]=+g[(c[l>>2]|0)+(0-(c[m>>2]|0)-1<<2)>>2];g[u>>2]=+g[(c[l>>2]|0)+(0-(c[m>>2]|0)<<2)>>2];g[t>>2]=+g[(c[l>>2]|0)+(0-(c[m>>2]|0)+1<<2)>>2];c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[n>>2]|0))break;g[s>>2]=+g[(c[l>>2]|0)+((c[r>>2]|0)-(c[m>>2]|0)+2<<2)>>2];g[(c[k>>2]|0)+(c[r>>2]<<2)>>2]=+g[(c[l>>2]|0)+(c[r>>2]<<2)>>2]+ +g[o>>2]*+g[u>>2]+ +g[p>>2]*(+g[t>>2]+ +g[v>>2])+ +g[q>>2]*(+g[s>>2]+ +g[w>>2]);g[w>>2]=+g[v>>2];g[v>>2]=+g[u>>2];g[u>>2]=+g[t>>2];g[t>>2]=+g[s>>2];c[r>>2]=(c[r>>2]|0)+1}i=x;return}function eb(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[h>>2]=a;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[(c[h>>2]|0)+8>>2]|0))break;c[m>>2]=(b[(c[(c[h>>2]|0)+32>>2]|0)+((c[n>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[h>>2]|0)+32>>2]|0)+(c[n>>2]<<1)>>1]|0)<>2];a=_(c[(c[h>>2]|0)+8>>2]|0,(c[k>>2]<<1)+(c[l>>2]|0)-1|0)|0;a=_((d[(c[(c[h>>2]|0)+92+12>>2]|0)+(a+(c[n>>2]|0))>>0]|0)+64|0,c[l>>2]|0)|0;a=(_(a,c[m>>2]|0)|0)>>2;c[(c[j>>2]|0)+(c[n>>2]<<2)>>2]=a;c[n>>2]=(c[n>>2]|0)+1}i=o;return}function fb(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+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]=25264;a=c[b>>2]|0;i=e;return a|0}else{c[b>>2]=c[164+(0-(c[d>>2]|0)<<2)>>2];a=c[b>>2]|0;i=e;return a|0}return 0}function gb(){return 25415}function hb(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=Jc(48e3,960,0)|0;a=ib(c[e>>2]|0,c[d>>2]|0)|0;i=b;return a|0}function ib(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;a=204+((_(c[g>>2]|0,c[(c[f>>2]|0)+4>>2]|0)|0)-1<<2)|0;c[d>>2]=a+(c[g>>2]<<10<<2)+((_((c[g>>2]|0)*3|0,c[(c[f>>2]|0)+8>>2]|0)|0)<<2);i=e;return c[d>>2]|0}function jb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;f=k+20|0;g=k+16|0;h=k+12|0;m=k+8|0;l=k+4|0;j=k;c[g>>2]=a;c[h>>2]=b;c[m>>2]=d;c[l>>2]=e;b=c[g>>2]|0;a=Jc(48e3,960,0)|0;c[j>>2]=kb(b,a,c[m>>2]|0,c[l>>2]|0)|0;if(c[j>>2]|0){c[f>>2]=c[j>>2];m=c[f>>2]|0;i=k;return m|0}else{m=bb(c[h>>2]|0)|0;c[(c[g>>2]|0)+28>>2]=m;c[f>>2]=0;m=c[f>>2]|0;i=k;return m|0}return 0}function kb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+20|0;g=l+16|0;h=l+12|0;j=l+8|0;k=l+4|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;if((c[j>>2]|0)<0|(c[j>>2]|0)>2){c[f>>2]=-1;a=c[f>>2]|0;i=l;return a|0}if((c[g>>2]|0)==0|(c[h>>2]|0)==0){c[f>>2]=-7;a=c[f>>2]|0;i=l;return a|0}else{a=c[g>>2]|0;oj(a|0,0,ib(c[h>>2]|0,c[j>>2]|0)|0)|0;c[c[g>>2]>>2]=c[h>>2];a=c[j>>2]|0;c[(c[g>>2]|0)+4>>2]=a;c[(c[g>>2]|0)+8>>2]=a;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[k>>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;lb(c[g>>2]|0,4028,l)|0;c[f>>2]=0;a=c[f>>2]|0;i=l;return a|0}return 0}function lb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;F=i;i=i+128|0;E=F+112|0;C=F+108|0;G=F+104|0;e=F+88|0;m=F+84|0;n=F+80|0;v=F+76|0;w=F+72|0;x=F+68|0;y=F+64|0;z=F+60|0;D=F+56|0;A=F+52|0;B=F+48|0;o=F+44|0;p=F+40|0;f=F+36|0;j=F+32|0;k=F+28|0;l=F+24|0;q=F+20|0;h=F+16|0;r=F+12|0;s=F+8|0;t=F+4|0;u=F;c[C>>2]=a;c[G>>2]=b;c[e>>2]=d;do switch(c[G>>2]|0){case 4010:{D=(c[e>>2]|0)+(4-1)&~(4-1);G=c[D>>2]|0;c[e>>2]=D+4;c[m>>2]=G;if((c[m>>2]|0)<0|(c[m>>2]|0)>10)e=41;else{c[(c[C>>2]|0)+24>>2]=c[m>>2];e=40}break}case 10010:{D=(c[e>>2]|0)+(4-1)&~(4-1);G=c[D>>2]|0;c[e>>2]=D+4;c[n>>2]=G;if((c[n>>2]|0)>=0?(c[n>>2]|0)<(c[(c[c[C>>2]>>2]|0)+8>>2]|0):0){c[(c[C>>2]|0)+32>>2]=c[n>>2];e=40}else e=41;break}case 10012:{D=(c[e>>2]|0)+(4-1)&~(4-1);G=c[D>>2]|0;c[e>>2]=D+4;c[v>>2]=G;if((c[v>>2]|0)>=1?(c[v>>2]|0)<=(c[(c[c[C>>2]>>2]|0)+8>>2]|0):0){c[(c[C>>2]|0)+36>>2]=c[v>>2];e=40}else e=41;break}case 10002:{D=(c[e>>2]|0)+(4-1)&~(4-1);G=c[D>>2]|0;c[e>>2]=D+4;c[w>>2]=G;if((c[w>>2]|0)<0|(c[w>>2]|0)>2)e=41;else{c[(c[C>>2]|0)+20>>2]=(c[w>>2]|0)<=1&1;c[(c[C>>2]|0)+12>>2]=(c[w>>2]|0)==0&1;e=40}break}case 4014:{D=(c[e>>2]|0)+(4-1)&~(4-1);G=c[D>>2]|0;c[e>>2]=D+4;c[x>>2]=G;if((c[x>>2]|0)<0|(c[x>>2]|0)>100)e=41;else{c[(c[C>>2]|0)+56>>2]=c[x>>2];e=40}break}case 4020:{D=(c[e>>2]|0)+(4-1)&~(4-1);G=c[D>>2]|0;c[e>>2]=D+4;c[y>>2]=G;c[(c[C>>2]|0)+52>>2]=c[y>>2];e=40;break}case 4006:{D=(c[e>>2]|0)+(4-1)&~(4-1);G=c[D>>2]|0;c[e>>2]=D+4;c[z>>2]=G;c[(c[C>>2]|0)+44>>2]=c[z>>2];e=40;break}case 4002:{d=(c[e>>2]|0)+(4-1)&~(4-1);G=c[d>>2]|0;c[e>>2]=d+4;c[D>>2]=G;if((c[D>>2]|0)<=500&(c[D>>2]|0)!=-1)e=41;else{if((c[D>>2]|0)<((c[(c[C>>2]|0)+4>>2]|0)*26e4|0))e=c[D>>2]|0;else e=(c[(c[C>>2]|0)+4>>2]|0)*26e4|0;c[D>>2]=e;c[(c[C>>2]|0)+40>>2]=c[D>>2];e=40}break}case 10008:{D=(c[e>>2]|0)+(4-1)&~(4-1);G=c[D>>2]|0;c[e>>2]=D+4;c[A>>2]=G;if((c[A>>2]|0)<1|(c[A>>2]|0)>2)e=41;else{c[(c[C>>2]|0)+8>>2]=c[A>>2];e=40}break}case 4036:{D=(c[e>>2]|0)+(4-1)&~(4-1);G=c[D>>2]|0;c[e>>2]=D+4;c[B>>2]=G;if((c[B>>2]|0)<8|(c[B>>2]|0)>24)e=41;else{c[(c[C>>2]|0)+60>>2]=c[B>>2];e=40}break}case 4037:{D=(c[e>>2]|0)+(4-1)&~(4-1);G=c[D>>2]|0;c[e>>2]=D+4;c[o>>2]=G;c[c[o>>2]>>2]=c[(c[C>>2]|0)+60>>2];e=40;break}case 4040:{D=(c[e>>2]|0)+(4-1)&~(4-1);G=c[D>>2]|0;c[e>>2]=D+4;c[p>>2]=G;c[(c[C>>2]|0)+64>>2]=c[p>>2];e=40;break}case 4028:{c[j>>2]=(c[C>>2]|0)+200+((_(c[(c[C>>2]|0)+4>>2]|0,(c[(c[c[C>>2]>>2]|0)+4>>2]|0)+1024|0)|0)<<2);c[k>>2]=(c[j>>2]|0)+((_(c[(c[C>>2]|0)+4>>2]|0,c[(c[c[C>>2]>>2]|0)+8>>2]|0)|0)<<2);c[l>>2]=(c[k>>2]|0)+((_(c[(c[C>>2]|0)+4>>2]|0,c[(c[c[C>>2]>>2]|0)+8>>2]|0)|0)<<2);oj((c[C>>2]|0)+76|0,0,(ib(c[c[C>>2]>>2]|0,c[(c[C>>2]|0)+4>>2]|0)|0)-((c[C>>2]|0)+76-(c[C>>2]|0))|0)|0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(_(c[(c[C>>2]|0)+4>>2]|0,c[(c[c[C>>2]>>2]|0)+8>>2]|0)|0))break;g[(c[l>>2]|0)+(c[f>>2]<<2)>>2]=-28.0;g[(c[k>>2]|0)+(c[f>>2]<<2)>>2]=-28.0;c[f>>2]=(c[f>>2]|0)+1}c[(c[C>>2]|0)+172>>2]=0;g[(c[C>>2]|0)+84>>2]=1.0;c[(c[C>>2]|0)+80>>2]=2;c[(c[C>>2]|0)+88>>2]=256;c[(c[C>>2]|0)+96>>2]=0;c[(c[C>>2]|0)+100>>2]=0;e=40;break}case 10016:{D=(c[e>>2]|0)+(4-1)&~(4-1);G=c[D>>2]|0;c[e>>2]=D+4;c[q>>2]=G;c[(c[C>>2]|0)+48>>2]=c[q>>2];e=40;break}case 10022:{D=(c[e>>2]|0)+(4-1)&~(4-1);G=c[D>>2]|0;c[e>>2]=D+4;c[h>>2]=G;if(c[h>>2]|0){pj((c[C>>2]|0)+120|0,c[h>>2]|0,28|0)|0;e=40}else e=40;break}case 10015:{D=(c[e>>2]|0)+(4-1)&~(4-1);G=c[D>>2]|0;c[e>>2]=D+4;c[r>>2]=G;if(!(c[r>>2]|0))e=41;else{c[c[r>>2]>>2]=c[c[C>>2]>>2];e=40}break}case 4031:{D=(c[e>>2]|0)+(4-1)&~(4-1);G=c[D>>2]|0;c[e>>2]=D+4;c[s>>2]=G;if(!(c[s>>2]|0))e=41;else{c[c[s>>2]>>2]=c[(c[C>>2]|0)+76>>2];e=40}break}case 10024:{D=(c[e>>2]|0)+(4-1)&~(4-1);G=c[D>>2]|0;c[e>>2]=D+4;c[t>>2]=G;c[(c[C>>2]|0)+68>>2]=c[t>>2];e=40;break}case 10026:{D=(c[e>>2]|0)+(4-1)&~(4-1);G=c[D>>2]|0;c[e>>2]=D+4;c[u>>2]=G;c[(c[C>>2]|0)+192>>2]=c[u>>2];e=40;break}default:{c[E>>2]=-5;G=c[E>>2]|0;i=F;return G|0}}while(0);if((e|0)==40){c[E>>2]=0;G=c[E>>2]|0;i=F;return G|0}else if((e|0)==41){c[E>>2]=-1;G=c[E>>2]|0;i=F;return G|0}return 0}function mb(a,b,d,e,f,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;var l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+64|0;m=z+52|0;q=z+48|0;r=z+44|0;n=z+40|0;s=z+36|0;A=z+32|0;t=z+28|0;o=z+24|0;w=z+20|0;v=z+16|0;x=z+12|0;u=z+8|0;p=z+4|0;y=z;c[m>>2]=a;c[q>>2]=b;c[r>>2]=d;c[n>>2]=e;c[s>>2]=f;c[A>>2]=h;c[t>>2]=j;c[o>>2]=k;g[v>>2]=+g[c[A>>2]>>2];g[x>>2]=+g[c[t>>2]>>2];if(!(((c[s>>2]|0)==1?+g[(c[A>>2]|0)+4>>2]==0.0:0)^1|(c[o>>2]|0)!=0)){c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[r>>2]|0))break;A=_(c[n>>2]|0,c[w>>2]|0)|0;g[p>>2]=+g[(c[m>>2]|0)+(A<<2)>>2]*32768.0;g[(c[q>>2]|0)+(c[w>>2]<<2)>>2]=+g[p>>2]-+g[x>>2];g[x>>2]=+g[v>>2]*+g[p>>2];c[w>>2]=(c[w>>2]|0)+1}g[c[t>>2]>>2]=+g[x>>2];i=z;return}c[u>>2]=(c[r>>2]|0)/(c[s>>2]|0)|0;if((c[s>>2]|0)!=1)oj(c[q>>2]|0,0,c[r>>2]<<2|0)|0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[u>>2]|0))break;p=_(c[n>>2]|0,c[w>>2]|0)|0;A=_(c[w>>2]|0,c[s>>2]|0)|0;g[(c[q>>2]|0)+(A<<2)>>2]=+g[(c[m>>2]|0)+(p<<2)>>2]*32768.0;c[w>>2]=(c[w>>2]|0)+1}a:do if(c[o>>2]|0){c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[u>>2]|0))break a;A=_(c[w>>2]|0,c[s>>2]|0)|0;if(65536.0<+g[(c[q>>2]|0)+(A<<2)>>2])l=65536.0;else{A=_(c[w>>2]|0,c[s>>2]|0)|0;l=+g[(c[q>>2]|0)+(A<<2)>>2]}if(!(-65536.0>l)){A=_(c[w>>2]|0,c[s>>2]|0)|0;if(65536.0<+g[(c[q>>2]|0)+(A<<2)>>2])l=65536.0;else{A=_(c[w>>2]|0,c[s>>2]|0)|0;l=+g[(c[q>>2]|0)+(A<<2)>>2]}}else l=-65536.0;A=_(c[w>>2]|0,c[s>>2]|0)|0;g[(c[q>>2]|0)+(A<<2)>>2]=l;c[w>>2]=(c[w>>2]|0)+1}}while(0);c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[r>>2]|0))break;g[y>>2]=+g[(c[q>>2]|0)+(c[w>>2]<<2)>>2];g[(c[q>>2]|0)+(c[w>>2]<<2)>>2]=+g[y>>2]-+g[x>>2];g[x>>2]=+g[v>>2]*+g[y>>2];c[w>>2]=(c[w>>2]|0)+1}g[c[t>>2]>>2]=+g[x>>2];i=z;return}function nb(a,d,e,f,h,j){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ja=0,ka=0,la=0,ma=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,Ba=0,Da=0,Fa=0,Ga=0,Ha=0,Ja=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,nb=0,vb=0,yb=0;yb=i;i=i+448|0;gb=yb+440|0;hb=yb+436|0;s=yb+432|0;k=yb+428|0;o=yb+424|0;ib=yb+420|0;jb=yb+416|0;$a=yb+412|0;Za=yb+408|0;Ma=yb+404|0;Ga=yb+400|0;p=yb+352|0;y=yb+348|0;bb=yb+344|0;cb=yb+340|0;db=yb+336|0;Wa=yb+332|0;nb=yb+328|0;Ya=yb+324|0;Ja=yb+320|0;La=yb+316|0;T=yb+312|0;S=yb+308|0;xa=yb+304|0;wa=yb+300|0;fb=yb+296|0;_a=yb+292|0;U=yb+288|0;Qa=yb+284|0;P=yb+280|0;Fa=yb+276|0;Ua=yb+272|0;Sa=yb+268|0;Ra=yb+264|0;V=yb+260|0;X=yb+256|0;za=yb+252|0;fa=yb+248|0;ra=yb+244|0;Pa=yb+240|0;ma=yb+236|0;Va=yb+232|0;R=yb+228|0;Oa=yb+224|0;Na=yb+220|0;Xa=yb+216|0;O=yb+212|0;pa=yb+208|0;ka=yb+204|0;qa=yb+200|0;u=yb+196|0;ha=yb+192|0;Ta=yb+188|0;ab=yb+184|0;x=yb+180|0;Z=yb+176|0;M=yb+172|0;Ha=yb+168|0;vb=yb+164|0;la=yb+160|0;oa=yb+156|0;ea=yb+152|0;Ba=yb+148|0;m=yb+144|0;n=yb+140|0;q=yb+136|0;r=yb+132|0;kb=yb+128|0;t=yb+124|0;v=yb+120|0;z=yb+116|0;w=yb+112|0;I=yb+108|0;E=yb+104|0;C=yb+100|0;H=yb+96|0;G=yb+92|0;A=yb+88|0;B=yb+84|0;D=yb+80|0;F=yb+76|0;J=yb+72|0;K=yb+68|0;L=yb+64|0;N=yb+60|0;da=yb+56|0;ca=yb+52|0;Y=yb+48|0;W=yb+44|0;ba=yb+40|0;$=yb+36|0;ta=yb+32|0;ua=yb+28|0;ya=yb+24|0;ga=yb+20|0;ja=yb+16|0;va=yb+12|0;sa=yb+8|0;Da=yb+4|0;lb=yb;c[hb>>2]=a;c[s>>2]=d;c[k>>2]=e;c[o>>2]=f;c[ib>>2]=h;c[jb>>2]=j;c[Wa>>2]=0;c[nb>>2]=0;c[Ya>>2]=c[(c[hb>>2]|0)+4>>2];c[Ja>>2]=c[(c[hb>>2]|0)+8>>2];c[Ua>>2]=15;g[Sa>>2]=0.0;c[Ra>>2]=0;c[Va>>2]=0;c[Na>>2]=0;c[Xa>>2]=0;c[O>>2]=0;c[ka>>2]=0;c[vb>>2]=0;g[la>>2]=0.0;g[oa>>2]=0.0;g[ea>>2]=0.0;c[Ba>>2]=51e4;c[Ta>>2]=c[c[hb>>2]>>2];c[ab>>2]=c[(c[Ta>>2]|0)+8>>2];c[x>>2]=c[(c[Ta>>2]|0)+4>>2];c[Z>>2]=c[(c[Ta>>2]|0)+32>>2];c[fb>>2]=c[(c[hb>>2]|0)+32>>2];c[_a>>2]=c[(c[hb>>2]|0)+36>>2];g[pa>>2]=0.0;if((c[ib>>2]|0)<2|(c[s>>2]|0)==0){c[gb>>2]=-1;vb=c[gb>>2]|0;i=yb;return vb|0}c[k>>2]=_(c[k>>2]|0,c[(c[hb>>2]|0)+28>>2]|0)|0;c[La>>2]=0;while(1){if((c[La>>2]|0)>(c[(c[Ta>>2]|0)+36>>2]|0))break;if((c[(c[Ta>>2]|0)+44>>2]<>2]|0)==(c[k>>2]|0))break;c[La>>2]=(c[La>>2]|0)+1}if((c[La>>2]|0)>(c[(c[Ta>>2]|0)+36>>2]|0)){c[gb>>2]=-1;vb=c[gb>>2]|0;i=yb;return vb|0}c[T>>2]=1<>2];c[Ma>>2]=_(c[T>>2]|0,c[(c[Ta>>2]|0)+44>>2]|0)|0;c[y>>2]=(c[hb>>2]|0)+200+((_(c[Ya>>2]|0,c[x>>2]|0)|0)<<2);c[bb>>2]=(c[hb>>2]|0)+200+((_(c[Ya>>2]|0,(c[x>>2]|0)+1024|0)|0)<<2);c[cb>>2]=(c[bb>>2]|0)+((_(c[Ya>>2]|0,c[ab>>2]|0)|0)<<2);c[db>>2]=(c[cb>>2]|0)+((_(c[Ya>>2]|0,c[ab>>2]|0)|0)<<2);if(!(c[jb>>2]|0)){c[ma>>2]=1;c[xa>>2]=0}else{c[ma>>2]=ob(c[jb>>2]|0)|0;c[xa>>2]=(c[ma>>2]|0)+4>>3}c[ib>>2]=(c[ib>>2]|0)<1275?c[ib>>2]|0:1275;c[wa>>2]=(c[ib>>2]|0)-(c[xa>>2]|0);if(c[(c[hb>>2]|0)+44>>2]|0?(c[(c[hb>>2]|0)+40>>2]|0)!=-1:0){c[m>>2]=c[c[Ta>>2]>>2]>>3;n=_(c[(c[hb>>2]|0)+40>>2]|0,c[k>>2]|0)|0;c[za>>2]=(n+(c[m>>2]>>1)|0)/(c[m>>2]|0)|0;c[V>>2]=c[za>>2]>>6}else{c[za>>2]=0;c[n>>2]=_(c[(c[hb>>2]|0)+40>>2]|0,c[k>>2]|0)|0;if((c[ma>>2]|0)>1)c[n>>2]=(c[n>>2]|0)+(c[ma>>2]|0);if((c[(c[hb>>2]|0)+40>>2]|0)!=-1){if((c[ib>>2]|0)<((((c[n>>2]|0)+(c[c[Ta>>2]>>2]<<2)|0)/(c[c[Ta>>2]>>2]<<3|0)|0)-(((c[(c[hb>>2]|0)+48>>2]|0)!=0^1^1)&1)|0))k=c[ib>>2]|0;else k=(((c[n>>2]|0)+(c[c[Ta>>2]>>2]<<2)|0)/(c[c[Ta>>2]>>2]<<3|0)|0)-(((c[(c[hb>>2]|0)+48>>2]|0)!=0^1^1)&1)|0;do if(2<=(k|0))if((c[ib>>2]|0)<((((c[n>>2]|0)+(c[c[Ta>>2]>>2]<<2)|0)/(c[c[Ta>>2]>>2]<<3|0)|0)-(((c[(c[hb>>2]|0)+48>>2]|0)!=0^1^1)&1)|0)){k=c[ib>>2]|0;break}else{k=(((c[n>>2]|0)+(c[c[Ta>>2]>>2]<<2)|0)/(c[c[Ta>>2]>>2]<<3|0)|0)-(((c[(c[hb>>2]|0)+48>>2]|0)!=0^1^1)&1)|0;break}else k=2;while(0);c[ib>>2]=k}c[V>>2]=c[ib>>2]}if((c[(c[hb>>2]|0)+40>>2]|0)!=-1)c[Ba>>2]=(c[(c[hb>>2]|0)+40>>2]|0)-(_(((c[Ja>>2]|0)*40|0)+20|0,(400>>c[La>>2])-50|0)|0);if(!(c[jb>>2]|0)){ic(p,c[o>>2]|0,c[ib>>2]|0);c[jb>>2]=p}if((c[za>>2]|0)>0?c[(c[hb>>2]|0)+52>>2]|0:0){c[q>>2]=c[za>>2];if((((c[ma>>2]|0)==1?2:0)|0)>((c[za>>2]|0)+(c[q>>2]|0)-(c[(c[hb>>2]|0)+164>>2]|0)>>6|0))k=(c[ma>>2]|0)==1?2:0;else k=(c[za>>2]|0)+(c[q>>2]|0)-(c[(c[hb>>2]|0)+164>>2]|0)>>6;do if((k|0)<(c[wa>>2]|0))if((((c[ma>>2]|0)==1?2:0)|0)>((c[za>>2]|0)+(c[q>>2]|0)-(c[(c[hb>>2]|0)+164>>2]|0)>>6|0)){k=(c[ma>>2]|0)==1?2:0;break}else{k=(c[za>>2]|0)+(c[q>>2]|0)-(c[(c[hb>>2]|0)+164>>2]|0)>>6;break}else k=c[wa>>2]|0;while(0);c[r>>2]=k;if((c[r>>2]|0)<(c[wa>>2]|0)){c[ib>>2]=(c[xa>>2]|0)+(c[r>>2]|0);c[wa>>2]=c[r>>2];vc(c[jb>>2]|0,c[ib>>2]|0)}}c[fa>>2]=c[ib>>2]<<3;c[U>>2]=c[_a>>2];if((c[U>>2]|0)>(c[(c[Ta>>2]|0)+12>>2]|0))c[U>>2]=c[(c[Ta>>2]|0)+12>>2];r=_(c[Ya>>2]|0,(c[Ma>>2]|0)+(c[x>>2]|0)|0)|0;c[kb>>2]=ia()|0;e=i;i=i+((1*(r<<2)|0)+15&-16)|0;l=+g[(c[hb>>2]|0)+180>>2];r=_(c[Ja>>2]|0,(c[Ma>>2]|0)-(c[x>>2]|0)|0)|0;if(l>+pb(c[s>>2]|0,(r|0)/(c[(c[hb>>2]|0)+28>>2]|0)|0))l=+g[(c[hb>>2]|0)+180>>2];else{r=_(c[Ja>>2]|0,(c[Ma>>2]|0)-(c[x>>2]|0)|0)|0;l=+pb(c[s>>2]|0,(r|0)/(c[(c[hb>>2]|0)+28>>2]|0)|0)}g[u>>2]=l;q=_(c[Ja>>2]|0,(c[Ma>>2]|0)-(c[x>>2]|0)|0)|0;r=_(c[Ja>>2]|0,c[x>>2]|0)|0;l=+pb((c[s>>2]|0)+(((q|0)/(c[(c[hb>>2]|0)+28>>2]|0)|0)<<2)|0,(r|0)/(c[(c[hb>>2]|0)+28>>2]|0)|0);g[(c[hb>>2]|0)+180>>2]=l;if(+g[u>>2]>+g[(c[hb>>2]|0)+180>>2])l=+g[u>>2];else l=+g[(c[hb>>2]|0)+180>>2];g[u>>2]=l;c[Xa>>2]=+g[u>>2]<=1.0/+(1<>2]|0)+60>>2]|0)&1;if((c[ma>>2]|0)==1)pc(c[jb>>2]|0,c[Xa>>2]|0,15);else c[Xa>>2]=0;if(c[Xa>>2]|0){if((c[za>>2]|0)>0){r=(c[ib>>2]|0)<((c[xa>>2]|0)+2|0)?c[ib>>2]|0:(c[xa>>2]|0)+2|0;c[ib>>2]=r;c[V>>2]=r;c[fa>>2]=c[ib>>2]<<3;c[wa>>2]=2;vc(c[jb>>2]|0,c[ib>>2]|0)}c[ma>>2]=c[ib>>2]<<3;q=c[ma>>2]|0;q=q-(ob(c[jb>>2]|0)|0)|0;r=(c[jb>>2]|0)+20|0;c[r>>2]=(c[r>>2]|0)+q}c[Za>>2]=0;do{c[t>>2]=0;c[t>>2]=(c[(c[hb>>2]|0)+16>>2]|0?+g[u>>2]>65536.0:0)&1;r=e+((_(c[Za>>2]|0,(c[Ma>>2]|0)+(c[x>>2]|0)|0)|0)<<2)|0;mb((c[s>>2]|0)+(c[Za>>2]<<2)|0,r+(c[x>>2]<<2)|0,c[Ma>>2]|0,c[Ya>>2]|0,c[(c[hb>>2]|0)+28>>2]|0,(c[Ta>>2]|0)+16|0,(c[hb>>2]|0)+148+(c[Za>>2]<<2)|0,c[t>>2]|0);r=(c[Za>>2]|0)+1|0;c[Za>>2]=r}while((r|0)<(c[Ya>>2]|0));if((c[wa>>2]|0)>3?(c[(c[hb>>2]|0)+68>>2]|0)!=0:0)if((c[fb>>2]|0)!=0|(c[Xa>>2]|0)!=0)k=0;else Q=63;else if(((c[fb>>2]|0)==0?(c[wa>>2]|0)>((c[Ja>>2]|0)*12|0):0)^1|(c[Xa>>2]|0)!=0)k=0;else Q=63;if((Q|0)==63)if(!(c[(c[hb>>2]|0)+20>>2]|0)?(c[(c[hb>>2]|0)+24>>2]|0)>=5:0){if((c[La>>2]|0)!=3?(c[(c[hb>>2]|0)+116>>2]|0)!=0:0)k=(c[(c[hb>>2]|0)+64>>2]|0)==5010;else k=0;k=k^1}else k=0;c[v>>2]=k&1;c[Va>>2]=c[(c[hb>>2]|0)+100>>2];c[R>>2]=qb(c[hb>>2]|0,e,c[y>>2]|0,c[Ya>>2]|0,c[Ma>>2]|0,c[Va>>2]|0,Ua,Sa,z,c[v>>2]|0,c[wa>>2]|0)|0;if(!(!(+g[Sa>>2]>.4000000059604645)?!(+g[(c[hb>>2]|0)+108>>2]>.4000000059604645):0))Q=70;do if((Q|0)==70){if(c[(c[hb>>2]|0)+120>>2]|0?!(+g[(c[hb>>2]|0)+120+4>>2]>.3):0)break;if(!(+(c[Ua>>2]|0)>+(c[(c[hb>>2]|0)+104>>2]|0)*1.26)?!(+(c[Ua>>2]|0)<+(c[(c[hb>>2]|0)+104>>2]|0)*.79):0)break;c[ka>>2]=1}while(0);if(!(c[R>>2]|0)){if((c[fb>>2]|0)==0?((c[ma>>2]|0)+16|0)<=(c[fa>>2]|0):0)pc(c[jb>>2]|0,0,1)}else{pc(c[jb>>2]|0,1,1);c[Ua>>2]=(c[Ua>>2]|0)+1;c[w>>2]=32-(aa(c[Ua>>2]|0)|0)-5;rc(c[jb>>2]|0,c[w>>2]|0,6);sc(c[jb>>2]|0,(c[Ua>>2]|0)-(16<>2])|0,4+(c[w>>2]|0)|0);c[Ua>>2]=(c[Ua>>2]|0)-1;sc(c[jb>>2]|0,c[z>>2]|0,3);qc(c[jb>>2]|0,c[Va>>2]|0,25429,2)}c[nb>>2]=0;c[Wa>>2]=0;if((c[(c[hb>>2]|0)+24>>2]|0)>=1?(c[(c[hb>>2]|0)+68>>2]|0)==0:0)c[nb>>2]=rb(e,(c[Ma>>2]|0)+(c[x>>2]|0)|0,c[Ya>>2]|0,pa,O)|0;if((c[La>>2]|0)>0?(z=(ob(c[jb>>2]|0)|0)+3|0,(z|0)<=(c[fa>>2]|0)):0){if(c[nb>>2]|0)c[Wa>>2]=c[T>>2]}else{c[nb>>2]=0;c[vb>>2]=1}z=(_(c[Ya>>2]|0,c[Ma>>2]|0)|0)<<2;f=i;i=i+((1*z|0)+15&-16)|0;z=(_(c[ab>>2]|0,c[Ya>>2]|0)|0)<<2;p=i;i=i+((1*z|0)+15&-16)|0;z=(_(c[ab>>2]|0,c[Ya>>2]|0)|0)<<2;o=i;i=i+((1*z|0)+15&-16)|0;if(c[Wa>>2]|0)k=(c[(c[hb>>2]|0)+24>>2]|0)>=8;else k=0;c[M>>2]=k&1;z=(_(c[Ja>>2]|0,c[ab>>2]|0)|0)<<2;j=i;i=i+((1*z|0)+15&-16)|0;a:do if(c[M>>2]|0){sb(c[Ta>>2]|0,0,e,f,c[Ja>>2]|0,c[Ya>>2]|0,c[La>>2]|0,c[(c[hb>>2]|0)+28>>2]|0,c[(c[hb>>2]|0)+72>>2]|0);Ca(c[Ta>>2]|0,f,p,c[U>>2]|0,c[Ja>>2]|0,c[La>>2]|0);id(c[Ta>>2]|0,c[U>>2]|0,c[_a>>2]|0,p,j,c[Ja>>2]|0);c[$a>>2]=0;while(1){if((c[$a>>2]|0)>=(_(c[Ja>>2]|0,c[ab>>2]|0)|0))break a;z=j+(c[$a>>2]<<2)|0;g[z>>2]=+g[z>>2]+ +(c[La>>2]|0)*.5;c[$a>>2]=(c[$a>>2]|0)+1}}while(0);sb(c[Ta>>2]|0,c[Wa>>2]|0,e,f,c[Ja>>2]|0,c[Ya>>2]|0,c[La>>2]|0,c[(c[hb>>2]|0)+28>>2]|0,c[(c[hb>>2]|0)+72>>2]|0);if((c[Ya>>2]|0)==2&(c[Ja>>2]|0)==1)c[O>>2]=0;Ca(c[Ta>>2]|0,f,p,c[U>>2]|0,c[Ja>>2]|0,c[La>>2]|0);b:do if(c[(c[hb>>2]|0)+68>>2]|0){c[$a>>2]=2;while(1){if((c[$a>>2]|0)>=(c[_a>>2]|0))break b;if(+g[p+(c[$a>>2]<<2)>>2]<+g[p>>2]*9.999999747378752e-05)l=+g[p+(c[$a>>2]<<2)>>2];else l=+g[p>>2]*9.999999747378752e-05;g[p+(c[$a>>2]<<2)>>2]=l;if(+g[p+(c[$a>>2]<<2)>>2]>1.0000000036274937e-15)l=+g[p+(c[$a>>2]<<2)>>2];else l=1.0000000036274937e-15;g[p+(c[$a>>2]<<2)>>2]=l;c[$a>>2]=(c[$a>>2]|0)+1}}while(0);id(c[Ta>>2]|0,c[U>>2]|0,c[_a>>2]|0,p,o,c[Ja>>2]|0);z=(_(c[Ja>>2]|0,c[ab>>2]|0)|0)<<2;m=i;i=i+((1*z|0)+15&-16)|0;oj(m|0,0,c[_a>>2]<<2|0)|0;do if(!(c[fb>>2]|0)){if(!(c[(c[hb>>2]|0)+192>>2]|0))break;if(c[(c[hb>>2]|0)+68>>2]|0)break;g[H>>2]=0.0;g[G>>2]=0.0;c[A>>2]=0;if(2>(c[(c[hb>>2]|0)+92>>2]|0))k=2;else k=c[(c[hb>>2]|0)+92>>2]|0;c[I>>2]=k;c[Za>>2]=0;while(1){if((c[Za>>2]|0)>=(c[Ja>>2]|0))break;c[$a>>2]=0;while(1){if((c[$a>>2]|0)>=(c[I>>2]|0))break;z=_(c[ab>>2]|0,c[Za>>2]|0)|0;if(+g[(c[(c[hb>>2]|0)+192>>2]|0)+(z+(c[$a>>2]|0)<<2)>>2]<.25){z=_(c[ab>>2]|0,c[Za>>2]|0)|0;l=+g[(c[(c[hb>>2]|0)+192>>2]|0)+(z+(c[$a>>2]|0)<<2)>>2]}else l=.25;do if(l>-2.0){z=_(c[ab>>2]|0,c[Za>>2]|0)|0;if(!(+g[(c[(c[hb>>2]|0)+192>>2]|0)+(z+(c[$a>>2]|0)<<2)>>2]<.25)){l=.25;break}z=_(c[ab>>2]|0,c[Za>>2]|0)|0;l=+g[(c[(c[hb>>2]|0)+192>>2]|0)+(z+(c[$a>>2]|0)<<2)>>2]}else l=-2.0;while(0);g[B>>2]=l;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[$a>>2]|0)+1<<1)>>1]|0)-(b[(c[Z>>2]|0)+(c[$a>>2]<<1)>>1]|0)|0);c[A>>2]=(c[A>>2]|0)+((b[(c[Z>>2]|0)+((c[$a>>2]|0)+1<<1)>>1]|0)-(b[(c[Z>>2]|0)+(c[$a>>2]<<1)>>1]|0));g[G>>2]=+g[G>>2]+ +g[B>>2]*+(1+(c[$a>>2]<<1)-(c[I>>2]|0)|0);c[$a>>2]=(c[$a>>2]|0)+1}c[Za>>2]=(c[Za>>2]|0)+1}g[H>>2]=+g[H>>2]/+(c[A>>2]|0);g[H>>2]=+g[H>>2]+.20000000298023224;B=_(c[Ja>>2]|0,(c[I>>2]|0)-1|0)|0;B=_(B,(c[I>>2]|0)+1|0)|0;g[G>>2]=+g[G>>2]*6.0/+(_(B,c[I>>2]|0)|0);g[G>>2]=+g[G>>2]*.5;if((+g[G>>2]<.03099999949336052?+g[G>>2]:.03099999949336052)>-.03099999949336052)l=+g[G>>2]<.03099999949336052?+g[G>>2]:.03099999949336052;else l=-.03099999949336052;g[G>>2]=l;c[E>>2]=0;while(1){if((b[(c[Z>>2]|0)+((c[E>>2]|0)+1<<1)>>1]|0)>=((b[(c[Z>>2]|0)+(c[I>>2]<<1)>>1]|0)/2|0|0))break;c[E>>2]=(c[E>>2]|0)+1}c[C>>2]=0;c[$a>>2]=0;while(1){if((c[$a>>2]|0)>=(c[I>>2]|0))break;g[D>>2]=+g[H>>2]+ +g[G>>2]*+((c[$a>>2]|0)-(c[E>>2]|0)|0);l=+g[(c[(c[hb>>2]|0)+192>>2]|0)+(c[$a>>2]<<2)>>2];if((c[Ja>>2]|0)==2){if(l>+g[(c[(c[hb>>2]|0)+192>>2]|0)+((c[ab>>2]|0)+(c[$a>>2]|0)<<2)>>2])l=+g[(c[(c[hb>>2]|0)+192>>2]|0)+(c[$a>>2]<<2)>>2];else l=+g[(c[(c[hb>>2]|0)+192>>2]|0)+((c[ab>>2]|0)+(c[$a>>2]|0)<<2)>>2];g[F>>2]=l}else g[F>>2]=l;g[F>>2]=+g[F>>2]<0.0?+g[F>>2]:0.0;g[F>>2]=+g[F>>2]-+g[D>>2];if(+g[F>>2]>.25){g[m+(c[$a>>2]<<2)>>2]=+g[F>>2]-.25;c[C>>2]=(c[C>>2]|0)+1}c[$a>>2]=(c[$a>>2]|0)+1}c:do if((c[C>>2]|0)>=3){g[H>>2]=+g[H>>2]+.25;if(+g[H>>2]>0.0){g[H>>2]=0.0;g[G>>2]=0.0;oj(m|0,0,c[I>>2]<<2|0)|0;break}c[$a>>2]=0;while(1){if((c[$a>>2]|0)>=(c[I>>2]|0))break c;if(0.0>+g[m+(c[$a>>2]<<2)>>2]-.25)l=0.0;else l=+g[m+(c[$a>>2]<<2)>>2]-.25;g[m+(c[$a>>2]<<2)>>2]=l;c[$a>>2]=(c[$a>>2]|0)+1}}while(0);g[H>>2]=+g[H>>2]+.20000000298023224;g[ea>>2]=+g[G>>2]*64.0;g[la>>2]=+g[H>>2]}while(0);if(!(c[(c[hb>>2]|0)+68>>2]|0)){g[J>>2]=-10.0;g[K>>2]=0.0;if(c[Wa>>2]|0)l=+(c[La>>2]|0)*.5;else l=0.0;g[L>>2]=l;c[$a>>2]=c[fb>>2];while(1){if((c[$a>>2]|0)>=(c[_a>>2]|0))break;if(+g[J>>2]-1.0>+g[o+(c[$a>>2]<<2)>>2]-+g[L>>2])l=+g[J>>2]-1.0;else l=+g[o+(c[$a>>2]<<2)>>2]-+g[L>>2];g[J>>2]=l;if((c[Ja>>2]|0)==2){if(+g[J>>2]>+g[o+((c[$a>>2]|0)+(c[ab>>2]|0)<<2)>>2]-+g[L>>2])l=+g[J>>2];else l=+g[o+((c[$a>>2]|0)+(c[ab>>2]|0)<<2)>>2]-+g[L>>2];g[J>>2]=l}g[K>>2]=+g[K>>2]+ +g[J>>2];c[$a>>2]=(c[$a>>2]|0)+1}g[K>>2]=+g[K>>2]/+((c[_a>>2]|0)-(c[fb>>2]|0)|0);g[oa>>2]=+g[K>>2]-+g[(c[hb>>2]|0)+196>>2];if(3.0<(-1.5>+g[oa>>2]?-1.5:+g[oa>>2]))l=3.0;else l=-1.5>+g[oa>>2]?-1.5:+g[oa>>2];g[oa>>2]=l;L=(c[hb>>2]|0)+196|0;g[L>>2]=+g[L>>2]+ +g[oa>>2]*.019999999552965164}if(!(c[M>>2]|0)){M=(_(c[Ja>>2]|0,c[ab>>2]|0)|0)<<2;pj(j|0,o|0,M+0|0)|0}do if((c[La>>2]|0)>0){M=(ob(c[jb>>2]|0)|0)+3|0;if(c[nb>>2]|0?1:(M|0)>(c[fa>>2]|0))break;if((c[(c[hb>>2]|0)+24>>2]|0)<5)break;if(c[(c[hb>>2]|0)+68>>2]|0)break;if(!(tb(o,c[bb>>2]|0,c[ab>>2]|0,c[fb>>2]|0,c[_a>>2]|0,c[Ja>>2]|0)|0))break;c[nb>>2]=1;c[Wa>>2]=c[T>>2];sb(c[Ta>>2]|0,c[Wa>>2]|0,e,f,c[Ja>>2]|0,c[Ya>>2]|0,c[La>>2]|0,c[(c[hb>>2]|0)+28>>2]|0,c[(c[hb>>2]|0)+72>>2]|0);Ca(c[Ta>>2]|0,f,p,c[U>>2]|0,c[Ja>>2]|0,c[La>>2]|0);id(c[Ta>>2]|0,c[U>>2]|0,c[_a>>2]|0,p,o,c[Ja>>2]|0);c[$a>>2]=0;while(1){if((c[$a>>2]|0)>=(_(c[Ja>>2]|0,c[ab>>2]|0)|0))break;M=j+(c[$a>>2]<<2)|0;g[M>>2]=+g[M>>2]+ +(c[La>>2]|0)*.5;c[$a>>2]=(c[$a>>2]|0)+1}g[pa>>2]=.20000000298023224}while(0);do if((c[La>>2]|0)>0){M=(ob(c[jb>>2]|0)|0)+3|0;if((M|0)>(c[fa>>2]|0))break;pc(c[jb>>2]|0,c[nb>>2]|0,3)}while(0);a=(_(c[Ja>>2]|0,c[Ma>>2]|0)|0)<<2;n=i;i=i+((1*a|0)+15&-16)|0;Ea(c[Ta>>2]|0,f,n,p,c[U>>2]|0,c[Ja>>2]|0,c[T>>2]|0);a=i;i=i+((1*(c[ab>>2]<<2)|0)+15&-16)|0;d:do if((c[fb>>2]|0)==0?(c[V>>2]|0)>=((c[Ja>>2]|0)*15|0):0){if((c[(c[hb>>2]|0)+24>>2]|0)<2){Q=192;break}if(c[(c[hb>>2]|0)+68>>2]|0){Q=192;break}do if((c[V>>2]|0)>=40){if((c[V>>2]|0)<60){c[N>>2]=6;break}if((c[V>>2]|0)<100){c[N>>2]=4;break}else{c[N>>2]=3;break}}else c[N>>2]=12;while(0);c[N>>2]=c[N>>2]<<1;c[S>>2]=ub(c[Ta>>2]|0,c[U>>2]|0,c[nb>>2]|0,a,c[N>>2]|0,n,c[Ma>>2]|0,c[La>>2]|0,P,+g[pa>>2],c[O>>2]|0)|0;c[$a>>2]=c[U>>2];while(1){if((c[$a>>2]|0)>=(c[_a>>2]|0))break d;c[a+(c[$a>>2]<<2)>>2]=c[a+((c[U>>2]|0)-1<<2)>>2];c[$a>>2]=(c[$a>>2]|0)+1}}else Q=192;while(0);if((Q|0)==192){c[P>>2]=0;c[$a>>2]=0;while(1){if((c[$a>>2]|0)>=(c[_a>>2]|0))break;c[a+(c[$a>>2]<<2)>>2]=c[nb>>2];c[$a>>2]=(c[$a>>2]|0)+1}c[S>>2]=0}Q=(_(c[Ja>>2]|0,c[ab>>2]|0)|0)<<2;d=i;i=i+((1*Q|0)+15&-16)|0;Zc(c[Ta>>2]|0,c[fb>>2]|0,c[_a>>2]|0,c[U>>2]|0,o,c[bb>>2]|0,c[fa>>2]|0,d,c[jb>>2]|0,c[Ja>>2]|0,c[La>>2]|0,c[wa>>2]|0,c[(c[hb>>2]|0)+12>>2]|0,(c[hb>>2]|0)+84|0,(c[(c[hb>>2]|0)+24>>2]|0)>=4&1,c[(c[hb>>2]|0)+56>>2]|0,c[(c[hb>>2]|0)+68>>2]|0);wb(c[fb>>2]|0,c[_a>>2]|0,c[nb>>2]|0,a,c[La>>2]|0,c[S>>2]|0,c[jb>>2]|0);S=(ob(c[jb>>2]|0)|0)+4|0;if((S|0)<=(c[fa>>2]|0)){e:do if(!(c[(c[hb>>2]|0)+68>>2]|0)){do if(!(c[Wa>>2]|0)){if((c[(c[hb>>2]|0)+24>>2]|0)<3)break;if(c[fb>>2]|0?1:(c[wa>>2]|0)<((c[Ja>>2]|0)*10|0))break;if(c[R>>2]|0)k=(c[Wa>>2]|0)!=0^1;else k=0;U=Ia(c[Ta>>2]|0,n,(c[hb>>2]|0)+88|0,c[(c[hb>>2]|0)+80>>2]|0,(c[hb>>2]|0)+96|0,(c[hb>>2]|0)+100|0,k&1,c[U>>2]|0,c[Ja>>2]|0,c[T>>2]|0)|0;c[(c[hb>>2]|0)+80>>2]=U;break e}while(0);k=(c[hb>>2]|0)+80|0;if(!(c[(c[hb>>2]|0)+24>>2]|0)){c[k>>2]=0;break}else{c[k>>2]=2;break}}else{c[(c[hb>>2]|0)+100>>2]=0;c[(c[hb>>2]|0)+80>>2]=2}while(0);qc(c[jb>>2]|0,c[(c[hb>>2]|0)+80>>2]|0,25560,5)}h=i;i=i+((1*(c[ab>>2]<<2)|0)+15&-16)|0;g[ha>>2]=+xb(o,j,c[ab>>2]|0,c[fb>>2]|0,c[_a>>2]|0,c[Ja>>2]|0,h,c[(c[hb>>2]|0)+60>>2]|0,c[(c[Ta>>2]|0)+56>>2]|0,c[nb>>2]|0,c[(c[hb>>2]|0)+44>>2]|0,c[(c[hb>>2]|0)+52>>2]|0,c[Z>>2]|0,c[La>>2]|0,c[V>>2]|0,qa,c[(c[hb>>2]|0)+68>>2]|0,m);if(c[(c[hb>>2]|0)+68>>2]|0){if(8<((c[V>>2]|0)/3|0|0))k=8;else k=(c[V>>2]|0)/3|0;c[h>>2]=k}f=i;i=i+((1*(c[ab>>2]<<2)|0)+15&-16)|0;eb(c[Ta>>2]|0,f,c[La>>2]|0,c[Ja>>2]|0);c[X>>2]=6;c[fa>>2]=c[fa>>2]<<3;c[ra>>2]=0;c[ma>>2]=Xb(c[jb>>2]|0)|0;c[$a>>2]=c[fb>>2];while(1){k=c[Ja>>2]|0;if((c[$a>>2]|0)>=(c[_a>>2]|0))break;k=_(k,(b[(c[Z>>2]|0)+((c[$a>>2]|0)+1<<1)>>1]|0)-(b[(c[Z>>2]|0)+(c[$a>>2]<<1)>>1]|0)|0)|0;c[da>>2]=k<>2];k=c[da>>2]|0;if((c[da>>2]<<3|0)<((48>(c[da>>2]|0)?48:c[da>>2]|0)|0))k=k<<3;else k=48>(k|0)?48:c[da>>2]|0;c[ca>>2]=k;c[Y>>2]=c[X>>2];c[W>>2]=0;c[ba>>2]=0;while(1){if(((c[ma>>2]|0)+(c[Y>>2]<<3)|0)>=((c[fa>>2]|0)-(c[ra>>2]|0)|0))break;if((c[W>>2]|0)>=(c[f+(c[$a>>2]<<2)>>2]|0))break;c[$>>2]=(c[ba>>2]|0)<(c[h+(c[$a>>2]<<2)>>2]|0)&1;pc(c[jb>>2]|0,c[$>>2]|0,c[Y>>2]|0);c[ma>>2]=Xb(c[jb>>2]|0)|0;if(!(c[$>>2]|0))break;c[W>>2]=(c[W>>2]|0)+(c[ca>>2]|0);c[ra>>2]=(c[ra>>2]|0)+(c[ca>>2]|0);c[Y>>2]=1;c[ba>>2]=(c[ba>>2]|0)+1}if(c[ba>>2]|0)c[X>>2]=2>((c[X>>2]|0)-1|0)?2:(c[X>>2]|0)-1|0;c[h+(c[$a>>2]<<2)>>2]=c[W>>2];c[$a>>2]=(c[$a>>2]|0)+1}if((k|0)==2){if(c[La>>2]|0)c[Ra>>2]=Ab(c[Ta>>2]|0,n,c[La>>2]|0,c[Ma>>2]|0)|0;da=Aa(+((c[Ba>>2]|0)/1e3|0|0),196,280,21,c[(c[hb>>2]|0)+188>>2]|0)|0;c[(c[hb>>2]|0)+188>>2]=da;if((c[fb>>2]|0)>(c[(c[hb>>2]|0)+188>>2]|0))k=c[fb>>2]|0;else k=c[(c[hb>>2]|0)+188>>2]|0;do if((c[_a>>2]|0)>=(k|0))if((c[fb>>2]|0)>(c[(c[hb>>2]|0)+188>>2]|0)){k=c[fb>>2]|0;break}else{k=c[(c[hb>>2]|0)+188>>2]|0;break}else k=c[_a>>2]|0;while(0);c[(c[hb>>2]|0)+188>>2]=k}c[Fa>>2]=5;if(((c[ma>>2]|0)+48|0)<=((c[fa>>2]|0)-(c[ra>>2]|0)|0)){if(c[(c[hb>>2]|0)+68>>2]|0)c[Fa>>2]=5;else c[Fa>>2]=Bb(c[Ta>>2]|0,n,o,c[_a>>2]|0,c[La>>2]|0,c[Ja>>2]|0,c[Ma>>2]|0,(c[hb>>2]|0)+120|0,(c[hb>>2]|0)+184|0,+g[pa>>2],c[(c[hb>>2]|0)+188>>2]|0,+g[ea>>2],c[(c[hb>>2]|0)+72>>2]|0)|0;qc(c[jb>>2]|0,c[Fa>>2]|0,25564,7);c[ma>>2]=Xb(c[jb>>2]|0)|0}if((c[za>>2]|0)>0){c[va>>2]=(c[(c[Ta>>2]|0)+36>>2]|0)-(c[La>>2]|0);if((c[ib>>2]|0)<(1275>>3-(c[La>>2]|0)|0))k=c[ib>>2]|0;else k=1275>>3-(c[La>>2]|0);c[ib>>2]=k;c[ga>>2]=(c[za>>2]|0)-(((c[Ja>>2]|0)*40|0)+20<<3);if(c[(c[hb>>2]|0)+52>>2]|0)c[ga>>2]=(c[ga>>2]|0)+(c[(c[hb>>2]|0)+172>>2]>>c[va>>2]);c[ya>>2]=Db(c[Ta>>2]|0,(c[hb>>2]|0)+120|0,c[ga>>2]|0,c[La>>2]|0,c[Ba>>2]|0,c[(c[hb>>2]|0)+92>>2]|0,c[Ja>>2]|0,c[(c[hb>>2]|0)+188>>2]|0,c[(c[hb>>2]|0)+52>>2]|0,+g[(c[hb>>2]|0)+184>>2],c[qa>>2]|0,+g[pa>>2],c[ka>>2]|0,+g[ha>>2],c[(c[hb>>2]|0)+64>>2]|0,c[(c[hb>>2]|0)+68>>2]|0,(c[(c[hb>>2]|0)+192>>2]|0)!=0&1,+g[la>>2],+g[oa>>2])|0;c[ya>>2]=(c[ya>>2]|0)+(c[ma>>2]|0);c[ja>>2]=((c[ma>>2]|0)+(c[ra>>2]|0)+64-1>>6)+2-(c[xa>>2]|0);c[wa>>2]=(c[ya>>2]|0)+32>>6;c[wa>>2]=(c[ja>>2]|0)>(c[wa>>2]|0)?c[ja>>2]|0:c[wa>>2]|0;if((c[ib>>2]|0)<((c[wa>>2]|0)+(c[xa>>2]|0)|0))k=c[ib>>2]|0;else k=(c[wa>>2]|0)+(c[xa>>2]|0)|0;c[wa>>2]=k-(c[xa>>2]|0);c[ua>>2]=(c[ya>>2]|0)-(c[za>>2]|0);c[ya>>2]=c[wa>>2]<<6;if(c[Xa>>2]|0){c[wa>>2]=2;c[ya>>2]=128;c[ua>>2]=0}if((c[(c[hb>>2]|0)+176>>2]|0)<970){ra=(c[hb>>2]|0)+176|0;c[ra>>2]=(c[ra>>2]|0)+1;g[ta>>2]=1.0/+((c[(c[hb>>2]|0)+176>>2]|0)+20|0)}else g[ta>>2]=1.0000000474974513e-03;if(c[(c[hb>>2]|0)+52>>2]|0){ra=(c[hb>>2]|0)+164|0;c[ra>>2]=(c[ra>>2]|0)+((c[ya>>2]|0)-(c[za>>2]|0))}if(c[(c[hb>>2]|0)+52>>2]|0){ya=_(c[ua>>2]|0,1<>2])|0;za=(c[hb>>2]|0)+168|0;c[za>>2]=(c[za>>2]|0)+~~(+g[ta>>2]*+(ya-(c[(c[hb>>2]|0)+172>>2]|0)-(c[(c[hb>>2]|0)+168>>2]|0)|0));c[(c[hb>>2]|0)+172>>2]=0-(c[(c[hb>>2]|0)+168>>2]|0)}do if(c[(c[hb>>2]|0)+52>>2]|0){if((c[(c[hb>>2]|0)+164>>2]|0)>=0)break;c[sa>>2]=(0-(c[(c[hb>>2]|0)+164>>2]|0)|0)/64|0;c[wa>>2]=(c[wa>>2]|0)+(c[Xa>>2]|0?0:c[sa>>2]|0);c[(c[hb>>2]|0)+164>>2]=0}while(0);if((c[ib>>2]|0)<((c[wa>>2]|0)+(c[xa>>2]|0)|0))k=c[ib>>2]|0;else k=(c[wa>>2]|0)+(c[xa>>2]|0)|0;c[ib>>2]=k;vc(c[jb>>2]|0,c[ib>>2]|0)}m=i;i=i+((1*(c[ab>>2]<<2)|0)+15&-16)|0;j=i;i=i+((1*(c[ab>>2]<<2)|0)+15&-16)|0;e=i;i=i+((1*(c[ab>>2]<<2)|0)+15&-16)|0;za=c[ib>>2]<<3<<3;c[Ga>>2]=za-(Xb(c[jb>>2]|0)|0)-1;if((c[nb>>2]|0)!=0&(c[La>>2]|0)>=2)k=(c[Ga>>2]|0)>=((c[La>>2]|0)+2<<3|0);else k=0;c[Oa>>2]=k?8:0;c[Ga>>2]=(c[Ga>>2]|0)-(c[Oa>>2]|0);c[Ha>>2]=(c[_a>>2]|0)-1;if(c[(c[hb>>2]|0)+120>>2]|0){do if((c[Ba>>2]|0)>=((c[Ja>>2]|0)*32e3|0)){if((c[Ba>>2]|0)<((c[Ja>>2]|0)*48e3|0)){c[Da>>2]=16;break}if((c[Ba>>2]|0)<((c[Ja>>2]|0)*6e4|0)){c[Da>>2]=18;break}if((c[Ba>>2]|0)<((c[Ja>>2]|0)*8e4|0)){c[Da>>2]=19;break}else{c[Da>>2]=20;break}}else c[Da>>2]=13;while(0);if((c[(c[hb>>2]|0)+120+24>>2]|0)>(c[Da>>2]|0))k=c[(c[hb>>2]|0)+120+24>>2]|0;else k=c[Da>>2]|0;c[Ha>>2]=k}if(c[(c[hb>>2]|0)+68>>2]|0)c[Ha>>2]=1;c[Qa>>2]=jd(c[Ta>>2]|0,c[fb>>2]|0,c[_a>>2]|0,h,f,c[Fa>>2]|0,(c[hb>>2]|0)+188|0,Ra,c[Ga>>2]|0,Pa,j,m,e,c[Ja>>2]|0,c[La>>2]|0,c[jb>>2]|0,1,c[(c[hb>>2]|0)+92>>2]|0,c[Ha>>2]|0)|0;if(c[(c[hb>>2]|0)+92>>2]|0){if(((c[(c[hb>>2]|0)+92>>2]|0)-1|0)>(c[Qa>>2]|0))k=(c[(c[hb>>2]|0)+92>>2]|0)-1|0;else k=c[Qa>>2]|0;f=c[(c[hb>>2]|0)+92>>2]|0;do if(((c[(c[hb>>2]|0)+92>>2]|0)+1|0)>=(k|0))if((f-1|0)>(c[Qa>>2]|0)){k=(c[(c[hb>>2]|0)+92>>2]|0)-1|0;break}else{k=c[Qa>>2]|0;break}else k=f+1|0;while(0);c[(c[hb>>2]|0)+92>>2]=k}else c[(c[hb>>2]|0)+92>>2]=c[Qa>>2];dd(c[Ta>>2]|0,c[fb>>2]|0,c[_a>>2]|0,c[bb>>2]|0,d,m,c[jb>>2]|0,c[Ja>>2]|0);Ga=_(c[Ja>>2]|0,c[ab>>2]|0)|0;Ha=i;i=i+((1*Ga|0)+15&-16)|0;Ka(1,c[Ta>>2]|0,c[fb>>2]|0,c[_a>>2]|0,n,(c[Ja>>2]|0)==2?n+(c[Ma>>2]<<2)|0:0,Ha,p,j,c[Wa>>2]|0,c[(c[hb>>2]|0)+80>>2]|0,c[Ra>>2]|0,c[(c[hb>>2]|0)+188>>2]|0,a,(c[ib>>2]<<6)-(c[Oa>>2]|0)|0,c[Pa>>2]|0,c[jb>>2]|0,c[La>>2]|0,c[Qa>>2]|0,(c[hb>>2]|0)+76|0,c[(c[hb>>2]|0)+72>>2]|0);if((c[Oa>>2]|0)>0){c[Na>>2]=(c[(c[hb>>2]|0)+116>>2]|0)<2&1;sc(c[jb>>2]|0,c[Na>>2]|0,1)}Pa=c[Ta>>2]|0;Qa=c[fb>>2]|0;Ra=c[_a>>2]|0;Ta=c[bb>>2]|0;Wa=c[ib>>2]<<3;Wa=Wa-(ob(c[jb>>2]|0)|0)|0;ed(Pa,Qa,Ra,Ta,d,m,e,Wa,c[jb>>2]|0,c[Ja>>2]|0);f:do if(c[Xa>>2]|0){c[$a>>2]=0;while(1){if((c[$a>>2]|0)>=(_(c[Ja>>2]|0,c[ab>>2]|0)|0))break f;g[(c[bb>>2]|0)+(c[$a>>2]<<2)>>2]=-28.0;c[$a>>2]=(c[$a>>2]|0)+1}}while(0);c[(c[hb>>2]|0)+104>>2]=c[Ua>>2];g[(c[hb>>2]|0)+108>>2]=+g[Sa>>2];c[(c[hb>>2]|0)+112>>2]=c[Va>>2];if((c[Ya>>2]|0)==2&(c[Ja>>2]|0)==1)pj((c[bb>>2]|0)+(c[ab>>2]<<2)|0,c[bb>>2]|0,(c[ab>>2]<<2)+0|0)|0;g:do if(c[nb>>2]|0){c[$a>>2]=0;while(1){if((c[$a>>2]|0)>=(_(c[Ya>>2]|0,c[ab>>2]|0)|0))break g;k=c[$a>>2]|0;if(+g[(c[cb>>2]|0)+(c[$a>>2]<<2)>>2]<+g[(c[bb>>2]|0)+(c[$a>>2]<<2)>>2])l=+g[(c[cb>>2]|0)+(k<<2)>>2];else l=+g[(c[bb>>2]|0)+(k<<2)>>2];g[(c[cb>>2]|0)+(c[$a>>2]<<2)>>2]=l;c[$a>>2]=(c[$a>>2]|0)+1}}else{Xa=(_(c[Ya>>2]|0,c[ab>>2]|0)|0)<<2;pj(c[db>>2]|0,c[cb>>2]|0,Xa+0|0)|0;Xa=(_(c[Ya>>2]|0,c[ab>>2]|0)|0)<<2;pj(c[cb>>2]|0,c[bb>>2]|0,Xa+0|0)|0}while(0);c[Za>>2]=0;do{c[$a>>2]=0;while(1){if((c[$a>>2]|0)>=(c[fb>>2]|0))break;Xa=_(c[Za>>2]|0,c[ab>>2]|0)|0;g[(c[bb>>2]|0)+(Xa+(c[$a>>2]|0)<<2)>>2]=0.0;Xa=_(c[Za>>2]|0,c[ab>>2]|0)|0;g[(c[db>>2]|0)+(Xa+(c[$a>>2]|0)<<2)>>2]=-28.0;Xa=_(c[Za>>2]|0,c[ab>>2]|0)|0;g[(c[cb>>2]|0)+(Xa+(c[$a>>2]|0)<<2)>>2]=-28.0;c[$a>>2]=(c[$a>>2]|0)+1}c[$a>>2]=c[_a>>2];while(1){k=c[Za>>2]|0;if((c[$a>>2]|0)>=(c[ab>>2]|0))break;Xa=_(k,c[ab>>2]|0)|0;g[(c[bb>>2]|0)+(Xa+(c[$a>>2]|0)<<2)>>2]=0.0;Xa=_(c[Za>>2]|0,c[ab>>2]|0)|0;g[(c[db>>2]|0)+(Xa+(c[$a>>2]|0)<<2)>>2]=-28.0;Xa=_(c[Za>>2]|0,c[ab>>2]|0)|0;g[(c[cb>>2]|0)+(Xa+(c[$a>>2]|0)<<2)>>2]=-28.0;c[$a>>2]=(c[$a>>2]|0)+1}Xa=k+1|0;c[Za>>2]=Xa}while((Xa|0)<(c[Ya>>2]|0));k=(c[hb>>2]|0)+116|0;if((c[nb>>2]|0)!=0|(c[vb>>2]|0)!=0)c[k>>2]=(c[k>>2]|0)+1;else c[k>>2]=0;c[(c[hb>>2]|0)+76>>2]=c[(c[jb>>2]|0)+28>>2];wc(c[jb>>2]|0);if(Eb(c[jb>>2]|0)|0){c[gb>>2]=-3;c[lb>>2]=1}else{c[gb>>2]=c[ib>>2];c[lb>>2]=1}na(c[kb>>2]|0);vb=c[gb>>2]|0;i=yb;return vb|0}function ob(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[(c[d>>2]|0)+20>>2]|0)-(32-(aa(c[(c[d>>2]|0)+28>>2]|0)|0))|0;i=b;return a|0}function pb(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+16|0;f=l+12|0;h=l+8|0;j=l+4|0;k=l;c[e>>2]=a;c[f>>2]=b;g[j>>2]=0.0;g[k>>2]=0.0;c[h>>2]=0;while(1){d=+g[j>>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[j>>2];else d=+g[(c[e>>2]|0)+(c[h>>2]<<2)>>2];g[j>>2]=d;if(+g[k>>2]<+g[(c[e>>2]|0)+(c[h>>2]<<2)>>2])d=+g[k>>2];else d=+g[(c[e>>2]|0)+(c[h>>2]<<2)>>2];g[k>>2]=d;c[h>>2]=(c[h>>2]|0)+1}i=l;return +(d>-+g[k>>2]?+g[j>>2]:-+g[k>>2])}function qb(a,b,d,e,f,h,j,k,l,m,n){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=i;i=i+96|0;s=L+92|0;t=L+88|0;v=L+84|0;w=L+80|0;x=L+76|0;y=L+72|0;z=L+68|0;A=L+64|0;B=L+60|0;q=L+56|0;o=L+52|0;C=L+48|0;J=L+40|0;E=L+36|0;I=L+32|0;D=L+28|0;r=L+24|0;H=L+20|0;K=L+16|0;G=L+12|0;u=L+8|0;p=L+4|0;F=L;c[s>>2]=a;c[t>>2]=b;c[v>>2]=d;c[w>>2]=e;c[x>>2]=f;c[y>>2]=h;c[z>>2]=j;c[A>>2]=k;c[B>>2]=l;c[q>>2]=m;c[o>>2]=n;c[E>>2]=c[c[s>>2]>>2];c[G>>2]=c[(c[E>>2]|0)+4>>2];l=_(c[w>>2]|0,(c[x>>2]|0)+1024|0)|0;c[u>>2]=ia()|0;a=i;i=i+((1*(l<<2)|0)+15&-16)|0;c[J>>2]=a;c[J+4>>2]=a+((c[x>>2]|0)+1024<<2);c[C>>2]=0;do{pj(c[J+(c[C>>2]<<2)>>2]|0,(c[v>>2]|0)+(c[C>>2]<<10<<2)|0,4096|0)|0;a=(c[t>>2]|0)+((_(c[C>>2]|0,(c[x>>2]|0)+(c[G>>2]|0)|0)|0)<<2)|0;pj((c[J+(c[C>>2]<<2)>>2]|0)+4096|0,a+(c[G>>2]<<2)|0,(c[x>>2]<<2)+0|0)|0;a=(c[C>>2]|0)+1|0;c[C>>2]=a}while((a|0)<(c[w>>2]|0));if(c[q>>2]|0){l=1024+(c[x>>2]|0)>>1;c[p>>2]=ia()|0;a=i;i=i+((1*(l<<2)|0)+15&-16)|0;Kc(J,a,1024+(c[x>>2]|0)|0,c[w>>2]|0,c[(c[s>>2]|0)+72>>2]|0);Pc(a+2048|0,a,c[x>>2]|0,979,I,c[(c[s>>2]|0)+72>>2]|0);c[I>>2]=1024-(c[I>>2]|0);g[D>>2]=+Rc(a,1024,15,c[x>>2]|0,I,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[I>>2]|0)>1022)c[I>>2]=1022;g[D>>2]=+g[D>>2]*.699999988079071;if((c[(c[s>>2]|0)+56>>2]|0)>2)g[D>>2]=+g[D>>2]*.5;if((c[(c[s>>2]|0)+56>>2]|0)>4)g[D>>2]=+g[D>>2]*.5;if((c[(c[s>>2]|0)+56>>2]|0)>8)g[D>>2]=0.0;na(c[p>>2]|0)}else{g[D>>2]=0.0;c[I>>2]=15}g[r>>2]=.20000000298023224;a=(N((c[I>>2]|0)-(c[(c[s>>2]|0)+104>>2]|0)|0)|0)*10|0;if((a|0)>(c[I>>2]|0))g[r>>2]=+g[r>>2]+.20000000298023224;if((c[o>>2]|0)<25)g[r>>2]=+g[r>>2]+.10000000149011612;if((c[o>>2]|0)<35)g[r>>2]=+g[r>>2]+.10000000149011612;if(+g[(c[s>>2]|0)+108>>2]>.4000000059604645)g[r>>2]=+g[r>>2]-.10000000149011612;if(+g[(c[s>>2]|0)+108>>2]>.550000011920929)g[r>>2]=+g[r>>2]-.10000000149011612;g[r>>2]=+g[r>>2]>.20000000298023224?+g[r>>2]:.20000000298023224;if(+g[D>>2]<+g[r>>2]){g[D>>2]=0.0;c[H>>2]=0;c[K>>2]=0}else{if(+N(+(+g[D>>2]-+g[(c[s>>2]|0)+108>>2]))<.10000000149011612)g[D>>2]=+g[(c[s>>2]|0)+108>>2];c[K>>2]=~~+M(+(+g[D>>2]*32.0/3.0+.5))-1;if(0>((7<(c[K>>2]|0)?7:c[K>>2]|0)|0))o=0;else o=7<(c[K>>2]|0)?7:c[K>>2]|0;c[K>>2]=o;g[D>>2]=+((c[K>>2]|0)+1|0)*.09375;c[H>>2]=1}c[C>>2]=0;do{c[F>>2]=(c[(c[E>>2]|0)+44>>2]|0)-(c[G>>2]|0);if((c[(c[s>>2]|0)+104>>2]|0)>15)o=c[(c[s>>2]|0)+104>>2]|0;else o=15;c[(c[s>>2]|0)+104>>2]=o;l=(c[t>>2]|0)+((_(c[C>>2]|0,(c[x>>2]|0)+(c[G>>2]|0)|0)|0)<<2)|0;a=(c[s>>2]|0)+200+((_(c[C>>2]|0,c[G>>2]|0)|0)<<2)|0;pj(l|0,a|0,(c[G>>2]<<2)+0|0)|0;if(c[F>>2]|0){a=(c[t>>2]|0)+((_(c[C>>2]|0,(c[x>>2]|0)+(c[G>>2]|0)|0)|0)<<2)|0;cb(a+(c[G>>2]<<2)|0,(c[J+(c[C>>2]<<2)>>2]|0)+4096|0,c[(c[s>>2]|0)+104>>2]|0,c[(c[s>>2]|0)+104>>2]|0,c[F>>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)}a=(c[t>>2]|0)+((_(c[C>>2]|0,(c[x>>2]|0)+(c[G>>2]|0)|0)|0)<<2)|0;cb(a+(c[G>>2]<<2)+(c[F>>2]<<2)|0,(c[J+(c[C>>2]<<2)>>2]|0)+4096+(c[F>>2]<<2)|0,c[(c[s>>2]|0)+104>>2]|0,c[I>>2]|0,(c[x>>2]|0)-(c[F>>2]|0)|0,-+g[(c[s>>2]|0)+108>>2],-+g[D>>2],c[(c[s>>2]|0)+112>>2]|0,c[y>>2]|0,c[(c[E>>2]|0)+60>>2]|0,c[G>>2]|0,c[(c[s>>2]|0)+72>>2]|0);a=(c[s>>2]|0)+200+((_(c[C>>2]|0,c[G>>2]|0)|0)<<2)|0;o=(c[t>>2]|0)+((_(c[C>>2]|0,(c[x>>2]|0)+(c[G>>2]|0)|0)|0)<<2)|0;pj(a|0,o+(c[x>>2]<<2)|0,(c[G>>2]<<2)+0|0)|0;o=(c[v>>2]|0)+(c[C>>2]<<10<<2)|0;if((c[x>>2]|0)>1024)qj(o|0,(c[J+(c[C>>2]<<2)>>2]|0)+(c[x>>2]<<2)|0,4096|0)|0;else{qj(o|0,(c[v>>2]|0)+(c[C>>2]<<10<<2)+(c[x>>2]<<2)|0,(1024-(c[x>>2]|0)<<2)+0|0)|0;qj((c[v>>2]|0)+(c[C>>2]<<10<<2)+4096+(0-(c[x>>2]|0)<<2)|0,(c[J+(c[C>>2]<<2)>>2]|0)+4096|0,(c[x>>2]<<2)+0|0)|0}a=(c[C>>2]|0)+1|0;c[C>>2]=a}while((a|0)<(c[w>>2]|0));g[c[A>>2]>>2]=+g[D>>2];c[c[z>>2]>>2]=c[I>>2];c[c[B>>2]>>2]=c[K>>2];K=c[H>>2]|0;na(c[u>>2]|0);i=L;return K|0}function rb(a,b,e,f,h){a=a|0;b=b|0;e=e|0;f=f|0;h=h|0;var j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=i;i=i+96|0;k=G+84|0;l=G+80|0;m=G+76|0;C=G+72|0;n=G+68|0;p=G+64|0;v=G+60|0;w=G+56|0;E=G+52|0;s=G+48|0;o=G+44|0;F=G+40|0;r=G+36|0;D=G+32|0;u=G+28|0;y=G+24|0;x=G+20|0;t=G+16|0;z=G+12|0;B=G+8|0;A=G+4|0;q=G;c[k>>2]=a;c[l>>2]=b;c[m>>2]=e;c[C>>2]=f;c[n>>2]=h;c[E>>2]=0;c[s>>2]=0;f=c[l>>2]|0;c[D>>2]=ia()|0;b=i;i=i+((1*(f<<2)|0)+15&-16)|0;c[r>>2]=(c[l>>2]|0)/2|0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[m>>2]|0))break;c[y>>2]=0;g[v>>2]=0.0;g[w>>2]=0.0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[l>>2]|0))break;f=(c[p>>2]|0)+(_(c[o>>2]|0,c[l>>2]|0)|0)|0;g[z>>2]=+g[(c[k>>2]|0)+(f<<2)>>2];g[B>>2]=+g[v>>2]+ +g[z>>2];g[v>>2]=+g[w>>2]+ +g[B>>2]-+g[z>>2]*2.0;g[w>>2]=+g[z>>2]-+g[B>>2]*.5;g[b+(c[p>>2]<<2)>>2]=+g[B>>2];c[p>>2]=(c[p>>2]|0)+1}e=b;a=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(a|0));g[u>>2]=0.0;g[v>>2]=0.0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[r>>2]|0))break;g[A>>2]=+g[b+(c[p>>2]<<1<<2)>>2]*+g[b+(c[p>>2]<<1<<2)>>2]+ +g[b+((c[p>>2]<<1)+1<<2)>>2]*+g[b+((c[p>>2]<<1)+1<<2)>>2];g[u>>2]=+g[u>>2]+ +g[A>>2];g[b+(c[p>>2]<<2)>>2]=+g[v>>2]+(+g[A>>2]-+g[v>>2])*.0625;g[v>>2]=+g[b+(c[p>>2]<<2)>>2];c[p>>2]=(c[p>>2]|0)+1}g[v>>2]=0.0;g[t>>2]=0.0;c[p>>2]=(c[r>>2]|0)-1;while(1){if((c[p>>2]|0)<0)break;g[b+(c[p>>2]<<2)>>2]=+g[v>>2]+(+g[b+(c[p>>2]<<2)>>2]-+g[v>>2])*.125;g[v>>2]=+g[b+(c[p>>2]<<2)>>2];g[t>>2]=+g[t>>2]>+g[v>>2]?+g[t>>2]:+g[v>>2];c[p>>2]=(c[p>>2]|0)+-1}g[u>>2]=+O(+(+g[u>>2]*+g[t>>2]*.5*+(c[r>>2]|0)));g[x>>2]=+(c[r>>2]|0)/(+g[u>>2]+1.0000000036274937e-15);c[y>>2]=0;c[p>>2]=12;while(1){if((c[p>>2]|0)>=((c[r>>2]|0)-5|0))break;if(127.0<+M(+(+g[x>>2]*64.0*(+g[b+(c[p>>2]<<2)>>2]+1.0000000036274937e-15))))j=127.0;else j=+M(+(+g[x>>2]*64.0*(+g[b+(c[p>>2]<<2)>>2]+1.0000000036274937e-15)));if(!(0.0>j))if(127.0<+M(+(+g[x>>2]*64.0*(+g[b+(c[p>>2]<<2)>>2]+1.0000000036274937e-15))))j=127.0;else j=+M(+(+g[x>>2]*64.0*(+g[b+(c[p>>2]<<2)>>2]+1.0000000036274937e-15)));else j=0.0;c[q>>2]=~~j;c[y>>2]=(c[y>>2]|0)+(d[25432+(c[q>>2]|0)>>0]|0);c[p>>2]=(c[p>>2]|0)+4}c[y>>2]=(c[y>>2]<<6<<2|0)/(((c[r>>2]|0)-17|0)*6|0)|0;if((c[y>>2]|0)>(c[s>>2]|0)){c[c[n>>2]>>2]=c[o>>2];c[s>>2]=c[y>>2]}c[o>>2]=(c[o>>2]|0)+1}c[E>>2]=(c[s>>2]|0)>200&1;if(0.0>+O(+(+((c[s>>2]|0)*27|0)))-42.0)j=0.0;else j=+O(+(+((c[s>>2]|0)*27|0)))-42.0;g[F>>2]=j;if(0.0>(163.0<+g[F>>2]?163.0:+g[F>>2])*.006899999920278788-.139){j=0.0;j=+O(+j);F=c[C>>2]|0;g[F>>2]=j;F=c[E>>2]|0;E=c[D>>2]|0;na(E|0);i=G;return F|0}j=(163.0<+g[F>>2]?163.0:+g[F>>2])*.006899999920278788-.139;j=+O(+j);F=c[C>>2]|0;g[F>>2]=j;F=c[E>>2]|0;E=c[D>>2]|0;na(E|0);i=G;return F|0}function sb(a,b,d,e,f,h,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+80|0;m=D+64|0;n=D+60|0;o=D+56|0;p=D+52|0;q=D+48|0;r=D+44|0;s=D+40|0;t=D+36|0;u=D+32|0;B=D+28|0;w=D+24|0;v=D+20|0;C=D+16|0;A=D+12|0;x=D+8|0;z=D+4|0;y=D;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[u>>2]=l;c[B>>2]=c[(c[m>>2]|0)+4>>2];if(c[n>>2]|0){c[v>>2]=c[n>>2];c[w>>2]=c[(c[m>>2]|0)+44>>2];c[C>>2]=c[(c[m>>2]|0)+36>>2]}else{c[v>>2]=1;c[w>>2]=c[(c[m>>2]|0)+44>>2]<>2];c[C>>2]=(c[(c[m>>2]|0)+36>>2]|0)-(c[s>>2]|0)}c[z>>2]=0;do{c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[v>>2]|0))break;b=_(c[v>>2]|0,c[w>>2]|0)|0;b=(c[o>>2]|0)+((_(c[z>>2]|0,b+(c[B>>2]|0)|0)|0)<<2)|0;b=b+((_(c[x>>2]|0,c[w>>2]|0)|0)<<2)|0;k=_(c[z>>2]|0,c[w>>2]|0)|0;k=(c[x>>2]|0)+(_(k,c[v>>2]|0)|0)|0;Hc((c[m>>2]|0)+64|0,b,(c[p>>2]|0)+(k<<2)|0,c[(c[m>>2]|0)+60>>2]|0,c[B>>2]|0,c[C>>2]|0,c[v>>2]|0,c[u>>2]|0);c[x>>2]=(c[x>>2]|0)+1}k=(c[z>>2]|0)+1|0;c[z>>2]=k}while((k|0)<(c[r>>2]|0));a:do if((c[r>>2]|0)==2&(c[q>>2]|0)==1){c[A>>2]=0;while(1){if((c[A>>2]|0)>=(_(c[v>>2]|0,c[w>>2]|0)|0))break a;k=_(c[v>>2]|0,c[w>>2]|0)|0;g[(c[p>>2]|0)+(c[A>>2]<<2)>>2]=+g[(c[p>>2]|0)+(c[A>>2]<<2)>>2]*.5+ +g[(c[p>>2]|0)+(k+(c[A>>2]|0)<<2)>>2]*.5;c[A>>2]=(c[A>>2]|0)+1}}while(0);if((c[t>>2]|0)==1){i=D;return}c[z>>2]=0;do{k=_(c[v>>2]|0,c[w>>2]|0)|0;c[y>>2]=(k|0)/(c[t>>2]|0)|0;c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[y>>2]|0))break;k=_(c[z>>2]|0,c[v>>2]|0)|0;k=_(k,c[w>>2]|0)|0;k=(c[p>>2]|0)+(k+(c[A>>2]|0)<<2)|0;g[k>>2]=+g[k>>2]*+(c[t>>2]|0);c[A>>2]=(c[A>>2]|0)+1}b=_(c[z>>2]|0,c[v>>2]|0)|0;b=_(b,c[w>>2]|0)|0;k=_(c[v>>2]|0,c[w>>2]|0)|0;oj((c[p>>2]|0)+(b+(c[y>>2]|0)<<2)|0,0,k-(c[y>>2]|0)<<2|0)|0;k=(c[z>>2]|0)+1|0;c[z>>2]=k}while((k|0)<(c[q>>2]|0));i=D;return}function tb(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 j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+160|0;l=w+144|0;k=w+140|0;m=w+136|0;n=w+132|0;o=w+128|0;p=w+124|0;r=w+120|0;q=w+116|0;s=w+112|0;t=w+8|0;u=w+4|0;v=w;c[l>>2]=a;c[k>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=h;g[s>>2]=0.0;j=+g[(c[k>>2]|0)+(c[n>>2]<<2)>>2];h=c[n>>2]|0;a:do if((c[p>>2]|0)==1){g[t+(h<<2)>>2]=j;c[r>>2]=(c[n>>2]|0)+1;while(1){if((c[r>>2]|0)>=(c[o>>2]|0))break a;h=c[r>>2]|0;if(+g[t+((c[r>>2]|0)-1<<2)>>2]-1.0>+g[(c[k>>2]|0)+(c[r>>2]<<2)>>2])j=+g[t+(h-1<<2)>>2]-1.0;else j=+g[(c[k>>2]|0)+(h<<2)>>2];g[t+(c[r>>2]<<2)>>2]=j;c[r>>2]=(c[r>>2]|0)+1}}else{f=c[n>>2]|0;if(j>+g[(c[k>>2]|0)+(h+(c[m>>2]|0)<<2)>>2])j=+g[(c[k>>2]|0)+(f<<2)>>2];else j=+g[(c[k>>2]|0)+(f+(c[m>>2]|0)<<2)>>2];g[t+(c[n>>2]<<2)>>2]=j;c[r>>2]=(c[n>>2]|0)+1;while(1){if((c[r>>2]|0)>=(c[o>>2]|0))break a;h=c[r>>2]|0;if(+g[(c[k>>2]|0)+(c[r>>2]<<2)>>2]>+g[(c[k>>2]|0)+((c[r>>2]|0)+(c[m>>2]|0)<<2)>>2])j=+g[(c[k>>2]|0)+(h<<2)>>2];else j=+g[(c[k>>2]|0)+(h+(c[m>>2]|0)<<2)>>2];f=c[r>>2]|0;do if(!(+g[t+((c[r>>2]|0)-1<<2)>>2]-1.0>j)){h=c[r>>2]|0;if(+g[(c[k>>2]|0)+(f<<2)>>2]>+g[(c[k>>2]|0)+((c[r>>2]|0)+(c[m>>2]|0)<<2)>>2]){j=+g[(c[k>>2]|0)+(h<<2)>>2];break}else{j=+g[(c[k>>2]|0)+(h+(c[m>>2]|0)<<2)>>2];break}}else j=+g[t+(f-1<<2)>>2]-1.0;while(0);g[t+(c[r>>2]<<2)>>2]=j;c[r>>2]=(c[r>>2]|0)+1}}while(0);c[r>>2]=(c[o>>2]|0)-2;while(1){if((c[r>>2]|0)<(c[n>>2]|0))break;h=c[r>>2]|0;if(+g[t+(c[r>>2]<<2)>>2]>+g[t+((c[r>>2]|0)+1<<2)>>2]-1.0)j=+g[t+(h<<2)>>2];else j=+g[t+(h+1<<2)>>2]-1.0;g[t+(c[r>>2]<<2)>>2]=j;c[r>>2]=(c[r>>2]|0)+-1}c[q>>2]=0;do{c[r>>2]=2>(c[n>>2]|0)?2:c[n>>2]|0;while(1){if((c[r>>2]|0)>=((c[o>>2]|0)-1|0))break;k=(c[r>>2]|0)+(_(c[q>>2]|0,c[m>>2]|0)|0)|0;if(0.0>+g[(c[l>>2]|0)+(k<<2)>>2])j=0.0;else{k=(c[r>>2]|0)+(_(c[q>>2]|0,c[m>>2]|0)|0)|0;j=+g[(c[l>>2]|0)+(k<<2)>>2]}g[u>>2]=j;if(0.0>+g[t+(c[r>>2]<<2)>>2])j=0.0;else j=+g[t+(c[r>>2]<<2)>>2];g[v>>2]=j;if(0.0>+g[u>>2]-+g[v>>2])j=0.0;else j=+g[u>>2]-+g[v>>2];g[s>>2]=+g[s>>2]+j;c[r>>2]=(c[r>>2]|0)+1}k=(c[q>>2]|0)+1|0;c[q>>2]=k}while((k|0)<(c[p>>2]|0));g[s>>2]=+g[s>>2]/+(_(c[p>>2]|0,(c[o>>2]|0)-1-(2>(c[n>>2]|0)?2:c[n>>2]|0)|0)|0);i=w;return +g[s>>2]>1.0|0}function ub(d,e,f,h,j,k,l,m,n,o,p){d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|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,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;W=i;i=i+144|0;q=W+128|0;H=W+124|0;I=W+120|0;T=W+116|0;J=W+112|0;s=W+108|0;t=W+104|0;K=W+100|0;u=W+96|0;X=W+92|0;r=W+88|0;U=W+84|0;L=W+80|0;M=W+76|0;F=W+72|0;G=W+64|0;V=W+60|0;A=W+56|0;S=W+52|0;B=W+48|0;x=W+44|0;C=W+40|0;w=W+36|0;y=W+32|0;z=W+28|0;v=W+24|0;D=W+20|0;E=W+16|0;O=W+12|0;P=W+8|0;Q=W+4|0;R=W;c[q>>2]=d;c[H>>2]=e;c[I>>2]=f;c[T>>2]=h;c[J>>2]=j;c[s>>2]=k;c[t>>2]=l;c[K>>2]=m;c[u>>2]=n;g[X>>2]=o;c[r>>2]=p;c[V>>2]=0;g[A>>2]=(-.25>.5-+g[X>>2]?-.25:.5-+g[X>>2])*.03999999910593033;k=c[H>>2]|0;c[S>>2]=ia()|0;j=i;i=i+((1*(k<<2)|0)+15&-16)|0;k=i;i=i+((1*((b[(c[(c[q>>2]|0)+32>>2]|0)+(c[H>>2]<<1)>>1]|0)-(b[(c[(c[q>>2]|0)+32>>2]|0)+((c[H>>2]|0)-1<<1)>>1]|0)<>2]<<2)|0)+15&-16)|0;f=i;i=i+((1*((b[(c[(c[q>>2]|0)+32>>2]|0)+(c[H>>2]<<1)>>1]|0)-(b[(c[(c[q>>2]|0)+32>>2]|0)+((c[H>>2]|0)-1<<1)>>1]|0)<>2]<<2)|0)+15&-16)|0;e=i;i=i+((1*(c[H>>2]<<2)|0)+15&-16)|0;d=i;i=i+((1*(c[H>>2]<<2)|0)+15&-16)|0;c[c[u>>2]>>2]=0;c[U>>2]=0;while(1){if((c[U>>2]|0)>=(c[H>>2]|0))break;c[z>>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)<>2];c[C>>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;X=_(c[r>>2]|0,c[t>>2]|0)|0;pj(k|0,(c[s>>2]|0)+(X+(b[(c[(c[q>>2]|0)+32>>2]|0)+(c[U>>2]<<1)>>1]<>2])<<2)|0,(c[x>>2]<<2)+0|0)|0;g[w>>2]=+vb(k,c[x>>2]|0,c[I>>2]|0?c[K>>2]|0:0,+g[A>>2]);g[y>>2]=+g[w>>2];if(!((c[I>>2]|0)==0|(c[C>>2]|0)!=0)?(pj(f|0,k|0,(c[x>>2]<<2)+0|0)|0,Ja(f,c[x>>2]>>c[K>>2],1<>2]),g[w>>2]=+vb(f,c[x>>2]|0,(c[K>>2]|0)+1|0,+g[A>>2]),+g[w>>2]<+g[y>>2]):0){g[y>>2]=+g[w>>2];c[z>>2]=-1}c[B>>2]=0;while(1){m=(c[I>>2]|0)!=0;if((c[B>>2]|0)>=((c[K>>2]|0)+(((c[I>>2]|0?1:(c[C>>2]|0)!=0)^1)&1)|0))break;if(m)c[v>>2]=(c[K>>2]|0)-(c[B>>2]|0)-1;else c[v>>2]=(c[B>>2]|0)+1;Ja(k,c[x>>2]>>c[B>>2],1<>2]);g[w>>2]=+vb(k,c[x>>2]|0,c[v>>2]|0,+g[A>>2]);if(+g[w>>2]<+g[y>>2]){g[y>>2]=+g[w>>2];c[z>>2]=(c[B>>2]|0)+1}c[B>>2]=(c[B>>2]|0)+1}l=c[z>>2]|0;if(m)c[j+(c[U>>2]<<2)>>2]=l<<1;else{X=_(-2,l)|0;c[j+(c[U>>2]<<2)>>2]=X}X=c[u>>2]|0;c[X>>2]=(c[X>>2]|0)+((c[I>>2]|0?c[K>>2]|0:0)-((c[j+(c[U>>2]<<2)>>2]|0)/2|0));do if(c[C>>2]|0){if(c[j+(c[U>>2]<<2)>>2]|0?(c[j+(c[U>>2]<<2)>>2]|0)!=(_(-2,c[K>>2]|0)|0):0)break;X=j+(c[U>>2]<<2)|0;c[X>>2]=(c[X>>2]|0)-1}while(0);c[U>>2]=(c[U>>2]|0)+1}c[V>>2]=0;c[F>>2]=0;while(1){if((c[F>>2]|0)>=2)break;c[L>>2]=0;c[M>>2]=c[I>>2]|0?0:c[J>>2]|0;c[U>>2]=1;while(1){m=c[L>>2]|0;l=c[M>>2]|0;if((c[U>>2]|0)>=(c[H>>2]|0))break;if((m|0)<(l+(c[J>>2]|0)|0))m=c[L>>2]|0;else m=(c[M>>2]|0)+(c[J>>2]|0)|0;c[D>>2]=m;if(((c[L>>2]|0)+(c[J>>2]|0)|0)<(c[M>>2]|0))m=(c[L>>2]|0)+(c[J>>2]|0)|0;else m=c[M>>2]|0;c[E>>2]=m;c[L>>2]=(c[D>>2]|0)+(N((c[j+(c[U>>2]<<2)>>2]|0)-(a[25232+(c[K>>2]<<3)+((c[I>>2]<<2)+(c[F>>2]<<1)+0)>>0]<<1)|0)|0);c[M>>2]=(c[E>>2]|0)+(N((c[j+(c[U>>2]<<2)>>2]|0)-(a[25232+(c[K>>2]<<3)+((c[I>>2]<<2)+(c[F>>2]<<1)+1)>>0]<<1)|0)|0);c[U>>2]=(c[U>>2]|0)+1}c[L>>2]=(m|0)<(l|0)?c[L>>2]|0:c[M>>2]|0;c[G+(c[F>>2]<<2)>>2]=c[L>>2];c[F>>2]=(c[F>>2]|0)+1}if(c[I>>2]|0?(c[G+4>>2]|0)<(c[G>>2]|0):0)c[V>>2]=1;c[L>>2]=0;c[M>>2]=c[I>>2]|0?0:c[J>>2]|0;c[U>>2]=1;while(1){m=c[L>>2]|0;if((c[U>>2]|0)>=(c[H>>2]|0))break;c[Q>>2]=m;c[R>>2]=(c[M>>2]|0)+(c[J>>2]|0);if((c[Q>>2]|0)<(c[R>>2]|0)){c[O>>2]=c[Q>>2];c[e+(c[U>>2]<<2)>>2]=0}else{c[O>>2]=c[R>>2];c[e+(c[U>>2]<<2)>>2]=1}c[Q>>2]=(c[L>>2]|0)+(c[J>>2]|0);c[R>>2]=c[M>>2];if((c[Q>>2]|0)<(c[R>>2]|0)){c[P>>2]=c[Q>>2];c[d+(c[U>>2]<<2)>>2]=0}else{c[P>>2]=c[R>>2];c[d+(c[U>>2]<<2)>>2]=1}c[L>>2]=(c[O>>2]|0)+(N((c[j+(c[U>>2]<<2)>>2]|0)-(a[25232+(c[K>>2]<<3)+((c[I>>2]<<2)+(c[V>>2]<<1)+0)>>0]<<1)|0)|0);c[M>>2]=(c[P>>2]|0)+(N((c[j+(c[U>>2]<<2)>>2]|0)-(a[25232+(c[K>>2]<<3)+((c[I>>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[H>>2]|0)-1<<2)>>2]=(m|0)<(c[M>>2]|0)?0:1;c[U>>2]=(c[H>>2]|0)-2;while(1){if((c[U>>2]|0)<0)break;m=(c[U>>2]|0)+1|0;if((c[(c[T>>2]|0)+((c[U>>2]|0)+1<<2)>>2]|0)==1)c[(c[T>>2]|0)+(c[U>>2]<<2)>>2]=c[d+(m<<2)>>2];else c[(c[T>>2]|0)+(c[U>>2]<<2)>>2]=c[e+(m<<2)>>2];c[U>>2]=(c[U>>2]|0)+-1}X=c[V>>2]|0;na(c[S>>2]|0);i=W;return X|0}function vb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;l=n;c[f>>2]=a;c[h>>2]=b;c[j>>2]=d;g[k>>2]=e;g[l>>2]=0.0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[h>>2]|0))break;e=+N(+(+g[(c[f>>2]|0)+(c[m>>2]<<2)>>2]));g[l>>2]=+g[l>>2]+e;c[m>>2]=(c[m>>2]|0)+1}g[l>>2]=+g[l>>2]+ +(c[j>>2]|0)*+g[k>>2]*+g[l>>2];i=n;return +(+g[l>>2])}function wb(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+64|0;k=y+52|0;l=y+48|0;m=y+44|0;n=y+40|0;o=y+36|0;p=y+32|0;q=y+28|0;s=y+24|0;t=y+20|0;x=y+16|0;w=y+12|0;u=y+8|0;r=y+4|0;v=y;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[r>>2]=c[(c[q>>2]|0)+4>>2]<<3;c[v>>2]=ob(c[q>>2]|0)|0;c[u>>2]=c[m>>2]|0?2:4;if((c[o>>2]|0)>0)g=((c[v>>2]|0)+(c[u>>2]|0)+1|0)>>>0<=(c[r>>2]|0)>>>0;else g=0;c[x>>2]=g&1;c[r>>2]=(c[r>>2]|0)-(c[x>>2]|0);c[w>>2]=0;c[s>>2]=0;c[t>>2]=c[k>>2];while(1){if((c[t>>2]|0)>=(c[l>>2]|0))break;if(((c[v>>2]|0)+(c[u>>2]|0)|0)>>>0<=(c[r>>2]|0)>>>0){pc(c[q>>2]|0,c[(c[n>>2]|0)+(c[t>>2]<<2)>>2]^c[s>>2],c[u>>2]|0);c[v>>2]=ob(c[q>>2]|0)|0;c[s>>2]=c[(c[n>>2]|0)+(c[t>>2]<<2)>>2];c[w>>2]=c[w>>2]|c[s>>2]}else c[(c[n>>2]|0)+(c[t>>2]<<2)>>2]=c[s>>2];c[u>>2]=c[m>>2]|0?4:5;c[t>>2]=(c[t>>2]|0)+1}if(c[x>>2]|0?(a[25232+(c[o>>2]<<3)+((c[m>>2]<<2)+0+(c[w>>2]|0))>>0]|0)!=(a[25232+(c[o>>2]<<3)+((c[m>>2]<<2)+2+(c[w>>2]|0))>>0]|0):0)pc(c[q>>2]|0,c[p>>2]|0,1);else c[p>>2]=0;c[t>>2]=c[k>>2];while(1){if((c[t>>2]|0)>=(c[l>>2]|0))break;c[(c[n>>2]|0)+(c[t>>2]<<2)>>2]=a[25232+(c[o>>2]<<3)+((c[m>>2]<<2)+(c[p>>2]<<1)+(c[(c[n>>2]|0)+(c[t>>2]<<2)>>2]|0))>>0];c[t>>2]=(c[t>>2]|0)+1}i=y;return}function xb(a,d,e,f,h,j,k,l,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;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;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,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0;da=i;i=i+128|0;I=da+120|0;B=da+116|0;H=da+112|0;K=da+108|0;S=da+104|0;T=da+100|0;U=da+96|0;y=da+92|0;z=da+88|0;V=da+84|0;L=da+80|0;M=da+76|0;N=da+72|0;O=da+68|0;P=da+64|0;Q=da+60|0;A=da+56|0;J=da+52|0;Z=da+48|0;C=da+44|0;aa=da+40|0;$=da+36|0;R=da+32|0;E=da+28|0;F=da+24|0;G=da+20|0;D=da+16|0;ba=da+12|0;W=da+8|0;X=da+4|0;Y=da;c[I>>2]=a;c[B>>2]=d;c[H>>2]=e;c[K>>2]=f;c[S>>2]=h;c[T>>2]=j;c[U>>2]=k;c[y>>2]=l;c[z>>2]=m;c[V>>2]=n;c[L>>2]=o;c[M>>2]=p;c[N>>2]=q;c[O>>2]=r;c[P>>2]=s;c[Q>>2]=t;c[A>>2]=u;c[J>>2]=v;c[aa>>2]=0;o=_(c[T>>2]|0,c[H>>2]|0)|0;c[R>>2]=ia()|0;a=i;i=i+((1*(o<<2)|0)+15&-16)|0;o=(_(c[T>>2]|0,c[H>>2]|0)|0)<<2;r=i;i=i+((1*o|0)+15&-16)|0;oj(c[U>>2]|0,0,c[H>>2]<<2|0)|0;g[$>>2]=-31.899999618530273;c[Z>>2]=0;while(1){if((c[Z>>2]|0)>=(c[S>>2]|0))break;x=+(b[(c[z>>2]|0)+(c[Z>>2]<<1)>>1]|0)*.0625+.5+ +(9-(c[y>>2]|0)|0)-+g[17464+(c[Z>>2]<<2)>>2]+ +(_((c[Z>>2]|0)+5|0,(c[Z>>2]|0)+5|0)|0)*.006200000178068876;g[r+(c[Z>>2]<<2)>>2]=x;c[Z>>2]=(c[Z>>2]|0)+1}c[C>>2]=0;do{c[Z>>2]=0;while(1){if((c[Z>>2]|0)>=(c[S>>2]|0))break;z=_(c[C>>2]|0,c[H>>2]|0)|0;if(+g[$>>2]>+g[(c[I>>2]|0)+(z+(c[Z>>2]|0)<<2)>>2]-+g[r+(c[Z>>2]<<2)>>2])w=+g[$>>2];else{z=_(c[C>>2]|0,c[H>>2]|0)|0;w=+g[(c[I>>2]|0)+(z+(c[Z>>2]|0)<<2)>>2]-+g[r+(c[Z>>2]<<2)>>2]}g[$>>2]=w;c[Z>>2]=(c[Z>>2]|0)+1}z=(c[C>>2]|0)+1|0;c[C>>2]=z}while((z|0)<(c[T>>2]|0));if((c[P>>2]|0)>50&(c[O>>2]|0)>=1^1|(c[A>>2]|0)!=0){ba=c[aa>>2]|0;ca=c[Q>>2]|0;c[ca>>2]=ba;x=+g[$>>2];ca=c[R>>2]|0;na(ca|0);i=da;return +x}c[E>>2]=0;c[C>>2]=0;do{c[D>>2]=a+((_(c[C>>2]|0,c[H>>2]|0)|0)<<2);A=_(c[C>>2]|0,c[H>>2]|0)|0;g[c[D>>2]>>2]=+g[(c[B>>2]|0)+(A<<2)>>2];c[Z>>2]=1;while(1){if((c[Z>>2]|0)>=(c[S>>2]|0))break;z=_(c[C>>2]|0,c[H>>2]|0)|0;A=_(c[C>>2]|0,c[H>>2]|0)|0;if(+g[(c[B>>2]|0)+(z+(c[Z>>2]|0)<<2)>>2]>+g[(c[B>>2]|0)+(A+(c[Z>>2]|0)-1<<2)>>2]+.5)c[E>>2]=c[Z>>2];A=_(c[C>>2]|0,c[H>>2]|0)|0;if(+g[(c[D>>2]|0)+((c[Z>>2]|0)-1<<2)>>2]+1.5<+g[(c[B>>2]|0)+(A+(c[Z>>2]|0)<<2)>>2])w=+g[(c[D>>2]|0)+((c[Z>>2]|0)-1<<2)>>2]+1.5;else{A=_(c[C>>2]|0,c[H>>2]|0)|0;w=+g[(c[B>>2]|0)+(A+(c[Z>>2]|0)<<2)>>2]}g[(c[D>>2]|0)+(c[Z>>2]<<2)>>2]=w;c[Z>>2]=(c[Z>>2]|0)+1}c[Z>>2]=(c[E>>2]|0)-1;while(1){if((c[Z>>2]|0)<0)break;A=_(c[C>>2]|0,c[H>>2]|0)|0;if(+g[(c[D>>2]|0)+((c[Z>>2]|0)+1<<2)>>2]+2.0<+g[(c[B>>2]|0)+(A+(c[Z>>2]|0)<<2)>>2])w=+g[(c[D>>2]|0)+((c[Z>>2]|0)+1<<2)>>2]+2.0;else{A=_(c[C>>2]|0,c[H>>2]|0)|0;w=+g[(c[B>>2]|0)+(A+(c[Z>>2]|0)<<2)>>2]}j=c[Z>>2]|0;do if(!(+g[(c[D>>2]|0)+(c[Z>>2]<<2)>>2]>2]|0,c[H>>2]|0)|0;if(+g[(c[D>>2]|0)+(j+1<<2)>>2]+2.0<+g[(c[B>>2]|0)+(A+(c[Z>>2]|0)<<2)>>2]){w=+g[(c[D>>2]|0)+((c[Z>>2]|0)+1<<2)>>2]+2.0;break}else{A=_(c[C>>2]|0,c[H>>2]|0)|0;w=+g[(c[B>>2]|0)+(A+(c[Z>>2]|0)<<2)>>2];break}}else w=+g[(c[D>>2]|0)+(j<<2)>>2];while(0);g[(c[D>>2]|0)+(c[Z>>2]<<2)>>2]=w;c[Z>>2]=(c[Z>>2]|0)+-1}g[F>>2]=1.0;c[Z>>2]=2;while(1){if((c[Z>>2]|0)>=((c[S>>2]|0)-2|0))break;w=+g[(c[D>>2]|0)+(c[Z>>2]<<2)>>2];A=_(c[C>>2]|0,c[H>>2]|0)|0;x=+yb((c[B>>2]|0)+(A+(c[Z>>2]|0)-2<<2)|0);if(w>x-+g[F>>2])w=+g[(c[D>>2]|0)+(c[Z>>2]<<2)>>2];else{A=_(c[C>>2]|0,c[H>>2]|0)|0;w=+yb((c[B>>2]|0)+(A+(c[Z>>2]|0)-2<<2)|0);w=w-+g[F>>2]}g[(c[D>>2]|0)+(c[Z>>2]<<2)>>2]=w;c[Z>>2]=(c[Z>>2]|0)+1}A=_(c[C>>2]|0,c[H>>2]|0)|0;x=+zb((c[B>>2]|0)+(A<<2)|0);g[G>>2]=x-+g[F>>2];if(+g[c[D>>2]>>2]>+g[G>>2])w=+g[c[D>>2]>>2];else w=+g[G>>2];g[c[D>>2]>>2]=w;if(+g[(c[D>>2]|0)+4>>2]>+g[G>>2])w=+g[(c[D>>2]|0)+4>>2];else w=+g[G>>2];g[(c[D>>2]|0)+4>>2]=w;A=_(c[C>>2]|0,c[H>>2]|0)|0;x=+zb((c[B>>2]|0)+(A+(c[S>>2]|0)-3<<2)|0);g[G>>2]=x-+g[F>>2];if(+g[(c[D>>2]|0)+((c[S>>2]|0)-2<<2)>>2]>+g[G>>2])w=+g[(c[D>>2]|0)+((c[S>>2]|0)-2<<2)>>2];else w=+g[G>>2];g[(c[D>>2]|0)+((c[S>>2]|0)-2<<2)>>2]=w;if(+g[(c[D>>2]|0)+((c[S>>2]|0)-1<<2)>>2]>+g[G>>2])w=+g[(c[D>>2]|0)+((c[S>>2]|0)-1<<2)>>2];else w=+g[G>>2];g[(c[D>>2]|0)+((c[S>>2]|0)-1<<2)>>2]=w;c[Z>>2]=0;while(1){if((c[Z>>2]|0)>=(c[S>>2]|0))break;j=c[Z>>2]|0;if(+g[(c[D>>2]|0)+(c[Z>>2]<<2)>>2]>+g[r+(c[Z>>2]<<2)>>2])w=+g[(c[D>>2]|0)+(j<<2)>>2];else w=+g[r+(j<<2)>>2];g[(c[D>>2]|0)+(c[Z>>2]<<2)>>2]=w;c[Z>>2]=(c[Z>>2]|0)+1}A=(c[C>>2]|0)+1|0;c[C>>2]=A}while((A|0)<(c[T>>2]|0));G=(c[T>>2]|0)==2;c[Z>>2]=c[K>>2];a:do if(G)while(1){if((c[Z>>2]|0)>=(c[S>>2]|0))break a;if(+g[a+((c[H>>2]|0)+(c[Z>>2]|0)<<2)>>2]>+g[a+(c[Z>>2]<<2)>>2]-4.0)w=+g[a+((c[H>>2]|0)+(c[Z>>2]|0)<<2)>>2];else w=+g[a+(c[Z>>2]<<2)>>2]-4.0;g[a+((c[H>>2]|0)+(c[Z>>2]|0)<<2)>>2]=w;if(+g[a+(c[Z>>2]<<2)>>2]>+g[a+((c[H>>2]|0)+(c[Z>>2]|0)<<2)>>2]-4.0)w=+g[a+(c[Z>>2]<<2)>>2];else w=+g[a+((c[H>>2]|0)+(c[Z>>2]|0)<<2)>>2]-4.0;g[a+(c[Z>>2]<<2)>>2]=w;if(0.0>+g[(c[I>>2]|0)+(c[Z>>2]<<2)>>2]-+g[a+(c[Z>>2]<<2)>>2])x=0.0;else x=+g[(c[I>>2]|0)+(c[Z>>2]<<2)>>2]-+g[a+(c[Z>>2]<<2)>>2];if(0.0>+g[(c[I>>2]|0)+((c[H>>2]|0)+(c[Z>>2]|0)<<2)>>2]-+g[a+((c[H>>2]|0)+(c[Z>>2]|0)<<2)>>2])w=0.0;else w=+g[(c[I>>2]|0)+((c[H>>2]|0)+(c[Z>>2]|0)<<2)>>2]-+g[a+((c[H>>2]|0)+(c[Z>>2]|0)<<2)>>2];g[a+(c[Z>>2]<<2)>>2]=(x+w)*.5;c[Z>>2]=(c[Z>>2]|0)+1}else while(1){if((c[Z>>2]|0)>=(c[S>>2]|0))break a;if(0.0>+g[(c[I>>2]|0)+(c[Z>>2]<<2)>>2]-+g[a+(c[Z>>2]<<2)>>2])w=0.0;else w=+g[(c[I>>2]|0)+(c[Z>>2]<<2)>>2]-+g[a+(c[Z>>2]<<2)>>2];g[a+(c[Z>>2]<<2)>>2]=w;c[Z>>2]=(c[Z>>2]|0)+1}while(0);c[Z>>2]=c[K>>2];while(1){if((c[Z>>2]|0)>=(c[S>>2]|0))break;j=c[Z>>2]|0;if(+g[a+(c[Z>>2]<<2)>>2]>+g[(c[J>>2]|0)+(c[Z>>2]<<2)>>2])w=+g[a+(j<<2)>>2];else w=+g[(c[J>>2]|0)+(j<<2)>>2];g[a+(c[Z>>2]<<2)>>2]=w;c[Z>>2]=(c[Z>>2]|0)+1}b:do if(!(((c[L>>2]|0)==0|(c[M>>2]|0)!=0)^1|(c[V>>2]|0)!=0)){c[Z>>2]=c[K>>2];while(1){if((c[Z>>2]|0)>=(c[S>>2]|0))break b;g[a+(c[Z>>2]<<2)>>2]=+g[a+(c[Z>>2]<<2)>>2]*.5;c[Z>>2]=(c[Z>>2]|0)+1}}while(0);c[Z>>2]=c[K>>2];while(1){if((c[Z>>2]|0)>=(c[S>>2]|0)){ca=103;break}if((c[Z>>2]|0)<8){K=a+(c[Z>>2]<<2)|0;g[K>>2]=+g[K>>2]*2.0}if((c[Z>>2]|0)>=12)g[a+(c[Z>>2]<<2)>>2]=+g[a+(c[Z>>2]<<2)>>2]*.5;if(+g[a+(c[Z>>2]<<2)>>2]<4.0)w=+g[a+(c[Z>>2]<<2)>>2];else w=4.0;g[a+(c[Z>>2]<<2)>>2]=w;K=_(c[T>>2]|0,(b[(c[N>>2]|0)+((c[Z>>2]|0)+1<<1)>>1]|0)-(b[(c[N>>2]|0)+(c[Z>>2]<<1)>>1]|0)|0)|0;c[ba>>2]=K<>2];do if((c[ba>>2]|0)>=6){w=+g[a+(c[Z>>2]<<2)>>2];if((c[ba>>2]|0)>48){c[W>>2]=~~(w*8.0);c[X>>2]=((_(c[W>>2]|0,c[ba>>2]|0)|0)<<3|0)/8|0;break}else{c[W>>2]=~~(w*+(c[ba>>2]|0)/6.0);c[X>>2]=(c[W>>2]|0)*6<<3;break}}else{c[W>>2]=~~+g[a+(c[Z>>2]<<2)>>2];c[X>>2]=(_(c[W>>2]|0,c[ba>>2]|0)|0)<<3}while(0);if(!(c[L>>2]|0?(c[M>>2]|0)==0|(c[V>>2]|0)!=0:0))ca=100;if((ca|0)==100?(ca=0,((c[aa>>2]|0)+(c[X>>2]|0)>>3>>3|0)>((c[P>>2]|0)/4|0|0)):0)break;c[(c[U>>2]|0)+(c[Z>>2]<<2)>>2]=c[W>>2];c[aa>>2]=(c[aa>>2]|0)+(c[X>>2]|0);c[Z>>2]=(c[Z>>2]|0)+1}if((ca|0)==103){ba=c[aa>>2]|0;ca=c[Q>>2]|0;c[ca>>2]=ba;x=+g[$>>2];ca=c[R>>2]|0;na(ca|0);i=da;return +x}c[Y>>2]=((c[P>>2]|0)/4|0)<<3<<3;c[(c[U>>2]|0)+(c[Z>>2]<<2)>>2]=(c[Y>>2]|0)-(c[aa>>2]|0);c[aa>>2]=c[Y>>2];ba=c[aa>>2]|0;ca=c[Q>>2]|0;c[ca>>2]=ba;x=+g[$>>2];ca=c[R>>2]|0;na(ca|0);i=da;return +x}function yb(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0.0;n=i;i=i+48|0;b=n+32|0;d=n+28|0;e=n+24|0;f=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=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[j>>2]=+g[a+16>>2];g[k>>2]=+g[(c[d>>2]|0)+12>>2]}else{g[j>>2]=+g[a+12>>2];g[k>>2]=+g[(c[d>>2]|0)+16>>2]}if(+g[e>>2]>+g[j>>2]){g[l>>2]=+g[e>>2];g[e>>2]=+g[j>>2];g[j>>2]=+g[l>>2];g[m>>2]=+g[f>>2];g[f>>2]=+g[k>>2];g[k>>2]=+g[m>>2]}if(+g[h>>2]>+g[f>>2])if(+g[f>>2]<+g[j>>2]){g[b>>2]=+g[h>>2]<+g[j>>2]?+g[h>>2]:+g[j>>2];o=+g[b>>2];i=n;return +o}else{g[b>>2]=+g[k>>2]<+g[f>>2]?+g[k>>2]:+g[f>>2];o=+g[b>>2];i=n;return +o}else if(+g[h>>2]<+g[j>>2]){g[b>>2]=+g[f>>2]<+g[j>>2]?+g[f>>2]:+g[j>>2];o=+g[b>>2];i=n;return +o}else{g[b>>2]=+g[h>>2]<+g[k>>2]?+g[h>>2]:+g[k>>2];o=+g[b>>2];i=n;return +o}return 0.0}function zb(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,j=0,k=0.0;j=i;i=i+32|0;b=j+16|0;d=j+12|0;e=j+8|0;f=j+4|0;h=j;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];k=+g[b>>2];i=j;return +k}if(+g[e>>2]<+g[h>>2]){g[b>>2]=+g[h>>2];k=+g[b>>2];i=j;return +k}else{g[b>>2]=+g[e>>2];k=+g[b>>2];i=j;return +k}return 0.0}function Ab(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0;v=i;i=i+64|0;h=v+48|0;j=v+44|0;k=v+40|0;l=v+36|0;q=v+32|0;u=v+28|0;s=v+24|0;t=v+20|0;r=v+16|0;m=v+12|0;o=v+8|0;n=v+4|0;p=v;c[h>>2]=a;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;g[s>>2]=1.0000000036274937e-15;g[t>>2]=1.0000000036274937e-15;c[q>>2]=0;while(1){if((c[q>>2]|0)>=13)break;c[r>>2]=b[(c[(c[h>>2]|0)+32>>2]|0)+(c[q>>2]<<1)>>1]<>2];while(1){if((c[r>>2]|0)>=(b[(c[(c[h>>2]|0)+32>>2]|0)+((c[q>>2]|0)+1<<1)>>1]<>2]|0))break;g[m>>2]=+g[(c[j>>2]|0)+(c[r>>2]<<2)>>2];g[o>>2]=+g[(c[j>>2]|0)+((c[l>>2]|0)+(c[r>>2]|0)<<2)>>2];g[n>>2]=+g[m>>2]+ +g[o>>2];g[p>>2]=+g[m>>2]-+g[o>>2];w=+N(+(+g[m>>2]));g[s>>2]=+g[s>>2]+(w+ +N(+(+g[o>>2])));w=+N(+(+g[n>>2]));g[t>>2]=+g[t>>2]+(w+ +N(+(+g[p>>2])));c[r>>2]=(c[r>>2]|0)+1}c[q>>2]=(c[q>>2]|0)+1}g[t>>2]=+g[t>>2]*.7071070075035095;c[u>>2]=13;if((c[k>>2]|0)<=1)c[u>>2]=(c[u>>2]|0)-8;i=v;return +((b[(c[(c[h>>2]|0)+32>>2]|0)+26>>1]<<(c[k>>2]|0)+1)+(c[u>>2]|0)|0)*+g[t>>2]>+(b[(c[(c[h>>2]|0)+32>>2]|0)+26>>1]<<(c[k>>2]|0)+1|0)*+g[s>>2]|0}function Bb(a,d,e,f,h,j,k,l,m,n,o,p,q){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|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,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,O=0,P=0,Q=0;Q=i;i=i+96|0;B=Q+92|0;s=Q+88|0;C=Q+84|0;D=Q+80|0;u=Q+76|0;E=Q+72|0;v=Q+68|0;L=Q+64|0;F=Q+60|0;K=Q+56|0;t=Q+52|0;J=Q+48|0;H=Q+40|0;I=Q+36|0;G=Q+32|0;P=Q+28|0;O=Q+24|0;z=Q+20|0;A=Q+16|0;y=Q+12|0;x=Q+8|0;r=Q+4|0;w=Q;c[B>>2]=a;c[s>>2]=d;c[C>>2]=e;c[D>>2]=f;c[u>>2]=h;c[E>>2]=j;c[v>>2]=k;c[L>>2]=l;c[F>>2]=m;g[K>>2]=n;c[t>>2]=o;g[J>>2]=p;c[Q+44>>2]=q;g[I>>2]=0.0;g[O>>2]=5.0;if((c[E>>2]|0)==2){g[y>>2]=0.0;c[H>>2]=0;while(1){if((c[H>>2]|0)>=8)break;g[r>>2]=+Cb((c[s>>2]|0)+(b[(c[(c[B>>2]|0)+32>>2]|0)+(c[H>>2]<<1)>>1]<>2]<<2)|0,(c[s>>2]|0)+((c[v>>2]|0)+(b[(c[(c[B>>2]|0)+32>>2]|0)+(c[H>>2]<<1)>>1]<>2])<<2)|0,(b[(c[(c[B>>2]|0)+32>>2]|0)+((c[H>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[B>>2]|0)+32>>2]|0)+(c[H>>2]<<1)>>1]|0)<>2]);g[y>>2]=+g[y>>2]+ +g[r>>2];c[H>>2]=(c[H>>2]|0)+1}g[y>>2]=+g[y>>2]*.125;if(1.0<+N(+(+g[y>>2])))p=1.0;else p=+N(+(+g[y>>2]));g[y>>2]=p;g[x>>2]=+g[y>>2];c[H>>2]=8;while(1){if((c[H>>2]|0)>=(c[t>>2]|0))break;g[w>>2]=+Cb((c[s>>2]|0)+(b[(c[(c[B>>2]|0)+32>>2]|0)+(c[H>>2]<<1)>>1]<>2]<<2)|0,(c[s>>2]|0)+((c[v>>2]|0)+(b[(c[(c[B>>2]|0)+32>>2]|0)+(c[H>>2]<<1)>>1]<>2])<<2)|0,(b[(c[(c[B>>2]|0)+32>>2]|0)+((c[H>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[B>>2]|0)+32>>2]|0)+(c[H>>2]<<1)>>1]|0)<>2]);if(+g[x>>2]<+N(+(+g[w>>2])))p=+g[x>>2];else p=+N(+(+g[w>>2]));g[x>>2]=p;c[H>>2]=(c[H>>2]|0)+1}if(1.0<+N(+(+g[x>>2])))p=1.0;else p=+N(+(+g[x>>2]));g[x>>2]=p;g[z>>2]=+Y(+(1.0010000467300415-+g[y>>2]*+g[y>>2]))*1.4426950408889634;if(+g[z>>2]*.5>+Y(+(1.0010000467300415-+g[x>>2]*+g[x>>2]))*1.4426950408889634)p=+g[z>>2]*.5;else p=+Y(+(1.0010000467300415-+g[x>>2]*+g[x>>2]))*1.4426950408889634;g[A>>2]=p;g[O>>2]=+g[O>>2]+(-4.0>+g[z>>2]*.75?-4.0:+g[z>>2]*.75);if(+g[c[F>>2]>>2]+.25<-(+g[A>>2]*.5))p=+g[c[F>>2]>>2]+.25;else p=-(+g[A>>2]*.5);g[c[F>>2]>>2]=p}c[G>>2]=0;do{c[H>>2]=0;while(1){if((c[H>>2]|0)>=((c[D>>2]|0)-1|0))break;F=(c[H>>2]|0)+(_(c[G>>2]|0,c[(c[B>>2]|0)+8>>2]|0)|0)|0;g[I>>2]=+g[I>>2]+ +g[(c[C>>2]|0)+(F<<2)>>2]*+(2+(c[H>>2]<<1)-(c[D>>2]|0)|0);c[H>>2]=(c[H>>2]|0)+1}F=(c[G>>2]|0)+1|0;c[G>>2]=F}while((F|0)<(c[E>>2]|0));n=+(_(c[E>>2]|0,(c[D>>2]|0)-1|0)|0);g[I>>2]=+g[I>>2]/n;if(2.0<(+g[I>>2]+1.0)/6.0)p=2.0;else p=(+g[I>>2]+1.0)/6.0;if(!(-2.0>p))if(2.0<(+g[I>>2]+1.0)/6.0)p=2.0;else p=(+g[I>>2]+1.0)/6.0;else p=-2.0;g[O>>2]=+g[O>>2]-p;g[O>>2]=+g[O>>2]-+g[J>>2];g[O>>2]=+g[O>>2]-+g[K>>2]*2.0;if(c[c[L>>2]>>2]|0){if(2.0<(+g[(c[L>>2]|0)+8>>2]+.05000000074505806)*2.0)p=2.0;else p=(+g[(c[L>>2]|0)+8>>2]+.05000000074505806)*2.0;if(!(-2.0>p))if(2.0<(+g[(c[L>>2]|0)+8>>2]+.05000000074505806)*2.0)p=2.0;else p=(+g[(c[L>>2]|0)+8>>2]+.05000000074505806)*2.0;else p=-2.0;g[O>>2]=+g[O>>2]-p}c[P>>2]=~~+M(+(+g[O>>2]+.5));if(0>((10<(c[P>>2]|0)?10:c[P>>2]|0)|0)){O=0;c[P>>2]=O;P=c[P>>2]|0;i=Q;return P|0}O=10<(c[P>>2]|0)?10:c[P>>2]|0;c[P>>2]=O;P=c[P>>2]|0;i=Q;return P|0}function Cb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[f>>2]=a;c[h>>2]=b;c[j>>2]=d;g[l>>2]=0.0;c[k>>2]=0;while(1){e=+g[l>>2];if((c[k>>2]|0)>=(c[j>>2]|0))break;g[l>>2]=e+ +g[(c[f>>2]|0)+(c[k>>2]<<2)>>2]*+g[(c[h>>2]|0)+(c[k>>2]<<2)>>2];c[k>>2]=(c[k>>2]|0)+1}i=m;return +e}function Db(a,d,e,f,h,j,k,l,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;j=j|0;k=k|0;l=l|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,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;ea=i;i=i+144|0;ga=ea+140|0;D=ea+136|0;aa=ea+132|0;P=ea+128|0;X=ea+124|0;fa=ea+120|0;Q=ea+116|0;x=ea+112|0;Y=ea+108|0;y=ea+104|0;E=ea+100|0;V=ea+96|0;H=ea+92|0;N=ea+88|0;F=ea+84|0;O=ea+80|0;W=ea+76|0;I=ea+72|0;$=ea+68|0;ca=ea+64|0;J=ea+60|0;z=ea+56|0;G=ea+52|0;U=ea+48|0;S=ea+44|0;A=ea+40|0;B=ea+36|0;C=ea+32|0;M=ea+28|0;L=ea+24|0;K=ea+20|0;T=ea+16|0;R=ea+12|0;Z=ea+8|0;ba=ea+4|0;da=ea;c[ga>>2]=a;c[D>>2]=d;c[aa>>2]=e;c[P>>2]=f;c[X>>2]=h;c[fa>>2]=j;c[Q>>2]=k;c[x>>2]=l;c[Y>>2]=m;g[y>>2]=n;c[E>>2]=o;g[V>>2]=p;c[H>>2]=q;g[N>>2]=r;c[F>>2]=s;c[O>>2]=t;c[W>>2]=u;g[I>>2]=v;g[$>>2]=w;c[U>>2]=c[(c[ga>>2]|0)+8>>2];c[S>>2]=c[(c[ga>>2]|0)+32>>2];c[z>>2]=c[fa>>2]|0?c[fa>>2]|0:c[U>>2]|0;c[J>>2]=b[(c[S>>2]|0)+(c[z>>2]<<1)>>1]<>2];if((c[Q>>2]|0)==2)c[J>>2]=(c[J>>2]|0)+(b[(c[S>>2]|0)+(((c[x>>2]|0)<(c[z>>2]|0)?c[x>>2]|0:c[z>>2]|0)<<1)>>1]<>2]);c[ca>>2]=c[aa>>2];if(c[c[D>>2]>>2]|0?+g[(c[D>>2]|0)+16>>2]<.4:0)c[ca>>2]=(c[ca>>2]|0)-~~(+(c[J>>2]<<3|0)*(.4000000059604645-+g[(c[D>>2]|0)+16>>2]));if((c[Q>>2]|0)==2){c[A>>2]=(c[x>>2]|0)<(c[z>>2]|0)?c[x>>2]|0:c[z>>2]|0;c[B>>2]=(b[(c[S>>2]|0)+(c[A>>2]<<1)>>1]<>2])-(c[A>>2]|0);g[C>>2]=+(c[B>>2]|0)*.800000011920929/+(c[J>>2]|0);g[y>>2]=+g[y>>2]<1.0?+g[y>>2]:1.0;if(+g[C>>2]*+(c[ca>>2]|0)<(+g[y>>2]-.10000000149011612)*+(c[B>>2]<<3|0))r=+g[C>>2]*+(c[ca>>2]|0);else r=(+g[y>>2]-.10000000149011612)*+(c[B>>2]<<3|0);c[ca>>2]=(c[ca>>2]|0)-~~r}c[ca>>2]=(c[ca>>2]|0)+((c[E>>2]|0)-(16<>2]));g[G>>2]=(c[F>>2]|0)==5010?.019999999552965164:.03999999910593033;c[ca>>2]=(c[ca>>2]|0)+~~((+g[V>>2]-+g[G>>2])*+(c[ca>>2]|0));if(!(c[O>>2]|0?1:(c[c[D>>2]>>2]|0)==0)){if(0.0>+g[(c[D>>2]|0)+4>>2]-.15000000596046448)r=0.0;else r=+g[(c[D>>2]|0)+4>>2]-.15000000596046448;g[L>>2]=r-.09000000357627869;c[M>>2]=(c[ca>>2]|0)+~~(+(c[J>>2]<<3|0)*1.2000000476837158*+g[L>>2]);if(c[H>>2]|0)c[M>>2]=(c[M>>2]|0)+~~(+(c[J>>2]<<3|0)*.800000011920929);c[ca>>2]=c[M>>2]}if(!((c[W>>2]|0)==0|(c[O>>2]|0)!=0)){c[K>>2]=(c[ca>>2]|0)+~~(+g[I>>2]*+(c[J>>2]<<3|0));if(((c[ca>>2]|0)/4|0|0)>(c[K>>2]|0))x=(c[ca>>2]|0)/4|0;else x=c[K>>2]|0;c[ca>>2]=x}c[R>>2]=b[(c[S>>2]|0)+((c[U>>2]|0)-2<<1)>>1]<>2];p=+((_(c[Q>>2]|0,c[R>>2]|0)|0)<<3|0);c[T>>2]=~~(p*+g[N>>2]);c[T>>2]=(c[T>>2]|0)>(c[ca>>2]>>2|0)?c[T>>2]|0:c[ca>>2]>>2;c[ca>>2]=(c[ca>>2]|0)<(c[T>>2]|0)?c[ca>>2]|0:c[T>>2]|0;if((c[W>>2]|0)==0|(c[O>>2]|0)!=0?(c[Y>>2]|0)!=0|(c[X>>2]|0)<64e3:0){if(0.0>+((c[X>>2]|0)-32e3|0)*.000030517578125)r=0.0;else r=+((c[X>>2]|0)-32e3|0)*.000030517578125;g[Z>>2]=r;if(c[Y>>2]|0)g[Z>>2]=+g[Z>>2]<.6700000166893005?+g[Z>>2]:.6700000166893005;c[ca>>2]=(c[aa>>2]|0)+~~(+g[Z>>2]*+((c[ca>>2]|0)-(c[aa>>2]|0)|0))}if(!((c[W>>2]|0)==0&+g[V>>2]<.20000000298023224)){fa=c[aa>>2]|0;fa=fa<<1;da=c[ca>>2]|0;da=(fa|0)<(da|0);fa=c[aa>>2]|0;fa=fa<<1;ga=c[ca>>2]|0;ga=da?fa:ga;c[ca>>2]=ga;ga=c[ca>>2]|0;i=ea;return ga|0}if(0>((32e3<(96e3-(c[X>>2]|0)|0)?32e3:96e3-(c[X>>2]|0)|0)|0))x=0;else x=32e3<(96e3-(c[X>>2]|0)|0)?32e3:96e3-(c[X>>2]|0)|0;g[ba>>2]=+(x|0)*3.099999958067201e-06;g[da>>2]=+g[$>>2]*+g[ba>>2];c[ca>>2]=(c[ca>>2]|0)+~~(+g[da>>2]*+(c[ca>>2]|0));fa=c[aa>>2]|0;fa=fa<<1;da=c[ca>>2]|0;da=(fa|0)<(da|0);fa=c[aa>>2]|0;fa=fa<<1;ga=c[ca>>2]|0;ga=da?fa:ga;c[ca>>2]=ga;ga=c[ca>>2]|0;i=ea;return ga|0}function Eb(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+44>>2]|0}function Fb(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=Jc(48e3,960,0)|0;a=Gb(c[e>>2]|0,c[d>>2]|0)|0;i=b;return a|0}function Gb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;a=88+((_(c[g>>2]|0,2048+(c[(c[f>>2]|0)+4>>2]|0)|0)|0)-1<<2)|0;c[d>>2]=a+((c[g>>2]|0)*24<<2)+(c[(c[f>>2]|0)+8>>2]<<3<<2);i=e;return c[d>>2]|0}function Hb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+16|0;f=j+12|0;g=j+8|0;k=j+4|0;h=j;c[f>>2]=a;c[g>>2]=b;c[k>>2]=d;b=c[f>>2]|0;a=Jc(48e3,960,0)|0;c[h>>2]=Ib(b,a,c[k>>2]|0)|0;if(c[h>>2]|0){c[e>>2]=c[h>>2];k=c[e>>2]|0;i=j;return k|0}k=bb(c[g>>2]|0)|0;c[(c[f>>2]|0)+16>>2]=k;if(!(c[(c[f>>2]|0)+16>>2]|0)){c[e>>2]=-1;k=c[e>>2]|0;i=j;return k|0}else{c[e>>2]=0;k=c[e>>2]|0;i=j;return k|0}return 0}function Ib(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+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;a=c[e>>2]|0;i=j;return a|0}if(!(c[f>>2]|0)){c[e>>2]=-7;a=c[e>>2]|0;i=j;return a|0}else{a=c[f>>2]|0;oj(a|0,0,Gb(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];a=c[h>>2]|0;c[(c[f>>2]|0)+8>>2]=a;c[(c[f>>2]|0)+12>>2]=a;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;a=Jb()|0;c[(c[f>>2]|0)+32>>2]=a;c[(c[f>>2]|0)+48>>2]=0;Kb(c[f>>2]|0,4028,j)|0;c[e>>2]=0;a=c[e>>2]|0;i=j;return a|0}return 0}function Jb(){return 0}function Kb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=i;i=i+96|0;w=x+80|0;e=x+76|0;y=x+72|0;f=x+56|0;n=x+52|0;o=x+48|0;p=x+44|0;q=x+40|0;r=x+36|0;h=x+32|0;j=x+28|0;k=x+24|0;l=x+20|0;m=x+16|0;s=x+12|0;t=x+8|0;u=x+4|0;v=x;c[e>>2]=a;c[y>>2]=b;c[f>>2]=d;a:do switch(c[y>>2]|0){case 10010:{d=(c[f>>2]|0)+(4-1)&~(4-1);y=c[d>>2]|0;c[f>>2]=d+4;c[n>>2]=y;if((c[n>>2]|0)>=0?(c[n>>2]|0)<(c[(c[c[e>>2]>>2]|0)+8>>2]|0):0){c[(c[e>>2]|0)+20>>2]=c[n>>2];e=24}else e=25;break}case 10012:{d=(c[f>>2]|0)+(4-1)&~(4-1);y=c[d>>2]|0;c[f>>2]=d+4;c[o>>2]=y;if((c[o>>2]|0)>=1?(c[o>>2]|0)<=(c[(c[c[e>>2]>>2]|0)+8>>2]|0):0){c[(c[e>>2]|0)+24>>2]=c[o>>2];e=24}else e=25;break}case 10008:{d=(c[f>>2]|0)+(4-1)&~(4-1);y=c[d>>2]|0;c[f>>2]=d+4;c[p>>2]=y;if((c[p>>2]|0)<1|(c[p>>2]|0)>2)e=25;else{c[(c[e>>2]|0)+12>>2]=c[p>>2];e=24}break}case 10007:{d=(c[f>>2]|0)+(4-1)&~(4-1);y=c[d>>2]|0;c[f>>2]=d+4;c[q>>2]=y;if(!(c[q>>2]|0))e=25;else{c[c[q>>2]>>2]=c[(c[e>>2]|0)+40>>2];c[(c[e>>2]|0)+40>>2]=0;e=24}break}case 4027:{d=(c[f>>2]|0)+(4-1)&~(4-1);y=c[d>>2]|0;c[f>>2]=d+4;c[r>>2]=y;if(!(c[r>>2]|0))e=25;else{c[c[r>>2]>>2]=(c[(c[e>>2]|0)+4>>2]|0)/(c[(c[e>>2]|0)+16>>2]|0)|0;e=24}break}case 4028:{c[j>>2]=(c[e>>2]|0)+84+((_(2048+(c[(c[e>>2]|0)+4>>2]|0)|0,c[(c[e>>2]|0)+8>>2]|0)|0)<<2);c[k>>2]=(c[j>>2]|0)+((c[(c[e>>2]|0)+8>>2]|0)*24<<2);c[l>>2]=(c[k>>2]|0)+(c[(c[c[e>>2]>>2]|0)+8>>2]<<1<<2);c[m>>2]=(c[l>>2]|0)+(c[(c[c[e>>2]>>2]|0)+8>>2]<<1<<2);oj((c[e>>2]|0)+36|0,0,(Gb(c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0)-((c[e>>2]|0)+36-(c[e>>2]|0))|0)|0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[c[e>>2]>>2]|0)+8>>2]<<1|0)){e=24;break a}g[(c[m>>2]|0)+(c[h>>2]<<2)>>2]=-28.0;g[(c[l>>2]|0)+(c[h>>2]<<2)>>2]=-28.0;c[h>>2]=(c[h>>2]|0)+1}}case 4033:{d=(c[f>>2]|0)+(4-1)&~(4-1);y=c[d>>2]|0;c[f>>2]=d+4;c[s>>2]=y;if(!(c[s>>2]|0))e=25;else{c[c[s>>2]>>2]=c[(c[e>>2]|0)+52>>2];e=24}break}case 10015:{d=(c[f>>2]|0)+(4-1)&~(4-1);y=c[d>>2]|0;c[f>>2]=d+4;c[t>>2]=y;if(!(c[t>>2]|0))e=25;else{c[c[t>>2]>>2]=c[c[e>>2]>>2];e=24}break}case 10016:{d=(c[f>>2]|0)+(4-1)&~(4-1);y=c[d>>2]|0;c[f>>2]=d+4;c[u>>2]=y;c[(c[e>>2]|0)+28>>2]=c[u>>2];e=24;break}case 4031:{d=(c[f>>2]|0)+(4-1)&~(4-1);y=c[d>>2]|0;c[f>>2]=d+4;c[v>>2]=y;if(!(c[v>>2]|0))e=25;else{c[c[v>>2]>>2]=c[(c[e>>2]|0)+36>>2];e=24}break}default:{c[w>>2]=-5;y=c[w>>2]|0;i=x;return y|0}}while(0);if((e|0)==24){c[w>>2]=0;y=c[w>>2]|0;i=x;return y|0}else if((e|0)==25){c[w>>2]=-1;y=c[w>>2]|0;i=x;return y|0}return 0} function ye(d,e,f,g,h,j,k,l,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;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;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,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ja=0,ka=0,la=0,ma=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=i;i=i+256|0;E=Na+240|0;Ha=Na+236|0;N=Na+232|0;T=Na+228|0;U=Na+224|0;V=Na+220|0;W=Na+216|0;X=Na+212|0;Y=Na+208|0;Z=Na+204|0;F=Na+200|0;G=Na+196|0;H=Na+192|0;I=Na+188|0;J=Na+184|0;Oa=Na+180|0;K=Na+176|0;L=Na+172|0;Ia=Na+168|0;M=Na+164|0;O=Na+160|0;P=Na+156|0;Q=Na+152|0;Ja=Na+148|0;R=Na+144|0;S=Na+140|0;la=Na+136|0;ma=Na+132|0;La=Na+128|0;ha=Na+124|0;ga=Na+120|0;ea=Na+116|0;oa=Na+112|0;ja=Na+108|0;ca=Na+104|0;ba=Na+100|0;pa=Na+96|0;ra=Na+92|0;qa=Na+88|0;ya=Na+84|0;Ba=Na+80|0;za=Na+76|0;Aa=Na+72|0;fa=Na+68|0;da=Na+64|0;va=Na+60|0;wa=Na+56|0;xa=Na+52|0;ka=Na+48|0;aa=Na+44|0;Ga=Na+40|0;$=Na+36|0;Ea=Na+32|0;Fa=Na+28|0;Ca=Na+24|0;sa=Na+20|0;Da=Na+16|0;ta=Na+12|0;Ma=Na+8|0;ua=Na+4|0;Ka=Na;c[E>>2]=d;c[Ha>>2]=e;c[N>>2]=f;c[T>>2]=g;c[U>>2]=h;c[V>>2]=j;c[W>>2]=k;c[X>>2]=l;c[Y>>2]=m;c[Z>>2]=n;c[F>>2]=o;c[G>>2]=p;c[H>>2]=q;c[I>>2]=r;c[J>>2]=s;c[Oa>>2]=t;c[K>>2]=u;c[L>>2]=v;c[Ia>>2]=w;c[M>>2]=x;c[O>>2]=y;c[P>>2]=z;c[Q>>2]=A;c[Ja>>2]=B;c[R>>2]=C;c[S>>2]=D;j=c[Ja>>2]|0;c[Ka>>2]=ia()|0;t=i;i=i+((1*(j*48|0)|0)+15&-16)|0;c[Da>>2]=(c[E>>2]|0)+1280+((c[(c[E>>2]|0)+4364>>2]|0)-(c[G>>2]|0)+1<<2);c[sa>>2]=(c[W>>2]|0)+((c[(c[E>>2]|0)+4360>>2]|0)-(c[G>>2]|0)+2<<2);c[$>>2]=c[Oa>>2]>>6;c[la>>2]=0;while(1){if((c[la>>2]|0)>=(c[Ia>>2]|0))break;if((c[N>>2]|0)==2){c[ca>>2]=2;Oa=_(c[c[sa>>2]>>2]>>16,b[c[Z>>2]>>1]|0)|0;c[ca>>2]=(c[ca>>2]|0)+(Oa+((_(c[c[sa>>2]>>2]&65535,b[c[Z>>2]>>1]|0)|0)>>16));Oa=_(c[(c[sa>>2]|0)+-4>>2]>>16,b[(c[Z>>2]|0)+2>>1]|0)|0;c[ca>>2]=(c[ca>>2]|0)+(Oa+((_(c[(c[sa>>2]|0)+-4>>2]&65535,b[(c[Z>>2]|0)+2>>1]|0)|0)>>16));Oa=_(c[(c[sa>>2]|0)+-8>>2]>>16,b[(c[Z>>2]|0)+4>>1]|0)|0;c[ca>>2]=(c[ca>>2]|0)+(Oa+((_(c[(c[sa>>2]|0)+-8>>2]&65535,b[(c[Z>>2]|0)+4>>1]|0)|0)>>16));Oa=_(c[(c[sa>>2]|0)+-12>>2]>>16,b[(c[Z>>2]|0)+6>>1]|0)|0;c[ca>>2]=(c[ca>>2]|0)+(Oa+((_(c[(c[sa>>2]|0)+-12>>2]&65535,b[(c[Z>>2]|0)+6>>1]|0)|0)>>16));Oa=_(c[(c[sa>>2]|0)+-16>>2]>>16,b[(c[Z>>2]|0)+8>>1]|0)|0;c[ca>>2]=(c[ca>>2]|0)+(Oa+((_(c[(c[sa>>2]|0)+-16>>2]&65535,b[(c[Z>>2]|0)+8>>1]|0)|0)>>16));c[ca>>2]=c[ca>>2]<<1;c[sa>>2]=(c[sa>>2]|0)+4}else c[ca>>2]=0;if((c[G>>2]|0)>0){Oa=_((c[c[Da>>2]>>2]|0)+(c[(c[Da>>2]|0)+-8>>2]|0)>>16,(c[H>>2]&65535)<<16>>16)|0;c[ra>>2]=Oa+((_((c[c[Da>>2]>>2]|0)+(c[(c[Da>>2]|0)+-8>>2]|0)&65535,(c[H>>2]&65535)<<16>>16)|0)>>16);Oa=(c[ra>>2]|0)+(_(c[(c[Da>>2]|0)+-4>>2]>>16,c[H>>2]>>16)|0)|0;c[ra>>2]=Oa+((_(c[(c[Da>>2]|0)+-4>>2]&65535,c[H>>2]>>16)|0)>>16);c[ra>>2]=(c[ca>>2]|0)-(c[ra>>2]<<2);c[Da>>2]=(c[Da>>2]|0)+4}else c[ra>>2]=0;c[La>>2]=0;while(1){if((c[La>>2]|0)>=(c[Ja>>2]|0))break;c[Ma>>2]=(c[Ha>>2]|0)+((c[La>>2]|0)*1168|0);c[ua>>2]=t+((c[La>>2]|0)*48|0);Oa=907633515+(_(c[(c[Ma>>2]|0)+1156>>2]|0,196314165)|0)|0;c[(c[Ma>>2]|0)+1156>>2]=Oa;c[ta>>2]=(c[Ma>>2]|0)+(31+(c[la>>2]|0)<<2);c[ba>>2]=c[P>>2]>>1;Oa=_(c[c[ta>>2]>>2]>>16,b[c[Y>>2]>>1]|0)|0;c[ba>>2]=(c[ba>>2]|0)+(Oa+((_(c[c[ta>>2]>>2]&65535,b[c[Y>>2]>>1]|0)|0)>>16));Oa=_(c[(c[ta>>2]|0)+-4>>2]>>16,b[(c[Y>>2]|0)+2>>1]|0)|0;c[ba>>2]=(c[ba>>2]|0)+(Oa+((_(c[(c[ta>>2]|0)+-4>>2]&65535,b[(c[Y>>2]|0)+2>>1]|0)|0)>>16));Oa=_(c[(c[ta>>2]|0)+-8>>2]>>16,b[(c[Y>>2]|0)+4>>1]|0)|0;c[ba>>2]=(c[ba>>2]|0)+(Oa+((_(c[(c[ta>>2]|0)+-8>>2]&65535,b[(c[Y>>2]|0)+4>>1]|0)|0)>>16));Oa=_(c[(c[ta>>2]|0)+-12>>2]>>16,b[(c[Y>>2]|0)+6>>1]|0)|0;c[ba>>2]=(c[ba>>2]|0)+(Oa+((_(c[(c[ta>>2]|0)+-12>>2]&65535,b[(c[Y>>2]|0)+6>>1]|0)|0)>>16));Oa=_(c[(c[ta>>2]|0)+-16>>2]>>16,b[(c[Y>>2]|0)+8>>1]|0)|0;c[ba>>2]=(c[ba>>2]|0)+(Oa+((_(c[(c[ta>>2]|0)+-16>>2]&65535,b[(c[Y>>2]|0)+8>>1]|0)|0)>>16));Oa=_(c[(c[ta>>2]|0)+-20>>2]>>16,b[(c[Y>>2]|0)+10>>1]|0)|0;c[ba>>2]=(c[ba>>2]|0)+(Oa+((_(c[(c[ta>>2]|0)+-20>>2]&65535,b[(c[Y>>2]|0)+10>>1]|0)|0)>>16));Oa=_(c[(c[ta>>2]|0)+-24>>2]>>16,b[(c[Y>>2]|0)+12>>1]|0)|0;c[ba>>2]=(c[ba>>2]|0)+(Oa+((_(c[(c[ta>>2]|0)+-24>>2]&65535,b[(c[Y>>2]|0)+12>>1]|0)|0)>>16));Oa=_(c[(c[ta>>2]|0)+-28>>2]>>16,b[(c[Y>>2]|0)+14>>1]|0)|0;c[ba>>2]=(c[ba>>2]|0)+(Oa+((_(c[(c[ta>>2]|0)+-28>>2]&65535,b[(c[Y>>2]|0)+14>>1]|0)|0)>>16));Oa=_(c[(c[ta>>2]|0)+-32>>2]>>16,b[(c[Y>>2]|0)+16>>1]|0)|0;c[ba>>2]=(c[ba>>2]|0)+(Oa+((_(c[(c[ta>>2]|0)+-32>>2]&65535,b[(c[Y>>2]|0)+16>>1]|0)|0)>>16));Oa=_(c[(c[ta>>2]|0)+-36>>2]>>16,b[(c[Y>>2]|0)+18>>1]|0)|0;c[ba>>2]=(c[ba>>2]|0)+(Oa+((_(c[(c[ta>>2]|0)+-36>>2]&65535,b[(c[Y>>2]|0)+18>>1]|0)|0)>>16));if((c[P>>2]|0)==16){Oa=_(c[(c[ta>>2]|0)+-40>>2]>>16,b[(c[Y>>2]|0)+20>>1]|0)|0;c[ba>>2]=(c[ba>>2]|0)+(Oa+((_(c[(c[ta>>2]|0)+-40>>2]&65535,b[(c[Y>>2]|0)+20>>1]|0)|0)>>16));Oa=_(c[(c[ta>>2]|0)+-44>>2]>>16,b[(c[Y>>2]|0)+22>>1]|0)|0;c[ba>>2]=(c[ba>>2]|0)+(Oa+((_(c[(c[ta>>2]|0)+-44>>2]&65535,b[(c[Y>>2]|0)+22>>1]|0)|0)>>16));Oa=_(c[(c[ta>>2]|0)+-48>>2]>>16,b[(c[Y>>2]|0)+24>>1]|0)|0;c[ba>>2]=(c[ba>>2]|0)+(Oa+((_(c[(c[ta>>2]|0)+-48>>2]&65535,b[(c[Y>>2]|0)+24>>1]|0)|0)>>16));Oa=_(c[(c[ta>>2]|0)+-52>>2]>>16,b[(c[Y>>2]|0)+26>>1]|0)|0;c[ba>>2]=(c[ba>>2]|0)+(Oa+((_(c[(c[ta>>2]|0)+-52>>2]&65535,b[(c[Y>>2]|0)+26>>1]|0)|0)>>16));Oa=_(c[(c[ta>>2]|0)+-56>>2]>>16,b[(c[Y>>2]|0)+28>>1]|0)|0;c[ba>>2]=(c[ba>>2]|0)+(Oa+((_(c[(c[ta>>2]|0)+-56>>2]&65535,b[(c[Y>>2]|0)+28>>1]|0)|0)>>16));Oa=_(c[(c[ta>>2]|0)+-60>>2]>>16,b[(c[Y>>2]|0)+30>>1]|0)|0;c[ba>>2]=(c[ba>>2]|0)+(Oa+((_(c[(c[ta>>2]|0)+-60>>2]&65535,b[(c[Y>>2]|0)+30>>1]|0)|0)>>16))}c[ba>>2]=c[ba>>2]<<4;Oa=_(c[(c[Ma>>2]|0)+1088>>2]>>16,(c[Q>>2]&65535)<<16>>16)|0;c[Fa>>2]=(c[c[ta>>2]>>2]|0)+(Oa+((_(c[(c[Ma>>2]|0)+1088>>2]&65535,(c[Q>>2]&65535)<<16>>16)|0)>>16));Oa=_((c[(c[Ma>>2]|0)+1088+4>>2]|0)-(c[Fa>>2]|0)>>16,(c[Q>>2]&65535)<<16>>16)|0;c[Ea>>2]=(c[(c[Ma>>2]|0)+1088>>2]|0)+(Oa+((_((c[(c[Ma>>2]|0)+1088+4>>2]|0)-(c[Fa>>2]|0)&65535,(c[Q>>2]&65535)<<16>>16)|0)>>16));c[(c[Ma>>2]|0)+1088>>2]=c[Fa>>2];c[pa>>2]=c[O>>2]>>1;Oa=_(c[Fa>>2]>>16,b[c[F>>2]>>1]|0)|0;c[pa>>2]=(c[pa>>2]|0)+(Oa+((_(c[Fa>>2]&65535,b[c[F>>2]>>1]|0)|0)>>16));c[ma>>2]=2;while(1){if((c[ma>>2]|0)>=(c[O>>2]|0))break;Oa=_((c[(c[Ma>>2]|0)+1088+((c[ma>>2]|0)+0<<2)>>2]|0)-(c[Ea>>2]|0)>>16,(c[Q>>2]&65535)<<16>>16)|0;c[Fa>>2]=(c[(c[Ma>>2]|0)+1088+((c[ma>>2]|0)-1<<2)>>2]|0)+(Oa+((_((c[(c[Ma>>2]|0)+1088+((c[ma>>2]|0)+0<<2)>>2]|0)-(c[Ea>>2]|0)&65535,(c[Q>>2]&65535)<<16>>16)|0)>>16));c[(c[Ma>>2]|0)+1088+((c[ma>>2]|0)-1<<2)>>2]=c[Ea>>2];Oa=_(c[Ea>>2]>>16,b[(c[F>>2]|0)+((c[ma>>2]|0)-1<<1)>>1]|0)|0;c[pa>>2]=(c[pa>>2]|0)+(Oa+((_(c[Ea>>2]&65535,b[(c[F>>2]|0)+((c[ma>>2]|0)-1<<1)>>1]|0)|0)>>16));Oa=_((c[(c[Ma>>2]|0)+1088+((c[ma>>2]|0)+1<<2)>>2]|0)-(c[Fa>>2]|0)>>16,(c[Q>>2]&65535)<<16>>16)|0;c[Ea>>2]=(c[(c[Ma>>2]|0)+1088+((c[ma>>2]|0)+0<<2)>>2]|0)+(Oa+((_((c[(c[Ma>>2]|0)+1088+((c[ma>>2]|0)+1<<2)>>2]|0)-(c[Fa>>2]|0)&65535,(c[Q>>2]&65535)<<16>>16)|0)>>16));c[(c[Ma>>2]|0)+1088+((c[ma>>2]|0)+0<<2)>>2]=c[Fa>>2];Oa=_(c[Fa>>2]>>16,b[(c[F>>2]|0)+(c[ma>>2]<<1)>>1]|0)|0;c[pa>>2]=(c[pa>>2]|0)+(Oa+((_(c[Fa>>2]&65535,b[(c[F>>2]|0)+(c[ma>>2]<<1)>>1]|0)|0)>>16));c[ma>>2]=(c[ma>>2]|0)+2}c[(c[Ma>>2]|0)+1088+((c[O>>2]|0)-1<<2)>>2]=c[Ea>>2];Oa=_(c[Ea>>2]>>16,b[(c[F>>2]|0)+((c[O>>2]|0)-1<<1)>>1]|0)|0;c[pa>>2]=(c[pa>>2]|0)+(Oa+((_(c[Ea>>2]&65535,b[(c[F>>2]|0)+((c[O>>2]|0)-1<<1)>>1]|0)|0)>>16));c[pa>>2]=c[pa>>2]<<1;Oa=_(c[(c[Ma>>2]|0)+1152>>2]>>16,(c[I>>2]&65535)<<16>>16)|0;c[pa>>2]=(c[pa>>2]|0)+(Oa+((_(c[(c[Ma>>2]|0)+1152>>2]&65535,(c[I>>2]&65535)<<16>>16)|0)>>16));c[pa>>2]=c[pa>>2]<<2;Oa=_(c[(c[Ma>>2]|0)+960+(c[c[R>>2]>>2]<<2)>>2]>>16,(c[J>>2]&65535)<<16>>16)|0;c[qa>>2]=Oa+((_(c[(c[Ma>>2]|0)+960+(c[c[R>>2]>>2]<<2)>>2]&65535,(c[J>>2]&65535)<<16>>16)|0)>>16);Oa=(c[qa>>2]|0)+(_(c[(c[Ma>>2]|0)+1152>>2]>>16,c[J>>2]>>16)|0)|0;c[qa>>2]=Oa+((_(c[(c[Ma>>2]|0)+1152>>2]&65535,c[J>>2]>>16)|0)>>16);c[qa>>2]=c[qa>>2]<<2;c[Ea>>2]=(c[pa>>2]|0)+(c[qa>>2]|0);c[Fa>>2]=(c[ra>>2]|0)+(c[ba>>2]|0);c[Ea>>2]=(c[Fa>>2]|0)-(c[Ea>>2]|0);c[Ea>>2]=(c[Ea>>2]>>3)+1>>1;c[ya>>2]=(c[(c[T>>2]|0)+(c[la>>2]<<2)>>2]|0)-(c[Ea>>2]|0);if((c[(c[Ma>>2]|0)+1156>>2]|0)<0)c[ya>>2]=0-(c[ya>>2]|0);if((c[ya>>2]|0)>30720)o=30720;else o=(c[ya>>2]|0)<-31744?-31744:c[ya>>2]|0;c[ya>>2]=o;c[wa>>2]=(c[ya>>2]|0)-(c[L>>2]|0);c[va>>2]=c[wa>>2]>>10;o=c[va>>2]|0;do if((c[va>>2]|0)<=0){if(!o){c[wa>>2]=c[L>>2];c[xa>>2]=(c[wa>>2]|0)+944;c[za>>2]=_((c[wa>>2]&65535)<<16>>16,(c[K>>2]&65535)<<16>>16)|0;c[Aa>>2]=_((c[xa>>2]&65535)<<16>>16,(c[K>>2]&65535)<<16>>16)|0;break}if((c[va>>2]|0)==-1){c[xa>>2]=c[L>>2];c[wa>>2]=(c[xa>>2]|0)-944;c[za>>2]=_((0-(c[wa>>2]|0)&65535)<<16>>16,(c[K>>2]&65535)<<16>>16)|0;c[Aa>>2]=_((c[xa>>2]&65535)<<16>>16,(c[K>>2]&65535)<<16>>16)|0;break}else{c[wa>>2]=(c[va>>2]<<10)+80;c[wa>>2]=(c[wa>>2]|0)+(c[L>>2]|0);c[xa>>2]=(c[wa>>2]|0)+1024;c[za>>2]=_((0-(c[wa>>2]|0)&65535)<<16>>16,(c[K>>2]&65535)<<16>>16)|0;c[Aa>>2]=_((0-(c[xa>>2]|0)&65535)<<16>>16,(c[K>>2]&65535)<<16>>16)|0;break}}else{c[wa>>2]=(o<<10)-80;c[wa>>2]=(c[wa>>2]|0)+(c[L>>2]|0);c[xa>>2]=(c[wa>>2]|0)+1024;c[za>>2]=_((c[wa>>2]&65535)<<16>>16,(c[K>>2]&65535)<<16>>16)|0;c[Aa>>2]=_((c[xa>>2]&65535)<<16>>16,(c[K>>2]&65535)<<16>>16)|0}while(0);c[Ba>>2]=(c[ya>>2]|0)-(c[wa>>2]|0);c[za>>2]=(c[za>>2]|0)+(_((c[Ba>>2]&65535)<<16>>16,(c[Ba>>2]&65535)<<16>>16)|0)>>10;c[Ba>>2]=(c[ya>>2]|0)-(c[xa>>2]|0);c[Aa>>2]=(c[Aa>>2]|0)+(_((c[Ba>>2]&65535)<<16>>16,(c[Ba>>2]&65535)<<16>>16)|0)>>10;o=c[(c[Ma>>2]|0)+1164>>2]|0;if((c[za>>2]|0)<(c[Aa>>2]|0)){c[(c[ua>>2]|0)+4>>2]=o+(c[za>>2]|0);c[(c[ua>>2]|0)+24+4>>2]=(c[(c[Ma>>2]|0)+1164>>2]|0)+(c[Aa>>2]|0);c[c[ua>>2]>>2]=c[wa>>2];c[(c[ua>>2]|0)+24>>2]=c[xa>>2]}else{c[(c[ua>>2]|0)+4>>2]=o+(c[Aa>>2]|0);c[(c[ua>>2]|0)+24+4>>2]=(c[(c[Ma>>2]|0)+1164>>2]|0)+(c[za>>2]|0);c[c[ua>>2]>>2]=c[xa>>2];c[(c[ua>>2]|0)+24>>2]=c[wa>>2]}c[ka>>2]=c[c[ua>>2]>>2]<<4;if((c[(c[Ma>>2]|0)+1156>>2]|0)<0)c[ka>>2]=0-(c[ka>>2]|0);c[aa>>2]=(c[ka>>2]|0)+(c[ca>>2]|0);c[Ga>>2]=(c[aa>>2]|0)+(c[ba>>2]|0);c[Ca>>2]=(c[Ga>>2]|0)-(c[pa>>2]|0);c[(c[ua>>2]|0)+16>>2]=(c[Ca>>2]|0)-(c[qa>>2]|0);c[(c[ua>>2]|0)+12>>2]=c[Ca>>2];c[(c[ua>>2]|0)+20>>2]=c[aa>>2];c[(c[ua>>2]|0)+8>>2]=c[Ga>>2];c[ka>>2]=c[(c[ua>>2]|0)+24>>2]<<4;if((c[(c[Ma>>2]|0)+1156>>2]|0)<0)c[ka>>2]=0-(c[ka>>2]|0);c[aa>>2]=(c[ka>>2]|0)+(c[ca>>2]|0);c[Ga>>2]=(c[aa>>2]|0)+(c[ba>>2]|0);c[Ca>>2]=(c[Ga>>2]|0)-(c[pa>>2]|0);c[(c[ua>>2]|0)+24+16>>2]=(c[Ca>>2]|0)-(c[qa>>2]|0);c[(c[ua>>2]|0)+24+12>>2]=c[Ca>>2];c[(c[ua>>2]|0)+24+20>>2]=c[aa>>2];c[(c[ua>>2]|0)+24+8>>2]=c[Ga>>2];c[La>>2]=(c[La>>2]|0)+1}c[c[R>>2]>>2]=(c[c[R>>2]>>2]|0)-1&31;c[oa>>2]=(c[c[R>>2]>>2]|0)+(c[S>>2]|0)&31;c[fa>>2]=c[t+4>>2];c[ha>>2]=0;c[La>>2]=1;while(1){if((c[La>>2]|0)>=(c[Ja>>2]|0))break;if((c[t+((c[La>>2]|0)*48|0)+4>>2]|0)<(c[fa>>2]|0)){c[fa>>2]=c[t+((c[La>>2]|0)*48|0)+4>>2];c[ha>>2]=c[La>>2]}c[La>>2]=(c[La>>2]|0)+1}c[ja>>2]=c[(c[Ha>>2]|0)+((c[ha>>2]|0)*1168|0)+448+(c[oa>>2]<<2)>>2];c[La>>2]=0;while(1){if((c[La>>2]|0)>=(c[Ja>>2]|0))break;if((c[(c[Ha>>2]|0)+((c[La>>2]|0)*1168|0)+448+(c[oa>>2]<<2)>>2]|0)!=(c[ja>>2]|0)){c[t+((c[La>>2]|0)*48|0)+4>>2]=(c[t+((c[La>>2]|0)*48|0)+4>>2]|0)+134217727;c[t+((c[La>>2]|0)*48|0)+24+4>>2]=(c[t+((c[La>>2]|0)*48|0)+24+4>>2]|0)+134217727}c[La>>2]=(c[La>>2]|0)+1}c[da>>2]=c[t+4>>2];c[fa>>2]=c[t+24+4>>2];c[ea>>2]=0;c[ga>>2]=0;c[La>>2]=1;while(1){if((c[La>>2]|0)>=(c[Ja>>2]|0))break;if((c[t+((c[La>>2]|0)*48|0)+4>>2]|0)>(c[da>>2]|0)){c[da>>2]=c[t+((c[La>>2]|0)*48|0)+4>>2];c[ea>>2]=c[La>>2]}if((c[t+((c[La>>2]|0)*48|0)+24+4>>2]|0)<(c[fa>>2]|0)){c[fa>>2]=c[t+((c[La>>2]|0)*48|0)+24+4>>2];c[ga>>2]=c[La>>2]}c[La>>2]=(c[La>>2]|0)+1}if((c[fa>>2]|0)<(c[da>>2]|0)){pj((c[Ha>>2]|0)+((c[ea>>2]|0)*1168|0)+(c[la>>2]<<2)|0,(c[Ha>>2]|0)+((c[ga>>2]|0)*1168|0)+(c[la>>2]<<2)|0,1168-(c[la>>2]<<2)|0)|0;Oa=t+((c[ea>>2]|0)*48|0)|0;j=t+((c[ga>>2]|0)*48|0)+24|0;c[Oa>>2]=c[j>>2];c[Oa+4>>2]=c[j+4>>2];c[Oa+8>>2]=c[j+8>>2];c[Oa+12>>2]=c[j+12>>2];c[Oa+16>>2]=c[j+16>>2];c[Oa+20>>2]=c[j+20>>2]}c[Ma>>2]=(c[Ha>>2]|0)+((c[ha>>2]|0)*1168|0);if(!((c[M>>2]|0)<=0?(c[la>>2]|0)<(c[S>>2]|0):0)){a[(c[U>>2]|0)+((c[la>>2]|0)-(c[S>>2]|0))>>0]=(c[(c[Ma>>2]|0)+576+(c[oa>>2]<<2)>>2]>>9)+1>>1;Oa=_(c[(c[Ma>>2]|0)+704+(c[oa>>2]<<2)>>2]>>16,(c[(c[X>>2]|0)+(c[oa>>2]<<2)>>2]&65535)<<16>>16)|0;Oa=Oa+((_(c[(c[Ma>>2]|0)+704+(c[oa>>2]<<2)>>2]&65535,(c[(c[X>>2]|0)+(c[oa>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;if(((Oa+(_(c[(c[Ma>>2]|0)+704+(c[oa>>2]<<2)>>2]|0,(c[(c[X>>2]|0)+(c[oa>>2]<<2)>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<=32767){Oa=_(c[(c[Ma>>2]|0)+704+(c[oa>>2]<<2)>>2]>>16,(c[(c[X>>2]|0)+(c[oa>>2]<<2)>>2]&65535)<<16>>16)|0;Oa=Oa+((_(c[(c[Ma>>2]|0)+704+(c[oa>>2]<<2)>>2]&65535,(c[(c[X>>2]|0)+(c[oa>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;if(((Oa+(_(c[(c[Ma>>2]|0)+704+(c[oa>>2]<<2)>>2]|0,(c[(c[X>>2]|0)+(c[oa>>2]<<2)>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<-32768)o=-32768;else{o=_(c[(c[Ma>>2]|0)+704+(c[oa>>2]<<2)>>2]>>16,(c[(c[X>>2]|0)+(c[oa>>2]<<2)>>2]&65535)<<16>>16)|0;o=o+((_(c[(c[Ma>>2]|0)+704+(c[oa>>2]<<2)>>2]&65535,(c[(c[X>>2]|0)+(c[oa>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;o=(o+(_(c[(c[Ma>>2]|0)+704+(c[oa>>2]<<2)>>2]|0,(c[(c[X>>2]|0)+(c[oa>>2]<<2)>>2]>>15)+1>>1)|0)>>7)+1>>1}}else o=32767;b[(c[V>>2]|0)+((c[la>>2]|0)-(c[S>>2]|0)<<1)>>1]=o;c[(c[E>>2]|0)+1280+((c[(c[E>>2]|0)+4364>>2]|0)-(c[S>>2]|0)<<2)>>2]=c[(c[Ma>>2]|0)+960+(c[oa>>2]<<2)>>2];c[(c[W>>2]|0)+((c[(c[E>>2]|0)+4360>>2]|0)-(c[S>>2]|0)<<2)>>2]=c[(c[Ma>>2]|0)+832+(c[oa>>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[La>>2]=0;while(1){if((c[La>>2]|0)>=(c[Ja>>2]|0))break;c[Ma>>2]=(c[Ha>>2]|0)+((c[La>>2]|0)*1168|0);c[ua>>2]=t+((c[La>>2]|0)*48|0);c[(c[Ma>>2]|0)+1152>>2]=c[(c[ua>>2]|0)+12>>2];c[(c[Ma>>2]|0)+(32+(c[la>>2]|0)<<2)>>2]=c[(c[ua>>2]|0)+8>>2];c[(c[Ma>>2]|0)+704+(c[c[R>>2]>>2]<<2)>>2]=c[(c[ua>>2]|0)+8>>2];c[(c[Ma>>2]|0)+576+(c[c[R>>2]>>2]<<2)>>2]=c[c[ua>>2]>>2];c[(c[Ma>>2]|0)+832+(c[c[R>>2]>>2]<<2)>>2]=c[(c[ua>>2]|0)+20>>2]<<1;c[(c[Ma>>2]|0)+960+(c[c[R>>2]>>2]<<2)>>2]=c[(c[ua>>2]|0)+16>>2];c[(c[Ma>>2]|0)+1156>>2]=(c[(c[Ma>>2]|0)+1156>>2]|0)+((c[c[ua>>2]>>2]>>9)+1>>1);c[(c[Ma>>2]|0)+448+(c[c[R>>2]>>2]<<2)>>2]=c[(c[Ma>>2]|0)+1156>>2];c[(c[Ma>>2]|0)+1164>>2]=c[(c[ua>>2]|0)+4>>2];c[La>>2]=(c[La>>2]|0)+1}c[(c[X>>2]|0)+(c[c[R>>2]>>2]<<2)>>2]=c[$>>2];c[la>>2]=(c[la>>2]|0)+1}c[La>>2]=0;while(1){if((c[La>>2]|0)>=(c[Ja>>2]|0))break;c[Ma>>2]=(c[Ha>>2]|0)+((c[La>>2]|0)*1168|0);o=c[Ma>>2]|0;t=(c[Ma>>2]|0)+(c[Ia>>2]<<2)|0;q=o+128|0;do{c[o>>2]=c[t>>2];o=o+4|0;t=t+4|0}while((o|0)<(q|0));c[La>>2]=(c[La>>2]|0)+1}na(c[Ka>>2]|0);i=Na;return}function ze(a){a=a|0;var b=0,d=0;b=i;i=i+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;i=b;return}function Ae(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,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=m+16|0;g=m+12|0;j=m+8|0;k=m+4|0;l=m;c[h>>2]=a;c[g>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;if((c[(c[h>>2]|0)+2316>>2]|0)!=(c[(c[h>>2]|0)+4168+80>>2]|0)){ze(c[h>>2]|0);c[(c[h>>2]|0)+4168+80>>2]=c[(c[h>>2]|0)+2316>>2]}d=c[h>>2]|0;f=c[g>>2]|0;if(c[k>>2]|0){Be(d,f,c[j>>2]|0,c[l>>2]|0);l=(c[h>>2]|0)+4160|0;c[l>>2]=(c[l>>2]|0)+1;i=m;return}else{Ke(d,f);i=m;return}}function Be(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,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=i;i=i+176|0;z=N+120|0;A=N+116|0;B=N+112|0;m=N+108|0;F=N+104|0;G=N+100|0;u=N+96|0;H=N+92|0;r=N+88|0;y=N+84|0;k=N+80|0;l=N+76|0;L=N+72|0;q=N+68|0;w=N+64|0;t=N+60|0;h=N+56|0;j=N+52|0;x=N+48|0;v=N+44|0;E=N+40|0;o=N+36|0;K=N+160|0;n=N+32|0;M=N+28|0;D=N+128|0;J=N+24|0;I=N+16|0;C=N+8|0;s=N+4|0;p=N;c[z>>2]=a;c[A>>2]=d;c[B>>2]=e;c[m>>2]=f;c[J>>2]=(c[z>>2]|0)+4168;g=(c[(c[z>>2]|0)+2336>>2]|0)+(c[(c[z>>2]|0)+2328>>2]|0)|0;c[C>>2]=ia()|0;d=i;i=i+((1*(g<<2)|0)+15&-16)|0;g=i;i=i+((1*(c[(c[z>>2]|0)+2336>>2]<<1)|0)+15&-16)|0;c[I>>2]=c[(c[J>>2]|0)+72>>2]>>6;c[I+4>>2]=c[(c[J>>2]|0)+72+4>>2]>>6;if(c[(c[z>>2]|0)+2376>>2]|0){e=(c[J>>2]|0)+14|0;a=e+32|0;do{b[e>>1]=0;e=e+2|0}while((e|0)<(a|0))}Ce(h,k,j,l,(c[z>>2]|0)+4|0,I,c[(c[z>>2]|0)+2332>>2]|0,c[(c[z>>2]|0)+2324>>2]|0);f=c[(c[J>>2]|0)+84>>2]|0;if((c[h>>2]>>c[l>>2]|0)<(c[j>>2]>>c[k>>2]|0)){l=De(0,(_(f-1|0,c[(c[J>>2]|0)+88>>2]|0)|0)-128|0)|0;c[x>>2]=(c[z>>2]|0)+4+(l<<2)}else{l=De(0,(_(f,c[(c[J>>2]|0)+88>>2]|0)|0)-128|0)|0;c[x>>2]=(c[z>>2]|0)+4+(l<<2)}c[n>>2]=(c[J>>2]|0)+4;b[K>>1]=b[(c[J>>2]|0)+56>>1]|0;c[q>>2]=b[24440+((Ee(1,c[(c[z>>2]|0)+4160>>2]|0)|0)<<1)>>1];l=(c[(c[z>>2]|0)+4164>>2]|0)==2;f=Ee(1,c[(c[z>>2]|0)+4160>>2]|0)|0;if(l)c[w>>2]=b[24444+(f<<1)>>1];else c[w>>2]=b[24448+(f<<1)>>1];Pf((c[J>>2]|0)+14|0,c[(c[z>>2]|0)+2340>>2]|0,64881);pj(D|0,(c[J>>2]|0)+14|0,c[(c[z>>2]|0)+2340>>2]<<1|0)|0;do if(!(c[(c[z>>2]|0)+4160>>2]|0)){b[K>>1]=16384;if((c[(c[z>>2]|0)+4164>>2]|0)!=2){c[s>>2]=Yf((c[J>>2]|0)+14|0,c[(c[z>>2]|0)+2340>>2]|0)|0;c[p>>2]=Ge(134217728,c[s>>2]|0)|0;c[p>>2]=He(4194304,c[p>>2]|0)|0;c[p>>2]=c[p>>2]<<3;s=_(c[p>>2]>>16,(c[w>>2]&65535)<<16>>16)|0;c[w>>2]=s+((_(c[p>>2]&65535,(c[w>>2]&65535)<<16>>16)|0)>>16)>>14;break}c[F>>2]=0;while(1){if((c[F>>2]|0)>=5)break;b[K>>1]=(b[K>>1]|0)-(b[(c[n>>2]|0)+(c[F>>2]<<1)>>1]|0);c[F>>2]=(c[F>>2]|0)+1}b[K>>1]=Fe(3277,b[K>>1]|0)|0;b[K>>1]=(_(b[K>>1]|0,b[(c[J>>2]|0)+68>>1]|0)|0)>>14}while(0);c[L>>2]=c[(c[J>>2]|0)+52>>2];c[H>>2]=(c[c[J>>2]>>2]>>7)+1>>1;c[y>>2]=c[(c[z>>2]|0)+2336>>2];c[r>>2]=(c[(c[z>>2]|0)+2336>>2]|0)-(c[H>>2]|0)-(c[(c[z>>2]|0)+2340>>2]|0)-2;Xf(g+(c[r>>2]<<1)|0,(c[z>>2]|0)+1348+(c[r>>2]<<1)|0,D,(c[(c[z>>2]|0)+2336>>2]|0)-(c[r>>2]|0)|0,c[(c[z>>2]|0)+2340>>2]|0,c[m>>2]|0);c[t>>2]=Ie(c[(c[J>>2]|0)+72+4>>2]|0,46)|0;c[t>>2]=(c[t>>2]|0)<1073741823?c[t>>2]|0:1073741823;c[F>>2]=(c[r>>2]|0)+(c[(c[z>>2]|0)+2340>>2]|0);while(1){if((c[F>>2]|0)>=(c[(c[z>>2]|0)+2336>>2]|0))break;s=_(c[t>>2]>>16,b[g+(c[F>>2]<<1)>>1]|0)|0;s=s+((_(c[t>>2]&65535,b[g+(c[F>>2]<<1)>>1]|0)|0)>>16)|0;c[d+(c[F>>2]<<2)>>2]=s;c[F>>2]=(c[F>>2]|0)+1}c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[(c[z>>2]|0)+2324>>2]|0))break;c[v>>2]=d+((c[y>>2]|0)-(c[H>>2]|0)+2<<2);c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[(c[z>>2]|0)+2332>>2]|0))break;c[o>>2]=2;t=_(c[c[v>>2]>>2]>>16,b[c[n>>2]>>1]|0)|0;c[o>>2]=(c[o>>2]|0)+(t+((_(c[c[v>>2]>>2]&65535,b[c[n>>2]>>1]|0)|0)>>16));t=_(c[(c[v>>2]|0)+-4>>2]>>16,b[(c[n>>2]|0)+2>>1]|0)|0;c[o>>2]=(c[o>>2]|0)+(t+((_(c[(c[v>>2]|0)+-4>>2]&65535,b[(c[n>>2]|0)+2>>1]|0)|0)>>16));t=_(c[(c[v>>2]|0)+-8>>2]>>16,b[(c[n>>2]|0)+4>>1]|0)|0;c[o>>2]=(c[o>>2]|0)+(t+((_(c[(c[v>>2]|0)+-8>>2]&65535,b[(c[n>>2]|0)+4>>1]|0)|0)>>16));t=_(c[(c[v>>2]|0)+-12>>2]>>16,b[(c[n>>2]|0)+6>>1]|0)|0;c[o>>2]=(c[o>>2]|0)+(t+((_(c[(c[v>>2]|0)+-12>>2]&65535,b[(c[n>>2]|0)+6>>1]|0)|0)>>16));t=_(c[(c[v>>2]|0)+-16>>2]>>16,b[(c[n>>2]|0)+8>>1]|0)|0;c[o>>2]=(c[o>>2]|0)+(t+((_(c[(c[v>>2]|0)+-16>>2]&65535,b[(c[n>>2]|0)+8>>1]|0)|0)>>16));c[v>>2]=(c[v>>2]|0)+4;c[L>>2]=907633515+(_(c[L>>2]|0,196314165)|0);c[r>>2]=c[L>>2]>>25&127;t=_(c[(c[x>>2]|0)+(c[r>>2]<<2)>>2]>>16,b[K>>1]|0)|0;t=(c[o>>2]|0)+(t+((_(c[(c[x>>2]|0)+(c[r>>2]<<2)>>2]&65535,b[K>>1]|0)|0)>>16))<<2;c[d+(c[y>>2]<<2)>>2]=t;c[y>>2]=(c[y>>2]|0)+1;c[F>>2]=(c[F>>2]|0)+1}c[G>>2]=0;while(1){if((c[G>>2]|0)>=5)break;t=(_((c[q>>2]&65535)<<16>>16,b[(c[n>>2]|0)+(c[G>>2]<<1)>>1]|0)|0)>>15&65535;b[(c[n>>2]|0)+(c[G>>2]<<1)>>1]=t;c[G>>2]=(c[G>>2]|0)+1}b[K>>1]=(_(b[K>>1]|0,(c[w>>2]&65535)<<16>>16)|0)>>15;c[c[J>>2]>>2]=(c[c[J>>2]>>2]|0)+(((c[c[J>>2]>>2]>>16)*655|0)+((c[c[J>>2]>>2]&65535)*655>>16));t=Ge(c[c[J>>2]>>2]|0,((c[(c[z>>2]|0)+2316>>2]&65535)<<16>>16)*18<<8)|0;c[c[J>>2]>>2]=t;c[H>>2]=(c[c[J>>2]>>2]>>7)+1>>1;c[u>>2]=(c[u>>2]|0)+1}c[M>>2]=d+((c[(c[z>>2]|0)+2336>>2]|0)-16<<2);e=c[M>>2]|0;f=(c[z>>2]|0)+1284|0;a=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(a|0));c[F>>2]=0;while(1){f=c[z>>2]|0;if((c[F>>2]|0)>=(c[(c[z>>2]|0)+2328>>2]|0))break;c[E>>2]=c[f+2340>>2]>>1;y=_(c[(c[M>>2]|0)+(16+(c[F>>2]|0)-1<<2)>>2]>>16,b[D>>1]|0)|0;c[E>>2]=(c[E>>2]|0)+(y+((_(c[(c[M>>2]|0)+(16+(c[F>>2]|0)-1<<2)>>2]&65535,b[D>>1]|0)|0)>>16));y=_(c[(c[M>>2]|0)+(16+(c[F>>2]|0)-2<<2)>>2]>>16,b[D+2>>1]|0)|0;c[E>>2]=(c[E>>2]|0)+(y+((_(c[(c[M>>2]|0)+(16+(c[F>>2]|0)-2<<2)>>2]&65535,b[D+2>>1]|0)|0)>>16));y=_(c[(c[M>>2]|0)+(16+(c[F>>2]|0)-3<<2)>>2]>>16,b[D+4>>1]|0)|0;c[E>>2]=(c[E>>2]|0)+(y+((_(c[(c[M>>2]|0)+(16+(c[F>>2]|0)-3<<2)>>2]&65535,b[D+4>>1]|0)|0)>>16));y=_(c[(c[M>>2]|0)+(16+(c[F>>2]|0)-4<<2)>>2]>>16,b[D+6>>1]|0)|0;c[E>>2]=(c[E>>2]|0)+(y+((_(c[(c[M>>2]|0)+(16+(c[F>>2]|0)-4<<2)>>2]&65535,b[D+6>>1]|0)|0)>>16));y=_(c[(c[M>>2]|0)+(16+(c[F>>2]|0)-5<<2)>>2]>>16,b[D+8>>1]|0)|0;c[E>>2]=(c[E>>2]|0)+(y+((_(c[(c[M>>2]|0)+(16+(c[F>>2]|0)-5<<2)>>2]&65535,b[D+8>>1]|0)|0)>>16));y=_(c[(c[M>>2]|0)+(16+(c[F>>2]|0)-6<<2)>>2]>>16,b[D+10>>1]|0)|0;c[E>>2]=(c[E>>2]|0)+(y+((_(c[(c[M>>2]|0)+(16+(c[F>>2]|0)-6<<2)>>2]&65535,b[D+10>>1]|0)|0)>>16));y=_(c[(c[M>>2]|0)+(16+(c[F>>2]|0)-7<<2)>>2]>>16,b[D+12>>1]|0)|0;c[E>>2]=(c[E>>2]|0)+(y+((_(c[(c[M>>2]|0)+(16+(c[F>>2]|0)-7<<2)>>2]&65535,b[D+12>>1]|0)|0)>>16));y=_(c[(c[M>>2]|0)+(16+(c[F>>2]|0)-8<<2)>>2]>>16,b[D+14>>1]|0)|0;c[E>>2]=(c[E>>2]|0)+(y+((_(c[(c[M>>2]|0)+(16+(c[F>>2]|0)-8<<2)>>2]&65535,b[D+14>>1]|0)|0)>>16));y=_(c[(c[M>>2]|0)+(16+(c[F>>2]|0)-9<<2)>>2]>>16,b[D+16>>1]|0)|0;c[E>>2]=(c[E>>2]|0)+(y+((_(c[(c[M>>2]|0)+(16+(c[F>>2]|0)-9<<2)>>2]&65535,b[D+16>>1]|0)|0)>>16));y=_(c[(c[M>>2]|0)+(16+(c[F>>2]|0)-10<<2)>>2]>>16,b[D+18>>1]|0)|0;c[E>>2]=(c[E>>2]|0)+(y+((_(c[(c[M>>2]|0)+(16+(c[F>>2]|0)-10<<2)>>2]&65535,b[D+18>>1]|0)|0)>>16));c[G>>2]=10;while(1){if((c[G>>2]|0)>=(c[(c[z>>2]|0)+2340>>2]|0))break;y=_(c[(c[M>>2]|0)+(16+(c[F>>2]|0)-(c[G>>2]|0)-1<<2)>>2]>>16,b[D+(c[G>>2]<<1)>>1]|0)|0;c[E>>2]=(c[E>>2]|0)+(y+((_(c[(c[M>>2]|0)+(16+(c[F>>2]|0)-(c[G>>2]|0)-1<<2)>>2]&65535,b[D+(c[G>>2]<<1)>>1]|0)|0)>>16));c[G>>2]=(c[G>>2]|0)+1}c[(c[M>>2]|0)+(16+(c[F>>2]|0)<<2)>>2]=(c[(c[M>>2]|0)+(16+(c[F>>2]|0)<<2)>>2]|0)+(c[E>>2]<<4);y=_(c[(c[M>>2]|0)+(16+(c[F>>2]|0)<<2)>>2]>>16,(c[I+4>>2]&65535)<<16>>16)|0;y=y+((_(c[(c[M>>2]|0)+(16+(c[F>>2]|0)<<2)>>2]&65535,(c[I+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((y+(_(c[(c[M>>2]|0)+(16+(c[F>>2]|0)<<2)>>2]|0,(c[I+4>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<=32767){y=_(c[(c[M>>2]|0)+(16+(c[F>>2]|0)<<2)>>2]>>16,(c[I+4>>2]&65535)<<16>>16)|0;y=y+((_(c[(c[M>>2]|0)+(16+(c[F>>2]|0)<<2)>>2]&65535,(c[I+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((y+(_(c[(c[M>>2]|0)+(16+(c[F>>2]|0)<<2)>>2]|0,(c[I+4>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<-32768)f=-32768;else{f=_(c[(c[M>>2]|0)+(16+(c[F>>2]|0)<<2)>>2]>>16,(c[I+4>>2]&65535)<<16>>16)|0;f=f+((_(c[(c[M>>2]|0)+(16+(c[F>>2]|0)<<2)>>2]&65535,(c[I+4>>2]&65535)<<16>>16)|0)>>16)|0;f=(f+(_(c[(c[M>>2]|0)+(16+(c[F>>2]|0)<<2)>>2]|0,(c[I+4>>2]>>15)+1>>1)|0)>>7)+1>>1}}else f=32767;if((f|0)<=32767){y=_(c[(c[M>>2]|0)+(16+(c[F>>2]|0)<<2)>>2]>>16,(c[I+4>>2]&65535)<<16>>16)|0;y=y+((_(c[(c[M>>2]|0)+(16+(c[F>>2]|0)<<2)>>2]&65535,(c[I+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((y+(_(c[(c[M>>2]|0)+(16+(c[F>>2]|0)<<2)>>2]|0,(c[I+4>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<=32767){y=_(c[(c[M>>2]|0)+(16+(c[F>>2]|0)<<2)>>2]>>16,(c[I+4>>2]&65535)<<16>>16)|0;y=y+((_(c[(c[M>>2]|0)+(16+(c[F>>2]|0)<<2)>>2]&65535,(c[I+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((y+(_(c[(c[M>>2]|0)+(16+(c[F>>2]|0)<<2)>>2]|0,(c[I+4>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<-32768)f=-32768;else{f=_(c[(c[M>>2]|0)+(16+(c[F>>2]|0)<<2)>>2]>>16,(c[I+4>>2]&65535)<<16>>16)|0;f=f+((_(c[(c[M>>2]|0)+(16+(c[F>>2]|0)<<2)>>2]&65535,(c[I+4>>2]&65535)<<16>>16)|0)>>16)|0;f=(f+(_(c[(c[M>>2]|0)+(16+(c[F>>2]|0)<<2)>>2]|0,(c[I+4>>2]>>15)+1>>1)|0)>>7)+1>>1}}else f=32767;if((f|0)>=-32768){y=_(c[(c[M>>2]|0)+(16+(c[F>>2]|0)<<2)>>2]>>16,(c[I+4>>2]&65535)<<16>>16)|0;y=y+((_(c[(c[M>>2]|0)+(16+(c[F>>2]|0)<<2)>>2]&65535,(c[I+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((y+(_(c[(c[M>>2]|0)+(16+(c[F>>2]|0)<<2)>>2]|0,(c[I+4>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<=32767){y=_(c[(c[M>>2]|0)+(16+(c[F>>2]|0)<<2)>>2]>>16,(c[I+4>>2]&65535)<<16>>16)|0;y=y+((_(c[(c[M>>2]|0)+(16+(c[F>>2]|0)<<2)>>2]&65535,(c[I+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((y+(_(c[(c[M>>2]|0)+(16+(c[F>>2]|0)<<2)>>2]|0,(c[I+4>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<-32768)f=-32768;else{f=_(c[(c[M>>2]|0)+(16+(c[F>>2]|0)<<2)>>2]>>16,(c[I+4>>2]&65535)<<16>>16)|0;f=f+((_(c[(c[M>>2]|0)+(16+(c[F>>2]|0)<<2)>>2]&65535,(c[I+4>>2]&65535)<<16>>16)|0)>>16)|0;f=(f+(_(c[(c[M>>2]|0)+(16+(c[F>>2]|0)<<2)>>2]|0,(c[I+4>>2]>>15)+1>>1)|0)>>7)+1>>1}}else f=32767}else f=-32768}else f=32767;b[(c[B>>2]|0)+(c[F>>2]<<1)>>1]=f;c[F>>2]=(c[F>>2]|0)+1}e=f+1284|0;f=(c[M>>2]|0)+(c[(c[z>>2]|0)+2328>>2]<<2)|0;a=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(a|0));c[(c[J>>2]|0)+52>>2]=c[L>>2];b[(c[J>>2]|0)+56>>1]=b[K>>1]|0;c[F>>2]=0;while(1){if((c[F>>2]|0)>=4)break;c[(c[A>>2]|0)+(c[F>>2]<<2)>>2]=c[H>>2];c[F>>2]=(c[F>>2]|0)+1}na(c[C>>2]|0);i=N;return}function Ce(a,d,e,f,g,h,j,k){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+48|0;l=x+44|0;m=x+40|0;n=x+36|0;o=x+32|0;p=x+28|0;q=x+24|0;r=x+20|0;s=x+16|0;v=x+12|0;w=x+8|0;u=x+4|0;t=x;c[l>>2]=a;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[s>>2]=k;j=c[r>>2]<<1;c[t>>2]=ia()|0;a=i;i=i+((1*(j<<1)|0)+15&-16)|0;c[u>>2]=a;c[w>>2]=0;while(1){if((c[w>>2]|0)>=2)break;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[r>>2]|0))break;j=(c[v>>2]|0)+(_((c[w>>2]|0)+(c[s>>2]|0)-2|0,c[r>>2]|0)|0)|0;j=_(c[(c[p>>2]|0)+(j<<2)>>2]>>16,(c[(c[q>>2]|0)+(c[w>>2]<<2)>>2]&65535)<<16>>16)|0;f=(c[v>>2]|0)+(_((c[w>>2]|0)+(c[s>>2]|0)-2|0,c[r>>2]|0)|0)|0;f=j+((_(c[(c[p>>2]|0)+(f<<2)>>2]&65535,(c[(c[q>>2]|0)+(c[w>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;j=(c[v>>2]|0)+(_((c[w>>2]|0)+(c[s>>2]|0)-2|0,c[r>>2]|0)|0)|0;if((f+(_(c[(c[p>>2]|0)+(j<<2)>>2]|0,(c[(c[q>>2]|0)+(c[w>>2]<<2)>>2]>>15)+1>>1)|0)>>8|0)<=32767){j=(c[v>>2]|0)+(_((c[w>>2]|0)+(c[s>>2]|0)-2|0,c[r>>2]|0)|0)|0;j=_(c[(c[p>>2]|0)+(j<<2)>>2]>>16,(c[(c[q>>2]|0)+(c[w>>2]<<2)>>2]&65535)<<16>>16)|0;f=(c[v>>2]|0)+(_((c[w>>2]|0)+(c[s>>2]|0)-2|0,c[r>>2]|0)|0)|0;f=j+((_(c[(c[p>>2]|0)+(f<<2)>>2]&65535,(c[(c[q>>2]|0)+(c[w>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;j=(c[v>>2]|0)+(_((c[w>>2]|0)+(c[s>>2]|0)-2|0,c[r>>2]|0)|0)|0;if((f+(_(c[(c[p>>2]|0)+(j<<2)>>2]|0,(c[(c[q>>2]|0)+(c[w>>2]<<2)>>2]>>15)+1>>1)|0)>>8|0)<-32768)e=-32768;else{e=(c[v>>2]|0)+(_((c[w>>2]|0)+(c[s>>2]|0)-2|0,c[r>>2]|0)|0)|0;e=_(c[(c[p>>2]|0)+(e<<2)>>2]>>16,(c[(c[q>>2]|0)+(c[w>>2]<<2)>>2]&65535)<<16>>16)|0;j=(c[v>>2]|0)+(_((c[w>>2]|0)+(c[s>>2]|0)-2|0,c[r>>2]|0)|0)|0;j=e+((_(c[(c[p>>2]|0)+(j<<2)>>2]&65535,(c[(c[q>>2]|0)+(c[w>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;e=(c[v>>2]|0)+(_((c[w>>2]|0)+(c[s>>2]|0)-2|0,c[r>>2]|0)|0)|0;e=j+(_(c[(c[p>>2]|0)+(e<<2)>>2]|0,(c[(c[q>>2]|0)+(c[w>>2]<<2)>>2]>>15)+1>>1)|0)>>8}}else e=32767;b[(c[u>>2]|0)+(c[v>>2]<<1)>>1]=e;c[v>>2]=(c[v>>2]|0)+1}c[u>>2]=(c[u>>2]|0)+(c[r>>2]<<1);c[w>>2]=(c[w>>2]|0)+1}wg(c[l>>2]|0,c[m>>2]|0,a,c[r>>2]|0);wg(c[n>>2]|0,c[o>>2]|0,a+(c[r>>2]<<1)|0,c[r>>2]|0);na(c[t>>2]|0);i=x;return}function De(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;i=f;return ((c[e>>2]|0)>(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function Ee(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;i=f;return ((c[e>>2]|0)<(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function Fe(a,c){a=a|0;c=c|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f+2|0;d=f;b[e>>1]=a;b[d>>1]=c;i=f;return ((b[e>>1]|0)>(b[d>>1]|0)?b[e>>1]|0:b[d>>1]|0)&65535|0}function Ge(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;i=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;f=i;i=i+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;i=f;return ((c[e>>2]|0)>(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function Ie(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+48|0;f=h+32|0;n=h+28|0;d=h+24|0;j=h+20|0;g=h+16|0;k=h+12|0;m=h+8|0;l=h+4|0;e=h;c[n>>2]=a;c[d>>2]=b;b=c[n>>2]|0;c[j>>2]=(Je((c[n>>2]|0)>0?b:0-b|0)|0)-1;c[m>>2]=c[n>>2]<>2];c[k>>2]=536870911/(c[m>>2]>>16|0)|0;c[e>>2]=c[k>>2]<<16;b=_(c[m>>2]>>16,(c[k>>2]&65535)<<16>>16)|0;c[l>>2]=536870912-(b+((_(c[m>>2]&65535,(c[k>>2]&65535)<<16>>16)|0)>>16))<<3;b=_(c[l>>2]>>16,(c[k>>2]&65535)<<16>>16)|0;b=(c[e>>2]|0)+(b+((_(c[l>>2]&65535,(c[k>>2]&65535)<<16>>16)|0)>>16))|0;c[e>>2]=b+(_(c[l>>2]|0,(c[k>>2]>>15)+1>>1)|0);c[g>>2]=61-(c[j>>2]|0)-(c[d>>2]|0);b=c[g>>2]|0;if((c[g>>2]|0)>0)if((b|0)<32){c[f>>2]=c[e>>2]>>c[g>>2];n=c[f>>2]|0;i=h;return n|0}else{c[f>>2]=0;n=c[f>>2]|0;i=h;return n|0}a=c[e>>2]|0;d=0-(c[g>>2]|0)|0;do if((-2147483648>>0-b|0)>(2147483647>>0-(c[g>>2]|0)|0)){if((a|0)>(-2147483648>>d|0)){b=-2147483648>>0-(c[g>>2]|0);break}if((c[e>>2]|0)<(2147483647>>0-(c[g>>2]|0)|0)){b=2147483647>>0-(c[g>>2]|0);break}else{b=c[e>>2]|0;break}}else{if((a|0)>(2147483647>>d|0)){b=2147483647>>0-(c[g>>2]|0);break}if((c[e>>2]|0)<(-2147483648>>0-(c[g>>2]|0)|0)){b=-2147483648>>0-(c[g>>2]|0);break}else{b=c[e>>2]|0;break}}while(0);c[f>>2]=b<<0-(c[g>>2]|0);n=c[f>>2]|0;i=h;return n|0}function Je(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){a=32;i=d;return a|0}a=32-(32-(aa(c[b>>2]|0)|0))|0;i=d;return a|0}function Ke(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;f=r+40|0;g=r+36|0;h=r+32|0;o=r+28|0;j=r+24|0;k=r+20|0;l=r+16|0;m=r+12|0;p=r+8|0;n=r+4|0;q=r;c[f>>2]=d;c[g>>2]=e;c[l>>2]=(c[f>>2]|0)+4168;c[(c[f>>2]|0)+4164>>2]=a[(c[f>>2]|0)+2736+29>>0];c[h>>2]=0;a:do if((a[(c[f>>2]|0)+2736+29>>0]|0)==2){c[k>>2]=0;while(1){e=_(c[k>>2]|0,c[(c[f>>2]|0)+2332>>2]|0)|0;if((e|0)>=(c[(c[g>>2]|0)+((c[(c[f>>2]|0)+2324>>2]|0)-1<<2)>>2]|0))break;if((c[k>>2]|0)==(c[(c[f>>2]|0)+2324>>2]|0))break;c[o>>2]=0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=5)break;c[o>>2]=(c[o>>2]|0)+(b[(c[g>>2]|0)+96+((((c[(c[f>>2]|0)+2324>>2]|0)-1-(c[k>>2]|0)|0)*5|0)+(c[j>>2]|0)<<1)>>1]|0);c[j>>2]=(c[j>>2]|0)+1}if((c[o>>2]|0)>(c[h>>2]|0)){c[h>>2]=c[o>>2];e=(c[l>>2]|0)+4|0;d=(c[g>>2]|0)+96+((((c[(c[f>>2]|0)+2324>>2]|0)-1-(c[k>>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[l>>2]>>2]=c[(c[g>>2]|0)+((c[(c[f>>2]|0)+2324>>2]|0)-1-(c[k>>2]|0)<<2)>>2]<<8}c[k>>2]=(c[k>>2]|0)+1}o=(c[l>>2]|0)+4|0;c[o>>2]=0;c[o+4>>2]=0;b[o+8>>1]=0;b[(c[l>>2]|0)+4+4>>1]=c[h>>2];if((c[h>>2]|0)<11469){c[p>>2]=11744256;c[m>>2]=(c[p>>2]|0)/(((c[h>>2]|0)>1?c[h>>2]|0:1)|0)|0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=5)break a;q=(_(b[(c[l>>2]|0)+4+(c[j>>2]<<1)>>1]|0,(c[m>>2]&65535)<<16>>16)|0)>>10&65535;b[(c[l>>2]|0)+4+(c[j>>2]<<1)>>1]=q;c[j>>2]=(c[j>>2]|0)+1}}if((c[h>>2]|0)>15565){c[q>>2]=255016960;c[n>>2]=(c[q>>2]|0)/(((c[h>>2]|0)>1?c[h>>2]|0:1)|0)|0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=5)break a;q=(_(b[(c[l>>2]|0)+4+(c[j>>2]<<1)>>1]|0,(c[n>>2]&65535)<<16>>16)|0)>>14&65535;b[(c[l>>2]|0)+4+(c[j>>2]<<1)>>1]=q;c[j>>2]=(c[j>>2]|0)+1}}}else{c[c[l>>2]>>2]=((c[(c[f>>2]|0)+2316>>2]&65535)<<16>>16)*18<<8;q=(c[l>>2]|0)+4|0;c[q>>2]=0;c[q+4>>2]=0;b[q+8>>1]=0}while(0);pj((c[l>>2]|0)+14|0,(c[g>>2]|0)+32+32|0,c[(c[f>>2]|0)+2340>>2]<<1|0)|0;b[(c[l>>2]|0)+68>>1]=c[(c[g>>2]|0)+136>>2];q=(c[l>>2]|0)+72|0;p=(c[g>>2]|0)+16+((c[(c[f>>2]|0)+2324>>2]|0)-2<<2)|0;c[q>>2]=c[p>>2];c[q+4>>2]=c[p+4>>2];c[(c[l>>2]|0)+88>>2]=c[(c[f>>2]|0)+2332>>2];c[(c[l>>2]|0)+84>>2]=c[(c[f>>2]|0)+2324>>2];i=r;return}function Le(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;f=r+40|0;g=r+36|0;h=r+32|0;o=r+28|0;l=r+24|0;k=r+20|0;p=r+16|0;m=r+12|0;j=r+8|0;n=r+4|0;q=r;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;c[p>>2]=(c[f>>2]|0)+4168;if(c[(c[f>>2]|0)+4160>>2]|0){wg((c[p>>2]|0)+60|0,(c[p>>2]|0)+64|0,c[g>>2]|0,c[h>>2]|0);c[(c[p>>2]|0)+48>>2]=1;i=r;return}a:do if(c[(c[f>>2]|0)+4168+48>>2]|0){wg(k,l,c[g>>2]|0,c[h>>2]|0);if((c[l>>2]|0)<=(c[(c[p>>2]|0)+64>>2]|0)){if((c[l>>2]|0)<(c[(c[p>>2]|0)+64>>2]|0))c[k>>2]=c[k>>2]>>(c[(c[p>>2]|0)+64>>2]|0)-(c[l>>2]|0)}else c[(c[p>>2]|0)+60>>2]=c[(c[p>>2]|0)+60>>2]>>(c[l>>2]|0)-(c[(c[p>>2]|0)+64>>2]|0);if((c[k>>2]|0)>(c[(c[p>>2]|0)+60>>2]|0)){c[j>>2]=Je(c[(c[p>>2]|0)+60>>2]|0)|0;c[j>>2]=(c[j>>2]|0)-1;c[(c[p>>2]|0)+60>>2]=c[(c[p>>2]|0)+60>>2]<>2];a=c[k>>2]|0;c[k>>2]=a>>(He(24-(c[j>>2]|0)|0,0)|0);c[m>>2]=(c[(c[p>>2]|0)+60>>2]|0)/(((c[k>>2]|0)>1?c[k>>2]|0:1)|0)|0;c[n>>2]=(Me(c[m>>2]|0)|0)<<4;c[q>>2]=(65536-(c[n>>2]|0)|0)/(c[h>>2]|0)|0;c[q>>2]=c[q>>2]<<2;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[h>>2]|0))break a;a=_(c[n>>2]>>16,b[(c[g>>2]|0)+(c[o>>2]<<1)>>1]|0)|0;a=a+((_(c[n>>2]&65535,b[(c[g>>2]|0)+(c[o>>2]<<1)>>1]|0)|0)>>16)&65535;b[(c[g>>2]|0)+(c[o>>2]<<1)>>1]=a;c[n>>2]=(c[n>>2]|0)+(c[q>>2]|0);if((c[n>>2]|0)>65536)break a;c[o>>2]=(c[o>>2]|0)+1}}}while(0);c[(c[p>>2]|0)+48>>2]=0;i=r;return}function Me(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;b=h+16|0;d=h+12|0;g=h+8|0;f=h+4|0;e=h;c[d>>2]=a;if((c[d>>2]|0)<=0){c[b>>2]=0;g=c[b>>2]|0;i=h;return g|0}Ne(c[d>>2]|0,f,e);if(c[f>>2]&1|0)c[g>>2]=32768;else c[g>>2]=46214;c[g>>2]=c[g>>2]>>(c[f>>2]>>1);a=_(c[g>>2]>>16,(((c[e>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0;c[g>>2]=(c[g>>2]|0)+(a+((_(c[g>>2]&65535,(((c[e>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0)>>16));c[b>>2]=c[g>>2];g=c[b>>2]|0;i=h;return g|0}function Ne(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;h=e+12|0;j=e+8|0;f=e+4|0;g=e;c[h>>2]=a;c[j>>2]=b;c[f>>2]=d;c[g>>2]=Je(c[h>>2]|0)|0;c[c[j>>2]>>2]=c[g>>2];b=(Oe(c[h>>2]|0,24-(c[g>>2]|0)|0)|0)&127;c[c[f>>2]>>2]=b;i=e;return}function Oe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+20|0;d=k+16|0;f=k+12|0;j=k+8|0;h=k+4|0;g=k;c[d>>2]=a;c[f>>2]=b;c[j>>2]=c[d>>2];c[h>>2]=c[f>>2];c[g>>2]=0-(c[f>>2]|0);if(!(c[f>>2]|0)){c[e>>2]=c[d>>2];j=c[e>>2]|0;i=k;return j|0}d=c[j>>2]|0;if((c[f>>2]|0)<0){c[e>>2]=d<>2]|(c[j>>2]|0)>>>(32-(c[g>>2]|0)|0);j=c[e>>2]|0;i=k;return j|0}else{c[e>>2]=d<<32-(c[h>>2]|0)|(c[j>>2]|0)>>>(c[h>>2]|0);j=c[e>>2]|0;i=k;return j|0}return 0}function Pe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+80|0;g=d+68|0;f=d+64|0;e=d+32|0;h=d+16|0;j=d+8|0;k=d;c[g>>2]=a;c[f>>2]=b;Qe(e,c[f>>2]|0,8);Qe(h,e,4);Qe(j,h,2);Qe(k,j,1);Re(c[g>>2]|0,c[j>>2]|0,c[k>>2]|0,30015);Re(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,29863);Re(c[g>>2]|0,c[e>>2]|0,c[h>>2]|0,29711);Re(c[g>>2]|0,c[c[f>>2]>>2]|0,c[e>>2]|0,29559);Re(c[g>>2]|0,c[(c[f>>2]|0)+8>>2]|0,c[e+4>>2]|0,29559);Re(c[g>>2]|0,c[e+8>>2]|0,c[h+4>>2]|0,29711);Re(c[g>>2]|0,c[(c[f>>2]|0)+16>>2]|0,c[e+8>>2]|0,29559);Re(c[g>>2]|0,c[(c[f>>2]|0)+24>>2]|0,c[e+12>>2]|0,29559);Re(c[g>>2]|0,c[h+8>>2]|0,c[j+4>>2]|0,29863);Re(c[g>>2]|0,c[e+16>>2]|0,c[h+8>>2]|0,29711);Re(c[g>>2]|0,c[(c[f>>2]|0)+32>>2]|0,c[e+16>>2]|0,29559);Re(c[g>>2]|0,c[(c[f>>2]|0)+40>>2]|0,c[e+20>>2]|0,29559);Re(c[g>>2]|0,c[e+24>>2]|0,c[h+12>>2]|0,29711);Re(c[g>>2]|0,c[(c[f>>2]|0)+48>>2]|0,c[e+24>>2]|0,29559);Re(c[g>>2]|0,c[(c[f>>2]|0)+56>>2]|0,c[e+28>>2]|0,29559);i=d;return}function Qe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;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}i=j;return}function Re(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;if((c[j>>2]|0)<=0){i=l;return}qc(c[g>>2]|0,c[h>>2]|0,(c[k>>2]|0)+(d[30167+(c[j>>2]|0)>>0]|0)|0,8);i=l;return}function Se(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+48|0;j=f+8|0;h=f+4|0;m=f;l=f+40|0;k=f+32|0;g=f+16|0;c[j>>2]=a;c[h>>2]=d;c[m>>2]=e;Te(l,l+2|0,c[h>>2]|0,c[m>>2]|0,30015);Te(k,k+2|0,c[h>>2]|0,b[l>>1]|0,29863);Te(g,g+2|0,c[h>>2]|0,b[k>>1]|0,29711);Te(c[j>>2]|0,(c[j>>2]|0)+2|0,c[h>>2]|0,b[g>>1]|0,29559);Te((c[j>>2]|0)+4|0,(c[j>>2]|0)+6|0,c[h>>2]|0,b[g+2>>1]|0,29559);Te(g+4|0,g+6|0,c[h>>2]|0,b[k+2>>1]|0,29711);Te((c[j>>2]|0)+8|0,(c[j>>2]|0)+10|0,c[h>>2]|0,b[g+4>>1]|0,29559);Te((c[j>>2]|0)+12|0,(c[j>>2]|0)+14|0,c[h>>2]|0,b[g+6>>1]|0,29559);Te(k+4|0,k+6|0,c[h>>2]|0,b[l+2>>1]|0,29863);Te(g+8|0,g+10|0,c[h>>2]|0,b[k+4>>1]|0,29711);Te((c[j>>2]|0)+16|0,(c[j>>2]|0)+18|0,c[h>>2]|0,b[g+8>>1]|0,29559);Te((c[j>>2]|0)+20|0,(c[j>>2]|0)+22|0,c[h>>2]|0,b[g+10>>1]|0,29559);Te(g+12|0,g+14|0,c[h>>2]|0,b[k+6>>1]|0,29711);Te((c[j>>2]|0)+24|0,(c[j>>2]|0)+26|0,c[h>>2]|0,b[g+12>>1]|0,29559);Te((c[j>>2]|0)+28|0,(c[j>>2]|0)+30|0,c[h>>2]|0,b[g+14>>1]|0,29559);i=f;return}function Te(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;j=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[j>>2]=a;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;if((c[m>>2]|0)>0){h=(ec(c[l>>2]|0,(c[n>>2]|0)+(d[30167+(c[m>>2]|0)>>0]|0)|0,8)|0)&65535;b[c[j>>2]>>1]=h;b[c[k>>2]>>1]=(c[m>>2]|0)-(b[c[j>>2]>>1]|0);i=o;return}else{b[c[j>>2]>>1]=0;b[c[k>>2]>>1]=0;i=o;return}}function Ue(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+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=Ve(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){if((c[e>>2]|0)>=4)break;c[(c[d>>2]|0)+60+(c[e>>2]<<2)>>2]=(c[(c[d>>2]|0)+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[(c[d>>2]|0)+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}i=g;return c[f>>2]|0}function Ve(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;i=f;return ((c[e>>2]|0)>(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function We(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;C=i;i=i+144|0;s=C+132|0;F=C+128|0;v=C+124|0;q=C+120|0;p=C+116|0;E=C+112|0;D=C+108|0;k=C+104|0;h=C+100|0;j=C+96|0;w=C+92|0;l=C+88|0;x=C+84|0;m=C+80|0;r=C+76|0;A=C+72|0;e=C+136|0;o=C+56|0;u=C+40|0;B=C+36|0;n=C+32|0;g=C+16|0;z=C+8|0;y=C+4|0;t=C;c[s>>2]=a;c[F>>2]=d;c[z>>2]=0;c[y>>2]=(c[s>>2]|0)+32;c[E>>2]=c[(c[s>>2]|0)+4608>>2]>>1;c[D>>2]=c[(c[s>>2]|0)+4608>>2]>>2;c[k>>2]=c[(c[s>>2]|0)+4608>>2]>>3;c[g>>2]=0;c[g+4>>2]=(c[k>>2]|0)+(c[D>>2]|0);c[g+8>>2]=(c[g+4>>2]|0)+(c[k>>2]|0);c[g+12>>2]=(c[g+8>>2]|0)+(c[D>>2]|0);a=(c[g+12>>2]|0)+(c[E>>2]|0)|0;c[t>>2]=ia()|0;f=i;i=i+((1*(a<<1)|0)+15&-16)|0;Mf(c[F>>2]|0,c[y>>2]|0,f,f+(c[g+12>>2]<<1)|0,c[(c[s>>2]|0)+4608>>2]|0);Mf(f,(c[y>>2]|0)+8|0,f,f+(c[g+8>>2]<<1)|0,c[E>>2]|0);Mf(f,(c[y>>2]|0)+16|0,f,f+(c[g+4>>2]<<1)|0,c[D>>2]|0);b[f+((c[k>>2]|0)-1<<1)>>1]=b[f+((c[k>>2]|0)-1<<1)>>1]>>1;b[e>>1]=b[f+((c[k>>2]|0)-1<<1)>>1]|0;c[l>>2]=(c[k>>2]|0)-1;while(1){if((c[l>>2]|0)<=0)break;b[f+((c[l>>2]|0)-1<<1)>>1]=b[f+((c[l>>2]|0)-1<<1)>>1]>>1;F=f+(c[l>>2]<<1)|0;b[F>>1]=(b[F>>1]|0)-(b[f+((c[l>>2]|0)-1<<1)>>1]|0);c[l>>2]=(c[l>>2]|0)+-1}b[f>>1]=(b[f>>1]|0)-(b[(c[y>>2]|0)+56>>1]|0);b[(c[y>>2]|0)+56>>1]=b[e>>1]|0;c[x>>2]=0;while(1){if((c[x>>2]|0)>=4)break;F=c[(c[s>>2]|0)+4608>>2]|0;c[k>>2]=F>>(Xe(4-(c[x>>2]|0)|0,3)|0);c[h>>2]=c[k>>2]>>2;c[j>>2]=0;c[o+(c[x>>2]<<2)>>2]=c[(c[y>>2]|0)+24+(c[x>>2]<<2)>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=4)break;c[r>>2]=0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[h>>2]|0))break;c[n>>2]=b[f+((c[g+(c[x>>2]<<2)>>2]|0)+(c[l>>2]|0)+(c[j>>2]|0)<<1)>>1]>>3;c[r>>2]=(c[r>>2]|0)+(_((c[n>>2]&65535)<<16>>16,(c[n>>2]&65535)<<16>>16)|0);c[l>>2]=(c[l>>2]|0)+1}d=c[o+(c[x>>2]<<2)>>2]|0;a=c[r>>2]|0;if((c[m>>2]|0)<3){if(d+a&-2147483648|0)d=2147483647;else d=(c[o+(c[x>>2]<<2)>>2]|0)+(c[r>>2]|0)|0;c[o+(c[x>>2]<<2)>>2]=d}else{if(d+(a>>1)&-2147483648|0)d=2147483647;else d=(c[o+(c[x>>2]<<2)>>2]|0)+(c[r>>2]>>1)|0;c[o+(c[x>>2]<<2)>>2]=d}c[j>>2]=(c[j>>2]|0)+(c[h>>2]|0);c[m>>2]=(c[m>>2]|0)+1}c[(c[y>>2]|0)+24+(c[x>>2]<<2)>>2]=c[r>>2];c[x>>2]=(c[x>>2]|0)+1}Ye(o,c[y>>2]|0);c[r>>2]=0;c[p>>2]=0;c[x>>2]=0;while(1){if((c[x>>2]|0)>=4)break;c[B>>2]=(c[o+(c[x>>2]<<2)>>2]|0)-(c[(c[y>>2]|0)+60+(c[x>>2]<<2)>>2]|0);d=c[x>>2]|0;if((c[B>>2]|0)>0){a=c[o+(c[x>>2]<<2)>>2]|0;if(!(c[o+(d<<2)>>2]&-8388608))c[u+(c[x>>2]<<2)>>2]=(a<<8|0)/((c[(c[y>>2]|0)+60+(c[x>>2]<<2)>>2]|0)+1|0)|0;else c[u+(c[x>>2]<<2)>>2]=(a|0)/((c[(c[y>>2]|0)+60+(c[x>>2]<<2)>>2]>>8)+1|0)|0;c[w>>2]=(Sf(c[u+(c[x>>2]<<2)>>2]|0)|0)-1024;c[r>>2]=(c[r>>2]|0)+(_((c[w>>2]&65535)<<16>>16,(c[w>>2]&65535)<<16>>16)|0);if((c[B>>2]|0)<1048576){E=(_e(c[B>>2]|0)|0)<<6>>16;E=_(E,(c[w>>2]&65535)<<16>>16)|0;F=(_e(c[B>>2]|0)|0)<<6&65535;c[w>>2]=E+((_(F,(c[w>>2]&65535)<<16>>16)|0)>>16)}F=_(c[17944+(c[x>>2]<<2)>>2]>>16,(c[w>>2]&65535)<<16>>16)|0;c[p>>2]=(c[p>>2]|0)+(F+((_(c[17944+(c[x>>2]<<2)>>2]&65535,(c[w>>2]&65535)<<16>>16)|0)>>16))}else c[u+(d<<2)>>2]=256;c[x>>2]=(c[x>>2]|0)+1}c[r>>2]=(c[r>>2]|0)/4|0;c[q>>2]=((_e(c[r>>2]|0)|0)*3&65535)<<16>>16;c[v>>2]=tg(0+(((c[q>>2]&65535)<<16>>16)*45e3>>16)-128|0)|0;F=(tg(c[p>>2]|0)|0)-16384<<1;c[(c[s>>2]|0)+4744>>2]=F;c[B>>2]=0;c[x>>2]=0;while(1){if((c[x>>2]|0)>=4)break;F=_((c[x>>2]|0)+1|0,(c[o+(c[x>>2]<<2)>>2]|0)-(c[(c[y>>2]|0)+60+(c[x>>2]<<2)>>2]|0)>>4)|0;c[B>>2]=(c[B>>2]|0)+F;c[x>>2]=(c[x>>2]|0)+1}if((c[B>>2]|0)>0){if((c[B>>2]|0)<32768){d=c[B>>2]|0;if((c[(c[s>>2]|0)+4608>>2]|0)==((c[(c[s>>2]|0)+4600>>2]|0)*10|0)){if((d|0)>32767)d=32767;else d=(c[B>>2]|0)<-32768?-32768:c[B>>2]|0;c[B>>2]=d<<16}else{if((d|0)>65535)d=65535;else d=(c[B>>2]|0)<-65536?-65536:c[B>>2]|0;c[B>>2]=d<<15}c[B>>2]=_e(c[B>>2]|0)|0;F=_(32768+(c[B>>2]|0)>>16,(c[v>>2]&65535)<<16>>16)|0;c[v>>2]=F+((_(32768+(c[B>>2]|0)&65535,(c[v>>2]&65535)<<16>>16)|0)>>16)}}else c[v>>2]=c[v>>2]>>1;F=Xe(c[v>>2]>>7,255)|0;c[(c[s>>2]|0)+4556>>2]=F;F=_(c[v>>2]>>16,(c[v>>2]&65535)<<16>>16)|0;c[A>>2]=0+((F+((_(c[v>>2]&65535,(c[v>>2]&65535)<<16>>16)|0)>>16)&65535)<<16>>16<<12>>16);if((c[(c[s>>2]|0)+4608>>2]|0)==((c[(c[s>>2]|0)+4600>>2]|0)*10|0))c[A>>2]=c[A>>2]>>1;c[x>>2]=0;while(1){if((c[x>>2]|0)>=4)break;F=_((c[u+(c[x>>2]<<2)>>2]|0)-(c[(c[y>>2]|0)+40+(c[x>>2]<<2)>>2]|0)>>16,(c[A>>2]&65535)<<16>>16)|0;F=(c[(c[y>>2]|0)+40+(c[x>>2]<<2)>>2]|0)+(F+((_((c[u+(c[x>>2]<<2)>>2]|0)-(c[(c[y>>2]|0)+40+(c[x>>2]<<2)>>2]|0)&65535,(c[A>>2]&65535)<<16>>16)|0)>>16))|0;c[(c[y>>2]|0)+40+(c[x>>2]<<2)>>2]=F;c[w>>2]=((Sf(c[(c[y>>2]|0)+40+(c[x>>2]<<2)>>2]|0)|0)-1024|0)*3;F=tg((c[w>>2]|0)-2048>>4)|0;c[(c[s>>2]|0)+4728+(c[x>>2]<<2)>>2]=F;c[x>>2]=(c[x>>2]|0)+1}F=c[z>>2]|0;na(c[t>>2]|0);i=C;return F|0}function Xe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;i=f;return ((c[e>>2]|0)<(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function Ye(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;e=m+24|0;h=m+20|0;k=m+16|0;l=m+12|0;g=m+8|0;f=m+4|0;j=m;c[d>>2]=a;c[e>>2]=b;if((c[(c[e>>2]|0)+108>>2]|0)<1e3)c[j>>2]=32767/((c[(c[e>>2]|0)+108>>2]>>4)+1|0)|0;else c[j>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=4)break;c[k>>2]=c[(c[e>>2]|0)+60+(c[h>>2]<<2)>>2];if((c[(c[d>>2]|0)+(c[h>>2]<<2)>>2]|0)+(c[(c[e>>2]|0)+92+(c[h>>2]<<2)>>2]|0)&-2147483648|0)a=2147483647;else a=(c[(c[d>>2]|0)+(c[h>>2]<<2)>>2]|0)+(c[(c[e>>2]|0)+92+(c[h>>2]<<2)>>2]|0)|0;c[l>>2]=a;c[g>>2]=2147483647/(c[l>>2]|0)|0;do if((c[l>>2]|0)<=(c[k>>2]<<3|0))if((c[l>>2]|0)<(c[k>>2]|0)){c[f>>2]=1024;break}else{a=_(c[g>>2]>>16,(c[k>>2]&65535)<<16>>16)|0;a=a+((_(c[g>>2]&65535,(c[k>>2]&65535)<<16>>16)|0)>>16)|0;a=a+(_(c[g>>2]|0,(c[k>>2]>>15)+1>>1)|0)>>16<<11;b=_(c[g>>2]>>16,(c[k>>2]&65535)<<16>>16)|0;b=b+((_(c[g>>2]&65535,(c[k>>2]&65535)<<16>>16)|0)>>16)|0;c[f>>2]=a+((b+(_(c[g>>2]|0,(c[k>>2]>>15)+1>>1)|0)&65535)<<11>>16);break}else c[f>>2]=128;while(0);c[f>>2]=Ze(c[f>>2]|0,c[j>>2]|0)|0;b=_((c[g>>2]|0)-(c[(c[e>>2]|0)+76+(c[h>>2]<<2)>>2]|0)>>16,(c[f>>2]&65535)<<16>>16)|0;b=(c[(c[e>>2]|0)+76+(c[h>>2]<<2)>>2]|0)+(b+((_((c[g>>2]|0)-(c[(c[e>>2]|0)+76+(c[h>>2]<<2)>>2]|0)&65535,(c[f>>2]&65535)<<16>>16)|0)>>16))|0;c[(c[e>>2]|0)+76+(c[h>>2]<<2)>>2]=b;c[k>>2]=2147483647/(c[(c[e>>2]|0)+76+(c[h>>2]<<2)>>2]|0)|0;c[k>>2]=(c[k>>2]|0)<16777215?c[k>>2]|0:16777215;c[(c[e>>2]|0)+60+(c[h>>2]<<2)>>2]=c[k>>2];c[h>>2]=(c[h>>2]|0)+1}l=(c[e>>2]|0)+108|0;c[l>>2]=(c[l>>2]|0)+1;i=m;return}function Ze(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;i=f;return ((c[e>>2]|0)>(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function _e(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;b=h+16|0;d=h+12|0;g=h+8|0;f=h+4|0;e=h;c[d>>2]=a;if((c[d>>2]|0)<=0){c[b>>2]=0;g=c[b>>2]|0;i=h;return g|0}$e(c[d>>2]|0,f,e);if(c[f>>2]&1|0)c[g>>2]=32768;else c[g>>2]=46214;c[g>>2]=c[g>>2]>>(c[f>>2]>>1);a=_(c[g>>2]>>16,(((c[e>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0;c[g>>2]=(c[g>>2]|0)+(a+((_(c[g>>2]&65535,(((c[e>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0)>>16));c[b>>2]=c[g>>2];g=c[b>>2]|0;i=h;return g|0}function $e(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;h=e+12|0;j=e+8|0;f=e+4|0;g=e;c[h>>2]=a;c[j>>2]=b;c[f>>2]=d;c[g>>2]=af(c[h>>2]|0)|0;c[c[j>>2]>>2]=c[g>>2];b=(bf(c[h>>2]|0,24-(c[g>>2]|0)|0)|0)&127;c[c[f>>2]>>2]=b;i=e;return}function af(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){a=32;i=d;return a|0}a=32-(32-(aa(c[b>>2]|0)|0))|0;i=d;return a|0}function bf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+20|0;d=k+16|0;f=k+12|0;j=k+8|0;h=k+4|0;g=k;c[d>>2]=a;c[f>>2]=b;c[j>>2]=c[d>>2];c[h>>2]=c[f>>2];c[g>>2]=0-(c[f>>2]|0);if(!(c[f>>2]|0)){c[e>>2]=c[d>>2];j=c[e>>2]|0;i=k;return j|0}d=c[j>>2]|0;if((c[f>>2]|0)<0){c[e>>2]=d<>2]|(c[j>>2]|0)>>>(32-(c[g>>2]|0)|0);j=c[e>>2]|0;i=k;return j|0}else{c[e>>2]=d<<32-(c[h>>2]|0)|(c[j>>2]|0)>>>(c[h>>2]|0);j=c[e>>2]|0;i=k;return j|0}return 0}function cf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+12|0;d=h+8|0;g=h+4|0;e=h;c[f>>2]=a;c[d>>2]=b;c[g>>2]=c[(c[f>>2]|0)+4600>>2];c[e>>2]=((c[g>>2]&65535)<<16>>16)*1e3;if(!(c[e>>2]|0)){b=c[f>>2]|0;if((c[(c[f>>2]|0)+4596>>2]|0)<(c[(c[f>>2]|0)+4580>>2]|0))b=c[b+4596>>2]|0;else b=c[b+4580>>2]|0;c[e>>2]=b;c[g>>2]=(c[e>>2]|0)/1e3|0;g=c[g>>2]|0;i=h;return g|0}if(((c[e>>2]|0)<=(c[(c[f>>2]|0)+4580>>2]|0)?(c[e>>2]|0)<=(c[(c[f>>2]|0)+4588>>2]|0):0)?(c[e>>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[d>>2]|0)+60>>2]|0)==0:0){g=c[g>>2]|0;i=h;return g|0}b=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[b+16+12>>2]|0)){c[(c[f>>2]|0)+16+8>>2]=256;e=(c[f>>2]|0)+16|0;c[e>>2]=0;c[e+4>>2]=0}b=(c[f>>2]|0)+16|0;if(c[(c[d>>2]|0)+60>>2]|0){c[b+12>>2]=0;c[g>>2]=(c[(c[f>>2]|0)+4600>>2]|0)==16?12:8;g=c[g>>2]|0;i=h;return g|0}if((c[b+8>>2]|0)<=0){c[(c[d>>2]|0)+84>>2]=1;f=(c[d>>2]|0)+52|0;c[f>>2]=(c[f>>2]|0)-(((c[(c[d>>2]|0)+52>>2]|0)*5|0)/((c[(c[d>>2]|0)+24>>2]|0)+5|0)|0);g=c[g>>2]|0;i=h;return g|0}else{c[(c[f>>2]|0)+16+12>>2]=-2;g=c[g>>2]|0;i=h;return g|0}}if((((c[b+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;i=h;return g|0}c[(c[f>>2]|0)+16+12>>2]=1;g=c[g>>2]|0;i=h;return g|0}b=c[f>>2]|0;if(c[(c[d>>2]|0)+60>>2]|0){c[g>>2]=(c[b+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;i=h;return g|0}if(!(c[b+16+12>>2]|0)){c[(c[d>>2]|0)+84>>2]=1;f=(c[d>>2]|0)+52|0;c[f>>2]=(c[f>>2]|0)-(((c[(c[d>>2]|0)+52>>2]|0)*5|0)/((c[(c[d>>2]|0)+24>>2]|0)+5|0)|0);g=c[g>>2]|0;i=h;return g|0}else{c[(c[f>>2]|0)+16+12>>2]=1;g=c[g>>2]|0;i=h;return g|0}}c[e>>2]=c[(c[f>>2]|0)+4580>>2];if((c[e>>2]|0)<(c[(c[f>>2]|0)+4588>>2]|0))b=c[e>>2]|0;else b=c[(c[f>>2]|0)+4588>>2]|0;c[e>>2]=b;if((c[e>>2]|0)>(c[(c[f>>2]|0)+4592>>2]|0))b=c[e>>2]|0;else b=c[(c[f>>2]|0)+4592>>2]|0;c[e>>2]=b;c[g>>2]=(c[e>>2]|0)/1e3|0;g=c[g>>2]|0;i=h;return g|0}function df(d,e,f,g,h,j,k,l,m){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=i;i=i+112|0;E=M+96|0;F=M+92|0;n=M+88|0;G=M+84|0;o=M+80|0;p=M+76|0;q=M+72|0;H=M+68|0;K=M+60|0;L=M+56|0;u=M+52|0;D=M+100|0;v=M+48|0;J=M+44|0;t=M+40|0;s=M+36|0;r=M+32|0;B=M+28|0;A=M+24|0;z=M+20|0;C=M+16|0;I=M+12|0;y=M+8|0;w=M+4|0;x=M;c[E>>2]=d;c[F>>2]=e;c[n>>2]=f;c[G>>2]=g;c[o>>2]=h;c[p>>2]=j;c[q>>2]=k;c[H>>2]=l;c[M+64>>2]=m;c[z>>2]=2147483647;c[I>>2]=0;c[L>>2]=0;while(1){if((c[L>>2]|0)>=3)break;c[x>>2]=51;c[v>>2]=c[17632+(c[L>>2]<<2)>>2];c[J>>2]=c[17644+(c[L>>2]<<2)>>2];c[t>>2]=c[17656+(c[L>>2]<<2)>>2];c[u>>2]=a[27263+(c[L>>2]|0)>>0];c[r>>2]=c[o>>2];c[s>>2]=c[E>>2];c[A>>2]=0;c[C>>2]=c[c[G>>2]>>2];c[K>>2]=0;while(1){if((c[K>>2]|0)>=(c[H>>2]|0))break;g=Wf(5333-(c[C>>2]|0)+896|0)|0;c[y>>2]=g-(c[x>>2]|0);ef(D+(c[K>>2]|0)|0,B,w,c[s>>2]|0,c[r>>2]|0,c[J>>2]|0,c[t>>2]|0,c[v>>2]|0,c[p>>2]|0,c[y>>2]|0,c[u>>2]|0);if((c[A>>2]|0)+(c[B>>2]|0)&-2147483648|0)d=2147483647;else d=(c[A>>2]|0)+(c[B>>2]|0)|0;c[A>>2]=d;g=c[C>>2]|0;if(0>(g+(Sf((c[x>>2]|0)+(c[w>>2]|0)|0)|0)-896|0))d=0;else{d=c[C>>2]|0;d=d+(Sf((c[x>>2]|0)+(c[w>>2]|0)|0)|0)-896|0}c[C>>2]=d;c[s>>2]=(c[s>>2]|0)+10;c[r>>2]=(c[r>>2]|0)+100;c[K>>2]=(c[K>>2]|0)+1}c[A>>2]=2147483646<(c[A>>2]|0)?2147483646:c[A>>2]|0;if((c[A>>2]|0)<(c[z>>2]|0)){c[z>>2]=c[A>>2];a[c[n>>2]>>0]=c[L>>2];pj(c[F>>2]|0,D|0,c[H>>2]|0)|0;c[I>>2]=c[C>>2]}if(c[q>>2]|0?(c[A>>2]|0)<(b[12226]|0):0)break;c[L>>2]=(c[L>>2]|0)+1}c[J>>2]=c[17644+(a[c[n>>2]>>0]<<2)>>2];c[K>>2]=0;while(1){if((c[K>>2]|0)>=(c[H>>2]|0))break;c[L>>2]=0;while(1){d=c[K>>2]|0;if((c[L>>2]|0)>=5)break;b[(c[E>>2]|0)+(((c[K>>2]|0)*5|0)+(c[L>>2]|0)<<1)>>1]=a[(c[J>>2]|0)+(((a[(c[F>>2]|0)+d>>0]|0)*5|0)+(c[L>>2]|0))>>0]<<7;c[L>>2]=(c[L>>2]|0)+1}c[K>>2]=d+1}c[c[G>>2]>>2]=c[I>>2];i=M;return}function ef(e,f,g,h,j,k,l,m,n,o,p){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;G=i;i=i+80|0;q=G+60|0;r=G+56|0;t=G+52|0;u=G+48|0;v=G+44|0;H=G+40|0;w=G+36|0;x=G+32|0;y=G+28|0;z=G+24|0;s=G+20|0;D=G+16|0;C=G+12|0;A=G+8|0;B=G+64|0;E=G+4|0;F=G;c[q>>2]=e;c[r>>2]=f;c[t>>2]=g;c[u>>2]=h;c[v>>2]=j;c[H>>2]=k;c[w>>2]=l;c[x>>2]=m;c[y>>2]=n;c[z>>2]=o;c[s>>2]=p;c[c[r>>2]>>2]=2147483647;c[A>>2]=c[H>>2];c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[s>>2]|0))break;c[C>>2]=d[(c[w>>2]|0)+(c[D>>2]|0)>>0];b[B>>1]=(b[c[u>>2]>>1]|0)-(a[c[A>>2]>>0]<<7);b[B+2>>1]=(b[(c[u>>2]|0)+2>>1]|0)-(a[(c[A>>2]|0)+1>>0]<<7);b[B+4>>1]=(b[(c[u>>2]|0)+4>>1]|0)-(a[(c[A>>2]|0)+2>>0]<<7);b[B+6>>1]=(b[(c[u>>2]|0)+6>>1]|0)-(a[(c[A>>2]|0)+3>>0]<<7);b[B+8>>1]=(b[(c[u>>2]|0)+8>>1]|0)-(a[(c[A>>2]|0)+4>>0]<<7);c[E>>2]=_((c[y>>2]&65535)<<16>>16,d[(c[x>>2]|0)+(c[D>>2]|0)>>0]|0)|0;if(((c[C>>2]|0)-(c[z>>2]|0)|0)>0)p=(c[C>>2]|0)-(c[z>>2]|0)|0;else p=0;c[E>>2]=(c[E>>2]|0)+(p<<10);H=_(c[(c[v>>2]|0)+4>>2]>>16,b[B+2>>1]|0)|0;c[F>>2]=H+((_(c[(c[v>>2]|0)+4>>2]&65535,b[B+2>>1]|0)|0)>>16);H=_(c[(c[v>>2]|0)+8>>2]>>16,b[B+4>>1]|0)|0;c[F>>2]=(c[F>>2]|0)+(H+((_(c[(c[v>>2]|0)+8>>2]&65535,b[B+4>>1]|0)|0)>>16));H=_(c[(c[v>>2]|0)+12>>2]>>16,b[B+6>>1]|0)|0;c[F>>2]=(c[F>>2]|0)+(H+((_(c[(c[v>>2]|0)+12>>2]&65535,b[B+6>>1]|0)|0)>>16));H=_(c[(c[v>>2]|0)+16>>2]>>16,b[B+8>>1]|0)|0;c[F>>2]=(c[F>>2]|0)+(H+((_(c[(c[v>>2]|0)+16>>2]&65535,b[B+8>>1]|0)|0)>>16));c[F>>2]=c[F>>2]<<1;H=_(c[c[v>>2]>>2]>>16,b[B>>1]|0)|0;c[F>>2]=(c[F>>2]|0)+(H+((_(c[c[v>>2]>>2]&65535,b[B>>1]|0)|0)>>16));H=_(c[F>>2]>>16,b[B>>1]|0)|0;c[E>>2]=(c[E>>2]|0)+(H+((_(c[F>>2]&65535,b[B>>1]|0)|0)>>16));H=_(c[(c[v>>2]|0)+28>>2]>>16,b[B+4>>1]|0)|0;c[F>>2]=H+((_(c[(c[v>>2]|0)+28>>2]&65535,b[B+4>>1]|0)|0)>>16);H=_(c[(c[v>>2]|0)+32>>2]>>16,b[B+6>>1]|0)|0;c[F>>2]=(c[F>>2]|0)+(H+((_(c[(c[v>>2]|0)+32>>2]&65535,b[B+6>>1]|0)|0)>>16));H=_(c[(c[v>>2]|0)+36>>2]>>16,b[B+8>>1]|0)|0;c[F>>2]=(c[F>>2]|0)+(H+((_(c[(c[v>>2]|0)+36>>2]&65535,b[B+8>>1]|0)|0)>>16));c[F>>2]=c[F>>2]<<1;H=_(c[(c[v>>2]|0)+24>>2]>>16,b[B+2>>1]|0)|0;c[F>>2]=(c[F>>2]|0)+(H+((_(c[(c[v>>2]|0)+24>>2]&65535,b[B+2>>1]|0)|0)>>16));H=_(c[F>>2]>>16,b[B+2>>1]|0)|0;c[E>>2]=(c[E>>2]|0)+(H+((_(c[F>>2]&65535,b[B+2>>1]|0)|0)>>16));H=_(c[(c[v>>2]|0)+52>>2]>>16,b[B+6>>1]|0)|0;c[F>>2]=H+((_(c[(c[v>>2]|0)+52>>2]&65535,b[B+6>>1]|0)|0)>>16);H=_(c[(c[v>>2]|0)+56>>2]>>16,b[B+8>>1]|0)|0;c[F>>2]=(c[F>>2]|0)+(H+((_(c[(c[v>>2]|0)+56>>2]&65535,b[B+8>>1]|0)|0)>>16));c[F>>2]=c[F>>2]<<1;H=_(c[(c[v>>2]|0)+48>>2]>>16,b[B+4>>1]|0)|0;c[F>>2]=(c[F>>2]|0)+(H+((_(c[(c[v>>2]|0)+48>>2]&65535,b[B+4>>1]|0)|0)>>16));H=_(c[F>>2]>>16,b[B+4>>1]|0)|0;c[E>>2]=(c[E>>2]|0)+(H+((_(c[F>>2]&65535,b[B+4>>1]|0)|0)>>16));H=_(c[(c[v>>2]|0)+76>>2]>>16,b[B+8>>1]|0)|0;c[F>>2]=H+((_(c[(c[v>>2]|0)+76>>2]&65535,b[B+8>>1]|0)|0)>>16);c[F>>2]=c[F>>2]<<1;H=_(c[(c[v>>2]|0)+72>>2]>>16,b[B+6>>1]|0)|0;c[F>>2]=(c[F>>2]|0)+(H+((_(c[(c[v>>2]|0)+72>>2]&65535,b[B+6>>1]|0)|0)>>16));H=_(c[F>>2]>>16,b[B+6>>1]|0)|0;c[E>>2]=(c[E>>2]|0)+(H+((_(c[F>>2]&65535,b[B+6>>1]|0)|0)>>16));H=_(c[(c[v>>2]|0)+96>>2]>>16,b[B+8>>1]|0)|0;c[F>>2]=H+((_(c[(c[v>>2]|0)+96>>2]&65535,b[B+8>>1]|0)|0)>>16);H=_(c[F>>2]>>16,b[B+8>>1]|0)|0;c[E>>2]=(c[E>>2]|0)+(H+((_(c[F>>2]&65535,b[B+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[D>>2];c[c[t>>2]>>2]=c[C>>2]}c[A>>2]=(c[A>>2]|0)+5;c[D>>2]=(c[D>>2]|0)+1}i=G;return}function ff(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;k=j+20|0;f=j+16|0;d=j+12|0;e=j+8|0;g=j+4|0;h=j;c[k>>2]=b;c[h>>2]=c[k>>2];if((a[(c[h>>2]|0)+4565>>0]|0)!=2){i=j;return}c[d>>2]=((c[(c[h>>2]|0)+4600>>2]|0)*1e3<<16|0)/(c[(c[h>>2]|0)+4568>>2]|0)|0;c[e>>2]=(Sf(c[d>>2]|0)|0)-2048;c[f>>2]=c[(c[h>>2]|0)+4728>>2];l=c[e>>2]|0;b=_(0-(c[f>>2]|0)<<2>>16,(c[f>>2]&65535)<<16>>16)|0;b=b+((_(0-(c[f>>2]|0)<<2&65535,(c[f>>2]&65535)<<16>>16)|0)>>16)>>16;d=c[e>>2]|0;d=_(b,(d-((Sf(3932160)|0)-2048)&65535)<<16>>16)|0;b=_(0-(c[f>>2]|0)<<2>>16,(c[f>>2]&65535)<<16>>16)|0;b=b+((_(0-(c[f>>2]|0)<<2&65535,(c[f>>2]&65535)<<16>>16)|0)>>16)&65535;k=c[e>>2]|0;c[e>>2]=l+(d+((_(b,(k-((Sf(3932160)|0)-2048)&65535)<<16>>16)|0)>>16));c[g>>2]=(c[e>>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)d=51;else d=(c[g>>2]|0)<-51?-51:c[g>>2]|0;c[g>>2]=d;l=((_((c[(c[h>>2]|0)+4556>>2]&65535)<<16>>16,(c[g>>2]&65535)<<16>>16)|0)>>16)*6554|0;l=(c[(c[h>>2]|0)+8>>2]|0)+(l+(((_((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]=l;l=(Sf(60)|0)<<8;l=(l|0)>((Sf(100)|0)<<8|0);d=c[(c[h>>2]|0)+8>>2]|0;do if(l){if((d|0)>((Sf(60)|0)<<8|0)){d=(Sf(60)|0)<<8;break}l=c[(c[h>>2]|0)+8>>2]|0;if((l|0)<((Sf(100)|0)<<8|0)){d=(Sf(100)|0)<<8;break}else{d=c[(c[h>>2]|0)+8>>2]|0;break}}else{if((d|0)>((Sf(100)|0)<<8|0)){d=(Sf(100)|0)<<8;break}l=c[(c[h>>2]|0)+8>>2]|0;if((l|0)<((Sf(60)|0)<<8|0)){d=(Sf(60)|0)<<8;break}else{d=c[(c[h>>2]|0)+8>>2]|0;break}}while(0);c[(c[h>>2]|0)+8>>2]=d;i=j;return}function gf(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=i;i=i+288|0;n=L+64|0;o=L+60|0;p=L+56|0;q=L+52|0;r=L+48|0;s=L+44|0;t=L+40|0;C=L+36|0;K=L+32|0;E=L+28|0;z=L+24|0;H=L+20|0;A=L+16|0;x=L+12|0;J=L+232|0;I=L+200|0;v=L+168|0;y=L+136|0;w=L+104|0;G=L+264|0;B=L+72|0;F=L+8|0;D=L+4|0;u=L;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[r>>2]=k;c[s>>2]=l;c[t>>2]=m;cg(c[o>>2]|0,c[(c[p>>2]|0)+32>>2]|0,b[(c[p>>2]|0)+2>>1]|0);k=e[c[p>>2]>>1]|0;c[u>>2]=ia()|0;l=i;i=i+((1*(k<<2)|0)+15&-16)|0;mf(l,c[o>>2]|0,c[(c[p>>2]|0)+8>>2]|0,b[c[p>>2]>>1]|0,b[(c[p>>2]|0)+2>>1]|0);k=i;i=i+((1*(c[s>>2]<<2)|0)+15&-16)|0;ug(l,k,b[c[p>>2]>>1]|0,c[s>>2]|0);l=i;i=i+((1*(c[s>>2]<<2)|0)+15&-16)|0;g=i;i=i+((1*(c[s>>2]<<4)|0)+15&-16)|0;c[K>>2]=0;while(1){if((c[K>>2]|0)>=(c[s>>2]|0))break;c[E>>2]=c[k+(c[K>>2]<<2)>>2];m=_(c[E>>2]|0,b[(c[p>>2]|0)+2>>1]|0)|0;c[F>>2]=(c[(c[p>>2]|0)+8>>2]|0)+m;c[C>>2]=0;while(1){if((c[C>>2]|0)>=(b[(c[p>>2]|0)+2>>1]|0))break;b[v+(c[C>>2]<<1)>>1]=(d[(c[F>>2]|0)+(c[C>>2]|0)>>0]&65535)<<7;b[J+(c[C>>2]<<1)>>1]=(b[(c[o>>2]|0)+(c[C>>2]<<1)>>1]|0)-(b[v+(c[C>>2]<<1)>>1]|0);c[C>>2]=(c[C>>2]|0)+1}fg(y,v,b[(c[p>>2]|0)+2>>1]|0);c[C>>2]=0;while(1){if((c[C>>2]|0)>=(b[(c[p>>2]|0)+2>>1]|0))break;c[x>>2]=hf(b[y+(c[C>>2]<<1)>>1]<<16)|0;m=(_(b[J+(c[C>>2]<<1)>>1]|0,(c[x>>2]&65535)<<16>>16)|0)>>14&65535;b[I+(c[C>>2]<<1)>>1]=m;c[C>>2]=(c[C>>2]|0)+1}c[C>>2]=0;while(1){if((c[C>>2]|0)>=(b[(c[p>>2]|0)+2>>1]|0))break;b[w+(c[C>>2]<<1)>>1]=(b[(c[q>>2]|0)+(c[C>>2]<<1)>>1]<<5|0)/(b[y+(c[C>>2]<<1)>>1]|0)|0;c[C>>2]=(c[C>>2]|0)+1}nf(B,G,c[p>>2]|0,c[E>>2]|0);f=of(g+(c[K>>2]<<4)|0,I,w,G,B,c[(c[p>>2]|0)+28>>2]|0,b[(c[p>>2]|0)+4>>1]|0,b[(c[p>>2]|0)+6>>1]|0,c[r>>2]|0,b[(c[p>>2]|0)+2>>1]|0)|0;c[l+(c[K>>2]<<2)>>2]=f;f=_(c[t>>2]>>1,b[c[p>>2]>>1]|0)|0;c[D>>2]=(c[(c[p>>2]|0)+12>>2]|0)+f;f=c[E>>2]|0;if(!(c[E>>2]|0))c[H>>2]=256-(d[(c[D>>2]|0)+f>>0]|0);else c[H>>2]=(d[(c[D>>2]|0)+(f-1)>>0]|0)-(d[(c[D>>2]|0)+(c[E>>2]|0)>>0]|0);c[A>>2]=1024-(Sf(c[H>>2]|0)|0);m=(c[l+(c[K>>2]<<2)>>2]|0)+(_((c[A>>2]&65535)<<16>>16,(c[r>>2]>>2&65535)<<16>>16)|0)|0;c[l+(c[K>>2]<<2)>>2]=m;c[K>>2]=(c[K>>2]|0)+1}ug(l,z,c[s>>2]|0,1);a[c[n>>2]>>0]=c[k+(c[z>>2]<<2)>>2];pj((c[n>>2]|0)+1|0,g+(c[z>>2]<<4)|0,b[(c[p>>2]|0)+2>>1]|0)|0;ge(c[o>>2]|0,c[n>>2]|0,c[p>>2]|0);K=c[l>>2]|0;na(c[u>>2]|0);i=L;return K|0}function hf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;b=h+16|0;d=h+12|0;g=h+8|0;f=h+4|0;e=h;c[d>>2]=a;if((c[d>>2]|0)<=0){c[b>>2]=0;g=c[b>>2]|0;i=h;return g|0}jf(c[d>>2]|0,f,e);if(c[f>>2]&1|0)c[g>>2]=32768;else c[g>>2]=46214;c[g>>2]=c[g>>2]>>(c[f>>2]>>1);a=_(c[g>>2]>>16,(((c[e>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0;c[g>>2]=(c[g>>2]|0)+(a+((_(c[g>>2]&65535,(((c[e>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0)>>16));c[b>>2]=c[g>>2];g=c[b>>2]|0;i=h;return g|0}function jf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;h=e+12|0;j=e+8|0;f=e+4|0;g=e;c[h>>2]=a;c[j>>2]=b;c[f>>2]=d;c[g>>2]=kf(c[h>>2]|0)|0;c[c[j>>2]>>2]=c[g>>2];b=(lf(c[h>>2]|0,24-(c[g>>2]|0)|0)|0)&127;c[c[f>>2]>>2]=b;i=e;return}function kf(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){a=32;i=d;return a|0}a=32-(32-(aa(c[b>>2]|0)|0))|0;i=d;return a|0}function lf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+20|0;d=k+16|0;f=k+12|0;j=k+8|0;h=k+4|0;g=k;c[d>>2]=a;c[f>>2]=b;c[j>>2]=c[d>>2];c[h>>2]=c[f>>2];c[g>>2]=0-(c[f>>2]|0);if(!(c[f>>2]|0)){c[e>>2]=c[d>>2];j=c[e>>2]|0;i=k;return j|0}d=c[j>>2]|0;if((c[f>>2]|0)<0){c[e>>2]=d<>2]|(c[j>>2]|0)>>>(32-(c[g>>2]|0)|0);j=c[e>>2]|0;i=k;return j|0}else{c[e>>2]=d<<32-(c[h>>2]|0)|(c[j>>2]|0)>>>(c[h>>2]|0);j=c[e>>2]|0;i=k;return j|0}return 0}function mf(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;j=t+36|0;k=t+32|0;l=t+28|0;m=t+24|0;n=t+20|0;p=t+16|0;q=t+12|0;o=t+8|0;s=t+4|0;r=t;c[j>>2]=a;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[m>>2]|0))break;c[r>>2]=0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[n>>2]|0))break;f=b[(c[k>>2]|0)+(c[q>>2]<<1)>>1]|0;e=c[l>>2]|0;c[l>>2]=e+1;c[o>>2]=f-(d[e>>0]<<7);c[s>>2]=_((c[o>>2]&65535)<<16>>16,(c[o>>2]&65535)<<16>>16)|0;e=b[(c[k>>2]|0)+((c[q>>2]|0)+1<<1)>>1]|0;f=c[l>>2]|0;c[l>>2]=f+1;c[o>>2]=e-(d[f>>0]<<7);c[s>>2]=(c[s>>2]|0)+(_((c[o>>2]&65535)<<16>>16,(c[o>>2]&65535)<<16>>16)|0);c[r>>2]=(c[r>>2]|0)+(c[s>>2]>>4);c[q>>2]=(c[q>>2]|0)+2}c[(c[j>>2]|0)+(c[p>>2]<<2)>>2]=c[r>>2];c[p>>2]=(c[p>>2]|0)+1}i=t;return}function nf(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+32|0;j=p+20|0;k=p+16|0;l=p+12|0;q=p+8|0;o=p+4|0;n=p+24|0;m=p;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[q>>2]=h;g=(_(c[q>>2]|0,b[(c[l>>2]|0)+2>>1]|0)|0)/2|0;c[m>>2]=(c[(c[l>>2]|0)+20>>2]|0)+g;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(b[(c[l>>2]|0)+2>>1]|0))break;q=c[m>>2]|0;c[m>>2]=q+1;a[n>>0]=a[q>>0]|0;b[(c[j>>2]|0)+(c[o>>2]<<1)>>1]=((d[n>>0]>>1&7)<<16>>16)*9;q=(c[o>>2]|0)+(_(d[n>>0]&1,(b[(c[l>>2]|0)+2>>1]|0)-1|0)|0)|0;a[(c[k>>2]|0)+(c[o>>2]|0)>>0]=a[(c[(c[l>>2]|0)+16>>2]|0)+q>>0]|0;b[(c[j>>2]|0)+((c[o>>2]|0)+1<<1)>>1]=((d[n>>0]>>5&7)<<16>>16)*9;q=(c[o>>2]|0)+(_(d[n>>0]>>4&1,(b[(c[l>>2]|0)+2>>1]|0)-1|0)|0)+1|0;a[(c[k>>2]|0)+((c[o>>2]|0)+1)>>0]=a[(c[(c[l>>2]|0)+16>>2]|0)+q>>0]|0;c[o>>2]=(c[o>>2]|0)+2}i=p;return}function of(e,f,g,h,j,k,l,m,n,o){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0;aa=i;i=i+448|0;q=aa+352|0;r=aa+348|0;s=aa+344|0;t=aa+340|0;u=aa+336|0;v=aa+332|0;p=aa+328|0;w=aa+378|0;x=aa+324|0;y=aa+376|0;E=aa+320|0;L=aa+316|0;P=aa+312|0;K=aa+308|0;I=aa+304|0;H=aa+300|0;F=aa+296|0;$=aa+292|0;U=aa+288|0;D=aa+284|0;Q=aa+280|0;S=aa+276|0;X=aa+272|0;Y=aa+268|0;C=aa+264|0;N=aa+260|0;O=aa+256|0;M=aa+252|0;V=aa+248|0;J=aa+232|0;G=aa+384|0;W=aa+360|0;z=aa+200|0;B=aa+184|0;A=aa+168|0;Z=aa+160|0;R=aa+80|0;T=aa;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=j;c[v>>2]=k;c[p>>2]=l;b[w>>1]=m;c[x>>2]=n;b[y>>1]=o;c[E>>2]=-10;while(1){if((c[E>>2]|0)>9)break;c[Q>>2]=c[E>>2]<<10;c[S>>2]=(c[Q>>2]|0)+1024;do if((c[E>>2]|0)<=0){if(!(c[E>>2]|0)){c[S>>2]=(c[S>>2]|0)-102;break}f=(c[E>>2]|0)==-1;c[Q>>2]=(c[Q>>2]|0)+102;if(!f)c[S>>2]=(c[S>>2]|0)+102}else{c[Q>>2]=(c[Q>>2]|0)-102;c[S>>2]=(c[S>>2]|0)-102}while(0);f=_(c[Q>>2]>>16,(c[p>>2]&65535)<<16>>16)|0;f=f+((_(c[Q>>2]&65535,(c[p>>2]&65535)<<16>>16)|0)>>16)|0;c[R+((c[E>>2]|0)+10<<2)>>2]=f;f=_(c[S>>2]>>16,(c[p>>2]&65535)<<16>>16)|0;f=f+((_(c[S>>2]&65535,(c[p>>2]&65535)<<16>>16)|0)>>16)|0;c[T+((c[E>>2]|0)+10<<2)>>2]=f;c[E>>2]=(c[E>>2]|0)+1}c[P>>2]=1;c[z>>2]=0;b[W>>1]=0;c[E>>2]=(b[y>>1]|0)-1;a:while(1){c[Z>>2]=(c[v>>2]|0)+(b[(c[u>>2]|0)+(c[E>>2]<<1)>>1]|0);c[V>>2]=d[(c[t>>2]|0)+(c[E>>2]|0)>>0]<<8;c[F>>2]=b[(c[r>>2]|0)+(c[E>>2]<<1)>>1];c[L>>2]=0;while(1){if((c[L>>2]|0)>=(c[P>>2]|0))break;f=_(c[V>>2]>>16,b[W+(c[L>>2]<<1)>>1]|0)|0;c[U>>2]=f+((_(c[V>>2]&65535,b[W+(c[L>>2]<<1)>>1]|0)|0)>>16);c[$>>2]=(c[F>>2]|0)-(c[U>>2]|0);f=_(b[w>>1]>>16,(c[$>>2]&65535)<<16>>16)|0;c[K>>2]=f+((_(b[w>>1]&65535,(c[$>>2]&65535)<<16>>16)|0)>>16);if((c[K>>2]|0)>9)p=9;else p=(c[K>>2]|0)<-10?-10:c[K>>2]|0;c[K>>2]=p;a[G+(c[L>>2]<<4)+(c[E>>2]|0)>>0]=c[K>>2];c[Q>>2]=c[R+((c[K>>2]|0)+10<<2)>>2];c[S>>2]=c[T+((c[K>>2]|0)+10<<2)>>2];c[Q>>2]=(c[Q>>2]|0)+(c[U>>2]|0);c[S>>2]=(c[S>>2]|0)+(c[U>>2]|0);b[W+(c[L>>2]<<1)>>1]=c[Q>>2];b[W+((c[L>>2]|0)+(c[P>>2]|0)<<1)>>1]=c[S>>2];j=c[K>>2]|0;do if(((c[K>>2]|0)+1|0)>=4){p=c[K>>2]|0;if((j+1|0)==4){c[X>>2]=d[(c[Z>>2]|0)+(p+4)>>0];c[Y>>2]=280;break}else{c[X>>2]=108+(((p&65535)<<16>>16)*43|0);c[Y>>2]=(c[X>>2]|0)+43;break}}else{p=c[K>>2]|0;if((j|0)>-4){c[X>>2]=d[(c[Z>>2]|0)+(p+4)>>0];c[Y>>2]=d[(c[Z>>2]|0)+((c[K>>2]|0)+1+4)>>0];break}if((p|0)==-4){c[X>>2]=280;c[Y>>2]=d[(c[Z>>2]|0)+((c[K>>2]|0)+1+4)>>0];break}else{c[X>>2]=108+(_(-43,(c[K>>2]&65535)<<16>>16)|0);c[Y>>2]=(c[X>>2]|0)-43;break}}while(0);c[C>>2]=c[z+(c[L>>2]<<2)>>2];c[D>>2]=(c[F>>2]|0)-(c[Q>>2]|0);f=_((c[D>>2]&65535)<<16>>16,(c[D>>2]&65535)<<16>>16)|0;f=(c[C>>2]|0)+(_(f,b[(c[s>>2]|0)+(c[E>>2]<<1)>>1]|0)|0)|0;f=f+(_((c[x>>2]&65535)<<16>>16,(c[X>>2]&65535)<<16>>16)|0)|0;c[z+(c[L>>2]<<2)>>2]=f;c[D>>2]=(c[F>>2]|0)-(c[S>>2]|0);f=_((c[D>>2]&65535)<<16>>16,(c[D>>2]&65535)<<16>>16)|0;f=(c[C>>2]|0)+(_(f,b[(c[s>>2]|0)+(c[E>>2]<<1)>>1]|0)|0)|0;f=f+(_((c[x>>2]&65535)<<16>>16,(c[Y>>2]&65535)<<16>>16)|0)|0;c[z+((c[L>>2]|0)+(c[P>>2]|0)<<2)>>2]=f;c[L>>2]=(c[L>>2]|0)+1}b:do if((c[P>>2]|0)<=2){c[L>>2]=0;while(1){if((c[L>>2]|0)>=(c[P>>2]|0))break;a[G+((c[L>>2]|0)+(c[P>>2]|0)<<4)+(c[E>>2]|0)>>0]=(a[G+(c[L>>2]<<4)+(c[E>>2]|0)>>0]|0)+1;c[L>>2]=(c[L>>2]|0)+1}c[P>>2]=c[P>>2]<<1;c[L>>2]=c[P>>2];while(1){if((c[L>>2]|0)>=4)break b;a[G+(c[L>>2]<<4)+(c[E>>2]|0)>>0]=a[G+((c[L>>2]|0)-(c[P>>2]|0)<<4)+(c[E>>2]|0)>>0]|0;c[L>>2]=(c[L>>2]|0)+1}}else{if((c[E>>2]|0)<=0)break a;c[L>>2]=0;while(1){if((c[L>>2]|0)>=4)break;p=c[z+(c[L>>2]<<2)>>2]|0;j=c[L>>2]|0;if((c[z+(c[L>>2]<<2)>>2]|0)>(c[z+((c[L>>2]|0)+4<<2)>>2]|0)){c[A+(j<<2)>>2]=p;c[B+(c[L>>2]<<2)>>2]=c[z+((c[L>>2]|0)+4<<2)>>2];c[z+(c[L>>2]<<2)>>2]=c[B+(c[L>>2]<<2)>>2];c[z+((c[L>>2]|0)+4<<2)>>2]=c[A+(c[L>>2]<<2)>>2];c[Q>>2]=b[W+(c[L>>2]<<1)>>1];b[W+(c[L>>2]<<1)>>1]=b[W+((c[L>>2]|0)+4<<1)>>1]|0;b[W+((c[L>>2]|0)+4<<1)>>1]=c[Q>>2];c[J+(c[L>>2]<<2)>>2]=(c[L>>2]|0)+4}else{c[B+(j<<2)>>2]=p;c[A+(c[L>>2]<<2)>>2]=c[z+((c[L>>2]|0)+4<<2)>>2];c[J+(c[L>>2]<<2)>>2]=c[L>>2]}c[L>>2]=(c[L>>2]|0)+1}while(1){c[O>>2]=2147483647;c[M>>2]=0;c[I>>2]=0;c[H>>2]=0;c[L>>2]=0;while(1){p=c[O>>2]|0;if((c[L>>2]|0)>=4)break;if((p|0)>(c[A+(c[L>>2]<<2)>>2]|0)){c[O>>2]=c[A+(c[L>>2]<<2)>>2];c[I>>2]=c[L>>2]}if((c[M>>2]|0)<(c[B+(c[L>>2]<<2)>>2]|0)){c[M>>2]=c[B+(c[L>>2]<<2)>>2];c[H>>2]=c[L>>2]}c[L>>2]=(c[L>>2]|0)+1}if((p|0)>=(c[M>>2]|0))break;c[J+(c[H>>2]<<2)>>2]=c[J+(c[I>>2]<<2)>>2]^4;c[z+(c[H>>2]<<2)>>2]=c[z+((c[I>>2]|0)+4<<2)>>2];b[W+(c[H>>2]<<1)>>1]=b[W+((c[I>>2]|0)+4<<1)>>1]|0;c[B+(c[H>>2]<<2)>>2]=0;c[A+(c[I>>2]<<2)>>2]=2147483647;p=G+(c[H>>2]<<4)|0;j=G+(c[I>>2]<<4)|0;k=p+16|0;do{a[p>>0]=a[j>>0]|0;p=p+1|0;j=j+1|0}while((p|0)<(k|0))}c[L>>2]=0;while(1){if((c[L>>2]|0)>=4)break b;f=G+(c[L>>2]<<4)+(c[E>>2]|0)|0;a[f>>0]=(a[f>>0]|0)+(c[J+(c[L>>2]<<2)>>2]>>2);c[L>>2]=(c[L>>2]|0)+1}}while(0);c[E>>2]=(c[E>>2]|0)+-1}c[K>>2]=0;c[N>>2]=2147483647;c[L>>2]=0;while(1){if((c[L>>2]|0)>=8)break;if((c[N>>2]|0)>(c[z+(c[L>>2]<<2)>>2]|0)){c[N>>2]=c[z+(c[L>>2]<<2)>>2];c[K>>2]=c[L>>2]}c[L>>2]=(c[L>>2]|0)+1}c[L>>2]=0;while(1){if((c[L>>2]|0)>=(b[y>>1]|0))break;a[(c[q>>2]|0)+(c[L>>2]|0)>>0]=a[G+((c[K>>2]&3)<<4)+(c[L>>2]|0)>>0]|0;c[L>>2]=(c[L>>2]|0)+1}$=c[q>>2]|0;a[$>>0]=(a[$>>0]|0)+(c[K>>2]>>2);i=aa;return c[N>>2]|0}function pf(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+128|0;h=t+28|0;j=t+24|0;k=t+20|0;l=t+16|0;o=t+12|0;n=t+8|0;m=t+4|0;p=t;q=t+96|0;s=t+64|0;r=t+32|0;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;d=_(-5,(c[(c[h>>2]|0)+4556>>2]&65535)<<16>>16)|0;c[m>>2]=3146+(d+(((c[(c[h>>2]|0)+4556>>2]&65535)<<16>>16)*59246>>16));if((c[(c[h>>2]|0)+4604>>2]|0)==2)c[m>>2]=(c[m>>2]|0)+(c[m>>2]>>1);fg(s,c[k>>2]|0,c[(c[h>>2]|0)+4664>>2]|0);if((c[(c[h>>2]|0)+4656>>2]|0)==1)e=(a[(c[h>>2]|0)+4768+31>>0]|0)<4;else e=0;c[n>>2]=e&1;a:do if(c[n>>2]|0){de(q,c[l>>2]|0,c[k>>2]|0,a[(c[h>>2]|0)+4768+31>>0]|0,c[(c[h>>2]|0)+4664>>2]|0);fg(r,q,c[(c[h>>2]|0)+4664>>2]|0);c[p>>2]=(_(a[(c[h>>2]|0)+4768+31>>0]<<16>>16,a[(c[h>>2]|0)+4768+31>>0]<<16>>16)|0)<<11;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[(c[h>>2]|0)+4664>>2]|0))break a;d=_(b[r+(c[o>>2]<<1)>>1]>>16,(c[p>>2]&65535)<<16>>16)|0;d=(b[s+(c[o>>2]<<1)>>1]>>1)+(d+((_(b[r+(c[o>>2]<<1)>>1]&65535,(c[p>>2]&65535)<<16>>16)|0)>>16))&65535;b[s+(c[o>>2]<<1)>>1]=d;c[o>>2]=(c[o>>2]|0)+1}}while(0);gf((c[h>>2]|0)+4768+8|0,c[k>>2]|0,c[(c[h>>2]|0)+4724>>2]|0,s,c[m>>2]|0,c[(c[h>>2]|0)+4692>>2]|0,a[(c[h>>2]|0)+4768+29>>0]|0)|0;ag((c[j>>2]|0)+32|0,c[k>>2]|0,c[(c[h>>2]|0)+4664>>2]|0);if(c[n>>2]|0){de(q,c[l>>2]|0,c[k>>2]|0,a[(c[h>>2]|0)+4768+31>>0]|0,c[(c[h>>2]|0)+4664>>2]|0);ag(c[j>>2]|0,q,c[(c[h>>2]|0)+4664>>2]|0);i=t;return}else{pj(c[j>>2]|0,(c[j>>2]|0)+32|0,c[(c[h>>2]|0)+4664>>2]<<1|0)|0;i=t;return}}function qf(d,e,f,g,h,j,k,l,m,n,o){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;V=i;i=i+144|0;J=V+128|0;p=V+124|0;M=V+120|0;w=V+116|0;x=V+112|0;y=V+108|0;z=V+104|0;r=V+100|0;A=V+96|0;F=V+92|0;K=V+88|0;O=V+84|0;v=V+80|0;B=V+76|0;G=V+72|0;H=V+68|0;S=V+64|0;q=V+60|0;E=V+56|0;R=V+48|0;P=V+44|0;Q=V+40|0;t=V+36|0;s=V+32|0;C=V+28|0;u=V+24|0;D=V+20|0;U=V+16|0;T=V+12|0;I=V+8|0;N=V+4|0;L=V;c[J>>2]=d;c[p>>2]=e;c[M>>2]=f;c[w>>2]=g;c[x>>2]=h;c[y>>2]=j;c[z>>2]=k;c[r>>2]=l;c[A>>2]=m;c[F>>2]=n;c[K>>2]=o;c[N>>2]=(c[p>>2]|0)+-4;f=(c[K>>2]|0)+2|0;c[L>>2]=ia()|0;j=i;i=i+((1*(f<<1)|0)+15&-16)|0;c[O>>2]=0;while(1){if((c[O>>2]|0)>=((c[K>>2]|0)+2|0))break;c[S>>2]=(b[(c[p>>2]|0)+((c[O>>2]|0)-2<<1)>>1]|0)+(b[(c[M>>2]|0)+((c[O>>2]|0)-2<<1)>>1]|0);c[q>>2]=(b[(c[p>>2]|0)+((c[O>>2]|0)-2<<1)>>1]|0)-(b[(c[M>>2]|0)+((c[O>>2]|0)-2<<1)>>1]|0);b[(c[N>>2]|0)+(c[O>>2]<<1)>>1]=(c[S>>2]>>1)+(c[S>>2]&1);if(((c[q>>2]>>1)+(c[q>>2]&1)|0)<=32767)if(((c[q>>2]>>1)+(c[q>>2]&1)|0)<-32768)o=-32768;else o=(c[q>>2]>>1)+(c[q>>2]&1)|0;else o=32767;b[j+(c[O>>2]<<1)>>1]=o;c[O>>2]=(c[O>>2]|0)+1}g=c[N>>2]|0;h=(c[J>>2]|0)+4|0;b[g>>1]=b[h>>1]|0;b[g+2>>1]=b[h+2>>1]|0;g=(c[J>>2]|0)+8|0;b[j>>1]=b[g>>1]|0;b[j+2>>1]=b[g+2>>1]|0;g=(c[J>>2]|0)+4|0;h=(c[N>>2]|0)+(c[K>>2]<<1)|0;b[g>>1]=b[h>>1]|0;b[g+2>>1]=b[h+2>>1]|0;g=(c[J>>2]|0)+8|0;h=j+(c[K>>2]<<1)|0;b[g>>1]=b[h>>1]|0;b[g+2>>1]=b[h+2>>1]|0;g=i;i=i+((1*(c[K>>2]<<1)|0)+15&-16)|0;h=i;i=i+((1*(c[K>>2]<<1)|0)+15&-16)|0;c[O>>2]=0;while(1){if((c[O>>2]|0)>=(c[K>>2]|0))break;c[S>>2]=((b[(c[N>>2]|0)+(c[O>>2]<<1)>>1]|0)+(b[(c[N>>2]|0)+((c[O>>2]|0)+2<<1)>>1]|0)+(b[(c[N>>2]|0)+((c[O>>2]|0)+1<<1)>>1]<<1)>>1)+1>>1;b[g+(c[O>>2]<<1)>>1]=c[S>>2];b[h+(c[O>>2]<<1)>>1]=(b[(c[N>>2]|0)+((c[O>>2]|0)+1<<1)>>1]|0)-(c[S>>2]|0);c[O>>2]=(c[O>>2]|0)+1}o=i;i=i+((1*(c[K>>2]<<1)|0)+15&-16)|0;n=i;i=i+((1*(c[K>>2]<<1)|0)+15&-16)|0;c[O>>2]=0;while(1){if((c[O>>2]|0)>=(c[K>>2]|0))break;c[S>>2]=((b[j+(c[O>>2]<<1)>>1]|0)+(b[j+((c[O>>2]|0)+2<<1)>>1]|0)+(b[j+((c[O>>2]|0)+1<<1)>>1]<<1)>>1)+1>>1;b[o+(c[O>>2]<<1)>>1]=c[S>>2];b[n+(c[O>>2]<<1)>>1]=(b[j+((c[O>>2]|0)+1<<1)>>1]|0)-(c[S>>2]|0);c[O>>2]=(c[O>>2]|0)+1}c[v>>2]=(c[K>>2]|0)==((c[F>>2]|0)*10|0)&1;c[E>>2]=c[v>>2]|0?328:655;q=(_((c[r>>2]&65535)<<16>>16,(c[r>>2]&65535)<<16>>16)|0)>>16;q=_(q,(c[E>>2]&65535)<<16>>16)|0;r=(_((c[r>>2]&65535)<<16>>16,(c[r>>2]&65535)<<16>>16)|0)&65535;c[E>>2]=q+((_(r,(c[E>>2]&65535)<<16>>16)|0)>>16);c[R>>2]=Bg(t,g,o,(c[J>>2]|0)+12|0,c[K>>2]|0,c[E>>2]|0)|0;c[R+4>>2]=Bg(s,h,n,(c[J>>2]|0)+12+8|0,c[K>>2]|0,c[E>>2]|0)|0;c[C>>2]=(c[s>>2]|0)+(((c[t>>2]&65535)<<16>>16)*3|0);c[C>>2]=(c[C>>2]|0)<65536?c[C>>2]|0:65536;v=(c[z>>2]|0)-(c[v>>2]|0?1200:600)|0;c[z>>2]=v;c[z>>2]=(c[z>>2]|0)<1?1:v;c[D>>2]=2e3+(((c[F>>2]&65535)<<16>>16)*900|0);c[u>>2]=(c[C>>2]|0)*3;v=rf(c[z>>2]|0,851968+(c[u>>2]|0)|0,19)|0;c[c[y>>2]>>2]=v;if((c[c[y>>2]>>2]|0)<(c[D>>2]|0)){c[c[y>>2]>>2]=c[D>>2];c[(c[y>>2]|0)+4>>2]=(c[z>>2]|0)-(c[c[y>>2]>>2]|0);v=_(65536+(c[u>>2]|0)>>16,(c[D>>2]&65535)<<16>>16)|0;c[U>>2]=rf((c[(c[y>>2]|0)+4>>2]<<1)-(c[D>>2]|0)|0,v+((_(65536+(c[u>>2]|0)&65535,(c[D>>2]&65535)<<16>>16)|0)>>16)|0,16)|0;if((c[U>>2]|0)>16384)o=16384;else o=(c[U>>2]|0)<0?0:c[U>>2]|0;c[U>>2]=o}else{c[(c[y>>2]|0)+4>>2]=(c[z>>2]|0)-(c[c[y>>2]>>2]|0);c[U>>2]=16384}v=_((c[U>>2]|0)-(b[(c[J>>2]|0)+28>>1]|0)>>16,(c[E>>2]&65535)<<16>>16)|0;E=(b[(c[J>>2]|0)+28>>1]|0)+(v+((_((c[U>>2]|0)-(b[(c[J>>2]|0)+28>>1]|0)&65535,(c[E>>2]&65535)<<16>>16)|0)>>16))&65535;b[(c[J>>2]|0)+28>>1]=E;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[D>>2]|0)*13|0)?(E=_(c[C>>2]>>16,b[(c[J>>2]|0)+28>>1]|0)|0,(E+((_(c[C>>2]&65535,b[(c[J>>2]|0)+28>>1]|0)|0)>>16)|0)>=819):0)break;c[R>>2]=(_(b[(c[J>>2]|0)+28>>1]|0,(c[R>>2]&65535)<<16>>16)|0)>>14;c[R+4>>2]=(_(b[(c[J>>2]|0)+28>>1]|0,(c[R+4>>2]&65535)<<16>>16)|0)>>14;Ig(R,c[w>>2]|0);c[U>>2]=0;c[R>>2]=0;c[R+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[D>>2]|0)*11|0)?(E=_(c[C>>2]>>16,b[(c[J>>2]|0)+28>>1]|0)|0,(E+((_(c[C>>2]&65535,b[(c[J>>2]|0)+28>>1]|0)|0)>>16)|0)>=328):0)break;c[R>>2]=(_(b[(c[J>>2]|0)+28>>1]|0,(c[R>>2]&65535)<<16>>16)|0)>>14;c[R+4>>2]=(_(b[(c[J>>2]|0)+28>>1]|0,(c[R+4>>2]&65535)<<16>>16)|0)>>14;Ig(R,c[w>>2]|0);c[U>>2]=0;c[R>>2]=0;c[R+4>>2]=0;break a}while(0);if((b[(c[J>>2]|0)+28>>1]|0)>15565){Ig(R,c[w>>2]|0);c[U>>2]=16384;break}else{c[R>>2]=(_(b[(c[J>>2]|0)+28>>1]|0,(c[R>>2]&65535)<<16>>16)|0)>>14;c[R+4>>2]=(_(b[(c[J>>2]|0)+28>>1]|0,(c[R+4>>2]&65535)<<16>>16)|0)>>14;Ig(R,c[w>>2]|0);c[U>>2]=b[(c[J>>2]|0)+28>>1];break}}else{c[U>>2]=0;c[R>>2]=0;c[R+4>>2]=0;Ig(R,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[K>>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=tf(1,(c[z>>2]|0)-(c[(c[y>>2]|0)+4>>2]|0)|0)|0;c[c[y>>2]>>2]=E}c[P>>2]=0-(b[c[J>>2]>>1]|0);c[Q>>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-(((_(((c[R>>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-(((_(((c[R+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=_((c[U>>2]|0)-(b[(c[J>>2]|0)+30>>1]|0)>>16,(c[B>>2]&65535)<<16>>16)|0;c[I>>2]=E+((_((c[U>>2]|0)-(b[(c[J>>2]|0)+30>>1]|0)&65535,(c[B>>2]&65535)<<16>>16)|0)>>16)<<10;c[O>>2]=0;while(1){if((c[O>>2]|0)>=(c[F>>2]<<3|0))break;c[P>>2]=(c[P>>2]|0)+(c[G>>2]|0);c[Q>>2]=(c[Q>>2]|0)+(c[H>>2]|0);c[T>>2]=(c[T>>2]|0)+(c[I>>2]|0);c[S>>2]=(b[(c[N>>2]|0)+(c[O>>2]<<1)>>1]|0)+(b[(c[N>>2]|0)+((c[O>>2]|0)+2<<1)>>1]|0)+(b[(c[N>>2]|0)+((c[O>>2]|0)+1<<1)>>1]<<1)<<9;D=_(c[T>>2]>>16,b[j+((c[O>>2]|0)+1<<1)>>1]|0)|0;D=D+((_(c[T>>2]&65535,b[j+((c[O>>2]|0)+1<<1)>>1]|0)|0)>>16)|0;E=_(c[S>>2]>>16,(c[P>>2]&65535)<<16>>16)|0;c[S>>2]=D+(E+((_(c[S>>2]&65535,(c[P>>2]&65535)<<16>>16)|0)>>16));E=_(b[(c[N>>2]|0)+((c[O>>2]|0)+1<<1)>>1]<<11>>16,(c[Q>>2]&65535)<<16>>16)|0;c[S>>2]=(c[S>>2]|0)+(E+((_(b[(c[N>>2]|0)+((c[O>>2]|0)+1<<1)>>1]<<11&65535,(c[Q>>2]&65535)<<16>>16)|0)>>16));if(((c[S>>2]>>7)+1>>1|0)<=32767)if(((c[S>>2]>>7)+1>>1|0)<-32768)o=-32768;else o=(c[S>>2]>>7)+1>>1;else o=32767;b[(c[M>>2]|0)+((c[O>>2]|0)-1<<1)>>1]=o;c[O>>2]=(c[O>>2]|0)+1}c[P>>2]=0-(c[R>>2]|0);c[Q>>2]=0-(c[R+4>>2]|0);c[T>>2]=c[U>>2]<<10;c[O>>2]=c[F>>2]<<3;while(1){if((c[O>>2]|0)>=(c[K>>2]|0))break;c[S>>2]=(b[(c[N>>2]|0)+(c[O>>2]<<1)>>1]|0)+(b[(c[N>>2]|0)+((c[O>>2]|0)+2<<1)>>1]|0)+(b[(c[N>>2]|0)+((c[O>>2]|0)+1<<1)>>1]<<1)<<9;H=_(c[T>>2]>>16,b[j+((c[O>>2]|0)+1<<1)>>1]|0)|0;H=H+((_(c[T>>2]&65535,b[j+((c[O>>2]|0)+1<<1)>>1]|0)|0)>>16)|0;I=_(c[S>>2]>>16,(c[P>>2]&65535)<<16>>16)|0;c[S>>2]=H+(I+((_(c[S>>2]&65535,(c[P>>2]&65535)<<16>>16)|0)>>16));I=_(b[(c[N>>2]|0)+((c[O>>2]|0)+1<<1)>>1]<<11>>16,(c[Q>>2]&65535)<<16>>16)|0;c[S>>2]=(c[S>>2]|0)+(I+((_(b[(c[N>>2]|0)+((c[O>>2]|0)+1<<1)>>1]<<11&65535,(c[Q>>2]&65535)<<16>>16)|0)>>16));if(((c[S>>2]>>7)+1>>1|0)<=32767)if(((c[S>>2]>>7)+1>>1|0)<-32768)o=-32768;else o=(c[S>>2]>>7)+1>>1;else o=32767;b[(c[M>>2]|0)+((c[O>>2]|0)-1<<1)>>1]=o;c[O>>2]=(c[O>>2]|0)+1}b[c[J>>2]>>1]=c[R>>2];b[(c[J>>2]|0)+2>>1]=c[R+4>>2];b[(c[J>>2]|0)+30>>1]=c[U>>2];na(c[L>>2]|0);i=V;return}function rf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=i;i=i+48|0;f=h+40|0;q=h+36|0;p=h+32|0;j=h+28|0;l=h+24|0;k=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[j>>2]=d;b=c[q>>2]|0;c[l>>2]=(sf((c[q>>2]|0)>0?b:0-b|0)|0)-1;c[n>>2]=c[q>>2]<>2];b=c[p>>2]|0;c[k>>2]=(sf((c[p>>2]|0)>0?b:0-b|0)|0)-1;c[o>>2]=c[p>>2]<>2];c[m>>2]=536870911/(c[o>>2]>>16|0)|0;b=_(c[n>>2]>>16,(c[m>>2]&65535)<<16>>16)|0;c[e>>2]=b+((_(c[n>>2]&65535,(c[m>>2]&65535)<<16>>16)|0)>>16);b=c[n>>2]|0;a=c[o>>2]|0;d=c[e>>2]|0;d=yj(a|0,((a|0)<0)<<31>>31|0,d|0,((d|0)<0)<<31>>31|0)|0;d=nj(d|0,C|0,32)|0;c[n>>2]=b-(d<<3);d=_(c[n>>2]>>16,(c[m>>2]&65535)<<16>>16)|0;c[e>>2]=(c[e>>2]|0)+(d+((_(c[n>>2]&65535,(c[m>>2]&65535)<<16>>16)|0)>>16));c[g>>2]=29+(c[l>>2]|0)-(c[k>>2]|0)-(c[j>>2]|0);d=c[g>>2]|0;if((c[g>>2]|0)>=0)if((d|0)<32){c[f>>2]=c[e>>2]>>c[g>>2];q=c[f>>2]|0;i=h;return q|0}else{c[f>>2]=0;q=c[f>>2]|0;i=h;return q|0}a=c[e>>2]|0;b=0-(c[g>>2]|0)|0;do if((-2147483648>>0-d|0)>(2147483647>>0-(c[g>>2]|0)|0)){if((a|0)>(-2147483648>>b|0)){d=-2147483648>>0-(c[g>>2]|0);break}if((c[e>>2]|0)<(2147483647>>0-(c[g>>2]|0)|0)){d=2147483647>>0-(c[g>>2]|0);break}else{d=c[e>>2]|0;break}}else{if((a|0)>(2147483647>>b|0)){d=2147483647>>0-(c[g>>2]|0);break}if((c[e>>2]|0)<(-2147483648>>0-(c[g>>2]|0)|0)){d=-2147483648>>0-(c[g>>2]|0);break}else{d=c[e>>2]|0;break}}while(0);c[f>>2]=d<<0-(c[g>>2]|0);q=c[f>>2]|0;i=h;return q|0}function sf(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){a=32;i=d;return a|0}a=32-(32-(aa(c[b>>2]|0)|0))|0;i=d;return a|0}function tf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;i=f;return ((c[e>>2]|0)>(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function uf(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 j=0,k=0,l=0,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=i;i=i+64|0;m=w+52|0;q=w+48|0;r=w+44|0;n=w+40|0;j=w+36|0;s=w+32|0;u=w+28|0;x=w+24|0;k=w+20|0;l=w+16|0;v=w+12|0;t=w+8|0;o=w+4|0;p=w;c[m>>2]=a;c[q>>2]=d;c[r>>2]=e;c[n>>2]=f;c[j>>2]=g;c[s>>2]=h;e=c[q>>2]|0;d=(c[m>>2]|0)+4|0;b[e>>1]=b[d>>1]|0;b[e+2>>1]=b[d+2>>1]|0;e=c[r>>2]|0;d=(c[m>>2]|0)+8|0;b[e>>1]=b[d>>1]|0;b[e+2>>1]=b[d+2>>1]|0;e=(c[m>>2]|0)+4|0;d=(c[q>>2]|0)+(c[s>>2]<<1)|0;b[e>>1]=b[d>>1]|0;b[e+2>>1]=b[d+2>>1]|0;e=(c[m>>2]|0)+8|0;d=(c[r>>2]|0)+(c[s>>2]<<1)|0;b[e>>1]=b[d>>1]|0;b[e+2>>1]=b[d+2>>1]|0;c[o>>2]=b[c[m>>2]>>1];c[p>>2]=b[(c[m>>2]|0)+2>>1];c[x>>2]=65536/(c[j>>2]<<3|0)|0;c[k>>2]=((_(((c[c[n>>2]>>2]|0)-(b[c[m>>2]>>1]|0)&65535)<<16>>16,(c[x>>2]&65535)<<16>>16)|0)>>15)+1>>1;c[l>>2]=((_(((c[(c[n>>2]|0)+4>>2]|0)-(b[(c[m>>2]|0)+2>>1]|0)&65535)<<16>>16,(c[x>>2]&65535)<<16>>16)|0)>>15)+1>>1;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[j>>2]<<3|0))break;c[o>>2]=(c[o>>2]|0)+(c[k>>2]|0);c[p>>2]=(c[p>>2]|0)+(c[l>>2]|0);c[v>>2]=(b[(c[q>>2]|0)+(c[u>>2]<<1)>>1]|0)+(b[(c[q>>2]|0)+((c[u>>2]|0)+2<<1)>>1]|0)+(b[(c[q>>2]|0)+((c[u>>2]|0)+1<<1)>>1]<<1)<<9;x=_(c[v>>2]>>16,(c[o>>2]&65535)<<16>>16)|0;c[v>>2]=(b[(c[r>>2]|0)+((c[u>>2]|0)+1<<1)>>1]<<8)+(x+((_(c[v>>2]&65535,(c[o>>2]&65535)<<16>>16)|0)>>16));x=_(b[(c[q>>2]|0)+((c[u>>2]|0)+1<<1)>>1]<<11>>16,(c[p>>2]&65535)<<16>>16)|0;c[v>>2]=(c[v>>2]|0)+(x+((_(b[(c[q>>2]|0)+((c[u>>2]|0)+1<<1)>>1]<<11&65535,(c[p>>2]&65535)<<16>>16)|0)>>16));if(((c[v>>2]>>7)+1>>1|0)<=32767)if(((c[v>>2]>>7)+1>>1|0)<-32768)h=-32768;else h=(c[v>>2]>>7)+1>>1;else h=32767;b[(c[r>>2]|0)+((c[u>>2]|0)+1<<1)>>1]=h;c[u>>2]=(c[u>>2]|0)+1}c[o>>2]=c[c[n>>2]>>2];c[p>>2]=c[(c[n>>2]|0)+4>>2];c[u>>2]=c[j>>2]<<3;while(1){if((c[u>>2]|0)>=(c[s>>2]|0))break;c[v>>2]=(b[(c[q>>2]|0)+(c[u>>2]<<1)>>1]|0)+(b[(c[q>>2]|0)+((c[u>>2]|0)+2<<1)>>1]|0)+(b[(c[q>>2]|0)+((c[u>>2]|0)+1<<1)>>1]<<1)<<9;x=_(c[v>>2]>>16,(c[o>>2]&65535)<<16>>16)|0;c[v>>2]=(b[(c[r>>2]|0)+((c[u>>2]|0)+1<<1)>>1]<<8)+(x+((_(c[v>>2]&65535,(c[o>>2]&65535)<<16>>16)|0)>>16));x=_(b[(c[q>>2]|0)+((c[u>>2]|0)+1<<1)>>1]<<11>>16,(c[p>>2]&65535)<<16>>16)|0;c[v>>2]=(c[v>>2]|0)+(x+((_(b[(c[q>>2]|0)+((c[u>>2]|0)+1<<1)>>1]<<11&65535,(c[p>>2]&65535)<<16>>16)|0)>>16));if(((c[v>>2]>>7)+1>>1|0)<=32767)if(((c[v>>2]>>7)+1>>1|0)<-32768)h=-32768;else h=(c[v>>2]>>7)+1>>1;else h=32767;b[(c[r>>2]|0)+((c[u>>2]|0)+1<<1)>>1]=h;c[u>>2]=(c[u>>2]|0)+1}b[c[m>>2]>>1]=c[c[n>>2]>>2];b[(c[m>>2]|0)+2>>1]=c[(c[n>>2]|0)+4>>2];c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[s>>2]|0))break;c[v>>2]=(b[(c[q>>2]|0)+((c[u>>2]|0)+1<<1)>>1]|0)+(b[(c[r>>2]|0)+((c[u>>2]|0)+1<<1)>>1]|0);c[t>>2]=(b[(c[q>>2]|0)+((c[u>>2]|0)+1<<1)>>1]|0)-(b[(c[r>>2]|0)+((c[u>>2]|0)+1<<1)>>1]|0);if((c[v>>2]|0)>32767)h=32767;else h=(c[v>>2]|0)<-32768?-32768:c[v>>2]|0;b[(c[q>>2]|0)+((c[u>>2]|0)+1<<1)>>1]=h;if((c[t>>2]|0)>32767)h=32767;else h=(c[t>>2]|0)<-32768?-32768:c[t>>2]|0;b[(c[r>>2]|0)+((c[u>>2]|0)+1<<1)>>1]=h;c[u>>2]=(c[u>>2]|0)+1}i=w;return}function vf(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+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;i=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;i=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;i=f;return e|0}while(0);c[b>>2]=-106;e=c[b>>2]|0;i=f;return e|0}while(0);c[b>>2]=-111;e=c[b>>2]|0;i=f;return e|0}while(0);c[b>>2]=-111;e=c[b>>2]|0;i=f;return e|0}while(0);c[b>>2]=-107;e=c[b>>2]|0;i=f;return e|0}c[b>>2]=-109;e=c[b>>2]|0;i=f;return e|0}c[b>>2]=-108;e=c[b>>2]|0;i=f;return e|0}c[b>>2]=-105;e=c[b>>2]|0;i=f;return e|0}}while(0);c[b>>2]=-102;e=c[b>>2]|0;i=f;return e|0}function wf(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+20|0;f=m+16|0;h=m+12|0;k=m+8|0;g=m+4|0;j=m;c[e>>2]=a;c[f>>2]=d;c[k>>2]=0;if((c[f>>2]|0)>8e4)d=8e4;else d=(c[f>>2]|0)<5e3?5e3:c[f>>2]|0;c[f>>2]=d;if((c[f>>2]|0)==(c[(c[e>>2]|0)+4632>>2]|0)){l=c[k>>2]|0;i=m;return l|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[h>>2]=1;while(1){if((c[h>>2]|0)>=8){l=16;break}if((c[f>>2]|0)<=(c[(c[j>>2]|0)+(c[h>>2]<<2)>>2]|0))break;c[h>>2]=(c[h>>2]|0)+1}if((l|0)==16){l=c[k>>2]|0;i=m;return l|0}c[g>>2]=((c[f>>2]|0)-(c[(c[j>>2]|0)+((c[h>>2]|0)-1<<2)>>2]|0)<<6|0)/((c[(c[j>>2]|0)+(c[h>>2]<<2)>>2]|0)-(c[(c[j>>2]|0)+((c[h>>2]|0)-1<<2)>>2]|0)|0)|0;l=(b[24510+((c[h>>2]|0)-1<<1)>>1]<<6)+(_(c[g>>2]|0,(b[24510+(c[h>>2]<<1)>>1]|0)-(b[24510+((c[h>>2]|0)-1<<1)>>1]|0)|0)|0)|0;c[(c[e>>2]|0)+4748>>2]=l;l=c[k>>2]|0;i=m;return l|0}function xf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=0;oj(c[f>>2]|0,0,12240)|0;c[(c[f>>2]|0)+5124>>2]=c[g>>2];a=(Sf(3932160)|0)-2048<<8;c[(c[f>>2]|0)+8>>2]=a;c[(c[f>>2]|0)+12>>2]=c[(c[f>>2]|0)+8>>2];c[(c[f>>2]|0)+4696>>2]=1;a=Ue((c[f>>2]|0)+32|0)|0;c[d>>2]=(c[d>>2]|0)+a;i=e;return c[d>>2]|0}function yf(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=i;i=i+48|0;h=p+32|0;j=p+28|0;k=p+24|0;l=p+20|0;r=p+16|0;q=p+12|0;m=p+8|0;n=p+4|0;o=p;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[r>>2]=e;c[q>>2]=f;c[m>>2]=g;c[o>>2]=0;c[(c[j>>2]|0)+6108>>2]=c[(c[k>>2]|0)+44>>2];c[(c[j>>2]|0)+4708>>2]=c[(c[k>>2]|0)+48>>2];c[(c[j>>2]|0)+4580>>2]=c[(c[k>>2]|0)+8>>2];c[(c[j>>2]|0)+4588>>2]=c[(c[k>>2]|0)+12>>2];c[(c[j>>2]|0)+4592>>2]=c[(c[k>>2]|0)+16>>2];c[(c[j>>2]|0)+4596>>2]=c[(c[k>>2]|0)+20>>2];c[(c[j>>2]|0)+6120>>2]=c[(c[k>>2]|0)+40>>2];c[(c[j>>2]|0)+5784>>2]=c[c[k>>2]>>2];c[(c[j>>2]|0)+5788>>2]=c[(c[k>>2]|0)+4>>2];c[(c[j>>2]|0)+4560>>2]=c[r>>2];c[(c[j>>2]|0)+5792>>2]=c[q>>2];if(c[(c[j>>2]|0)+4700>>2]|0?(c[(c[j>>2]|0)+4712>>2]|0)==0:0){if((c[(c[j>>2]|0)+4580>>2]|0)!=(c[(c[j>>2]|0)+4584>>2]|0)?(c[(c[j>>2]|0)+4600>>2]|0)>0:0){r=zf(c[j>>2]|0,c[(c[j>>2]|0)+4600>>2]|0)|0;c[o>>2]=(c[o>>2]|0)+r}c[h>>2]=c[o>>2];r=c[h>>2]|0;i=p;return r|0}c[n>>2]=cf(c[j>>2]|0,c[k>>2]|0)|0;if(c[m>>2]|0)c[n>>2]=c[m>>2];r=zf(c[j>>2]|0,c[n>>2]|0)|0;c[o>>2]=(c[o>>2]|0)+r;r=Cf(c[j>>2]|0,c[n>>2]|0,c[(c[k>>2]|0)+24>>2]|0)|0;c[o>>2]=(c[o>>2]|0)+r;r=Df(c[j>>2]|0,c[(c[k>>2]|0)+36>>2]|0)|0;c[o>>2]=(c[o>>2]|0)+r;c[(c[j>>2]|0)+4640>>2]=c[(c[k>>2]|0)+32>>2];r=Ff(c[j>>2]|0,c[l>>2]|0)|0;c[o>>2]=(c[o>>2]|0)+r;c[(c[j>>2]|0)+4700>>2]=1;c[h>>2]=c[o>>2];r=c[h>>2]|0;i=p;return r|0}function zf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+336|0;d=n+328|0;e=n+324|0;l=n+320|0;j=n+316|0;g=n+312|0;k=n+308|0;h=n+304|0;f=n+300|0;m=n;c[d>>2]=a;c[e>>2]=b;c[l>>2]=0;if((c[(c[d>>2]|0)+4600>>2]|0)==(c[e>>2]|0)?(c[(c[d>>2]|0)+4584>>2]|0)==(c[(c[d>>2]|0)+4580>>2]|0):0){k=c[d>>2]|0;k=k+4580|0;k=c[k>>2]|0;m=c[d>>2]|0;m=m+4584|0;c[m>>2]=k;m=c[l>>2]|0;i=n;return m|0}b=c[d>>2]|0;if(!(c[(c[d>>2]|0)+4600>>2]|0)){k=ig(b+5808|0,c[(c[d>>2]|0)+4580>>2]|0,(c[e>>2]|0)*1e3|0,1)|0;c[l>>2]=(c[l>>2]|0)+k;k=c[d>>2]|0;k=k+4580|0;k=c[k>>2]|0;m=c[d>>2]|0;m=m+4584|0;c[m>>2]=k;m=c[l>>2]|0;i=n;return m|0}else{c[h>>2]=((c[b+4604>>2]|0)*5<<1)+5;c[k>>2]=_(c[h>>2]|0,c[(c[d>>2]|0)+4600>>2]|0)|0;c[j>>2]=_(c[h>>2]|0,c[e>>2]|0)|0;b=(c[k>>2]|0)>(c[j>>2]|0)?c[k>>2]|0:c[j>>2]|0;c[f>>2]=ia()|0;a=i;i=i+((1*(b<<1)|0)+15&-16)|0;Af(a,(c[d>>2]|0)+9356|0,c[k>>2]|0);b=ig(m,((c[(c[d>>2]|0)+4600>>2]&65535)<<16>>16)*1e3|0,c[(c[d>>2]|0)+4580>>2]|0,0)|0;c[l>>2]=(c[l>>2]|0)+b;c[g>>2]=_(c[h>>2]|0,(c[(c[d>>2]|0)+4580>>2]|0)/1e3|0)|0;h=i;i=i+((1*(c[g>>2]<<1)|0)+15&-16)|0;k=jg(m,h,a,c[k>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+k;k=ig((c[d>>2]|0)+5808|0,c[(c[d>>2]|0)+4580>>2]|0,((c[e>>2]&65535)<<16>>16)*1e3|0,1)|0;c[l>>2]=(c[l>>2]|0)+k;k=jg((c[d>>2]|0)+5808|0,a,h,c[g>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+k;Bf((c[d>>2]|0)+9356|0,a,c[j>>2]|0);na(c[f>>2]|0);k=c[d>>2]|0;k=k+4580|0;k=c[k>>2]|0;m=c[d>>2]|0;m=m+4584|0;c[m>>2]=k;m=c[l>>2]|0;i=n;return m|0}return 0}function Af(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0;k=i;i=i+16|0;f=k+12|0;h=k+8|0;l=k+4|0;j=k;c[f>>2]=a;c[h>>2]=d;c[l>>2]=e;c[j>>2]=(c[l>>2]|0)-1;while(1){if((c[j>>2]|0)<0)break;if((ij(+g[(c[h>>2]|0)+(c[j>>2]<<2)>>2])|0)<=32767)if((ij(+g[(c[h>>2]|0)+(c[j>>2]<<2)>>2])|0)<-32768)d=-32768;else d=ij(+g[(c[h>>2]|0)+(c[j>>2]<<2)>>2])|0;else d=32767;b[(c[f>>2]|0)+(c[j>>2]<<1)>>1]=d;c[j>>2]=(c[j>>2]|0)+-1}i=k;return}function Bf(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0;k=i;i=i+16|0;f=k+12|0;h=k+8|0;l=k+4|0;j=k;c[f>>2]=a;c[h>>2]=d;c[l>>2]=e;c[j>>2]=(c[l>>2]|0)-1;while(1){if((c[j>>2]|0)<0)break;g[(c[f>>2]|0)+(c[j>>2]<<2)>>2]=+(b[(c[h>>2]|0)+(c[j>>2]<<1)>>1]|0);c[j>>2]=(c[j>>2]|0)+-1}i=k;return}function Cf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;h=k+12|0;g=k+8|0;f=k+4|0;j=k;c[h>>2]=b;c[g>>2]=d;c[f>>2]=e;c[j>>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[j>>2]=-103;do 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;e=_((c[f>>2]&65535)<<16>>16,(c[g>>2]&65535)<<16>>16)|0;c[(c[h>>2]|0)+4608>>2]=e;c[(c[h>>2]|0)+4572>>2]=((c[g>>2]&65535)<<16>>16)*14;e=(c[h>>2]|0)+4720|0;if((c[(c[h>>2]|0)+4600>>2]|0)==8){c[e>>2]=29174;break}else{c[e>>2]=29162;break}}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;e=(c[h>>2]|0)+4720|0;if((c[(c[h>>2]|0)+4600>>2]|0)==8){c[e>>2]=29151;break}else{c[e>>2]=29117;break}}while(0);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)){j=c[j>>2]|0;i=k;return j|0}e=(c[h>>2]|0)+7200|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;oj((c[h>>2]|0)+7216|0,0,2140)|0;oj((c[h>>2]|0)+144|0,0,4380)|0;e=(c[h>>2]|0)+4524|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;e=(c[h>>2]|0)+16|0;c[e>>2]=0;c[e+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];e=(c[(c[h>>2]|0)+4604>>2]|0)==4;d=(c[h>>2]|0)+4720|0;do if((c[(c[h>>2]|0)+4600>>2]|0)==8)if(e){c[d>>2]=29151;break}else{c[d>>2]=29174;break}else if(e){c[d>>2]=29117;break}else{c[d>>2]=29162;break}while(0);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;c[(c[h>>2]|0)+4724>>2]=17704}else{c[(c[h>>2]|0)+4664>>2]=10;c[(c[h>>2]|0)+4724>>2]=17668}c[(c[h>>2]|0)+4612>>2]=(c[g>>2]|0)*5;e=_((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]=e;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;e=(c[g>>2]&65535)<<16>>16;if((c[(c[h>>2]|0)+4604>>2]|0)==4)c[(c[h>>2]|0)+4572>>2]=e*24;else c[(c[h>>2]|0)+4572>>2]=e*14;e=c[h>>2]|0;if((c[(c[h>>2]|0)+4600>>2]|0)==16){c[e+4684>>2]=10;c[(c[h>>2]|0)+4716>>2]=29049;j=c[j>>2]|0;i=k;return j|0}d=(c[h>>2]|0)+4684|0;if((c[e+4600>>2]|0)==12){c[d>>2]=13;c[(c[h>>2]|0)+4716>>2]=29043;j=c[j>>2]|0;i=k;return j|0}else{c[d>>2]=15;c[(c[h>>2]|0)+4716>>2]=29034;j=c[j>>2]|0;i=k;return j|0}return 0}function Df(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+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;c[(c[d>>2]|0)+4704>>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;c[(c[d>>2]|0)+4704>>2]=(c[(c[d>>2]|0)+4600>>2]|0)*983;break}b=(c[d>>2]|0)+4668|0;if((c[e>>2]|0)<8){c[b>>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;c[(c[d>>2]|0)+4704>>2]=(c[(c[d>>2]|0)+4600>>2]|0)*983;break}else{c[b>>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;c[(c[d>>2]|0)+4704>>2]=(c[(c[d>>2]|0)+4600>>2]|0)*983;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;c[(c[d>>2]|0)+4704>>2]=0}while(0);a=Ef(c[(c[d>>2]|0)+4672>>2]|0,c[(c[d>>2]|0)+4664>>2]|0)|0;c[(c[d>>2]|0)+4672>>2]=a;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];i=g;return c[f>>2]|0}function Ef(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;i=f;return ((c[e>>2]|0)<(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function Ff(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;f=j+16|0;d=j+12|0;g=j+8|0;h=j+4|0;e=j;c[f>>2]=a;c[d>>2]=b;c[h>>2]=0;c[g>>2]=c[(c[f>>2]|0)+6124>>2];c[(c[f>>2]|0)+6124>>2]=0;if(!(c[(c[f>>2]|0)+6120>>2]|0)){h=c[h>>2]|0;i=j;return h|0}if((c[(c[f>>2]|0)+4640>>2]|0)<=0){h=c[h>>2]|0;i=j;return h|0}do if((c[(c[f>>2]|0)+4600>>2]|0)!=8)if((c[(c[f>>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[f>>2]|0)+4640>>2]|0)<25)b=c[(c[f>>2]|0)+4640>>2]|0;else b=25;b=((_(c[e>>2]|0,125-b|0)|0)>>16)*655|0;if((c[(c[f>>2]|0)+4640>>2]|0)<25)a=c[(c[f>>2]|0)+4640>>2]|0;else a=25;c[e>>2]=b+(((_(c[e>>2]|0,125-a|0)|0)&65535)*655>>16);if((c[d>>2]|0)<=(c[e>>2]|0)){h=c[h>>2]|0;i=j;return h|0}b=c[f>>2]|0;if(!(c[g>>2]|0))c[b+6128>>2]=7;else{g=Gf(7-(((c[b+4640>>2]>>16)*26214|0)+((c[(c[f>>2]|0)+4640>>2]&65535)*26214>>16))|0,2)|0;c[(c[f>>2]|0)+6128>>2]=g}c[(c[f>>2]|0)+6124>>2]=1;h=c[h>>2]|0;i=j;return h|0}function Gf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;i=f;return ((c[e>>2]|0)>(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function Hf(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+160|0;f=D+156|0;g=D+152|0;h=D+148|0;p=D+144|0;q=D+140|0;r=D+136|0;m=D+132|0;u=D+128|0;o=D+124|0;x=D+120|0;w=D+116|0;y=D+112|0;A=D+108|0;z=D+104|0;B=D+100|0;v=D+96|0;s=D+92|0;n=D+88|0;j=D+52|0;l=D+16|0;k=D+8|0;t=D;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;c[k>>2]=j;c[k+4>>2]=l;c[m>>2]=c[h>>2]>>1;If(c[g>>2]|0,j,l,c[m>>2]|0);c[t>>2]=j;c[x>>2]=b[12288];c[A>>2]=Kf(c[t>>2]|0,c[x>>2]|0,c[m>>2]|0)|0;if((c[A>>2]|0)<0){b[c[f>>2]>>1]=0;c[t>>2]=l;c[A>>2]=Kf(c[t>>2]|0,c[x>>2]|0,c[m>>2]|0)|0;c[u>>2]=1}else c[u>>2]=0;c[q>>2]=1;c[p>>2]=0;c[v>>2]=0;a:while(1){c[w>>2]=b[24576+(c[q>>2]<<1)>>1];c[z>>2]=Kf(c[t>>2]|0,c[w>>2]|0,c[m>>2]|0)|0;if(!((c[A>>2]|0)<=0?(c[z>>2]|0)>=(c[v>>2]|0):0))C=7;do if((C|0)==7){C=0;if((c[A>>2]|0)>=0?(c[z>>2]|0)<=(0-(c[v>>2]|0)|0):0)break;c[q>>2]=(c[q>>2]|0)+1;c[x>>2]=c[w>>2];c[A>>2]=c[z>>2];c[v>>2]=0;if((c[q>>2]|0)<=128)continue a;c[p>>2]=(c[p>>2]|0)+1;if((c[p>>2]|0)>30)break a;Of(c[g>>2]|0,c[h>>2]|0,65536-(_((10+(c[p>>2]|0)&65535)<<16>>16,(c[p>>2]&65535)<<16>>16)|0)|0);If(c[g>>2]|0,j,l,c[m>>2]|0);c[t>>2]=j;c[x>>2]=b[12288];c[A>>2]=Kf(c[t>>2]|0,c[x>>2]|0,c[m>>2]|0)|0;if((c[A>>2]|0)<0){b[c[f>>2]>>1]=0;c[t>>2]=l;c[A>>2]=Kf(c[t>>2]|0,c[x>>2]|0,c[m>>2]|0)|0;c[u>>2]=1}else c[u>>2]=0;c[q>>2]=1;continue a}while(0);if(!(c[z>>2]|0))c[v>>2]=1;else c[v>>2]=0;c[o>>2]=-256;c[r>>2]=0;while(1){if((c[r>>2]|0)>=3)break;c[y>>2]=((c[x>>2]|0)+(c[w>>2]|0)>>1)+((c[x>>2]|0)+(c[w>>2]|0)&1);c[B>>2]=Kf(c[t>>2]|0,c[y>>2]|0,c[m>>2]|0)|0;if(!((c[A>>2]|0)<=0&(c[B>>2]|0)>=0)?!((c[A>>2]|0)>=0&(c[B>>2]|0)<=0):0){c[x>>2]=c[y>>2];c[A>>2]=c[B>>2];c[o>>2]=(c[o>>2]|0)+(128>>c[r>>2])}else{c[w>>2]=c[y>>2];c[z>>2]=c[B>>2]}c[r>>2]=(c[r>>2]|0)+1}e=c[A>>2]|0;a=c[A>>2]|0;if((((c[A>>2]|0)>0?e:0-e|0)|0)<65536){c[n>>2]=a-(c[z>>2]|0);c[s>>2]=(c[A>>2]<<5)+(c[n>>2]>>1);if(c[n>>2]|0)c[o>>2]=(c[o>>2]|0)+((c[s>>2]|0)/(c[n>>2]|0)|0)}else c[o>>2]=(c[o>>2]|0)+((a|0)/((c[A>>2]|0)-(c[z>>2]|0)>>5|0)|0);e=(Lf((c[q>>2]<<8)+(c[o>>2]|0)|0,32767)|0)&65535;b[(c[f>>2]|0)+(c[u>>2]<<1)>>1]=e;c[u>>2]=(c[u>>2]|0)+1;if((c[u>>2]|0)>=(c[h>>2]|0)){C=34;break}c[t>>2]=c[k+((c[u>>2]&1)<<2)>>2];c[x>>2]=b[24576+((c[q>>2]|0)-1<<1)>>1];c[A>>2]=1-(c[u>>2]&2)<<12}if((C|0)==34){i=D;return}b[c[f>>2]>>1]=32768/((c[h>>2]|0)+1|0)|0;c[q>>2]=1;while(1){if((c[q>>2]|0)>=(c[h>>2]|0))break;C=(_(((c[q>>2]|0)+1&65535)<<16>>16,b[c[f>>2]>>1]|0)|0)&65535;b[(c[f>>2]|0)+(c[q>>2]<<1)>>1]=C;c[q>>2]=(c[q>>2]|0)+1}i=D;return}function If(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]=65536;c[(c[h>>2]|0)+(c[j>>2]<<2)>>2]=65536;c[k>>2]=0;while(1){b=c[j>>2]|0;if((c[k>>2]|0)>=(c[j>>2]|0))break;c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]=0-(c[(c[f>>2]|0)+(b-(c[k>>2]|0)-1<<2)>>2]|0)-(c[(c[f>>2]|0)+((c[j>>2]|0)+(c[k>>2]|0)<<2)>>2]|0);c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]=0-(c[(c[f>>2]|0)+((c[j>>2]|0)-(c[k>>2]|0)-1<<2)>>2]|0)+(c[(c[f>>2]|0)+((c[j>>2]|0)+(c[k>>2]|0)<<2)>>2]|0);c[k>>2]=(c[k>>2]|0)+1}c[k>>2]=b;while(1){if((c[k>>2]|0)<=0)break;f=(c[g>>2]|0)+((c[k>>2]|0)-1<<2)|0;c[f>>2]=(c[f>>2]|0)-(c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0);f=(c[h>>2]|0)+((c[k>>2]|0)-1<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0);c[k>>2]=(c[k>>2]|0)+-1}Jf(c[g>>2]|0,c[j>>2]|0);Jf(c[h>>2]|0,c[j>>2]|0);i=l;return}function Jf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+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){if((c[g>>2]|0)<=(c[f>>2]|0))break;a=(c[d>>2]|0)+((c[g>>2]|0)-2<<2)|0;c[a>>2]=(c[a>>2]|0)-(c[(c[d>>2]|0)+(c[g>>2]<<2)>>2]|0);c[g>>2]=(c[g>>2]|0)+-1}a=(c[d>>2]|0)+((c[f>>2]|0)-2<<2)|0;c[a>>2]=(c[a>>2]|0)-(c[(c[d>>2]|0)+(c[f>>2]<<2)>>2]<<1);c[f>>2]=(c[f>>2]|0)+1}i=h;return}function Kf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+20|0;l=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;c[j>>2]=c[(c[e>>2]|0)+(c[f>>2]<<2)>>2];c[h>>2]=c[l>>2]<<4;if(8==(c[f>>2]|0)^1^1){l=_(c[j>>2]>>16,(c[h>>2]&65535)<<16>>16)|0;l=(c[(c[e>>2]|0)+28>>2]|0)+(l+((_(c[j>>2]&65535,(c[h>>2]&65535)<<16>>16)|0)>>16))|0;c[j>>2]=l+(_(c[j>>2]|0,(c[h>>2]>>15)+1>>1)|0);l=_(c[j>>2]>>16,(c[h>>2]&65535)<<16>>16)|0;l=(c[(c[e>>2]|0)+24>>2]|0)+(l+((_(c[j>>2]&65535,(c[h>>2]&65535)<<16>>16)|0)>>16))|0;c[j>>2]=l+(_(c[j>>2]|0,(c[h>>2]>>15)+1>>1)|0);l=_(c[j>>2]>>16,(c[h>>2]&65535)<<16>>16)|0;l=(c[(c[e>>2]|0)+20>>2]|0)+(l+((_(c[j>>2]&65535,(c[h>>2]&65535)<<16>>16)|0)>>16))|0;c[j>>2]=l+(_(c[j>>2]|0,(c[h>>2]>>15)+1>>1)|0);l=_(c[j>>2]>>16,(c[h>>2]&65535)<<16>>16)|0;l=(c[(c[e>>2]|0)+16>>2]|0)+(l+((_(c[j>>2]&65535,(c[h>>2]&65535)<<16>>16)|0)>>16))|0;c[j>>2]=l+(_(c[j>>2]|0,(c[h>>2]>>15)+1>>1)|0);l=_(c[j>>2]>>16,(c[h>>2]&65535)<<16>>16)|0;l=(c[(c[e>>2]|0)+12>>2]|0)+(l+((_(c[j>>2]&65535,(c[h>>2]&65535)<<16>>16)|0)>>16))|0;c[j>>2]=l+(_(c[j>>2]|0,(c[h>>2]>>15)+1>>1)|0);l=_(c[j>>2]>>16,(c[h>>2]&65535)<<16>>16)|0;l=(c[(c[e>>2]|0)+8>>2]|0)+(l+((_(c[j>>2]&65535,(c[h>>2]&65535)<<16>>16)|0)>>16))|0;c[j>>2]=l+(_(c[j>>2]|0,(c[h>>2]>>15)+1>>1)|0);l=_(c[j>>2]>>16,(c[h>>2]&65535)<<16>>16)|0;l=(c[(c[e>>2]|0)+4>>2]|0)+(l+((_(c[j>>2]&65535,(c[h>>2]&65535)<<16>>16)|0)>>16))|0;c[j>>2]=l+(_(c[j>>2]|0,(c[h>>2]>>15)+1>>1)|0);l=_(c[j>>2]>>16,(c[h>>2]&65535)<<16>>16)|0;l=(c[c[e>>2]>>2]|0)+(l+((_(c[j>>2]&65535,(c[h>>2]&65535)<<16>>16)|0)>>16))|0;c[j>>2]=l+(_(c[j>>2]|0,(c[h>>2]>>15)+1>>1)|0);l=c[j>>2]|0;i=k;return l|0}c[g>>2]=(c[f>>2]|0)-1;while(1){if((c[g>>2]|0)<0)break;l=_(c[j>>2]>>16,(c[h>>2]&65535)<<16>>16)|0;l=(c[(c[e>>2]|0)+(c[g>>2]<<2)>>2]|0)+(l+((_(c[j>>2]&65535,(c[h>>2]&65535)<<16>>16)|0)>>16))|0;c[j>>2]=l+(_(c[j>>2]|0,(c[h>>2]>>15)+1>>1)|0);c[g>>2]=(c[g>>2]|0)+-1}l=c[j>>2]|0;i=k;return l|0}function Lf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;i=f;return ((c[e>>2]|0)<(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function Mf(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+48|0;h=t+44|0;j=t+40|0;k=t+36|0;l=t+32|0;u=t+28|0;q=t+24|0;m=t+20|0;p=t+16|0;n=t+12|0;o=t+8|0;r=t+4|0;s=t;c[h>>2]=a;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[u>>2]=g;c[m>>2]=c[u>>2]>>1;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[m>>2]|0))break;c[p>>2]=b[(c[h>>2]|0)+(c[q>>2]<<1<<1)>>1]<<10;c[o>>2]=(c[p>>2]|0)-(c[c[j>>2]>>2]|0);u=_(c[o>>2]>>16,b[12286]|0)|0;c[n>>2]=(c[o>>2]|0)+(u+((_(c[o>>2]&65535,b[12286]|0)|0)>>16));c[r>>2]=(c[c[j>>2]>>2]|0)+(c[n>>2]|0);c[c[j>>2]>>2]=(c[p>>2]|0)+(c[n>>2]|0);c[p>>2]=b[(c[h>>2]|0)+((c[q>>2]<<1)+1<<1)>>1]<<10;c[o>>2]=(c[p>>2]|0)-(c[(c[j>>2]|0)+4>>2]|0);u=_(c[o>>2]>>16,b[12287]|0)|0;c[n>>2]=u+((_(c[o>>2]&65535,b[12287]|0)|0)>>16);c[s>>2]=(c[(c[j>>2]|0)+4>>2]|0)+(c[n>>2]|0);c[(c[j>>2]|0)+4>>2]=(c[p>>2]|0)+(c[n>>2]|0);if((((c[s>>2]|0)+(c[r>>2]|0)>>10)+1>>1|0)<=32767)if((((c[s>>2]|0)+(c[r>>2]|0)>>10)+1>>1|0)<-32768)g=-32768;else g=((c[s>>2]|0)+(c[r>>2]|0)>>10)+1>>1;else g=32767;b[(c[k>>2]|0)+(c[q>>2]<<1)>>1]=g;if((((c[s>>2]|0)-(c[r>>2]|0)>>10)+1>>1|0)<=32767)if((((c[s>>2]|0)-(c[r>>2]|0)>>10)+1>>1|0)<-32768)g=-32768;else g=((c[s>>2]|0)-(c[r>>2]|0)>>10)+1>>1;else g=32767;b[(c[l>>2]|0)+(c[q>>2]<<1)>>1]=g;c[q>>2]=(c[q>>2]|0)+1}i=t;return}function Nf(a,d,e,f,g,h,j){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=i;i=i+64|0;k=x+52|0;l=x+48|0;y=x+44|0;m=x+40|0;n=x+36|0;o=x+32|0;p=x+28|0;v=x+24|0;u=x+20|0;r=x+16|0;q=x+12|0;t=x+8|0;s=x+4|0;w=x;c[k>>2]=a;c[l>>2]=d;c[y>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[q>>2]=0-(c[c[y>>2]>>2]|0)&16383;c[r>>2]=0-(c[c[y>>2]>>2]|0)>>14;c[s>>2]=0-(c[(c[y>>2]|0)+4>>2]|0)&16383;c[t>>2]=0-(c[(c[y>>2]|0)+4>>2]|0)>>14;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[o>>2]|0))break;y=_(c[v>>2]|0,c[p>>2]|0)|0;c[u>>2]=b[(c[k>>2]|0)+(y<<1)>>1];y=_(c[c[l>>2]>>2]>>16,(c[u>>2]&65535)<<16>>16)|0;c[w>>2]=(c[c[m>>2]>>2]|0)+(y+((_(c[c[l>>2]>>2]&65535,(c[u>>2]&65535)<<16>>16)|0)>>16))<<2;y=_(c[w>>2]>>16,(c[q>>2]&65535)<<16>>16)|0;y=(c[(c[m>>2]|0)+4>>2]|0)+((y+((_(c[w>>2]&65535,(c[q>>2]&65535)<<16>>16)|0)>>16)>>13)+1>>1)|0;c[c[m>>2]>>2]=y;y=_(c[w>>2]>>16,(c[r>>2]&65535)<<16>>16)|0;y=(c[c[m>>2]>>2]|0)+(y+((_(c[w>>2]&65535,(c[r>>2]&65535)<<16>>16)|0)>>16))|0;c[c[m>>2]>>2]=y;y=_(c[(c[l>>2]|0)+4>>2]>>16,(c[u>>2]&65535)<<16>>16)|0;y=(c[c[m>>2]>>2]|0)+(y+((_(c[(c[l>>2]|0)+4>>2]&65535,(c[u>>2]&65535)<<16>>16)|0)>>16))|0;c[c[m>>2]>>2]=y;y=_(c[w>>2]>>16,(c[s>>2]&65535)<<16>>16)|0;y=(y+((_(c[w>>2]&65535,(c[s>>2]&65535)<<16>>16)|0)>>16)>>13)+1>>1;c[(c[m>>2]|0)+4>>2]=y;y=_(c[w>>2]>>16,(c[t>>2]&65535)<<16>>16)|0;y=(c[(c[m>>2]|0)+4>>2]|0)+(y+((_(c[w>>2]&65535,(c[t>>2]&65535)<<16>>16)|0)>>16))|0;c[(c[m>>2]|0)+4>>2]=y;y=_(c[(c[l>>2]|0)+8>>2]>>16,(c[u>>2]&65535)<<16>>16)|0;y=(c[(c[m>>2]|0)+4>>2]|0)+(y+((_(c[(c[l>>2]|0)+8>>2]&65535,(c[u>>2]&65535)<<16>>16)|0)>>16))|0;c[(c[m>>2]|0)+4>>2]=y;if(((c[w>>2]|0)+16384-1>>14|0)<=32767)if(((c[w>>2]|0)+16384-1>>14|0)<-32768)e=-32768;else e=(c[w>>2]|0)+16384-1>>14;else e=32767;y=_(c[v>>2]|0,c[p>>2]|0)|0;b[(c[n>>2]|0)+(y<<1)>>1]=e;c[v>>2]=(c[v>>2]|0)+1}i=x;return}function Of(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=(c[g>>2]|0)-65536;c[j>>2]=0;while(1){a=c[g>>2]>>16;if((c[j>>2]|0)>=((c[f>>2]|0)-1|0))break;b=_(a,(c[(c[e>>2]|0)+(c[j>>2]<<2)>>2]&65535)<<16>>16)|0;b=b+((_(c[g>>2]&65535,(c[(c[e>>2]|0)+(c[j>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;b=b+(_(c[g>>2]|0,(c[(c[e>>2]|0)+(c[j>>2]<<2)>>2]>>15)+1>>1)|0)|0;c[(c[e>>2]|0)+(c[j>>2]<<2)>>2]=b;b=((_(c[g>>2]|0,c[h>>2]|0)|0)>>15)+1>>1;c[g>>2]=(c[g>>2]|0)+b;c[j>>2]=(c[j>>2]|0)+1}j=_(a,(c[(c[e>>2]|0)+((c[f>>2]|0)-1<<2)>>2]&65535)<<16>>16)|0;j=j+((_(c[g>>2]&65535,(c[(c[e>>2]|0)+((c[f>>2]|0)-1<<2)>>2]&65535)<<16>>16)|0)>>16)|0;j=j+(_(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]=j;i=k;return}function Pf(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;k=l+4|0;j=l;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;c[j>>2]=(c[h>>2]|0)-65536;c[k>>2]=0;while(1){a=c[h>>2]|0;if((c[k>>2]|0)>=((c[g>>2]|0)-1|0))break;d=((_(a,b[(c[f>>2]|0)+(c[k>>2]<<1)>>1]|0)|0)>>15)+1>>1&65535;b[(c[f>>2]|0)+(c[k>>2]<<1)>>1]=d;d=((_(c[h>>2]|0,c[j>>2]|0)|0)>>15)+1>>1;c[h>>2]=(c[h>>2]|0)+d;c[k>>2]=(c[k>>2]|0)+1}k=((_(a,b[(c[f>>2]|0)+((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]=k;i=l;return}function Qf(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;j=u+36|0;l=u+38|0;m=u+32|0;k=u+28|0;n=u+24|0;r=u+20|0;q=u+16|0;t=u+12|0;s=u+8|0;p=u+4|0;o=u;b[j>>1]=d;a[l>>0]=e;c[m>>2]=f;c[k>>2]=g;c[n>>2]=h;g=(c[n>>2]|0)==4;do if((c[k>>2]|0)==8)if(g){c[o>>2]=30286;c[p>>2]=11;break}else{c[o>>2]=30252;c[p>>2]=3;break}else if(g){c[o>>2]=30330;c[p>>2]=34;break}else{c[o>>2]=30258;c[p>>2]=12;break}while(0);c[t>>2]=(c[k>>2]&65535)<<16>>16<<1;c[s>>2]=((c[k>>2]&65535)<<16>>16)*18;c[r>>2]=(c[t>>2]|0)+(b[j>>1]|0);c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[n>>2]|0))break;g=_(c[q>>2]|0,c[p>>2]|0)|0;c[(c[m>>2]|0)+(c[q>>2]<<2)>>2]=(c[r>>2]|0)+(a[(c[o>>2]|0)+(g+(a[l>>0]|0))>>0]|0);g=c[(c[m>>2]|0)+(c[q>>2]<<2)>>2]|0;do if((c[t>>2]|0)>(c[s>>2]|0)){if((g|0)>(c[t>>2]|0)){g=c[t>>2]|0;break}if((c[(c[m>>2]|0)+(c[q>>2]<<2)>>2]|0)<(c[s>>2]|0)){g=c[s>>2]|0;break}else{g=c[(c[m>>2]|0)+(c[q>>2]<<2)>>2]|0;break}}else{if((g|0)>(c[s>>2]|0)){g=c[s>>2]|0;break}if((c[(c[m>>2]|0)+(c[q>>2]<<2)>>2]|0)<(c[t>>2]|0)){g=c[t>>2]|0;break}else{g=c[(c[m>>2]|0)+(c[q>>2]<<2)>>2]|0;break}}while(0);c[(c[m>>2]|0)+(c[q>>2]<<2)>>2]=g;c[q>>2]=(c[q>>2]|0)+1}i=u;return}function Rf(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[g>>2]=a;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;c[l>>2]=0;while(1){a=c[m>>2]|0;if((c[l>>2]|0)>=(c[k>>2]|0))break;e=_(b[(c[g>>2]|0)+(c[l>>2]<<1)>>1]|0,b[(c[h>>2]|0)+(c[l>>2]<<1)>>1]|0)|0;c[m>>2]=a+(e>>c[j>>2]);c[l>>2]=(c[l>>2]|0)+1}i=n;return a|0}function Sf(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;f=b+8|0;e=b+4|0;d=b;c[f>>2]=a;Tf(c[f>>2]|0,e,d);a=((_(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+(((_(c[d>>2]|0,128-(c[d>>2]|0)|0)|0)&65535)*179>>16)))|0;i=b;return a|0}function Tf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;h=e+12|0;j=e+8|0;f=e+4|0;g=e;c[h>>2]=a;c[j>>2]=b;c[f>>2]=d;c[g>>2]=Uf(c[h>>2]|0)|0;c[c[j>>2]>>2]=c[g>>2];b=(Vf(c[h>>2]|0,24-(c[g>>2]|0)|0)|0)&127;c[c[f>>2]>>2]=b;i=e;return}function Uf(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){a=32;i=d;return a|0}a=32-(32-(aa(c[b>>2]|0)|0))|0;i=d;return a|0}function Vf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+20|0;d=k+16|0;f=k+12|0;j=k+8|0;h=k+4|0;g=k;c[d>>2]=a;c[f>>2]=b;c[j>>2]=c[d>>2];c[h>>2]=c[f>>2];c[g>>2]=0-(c[f>>2]|0);if(!(c[f>>2]|0)){c[e>>2]=c[d>>2];j=c[e>>2]|0;i=k;return j|0}d=c[j>>2]|0;if((c[f>>2]|0)<0){c[e>>2]=d<>2]|(c[j>>2]|0)>>>(32-(c[g>>2]|0)|0);j=c[e>>2]|0;i=k;return j|0}else{c[e>>2]=d<<32-(c[h>>2]|0)|(c[j>>2]|0)>>>(c[h>>2]|0);j=c[e>>2]|0;i=k;return j|0}return 0}function Wf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=a;if((c[e>>2]|0)<0){c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}if((c[e>>2]|0)>=3967){c[d>>2]=2147483647;g=c[d>>2]|0;i=h;return g|0}c[g>>2]=1<<(c[e>>2]>>7);c[f>>2]=c[e>>2]&127;a=c[g>>2]|0;b=c[g>>2]|0;if((c[e>>2]|0)<2048){e=_((_((c[f>>2]&65535)<<16>>16,(128-(c[f>>2]|0)&65535)<<16>>16)|0)>>16,-174)|0;c[g>>2]=a+((_(b,(c[f>>2]|0)+(e+((_((_((c[f>>2]&65535)<<16>>16,(128-(c[f>>2]|0)&65535)<<16>>16)|0)&65535,-174)|0)>>16))|0)|0)>>7)}else{e=_((_((c[f>>2]&65535)<<16>>16,(128-(c[f>>2]|0)&65535)<<16>>16)|0)>>16,-174)|0;c[g>>2]=a+(_(b>>7,(c[f>>2]|0)+(e+((_((_((c[f>>2]&65535)<<16>>16,(128-(c[f>>2]|0)&65535)<<16>>16)|0)&65535,-174)|0)>>16))|0)|0)}c[d>>2]=c[g>>2];g=c[d>>2]|0;i=h;return g|0}function Xf(a,d,e,f,g,h){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;j=t+40|0;k=t+36|0;l=t+32|0;m=t+28|0;n=t+24|0;q=t+16|0;p=t+12|0;s=t+8|0;r=t+4|0;o=t;c[j>>2]=a;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[t+20>>2]=h;c[p>>2]=c[n>>2];while(1){if((c[p>>2]|0)>=(c[m>>2]|0))break;c[o>>2]=(c[k>>2]|0)+((c[p>>2]|0)-1<<1);c[s>>2]=_(b[c[o>>2]>>1]|0,b[c[l>>2]>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(_(b[(c[o>>2]|0)+-2>>1]|0,b[(c[l>>2]|0)+2>>1]|0)|0);c[s>>2]=(c[s>>2]|0)+(_(b[(c[o>>2]|0)+-4>>1]|0,b[(c[l>>2]|0)+4>>1]|0)|0);c[s>>2]=(c[s>>2]|0)+(_(b[(c[o>>2]|0)+-6>>1]|0,b[(c[l>>2]|0)+6>>1]|0)|0);c[s>>2]=(c[s>>2]|0)+(_(b[(c[o>>2]|0)+-8>>1]|0,b[(c[l>>2]|0)+8>>1]|0)|0);c[s>>2]=(c[s>>2]|0)+(_(b[(c[o>>2]|0)+-10>>1]|0,b[(c[l>>2]|0)+10>>1]|0)|0);c[q>>2]=6;while(1){if((c[q>>2]|0)>=(c[n>>2]|0))break;c[s>>2]=(c[s>>2]|0)+(_(b[(c[o>>2]|0)+(0-(c[q>>2]|0)<<1)>>1]|0,b[(c[l>>2]|0)+(c[q>>2]<<1)>>1]|0)|0);c[s>>2]=(c[s>>2]|0)+(_(b[(c[o>>2]|0)+(0-(c[q>>2]|0)-1<<1)>>1]|0,b[(c[l>>2]|0)+((c[q>>2]|0)+1<<1)>>1]|0)|0);c[q>>2]=(c[q>>2]|0)+2}c[s>>2]=(b[(c[o>>2]|0)+2>>1]<<12)-(c[s>>2]|0);c[r>>2]=(c[s>>2]>>11)+1>>1;if((c[r>>2]|0)>32767)e=32767;else e=(c[r>>2]|0)<-32768?-32768:c[r>>2]|0;b[(c[j>>2]|0)+(c[p>>2]<<1)>>1]=e;c[p>>2]=(c[p>>2]|0)+1}oj(c[j>>2]|0,0,c[n>>2]<<1|0)|0;i=t;return}function Yf(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+160|0;e=m+148|0;f=m+144|0;g=m+140|0;l=m+136|0;j=m+8|0;h=m+4|0;k=m;c[f>>2]=a;c[g>>2]=d;c[k>>2]=0;c[h>>2]=j+((c[g>>2]&1)<<6);c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[g>>2]|0))break;c[k>>2]=(c[k>>2]|0)+(b[(c[f>>2]|0)+(c[l>>2]<<1)>>1]|0);c[(c[h>>2]|0)+(c[l>>2]<<2)>>2]=b[(c[f>>2]|0)+(c[l>>2]<<1)>>1]<<12;c[l>>2]=(c[l>>2]|0)+1}if((c[k>>2]|0)>=4096){c[e>>2]=0;d=c[e>>2]|0;i=m;return d|0}else{c[e>>2]=Zf(j,c[g>>2]|0)|0;d=c[e>>2]|0;i=m;return d|0}return 0}function Zf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=i;i=i+64|0;d=r+48|0;e=r+44|0;s=r+40|0;j=r+36|0;l=r+32|0;k=r+28|0;h=r+24|0;m=r+20|0;n=r+16|0;o=r+12|0;p=r+8|0;g=r+4|0;f=r;c[e>>2]=a;c[s>>2]=b;c[f>>2]=(c[e>>2]|0)+((c[s>>2]&1)<<6);c[h>>2]=1073741824;c[j>>2]=(c[s>>2]|0)-1;while(1){if((c[j>>2]|0)<=0)break;if((c[(c[f>>2]|0)+(c[j>>2]<<2)>>2]|0)>16773022){q=5;break}if((c[(c[f>>2]|0)+(c[j>>2]<<2)>>2]|0)<-16773022){q=5;break}c[m>>2]=0-(c[(c[f>>2]|0)+(c[j>>2]<<2)>>2]<<7);s=c[m>>2]|0;b=c[m>>2]|0;b=yj(s|0,((s|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0;b=nj(b|0,C|0,32)|0;c[n>>2]=1073741824-b;b=c[n>>2]|0;c[k>>2]=32-(_f((c[n>>2]|0)>0?b:0-b|0)|0);c[o>>2]=$f(c[n>>2]|0,(c[k>>2]|0)+30|0)|0;b=c[h>>2]|0;s=c[n>>2]|0;s=yj(b|0,((b|0)<0)<<31>>31|0,s|0,((s|0)<0)<<31>>31|0)|0;s=nj(s|0,C|0,32)|0;c[h>>2]=s<<2;c[g>>2]=c[f>>2];c[f>>2]=(c[e>>2]|0)+((c[j>>2]&1)<<6);c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[j>>2]|0))break;b=c[(c[g>>2]|0)+(c[l>>2]<<2)>>2]|0;a=c[(c[g>>2]|0)+((c[j>>2]|0)-(c[l>>2]|0)-1<<2)>>2]|0;s=c[m>>2]|0;s=yj(a|0,((a|0)<0)<<31>>31|0,s|0,((s|0)<0)<<31>>31|0)|0;s=nj(s|0,C|0,30)|0;s=mj(s|0,C|0,1,0)|0;s=nj(s|0,C|0,1)|0;c[p>>2]=b-s;s=(c[k>>2]|0)==1;b=c[p>>2]|0;a=c[o>>2]|0;a=yj(b|0,((b|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;b=C;if(s){b=nj(a|0,b|0,1)|0;s=C;t=c[p>>2]|0;a=c[o>>2]|0;a=yj(t|0,((t|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;a=mj(b|0,s|0,a&1|0,0)|0}else{a=nj(a|0,b|0,(c[k>>2]|0)-1|0)|0;a=mj(a|0,C|0,1,0)|0;a=nj(a|0,C|0,1)|0}c[(c[f>>2]|0)+(c[l>>2]<<2)>>2]=a;c[l>>2]=(c[l>>2]|0)+1}c[j>>2]=(c[j>>2]|0)+-1}if((q|0)==5){c[d>>2]=0;t=c[d>>2]|0;i=r;return t|0}if((c[c[f>>2]>>2]|0)<=16773022?(c[c[f>>2]>>2]|0)>=-16773022:0){c[m>>2]=0-(c[c[f>>2]>>2]<<7);t=c[m>>2]|0;s=c[m>>2]|0;s=yj(t|0,((t|0)<0)<<31>>31|0,s|0,((s|0)<0)<<31>>31|0)|0;s=nj(s|0,C|0,32)|0;c[n>>2]=1073741824-s;s=c[h>>2]|0;t=c[n>>2]|0;t=yj(s|0,((s|0)<0)<<31>>31|0,t|0,((t|0)<0)<<31>>31|0)|0;t=nj(t|0,C|0,32)|0;c[h>>2]=t<<2;c[d>>2]=c[h>>2];t=c[d>>2]|0;i=r;return t|0}c[d>>2]=0;t=c[d>>2]|0;i=r;return t|0}function _f(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){a=32;i=d;return a|0}a=32-(32-(aa(c[b>>2]|0)|0))|0;i=d;return a|0}function $f(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+48|0;f=h+32|0;n=h+28|0;d=h+24|0;j=h+20|0;g=h+16|0;k=h+12|0;m=h+8|0;l=h+4|0;e=h;c[n>>2]=a;c[d>>2]=b;b=c[n>>2]|0;c[j>>2]=(_f((c[n>>2]|0)>0?b:0-b|0)|0)-1;c[m>>2]=c[n>>2]<>2];c[k>>2]=536870911/(c[m>>2]>>16|0)|0;c[e>>2]=c[k>>2]<<16;b=_(c[m>>2]>>16,(c[k>>2]&65535)<<16>>16)|0;c[l>>2]=536870912-(b+((_(c[m>>2]&65535,(c[k>>2]&65535)<<16>>16)|0)>>16))<<3;b=_(c[l>>2]>>16,(c[k>>2]&65535)<<16>>16)|0;b=(c[e>>2]|0)+(b+((_(c[l>>2]&65535,(c[k>>2]&65535)<<16>>16)|0)>>16))|0;c[e>>2]=b+(_(c[l>>2]|0,(c[k>>2]>>15)+1>>1)|0);c[g>>2]=61-(c[j>>2]|0)-(c[d>>2]|0);b=c[g>>2]|0;if((c[g>>2]|0)>0)if((b|0)<32){c[f>>2]=c[e>>2]>>c[g>>2];n=c[f>>2]|0;i=h;return n|0}else{c[f>>2]=0;n=c[f>>2]|0;i=h;return n|0}a=c[e>>2]|0;d=0-(c[g>>2]|0)|0;do if((-2147483648>>0-b|0)>(2147483647>>0-(c[g>>2]|0)|0)){if((a|0)>(-2147483648>>d|0)){b=-2147483648>>0-(c[g>>2]|0);break}if((c[e>>2]|0)<(2147483647>>0-(c[g>>2]|0)|0)){b=2147483647>>0-(c[g>>2]|0);break}else{b=c[e>>2]|0;break}}else{if((a|0)>(2147483647>>d|0)){b=2147483647>>0-(c[g>>2]|0);break}if((c[e>>2]|0)<(-2147483648>>0-(c[g>>2]|0)|0)){b=-2147483648>>0-(c[g>>2]|0);break}else{b=c[e>>2]|0;break}}while(0);c[f>>2]=b<<0-(c[g>>2]|0);n=c[f>>2]|0;i=h;return n|0}function ag(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+272|0;x=C+264|0;g=C+260|0;y=C+256|0;v=C+252|0;B=C+248|0;A=C+244|0;p=C+240|0;n=C+176|0;h=C+140|0;k=C+104|0;j=C+100|0;l=C+96|0;s=C+92|0;r=C+88|0;o=C+84|0;q=C+80|0;z=C+16|0;u=C+12|0;m=C+8|0;t=C+4|0;w=C;c[x>>2]=a;c[g>>2]=e;c[y>>2]=f;c[t>>2]=0;c[v>>2]=(c[y>>2]|0)==16?30226:30242;c[B>>2]=0;while(1){if((c[B>>2]|0)>=(c[y>>2]|0))break;c[s>>2]=b[(c[g>>2]|0)+(c[B>>2]<<1)>>1]>>8;c[r>>2]=(b[(c[g>>2]|0)+(c[B>>2]<<1)>>1]|0)-(c[s>>2]<<8);c[o>>2]=b[24576+(c[s>>2]<<1)>>1];c[q>>2]=(b[24576+((c[s>>2]|0)+1<<1)>>1]|0)-(c[o>>2]|0);f=((c[o>>2]<<8)+(_(c[q>>2]|0,c[r>>2]|0)|0)>>3)+1>>1;c[n+(d[(c[v>>2]|0)+(c[B>>2]|0)>>0]<<2)>>2]=f;c[B>>2]=(c[B>>2]|0)+1}c[p>>2]=c[y>>2]>>1;bg(h,n,c[p>>2]|0);bg(k,n+4|0,c[p>>2]|0);c[B>>2]=0;while(1){if((c[B>>2]|0)>=(c[p>>2]|0))break;c[j>>2]=(c[h+((c[B>>2]|0)+1<<2)>>2]|0)+(c[h+(c[B>>2]<<2)>>2]|0);c[l>>2]=(c[k+((c[B>>2]|0)+1<<2)>>2]|0)-(c[k+(c[B>>2]<<2)>>2]|0);c[z+(c[B>>2]<<2)>>2]=0-(c[l>>2]|0)-(c[j>>2]|0);c[z+((c[y>>2]|0)-(c[B>>2]|0)-1<<2)>>2]=(c[l>>2]|0)-(c[j>>2]|0);c[B>>2]=(c[B>>2]|0)+1}c[A>>2]=0;while(1){if((c[A>>2]|0)>=10)break;c[u>>2]=0;c[B>>2]=0;while(1){if((c[B>>2]|0)>=(c[y>>2]|0))break;v=c[z+(c[B>>2]<<2)>>2]|0;c[m>>2]=(c[z+(c[B>>2]<<2)>>2]|0)>0?v:0-v|0;if((c[m>>2]|0)>(c[u>>2]|0)){c[u>>2]=c[m>>2];c[t>>2]=c[B>>2]}c[B>>2]=(c[B>>2]|0)+1}c[u>>2]=(c[u>>2]>>4)+1>>1;if((c[u>>2]|0)<=32767)break;c[u>>2]=(c[u>>2]|0)<163838?c[u>>2]|0:163838;c[w>>2]=65470-(((c[u>>2]|0)-32767<<14|0)/((_(c[u>>2]|0,(c[t>>2]|0)+1|0)|0)>>2|0)|0);Of(z,c[y>>2]|0,c[w>>2]|0);c[A>>2]=(c[A>>2]|0)+1}w=(c[A>>2]|0)==10;c[B>>2]=0;a:do if(w)while(1){if((c[B>>2]|0)>=(c[y>>2]|0))break a;if(((c[z+(c[B>>2]<<2)>>2]>>4)+1>>1|0)<=32767)if(((c[z+(c[B>>2]<<2)>>2]>>4)+1>>1|0)<-32768)g=-32768;else g=(c[z+(c[B>>2]<<2)>>2]>>4)+1>>1;else g=32767;b[(c[x>>2]|0)+(c[B>>2]<<1)>>1]=g;c[z+(c[B>>2]<<2)>>2]=b[(c[x>>2]|0)+(c[B>>2]<<1)>>1]<<5;c[B>>2]=(c[B>>2]|0)+1}else while(1){if((c[B>>2]|0)>=(c[y>>2]|0))break a;b[(c[x>>2]|0)+(c[B>>2]<<1)>>1]=(c[z+(c[B>>2]<<2)>>2]>>4)+1>>1;c[B>>2]=(c[B>>2]|0)+1}while(0);c[A>>2]=0;while(1){if((c[A>>2]|0)>=16){g=31;break}if((Yf(c[x>>2]|0,c[y>>2]|0)|0)>=107374){g=31;break}Of(z,c[y>>2]|0,65536-(2<>2])|0);c[B>>2]=0;while(1){if((c[B>>2]|0)>=(c[y>>2]|0))break;b[(c[x>>2]|0)+(c[B>>2]<<1)>>1]=(c[z+(c[B>>2]<<2)>>2]>>4)+1>>1;c[B>>2]=(c[B>>2]|0)+1}c[A>>2]=(c[A>>2]|0)+1}if((g|0)==31){i=C;return}}function bg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;g=l+12|0;j=l+8|0;k=l+4|0;h=l;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[j>>2]=1;while(1){if((c[j>>2]|0)>=(c[g>>2]|0))break;c[h>>2]=c[(c[f>>2]|0)+(c[j>>2]<<1<<2)>>2];d=c[(c[e>>2]|0)+((c[j>>2]|0)-1<<2)>>2]<<1;b=c[h>>2]|0;a=c[(c[e>>2]|0)+(c[j>>2]<<2)>>2]|0;a=yj(b|0,((b|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;a=nj(a|0,C|0,15)|0;a=mj(a|0,C|0,1,0)|0;a=nj(a|0,C|0,1)|0;c[(c[e>>2]|0)+((c[j>>2]|0)+1<<2)>>2]=d-a;c[k>>2]=c[j>>2];while(1){if((c[k>>2]|0)<=1)break;b=c[(c[e>>2]|0)+((c[k>>2]|0)-2<<2)>>2]|0;a=c[h>>2]|0;d=c[(c[e>>2]|0)+((c[k>>2]|0)-1<<2)>>2]|0;d=yj(a|0,((a|0)<0)<<31>>31|0,d|0,((d|0)<0)<<31>>31|0)|0;d=nj(d|0,C|0,15)|0;d=mj(d|0,C|0,1,0)|0;d=nj(d|0,C|0,1)|0;a=(c[e>>2]|0)+(c[k>>2]<<2)|0;c[a>>2]=(c[a>>2]|0)+(b-d);c[k>>2]=(c[k>>2]|0)+-1}a=(c[e>>2]|0)+4|0;c[a>>2]=(c[a>>2]|0)-(c[h>>2]|0);c[j>>2]=(c[j>>2]|0)+1}i=l;return} function xd(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+80|0;l=t+40|0;g=t+36|0;m=t+32|0;n=t+28|0;q=t+24|0;j=t+20|0;s=t+16|0;h=t+12|0;k=t+8|0;p=t+48|0;r=t+4|0;o=t;c[l>>2]=a;c[g>>2]=d;c[m>>2]=e;c[n>>2]=f;c[r>>2]=(c[l>>2]|0)+2772;if((c[(c[l>>2]|0)+2316>>2]|0)!=(c[(c[r>>2]|0)+1384>>2]|0)){wd(c[l>>2]|0);c[(c[r>>2]|0)+1384>>2]=c[(c[l>>2]|0)+2316>>2]}a:do if((c[(c[l>>2]|0)+4160>>2]|0)==0?(c[(c[l>>2]|0)+4164>>2]|0)==0:0){c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[l>>2]|0)+2340>>2]|0))break;d=(c[r>>2]|0)+1280+(c[q>>2]<<1)|0;b[d>>1]=(b[d>>1]|0)+((((b[(c[l>>2]|0)+2344+(c[q>>2]<<1)>>1]|0)-(b[(c[r>>2]|0)+1280+(c[q>>2]<<1)>>1]|0)>>16)*16348|0)+(((b[(c[l>>2]|0)+2344+(c[q>>2]<<1)>>1]|0)-(b[(c[r>>2]|0)+1280+(c[q>>2]<<1)>>1]|0)&65535)*16348>>16));c[q>>2]=(c[q>>2]|0)+1}c[h>>2]=0;c[j>>2]=0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[l>>2]|0)+2324>>2]|0))break;if((c[(c[g>>2]|0)+16+(c[q>>2]<<2)>>2]|0)>(c[h>>2]|0)){c[h>>2]=c[(c[g>>2]|0)+16+(c[q>>2]<<2)>>2];c[j>>2]=c[q>>2]}c[q>>2]=(c[q>>2]|0)+1}qj((c[r>>2]|0)+(c[(c[l>>2]|0)+2332>>2]<<2)|0,c[r>>2]|0,(_((c[(c[l>>2]|0)+2324>>2]|0)-1|0,c[(c[l>>2]|0)+2332>>2]|0)|0)<<2|0)|0;j=_(c[j>>2]|0,c[(c[l>>2]|0)+2332>>2]|0)|0;pj(c[r>>2]|0,(c[l>>2]|0)+4+(j<<2)|0,c[(c[l>>2]|0)+2332>>2]<<2|0)|0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[l>>2]|0)+2324>>2]|0))break a;j=(c[r>>2]|0)+1376|0;c[j>>2]=(c[j>>2]|0)+((((c[(c[g>>2]|0)+16+(c[q>>2]<<2)>>2]|0)-(c[(c[r>>2]|0)+1376>>2]|0)>>16)*4634|0)+(((c[(c[g>>2]|0)+16+(c[q>>2]<<2)>>2]|0)-(c[(c[r>>2]|0)+1376>>2]|0)&65535)*4634>>16));c[q>>2]=(c[q>>2]|0)+1}}while(0);if(!(c[(c[l>>2]|0)+4160>>2]|0)){oj((c[r>>2]|0)+1312|0,0,c[(c[l>>2]|0)+2340>>2]<<2|0)|0;i=t;return}j=(c[n>>2]|0)+16|0;c[o>>2]=ia()|0;h=i;i=i+((1*(j<<2)|0)+15&-16)|0;j=_(b[(c[l>>2]|0)+4168+56>>1]>>16,(c[(c[l>>2]|0)+4168+72+4>>2]&65535)<<16>>16)|0;j=j+((_(b[(c[l>>2]|0)+4168+56>>1]&65535,(c[(c[l>>2]|0)+4168+72+4>>2]&65535)<<16>>16)|0)>>16)|0;c[k>>2]=j+(_(b[(c[l>>2]|0)+4168+56>>1]|0,(c[(c[l>>2]|0)+4168+72+4>>2]>>15)+1>>1)|0);if((c[k>>2]|0)<2097152?(c[(c[r>>2]|0)+1376>>2]|0)<=8388608:0){j=_(c[k>>2]>>16,(c[k>>2]&65535)<<16>>16)|0;j=j+((_(c[k>>2]&65535,(c[k>>2]&65535)<<16>>16)|0)>>16)|0;c[k>>2]=j+(_(c[k>>2]|0,(c[k>>2]>>15)+1>>1)|0);j=_(c[(c[r>>2]|0)+1376>>2]>>16,(c[(c[r>>2]|0)+1376>>2]&65535)<<16>>16)|0;j=j+((_(c[(c[r>>2]|0)+1376>>2]&65535,(c[(c[r>>2]|0)+1376>>2]&65535)<<16>>16)|0)>>16)|0;j=j+(_(c[(c[r>>2]|0)+1376>>2]|0,(c[(c[r>>2]|0)+1376>>2]>>15)+1>>1)|0)|0;c[k>>2]=j-(c[k>>2]<<5);c[k>>2]=(yd(c[k>>2]|0)|0)<<8}else{c[k>>2]=_(c[k>>2]>>16,c[k>>2]>>16)|0;j=_(c[(c[r>>2]|0)+1376>>2]>>16,c[(c[r>>2]|0)+1376>>2]>>16)|0;c[k>>2]=j-(c[k>>2]<<5);c[k>>2]=(yd(c[k>>2]|0)|0)<<16}Cd(h+64|0,c[r>>2]|0,c[k>>2]|0,c[n>>2]|0,(c[r>>2]|0)+1380|0);ag(p,(c[r>>2]|0)+1280|0,c[(c[l>>2]|0)+2340>>2]|0);g=h;e=(c[r>>2]|0)+1312|0;f=g+64|0;do{c[g>>2]=c[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(f|0));c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[n>>2]|0))break;c[s>>2]=c[(c[l>>2]|0)+2340>>2]>>1;k=_(c[h+(16+(c[q>>2]|0)-1<<2)>>2]>>16,b[p>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(k+((_(c[h+(16+(c[q>>2]|0)-1<<2)>>2]&65535,b[p>>1]|0)|0)>>16));k=_(c[h+(16+(c[q>>2]|0)-2<<2)>>2]>>16,b[p+2>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(k+((_(c[h+(16+(c[q>>2]|0)-2<<2)>>2]&65535,b[p+2>>1]|0)|0)>>16));k=_(c[h+(16+(c[q>>2]|0)-3<<2)>>2]>>16,b[p+4>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(k+((_(c[h+(16+(c[q>>2]|0)-3<<2)>>2]&65535,b[p+4>>1]|0)|0)>>16));k=_(c[h+(16+(c[q>>2]|0)-4<<2)>>2]>>16,b[p+6>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(k+((_(c[h+(16+(c[q>>2]|0)-4<<2)>>2]&65535,b[p+6>>1]|0)|0)>>16));k=_(c[h+(16+(c[q>>2]|0)-5<<2)>>2]>>16,b[p+8>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(k+((_(c[h+(16+(c[q>>2]|0)-5<<2)>>2]&65535,b[p+8>>1]|0)|0)>>16));k=_(c[h+(16+(c[q>>2]|0)-6<<2)>>2]>>16,b[p+10>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(k+((_(c[h+(16+(c[q>>2]|0)-6<<2)>>2]&65535,b[p+10>>1]|0)|0)>>16));k=_(c[h+(16+(c[q>>2]|0)-7<<2)>>2]>>16,b[p+12>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(k+((_(c[h+(16+(c[q>>2]|0)-7<<2)>>2]&65535,b[p+12>>1]|0)|0)>>16));k=_(c[h+(16+(c[q>>2]|0)-8<<2)>>2]>>16,b[p+14>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(k+((_(c[h+(16+(c[q>>2]|0)-8<<2)>>2]&65535,b[p+14>>1]|0)|0)>>16));k=_(c[h+(16+(c[q>>2]|0)-9<<2)>>2]>>16,b[p+16>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(k+((_(c[h+(16+(c[q>>2]|0)-9<<2)>>2]&65535,b[p+16>>1]|0)|0)>>16));k=_(c[h+(16+(c[q>>2]|0)-10<<2)>>2]>>16,b[p+18>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(k+((_(c[h+(16+(c[q>>2]|0)-10<<2)>>2]&65535,b[p+18>>1]|0)|0)>>16));if((c[(c[l>>2]|0)+2340>>2]|0)==16){k=_(c[h+(16+(c[q>>2]|0)-11<<2)>>2]>>16,b[p+20>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(k+((_(c[h+(16+(c[q>>2]|0)-11<<2)>>2]&65535,b[p+20>>1]|0)|0)>>16));k=_(c[h+(16+(c[q>>2]|0)-12<<2)>>2]>>16,b[p+22>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(k+((_(c[h+(16+(c[q>>2]|0)-12<<2)>>2]&65535,b[p+22>>1]|0)|0)>>16));k=_(c[h+(16+(c[q>>2]|0)-13<<2)>>2]>>16,b[p+24>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(k+((_(c[h+(16+(c[q>>2]|0)-13<<2)>>2]&65535,b[p+24>>1]|0)|0)>>16));k=_(c[h+(16+(c[q>>2]|0)-14<<2)>>2]>>16,b[p+26>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(k+((_(c[h+(16+(c[q>>2]|0)-14<<2)>>2]&65535,b[p+26>>1]|0)|0)>>16));k=_(c[h+(16+(c[q>>2]|0)-15<<2)>>2]>>16,b[p+28>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(k+((_(c[h+(16+(c[q>>2]|0)-15<<2)>>2]&65535,b[p+28>>1]|0)|0)>>16));k=_(c[h+(16+(c[q>>2]|0)-16<<2)>>2]>>16,b[p+30>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(k+((_(c[h+(16+(c[q>>2]|0)-16<<2)>>2]&65535,b[p+30>>1]|0)|0)>>16))}c[h+(16+(c[q>>2]|0)<<2)>>2]=(c[h+(16+(c[q>>2]|0)<<2)>>2]|0)+(c[s>>2]<<4);if(((b[(c[m>>2]|0)+(c[q>>2]<<1)>>1]|0)+((c[h+(16+(c[q>>2]|0)<<2)>>2]>>9)+1>>1)|0)<=32767)if(((b[(c[m>>2]|0)+(c[q>>2]<<1)>>1]|0)+((c[h+(16+(c[q>>2]|0)<<2)>>2]>>9)+1>>1)|0)<-32768)g=-32768;else g=(b[(c[m>>2]|0)+(c[q>>2]<<1)>>1]|0)+((c[h+(16+(c[q>>2]|0)<<2)>>2]>>9)+1>>1)|0;else g=32767;b[(c[m>>2]|0)+(c[q>>2]<<1)>>1]=g;c[q>>2]=(c[q>>2]|0)+1}g=(c[r>>2]|0)+1312|0;e=h+(c[n>>2]<<2)|0;f=g+64|0;do{c[g>>2]=c[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(f|0));na(c[o>>2]|0);i=t;return}function yd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;b=h+16|0;d=h+12|0;g=h+8|0;f=h+4|0;e=h;c[d>>2]=a;if((c[d>>2]|0)<=0){c[b>>2]=0;g=c[b>>2]|0;i=h;return g|0}zd(c[d>>2]|0,f,e);if(c[f>>2]&1|0)c[g>>2]=32768;else c[g>>2]=46214;c[g>>2]=c[g>>2]>>(c[f>>2]>>1);a=_(c[g>>2]>>16,(((c[e>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0;c[g>>2]=(c[g>>2]|0)+(a+((_(c[g>>2]&65535,(((c[e>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0)>>16));c[b>>2]=c[g>>2];g=c[b>>2]|0;i=h;return g|0}function zd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;h=e+12|0;j=e+8|0;f=e+4|0;g=e;c[h>>2]=a;c[j>>2]=b;c[f>>2]=d;c[g>>2]=Ad(c[h>>2]|0)|0;c[c[j>>2]>>2]=c[g>>2];b=(Bd(c[h>>2]|0,24-(c[g>>2]|0)|0)|0)&127;c[c[f>>2]>>2]=b;i=e;return}function Ad(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){a=32;i=d;return a|0}a=32-(32-(aa(c[b>>2]|0)|0))|0;i=d;return a|0}function Bd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+20|0;d=k+16|0;f=k+12|0;j=k+8|0;h=k+4|0;g=k;c[d>>2]=a;c[f>>2]=b;c[j>>2]=c[d>>2];c[h>>2]=c[f>>2];c[g>>2]=0-(c[f>>2]|0);if(!(c[f>>2]|0)){c[e>>2]=c[d>>2];j=c[e>>2]|0;i=k;return j|0}d=c[j>>2]|0;if((c[f>>2]|0)<0){c[e>>2]=d<>2]|(c[j>>2]|0)>>>(32-(c[g>>2]|0)|0);j=c[e>>2]|0;i=k;return j|0}else{c[e>>2]=d<<32-(c[h>>2]|0)|(c[j>>2]|0)>>>(c[h>>2]|0);j=c[e>>2]|0;i=k;return j|0}return 0}function Cd(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,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;p=q+12|0;n=q+8|0;o=q+4|0;m=q;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=255;while(1){if((c[m>>2]|0)<=(c[k>>2]|0))break;c[m>>2]=c[m>>2]>>1}c[p>>2]=c[c[l>>2]>>2];c[n>>2]=0;while(1){d=c[p>>2]|0;if((c[n>>2]|0)>=(c[k>>2]|0))break;c[p>>2]=907633515+(_(d,196314165)|0);c[o>>2]=c[p>>2]>>24&c[m>>2];f=_(c[(c[h>>2]|0)+(c[o>>2]<<2)>>2]>>16,(c[j>>2]>>4&65535)<<16>>16)|0;f=f+((_(c[(c[h>>2]|0)+(c[o>>2]<<2)>>2]&65535,(c[j>>2]>>4&65535)<<16>>16)|0)>>16)|0;if((f+(_(c[(c[h>>2]|0)+(c[o>>2]<<2)>>2]|0,(c[j>>2]>>4>>15)+1>>1)|0)|0)<=32767){f=_(c[(c[h>>2]|0)+(c[o>>2]<<2)>>2]>>16,(c[j>>2]>>4&65535)<<16>>16)|0;f=f+((_(c[(c[h>>2]|0)+(c[o>>2]<<2)>>2]&65535,(c[j>>2]>>4&65535)<<16>>16)|0)>>16)|0;if((f+(_(c[(c[h>>2]|0)+(c[o>>2]<<2)>>2]|0,(c[j>>2]>>4>>15)+1>>1)|0)|0)<-32768)d=-32768;else{d=_(c[(c[h>>2]|0)+(c[o>>2]<<2)>>2]>>16,(c[j>>2]>>4&65535)<<16>>16)|0;d=d+((_(c[(c[h>>2]|0)+(c[o>>2]<<2)>>2]&65535,(c[j>>2]>>4&65535)<<16>>16)|0)>>16)|0;d=d+(_(c[(c[h>>2]|0)+(c[o>>2]<<2)>>2]|0,(c[j>>2]>>4>>15)+1>>1)|0)|0}}else d=32767;c[(c[g>>2]|0)+(c[n>>2]<<2)>>2]=(d&65535)<<16>>16;c[n>>2]=(c[n>>2]|0)+1}c[c[l>>2]>>2]=d;i=q;return}function Dd(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 j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;s=i;i=i+48|0;j=s+40|0;v=s+36|0;k=s+32|0;t=s+28|0;u=s+24|0;l=s+20|0;m=s+16|0;p=s+12|0;q=s+8|0;n=s+44|0;r=s+4|0;o=s;c[j>>2]=b;c[v>>2]=d;c[k>>2]=e;c[t>>2]=f;c[u>>2]=g;c[l>>2]=h;a[n+1>>0]=0;c[r>>2]=c[v>>2];c[m>>2]=(((c[u>>2]|0)+(c[t>>2]<<1)&65535)<<16>>16)*7;c[o>>2]=30184+(c[m>>2]|0);c[k>>2]=(c[k>>2]|0)+8>>4;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[k>>2]|0))break;c[q>>2]=c[(c[l>>2]|0)+(c[m>>2]<<2)>>2];a:do if((c[q>>2]|0)>0){a[n>>0]=a[(c[o>>2]|0)+((c[q>>2]&31|0)<6?c[q>>2]&31:6)>>0]|0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=16)break a;if(a[(c[r>>2]|0)+(c[p>>2]|0)>>0]|0)qc(c[j>>2]|0,(a[(c[r>>2]|0)+(c[p>>2]|0)>>0]>>15)+1|0,n,8);c[p>>2]=(c[p>>2]|0)+1}}while(0);c[r>>2]=(c[r>>2]|0)+16;c[m>>2]=(c[m>>2]|0)+1}i=s;return}function Ed(d,e,f,g,h,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;t=i;i=i+48|0;k=t+40|0;w=t+36|0;l=t+32|0;u=t+28|0;v=t+24|0;m=t+20|0;n=t+16|0;q=t+12|0;r=t+8|0;o=t+44|0;s=t+4|0;p=t;c[k>>2]=d;c[w>>2]=e;c[l>>2]=f;c[u>>2]=g;c[v>>2]=h;c[m>>2]=j;a[o+1>>0]=0;c[s>>2]=c[w>>2];c[n>>2]=(((c[v>>2]|0)+(c[u>>2]<<1)&65535)<<16>>16)*7;c[p>>2]=30184+(c[n>>2]|0);c[l>>2]=(c[l>>2]|0)+8>>4;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[l>>2]|0))break;c[r>>2]=c[(c[m>>2]|0)+(c[n>>2]<<2)>>2];a:do if((c[r>>2]|0)>0){a[o>>0]=a[(c[p>>2]|0)+((c[r>>2]&31|0)<6?c[r>>2]&31:6)>>0]|0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=16)break a;if((b[(c[s>>2]|0)+(c[q>>2]<<1)>>1]|0)>0){v=((ec(c[k>>2]|0,o,8)|0)<<1)-1|0;w=(c[s>>2]|0)+(c[q>>2]<<1)|0;b[w>>1]=_(b[w>>1]|0,v)|0}c[q>>2]=(c[q>>2]|0)+1}}while(0);c[s>>2]=(c[s>>2]|0)+32;c[n>>2]=(c[n>>2]|0)+1}i=t;return}function Fd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;oj(c[d>>2]|0,0,4260)|0;c[(c[d>>2]|0)+2376>>2]=1;c[c[d>>2]>>2]=65536;wd(c[d>>2]|0);ze(c[d>>2]|0);i=b;return 0}function Gd(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=i;i=i+144|0;o=M+100|0;p=M+96|0;q=M+92|0;l=M+88|0;r=M+84|0;B=M+80|0;D=M+76|0;E=M+72|0;L=M+68|0;J=M+64|0;z=M+60|0;K=M+56|0;t=M+52|0;v=M+48|0;I=M+44|0;u=M+104|0;y=M+40|0;x=M+36|0;w=M+32|0;C=M+28|0;A=M+24|0;n=M+20|0;m=M+16|0;G=M+12|0;F=M+8|0;H=M+4|0;s=M;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[l>>2]=g;c[r>>2]=h;c[E>>2]=0;f=c[(c[o>>2]|0)+2336>>2]|0;c[s>>2]=ia()|0;g=i;i=i+((1*(f<<1)|0)+15&-16)|0;f=i;i=i+((1*((c[(c[o>>2]|0)+2336>>2]|0)+(c[(c[o>>2]|0)+2328>>2]|0)<<2)|0)+15&-16)|0;j=i;i=i+((1*(c[(c[o>>2]|0)+2332>>2]<<2)|0)+15&-16)|0;k=i;i=i+((1*((c[(c[o>>2]|0)+2332>>2]|0)+16<<2)|0)+15&-16)|0;c[m>>2]=b[24558+(a[(c[o>>2]|0)+2736+29>>0]>>1<<2)+(a[(c[o>>2]|0)+2736+30>>0]<<1)>>1];if((a[(c[o>>2]|0)+2736+31>>0]|0)<4)c[z>>2]=1;else c[z>>2]=0;c[n>>2]=a[(c[o>>2]|0)+2736+34>>0];c[B>>2]=0;while(1){if((c[B>>2]|0)>=(c[(c[o>>2]|0)+2328>>2]|0))break;c[n>>2]=907633515+(_(c[n>>2]|0,196314165)|0);c[(c[o>>2]|0)+4+(c[B>>2]<<2)>>2]=b[(c[l>>2]|0)+(c[B>>2]<<1)>>1]<<14;h=(c[o>>2]|0)+4+(c[B>>2]<<2)|0;d=c[h>>2]|0;if((c[(c[o>>2]|0)+4+(c[B>>2]<<2)>>2]|0)<=0){if((d|0)<0){e=(c[o>>2]|0)+4+(c[B>>2]<<2)|0;c[e>>2]=(c[e>>2]|0)+1280}}else c[h>>2]=d-1280;e=(c[o>>2]|0)+4+(c[B>>2]<<2)|0;c[e>>2]=(c[e>>2]|0)+(c[m>>2]<<4);if((c[n>>2]|0)<0)c[(c[o>>2]|0)+4+(c[B>>2]<<2)>>2]=0-(c[(c[o>>2]|0)+4+(c[B>>2]<<2)>>2]|0);c[n>>2]=(c[n>>2]|0)+(b[(c[l>>2]|0)+(c[B>>2]<<1)>>1]|0);c[B>>2]=(c[B>>2]|0)+1}h=k;d=(c[o>>2]|0)+1284|0;e=h+64|0;do{c[h>>2]=c[d>>2];h=h+4|0;d=d+4|0}while((h|0)<(e|0));c[F>>2]=(c[o>>2]|0)+4;c[I>>2]=c[q>>2];c[J>>2]=c[(c[o>>2]|0)+2336>>2];c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[(c[o>>2]|0)+2324>>2]|0))break;c[H>>2]=j;c[t>>2]=(c[p>>2]|0)+32+(c[D>>2]>>1<<5);pj(u|0,c[t>>2]|0,c[(c[o>>2]|0)+2340>>2]<<1|0)|0;c[v>>2]=(c[p>>2]|0)+96+((c[D>>2]|0)*5<<1);c[K>>2]=a[(c[o>>2]|0)+2736+29>>0];c[w>>2]=c[(c[p>>2]|0)+16+(c[D>>2]<<2)>>2]>>6;c[C>>2]=Hd(c[(c[p>>2]|0)+16+(c[D>>2]<<2)>>2]|0,47)|0;a:do if((c[(c[p>>2]|0)+16+(c[D>>2]<<2)>>2]|0)!=(c[c[o>>2]>>2]|0)){c[A>>2]=Jd(c[c[o>>2]>>2]|0,c[(c[p>>2]|0)+16+(c[D>>2]<<2)>>2]|0,16)|0;c[B>>2]=0;while(1){if((c[B>>2]|0)>=16)break a;n=_(c[A>>2]>>16,(c[k+(c[B>>2]<<2)>>2]&65535)<<16>>16)|0;n=n+((_(c[A>>2]&65535,(c[k+(c[B>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;n=n+(_(c[A>>2]|0,(c[k+(c[B>>2]<<2)>>2]>>15)+1>>1)|0)|0;c[k+(c[B>>2]<<2)>>2]=n;c[B>>2]=(c[B>>2]|0)+1}}else c[A>>2]=65536;while(0);c[c[o>>2]>>2]=c[(c[p>>2]|0)+16+(c[D>>2]<<2)>>2];if((c[(c[o>>2]|0)+4160>>2]|0?(c[(c[o>>2]|0)+4164>>2]|0)==2:0)?((c[D>>2]|0)<2?(a[(c[o>>2]|0)+2736+29>>0]|0)!=2:0):0){n=c[v>>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[v>>2]|0)+4>>1]=4096;c[K>>2]=2;c[(c[p>>2]|0)+(c[D>>2]<<2)>>2]=c[(c[o>>2]|0)+2308>>2]}b:do if((c[K>>2]|0)==2){c[E>>2]=c[(c[p>>2]|0)+(c[D>>2]<<2)>>2];if(c[D>>2]|0?!((c[D>>2]|0)==2&(c[z>>2]|0)!=0):0){if((c[A>>2]|0)==65536)break;c[B>>2]=0;while(1){if((c[B>>2]|0)>=((c[E>>2]|0)+2|0))break b;n=_(c[A>>2]>>16,(c[f+((c[J>>2]|0)-(c[B>>2]|0)-1<<2)>>2]&65535)<<16>>16)|0;n=n+((_(c[A>>2]&65535,(c[f+((c[J>>2]|0)-(c[B>>2]|0)-1<<2)>>2]&65535)<<16>>16)|0)>>16)|0;n=n+(_(c[A>>2]|0,(c[f+((c[J>>2]|0)-(c[B>>2]|0)-1<<2)>>2]>>15)+1>>1)|0)|0;c[f+((c[J>>2]|0)-(c[B>>2]|0)-1<<2)>>2]=n;c[B>>2]=(c[B>>2]|0)+1}}c[L>>2]=(c[(c[o>>2]|0)+2336>>2]|0)-(c[E>>2]|0)-(c[(c[o>>2]|0)+2340>>2]|0)-2;if((c[D>>2]|0)==2)pj((c[o>>2]|0)+1348+(c[(c[o>>2]|0)+2336>>2]<<1)|0,c[q>>2]|0,c[(c[o>>2]|0)+2332>>2]<<1<<1|0)|0;n=(c[L>>2]|0)+(_(c[D>>2]|0,c[(c[o>>2]|0)+2332>>2]|0)|0)|0;Xf(g+(c[L>>2]<<1)|0,(c[o>>2]|0)+1348+(n<<1)|0,c[t>>2]|0,(c[(c[o>>2]|0)+2336>>2]|0)-(c[L>>2]|0)|0,c[(c[o>>2]|0)+2340>>2]|0,c[r>>2]|0);if(!(c[D>>2]|0)){n=_(c[C>>2]>>16,(c[(c[p>>2]|0)+136>>2]&65535)<<16>>16)|0;c[C>>2]=n+((_(c[C>>2]&65535,(c[(c[p>>2]|0)+136>>2]&65535)<<16>>16)|0)>>16)<<2}c[B>>2]=0;while(1){if((c[B>>2]|0)>=((c[E>>2]|0)+2|0))break b;n=_(c[C>>2]>>16,b[g+((c[(c[o>>2]|0)+2336>>2]|0)-(c[B>>2]|0)-1<<1)>>1]|0)|0;n=n+((_(c[C>>2]&65535,b[g+((c[(c[o>>2]|0)+2336>>2]|0)-(c[B>>2]|0)-1<<1)>>1]|0)|0)>>16)|0;c[f+((c[J>>2]|0)-(c[B>>2]|0)-1<<2)>>2]=n;c[B>>2]=(c[B>>2]|0)+1}}while(0);c:do if((c[K>>2]|0)==2){c[G>>2]=f+((c[J>>2]|0)-(c[E>>2]|0)+2<<2);c[B>>2]=0;while(1){if((c[B>>2]|0)>=(c[(c[o>>2]|0)+2332>>2]|0))break c;c[y>>2]=2;n=_(c[c[G>>2]>>2]>>16,b[c[v>>2]>>1]|0)|0;c[y>>2]=(c[y>>2]|0)+(n+((_(c[c[G>>2]>>2]&65535,b[c[v>>2]>>1]|0)|0)>>16));n=_(c[(c[G>>2]|0)+-4>>2]>>16,b[(c[v>>2]|0)+2>>1]|0)|0;c[y>>2]=(c[y>>2]|0)+(n+((_(c[(c[G>>2]|0)+-4>>2]&65535,b[(c[v>>2]|0)+2>>1]|0)|0)>>16));n=_(c[(c[G>>2]|0)+-8>>2]>>16,b[(c[v>>2]|0)+4>>1]|0)|0;c[y>>2]=(c[y>>2]|0)+(n+((_(c[(c[G>>2]|0)+-8>>2]&65535,b[(c[v>>2]|0)+4>>1]|0)|0)>>16));n=_(c[(c[G>>2]|0)+-12>>2]>>16,b[(c[v>>2]|0)+6>>1]|0)|0;c[y>>2]=(c[y>>2]|0)+(n+((_(c[(c[G>>2]|0)+-12>>2]&65535,b[(c[v>>2]|0)+6>>1]|0)|0)>>16));n=_(c[(c[G>>2]|0)+-16>>2]>>16,b[(c[v>>2]|0)+8>>1]|0)|0;c[y>>2]=(c[y>>2]|0)+(n+((_(c[(c[G>>2]|0)+-16>>2]&65535,b[(c[v>>2]|0)+8>>1]|0)|0)>>16));c[G>>2]=(c[G>>2]|0)+4;c[(c[H>>2]|0)+(c[B>>2]<<2)>>2]=(c[(c[F>>2]|0)+(c[B>>2]<<2)>>2]|0)+(c[y>>2]<<1);c[f+(c[J>>2]<<2)>>2]=c[(c[H>>2]|0)+(c[B>>2]<<2)>>2]<<1;c[J>>2]=(c[J>>2]|0)+1;c[B>>2]=(c[B>>2]|0)+1}}else c[H>>2]=c[F>>2];while(0);c[B>>2]=0;while(1){if((c[B>>2]|0)>=(c[(c[o>>2]|0)+2332>>2]|0))break;c[x>>2]=c[(c[o>>2]|0)+2340>>2]>>1;n=_(c[k+(16+(c[B>>2]|0)-1<<2)>>2]>>16,b[u>>1]|0)|0;c[x>>2]=(c[x>>2]|0)+(n+((_(c[k+(16+(c[B>>2]|0)-1<<2)>>2]&65535,b[u>>1]|0)|0)>>16));n=_(c[k+(16+(c[B>>2]|0)-2<<2)>>2]>>16,b[u+2>>1]|0)|0;c[x>>2]=(c[x>>2]|0)+(n+((_(c[k+(16+(c[B>>2]|0)-2<<2)>>2]&65535,b[u+2>>1]|0)|0)>>16));n=_(c[k+(16+(c[B>>2]|0)-3<<2)>>2]>>16,b[u+4>>1]|0)|0;c[x>>2]=(c[x>>2]|0)+(n+((_(c[k+(16+(c[B>>2]|0)-3<<2)>>2]&65535,b[u+4>>1]|0)|0)>>16));n=_(c[k+(16+(c[B>>2]|0)-4<<2)>>2]>>16,b[u+6>>1]|0)|0;c[x>>2]=(c[x>>2]|0)+(n+((_(c[k+(16+(c[B>>2]|0)-4<<2)>>2]&65535,b[u+6>>1]|0)|0)>>16));n=_(c[k+(16+(c[B>>2]|0)-5<<2)>>2]>>16,b[u+8>>1]|0)|0;c[x>>2]=(c[x>>2]|0)+(n+((_(c[k+(16+(c[B>>2]|0)-5<<2)>>2]&65535,b[u+8>>1]|0)|0)>>16));n=_(c[k+(16+(c[B>>2]|0)-6<<2)>>2]>>16,b[u+10>>1]|0)|0;c[x>>2]=(c[x>>2]|0)+(n+((_(c[k+(16+(c[B>>2]|0)-6<<2)>>2]&65535,b[u+10>>1]|0)|0)>>16));n=_(c[k+(16+(c[B>>2]|0)-7<<2)>>2]>>16,b[u+12>>1]|0)|0;c[x>>2]=(c[x>>2]|0)+(n+((_(c[k+(16+(c[B>>2]|0)-7<<2)>>2]&65535,b[u+12>>1]|0)|0)>>16));n=_(c[k+(16+(c[B>>2]|0)-8<<2)>>2]>>16,b[u+14>>1]|0)|0;c[x>>2]=(c[x>>2]|0)+(n+((_(c[k+(16+(c[B>>2]|0)-8<<2)>>2]&65535,b[u+14>>1]|0)|0)>>16));n=_(c[k+(16+(c[B>>2]|0)-9<<2)>>2]>>16,b[u+16>>1]|0)|0;c[x>>2]=(c[x>>2]|0)+(n+((_(c[k+(16+(c[B>>2]|0)-9<<2)>>2]&65535,b[u+16>>1]|0)|0)>>16));n=_(c[k+(16+(c[B>>2]|0)-10<<2)>>2]>>16,b[u+18>>1]|0)|0;c[x>>2]=(c[x>>2]|0)+(n+((_(c[k+(16+(c[B>>2]|0)-10<<2)>>2]&65535,b[u+18>>1]|0)|0)>>16));if((c[(c[o>>2]|0)+2340>>2]|0)==16){n=_(c[k+(16+(c[B>>2]|0)-11<<2)>>2]>>16,b[u+20>>1]|0)|0;c[x>>2]=(c[x>>2]|0)+(n+((_(c[k+(16+(c[B>>2]|0)-11<<2)>>2]&65535,b[u+20>>1]|0)|0)>>16));n=_(c[k+(16+(c[B>>2]|0)-12<<2)>>2]>>16,b[u+22>>1]|0)|0;c[x>>2]=(c[x>>2]|0)+(n+((_(c[k+(16+(c[B>>2]|0)-12<<2)>>2]&65535,b[u+22>>1]|0)|0)>>16));n=_(c[k+(16+(c[B>>2]|0)-13<<2)>>2]>>16,b[u+24>>1]|0)|0;c[x>>2]=(c[x>>2]|0)+(n+((_(c[k+(16+(c[B>>2]|0)-13<<2)>>2]&65535,b[u+24>>1]|0)|0)>>16));n=_(c[k+(16+(c[B>>2]|0)-14<<2)>>2]>>16,b[u+26>>1]|0)|0;c[x>>2]=(c[x>>2]|0)+(n+((_(c[k+(16+(c[B>>2]|0)-14<<2)>>2]&65535,b[u+26>>1]|0)|0)>>16));n=_(c[k+(16+(c[B>>2]|0)-15<<2)>>2]>>16,b[u+28>>1]|0)|0;c[x>>2]=(c[x>>2]|0)+(n+((_(c[k+(16+(c[B>>2]|0)-15<<2)>>2]&65535,b[u+28>>1]|0)|0)>>16));n=_(c[k+(16+(c[B>>2]|0)-16<<2)>>2]>>16,b[u+30>>1]|0)|0;c[x>>2]=(c[x>>2]|0)+(n+((_(c[k+(16+(c[B>>2]|0)-16<<2)>>2]&65535,b[u+30>>1]|0)|0)>>16))}c[k+(16+(c[B>>2]|0)<<2)>>2]=(c[(c[H>>2]|0)+(c[B>>2]<<2)>>2]|0)+(c[x>>2]<<4);n=_(c[k+(16+(c[B>>2]|0)<<2)>>2]>>16,(c[w>>2]&65535)<<16>>16)|0;n=n+((_(c[k+(16+(c[B>>2]|0)<<2)>>2]&65535,(c[w>>2]&65535)<<16>>16)|0)>>16)|0;if(((n+(_(c[k+(16+(c[B>>2]|0)<<2)>>2]|0,(c[w>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<=32767){n=_(c[k+(16+(c[B>>2]|0)<<2)>>2]>>16,(c[w>>2]&65535)<<16>>16)|0;n=n+((_(c[k+(16+(c[B>>2]|0)<<2)>>2]&65535,(c[w>>2]&65535)<<16>>16)|0)>>16)|0;if(((n+(_(c[k+(16+(c[B>>2]|0)<<2)>>2]|0,(c[w>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<-32768)h=-32768;else{h=_(c[k+(16+(c[B>>2]|0)<<2)>>2]>>16,(c[w>>2]&65535)<<16>>16)|0;h=h+((_(c[k+(16+(c[B>>2]|0)<<2)>>2]&65535,(c[w>>2]&65535)<<16>>16)|0)>>16)|0;h=(h+(_(c[k+(16+(c[B>>2]|0)<<2)>>2]|0,(c[w>>2]>>15)+1>>1)|0)>>7)+1>>1}}else h=32767;b[(c[I>>2]|0)+(c[B>>2]<<1)>>1]=h;c[B>>2]=(c[B>>2]|0)+1}h=k;d=k+(c[(c[o>>2]|0)+2332>>2]<<2)|0;e=h+64|0;do{c[h>>2]=c[d>>2];h=h+4|0;d=d+4|0}while((h|0)<(e|0));c[F>>2]=(c[F>>2]|0)+(c[(c[o>>2]|0)+2332>>2]<<2);c[I>>2]=(c[I>>2]|0)+(c[(c[o>>2]|0)+2332>>2]<<1);c[D>>2]=(c[D>>2]|0)+1}h=(c[o>>2]|0)+1284|0;d=k;e=h+64|0;do{c[h>>2]=c[d>>2];h=h+4|0;d=d+4|0}while((h|0)<(e|0));na(c[s>>2]|0);i=M;return}function Hd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+48|0;f=h+32|0;n=h+28|0;d=h+24|0;j=h+20|0;g=h+16|0;k=h+12|0;m=h+8|0;l=h+4|0;e=h;c[n>>2]=a;c[d>>2]=b;b=c[n>>2]|0;c[j>>2]=(Id((c[n>>2]|0)>0?b:0-b|0)|0)-1;c[m>>2]=c[n>>2]<>2];c[k>>2]=536870911/(c[m>>2]>>16|0)|0;c[e>>2]=c[k>>2]<<16;b=_(c[m>>2]>>16,(c[k>>2]&65535)<<16>>16)|0;c[l>>2]=536870912-(b+((_(c[m>>2]&65535,(c[k>>2]&65535)<<16>>16)|0)>>16))<<3;b=_(c[l>>2]>>16,(c[k>>2]&65535)<<16>>16)|0;b=(c[e>>2]|0)+(b+((_(c[l>>2]&65535,(c[k>>2]&65535)<<16>>16)|0)>>16))|0;c[e>>2]=b+(_(c[l>>2]|0,(c[k>>2]>>15)+1>>1)|0);c[g>>2]=61-(c[j>>2]|0)-(c[d>>2]|0);b=c[g>>2]|0;if((c[g>>2]|0)>0)if((b|0)<32){c[f>>2]=c[e>>2]>>c[g>>2];n=c[f>>2]|0;i=h;return n|0}else{c[f>>2]=0;n=c[f>>2]|0;i=h;return n|0}a=c[e>>2]|0;d=0-(c[g>>2]|0)|0;do if((-2147483648>>0-b|0)>(2147483647>>0-(c[g>>2]|0)|0)){if((a|0)>(-2147483648>>d|0)){b=-2147483648>>0-(c[g>>2]|0);break}if((c[e>>2]|0)<(2147483647>>0-(c[g>>2]|0)|0)){b=2147483647>>0-(c[g>>2]|0);break}else{b=c[e>>2]|0;break}}else{if((a|0)>(2147483647>>d|0)){b=2147483647>>0-(c[g>>2]|0);break}if((c[e>>2]|0)<(-2147483648>>0-(c[g>>2]|0)|0)){b=-2147483648>>0-(c[g>>2]|0);break}else{b=c[e>>2]|0;break}}while(0);c[f>>2]=b<<0-(c[g>>2]|0);n=c[f>>2]|0;i=h;return n|0}function Id(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){a=32;i=d;return a|0}a=32-(32-(aa(c[b>>2]|0)|0))|0;i=d;return a|0}function Jd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=i;i=i+48|0;f=h+40|0;q=h+36|0;p=h+32|0;j=h+28|0;l=h+24|0;k=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[j>>2]=d;b=c[q>>2]|0;c[l>>2]=(Id((c[q>>2]|0)>0?b:0-b|0)|0)-1;c[n>>2]=c[q>>2]<>2];b=c[p>>2]|0;c[k>>2]=(Id((c[p>>2]|0)>0?b:0-b|0)|0)-1;c[o>>2]=c[p>>2]<>2];c[m>>2]=536870911/(c[o>>2]>>16|0)|0;b=_(c[n>>2]>>16,(c[m>>2]&65535)<<16>>16)|0;c[e>>2]=b+((_(c[n>>2]&65535,(c[m>>2]&65535)<<16>>16)|0)>>16);b=c[n>>2]|0;a=c[o>>2]|0;d=c[e>>2]|0;d=yj(a|0,((a|0)<0)<<31>>31|0,d|0,((d|0)<0)<<31>>31|0)|0;d=nj(d|0,C|0,32)|0;c[n>>2]=b-(d<<3);d=_(c[n>>2]>>16,(c[m>>2]&65535)<<16>>16)|0;c[e>>2]=(c[e>>2]|0)+(d+((_(c[n>>2]&65535,(c[m>>2]&65535)<<16>>16)|0)>>16));c[g>>2]=29+(c[l>>2]|0)-(c[k>>2]|0)-(c[j>>2]|0);d=c[g>>2]|0;if((c[g>>2]|0)>=0)if((d|0)<32){c[f>>2]=c[e>>2]>>c[g>>2];q=c[f>>2]|0;i=h;return q|0}else{c[f>>2]=0;q=c[f>>2]|0;i=h;return q|0}a=c[e>>2]|0;b=0-(c[g>>2]|0)|0;do if((-2147483648>>0-d|0)>(2147483647>>0-(c[g>>2]|0)|0)){if((a|0)>(-2147483648>>b|0)){d=-2147483648>>0-(c[g>>2]|0);break}if((c[e>>2]|0)<(2147483647>>0-(c[g>>2]|0)|0)){d=2147483647>>0-(c[g>>2]|0);break}else{d=c[e>>2]|0;break}}else{if((a|0)>(2147483647>>b|0)){d=2147483647>>0-(c[g>>2]|0);break}if((c[e>>2]|0)<(-2147483648>>0-(c[g>>2]|0)|0)){d=-2147483648>>0-(c[g>>2]|0);break}else{d=c[e>>2]|0;break}}while(0);c[f>>2]=d<<0-(c[g>>2]|0);q=c[f>>2]|0;i=h;return q|0}function Kd(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+192|0;k=x+180|0;l=x+176|0;m=x+172|0;n=x+168|0;o=x+164|0;p=x+160|0;q=x+156|0;s=x+152|0;t=x+148|0;v=x+144|0;u=x+4|0;r=x;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[v>>2]=0;c[s>>2]=c[(c[k>>2]|0)+2328>>2];c[u+136>>2]=0;do if(!(c[o>>2]|0))w=4;else{if((c[o>>2]|0)==2?(c[(c[k>>2]|0)+2420+(c[(c[k>>2]|0)+2388>>2]<<2)>>2]|0)==1:0){w=4;break}Ae(c[k>>2]|0,u,c[m>>2]|0,1,c[q>>2]|0)}while(0);if((w|0)==4){d=(c[s>>2]|0)+16-1&-16;c[r>>2]=ia()|0;w=i;i=i+((1*(d<<1)|0)+15&-16)|0;Md(c[k>>2]|0,c[l>>2]|0,c[(c[k>>2]|0)+2388>>2]|0,c[o>>2]|0,c[p>>2]|0);Nd(c[l>>2]|0,w,a[(c[k>>2]|0)+2736+29>>0]|0,a[(c[k>>2]|0)+2736+30>>0]|0,c[(c[k>>2]|0)+2328>>2]|0);Ld(c[k>>2]|0,u,c[p>>2]|0);Gd(c[k>>2]|0,u,c[m>>2]|0,w,c[q>>2]|0);Ae(c[k>>2]|0,u,c[m>>2]|0,0,c[q>>2]|0);c[(c[k>>2]|0)+4160>>2]=0;c[(c[k>>2]|0)+4164>>2]=a[(c[k>>2]|0)+2736+29>>0];c[(c[k>>2]|0)+2376>>2]=0;na(c[r>>2]|0)}c[t>>2]=(c[(c[k>>2]|0)+2336>>2]|0)-(c[(c[k>>2]|0)+2328>>2]|0);qj((c[k>>2]|0)+1348|0,(c[k>>2]|0)+1348+(c[(c[k>>2]|0)+2328>>2]<<1)|0,c[t>>2]<<1|0)|0;pj((c[k>>2]|0)+1348+(c[t>>2]<<1)|0,c[m>>2]|0,c[(c[k>>2]|0)+2328>>2]<<1|0)|0;xd(c[k>>2]|0,u,c[m>>2]|0,c[s>>2]|0);Le(c[k>>2]|0,c[m>>2]|0,c[s>>2]|0);c[(c[k>>2]|0)+2308>>2]=c[u+((c[(c[k>>2]|0)+2324>>2]|0)-1<<2)>>2];c[c[n>>2]>>2]=c[s>>2];i=x;return c[v>>2]|0}function Ld(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+96|0;g=p+24|0;h=p+20|0;q=p+16|0;l=p+12|0;m=p+8|0;j=p+4|0;o=p+64|0;n=p+32|0;k=p;c[g>>2]=d;c[h>>2]=e;c[q>>2]=f;ae((c[h>>2]|0)+16|0,(c[g>>2]|0)+2736|0,(c[g>>2]|0)+2312|0,(c[q>>2]|0)==2&1,c[(c[g>>2]|0)+2324>>2]|0);ge(o,(c[g>>2]|0)+2736+8|0,c[(c[g>>2]|0)+2732>>2]|0);ag((c[h>>2]|0)+32+32|0,o,c[(c[g>>2]|0)+2340>>2]|0);if((c[(c[g>>2]|0)+2376>>2]|0)==1)a[(c[g>>2]|0)+2736+31>>0]=4;if((a[(c[g>>2]|0)+2736+31>>0]|0)<4){c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[(c[g>>2]|0)+2340>>2]|0))break;q=(b[(c[g>>2]|0)+2344+(c[l>>2]<<1)>>1]|0)+((_(a[(c[g>>2]|0)+2736+31>>0]|0,(b[o+(c[l>>2]<<1)>>1]|0)-(b[(c[g>>2]|0)+2344+(c[l>>2]<<1)>>1]|0)|0)|0)>>2)&65535;b[n+(c[l>>2]<<1)>>1]=q;c[l>>2]=(c[l>>2]|0)+1}ag((c[h>>2]|0)+32|0,n,c[(c[g>>2]|0)+2340>>2]|0)}else pj((c[h>>2]|0)+32|0,(c[h>>2]|0)+32+32|0,c[(c[g>>2]|0)+2340>>2]<<1|0)|0;pj((c[g>>2]|0)+2344|0,o|0,c[(c[g>>2]|0)+2340>>2]<<1|0)|0;if(c[(c[g>>2]|0)+4160>>2]|0){Pf((c[h>>2]|0)+32|0,c[(c[g>>2]|0)+2340>>2]|0,63570);Pf((c[h>>2]|0)+32+32|0,c[(c[g>>2]|0)+2340>>2]|0,63570)}if((a[(c[g>>2]|0)+2736+29>>0]|0)!=2){oj(c[h>>2]|0,0,c[(c[g>>2]|0)+2324>>2]<<2|0)|0;oj((c[h>>2]|0)+96|0,0,(c[(c[g>>2]|0)+2324>>2]|0)*5<<1|0)|0;a[(c[g>>2]|0)+2736+32>>0]=0;c[(c[h>>2]|0)+136>>2]=0;i=p;return}Qf(b[(c[g>>2]|0)+2736+26>>1]|0,a[(c[g>>2]|0)+2736+28>>0]|0,c[h>>2]|0,c[(c[g>>2]|0)+2316>>2]|0,c[(c[g>>2]|0)+2324>>2]|0);c[k>>2]=c[17644+(a[(c[g>>2]|0)+2736+32>>0]<<2)>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[g>>2]|0)+2324>>2]|0))break;c[j>>2]=a[(c[g>>2]|0)+2736+4+(c[m>>2]|0)>>0];c[l>>2]=0;while(1){if((c[l>>2]|0)>=5)break;b[(c[h>>2]|0)+96+(((c[m>>2]|0)*5|0)+(c[l>>2]|0)<<1)>>1]=a[(c[k>>2]|0)+(((c[j>>2]|0)*5|0)+(c[l>>2]|0))>>0]<<7;c[l>>2]=(c[l>>2]|0)+1}c[m>>2]=(c[m>>2]|0)+1}c[j>>2]=a[(c[g>>2]|0)+2736+33>>0];c[(c[h>>2]|0)+136>>2]=b[24566+(c[j>>2]<<1)>>1];i=p;return}function Md(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=i;i=i+96|0;j=t+36|0;k=t+32|0;u=t+28|0;v=t+24|0;l=t+20|0;q=t+16|0;r=t+12|0;m=t+8|0;n=t+4|0;o=t;p=t+40|0;s=t+72|0;c[j>>2]=d;c[k>>2]=e;c[u>>2]=f;c[v>>2]=g;c[l>>2]=h;if(!(c[v>>2]|0)?!(c[(c[j>>2]|0)+2404+(c[u>>2]<<2)>>2]|0):0)c[m>>2]=ec(c[k>>2]|0,29024,8)|0;else c[m>>2]=(ec(c[k>>2]|0,29020,8)|0)+2;a[(c[j>>2]|0)+2736+29>>0]=c[m>>2]>>1;a[(c[j>>2]|0)+2736+30>>0]=c[m>>2]&1;f=c[k>>2]|0;if((c[l>>2]|0)==2){v=(ec(f,26771,8)|0)&255;a[(c[j>>2]|0)+2736>>0]=v}else{u=(ec(f,26747+(a[(c[j>>2]|0)+2736+29>>0]<<3)|0,8)|0)<<3&255;a[(c[j>>2]|0)+2736>>0]=u;u=((ec(c[k>>2]|0,29049,8)|0)&255)<<24>>24;v=(c[j>>2]|0)+2736|0;a[v>>0]=(a[v>>0]|0)+u}c[q>>2]=1;while(1){f=c[k>>2]|0;if((c[q>>2]|0)>=(c[(c[j>>2]|0)+2324>>2]|0))break;v=(ec(f,26771,8)|0)&255;a[(c[j>>2]|0)+2736+(c[q>>2]|0)>>0]=v;c[q>>2]=(c[q>>2]|0)+1}v=_(a[(c[j>>2]|0)+2736+29>>0]>>1,b[c[(c[j>>2]|0)+2732>>2]>>1]|0)|0;v=(ec(f,(c[(c[(c[j>>2]|0)+2732>>2]|0)+12>>2]|0)+v|0,8)|0)&255;a[(c[j>>2]|0)+2736+8>>0]=v;nf(p,s,c[(c[j>>2]|0)+2732>>2]|0,a[(c[j>>2]|0)+2736+8>>0]|0);c[q>>2]=0;while(1){if((c[q>>2]|0)>=(b[(c[(c[j>>2]|0)+2732>>2]|0)+2>>1]|0))break;c[m>>2]=ec(c[k>>2]|0,(c[(c[(c[j>>2]|0)+2732>>2]|0)+24>>2]|0)+(b[p+(c[q>>2]<<1)>>1]|0)|0,8)|0;if(c[m>>2]|0){if((c[m>>2]|0)==8){v=ec(c[k>>2]|0,29057,8)|0;c[m>>2]=(c[m>>2]|0)+v}}else{v=ec(c[k>>2]|0,29057,8)|0;c[m>>2]=(c[m>>2]|0)-v}a[(c[j>>2]|0)+2736+8+((c[q>>2]|0)+1)>>0]=(c[m>>2]|0)-4;c[q>>2]=(c[q>>2]|0)+1}if((c[(c[j>>2]|0)+2324>>2]|0)==4){v=(ec(c[k>>2]|0,29026,8)|0)&255;a[(c[j>>2]|0)+2736+31>>0]=v}else a[(c[j>>2]|0)+2736+31>>0]=4;if((a[(c[j>>2]|0)+2736+29>>0]|0)!=2){v=c[j>>2]|0;v=v+2736|0;v=v+29|0;v=a[v>>0]|0;v=v<<24>>24;u=c[j>>2]|0;u=u+2396|0;c[u>>2]=v;u=c[k>>2]|0;u=ec(u,29034,8)|0;u=u&255;v=c[j>>2]|0;v=v+2736|0;v=v+34|0;a[v>>0]=u;i=t;return}c[n>>2]=1;if(((c[l>>2]|0)==2?(c[(c[j>>2]|0)+2396>>2]|0)==2:0)?(c[o>>2]=((ec(c[k>>2]|0,29096,8)|0)&65535)<<16>>16,(c[o>>2]|0)>0):0){c[o>>2]=(c[o>>2]|0)-9;b[(c[j>>2]|0)+2736+26>>1]=(b[(c[j>>2]|0)+2400>>1]|0)+(c[o>>2]|0);c[n>>2]=0}if(c[n>>2]|0){u=((ec(c[k>>2]|0,29064,8)|0)&65535)<<16>>16;u=(_(u,c[(c[j>>2]|0)+2316>>2]>>1)|0)&65535;b[(c[j>>2]|0)+2736+26>>1]=u;u=((ec(c[k>>2]|0,c[(c[j>>2]|0)+2380>>2]|0,8)|0)&65535)<<16>>16;v=(c[j>>2]|0)+2736+26|0;b[v>>1]=(b[v>>1]|0)+u}b[(c[j>>2]|0)+2400>>1]=b[(c[j>>2]|0)+2736+26>>1]|0;v=(ec(c[k>>2]|0,c[(c[j>>2]|0)+2384>>2]|0,8)|0)&255;a[(c[j>>2]|0)+2736+28>>0]=v;v=(ec(c[k>>2]|0,26812,8)|0)&255;a[(c[j>>2]|0)+2736+32>>0]=v;c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[(c[j>>2]|0)+2324>>2]|0))break;v=(ec(c[k>>2]|0,c[17620+(a[(c[j>>2]|0)+2736+32>>0]<<2)>>2]|0,8)|0)&255;a[(c[j>>2]|0)+2736+4+(c[r>>2]|0)>>0]=v;c[r>>2]=(c[r>>2]|0)+1}if(!(c[l>>2]|0)){v=(ec(c[k>>2]|0,29017,8)|0)&255;a[(c[j>>2]|0)+2736+33>>0]=v;v=c[j>>2]|0;v=v+2736|0;v=v+29|0;v=a[v>>0]|0;v=v<<24>>24;u=c[j>>2]|0;u=u+2396|0;c[u>>2]=v;u=c[k>>2]|0;u=ec(u,29034,8)|0;u=u&255;v=c[j>>2]|0;v=v+2736|0;v=v+34|0;a[v>>0]=u;i=t;return}else{a[(c[j>>2]|0)+2736+33>>0]=0;v=c[j>>2]|0;v=v+2736|0;v=v+29|0;v=a[v>>0]|0;v=v<<24>>24;u=c[j>>2]|0;u=u+2396|0;c[u>>2]=v;u=c[k>>2]|0;u=ec(u,29034,8)|0;u=u&255;v=c[j>>2]|0;v=v+2736|0;v=v+34|0;a[v>>0]=u;i=t;return}}function Nd(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+224|0;k=y+212|0;l=y+208|0;m=y+204|0;n=y+200|0;o=y+196|0;q=y+192|0;s=y+188|0;t=y+184|0;r=y+180|0;p=y+176|0;u=y+172|0;h=y+168|0;x=y+88|0;v=y+8|0;w=y+4|0;j=y;c[k>>2]=a;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[h>>2]=ec(c[k>>2]|0,29523+((c[m>>2]>>1)*9|0)|0,8)|0;c[r>>2]=c[o>>2]>>4;if((c[r>>2]<<4|0)<(c[o>>2]|0))c[r>>2]=(c[r>>2]|0)+1;c[j>>2]=29181+((c[h>>2]|0)*18|0);c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[r>>2]|0))break;c[v+(c[q>>2]<<2)>>2]=0;e=ec(c[k>>2]|0,c[j>>2]|0,8)|0;c[x+(c[q>>2]<<2)>>2]=e;while(1){h=c[q>>2]|0;if((c[x+(c[q>>2]<<2)>>2]|0)!=17)break;e=v+(h<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=ec(c[k>>2]|0,29343+((c[v+(c[q>>2]<<2)>>2]|0)==10&1)|0,8)|0;c[x+(c[q>>2]<<2)>>2]=e}c[q>>2]=h+1}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[r>>2]|0))break;h=(c[l>>2]|0)+((c[q>>2]&65535)<<16>>16<<4<<1)|0;if((c[x+(c[q>>2]<<2)>>2]|0)>0)Se(h,c[k>>2]|0,c[x+(c[q>>2]<<2)>>2]|0);else{g=h+32|0;do{b[h>>1]=0;h=h+2|0}while((h|0)<(g|0))}c[q>>2]=(c[q>>2]|0)+1}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[r>>2]|0))break;if((c[v+(c[q>>2]<<2)>>2]|0)>0){c[u>>2]=c[v+(c[q>>2]<<2)>>2];c[w>>2]=(c[l>>2]|0)+((c[q>>2]&65535)<<16>>16<<4<<1);c[t>>2]=0;while(1){if((c[t>>2]|0)>=16)break;c[p>>2]=b[(c[w>>2]|0)+(c[t>>2]<<1)>>1];c[s>>2]=0;while(1){h=c[p>>2]|0;if((c[s>>2]|0)>=(c[u>>2]|0))break;c[p>>2]=h<<1;j=ec(c[k>>2]|0,29015,8)|0;c[p>>2]=(c[p>>2]|0)+j;c[s>>2]=(c[s>>2]|0)+1}b[(c[w>>2]|0)+(c[t>>2]<<1)>>1]=h;c[t>>2]=(c[t>>2]|0)+1}j=x+(c[q>>2]<<2)|0;c[j>>2]=c[j>>2]|c[u>>2]<<5}c[q>>2]=(c[q>>2]|0)+1}Ed(c[k>>2]|0,c[l>>2]|0,c[o>>2]|0,c[m>>2]|0,c[n>>2]|0,x);i=y;return}function Od(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;f=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[h>>2]=d;c[f>>2]=e;c[k>>2]=0;c[(c[g>>2]|0)+2332>>2]=((c[h>>2]&65535)<<16>>16)*5;c[j>>2]=_((c[(c[g>>2]|0)+2324>>2]&65535)<<16>>16,(c[(c[g>>2]|0)+2332>>2]&65535)<<16>>16)|0;if(!((c[(c[g>>2]|0)+2316>>2]|0)==(c[h>>2]|0)?(c[(c[g>>2]|0)+2320>>2]|0)==(c[f>>2]|0):0)){b=ig((c[g>>2]|0)+2432|0,((c[h>>2]&65535)<<16>>16)*1e3|0,c[f>>2]|0,0)|0;c[k>>2]=(c[k>>2]|0)+b;c[(c[g>>2]|0)+2320>>2]=c[f>>2]}if((c[(c[g>>2]|0)+2316>>2]|0)==(c[h>>2]|0)?(c[j>>2]|0)==(c[(c[g>>2]|0)+2328>>2]|0):0){k=c[k>>2]|0;i=l;return k|0}f=(c[(c[g>>2]|0)+2324>>2]|0)==4;e=(c[g>>2]|0)+2384|0;do if((c[h>>2]|0)==8)if(f){c[e>>2]=29151;break}else{c[e>>2]=29174;break}else if(f){c[e>>2]=29117;break}else{c[e>>2]=29162;break}while(0);if((c[(c[g>>2]|0)+2316>>2]|0)!=(c[h>>2]|0)){c[(c[g>>2]|0)+2336>>2]=((c[h>>2]&65535)<<16>>16)*20;f=(c[g>>2]|0)+2340|0;if((c[h>>2]|0)==8|(c[h>>2]|0)==12){c[f>>2]=10;c[(c[g>>2]|0)+2732>>2]=17668}else{c[f>>2]=16;c[(c[g>>2]|0)+2732>>2]=17704}do if((c[h>>2]|0)!=16){if((c[h>>2]|0)==12){c[(c[g>>2]|0)+2380>>2]=29043;break}if((c[h>>2]|0)==8)c[(c[g>>2]|0)+2380>>2]=29034}else c[(c[g>>2]|0)+2380>>2]=29049;while(0);c[(c[g>>2]|0)+2376>>2]=1;c[(c[g>>2]|0)+2308>>2]=100;a[(c[g>>2]|0)+2312>>0]=10;c[(c[g>>2]|0)+4164>>2]=0;oj((c[g>>2]|0)+1348|0,0,960)|0;f=(c[g>>2]|0)+1284|0;e=f+64|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(e|0))}c[(c[g>>2]|0)+2316>>2]=c[h>>2];c[(c[g>>2]|0)+2328>>2]=c[j>>2];k=c[k>>2]|0;i=l;return k|0}function Pd(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=0;c[c[e>>2]>>2]=8544;i=d;return c[b>>2]|0}function Qd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;e=g+8|0;f=g+4|0;d=g;c[b>>2]=a;c[f>>2]=0;c[d>>2]=c[b>>2];c[e>>2]=0;while(1){if((c[e>>2]|0)>=2)break;c[f>>2]=Fd((c[d>>2]|0)+((c[e>>2]|0)*4260|0)|0)|0;c[e>>2]=(c[e>>2]|0)+1}e=(c[b>>2]|0)+8520|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[(c[b>>2]|0)+8540>>2]=0;i=g;return c[f>>2]|0}function Rd(d,e,f,g,h,j,k,l){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;P=i;i=i+784|0;y=P+128|0;R=P+124|0;z=P+120|0;A=P+116|0;Q=P+112|0;r=P+108|0;B=P+104|0;C=P+100|0;s=P+96|0;G=P+92|0;I=P+88|0;F=P+84|0;M=P+80|0;J=P+76|0;n=P+72|0;N=P+64|0;u=P+56|0;L=P+52|0;K=P+48|0;E=P+44|0;w=P+40|0;O=P+36|0;x=P+32|0;m=P+28|0;p=P+136|0;o=P+24|0;D=P+20|0;t=P+16|0;v=P+12|0;H=P;c[R>>2]=d;c[z>>2]=e;c[A>>2]=f;c[Q>>2]=g;c[r>>2]=h;c[B>>2]=j;c[C>>2]=k;c[s>>2]=l;c[F>>2]=0;c[M>>2]=0;c[u>>2]=0;c[u+4>>2]=0;c[K>>2]=c[R>>2];c[E>>2]=c[K>>2];a:do if(c[Q>>2]|0){c[I>>2]=0;while(1){if((c[I>>2]|0)>=(c[(c[z>>2]|0)+4>>2]|0))break a;c[(c[E>>2]|0)+((c[I>>2]|0)*4260|0)+2388>>2]=0;c[I>>2]=(c[I>>2]|0)+1}}while(0);if((c[(c[z>>2]|0)+4>>2]|0)>(c[(c[K>>2]|0)+8536>>2]|0)){R=Fd((c[E>>2]|0)+4260|0)|0;c[M>>2]=(c[M>>2]|0)+R}if((c[(c[z>>2]|0)+4>>2]|0)==1?(c[(c[K>>2]|0)+8536>>2]|0)==2:0)l=(c[(c[z>>2]|0)+12>>2]|0)==((c[(c[E>>2]|0)+2316>>2]|0)*1e3|0);else l=0;c[O>>2]=l&1;b:do if(!(c[(c[E>>2]|0)+2388>>2]|0)){c[I>>2]=0;c:while(1){if((c[I>>2]|0)>=(c[(c[z>>2]|0)+4>>2]|0))break b;do if(!(c[(c[z>>2]|0)+16>>2]|0)){c[(c[E>>2]|0)+((c[I>>2]|0)*4260|0)+2392>>2]=1;c[(c[E>>2]|0)+((c[I>>2]|0)*4260|0)+2324>>2]=2}else{if((c[(c[z>>2]|0)+16>>2]|0)==10){c[(c[E>>2]|0)+((c[I>>2]|0)*4260|0)+2392>>2]=1;c[(c[E>>2]|0)+((c[I>>2]|0)*4260|0)+2324>>2]=2;break}if((c[(c[z>>2]|0)+16>>2]|0)==20){c[(c[E>>2]|0)+((c[I>>2]|0)*4260|0)+2392>>2]=1;c[(c[E>>2]|0)+((c[I>>2]|0)*4260|0)+2324>>2]=4;break}if((c[(c[z>>2]|0)+16>>2]|0)==40){c[(c[E>>2]|0)+((c[I>>2]|0)*4260|0)+2392>>2]=2;c[(c[E>>2]|0)+((c[I>>2]|0)*4260|0)+2324>>2]=4;break}if((c[(c[z>>2]|0)+16>>2]|0)!=60){q=23;break c}c[(c[E>>2]|0)+((c[I>>2]|0)*4260|0)+2392>>2]=3;c[(c[E>>2]|0)+((c[I>>2]|0)*4260|0)+2324>>2]=4}while(0);c[m>>2]=(c[(c[z>>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}R=Od((c[E>>2]|0)+((c[I>>2]|0)*4260|0)|0,c[m>>2]|0,c[(c[z>>2]|0)+8>>2]|0)|0;c[M>>2]=(c[M>>2]|0)+R;c[I>>2]=(c[I>>2]|0)+1}if((q|0)==23){c[y>>2]=-203;R=c[y>>2]|0;i=P;return R|0}else if((q|0)==25){c[y>>2]=-200;R=c[y>>2]|0;i=P;return R|0}}while(0);do if((c[c[z>>2]>>2]|0)==2?(c[(c[z>>2]|0)+4>>2]|0)==2:0){if((c[(c[K>>2]|0)+8532>>2]|0)!=1?(c[(c[K>>2]|0)+8536>>2]|0)!=1:0)break;c[(c[K>>2]|0)+8520>>2]=0;c[(c[K>>2]|0)+8520+8>>2]=0;pj((c[E>>2]|0)+4260+2432|0,(c[E>>2]|0)+2432|0,300)|0}while(0);c[(c[K>>2]|0)+8532>>2]=c[c[z>>2]>>2];c[(c[K>>2]|0)+8536>>2]=c[(c[z>>2]|0)+4>>2];if((c[(c[z>>2]|0)+8>>2]|0)<=48e3?(c[(c[z>>2]|0)+8>>2]|0)>=8e3:0){d:do if((c[A>>2]|0)!=1?(c[(c[E>>2]|0)+2388>>2]|0)==0:0){c[I>>2]=0;while(1){if((c[I>>2]|0)>=(c[(c[z>>2]|0)+4>>2]|0))break;c[G>>2]=0;while(1){R=(c[G>>2]|0)<(c[(c[E>>2]|0)+((c[I>>2]|0)*4260|0)+2392>>2]|0);l=dc(c[r>>2]|0,1)|0;if(!R)break;c[(c[E>>2]|0)+((c[I>>2]|0)*4260|0)+2404+(c[G>>2]<<2)>>2]=l;c[G>>2]=(c[G>>2]|0)+1}c[(c[E>>2]|0)+((c[I>>2]|0)*4260|0)+2416>>2]=l;c[I>>2]=(c[I>>2]|0)+1}c[I>>2]=0;while(1){if((c[I>>2]|0)>=(c[(c[z>>2]|0)+4>>2]|0))break;R=(c[E>>2]|0)+((c[I>>2]|0)*4260|0)+2420|0;c[R>>2]=0;c[R+4>>2]=0;c[R+8>>2]=0;e:do if(c[(c[E>>2]|0)+((c[I>>2]|0)*4260|0)+2416>>2]|0){if((c[(c[E>>2]|0)+((c[I>>2]|0)*4260|0)+2392>>2]|0)==1){c[(c[E>>2]|0)+((c[I>>2]|0)*4260|0)+2420>>2]=1;break}c[n>>2]=(ec(c[r>>2]|0,c[17836+((c[(c[E>>2]|0)+((c[I>>2]|0)*4260|0)+2392>>2]|0)-2<<2)>>2]|0,8)|0)+1;c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[(c[E>>2]|0)+((c[I>>2]|0)*4260|0)+2392>>2]|0))break e;c[(c[E>>2]|0)+((c[I>>2]|0)*4260|0)+2420+(c[G>>2]<<2)>>2]=c[n>>2]>>c[G>>2]&1;c[G>>2]=(c[G>>2]|0)+1}}while(0);c[I>>2]=(c[I>>2]|0)+1}if(!(c[A>>2]|0)){c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[(c[E>>2]|0)+2392>>2]|0))break d;c[I>>2]=0;while(1){l=c[G>>2]|0;if((c[I>>2]|0)>=(c[(c[z>>2]|0)+4>>2]|0))break;if(c[(c[E>>2]|0)+((c[I>>2]|0)*4260|0)+2420+(l<<2)>>2]|0){do if((c[I>>2]|0)==0?(c[(c[z>>2]|0)+4>>2]|0)==2:0){xg(c[r>>2]|0,u);if(c[(c[E>>2]|0)+4260+2420+(c[G>>2]<<2)>>2]|0)break;yg(c[r>>2]|0,F)}while(0);do if((c[G>>2]|0)>0){if(!(c[(c[E>>2]|0)+((c[I>>2]|0)*4260|0)+2420+((c[G>>2]|0)-1<<2)>>2]|0)){q=64;break}c[o>>2]=2}else q=64;while(0);if((q|0)==64){q=0;c[o>>2]=0}Md((c[E>>2]|0)+((c[I>>2]|0)*4260|0)|0,c[r>>2]|0,c[G>>2]|0,1,c[o>>2]|0);Nd(c[r>>2]|0,p,a[(c[E>>2]|0)+((c[I>>2]|0)*4260|0)+2736+29>>0]|0,a[(c[E>>2]|0)+((c[I>>2]|0)*4260|0)+2736+30>>0]|0,c[(c[E>>2]|0)+((c[I>>2]|0)*4260|0)+2328>>2]|0)}c[I>>2]=(c[I>>2]|0)+1}c[G>>2]=l+1}}}while(0);f:do if((c[(c[z>>2]|0)+4>>2]|0)==2){do if(c[A>>2]|0){if((c[A>>2]|0)==2?(c[(c[E>>2]|0)+2420+(c[(c[E>>2]|0)+2388>>2]<<2)>>2]|0)==1:0)break;c[I>>2]=0;while(1){if((c[I>>2]|0)>=2)break f;c[u+(c[I>>2]<<2)>>2]=b[(c[K>>2]|0)+8520+(c[I>>2]<<1)>>1];c[I>>2]=(c[I>>2]|0)+1}}while(0);xg(c[r>>2]|0,u);if(!((c[A>>2]|0)==0?!(c[(c[E>>2]|0)+4260+2404+(c[(c[E>>2]|0)+2388>>2]<<2)>>2]|0):0))q=74;do if((q|0)==74){if((c[A>>2]|0)==2?(c[(c[E>>2]|0)+4260+2420+(c[(c[E>>2]|0)+2388>>2]<<2)>>2]|0)==0:0)break;c[F>>2]=0;break f}while(0);yg(c[r>>2]|0,F)}while(0);if(((c[F>>2]|0)==0?(c[(c[z>>2]|0)+4>>2]|0)==2:0)?(c[(c[K>>2]|0)+8540>>2]|0)==1:0){oj((c[K>>2]|0)+4260+1348|0,0,960)|0;l=(c[K>>2]|0)+4260+1284|0;e=l+64|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(e|0));c[(c[K>>2]|0)+4260+2308>>2]=100;a[(c[K>>2]|0)+4260+2312>>0]=10;c[(c[K>>2]|0)+4260+4164>>2]=0;c[(c[K>>2]|0)+4260+2376>>2]=1}R=_(c[(c[z>>2]|0)+12>>2]|0,c[(c[z>>2]|0)+4>>2]|0)|0;c[x>>2]=(R|0)<(_(c[(c[z>>2]|0)+8>>2]|0,c[c[z>>2]>>2]|0)|0)&1;if(c[x>>2]|0)l=1;else l=_(c[(c[z>>2]|0)+4>>2]|0,(c[(c[E>>2]|0)+2328>>2]|0)+2|0)|0;c[D>>2]=ia()|0;e=i;i=i+((1*(l<<1)|0)+15&-16)|0;if(c[x>>2]|0){c[N>>2]=c[B>>2];c[N+4>>2]=(c[B>>2]|0)+(c[(c[E>>2]|0)+2328>>2]<<1)+4}else{c[N>>2]=e;c[N+4>>2]=e+(c[(c[E>>2]|0)+2328>>2]<<1)+4}if(!(c[A>>2]|0))c[w>>2]=((c[F>>2]|0)!=0^1)&1;else{if(c[(c[K>>2]|0)+8540>>2]|0)if((c[A>>2]|0)==2?(c[(c[z>>2]|0)+4>>2]|0)==2:0)l=(c[(c[E>>2]|0)+4260+2420+(c[(c[E>>2]|0)+4260+2388>>2]<<2)>>2]|0)==1;else l=0;else l=1;c[w>>2]=l&1}c[I>>2]=0;while(1){if((c[I>>2]|0)>=(c[(c[z>>2]|0)+4>>2]|0))break;if((c[I>>2]|0)==0|(c[w>>2]|0)!=0){c[t>>2]=(c[(c[E>>2]|0)+2388>>2]|0)-(c[I>>2]|0);g:do if((c[t>>2]|0)<=0)c[v>>2]=0;else{if((c[A>>2]|0)==2){c[v>>2]=c[(c[E>>2]|0)+((c[I>>2]|0)*4260|0)+2420+((c[t>>2]|0)-1<<2)>>2]|0?2:0;break}do if((c[I>>2]|0)>0){if(!(c[(c[K>>2]|0)+8540>>2]|0))break;c[v>>2]=1;break g}while(0);c[v>>2]=2}while(0);R=Kd((c[E>>2]|0)+((c[I>>2]|0)*4260|0)|0,c[r>>2]|0,(c[N+(c[I>>2]<<2)>>2]|0)+4|0,J,c[A>>2]|0,c[v>>2]|0,c[s>>2]|0)|0;c[M>>2]=(c[M>>2]|0)+R}else oj((c[N+(c[I>>2]<<2)>>2]|0)+4|0,0,c[J>>2]<<1|0)|0;R=(c[E>>2]|0)+((c[I>>2]|0)*4260|0)+2388|0;c[R>>2]=(c[R>>2]|0)+1;c[I>>2]=(c[I>>2]|0)+1}if((c[c[z>>2]>>2]|0)==2?(c[(c[z>>2]|0)+4>>2]|0)==2:0)uf((c[K>>2]|0)+8520|0,c[N>>2]|0,c[N+4>>2]|0,u,c[(c[E>>2]|0)+2316>>2]|0,c[J>>2]|0);else{R=c[N>>2]|0;Q=(c[K>>2]|0)+8520+4|0;b[R>>1]=b[Q>>1]|0;b[R+2>>1]=b[Q+2>>1]|0;R=(c[K>>2]|0)+8520+4|0;Q=(c[N>>2]|0)+(c[J>>2]<<1)|0;b[R>>1]=b[Q>>1]|0;b[R+2>>1]=b[Q+2>>1]|0}R=_(c[J>>2]|0,c[(c[z>>2]|0)+8>>2]|0)|0;c[c[C>>2]>>2]=(R|0)/(((c[(c[E>>2]|0)+2316>>2]&65535)<<16>>16)*1e3|0)|0;if((c[c[z>>2]>>2]|0)==2)l=c[c[C>>2]>>2]|0;else l=1;e=i;i=i+((1*(l<<1)|0)+15&-16)|0;if((c[c[z>>2]>>2]|0)==2)c[L>>2]=e;else c[L>>2]=c[B>>2];if(c[x>>2]|0)l=_(c[(c[z>>2]|0)+4>>2]|0,(c[(c[E>>2]|0)+2328>>2]|0)+2|0)|0;else l=1;e=i;i=i+((1*(l<<1)|0)+15&-16)|0;if(c[x>>2]|0){R=(_(c[(c[z>>2]|0)+4>>2]|0,(c[(c[E>>2]|0)+2328>>2]|0)+2|0)|0)<<1;pj(e|0,c[B>>2]|0,R+0|0)|0;c[N>>2]=e;c[N+4>>2]=e+(c[(c[E>>2]|0)+2328>>2]<<1)+4}c[I>>2]=0;while(1){l=c[z>>2]|0;if((c[c[z>>2]>>2]|0)<(c[(c[z>>2]|0)+4>>2]|0))l=c[l>>2]|0;else l=c[l+4>>2]|0;if((c[I>>2]|0)>=(l|0))break;R=jg((c[E>>2]|0)+((c[I>>2]|0)*4260|0)+2432|0,c[L>>2]|0,(c[N+(c[I>>2]<<2)>>2]|0)+2|0,c[J>>2]|0)|0;c[M>>2]=(c[M>>2]|0)+R;h:do if((c[c[z>>2]>>2]|0)==2){c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[c[C>>2]>>2]|0))break h;b[(c[B>>2]|0)+((c[I>>2]|0)+(c[G>>2]<<1)<<1)>>1]=b[(c[L>>2]|0)+(c[G>>2]<<1)>>1]|0;c[G>>2]=(c[G>>2]|0)+1}}while(0);c[I>>2]=(c[I>>2]|0)+1}i:do if((c[c[z>>2]>>2]|0)==2){if((c[(c[z>>2]|0)+4>>2]|0)!=1)break;if(c[O>>2]|0){R=jg((c[E>>2]|0)+4260+2432|0,c[L>>2]|0,(c[N>>2]|0)+2|0,c[J>>2]|0)|0;c[M>>2]=(c[M>>2]|0)+R;c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[c[C>>2]>>2]|0))break i;b[(c[B>>2]|0)+(1+(c[G>>2]<<1)<<1)>>1]=b[(c[L>>2]|0)+(c[G>>2]<<1)>>1]|0;c[G>>2]=(c[G>>2]|0)+1}}else{c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[c[C>>2]>>2]|0))break i;b[(c[B>>2]|0)+(1+(c[G>>2]<<1)<<1)>>1]=b[(c[B>>2]|0)+(0+(c[G>>2]<<1)<<1)>>1]|0;c[G>>2]=(c[G>>2]|0)+1}}}while(0);if((c[(c[E>>2]|0)+4164>>2]|0)==2){c[H>>2]=c[4402];c[H+4>>2]=c[4403];c[H+8>>2]=c[4404];R=_(c[(c[E>>2]|0)+2308>>2]|0,c[H+((c[(c[E>>2]|0)+2316>>2]|0)-8>>2<<2)>>2]|0)|0;c[(c[z>>2]|0)+20>>2]=R}else c[(c[z>>2]|0)+20>>2]=0;j:do if((c[A>>2]|0)==1){c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[(c[K>>2]|0)+8536>>2]|0))break j;a[(c[K>>2]|0)+((c[G>>2]|0)*4260|0)+2312>>0]=10;c[G>>2]=(c[G>>2]|0)+1}}else c[(c[K>>2]|0)+8540>>2]=c[F>>2];while(0);c[y>>2]=c[M>>2];na(c[D>>2]|0);R=c[y>>2]|0;i=P;return R|0}c[M>>2]=-200;c[y>>2]=c[M>>2];R=c[y>>2]|0;i=P;return R|0}function Sd(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=0;c[c[e>>2]>>2]=24568;i=d;return c[b>>2]|0}function Td(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;g=l+12|0;j=l+8|0;h=l+4|0;k=l;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=0;c[j>>2]=c[e>>2];oj(c[j>>2]|0,0,24568)|0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=2)break;d=xf((c[j>>2]|0)+((c[h>>2]|0)*12240|0)|0,c[f>>2]|0)|0;c[k>>2]=(c[k>>2]|0)+d;c[h>>2]=(c[h>>2]|0)+1}c[(c[j>>2]|0)+24544>>2]=1;c[(c[j>>2]|0)+24548>>2]=1;j=Ud(c[e>>2]|0,c[g>>2]|0)|0;c[k>>2]=(c[k>>2]|0)+j;i=l;return c[k>>2]|0}function Ud(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;g=i;i=i+32|0;j=g+16|0;d=g+12|0;e=g+8|0;f=g+4|0;h=g;c[j>>2]=a;c[d>>2]=b;c[e>>2]=0;c[h>>2]=c[j>>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;j=c[d>>2]|0;j=j+76|0;c[j>>2]=h;j=c[e>>2]|0;i=g;return j|0}h=(c[(c[f>>2]|0)+16+12>>2]|0)==0;h=h&1;j=c[d>>2]|0;j=j+76|0;c[j>>2]=h;j=c[e>>2]|0;i=g;return j|0}function Vd(d,e,f,g,h,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,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=i;i=i+176|0;P=Y+156|0;Z=Y+152|0;Q=Y+148|0;o=Y+144|0;p=Y+140|0;q=Y+136|0;r=Y+132|0;R=Y+128|0;T=Y+124|0;B=Y+120|0;F=Y+116|0;A=Y+112|0;X=Y+108|0;W=Y+104|0;V=Y+100|0;I=Y+96|0;J=Y+92|0;G=Y+88|0;H=Y+84|0;m=Y+80|0;K=Y+76|0;u=Y+72|0;t=Y+64|0;w=Y+56|0;s=Y+52|0;L=Y+48|0;U=Y+44|0;n=Y+40|0;z=Y+36|0;M=Y+32|0;l=Y+28|0;S=Y+24|0;D=Y+20|0;C=Y+160|0;x=Y+16|0;v=Y+12|0;E=Y+8|0;N=Y+4|0;y=Y;c[Z>>2]=d;c[Q>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[R>>2]=k;c[X>>2]=0;c[W>>2]=0;c[V>>2]=0;c[H>>2]=0;c[U>>2]=c[Z>>2];if(c[(c[Q>>2]|0)+64>>2]|0){c[(c[U>>2]|0)+4696>>2]=1;c[(c[U>>2]|0)+12240+4696>>2]=1}c[(c[U>>2]|0)+12240+5780>>2]=0;c[(c[U>>2]|0)+5780>>2]=0;Z=vf(c[Q>>2]|0)|0;c[V>>2]=Z;if(Z|0){c[P>>2]=c[V>>2];Z=c[P>>2]|0;i=Y;return Z|0}c[(c[Q>>2]|0)+84>>2]=0;if((c[(c[Q>>2]|0)+4>>2]|0)>(c[(c[U>>2]|0)+24548>>2]|0)?(Z=xf((c[U>>2]|0)+12240|0,c[(c[U>>2]|0)+5124>>2]|0)|0,c[V>>2]=(c[V>>2]|0)+Z,c[(c[U>>2]|0)+24480>>2]=0,c[(c[U>>2]|0)+24480+8>>2]=0,c[(c[U>>2]|0)+24480+12>>2]=0,c[(c[U>>2]|0)+24480+12+4>>2]=1,c[(c[U>>2]|0)+24480+12+8>>2]=0,c[(c[U>>2]|0)+24480+12+12>>2]=1,b[(c[U>>2]|0)+24480+30>>1]=0,b[(c[U>>2]|0)+24480+28>>1]=16384,(c[(c[U>>2]|0)+24544>>2]|0)==2):0){pj((c[U>>2]|0)+12240+5808|0,(c[U>>2]|0)+5808|0,300)|0;Z=(c[U>>2]|0)+12240|0;f=c[U>>2]|0;c[Z>>2]=c[f>>2];c[Z+4>>2]=c[f+4>>2]}if((c[(c[Q>>2]|0)+24>>2]|0)!=(c[(c[U>>2]|0)+4636>>2]|0))e=1;else e=(c[(c[U>>2]|0)+24548>>2]|0)!=(c[(c[Q>>2]|0)+4>>2]|0);c[n>>2]=e&1;c[(c[U>>2]|0)+24544>>2]=c[c[Q>>2]>>2];c[(c[U>>2]|0)+24548>>2]=c[(c[Q>>2]|0)+4>>2];c[G>>2]=((c[p>>2]|0)*100|0)/(c[(c[Q>>2]|0)+8>>2]|0)|0;c[M>>2]=(c[G>>2]|0)>1?c[G>>2]>>1:1;c[z>>2]=0;e=c[G>>2]|0;a:do if(!(c[R>>2]|0)){Z=_(e,c[(c[Q>>2]|0)+8>>2]|0)|0;if((c[p>>2]|0)<0?1:(Z|0)!=((c[p>>2]|0)*100|0)){c[P>>2]=-101;Z=c[P>>2]|0;i=Y;return Z|0}if(((c[p>>2]|0)*1e3|0)>(_(c[(c[Q>>2]|0)+24>>2]|0,c[(c[Q>>2]|0)+8>>2]|0)|0)){c[P>>2]=-101;Z=c[P>>2]|0;i=Y;return Z|0}}else{if((e|0)!=1){c[P>>2]=-101;Z=c[P>>2]|0;i=Y;return Z|0}c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[(c[Q>>2]|0)+4>>2]|0))break;c[V>>2]=xf((c[U>>2]|0)+((c[T>>2]|0)*12240|0)|0,c[(c[U>>2]|0)+((c[T>>2]|0)*12240|0)+5124>>2]|0)|0;c[T>>2]=(c[T>>2]|0)+1}c[X>>2]=c[(c[Q>>2]|0)+24>>2];c[(c[Q>>2]|0)+24>>2]=10;c[W>>2]=c[(c[Q>>2]|0)+36>>2];c[(c[Q>>2]|0)+36>>2]=0;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[(c[Q>>2]|0)+4>>2]|0))break a;c[(c[U>>2]|0)+((c[T>>2]|0)*12240|0)+4700>>2]=0;c[(c[U>>2]|0)+((c[T>>2]|0)*12240|0)+4712>>2]=1;c[T>>2]=(c[T>>2]|0)+1}}while(0);c[u>>2]=c[(c[Q>>2]|0)+28>>2]>>(c[(c[Q>>2]|0)+4>>2]|0)-1;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[(c[Q>>2]|0)+4>>2]|0))break;if((c[T>>2]|0)==1)e=c[(c[U>>2]|0)+4600>>2]|0;else e=0;c[l>>2]=e;Z=yf((c[U>>2]|0)+((c[T>>2]|0)*12240|0)|0,c[Q>>2]|0,c[u>>2]|0,c[(c[U>>2]|0)+24560>>2]|0,c[T>>2]|0,c[l>>2]|0)|0;c[V>>2]=Z;if(Z|0){O=28;break}b:do if(c[n>>2]|0?1:(c[(c[U>>2]|0)+((c[T>>2]|0)*12240|0)+4696>>2]|0)!=0){c[B>>2]=0;while(1){if((c[B>>2]|0)>=(c[(c[U>>2]|0)+5776>>2]|0))break b;c[(c[U>>2]|0)+((c[T>>2]|0)*12240|0)+4756+(c[B>>2]<<2)>>2]=0;c[B>>2]=(c[B>>2]|0)+1}}while(0);c[(c[U>>2]|0)+((c[T>>2]|0)*12240|0)+6112>>2]=c[(c[U>>2]|0)+((c[T>>2]|0)*12240|0)+6108>>2];c[T>>2]=(c[T>>2]|0)+1}if((O|0)==28){c[P>>2]=c[V>>2];Z=c[P>>2]|0;i=Y;return Z|0}c[J>>2]=_((c[G>>2]|0)*10|0,c[(c[U>>2]|0)+4600>>2]|0)|0;Z=_(c[J>>2]|0,c[(c[U>>2]|0)+4580>>2]|0)|0;c[m>>2]=(Z|0)/((c[(c[U>>2]|0)+4600>>2]|0)*1e3|0)|0;Z=c[m>>2]|0;c[S>>2]=ia()|0;d=i;i=i+((1*(Z<<1)|0)+15&-16)|0;while(1){c[I>>2]=(c[(c[U>>2]|0)+4608>>2]|0)-(c[(c[U>>2]|0)+5772>>2]|0);c[I>>2]=(c[I>>2]|0)<(c[J>>2]|0)?c[I>>2]|0:c[J>>2]|0;Z=_(c[I>>2]|0,c[(c[U>>2]|0)+4580>>2]|0)|0;c[H>>2]=(Z|0)/((c[(c[U>>2]|0)+4600>>2]|0)*1e3|0)|0;if((c[c[Q>>2]>>2]|0)==2?(c[(c[Q>>2]|0)+4>>2]|0)==2:0){c[D>>2]=c[(c[U>>2]|0)+5780>>2];c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[H>>2]|0))break;b[d+(c[T>>2]<<1)>>1]=b[(c[o>>2]|0)+(c[T>>2]<<1<<1)>>1]|0;c[T>>2]=(c[T>>2]|0)+1}if((c[D>>2]|0)==0?(c[(c[U>>2]|0)+24552>>2]|0)==1:0)pj((c[U>>2]|0)+12240+5808|0,(c[U>>2]|0)+5808|0,300)|0;Z=jg((c[U>>2]|0)+5808|0,(c[U>>2]|0)+5128+((c[(c[U>>2]|0)+5772>>2]|0)+2<<1)|0,d,c[H>>2]|0)|0;c[V>>2]=(c[V>>2]|0)+Z;Z=(c[U>>2]|0)+5772|0;c[Z>>2]=(c[Z>>2]|0)+(c[I>>2]|0);c[I>>2]=(c[(c[U>>2]|0)+12240+4608>>2]|0)-(c[(c[U>>2]|0)+12240+5772>>2]|0);if((c[I>>2]|0)<(_((c[G>>2]|0)*10|0,c[(c[U>>2]|0)+12240+4600>>2]|0)|0))e=c[I>>2]|0;else e=_((c[G>>2]|0)*10|0,c[(c[U>>2]|0)+12240+4600>>2]|0)|0;c[I>>2]=e;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[H>>2]|0))break;b[d+(c[T>>2]<<1)>>1]=b[(c[o>>2]|0)+((c[T>>2]<<1)+1<<1)>>1]|0;c[T>>2]=(c[T>>2]|0)+1}Z=jg((c[U>>2]|0)+12240+5808|0,(c[U>>2]|0)+12240+5128+((c[(c[U>>2]|0)+12240+5772>>2]|0)+2<<1)|0,d,c[H>>2]|0)|0;c[V>>2]=(c[V>>2]|0)+Z;Z=(c[U>>2]|0)+12240+5772|0;c[Z>>2]=(c[Z>>2]|0)+(c[I>>2]|0)}else O=49;do if((O|0)==49){O=0;if((c[c[Q>>2]>>2]|0)==2?(c[(c[Q>>2]|0)+4>>2]|0)==1:0){c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[H>>2]|0))break;c[L>>2]=(b[(c[o>>2]|0)+(c[T>>2]<<1<<1)>>1]|0)+(b[(c[o>>2]|0)+((c[T>>2]<<1)+1<<1)>>1]|0);b[d+(c[T>>2]<<1)>>1]=(c[L>>2]>>1)+(c[L>>2]&1);c[T>>2]=(c[T>>2]|0)+1}Z=jg((c[U>>2]|0)+5808|0,(c[U>>2]|0)+5128+((c[(c[U>>2]|0)+5772>>2]|0)+2<<1)|0,d,c[H>>2]|0)|0;c[V>>2]=(c[V>>2]|0)+Z;c:do if((c[(c[U>>2]|0)+24552>>2]|0)==2?(c[(c[U>>2]|0)+5780>>2]|0)==0:0){Z=jg((c[U>>2]|0)+12240+5808|0,(c[U>>2]|0)+12240+5128+((c[(c[U>>2]|0)+12240+5772>>2]|0)+2<<1)|0,d,c[H>>2]|0)|0;c[V>>2]=(c[V>>2]|0)+Z;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[(c[U>>2]|0)+4608>>2]|0))break c;b[(c[U>>2]|0)+5128+((c[(c[U>>2]|0)+5772>>2]|0)+(c[T>>2]|0)+2<<1)>>1]=(b[(c[U>>2]|0)+5128+((c[(c[U>>2]|0)+5772>>2]|0)+(c[T>>2]|0)+2<<1)>>1]|0)+(b[(c[U>>2]|0)+12240+5128+((c[(c[U>>2]|0)+12240+5772>>2]|0)+(c[T>>2]|0)+2<<1)>>1]|0)>>1;c[T>>2]=(c[T>>2]|0)+1}}while(0);Z=(c[U>>2]|0)+5772|0;c[Z>>2]=(c[Z>>2]|0)+(c[I>>2]|0);break}pj(d|0,c[o>>2]|0,c[H>>2]<<1|0)|0;Z=jg((c[U>>2]|0)+5808|0,(c[U>>2]|0)+5128+((c[(c[U>>2]|0)+5772>>2]|0)+2<<1)|0,d,c[H>>2]|0)|0;c[V>>2]=(c[V>>2]|0)+Z;Z=(c[U>>2]|0)+5772|0;c[Z>>2]=(c[Z>>2]|0)+(c[I>>2]|0)}while(0);Z=_(c[H>>2]|0,c[c[Q>>2]>>2]|0)|0;c[o>>2]=(c[o>>2]|0)+(Z<<1);c[p>>2]=(c[p>>2]|0)-(c[H>>2]|0);c[(c[U>>2]|0)+24560>>2]=0;if((c[(c[U>>2]|0)+5772>>2]|0)<(c[(c[U>>2]|0)+4608>>2]|0))break;if(!(c[R>>2]|0?1:(c[(c[U>>2]|0)+5780>>2]|0)!=0)){a[C>>0]=0;a[C+1>>0]=0;a[C>>0]=256-(256>>(_((c[(c[U>>2]|0)+5776>>2]|0)+1|0,c[(c[Q>>2]|0)+4>>2]|0)|0));qc(c[q>>2]|0,0,C,8);c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[(c[Q>>2]|0)+4>>2]|0))break;c[s>>2]=0;c[B>>2]=0;while(1){if((c[B>>2]|0)>=(c[(c[U>>2]|0)+((c[T>>2]|0)*12240|0)+5776>>2]|0))break;c[s>>2]=c[s>>2]|c[(c[U>>2]|0)+((c[T>>2]|0)*12240|0)+4756+(c[B>>2]<<2)>>2]<>2];c[B>>2]=(c[B>>2]|0)+1}a[(c[U>>2]|0)+((c[T>>2]|0)*12240|0)+4755>>0]=(c[s>>2]|0)>0?1:0;if(c[s>>2]|0?(c[(c[U>>2]|0)+((c[T>>2]|0)*12240|0)+5776>>2]|0)>1:0)qc(c[q>>2]|0,(c[s>>2]|0)-1|0,c[17836+((c[(c[U>>2]|0)+((c[T>>2]|0)*12240|0)+5776>>2]|0)-2<<2)>>2]|0,8);c[T>>2]=(c[T>>2]|0)+1}c[B>>2]=0;while(1){Z=(c[B>>2]|0)<(c[(c[U>>2]|0)+5776>>2]|0);c[T>>2]=0;if(!Z)break;while(1){e=c[B>>2]|0;if((c[T>>2]|0)>=(c[(c[Q>>2]|0)+4>>2]|0))break;if(c[(c[U>>2]|0)+((c[T>>2]|0)*12240|0)+4756+(e<<2)>>2]|0){if(((c[T>>2]|0)==0?(c[(c[Q>>2]|0)+4>>2]|0)==2:0)?(zg(c[q>>2]|0,(c[U>>2]|0)+24480+34+((c[B>>2]|0)*6|0)|0),(c[(c[U>>2]|0)+12240+4756+(c[B>>2]<<2)>>2]|0)==0):0)Ag(c[q>>2]|0,a[(c[U>>2]|0)+24480+52+(c[B>>2]|0)>>0]|0);if((c[B>>2]|0)>0?c[(c[U>>2]|0)+((c[T>>2]|0)*12240|0)+4756+((c[B>>2]|0)-1<<2)>>2]|0:0)c[x>>2]=2;else c[x>>2]=0;Xd((c[U>>2]|0)+((c[T>>2]|0)*12240|0)|0,c[q>>2]|0,c[B>>2]|0,1,c[x>>2]|0);Yd(c[q>>2]|0,a[(c[U>>2]|0)+((c[T>>2]|0)*12240|0)+6132+((c[B>>2]|0)*36|0)+29>>0]|0,a[(c[U>>2]|0)+((c[T>>2]|0)*12240|0)+6132+((c[B>>2]|0)*36|0)+30>>0]|0,(c[U>>2]|0)+((c[T>>2]|0)*12240|0)+6240+((c[B>>2]|0)*320|0)|0,c[(c[U>>2]|0)+((c[T>>2]|0)*12240|0)+4608>>2]|0)}c[T>>2]=(c[T>>2]|0)+1}c[B>>2]=e+1}while(1){if((c[T>>2]|0)>=(c[(c[Q>>2]|0)+4>>2]|0))break;Z=(c[U>>2]|0)+((c[T>>2]|0)*12240|0)+4756|0;c[Z>>2]=0;c[Z+4>>2]=0;c[Z+8>>2]=0;c[T>>2]=(c[T>>2]|0)+1}Z=Wd(c[q>>2]|0)|0;c[(c[U>>2]|0)+24536>>2]=Z}ff(c[U>>2]|0);c[F>>2]=(_(c[(c[Q>>2]|0)+28>>2]|0,c[(c[Q>>2]|0)+24>>2]|0)|0)/1e3|0;if(!(c[R>>2]|0))c[F>>2]=(c[F>>2]|0)-(c[(c[U>>2]|0)+24536>>2]|0);c[F>>2]=(c[F>>2]|0)/(c[(c[U>>2]|0)+5776>>2]|0)|0;e=(c[F>>2]&65535)<<16>>16;if((c[(c[Q>>2]|0)+24>>2]|0)==10)c[u>>2]=e*100;else c[u>>2]=e*50;c[u>>2]=(c[u>>2]|0)-(((c[(c[U>>2]|0)+24540>>2]|0)*1e3|0)/500|0);if((c[R>>2]|0)==0?(c[(c[U>>2]|0)+5780>>2]|0)>0:0){Z=Wd(c[q>>2]|0)|0;c[v>>2]=Z-(c[(c[U>>2]|0)+24536>>2]|0)-(_(c[F>>2]|0,c[(c[U>>2]|0)+5780>>2]|0)|0);c[u>>2]=(c[u>>2]|0)-(((c[v>>2]|0)*1e3|0)/500|0)}e=c[u>>2]|0;do if((c[(c[Q>>2]|0)+28>>2]|0)>5e3)if((e|0)>(c[(c[Q>>2]|0)+28>>2]|0)){e=c[(c[Q>>2]|0)+28>>2]|0;break}else{e=(c[u>>2]|0)<5e3?5e3:c[u>>2]|0;break}else if((e|0)<=5e3)if((c[u>>2]|0)<(c[(c[Q>>2]|0)+28>>2]|0)){e=c[(c[Q>>2]|0)+28>>2]|0;break}else{e=c[u>>2]|0;break}else e=5e3;while(0);c[u>>2]=e;e=c[U>>2]|0;if((c[(c[Q>>2]|0)+4>>2]|0)==2){qf(e+24480|0,(c[U>>2]|0)+5128+4|0,(c[U>>2]|0)+12240+5128+4|0,(c[U>>2]|0)+24480+34+((c[(c[U>>2]|0)+5780>>2]|0)*6|0)|0,(c[U>>2]|0)+24480+52+(c[(c[U>>2]|0)+5780>>2]|0)|0,t,c[u>>2]|0,c[(c[U>>2]|0)+4556>>2]|0,c[(c[Q>>2]|0)+56>>2]|0,c[(c[U>>2]|0)+4600>>2]|0,c[(c[U>>2]|0)+4608>>2]|0);e=c[U>>2]|0;if(!(a[(c[U>>2]|0)+24480+52+(c[(c[U>>2]|0)+5780>>2]|0)>>0]|0)){if((c[e+24564>>2]|0)==1){Z=(c[U>>2]|0)+12240+7200|0;c[Z>>2]=0;c[Z+4>>2]=0;c[Z+8>>2]=0;c[Z+12>>2]=0;oj((c[U>>2]|0)+12240+7216|0,0,2140)|0;oj((c[U>>2]|0)+12240+144|0,0,4380)|0;Z=(c[U>>2]|0)+12240+4524|0;c[Z>>2]=0;c[Z+4>>2]=0;c[Z+8>>2]=0;c[Z+12>>2]=0;c[Z+16>>2]=0;c[Z+20>>2]=0;c[Z+24>>2]=0;c[Z+28>>2]=0;Z=(c[U>>2]|0)+12240+16|0;c[Z>>2]=0;c[Z+4>>2]=0;c[(c[U>>2]|0)+12240+4568>>2]=100;c[(c[U>>2]|0)+12240+144+4356>>2]=100;a[(c[U>>2]|0)+12240+7200>>0]=10;a[(c[U>>2]|0)+12240+4565>>0]=0;c[(c[U>>2]|0)+12240+144+4372>>2]=65536;c[(c[U>>2]|0)+12240+4696>>2]=1}Mg((c[U>>2]|0)+12240|0)}else a[(c[U>>2]|0)+12240+4752+(c[e+5780>>2]|0)>>0]=0;if((c[R>>2]|0)==0?(zg(c[q>>2]|0,(c[U>>2]|0)+24480+34+((c[(c[U>>2]|0)+5780>>2]|0)*6|0)|0),(a[(c[U>>2]|0)+12240+4752+(c[(c[U>>2]|0)+5780>>2]|0)>>0]|0)==0):0)Ag(c[q>>2]|0,a[(c[U>>2]|0)+24480+52+(c[(c[U>>2]|0)+5780>>2]|0)>>0]|0)}else{c[e+5128>>2]=c[(c[U>>2]|0)+24480+4>>2];Z=(c[U>>2]|0)+24480+4|0;n=(c[U>>2]|0)+5128+(c[(c[U>>2]|0)+4608>>2]<<1)|0;b[Z>>1]=b[n>>1]|0;b[Z+2>>1]=b[n+2>>1]|0}Mg(c[U>>2]|0);c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[(c[Q>>2]|0)+4>>2]|0))break;c[E>>2]=c[(c[Q>>2]|0)+52>>2];do if(!((c[M>>2]|0)==2&(c[z>>2]|0)==0)){if((c[M>>2]|0)==3){if(!(c[z>>2]|0)){c[E>>2]=(c[E>>2]<<1|0)/5|0;break}if((c[z>>2]|0)!=1)break;c[E>>2]=((c[E>>2]|0)*3|0)/4|0}}else c[E>>2]=((c[E>>2]|0)*3|0)/5|0;while(0);if(c[(c[Q>>2]|0)+48>>2]|0)e=(c[z>>2]|0)==((c[M>>2]|0)-1|0);else e=0;c[N>>2]=e&1;do if((c[(c[Q>>2]|0)+4>>2]|0)==1)c[w>>2]=c[u>>2];else{c[w>>2]=c[t+(c[T>>2]<<2)>>2];if(c[T>>2]|0)break;if((c[t+4>>2]|0)<=0)break;c[N>>2]=0;c[E>>2]=(c[E>>2]|0)-((c[(c[Q>>2]|0)+52>>2]|0)/(c[M>>2]<<1|0)|0)}while(0);if((c[w>>2]|0)>0){wf((c[U>>2]|0)+((c[T>>2]|0)*12240|0)|0,c[w>>2]|0)|0;d:do if(((c[(c[U>>2]|0)+5780>>2]|0)-(c[T>>2]|0)|0)<=0)c[y>>2]=0;else{do if((c[T>>2]|0)>0){if(!(c[(c[U>>2]|0)+24564>>2]|0))break;c[y>>2]=1;break d}while(0);c[y>>2]=2}while(0);c[V>>2]=Ng((c[U>>2]|0)+((c[T>>2]|0)*12240|0)|0,c[r>>2]|0,c[q>>2]|0,c[y>>2]|0,c[E>>2]|0,c[N>>2]|0)|0}c[(c[U>>2]|0)+((c[T>>2]|0)*12240|0)+4700>>2]=0;c[(c[U>>2]|0)+((c[T>>2]|0)*12240|0)+5772>>2]=0;Z=(c[U>>2]|0)+((c[T>>2]|0)*12240|0)+5780|0;c[Z>>2]=(c[Z>>2]|0)+1;c[T>>2]=(c[T>>2]|0)+1}c[(c[U>>2]|0)+24564>>2]=a[(c[U>>2]|0)+24480+52+((c[(c[U>>2]|0)+5780>>2]|0)-1)>>0];do if((c[c[r>>2]>>2]|0)>0?(c[(c[U>>2]|0)+5780>>2]|0)==(c[(c[U>>2]|0)+5776>>2]|0):0){c[A>>2]=0;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[(c[Q>>2]|0)+4>>2]|0))break;c[B>>2]=0;while(1){Z=(c[B>>2]|0)<(c[(c[U>>2]|0)+((c[T>>2]|0)*12240|0)+5776>>2]|0);c[A>>2]=c[A>>2]<<1;if(!Z)break;c[A>>2]=c[A>>2]|a[(c[U>>2]|0)+((c[T>>2]|0)*12240|0)+4752+(c[B>>2]|0)>>0];c[B>>2]=(c[B>>2]|0)+1}c[A>>2]=c[A>>2]|a[(c[U>>2]|0)+((c[T>>2]|0)*12240|0)+4755>>0];c[T>>2]=(c[T>>2]|0)+1}if(!(c[R>>2]|0))uc(c[q>>2]|0,c[A>>2]|0,_((c[(c[U>>2]|0)+5776>>2]|0)+1|0,c[(c[Q>>2]|0)+4>>2]|0)|0);do if(c[(c[U>>2]|0)+6112>>2]|0){if((c[(c[Q>>2]|0)+4>>2]|0)!=1?(c[(c[U>>2]|0)+12240+6112>>2]|0)==0:0)break;c[c[r>>2]>>2]=0}while(0);n=(c[U>>2]|0)+24540|0;c[n>>2]=(c[n>>2]|0)+(c[c[r>>2]>>2]<<3);n=(_(c[(c[Q>>2]|0)+28>>2]|0,c[(c[Q>>2]|0)+24>>2]|0)|0)/1e3|0;Z=(c[U>>2]|0)+24540|0;c[Z>>2]=(c[Z>>2]|0)-n;do if((c[(c[U>>2]|0)+24540>>2]|0)>1e4)e=1e4;else{if((c[(c[U>>2]|0)+24540>>2]|0)<0){e=0;break}e=c[(c[U>>2]|0)+24540>>2]|0}while(0);c[(c[U>>2]|0)+24540>>2]=e;c[K>>2]=13+(0+(((c[(c[U>>2]|0)+24556>>2]&65535)<<16>>16)*3188>>16));e=(c[U>>2]|0)+24560|0;if((c[(c[U>>2]|0)+4556>>2]|0)<(c[K>>2]|0)){c[e>>2]=1;c[(c[U>>2]|0)+24556>>2]=0;break}else{c[e>>2]=0;Z=(c[U>>2]|0)+24556|0;c[Z>>2]=(c[Z>>2]|0)+(c[(c[Q>>2]|0)+24>>2]|0);break}}while(0);if(!(c[p>>2]|0))break;c[z>>2]=(c[z>>2]|0)+1}c[(c[U>>2]|0)+24552>>2]=c[(c[Q>>2]|0)+4>>2];c[(c[Q>>2]|0)+72>>2]=c[(c[U>>2]|0)+24560>>2];if((c[(c[U>>2]|0)+4600>>2]|0)==16)e=(c[(c[U>>2]|0)+16+12>>2]|0)==0;else e=0;c[(c[Q>>2]|0)+76>>2]=e&1;c[(c[Q>>2]|0)+68>>2]=((c[(c[U>>2]|0)+4600>>2]&65535)<<16>>16)*1e3;if(c[(c[Q>>2]|0)+56>>2]|0)e=0;else e=b[(c[U>>2]|0)+24480+28>>1]|0;c[(c[Q>>2]|0)+80>>2]=e;e:do if(c[R>>2]|0){c[(c[Q>>2]|0)+24>>2]=c[X>>2];c[(c[Q>>2]|0)+36>>2]=c[W>>2];c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[(c[Q>>2]|0)+4>>2]|0))break e;c[(c[U>>2]|0)+((c[T>>2]|0)*12240|0)+4700>>2]=0;c[(c[U>>2]|0)+((c[T>>2]|0)*12240|0)+4712>>2]=0;c[T>>2]=(c[T>>2]|0)+1}}while(0);c[P>>2]=c[V>>2];na(c[S>>2]|0);Z=c[P>>2]|0;i=Y;return Z|0}function Wd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[(c[d>>2]|0)+20>>2]|0)-(32-(aa(c[(c[d>>2]|0)+28>>2]|0)|0))|0;i=b;return a|0}function Xd(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+112|0;n=y+48|0;o=y+44|0;j=y+40|0;k=y+36|0;p=y+32|0;t=y+28|0;u=y+24|0;l=y+20|0;s=y+16|0;q=y+12|0;r=y+56|0;m=y+88|0;x=y+8|0;v=y+4|0;w=y;c[n>>2]=d;c[o>>2]=e;c[j>>2]=f;c[k>>2]=g;c[p>>2]=h;if(c[k>>2]|0)c[x>>2]=(c[n>>2]|0)+6132+((c[j>>2]|0)*36|0);else c[x>>2]=(c[n>>2]|0)+4768;c[l>>2]=(a[(c[x>>2]|0)+29>>0]<<1)+(a[(c[x>>2]|0)+30>>0]|0);j=c[o>>2]|0;f=c[l>>2]|0;if((c[k>>2]|0)!=0|(c[l>>2]|0)>=2)qc(j,f-2|0,29020,8);else qc(j,f,29024,8);j=c[o>>2]|0;f=a[c[x>>2]>>0]|0;if((c[p>>2]|0)==2)qc(j,f,26771,8);else{qc(j,f>>3,26747+(a[(c[x>>2]|0)+29>>0]<<3)|0,8);qc(c[o>>2]|0,a[c[x>>2]>>0]&7,29049,8)}c[t>>2]=1;while(1){j=c[o>>2]|0;if((c[t>>2]|0)>=(c[(c[n>>2]|0)+4604>>2]|0))break;qc(j,a[(c[x>>2]|0)+(c[t>>2]|0)>>0]|0,26771,8);c[t>>2]=(c[t>>2]|0)+1}l=_(a[(c[x>>2]|0)+29>>0]>>1,b[c[(c[n>>2]|0)+4724>>2]>>1]|0)|0;qc(j,a[(c[x>>2]|0)+8>>0]|0,(c[(c[(c[n>>2]|0)+4724>>2]|0)+12>>2]|0)+l|0,8);nf(r,m,c[(c[n>>2]|0)+4724>>2]|0,a[(c[x>>2]|0)+8>>0]|0);c[t>>2]=0;while(1){if((c[t>>2]|0)>=(b[(c[(c[n>>2]|0)+4724>>2]|0)+2>>1]|0))break;do if((a[(c[x>>2]|0)+8+((c[t>>2]|0)+1)>>0]|0)<4){j=c[o>>2]|0;f=c[t>>2]|0;if((a[(c[x>>2]|0)+8+((c[t>>2]|0)+1)>>0]|0)<=-4){qc(j,0,(c[(c[(c[n>>2]|0)+4724>>2]|0)+24>>2]|0)+(b[r+(f<<1)>>1]|0)|0,8);qc(c[o>>2]|0,0-(a[(c[x>>2]|0)+8+((c[t>>2]|0)+1)>>0]|0)-4|0,29057,8);break}else{qc(j,(a[(c[x>>2]|0)+8+(f+1)>>0]|0)+4|0,(c[(c[(c[n>>2]|0)+4724>>2]|0)+24>>2]|0)+(b[r+(c[t>>2]<<1)>>1]|0)|0,8);break}}else{qc(c[o>>2]|0,8,(c[(c[(c[n>>2]|0)+4724>>2]|0)+24>>2]|0)+(b[r+(c[t>>2]<<1)>>1]|0)|0,8);qc(c[o>>2]|0,(a[(c[x>>2]|0)+8+((c[t>>2]|0)+1)>>0]|0)-4|0,29057,8)}while(0);c[t>>2]=(c[t>>2]|0)+1}if((c[(c[n>>2]|0)+4604>>2]|0)==4)qc(c[o>>2]|0,a[(c[x>>2]|0)+31>>0]|0,29026,8);if((a[(c[x>>2]|0)+29>>0]|0)!=2){v=c[x>>2]|0;v=v+29|0;v=a[v>>0]|0;v=v<<24>>24;w=c[n>>2]|0;w=w+5800|0;c[w>>2]=v;w=c[o>>2]|0;x=c[x>>2]|0;x=x+34|0;x=a[x>>0]|0;x=x<<24>>24;qc(w,x,29034,8);i=y;return}c[s>>2]=1;if((c[p>>2]|0)==2?(c[(c[n>>2]|0)+5800>>2]|0)==2:0){c[q>>2]=(b[(c[x>>2]|0)+26>>1]|0)-(b[(c[n>>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[s>>2]=0}qc(c[o>>2]|0,c[q>>2]|0,29096,8)}if(c[s>>2]|0){c[v>>2]=(b[(c[x>>2]|0)+26>>1]|0)/(c[(c[n>>2]|0)+4600>>2]>>1|0)|0;c[w>>2]=(b[(c[x>>2]|0)+26>>1]|0)-(_((c[v>>2]&65535)<<16>>16,(c[(c[n>>2]|0)+4600>>2]>>1&65535)<<16>>16)|0);qc(c[o>>2]|0,c[v>>2]|0,29064,8);qc(c[o>>2]|0,c[w>>2]|0,c[(c[n>>2]|0)+4716>>2]|0,8)}b[(c[n>>2]|0)+5804>>1]=b[(c[x>>2]|0)+26>>1]|0;qc(c[o>>2]|0,a[(c[x>>2]|0)+28>>0]|0,c[(c[n>>2]|0)+4720>>2]|0,8);qc(c[o>>2]|0,a[(c[x>>2]|0)+32>>0]|0,26812,8);c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[(c[n>>2]|0)+4604>>2]|0))break;qc(c[o>>2]|0,a[(c[x>>2]|0)+4+(c[u>>2]|0)>>0]|0,c[17620+(a[(c[x>>2]|0)+32>>0]<<2)>>2]|0,8);c[u>>2]=(c[u>>2]|0)+1}if(c[p>>2]|0){v=c[x>>2]|0;v=v+29|0;v=a[v>>0]|0;v=v<<24>>24;w=c[n>>2]|0;w=w+5800|0;c[w>>2]=v;w=c[o>>2]|0;x=c[x>>2]|0;x=x+34|0;x=a[x>>0]|0;x=x<<24>>24;qc(w,x,29034,8);i=y;return}qc(c[o>>2]|0,a[(c[x>>2]|0)+33>>0]|0,29017,8);v=c[x>>2]|0;v=v+29|0;v=a[v>>0]|0;v=v<<24>>24;w=c[n>>2]|0;w=w+5800|0;c[w>>2]=v;w=c[o>>2]|0;x=c[x>>2]|0;x=x+34|0;x=a[x>>0]|0;x=x<<24>>24;qc(w,x,29034,8);i=y;return}function Yd(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+128|0;r=F+116|0;s=F+112|0;t=F+108|0;u=F+104|0;v=F+100|0;z=F+96|0;C=F+92|0;B=F+88|0;A=F+84|0;y=F+80|0;D=F+76|0;o=F+72|0;j=F+68|0;x=F+64|0;l=F+60|0;p=F+56|0;n=F+24|0;k=F+16|0;E=F+12|0;q=F+8|0;m=F+4|0;w=F;c[r>>2]=b;c[s>>2]=e;c[t>>2]=f;c[u>>2]=g;c[v>>2]=h;c[j>>2]=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;c[n+20>>2]=0;c[n+24>>2]=0;c[n+28>>2]=0;c[A>>2]=c[v>>2]>>4;if((c[A>>2]<<4|0)<(c[v>>2]|0)){c[A>>2]=(c[A>>2]|0)+1;h=(c[u>>2]|0)+(c[v>>2]|0)|0;b=h+16|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(b|0))}e=c[A>>2]<<4;c[w>>2]=ia()|0;b=i;i=i+((1*(e<<2)|0)+15&-16)|0;c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[A>>2]<<4|0))break;e=a[(c[u>>2]|0)+((c[z>>2]|0)+0)>>0]|0;c[b+((c[z>>2]|0)+0<<2)>>2]=(a[(c[u>>2]|0)+((c[z>>2]|0)+0)>>0]|0)>0?e:0-e|0;e=a[(c[u>>2]|0)+((c[z>>2]|0)+1)>>0]|0;c[b+((c[z>>2]|0)+1<<2)>>2]=(a[(c[u>>2]|0)+((c[z>>2]|0)+1)>>0]|0)>0?e:0-e|0;e=a[(c[u>>2]|0)+((c[z>>2]|0)+2)>>0]|0;c[b+((c[z>>2]|0)+2<<2)>>2]=(a[(c[u>>2]|0)+((c[z>>2]|0)+2)>>0]|0)>0?e:0-e|0;e=a[(c[u>>2]|0)+((c[z>>2]|0)+3)>>0]|0;c[b+((c[z>>2]|0)+3<<2)>>2]=(a[(c[u>>2]|0)+((c[z>>2]|0)+3)>>0]|0)>0?e:0-e|0;c[z>>2]=(c[z>>2]|0)+4}g=i;i=i+((1*(c[A>>2]<<2)|0)+15&-16)|0;f=i;i=i+((1*(c[A>>2]<<2)|0)+15&-16)|0;c[k>>2]=b;c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[A>>2]|0))break;c[f+(c[z>>2]<<2)>>2]=0;a:while(1){c[o>>2]=Zd(n,c[k>>2]|0,d[29177]|0,8)|0;e=Zd(n,n,d[29178]|0,4)|0;c[o>>2]=(c[o>>2]|0)+e;e=Zd(n,n,d[29179]|0,2)|0;c[o>>2]=(c[o>>2]|0)+e;e=Zd(g+(c[z>>2]<<2)|0,n,d[29180]|0,1)|0;c[o>>2]=(c[o>>2]|0)+e;if(!(c[o>>2]|0))break;e=f+(c[z>>2]<<2)|0;c[e>>2]=(c[e>>2]|0)+1;c[C>>2]=0;while(1){if((c[C>>2]|0)>=16)continue a;c[(c[k>>2]|0)+(c[C>>2]<<2)>>2]=c[(c[k>>2]|0)+(c[C>>2]<<2)>>2]>>1;c[C>>2]=(c[C>>2]|0)+1}}c[k>>2]=(c[k>>2]|0)+64;c[z>>2]=(c[z>>2]|0)+1}c[l>>2]=2147483647;c[C>>2]=0;while(1){if((c[C>>2]|0)>=9)break;c[m>>2]=29361+((c[C>>2]|0)*18|0);c[p>>2]=d[29541+((c[s>>2]>>1)*9|0)+(c[C>>2]|0)>>0];c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[A>>2]|0))break;if((c[f+(c[z>>2]<<2)>>2]|0)>0)c[p>>2]=(c[p>>2]|0)+(d[(c[m>>2]|0)+17>>0]|0);else c[p>>2]=(c[p>>2]|0)+(d[(c[m>>2]|0)+(c[g+(c[z>>2]<<2)>>2]|0)>>0]|0);c[z>>2]=(c[z>>2]|0)+1}if((c[p>>2]|0)<(c[l>>2]|0)){c[l>>2]=c[p>>2];c[j>>2]=c[C>>2]}c[C>>2]=(c[C>>2]|0)+1}qc(c[r>>2]|0,c[j>>2]|0,29523+((c[s>>2]>>1)*9|0)|0,8);c[q>>2]=29181+((c[j>>2]|0)*18|0);c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[A>>2]|0))break;h=c[r>>2]|0;if(!(c[f+(c[z>>2]<<2)>>2]|0))qc(h,c[g+(c[z>>2]<<2)>>2]|0,c[q>>2]|0,8);else{qc(h,17,c[q>>2]|0,8);c[C>>2]=0;while(1){h=c[r>>2]|0;if((c[C>>2]|0)>=((c[f+(c[z>>2]<<2)>>2]|0)-1|0))break;qc(h,17,29343,8);c[C>>2]=(c[C>>2]|0)+1}qc(h,c[g+(c[z>>2]<<2)>>2]|0,29343,8)}c[z>>2]=(c[z>>2]|0)+1}c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[A>>2]|0))break;if((c[g+(c[z>>2]<<2)>>2]|0)>0)Pe(c[r>>2]|0,b+(c[z>>2]<<4<<2)|0);c[z>>2]=(c[z>>2]|0)+1}c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[A>>2]|0))break;b:do if((c[f+(c[z>>2]<<2)>>2]|0)>0){c[E>>2]=(c[u>>2]|0)+(c[z>>2]<<4);c[D>>2]=(c[f+(c[z>>2]<<2)>>2]|0)-1;c[C>>2]=0;while(1){if((c[C>>2]|0)>=16)break b;q=a[(c[E>>2]|0)+(c[C>>2]|0)>>0]|0;c[x>>2]=(((a[(c[E>>2]|0)+(c[C>>2]|0)>>0]|0)>0?q:0-q|0)&255)<<24>>24;c[B>>2]=c[D>>2];while(1){h=c[x>>2]|0;if((c[B>>2]|0)<=0)break;c[y>>2]=h>>c[B>>2]&1;qc(c[r>>2]|0,c[y>>2]|0,29015,8);c[B>>2]=(c[B>>2]|0)+-1}c[y>>2]=h&1;qc(c[r>>2]|0,c[y>>2]|0,29015,8);c[C>>2]=(c[C>>2]|0)+1}}while(0);c[z>>2]=(c[z>>2]|0)+1}Dd(c[r>>2]|0,c[u>>2]|0,c[v>>2]|0,c[s>>2]|0,c[t>>2]|0,g);na(c[w>>2]|0);i=F;return}function Zd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n+24|0;f=n+20|0;g=n+16|0;h=n+12|0;j=n+8|0;k=n+4|0;l=n;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[j>>2]|0)){f=6;break}c[l>>2]=(c[(c[g>>2]|0)+(c[k>>2]<<1<<2)>>2]|0)+(c[(c[g>>2]|0)+((c[k>>2]<<1)+1<<2)>>2]|0);if((c[l>>2]|0)>(c[h>>2]|0)){f=4;break}c[(c[f>>2]|0)+(c[k>>2]<<2)>>2]=c[l>>2];c[k>>2]=(c[k>>2]|0)+1}if((f|0)==4){c[m>>2]=1;m=c[m>>2]|0;i=n;return m|0}else if((f|0)==6){c[m>>2]=0;m=c[m>>2]|0;i=n;return m|0}return 0}function _d(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;o=p+4|0;n=p;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[m>>2]|0))break;Sf(c[(c[j>>2]|0)+(c[o>>2]<<2)>>2]|0)|0;e=0+((((Sf(c[(c[j>>2]|0)+(c[o>>2]<<2)>>2]|0)|0)-2090&65535)<<16>>16)*2251>>16)&255;a[(c[h>>2]|0)+(c[o>>2]|0)>>0]=e;if((a[(c[h>>2]|0)+(c[o>>2]|0)>>0]|0)<(a[c[k>>2]>>0]|0)){e=(c[h>>2]|0)+(c[o>>2]|0)|0;a[e>>0]=(a[e>>0]|0)+1<<24>>24}if((a[(c[h>>2]|0)+(c[o>>2]|0)>>0]|0)<=63)if((a[(c[h>>2]|0)+(c[o>>2]|0)>>0]|0)<0)f=0;else f=a[(c[h>>2]|0)+(c[o>>2]|0)>>0]|0;else f=63;a[(c[h>>2]|0)+(c[o>>2]|0)>>0]=f;if((c[o>>2]|0)==0&(c[l>>2]|0)==0){f=a[(c[h>>2]|0)+(c[o>>2]|0)>>0]|0;do if(((a[c[k>>2]>>0]|0)+-4|0)>63){if((f|0)>((a[c[k>>2]>>0]|0)+-4|0)){f=(a[c[k>>2]>>0]|0)+-4|0;break}if((a[(c[h>>2]|0)+(c[o>>2]|0)>>0]|0)<63)f=63;else f=a[(c[h>>2]|0)+(c[o>>2]|0)>>0]|0}else if((f|0)<=63)if((a[(c[h>>2]|0)+(c[o>>2]|0)>>0]|0)<((a[c[k>>2]>>0]|0)+-4|0)){f=(a[c[k>>2]>>0]|0)+-4|0;break}else{f=a[(c[h>>2]|0)+(c[o>>2]|0)>>0]|0;break}else f=63;while(0);a[(c[h>>2]|0)+(c[o>>2]|0)>>0]=f;a[c[k>>2]>>0]=a[(c[h>>2]|0)+(c[o>>2]|0)>>0]|0}else{a[(c[h>>2]|0)+(c[o>>2]|0)>>0]=(a[(c[h>>2]|0)+(c[o>>2]|0)>>0]|0)-(a[c[k>>2]>>0]|0);c[n>>2]=8+(a[c[k>>2]>>0]|0);if((a[(c[h>>2]|0)+(c[o>>2]|0)>>0]|0)>(c[n>>2]|0))a[(c[h>>2]|0)+(c[o>>2]|0)>>0]=(c[n>>2]|0)+((a[(c[h>>2]|0)+(c[o>>2]|0)>>0]|0)-(c[n>>2]|0)+1>>1);if((a[(c[h>>2]|0)+(c[o>>2]|0)>>0]|0)<=36)if((a[(c[h>>2]|0)+(c[o>>2]|0)>>0]|0)<-4)f=-4;else f=a[(c[h>>2]|0)+(c[o>>2]|0)>>0]|0;else f=36;a[(c[h>>2]|0)+(c[o>>2]|0)>>0]=f;f=a[(c[h>>2]|0)+(c[o>>2]|0)>>0]|0;if((a[(c[h>>2]|0)+(c[o>>2]|0)>>0]|0)>(c[n>>2]|0)){e=c[k>>2]|0;a[e>>0]=(a[e>>0]|0)+((f<<1)-(c[n>>2]|0))}else{e=c[k>>2]|0;a[e>>0]=(a[e>>0]|0)+f}e=(c[h>>2]|0)+(c[o>>2]|0)|0;a[e>>0]=(a[e>>0]|0)+4}e=Wf($d(((a[c[k>>2]>>0]<<16>>16)*29|0)+((a[c[k>>2]>>0]<<16>>16)*7281>>16)+2090|0,3967)|0)|0;c[(c[j>>2]|0)+(c[o>>2]<<2)>>2]=e;c[o>>2]=(c[o>>2]|0)+1}i=p;return}function $d(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;i=f;return ((c[e>>2]|0)<(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function ae(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;p=q+8|0;o=q+4|0;n=q;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[m>>2]|0))break;f=a[(c[j>>2]|0)+(c[p>>2]|0)>>0]|0;do if(!((c[p>>2]|0)==0&(c[l>>2]|0)==0)){c[o>>2]=f+-4;c[n>>2]=8+(a[c[k>>2]>>0]|0);f=c[o>>2]|0;if((c[o>>2]|0)>(c[n>>2]|0)){e=c[k>>2]|0;a[e>>0]=(a[e>>0]|0)+((f<<1)-(c[n>>2]|0));break}else{e=c[k>>2]|0;a[e>>0]=(a[e>>0]|0)+f;break}}else{e=(be(f,(a[c[k>>2]>>0]|0)-16|0)|0)&255;a[c[k>>2]>>0]=e}while(0);if((a[c[k>>2]>>0]|0)<=63)if((a[c[k>>2]>>0]|0)<0)f=0;else f=a[c[k>>2]>>0]|0;else f=63;a[c[k>>2]>>0]=f;e=Wf($d(((a[c[k>>2]>>0]<<16>>16)*29|0)+((a[c[k>>2]>>0]<<16>>16)*7281>>16)+2090|0,3967)|0)|0;c[(c[h>>2]|0)+(c[p>>2]<<2)>>2]=e;c[p>>2]=(c[p>>2]|0)+1}i=q;return}function be(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;i=f;return ((c[e>>2]|0)>(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function ce(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[f>>2]|0))break;c[g>>2]=(a[(c[e>>2]|0)+(c[h>>2]|0)>>0]|0)+(c[g>>2]<<8);c[h>>2]=(c[h>>2]|0)+1}i=j;return c[g>>2]|0}function de(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[h>>2]=a;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[m>>2]|0))break;a=(b[(c[j>>2]|0)+(c[n>>2]<<1)>>1]|0)+((_(((b[(c[k>>2]|0)+(c[n>>2]<<1)>>1]|0)-(b[(c[j>>2]|0)+(c[n>>2]<<1)>>1]|0)&65535)<<16>>16,(c[l>>2]&65535)<<16>>16)|0)>>2)&65535;b[(c[h>>2]|0)+(c[n>>2]<<1)>>1]=a;c[n>>2]=(c[n>>2]|0)+1}i=o;return}function ee(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+48|0;g=m+36|0;h=m+32|0;j=m+28|0;l=m+16|0;k=m+8|0;e=m+4|0;f=m;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[e>>2]=0;c[f>>2]=0;if(!(c[(c[g>>2]|0)+12>>2]|0)){i=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);fe(l,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)e=0;else e=(c[(c[g>>2]|0)+8>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)|0;else e=256;c[(c[g>>2]|0)+8>>2]=e;Nf(c[h>>2]|0,l,k,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,1);i=m;return}function fe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if((c[h>>2]|0)>=4){l=c[f>>2]|0;c[l>>2]=c[4473];c[l+4>>2]=c[4474];c[l+8>>2]=c[4475];l=c[g>>2]|0;c[l>>2]=c[4484];c[l+4>>2]=c[4485];i=m;return}if((c[j>>2]|0)<=0){l=c[f>>2]|0;k=17844+((c[h>>2]|0)*12|0)|0;c[l>>2]=c[k>>2];c[l+4>>2]=c[k+4>>2];c[l+8>>2]=c[k+8>>2];l=c[g>>2]|0;k=17904+(c[h>>2]<<3)|0;c[l>>2]=c[k>>2];c[l+4>>2]=c[k+4>>2];i=m;return}d=(c[j>>2]|0)<32768;c[l>>2]=0;if(d){while(1){if((c[l>>2]|0)>=3)break;d=_((c[17844+(((c[h>>2]|0)+1|0)*12|0)+(c[l>>2]<<2)>>2]|0)-(c[17844+((c[h>>2]|0)*12|0)+(c[l>>2]<<2)>>2]|0)>>16,(c[j>>2]&65535)<<16>>16)|0;d=(c[17844+((c[h>>2]|0)*12|0)+(c[l>>2]<<2)>>2]|0)+(d+((_((c[17844+(((c[h>>2]|0)+1|0)*12|0)+(c[l>>2]<<2)>>2]|0)-(c[17844+((c[h>>2]|0)*12|0)+(c[l>>2]<<2)>>2]|0)&65535,(c[j>>2]&65535)<<16>>16)|0)>>16))|0;c[(c[f>>2]|0)+(c[l>>2]<<2)>>2]=d;c[l>>2]=(c[l>>2]|0)+1}c[k>>2]=0;while(1){if((c[k>>2]|0)>=2)break;l=_((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[j>>2]&65535)<<16>>16)|0;l=(c[17904+(c[h>>2]<<3)+(c[k>>2]<<2)>>2]|0)+(l+((_((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[j>>2]&65535)<<16>>16)|0)>>16))|0;c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]=l;c[k>>2]=(c[k>>2]|0)+1}i=m;return}else{while(1){if((c[l>>2]|0)>=3)break;d=_((c[17844+(((c[h>>2]|0)+1|0)*12|0)+(c[l>>2]<<2)>>2]|0)-(c[17844+((c[h>>2]|0)*12|0)+(c[l>>2]<<2)>>2]|0)>>16,((c[j>>2]|0)-65536&65535)<<16>>16)|0;d=(c[17844+(((c[h>>2]|0)+1|0)*12|0)+(c[l>>2]<<2)>>2]|0)+(d+((_((c[17844+(((c[h>>2]|0)+1|0)*12|0)+(c[l>>2]<<2)>>2]|0)-(c[17844+((c[h>>2]|0)*12|0)+(c[l>>2]<<2)>>2]|0)&65535,((c[j>>2]|0)-65536&65535)<<16>>16)|0)>>16))|0;c[(c[f>>2]|0)+(c[l>>2]<<2)>>2]=d;c[l>>2]=(c[l>>2]|0)+1}c[k>>2]=0;while(1){if((c[k>>2]|0)>=2)break;l=_((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[j>>2]|0)-65536&65535)<<16>>16)|0;l=(c[17904+((c[h>>2]|0)+1<<3)+(c[k>>2]<<2)>>2]|0)+(l+((_((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[j>>2]|0)-65536&65535)<<16>>16)|0)>>16))|0;c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]=l;c[k>>2]=(c[k>>2]|0)+1}i=m;return}}function ge(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+144|0;m=t+24|0;h=t+20|0;n=t+16|0;r=t+12|0;l=t+128|0;j=t+96|0;s=t+64|0;q=t+32|0;p=t+8|0;o=t+4|0;k=t;c[m>>2]=e;c[h>>2]=f;c[n>>2]=g;g=_(a[c[h>>2]>>0]|0,b[(c[n>>2]|0)+2>>1]|0)|0;c[k>>2]=(c[(c[n>>2]|0)+8>>2]|0)+g;c[r>>2]=0;while(1){if((c[r>>2]|0)>=(b[(c[n>>2]|0)+2>>1]|0))break;b[(c[m>>2]|0)+(c[r>>2]<<1)>>1]=d[(c[k>>2]|0)+(c[r>>2]|0)>>0]<<7;c[r>>2]=(c[r>>2]|0)+1}nf(j,l,c[n>>2]|0,a[c[h>>2]>>0]|0);he(s,(c[h>>2]|0)+1|0,l,b[(c[n>>2]|0)+4>>1]|0,b[(c[n>>2]|0)+2>>1]|0);fg(q,c[m>>2]|0,b[(c[n>>2]|0)+2>>1]|0);c[r>>2]=0;while(1){if((c[r>>2]|0)>=(b[(c[n>>2]|0)+2>>1]|0))break;c[p>>2]=ie(b[q+(c[r>>2]<<1)>>1]<<16)|0;c[o>>2]=(b[(c[m>>2]|0)+(c[r>>2]<<1)>>1]|0)+((b[s+(c[r>>2]<<1)>>1]<<14|0)/(c[p>>2]|0)|0);if((c[o>>2]|0)>32767)h=32767;else h=(c[o>>2]|0)<0?0:c[o>>2]|0;b[(c[m>>2]|0)+(c[r>>2]<<1)>>1]=h;c[r>>2]=(c[r>>2]|0)+1}cg(c[m>>2]|0,c[(c[n>>2]|0)+32>>2]|0,b[(c[n>>2]|0)+2>>1]|0);i=t;return}function he(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+32|0;k=r+24|0;l=r+20|0;m=r+16|0;n=r+12|0;s=r+28|0;o=r+8|0;p=r+4|0;q=r;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;b[s>>1]=j;c[p>>2]=0;c[o>>2]=(b[s>>1]|0)-1;while(1){if((c[o>>2]|0)<0)break;c[q>>2]=(_((c[p>>2]&65535)<<16>>16,d[(c[m>>2]|0)+(c[o>>2]|0)>>0]|0)|0)>>8;c[p>>2]=a[(c[l>>2]|0)+(c[o>>2]|0)>>0]<<10;f=c[p>>2]|0;if((c[p>>2]|0)<=0){if((f|0)<0)c[p>>2]=(c[p>>2]|0)+102}else c[p>>2]=f-102;s=_(c[p>>2]>>16,(c[n>>2]&65535)<<16>>16)|0;c[p>>2]=(c[q>>2]|0)+(s+((_(c[p>>2]&65535,(c[n>>2]&65535)<<16>>16)|0)>>16));b[(c[k>>2]|0)+(c[o>>2]<<1)>>1]=c[p>>2];c[o>>2]=(c[o>>2]|0)+-1}i=r;return}function ie(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;b=h+16|0;d=h+12|0;g=h+8|0;f=h+4|0;e=h;c[d>>2]=a;if((c[d>>2]|0)<=0){c[b>>2]=0;g=c[b>>2]|0;i=h;return g|0}je(c[d>>2]|0,f,e);if(c[f>>2]&1|0)c[g>>2]=32768;else c[g>>2]=46214;c[g>>2]=c[g>>2]>>(c[f>>2]>>1);a=_(c[g>>2]>>16,(((c[e>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0;c[g>>2]=(c[g>>2]|0)+(a+((_(c[g>>2]&65535,(((c[e>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0)>>16));c[b>>2]=c[g>>2];g=c[b>>2]|0;i=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,j=0;e=i;i=i+16|0;h=e+12|0;j=e+8|0;f=e+4|0;g=e;c[h>>2]=a;c[j>>2]=b;c[f>>2]=d;c[g>>2]=ke(c[h>>2]|0)|0;c[c[j>>2]>>2]=c[g>>2];b=(le(c[h>>2]|0,24-(c[g>>2]|0)|0)|0)&127;c[c[f>>2]>>2]=b;i=e;return}function ke(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){a=32;i=d;return a|0}a=32-(32-(aa(c[b>>2]|0)|0))|0;i=d;return a|0}function le(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+20|0;d=k+16|0;f=k+12|0;j=k+8|0;h=k+4|0;g=k;c[d>>2]=a;c[f>>2]=b;c[j>>2]=c[d>>2];c[h>>2]=c[f>>2];c[g>>2]=0-(c[f>>2]|0);if(!(c[f>>2]|0)){c[e>>2]=c[d>>2];j=c[e>>2]|0;i=k;return j|0}d=c[j>>2]|0;if((c[f>>2]|0)<0){c[e>>2]=d<>2]|(c[j>>2]|0)>>>(32-(c[g>>2]|0)|0);j=c[e>>2]|0;i=k;return j|0}else{c[e>>2]=d<<32-(c[h>>2]|0)|(c[j>>2]|0)>>>(c[h>>2]|0);j=c[e>>2]|0;i=k;return j|0}return 0}function me(d,e,f,g,h,j,k,l,m,n,o,p,q,r,s){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;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,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;T=i;i=i+112|0;t=T+100|0;u=T+96|0;B=T+92|0;C=T+88|0;D=T+84|0;E=T+80|0;F=T+76|0;G=T+72|0;H=T+68|0;I=T+64|0;v=T+60|0;w=T+56|0;x=T+52|0;y=T+48|0;z=T+44|0;O=T+40|0;P=T+36|0;S=T+32|0;N=T+28|0;K=T+24|0;L=T+20|0;J=T+16|0;R=T+12|0;M=T+8|0;Q=T+4|0;A=T;c[t>>2]=d;c[u>>2]=e;c[B>>2]=f;c[C>>2]=g;c[D>>2]=h;c[E>>2]=j;c[F>>2]=k;c[G>>2]=l;c[H>>2]=m;c[I>>2]=n;c[v>>2]=o;c[w>>2]=p;c[x>>2]=q;c[y>>2]=r;c[z>>2]=s;c[(c[u>>2]|0)+4368>>2]=a[(c[B>>2]|0)+34>>0];c[P>>2]=c[(c[u>>2]|0)+4356>>2];c[Q>>2]=b[24558+(a[(c[B>>2]|0)+29>>0]>>1<<2)+(a[(c[B>>2]|0)+30>>0]<<1)>>1];if((a[(c[B>>2]|0)+31>>0]|0)==4)c[N>>2]=0;else c[N>>2]=1;p=(c[(c[t>>2]|0)+4616>>2]|0)+(c[(c[t>>2]|0)+4608>>2]|0)|0;c[A>>2]=ia()|0;l=i;i=i+((1*(p<<2)|0)+15&-16)|0;p=i;i=i+((1*((c[(c[t>>2]|0)+4616>>2]|0)+(c[(c[t>>2]|0)+4608>>2]|0)<<1)|0)+15&-16)|0;m=i;i=i+((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[R>>2]=(c[u>>2]|0)+(c[(c[t>>2]|0)+4616>>2]<<1);c[O>>2]=0;while(1){if((c[O>>2]|0)>=(c[(c[t>>2]|0)+4604>>2]|0))break;c[K>>2]=(c[E>>2]|0)+((c[O>>2]>>1|1-(c[N>>2]|0))<<4<<1);c[L>>2]=(c[F>>2]|0)+((c[O>>2]|0)*5<<1);c[J>>2]=(c[G>>2]|0)+(c[O>>2]<<4<<1);c[M>>2]=c[(c[H>>2]|0)+(c[O>>2]<<2)>>2]>>2;c[M>>2]=c[M>>2]|c[(c[H>>2]|0)+(c[O>>2]<<2)>>2]>>1<<16;c[(c[u>>2]|0)+4376>>2]=0;if((a[(c[B>>2]|0)+29>>0]|0)==2?(c[P>>2]=c[(c[x>>2]|0)+(c[O>>2]<<2)>>2],(c[O>>2]&3-(c[N>>2]<<1)|0)==0):0){c[S>>2]=(c[(c[t>>2]|0)+4616>>2]|0)-(c[P>>2]|0)-(c[(c[t>>2]|0)+4664>>2]|0)-2;g=(c[S>>2]|0)+(_(c[O>>2]|0,c[(c[t>>2]|0)+4612>>2]|0)|0)|0;Xf(p+(c[S>>2]<<1)|0,(c[u>>2]|0)+(g<<1)|0,c[K>>2]|0,(c[(c[t>>2]|0)+4616>>2]|0)-(c[S>>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]}ne(c[t>>2]|0,c[u>>2]|0,c[C>>2]|0,m,p,l,c[O>>2]|0,c[z>>2]|0,c[w>>2]|0,c[x>>2]|0,a[(c[B>>2]|0)+29>>0]|0);re(c[u>>2]|0,a[(c[B>>2]|0)+29>>0]|0,m,c[D>>2]|0,c[R>>2]|0,l,c[K>>2]|0,c[L>>2]|0,c[J>>2]|0,c[P>>2]|0,c[M>>2]|0,c[(c[I>>2]|0)+(c[O>>2]<<2)>>2]|0,c[(c[v>>2]|0)+(c[O>>2]<<2)>>2]|0,c[(c[w>>2]|0)+(c[O>>2]<<2)>>2]|0,c[y>>2]|0,c[Q>>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[C>>2]=(c[C>>2]|0)+(c[(c[t>>2]|0)+4612>>2]<<2);c[D>>2]=(c[D>>2]|0)+(c[(c[t>>2]|0)+4612>>2]|0);c[R>>2]=(c[R>>2]|0)+(c[(c[t>>2]|0)+4612>>2]<<1);c[O>>2]=(c[O>>2]|0)+1}c[(c[u>>2]|0)+4356>>2]=c[(c[x>>2]|0)+((c[(c[t>>2]|0)+4604>>2]|0)-1<<2)>>2];qj(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;qj((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;na(c[A>>2]|0);i=T;return}function ne(a,d,e,f,g,h,j,k,l,m,n){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=i;i=i+64|0;o=D+60|0;p=D+56|0;r=D+52|0;s=D+48|0;t=D+44|0;u=D+40|0;v=D+36|0;w=D+32|0;x=D+28|0;E=D+24|0;q=D+20|0;z=D+16|0;C=D+12|0;y=D+8|0;B=D+4|0;A=D;c[o>>2]=a;c[p>>2]=d;c[r>>2]=e;c[s>>2]=f;c[t>>2]=g;c[u>>2]=h;c[v>>2]=j;c[w>>2]=k;c[x>>2]=l;c[E>>2]=m;c[q>>2]=n;c[C>>2]=c[(c[E>>2]|0)+(c[v>>2]<<2)>>2];if((c[(c[x>>2]|0)+(c[v>>2]<<2)>>2]|0)>1)l=c[(c[x>>2]|0)+(c[v>>2]<<2)>>2]|0;else l=1;c[B>>2]=oe(l,47)|0;if((c[(c[x>>2]|0)+(c[v>>2]<<2)>>2]|0)!=(c[(c[p>>2]|0)+4372>>2]|0))c[y>>2]=qe(c[(c[p>>2]|0)+4372>>2]|0,c[(c[x>>2]|0)+(c[v>>2]<<2)>>2]|0,16)|0;else c[y>>2]=65536;c[A>>2]=(c[B>>2]>>7)+1>>1;c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[(c[o>>2]|0)+4612>>2]|0))break;E=_(c[(c[r>>2]|0)+(c[z>>2]<<2)>>2]>>16,(c[A>>2]&65535)<<16>>16)|0;E=E+((_(c[(c[r>>2]|0)+(c[z>>2]<<2)>>2]&65535,(c[A>>2]&65535)<<16>>16)|0)>>16)|0;E=E+(_(c[(c[r>>2]|0)+(c[z>>2]<<2)>>2]|0,(c[A>>2]>>15)+1>>1)|0)|0;c[(c[s>>2]|0)+(c[z>>2]<<2)>>2]=E;c[z>>2]=(c[z>>2]|0)+1}c[(c[p>>2]|0)+4372>>2]=c[(c[x>>2]|0)+(c[v>>2]<<2)>>2];a:do if(c[(c[p>>2]|0)+4376>>2]|0){if(!(c[v>>2]|0)){E=_(c[B>>2]>>16,(c[w>>2]&65535)<<16>>16)|0;c[B>>2]=E+((_(c[B>>2]&65535,(c[w>>2]&65535)<<16>>16)|0)>>16)<<2}c[z>>2]=(c[(c[p>>2]|0)+4360>>2]|0)-(c[C>>2]|0)-2;while(1){if((c[z>>2]|0)>=(c[(c[p>>2]|0)+4360>>2]|0))break a;E=_(c[B>>2]>>16,b[(c[t>>2]|0)+(c[z>>2]<<1)>>1]|0)|0;E=E+((_(c[B>>2]&65535,b[(c[t>>2]|0)+(c[z>>2]<<1)>>1]|0)|0)>>16)|0;c[(c[u>>2]|0)+(c[z>>2]<<2)>>2]=E;c[z>>2]=(c[z>>2]|0)+1}}while(0);if((c[y>>2]|0)==65536){i=D;return}c[z>>2]=(c[(c[p>>2]|0)+4364>>2]|0)-(c[(c[o>>2]|0)+4616>>2]|0);while(1){if((c[z>>2]|0)>=(c[(c[p>>2]|0)+4364>>2]|0))break;E=_(c[y>>2]>>16,(c[(c[p>>2]|0)+1280+(c[z>>2]<<2)>>2]&65535)<<16>>16)|0;E=E+((_(c[y>>2]&65535,(c[(c[p>>2]|0)+1280+(c[z>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;E=E+(_(c[y>>2]|0,(c[(c[p>>2]|0)+1280+(c[z>>2]<<2)>>2]>>15)+1>>1)|0)|0;c[(c[p>>2]|0)+1280+(c[z>>2]<<2)>>2]=E;c[z>>2]=(c[z>>2]|0)+1}b:do if((c[q>>2]|0)==2?(c[(c[p>>2]|0)+4376>>2]|0)==0:0){c[z>>2]=(c[(c[p>>2]|0)+4360>>2]|0)-(c[C>>2]|0)-2;while(1){if((c[z>>2]|0)>=(c[(c[p>>2]|0)+4360>>2]|0))break b;E=_(c[y>>2]>>16,(c[(c[u>>2]|0)+(c[z>>2]<<2)>>2]&65535)<<16>>16)|0;E=E+((_(c[y>>2]&65535,(c[(c[u>>2]|0)+(c[z>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;E=E+(_(c[y>>2]|0,(c[(c[u>>2]|0)+(c[z>>2]<<2)>>2]>>15)+1>>1)|0)|0;c[(c[u>>2]|0)+(c[z>>2]<<2)>>2]=E;c[z>>2]=(c[z>>2]|0)+1}}while(0);E=_(c[y>>2]>>16,(c[(c[p>>2]|0)+4352>>2]&65535)<<16>>16)|0;E=E+((_(c[y>>2]&65535,(c[(c[p>>2]|0)+4352>>2]&65535)<<16>>16)|0)>>16)|0;E=E+(_(c[y>>2]|0,(c[(c[p>>2]|0)+4352>>2]>>15)+1>>1)|0)|0;c[(c[p>>2]|0)+4352>>2]=E;c[z>>2]=0;while(1){if((c[z>>2]|0)>=32)break;E=_(c[y>>2]>>16,(c[(c[p>>2]|0)+3840+(c[z>>2]<<2)>>2]&65535)<<16>>16)|0;E=E+((_(c[y>>2]&65535,(c[(c[p>>2]|0)+3840+(c[z>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;E=E+(_(c[y>>2]|0,(c[(c[p>>2]|0)+3840+(c[z>>2]<<2)>>2]>>15)+1>>1)|0)|0;c[(c[p>>2]|0)+3840+(c[z>>2]<<2)>>2]=E;c[z>>2]=(c[z>>2]|0)+1}c[z>>2]=0;while(1){if((c[z>>2]|0)>=16)break;E=_(c[y>>2]>>16,(c[(c[p>>2]|0)+4288+(c[z>>2]<<2)>>2]&65535)<<16>>16)|0;E=E+((_(c[y>>2]&65535,(c[(c[p>>2]|0)+4288+(c[z>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;E=E+(_(c[y>>2]|0,(c[(c[p>>2]|0)+4288+(c[z>>2]<<2)>>2]>>15)+1>>1)|0)|0;c[(c[p>>2]|0)+4288+(c[z>>2]<<2)>>2]=E;c[z>>2]=(c[z>>2]|0)+1}i=D;return}function oe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+48|0;f=h+32|0;n=h+28|0;d=h+24|0;j=h+20|0;g=h+16|0;k=h+12|0;m=h+8|0;l=h+4|0;e=h;c[n>>2]=a;c[d>>2]=b;b=c[n>>2]|0;c[j>>2]=(pe((c[n>>2]|0)>0?b:0-b|0)|0)-1;c[m>>2]=c[n>>2]<>2];c[k>>2]=536870911/(c[m>>2]>>16|0)|0;c[e>>2]=c[k>>2]<<16;b=_(c[m>>2]>>16,(c[k>>2]&65535)<<16>>16)|0;c[l>>2]=536870912-(b+((_(c[m>>2]&65535,(c[k>>2]&65535)<<16>>16)|0)>>16))<<3;b=_(c[l>>2]>>16,(c[k>>2]&65535)<<16>>16)|0;b=(c[e>>2]|0)+(b+((_(c[l>>2]&65535,(c[k>>2]&65535)<<16>>16)|0)>>16))|0;c[e>>2]=b+(_(c[l>>2]|0,(c[k>>2]>>15)+1>>1)|0);c[g>>2]=61-(c[j>>2]|0)-(c[d>>2]|0);b=c[g>>2]|0;if((c[g>>2]|0)>0)if((b|0)<32){c[f>>2]=c[e>>2]>>c[g>>2];n=c[f>>2]|0;i=h;return n|0}else{c[f>>2]=0;n=c[f>>2]|0;i=h;return n|0}a=c[e>>2]|0;d=0-(c[g>>2]|0)|0;do if((-2147483648>>0-b|0)>(2147483647>>0-(c[g>>2]|0)|0)){if((a|0)>(-2147483648>>d|0)){b=-2147483648>>0-(c[g>>2]|0);break}if((c[e>>2]|0)<(2147483647>>0-(c[g>>2]|0)|0)){b=2147483647>>0-(c[g>>2]|0);break}else{b=c[e>>2]|0;break}}else{if((a|0)>(2147483647>>d|0)){b=2147483647>>0-(c[g>>2]|0);break}if((c[e>>2]|0)<(-2147483648>>0-(c[g>>2]|0)|0)){b=-2147483648>>0-(c[g>>2]|0);break}else{b=c[e>>2]|0;break}}while(0);c[f>>2]=b<<0-(c[g>>2]|0);n=c[f>>2]|0;i=h;return n|0}function pe(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){a=32;i=d;return a|0}a=32-(32-(aa(c[b>>2]|0)|0))|0;i=d;return a|0}function qe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=i;i=i+48|0;f=h+40|0;q=h+36|0;p=h+32|0;j=h+28|0;l=h+24|0;k=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[j>>2]=d;b=c[q>>2]|0;c[l>>2]=(pe((c[q>>2]|0)>0?b:0-b|0)|0)-1;c[n>>2]=c[q>>2]<>2];b=c[p>>2]|0;c[k>>2]=(pe((c[p>>2]|0)>0?b:0-b|0)|0)-1;c[o>>2]=c[p>>2]<>2];c[m>>2]=536870911/(c[o>>2]>>16|0)|0;b=_(c[n>>2]>>16,(c[m>>2]&65535)<<16>>16)|0;c[e>>2]=b+((_(c[n>>2]&65535,(c[m>>2]&65535)<<16>>16)|0)>>16);b=c[n>>2]|0;a=c[o>>2]|0;d=c[e>>2]|0;d=yj(a|0,((a|0)<0)<<31>>31|0,d|0,((d|0)<0)<<31>>31|0)|0;d=nj(d|0,C|0,32)|0;c[n>>2]=b-(d<<3);d=_(c[n>>2]>>16,(c[m>>2]&65535)<<16>>16)|0;c[e>>2]=(c[e>>2]|0)+(d+((_(c[n>>2]&65535,(c[m>>2]&65535)<<16>>16)|0)>>16));c[g>>2]=29+(c[l>>2]|0)-(c[k>>2]|0)-(c[j>>2]|0);d=c[g>>2]|0;if((c[g>>2]|0)>=0)if((d|0)<32){c[f>>2]=c[e>>2]>>c[g>>2];q=c[f>>2]|0;i=h;return q|0}else{c[f>>2]=0;q=c[f>>2]|0;i=h;return q|0}a=c[e>>2]|0;b=0-(c[g>>2]|0)|0;do if((-2147483648>>0-d|0)>(2147483647>>0-(c[g>>2]|0)|0)){if((a|0)>(-2147483648>>b|0)){d=-2147483648>>0-(c[g>>2]|0);break}if((c[e>>2]|0)<(2147483647>>0-(c[g>>2]|0)|0)){d=2147483647>>0-(c[g>>2]|0);break}else{d=c[e>>2]|0;break}}else{if((a|0)>(2147483647>>b|0)){d=2147483647>>0-(c[g>>2]|0);break}if((c[e>>2]|0)<(-2147483648>>0-(c[g>>2]|0)|0)){d=-2147483648>>0-(c[g>>2]|0);break}else{d=c[e>>2]|0;break}}while(0);c[f>>2]=d<<0-(c[g>>2]|0);q=c[f>>2]|0;i=h;return q|0}function re(d,e,f,g,h,j,k,l,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;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;var x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;ma=i;i=i+176|0;ka=ma+168|0;x=ma+164|0;F=ma+160|0;G=ma+156|0;H=ma+152|0;I=ma+148|0;J=ma+144|0;K=ma+140|0;L=ma+136|0;M=ma+132|0;y=ma+128|0;z=ma+124|0;A=ma+120|0;na=ma+116|0;B=ma+112|0;C=ma+108|0;la=ma+104|0;D=ma+100|0;E=ma+96|0;S=ma+92|0;T=ma+88|0;Q=ma+84|0;P=ma+80|0;U=ma+76|0;W=ma+72|0;V=ma+68|0;ba=ma+64|0;ea=ma+60|0;Z=ma+56|0;$=ma+52|0;aa=ma+48|0;ca=ma+44|0;da=ma+40|0;R=ma+36|0;O=ma+32|0;ja=ma+28|0;N=ma+24|0;ha=ma+20|0;ia=ma+16|0;fa=ma+12|0;Y=ma+8|0;ga=ma+4|0;X=ma;c[ka>>2]=d;c[x>>2]=e;c[F>>2]=f;c[G>>2]=g;c[H>>2]=h;c[I>>2]=j;c[J>>2]=k;c[K>>2]=l;c[L>>2]=m;c[M>>2]=n;c[y>>2]=o;c[z>>2]=p;c[A>>2]=q;c[na>>2]=r;c[B>>2]=s;c[C>>2]=t;c[la>>2]=u;c[D>>2]=v;c[E>>2]=w;c[ga>>2]=(c[ka>>2]|0)+1280+((c[(c[ka>>2]|0)+4364>>2]|0)-(c[M>>2]|0)+1<<2);c[X>>2]=(c[I>>2]|0)+((c[(c[ka>>2]|0)+4360>>2]|0)-(c[M>>2]|0)+2<<2);c[N>>2]=c[na>>2]>>6;c[Y>>2]=(c[ka>>2]|0)+3840+124;c[S>>2]=0;while(1){m=c[ka>>2]|0;if((c[S>>2]|0)>=(c[la>>2]|0))break;na=907633515+(_(c[m+4368>>2]|0,196314165)|0)|0;c[(c[ka>>2]|0)+4368>>2]=na;c[P>>2]=c[E>>2]>>1;na=_(c[c[Y>>2]>>2]>>16,b[c[J>>2]>>1]|0)|0;c[P>>2]=(c[P>>2]|0)+(na+((_(c[c[Y>>2]>>2]&65535,b[c[J>>2]>>1]|0)|0)>>16));na=_(c[(c[Y>>2]|0)+-4>>2]>>16,b[(c[J>>2]|0)+2>>1]|0)|0;c[P>>2]=(c[P>>2]|0)+(na+((_(c[(c[Y>>2]|0)+-4>>2]&65535,b[(c[J>>2]|0)+2>>1]|0)|0)>>16));na=_(c[(c[Y>>2]|0)+-8>>2]>>16,b[(c[J>>2]|0)+4>>1]|0)|0;c[P>>2]=(c[P>>2]|0)+(na+((_(c[(c[Y>>2]|0)+-8>>2]&65535,b[(c[J>>2]|0)+4>>1]|0)|0)>>16));na=_(c[(c[Y>>2]|0)+-12>>2]>>16,b[(c[J>>2]|0)+6>>1]|0)|0;c[P>>2]=(c[P>>2]|0)+(na+((_(c[(c[Y>>2]|0)+-12>>2]&65535,b[(c[J>>2]|0)+6>>1]|0)|0)>>16));na=_(c[(c[Y>>2]|0)+-16>>2]>>16,b[(c[J>>2]|0)+8>>1]|0)|0;c[P>>2]=(c[P>>2]|0)+(na+((_(c[(c[Y>>2]|0)+-16>>2]&65535,b[(c[J>>2]|0)+8>>1]|0)|0)>>16));na=_(c[(c[Y>>2]|0)+-20>>2]>>16,b[(c[J>>2]|0)+10>>1]|0)|0;c[P>>2]=(c[P>>2]|0)+(na+((_(c[(c[Y>>2]|0)+-20>>2]&65535,b[(c[J>>2]|0)+10>>1]|0)|0)>>16));na=_(c[(c[Y>>2]|0)+-24>>2]>>16,b[(c[J>>2]|0)+12>>1]|0)|0;c[P>>2]=(c[P>>2]|0)+(na+((_(c[(c[Y>>2]|0)+-24>>2]&65535,b[(c[J>>2]|0)+12>>1]|0)|0)>>16));na=_(c[(c[Y>>2]|0)+-28>>2]>>16,b[(c[J>>2]|0)+14>>1]|0)|0;c[P>>2]=(c[P>>2]|0)+(na+((_(c[(c[Y>>2]|0)+-28>>2]&65535,b[(c[J>>2]|0)+14>>1]|0)|0)>>16));na=_(c[(c[Y>>2]|0)+-32>>2]>>16,b[(c[J>>2]|0)+16>>1]|0)|0;c[P>>2]=(c[P>>2]|0)+(na+((_(c[(c[Y>>2]|0)+-32>>2]&65535,b[(c[J>>2]|0)+16>>1]|0)|0)>>16));na=_(c[(c[Y>>2]|0)+-36>>2]>>16,b[(c[J>>2]|0)+18>>1]|0)|0;c[P>>2]=(c[P>>2]|0)+(na+((_(c[(c[Y>>2]|0)+-36>>2]&65535,b[(c[J>>2]|0)+18>>1]|0)|0)>>16));if((c[E>>2]|0)==16){na=_(c[(c[Y>>2]|0)+-40>>2]>>16,b[(c[J>>2]|0)+20>>1]|0)|0;c[P>>2]=(c[P>>2]|0)+(na+((_(c[(c[Y>>2]|0)+-40>>2]&65535,b[(c[J>>2]|0)+20>>1]|0)|0)>>16));na=_(c[(c[Y>>2]|0)+-44>>2]>>16,b[(c[J>>2]|0)+22>>1]|0)|0;c[P>>2]=(c[P>>2]|0)+(na+((_(c[(c[Y>>2]|0)+-44>>2]&65535,b[(c[J>>2]|0)+22>>1]|0)|0)>>16));na=_(c[(c[Y>>2]|0)+-48>>2]>>16,b[(c[J>>2]|0)+24>>1]|0)|0;c[P>>2]=(c[P>>2]|0)+(na+((_(c[(c[Y>>2]|0)+-48>>2]&65535,b[(c[J>>2]|0)+24>>1]|0)|0)>>16));na=_(c[(c[Y>>2]|0)+-52>>2]>>16,b[(c[J>>2]|0)+26>>1]|0)|0;c[P>>2]=(c[P>>2]|0)+(na+((_(c[(c[Y>>2]|0)+-52>>2]&65535,b[(c[J>>2]|0)+26>>1]|0)|0)>>16));na=_(c[(c[Y>>2]|0)+-56>>2]>>16,b[(c[J>>2]|0)+28>>1]|0)|0;c[P>>2]=(c[P>>2]|0)+(na+((_(c[(c[Y>>2]|0)+-56>>2]&65535,b[(c[J>>2]|0)+28>>1]|0)|0)>>16));na=_(c[(c[Y>>2]|0)+-60>>2]>>16,b[(c[J>>2]|0)+30>>1]|0)|0;c[P>>2]=(c[P>>2]|0)+(na+((_(c[(c[Y>>2]|0)+-60>>2]&65535,b[(c[J>>2]|0)+30>>1]|0)|0)>>16))}if((c[x>>2]|0)==2){c[Q>>2]=2;na=_(c[c[X>>2]>>2]>>16,b[c[K>>2]>>1]|0)|0;c[Q>>2]=(c[Q>>2]|0)+(na+((_(c[c[X>>2]>>2]&65535,b[c[K>>2]>>1]|0)|0)>>16));na=_(c[(c[X>>2]|0)+-4>>2]>>16,b[(c[K>>2]|0)+2>>1]|0)|0;c[Q>>2]=(c[Q>>2]|0)+(na+((_(c[(c[X>>2]|0)+-4>>2]&65535,b[(c[K>>2]|0)+2>>1]|0)|0)>>16));na=_(c[(c[X>>2]|0)+-8>>2]>>16,b[(c[K>>2]|0)+4>>1]|0)|0;c[Q>>2]=(c[Q>>2]|0)+(na+((_(c[(c[X>>2]|0)+-8>>2]&65535,b[(c[K>>2]|0)+4>>1]|0)|0)>>16));na=_(c[(c[X>>2]|0)+-12>>2]>>16,b[(c[K>>2]|0)+6>>1]|0)|0;c[Q>>2]=(c[Q>>2]|0)+(na+((_(c[(c[X>>2]|0)+-12>>2]&65535,b[(c[K>>2]|0)+6>>1]|0)|0)>>16));na=_(c[(c[X>>2]|0)+-16>>2]>>16,b[(c[K>>2]|0)+8>>1]|0)|0;c[Q>>2]=(c[Q>>2]|0)+(na+((_(c[(c[X>>2]|0)+-16>>2]&65535,b[(c[K>>2]|0)+8>>1]|0)|0)>>16));c[X>>2]=(c[X>>2]|0)+4}else c[Q>>2]=0;c[ia>>2]=c[c[Y>>2]>>2];c[ha>>2]=c[(c[ka>>2]|0)+4288>>2];c[(c[ka>>2]|0)+4288>>2]=c[ia>>2];c[U>>2]=c[D>>2]>>1;na=_(c[ia>>2]>>16,b[c[L>>2]>>1]|0)|0;c[U>>2]=(c[U>>2]|0)+(na+((_(c[ia>>2]&65535,b[c[L>>2]>>1]|0)|0)>>16));c[T>>2]=2;while(1){if((c[T>>2]|0)>=(c[D>>2]|0))break;c[ia>>2]=c[(c[ka>>2]|0)+4288+((c[T>>2]|0)-1<<2)>>2];c[(c[ka>>2]|0)+4288+((c[T>>2]|0)-1<<2)>>2]=c[ha>>2];na=_(c[ha>>2]>>16,b[(c[L>>2]|0)+((c[T>>2]|0)-1<<1)>>1]|0)|0;c[U>>2]=(c[U>>2]|0)+(na+((_(c[ha>>2]&65535,b[(c[L>>2]|0)+((c[T>>2]|0)-1<<1)>>1]|0)|0)>>16));c[ha>>2]=c[(c[ka>>2]|0)+4288+((c[T>>2]|0)+0<<2)>>2];c[(c[ka>>2]|0)+4288+((c[T>>2]|0)+0<<2)>>2]=c[ia>>2];na=_(c[ia>>2]>>16,b[(c[L>>2]|0)+(c[T>>2]<<1)>>1]|0)|0;c[U>>2]=(c[U>>2]|0)+(na+((_(c[ia>>2]&65535,b[(c[L>>2]|0)+(c[T>>2]<<1)>>1]|0)|0)>>16));c[T>>2]=(c[T>>2]|0)+2}c[(c[ka>>2]|0)+4288+((c[D>>2]|0)-1<<2)>>2]=c[ha>>2];na=_(c[ha>>2]>>16,b[(c[L>>2]|0)+((c[D>>2]|0)-1<<1)>>1]|0)|0;c[U>>2]=(c[U>>2]|0)+(na+((_(c[ha>>2]&65535,b[(c[L>>2]|0)+((c[D>>2]|0)-1<<1)>>1]|0)|0)>>16));c[U>>2]=c[U>>2]<<1;na=_(c[(c[ka>>2]|0)+4352>>2]>>16,(c[z>>2]&65535)<<16>>16)|0;c[U>>2]=(c[U>>2]|0)+(na+((_(c[(c[ka>>2]|0)+4352>>2]&65535,(c[z>>2]&65535)<<16>>16)|0)>>16));na=_(c[(c[ka>>2]|0)+1280+((c[(c[ka>>2]|0)+4364>>2]|0)-1<<2)>>2]>>16,(c[A>>2]&65535)<<16>>16)|0;c[V>>2]=na+((_(c[(c[ka>>2]|0)+1280+((c[(c[ka>>2]|0)+4364>>2]|0)-1<<2)>>2]&65535,(c[A>>2]&65535)<<16>>16)|0)>>16);na=(c[V>>2]|0)+(_(c[(c[ka>>2]|0)+4352>>2]>>16,c[A>>2]>>16)|0)|0;c[V>>2]=na+((_(c[(c[ka>>2]|0)+4352>>2]&65535,c[A>>2]>>16)|0)>>16);c[ha>>2]=(c[P>>2]<<2)-(c[U>>2]|0);c[ha>>2]=(c[ha>>2]|0)-(c[V>>2]|0);if((c[M>>2]|0)>0){na=_((c[c[ga>>2]>>2]|0)+(c[(c[ga>>2]|0)+-8>>2]|0)>>16,(c[y>>2]&65535)<<16>>16)|0;c[W>>2]=na+((_((c[c[ga>>2]>>2]|0)+(c[(c[ga>>2]|0)+-8>>2]|0)&65535,(c[y>>2]&65535)<<16>>16)|0)>>16);na=(c[W>>2]|0)+(_(c[(c[ga>>2]|0)+-4>>2]>>16,c[y>>2]>>16)|0)|0;c[W>>2]=na+((_(c[(c[ga>>2]|0)+-4>>2]&65535,c[y>>2]>>16)|0)>>16);c[W>>2]=c[W>>2]<<1;c[ga>>2]=(c[ga>>2]|0)+4;c[ia>>2]=(c[Q>>2]|0)-(c[W>>2]|0);c[ha>>2]=(c[ia>>2]|0)+(c[ha>>2]<<1);c[ha>>2]=(c[ha>>2]>>2)+1>>1}else c[ha>>2]=(c[ha>>2]>>1)+1>>1;c[ba>>2]=(c[(c[F>>2]|0)+(c[S>>2]<<2)>>2]|0)-(c[ha>>2]|0);if((c[(c[ka>>2]|0)+4368>>2]|0)<0)c[ba>>2]=0-(c[ba>>2]|0);if((c[ba>>2]|0)>30720)m=30720;else m=(c[ba>>2]|0)<-31744?-31744:c[ba>>2]|0;c[ba>>2]=m;c[$>>2]=(c[ba>>2]|0)-(c[C>>2]|0);c[Z>>2]=c[$>>2]>>10;m=c[Z>>2]|0;do if((c[Z>>2]|0)<=0){if(!m){c[$>>2]=c[C>>2];c[aa>>2]=(c[$>>2]|0)+944;c[ca>>2]=_((c[$>>2]&65535)<<16>>16,(c[B>>2]&65535)<<16>>16)|0;c[da>>2]=_((c[aa>>2]&65535)<<16>>16,(c[B>>2]&65535)<<16>>16)|0;break}if((c[Z>>2]|0)==-1){c[aa>>2]=c[C>>2];c[$>>2]=(c[aa>>2]|0)-944;c[ca>>2]=_((0-(c[$>>2]|0)&65535)<<16>>16,(c[B>>2]&65535)<<16>>16)|0;c[da>>2]=_((c[aa>>2]&65535)<<16>>16,(c[B>>2]&65535)<<16>>16)|0;break}else{c[$>>2]=(c[Z>>2]<<10)+80;c[$>>2]=(c[$>>2]|0)+(c[C>>2]|0);c[aa>>2]=(c[$>>2]|0)+1024;c[ca>>2]=_((0-(c[$>>2]|0)&65535)<<16>>16,(c[B>>2]&65535)<<16>>16)|0;c[da>>2]=_((0-(c[aa>>2]|0)&65535)<<16>>16,(c[B>>2]&65535)<<16>>16)|0;break}}else{c[$>>2]=(m<<10)-80;c[$>>2]=(c[$>>2]|0)+(c[C>>2]|0);c[aa>>2]=(c[$>>2]|0)+1024;c[ca>>2]=_((c[$>>2]&65535)<<16>>16,(c[B>>2]&65535)<<16>>16)|0;c[da>>2]=_((c[aa>>2]&65535)<<16>>16,(c[B>>2]&65535)<<16>>16)|0}while(0);c[ea>>2]=(c[ba>>2]|0)-(c[$>>2]|0);c[ca>>2]=(c[ca>>2]|0)+(_((c[ea>>2]&65535)<<16>>16,(c[ea>>2]&65535)<<16>>16)|0);c[ea>>2]=(c[ba>>2]|0)-(c[aa>>2]|0);c[da>>2]=(c[da>>2]|0)+(_((c[ea>>2]&65535)<<16>>16,(c[ea>>2]&65535)<<16>>16)|0);if((c[da>>2]|0)<(c[ca>>2]|0))c[$>>2]=c[aa>>2];a[(c[G>>2]|0)+(c[S>>2]|0)>>0]=(c[$>>2]>>9)+1>>1;c[R>>2]=c[$>>2]<<4;if((c[(c[ka>>2]|0)+4368>>2]|0)<0)c[R>>2]=0-(c[R>>2]|0);c[O>>2]=(c[R>>2]|0)+(c[Q>>2]<<1);c[ja>>2]=(c[O>>2]|0)+(c[P>>2]<<4);na=_(c[ja>>2]>>16,(c[N>>2]&65535)<<16>>16)|0;na=na+((_(c[ja>>2]&65535,(c[N>>2]&65535)<<16>>16)|0)>>16)|0;if(((na+(_(c[ja>>2]|0,(c[N>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<=32767){na=_(c[ja>>2]>>16,(c[N>>2]&65535)<<16>>16)|0;na=na+((_(c[ja>>2]&65535,(c[N>>2]&65535)<<16>>16)|0)>>16)|0;if(((na+(_(c[ja>>2]|0,(c[N>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<-32768)m=-32768;else{m=_(c[ja>>2]>>16,(c[N>>2]&65535)<<16>>16)|0;m=m+((_(c[ja>>2]&65535,(c[N>>2]&65535)<<16>>16)|0)>>16)|0;m=(m+(_(c[ja>>2]|0,(c[N>>2]>>15)+1>>1)|0)>>7)+1>>1}}else m=32767;b[(c[H>>2]|0)+(c[S>>2]<<1)>>1]=m;c[Y>>2]=(c[Y>>2]|0)+4;c[c[Y>>2]>>2]=c[ja>>2];c[fa>>2]=(c[ja>>2]|0)-(c[U>>2]<<2);c[(c[ka>>2]|0)+4352>>2]=c[fa>>2];c[(c[ka>>2]|0)+1280+(c[(c[ka>>2]|0)+4364>>2]<<2)>>2]=(c[fa>>2]|0)-(c[V>>2]<<2);c[(c[I>>2]|0)+(c[(c[ka>>2]|0)+4360>>2]<<2)>>2]=c[O>>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[G>>2]|0)+(c[S>>2]|0)>>0]|0);c[S>>2]=(c[S>>2]|0)+1}o=m+3840|0;m=(c[ka>>2]|0)+3840+(c[la>>2]<<2)|0;r=o+128|0;do{c[o>>2]=c[m>>2];o=o+4|0;m=m+4|0}while((o|0)<(r|0));i=ma;return}function se(d,e,f,g,h,j,k,l,m,n,o,p,q,r,s){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;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,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ca=i;i=i+272|0;S=ca+264|0;T=ca+260|0;x=ca+256|0;y=ca+252|0;W=ca+248|0;z=ca+244|0;A=ca+240|0;B=ca+236|0;C=ca+232|0;D=ca+228|0;t=ca+224|0;u=ca+220|0;U=ca+216|0;v=ca+212|0;w=ca+208|0;Z=ca+204|0;M=ca+200|0;N=ca+196|0;Q=ca+192|0;I=ca+188|0;K=ca+184|0;R=ca+180|0;$=ca+176|0;P=ca+172|0;Y=ca+168|0;F=ca+164|0;G=ca+160|0;E=ca+156|0;ba=ca+152|0;H=ca+148|0;O=ca+144|0;J=ca+140|0;X=ca+136|0;aa=ca+132|0;V=ca+128|0;L=ca;c[S>>2]=d;c[T>>2]=e;c[x>>2]=f;c[y>>2]=g;c[W>>2]=h;c[z>>2]=j;c[A>>2]=k;c[B>>2]=l;c[C>>2]=m;c[D>>2]=n;c[t>>2]=o;c[u>>2]=p;c[U>>2]=q;c[v>>2]=r;c[w>>2]=s;c[N>>2]=c[(c[T>>2]|0)+4356>>2];g=c[(c[S>>2]|0)+4652>>2]|0;c[V>>2]=ia()|0;k=i;i=i+((1*(g*1168|0)|0)+15&-16)|0;oj(k|0,0,(c[(c[S>>2]|0)+4652>>2]|0)*1168|0)|0;c[M>>2]=0;while(1){if((c[M>>2]|0)>=(c[(c[S>>2]|0)+4652>>2]|0))break;c[aa>>2]=k+((c[M>>2]|0)*1168|0);c[(c[aa>>2]|0)+1156>>2]=(c[M>>2]|0)+(a[(c[x>>2]|0)+34>>0]|0)&3;c[(c[aa>>2]|0)+1160>>2]=c[(c[aa>>2]|0)+1156>>2];c[(c[aa>>2]|0)+1164>>2]=0;c[(c[aa>>2]|0)+1152>>2]=c[(c[T>>2]|0)+4352>>2];c[(c[aa>>2]|0)+960>>2]=c[(c[T>>2]|0)+1280+((c[(c[S>>2]|0)+4616>>2]|0)-1<<2)>>2];l=c[aa>>2]|0;p=(c[T>>2]|0)+3840|0;m=l+128|0;do{c[l>>2]=c[p>>2];l=l+4|0;p=p+4|0}while((l|0)<(m|0));l=(c[aa>>2]|0)+1088|0;p=(c[T>>2]|0)+4288|0;m=l+64|0;do{c[l>>2]=c[p>>2];l=l+4|0;p=p+4|0}while((l|0)<(m|0));c[M>>2]=(c[M>>2]|0)+1}c[O>>2]=b[24558+(a[(c[x>>2]|0)+29>>0]>>1<<2)+(a[(c[x>>2]|0)+30>>0]<<1)>>1];c[P>>2]=0;c[Y>>2]=te(32,c[(c[S>>2]|0)+4612>>2]|0)|0;a:do if((a[(c[x>>2]|0)+29>>0]|0)!=2){if((c[N>>2]|0)>0)c[Y>>2]=te(c[Y>>2]|0,(c[N>>2]|0)-2-1|0)|0}else{c[M>>2]=0;while(1){if((c[M>>2]|0)>=(c[(c[S>>2]|0)+4604>>2]|0))break a;c[Y>>2]=te(c[Y>>2]|0,(c[(c[U>>2]|0)+(c[M>>2]<<2)>>2]|0)-2-1|0)|0;c[M>>2]=(c[M>>2]|0)+1}}while(0);if((a[(c[x>>2]|0)+31>>0]|0)==4)c[I>>2]=0;else c[I>>2]=1;l=i;i=i+((1*((c[(c[S>>2]|0)+4616>>2]|0)+(c[(c[S>>2]|0)+4608>>2]|0)<<2)|0)+15&-16)|0;p=i;i=i+((1*((c[(c[S>>2]|0)+4616>>2]|0)+(c[(c[S>>2]|0)+4608>>2]|0)<<1)|0)+15&-16)|0;m=i;i=i+((1*(c[(c[S>>2]|0)+4612>>2]<<2)|0)+15&-16)|0;c[ba>>2]=(c[T>>2]|0)+(c[(c[S>>2]|0)+4616>>2]<<1);c[(c[T>>2]|0)+4364>>2]=c[(c[S>>2]|0)+4616>>2];c[(c[T>>2]|0)+4360>>2]=c[(c[S>>2]|0)+4616>>2];c[R>>2]=0;c[M>>2]=0;while(1){if((c[M>>2]|0)>=(c[(c[S>>2]|0)+4604>>2]|0))break;c[F>>2]=(c[z>>2]|0)+((c[M>>2]>>1|1-(c[I>>2]|0))<<4<<1);c[G>>2]=(c[A>>2]|0)+((c[M>>2]|0)*5<<1);c[E>>2]=(c[B>>2]|0)+(c[M>>2]<<4<<1);c[H>>2]=c[(c[C>>2]|0)+(c[M>>2]<<2)>>2]>>2;c[H>>2]=c[H>>2]|c[(c[C>>2]|0)+(c[M>>2]<<2)>>2]>>1<<16;c[(c[T>>2]|0)+4376>>2]=0;if((a[(c[x>>2]|0)+29>>0]|0)==2?(c[N>>2]=c[(c[U>>2]|0)+(c[M>>2]<<2)>>2],(c[M>>2]&3-(c[I>>2]<<1)|0)==0):0){if((c[M>>2]|0)==2){c[J>>2]=c[k+1164>>2];c[K>>2]=0;c[Z>>2]=1;while(1){if((c[Z>>2]|0)>=(c[(c[S>>2]|0)+4652>>2]|0))break;if((c[k+((c[Z>>2]|0)*1168|0)+1164>>2]|0)<(c[J>>2]|0)){c[J>>2]=c[k+((c[Z>>2]|0)*1168|0)+1164>>2];c[K>>2]=c[Z>>2]}c[Z>>2]=(c[Z>>2]|0)+1}c[Z>>2]=0;while(1){if((c[Z>>2]|0)>=(c[(c[S>>2]|0)+4652>>2]|0))break;if((c[Z>>2]|0)!=(c[K>>2]|0)){g=k+((c[Z>>2]|0)*1168|0)+1164|0;c[g>>2]=(c[g>>2]|0)+134217727}c[Z>>2]=(c[Z>>2]|0)+1}c[aa>>2]=k+((c[K>>2]|0)*1168|0);c[$>>2]=(c[P>>2]|0)+(c[Y>>2]|0);c[Z>>2]=0;while(1){if((c[Z>>2]|0)>=(c[Y>>2]|0))break;c[$>>2]=(c[$>>2]|0)-1&31;a[(c[W>>2]|0)+((c[Z>>2]|0)-(c[Y>>2]|0))>>0]=(c[(c[aa>>2]|0)+576+(c[$>>2]<<2)>>2]>>9)+1>>1;g=_(c[(c[aa>>2]|0)+704+(c[$>>2]<<2)>>2]>>16,(c[(c[u>>2]|0)+4>>2]&65535)<<16>>16)|0;g=g+((_(c[(c[aa>>2]|0)+704+(c[$>>2]<<2)>>2]&65535,(c[(c[u>>2]|0)+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((g+(_(c[(c[aa>>2]|0)+704+(c[$>>2]<<2)>>2]|0,(c[(c[u>>2]|0)+4>>2]>>15)+1>>1)|0)>>13)+1>>1|0)<=32767){g=_(c[(c[aa>>2]|0)+704+(c[$>>2]<<2)>>2]>>16,(c[(c[u>>2]|0)+4>>2]&65535)<<16>>16)|0;g=g+((_(c[(c[aa>>2]|0)+704+(c[$>>2]<<2)>>2]&65535,(c[(c[u>>2]|0)+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((g+(_(c[(c[aa>>2]|0)+704+(c[$>>2]<<2)>>2]|0,(c[(c[u>>2]|0)+4>>2]>>15)+1>>1)|0)>>13)+1>>1|0)<-32768)o=-32768;else{o=_(c[(c[aa>>2]|0)+704+(c[$>>2]<<2)>>2]>>16,(c[(c[u>>2]|0)+4>>2]&65535)<<16>>16)|0;o=o+((_(c[(c[aa>>2]|0)+704+(c[$>>2]<<2)>>2]&65535,(c[(c[u>>2]|0)+4>>2]&65535)<<16>>16)|0)>>16)|0;o=(o+(_(c[(c[aa>>2]|0)+704+(c[$>>2]<<2)>>2]|0,(c[(c[u>>2]|0)+4>>2]>>15)+1>>1)|0)>>13)+1>>1}}else o=32767;b[(c[ba>>2]|0)+((c[Z>>2]|0)-(c[Y>>2]|0)<<1)>>1]=o;c[(c[T>>2]|0)+1280+((c[(c[T>>2]|0)+4364>>2]|0)-(c[Y>>2]|0)+(c[Z>>2]|0)<<2)>>2]=c[(c[aa>>2]|0)+960+(c[$>>2]<<2)>>2];c[Z>>2]=(c[Z>>2]|0)+1}c[R>>2]=0}c[Q>>2]=(c[(c[S>>2]|0)+4616>>2]|0)-(c[N>>2]|0)-(c[(c[S>>2]|0)+4664>>2]|0)-2;g=(c[Q>>2]|0)+(_(c[M>>2]|0,c[(c[S>>2]|0)+4612>>2]|0)|0)|0;Xf(p+(c[Q>>2]<<1)|0,(c[T>>2]|0)+(g<<1)|0,c[F>>2]|0,(c[(c[S>>2]|0)+4616>>2]|0)-(c[Q>>2]|0)|0,c[(c[S>>2]|0)+4664>>2]|0,c[(c[S>>2]|0)+5124>>2]|0);c[(c[T>>2]|0)+4360>>2]=c[(c[S>>2]|0)+4616>>2];c[(c[T>>2]|0)+4376>>2]=1}ue(c[S>>2]|0,c[T>>2]|0,k,c[y>>2]|0,m,p,l,c[M>>2]|0,c[(c[S>>2]|0)+4652>>2]|0,c[w>>2]|0,c[u>>2]|0,c[U>>2]|0,a[(c[x>>2]|0)+29>>0]|0,c[Y>>2]|0);ha=c[T>>2]|0;ga=a[(c[x>>2]|0)+29>>0]|0;fa=c[W>>2]|0;ea=c[ba>>2]|0;da=c[F>>2]|0;o=c[G>>2]|0;s=c[E>>2]|0;r=c[N>>2]|0;e=c[H>>2]|0;j=c[(c[D>>2]|0)+(c[M>>2]<<2)>>2]|0;n=c[(c[t>>2]|0)+(c[M>>2]<<2)>>2]|0;q=c[(c[u>>2]|0)+(c[M>>2]<<2)>>2]|0;d=c[v>>2]|0;f=c[O>>2]|0;h=c[(c[S>>2]|0)+4612>>2]|0;g=c[R>>2]|0;c[R>>2]=g+1;ye(ha,k,ga,m,fa,ea,l,L,da,o,s,r,e,j,n,q,d,f,h,g,c[(c[S>>2]|0)+4660>>2]|0,c[(c[S>>2]|0)+4664>>2]|0,c[(c[S>>2]|0)+4704>>2]|0,c[(c[S>>2]|0)+4652>>2]|0,P,c[Y>>2]|0);c[y>>2]=(c[y>>2]|0)+(c[(c[S>>2]|0)+4612>>2]<<2);c[W>>2]=(c[W>>2]|0)+(c[(c[S>>2]|0)+4612>>2]|0);c[ba>>2]=(c[ba>>2]|0)+(c[(c[S>>2]|0)+4612>>2]<<1);c[M>>2]=(c[M>>2]|0)+1}c[J>>2]=c[k+1164>>2];c[K>>2]=0;c[M>>2]=1;while(1){if((c[M>>2]|0)>=(c[(c[S>>2]|0)+4652>>2]|0))break;if((c[k+((c[M>>2]|0)*1168|0)+1164>>2]|0)<(c[J>>2]|0)){c[J>>2]=c[k+((c[M>>2]|0)*1168|0)+1164>>2];c[K>>2]=c[M>>2]}c[M>>2]=(c[M>>2]|0)+1}c[aa>>2]=k+((c[K>>2]|0)*1168|0);a[(c[x>>2]|0)+34>>0]=c[(c[aa>>2]|0)+1160>>2];c[$>>2]=(c[P>>2]|0)+(c[Y>>2]|0);c[X>>2]=c[(c[u>>2]|0)+((c[(c[S>>2]|0)+4604>>2]|0)-1<<2)>>2]>>6;c[Z>>2]=0;while(1){if((c[Z>>2]|0)>=(c[Y>>2]|0))break;c[$>>2]=(c[$>>2]|0)-1&31;a[(c[W>>2]|0)+((c[Z>>2]|0)-(c[Y>>2]|0))>>0]=(c[(c[aa>>2]|0)+576+(c[$>>2]<<2)>>2]>>9)+1>>1;ha=_(c[(c[aa>>2]|0)+704+(c[$>>2]<<2)>>2]>>16,(c[X>>2]&65535)<<16>>16)|0;ha=ha+((_(c[(c[aa>>2]|0)+704+(c[$>>2]<<2)>>2]&65535,(c[X>>2]&65535)<<16>>16)|0)>>16)|0;if(((ha+(_(c[(c[aa>>2]|0)+704+(c[$>>2]<<2)>>2]|0,(c[X>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<=32767){ha=_(c[(c[aa>>2]|0)+704+(c[$>>2]<<2)>>2]>>16,(c[X>>2]&65535)<<16>>16)|0;ha=ha+((_(c[(c[aa>>2]|0)+704+(c[$>>2]<<2)>>2]&65535,(c[X>>2]&65535)<<16>>16)|0)>>16)|0;if(((ha+(_(c[(c[aa>>2]|0)+704+(c[$>>2]<<2)>>2]|0,(c[X>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<-32768)l=-32768;else{l=_(c[(c[aa>>2]|0)+704+(c[$>>2]<<2)>>2]>>16,(c[X>>2]&65535)<<16>>16)|0;l=l+((_(c[(c[aa>>2]|0)+704+(c[$>>2]<<2)>>2]&65535,(c[X>>2]&65535)<<16>>16)|0)>>16)|0;l=(l+(_(c[(c[aa>>2]|0)+704+(c[$>>2]<<2)>>2]|0,(c[X>>2]>>15)+1>>1)|0)>>7)+1>>1}}else l=32767;b[(c[ba>>2]|0)+((c[Z>>2]|0)-(c[Y>>2]|0)<<1)>>1]=l;c[(c[T>>2]|0)+1280+((c[(c[T>>2]|0)+4364>>2]|0)-(c[Y>>2]|0)+(c[Z>>2]|0)<<2)>>2]=c[(c[aa>>2]|0)+960+(c[$>>2]<<2)>>2];c[Z>>2]=(c[Z>>2]|0)+1}l=(c[T>>2]|0)+3840|0;p=(c[aa>>2]|0)+(c[(c[S>>2]|0)+4612>>2]<<2)|0;m=l+128|0;do{c[l>>2]=c[p>>2];l=l+4|0;p=p+4|0}while((l|0)<(m|0));l=(c[T>>2]|0)+4288|0;p=(c[aa>>2]|0)+1088|0;m=l+64|0;do{c[l>>2]=c[p>>2];l=l+4|0;p=p+4|0}while((l|0)<(m|0));c[(c[T>>2]|0)+4352>>2]=c[(c[aa>>2]|0)+1152>>2];c[(c[T>>2]|0)+4356>>2]=c[(c[U>>2]|0)+((c[(c[S>>2]|0)+4604>>2]|0)-1<<2)>>2];qj(c[T>>2]|0,(c[T>>2]|0)+(c[(c[S>>2]|0)+4608>>2]<<1)|0,c[(c[S>>2]|0)+4616>>2]<<1|0)|0;qj((c[T>>2]|0)+1280|0,(c[T>>2]|0)+1280+(c[(c[S>>2]|0)+4608>>2]<<2)|0,c[(c[S>>2]|0)+4616>>2]<<2|0)|0;na(c[V>>2]|0);i=ca;return}function te(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;i=f;return ((c[e>>2]|0)<(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function ue(a,d,e,f,g,h,j,k,l,m,n,o,p,q){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;L=i;i=i+96|0;r=L+80|0;s=L+76|0;w=L+72|0;x=L+68|0;y=L+64|0;z=L+60|0;A=L+56|0;B=L+52|0;C=L+48|0;D=L+44|0;t=L+40|0;M=L+36|0;u=L+32|0;v=L+28|0;F=L+24|0;I=L+20|0;J=L+16|0;E=L+12|0;H=L+8|0;G=L+4|0;K=L;c[r>>2]=a;c[s>>2]=d;c[w>>2]=e;c[x>>2]=f;c[y>>2]=g;c[z>>2]=h;c[A>>2]=j;c[B>>2]=k;c[C>>2]=l;c[D>>2]=m;c[t>>2]=n;c[M>>2]=o;c[u>>2]=p;c[v>>2]=q;c[J>>2]=c[(c[M>>2]|0)+(c[B>>2]<<2)>>2];if((c[(c[t>>2]|0)+(c[B>>2]<<2)>>2]|0)>1)n=c[(c[t>>2]|0)+(c[B>>2]<<2)>>2]|0;else n=1;c[H>>2]=ve(n,47)|0;if((c[(c[t>>2]|0)+(c[B>>2]<<2)>>2]|0)!=(c[(c[s>>2]|0)+4372>>2]|0))c[E>>2]=xe(c[(c[s>>2]|0)+4372>>2]|0,c[(c[t>>2]|0)+(c[B>>2]<<2)>>2]|0,16)|0;else c[E>>2]=65536;c[G>>2]=(c[H>>2]>>7)+1>>1;c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[(c[r>>2]|0)+4612>>2]|0))break;M=_(c[(c[x>>2]|0)+(c[F>>2]<<2)>>2]>>16,(c[G>>2]&65535)<<16>>16)|0;M=M+((_(c[(c[x>>2]|0)+(c[F>>2]<<2)>>2]&65535,(c[G>>2]&65535)<<16>>16)|0)>>16)|0;M=M+(_(c[(c[x>>2]|0)+(c[F>>2]<<2)>>2]|0,(c[G>>2]>>15)+1>>1)|0)|0;c[(c[y>>2]|0)+(c[F>>2]<<2)>>2]=M;c[F>>2]=(c[F>>2]|0)+1}c[(c[s>>2]|0)+4372>>2]=c[(c[t>>2]|0)+(c[B>>2]<<2)>>2];a:do if(c[(c[s>>2]|0)+4376>>2]|0){if(!(c[B>>2]|0)){M=_(c[H>>2]>>16,(c[D>>2]&65535)<<16>>16)|0;c[H>>2]=M+((_(c[H>>2]&65535,(c[D>>2]&65535)<<16>>16)|0)>>16)<<2}c[F>>2]=(c[(c[s>>2]|0)+4360>>2]|0)-(c[J>>2]|0)-2;while(1){if((c[F>>2]|0)>=(c[(c[s>>2]|0)+4360>>2]|0))break a;M=_(c[H>>2]>>16,b[(c[z>>2]|0)+(c[F>>2]<<1)>>1]|0)|0;M=M+((_(c[H>>2]&65535,b[(c[z>>2]|0)+(c[F>>2]<<1)>>1]|0)|0)>>16)|0;c[(c[A>>2]|0)+(c[F>>2]<<2)>>2]=M;c[F>>2]=(c[F>>2]|0)+1}}while(0);if((c[E>>2]|0)==65536){i=L;return}c[F>>2]=(c[(c[s>>2]|0)+4364>>2]|0)-(c[(c[r>>2]|0)+4616>>2]|0);while(1){if((c[F>>2]|0)>=(c[(c[s>>2]|0)+4364>>2]|0))break;M=_(c[E>>2]>>16,(c[(c[s>>2]|0)+1280+(c[F>>2]<<2)>>2]&65535)<<16>>16)|0;M=M+((_(c[E>>2]&65535,(c[(c[s>>2]|0)+1280+(c[F>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;M=M+(_(c[E>>2]|0,(c[(c[s>>2]|0)+1280+(c[F>>2]<<2)>>2]>>15)+1>>1)|0)|0;c[(c[s>>2]|0)+1280+(c[F>>2]<<2)>>2]=M;c[F>>2]=(c[F>>2]|0)+1}b:do if((c[u>>2]|0)==2?(c[(c[s>>2]|0)+4376>>2]|0)==0:0){c[F>>2]=(c[(c[s>>2]|0)+4360>>2]|0)-(c[J>>2]|0)-2;while(1){if((c[F>>2]|0)>=((c[(c[s>>2]|0)+4360>>2]|0)-(c[v>>2]|0)|0))break b;M=_(c[E>>2]>>16,(c[(c[A>>2]|0)+(c[F>>2]<<2)>>2]&65535)<<16>>16)|0;M=M+((_(c[E>>2]&65535,(c[(c[A>>2]|0)+(c[F>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;M=M+(_(c[E>>2]|0,(c[(c[A>>2]|0)+(c[F>>2]<<2)>>2]>>15)+1>>1)|0)|0;c[(c[A>>2]|0)+(c[F>>2]<<2)>>2]=M;c[F>>2]=(c[F>>2]|0)+1}}while(0);c[I>>2]=0;while(1){if((c[I>>2]|0)>=(c[C>>2]|0))break;c[K>>2]=(c[w>>2]|0)+((c[I>>2]|0)*1168|0);M=_(c[E>>2]>>16,(c[(c[K>>2]|0)+1152>>2]&65535)<<16>>16)|0;M=M+((_(c[E>>2]&65535,(c[(c[K>>2]|0)+1152>>2]&65535)<<16>>16)|0)>>16)|0;M=M+(_(c[E>>2]|0,(c[(c[K>>2]|0)+1152>>2]>>15)+1>>1)|0)|0;c[(c[K>>2]|0)+1152>>2]=M;c[F>>2]=0;while(1){if((c[F>>2]|0)>=32)break;M=_(c[E>>2]>>16,(c[(c[K>>2]|0)+(c[F>>2]<<2)>>2]&65535)<<16>>16)|0;M=M+((_(c[E>>2]&65535,(c[(c[K>>2]|0)+(c[F>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;M=M+(_(c[E>>2]|0,(c[(c[K>>2]|0)+(c[F>>2]<<2)>>2]>>15)+1>>1)|0)|0;c[(c[K>>2]|0)+(c[F>>2]<<2)>>2]=M;c[F>>2]=(c[F>>2]|0)+1}c[F>>2]=0;while(1){if((c[F>>2]|0)>=16)break;M=_(c[E>>2]>>16,(c[(c[K>>2]|0)+1088+(c[F>>2]<<2)>>2]&65535)<<16>>16)|0;M=M+((_(c[E>>2]&65535,(c[(c[K>>2]|0)+1088+(c[F>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;M=M+(_(c[E>>2]|0,(c[(c[K>>2]|0)+1088+(c[F>>2]<<2)>>2]>>15)+1>>1)|0)|0;c[(c[K>>2]|0)+1088+(c[F>>2]<<2)>>2]=M;c[F>>2]=(c[F>>2]|0)+1}c[F>>2]=0;while(1){if((c[F>>2]|0)>=32)break;M=_(c[E>>2]>>16,(c[(c[K>>2]|0)+832+(c[F>>2]<<2)>>2]&65535)<<16>>16)|0;M=M+((_(c[E>>2]&65535,(c[(c[K>>2]|0)+832+(c[F>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;M=M+(_(c[E>>2]|0,(c[(c[K>>2]|0)+832+(c[F>>2]<<2)>>2]>>15)+1>>1)|0)|0;c[(c[K>>2]|0)+832+(c[F>>2]<<2)>>2]=M;M=_(c[E>>2]>>16,(c[(c[K>>2]|0)+960+(c[F>>2]<<2)>>2]&65535)<<16>>16)|0;M=M+((_(c[E>>2]&65535,(c[(c[K>>2]|0)+960+(c[F>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;M=M+(_(c[E>>2]|0,(c[(c[K>>2]|0)+960+(c[F>>2]<<2)>>2]>>15)+1>>1)|0)|0;c[(c[K>>2]|0)+960+(c[F>>2]<<2)>>2]=M;c[F>>2]=(c[F>>2]|0)+1}c[I>>2]=(c[I>>2]|0)+1}i=L;return}function ve(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+48|0;f=h+32|0;n=h+28|0;d=h+24|0;j=h+20|0;g=h+16|0;k=h+12|0;m=h+8|0;l=h+4|0;e=h;c[n>>2]=a;c[d>>2]=b;b=c[n>>2]|0;c[j>>2]=(we((c[n>>2]|0)>0?b:0-b|0)|0)-1;c[m>>2]=c[n>>2]<>2];c[k>>2]=536870911/(c[m>>2]>>16|0)|0;c[e>>2]=c[k>>2]<<16;b=_(c[m>>2]>>16,(c[k>>2]&65535)<<16>>16)|0;c[l>>2]=536870912-(b+((_(c[m>>2]&65535,(c[k>>2]&65535)<<16>>16)|0)>>16))<<3;b=_(c[l>>2]>>16,(c[k>>2]&65535)<<16>>16)|0;b=(c[e>>2]|0)+(b+((_(c[l>>2]&65535,(c[k>>2]&65535)<<16>>16)|0)>>16))|0;c[e>>2]=b+(_(c[l>>2]|0,(c[k>>2]>>15)+1>>1)|0);c[g>>2]=61-(c[j>>2]|0)-(c[d>>2]|0);b=c[g>>2]|0;if((c[g>>2]|0)>0)if((b|0)<32){c[f>>2]=c[e>>2]>>c[g>>2];n=c[f>>2]|0;i=h;return n|0}else{c[f>>2]=0;n=c[f>>2]|0;i=h;return n|0}a=c[e>>2]|0;d=0-(c[g>>2]|0)|0;do if((-2147483648>>0-b|0)>(2147483647>>0-(c[g>>2]|0)|0)){if((a|0)>(-2147483648>>d|0)){b=-2147483648>>0-(c[g>>2]|0);break}if((c[e>>2]|0)<(2147483647>>0-(c[g>>2]|0)|0)){b=2147483647>>0-(c[g>>2]|0);break}else{b=c[e>>2]|0;break}}else{if((a|0)>(2147483647>>d|0)){b=2147483647>>0-(c[g>>2]|0);break}if((c[e>>2]|0)<(-2147483648>>0-(c[g>>2]|0)|0)){b=-2147483648>>0-(c[g>>2]|0);break}else{b=c[e>>2]|0;break}}while(0);c[f>>2]=b<<0-(c[g>>2]|0);n=c[f>>2]|0;i=h;return n|0}function we(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){a=32;i=d;return a|0}a=32-(32-(aa(c[b>>2]|0)|0))|0;i=d;return a|0}function xe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=i;i=i+48|0;f=h+40|0;q=h+36|0;p=h+32|0;j=h+28|0;l=h+24|0;k=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[j>>2]=d;b=c[q>>2]|0;c[l>>2]=(we((c[q>>2]|0)>0?b:0-b|0)|0)-1;c[n>>2]=c[q>>2]<>2];b=c[p>>2]|0;c[k>>2]=(we((c[p>>2]|0)>0?b:0-b|0)|0)-1;c[o>>2]=c[p>>2]<>2];c[m>>2]=536870911/(c[o>>2]>>16|0)|0;b=_(c[n>>2]>>16,(c[m>>2]&65535)<<16>>16)|0;c[e>>2]=b+((_(c[n>>2]&65535,(c[m>>2]&65535)<<16>>16)|0)>>16);b=c[n>>2]|0;a=c[o>>2]|0;d=c[e>>2]|0;d=yj(a|0,((a|0)<0)<<31>>31|0,d|0,((d|0)<0)<<31>>31|0)|0;d=nj(d|0,C|0,32)|0;c[n>>2]=b-(d<<3);d=_(c[n>>2]>>16,(c[m>>2]&65535)<<16>>16)|0;c[e>>2]=(c[e>>2]|0)+(d+((_(c[n>>2]&65535,(c[m>>2]&65535)<<16>>16)|0)>>16));c[g>>2]=29+(c[l>>2]|0)-(c[k>>2]|0)-(c[j>>2]|0);d=c[g>>2]|0;if((c[g>>2]|0)>=0)if((d|0)<32){c[f>>2]=c[e>>2]>>c[g>>2];q=c[f>>2]|0;i=h;return q|0}else{c[f>>2]=0;q=c[f>>2]|0;i=h;return q|0}a=c[e>>2]|0;b=0-(c[g>>2]|0)|0;do if((-2147483648>>0-d|0)>(2147483647>>0-(c[g>>2]|0)|0)){if((a|0)>(-2147483648>>b|0)){d=-2147483648>>0-(c[g>>2]|0);break}if((c[e>>2]|0)<(2147483647>>0-(c[g>>2]|0)|0)){d=2147483647>>0-(c[g>>2]|0);break}else{d=c[e>>2]|0;break}}else{if((a|0)>(2147483647>>b|0)){d=2147483647>>0-(c[g>>2]|0);break}if((c[e>>2]|0)<(-2147483648>>0-(c[g>>2]|0)|0)){d=-2147483648>>0-(c[g>>2]|0);break}else{d=c[e>>2]|0;break}}while(0);c[f>>2]=d<<0-(c[g>>2]|0);q=c[f>>2]|0;i=h;return q|0} function Uh(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+16|0;f=l+12|0;h=l+8|0;k=l+4|0;j=l;c[e>>2]=a;g[f>>2]=b;c[h>>2]=d;c[j>>2]=c[h>>2]&65532;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[j>>2]|0))break;d=(c[e>>2]|0)+((c[k>>2]|0)+0<<2)|0;g[d>>2]=+g[d>>2]*+g[f>>2];d=(c[e>>2]|0)+((c[k>>2]|0)+1<<2)|0;g[d>>2]=+g[d>>2]*+g[f>>2];d=(c[e>>2]|0)+((c[k>>2]|0)+2<<2)|0;g[d>>2]=+g[d>>2]*+g[f>>2];d=(c[e>>2]|0)+((c[k>>2]|0)+3<<2)|0;g[d>>2]=+g[d>>2]*+g[f>>2];c[k>>2]=(c[k>>2]|0)+4}while(1){if((c[k>>2]|0)>=(c[h>>2]|0))break;j=(c[e>>2]|0)+(c[k>>2]<<2)|0;g[j>>2]=+g[j>>2]*+g[f>>2];c[k>>2]=(c[k>>2]|0)+1}i=l;return}function Vh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0;p=i;i=i+176|0;e=p+168|0;f=p+164|0;h=p+160|0;m=p+156|0;n=p+152|0;j=p+16|0;k=p+8|0;l=p+4|0;o=p;c[e>>2]=a;c[f>>2]=b;c[h>>2]=d;c[m>>2]=0;while(1){if((c[m>>2]|0)>=((c[h>>2]|0)+1|0))break;q=+g[(c[f>>2]|0)+(c[m>>2]<<2)>>2];g[j+(c[m>>2]<<3)+4>>2]=q;g[j+(c[m>>2]<<3)>>2]=q;c[m>>2]=(c[m>>2]|0)+1}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[h>>2]|0))break;g[o>>2]=-+g[j+((c[m>>2]|0)+1<<3)>>2]/(+g[j+4>>2]>9.999999717180685e-10?+g[j+4>>2]:9.999999717180685e-10);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[h>>2]|0)-(c[m>>2]|0)|0))break;g[k>>2]=+g[j+((c[n>>2]|0)+(c[m>>2]|0)+1<<3)>>2];g[l>>2]=+g[j+(c[n>>2]<<3)+4>>2];g[j+((c[n>>2]|0)+(c[m>>2]|0)+1<<3)>>2]=+g[k>>2]+ +g[l>>2]*+g[o>>2];g[j+(c[n>>2]<<3)+4>>2]=+g[l>>2]+ +g[k>>2]*+g[o>>2];c[n>>2]=(c[n>>2]|0)+1}c[m>>2]=(c[m>>2]|0)+1}i=p;return +(+g[j+4>>2])}function Wh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;f=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;n=o+8|0;l=o+4|0;m=o;c[f>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[k>>2]|0))break;c[(c[h>>2]|0)+(c[l>>2]<<2)>>2]=c[l>>2];c[l>>2]=(c[l>>2]|0)+1}c[l>>2]=1;while(1){if((c[l>>2]|0)>=(c[k>>2]|0))break;g[n>>2]=+g[(c[f>>2]|0)+(c[l>>2]<<2)>>2];c[m>>2]=(c[l>>2]|0)-1;while(1){if((c[m>>2]|0)<0)break;if(!(+g[n>>2]>+g[(c[f>>2]|0)+(c[m>>2]<<2)>>2]))break;g[(c[f>>2]|0)+((c[m>>2]|0)+1<<2)>>2]=+g[(c[f>>2]|0)+(c[m>>2]<<2)>>2];c[(c[h>>2]|0)+((c[m>>2]|0)+1<<2)>>2]=c[(c[h>>2]|0)+(c[m>>2]<<2)>>2];c[m>>2]=(c[m>>2]|0)+-1}g[(c[f>>2]|0)+((c[m>>2]|0)+1<<2)>>2]=+g[n>>2];c[(c[h>>2]|0)+((c[m>>2]|0)+1<<2)>>2]=c[l>>2];c[l>>2]=(c[l>>2]|0)+1}c[l>>2]=c[k>>2];while(1){if((c[l>>2]|0)>=(c[j>>2]|0))break;g[n>>2]=+g[(c[f>>2]|0)+(c[l>>2]<<2)>>2];if(+g[n>>2]>+g[(c[f>>2]|0)+((c[k>>2]|0)-1<<2)>>2]){c[m>>2]=(c[k>>2]|0)-2;while(1){if((c[m>>2]|0)<0)break;if(!(+g[n>>2]>+g[(c[f>>2]|0)+(c[m>>2]<<2)>>2]))break;g[(c[f>>2]|0)+((c[m>>2]|0)+1<<2)>>2]=+g[(c[f>>2]|0)+(c[m>>2]<<2)>>2];c[(c[h>>2]|0)+((c[m>>2]|0)+1<<2)>>2]=c[(c[h>>2]|0)+(c[m>>2]<<2)>>2];c[m>>2]=(c[m>>2]|0)+-1}g[(c[f>>2]|0)+((c[m>>2]|0)+1<<2)>>2]=+g[n>>2];c[(c[h>>2]|0)+((c[m>>2]|0)+1<<2)>>2]=c[l>>2]}c[l>>2]=(c[l>>2]|0)+1}i=o;return}function Xh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+80|0;h=A+64|0;j=A+60|0;k=A+56|0;l=A+52|0;n=A+48|0;r=A+44|0;x=A+40|0;m=A+36|0;y=A+32|0;o=A+28|0;w=A+24|0;q=A+20|0;s=A+16|0;v=A+12|0;u=A+8|0;p=A+4|0;t=A;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;if(!((((c[k>>2]|0)<1|(c[j>>2]|0)<1)^1)&(c[h>>2]|0)!=0&(c[l>>2]|0)!=0)){i=A;return}c[r>>2]=0;while(1){if((c[r>>2]|0)>=(_(c[j>>2]|0,c[k>>2]|0)|0))break;if(2.0<+g[(c[h>>2]|0)+(c[r>>2]<<2)>>2])f=2.0;else f=+g[(c[h>>2]|0)+(c[r>>2]<<2)>>2];if(!(-2.0>f))if(2.0<+g[(c[h>>2]|0)+(c[r>>2]<<2)>>2])f=2.0;else f=+g[(c[h>>2]|0)+(c[r>>2]<<2)>>2];else f=-2.0;g[(c[h>>2]|0)+(c[r>>2]<<2)>>2]=f;c[r>>2]=(c[r>>2]|0)+1}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[k>>2]|0))break;c[x>>2]=(c[h>>2]|0)+(c[n>>2]<<2);g[m>>2]=+g[(c[l>>2]|0)+(c[n>>2]<<2)>>2];c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[j>>2]|0))break;e=_(c[r>>2]|0,c[k>>2]|0)|0;if(+g[(c[x>>2]|0)+(e<<2)>>2]*+g[m>>2]>=0.0)break;d=_(c[r>>2]|0,c[k>>2]|0)|0;b=_(c[r>>2]|0,c[k>>2]|0)|0;a=_(c[r>>2]|0,c[k>>2]|0)|0;e=_(c[r>>2]|0,c[k>>2]|0)|0;g[(c[x>>2]|0)+(e<<2)>>2]=+g[(c[x>>2]|0)+(d<<2)>>2]+ +g[m>>2]*+g[(c[x>>2]|0)+(b<<2)>>2]*+g[(c[x>>2]|0)+(a<<2)>>2];c[r>>2]=(c[r>>2]|0)+1}c[o>>2]=0;g[y>>2]=+g[c[x>>2]>>2];do{c[v>>2]=0;c[r>>2]=c[o>>2];while(1){if((c[r>>2]|0)>=(c[j>>2]|0))break;e=_(c[r>>2]|0,c[k>>2]|0)|0;if(+g[(c[x>>2]|0)+(e<<2)>>2]>1.0)break;e=_(c[r>>2]|0,c[k>>2]|0)|0;if(+g[(c[x>>2]|0)+(e<<2)>>2]<-1.0)break;c[r>>2]=(c[r>>2]|0)+1}if((c[r>>2]|0)==(c[j>>2]|0)){z=23;break}c[u>>2]=c[r>>2];e=c[r>>2]|0;c[q>>2]=e;c[w>>2]=e;e=_(c[r>>2]|0,c[k>>2]|0)|0;g[s>>2]=+N(+(+g[(c[x>>2]|0)+(e<<2)>>2]));while(1){if((c[w>>2]|0)<=0)break;a=_(c[r>>2]|0,c[k>>2]|0)|0;e=_((c[w>>2]|0)-1|0,c[k>>2]|0)|0;if(!(+g[(c[x>>2]|0)+(a<<2)>>2]*+g[(c[x>>2]|0)+(e<<2)>>2]>=0.0))break;c[w>>2]=(c[w>>2]|0)+-1}while(1){if((c[q>>2]|0)>=(c[j>>2]|0))break;a=_(c[r>>2]|0,c[k>>2]|0)|0;e=_(c[q>>2]|0,c[k>>2]|0)|0;if(!(+g[(c[x>>2]|0)+(a<<2)>>2]*+g[(c[x>>2]|0)+(e<<2)>>2]>=0.0))break;e=_(c[q>>2]|0,c[k>>2]|0)|0;f=+N(+(+g[(c[x>>2]|0)+(e<<2)>>2]));if(f>+g[s>>2]){e=_(c[q>>2]|0,c[k>>2]|0)|0;g[s>>2]=+N(+(+g[(c[x>>2]|0)+(e<<2)>>2]));c[u>>2]=c[q>>2]}c[q>>2]=(c[q>>2]|0)+1}if(!(c[w>>2]|0)){d=_(c[r>>2]|0,c[k>>2]|0)|0;d=+g[(c[x>>2]|0)+(d<<2)>>2]*+g[c[x>>2]>>2]>=0.0}else d=0;c[v>>2]=d&1;g[m>>2]=(+g[s>>2]-1.0)/(+g[s>>2]*+g[s>>2]);e=_(c[r>>2]|0,c[k>>2]|0)|0;if(+g[(c[x>>2]|0)+(e<<2)>>2]>0.0)g[m>>2]=-+g[m>>2];c[r>>2]=c[w>>2];while(1){if((c[r>>2]|0)>=(c[q>>2]|0))break;d=_(c[r>>2]|0,c[k>>2]|0)|0;b=_(c[r>>2]|0,c[k>>2]|0)|0;a=_(c[r>>2]|0,c[k>>2]|0)|0;e=_(c[r>>2]|0,c[k>>2]|0)|0;g[(c[x>>2]|0)+(e<<2)>>2]=+g[(c[x>>2]|0)+(d<<2)>>2]+ +g[m>>2]*+g[(c[x>>2]|0)+(b<<2)>>2]*+g[(c[x>>2]|0)+(a<<2)>>2];c[r>>2]=(c[r>>2]|0)+1}a:do if((c[v>>2]|0)!=0&(c[u>>2]|0)>=2){g[t>>2]=+g[y>>2]-+g[c[x>>2]>>2];g[p>>2]=+g[t>>2]/+(c[u>>2]|0);c[r>>2]=c[o>>2];while(1){if((c[r>>2]|0)>=(c[u>>2]|0))break a;g[t>>2]=+g[t>>2]-+g[p>>2];e=_(c[r>>2]|0,c[k>>2]|0)|0;e=(c[x>>2]|0)+(e<<2)|0;g[e>>2]=+g[e>>2]+ +g[t>>2];e=_(c[r>>2]|0,c[k>>2]|0)|0;if(1.0<+g[(c[x>>2]|0)+(e<<2)>>2])f=1.0;else{e=_(c[r>>2]|0,c[k>>2]|0)|0;f=+g[(c[x>>2]|0)+(e<<2)>>2]}if(!(-1.0>f)){e=_(c[r>>2]|0,c[k>>2]|0)|0;if(1.0<+g[(c[x>>2]|0)+(e<<2)>>2])f=1.0;else{e=_(c[r>>2]|0,c[k>>2]|0)|0;f=+g[(c[x>>2]|0)+(e<<2)>>2]}}else f=-1.0;e=_(c[r>>2]|0,c[k>>2]|0)|0;g[(c[x>>2]|0)+(e<<2)>>2]=f;c[r>>2]=(c[r>>2]|0)+1}}while(0);c[o>>2]=c[q>>2]}while((c[o>>2]|0)!=(c[j>>2]|0));if((z|0)==23){z=0;g[m>>2]=0.0}g[(c[l>>2]|0)+(c[n>>2]<<2)>>2]=+g[m>>2];c[n>>2]=(c[n>>2]|0)+1}i=A;return}function Yh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[g>>2]=b;c[h>>2]=e;e=c[g>>2]|0;if((c[g>>2]|0)<252){a[c[h>>2]>>0]=e;c[f>>2]=1;h=c[f>>2]|0;i=j;return h|0}else{a[c[h>>2]>>0]=252+(e&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;i=j;return h|0}return 0}function Zh(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+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]<>2]|0)/400|0;g=c[g>>2]|0;i=h;return g|0}a=d[c[e>>2]>>0]|0;if((b&96|0)!=96){c[g>>2]=a>>3&3;b=c[f>>2]|0;if((c[g>>2]|0)==3){c[g>>2]=(b*60|0)/1e3|0;g=c[g>>2]|0;i=h;return g|0}else{c[g>>2]=(b<>2]|0)/100|0;g=c[g>>2]|0;i=h;return g|0}}else{b=c[f>>2]|0;if(a&8|0)b=(b|0)/50|0;else b=(b|0)/100|0;c[g>>2]=b;g=c[g>>2]|0;i=h;return g|0}return 0}function _h(e,f,g,h,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=i;i=i+80|0;n=J+72|0;o=J+68|0;p=J+64|0;q=J+60|0;r=J+56|0;s=J+52|0;t=J+48|0;u=J+44|0;v=J+40|0;C=J+36|0;w=J+32|0;z=J+28|0;x=J+24|0;y=J+77|0;H=J+76|0;B=J+20|0;D=J+16|0;F=J+12|0;A=J+8|0;E=J+4|0;G=J;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[u>>2]=l;c[v>>2]=m;c[F>>2]=0;c[A>>2]=c[o>>2];if(!(c[t>>2]|0)){c[n>>2]=-1;I=c[n>>2]|0;i=J;return I|0}c[B>>2]=Zh(c[o>>2]|0,48e3)|0;c[x>>2]=0;k=c[o>>2]|0;c[o>>2]=k+1;a[H>>0]=a[k>>0]|0;c[p>>2]=(c[p>>2]|0)+-1;c[D>>2]=c[p>>2];a:do switch(d[H>>0]&3|0){case 0:{c[z>>2]=1;break}case 1:{c[z>>2]=2;c[x>>2]=1;if(!(c[q>>2]|0)){if(!(c[p>>2]&1)){c[D>>2]=(c[p>>2]|0)/2|0;b[c[t>>2]>>1]=c[D>>2];break a}c[n>>2]=-4;I=c[n>>2]|0;i=J;return I|0}break}case 2:{c[z>>2]=2;c[w>>2]=$h(c[o>>2]|0,c[p>>2]|0,c[t>>2]|0)|0;c[p>>2]=(c[p>>2]|0)-(c[w>>2]|0);if((b[c[t>>2]>>1]|0)>=0?(b[c[t>>2]>>1]|0)<=(c[p>>2]|0):0){c[o>>2]=(c[o>>2]|0)+(c[w>>2]|0);c[D>>2]=(c[p>>2]|0)-(b[c[t>>2]>>1]|0);break a}c[n>>2]=-4;I=c[n>>2]|0;i=J;return I|0}default:{if((c[p>>2]|0)<1){c[n>>2]=-4;I=c[n>>2]|0;i=J;return I|0}k=c[o>>2]|0;c[o>>2]=k+1;a[y>>0]=a[k>>0]|0;c[z>>2]=d[y>>0]&63;if((c[z>>2]|0)>0?(_(c[B>>2]|0,c[z>>2]|0)|0)<=5760:0){c[p>>2]=(c[p>>2]|0)+-1;b:do if(d[y>>0]&64|0){while(1){if((c[p>>2]|0)<=0)break;k=c[o>>2]|0;c[o>>2]=k+1;c[E>>2]=d[k>>0];c[p>>2]=(c[p>>2]|0)+-1;c[G>>2]=(c[E>>2]|0)==255?254:c[E>>2]|0;c[p>>2]=(c[p>>2]|0)-(c[G>>2]|0);c[F>>2]=(c[F>>2]|0)+(c[G>>2]|0);if((c[E>>2]|0)!=255)break b}c[n>>2]=-4;I=c[n>>2]|0;i=J;return I|0}while(0);if((c[p>>2]|0)<0){c[n>>2]=-4;I=c[n>>2]|0;i=J;return I|0}c[x>>2]=((d[y>>0]&128|0)!=0^1)&1;if(c[x>>2]|0){if(c[q>>2]|0)break a;c[D>>2]=(c[p>>2]|0)/(c[z>>2]|0)|0;I=_(c[D>>2]|0,c[z>>2]|0)|0;if((I|0)!=(c[p>>2]|0)){c[n>>2]=-4;I=c[n>>2]|0;i=J;return I|0}c[C>>2]=0;while(1){if((c[C>>2]|0)>=((c[z>>2]|0)-1|0))break a;b[(c[t>>2]|0)+(c[C>>2]<<1)>>1]=c[D>>2];c[C>>2]=(c[C>>2]|0)+1}}c[D>>2]=c[p>>2];c[C>>2]=0;while(1){if((c[C>>2]|0)>=((c[z>>2]|0)-1|0))break;c[w>>2]=$h(c[o>>2]|0,c[p>>2]|0,(c[t>>2]|0)+(c[C>>2]<<1)|0)|0;c[p>>2]=(c[p>>2]|0)-(c[w>>2]|0);if((b[(c[t>>2]|0)+(c[C>>2]<<1)>>1]|0)<0){I=29;break}if((b[(c[t>>2]|0)+(c[C>>2]<<1)>>1]|0)>(c[p>>2]|0)){I=29;break}c[o>>2]=(c[o>>2]|0)+(c[w>>2]|0);c[D>>2]=(c[D>>2]|0)-((c[w>>2]|0)+(b[(c[t>>2]|0)+(c[C>>2]<<1)>>1]|0));c[C>>2]=(c[C>>2]|0)+1}if((I|0)==29){c[n>>2]=-4;I=c[n>>2]|0;i=J;return I|0}if((c[D>>2]|0)>=0)break a;c[n>>2]=-4;I=c[n>>2]|0;i=J;return I|0}c[n>>2]=-4;I=c[n>>2]|0;i=J;return I|0}}while(0);c:do if(c[q>>2]|0){c[w>>2]=$h(c[o>>2]|0,c[p>>2]|0,(c[t>>2]|0)+(c[z>>2]<<1)+-2|0)|0;c[p>>2]=(c[p>>2]|0)-(c[w>>2]|0);if((b[(c[t>>2]|0)+((c[z>>2]|0)-1<<1)>>1]|0)>=0?(b[(c[t>>2]|0)+((c[z>>2]|0)-1<<1)>>1]|0)<=(c[p>>2]|0):0){c[o>>2]=(c[o>>2]|0)+(c[w>>2]|0);if(!(c[x>>2]|0)){if(((c[w>>2]|0)+(b[(c[t>>2]|0)+((c[z>>2]|0)-1<<1)>>1]|0)|0)<=(c[D>>2]|0))break;c[n>>2]=-4;I=c[n>>2]|0;i=J;return I|0}I=_(b[(c[t>>2]|0)+((c[z>>2]|0)-1<<1)>>1]|0,c[z>>2]|0)|0;if((I|0)>(c[p>>2]|0)){c[n>>2]=-4;I=c[n>>2]|0;i=J;return I|0}c[C>>2]=0;while(1){if((c[C>>2]|0)>=((c[z>>2]|0)-1|0))break c;b[(c[t>>2]|0)+(c[C>>2]<<1)>>1]=b[(c[t>>2]|0)+((c[z>>2]|0)-1<<1)>>1]|0;c[C>>2]=(c[C>>2]|0)+1}}c[n>>2]=-4;I=c[n>>2]|0;i=J;return I|0}else{if((c[D>>2]|0)<=1275){b[(c[t>>2]|0)+((c[z>>2]|0)-1<<1)>>1]=c[D>>2];break}c[n>>2]=-4;I=c[n>>2]|0;i=J;return I|0}while(0);if(c[u>>2]|0)c[c[u>>2]>>2]=(c[o>>2]|0)-(c[A>>2]|0);c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[z>>2]|0))break;if(c[s>>2]|0)c[(c[s>>2]|0)+(c[C>>2]<<2)>>2]=c[o>>2];c[o>>2]=(c[o>>2]|0)+(b[(c[t>>2]|0)+(c[C>>2]<<1)>>1]|0);c[C>>2]=(c[C>>2]|0)+1}if(c[v>>2]|0)c[c[v>>2]>>2]=(c[F>>2]|0)+((c[o>>2]|0)-(c[A>>2]|0));if(c[r>>2]|0)a[c[r>>2]>>0]=a[H>>0]|0;c[n>>2]=c[z>>2];I=c[n>>2]|0;i=J;return I|0}function $h(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[h>>2]=a;c[j>>2]=e;c[k>>2]=f;if((c[j>>2]|0)<1){b[c[k>>2]>>1]=-1;c[g>>2]=-1;f=c[g>>2]|0;i=l;return f|0}if((d[c[h>>2]>>0]|0|0)<252){b[c[k>>2]>>1]=d[c[h>>2]>>0]|0;c[g>>2]=1;f=c[g>>2]|0;i=l;return f|0}if((c[j>>2]|0)<2){b[c[k>>2]>>1]=-1;c[g>>2]=-1;f=c[g>>2]|0;i=l;return f|0}else{b[c[k>>2]>>1]=((d[(c[h>>2]|0)+1>>0]|0)<<2)+(d[c[h>>2]>>0]|0);c[g>>2]=2;f=c[g>>2]|0;i=l;return f|0}return 0}function ai(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;b=h+16|0;d=h+12|0;g=h+8|0;e=h+4|0;f=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;i=h;return g|0}c[f>>2]=Pd(g)|0;if(c[f>>2]|0){c[b>>2]=0;g=c[b>>2]|0;i=h;return g|0}else{c[g>>2]=bi(c[g>>2]|0)|0;c[e>>2]=Fb(c[d>>2]|0)|0;f=bi(88)|0;c[b>>2]=f+(c[g>>2]|0)+(c[e>>2]|0);g=c[b>>2]|0;i=h;return g|0}return 0}function bi(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=4;a=_((((c[e>>2]|0)+(c[d>>2]|0)-1|0)>>>0)/((c[d>>2]|0)>>>0)|0,c[d>>2]|0)|0;i=b;return a|0}function ci(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;n=o;e=o+32|0;f=o+28|0;g=o+24|0;h=o+20|0;m=o+16|0;j=o+12|0;k=o+8|0;l=o+4|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(!((c[g>>2]|0)!=48e3&(c[g>>2]|0)!=24e3&(c[g>>2]|0)!=16e3&(c[g>>2]|0)!=12e3&(c[g>>2]|0)!=8e3)?!((c[h>>2]|0)!=1&(c[h>>2]|0)!=2):0){a=c[f>>2]|0;oj(a|0,0,ai(c[h>>2]|0)|0)|0;c[k>>2]=Pd(l)|0;if(c[k>>2]|0){c[e>>2]=-3;n=c[e>>2]|0;i=o;return n|0}c[l>>2]=bi(c[l>>2]|0)|0;a=bi(88)|0;c[(c[f>>2]|0)+4>>2]=a;c[c[f>>2]>>2]=(c[(c[f>>2]|0)+4>>2]|0)+(c[l>>2]|0);c[m>>2]=(c[f>>2]|0)+(c[(c[f>>2]|0)+4>>2]|0);c[j>>2]=(c[f>>2]|0)+(c[c[f>>2]>>2]|0);a=c[h>>2]|0;c[(c[f>>2]|0)+8>>2]=a;c[(c[f>>2]|0)+48>>2]=a;c[(c[f>>2]|0)+12>>2]=c[g>>2];c[(c[f>>2]|0)+16+8>>2]=c[(c[f>>2]|0)+12>>2];c[(c[f>>2]|0)+16>>2]=c[(c[f>>2]|0)+8>>2];c[k>>2]=Qd(c[m>>2]|0)|0;if(c[k>>2]|0){c[e>>2]=-3;n=c[e>>2]|0;i=o;return n|0}c[k>>2]=Hb(c[j>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;if(c[k>>2]|0){c[e>>2]=-3;n=c[e>>2]|0;i=o;return n|0}else{a=c[j>>2]|0;c[n>>2]=0;Kb(a,10016,n)|0;c[(c[f>>2]|0)+60>>2]=0;c[(c[f>>2]|0)+64>>2]=(c[g>>2]|0)/400|0;n=di()|0;c[(c[f>>2]|0)+44>>2]=n;c[e>>2]=0;n=c[e>>2]|0;i=o;return n|0}}c[e>>2]=-1;n=c[e>>2]|0;i=o;return n|0}function di(){return 0}function ei(a,d,e,f,h,j,k,l,m){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=i;i=i+208|0;G=N+88|0;H=N+84|0;n=N+80|0;o=N+76|0;I=N+72|0;J=N+68|0;p=N+64|0;q=N+60|0;r=N+56|0;s=N+52|0;v=N+48|0;w=N+44|0;t=N+40|0;x=N+36|0;F=N+192|0;z=N+32|0;y=N+28|0;A=N+24|0;B=N+20|0;E=N+96|0;K=N+16|0;L=N+12|0;u=N+8|0;C=N+4|0;D=N;c[H>>2]=a;c[n>>2]=d;c[o>>2]=e;c[I>>2]=f;c[J>>2]=h;c[p>>2]=j;c[q>>2]=k;c[r>>2]=l;c[s>>2]=m;if((c[p>>2]|0)<0|(c[p>>2]|0)>1){c[G>>2]=-1;M=c[G>>2]|0;i=N;return M|0}if((c[p>>2]|0)!=0|(c[o>>2]|0)==0|(c[n>>2]|0)==0?(c[J>>2]|0)%((c[(c[H>>2]|0)+12>>2]|0)/400|0|0)|0|0:0){c[G>>2]=-1;M=c[G>>2]|0;i=N;return M|0}if((c[o>>2]|0)==0|(c[n>>2]|0)==0){c[K>>2]=0;while(1){n=(c[I>>2]|0)+((_(c[K>>2]|0,c[(c[H>>2]|0)+8>>2]|0)|0)<<2)|0;c[L>>2]=fi(c[H>>2]|0,0,0,n,(c[J>>2]|0)-(c[K>>2]|0)|0,0)|0;n=c[L>>2]|0;if((c[L>>2]|0)<0){M=9;break}c[K>>2]=(c[K>>2]|0)+n;if((c[K>>2]|0)>=(c[J>>2]|0)){M=11;break}}if((M|0)==9){c[G>>2]=n;M=c[G>>2]|0;i=N;return M|0}else if((M|0)==11){ii()|0;c[(c[H>>2]|0)+72>>2]=c[K>>2];c[G>>2]=c[K>>2];M=c[G>>2]|0;i=N;return M|0}}if((c[o>>2]|0)<0){c[G>>2]=-1;M=c[G>>2]|0;i=N;return M|0}c[A>>2]=ji(c[n>>2]|0)|0;c[y>>2]=ki(c[n>>2]|0)|0;c[z>>2]=Zh(c[n>>2]|0,c[(c[H>>2]|0)+12>>2]|0)|0;c[B>>2]=li(c[n>>2]|0)|0;c[t>>2]=_h(c[n>>2]|0,c[o>>2]|0,c[q>>2]|0,F,0,E,x,c[r>>2]|0)|0;if((c[t>>2]|0)<0){c[G>>2]=c[t>>2];M=c[G>>2]|0;i=N;return M|0}c[n>>2]=(c[n>>2]|0)+(c[x>>2]|0);if(c[p>>2]|0){if(!((c[A>>2]|0)==1002?1:(c[J>>2]|0)<(c[z>>2]|0))?(c[(c[H>>2]|0)+56>>2]|0)!=1002:0){c[u>>2]=c[(c[H>>2]|0)+72>>2];if((c[J>>2]|0)-(c[z>>2]|0)|0?(c[C>>2]=ei(c[H>>2]|0,0,0,c[I>>2]|0,(c[J>>2]|0)-(c[z>>2]|0)|0,0,0,0,c[s>>2]|0)|0,(c[C>>2]|0)<0):0){c[(c[H>>2]|0)+72>>2]=c[u>>2];c[G>>2]=c[C>>2];M=c[G>>2]|0;i=N;return M|0}c[(c[H>>2]|0)+56>>2]=c[A>>2];c[(c[H>>2]|0)+52>>2]=c[y>>2];c[(c[H>>2]|0)+64>>2]=c[z>>2];c[(c[H>>2]|0)+48>>2]=c[B>>2];M=(c[I>>2]|0)+((_(c[(c[H>>2]|0)+8>>2]|0,(c[J>>2]|0)-(c[z>>2]|0)|0)|0)<<2)|0;c[C>>2]=fi(c[H>>2]|0,c[n>>2]|0,b[E>>1]|0,M,c[z>>2]|0,1)|0;if((c[C>>2]|0)<0){c[G>>2]=c[C>>2];M=c[G>>2]|0;i=N;return M|0}else{ii()|0;c[(c[H>>2]|0)+72>>2]=c[J>>2];c[G>>2]=c[J>>2];M=c[G>>2]|0;i=N;return M|0}}c[G>>2]=ei(c[H>>2]|0,0,0,c[I>>2]|0,c[J>>2]|0,0,0,0,c[s>>2]|0)|0;M=c[G>>2]|0;i=N;return M|0}L=_(c[t>>2]|0,c[z>>2]|0)|0;if((L|0)>(c[J>>2]|0)){c[G>>2]=-2;M=c[G>>2]|0;i=N;return M|0}c[(c[H>>2]|0)+56>>2]=c[A>>2];c[(c[H>>2]|0)+52>>2]=c[y>>2];c[(c[H>>2]|0)+64>>2]=c[z>>2];c[(c[H>>2]|0)+48>>2]=c[B>>2];c[w>>2]=0;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[t>>2]|0))break;L=(c[I>>2]|0)+((_(c[w>>2]|0,c[(c[H>>2]|0)+8>>2]|0)|0)<<2)|0;c[D>>2]=fi(c[H>>2]|0,c[n>>2]|0,b[E+(c[v>>2]<<1)>>1]|0,L,(c[J>>2]|0)-(c[w>>2]|0)|0,0)|0;if((c[D>>2]|0)<0){M=31;break}c[n>>2]=(c[n>>2]|0)+(b[E+(c[v>>2]<<1)>>1]|0);c[w>>2]=(c[w>>2]|0)+(c[D>>2]|0);c[v>>2]=(c[v>>2]|0)+1}if((M|0)==31){c[G>>2]=c[D>>2];M=c[G>>2]|0;i=N;return M|0}c[(c[H>>2]|0)+72>>2]=c[w>>2];ii()|0;if(c[s>>2]|0)Xh(c[I>>2]|0,c[w>>2]|0,c[(c[H>>2]|0)+8>>2]|0,(c[H>>2]|0)+76|0);else{g[(c[H>>2]|0)+76+4>>2]=0.0;g[(c[H>>2]|0)+76>>2]=0.0}c[G>>2]=c[w>>2];M=c[G>>2]|0;i=N;return M|0}function fi(d,e,f,h,j,k){d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ja=0,ka=0,la=0,ma=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0;ta=i;i=i+320|0;fa=ta+80|0;ea=ta+72|0;da=ta+64|0;ca=ta+56|0;ba=ta+48|0;aa=ta+40|0;$=ta+32|0;Z=ta+24|0;Y=ta+16|0;y=ta+8|0;x=ta;qa=ta+308|0;ra=ta+304|0;A=ta+300|0;B=ta+296|0;ja=ta+292|0;ka=ta+288|0;C=ta+284|0;t=ta+280|0;H=ta+276|0;N=ta+272|0;v=ta+268|0;pa=ta+264|0;L=ta+216|0;u=ta+212|0;o=ta+208|0;z=ta+204|0;m=ta+200|0;P=ta+196|0;S=ta+192|0;sa=ta+188|0;O=ta+184|0;W=ta+180|0;V=ta+176|0;Q=ta+172|0;R=ta+168|0;K=ta+164|0;F=ta+160|0;D=ta+156|0;E=ta+152|0;n=ta+148|0;oa=ta+144|0;ga=ta+140|0;T=ta+136|0;G=ta+132|0;l=ta+128|0;la=ta+124|0;ma=ta+120|0;r=ta+116|0;p=ta+112|0;s=ta+108|0;q=ta+104|0;w=ta+100|0;I=ta+96|0;U=ta+312|0;J=ta+92|0;M=ta+88|0;ha=ta+84|0;c[ra>>2]=d;c[A>>2]=e;c[B>>2]=f;c[ja>>2]=h;c[ka>>2]=j;c[C>>2]=k;c[v>>2]=0;c[pa>>2]=0;c[P>>2]=0;c[W>>2]=0;c[Q>>2]=0;c[R>>2]=0;c[K>>2]=0;c[T>>2]=0;c[t>>2]=(c[ra>>2]|0)+(c[(c[ra>>2]|0)+4>>2]|0);c[H>>2]=(c[ra>>2]|0)+(c[c[ra>>2]>>2]|0);c[oa>>2]=(c[(c[ra>>2]|0)+12>>2]|0)/50|0;c[n>>2]=c[oa>>2]>>1;c[E>>2]=c[n>>2]>>1;c[D>>2]=c[E>>2]>>1;if((c[ka>>2]|0)<(c[D>>2]|0)){c[qa>>2]=-2;sa=c[qa>>2]|0;i=ta;return sa|0}if((c[ka>>2]|0)<(((c[(c[ra>>2]|0)+12>>2]|0)/25|0)*3|0))e=c[ka>>2]|0;else e=((c[(c[ra>>2]|0)+12>>2]|0)/25|0)*3|0;c[ka>>2]=e;if((c[B>>2]|0)<=1){c[A>>2]=0;if((c[ka>>2]|0)<(c[(c[ra>>2]|0)+64>>2]|0))e=c[ka>>2]|0;else e=c[(c[ra>>2]|0)+64>>2]|0;c[ka>>2]=e}do if(!(c[A>>2]|0)){c[sa>>2]=c[ka>>2];c[O>>2]=c[(c[ra>>2]|0)+60>>2];if(!(c[O>>2]|0)){c[N>>2]=0;while(1){if((c[N>>2]|0)>=(_(c[sa>>2]|0,c[(c[ra>>2]|0)+8>>2]|0)|0))break;g[(c[ja>>2]|0)+(c[N>>2]<<2)>>2]=0.0;c[N>>2]=(c[N>>2]|0)+1}c[qa>>2]=c[sa>>2];sa=c[qa>>2]|0;i=ta;return sa|0}if((c[sa>>2]|0)>(c[oa>>2]|0)){while(1){c[l>>2]=fi(c[ra>>2]|0,0,0,c[ja>>2]|0,(c[sa>>2]|0)<(c[oa>>2]|0)?c[sa>>2]|0:c[oa>>2]|0,0)|0;e=c[l>>2]|0;if((c[l>>2]|0)<0){k=20;break}pa=_(e,c[(c[ra>>2]|0)+8>>2]|0)|0;c[ja>>2]=(c[ja>>2]|0)+(pa<<2);c[sa>>2]=(c[sa>>2]|0)-(c[l>>2]|0);if((c[sa>>2]|0)<=0){k=22;break}}if((k|0)==20){c[qa>>2]=e;sa=c[qa>>2]|0;i=ta;return sa|0}else if((k|0)==22){c[qa>>2]=c[ka>>2];sa=c[qa>>2]|0;i=ta;return sa|0}}if((c[sa>>2]|0)<(c[oa>>2]|0)){if((c[sa>>2]|0)>(c[n>>2]|0)){c[sa>>2]=c[n>>2];break}if(((c[O>>2]|0)!=1e3?(c[sa>>2]|0)>(c[E>>2]|0):0)?(c[sa>>2]|0)<(c[n>>2]|0):0)c[sa>>2]=c[E>>2]}}else{c[sa>>2]=c[(c[ra>>2]|0)+64>>2];c[O>>2]=c[(c[ra>>2]|0)+56>>2];Yb(L,c[A>>2]|0,c[B>>2]|0)}while(0);c[G>>2]=0;c[z>>2]=1;c[m>>2]=1;do if(c[A>>2]|0?(c[(c[ra>>2]|0)+60>>2]|0)>0:0){if(!(((c[O>>2]|0)==1002?(c[(c[ra>>2]|0)+60>>2]|0)!=1002:0)?!(c[(c[ra>>2]|0)+68>>2]|0):0)){if((c[O>>2]|0)==1002)break;if((c[(c[ra>>2]|0)+60>>2]|0)!=1002)break}c[W>>2]=1;e=_(c[E>>2]|0,c[(c[ra>>2]|0)+8>>2]|0)|0;if((c[O>>2]|0)==1002){c[m>>2]=e;break}else{c[z>>2]=e;break}}while(0);m=c[m>>2]|0;c[la>>2]=ia()|0;e=i;i=i+((1*(m<<2)|0)+15&-16)|0;if((c[W>>2]|0)!=0&(c[O>>2]|0)==1002){c[P>>2]=e;fi(c[ra>>2]|0,0,0,c[P>>2]|0,(c[E>>2]|0)<(c[sa>>2]|0)?c[E>>2]|0:c[sa>>2]|0,0)|0}a:do if((c[sa>>2]|0)>(c[ka>>2]|0)){c[qa>>2]=-1;c[ma>>2]=1}else{c[ka>>2]=c[sa>>2];if((c[O>>2]|0)==1002|(c[G>>2]|0)!=0)e=1;else e=_((c[n>>2]|0)>(c[ka>>2]|0)?c[n>>2]|0:c[ka>>2]|0,c[(c[ra>>2]|0)+8>>2]|0)|0;c[o>>2]=e;j=i;i=i+((1*(c[o>>2]<<1)|0)+15&-16)|0;b:do if((c[O>>2]|0)!=1002){c[s>>2]=j;if((c[(c[ra>>2]|0)+60>>2]|0)==1002)Qd(c[t>>2]|0)|0;if(10>(((c[sa>>2]|0)*1e3|0)/(c[(c[ra>>2]|0)+12>>2]|0)|0|0))e=10;else e=((c[sa>>2]|0)*1e3|0)/(c[(c[ra>>2]|0)+12>>2]|0)|0;c[(c[ra>>2]|0)+16+16>>2]=e;do if(c[A>>2]|0){c[(c[ra>>2]|0)+16+4>>2]=c[(c[ra>>2]|0)+48>>2];e=c[ra>>2]|0;if((c[O>>2]|0)!=1e3){c[e+16+12>>2]=16e3;break}k=c[ra>>2]|0;if((c[e+52>>2]|0)==1101){c[k+16+12>>2]=8e3;break}if((c[k+52>>2]|0)==1102){c[(c[ra>>2]|0)+16+12>>2]=12e3;break}else{c[(c[ra>>2]|0)+16+12>>2]=16e3;break}}while(0);c[r>>2]=(c[A>>2]|0)==0?1:c[C>>2]<<1;c[p>>2]=0;c:while(1){c[q>>2]=(c[p>>2]|0)==0&1;c[v>>2]=Rd(c[t>>2]|0,(c[ra>>2]|0)+16|0,c[r>>2]|0,c[q>>2]|0,L,c[s>>2]|0,u,c[(c[ra>>2]|0)+44>>2]|0)|0;d:do if(c[v>>2]|0){if(!(c[r>>2]|0))break c;c[u>>2]=c[ka>>2];c[N>>2]=0;while(1){if((c[N>>2]|0)>=(_(c[ka>>2]|0,c[(c[ra>>2]|0)+8>>2]|0)|0))break d;b[(c[s>>2]|0)+(c[N>>2]<<1)>>1]=0;c[N>>2]=(c[N>>2]|0)+1}}while(0);o=_(c[u>>2]|0,c[(c[ra>>2]|0)+8>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+(o<<1);c[p>>2]=(c[p>>2]|0)+(c[u>>2]|0);if((c[p>>2]|0)>=(c[ka>>2]|0))break b}c[qa>>2]=-3;c[ma>>2]=1;break a}while(0);c[V>>2]=0;if((c[C>>2]|0)==0&(c[O>>2]|0)!=1002&(c[A>>2]|0)!=0?(v=(gi(L)|0)+17|0,(v+(((c[(c[ra>>2]|0)+56>>2]|0)==1001&1)*20|0)|0)<=(c[B>>2]<<3|0)):0){if((c[O>>2]|0)==1001)c[Q>>2]=dc(L,12)|0;else c[Q>>2]=1;if(c[Q>>2]|0){c[K>>2]=dc(L,1)|0;if((c[O>>2]|0)==1001)e=(fc(L,256)|0)+2|0;else{e=c[B>>2]|0;e=e-((gi(L)|0)+7>>3)|0}c[R>>2]=e;c[B>>2]=(c[B>>2]|0)-(c[R>>2]|0);v=c[B>>2]<<3;if((v|0)<(gi(L)|0)){c[B>>2]=0;c[R>>2]=0;c[Q>>2]=0}v=L+4|0;c[v>>2]=(c[v>>2]|0)-(c[R>>2]|0)}}if((c[O>>2]|0)!=1002)c[V>>2]=17;c[w>>2]=21;switch(c[(c[ra>>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[H>>2]|0;c[x>>2]=c[w>>2];Kb(v,10012,x)|0;x=c[H>>2]|0;c[y>>2]=c[(c[ra>>2]|0)+48>>2];Kb(x,10008,y)|0;if(c[Q>>2]|0){c[W>>2]=0;c[z>>2]=1}e=i;i=i+((1*(c[z>>2]<<2)|0)+15&-16)|0;if((c[W>>2]|0)!=0&(c[O>>2]|0)!=1002){c[P>>2]=e;fi(c[ra>>2]|0,0,0,c[P>>2]|0,(c[E>>2]|0)<(c[sa>>2]|0)?c[E>>2]|0:c[sa>>2]|0,0)|0}if(c[Q>>2]|0)e=_(c[E>>2]|0,c[(c[ra>>2]|0)+8>>2]|0)|0;else e=1;c[S>>2]=e;e=i;i=i+((1*(c[S>>2]<<2)|0)+15&-16)|0;if((c[Q>>2]|0)!=0&(c[K>>2]|0)!=0){S=c[H>>2]|0;c[Y>>2]=0;Kb(S,10010,Y)|0;Lb(c[H>>2]|0,(c[A>>2]|0)+(c[B>>2]|0)|0,c[R>>2]|0,e,c[E>>2]|0,0,0)|0;Y=c[H>>2]|0;c[Z>>2]=T+(((T-T|0)/4|0)<<2);Kb(Y,4031,Z)|0}Z=c[H>>2]|0;c[$>>2]=c[V>>2];Kb(Z,10010,$)|0;do if((c[O>>2]|0)==1e3){a[U>>0]=a[30523]|0;a[U+1>>0]=a[30524]|0;e:do if(!(c[G>>2]|0)){c[N>>2]=0;while(1){if((c[N>>2]|0)>=(_(c[ka>>2]|0,c[(c[ra>>2]|0)+8>>2]|0)|0))break e;g[(c[ja>>2]|0)+(c[N>>2]<<2)>>2]=0.0;c[N>>2]=(c[N>>2]|0)+1}}while(0);if((c[(c[ra>>2]|0)+60>>2]|0)==1001){if((c[Q>>2]|0)!=0&(c[K>>2]|0)!=0?c[(c[ra>>2]|0)+68>>2]|0:0)break;oa=c[H>>2]|0;c[ba>>2]=0;Kb(oa,10010,ba)|0;Lb(c[H>>2]|0,U,2,c[ja>>2]|0,c[D>>2]|0,0,c[G>>2]|0)|0}}else{c[I>>2]=(c[oa>>2]|0)<(c[ka>>2]|0)?c[oa>>2]|0:c[ka>>2]|0;do if((c[O>>2]|0)!=(c[(c[ra>>2]|0)+60>>2]|0)){if((c[(c[ra>>2]|0)+60>>2]|0)<=0)break;if(c[(c[ra>>2]|0)+68>>2]|0)break;Kb(c[H>>2]|0,4028,aa)|0}while(0);c[pa>>2]=Lb(c[H>>2]|0,c[C>>2]|0?0:c[A>>2]|0,c[B>>2]|0,c[ja>>2]|0,c[I>>2]|0,L,c[G>>2]|0)|0}while(0);f:do if(!((c[O>>2]|0)==1002|(c[G>>2]|0)!=0)){c[N>>2]=0;while(1){if((c[N>>2]|0)>=(_(c[ka>>2]|0,c[(c[ra>>2]|0)+8>>2]|0)|0))break f;g[(c[ja>>2]|0)+(c[N>>2]<<2)>>2]=+g[(c[ja>>2]|0)+(c[N>>2]<<2)>>2]+ +(b[j+(c[N>>2]<<1)>>1]|0)*.000030517578125;c[N>>2]=(c[N>>2]|0)+1}}while(0);oa=c[H>>2]|0;c[ca>>2]=J+(((J-J|0)/4|0)<<2);Kb(oa,10015,ca)|0;c[ga>>2]=c[(c[J>>2]|0)+60>>2];if(!((c[Q>>2]|0)==0|(c[K>>2]|0)!=0)){Kb(c[H>>2]|0,4028,da)|0;oa=c[H>>2]|0;c[ea>>2]=0;Kb(oa,10010,ea)|0;Lb(c[H>>2]|0,(c[A>>2]|0)+(c[B>>2]|0)|0,c[R>>2]|0,e,c[E>>2]|0,0,0)|0;ea=c[H>>2]|0;c[fa>>2]=T+(((T-T|0)/4|0)<<2);Kb(ea,4031,fa)|0;ea=(c[ja>>2]|0)+((_(c[(c[ra>>2]|0)+8>>2]|0,(c[ka>>2]|0)-(c[D>>2]|0)|0)|0)<<2)|0;fa=e+((_(c[(c[ra>>2]|0)+8>>2]|0,c[D>>2]|0)|0)<<2)|0;oa=(c[ja>>2]|0)+((_(c[(c[ra>>2]|0)+8>>2]|0,(c[ka>>2]|0)-(c[D>>2]|0)|0)|0)<<2)|0;hi(ea,fa,oa,c[D>>2]|0,c[(c[ra>>2]|0)+8>>2]|0,c[ga>>2]|0,c[(c[ra>>2]|0)+12>>2]|0)}if((c[Q>>2]|0)!=0&(c[K>>2]|0)!=0){c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[(c[ra>>2]|0)+8>>2]|0))break;c[N>>2]=0;while(1){if((c[N>>2]|0)>=(c[D>>2]|0))break;fa=_(c[(c[ra>>2]|0)+8>>2]|0,c[N>>2]|0)|0;oa=_(c[(c[ra>>2]|0)+8>>2]|0,c[N>>2]|0)|0;g[(c[ja>>2]|0)+(oa+(c[F>>2]|0)<<2)>>2]=+g[e+(fa+(c[F>>2]|0)<<2)>>2];c[N>>2]=(c[N>>2]|0)+1}c[F>>2]=(c[F>>2]|0)+1}ea=e+((_(c[(c[ra>>2]|0)+8>>2]|0,c[D>>2]|0)|0)<<2)|0;fa=(c[ja>>2]|0)+((_(c[(c[ra>>2]|0)+8>>2]|0,c[D>>2]|0)|0)<<2)|0;oa=(c[ja>>2]|0)+((_(c[(c[ra>>2]|0)+8>>2]|0,c[D>>2]|0)|0)<<2)|0;hi(ea,fa,oa,c[D>>2]|0,c[(c[ra>>2]|0)+8>>2]|0,c[ga>>2]|0,c[(c[ra>>2]|0)+12>>2]|0)}do if(c[W>>2]|0){if((c[sa>>2]|0)<(c[E>>2]|0)){hi(c[P>>2]|0,c[ja>>2]|0,c[ja>>2]|0,c[D>>2]|0,c[(c[ra>>2]|0)+8>>2]|0,c[ga>>2]|0,c[(c[ra>>2]|0)+12>>2]|0);break}c[N>>2]=0;while(1){if((c[N>>2]|0)>=(_(c[(c[ra>>2]|0)+8>>2]|0,c[D>>2]|0)|0))break;g[(c[ja>>2]|0)+(c[N>>2]<<2)>>2]=+g[(c[P>>2]|0)+(c[N>>2]<<2)>>2];c[N>>2]=(c[N>>2]|0)+1}ea=(c[P>>2]|0)+((_(c[(c[ra>>2]|0)+8>>2]|0,c[D>>2]|0)|0)<<2)|0;fa=(c[ja>>2]|0)+((_(c[(c[ra>>2]|0)+8>>2]|0,c[D>>2]|0)|0)<<2)|0;oa=(c[ja>>2]|0)+((_(c[(c[ra>>2]|0)+8>>2]|0,c[D>>2]|0)|0)<<2)|0;hi(ea,fa,oa,c[D>>2]|0,c[(c[ra>>2]|0)+8>>2]|0,c[ga>>2]|0,c[(c[ra>>2]|0)+12>>2]|0)}while(0);g:do if(c[(c[ra>>2]|0)+40>>2]|0){g[M>>2]=+X(+(+(c[(c[ra>>2]|0)+40>>2]|0)*6.488140788860619e-04*.6931471805599453));c[N>>2]=0;while(1){if((c[N>>2]|0)>=(_(c[ka>>2]|0,c[(c[ra>>2]|0)+8>>2]|0)|0))break g;g[ha>>2]=+g[(c[ja>>2]|0)+(c[N>>2]<<2)>>2]*+g[M>>2];g[(c[ja>>2]|0)+(c[N>>2]<<2)>>2]=+g[ha>>2];c[N>>2]=(c[N>>2]|0)+1}}while(0);if((c[B>>2]|0)<=1)c[(c[ra>>2]|0)+84>>2]=0;else c[(c[ra>>2]|0)+84>>2]=c[L+28>>2]^c[T>>2];c[(c[ra>>2]|0)+60>>2]=c[O>>2];if(c[Q>>2]|0)e=(c[K>>2]|0)!=0^1;else e=0;c[(c[ra>>2]|0)+68>>2]=e&1;if((c[pa>>2]|0)>=0)ii()|0;c[qa>>2]=(c[pa>>2]|0)<0?c[pa>>2]|0:c[sa>>2]|0;c[ma>>2]=1}while(0);na(c[la>>2]|0);sa=c[qa>>2]|0;i=ta;return sa|0}function gi(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[(c[d>>2]|0)+20>>2]|0)-(32-(aa(c[(c[d>>2]|0)+28>>2]|0)|0))|0;i=b;return a|0}function hi(a,b,d,e,f,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+48|0;k=u+40|0;l=u+36|0;m=u+32|0;n=u+28|0;o=u+24|0;p=u+20|0;v=u+16|0;r=u+12|0;q=u+8|0;s=u+4|0;t=u;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=h;c[v>>2]=j;c[s>>2]=48e3/(c[v>>2]|0)|0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[o>>2]|0))break;c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[n>>2]|0))break;h=_(c[r>>2]|0,c[s>>2]|0)|0;e=_(c[r>>2]|0,c[s>>2]|0)|0;g[t>>2]=+g[(c[p>>2]|0)+(h<<2)>>2]*+g[(c[p>>2]|0)+(e<<2)>>2];e=_(c[r>>2]|0,c[o>>2]|0)|0;h=_(c[r>>2]|0,c[o>>2]|0)|0;v=_(c[r>>2]|0,c[o>>2]|0)|0;g[(c[m>>2]|0)+(v+(c[q>>2]|0)<<2)>>2]=+g[t>>2]*+g[(c[l>>2]|0)+(e+(c[q>>2]|0)<<2)>>2]+(1.0-+g[t>>2])*+g[(c[k>>2]|0)+(h+(c[q>>2]|0)<<2)>>2];c[r>>2]=(c[r>>2]|0)+1}c[q>>2]=(c[q>>2]|0)+1}i=u;return}function ii(){return 0}function ji(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+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);i=f;return c[e>>2]|0}function ki(a){a=a|0;var b=0,e=0,f=0,g=0;g=i;i=i+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;i=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;i=g;return f|0}else{c[f>>2]=1101+(a>>5&3);f=c[f>>2]|0;i=g;return f|0}return 0}function li(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return ((d[c[b>>2]>>0]|0)&4|0?2:1)|0}function mi(a,d,e,f,h,j){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+48|0;l=v+40|0;m=v+36|0;n=v+32|0;o=v+28|0;p=v+24|0;q=v+20|0;r=v+16|0;u=v+12|0;t=v+8|0;k=v+4|0;s=v;c[m>>2]=a;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=h;c[r>>2]=j;if((c[q>>2]|0)<=0){c[l>>2]=-1;u=c[l>>2]|0;i=v;return u|0}do if(!((c[n>>2]|0)!=0&(c[o>>2]|0)>0^1|(c[r>>2]|0)!=0)){c[k>>2]=ni(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;if((c[k>>2]|0)>0){c[q>>2]=(c[q>>2]|0)<(c[k>>2]|0)?c[q>>2]|0:c[k>>2]|0;break}c[l>>2]=-4;u=c[l>>2]|0;i=v;return u|0}while(0);a=_(c[q>>2]|0,c[(c[m>>2]|0)+8>>2]|0)|0;c[s>>2]=ia()|0;d=i;i=i+((1*(a<<2)|0)+15&-16)|0;c[u>>2]=ei(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,d,c[q>>2]|0,c[r>>2]|0,0,0,1)|0;a:do if((c[u>>2]|0)>0){c[t>>2]=0;while(1){if((c[t>>2]|0)>=(_(c[u>>2]|0,c[(c[m>>2]|0)+8>>2]|0)|0))break a;r=qi(+g[d+(c[t>>2]<<2)>>2])|0;b[(c[p>>2]|0)+(c[t>>2]<<1)>>1]=r;c[t>>2]=(c[t>>2]|0)+1}}while(0);c[l>>2]=c[u>>2];na(c[s>>2]|0);u=c[l>>2]|0;i=v;return u|0}function ni(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;b=oi(c[h>>2]|0,c[g>>2]|0,c[(c[f>>2]|0)+12>>2]|0)|0;i=e;return b|0}function oi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;e=j+20|0;f=j+16|0;l=j+12|0;g=j+8|0;h=j+4|0;k=j;c[f>>2]=a;c[l>>2]=b;c[g>>2]=d;c[k>>2]=pi(c[f>>2]|0,c[l>>2]|0)|0;d=c[k>>2]|0;if((c[k>>2]|0)<0){c[e>>2]=d;l=c[e>>2]|0;i=j;return l|0}c[h>>2]=_(d,Zh(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;l=c[e>>2]|0;i=j;return l|0}else{c[e>>2]=c[h>>2];l=c[e>>2]|0;i=j;return l|0}return 0}function pi(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;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);i=j;return c[e>>2]|0}function qi(a){a=+a;var b=0,c=0;c=i;i=i+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=(ij(+g[b>>2])|0)&65535;i=c;return b|0}function ri(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,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;if((c[n>>2]|0)<=0){c[h>>2]=-1;a=c[h>>2]|0;i=p;return a|0}else{c[h>>2]=ei(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,0,0,0)|0;a=c[h>>2]|0;i=p;return a|0}return 0}function si(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+80|0;q=t+8|0;r=t+76|0;e=t+72|0;u=t+68|0;s=t+64|0;f=t+48|0;h=t+44|0;g=t+40|0;j=t+36|0;k=t+32|0;l=t+28|0;m=t+24|0;n=t+20|0;o=t+16|0;p=t+12|0;c[e>>2]=a;c[u>>2]=b;c[s>>2]=0;c[h>>2]=(c[e>>2]|0)+(c[(c[e>>2]|0)+4>>2]|0);c[g>>2]=(c[e>>2]|0)+(c[c[e>>2]>>2]|0);c[f>>2]=d;a:do switch(c[u>>2]|0){case 4009:{d=(c[f>>2]|0)+(4-1)&~(4-1);u=c[d>>2]|0;c[f>>2]=d+4;c[j>>2]=u;if(c[j>>2]|0){c[c[j>>2]>>2]=c[(c[e>>2]|0)+52>>2];e=20}else e=21;break}case 4031:{d=(c[f>>2]|0)+(4-1)&~(4-1);u=c[d>>2]|0;c[f>>2]=d+4;c[k>>2]=u;if(c[k>>2]|0){c[c[k>>2]>>2]=c[(c[e>>2]|0)+84>>2];e=20}else e=21;break}case 4028:{oj((c[e>>2]|0)+48|0,0,88-((c[e>>2]|0)+48-(c[e>>2]|0))|0)|0;Kb(c[g>>2]|0,4028,t)|0;Qd(c[h>>2]|0)|0;c[(c[e>>2]|0)+48>>2]=c[(c[e>>2]|0)+8>>2];c[(c[e>>2]|0)+64>>2]=(c[(c[e>>2]|0)+12>>2]|0)/400|0;e=20;break}case 4029:{d=(c[f>>2]|0)+(4-1)&~(4-1);u=c[d>>2]|0;c[f>>2]=d+4;c[l>>2]=u;if(c[l>>2]|0){c[c[l>>2]>>2]=c[(c[e>>2]|0)+12>>2];e=20}else e=21;break}case 4033:{d=(c[f>>2]|0)+(4-1)&~(4-1);u=c[d>>2]|0;c[f>>2]=d+4;c[m>>2]=u;if(c[m>>2]|0)if((c[(c[e>>2]|0)+60>>2]|0)==1002){e=c[g>>2]|0;c[q>>2]=(c[m>>2]|0)+((((c[m>>2]|0)-(c[m>>2]|0)|0)/4|0)<<2);Kb(e,4033,q)|0;e=20;break a}else{c[c[m>>2]>>2]=c[(c[e>>2]|0)+16+20>>2];e=20;break a}else e=21;break}case 4045:{d=(c[f>>2]|0)+(4-1)&~(4-1);u=c[d>>2]|0;c[f>>2]=d+4;c[n>>2]=u;if(c[n>>2]|0){c[c[n>>2]>>2]=c[(c[e>>2]|0)+40>>2];e=20}else e=21;break}case 4034:{d=(c[f>>2]|0)+(4-1)&~(4-1);u=c[d>>2]|0;c[f>>2]=d+4;c[o>>2]=u;if((c[o>>2]|0)<-32768|(c[o>>2]|0)>32767)e=21;else{c[(c[e>>2]|0)+40>>2]=c[o>>2];e=20}break}case 4039:{d=(c[f>>2]|0)+(4-1)&~(4-1);u=c[d>>2]|0;c[f>>2]=d+4;c[p>>2]=u;if(c[p>>2]|0){c[c[p>>2]>>2]=c[(c[e>>2]|0)+72>>2];e=20}else e=21;break}default:{c[s>>2]=-5;e=20}}while(0);if((e|0)==20){c[r>>2]=c[s>>2];u=c[r>>2]|0;i=t;return u|0}else if((e|0)==21){c[r>>2]=-1;u=c[r>>2]|0;i=t;return u|0}return 0}function ti(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;b=h+16|0;d=h+12|0;g=h+8|0;e=h+4|0;f=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;i=h;return g|0}c[f>>2]=Sd(g)|0;if(c[f>>2]|0){c[b>>2]=0;g=c[b>>2]|0;i=h;return g|0}else{c[g>>2]=ui(c[g>>2]|0)|0;c[e>>2]=hb(c[d>>2]|0)|0;f=ui(18220)|0;c[b>>2]=f+(c[g>>2]|0)+(c[e>>2]|0);g=c[b>>2]|0;i=h;return g|0}return 0}function ui(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=4;a=_((((c[e>>2]|0)+(c[d>>2]|0)-1|0)>>>0)/((c[d>>2]|0)>>>0)|0,c[d>>2]|0)|0;i=b;return a|0}function vi(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;t=u+8|0;s=u;h=u+48|0;j=u+44|0;k=u+40|0;l=u+36|0;m=u+32|0;r=u+28|0;n=u+24|0;o=u+20|0;p=u+16|0;q=u+12|0;c[j>>2]=a;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;if((!((c[k>>2]|0)!=48e3&(c[k>>2]|0)!=24e3&(c[k>>2]|0)!=16e3&(c[k>>2]|0)!=12e3&(c[k>>2]|0)!=8e3)?!((c[l>>2]|0)!=1&(c[l>>2]|0)!=2):0)?!((c[m>>2]|0)!=2048&(c[m>>2]|0)!=2049&(c[m>>2]|0)!=2051):0){a=c[j>>2]|0;oj(a|0,0,ti(c[l>>2]|0)|0)|0;c[p>>2]=Sd(q)|0;if(c[p>>2]|0){c[h>>2]=-1;t=c[h>>2]|0;i=u;return t|0}c[q>>2]=ui(c[q>>2]|0)|0;a=ui(18220)|0;c[(c[j>>2]|0)+4>>2]=a;c[c[j>>2]>>2]=(c[(c[j>>2]|0)+4>>2]|0)+(c[q>>2]|0);c[r>>2]=(c[j>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0);c[n>>2]=(c[j>>2]|0)+(c[c[j>>2]>>2]|0);a=c[l>>2]|0;c[(c[j>>2]|0)+100>>2]=a;c[(c[j>>2]|0)+14288>>2]=a;c[(c[j>>2]|0)+132>>2]=c[k>>2];a=wi()|0;c[(c[j>>2]|0)+168>>2]=a;c[p>>2]=Td(c[r>>2]|0,c[(c[j>>2]|0)+168>>2]|0,(c[j>>2]|0)+8|0)|0;if(c[p>>2]|0){c[h>>2]=-3;t=c[h>>2]|0;i=u;return t|0}c[(c[j>>2]|0)+8>>2]=c[l>>2];c[(c[j>>2]|0)+8+4>>2]=c[l>>2];c[(c[j>>2]|0)+8+8>>2]=c[(c[j>>2]|0)+132>>2];c[(c[j>>2]|0)+8+12>>2]=16e3;c[(c[j>>2]|0)+8+16>>2]=8e3;c[(c[j>>2]|0)+8+20>>2]=16e3;c[(c[j>>2]|0)+8+24>>2]=20;c[(c[j>>2]|0)+8+28>>2]=25e3;c[(c[j>>2]|0)+8+32>>2]=0;c[(c[j>>2]|0)+8+36>>2]=9;c[(c[j>>2]|0)+8+40>>2]=0;c[(c[j>>2]|0)+8+44>>2]=0;c[(c[j>>2]|0)+8+48>>2]=0;c[(c[j>>2]|0)+8+64>>2]=0;c[o>>2]=jb(c[n>>2]|0,c[k>>2]|0,c[l>>2]|0,c[(c[j>>2]|0)+168>>2]|0)|0;if(c[o>>2]|0){c[h>>2]=-3;t=c[h>>2]|0;i=u;return t|0}else{a=c[n>>2]|0;c[s>>2]=0;lb(a,10016,s)|0;s=c[n>>2]|0;c[t>>2]=c[(c[j>>2]|0)+8+36>>2];lb(s,4010,t)|0;c[(c[j>>2]|0)+136>>2]=1;c[(c[j>>2]|0)+140>>2]=1;c[(c[j>>2]|0)+152>>2]=-1e3;t=3e3+(_(c[k>>2]|0,c[l>>2]|0)|0)|0;c[(c[j>>2]|0)+148>>2]=t;c[(c[j>>2]|0)+96>>2]=c[m>>2];c[(c[j>>2]|0)+112>>2]=-1e3;c[(c[j>>2]|0)+116>>2]=-1e3;c[(c[j>>2]|0)+120>>2]=1105;c[(c[j>>2]|0)+108>>2]=-1e3;c[(c[j>>2]|0)+124>>2]=-1e3;c[(c[j>>2]|0)+128>>2]=-1;c[(c[j>>2]|0)+160>>2]=(c[(c[j>>2]|0)+132>>2]|0)/100|0;c[(c[j>>2]|0)+156>>2]=24;c[(c[j>>2]|0)+144>>2]=5e3;c[(c[j>>2]|0)+104>>2]=(c[(c[j>>2]|0)+132>>2]|0)/250|0;b[(c[j>>2]|0)+14292>>1]=16384;g[(c[j>>2]|0)+14300>>2]=1.0;t=(Sf(60)|0)<<8;c[(c[j>>2]|0)+14296>>2]=t;c[(c[j>>2]|0)+14344>>2]=1;c[(c[j>>2]|0)+14320>>2]=1001;c[(c[j>>2]|0)+14336>>2]=1105;Yi((c[j>>2]|0)+172|0);c[h>>2]=0;t=c[h>>2]|0;i=u;return t|0}}c[h>>2]=-1;t=c[h>>2]|0;i=u;return t|0}function wi(){return 0}function xi(a,b,d,e,f,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+48|0;v=u+40|0;k=u+36|0;l=u+32|0;m=u+28|0;n=u+24|0;o=u+20|0;p=u+16|0;t=u+12|0;s=u+8|0;r=u+4|0;q=u;c[v>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=h;c[p>>2]=j;c[t>>2]=c[v>>2];c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[l>>2]|0))break;v=_((c[r>>2]|0)+(c[m>>2]|0)|0,c[p>>2]|0)|0;g[(c[k>>2]|0)+(c[r>>2]<<2)>>2]=+g[(c[t>>2]|0)+(v+(c[n>>2]|0)<<2)>>2]*32768.0;c[r>>2]=(c[r>>2]|0)+1}a:do if((c[o>>2]|0)<=-1){if((c[o>>2]|0)==-2){c[q>>2]=1;while(1){if((c[q>>2]|0)>=(c[p>>2]|0))break a;c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[l>>2]|0))break;d=_((c[r>>2]|0)+(c[m>>2]|0)|0,c[p>>2]|0)|0;v=(c[k>>2]|0)+(c[r>>2]<<2)|0;g[v>>2]=+g[v>>2]+ +g[(c[t>>2]|0)+(d+(c[q>>2]|0)<<2)>>2]*32768.0;c[r>>2]=(c[r>>2]|0)+1}c[q>>2]=(c[q>>2]|0)+1}}}else{c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[l>>2]|0))break a;d=_((c[r>>2]|0)+(c[m>>2]|0)|0,c[p>>2]|0)|0;v=(c[k>>2]|0)+(c[r>>2]<<2)|0;g[v>>2]=+g[v>>2]+ +g[(c[t>>2]|0)+(d+(c[o>>2]|0)<<2)>>2]*32768.0;c[r>>2]=(c[r>>2]|0)+1}}while(0);g[s>>2]=1.0;if((c[p>>2]|0)==-2)g[s>>2]=+g[s>>2]/+(c[p>>2]|0);else g[s>>2]=+g[s>>2]/2.0;c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[l>>2]|0))break;v=(c[k>>2]|0)+(c[r>>2]<<2)|0;g[v>>2]=+g[v>>2]*+g[s>>2];c[r>>2]=(c[r>>2]|0)+1}i=u;return}function yi(a,d,e,f,h,j,k){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=i;i=i+48|0;w=v+40|0;l=v+36|0;m=v+32|0;n=v+28|0;o=v+24|0;p=v+20|0;q=v+16|0;u=v+12|0;t=v+8|0;s=v+4|0;r=v;c[w>>2]=a;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=h;c[p>>2]=j;c[q>>2]=k;c[u>>2]=c[w>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[m>>2]|0))break;w=_((c[s>>2]|0)+(c[n>>2]|0)|0,c[q>>2]|0)|0;g[(c[l>>2]|0)+(c[s>>2]<<2)>>2]=+(b[(c[u>>2]|0)+(w+(c[o>>2]|0)<<1)>>1]|0);c[s>>2]=(c[s>>2]|0)+1}a:do if((c[p>>2]|0)<=-1){if((c[p>>2]|0)==-2){c[r>>2]=1;while(1){if((c[r>>2]|0)>=(c[q>>2]|0))break a;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[m>>2]|0))break;e=_((c[s>>2]|0)+(c[n>>2]|0)|0,c[q>>2]|0)|0;w=(c[l>>2]|0)+(c[s>>2]<<2)|0;g[w>>2]=+g[w>>2]+ +(b[(c[u>>2]|0)+(e+(c[r>>2]|0)<<1)>>1]|0);c[s>>2]=(c[s>>2]|0)+1}c[r>>2]=(c[r>>2]|0)+1}}}else{c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[m>>2]|0))break a;e=_((c[s>>2]|0)+(c[n>>2]|0)|0,c[q>>2]|0)|0;w=(c[l>>2]|0)+(c[s>>2]<<2)|0;g[w>>2]=+g[w>>2]+ +(b[(c[u>>2]|0)+(e+(c[p>>2]|0)<<1)>>1]|0);c[s>>2]=(c[s>>2]|0)+1}}while(0);g[t>>2]=.000030517578125;if((c[q>>2]|0)==-2)g[t>>2]=+g[t>>2]/+(c[q>>2]|0);else g[t>>2]=+g[t>>2]/2.0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[m>>2]|0))break;w=(c[l>>2]|0)+(c[s>>2]<<2)|0;g[w>>2]=+g[w>>2]*+g[t>>2];c[s>>2]=(c[s>>2]|0)+1}i=v;return}function zi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;f=k+16|0;g=k+12|0;e=k+8|0;h=k+4|0;j=k;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;j=c[f>>2]|0;i=k;return j|0}do if((c[e>>2]|0)==5e3)c[j>>2]=c[g>>2];else{if((c[e>>2]|0)==5010){c[j>>2]=(c[h>>2]|0)/50|0;break}if(!((c[e>>2]|0)>=5001&(c[e>>2]|0)<=5006)){c[f>>2]=-1;j=c[f>>2]|0;i=k;return j|0}d=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))d=(d*3|0)/50|0;else d=((d|0)/400|0)<<(c[e>>2]|0)-5001;c[j>>2]=d}while(0);if((c[j>>2]|0)>(c[g>>2]|0)){c[f>>2]=-1;j=c[f>>2]|0;i=k;return j|0}if(((((((c[j>>2]|0)*400|0)!=(c[h>>2]|0)?((c[j>>2]|0)*200|0)!=(c[h>>2]|0):0)?((c[j>>2]|0)*100|0)!=(c[h>>2]|0):0)?((c[j>>2]|0)*50|0)!=(c[h>>2]|0):0)?((c[j>>2]|0)*25|0)!=(c[h>>2]|0):0)?((c[j>>2]|0)*50|0)!=((c[h>>2]|0)*3|0):0){c[f>>2]=-1;j=c[f>>2]|0;i=k;return j|0}c[f>>2]=c[j>>2];j=c[f>>2]|0;i=k;return j|0}function Ai(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+48|0;l=w+40|0;m=w+36|0;n=w+32|0;o=w+28|0;p=w+24|0;q=w+20|0;r=w+16|0;s=w+12|0;t=w+8|0;u=w+4|0;v=w;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;c[t>>2]=j;c[u>>2]=k;if((c[o>>2]|0)==5010?(c[n>>2]|0)>=((c[q>>2]|0)/200|0|0):0){c[v>>2]=3;c[v>>2]=Bi(c[m>>2]|0,c[n>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,0.0,c[u>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;while(1){if((((c[q>>2]|0)/400|0)<>2]|0)<=(c[n>>2]|0))break;c[v>>2]=(c[v>>2]|0)+-1}c[n>>2]=((c[q>>2]|0)/400|0)<>2]}else c[n>>2]=zi(c[n>>2]|0,c[o>>2]|0,c[q>>2]|0)|0;if((c[n>>2]|0)<0){c[l>>2]=-1;d=c[l>>2]|0;i=w;return d|0}else{c[l>>2]=c[n>>2];d=c[l>>2]|0;i=w;return d|0}return 0}function Bi(a,b,d,e,f,h,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;H=i;i=i+304|0;n=H+296|0;m=H+292|0;o=H+288|0;I=H+284|0;p=H+280|0;q=H+276|0;r=H+272|0;s=H+268|0;t=H+264|0;v=H+260|0;z=H+256|0;x=H+144|0;y=H+36|0;B=H+32|0;w=H+28|0;E=H+24|0;D=H+20|0;C=H+16|0;u=H+12|0;F=H+8|0;G=H+4|0;A=H;c[n>>2]=a;c[m>>2]=b;c[o>>2]=d;c[I>>2]=e;c[p>>2]=f;g[q>>2]=h;c[r>>2]=j;c[s>>2]=k;c[t>>2]=l;c[w>>2]=0;c[E>>2]=(c[I>>2]|0)/400|0;a=c[E>>2]|0;c[u>>2]=ia()|0;e=i;i=i+((1*(a<<2)|0)+15&-16)|0;g[x>>2]=+g[c[r>>2]>>2];g[y>>2]=1.0/(+g[c[r>>2]>>2]+1.0000000036274937e-15);if(c[s>>2]|0){c[C>>2]=(c[E>>2]<<1)-(c[s>>2]|0);c[m>>2]=(c[m>>2]|0)-(c[C>>2]|0);g[x+4>>2]=+g[(c[r>>2]|0)+4>>2];g[y+4>>2]=1.0/(+g[(c[r>>2]|0)+4>>2]+1.0000000036274937e-15);g[x+8>>2]=+g[(c[r>>2]|0)+8>>2];g[y+8>>2]=1.0/(+g[(c[r>>2]|0)+8>>2]+1.0000000036274937e-15);c[D>>2]=3}else{c[D>>2]=1;c[C>>2]=0}if(((c[m>>2]|0)/(c[E>>2]|0)|0|0)<24)d=(c[m>>2]|0)/(c[E>>2]|0)|0;else d=24;c[v>>2]=d;g[B>>2]=0.0;c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[v>>2]|0))break;g[F>>2]=1.0000000036274937e-15;I=_(c[z>>2]|0,c[E>>2]|0)|0;qa[c[t>>2]&3](c[n>>2]|0,e,c[E>>2]|0,I+(c[C>>2]|0)|0,0,-2,c[o>>2]|0);if(!(c[z>>2]|0))g[B>>2]=+g[e>>2];c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[E>>2]|0))break;g[G>>2]=+g[e+(c[A>>2]<<2)>>2];g[F>>2]=+g[F>>2]+(+g[G>>2]-+g[B>>2])*(+g[G>>2]-+g[B>>2]);g[B>>2]=+g[G>>2];c[A>>2]=(c[A>>2]|0)+1}g[x+((c[z>>2]|0)+(c[D>>2]|0)<<2)>>2]=+g[F>>2];g[y+((c[z>>2]|0)+(c[D>>2]|0)<<2)>>2]=1.0/+g[F>>2];c[z>>2]=(c[z>>2]|0)+1}g[x+((c[z>>2]|0)+(c[D>>2]|0)<<2)>>2]=+g[x+((c[z>>2]|0)+(c[D>>2]|0)-1<<2)>>2];if(c[s>>2]|0)c[v>>2]=24<((c[v>>2]|0)+2|0)?24:(c[v>>2]|0)+2|0;c[w>>2]=Ci(x,y,c[v>>2]|0,~~((+g[q>>2]*.5+1.0)*+(((c[o>>2]|0)*60|0)+40|0)),(c[p>>2]|0)/400|0)|0;g[c[r>>2]>>2]=+g[x+(1<>2]<<2)>>2];if(!(c[s>>2]|0)){I=c[w>>2]|0;G=c[u>>2]|0;na(G|0);i=H;return I|0}g[(c[r>>2]|0)+4>>2]=+g[x+((1<>2])+1<<2)>>2];g[(c[r>>2]|0)+8>>2]=+g[x+((1<>2])+2<<2)>>2];I=c[w>>2]|0;G=c[u>>2]|0;na(G|0);i=H;return I|0}function Ci(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=i;i=i+3136|0;j=z+3124|0;k=z+3120|0;l=z+3116|0;m=z+3112|0;n=z+3108|0;x=z+3104|0;p=z+1568|0;y=z+32|0;o=z+28|0;w=z+24|0;r=z+20|0;s=z+16|0;t=z+12|0;u=z+8|0;q=z+4|0;v=z;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;do if((c[n>>2]|0)>=80)if((c[n>>2]|0)>160){g[r>>2]=1.0;break}else{g[r>>2]=(+(c[n>>2]|0)-80.0)/80.0;break}else g[r>>2]=0.0;while(0);c[x>>2]=0;while(1){if((c[x>>2]|0)>=16)break;c[y+(c[x>>2]<<2)>>2]=-1;g[p+(c[x>>2]<<2)>>2]=1.0e10;c[x>>2]=(c[x>>2]|0)+1}c[x>>2]=0;while(1){if((c[x>>2]|0)>=4)break;A=+((c[m>>2]|0)+(_(c[n>>2]|0,1<>2])|0)|0);h=+g[r>>2];h=A*(h*+Di(c[j>>2]|0,c[k>>2]|0,c[x>>2]|0,(c[l>>2]|0)+1|0)+1.0);g[p+(1<>2]<<2)>>2]=h;c[y+(1<>2]<<2)>>2]=c[x>>2];c[x>>2]=(c[x>>2]|0)+1}c[x>>2]=1;while(1){if((c[x>>2]|0)>=(c[l>>2]|0))break;c[s>>2]=2;while(1){if((c[s>>2]|0)>=16)break;g[p+(c[x>>2]<<6)+(c[s>>2]<<2)>>2]=+g[p+((c[x>>2]|0)-1<<6)+((c[s>>2]|0)-1<<2)>>2];c[y+(c[x>>2]<<6)+(c[s>>2]<<2)>>2]=(c[s>>2]|0)-1;c[s>>2]=(c[s>>2]|0)+1}c[s>>2]=0;while(1){if((c[s>>2]|0)>=4)break;c[y+(c[x>>2]<<6)+(1<>2]<<2)>>2]=1;g[u>>2]=+g[p+((c[x>>2]|0)-1<<6)+4>>2];c[t>>2]=1;while(1){if((c[t>>2]|0)>=4)break;g[v>>2]=+g[p+((c[x>>2]|0)-1<<6)+((1<<(c[t>>2]|0)+1)-1<<2)>>2];if(+g[v>>2]<+g[u>>2]){c[y+(c[x>>2]<<6)+(1<>2]<<2)>>2]=(1<<(c[t>>2]|0)+1)-1;g[u>>2]=+g[v>>2]}c[t>>2]=(c[t>>2]|0)+1}A=+((c[m>>2]|0)+(_(c[n>>2]|0,1<>2])|0)|0);h=+g[r>>2];g[q>>2]=A*(h*+Di((c[j>>2]|0)+(c[x>>2]<<2)|0,(c[k>>2]|0)+(c[x>>2]<<2)|0,c[s>>2]|0,(c[l>>2]|0)-(c[x>>2]|0)+1|0)+1.0);g[p+(c[x>>2]<<6)+(1<>2]<<2)>>2]=+g[u>>2];h=+g[q>>2];if(((c[l>>2]|0)-(c[x>>2]|0)|0)<(1<>2]|0)){f=p+(c[x>>2]<<6)+(1<>2]<<2)|0;g[f>>2]=+g[f>>2]+h*+((c[l>>2]|0)-(c[x>>2]|0)|0)/+(1<>2]|0)}else{f=p+(c[x>>2]<<6)+(1<>2]<<2)|0;g[f>>2]=+g[f>>2]+h}c[s>>2]=(c[s>>2]|0)+1}c[x>>2]=(c[x>>2]|0)+1}c[w>>2]=1;g[o>>2]=+g[p+((c[l>>2]|0)-1<<6)+4>>2];c[x>>2]=2;while(1){if((c[x>>2]|0)>=16)break;if(+g[p+((c[l>>2]|0)-1<<6)+(c[x>>2]<<2)>>2]<+g[o>>2]){g[o>>2]=+g[p+((c[l>>2]|0)-1<<6)+(c[x>>2]<<2)>>2];c[w>>2]=c[x>>2]}c[x>>2]=(c[x>>2]|0)+1}c[x>>2]=(c[l>>2]|0)-1;while(1){a=c[w>>2]|0;if((c[x>>2]|0)<0)break;c[w>>2]=c[y+(c[x>>2]<<6)+(a<<2)>>2];c[x>>2]=(c[x>>2]|0)+-1}i=z;return a|0}function Di(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;k=r+32|0;l=r+28|0;h=r+24|0;j=r+20|0;n=r+16|0;m=r+12|0;o=r+8|0;p=r+4|0;q=r;c[k>>2]=a;c[l>>2]=b;c[h>>2]=d;c[j>>2]=e;g[o>>2]=0.0;g[p>>2]=0.0;if((c[j>>2]|0)<((1<>2])+1|0))h=c[j>>2]|0;else h=(1<>2])+1|0;c[m>>2]=h;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[m>>2]|0))break;g[o>>2]=+g[o>>2]+ +g[(c[k>>2]|0)+(c[n>>2]<<2)>>2];g[p>>2]=+g[p>>2]+ +g[(c[l>>2]|0)+(c[n>>2]<<2)>>2];c[n>>2]=(c[n>>2]|0)+1}g[q>>2]=+g[o>>2]*+g[p>>2]/+(_(c[m>>2]|0,c[m>>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<+O(+f)){f=1.0;i=r;return +f}if(0.0>(+g[q>>2]-2.0)*.05000000074505806)f=0.0;else f=(+g[q>>2]-2.0)*.05000000074505806;f=+O(+f);i=r;return +f}function Ei(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=i;i=i+96|0;h=D+84|0;j=D+80|0;E=D+76|0;C=D+72|0;u=D+68|0;v=D+64|0;A=D+60|0;q=D+56|0;r=D+52|0;t=D+48|0;y=D+44|0;z=D+40|0;w=D+36|0;x=D+32|0;B=D+28|0;k=D+24|0;o=D+20|0;l=D+16|0;m=D+12|0;n=D+8|0;p=D+4|0;s=D;c[h>>2]=a;c[j>>2]=b;c[E>>2]=d;c[C>>2]=e;c[B>>2]=(c[E>>2]|0)/(c[j>>2]|0)|0;g[o>>2]=1.0-25.0/+((50>(c[B>>2]|0)?50:c[B>>2]|0)|0);g[t>>2]=0.0;g[r>>2]=0.0;g[q>>2]=0.0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[j>>2]|0))break;g[l>>2]=0.0;g[m>>2]=0.0;g[n>>2]=0.0;g[p>>2]=+g[(c[h>>2]|0)+(c[k>>2]<<1<<2)>>2];g[s>>2]=+g[(c[h>>2]|0)+((c[k>>2]<<1)+1<<2)>>2];g[l>>2]=+g[p>>2]*+g[p>>2];g[m>>2]=+g[p>>2]*+g[s>>2];g[n>>2]=+g[s>>2]*+g[s>>2];g[p>>2]=+g[(c[h>>2]|0)+((c[k>>2]<<1)+2<<2)>>2];g[s>>2]=+g[(c[h>>2]|0)+((c[k>>2]<<1)+3<<2)>>2];g[l>>2]=+g[l>>2]+ +g[p>>2]*+g[p>>2];g[m>>2]=+g[m>>2]+ +g[p>>2]*+g[s>>2];g[n>>2]=+g[n>>2]+ +g[s>>2]*+g[s>>2];g[p>>2]=+g[(c[h>>2]|0)+((c[k>>2]<<1)+4<<2)>>2];g[s>>2]=+g[(c[h>>2]|0)+((c[k>>2]<<1)+5<<2)>>2];g[l>>2]=+g[l>>2]+ +g[p>>2]*+g[p>>2];g[m>>2]=+g[m>>2]+ +g[p>>2]*+g[s>>2];g[n>>2]=+g[n>>2]+ +g[s>>2]*+g[s>>2];g[p>>2]=+g[(c[h>>2]|0)+((c[k>>2]<<1)+6<<2)>>2];g[s>>2]=+g[(c[h>>2]|0)+((c[k>>2]<<1)+7<<2)>>2];g[l>>2]=+g[l>>2]+ +g[p>>2]*+g[p>>2];g[m>>2]=+g[m>>2]+ +g[p>>2]*+g[s>>2];g[n>>2]=+g[n>>2]+ +g[s>>2]*+g[s>>2];g[q>>2]=+g[q>>2]+ +g[l>>2];g[r>>2]=+g[r>>2]+ +g[m>>2];g[t>>2]=+g[t>>2]+ +g[n>>2];c[k>>2]=(c[k>>2]|0)+4}E=c[C>>2]|0;g[E>>2]=+g[E>>2]+ +g[o>>2]*(+g[q>>2]-+g[c[C>>2]>>2]);E=(c[C>>2]|0)+4|0;g[E>>2]=+g[E>>2]+ +g[o>>2]*(+g[r>>2]-+g[(c[C>>2]|0)+4>>2]);E=(c[C>>2]|0)+8|0;g[E>>2]=+g[E>>2]+ +g[o>>2]*(+g[t>>2]-+g[(c[C>>2]|0)+8>>2]);if(0.0>+g[c[C>>2]>>2])f=0.0;else f=+g[c[C>>2]>>2];g[c[C>>2]>>2]=f;if(0.0>+g[(c[C>>2]|0)+4>>2])f=0.0;else f=+g[(c[C>>2]|0)+4>>2];g[(c[C>>2]|0)+4>>2]=f;if(0.0>+g[(c[C>>2]|0)+8>>2])f=0.0;else f=+g[(c[C>>2]|0)+8>>2];g[(c[C>>2]|0)+8>>2]=f;h=c[C>>2]|0;if(+g[c[C>>2]>>2]>+g[(c[C>>2]|0)+8>>2])f=+g[h>>2];else f=+g[h+8>>2];if(f>7.999999797903001e-04){g[y>>2]=+O(+(+g[c[C>>2]>>2]));g[z>>2]=+O(+(+g[(c[C>>2]|0)+8>>2]));g[w>>2]=+O(+(+g[y>>2]));g[x>>2]=+O(+(+g[z>>2]));if(+g[(c[C>>2]|0)+4>>2]<+g[y>>2]*+g[z>>2])f=+g[(c[C>>2]|0)+4>>2];else f=+g[y>>2]*+g[z>>2];g[(c[C>>2]|0)+4>>2]=f;g[u>>2]=+g[(c[C>>2]|0)+4>>2]/(+g[y>>2]*+g[z>>2]+1.0000000036274937e-15);f=+N(+(+g[w>>2]-+g[x>>2]))*1.0;g[v>>2]=f/(+g[w>>2]+1.0000000036274937e-15+ +g[x>>2]);f=+O(+(1.0-+g[u>>2]*+g[u>>2]));g[A>>2]=f*+g[v>>2];h=(c[C>>2]|0)+12|0;g[h>>2]=+g[h>>2]+(+g[A>>2]-+g[(c[C>>2]|0)+12>>2])/+(c[B>>2]|0);h=c[C>>2]|0;if(+g[(c[C>>2]|0)+16>>2]-.019999999552965164/+(c[B>>2]|0)>+g[(c[C>>2]|0)+12>>2])f=+g[h+16>>2]-.019999999552965164/+(c[B>>2]|0);else f=+g[h+12>>2];g[(c[C>>2]|0)+16>>2]=f}else{g[A>>2]=0.0;g[u>>2]=1.0;g[v>>2]=0.0}if(1.0<+g[(c[C>>2]|0)+16>>2]*20.0){f=1.0;i=D;return +f}f=+g[(c[C>>2]|0)+16>>2]*20.0;i=D;return +f}function Fi(e,f,h,j,k,l,m,n,o,p,q,r,s){e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;var t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ja=0,ka=0,la=0,ma=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,mb=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=i;i=i+1072|0;Db=Rb+168|0;Cb=Rb+160|0;Bb=Rb+152|0;Ab=Rb+144|0;zb=Rb+136|0;yb=Rb+128|0;xb=Rb+120|0;wb=Rb+112|0;vb=Rb+104|0;ub=Rb+96|0;tb=Rb+88|0;sb=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;U=Rb+8|0;w=Rb;Ob=Rb+1048|0;Pb=Rb+1044|0;sa=Rb+1040|0;Gb=Rb+1036|0;Qb=Rb+1032|0;aa=Rb+1028|0;ba=Rb+1024|0;u=Rb+1020|0;v=Rb+1016|0;ca=Rb+1012|0;Y=Rb+1008|0;Z=Rb+1004|0;$=Rb+1e3|0;ta=Rb+996|0;Ga=Rb+992|0;gb=Rb+988|0;Xa=Rb+984|0;Nb=Rb+980|0;Ma=Rb+976|0;Hb=Rb+928|0;Va=Rb+920|0;Ea=Rb+916|0;rb=Rb+912|0;Jb=Rb+908|0;Kb=Rb+904|0;hb=Rb+900|0;pb=Rb+896|0;Lb=Rb+892|0;qb=Rb+888|0;W=Rb+884|0;V=Rb+880|0;K=Rb+876|0;Za=Rb+872|0;y=Rb+868|0;Da=Rb+864|0;Ba=Rb+860|0;ib=Rb+856|0;Ya=Rb+852|0;Ib=Rb+848|0;_a=Rb+844|0;F=Rb+840|0;$a=Rb+836|0;fb=Rb+808|0;S=Rb+804|0;T=Rb+800|0;x=Rb+796|0;B=Rb+792|0;z=Rb+788|0;A=Rb+784|0;C=Rb+780|0;E=Rb+776|0;D=Rb+772|0;G=Rb+768|0;H=Rb+680|0;J=Rb+676|0;I=Rb+672|0;N=Rb+640|0;L=Rb+632|0;O=Rb+628|0;Q=Rb+624|0;P=Rb+620|0;R=Rb+616|0;oa=Rb+612|0;ka=Rb+608|0;ha=Rb+604|0;ja=Rb+600|0;la=Rb+596|0;da=Rb+592|0;pa=Rb+588|0;fa=Rb+584|0;qa=Rb+284|0;ea=Rb+280|0;Mb=Rb+276|0;Fb=Rb+272|0;X=Rb+268|0;ra=Rb+264|0;ma=Rb+260|0;Ia=Rb+256|0;ga=Rb+252|0;xa=Rb+248|0;ya=Rb+244|0;Aa=Rb+240|0;ua=Rb+236|0;va=Rb+232|0;za=Rb+1052|0;wa=Rb+228|0;Ca=Rb+224|0;Ha=Rb+220|0;Fa=Rb+216|0;La=Rb+212|0;Ka=Rb+208|0;Wa=Rb+204|0;Ja=Rb+200|0;ab=Rb+196|0;bb=Rb+192|0;cb=Rb+188|0;mb=Rb+184|0;jb=Rb+1056|0;ob=Rb+180|0;kb=Rb+1054|0;db=Rb+176|0;eb=Rb+172|0;c[Pb>>2]=e;c[sa>>2]=f;c[Gb>>2]=h;c[Qb>>2]=j;c[aa>>2]=k;c[ba>>2]=l;c[u>>2]=m;c[v>>2]=n;c[ca>>2]=o;c[Y>>2]=p;c[Z>>2]=q;c[$>>2]=r;c[ta>>2]=s;c[Nb>>2]=0;c[Ea>>2]=0;c[rb>>2]=0;c[Jb>>2]=0;c[Kb>>2]=0;c[hb>>2]=0;c[Lb>>2]=0;c[qb>>2]=0;c[S>>2]=-1;c[T>>2]=-1;c[Ib>>2]=1276<(c[aa>>2]|0)?1276:c[aa>>2]|0;c[(c[Pb>>2]|0)+18216>>2]=0;if(!((((((!(c[(c[Pb>>2]|0)+144>>2]|0)?((c[Gb>>2]|0)*400|0)!=(c[(c[Pb>>2]|0)+132>>2]|0):0)?((c[Gb>>2]|0)*200|0)!=(c[(c[Pb>>2]|0)+132>>2]|0):0)?((c[Gb>>2]|0)*100|0)!=(c[(c[Pb>>2]|0)+132>>2]|0):0)?((c[Gb>>2]|0)*50|0)!=(c[(c[Pb>>2]|0)+132>>2]|0):0)?((c[Gb>>2]|0)*25|0)!=(c[(c[Pb>>2]|0)+132>>2]|0):0)?((c[Gb>>2]|0)*50|0)!=((c[(c[Pb>>2]|0)+132>>2]|0)*3|0):0))Eb=8;if((Eb|0)==8?!((c[Ib>>2]|0)<=0?1:((c[Gb>>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[gb>>2]=(c[Pb>>2]|0)+(c[c[Pb>>2]>>2]|0);if((c[(c[Pb>>2]|0)+96>>2]|0)==2051)c[y>>2]=0;else c[y>>2]=c[(c[Pb>>2]|0)+104>>2];if((c[ba>>2]|0)<(c[(c[Pb>>2]|0)+156>>2]|0))q=c[ba>>2]|0;else q=c[(c[Pb>>2]|0)+156>>2]|0;c[ba>>2]=q;e=c[gb>>2]|0;c[w>>2]=$a+((($a-$a|0)/4|0)<<2);lb(e,10015,w)|0;c[fb>>2]=0;if((c[(c[Pb>>2]|0)+8+36>>2]|0)>=7?(c[(c[Pb>>2]|0)+132>>2]|0)==48e3:0){c[S>>2]=c[(c[Pb>>2]|0)+172+8508>>2];c[T>>2]=c[(c[Pb>>2]|0)+172+8512>>2];aj((c[Pb>>2]|0)+172|0,c[$a>>2]|0,c[u>>2]|0,c[v>>2]|0,c[Gb>>2]|0,c[ca>>2]|0,c[Y>>2]|0,c[Z>>2]|0,c[(c[Pb>>2]|0)+132>>2]|0,c[ba>>2]|0,c[$>>2]|0,fb)}c[(c[Pb>>2]|0)+128>>2]=-1;c[(c[Pb>>2]|0)+18212>>2]=0;do if(c[fb>>2]|0){if((c[(c[Pb>>2]|0)+112>>2]|0)==-1e3){w=~~+M(+((1.0-+g[fb+20>>2])*100.0+.5));c[(c[Pb>>2]|0)+128>>2]=w}c[x>>2]=c[fb+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}q=(c[Pb>>2]|0)+18212|0;if((c[x>>2]|0)<=18){c[q>>2]=1104;break}else{c[q>>2]=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[F>>2]=+Ei(c[sa>>2]|0,c[Gb>>2]|0,c[(c[Pb>>2]|0)+132>>2]|0,(c[Pb>>2]|0)+14352|0);else g[F>>2]=0.0;c[_a>>2]=c[y>>2];y=Gi(c[Pb>>2]|0,c[Gb>>2]|0,c[Ib>>2]|0)|0;c[(c[Pb>>2]|0)+148>>2]=y;c[Da>>2]=(c[(c[Pb>>2]|0)+132>>2]|0)/(c[Gb>>2]|0)|0;do if((c[Ib>>2]|0)>=3?(c[(c[Pb>>2]|0)+148>>2]|0)>=((c[Da>>2]|0)*3<<3|0):0){if((c[Da>>2]|0)<50){if((_(c[Ib>>2]|0,c[Da>>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[Da>>2]<<2)|0)/(c[Da>>2]<<3|0)|0|0)<(c[Ib>>2]|0))q=((c[(c[Pb>>2]|0)+148>>2]|0)+(c[Da>>2]<<2)|0)/(c[Da>>2]<<3|0)|0;else q=c[Ib>>2]|0;c[A>>2]=q;B=_(c[A>>2]|0,c[Da>>2]<<3)|0;c[(c[Pb>>2]|0)+148>>2]=B;c[Ib>>2]=c[A>>2]}c[Ba>>2]=(_(c[Da>>2]|0,c[Ib>>2]|0)|0)<<3;c[Za>>2]=(c[(c[Pb>>2]|0)+148>>2]|0)-(_(((c[(c[Pb>>2]|0)+100>>2]|0)*40|0)+20|0,((c[(c[Pb>>2]|0)+132>>2]|0)/(c[Gb>>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[K>>2]=0;break}q=c[Pb>>2]|0;if((c[(c[Pb>>2]|0)+128>>2]|0)>=0){c[K>>2]=(c[q+128>>2]|0)*327>>8;if((c[(c[Pb>>2]|0)+96>>2]|0)!=2049)break;c[K>>2]=(c[K>>2]|0)<115?c[K>>2]|0:115;break}if((c[q+96>>2]|0)==2048){c[K>>2]=115;break}else{c[K>>2]=48;break}}else c[K>>2]=127;while(0);if((c[(c[Pb>>2]|0)+108>>2]|0)!=-1e3?(c[(c[Pb>>2]|0)+100>>2]|0)==2:0)c[(c[Pb>>2]|0)+14288>>2]=c[(c[Pb>>2]|0)+108>>2];else Eb=73;do if((Eb|0)==73){if((c[(c[Pb>>2]|0)+100>>2]|0)!=2){c[(c[Pb>>2]|0)+14288>>2]=c[(c[Pb>>2]|0)+100>>2];break}c[C>>2]=3e4;q=c[C>>2]|0;if((c[(c[Pb>>2]|0)+14288>>2]|0)==2)c[C>>2]=q-1e3;else c[C>>2]=q+1e3;c[(c[Pb>>2]|0)+14288>>2]=(c[Za>>2]|0)>(c[C>>2]|0)?2:1}while(0);c[Za>>2]=(c[(c[Pb>>2]|0)+148>>2]|0)-(_(((c[(c[Pb>>2]|0)+14288>>2]|0)*40|0)+20|0,((c[(c[Pb>>2]|0)+132>>2]|0)/(c[Gb>>2]|0)|0)-50|0)|0);q=c[Pb>>2]|0;do if((c[(c[Pb>>2]|0)+96>>2]|0)==2051)c[q+14320>>2]=1002;else{if((c[q+124>>2]|0)!=-1e3){c[(c[Pb>>2]|0)+14320>>2]=c[(c[Pb>>2]|0)+124>>2];break}c[E>>2]=~~((1.0-+g[F>>2])*+(c[4508]|0)+ +g[F>>2]*+(c[4510]|0));c[D>>2]=~~((1.0-+g[F>>2])*+(c[4511]|0)+ +g[F>>2]*+(c[4511]|0));F=_(c[K>>2]|0,c[K>>2]|0)|0;c[G>>2]=(c[D>>2]|0)+((_(F,(c[E>>2]|0)-(c[D>>2]|0)|0)|0)>>14);if((c[(c[Pb>>2]|0)+96>>2]|0)==2048)c[G>>2]=(c[G>>2]|0)+8e3;do if((c[(c[Pb>>2]|0)+14324>>2]|0)==1002)c[G>>2]=(c[G>>2]|0)-4e3;else{if((c[(c[Pb>>2]|0)+14324>>2]|0)<=0)break;c[G>>2]=(c[G>>2]|0)+4e3}while(0);c[(c[Pb>>2]|0)+14320>>2]=(c[Za>>2]|0)>=(c[G>>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[K>>2]|0)>>4|0))break;c[(c[Pb>>2]|0)+14320>>2]=1e3}while(0);if(!((c[K>>2]|0)>100?(c[(c[Pb>>2]|0)+8+44>>2]|0)!=0:0))break;c[(c[Pb>>2]|0)+14320>>2]=1e3}while(0);if((c[(c[Pb>>2]|0)+14320>>2]|0)!=1002?(c[Gb>>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;G=_((c[Da>>2]|0)>50?12e3:8e3,c[Gb>>2]|0)|0;if((c[Ib>>2]|0)<((G|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=107;break}if(c[(c[Pb>>2]|0)+8+56>>2]|0){Eb=107;break}if((c[(c[Pb>>2]|0)+14320>>2]|0)==1002){Eb=107;break}if((c[(c[Pb>>2]|0)+14324>>2]|0)==1002){Eb=107;break}c[(c[Pb>>2]|0)+8+56>>2]=1;c[(c[Pb>>2]|0)+14288>>2]=2}else Eb=107;while(0);if((Eb|0)==107)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[Jb>>2]=1;c[hb>>2]=(c[(c[Pb>>2]|0)+14320>>2]|0)!=1002&1;if(c[hb>>2]|0)break;if((c[Gb>>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[Jb>>2]=0;break}}while(0);if(c[(c[Pb>>2]|0)+14340>>2]|0){c[Jb>>2]=1;c[hb>>2]=1;c[(c[Pb>>2]|0)+14340>>2]=0;c[Ea>>2]=1}do if(c[Jb>>2]|0){G=_(c[Ib>>2]|0,(c[(c[Pb>>2]|0)+132>>2]|0)/200|0)|0;if(257<((G|0)/((c[Gb>>2]|0)+((c[(c[Pb>>2]|0)+132>>2]|0)/200|0)|0)|0|0))q=257;else{q=_(c[Ib>>2]|0,(c[(c[Pb>>2]|0)+132>>2]|0)/200|0)|0;q=(q|0)/((c[Gb>>2]|0)+((c[(c[Pb>>2]|0)+132>>2]|0)/200|0)|0)|0}c[Kb>>2]=q;if(!(c[(c[Pb>>2]|0)+136>>2]|0))break;if((c[Kb>>2]|0)<((c[(c[Pb>>2]|0)+148>>2]|0)/1600|0|0))q=c[Kb>>2]|0;else q=(c[(c[Pb>>2]|0)+148>>2]|0)/1600|0;c[Kb>>2]=q}while(0);do if((c[(c[Pb>>2]|0)+14320>>2]|0)!=1002){if((c[(c[Pb>>2]|0)+14324>>2]|0)!=1002)break;Td(c[Ga>>2]|0,c[(c[Pb>>2]|0)+168>>2]|0,H)|0;c[Ea>>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=133;break}if(c[(c[Pb>>2]|0)+8+72>>2]|0)Eb=133}else Eb=133;while(0);do if((Eb|0)==133){c[L>>2]=1105;c[O>>2]=c[Za>>2];do if((c[(c[Pb>>2]|0)+14320>>2]|0)!=1002){c[O>>2]=(_(c[O>>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[O>>2]=(c[O>>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=139;break}c[J>>2]=18048;c[I>>2]=18080}else Eb=139;while(0);if((Eb|0)==139){c[J>>2]=18112;c[I>>2]=18144}c[Xa>>2]=0;while(1){if((c[Xa>>2]|0)>=8)break;H=_(c[K>>2]|0,c[K>>2]|0)|0;H=(c[(c[I>>2]|0)+(c[Xa>>2]<<2)>>2]|0)+((_(H,(c[(c[J>>2]|0)+(c[Xa>>2]<<2)>>2]|0)-(c[(c[I>>2]|0)+(c[Xa>>2]<<2)>>2]|0)|0)|0)>>14)|0;c[N+(c[Xa>>2]<<2)>>2]=H;c[Xa>>2]=(c[Xa>>2]|0)+1}do{c[Q>>2]=c[N+((c[L>>2]|0)-1102<<1<<2)>>2];c[P>>2]=c[N+(((c[L>>2]|0)-1102<<1)+1<<2)>>2];do if(!(c[(c[Pb>>2]|0)+14344>>2]|0)){q=c[P>>2]|0;m=c[Q>>2]|0;if((c[(c[Pb>>2]|0)+14336>>2]|0)>=(c[L>>2]|0)){c[Q>>2]=m-q;break}else{c[Q>>2]=m+q;break}}while(0);if((c[O>>2]|0)>=(c[Q>>2]|0))break;K=(c[L>>2]|0)+-1|0;c[L>>2]=K}while((K|0)>1101);c[(c[Pb>>2]|0)+14336>>2]=c[L>>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[Ba>>2]|0)<15e3?(c[(c[Pb>>2]|0)+14320>>2]|0)!=1002:0){if((c[(c[Pb>>2]|0)+14336>>2]|0)<1103)q=c[(c[Pb>>2]|0)+14336>>2]|0;else q=1103;c[(c[Pb>>2]|0)+14336>>2]=q}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[Za>>2]|0)<=((c[(c[Pb>>2]|0)+14288>>2]|0)*18e3|0)){if((c[(c[Pb>>2]|0)+14320>>2]|0)!=1002){Eb=179;break}c[R>>2]=1101}else Eb=179;while(0);a:do if((Eb|0)==179){do if((c[Za>>2]|0)<=((c[(c[Pb>>2]|0)+14288>>2]|0)*24e3|0)){if((c[(c[Pb>>2]|0)+14320>>2]|0)!=1002)break;c[R>>2]=1102;break a}while(0);if((c[Za>>2]|0)<=((c[(c[Pb>>2]|0)+14288>>2]|0)*3e4|0)){c[R>>2]=1103;break}if((c[Za>>2]|0)<=((c[(c[Pb>>2]|0)+14288>>2]|0)*44e3|0)){c[R>>2]=1104;break}else{c[R>>2]=1105;break}}while(0);if((c[(c[Pb>>2]|0)+18212>>2]|0)>(c[R>>2]|0))q=c[(c[Pb>>2]|0)+18212>>2]|0;else q=c[R>>2]|0;c[(c[Pb>>2]|0)+18212>>2]=q;q=c[Pb>>2]|0;if((c[(c[Pb>>2]|0)+14336>>2]|0)<(c[(c[Pb>>2]|0)+18212>>2]|0))q=c[q+14336>>2]|0;else q=c[q+18212>>2]|0;c[(c[Pb>>2]|0)+14336>>2]=q}while(0);R=c[gb>>2]|0;c[U>>2]=c[ba>>2];lb(R,4036,U)|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[Gb>>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[S>>2]|0)!=-1){c[(c[Pb>>2]|0)+172+8508>>2]=c[S>>2];c[(c[Pb>>2]|0)+172+8512>>2]=c[T>>2]}c[oa>>2]=(c[Gb>>2]|0)>((c[(c[Pb>>2]|0)+132>>2]|0)/25|0|0)?3:2;if(1276<(((c[aa>>2]|0)-3|0)/(c[oa>>2]|0)|0|0))q=1276;else q=((c[aa>>2]|0)-3|0)/(c[oa>>2]|0)|0;c[da>>2]=q;q=_(c[oa>>2]|0,c[da>>2]|0)|0;c[fa>>2]=ia()|0;m=i;i=i+((1*q|0)+15&-16)|0;Ti(qa)|0;c[ka>>2]=c[(c[Pb>>2]|0)+124>>2];c[ha>>2]=c[(c[Pb>>2]|0)+116>>2];c[ja>>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];q=c[Pb>>2]|0;if(c[la>>2]|0)c[q+108>>2]=1;else c[(c[Pb>>2]|0)+14328>>2]=c[q+14288>>2];c[Xa>>2]=0;while(1){q=c[Pb>>2]|0;if((c[Xa>>2]|0)>=(c[oa>>2]|0)){Eb=219;break}c[q+8+56>>2]=0;do if(c[Lb>>2]|0){if((c[Xa>>2]|0)!=((c[oa>>2]|0)-1|0))break;c[(c[Pb>>2]|0)+124>>2]=1002}while(0);Jb=(c[sa>>2]|0)+((_(c[Xa>>2]|0,(_(c[(c[Pb>>2]|0)+100>>2]|0,c[(c[Pb>>2]|0)+132>>2]|0)|0)/50|0)|0)<<2)|0;Kb=m+(_(c[Xa>>2]|0,c[da>>2]|0)|0)|0;c[ea>>2]=Fi(c[Pb>>2]|0,Jb,(c[(c[Pb>>2]|0)+132>>2]|0)/50|0,Kb,c[da>>2]|0,c[ba>>2]|0,0,0,c[ca>>2]|0,c[Y>>2]|0,c[Z>>2]|0,c[$>>2]|0,c[ta>>2]|0)|0;if((c[ea>>2]|0)<0){Eb=215;break}Kb=m+(_(c[Xa>>2]|0,c[da>>2]|0)|0)|0;c[Nb>>2]=Ui(qa,Kb,c[ea>>2]|0)|0;if((c[Nb>>2]|0)<0){Eb=217;break}c[Xa>>2]=(c[Xa>>2]|0)+1}do if((Eb|0)==215){c[Ob>>2]=-3;c[Mb>>2]=1}else if((Eb|0)==217){c[Ob>>2]=-3;c[Mb>>2]=1}else if((Eb|0)==219){if(c[q+136>>2]|0)c[pa>>2]=c[aa>>2];else{if((((c[(c[Pb>>2]|0)+148>>2]|0)*3|0)/(1200/(c[oa>>2]|0)|0|0)|0|0)<(c[aa>>2]|0))q=((c[(c[Pb>>2]|0)+148>>2]|0)*3|0)/(1200/(c[oa>>2]|0)|0|0)|0;else q=c[aa>>2]|0;c[pa>>2]=q}c[Nb>>2]=Wi(qa,0,c[oa>>2]|0,c[Qb>>2]|0,c[pa>>2]|0,0,((c[(c[Pb>>2]|0)+136>>2]|0)!=0^1)&1)|0;if((c[Nb>>2]|0)<0){c[Ob>>2]=-3;c[Mb>>2]=1;break}else{c[(c[Pb>>2]|0)+124>>2]=c[ka>>2];c[(c[Pb>>2]|0)+116>>2]=c[ha>>2];c[(c[Pb>>2]|0)+108>>2]=c[ja>>2];c[(c[Pb>>2]|0)+8+56>>2]=c[la>>2];c[Ob>>2]=c[Nb>>2];c[Mb>>2]=1;break}}while(0);na(c[fa>>2]|0);Qb=c[Ob>>2]|0;i=Rb;return Qb|0}while(0);c[ib>>2]=c[(c[Pb>>2]|0)+14336>>2];if((c[ib>>2]|0)>1103?(c[(c[Pb>>2]|0)+14320>>2]|0)==1e3:0)c[(c[Pb>>2]|0)+14320>>2]=1001;if((c[ib>>2]|0)<=1103?(c[(c[Pb>>2]|0)+14320>>2]|0)==1001:0)c[(c[Pb>>2]|0)+14320>>2]=1e3;qa=_(c[(c[Pb>>2]|0)+148>>2]|0,c[Gb>>2]|0)|0;if(((c[Ib>>2]|0)-(c[Kb>>2]|0)|0)<((qa|0)/(c[(c[Pb>>2]|0)+132>>2]<<3|0)|0|0))q=(c[Ib>>2]|0)-(c[Kb>>2]|0)|0;else{q=_(c[(c[Pb>>2]|0)+148>>2]|0,c[Gb>>2]|0)|0;q=(q|0)/(c[(c[Pb>>2]|0)+132>>2]<<3|0)|0}c[Va>>2]=q-1;c[Qb>>2]=(c[Qb>>2]|0)+1;ic(Hb,c[Qb>>2]|0,(c[Ib>>2]|0)-1|0);pa=_((c[_a>>2]|0)+(c[Gb>>2]|0)|0,c[(c[Pb>>2]|0)+100>>2]|0)|0;c[Fb>>2]=ia()|0;n=i;i=i+((1*(pa<<2)|0)+15&-16)|0;pa=_((c[(c[Pb>>2]|0)+160>>2]|0)-(c[_a>>2]|0)|0,c[(c[Pb>>2]|0)+100>>2]|0)|0;qa=(_(c[_a>>2]|0,c[(c[Pb>>2]|0)+100>>2]|0)|0)<<2;pj(n|0,(c[Pb>>2]|0)+14372+(pa<<2)|0,qa+0|0)|0;if((c[(c[Pb>>2]|0)+14320>>2]|0)==1002)c[V>>2]=(Sf(60)|0)<<8;else c[V>>2]=c[(c[Ga>>2]|0)+8>>2];c[(c[Pb>>2]|0)+14296>>2]=(c[(c[Pb>>2]|0)+14296>>2]|0)+((((c[V>>2]|0)-(c[(c[Pb>>2]|0)+14296>>2]|0)>>16)*983|0)+(((c[V>>2]|0)-(c[(c[Pb>>2]|0)+14296>>2]|0)&65535)*983>>16));c[W>>2]=Wf(c[(c[Pb>>2]|0)+14296>>2]>>8)|0;q=c[sa>>2]|0;if((c[(c[Pb>>2]|0)+96>>2]|0)==2048){sa=n+((_(c[_a>>2]|0,c[(c[Pb>>2]|0)+100>>2]|0)|0)<<2)|0;Ii(q,c[W>>2]|0,sa,(c[Pb>>2]|0)+14304|0,c[Gb>>2]|0,c[(c[Pb>>2]|0)+100>>2]|0,c[(c[Pb>>2]|0)+132>>2]|0)}else{sa=n+((_(c[_a>>2]|0,c[(c[Pb>>2]|0)+100>>2]|0)|0)<<2)|0;Ki(q,3,sa,(c[Pb>>2]|0)+14304|0,c[Gb>>2]|0,c[(c[Pb>>2]|0)+100>>2]|0,c[(c[Pb>>2]|0)+132>>2]|0)}do if(c[ta>>2]|0){sa=n+((_(c[_a>>2]|0,c[(c[Pb>>2]|0)+100>>2]|0)|0)<<2)|0;ta=n+((_(c[_a>>2]|0,c[(c[Pb>>2]|0)+100>>2]|0)|0)<<2)|0;g[X>>2]=+Li(sa,ta,_(c[Gb>>2]|0,c[(c[Pb>>2]|0)+100>>2]|0)|0);if(+g[X>>2]<1.0e9?!(+g[X>>2]!=+g[X>>2]):0)break;ta=n+((_(c[_a>>2]|0,c[(c[Pb>>2]|0)+100>>2]|0)|0)<<2)|0;oj(ta|0,0,(_(c[Gb>>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[Ya>>2]=1.0;if((c[(c[Pb>>2]|0)+14320>>2]|0)!=1002){ta=_(c[(c[Pb>>2]|0)+100>>2]|0,c[Gb>>2]|0)|0;c[Ia>>2]=ia()|0;m=i;i=i+((1*(ta<<1)|0)+15&-16)|0;c[ra>>2]=_(c[Va>>2]<<3,c[Da>>2]|0)|0;do if((c[(c[Pb>>2]|0)+14320>>2]|0)==1001){q=_(c[(c[Pb>>2]|0)+14288>>2]|0,5e3+(((c[(c[Pb>>2]|0)+132>>2]|0)==((c[Gb>>2]|0)*100|0)&1)*1e3|0)|0)|0;c[(c[Pb>>2]|0)+8+28>>2]=q;q=(c[ra>>2]|0)-(c[(c[Pb>>2]|0)+8+28>>2]|0)|0;if((c[ib>>2]|0)==1104){ta=(c[Pb>>2]|0)+8+28|0;c[ta>>2]=(c[ta>>2]|0)+((q<<1|0)/3|0)}else{ta=(c[Pb>>2]|0)+8+28|0;c[ta>>2]=(c[ta>>2]|0)+((q*3|0)/5|0)}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[ma>>2]=(c[ra>>2]|0)-(c[(c[Pb>>2]|0)+8+28>>2]|0);c[ga>>2]=(c[ib>>2]|0)==1104?3e3:3600;g[Ya>>2]=+(c[ma>>2]|0)/(+(c[ma>>2]|0)+ +(_(c[(c[Pb>>2]|0)+14288>>2]|0,c[ga>>2]|0)|0));g[Ya>>2]=+g[Ya>>2]<.8571428656578064?+g[Ya>>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[xa>>2]=0.0;c[va>>2]=17;b[za>>1]=16e3;do if((c[(c[Pb>>2]|0)+14336>>2]|0)==1101){c[va>>2]=13;b[za>>1]=8e3}else{if((c[(c[Pb>>2]|0)+14336>>2]|0)!=1102)break;c[va>>2]=15;b[za>>1]=12e3}while(0);c[ua>>2]=0;while(1){if((c[ua>>2]|0)>=(c[(c[Pb>>2]|0)+100>>2]|0))break;c[Xa>>2]=0;while(1){q=c[ua>>2]|0;if((c[Xa>>2]|0)>=(c[va>>2]|0))break;if(+g[(c[(c[Pb>>2]|0)+14348>>2]|0)+((q*21|0)+(c[Xa>>2]|0)<<2)>>2]<.5)t=+g[(c[(c[Pb>>2]|0)+14348>>2]|0)+(((c[ua>>2]|0)*21|0)+(c[Xa>>2]|0)<<2)>>2];else t=.5;do if(t>-2.0){if(!(+g[(c[(c[Pb>>2]|0)+14348>>2]|0)+(((c[ua>>2]|0)*21|0)+(c[Xa>>2]|0)<<2)>>2]<.5)){t=.5;break}t=+g[(c[(c[Pb>>2]|0)+14348>>2]|0)+(((c[ua>>2]|0)*21|0)+(c[Xa>>2]|0)<<2)>>2]}else t=-2.0;while(0);g[wa>>2]=t;if(+g[wa>>2]>0.0)g[wa>>2]=+g[wa>>2]*.5;g[xa>>2]=+g[xa>>2]+ +g[wa>>2];c[Xa>>2]=(c[Xa>>2]|0)+1}c[ua>>2]=q+1}g[ya>>2]=+g[xa>>2]/+(c[va>>2]|0)*+(c[(c[Pb>>2]|0)+100>>2]|0);g[ya>>2]=+g[ya>>2]+.20000000298023224;c[Aa>>2]=~~(+(b[za>>1]|0)*+g[ya>>2]);if((c[Aa>>2]|0)>((_(-2,c[(c[Pb>>2]|0)+8+28>>2]|0)|0)/3|0|0))q=c[Aa>>2]|0;else q=(_(-2,c[(c[Pb>>2]|0)+8+28>>2]|0)|0)/3|0;c[Aa>>2]=q;do if((c[(c[Pb>>2]|0)+14336>>2]|0)==1104)Eb=281;else{if((c[(c[Pb>>2]|0)+14336>>2]|0)==1105){Eb=281;break}za=(c[Pb>>2]|0)+8+28|0;c[za>>2]=(c[za>>2]|0)+(c[Aa>>2]|0)}while(0);if((Eb|0)==281){za=(c[Pb>>2]|0)+8+28|0;c[za>>2]=(c[za>>2]|0)+(((c[Aa>>2]|0)*3|0)/5|0)}Aa=_(c[Aa>>2]|0,c[Gb>>2]|0)|0;c[Va>>2]=(c[Va>>2]|0)+((Aa|0)/(c[(c[Pb>>2]|0)+132>>2]<<3|0)|0)}while(0);c[(c[Pb>>2]|0)+8+24>>2]=((c[Gb>>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];do if((c[ib>>2]|0)!=1101){q=(c[Pb>>2]|0)+8+20|0;if((c[ib>>2]|0)==1102){c[q>>2]=12e3;break}else{c[q>>2]=16e3;break}}else c[(c[Pb>>2]|0)+8+20>>2]=8e3;while(0);q=(c[Pb>>2]|0)+8+16|0;if((c[(c[Pb>>2]|0)+14320>>2]|0)==1001)c[q>>2]=16e3;else c[q>>2]=8e3;do if((c[(c[Pb>>2]|0)+14320>>2]|0)==1e3){c[Ca>>2]=c[Ba>>2];c[(c[Pb>>2]|0)+8+12>>2]=16e3;if((c[Da>>2]|0)>50)c[Ca>>2]=(c[Ca>>2]<<1|0)/3|0;if((c[Ca>>2]|0)<13e3){c[(c[Pb>>2]|0)+8+12>>2]=12e3;if(12e3<(c[(c[Pb>>2]|0)+8+20>>2]|0))q=12e3;else q=c[(c[Pb>>2]|0)+8+20>>2]|0;c[(c[Pb>>2]|0)+8+20>>2]=q}if((c[Ca>>2]|0)>=9600)break;c[(c[Pb>>2]|0)+8+12>>2]=8e3;if(8e3<(c[(c[Pb>>2]|0)+8+20>>2]|0))q=8e3;else q=c[(c[Pb>>2]|0)+8+20>>2]|0;c[(c[Pb>>2]|0)+8+20>>2]=q}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[Ib>>2]|0)-1-(c[Kb>>2]|0)|0))q=1275;else q=(c[Ib>>2]|0)-1-(c[Kb>>2]|0)|0;c[Ma>>2]=q;c[(c[Pb>>2]|0)+8+52>>2]=c[Ma>>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=_(c[(c[Pb>>2]|0)+8+28>>2]|0,c[Gb>>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))q=1;else q=(c[(c[Pb>>2]|0)+8+28>>2]|0)-2e3|0;c[(c[Pb>>2]|0)+8+28>>2]=q}if(c[Ea>>2]|0){c[Ha>>2]=0;c[Fa>>2]=_(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;Mi((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[$a>>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[$a>>2]|0)+60>>2]|0,c[(c[Pb>>2]|0)+132>>2]|0);oj((c[Pb>>2]|0)+14372|0,0,c[Fa>>2]<<2|0)|0;c[Xa>>2]=0;while(1){if((c[Xa>>2]|0)>=(_(c[(c[Pb>>2]|0)+160>>2]|0,c[(c[Pb>>2]|0)+100>>2]|0)|0))break;Fa=Ni(+g[(c[Pb>>2]|0)+14372+(c[Xa>>2]<<2)>>2])|0;b[m+(c[Xa>>2]<<1)>>1]=Fa;c[Xa>>2]=(c[Xa>>2]|0)+1}Vd(c[Ga>>2]|0,(c[Pb>>2]|0)+8|0,m,c[(c[Pb>>2]|0)+160>>2]|0,0,Ha,1)|0}c[Xa>>2]=0;while(1){if((c[Xa>>2]|0)>=(_(c[Gb>>2]|0,c[(c[Pb>>2]|0)+100>>2]|0)|0))break;Ha=_(c[_a>>2]|0,c[(c[Pb>>2]|0)+100>>2]|0)|0;Ha=Ni(+g[n+(Ha+(c[Xa>>2]|0)<<2)>>2])|0;b[m+(c[Xa>>2]<<1)>>1]=Ha;c[Xa>>2]=(c[Xa>>2]|0)+1}c[Nb>>2]=Vd(c[Ga>>2]|0,(c[Pb>>2]|0)+8|0,m,c[Gb>>2]|0,Hb,Ma,0)|0;do if(c[Nb>>2]|0){c[Ob>>2]=-3;c[Mb>>2]=1}else{q=c[Pb>>2]|0;if(!(c[Ma>>2]|0)){c[q+18216>>2]=0;Xa=Hi(c[(c[Pb>>2]|0)+14320>>2]|0,(c[(c[Pb>>2]|0)+132>>2]|0)/(c[Gb>>2]|0)|0,c[ib>>2]|0,c[(c[Pb>>2]|0)+14288>>2]|0)|0;a[(c[Qb>>2]|0)+-1>>0]=Xa;c[Ob>>2]=1;c[Mb>>2]=1;break}do if((c[q+14320>>2]|0)==1e3){if((c[(c[Pb>>2]|0)+8+68>>2]|0)==8e3){c[ib>>2]=1101;break}if((c[(c[Pb>>2]|0)+8+68>>2]|0)==12e3){c[ib>>2]=1102;break}if((c[(c[Pb>>2]|0)+8+68>>2]|0)!=16e3)break;c[ib>>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[Jb>>2]=1;c[hb>>2]=0;c[(c[Pb>>2]|0)+14340>>2]=1}c[Mb>>2]=0}while(0);na(c[Ia>>2]|0);if(!(c[Mb>>2]|0))Eb=335}else Eb=335;b:do if((Eb|0)==335){c[La>>2]=21;switch(c[ib>>2]|0){case 1101:{c[La>>2]=13;break}case 1103:case 1102:{c[La>>2]=17;break}case 1104:{c[La>>2]=19;break}case 1105:{c[La>>2]=21;break}default:{}}Xa=c[gb>>2]|0;c[Na>>2]=c[La>>2];lb(Xa,10012,Na)|0;Xa=c[gb>>2]|0;c[Oa>>2]=c[(c[Pb>>2]|0)+14288>>2];lb(Xa,10008,Oa)|0;Xa=c[gb>>2]|0;c[Pa>>2]=-1;lb(Xa,4002,Pa)|0;do if((c[(c[Pb>>2]|0)+14320>>2]|0)!=1e3){g[Ka>>2]=2.0;Xa=c[gb>>2]|0;c[Qa>>2]=0;lb(Xa,4006,Qa)|0;if(c[(c[Pb>>2]|0)+8+64>>2]|0)g[Ka>>2]=0.0;Xa=c[gb>>2]|0;c[Ra>>2]=~~+g[Ka>>2];lb(Xa,10002,Ra)|0;if((c[(c[Pb>>2]|0)+14320>>2]|0)==1001){c[Wa>>2]=(Oi(Hb)|0)+7>>3;if(c[Jb>>2]|0)c[Wa>>2]=(c[Wa>>2]|0)+((c[(c[Pb>>2]|0)+14320>>2]|0)==1001?3:1);q=c[Wa>>2]|0;m=c[Va>>2]|0;if(c[(c[Pb>>2]|0)+136>>2]|0){Xa=_(c[(c[Pb>>2]|0)+8+28>>2]|0,c[Gb>>2]|0)|0;c[pb>>2]=q+m-((Xa|0)/(c[(c[Pb>>2]|0)+132>>2]<<3|0)|0);break}else{c[pb>>2]=(q|0)>(m|0)?c[Wa>>2]|0:c[Va>>2]|0;break}}if(!(c[(c[Pb>>2]|0)+136>>2]|0)){c[pb>>2]=c[Va>>2];break}c[Ja>>2]=0;do if((c[(c[Pb>>2]|0)+144>>2]|0)==5010){if((c[Gb>>2]|0)==((c[(c[Pb>>2]|0)+132>>2]|0)/50|0|0))break;c[Ja>>2]=_(((c[(c[Pb>>2]|0)+14288>>2]|0)*60|0)+40|0,((c[(c[Pb>>2]|0)+132>>2]|0)/(c[Gb>>2]|0)|0)-50|0)|0;if(!(c[fb>>2]|0))break;c[Ja>>2]=~~(+(c[Ja>>2]|0)*(+g[fb+4>>2]*.5+1.0))}while(0);Xa=c[gb>>2]|0;c[Sa>>2]=1;lb(Xa,4006,Sa)|0;Xa=c[gb>>2]|0;c[Ta>>2]=c[(c[Pb>>2]|0)+140>>2];lb(Xa,4020,Ta)|0;Xa=c[gb>>2]|0;c[Ua>>2]=(c[(c[Pb>>2]|0)+148>>2]|0)+(c[Ja>>2]|0);lb(Xa,4002,Ua)|0;c[pb>>2]=(c[Ib>>2]|0)-1-(c[Kb>>2]|0)}else c[pb>>2]=0;while(0);Xa=((_(c[(c[Pb>>2]|0)+100>>2]|0,c[(c[Pb>>2]|0)+132>>2]|0)|0)/400|0)<<2;m=i;i=i+((1*Xa|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;Wa=_((c[(c[Pb>>2]|0)+160>>2]|0)-(c[_a>>2]|0)-((c[(c[Pb>>2]|0)+132>>2]|0)/400|0)|0,c[(c[Pb>>2]|0)+100>>2]|0)|0;Xa=((_(c[(c[Pb>>2]|0)+100>>2]|0,c[(c[Pb>>2]|0)+132>>2]|0)|0)/400|0)<<2;pj(m|0,(c[Pb>>2]|0)+14372+(Wa<<2)|0,Xa+0|0)|0}while(0);Xa=(_(c[(c[Pb>>2]|0)+100>>2]|0,(c[(c[Pb>>2]|0)+160>>2]|0)-((c[Gb>>2]|0)+(c[_a>>2]|0))|0)|0)>0;q=(c[Pb>>2]|0)+14372|0;if(Xa){Wa=_(c[(c[Pb>>2]|0)+100>>2]|0,c[Gb>>2]|0)|0;Xa=(_(c[(c[Pb>>2]|0)+100>>2]|0,(c[(c[Pb>>2]|0)+160>>2]|0)-(c[Gb>>2]|0)-(c[_a>>2]|0)|0)|0)<<2;qj(q|0,(c[Pb>>2]|0)+14372+(Wa<<2)|0,Xa+0|0)|0;Xa=_(c[(c[Pb>>2]|0)+100>>2]|0,(c[(c[Pb>>2]|0)+160>>2]|0)-(c[Gb>>2]|0)-(c[_a>>2]|0)|0)|0;_a=(_((c[Gb>>2]|0)+(c[_a>>2]|0)|0,c[(c[Pb>>2]|0)+100>>2]|0)|0)<<2;pj((c[Pb>>2]|0)+14372+(Xa<<2)|0,n|0,_a+0|0)|0}else{Xa=n+((_((c[Gb>>2]|0)+(c[_a>>2]|0)-(c[(c[Pb>>2]|0)+160>>2]|0)|0,c[(c[Pb>>2]|0)+100>>2]|0)|0)<<2)|0;_a=(_(c[(c[Pb>>2]|0)+160>>2]|0,c[(c[Pb>>2]|0)+100>>2]|0)|0)<<2;pj(q|0,Xa|0,_a+0|0)|0}if(+g[Ya>>2]<1.0?1:+g[(c[Pb>>2]|0)+14300>>2]<1.0)Mi(n,n,+g[(c[Pb>>2]|0)+14300>>2],+g[Ya>>2],c[(c[$a>>2]|0)+4>>2]|0,c[Gb>>2]|0,c[(c[Pb>>2]|0)+100>>2]|0,c[(c[$a>>2]|0)+60>>2]|0,c[(c[Pb>>2]|0)+132>>2]|0);g[(c[Pb>>2]|0)+14300>>2]=+g[Ya>>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[Za>>2]|0)-3e4|0)?0:(c[Za>>2]|0)-3e4|0)<<1|0))q=16384;else q=(0>((c[Za>>2]|0)-3e4|0)?0:(c[Za>>2]|0)-3e4|0)<<1;c[(c[Pb>>2]|0)+8+80>>2]=q}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[ab>>2]=+(b[(c[Pb>>2]|0)+14292>>1]|0);g[bb>>2]=+(c[(c[Pb>>2]|0)+8+80>>2]|0);g[ab>>2]=+g[ab>>2]*.00006103515625;g[bb>>2]=+g[bb>>2]*.00006103515625;Pi(n,n,+g[ab>>2],+g[bb>>2],c[(c[$a>>2]|0)+4>>2]|0,c[Gb>>2]|0,c[(c[Pb>>2]|0)+100>>2]|0,c[(c[$a>>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){bb=(Oi(Hb)|0)+17|0;if((bb+(((c[(c[Pb>>2]|0)+14320>>2]|0)==1001&1)*20|0)|0)>((c[Ib>>2]|0)-1<<3|0)){Eb=393;break}do if((c[(c[Pb>>2]|0)+14320>>2]|0)==1001){if((c[Jb>>2]|0)==0?(bb=(Oi(Hb)|0)+37|0,(bb|0)>(c[pb>>2]<<3|0)):0)break;pc(Hb,c[Jb>>2]|0,12)}while(0);if(!(c[Jb>>2]|0))break;pc(Hb,c[hb>>2]|0,1);q=(c[Ib>>2]|0)-1|0;if((c[(c[Pb>>2]|0)+14320>>2]|0)==1001)c[cb>>2]=q-(c[pb>>2]|0);else c[cb>>2]=q-((Oi(Hb)|0)+7>>3);if((c[cb>>2]|0)<((c[(c[Pb>>2]|0)+148>>2]|0)/1600|0|0))q=c[cb>>2]|0;else q=(c[(c[Pb>>2]|0)+148>>2]|0)/1600|0;c[Kb>>2]=q;if(257<((2>(c[Kb>>2]|0)?2:c[Kb>>2]|0)|0))q=257;else q=2>(c[Kb>>2]|0)?2:c[Kb>>2]|0;c[Kb>>2]=q;if((c[(c[Pb>>2]|0)+14320>>2]|0)!=1001)break;rc(Hb,(c[Kb>>2]|0)-2|0,256)}else Eb=393;while(0);if((Eb|0)==393)c[Jb>>2]=0;if(!(c[Jb>>2]|0)){c[(c[Pb>>2]|0)+14340>>2]=0;c[Kb>>2]=0}if((c[(c[Pb>>2]|0)+14320>>2]|0)!=1002)c[rb>>2]=17;if((c[(c[Pb>>2]|0)+14320>>2]|0)==1e3){c[Nb>>2]=(Oi(Hb)|0)+7>>3;wc(Hb);c[pb>>2]=c[Nb>>2]}else{if(((c[Ib>>2]|0)-1-(c[Kb>>2]|0)|0)<(c[pb>>2]|0))q=(c[Ib>>2]|0)-1-(c[Kb>>2]|0)|0;else q=c[pb>>2]|0;c[pb>>2]=q;vc(Hb,c[pb>>2]|0)}if(!(!(c[Jb>>2]|0)?(c[(c[Pb>>2]|0)+14320>>2]|0)==1e3:0)){Eb=c[gb>>2]|0;c[sb>>2]=fb+(((fb-fb|0)/28|0)*28|0);lb(Eb,10022,sb)|0}do if((c[Jb>>2]|0)!=0&(c[hb>>2]|0)!=0){Eb=c[gb>>2]|0;c[tb>>2]=0;lb(Eb,10010,tb)|0;Eb=c[gb>>2]|0;c[ub>>2]=0;lb(Eb,4006,ub)|0;c[mb>>2]=nb(c[gb>>2]|0,n,(c[(c[Pb>>2]|0)+132>>2]|0)/200|0,(c[Qb>>2]|0)+(c[pb>>2]|0)|0,c[Kb>>2]|0,0)|0;if((c[mb>>2]|0)<0){c[Ob>>2]=-3;c[Mb>>2]=1;break b}else{Eb=c[gb>>2]|0;c[vb>>2]=qb+(((qb-qb|0)/4|0)<<2);lb(Eb,4031,vb)|0;lb(c[gb>>2]|0,4028,wb)|0;break}}while(0);Eb=c[gb>>2]|0;c[xb>>2]=c[rb>>2];lb(Eb,10010,xb)|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;lb(c[gb>>2]|0,4028,yb)|0;nb(c[gb>>2]|0,m,(c[(c[Pb>>2]|0)+132>>2]|0)/400|0,jb,2,0)|0;Eb=c[gb>>2]|0;c[zb>>2]=0;lb(Eb,10002,zb)|0}while(0);Eb=Oi(Hb)|0;if((Eb|0)>(c[pb>>2]<<3|0))break;c[Nb>>2]=nb(c[gb>>2]|0,n,c[Gb>>2]|0,0,c[pb>>2]|0,Hb)|0;if((c[Nb>>2]|0)>=0)break;c[Ob>>2]=-3;c[Mb>>2]=1;break b}while(0);do if(!((c[Jb>>2]|0)==0|(c[hb>>2]|0)!=0)){c[db>>2]=(c[(c[Pb>>2]|0)+132>>2]|0)/200|0;c[eb>>2]=(c[(c[Pb>>2]|0)+132>>2]|0)/400|0;lb(c[gb>>2]|0,4028,Ab)|0;Eb=c[gb>>2]|0;c[Bb>>2]=0;lb(Eb,10010,Bb)|0;Eb=c[gb>>2]|0;c[Cb>>2]=0;lb(Eb,10002,Cb)|0;Eb=n+((_(c[(c[Pb>>2]|0)+100>>2]|0,(c[Gb>>2]|0)-(c[db>>2]|0)-(c[eb>>2]|0)|0)|0)<<2)|0;nb(c[gb>>2]|0,Eb,c[eb>>2]|0,kb,2,0)|0;Eb=n+((_(c[(c[Pb>>2]|0)+100>>2]|0,(c[Gb>>2]|0)-(c[db>>2]|0)|0)|0)<<2)|0;c[ob>>2]=nb(c[gb>>2]|0,Eb,c[db>>2]|0,(c[Qb>>2]|0)+(c[pb>>2]|0)|0,c[Kb>>2]|0,0)|0;if((c[ob>>2]|0)<0){c[Ob>>2]=-3;c[Mb>>2]=1;break b}else{Eb=c[gb>>2]|0;c[Db>>2]=qb+(((qb-qb|0)/4|0)<<2);lb(Eb,4031,Db)|0;break}}while(0);c[Qb>>2]=(c[Qb>>2]|0)+-1;q=Hi(c[(c[Pb>>2]|0)+14320>>2]|0,(c[(c[Pb>>2]|0)+132>>2]|0)/(c[Gb>>2]|0)|0,c[ib>>2]|0,c[(c[Pb>>2]|0)+14288>>2]|0)|0;a[c[Qb>>2]>>0]=q;c[(c[Pb>>2]|0)+18216>>2]=c[Hb+28>>2]^c[qb>>2];q=c[Pb>>2]|0;if(c[Lb>>2]|0)c[q+14324>>2]=1002;else c[(c[Pb>>2]|0)+14324>>2]=c[q+14320>>2];c[(c[Pb>>2]|0)+14328>>2]=c[(c[Pb>>2]|0)+14288>>2];c[(c[Pb>>2]|0)+14332>>2]=c[Gb>>2];c[(c[Pb>>2]|0)+14344>>2]=0;Lb=Oi(Hb)|0;c:do if((Lb|0)>((c[Ib>>2]|0)-1<<3|0))if((c[Ib>>2]|0)<2){c[Ob>>2]=-2;c[Mb>>2]=1;break b}else{a[(c[Qb>>2]|0)+1>>0]=0;c[Nb>>2]=1;c[(c[Pb>>2]|0)+18216>>2]=0;break}else{if(!(((c[Jb>>2]|0?1:(c[(c[Pb>>2]|0)+14320>>2]|0)!=1e3)^1)&(c[Nb>>2]|0)>2))break;do{if(d[(c[Qb>>2]|0)+(c[Nb>>2]|0)>>0]|0)break c;c[Nb>>2]=(c[Nb>>2]|0)+-1}while((c[Nb>>2]|0)>2)}while(0);c[Nb>>2]=(c[Nb>>2]|0)+(1+(c[Kb>>2]|0));do if(!(c[(c[Pb>>2]|0)+136>>2]|0))if(Xi(c[Qb>>2]|0,c[Nb>>2]|0,c[Ib>>2]|0)|0){c[Ob>>2]=-3;c[Mb>>2]=1;break b}else{c[Nb>>2]=c[Ib>>2];break}while(0);c[Ob>>2]=c[Nb>>2];c[Mb>>2]=1}while(0);na(c[Fb>>2]|0);Qb=c[Ob>>2]|0;i=Rb;return Qb|0}while(0);c[B>>2]=c[(c[Pb>>2]|0)+14320>>2];if(!(c[(c[Pb>>2]|0)+14336>>2]|0))q=1101;else q=c[(c[Pb>>2]|0)+14336>>2]|0;c[z>>2]=q;if(!(c[B>>2]|0))c[B>>2]=1e3;if((c[Da>>2]|0)>100)c[B>>2]=1002;if((c[Da>>2]|0)<50)c[B>>2]=1e3;do if(!((c[B>>2]|0)==1e3&(c[z>>2]|0)>1103)){if((c[B>>2]|0)==1002&(c[z>>2]|0)==1102){c[z>>2]=1101;break}if((c[z>>2]|0)<=1104)c[z>>2]=1104}else c[z>>2]=1103;while(0);Pb=Hi(c[B>>2]|0,c[Da>>2]|0,c[z>>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;i=Rb;return Qb|0}c[Ob>>2]=-1;Qb=c[Ob>>2]|0;i=Rb;return Qb|0}function Gi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;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;b=c[f>>2]|0;if((c[(c[f>>2]|0)+152>>2]|0)==-1e3){c[e>>2]=(((c[b+132>>2]|0)*60|0)/(c[g>>2]|0)|0)+(_(c[(c[f>>2]|0)+132>>2]|0,c[(c[f>>2]|0)+100>>2]|0)|0);h=c[e>>2]|0;i=j;return h|0}if((c[b+152>>2]|0)==-1){h=_(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;i=j;return h|0}else{c[e>>2]=c[(c[f>>2]|0)+152>>2];h=c[e>>2]|0;i=j;return h|0}return 0}function Hi(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+20|0;j=p+16|0;k=p+12|0;l=p+8|0;m=p+4|0;o=p+24|0;n=p;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[m>>2]=0;while(1){if((c[j>>2]|0)>=400)break;c[j>>2]=c[j>>2]<<1;c[m>>2]=(c[m>>2]|0)+1}do if((c[h>>2]|0)!=1e3)if((c[h>>2]|0)==1002){b=(c[k>>2]|0)-1102|0;c[n>>2]=b;c[n>>2]=(c[n>>2]|0)<0?0:b;a[o>>0]=-128;a[o>>0]=d[o>>0]|0|c[n>>2]<<5;a[o>>0]=d[o>>0]|0|c[m>>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[m>>2]|0)-2<<3;break}else{a[o>>0]=(c[k>>2]|0)-1101<<5;a[o>>0]=d[o>>0]|0|(c[m>>2]|0)-2<<3}while(0);a[o>>0]=d[o>>0]|0|((c[l>>2]|0)==2&1)<<2;i=p;return a[o>>0]|0}function Ii(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 j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;q=i;i=i+64|0;j=q+60|0;v=q+56|0;k=q+52|0;l=q+48|0;m=q+44|0;n=q+40|0;u=q+36|0;p=q+24|0;o=q+16|0;s=q+8|0;t=q+4|0;r=q;c[j>>2]=a;c[v>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>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[p>>2]=c[t>>2];c[p+4>>2]=0-(c[t>>2]|0)<<1;c[p+8>>2]=c[t>>2];c[r>>2]=c[t>>2]>>6;d=_(c[s>>2]>>16,(c[s>>2]&65535)<<16>>16)|0;d=d+((_(c[s>>2]&65535,(c[s>>2]&65535)<<16>>16)|0)>>16)|0;d=_(c[r>>2]>>16,(d+(_(c[s>>2]|0,(c[s>>2]>>15)+1>>1)|0)-8388608&65535)<<16>>16)|0;f=_(c[s>>2]>>16,(c[s>>2]&65535)<<16>>16)|0;f=f+((_(c[s>>2]&65535,(c[s>>2]&65535)<<16>>16)|0)>>16)|0;f=d+((_(c[r>>2]&65535,(f+(_(c[s>>2]|0,(c[s>>2]>>15)+1>>1)|0)-8388608&65535)<<16>>16)|0)>>16)|0;d=_(c[s>>2]>>16,(c[s>>2]&65535)<<16>>16)|0;d=d+((_(c[s>>2]&65535,(c[s>>2]&65535)<<16>>16)|0)>>16)|0;c[o>>2]=f+(_(c[r>>2]|0,(d+(_(c[s>>2]|0,(c[s>>2]>>15)+1>>1)|0)-8388608>>15)+1>>1)|0);d=_(c[r>>2]>>16,(c[r>>2]&65535)<<16>>16)|0;d=d+((_(c[r>>2]&65535,(c[r>>2]&65535)<<16>>16)|0)>>16)|0;c[o+4>>2]=d+(_(c[r>>2]|0,(c[r>>2]>>15)+1>>1)|0);Ji(c[j>>2]|0,p,o,c[l>>2]|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0);if((c[n>>2]|0)!=2){i=q;return}Ji((c[j>>2]|0)+4|0,p,o,(c[l>>2]|0)+8|0,(c[k>>2]|0)+4|0,c[m>>2]|0,c[n>>2]|0);i=q;return}function Ji(a,b,d,e,f,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=i;i=i+64|0;k=u+60|0;v=u+56|0;w=u+52|0;l=u+48|0;m=u+44|0;n=u+40|0;o=u+36|0;s=u+32|0;t=u+28|0;r=u+24|0;p=u+16|0;q=u;c[k>>2]=a;c[v>>2]=b;c[w>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=h;c[o>>2]=j;g[p>>2]=+(c[c[w>>2]>>2]|0)*3.725290298461914e-09;g[p+4>>2]=+(c[(c[w>>2]|0)+4>>2]|0)*3.725290298461914e-09;g[q>>2]=+(c[c[v>>2]>>2]|0)*3.725290298461914e-09;g[q+4>>2]=+(c[(c[v>>2]|0)+4>>2]|0)*3.725290298461914e-09;g[q+8>>2]=+(c[(c[v>>2]|0)+8>>2]|0)*3.725290298461914e-09;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[n>>2]|0))break;w=_(c[s>>2]|0,c[o>>2]|0)|0;g[r>>2]=+g[(c[k>>2]|0)+(w<<2)>>2];g[t>>2]=+g[c[l>>2]>>2]+ +g[q>>2]*+g[r>>2];g[c[l>>2]>>2]=+g[(c[l>>2]|0)+4>>2]-+g[t>>2]*+g[p>>2]+ +g[q+4>>2]*+g[r>>2];g[(c[l>>2]|0)+4>>2]=-+g[t>>2]*+g[p+4>>2]+ +g[q+8>>2]*+g[r>>2]+1.0000000031710769e-30;w=_(c[s>>2]|0,c[o>>2]|0)|0;g[(c[m>>2]|0)+(w<<2)>>2]=+g[t>>2];c[s>>2]=(c[s>>2]|0)+1}i=u;return}function Ki(a,b,d,e,f,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=i;i=i+64|0;k=v+48|0;x=v+44|0;l=v+40|0;m=v+36|0;n=v+32|0;o=v+28|0;w=v+24|0;p=v+20|0;r=v+16|0;q=v+12|0;t=v+8|0;s=v+4|0;u=v;c[k>>2]=a;c[x>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=h;c[w>>2]=j;g[q>>2]=+(c[x>>2]|0)*4.0/+(c[w>>2]|0);c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[o>>2]|0))break;c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[n>>2]|0))break;x=_(c[o>>2]|0,c[r>>2]|0)|0;g[t>>2]=+g[(c[k>>2]|0)+(x+(c[p>>2]|0)<<2)>>2];g[s>>2]=+g[t>>2]-+g[(c[m>>2]|0)+(c[p>>2]<<1<<2)>>2];g[(c[m>>2]|0)+(c[p>>2]<<1<<2)>>2]=+g[(c[m>>2]|0)+(c[p>>2]<<1<<2)>>2]+ +g[q>>2]*(+g[t>>2]-+g[(c[m>>2]|0)+(c[p>>2]<<1<<2)>>2])+1.0000000031710769e-30;g[u>>2]=+g[s>>2]-+g[(c[m>>2]|0)+((c[p>>2]<<1)+1<<2)>>2];g[(c[m>>2]|0)+((c[p>>2]<<1)+1<<2)>>2]=+g[(c[m>>2]|0)+((c[p>>2]<<1)+1<<2)>>2]+ +g[q>>2]*(+g[s>>2]-+g[(c[m>>2]|0)+((c[p>>2]<<1)+1<<2)>>2])+1.0000000031710769e-30;x=_(c[o>>2]|0,c[r>>2]|0)|0;g[(c[l>>2]|0)+(x+(c[p>>2]|0)<<2)>>2]=+g[u>>2];c[r>>2]=(c[r>>2]|0)+1}c[p>>2]=(c[p>>2]|0)+1}i=v;return}function Li(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[f>>2]=a;c[h>>2]=b;c[j>>2]=d;g[l>>2]=0.0;c[k>>2]=0;while(1){e=+g[l>>2];if((c[k>>2]|0)>=(c[j>>2]|0))break;g[l>>2]=e+ +g[(c[f>>2]|0)+(c[k>>2]<<2)>>2]*+g[(c[h>>2]|0)+(c[k>>2]<<2)>>2];c[k>>2]=(c[k>>2]|0)+1}i=m;return +e}function Mi(a,b,d,e,f,h,j,k,l){a=a|0;b=b|0;d=+d;e=+e;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;B=i;i=i+80|0;m=B+64|0;n=B+60|0;o=B+56|0;p=B+52|0;C=B+48|0;q=B+44|0;r=B+40|0;s=B+36|0;D=B+32|0;w=B+28|0;x=B+24|0;y=B+20|0;t=B+16|0;u=B+12|0;z=B+8|0;v=B+4|0;A=B;c[m>>2]=a;c[n>>2]=b;g[o>>2]=d;g[p>>2]=e;c[C>>2]=f;c[q>>2]=h;c[r>>2]=j;c[s>>2]=k;c[D>>2]=l;c[x>>2]=48e3/(c[D>>2]|0)|0;c[y>>2]=(c[C>>2]|0)/(c[x>>2]|0)|0;k=(c[r>>2]|0)==1;c[w>>2]=0;a:do if(k)while(1){if((c[w>>2]|0)>=(c[y>>2]|0))break a;C=_(c[w>>2]|0,c[x>>2]|0)|0;D=_(c[w>>2]|0,c[x>>2]|0)|0;g[z>>2]=+g[(c[s>>2]|0)+(C<<2)>>2]*+g[(c[s>>2]|0)+(D<<2)>>2];g[u>>2]=+g[z>>2]*+g[p>>2]+(1.0-+g[z>>2])*+g[o>>2];g[(c[n>>2]|0)+(c[w>>2]<<2)>>2]=+g[u>>2]*+g[(c[m>>2]|0)+(c[w>>2]<<2)>>2];c[w>>2]=(c[w>>2]|0)+1}else while(1){if((c[w>>2]|0)>=(c[y>>2]|0))break a;C=_(c[w>>2]|0,c[x>>2]|0)|0;D=_(c[w>>2]|0,c[x>>2]|0)|0;g[A>>2]=+g[(c[s>>2]|0)+(C<<2)>>2]*+g[(c[s>>2]|0)+(D<<2)>>2];g[v>>2]=+g[A>>2]*+g[p>>2]+(1.0-+g[A>>2])*+g[o>>2];g[(c[n>>2]|0)+(c[w>>2]<<1<<2)>>2]=+g[v>>2]*+g[(c[m>>2]|0)+(c[w>>2]<<1<<2)>>2];g[(c[n>>2]|0)+((c[w>>2]<<1)+1<<2)>>2]=+g[v>>2]*+g[(c[m>>2]|0)+((c[w>>2]<<1)+1<<2)>>2];c[w>>2]=(c[w>>2]|0)+1}while(0);c[t>>2]=0;do{c[w>>2]=c[y>>2];while(1){if((c[w>>2]|0)>=(c[q>>2]|0))break;C=_(c[w>>2]|0,c[r>>2]|0)|0;D=_(c[w>>2]|0,c[r>>2]|0)|0;g[(c[n>>2]|0)+(D+(c[t>>2]|0)<<2)>>2]=+g[p>>2]*+g[(c[m>>2]|0)+(C+(c[t>>2]|0)<<2)>>2];c[w>>2]=(c[w>>2]|0)+1}D=(c[t>>2]|0)+1|0;c[t>>2]=D}while((D|0)<(c[r>>2]|0));i=B;return}function Ni(a){a=+a;var b=0,c=0;c=i;i=i+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=(ij(+g[b>>2])|0)&65535;i=c;return b|0}function Oi(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[(c[d>>2]|0)+20>>2]|0)-(32-(aa(c[(c[d>>2]|0)+28>>2]|0)|0))|0;i=b;return a|0}function Pi(a,b,d,e,f,h,j,k,l){a=a|0;b=b|0;d=+d;e=+e;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=i;i=i+64|0;m=A+60|0;n=A+56|0;o=A+52|0;p=A+48|0;B=A+44|0;q=A+40|0;r=A+36|0;s=A+32|0;C=A+28|0;w=A+24|0;y=A+20|0;x=A+16|0;t=A+12|0;v=A+8|0;z=A+4|0;u=A;c[m>>2]=a;c[n>>2]=b;g[o>>2]=d;g[p>>2]=e;c[B>>2]=f;c[q>>2]=h;c[r>>2]=j;c[s>>2]=k;c[C>>2]=l;c[x>>2]=48e3/(c[C>>2]|0)|0;c[y>>2]=(c[B>>2]|0)/(c[x>>2]|0)|0;g[o>>2]=1.0-+g[o>>2];g[p>>2]=1.0-+g[p>>2];c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[y>>2]|0))break;C=_(c[w>>2]|0,c[x>>2]|0)|0;B=_(c[w>>2]|0,c[x>>2]|0)|0;g[z>>2]=+g[(c[s>>2]|0)+(C<<2)>>2]*+g[(c[s>>2]|0)+(B<<2)>>2];g[v>>2]=+g[z>>2]*+g[p>>2]+(1.0-+g[z>>2])*+g[o>>2];B=_(c[w>>2]|0,c[r>>2]|0)|0;C=(_(c[w>>2]|0,c[r>>2]|0)|0)+1|0;g[t>>2]=(+g[(c[m>>2]|0)+(B<<2)>>2]-+g[(c[m>>2]|0)+(C<<2)>>2])*.5;g[t>>2]=+g[v>>2]*+g[t>>2];C=_(c[w>>2]|0,c[r>>2]|0)|0;B=_(c[w>>2]|0,c[r>>2]|0)|0;g[(c[n>>2]|0)+(B<<2)>>2]=+g[(c[n>>2]|0)+(C<<2)>>2]-+g[t>>2];B=(_(c[w>>2]|0,c[r>>2]|0)|0)+1|0;C=(_(c[w>>2]|0,c[r>>2]|0)|0)+1|0;g[(c[n>>2]|0)+(C<<2)>>2]=+g[(c[n>>2]|0)+(B<<2)>>2]+ +g[t>>2];c[w>>2]=(c[w>>2]|0)+1}while(1){if((c[w>>2]|0)>=(c[q>>2]|0))break;B=_(c[w>>2]|0,c[r>>2]|0)|0;C=(_(c[w>>2]|0,c[r>>2]|0)|0)+1|0;g[u>>2]=(+g[(c[m>>2]|0)+(B<<2)>>2]-+g[(c[m>>2]|0)+(C<<2)>>2])*.5;g[u>>2]=+g[p>>2]*+g[u>>2];C=_(c[w>>2]|0,c[r>>2]|0)|0;B=_(c[w>>2]|0,c[r>>2]|0)|0;g[(c[n>>2]|0)+(B<<2)>>2]=+g[(c[n>>2]|0)+(C<<2)>>2]-+g[u>>2];B=(_(c[w>>2]|0,c[r>>2]|0)|0)+1|0;C=(_(c[w>>2]|0,c[r>>2]|0)|0)+1|0;g[(c[n>>2]|0)+(C<<2)>>2]=+g[(c[n>>2]|0)+(B<<2)>>2]+ +g[u>>2];c[w>>2]=(c[w>>2]|0)+1}i=A;return}function Qi(a,d,e,f,h){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;k=t+36|0;l=t+32|0;m=t+28|0;n=t+24|0;o=t+20|0;r=t+16|0;s=t+12|0;q=t+8|0;j=t+4|0;p=t;c[k>>2]=a;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=h;if((c[(c[k>>2]|0)+96>>2]|0)==2051)c[j>>2]=0;else c[j>>2]=c[(c[k>>2]|0)+104>>2];c[q>>2]=Ai(c[l>>2]|0,c[m>>2]|0,c[(c[k>>2]|0)+144>>2]|0,c[(c[k>>2]|0)+100>>2]|0,c[(c[k>>2]|0)+132>>2]|0,c[(c[k>>2]|0)+148>>2]|0,c[j>>2]|0,1,(c[k>>2]|0)+172+6872|0)|0;a=_(c[q>>2]|0,c[(c[k>>2]|0)+100>>2]|0)|0;c[p>>2]=ia()|0;e=i;i=i+((1*(a<<2)|0)+15&-16)|0;c[r>>2]=0;while(1){if((c[r>>2]|0)>=(_(c[q>>2]|0,c[(c[k>>2]|0)+100>>2]|0)|0))break;g[e+(c[r>>2]<<2)>>2]=+(b[(c[l>>2]|0)+(c[r>>2]<<1)>>1]|0)*.000030517578125;c[r>>2]=(c[r>>2]|0)+1}c[s>>2]=Fi(c[k>>2]|0,e,c[q>>2]|0,c[n>>2]|0,c[o>>2]|0,16,c[l>>2]|0,c[m>>2]|0,0,-2,c[(c[k>>2]|0)+100>>2]|0,1,0)|0;s=c[s>>2]|0;na(c[p>>2]|0);i=t;return s|0}function Ri(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,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;if((c[(c[g>>2]|0)+96>>2]|0)==2051)c[m>>2]=0;else c[m>>2]=c[(c[g>>2]|0)+104>>2];c[n>>2]=Ai(c[h>>2]|0,c[j>>2]|0,c[(c[g>>2]|0)+144>>2]|0,c[(c[g>>2]|0)+100>>2]|0,c[(c[g>>2]|0)+132>>2]|0,c[(c[g>>2]|0)+148>>2]|0,c[m>>2]|0,2,(c[g>>2]|0)+172+6872|0)|0;a=Fi(c[g>>2]|0,c[h>>2]|0,c[n>>2]|0,c[k>>2]|0,c[l>>2]|0,24,c[h>>2]|0,c[j>>2]|0,0,-2,c[(c[g>>2]|0)+100>>2]|0,2,1)|0;i=o;return a|0}function Si(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,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;ha=i;i=i+352|0;ca=ha+48|0;ba=ha+40|0;aa=ha+32|0;$=ha+24|0;_=ha+16|0;Z=ha+8|0;Y=ha;fa=ha+336|0;ea=ha+332|0;ia=ha+328|0;ga=ha+324|0;h=ha+320|0;f=ha+304|0;m=ha+300|0;n=ha+296|0;y=ha+292|0;J=ha+288|0;da=ha+284|0;T=ha+280|0;U=ha+276|0;V=ha+272|0;W=ha+268|0;X=ha+264|0;o=ha+260|0;p=ha+256|0;q=ha+252|0;r=ha+248|0;s=ha+244|0;t=ha+240|0;u=ha+236|0;v=ha+232|0;w=ha+228|0;x=ha+224|0;z=ha+220|0;A=ha+216|0;B=ha+212|0;C=ha+208|0;D=ha+204|0;E=ha+200|0;F=ha+196|0;G=ha+192|0;H=ha+188|0;I=ha+184|0;K=ha+180|0;L=ha+176|0;M=ha+172|0;N=ha+168|0;O=ha+164|0;k=ha+160|0;j=ha+72|0;l=ha+68|0;P=ha+64|0;Q=ha+60|0;R=ha+56|0;S=ha+52|0;c[ea>>2]=a;c[ia>>2]=d;c[ga>>2]=0;c[f>>2]=e;c[h>>2]=(c[ea>>2]|0)+(c[c[ea>>2]>>2]|0);a:do switch(c[ia>>2]|0){case 4e3:{da=(c[f>>2]|0)+(4-1)&~(4-1);ia=c[da>>2]|0;c[f>>2]=da+4;c[m>>2]=ia;do if(!((c[m>>2]|0)!=2048&(c[m>>2]|0)!=2049&(c[m>>2]|0)!=2051)){if((c[(c[ea>>2]|0)+14344>>2]|0)==0?(c[(c[ea>>2]|0)+96>>2]|0)!=(c[m>>2]|0):0)break;c[(c[ea>>2]|0)+96>>2]=c[m>>2];f=99;break a}while(0);c[ga>>2]=-1;f=99;break}case 4001:{da=(c[f>>2]|0)+(4-1)&~(4-1);ia=c[da>>2]|0;c[f>>2]=da+4;c[n>>2]=ia;if(c[n>>2]|0){c[c[n>>2]>>2]=c[(c[ea>>2]|0)+96>>2];f=99}else f=100;break}case 4002:{da=(c[f>>2]|0)+(4-1)&~(4-1);ia=c[da>>2]|0;c[f>>2]=da+4;c[y>>2]=ia;do if((c[y>>2]|0)!=-1e3&(c[y>>2]|0)!=-1){if((c[y>>2]|0)<=0){f=100;break a}if((c[y>>2]|0)<=500){c[y>>2]=500;break}if((c[y>>2]|0)>((c[(c[ea>>2]|0)+100>>2]|0)*3e5|0))c[y>>2]=(c[(c[ea>>2]|0)+100>>2]|0)*3e5}while(0);c[(c[ea>>2]|0)+152>>2]=c[y>>2];f=99;break}case 4003:{da=(c[f>>2]|0)+(4-1)&~(4-1);ia=c[da>>2]|0;c[f>>2]=da+4;c[J>>2]=ia;if(c[J>>2]|0){f=Gi(c[ea>>2]|0,c[(c[ea>>2]|0)+14332>>2]|0,1276)|0;c[c[J>>2]>>2]=f;f=99}else f=100;break}case 4022:{e=(c[f>>2]|0)+(4-1)&~(4-1);ia=c[e>>2]|0;c[f>>2]=e+4;c[da>>2]=ia;f=c[da>>2]|0;if((c[da>>2]|0)<1){if((f|0)!=-1e3){f=100;break a}}else if((c[da>>2]|0)!=-1e3?(f|0)>(c[(c[ea>>2]|0)+100>>2]|0):0){f=100;break a}c[(c[ea>>2]|0)+108>>2]=c[da>>2];f=99;break}case 4023:{da=(c[f>>2]|0)+(4-1)&~(4-1);ia=c[da>>2]|0;c[f>>2]=da+4;c[T>>2]=ia;if(c[T>>2]|0){c[c[T>>2]>>2]=c[(c[ea>>2]|0)+108>>2];f=99}else f=100;break}case 4004:{da=(c[f>>2]|0)+(4-1)&~(4-1);ia=c[da>>2]|0;c[f>>2]=da+4;c[U>>2]=ia;if(!((c[U>>2]|0)<1101|(c[U>>2]|0)>1105)){c[(c[ea>>2]|0)+120>>2]=c[U>>2];h=c[ea>>2]|0;if((c[(c[ea>>2]|0)+120>>2]|0)==1101){c[h+8+12>>2]=8e3;f=99;break a}f=(c[ea>>2]|0)+8+12|0;if((c[h+120>>2]|0)==1102){c[f>>2]=12e3;f=99;break a}else{c[f>>2]=16e3;f=99;break a}}else f=100;break}case 4005:{da=(c[f>>2]|0)+(4-1)&~(4-1);ia=c[da>>2]|0;c[f>>2]=da+4;c[V>>2]=ia;if(c[V>>2]|0){c[c[V>>2]>>2]=c[(c[ea>>2]|0)+120>>2];f=99}else f=100;break}case 4008:{da=(c[f>>2]|0)+(4-1)&~(4-1);ia=c[da>>2]|0;c[f>>2]=da+4;c[W>>2]=ia;if(!(((c[W>>2]|0)<1101|(c[W>>2]|0)>1105)&(c[W>>2]|0)!=-1e3)){c[(c[ea>>2]|0)+116>>2]=c[W>>2];h=c[ea>>2]|0;if((c[(c[ea>>2]|0)+116>>2]|0)==1101){c[h+8+12>>2]=8e3;f=99;break a}f=(c[ea>>2]|0)+8+12|0;if((c[h+116>>2]|0)==1102){c[f>>2]=12e3;f=99;break a}else{c[f>>2]=16e3;f=99;break a}}else f=100;break}case 4009:{da=(c[f>>2]|0)+(4-1)&~(4-1);ia=c[da>>2]|0;c[f>>2]=da+4;c[X>>2]=ia;if(c[X>>2]|0){c[c[X>>2]>>2]=c[(c[ea>>2]|0)+14336>>2];f=99}else f=100;break}case 4016:{da=(c[f>>2]|0)+(4-1)&~(4-1);ia=c[da>>2]|0;c[f>>2]=da+4;c[o>>2]=ia;if((c[o>>2]|0)<0|(c[o>>2]|0)>1)f=100;else{c[(c[ea>>2]|0)+8+44>>2]=c[o>>2];f=99}break}case 4017:{da=(c[f>>2]|0)+(4-1)&~(4-1);ia=c[da>>2]|0;c[f>>2]=da+4;c[p>>2]=ia;if(c[p>>2]|0){c[c[p>>2]>>2]=c[(c[ea>>2]|0)+8+44>>2];f=99}else f=100;break}case 4010:{da=(c[f>>2]|0)+(4-1)&~(4-1);ia=c[da>>2]|0;c[f>>2]=da+4;c[q>>2]=ia;if((c[q>>2]|0)<0|(c[q>>2]|0)>10)f=100;else{c[(c[ea>>2]|0)+8+36>>2]=c[q>>2];f=c[h>>2]|0;c[Y>>2]=c[q>>2];lb(f,4010,Y)|0;f=99}break}case 4011:{da=(c[f>>2]|0)+(4-1)&~(4-1);ia=c[da>>2]|0;c[f>>2]=da+4;c[r>>2]=ia;if(c[r>>2]|0){c[c[r>>2]>>2]=c[(c[ea>>2]|0)+8+36>>2];f=99}else f=100;break}case 4012:{da=(c[f>>2]|0)+(4-1)&~(4-1);ia=c[da>>2]|0;c[f>>2]=da+4;c[s>>2]=ia;if((c[s>>2]|0)<0|(c[s>>2]|0)>1)f=100;else{c[(c[ea>>2]|0)+8+40>>2]=c[s>>2];f=99}break}case 4013:{da=(c[f>>2]|0)+(4-1)&~(4-1);ia=c[da>>2]|0;c[f>>2]=da+4;c[t>>2]=ia;if(c[t>>2]|0){c[c[t>>2]>>2]=c[(c[ea>>2]|0)+8+40>>2];f=99}else f=100;break}case 4014:{da=(c[f>>2]|0)+(4-1)&~(4-1);ia=c[da>>2]|0;c[f>>2]=da+4;c[u>>2]=ia;if((c[u>>2]|0)<0|(c[u>>2]|0)>100)f=100;else{c[(c[ea>>2]|0)+8+32>>2]=c[u>>2];f=c[h>>2]|0;c[Z>>2]=c[u>>2];lb(f,4014,Z)|0;f=99}break}case 4015:{da=(c[f>>2]|0)+(4-1)&~(4-1);ia=c[da>>2]|0;c[f>>2]=da+4;c[v>>2]=ia;if(c[v>>2]|0){c[c[v>>2]>>2]=c[(c[ea>>2]|0)+8+32>>2];f=99}else f=100;break}case 4006:{da=(c[f>>2]|0)+(4-1)&~(4-1);ia=c[da>>2]|0;c[f>>2]=da+4;c[w>>2]=ia;if((c[w>>2]|0)<0|(c[w>>2]|0)>1)f=100;else{c[(c[ea>>2]|0)+136>>2]=c[w>>2];c[(c[ea>>2]|0)+8+48>>2]=1-(c[w>>2]|0);f=99}break}case 4007:{da=(c[f>>2]|0)+(4-1)&~(4-1);ia=c[da>>2]|0;c[f>>2]=da+4;c[x>>2]=ia;if(c[x>>2]|0){c[c[x>>2]>>2]=c[(c[ea>>2]|0)+136>>2];f=99}else f=100;break}case 11018:{da=(c[f>>2]|0)+(4-1)&~(4-1);ia=c[da>>2]|0;c[f>>2]=da+4;c[z>>2]=ia;if((c[z>>2]|0)<-1|(c[z>>2]|0)>100)f=100;else{c[(c[ea>>2]|0)+128>>2]=c[z>>2];f=99}break}case 11019:{da=(c[f>>2]|0)+(4-1)&~(4-1);ia=c[da>>2]|0;c[f>>2]=da+4;c[A>>2]=ia;if(c[A>>2]|0){c[c[A>>2]>>2]=c[(c[ea>>2]|0)+128>>2];f=99}else f=100;break}case 4020:{da=(c[f>>2]|0)+(4-1)&~(4-1);ia=c[da>>2]|0;c[f>>2]=da+4;c[B>>2]=ia;if((c[B>>2]|0)<0|(c[B>>2]|0)>1)f=100;else{c[(c[ea>>2]|0)+140>>2]=c[B>>2];f=99}break}case 4021:{da=(c[f>>2]|0)+(4-1)&~(4-1);ia=c[da>>2]|0;c[f>>2]=da+4;c[C>>2]=ia;if(c[C>>2]|0){c[c[C>>2]>>2]=c[(c[ea>>2]|0)+140>>2];f=99}else f=100;break}case 4024:{da=(c[f>>2]|0)+(4-1)&~(4-1);ia=c[da>>2]|0;c[f>>2]=da+4;c[D>>2]=ia;if((c[D>>2]|0)!=-1e3&(c[D>>2]|0)!=3001&(c[D>>2]|0)!=3002)f=100;else{c[(c[ea>>2]|0)+112>>2]=c[D>>2];f=99}break}case 4025:{da=(c[f>>2]|0)+(4-1)&~(4-1);ia=c[da>>2]|0;c[f>>2]=da+4;c[E>>2]=ia;if(c[E>>2]|0){c[c[E>>2]>>2]=c[(c[ea>>2]|0)+112>>2];f=99}else f=100;break}case 4027:{da=(c[f>>2]|0)+(4-1)&~(4-1);ia=c[da>>2]|0;c[f>>2]=da+4;c[F>>2]=ia;if(c[F>>2]|0){c[c[F>>2]>>2]=(c[(c[ea>>2]|0)+132>>2]|0)/400|0;if((c[(c[ea>>2]|0)+96>>2]|0)!=2051){f=c[F>>2]|0;c[f>>2]=(c[f>>2]|0)+(c[(c[ea>>2]|0)+104>>2]|0);f=99}else f=99}else f=100;break}case 4029:{da=(c[f>>2]|0)+(4-1)&~(4-1);ia=c[da>>2]|0;c[f>>2]=da+4;c[G>>2]=ia;if(c[G>>2]|0){c[c[G>>2]>>2]=c[(c[ea>>2]|0)+132>>2];f=99}else f=100;break}case 4031:{da=(c[f>>2]|0)+(4-1)&~(4-1);ia=c[da>>2]|0;c[f>>2]=da+4;c[H>>2]=ia;if(c[H>>2]|0){c[c[H>>2]>>2]=c[(c[ea>>2]|0)+18216>>2];f=99}else f=100;break}case 4036:{da=(c[f>>2]|0)+(4-1)&~(4-1);ia=c[da>>2]|0;c[f>>2]=da+4;c[I>>2]=ia;if((c[I>>2]|0)<8|(c[I>>2]|0)>24)f=100;else{c[(c[ea>>2]|0)+156>>2]=c[I>>2];f=99}break}case 4037:{da=(c[f>>2]|0)+(4-1)&~(4-1);ia=c[da>>2]|0;c[f>>2]=da+4;c[K>>2]=ia;if(c[K>>2]|0){c[c[K>>2]>>2]=c[(c[ea>>2]|0)+156>>2];f=99}else f=100;break}case 4040:{da=(c[f>>2]|0)+(4-1)&~(4-1);ia=c[da>>2]|0;c[f>>2]=da+4;c[L>>2]=ia;if((c[L>>2]|0)!=5e3&(c[L>>2]|0)!=5001&(c[L>>2]|0)!=5002&(c[L>>2]|0)!=5003&(c[L>>2]|0)!=5004&(c[L>>2]|0)!=5005&(c[L>>2]|0)!=5006&(c[L>>2]|0)!=5010)f=100;else{c[(c[ea>>2]|0)+144>>2]=c[L>>2];f=c[h>>2]|0;c[_>>2]=c[L>>2];lb(f,4040,_)|0;f=99}break}case 4041:{da=(c[f>>2]|0)+(4-1)&~(4-1);ia=c[da>>2]|0;c[f>>2]=da+4;c[M>>2]=ia;if(c[M>>2]|0){c[c[M>>2]>>2]=c[(c[ea>>2]|0)+144>>2];f=99}else f=100;break}case 4042:{da=(c[f>>2]|0)+(4-1)&~(4-1);ia=c[da>>2]|0;c[f>>2]=da+4;c[N>>2]=ia;if((c[N>>2]|0)>1|(c[N>>2]|0)<0)f=100;else{c[(c[ea>>2]|0)+8+64>>2]=c[N>>2];f=99}break}case 4043:{da=(c[f>>2]|0)+(4-1)&~(4-1);ia=c[da>>2]|0;c[f>>2]=da+4;c[O>>2]=ia;if(c[O>>2]|0){c[c[O>>2]>>2]=c[(c[ea>>2]|0)+8+64>>2];f=99}else f=100;break}case 4028:{c[k>>2]=(c[ea>>2]|0)+(c[(c[ea>>2]|0)+4>>2]|0);_i((c[ea>>2]|0)+172|0);c[l>>2]=(c[ea>>2]|0)+14288;oj(c[l>>2]|0,0,18220-((c[l>>2]|0)-(c[ea>>2]|0))|0)|0;lb(c[h>>2]|0,4028,$)|0;Td(c[k>>2]|0,c[(c[ea>>2]|0)+168>>2]|0,j)|0;c[(c[ea>>2]|0)+14288>>2]=c[(c[ea>>2]|0)+100>>2];b[(c[ea>>2]|0)+14292>>1]=16384;g[(c[ea>>2]|0)+14300>>2]=1.0;c[(c[ea>>2]|0)+14344>>2]=1;c[(c[ea>>2]|0)+14320>>2]=1001;c[(c[ea>>2]|0)+14336>>2]=1105;f=(Sf(60)|0)<<8;c[(c[ea>>2]|0)+14296>>2]=f;f=99;break}case 11002:{da=(c[f>>2]|0)+(4-1)&~(4-1);ia=c[da>>2]|0;c[f>>2]=da+4;c[P>>2]=ia;if(((c[P>>2]|0)<1e3|(c[P>>2]|0)>1002)&(c[P>>2]|0)!=-1e3)f=100;else{c[(c[ea>>2]|0)+124>>2]=c[P>>2];f=99}break}case 10024:{da=(c[f>>2]|0)+(4-1)&~(4-1);ia=c[da>>2]|0;c[f>>2]=da+4;c[Q>>2]=ia;c[(c[ea>>2]|0)+164>>2]=c[Q>>2];f=c[h>>2]|0;c[aa>>2]=c[Q>>2];c[ga>>2]=lb(f,10024,aa)|0;f=99;break}case 10026:{da=(c[f>>2]|0)+(4-1)&~(4-1);ia=c[da>>2]|0;c[f>>2]=da+4;c[R>>2]=ia;c[(c[ea>>2]|0)+14348>>2]=c[R>>2];f=c[h>>2]|0;c[ba>>2]=(c[R>>2]|0)+((((c[R>>2]|0)-(c[R>>2]|0)|0)/4|0)<<2);c[ga>>2]=lb(f,10026,ba)|0;f=99;break}case 10015:{ea=(c[f>>2]|0)+(4-1)&~(4-1);ia=c[ea>>2]|0;c[f>>2]=ea+4;c[S>>2]=ia;if(c[S>>2]|0){f=c[h>>2]|0;c[ca>>2]=(c[S>>2]|0)+((((c[S>>2]|0)-(c[S>>2]|0)|0)/4|0)<<2);c[ga>>2]=lb(f,10015,ca)|0;f=99}else f=100;break}default:{c[ga>>2]=-5;f=99}}while(0);if((f|0)==99){c[fa>>2]=c[ga>>2];ia=c[fa>>2]|0;i=ha;return ia|0}else if((f|0)==100){c[fa>>2]=-1;ia=c[fa>>2]|0;i=ha;return ia|0}return 0}function Ti(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;c[(c[b>>2]|0)+4>>2]=0;i=d;return c[b>>2]|0}function Ui(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;a=Vi(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,0)|0;i=e;return a|0}function Vi(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+24|0;j=q+20|0;k=q+16|0;l=q+12|0;m=q+8|0;p=q+28|0;n=q+4|0;o=q;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if((c[l>>2]|0)<1){c[h>>2]=-4;p=c[h>>2]|0;i=q;return p|0}if(c[(c[j>>2]|0)+4>>2]|0){if(((d[c[j>>2]>>0]|0)&252|0)!=((d[c[k>>2]>>0]|0)&252|0)){c[h>>2]=-4;p=c[h>>2]|0;i=q;return p|0}}else{a[c[j>>2]>>0]=a[c[k>>2]>>0]|0;g=Zh(c[k>>2]|0,8e3)|0;c[(c[j>>2]|0)+296>>2]=g}c[n>>2]=pi(c[k>>2]|0,c[l>>2]|0)|0;if((c[n>>2]|0)<1){c[h>>2]=-4;p=c[h>>2]|0;i=q;return p|0}if((_((c[n>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,c[(c[j>>2]|0)+296>>2]|0)|0)>960){c[h>>2]=-4;p=c[h>>2]|0;i=q;return p|0}c[o>>2]=_h(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,p,(c[j>>2]|0)+8+(c[(c[j>>2]|0)+4>>2]<<2)|0,(c[j>>2]|0)+200+(c[(c[j>>2]|0)+4>>2]<<1)|0,0,0)|0;if((c[o>>2]|0)<1){c[h>>2]=c[o>>2];p=c[h>>2]|0;i=q;return p|0}else{p=(c[j>>2]|0)+4|0;c[p>>2]=(c[p>>2]|0)+(c[n>>2]|0);c[h>>2]=0;p=c[h>>2]|0;i=q;return p|0}return 0}function Wi(e,f,g,h,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+80|0;q=F+68|0;o=F+64|0;m=F+60|0;n=F+56|0;r=F+52|0;s=F+48|0;t=F+44|0;u=F+40|0;x=F+36|0;v=F+32|0;D=F+28|0;y=F+24|0;w=F+20|0;B=F+16|0;E=F+12|0;A=F+8|0;z=F+4|0;C=F;c[o>>2]=e;c[m>>2]=f;c[n>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[u>>2]=l;if(((c[m>>2]|0)>=0?(c[m>>2]|0)<(c[n>>2]|0):0)?(c[n>>2]|0)<=(c[(c[o>>2]|0)+4>>2]|0):0){c[v>>2]=(c[n>>2]|0)-(c[m>>2]|0);c[y>>2]=(c[o>>2]|0)+200+(c[m>>2]<<1);c[w>>2]=(c[o>>2]|0)+8+(c[m>>2]<<2);if(c[t>>2]|0)c[D>>2]=1+((b[(c[y>>2]|0)+((c[v>>2]|0)-1<<1)>>1]|0)>=252&1);else c[D>>2]=0;c[B>>2]=c[r>>2];do if((c[v>>2]|0)!=1){if((c[v>>2]|0)==2){m=b[c[y>>2]>>1]|0;if((b[(c[y>>2]|0)+2>>1]|0)==(b[c[y>>2]>>1]|0)){c[D>>2]=(c[D>>2]|0)+((m<<1)+1);if((c[D>>2]|0)<=(c[s>>2]|0)){e=(d[c[o>>2]>>0]&252|1)&255;k=c[B>>2]|0;c[B>>2]=k+1;a[k>>0]=e;break}c[q>>2]=-2;E=c[q>>2]|0;i=F;return E|0}else{c[D>>2]=(c[D>>2]|0)+(m+(b[(c[y>>2]|0)+2>>1]|0)+2+((b[c[y>>2]>>1]|0)>=252&1));if((c[D>>2]|0)<=(c[s>>2]|0)){e=(d[c[o>>2]>>0]&252|2)&255;k=c[B>>2]|0;c[B>>2]=k+1;a[k>>0]=e;k=Yh(b[c[y>>2]>>1]|0,c[B>>2]|0)|0;c[B>>2]=(c[B>>2]|0)+k;break}c[q>>2]=-2;E=c[q>>2]|0;i=F;return E|0}}}else{c[D>>2]=(c[D>>2]|0)+((b[c[y>>2]>>1]|0)+1);if((c[D>>2]|0)<=(c[s>>2]|0)){e=d[c[o>>2]>>0]&252;k=c[B>>2]|0;c[B>>2]=k+1;a[k>>0]=e;break}c[q>>2]=-2;E=c[q>>2]|0;i=F;return E|0}while(0);if((c[v>>2]|0)<=2){if(c[u>>2]|0?(c[D>>2]|0)<(c[s>>2]|0):0)p=23}else p=23;a:do if((p|0)==23){c[A>>2]=0;c[B>>2]=c[r>>2];if(c[t>>2]|0)c[D>>2]=1+((b[(c[y>>2]|0)+((c[v>>2]|0)-1<<1)>>1]|0)>=252&1);else c[D>>2]=0;c[E>>2]=0;c[x>>2]=1;while(1){if((c[x>>2]|0)>=(c[v>>2]|0))break;if((b[(c[y>>2]|0)+(c[x>>2]<<1)>>1]|0)!=(b[c[y>>2]>>1]|0)){p=29;break}c[x>>2]=(c[x>>2]|0)+1}if((p|0)==29)c[E>>2]=1;do if(c[E>>2]|0){c[D>>2]=(c[D>>2]|0)+2;c[x>>2]=0;while(1){if((c[x>>2]|0)>=((c[v>>2]|0)-1|0))break;c[D>>2]=(c[D>>2]|0)+(1+((b[(c[y>>2]|0)+(c[x>>2]<<1)>>1]|0)>=252&1)+(b[(c[y>>2]|0)+(c[x>>2]<<1)>>1]|0));c[x>>2]=(c[x>>2]|0)+1}c[D>>2]=(c[D>>2]|0)+(b[(c[y>>2]|0)+((c[v>>2]|0)-1<<1)>>1]|0);if((c[D>>2]|0)<=(c[s>>2]|0)){p=(d[c[o>>2]>>0]&252|3)&255;o=c[B>>2]|0;c[B>>2]=o+1;a[o>>0]=p;o=(c[v>>2]|128)&255;p=c[B>>2]|0;c[B>>2]=p+1;a[p>>0]=o;break}c[q>>2]=-2;E=c[q>>2]|0;i=F;return E|0}else{p=(_(c[v>>2]|0,b[c[y>>2]>>1]|0)|0)+2|0;c[D>>2]=(c[D>>2]|0)+p;if((c[D>>2]|0)<=(c[s>>2]|0)){p=(d[c[o>>2]>>0]&252|3)&255;o=c[B>>2]|0;c[B>>2]=o+1;a[o>>0]=p;o=c[v>>2]&255;p=c[B>>2]|0;c[B>>2]=p+1;a[p>>0]=o;break}c[q>>2]=-2;E=c[q>>2]|0;i=F;return E|0}while(0);if(c[u>>2]|0)m=(c[s>>2]|0)-(c[D>>2]|0)|0;else m=0;c[A>>2]=m;if(c[A>>2]|0){p=(c[r>>2]|0)+1|0;a[p>>0]=d[p>>0]|64;c[z>>2]=((c[A>>2]|0)-1|0)/255|0;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[z>>2]|0))break;p=c[B>>2]|0;c[B>>2]=p+1;a[p>>0]=-1;c[x>>2]=(c[x>>2]|0)+1}p=(c[A>>2]|0)-((c[z>>2]|0)*255|0)-1&255;z=c[B>>2]|0;c[B>>2]=z+1;a[z>>0]=p;c[D>>2]=(c[D>>2]|0)+(c[A>>2]|0)}if(c[E>>2]|0){c[x>>2]=0;while(1){if((c[x>>2]|0)>=((c[v>>2]|0)-1|0))break a;E=Yh(b[(c[y>>2]|0)+(c[x>>2]<<1)>>1]|0,c[B>>2]|0)|0;c[B>>2]=(c[B>>2]|0)+E;c[x>>2]=(c[x>>2]|0)+1}}}while(0);if(c[t>>2]|0){c[C>>2]=Yh(b[(c[y>>2]|0)+((c[v>>2]|0)-1<<1)>>1]|0,c[B>>2]|0)|0;c[B>>2]=(c[B>>2]|0)+(c[C>>2]|0)}c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[v>>2]|0))break;qj(c[B>>2]|0,c[(c[w>>2]|0)+(c[x>>2]<<2)>>2]|0,(b[(c[y>>2]|0)+(c[x>>2]<<1)>>1]|0)+0|0)|0;c[B>>2]=(c[B>>2]|0)+(b[(c[y>>2]|0)+(c[x>>2]<<1)>>1]|0);c[x>>2]=(c[x>>2]|0)+1}b:do if(c[u>>2]|0)while(1){if((c[B>>2]|0)>>>0>=((c[r>>2]|0)+(c[s>>2]|0)|0)>>>0)break b;E=c[B>>2]|0;c[B>>2]=E+1;a[E>>0]=0}while(0);c[q>>2]=c[D>>2];E=c[q>>2]|0;i=F;return E|0}c[q>>2]=-1;E=c[q>>2]|0;i=F;return E|0}function Xi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+320|0;e=l+316|0;f=l+312|0;g=l+308|0;h=l+304|0;k=l+4|0;j=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if((c[g>>2]|0)<1){c[e>>2]=-1;k=c[e>>2]|0;i=l;return k|0}if((c[g>>2]|0)==(c[h>>2]|0)){c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}if((c[g>>2]|0)>(c[h>>2]|0)){c[e>>2]=-1;k=c[e>>2]|0;i=l;return k|0}Ti(k)|0;qj((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;Ui(k,(c[f>>2]|0)+(c[h>>2]|0)+(0-(c[g>>2]|0))|0,c[g>>2]|0)|0;c[j>>2]=Wi(k,0,c[k+4>>2]|0,c[f>>2]|0,c[h>>2]|0,0,1)|0;if((c[j>>2]|0)>0){c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}else{c[e>>2]=c[j>>2];k=c[e>>2]|0;i=l;return k|0}return 0}function Yi(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Zi()|0;c[c[d>>2]>>2]=a;_i(c[d>>2]|0);i=b;return}function Zi(){return 0}function _i(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=(c[d>>2]|0)+4;oj(c[e>>2]|0,0,14116-((c[e>>2]|0)-(c[d>>2]|0))|0)|0;i=b;return}function $i(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+24|0;j=n+20|0;e=n+16|0;f=n+12|0;k=n+8|0;m=n+4|0;l=n;c[h>>2]=a;c[j>>2]=b;c[e>>2]=d;c[f>>2]=c[(c[h>>2]|0)+8508>>2];c[k>>2]=(c[(c[h>>2]|0)+8504>>2]|0)-(c[(c[h>>2]|0)+8508>>2]|0);if((c[k>>2]|0)<0)c[k>>2]=(c[k>>2]|0)+200;if((c[e>>2]|0)>480?(c[f>>2]|0)!=(c[(c[h>>2]|0)+8504>>2]|0):0){a=(c[f>>2]|0)+1|0;c[f>>2]=a;c[f>>2]=(c[f>>2]|0)==200?0:a}if((c[f>>2]|0)==(c[(c[h>>2]|0)+8504>>2]|0))c[f>>2]=(c[f>>2]|0)+-1;if((c[f>>2]|0)<0)c[f>>2]=199;pj(c[j>>2]|0,(c[h>>2]|0)+8516+((c[f>>2]|0)*28|0)|0,28|0)|0;a=(c[h>>2]|0)+8512|0;c[a>>2]=(c[a>>2]|0)+((c[e>>2]|0)/120|0);while(1){e=c[h>>2]|0;if((c[(c[h>>2]|0)+8512>>2]|0)<4)break;a=e+8512|0;c[a>>2]=(c[a>>2]|0)-4;a=(c[h>>2]|0)+8508|0;c[a>>2]=(c[a>>2]|0)+1}if((c[e+8508>>2]|0)>=200){a=(c[h>>2]|0)+8508|0;c[a>>2]=(c[a>>2]|0)-200}c[k>>2]=((c[k>>2]|0)-10|0)>0?(c[k>>2]|0)-10|0:0;g[m>>2]=0.0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(200-(c[k>>2]|0)|0))break;g[m>>2]=+g[m>>2]+ +g[(c[h>>2]|0)+7688+(c[l>>2]<<2)>>2];c[l>>2]=(c[l>>2]|0)+1}while(1){if((c[l>>2]|0)>=200)break;g[m>>2]=+g[m>>2]+ +g[(c[h>>2]|0)+6888+(c[l>>2]<<2)>>2];c[l>>2]=(c[l>>2]|0)+1}g[m>>2]=+g[m>>2]*+g[(c[h>>2]|0)+8492>>2]+(1.0-+g[m>>2])*+g[(c[h>>2]|0)+8488>>2];g[(c[j>>2]|0)+20>>2]=+g[m>>2];i=n;return}function aj(a,b,d,e,f,g,h,j,k,l,m,n){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+64|0;p=C+52|0;q=C+48|0;t=C+44|0;u=C+40|0;v=C+36|0;w=C+32|0;x=C+28|0;y=C+24|0;o=C+20|0;z=C+16|0;r=C+12|0;s=C+8|0;A=C+4|0;B=C;c[p>>2]=a;c[q>>2]=b;c[t>>2]=d;c[u>>2]=e;c[v>>2]=f;c[w>>2]=g;c[x>>2]=h;c[y>>2]=j;c[o>>2]=k;c[z>>2]=l;c[r>>2]=m;c[s>>2]=n;if(!(c[t>>2]|0)){z=c[s>>2]|0;c[z>>2]=0;z=c[p>>2]|0;A=c[s>>2]|0;B=c[v>>2]|0;$i(z,A,B);i=C;return}if((((c[o>>2]|0)*195|0)/100|0|0)<(c[u>>2]|0))o=((c[o>>2]|0)*195|0)/100|0;else o=c[u>>2]|0;c[u>>2]=o;c[B>>2]=(c[u>>2]|0)-(c[(c[p>>2]|0)+6884>>2]|0);c[A>>2]=c[(c[p>>2]|0)+6884>>2];do{bj(c[p>>2]|0,c[q>>2]|0,c[t>>2]|0,480<(c[B>>2]|0)?480:c[B>>2]|0,c[A>>2]|0,c[w>>2]|0,c[x>>2]|0,c[y>>2]|0,c[z>>2]|0,c[r>>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[u>>2];z=(c[p>>2]|0)+6884|0;c[z>>2]=(c[z>>2]|0)-(c[v>>2]|0);z=c[s>>2]|0;c[z>>2]=0;z=c[p>>2]|0;A=c[s>>2]|0;B=c[v>>2]|0;$i(z,A,B);i=C;return} function bj(a,b,d,e,f,h,j,k,l,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|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,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,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=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,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=i;i=i+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;V=Xa+10148|0;v=Xa+10144|0;Fa=Xa+10140|0;sa=Xa+10136|0;Q=Xa+10132|0;ha=Xa+10128|0;x=Xa+10124|0;w=Xa+10120|0;I=Xa+10116|0;F=Xa+10112|0;_=Xa+10040|0;ua=Xa+9968|0;ya=Xa+9936|0;Aa=Xa+9836|0;Ca=Xa+9832|0;va=Xa+9828|0;Va=Xa+9824|0;Da=Xa+9816|0;Ba=Xa+9812|0;wa=Xa+9808|0;Ra=Xa+9800|0;za=Xa+9796|0;ra=Xa+9792|0;ia=Xa+9788|0;ta=Xa+9784|0;la=Xa+9780|0;Ua=Xa+9776|0;na=Xa+9772|0;oa=Xa+9768|0;T=Xa+9764|0;Wa=Xa+9760|0;L=Xa+5920|0;pa=Xa+2080|0;ea=Xa+1120|0;ba=Xa+160|0;U=Xa+152|0;z=Xa+148|0;B=Xa+144|0;y=Xa+140|0;A=Xa+136|0;C=Xa+132|0;J=Xa+128|0;G=Xa+124|0;D=Xa+120|0;K=Xa+116|0;H=Xa+112|0;R=Xa+108|0;S=Xa+104|0;E=Xa+100|0;W=Xa+96|0;da=Xa+92|0;aa=Xa+88|0;X=Xa+84|0;Z=Xa+80|0;ca=Xa+76|0;$=Xa+72|0;ga=Xa+68|0;ka=Xa+64|0;ja=Xa+60|0;ma=Xa+56|0;xa=Xa+52|0;Pa=Xa+48|0;Ea=Xa+44|0;Ja=Xa+40|0;Ka=Xa+36|0;Na=Xa+32|0;Ga=Xa+28|0;La=Xa+24|0;Oa=Xa+20|0;Ha=Xa+16|0;Ia=Xa+12|0;Ma=Xa+8|0;Qa=Xa+4|0;Ta=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]=j;c[u>>2]=k;c[V>>2]=l;c[v>>2]=m;c[ha>>2]=480;c[x>>2]=240;c[w>>2]=(c[Sa>>2]|0)+4;c[I>>2]=(c[Sa>>2]|0)+964;c[F>>2]=(c[Sa>>2]|0)+1924;g[Xa+9820>>2]=97.40908813476562;g[Da>>2]=0.0;c[Ua>>2]=0;g[na>>2]=0.0;d=(c[Sa>>2]|0)+6864|0;c[d>>2]=(c[d>>2]|0)+1;if(20<(1+(c[(c[Sa>>2]|0)+6868>>2]|0)|0))k=20;else k=1+(c[(c[Sa>>2]|0)+6868>>2]|0)|0;g[za>>2]=1.0/+(k|0);if(50<(1+(c[(c[Sa>>2]|0)+6868>>2]|0)|0))k=50;else k=1+(c[(c[Sa>>2]|0)+6868>>2]|0)|0;g[ra>>2]=1.0/+(k|0);if(1e3<(1+(c[(c[Sa>>2]|0)+6868>>2]|0)|0))k=1e3;else k=1+(c[(c[Sa>>2]|0)+6868>>2]|0)|0;g[ia>>2]=1.0/+(k|0);if((c[(c[Sa>>2]|0)+6868>>2]|0)<4)g[(c[Sa>>2]|0)+6844>>2]=.5;c[Q>>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))k=c[q>>2]|0;else k=720-(c[(c[Sa>>2]|0)+5764>>2]|0)|0;qa[c[v>>2]&3](c[p>>2]|0,(c[Sa>>2]|0)+2884+(c[(c[Sa>>2]|0)+5764>>2]<<2)|0,k,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);i=Xa;return}d=(c[Sa>>2]|0)+8504|0;o=c[d>>2]|0;c[d>>2]=o+1;c[Wa>>2]=(c[Sa>>2]|0)+8516+(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[Fa>>2]=0;while(1){if((c[Fa>>2]|0)>=(c[x>>2]|0))break;g[U>>2]=+g[18176+(c[Fa>>2]<<2)>>2];g[L+(c[Fa>>2]<<3)>>2]=+g[U>>2]*+g[(c[Sa>>2]|0)+2884+(c[Fa>>2]<<2)>>2];g[L+(c[Fa>>2]<<3)+4>>2]=+g[U>>2]*+g[(c[Sa>>2]|0)+2884+((c[x>>2]|0)+(c[Fa>>2]|0)<<2)>>2];g[L+((c[ha>>2]|0)-(c[Fa>>2]|0)-1<<3)>>2]=+g[U>>2]*+g[(c[Sa>>2]|0)+2884+((c[ha>>2]|0)-(c[Fa>>2]|0)-1<<2)>>2];g[L+((c[ha>>2]|0)-(c[Fa>>2]|0)-1<<3)+4>>2]=+g[U>>2]*+g[(c[Sa>>2]|0)+2884+((c[ha>>2]|0)+(c[x>>2]|0)-(c[Fa>>2]|0)-1<<2)>>2];c[Fa>>2]=(c[Fa>>2]|0)+1}qj((c[Sa>>2]|0)+2884|0,(c[Sa>>2]|0)+2884+2880+-960|0,960|0)|0;c[T>>2]=(c[q>>2]|0)-(720-(c[(c[Sa>>2]|0)+5764>>2]|0));qa[c[v>>2]&3](c[p>>2]|0,(c[Sa>>2]|0)+2884+960|0,c[T>>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[T>>2]|0);Cc(c[Q>>2]|0,L,pa);if(+g[pa>>2]!=+g[pa>>2]){c[c[Wa>>2]>>2]=0;i=Xa;return}c[Fa>>2]=1;while(1){if((c[Fa>>2]|0)>=(c[x>>2]|0))break;g[z>>2]=+g[pa+(c[Fa>>2]<<3)>>2]+ +g[pa+((c[ha>>2]|0)-(c[Fa>>2]|0)<<3)>>2];g[y>>2]=+g[pa+(c[Fa>>2]<<3)+4>>2]-+g[pa+((c[ha>>2]|0)-(c[Fa>>2]|0)<<3)+4>>2];g[B>>2]=+g[pa+(c[Fa>>2]<<3)+4>>2]+ +g[pa+((c[ha>>2]|0)-(c[Fa>>2]|0)<<3)+4>>2];g[A>>2]=+g[pa+((c[ha>>2]|0)-(c[Fa>>2]|0)<<3)>>2]-+g[pa+(c[Fa>>2]<<3)>>2];g[C>>2]=+cj(+g[y>>2],+g[z>>2])*.15915493667125702;g[J>>2]=+g[C>>2]-+g[(c[w>>2]|0)+(c[Fa>>2]<<2)>>2];g[G>>2]=+g[J>>2]-+g[(c[I>>2]|0)+(c[Fa>>2]<<2)>>2];g[D>>2]=+cj(+g[A>>2],+g[B>>2])*.15915493667125702;g[K>>2]=+g[D>>2]-+g[C>>2];g[H>>2]=+g[K>>2]-+g[J>>2];g[R>>2]=+g[G>>2]-+M(+(+g[G>>2]+.5));n=+N(+(+g[R>>2]));g[ba+(c[Fa>>2]<<2)>>2]=n;g[R>>2]=+g[R>>2]*+g[R>>2];g[R>>2]=+g[R>>2]*+g[R>>2];g[S>>2]=+g[H>>2]-+M(+(+g[H>>2]+.5));n=+N(+(+g[S>>2]));U=ba+(c[Fa>>2]<<2)|0;g[U>>2]=+g[U>>2]+n;g[S>>2]=+g[S>>2]*+g[S>>2];g[S>>2]=+g[S>>2]*+g[S>>2];g[E>>2]=(+g[(c[F>>2]|0)+(c[Fa>>2]<<2)>>2]+ +g[R>>2]*2.0+ +g[S>>2])*.25;g[ea+(c[Fa>>2]<<2)>>2]=1.0/(+g[E>>2]*62341.81640625+1.0)-.014999999664723873;g[(c[w>>2]|0)+(c[Fa>>2]<<2)>>2]=+g[D>>2];g[(c[I>>2]|0)+(c[Fa>>2]<<2)>>2]=+g[K>>2];g[(c[F>>2]|0)+(c[Fa>>2]<<2)>>2]=+g[S>>2];c[Fa>>2]=(c[Fa>>2]|0)+1}g[Ca>>2]=0.0;g[va>>2]=0.0;g[(c[Wa>>2]|0)+16>>2]=0.0;g[Va>>2]=0.0;g[Ba>>2]=0.0;a:do if(!(c[(c[Sa>>2]|0)+6868>>2]|0)){c[sa>>2]=0;while(1){if((c[sa>>2]|0)>=18)break a;g[(c[Sa>>2]|0)+6420+(c[sa>>2]<<2)>>2]=1.0e10;g[(c[Sa>>2]|0)+6492+(c[sa>>2]<<2)>>2]=-1.0e10;c[sa>>2]=(c[sa>>2]|0)+1}}while(0);g[wa>>2]=0.0;g[ta>>2]=0.0;c[sa>>2]=0;while(1){if((c[sa>>2]|0)>=18)break;g[W>>2]=0.0;g[da>>2]=0.0;g[aa>>2]=0.0;c[Fa>>2]=c[19136+(c[sa>>2]<<2)>>2];while(1){if((c[Fa>>2]|0)>=(c[19136+((c[sa>>2]|0)+1<<2)>>2]|0))break;g[$>>2]=+g[pa+(c[Fa>>2]<<3)>>2]*+g[pa+(c[Fa>>2]<<3)>>2]+ +g[pa+((c[ha>>2]|0)-(c[Fa>>2]|0)<<3)>>2]*+g[pa+((c[ha>>2]|0)-(c[Fa>>2]|0)<<3)>>2]+ +g[pa+(c[Fa>>2]<<3)+4>>2]*+g[pa+(c[Fa>>2]<<3)+4>>2]+ +g[pa+((c[ha>>2]|0)-(c[Fa>>2]|0)<<3)+4>>2]*+g[pa+((c[ha>>2]|0)-(c[Fa>>2]|0)<<3)+4>>2];g[W>>2]=+g[W>>2]+ +g[$>>2];g[da>>2]=+g[da>>2]+ +g[$>>2]*+g[ea+(c[Fa>>2]<<2)>>2];g[aa>>2]=+g[aa>>2]+ +g[$>>2]*2.0*(.5-+g[ba+(c[Fa>>2]<<2)>>2]);c[Fa>>2]=(c[Fa>>2]|0)+1}if(!(+g[W>>2]<1.0e9)){fa=37;break}if(+g[W>>2]!=+g[W>>2]){fa=37;break}g[(c[Sa>>2]|0)+5844+((c[(c[Sa>>2]|0)+6856>>2]|0)*72|0)+(c[sa>>2]<<2)>>2]=+g[W>>2];g[Va>>2]=+g[Va>>2]+ +g[aa>>2]/(+g[W>>2]+1.0000000036274937e-15);n=+O(+(+g[W>>2]+1.000000013351432e-10));g[ta>>2]=+g[ta>>2]+n;n=+Y(+(+g[W>>2]+1.000000013351432e-10));g[ua+(c[sa>>2]<<2)>>2]=n;k=c[sa>>2]|0;if(+g[ua+(c[sa>>2]<<2)>>2]<+g[(c[Sa>>2]|0)+6420+(c[sa>>2]<<2)>>2]+.009999999776482582)n=+g[ua+(k<<2)>>2];else n=+g[(c[Sa>>2]|0)+6420+(k<<2)>>2]+.009999999776482582;g[(c[Sa>>2]|0)+6420+(c[sa>>2]<<2)>>2]=n;k=c[sa>>2]|0;if(+g[ua+(c[sa>>2]<<2)>>2]>+g[(c[Sa>>2]|0)+6492+(c[sa>>2]<<2)>>2]-.10000000149011612)n=+g[ua+(k<<2)>>2];else n=+g[(c[Sa>>2]|0)+6492+(k<<2)>>2]-.10000000149011612;g[(c[Sa>>2]|0)+6492+(c[sa>>2]<<2)>>2]=n;if(+g[(c[Sa>>2]|0)+6492+(c[sa>>2]<<2)>>2]<+g[(c[Sa>>2]|0)+6420+(c[sa>>2]<<2)>>2]+1.0){U=(c[Sa>>2]|0)+6492+(c[sa>>2]<<2)|0;g[U>>2]=+g[U>>2]+.5;U=(c[Sa>>2]|0)+6420+(c[sa>>2]<<2)|0;g[U>>2]=+g[U>>2]-.5}g[wa>>2]=+g[wa>>2]+(+g[ua+(c[sa>>2]<<2)>>2]-+g[(c[Sa>>2]|0)+6420+(c[sa>>2]<<2)>>2])/(+g[(c[Sa>>2]|0)+6492+(c[sa>>2]<<2)>>2]+1.0000000036274937e-15-+g[(c[Sa>>2]|0)+6420+(c[sa>>2]<<2)>>2]);g[Z>>2]=0.0;g[X>>2]=0.0;c[Fa>>2]=0;while(1){if((c[Fa>>2]|0)>=8)break;n=+O(+(+g[(c[Sa>>2]|0)+5844+((c[Fa>>2]|0)*72|0)+(c[sa>>2]<<2)>>2]));g[X>>2]=+g[X>>2]+n;g[Z>>2]=+g[Z>>2]+ +g[(c[Sa>>2]|0)+5844+((c[Fa>>2]|0)*72|0)+(c[sa>>2]<<2)>>2];c[Fa>>2]=(c[Fa>>2]|0)+1}if(.9900000095367432<+g[X>>2]/+O(+(+g[Z>>2]*8.0+1.0e-15)))n=.9900000095367432;else n=+g[X>>2]/+O(+(+g[Z>>2]*8.0+1.0e-15));g[ca>>2]=n;g[ca>>2]=+g[ca>>2]*+g[ca>>2];g[ca>>2]=+g[ca>>2]*+g[ca>>2];g[Ba>>2]=+g[Ba>>2]+ +g[ca>>2];if(+g[da>>2]/(+g[W>>2]+1.0000000036274937e-15)>+g[ca>>2]*+g[(c[Sa>>2]|0)+5768+(c[sa>>2]<<2)>>2])n=+g[da>>2]/(+g[W>>2]+1.0000000036274937e-15);else n=+g[ca>>2]*+g[(c[Sa>>2]|0)+5768+(c[sa>>2]<<2)>>2];g[_+(c[sa>>2]<<2)>>2]=n;g[Ca>>2]=+g[Ca>>2]+ +g[_+(c[sa>>2]<<2)>>2];if((c[sa>>2]|0)>=9)g[Ca>>2]=+g[Ca>>2]-+g[_+((c[sa>>2]|0)-18+9<<2)>>2];if(+g[va>>2]>(+((c[sa>>2]|0)-18|0)*.029999999329447746+1.0)*+g[Ca>>2])n=+g[va>>2];else n=(+((c[sa>>2]|0)-18|0)*.029999999329447746+1.0)*+g[Ca>>2];g[va>>2]=n;g[Da>>2]=+g[Da>>2]+ +g[_+(c[sa>>2]<<2)>>2]*+((c[sa>>2]|0)-8|0);g[(c[Sa>>2]|0)+5768+(c[sa>>2]<<2)>>2]=+g[_+(c[sa>>2]<<2)>>2];c[sa>>2]=(c[sa>>2]|0)+1}if((fa|0)==37){c[c[Wa>>2]>>2]=0;i=Xa;return}g[la>>2]=0.0;c[Ua>>2]=0;g[na>>2]=0.0;g[oa>>2]=5.699999746866524e-04/+(1<<(0>((c[V>>2]|0)-8|0)?0:(c[V>>2]|0)-8|0)|0);g[oa>>2]=+g[oa>>2]*+g[oa>>2];c[sa>>2]=0;while(1){if((c[sa>>2]|0)>=21)break;g[ga>>2]=0.0;c[ka>>2]=c[19212+(c[sa>>2]<<2)>>2];c[ja>>2]=c[19212+((c[sa>>2]|0)+1<<2)>>2];c[Fa>>2]=c[ka>>2];while(1){if((c[Fa>>2]|0)>=(c[ja>>2]|0))break;g[ma>>2]=+g[pa+(c[Fa>>2]<<3)>>2]*+g[pa+(c[Fa>>2]<<3)>>2]+ +g[pa+((c[ha>>2]|0)-(c[Fa>>2]|0)<<3)>>2]*+g[pa+((c[ha>>2]|0)-(c[Fa>>2]|0)<<3)>>2]+ +g[pa+(c[Fa>>2]<<3)+4>>2]*+g[pa+(c[Fa>>2]<<3)+4>>2]+ +g[pa+((c[ha>>2]|0)-(c[Fa>>2]|0)<<3)+4>>2]*+g[pa+((c[ha>>2]|0)-(c[Fa>>2]|0)<<3)+4>>2];g[ga>>2]=+g[ga>>2]+ +g[ma>>2];c[Fa>>2]=(c[Fa>>2]|0)+1}g[na>>2]=+g[na>>2]>+g[ga>>2]?+g[na>>2]:+g[ga>>2];if((1.0-+g[ia>>2])*+g[(c[Sa>>2]|0)+6564+(c[sa>>2]<<2)>>2]>+g[ga>>2])n=(1.0-+g[ia>>2])*+g[(c[Sa>>2]|0)+6564+(c[sa>>2]<<2)>>2];else n=+g[ga>>2];g[(c[Sa>>2]|0)+6564+(c[sa>>2]<<2)>>2]=n;if(+g[ga>>2]>+g[(c[Sa>>2]|0)+6564+(c[sa>>2]<<2)>>2])n=+g[ga>>2];else n=+g[(c[Sa>>2]|0)+6564+(c[sa>>2]<<2)>>2];g[ga>>2]=n;g[la>>2]=+g[la>>2]*.05000000074505806>+g[ga>>2]?+g[la>>2]*.05000000074505806:+g[ga>>2];if((+g[ga>>2]>+g[la>>2]*.1?+g[ga>>2]*1.0e9>+g[na>>2]:0)?+g[ga>>2]>+g[oa>>2]*+((c[ja>>2]|0)-(c[ka>>2]|0)|0):0)c[Ua>>2]=c[sa>>2];c[sa>>2]=(c[sa>>2]|0)+1}if((c[(c[Sa>>2]|0)+6868>>2]|0)<=2)c[Ua>>2]=20;g[ta>>2]=+hj(+g[ta>>2])*20.0;if(+g[(c[Sa>>2]|0)+6848>>2]-.029999999329447746>+g[ta>>2])n=+g[(c[Sa>>2]|0)+6848>>2]-.029999999329447746;else n=+g[ta>>2];g[(c[Sa>>2]|0)+6848>>2]=n;pa=(c[Sa>>2]|0)+6852|0;g[pa>>2]=+g[pa>>2]*(1.0-+g[ra>>2]);if(+g[ta>>2]<+g[(c[Sa>>2]|0)+6848>>2]-30.0){ta=(c[Sa>>2]|0)+6852|0;g[ta>>2]=+g[ta>>2]+ +g[ra>>2]}c[Fa>>2]=0;while(1){if((c[Fa>>2]|0)>=8)break;g[xa>>2]=0.0;c[sa>>2]=0;while(1){if((c[sa>>2]|0)>=16)break;g[xa>>2]=+g[xa>>2]+ +g[19300+((c[Fa>>2]<<4)+(c[sa>>2]|0)<<2)>>2]*+g[ua+(c[sa>>2]<<2)>>2];c[sa>>2]=(c[sa>>2]|0)+1}g[ya+(c[Fa>>2]<<2)>>2]=+g[xa>>2];c[Fa>>2]=(c[Fa>>2]|0)+1}g[Ba>>2]=+g[Ba>>2]/18.0;n=+g[wa>>2]/18.0;g[wa>>2]=n;g[wa>>2]=(c[(c[Sa>>2]|0)+6868>>2]|0)<10?.5:n;g[Va>>2]=+g[Va>>2]/18.0;g[(c[Wa>>2]|0)+16>>2]=+g[Va>>2]+(1.0-+g[Va>>2])*+g[wa>>2];g[Ca>>2]=+g[va>>2]/9.0;if(+g[Ca>>2]>+g[(c[Sa>>2]|0)+5840>>2]*.800000011920929)n=+g[Ca>>2];else n=+g[(c[Sa>>2]|0)+5840>>2]*.800000011920929;g[Ca>>2]=n;g[(c[Sa>>2]|0)+5840>>2]=+g[Ca>>2];g[Da>>2]=+g[Da>>2]/64.0;g[(c[Wa>>2]|0)+8>>2]=+g[Da>>2];c[(c[Sa>>2]|0)+6856>>2]=((c[(c[Sa>>2]|0)+6856>>2]|0)+1|0)%8|0;Da=(c[Sa>>2]|0)+6868|0;c[Da>>2]=(c[Da>>2]|0)+1;g[(c[Wa>>2]|0)+4>>2]=+g[Ca>>2];c[Fa>>2]=0;while(1){if((c[Fa>>2]|0)>=4)break;g[Aa+(c[Fa>>2]<<2)>>2]=(+g[ya+(c[Fa>>2]<<2)>>2]+ +g[(c[Sa>>2]|0)+6648+((c[Fa>>2]|0)+24<<2)>>2])*-.12298999726772308+(+g[(c[Sa>>2]|0)+6648+(c[Fa>>2]<<2)>>2]+ +g[(c[Sa>>2]|0)+6648+((c[Fa>>2]|0)+16<<2)>>2])*.49195000529289246+ +g[(c[Sa>>2]|0)+6648+((c[Fa>>2]|0)+8<<2)>>2]*.6969299912452698-+g[(c[Sa>>2]|0)+6776+(c[Fa>>2]<<2)>>2]*1.4349000453948975;c[Fa>>2]=(c[Fa>>2]|0)+1}c[Fa>>2]=0;while(1){if((c[Fa>>2]|0)>=4)break;g[(c[Sa>>2]|0)+6776+(c[Fa>>2]<<2)>>2]=(1.0-+g[za>>2])*+g[(c[Sa>>2]|0)+6776+(c[Fa>>2]<<2)>>2]+ +g[za>>2]*+g[ya+(c[Fa>>2]<<2)>>2];c[Fa>>2]=(c[Fa>>2]|0)+1}c[Fa>>2]=0;while(1){if((c[Fa>>2]|0)>=4)break;g[Aa+(4+(c[Fa>>2]|0)<<2)>>2]=(+g[ya+(c[Fa>>2]<<2)>>2]-+g[(c[Sa>>2]|0)+6648+((c[Fa>>2]|0)+24<<2)>>2])*.6324599981307983+(+g[(c[Sa>>2]|0)+6648+(c[Fa>>2]<<2)>>2]-+g[(c[Sa>>2]|0)+6648+((c[Fa>>2]|0)+16<<2)>>2])*.31622999906539917;c[Fa>>2]=(c[Fa>>2]|0)+1}c[Fa>>2]=0;while(1){if((c[Fa>>2]|0)>=3)break;g[Aa+(8+(c[Fa>>2]|0)<<2)>>2]=(+g[ya+(c[Fa>>2]<<2)>>2]+ +g[(c[Sa>>2]|0)+6648+((c[Fa>>2]|0)+24<<2)>>2])*.5345199704170227-(+g[(c[Sa>>2]|0)+6648+(c[Fa>>2]<<2)>>2]+ +g[(c[Sa>>2]|0)+6648+((c[Fa>>2]|0)+16<<2)>>2])*.26725998520851135-+g[(c[Sa>>2]|0)+6648+((c[Fa>>2]|0)+8<<2)>>2]*.5345199704170227;c[Fa>>2]=(c[Fa>>2]|0)+1}b:do if((c[(c[Sa>>2]|0)+6868>>2]|0)>5){c[Fa>>2]=0;while(1){if((c[Fa>>2]|0)>=9)break b;g[(c[Sa>>2]|0)+6808+(c[Fa>>2]<<2)>>2]=(1.0-+g[za>>2])*+g[(c[Sa>>2]|0)+6808+(c[Fa>>2]<<2)>>2]+ +g[za>>2]*+g[Aa+(c[Fa>>2]<<2)>>2]*+g[Aa+(c[Fa>>2]<<2)>>2];c[Fa>>2]=(c[Fa>>2]|0)+1}}while(0);c[Fa>>2]=0;while(1){if((c[Fa>>2]|0)>=8)break;g[(c[Sa>>2]|0)+6648+((c[Fa>>2]|0)+24<<2)>>2]=+g[(c[Sa>>2]|0)+6648+((c[Fa>>2]|0)+16<<2)>>2];g[(c[Sa>>2]|0)+6648+((c[Fa>>2]|0)+16<<2)>>2]=+g[(c[Sa>>2]|0)+6648+((c[Fa>>2]|0)+8<<2)>>2];g[(c[Sa>>2]|0)+6648+((c[Fa>>2]|0)+8<<2)>>2]=+g[(c[Sa>>2]|0)+6648+(c[Fa>>2]<<2)>>2];g[(c[Sa>>2]|0)+6648+(c[Fa>>2]<<2)>>2]=+g[ya+(c[Fa>>2]<<2)>>2];c[Fa>>2]=(c[Fa>>2]|0)+1}c[Fa>>2]=0;while(1){if((c[Fa>>2]|0)>=9)break;n=+O(+(+g[(c[Sa>>2]|0)+6808+(c[Fa>>2]<<2)>>2]));g[Aa+(11+(c[Fa>>2]|0)<<2)>>2]=n;c[Fa>>2]=(c[Fa>>2]|0)+1}g[Aa+80>>2]=+g[(c[Wa>>2]|0)+4>>2];g[Aa+84>>2]=+g[(c[Wa>>2]|0)+16>>2];g[Aa+88>>2]=+g[Ba>>2];g[Aa+92>>2]=+g[(c[Wa>>2]|0)+8>>2];g[Aa+96>>2]=+g[(c[Sa>>2]|0)+6852>>2];dj(20616,Aa,Ra);g[Ra>>2]=(+g[Ra>>2]+1.0)*.5;g[Ra>>2]=+g[Ra>>2]*1.2100000381469727*+g[Ra>>2]+.009999999776482582-+P(+(+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[Pa>>2]=+g[Ra+4>>2]*4.999999873689376e-05;g[Ea>>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[Ia>>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[Ma>>2]=n;n=+N(+(+g[Ia>>2]-+g[Ma>>2]))*.05000000074505806;g[Ea>>2]=n/(+g[Ia>>2]*(1.0-+g[Ma>>2])+ +g[Ma>>2]*(1.0-+g[Ia>>2]))+.009999999776482582;g[Ja>>2]=(1.0-+g[(c[Sa>>2]|0)+6844>>2])*(1.0-+g[Pa>>2])+ +g[(c[Sa>>2]|0)+6844>>2]*+g[Pa>>2];g[Ka>>2]=+g[(c[Sa>>2]|0)+6844>>2]*(1.0-+g[Pa>>2])+(1.0-+g[(c[Sa>>2]|0)+6844>>2])*+g[Pa>>2];n=+P(+(1.0-+g[Ra>>2]),+(+g[Ea>>2]));g[Ja>>2]=+g[Ja>>2]*n;n=+P(+(+g[Ra>>2]),+(+g[Ea>>2]));g[Ka>>2]=+g[Ka>>2]*n;g[(c[Sa>>2]|0)+6844>>2]=+g[Ka>>2]/(+g[Ja>>2]+ +g[Ka>>2]);g[(c[Wa>>2]|0)+20>>2]=+g[(c[Sa>>2]|0)+6844>>2];g[La>>2]=9.999999682655225e-21;g[Oa>>2]=+P(+(1.0-+g[Ra>>2]),+(+g[Ea>>2]));g[Ha>>2]=+P(+(+g[Ra>>2]),+(+g[Ea>>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[Na>>2]=+g[(c[Sa>>2]|0)+6888>>2]+ +g[(c[Sa>>2]|0)+6888+4>>2];g[Ga>>2]=+g[(c[Sa>>2]|0)+7688>>2]+ +g[(c[Sa>>2]|0)+7688+4>>2];g[(c[Sa>>2]|0)+6888>>2]=+g[Na>>2]*(1.0-+g[Pa>>2])*+g[Oa>>2];g[(c[Sa>>2]|0)+7688>>2]=+g[Ga>>2]*(1.0-+g[Pa>>2])*+g[Ha>>2];c[Fa>>2]=1;while(1){if((c[Fa>>2]|0)>=199)break;g[(c[Sa>>2]|0)+6888+(c[Fa>>2]<<2)>>2]=+g[(c[Sa>>2]|0)+6888+((c[Fa>>2]|0)+1<<2)>>2]*+g[Oa>>2];g[(c[Sa>>2]|0)+7688+(c[Fa>>2]<<2)>>2]=+g[(c[Sa>>2]|0)+7688+((c[Fa>>2]|0)+1<<2)>>2]*+g[Ha>>2];c[Fa>>2]=(c[Fa>>2]|0)+1}g[(c[Sa>>2]|0)+6888+796>>2]=+g[Ga>>2]*+g[Pa>>2]*+g[Oa>>2];g[(c[Sa>>2]|0)+7688+796>>2]=+g[Na>>2]*+g[Pa>>2]*+g[Ha>>2];c[Fa>>2]=0;while(1){if((c[Fa>>2]|0)>=200)break;g[La>>2]=+g[La>>2]+(+g[(c[Sa>>2]|0)+6888+(c[Fa>>2]<<2)>>2]+ +g[(c[Sa>>2]|0)+7688+(c[Fa>>2]<<2)>>2]);c[Fa>>2]=(c[Fa>>2]|0)+1}g[La>>2]=1.0/+g[La>>2];c[Fa>>2]=0;while(1){if((c[Fa>>2]|0)>=200)break;Pa=(c[Sa>>2]|0)+6888+(c[Fa>>2]<<2)|0;g[Pa>>2]=+g[Pa>>2]*+g[La>>2];Pa=(c[Sa>>2]|0)+7688+(c[Fa>>2]<<2)|0;g[Pa>>2]=+g[Pa>>2]*+g[La>>2];c[Fa>>2]=(c[Fa>>2]|0)+1}g[La>>2]=+g[(c[Sa>>2]|0)+7688>>2];c[Fa>>2]=1;while(1){if((c[Fa>>2]|0)>=200)break;g[La>>2]=+g[La>>2]+ +g[(c[Sa>>2]|0)+6888+(c[Fa>>2]<<2)>>2];c[Fa>>2]=(c[Fa>>2]|0)+1}k=c[Sa>>2]|0;do if(+g[Ra+4>>2]>.75){if(+g[k+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)k=c[(c[Sa>>2]|0)+8500>>2]|0;else k=500;c[(c[Sa>>2]|0)+8500>>2]=k;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[Ta>>2]=1.0/+(Qa|0);if((c[(c[Sa>>2]|0)+8496>>2]|0)<500)k=c[(c[Sa>>2]|0)+8496>>2]|0;else k=500;c[(c[Sa>>2]|0)+8496>>2]=k;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[Ta>>2]*n}else{if(!(c[k+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[Wa>>2]|0)+24>>2]=c[Ua>>2];g[(c[Wa>>2]|0)+12>>2]=+g[Va>>2];c[c[Wa>>2]>>2]=1;i=Xa;return}function cj(a,b){a=+a;b=+b;var c=0,d=0,e=0,f=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;c=l+24|0;d=l+20|0;e=l+16|0;j=l+12|0;k=l+8|0;f=l+4|0;h=l;g[d>>2]=a;g[e>>2]=b;a=+N(+(+g[e>>2]));if(a+ +N(+(+g[d>>2]))<9.999999717180685e-10){g[e>>2]=+g[e>>2]*999999995904.0;g[d>>2]=+g[d>>2]*999999995904.0}g[j>>2]=+g[e>>2]*+g[e>>2];g[k>>2]=+g[d>>2]*+g[d>>2];if(+g[j>>2]<+g[k>>2]){g[f>>2]=(+g[k>>2]+ +g[j>>2]*.6784840226173401)*(+g[k>>2]+ +g[j>>2]*.0859554186463356);if(+g[f>>2]!=0.0){g[c>>2]=-+g[e>>2]*+g[d>>2]*(+g[k>>2]+ +g[j>>2]*.43157973885536194)/+g[f>>2]+(+g[d>>2]<0.0?-1.5707963705062866:1.5707963705062866);a=+g[c>>2];i=l;return +a}else{g[c>>2]=+g[d>>2]<0.0?-1.5707963705062866:1.5707963705062866;a=+g[c>>2];i=l;return +a}}else{g[h>>2]=(+g[j>>2]+ +g[k>>2]*.6784840226173401)*(+g[j>>2]+ +g[k>>2]*.0859554186463356);if(+g[h>>2]!=0.0){g[c>>2]=+g[e>>2]*+g[d>>2]*(+g[j>>2]+ +g[k>>2]*.43157973885536194)/+g[h>>2]+(+g[d>>2]<0.0?-1.5707963705062866:1.5707963705062866)-(+g[e>>2]*+g[d>>2]<0.0?-1.5707963705062866:1.5707963705062866);a=+g[c>>2];i=l;return +a}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);a=+g[c>>2];i=l;return +a}}return 0.0}function dj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=i;i=i+448|0;k=r+436|0;f=r+432|0;l=r+428|0;o=r+424|0;n=r+24|0;m=r+16|0;h=r+12|0;j=r+8|0;p=r+4|0;q=r;c[k>>2]=a;c[f>>2]=b;c[l>>2]=d;c[m>>2]=c[(c[k>>2]|0)+8>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[(c[(c[k>>2]|0)+4>>2]|0)+4>>2]|0))break;d=c[m>>2]|0;c[m>>2]=d+4;g[j>>2]=+g[d>>2];c[h>>2]=0;while(1){e=+g[j>>2];if((c[h>>2]|0)>=(c[c[(c[k>>2]|0)+4>>2]>>2]|0))break;s=+g[(c[f>>2]|0)+(c[h>>2]<<2)>>2];d=c[m>>2]|0;c[m>>2]=d+4;g[j>>2]=e+s*+g[d>>2];c[h>>2]=(c[h>>2]|0)+1}s=+ej(e);g[n+(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[k>>2]|0)+4>>2]|0)+8>>2]|0))break;j=c[m>>2]|0;c[m>>2]=j+4;g[q>>2]=+g[j>>2];c[p>>2]=0;while(1){e=+g[q>>2];if((c[p>>2]|0)>=(c[(c[(c[k>>2]|0)+4>>2]|0)+4>>2]|0))break;s=+g[n+(c[p>>2]<<2)>>2];j=c[m>>2]|0;c[m>>2]=j+4;g[q>>2]=e+s*+g[j>>2];c[p>>2]=(c[p>>2]|0)+1}s=+ej(e);g[(c[l>>2]|0)+(c[o>>2]<<2)>>2]=s;c[o>>2]=(c[o>>2]|0)+1}i=r;return}function ej(a){a=+a;var b=0,d=0,e=0,f=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+20|0;d=k+16|0;f=k+12|0;j=k+8|0;e=k+4|0;h=k;g[d>>2]=a;g[h>>2]=1.0;if(!(+g[d>>2]<8.0)){g[b>>2]=1.0;a=+g[b>>2];i=k;return +a}if(!(+g[d>>2]>-8.0)){g[b>>2]=-1.0;a=+g[b>>2];i=k;return +a}if(+g[d>>2]!=+g[d>>2]){g[b>>2]=0.0;a=+g[b>>2];i=k;return +a}if(+g[d>>2]<0.0){g[d>>2]=-+g[d>>2];g[h>>2]=-1.0}c[f>>2]=~~+M(+(+g[d>>2]*25.0+.5));g[d>>2]=+g[d>>2]-+(c[f>>2]|0)*.03999999910593033;g[j>>2]=+g[19812+(c[f>>2]<<2)>>2];g[e>>2]=1.0-+g[j>>2]*+g[j>>2];g[j>>2]=+g[j>>2]+ +g[d>>2]*+g[e>>2]*(1.0-+g[j>>2]*+g[d>>2]);g[b>>2]=+g[h>>2]*+g[j>>2];a=+g[b>>2];i=k;return +a}function fj(){var a=0;if(!(c[7632]|0))a=30572;else a=c[(fa()|0)+64>>2]|0;return a|0}function gj(a){a=+a;var b=0;b=(g[k>>2]=a,c[k>>2]|0);if((b&2130706432)>>>0<=1249902592){b=(b|0)<0;a=b?a+-8388608.0+8388608.0:a+8388608.0+-8388608.0;if(a==0.0)a=b?-0.0:0.0}return +a}function hj(a){a=+a;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,j=0.0,l=0.0,m=0.0;h[k>>3]=a;d=c[k>>2]|0;b=c[k+4>>2]|0;e=(b|0)<0;do if(e|b>>>0<1048576){g=+N(+a);h[k>>3]=g;if((c[k>>2]|0)==0&(c[k+4>>2]|0)==0){a=-1.0/(a*a);break}if(e){a=(a-a)/0.0;break}else{h[k>>3]=a*18014398509481984.0;b=c[k+4>>2]|0;e=c[k>>2]|0;d=-1077;f=9;break}}else if(b>>>0<=2146435071)if((d|0)==0&0==0&(b|0)==1072693248)a=0.0;else{e=d;d=-1023;f=9}while(0);if((f|0)==9){f=b+614242|0;c[k>>2]=e;c[k+4>>2]=(f&1048575)+1072079006;j=+h[k>>3]+-1.0;i=j*(j*.5);l=j/(j+2.0);m=l*l;a=m*m;h[k>>3]=j-i;e=c[k+4>>2]|0;c[k>>2]=0;c[k+4>>2]=e;g=+h[k>>3];a=j-g-i+l*(i+(a*(a*(a*.15313837699209373+.22222198432149784)+.3999999999940942)+m*(a*(a*(a*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));m=g*.4342944818781689;i=+(d+(f>>>20)|0);l=i*.30102999566361177;j=l+m;a=j+(m+(l-j)+(a*.4342944818781689+(i*3.694239077158931e-13+(g+a)*2.5082946711645275e-11)))}return +a}function ij(a){a=+a;return ~~+gj(a)|0}function jj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;do if(a>>>0<245){o=a>>>0<11?16:a+11&-8;a=o>>>3;j=c[7644]|0;b=j>>>a;if(b&3|0){b=(b&1^1)+a|0;d=30616+(b<<1<<2)|0;e=d+8|0;f=c[e>>2]|0;g=f+8|0;h=c[g>>2]|0;do if((d|0)!=(h|0)){if(h>>>0<(c[7648]|0)>>>0)ga();a=h+12|0;if((c[a>>2]|0)==(f|0)){c[a>>2]=d;c[e>>2]=h;break}else ga()}else c[7644]=j&~(1<>2]=L|3;L=f+L+4|0;c[L>>2]=c[L>>2]|1;L=g;return L|0}h=c[7646]|0;if(o>>>0>h>>>0){if(b|0){d=2<>>12&16;d=d>>>i;f=d>>>5&8;d=d>>>f;g=d>>>2&4;d=d>>>g;e=d>>>1&2;d=d>>>e;b=d>>>1&1;b=(f|i|g|e|b)+(d>>>b)|0;d=30616+(b<<1<<2)|0;e=d+8|0;g=c[e>>2]|0;i=g+8|0;f=c[i>>2]|0;do if((d|0)!=(f|0)){if(f>>>0<(c[7648]|0)>>>0)ga();a=f+12|0;if((c[a>>2]|0)==(g|0)){c[a>>2]=d;c[e>>2]=f;k=c[7646]|0;break}else ga()}else{c[7644]=j&~(1<>2]=o|3;e=g+o|0;c[e+4>>2]=h|1;c[e+h>>2]=h;if(k|0){f=c[7649]|0;b=k>>>3;d=30616+(b<<1<<2)|0;a=c[7644]|0;b=1<>2]|0;if(b>>>0<(c[7648]|0)>>>0)ga();else{l=a;m=b}}else{c[7644]=a|b;l=d+8|0;m=d}c[l>>2]=f;c[m+12>>2]=f;c[f+8>>2]=m;c[f+12>>2]=d}c[7646]=h;c[7649]=e;L=i;return L|0}a=c[7645]|0;if(a){d=(a&0-a)+-1|0;K=d>>>12&16;d=d>>>K;J=d>>>5&8;d=d>>>J;L=d>>>2&4;d=d>>>L;b=d>>>1&2;d=d>>>b;e=d>>>1&1;e=c[30880+((J|K|L|b|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-o|0;b=e;while(1){a=c[b+16>>2]|0;if(!a){a=c[b+20>>2]|0;if(!a){j=e;break}}b=(c[a+4>>2]&-8)-o|0;L=b>>>0>>0;d=L?b:d;b=a;e=L?a:e}g=c[7648]|0;if(j>>>0>>0)ga();i=j+o|0;if(j>>>0>=i>>>0)ga();h=c[j+24>>2]|0;e=c[j+12>>2]|0;do if((e|0)==(j|0)){b=j+20|0;a=c[b>>2]|0;if(!a){b=j+16|0;a=c[b>>2]|0;if(!a){n=0;break}}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;b=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;b=e}}if(b>>>0>>0)ga();else{c[b>>2]=0;n=a;break}}else{f=c[j+8>>2]|0;if(f>>>0>>0)ga();a=f+12|0;if((c[a>>2]|0)!=(j|0))ga();b=e+8|0;if((c[b>>2]|0)==(j|0)){c[a>>2]=e;c[b>>2]=f;n=e;break}else ga()}while(0);do if(h|0){a=c[j+28>>2]|0;b=30880+(a<<2)|0;if((j|0)==(c[b>>2]|0)){c[b>>2]=n;if(!n){c[7645]=c[7645]&~(1<>>0<(c[7648]|0)>>>0)ga();a=h+16|0;if((c[a>>2]|0)==(j|0))c[a>>2]=n;else c[h+20>>2]=n;if(!n)break}b=c[7648]|0;if(n>>>0>>0)ga();c[n+24>>2]=h;a=c[j+16>>2]|0;do if(a|0)if(a>>>0>>0)ga();else{c[n+16>>2]=a;c[a+24>>2]=n;break}while(0);a=c[j+20>>2]|0;if(a|0)if(a>>>0<(c[7648]|0)>>>0)ga();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}while(0);if(d>>>0<16){L=d+o|0;c[j+4>>2]=L|3;L=j+L+4|0;c[L>>2]=c[L>>2]|1}else{c[j+4>>2]=o|3;c[i+4>>2]=d|1;c[i+d>>2]=d;a=c[7646]|0;if(a|0){f=c[7649]|0;b=a>>>3;e=30616+(b<<1<<2)|0;a=c[7644]|0;b=1<>2]|0;if(b>>>0<(c[7648]|0)>>>0)ga();else{p=a;q=b}}else{c[7644]=a|b;p=e+8|0;q=e}c[p>>2]=f;c[q+12>>2]=f;c[f+8>>2]=q;c[f+12>>2]=e}c[7646]=d;c[7649]=i}L=j+8|0;return L|0}}}else if(a>>>0<=4294967231){a=a+11|0;o=a&-8;j=c[7645]|0;if(j){d=0-o|0;a=a>>>8;if(a)if(o>>>0>16777215)i=31;else{q=(a+1048320|0)>>>16&8;E=a<>>16&4;E=E<>>16&2;i=14-(p|q|i)+(E<>>15)|0;i=o>>>(i+7|0)&1|i<<1}else i=0;b=c[30880+(i<<2)>>2]|0;a:do if(!b){a=0;b=0;E=86}else{f=d;a=0;g=o<<((i|0)==31?0:25-(i>>>1)|0);h=b;b=0;while(1){e=c[h+4>>2]&-8;d=e-o|0;if(d>>>0>>0)if((e|0)==(o|0)){a=h;b=h;E=90;break a}else b=h;else d=f;e=c[h+20>>2]|0;h=c[h+16+(g>>>31<<2)>>2]|0;a=(e|0)==0|(e|0)==(h|0)?a:e;e=(h|0)==0;if(e){E=86;break}else{f=d;g=g<<(e&1^1)}}}while(0);if((E|0)==86){if((a|0)==0&(b|0)==0){a=2<>>12&16;q=q>>>m;l=q>>>5&8;q=q>>>l;n=q>>>2&4;q=q>>>n;p=q>>>1&2;q=q>>>p;a=q>>>1&1;a=c[30880+((l|m|n|p|a)+(q>>>a)<<2)>>2]|0}if(!a){i=d;j=b}else E=90}if((E|0)==90)while(1){E=0;q=(c[a+4>>2]&-8)-o|0;e=q>>>0>>0;d=e?q:d;b=e?a:b;e=c[a+16>>2]|0;if(e|0){a=e;E=90;continue}a=c[a+20>>2]|0;if(!a){i=d;j=b;break}else E=90}if((j|0)!=0?i>>>0<((c[7646]|0)-o|0)>>>0:0){f=c[7648]|0;if(j>>>0>>0)ga();h=j+o|0;if(j>>>0>=h>>>0)ga();g=c[j+24>>2]|0;d=c[j+12>>2]|0;do if((d|0)==(j|0)){b=j+20|0;a=c[b>>2]|0;if(!a){b=j+16|0;a=c[b>>2]|0;if(!a){s=0;break}}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}}if(b>>>0>>0)ga();else{c[b>>2]=0;s=a;break}}else{e=c[j+8>>2]|0;if(e>>>0>>0)ga();a=e+12|0;if((c[a>>2]|0)!=(j|0))ga();b=d+8|0;if((c[b>>2]|0)==(j|0)){c[a>>2]=d;c[b>>2]=e;s=d;break}else ga()}while(0);do if(g|0){a=c[j+28>>2]|0;b=30880+(a<<2)|0;if((j|0)==(c[b>>2]|0)){c[b>>2]=s;if(!s){c[7645]=c[7645]&~(1<>>0<(c[7648]|0)>>>0)ga();a=g+16|0;if((c[a>>2]|0)==(j|0))c[a>>2]=s;else c[g+20>>2]=s;if(!s)break}b=c[7648]|0;if(s>>>0>>0)ga();c[s+24>>2]=g;a=c[j+16>>2]|0;do if(a|0)if(a>>>0>>0)ga();else{c[s+16>>2]=a;c[a+24>>2]=s;break}while(0);a=c[j+20>>2]|0;if(a|0)if(a>>>0<(c[7648]|0)>>>0)ga();else{c[s+20>>2]=a;c[a+24>>2]=s;break}}while(0);do if(i>>>0>=16){c[j+4>>2]=o|3;c[h+4>>2]=i|1;c[h+i>>2]=i;a=i>>>3;if(i>>>0<256){d=30616+(a<<1<<2)|0;b=c[7644]|0;a=1<>2]|0;if(b>>>0<(c[7648]|0)>>>0)ga();else{u=a;v=b}}else{c[7644]=b|a;u=d+8|0;v=d}c[u>>2]=h;c[v+12>>2]=h;c[h+8>>2]=v;c[h+12>>2]=d;break}a=i>>>8;if(a)if(i>>>0>16777215)d=31;else{K=(a+1048320|0)>>>16&8;L=a<>>16&4;L=L<>>16&2;d=14-(J|K|d)+(L<>>15)|0;d=i>>>(d+7|0)&1|d<<1}else d=0;e=30880+(d<<2)|0;c[h+28>>2]=d;a=h+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[7645]|0;b=1<>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;break}f=i<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(i|0)){d=a;E=148;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){E=145;break}else{f=f<<1;a=d}}if((E|0)==145)if(b>>>0<(c[7648]|0)>>>0)ga();else{c[b>>2]=h;c[h+24>>2]=a;c[h+12>>2]=h;c[h+8>>2]=h;break}else if((E|0)==148){a=d+8|0;b=c[a>>2]|0;L=c[7648]|0;if(b>>>0>=L>>>0&d>>>0>=L>>>0){c[b+12>>2]=h;c[a>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;c[h+24>>2]=0;break}else ga()}}else{L=i+o|0;c[j+4>>2]=L|3;L=j+L+4|0;c[L>>2]=c[L>>2]|1}while(0);L=j+8|0;return L|0}}}else o=-1;while(0);d=c[7646]|0;if(d>>>0>=o>>>0){a=d-o|0;b=c[7649]|0;if(a>>>0>15){L=b+o|0;c[7649]=L;c[7646]=a;c[L+4>>2]=a|1;c[L+a>>2]=a;c[b+4>>2]=o|3}else{c[7646]=0;c[7649]=0;c[b+4>>2]=d|3;L=b+d+4|0;c[L>>2]=c[L>>2]|1}L=b+8|0;return L|0}a=c[7647]|0;if(a>>>0>o>>>0){J=a-o|0;c[7647]=J;L=c[7650]|0;K=L+o|0;c[7650]=K;c[K+4>>2]=J|1;c[L+4>>2]=o|3;L=L+8|0;return L|0}do if(!(c[7762]|0)){a=oa(30)|0;if(!(a+-1&a)){c[7764]=a;c[7763]=a;c[7765]=-1;c[7766]=-1;c[7767]=0;c[7755]=0;c[7762]=(ka(0)|0)&-16^1431655768;break}else ga()}while(0);h=o+48|0;g=c[7764]|0;i=o+47|0;f=g+i|0;g=0-g|0;j=f&g;if(j>>>0<=o>>>0){L=0;return L|0}a=c[7754]|0;if(a|0?(u=c[7752]|0,v=u+j|0,v>>>0<=u>>>0|v>>>0>a>>>0):0){L=0;return L|0}b:do if(!(c[7755]&4)){a=c[7650]|0;c:do if(a){d=31024;while(1){b=c[d>>2]|0;if(b>>>0<=a>>>0?(r=d+4|0,(b+(c[r>>2]|0)|0)>>>0>a>>>0):0){e=d;d=r;break}d=c[d+8>>2]|0;if(!d){E=173;break c}}a=f-(c[7647]|0)&g;if(a>>>0<2147483647){b=ja(a|0)|0;if((b|0)==((c[e>>2]|0)+(c[d>>2]|0)|0)){if((b|0)!=(-1|0)){h=b;f=a;E=193;break b}}else E=183}}else E=173;while(0);do if((E|0)==173?(t=ja(0)|0,(t|0)!=(-1|0)):0){a=t;b=c[7763]|0;d=b+-1|0;if(!(d&a))a=j;else a=j-a+(d+a&0-b)|0;b=c[7752]|0;d=b+a|0;if(a>>>0>o>>>0&a>>>0<2147483647){v=c[7754]|0;if(v|0?d>>>0<=b>>>0|d>>>0>v>>>0:0)break;b=ja(a|0)|0;if((b|0)==(t|0)){h=t;f=a;E=193;break b}else E=183}}while(0);d:do if((E|0)==183){d=0-a|0;do if(h>>>0>a>>>0&(a>>>0<2147483647&(b|0)!=(-1|0))?(w=c[7764]|0,w=i-a+w&0-w,w>>>0<2147483647):0)if((ja(w|0)|0)==(-1|0)){ja(d|0)|0;break d}else{a=w+a|0;break}while(0);if((b|0)!=(-1|0)){h=b;f=a;E=193;break b}}while(0);c[7755]=c[7755]|4;E=190}else E=190;while(0);if((((E|0)==190?j>>>0<2147483647:0)?(x=ja(j|0)|0,y=ja(0)|0,x>>>0>>0&((x|0)!=(-1|0)&(y|0)!=(-1|0))):0)?(z=y-x|0,z>>>0>(o+40|0)>>>0):0){h=x;f=z;E=193}if((E|0)==193){a=(c[7752]|0)+f|0;c[7752]=a;if(a>>>0>(c[7753]|0)>>>0)c[7753]=a;i=c[7650]|0;do if(i){e=31024;do{a=c[e>>2]|0;b=e+4|0;d=c[b>>2]|0;if((h|0)==(a+d|0)){A=a;B=b;C=d;D=e;E=203;break}e=c[e+8>>2]|0}while((e|0)!=0);if(((E|0)==203?(c[D+12>>2]&8|0)==0:0)?i>>>0>>0&i>>>0>=A>>>0:0){c[B>>2]=C+f;L=i+8|0;L=(L&7|0)==0?0:0-L&7;K=i+L|0;L=f-L+(c[7647]|0)|0;c[7650]=K;c[7647]=L;c[K+4>>2]=L|1;c[K+L+4>>2]=40;c[7651]=c[7766];break}a=c[7648]|0;if(h>>>0>>0){c[7648]=h;j=h}else j=a;d=h+f|0;a=31024;while(1){if((c[a>>2]|0)==(d|0)){b=a;E=211;break}a=c[a+8>>2]|0;if(!a){b=31024;break}}if((E|0)==211)if(!(c[a+12>>2]&8)){c[b>>2]=h;l=a+4|0;c[l>>2]=(c[l>>2]|0)+f;l=h+8|0;l=h+((l&7|0)==0?0:0-l&7)|0;a=d+8|0;a=d+((a&7|0)==0?0:0-a&7)|0;k=l+o|0;g=a-l-o|0;c[l+4>>2]=o|3;do if((a|0)!=(i|0)){if((a|0)==(c[7649]|0)){L=(c[7646]|0)+g|0;c[7646]=L;c[7649]=k;c[k+4>>2]=L|1;c[k+L>>2]=L;break}b=c[a+4>>2]|0;if((b&3|0)==1){i=b&-8;f=b>>>3;e:do if(b>>>0>=256){h=c[a+24>>2]|0;e=c[a+12>>2]|0;do if((e|0)==(a|0)){d=a+16|0;e=d+4|0;b=c[e>>2]|0;if(!b){b=c[d>>2]|0;if(!b){J=0;break}}else d=e;while(1){e=b+20|0;f=c[e>>2]|0;if(f|0){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0>>0)ga();else{c[d>>2]=0;J=b;break}}else{f=c[a+8>>2]|0;if(f>>>0>>0)ga();b=f+12|0;if((c[b>>2]|0)!=(a|0))ga();d=e+8|0;if((c[d>>2]|0)==(a|0)){c[b>>2]=e;c[d>>2]=f;J=e;break}else ga()}while(0);if(!h)break;b=c[a+28>>2]|0;d=30880+(b<<2)|0;do if((a|0)!=(c[d>>2]|0)){if(h>>>0<(c[7648]|0)>>>0)ga();b=h+16|0;if((c[b>>2]|0)==(a|0))c[b>>2]=J;else c[h+20>>2]=J;if(!J)break e}else{c[d>>2]=J;if(J|0)break;c[7645]=c[7645]&~(1<>>0>>0)ga();c[J+24>>2]=h;b=a+16|0;d=c[b>>2]|0;do if(d|0)if(d>>>0>>0)ga();else{c[J+16>>2]=d;c[d+24>>2]=J;break}while(0);b=c[b+4>>2]|0;if(!b)break;if(b>>>0<(c[7648]|0)>>>0)ga();else{c[J+20>>2]=b;c[b+24>>2]=J;break}}else{d=c[a+8>>2]|0;e=c[a+12>>2]|0;b=30616+(f<<1<<2)|0;do if((d|0)!=(b|0)){if(d>>>0>>0)ga();if((c[d+12>>2]|0)==(a|0))break;ga()}while(0);if((e|0)==(d|0)){c[7644]=c[7644]&~(1<>>0>>0)ga();b=e+8|0;if((c[b>>2]|0)==(a|0)){G=b;break}ga()}while(0);c[d+12>>2]=e;c[G>>2]=d}while(0);a=a+i|0;g=i+g|0}a=a+4|0;c[a>>2]=c[a>>2]&-2;c[k+4>>2]=g|1;c[k+g>>2]=g;a=g>>>3;if(g>>>0<256){d=30616+(a<<1<<2)|0;b=c[7644]|0;a=1<>2]|0;if(b>>>0>=(c[7648]|0)>>>0){K=a;L=b;break}ga()}while(0);c[K>>2]=k;c[L+12>>2]=k;c[k+8>>2]=L;c[k+12>>2]=d;break}a=g>>>8;do if(!a)d=0;else{if(g>>>0>16777215){d=31;break}K=(a+1048320|0)>>>16&8;L=a<>>16&4;L=L<>>16&2;d=14-(J|K|d)+(L<>>15)|0;d=g>>>(d+7|0)&1|d<<1}while(0);e=30880+(d<<2)|0;c[k+28>>2]=d;a=k+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[7645]|0;b=1<>2]=k;c[k+24>>2]=e;c[k+12>>2]=k;c[k+8>>2]=k;break}f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;E=281;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){E=278;break}else{f=f<<1;a=d}}if((E|0)==278)if(b>>>0<(c[7648]|0)>>>0)ga();else{c[b>>2]=k;c[k+24>>2]=a;c[k+12>>2]=k;c[k+8>>2]=k;break}else if((E|0)==281){a=d+8|0;b=c[a>>2]|0;L=c[7648]|0;if(b>>>0>=L>>>0&d>>>0>=L>>>0){c[b+12>>2]=k;c[a>>2]=k;c[k+8>>2]=b;c[k+12>>2]=d;c[k+24>>2]=0;break}else ga()}}else{L=(c[7647]|0)+g|0;c[7647]=L;c[7650]=k;c[k+4>>2]=L|1}while(0);L=l+8|0;return L|0}else b=31024;while(1){a=c[b>>2]|0;if(a>>>0<=i>>>0?(F=a+(c[b+4>>2]|0)|0,F>>>0>i>>>0):0){b=F;break}b=c[b+8>>2]|0}g=b+-47|0;d=g+8|0;d=g+((d&7|0)==0?0:0-d&7)|0;g=i+16|0;d=d>>>0>>0?i:d;a=d+8|0;e=h+8|0;e=(e&7|0)==0?0:0-e&7;L=h+e|0;e=f+-40-e|0;c[7650]=L;c[7647]=e;c[L+4>>2]=e|1;c[L+e+4>>2]=40;c[7651]=c[7766];e=d+4|0;c[e>>2]=27;c[a>>2]=c[7756];c[a+4>>2]=c[7757];c[a+8>>2]=c[7758];c[a+12>>2]=c[7759];c[7756]=h;c[7757]=f;c[7759]=0;c[7758]=a;a=d+24|0;do{a=a+4|0;c[a>>2]=7}while((a+4|0)>>>0>>0);if((d|0)!=(i|0)){h=d-i|0;c[e>>2]=c[e>>2]&-2;c[i+4>>2]=h|1;c[d>>2]=h;a=h>>>3;if(h>>>0<256){d=30616+(a<<1<<2)|0;b=c[7644]|0;a=1<>2]|0;if(b>>>0<(c[7648]|0)>>>0)ga();else{H=a;I=b}}else{c[7644]=b|a;H=d+8|0;I=d}c[H>>2]=i;c[I+12>>2]=i;c[i+8>>2]=I;c[i+12>>2]=d;break}a=h>>>8;if(a)if(h>>>0>16777215)d=31;else{K=(a+1048320|0)>>>16&8;L=a<>>16&4;L=L<>>16&2;d=14-(J|K|d)+(L<>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;f=30880+(d<<2)|0;c[i+28>>2]=d;c[i+20>>2]=0;c[g>>2]=0;a=c[7645]|0;b=1<>2]=i;c[i+24>>2]=f;c[i+12>>2]=i;c[i+8>>2]=i;break}e=h<<((d|0)==31?0:25-(d>>>1)|0);a=c[f>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(h|0)){d=a;E=307;break}b=a+16+(e>>>31<<2)|0;d=c[b>>2]|0;if(!d){E=304;break}else{e=e<<1;a=d}}if((E|0)==304)if(b>>>0<(c[7648]|0)>>>0)ga();else{c[b>>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i;break}else if((E|0)==307){a=d+8|0;b=c[a>>2]|0;L=c[7648]|0;if(b>>>0>=L>>>0&d>>>0>=L>>>0){c[b+12>>2]=i;c[a>>2]=i;c[i+8>>2]=b;c[i+12>>2]=d;c[i+24>>2]=0;break}else ga()}}}else{L=c[7648]|0;if((L|0)==0|h>>>0>>0)c[7648]=h;c[7756]=h;c[7757]=f;c[7759]=0;c[7653]=c[7762];c[7652]=-1;a=0;do{L=30616+(a<<1<<2)|0;c[L+12>>2]=L;c[L+8>>2]=L;a=a+1|0}while((a|0)!=32);L=h+8|0;L=(L&7|0)==0?0:0-L&7;K=h+L|0;L=f+-40-L|0;c[7650]=K;c[7647]=L;c[K+4>>2]=L|1;c[K+L+4>>2]=40;c[7651]=c[7766]}while(0);a=c[7647]|0;if(a>>>0>o>>>0){J=a-o|0;c[7647]=J;L=c[7650]|0;K=L+o|0;c[7650]=K;c[K+4>>2]=J|1;c[L+4>>2]=o|3;L=L+8|0;return L|0}}c[(fj()|0)>>2]=12;L=0;return L|0}function kj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;if(!a)return;d=a+-8|0;h=c[7648]|0;if(d>>>0>>0)ga();a=c[a+-4>>2]|0;b=a&3;if((b|0)==1)ga();e=a&-8;m=d+e|0;do if(!(a&1)){a=c[d>>2]|0;if(!b)return;k=d+(0-a)|0;j=a+e|0;if(k>>>0>>0)ga();if((k|0)==(c[7649]|0)){a=m+4|0;b=c[a>>2]|0;if((b&3|0)!=3){q=k;g=j;break}c[7646]=j;c[a>>2]=b&-2;c[k+4>>2]=j|1;c[k+j>>2]=j;return}e=a>>>3;if(a>>>0<256){b=c[k+8>>2]|0;d=c[k+12>>2]|0;a=30616+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0>>0)ga();if((c[b+12>>2]|0)!=(k|0))ga()}if((d|0)==(b|0)){c[7644]=c[7644]&~(1<>>0>>0)ga();a=d+8|0;if((c[a>>2]|0)==(k|0))f=a;else ga()}else f=d+8|0;c[b+12>>2]=d;c[f>>2]=b;q=k;g=j;break}f=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){i=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}}if(b>>>0>>0)ga();else{c[b>>2]=0;i=a;break}}else{e=c[k+8>>2]|0;if(e>>>0>>0)ga();a=e+12|0;if((c[a>>2]|0)!=(k|0))ga();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;i=d;break}else ga()}while(0);if(f){a=c[k+28>>2]|0;b=30880+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=i;if(!i){c[7645]=c[7645]&~(1<>>0<(c[7648]|0)>>>0)ga();a=f+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=i;else c[f+20>>2]=i;if(!i){q=k;g=j;break}}d=c[7648]|0;if(i>>>0>>0)ga();c[i+24>>2]=f;a=k+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0>>0)ga();else{c[i+16>>2]=b;c[b+24>>2]=i;break}while(0);a=c[a+4>>2]|0;if(a)if(a>>>0<(c[7648]|0)>>>0)ga();else{c[i+20>>2]=a;c[a+24>>2]=i;q=k;g=j;break}else{q=k;g=j}}else{q=k;g=j}}else{q=d;g=e}while(0);if(q>>>0>=m>>>0)ga();a=m+4|0;b=c[a>>2]|0;if(!(b&1))ga();if(!(b&2)){if((m|0)==(c[7650]|0)){p=(c[7647]|0)+g|0;c[7647]=p;c[7650]=q;c[q+4>>2]=p|1;if((q|0)!=(c[7649]|0))return;c[7649]=0;c[7646]=0;return}if((m|0)==(c[7649]|0)){p=(c[7646]|0)+g|0;c[7646]=p;c[7649]=q;c[q+4>>2]=p|1;c[q+p>>2]=p;return}g=(b&-8)+g|0;e=b>>>3;do if(b>>>0>=256){f=c[m+24>>2]|0;a=c[m+12>>2]|0;do if((a|0)==(m|0)){b=m+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){n=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}}if(b>>>0<(c[7648]|0)>>>0)ga();else{c[b>>2]=0;n=a;break}}else{b=c[m+8>>2]|0;if(b>>>0<(c[7648]|0)>>>0)ga();d=b+12|0;if((c[d>>2]|0)!=(m|0))ga();e=a+8|0;if((c[e>>2]|0)==(m|0)){c[d>>2]=a;c[e>>2]=b;n=a;break}else ga()}while(0);if(f|0){a=c[m+28>>2]|0;b=30880+(a<<2)|0;if((m|0)==(c[b>>2]|0)){c[b>>2]=n;if(!n){c[7645]=c[7645]&~(1<>>0<(c[7648]|0)>>>0)ga();a=f+16|0;if((c[a>>2]|0)==(m|0))c[a>>2]=n;else c[f+20>>2]=n;if(!n)break}d=c[7648]|0;if(n>>>0>>0)ga();c[n+24>>2]=f;a=m+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0>>0)ga();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);a=c[a+4>>2]|0;if(a|0)if(a>>>0<(c[7648]|0)>>>0)ga();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}}else{b=c[m+8>>2]|0;d=c[m+12>>2]|0;a=30616+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(c[7648]|0)>>>0)ga();if((c[b+12>>2]|0)!=(m|0))ga()}if((d|0)==(b|0)){c[7644]=c[7644]&~(1<>>0<(c[7648]|0)>>>0)ga();a=d+8|0;if((c[a>>2]|0)==(m|0))l=a;else ga()}else l=d+8|0;c[b+12>>2]=d;c[l>>2]=b}while(0);c[q+4>>2]=g|1;c[q+g>>2]=g;if((q|0)==(c[7649]|0)){c[7646]=g;return}}else{c[a>>2]=b&-2;c[q+4>>2]=g|1;c[q+g>>2]=g}a=g>>>3;if(g>>>0<256){d=30616+(a<<1<<2)|0;b=c[7644]|0;a=1<>2]|0;if(b>>>0<(c[7648]|0)>>>0)ga();else{o=a;p=b}}else{c[7644]=b|a;o=d+8|0;p=d}c[o>>2]=q;c[p+12>>2]=q;c[q+8>>2]=p;c[q+12>>2]=d;return}a=g>>>8;if(a)if(g>>>0>16777215)d=31;else{o=(a+1048320|0)>>>16&8;p=a<>>16&4;p=p<>>16&2;d=14-(n|o|d)+(p<>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=30880+(d<<2)|0;c[q+28>>2]=d;c[q+20>>2]=0;c[q+16>>2]=0;a=c[7645]|0;b=1<>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;e=130;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){e=127;break}else{f=f<<1;a=d}}if((e|0)==127)if(b>>>0<(c[7648]|0)>>>0)ga();else{c[b>>2]=q;c[q+24>>2]=a;c[q+12>>2]=q;c[q+8>>2]=q;break}else if((e|0)==130){a=d+8|0;b=c[a>>2]|0;p=c[7648]|0;if(b>>>0>=p>>>0&d>>>0>=p>>>0){c[b+12>>2]=q;c[a>>2]=q;c[q+8>>2]=b;c[q+12>>2]=d;c[q+24>>2]=0;break}else ga()}}else{c[7645]=a|b;c[e>>2]=q;c[q+24>>2]=e;c[q+12>>2]=q;c[q+8>>2]=q}while(0);q=(c[7652]|0)+-1|0;c[7652]=q;if(!q)a=31032;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[7652]=-1;return}function lj(){}function mj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (C=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function nj(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>c;return a>>>c|(b&(1<>c-32|0}function oj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;if((e|0)>=20){d=d&255;h=b&3;i=d|d<<8|d<<16|d<<24;g=f&~3;if(h){h=b+4-h|0;while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(g|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function pj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return ma(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}while((e|0)>=4){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0;e=e-4|0}}while((e|0)>0){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function qj(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 pj(b,c,d)|0;return b|0}function rj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (C=d,a-c>>>0|0)|0}function sj(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<>>32-c;return a<>>c;return a>>>c|(b&(1<>>c-32|0}function uj(b){b=b|0;var c=0;c=a[m+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[m+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[m+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[m+(b>>>24)>>0]|0)+24|0}function vj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=_(e,f)|0;d=a>>>16;a=(c>>>16)+(_(e,d)|0)|0;e=b>>>16;b=_(e,f)|0;return (C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function wj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=rj(j^a|0,i^b|0,j|0,i|0)|0;g=C;a=f^j;b=e^i;return rj((Bj(h,g,rj(f^c|0,e^d|0,f|0,e|0)|0,C,0)|0)^a|0,C^b|0,a|0,b|0)|0}function xj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+16|0;j=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;l=e>>31|((e|0)<0?-1:0)<<1;k=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=rj(h^a|0,g^b|0,h|0,g|0)|0;b=C;Bj(a,b,rj(l^d|0,k^e|0,l|0,k|0)|0,C,j)|0;e=rj(c[j>>2]^h|0,c[j+4>>2]^g|0,h|0,g|0)|0;d=C;i=f;return (C=d,e)|0}function yj(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=vj(e,f)|0;a=C;return (C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function zj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Bj(a,b,c,d,0)|0}function Aj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+16|0;f=g|0;Bj(a,b,d,e,f)|0;i=g;return (C=c[f+4>>2]|0,c[f>>2]|0)|0}function Bj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (C=n,f)|0}else{if(!g){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (C=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (C=n,f)|0}g=h-1|0;if(g&h|0){i=(aa(h|0)|0)+33-(aa(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (C=o,p)|0}else{p=uj(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (C=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (C=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (C=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((uj(i|0)|0)>>>0);return (C=o,p)|0}g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (C=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=mj(m|0,l|0,-1,-1)|0;d=C;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;rj(k|0,d|0,e|0,n|0)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=rj(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (C=o,p)|0}function Cj(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;qa[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function Dj(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;ba(0)} // EMSCRIPTEN_END_FUNCS var qa=[Dj,yi,xi,Dj];return{_opus_decoder_get_size:ai,_opus_get_version_string:gb,_free:kj,_opus_encode_float:Ri,_opus_strerror:fb,_i64Add:mj,_memmove:qj,_opus_decoder_init:ci,_bitshift64Ashr:nj,_opus_encoder_get_size:ti,_memset:oj,_malloc:jj,_opus_decoder_ctl:si,_opus_encode:Qi,_opus_encoder_init:vi,_opus_decode:mi,_opus_packet_get_nb_samples:oi,_memcpy:pj,_opus_encoder_ctl:Si,_opus_decode_float:ri,runPostSets:lj,stackAlloc:ra,stackSave:sa,stackRestore:ta,establishStackSpace:ua,setThrew:va,setTempRet0:ya,getTempRet0:za,dynCall_viiiiiii:Cj}}) // EMSCRIPTEN_END_ASM (b.s,b.t,buffer);b._opus_decoder_get_size=Z._opus_decoder_get_size;b._opus_get_version_string=Z._opus_get_version_string;var va=b._free=Z._free; b._opus_encode_float=Z._opus_encode_float;b._opus_strerror=Z._opus_strerror;var Pa=b._i64Add=Z._i64Add,Ua=b._memmove=Z._memmove;b._opus_decoder_init=Z._opus_decoder_init;var Qa=b._bitshift64Ashr=Z._bitshift64Ashr;b._opus_encoder_get_size=Z._opus_encoder_get_size;var Ra=b._memset=Z._memset,Q=b._malloc=Z._malloc;b._opus_packet_get_nb_samples=Z._opus_packet_get_nb_samples;b._opus_encode=Z._opus_encode;b._opus_encoder_init=Z._opus_encoder_init;b._opus_decode=Z._opus_decode;b._opus_decoder_ctl=Z._opus_decoder_ctl; var Sa=b._memcpy=Z._memcpy;b._opus_encoder_ctl=Z._opus_encoder_ctl;b._opus_decode_float=Z._opus_decode_float;b.runPostSets=Z.runPostSets;b.dynCall_viiiiiii=Z.dynCall_viiiiiii;y.f=Z.stackAlloc;y.g=Z.stackSave;y.c=Z.stackRestore;y.I=Z.establishStackSpace;y.B=Z.setTempRet0;y.w=Z.getTempRet0;function w(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}w.prototype=Error();w.prototype.constructor=w;var Wa=null,X=function Xa(){b.calledRun||Ya();b.calledRun||(X=Xa)}; b.callMain=b.G=function(a){function c(){for(var a=0;3>a;a++)e.push(0)}a=a||[];T||(T=!0,V(Ea));var d=a.length+1,e=[O(Ka(b.thisProgram),"i8",0)];c();for(var g=0;g