Skip to content

Instantly share code, notes, and snippets.

@cpojer
Created August 13, 2015 23:30
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save cpojer/4697624826b9f99446ca to your computer and use it in GitHub Desktop.
Save cpojer/4697624826b9f99446ca to your computer and use it in GitHub Desktop.
/**
* @providesModule LJPEG
*/function c(a){throw a;}var k=void 0,m=!0,s=null,u=!1,v;v||(v=eval("(function() { try { return Module || {} } catch(e) { return {} } })()"));var aa={},w;for(w in v)v.hasOwnProperty(w)&&(aa[w]=v[w]);var ba="object"===typeof process&&"function"===typeof require,ca="object"===typeof window,da="function"===typeof importScripts,ea=!ca&&!ba&&!da;
if(ba){v.print=function(a){process.stdout.write(a+"\n")};v.printErr=function(a){process.stderr.write(a+"\n")};var fa=require.call(null, "fs"),ga=require.call(null, "path");v.read=function(a,b){var a=ga.normalize(a),d=fa.readFileSync(a);!d&&a!=ga.resolve(a)&&(a=path.join(__dirname,"..","src",a),d=fa.readFileSync(a));d&&!b&&(d=d.toString());return d};v.readBinary=function(a){return v.read(a,m)};v.load=function(a){ha(read(a))};v.arguments=process.argv.slice(2);module.exports=v}else ea?(v.print=print,"undefined"!=typeof printErr&&
(v.printErr=printErr),v.read="undefined"!=typeof read?read:function(){c("no read() available (jsc?)")},v.readBinary=function(a){return read(a,"binary")},"undefined"!=typeof scriptArgs?v.arguments=scriptArgs:"undefined"!=typeof arguments&&(v.arguments=arguments),this.Module=v):ca||da?(v.read=function(a){var b=new XMLHttpRequest;b.open("GET",a,u);b.send(s);return b.responseText},"undefined"!=typeof arguments&&(v.arguments=arguments),"undefined"!==typeof console?(v.print=function(a){console.log(a)},
v.printErr=function(a){console.log(a)}):v.print=function(){},ca?this.Module=v:v.load=importScripts):c("Unknown runtime environment. Where are we?");function ha(a){eval.call(s,a)}"undefined"==!v.load&&v.read&&(v.load=function(a){ha(v.read(a))});v.print||(v.print=function(){});v.printErr||(v.printErr=v.print);v.arguments||(v.arguments=[]);v.print=v.print;v.e=v.printErr;v.preRun=[];v.postRun=[];for(w in aa)aa.hasOwnProperty(w)&&(v[w]=aa[w]);function ia(){return z}function ja(a){z=a}
function ka(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:if("*"===a[a.length-1])return la;if("i"===a[0])return a=parseInt(a.substr(1)),A(0===a%8),a/8}}function ma(a,b,d){d&&d.length?(d.splice||(d=Array.prototype.slice.call(d)),d.splice(0,0,b),v["dynCall_"+a].apply(s,d)):v["dynCall_"+a].call(s,b)}var C=[s,s,s,s];
function na(a){for(var b=0;b<C.length;b++)if(!C[b])return C[b]=a,2*(1+b);c("Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.")}
function oa(){var a=[],b=0;this.q=function(d){d&=255;if(0==a.length){if(0==(d&128))return String.fromCharCode(d);a.push(d);b=192==(d&224)?1:224==(d&240)?2:3;return""}if(b&&(a.push(d),b--,0<b))return"";var d=a[0],e=a[1],g=a[2],j=a[3];2==a.length?d=String.fromCharCode((d&31)<<6|e&63):3==a.length?d=String.fromCharCode((d&15)<<12|(e&63)<<6|g&63):(d=(d&7)<<18|(e&63)<<12|(g&63)<<6|j&63,d=String.fromCharCode(Math.floor((d-65536)/1024)+55296,(d-65536)%1024+56320));a.length=0;return d};this.r=function(a){for(var a=
unescape(encodeURIComponent(a)),b=[],g=0;g<a.length;g++)b.push(a.charCodeAt(g));return b}}function pa(a){var b=z;z=z+a|0;z=z+7&-8;return b}function qa(a){var b=D;D=D+a|0;D=D+7&-8;return b}function ra(a){var b=F;F=F+a|0;F=F+7&-8;F>=sa&&G("Cannot enlarge memory arrays in asm.js. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+sa+", or (2) set Module.TOTAL_MEMORY before the program runs.");return b}function ta(a,b){return Math.ceil(a/(b?b:8))*(b?b:8)}
var la=4,ua={},va=u,H;function A(a,b){a||G("Assertion failed: "+b)}v.ccall=function(a,b,d,e){return wa(xa(a),b,d,e)};function xa(a){try{var b=v["_"+a];b||(b=eval("_"+a))}catch(d){}A(b,"Cannot call unknown function "+a+" (perhaps LLVM optimizations or closure removed it?)");return b}
function wa(a,b,d,e){function g(a,b){if("string"==b){if(a===s||a===k||0===a)return 0;a=J(a);b="array"}if("array"==b){j||(j=ia());var d=pa(a.length);ya(a,d);return d}return a}var j=0,i=0,e=e?e.map(function(a){return g(a,d[i++])}):[];a=a.apply(s,e);"string"==b?b=K(a):(A("array"!=b),b=a);j&&ja(j);return b}v.cwrap=function(a,b,d){var e=xa(a);return function(){return wa(e,b,d,Array.prototype.slice.call(arguments))}};
function za(a,b,d){d=d||"i8";"*"===d.charAt(d.length-1)&&(d="i32");switch(d){case "i1":L[a]=b;break;case "i8":L[a]=b;break;case "i16":M[a>>1]=b;break;case "i32":N[a>>2]=b;break;case "i64":H=[b>>>0,(tempDouble=b,1<=+Aa(tempDouble)?0<tempDouble?(Ba(+Ca(tempDouble/4294967296),4294967295)|0)>>>0:~~+Da((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)];N[a>>2]=H[0];N[a+4>>2]=H[1];break;case "float":Ea[a>>2]=b;break;case "double":O[a>>3]=b;break;default:G("invalid type for setValue: "+d)}}
v.setValue=za;v.getValue=function(a,b){b=b||"i8";"*"===b.charAt(b.length-1)&&(b="i32");switch(b){case "i1":return L[a];case "i8":return L[a];case "i16":return M[a>>1];case "i32":return N[a>>2];case "i64":return N[a>>2];case "float":return Ea[a>>2];case "double":return O[a>>3];default:G("invalid type for setValue: "+b)}return s};var Fa=0,P=2,Ga=4;v.ALLOC_NORMAL=Fa;v.ALLOC_STACK=1;v.ALLOC_STATIC=P;v.ALLOC_DYNAMIC=3;v.ALLOC_NONE=Ga;
function Q(a,b,d,e){var g,j;"number"===typeof a?(g=m,j=a):(g=u,j=a.length);var i="string"===typeof b?b:s,d=d==Ga?e:[Ha,pa,qa,ra][d===k?P:d](Math.max(j,i?1:b.length));if(g){e=d;A(0==(d&3));for(a=d+(j&-4);e<a;e+=4)N[e>>2]=0;for(a=d+j;e<a;)L[e++|0]=0;return d}if("i8"===i)return a.subarray||a.slice?R.set(a,d):R.set(new Uint8Array(a),d),d;for(var e=0,f,q;e<j;){var x=a[e];"function"===typeof x&&(x=ua.H(x));g=i||b[e];0===g?e++:("i64"==g&&(g="i32"),za(d+e,x,g),q!==g&&(f=ka(g),q=g),e+=f)}return d}
v.allocate=Q;function K(a,b){for(var d=u,e,g=0;;){e=R[a+g|0];if(128<=e)d=m;else if(0==e&&!b)break;g++;if(b&&g==b)break}b||(b=g);var j="";if(!d){for(;0<b;)e=String.fromCharCode.apply(String,R.subarray(a,a+Math.min(b,1024))),j=j?j+e:e,a+=1024,b-=1024;return j}d=new oa;for(g=0;g<b;g++)e=R[a+g|0],j+=d.q(e);return j}v.Pointer_stringify=K;v.UTF16ToString=function(a){for(var b=0,d="";;){var e=M[a+2*b>>1];if(0==e)return d;++b;d+=String.fromCharCode(e)}};
v.stringToUTF16=function(a,b){for(var d=0;d<a.length;++d)M[b+2*d>>1]=a.charCodeAt(d);M[b+2*a.length>>1]=0};v.UTF32ToString=function(a){for(var b=0,d="";;){var e=N[a+4*b>>2];if(0==e)return d;++b;65536<=e?(e-=65536,d+=String.fromCharCode(55296|e>>10,56320|e&1023)):d+=String.fromCharCode(e)}};v.stringToUTF32=function(a,b){for(var d=0,e=0;e<a.length;++e){var g=a.charCodeAt(e);if(55296<=g&&57343>=g)var j=a.charCodeAt(++e),g=65536+((g&1023)<<10)|j&1023;N[b+4*d>>2]=g;++d}N[b+4*d>>2]=0};
function Ia(a){try{"number"===typeof a&&(a=K(a));if("_"!==a[0]||"_"!==a[1]||"Z"!==a[2])return a;var b=3,d={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."},e=[],g=function(i,f,j){var f=f||Infinity,x="",h=[],n;if("N"!==a[b]){"K"===a[b]&&b++;var p=parseInt(a.substr(b));if(p){var B=p.toString().length;n=a.substr(b+B,p);b+=B+p}}else{b++;
"K"===a[b]&&b++;for(n=[];"E"!==a[b];)if("S"===a[b])b++,p=a.indexOf("_",b),n.push(e[a.substring(b,p)||0]||"?"),b=p+1;else{p=parseInt(a.substr(b));B=p.toString().length;if(!p||!B){b--;break}var y=a.substr(b+B,p);n.push(y);e.push(y);b+=B+p}b++;n=n.join("::");f--;if(0===f)return i?[n]:n}"I"===a[b]?(b++,p=g(m),B=g(m,1,m),x+=B[0]+" "+n+"<"+p.join(", ")+">"):x=n;a:for(;b<a.length&&0<f--;)if(n=a[b++],n in d)h.push(d[n]);else switch(n){case "P":h.push(g(m,1,m)[0]+"*");break;case "R":h.push(g(m,1,m)[0]+"&");
break;case "L":b++;p=a.indexOf("E",b)-b;h.push(a.substr(b,p));b+=p+2;break;case "A":p=parseInt(a.substr(b));b+=p.toString().length;"_"!==a[b]&&c("?");b++;h.push(g(m,1,m)[0]+" ["+p+"]");break;case "E":break a;default:x+="?"+n;break a}!j&&(1===h.length&&"void"===h[0])&&(h=[]);return i?h:x+("("+h.join(", ")+")")};return g()}catch(j){return a}}function Ja(){var a=Error().stack;return a?a.replace(/__Z[\w\d_]+/g,function(a){var d=Ia(a);return a===d?a:a+" ["+d+"]"}):"(no stack trace available)"}
var L,R,M,Ka,N,La,Ea,O,Ma=0,D=0,Na=0,z=0,Oa=0,Pa=0,F=0,sa=v.TOTAL_MEMORY||8388608;A("undefined"!==typeof Int32Array&&"undefined"!==typeof Float64Array&&!!(new Int32Array(1)).subarray&&!!(new Int32Array(1)).set,"Cannot fallback to non-typed array case: Code is too specialized");var S=new ArrayBuffer(sa);L=new Int8Array(S);M=new Int16Array(S);N=new Int32Array(S);R=new Uint8Array(S);Ka=new Uint16Array(S);La=new Uint32Array(S);Ea=new Float32Array(S);O=new Float64Array(S);N[0]=255;
A(255===R[0]&&0===R[3],"Typed arrays 2 must be run on a little-endian system");v.HEAP=k;v.HEAP8=L;v.HEAP16=M;v.HEAP32=N;v.HEAPU8=R;v.HEAPU16=Ka;v.HEAPU32=La;v.HEAPF32=Ea;v.HEAPF64=O;function T(a){for(;0<a.length;){var b=a.shift();if("function"==typeof b)b();else{var d=b.p;"number"===typeof d?b.g===k?ma("v",d):ma("vi",d,[b.g]):d(b.g===k?s:b.g)}}}var Qa=[],Ra=[],Sa=[],Ta=[],Ua=[],Va=u;function Wa(a){Qa.unshift(a)}v.addOnPreRun=v.D=Wa;v.addOnInit=v.A=function(a){Ra.unshift(a)};v.addOnPreMain=v.C=function(a){Sa.unshift(a)};
v.addOnExit=v.u=function(a){Ta.unshift(a)};function Xa(a){Ua.unshift(a)}v.addOnPostRun=v.B=Xa;function J(a,b,d){a=(new oa).r(a);d&&(a.length=d);b||a.push(0);return a}v.intArrayFromString=J;v.intArrayToString=function(a){for(var b=[],d=0;d<a.length;d++){var e=a[d];255<e&&(e&=255);b.push(String.fromCharCode(e))}return b.join("")};v.writeStringToMemory=function(a,b,d){a=J(a,d);for(d=0;d<a.length;)L[b+d|0]=a[d],d+=1};function ya(a,b){for(var d=0;d<a.length;d++)L[b+d|0]=a[d]}v.writeArrayToMemory=ya;
v.writeAsciiToMemory=function(a,b,d){for(var e=0;e<a.length;e++)L[b+e|0]=a.charCodeAt(e);d||(L[b+a.length|0]=0)};function Ya(a,b){return 0<=a?a:32>=b?2*Math.abs(1<<b-1)+a:Math.pow(2,b)+a}function Za(a,b){if(0>=a)return a;var d=32>=b?Math.abs(1<<b-1):Math.pow(2,b-1);if(a>=d&&(32>=b||a>d))a=-2*d+a;return a}Math.imul||(Math.imul=function(a,b){var d=a&65535,e=b&65535;return d*e+((a>>>16)*e+d*(b>>>16)<<16)|0});Math.I=Math.imul;var Aa=Math.abs,Da=Math.ceil,Ca=Math.floor,Ba=Math.min,U=0,$a={},ab=s,bb=s;
v.addRunDependency=function(a){U++;v.monitorRunDependencies&&v.monitorRunDependencies(U);a?(A(!$a[a]),$a[a]=1):v.e("warning: run dependency added without ID")};v.removeRunDependency=function(a){U--;v.monitorRunDependencies&&v.monitorRunDependencies(U);a?(A($a[a]),delete $a[a]):v.e("warning: run dependency removed without ID");0==U&&(ab!==s&&(clearInterval(ab),ab=s),bb&&(a=bb,bb=s,a()))};v.preloadedImages={};v.preloadedAudios={};Ma=8;D=Ma+10200;Ra.push({p:function(){cb()}});
Q([16,0,0,0,11,0,0,0,10,0,0,0,16,0,0,0,24,0,0,0,40,0,0,0,51,0,0,0,61,0,0,0,12,0,0,0,12,0,0,0,14,0,0,0,19,0,0,0,26,0,0,0,58,0,0,0,60,0,0,0,55,0,0,0,14,0,0,0,13,0,0,0,16,0,0,0,24,0,0,0,40,0,0,0,57,0,0,0,69,0,0,0,56,0,0,0,14,0,0,0,17,0,0,0,22,0,0,0,29,0,0,0,51,0,0,0,87,0,0,0,80,0,0,0,62,0,0,0,18,0,0,0,22,0,0,0,37,0,0,0,56,0,0,0,68,0,0,0,109,0,0,0,103,0,0,0,77,0,0,0,24,0,0,0,35,0,0,0,55,0,0,0,64,0,0,0,81,0,0,0,104,0,0,0,113,0,0,0,92,0,0,0,49,0,0,0,64,0,0,0,78,0,0,0,87,0,0,0,103,0,0,0,121,0,0,0,120,0,
0,0,101,0,0,0,72,0,0,0,92,0,0,0,95,0,0,0,98,0,0,0,112,0,0,0,100,0,0,0,103,0,0,0,99,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,0,0,0,0,1,2,3,0,4,17,5,18,33,49,65,6,19,81,97,7,34,113,20,50,129,145,161,8,35,66,177,193,21,82,209,240,36,51,98,114,130,9,10,22,23,24,25,26,37,38,39,40,41,42,52,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,
154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,225,226,227,228,229,230,231,232,233,234,241,242,243,244,245,246,247,248,249,250,0,0,0,0,0,0,0,1,2,3,17,4,5,33,49,6,18,65,81,7,97,113,19,34,50,129,8,20,66,145,161,177,193,9,35,51,82,240,21,98,114,209,10,22,36,52,225,37,241,23,24,25,26,38,39,40,41,42,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,
117,118,119,120,121,122,130,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,226,227,228,229,230,231,232,233,234,242,243,244,245,246,247,248,249,250,0,0,0,0,0,0,0,0,1,5,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,3,3,2,4,3,5,5,4,4,0,0,1,125,0,0,0,0,0,0,0,0,0,2,1,2,4,4,3,4,7,5,4,4,0,1,2,
119,0,0,0,0,0,0,0,17,0,0,0,18,0,0,0,24,0,0,0,47,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,18,0,0,0,21,0,0,0,26,0,0,0,66,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,24,0,0,0,26,0,0,0,56,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,47,0,0,0,66,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,
0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,0,64,197,88,159,83,66,75,0,64,73,50,163,34,168,17,197,88,33,123,252,115,98,104,197,88,191,69,11,48,126,24,159,83,252,115,65,109,84,98,159,83,179,65,65,45,18,23,66,75,98,104,84,98,126,88,66,75,33,59,186,40,195,20,0,64,197,88,159,83,66,75,0,64,73,50,163,34,168,17,73,50,191,69,179,65,33,59,73,50,130,39,55,27,224,13,163,34,11,48,65,45,186,40,163,34,55,27,191,18,142,9,168,17,126,24,18,23,195,20,168,17,224,13,142,
9,223,4,0,0,0,0,0,0,240,63,239,97,72,177,80,49,246,63,202,111,77,145,174,231,244,63,170,17,108,239,98,208,242,63,0,0,0,0,0,0,240,63,59,191,167,192,105,36,233,63,187,32,199,123,122,81,225,63,93,171,114,222,85,168,209,63,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,14,0,0,0,15,0,0,0,27,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,13,0,0,0,16,0,0,0,26,0,0,0,28,0,0,0,3,0,0,0,8,0,0,0,12,0,0,0,17,0,0,0,25,0,0,0,29,0,0,0,38,0,0,0,9,0,0,0,11,0,0,0,18,0,0,0,24,0,0,0,30,0,0,0,37,0,0,0,39,0,0,0,10,0,0,0,
19,0,0,0,23,0,0,0,31,0,0,0,36,0,0,0,40,0,0,0,45,0,0,0,20,0,0,0,22,0,0,0,32,0,0,0,35,0,0,0,41,0,0,0,44,0,0,0,46,0,0,0,21,0,0,0,33,0,0,0,34,0,0,0,42,0,0,0,43,0,0,0,47,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,14,0,0,0,15,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,13,0,0,0,16,0,0,0,25,0,0,0,3,0,0,0,8,0,0,0,12,0,0,0,17,0,0,0,24,0,0,0,26,0,0,0,9,0,0,0,11,0,0,0,18,0,0,0,23,0,0,0,27,0,0,0,32,0,0,0,10,0,0,0,19,0,0,0,22,0,0,0,28,0,0,0,31,0,0,0,33,0,0,0,20,0,0,0,21,0,0,0,29,0,0,0,30,0,0,0,34,0,0,0,35,0,0,0,
0,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,14,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,13,0,0,0,15,0,0,0,3,0,0,0,8,0,0,0,12,0,0,0,16,0,0,0,21,0,0,0,9,0,0,0,11,0,0,0,17,0,0,0,20,0,0,0,22,0,0,0,10,0,0,0,18,0,0,0,19,0,0,0,23,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,12,0,0,0,3,0,0,0,8,0,0,0,11,0,0,0,13,0,0,0,9,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,
14,0,0,0,15,0,0,0,27,0,0,0,28,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,13,0,0,0,16,0,0,0,26,0,0,0,29,0,0,0,42,0,0,0,3,0,0,0,8,0,0,0,12,0,0,0,17,0,0,0,25,0,0,0,30,0,0,0,41,0,0,0,43,0,0,0,9,0,0,0,11,0,0,0,18,0,0,0,24,0,0,0,31,0,0,0,40,0,0,0,44,0,0,0,53,0,0,0,10,0,0,0,19,0,0,0,23,0,0,0,32,0,0,0,39,0,0,0,45,0,0,0,52,0,0,0,54,0,0,0,20,0,0,0,22,0,0,0,33,0,0,0,38,0,0,0,46,0,0,0,51,0,0,0,55,0,0,0,60,0,0,0,21,0,0,0,34,0,0,0,37,0,0,0,47,0,0,0,50,0,0,0,56,0,0,0,59,0,0,0,61,0,0,0,35,0,0,0,36,0,0,0,48,0,0,0,49,0,0,0,57,
0,0,0,58,0,0,0,62,0,0,0,63,0,0,0,216,37,0,0,184,37,0,0,88,31,0,0,152,29,0,0,64,28,0,0,152,26,0,0,224,24,0,0,240,22,0,0,16,21,0,0,136,19,0,0,160,37,0,0,48,36,0,0,16,34,0,0,128,32,0,0,80,32,0,0,48,32,0,0,8,32,0,0,208,31,0,0,152,31,0,0,128,31,0,0,56,31,0,0,8,31,0,0,184,30,0,0,152,30,0,0,104,30,0,0,72,30,0,0,32,30,0,0,248,29,0,0,208,29,0,0,184,29,0,0,128,29,0,0,104,29,0,0,80,29,0,0,40,29,0,0,16,29,0,0,248,28,0,0,208,28,0,0,184,28,0,0,136,28,0,0,96,28,0,0,24,28,0,0,240,27,0,0,192,27,0,0,168,27,0,0,136,
27,0,0,72,27,0,0,32,27,0,0,248,26,0,0,224,26,0,0,176,26,0,0,112,26,0,0,80,26,0,0,40,26,0,0,0,26,0,0,208,25,0,0,160,25,0,0,128,25,0,0,80,25,0,0,40,25,0,0,0,25,0,0,176,24,0,0,128,24,0,0,80,24,0,0,32,24,0,0,240,23,0,0,200,23,0,0,168,23,0,0,136,23,0,0,80,23,0,0,32,23,0,0,208,22,0,0,168,22,0,0,128,22,0,0,104,22,0,0,80,22,0,0,24,22,0,0,8,22,0,0,200,21,0,0,128,21,0,0,80,21,0,0,224,20,0,0,184,20,0,0,152,20,0,0,104,20,0,0,72,20,0,0,48,20,0,0,24,20,0,0,8,20,0,0,224,19,0,0,168,19,0,0,72,19,0,0,24,19,0,0,240,
18,0,0,200,18,0,0,168,18,0,0,128,18,0,0,88,18,0,0,64,18,0,0,24,18,0,0,240,17,0,0,152,37,0,0,88,37,0,0,24,37,0,0,248,36,0,0,232,36,0,0,200,36,0,0,168,36,0,0,136,36,0,0,104,36,0,0,72,36,0,0,232,35,0,0,168,35,0,0,112,35,0,0,48,35,0,0,24,35,0,0,0,35,0,0,216,34,0,0,176,34,0,0,104,34,0,0,40,34,0,0,216,33,0,0,176,33,0,0,128,33,0,0,96,33,0,0,40,33,0,0,248,32,0,0,200,32,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,16,0,0,0,9,0,0,0,2,0,0,0,3,0,0,0,10,0,0,0,17,0,0,0,24,0,0,0,32,0,0,0,25,0,0,0,18,0,0,0,11,0,0,0,4,0,0,
0,5,0,0,0,12,0,0,0,19,0,0,0,26,0,0,0,33,0,0,0,40,0,0,0,48,0,0,0,41,0,0,0,34,0,0,0,27,0,0,0,20,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,21,0,0,0,28,0,0,0,35,0,0,0,42,0,0,0,49,0,0,0,50,0,0,0,43,0,0,0,36,0,0,0,29,0,0,0,22,0,0,0,30,0,0,0,37,0,0,0,44,0,0,0,51,0,0,0,52,0,0,0,45,0,0,0,38,0,0,0,46,0,0,0,53,0,0,0,54,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,16,0,0,0,9,0,0,0,2,
0,0,0,3,0,0,0,10,0,0,0,17,0,0,0,24,0,0,0,32,0,0,0,25,0,0,0,18,0,0,0,11,0,0,0,4,0,0,0,5,0,0,0,12,0,0,0,19,0,0,0,26,0,0,0,33,0,0,0,40,0,0,0,41,0,0,0,34,0,0,0,27,0,0,0,20,0,0,0,13,0,0,0,21,0,0,0,28,0,0,0,35,0,0,0,42,0,0,0,43,0,0,0,36,0,0,0,29,0,0,0,37,0,0,0,44,0,0,0,45,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,16,0,0,0,9,0,0,0,2,0,0,0,3,0,0,0,10,0,0,0,17,0,0,0,24,0,0,0,
32,0,0,0,25,0,0,0,18,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,19,0,0,0,26,0,0,0,33,0,0,0,34,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,35,0,0,0,36,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,16,0,0,0,9,0,0,0,2,0,0,0,3,0,0,0,10,0,0,0,17,0,0,0,24,0,0,0,25,0,0,0,18,0,0,0,11,0,0,0,19,0,0,0,26,0,0,0,27,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,
0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,16,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,17,0,0,0,18,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,9,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,16,0,0,
0,9,0,0,0,2,0,0,0,3,0,0,0,10,0,0,0,17,0,0,0,24,0,0,0,32,0,0,0,25,0,0,0,18,0,0,0,11,0,0,0,4,0,0,0,5,0,0,0,12,0,0,0,19,0,0,0,26,0,0,0,33,0,0,0,40,0,0,0,48,0,0,0,41,0,0,0,34,0,0,0,27,0,0,0,20,0,0,0,13,0,0,0,6,0,0,0,7,0,0,0,14,0,0,0,21,0,0,0,28,0,0,0,35,0,0,0,42,0,0,0,49,0,0,0,56,0,0,0,57,0,0,0,50,0,0,0,43,0,0,0,36,0,0,0,29,0,0,0,22,0,0,0,15,0,0,0,23,0,0,0,30,0,0,0,37,0,0,0,44,0,0,0,51,0,0,0,58,0,0,0,59,0,0,0,52,0,0,0,45,0,0,0,38,0,0,0,31,0,0,0,39,0,0,0,46,0,0,0,53,0,0,0,60,0,0,0,61,0,0,0,54,0,0,0,47,
0,0,0,55,0,0,0,62,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,129,1,29,90,14,2,134,37,16,3,20,17,18,4,11,8,20,5,216,3,23,6,218,1,25,7,229,0,28,8,111,0,30,9,54,0,33,10,26,0,35,11,13,0,9,12,6,0,10,13,3,0,12,13,1,0,143,15,127,90,36,16,37,63,38,17,242,44,39,18,124,32,40,19,185,23,42,20,130,17,43,21,239,12,45,22,161,9,46,23,47,7,48,24,92,5,49,25,6,4,51,26,3,3,52,27,64,2,54,28,177,1,56,29,
68,1,57,30,245,0,59,31,183,0,60,32,138,0,62,33,104,0,63,34,78,0,32,35,59,0,33,9,44,0,165,37,225,90,64,38,76,72,65,39,13,58,67,40,241,46,68,41,31,38,69,42,51,31,70,43,168,25,72,44,24,21,73,45,119,17,74,46,116,14,75,47,251,11,77,48,248,9,78,49,97,8,79,50,6,7,48,51,205,5,50,52,222,4,50,53,15,4,51,54,99,3,52,55,212,2,53,56,92,2,54,57,248,1,55,58,164,1,56,59,96,1,57,60,37,1,58,61,246,0,59,62,203,0,61,63,171,0,61,32,143,0,193,65,18,91,80,66,4,77,81,67,44,65,82,68,216,55,83,69,232,47,84,70,60,41,86,71,121,
35,87,72,223,30,87,73,169,26,72,74,78,23,72,75,36,20,74,76,156,17,74,77,107,15,75,78,81,13,77,79,182,11,77,48,64,10,208,81,50,88,88,82,28,77,89,83,142,67,90,84,221,59,91,85,238,52,92,86,174,46,93,87,154,41,86,71,22,37,216,89,112,85,95,90,169,76,96,91,217,68,97,92,34,62,99,93,36,56,99,94,180,50,93,86,23,46,223,96,168,86,101,97,70,79,102,98,229,71,103,99,207,65,104,100,61,60,99,93,94,55,105,102,49,82,106,103,15,76,107,104,57,70,103,99,94,65,233,106,39,86,108,107,231,80,109,103,133,75,110,109,151,85,
111,107,79,80,238,111,16,90,112,109,34,85,240,111,235,89,113,113,29,90,64,6,0,0,128,62,0,0,0,0,0,0,136,19,0,0,0,0,0,0,1,0,0,0,3,0,0,0,7,0,0,0,15,0,0,0,31,0,0,0,63,0,0,0,127,0,0,0,255,0,0,0,255,1,0,0,255,3,0,0,255,7,0,0,255,15,0,0,255,31,0,0,255,63,0,0,255,127,0,0,0,192,48,240,12,204,60,252,3,195,51,243,15,207,63,255,128,64,176,112,140,76,188,124,131,67,179,115,143,79,191,127,32,224,16,208,44,236,28,220,35,227,19,211,47,239,31,223,160,96,144,80,172,108,156,92,163,99,147,83,175,111,159,95,8,200,56,
248,4,196,52,244,11,203,59,251,7,199,55,247,136,72,184,120,132,68,180,116,139,75,187,123,135,71,183,119,40,232,24,216,36,228,20,212,43,235,27,219,39,231,23,215,168,104,152,88,164,100,148,84,171,107,155,91,167,103,151,87,2,194,50,242,14,206,62,254,1,193,49,241,13,205,61,253,130,66,178,114,142,78,190,126,129,65,177,113,141,77,189,125,34,226,18,210,46,238,30,222,33,225,17,209,45,237,29,221,162,98,146,82,174,110,158,94,161,97,145,81,173,109,157,93,10,202,58,250,6,198,54,246,9,201,57,249,5,197,53,245,
138,74,186,122,134,70,182,118,137,73,185,121,133,69,181,117,42,234,26,218,38,230,22,214,41,233,25,217,37,229,21,213,170,106,154,90,166,102,150,86,169,105,153,89,165,101,149,85,65,116,32,109,97,114,107,101,114,32,48,120,37,48,50,120,44,32,114,101,99,111,118,101,114,121,32,97,99,116,105,111,110,32,37,100,0,0,0,0,83,101,108,101,99,116,101,100,32,37,100,32,99,111,108,111,114,115,32,102,111,114,32,113,117,97,110,116,105,122,97,116,105,111,110,0,0,0,0,0,81,117,97,110,116,105,122,105,110,103,32,116,111,
32,37,100,32,99,111,108,111,114,115,0,81,117,97,110,116,105,122,105,110,103,32,116,111,32,37,100,32,61,32,37,100,42,37,100,42,37,100,32,99,111,108,111,114,115,0,0,0,0,0,0,32,32,32,32,32,32,32,32,37,52,117,32,37,52,117,32,37,52,117,32,37,52,117,32,37,52,117,32,37,52,117,32,37,52,117,32,37,52,117,0,85,110,101,120,112,101,99,116,101,100,32,109,97,114,107,101,114,32,48,120,37,48,50,120,0,0,0,0,0,0,0,0,77,105,115,99,101,108,108,97,110,101,111,117,115,32,109,97,114,107,101,114,32,48,120,37,48,50,120,44,
32,108,101,110,103,116,104,32,37,117,0,0,32,32,32,32,119,105,116,104,32,37,100,32,120,32,37,100,32,116,104,117,109,98,110,97,105,108,32,105,109,97,103,101,0,0,0,0,0,0,0,0,74,70,73,70,32,101,120,116,101,110,115,105,111,110,32,109,97,114,107,101,114,58,32,116,121,112,101,32,48,120,37,48,50,120,44,32,108,101,110,103,116,104,32,37,117,0,0,0,87,97,114,110,105,110,103,58,32,116,104,117,109,98,110,97,105,108,32,105,109,97,103,101,32,115,105,122,101,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,
32,100,97,116,97,32,108,101,110,103,116,104,32,37,117,0,0,0,0,0,66,111,103,117,115,32,72,117,102,102,109,97,110,32,116,97,98,108,101,32,100,101,102,105,110,105,116,105,111,110,0,0,74,70,73,70,32,65,80,80,48,32,109,97,114,107,101,114,58,32,118,101,114,115,105,111,110,32,37,100,46,37,48,50,100,44,32,100,101,110,115,105,116,121,32,37,100,120,37,100,32,32,37,100,0,0,0,0,32,32,32,32,32,32,32,32,37,51,100,32,37,51,100,32,37,51,100,32,37,51,100,32,37,51,100,32,37,51,100,32,37,51,100,32,37,51,100,0,69,110,
100,32,79,102,32,73,109,97,103,101,0,0,0,0,79,98,116,97,105,110,101,100,32,69,77,83,32,104,97,110,100,108,101,32,37,117,0,0,70,114,101,101,100,32,69,77,83,32,104,97,110,100,108,101,32,37,117,0,0,0,0,0,68,101,102,105,110,101,32,82,101,115,116,97,114,116,32,73,110,116,101,114,118,97,108,32,37,117,0,0,0,0,0,0,68,101,102,105,110,101,32,81,117,97,110,116,105,122,97,116,105,111,110,32,84,97,98,108,101,32,37,100,32,32,112,114,101,99,105,115,105,111,110,32,37,100,0,0,0,0,0,0,68,101,102,105,110,101,32,72,
117,102,102,109,97,110,32,84,97,98,108,101,32,48,120,37,48,50,120,0,0,0,0,0,68,101,102,105,110,101,32,65,114,105,116,104,109,101,116,105,99,32,84,97,98,108,101,32,48,120,37,48,50,120,58,32,48,120,37,48,50,120,0,0,85,110,107,110,111,119,110,32,65,80,80,49,52,32,109,97,114,107,101,114,32,40,110,111,116,32,65,100,111,98,101,41,44,32,108,101,110,103,116,104,32,37,117,0,0,0,0,0,67,111,109,112,111,110,101,110,116,32,105,110,100,101,120,32,37,100,58,32,109,105,115,109,97,116,99,104,105,110,103,32,115,97,
109,112,108,105,110,103,32,114,97,116,105,111,32,37,100,58,37,100,44,32,37,100,58,37,100,44,32,37,99,0,85,110,107,110,111,119,110,32,65,80,80,48,32,109,97,114,107,101,114,32,40,110,111,116,32,74,70,73,70,41,44,32,108,101,110,103,116,104,32,37,117,0,0,0,0,0,0,0,65,100,111,98,101,32,65,80,80,49,52,32,109,97,114,107,101,114,58,32,118,101,114,115,105,111,110,32,37,100,44,32,102,108,97,103,115,32,48,120,37,48,52,120,32,48,120,37,48,52,120,44,32,116,114,97,110,115,102,111,114,109,32,37,100,0,0,0,0,0,0,
0,67,97,117,116,105,111,110,58,32,113,117,97,110,116,105,122,97,116,105,111,110,32,116,97,98,108,101,115,32,97,114,101,32,116,111,111,32,99,111,97,114,115,101,32,102,111,114,32,98,97,115,101,108,105,110,101,32,74,80,69,71,0,0,0,56,99,32,32,49,54,45,74,97,110,45,50,48,49,49,0,67,111,112,121,114,105,103,104,116,32,40,67,41,32,50,48,49,49,44,32,84,104,111,109,97,115,32,71,46,32,76,97,110,101,44,32,71,117,105,100,111,32,86,111,108,108,98,101,100,105,110,103,0,0,0,0,87,114,105,116,101,32,116,111,32,88,
77,83,32,102,97,105,108,101,100,0,0,0,0,0,82,101,97,100,32,102,114,111,109,32,88,77,83,32,102,97,105,108,101,100,0,0,0,0,73,109,97,103,101,32,116,111,111,32,119,105,100,101,32,102,111,114,32,116,104,105,115,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,0,0,86,105,114,116,117,97,108,32,97,114,114,97,121,32,99,111,110,116,114,111,108,108,101,114,32,109,101,115,115,101,100,32,117,112,0,0,0,0,0,0,85,110,115,117,112,112,111,114,116,101,100,32,109,97,114,107,101,114,32,116,121,112,101,32,48,
120,37,48,50,120,0,0,68,67,84,32,115,99,97,108,101,100,32,98,108,111,99,107,32,115,105,122,101,32,37,100,120,37,100,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,0,0,0,0,0,0,65,112,112,108,105,99,97,116,105,111,110,32,116,114,97,110,115,102,101,114,114,101,100,32,116,111,111,32,102,101,119,32,115,99,97,110,108,105,110,101,115,0,0,0,0,0,0,0,87,114,105,116,101,32,102,97,105,108,101,100,32,111,110,32,116,101,109,112,111,114,97,114,121,32,102,105,108,101,32,45,45,45,32,111,117,116,32,111,102,
32,100,105,115,107,32,115,112,97,99,101,63,0,0,0,83,101,101,107,32,102,97,105,108,101,100,32,111,110,32,116,101,109,112,111,114,97,114,121,32,102,105,108,101,0,0,0,82,101,97,100,32,102,97,105,108,101,100,32,111,110,32,116,101,109,112,111,114,97,114,121,32,102,105,108,101,0,0,0,70,97,105,108,101,100,32,116,111,32,99,114,101,97,116,101,32,116,101,109,112,111,114,97,114,121,32,102,105,108,101,32,37,115,0,0,0,0,0,0,73,110,118,97,108,105,100,32,74,80,69,71,32,102,105,108,101,32,115,116,114,117,99,116,
117,114,101,58,32,83,79,83,32,98,101,102,111,114,101,32,83,79,70,0,0,0,0,0,73,110,118,97,108,105,100,32,74,80,69,71,32,102,105,108,101,32,115,116,114,117,99,116,117,114,101,58,32,116,119,111,32,83,79,73,32,109,97,114,107,101,114,115,0,0,0,0,85,110,115,117,112,112,111,114,116,101,100,32,74,80,69,71,32,112,114,111,99,101,115,115,58,32,83,79,70,32,116,121,112,101,32,48,120,37,48,50,120,0,0,0,0,0,0,0,73,110,118,97,108,105,100,32,74,80,69,71,32,102,105,108,101,32,115,116,114,117,99,116,117,114,101,58,
32,109,105,115,115,105,110,103,32,83,79,83,32,109,97,114,107,101,114,0,73,110,118,97,108,105,100,32,74,80,69,71,32,102,105,108,101,32,115,116,114,117,99,116,117,114,101,58,32,116,119,111,32,83,79,70,32,109,97,114,107,101,114,115,0,0,0,0,68,67,84,32,99,111,101,102,102,105,99,105,101,110,116,32,111,117,116,32,111,102,32,114,97,110,103,101,0,0,0,0,67,97,110,110,111,116,32,113,117,97,110,116,105,122,101,32,116,111,32,109,111,114,101,32,116,104,97,110,32,37,100,32,99,111,108,111,114,115,0,0,67,97,110,
110,111,116,32,113,117,97,110,116,105,122,101,32,116,111,32,102,101,119,101,114,32,116,104,97,110,32,37,100,32,99,111,108,111,114,115,0,67,97,110,110,111,116,32,113,117,97,110,116,105,122,101,32,109,111,114,101,32,116,104,97,110,32,37,100,32,99,111,108,111,114,32,99,111,109,112,111,110,101,110,116,115,0,0,0,73,110,115,117,102,102,105,99,105,101,110,116,32,109,101,109,111,114,121,32,40,99,97,115,101,32,37,100,41,0,0,0,78,111,116,32,97,32,74,80,69,71,32,102,105,108,101,58,32,115,116,97,114,116,115,
32,119,105,116,104,32,48,120,37,48,50,120,32,48,120,37,48,50,120,0,0,0,0,0,0,81,117,97,110,116,105,122,97,116,105,111,110,32,116,97,98,108,101,32,48,120,37,48,50,120,32,119,97,115,32,110,111,116,32,100,101,102,105,110,101,100,0,0,0,0,0,0,0,74,80,69,71,32,100,97,116,97,115,116,114,101,97,109,32,99,111,110,116,97,105,110,115,32,110,111,32,105,109,97,103,101,0,0,0,0,0,0,0,72,117,102,102,109,97,110,32,116,97,98,108,101,32,48,120,37,48,50,120,32,119,97,115,32,110,111,116,32,100,101,102,105,110,101,100,
0,0,0,0,66,97,99,107,105,110,103,32,115,116,111,114,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,0,0,0,0,65,114,105,116,104,109,101,116,105,99,32,116,97,98,108,101,32,48,120,37,48,50,120,32,119,97,115,32,110,111,116,32,100,101,102,105,110,101,100,0,73,110,118,97,108,105,100,32,99,114,111,112,32,114,101,113,117,101,115,116,0,0,0,0,82,101,113,117,101,115,116,101,100,32,102,101,97,116,117,114,101,32,119,97,115,32,111,109,105,116,116,101,100,32,97,116,32,99,111,109,112,105,108,101,32,116,
105,109,101,0,0,0,78,111,116,32,105,109,112,108,101,109,101,110,116,101,100,32,121,101,116,0,0,0,0,0,73,110,118,97,108,105,100,32,99,111,108,111,114,32,113,117,97,110,116,105,122,97,116,105,111,110,32,109,111,100,101,32,99,104,97,110,103,101,0,0,83,99,97,110,32,115,99,114,105,112,116,32,100,111,101,115,32,110,111,116,32,116,114,97,110,115,109,105,116,32,97,108,108,32,100,97,116,97,0,0,67,97,110,110,111,116,32,116,114,97,110,115,99,111,100,101,32,100,117,101,32,116,111,32,109,117,108,116,105,112,108,
101,32,117,115,101,32,111,102,32,113,117,97,110,116,105,122,97,116,105,111,110,32,116,97,98,108,101,32,37,100,0,0,0,80,114,101,109,97,116,117,114,101,32,101,110,100,32,111,102,32,105,110,112,117,116,32,102,105,108,101,0,0,0,0,0,69,109,112,116,121,32,105,110,112,117,116,32,102,105,108,101,0,0,0,0,0,0,0,0,77,97,120,105,109,117,109,32,115,117,112,112,111,114,116,101,100,32,105,109,97,103,101,32,100,105,109,101,110,115,105,111,110,32,105,115,32,37,117,32,112,105,120,101,108,115,0,0,77,105,115,115,105,
110,103,32,72,117,102,102,109,97,110,32,99,111,100,101,32,116,97,98,108,101,32,101,110,116,114,121,0,0,0,0,0,0,0,0,72,117,102,102,109,97,110,32,99,111,100,101,32,115,105,122,101,32,116,97,98,108,101,32,111,118,101,114,102,108,111,119,0,0,0,0,0,0,0,0,73,110,118,97,108,105,100,32,99,111,109,112,111,110,101,110,116,32,73,68,32,37,100,32,105,110,32,83,79,83,0,0,70,114,97,99,116,105,111,110,97,108,32,115,97,109,112,108,105,110,103,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,32,121,101,
116,0,79,117,116,112,117,116,32,102,105,108,101,32,119,114,105,116,101,32,101,114,114,111,114,32,45,45,45,32,111,117,116,32,111,102,32,100,105,115,107,32,115,112,97,99,101,63,0,0,73,110,112,117,116,32,102,105,108,101,32,114,101,97,100,32,101,114,114,111,114,0,0,0,68,105,100,110,39,116,32,101,120,112,101,99,116,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,115,99,97,110,0,0,0,0,0,0,0,0,87,114,105,116,101,32,116,111,32,69,77,83,32,102,97,105,108,101,100,0,0,0,0,0,82,101,97,100,32,102,114,111,
109,32,69,77,83,32,102,97,105,108,101,100,0,0,0,0,69,109,112,116,121,32,74,80,69,71,32,105,109,97,103,101,32,40,68,78,76,32,110,111,116,32,115,117,112,112,111,114,116,101,100,41,0,0,0,0,66,111,103,117,115,32,68,81,84,32,105,110,100,101,120,32,37,100,0,0,0,0,0,0,66,111,103,117,115,32,68,72,84,32,105,110,100,101,120,32,37,100,0,0,0,0,0,0,66,111,103,117,115,32,68,65,67,32,118,97,108,117,101,32,48,120,37,120,0,0,0,0,66,111,103,117,115,32,98,117,102,102,101,114,32,99,111,110,116,114,111,108,32,109,111,
100,101,0,0,0,0,0,0,0,66,111,103,117,115,32,68,65,67,32,105,110,100,101,120,32,37,100,0,0,0,0,0,0,85,110,115,117,112,112,111,114,116,101,100,32,99,111,108,111,114,32,99,111,110,118,101,114,115,105,111,110,32,114,101,113,117,101,115,116,0,0,0,0,84,111,111,32,109,97,110,121,32,99,111,108,111,114,32,99,111,109,112,111,110,101,110,116,115,58,32,37,100,44,32,109,97,120,32,37,100,0,0,0,67,67,73,82,54,48,49,32,115,97,109,112,108,105,110,103,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,32,
121,101,116,0,0,0,0,83,117,115,112,101,110,115,105,111,110,32,110,111,116,32,97,108,108,111,119,101,100,32,104,101,114,101,0,0,0,0,0,66,117,102,102,101,114,32,112,97,115,115,101,100,32,116,111,32,74,80,69,71,32,108,105,98,114,97,114,121,32,105,115,32,116,111,111,32,115,109,97,108,108,0,0,0,0,0,0,66,111,103,117,115,32,118,105,114,116,117,97,108,32,97,114,114,97,121,32,97,99,99,101,115,115,0,0,0,0,0,0,74,80,69,71,32,112,97,114,97,109,101,116,101,114,32,115,116,114,117,99,116,32,109,105,115,109,97,116,
99,104,58,32,108,105,98,114,97,114,121,32,116,104,105,110,107,115,32,115,105,122,101,32,105,115,32,37,117,44,32,99,97,108,108,101,114,32,101,120,112,101,99,116,115,32,37,117,0,0,0,0,73,109,112,114,111,112,101,114,32,99,97,108,108,32,116,111,32,74,80,69,71,32,108,105,98,114,97,114,121,32,105,110,32,115,116,97,116,101,32,37,100,0,0,0,0,0,0,0,73,110,118,97,108,105,100,32,115,99,97,110,32,115,99,114,105,112,116,32,97,116,32,101,110,116,114,121,32,37,100,0,77,65,88,95,65,76,76,79,67,95,67,72,85,78,75,
32,105,115,32,119,114,111,110,103,44,32,112,108,101,97,115,101,32,102,105,120,0,0,0,0,66,111,103,117,115,32,115,97,109,112,108,105,110,103,32,102,97,99,116,111,114,115,0,0,73,110,118,97,108,105,100,32,112,114,111,103,114,101,115,115,105,118,101,32,112,97,114,97,109,101,116,101,114,115,32,97,116,32,115,99,97,110,32,115,99,114,105,112,116,32,101,110,116,114,121,32,37,100,0,0,73,110,118,97,108,105,100,32,112,114,111,103,114,101,115,115,105,118,101,32,112,97,114,97,109,101,116,101,114,115,32,83,115,61,
37,100,32,83,101,61,37,100,32,65,104,61,37,100,32,65,108,61,37,100,0,0,85,110,115,117,112,112,111,114,116,101,100,32,74,80,69,71,32,100,97,116,97,32,112,114,101,99,105,115,105,111,110,32,37,100,0,0,0,0,0,0,73,110,118,97,108,105,100,32,109,101,109,111,114,121,32,112,111,111,108,32,99,111,100,101,32,37,100,0,0,0,0,0,83,97,109,112,108,105,110,103,32,102,97,99,116,111,114,115,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,105,110,116,101,114,108,101,97,118,101,100,32,115,99,97,110,0,87,114,111,
110,103,32,74,80,69,71,32,108,105,98,114,97,114,121,32,118,101,114,115,105,111,110,58,32,108,105,98,114,97,114,121,32,105,115,32,37,100,44,32,99,97,108,108,101,114,32,101,120,112,101,99,116,115,32,37,100,0,0,0,0,74,80,69,71,77,69,77,0,65,112,112,108,105,99,97,116,105,111,110,32,116,114,97,110,115,102,101,114,114,101,100,32,116,111,111,32,109,97,110,121,32,115,99,97,110,108,105,110,101,115,0,0,0,0,0,0,73,110,118,97,108,105,100,32,83,79,83,32,112,97,114,97,109,101,116,101,114,115,32,102,111,114,32,
115,101,113,117,101,110,116,105,97,108,32,74,80,69,71,0,0,0,0,0,0,67,111,114,114,117,112,116,32,74,80,69,71,32,100,97,116,97,58,32,102,111,117,110,100,32,109,97,114,107,101,114,32,48,120,37,48,50,120,32,105,110,115,116,101,97,100,32,111,102,32,82,83,84,37,100,0,80,114,101,109,97,116,117,114,101,32,101,110,100,32,111,102,32,74,80,69,71,32,102,105,108,101,0,0,0,0,0,0,87,97,114,110,105,110,103,58,32,117,110,107,110,111,119,110,32,74,70,73,70,32,114,101,118,105,115,105,111,110,32,110,117,109,98,101,114,
32,37,100,46,37,48,50,100,0,0,0,67,111,114,114,117,112,116,32,74,80,69,71,32,100,97,116,97,58,32,98,97,100,32,72,117,102,102,109,97,110,32,99,111,100,101,0,0,0,0,0,67,111,114,114,117,112,116,32,74,80,69,71,32,100,97,116,97,58,32,112,114,101,109,97,116,117,114,101,32,101,110,100,32,111,102,32,100,97,116,97,32,115,101,103,109,101,110,116,0,0,0,0,0,0,0,0,66,111,103,117,115,32,109,97,114,107,101,114,32,108,101,110,103,116,104,0,0,0,0,0,67,111,114,114,117,112,116,32,74,80,69,71,32,100,97,116,97,58,32,
37,117,32,101,120,116,114,97,110,101,111,117,115,32,98,121,116,101,115,32,98,101,102,111,114,101,32,109,97,114,107,101,114,32,48,120,37,48,50,120,0,0,0,0,0,73,110,99,111,110,115,105,115,116,101,110,116,32,112,114,111,103,114,101,115,115,105,111,110,32,115,101,113,117,101,110,99,101,32,102,111,114,32,99,111,109,112,111,110,101,110,116,32,37,100,32,99,111,101,102,102,105,99,105,101,110,116,32,37,100,0,0,0,0,0,0,0,67,111,114,114,117,112,116,32,74,80,69,71,32,100,97,116,97,58,32,98,97,100,32,97,114,105,
116,104,109,101,116,105,99,32,99,111,100,101,0,0,85,110,107,110,111,119,110,32,65,100,111,98,101,32,99,111,108,111,114,32,116,114,97,110,115,102,111,114,109,32,99,111,100,101,32,37,100,0,0,0,79,98,116,97,105,110,101,100,32,88,77,83,32,104,97,110,100,108,101,32,37,117,0,0,70,114,101,101,100,32,88,77,83,32,104,97,110,100,108,101,32,37,117,0,0,0,0,0,85,110,114,101,99,111,103,110,105,122,101,100,32,99,111,109,112,111,110,101,110,116,32,73,68,115,32,37,100,32,37,100,32,37,100,44,32,97,115,115,117,109,
105,110,103,32,89,67,98,67,114,0,0,0,0,0,37,108,100,37,99,0,0,0,74,70,73,70,32,101,120,116,101,110,115,105,111,110,32,109,97,114,107,101,114,58,32,82,71,66,32,116,104,117,109,98,110,97,105,108,32,105,109,97,103,101,44,32,108,101,110,103,116,104,32,37,117,0,0,0,74,70,73,70,32,101,120,116,101,110,115,105,111,110,32,109,97,114,107,101,114,58,32,112,97,108,101,116,116,101,32,116,104,117,109,98,110,97,105,108,32,105,109,97,103,101,44,32,108,101,110,103,116,104,32,37,117,0,0,0,0,0,0,0,74,70,73,70,32,101,
120,116,101,110,115,105,111,110,32,109,97,114,107,101,114,58,32,74,80,69,71,45,99,111,109,112,114,101,115,115,101,100,32,116,104,117,109,98,110,97,105,108,32,105,109,97,103,101,44,32,108,101,110,103,116,104,32,37,117,0,0,0,0,0,0,0,66,111,103,117,115,32,74,80,69,71,32,99,111,108,111,114,115,112,97,99,101,0,0,0,79,112,101,110,101,100,32,116,101,109,112,111,114,97,114,121,32,102,105,108,101,32,37,115,0,0,0,0,0,0,0,0,67,108,111,115,101,100,32,116,101,109,112,111,114,97,114,121,32,102,105,108,101,32,37,
115,0,0,0,0,0,0,0,0,32,32,83,115,61,37,100,44,32,83,101,61,37,100,44,32,65,104,61,37,100,44,32,65,108,61,37,100,0,0,0,0,32,32,32,32,67,111,109,112,111,110,101,110,116,32,37,100,58,32,100,99,61,37,100,32,97,99,61,37,100,0,0,0,83,116,97,114,116,32,79,102,32,83,99,97,110,58,32,37,100,32,99,111,109,112,111,110,101,110,116,115,0,0,0,0,83,116,97,114,116,32,111,102,32,73,109,97,103,101,0,0,32,32,32,32,67,111,109,112,111,110,101,110,116,32,37,100,58,32,37,100,104,120,37,100,118,32,113,61,37,100,0,0,83,116,
97,114,116,32,79,102,32,70,114,97,109,101,32,48,120,37,48,50,120,58,32,119,105,100,116,104,61,37,117,44,32,104,101,105,103,104,116,61,37,117,44,32,99,111,109,112,111,110,101,110,116,115,61,37,100,0,0,0,0,0,0,0,83,109,111,111,116,104,105,110,103,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,119,105,116,104,32,110,111,110,115,116,97,110,100,97,114,100,32,115,97,109,112,108,105,110,103,32,114,97,116,105,111,115,0,0,0,0,0,0,0,0,82,83,84,37,100,0,0,0,66,111,103,117,115,32,105,110,112,117,116,
32,99,111,108,111,114,115,112,97,99,101,0,0,65,76,73,71,78,95,84,89,80,69,32,105,115,32,119,114,111,110,103,44,32,112,108,101,97,115,101,32,102,105,120,0,66,111,103,117,115,32,109,101,115,115,97,103,101,32,99,111,100,101,32,37,100,0,0,0],"i8",Ga,8);var db=ta(Q(12,"i8",P),8);A(0==db%8);function eb(a){v.print("exit("+a+") called");v.exit(a)}v._memset=fb;v._memcpy=gb;v._strlen=hb;function ib(a){return 0>a||0===a&&-Infinity===1/a}
function jb(a,b){function d(a){var d;"double"===a?d=O[b+g>>3]:"i64"==a?(d=[N[b+g>>2],N[b+(g+8)>>2]],g+=8):(a="i32",d=N[b+g>>2]);g+=Math.max(Math.max(ka(a),la),8);return d}for(var e=a,g=0,j=[],i,f;;){var q=e;i=L[e];if(0===i)break;f=L[e+1|0];if(37==i){var x=u,h=u,n=u,p=u,B=u;a:for(;;){switch(f){case 43:x=m;break;case 45:h=m;break;case 35:n=m;break;case 48:if(p)break a;else{p=m;break}case 32:B=m;break;default:break a}e++;f=L[e+1|0]}var y=0;if(42==f)y=d("i32"),e++,f=L[e+1|0];else for(;48<=f&&57>=f;)y=
10*y+(f-48),e++,f=L[e+1|0];var I=u;if(46==f){var t=0,I=m;e++;f=L[e+1|0];if(42==f)t=d("i32"),e++;else for(;;){f=L[e+1|0];if(48>f||57<f)break;t=10*t+(f-48);e++}f=L[e+1|0]}else t=6;var r;switch(String.fromCharCode(f)){case "h":f=L[e+2|0];104==f?(e++,r=1):r=2;break;case "l":f=L[e+2|0];108==f?(e++,r=8):r=4;break;case "L":case "q":case "j":r=8;break;case "z":case "t":case "I":r=4;break;default:r=s}r&&e++;f=L[e+1|0];switch(String.fromCharCode(f)){case "d":case "i":case "u":case "o":case "x":case "X":case "p":q=
100==f||105==f;r=r||4;i=d("i"+8*r);var l;8==r&&(i=117==f?+(i[0]>>>0)+4294967296*+(i[1]>>>0):+(i[0]>>>0)+4294967296*+(i[1]|0));4>=r&&(i=(q?Za:Ya)(i&Math.pow(256,r)-1,8*r));var E=Math.abs(i),q="";if(100==f||105==f)l=Za(i,8*r).toString(10);else if(117==f)l=Ya(i,8*r).toString(10),i=Math.abs(i);else if(111==f)l=(n?"0":"")+E.toString(8);else if(120==f||88==f){q=n&&0!=i?"0x":"";if(0>i){i=-i;l=(E-1).toString(16);E=[];for(n=0;n<l.length;n++)E.push((15-parseInt(l[n],16)).toString(16));for(l=E.join("");l.length<
2*r;)l="f"+l}else l=E.toString(16);88==f&&(q=q.toUpperCase(),l=l.toUpperCase())}else 112==f&&(0===E?l="(nil)":(q="0x",l=E.toString(16)));if(I)for(;l.length<t;)l="0"+l;0<=i&&(x?q="+"+q:B&&(q=" "+q));"-"==l.charAt(0)&&(q="-"+q,l=l.substr(1));for(;q.length+l.length<y;)h?l+=" ":p?l="0"+l:q=" "+q;l=q+l;l.split("").forEach(function(a){j.push(a.charCodeAt(0))});break;case "f":case "F":case "e":case "E":case "g":case "G":i=d("double");if(isNaN(i))l="nan",p=u;else if(isFinite(i)){I=u;r=Math.min(t,20);if(103==
f||71==f)I=m,t=t||1,r=parseInt(i.toExponential(r).split("e")[1],10),t>r&&-4<=r?(f=(103==f?"f":"F").charCodeAt(0),t-=r+1):(f=(103==f?"e":"E").charCodeAt(0),t--),r=Math.min(t,20);if(101==f||69==f)l=i.toExponential(r),/[eE][-+]\d$/.test(l)&&(l=l.slice(0,-1)+"0"+l.slice(-1));else if(102==f||70==f)l=i.toFixed(r),0===i&&ib(i)&&(l="-"+l);q=l.split("e");if(I&&!n)for(;1<q[0].length&&-1!=q[0].indexOf(".")&&("0"==q[0].slice(-1)||"."==q[0].slice(-1));)q[0]=q[0].slice(0,-1);else for(n&&-1==l.indexOf(".")&&(q[0]+=
".");t>r++;)q[0]+="0";l=q[0]+(1<q.length?"e"+q[1]:"");69==f&&(l=l.toUpperCase());0<=i&&(x?l="+"+l:B&&(l=" "+l))}else l=(0>i?"-":"")+"inf",p=u;for(;l.length<y;)l=h?l+" ":p&&("-"==l[0]||"+"==l[0])?l[0]+"0"+l.slice(1):(p?"0":" ")+l;97>f&&(l=l.toUpperCase());l.split("").forEach(function(a){j.push(a.charCodeAt(0))});break;case "s":p=(x=d("i8*"))?hb(x):6;I&&(p=Math.min(p,t));if(!h)for(;p<y--;)j.push(32);if(x)for(n=0;n<p;n++)j.push(R[x++|0]);else j=j.concat(J("(null)".substr(0,p),m));if(h)for(;p<y--;)j.push(32);
break;case "c":for(h&&j.push(d("i8"));0<--y;)j.push(32);h||j.push(d("i8"));break;case "n":h=d("i32*");N[h>>2]=j.length;break;case "%":j.push(i);break;default:for(n=q;n<e+2;n++)j.push(L[n])}e+=2}else j.push(i),e+=1}return j}function kb(a,b,d,e){d=jb(d,e);e=b===k?d.length:Math.min(d.length,Math.max(b-1,0));if(0>a)var a=-a,g=Ha(e+1),a=N[a>>2]=g;for(g=0;g<e;g++)L[a+g|0]=d[g];if(e<b||b===k)L[a+g|0]=0;return d.length}var lb=Q(1,"i32*",P);
function nb(a){var b,d;nb.k?(d=N[lb>>2],b=N[d>>2]):(nb.k=m,V.USER="root",V.PATH="/",V.PWD="/",V.HOME="/home/emscripten",V.LANG="en_US.UTF-8",V._="./this.program",b=Q(1024,"i8",P),d=Q(256,"i8*",P),N[d>>2]=b,N[lb>>2]=d);var e=[],g=0,j;for(j in a)if("string"===typeof a[j]){var i=j+"="+a[j];e.push(i);g+=i.length}1024<g&&c(Error("Environment size exceeded TOTAL_ENV_SIZE!"));for(a=0;a<e.length;a++){i=e[a];for(g=0;g<i.length;g++)L[b+g|0]=i.charCodeAt(g);L[b+g|0]=0;N[d+4*a>>2]=b;b+=i.length+1}N[d+4*e.length>>
2]=0}var V={};function ob(a){if(0===a)return 0;a=K(a);if(!V.hasOwnProperty(a))return 0;ob.n&&pb(ob.n);ob.n=Q(J(V[a]),"i8",Fa);return ob.n}function qb(a){return!!/^[+-]?[0-9]*\.?[0-9]+([eE][+-]?[0-9]+)?$/.exec(a)}
function W(a,b,d,e){W.whiteSpace||(W.whiteSpace={},W.whiteSpace[32]=1,W.whiteSpace[9]=1,W.whiteSpace[10]=1,W.whiteSpace[11]=1,W.whiteSpace[12]=1,W.whiteSpace[13]=1);var a=K(a),g=0;if(0<=a.indexOf("%n"))var j=b,b=function(){g++;return j()},i=d,d=function(){g--;return i()};var f=0,q=0,x=0,h,f=0;a:for(;f<a.length;)if("%"===a[f]&&"n"==a[f+1]){var n=N[e+x>>2],x=x+8;N[n>>2]=g;f+=2}else{if("%"===a[f]){var p=a.indexOf("c",f+1);if(0<p){var B=1;p>f+1&&(h=a.substring(f+1,p),B=parseInt(h),B!=h&&(B=0));if(B){n=
N[e+x>>2];x+=8;q++;for(var y=0;y<B;y++)h=b(),L[n++|0]=h;f+=p-f+1;continue}}}if("%"===a[f]&&0<a.indexOf("[",f+1)&&(p=/\%([0-9]*)\[(\^)?(\]?[^\]]*)\]/.exec(a.substring(f)))){for(var B=parseInt(p[1])||Infinity,I="^"===p[2],t=p[3];h=/([^\-])\-([^\-])/.exec(t);){for(var n=h[1].charCodeAt(0),y=h[2].charCodeAt(0),r="";n<=y;r+=String.fromCharCode(n++));t=t.replace(h[1]+"-"+h[2],r)}n=N[e+x>>2];x+=8;q++;for(y=0;y<B;y++)if(h=b(),I)if(0>t.indexOf(String.fromCharCode(h)))L[n++|0]=h;else{d();break}else if(0<=t.indexOf(String.fromCharCode(h)))L[n++|
0]=h;else{d();break}L[n++|0]=0;f+=p[0].length;continue}for(;;){h=b();if(0==h)return q;if(!(h in W.whiteSpace))break}d();if("%"===a[f]){f++;n=u;"*"==a[f]&&(n=m,f++);for(h=f;48<=a[f].charCodeAt(0)&&57>=a[f].charCodeAt(0);)f++;var l;f!=h&&(l=parseInt(a.slice(h,f),10));I=B=p=u;"l"==a[f]?(p=m,f++,"l"==a[f]&&(I=m,f++)):"h"==a[f]&&(B=m,f++);t=a[f];f++;y=0;r=[];if("f"==t||"e"==t||"g"==t||"F"==t||"E"==t||"G"==t){var E=0;for(h=b();0<h;)r.push(String.fromCharCode(h)),qb(r.join(""))&&(E=r.length),h=b();for(y=
0;y<r.length-E+1;y++)d();r.length=E}else{h=b();E=m;if(("x"==t||"X"==t)&&48==h){var mb=b();120==mb||88==mb?h=b():d()}for(;(y<l||isNaN(l))&&0<h;)if(!(h in W.whiteSpace)&&("s"==t||("d"===t||"u"==t||"i"==t)&&(48<=h&&57>=h||E&&45==h)||("x"===t||"X"===t)&&(48<=h&&57>=h||97<=h&&102>=h||65<=h&&70>=h))&&(f>=a.length||h!==a[f].charCodeAt(0)))r.push(String.fromCharCode(h)),h=b(),y++,E=u;else break;d()}if(0===r.length)return 0;if(!n){h=r.join("");n=N[e+x>>2];x+=8;switch(t){case "d":case "u":case "i":B?M[n>>1]=
parseInt(h,10):I?(H=[parseInt(h,10)>>>0,(tempDouble=parseInt(h,10),1<=+Aa(tempDouble)?0<tempDouble?(Ba(+Ca(tempDouble/4294967296),4294967295)|0)>>>0:~~+Da((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],N[n>>2]=H[0],N[n+4>>2]=H[1]):N[n>>2]=parseInt(h,10);break;case "X":case "x":N[n>>2]=parseInt(h,16);break;case "F":case "f":case "E":case "e":case "G":case "g":case "E":p?O[n>>3]=parseFloat(h):Ea[n>>2]=parseFloat(h);break;case "s":h=J(h);for(y=0;y<h.length;y++)L[n+y|0]=h[y]}q++}}else{if(a[f].charCodeAt(0)in
W.whiteSpace){for(h=b();h in W.whiteSpace;){if(0>=h)break a;h=b()}d(h)}else if(h=b(),a[f].charCodeAt(0)!==h){d(h);break a}f++}}return q}var rb=0;function sb(a){return N[rb>>2]=a}function tb(a){tb.k||(F=F+4095&-4096,tb.k=m,A(ra),tb.o=ra,ra=function(){G("cannot dynamically allocate, sbrk now has control")});var b=F;0!=a&&tb.o(a);return b}nb(V);rb=qa(4);N[rb>>2]=0;Na=z=ta(D);Oa=Na+4194304;Pa=F=ta(Oa);A(Pa<sa);Ba=Math.min;
var X=(function(global,env,buffer) {
// EMSCRIPTEN_START_ASM
"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.NaN;var n=+env.Infinity;var o=0;var p=0;var q=0;var r=0;var s=0,t=0,u=0,v=0,w=0.0,x=0,y=0,z=0,A=0.0;var B=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=global.Math.floor;var M=global.Math.abs;var N=global.Math.sqrt;var O=global.Math.pow;var P=global.Math.cos;var Q=global.Math.sin;var R=global.Math.tan;var S=global.Math.acos;var T=global.Math.asin;var U=global.Math.atan;var V=global.Math.atan2;var W=global.Math.exp;var X=global.Math.log;var Y=global.Math.ceil;var Z=global.Math.imul;var _=env.abort;var $=env.assert;var aa=env.asmPrintInt;var ab=env.asmPrintFloat;var ac=env.min;var ad=env.jsCall;var ae=env.invoke_viiiii;var af=env.invoke_vi;var ag=env.invoke_vii;var ah=env.invoke_iiiiiii;var ai=env.invoke_iiii;var aj=env.invoke_ii;var ak=env.invoke_viii;var al=env.invoke_v;var am=env.invoke_iiiii;var an=env.invoke_viiii;var ao=env.invoke_iii;var ap=env.invoke_iiiiii;var aq=env.invoke_viiiiiii;var ar=env._llvm_lifetime_end;var as=env._sscanf;var at=env._sysconf;var au=env.__scanString;var av=env._abort;var aw=env.__isFloat;var ax=env.___buildEnvironment;var ay=env.__reallyNegative;var az=env._snprintf;var aA=env.___setErrNo;var aB=env._exit;var aC=env._sprintf;var aD=env.__formatString;var aE=env._getenv;var aF=env._sbrk;var aG=env.___errno_location;var aH=env._llvm_lifetime_start;var aI=env._time;var aJ=env.__exit;
// EMSCRIPTEN_START_FUNCS
function aX(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+7&-8;return b|0}function aY(){return i|0}function aZ(a){a=a|0;i=a}function a_(a,b){a=a|0;b=b|0;if((o|0)==0){o=a;p=b}}function a$(b){b=b|0;a[k]=a[b];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 a0(b){b=b|0;a[k]=a[b];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 a1(a){a=a|0;B=a}function a2(a){a=a|0;C=a}function a3(a){a=a|0;D=a}function a4(a){a=a|0;E=a}function a5(a){a=a|0;F=a}function a6(a){a=a|0;G=a}function a7(a){a=a|0;H=a}function a8(a){a=a|0;I=a}function a9(a){a=a|0;J=a}function ba(a){a=a|0;K=a}function bb(){}function bc(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+200|0;d=a|0;e=b|0;aM[c[(c[d>>2]|0)+12>>2]&63](a,e);aL[c[(c[d>>2]|0)+132>>2]&127](e);aB(1)}function bd(a){a=a|0;var b=0;b=c[a+24>>2]|0;c[b>>2]=c[b+28>>2];c[b+4>>2]=0;return}function be(a){a=a|0;var b=0,d=0;b=c[a+24>>2]|0;a=b+28|0;d=aU[c[b+36>>2]&127](c[a>>2]|0,c[b+32>>2]|0)|0;c[b+4>>2]=d;c[b>>2]=c[a>>2];return d|0}function bf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=a+24|0;a=c[d>>2]|0;if((b|0)<1){return}e=a+4|0;f=c[e>>2]|0;do{if((f|0)!=0&f>>>0<b>>>0){g=b-f|0;h=a+28|0;i=aU[c[a+36>>2]&127](c[h>>2]|0,c[a+32>>2]|0)|0;c[e>>2]=i;j=a|0;c[j>>2]=c[h>>2];if((i|0)!=0&g>>>0>i>>>0){k=g;l=i}else{m=g;n=i;o=j;break}while(1){i=c[d>>2]|0;g=k-l|0;h=i+28|0;c[i+4>>2]=aU[c[i+36>>2]&127](c[h>>2]|0,c[i+32>>2]|0)|0;c[i>>2]=c[h>>2];h=c[e>>2]|0;if((h|0)!=0&g>>>0>h>>>0){k=g;l=h}else{m=g;n=h;o=j;break}}}else{m=b;n=f;o=a|0}}while(0);c[o>>2]=(c[o>>2]|0)+m;c[e>>2]=n-m;return}function bg(a){a=a|0;fu(c[(c[a+24>>2]|0)+28>>2]|0);return}function bh(a){a=a|0;var b=0,d=0;b=c[a+24>>2]|0;a=b+28|0;d=ft(c[a>>2]|0)|0;c[b+20>>2]=d;c[b>>2]=d;c[b+4>>2]=c[a>>2];return}function bi(a){a=a|0;var b=0,d=0;b=c[a+24>>2]|0;a=b+20|0;d=b+28|0;aM[c[b+24>>2]&63](c[a>>2]|0,c[d>>2]|0);c[b>>2]=c[a>>2];c[b+4>>2]=c[d>>2];return 1}function bj(a){a=a|0;var b=0;b=c[a+24>>2]|0;a=b+20|0;aM[c[b+24>>2]&63](c[a>>2]|0,(c[b+28>>2]|0)-(c[b+4>>2]|0)|0);fu(c[a>>2]|0);return}function bk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=ft(496)|0;d=ft(136)|0;c[d+132>>2]=a;c[d+4>>2]=20;c[d+12>>2]=36;c[d+16>>2]=86;c[d+104>>2]=0;c[d+108>>2]=0;c[d+20>>2]=0;c[d+112>>2]=2016;c[d+116>>2]=126;c[d+120>>2]=0;c[d+124>>2]=0;c[d+128>>2]=0;c[d+8>>2]=0;c[d>>2]=70;a=b+4|0;c[a>>2]=0;e=b;f=b+12|0;g=c[f>>2]|0;fv(b|0,0,488);c[b>>2]=d;c[f>>2]=g;c[b+16>>2]=1;cM(b);c[b+8>>2]=0;c[b+24>>2]=0;c[b+308>>2]=0;fv(b+164|0,0,48);g=aO[c[c[a>>2]>>2]&15](e,0,172)|0;f=b+460|0;c[f>>2]=g;c[g>>2]=74;c[g+4>>2]=16;c[g+8>>2]=20;c[g+28>>2]=24;c[g+96>>2]=0;c[g+100>>2]=0;c[g+36>>2]=24;c[g+104>>2]=0;c[g+40>>2]=24;c[g+108>>2]=0;c[g+44>>2]=24;c[g+112>>2]=0;c[g+48>>2]=24;c[g+116>>2]=0;c[g+52>>2]=24;c[g+120>>2]=0;c[g+56>>2]=24;c[g+124>>2]=0;c[g+60>>2]=24;c[g+128>>2]=0;c[g+64>>2]=24;c[g+132>>2]=0;c[g+68>>2]=24;c[g+136>>2]=0;c[g+72>>2]=24;c[g+140>>2]=0;c[g+76>>2]=24;c[g+144>>2]=0;c[g+80>>2]=24;c[g+148>>2]=0;c[g+84>>2]=24;c[g+152>>2]=0;c[g+156>>2]=0;c[g+92>>2]=24;c[g+160>>2]=0;c[g+32>>2]=14;c[g+88>>2]=14;g=c[f>>2]|0;c[b+216>>2]=0;c[b+144>>2]=0;c[b+436>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+24>>2]=0;c[g+164>>2]=0;g=aO[c[c[a>>2]>>2]&15](e,0,28)|0;c[b+456>>2]=g;c[g>>2]=22;c[g+4>>2]=46;c[g+8>>2]=58;c[g+12>>2]=66;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=1;c[b+20>>2]=200;return b|0}function bl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=aO[c[c[a+4>>2]>>2]&15](a,1,40)|0;c[a+24>>2]=e;c[e+28>>2]=ft(b)|0;c[e+32>>2]=b;c[e+36>>2]=d;c[e+8>>2]=40;c[e+12>>2]=26;c[e+16>>2]=12;c[e+20>>2]=42;c[e+24>>2]=42;c[e>>2]=0;c[e+4>>2]=0;return}function bm(a){a=a|0;var b=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;b=a;e=a+20|0;f=c[e>>2]|0;if((f-200|0)>>>0<2){g=f}else{f=a;c[(c[f>>2]|0)+20>>2]=21;c[(c[f>>2]|0)+24>>2]=c[e>>2];aL[c[c[f>>2]>>2]&127](a);g=c[e>>2]|0}switch(g|0){case 201:{i=a+456|0;j=24;break};case 200:{g=a+456|0;aL[c[(c[g>>2]|0)+4>>2]&127](b);aL[c[(c[a+24>>2]|0)+8>>2]&127](b);c[e>>2]=201;i=g;j=24;break};case 203:case 204:case 205:case 206:case 207:case 208:case 210:{k=aP[c[c[a+456>>2]>>2]&31](b)|0;break};case 202:{return};default:{g=a;c[(c[g>>2]|0)+20>>2]=21;c[(c[g>>2]|0)+24>>2]=c[e>>2];aL[c[c[g>>2]>>2]&127](a);return}}do{if((j|0)==24){g=aP[c[c[i>>2]>>2]&31](b)|0;if((g|0)!=1){k=g;break}g=c[a+36>>2]|0;if((g|0)==1){c[a+40>>2]=1;c[a+44>>2]=1}else if((g|0)==3){do{if((c[a+284>>2]|0)==0){if((c[a+296>>2]|0)!=0){f=a+300|0;l=d[f]|0;if((l|0)==0){c[a+40>>2]=2;break}else if((l|0)==1){c[a+40>>2]=3;break}else{l=a;c[(c[l>>2]|0)+20>>2]=116;c[(c[l>>2]|0)+24>>2]=d[f]|0;aM[c[(c[l>>2]|0)+4>>2]&63](a,-1);c[a+40>>2]=3;break}}l=c[a+216>>2]|0;f=c[l>>2]|0;m=c[l+88>>2]|0;n=c[l+176>>2]|0;if((f|0)==1&(m|0)==2&(n|0)==3){c[a+40>>2]=3;break}if((f|0)==82&(m|0)==71&(n|0)==66){c[a+40>>2]=2;break}else{l=a;o=c[l>>2]|0;c[o+24>>2]=f;c[o+28>>2]=m;c[o+32>>2]=n;c[(c[l>>2]|0)+20>>2]=113;aM[c[(c[l>>2]|0)+4>>2]&63](a,1);c[a+40>>2]=3;break}}else{c[a+40>>2]=3}}while(0);c[a+44>>2]=2}else if((g|0)==4){do{if((c[a+296>>2]|0)==0){c[a+40>>2]=4}else{l=a+300|0;n=d[l]|0;if((n|0)==0){c[a+40>>2]=4;break}else if((n|0)==2){c[a+40>>2]=5;break}else{n=a;c[(c[n>>2]|0)+20>>2]=116;c[(c[n>>2]|0)+24>>2]=d[l]|0;aM[c[(c[n>>2]|0)+4>>2]&63](a,-1);c[a+40>>2]=5;break}}}while(0);c[a+44>>2]=4}else{c[a+40>>2]=0;c[a+44>>2]=0}g=c[a+424>>2]|0;c[a+48>>2]=g;c[a+52>>2]=g;h[a+56>>3]=1.0;c[a+64>>2]=0;c[a+68>>2]=0;c[a+72>>2]=0;c[a+76>>2]=1;c[a+80>>2]=1;c[a+84>>2]=0;c[a+88>>2]=2;c[a+92>>2]=1;c[a+96>>2]=256;c[a+136>>2]=0;c[a+100>>2]=0;c[a+104>>2]=0;c[a+108>>2]=0;c[e>>2]=202;return}}while(0);if((k|0)!=2){return}k=a;c[(c[k>>2]|0)+20>>2]=53;aL[c[c[k>>2]>>2]&127](a);k=c[a+4>>2]|0;if((k|0)==0){return}aM[c[k+36>>2]&63](a,1);if((c[a+16>>2]|0)==0){c[e>>2]=100;return}else{c[e>>2]=200;c[a+308>>2]=0;return}}function bn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,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,_=0,$=0,aa=0,ab=0,ac=0,ad=0,ae=0,af=0,ag=0,ah=0,ai=0,aj=0,ak=0,al=0,am=0,an=0,ao=0,ap=0,aq=0,ar=0,as=0,at=0,au=0,av=0,aw=0,ax=0,ay=0,az=0,aA=0,aB=0,aC=0,aD=0,aE=0,aF=0,aG=0;f=b+48|0;c[f>>2]=d;d=b+52|0;c[d>>2]=e;e=b;g=b+20|0;h=c[g>>2]|0;do{if((h|0)==204){i=b+440|0}else if((h|0)==203){j=b+456|0;k=308}else if((h|0)==202){l=b;m=b+4|0;n=b;o=aO[c[c[m>>2]>>2]&15](n,1,28)|0;p=b+440|0;c[p>>2]=o;c[o>>2]=36;c[o+4>>2]=32;c[o+8>>2]=0;o=c[p>>2]|0;if((c[g>>2]|0)!=202){p=b;c[(c[p>>2]|0)+20>>2]=21;c[(c[p>>2]|0)+24>>2]=c[g>>2];aL[c[c[p>>2]>>2]&127](n)}p=b+424|0;q=c[p>>2]|0;r=Z(q,c[f>>2]|0)|0;s=c[d>>2]|0;do{if(r>>>0>s>>>0){if(r>>>0<=s<<1>>>0){c[b+112>>2]=(q-1+(c[b+28>>2]<<1)|0)/(q|0)|0;c[b+116>>2]=((c[b+32>>2]<<1)-1+q|0)/(q|0)|0;c[b+320>>2]=2;c[b+324>>2]=2;t=2;break}if(r>>>0<=(s*3|0)>>>0){c[b+112>>2]=(q-1+((c[b+28>>2]|0)*3|0)|0)/(q|0)|0;c[b+116>>2]=(((c[b+32>>2]|0)*3|0)-1+q|0)/(q|0)|0;c[b+320>>2]=3;c[b+324>>2]=3;t=3;break}if(r>>>0<=s<<2>>>0){c[b+112>>2]=(q-1+(c[b+28>>2]<<2)|0)/(q|0)|0;c[b+116>>2]=((c[b+32>>2]<<2)-1+q|0)/(q|0)|0;c[b+320>>2]=4;c[b+324>>2]=4;t=4;break}if(r>>>0<=(s*5|0)>>>0){c[b+112>>2]=(q-1+((c[b+28>>2]|0)*5|0)|0)/(q|0)|0;c[b+116>>2]=(((c[b+32>>2]|0)*5|0)-1+q|0)/(q|0)|0;c[b+320>>2]=5;c[b+324>>2]=5;t=5;break}if(r>>>0<=(s*6|0)>>>0){c[b+112>>2]=(q-1+((c[b+28>>2]|0)*6|0)|0)/(q|0)|0;c[b+116>>2]=(((c[b+32>>2]|0)*6|0)-1+q|0)/(q|0)|0;c[b+320>>2]=6;c[b+324>>2]=6;t=6;break}if(r>>>0<=(s*7|0)>>>0){c[b+112>>2]=(q-1+((c[b+28>>2]|0)*7|0)|0)/(q|0)|0;c[b+116>>2]=(((c[b+32>>2]|0)*7|0)-1+q|0)/(q|0)|0;c[b+320>>2]=7;c[b+324>>2]=7;t=7;break}if(r>>>0<=s<<3>>>0){c[b+112>>2]=(q-1+(c[b+28>>2]<<3)|0)/(q|0)|0;c[b+116>>2]=((c[b+32>>2]<<3)-1+q|0)/(q|0)|0;c[b+320>>2]=8;c[b+324>>2]=8;t=8;break}if(r>>>0<=(s*9|0)>>>0){c[b+112>>2]=(q-1+((c[b+28>>2]|0)*9|0)|0)/(q|0)|0;c[b+116>>2]=(((c[b+32>>2]|0)*9|0)-1+q|0)/(q|0)|0;c[b+320>>2]=9;c[b+324>>2]=9;t=9;break}if(r>>>0<=(s*10|0)>>>0){c[b+112>>2]=(q-1+((c[b+28>>2]|0)*10|0)|0)/(q|0)|0;c[b+116>>2]=(((c[b+32>>2]|0)*10|0)-1+q|0)/(q|0)|0;c[b+320>>2]=10;c[b+324>>2]=10;t=10;break}if(r>>>0<=(s*11|0)>>>0){c[b+112>>2]=(q-1+((c[b+28>>2]|0)*11|0)|0)/(q|0)|0;c[b+116>>2]=(((c[b+32>>2]|0)*11|0)-1+q|0)/(q|0)|0;c[b+320>>2]=11;c[b+324>>2]=11;t=11;break}if(r>>>0<=(s*12|0)>>>0){c[b+112>>2]=(q-1+((c[b+28>>2]|0)*12|0)|0)/(q|0)|0;c[b+116>>2]=(((c[b+32>>2]|0)*12|0)-1+q|0)/(q|0)|0;c[b+320>>2]=12;c[b+324>>2]=12;t=12;break}if(r>>>0<=(s*13|0)>>>0){c[b+112>>2]=(q-1+((c[b+28>>2]|0)*13|0)|0)/(q|0)|0;c[b+116>>2]=(((c[b+32>>2]|0)*13|0)-1+q|0)/(q|0)|0;c[b+320>>2]=13;c[b+324>>2]=13;t=13;break}if(r>>>0<=(s*14|0)>>>0){c[b+112>>2]=(q-1+((c[b+28>>2]|0)*14|0)|0)/(q|0)|0;c[b+116>>2]=(((c[b+32>>2]|0)*14|0)-1+q|0)/(q|0)|0;c[b+320>>2]=14;c[b+324>>2]=14;t=14;break}u=c[b+28>>2]|0;if(r>>>0>(s*15|0)>>>0){c[b+112>>2]=(q-1+(u<<4)|0)/(q|0)|0;c[b+116>>2]=((c[b+32>>2]<<4)-1+q|0)/(q|0)|0;c[b+320>>2]=16;c[b+324>>2]=16;t=16;break}else{c[b+112>>2]=(q-1+(u*15|0)|0)/(q|0)|0;c[b+116>>2]=(((c[b+32>>2]|0)*15|0)-1+q|0)/(q|0)|0;c[b+320>>2]=15;c[b+324>>2]=15;t=15;break}}else{c[b+112>>2]=(q-1+(c[b+28>>2]|0)|0)/(q|0)|0;c[b+116>>2]=((c[b+32>>2]|0)-1+q|0)/(q|0)|0;c[b+320>>2]=1;c[b+324>>2]=1;t=1}}while(0);q=b+36|0;s=c[q>>2]|0;r=b+216|0;do{if((s|0)>0){u=b+320|0;v=b+324|0;w=1;x=c[r>>2]|0;y=t;while(1){c[x+36>>2]=y;c[x+40>>2]=c[v>>2];z=c[q>>2]|0;if((w|0)>=(z|0)){A=z;B=r;break}w=w+1|0;x=x+88|0;y=c[u>>2]|0}if((A|0)<=0){C=A;D=B;break}u=b+312|0;y=b+320|0;x=b+76|0;w=b+316|0;v=b+324|0;z=1;E=c[B>>2]|0;while(1){F=c[y>>2]|0;G=(c[x>>2]|0)!=0?8:4;H=E+8|0;I=1;do{J=Z(F,I)|0;if((J|0)>(G|0)){break}K=c[u>>2]|0;I=I<<1;}while(((K|0)%(Z(I,c[H>>2]|0)|0)|0|0)==0);H=E+36|0;c[H>>2]=J;I=c[v>>2]|0;G=(c[x>>2]|0)!=0?8:4;F=E+12|0;K=1;do{L=Z(I,K)|0;if((L|0)>(G|0)){break}M=c[w>>2]|0;K=K<<1;}while(((M|0)%(Z(K,c[F>>2]|0)|0)|0|0)==0);F=E+40|0;c[F>>2]=L;K=L<<1;do{if((J|0)>(K|0)){c[H>>2]=K}else{G=J<<1;if((L|0)<=(G|0)){break}c[F>>2]=G}}while(0);N=c[q>>2]|0;if((z|0)>=(N|0)){break}z=z+1|0;E=E+88|0}if((N|0)<=0){C=N;D=B;break}E=b+28|0;z=b+32|0;x=0;v=c[B>>2]|0;while(1){y=c[v+36>>2]|0;F=Z(Z(c[v+8>>2]|0,c[E>>2]|0)|0,y)|0;y=Z(c[p>>2]|0,c[u>>2]|0)|0;c[v+44>>2]=(F-1+y|0)/(y|0)|0;y=c[v+40>>2]|0;F=Z(Z(c[v+12>>2]|0,c[z>>2]|0)|0,y)|0;y=Z(c[p>>2]|0,c[w>>2]|0)|0;c[v+48>>2]=(F-1+y|0)/(y|0)|0;y=x+1|0;F=c[q>>2]|0;if((y|0)<(F|0)){x=y;v=v+88|0}else{C=F;D=B;break}}}else{C=s;D=r}}while(0);r=b+44|0;switch(c[r>>2]|0){case 1:{c[b+120>>2]=1;O=1;break};case 2:case 3:{c[b+120>>2]=3;O=3;break};case 4:case 5:{c[b+120>>2]=4;O=4;break};default:{c[b+120>>2]=C;O=C}}s=b+84|0;p=b+124|0;c[p>>2]=(c[s>>2]|0)==0?O:1;if((co(l)|0)==0){c[b+128>>2]=1}else{c[b+128>>2]=c[b+316>>2]}v=aO[c[c[m>>2]>>2]&15](n,1,1408)|0;x=b+332|0;c[x>>2]=v+256;fv(v|0,0,256);w=0;do{a[v+(w+256)|0]=w&255;w=w+1|0;}while((w|0)<256);fv(v+512|0,-1|0,384);fv(v+896|0,0,384);w=v+1280|0;z=c[x>>2]|0;fw(w|0,z|0,128)|0;z=b+120|0;w=o+12|0;u=w;E=w|0;c[E>>2]=0;w=o+16|0;F=w;c[w>>2]=co(l)|0;w=o+20|0;c[w>>2]=0;y=o+24|0;c[y>>2]=0;do{if((c[s>>2]|0)==0){c[b+100>>2]=0;c[b+104>>2]=0;c[b+108>>2]=0;P=b+68|0}else{if((c[b+64>>2]|0)==0){c[b+100>>2]=0;c[b+104>>2]=0;c[b+108>>2]=0}K=b+68|0;if((c[K>>2]|0)!=0){H=b;c[(c[H>>2]|0)+20>>2]=48;aL[c[c[H>>2]>>2]&127](n)}do{if((c[z>>2]|0)==3){if((c[b+136>>2]|0)!=0){c[b+104>>2]=1;break}if((c[b+92>>2]|0)==0){c[b+100>>2]=1;break}else{c[b+108>>2]=1;break}}else{c[b+100>>2]=1;c[b+104>>2]=0;c[b+108>>2]=0;c[b+136>>2]=0}}while(0);if((c[b+100>>2]|0)!=0){H=aO[c[c[m>>2]>>2]&15](n,1,88)|0;G=b+480|0;c[G>>2]=H;c[H>>2]=18;c[H+8>>2]=48;c[H+12>>2]=96;c[H+68>>2]=0;c[H+52>>2]=0;if((c[z>>2]|0)>4){H=b;c[(c[H>>2]|0)+20>>2]=57;c[(c[H>>2]|0)+24>>2]=4;aL[c[c[H>>2]>>2]&127](n)}H=b+96|0;I=c[H>>2]|0;if((I|0)>256){M=b;c[(c[M>>2]|0)+20>>2]=59;c[(c[M>>2]|0)+24>>2]=256;aL[c[c[M>>2]>>2]&127](n);Q=c[H>>2]|0}else{Q=I}I=c[G>>2]|0;H=I+32|0;M=H;R=H;H=c[z>>2]|0;if((H|0)>1){S=1;while(1){T=S+1|0;U=1;V=T;do{V=Z(V,T)|0;U=U+1|0;}while((U|0)<(H|0));if((V|0)>(Q|0)){W=S;X=V;break}else{S=T}}}else{S=(Q|0)>1?Q:1;W=S;X=S+1|0}if((W|0)<2){S=b;c[(c[S>>2]|0)+20>>2]=58;c[(c[S>>2]|0)+24>>2]=X;aL[c[c[S>>2]>>2]&127](n)}if((H|0)>0){S=0;U=1;while(1){c[R+(S<<2)>>2]=W;Y=Z(U,W)|0;_=S+1|0;if((_|0)<(H|0)){S=_;U=Y}else{$=0;aa=Y;ab=0;break}}}else{$=0;aa=1;ab=0}L213:while(1){U=$;S=ab;while(1){if((S|0)<(H|0)){if((c[r>>2]|0)==2){ac=c[1176+(S<<2)>>2]|0}else{ac=S}ad=R+(ac<<2)|0;Y=c[ad>>2]|0;ae=Y+1|0;af=Z((aa|0)/(Y|0)|0,ae)|0;if((af|0)<=(Q|0)){break}}if((U|0)==0){break L213}else{U=0;S=0}}c[ad>>2]=ae;$=1;aa=af;ab=S+1|0}H=b;U=c[H>>2]|0;if((c[z>>2]|0)==3){c[U+24>>2]=aa;c[U+28>>2]=c[R>>2];c[U+32>>2]=c[I+36>>2];c[U+36>>2]=c[I+40>>2];c[(c[H>>2]|0)+20>>2]=96;aM[c[(c[H>>2]|0)+4>>2]&63](n,1)}else{c[U+20>>2]=97;c[(c[H>>2]|0)+24>>2]=aa;aM[c[(c[H>>2]|0)+4>>2]&63](n,1)}H=aS[c[(c[m>>2]|0)+8>>2]&15](n,1,aa,c[z>>2]|0)|0;U=c[z>>2]|0;if((U|0)>0){T=aa;V=0;Y=U;while(1){U=c[M+(V<<2)>>2]|0;_=(T|0)/(U|0)|0;L232:do{if((U|0)>0){ag=U-1|0;ah=(ag|0)/2|0;ai=H+(V<<2)|0;if((_|0)>0){aj=0}else{ak=0;while(1){al=Z(ak,_)|0;if((al|0)<(aa|0)){am=al;do{am=am+T|0;}while((am|0)<(aa|0))}am=ak+1|0;if((am|0)<(U|0)){ak=am}else{an=Y;break L232}}}do{ak=Z(aj,_)|0;if((ak|0)<(aa|0)){am=(((aj*255|0)+ah|0)/(ag|0)|0)&255;al=ak;do{ak=0;do{a[(c[ai>>2]|0)+(ak+al)|0]=am;ak=ak+1|0;}while((ak|0)<(_|0));al=al+T|0;}while((al|0)<(aa|0))}aj=aj+1|0;}while((aj|0)<(U|0));an=c[z>>2]|0}else{an=Y}}while(0);U=V+1|0;if((U|0)<(an|0)){T=_;V=U;Y=an}else{break}}}c[I+16>>2]=H;c[I+20>>2]=aa;c$(l);do{if((c[b+88>>2]|0)==2){Y=(c[b+112>>2]<<1)+4|0;if((c[z>>2]|0)<=0){break}V=(c[G>>2]|0)+68|0;T=0;do{c[V+(T<<2)>>2]=aO[c[(c[m>>2]|0)+4>>2]&15](n,1,Y)|0;T=T+1|0;}while((T|0)<(c[z>>2]|0))}}while(0);c[w>>2]=c[G>>2]}I=b+108|0;if((c[I>>2]|0)==0){if((c[b+104>>2]|0)==0){P=K;break}}H=aO[c[c[m>>2]>>2]&15](n,1,44)|0;T=b+480|0;c[T>>2]=H;c[H>>2]=10;c[H+12>>2]=68;Y=H+32|0;c[Y>>2]=0;c[H+40>>2]=0;if((c[z>>2]|0)!=3){V=b;c[(c[V>>2]|0)+20>>2]=48;aL[c[c[V>>2]>>2]&127](n)}V=H+24|0;c[V>>2]=aO[c[c[m>>2]>>2]&15](n,1,128)|0;_=0;do{M=aO[c[(c[m>>2]|0)+4>>2]&15](n,1,4096)|0;c[(c[V>>2]|0)+(_<<2)>>2]=M;_=_+1|0;}while((_|0)<32);c[H+28>>2]=1;if((c[I>>2]|0)==0){c[H+16>>2]=0}else{_=c[b+96>>2]|0;do{if((_|0)<8){V=b;c[(c[V>>2]|0)+20>>2]=58;c[(c[V>>2]|0)+24>>2]=8;aL[c[c[V>>2]>>2]&127](n)}else{if((_|0)<=256){break}V=b;c[(c[V>>2]|0)+20>>2]=59;c[(c[V>>2]|0)+24>>2]=256;aL[c[c[V>>2]>>2]&127](n)}}while(0);c[H+16>>2]=aS[c[(c[m>>2]|0)+8>>2]&15](n,1,_,3)|0;c[H+20>>2]=_}I=b+88|0;if((c[I>>2]|0)!=0){c[I>>2]=2;c[Y>>2]=aO[c[(c[m>>2]|0)+4>>2]&15](n,1,((c[b+112>>2]|0)*6|0)+12|0)|0;c7(l)}c[y>>2]=c[T>>2];P=K}}while(0);do{if((c[P>>2]|0)==0){y=c[c[m>>2]>>2]|0;do{if((c[F>>2]|0)==0){w=aO[y&15](n,1,24)|0;o=b+476|0;c[o>>2]=w;c[w>>2]=88;x=b+40|0;L295:do{switch(c[x>>2]|0){case 1:{if((c[q>>2]|0)==1){break L295}v=b;c[(c[v>>2]|0)+20>>2]=11;aL[c[c[v>>2]>>2]&127](n);break};case 2:case 3:{if((c[q>>2]|0)==3){break L295}v=b;c[(c[v>>2]|0)+20>>2]=11;aL[c[c[v>>2]>>2]&127](n);break};case 4:case 5:{if((c[q>>2]|0)==4){break L295}v=b;c[(c[v>>2]|0)+20>>2]=11;aL[c[c[v>>2]>>2]&127](n);break};default:{if((c[q>>2]|0)>=1){break L295}v=b;c[(c[v>>2]|0)+20>>2]=11;aL[c[c[v>>2]>>2]&127](n)}}}while(0);v=c[r>>2]|0;do{if((v|0)==1){c[z>>2]=1;I=c[x>>2]|0;if(!((I|0)==1|(I|0)==3)){I=b;c[(c[I>>2]|0)+20>>2]=28;aL[c[c[I>>2]>>2]&127](n);break}c[w+4>>2]=18;if((c[q>>2]|0)>1){ao=1}else{break}do{c[(c[D>>2]|0)+(ao*88|0)+52>>2]=0;ao=ao+1|0;}while((ao|0)<(c[q>>2]|0))}else if((v|0)==2){c[z>>2]=3;I=c[x>>2]|0;if((I|0)==3){c[w+4>>2]=94;V=c[o>>2]|0;G=V+8|0;M=G;c[G>>2]=aO[c[c[m>>2]>>2]&15](n,1,1024)|0;G=V+12|0;c[G>>2]=aO[c[c[m>>2]>>2]&15](n,1,1024)|0;R=V+16|0;U=R;c[R>>2]=aO[c[c[m>>2]>>2]&15](n,1,1024)|0;R=V+20|0;c[R>>2]=aO[c[c[m>>2]>>2]&15](n,1,1024)|0;V=0;S=-128;while(1){c[(c[M>>2]|0)+(V<<2)>>2]=(S*91881|0)+32768>>16;c[(c[G>>2]|0)+(V<<2)>>2]=(S*116130|0)+32768>>16;c[(c[U>>2]|0)+(V<<2)>>2]=S*-46802|0;c[(c[R>>2]|0)+(V<<2)>>2]=(S*-22554|0)+32768;ai=V+1|0;if((ai|0)<256){V=ai;S=S+1|0}else{break}}}else if((I|0)==1){c[w+4>>2]=10;break}else if((I|0)==2){c[w+4>>2]=46;break}else{S=b;c[(c[S>>2]|0)+20>>2]=28;aL[c[c[S>>2]>>2]&127](n);break}}else if((v|0)==4){c[z>>2]=4;S=c[x>>2]|0;if((S|0)==5){c[w+4>>2]=86;V=c[o>>2]|0;R=V+8|0;U=R;c[R>>2]=aO[c[c[m>>2]>>2]&15](n,1,1024)|0;R=V+12|0;c[R>>2]=aO[c[c[m>>2]>>2]&15](n,1,1024)|0;G=V+16|0;M=G;c[G>>2]=aO[c[c[m>>2]>>2]&15](n,1,1024)|0;G=V+20|0;c[G>>2]=aO[c[c[m>>2]>>2]&15](n,1,1024)|0;V=0;ai=-128;while(1){c[(c[U>>2]|0)+(V<<2)>>2]=(ai*91881|0)+32768>>16;c[(c[R>>2]|0)+(V<<2)>>2]=(ai*116130|0)+32768>>16;c[(c[M>>2]|0)+(V<<2)>>2]=ai*-46802|0;c[(c[G>>2]|0)+(V<<2)>>2]=(ai*-22554|0)+32768;ag=V+1|0;if((ag|0)<256){V=ag;ai=ai+1|0}else{break}}}else if((S|0)==4){c[w+4>>2]=46;break}else{ai=b;c[(c[ai>>2]|0)+20>>2]=28;aL[c[c[ai>>2]>>2]&127](n);break}}else{if((v|0)==(c[x>>2]|0)){c[z>>2]=c[q>>2];c[w+4>>2]=46;break}else{ai=b;c[(c[ai>>2]|0)+20>>2]=28;aL[c[c[ai>>2]>>2]&127](n);break}}}while(0);if((c[s>>2]|0)==0){ap=c[z>>2]|0}else{ap=1}c[p>>2]=ap;w=aO[c[c[m>>2]>>2]&15](n,1,160)|0;c[b+472>>2]=w;c[w>>2]=76;c[w+4>>2]=26;c[w+8>>2]=0;if((c[b+304>>2]|0)!=0){x=b;c[(c[x>>2]|0)+20>>2]=26;aL[c[c[x>>2]>>2]&127](n)}if((c[q>>2]|0)<=0){break}x=b+320|0;v=b+324|0;o=b+312|0;ai=b+316|0;V=w+100|0;G=w+52|0;M=b+112|0;R=w+12|0;U=b;I=c[D>>2]|0;ag=0;while(1){ah=Z(c[I+36>>2]|0,c[I+8>>2]|0)|0;al=(ah|0)/(c[x>>2]|0)|0;ah=Z(c[I+40>>2]|0,c[I+12>>2]|0)|0;am=(ah|0)/(c[v>>2]|0)|0;ah=c[o>>2]|0;ak=c[ai>>2]|0;c[V+(ag<<2)>>2]=am;do{if((c[I+52>>2]|0)==0){c[G+(ag<<2)>>2]=28}else{aq=(am|0)==(ak|0);if((al|0)==(ah|0)&aq){c[G+(ag<<2)>>2]=20;break}ar=(al<<1|0)==(ah|0);L347:do{if(ar&aq){c[G+(ag<<2)>>2]=30}else{do{if(ar){if((am<<1|0)!=(ak|0)){break}c[G+(ag<<2)>>2]=50;break L347}}while(0);do{if(((ah|0)%(al|0)|0|0)==0){if(((ak|0)%(am|0)|0|0)!=0){break}c[G+(ag<<2)>>2]=42;a[w+(ag+140)|0]=((ah|0)/(al|0)|0)&255;a[w+(ag+150)|0]=((ak|0)/(am|0)|0)&255;break L347}}while(0);c[(c[U>>2]|0)+20>>2]=39;aL[c[c[U>>2]>>2]&127](n)}}while(0);ar=c[o>>2]|0;aq=(c[M>>2]|0)-1+ar|0;c[R+(ag<<2)>>2]=aS[c[(c[m>>2]|0)+8>>2]&15](n,1,aq-((aq|0)%(ar|0)|0)|0,c[ai>>2]|0)|0}}while(0);am=ag+1|0;if((am|0)<(c[q>>2]|0)){I=I+88|0;ag=am}else{break}}}else{ag=aO[y&15](n,1,48)|0;I=b+472|0;c[I>>2]=ag;c[ag>>2]=38;c[ag+8>>2]=0;ai=Z(c[z>>2]|0,c[b+112>>2]|0)|0;c[ag+40>>2]=ai;R=ag+4|0;if((c[b+316>>2]|0)==2){c[R>>2]=22;c[ag+12>>2]=16;c[ag+32>>2]=aO[c[(c[m>>2]|0)+4>>2]&15](n,1,ai)|0}else{c[R>>2]=20;c[ag+12>>2]=58;c[ag+32>>2]=0}ag=c[I>>2]|0;I=ag+16|0;c[I>>2]=aO[c[c[m>>2]>>2]&15](n,1,1024)|0;R=ag+20|0;ai=R;c[R>>2]=aO[c[c[m>>2]>>2]&15](n,1,1024)|0;R=ag+24|0;M=R;c[R>>2]=aO[c[c[m>>2]>>2]&15](n,1,1024)|0;R=ag+28|0;c[R>>2]=aO[c[c[m>>2]>>2]&15](n,1,1024)|0;ag=0;o=-128;while(1){c[(c[I>>2]|0)+(ag<<2)>>2]=(o*91881|0)+32768>>16;c[(c[ai>>2]|0)+(ag<<2)>>2]=(o*116130|0)+32768>>16;c[(c[M>>2]|0)+(ag<<2)>>2]=o*-46802|0;c[(c[R>>2]|0)+(ag<<2)>>2]=(o*-22554|0)+32768;U=ag+1|0;if((U|0)<256){ag=U;o=o+1|0}else{break}}}}while(0);y=c[b+108>>2]|0;K=aO[c[c[m>>2]>>2]&15](n,1,28)|0;c[b+452>>2]=K;c[K>>2]=30;T=K+8|0;c[T>>2]=0;Y=K+12|0;c[Y>>2]=0;if((c[s>>2]|0)==0){break}_=c[b+316>>2]|0;c[K+16>>2]=_;K=c[m>>2]|0;if((y|0)==0){y=c[K+8>>2]|0;H=Z(c[z>>2]|0,c[b+112>>2]|0)|0;c[Y>>2]=aS[y&15](n,1,H,_)|0;break}else{H=c[K+16>>2]|0;K=Z(c[z>>2]|0,c[b+112>>2]|0)|0;y=_-1+(c[b+116>>2]|0)|0;c[T>>2]=aN[H&15](n,1,0,K,y-((y|0)%(_|0)|0)|0,_)|0;break}}}while(0);z=aO[c[c[m>>2]>>2]&15](n,1,84)|0;c[b+468>>2]=z;c[z>>2]=22;if((c[q>>2]|0)>0){s=z+44|0;z=0;p=c[D>>2]|0;while(1){r=aO[c[c[m>>2]>>2]&15](n,1,256)|0;c[p+84>>2]=r;fv(r|0,0,256);c[s+(z<<2)>>2]=-1;r=z+1|0;if((r|0)<(c[q>>2]|0)){z=r;p=p+88|0}else{break}}}p=c[c[m>>2]>>2]|0;do{if((c[b+228>>2]|0)==0){z=aO[p&15](n,1,216)|0;c[b+464>>2]=z;c[z>>2]=24;if((c[b+224>>2]|0)==0){fv(z+64|0,0,32);break}s=aO[c[c[m>>2]>>2]&15](n,1,c[q>>2]<<8)|0;c[b+160>>2]=s;if((c[q>>2]|0)>0){r=0;do{fv(s+(r<<8)|0,-1|0,256);r=r+1|0;}while((r|0)<(c[q>>2]|0))}fv(z+44|0,0,16)}else{r=aO[p&15](n,1,188)|0;c[b+464>>2]=r;c[r>>2]=94;fv(r+56|0,0,128);a[r+184|0]=113;if((c[b+224>>2]|0)==0){break}r=aO[c[c[m>>2]>>2]&15](n,1,c[q>>2]<<8)|0;c[b+160>>2]=r;if((c[q>>2]|0)>0){as=0}else{break}do{fv(r+(as<<8)|0,-1|0,256);as=as+1|0;}while((as|0)<(c[q>>2]|0))}}while(0);p=b+456|0;r=p;if((c[(c[r>>2]|0)+16>>2]|0)==0){at=(c[b+64>>2]|0)==0}else{at=0}z=aO[c[c[m>>2]>>2]&15](n,1,116)|0;c[b+448>>2]=z;c[z>>2]=30;c[z+8>>2]=90;c[z+112>>2]=0;if(at){s=aO[c[(c[m>>2]|0)+4>>2]&15](n,1,1280)|0;c[z+32>>2]=s;c[z+36>>2]=s+128;c[z+40>>2]=s+256;c[z+44>>2]=s+384;c[z+48>>2]=s+512;c[z+52>>2]=s+640;c[z+56>>2]=s+768;c[z+60>>2]=s+896;c[z+64>>2]=s+1024;c[z+68>>2]=s+1152;c[z+4>>2]=18;c[z+12>>2]=64;c[z+16>>2]=0}else{if((c[q>>2]|0)>0){s=b+224|0;F=z+72|0;_=F;y=c[D>>2]|0;K=0;while(1){H=c[y+12>>2]|0;if((c[s>>2]|0)==0){au=H}else{au=H*3|0}T=c[y+8>>2]|0;Y=(c[y+28>>2]|0)-1+T|0;o=(c[y+32>>2]|0)-1+H|0;c[_+(K<<2)>>2]=aN[c[(c[m>>2]|0)+20>>2]&15](n,1,1,Y-((Y|0)%(T|0)|0)|0,o-((o|0)%(H|0)|0)|0,au)|0;H=K+1|0;if((H|0)<(c[q>>2]|0)){y=y+88|0;K=H}else{av=F;break}}}else{av=z+72|0}c[z+4>>2]=12;c[z+12>>2]=50;c[z+16>>2]=av}L401:do{if((c[P>>2]|0)==0){F=aO[c[c[m>>2]>>2]&15](n,1,80)|0;K=b+444|0;c[K>>2]=F;c[F>>2]=26;y=b+324|0;_=c[y>>2]|0;if((c[(c[b+472>>2]|0)+8>>2]|0)==0){aw=_;ax=c[q>>2]|0;ay=_;az=D}else{if((_|0)<2){s=b;c[(c[s>>2]|0)+20>>2]=48;aL[c[c[s>>2]>>2]&127](n);aA=c[y>>2]|0}else{aA=_}_=c[K>>2]|0;K=aO[c[c[m>>2]>>2]&15](n,1,c[q>>2]<<3)|0;s=_+56|0;H=s;c[s>>2]=K;s=_+60|0;c[s>>2]=K+(c[q>>2]<<2);K=c[q>>2]|0;if((K|0)>0){_=aA+4|0;o=c[D>>2]|0;T=0;while(1){Y=Z(c[o+40>>2]|0,c[o+12>>2]|0)|0;ag=(Y|0)/(c[y>>2]|0)|0;Y=c[c[m>>2]>>2]|0;R=Z(ag,_)|0;M=aO[Y&15](n,1,R<<3)|0;c[(c[H>>2]|0)+(T<<2)>>2]=M+(ag<<2);c[(c[s>>2]|0)+(T<<2)>>2]=M+(R+ag<<2);ag=T+1|0;R=c[q>>2]|0;if((ag|0)<(R|0)){o=o+88|0;T=ag}else{aB=R;break}}}else{aB=K}T=c[y>>2]|0;aw=T+2|0;ax=aB;ay=T;az=D}if((ax|0)<=0){break}T=F+8|0;o=0;s=c[az>>2]|0;H=ay;while(1){_=(Z(c[s+40>>2]|0,c[s+12>>2]|0)|0)/(H|0)|0;R=c[(c[m>>2]|0)+8>>2]|0;ag=Z(c[s+36>>2]|0,c[s+28>>2]|0)|0;M=Z(_,aw)|0;c[T+(o<<2)>>2]=aS[R&15](n,1,ag,M)|0;M=o+1|0;if((M|0)>=(c[q>>2]|0)){break L401}o=M;s=s+88|0;H=c[y>>2]|0}}}while(0);aL[c[(c[m>>2]|0)+24>>2]&127](n);aL[c[(c[r>>2]|0)+8>>2]&127](l);z=b+8|0;y=c[z>>2]|0;H=b+64|0;do{if((y|0)==0){aC=H}else{if((c[H>>2]|0)!=0){aC=H;break}if((c[(c[r>>2]|0)+16>>2]|0)==0){aC=H;break}s=c[q>>2]|0;if((c[b+224>>2]|0)==0){aD=s}else{aD=(s*3|0)+2|0}c[y+4>>2]=0;s=Z(c[b+328>>2]|0,aD)|0;c[(c[z>>2]|0)+8>>2]=s;c[(c[z>>2]|0)+12>>2]=0;c[(c[z>>2]|0)+16>>2]=(c[b+108>>2]|0)!=0?3:2;c[E>>2]=(c[u>>2]|0)+1;aC=H}}while(0);if((c[aC>>2]|0)==0){c[g>>2]=203;j=p;k=308;break}c[g>>2]=207;return}else{H=b;c[(c[H>>2]|0)+20>>2]=21;c[(c[H>>2]|0)+24>>2]=c[g>>2];aL[c[c[H>>2]>>2]&127](b);k=320}}while(0);if((k|0)==308){aC=j;L435:do{if((c[(c[aC>>2]|0)+16>>2]|0)!=0){j=b+8|0;aD=b+328|0;aw=b;L437:while(1){ay=c[j>>2]|0;while(1){if((ay|0)!=0){aL[c[ay>>2]&127](aw)}az=aP[c[c[aC>>2]>>2]&31](e)|0;if((az|0)==2){break L435}else if((az|0)==0){break L437}ax=c[j>>2]|0;if((ax|0)==0){ay=0;continue}if(!((az|0)==3|(az|0)==1)){continue L437}az=ax+4|0;ax=(c[az>>2]|0)+1|0;c[az>>2]=ax;ay=c[j>>2]|0;aE=ay+8|0;aF=c[aE>>2]|0;if((ax|0)>=(aF|0)){break}}c[aE>>2]=(c[aD>>2]|0)+aF}return}}while(0);c[b+152>>2]=c[b+144>>2];k=320}do{if((k|0)==320){aF=b+440|0;if((c[g>>2]|0)==204){i=aF;break}aL[c[c[aF>>2]>>2]&127](e);c[b+140>>2]=0;c[g>>2]=204;i=aF}}while(0);L454:do{if((c[(c[i>>2]|0)+8>>2]|0)!=0){k=b+140|0;aF=b+116|0;aE=b+8|0;aC=b+444|0;aD=b;j=c[k>>2]|0;while(1){if(j>>>0>=(c[aF>>2]|0)>>>0){aL[c[(c[i>>2]|0)+4>>2]&127](e);aL[c[c[i>>2]>>2]&127](e);c[k>>2]=0;if((c[(c[i>>2]|0)+8>>2]|0)==0){break L454}else{j=0;continue}}aw=c[aE>>2]|0;if((aw|0)==0){aG=j}else{c[aw+4>>2]=j;c[(c[aE>>2]|0)+8>>2]=c[aF>>2];aL[c[c[aE>>2]>>2]&127](aD);aG=c[k>>2]|0}aT[c[(c[aC>>2]|0)+4>>2]&63](e,0,k,0);j=c[k>>2]|0;if((j|0)==(aG|0)){break}}return}}while(0);c[g>>2]=(c[b+68>>2]|0)!=0?206:205;return}function bo(a){a=a|0;return c[a+28>>2]|0}function bp(a){a=a|0;return c[a+32>>2]|0}function bq(a){a=a|0;return c[a+112>>2]|0}function br(a){a=a|0;return c[a+116>>2]|0}function bs(a){a=a|0;return c[a+44>>2]|0}function bt(a){a=a|0;return c[a+124>>2]|0}function bu(a){a=a|0;return Z(c[a+124>>2]|0,c[a+112>>2]|0)|0}function bv(a){a=a|0;return(c[a+140>>2]|0)>>>0<(c[a+116>>2]|0)>>>0|0}function bw(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;d=i;i=i+8|0;e=d|0;f=a+488|0;c[f>>2]=b;b=a+20|0;if((c[b>>2]|0)!=205){g=a;c[(c[g>>2]|0)+20>>2]=21;c[(c[g>>2]|0)+24>>2]=c[b>>2];aL[c[c[g>>2]>>2]&127](a)}g=a+140|0;b=c[g>>2]|0;h=a+116|0;if(b>>>0>=(c[h>>2]|0)>>>0){j=a;c[(c[j>>2]|0)+20>>2]=126;aM[c[(c[j>>2]|0)+4>>2]&63](a,-1);k=0;i=d;return k|0}j=a+8|0;l=c[j>>2]|0;if((l|0)!=0){c[l+4>>2]=b;c[(c[j>>2]|0)+8>>2]=c[h>>2];aL[c[c[j>>2]>>2]&127](a)}c[e>>2]=0;aT[c[(c[a+444>>2]|0)+4>>2]&63](a,f,e,1);f=c[e>>2]|0;c[g>>2]=(c[g>>2]|0)+f;k=f;i=d;return k|0}function bx(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=a;d=a+20|0;e=c[d>>2]|0;do{if((e-205|0)>>>0<2){if((c[a+64>>2]|0)!=0){f=358;break}if((c[a+140>>2]|0)>>>0<(c[a+116>>2]|0)>>>0){g=a;c[(c[g>>2]|0)+20>>2]=69;aL[c[c[g>>2]>>2]&127](a)}aL[c[(c[a+440>>2]|0)+4>>2]&127](b);c[d>>2]=210}else{f=358}}while(0);do{if((f|0)==358){if((e|0)==207){c[d>>2]=210;break}else if((e|0)==210){break}else{g=a;c[(c[g>>2]|0)+20>>2]=21;c[(c[g>>2]|0)+24>>2]=c[d>>2];aL[c[c[g>>2]>>2]&127](a);break}}}while(0);e=a+456|0;while(1){g=c[e>>2]|0;if((c[g+20>>2]|0)!=0){break}if((aP[c[g>>2]&31](b)|0)==0){f=370;break}}if((f|0)==370){return}aL[c[(c[a+24>>2]|0)+24>>2]&127](b);b=c[a+4>>2]|0;if((b|0)==0){return}aM[c[b+36>>2]&63](a,1);if((c[a+16>>2]|0)==0){c[d>>2]=100;return}else{c[d>>2]=200;c[a+308>>2]=0;return}}function by(a){a=a|0;var b=0,d=0;b=a+4|0;d=c[b>>2]|0;if((d|0)!=0){aL[c[d+40>>2]&127](a)}c[b>>2]=0;c[a+20>>2]=0;fu(c[a>>2]|0);fu(a);return}function bz(){var a=0,b=0,d=0,e=0;a=ft(440)|0;b=ft(132)|0;c[b>>2]=20;c[b+4>>2]=20;c[b+8>>2]=44;c[b+12>>2]=36;c[b+16>>2]=86;c[b+104>>2]=0;c[b+108>>2]=0;c[b+20>>2]=0;c[b+112>>2]=2016;c[b+116>>2]=126;c[b+120>>2]=0;c[b+124>>2]=0;c[b+128>>2]=0;c[a+4>>2]=0;d=a+12|0;e=c[d>>2]|0;fv(a|0,0,432);c[a>>2]=b;c[d>>2]=e;c[a+16>>2]=0;cM(a);c[a+8>>2]=0;c[a+24>>2]=0;c[a+84>>2]=0;c[a+88>>2]=0;c[a+104>>2]=100;c[a+92>>2]=0;c[a+108>>2]=100;c[a+96>>2]=0;c[a+112>>2]=100;c[a+100>>2]=0;c[a+116>>2]=100;fv(a+120|0,0,32);c[a+376>>2]=8;c[a+380>>2]=3480;c[a+384>>2]=63;c[a+424>>2]=0;h[a+48>>3]=1.0;c[a+20>>2]=100;return a|0}function bA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=aO[c[c[a+4>>2]>>2]&15](a,1,32)|0;c[a+24>>2]=e;c[e+24>>2]=d;c[e+8>>2]=26;c[e+12>>2]=10;c[e+16>>2]=60;c[e+28>>2]=b;return}function bB(a,b){a=a|0;b=b|0;c[a+28>>2]=b;return}function bC(a,b){a=a|0;b=b|0;c[a+32>>2]=b;return}function bD(a,b){a=a|0;b=b|0;c[a+36>>2]=b;return}function bE(a,b){a=a|0;b=b|0;c[a+40>>2]=b;return}function bF(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,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,_=0,$=0,aa=0,ab=0,ac=0,ad=0,ae=0,af=0,ag=0,ah=0,ai=0,aj=0,ak=0,al=0,am=0,an=0,ao=0,ap=0,aq=0,ar=0,as=0,at=0,au=0,av=0,aw=0,ax=0,ay=0,az=0,aA=0,aB=0,aC=0,aD=0,aE=0,aF=0,aG=0,aH=0,aI=0,aJ=0,aK=0,aP=0,aQ=0,aR=0,aT=0,aU=0,aV=0,aW=0,aX=0,aY=0,aZ=0,a_=0,a$=0,a0=0,a1=0,a2=0,a3=0,a4=0,a5=0;f=i;i=i+2600|0;g=f|0;h=f+40|0;j=d;k=d+20|0;if((c[k>>2]|0)!=100){l=d;c[(c[l>>2]|0)+20>>2]=21;c[(c[l>>2]|0)+24>>2]=c[k>>2];aL[c[c[l>>2]>>2]&127](d)}l=d+84|0;if((c[l>>2]|0)==0){c[l>>2]=aO[c[c[d+4>>2]>>2]&15](d,0,880)|0}m=d+56|0;c[m>>2]=1;n=d+60|0;c[n>>2]=1;o=d+72|0;c[o>>2]=8;if((c[k>>2]|0)!=100){p=d;c[(c[p>>2]|0)+20>>2]=21;c[(c[p>>2]|0)+24>>2]=c[k>>2];aL[c[c[p>>2]>>2]&127](d)}p=d+88|0;q=c[p>>2]|0;if((q|0)==0){r=aO[c[c[d+4>>2]>>2]&15](d,0,132)|0;s=r;c[r+128>>2]=0;c[p>>2]=s;t=0;u=s}else{t=0;u=q}do{q=((c[8+(t<<2)>>2]|0)*50|0)+50|0;s=(q|0)<100?1:(q|0)/100|0;q=(s|0)>32767?32767:s;b[u+(t<<1)>>1]=(q|0)>255?255:q&65535;t=t+1|0;u=c[p>>2]|0}while((t|0)<64);c[u+128>>2]=0;if((c[k>>2]|0)!=100){u=d;c[(c[u>>2]|0)+20>>2]=21;c[(c[u>>2]|0)+24>>2]=c[k>>2];aL[c[c[u>>2]>>2]&127](d)}u=d+92|0;t=c[u>>2]|0;if((t|0)==0){q=aO[c[c[d+4>>2]>>2]&15](d,0,132)|0;s=q;c[q+128>>2]=0;c[u>>2]=s;v=0;w=s}else{v=0;w=t}do{t=((c[728+(v<<2)>>2]|0)*50|0)+50|0;s=(t|0)<100?1:(t|0)/100|0;t=(s|0)>32767?32767:s;b[w+(v<<1)>>1]=(t|0)>255?255:t&65535;v=v+1|0;w=c[u>>2]|0}while((v|0)<64);c[w+128>>2]=0;w=d+120|0;b0(j,w,632,264);v=d+136|0;b0(j,v,680,296);t=d+124|0;b0(j,t,656,280);s=d+140|0;b0(j,s,704,464);a[d+152|0]=0;a[d+168|0]=1;a[d+184|0]=5;a[d+153|0]=0;a[d+169|0]=1;a[d+185|0]=5;a[d+154|0]=0;a[d+170|0]=1;a[d+186|0]=5;a[d+155|0]=0;a[d+171|0]=1;a[d+187|0]=5;a[d+156|0]=0;a[d+172|0]=1;a[d+188|0]=5;a[d+157|0]=0;a[d+173|0]=1;a[d+189|0]=5;a[d+158|0]=0;a[d+174|0]=1;a[d+190|0]=5;a[d+159|0]=0;a[d+175|0]=1;a[d+191|0]=5;a[d+160|0]=0;a[d+176|0]=1;a[d+192|0]=5;a[d+161|0]=0;a[d+177|0]=1;a[d+193|0]=5;a[d+162|0]=0;a[d+178|0]=1;a[d+194|0]=5;a[d+163|0]=0;a[d+179|0]=1;a[d+195|0]=5;a[d+164|0]=0;a[d+180|0]=1;a[d+196|0]=5;a[d+165|0]=0;a[d+181|0]=1;a[d+197|0]=5;a[d+166|0]=0;a[d+182|0]=1;a[d+198|0]=5;a[d+167|0]=0;a[d+183|0]=1;a[d+199|0]=5;j=d+200|0;fv(j|0,0,20);if((c[o>>2]|0)>8){c[d+216>>2]=1}q=d+220|0;c[q>>2]=0;r=d+224|0;c[r>>2]=1;x=d+228|0;fv(x|0,0,16);a[d+248|0]=1;a[d+249|0]=1;a[d+250|0]=0;b[d+252>>1]=1;b[d+254>>1]=1;y=d+40|0;L550:do{switch(c[y>>2]|0){case 3:{if((c[k>>2]|0)!=100){z=d;c[(c[z>>2]|0)+20>>2]=21;c[(c[z>>2]|0)+24>>2]=c[k>>2];aL[c[c[z>>2]>>2]&127](d)}c[d+80>>2]=3;c[d+256>>2]=0;c[d+244>>2]=1;c[d+76>>2]=3;z=c[l>>2]|0;c[z>>2]=1;c[z+8>>2]=2;c[z+12>>2]=2;c[z+16>>2]=0;c[z+20>>2]=0;c[z+24>>2]=0;z=c[l>>2]|0;c[z+88>>2]=2;c[z+96>>2]=1;c[z+100>>2]=1;c[z+104>>2]=1;c[z+108>>2]=1;c[z+112>>2]=1;z=c[l>>2]|0;c[z+176>>2]=3;c[z+184>>2]=1;c[z+188>>2]=1;c[z+192>>2]=1;c[z+196>>2]=1;c[z+200>>2]=1;break};case 5:{if((c[k>>2]|0)!=100){z=d;c[(c[z>>2]|0)+20>>2]=21;c[(c[z>>2]|0)+24>>2]=c[k>>2];aL[c[c[z>>2]>>2]&127](d)}c[d+80>>2]=5;c[d+244>>2]=0;c[d+256>>2]=1;c[d+76>>2]=4;z=c[l>>2]|0;c[z>>2]=1;c[z+8>>2]=2;c[z+12>>2]=2;c[z+16>>2]=0;c[z+20>>2]=0;c[z+24>>2]=0;z=c[l>>2]|0;c[z+88>>2]=2;c[z+96>>2]=1;c[z+100>>2]=1;c[z+104>>2]=1;c[z+108>>2]=1;c[z+112>>2]=1;z=c[l>>2]|0;c[z+176>>2]=3;c[z+184>>2]=1;c[z+188>>2]=1;c[z+192>>2]=1;c[z+196>>2]=1;c[z+200>>2]=1;z=c[l>>2]|0;c[z+264>>2]=4;c[z+272>>2]=2;c[z+276>>2]=2;c[z+280>>2]=0;c[z+284>>2]=0;c[z+288>>2]=0;break};case 0:{if((c[k>>2]|0)!=100){z=d;c[(c[z>>2]|0)+20>>2]=21;c[(c[z>>2]|0)+24>>2]=c[k>>2];aL[c[c[z>>2]>>2]&127](d)}c[d+80>>2]=0;c[d+244>>2]=0;c[d+256>>2]=0;z=c[d+36>>2]|0;A=d+76|0;c[A>>2]=z;if((z-1|0)>>>0>9){B=d;c[(c[B>>2]|0)+20>>2]=27;c[(c[B>>2]|0)+24>>2]=c[A>>2];c[(c[B>>2]|0)+28>>2]=10;aL[c[c[B>>2]>>2]&127](d);C=c[A>>2]|0}else{C=z}if((C|0)>0){D=0}else{break L550}do{z=c[l>>2]|0;c[z+(D*88|0)>>2]=D;c[z+(D*88|0)+8>>2]=1;c[z+(D*88|0)+12>>2]=1;c[z+(D*88|0)+16>>2]=0;c[z+(D*88|0)+20>>2]=0;c[z+(D*88|0)+24>>2]=0;D=D+1|0;}while((D|0)<(c[A>>2]|0));break};case 2:{if((c[k>>2]|0)!=100){A=d;c[(c[A>>2]|0)+20>>2]=21;c[(c[A>>2]|0)+24>>2]=c[k>>2];aL[c[c[A>>2]>>2]&127](d)}c[d+80>>2]=3;c[d+256>>2]=0;c[d+244>>2]=1;c[d+76>>2]=3;A=c[l>>2]|0;c[A>>2]=1;c[A+8>>2]=2;c[A+12>>2]=2;c[A+16>>2]=0;c[A+20>>2]=0;c[A+24>>2]=0;A=c[l>>2]|0;c[A+88>>2]=2;c[A+96>>2]=1;c[A+100>>2]=1;c[A+104>>2]=1;c[A+108>>2]=1;c[A+112>>2]=1;A=c[l>>2]|0;c[A+176>>2]=3;c[A+184>>2]=1;c[A+188>>2]=1;c[A+192>>2]=1;c[A+196>>2]=1;c[A+200>>2]=1;break};case 4:{if((c[k>>2]|0)!=100){A=d;c[(c[A>>2]|0)+20>>2]=21;c[(c[A>>2]|0)+24>>2]=c[k>>2];aL[c[c[A>>2]>>2]&127](d)}c[d+80>>2]=4;c[d+244>>2]=0;c[d+256>>2]=1;c[d+76>>2]=4;A=c[l>>2]|0;c[A>>2]=67;c[A+8>>2]=1;c[A+12>>2]=1;c[A+16>>2]=0;c[A+20>>2]=0;c[A+24>>2]=0;A=c[l>>2]|0;c[A+88>>2]=77;c[A+96>>2]=1;c[A+100>>2]=1;c[A+104>>2]=0;c[A+108>>2]=0;c[A+112>>2]=0;A=c[l>>2]|0;c[A+176>>2]=89;c[A+184>>2]=1;c[A+188>>2]=1;c[A+192>>2]=0;c[A+196>>2]=0;c[A+200>>2]=0;A=c[l>>2]|0;c[A+264>>2]=75;c[A+272>>2]=1;c[A+276>>2]=1;c[A+280>>2]=0;c[A+284>>2]=0;c[A+288>>2]=0;break};case 1:{if((c[k>>2]|0)!=100){A=d;c[(c[A>>2]|0)+20>>2]=21;c[(c[A>>2]|0)+24>>2]=c[k>>2];aL[c[c[A>>2]>>2]&127](d)}c[d+80>>2]=1;c[d+256>>2]=0;c[d+244>>2]=1;c[d+76>>2]=1;A=c[l>>2]|0;c[A>>2]=1;c[A+8>>2]=1;c[A+12>>2]=1;c[A+16>>2]=0;c[A+20>>2]=0;c[A+24>>2]=0;break};default:{A=d;c[(c[A>>2]|0)+20>>2]=10;aL[c[c[A>>2]>>2]&127](d)}}}while(0);D=(e|0)<1?1:e;e=(D|0)>100?100:D;if((e|0)<50){E=5e3/(e|0)|0}else{E=200-(e<<1)|0}if((c[k>>2]|0)!=100){e=d;c[(c[e>>2]|0)+20>>2]=21;c[(c[e>>2]|0)+24>>2]=c[k>>2];aL[c[c[e>>2]>>2]&127](d)}e=c[p>>2]|0;if((e|0)==0){D=aO[c[c[d+4>>2]>>2]&15](d,0,132)|0;C=D;c[D+128>>2]=0;c[p>>2]=C;F=0;G=C}else{F=0;G=e}do{e=(Z(c[8+(F<<2)>>2]|0,E)|0)+50|0;C=(e|0)<100?1:(e|0)/100|0;e=(C|0)>32767?32767:C;b[G+(F<<1)>>1]=(e|0)>255?255:e&65535;F=F+1|0;G=c[p>>2]|0}while((F|0)<64);c[G+128>>2]=0;if((c[k>>2]|0)!=100){G=d;c[(c[G>>2]|0)+20>>2]=21;c[(c[G>>2]|0)+24>>2]=c[k>>2];aL[c[c[G>>2]>>2]&127](d)}G=c[u>>2]|0;if((G|0)==0){F=aO[c[c[d+4>>2]>>2]&15](d,0,132)|0;e=F;c[F+128>>2]=0;c[u>>2]=e;H=0;I=e}else{H=0;I=G}do{G=(Z(c[728+(H<<2)>>2]|0,E)|0)+50|0;e=(G|0)<100?1:(G|0)/100|0;G=(e|0)>32767?32767:e;b[I+(H<<1)>>1]=(G|0)>255?255:G&65535;H=H+1|0;I=c[u>>2]|0}while((H|0)<64);c[I+128>>2]=0;I=d;H=d;if((c[k>>2]|0)==100){J=d}else{c[(c[H>>2]|0)+20>>2]=21;c[(c[H>>2]|0)+24>>2]=c[k>>2];E=d;aL[c[c[H>>2]>>2]&127](E);J=E}E=c[p>>2]|0;if((E|0)!=0){c[E+128>>2]=0}E=c[u>>2]|0;if((E|0)!=0){c[E+128>>2]=0}E=c[d+96>>2]|0;if((E|0)!=0){c[E+128>>2]=0}E=c[d+100>>2]|0;if((E|0)!=0){c[E+128>>2]=0}E=c[w>>2]|0;if((E|0)!=0){c[E+276>>2]=0}E=c[v>>2]|0;if((E|0)!=0){c[E+276>>2]=0}E=c[t>>2]|0;if((E|0)!=0){c[E+276>>2]=0}E=c[s>>2]|0;if((E|0)!=0){c[E+276>>2]=0}E=c[d+128>>2]|0;if((E|0)!=0){c[E+276>>2]=0}E=c[d+144>>2]|0;if((E|0)!=0){c[E+276>>2]=0}E=c[d+132>>2]|0;if((E|0)!=0){c[E+276>>2]=0}E=c[d+148>>2]|0;if((E|0)!=0){c[E+276>>2]=0}aL[c[(c[H>>2]|0)+16>>2]&127](J);aL[c[(c[d+24>>2]|0)+8>>2]&127](I);J=d;E=h;s=d+4|0;t=d;v=aO[c[c[s>>2]>>2]&15](t,1,36)|0;w=d+388|0;c[w>>2]=v;c[v>>2]=56;c[v+4>>2]=92;c[v+8>>2]=16;c[v+16>>2]=0;u=d+28|0;if((c[u>>2]|0)>>>0>16777215){K=463}else{if((c[d+32>>2]|0)>>>0>16777215){K=463}}if((K|0)==463){c[(c[H>>2]|0)+20>>2]=42;c[(c[H>>2]|0)+24>>2]=65500;aL[c[c[H>>2]>>2]&127](t)}p=c[m>>2]|0;m=d+376|0;G=c[m>>2]|0;e=Z(G,c[n>>2]|0)|0;do{if(p>>>0<e>>>0){if(p<<1>>>0>=e>>>0){c[d+64>>2]=((Z(c[u>>2]|0,G)|0)+1|0)/2|0;c[d+68>>2]=((Z(G,c[d+32>>2]|0)|0)+1|0)/2|0;c[d+276>>2]=2;c[d+280>>2]=2;break}if((p*3|0)>>>0>=e>>>0){c[d+64>>2]=((Z(c[u>>2]|0,G)|0)+2|0)/3|0;c[d+68>>2]=((Z(G,c[d+32>>2]|0)|0)+2|0)/3|0;c[d+276>>2]=3;c[d+280>>2]=3;break}if(p<<2>>>0>=e>>>0){c[d+64>>2]=((Z(c[u>>2]|0,G)|0)+3|0)/4|0;c[d+68>>2]=((Z(G,c[d+32>>2]|0)|0)+3|0)/4|0;c[d+276>>2]=4;c[d+280>>2]=4;break}if((p*5|0)>>>0>=e>>>0){c[d+64>>2]=((Z(c[u>>2]|0,G)|0)+4|0)/5|0;c[d+68>>2]=((Z(G,c[d+32>>2]|0)|0)+4|0)/5|0;c[d+276>>2]=5;c[d+280>>2]=5;break}if((p*6|0)>>>0>=e>>>0){c[d+64>>2]=((Z(c[u>>2]|0,G)|0)+5|0)/6|0;c[d+68>>2]=((Z(G,c[d+32>>2]|0)|0)+5|0)/6|0;c[d+276>>2]=6;c[d+280>>2]=6;break}if((p*7|0)>>>0>=e>>>0){c[d+64>>2]=((Z(c[u>>2]|0,G)|0)+6|0)/7|0;c[d+68>>2]=((Z(G,c[d+32>>2]|0)|0)+6|0)/7|0;c[d+276>>2]=7;c[d+280>>2]=7;break}if(p<<3>>>0>=e>>>0){c[d+64>>2]=((Z(c[u>>2]|0,G)|0)+7|0)/8|0;c[d+68>>2]=((Z(G,c[d+32>>2]|0)|0)+7|0)/8|0;c[d+276>>2]=8;c[d+280>>2]=8;break}if((p*9|0)>>>0>=e>>>0){c[d+64>>2]=((Z(c[u>>2]|0,G)|0)+8|0)/9|0;c[d+68>>2]=((Z(G,c[d+32>>2]|0)|0)+8|0)/9|0;c[d+276>>2]=9;c[d+280>>2]=9;break}if((p*10|0)>>>0>=e>>>0){c[d+64>>2]=((Z(c[u>>2]|0,G)|0)+9|0)/10|0;c[d+68>>2]=((Z(G,c[d+32>>2]|0)|0)+9|0)/10|0;c[d+276>>2]=10;c[d+280>>2]=10;break}if((p*11|0)>>>0>=e>>>0){c[d+64>>2]=((Z(c[u>>2]|0,G)|0)+10|0)/11|0;c[d+68>>2]=((Z(G,c[d+32>>2]|0)|0)+10|0)/11|0;c[d+276>>2]=11;c[d+280>>2]=11;break}if((p*12|0)>>>0>=e>>>0){c[d+64>>2]=((Z(c[u>>2]|0,G)|0)+11|0)/12|0;c[d+68>>2]=((Z(G,c[d+32>>2]|0)|0)+11|0)/12|0;c[d+276>>2]=12;c[d+280>>2]=12;break}if((p*13|0)>>>0>=e>>>0){c[d+64>>2]=((Z(c[u>>2]|0,G)|0)+12|0)/13|0;c[d+68>>2]=((Z(G,c[d+32>>2]|0)|0)+12|0)/13|0;c[d+276>>2]=13;c[d+280>>2]=13;break}if((p*14|0)>>>0>=e>>>0){c[d+64>>2]=((Z(c[u>>2]|0,G)|0)+13|0)/14|0;c[d+68>>2]=((Z(G,c[d+32>>2]|0)|0)+13|0)/14|0;c[d+276>>2]=14;c[d+280>>2]=14;break}n=Z(c[u>>2]|0,G)|0;if((p*15|0)>>>0<e>>>0){c[d+64>>2]=(n+15|0)/16|0;c[d+68>>2]=((Z(G,c[d+32>>2]|0)|0)+15|0)/16|0;c[d+276>>2]=16;c[d+280>>2]=16;break}else{c[d+64>>2]=(n+14|0)/15|0;c[d+68>>2]=((Z(G,c[d+32>>2]|0)|0)+14|0)/15|0;c[d+276>>2]=15;c[d+280>>2]=15;break}}else{c[d+64>>2]=Z(c[u>>2]|0,G)|0;c[d+68>>2]=Z(G,c[d+32>>2]|0)|0;c[d+276>>2]=1;c[d+280>>2]=1}}while(0);if((G-1|0)>>>0>15){c[(c[H>>2]|0)+20>>2]=7;c[(c[H>>2]|0)+24>>2]=c[m>>2];c[(c[H>>2]|0)+28>>2]=c[m>>2];aL[c[c[H>>2]>>2]&127](t);L=c[m>>2]|0}else{L=G}switch(L|0){case 2:{c[d+380>>2]=3400;K=505;break};case 3:{c[d+380>>2]=3296;K=505;break};case 4:{c[d+380>>2]=3168;K=505;break};case 5:{c[d+380>>2]=3e3;K=505;break};case 6:{c[d+380>>2]=2792;K=505;break};case 7:{c[d+380>>2]=2528;K=505;break};default:{c[d+380>>2]=3480;if((L|0)<8){K=505}else{M=63}}}if((K|0)==505){M=(Z(L,L)|0)-1|0}L=d+384|0;c[L>>2]=M;M=d+68|0;G=c[M>>2]|0;do{if((G|0)==0){K=510}else{if((c[d+64>>2]|0)==0){K=510;break}if((c[d+76>>2]|0)<1){K=510;break}if((c[d+36>>2]|0)<1){K=510}else{N=G}}}while(0);if((K|0)==510){c[(c[H>>2]|0)+20>>2]=33;aL[c[c[H>>2]>>2]&127](t);N=c[M>>2]|0}if((N|0)>65500){K=513}else{if((c[d+64>>2]|0)>65500){K=513}}if((K|0)==513){c[(c[H>>2]|0)+20>>2]=42;c[(c[H>>2]|0)+24>>2]=65500;aL[c[c[H>>2]>>2]&127](t)}if((c[o>>2]|0)!=8){c[(c[H>>2]|0)+20>>2]=16;c[(c[H>>2]|0)+24>>2]=c[o>>2];aL[c[c[H>>2]>>2]&127](t)}o=d+76|0;N=c[o>>2]|0;if((N|0)>10){c[(c[H>>2]|0)+20>>2]=27;c[(c[H>>2]|0)+24>>2]=c[o>>2];c[(c[H>>2]|0)+28>>2]=10;aL[c[c[H>>2]>>2]&127](t);O=c[o>>2]|0}else{O=N}N=d+268|0;c[N>>2]=1;G=d+272|0;c[G>>2]=1;do{if((O|0)>0){u=c[l>>2]|0;e=0;p=1;n=1;F=O;while(1){C=u+8|0;D=c[C>>2]|0;A=u+12|0;if((D-1|0)>>>0>3){K=522}else{if(((c[A>>2]|0)-1|0)>>>0>3){K=522}else{P=p;Q=D;R=n;S=F}}if((K|0)==522){K=0;c[(c[H>>2]|0)+20>>2]=19;aL[c[c[H>>2]>>2]&127](t);P=c[N>>2]|0;Q=c[C>>2]|0;R=c[G>>2]|0;S=c[o>>2]|0}C=(P|0)>(Q|0)?P:Q;c[N>>2]=C;D=c[A>>2]|0;T=(R|0)>(D|0)?R:D;c[G>>2]=T;D=e+1|0;if((D|0)<(S|0)){u=u+88|0;e=D;p=C;n=T;F=S}else{break}}if((S|0)<=0){U=T;break}F=d+276|0;n=d+280|0;p=d+64|0;e=c[l>>2]|0;u=0;while(1){c[e+4>>2]=u;C=c[F>>2]|0;D=(c[r>>2]|0)!=0?8:4;A=e+8|0;z=1;do{V=Z(z,C)|0;if((V|0)>(D|0)){break}B=c[N>>2]|0;z=z<<1;}while(((B|0)%(Z(c[A>>2]|0,z)|0)|0|0)==0);z=e+36|0;c[z>>2]=V;D=c[n>>2]|0;C=(c[r>>2]|0)!=0?8:4;B=e+12|0;W=1;do{X=Z(W,D)|0;if((X|0)>(C|0)){break}Y=c[G>>2]|0;W=W<<1;}while(((Y|0)%(Z(c[B>>2]|0,W)|0)|0|0)==0);W=e+40|0;c[W>>2]=X;C=X<<1;do{if((V|0)>(C|0)){c[z>>2]=C;_=C;$=X}else{D=V<<1;if((X|0)<=(D|0)){_=V;$=X;break}c[W>>2]=D;_=V;$=D}}while(0);W=c[A>>2]|0;C=Z(W,c[p>>2]|0)|0;z=Z(c[m>>2]|0,c[N>>2]|0)|0;c[e+28>>2]=(C-1+z|0)/(z|0)|0;z=c[B>>2]|0;C=Z(z,c[M>>2]|0)|0;D=Z(c[m>>2]|0,c[G>>2]|0)|0;c[e+32>>2]=(C-1+D|0)/(D|0)|0;D=c[p>>2]|0;C=Z(Z(W,_)|0,D)|0;D=Z(c[m>>2]|0,c[N>>2]|0)|0;c[e+44>>2]=(C-1+D|0)/(D|0)|0;D=c[M>>2]|0;C=Z(Z(z,$)|0,D)|0;D=Z(c[m>>2]|0,c[G>>2]|0)|0;c[e+48>>2]=(C-1+D|0)/(D|0)|0;c[e+52>>2]=1;D=u+1|0;if((D|0)<(c[o>>2]|0)){e=e+88|0;u=D}else{break}}U=c[G>>2]|0}else{U=1}}while(0);$=c[M>>2]|0;M=Z(c[m>>2]|0,U)|0;c[d+284>>2]=($-1+M|0)/(M|0)|0;M=d+204|0;$=c[M>>2]|0;do{if(($|0)==0){c[d+264>>2]=0;c[j>>2]=1}else{U=g;_=j;if((c[_>>2]|0)<1){c[(c[H>>2]|0)+20>>2]=20;c[(c[H>>2]|0)+24>>2]=0;aL[c[c[H>>2]>>2]&127](t);aa=c[M>>2]|0}else{aa=$}do{if((c[aa+20>>2]|0)==0){if((c[aa+24>>2]|0)!=63){K=543;break}c[d+264>>2]=0;V=c[o>>2]|0;if((V|0)<=0){ab=0;ac=V;break}fv(U|0,0,((V|0)>1?V<<2:4)|0);ab=0;ac=V}else{K=543}}while(0);do{if((K|0)==543){c[d+264>>2]=1;U=c[o>>2]|0;if((U|0)<=0){ab=1;ac=U;break}fv(E|0,-1|0,U<<8|0);ab=1;ac=U}}while(0);if((c[_>>2]|0)<1){ad=ab;ae=ac}else{U=d+264|0;V=1;X=aa;while(1){r=c[X>>2]|0;if((r-1|0)>>>0>3){c[(c[H>>2]|0)+20>>2]=27;c[(c[H>>2]|0)+24>>2]=r;c[(c[H>>2]|0)+28>>2]=4;aL[c[c[H>>2]>>2]&127](t)}T=(r|0)>0;if(T){S=0;do{R=c[X+4+(S<<2)>>2]|0;if((R|0)<0){K=554}else{if((R|0)>=(c[o>>2]|0)){K=554}}if((K|0)==554){K=0;c[(c[H>>2]|0)+20>>2]=20;c[(c[H>>2]|0)+24>>2]=V;aL[c[c[H>>2]>>2]&127](t)}do{if((S|0)>0){if((R|0)>(c[X+4+(S-1<<2)>>2]|0)){break}c[(c[H>>2]|0)+20>>2]=20;c[(c[H>>2]|0)+24>>2]=V;aL[c[c[H>>2]>>2]&127](t)}}while(0);S=S+1|0;}while((S|0)<(r|0))}S=c[X+20>>2]|0;B=c[X+24>>2]|0;A=c[X+28>>2]|0;R=c[X+32>>2]|0;do{if((c[U>>2]|0)==0){if(!((S|0)==0&(B|0)==63&(A|0)==0&(R|0)==0)){c[(c[H>>2]|0)+20>>2]=18;c[(c[H>>2]|0)+24>>2]=V;aL[c[c[H>>2]>>2]&127](t)}if(T){af=0}else{break}do{Q=g+(c[X+4+(af<<2)>>2]<<2)|0;if((c[Q>>2]|0)!=0){c[(c[H>>2]|0)+20>>2]=20;c[(c[H>>2]|0)+24>>2]=V;aL[c[c[H>>2]>>2]&127](t)}c[Q>>2]=1;af=af+1|0;}while((af|0)<(r|0))}else{if(S>>>0>63){K=562}else{if((B|0)<(S|0)|(B|0)>63|A>>>0>10|R>>>0>10){K=562}}if((K|0)==562){K=0;c[(c[H>>2]|0)+20>>2]=18;c[(c[H>>2]|0)+24>>2]=V;aL[c[c[H>>2]>>2]&127](t)}Q=(S|0)==0;do{if(Q){if((B|0)==0){break}c[(c[H>>2]|0)+20>>2]=18;c[(c[H>>2]|0)+24>>2]=V;aL[c[c[H>>2]>>2]&127](t)}else{if((r|0)==1){break}c[(c[H>>2]|0)+20>>2]=18;c[(c[H>>2]|0)+24>>2]=V;aL[c[c[H>>2]>>2]&127](t)}}while(0);if(!T){break}P=(A|0)==0;O=(R|0)==(A-1|0);u=0;do{e=c[X+4+(u<<2)>>2]|0;do{if(Q){ag=0}else{if((c[h+(e<<8)>>2]|0)>=0){ag=S;break}c[(c[H>>2]|0)+20>>2]=18;c[(c[H>>2]|0)+24>>2]=V;aL[c[c[H>>2]>>2]&127](t);ag=S}}while(0);if((ag|0)<=(B|0)){p=ag;do{n=h+(e<<8)+(p<<2)|0;F=c[n>>2]|0;do{if((F|0)<0){if(P){break}c[(c[H>>2]|0)+20>>2]=18;c[(c[H>>2]|0)+24>>2]=V;aL[c[c[H>>2]>>2]&127](t)}else{if((A|0)==(F|0)&O){break}c[(c[H>>2]|0)+20>>2]=18;c[(c[H>>2]|0)+24>>2]=V;aL[c[c[H>>2]>>2]&127](t)}}while(0);c[n>>2]=R;p=p+1|0;}while((p|0)<=(B|0))}u=u+1|0;}while((u|0)<(r|0))}}while(0);r=V+1|0;if((r|0)>(c[_>>2]|0)){break}else{V=r;X=X+36|0}}ad=c[U>>2]|0;ae=c[o>>2]|0}X=(ae|0)>0;do{if((ad|0)==0){if(X){ah=0;ai=ae}else{break}while(1){if((c[g+(ah<<2)>>2]|0)==0){c[(c[H>>2]|0)+20>>2]=46;aL[c[c[H>>2]>>2]&127](t);aj=c[o>>2]|0}else{aj=ai}V=ah+1|0;if((V|0)<(aj|0)){ah=V;ai=aj}else{break}}}else{if(X){ak=0;al=ae}else{break}while(1){if((c[h+(ak<<8)>>2]|0)<0){c[(c[H>>2]|0)+20>>2]=46;aL[c[c[H>>2]>>2]&127](t);am=c[o>>2]|0}else{am=al}V=ak+1|0;if((V|0)<(am|0)){ak=V;al=am}else{break}}}}while(0);if((c[m>>2]|0)>=8){break}X=c[M>>2]|0;if((c[_>>2]|0)>0){U=0;V=0;while(1){if((V|0)!=(U|0)){r=X+(U*36|0)|0;B=X+(V*36|0)|0;fw(r|0,B|0,36)|0}B=c[L>>2]|0;if((c[X+(U*36|0)+20>>2]|0)>(B|0)){an=U}else{r=X+(U*36|0)+24|0;if((c[r>>2]|0)>(B|0)){c[r>>2]=B}an=U+1|0}B=V+1|0;if((B|0)<(c[_>>2]|0)){U=an;V=B}else{ao=an;break}}}else{ao=0}c[_>>2]=ao}}while(0);ao=d+264|0;if((c[ao>>2]|0)==0){if((c[m>>2]|0)<8){K=611}}else{K=611}do{if((K|0)==611){if((c[d+212>>2]|0)!=0){break}c[d+216>>2]=1}}while(0);c[v+20>>2]=0;m=d+216|0;c[v+32>>2]=0;c[v+24>>2]=0;an=j;j=c[an>>2]|0;if((c[m>>2]|0)==0){c[v+28>>2]=j}else{c[v+28>>2]=j<<1}j=d+208|0;L868:do{if((c[j>>2]|0)==0){v=aO[c[c[s>>2]>>2]&15](t,1,12)|0;c[d+408>>2]=v;L=v;c[L>>2]=34;L870:do{switch(c[y>>2]|0){case 1:{if((c[d+36>>2]|0)==1){break L870}c[(c[H>>2]|0)+20>>2]=10;aL[c[c[H>>2]>>2]&127](t);break};case 2:case 3:{if((c[d+36>>2]|0)==3){break L870}c[(c[H>>2]|0)+20>>2]=10;aL[c[c[H>>2]>>2]&127](t);break};case 4:case 5:{if((c[d+36>>2]|0)==4){break L870}c[(c[H>>2]|0)+20>>2]=10;aL[c[c[H>>2]>>2]&127](t);break};default:{if((c[d+36>>2]|0)>=1){break L870}c[(c[H>>2]|0)+20>>2]=10;aL[c[c[H>>2]>>2]&127](t)}}}while(0);_=c[d+80>>2]|0;L880:do{switch(_|0){case 1:{if((c[o>>2]|0)!=1){c[(c[H>>2]|0)+20>>2]=11;aL[c[c[H>>2]>>2]&127](t)}M=c[y>>2]|0;if((M|0)==1){c[v+4>>2]=52;break L880}else if((M|0)==2){c[L>>2]=52;c[v+4>>2]=14;break L880}else if((M|0)==3){c[v+4>>2]=52;break L880}else{c[(c[H>>2]|0)+20>>2]=28;aL[c[c[H>>2]>>2]&127](t);break L880}break};case 2:{if((c[o>>2]|0)!=3){c[(c[H>>2]|0)+20>>2]=11;aL[c[c[H>>2]>>2]&127](t)}if((c[y>>2]|0)==2){c[v+4>>2]=50;break L880}else{c[(c[H>>2]|0)+20>>2]=28;aL[c[c[H>>2]>>2]&127](t);break L880}break};case 3:{if((c[o>>2]|0)!=3){c[(c[H>>2]|0)+20>>2]=11;aL[c[c[H>>2]>>2]&127](t)}M=c[y>>2]|0;if((M|0)==2){c[L>>2]=52;c[v+4>>2]=98;break L880}else if((M|0)==3){c[v+4>>2]=50;break L880}else{c[(c[H>>2]|0)+20>>2]=28;aL[c[c[H>>2]>>2]&127](t);break L880}break};case 4:{if((c[o>>2]|0)!=4){c[(c[H>>2]|0)+20>>2]=11;aL[c[c[H>>2]>>2]&127](t)}if((c[y>>2]|0)==4){c[v+4>>2]=50;break L880}else{c[(c[H>>2]|0)+20>>2]=28;aL[c[c[H>>2]>>2]&127](t);break L880}break};case 5:{if((c[o>>2]|0)!=4){c[(c[H>>2]|0)+20>>2]=11;aL[c[c[H>>2]>>2]&127](t)}M=c[y>>2]|0;if((M|0)==4){c[L>>2]=52;c[v+4>>2]=42;break L880}else if((M|0)==5){c[v+4>>2]=50;break L880}else{c[(c[H>>2]|0)+20>>2]=28;aL[c[c[H>>2]>>2]&127](t);break L880}break};default:{if((_|0)==(c[y>>2]|0)){if((c[o>>2]|0)!=(c[d+36>>2]|0)){K=658}}else{K=658}if((K|0)==658){c[(c[H>>2]|0)+20>>2]=28;aL[c[c[H>>2]>>2]&127](t)}c[v+4>>2]=50}}}while(0);v=aO[c[c[s>>2]>>2]&15](t,1,112)|0;_=d+412|0;c[_>>2]=v;c[v>>2]=84;c[v+4>>2]=82;L=v+8|0;c[L>>2]=0;if((c[q>>2]|0)!=0){c[(c[H>>2]|0)+20>>2]=26;aL[c[c[H>>2]>>2]&127](t)}do{if((c[o>>2]|0)>0){M=d+276|0;am=d+280|0;al=v+52|0;ak=x;h=v+12|0;ae=1;aj=c[l>>2]|0;ai=0;while(1){ah=Z(c[aj+36>>2]|0,c[aj+8>>2]|0)|0;g=(ah|0)/(c[M>>2]|0)|0;ah=Z(c[aj+40>>2]|0,c[aj+12>>2]|0)|0;ad=(ah|0)/(c[am>>2]|0)|0;ah=c[N>>2]|0;ag=c[G>>2]|0;c[al+(ai<<2)>>2]=ad;af=(ag|0)==(ad|0);L934:do{if((ah|0)==(g|0)&af){aa=h+(ai<<2)|0;if((c[ak>>2]|0)==0){c[aa>>2]=32;ap=ae;break}else{c[aa>>2]=12;c[L>>2]=1;ap=ae;break}}else{aa=(ah|0)==(g<<1|0);if(aa&af){c[h+(ai<<2)>>2]=24;ap=0;break}do{if(aa){if((ag|0)!=(ad<<1|0)){break}ac=h+(ai<<2)|0;if((c[ak>>2]|0)==0){c[ac>>2]=46;ap=ae;break L934}else{c[ac>>2]=54;c[L>>2]=1;ap=ae;break L934}}}while(0);do{if(((ah|0)%(g|0)|0|0)==0){if(((ag|0)%(ad|0)|0|0)!=0){break}c[h+(ai<<2)>>2]=38;a[v+(ai+92)|0]=((ah|0)/(g|0)|0)&255;a[v+(ai+102)|0]=((ag|0)/(ad|0)|0)&255;ap=0;break L934}}while(0);c[(c[H>>2]|0)+20>>2]=39;aL[c[c[H>>2]>>2]&127](t);ap=ae}}while(0);ad=ai+1|0;if((ad|0)<(c[o>>2]|0)){ae=ap;aj=aj+88|0;ai=ad}else{break}}if(!((c[ak>>2]|0)!=0&(ap|0)==0)){break}c[(c[H>>2]|0)+20>>2]=101;aM[c[(c[H>>2]|0)+4>>2]&63](t,0)}}while(0);v=aO[c[c[s>>2]>>2]&15](t,1,64)|0;L=d+396|0;c[L>>2]=v;c[v>>2]=28;ai=v+4|0;if((c[(c[_>>2]|0)+8>>2]|0)==0){c[ai>>2]=12;if((c[o>>2]|0)<=0){break}aj=d+276|0;ae=v+8|0;v=0;h=c[l>>2]|0;while(1){al=c[(c[s>>2]|0)+8>>2]|0;am=Z(c[aj>>2]|0,c[h+28>>2]|0)|0;M=Z(am,c[N>>2]|0)|0;c[ae+(v<<2)>>2]=aS[al&15](t,1,(M|0)/(c[h+8>>2]|0)|0,c[G>>2]|0)|0;M=v+1|0;if((M|0)<(c[o>>2]|0)){v=M;h=h+88|0}else{break L868}}}c[ai>>2]=14;h=c[L>>2]|0;v=c[G>>2]|0;ae=c[c[s>>2]>>2]|0;aj=Z(v*20|0,c[o>>2]|0)|0;_=aO[ae&15](t,1,aj)|0;if((c[o>>2]|0)<=0){break}aj=d+276|0;ae=v*3|0;M=v*12|0;al=(v|0)>0;am=h+8|0;h=v*5|0;ad=v<<1;ag=v<<2;g=c[l>>2]|0;ah=0;af=_;while(1){_=c[(c[s>>2]|0)+8>>2]|0;aa=Z(c[aj>>2]|0,c[g+28>>2]|0)|0;ac=Z(aa,c[N>>2]|0)|0;aa=aS[_&15](t,1,(ac|0)/(c[g+8>>2]|0)|0,ae)|0;ac=af+(v<<2)|0;_=ac;ab=aa;fw(_|0,ab|0,M)|0;if(al){ab=0;do{c[af+(ab<<2)>>2]=c[aa+(ab+ad<<2)>>2];c[af+(ab+ag<<2)>>2]=c[aa+(ab<<2)>>2];ab=ab+1|0;}while((ab|0)<(v|0))}c[am+(ah<<2)>>2]=ac;ab=ah+1|0;if((ab|0)<(c[o>>2]|0)){g=g+88|0;ah=ab;af=af+(h<<2)|0}else{break}}}}while(0);N=aO[c[c[s>>2]>>2]&15](t,1,156)|0;c[d+416>>2]=N;c[N>>2]=62;fv(N+84|0,0,16);fv(N+140|0,0,16);N=c[c[s>>2]>>2]|0;do{if((c[d+212>>2]|0)==0){G=aO[N&15](t,1,140)|0;c[d+420>>2]=G;c[G>>2]=22;fv(G+44|0,0,64);if((c[ao>>2]|0)==0){break}c[G+136>>2]=0}else{G=aO[N&15](t,1,208)|0;c[d+420>>2]=G;c[G>>2]=24;c[G+8>>2]=64;fv(G+76|0,0,128);a[G+204|0]=113}}while(0);if((c[an>>2]|0)>1){aq=0}else{aq=(c[m>>2]|0)==0}m=aO[c[c[s>>2]>>2]&15](t,1,104)|0;c[d+400>>2]=m;c[m>>2]=32;do{if(aq){an=aO[c[(c[s>>2]|0)+4>>2]&15](t,1,1280)|0;c[m+24>>2]=an;c[m+28>>2]=an+128;c[m+32>>2]=an+256;c[m+36>>2]=an+384;c[m+40>>2]=an+512;c[m+44>>2]=an+640;c[m+48>>2]=an+768;c[m+52>>2]=an+896;c[m+56>>2]=an+1024;c[m+60>>2]=an+1152;c[m+64>>2]=0}else{if((c[o>>2]|0)<=0){break}an=m+64|0;N=c[l>>2]|0;ao=0;while(1){G=c[N+8>>2]|0;H=(c[N+28>>2]|0)-1+G|0;ap=c[N+12>>2]|0;x=(c[N+32>>2]|0)-1+ap|0;c[an+(ao<<2)>>2]=aN[c[(c[s>>2]|0)+20>>2]&15](t,1,0,H-((H|0)%(G|0)|0)|0,x-((x|0)%(ap|0)|0)|0,ap)|0;ap=ao+1|0;if((ap|0)<(c[o>>2]|0)){N=N+88|0;ao=ap}else{break}}}}while(0);m=aO[c[c[s>>2]>>2]&15](t,1,64)|0;c[d+392>>2]=m;c[m>>2]=34;if((c[j>>2]|0)!=0){ar=c[s>>2]|0;as=ar|0;at=c[as>>2]|0;au=aO[at&15](t,1,32)|0;av=d+404|0;aw=av;ax=au;c[aw>>2]=ax;ay=au;c[ay>>2]=50;az=au+4|0;aA=az;c[aA>>2]=82;aB=au+8|0;aC=aB;c[aC>>2]=14;aD=au+12|0;aE=aD;c[aE>>2]=72;aF=au+16|0;aG=aF;c[aG>>2]=18;aH=au+20|0;aI=aH;c[aI>>2]=70;aJ=au+24|0;aK=aJ;c[aK>>2]=16;aP=au+28|0;aQ=aP;c[aQ>>2]=0;aR=c[s>>2]|0;aT=aR+24|0;aU=c[aT>>2]|0;aV=aU;aL[aV&127](t);aW=c[aw>>2]|0;aX=aW;aY=c[aX>>2]|0;aL[aY&127](J);aZ=w;a_=c[aZ>>2]|0;a$=a_|0;a0=c[a$>>2]|0;aL[a0&127](I);a1=d+260|0;a2=a1;c[a2>>2]=0;a3=c[j>>2]|0;a4=(a3|0)!=0;a5=a4?102:101;c[k>>2]=a5;i=f;return}if((c[o>>2]|0)<=0){ar=c[s>>2]|0;as=ar|0;at=c[as>>2]|0;au=aO[at&15](t,1,32)|0;av=d+404|0;aw=av;ax=au;c[aw>>2]=ax;ay=au;c[ay>>2]=50;az=au+4|0;aA=az;c[aA>>2]=82;aB=au+8|0;aC=aB;c[aC>>2]=14;aD=au+12|0;aE=aD;c[aE>>2]=72;aF=au+16|0;aG=aF;c[aG>>2]=18;aH=au+20|0;aI=aH;c[aI>>2]=70;aJ=au+24|0;aK=aJ;c[aK>>2]=16;aP=au+28|0;aQ=aP;c[aQ>>2]=0;aR=c[s>>2]|0;aT=aR+24|0;aU=c[aT>>2]|0;aV=aU;aL[aV&127](t);aW=c[aw>>2]|0;aX=aW;aY=c[aX>>2]|0;aL[aY&127](J);aZ=w;a_=c[aZ>>2]|0;a$=a_|0;a0=c[a$>>2]|0;aL[a0&127](I);a1=d+260|0;a2=a1;c[a2>>2]=0;a3=c[j>>2]|0;a4=(a3|0)!=0;a5=a4?102:101;c[k>>2]=a5;i=f;return}aq=m+24|0;m=0;ao=c[l>>2]|0;while(1){l=c[(c[s>>2]|0)+8>>2]|0;N=Z(c[ao+36>>2]|0,c[ao+28>>2]|0)|0;an=Z(c[ao+40>>2]|0,c[ao+12>>2]|0)|0;c[aq+(m<<2)>>2]=aS[l&15](t,1,N,an)|0;an=m+1|0;if((an|0)<(c[o>>2]|0)){m=an;ao=ao+88|0}else{break}}ar=c[s>>2]|0;as=ar|0;at=c[as>>2]|0;au=aO[at&15](t,1,32)|0;av=d+404|0;aw=av;ax=au;c[aw>>2]=ax;ay=au;c[ay>>2]=50;az=au+4|0;aA=az;c[aA>>2]=82;aB=au+8|0;aC=aB;c[aC>>2]=14;aD=au+12|0;aE=aD;c[aE>>2]=72;aF=au+16|0;aG=aF;c[aG>>2]=18;aH=au+20|0;aI=aH;c[aI>>2]=70;aJ=au+24|0;aK=aJ;c[aK>>2]=16;aP=au+28|0;aQ=aP;c[aQ>>2]=0;aR=c[s>>2]|0;aT=aR+24|0;aU=c[aT>>2]|0;aV=aU;aL[aV&127](t);aW=c[aw>>2]|0;aX=aW;aY=c[aX>>2]|0;aL[aY&127](J);aZ=w;a_=c[aZ>>2]|0;a$=a_|0;a0=c[a$>>2]|0;aL[a0&127](I);a1=d+260|0;a2=a1;c[a2>>2]=0;a3=c[j>>2]|0;a4=(a3|0)!=0;a5=a4?102:101;c[k>>2]=a5;i=f;return}function bG(a){a=a|0;return Z(c[a+36>>2]|0,c[a+28>>2]|0)|0}function bH(a){a=a|0;return(c[a+260>>2]|0)>>>0<(c[a+32>>2]|0)>>>0|0}function bI(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+8|0;e=d|0;f=a+432|0;c[f>>2]=b;b=a;g=a+20|0;if((c[g>>2]|0)!=101){h=a;c[(c[h>>2]|0)+20>>2]=21;c[(c[h>>2]|0)+24>>2]=c[g>>2];aL[c[c[h>>2]>>2]&127](a)}h=a+260|0;g=a+32|0;if((c[h>>2]|0)>>>0>=(c[g>>2]|0)>>>0){j=a;c[(c[j>>2]|0)+20>>2]=126;aM[c[(c[j>>2]|0)+4>>2]&63](a,-1)}j=a+8|0;k=c[j>>2]|0;if((k|0)!=0){c[k+4>>2]=c[h>>2];c[(c[j>>2]|0)+8>>2]=c[g>>2];aL[c[c[j>>2]>>2]&127](a)}j=c[a+388>>2]|0;if((c[j+12>>2]|0)!=0){aL[c[j+4>>2]&127](b)}j=c[g>>2]|0;g=c[h>>2]|0;c[e>>2]=0;aT[c[(c[a+392>>2]|0)+4>>2]&63](b,f,e,(j|0)==(g|0)?j-g|0:1);g=c[e>>2]|0;c[h>>2]=(c[h>>2]|0)+g;i=d;return g|0}function bJ(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;b=a;d=a+20|0;e=c[d>>2]|0;if((e|0)==101|(e|0)==102){if((c[a+260>>2]|0)>>>0<(c[a+32>>2]|0)>>>0){f=a;c[(c[f>>2]|0)+20>>2]=69;aL[c[c[f>>2]>>2]&127](a)}aL[c[(c[a+388>>2]|0)+8>>2]&127](b)}else if((e|0)!=103){e=a;c[(c[e>>2]|0)+20>>2]=21;c[(c[e>>2]|0)+24>>2]=c[d>>2];aL[c[c[e>>2]>>2]&127](a)}e=a+388|0;f=c[e>>2]|0;if((c[f+16>>2]|0)==0){g=a+284|0;h=a+8|0;i=a+400|0;j=a;k=a;l=f;do{aL[c[l>>2]&127](b);if((c[g>>2]|0)!=0){f=0;do{m=c[h>>2]|0;if((m|0)!=0){c[m+4>>2]=f;c[(c[h>>2]|0)+8>>2]=c[g>>2];aL[c[c[h>>2]>>2]&127](k)}if((aU[c[(c[i>>2]|0)+4>>2]&127](b,0)|0)==0){c[(c[j>>2]|0)+20>>2]=25;aL[c[c[j>>2]>>2]&127](k)}f=f+1|0;}while(f>>>0<(c[g>>2]|0)>>>0)}aL[c[(c[e>>2]|0)+8>>2]&127](b);l=c[e>>2]|0;}while((c[l+16>>2]|0)==0)}aL[c[(c[a+404>>2]|0)+12>>2]&127](b);aL[c[(c[a+24>>2]|0)+16>>2]&127](b);b=c[a+4>>2]|0;if((b|0)==0){return}aM[c[b+36>>2]&63](a,1);if((c[a+16>>2]|0)==0){c[d>>2]=100;return}else{c[d>>2]=200;c[a+308>>2]=0;return}}function bK(a){a=a|0;var b=0,d=0;b=a+4|0;d=c[b>>2]|0;if((d|0)!=0){aL[c[d+40>>2]&127](a)}c[b>>2]=0;c[a+20>>2]=0;fu(c[a>>2]|0);fu(a);return}function bL(a,b){a=a|0;b=b|0;var d=0;d=c[a+392>>2]|0;if((c[a+208>>2]|0)!=0){return}c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=b;if((b|0)==0){c[d+4>>2]=52;return}else{d=a|0;c[(c[d>>2]|0)+20>>2]=3;aL[c[c[d>>2]>>2]&127](a);return}}function bM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;f=c[a+392>>2]|0;g=f+8|0;h=g;i=a+284|0;if((c[h>>2]|0)>>>0>=(c[i>>2]|0)>>>0){return}j=f+12|0;k=j;l=a+280|0;m=a+396|0;n=f+24|0;o=a+400|0;p=f+16|0;f=p;q=p|0;p=g|0;g=c[k>>2]|0;while(1){r=c[l>>2]|0;if(g>>>0<r>>>0){aW[c[(c[m>>2]|0)+4>>2]&31](a,b,d,e,n,k,r);s=c[k>>2]|0;t=c[l>>2]|0}else{s=g;t=r}if((s|0)!=(t|0)){u=767;break}r=(aU[c[(c[o>>2]|0)+4>>2]&127](a,n)|0)==0;v=(c[f>>2]|0)!=0;if(r){u=760;break}if(v){c[d>>2]=(c[d>>2]|0)+1;c[q>>2]=0}c[j>>2]=0;r=(c[h>>2]|0)+1|0;c[p>>2]=r;if(r>>>0<(c[i>>2]|0)>>>0){g=0}else{u=769;break}}if((u|0)==767){return}else if((u|0)==769){return}else if((u|0)==760){if(v){return}c[d>>2]=(c[d>>2]|0)-1;c[q>>2]=1;return}}function bN(d){d=d|0;var e=0,f=0,g=0,h=0,i=0;e=c[d+404>>2]|0;f=d+24|0;g=c[f>>2]|0;h=g|0;i=c[h>>2]|0;c[h>>2]=i+1;a[i]=-1;i=g+4|0;h=(c[i>>2]|0)-1|0;c[i>>2]=h;do{if((h|0)==0){if((aP[c[g+12>>2]&31](d)|0)!=0){break}i=d|0;c[(c[i>>2]|0)+20>>2]=25;aL[c[c[i>>2]>>2]&127](d)}}while(0);g=c[f>>2]|0;h=g|0;i=c[h>>2]|0;c[h>>2]=i+1;a[i]=-40;i=g+4|0;h=(c[i>>2]|0)-1|0;c[i>>2]=h;do{if((h|0)==0){if((aP[c[g+12>>2]&31](d)|0)!=0){break}i=d|0;c[(c[i>>2]|0)+20>>2]=25;aL[c[c[i>>2]>>2]&127](d)}}while(0);c[e+28>>2]=0;do{if((c[d+244>>2]|0)!=0){e=c[f>>2]|0;g=e|0;h=c[g>>2]|0;c[g>>2]=h+1;a[h]=-1;h=e+4|0;g=(c[h>>2]|0)-1|0;c[h>>2]=g;do{if((g|0)==0){if((aP[c[e+12>>2]&31](d)|0)!=0){break}h=d|0;c[(c[h>>2]|0)+20>>2]=25;aL[c[c[h>>2]>>2]&127](d)}}while(0);e=c[f>>2]|0;g=e|0;h=c[g>>2]|0;c[g>>2]=h+1;a[h]=-32;h=e+4|0;g=(c[h>>2]|0)-1|0;c[h>>2]=g;do{if((g|0)==0){if((aP[c[e+12>>2]&31](d)|0)!=0){break}h=d|0;c[(c[h>>2]|0)+20>>2]=25;aL[c[c[h>>2]>>2]&127](d)}}while(0);e=c[f>>2]|0;g=e|0;h=c[g>>2]|0;c[g>>2]=h+1;a[h]=0;h=e+4|0;g=(c[h>>2]|0)-1|0;c[h>>2]=g;do{if((g|0)==0){if((aP[c[e+12>>2]&31](d)|0)!=0){break}h=d|0;c[(c[h>>2]|0)+20>>2]=25;aL[c[c[h>>2]>>2]&127](d)}}while(0);e=c[f>>2]|0;g=e|0;h=c[g>>2]|0;c[g>>2]=h+1;a[h]=16;h=e+4|0;g=(c[h>>2]|0)-1|0;c[h>>2]=g;do{if((g|0)==0){if((aP[c[e+12>>2]&31](d)|0)!=0){break}h=d|0;c[(c[h>>2]|0)+20>>2]=25;aL[c[c[h>>2]>>2]&127](d)}}while(0);e=c[f>>2]|0;g=e|0;h=c[g>>2]|0;c[g>>2]=h+1;a[h]=74;h=e+4|0;g=(c[h>>2]|0)-1|0;c[h>>2]=g;do{if((g|0)==0){if((aP[c[e+12>>2]&31](d)|0)!=0){break}h=d|0;c[(c[h>>2]|0)+20>>2]=25;aL[c[c[h>>2]>>2]&127](d)}}while(0);e=c[f>>2]|0;g=e|0;h=c[g>>2]|0;c[g>>2]=h+1;a[h]=70;h=e+4|0;g=(c[h>>2]|0)-1|0;c[h>>2]=g;do{if((g|0)==0){if((aP[c[e+12>>2]&31](d)|0)!=0){break}h=d|0;c[(c[h>>2]|0)+20>>2]=25;aL[c[c[h>>2]>>2]&127](d)}}while(0);e=c[f>>2]|0;g=e|0;h=c[g>>2]|0;c[g>>2]=h+1;a[h]=73;h=e+4|0;g=(c[h>>2]|0)-1|0;c[h>>2]=g;do{if((g|0)==0){if((aP[c[e+12>>2]&31](d)|0)!=0){break}h=d|0;c[(c[h>>2]|0)+20>>2]=25;aL[c[c[h>>2]>>2]&127](d)}}while(0);e=c[f>>2]|0;g=e|0;h=c[g>>2]|0;c[g>>2]=h+1;a[h]=70;h=e+4|0;g=(c[h>>2]|0)-1|0;c[h>>2]=g;do{if((g|0)==0){if((aP[c[e+12>>2]&31](d)|0)!=0){break}h=d|0;c[(c[h>>2]|0)+20>>2]=25;aL[c[c[h>>2]>>2]&127](d)}}while(0);e=c[f>>2]|0;g=e|0;h=c[g>>2]|0;c[g>>2]=h+1;a[h]=0;h=e+4|0;g=(c[h>>2]|0)-1|0;c[h>>2]=g;do{if((g|0)==0){if((aP[c[e+12>>2]&31](d)|0)!=0){break}h=d|0;c[(c[h>>2]|0)+20>>2]=25;aL[c[c[h>>2]>>2]&127](d)}}while(0);e=a[d+248|0]|0;g=c[f>>2]|0;h=g|0;i=c[h>>2]|0;c[h>>2]=i+1;a[i]=e;e=g+4|0;i=(c[e>>2]|0)-1|0;c[e>>2]=i;do{if((i|0)==0){if((aP[c[g+12>>2]&31](d)|0)!=0){break}e=d|0;c[(c[e>>2]|0)+20>>2]=25;aL[c[c[e>>2]>>2]&127](d)}}while(0);g=a[d+249|0]|0;i=c[f>>2]|0;e=i|0;h=c[e>>2]|0;c[e>>2]=h+1;a[h]=g;g=i+4|0;h=(c[g>>2]|0)-1|0;c[g>>2]=h;do{if((h|0)==0){if((aP[c[i+12>>2]&31](d)|0)!=0){break}g=d|0;c[(c[g>>2]|0)+20>>2]=25;aL[c[c[g>>2]>>2]&127](d)}}while(0);i=a[d+250|0]|0;h=c[f>>2]|0;g=h|0;e=c[g>>2]|0;c[g>>2]=e+1;a[e]=i;i=h+4|0;e=(c[i>>2]|0)-1|0;c[i>>2]=e;do{if((e|0)==0){if((aP[c[h+12>>2]&31](d)|0)!=0){break}i=d|0;c[(c[i>>2]|0)+20>>2]=25;aL[c[c[i>>2]>>2]&127](d)}}while(0);h=b[d+252>>1]|0;e=c[f>>2]|0;i=e|0;g=c[i>>2]|0;c[i>>2]=g+1;a[g]=(h&65535)>>>8&255;g=e+4|0;i=(c[g>>2]|0)-1|0;c[g>>2]=i;do{if((i|0)==0){if((aP[c[e+12>>2]&31](d)|0)!=0){break}g=d|0;c[(c[g>>2]|0)+20>>2]=25;aL[c[c[g>>2]>>2]&127](d)}}while(0);e=c[f>>2]|0;i=e|0;g=c[i>>2]|0;c[i>>2]=g+1;a[g]=h&255;g=e+4|0;i=(c[g>>2]|0)-1|0;c[g>>2]=i;do{if((i|0)==0){if((aP[c[e+12>>2]&31](d)|0)!=0){break}g=d|0;c[(c[g>>2]|0)+20>>2]=25;aL[c[c[g>>2]>>2]&127](d)}}while(0);e=b[d+254>>1]|0;i=c[f>>2]|0;h=i|0;g=c[h>>2]|0;c[h>>2]=g+1;a[g]=(e&65535)>>>8&255;g=i+4|0;h=(c[g>>2]|0)-1|0;c[g>>2]=h;do{if((h|0)==0){if((aP[c[i+12>>2]&31](d)|0)!=0){break}g=d|0;c[(c[g>>2]|0)+20>>2]=25;aL[c[c[g>>2]>>2]&127](d)}}while(0);i=c[f>>2]|0;h=i|0;g=c[h>>2]|0;c[h>>2]=g+1;a[g]=e&255;g=i+4|0;h=(c[g>>2]|0)-1|0;c[g>>2]=h;do{if((h|0)==0){if((aP[c[i+12>>2]&31](d)|0)!=0){break}g=d|0;c[(c[g>>2]|0)+20>>2]=25;aL[c[c[g>>2]>>2]&127](d)}}while(0);i=c[f>>2]|0;h=i|0;e=c[h>>2]|0;c[h>>2]=e+1;a[e]=0;e=i+4|0;h=(c[e>>2]|0)-1|0;c[e>>2]=h;do{if((h|0)==0){if((aP[c[i+12>>2]&31](d)|0)!=0){break}e=d|0;c[(c[e>>2]|0)+20>>2]=25;aL[c[c[e>>2]>>2]&127](d)}}while(0);i=c[f>>2]|0;h=i|0;e=c[h>>2]|0;c[h>>2]=e+1;a[e]=0;e=i+4|0;h=(c[e>>2]|0)-1|0;c[e>>2]=h;if((h|0)!=0){break}if((aP[c[i+12>>2]&31](d)|0)!=0){break}i=d|0;c[(c[i>>2]|0)+20>>2]=25;aL[c[c[i>>2]>>2]&127](d)}}while(0);if((c[d+256>>2]|0)==0){return}i=c[f>>2]|0;h=i|0;e=c[h>>2]|0;c[h>>2]=e+1;a[e]=-1;e=i+4|0;h=(c[e>>2]|0)-1|0;c[e>>2]=h;do{if((h|0)==0){if((aP[c[i+12>>2]&31](d)|0)!=0){break}e=d|0;c[(c[e>>2]|0)+20>>2]=25;aL[c[c[e>>2]>>2]&127](d)}}while(0);i=c[f>>2]|0;h=i|0;e=c[h>>2]|0;c[h>>2]=e+1;a[e]=-18;e=i+4|0;h=(c[e>>2]|0)-1|0;c[e>>2]=h;do{if((h|0)==0){if((aP[c[i+12>>2]&31](d)|0)!=0){break}e=d|0;c[(c[e>>2]|0)+20>>2]=25;aL[c[c[e>>2]>>2]&127](d)}}while(0);i=c[f>>2]|0;h=i|0;e=c[h>>2]|0;c[h>>2]=e+1;a[e]=0;e=i+4|0;h=(c[e>>2]|0)-1|0;c[e>>2]=h;do{if((h|0)==0){if((aP[c[i+12>>2]&31](d)|0)!=0){break}e=d|0;c[(c[e>>2]|0)+20>>2]=25;aL[c[c[e>>2]>>2]&127](d)}}while(0);i=c[f>>2]|0;h=i|0;e=c[h>>2]|0;c[h>>2]=e+1;a[e]=14;e=i+4|0;h=(c[e>>2]|0)-1|0;c[e>>2]=h;do{if((h|0)==0){if((aP[c[i+12>>2]&31](d)|0)!=0){break}e=d|0;c[(c[e>>2]|0)+20>>2]=25;aL[c[c[e>>2]>>2]&127](d)}}while(0);i=c[f>>2]|0;h=i|0;e=c[h>>2]|0;c[h>>2]=e+1;a[e]=65;e=i+4|0;h=(c[e>>2]|0)-1|0;c[e>>2]=h;do{if((h|0)==0){if((aP[c[i+12>>2]&31](d)|0)!=0){break}e=d|0;c[(c[e>>2]|0)+20>>2]=25;aL[c[c[e>>2]>>2]&127](d)}}while(0);i=c[f>>2]|0;h=i|0;e=c[h>>2]|0;c[h>>2]=e+1;a[e]=100;e=i+4|0;h=(c[e>>2]|0)-1|0;c[e>>2]=h;do{if((h|0)==0){if((aP[c[i+12>>2]&31](d)|0)!=0){break}e=d|0;c[(c[e>>2]|0)+20>>2]=25;aL[c[c[e>>2]>>2]&127](d)}}while(0);i=c[f>>2]|0;h=i|0;e=c[h>>2]|0;c[h>>2]=e+1;a[e]=111;e=i+4|0;h=(c[e>>2]|0)-1|0;c[e>>2]=h;do{if((h|0)==0){if((aP[c[i+12>>2]&31](d)|0)!=0){break}e=d|0;c[(c[e>>2]|0)+20>>2]=25;aL[c[c[e>>2]>>2]&127](d)}}while(0);i=c[f>>2]|0;h=i|0;e=c[h>>2]|0;c[h>>2]=e+1;a[e]=98;e=i+4|0;h=(c[e>>2]|0)-1|0;c[e>>2]=h;do{if((h|0)==0){if((aP[c[i+12>>2]&31](d)|0)!=0){break}e=d|0;c[(c[e>>2]|0)+20>>2]=25;aL[c[c[e>>2]>>2]&127](d)}}while(0);i=c[f>>2]|0;h=i|0;e=c[h>>2]|0;c[h>>2]=e+1;a[e]=101;e=i+4|0;h=(c[e>>2]|0)-1|0;c[e>>2]=h;do{if((h|0)==0){if((aP[c[i+12>>2]&31](d)|0)!=0){break}e=d|0;c[(c[e>>2]|0)+20>>2]=25;aL[c[c[e>>2]>>2]&127](d)}}while(0);i=c[f>>2]|0;h=i|0;e=c[h>>2]|0;c[h>>2]=e+1;a[e]=0;e=i+4|0;h=(c[e>>2]|0)-1|0;c[e>>2]=h;do{if((h|0)==0){if((aP[c[i+12>>2]&31](d)|0)!=0){break}e=d|0;c[(c[e>>2]|0)+20>>2]=25;aL[c[c[e>>2]>>2]&127](d)}}while(0);i=c[f>>2]|0;h=i|0;e=c[h>>2]|0;c[h>>2]=e+1;a[e]=100;e=i+4|0;h=(c[e>>2]|0)-1|0;c[e>>2]=h;do{if((h|0)==0){if((aP[c[i+12>>2]&31](d)|0)!=0){break}e=d|0;c[(c[e>>2]|0)+20>>2]=25;aL[c[c[e>>2]>>2]&127](d)}}while(0);i=c[f>>2]|0;h=i|0;e=c[h>>2]|0;c[h>>2]=e+1;a[e]=0;e=i+4|0;h=(c[e>>2]|0)-1|0;c[e>>2]=h;do{if((h|0)==0){if((aP[c[i+12>>2]&31](d)|0)!=0){break}e=d|0;c[(c[e>>2]|0)+20>>2]=25;aL[c[c[e>>2]>>2]&127](d)}}while(0);i=c[f>>2]|0;h=i|0;e=c[h>>2]|0;c[h>>2]=e+1;a[e]=0;e=i+4|0;h=(c[e>>2]|0)-1|0;c[e>>2]=h;do{if((h|0)==0){if((aP[c[i+12>>2]&31](d)|0)!=0){break}e=d|0;c[(c[e>>2]|0)+20>>2]=25;aL[c[c[e>>2]>>2]&127](d)}}while(0);i=c[f>>2]|0;h=i|0;e=c[h>>2]|0;c[h>>2]=e+1;a[e]=0;e=i+4|0;h=(c[e>>2]|0)-1|0;c[e>>2]=h;do{if((h|0)==0){if((aP[c[i+12>>2]&31](d)|0)!=0){break}e=d|0;c[(c[e>>2]|0)+20>>2]=25;aL[c[c[e>>2]>>2]&127](d)}}while(0);i=c[f>>2]|0;h=i|0;e=c[h>>2]|0;c[h>>2]=e+1;a[e]=0;e=i+4|0;h=(c[e>>2]|0)-1|0;c[e>>2]=h;do{if((h|0)==0){if((aP[c[i+12>>2]&31](d)|0)!=0){break}e=d|0;c[(c[e>>2]|0)+20>>2]=25;aL[c[c[e>>2]>>2]&127](d)}}while(0);i=c[d+80>>2]|0;if((i|0)==3){h=c[f>>2]|0;e=h|0;g=c[e>>2]|0;c[e>>2]=g+1;a[g]=1;g=h+4|0;e=(c[g>>2]|0)-1|0;c[g>>2]=e;if((e|0)!=0){return}if((aP[c[h+12>>2]&31](d)|0)!=0){return}h=d|0;c[(c[h>>2]|0)+20>>2]=25;aL[c[c[h>>2]>>2]&127](d);return}else if((i|0)==5){i=c[f>>2]|0;h=i|0;e=c[h>>2]|0;c[h>>2]=e+1;a[e]=2;e=i+4|0;h=(c[e>>2]|0)-1|0;c[e>>2]=h;if((h|0)!=0){return}if((aP[c[i+12>>2]&31](d)|0)!=0){return}i=d|0;c[(c[i>>2]|0)+20>>2]=25;aL[c[c[i>>2]>>2]&127](d);return}else{i=c[f>>2]|0;f=i|0;h=c[f>>2]|0;c[f>>2]=h+1;a[h]=0;h=i+4|0;f=(c[h>>2]|0)-1|0;c[h>>2]=f;if((f|0)!=0){return}if((aP[c[i+12>>2]&31](d)|0)!=0){return}i=d|0;c[(c[i>>2]|0)+20>>2]=25;aL[c[c[i>>2]>>2]&127](d);return}}function bO(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=b+84|0;e=b+76|0;f=c[e>>2]|0;if((f|0)>0){g=0;h=0;i=c[d>>2]|0;while(1){j=(bU(b,c[i+16>>2]|0)|0)+h|0;k=g+1|0;l=c[e>>2]|0;if((k|0)<(l|0)){g=k;h=j;i=i+88|0}else{m=j;n=l;break}}}else{m=0;n=f}f=b+212|0;i=b+264|0;h=(c[i>>2]|0)==0;L1253:do{if((c[f>>2]|0)==0){L1256:do{if(h){do{if((c[b+72>>2]|0)==8){if((c[b+376>>2]|0)!=8){break}if((n|0)>0){g=0;e=1;l=c[d>>2]|0;while(1){if((c[l+20>>2]|0)>1){o=911}else{if((c[l+24>>2]|0)>1){o=911}else{p=e}}if((o|0)==911){o=0;p=0}j=g+1|0;if((j|0)<(n|0)){g=j;e=p;l=l+88|0}else{q=p;break}}}else{q=1}l=(q|0)==0;if((m|0)==0|l){if(l){break}bW(b,192);break L1253}l=b|0;c[(c[l>>2]|0)+20>>2]=77;aM[c[(c[l>>2]|0)+4>>2]&63](b,0);l=(c[i>>2]|0)!=0;if((c[f>>2]|0)==0){if(l){break L1256}else{break}}else{if(l){o=916;break L1253}else{o=917;break L1253}}}}while(0);bW(b,193);break L1253}}while(0);bW(b,194)}else{if(h){o=917}else{o=916}}}while(0);if((o|0)==916){bW(b,202)}else if((o|0)==917){bW(b,201)}if((c[i>>2]|0)==0){return}i=b+376|0;if((c[i>>2]|0)==8){return}o=b+24|0;h=c[o>>2]|0;f=h|0;m=c[f>>2]|0;c[f>>2]=m+1;a[m]=-1;m=h+4|0;f=(c[m>>2]|0)-1|0;c[m>>2]=f;do{if((f|0)==0){if((aP[c[h+12>>2]&31](b)|0)!=0){break}m=b|0;c[(c[m>>2]|0)+20>>2]=25;aL[c[c[m>>2]>>2]&127](b)}}while(0);h=c[o>>2]|0;f=h|0;m=c[f>>2]|0;c[f>>2]=m+1;a[m]=-38;m=h+4|0;f=(c[m>>2]|0)-1|0;c[m>>2]=f;do{if((f|0)==0){if((aP[c[h+12>>2]&31](b)|0)!=0){break}m=b|0;c[(c[m>>2]|0)+20>>2]=25;aL[c[c[m>>2]>>2]&127](b)}}while(0);h=c[o>>2]|0;f=h|0;m=c[f>>2]|0;c[f>>2]=m+1;a[m]=0;m=h+4|0;f=(c[m>>2]|0)-1|0;c[m>>2]=f;do{if((f|0)==0){if((aP[c[h+12>>2]&31](b)|0)!=0){break}m=b|0;c[(c[m>>2]|0)+20>>2]=25;aL[c[c[m>>2]>>2]&127](b)}}while(0);h=c[o>>2]|0;f=h|0;m=c[f>>2]|0;c[f>>2]=m+1;a[m]=6;m=h+4|0;f=(c[m>>2]|0)-1|0;c[m>>2]=f;do{if((f|0)==0){if((aP[c[h+12>>2]&31](b)|0)!=0){break}m=b|0;c[(c[m>>2]|0)+20>>2]=25;aL[c[c[m>>2]>>2]&127](b)}}while(0);h=c[o>>2]|0;f=h|0;m=c[f>>2]|0;c[f>>2]=m+1;a[m]=0;m=h+4|0;f=(c[m>>2]|0)-1|0;c[m>>2]=f;do{if((f|0)==0){if((aP[c[h+12>>2]&31](b)|0)!=0){break}m=b|0;c[(c[m>>2]|0)+20>>2]=25;aL[c[c[m>>2]>>2]&127](b)}}while(0);h=c[o>>2]|0;f=h|0;m=c[f>>2]|0;c[f>>2]=m+1;a[m]=0;m=h+4|0;f=(c[m>>2]|0)-1|0;c[m>>2]=f;do{if((f|0)==0){if((aP[c[h+12>>2]&31](b)|0)!=0){break}m=b|0;c[(c[m>>2]|0)+20>>2]=25;aL[c[c[m>>2]>>2]&127](b)}}while(0);h=c[i>>2]|0;i=(Z(h,h)|0)+255|0;h=c[o>>2]|0;f=h|0;m=c[f>>2]|0;c[f>>2]=m+1;a[m]=i&255;i=h+4|0;m=(c[i>>2]|0)-1|0;c[i>>2]=m;do{if((m|0)==0){if((aP[c[h+12>>2]&31](b)|0)!=0){break}i=b|0;c[(c[i>>2]|0)+20>>2]=25;aL[c[c[i>>2]>>2]&127](b)}}while(0);h=c[o>>2]|0;o=h|0;m=c[o>>2]|0;c[o>>2]=m+1;a[m]=0;m=h+4|0;o=(c[m>>2]|0)-1|0;c[m>>2]=o;if((o|0)!=0){return}if((aP[c[h+12>>2]&31](b)|0)!=0){return}h=b|0;c[(c[h>>2]|0)+20>>2]=25;aL[c[c[h>>2]>>2]&127](b);return}function bP(b){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,u=0;d=i;i=i+32|0;e=d|0;f=d+16|0;g=c[b+404>>2]|0;do{if((c[b+212>>2]|0)==0){h=b+288|0;if((c[h>>2]|0)<=0){break}j=b+360|0;k=b+368|0;l=b+364|0;m=0;do{n=c[b+292+(m<<2)>>2]|0;do{if((c[j>>2]|0)==0){if((c[k>>2]|0)!=0){break}bV(b,c[n+20>>2]|0,0)}}while(0);if((c[l>>2]|0)!=0){bV(b,c[n+24>>2]|0,1)}m=m+1|0;}while((m|0)<(c[h>>2]|0))}else{fv(f|0,0,16);fv(e|0,0,16);h=c[b+288>>2]|0;L1339:do{if((h|0)>0){m=(c[b+364>>2]|0)==0;if((c[b+360>>2]|0)!=0){l=0;while(1){if(!m){a[f+(c[(c[b+292+(l<<2)>>2]|0)+24>>2]|0)|0]=1}k=l+1|0;if((k|0)<(h|0)){l=k}else{o=0;p=0;break L1339}}}l=(c[b+368>>2]|0)==0;n=0;while(1){k=c[b+292+(n<<2)>>2]|0;if(l){a[e+(c[k+20>>2]|0)|0]=1}if(!m){a[f+(c[k+24>>2]|0)|0]=1}k=n+1|0;if((k|0)<(h|0)){n=k}else{o=0;p=0;break}}}else{o=0;p=0}}while(0);do{p=(a[e+o|0]|0)+p+(a[f+o|0]|0)|0;o=o+1|0;}while((o|0)<16);if((p|0)==0){break}h=b+24|0;n=c[h>>2]|0;m=n|0;l=c[m>>2]|0;c[m>>2]=l+1;a[l]=-1;l=n+4|0;m=(c[l>>2]|0)-1|0;c[l>>2]=m;do{if((m|0)==0){if((aP[c[n+12>>2]&31](b)|0)!=0){break}l=b|0;c[(c[l>>2]|0)+20>>2]=25;aL[c[c[l>>2]>>2]&127](b)}}while(0);n=c[h>>2]|0;m=n|0;l=c[m>>2]|0;c[m>>2]=l+1;a[l]=-52;l=n+4|0;m=(c[l>>2]|0)-1|0;c[l>>2]=m;do{if((m|0)==0){if((aP[c[n+12>>2]&31](b)|0)!=0){break}l=b|0;c[(c[l>>2]|0)+20>>2]=25;aL[c[c[l>>2]>>2]&127](b)}}while(0);n=(p<<1)+2|0;m=c[h>>2]|0;l=m|0;k=c[l>>2]|0;c[l>>2]=k+1;a[k]=n>>>8&255;k=m+4|0;l=(c[k>>2]|0)-1|0;c[k>>2]=l;do{if((l|0)==0){if((aP[c[m+12>>2]&31](b)|0)!=0){break}k=b|0;c[(c[k>>2]|0)+20>>2]=25;aL[c[c[k>>2]>>2]&127](b)}}while(0);m=c[h>>2]|0;l=m|0;k=c[l>>2]|0;c[l>>2]=k+1;a[k]=n&255;k=m+4|0;l=(c[k>>2]|0)-1|0;c[k>>2]=l;do{if((l|0)==0){if((aP[c[m+12>>2]&31](b)|0)!=0){break}k=b|0;c[(c[k>>2]|0)+20>>2]=25;aL[c[c[k>>2]>>2]&127](b)}}while(0);m=b|0;l=b;n=0;do{do{if((a[e+n|0]|0)!=0){k=c[h>>2]|0;j=k|0;q=c[j>>2]|0;c[j>>2]=q+1;a[q]=n&255;q=k+4|0;j=(c[q>>2]|0)-1|0;c[q>>2]=j;do{if((j|0)==0){if((aP[c[k+12>>2]&31](b)|0)!=0){break}c[(c[m>>2]|0)+20>>2]=25;aL[c[c[m>>2]>>2]&127](l)}}while(0);k=(a[b+168+n|0]<<4)+(a[b+152+n|0]|0)&255;j=c[h>>2]|0;q=j|0;r=c[q>>2]|0;c[q>>2]=r+1;a[r]=k;k=j+4|0;r=(c[k>>2]|0)-1|0;c[k>>2]=r;if((r|0)!=0){break}if((aP[c[j+12>>2]&31](b)|0)!=0){break}c[(c[m>>2]|0)+20>>2]=25;aL[c[c[m>>2]>>2]&127](l)}}while(0);do{if((a[f+n|0]|0)!=0){j=c[h>>2]|0;r=j|0;k=c[r>>2]|0;c[r>>2]=k+1;a[k]=n+16&255;k=j+4|0;r=(c[k>>2]|0)-1|0;c[k>>2]=r;do{if((r|0)==0){if((aP[c[j+12>>2]&31](b)|0)!=0){break}c[(c[m>>2]|0)+20>>2]=25;aL[c[c[m>>2]>>2]&127](l)}}while(0);j=a[b+184+n|0]|0;r=c[h>>2]|0;k=r|0;q=c[k>>2]|0;c[k>>2]=q+1;a[q]=j;j=r+4|0;q=(c[j>>2]|0)-1|0;c[j>>2]=q;if((q|0)!=0){break}if((aP[c[r+12>>2]&31](b)|0)!=0){break}c[(c[m>>2]|0)+20>>2]=25;aL[c[c[m>>2]>>2]&127](l)}}while(0);n=n+1|0;}while((n|0)<16)}}while(0);f=b+236|0;e=g+28|0;g=b+24|0;if((c[f>>2]|0)!=(c[e>>2]|0)){p=c[g>>2]|0;o=p|0;n=c[o>>2]|0;c[o>>2]=n+1;a[n]=-1;n=p+4|0;o=(c[n>>2]|0)-1|0;c[n>>2]=o;do{if((o|0)==0){if((aP[c[p+12>>2]&31](b)|0)!=0){break}n=b|0;c[(c[n>>2]|0)+20>>2]=25;aL[c[c[n>>2]>>2]&127](b)}}while(0);p=c[g>>2]|0;o=p|0;n=c[o>>2]|0;c[o>>2]=n+1;a[n]=-35;n=p+4|0;o=(c[n>>2]|0)-1|0;c[n>>2]=o;do{if((o|0)==0){if((aP[c[p+12>>2]&31](b)|0)!=0){break}n=b|0;c[(c[n>>2]|0)+20>>2]=25;aL[c[c[n>>2]>>2]&127](b)}}while(0);p=c[g>>2]|0;o=p|0;n=c[o>>2]|0;c[o>>2]=n+1;a[n]=0;n=p+4|0;o=(c[n>>2]|0)-1|0;c[n>>2]=o;do{if((o|0)==0){if((aP[c[p+12>>2]&31](b)|0)!=0){break}n=b|0;c[(c[n>>2]|0)+20>>2]=25;aL[c[c[n>>2]>>2]&127](b)}}while(0);p=c[g>>2]|0;o=p|0;n=c[o>>2]|0;c[o>>2]=n+1;a[n]=4;n=p+4|0;o=(c[n>>2]|0)-1|0;c[n>>2]=o;do{if((o|0)==0){if((aP[c[p+12>>2]&31](b)|0)!=0){break}n=b|0;c[(c[n>>2]|0)+20>>2]=25;aL[c[c[n>>2]>>2]&127](b)}}while(0);p=c[f>>2]|0;o=c[g>>2]|0;n=o|0;l=c[n>>2]|0;c[n>>2]=l+1;a[l]=p>>>8&255;l=o+4|0;n=(c[l>>2]|0)-1|0;c[l>>2]=n;do{if((n|0)==0){if((aP[c[o+12>>2]&31](b)|0)!=0){break}l=b|0;c[(c[l>>2]|0)+20>>2]=25;aL[c[c[l>>2]>>2]&127](b)}}while(0);o=c[g>>2]|0;n=o|0;l=c[n>>2]|0;c[n>>2]=l+1;a[l]=p&255;p=o+4|0;l=(c[p>>2]|0)-1|0;c[p>>2]=l;do{if((l|0)==0){if((aP[c[o+12>>2]&31](b)|0)!=0){break}p=b|0;c[(c[p>>2]|0)+20>>2]=25;aL[c[c[p>>2]>>2]&127](b)}}while(0);c[e>>2]=c[f>>2]}f=c[g>>2]|0;e=f|0;o=c[e>>2]|0;c[e>>2]=o+1;a[o]=-1;o=f+4|0;e=(c[o>>2]|0)-1|0;c[o>>2]=e;do{if((e|0)==0){if((aP[c[f+12>>2]&31](b)|0)!=0){break}o=b|0;c[(c[o>>2]|0)+20>>2]=25;aL[c[c[o>>2]>>2]&127](b)}}while(0);f=c[g>>2]|0;e=f|0;o=c[e>>2]|0;c[e>>2]=o+1;a[o]=-38;o=f+4|0;e=(c[o>>2]|0)-1|0;c[o>>2]=e;do{if((e|0)==0){if((aP[c[f+12>>2]&31](b)|0)!=0){break}o=b|0;c[(c[o>>2]|0)+20>>2]=25;aL[c[c[o>>2]>>2]&127](b)}}while(0);f=b+288|0;e=(c[f>>2]<<1)+6|0;o=c[g>>2]|0;l=o|0;p=c[l>>2]|0;c[l>>2]=p+1;a[p]=e>>>8&255;p=o+4|0;l=(c[p>>2]|0)-1|0;c[p>>2]=l;do{if((l|0)==0){if((aP[c[o+12>>2]&31](b)|0)!=0){break}p=b|0;c[(c[p>>2]|0)+20>>2]=25;aL[c[c[p>>2]>>2]&127](b)}}while(0);o=c[g>>2]|0;l=o|0;p=c[l>>2]|0;c[l>>2]=p+1;a[p]=e&255;e=o+4|0;p=(c[e>>2]|0)-1|0;c[e>>2]=p;do{if((p|0)==0){if((aP[c[o+12>>2]&31](b)|0)!=0){break}e=b|0;c[(c[e>>2]|0)+20>>2]=25;aL[c[c[e>>2]>>2]&127](b)}}while(0);o=c[g>>2]|0;p=c[f>>2]&255;e=o|0;l=c[e>>2]|0;c[e>>2]=l+1;a[l]=p;p=o+4|0;l=(c[p>>2]|0)-1|0;c[p>>2]=l;do{if((l|0)==0){if((aP[c[o+12>>2]&31](b)|0)!=0){break}p=b|0;c[(c[p>>2]|0)+20>>2]=25;aL[c[c[p>>2]>>2]&127](b)}}while(0);if((c[f>>2]|0)>0){o=b|0;l=b;p=b+360|0;e=b+368|0;n=b+364|0;m=0;while(1){h=c[b+292+(m<<2)>>2]|0;r=c[g>>2]|0;q=c[h>>2]&255;j=r|0;k=c[j>>2]|0;c[j>>2]=k+1;a[k]=q;q=r+4|0;k=(c[q>>2]|0)-1|0;c[q>>2]=k;do{if((k|0)==0){if((aP[c[r+12>>2]&31](b)|0)!=0){break}c[(c[o>>2]|0)+20>>2]=25;aL[c[c[o>>2]>>2]&127](l)}}while(0);do{if((c[p>>2]|0)==0){if((c[e>>2]|0)!=0){s=0;break}s=c[h+20>>2]<<4}else{s=0}}while(0);if((c[n>>2]|0)==0){t=0}else{t=c[h+24>>2]|0}r=c[g>>2]|0;k=r|0;q=c[k>>2]|0;c[k>>2]=q+1;a[q]=t+s&255;q=r+4|0;k=(c[q>>2]|0)-1|0;c[q>>2]=k;do{if((k|0)==0){if((aP[c[r+12>>2]&31](b)|0)!=0){break}c[(c[o>>2]|0)+20>>2]=25;aL[c[c[o>>2]>>2]&127](l)}}while(0);r=m+1|0;if((r|0)<(c[f>>2]|0)){m=r}else{u=p;break}}}else{u=b+360|0}p=c[g>>2]|0;m=c[u>>2]&255;u=p|0;f=c[u>>2]|0;c[u>>2]=f+1;a[f]=m;m=p+4|0;f=(c[m>>2]|0)-1|0;c[m>>2]=f;do{if((f|0)==0){if((aP[c[p+12>>2]&31](b)|0)!=0){break}m=b|0;c[(c[m>>2]|0)+20>>2]=25;aL[c[c[m>>2]>>2]&127](b)}}while(0);p=c[g>>2]|0;f=c[b+364>>2]&255;m=p|0;u=c[m>>2]|0;c[m>>2]=u+1;a[u]=f;f=p+4|0;u=(c[f>>2]|0)-1|0;c[f>>2]=u;do{if((u|0)==0){if((aP[c[p+12>>2]&31](b)|0)!=0){break}f=b|0;c[(c[f>>2]|0)+20>>2]=25;aL[c[c[f>>2]>>2]&127](b)}}while(0);p=c[g>>2]|0;g=(c[b+368>>2]<<4)+(c[b+372>>2]|0)&255;u=p|0;f=c[u>>2]|0;c[u>>2]=f+1;a[f]=g;g=p+4|0;f=(c[g>>2]|0)-1|0;c[g>>2]=f;if((f|0)!=0){i=d;return}if((aP[c[p+12>>2]&31](b)|0)!=0){i=d;return}p=b|0;c[(c[p>>2]|0)+20>>2]=25;aL[c[c[p>>2]>>2]&127](b);i=d;return}function bQ(b){b=b|0;var d=0,e=0,f=0,g=0;d=b+24|0;e=c[d>>2]|0;f=e|0;g=c[f>>2]|0;c[f>>2]=g+1;a[g]=-1;g=e+4|0;f=(c[g>>2]|0)-1|0;c[g>>2]=f;do{if((f|0)==0){if((aP[c[e+12>>2]&31](b)|0)!=0){break}g=b|0;c[(c[g>>2]|0)+20>>2]=25;aL[c[c[g>>2]>>2]&127](b)}}while(0);e=c[d>>2]|0;d=e|0;f=c[d>>2]|0;c[d>>2]=f+1;a[f]=-39;f=e+4|0;d=(c[f>>2]|0)-1|0;c[f>>2]=d;if((d|0)!=0){return}if((aP[c[e+12>>2]&31](b)|0)!=0){return}e=b|0;c[(c[e>>2]|0)+20>>2]=25;aL[c[c[e>>2]>>2]&127](b);return}function bR(b){b=b|0;var d=0,e=0,f=0,g=0;d=b+24|0;e=c[d>>2]|0;f=e|0;g=c[f>>2]|0;c[f>>2]=g+1;a[g]=-1;g=e+4|0;f=(c[g>>2]|0)-1|0;c[g>>2]=f;do{if((f|0)==0){if((aP[c[e+12>>2]&31](b)|0)!=0){break}g=b|0;c[(c[g>>2]|0)+20>>2]=25;aL[c[c[g>>2]>>2]&127](b)}}while(0);e=c[d>>2]|0;f=e|0;g=c[f>>2]|0;c[f>>2]=g+1;a[g]=-40;g=e+4|0;f=(c[g>>2]|0)-1|0;c[g>>2]=f;do{if((f|0)==0){if((aP[c[e+12>>2]&31](b)|0)!=0){break}g=b|0;c[(c[g>>2]|0)+20>>2]=25;aL[c[c[g>>2]>>2]&127](b)}}while(0);if((c[b+88>>2]|0)!=0){bU(b,0)|0}if((c[b+92>>2]|0)!=0){bU(b,1)|0}if((c[b+96>>2]|0)!=0){bU(b,2)|0}if((c[b+100>>2]|0)!=0){bU(b,3)|0}do{if((c[b+212>>2]|0)==0){if((c[b+120>>2]|0)!=0){bV(b,0,0)}if((c[b+136>>2]|0)!=0){bV(b,0,1)}if((c[b+124>>2]|0)!=0){bV(b,1,0)}if((c[b+140>>2]|0)!=0){bV(b,1,1)}if((c[b+128>>2]|0)!=0){bV(b,2,0)}if((c[b+144>>2]|0)!=0){bV(b,2,1)}if((c[b+132>>2]|0)!=0){bV(b,3,0)}if((c[b+148>>2]|0)==0){break}bV(b,3,1)}}while(0);e=c[d>>2]|0;f=e|0;g=c[f>>2]|0;c[f>>2]=g+1;a[g]=-1;g=e+4|0;f=(c[g>>2]|0)-1|0;c[g>>2]=f;do{if((f|0)==0){if((aP[c[e+12>>2]&31](b)|0)!=0){break}g=b|0;c[(c[g>>2]|0)+20>>2]=25;aL[c[c[g>>2]>>2]&127](b)}}while(0);e=c[d>>2]|0;d=e|0;f=c[d>>2]|0;c[d>>2]=f+1;a[f]=-39;f=e+4|0;d=(c[f>>2]|0)-1|0;c[f>>2]=d;if((d|0)!=0){return}if((aP[c[e+12>>2]&31](b)|0)!=0){return}e=b|0;c[(c[e>>2]|0)+20>>2]=25;aL[c[c[e>>2]>>2]&127](b);return}function bS(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;if(e>>>0>65533){f=b|0;c[(c[f>>2]|0)+20>>2]=12;aL[c[c[f>>2]>>2]&127](b)}f=b+24|0;g=c[f>>2]|0;h=g|0;i=c[h>>2]|0;c[h>>2]=i+1;a[i]=-1;i=g+4|0;h=(c[i>>2]|0)-1|0;c[i>>2]=h;do{if((h|0)==0){if((aP[c[g+12>>2]&31](b)|0)!=0){break}i=b|0;c[(c[i>>2]|0)+20>>2]=25;aL[c[c[i>>2]>>2]&127](b)}}while(0);g=c[f>>2]|0;h=g|0;i=c[h>>2]|0;c[h>>2]=i+1;a[i]=d&255;d=g+4|0;i=(c[d>>2]|0)-1|0;c[d>>2]=i;do{if((i|0)==0){if((aP[c[g+12>>2]&31](b)|0)!=0){break}d=b|0;c[(c[d>>2]|0)+20>>2]=25;aL[c[c[d>>2]>>2]&127](b)}}while(0);g=e+2|0;e=c[f>>2]|0;i=e|0;d=c[i>>2]|0;c[i>>2]=d+1;a[d]=g>>>8&255;d=e+4|0;i=(c[d>>2]|0)-1|0;c[d>>2]=i;do{if((i|0)==0){if((aP[c[e+12>>2]&31](b)|0)!=0){break}d=b|0;c[(c[d>>2]|0)+20>>2]=25;aL[c[c[d>>2]>>2]&127](b)}}while(0);e=c[f>>2]|0;f=e|0;i=c[f>>2]|0;c[f>>2]=i+1;a[i]=g&255;g=e+4|0;i=(c[g>>2]|0)-1|0;c[g>>2]=i;if((i|0)!=0){return}if((aP[c[e+12>>2]&31](b)|0)!=0){return}e=b|0;c[(c[e>>2]|0)+20>>2]=25;aL[c[c[e>>2]>>2]&127](b);return}function bT(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=c[b+24>>2]|0;f=e|0;g=c[f>>2]|0;c[f>>2]=g+1;a[g]=d&255;d=e+4|0;g=(c[d>>2]|0)-1|0;c[d>>2]=g;if((g|0)!=0){return}if((aP[c[e+12>>2]&31](b)|0)!=0){return}e=b|0;c[(c[e>>2]|0)+20>>2]=25;aL[c[c[e>>2]>>2]&127](b);return}function bU(d,f){d=d|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,q=0,r=0,s=0;g=c[d+88+(f<<2)>>2]|0;if((g|0)==0){h=d|0;c[(c[h>>2]|0)+20>>2]=54;c[(c[h>>2]|0)+24>>2]=f;aL[c[c[h>>2]>>2]&127](d)}h=d+384|0;i=c[h>>2]|0;if((i|0)<0){j=0}else{k=c[d+380>>2]|0;l=0;m=0;while(1){n=(e[g+(c[k+(l<<2)>>2]<<1)>>1]|0)>255?1:m;o=l+1|0;if((o|0)>(i|0)){j=n;break}else{l=o;m=n}}}m=g+128|0;if((c[m>>2]|0)!=0){return j|0}l=d+24|0;i=c[l>>2]|0;k=i|0;n=c[k>>2]|0;c[k>>2]=n+1;a[n]=-1;n=i+4|0;k=(c[n>>2]|0)-1|0;c[n>>2]=k;do{if((k|0)==0){if((aP[c[i+12>>2]&31](d)|0)!=0){break}n=d|0;c[(c[n>>2]|0)+20>>2]=25;aL[c[c[n>>2]>>2]&127](d)}}while(0);i=c[l>>2]|0;k=i|0;n=c[k>>2]|0;c[k>>2]=n+1;a[n]=-37;n=i+4|0;k=(c[n>>2]|0)-1|0;c[n>>2]=k;do{if((k|0)==0){if((aP[c[i+12>>2]&31](d)|0)!=0){break}n=d|0;c[(c[n>>2]|0)+20>>2]=25;aL[c[c[n>>2]>>2]&127](d)}}while(0);i=(j|0)!=0;k=c[h>>2]|0;if(i){p=(k<<1)+2|0}else{p=k+1|0}k=p+3|0;p=c[l>>2]|0;n=p|0;o=c[n>>2]|0;c[n>>2]=o+1;a[o]=k>>>8&255;o=p+4|0;n=(c[o>>2]|0)-1|0;c[o>>2]=n;do{if((n|0)==0){if((aP[c[p+12>>2]&31](d)|0)!=0){break}o=d|0;c[(c[o>>2]|0)+20>>2]=25;aL[c[c[o>>2]>>2]&127](d)}}while(0);p=c[l>>2]|0;n=p|0;o=c[n>>2]|0;c[n>>2]=o+1;a[o]=k&255;k=p+4|0;o=(c[k>>2]|0)-1|0;c[k>>2]=o;do{if((o|0)==0){if((aP[c[p+12>>2]&31](d)|0)!=0){break}k=d|0;c[(c[k>>2]|0)+20>>2]=25;aL[c[c[k>>2]>>2]&127](d)}}while(0);p=c[l>>2]|0;o=p|0;k=c[o>>2]|0;c[o>>2]=k+1;a[k]=(j<<4)+f&255;f=p+4|0;k=(c[f>>2]|0)-1|0;c[f>>2]=k;do{if((k|0)==0){if((aP[c[p+12>>2]&31](d)|0)!=0){break}f=d|0;c[(c[f>>2]|0)+20>>2]=25;aL[c[c[f>>2]>>2]&127](d)}}while(0);if((c[h>>2]|0)>=0){p=d+380|0;k=d|0;f=d;o=0;do{n=b[g+(c[(c[p>>2]|0)+(o<<2)>>2]<<1)>>1]|0;do{if(i){q=c[l>>2]|0;r=q|0;s=c[r>>2]|0;c[r>>2]=s+1;a[s]=(n&65535)>>>8&255;s=q+4|0;r=(c[s>>2]|0)-1|0;c[s>>2]=r;if((r|0)!=0){break}if((aP[c[q+12>>2]&31](d)|0)!=0){break}c[(c[k>>2]|0)+20>>2]=25;aL[c[c[k>>2]>>2]&127](f)}}while(0);q=c[l>>2]|0;r=q|0;s=c[r>>2]|0;c[r>>2]=s+1;a[s]=n&255;s=q+4|0;r=(c[s>>2]|0)-1|0;c[s>>2]=r;do{if((r|0)==0){if((aP[c[q+12>>2]&31](d)|0)!=0){break}c[(c[k>>2]|0)+20>>2]=25;aL[c[c[k>>2]>>2]&127](f)}}while(0);o=o+1|0;}while((o|0)<=(c[h>>2]|0))}c[m>>2]=1;return j|0}function bV(b,e,f){b=b|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;if((f|0)==0){g=b+120+(e<<2)|0;h=e}else{g=b+136+(e<<2)|0;h=e+16|0}e=c[g>>2]|0;if((e|0)==0){g=b|0;c[(c[g>>2]|0)+20>>2]=52;c[(c[g>>2]|0)+24>>2]=h;aL[c[c[g>>2]>>2]&127](b)}g=e+276|0;if((c[g>>2]|0)!=0){return}f=b+24|0;i=c[f>>2]|0;j=i|0;k=c[j>>2]|0;c[j>>2]=k+1;a[k]=-1;k=i+4|0;j=(c[k>>2]|0)-1|0;c[k>>2]=j;do{if((j|0)==0){if((aP[c[i+12>>2]&31](b)|0)!=0){break}k=b|0;c[(c[k>>2]|0)+20>>2]=25;aL[c[c[k>>2]>>2]&127](b)}}while(0);i=c[f>>2]|0;j=i|0;k=c[j>>2]|0;c[j>>2]=k+1;a[k]=-60;k=i+4|0;j=(c[k>>2]|0)-1|0;c[k>>2]=j;do{if((j|0)==0){if((aP[c[i+12>>2]&31](b)|0)!=0){break}k=b|0;c[(c[k>>2]|0)+20>>2]=25;aL[c[c[k>>2]>>2]&127](b)}}while(0);i=(d[e+16|0]|0)+((d[e+15|0]|0)+((d[e+14|0]|0)+((d[e+13|0]|0)+((d[e+12|0]|0)+((d[e+11|0]|0)+((d[e+10|0]|0)+((d[e+9|0]|0)+((d[e+8|0]|0)+((d[e+7|0]|0)+((d[e+6|0]|0)+((d[e+5|0]|0)+((d[e+4|0]|0)+((d[e+3|0]|0)+((d[e+2|0]|0)+(d[e+1|0]|0)))))))))))))))|0;j=i+19|0;k=c[f>>2]|0;l=k|0;m=c[l>>2]|0;c[l>>2]=m+1;a[m]=j>>>8&255;m=k+4|0;l=(c[m>>2]|0)-1|0;c[m>>2]=l;do{if((l|0)==0){if((aP[c[k+12>>2]&31](b)|0)!=0){break}m=b|0;c[(c[m>>2]|0)+20>>2]=25;aL[c[c[m>>2]>>2]&127](b)}}while(0);k=c[f>>2]|0;l=k|0;m=c[l>>2]|0;c[l>>2]=m+1;a[m]=j&255;j=k+4|0;m=(c[j>>2]|0)-1|0;c[j>>2]=m;do{if((m|0)==0){if((aP[c[k+12>>2]&31](b)|0)!=0){break}j=b|0;c[(c[j>>2]|0)+20>>2]=25;aL[c[c[j>>2]>>2]&127](b)}}while(0);k=c[f>>2]|0;m=k|0;j=c[m>>2]|0;c[m>>2]=j+1;a[j]=h&255;h=k+4|0;j=(c[h>>2]|0)-1|0;c[h>>2]=j;do{if((j|0)==0){if((aP[c[k+12>>2]&31](b)|0)!=0){break}h=b|0;c[(c[h>>2]|0)+20>>2]=25;aL[c[c[h>>2]>>2]&127](b)}}while(0);k=b|0;j=b;h=1;do{m=a[e+h|0]|0;l=c[f>>2]|0;n=l|0;o=c[n>>2]|0;c[n>>2]=o+1;a[o]=m;m=l+4|0;o=(c[m>>2]|0)-1|0;c[m>>2]=o;do{if((o|0)==0){if((aP[c[l+12>>2]&31](b)|0)!=0){break}c[(c[k>>2]|0)+20>>2]=25;aL[c[c[k>>2]>>2]&127](j)}}while(0);h=h+1|0;}while((h|0)<17);if((i|0)>0){h=0;do{l=a[e+17+h|0]|0;o=c[f>>2]|0;m=o|0;n=c[m>>2]|0;c[m>>2]=n+1;a[n]=l;l=o+4|0;n=(c[l>>2]|0)-1|0;c[l>>2]=n;do{if((n|0)==0){if((aP[c[o+12>>2]&31](b)|0)!=0){break}c[(c[k>>2]|0)+20>>2]=25;aL[c[c[k>>2]>>2]&127](j)}}while(0);h=h+1|0;}while((h|0)<(i|0))}c[g>>2]=1;return}function bW(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=b+24|0;f=c[e>>2]|0;g=f|0;h=c[g>>2]|0;c[g>>2]=h+1;a[h]=-1;h=f+4|0;g=(c[h>>2]|0)-1|0;c[h>>2]=g;do{if((g|0)==0){if((aP[c[f+12>>2]&31](b)|0)!=0){break}h=b|0;c[(c[h>>2]|0)+20>>2]=25;aL[c[c[h>>2]>>2]&127](b)}}while(0);f=c[e>>2]|0;g=f|0;h=c[g>>2]|0;c[g>>2]=h+1;a[h]=d&255;d=f+4|0;h=(c[d>>2]|0)-1|0;c[d>>2]=h;do{if((h|0)==0){if((aP[c[f+12>>2]&31](b)|0)!=0){break}d=b|0;c[(c[d>>2]|0)+20>>2]=25;aL[c[c[d>>2]>>2]&127](b)}}while(0);f=b+76|0;h=((c[f>>2]|0)*3|0)+8|0;d=c[e>>2]|0;g=d|0;i=c[g>>2]|0;c[g>>2]=i+1;a[i]=h>>>8&255;i=d+4|0;g=(c[i>>2]|0)-1|0;c[i>>2]=g;do{if((g|0)==0){if((aP[c[d+12>>2]&31](b)|0)!=0){break}i=b|0;c[(c[i>>2]|0)+20>>2]=25;aL[c[c[i>>2]>>2]&127](b)}}while(0);d=c[e>>2]|0;g=d|0;i=c[g>>2]|0;c[g>>2]=i+1;a[i]=h&255;h=d+4|0;i=(c[h>>2]|0)-1|0;c[h>>2]=i;do{if((i|0)==0){if((aP[c[d+12>>2]&31](b)|0)!=0){break}h=b|0;c[(c[h>>2]|0)+20>>2]=25;aL[c[c[h>>2]>>2]&127](b)}}while(0);d=b+68|0;if((c[d>>2]|0)>65535){j=1231}else{if((c[b+64>>2]|0)>65535){j=1231}}if((j|0)==1231){j=b|0;c[(c[j>>2]|0)+20>>2]=42;c[(c[j>>2]|0)+24>>2]=65535;aL[c[c[j>>2]>>2]&127](b)}j=c[e>>2]|0;i=c[b+72>>2]&255;h=j|0;g=c[h>>2]|0;c[h>>2]=g+1;a[g]=i;i=j+4|0;g=(c[i>>2]|0)-1|0;c[i>>2]=g;do{if((g|0)==0){if((aP[c[j+12>>2]&31](b)|0)!=0){break}i=b|0;c[(c[i>>2]|0)+20>>2]=25;aL[c[c[i>>2]>>2]&127](b)}}while(0);j=c[d>>2]|0;d=c[e>>2]|0;g=d|0;i=c[g>>2]|0;c[g>>2]=i+1;a[i]=j>>>8&255;i=d+4|0;g=(c[i>>2]|0)-1|0;c[i>>2]=g;do{if((g|0)==0){if((aP[c[d+12>>2]&31](b)|0)!=0){break}i=b|0;c[(c[i>>2]|0)+20>>2]=25;aL[c[c[i>>2]>>2]&127](b)}}while(0);d=c[e>>2]|0;g=d|0;i=c[g>>2]|0;c[g>>2]=i+1;a[i]=j&255;j=d+4|0;i=(c[j>>2]|0)-1|0;c[j>>2]=i;do{if((i|0)==0){if((aP[c[d+12>>2]&31](b)|0)!=0){break}j=b|0;c[(c[j>>2]|0)+20>>2]=25;aL[c[c[j>>2]>>2]&127](b)}}while(0);d=c[b+64>>2]|0;i=c[e>>2]|0;j=i|0;g=c[j>>2]|0;c[j>>2]=g+1;a[g]=d>>>8&255;g=i+4|0;j=(c[g>>2]|0)-1|0;c[g>>2]=j;do{if((j|0)==0){if((aP[c[i+12>>2]&31](b)|0)!=0){break}g=b|0;c[(c[g>>2]|0)+20>>2]=25;aL[c[c[g>>2]>>2]&127](b)}}while(0);i=c[e>>2]|0;j=i|0;g=c[j>>2]|0;c[j>>2]=g+1;a[g]=d&255;d=i+4|0;g=(c[d>>2]|0)-1|0;c[d>>2]=g;do{if((g|0)==0){if((aP[c[i+12>>2]&31](b)|0)!=0){break}d=b|0;c[(c[d>>2]|0)+20>>2]=25;aL[c[c[d>>2]>>2]&127](b)}}while(0);i=c[e>>2]|0;g=c[f>>2]&255;d=i|0;j=c[d>>2]|0;c[d>>2]=j+1;a[j]=g;g=i+4|0;j=(c[g>>2]|0)-1|0;c[g>>2]=j;do{if((j|0)==0){if((aP[c[i+12>>2]&31](b)|0)!=0){break}g=b|0;c[(c[g>>2]|0)+20>>2]=25;aL[c[c[g>>2]>>2]&127](b)}}while(0);if((c[f>>2]|0)<=0){return}i=b|0;j=b;g=0;d=c[b+84>>2]|0;while(1){h=c[e>>2]|0;k=c[d>>2]&255;l=h|0;m=c[l>>2]|0;c[l>>2]=m+1;a[m]=k;k=h+4|0;m=(c[k>>2]|0)-1|0;c[k>>2]=m;do{if((m|0)==0){if((aP[c[h+12>>2]&31](b)|0)!=0){break}c[(c[i>>2]|0)+20>>2]=25;aL[c[c[i>>2]>>2]&127](j)}}while(0);h=c[e>>2]|0;m=(c[d+8>>2]<<4)+(c[d+12>>2]|0)&255;k=h|0;l=c[k>>2]|0;c[k>>2]=l+1;a[l]=m;m=h+4|0;l=(c[m>>2]|0)-1|0;c[m>>2]=l;do{if((l|0)==0){if((aP[c[h+12>>2]&31](b)|0)!=0){break}c[(c[i>>2]|0)+20>>2]=25;aL[c[c[i>>2]>>2]&127](j)}}while(0);h=c[e>>2]|0;l=c[d+16>>2]&255;m=h|0;k=c[m>>2]|0;c[m>>2]=k+1;a[k]=l;l=h+4|0;k=(c[l>>2]|0)-1|0;c[l>>2]=k;do{if((k|0)==0){if((aP[c[h+12>>2]&31](b)|0)!=0){break}c[(c[i>>2]|0)+20>>2]=25;aL[c[c[i>>2]>>2]&127](j)}}while(0);h=g+1|0;if((h|0)<(c[f>>2]|0)){g=h;d=d+88|0}else{break}}return}function bX(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=c[a+388>>2]|0;d=b+20|0;e=c[d>>2]|0;L1743:do{if((e|0)==0){b_(a);b$(a);if((c[a+208>>2]|0)==0){aL[c[c[a+408>>2]>>2]&127](a);aL[c[c[a+412>>2]>>2]&127](a);aM[c[c[a+396>>2]>>2]&63](a,0)}aL[c[c[a+416>>2]>>2]&127](a);f=a+216|0;aM[c[c[a+420>>2]>>2]&63](a,c[f>>2]|0);aM[c[c[a+400>>2]>>2]&63](a,(c[b+28>>2]|0)>1?3:0);aM[c[c[a+392>>2]>>2]&63](a,0);g=b+12|0;if((c[f>>2]|0)==0){c[g>>2]=1;break}else{c[g>>2]=0;break}}else if((e|0)==1){b_(a);b$(a);do{if((c[a+360>>2]|0)==0){if((c[a+368>>2]|0)==0){break}c[d>>2]=2;g=b+24|0;c[g>>2]=(c[g>>2]|0)+1;h=1275;break L1743}}while(0);aM[c[c[a+420>>2]>>2]&63](a,1);aM[c[c[a+400>>2]>>2]&63](a,2);c[b+12>>2]=0}else if((e|0)==2){h=1275}else{g=a|0;c[(c[g>>2]|0)+20>>2]=49;aL[c[c[g>>2]>>2]&127](a)}}while(0);if((h|0)==1275){if((c[a+216>>2]|0)==0){b_(a);b$(a)}aM[c[c[a+420>>2]>>2]&63](a,0);aM[c[c[a+400>>2]>>2]&63](a,2);h=a+404|0;if((c[b+32>>2]|0)==0){aL[c[(c[h>>2]|0)+4>>2]&127](a)}aL[c[(c[h>>2]|0)+8>>2]&127](a);c[b+12>>2]=0}h=c[b+24>>2]|0;e=b+28|0;c[b+16>>2]=(h|0)==((c[e>>2]|0)-1|0);b=a+8|0;a=c[b>>2]|0;if((a|0)==0){return}c[a+12>>2]=h;c[(c[b>>2]|0)+16>>2]=c[e>>2];return}function bY(a){a=a|0;var b=0;c[(c[a+388>>2]|0)+12>>2]=0;b=a+404|0;aL[c[(c[b>>2]|0)+4>>2]&127](a);aL[c[(c[b>>2]|0)+8>>2]&127](a);return}function bZ(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+388>>2]|0;aL[c[(c[a+420>>2]|0)+8>>2]&127](a);d=b+20|0;e=c[d>>2]|0;do{if((e|0)==2){if((c[a+216>>2]|0)!=0){c[d>>2]=1}f=b+32|0;c[f>>2]=(c[f>>2]|0)+1}else if((e|0)==0){c[d>>2]=2;if((c[a+216>>2]|0)!=0){break}f=b+32|0;c[f>>2]=(c[f>>2]|0)+1}else if((e|0)==1){c[d>>2]=2}}while(0);d=b+24|0;c[d>>2]=(c[d>>2]|0)+1;return}function b_(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=c[a+204>>2]|0;do{if((b|0)==0){d=a+76|0;e=c[d>>2]|0;if((e|0)>4){f=a|0;c[(c[f>>2]|0)+20>>2]=27;c[(c[f>>2]|0)+24>>2]=c[d>>2];c[(c[f>>2]|0)+28>>2]=4;aL[c[c[f>>2]>>2]&127](a);g=c[d>>2]|0}else{g=e}c[a+288>>2]=g;if((g|0)<=0){break}e=a+84|0;f=0;do{c[a+292+(f<<2)>>2]=(c[e>>2]|0)+(f*88|0);f=f+1|0;}while((f|0)<(c[d>>2]|0))}else{d=c[(c[a+388>>2]|0)+32>>2]|0;f=b+(d*36|0)|0;c[a+288>>2]=c[f>>2];if((c[f>>2]|0)>0){e=a+84|0;h=0;do{c[a+292+(h<<2)>>2]=(c[e>>2]|0)+((c[b+(d*36|0)+4+(h<<2)>>2]|0)*88|0);h=h+1|0;}while((h|0)<(c[f>>2]|0))}if((c[a+264>>2]|0)==0){break}c[a+360>>2]=c[b+(d*36|0)+20>>2];c[a+364>>2]=c[b+(d*36|0)+24>>2];c[a+368>>2]=c[b+(d*36|0)+28>>2];c[a+372>>2]=c[b+(d*36|0)+32>>2];return}}while(0);c[a+360>>2]=0;b=c[a+376>>2]|0;c[a+364>>2]=(Z(b,b)|0)-1;c[a+368>>2]=0;c[a+372>>2]=0;return}function b$(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;b=a+288|0;d=c[b>>2]|0;do{if((d|0)==1){e=c[a+292>>2]|0;c[a+308>>2]=c[e+28>>2];f=e+32|0;c[a+312>>2]=c[f>>2];c[e+56>>2]=1;c[e+60>>2]=1;c[e+64>>2]=1;c[e+68>>2]=c[e+36>>2];c[e+72>>2]=1;g=c[e+12>>2]|0;h=((c[f>>2]|0)>>>0)%(g>>>0)|0;c[e+76>>2]=(h|0)==0?g:h;c[a+316>>2]=1;c[a+320>>2]=0}else{if((d-1|0)>>>0>3){h=a|0;c[(c[h>>2]|0)+20>>2]=27;c[(c[h>>2]|0)+24>>2]=c[b>>2];c[(c[h>>2]|0)+28>>2]=4;aL[c[c[h>>2]>>2]&127](a);i=c[b>>2]|0}else{i=d}h=c[a+64>>2]|0;g=c[a+376>>2]|0;e=Z(g,c[a+268>>2]|0)|0;c[a+308>>2]=(h-1+e|0)/(e|0)|0;e=c[a+68>>2]|0;h=Z(g,c[a+272>>2]|0)|0;c[a+312>>2]=(e-1+h|0)/(h|0)|0;h=a+316|0;c[h>>2]=0;if((i|0)<=0){break}e=a|0;g=a;f=0;do{j=c[a+292+(f<<2)>>2]|0;k=c[j+8>>2]|0;c[j+56>>2]=k;l=c[j+12>>2]|0;c[j+60>>2]=l;m=Z(k,l)|0;c[j+64>>2]=m;c[j+68>>2]=Z(c[j+36>>2]|0,k)|0;n=((c[j+28>>2]|0)>>>0)%(k>>>0)|0;c[j+72>>2]=(n|0)==0?k:n;n=((c[j+32>>2]|0)>>>0)%(l>>>0)|0;c[j+76>>2]=(n|0)==0?l:n;if(((c[h>>2]|0)+m|0)>10){c[(c[e>>2]|0)+20>>2]=14;aL[c[c[e>>2]>>2]&127](g)}if((m|0)>0){n=m;do{n=n-1|0;m=c[h>>2]|0;c[h>>2]=m+1;c[a+320+(m<<2)>>2]=f;}while((n|0)>0)}f=f+1|0;}while((f|0)<(c[b>>2]|0))}}while(0);b=c[a+240>>2]|0;if((b|0)<=0){return}i=Z(c[a+308>>2]|0,b)|0;c[a+236>>2]=(i|0)<65535?i:65535;return}function b0(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=c[b>>2]|0;if((g|0)==0){h=aO[c[c[a+4>>2]>>2]&15](a,0,280)|0;i=h;c[h+276>>2]=0;c[b>>2]=i;j=i}else{j=g}g=j|0;fw(g|0,e|0,17)|0;g=(d[e+16|0]|0)+((d[e+15|0]|0)+((d[e+14|0]|0)+((d[e+13|0]|0)+((d[e+12|0]|0)+((d[e+11|0]|0)+((d[e+10|0]|0)+((d[e+9|0]|0)+((d[e+8|0]|0)+((d[e+7|0]|0)+((d[e+6|0]|0)+((d[e+5|0]|0)+((d[e+4|0]|0)+((d[e+3|0]|0)+((d[e+2|0]|0)+(d[e+1|0]|0)))))))))))))))|0;if((g-1|0)>>>0<=255){k=c[b>>2]|0;l=k+17|0;fw(l|0,f|0,g)|0;m=c[b>>2]|0;n=m+276|0;c[n>>2]=0;return}e=a|0;c[(c[e>>2]|0)+20>>2]=9;aL[c[c[e>>2]>>2]&127](a);k=c[b>>2]|0;l=k+17|0;fw(l|0,f|0,g)|0;m=c[b>>2]|0;n=m+276|0;c[n>>2]=0;return}function b1(a,b){a=a|0;b=b|0;var d=0;d=c[a+396>>2]|0;if((b|0)!=0){b=a|0;c[(c[b>>2]|0)+20>>2]=3;aL[c[c[b>>2]>>2]&127](a)}c[d+48>>2]=c[a+32>>2];c[d+52>>2]=0;c[d+56>>2]=0;c[d+60>>2]=c[a+272>>2]<<1;return}function b2(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,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;i=c[a+396>>2]|0;j=a+272|0;k=(c[j>>2]|0)*3|0;l=i+48|0;m=l;if((c[g>>2]|0)>>>0>=h>>>0){return}n=i+60|0;o=n;p=i+52|0;q=p;r=a+408|0;s=i+8|0;t=s;u=s;s=a+32|0;v=l|0;l=a+76|0;w=a+28|0;x=a+412|0;y=i+56|0;i=y;z=y|0;L1838:while(1){y=c[d>>2]|0;do{if(y>>>0<e>>>0){A=e-y|0;B=c[q>>2]|0;C=(c[o>>2]|0)-B|0;D=C>>>0<A>>>0?C:A;aK[c[(c[r>>2]|0)+4>>2]&127](a,b+(y<<2)|0,u,B,D);do{if((c[m>>2]|0)==(c[s>>2]|0)){B=c[l>>2]|0;if((B|0)<=0){break}A=0;C=c[j>>2]|0;E=B;while(1){if((C|0)<1){F=C;G=E}else{B=t+(A<<2)|0;H=1;do{I=c[B>>2]|0;J=c[w>>2]|0;K=c[I>>2]|0;L=c[I+(-H<<2)>>2]|0;fw(L|0,K|0,J)|0;H=H+1|0;M=c[j>>2]|0;}while((H|0)<=(M|0));F=M;G=c[l>>2]|0}H=A+1|0;if((H|0)<(G|0)){A=H;C=F;E=G}else{break}}}}while(0);c[d>>2]=(c[d>>2]|0)+D;E=(c[q>>2]|0)+D|0;c[p>>2]=E;c[v>>2]=(c[m>>2]|0)-D;N=E;O=c[o>>2]|0;P=1359}else{if((c[m>>2]|0)!=0){P=1366;break L1838}E=c[q>>2]|0;C=c[o>>2]|0;if((E|0)>=(C|0)){N=E;O=C;P=1359;break}A=c[l>>2]|0;if((A|0)>0){H=0;B=A;A=E;E=C;while(1){J=c[t+(H<<2)>>2]|0;K=c[w>>2]|0;if((A|0)<(E|0)){L=J+(A-1<<2)|0;I=A;do{Q=c[L>>2]|0;R=c[J+(I<<2)>>2]|0;fw(R|0,Q|0,K)|0;I=I+1|0;}while((I|0)<(E|0));S=c[l>>2]|0}else{S=B}I=H+1|0;if((I|0)>=(S|0)){break}H=I;B=S;A=c[q>>2]|0;E=c[o>>2]|0}T=c[o>>2]|0}else{T=C}c[p>>2]=T;P=1360}}while(0);if((P|0)==1359){P=0;if((N|0)==(O|0)){P=1360}}if((P|0)==1360){P=0;aK[c[(c[x>>2]|0)+4>>2]&127](a,u,c[i>>2]|0,f,c[g>>2]|0);c[g>>2]=(c[g>>2]|0)+1;y=(c[i>>2]|0)+(c[j>>2]|0)|0;c[z>>2]=(y|0)<(k|0)?y:0;y=c[q>>2]|0;if((y|0)<(k|0)){U=y}else{c[p>>2]=0;U=0}c[n>>2]=(c[j>>2]|0)+U}if((c[g>>2]|0)>>>0>=h>>>0){P=1367;break}}if((P|0)==1366){return}else if((P|0)==1367){return}}function b3(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,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;i=c[a+396>>2]|0;j=c[d>>2]|0;if(j>>>0>=e>>>0){return}k=a+272|0;l=i+52|0;m=l;n=a+408|0;o=i+8|0;p=o;q=o;o=i+48|0;i=o;r=o|0;o=a+76|0;s=a+28|0;t=a+412|0;u=j;while(1){if((c[g>>2]|0)>>>0>=h>>>0){v=1398;break}j=e-u|0;w=c[m>>2]|0;x=(c[k>>2]|0)-w|0;y=x>>>0<j>>>0?x:j;aK[c[(c[n>>2]|0)+4>>2]&127](a,b+(u<<2)|0,q,w,y);c[d>>2]=(c[d>>2]|0)+y;w=(c[m>>2]|0)+y|0;c[l>>2]=w;j=c[i>>2]|0;c[r>>2]=j-y;do{if((j|0)==(y|0)){x=c[k>>2]|0;if((w|0)>=(x|0)){z=w;break}A=c[o>>2]|0;if((A|0)>0){B=0;C=A;A=w;D=x;while(1){E=c[p+(B<<2)>>2]|0;F=c[s>>2]|0;if((A|0)<(D|0)){G=E+(A-1<<2)|0;H=A;do{I=c[G>>2]|0;J=c[E+(H<<2)>>2]|0;fw(J|0,I|0,F)|0;H=H+1|0;}while((H|0)<(D|0));K=c[o>>2]|0}else{K=C}H=B+1|0;if((H|0)>=(K|0)){break}B=H;C=K;A=c[m>>2]|0;D=c[k>>2]|0}L=c[k>>2]|0}else{L=x}c[l>>2]=L;z=L}else{z=w}}while(0);if((z|0)==(c[k>>2]|0)){aK[c[(c[t>>2]|0)+4>>2]&127](a,q,0,f,c[g>>2]|0);c[l>>2]=0;c[g>>2]=(c[g>>2]|0)+1}if((c[i>>2]|0)==0){M=c[g>>2]|0;if(M>>>0<h>>>0){v=1387;break}}w=c[d>>2]|0;if(w>>>0<e>>>0){u=w}else{v=1399;break}}if((v|0)==1387){u=c[o>>2]|0;L1911:do{if((u|0)>0){e=a+280|0;d=0;i=c[a+84>>2]|0;l=u;q=M;while(1){t=Z(c[i+40>>2]|0,c[i+12>>2]|0)|0;k=(t|0)/(c[e>>2]|0)|0;t=c[f+(d<<2)>>2]|0;z=Z(c[i+36>>2]|0,c[i+28>>2]|0)|0;L=Z(q,k)|0;m=Z(k,h)|0;if((L|0)<(m|0)){k=t+(L-1<<2)|0;K=L;do{L=c[k>>2]|0;s=c[t+(K<<2)>>2]|0;fw(s|0,L|0,z)|0;K=K+1|0;}while((K|0)<(m|0));N=c[o>>2]|0}else{N=l}m=d+1|0;if((m|0)>=(N|0)){break L1911}d=m;i=i+88|0;l=N;q=c[g>>2]|0}}}while(0);c[g>>2]=h;return}else if((v|0)==1398){return}else if((v|0)==1399){return}}function b4(a){a=a|0;return}function b5(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;g=c[a+412>>2]|0;h=a+76|0;if((c[h>>2]|0)<=0){return}i=g+52|0;j=g+12|0;g=c[a+84>>2]|0;k=0;while(1){l=(c[b+(k<<2)>>2]|0)+(d<<2)|0;m=c[e+(k<<2)>>2]|0;n=m+((Z(c[i+(k<<2)>>2]|0,f)|0)<<2)|0;aT[c[j+(k<<2)>>2]&63](a,g,l,n);n=k+1|0;if((n|0)<(c[h>>2]|0)){g=g+88|0;k=n}else{break}}return}function b6(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,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;h=Z(c[e+36>>2]|0,c[e+28>>2]|0)|0;e=b+272|0;i=c[e>>2]|0;j=i+2|0;k=c[b+28>>2]|0;l=h-k|0;if((l|0)>0&(j|0)>0){m=k-1|0;n=0;do{o=c[f+(n-1<<2)>>2]|0;fv(o+k|0,a[o+m|0]|0,l|0);n=n+1|0;}while((n|0)<(j|0));p=c[e>>2]|0}else{p=i}i=c[b+228>>2]|0;b=65536-(i<<9)|0;j=i<<6;if((p|0)<=0){return}p=h-2|0;i=(p|0)==0;n=h-1|0;h=0;do{l=c[g+(h<<2)>>2]|0;m=c[f+(h<<2)>>2]|0;k=c[f+(h-1<<2)>>2]|0;h=h+1|0;o=c[f+(h<<2)>>2]|0;q=k+1|0;r=o+1|0;s=(d[o]|0)+(d[k]|0)|0;k=d[m]|0;o=s+k|0;t=m+1|0;u=(d[r]|0)+(d[q]|0)+(d[t]|0)|0;v=Z(k,b)|0;a[l]=(v+32768+(Z(o+s+u|0,j)|0)|0)>>>16&255;s=l+1|0;if(i){w=t;x=u;y=o;z=s}else{v=l+n|0;l=t;t=q;q=r;r=p;k=u;u=o;o=s;while(1){s=l+1|0;A=d[l]|0;B=t+1|0;C=q+1|0;D=(d[C]|0)+(d[B]|0)+(d[s]|0)|0;E=Z(A,b)|0;a[o]=(E+32768+(Z(u+k-A+D|0,j)|0)|0)>>>16&255;A=r-1|0;if((A|0)==0){break}else{l=s;t=B;q=C;r=A;u=k;k=D;o=o+1|0}}w=m+n|0;x=D;y=k;z=v}o=d[w]|0;u=Z(o,b)|0;a[z]=(u+32768+(Z(y-o+(x<<1)|0,j)|0)|0)>>>16&255;}while((h|0)<(c[e>>2]|0));return}function b7(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=b+272|0;h=c[g>>2]|0;i=b+28|0;b=c[i>>2]|0;if((h|0)>0){j=f;k=e;e=h;while(1){l=k+4|0;m=c[k>>2]|0;n=j+4|0;o=c[j>>2]|0;fw(o|0,m|0,b)|0;m=e-1|0;if((m|0)>0){j=n;k=l;e=m}else{break}}p=c[g>>2]|0;q=c[i>>2]|0}else{p=h;q=b}b=(Z(c[d+36>>2]|0,c[d+28>>2]|0)|0)-q|0;if(!((b|0)>0&(p|0)>0)){return}d=q-1|0;h=0;do{i=c[f+(h<<2)>>2]|0;fv(i+q|0,a[i+d|0]|0,b|0);h=h+1|0;}while((h|0)<(p|0));return}function b8(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=Z(c[e+36>>2]|0,c[e+28>>2]|0)|0;e=b+272|0;i=c[e>>2]|0;j=c[b+28>>2]|0;b=(h<<1)-j|0;if((b|0)>0&(i|0)>0){k=j-1|0;l=0;do{m=c[f+(l<<2)>>2]|0;fv(m+j|0,a[m+k|0]|0,b|0);l=l+1|0;}while((l|0)<(i|0));n=c[e>>2]|0}else{n=i}if((n|0)<=0){return}i=(h|0)==0;l=0;b=n;while(1){if(i){o=b}else{n=0;k=c[f+(l<<2)>>2]|0;j=c[g+(l<<2)>>2]|0;m=0;while(1){a[j]=((d[k]|0)+m+(d[k+1|0]|0)|0)>>>1&255;p=n+1|0;if(p>>>0<h>>>0){n=p;k=k+2|0;j=j+1|0;m=m^1}else{break}}o=c[e>>2]|0}m=l+1|0;if((m|0)<(o|0)){l=m;b=o}else{break}}return}function b9(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,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;h=Z(c[e+36>>2]|0,c[e+28>>2]|0)|0;e=b+272|0;i=c[e>>2]|0;j=i+2|0;k=c[b+28>>2]|0;l=h<<1;m=l-k|0;if((m|0)>0&(j|0)>0){n=k-1|0;o=0;do{p=c[f+(o-1<<2)>>2]|0;fv(p+k|0,a[p+n|0]|0,m|0);o=o+1|0;}while((o|0)<(j|0));q=c[e>>2]|0}else{q=i}i=c[b+228>>2]|0;b=(i*-80|0)+16384|0;j=i<<4;if((q|0)<=0){return}q=h-2|0;i=h-1|0;h=l-3|0;l=0;o=0;while(1){m=c[g+(l<<2)>>2]|0;n=c[f+(o<<2)>>2]|0;k=c[f+((o|1)<<2)>>2]|0;p=c[f+(o-1<<2)>>2]|0;r=o+2|0;s=c[f+(r<<2)>>2]|0;t=d[n]|0;u=d[k]|0;v=d[p]|0;w=d[s]|0;x=n+2|0;y=k+2|0;z=p+2|0;A=s+2|0;B=w+v+(d[z]|0)+(d[A]|0)+(u+t+v+(d[p+1|0]|0)+w+(d[s+1|0]|0)+(d[x]|0)+(d[y]|0)<<1)|0;w=Z((d[n+1|0]|0)+t+u+(d[k+1|0]|0)|0,b)|0;a[m]=(w+32768+(Z(B,j)|0)|0)>>>16&255;B=m+i|0;w=m;m=A;A=z;z=y;y=x;x=q;while(1){u=w+1|0;C=d[y+1|0]|0;D=d[z+1|0]|0;E=C+(d[y]|0)+(d[z]|0)+D|0;F=d[A+1|0]|0;G=d[m+1|0]|0;H=F+(d[A]|0)+(d[m]|0)+G+(d[y-1|0]|0)|0;if((x|0)==0){break}t=y+2|0;n=z+2|0;v=A+2|0;I=m+2|0;J=(d[v]|0)+(d[A-1|0]|0)+((d[t]|0)+H+(d[z-1|0]|0)+(d[n]|0)<<1)+(d[m-1|0]|0)+(d[I]|0)|0;K=Z(E,b)|0;a[u]=(K+32768+(Z(J,j)|0)|0)>>>16&255;w=u;m=I;A=v;z=n;y=t;x=x-1|0}x=G+F+(d[p+h|0]|0)+(d[s+h|0]|0)+(D+C+H+(d[k+h|0]|0)<<1)|0;y=Z(E,b)|0;a[B]=(y+32768+(Z(x,j)|0)|0)>>>16&255;if((r|0)<(c[e>>2]|0)){l=l+1|0;o=r}else{break}}return}function ca(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;h=Z(c[e+36>>2]|0,c[e+28>>2]|0)|0;e=b+272|0;i=c[e>>2]|0;j=c[b+28>>2]|0;b=(h<<1)-j|0;if((b|0)>0&(i|0)>0){k=j-1|0;l=0;do{m=c[f+(l<<2)>>2]|0;fv(m+j|0,a[m+k|0]|0,b|0);l=l+1|0;}while((l|0)<(i|0));n=c[e>>2]|0}else{n=i}if((n|0)<=0){return}i=(h|0)==0;l=0;b=0;k=n;while(1){if(i){o=k}else{n=0;j=c[f+(b<<2)>>2]|0;m=c[f+((b|1)<<2)>>2]|0;p=c[g+(l<<2)>>2]|0;q=1;while(1){a[p]=((d[j]|0)+q+(d[j+1|0]|0)+(d[m]|0)+(d[m+1|0]|0)|0)>>>2&255;r=n+1|0;if(r>>>0<h>>>0){n=r;j=j+2|0;m=m+2|0;p=p+1|0;q=q^3}else{break}}o=c[e>>2]|0}q=b+2|0;if((q|0)<(o|0)){l=l+1|0;b=q;k=o}else{break}}return}function cb(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,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;h=c[b+412>>2]|0;i=Z(c[e+36>>2]|0,c[e+28>>2]|0)|0;j=c[e+4>>2]|0;e=a[h+92+j|0]|0;k=e&255;l=a[h+102+j|0]|0;j=l&255;h=Z(j,k)|0;m=h>>>1;n=b+272|0;o=c[n>>2]|0;p=c[b+28>>2]|0;b=(Z(k,i)|0)-p|0;if((b|0)>0&(o|0)>0){q=p-1|0;r=0;do{s=c[f+(r<<2)>>2]|0;fv(s+p|0,a[s+q|0]|0,b|0);r=r+1|0;}while((r|0)<(o|0));t=c[n>>2]|0}else{t=o}if((t|0)<=0){return}o=(i|0)==0;r=l<<24>>24==0;l=e<<24>>24==0;e=0;b=0;q=t;while(1){if(o){u=q}else{t=0;p=0;s=c[g+(e<<2)>>2]|0;while(1){if(r){v=0}else{w=0;x=0;while(1){if(l){y=x}else{z=0;A=(c[f+(w+b<<2)>>2]|0)+p|0;B=x;while(1){C=(d[A]|0)+B|0;D=z+1|0;if((D|0)<(k|0)){z=D;A=A+1|0;B=C}else{y=C;break}}}B=w+1|0;if((B|0)<(j|0)){w=B;x=y}else{v=y;break}}}a[s]=((v+m|0)/(h|0)|0)&255;x=t+1|0;if(x>>>0<i>>>0){t=x;p=p+k|0;s=s+1|0}else{break}}u=c[n>>2]|0}s=b+j|0;if((s|0)<(u|0)){e=e+1|0;b=s;q=u}else{break}}return}function cc(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,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;b=a+456|0;d=c[b>>2]|0;e=d+20|0;if((c[e>>2]|0)!=0){f=2;return f|0}g=a+460|0;h=d+24|0;i=h;j=a+336|0;k=h|0;h=d+16|0;d=a|0;l=a;m=a+32|0;n=a+212|0;o=a+36|0;p=a+312|0;q=a+316|0;r=a+216|0;s=a+220|0;t=a+224|0;u=a+412|0;v=a+408|0;w=a+416|0;x=a+420|0;y=a+424|0;z=a+428|0;A=a+432|0;B=a+320|0;C=a+324|0;D=a+28|0;E=a+328|0;while(1){F=aP[c[(c[g>>2]|0)+4>>2]&31](a)|0;if((F|0)==2){G=1546;break}else if((F|0)!=1){f=F;G=1559;break}F=c[i>>2]|0;if((F|0)==0){if((c[h>>2]|0)==0){c[(c[d>>2]|0)+20>>2]=36;aL[c[c[d>>2]>>2]&127](l)}if((c[j>>2]|0)==0){continue}else{G=1545;break}}else if((F|0)==1){G=1495}L2060:do{if((G|0)==1495){G=0;if((c[m>>2]|0)>65500){G=1497}else{if((c[D>>2]|0)>65500){G=1497}}if((G|0)==1497){G=0;c[(c[d>>2]|0)+20>>2]=42;c[(c[d>>2]|0)+24>>2]=65500;aL[c[c[d>>2]>>2]&127](l)}if((c[n>>2]|0)!=8){c[(c[d>>2]|0)+20>>2]=16;c[(c[d>>2]|0)+24>>2]=c[n>>2];aL[c[c[d>>2]>>2]&127](l)}F=c[o>>2]|0;if((F|0)>10){c[(c[d>>2]|0)+20>>2]=27;c[(c[d>>2]|0)+24>>2]=c[o>>2];c[(c[d>>2]|0)+28>>2]=10;aL[c[c[d>>2]>>2]&127](l);H=c[o>>2]|0}else{H=F}c[p>>2]=1;c[q>>2]=1;if((H|0)>0){F=0;I=c[r>>2]|0;J=1;K=1;L=H;while(1){M=I+8|0;N=c[M>>2]|0;O=I+12|0;if((N-1|0)>>>0>3){G=1506}else{if(((c[O>>2]|0)-1|0)>>>0>3){G=1506}else{P=J;Q=N;R=K;S=L}}if((G|0)==1506){G=0;c[(c[d>>2]|0)+20>>2]=19;aL[c[c[d>>2]>>2]&127](l);P=c[p>>2]|0;Q=c[M>>2]|0;R=c[q>>2]|0;S=c[o>>2]|0}M=(P|0)>(Q|0)?P:Q;c[p>>2]=M;N=c[O>>2]|0;O=(R|0)>(N|0)?R:N;c[q>>2]=O;N=F+1|0;if((N|0)<(S|0)){F=N;I=I+88|0;J=M;K=O;L=S}else{T=S;break}}}else{T=H}L2083:do{if((c[s>>2]|0)==0){if((c[t>>2]|0)!=0){if((c[j>>2]|0)!=0){G=1511;break}}switch(c[u>>2]|0){case 143:{c[y>>2]=12;c[z>>2]=3480;c[A>>2]=63;U=12;V=T;break L2083;break};case 168:{c[y>>2]=13;c[z>>2]=3480;c[A>>2]=63;U=13;V=T;break L2083;break};case 195:{c[y>>2]=14;c[z>>2]=3480;c[A>>2]=63;U=14;V=T;break L2083;break};case 224:{c[y>>2]=15;c[z>>2]=3480;c[A>>2]=63;U=15;V=T;break L2083;break};case 255:{c[y>>2]=16;c[z>>2]=3480;c[A>>2]=63;U=16;V=T;break L2083;break};case 63:{c[y>>2]=8;c[z>>2]=3480;c[A>>2]=63;U=8;V=T;break L2083;break};case 80:{c[y>>2]=9;c[z>>2]=3480;c[A>>2]=63;U=9;V=T;break L2083;break};case 99:{c[y>>2]=10;c[z>>2]=3480;c[A>>2]=63;U=10;V=T;break L2083;break};case 120:{c[y>>2]=11;c[z>>2]=3480;c[A>>2]=63;U=11;V=T;break L2083;break};case 0:{c[y>>2]=1;c[z>>2]=3480;c[A>>2]=0;U=1;V=T;break L2083;break};case 3:{c[y>>2]=2;c[z>>2]=3400;c[A>>2]=3;U=2;V=T;break L2083;break};case 24:{c[y>>2]=5;c[z>>2]=3e3;c[A>>2]=24;U=5;V=T;break L2083;break};case 35:{c[y>>2]=6;c[z>>2]=2792;c[A>>2]=35;U=6;V=T;break L2083;break};case 48:{c[y>>2]=7;c[z>>2]=2528;c[A>>2]=48;U=7;V=T;break L2083;break};case 8:{c[y>>2]=3;c[z>>2]=3296;c[A>>2]=8;U=3;V=T;break L2083;break};case 15:{c[y>>2]=4;c[z>>2]=3168;c[A>>2]=15;U=4;V=T;break L2083;break};default:{c[(c[d>>2]|0)+20>>2]=17;c[(c[d>>2]|0)+24>>2]=c[v>>2];c[(c[d>>2]|0)+28>>2]=c[u>>2];c[(c[d>>2]|0)+32>>2]=c[w>>2];c[(c[d>>2]|0)+36>>2]=c[x>>2];aL[c[c[d>>2]>>2]&127](l);U=c[y>>2]|0;V=c[o>>2]|0;break L2083}}}else{G=1511}}while(0);if((G|0)==1511){G=0;c[y>>2]=8;c[z>>2]=3480;c[A>>2]=63;U=8;V=T}c[B>>2]=U;c[C>>2]=U;if((V|0)>0){L=1;K=c[r>>2]|0;J=U;while(1){c[K+36>>2]=J;c[K+40>>2]=c[y>>2];I=c[K+8>>2]|0;F=Z(I,c[D>>2]|0)|0;O=Z(c[y>>2]|0,c[p>>2]|0)|0;c[K+28>>2]=(F-1+O|0)/(O|0)|0;O=c[K+12>>2]|0;F=Z(O,c[m>>2]|0)|0;M=Z(c[y>>2]|0,c[q>>2]|0)|0;c[K+32>>2]=(F-1+M|0)/(M|0)|0;M=Z(c[D>>2]|0,I)|0;I=c[p>>2]|0;c[K+44>>2]=(M-1+I|0)/(I|0)|0;I=Z(c[m>>2]|0,O)|0;O=c[q>>2]|0;c[K+48>>2]=(I-1+O|0)/(O|0)|0;c[K+52>>2]=1;c[K+80>>2]=0;W=c[o>>2]|0;if((L|0)>=(W|0)){break}L=L+1|0;K=K+88|0;J=c[y>>2]|0}X=W;Y=c[y>>2]|0}else{X=V;Y=U}J=c[m>>2]|0;K=Z(Y,c[q>>2]|0)|0;c[E>>2]=(J-1+K|0)/(K|0)|0;do{if((c[j>>2]|0)>=(X|0)){if((c[t>>2]|0)!=0){break}c[(c[b>>2]|0)+16>>2]=0;break L2060}}while(0);c[(c[b>>2]|0)+16>>2]=1}}while(0);if((c[j>>2]|0)!=0){G=1541;break}c[k>>2]=2}if((G|0)==1541){c[k>>2]=0;f=1;return f|0}else if((G|0)==1545){ce(a);f=1;return f|0}else if((G|0)==1546){c[e>>2]=1;if((c[i>>2]|0)==0){i=a+152|0;e=c[a+144>>2]|0;if((c[i>>2]|0)<=(e|0)){f=2;return f|0}c[i>>2]=e;f=2;return f|0}else{if((c[(c[g>>2]|0)+16>>2]|0)==0){f=2;return f|0}c[(c[d>>2]|0)+20>>2]=61;aL[c[c[d>>2]>>2]&127](l);f=2;return f|0}}else if((G|0)==1559){return f|0}return 0}function cd(a){a=a|0;var b=0;b=c[a+456>>2]|0;c[b>>2]=22;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=1;aL[c[(c[a>>2]|0)+16>>2]&127](a);aL[c[c[a+460>>2]>>2]&127](a);c[a+160>>2]=0;return}function ce(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;b=a+336|0;d=c[b>>2]|0;do{if((d|0)==1){e=c[a+340>>2]|0;c[a+356>>2]=c[e+28>>2];f=e+32|0;c[a+360>>2]=c[f>>2];c[e+56>>2]=1;c[e+60>>2]=1;c[e+64>>2]=1;c[e+68>>2]=c[e+36>>2];c[e+72>>2]=1;g=c[e+12>>2]|0;h=((c[f>>2]|0)>>>0)%(g>>>0)|0;c[e+76>>2]=(h|0)==0?g:h;c[a+364>>2]=1;c[a+368>>2]=0;i=c[b>>2]|0;j=1572}else{if((d-1|0)>>>0>3){h=a|0;c[(c[h>>2]|0)+20>>2]=27;c[(c[h>>2]|0)+24>>2]=c[b>>2];c[(c[h>>2]|0)+28>>2]=4;aL[c[c[h>>2]>>2]&127](a);k=c[b>>2]|0}else{k=d}h=c[a+28>>2]|0;g=c[a+424>>2]|0;e=Z(g,c[a+312>>2]|0)|0;c[a+356>>2]=(h-1+e|0)/(e|0)|0;e=c[a+32>>2]|0;h=Z(c[a+316>>2]|0,g)|0;c[a+360>>2]=(e-1+h|0)/(h|0)|0;h=a+364|0;c[h>>2]=0;if((k|0)<=0){break}e=a|0;g=a;f=0;while(1){l=c[a+340+(f<<2)>>2]|0;m=c[l+8>>2]|0;c[l+56>>2]=m;n=c[l+12>>2]|0;c[l+60>>2]=n;o=Z(n,m)|0;c[l+64>>2]=o;c[l+68>>2]=Z(c[l+36>>2]|0,m)|0;p=((c[l+28>>2]|0)>>>0)%(m>>>0)|0;c[l+72>>2]=(p|0)==0?m:p;p=((c[l+32>>2]|0)>>>0)%(n>>>0)|0;c[l+76>>2]=(p|0)==0?n:p;if(((c[h>>2]|0)+o|0)>10){c[(c[e>>2]|0)+20>>2]=14;aL[c[c[e>>2]>>2]&127](g)}if((o|0)>0){p=o;do{p=p-1|0;o=c[h>>2]|0;c[h>>2]=o+1;c[a+368+(o<<2)>>2]=f;}while((p|0)>0)}p=f+1|0;o=c[b>>2]|0;if((p|0)<(o|0)){f=p}else{i=o;j=1572;break}}}}while(0);do{if((j|0)==1572){if((i|0)<=0){break}k=a|0;d=a;f=a+4|0;h=0;g=i;while(1){e=c[a+340+(h<<2)>>2]|0;o=e+80|0;if((c[o>>2]|0)==0){p=c[e+16>>2]|0;e=a+164+(p<<2)|0;if(p>>>0>3){j=1577}else{if((c[e>>2]|0)==0){j=1577}}if((j|0)==1577){j=0;c[(c[k>>2]|0)+20>>2]=54;c[(c[k>>2]|0)+24>>2]=p;aL[c[c[k>>2]>>2]&127](d)}p=aO[c[c[f>>2]>>2]&15](d,1,132)|0;n=p;l=c[e>>2]|0;fw(p|0,l|0,132)|0;c[o>>2]=n;q=c[b>>2]|0}else{q=g}n=h+1|0;if((n|0)<(q|0)){h=n;g=q}else{break}}}}while(0);aL[c[c[a+464>>2]>>2]&127](a);q=a+448|0;aL[c[c[q>>2]>>2]&127](a);c[c[a+456>>2]>>2]=c[(c[q>>2]|0)+4>>2];return}function cf(a){a=a|0;c[c[a+456>>2]>>2]=22;return}function cg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=a+436|0;e=c[d>>2]|0;f=a|0;c[(c[f>>2]|0)+20>>2]=124;c[(c[f>>2]|0)+24>>2]=e;c[(c[f>>2]|0)+28>>2]=b;g=a;aM[c[(c[f>>2]|0)+4>>2]&63](g,-1);h=b+1&7|208;i=b+2&7|208;j=b+7&7|208;k=b+6&7|208;b=e;L2174:while(1){e=(b|0)<192;l=e|(b-208|0)>>>0>7;m=l|(b|0)==(h|0);n=m|(b|0)==(i|0);o=m?l?e?2:3:3:3;e=(b|0)==(j|0)?2:(b|0)==(k|0)?2:1;while(1){l=n?o:e;c[(c[f>>2]|0)+20>>2]=99;c[(c[f>>2]|0)+24>>2]=b;c[(c[f>>2]|0)+28>>2]=l;aM[c[(c[f>>2]|0)+4>>2]&63](g,4);if((l|0)==3){p=1;q=1589;break L2174}else if((l|0)==1){q=1585;break L2174}else if((l|0)==2){break}}if((ch(a)|0)==0){p=0;q=1591;break}b=c[d>>2]|0}if((q|0)==1589){return p|0}else if((q|0)==1591){return p|0}else if((q|0)==1585){c[d>>2]=0;p=1;return p|0}return 0}function ch(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;d=c[b+24>>2]|0;e=d|0;f=d+4|0;g=d+12|0;d=b+460|0;h=c[f>>2]|0;i=c[e>>2]|0;L2186:while(1){if((h|0)==0){if((aP[c[g>>2]&31](b)|0)==0){j=0;k=1611;break}l=c[f>>2]|0;m=c[e>>2]|0}else{l=h;m=i}n=l-1|0;o=m+1|0;if((a[m]|0)==-1){p=n;q=o}else{r=n;n=o;while(1){o=(c[d>>2]|0)+24|0;c[o>>2]=(c[o>>2]|0)+1;c[e>>2]=n;c[f>>2]=r;if((r|0)==0){if((aP[c[g>>2]&31](b)|0)==0){j=0;k=1613;break L2186}s=c[f>>2]|0;t=c[e>>2]|0}else{s=r;t=n}o=s-1|0;u=t+1|0;if((a[t]|0)==-1){p=o;q=u;break}else{r=o;n=u}}}do{if((p|0)==0){if((aP[c[g>>2]&31](b)|0)==0){j=0;k=1614;break L2186}v=c[f>>2]|0;w=c[e>>2]|0}else{v=p;w=q}p=v-1|0;q=w+1|0;x=a[w]|0;}while(x<<24>>24==-1);n=(c[d>>2]|0)+24|0;y=c[n>>2]|0;if(x<<24>>24!=0){k=1607;break}c[n>>2]=y+2;c[e>>2]=q;c[f>>2]=p;h=p;i=q}if((k|0)==1607){i=x&255;if((y|0)!=0){y=b|0;c[(c[y>>2]|0)+20>>2]=119;c[(c[y>>2]|0)+24>>2]=c[(c[d>>2]|0)+24>>2];c[(c[y>>2]|0)+28>>2]=i;aM[c[(c[y>>2]|0)+4>>2]&63](b,-1);c[(c[d>>2]|0)+24>>2]=0}c[b+436>>2]=i;c[e>>2]=q;c[f>>2]=p;j=1;return j|0}else if((k|0)==1611){return j|0}else if((k|0)==1613){return j|0}else if((k|0)==1614){return j|0}return 0}function ci(a){a=a|0;var b=0;b=c[a+460>>2]|0;c[a+216>>2]=0;c[a+144>>2]=0;c[a+436>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+24>>2]=0;c[b+164>>2]=0;return}function cj(f){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,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,ab=0,ac=0,ad=0,ae=0,af=0,ag=0,ah=0,ai=0,aj=0,ak=0,al=0,am=0,an=0,ao=0,ap=0,aq=0,ar=0,as=0,at=0,au=0,av=0,aw=0,ax=0,ay=0,az=0,aA=0,aB=0,aC=0,aD=0,aE=0,aF=0,aG=0,aH=0,aI=0,aJ=0,aK=0,aN=0,aQ=0,aR=0,aS=0,aT=0,aU=0,aV=0,aW=0,aX=0,aY=0,aZ=0,a_=0,a$=0,a0=0,a1=0,a2=0,a3=0,a4=0,a5=0,a6=0,a7=0,a8=0,a9=0,ba=0,bb=0,bc=0,bd=0,be=0,bf=0,bg=0,bh=0,bi=0,bj=0,bk=0,bl=0,bm=0,bn=0,bo=0,bp=0,bq=0,br=0,bs=0,bt=0,bu=0,bv=0,bw=0,bx=0,by=0,bz=0,bA=0,bB=0,bC=0,bD=0,bE=0,bF=0,bG=0,bH=0,bI=0,bJ=0,bK=0,bL=0,bM=0,bN=0,bO=0,bP=0,bQ=0,bR=0,bS=0,bT=0,bU=0,bV=0,bW=0,bX=0,bY=0,bZ=0,b_=0,b$=0,b0=0,b1=0,b2=0,b3=0,b4=0,b5=0,b6=0,b7=0,b8=0,b9=0,ca=0,cb=0,cc=0,cd=0,ce=0,cf=0,cg=0,ci=0,cj=0,ck=0,cl=0,cm=0,co=0,cp=0,cq=0,cr=0,cs=0,ct=0,cu=0,cv=0,cw=0,_cx=0,cy=0,cz=0,cA=0,cB=0,cC=0,cD=0,cE=0,cF=0,cG=0,cH=0,cI=0,cJ=0,cK=0,cL=0,cM=0,cN=0,cO=0,cP=0,cQ=0,cR=0,cS=0,cT=0,cU=0,cV=0;g=i;i=i+280|0;h=g|0;j=g+24|0;k=f+436|0;l=f+460|0;m=f+24|0;n=f|0;o=f;p=f+232|0;q=f+248|0;r=f+264|0;s=f+233|0;t=f+249|0;u=f+265|0;v=f+234|0;w=f+250|0;x=f+266|0;y=f+235|0;z=f+251|0;A=f+267|0;B=f+236|0;C=f+252|0;D=f+268|0;E=f+237|0;F=f+253|0;G=f+269|0;H=f+238|0;I=f+254|0;J=f+270|0;K=f+239|0;L=f+255|0;M=f+271|0;N=f+240|0;O=f+256|0;P=f+272|0;Q=f+241|0;R=f+257|0;S=f+273|0;T=f+242|0;U=f+258|0;V=f+274|0;W=f+243|0;X=f+259|0;Y=f+275|0;Z=f+244|0;_=f+260|0;$=f+276|0;aa=f+245|0;ab=f+261|0;ac=f+277|0;ad=f+246|0;ae=f+262|0;af=f+278|0;ag=f+247|0;ah=f+263|0;ai=f+279|0;aj=f+280|0;ak=f+40|0;al=f+304|0;am=f+284|0;an=f+288|0;ao=f+289|0;ap=f+290|0;aq=f+292|0;ar=f+294|0;as=f+296|0;at=f+300|0;au=h|0;av=j|0;aw=h+1|0;ax=h+2|0;ay=h+3|0;az=h+4|0;aA=h+5|0;aB=h+6|0;aC=h+7|0;aD=h+8|0;aE=h+9|0;aF=h+10|0;aG=h+11|0;aH=h+12|0;aI=h+13|0;aJ=h+14|0;aK=h+15|0;aN=h+16|0;aQ=f;aR=f+4|0;aS=c[k>>2]|0;L2218:while(1){if((aS|0)==0){if((c[(c[l>>2]|0)+12>>2]|0)==0){aT=c[m>>2]|0;aU=aT|0;aV=aT+4|0;aW=c[aV>>2]|0;if((aW|0)==0){if((aP[c[aT+12>>2]&31](f)|0)==0){aX=0;aY=1844;break}aZ=c[aV>>2]|0}else{aZ=aW}aW=c[aU>>2]|0;a_=aZ-1|0;a$=aW+1|0;a0=a[aW]|0;aW=a0&255;if((a_|0)==0){if((aP[c[aT+12>>2]&31](f)|0)==0){aX=0;aY=1860;break}a1=c[aV>>2]|0;a2=c[aU>>2]|0}else{a1=a_;a2=a$}a$=a[a2]|0;a_=a$&255;if(!(a0<<24>>24==-1&a$<<24>>24==-40)){c[(c[n>>2]|0)+20>>2]=55;c[(c[n>>2]|0)+24>>2]=aW;c[(c[n>>2]|0)+28>>2]=a_;aL[c[c[n>>2]>>2]&127](o)}c[k>>2]=a_;c[aU>>2]=a2+1;c[aV>>2]=a1-1}else{if((ch(f)|0)==0){aX=0;aY=1858;break}}a3=c[k>>2]|0}else{a3=aS}L2238:do{switch(a3|0){case 221:{aV=c[m>>2]|0;aU=aV|0;a_=aV+4|0;aW=c[a_>>2]|0;if((aW|0)==0){if((aP[c[aV+12>>2]&31](f)|0)==0){aX=0;aY=1824;break L2218}a4=c[a_>>2]|0}else{a4=aW}aW=c[aU>>2]|0;a$=a4-1|0;a0=aW+1|0;aT=(d[aW]|0)<<8;if((a$|0)==0){if((aP[c[aV+12>>2]&31](f)|0)==0){aX=0;aY=1825;break L2218}a5=c[a_>>2]|0;a6=c[aU>>2]|0}else{a5=a$;a6=a0}a0=a5-1|0;a$=a6+1|0;if((d[a6]|0|aT|0)!=4){c[(c[n>>2]|0)+20>>2]=12;aL[c[c[n>>2]>>2]&127](o)}if((a0|0)==0){if((aP[c[aV+12>>2]&31](f)|0)==0){aX=0;aY=1826;break L2218}a7=c[a_>>2]|0;a8=c[aU>>2]|0}else{a7=a0;a8=a$}a$=a7-1|0;a0=a8+1|0;aT=(d[a8]|0)<<8;if((a$|0)==0){if((aP[c[aV+12>>2]&31](f)|0)==0){aX=0;aY=1827;break L2218}a9=c[a_>>2]|0;ba=c[aU>>2]|0}else{a9=a$;ba=a0}a0=d[ba]|0|aT;c[(c[n>>2]|0)+20>>2]=84;c[(c[n>>2]|0)+24>>2]=a0;aM[c[(c[n>>2]|0)+4>>2]&63](o,1);c[aj>>2]=a0;c[aU>>2]=ba+1;c[a_>>2]=a9-1;break};case 224:case 225:case 226:case 227:case 228:case 229:case 230:case 231:case 232:case 233:case 234:case 235:case 236:case 237:case 238:case 239:{if((aP[c[(c[l>>2]|0)+32+(a3-224<<2)>>2]&31](f)|0)==0){aX=0;aY=1828;break L2218}break};case 254:{if((aP[c[(c[l>>2]|0)+28>>2]&31](f)|0)==0){aX=0;aY=1829;break L2218}break};case 208:case 209:case 210:case 211:case 212:case 213:case 214:case 215:case 1:{c[(c[n>>2]|0)+20>>2]=94;c[(c[n>>2]|0)+24>>2]=c[k>>2];aM[c[(c[n>>2]|0)+4>>2]&63](o,1);break};case 220:{a_=c[m>>2]|0;aU=a_|0;a0=a_+4|0;aT=c[a0>>2]|0;if((aT|0)==0){if((aP[c[a_+12>>2]&31](f)|0)==0){aX=0;aY=1830;break L2218}bb=c[a0>>2]|0}else{bb=aT}aT=c[aU>>2]|0;a$=bb-1|0;aV=aT+1|0;aW=(d[aT]|0)<<8;if((a$|0)==0){if((aP[c[a_+12>>2]&31](f)|0)==0){aX=0;aY=1831;break L2218}bc=c[a0>>2]|0;bd=c[aU>>2]|0}else{bc=a$;bd=aV}aV=(d[bd]|0|aW)-2|0;c[(c[n>>2]|0)+20>>2]=93;c[(c[n>>2]|0)+24>>2]=c[k>>2];c[(c[n>>2]|0)+28>>2]=aV;aM[c[(c[n>>2]|0)+4>>2]&63](o,1);c[aU>>2]=bd+1;c[a0>>2]=bc-1;if((aV|0)<=0){break L2238}aM[c[(c[m>>2]|0)+16>>2]&63](f,aV);break};case 201:{if((cn(f,0,0,1)|0)==0){aX=0;aY=1835;break L2218}break};case 194:{if((cn(f,0,1,0)|0)==0){aX=0;aY=1837;break L2218}break};case 192:{if((cn(f,1,0,0)|0)==0){aX=0;aY=1838;break L2218}break};case 202:{if((cn(f,0,1,1)|0)==0){aX=0;aY=1845;break L2218}break};case 219:{aV=c[m>>2]|0;a0=aV|0;aU=aV+4|0;aW=c[aU>>2]|0;if((aW|0)==0){if((aP[c[aV+12>>2]&31](f)|0)==0){aX=0;aY=1848;break L2218}be=c[aU>>2]|0}else{be=aW}aW=c[a0>>2]|0;a$=be-1|0;a_=aW+1|0;aT=(d[aW]|0)<<8;if((a$|0)==0){if((aP[c[aV+12>>2]&31](f)|0)==0){aX=0;aY=1849;break L2218}bf=c[aU>>2]|0;bg=c[a0>>2]|0}else{bf=a$;bg=a_}a_=bf-1|0;a$=bg+1|0;aW=(d[bg]|0|aT)-2|0;if((aW|0)>0){aT=aV+12|0;aV=aW;bh=a$;bi=a_;while(1){bj=aV-1|0;if((bi|0)==0){if((aP[c[aT>>2]&31](f)|0)==0){aX=0;aY=1850;break L2218}bk=c[aU>>2]|0;bl=c[a0>>2]|0}else{bk=bi;bl=bh}bm=d[bl]|0;bn=bm>>>4;bo=bm&15;c[(c[n>>2]|0)+20>>2]=83;c[(c[n>>2]|0)+24>>2]=bo;c[(c[n>>2]|0)+28>>2]=bn;aM[c[(c[n>>2]|0)+4>>2]&63](o,1);if(bo>>>0>3){c[(c[n>>2]|0)+20>>2]=32;c[(c[n>>2]|0)+24>>2]=bo;aL[c[c[n>>2]>>2]&127](o)}bm=f+164+(bo<<2)|0;bo=c[bm>>2]|0;if((bo|0)==0){bp=aO[c[c[aR>>2]>>2]&15](aQ,0,132)|0;bq=bp;c[bp+128>>2]=0;c[bm>>2]=bq;br=bq}else{br=bo}bo=(bn|0)!=0;do{if(bo){if((bj|0)<128){bs=0}else{aY=1769;break}do{b[br+(bs<<1)>>1]=1;bs=bs+1|0;}while((bs|0)<64);bt=bj>>1;aY=1762}else{if((bj|0)<64){bu=0}else{aY=1769;break}while(1){b[br+(bu<<1)>>1]=1;bn=bu+1|0;if((bn|0)<64){bu=bn}else{bt=bj;aY=1762;break}}}}while(0);L2308:do{if((aY|0)==1769){aY=0;bv=64;bw=3480;bx=bk-1|0;by=bl+1|0;aY=1771}else if((aY|0)==1762){aY=0;switch(bt|0){case 9:{bz=3296;bA=bt;break};case 16:{bz=3168;bA=bt;break};case 25:{bz=3e3;bA=bt;break};case 36:{bz=2792;bA=bt;break};case 49:{bz=2528;bA=bt;break};case 4:{bz=3400;bA=4;break};default:{bn=bk-1|0;bq=bl+1|0;if((bt|0)>0){bv=bt;bw=3480;bx=bn;by=bq;aY=1771;break L2308}else{bB=bn;bC=bq;bD=bt;break L2308}}}bv=bA;bw=bz;bx=bk-1|0;by=bl+1|0;aY=1771}}while(0);if((aY|0)==1771){aY=0;bq=0;bn=bx;bm=by;while(1){bp=(bn|0)==0;if(bo){if(bp){if((aP[c[aT>>2]&31](f)|0)==0){aX=0;aY=1821;break L2218}bE=c[aU>>2]|0;bF=c[a0>>2]|0}else{bE=bn;bF=bm}bG=bE-1|0;bH=bF+1|0;bI=(d[bF]|0)<<8;if((bG|0)==0){if((aP[c[aT>>2]&31](f)|0)==0){aX=0;aY=1822;break L2218}bJ=c[aU>>2]|0;bK=c[a0>>2]|0}else{bJ=bG;bK=bH}bL=bJ;bM=bK;bN=d[bK]|0|bI}else{if(bp){if((aP[c[aT>>2]&31](f)|0)==0){aX=0;aY=1823;break L2218}bO=c[aU>>2]|0;bP=c[a0>>2]|0}else{bO=bn;bP=bm}bL=bO;bM=bP;bN=d[bP]|0}b[br+(c[bw+(bq<<2)>>2]<<1)>>1]=bN;bp=bq+1|0;bI=bL-1|0;bH=bM+1|0;if((bp|0)<(bv|0)){bq=bp;bn=bI;bm=bH}else{bB=bI;bC=bH;bD=bv;break}}}bm=c[n>>2]|0;L2340:do{if((c[bm+104>>2]|0)>1){bn=0;bq=bm;while(1){c[bq+24>>2]=e[br+(bn<<1)>>1]|0;c[bq+28>>2]=e[br+((bn|1)<<1)>>1]|0;c[bq+32>>2]=e[br+((bn|2)<<1)>>1]|0;c[bq+36>>2]=e[br+((bn|3)<<1)>>1]|0;c[bq+40>>2]=e[br+((bn|4)<<1)>>1]|0;c[bq+44>>2]=e[br+((bn|5)<<1)>>1]|0;c[bq+48>>2]=e[br+((bn|6)<<1)>>1]|0;c[bq+52>>2]=e[br+((bn|7)<<1)>>1]|0;c[(c[n>>2]|0)+20>>2]=95;aM[c[(c[n>>2]|0)+4>>2]&63](o,2);bH=bn+8|0;if((bH|0)>=64){break L2340}bn=bH;bq=c[n>>2]|0}}}while(0);bm=bj-bD+(bo?-bD|0:0)|0;if((bm|0)>0){aV=bm;bh=bC;bi=bB}else{bQ=bm;bR=bC;bS=bB;break}}}else{bQ=aW;bR=a$;bS=a_}if((bQ|0)!=0){c[(c[n>>2]|0)+20>>2]=12;aL[c[c[n>>2]>>2]&127](o)}c[a0>>2]=bR;c[aU>>2]=bS;break};case 196:{bi=c[m>>2]|0;bh=bi|0;aV=bi+4|0;aT=c[aV>>2]|0;if((aT|0)==0){if((aP[c[bi+12>>2]&31](f)|0)==0){aX=0;aY=1851;break L2218}bT=c[aV>>2]|0}else{bT=aT}aT=c[bh>>2]|0;bm=bT-1|0;bq=aT+1|0;bn=(d[aT]|0)<<8;if((bm|0)==0){if((aP[c[bi+12>>2]&31](f)|0)==0){aX=0;aY=1852;break L2218}bU=c[aV>>2]|0;bV=c[bh>>2]|0}else{bU=bm;bV=bq}bq=bU-1|0;bm=bV+1|0;aT=(d[bV]|0|bn)-2|0;if((aT|0)>16){bn=bi+12|0;bi=bm;bH=bq;bI=aT;while(1){if((bH|0)==0){if((aP[c[bn>>2]&31](f)|0)==0){aX=0;aY=1853;break L2218}bW=c[aV>>2]|0;bX=c[bh>>2]|0}else{bW=bH;bX=bi}bp=d[bX]|0;c[(c[n>>2]|0)+20>>2]=82;c[(c[n>>2]|0)+24>>2]=bp;aM[c[(c[n>>2]|0)+4>>2]&63](o,1);a[au]=0;bG=0;bY=1;bZ=bW-1|0;b_=bX+1|0;do{if((bZ|0)==0){if((aP[c[bn>>2]&31](f)|0)==0){aX=0;aY=1854;break L2218}b$=c[aV>>2]|0;b0=c[bh>>2]|0}else{b$=bZ;b0=b_}b1=a[b0]|0;a[h+bY|0]=b1;bG=(b1&255)+bG|0;bY=bY+1|0;bZ=b$-1|0;b_=b0+1|0;}while((bY|0)<17);bY=bI-17|0;bo=c[n>>2]|0;c[bo+24>>2]=d[aw]|0;c[bo+28>>2]=d[ax]|0;c[bo+32>>2]=d[ay]|0;c[bo+36>>2]=d[az]|0;c[bo+40>>2]=d[aA]|0;c[bo+44>>2]=d[aB]|0;c[bo+48>>2]=d[aC]|0;c[bo+52>>2]=d[aD]|0;c[(c[n>>2]|0)+20>>2]=88;aM[c[(c[n>>2]|0)+4>>2]&63](o,2);bo=c[n>>2]|0;c[bo+24>>2]=d[aE]|0;c[bo+28>>2]=d[aF]|0;c[bo+32>>2]=d[aG]|0;c[bo+36>>2]=d[aH]|0;c[bo+40>>2]=d[aI]|0;c[bo+44>>2]=d[aJ]|0;c[bo+48>>2]=d[aK]|0;c[bo+52>>2]=d[aN]|0;c[(c[n>>2]|0)+20>>2]=88;aM[c[(c[n>>2]|0)+4>>2]&63](o,2);if((bG|0)>256|(bG|0)>(bY|0)){c[(c[n>>2]|0)+20>>2]=9;aL[c[c[n>>2]>>2]&127](o)}if((bG|0)>0){bo=0;bj=b_;b1=bZ;while(1){if((b1|0)==0){if((aP[c[bn>>2]&31](f)|0)==0){aX=0;aY=1836;break L2218}b2=c[aV>>2]|0;b3=c[bh>>2]|0}else{b2=b1;b3=bj}b4=b2-1|0;b5=b3+1|0;a[j+bo|0]=a[b3]|0;b6=bo+1|0;if((b6|0)<(bG|0)){bo=b6;bj=b5;b1=b4}else{b7=b5;b8=b4;break}}}else{b7=b_;b8=bZ}b1=bY-bG|0;if((bp&16|0)==0){b9=f+180+(bp<<2)|0;ca=bp}else{bj=bp-16|0;b9=f+196+(bj<<2)|0;ca=bj}if(ca>>>0>3){c[(c[n>>2]|0)+20>>2]=31;c[(c[n>>2]|0)+24>>2]=ca;aL[c[c[n>>2]>>2]&127](o)}bj=c[b9>>2]|0;if((bj|0)==0){bo=aO[c[c[aR>>2]>>2]&15](aQ,0,280)|0;b4=bo;c[bo+276>>2]=0;c[b9>>2]=b4;cb=b4}else{cb=bj}bj=cb|0;fw(bj|0,au|0,17)|0;bj=(c[b9>>2]|0)+17|0;fw(bj|0,av|0,256)|0;if((b1|0)>16){bi=b7;bH=b8;bI=b1}else{cc=b7;cd=b8;ce=b1;break}}}else{cc=bm;cd=bq;ce=aT}if((ce|0)!=0){c[(c[n>>2]|0)+20>>2]=12;aL[c[c[n>>2]>>2]&127](o)}c[bh>>2]=cc;c[aV>>2]=cd;break};case 217:{aY=1682;break L2218;break};case 204:{bI=c[m>>2]|0;bH=bI|0;bi=bI+4|0;bn=c[bi>>2]|0;if((bn|0)==0){if((aP[c[bI+12>>2]&31](f)|0)==0){aX=0;aY=1856;break L2218}cf=c[bi>>2]|0}else{cf=bn}bn=c[bH>>2]|0;aU=cf-1|0;a0=bn+1|0;a_=(d[bn]|0)<<8;if((aU|0)==0){if((aP[c[bI+12>>2]&31](f)|0)==0){aX=0;aY=1857;break L2218}cg=c[bi>>2]|0;ci=c[bH>>2]|0}else{cg=aU;ci=a0}a0=cg-1|0;aU=ci+1|0;bn=(d[ci]|0|a_)-2|0;if((bn|0)>0){a_=bI+12|0;bI=bn;a$=aU;aW=a0;while(1){if((aW|0)==0){if((aP[c[a_>>2]&31](f)|0)==0){aX=0;aY=1846;break L2218}cj=c[bi>>2]|0;ck=c[bH>>2]|0}else{cj=aW;ck=a$}b1=cj-1|0;bj=ck+1|0;b4=a[ck]|0;bo=b4&255;if((b1|0)==0){if((aP[c[a_>>2]&31](f)|0)==0){aX=0;aY=1847;break L2218}cl=c[bi>>2]|0;cm=c[bH>>2]|0}else{cl=b1;cm=bj}bj=cl-1|0;b1=cm+1|0;b5=a[cm]|0;b6=b5&255;co=bI-2|0;c[(c[n>>2]|0)+20>>2]=81;c[(c[n>>2]|0)+24>>2]=bo;c[(c[n>>2]|0)+28>>2]=b6;aM[c[(c[n>>2]|0)+4>>2]&63](o,1);do{if((b4&255)>31){c[(c[n>>2]|0)+20>>2]=29;c[(c[n>>2]|0)+24>>2]=bo;aL[c[c[n>>2]>>2]&127](o);aY=1700}else{if((b4&255)>15){aY=1700;break}cp=b5&15;a[f+232+bo|0]=cp;cq=(b5&255)>>>4;a[f+248+bo|0]=cq;if((cp&255)<=(cq&255)){break}c[(c[n>>2]|0)+20>>2]=30;c[(c[n>>2]|0)+24>>2]=b6;aL[c[c[n>>2]>>2]&127](o)}}while(0);if((aY|0)==1700){aY=0;a[bo-16+(f+264)|0]=b5}if((co|0)>0){bI=co;a$=b1;aW=bj}else{cr=co;cs=b1;ct=bj;break}}}else{cr=bn;cs=aU;ct=a0}if((cr|0)!=0){c[(c[n>>2]|0)+20>>2]=12;aL[c[c[n>>2]>>2]&127](o)}c[bH>>2]=cs;c[bi>>2]=ct;break};case 216:{c[(c[n>>2]|0)+20>>2]=104;aM[c[(c[n>>2]|0)+4>>2]&63](o,1);aW=c[l>>2]|0;if((c[aW+12>>2]|0)==0){cu=aW}else{c[(c[n>>2]|0)+20>>2]=63;aL[c[c[n>>2]>>2]&127](o);cu=c[l>>2]|0}a[p]=0;a[q]=1;a[r]=5;a[s]=0;a[t]=1;a[u]=5;a[v]=0;a[w]=1;a[x]=5;a[y]=0;a[z]=1;a[A]=5;a[B]=0;a[C]=1;a[D]=5;a[E]=0;a[F]=1;a[G]=5;a[H]=0;a[I]=1;a[J]=5;a[K]=0;a[L]=1;a[M]=5;a[N]=0;a[O]=1;a[P]=5;a[Q]=0;a[R]=1;a[S]=5;a[T]=0;a[U]=1;a[V]=5;a[W]=0;a[X]=1;a[Y]=5;a[Z]=0;a[_]=1;a[$]=5;a[aa]=0;a[ab]=1;a[ac]=5;a[ad]=0;a[ae]=1;a[af]=5;a[ag]=0;a[ah]=1;a[ai]=5;c[aj>>2]=0;c[ak>>2]=0;c[al>>2]=0;c[am>>2]=0;a[an]=1;a[ao]=1;a[ap]=0;b[aq>>1]=1;b[ar>>1]=1;c[as>>2]=0;a[at]=0;c[cu+12>>2]=1;break};case 195:case 197:case 198:case 199:case 200:case 203:case 205:case 206:case 207:{c[(c[n>>2]|0)+20>>2]=62;c[(c[n>>2]|0)+24>>2]=c[k>>2];aL[c[c[n>>2]>>2]&127](o);break};case 218:{aY=1640;break L2218;break};case 193:{if((cn(f,0,0,0)|0)==0){aX=0;aY=1861;break L2218}break};default:{c[(c[n>>2]|0)+20>>2]=70;c[(c[n>>2]|0)+24>>2]=c[k>>2];aL[c[c[n>>2]>>2]&127](o)}}}while(0);c[k>>2]=0;aS=0}if((aY|0)==1844){i=g;return aX|0}else if((aY|0)==1845){i=g;return aX|0}else if((aY|0)==1846){i=g;return aX|0}else if((aY|0)==1847){i=g;return aX|0}else if((aY|0)==1848){i=g;return aX|0}else if((aY|0)==1849){i=g;return aX|0}else if((aY|0)==1850){i=g;return aX|0}else if((aY|0)==1851){i=g;return aX|0}else if((aY|0)==1852){i=g;return aX|0}else if((aY|0)==1853){i=g;return aX|0}else if((aY|0)==1854){i=g;return aX|0}else if((aY|0)==1856){i=g;return aX|0}else if((aY|0)==1857){i=g;return aX|0}else if((aY|0)==1858){i=g;return aX|0}else if((aY|0)==1860){i=g;return aX|0}else if((aY|0)==1861){i=g;return aX|0}else if((aY|0)==1682){c[(c[n>>2]|0)+20>>2]=87;aM[c[(c[n>>2]|0)+4>>2]&63](o,1);c[k>>2]=0;aX=2;i=g;return aX|0}else if((aY|0)==1640){aS=c[m>>2]|0;m=aS|0;cu=c[m>>2]|0;at=aS+4|0;as=c[at>>2]|0;if((c[(c[l>>2]|0)+16>>2]|0)==0){c[(c[n>>2]|0)+20>>2]=64;aL[c[c[n>>2]>>2]&127](o)}do{if((as|0)==0){if((aP[c[aS+12>>2]&31](f)|0)==0){aX=0;i=g;return aX|0}else{cv=c[at>>2]|0;cw=c[m>>2]|0;break}}else{cv=as;cw=cu}}while(0);cu=cv-1|0;cv=cw+1|0;as=(d[cw]|0)<<8;do{if((cu|0)==0){if((aP[c[aS+12>>2]&31](f)|0)==0){aX=0;i=g;return aX|0}else{_cx=c[at>>2]|0;cy=c[m>>2]|0;break}}else{_cx=cu;cy=cv}}while(0);cv=_cx-1|0;_cx=cy+1|0;cu=d[cy]|0|as;do{if((cv|0)==0){if((aP[c[aS+12>>2]&31](f)|0)==0){aX=0;i=g;return aX|0}else{cz=c[at>>2]|0;cA=c[m>>2]|0;break}}else{cz=cv;cA=_cx}}while(0);_cx=a[cA]|0;cv=_cx&255;c[(c[n>>2]|0)+20>>2]=105;c[(c[n>>2]|0)+24>>2]=cv;aM[c[(c[n>>2]|0)+4>>2]&63](o,1);do{if((cu|0)!=((cv<<1)+6|0)|(_cx&255)>4){aY=1656}else{if(_cx<<24>>24!=0){c[f+336>>2]=cv;as=cz-1|0;cB=as;cC=cA+1|0;cD=(as|0)==0;aY=1657;break}if((c[f+224>>2]|0)==0){aY=1656;break}c[f+336>>2]=cv;as=cz-1|0;if((as|0)==0){cE=1;aY=1670}else{cF=as;cG=cA+1|0;cH=1}}}while(0);if((aY|0)==1656){c[(c[n>>2]|0)+20>>2]=12;aL[c[c[n>>2]>>2]&127](o);c[f+336>>2]=cv;cu=cz-1|0;cz=cA+1|0;cA=(cu|0)==0;if(_cx<<24>>24==0){cI=cu;cJ=cz;cK=cA;cL=1;aY=1669}else{cB=cu;cC=cz;cD=cA;aY=1657}}L2487:do{if((aY|0)==1657){cA=aS+12|0;cz=f+216|0;cu=f+36|0;_cx=0;as=cB;cy=cC;cw=cD;while(1){if(cw){if((aP[c[cA>>2]&31](f)|0)==0){aX=0;aY=1842;break}cM=c[at>>2]|0;cN=c[m>>2]|0}else{cM=as;cN=cy}ar=cM-1|0;aq=cN+1|0;ap=d[cN]|0;if((ar|0)==0){if((aP[c[cA>>2]&31](f)|0)==0){aX=0;aY=1833;break}cO=c[at>>2]|0;cP=c[m>>2]|0}else{cO=ar;cP=aq}aq=d[cP]|0;ar=c[cz>>2]|0;ao=c[cu>>2]|0;L2499:do{if((ao|0)>0){an=0;am=ar;while(1){if((ap|0)==(c[am>>2]|0)){cQ=am;break L2499}al=an+1|0;ak=am+88|0;if((al|0)<(ao|0)){an=al;am=ak}else{cR=ak;aY=1667;break}}}else{cR=ar;aY=1667}}while(0);if((aY|0)==1667){aY=0;c[(c[n>>2]|0)+20>>2]=4;c[(c[n>>2]|0)+24>>2]=ap;aL[c[c[n>>2]>>2]&127](o);cQ=cR}c[f+340+(_cx<<2)>>2]=cQ;ar=cQ+20|0;c[ar>>2]=aq>>>4;ao=cQ+24|0;c[ao>>2]=aq&15;bi=c[n>>2]|0;c[bi+24>>2]=ap;c[bi+28>>2]=c[ar>>2];c[bi+32>>2]=c[ao>>2];c[(c[n>>2]|0)+20>>2]=106;aM[c[(c[n>>2]|0)+4>>2]&63](o,1);ao=_cx+1|0;bi=cO-1|0;ar=cP+1|0;bH=(bi|0)==0;if((ao|0)<(cv|0)){_cx=ao;as=bi;cy=ar;cw=bH}else{cI=bi;cJ=ar;cK=bH;cL=0;aY=1669;break L2487}}if((aY|0)==1842){i=g;return aX|0}else if((aY|0)==1833){i=g;return aX|0}}}while(0);if((aY|0)==1669){if(cK){cE=cL;aY=1670}else{cF=cI;cG=cJ;cH=cL}}do{if((aY|0)==1670){if((aP[c[aS+12>>2]&31](f)|0)==0){aX=0;i=g;return aX|0}else{cF=c[at>>2]|0;cG=c[m>>2]|0;cH=cE;break}}}while(0);cE=cF-1|0;cF=cG+1|0;cL=f+408|0;c[cL>>2]=d[cG]|0;do{if((cE|0)==0){if((aP[c[aS+12>>2]&31](f)|0)==0){aX=0;i=g;return aX|0}else{cS=c[at>>2]|0;cT=c[m>>2]|0;break}}else{cS=cE;cT=cF}}while(0);cF=cS-1|0;cS=f+412|0;c[cS>>2]=d[cT]|0;do{if((cF|0)==0){if((aP[c[aS+12>>2]&31](f)|0)==0){aX=0;i=g;return aX|0}else{cU=c[at>>2]|0;cV=c[m>>2]|0;break}}else{cU=cF;cV=cT+1|0}}while(0);cT=d[cV]|0;cF=f+416|0;c[cF>>2]=cT>>>4;aS=f+420|0;c[aS>>2]=cT&15;cT=c[n>>2]|0;c[cT+24>>2]=c[cL>>2];c[cT+28>>2]=c[cS>>2];c[cT+32>>2]=c[cF>>2];c[cT+36>>2]=c[aS>>2];c[(c[n>>2]|0)+20>>2]=107;aM[c[(c[n>>2]|0)+4>>2]&63](o,1);c[(c[l>>2]|0)+20>>2]=0;if(!cH){cH=f+144|0;c[cH>>2]=(c[cH>>2]|0)+1}c[m>>2]=cV+1;c[at>>2]=cU-1;c[k>>2]=0;aX=1;i=g;return aX|0}else if((aY|0)==1838){i=g;return aX|0}else if((aY|0)==1821){i=g;return aX|0}else if((aY|0)==1822){i=g;return aX|0}else if((aY|0)==1823){i=g;return aX|0}else if((aY|0)==1824){i=g;return aX|0}else if((aY|0)==1825){i=g;return aX|0}else if((aY|0)==1826){i=g;return aX|0}else if((aY|0)==1827){i=g;return aX|0}else if((aY|0)==1828){i=g;return aX|0}else if((aY|0)==1829){i=g;return aX|0}else if((aY|0)==1830){i=g;return aX|0}else if((aY|0)==1831){i=g;return aX|0}else if((aY|0)==1835){i=g;return aX|0}else if((aY|0)==1836){i=g;return aX|0}else if((aY|0)==1837){i=g;return aX|0}return 0}function ck(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+436|0;d=c[b>>2]|0;do{if((d|0)==0){if((ch(a)|0)==0){e=0;return e|0}else{f=c[b>>2]|0;break}}else{f=d}}while(0);d=a+460|0;g=c[(c[d>>2]|0)+20>>2]|0;do{if((f|0)==(g+208|0)){h=a|0;c[(c[h>>2]|0)+20>>2]=100;c[(c[h>>2]|0)+24>>2]=c[(c[d>>2]|0)+20>>2];aM[c[(c[h>>2]|0)+4>>2]&63](a,3);c[b>>2]=0}else{if((aU[c[(c[a+24>>2]|0)+20>>2]&127](a,g)|0)==0){e=0}else{break}return e|0}}while(0);g=(c[d>>2]|0)+20|0;c[g>>2]=(c[g>>2]|0)+1&7;e=1;return e|0}function cl(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=a+24|0;e=c[b>>2]|0;f=e|0;g=e+4|0;h=c[g>>2]|0;do{if((h|0)==0){if((aP[c[e+12>>2]&31](a)|0)==0){i=0;return i|0}else{j=c[g>>2]|0;break}}else{j=h}}while(0);h=c[f>>2]|0;k=j-1|0;j=h+1|0;l=(d[h]|0)<<8;do{if((k|0)==0){if((aP[c[e+12>>2]&31](a)|0)==0){i=0;return i|0}else{m=c[g>>2]|0;n=c[f>>2]|0;break}}else{m=k;n=j}}while(0);j=(d[n]|0|l)-2|0;l=a|0;c[(c[l>>2]|0)+20>>2]=93;c[(c[l>>2]|0)+24>>2]=c[a+436>>2];c[(c[l>>2]|0)+28>>2]=j;aM[c[(c[l>>2]|0)+4>>2]&63](a,1);c[f>>2]=n+1;c[g>>2]=m-1;if((j|0)<=0){i=1;return i|0}aM[c[(c[b>>2]|0)+16>>2]&63](a,j);i=1;return i|0}function cm(f){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;g=i;i=i+16|0;h=g|0;j=f+24|0;k=c[j>>2]|0;l=k|0;m=k+4|0;n=c[m>>2]|0;do{if((n|0)==0){if((aP[c[k+12>>2]&31](f)|0)==0){o=0;i=g;return o|0}else{p=c[m>>2]|0;break}}else{p=n}}while(0);n=c[l>>2]|0;q=p-1|0;p=n+1|0;r=d[n]<<8;do{if((q|0)==0){if((aP[c[k+12>>2]&31](f)|0)==0){o=0;i=g;return o|0}else{s=c[m>>2]|0;t=c[l>>2]|0;break}}else{s=q;t=p}}while(0);p=d[t]|r;r=p-2|0;if((r|0)>13){u=14;v=s-1|0;w=t+1|0;x=1895}else{q=(r|0)>0?r:0;n=s-1|0;s=t+1|0;if((q|0)==0){y=n;z=s;A=0}else{u=q;v=n;w=s;x=1895}}L2595:do{if((x|0)==1895){s=k+12|0;n=0;q=v;t=w;while(1){if((q|0)==0){if((aP[c[s>>2]&31](f)|0)==0){o=0;break}B=c[m>>2]|0;C=c[l>>2]|0}else{B=q;C=t}a[h+n|0]=a[C]|0;D=n+1|0;E=B-1|0;F=C+1|0;if(D>>>0<u>>>0){n=D;q=E;t=F}else{y=E;z=F;A=u;break L2595}}i=g;return o|0}}while(0);u=r-A|0;C=f+436|0;B=c[C>>2]|0;L2605:do{if((B|0)==224){w=h|0;do{if(A>>>0>13){if((a[w]|0)!=74){break}if((a[h+1|0]|0)!=70){break}if((a[h+2|0]|0)!=73){break}if((a[h+3|0]|0)!=70){break}if((a[h+4|0]|0)!=0){break}c[f+284>>2]=1;v=a[h+5|0]|0;k=f+288|0;a[k]=v;x=f+289|0;a[x]=a[h+6|0]|0;t=f+290|0;a[t]=a[h+7|0]|0;q=f+292|0;b[q>>1]=d[h+8|0]<<8|d[h+9|0];n=f+294|0;b[n>>1]=d[h+10|0]<<8|d[h+11|0];s=f|0;if(v<<24>>24==1){G=1;H=f}else{c[(c[s>>2]|0)+20>>2]=122;c[(c[s>>2]|0)+24>>2]=d[k]|0;c[(c[s>>2]|0)+28>>2]=d[x]|0;v=f;aM[c[(c[s>>2]|0)+4>>2]&63](v,-1);G=d[k]|0;H=v}v=c[s>>2]|0;c[v+24>>2]=G;c[v+28>>2]=d[x]|0;c[v+32>>2]=e[q>>1]|0;c[v+36>>2]=e[n>>1]|0;c[v+40>>2]=d[t]|0;c[(c[s>>2]|0)+20>>2]=89;aM[c[(c[s>>2]|0)+4>>2]&63](H,1);t=h+12|0;v=a[t]|0;n=h+13|0;q=a[n]|0;if((q|v)<<24>>24==0){I=v;J=q}else{c[(c[s>>2]|0)+20>>2]=92;c[(c[s>>2]|0)+24>>2]=d[t]|0;c[(c[s>>2]|0)+28>>2]=d[n]|0;aM[c[(c[s>>2]|0)+4>>2]&63](H,1);I=a[t]|0;J=a[n]|0}n=p-16|0;if((n|0)==(Z((I&255)*3|0,J&255)|0)){break L2605}c[(c[s>>2]|0)+20>>2]=90;c[(c[s>>2]|0)+24>>2]=n;aM[c[(c[s>>2]|0)+4>>2]&63](H,1);break L2605}}while(0);do{if(A>>>0>5){if((a[w]|0)!=74){break}if((a[h+1|0]|0)!=70){break}if((a[h+2|0]|0)!=88){break}if((a[h+3|0]|0)!=88){break}if((a[h+4|0]|0)!=0){break}s=h+5|0;n=d[s]|0;if((n|0)==16){t=f|0;c[(c[t>>2]|0)+20>>2]=110;c[(c[t>>2]|0)+24>>2]=r;aM[c[(c[t>>2]|0)+4>>2]&63](f,1);break L2605}else if((n|0)==17){t=f|0;c[(c[t>>2]|0)+20>>2]=111;c[(c[t>>2]|0)+24>>2]=r;aM[c[(c[t>>2]|0)+4>>2]&63](f,1);break L2605}else if((n|0)==19){n=f|0;c[(c[n>>2]|0)+20>>2]=112;c[(c[n>>2]|0)+24>>2]=r;aM[c[(c[n>>2]|0)+4>>2]&63](f,1);break L2605}else{n=f|0;c[(c[n>>2]|0)+20>>2]=91;c[(c[n>>2]|0)+24>>2]=d[s]|0;c[(c[n>>2]|0)+28>>2]=r;aM[c[(c[n>>2]|0)+4>>2]&63](f,1);break L2605}}}while(0);w=f|0;c[(c[w>>2]|0)+20>>2]=79;c[(c[w>>2]|0)+24>>2]=r;aM[c[(c[w>>2]|0)+4>>2]&63](f,1)}else if((B|0)==238){do{if(A>>>0>11){if((a[h|0]|0)!=65){break}if((a[h+1|0]|0)!=100){break}if((a[h+2|0]|0)!=111){break}if((a[h+3|0]|0)!=98){break}if((a[h+4|0]|0)!=101){break}w=d[h+7|0]<<8|d[h+8|0];n=d[h+9|0]<<8|d[h+10|0];s=a[h+11|0]|0;t=f|0;q=c[t>>2]|0;c[q+24>>2]=d[h+5|0]<<8|d[h+6|0];c[q+28>>2]=w;c[q+32>>2]=n;c[q+36>>2]=s&255;c[(c[t>>2]|0)+20>>2]=78;aM[c[(c[t>>2]|0)+4>>2]&63](f,1);c[f+296>>2]=1;a[f+300|0]=s;break L2605}}while(0);s=f|0;c[(c[s>>2]|0)+20>>2]=80;c[(c[s>>2]|0)+24>>2]=r;aM[c[(c[s>>2]|0)+4>>2]&63](f,1)}else{s=f|0;c[(c[s>>2]|0)+20>>2]=70;c[(c[s>>2]|0)+24>>2]=c[C>>2];aL[c[c[s>>2]>>2]&127](f)}}while(0);c[l>>2]=z;c[m>>2]=y;if((u|0)<=0){o=1;i=g;return o|0}aM[c[(c[j>>2]|0)+16>>2]&63](f,u);o=1;i=g;return o|0}function cn(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,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;g=c[a+24>>2]|0;h=g|0;i=c[h>>2]|0;j=g+4|0;k=c[j>>2]|0;c[a+220>>2]=b;c[a+224>>2]=e;c[a+228>>2]=f;do{if((k|0)==0){if((aP[c[g+12>>2]&31](a)|0)==0){l=0;return l|0}else{m=c[j>>2]|0;n=c[h>>2]|0;break}}else{m=k;n=i}}while(0);i=m-1|0;m=n+1|0;k=(d[n]|0)<<8;do{if((i|0)==0){if((aP[c[g+12>>2]&31](a)|0)==0){l=0;return l|0}else{o=c[j>>2]|0;p=c[h>>2]|0;break}}else{o=i;p=m}}while(0);m=o-1|0;o=p+1|0;i=d[p]|0|k;do{if((m|0)==0){if((aP[c[g+12>>2]&31](a)|0)==0){l=0;return l|0}else{q=c[j>>2]|0;r=c[h>>2]|0;break}}else{q=m;r=o}}while(0);o=q-1|0;q=r+1|0;c[a+212>>2]=d[r]|0;do{if((o|0)==0){if((aP[c[g+12>>2]&31](a)|0)==0){l=0;return l|0}else{s=c[j>>2]|0;t=c[h>>2]|0;break}}else{s=o;t=q}}while(0);q=s-1|0;s=t+1|0;o=(d[t]|0)<<8;t=a+32|0;c[t>>2]=o;do{if((q|0)==0){if((aP[c[g+12>>2]&31](a)|0)==0){l=0;return l|0}else{u=c[j>>2]|0;v=c[h>>2]|0;w=c[t>>2]|0;break}}else{u=q;v=s;w=o}}while(0);o=u-1|0;u=v+1|0;c[t>>2]=w+(d[v]|0);do{if((o|0)==0){if((aP[c[g+12>>2]&31](a)|0)==0){l=0;return l|0}else{x=c[j>>2]|0;y=c[h>>2]|0;break}}else{x=o;y=u}}while(0);u=x-1|0;x=y+1|0;o=(d[y]|0)<<8;y=a+28|0;c[y>>2]=o;do{if((u|0)==0){if((aP[c[g+12>>2]&31](a)|0)==0){l=0;return l|0}else{z=c[j>>2]|0;A=c[h>>2]|0;B=c[y>>2]|0;break}}else{z=u;A=x;B=o}}while(0);o=z-1|0;z=A+1|0;c[y>>2]=B+(d[A]|0);do{if((o|0)==0){if((aP[c[g+12>>2]&31](a)|0)==0){l=0;return l|0}else{C=c[j>>2]|0;D=c[h>>2]|0;break}}else{C=o;D=z}}while(0);z=a+36|0;c[z>>2]=d[D]|0;o=i-8|0;i=a|0;A=c[i>>2]|0;c[A+24>>2]=c[a+436>>2];c[A+28>>2]=c[y>>2];c[A+32>>2]=c[t>>2];c[A+36>>2]=c[z>>2];c[(c[i>>2]|0)+20>>2]=102;A=a;aM[c[(c[i>>2]|0)+4>>2]&63](A,1);B=a+460|0;if((c[(c[B>>2]|0)+16>>2]|0)!=0){c[(c[i>>2]|0)+20>>2]=60;aL[c[c[i>>2]>>2]&127](A)}do{if((c[t>>2]|0)==0){E=1972}else{if((c[y>>2]|0)==0){E=1972;break}x=c[z>>2]|0;if((x|0)<1){E=1972}else{F=x}}}while(0);if((E|0)==1972){c[(c[i>>2]|0)+20>>2]=33;aL[c[c[i>>2]>>2]&127](A);F=c[z>>2]|0}if((o|0)!=(F*3|0|0)){c[(c[i>>2]|0)+20>>2]=12;aL[c[c[i>>2]>>2]&127](A)}F=a+216|0;o=c[F>>2]|0;if((o|0)==0){y=aO[c[c[a+4>>2]>>2]&15](A,1,(c[z>>2]|0)*88|0)|0;c[F>>2]=y;G=y}else{G=o}o=C-1|0;C=D+1|0;L2715:do{if((c[z>>2]|0)>0){D=g+12|0;y=G;F=0;t=o;x=C;while(1){c[y+4>>2]=F;if((t|0)==0){if((aP[c[D>>2]&31](a)|0)==0){l=0;E=1996;break}H=c[j>>2]|0;I=c[h>>2]|0}else{H=t;I=x}u=H-1|0;v=I+1|0;w=y|0;c[w>>2]=d[I]|0;if((u|0)==0){if((aP[c[D>>2]&31](a)|0)==0){l=0;E=1993;break}J=c[j>>2]|0;K=c[h>>2]|0}else{J=u;K=v}v=J-1|0;u=d[K]|0;s=y+8|0;c[s>>2]=u>>>4;q=y+12|0;c[q>>2]=u&15;if((v|0)==0){if((aP[c[D>>2]&31](a)|0)==0){l=0;E=1997;break}L=c[j>>2]|0;M=c[h>>2]|0}else{L=v;M=K+1|0}v=y+16|0;c[v>>2]=d[M]|0;u=c[i>>2]|0;c[u+24>>2]=c[w>>2];c[u+28>>2]=c[s>>2];c[u+32>>2]=c[q>>2];c[u+36>>2]=c[v>>2];c[(c[i>>2]|0)+20>>2]=103;aM[c[(c[i>>2]|0)+4>>2]&63](A,1);v=F+1|0;u=L-1|0;q=M+1|0;if((v|0)<(c[z>>2]|0)){y=y+88|0;F=v;t=u;x=q}else{N=u;O=q;break L2715}}if((E|0)==1993){return l|0}else if((E|0)==1996){return l|0}else if((E|0)==1997){return l|0}}else{N=o;O=C}}while(0);c[(c[B>>2]|0)+16>>2]=1;c[h>>2]=O;c[j>>2]=N;l=1;return l|0}function co(a){a=a|0;var b=0,d=0;if((c[a+76>>2]|0)!=0){return 0}if((c[a+304>>2]|0)!=0){return 0}if((c[a+40>>2]|0)!=3){return 0}if((c[a+36>>2]|0)!=3){return 0}if((c[a+44>>2]|0)!=2){return 0}if((c[a+120>>2]|0)!=3){return 0}b=c[a+216>>2]|0;if((c[b+8>>2]|0)!=2){return 0}if((c[b+96>>2]|0)!=1){return 0}if((c[b+184>>2]|0)!=1){return 0}if((c[b+12>>2]|0)>2){return 0}if((c[b+100>>2]|0)!=1){return 0}if((c[b+188>>2]|0)!=1){return 0}d=c[b+36>>2]|0;if((d|0)!=(c[a+320>>2]|0)){return 0}if((c[b+124>>2]|0)!=(d|0)){return 0}if((c[b+212>>2]|0)!=(d|0)){return 0}d=c[b+40>>2]|0;if((d|0)!=(c[a+324>>2]|0)){return 0}if((c[b+128>>2]|0)==(d|0)){return(c[b+216>>2]|0)==(d|0)|0}else{return 0}return 0}function cp(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=c[a+440>>2]|0;d=b+8|0;do{if((c[d>>2]|0)==0){e=a+84|0;L2794:do{if((c[e>>2]|0)!=0){if((c[a+136>>2]|0)!=0){break}do{if((c[a+92>>2]|0)!=0){if((c[a+108>>2]|0)==0){break}c[a+480>>2]=c[b+24>>2];c[d>>2]=1;break L2794}}while(0);if((c[a+100>>2]|0)==0){f=a|0;c[(c[f>>2]|0)+20>>2]=47;aL[c[c[f>>2]>>2]&127](a);break}else{c[a+480>>2]=c[b+20>>2];break}}}while(0);aL[c[c[a+468>>2]>>2]&127](a);aL[c[(c[a+448>>2]|0)+8>>2]&127](a);if((c[a+68>>2]|0)!=0){break}if((c[b+16>>2]|0)==0){aL[c[c[a+476>>2]>>2]&127](a)}aL[c[c[a+472>>2]>>2]&127](a);if((c[e>>2]|0)!=0){aM[c[c[a+480>>2]>>2]&63](a,c[d>>2]|0)}aM[c[c[a+452>>2]>>2]&63](a,(c[d>>2]|0)!=0?3:0);aM[c[c[a+444>>2]>>2]&63](a,0)}else{c[d>>2]=0;aM[c[c[a+480>>2]>>2]&63](a,0);aM[c[c[a+452>>2]>>2]&63](a,2);aM[c[c[a+444>>2]>>2]&63](a,2)}}while(0);f=a+8|0;g=c[f>>2]|0;if((g|0)==0){return}h=b+12|0;c[g+12>>2]=c[h>>2];c[(c[f>>2]|0)+16>>2]=((c[d>>2]|0)!=0?2:1)+(c[h>>2]|0);if((c[a+64>>2]|0)==0){return}if((c[(c[a+456>>2]|0)+20>>2]|0)!=0){return}h=(c[f>>2]|0)+16|0;c[h>>2]=(c[h>>2]|0)+((c[a+108>>2]|0)!=0?2:1);return}function cq(a){a=a|0;var b=0;b=c[a+440>>2]|0;if((c[a+84>>2]|0)!=0){aL[c[(c[a+480>>2]|0)+8>>2]&127](a)}a=b+12|0;c[a>>2]=(c[a>>2]|0)+1;return}function cr(a){a=a|0;var b=0;b=c[a+472>>2]|0;c[b+36>>2]=0;c[b+44>>2]=c[a+116>>2];return}function cs(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;e=i;i=i+8|0;j=e|0;k=c[a+472>>2]|0;l=k+36|0;m=l;if((c[m>>2]|0)==0){n=k+44|0;o=c[n>>2]|0;p=o>>>0<2?o:2;o=c[g>>2]|0;q=h-o|0;h=p>>>0>q>>>0?q:p;p=j|0;c[p>>2]=c[f+(o<<2)>>2];if(h>>>0>1){c[j+4>>2]=c[f+(o+1<<2)>>2]}else{c[j+4>>2]=c[k+32>>2];c[l>>2]=1}aT[c[k+12>>2]&63](a,b,c[d>>2]|0,p);r=h;s=n}else{n=c[k+40>>2]|0;h=c[k+32>>2]|0;p=c[f+(c[g>>2]<<2)>>2]|0;fw(p|0,h|0,n)|0;c[l>>2]=0;r=1;s=k+44|0}c[g>>2]=(c[g>>2]|0)+r;c[s>>2]=(c[s>>2]|0)-r;if((c[m>>2]|0)!=0){i=e;return}c[d>>2]=(c[d>>2]|0)+1;i=e;return}function ct(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,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;h=c[b+472>>2]|0;i=c[b+332>>2]|0;j=c[h+16>>2]|0;k=c[h+20>>2]|0;l=c[h+24>>2]|0;m=c[h+28>>2]|0;h=f<<1;n=c[e>>2]|0;o=c[n+(h<<2)>>2]|0;p=c[n+((h|1)<<2)>>2]|0;h=c[(c[e+4>>2]|0)+(f<<2)>>2]|0;n=c[(c[e+8>>2]|0)+(f<<2)>>2]|0;f=c[g>>2]|0;e=c[g+4>>2]|0;g=b+112|0;b=c[g>>2]|0;q=b>>>1;if((q|0)==0){r=f;s=e;t=o;u=p;v=h;w=n;x=b}else{b=q*6|0;y=q<<1;z=f+b|0;A=n+q|0;B=f;f=e;C=o;D=p;E=h;F=n;n=q;while(1){G=d[E]|0;H=d[F]|0;I=c[j+(H<<2)>>2]|0;J=(c[l+(H<<2)>>2]|0)+(c[m+(G<<2)>>2]|0)>>16;H=c[k+(G<<2)>>2]|0;G=d[C]|0;a[B]=a[i+(G+I)|0]|0;a[B+1|0]=a[i+(G+J)|0]|0;a[B+2|0]=a[i+(G+H)|0]|0;G=d[C+1|0]|0;a[B+3|0]=a[i+(G+I)|0]|0;a[B+4|0]=a[i+(G+J)|0]|0;a[B+5|0]=a[i+(G+H)|0]|0;G=d[D]|0;a[f]=a[i+(G+I)|0]|0;a[f+1|0]=a[i+(G+J)|0]|0;a[f+2|0]=a[i+(G+H)|0]|0;G=d[D+1|0]|0;a[f+3|0]=a[i+(G+I)|0]|0;a[f+4|0]=a[i+(G+J)|0]|0;a[f+5|0]=a[i+(G+H)|0]|0;H=n-1|0;if((H|0)==0){break}else{B=B+6|0;f=f+6|0;C=C+2|0;D=D+2|0;E=E+1|0;F=F+1|0;n=H}}r=z;s=e+b|0;t=o+y|0;u=p+y|0;v=h+q|0;w=A;x=c[g>>2]|0}if((x&1|0)==0){return}x=d[v]|0;v=d[w]|0;w=c[j+(v<<2)>>2]|0;j=(c[l+(v<<2)>>2]|0)+(c[m+(x<<2)>>2]|0)>>16;m=c[k+(x<<2)>>2]|0;x=d[t]|0;a[r]=a[i+(x+w)|0]|0;a[r+1|0]=a[i+(x+j)|0]|0;a[r+2|0]=a[i+(x+m)|0]|0;x=d[u]|0;a[s]=a[i+(x+w)|0]|0;a[s+1|0]=a[i+(x+j)|0]|0;a[s+2|0]=a[i+(x+m)|0]|0;return}function cu(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;aT[c[(c[a+472>>2]|0)+12>>2]&63](a,b,c[d>>2]|0,f+(c[g>>2]<<2)|0);c[g>>2]=(c[g>>2]|0)+1;c[d>>2]=(c[d>>2]|0)+1;return}function cv(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,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;h=c[b+472>>2]|0;i=c[b+332>>2]|0;j=c[h+16>>2]|0;k=c[h+20>>2]|0;l=c[h+24>>2]|0;m=c[h+28>>2]|0;h=c[(c[e>>2]|0)+(f<<2)>>2]|0;n=c[(c[e+4>>2]|0)+(f<<2)>>2]|0;o=c[(c[e+8>>2]|0)+(f<<2)>>2]|0;f=c[g>>2]|0;g=b+112|0;b=c[g>>2]|0;e=b>>>1;if((e|0)==0){p=f;q=h;r=n;s=o;t=b}else{b=e*6|0;u=e<<1;v=o+e|0;w=f;x=h;y=n;z=o;o=e;while(1){A=d[y]|0;B=d[z]|0;C=c[j+(B<<2)>>2]|0;D=(c[l+(B<<2)>>2]|0)+(c[m+(A<<2)>>2]|0)>>16;B=c[k+(A<<2)>>2]|0;A=d[x]|0;a[w]=a[i+(A+C)|0]|0;a[w+1|0]=a[i+(A+D)|0]|0;a[w+2|0]=a[i+(A+B)|0]|0;A=d[x+1|0]|0;a[w+3|0]=a[i+(A+C)|0]|0;a[w+4|0]=a[i+(A+D)|0]|0;a[w+5|0]=a[i+(A+B)|0]|0;B=o-1|0;if((B|0)==0){break}else{w=w+6|0;x=x+2|0;y=y+1|0;z=z+1|0;o=B}}p=f+b|0;q=h+u|0;r=n+e|0;s=v;t=c[g>>2]|0}if((t&1|0)==0){return}t=d[r]|0;r=d[s]|0;s=(c[l+(r<<2)>>2]|0)+(c[m+(t<<2)>>2]|0)>>16;m=c[k+(t<<2)>>2]|0;t=d[q]|0;a[p]=a[i+(t+(c[j+(r<<2)>>2]|0))|0]|0;a[p+1|0]=a[i+(t+s)|0]|0;a[p+2|0]=a[i+(t+m)|0]|0;return}function cw(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+452>>2]|0;do{if((b|0)==0){if((c[a+84>>2]|0)==0){c[d+4>>2]=c[(c[a+472>>2]|0)+4>>2];break}c[d+4>>2]=24;e=d+12|0;if((c[e>>2]|0)!=0){break}c[e>>2]=aV[c[(c[a+4>>2]|0)+28>>2]&15](a,c[d+8>>2]|0,0,c[d+16>>2]|0,1)|0}else if((b|0)==3){if((c[d+8>>2]|0)==0){e=a|0;c[(c[e>>2]|0)+20>>2]=3;aL[c[c[e>>2]>>2]&127](a)}c[d+4>>2]=10}else if((b|0)==2){if((c[d+8>>2]|0)==0){e=a|0;c[(c[e>>2]|0)+20>>2]=3;aL[c[c[e>>2]>>2]&127](a)}c[d+4>>2]=28}else{e=a|0;c[(c[e>>2]|0)+20>>2]=3;aL[c[c[e>>2]>>2]&127](a)}}while(0);c[d+24>>2]=0;c[d+20>>2]=0;return}function _cx(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;j=i;i=i+8|0;k=j|0;l=c[a+452>>2]|0;m=h-(c[g>>2]|0)|0;h=c[l+16>>2]|0;c[k>>2]=0;n=l+12|0;aW[c[(c[a+472>>2]|0)+4>>2]&31](a,b,d,e,c[n>>2]|0,k,m>>>0>h>>>0?h:m);aT[c[(c[a+480>>2]|0)+4>>2]&63](a,c[n>>2]|0,f+(c[g>>2]<<2)|0,c[k>>2]|0);c[g>>2]=(c[g>>2]|0)+(c[k>>2]|0);i=j;return}function cy(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=c[a+452>>2]|0;f=h+24|0;i=f;j=c[i>>2]|0;if((j|0)==0){k=h+16|0;l=aV[c[(c[a+4>>2]|0)+28>>2]&15](a,c[h+8>>2]|0,c[h+20>>2]|0,c[k>>2]|0,1)|0;c[h+12>>2]=l;m=c[i>>2]|0;n=l;o=k}else{m=j;n=c[h+12>>2]|0;o=h+16|0}aW[c[(c[a+472>>2]|0)+4>>2]&31](a,b,d,e,n,i,c[o>>2]|0);n=c[i>>2]|0;if(n>>>0>m>>>0){e=n-m|0;aT[c[(c[a+480>>2]|0)+4>>2]&63](a,(c[h+12>>2]|0)+(m<<2)|0,0,e);c[g>>2]=(c[g>>2]|0)+e;p=c[i>>2]|0}else{p=n}n=c[o>>2]|0;if(p>>>0<n>>>0){return}p=h+20|0;c[p>>2]=(c[p>>2]|0)+n;c[f>>2]=0;return}function cz(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=c[a+452>>2]|0;d=e+24|0;b=d;i=c[b>>2]|0;if((i|0)==0){j=e+20|0;k=j;l=e+16|0;m=aV[c[(c[a+4>>2]|0)+28>>2]&15](a,c[e+8>>2]|0,c[k>>2]|0,c[l>>2]|0,0)|0;c[e+12>>2]=m;n=c[b>>2]|0;o=m;p=l;q=j;r=k}else{k=e+20|0;n=i;o=c[e+12>>2]|0;p=e+16|0;q=k;r=k}k=(c[p>>2]|0)-n|0;e=c[g>>2]|0;i=h-e|0;h=k>>>0>i>>>0?i:k;k=(c[a+116>>2]|0)-(c[r>>2]|0)|0;i=h>>>0>k>>>0?k:h;aT[c[(c[a+480>>2]|0)+4>>2]&63](a,o+(n<<2)|0,f+(e<<2)|0,i);c[g>>2]=(c[g>>2]|0)+i;g=(c[b>>2]|0)+i|0;i=d|0;c[i>>2]=g;d=c[p>>2]|0;if(g>>>0<d>>>0){return}c[q>>2]=(c[r>>2]|0)+d;c[i>>2]=0;return}function cA(a){a=a|0;var b=0;b=c[a+472>>2]|0;c[b+92>>2]=c[a+316>>2];c[b+96>>2]=c[a+116>>2];return}function cB(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;e=c[a+472>>2]|0;i=e+92|0;j=c[i>>2]|0;k=a+316|0;l=c[k>>2]|0;if((j|0)<(l|0)){m=l;n=j}else{j=a+36|0;if((c[j>>2]|0)>0){l=e+52|0;o=e+100|0;p=e+12|0;q=0;r=c[a+216>>2]|0;while(1){s=c[l+(q<<2)>>2]|0;t=c[b+(q<<2)>>2]|0;u=t+((Z(c[o+(q<<2)>>2]|0,c[d>>2]|0)|0)<<2)|0;aT[s&63](a,r,u,p+(q<<2)|0);u=q+1|0;if((u|0)<(c[j>>2]|0)){q=u;r=r+88|0}else{break}}}c[i>>2]=0;m=c[k>>2]|0;n=0}r=m-n|0;m=e+96|0;q=m;j=c[q>>2]|0;p=r>>>0>j>>>0?j:r;r=c[g>>2]|0;j=h-r|0;h=p>>>0>j>>>0?j:p;aK[c[(c[a+476>>2]|0)+4>>2]&127](a,e+12|0,n,f+(r<<2)|0,h);c[g>>2]=(c[g>>2]|0)+h;c[m>>2]=(c[q>>2]|0)-h;q=(c[i>>2]|0)+h|0;c[i>>2]=q;if((q|0)<(c[k>>2]|0)){return}c[d>>2]=(c[d>>2]|0)+1;return}function cC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[e>>2]=0;return}function cD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[e>>2]=d;return}function cE(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=c[f>>2]|0;f=b+316|0;g=c[f>>2]|0;if((g|0)<=0){return}h=b+112|0;b=0;i=g;while(1){g=c[d+(b<<2)>>2]|0;j=c[h>>2]|0;k=g+j|0;if((j|0)>0){j=g;g=c[e+(b<<2)>>2]|0;while(1){l=a[g]|0;a[j]=l;m=j+2|0;a[j+1|0]=l;if(m>>>0<k>>>0){j=m;g=g+1|0}else{break}}n=c[f>>2]|0}else{n=i}g=b+1|0;if((g|0)<(n|0)){b=g;i=n}else{break}}return}function cF(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=c[f>>2]|0;f=b+316|0;if((c[f>>2]|0)<=0){return}g=b+112|0;b=0;h=0;while(1){i=d+(h<<2)|0;j=c[i>>2]|0;k=c[g>>2]|0;l=j+k|0;if((k|0)>0){m=j;n=c[e+(b<<2)>>2]|0;while(1){o=a[n]|0;a[m]=o;p=m+2|0;a[m+1|0]=o;if(p>>>0<l>>>0){m=p;n=n+1|0}else{break}}q=c[g>>2]|0;r=c[i>>2]|0}else{q=k;r=j}n=c[d+((h|1)<<2)>>2]|0;fw(n|0,r|0,q)|0;n=h+2|0;if((n|0)<(c[f>>2]|0)){b=b+1|0;h=n}else{break}}return}function cG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;g=c[b+472>>2]|0;h=c[f>>2]|0;f=c[d+4>>2]|0;d=a[g+140+f|0]|0;i=d&255;j=a[g+150+f|0]|0;f=j&255;g=b+316|0;if((c[g>>2]|0)<=0){return}k=b+112|0;b=(j&255)>1;j=f-1|0;l=(j|0)>0;m=d<<24>>24==0;d=-i|0;n=((d|0)>-1?d:-1)+i+1|0;i=0;d=0;while(1){o=h+(d<<2)|0;p=c[o>>2]|0;q=c[k>>2]|0;r=p+q|0;if((q|0)>0){q=p;p=c[e+(i<<2)>>2]|0;while(1){if(m){s=q}else{fv(q|0,a[p]|0,n|0);s=q+n|0}if(s>>>0<r>>>0){q=s;p=p+1|0}else{break}}}L2959:do{if(b){p=c[k>>2]|0;if(!l){break}q=h+(d+1<<2)|0;r=o;t=j;while(1){u=c[r>>2]|0;v=c[q>>2]|0;fw(v|0,u|0,p)|0;u=t-1|0;if((u|0)<=0){break L2959}q=q+4|0;r=r+4|0;t=u}}}while(0);o=d+f|0;if((o|0)>=(c[g>>2]|0)){break}i=i+1|0;d=o}return}function cH(a){a=a|0;var b=0,d=0;aL[c[(c[a>>2]|0)+8>>2]&127](a);b=a+4|0;d=c[b>>2]|0;if((d|0)!=0){aL[c[d+40>>2]&127](a)}c[b>>2]=0;c[a+20>>2]=0;aB(1)}function cI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=c[a>>2]|0;if((b|0)>=0){if((c[d+104>>2]|0)<(b|0)){return}aL[c[d+8>>2]&127](a);return}b=d+108|0;e=c[b>>2]|0;if((e|0)==0){f=2187}else{if((c[d+104>>2]|0)>2){f=2187}else{g=e}}if((f|0)==2187){aL[c[d+8>>2]&127](a);g=c[b>>2]|0}c[b>>2]=g+1;return}function cJ(a){a=a|0;var b=0;b=i;i=i+200|0;aM[c[(c[a>>2]|0)+12>>2]&63](a,b|0);i=b;return}function cK(b,d){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;e=i;f=c[b>>2]|0;b=c[f+20>>2]|0;do{if((b|0)>0){if((b|0)>(c[f+116>>2]|0)){g=2199;break}h=(c[f+112>>2]|0)+(b<<2)|0;g=2203}else{g=2199}}while(0);do{if((g|0)==2199){j=c[f+120>>2]|0;if((j|0)==0){g=2204;break}k=c[f+124>>2]|0;if((b|0)<(k|0)){g=2204;break}if((b|0)>(c[f+128>>2]|0)){g=2204;break}h=j+(b-k<<2)|0;g=2203}}while(0);if((g|0)==2203){k=c[h>>2]|0;if((k|0)==0){g=2204}else{l=k}}if((g|0)==2204){c[f+24>>2]=b;l=c[c[f+112>>2]>>2]|0}b=l;while(1){m=b+1|0;k=a[b]|0;if((k<<24>>24|0)==37){g=2208;break}else if((k<<24>>24|0)==0){g=2207;break}else{b=m}}do{if((g|0)==2208){b=f+24|0;if((a[m]|0)!=115){n=b;break}aC(d|0,l|0,(o=i,i=i+8|0,c[o>>2]=b,o)|0)|0;i=o;i=e;return}else if((g|0)==2207){n=f+24|0}}while(0);g=c[f+28>>2]|0;m=c[f+32>>2]|0;b=c[f+36>>2]|0;k=c[f+40>>2]|0;h=c[f+44>>2]|0;j=c[f+48>>2]|0;p=c[f+52>>2]|0;aC(d|0,l|0,(o=i,i=i+64|0,c[o>>2]=c[n>>2],c[o+8>>2]=g,c[o+16>>2]=m,c[o+24>>2]=b,c[o+32>>2]=k,c[o+40>>2]=h,c[o+48>>2]=j,c[o+56>>2]=p,o)|0)|0;i=o;i=e;return}function cL(a){a=a|0;var b=0;b=a|0;c[(c[b>>2]|0)+108>>2]=0;c[(c[b>>2]|0)+20>>2]=0;return}function cM(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+16|0;e=d|0;f=d+8|0;g=b+4|0;c[g>>2]=0;c[e>>2]=0;h=ft(84)|0;if((h|0)==0){j=b|0;c[(c[j>>2]|0)+20>>2]=56;c[(c[j>>2]|0)+24>>2]=0;aL[c[c[j>>2]>>2]&127](b)}c[h>>2]=10;c[h+4>>2]=12;c[h+8>>2]=12;c[h+12>>2]=10;c[h+16>>2]=10;c[h+20>>2]=12;c[h+24>>2]=28;c[h+28>>2]=12;c[h+32>>2]=10;c[h+36>>2]=14;c[h+40>>2]=12;c[h+48>>2]=1e9;b=h+44|0;c[b>>2]=c[e>>2];fv(h+52|0,0,24);c[h+76>>2]=84;c[g>>2]=h;h=aE(8384)|0;if((h|0)==0){i=d;return}a[f]=120;g=as(h|0,9064,(h=i,i=i+16|0,c[h>>2]=e,c[h+8>>2]=f,h)|0)|0;i=h;if((g|0)<=0){i=d;return}g=a[f]|0;if((g<<24>>24|0)==109|(g<<24>>24|0)==77){g=(c[e>>2]|0)*1e3|0;c[e>>2]=g;k=g}else{k=c[e>>2]|0}c[b>>2]=k*1e3|0;i=d;return}function cN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=c[a+4>>2]|0;if(d>>>0>999999984){f=a|0;c[(c[f>>2]|0)+20>>2]=56;c[(c[f>>2]|0)+24>>2]=1;aL[c[c[f>>2]>>2]&127](a)}f=d&7;if((f|0)==0){g=d}else{g=d+8-f|0}if(b>>>0>1){f=a|0;c[(c[f>>2]|0)+20>>2]=15;c[(c[f>>2]|0)+24>>2]=b;aL[c[c[f>>2]>>2]&127](a)}f=e+52+(b<<2)|0;d=c[f>>2]|0;L10:do{if((d|0)==0){h=0;i=10}else{j=d;while(1){if((c[j+8>>2]|0)>>>0>=g>>>0){k=j;break L10}l=c[j>>2]|0;if((l|0)==0){h=j;i=10;break}else{j=l}}}}while(0);do{if((i|0)==10){d=g+16|0;j=(h|0)==0;l=c[(j?4256:4264)+(b<<2)>>2]|0;m=999999984-g|0;n=l>>>0>m>>>0?m:l;l=d+n|0;m=ft(l)|0;if((m|0)==0){o=a|0;p=n;while(1){q=p>>>1;if(p>>>0<100){c[(c[o>>2]|0)+20>>2]=56;c[(c[o>>2]|0)+24>>2]=2;aL[c[c[o>>2]>>2]&127](a)}r=d+q|0;s=ft(r)|0;if((s|0)==0){p=q}else{t=q;u=r;v=s;break}}}else{t=n;u=l;v=m}p=v;d=e+76|0;c[d>>2]=(c[d>>2]|0)+u;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=t+g;if(j){c[f>>2]=p;k=p;break}else{c[h>>2]=p;k=p;break}}}while(0);h=k+4|0;f=c[h>>2]|0;c[h>>2]=f+g;h=k+8|0;c[h>>2]=(c[h>>2]|0)-g;return k+16+f|0}function cO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[a+4>>2]|0;if(d>>>0>999999984){f=a|0;c[(c[f>>2]|0)+20>>2]=56;c[(c[f>>2]|0)+24>>2]=3;aL[c[c[f>>2]>>2]&127](a)}f=d&7;if((f|0)==0){g=d}else{g=d+8-f|0}if(b>>>0>1){f=a|0;c[(c[f>>2]|0)+20>>2]=15;c[(c[f>>2]|0)+24>>2]=b;aL[c[c[f>>2]>>2]&127](a)}f=g+16|0;d=ft(f)|0;if((d|0)==0){h=a|0;c[(c[h>>2]|0)+20>>2]=56;c[(c[h>>2]|0)+24>>2]=4;aL[c[c[h>>2]>>2]&127](a)}a=e+76|0;c[a>>2]=(c[a>>2]|0)+f;f=e+60+(b<<2)|0;c[d>>2]=c[f>>2];c[d+4>>2]=g;c[d+8>>2]=0;c[f>>2]=d;return d+16|0}function cP(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=c[a+4>>2]|0;g=999999984/(d>>>0)|0;if((g|0)==0){h=a|0;c[(c[h>>2]|0)+20>>2]=72;aL[c[c[h>>2]>>2]&127](a)}h=(g|0)<(e|0)?g:e;c[f+80>>2]=h;f=cN(a,b,e<<2)|0;if((e|0)==0){return f|0}g=~e;i=h;h=0;while(1){j=e-h|0;k=i>>>0<j>>>0?i:j;j=cO(a,b,Z(k,d)|0)|0;if((k|0)==0){l=h}else{m=~i;n=h+g|0;o=n>>>0<m>>>0?m:n;n=h;m=k;p=j;while(1){c[f+(n<<2)>>2]=p;j=m-1|0;if((j|0)==0){break}else{n=n+1|0;m=j;p=p+d|0}}l=h-1-o|0}if(l>>>0<e>>>0){i=k;h=l}else{break}}return f|0}function cQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=c[a+4>>2]|0;g=d<<7;h=999999984/(g>>>0)|0;if((h|0)==0){i=a|0;c[(c[i>>2]|0)+20>>2]=72;aL[c[c[i>>2]>>2]&127](a)}i=(h|0)<(e|0)?h:e;c[f+80>>2]=i;f=cN(a,b,e<<2)|0;if((e|0)==0){return f|0}h=~e;j=i;i=0;while(1){k=e-i|0;l=j>>>0<k>>>0?j:k;k=cO(a,b,Z(g,l)|0)|0;if((l|0)==0){m=i}else{n=~j;o=i+h|0;p=o>>>0<n>>>0?n:o;o=i;n=l;q=k;while(1){c[f+(o<<2)>>2]=q;k=n-1|0;if((k|0)==0){break}else{o=o+1|0;n=k;q=q+(d<<7)|0}}m=i-1-p|0}if(m>>>0<e>>>0){j=l;i=m}else{break}}return f|0}function cR(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=c[a+4>>2]|0;if((b|0)!=1){i=a|0;c[(c[i>>2]|0)+20>>2]=15;c[(c[i>>2]|0)+24>>2]=b;aL[c[c[i>>2]>>2]&127](a)}i=cN(a,b,128)|0;c[i>>2]=0;c[i+4>>2]=f;c[i+8>>2]=e;c[i+12>>2]=g;c[i+32>>2]=d;c[i+40>>2]=0;d=h+68|0;c[i+44>>2]=c[d>>2];c[d>>2]=i;return i|0}function cS(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=c[a+4>>2]|0;if((b|0)!=1){i=a|0;c[(c[i>>2]|0)+20>>2]=15;c[(c[i>>2]|0)+24>>2]=b;aL[c[c[i>>2]>>2]&127](a)}i=cN(a,b,128)|0;c[i>>2]=0;c[i+4>>2]=f;c[i+8>>2]=e;c[i+12>>2]=g;c[i+32>>2]=d;c[i+40>>2]=0;d=h+72|0;c[i+44>>2]=c[d>>2];c[d>>2]=i;return i|0}function cT(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;b=c[a+4>>2]|0;d=c[b+68>>2]|0;e=(d|0)==0;if(e){f=0}else{g=0;h=d;while(1){if((c[h>>2]|0)==0){i=(Z(c[h+8>>2]|0,c[h+12>>2]|0)|0)+g|0}else{i=g}j=c[h+44>>2]|0;if((j|0)==0){f=i;break}else{g=i;h=j}}}h=b+72|0;i=c[h>>2]|0;if((i|0)==0){k=f}else{g=f;f=i;while(1){if((c[f>>2]|0)==0){l=(Z(c[f+12>>2]<<7,c[f+8>>2]|0)|0)+g|0}else{l=g}j=c[f+44>>2]|0;if((j|0)==0){k=l;break}else{g=l;f=j}}}if((k|0)<1){return}if(e){m=i}else{i=a;e=a;k=b+80|0;f=d;do{d=f|0;if((c[d>>2]|0)==0){l=c[f+4>>2]|0;g=c[f+12>>2]|0;if(((((l-1|0)>>>0)/(g>>>0)|0)+1|0)>1e9){j=f+16|0;c[j>>2]=Z(g,1e9)|0;c[(c[e>>2]|0)+20>>2]=51;aL[c[c[e>>2]>>2]&127](i);c[f+40>>2]=1;n=c[j>>2]|0}else{c[f+16>>2]=l;n=l}c[d>>2]=cP(a,1,c[f+8>>2]|0,n)|0;c[f+20>>2]=c[k>>2];c[f+24>>2]=0;c[f+28>>2]=0;c[f+36>>2]=0}f=c[f+44>>2]|0;}while((f|0)!=0);m=c[h>>2]|0}if((m|0)==0){return}h=a;f=a;k=b+80|0;b=m;do{m=b|0;if((c[m>>2]|0)==0){n=c[b+4>>2]|0;i=c[b+12>>2]|0;if(((((n-1|0)>>>0)/(i>>>0)|0)+1|0)>1e9){e=b+16|0;c[e>>2]=Z(i,1e9)|0;c[(c[f>>2]|0)+20>>2]=51;aL[c[c[f>>2]>>2]&127](h);c[b+40>>2]=1;o=c[e>>2]|0}else{c[b+16>>2]=n;o=n}c[m>>2]=cQ(a,1,c[b+8>>2]|0,o)|0;c[b+20>>2]=c[k>>2];c[b+24>>2]=0;c[b+28>>2]=0;c[b+36>>2]=0}b=c[b+44>>2]|0;}while((b|0)!=0);return}function cU(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,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;g=e+d|0;h=b+4|0;do{if(g>>>0>(c[h>>2]|0)>>>0){i=93}else{if((c[b+12>>2]|0)>>>0<e>>>0){i=93;break}if((c[b>>2]|0)==0){i=93}}}while(0);if((i|0)==93){e=a|0;c[(c[e>>2]|0)+20>>2]=23;aL[c[c[e>>2]>>2]&127](a)}e=b+24|0;j=c[e>>2]|0;if(j>>>0>d>>>0){i=96}else{if(g>>>0>((c[b+16>>2]|0)+j|0)>>>0){i=96}}L136:do{if((i|0)==96){if((c[b+40>>2]|0)==0){j=a|0;c[(c[j>>2]|0)+20>>2]=71;aL[c[c[j>>2]>>2]&127](a)}j=b+36|0;if((c[j>>2]|0)==0){k=c[b+16>>2]|0}else{l=c[b+8>>2]|0;m=b+20|0;n=b+16|0;o=c[n>>2]|0;L143:do{if((o|0)>0){p=c[e>>2]|0;q=b+28|0;r=b+48|0;s=b|0;t=b+52|0;u=c[m>>2]|0;v=(u|0)<(o|0)?u:o;u=(c[q>>2]|0)-p|0;w=(v|0)<(u|0)?v:u;u=(c[h>>2]|0)-p|0;v=(w|0)<(u|0)?w:u;if((v|0)<1){x=o;break}u=0;w=Z(p,l)|0;p=v;while(1){v=Z(p,l)|0;aK[c[t>>2]&127](a,r,c[(c[s>>2]|0)+(u<<2)>>2]|0,w,v);y=c[m>>2]|0;z=y+u|0;A=c[n>>2]|0;if((z|0)>=(A|0)){x=A;break L143}B=A-z|0;C=(y|0)<(B|0)?y:B;B=z+(c[e>>2]|0)|0;y=(c[q>>2]|0)-B|0;D=(C|0)<(y|0)?C:y;y=(c[h>>2]|0)-B|0;B=(D|0)<(y|0)?D:y;if((B|0)<1){x=A;break L143}u=z;w=v+w|0;p=B}}else{x=o}}while(0);c[j>>2]=0;k=x}o=b+16|0;if((c[e>>2]|0)>>>0<d>>>0){E=d}else{n=g-k|0;E=(n|0)<0?0:n}c[e>>2]=E;n=c[b+8>>2]|0;m=b+20|0;if((k|0)<=0){break}l=b+28|0;p=b+48|0;w=p|0;u=b|0;q=c[m>>2]|0;s=(q|0)<(k|0)?q:k;q=(c[l>>2]|0)-E|0;r=(s|0)<(q|0)?s:q;q=(c[h>>2]|0)-E|0;s=(r|0)<(q|0)?r:q;if((s|0)<1){break}q=0;r=Z(n,E)|0;t=s;while(1){s=Z(t,n)|0;aK[c[w>>2]&127](a,p,c[(c[u>>2]|0)+(q<<2)>>2]|0,r,s);B=c[m>>2]|0;v=B+q|0;z=c[o>>2]|0;if((v|0)>=(z|0)){break L136}A=z-v|0;z=(B|0)<(A|0)?B:A;A=v+(c[e>>2]|0)|0;B=(c[l>>2]|0)-A|0;y=(z|0)<(B|0)?z:B;B=(c[h>>2]|0)-A|0;A=(y|0)<(B|0)?y:B;if((A|0)<1){break L136}q=v;r=s+r|0;t=A}}}while(0);h=b+28|0;E=c[h>>2]|0;do{if(E>>>0<g>>>0){do{if(E>>>0<d>>>0){if((f|0)==0){F=d;G=0;break}k=a|0;c[(c[k>>2]|0)+20>>2]=23;aL[c[c[k>>2]>>2]&127](a);H=d;i=119}else{H=E;i=119}}while(0);do{if((i|0)==119){if((f|0)==0){F=H;G=0;break}c[h>>2]=g;F=H;G=1}}while(0);if((c[b+32>>2]|0)==0){if(G){break}k=a|0;c[(c[k>>2]|0)+20>>2]=23;aL[c[c[k>>2]>>2]&127](a);break}k=c[b+8>>2]|0;x=c[e>>2]|0;t=F-x|0;r=g-x|0;if(t>>>0>=r>>>0){break}x=b|0;q=t;do{fv(c[(c[x>>2]|0)+(q<<2)>>2]|0,0,k|0);q=q+1|0;}while(q>>>0<r>>>0)}}while(0);if((f|0)==0){I=b|0;J=c[I>>2]|0;K=c[e>>2]|0;L=d-K|0;M=J+(L<<2)|0;return M|0}c[b+36>>2]=1;I=b|0;J=c[I>>2]|0;K=c[e>>2]|0;L=d-K|0;M=J+(L<<2)|0;return M|0}function cV(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,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;g=e+d|0;h=b+4|0;do{if(g>>>0>(c[h>>2]|0)>>>0){i=135}else{if((c[b+12>>2]|0)>>>0<e>>>0){i=135;break}if((c[b>>2]|0)==0){i=135}}}while(0);if((i|0)==135){e=a|0;c[(c[e>>2]|0)+20>>2]=23;aL[c[c[e>>2]>>2]&127](a)}e=b+24|0;j=c[e>>2]|0;if(j>>>0>d>>>0){i=138}else{if(g>>>0>((c[b+16>>2]|0)+j|0)>>>0){i=138}}L193:do{if((i|0)==138){if((c[b+40>>2]|0)==0){j=a|0;c[(c[j>>2]|0)+20>>2]=71;aL[c[c[j>>2]>>2]&127](a)}j=b+36|0;if((c[j>>2]|0)==0){k=c[b+16>>2]|0}else{l=c[b+8>>2]<<7;m=b+20|0;n=b+16|0;o=c[n>>2]|0;L200:do{if((o|0)>0){p=c[e>>2]|0;q=b+28|0;r=b+48|0;s=b|0;t=b+52|0;u=c[m>>2]|0;v=(u|0)<(o|0)?u:o;u=(c[q>>2]|0)-p|0;w=(v|0)<(u|0)?v:u;u=(c[h>>2]|0)-p|0;v=(w|0)<(u|0)?w:u;if((v|0)<1){x=o;break}u=0;w=Z(p,l)|0;p=v;while(1){v=Z(p,l)|0;aK[c[t>>2]&127](a,r,c[(c[s>>2]|0)+(u<<2)>>2]|0,w,v);y=c[m>>2]|0;z=y+u|0;A=c[n>>2]|0;if((z|0)>=(A|0)){x=A;break L200}B=A-z|0;C=(y|0)<(B|0)?y:B;B=z+(c[e>>2]|0)|0;y=(c[q>>2]|0)-B|0;D=(C|0)<(y|0)?C:y;y=(c[h>>2]|0)-B|0;B=(D|0)<(y|0)?D:y;if((B|0)<1){x=A;break L200}u=z;w=v+w|0;p=B}}else{x=o}}while(0);c[j>>2]=0;k=x}o=b+16|0;if((c[e>>2]|0)>>>0<d>>>0){E=d}else{n=g-k|0;E=(n|0)<0?0:n}c[e>>2]=E;n=c[b+8>>2]<<7;m=b+20|0;if((k|0)<=0){break}l=b+28|0;p=b+48|0;w=p|0;u=b|0;q=c[m>>2]|0;s=(q|0)<(k|0)?q:k;q=(c[l>>2]|0)-E|0;r=(s|0)<(q|0)?s:q;q=(c[h>>2]|0)-E|0;s=(r|0)<(q|0)?r:q;if((s|0)<1){break}q=0;r=Z(n,E)|0;t=s;while(1){s=Z(t,n)|0;aK[c[w>>2]&127](a,p,c[(c[u>>2]|0)+(q<<2)>>2]|0,r,s);B=c[m>>2]|0;v=B+q|0;z=c[o>>2]|0;if((v|0)>=(z|0)){break L193}A=z-v|0;z=(B|0)<(A|0)?B:A;A=v+(c[e>>2]|0)|0;B=(c[l>>2]|0)-A|0;y=(z|0)<(B|0)?z:B;B=(c[h>>2]|0)-A|0;A=(y|0)<(B|0)?y:B;if((A|0)<1){break L193}q=v;r=s+r|0;t=A}}}while(0);h=b+28|0;E=c[h>>2]|0;do{if(E>>>0<g>>>0){do{if(E>>>0<d>>>0){if((f|0)==0){F=d;G=0;break}k=a|0;c[(c[k>>2]|0)+20>>2]=23;aL[c[c[k>>2]>>2]&127](a);H=d;i=161}else{H=E;i=161}}while(0);do{if((i|0)==161){if((f|0)==0){F=H;G=0;break}c[h>>2]=g;F=H;G=1}}while(0);if((c[b+32>>2]|0)==0){if(G){break}k=a|0;c[(c[k>>2]|0)+20>>2]=23;aL[c[c[k>>2]>>2]&127](a);break}k=c[b+8>>2]<<7;x=c[e>>2]|0;t=F-x|0;r=g-x|0;if(t>>>0>=r>>>0){break}x=b|0;q=t;do{fv(c[(c[x>>2]|0)+(q<<2)>>2]|0,0,k|0);q=q+1|0;}while(q>>>0<r>>>0)}}while(0);if((f|0)==0){I=b|0;J=c[I>>2]|0;K=c[e>>2]|0;L=d-K|0;M=J+(L<<2)|0;return M|0}c[b+36>>2]=1;I=b|0;J=c[I>>2]|0;K=c[e>>2]|0;L=d-K|0;M=J+(L<<2)|0;return M|0}function cW(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=c[a+4>>2]|0;do{if(b>>>0>1){e=a|0;c[(c[e>>2]|0)+20>>2]=15;c[(c[e>>2]|0)+24>>2]=b;aL[c[c[e>>2]>>2]&127](a)}else{if((b|0)!=1){break}e=d+68|0;f=c[e>>2]|0;if((f|0)!=0){g=f;do{f=g+40|0;if((c[f>>2]|0)!=0){c[f>>2]=0;aM[c[g+56>>2]&63](a,g+48|0)}g=c[g+44>>2]|0;}while((g|0)!=0)}c[e>>2]=0;g=d+72|0;f=c[g>>2]|0;if((f|0)!=0){h=f;do{f=h+40|0;if((c[f>>2]|0)!=0){c[f>>2]=0;aM[c[h+56>>2]&63](a,h+48|0)}h=c[h+44>>2]|0;}while((h|0)!=0)}c[g>>2]=0}}while(0);a=d+60+(b<<2)|0;h=c[a>>2]|0;c[a>>2]=0;if((h|0)!=0){a=d+76|0;e=a;f=h;while(1){h=c[f>>2]|0;i=c[f+4>>2]|0;j=c[f+8>>2]|0;fu(f);c[a>>2]=-16-i-j+(c[e>>2]|0);if((h|0)==0){break}else{f=h}}}f=d+52+(b<<2)|0;b=c[f>>2]|0;c[f>>2]=0;if((b|0)==0){return}f=d+76|0;d=f;e=b;while(1){b=c[e>>2]|0;a=c[e+4>>2]|0;h=c[e+8>>2]|0;fu(e);c[f>>2]=-16-a-h+(c[d>>2]|0);if((b|0)==0){break}else{e=b}}return}function cX(a){a=a|0;var b=0;cW(a,1);cW(a,0);b=a+4|0;fu(c[b>>2]|0);c[b>>2]=0;return}function cY(a,b){a=a|0;b=b|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;b=a+480|0;e=c[b>>2]|0;c[a+136>>2]=c[e+16>>2];c[a+132>>2]=c[e+20>>2];f=c[a+88>>2]|0;if((f|0)==1){g=a+120|0;c[e+4>>2]=(c[g>>2]|0)==3?34:48;c[e+48>>2]=0;if((c[e+28>>2]|0)==0){c$(a)}if((c[e+52>>2]|0)!=0){return}h=c[b>>2]|0;if((c[g>>2]|0)<=0){return}i=h+32|0;j=h+52|0;h=a+4|0;k=a;l=0;do{m=c[i+(l<<2)>>2]|0;n=0;while(1){if((n|0)>=(l|0)){o=211;break}if((m|0)==(c[i+(n<<2)>>2]|0)){o=210;break}else{n=n+1|0}}if((o|0)==210){o=0;p=c[j+(n<<2)>>2]|0;if((p|0)==0){o=211}else{q=p}}if((o|0)==211){o=0;p=aO[c[c[h>>2]>>2]&15](k,1,1024)|0;r=(m<<9)-512|0;s=0;while(1){t=0;do{u=(255-((d[4336+(s<<4)+t|0]|0)<<1)|0)*255|0;if((u|0)<0){v=-((-u|0)/(r|0)|0)|0}else{v=(u|0)/(r|0)|0}c[p+(s<<6)+(t<<2)>>2]=v;t=t+1|0;}while((t|0)<16);t=s+1|0;if((t|0)<16){s=t}else{q=p;break}}}c[j+(l<<2)>>2]=q;l=l+1|0;}while((l|0)<(c[g>>2]|0));return}else if((f|0)==2){c[e+4>>2]=18;c[e+84>>2]=0;g=e+68|0;l=g;if((c[g>>2]|0)==0){g=a+112|0;q=(c[g>>2]<<1)+4|0;j=a+120|0;if((c[j>>2]|0)<=0){return}v=a+4|0;k=a;h=(c[b>>2]|0)+68|0;b=0;while(1){c[h+(b<<2)>>2]=aO[c[(c[v>>2]|0)+4>>2]&15](k,1,q)|0;o=b+1|0;i=c[j>>2]|0;if((o|0)<(i|0)){b=o}else{w=i;x=g;break}}}else{w=c[a+120>>2]|0;x=a+112|0}g=(c[x>>2]<<1)+4|0;x=a+120|0;if((w|0)>0){y=0}else{return}do{fv(c[l+(y<<2)>>2]|0,0,g|0);y=y+1|0;}while((y|0)<(c[x>>2]|0));return}else if((f|0)==0){f=e+4|0;if((c[a+120>>2]|0)==3){c[f>>2]=40;return}else{c[f>>2]=44;return}}else{f=a|0;c[(c[f>>2]|0)+20>>2]=49;aL[c[c[f>>2]>>2]&127](a);return}}function cZ(a){a=a|0;return}function c_(a){a=a|0;var b=0;b=a|0;c[(c[b>>2]|0)+20>>2]=47;aL[c[c[b>>2]>>2]&127](a);return}function c$(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=c[b+480>>2]|0;e=(c[b+88>>2]|0)==1;c[d+28>>2]=e?1:0;f=b+120|0;g=d+24|0;c[g>>2]=aS[c[(c[b+4>>2]|0)+8>>2]&15](b,1,e?766:256,c[f>>2]|0)|0;if((c[f>>2]|0)<=0){return}b=d+32|0;h=0;i=c[d+20>>2]|0;do{d=c[b+(h<<2)>>2]|0;i=(i|0)/(d|0)|0;if(e){j=(c[g>>2]|0)+(h<<2)|0;c[j>>2]=(c[j>>2]|0)+255}j=c[(c[g>>2]|0)+(h<<2)>>2]|0;k=d-1|0;l=k<<1;m=0;n=(d+254|0)/(l|0)|0;d=0;while(1){if((m|0)>(n|0)){o=d;while(1){p=o+1|0;q=(((p<<1|1)*255|0)+k|0)/(l|0)|0;if((m|0)>(q|0)){o=p}else{r=q;s=p;break}}}else{r=n;s=d}a[j+m|0]=(Z(s,i)|0)&255;o=m+1|0;if((o|0)<256){m=o;n=r;d=s}else{break}}if(e){d=j+255|0;n=1;do{a[j+(-n|0)|0]=a[j]|0;a[j+(n+255)|0]=a[d]|0;n=n+1|0;}while((n|0)<256)}h=h+1|0;}while((h|0)<(c[f>>2]|0));return}function c0(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=c[(c[b+480>>2]|0)+24>>2]|0;i=c[h>>2]|0;j=c[h+4>>2]|0;k=c[h+8>>2]|0;h=c[b+112>>2]|0;if((g|0)<=0){return}b=(h|0)==0;l=0;do{if(!b){m=c[f+(l<<2)>>2]|0;n=h;o=c[e+(l<<2)>>2]|0;while(1){a[m]=((a[j+(d[o+1|0]|0)|0]|0)+(a[i+(d[o]|0)|0]|0)&255)+(a[k+(d[o+2|0]|0)|0]|0)&255;p=n-1|0;if((p|0)==0){break}else{m=m+1|0;n=p;o=o+3|0}}}l=l+1|0;}while((l|0)<(g|0));return}function c1(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;h=c[(c[b+480>>2]|0)+24>>2]|0;i=c[b+112>>2]|0;j=c[b+120>>2]|0;if((g|0)<=0){return}b=(i|0)==0;k=(j|0)>0;l=0;do{if(!b){m=c[e+(l<<2)>>2]|0;n=c[f+(l<<2)>>2]|0;o=i;while(1){if(k){p=m;q=0;r=0;while(1){s=(d[(c[h+(q<<2)>>2]|0)+(d[p]|0)|0]|0)+r|0;t=q+1|0;if((t|0)<(j|0)){p=p+1|0;q=t;r=s}else{break}}u=m+j|0;v=s&255}else{u=m;v=0}a[n]=v;r=o-1|0;if((r|0)==0){break}else{m=u;n=n+1|0;o=r}}}l=l+1|0;}while((l|0)<(g|0));return}function c2(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,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;h=c[b+480>>2]|0;i=c[h+24>>2]|0;j=c[i>>2]|0;k=c[i+4>>2]|0;l=c[i+8>>2]|0;i=c[b+112>>2]|0;if((g|0)<=0){return}b=h+48|0;m=h+52|0;h=m+4|0;n=m+8|0;o=(i|0)==0;p=b|0;q=0;r=c[b>>2]|0;do{b=c[m>>2]|0;s=c[h>>2]|0;t=c[n>>2]|0;if(!o){u=c[f+(q<<2)>>2]|0;v=0;w=i;x=c[e+(q<<2)>>2]|0;while(1){a[u]=((a[k+((d[x+1|0]|0)+(c[s+(r<<6)+(v<<2)>>2]|0))|0]|0)+(a[j+((d[x]|0)+(c[b+(r<<6)+(v<<2)>>2]|0))|0]|0)&255)+(a[l+((d[x+2|0]|0)+(c[t+(r<<6)+(v<<2)>>2]|0))|0]|0)&255;y=w-1|0;if((y|0)==0){break}else{u=u+1|0;v=v+1&15;w=y;x=x+3|0}}}r=r+1&15;c[p>>2]=r;q=q+1|0;}while((q|0)<(g|0));return}function c3(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,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;h=c[b+480>>2]|0;i=c[b+120>>2]|0;j=c[b+112>>2]|0;if((g|0)<=0){return}b=h+48|0;k=b;l=(i|0)>0;m=b|0;b=h+24|0;n=h+52|0;h=(j|0)==0;o=0;do{p=f+(o<<2)|0;fv(c[p>>2]|0,0,j|0);q=c[k>>2]|0;if(l){r=e+(o<<2)|0;s=0;do{t=c[(c[b>>2]|0)+(s<<2)>>2]|0;u=c[n+(s<<2)>>2]|0;if(!h){v=0;w=c[p>>2]|0;x=j;y=(c[r>>2]|0)+s|0;while(1){a[w]=(a[w]|0)+(a[t+((d[y]|0)+(c[u+(q<<6)+(v<<2)>>2]|0))|0]|0)&255;z=x-1|0;if((z|0)==0){break}else{v=v+1&15;w=w+1|0;x=z;y=y+i|0}}}s=s+1|0;}while((s|0)<(i|0))}c[m>>2]=q+1&15;o=o+1|0;}while((o|0)<(g|0));return}function c4(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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;i=c[e+480>>2]|0;j=c[e+120>>2]|0;k=c[e+112>>2]|0;l=c[e+332>>2]|0;if((h|0)<=0){return}e=(j|0)>0;m=i+84|0;n=m;o=i+68|0;p=i+24|0;q=i+16|0;i=(k|0)==0;r=k-1|0;s=Z(r,j)|0;t=-j|0;u=k+1|0;v=0;do{w=g+(v<<2)|0;fv(c[w>>2]|0,0,k|0);if(e){x=f+(v<<2)|0;y=0;do{z=c[w>>2]|0;if((c[n>>2]|0)==0){A=j;B=1;C=c[o+(y<<2)>>2]|0;D=y;E=z}else{A=t;B=-1;C=(c[o+(y<<2)>>2]|0)+(u<<1)|0;D=y+s|0;E=z+r|0}z=c[(c[p>>2]|0)+(y<<2)>>2]|0;F=c[(c[q>>2]|0)+(y<<2)>>2]|0;if(i){G=C;H=0}else{I=(c[x>>2]|0)+D|0;J=Z(k,B)|0;K=E;L=I;I=C;M=0;N=k;O=0;P=0;while(1){Q=I+(B<<1)|0;R=d[l+((P+8+(b[Q>>1]|0)>>4)+(d[L]|0))|0]|0;S=a[z+R|0]|0;a[K]=(a[K]|0)+S&255;T=R-(d[F+(S&255)|0]|0)|0;S=T<<1;R=S+T|0;b[I>>1]=R+M&65535;U=R+S|0;V=U+O|0;R=N-1|0;if((R|0)==0){break}else{K=K+B|0;L=L+A|0;I=Q;M=V;N=R;O=T;P=U+S|0}}G=C+(J<<1)|0;H=V&65535}b[G>>1]=H;y=y+1|0;}while((y|0)<(j|0))}c[m>>2]=(c[n>>2]|0)==0;v=v+1|0;}while((v|0)<(h|0));return}function c5(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=c[a+480>>2]|0;e=c[d+24>>2]|0;f=a+88|0;if((c[f>>2]|0)==0){g=0}else{c[f>>2]=2;g=2}do{if((b|0)==0){c[d+4>>2]=(g|0)==2?26:10;c[d+8>>2]=78;h=c[a+132>>2]|0;do{if((h|0)<1){i=a|0;c[(c[i>>2]|0)+20>>2]=58;c[(c[i>>2]|0)+24>>2]=1;aL[c[c[i>>2]>>2]&127](a)}else{if((h|0)<=256){break}i=a|0;c[(c[i>>2]|0)+20>>2]=59;c[(c[i>>2]|0)+24>>2]=256;aL[c[c[i>>2]>>2]&127](a)}}while(0);if((c[f>>2]|0)!=2){break}h=((c[a+112>>2]|0)*6|0)+12|0;i=d+32|0;j=c[i>>2]|0;if((j|0)==0){k=aO[c[(c[a+4>>2]|0)+4>>2]&15](a,1,h)|0;c[i>>2]=k;l=k}else{l=j}fv(l|0,0,h|0);if((c[d+40>>2]|0)==0){c7(a)}c[d+36>>2]=0}else{c[d+4>>2]=56;c[d+8>>2]=80;c[d+28>>2]=1}}while(0);a=d+28|0;if((c[a>>2]|0)==0){return}else{m=0}do{fv(c[e+(m<<2)>>2]|0,0,4096);m=m+1|0;}while((m|0)<32);c[a>>2]=0;return}function c6(a){a=a|0;c[(c[a+480>>2]|0)+28>>2]=1;return}function c7(a){a=a|0;var b=0,d=0,e=0;b=c[a+480>>2]|0;d=aO[c[c[a+4>>2]>>2]&15](a,1,2044)|0;a=d+1020|0;e=a;c[b+40>>2]=a;c[e>>2]=0;c[d+1024>>2]=1;c[d+1016>>2]=-1;c[d+1028>>2]=2;c[d+1012>>2]=-2;c[d+1032>>2]=3;c[d+1008>>2]=-3;c[d+1036>>2]=4;c[d+1004>>2]=-4;c[d+1040>>2]=5;c[d+1e3>>2]=-5;c[d+1044>>2]=6;c[d+996>>2]=-6;c[d+1048>>2]=7;c[d+992>>2]=-7;c[d+1052>>2]=8;c[d+988>>2]=-8;c[d+1056>>2]=9;c[d+984>>2]=-9;c[d+1060>>2]=10;c[d+980>>2]=-10;c[d+1064>>2]=11;c[d+976>>2]=-11;c[d+1068>>2]=12;c[d+972>>2]=-12;c[d+1072>>2]=13;c[d+968>>2]=-13;c[d+1076>>2]=14;c[d+964>>2]=-14;c[d+1080>>2]=15;c[d+960>>2]=-15;d=16;a=16;do{c[e+(d<<2)>>2]=a;c[e+(-d<<2)>>2]=-a;d=d+1|0;a=(d&1^1)+a|0;}while((d|0)<48);d=-a|0;b=48;do{c[e+(b<<2)>>2]=a;c[e+(-b<<2)>>2]=d;b=b+1|0;}while((b|0)<256);return}function c8(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=c[(c[a+480>>2]|0)+24>>2]|0;h=c[a+112>>2]|0;if((g|0)<=0){return}a=(h|0)==0;i=0;do{if(!a){j=h;k=c[e+(i<<2)>>2]|0;while(1){l=(c[f+((d[k]|0)>>>3<<2)>>2]|0)+((d[k+1|0]|0)>>>2<<6)+((d[k+2|0]|0)>>>3<<1)|0;m=b[l>>1]|0;n=m+1&65535;b[l>>1]=n<<16>>16==0?m:n;n=j-1|0;if((n|0)==0){break}else{j=n;k=k+3|0}}}i=i+1|0;}while((i|0)<(g|0));return}function c9(d){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,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,_=0,$=0,aa=0,ab=0,ac=0,ad=0,ae=0,af=0,ag=0,ah=0,ai=0,aj=0,ak=0,al=0,am=0,an=0,ao=0;e=d+480|0;f=c[e>>2]|0;g=d+136|0;c[g>>2]=c[f+16>>2];h=c[f+20>>2]|0;i=d;j=aO[c[c[d+4>>2]>>2]&15](i,1,h<<5)|0;k=j;c[j>>2]=0;c[j+4>>2]=31;c[j+8>>2]=0;c[j+12>>2]=63;c[j+16>>2]=0;c[j+20>>2]=31;de(c[(c[e>>2]|0)+24>>2]|0,k);do{if((h|0)>1){j=1;while(1){if((j<<1|0)>(h|0)){l=k;m=0;n=0;o=0;while(1){p=c[l+24>>2]|0;q=(p|0)>(n|0);r=q?l:o;s=m+1|0;if((s|0)<(j|0)){l=l+32|0;m=s;n=q?p:n;o=r}else{t=r;break}}}else{o=k;n=0;m=0;l=0;while(1){r=c[o+28>>2]|0;if((r|0)>(m|0)){p=(c[o+24>>2]|0)>0;u=p?o:l;v=p?r:m}else{u=l;v=m}r=n+1|0;if((r|0)<(j|0)){o=o+32|0;n=r;m=v;l=u}else{t=u;break}}}if((t|0)==0){w=j;break}l=k+(j<<5)|0;m=t+4|0;c[k+(j<<5)+4>>2]=c[m>>2];n=t+12|0;c[k+(j<<5)+12>>2]=c[n>>2];o=t+20|0;c[k+(j<<5)+20>>2]=c[o>>2];r=t|0;p=l|0;c[p>>2]=c[r>>2];q=t+8|0;s=k+(j<<5)+8|0;c[s>>2]=c[q>>2];x=t+16|0;y=k+(j<<5)+16|0;c[y>>2]=c[x>>2];z=c[m>>2]|0;A=c[r>>2]|0;r=z-A<<4;B=c[n>>2]|0;C=c[q>>2]|0;q=(B-C|0)*12|0;D=c[o>>2]|0;E=c[x>>2]|0;x=(r|0)>(q|0);F=(D-E<<3|0)>((x?r:q)|0)?2:x&1^1;if((F|0)==0){x=(A+z|0)/2|0;c[m>>2]=x;c[p>>2]=x+1}else if((F|0)==1){x=(C+B|0)/2|0;c[n>>2]=x;c[s>>2]=x+1}else if((F|0)==2){F=(E+D|0)/2|0;c[o>>2]=F;c[y>>2]=F+1}de(c[(c[e>>2]|0)+24>>2]|0,t);de(c[(c[e>>2]|0)+24>>2]|0,l);l=j+1|0;if((l|0)<(h|0)){j=l}else{w=l;break}}if((w|0)>0){G=w;break}else{H=w}I=d+132|0;c[I>>2]=H;J=d|0;K=c[J>>2]|0;L=K+20|0;c[L>>2]=98;M=c[J>>2]|0;N=M+24|0;c[N>>2]=H;O=c[J>>2]|0;P=O+4|0;Q=c[P>>2]|0;aM[Q&63](i,1);R=f+28|0;c[R>>2]=1;return}else{G=1}}while(0);w=0;while(1){h=c[(c[e>>2]|0)+24>>2]|0;t=c[k+(w<<5)>>2]|0;u=c[k+(w<<5)+4>>2]|0;v=c[k+(w<<5)+8>>2]|0;j=c[k+(w<<5)+12>>2]|0;l=c[k+(w<<5)+16>>2]|0;F=c[k+(w<<5)+20>>2]|0;if((t|0)>(u|0)){S=0;T=0;U=0;V=0}else{y=(v|0)>(j|0);o=(l|0)>(F|0);D=t;t=0;E=0;x=0;s=0;while(1){if(y){W=t;X=E;Y=x;_=s}else{n=c[h+(D<<2)>>2]|0;B=D<<3|4;C=v;p=t;m=E;z=x;A=s;while(1){if(o){$=p;aa=m;ab=z;ac=A}else{q=C<<2|2;r=l;ad=n+(C<<6)+(l<<1)|0;ae=p;af=m;ag=z;ah=A;while(1){ai=b[ad>>1]|0;aj=ai&65535;if(ai<<16>>16==0){ak=ah;al=ag;am=af;an=ae}else{ai=(Z(aj,B)|0)+af|0;ao=(Z(aj,q)|0)+ag|0;ak=(Z(aj,r<<3|4)|0)+ah|0;al=ao;am=ai;an=aj+ae|0}aj=r+1|0;if((aj|0)>(F|0)){$=an;aa=am;ab=al;ac=ak;break}else{r=aj;ad=ad+2|0;ae=an;af=am;ag=al;ah=ak}}}ah=C+1|0;if((ah|0)>(j|0)){W=$;X=aa;Y=ab;_=ac;break}else{C=ah;p=$;m=aa;z=ab;A=ac}}}A=D+1|0;if((A|0)>(u|0)){S=W;T=X;U=Y;V=_;break}else{D=A;t=W;E=X;x=Y;s=_}}}s=S>>1;a[(c[c[g>>2]>>2]|0)+w|0]=((s+T|0)/(S|0)|0)&255;a[(c[(c[g>>2]|0)+4>>2]|0)+w|0]=((s+U|0)/(S|0)|0)&255;a[(c[(c[g>>2]|0)+8>>2]|0)+w|0]=((s+V|0)/(S|0)|0)&255;s=w+1|0;if((s|0)<(G|0)){w=s}else{H=G;break}}I=d+132|0;c[I>>2]=H;J=d|0;K=c[J>>2]|0;L=K+20|0;c[L>>2]=98;M=c[J>>2]|0;N=M+24|0;c[N>>2]=H;O=c[J>>2]|0;P=O+4|0;Q=c[P>>2]|0;aM[Q&63](i,1);R=f+28|0;c[R>>2]=1;return}function da(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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,_=0,$=0,aa=0,ab=0,ac=0,ad=0,ae=0,af=0,ag=0,ah=0,ai=0,aj=0,ak=0;i=c[e+480>>2]|0;j=c[i+24>>2]|0;k=c[e+112>>2]|0;l=c[e+332>>2]|0;m=c[i+40>>2]|0;n=c[e+136>>2]|0;o=c[n>>2]|0;p=c[n+4>>2]|0;q=c[n+8>>2]|0;if((h|0)<=0){return}n=i+36|0;r=n;s=i+32|0;i=(k|0)==0;t=k-1|0;u=t*3|0;v=(k*3|0)+3|0;w=0;do{x=c[f+(w<<2)>>2]|0;y=c[g+(w<<2)>>2]|0;if((c[r>>2]|0)==0){z=3;A=1;B=c[s>>2]|0;C=y;D=x;E=1}else{z=-3;A=-1;B=(c[s>>2]|0)+(v<<1)|0;C=y+t|0;D=x+u|0;E=0}c[n>>2]=E;if(i){F=B;G=0;H=0;I=0}else{x=z+1|0;y=z+2|0;J=Z(k,z)|0;K=D;L=C;M=B;N=k;O=0;P=0;Q=0;R=0;S=0;T=0;U=0;V=0;W=0;while(1){X=M+(z<<1)|0;Y=d[l+((d[K]|0)+(c[m+(W+8+(b[X>>1]|0)>>4<<2)>>2]|0))|0]|0;_=d[l+((d[K+1|0]|0)+(c[m+(V+8+(b[M+(x<<1)>>1]|0)>>4<<2)>>2]|0))|0]|0;$=d[l+((d[K+2|0]|0)+(c[m+(U+8+(b[M+(y<<1)>>1]|0)>>4<<2)>>2]|0))|0]|0;aa=$>>>3;ab=_>>>2;ac=Y>>>3;ad=(c[j+(ac<<2)>>2]|0)+(ab<<6)+(aa<<1)|0;ae=b[ad>>1]|0;if(ae<<16>>16==0){dd(e,ac,ab,aa);af=b[ad>>1]|0}else{af=ae}ae=(af&65535)-1|0;a[L]=ae&255;ad=Y-(d[o+ae|0]|0)|0;Y=_-(d[p+ae|0]|0)|0;_=$-(d[q+ae|0]|0)|0;ae=ad<<1;$=ae+ad|0;b[M>>1]=$+Q&65535;aa=$+ae|0;ag=aa+T|0;$=Y<<1;ab=$+Y|0;b[M+2>>1]=ab+P&65535;ac=ab+$|0;ah=ac+S|0;ab=_<<1;ai=ab+_|0;b[M+4>>1]=ai+O&65535;aj=ai+ab|0;ak=aj+R|0;ai=N-1|0;if((ai|0)==0){break}else{K=K+z|0;L=L+A|0;M=X;N=ai;O=ak;P=ah;Q=ag;R=_;S=Y;T=ad;U=aj+ab|0;V=ac+$|0;W=aa+ae|0}}F=B+(J<<1)|0;G=ak&65535;H=ah&65535;I=ag&65535}b[F>>1]=I;b[F+2>>1]=H;b[F+4>>1]=G;w=w+1|0;}while((w|0)<(h|0));return}function db(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;i=c[(c[e+480>>2]|0)+24>>2]|0;j=c[e+112>>2]|0;if((h|0)<=0){return}k=(j|0)==0;l=0;do{if(!k){m=c[g+(l<<2)>>2]|0;n=j;o=c[f+(l<<2)>>2]|0;while(1){p=(d[o]|0)>>>3;q=(d[o+1|0]|0)>>>2;r=(d[o+2|0]|0)>>>3;s=(c[i+(p<<2)>>2]|0)+(q<<6)+(r<<1)|0;t=b[s>>1]|0;if(t<<16>>16==0){dd(e,p,q,r);u=b[s>>1]&255}else{u=t&255}a[m]=u-1&255;t=n-1|0;if((t|0)==0){break}else{m=m+1|0;n=t;o=o+3|0}}}l=l+1|0;}while((l|0)<(h|0));return}function dc(a){a=a|0;return}function dd(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,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;j=i;i=i+1920|0;k=j|0;l=j+512|0;m=j+1536|0;n=j+1792|0;o=c[(c[e+480>>2]|0)+24>>2]|0;p=f>>2;f=g>>3;g=h>>2;h=p<<5;q=h|4;r=f<<5;s=r|2;t=g<<5;u=t|4;v=c[e+132>>2]|0;w=h|28;h=w+q>>1;x=r|30;r=x+s>>1;y=t|28;t=y+u>>1;if((v|0)>0){z=c[e+136>>2]|0;A=c[z>>2]|0;B=c[z+4>>2]|0;C=c[z+8>>2]|0;z=0;D=2147483647;while(1){E=d[A+z|0]|0;do{if((E|0)<(q|0)){F=E-q<<1;G=Z(F,F)|0;F=E-w<<1;H=Z(F,F)|0;I=G}else{if((E|0)>(w|0)){G=E-w<<1;F=Z(G,G)|0;G=E-q<<1;H=Z(G,G)|0;I=F;break}if((E|0)>(h|0)){F=E-q<<1;H=Z(F,F)|0;I=0;break}else{F=E-w<<1;H=Z(F,F)|0;I=0;break}}}while(0);E=d[B+z|0]|0;do{if((E|0)<(s|0)){F=(E-s|0)*3|0;G=(Z(F,F)|0)+I|0;F=(E-x|0)*3|0;J=Z(F,F)|0;K=G}else{if((E|0)>(x|0)){G=(E-x|0)*3|0;F=(Z(G,G)|0)+I|0;G=(E-s|0)*3|0;J=Z(G,G)|0;K=F;break}if((E|0)>(r|0)){F=(E-s|0)*3|0;J=Z(F,F)|0;K=I;break}else{F=(E-x|0)*3|0;J=Z(F,F)|0;K=I;break}}}while(0);E=J+H|0;F=d[C+z|0]|0;do{if((F|0)<(u|0)){G=F-u|0;L=(Z(G,G)|0)+K|0;G=F-y|0;M=Z(G,G)|0;N=L}else{if((F|0)>(y|0)){L=F-y|0;G=(Z(L,L)|0)+K|0;L=F-u|0;M=Z(L,L)|0;N=G;break}if((F|0)>(t|0)){G=F-u|0;M=Z(G,G)|0;N=K;break}else{G=F-y|0;M=Z(G,G)|0;N=K;break}}}while(0);F=E+M|0;c[l+(z<<2)>>2]=N;O=(F|0)<(D|0)?F:D;F=z+1|0;if((F|0)<(v|0)){z=F;D=O}else{P=0;Q=0;break}}while(1){if((c[l+(P<<2)>>2]|0)>(O|0)){R=Q}else{a[m+Q|0]=P&255;R=Q+1|0}D=P+1|0;if((D|0)<(v|0)){P=D;Q=R}else{S=R;break}}}else{S=0}R=k|0;k=127;Q=R;while(1){c[Q>>2]=2147483647;if((k|0)>0){k=k-1|0;Q=Q+4|0}else{break}}Q=n|0;if((S|0)>0){k=e+136|0;e=0;do{P=a[m+e|0]|0;v=P&255;O=c[k>>2]|0;l=q-(d[(c[O>>2]|0)+v|0]|0)|0;D=l<<1;z=Z(D,D)|0;D=s-(d[(c[O+4>>2]|0)+v|0]|0)|0;N=D*3|0;M=(Z(N,N)|0)+z|0;z=u-(d[(c[O+8>>2]|0)+v|0]|0)|0;v=(D*72|0)+144|0;D=z<<4;O=D+64|0;N=D+192|0;K=D+320|0;D=R;y=Q;t=M+(Z(z,z)|0)|0;z=(l<<6)+256|0;l=3;while(1){M=7;C=D;H=y;J=t;I=v;while(1){if((J|0)<(c[C>>2]|0)){c[C>>2]=J;a[H]=P}x=O+J|0;r=C+4|0;if((x|0)<(c[r>>2]|0)){c[r>>2]=x;a[H+1|0]=P}r=N+x|0;x=C+8|0;if((r|0)<(c[x>>2]|0)){c[x>>2]=r;a[H+2|0]=P}x=K+r|0;r=C+12|0;if((x|0)<(c[r>>2]|0)){c[r>>2]=x;a[H+3|0]=P}if((M|0)>0){M=M-1|0;C=C+16|0;H=H+4|0;J=J+I|0;I=I+288|0}else{break}}if((l|0)>0){D=D+128|0;y=y+32|0;t=t+z|0;z=z+512|0;l=l-1|0}else{break}}e=e+1|0;}while((e|0)<(S|0))}S=p<<2;p=f<<3;f=g<<2;g=o+(S<<2)|0;e=f|1;R=e+1|0;u=f|3;s=0;q=Q;while(1){Q=s+p|0;k=c[g>>2]|0;b[k+(Q<<6)+(f<<1)>>1]=(d[q]|0)+1&65535;b[k+(Q<<6)+(e<<1)>>1]=(d[q+1|0]|0)+1&65535;b[k+(Q<<6)+(R<<1)>>1]=(d[q+2|0]|0)+1&65535;b[k+(Q<<6)+(u<<1)>>1]=(d[q+3|0]|0)+1&65535;Q=s+1|0;if((Q|0)<8){s=Q;q=q+4|0}else{break}}q=o+((S|1)<<2)|0;s=0;g=n+32|0;while(1){Q=s+p|0;k=c[q>>2]|0;b[k+(Q<<6)+(f<<1)>>1]=(d[g]|0)+1&65535;b[k+(Q<<6)+(e<<1)>>1]=(d[g+1|0]|0)+1&65535;b[k+(Q<<6)+(R<<1)>>1]=(d[g+2|0]|0)+1&65535;b[k+(Q<<6)+(u<<1)>>1]=(d[g+3|0]|0)+1&65535;Q=s+1|0;if((Q|0)<8){s=Q;g=g+4|0}else{break}}g=o+((S|2)<<2)|0;s=0;q=n+64|0;while(1){Q=s+p|0;k=c[g>>2]|0;b[k+(Q<<6)+(f<<1)>>1]=(d[q]|0)+1&65535;b[k+(Q<<6)+(e<<1)>>1]=(d[q+1|0]|0)+1&65535;b[k+(Q<<6)+(R<<1)>>1]=(d[q+2|0]|0)+1&65535;b[k+(Q<<6)+(u<<1)>>1]=(d[q+3|0]|0)+1&65535;Q=s+1|0;if((Q|0)<8){s=Q;q=q+4|0}else{break}}q=o+((S|3)<<2)|0;S=0;o=n+96|0;while(1){n=S+p|0;s=c[q>>2]|0;b[s+(n<<6)+(f<<1)>>1]=(d[o]|0)+1&65535;b[s+(n<<6)+(e<<1)>>1]=(d[o+1|0]|0)+1&65535;b[s+(n<<6)+(R<<1)>>1]=(d[o+2|0]|0)+1&65535;b[s+(n<<6)+(u<<1)>>1]=(d[o+3|0]|0)+1&65535;n=S+1|0;if((n|0)<8){S=n;o=o+4|0}else{break}}i=j;return}function de(a,d){a=a|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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;e=a;a=d|0;f=c[a>>2]|0;g=d+4|0;h=c[g>>2]|0;i=d+8|0;j=c[i>>2]|0;k=d+12|0;l=c[k>>2]|0;m=d+16|0;n=c[m>>2]|0;o=d+20|0;p=c[o>>2]|0;L639:do{if((f|0)<(h|0)){q=(j|0)>(l|0);r=(n|0)>(p|0);s=f;L641:while(1){if(!q){t=c[e+(s<<2)>>2]|0;u=j;do{if(!r){v=n;w=t+(u<<6)+(n<<1)|0;while(1){if((b[w>>1]|0)!=0){break L641}x=v+1|0;if((x|0)>(p|0)){break}else{v=x;w=w+2|0}}}u=u+1|0;}while((u|0)<=(l|0))}u=s+1|0;if((u|0)>(h|0)){y=f;break L639}else{s=u}}c[a>>2]=s;y=s}else{y=f}}while(0);L656:do{if((h|0)>(y|0)){f=(j|0)>(l|0);a=(n|0)>(p|0);r=h;L658:while(1){if(!f){q=c[e+(r<<2)>>2]|0;u=j;do{if(!a){t=n;w=q+(u<<6)+(n<<1)|0;while(1){if((b[w>>1]|0)!=0){break L658}v=t+1|0;if((v|0)>(p|0)){break}else{t=v;w=w+2|0}}}u=u+1|0;}while((u|0)<=(l|0))}u=r-1|0;if((u|0)<(y|0)){z=h;break L656}else{r=u}}c[g>>2]=r;z=r}else{z=h}}while(0);L673:do{if((j|0)<(l|0)){h=(y|0)>(z|0);g=(n|0)>(p|0);a=j;L675:while(1){if(!h){f=y;do{if(!g){s=n;u=(c[e+(f<<2)>>2]|0)+(a<<6)+(n<<1)|0;while(1){if((b[u>>1]|0)!=0){break L675}q=s+1|0;if((q|0)>(p|0)){break}else{s=q;u=u+2|0}}}f=f+1|0;}while((f|0)<=(z|0))}f=a+1|0;if((f|0)>(l|0)){A=j;break L673}else{a=f}}c[i>>2]=a;A=a}else{A=j}}while(0);L689:do{if((l|0)>(A|0)){j=(y|0)>(z|0);i=(n|0)>(p|0);g=l;L691:while(1){if(!j){h=y;do{if(!i){r=n;f=(c[e+(h<<2)>>2]|0)+(g<<6)+(n<<1)|0;while(1){if((b[f>>1]|0)!=0){break L691}u=r+1|0;if((u|0)>(p|0)){break}else{r=u;f=f+2|0}}}h=h+1|0;}while((h|0)<=(z|0))}h=g-1|0;if((h|0)<(A|0)){B=l;break L689}else{g=h}}c[k>>2]=g;B=g}else{B=l}}while(0);L705:do{if((n|0)<(p|0)){l=(y|0)>(z|0);k=(A|0)>(B|0);i=n;L707:while(1){if(!l){j=y;do{if(!k){a=A;h=(c[e+(j<<2)>>2]|0)+(A<<6)+(i<<1)|0;while(1){if((b[h>>1]|0)!=0){break L707}f=a+1|0;if((f|0)>(B|0)){break}else{a=f;h=h+64|0}}}j=j+1|0;}while((j|0)<=(z|0))}j=i+1|0;if((j|0)>(p|0)){C=n;break L705}else{i=j}}c[m>>2]=i;C=i}else{C=n}}while(0);L721:do{if((p|0)>(C|0)){n=(y|0)>(z|0);m=(A|0)>(B|0);k=p;L723:while(1){if(!n){l=y;do{if(!m){g=A;j=(c[e+(l<<2)>>2]|0)+(A<<6)+(k<<1)|0;while(1){if((b[j>>1]|0)!=0){break L723}h=g+1|0;if((h|0)>(B|0)){break}else{g=h;j=j+64|0}}}l=l+1|0;}while((l|0)<=(z|0))}l=k-1|0;if((l|0)<(C|0)){D=p;break L721}else{k=l}}c[o>>2]=k;D=k}else{D=p}}while(0);p=z-y<<4;o=(B-A|0)*12|0;m=D-C<<3;n=Z(p,p)|0;p=(Z(o,o)|0)+n|0;c[d+24>>2]=p+(Z(m,m)|0);if((y|0)>(z|0)){E=0;F=d+28|0;c[F>>2]=E;return}m=(A|0)>(B|0);p=(C|0)>(D|0);n=y;y=0;while(1){if(m){G=y}else{o=c[e+(n<<2)>>2]|0;i=A;l=y;while(1){if(p){H=l}else{j=C;g=o+(i<<6)+(C<<1)|0;h=l;while(1){a=((b[g>>1]|0)!=0)+h|0;f=j+1|0;if((f|0)>(D|0)){H=a;break}else{j=f;g=g+2|0;h=a}}}h=i+1|0;if((h|0)>(B|0)){G=H;break}else{i=h;l=H}}}l=n+1|0;if((l|0)>(z|0)){E=G;break}else{n=l;y=G}}F=d+28|0;c[F>>2]=E;return}function df(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,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;d=c[a+420>>2]|0;if((b|0)!=0){b=a|0;c[(c[b>>2]|0)+20>>2]=49;aL[c[c[b>>2]>>2]&127](a)}do{if((c[a+264>>2]|0)==0){c[d+4>>2]=52}else{b=(c[a+360>>2]|0)==0;e=d+4|0;if((c[a+368>>2]|0)==0){if(b){c[e>>2]=24;break}else{c[e>>2]=66;break}}else{if(b){c[e>>2]=38;break}else{c[e>>2]=54;break}}}}while(0);e=a+288|0;if((c[e>>2]|0)<=0){f=d+12|0;c[f>>2]=0;g=d+16|0;c[g>>2]=65536;h=d+20|0;c[h>>2]=0;i=d+24|0;c[i>>2]=0;j=d+28|0;c[j>>2]=11;k=d+32|0;c[k>>2]=-1;l=a+236|0;m=c[l>>2]|0;n=d+68|0;o=m;c[n>>2]=o;p=d+72|0;c[p>>2]=0;return}b=a+360|0;q=a+368|0;r=a|0;s=a;t=d+76|0;u=a+4|0;v=d+36|0;w=d+52|0;x=a+364|0;y=d+140|0;z=0;do{A=c[a+292+(z<<2)>>2]|0;do{if((c[b>>2]|0)==0){if((c[q>>2]|0)!=0){break}B=c[A+20>>2]|0;if(B>>>0>15){c[(c[r>>2]|0)+20>>2]=50;c[(c[r>>2]|0)+24>>2]=B;aL[c[c[r>>2]>>2]&127](s)}C=t+(B<<2)|0;B=c[C>>2]|0;if((B|0)==0){D=aO[c[c[u>>2]>>2]&15](s,1,64)|0;c[C>>2]=D;E=D}else{E=B}fv(E|0,0,64);c[v+(z<<2)>>2]=0;c[w+(z<<2)>>2]=0}}while(0);if((c[x>>2]|0)!=0){B=c[A+24>>2]|0;if(B>>>0>15){c[(c[r>>2]|0)+20>>2]=50;c[(c[r>>2]|0)+24>>2]=B;aL[c[c[r>>2]>>2]&127](s)}D=y+(B<<2)|0;B=c[D>>2]|0;if((B|0)==0){C=aO[c[c[u>>2]>>2]&15](s,1,256)|0;c[D>>2]=C;F=C}else{F=B}fv(F|0,0,256)}z=z+1|0;}while((z|0)<(c[e>>2]|0));f=d+12|0;c[f>>2]=0;g=d+16|0;c[g>>2]=65536;h=d+20|0;c[h>>2]=0;i=d+24|0;c[i>>2]=0;j=d+28|0;c[j>>2]=11;k=d+32|0;c[k>>2]=-1;l=a+236|0;m=c[l>>2]|0;n=d+68|0;o=m;c[n>>2]=o;p=d+72|0;c[p>>2]=0;return}function dg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=c[b+420>>2]|0;e=d+12|0;f=e;g=c[f>>2]|0;h=(c[d+16>>2]|0)-1+g&-65536;if((h|0)<(g|0)){g=h|32768;c[e>>2]=g;i=g}else{c[e>>2]=h;i=h}h=i<<c[d+28>>2];c[e>>2]=h;e=d+32|0;i=c[e>>2]|0;do{if(h>>>0>134217727){g=d+24|0;j=g;do{if((i|0)>-1){k=b+24|0;if((c[j>>2]|0)==0){l=i}else{m=b|0;n=b;o=g|0;do{p=c[k>>2]|0;q=p|0;r=c[q>>2]|0;c[q>>2]=r+1;a[r]=0;r=p+4|0;q=(c[r>>2]|0)-1|0;c[r>>2]=q;do{if((q|0)==0){if((aP[c[p+12>>2]&31](b)|0)!=0){break}c[(c[m>>2]|0)+20>>2]=25;aL[c[c[m>>2]>>2]&127](n)}}while(0);p=(c[j>>2]|0)-1|0;c[o>>2]=p;}while((p|0)!=0);l=c[e>>2]|0}o=c[k>>2]|0;n=o|0;m=c[n>>2]|0;c[n>>2]=m+1;a[m]=l+1&255;m=o+4|0;n=(c[m>>2]|0)-1|0;c[m>>2]=n;do{if((n|0)==0){if((aP[c[o+12>>2]&31](b)|0)!=0){break}m=b|0;c[(c[m>>2]|0)+20>>2]=25;aL[c[c[m>>2]>>2]&127](b)}}while(0);if((c[e>>2]|0)!=254){break}o=c[k>>2]|0;n=o|0;m=c[n>>2]|0;c[n>>2]=m+1;a[m]=0;m=o+4|0;n=(c[m>>2]|0)-1|0;c[m>>2]=n;if((n|0)!=0){break}if((aP[c[o+12>>2]&31](b)|0)!=0){break}o=b|0;c[(c[o>>2]|0)+20>>2]=25;aL[c[c[o>>2]>>2]&127](b)}}while(0);o=d+20|0;c[g>>2]=(c[j>>2]|0)+(c[o>>2]|0);c[o>>2]=0}else{do{if((i|0)==0){o=d+24|0;c[o>>2]=(c[o>>2]|0)+1}else{if((i|0)<=-1){break}o=d+24|0;n=o;m=b+24|0;if((c[n>>2]|0)==0){s=i&255}else{p=b|0;q=b;r=o|0;do{o=c[m>>2]|0;t=o|0;u=c[t>>2]|0;c[t>>2]=u+1;a[u]=0;u=o+4|0;t=(c[u>>2]|0)-1|0;c[u>>2]=t;do{if((t|0)==0){if((aP[c[o+12>>2]&31](b)|0)!=0){break}c[(c[p>>2]|0)+20>>2]=25;aL[c[c[p>>2]>>2]&127](q)}}while(0);o=(c[n>>2]|0)-1|0;c[r>>2]=o;}while((o|0)!=0);s=c[e>>2]&255}r=c[m>>2]|0;n=r|0;q=c[n>>2]|0;c[n>>2]=q+1;a[q]=s;q=r+4|0;n=(c[q>>2]|0)-1|0;c[q>>2]=n;if((n|0)!=0){break}if((aP[c[r+12>>2]&31](b)|0)!=0){break}r=b|0;c[(c[r>>2]|0)+20>>2]=25;aL[c[c[r>>2]>>2]&127](b)}}while(0);j=d+20|0;g=j;if((c[g>>2]|0)==0){break}r=d+24|0;n=r;q=b+24|0;p=b|0;k=b;if((c[n>>2]|0)!=0){o=r|0;do{r=c[q>>2]|0;t=r|0;u=c[t>>2]|0;c[t>>2]=u+1;a[u]=0;u=r+4|0;t=(c[u>>2]|0)-1|0;c[u>>2]=t;do{if((t|0)==0){if((aP[c[r+12>>2]&31](b)|0)!=0){break}c[(c[p>>2]|0)+20>>2]=25;aL[c[c[p>>2]>>2]&127](k)}}while(0);r=(c[n>>2]|0)-1|0;c[o>>2]=r;}while((r|0)!=0)}do{o=c[q>>2]|0;n=o|0;r=c[n>>2]|0;c[n>>2]=r+1;a[r]=-1;r=o+4|0;n=(c[r>>2]|0)-1|0;c[r>>2]=n;do{if((n|0)==0){if((aP[c[o+12>>2]&31](b)|0)!=0){break}c[(c[p>>2]|0)+20>>2]=25;aL[c[c[p>>2]>>2]&127](k)}}while(0);o=c[q>>2]|0;n=o|0;r=c[n>>2]|0;c[n>>2]=r+1;a[r]=0;r=o+4|0;n=(c[r>>2]|0)-1|0;c[r>>2]=n;do{if((n|0)==0){if((aP[c[o+12>>2]&31](b)|0)!=0){break}c[(c[p>>2]|0)+20>>2]=25;aL[c[c[p>>2]>>2]&127](k)}}while(0);o=(c[g>>2]|0)-1|0;c[j>>2]=o;}while((o|0)!=0)}}while(0);s=c[f>>2]|0;if((s&134215680|0)==0){return}e=d+24|0;d=e;i=b+24|0;if((c[d>>2]|0)==0){v=s>>>19&255}else{s=b|0;l=b;h=e|0;do{e=c[i>>2]|0;j=e|0;g=c[j>>2]|0;c[j>>2]=g+1;a[g]=0;g=e+4|0;j=(c[g>>2]|0)-1|0;c[g>>2]=j;do{if((j|0)==0){if((aP[c[e+12>>2]&31](b)|0)!=0){break}c[(c[s>>2]|0)+20>>2]=25;aL[c[c[s>>2]>>2]&127](l)}}while(0);e=(c[d>>2]|0)-1|0;c[h>>2]=e;}while((e|0)!=0);v=(c[f>>2]|0)>>>19&255}h=c[i>>2]|0;d=h|0;l=c[d>>2]|0;c[d>>2]=l+1;a[l]=v;v=h+4|0;l=(c[v>>2]|0)-1|0;c[v>>2]=l;do{if((l|0)==0){if((aP[c[h+12>>2]&31](b)|0)!=0){break}v=b|0;c[(c[v>>2]|0)+20>>2]=25;aL[c[c[v>>2]>>2]&127](b)}}while(0);do{if((c[f>>2]&133693440|0)==133693440){h=c[i>>2]|0;l=h|0;v=c[l>>2]|0;c[l>>2]=v+1;a[v]=0;v=h+4|0;l=(c[v>>2]|0)-1|0;c[v>>2]=l;if((l|0)!=0){break}if((aP[c[h+12>>2]&31](b)|0)!=0){break}h=b|0;c[(c[h>>2]|0)+20>>2]=25;aL[c[c[h>>2]>>2]&127](b)}}while(0);h=c[f>>2]|0;if((h&522240|0)==0){return}l=c[i>>2]|0;v=l|0;d=c[v>>2]|0;c[v>>2]=d+1;a[d]=h>>>11&255;h=l+4|0;d=(c[h>>2]|0)-1|0;c[h>>2]=d;do{if((d|0)==0){if((aP[c[l+12>>2]&31](b)|0)!=0){break}h=b|0;c[(c[h>>2]|0)+20>>2]=25;aL[c[c[h>>2]>>2]&127](b)}}while(0);if((c[f>>2]&522240|0)!=522240){return}f=c[i>>2]|0;i=f|0;l=c[i>>2]|0;c[i>>2]=l+1;a[l]=0;l=f+4|0;i=(c[l>>2]|0)-1|0;c[l>>2]=i;if((i|0)!=0){return}if((aP[c[f+12>>2]&31](b)|0)!=0){return}f=b|0;c[(c[f>>2]|0)+20>>2]=25;aL[c[c[f>>2]>>2]&127](b);return}function dh(a,e){a=a|0;e=e|0;var 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;f=c[a+420>>2]|0;g=a+236|0;if((c[g>>2]|0)!=0){h=f+68|0;i=c[h>>2]|0;if((i|0)==0){j=f+72|0;k=j;dm(a,c[k>>2]|0);l=c[g>>2]|0;c[h>>2]=l;c[j>>2]=(c[k>>2]|0)+1&7;m=l}else{m=i}c[h>>2]=m-1}m=a+316|0;if((c[m>>2]|0)<=0){return 1}h=a+372|0;i=f+76|0;l=f+52|0;k=f+36|0;f=0;do{j=c[a+320+(f<<2)>>2]|0;g=c[(c[a+292+(j<<2)>>2]|0)+20>>2]|0;n=b[c[e+(f<<2)>>2]>>1]>>c[h>>2];o=i+(g<<2)|0;p=c[o>>2]|0;q=l+(j<<2)|0;r=c[q>>2]|0;s=p+r|0;t=k+(j<<2)|0;j=c[t>>2]|0;u=n-j|0;do{if((n|0)==(j|0)){dn(a,s,0);c[q>>2]=0}else{c[t>>2]=n;dn(a,s,1);if((u|0)>0){dn(a,p+(r+1)|0,0);v=u;w=r+2|0;x=4}else{dn(a,p+(r+1)|0,1);v=-u|0;w=r+3|0;x=8}y=p+w|0;c[q>>2]=x;z=v-1|0;do{if((z|0)==0){A=0;B=y}else{dn(a,y,1);C=(c[o>>2]|0)+20|0;D=z>>1;if((D|0)==0){A=1;B=C;break}else{E=C;F=1;G=D}while(1){dn(a,E,1);D=F<<1;C=E+1|0;H=G>>1;if((H|0)==0){A=D;B=C;break}else{E=C;F=D;G=H}}}}while(0);dn(a,B,0);do{if((A|0)<(1<<d[a+152+g|0]>>1|0)){c[q>>2]=0}else{if((A|0)<=(1<<d[a+168+g|0]>>1|0)){break}c[q>>2]=(c[q>>2]|0)+8}}while(0);y=B+14|0;H=A>>1;if((H|0)==0){break}else{I=H}do{dn(a,y,(I&z|0)!=0|0);I=I>>1;}while((I|0)!=0)}}while(0);f=f+1|0;}while((f|0)<(c[m>>2]|0));return 1}function di(a,e){a=a|0;e=e|0;var 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=c[a+420>>2]|0;g=a+236|0;if((c[g>>2]|0)!=0){h=f+68|0;i=c[h>>2]|0;if((i|0)==0){j=f+72|0;k=j;dm(a,c[k>>2]|0);l=c[g>>2]|0;c[h>>2]=l;c[j>>2]=(c[k>>2]|0)+1&7;m=l}else{m=i}c[h>>2]=m-1}m=c[a+380>>2]|0;h=c[e>>2]|0;e=c[(c[a+292>>2]|0)+24>>2]|0;i=a+364|0;l=c[i>>2]|0;k=a+372|0;L939:do{if((l|0)>0){j=l;while(1){g=b[h+(c[m+(j<<2)>>2]<<1)>>1]|0;n=g<<16>>16;if(g<<16>>16>-1){if((n>>c[k>>2]|0)!=0){o=j;break L939}}else{if((-n>>c[k>>2]|0)!=0){o=j;break L939}}n=j-1|0;if((n|0)>0){j=n}else{o=n;break}}}else{o=l}}while(0);j=c[a+360>>2]|0;if((j|0)>(o|0)){p=j;q=l}else{l=f+140+(e<<2)|0;n=f+204|0;g=a+184+e|0;r=j;do{j=(c[l>>2]|0)+((r*3|0)-3)|0;dn(a,j,0);s=j;j=r;while(1){t=b[h+(c[m+(j<<2)>>2]<<1)>>1]|0;u=t<<16>>16;if(t<<16>>16>-1){v=u>>c[k>>2];if((v|0)!=0){w=675;break}}else{x=-u>>c[k>>2];if((x|0)!=0){w=677;break}}dn(a,s+1|0,0);s=s+3|0;j=j+1|0}if((w|0)==675){w=0;dn(a,s+1|0,1);dn(a,n,0);y=v}else if((w|0)==677){w=0;dn(a,s+1|0,1);dn(a,n,1);y=x}u=s+2|0;t=y-1|0;do{if((t|0)==0){w=684}else{dn(a,u,1);if(t>>>0<2){w=684;break}dn(a,u,1);z=(c[l>>2]|0)+((j|0)<=(d[g]|0|0)?189:217)|0;A=t>>2;if((A|0)==0){dn(a,z,0);B=1;C=z+14|0}else{D=2;E=z;z=A;do{dn(a,E,1);D=D<<1;E=E+1|0;z=z>>1;}while((z|0)!=0);z=D>>1;dn(a,E,0);if((z|0)==0){break}else{B=z;C=E+14|0}}z=B;do{dn(a,C,(z&t|0)!=0|0);z=z>>1;}while((z|0)!=0)}}while(0);if((w|0)==684){w=0;dn(a,u,0)}r=j+1|0;}while((r|0)<=(o|0));p=r;q=c[i>>2]|0}if((p|0)>(q|0)){return 1}dn(a,(c[f+140+(e<<2)>>2]|0)+((p*3|0)-3)|0,1);return 1}function dj(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=c[a+420>>2]|0;f=a+236|0;if((c[f>>2]|0)!=0){g=e+68|0;h=c[g>>2]|0;if((h|0)==0){i=e+72|0;j=i;dm(a,c[j>>2]|0);k=c[f>>2]|0;c[g>>2]=k;c[i>>2]=(c[j>>2]|0)+1&7;l=k}else{l=h}c[g>>2]=l-1}l=e+204|0;e=c[a+372>>2]|0;g=a+316|0;if((c[g>>2]|0)>0){m=0}else{return 1}do{dn(a,l,(b[c[d+(m<<2)>>2]>>1]|0)>>>(e>>>0)&1);m=m+1|0;}while((m|0)<(c[g>>2]|0));return 1}function dk(a,d){a=a|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;e=c[a+420>>2]|0;f=a+236|0;if((c[f>>2]|0)!=0){g=e+68|0;h=c[g>>2]|0;if((h|0)==0){i=e+72|0;j=i;dm(a,c[j>>2]|0);k=c[f>>2]|0;c[g>>2]=k;c[i>>2]=(c[j>>2]|0)+1&7;l=k}else{l=h}c[g>>2]=l-1}l=c[a+380>>2]|0;g=c[d>>2]|0;d=c[(c[a+292>>2]|0)+24>>2]|0;h=a+364|0;k=c[h>>2]|0;j=a+372|0;L1000:do{if((k|0)>0){i=k;while(1){m=b[g+(c[l+(i<<2)>>2]<<1)>>1]|0;f=m<<16>>16;if(m<<16>>16>-1){if((f>>c[j>>2]|0)!=0){break}}else{if((-f>>c[j>>2]|0)!=0){break}}f=i-1|0;if((f|0)>0){i=f}else{n=f;o=f;break L1000}}f=a+368|0;if((i|0)>0){p=i;q=m}else{n=i;o=i;break}while(1){r=q<<16>>16;if(q<<16>>16>-1){if((r>>c[f>>2]|0)!=0){n=p;o=i;break L1000}}else{if((-r>>c[f>>2]|0)!=0){n=p;o=i;break L1000}}r=p-1|0;if((r|0)<=0){n=r;o=i;break L1000}p=r;q=b[g+(c[l+(r<<2)>>2]<<1)>>1]|0}}else{n=k;o=k}}while(0);q=c[a+360>>2]|0;if((q|0)>(o|0)){s=q;t=k}else{k=e+140+(d<<2)|0;p=e+204|0;m=q;do{q=(c[k>>2]|0)+((m*3|0)-3)|0;if((m|0)>(n|0)){dn(a,q,0);u=q;v=m}else{u=q;v=m}while(1){q=b[g+(c[l+(v<<2)>>2]<<1)>>1]|0;i=q<<16>>16;if(q<<16>>16>-1){w=i>>c[j>>2];if((w|0)!=0){x=725;break}}else{y=-i>>c[j>>2];if((y|0)!=0){x=729;break}}dn(a,u+1|0,0);u=u+3|0;v=v+1|0}do{if((x|0)==725){x=0;if(w>>>0>1){dn(a,u+2|0,w&1);break}else{dn(a,u+1|0,1);dn(a,p,0);break}}else if((x|0)==729){x=0;if(y>>>0>1){dn(a,u+2|0,y&1);break}else{dn(a,u+1|0,1);dn(a,p,1);break}}}while(0);m=v+1|0;}while((m|0)<=(o|0));s=m;t=c[h>>2]|0}if((s|0)>(t|0)){return 1}dn(a,(c[e+140+(d<<2)>>2]|0)+((s*3|0)-3)|0,1);return 1}function dl(a,e){a=a|0;e=e|0;var 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,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;f=c[a+420>>2]|0;g=a+236|0;if((c[g>>2]|0)!=0){h=f+68|0;i=c[h>>2]|0;if((i|0)==0){j=f+72|0;k=j;dm(a,c[k>>2]|0);l=c[g>>2]|0;c[h>>2]=l;c[j>>2]=(c[k>>2]|0)+1&7;m=l}else{m=i}c[h>>2]=m-1}m=c[a+380>>2]|0;h=a+316|0;if((c[h>>2]|0)<=0){return 1}i=f+76|0;l=f+52|0;k=f+36|0;j=a+384|0;g=f+140|0;n=f+204|0;f=0;do{o=c[e+(f<<2)>>2]|0;p=c[a+320+(f<<2)>>2]|0;q=c[a+292+(p<<2)>>2]|0;r=c[q+20>>2]|0;s=i+(r<<2)|0;t=c[s>>2]|0;u=l+(p<<2)|0;v=c[u>>2]|0;w=t+v|0;x=b[o>>1]|0;y=k+(p<<2)|0;p=c[y>>2]|0;z=x-p|0;do{if((x|0)==(p|0)){dn(a,w,0);c[u>>2]=0}else{c[y>>2]=x;dn(a,w,1);if((z|0)>0){dn(a,t+(v+1)|0,0);A=v+2|0;B=z;C=4}else{dn(a,t+(v+1)|0,1);A=v+3|0;B=-z|0;C=8}D=t+A|0;c[u>>2]=C;E=B-1|0;do{if((E|0)==0){F=D;G=0}else{dn(a,D,1);H=(c[s>>2]|0)+20|0;I=E>>1;if((I|0)==0){F=H;G=1;break}else{J=1;K=H;L=I}while(1){dn(a,K,1);I=J<<1;H=K+1|0;M=L>>1;if((M|0)==0){F=H;G=I;break}else{J=I;K=H;L=M}}}}while(0);dn(a,F,0);do{if((G|0)<(1<<d[a+152+r|0]>>1|0)){c[u>>2]=0}else{if((G|0)<=(1<<d[a+168+r|0]>>1|0)){break}c[u>>2]=(c[u>>2]|0)+8}}while(0);D=F+14|0;M=G>>1;if((M|0)==0){break}else{N=M}do{dn(a,D,(N&E|0)!=0|0);N=N>>1;}while((N|0)!=0)}}while(0);u=c[q+24>>2]|0;r=c[j>>2]|0;s=r;while(1){if((s|0)<=0){O=1;P=r;break}if((b[o+(c[m+(s<<2)>>2]<<1)>>1]|0)==0){s=s-1|0}else{Q=763;break}}do{if((Q|0)==763){Q=0;if((s|0)<1){O=1;P=r;break}q=g+(u<<2)|0;t=a+184+u|0;z=1;do{v=c[q>>2]|0;w=z*3|0;x=v+(w-3)|0;dn(a,x,0);y=b[o+(c[m+(z<<2)>>2]<<1)>>1]|0;p=v+(w-2)|0;if(y<<16>>16==0){w=z;v=x;E=p;while(1){dn(a,E,0);D=v+3|0;M=w+1|0;H=b[o+(c[m+(M<<2)>>2]<<1)>>1]|0;I=v+4|0;if(H<<16>>16==0){w=M;v=D;E=I}else{R=M;S=D;T=H;U=I;break}}}else{R=z;S=x;T=y;U=p}E=T<<16>>16;dn(a,U,1);if(T<<16>>16>0){dn(a,n,0);V=E}else{dn(a,n,1);V=-E|0}E=S+2|0;v=V-1|0;do{if((v|0)==0){Q=775}else{dn(a,E,1);if(v>>>0<2){Q=775;break}dn(a,E,1);w=(c[q>>2]|0)+((R|0)<=(d[t]|0)?189:217)|0;I=v>>2;if((I|0)==0){dn(a,w,0);W=1;X=w+14|0}else{H=2;D=w;w=I;do{dn(a,D,1);H=H<<1;D=D+1|0;w=w>>1;}while((w|0)!=0);w=H>>1;dn(a,D,0);if((w|0)==0){break}else{W=w;X=D+14|0}}w=W;do{dn(a,X,(w&v|0)!=0|0);w=w>>1;}while((w|0)!=0)}}while(0);if((Q|0)==775){Q=0;dn(a,E,0)}z=R+1|0;}while((z|0)<=(s|0));O=z;P=c[j>>2]|0}}while(0);if((O|0)<=(P|0)){dn(a,(c[g+(u<<2)>>2]|0)+((O*3|0)-3)|0,1)}f=f+1|0;}while((f|0)<(c[h>>2]|0));return 1}function dm(b,d){b=b|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;e=c[b+420>>2]|0;dg(b);f=b+24|0;g=c[f>>2]|0;h=g|0;i=c[h>>2]|0;c[h>>2]=i+1;a[i]=-1;i=g+4|0;h=(c[i>>2]|0)-1|0;c[i>>2]=h;do{if((h|0)==0){if((aP[c[g+12>>2]&31](b)|0)!=0){break}i=b|0;c[(c[i>>2]|0)+20>>2]=25;aL[c[c[i>>2]>>2]&127](b)}}while(0);g=c[f>>2]|0;f=g|0;h=c[f>>2]|0;c[f>>2]=h+1;a[h]=d+208&255;d=g+4|0;h=(c[d>>2]|0)-1|0;c[d>>2]=h;do{if((h|0)==0){if((aP[c[g+12>>2]&31](b)|0)!=0){break}d=b|0;c[(c[d>>2]|0)+20>>2]=25;aL[c[c[d>>2]>>2]&127](b)}}while(0);g=b+288|0;if((c[g>>2]|0)<=0){j=e+12|0;c[j>>2]=0;k=e+16|0;c[k>>2]=65536;l=e+20|0;c[l>>2]=0;m=e+24|0;c[m>>2]=0;n=e+28|0;c[n>>2]=11;o=e+32|0;c[o>>2]=-1;return}h=b+360|0;d=b+368|0;f=e+76|0;i=e+36|0;p=e+52|0;q=b+364|0;r=e+140|0;s=0;do{t=c[b+292+(s<<2)>>2]|0;do{if((c[h>>2]|0)==0){if((c[d>>2]|0)!=0){break}fv(c[f+(c[t+20>>2]<<2)>>2]|0,0,64);c[i+(s<<2)>>2]=0;c[p+(s<<2)>>2]=0}}while(0);if((c[q>>2]|0)!=0){fv(c[r+(c[t+24>>2]<<2)>>2]|0,0,256)}s=s+1|0;}while((s|0)<(c[g>>2]|0));j=e+12|0;c[j>>2]=0;k=e+16|0;c[k>>2]=65536;l=e+20|0;c[l>>2]=0;m=e+24|0;c[m>>2]=0;n=e+28|0;c[n>>2]=11;o=e+32|0;c[o>>2]=-1;return}function dn(b,e,f){b=b|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,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;g=c[b+420>>2]|0;h=d[e]|0;i=c[3800+((h&127)<<2)>>2]|0;j=i>>>8;k=i>>16;l=g+16|0;m=l;n=(c[m>>2]|0)-k|0;c[l>>2]=n;if((h>>>7|0)==(f|0)){if((n|0)>32767){return}if((n|0)<(k|0)){f=g+12|0;c[f>>2]=(c[f>>2]|0)+n;c[l>>2]=k}o=h&128^j}else{if((n|0)>=(k|0)){j=g+12|0;c[j>>2]=(c[j>>2]|0)+n;c[l>>2]=k}o=h&128^i}a[e]=o&255;o=g+12|0;e=o;i=o|0;o=g+28|0;h=o;k=g+32|0;n=k;j=g+24|0;f=j;p=b+24|0;q=b|0;r=b;s=j|0;j=g+20|0;g=j;t=c[m>>2]|0;u=c[e>>2]|0;v=c[h>>2]|0;while(1){w=t<<1;c[l>>2]=w;x=u<<1;c[i>>2]=x;y=v-1|0;c[o>>2]=y;if((y|0)==0){z=x>>19;do{if((z|0)>255){A=c[n>>2]|0;do{if((A|0)>-1){if((c[f>>2]|0)==0){B=A}else{do{C=c[p>>2]|0;D=C|0;E=c[D>>2]|0;c[D>>2]=E+1;a[E]=0;E=C+4|0;D=(c[E>>2]|0)-1|0;c[E>>2]=D;do{if((D|0)==0){if((aP[c[C+12>>2]&31](b)|0)!=0){break}c[(c[q>>2]|0)+20>>2]=25;aL[c[c[q>>2]>>2]&127](r)}}while(0);C=(c[f>>2]|0)-1|0;c[s>>2]=C;}while((C|0)!=0);B=c[n>>2]|0}C=c[p>>2]|0;D=C|0;E=c[D>>2]|0;c[D>>2]=E+1;a[E]=B+1&255;E=C+4|0;D=(c[E>>2]|0)-1|0;c[E>>2]=D;do{if((D|0)==0){if((aP[c[C+12>>2]&31](b)|0)!=0){break}c[(c[q>>2]|0)+20>>2]=25;aL[c[c[q>>2]>>2]&127](r)}}while(0);if((c[n>>2]|0)!=254){break}C=c[p>>2]|0;D=C|0;E=c[D>>2]|0;c[D>>2]=E+1;a[E]=0;E=C+4|0;D=(c[E>>2]|0)-1|0;c[E>>2]=D;if((D|0)!=0){break}if((aP[c[C+12>>2]&31](b)|0)!=0){break}c[(c[q>>2]|0)+20>>2]=25;aL[c[c[q>>2]>>2]&127](r)}}while(0);c[s>>2]=(c[f>>2]|0)+(c[g>>2]|0);c[j>>2]=0;c[k>>2]=z&255}else{if((z|0)==255){c[j>>2]=(c[g>>2]|0)+1;break}A=c[n>>2]|0;do{if((A|0)==0){c[s>>2]=(c[f>>2]|0)+1}else{if((A|0)<=-1){break}if((c[f>>2]|0)==0){F=A&255}else{do{C=c[p>>2]|0;D=C|0;E=c[D>>2]|0;c[D>>2]=E+1;a[E]=0;E=C+4|0;D=(c[E>>2]|0)-1|0;c[E>>2]=D;do{if((D|0)==0){if((aP[c[C+12>>2]&31](b)|0)!=0){break}c[(c[q>>2]|0)+20>>2]=25;aL[c[c[q>>2]>>2]&127](r)}}while(0);C=(c[f>>2]|0)-1|0;c[s>>2]=C;}while((C|0)!=0);F=c[n>>2]&255}C=c[p>>2]|0;D=C|0;E=c[D>>2]|0;c[D>>2]=E+1;a[E]=F;E=C+4|0;D=(c[E>>2]|0)-1|0;c[E>>2]=D;if((D|0)!=0){break}if((aP[c[C+12>>2]&31](b)|0)!=0){break}c[(c[q>>2]|0)+20>>2]=25;aL[c[c[q>>2]>>2]&127](r)}}while(0);if((c[g>>2]|0)!=0){if((c[f>>2]|0)!=0){do{A=c[p>>2]|0;C=A|0;D=c[C>>2]|0;c[C>>2]=D+1;a[D]=0;D=A+4|0;C=(c[D>>2]|0)-1|0;c[D>>2]=C;do{if((C|0)==0){if((aP[c[A+12>>2]&31](b)|0)!=0){break}c[(c[q>>2]|0)+20>>2]=25;aL[c[c[q>>2]>>2]&127](r)}}while(0);A=(c[f>>2]|0)-1|0;c[s>>2]=A;}while((A|0)!=0)}do{A=c[p>>2]|0;C=A|0;D=c[C>>2]|0;c[C>>2]=D+1;a[D]=-1;D=A+4|0;C=(c[D>>2]|0)-1|0;c[D>>2]=C;do{if((C|0)==0){if((aP[c[A+12>>2]&31](b)|0)!=0){break}c[(c[q>>2]|0)+20>>2]=25;aL[c[c[q>>2]>>2]&127](r)}}while(0);A=c[p>>2]|0;C=A|0;D=c[C>>2]|0;c[C>>2]=D+1;a[D]=0;D=A+4|0;C=(c[D>>2]|0)-1|0;c[D>>2]=C;do{if((C|0)==0){if((aP[c[A+12>>2]&31](b)|0)!=0){break}c[(c[q>>2]|0)+20>>2]=25;aL[c[c[q>>2]>>2]&127](r)}}while(0);A=(c[g>>2]|0)-1|0;c[j>>2]=A;}while((A|0)!=0)}c[k>>2]=z&255}}while(0);z=c[e>>2]&524287;c[i>>2]=z;A=(c[h>>2]|0)+8|0;c[o>>2]=A;G=z;H=A;I=c[m>>2]|0}else{G=x;H=y;I=w}if((I|0)<32768){t=I;u=G;v=H}else{break}}return}function dp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+400|0;e=c[d>>2]|0;c[e+8>>2]=0;f=c[d>>2]|0;do{if((c[a+288>>2]|0)>1){c[f+20>>2]=1}else{d=c[a+292>>2]|0;if((c[f+8>>2]|0)>>>0<((c[a+284>>2]|0)-1|0)>>>0){c[f+20>>2]=c[d+12>>2];break}else{c[f+20>>2]=c[d+76>>2];break}}}while(0);c[f+12>>2]=0;c[f+16>>2]=0;if((b|0)==0){if((c[e+64>>2]|0)!=0){f=a|0;c[(c[f>>2]|0)+20>>2]=3;aL[c[c[f>>2]>>2]&127](a)}c[e+4>>2]=46;return}else if((b|0)==3){if((c[e+64>>2]|0)==0){f=a|0;c[(c[f>>2]|0)+20>>2]=3;aL[c[c[f>>2]>>2]&127](a)}c[e+4>>2]=28;return}else if((b|0)==2){if((c[e+64>>2]|0)==0){b=a|0;c[(c[b>>2]|0)+20>>2]=3;aL[c[c[b>>2]>>2]&127](a)}c[e+4>>2]=58;return}else{e=a|0;c[(c[e>>2]|0)+20>>2]=3;aL[c[c[e>>2]>>2]&127](a);return}}function dq(a,d){a=a|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,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,_=0,$=0;e=a+400|0;f=c[e>>2]|0;g=(c[a+308>>2]|0)-1|0;h=a+284|0;i=(c[h>>2]|0)-1|0;j=f+16|0;k=c[j>>2]|0;l=f+20|0;L1243:do{if((k|0)<(c[l>>2]|0)){m=f+12|0;n=a+288|0;o=a+420|0;p=f+24|0;q=p;r=a+416|0;s=f+8|0;t=s;u=p;p=k;v=c[m>>2]|0;L1245:while(1){w=v;while(1){if(w>>>0>g>>>0){break}x=c[n>>2]|0;if((x|0)>0){y=w>>>0<g>>>0;z=0;A=0;B=x;while(1){x=c[a+292+(z<<2)>>2]|0;C=x+4|0;D=c[(c[r>>2]|0)+4+(c[C>>2]<<2)>>2]|0;E=x+56|0;F=c[(y?E:x+72|0)>>2]|0;G=Z(c[x+68>>2]|0,w)|0;H=x+40|0;I=x+60|0;if((c[I>>2]|0)>0){J=x+76|0;K=0;L=Z(c[H>>2]|0,p)|0;M=A;while(1){do{if((c[t>>2]|0)>>>0<i>>>0){N=895}else{if((K+p|0)<(c[J>>2]|0)){N=895;break}fv(c[u+(M<<2)>>2]|0,0,c[E>>2]<<7|0);O=c[E>>2]|0;if((O|0)<=0){P=O;break}O=u+(M-1<<2)|0;Q=0;while(1){b[c[u+(Q+M<<2)>>2]>>1]=b[c[O>>2]>>1]|0;R=Q+1|0;S=c[E>>2]|0;if((R|0)<(S|0)){Q=R}else{P=S;break}}}}while(0);do{if((N|0)==895){N=0;aW[D&31](a,x,c[d+(c[C>>2]<<2)>>2]|0,c[u+(M<<2)>>2]|0,L,G,F);Q=c[E>>2]|0;if((F|0)>=(Q|0)){P=Q;break}fv(c[u+(M+F<<2)>>2]|0,0,Q-F<<7|0);Q=c[E>>2]|0;if((F|0)<(Q|0)){T=F}else{P=Q;break}while(1){Q=T+M|0;b[c[u+(Q<<2)>>2]>>1]=b[c[u+(Q-1<<2)>>2]>>1]|0;Q=T+1|0;O=c[E>>2]|0;if((Q|0)<(O|0)){T=Q}else{P=O;break}}}}while(0);U=P+M|0;O=K+1|0;if((O|0)<(c[I>>2]|0)){K=O;L=(c[H>>2]|0)+L|0;M=U}else{break}}V=U;W=c[n>>2]|0}else{V=A;W=B}M=z+1|0;if((M|0)<(W|0)){z=M;A=V;B=W}else{break}}}if((aU[c[(c[o>>2]|0)+4>>2]&127](a,q)|0)==0){break L1245}else{w=w+1|0}}c[m>>2]=0;B=p+1|0;if((B|0)<(c[l>>2]|0)){p=B;v=0}else{X=s;Y=t;_=n;break L1243}}c[j>>2]=p;c[m>>2]=w;$=0;return $|0}else{n=f+8|0;X=n;Y=n;_=a+288|0}}while(0);c[X>>2]=(c[Y>>2]|0)+1;Y=c[e>>2]|0;do{if((c[_>>2]|0)>1){c[Y+20>>2]=1}else{e=c[a+292>>2]|0;if((c[Y+8>>2]|0)>>>0<((c[h>>2]|0)-1|0)>>>0){c[Y+20>>2]=c[e+12>>2];break}else{c[Y+20>>2]=c[e+76>>2];break}}}while(0);c[Y+12>>2]=0;c[Y+16>>2]=0;$=1;return $|0}function dr(a,d){a=a|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,A=0,B=0,C=0,D=0,E=0,F=0,G=0;e=c[a+400>>2]|0;f=(c[a+284>>2]|0)-1|0;g=a+76|0;if((c[g>>2]|0)<=0){h=ds(a,d)|0;return h|0}i=a+4|0;j=a;k=e+64|0;l=e+8|0;e=a+416|0;m=0;n=c[a+84>>2]|0;while(1){o=c[(c[i>>2]|0)+32>>2]|0;p=c[k+(m<<2)>>2]|0;q=n+12|0;r=c[q>>2]|0;s=Z(r,c[l>>2]|0)|0;t=aV[o&15](j,p,s,r,1)|0;r=c[l>>2]|0;if(r>>>0<f>>>0){u=c[q>>2]|0}else{s=c[q>>2]|0;p=((c[n+32>>2]|0)>>>0)%(s>>>0)|0;u=(p|0)==0?s:p}p=c[n+28>>2]|0;s=c[n+8>>2]|0;o=(p>>>0)%(s>>>0)|0;v=(o|0)>0?s-o|0:o;o=c[(c[e>>2]|0)+4+(m<<2)>>2]|0;if((u|0)>0){w=d+(m<<2)|0;x=n+40|0;y=(v|0)>0;z=v<<7;A=p-1|0;B=0;do{C=c[t+(B<<2)>>2]|0;D=c[w>>2]|0;E=Z(c[x>>2]|0,B)|0;aW[o&31](a,n,D,C,E,0,p);if(y){fv(C+(p<<7)|0,0,z|0);E=b[C+(A<<7)>>1]|0;D=0;do{b[C+(D+p<<7)>>1]=E;D=D+1|0;}while((D|0)<(v|0))}B=B+1|0;}while((B|0)<(u|0));F=c[l>>2]|0}else{F=r}do{if((F|0)==(f|0)){B=v+p|0;A=(B>>>0)/(s>>>0)|0;if((u|0)>=(c[q>>2]|0)){break}z=B<<7;B=(A|0)==0;y=s-1|0;o=(s|0)>0;x=u;do{w=c[t+(x<<2)>>2]|0;D=c[t+(x-1<<2)>>2]|0;fv(w|0,0,z|0);if(!B){E=0;C=w;w=D;while(1){D=b[w+(y<<7)>>1]|0;if(o){G=0;do{b[C+(G<<7)>>1]=D;G=G+1|0;}while((G|0)<(s|0))}G=E+1|0;if(G>>>0<A>>>0){E=G;C=C+(s<<7)|0;w=w+(s<<7)|0}else{break}}}x=x+1|0;}while((x|0)<(c[q>>2]|0))}}while(0);q=m+1|0;if((q|0)>=(c[g>>2]|0)){break}m=q;n=n+88|0}h=ds(a,d)|0;return h|0}function ds(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,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;b=i;i=i+16|0;d=b|0;e=a+400|0;f=c[e>>2]|0;g=a+288|0;if((c[g>>2]|0)>0){h=a+4|0;j=a;k=f+64|0;l=f+8|0;m=0;do{n=c[a+292+(m<<2)>>2]|0;o=c[(c[h>>2]|0)+32>>2]|0;p=c[k+(c[n+4>>2]<<2)>>2]|0;q=c[n+12>>2]|0;n=Z(q,c[l>>2]|0)|0;c[d+(m<<2)>>2]=aV[o&15](j,p,n,q,0)|0;m=m+1|0;}while((m|0)<(c[g>>2]|0))}m=f+16|0;j=c[m>>2]|0;l=f+20|0;L1329:do{if((j|0)<(c[l>>2]|0)){k=f+12|0;h=a+308|0;q=a+420|0;n=f+24|0;p=n;o=n;n=j;r=c[k>>2]|0;L1331:while(1){s=r;while(1){if(s>>>0>=(c[h>>2]|0)>>>0){break}t=c[g>>2]|0;if((t|0)>0){u=0;v=0;w=t;while(1){t=c[a+292+(v<<2)>>2]|0;x=t+56|0;y=c[x>>2]|0;z=Z(y,s)|0;A=t+60|0;t=c[A>>2]|0;if((t|0)>0){B=c[d+(v<<2)>>2]|0;C=u;D=0;E=y;y=t;while(1){if((E|0)>0){t=C;F=0;G=(c[B+(D+n<<2)>>2]|0)+(z<<7)|0;while(1){H=t+1|0;c[o+(t<<2)>>2]=G;I=F+1|0;J=c[x>>2]|0;if((I|0)<(J|0)){t=H;F=I;G=G+128|0}else{break}}K=H;L=J;M=c[A>>2]|0}else{K=C;L=E;M=y}G=D+1|0;if((G|0)<(M|0)){C=K;D=G;E=L;y=M}else{break}}N=K;O=c[g>>2]|0}else{N=u;O=w}y=v+1|0;if((y|0)<(O|0)){u=N;v=y;w=O}else{break}}}if((aU[c[(c[q>>2]|0)+4>>2]&127](a,p)|0)==0){break L1331}else{s=s+1|0}}c[k>>2]=0;w=n+1|0;if((w|0)<(c[l>>2]|0)){n=w;r=0}else{break L1329}}c[m>>2]=n;c[k>>2]=s;P=0;i=b;return P|0}}while(0);s=f+8|0;c[s>>2]=(c[s>>2]|0)+1;s=c[e>>2]|0;do{if((c[g>>2]|0)>1){c[s+20>>2]=1}else{e=c[a+292>>2]|0;if((c[s+8>>2]|0)>>>0<((c[a+284>>2]|0)-1|0)>>>0){c[s+20>>2]=c[e+12>>2];break}else{c[s+20>>2]=c[e+76>>2];break}}}while(0);c[s+12>>2]=0;c[s+16>>2]=0;P=1;i=b;return P|0}function dt(a){a=a|0;return}function du(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=c[b+28>>2]|0;i=c[b+36>>2]|0;if((g|0)<=0){return}b=(h|0)==0;j=f;f=d;d=g;while(1){g=d-1|0;k=f+4|0;l=c[(c[e>>2]|0)+(j<<2)>>2]|0;m=j+1|0;if(!b){n=c[f>>2]|0;o=0;while(1){a[l+o|0]=a[n]|0;p=o+1|0;if(p>>>0<h>>>0){n=n+i|0;o=p}else{break}}}if((g|0)>0){j=m;f=k;d=g}else{break}}return}function dv(a){a=a|0;var b=0,d=0;b=c[a+408>>2]|0;d=aO[c[c[a+4>>2]>>2]&15](a,1,8192)|0;a=d;c[b+8>>2]=d;d=0;do{c[a+(d<<2)>>2]=d*19595|0;c[a+(d+256<<2)>>2]=d*38470|0;c[a+(d+512<<2)>>2]=(d*7471|0)+32768;c[a+(d+768<<2)>>2]=d*-11059|0;c[a+(d+1024<<2)>>2]=d*-21709|0;c[a+(d+1280<<2)>>2]=(d<<15)+8421375;c[a+(d+1536<<2)>>2]=d*-27439|0;c[a+(d+1792<<2)>>2]=d*-5329|0;d=d+1|0;}while((d|0)<256);return}function dw(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=c[(c[b+408>>2]|0)+8>>2]|0;j=c[b+28>>2]|0;if((h|0)<=0){return}b=(j|0)==0;k=g;g=e;e=h;while(1){h=e-1|0;l=g+4|0;m=c[(c[f>>2]|0)+(k<<2)>>2]|0;n=k+1|0;if(!b){o=c[g>>2]|0;p=0;while(1){a[m+p|0]=((c[i+((d[o+1|0]|0|256)<<2)>>2]|0)+(c[i+((d[o]|0)<<2)>>2]|0)+(c[i+((d[o+2|0]|0|512)<<2)>>2]|0)|0)>>>16&255;q=p+1|0;if(q>>>0<j>>>0){o=o+3|0;p=q}else{break}}}if((h|0)>0){k=n;g=l;e=h}else{break}}return}function dx(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=c[b+76>>2]|0;i=c[b+28>>2]|0;if((g|0)<=0){return}b=(h|0)>0;j=(i|0)==0;k=f;f=d;d=g;while(1){g=d-1|0;if(b){l=0;do{m=c[(c[e+(l<<2)>>2]|0)+(k<<2)>>2]|0;if(!j){n=c[f>>2]|0;o=0;while(1){a[m+o|0]=a[n+l|0]|0;p=o+1|0;if(p>>>0<i>>>0){n=n+h|0;o=p}else{break}}}l=l+1|0;}while((l|0)<(h|0))}if((g|0)>0){k=k+1|0;f=f+4|0;d=g}else{break}}return}function dy(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;i=c[(c[b+408>>2]|0)+8>>2]|0;j=c[b+28>>2]|0;if((h|0)<=0){return}b=f+4|0;k=f+8|0;l=(j|0)==0;m=g;g=e;e=h;while(1){h=e-1|0;n=g+4|0;o=c[(c[f>>2]|0)+(m<<2)>>2]|0;p=c[(c[b>>2]|0)+(m<<2)>>2]|0;q=c[(c[k>>2]|0)+(m<<2)>>2]|0;r=m+1|0;if(!l){s=c[g>>2]|0;t=0;while(1){u=d[s]|0;v=d[s+1|0]|0;w=d[s+2|0]|0;a[o+t|0]=((c[i+((v|256)<<2)>>2]|0)+(c[i+(u<<2)>>2]|0)+(c[i+((w|512)<<2)>>2]|0)|0)>>>16&255;a[p+t|0]=((c[i+((v|1024)<<2)>>2]|0)+(c[i+((u|768)<<2)>>2]|0)+(c[i+((w|1280)<<2)>>2]|0)|0)>>>16&255;a[q+t|0]=((c[i+((v|1536)<<2)>>2]|0)+(c[i+((u|1280)<<2)>>2]|0)+(c[i+((w|1792)<<2)>>2]|0)|0)>>>16&255;w=t+1|0;if(w>>>0<j>>>0){s=s+3|0;t=w}else{break}}}if((h|0)>0){m=r;g=n;e=h}else{break}}return}function dz(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,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;i=c[(c[b+408>>2]|0)+8>>2]|0;j=c[b+28>>2]|0;if((h|0)<=0){return}b=f+4|0;k=f+8|0;l=f+12|0;m=(j|0)==0;n=g;g=e;e=h;while(1){h=e-1|0;o=g+4|0;p=c[(c[f>>2]|0)+(n<<2)>>2]|0;q=c[(c[b>>2]|0)+(n<<2)>>2]|0;r=c[(c[k>>2]|0)+(n<<2)>>2]|0;s=c[(c[l>>2]|0)+(n<<2)>>2]|0;t=n+1|0;if(!m){u=c[g>>2]|0;v=0;while(1){w=(d[u]|0)^255;x=(d[u+1|0]|0)^255;y=(d[u+2|0]|0)^255;a[s+v|0]=a[u+3|0]|0;a[p+v|0]=((c[i+((x|256)<<2)>>2]|0)+(c[i+(w<<2)>>2]|0)+(c[i+((y|512)<<2)>>2]|0)|0)>>>16&255;a[q+v|0]=((c[i+((x|1024)<<2)>>2]|0)+(c[i+((w|768)<<2)>>2]|0)+(c[i+((y|1280)<<2)>>2]|0)|0)>>>16&255;a[r+v|0]=((c[i+((x|1536)<<2)>>2]|0)+(c[i+((w|1280)<<2)>>2]|0)+(c[i+((y|1792)<<2)>>2]|0)|0)>>>16&255;y=v+1|0;if(y>>>0<j>>>0){u=u+4|0;v=y}else{break}}}if((h|0)>0){n=t;g=o;e=h}else{break}}return}function dA(a){a=a|0;var d=0,f=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.0,D=0,E=0;d=c[a+416>>2]|0;f=a+76|0;if((c[f>>2]|0)<=0){return}i=a|0;j=a;k=d+84|0;l=a+4|0;m=d+140|0;n=d+44|0;o=a+232|0;p=d+100|0;q=c[a+84>>2]|0;r=0;s=0;while(1){t=q+36|0;u=q+40|0;L1439:do{switch((c[t>>2]<<8)+(c[u>>2]|0)|0){case 2052:{c[n+(s<<2)>>2]=12;v=0;break};case 1539:{c[n+(s<<2)>>2]=20;v=0;break};case 2827:{c[n+(s<<2)>>2]=42;v=0;break};case 1026:{c[n+(s<<2)>>2]=10;v=0;break};case 513:{c[n+(s<<2)>>2]=52;v=0;break};case 257:{c[n+(s<<2)>>2]=26;v=0;break};case 3855:{c[n+(s<<2)>>2]=76;v=0;break};case 2064:{c[n+(s<<2)>>2]=44;v=0;break};case 1806:{c[n+(s<<2)>>2]=38;v=0;break};case 4112:{c[n+(s<<2)>>2]=36;v=0;break};case 4104:{c[n+(s<<2)>>2]=66;v=0;break};case 1548:{c[n+(s<<2)>>2]=68;v=0;break};case 1290:{c[n+(s<<2)>>2]=46;v=0;break};case 2570:{c[n+(s<<2)>>2]=22;v=0;break};case 3591:{c[n+(s<<2)>>2]=60;v=0;break};case 1285:{c[n+(s<<2)>>2]=32;v=0;break};case 1799:{c[n+(s<<2)>>2]=54;v=0;break};case 3341:{c[n+(s<<2)>>2]=24;v=0;break};case 3598:{c[n+(s<<2)>>2]=62;v=0;break};case 514:{c[n+(s<<2)>>2]=50;v=0;break};case 1032:{c[n+(s<<2)>>2]=18;v=0;break};case 774:{c[n+(s<<2)>>2]=64;v=0;break};case 516:{c[n+(s<<2)>>2]=48;v=0;break};case 771:{c[n+(s<<2)>>2]=78;v=0;break};case 1028:{c[n+(s<<2)>>2]=14;v=0;break};case 2313:{c[n+(s<<2)>>2]=56;v=0;break};case 3084:{c[n+(s<<2)>>2]=16;v=0;break};case 3078:{c[n+(s<<2)>>2]=72;v=0;break};case 2565:{c[n+(s<<2)>>2]=34;v=0;break};case 258:{c[n+(s<<2)>>2]=28;v=0;break};case 2056:{w=c[o>>2]|0;if((w|0)==0){c[n+(s<<2)>>2]=30;v=0;break L1439}else if((w|0)==1){c[n+(s<<2)>>2]=40;v=1;break L1439}else if((w|0)==2){c[p+(s<<2)>>2]=74;v=2;break L1439}else{c[(c[i>>2]|0)+20>>2]=49;aL[c[c[i>>2]>>2]&127](j);v=r;break L1439}break};case 1542:{c[n+(s<<2)>>2]=58;v=0;break};default:{c[(c[i>>2]|0)+20>>2]=7;c[(c[i>>2]|0)+24>>2]=c[t>>2];c[(c[i>>2]|0)+28>>2]=c[u>>2];aL[c[c[i>>2]>>2]&127](j);v=r}}}while(0);u=c[q+16>>2]|0;t=a+88+(u<<2)|0;if(u>>>0>3){x=1063}else{w=c[t>>2]|0;if((w|0)==0){x=1063}else{y=w}}if((x|0)==1063){x=0;c[(c[i>>2]|0)+20>>2]=54;c[(c[i>>2]|0)+24>>2]=u;aL[c[c[i>>2]>>2]&127](j);y=c[t>>2]|0}if((v|0)==1){t=k+(u<<2)|0;w=c[t>>2]|0;if((w|0)==0){z=aO[c[c[l>>2]>>2]&15](j,1,256)|0;c[t>>2]=z;A=z}else{A=w}w=0;do{c[A+(w<<2)>>2]=(Z(b[984+(w<<1)>>1]|0,e[y+(w<<1)>>1]|0)|0)+1024>>11;w=w+1|0;}while((w|0)<64);c[d+4+(s<<2)>>2]=18}else if((v|0)==2){w=m+(u<<2)|0;z=c[w>>2]|0;if((z|0)==0){t=aO[c[c[l>>2]>>2]&15](j,1,256)|0;c[w>>2]=t;B=t}else{B=z}z=0;t=0;while(1){C=+h[1112+(t<<3)>>3];g[B+(z<<2)>>2]=1.0/(+((e[y+(z<<1)>>1]|0)>>>0)*C*8.0);w=z|1;g[B+(w<<2)>>2]=1.0/(+((e[y+(w<<1)>>1]|0)>>>0)*C*1.387039845*8.0);D=w+1|0;g[B+(D<<2)>>2]=1.0/(+((e[y+(D<<1)>>1]|0)>>>0)*C*1.306562965*8.0);D=z|3;g[B+(D<<2)>>2]=1.0/(+((e[y+(D<<1)>>1]|0)>>>0)*C*1.175875602*8.0);w=D+1|0;g[B+(w<<2)>>2]=1.0/(+((e[y+(w<<1)>>1]|0)>>>0)*C*8.0);w=D+2|0;g[B+(w<<2)>>2]=1.0/(+((e[y+(w<<1)>>1]|0)>>>0)*C*.785694958*8.0);w=D+3|0;g[B+(w<<2)>>2]=1.0/(+((e[y+(w<<1)>>1]|0)>>>0)*C*.5411961*8.0);w=z|7;g[B+(w<<2)>>2]=1.0/(+((e[y+(w<<1)>>1]|0)>>>0)*C*.275899379*8.0);w=t+1|0;if((w|0)<8){z=z+8|0;t=w}else{break}}c[d+4+(s<<2)>>2]=16}else if((v|0)==0){t=k+(u<<2)|0;z=c[t>>2]|0;if((z|0)==0){w=aO[c[c[l>>2]>>2]&15](j,1,256)|0;c[t>>2]=w;E=w}else{E=z}z=0;do{c[E+(z<<2)>>2]=e[y+(z<<1)>>1]<<3;z=z+1|0;}while((z|0)<64);c[d+4+(s<<2)>>2]=18}else{c[(c[i>>2]|0)+20>>2]=49;aL[c[c[i>>2]>>2]&127](j)}z=s+1|0;if((z|0)<(c[f>>2]|0)){q=q+88|0;r=v;s=z}else{break}}return}function dB(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;k=i;i=i+256|0;l=k|0;m=c[a+416>>2]|0;a=c[m+44+(c[d+4>>2]<<2)>>2]|0;n=c[m+84+(c[d+16>>2]<<2)>>2]|0;m=e+(g<<2)|0;if((j|0)==0){i=k;return}g=l|0;e=d+36|0;d=0;o=h;while(1){aQ[a&127](g,m,o);h=0;do{p=c[n+(h<<2)>>2]|0;q=c[l+(h<<2)>>2]|0;r=p>>1;do{if((q|0)<0){s=r-q|0;if((s|0)<(p|0)){t=0}else{t=(s|0)/(p|0)|0}u=-t&65535}else{s=q+r|0;if((s|0)<(p|0)){u=0;break}u=((s|0)/(p|0)|0)&65535}}while(0);b[f+(d<<7)+(h<<1)>>1]=u;h=h+1|0;}while((h|0)<64);h=d+1|0;if(h>>>0<j>>>0){d=h;o=(c[e>>2]|0)+o|0}else{break}}i=k;return}function dC(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;l=i;i=i+256|0;m=l|0;n=c[a+416>>2]|0;a=c[n+100+(c[d+4>>2]<<2)>>2]|0;o=c[n+140+(c[d+16>>2]<<2)>>2]|0;n=e+(h<<2)|0;if((k|0)==0){i=l;return}h=m|0;e=d+36|0;d=0;p=j;while(1){aQ[a&127](h,n,p);j=0;do{b[f+(d<<7)+(j<<1)>>1]=~~(+g[m+(j<<2)>>2]*+g[o+(j<<2)>>2]+16384.5)+49152&65535;j=j+1|0;}while((j|0)<64);j=d+1|0;if(j>>>0<k>>>0){d=j;p=(c[e>>2]|0)+p|0}else{break}}i=l;return}function dD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,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=c[a+420>>2]|0;e=(b|0)!=0;c[d+8>>2]=e?54:10;do{if((c[a+264>>2]|0)==0){f=d+4|0;if(e){c[f>>2]=14;break}else{c[f>>2]=32;break}}else{c[d+120>>2]=a;c[d+108>>2]=b;f=(c[a+360>>2]|0)==0;g=d+4|0;do{if((c[a+368>>2]|0)==0){if(f){c[g>>2]=20;break}else{c[g>>2]=36;break}}else{if(f){c[g>>2]=22;break}c[g>>2]=62;h=d+136|0;if((c[h>>2]|0)!=0){break}c[h>>2]=aO[c[c[a+4>>2]>>2]&15](a,1,1e3)|0}}while(0);c[d+124>>2]=c[(c[a+292>>2]|0)+24>>2];c[d+128>>2]=0;c[d+132>>2]=0}}while(0);b=a+288|0;if((c[b>>2]|0)<=0){i=d+12|0;c[i>>2]=0;j=d+16|0;c[j>>2]=0;k=a+236|0;l=c[k>>2]|0;m=d+36|0;n=l;c[m>>2]=n;o=d+40|0;c[o>>2]=0;return}g=a+360|0;f=a+368|0;h=a|0;p=a;q=d+76|0;r=a+4|0;s=d+20|0;t=d+44|0;u=a+364|0;v=d+92|0;w=d+60|0;x=0;do{y=c[a+292+(x<<2)>>2]|0;do{if((c[g>>2]|0)==0){if((c[f>>2]|0)!=0){break}z=c[y+20>>2]|0;if(e){if(z>>>0>3){c[(c[h>>2]|0)+20>>2]=52;c[(c[h>>2]|0)+24>>2]=z;aL[c[c[h>>2]>>2]&127](p)}A=q+(z<<2)|0;B=c[A>>2]|0;if((B|0)==0){C=aO[c[c[r>>2]>>2]&15](p,1,1028)|0;c[A>>2]=C;D=C}else{D=B}fv(D|0,0,1028)}else{dM(a,1,z,t+(z<<2)|0)}c[s+(x<<2)>>2]=0}}while(0);do{if((c[u>>2]|0)!=0){z=c[y+24>>2]|0;if(!e){dM(a,0,z,w+(z<<2)|0);break}if(z>>>0>3){c[(c[h>>2]|0)+20>>2]=52;c[(c[h>>2]|0)+24>>2]=z;aL[c[c[h>>2]>>2]&127](p)}B=v+(z<<2)|0;z=c[B>>2]|0;if((z|0)==0){C=aO[c[c[r>>2]>>2]&15](p,1,1028)|0;c[B>>2]=C;E=C}else{E=z}fv(E|0,0,1028)}}while(0);x=x+1|0;}while((x|0)<(c[b>>2]|0));i=d+12|0;c[i>>2]=0;j=d+16|0;c[j>>2]=0;k=a+236|0;l=c[k>>2]|0;m=d+36|0;n=l;c[m>>2]=n;o=d+40|0;c[o>>2]=0;return}function dE(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;b=i;i=i+32|0;d=b|0;e=b+16|0;f=c[a+420>>2]|0;if((c[a+264>>2]|0)!=0){dO(f)}fv(d|0,0,16);fv(e|0,0,16);g=a+288|0;if((c[g>>2]|0)<=0){i=b;return}h=a+360|0;j=a+368|0;k=a;l=a+4|0;m=f+76|0;n=a+364|0;o=f+92|0;f=0;do{p=c[a+292+(f<<2)>>2]|0;do{if((c[h>>2]|0)==0){if((c[j>>2]|0)!=0){break}q=c[p+20>>2]|0;r=d+(q<<2)|0;if((c[r>>2]|0)!=0){break}s=a+120+(q<<2)|0;t=c[s>>2]|0;if((t|0)==0){u=aO[c[c[l>>2]>>2]&15](k,0,280)|0;v=u;c[u+276>>2]=0;c[s>>2]=v;w=v}else{w=t}dQ(a,w,c[m+(q<<2)>>2]|0);c[r>>2]=1}}while(0);do{if((c[n>>2]|0)!=0){r=c[p+24>>2]|0;q=e+(r<<2)|0;if((c[q>>2]|0)!=0){break}t=a+136+(r<<2)|0;v=c[t>>2]|0;if((v|0)==0){s=aO[c[c[l>>2]>>2]&15](k,0,280)|0;u=s;c[s+276>>2]=0;c[t>>2]=u;x=u}else{x=v}dQ(a,x,c[o+(r<<2)>>2]|0);c[q>>2]=1}}while(0);f=f+1|0;}while((f|0)<(c[g>>2]|0));i=b;return}function dF(b){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,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+16|0;e=c[b+420>>2]|0;f=e;g=b+24|0;h=c[g>>2]|0;j=c[h>>2]|0;if((c[b+264>>2]|0)!=0){k=e+112|0;c[k>>2]=j;l=e+116|0;c[l>>2]=c[(c[g>>2]|0)+4>>2];dO(f);dP(f,127,7);c[e+12>>2]=0;c[e+16>>2]=0;c[c[g>>2]>>2]=c[k>>2];c[(c[g>>2]|0)+4>>2]=c[l>>2];i=d;return}l=c[h+4>>2]|0;h=e+12|0;k=c[h>>2]|0;f=e+16|0;m=c[f>>2]|0;n=e+20|0;e=d|0;c[e>>2]=c[n>>2];c[e+4>>2]=c[n+4>>2];c[e+8>>2]=c[n+8>>2];c[e+12>>2]=c[n+12>>2];L1618:do{if((m|0)>0){o=127<<17-m|k;p=m+7|0;q=j;r=l;L1620:while(1){s=o>>>16;t=s&255;u=q+1|0;a[q]=s&255;s=r-1|0;if((s|0)==0){v=c[g>>2]|0;if((aP[c[v+12>>2]&31](b)|0)==0){w=u;break}x=c[v>>2]|0;y=c[v+4>>2]|0}else{x=u;y=s}do{if((t|0)==255){s=x+1|0;a[x]=0;u=y-1|0;if((u|0)!=0){z=s;A=u;break}u=c[g>>2]|0;if((aP[c[u+12>>2]&31](b)|0)==0){w=s;break L1620}z=c[u>>2]|0;A=c[u+4>>2]|0}else{z=x;A=y}}while(0);t=p-8|0;if((t|0)>7){o=o<<8;p=t;q=z;r=A}else{B=z;C=A;D=0;E=0;break L1618}}r=b|0;c[(c[r>>2]|0)+20>>2]=25;aL[c[c[r>>2]>>2]&127](b);B=w;C=0;D=m;E=k}else{B=j;C=l;D=0;E=0}}while(0);c[c[g>>2]>>2]=B;c[(c[g>>2]|0)+4>>2]=C;c[h>>2]=E;c[f>>2]=D;c[n>>2]=c[e>>2];c[n+4>>2]=c[e+4>>2];c[n+8>>2]=c[e+8>>2];c[n+12>>2]=c[e+12>>2];i=d;return}function dG(d,e){d=d|0;e=e|0;var 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;f=c[d+420>>2]|0;g=f;h=c[d+372>>2]|0;i=d+24|0;j=f+112|0;c[j>>2]=c[c[i>>2]>>2];k=f+116|0;l=k;c[k>>2]=c[(c[i>>2]|0)+4>>2];k=d+236|0;do{if((c[k>>2]|0)!=0){if((c[f+36>>2]|0)!=0){break}dN(g,c[f+40>>2]|0)}}while(0);m=d+316|0;if((c[m>>2]|0)>0){n=f+20|0;o=d|0;p=d;q=f+108|0;r=0;do{s=c[d+320+(r<<2)>>2]|0;t=c[d+292+(s<<2)>>2]|0;u=b[c[e+(r<<2)>>2]>>1]>>h;v=n+(s<<2)|0;s=u-(c[v>>2]|0)|0;c[v>>2]=u;if((s|0)<0){w=-s|0;x=s-1|0}else{w=s;x=s}do{if((w|0)==0){y=0}else{s=0;u=w;do{s=s+1|0;u=u>>1;}while((u|0)!=0);if((s|0)<=11){y=s;break}c[(c[o>>2]|0)+20>>2]=6;aL[c[c[o>>2]>>2]&127](p);y=s}}while(0);u=c[t+20>>2]|0;if((c[q>>2]|0)==0){v=c[g+44+(u<<2)>>2]|0;dP(g,c[v+(y<<2)>>2]|0,a[v+1024+y|0]|0)}else{v=(c[g+76+(u<<2)>>2]|0)+(y<<2)|0;c[v>>2]=(c[v>>2]|0)+1}if((y|0)!=0){dP(g,x,y)}r=r+1|0;}while((r|0)<(c[m>>2]|0))}c[c[i>>2]>>2]=c[j>>2];c[(c[i>>2]|0)+4>>2]=c[l>>2];l=c[k>>2]|0;if((l|0)==0){return 1}k=f+36|0;i=c[k>>2]|0;j=k|0;if((i|0)==0){c[j>>2]=l;k=f+40|0;c[k>>2]=(c[k>>2]|0)+1&7;z=l}else{z=i}c[j>>2]=z-1;return 1}function dH(d,e){d=d|0;e=e|0;var 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;f=c[d+420>>2]|0;g=f;h=d+24|0;i=f+112|0;c[i>>2]=c[c[h>>2]>>2];j=f+116|0;k=j;c[j>>2]=c[(c[h>>2]|0)+4>>2];j=d+236|0;do{if((c[j>>2]|0)!=0){if((c[f+36>>2]|0)!=0){break}dN(g,c[f+40>>2]|0)}}while(0);l=c[d+364>>2]|0;m=c[d+372>>2]|0;n=c[d+380>>2]|0;o=c[e>>2]|0;e=c[d+360>>2]|0;do{if((e|0)<=(l|0)){p=f+128|0;q=p;r=d|0;s=d;t=f+124|0;u=f+108|0;v=e;w=0;while(1){x=b[o+(c[n+(v<<2)>>2]<<1)>>1]|0;y=x<<16>>16;do{if(x<<16>>16==0){z=w+1|0}else{if(x<<16>>16<0){A=-y>>m;B=A;C=~A}else{A=y>>m;B=A;C=A}if((B|0)==0){z=w+1|0;break}if((c[q>>2]|0)!=0){dO(g)}if((w|0)>15){A=w;do{D=c[t>>2]|0;if((c[u>>2]|0)==0){E=c[g+60+(D<<2)>>2]|0;dP(g,c[E+960>>2]|0,a[E+1264|0]|0)}else{E=(c[g+92+(D<<2)>>2]|0)+960|0;c[E>>2]=(c[E>>2]|0)+1}A=A-16|0;}while((A|0)>15);F=w&15}else{F=w}A=B;E=1;while(1){D=A>>1;if((D|0)==0){break}else{A=D;E=E+1|0}}if((E|0)>10){c[(c[r>>2]|0)+20>>2]=6;aL[c[c[r>>2]>>2]&127](s)}A=c[t>>2]|0;D=E+(F<<4)|0;if((c[u>>2]|0)==0){G=c[g+60+(A<<2)>>2]|0;dP(g,c[G+(D<<2)>>2]|0,a[G+1024+D|0]|0)}else{G=(c[g+92+(A<<2)>>2]|0)+(D<<2)|0;c[G>>2]=(c[G>>2]|0)+1}dP(g,C,E);z=0}}while(0);y=v+1|0;if((y|0)>(l|0)){break}else{v=y;w=z}}if((z|0)<=0){break}w=(c[q>>2]|0)+1|0;c[p>>2]=w;if((w|0)!=32767){break}dO(g)}}while(0);c[c[h>>2]>>2]=c[i>>2];c[(c[h>>2]|0)+4>>2]=c[k>>2];k=c[j>>2]|0;if((k|0)==0){return 1}j=f+36|0;h=c[j>>2]|0;i=j|0;if((h|0)==0){c[i>>2]=k;j=f+40|0;c[j>>2]=(c[j>>2]|0)+1&7;H=k}else{H=h}c[i>>2]=H-1;return 1}function dI(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=c[a+420>>2]|0;f=e;g=c[a+372>>2]|0;h=a+24|0;i=e+112|0;c[i>>2]=c[c[h>>2]>>2];j=e+116|0;k=j;c[j>>2]=c[(c[h>>2]|0)+4>>2];j=a+236|0;do{if((c[j>>2]|0)!=0){if((c[e+36>>2]|0)!=0){break}dN(f,c[e+40>>2]|0)}}while(0);l=a+316|0;if((c[l>>2]|0)>0){a=0;do{dP(f,b[c[d+(a<<2)>>2]>>1]>>g,1);a=a+1|0;}while((a|0)<(c[l>>2]|0))}c[c[h>>2]>>2]=c[i>>2];c[(c[h>>2]|0)+4>>2]=c[k>>2];k=c[j>>2]|0;if((k|0)==0){return 1}j=e+36|0;h=c[j>>2]|0;i=j|0;if((h|0)==0){c[i>>2]=k;j=e+40|0;c[j>>2]=(c[j>>2]|0)+1&7;m=k}else{m=h}c[i>>2]=m-1;return 1}function dJ(d,f){d=d|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,O=0,P=0,Q=0,R=0,S=0;g=i;i=i+256|0;h=g|0;j=c[d+420>>2]|0;k=j;l=d+24|0;m=j+112|0;c[m>>2]=c[c[l>>2]>>2];n=j+116|0;o=n;c[n>>2]=c[(c[l>>2]|0)+4>>2];n=d+236|0;do{if((c[n>>2]|0)!=0){if((c[j+36>>2]|0)!=0){break}dN(k,c[j+40>>2]|0)}}while(0);p=c[d+364>>2]|0;q=c[d+372>>2]|0;r=c[d+380>>2]|0;s=c[f>>2]|0;f=c[d+360>>2]|0;if((f|0)>(p|0)){d=j+132|0;t=0;u=0;v=d;w=d}else{d=0;x=f;do{y=b[s+(c[r+(x<<2)>>2]<<1)>>1]|0;z=y<<16>>16;A=(y<<16>>16<0?-z|0:z)>>q;c[h+(x<<2)>>2]=A;d=(A|0)==1?x:d;x=x+1|0;}while((x|0)<=(p|0));x=j+136|0;q=j+132|0;A=q;z=j+124|0;y=j+108|0;B=(c[x>>2]|0)+(c[A>>2]|0)|0;C=0;D=f;f=0;while(1){E=c[h+(D<<2)>>2]|0;do{if((E|0)==0){F=f+1|0;G=C;H=B}else{if((f|0)<16|(D|0)>(d|0)){I=B;J=C;K=f}else{L=B;M=C;N=f;while(1){dO(k);O=c[z>>2]|0;if((c[y>>2]|0)==0){P=c[k+60+(O<<2)>>2]|0;dP(k,c[P+960>>2]|0,a[P+1264|0]|0)}else{P=(c[k+92+(O<<2)>>2]|0)+960|0;c[P>>2]=(c[P>>2]|0)+1}P=N-16|0;if(!((c[y>>2]|0)!=0|(M|0)==0)){O=L;Q=M;while(1){dP(k,a[O]|0,1);R=Q-1|0;if((R|0)==0){break}else{O=O+1|0;Q=R}}}Q=c[x>>2]|0;if((P|0)<16){I=Q;J=0;K=P;break}else{L=Q;M=0;N=P}}}if((E|0)>1){a[I+J|0]=E&1;F=K;G=J+1|0;H=I;break}dO(k);N=c[z>>2]|0;M=K<<4|1;if((c[y>>2]|0)==0){L=c[k+60+(N<<2)>>2]|0;dP(k,c[L+(M<<2)>>2]|0,a[L+1024+M|0]|0)}else{L=(c[k+92+(N<<2)>>2]|0)+(M<<2)|0;c[L>>2]=(c[L>>2]|0)+1}dP(k,(e[s+(c[r+(D<<2)>>2]<<1)>>1]|0)>>>15&65535^1,1);if(!((c[y>>2]|0)!=0|(J|0)==0)){L=I;M=J;while(1){dP(k,a[L]|0,1);N=M-1|0;if((N|0)==0){break}else{L=L+1|0;M=N}}}F=0;G=0;H=c[x>>2]|0}}while(0);E=D+1|0;if((E|0)>(p|0)){t=G;u=F;v=q;w=A;break}else{B=H;C=G;D=E;f=F}}}do{if(!((u|0)<1&(t|0)==0)){F=j+128|0;f=(c[F>>2]|0)+1|0;c[F>>2]=f;F=(c[w>>2]|0)+t|0;c[v>>2]=F;if(!((f|0)==32767|F>>>0>937)){break}dO(k)}}while(0);c[c[l>>2]>>2]=c[m>>2];c[(c[l>>2]|0)+4>>2]=c[o>>2];o=c[n>>2]|0;if((o|0)==0){i=g;return 1}n=j+36|0;l=c[n>>2]|0;m=n|0;if((l|0)==0){c[m>>2]=o;n=j+40|0;c[n>>2]=(c[n>>2]|0)+1&7;S=o}else{S=l}c[m>>2]=S-1;i=g;return 1}function dK(a,d){a=a|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,A=0,B=0,C=0,D=0,E=0;e=c[a+420>>2]|0;f=a+236|0;g=c[f>>2]|0;if((g|0)!=0){h=e+36|0;i=c[h>>2]|0;if((i|0)==0){j=a+288|0;if((c[j>>2]|0)>0){k=e+20|0;l=0;do{c[k+(l<<2)>>2]=0;l=l+1|0;}while((l|0)<(c[j>>2]|0));m=c[f>>2]|0}else{m=g}g=h|0;c[g>>2]=m;n=m;o=g}else{n=i;o=h|0}c[o>>2]=n-1}n=a+316|0;if((c[n>>2]|0)<=0){return 1}o=e+20|0;h=e+76|0;i=e+92|0;e=a+384|0;g=a+380|0;m=a|0;f=a;j=0;do{l=c[a+320+(j<<2)>>2]|0;k=c[a+292+(l<<2)>>2]|0;p=d+(j<<2)|0;q=c[p>>2]|0;r=o+(l<<2)|0;l=c[h+(c[k+20>>2]<<2)>>2]|0;s=c[i+(c[k+24>>2]<<2)>>2]|0;k=c[e>>2]|0;t=c[g>>2]|0;u=(b[q>>1]|0)-(c[r>>2]|0)|0;v=(u|0)<0?-u|0:u;do{if((v|0)==0){w=0}else{u=0;x=v;do{u=u+1|0;x=x>>1;}while((x|0)!=0);if((u|0)<=11){w=u;break}c[(c[m>>2]|0)+20>>2]=6;aL[c[c[m>>2]>>2]&127](f);w=u}}while(0);v=l+(w<<2)|0;c[v>>2]=(c[v>>2]|0)+1;do{if((k|0)>=1){v=s+960|0;x=1;y=0;while(1){z=b[q+(c[t+(x<<2)>>2]<<1)>>1]|0;A=z<<16>>16;if(z<<16>>16==0){B=y+1|0}else{if((y|0)>15){C=y-16|0;D=C>>>4;c[v>>2]=D+1+(c[v>>2]|0);E=C-(D<<4)|0}else{E=y}D=z<<16>>16<0?-A|0:A;A=1;while(1){z=D>>1;if((z|0)==0){break}else{D=z;A=A+1|0}}if((A|0)>10){c[(c[m>>2]|0)+20>>2]=6;aL[c[c[m>>2]>>2]&127](f)}D=s+(A+(E<<4)<<2)|0;c[D>>2]=(c[D>>2]|0)+1;B=0}D=x+1|0;if((D|0)>(k|0)){break}else{x=D;y=B}}if((B|0)<=0){break}c[s>>2]=(c[s>>2]|0)+1}}while(0);c[r>>2]=b[c[p>>2]>>1]|0;j=j+1|0;}while((j|0)<(c[n>>2]|0));return 1}function dL(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,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,ab=0,ac=0,ad=0,ae=0,af=0,ag=0,ah=0,ai=0,aj=0,ak=0,al=0,am=0,an=0,ao=0,ap=0,aq=0,ar=0,as=0,at=0,au=0,av=0,aw=0,ax=0,ay=0,az=0,aA=0,aB=0,aC=0,aD=0,aE=0,aF=0,aG=0,aH=0,aI=0,aJ=0,aK=0,aM=0,aN=0,aO=0,aQ=0,aR=0,aS=0,aT=0,aU=0,aV=0,aW=0,aX=0,aY=0,aZ=0,a_=0,a$=0,a0=0,a1=0,a2=0,a3=0,a4=0,a5=0,a6=0,a7=0,a8=0,a9=0,ba=0,bb=0,bc=0,bd=0,be=0,bf=0,bg=0,bh=0,bi=0;f=i;i=i+40|0;g=f|0;h=c[d+420>>2]|0;j=d+24|0;k=c[j>>2]|0;l=c[k>>2]|0;m=g|0;c[m>>2]=l;n=c[k+4>>2]|0;k=g+4|0;c[k>>2]=n;o=g+8|0;p=h+12|0;c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2];c[o+16>>2]=c[p+16>>2];c[o+20>>2]=c[p+20>>2];q=g+32|0;c[q>>2]=d;r=d+236|0;do{if((c[r>>2]|0)==0){s=d}else{if((c[h+36>>2]|0)!=0){s=d;break}t=c[h+40>>2]|0;u=g+12|0;v=c[u>>2]|0;w=g+8|0;do{if((v|0)>0){x=c[w>>2]|127<<17-v;y=v+7|0;z=l;A=n;L1839:while(1){B=x>>>16;C=B&255;D=z+1|0;a[z]=B&255;B=A-1|0;if((B|0)==0){E=c[j>>2]|0;if((aP[c[E+12>>2]&31](d)|0)==0){F=D;break}G=c[E>>2]|0;H=c[E+4>>2]|0}else{G=D;H=B}do{if((C|0)==255){B=G+1|0;a[G]=0;D=H-1|0;if((D|0)!=0){I=B;J=D;break}D=c[j>>2]|0;if((aP[c[D+12>>2]&31](d)|0)==0){F=B;break L1839}I=c[D>>2]|0;J=c[D+4>>2]|0}else{I=G;J=H}}while(0);C=y-8|0;if((C|0)>7){x=x<<8;y=C;z=I;A=J}else{K=1335;break}}if((K|0)==1335){c[m>>2]=I;c[k>>2]=J;L=I;break}c[m>>2]=F;c[k>>2]=0;M=0;i=f;return M|0}else{L=l}}while(0);c[w>>2]=0;c[u>>2]=0;c[m>>2]=L+1;a[L]=-1;v=(c[k>>2]|0)-1|0;c[k>>2]=v;do{if((v|0)==0){A=c[q>>2]|0;z=c[A+24>>2]|0;if((aP[c[z+12>>2]&31](A)|0)==0){M=0;i=f;return M|0}else{y=c[z>>2]|0;c[m>>2]=y;x=c[z+4>>2]|0;c[k>>2]=x;N=y;O=x;P=A;break}}else{N=c[m>>2]|0;O=v;P=c[q>>2]|0}}while(0);c[m>>2]=N+1;a[N]=t+208&255;v=O-1|0;c[k>>2]=v;do{if((v|0)==0){u=c[P+24>>2]|0;if((aP[c[u+12>>2]&31](P)|0)==0){M=0;i=f;return M|0}else{c[m>>2]=c[u>>2];c[k>>2]=c[u+4>>2];break}}}while(0);if((c[P+288>>2]|0)>0){Q=0}else{s=P;break}while(1){c[g+16+(Q<<2)>>2]=0;v=Q+1|0;t=c[q>>2]|0;if((v|0)<(c[t+288>>2]|0)){Q=v}else{s=t;break}}}}while(0);Q=d+316|0;L1871:do{if((c[Q>>2]|0)>0){P=h+44|0;O=h+60|0;N=g+12|0;L=g+8|0;l=0;F=s;L1873:while(1){I=c[d+320+(l<<2)>>2]|0;J=c[d+292+(I<<2)>>2]|0;H=e+(l<<2)|0;G=c[H>>2]|0;n=g+16+(I<<2)|0;I=c[P+(c[J+20>>2]<<2)>>2]|0;t=c[O+(c[J+24>>2]<<2)>>2]|0;J=c[F+384>>2]|0;v=c[F+380>>2]|0;u=(b[G>>1]|0)-(c[n>>2]|0)|0;if((u|0)<0){R=-u|0;S=u-1|0}else{R=u;S=u}do{if((R|0)==0){T=0}else{u=0;w=R;do{u=u+1|0;w=w>>1;}while((w|0)!=0);if((u|0)<=11){T=u;break}w=F|0;c[(c[w>>2]|0)+20>>2]=6;aL[c[c[w>>2]>>2]&127](F);T=u}}while(0);w=c[I+(T<<2)>>2]|0;A=a[I+1024+T|0]|0;x=A<<24>>24;y=c[N>>2]|0;if(A<<24>>24==0){A=F|0;c[(c[A>>2]|0)+20>>2]=41;aL[c[c[A>>2]>>2]&127](F)}A=y+x|0;y=c[L>>2]|((1<<x)-1&w)<<24-A;if((A|0)>7){w=F+24|0;x=y;z=A;C=c[m>>2]|0;D=c[k>>2]|0;while(1){B=x>>>16;E=B&255;U=C+1|0;a[C]=B&255;B=D-1|0;if((B|0)==0){V=c[w>>2]|0;if((aP[c[V+12>>2]&31](F)|0)==0){W=U;K=1453;break L1873}X=c[V>>2]|0;Y=c[V+4>>2]|0}else{X=U;Y=B}do{if((E|0)==255){B=X+1|0;a[X]=0;U=Y-1|0;if((U|0)!=0){Z=B;_=U;break}U=c[w>>2]|0;if((aP[c[U+12>>2]&31](F)|0)==0){W=B;K=1453;break L1873}Z=c[U>>2]|0;_=c[U+4>>2]|0}else{Z=X;_=Y}}while(0);$=x<<8;aa=z-8|0;if((aa|0)>7){x=$;z=aa;C=Z;D=_}else{break}}c[m>>2]=Z;c[k>>2]=_;ab=$;ac=aa}else{ab=y;ac=A}c[L>>2]=ab;c[N>>2]=ac;if((T|0)==0){ad=ac;ae=ab}else{D=ac+T|0;C=((1<<T)-1&S)<<24-D|ab;if((D|0)>7){z=c[q>>2]|0;x=z+24|0;w=C;I=D;E=c[m>>2]|0;u=c[k>>2]|0;while(1){U=w>>>16;B=U&255;V=E+1|0;a[E]=U&255;U=u-1|0;if((U|0)==0){af=c[x>>2]|0;if((aP[c[af+12>>2]&31](z)|0)==0){ag=V;K=1454;break L1873}ah=c[af>>2]|0;ai=c[af+4>>2]|0}else{ah=V;ai=U}do{if((B|0)==255){U=ah+1|0;a[ah]=0;V=ai-1|0;if((V|0)!=0){aj=U;ak=V;break}V=c[x>>2]|0;if((aP[c[V+12>>2]&31](z)|0)==0){ag=U;K=1454;break L1873}aj=c[V>>2]|0;ak=c[V+4>>2]|0}else{aj=ah;ak=ai}}while(0);al=w<<8;am=I-8|0;if((am|0)>7){w=al;I=am;E=aj;u=ak}else{break}}c[m>>2]=aj;c[k>>2]=ak;an=al;ao=am}else{an=C;ao=D}c[L>>2]=an;c[N>>2]=ao;ad=ao;ae=an}do{if((J|0)>=1){u=t+960|0;E=t+1264|0;I=1;w=0;z=ad;x=ae;while(1){A=b[G+(c[v+(I<<2)>>2]<<1)>>1]|0;y=A<<16>>16;if(A<<16>>16==0){ap=w+1|0;aq=z;ar=x}else{if((w|0)>15){B=w;V=z;U=x;while(1){af=c[u>>2]|0;as=a[E]|0;at=as<<24>>24;if(as<<24>>24==0){as=c[q>>2]|0;au=as|0;c[(c[au>>2]|0)+20>>2]=41;aL[c[c[au>>2]>>2]&127](as)}as=V+at|0;au=U|((1<<at)-1&af)<<24-as;if((as|0)>7){af=c[q>>2]|0;at=af+24|0;av=au;aw=as;ax=c[m>>2]|0;ay=c[k>>2]|0;while(1){az=av>>>16;aA=az&255;aB=ax+1|0;a[ax]=az&255;az=ay-1|0;if((az|0)==0){aC=c[at>>2]|0;if((aP[c[aC+12>>2]&31](af)|0)==0){aD=aB;K=1455;break L1873}aE=c[aC>>2]|0;aF=c[aC+4>>2]|0}else{aE=aB;aF=az}do{if((aA|0)==255){az=aE+1|0;a[aE]=0;aB=aF-1|0;if((aB|0)!=0){aG=az;aH=aB;break}aB=c[at>>2]|0;if((aP[c[aB+12>>2]&31](af)|0)==0){aD=az;K=1455;break L1873}aG=c[aB>>2]|0;aH=c[aB+4>>2]|0}else{aG=aE;aH=aF}}while(0);aI=av<<8;aJ=aw-8|0;if((aJ|0)>7){av=aI;aw=aJ;ax=aG;ay=aH}else{break}}c[m>>2]=aG;c[k>>2]=aH;aK=aI;aM=aJ}else{aK=au;aM=as}c[L>>2]=aK;c[N>>2]=aM;ay=B-16|0;if((ay|0)>15){B=ay;V=aM;U=aK}else{aN=ay;aO=aM;aQ=aK;break}}}else{aN=w;aO=z;aQ=x}if(A<<16>>16<0){aR=-y|0;aS=y-1|0}else{aR=y;aS=y}U=aR;V=1;while(1){B=U>>1;if((B|0)==0){break}else{U=B;V=V+1|0}}if((V|0)>10){U=c[q>>2]|0;y=U|0;c[(c[y>>2]|0)+20>>2]=6;aL[c[c[y>>2]>>2]&127](U)}U=V+(aN<<4)|0;y=c[t+(U<<2)>>2]|0;A=a[t+1024+U|0]|0;U=A<<24>>24;if(A<<24>>24==0){A=c[q>>2]|0;B=A|0;c[(c[B>>2]|0)+20>>2]=41;aL[c[c[B>>2]>>2]&127](A)}A=aO+U|0;B=aQ|((1<<U)-1&y)<<24-A;if((A|0)>7){y=c[q>>2]|0;U=y+24|0;ay=B;ax=A;aw=c[m>>2]|0;av=c[k>>2]|0;while(1){af=ay>>>16;at=af&255;aA=aw+1|0;a[aw]=af&255;af=av-1|0;if((af|0)==0){aB=c[U>>2]|0;if((aP[c[aB+12>>2]&31](y)|0)==0){aT=aA;K=1456;break L1873}aU=c[aB>>2]|0;aV=c[aB+4>>2]|0}else{aU=aA;aV=af}do{if((at|0)==255){af=aU+1|0;a[aU]=0;aA=aV-1|0;if((aA|0)!=0){aW=af;aX=aA;break}aA=c[U>>2]|0;if((aP[c[aA+12>>2]&31](y)|0)==0){aT=af;K=1456;break L1873}aW=c[aA>>2]|0;aX=c[aA+4>>2]|0}else{aW=aU;aX=aV}}while(0);aY=ay<<8;aZ=ax-8|0;if((aZ|0)>7){ay=aY;ax=aZ;aw=aW;av=aX}else{break}}c[m>>2]=aW;c[k>>2]=aX;a_=aY;a$=aZ}else{a_=B;a$=A}c[L>>2]=a_;c[N>>2]=a$;if((V|0)==0){av=c[q>>2]|0;aw=av|0;c[(c[aw>>2]|0)+20>>2]=41;aL[c[c[aw>>2]>>2]&127](av)}av=a$+V|0;aw=a_|((1<<V)-1&aS)<<24-av;if((av|0)>7){ax=c[q>>2]|0;ay=ax+24|0;y=aw;U=av;at=c[m>>2]|0;as=c[k>>2]|0;while(1){au=y>>>16;aA=au&255;af=at+1|0;a[at]=au&255;au=as-1|0;if((au|0)==0){aB=c[ay>>2]|0;if((aP[c[aB+12>>2]&31](ax)|0)==0){a0=af;K=1457;break L1873}a1=c[aB>>2]|0;a2=c[aB+4>>2]|0}else{a1=af;a2=au}do{if((aA|0)==255){au=a1+1|0;a[a1]=0;af=a2-1|0;if((af|0)!=0){a3=au;a4=af;break}af=c[ay>>2]|0;if((aP[c[af+12>>2]&31](ax)|0)==0){a0=au;K=1457;break L1873}a3=c[af>>2]|0;a4=c[af+4>>2]|0}else{a3=a1;a4=a2}}while(0);a5=y<<8;a6=U-8|0;if((a6|0)>7){y=a5;U=a6;at=a3;as=a4}else{break}}c[m>>2]=a3;c[k>>2]=a4;a7=a5;a8=a6}else{a7=aw;a8=av}c[L>>2]=a7;c[N>>2]=a8;ap=0;aq=a8;ar=a7}as=I+1|0;if((as|0)>(J|0)){break}else{I=as;w=ap;z=aq;x=ar}}if((ap|0)<=0){break}x=c[t>>2]|0;z=a[t+1024|0]|0;w=z<<24>>24;if(z<<24>>24==0){z=c[q>>2]|0;I=z|0;c[(c[I>>2]|0)+20>>2]=41;aL[c[c[I>>2]>>2]&127](z)}z=aq+w|0;I=ar|((1<<w)-1&x)<<24-z;if((z|0)>7){x=c[q>>2]|0;w=x+24|0;E=I;u=z;as=c[m>>2]|0;at=c[k>>2]|0;while(1){U=E>>>16;y=U&255;ax=as+1|0;a[as]=U&255;U=at-1|0;if((U|0)==0){ay=c[w>>2]|0;if((aP[c[ay+12>>2]&31](x)|0)==0){a9=ax;K=1458;break L1873}ba=c[ay>>2]|0;bb=c[ay+4>>2]|0}else{ba=ax;bb=U}do{if((y|0)==255){U=ba+1|0;a[ba]=0;ax=bb-1|0;if((ax|0)!=0){bc=U;bd=ax;break}ax=c[w>>2]|0;if((aP[c[ax+12>>2]&31](x)|0)==0){a9=U;K=1458;break L1873}bc=c[ax>>2]|0;bd=c[ax+4>>2]|0}else{bc=ba;bd=bb}}while(0);be=E<<8;bf=u-8|0;if((bf|0)>7){E=be;u=bf;as=bc;at=bd}else{break}}c[m>>2]=bc;c[k>>2]=bd;bg=be;bh=bf}else{bg=I;bh=z}c[L>>2]=bg;c[N>>2]=bh}}while(0);c[n>>2]=b[c[H>>2]>>1]|0;t=l+1|0;if((t|0)>=(c[Q>>2]|0)){break L1871}l=t;F=c[q>>2]|0}if((K|0)==1453){c[m>>2]=W;c[k>>2]=0;M=0;i=f;return M|0}else if((K|0)==1454){c[m>>2]=ag;c[k>>2]=0;M=0;i=f;return M|0}else if((K|0)==1455){c[m>>2]=aD;c[k>>2]=0;M=0;i=f;return M|0}else if((K|0)==1456){c[m>>2]=aT;c[k>>2]=0;M=0;i=f;return M|0}else if((K|0)==1457){c[m>>2]=a0;c[k>>2]=0;M=0;i=f;return M|0}else if((K|0)==1458){c[m>>2]=a9;c[k>>2]=0;M=0;i=f;return M|0}}}while(0);c[c[j>>2]>>2]=c[m>>2];c[(c[j>>2]|0)+4>>2]=c[k>>2];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];c[p+16>>2]=c[o+16>>2];c[p+20>>2]=c[o+20>>2];o=c[r>>2]|0;if((o|0)==0){M=1;i=f;return M|0}r=h+36|0;p=c[r>>2]|0;k=r|0;if((p|0)==0){c[k>>2]=o;r=h+40|0;c[r>>2]=(c[r>>2]|0)+1&7;bi=o}else{bi=p}c[k>>2]=bi-1;M=1;i=f;return M|0}function dM(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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;h=i;i=i+1296|0;j=h|0;k=h+264|0;if(f>>>0>3){l=b|0;c[(c[l>>2]|0)+20>>2]=52;c[(c[l>>2]|0)+24>>2]=f;aL[c[c[l>>2]>>2]&127](b)}l=(e|0)!=0;if(l){m=b+120+(f<<2)|0}else{m=b+136+(f<<2)|0}e=c[m>>2]|0;if((e|0)==0){m=b|0;c[(c[m>>2]|0)+20>>2]=52;c[(c[m>>2]|0)+24>>2]=f;aL[c[c[m>>2]>>2]&127](b)}m=c[g>>2]|0;if((m|0)==0){f=b;n=aO[c[c[b+4>>2]>>2]&15](f,1,1280)|0;c[g>>2]=n;o=n;p=f}else{o=m;p=b}m=b|0;b=1;f=0;while(1){n=a[e+b|0]|0;g=n&255;q=g+f|0;if((q|0)>256){c[(c[m>>2]|0)+20>>2]=9;aL[c[c[m>>2]>>2]&127](p)}if(n<<24>>24==0){r=f}else{fv(j+f|0,b&255|0,g|0);r=q}q=b+1|0;if((q|0)<17){b=q;f=r}else{break}}a[j+r|0]=0;f=a[j|0]|0;if(f<<24>>24!=0){b=f<<24>>24;q=0;g=0;n=f;while(1){if((n<<24>>24|0)==(b|0)){f=q;s=g;while(1){t=f+1|0;c[k+(f<<2)>>2]=s;u=s+1|0;v=a[j+t|0]|0;if((v<<24>>24|0)==(b|0)){f=t;s=u}else{w=t;x=u;y=v;break}}}else{w=q;x=g;y=n}if((x|0)>=(1<<b|0)){c[(c[m>>2]|0)+20>>2]=9;aL[c[c[m>>2]>>2]&127](p)}if(y<<24>>24==0){break}else{b=b+1|0;q=w;g=x<<1;n=y}}}fv(o+1024|0,0,256);y=l?15:255;if((r|0)>0){z=0}else{i=h;return}do{l=d[e+17+z|0]|0;n=o+1024+l|0;if(l>>>0>y>>>0){A=1498}else{if((a[n]|0)!=0){A=1498}}if((A|0)==1498){A=0;c[(c[m>>2]|0)+20>>2]=9;aL[c[c[m>>2]>>2]&127](p)}c[o+(l<<2)>>2]=c[k+(z<<2)>>2];a[n]=a[j+z|0]|0;z=z+1|0;}while((z|0)<(r|0));i=h;return}function dN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;dO(b);do{if((c[b+108>>2]|0)==0){dP(b,127,7);c[b+12>>2]=0;c[b+16>>2]=0;e=b+112|0;f=c[e>>2]|0;c[e>>2]=f+1;a[f]=-1;f=b+116|0;g=(c[f>>2]|0)-1|0;c[f>>2]=g;if((g|0)==0){g=b+120|0;h=c[g>>2]|0;i=c[h+24>>2]|0;if((aP[c[i+12>>2]&31](h)|0)==0){c[(c[c[g>>2]>>2]|0)+20>>2]=25;h=c[g>>2]|0;aL[c[c[h>>2]>>2]&127](h)}h=c[i>>2]|0;c[e>>2]=h;c[f>>2]=c[i+4>>2];j=h}else{j=c[e>>2]|0}c[e>>2]=j+1;a[j]=d+208&255;h=(c[f>>2]|0)-1|0;c[f>>2]=h;if((h|0)!=0){break}h=b+120|0;i=c[h>>2]|0;g=c[i+24>>2]|0;if((aP[c[g+12>>2]&31](i)|0)==0){c[(c[c[h>>2]>>2]|0)+20>>2]=25;i=c[h>>2]|0;aL[c[c[i>>2]>>2]&127](i)}c[e>>2]=c[g>>2];c[f>>2]=c[g+4>>2]}}while(0);d=b+120|0;j=c[d>>2]|0;if((c[j+360>>2]|0)!=0){c[b+128>>2]=0;c[b+132>>2]=0;return}if((c[j+288>>2]|0)>0){k=0}else{return}do{c[b+20+(k<<2)>>2]=0;k=k+1|0;}while((k|0)<(c[(c[d>>2]|0)+288>>2]|0));return}function dO(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=b+128|0;e=c[d>>2]|0;if((e|0)==0){return}else{f=0;g=e}while(1){e=g>>1;if((e|0)==0){break}else{f=f+1|0;g=e}}if((f|0)>14){g=b+120|0;c[(c[c[g>>2]>>2]|0)+20>>2]=41;e=c[g>>2]|0;aL[c[c[e>>2]>>2]&127](e)}e=c[b+124>>2]|0;g=f<<4;h=b+108|0;if((c[h>>2]|0)==0){i=c[b+60+(e<<2)>>2]|0;dP(b,c[i+(g<<2)>>2]|0,a[i+1024+g|0]|0)}else{i=(c[b+92+(e<<2)>>2]|0)+(g<<2)|0;c[i>>2]=(c[i>>2]|0)+1}if((f|0)!=0){dP(b,c[d>>2]|0,f)}c[d>>2]=0;d=b+132|0;f=c[d>>2]|0;if(!((c[h>>2]|0)!=0|(f|0)==0)){h=c[b+136>>2]|0;i=f;while(1){dP(b,a[h]|0,1);f=i-1|0;if((f|0)==0){break}else{h=h+1|0;i=f}}}c[d>>2]=0;return}function dP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=b+16|0;g=c[f>>2]|0;if((e|0)==0){h=b+120|0;c[(c[c[h>>2]>>2]|0)+20>>2]=41;i=c[h>>2]|0;aL[c[c[i>>2]>>2]&127](i)}if((c[b+108>>2]|0)!=0){return}i=g+e|0;h=b+12|0;j=c[h>>2]|((1<<e)-1&d)<<24-i;if((i|0)>7){d=b+112|0;k=b+116|0;l=b+120|0;b=7-g-e|0;e=i+((b|0)>-8?b:-8)&-8;b=i;g=j;do{m=g>>>16;n=m&255;o=c[d>>2]|0;c[d>>2]=o+1;a[o]=m&255;m=(c[k>>2]|0)-1|0;c[k>>2]=m;if((m|0)==0){m=c[l>>2]|0;o=c[m+24>>2]|0;if((aP[c[o+12>>2]&31](m)|0)==0){c[(c[c[l>>2]>>2]|0)+20>>2]=25;m=c[l>>2]|0;aL[c[c[m>>2]>>2]&127](m)}c[d>>2]=c[o>>2];c[k>>2]=c[o+4>>2]}do{if((n|0)==255){o=c[d>>2]|0;c[d>>2]=o+1;a[o]=0;o=(c[k>>2]|0)-1|0;c[k>>2]=o;if((o|0)!=0){break}o=c[l>>2]|0;m=c[o+24>>2]|0;if((aP[c[m+12>>2]&31](o)|0)==0){c[(c[c[l>>2]>>2]|0)+20>>2]=25;o=c[l>>2]|0;aL[c[c[o>>2]>>2]&127](o)}c[d>>2]=c[m>>2];c[k>>2]=c[m+4>>2]}}while(0);g=g<<8;b=b-8|0;}while((b|0)>7);p=i-8-e|0;q=g}else{p=i;q=j}c[h>>2]=q;c[f>>2]=p;return}function dQ(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,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=i;i=i+2104|0;g=f|0;h=f+40|0;j=f+1072|0;k=g|0;fv(k|0,0,33);fv(h|0,0,1028);fv(j|0,-1|0,1028);c[e+1024>>2]=1;l=1e9;m=0;n=-1;L2158:while(1){if((m|0)<257){o=c[e+(m<<2)>>2]|0;p=(o|0)==0|(o|0)>(l|0);q=p?n:m;l=p?l:o;m=m+1|0;n=q;continue}else{r=-1;s=0;t=1e9}while(1){q=c[e+(s<<2)>>2]|0;o=(q|0)==0|(q|0)>(t|0)|(s|0)==(n|0);u=o?r:s;p=s+1|0;if((p|0)<257){r=u;s=p;t=o?t:q}else{break}}if((u|0)<0){break}q=e+(u<<2)|0;o=e+(n<<2)|0;c[o>>2]=(c[o>>2]|0)+(c[q>>2]|0);c[q>>2]=0;q=h+(n<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=j+(n<<2)|0;o=c[q>>2]|0;if((o|0)>-1){p=o;while(1){o=h+(p<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+(p<<2)|0;v=c[o>>2]|0;if((v|0)>-1){p=v}else{w=o;break}}}else{w=q}c[w>>2]=u;p=h+(u<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=c[j+(u<<2)>>2]|0;if((p|0)>-1){x=p}else{l=1e9;m=0;n=-1;continue}while(1){p=h+(x<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=c[j+(x<<2)>>2]|0;if((p|0)>-1){x=p}else{l=1e9;m=0;n=-1;continue L2158}}}n=b|0;m=b;b=0;while(1){l=c[h+(b<<2)>>2]|0;if((l|0)!=0){if((l|0)>32){c[(c[n>>2]|0)+20>>2]=40;aL[c[c[n>>2]>>2]&127](m)}x=g+l|0;a[x]=(a[x]|0)+1&255}x=b+1|0;if((x|0)<257){b=x}else{y=32;break}}while(1){b=g+y|0;m=a[b]|0;if(m<<24>>24==0){z=y-1|0}else{n=y-2|0;x=y-1|0;l=g+x|0;j=m;while(1){m=n;while(1){A=g+m|0;if((a[A]|0)==0){m=m-1|0}else{break}}a[b]=j-2&255;a[l]=(a[l]|0)+1&255;u=g+(m+1)|0;a[u]=(a[u]|0)+2&255;a[A]=(a[A]|0)-1&255;u=a[b]|0;if(u<<24>>24==0){z=x;break}else{j=u}}}if((z|0)>16){y=z}else{B=16;break}}while(1){C=g+B|0;D=a[C]|0;if(D<<24>>24==0){B=B-1|0}else{break}}a[C]=D-1&255;D=d|0;fw(D|0,k|0,17)|0;k=0;D=1;while(1){C=k;B=0;while(1){if((c[h+(B<<2)>>2]|0)==(D|0)){a[d+17+C|0]=B&255;E=C+1|0}else{E=C}g=B+1|0;if((g|0)<256){C=E;B=g}else{break}}B=D+1|0;if((B|0)<33){k=E;D=B}else{break}}c[d+276>>2]=0;i=f;return}function dR(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;b=c[a+464>>2]|0;d=a+224|0;e=a+408|0;f=c[e>>2]|0;g=(f|0)==0;do{if((c[d>>2]|0)==0){do{if(g){if((c[a+416>>2]|0)!=0){h=1621;break}if((c[a+420>>2]|0)!=0){h=1621;break}i=c[a+412>>2]|0;if((i|0)>=64){break}if((i|0)!=(c[a+432>>2]|0)){h=1621}}else{h=1621}}while(0);if((h|0)==1621){i=a|0;c[(c[i>>2]|0)+20>>2]=125;aM[c[(c[i>>2]|0)+4>>2]&63](a,-1)}c[b+4>>2]=26;j=a+336|0}else{i=a+412|0;k=c[i>>2]|0;do{if(g){if((k|0)==0){h=1593}else{h=1597}}else{if((k|0)<(f|0)){h=1597;break}if((k|0)>(c[a+432>>2]|0)){h=1597;break}if((c[a+336>>2]|0)==1){h=1593}else{h=1597}}}while(0);do{if((h|0)==1593){k=c[a+416>>2]|0;if((k|0)==0){l=c[a+420>>2]|0}else{m=k-1|0;if((m|0)==(c[a+420>>2]|0)){l=m}else{h=1597;break}}if((l|0)>13){h=1597}}}while(0);if((h|0)==1597){m=a|0;c[(c[m>>2]|0)+20>>2]=17;c[(c[m>>2]|0)+24>>2]=c[e>>2];c[(c[m>>2]|0)+28>>2]=c[i>>2];c[(c[m>>2]|0)+32>>2]=c[a+416>>2];c[(c[m>>2]|0)+36>>2]=c[a+420>>2];aL[c[c[m>>2]>>2]&127](a)}m=a+336|0;if((c[m>>2]|0)>0){k=a+160|0;n=a+416|0;o=a+420|0;p=a|0;q=a;r=0;while(1){s=c[(c[a+340+(r<<2)>>2]|0)+4>>2]|0;t=c[k>>2]|0;u=c[e>>2]|0;do{if((u|0)==0){v=0}else{if((c[t+(s<<8)>>2]|0)>=0){v=u;break}c[(c[p>>2]|0)+20>>2]=118;c[(c[p>>2]|0)+24>>2]=s;c[(c[p>>2]|0)+28>>2]=0;aM[c[(c[p>>2]|0)+4>>2]&63](q,-1);v=c[e>>2]|0}}while(0);if((v|0)<=(c[i>>2]|0)){u=v;do{w=t+(s<<8)+(u<<2)|0;x=c[w>>2]|0;if((c[n>>2]|0)!=(((x|0)<0?0:x)|0)){c[(c[p>>2]|0)+20>>2]=118;c[(c[p>>2]|0)+24>>2]=s;c[(c[p>>2]|0)+28>>2]=u;aM[c[(c[p>>2]|0)+4>>2]&63](q,-1)}c[w>>2]=c[o>>2];u=u+1|0;}while((u|0)<=(c[i>>2]|0))}u=r+1|0;if((u|0)<(c[m>>2]|0)){r=u}else{y=n;break}}}else{y=a+416|0}n=(c[e>>2]|0)==0;r=b+4|0;if((c[y>>2]|0)==0){if(n){c[r>>2]=40;j=m;break}else{c[r>>2]=10;j=m;break}}else{if(n){c[r>>2]=48;j=m;break}else{c[r>>2]=18;j=m;break}}}}while(0);if((c[j>>2]|0)<=0){z=b+8|0;c[z>>2]=0;A=b+12|0;c[A>>2]=0;B=b+16|0;c[B>>2]=-16;C=a+280|0;D=c[C>>2]|0;E=b+52|0;F=D;c[E>>2]=F;return}y=a|0;v=a;l=b+56|0;f=a+4|0;g=b+20|0;r=b+36|0;n=a+432|0;i=b+120|0;o=a+416|0;q=0;do{p=c[a+340+(q<<2)>>2]|0;k=c[d>>2]|0;do{if((k|0)==0){h=1628}else{if((c[e>>2]|0)!=0){G=k;break}if((c[o>>2]|0)==0){h=1628}else{G=k}}}while(0);if((h|0)==1628){h=0;k=c[p+20>>2]|0;if(k>>>0>15){c[(c[y>>2]|0)+20>>2]=50;c[(c[y>>2]|0)+24>>2]=k;aL[c[c[y>>2]>>2]&127](v)}m=l+(k<<2)|0;k=c[m>>2]|0;if((k|0)==0){u=aO[c[c[f>>2]>>2]&15](v,1,64)|0;c[m>>2]=u;H=u}else{H=k}fv(H|0,0,64);c[g+(q<<2)>>2]=0;c[r+(q<<2)>>2]=0;G=c[d>>2]|0}if((G|0)==0){if((c[n>>2]|0)!=0){h=1636}}else{if((c[e>>2]|0)!=0){h=1636}}if((h|0)==1636){h=0;k=c[p+24>>2]|0;if(k>>>0>15){c[(c[y>>2]|0)+20>>2]=50;c[(c[y>>2]|0)+24>>2]=k;aL[c[c[y>>2]>>2]&127](v)}u=i+(k<<2)|0;k=c[u>>2]|0;if((k|0)==0){m=aO[c[c[f>>2]>>2]&15](v,1,256)|0;c[u>>2]=m;I=m}else{I=k}fv(I|0,0,256)}q=q+1|0;}while((q|0)<(c[j>>2]|0));z=b+8|0;c[z>>2]=0;A=b+12|0;c[A>>2]=0;B=b+16|0;c[B>>2]=-16;C=a+280|0;D=c[C>>2]|0;E=b+52|0;F=D;c[E>>2]=F;return}function dS(a,e){a=a|0;e=e|0;var 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;f=c[a+464>>2]|0;if((c[a+280>>2]|0)!=0){g=f+52|0;h=g;i=c[h>>2]|0;if((i|0)==0){dX(a);j=c[h>>2]|0}else{j=i}c[g>>2]=j-1}j=f+16|0;if((c[j>>2]|0)==-1){return 1}g=a+364|0;if((c[g>>2]|0)<=0){return 1}i=f+56|0;h=f+36|0;k=f+20|0;f=a+420|0;l=0;L2300:while(1){m=c[e+(l<<2)>>2]|0;n=c[a+368+(l<<2)>>2]|0;o=c[(c[a+340+(n<<2)>>2]|0)+20>>2]|0;p=i+(o<<2)|0;q=c[p>>2]|0;r=h+(n<<2)|0;s=c[r>>2]|0;if((dY(a,q+s|0)|0)==0){c[r>>2]=0;t=c[k+(n<<2)>>2]|0}else{u=dY(a,q+(s+1)|0)|0;v=q+(s+2+u)|0;s=dY(a,v)|0;L2305:do{if((s|0)==0){w=0;x=v}else{q=s;y=(c[p>>2]|0)+20|0;while(1){if((dY(a,y)|0)==0){w=q;x=y;break L2305}z=q<<1;if((z|0)==32768){break L2300}else{q=z;y=y+1|0}}}}while(0);do{if((w|0)<(1<<(d[a+232+o|0]|0)>>1|0)){c[r>>2]=0}else{p=u<<2;if((w|0)>(1<<(d[a+248+o|0]|0)>>1|0)){c[r>>2]=p+12;break}else{c[r>>2]=p+4;break}}}while(0);r=x+14|0;o=w>>1;if((o|0)==0){A=w}else{p=w;s=o;while(1){o=((dY(a,r)|0)==0?0:s)|p;v=s>>1;if((v|0)==0){A=o;break}else{p=o;s=v}}}s=k+(n<<2)|0;p=(c[s>>2]|0)+((u|0)==0?A+1|0:~A)|0;c[s>>2]=p;t=p}b[m>>1]=t<<c[f>>2]&65535;p=l+1|0;if((p|0)<(c[g>>2]|0)){l=p}else{B=1672;break}}if((B|0)==1672){return 1}B=a|0;c[(c[B>>2]|0)+20>>2]=117;aM[c[(c[B>>2]|0)+4>>2]&63](a,-1);c[j>>2]=-1;return 1}function dT(a,e){a=a|0;e=e|0;var 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;f=c[a+464>>2]|0;if((c[a+280>>2]|0)!=0){g=f+52|0;h=g;i=c[h>>2]|0;if((i|0)==0){dX(a);j=c[h>>2]|0}else{j=i}c[g>>2]=j-1}j=f+16|0;if((c[j>>2]|0)==-1){return 1}g=c[a+428>>2]|0;i=c[e>>2]|0;e=c[(c[a+340>>2]|0)+24>>2]|0;h=c[a+408>>2]|0;k=a+412|0;if((h|0)>(c[k>>2]|0)){return 1}l=f+120+(e<<2)|0;m=f+184|0;f=a+420|0;n=a+264+e|0;e=h;L2340:while(1){h=(c[l>>2]|0)+((e*3|0)-3)|0;if((dY(a,h)|0)==0){o=e;p=h}else{q=1696;break}while(1){if((dY(a,p+1|0)|0)!=0){break}h=o+1|0;if((h|0)>(c[k>>2]|0)){q=1683;break L2340}else{o=h;p=p+3|0}}h=dY(a,m)|0;r=p+2|0;s=dY(a,r)|0;do{if((s|0)==0){t=0}else{L2348:do{if((dY(a,r)|0)==0){u=s;v=r}else{w=s<<1;x=(c[l>>2]|0)+((o|0)<=(d[n]|0|0)?189:217)|0;while(1){if((dY(a,x)|0)==0){u=w;v=x;break L2348}y=w<<1;if((y|0)==32768){q=1689;break L2340}else{w=y;x=x+1|0}}}}while(0);x=v+14|0;w=u>>1;if((w|0)==0){t=u;break}else{z=u;A=w}while(1){w=((dY(a,x)|0)==0?0:A)|z;y=A>>1;if((y|0)==0){t=w;break}else{z=w;A=y}}}}while(0);b[i+(c[g+(o<<2)>>2]<<1)>>1]=((h|0)==0?t+1|0:~t)<<c[f>>2]&65535;s=o+1|0;if((s|0)>(c[k>>2]|0)){q=1699;break}else{e=s}}if((q|0)==1683){e=a|0;c[(c[e>>2]|0)+20>>2]=117;aM[c[(c[e>>2]|0)+4>>2]&63](a,-1);c[j>>2]=-1;return 1}else if((q|0)==1689){e=a|0;c[(c[e>>2]|0)+20>>2]=117;aM[c[(c[e>>2]|0)+4>>2]&63](a,-1);c[j>>2]=-1;return 1}else if((q|0)==1696){return 1}else if((q|0)==1699){return 1}return 0}function dU(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=c[a+464>>2]|0;if((c[a+280>>2]|0)!=0){g=f+52|0;h=g;i=c[h>>2]|0;if((i|0)==0){dX(a);j=c[h>>2]|0}else{j=i}c[g>>2]=j-1}j=f+184|0;f=1<<c[a+420>>2];g=a+364|0;if((c[g>>2]|0)>0){k=0}else{return 1}do{if((dY(a,j)|0)!=0){i=c[d+(k<<2)>>2]|0;b[i>>1]=(e[i>>1]|0|f)&65535}k=k+1|0;}while((k|0)<(c[g>>2]|0));return 1}function dV(a,d){a=a|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;e=c[a+464>>2]|0;if((c[a+280>>2]|0)!=0){f=e+52|0;g=f;h=c[g>>2]|0;if((h|0)==0){dX(a);i=c[g>>2]|0}else{i=h}c[f>>2]=i-1}i=e+16|0;if((c[i>>2]|0)==-1){return 1}f=c[a+428>>2]|0;h=c[d>>2]|0;d=c[(c[a+340>>2]|0)+24>>2]|0;g=c[a+420>>2]|0;j=1<<g;k=-1<<g;g=a+412|0;l=c[g>>2]|0;m=l;while(1){if((m|0)<=0){break}if((b[h+(c[f+(m<<2)>>2]<<1)>>1]|0)==0){m=m-1|0}else{break}}n=c[a+408>>2]|0;if((n|0)>(l|0)){return 1}l=e+120+(d<<2)|0;d=e+184|0;e=j&65535;o=k&65535;p=n;L2396:while(1){n=(c[l>>2]|0)+((p*3|0)-3)|0;if((p|0)>(m|0)){if((dY(a,n)|0)==0){q=n;r=p}else{s=1738;break}}else{q=n;r=p}while(1){t=h+(c[f+(r<<2)>>2]<<1)|0;if((b[t>>1]|0)!=0){s=1724;break}if((dY(a,q+1|0)|0)!=0){s=1729;break}n=r+1|0;if((n|0)>(c[g>>2]|0)){s=1733;break L2396}else{q=q+3|0;r=n}}do{if((s|0)==1724){s=0;if((dY(a,q+2|0)|0)==0){break}n=b[t>>1]|0;u=n<<16>>16;if(n<<16>>16<0){b[t>>1]=u+k&65535;break}else{b[t>>1]=u+j&65535;break}}else if((s|0)==1729){s=0;if((dY(a,d)|0)==0){b[t>>1]=e;break}else{b[t>>1]=o;break}}}while(0);u=r+1|0;if((u|0)>(c[g>>2]|0)){s=1740;break}else{p=u}}if((s|0)==1733){p=a|0;c[(c[p>>2]|0)+20>>2]=117;aM[c[(c[p>>2]|0)+4>>2]&63](a,-1);c[i>>2]=-1;return 1}else if((s|0)==1738){return 1}else if((s|0)==1740){return 1}return 0}function dW(a,e){a=a|0;e=e|0;var 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,M=0,N=0,O=0,P=0;f=c[a+464>>2]|0;if((c[a+280>>2]|0)!=0){g=f+52|0;h=g;i=c[h>>2]|0;if((i|0)==0){dX(a);j=c[h>>2]|0}else{j=i}c[g>>2]=j-1}j=f+16|0;if((c[j>>2]|0)==-1){return 1}g=c[a+428>>2]|0;i=a+364|0;if((c[i>>2]|0)<=0){return 1}h=f+56|0;k=f+36|0;l=f+20|0;m=a+432|0;n=f+120|0;o=f+184|0;f=0;L2433:while(1){p=c[e+(f<<2)>>2]|0;q=c[a+368+(f<<2)>>2]|0;r=c[a+340+(q<<2)>>2]|0;s=c[r+20>>2]|0;t=h+(s<<2)|0;u=c[t>>2]|0;v=k+(q<<2)|0;w=c[v>>2]|0;if((dY(a,u+w|0)|0)==0){c[v>>2]=0;x=c[l+(q<<2)>>2]|0}else{y=dY(a,u+(w+1)|0)|0;z=u+(w+2+y)|0;w=dY(a,z)|0;L2437:do{if((w|0)==0){A=0;B=z}else{u=w;C=(c[t>>2]|0)+20|0;while(1){if((dY(a,C)|0)==0){A=u;B=C;break L2437}D=u<<1;if((D|0)==32768){E=1754;break L2433}else{u=D;C=C+1|0}}}}while(0);do{if((A|0)<(1<<(d[a+232+s|0]|0)>>1|0)){c[v>>2]=0}else{t=y<<2;if((A|0)>(1<<(d[a+248+s|0]|0)>>1|0)){c[v>>2]=t+12;break}else{c[v>>2]=t+4;break}}}while(0);v=B+14|0;s=A>>1;if((s|0)==0){F=A}else{t=A;w=s;while(1){s=((dY(a,v)|0)==0?0:w)|t;z=w>>1;if((z|0)==0){F=s;break}else{t=s;w=z}}}w=l+(q<<2)|0;t=(c[w>>2]|0)+((y|0)==0?F+1|0:~F)|0;c[w>>2]=t;x=t}b[p>>1]=x&65535;t=c[r+24>>2]|0;L2456:do{if((c[m>>2]|0)>=1){w=n+(t<<2)|0;v=a+264+t|0;z=1;do{s=(c[w>>2]|0)+((z*3|0)-3)|0;if((dY(a,s)|0)==0){G=z;H=s}else{break L2456}while(1){if((dY(a,H+1|0)|0)!=0){break}s=G+1|0;if((s|0)>(c[m>>2]|0)){E=1768;break L2433}else{G=s;H=H+3|0}}s=dY(a,o)|0;C=H+2|0;u=dY(a,C)|0;do{if((u|0)==0){I=0}else{L2466:do{if((dY(a,C)|0)==0){J=u;K=C}else{D=u<<1;L=(c[w>>2]|0)+((G|0)<=(d[v]|0|0)?189:217)|0;while(1){if((dY(a,L)|0)==0){J=D;K=L;break L2466}M=D<<1;if((M|0)==32768){E=1774;break L2433}else{D=M;L=L+1|0}}}}while(0);L=K+14|0;D=J>>1;if((D|0)==0){I=J;break}else{N=J;O=D}while(1){D=((dY(a,L)|0)==0?0:O)|N;M=O>>1;if((M|0)==0){I=D;break}else{N=D;O=M}}}}while(0);if((s|0)==0){P=I+1&65535}else{P=(I^65535)&65535}b[p+(c[g+(G<<2)>>2]<<1)>>1]=P;z=G+1|0;}while((z|0)<=(c[m>>2]|0))}}while(0);p=f+1|0;if((p|0)<(c[i>>2]|0)){f=p}else{E=1783;break}}if((E|0)==1783){return 1}else if((E|0)==1768){f=a|0;c[(c[f>>2]|0)+20>>2]=117;aM[c[(c[f>>2]|0)+4>>2]&63](a,-1);c[j>>2]=-1;return 1}else if((E|0)==1754){f=a|0;c[(c[f>>2]|0)+20>>2]=117;aM[c[(c[f>>2]|0)+4>>2]&63](a,-1);c[j>>2]=-1;return 1}else if((E|0)==1774){E=a|0;c[(c[E>>2]|0)+20>>2]=117;aM[c[(c[E>>2]|0)+4>>2]&63](a,-1);c[j>>2]=-1;return 1}return 0}function dX(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;b=c[a+464>>2]|0;if((aP[c[(c[a+460>>2]|0)+8>>2]&31](a)|0)==0){d=a|0;c[(c[d>>2]|0)+20>>2]=25;aL[c[c[d>>2]>>2]&127](a)}d=a+336|0;if((c[d>>2]|0)<=0){e=b+8|0;c[e>>2]=0;f=b+12|0;c[f>>2]=0;g=b+16|0;c[g>>2]=-16;h=a+280|0;i=c[h>>2]|0;j=b+52|0;k=i;c[j>>2]=k;return}l=a+224|0;m=b+56|0;n=b+20|0;o=b+36|0;p=a+432|0;q=a+408|0;r=b+120|0;s=a+416|0;t=0;do{u=c[a+340+(t<<2)>>2]|0;v=c[l>>2]|0;do{if((v|0)==0){w=1795}else{if((c[q>>2]|0)!=0){x=v;break}if((c[s>>2]|0)==0){w=1795}else{x=v}}}while(0);if((w|0)==1795){w=0;fv(c[m+(c[u+20>>2]<<2)>>2]|0,0,64);c[n+(t<<2)>>2]=0;c[o+(t<<2)>>2]=0;x=c[l>>2]|0}if((x|0)==0){if((c[p>>2]|0)!=0){w=1799}}else{if((c[q>>2]|0)!=0){w=1799}}if((w|0)==1799){w=0;fv(c[r+(c[u+24>>2]<<2)>>2]|0,0,256)}t=t+1|0;}while((t|0)<(c[d>>2]|0));e=b+8|0;c[e>>2]=0;f=b+12|0;c[f>>2]=0;g=b+16|0;c[g>>2]=-16;h=a+280|0;i=c[h>>2]|0;j=b+52|0;k=i;c[j>>2]=k;return}function dY(b,e){b=b|0;e=e|0;var 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;f=c[b+464>>2]|0;g=f+12|0;h=g;i=c[h>>2]|0;j=f+16|0;k=j;if((i|0)<32768){l=j|0;j=b+436|0;m=b+24|0;n=b|0;o=b;p=f+8|0;q=p;r=p|0;s=c[k>>2]|0;while(1){t=s-1|0;c[l>>2]=t;do{if((t|0)<0){L2517:do{if((c[j>>2]|0)==0){u=c[m>>2]|0;v=u+4|0;do{if((c[v>>2]|0)==0){if((aP[c[u+12>>2]&31](b)|0)!=0){break}c[(c[n>>2]|0)+20>>2]=25;aL[c[c[n>>2]>>2]&127](o)}}while(0);c[v>>2]=(c[v>>2]|0)-1;w=u|0;x=c[w>>2]|0;c[w>>2]=x+1;w=a[x]|0;if(w<<24>>24!=-1){y=w&255;break}while(1){w=c[m>>2]|0;x=w+4|0;do{if((c[x>>2]|0)==0){if((aP[c[w+12>>2]&31](b)|0)!=0){break}c[(c[n>>2]|0)+20>>2]=25;aL[c[c[n>>2]>>2]&127](o)}}while(0);c[x>>2]=(c[x>>2]|0)-1;z=w|0;A=c[z>>2]|0;c[z>>2]=A+1;B=d[A]|0;if((B|0)==0){y=255;break L2517}else if((B|0)!=255){break}}c[j>>2]=B;y=0}else{y=0}}while(0);c[r>>2]=c[q>>2]<<8|y;u=c[k>>2]|0;v=u+8|0;c[l>>2]=v;if((v|0)>=0){C=v;break}v=u+9|0;c[l>>2]=v;if((v|0)!=0){C=v;break}c[g>>2]=32768;C=0}else{C=t}}while(0);t=c[h>>2]<<1;c[g>>2]=t;if((t|0)<32768){s=C}else{D=t;E=C;F=p;G=q;break}}}else{q=f+8|0;D=i;E=c[k>>2]|0;F=q;G=q}q=d[e]|0;k=c[3800+((q&127)<<2)>>2]|0;i=k>>8;f=k>>16;p=D-f|0;c[g>>2]=p;D=p<<E;E=c[G>>2]|0;if((E|0)>=(D|0)){c[F>>2]=E-D;c[g>>2]=f;g=q&128;if((p|0)<(f|0)){a[e]=(g^i)&255;H=q;I=H>>7;return I|0}else{a[e]=(g^k)&255;H=q^128;I=H>>7;return I|0}}if((p|0)>=32768){H=q;I=H>>7;return I|0}g=q&128;if((p|0)<(f|0)){a[e]=(g^k)&255;H=q^128;I=H>>7;return I|0}else{a[e]=(g^i)&255;H=q;I=H>>7;return I|0}return 0}function dZ(a){a=a|0;var b=0,d=0;c[a+148>>2]=0;b=c[a+448>>2]|0;do{if((c[a+336>>2]|0)>1){c[b+28>>2]=1}else{d=c[a+340>>2]|0;if((c[a+328>>2]|0)==1){c[b+28>>2]=c[d+76>>2];break}else{c[b+28>>2]=c[d+12>>2];break}}}while(0);c[b+20>>2]=0;c[b+24>>2]=0;return}function d_(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=c[a+448>>2]|0;if((c[d+16>>2]|0)==0){e=a+156|0;c[e>>2]=0;return}L2565:do{if((c[a+80>>2]|0)!=0){if((c[a+224>>2]|0)==0){break}f=a+160|0;if((c[f>>2]|0)==0){break}g=d+112|0;h=c[g>>2]|0;if((h|0)==0){i=a+36|0;j=aO[c[c[a+4>>2]>>2]&15](a,1,(c[i>>2]|0)*24|0)|0;c[g>>2]=j;k=j;l=i}else{k=h;l=a+36|0}if((c[l>>2]|0)<=0){break}h=0;i=c[a+216>>2]|0;j=0;g=k;while(1){m=c[i+80>>2]|0;if((m|0)==0){break L2565}if((b[m>>1]|0)==0){break L2565}if((b[m+2>>1]|0)==0){break L2565}if((b[m+16>>1]|0)==0){break L2565}if((b[m+32>>1]|0)==0){break L2565}if((b[m+18>>1]|0)==0){break L2565}if((b[m+4>>1]|0)==0){break L2565}m=c[f>>2]|0;if((c[m+(h<<8)>>2]|0)<0){break L2565}n=m+(h<<8)+4|0;c[g+4>>2]=c[n>>2];o=(c[n>>2]|0)==0?j:1;n=m+(h<<8)+8|0;c[g+8>>2]=c[n>>2];p=(c[n>>2]|0)==0?o:1;o=m+(h<<8)+12|0;c[g+12>>2]=c[o>>2];n=(c[o>>2]|0)==0?p:1;p=m+(h<<8)+16|0;c[g+16>>2]=c[p>>2];o=(c[p>>2]|0)==0?n:1;n=m+(h<<8)+20|0;c[g+20>>2]=c[n>>2];q=(c[n>>2]|0)==0?o:1;o=h+1|0;if((o|0)<(c[l>>2]|0)){h=o;i=i+88|0;j=q;g=g+24|0}else{break}}if((q|0)==0){break}c[d+12>>2]=44;e=a+156|0;c[e>>2]=0;return}}while(0);c[d+12>>2]=50;e=a+156|0;c[e>>2]=0;return}function d$(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,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;b=i;i=i+16|0;d=b|0;e=a+448|0;f=c[e>>2]|0;g=a+336|0;if((c[g>>2]|0)>0){h=a+4|0;j=a;k=f+72|0;l=a+148|0;m=0;do{n=c[a+340+(m<<2)>>2]|0;o=c[(c[h>>2]|0)+32>>2]|0;p=c[k+(c[n+4>>2]<<2)>>2]|0;q=c[n+12>>2]|0;n=Z(q,c[l>>2]|0)|0;c[d+(m<<2)>>2]=aV[o&15](j,p,n,q,1)|0;m=m+1|0;}while((m|0)<(c[g>>2]|0))}m=f+24|0;j=c[m>>2]|0;l=f+28|0;L2595:do{if((j|0)<(c[l>>2]|0)){k=f+20|0;h=a+356|0;q=a+464|0;n=f+32|0;p=n;o=n;n=k|0;r=j;s=c[k>>2]|0;L2597:while(1){t=s;while(1){if(t>>>0>=(c[h>>2]|0)>>>0){break}k=c[g>>2]|0;if((k|0)>0){u=0;v=0;w=k;while(1){k=c[a+340+(v<<2)>>2]|0;x=k+56|0;y=c[x>>2]|0;z=Z(y,t)|0;A=k+60|0;k=c[A>>2]|0;if((k|0)>0){B=c[d+(v<<2)>>2]|0;C=u;D=0;E=y;y=k;while(1){if((E|0)>0){k=C;F=0;G=(c[B+(D+r<<2)>>2]|0)+(z<<7)|0;while(1){H=k+1|0;c[o+(k<<2)>>2]=G;I=F+1|0;J=c[x>>2]|0;if((I|0)<(J|0)){k=H;F=I;G=G+128|0}else{break}}K=H;L=J;M=c[A>>2]|0}else{K=C;L=E;M=y}G=D+1|0;if((G|0)<(M|0)){C=K;D=G;E=L;y=M}else{break}}N=K;O=c[g>>2]|0}else{N=u;O=w}y=v+1|0;if((y|0)<(O|0)){u=N;v=y;w=O}else{break}}}if((aU[c[(c[q>>2]|0)+4>>2]&127](a,p)|0)==0){break L2597}else{t=t+1|0}}c[n>>2]=0;w=r+1|0;if((w|0)<(c[l>>2]|0)){r=w;s=0}else{break L2595}}c[m>>2]=r;c[n>>2]=t;P=0;i=b;return P|0}}while(0);t=a+148|0;m=(c[t>>2]|0)+1|0;c[t>>2]=m;t=c[a+328>>2]|0;if(m>>>0>=t>>>0){aL[c[(c[a+456>>2]|0)+12>>2]&127](a);P=4;i=b;return P|0}l=c[e>>2]|0;do{if((c[g>>2]|0)>1){c[l+28>>2]=1}else{e=c[a+340>>2]|0;if(m>>>0<(t-1|0)>>>0){c[l+28>>2]=c[e+12>>2];break}else{c[l+28>>2]=c[e+76>>2];break}}}while(0);c[l+20>>2]=0;c[l+24>>2]=0;P=3;i=b;return P|0}function d0(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,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=c[a+448>>2]|0;e=a+328|0;f=(c[e>>2]|0)-1|0;g=a+144|0;h=a+152|0;i=a+456|0;j=a+148|0;k=a+156|0;while(1){l=c[g>>2]|0;m=c[h>>2]|0;if((l|0)>=(m|0)){if((l|0)!=(m|0)){break}if((c[j>>2]|0)>>>0>(c[k>>2]|0)>>>0){break}}if((aP[c[c[i>>2]>>2]&31](a)|0)==0){n=0;o=1921;break}}if((o|0)==1921){return n|0}o=a+36|0;i=c[o>>2]|0;if((i|0)>0){j=a+4|0;h=a;g=d+72|0;d=a+468|0;m=0;l=c[a+216>>2]|0;p=i;while(1){if((c[l+52>>2]|0)==0){q=p}else{i=c[(c[j>>2]|0)+32>>2]|0;r=c[g+(m<<2)>>2]|0;s=l+12|0;t=c[s>>2]|0;u=Z(t,c[k>>2]|0)|0;v=aV[i&15](h,r,u,t,0)|0;if((c[k>>2]|0)>>>0<f>>>0){w=c[s>>2]|0}else{t=c[s>>2]|0;s=((c[l+32>>2]|0)>>>0)%(t>>>0)|0;w=(s|0)==0?t:s}s=c[(c[d>>2]|0)+4+(m<<2)>>2]|0;if((w|0)>0){t=l+28|0;u=l+40|0;r=l+36|0;i=0;x=c[b+(m<<2)>>2]|0;y=c[t>>2]|0;while(1){if((y|0)==0){z=0}else{A=0;B=c[v+(i<<2)>>2]|0;C=0;while(1){aK[s&127](a,l,B|0,x,C);D=A+1|0;E=c[t>>2]|0;if(D>>>0<E>>>0){A=D;B=B+128|0;C=(c[r>>2]|0)+C|0}else{z=E;break}}}C=i+1|0;if((C|0)<(w|0)){i=C;x=x+(c[u>>2]<<2)|0;y=z}else{break}}}q=c[o>>2]|0}y=m+1|0;if((y|0)<(q|0)){m=y;l=l+88|0;p=q}else{break}}}q=(c[k>>2]|0)+1|0;c[k>>2]=q;n=q>>>0<(c[e>>2]|0)>>>0?3:4;return n|0}function d1(a){a=a|0;return 0}function d2(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,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,_=0,$=0,aa=0,ab=0,ac=0,ad=0,ae=0,af=0;d=a+448|0;e=c[d>>2]|0;f=(c[a+356>>2]|0)-1|0;g=a+328|0;h=c[g>>2]|0;i=h-1|0;j=e+24|0;k=c[j>>2]|0;l=e+28|0;m=c[l>>2]|0;do{if((k|0)<(m|0)){n=e+20|0;o=n|0;p=e+32|0;q=p;r=p;s=a+364|0;t=a+464|0;u=a+336|0;v=a+468|0;w=a+148|0;x=k;y=c[n>>2]|0;n=m;L2671:while(1){if(y>>>0>f>>>0){z=n}else{A=y;while(1){fv(c[p>>2]|0,0,c[s>>2]<<7|0);if((aU[c[(c[t>>2]|0)+4>>2]&127](a,r)|0)==0){break L2671}B=c[u>>2]|0;if((B|0)>0){C=A>>>0<f>>>0;D=0;E=0;F=B;while(1){B=c[a+340+(D<<2)>>2]|0;do{if((c[B+52>>2]|0)==0){G=(c[B+64>>2]|0)+E|0;H=F}else{I=c[B+4>>2]|0;J=c[(c[v>>2]|0)+4+(I<<2)>>2]|0;K=B+56|0;L=c[(C?K:B+72|0)>>2]|0;M=B+40|0;N=Z(c[B+68>>2]|0,A)|0;O=B+60|0;P=c[O>>2]|0;if((P|0)<=0){G=E;H=F;break}Q=c[M>>2]|0;R=Z(Q,x)|0;S=B+76|0;T=(L|0)>0;U=B+36|0;V=T^1;W=0;X=(c[b+(I<<2)>>2]|0)+(R<<2)|0;R=E;I=Q;Q=P;while(1){if((c[w>>2]|0)>>>0<i>>>0){if(T){Y=0;_=N;$=1939}else{aa=I;ab=Q}}else{if((W+x|0)>=(c[S>>2]|0)|V){aa=I;ab=Q}else{Y=0;_=N;$=1939}}if(($|0)==1939){while(1){$=0;aK[J&127](a,B,c[q+(Y+R<<2)>>2]|0,X,_);P=Y+1|0;if((P|0)<(L|0)){Y=P;_=(c[U>>2]|0)+_|0;$=1939}else{break}}aa=c[M>>2]|0;ab=c[O>>2]|0}ac=(c[K>>2]|0)+R|0;P=W+1|0;if((P|0)>=(ab|0)){break}W=P;X=X+(aa<<2)|0;R=ac;I=aa;Q=ab}G=ac;H=c[u>>2]|0}}while(0);B=D+1|0;if((B|0)<(H|0)){D=B;E=G;F=H}else{break}}}F=A+1|0;if(F>>>0>f>>>0){break}else{A=F}}z=c[l>>2]|0}c[o>>2]=0;F=x+1|0;if((F|0)<(z|0)){x=F;y=0;n=z}else{$=1948;break}}if(($|0)==1948){ad=c[g>>2]|0;ae=w;break}c[j>>2]=x;c[o>>2]=A;af=0;return af|0}else{ad=h;ae=a+148|0}}while(0);h=a+156|0;c[h>>2]=(c[h>>2]|0)+1;h=(c[ae>>2]|0)+1|0;c[ae>>2]=h;if(h>>>0>=ad>>>0){aL[c[(c[a+456>>2]|0)+12>>2]&127](a);af=4;return af|0}ae=c[d>>2]|0;do{if((c[a+336>>2]|0)>1){c[ae+28>>2]=1}else{d=c[a+340>>2]|0;if(h>>>0<(ad-1|0)>>>0){c[ae+28>>2]=c[d+12>>2];break}else{c[ae+28>>2]=c[d+76>>2];break}}}while(0);c[ae+20>>2]=0;c[ae+24>>2]=0;af=3;return af|0}
function d3(a,d){a=a|0;d=d|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,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,_=0,$=0,aa=0,ab=0,ac=0,ad=0,ae=0,af=0,ag=0,ah=0,ai=0,aj=0,ak=0,al=0,am=0,an=0,ao=0,ap=0,aq=0,ar=0,as=0,at=0,au=0,av=0,aw=0,ax=0,ay=0,az=0,aA=0,aB=0,aC=0,aD=0,aE=0,aF=0,aG=0,aH=0,aI=0,aJ=0,aL=0,aM=0,aN=0,aO=0;f=i;i=i+128|0;g=f|0;h=c[a+448>>2]|0;j=a+328|0;k=(c[j>>2]|0)-1|0;l=a+144|0;m=a+152|0;n=a+456|0;o=a+408|0;p=a+148|0;q=a+156|0;while(1){r=c[l>>2]|0;s=c[m>>2]|0;if((r|0)>(s|0)){break}t=c[n>>2]|0;if((c[t+20>>2]|0)!=0){break}if((r|0)==(s|0)){if((c[p>>2]|0)>>>0>((c[q>>2]|0)+((c[o>>2]|0)==0)|0)>>>0){break}}if((aP[c[t>>2]&31](a)|0)==0){u=0;v=2042;break}}if((v|0)==2042){i=f;return u|0}v=a+36|0;o=c[v>>2]|0;if((o|0)>0){p=a+4|0;n=a;m=h+72|0;l=h+112|0;h=a+468|0;t=g|0;s=g;r=g+4|0;w=g+18|0;x=g+32|0;y=g+16|0;z=g+2|0;g=c[a+216>>2]|0;A=0;B=o;while(1){if((c[g+52>>2]|0)==0){C=B}else{o=c[q>>2]|0;if(o>>>0<k>>>0){D=c[g+12>>2]|0;E=D;F=D<<1;G=0;H=D}else{D=c[g+12>>2]|0;I=((c[g+32>>2]|0)>>>0)%(D>>>0)|0;J=(I|0)==0?D:I;E=J;F=J;G=1;H=D}if((o|0)==0){K=aV[c[(c[p>>2]|0)+32>>2]&15](n,c[m+(A<<2)>>2]|0,0,F,0)|0;L=1}else{D=c[(c[p>>2]|0)+32>>2]|0;J=c[m+(A<<2)>>2]|0;I=Z(H,o-1|0)|0;o=aV[D&15](n,J,I,H+F|0,0)|0;K=o+(c[g+12>>2]<<2)|0;L=0}o=c[l>>2]|0;I=A*6|0;J=c[g+80>>2]|0;D=e[J>>1]|0;M=e[J+2>>1]|0;N=e[J+16>>1]|0;O=e[J+32>>1]|0;P=e[J+18>>1]|0;Q=e[J+4>>1]|0;J=c[(c[h>>2]|0)+4+(A<<2)>>2]|0;if((E|0)>0){R=(L|0)!=0;S=(G|0)!=0;T=g+28|0;U=o+((I|1)<<2)|0;V=o+(I+2<<2)|0;W=o+(I+3<<2)|0;X=o+(I+4<<2)|0;Y=o+(I+5<<2)|0;I=g+36|0;o=D*9|0;_=Q<<7;$=Q<<8;Q=D*5|0;aa=P<<7;ab=P<<8;P=O<<7;ac=O<<8;O=D*36|0;D=N<<7;ad=N<<8;N=M<<7;ae=M<<8;M=g+40|0;af=E-1|0;ag=c[d+(A<<2)>>2]|0;ah=0;while(1){ai=c[K+(ah<<2)>>2]|0;if(R&(ah|0)==0){aj=ai}else{aj=c[K+(ah-1<<2)>>2]|0}if(S&(ah|0)==(af|0)){ak=ai}else{ak=c[K+(ah+1<<2)>>2]|0}al=b[aj>>1]|0;am=b[ai>>1]|0;an=b[ak>>1]|0;ao=(c[T>>2]|0)-1|0;ap=0;aq=ak;ar=aj;as=ai;ai=0;at=al;au=al;al=am;av=am;am=an;aw=an;while(1){an=as;fw(s|0,an|0,128)|0;if(ai>>>0<ao>>>0){ax=b[aq+128>>1]|0;ay=b[as+128>>1]|0;az=b[ar+128>>1]|0}else{ax=aw;ay=av;az=au}an=c[U>>2]|0;do{if((an|0)!=0){if((b[z>>1]|0)!=0){break}aA=Z(O,al-ay|0)|0;do{if((aA|0)>-1){aB=(aA+N|0)/(ae|0)|0;aC=aB&65535;if((an|0)<=0){aD=aC;break}aE=1<<an;if((aB|0)<(aE|0)){aD=aC;break}aD=aE+65535&65535}else{aE=(N-aA|0)/(ae|0)|0;if((an|0)>0){aC=1<<an;aF=(aE|0)<(aC|0)?aE:aC-1|0}else{aF=aE}aD=-aF&65535}}while(0);b[z>>1]=aD}}while(0);an=c[V>>2]|0;do{if((an|0)!=0){if((b[y>>1]|0)!=0){break}aA=Z(O,au-aw|0)|0;do{if((aA|0)>-1){aE=(aA+D|0)/(ad|0)|0;aC=aE&65535;if((an|0)<=0){aG=aC;break}aB=1<<an;if((aE|0)<(aB|0)){aG=aC;break}aG=aB+65535&65535}else{aB=(D-aA|0)/(ad|0)|0;if((an|0)>0){aC=1<<an;aH=(aB|0)<(aC|0)?aB:aC-1|0}else{aH=aB}aG=-aH&65535}}while(0);b[y>>1]=aG}}while(0);an=c[W>>2]|0;do{if((an|0)!=0){if((b[x>>1]|0)!=0){break}aA=Z(o,au-(av<<1)+aw|0)|0;do{if((aA|0)>-1){aB=(aA+P|0)/(ac|0)|0;aC=aB&65535;if((an|0)<=0){aI=aC;break}aE=1<<an;if((aB|0)<(aE|0)){aI=aC;break}aI=aE+65535&65535}else{aE=(P-aA|0)/(ac|0)|0;if((an|0)>0){aC=1<<an;aJ=(aE|0)<(aC|0)?aE:aC-1|0}else{aJ=aE}aI=-aJ&65535}}while(0);b[x>>1]=aI}}while(0);an=c[X>>2]|0;do{if((an|0)!=0){if((b[w>>1]|0)!=0){break}aA=Z(Q,at-am-az+ax|0)|0;do{if((aA|0)>-1){aE=(aA+aa|0)/(ab|0)|0;aC=aE&65535;if((an|0)<=0){aL=aC;break}aB=1<<an;if((aE|0)<(aB|0)){aL=aC;break}aL=aB+65535&65535}else{aB=(aa-aA|0)/(ab|0)|0;if((an|0)>0){aC=1<<an;aM=(aB|0)<(aC|0)?aB:aC-1|0}else{aM=aB}aL=-aM&65535}}while(0);b[w>>1]=aL}}while(0);an=c[Y>>2]|0;do{if((an|0)!=0){if((b[r>>1]|0)!=0){break}aA=Z(o,al-(av<<1)+ay|0)|0;do{if((aA|0)>-1){aB=(aA+_|0)/($|0)|0;aC=aB&65535;if((an|0)<=0){aN=aC;break}aE=1<<an;if((aB|0)<(aE|0)){aN=aC;break}aN=aE+65535&65535}else{aE=(_-aA|0)/($|0)|0;if((an|0)>0){aC=1<<an;aO=(aE|0)<(aC|0)?aE:aC-1|0}else{aO=aE}aN=-aO&65535}}while(0);b[r>>1]=aN}}while(0);aK[J&127](a,g,t,ag,ap);an=ai+1|0;if(an>>>0>ao>>>0){break}else{ap=(c[I>>2]|0)+ap|0;aq=aq+128|0;ar=ar+128|0;as=as+128|0;ai=an;at=au;au=az;al=av;av=ay;am=aw;aw=ax}}aw=ah+1|0;if((aw|0)<(E|0)){ag=ag+(c[M>>2]<<2)|0;ah=aw}else{break}}}C=c[v>>2]|0}ah=A+1|0;if((ah|0)<(C|0)){g=g+88|0;A=ah;B=C}else{break}}}C=(c[q>>2]|0)+1|0;c[q>>2]=C;u=C>>>0<(c[j>>2]|0)>>>0?3:4;i=f;return u|0}function d4(a){a=a|0;return}function d5(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;g=c[a+112>>2]|0;if((f|0)<=0){return}a=e;e=(c[b>>2]|0)+(d<<2)|0;d=f;while(1){f=e+4|0;b=c[e>>2]|0;h=a+4|0;i=c[a>>2]|0;fw(i|0,b|0,g)|0;b=d-1|0;if((b|0)>0){a=h;e=f;d=b}else{break}}return}function d6(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,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;i=c[b+476>>2]|0;j=c[b+112>>2]|0;k=c[b+332>>2]|0;b=c[i+8>>2]|0;l=c[i+12>>2]|0;m=c[i+16>>2]|0;n=c[i+20>>2]|0;if((h|0)<=0){return}i=e+4|0;o=e+8|0;p=(j|0)==0;q=g;g=f;f=h;while(1){h=f-1|0;r=c[(c[e>>2]|0)+(g<<2)>>2]|0;s=c[(c[i>>2]|0)+(g<<2)>>2]|0;t=c[(c[o>>2]|0)+(g<<2)>>2]|0;u=g+1|0;v=q+4|0;if(!p){w=0;x=c[q>>2]|0;while(1){y=d[r+w|0]|0;z=d[s+w|0]|0;A=d[t+w|0]|0;a[x]=a[k+((c[b+(A<<2)>>2]|0)+y)|0]|0;a[x+1|0]=a[k+(((c[m+(A<<2)>>2]|0)+(c[n+(z<<2)>>2]|0)>>16)+y)|0]|0;a[x+2|0]=a[k+((c[l+(z<<2)>>2]|0)+y)|0]|0;y=w+1|0;if(y>>>0<j>>>0){w=y;x=x+3|0}else{break}}}if((h|0)>0){q=v;g=u;f=h}else{break}}return}function d7(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=c[b+112>>2]|0;if((g|0)<=0){return}b=(h|0)==0;i=f;f=e;e=g;while(1){g=e-1|0;j=f+1|0;k=c[(c[d>>2]|0)+(f<<2)>>2]|0;l=i+4|0;if(!b){m=c[i>>2]|0;n=0;while(1){o=a[k+n|0]|0;a[m+2|0]=o;a[m+1|0]=o;a[m]=o;o=n+1|0;if(o>>>0<h>>>0){m=m+3|0;n=o}else{break}}}if((g|0)>0){i=l;f=j;e=g}else{break}}return}function d8(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=c[b+36>>2]|0;i=c[b+112>>2]|0;if((g|0)<=0){return}b=(h|0)>0;j=(i|0)==0;k=f;f=e;e=g;while(1){g=e-1|0;if(b){l=0;do{if(!j){m=c[(c[d+(l<<2)>>2]|0)+(f<<2)>>2]|0;n=(c[k>>2]|0)+l|0;o=i;while(1){a[n]=a[m]|0;p=o-1|0;if((p|0)==0){break}else{m=m+1|0;n=n+h|0;o=p}}}l=l+1|0;}while((l|0)<(h|0))}if((g|0)>0){k=k+4|0;f=f+1|0;e=g}else{break}}return}function d9(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,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;i=c[b+476>>2]|0;j=c[b+112>>2]|0;k=c[b+332>>2]|0;b=c[i+8>>2]|0;l=c[i+12>>2]|0;m=c[i+16>>2]|0;n=c[i+20>>2]|0;if((h|0)<=0){return}i=e+4|0;o=e+8|0;p=e+12|0;q=(j|0)==0;r=g;g=f;f=h;while(1){h=f-1|0;s=c[(c[e>>2]|0)+(g<<2)>>2]|0;t=c[(c[i>>2]|0)+(g<<2)>>2]|0;u=c[(c[o>>2]|0)+(g<<2)>>2]|0;v=c[(c[p>>2]|0)+(g<<2)>>2]|0;w=g+1|0;x=r+4|0;if(!q){y=0;z=c[r>>2]|0;while(1){A=d[t+y|0]|0;B=d[u+y|0]|0;C=(d[s+y|0]|0)^255;a[z]=a[k+(C-(c[b+(B<<2)>>2]|0))|0]|0;a[z+1|0]=a[k+(C-((c[m+(B<<2)>>2]|0)+(c[n+(A<<2)>>2]|0)>>16))|0]|0;a[z+2|0]=a[k+(C-(c[l+(A<<2)>>2]|0))|0]|0;a[z+3|0]=a[v+y|0]|0;A=y+1|0;if(A>>>0<j>>>0){y=A;z=z+4|0}else{break}}}if((h|0)>0){r=x;g=w;f=h}else{break}}return}function ea(a){a=a|0;var d=0,f=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.0,w=0,x=0;d=c[a+468>>2]|0;f=a+36|0;if((c[f>>2]|0)<=0){return}i=a|0;j=a;k=d+44|0;l=a+72|0;m=0;n=0;o=c[a+216>>2]|0;a=0;while(1){p=o+36|0;q=o+40|0;L2895:do{switch((c[p>>2]<<8)+(c[q>>2]|0)|0){case 257:{r=0;s=74;break};case 3341:{r=0;s=44;break};case 1285:{r=0;s=30;break};case 1028:{r=0;s=32;break};case 514:{r=0;s=26;break};case 1799:{r=0;s=58;break};case 771:{r=0;s=66;break};case 1542:{r=0;s=70;break};case 2313:{r=0;s=20;break};case 3598:{r=0;s=84;break};case 3855:{r=0;s=92;break};case 4112:{r=0;s=40;break};case 4104:{r=0;s=16;break};case 3591:{r=0;s=90;break};case 3078:{r=0;s=22;break};case 2565:{r=0;s=28;break};case 2052:{r=0;s=24;break};case 1539:{r=0;s=68;break};case 1026:{r=0;s=96;break};case 513:{r=0;s=62;break};case 2064:{r=0;s=88;break};case 1806:{r=0;s=56;break};case 1548:{r=0;s=38;break};case 1290:{r=0;s=72;break};case 1032:{r=0;s=36;break};case 774:{r=0;s=64;break};case 516:{r=0;s=60;break};case 258:{r=0;s=12;break};case 2056:{t=c[l>>2]|0;if((t|0)==0){r=0;s=76;break L2895}else if((t|0)==1){r=t;s=34;break L2895}else if((t|0)==2){r=t;s=80;break L2895}else{c[(c[i>>2]|0)+20>>2]=49;aL[c[c[i>>2]>>2]&127](j);r=n;s=m;break L2895}break};case 2827:{r=0;s=48;break};case 2570:{r=0;s=54;break};case 3084:{r=0;s=78;break};default:{c[(c[i>>2]|0)+20>>2]=7;c[(c[i>>2]|0)+24>>2]=c[p>>2];c[(c[i>>2]|0)+28>>2]=c[q>>2];aL[c[c[i>>2]>>2]&127](j);r=n;s=m}}}while(0);c[d+4+(a<<2)>>2]=s;do{if((c[o+52>>2]|0)!=0){q=k+(a<<2)|0;if((c[q>>2]|0)==(r|0)){break}p=c[o+80>>2]|0;if((p|0)==0){break}c[q>>2]=r;if((r|0)==1){q=c[o+84>>2]|0;t=0;do{c[q+(t<<2)>>2]=(Z(b[984+(t<<1)>>1]|0,e[p+(t<<1)>>1]|0)|0)+2048>>12;t=t+1|0;}while((t|0)<64)}else if((r|0)==2){t=c[o+84>>2]|0;q=0;u=0;while(1){v=+h[1112+(u<<3)>>3];g[t+(q<<2)>>2]=+((e[p+(q<<1)>>1]|0)>>>0)*v*.125;w=q|1;g[t+(w<<2)>>2]=+((e[p+(w<<1)>>1]|0)>>>0)*v*1.387039845*.125;x=w+1|0;g[t+(x<<2)>>2]=+((e[p+(x<<1)>>1]|0)>>>0)*v*1.306562965*.125;x=q|3;g[t+(x<<2)>>2]=+((e[p+(x<<1)>>1]|0)>>>0)*v*1.175875602*.125;w=x+1|0;g[t+(w<<2)>>2]=+((e[p+(w<<1)>>1]|0)>>>0)*v*.125;w=x+2|0;g[t+(w<<2)>>2]=+((e[p+(w<<1)>>1]|0)>>>0)*v*.785694958*.125;w=x+3|0;g[t+(w<<2)>>2]=+((e[p+(w<<1)>>1]|0)>>>0)*v*.5411961*.125;w=q|7;g[t+(w<<2)>>2]=+((e[p+(w<<1)>>1]|0)>>>0)*v*.275899379*.125;w=u+1|0;if((w|0)<8){q=q+8|0;u=w}else{break}}}else if((r|0)==0){u=c[o+84>>2]|0;q=0;do{c[u+(q<<2)>>2]=e[p+(q<<1)>>1]|0;q=q+1|0;}while((q|0)<64)}else{c[(c[i>>2]|0)+20>>2]=49;aL[c[c[i>>2]>>2]&127](j);break}}}while(0);q=a+1|0;if((q|0)<(c[f>>2]|0)){m=s;n=r;o=o+88|0;a=q}else{break}}return}function eb(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;b=c[a+464>>2]|0;d=a+408|0;e=c[d>>2]|0;f=(e|0)==0;if((c[a+224>>2]|0)==0){do{if(f){if((c[a+416>>2]|0)!=0){g=2183;break}if((c[a+420>>2]|0)!=0){g=2183;break}h=c[a+412>>2]|0;if(!((c[a+220>>2]|0)!=0|(h|0)<64)){break}if((h|0)!=(c[a+432>>2]|0)){g=2183}}else{g=2183}}while(0);if((g|0)==2183){h=a|0;c[(c[h>>2]|0)+20>>2]=125;aM[c[(c[h>>2]|0)+4>>2]&63](a,-1)}h=a+432|0;c[b+4>>2]=(c[h>>2]|0)==63?56:16;i=a+336|0;if((c[i>>2]|0)>0){j=b+64|0;k=b+20|0;l=b+80|0;m=0;do{n=c[a+340+(m<<2)>>2]|0;o=c[n+20>>2]|0;eg(a,1,o,j+(o<<2)|0);if((c[h>>2]|0)!=0){o=c[n+24>>2]|0;eg(a,0,o,l+(o<<2)|0)}c[k+(m<<2)>>2]=0;m=m+1|0;}while((m|0)<(c[i>>2]|0))}i=a+364|0;if((c[i>>2]|0)<=0){p=b+12|0;c[p>>2]=0;q=b+8|0;c[q>>2]=0;r=b+36|0;c[r>>2]=0;s=a+280|0;t=c[s>>2]|0;u=b+40|0;v=t;c[u>>2]=v;return}m=b+64|0;k=b+96|0;l=b+80|0;j=b+136|0;o=b+176|0;n=0;do{w=c[a+340+(c[a+368+(n<<2)>>2]<<2)>>2]|0;c[k+(n<<2)>>2]=c[m+(c[w+20>>2]<<2)>>2];c[j+(n<<2)>>2]=c[l+(c[w+24>>2]<<2)>>2];L2974:do{if((c[w+52>>2]|0)==0){c[o+(n<<2)>>2]=0}else{x=c[w+40>>2]|0;y=c[w+36>>2]|0;switch(c[h>>2]|0){case 0:{c[o+(n<<2)>>2]=1;break L2974;break};case 3:{z=x-1|0;A=y-1|0;c[o+(n<<2)>>2]=(c[1744+((z>>>0>1?1:z)<<3)+((A>>>0>1?1:A)<<2)>>2]|0)+1;break L2974;break};case 48:{A=x-1|0;z=y-1|0;c[o+(n<<2)>>2]=(c[1192+((A>>>0>6?6:A)*28|0)+((z>>>0>6?6:z)<<2)>>2]|0)+1;break L2974;break};case 8:{z=x-1|0;A=y-1|0;c[o+(n<<2)>>2]=(c[1704+((z>>>0>2?2:z)*12|0)+((A>>>0>2?2:A)<<2)>>2]|0)+1;break L2974;break};case 15:{A=x-1|0;z=y-1|0;c[o+(n<<2)>>2]=(c[1640+((A>>>0>3?3:A)<<4)+((z>>>0>3?3:z)<<2)>>2]|0)+1;break L2974;break};case 24:{z=x-1|0;A=y-1|0;c[o+(n<<2)>>2]=(c[1536+((z>>>0>4?4:z)*20|0)+((A>>>0>4?4:A)<<2)>>2]|0)+1;break L2974;break};case 35:{A=x-1|0;z=y-1|0;c[o+(n<<2)>>2]=(c[1392+((A>>>0>5?5:A)*24|0)+((z>>>0>5?5:z)<<2)>>2]|0)+1;break L2974;break};default:{z=x-1|0;x=y-1|0;c[o+(n<<2)>>2]=(c[1760+((z>>>0>7?7:z)<<5)+((x>>>0>7?7:x)<<2)>>2]|0)+1;break L2974}}}}while(0);n=n+1|0;}while((n|0)<(c[i>>2]|0));p=b+12|0;c[p>>2]=0;q=b+8|0;c[q>>2]=0;r=b+36|0;c[r>>2]=0;s=a+280|0;t=c[s>>2]|0;u=b+40|0;v=t;c[u>>2]=v;return}i=a+412|0;n=c[i>>2]|0;do{if(f){if((n|0)==0){g=2147}else{g=2151}}else{if((n|0)<(e|0)){g=2151;break}if((n|0)>(c[a+432>>2]|0)){g=2151;break}if((c[a+336>>2]|0)==1){g=2147}else{g=2151}}}while(0);do{if((g|0)==2147){n=c[a+416>>2]|0;if((n|0)==0){B=c[a+420>>2]|0}else{e=n-1|0;if((e|0)==(c[a+420>>2]|0)){B=e}else{g=2151;break}}if((B|0)>13){g=2151}}}while(0);if((g|0)==2151){g=a|0;c[(c[g>>2]|0)+20>>2]=17;c[(c[g>>2]|0)+24>>2]=c[d>>2];c[(c[g>>2]|0)+28>>2]=c[i>>2];c[(c[g>>2]|0)+32>>2]=c[a+416>>2];c[(c[g>>2]|0)+36>>2]=c[a+420>>2];aL[c[c[g>>2]>>2]&127](a)}g=a+336|0;if((c[g>>2]|0)>0){B=a+160|0;e=a+416|0;n=a+420|0;f=a|0;o=a;h=0;while(1){l=c[(c[a+340+(h<<2)>>2]|0)+4>>2]|0;j=c[B>>2]|0;m=c[d>>2]|0;do{if((m|0)==0){C=0}else{if((c[j+(l<<8)>>2]|0)>=0){C=m;break}c[(c[f>>2]|0)+20>>2]=118;c[(c[f>>2]|0)+24>>2]=l;c[(c[f>>2]|0)+28>>2]=0;aM[c[(c[f>>2]|0)+4>>2]&63](o,-1);C=c[d>>2]|0}}while(0);if((C|0)<=(c[i>>2]|0)){m=C;do{k=j+(l<<8)+(m<<2)|0;w=c[k>>2]|0;if((c[e>>2]|0)!=(((w|0)<0?0:w)|0)){c[(c[f>>2]|0)+20>>2]=118;c[(c[f>>2]|0)+24>>2]=l;c[(c[f>>2]|0)+28>>2]=m;aM[c[(c[f>>2]|0)+4>>2]&63](o,-1)}c[k>>2]=c[n>>2];m=m+1|0;}while((m|0)<=(c[i>>2]|0))}m=h+1|0;if((m|0)<(c[g>>2]|0)){h=m}else{D=e;break}}}else{D=a+416|0}e=(c[d>>2]|0)==0;h=b+4|0;do{if((c[D>>2]|0)==0){if(e){c[h>>2]=34;break}else{c[h>>2]=30;break}}else{if(e){c[h>>2]=60;break}else{c[h>>2]=12;break}}}while(0);if((c[g>>2]|0)>0){h=b+44|0;e=b+20|0;i=b+60|0;n=0;do{o=c[a+340+(n<<2)>>2]|0;do{if((c[d>>2]|0)==0){if((c[D>>2]|0)!=0){break}f=c[o+20>>2]|0;eg(a,1,f,h+(f<<2)|0)}else{f=c[o+24>>2]|0;C=h+(f<<2)|0;eg(a,0,f,C);c[i>>2]=c[C>>2]}}while(0);c[e+(n<<2)>>2]=0;n=n+1|0;}while((n|0)<(c[g>>2]|0))}c[b+16>>2]=0;p=b+12|0;c[p>>2]=0;q=b+8|0;c[q>>2]=0;r=b+36|0;c[r>>2]=0;s=a+280|0;t=c[s>>2]|0;u=b+40|0;v=t;c[u>>2]=v;return}function ec(a,e){a=a|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,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,ab=0;f=i;i=i+48|0;g=f|0;h=f+24|0;j=c[a+464>>2]|0;k=c[a+420>>2]|0;l=a+280|0;do{if((c[l>>2]|0)!=0){if((c[j+40>>2]|0)!=0){break}m=j+12|0;n=a+460|0;o=(c[n>>2]|0)+24|0;c[o>>2]=(c[o>>2]|0)+((c[m>>2]|0)/8|0);c[m>>2]=0;if((aP[c[(c[n>>2]|0)+8>>2]&31](a)|0)==0){p=0;i=f;return p|0}n=a+336|0;if((c[n>>2]|0)>0){m=j+20|0;o=0;do{c[m+(o<<2)>>2]=0;o=o+1|0;}while((o|0)<(c[n>>2]|0))}c[j+16>>2]=0;c[j+40>>2]=c[l>>2];if((c[a+436>>2]|0)!=0){break}c[j+36>>2]=0}}while(0);if((c[j+36>>2]|0)==0){c[g+16>>2]=a;l=a+24|0;n=c[l>>2]|0;o=c[n>>2]|0;m=g|0;c[m>>2]=o;q=c[n+4>>2]|0;r=g+4|0;c[r>>2]=q;s=j+8|0;t=c[s>>2]|0;u=j+12|0;v=c[u>>2]|0;w=h;x=j+16|0;c[w>>2]=c[x>>2];c[w+4>>2]=c[x+4>>2];c[w+8>>2]=c[x+8>>2];c[w+12>>2]=c[x+12>>2];c[w+16>>2]=c[x+16>>2];y=a+364|0;do{if((c[y>>2]|0)>0){z=j+44|0;A=g+8|0;B=g+12|0;C=t;D=v;E=0;while(1){F=c[e+(E<<2)>>2]|0;G=c[a+368+(E<<2)>>2]|0;H=c[z+(c[(c[a+340+(G<<2)>>2]|0)+20>>2]<<2)>>2]|0;if((D|0)<8){if((ej(g,C,D,0)|0)==0){p=0;I=2236;break}J=c[A>>2]|0;K=c[B>>2]|0;if((K|0)<8){L=1;M=K;N=J;I=2223}else{O=K;P=J;I=2221}}else{O=D;P=C;I=2221}do{if((I|0)==2221){I=0;J=P>>O-8&255;K=c[H+144+(J<<2)>>2]|0;if((K|0)==0){L=9;M=O;N=P;I=2223;break}Q=d[H+1168+J|0]|0;R=O-K|0;S=P}}while(0);if((I|0)==2223){I=0;K=ek(g,N,M,H,L)|0;if((K|0)<0){p=0;I=2237;break}Q=K;R=c[B>>2]|0;S=c[A>>2]|0}if((Q|0)==0){T=0;U=R;V=S}else{if((R|0)<(Q|0)){if((ej(g,S,R,Q)|0)==0){p=0;I=2238;break}W=c[B>>2]|0;X=c[A>>2]|0}else{W=R;X=S}K=W-Q|0;J=c[4272+(Q<<2)>>2]|0;Y=X>>K&J;T=Y-((Y|0)>(c[4272+(Q-1<<2)>>2]|0)?0:J)|0;U=K;V=X}K=h+4+(G<<2)|0;J=(c[K>>2]|0)+T|0;c[K>>2]=J;b[F>>1]=J<<k&65535;J=E+1|0;if((J|0)<(c[y>>2]|0)){C=V;D=U;E=J}else{I=2231;break}}if((I|0)==2236){i=f;return p|0}else if((I|0)==2231){Z=V;_=U;$=c[m>>2]|0;aa=c[l>>2]|0;ab=c[r>>2]|0;break}else if((I|0)==2237){i=f;return p|0}else if((I|0)==2238){i=f;return p|0}}else{Z=t;_=v;$=o;aa=n;ab=q}}while(0);c[aa>>2]=$;c[(c[l>>2]|0)+4>>2]=ab;c[s>>2]=Z;c[u>>2]=_;c[x>>2]=c[w>>2];c[x+4>>2]=c[w+4>>2];c[x+8>>2]=c[w+8>>2];c[x+12>>2]=c[w+12>>2];c[x+16>>2]=c[w+16>>2]}w=j+40|0;c[w>>2]=(c[w>>2]|0)-1;p=1;i=f;return p|0}function ed(a,e){a=a|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,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,ab=0,ac=0;f=i;i=i+24|0;g=f|0;h=c[a+464>>2]|0;j=a+280|0;do{if((c[j>>2]|0)!=0){if((c[h+40>>2]|0)!=0){break}k=h+12|0;l=a+460|0;m=(c[l>>2]|0)+24|0;c[m>>2]=(c[m>>2]|0)+((c[k>>2]|0)/8|0);c[k>>2]=0;if((aP[c[(c[l>>2]|0)+8>>2]&31](a)|0)==0){n=0;i=f;return n|0}l=a+336|0;if((c[l>>2]|0)>0){k=h+20|0;m=0;do{c[k+(m<<2)>>2]=0;m=m+1|0;}while((m|0)<(c[l>>2]|0))}c[h+16>>2]=0;c[h+40>>2]=c[j>>2];if((c[a+436>>2]|0)!=0){break}c[h+36>>2]=0}}while(0);if((c[h+36>>2]|0)==0){j=c[a+412>>2]|0;l=c[a+420>>2]|0;m=c[a+428>>2]|0;k=h+16|0;o=c[k>>2]|0;if((o|0)==0){c[g+16>>2]=a;p=a+24|0;q=c[p>>2]|0;r=g|0;c[r>>2]=c[q>>2];s=g+4|0;c[s>>2]=c[q+4>>2];q=h+8|0;t=c[q>>2]|0;u=h+12|0;v=c[u>>2]|0;w=c[e>>2]|0;e=c[h+60>>2]|0;x=c[a+408>>2]|0;L3104:do{if((x|0)>(j|0)){y=v;z=t;A=0}else{a=g+8|0;B=g+12|0;C=x;D=t;E=v;while(1){if((E|0)<8){if((ej(g,D,E,0)|0)==0){n=0;F=2279;break}G=c[a>>2]|0;H=c[B>>2]|0;if((H|0)<8){I=1;J=H;K=G;F=2258}else{L=H;M=G;F=2256}}else{L=E;M=D;F=2256}do{if((F|0)==2256){F=0;G=M>>L-8&255;H=c[e+144+(G<<2)>>2]|0;if((H|0)==0){I=9;J=L;K=M;F=2258;break}N=d[e+1168+G|0]|0;O=L-H|0;P=M}}while(0);if((F|0)==2258){F=0;H=ek(g,K,J,e,I)|0;if((H|0)<0){n=0;F=2283;break}N=H;O=c[B>>2]|0;P=c[a>>2]|0}Q=N>>4;H=N&15;if((H|0)==0){if((Q|0)!=15){F=2267;break}R=O;S=P;T=C+15|0}else{G=Q+C|0;if((O|0)<(H|0)){if((ej(g,P,O,H)|0)==0){n=0;F=2278;break}U=c[B>>2]|0;V=c[a>>2]|0}else{U=O;V=P}W=U-H|0;X=c[4272+(H<<2)>>2]|0;Y=V>>W&X;b[w+(c[m+(G<<2)>>2]<<1)>>1]=Y-((Y|0)>(c[4272+(H-1<<2)>>2]|0)?0:X)<<l&65535;R=W;S=V;T=G}G=T+1|0;if((G|0)>(j|0)){y=R;z=S;A=0;break L3104}else{C=G;D=S;E=R}}if((F|0)==2283){i=f;return n|0}else if((F|0)==2279){i=f;return n|0}else if((F|0)==2278){i=f;return n|0}else if((F|0)==2267){E=1<<Q;if((Q|0)==0){Z=O;_=P;$=E}else{do{if((O|0)<(Q|0)){if((ej(g,P,O,Q)|0)==0){n=0;i=f;return n|0}else{aa=c[B>>2]|0;ab=c[a>>2]|0;break}}else{aa=O;ab=P}}while(0);a=aa-Q|0;Z=a;_=ab;$=(ab>>a&c[4272+(Q<<2)>>2])+E|0}y=Z;z=_;A=$-1|0;break}}}while(0);c[c[p>>2]>>2]=c[r>>2];c[(c[p>>2]|0)+4>>2]=c[s>>2];c[q>>2]=z;c[u>>2]=y;ac=A}else{ac=o-1|0}c[k>>2]=ac}ac=h+40|0;c[ac>>2]=(c[ac>>2]|0)-1;n=1;i=f;return n|0}function ee(a,d){a=a|0;d=d|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,E=0,F=0,G=0,H=0,I=0,J=0,K=0;f=i;i=i+24|0;g=f|0;h=c[a+464>>2]|0;j=1<<c[a+420>>2];k=a+280|0;do{if((c[k>>2]|0)!=0){if((c[h+40>>2]|0)!=0){break}l=h+12|0;m=a+460|0;n=(c[m>>2]|0)+24|0;c[n>>2]=(c[n>>2]|0)+((c[l>>2]|0)/8|0);c[l>>2]=0;if((aP[c[(c[m>>2]|0)+8>>2]&31](a)|0)==0){o=0;i=f;return o|0}m=a+336|0;if((c[m>>2]|0)>0){l=h+20|0;n=0;do{c[l+(n<<2)>>2]=0;n=n+1|0;}while((n|0)<(c[m>>2]|0))}c[h+16>>2]=0;c[h+40>>2]=c[k>>2];if((c[a+436>>2]|0)!=0){break}c[h+36>>2]=0}}while(0);c[g+16>>2]=a;k=a+24|0;m=c[k>>2]|0;n=c[m>>2]|0;l=g|0;c[l>>2]=n;p=c[m+4>>2]|0;q=g+4|0;c[q>>2]=p;r=h+8|0;s=c[r>>2]|0;t=h+12|0;u=c[t>>2]|0;v=a+364|0;do{if((c[v>>2]|0)>0){a=g+8|0;w=g+12|0;x=0;y=s;z=u;while(1){A=c[d+(x<<2)>>2]|0;if((z|0)<1){if((ej(g,y,z,1)|0)==0){o=0;B=2304;break}C=c[w>>2]|0;D=c[a>>2]|0}else{C=z;D=y}E=C-1|0;if((1<<E&D|0)!=0){F=A|0;b[F>>1]=(e[F>>1]|0|j)&65535}F=x+1|0;if((F|0)<(c[v>>2]|0)){x=F;y=D;z=E}else{B=2300;break}}if((B|0)==2300){G=D;H=E;I=c[l>>2]|0;J=c[k>>2]|0;K=c[q>>2]|0;break}else if((B|0)==2304){i=f;return o|0}}else{G=s;H=u;I=n;J=m;K=p}}while(0);c[J>>2]=I;c[(c[k>>2]|0)+4>>2]=K;c[r>>2]=G;c[t>>2]=H;H=h+40|0;c[H>>2]=(c[H>>2]|0)-1;o=1;i=f;return o|0}function ef(a,e){a=a|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,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,ab=0,ac=0,ad=0,ae=0,af=0,ag=0,ah=0,ai=0,aj=0,ak=0,al=0,am=0,an=0,ao=0,ap=0,aq=0,ar=0,as=0,at=0,au=0,av=0,aw=0,ax=0,ay=0,az=0,aA=0,aB=0,aC=0,aD=0,aE=0,aF=0;f=i;i=i+280|0;g=f|0;h=f+24|0;j=c[a+464>>2]|0;k=a+280|0;do{if((c[k>>2]|0)!=0){if((c[j+40>>2]|0)!=0){break}l=j+12|0;m=a+460|0;n=(c[m>>2]|0)+24|0;c[n>>2]=(c[n>>2]|0)+((c[l>>2]|0)/8|0);c[l>>2]=0;if((aP[c[(c[m>>2]|0)+8>>2]&31](a)|0)==0){o=0;i=f;return o|0}m=a+336|0;if((c[m>>2]|0)>0){l=j+20|0;n=0;do{c[l+(n<<2)>>2]=0;n=n+1|0;}while((n|0)<(c[m>>2]|0))}c[j+16>>2]=0;c[j+40>>2]=c[k>>2];if((c[a+436>>2]|0)!=0){break}c[j+36>>2]=0}}while(0);do{if((c[j+36>>2]|0)==0){k=c[a+412>>2]|0;m=c[a+420>>2]|0;n=1<<m;l=-1<<m;m=c[a+428>>2]|0;c[g+16>>2]=a;p=a+24|0;q=c[p>>2]|0;r=g|0;c[r>>2]=c[q>>2];s=g+4|0;c[s>>2]=c[q+4>>2];q=j+8|0;t=c[q>>2]|0;u=j+12|0;v=c[u>>2]|0;w=j+16|0;x=c[w>>2]|0;y=c[e>>2]|0;z=c[j+60>>2]|0;A=c[a+408>>2]|0;L3192:do{if((x|0)==0){if((A|0)>(k|0)){B=v;C=t;D=0;E=2366;break}F=g+8|0;G=g+12|0;H=a|0;I=a;J=t;K=v;L=A;M=0;while(1){if((K|0)<8){if((ej(g,J,K,0)|0)==0){N=M;break L3192}O=c[F>>2]|0;P=c[G>>2]|0;if((P|0)<8){Q=1;R=P;S=O;E=2324}else{T=P;U=O;E=2322}}else{T=K;U=J;E=2322}do{if((E|0)==2322){E=0;O=U>>T-8&255;P=c[z+144+(O<<2)>>2]|0;if((P|0)==0){Q=9;R=T;S=U;E=2324;break}V=d[z+1168+O|0]|0;W=T-P|0;X=U}}while(0);if((E|0)==2324){E=0;P=ek(g,S,R,z,Q)|0;if((P|0)<0){N=M;break L3192}V=P;W=c[G>>2]|0;X=c[F>>2]|0}Y=V>>4;P=V&15;if((P|0)==1){E=2328}else if((P|0)==0){if((Y|0)==15){Z=0;_=W;$=X;aa=15}else{break}}else{c[(c[H>>2]|0)+20>>2]=121;aM[c[(c[H>>2]|0)+4>>2]&63](I,-1);E=2328}if((E|0)==2328){E=0;if((W|0)<1){if((ej(g,X,W,1)|0)==0){N=M;break L3192}ab=c[G>>2]|0;ac=c[F>>2]|0}else{ab=W;ac=X}P=ab-1|0;Z=(1<<P&ac|0)==0?l:n;_=P;$=ac;aa=Y}P=L;O=_;ad=$;ae=aa;L3217:while(1){af=y+(c[m+(P<<2)>>2]<<1)|0;do{if((b[af>>1]|0)==0){ag=ae-1|0;if((ag|0)<0){ah=P;ai=O;aj=ad;break L3217}else{ak=O;al=ad;am=ag}}else{if((O|0)<1){if((ej(g,ad,O,1)|0)==0){N=M;break L3192}an=c[G>>2]|0;ao=c[F>>2]|0}else{an=O;ao=ad}ag=an-1|0;if((1<<ag&ao|0)==0){ak=ag;al=ao;am=ae;break}ap=b[af>>1]|0;aq=ap<<16>>16;if((aq&n|0)!=0){ak=ag;al=ao;am=ae;break}if(ap<<16>>16>-1){b[af>>1]=aq+n&65535;ak=ag;al=ao;am=ae;break}else{b[af>>1]=aq+l&65535;ak=ag;al=ao;am=ae;break}}}while(0);af=P+1|0;if((af|0)>(k|0)){ah=af;ai=ak;aj=al;break}else{P=af;O=ak;ad=al;ae=am}}if((Z|0)==0){ar=M}else{ae=c[m+(ah<<2)>>2]|0;b[y+(ae<<1)>>1]=Z&65535;c[h+(M<<2)>>2]=ae;ar=M+1|0}ae=ah+1|0;if((ae|0)>(k|0)){B=ai;C=aj;D=0;E=2366;break L3192}else{J=aj;K=ai;L=ae;M=ar}}K=1<<Y;if((Y|0)==0){as=L;at=W;au=X;av=K;aw=M;E=2353;break}if((W|0)<(Y|0)){if((ej(g,X,W,Y)|0)==0){N=M;break}ax=c[G>>2]|0;ay=c[F>>2]|0}else{ax=W;ay=X}J=ax-Y|0;I=(ay>>J&c[4272+(Y<<2)>>2])+K|0;if((I|0)==0){B=J;C=ay;D=0;E=2366}else{as=L;at=J;au=ay;av=I;aw=M;E=2353}}else{as=A;at=v;au=t;av=x;aw=0;E=2353}}while(0);L3242:do{if((E|0)==2353){if((as|0)>(k|0)){az=au;aA=at}else{x=g+8|0;t=g+12|0;v=au;A=at;z=as;while(1){I=y+(c[m+(z<<2)>>2]<<1)|0;do{if((b[I>>1]|0)==0){aB=A;aC=v}else{if((A|0)<1){if((ej(g,v,A,1)|0)==0){N=aw;break L3242}aD=c[t>>2]|0;aE=c[x>>2]|0}else{aD=A;aE=v}J=aD-1|0;if((1<<J&aE|0)==0){aB=J;aC=aE;break}K=b[I>>1]|0;H=K<<16>>16;if((H&n|0)!=0){aB=J;aC=aE;break}if(K<<16>>16>-1){b[I>>1]=H+n&65535;aB=J;aC=aE;break}else{b[I>>1]=H+l&65535;aB=J;aC=aE;break}}}while(0);I=z+1|0;if((I|0)>(k|0)){az=aC;aA=aB;break}else{v=aC;A=aB;z=I}}}B=aA;C=az;D=av-1|0;E=2366}}while(0);if((E|0)==2366){c[c[p>>2]>>2]=c[r>>2];c[(c[p>>2]|0)+4>>2]=c[s>>2];c[q>>2]=C;c[u>>2]=B;c[w>>2]=D;break}if((N|0)>0){aF=N}else{o=0;i=f;return o|0}while(1){k=aF-1|0;b[y+(c[h+(k<<2)>>2]<<1)>>1]=0;if((k|0)>0){aF=k}else{o=0;break}}i=f;return o|0}}while(0);aF=j+40|0;c[aF>>2]=(c[aF>>2]|0)-1;o=1;i=f;return o|0}function eg(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,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;h=i;i=i+1296|0;j=h|0;k=h+264|0;if(f>>>0>3){l=b|0;c[(c[l>>2]|0)+20>>2]=52;c[(c[l>>2]|0)+24>>2]=f;aL[c[c[l>>2]>>2]&127](b)}l=(e|0)!=0;if(l){m=b+180+(f<<2)|0}else{m=b+196+(f<<2)|0}e=c[m>>2]|0;if((e|0)==0){m=b|0;c[(c[m>>2]|0)+20>>2]=52;c[(c[m>>2]|0)+24>>2]=f;aL[c[c[m>>2]>>2]&127](b)}m=c[g>>2]|0;if((m|0)==0){f=b;n=aO[c[c[b+4>>2]>>2]&15](f,1,1424)|0;c[g>>2]=n;o=n;p=f}else{o=m;p=b}c[o+140>>2]=e;m=b|0;b=1;f=0;while(1){n=a[e+b|0]|0;g=n&255;q=g+f|0;if((q|0)>256){c[(c[m>>2]|0)+20>>2]=9;aL[c[c[m>>2]>>2]&127](p)}if(n<<24>>24==0){r=f}else{fv(j+f|0,b&255|0,g|0);r=q}q=b+1|0;if((q|0)<17){b=q;f=r}else{break}}a[j+r|0]=0;f=a[j|0]|0;if(f<<24>>24==0){s=1;t=0}else{b=f<<24>>24;q=0;g=0;n=f;while(1){if((n<<24>>24|0)==(b|0)){f=q;u=g;while(1){v=u+1|0;c[k+(u<<2)>>2]=f;w=f+1|0;x=a[j+v|0]|0;if((x<<24>>24|0)==(b|0)){f=w;u=v}else{y=w;z=v;A=x;break}}}else{y=q;z=g;A=n}if((y|0)>=(1<<b|0)){c[(c[m>>2]|0)+20>>2]=9;aL[c[c[m>>2]>>2]&127](p)}if(A<<24>>24==0){s=1;t=0;break}else{b=b+1|0;q=y<<1;g=z;n=A}}}while(1){A=e+s|0;if((a[A]|0)==0){c[o+(s<<2)>>2]=-1;B=t}else{c[o+72+(s<<2)>>2]=t-(c[k+(t<<2)>>2]|0);n=(d[A]|0)+t|0;c[o+(s<<2)>>2]=c[k+(n-1<<2)>>2];B=n}n=s+1|0;if((n|0)<17){s=n;t=B}else{break}}c[o+68>>2]=1048575;fv(o+144|0,0,1024);B=1;t=0;while(1){s=e+B|0;n=a[s]|0;if(n<<24>>24==0){C=t}else{A=8-B|0;z=1<<A;g=(z|0)>0;y=1;q=t;b=n;while(1){if(g){n=e+17+q|0;j=c[k+(q<<2)>>2]<<A;u=z;while(1){c[o+144+(j<<2)>>2]=B;a[o+1168+j|0]=a[n]|0;f=u-1|0;if((f|0)>0){j=j+1|0;u=f}else{break}}D=a[s]|0}else{D=b}u=y+1|0;j=q+1|0;if((u|0)>(D&255|0)){C=j;break}else{y=u;q=j;b=D}}}b=B+1|0;if((b|0)<9){B=b;t=C}else{break}}if(l&(r|0)>0){E=0}else{i=h;return}do{if((d[e+17+E|0]|0)>15){c[(c[m>>2]|0)+20>>2]=9;aL[c[c[m>>2]>>2]&127](p)}E=E+1|0;}while((E|0)<(r|0));i=h;return}function eh(a,e){a=a|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,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,ab=0,ac=0,ad=0,ae=0,af=0,ag=0,ah=0,ai=0,aj=0,ak=0,al=0,am=0,an=0,ao=0,ap=0,aq=0,ar=0,as=0,at=0,au=0,av=0,aw=0,ax=0,ay=0,az=0,aA=0,aB=0,aC=0,aD=0,aE=0,aF=0,aG=0,aH=0,aI=0,aJ=0,aK=0,aL=0,aM=0,aN=0,aO=0,aQ=0,aR=0,aS=0,aT=0,aU=0,aV=0,aW=0,aX=0;f=i;i=i+48|0;g=f|0;h=f+24|0;j=c[a+464>>2]|0;k=a+280|0;do{if((c[k>>2]|0)!=0){if((c[j+40>>2]|0)!=0){break}l=j+12|0;m=a+460|0;n=(c[m>>2]|0)+24|0;c[n>>2]=(c[n>>2]|0)+((c[l>>2]|0)/8|0);c[l>>2]=0;if((aP[c[(c[m>>2]|0)+8>>2]&31](a)|0)==0){o=0;i=f;return o|0}m=a+336|0;if((c[m>>2]|0)>0){l=j+20|0;n=0;do{c[l+(n<<2)>>2]=0;n=n+1|0;}while((n|0)<(c[m>>2]|0))}c[j+16>>2]=0;c[j+40>>2]=c[k>>2];if((c[a+436>>2]|0)!=0){break}c[j+36>>2]=0}}while(0);if((c[j+36>>2]|0)==0){k=c[a+428>>2]|0;m=c[a+432>>2]|0;c[g+16>>2]=a;n=a+24|0;l=c[n>>2]|0;p=c[l>>2]|0;q=g|0;c[q>>2]=p;r=c[l+4>>2]|0;s=g+4|0;c[s>>2]=r;t=j+8|0;u=c[t>>2]|0;v=j+12|0;w=c[v>>2]|0;x=h;y=j+16|0;c[x>>2]=c[y>>2];c[x+4>>2]=c[y+4>>2];c[x+8>>2]=c[y+8>>2];c[x+12>>2]=c[y+12>>2];c[x+16>>2]=c[y+16>>2];z=a+364|0;do{if((c[z>>2]|0)>0){A=j+96|0;B=g+8|0;C=g+12|0;D=j+136|0;E=j+176|0;F=w;G=u;H=0;L3353:while(1){I=c[e+(H<<2)>>2]|0;J=c[A+(H<<2)>>2]|0;if((F|0)<8){if((ej(g,G,F,0)|0)==0){o=0;K=2494;break}L=c[B>>2]|0;M=c[C>>2]|0;if((M|0)<8){N=L;O=1;P=M;K=2433}else{Q=L;R=M;K=2431}}else{Q=G;R=F;K=2431}do{if((K|0)==2431){K=0;M=Q>>R-8&255;L=c[J+144+(M<<2)>>2]|0;if((L|0)==0){N=Q;O=9;P=R;K=2433;break}S=Q;T=R-L|0;U=d[J+1168+M|0]|0}}while(0);if((K|0)==2433){K=0;M=ek(g,N,P,J,O)|0;if((M|0)<0){o=0;K=2490;break}S=c[B>>2]|0;T=c[C>>2]|0;U=M}M=c[D+(H<<2)>>2]|0;L=c[E+(H<<2)>>2]|0;V=(U|0)!=0;L3365:do{if((L|0)==0){if(!V){W=S;X=T;Y=1;K=2464;break}if((T|0)<(U|0)){if((ej(g,S,T,U)|0)==0){o=0;K=2493;break L3353}Z=c[B>>2]|0;_=c[C>>2]|0}else{Z=S;_=T}W=Z;X=_-U|0;Y=1;K=2464}else{if(V){if((T|0)<(U|0)){if((ej(g,S,T,U)|0)==0){o=0;K=2495;break L3353}$=c[B>>2]|0;aa=c[C>>2]|0}else{$=S;aa=T}ab=aa-U|0;ac=c[4272+(U<<2)>>2]|0;ad=$>>ab&ac;ae=$;af=ab;ag=ad-((ad|0)>(c[4272+(U-1<<2)>>2]|0)?0:ac)|0}else{ae=S;af=T;ag=0}ac=h+4+(c[a+368+(H<<2)>>2]<<2)|0;ad=(c[ac>>2]|0)+ag|0;c[ac>>2]=ad;b[I>>1]=ad&65535;if((L|0)>1){ah=1;ai=af;aj=ae}else{W=ae;X=af;Y=1;K=2464;break}while(1){if((ai|0)<8){if((ej(g,aj,ai,0)|0)==0){o=0;K=2484;break L3353}ad=c[B>>2]|0;ac=c[C>>2]|0;if((ac|0)<8){ak=1;al=ad;am=ac;K=2447}else{an=ad;ao=ac;K=2445}}else{an=aj;ao=ai;K=2445}do{if((K|0)==2445){K=0;ac=an>>ao-8&255;ad=c[M+144+(ac<<2)>>2]|0;if((ad|0)==0){ak=9;al=an;am=ao;K=2447;break}ap=an;aq=ao-ad|0;ar=d[M+1168+ac|0]|0}}while(0);if((K|0)==2447){K=0;ac=ek(g,al,am,M,ak)|0;if((ac|0)<0){o=0;K=2492;break L3353}ap=c[B>>2]|0;aq=c[C>>2]|0;ar=ac}ac=ar>>4;ad=ar&15;if((ad|0)==0){if((ac|0)!=15){as=ap;at=aq;break L3365}au=ap;av=aq;aw=ah+15|0}else{ab=ac+ah|0;if((aq|0)<(ad|0)){if((ej(g,ap,aq,ad)|0)==0){o=0;K=2489;break L3353}ax=c[B>>2]|0;ay=c[C>>2]|0}else{ax=ap;ay=aq}ac=ay-ad|0;az=c[4272+(ad<<2)>>2]|0;aA=ax>>ac&az;if((aA|0)>(c[4272+(ad-1<<2)>>2]|0)){aB=aA&65535}else{aB=aA-az&65535}b[I+(c[k+(ab<<2)>>2]<<1)>>1]=aB;au=ax;av=ac;aw=ab}ab=aw+1|0;if((ab|0)<(L|0)){ah=ab;ai=av;aj=au}else{W=au;X=av;Y=ab;K=2464;break}}}}while(0);L3404:do{if((K|0)==2464){K=0;if((Y|0)>(m|0)){as=W;at=X;break}else{aC=Y;aD=X;aE=W}while(1){if((aD|0)<8){if((ej(g,aE,aD,0)|0)==0){o=0;K=2488;break L3353}L=c[B>>2]|0;I=c[C>>2]|0;if((I|0)<8){aF=1;aG=L;aH=I;K=2470}else{aI=L;aJ=I;K=2468}}else{aI=aE;aJ=aD;K=2468}do{if((K|0)==2468){K=0;I=aI>>aJ-8&255;L=c[M+144+(I<<2)>>2]|0;if((L|0)==0){aF=9;aG=aI;aH=aJ;K=2470;break}aK=aI;aL=aJ-L|0;aM=d[M+1168+I|0]|0}}while(0);if((K|0)==2470){K=0;I=ek(g,aG,aH,M,aF)|0;if((I|0)<0){o=0;K=2486;break L3353}aK=c[B>>2]|0;aL=c[C>>2]|0;aM=I}I=aM>>4;L=aM&15;if((L|0)==0){if((I|0)==15){aN=aK;aO=aL;aQ=15}else{as=aK;at=aL;break L3404}}else{if((aL|0)<(L|0)){if((ej(g,aK,aL,L)|0)==0){o=0;K=2485;break L3353}aR=c[B>>2]|0;aS=c[C>>2]|0}else{aR=aK;aS=aL}aN=aR;aO=aS-L|0;aQ=I}I=aC+1+aQ|0;if((I|0)>(m|0)){as=aN;at=aO;break}else{aC=I;aD=aO;aE=aN}}}}while(0);M=H+1|0;if((M|0)<(c[z>>2]|0)){F=at;G=as;H=M}else{K=2480;break}}if((K|0)==2484){i=f;return o|0}else if((K|0)==2485){i=f;return o|0}else if((K|0)==2486){i=f;return o|0}else if((K|0)==2488){i=f;return o|0}else if((K|0)==2489){i=f;return o|0}else if((K|0)==2490){i=f;return o|0}else if((K|0)==2492){i=f;return o|0}else if((K|0)==2493){i=f;return o|0}else if((K|0)==2494){i=f;return o|0}else if((K|0)==2495){i=f;return o|0}else if((K|0)==2480){aT=at;aU=as;aV=c[q>>2]|0;aW=c[n>>2]|0;aX=c[s>>2]|0;break}}else{aT=w;aU=u;aV=p;aW=l;aX=r}}while(0);c[aW>>2]=aV;c[(c[n>>2]|0)+4>>2]=aX;c[t>>2]=aU;c[v>>2]=aT;c[y>>2]=c[x>>2];c[y+4>>2]=c[x+4>>2];c[y+8>>2]=c[x+8>>2];c[y+12>>2]=c[x+12>>2];c[y+16>>2]=c[x+16>>2]}x=j+40|0;c[x>>2]=(c[x>>2]|0)-1;o=1;i=f;return o|0}function ei(a,e){a=a|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,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,ab=0,ac=0,ad=0,ae=0,af=0,ag=0,ah=0,ai=0,aj=0,ak=0,al=0,am=0,an=0,ao=0,ap=0,aq=0,ar=0,as=0,at=0,au=0,av=0,aw=0,ax=0,ay=0,az=0,aA=0,aB=0,aC=0,aD=0,aE=0,aF=0,aG=0,aH=0,aI=0,aJ=0,aK=0,aL=0,aM=0,aN=0,aO=0,aQ=0,aR=0,aS=0,aT=0;f=i;i=i+48|0;g=f|0;h=f+24|0;j=c[a+464>>2]|0;k=a+280|0;do{if((c[k>>2]|0)!=0){if((c[j+40>>2]|0)!=0){break}l=j+12|0;m=a+460|0;n=(c[m>>2]|0)+24|0;c[n>>2]=(c[n>>2]|0)+((c[l>>2]|0)/8|0);c[l>>2]=0;if((aP[c[(c[m>>2]|0)+8>>2]&31](a)|0)==0){o=0;i=f;return o|0}m=a+336|0;if((c[m>>2]|0)>0){l=j+20|0;n=0;do{c[l+(n<<2)>>2]=0;n=n+1|0;}while((n|0)<(c[m>>2]|0))}c[j+16>>2]=0;c[j+40>>2]=c[k>>2];if((c[a+436>>2]|0)!=0){break}c[j+36>>2]=0}}while(0);if((c[j+36>>2]|0)==0){c[g+16>>2]=a;k=a+24|0;m=c[k>>2]|0;n=c[m>>2]|0;l=g|0;c[l>>2]=n;p=c[m+4>>2]|0;q=g+4|0;c[q>>2]=p;r=j+8|0;s=c[r>>2]|0;t=j+12|0;u=c[t>>2]|0;v=h;w=j+16|0;c[v>>2]=c[w>>2];c[v+4>>2]=c[w+4>>2];c[v+8>>2]=c[w+8>>2];c[v+12>>2]=c[w+12>>2];c[v+16>>2]=c[w+16>>2];x=a+364|0;do{if((c[x>>2]|0)>0){y=j+96|0;z=g+8|0;A=g+12|0;B=j+136|0;C=j+176|0;D=u;E=s;F=0;L3460:while(1){G=c[e+(F<<2)>>2]|0;H=c[y+(F<<2)>>2]|0;if((D|0)<8){if((ej(g,E,D,0)|0)==0){o=0;I=2564;break}J=c[z>>2]|0;K=c[A>>2]|0;if((K|0)<8){L=J;M=1;N=K;I=2512}else{O=J;P=K;I=2510}}else{O=E;P=D;I=2510}do{if((I|0)==2510){I=0;K=O>>P-8&255;J=c[H+144+(K<<2)>>2]|0;if((J|0)==0){L=O;M=9;N=P;I=2512;break}Q=O;R=P-J|0;S=d[H+1168+K|0]|0}}while(0);if((I|0)==2512){I=0;K=ek(g,L,N,H,M)|0;if((K|0)<0){o=0;I=2565;break}Q=c[z>>2]|0;R=c[A>>2]|0;S=K}K=c[B+(F<<2)>>2]|0;J=c[C+(F<<2)>>2]|0;T=(S|0)!=0;L3472:do{if((J|0)==0){if(!T){U=1;V=R;W=Q;I=2544;break}if((R|0)<(S|0)){if((ej(g,Q,R,S)|0)==0){o=0;I=2570;break L3460}X=c[z>>2]|0;Y=c[A>>2]|0}else{X=Q;Y=R}U=1;V=Y-S|0;W=X;I=2544}else{if(T){if((R|0)<(S|0)){if((ej(g,Q,R,S)|0)==0){o=0;I=2566;break L3460}Z=c[z>>2]|0;_=c[A>>2]|0}else{Z=Q;_=R}$=_-S|0;aa=c[4272+(S<<2)>>2]|0;ab=Z>>$&aa;ac=Z;ad=$;ae=ab-((ab|0)>(c[4272+(S-1<<2)>>2]|0)?0:aa)|0}else{ac=Q;ad=R;ae=0}aa=h+4+(c[a+368+(F<<2)>>2]<<2)|0;ab=(c[aa>>2]|0)+ae|0;c[aa>>2]=ab;b[G>>1]=ab&65535;if((J|0)>1){af=1;ag=ad;ah=ac}else{U=1;V=ad;W=ac;I=2544;break}while(1){if((ag|0)<8){if((ej(g,ah,ag,0)|0)==0){o=0;I=2567;break L3460}ab=c[z>>2]|0;aa=c[A>>2]|0;if((aa|0)<8){ai=1;aj=ab;ak=aa;I=2526}else{al=ab;am=aa;I=2524}}else{al=ah;am=ag;I=2524}do{if((I|0)==2524){I=0;aa=al>>am-8&255;ab=c[K+144+(aa<<2)>>2]|0;if((ab|0)==0){ai=9;aj=al;ak=am;I=2526;break}an=al;ao=am-ab|0;ap=d[K+1168+aa|0]|0}}while(0);if((I|0)==2526){I=0;aa=ek(g,aj,ak,K,ai)|0;if((aa|0)<0){o=0;I=2568;break L3460}an=c[z>>2]|0;ao=c[A>>2]|0;ap=aa}aa=ap>>4;ab=ap&15;if((ab|0)==0){if((aa|0)!=15){aq=an;ar=ao;break L3472}as=an;at=ao;au=af+15|0}else{$=aa+af|0;if((ao|0)<(ab|0)){if((ej(g,an,ao,ab)|0)==0){o=0;I=2569;break L3460}av=c[z>>2]|0;aw=c[A>>2]|0}else{av=an;aw=ao}aa=aw-ab|0;ax=c[4272+(ab<<2)>>2]|0;ay=av>>aa&ax;if((ay|0)>(c[4272+(ab-1<<2)>>2]|0)){az=ay&65535}else{az=ay-ax&65535}b[G+(c[3480+($<<2)>>2]<<1)>>1]=az;as=av;at=aa;au=$}aA=au+1|0;if((aA|0)<(J|0)){af=aA;ag=at;ah=as}else{break}}if((aA|0)<64){U=aA;V=at;W=as;I=2544}else{aq=as;ar=at}}}while(0);L3512:do{if((I|0)==2544){while(1){I=0;if((V|0)<8){if((ej(g,W,V,0)|0)==0){o=0;I=2571;break L3460}J=c[z>>2]|0;G=c[A>>2]|0;if((G|0)<8){aB=1;aC=J;aD=G;I=2549}else{aE=J;aF=G;I=2547}}else{aE=W;aF=V;I=2547}do{if((I|0)==2547){I=0;G=aE>>aF-8&255;J=c[K+144+(G<<2)>>2]|0;if((J|0)==0){aB=9;aC=aE;aD=aF;I=2549;break}aG=aE;aH=aF-J|0;aI=d[K+1168+G|0]|0}}while(0);if((I|0)==2549){I=0;G=ek(g,aC,aD,K,aB)|0;if((G|0)<0){o=0;I=2572;break L3460}aG=c[z>>2]|0;aH=c[A>>2]|0;aI=G}G=aI>>4;J=aI&15;if((J|0)==0){if((G|0)==15){aJ=aG;aK=aH;aL=15}else{aq=aG;ar=aH;break L3512}}else{if((aH|0)<(J|0)){if((ej(g,aG,aH,J)|0)==0){o=0;I=2573;break L3460}aM=c[z>>2]|0;aN=c[A>>2]|0}else{aM=aG;aN=aH}aJ=aM;aK=aN-J|0;aL=G}G=U+1+aL|0;if((G|0)<64){U=G;V=aK;W=aJ;I=2544}else{aq=aJ;ar=aK;break}}}}while(0);K=F+1|0;if((K|0)<(c[x>>2]|0)){D=ar;E=aq;F=K}else{I=2559;break}}if((I|0)==2559){aO=ar;aQ=aq;aR=c[l>>2]|0;aS=c[k>>2]|0;aT=c[q>>2]|0;break}else if((I|0)==2572){i=f;return o|0}else if((I|0)==2573){i=f;return o|0}else if((I|0)==2564){i=f;return o|0}else if((I|0)==2568){i=f;return o|0}else if((I|0)==2569){i=f;return o|0}else if((I|0)==2570){i=f;return o|0}else if((I|0)==2571){i=f;return o|0}else if((I|0)==2565){i=f;return o|0}else if((I|0)==2566){i=f;return o|0}else if((I|0)==2567){i=f;return o|0}}else{aO=u;aQ=s;aR=n;aS=m;aT=p}}while(0);c[aS>>2]=aR;c[(c[k>>2]|0)+4>>2]=aT;c[r>>2]=aQ;c[t>>2]=aO;c[w>>2]=c[v>>2];c[w+4>>2]=c[v+4>>2];c[w+8>>2]=c[v+8>>2];c[w+12>>2]=c[v+12>>2];c[w+16>>2]=c[v+16>>2]}v=j+40|0;c[v>>2]=(c[v>>2]|0)-1;o=1;i=f;return o|0}function ej(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,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;g=b|0;h=c[g>>2]|0;i=b+4|0;j=c[i>>2]|0;k=c[b+16>>2]|0;l=k+436|0;L3550:do{if((c[l>>2]|0)==0){if((e|0)>=25){m=j;n=h;o=d;p=e;break}q=k+24|0;r=e;s=d;t=h;u=j;L3553:while(1){if((u|0)==0){if((aP[c[(c[q>>2]|0)+12>>2]&31](k)|0)==0){v=0;w=2596;break}x=c[q>>2]|0;y=c[x+4>>2]|0;z=c[x>>2]|0}else{y=u;z=t}x=y-1|0;A=z+1|0;B=a[z]|0;C=B&255;if(B<<24>>24==-1){B=x;D=A;while(1){if((B|0)==0){if((aP[c[(c[q>>2]|0)+12>>2]&31](k)|0)==0){v=0;w=2595;break L3553}E=c[q>>2]|0;F=c[E+4>>2]|0;G=c[E>>2]|0}else{F=B;G=D}H=F-1|0;I=G+1|0;J=a[G]|0;if((J<<24>>24|0)==(-1|0)){B=H;D=I}else if((J<<24>>24|0)==0){K=255;L=H;M=I;break}else{w=2586;break L3553}}}else{K=C;L=x;M=A}D=K|s<<8;B=r+8|0;if((B|0)<25){r=B;s=D;t=M;u=L}else{m=L;n=M;o=D;p=B;break L3550}}if((w|0)==2586){c[l>>2]=J&255;N=H;O=I;P=s;Q=r;w=2588;break}else if((w|0)==2595){return v|0}else if((w|0)==2596){return v|0}}else{N=j;O=h;P=d;Q=e;w=2588}}while(0);do{if((w|0)==2588){if((Q|0)>=(f|0)){m=N;n=O;o=P;p=Q;break}e=k+464|0;if((c[(c[e>>2]|0)+36>>2]|0)==0){d=k|0;c[(c[d>>2]|0)+20>>2]=120;aM[c[(c[d>>2]|0)+4>>2]&63](k,-1);c[(c[e>>2]|0)+36>>2]=1}m=N;n=O;o=P<<25-Q;p=25}}while(0);c[g>>2]=n;c[i>>2]=m;c[b+8>>2]=o;c[b+12>>2]=p;v=1;return v|0}function ek(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;do{if((e|0)<(g|0)){if((ej(a,b,e,g)|0)==0){h=-1;return h|0}else{i=a+8|0;j=a+12|0;k=c[i>>2]|0;l=c[j>>2]|0;m=i;n=j;break}}else{k=b;l=e;m=a+8|0;n=a+12|0}}while(0);e=l-g|0;l=k>>e&c[4272+(g<<2)>>2];L3587:do{if((l|0)>(c[f+(g<<2)>>2]|0)){b=e;j=k;i=g;o=l;while(1){p=o<<1;if((b|0)<1){if((ej(a,j,b,1)|0)==0){h=-1;break}q=c[m>>2]|0;r=c[n>>2]|0}else{q=j;r=b}s=r-1|0;t=q>>>(s>>>0)&1|p;p=i+1|0;if((t|0)>(c[f+(p<<2)>>2]|0)){b=s;j=q;i=p;o=t}else{u=s;v=q;w=p;x=t;break L3587}}return h|0}else{u=e;v=k;w=g;x=l}}while(0);c[m>>2]=v;c[n>>2]=u;if((w|0)>16){u=a+16|0;c[(c[c[u>>2]>>2]|0)+20>>2]=121;a=c[u>>2]|0;aM[c[(c[a>>2]|0)+4>>2]&63](a,-1);h=0;return h|0}else{h=d[(c[f+72+(w<<2)>>2]|0)+x+((c[f+140>>2]|0)+17)|0]|0;return h|0}return 0}function el(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,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;d=a+444|0;e=c[d>>2]|0;if((b|0)==2){c[e+4>>2]=14;return}else if((b|0)==0){b=e+4|0;if((c[(c[a+472>>2]|0)+8>>2]|0)==0){c[b>>2]=22}else{c[b>>2]=36;b=c[d>>2]|0;d=a+324|0;f=c[d>>2]|0;g=a+36|0;L3610:do{if((c[g>>2]|0)>0){h=b+56|0;i=b+60|0;j=b+8|0;k=f+2|0;l=f-2|0;m=c[a+216>>2]|0;n=0;o=f;while(1){p=(Z(c[m+40>>2]|0,c[m+12>>2]|0)|0)/(o|0)|0;q=c[(c[h>>2]|0)+(n<<2)>>2]|0;r=c[(c[i>>2]|0)+(n<<2)>>2]|0;s=c[j+(n<<2)>>2]|0;t=Z(p,k)|0;if((t|0)>0){u=0;do{v=c[s+(u<<2)>>2]|0;c[r+(u<<2)>>2]=v;c[q+(u<<2)>>2]=v;u=u+1|0;}while((u|0)<(t|0))}t=p<<1;if((t|0)>0){u=Z(p,f)|0;v=Z(p,l)|0;w=0;do{x=w+u|0;y=w+v|0;c[r+(y<<2)>>2]=c[s+(x<<2)>>2];c[r+(x<<2)>>2]=c[s+(y<<2)>>2];w=w+1|0;}while((w|0)<(t|0))}if((p|0)>0){t=0;do{c[q+(t-p<<2)>>2]=c[q>>2];t=t+1|0;}while((t|0)<(p|0))}p=n+1|0;if((p|0)>=(c[g>>2]|0)){break L3610}m=m+88|0;n=p;o=c[d>>2]|0}}}while(0);c[e+64>>2]=0;c[e+68>>2]=0;c[e+76>>2]=0}c[e+48>>2]=0;c[e+52>>2]=0;return}else{e=a|0;c[(c[e>>2]|0)+20>>2]=3;aL[c[c[e>>2]>>2]&127](a);return}}function em(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,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;f=a+444|0;g=c[f>>2]|0;h=g+48|0;do{if((c[h>>2]|0)==0){if((aU[c[(c[a+448>>2]|0)+12>>2]&127](a,c[g+56+(c[g+64>>2]<<2)>>2]|0)|0)==0){return}else{c[h>>2]=1;i=g+76|0;c[i>>2]=(c[i>>2]|0)+1;break}}}while(0);i=g+68|0;j=c[i>>2]|0;do{if((j|0)==1){k=g+52|0}else if((j|0)==2){l=g+52|0;m=l;n=g+72|0;aW[c[(c[a+452>>2]|0)+4>>2]&31](a,c[g+56+(c[g+64>>2]<<2)>>2]|0,m,c[n>>2]|0,b,d,e);if((c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0){return}c[i>>2]=0;if((c[d>>2]|0)>>>0<e>>>0){o=l;p=2644;break}return}else if((j|0)==0){o=g+52|0;p=2644}else{return}}while(0);if((p|0)==2644){c[o>>2]=0;p=a+324|0;c[g+72>>2]=(c[p>>2]|0)-1;L3650:do{if((c[g+76>>2]|0)==(c[a+328>>2]|0)){j=c[f>>2]|0;l=a+36|0;if((c[l>>2]|0)<=0){break}n=j+72|0;m=j+64|0;q=j+56|0;j=c[a+216>>2]|0;r=0;while(1){s=Z(c[j+40>>2]|0,c[j+12>>2]|0)|0;t=(s|0)/(c[p>>2]|0)|0;u=((c[j+48>>2]|0)>>>0)%(s>>>0)|0;v=(u|0)==0?s:u;if((r|0)==0){c[n>>2]=((v-1|0)/(t|0)|0)+1}u=c[(c[q+(c[m>>2]<<2)>>2]|0)+(r<<2)>>2]|0;s=t<<1;if((s|0)>0){t=u+(v-1<<2)|0;w=0;do{c[u+(w+v<<2)>>2]=c[t>>2];w=w+1|0;}while((w|0)<(s|0))}s=r+1|0;if((s|0)>=(c[l>>2]|0)){break L3650}j=j+88|0;r=s}}}while(0);c[i>>2]=1;k=o}o=g+64|0;p=o;r=k;j=g+72|0;l=j;aW[c[(c[a+452>>2]|0)+4>>2]&31](a,c[g+56+(c[p>>2]<<2)>>2]|0,r,c[l>>2]|0,b,d,e);if((c[r>>2]|0)>>>0<(c[l>>2]|0)>>>0){return}L3669:do{if((c[g+76>>2]|0)==1){l=c[f>>2]|0;r=a+324|0;e=c[r>>2]|0;d=a+36|0;b=c[d>>2]|0;if((b|0)<=0){x=r;break}m=l+56|0;q=l+60|0;l=e+1|0;n=e+2|0;s=c[a+216>>2]|0;w=0;t=b;b=e;while(1){e=(Z(c[s+40>>2]|0,c[s+12>>2]|0)|0)/(b|0)|0;v=c[(c[m>>2]|0)+(w<<2)>>2]|0;u=c[(c[q>>2]|0)+(w<<2)>>2]|0;if((e|0)>0){y=Z(e,l)|0;z=Z(e,n)|0;A=0;do{B=A+y|0;C=A-e|0;c[v+(C<<2)>>2]=c[v+(B<<2)>>2];c[u+(C<<2)>>2]=c[u+(B<<2)>>2];B=A+z|0;c[v+(B<<2)>>2]=c[v+(A<<2)>>2];c[u+(B<<2)>>2]=c[u+(A<<2)>>2];A=A+1|0;}while((A|0)<(e|0));D=c[d>>2]|0}else{D=t}e=w+1|0;if((e|0)>=(D|0)){x=r;break L3669}s=s+88|0;w=e;t=D;b=c[r>>2]|0}}else{x=a+324|0}}while(0);c[o>>2]=c[p>>2]^1;c[h>>2]=0;c[k>>2]=(c[x>>2]|0)+1;c[j>>2]=(c[x>>2]|0)+2;c[i>>2]=2;return}function en(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=c[a+444>>2]|0;g=f+48|0;do{if((c[g>>2]|0)==0){h=f+8|0;if((aU[c[(c[a+448>>2]|0)+12>>2]&127](a,h)|0)==0){return}else{c[g>>2]=1;i=h;break}}else{i=f+8|0}}while(0);h=c[a+324>>2]|0;j=f+52|0;f=j;aW[c[(c[a+452>>2]|0)+4>>2]&31](a,i,f,h,b,d,e);if((c[f>>2]|0)>>>0<h>>>0){return}c[g>>2]=0;c[j>>2]=0;return}function eo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;aW[c[(c[a+452>>2]|0)+4>>2]&31](a,0,0,0,b,d,e);return}function ep(a,b,e){a=a|0;b=b|0;e=e|0;var f=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.0,t=0,u=0.0,v=0.0,w=0,x=0.0,y=0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0.0,F=0.0,G=0.0,H=0.0;f=e+7|0;h=e+1|0;i=e+6|0;j=e+2|0;k=e+5|0;l=e+3|0;m=e+4|0;n=a;o=0;while(1){p=c[b+(o<<2)>>2]|0;q=d[p+e|0]|0;r=d[p+f|0]|0;s=+(r+q|0);t=q-r|0;u=+(t|0);r=d[p+h|0]|0;q=d[p+i|0]|0;v=+(q+r|0);w=r-q|0;q=d[p+j|0]|0;r=d[p+k|0]|0;x=+(r+q|0);y=q-r|0;r=d[p+l|0]|0;q=d[p+m|0]|0;z=+(q+r|0);A=s+z;B=s-z;z=v+x;g[n>>2]=z+A+-1024.0;g[n+16>>2]=A-z;z=(v-x+B)*.7071067690849304;g[n+8>>2]=B+z;g[n+24>>2]=B-z;z=+(y+r-q|0);B=+(w+t|0);x=(z-B)*.3826834261417389;v=z*.5411961078643799+x;z=B*1.3065630197525024+x;x=+(y+w|0)*.7071067690849304;B=u+x;A=u-x;g[n+20>>2]=A+v;g[n+12>>2]=A-v;g[n+4>>2]=B+z;g[n+28>>2]=B-z;w=o+1|0;if((w|0)<8){n=n+32|0;o=w}else{C=a;D=7;break}}while(1){z=+g[C>>2];a=C+224|0;B=+g[a>>2];v=z+B;A=z-B;o=C+32|0;B=+g[o>>2];n=C+192|0;z=+g[n>>2];x=B+z;u=B-z;m=C+64|0;z=+g[m>>2];l=C+160|0;B=+g[l>>2];s=z+B;E=z-B;k=C+96|0;B=+g[k>>2];j=C+128|0;z=+g[j>>2];F=B+z;G=v+F;H=v-F;F=x+s;g[C>>2]=F+G;g[j>>2]=G-F;F=(x-s+H)*.7071067690849304;g[m>>2]=H+F;g[n>>2]=H-F;F=E+(B-z);z=A+u;B=(F-z)*.3826834261417389;H=F*.5411961078643799+B;F=z*1.3065630197525024+B;B=(u+E)*.7071067690849304;E=A+B;u=A-B;g[l>>2]=u+H;g[k>>2]=u-H;g[o>>2]=E+F;g[a>>2]=E-F;if((D|0)>0){C=C+4|0;D=D-1|0}else{break}}return}function eq(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,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;f=e+7|0;g=e+1|0;h=e+6|0;i=e+2|0;j=e+5|0;k=e+3|0;l=e+4|0;m=a;n=0;while(1){o=c[b+(n<<2)>>2]|0;p=d[o+e|0]|0;q=d[o+f|0]|0;r=q+p|0;s=p-q|0;q=d[o+g|0]|0;p=d[o+h|0]|0;t=p+q|0;u=q-p|0;p=d[o+i|0]|0;q=d[o+j|0]|0;v=q+p|0;w=p-q|0;q=d[o+k|0]|0;p=d[o+l|0]|0;o=p+q|0;x=o+r|0;y=r-o|0;o=v+t|0;c[m>>2]=o-1024+x;c[m+16>>2]=x-o;o=((t-v+y|0)*181|0)>>8;c[m+8>>2]=o+y;c[m+24>>2]=y-o;o=q-p+w|0;p=u+s|0;q=((o-p|0)*98|0)>>8;y=q+((o*139|0)>>8)|0;o=q+((p*334|0)>>8)|0;p=((w+u|0)*181|0)>>8;u=p+s|0;w=s-p|0;c[m+20>>2]=y+w;c[m+12>>2]=w-y;c[m+4>>2]=o+u;c[m+28>>2]=u-o;o=n+1|0;if((o|0)<8){m=m+32|0;n=o}else{z=a;A=7;break}}while(1){a=c[z>>2]|0;n=z+224|0;m=c[n>>2]|0;l=m+a|0;k=a-m|0;m=z+32|0;a=c[m>>2]|0;j=z+192|0;i=c[j>>2]|0;h=i+a|0;g=a-i|0;i=z+64|0;a=c[i>>2]|0;f=z+160|0;e=c[f>>2]|0;b=e+a|0;o=a-e|0;e=z+96|0;a=c[e>>2]|0;u=z+128|0;y=c[u>>2]|0;w=y+a|0;p=w+l|0;s=l-w|0;w=b+h|0;c[z>>2]=p+w;c[u>>2]=p-w;w=((h-b+s|0)*181|0)>>8;c[i>>2]=w+s;c[j>>2]=s-w;w=a-y+o|0;y=g+k|0;a=((w-y|0)*98|0)>>8;s=a+((w*139|0)>>8)|0;w=a+((y*334|0)>>8)|0;y=((o+g|0)*181|0)>>8;g=y+k|0;o=k-y|0;c[f>>2]=s+o;c[e>>2]=o-s;c[m>>2]=w+g;c[n>>2]=g-w;if((A|0)>0){z=z+4|0;A=A-1|0}else{break}}return}function er(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,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;f=e+7|0;g=e+1|0;h=e+6|0;i=e+2|0;j=e+5|0;k=e+3|0;l=e+4|0;m=a;n=0;while(1){o=c[b+(n<<2)>>2]|0;p=d[o+e|0]|0;q=d[o+f|0]|0;r=q+p|0;s=d[o+g|0]|0;t=d[o+h|0]|0;u=t+s|0;v=d[o+i|0]|0;w=d[o+j|0]|0;x=w+v|0;y=d[o+k|0]|0;z=d[o+l|0]|0;o=z+y|0;A=o+r|0;B=r-o|0;o=x+u|0;r=u-x|0;x=p-q|0;q=s-t|0;t=v-w|0;w=y-z|0;c[m>>2]=(A+o<<2)-4096;c[m+16>>2]=A-o<<2;o=((B+r|0)*4433|0)+1024|0;c[m+8>>2]=o+(B*6270|0)>>11;c[m+24>>2]=o+(r*-15137|0)>>11;r=t+x|0;o=w+q|0;B=((o+r|0)*9633|0)+1024|0;A=(w+x|0)*-7373|0;z=(t+q|0)*-20995|0;y=B+(r*-3196|0)|0;r=B+(o*-16069|0)|0;c[m+4>>2]=A+(x*12299|0)+y>>11;c[m+12>>2]=z+(q*25172|0)+r>>11;c[m+20>>2]=z+(t*16819|0)+y>>11;c[m+28>>2]=A+(w*2446|0)+r>>11;r=n+1|0;if((r|0)<8){m=m+32|0;n=r}else{C=a;D=7;break}}while(1){a=c[C>>2]|0;n=C+224|0;m=c[n>>2]|0;l=m+a|0;k=C+32|0;j=c[k>>2]|0;i=C+192|0;h=c[i>>2]|0;g=h+j|0;f=C+64|0;e=c[f>>2]|0;b=C+160|0;r=c[b>>2]|0;w=r+e|0;A=C+96|0;y=c[A>>2]|0;t=C+128|0;z=c[t>>2]|0;q=z+y|0;x=l+2+q|0;o=l-q|0;q=w+g|0;l=g-w|0;w=a-m|0;m=j-h|0;h=e-r|0;r=y-z|0;c[C>>2]=x+q>>2;c[t>>2]=x-q>>2;q=((o+l|0)*4433|0)+16384|0;c[f>>2]=q+(o*6270|0)>>15;c[i>>2]=q+(l*-15137|0)>>15;l=h+w|0;q=r+m|0;i=((q+l|0)*9633|0)+16384|0;o=(r+w|0)*-7373|0;f=(h+m|0)*-20995|0;x=i+(l*-3196|0)|0;l=i+(q*-16069|0)|0;c[k>>2]=o+(w*12299|0)+x>>15;c[A>>2]=f+(m*25172|0)+l>>15;c[b>>2]=f+(h*16819|0)+x>>15;c[n>>2]=o+(r*2446|0)+l>>15;if((D|0)>0){C=C+4|0;D=D-1|0}else{break}}return}function es(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,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;fv(a|0,0,256);f=e+6|0;g=e+1|0;h=e+5|0;i=e+2|0;j=e+4|0;k=e+3|0;l=a;m=0;while(1){n=c[b+(m<<2)>>2]|0;o=d[n+e|0]|0;p=d[n+f|0]|0;q=p+o|0;r=d[n+g|0]|0;s=d[n+h|0]|0;t=s+r|0;u=d[n+i|0]|0;v=d[n+j|0]|0;w=v+u|0;x=d[n+k|0]|0;n=o-p|0;p=r-s|0;s=u-v|0;v=w+q|0;c[l>>2]=(x+t+v<<2)-3584;u=((x*-4|0)+v|0)*2896|0;v=(q-w|0)*7542|0;r=(t-w|0)*2578|0;c[l+8>>2]=v+1024+r+u>>11;w=((q-t|0)*7223|0)+1024|0;c[l+16>>2]=w+r+((t-(x<<1)|0)*-5793|0)>>11;c[l+24>>2]=w-v+u>>11;u=(p+n|0)*7663|0;v=(n-p|0)*1395|0;w=(s+p|0)*-11295|0;p=(s+n|0)*5027|0;c[l+4>>2]=1024-v+u+p>>11;c[l+12>>2]=v+1024+u+w>>11;c[l+20>>2]=(s*15326|0)+1024+p+w>>11;w=m+1|0;if((w|0)<7){l=l+32|0;m=w}else{y=a;z=0;break}}while(1){a=c[y>>2]|0;m=y+192|0;l=c[m>>2]|0;k=l+a|0;j=y+32|0;i=c[j>>2]|0;h=y+160|0;g=c[h>>2]|0;f=g+i|0;e=y+64|0;b=c[e>>2]|0;w=y+128|0;p=c[w>>2]|0;s=p+b|0;u=y+96|0;v=c[u>>2]|0;n=a-l|0;l=i-g|0;g=b-p|0;p=s+k|0;c[y>>2]=((v+f+p|0)*10700|0)+16384>>15;b=((v*-4|0)+p|0)*3783|0;p=(k-s|0)*9850|0;i=(f-s|0)*3367|0;c[e>>2]=p+16384+i+b>>15;e=((k-f|0)*9434|0)+16384|0;c[w>>2]=e+i+((f-(v<<1)|0)*-7566|0)>>15;c[m>>2]=e-p+b>>15;b=(l+n|0)*10009|0;p=(n-l|0)*1822|0;e=(g+l|0)*-14752|0;l=(g+n|0)*6565|0;c[j>>2]=16384-p+b+l>>15;c[u>>2]=p+16384+b+e>>15;c[h>>2]=(g*20017|0)+16384+l+e>>15;e=z+1|0;if((e|0)<7){y=y+4|0;z=e}else{break}}return}function et(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,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;fv(a|0,0,256);f=e+5|0;g=e+1|0;h=e+4|0;i=e+2|0;j=e+3|0;k=a;l=0;while(1){m=c[b+(l<<2)>>2]|0;n=d[m+e|0]|0;o=d[m+f|0]|0;p=o+n|0;q=d[m+g|0]|0;r=d[m+h|0]|0;s=r+q|0;t=d[m+i|0]|0;u=d[m+j|0]|0;m=u+t|0;v=m+p|0;w=n-o|0;o=q-r|0;r=t-u|0;c[k>>2]=(v+s<<2)-3072;c[k+8>>2]=((p-m|0)*10033|0)+1024>>11;c[k+16>>2]=(((s*-2|0)+v|0)*5793|0)+1024>>11;v=((r+w|0)*2998|0)+1024>>11;c[k+4>>2]=v+(o+w<<2);c[k+12>>2]=w-o-r<<2;c[k+20>>2]=v+(r-o<<2);o=l+1|0;if((o|0)<6){k=k+32|0;l=o}else{x=a;y=0;break}}while(1){a=c[x>>2]|0;l=x+160|0;k=c[l>>2]|0;j=k+a|0;i=x+32|0;h=c[i>>2]|0;g=x+128|0;f=c[g>>2]|0;e=f+h|0;b=x+64|0;o=c[b>>2]|0;r=x+96|0;v=c[r>>2]|0;w=v+o|0;s=w+j|0;m=a-k|0;k=h-f|0;f=o-v|0;c[x>>2]=((s+e|0)*14564|0)+16384>>15;c[b>>2]=((j-w|0)*17837|0)+16384>>15;c[g>>2]=(((e*-2|0)+s|0)*10298|0)+16384>>15;s=(f+m|0)*5331|0;c[i>>2]=((k+m|0)*14564|0)+16384+s>>15;c[r>>2]=((m-k-f|0)*14564|0)+16384>>15;c[l>>2]=((f-k|0)*14564|0)+16384+s>>15;s=y+1|0;if((s|0)<6){x=x+4|0;y=s}else{break}}return}function eu(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;fv(a|0,0,256);f=e+4|0;g=e+1|0;h=e+3|0;i=e+2|0;j=a;k=0;while(1){l=c[b+(k<<2)>>2]|0;m=d[l+e|0]|0;n=d[l+f|0]|0;o=n+m|0;p=d[l+g|0]|0;q=d[l+h|0]|0;r=q+p|0;s=d[l+i|0]|0;l=r+o|0;t=m-n|0;n=p-q|0;c[j>>2]=(l+s<<3)-5120;q=(l-(s<<2)|0)*2896|0;s=((o-r|0)*6476|0)+512|0;c[j+8>>2]=s+q>>10;c[j+16>>2]=s-q>>10;q=(n+t|0)*6810|0;c[j+4>>2]=(t*4209|0)+512+q>>10;c[j+12>>2]=(n*-17828|0)+512+q>>10;q=k+1|0;if((q|0)<5){j=j+32|0;k=q}else{u=a;v=0;break}}while(1){a=c[u>>2]|0;k=u+128|0;j=c[k>>2]|0;i=j+a|0;h=u+32|0;g=c[h>>2]|0;f=u+96|0;e=c[f>>2]|0;b=e+g|0;q=u+64|0;n=c[q>>2]|0;t=b+i|0;s=a-j|0;j=g-e|0;c[u>>2]=((t+n|0)*10486|0)+16384>>15;e=(t-(n<<2)|0)*3707|0;n=((i-b|0)*8290|0)+16384|0;c[q>>2]=n+e>>15;c[k>>2]=n-e>>15;e=(j+s|0)*8716|0;c[h>>2]=(s*5387|0)+16384+e>>15;c[f>>2]=(j*-22820|0)+16384+e>>15;e=v+1|0;if((e|0)<5){u=u+4|0;v=e}else{break}}return}function ev(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;fv(a|0,0,256);f=e+3|0;g=e+1|0;h=e+2|0;i=a;j=0;while(1){k=c[b+(j<<2)>>2]|0;l=d[k+e|0]|0;m=d[k+f|0]|0;n=m+l|0;o=d[k+g|0]|0;p=d[k+h|0]|0;k=p+o|0;q=l-m|0;m=o-p|0;c[i>>2]=(k+n<<4)-8192;c[i+8>>2]=n-k<<4;k=((m+q|0)*4433|0)+256|0;c[i+4>>2]=k+(q*6270|0)>>9;c[i+12>>2]=k+(m*-15137|0)>>9;m=j+1|0;if((m|0)<4){i=i+32|0;j=m}else{break}}j=c[a>>2]|0;i=a+96|0;h=c[i>>2]|0;g=j+2+h|0;f=a+32|0;e=c[f>>2]|0;b=a+64|0;m=c[b>>2]|0;k=m+e|0;q=j-h|0;h=e-m|0;c[a>>2]=k+g>>2;c[b>>2]=g-k>>2;k=((h+q|0)*4433|0)+16384|0;c[f>>2]=k+(q*6270|0)>>15;c[i>>2]=k+(h*-15137|0)>>15;h=a+4|0;k=c[h>>2]|0;i=a+100|0;q=c[i>>2]|0;f=k+2+q|0;g=a+36|0;b=c[g>>2]|0;m=a+68|0;e=c[m>>2]|0;j=e+b|0;n=k-q|0;q=b-e|0;c[h>>2]=j+f>>2;c[m>>2]=f-j>>2;j=((q+n|0)*4433|0)+16384|0;c[g>>2]=j+(n*6270|0)>>15;c[i>>2]=j+(q*-15137|0)>>15;q=a+8|0;j=c[q>>2]|0;i=a+104|0;n=c[i>>2]|0;g=j+2+n|0;f=a+40|0;m=c[f>>2]|0;h=a+72|0;e=c[h>>2]|0;b=e+m|0;k=j-n|0;n=m-e|0;c[q>>2]=b+g>>2;c[h>>2]=g-b>>2;b=((n+k|0)*4433|0)+16384|0;c[f>>2]=b+(k*6270|0)>>15;c[i>>2]=b+(n*-15137|0)>>15;n=a+12|0;b=c[n>>2]|0;i=a+108|0;k=c[i>>2]|0;f=b+2+k|0;g=a+44|0;h=c[g>>2]|0;q=a+76|0;a=c[q>>2]|0;e=a+h|0;m=b-k|0;k=h-a|0;c[n>>2]=e+f>>2;c[q>>2]=f-e>>2;e=((k+m|0)*4433|0)+16384|0;c[g>>2]=e+(m*6270|0)>>15;c[i>>2]=e+(k*-15137|0)>>15;return}function ew(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;fv(a|0,0,256);f=e+2|0;g=e+1|0;h=c[b>>2]|0;i=d[h+e|0]|0;j=d[h+f|0]|0;k=j+i|0;l=d[h+g|0]|0;h=(k+l<<4)-6144|0;c[a>>2]=h;m=(((l*-2|0)+k|0)*5793|0)+256>>9;k=a+8|0;c[k>>2]=m;l=((i-j|0)*10033|0)+256>>9;j=a+4|0;c[j>>2]=l;i=a+32|0;n=c[b+4>>2]|0;o=d[n+e|0]|0;p=d[n+f|0]|0;q=p+o|0;r=d[n+g|0]|0;n=(q+r<<4)-6144|0;c[i>>2]=n;s=(((r*-2|0)+q|0)*5793|0)+256>>9;q=a+40|0;c[q>>2]=s;r=((o-p|0)*10033|0)+256>>9;p=a+36|0;c[p>>2]=r;o=c[b+8>>2]|0;b=d[o+e|0]|0;e=d[o+f|0]|0;f=e+b|0;t=d[o+g|0]|0;g=(f+t<<4)-6144|0;o=(((t*-2|0)+f|0)*5793|0)+256>>9;f=((b-e|0)*10033|0)+256>>9;e=g+h|0;c[a>>2]=((e+n|0)*14564|0)+16384>>15;c[a+64>>2]=(((n*-2|0)+e|0)*10298|0)+16384>>15;c[i>>2]=((h-g|0)*17837|0)+16384>>15;g=f+l|0;c[j>>2]=((g+r|0)*14564|0)+16384>>15;c[a+68>>2]=(((r*-2|0)+g|0)*10298|0)+16384>>15;c[p>>2]=((l-f|0)*17837|0)+16384>>15;f=o+m|0;c[k>>2]=((f+s|0)*14564|0)+16384>>15;c[a+72>>2]=(((s*-2|0)+f|0)*10298|0)+16384>>15;c[q>>2]=((m-o|0)*17837|0)+16384>>15;return}function ex(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;fv(a|0,0,256);f=c[b>>2]|0;g=d[f+e|0]|0;h=e+1|0;i=d[f+h|0]|0;f=i+g|0;j=g-i|0;i=c[b+4>>2]|0;b=d[i+e|0]|0;e=d[i+h|0]|0;h=e+b|0;i=b-e|0;c[a>>2]=(h+f<<4)-8192;c[a+32>>2]=f-h<<4;c[a+4>>2]=i+j<<4;c[a+36>>2]=j-i<<4;return}function ey(a,b,e){a=a|0;b=b|0;e=e|0;fv(a|0,0,256);c[a>>2]=((d[(c[b>>2]|0)+e|0]|0)<<6)-8192;return}function ez(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,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;f=i;i=i+32|0;g=e+8|0;h=e+1|0;j=e+7|0;k=e+2|0;l=e+6|0;m=e+3|0;n=e+5|0;o=e+4|0;p=f|0;q=0;r=a;while(1){s=c[b+(q<<2)>>2]|0;t=d[s+e|0]|0;u=d[s+g|0]|0;v=u+t|0;w=d[s+h|0]|0;x=d[s+j|0]|0;y=x+w|0;z=d[s+k|0]|0;A=d[s+l|0]|0;B=A+z|0;C=d[s+m|0]|0;D=d[s+n|0]|0;E=D+C|0;F=d[s+o|0]|0;s=t-u|0;u=z-A|0;A=C-D|0;D=B+v+E|0;C=F+y|0;c[r>>2]=(D+C<<1)-2304;c[r+24>>2]=(((C*-2|0)+D|0)*5793|0)+2048>>12;D=((F*-2|0)+y|0)*5793|0;y=((v-B|0)*10887|0)+2048|0;c[r+8>>2]=y+((B-E|0)*8875|0)+D>>12;c[r+16>>2]=y+((E-v|0)*2012|0)-D>>12;c[r+12>>2]=((s-u-A|0)*10033|0)+2048>>12;D=(w-x|0)*10033|0;x=(u+s|0)*7447|0;w=(A+s|0)*3962|0;c[r+4>>2]=D+2048+x+w>>12;s=(u-A|0)*11409|0;A=2048-D|0;c[r+20>>2]=A+x-s>>12;c[r+28>>2]=A+w+s>>12;if((q|0)==7){q=8;r=p;continue}else if((q|0)==8){G=a;H=p;I=7;break}q=q+1|0;r=r+32|0}while(1){r=c[G>>2]|0;q=c[H>>2]|0;p=q+r|0;a=G+32|0;o=c[a>>2]|0;n=G+224|0;m=c[n>>2]|0;l=m+o|0;k=G+64|0;j=c[k>>2]|0;h=G+192|0;g=c[h>>2]|0;e=g+j|0;b=G+96|0;s=c[b>>2]|0;w=G+160|0;A=c[w>>2]|0;x=A+s|0;D=G+128|0;u=c[D>>2]|0;v=r-q|0;q=j-g|0;g=s-A|0;A=e+p+x|0;s=u+l|0;c[G>>2]=((A+s|0)*12945|0)+16384>>15;c[h>>2]=(((s*-2|0)+A|0)*9154|0)+16384>>15;A=((u*-2|0)+l|0)*9154|0;l=((p-e|0)*17203|0)+16384|0;c[k>>2]=l+((e-x|0)*14024|0)+A>>15;c[D>>2]=l+((x-p|0)*3179|0)-A>>15;c[b>>2]=((v-q-g|0)*15855|0)+16384>>15;b=(o-m|0)*15855|0;m=(q+v|0)*11768|0;o=(g+v|0)*6262|0;c[a>>2]=b+16384+m+o>>15;a=(q-g|0)*18029|0;g=16384-b|0;c[w>>2]=g+m-a>>15;c[n>>2]=g+o+a>>15;if((I|0)>0){G=G+4|0;H=H+4|0;I=I-1|0}else{break}}i=f;return}function eA(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,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;f=i;i=i+64|0;g=e+9|0;h=e+1|0;j=e+8|0;k=e+2|0;l=e+7|0;m=e+3|0;n=e+6|0;o=e+4|0;p=e+5|0;q=f|0;r=0;s=a;while(1){t=c[b+(r<<2)>>2]|0;u=d[t+e|0]|0;v=d[t+g|0]|0;w=v+u|0;x=d[t+h|0]|0;y=d[t+j|0]|0;z=y+x|0;A=d[t+k|0]|0;B=d[t+l|0]|0;C=B+A|0;D=d[t+m|0]|0;E=d[t+n|0]|0;F=E+D|0;G=d[t+o|0]|0;H=d[t+p|0]|0;t=H+G|0;I=t+w|0;J=w-t|0;t=F+z|0;w=z-F|0;F=u-v|0;v=x-y|0;y=A-B|0;B=D-E|0;E=G-H|0;c[s>>2]=(t+C+I<<1)-2560;H=C<<1;c[s+16>>2]=((t-H|0)*-3580|0)+2048+((I-H|0)*9373|0)>>12;H=(J+w|0)*6810|0;c[s+8>>2]=(J*4209|0)+2048+H>>12;c[s+24>>2]=(w*-17828|0)+2048+H>>12;H=E+F|0;w=v-B|0;c[s+20>>2]=H-(w+y)<<1;J=y<<13;c[s+4>>2]=(F*11443|0)+2048+(v*10323|0)+J+(B*5260|0)+(E*1812|0)>>12;y=(w<<12)-J+((H+w|0)*2531|0)|0;w=((F-E|0)*7791|0)+((B+v|0)*-4815|0)+2048|0;c[s+12>>2]=w+y>>12;c[s+28>>2]=w-y>>12;if((r|0)==7){r=8;s=q;continue}else if((r|0)==9){K=a;L=q;M=7;break}r=r+1|0;s=s+32|0}while(1){s=c[K>>2]|0;r=c[L+32>>2]|0;q=r+s|0;a=K+32|0;p=c[a>>2]|0;o=c[L>>2]|0;n=o+p|0;m=K+64|0;l=c[m>>2]|0;k=K+224|0;j=c[k>>2]|0;h=j+l|0;g=K+96|0;e=c[g>>2]|0;b=K+192|0;y=c[b>>2]|0;w=y+e|0;v=K+128|0;B=c[v>>2]|0;E=K+160|0;F=c[E>>2]|0;H=F+B|0;J=H+q|0;I=q-H|0;H=w+n|0;q=n-w|0;w=s-r|0;r=p-o|0;o=l-j|0;j=e-y|0;y=B-F|0;c[K>>2]=((H+h+J|0)*10486|0)+16384>>15;F=h<<1;c[v>>2]=((H-F|0)*-4582|0)+16384+((J-F|0)*11997|0)>>15;F=(I+q|0)*8716|0;c[m>>2]=(I*5387|0)+16384+F>>15;c[b>>2]=(q*-22820|0)+16384+F>>15;F=y+w|0;q=r-j|0;c[E>>2]=((F-(q+o)|0)*10486|0)+16384>>15;E=o*10486|0;c[a>>2]=(w*14647|0)+16384+(r*13213|0)+E+(j*6732|0)+(y*2320|0)>>15;a=(q*5243|0)-E+((F+q|0)*3240|0)|0;q=((w-y|0)*9973|0)+((j+r|0)*-6163|0)+16384|0;c[g>>2]=q+a>>15;c[k>>2]=q-a>>15;if((M|0)>0){K=K+4|0;L=L+4|0;M=M-1|0}else{break}}i=f;return}function eB(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,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;f=i;i=i+96|0;g=e+10|0;h=e+1|0;j=e+9|0;k=e+2|0;l=e+8|0;m=e+3|0;n=e+7|0;o=e+4|0;p=e+6|0;q=e+5|0;r=f|0;s=0;t=a;while(1){u=c[b+(s<<2)>>2]|0;v=d[u+e|0]|0;w=d[u+g|0]|0;x=w+v|0;y=d[u+h|0]|0;z=d[u+j|0]|0;A=z+y|0;B=d[u+k|0]|0;C=d[u+l|0]|0;D=C+B|0;E=d[u+m|0]|0;F=d[u+n|0]|0;G=F+E|0;H=d[u+o|0]|0;I=d[u+p|0]|0;J=I+H|0;K=d[u+q|0]|0;u=v-w|0;w=y-z|0;z=B-C|0;C=E-F|0;F=H-I|0;c[t>>2]=(A+x+D+G+J+K<<1)-2816;I=K<<1;K=x-I|0;x=A-I|0;A=D-I|0;D=G-I|0;G=J-I|0;I=((K+D|0)*11116|0)+((A+G|0)*1649|0)|0;J=(x-D|0)*7587|0;H=(K-x|0)*9746|0;c[t+8>>2]=(D*-8342|0)+2048+(G*-11395|0)+J+I>>12;c[t+16>>2]=(x*511|0)+2048+(A*-11116|0)+(G*4813|0)+H+J>>12;c[t+24>>2]=(K*-13275|0)+2048+(A*-6461|0)+H+I>>12;I=(w+u|0)*10538|0;H=(z+u|0)*8756|0;A=(C+u|0)*6263|0;K=(z+w|0)*-6263|0;J=(C+w|0)*-11467|0;G=(C+z|0)*3264|0;c[t+4>>2]=(u*-14090|0)+2048+I+H+A+(F*3264|0)>>12;c[t+12>>2]=(w*10456|0)+2048+I+K+J+(F*-8756|0)>>12;c[t+20>>2]=(z*-16294|0)+2048+K+H+G+(F*11467|0)>>12;c[t+28>>2]=(C*10695|0)+2048+G+J+A+(F*-10538|0)>>12;if((s|0)==7){s=8;t=r;continue}else if((s|0)==10){L=a;M=r;N=7;break}s=s+1|0;t=t+32|0}while(1){t=c[L>>2]|0;s=c[M+64>>2]|0;r=s+t|0;a=L+32|0;q=c[a>>2]|0;p=c[M+32>>2]|0;o=p+q|0;n=L+64|0;m=c[n>>2]|0;l=c[M>>2]|0;k=l+m|0;j=L+96|0;h=c[j>>2]|0;g=L+224|0;e=c[g>>2]|0;b=e+h|0;F=L+128|0;A=c[F>>2]|0;J=L+192|0;G=c[J>>2]|0;C=G+A|0;H=L+160|0;K=c[H>>2]|0;z=t-s|0;s=q-p|0;p=m-l|0;l=h-e|0;e=A-G|0;c[L>>2]=((o+r+k+b+C+K|0)*8666|0)+16384>>15;G=K<<1;K=r-G|0;r=o-G|0;o=k-G|0;k=b-G|0;b=C-G|0;G=((K+k|0)*11759|0)+((o+b|0)*1744|0)|0;C=(r-k|0)*8026|0;A=(K-r|0)*10310|0;c[n>>2]=(k*-8825|0)+16384+(b*-12054|0)+C+G>>15;c[F>>2]=(r*540|0)+16384+(o*-11759|0)+(b*5091|0)+A+C>>15;c[J>>2]=(K*-14043|0)+16384+(o*-6835|0)+A+G>>15;G=(s+z|0)*11148|0;A=(p+z|0)*9262|0;o=(l+z|0)*6626|0;K=(p+s|0)*-6626|0;J=(l+s|0)*-12131|0;C=(l+p|0)*3453|0;c[a>>2]=(z*-14905|0)+16384+G+A+o+(e*3453|0)>>15;c[j>>2]=(s*11061|0)+16384+G+K+J+(e*-9262|0)>>15;c[H>>2]=(p*-17237|0)+16384+K+A+C+(e*12131|0)>>15;c[g>>2]=(l*11314|0)+16384+C+J+o+(e*-11148|0)>>15;if((N|0)>0){L=L+4|0;M=M+4|0;N=N-1|0}else{break}}i=f;return}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,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;f=i;i=i+128|0;g=e+11|0;h=e+1|0;j=e+10|0;k=e+2|0;l=e+9|0;m=e+3|0;n=e+8|0;o=e+4|0;p=e+7|0;q=e+5|0;r=e+6|0;s=f|0;t=0;u=a;while(1){v=c[b+(t<<2)>>2]|0;w=d[v+e|0]|0;x=d[v+g|0]|0;y=x+w|0;z=d[v+h|0]|0;A=d[v+j|0]|0;B=A+z|0;C=d[v+k|0]|0;D=d[v+l|0]|0;E=D+C|0;F=d[v+m|0]|0;G=d[v+n|0]|0;H=G+F|0;I=d[v+o|0]|0;J=d[v+p|0]|0;K=J+I|0;L=d[v+q|0]|0;M=d[v+r|0]|0;v=M+L|0;N=v+y|0;O=y-v|0;v=B-K|0;y=H+E|0;P=E-H|0;H=w-x|0;x=z-A|0;A=C-D|0;D=F-G|0;G=I-J|0;J=L-M|0;c[u>>2]=B-1536+y+K+N;c[u+24>>2]=O-(v+P);c[u+16>>2]=((N-y|0)*10033|0)+4096>>13;c[u+8>>2]=4096-P+v+((O+P|0)*11190|0)>>13;P=(G+x|0)*4433|0;O=P+(x*6270|0)|0;x=P+(G*-15137|0)|0;G=(A+H|0)*9191|0;P=(D+H|0)*7053|0;v=(D+A|0)*-1512|0;c[u+4>>2]=(H*-4758|0)+4096+G+P+O+(J*1512|0)>>13;c[u+12>>2]=((H-D|0)*10703|0)+4096+x+((J+A|0)*-4433|0)>>13;c[u+20>>2]=(A*-19165|0)+4096+G+v-x+(J*7053|0)>>13;c[u+28>>2]=(D*5946|0)+4096+v+P-O+(J*-9191|0)>>13;if((t|0)==7){t=8;u=s;continue}else if((t|0)==11){Q=a;R=s;S=7;break}t=t+1|0;u=u+32|0}while(1){u=c[Q>>2]|0;t=c[R+96>>2]|0;s=t+u|0;a=Q+32|0;r=c[a>>2]|0;q=c[R+64>>2]|0;p=q+r|0;o=Q+64|0;n=c[o>>2]|0;m=c[R+32>>2]|0;l=m+n|0;k=Q+96|0;j=c[k>>2]|0;h=c[R>>2]|0;g=h+j|0;e=Q+128|0;b=c[e>>2]|0;J=Q+224|0;O=c[J>>2]|0;P=O+b|0;v=Q+160|0;D=c[v>>2]|0;x=Q+192|0;G=c[x>>2]|0;A=G+D|0;H=A+s|0;y=s-A|0;A=p-P|0;s=g+l|0;N=l-g|0;g=u-t|0;t=r-q|0;q=n-m|0;m=j-h|0;h=b-O|0;O=D-G|0;c[Q>>2]=((s+p+P+H|0)*7282|0)+8192>>14;c[x>>2]=((y-(A+N)|0)*7282|0)+8192>>14;c[e>>2]=((H-s|0)*8918|0)+8192>>14;c[o>>2]=((A-N|0)*7282|0)+8192+((y+N|0)*9947|0)>>14;N=(h+t|0)*3941|0;y=N+(t*5573|0)|0;t=N+(h*-13455|0)|0;h=(q+g|0)*8170|0;N=(m+g|0)*6269|0;A=(m+q|0)*-1344|0;c[a>>2]=(g*-4229|0)+8192+h+N+y+(O*1344|0)>>14;c[k>>2]=((g-m|0)*9514|0)+8192+t+((O+q|0)*-3941|0)>>14;c[v>>2]=(q*-17036|0)+8192+h+A-t+(O*6269|0)>>14;c[J>>2]=(m*5285|0)+8192+A+N-y+(O*-8170|0)>>14;if((S|0)>0){Q=Q+4|0;R=R+4|0;S=S-1|0}else{break}}i=f;return}function eD(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,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;f=i;i=i+160|0;g=e+12|0;h=e+1|0;j=e+11|0;k=e+2|0;l=e+10|0;m=e+3|0;n=e+9|0;o=e+4|0;p=e+8|0;q=e+5|0;r=e+7|0;s=e+6|0;t=f|0;u=0;v=a;while(1){w=c[b+(u<<2)>>2]|0;x=d[w+e|0]|0;y=d[w+g|0]|0;z=y+x|0;A=d[w+h|0]|0;B=d[w+j|0]|0;C=B+A|0;D=d[w+k|0]|0;E=d[w+l|0]|0;F=E+D|0;G=d[w+m|0]|0;H=d[w+n|0]|0;I=H+G|0;J=d[w+o|0]|0;K=d[w+p|0]|0;L=K+J|0;M=d[w+q|0]|0;N=d[w+r|0]|0;O=N+M|0;P=d[w+s|0]|0;w=x-y|0;y=A-B|0;B=D-E|0;E=G-H|0;H=J-K|0;K=M-N|0;c[v>>2]=z-1664+C+F+I+L+O+P;N=P<<1;P=z-N|0;z=C-N|0;C=F-N|0;F=I-N|0;I=L-N|0;L=O-N|0;c[v+8>>2]=(z*8672|0)+4096+(P*11249|0)+(C*4108|0)+(F*-1396|0)+(I*-6581|0)+(L*-10258|0)>>13;N=((P-C|0)*9465|0)+((F-I|0)*-3570|0)+((z-L|0)*-2592|0)|0;O=((P+C|0)*793|0)+((F+I|0)*-7678|0)+((z+L|0)*3989|0)|0;c[v+16>>2]=O+4096+N>>13;c[v+24>>2]=4096-O+N>>13;N=(y+w|0)*10832|0;O=(B+w|0)*9534|0;L=((K+H|0)*2773|0)+((E+w|0)*7682|0)|0;z=((H-K|0)*7682|0)+((B+y|0)*-2773|0)|0;I=(E+y|0)*-9534|0;F=(E+B|0)*-5384|0;c[v+4>>2]=(w*-16549|0)+4096+N+O+(H*2611|0)+L>>13;c[v+12>>2]=(y*6859|0)+4096+N+I+(H*-19183|0)+z>>13;c[v+20>>2]=(B*-12879|0)+4096+O+F+(K*18515|0)+z>>13;c[v+28>>2]=(E*18068|0)+4096+F+I+(K*-14273|0)+L>>13;if((u|0)==7){u=8;v=t;continue}else if((u|0)==12){Q=a;R=t;S=7;break}u=u+1|0;v=v+32|0}while(1){v=c[Q>>2]|0;u=c[R+128>>2]|0;t=u+v|0;a=Q+32|0;s=c[a>>2]|0;r=c[R+96>>2]|0;q=r+s|0;p=Q+64|0;o=c[p>>2]|0;n=c[R+64>>2]|0;m=n+o|0;l=Q+96|0;k=c[l>>2]|0;j=c[R+32>>2]|0;h=j+k|0;g=Q+128|0;e=c[g>>2]|0;b=c[R>>2]|0;L=b+e|0;K=Q+160|0;I=c[K>>2]|0;F=Q+224|0;E=c[F>>2]|0;z=E+I|0;O=Q+192|0;B=c[O>>2]|0;H=v-u|0;u=s-r|0;r=o-n|0;n=k-j|0;j=e-b|0;b=I-E|0;c[Q>>2]=((q+t+m+h+L+z+B|0)*6205|0)+8192>>14;E=B<<1;B=t-E|0;t=q-E|0;q=m-E|0;m=h-E|0;h=L-E|0;L=z-E|0;c[p>>2]=(t*6568|0)+8192+(B*8520|0)+(q*3112|0)+(m*-1058|0)+(h*-4985|0)+(L*-7770|0)>>14;p=((B-q|0)*7169|0)+((m-h|0)*-2704|0)+((t-L|0)*-1963|0)|0;E=((B+q|0)*601|0)+((m+h|0)*-5816|0)+((t+L|0)*3021|0)|0;c[g>>2]=E+8192+p>>14;c[O>>2]=8192-E+p>>14;p=(u+H|0)*8204|0;E=(r+H|0)*7221|0;O=((b+j|0)*2100|0)+((n+H|0)*5819|0)|0;g=((j-b|0)*5819|0)+((r+u|0)*-2100|0)|0;L=(n+u|0)*-7221|0;t=(n+r|0)*-4078|0;c[a>>2]=(H*-12534|0)+8192+p+E+(j*1978|0)+O>>14;c[l>>2]=(u*5195|0)+8192+p+L+(j*-14529|0)+g>>14;c[K>>2]=(r*-9754|0)+8192+E+t+(b*14023|0)+g>>14;c[F>>2]=(n*13685|0)+8192+t+L+(b*-10811|0)+O>>14;if((S|0)>0){Q=Q+4|0;R=R+4|0;S=S-1|0}else{break}}i=f;return}function eE(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,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;f=i;i=i+192|0;g=e+13|0;h=e+1|0;j=e+12|0;k=e+2|0;l=e+11|0;m=e+3|0;n=e+10|0;o=e+4|0;p=e+9|0;q=e+5|0;r=e+8|0;s=e+6|0;t=e+7|0;u=f|0;v=0;w=a;while(1){x=c[b+(v<<2)>>2]|0;y=d[x+e|0]|0;z=d[x+g|0]|0;A=z+y|0;B=d[x+h|0]|0;C=d[x+j|0]|0;D=C+B|0;E=d[x+k|0]|0;F=d[x+l|0]|0;G=F+E|0;H=d[x+m|0]|0;I=d[x+n|0]|0;J=I+H|0;K=d[x+o|0]|0;L=d[x+p|0]|0;M=L+K|0;N=d[x+q|0]|0;O=d[x+r|0]|0;P=O+N|0;Q=d[x+s|0]|0;R=d[x+t|0]|0;x=R+Q|0;S=x+A|0;T=A-x|0;x=P+D|0;A=D-P|0;P=M+G|0;D=G-M|0;M=y-z|0;z=B-C|0;C=E-F|0;F=H-I|0;I=K-L|0;L=N-O|0;O=Q-R|0;c[w>>2]=J-1792+P+x+S;R=J<<1;c[w+16>>2]=((P-R|0)*-7223|0)+4096+((x-R|0)*2578|0)+((S-R|0)*10438|0)>>13;R=(T+A|0)*9058|0;c[w+8>>2]=(D*5027|0)+4096+(T*2237|0)+R>>13;c[w+24>>2]=(D*-11295|0)+4096+(A*-14084|0)+R>>13;R=C+z|0;A=L-I|0;c[w+28>>2]=M-R+F-A-O;D=F<<13;F=(A*11512|0)-D+(R*-1297|0)|0;R=((O+I|0)*6164|0)+((C+M|0)*9810|0)|0;c[w+20>>2]=(C*-19447|0)+4096+(I*9175|0)+F+R>>13;I=((L-O|0)*3826|0)+((z+M|0)*10935|0)|0;c[w+12>>2]=(z*-3474|0)+4096+(L*-25148|0)+F+I>>13;c[w+4>>2]=(D|4096)+O+((O+M|0)*-9232|0)+I+R>>13;if((v|0)==7){v=8;w=u;continue}else if((v|0)==13){U=a;V=u;W=7;break}v=v+1|0;w=w+32|0}while(1){w=c[U>>2]|0;v=c[V+160>>2]|0;u=v+w|0;a=U+32|0;t=c[a>>2]|0;s=c[V+128>>2]|0;r=s+t|0;q=U+64|0;p=c[q>>2]|0;o=c[V+96>>2]|0;n=o+p|0;m=U+96|0;l=c[m>>2]|0;k=c[V+64>>2]|0;j=k+l|0;h=U+128|0;g=c[h>>2]|0;e=c[V+32>>2]|0;b=e+g|0;R=U+160|0;I=c[R>>2]|0;M=c[V>>2]|0;O=M+I|0;D=U+192|0;F=c[D>>2]|0;L=U+224|0;z=c[L>>2]|0;C=z+F|0;A=C+u|0;T=u-C|0;C=O+r|0;u=r-O|0;O=b+n|0;r=n-b|0;b=w-v|0;v=t-s|0;s=p-o|0;o=l-k|0;k=g-e|0;e=I-M|0;M=F-z|0;c[U>>2]=((O+j+C+A|0)*5350|0)+8192>>14;z=j<<1;c[h>>2]=((O-z|0)*-4717|0)+8192+((C-z|0)*1684|0)+((A-z|0)*6817|0)>>14;z=(T+u|0)*5915|0;c[q>>2]=(r*3283|0)+8192+(T*1461|0)+z>>14;c[D>>2]=(r*-7376|0)+8192+(u*-9198|0)+z>>14;z=s+v|0;u=e-k|0;c[L>>2]=((b-z+o-u-M|0)*5350|0)+8192>>14;L=o*5350|0;o=(u*7518|0)-L+(z*-847|0)|0;z=((M+k|0)*4025|0)+((s+b|0)*6406|0)|0;c[R>>2]=(s*-12700|0)+8192+(k*5992|0)+o+z>>14;k=((e-M|0)*2499|0)+((v+b|0)*7141|0)|0;c[m>>2]=(v*-2269|0)+8192+(e*-16423|0)+o+k>>14;c[a>>2]=(b*-6029|0)+8192+L+(M*-679|0)+k+z>>14;if((W|0)>0){U=U+4|0;V=V+4|0;W=W-1|0}else{break}}i=f;return}function eF(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,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;f=i;i=i+224|0;g=e+14|0;h=e+1|0;j=e+13|0;k=e+2|0;l=e+12|0;m=e+3|0;n=e+11|0;o=e+4|0;p=e+10|0;q=e+5|0;r=e+9|0;s=e+6|0;t=e+8|0;u=e+7|0;v=f|0;w=0;x=a;while(1){y=c[b+(w<<2)>>2]|0;z=d[y+e|0]|0;A=d[y+g|0]|0;B=A+z|0;C=d[y+h|0]|0;D=d[y+j|0]|0;E=D+C|0;F=d[y+k|0]|0;G=d[y+l|0]|0;H=G+F|0;I=d[y+m|0]|0;J=d[y+n|0]|0;K=J+I|0;L=d[y+o|0]|0;M=d[y+p|0]|0;N=M+L|0;O=d[y+q|0]|0;P=d[y+r|0]|0;Q=P+O|0;R=d[y+s|0]|0;S=d[y+t|0]|0;T=S+R|0;U=d[y+u|0]|0;y=z-A|0;A=C-D|0;D=F-G|0;G=I-J|0;J=L-M|0;M=O-P|0;P=R-S|0;S=N+B+Q|0;R=K+E+T|0;O=U+H|0;c[x>>2]=S-1920+R+O;L=O<<1;c[x+24>>2]=((R-L|0)*-3580|0)+4096+((S-L|0)*9373|0)>>13;L=((N+E|0)>>>1)+H+(U*-2|0)|0;U=((E-N|0)*6476|0)+((B-K|0)*11332|0)+((T-Q|0)*7752|0)+4096|0;c[x+8>>2]=U+((T-L|0)*-18336|0)+((K-L|0)*12543|0)>>13;c[x+16>>2]=U+((B-L|0)*-748|0)+((Q-L|0)*6541|0)>>13;L=D*10033|0;Q=((M+G|0)*4712|0)+((J+A|0)*11018|0)+((y-P|0)*11522|0)|0;c[x+4>>2]=L+4096+(G*3897|0)+(J*-4209|0)+(P*13930|0)+Q>>13;c[x+12>>2]=((y-J-M|0)*11018|0)+4096+((A-G-P|0)*6810|0)>>13;c[x+20>>2]=((y-D-G+M+P|0)*10033|0)+4096>>13;c[x+28>>2]=(y*-2912|0)+4096+(A*-17828|0)-L+(M*-7121|0)+Q>>13;if((w|0)==7){w=8;x=v;continue}else if((w|0)==14){V=a;W=v;X=7;break}w=w+1|0;x=x+32|0}while(1){x=c[V>>2]|0;w=c[W+192>>2]|0;v=w+x|0;a=V+32|0;u=c[a>>2]|0;t=c[W+160>>2]|0;s=t+u|0;r=V+64|0;q=c[r>>2]|0;p=c[W+128>>2]|0;o=p+q|0;n=V+96|0;m=c[n>>2]|0;l=c[W+96>>2]|0;k=l+m|0;j=V+128|0;h=c[j>>2]|0;g=c[W+64>>2]|0;e=g+h|0;b=V+160|0;Q=c[b>>2]|0;M=c[W+32>>2]|0;L=M+Q|0;A=V+192|0;y=c[A>>2]|0;P=c[W>>2]|0;G=P+y|0;D=V+224|0;J=c[D>>2]|0;B=x-w|0;w=u-t|0;t=q-p|0;p=m-l|0;l=h-g|0;g=Q-M|0;M=y-P|0;P=e+v+L|0;y=k+s+G|0;Q=J+o|0;c[V>>2]=((y+P+Q|0)*9321|0)+16384>>15;h=Q<<1;c[A>>2]=((y-h|0)*-4073|0)+16384+((P-h|0)*10664|0)>>15;h=(e+s>>1)+o+(J*-2|0)|0;J=((s-e|0)*7369|0)+((v-k|0)*12893|0)+((G-L|0)*8820|0)+16384|0;c[r>>2]=J+((G-h|0)*-20862|0)+((k-h|0)*14271|0)>>15;c[j>>2]=J+((v-h|0)*-852|0)+((L-h|0)*7442|0)>>15;h=t*11415|0;L=((g+p|0)*5361|0)+((l+w|0)*12536|0)+((B-M|0)*13109|0)|0;c[a>>2]=h+16384+(p*4434|0)+(l*-4788|0)+(M*15850|0)+L>>15;c[n>>2]=((B-l-g|0)*12536|0)+16384+((w-p-M|0)*7748|0)>>15;c[b>>2]=((B-t-p+g+M|0)*11415|0)+16384>>15;c[D>>2]=(B*-3314|0)+16384+(w*-20284|0)-h+(g*-8102|0)+L>>15;if((X|0)>0){V=V+4|0;W=W+4|0;X=X-1|0}else{break}}i=f;return}function eG(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,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;f=i;i=i+256|0;g=e+15|0;h=e+1|0;j=e+14|0;k=e+2|0;l=e+13|0;m=e+3|0;n=e+12|0;o=e+4|0;p=e+11|0;q=e+5|0;r=e+10|0;s=e+6|0;t=e+9|0;u=e+7|0;v=e+8|0;w=f|0;x=0;y=a;while(1){z=c[b+(x<<2)>>2]|0;A=d[z+e|0]|0;B=d[z+g|0]|0;C=B+A|0;D=d[z+h|0]|0;E=d[z+j|0]|0;F=E+D|0;G=d[z+k|0]|0;H=d[z+l|0]|0;I=H+G|0;J=d[z+m|0]|0;K=d[z+n|0]|0;L=K+J|0;M=d[z+o|0]|0;N=d[z+p|0]|0;O=N+M|0;P=d[z+q|0]|0;Q=d[z+r|0]|0;R=Q+P|0;S=d[z+s|0]|0;T=d[z+t|0]|0;U=T+S|0;V=d[z+u|0]|0;W=d[z+v|0]|0;z=W+V|0;X=z+C|0;Y=C-z|0;z=U+F|0;C=F-U|0;U=R+I|0;F=I-R|0;R=O+L|0;I=L-O|0;O=A-B|0;B=D-E|0;E=G-H|0;H=J-K|0;K=M-N|0;N=P-Q|0;Q=S-T|0;T=V-W|0;c[y>>2]=(U+R+z+X<<2)-8192;c[y+16>>2]=((z-U|0)*4433|0)+1024+((X-R|0)*10703|0)>>11;R=((Y-F|0)*11363|0)+((I-C|0)*2260|0)|0;c[y+8>>2]=(F*17799|0)+1024+(C*11893|0)+R>>11;c[y+24>>2]=(I*-8697|0)+1024+(Y*-1730|0)+R>>11;R=((Q-T|0)*3363|0)+((B+O|0)*11086|0)|0;Y=((T+N|0)*5461|0)+((E+O|0)*10217|0)|0;I=((K-T|0)*7350|0)+((H+O|0)*8956|0)|0;C=((Q-N|0)*11529|0)+((E+B|0)*1136|0)|0;F=((Q+K|0)*-10217|0)+((H+B|0)*-5461|0)|0;X=((N-K|0)*3363|0)+((H+E|0)*-11086|0)|0;c[y+4>>2]=(O*-18730|0)+1024+(T*6387|0)+Y+R+I>>11;c[y+12>>2]=(B*589|0)+1024+(Q*-13631|0)+F+C+R>>11;c[y+20>>2]=(E*-9222|0)+1024+(N*10055|0)+X+C+Y>>11;c[y+28>>2]=(H*8728|0)+1024+(K*17760|0)+X+F+I>>11;if((x|0)==7){x=8;y=w;continue}else if((x|0)==15){Z=a;_=w;$=7;break}x=x+1|0;y=y+32|0}while(1){y=c[Z>>2]|0;x=c[_+224>>2]|0;w=x+y|0;a=Z+32|0;v=c[a>>2]|0;u=c[_+192>>2]|0;t=u+v|0;s=Z+64|0;r=c[s>>2]|0;q=c[_+160>>2]|0;p=q+r|0;o=Z+96|0;n=c[o>>2]|0;m=c[_+128>>2]|0;l=m+n|0;k=Z+128|0;j=c[k>>2]|0;h=c[_+96>>2]|0;g=h+j|0;e=Z+160|0;b=c[e>>2]|0;I=c[_+64>>2]|0;F=I+b|0;X=Z+192|0;K=c[X>>2]|0;H=c[_+32>>2]|0;Y=H+K|0;C=Z+224|0;N=c[C>>2]|0;E=c[_>>2]|0;R=E+N|0;Q=R+w|0;B=w-R|0;R=Y+t|0;w=t-Y|0;Y=F+p|0;t=p-F|0;F=g+l|0;p=l-g|0;g=y-x|0;x=v-u|0;u=r-q|0;q=n-m|0;m=j-h|0;h=b-I|0;I=K-H|0;H=N-E|0;c[Z>>2]=F+8+Y+R+Q>>4;c[k>>2]=((R-Y|0)*4433|0)+65536+((Q-F|0)*10703|0)>>17;F=((B-t|0)*11363|0)+((p-w|0)*2260|0)|0;c[s>>2]=(t*17799|0)+65536+(w*11893|0)+F>>17;c[X>>2]=(p*-8697|0)+65536+(B*-1730|0)+F>>17;F=((I-H|0)*3363|0)+((x+g|0)*11086|0)|0;B=((H+h|0)*5461|0)+((u+g|0)*10217|0)|0;p=((m-H|0)*7350|0)+((q+g|0)*8956|0)|0;X=((I-h|0)*11529|0)+((u+x|0)*1136|0)|0;w=((I+m|0)*-10217|0)+((q+x|0)*-5461|0)|0;t=((h-m|0)*3363|0)+((q+u|0)*-11086|0)|0;c[a>>2]=(g*-18730|0)+65536+(H*6387|0)+B+F+p>>17;c[o>>2]=(x*589|0)+65536+(I*-13631|0)+w+X+F>>17;c[e>>2]=(u*-9222|0)+65536+(h*10055|0)+t+X+B>>17;c[C>>2]=(q*8728|0)+65536+(m*17760|0)+t+w+p>>17;if(($|0)>0){Z=Z+4|0;_=_+4|0;$=$-1|0}else{break}}i=f;return}function eH(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,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;f=e+15|0;g=e+1|0;h=e+14|0;i=e+2|0;j=e+13|0;k=e+3|0;l=e+12|0;m=e+4|0;n=e+11|0;o=e+5|0;p=e+10|0;q=e+6|0;r=e+9|0;s=e+7|0;t=e+8|0;u=a;v=0;while(1){w=c[b+(v<<2)>>2]|0;x=d[w+e|0]|0;y=d[w+f|0]|0;z=y+x|0;A=d[w+g|0]|0;B=d[w+h|0]|0;C=B+A|0;D=d[w+i|0]|0;E=d[w+j|0]|0;F=E+D|0;G=d[w+k|0]|0;H=d[w+l|0]|0;I=H+G|0;J=d[w+m|0]|0;K=d[w+n|0]|0;L=K+J|0;M=d[w+o|0]|0;N=d[w+p|0]|0;O=N+M|0;P=d[w+q|0]|0;Q=d[w+r|0]|0;R=Q+P|0;S=d[w+s|0]|0;T=d[w+t|0]|0;w=T+S|0;U=w+z|0;V=z-w|0;w=R+C|0;z=C-R|0;R=O+F|0;C=F-O|0;O=L+I|0;F=I-L|0;L=x-y|0;y=A-B|0;B=D-E|0;E=G-H|0;H=J-K|0;K=M-N|0;N=P-Q|0;Q=S-T|0;c[u>>2]=(R+O+w+U<<2)-8192;c[u+16>>2]=((w-R|0)*4433|0)+1024+((U-O|0)*10703|0)>>11;O=((V-C|0)*11363|0)+((F-z|0)*2260|0)|0;c[u+8>>2]=(C*17799|0)+1024+(z*11893|0)+O>>11;c[u+24>>2]=(F*-8697|0)+1024+(V*-1730|0)+O>>11;O=((N-Q|0)*3363|0)+((y+L|0)*11086|0)|0;V=((Q+K|0)*5461|0)+((B+L|0)*10217|0)|0;F=((H-Q|0)*7350|0)+((E+L|0)*8956|0)|0;z=((N-K|0)*11529|0)+((B+y|0)*1136|0)|0;C=((N+H|0)*-10217|0)+((E+y|0)*-5461|0)|0;U=((K-H|0)*3363|0)+((E+B|0)*-11086|0)|0;c[u+4>>2]=(L*-18730|0)+1024+(Q*6387|0)+V+O+F>>11;c[u+12>>2]=(y*589|0)+1024+(N*-13631|0)+C+z+O>>11;c[u+20>>2]=(B*-9222|0)+1024+(K*10055|0)+U+z+V>>11;c[u+28>>2]=(E*8728|0)+1024+(H*17760|0)+U+C+F>>11;F=v+1|0;if((F|0)<8){u=u+32|0;v=F}else{W=a;X=7;break}}while(1){a=c[W>>2]|0;v=W+224|0;u=c[v>>2]|0;t=u+a|0;s=W+32|0;r=c[s>>2]|0;q=W+192|0;p=c[q>>2]|0;o=p+r|0;n=W+64|0;m=c[n>>2]|0;l=W+160|0;k=c[l>>2]|0;j=k+m|0;i=W+96|0;h=c[i>>2]|0;g=W+128|0;f=c[g>>2]|0;e=f+h|0;b=e+t|0;F=t-e|0;e=j+o|0;t=o-j|0;j=a-u|0;u=r-p|0;p=m-k|0;k=h-f|0;c[W>>2]=e+4+b>>3;c[g>>2]=4-e+b>>3;b=(F+t|0)*4433|0;c[n>>2]=(F*6270|0)+32768+b>>16;c[q>>2]=(t*-15137|0)+32768+b>>16;b=p+j|0;t=k+u|0;q=(t+b|0)*9633|0;F=(k+j|0)*-7373|0;n=(p+u|0)*-20995|0;e=q+(b*-3196|0)|0;b=q+(t*-16069|0)|0;c[s>>2]=(j*12299|0)+32768+F+e>>16;c[i>>2]=(u*25172|0)+32768+n+b>>16;c[l>>2]=(p*16819|0)+32768+n+e>>16;c[v>>2]=(k*2446|0)+32768+F+b>>16;if((X|0)>0){W=W+4|0;X=X-1|0}else{break}}return}function eI(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,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;fv(a+224|0,0,32);f=e+13|0;g=e+1|0;h=e+12|0;i=e+2|0;j=e+11|0;k=e+3|0;l=e+10|0;m=e+4|0;n=e+9|0;o=e+5|0;p=e+8|0;q=e+6|0;r=e+7|0;s=a;t=0;while(1){u=c[b+(t<<2)>>2]|0;v=d[u+e|0]|0;w=d[u+f|0]|0;x=w+v|0;y=d[u+g|0]|0;z=d[u+h|0]|0;A=z+y|0;B=d[u+i|0]|0;C=d[u+j|0]|0;D=C+B|0;E=d[u+k|0]|0;F=d[u+l|0]|0;G=F+E|0;H=d[u+m|0]|0;I=d[u+n|0]|0;J=I+H|0;K=d[u+o|0]|0;L=d[u+p|0]|0;M=L+K|0;N=d[u+q|0]|0;O=d[u+r|0]|0;u=O+N|0;P=u+x|0;Q=x-u|0;u=M+A|0;x=A-M|0;M=J+D|0;A=D-J|0;J=v-w|0;w=y-z|0;z=B-C|0;C=E-F|0;F=H-I|0;I=K-L|0;L=N-O|0;c[s>>2]=(M+G+u+P<<2)-7168;O=G<<1;c[s+16>>2]=((M-O|0)*-7223|0)+1024+((u-O|0)*2578|0)+((P-O|0)*10438|0)>>11;O=(Q+x|0)*9058|0;c[s+8>>2]=(A*5027|0)+1024+(Q*2237|0)+O>>11;c[s+24>>2]=(A*-11295|0)+1024+(x*-14084|0)+O>>11;O=z+w|0;x=I-F|0;c[s+28>>2]=J-O+C-x-L<<2;A=C<<13;C=(x*11512|0)-A+(O*-1297|0)|0;O=((L+F|0)*6164|0)+((z+J|0)*9810|0)|0;c[s+20>>2]=(z*-19447|0)+1024+(F*9175|0)+C+O>>11;F=((I-L|0)*3826|0)+((w+J|0)*10935|0)|0;c[s+12>>2]=(w*-3474|0)+1024+(I*-25148|0)+C+F>>11;c[s+4>>2]=(A|1024)+L+((L+J|0)*-9232|0)+F+O>>11;O=t+1|0;if((O|0)<7){s=s+32|0;t=O}else{R=a;S=7;break}}while(1){a=c[R>>2]|0;t=R+192|0;s=c[t>>2]|0;r=s+a|0;q=R+32|0;p=c[q>>2]|0;o=R+160|0;n=c[o>>2]|0;m=n+p|0;l=R+64|0;k=c[l>>2]|0;j=R+128|0;i=c[j>>2]|0;h=i+k|0;g=R+96|0;f=c[g>>2]|0;e=a-s|0;s=p-n|0;n=k-i|0;i=h+r|0;c[R>>2]=((f+m+i|0)*10700|0)+32768>>16;k=((f*-4|0)+i|0)*3783|0;i=(r-h|0)*9850|0;p=(m-h|0)*3367|0;c[l>>2]=i+32768+p+k>>16;l=((r-m|0)*9434|0)+32768|0;c[j>>2]=l+p+((m-(f<<1)|0)*-7566|0)>>16;c[t>>2]=l-i+k>>16;k=(s+e|0)*10009|0;i=(e-s|0)*1822|0;l=(n+s|0)*-14752|0;s=(n+e|0)*6565|0;c[q>>2]=32768-i+k+s>>16;c[g>>2]=i+32768+k+l>>16;c[o>>2]=(n*20017|0)+32768+s+l>>16;if((S|0)>0){R=R+4|0;S=S-1|0}else{break}}return}function eJ(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,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;fv(a+192|0,0,64);f=e+11|0;g=e+1|0;h=e+10|0;i=e+2|0;j=e+9|0;k=e+3|0;l=e+8|0;m=e+4|0;n=e+7|0;o=e+5|0;p=e+6|0;q=a;r=0;while(1){s=c[b+(r<<2)>>2]|0;t=d[s+e|0]|0;u=d[s+f|0]|0;v=u+t|0;w=d[s+g|0]|0;x=d[s+h|0]|0;y=x+w|0;z=d[s+i|0]|0;A=d[s+j|0]|0;B=A+z|0;C=d[s+k|0]|0;D=d[s+l|0]|0;E=D+C|0;F=d[s+m|0]|0;G=d[s+n|0]|0;H=G+F|0;I=d[s+o|0]|0;J=d[s+p|0]|0;s=J+I|0;K=s+v|0;L=v-s|0;s=y-H|0;v=E+B|0;M=B-E|0;E=t-u|0;u=w-x|0;x=z-A|0;A=C-D|0;D=F-G|0;G=I-J|0;c[q>>2]=(v+y+H+K<<2)-6144;c[q+24>>2]=L-(s+M)<<2;c[q+16>>2]=((K-v|0)*10033|0)+1024>>11;c[q+8>>2]=1024-M+s+((L+M|0)*11190|0)>>11;M=(D+u|0)*4433|0;L=M+(u*6270|0)|0;u=M+(D*-15137|0)|0;D=(x+E|0)*9191|0;M=(A+E|0)*7053|0;s=(A+x|0)*-1512|0;c[q+4>>2]=(E*-4758|0)+1024+D+M+L+(G*1512|0)>>11;c[q+12>>2]=((E-A|0)*10703|0)+1024+u+((G+x|0)*-4433|0)>>11;c[q+20>>2]=(x*-19165|0)+1024+D+s-u+(G*7053|0)>>11;c[q+28>>2]=(A*5946|0)+1024+s+M-L+(G*-9191|0)>>11;G=r+1|0;if((G|0)<6){q=q+32|0;r=G}else{N=a;O=7;break}}while(1){a=c[N>>2]|0;r=N+160|0;q=c[r>>2]|0;p=q+a|0;o=N+32|0;n=c[o>>2]|0;m=N+128|0;l=c[m>>2]|0;k=l+n|0;j=N+64|0;i=c[j>>2]|0;h=N+96|0;g=c[h>>2]|0;f=g+i|0;e=f+p|0;b=a-q|0;q=n-l|0;l=i-g|0;c[N>>2]=((e+k|0)*14564|0)+32768>>16;c[j>>2]=((p-f|0)*17837|0)+32768>>16;c[m>>2]=(((k*-2|0)+e|0)*10298|0)+32768>>16;e=(l+b|0)*5331|0;c[o>>2]=((q+b|0)*14564|0)+32768+e>>16;c[h>>2]=((b-q-l|0)*14564|0)+32768>>16;c[r>>2]=((l-q|0)*14564|0)+32768+e>>16;if((O|0)>0){N=N+4|0;O=O-1|0}else{break}}return}function eK(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,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;fv(a+160|0,0,96);f=e+9|0;g=e+1|0;h=e+8|0;i=e+2|0;j=e+7|0;k=e+3|0;l=e+6|0;m=e+4|0;n=e+5|0;o=a;p=0;while(1){q=c[b+(p<<2)>>2]|0;r=d[q+e|0]|0;s=d[q+f|0]|0;t=s+r|0;u=d[q+g|0]|0;v=d[q+h|0]|0;w=v+u|0;x=d[q+i|0]|0;y=d[q+j|0]|0;z=y+x|0;A=d[q+k|0]|0;B=d[q+l|0]|0;C=B+A|0;D=d[q+m|0]|0;E=d[q+n|0]|0;q=E+D|0;F=q+t|0;G=t-q|0;q=C+w|0;t=w-C|0;C=r-s|0;s=u-v|0;v=x-y|0;y=A-B|0;B=D-E|0;c[o>>2]=(q+z+F<<2)-5120;E=z<<1;c[o+16>>2]=((q-E|0)*-3580|0)+1024+((F-E|0)*9373|0)>>11;E=(G+t|0)*6810|0;c[o+8>>2]=(G*4209|0)+1024+E>>11;c[o+24>>2]=(t*-17828|0)+1024+E>>11;E=B+C|0;t=s-y|0;c[o+20>>2]=E-(t+v)<<2;G=v<<13;c[o+4>>2]=(C*11443|0)+1024+(s*10323|0)+G+(y*5260|0)+(B*1812|0)>>11;v=(t<<12)-G+((E+t|0)*2531|0)|0;t=((C-B|0)*7791|0)+((y+s|0)*-4815|0)+1024|0;c[o+12>>2]=t+v>>11;c[o+28>>2]=t-v>>11;v=p+1|0;if((v|0)<5){o=o+32|0;p=v}else{H=a;I=7;break}}while(1){a=c[H>>2]|0;p=H+128|0;o=c[p>>2]|0;n=o+a|0;m=H+32|0;l=c[m>>2]|0;k=H+96|0;j=c[k>>2]|0;i=j+l|0;h=H+64|0;g=c[h>>2]|0;f=i+n|0;e=a-o|0;o=l-j|0;c[H>>2]=((f+g|0)*10486|0)+16384>>15;j=(f-(g<<2)|0)*3707|0;g=((n-i|0)*8290|0)+16384|0;c[h>>2]=g+j>>15;c[p>>2]=g-j>>15;j=(o+e|0)*8716|0;c[m>>2]=(e*5387|0)+16384+j>>15;c[k>>2]=(o*-22820|0)+16384+j>>15;if((I|0)>0){H=H+4|0;I=I-1|0}else{break}}return}function eL(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,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;fv(a+128|0,0,128);f=e+7|0;g=e+1|0;h=e+6|0;i=e+2|0;j=e+5|0;k=e+3|0;l=e+4|0;m=a;n=0;while(1){o=c[b+(n<<2)>>2]|0;p=d[o+e|0]|0;q=d[o+f|0]|0;r=q+p|0;s=d[o+g|0]|0;t=d[o+h|0]|0;u=t+s|0;v=d[o+i|0]|0;w=d[o+j|0]|0;x=w+v|0;y=d[o+k|0]|0;z=d[o+l|0]|0;o=z+y|0;A=o+r|0;B=r-o|0;o=x+u|0;r=u-x|0;x=p-q|0;q=s-t|0;t=v-w|0;w=y-z|0;c[m>>2]=(A+o<<3)-8192;c[m+16>>2]=A-o<<3;o=((B+r|0)*4433|0)+512|0;c[m+8>>2]=o+(B*6270|0)>>10;c[m+24>>2]=o+(r*-15137|0)>>10;r=t+x|0;o=w+q|0;B=((o+r|0)*9633|0)+512|0;A=(w+x|0)*-7373|0;z=(t+q|0)*-20995|0;y=B+(r*-3196|0)|0;r=B+(o*-16069|0)|0;c[m+4>>2]=A+(x*12299|0)+y>>10;c[m+12>>2]=z+(q*25172|0)+r>>10;c[m+20>>2]=z+(t*16819|0)+y>>10;c[m+28>>2]=A+(w*2446|0)+r>>10;r=n+1|0;if((r|0)<4){m=m+32|0;n=r}else{C=a;D=7;break}}while(1){a=c[C>>2]|0;n=C+96|0;m=c[n>>2]|0;l=a+2+m|0;k=C+32|0;j=c[k>>2]|0;i=C+64|0;h=c[i>>2]|0;g=h+j|0;f=a-m|0;m=j-h|0;c[C>>2]=g+l>>2;c[i>>2]=l-g>>2;g=((m+f|0)*4433|0)+16384|0;c[k>>2]=g+(f*6270|0)>>15;c[n>>2]=g+(m*-15137|0)>>15;if((D|0)>0){C=C+4|0;D=D-1|0}else{break}}return}function eM(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;fv(a|0,0,256);f=e+5|0;g=e+1|0;h=e+4|0;i=e+2|0;j=e+3|0;k=a;l=0;while(1){m=c[b+(l<<2)>>2]|0;n=d[m+e|0]|0;o=d[m+f|0]|0;p=o+n|0;q=d[m+g|0]|0;r=d[m+h|0]|0;s=r+q|0;t=d[m+i|0]|0;u=d[m+j|0]|0;m=u+t|0;v=m+p|0;w=n-o|0;o=q-r|0;r=t-u|0;c[k>>2]=(v+s<<3)-6144;c[k+8>>2]=((p-m|0)*10033|0)+512>>10;c[k+16>>2]=(((s*-2|0)+v|0)*5793|0)+512>>10;v=((r+w|0)*2998|0)+512>>10;c[k+4>>2]=v+(o+w<<3);c[k+12>>2]=w-o-r<<3;c[k+20>>2]=v+(r-o<<3);o=l+1|0;if((o|0)<3){k=k+32|0;l=o}else{break}}l=c[a>>2]|0;k=a+64|0;j=c[k>>2]|0;i=j+l|0;h=a+32|0;g=c[h>>2]|0;c[a>>2]=((i+g|0)*14564|0)+16384>>15;c[k>>2]=(((g*-2|0)+i|0)*10298|0)+16384>>15;c[h>>2]=((l-j|0)*17837|0)+16384>>15;j=a+4|0;l=c[j>>2]|0;h=a+68|0;i=c[h>>2]|0;g=i+l|0;k=a+36|0;f=c[k>>2]|0;c[j>>2]=((g+f|0)*14564|0)+16384>>15;c[h>>2]=(((f*-2|0)+g|0)*10298|0)+16384>>15;c[k>>2]=((l-i|0)*17837|0)+16384>>15;i=a+8|0;l=c[i>>2]|0;k=a+72|0;g=c[k>>2]|0;f=g+l|0;h=a+40|0;j=c[h>>2]|0;c[i>>2]=((f+j|0)*14564|0)+16384>>15;c[k>>2]=(((j*-2|0)+f|0)*10298|0)+16384>>15;c[h>>2]=((l-g|0)*17837|0)+16384>>15;g=a+12|0;l=c[g>>2]|0;h=a+76|0;f=c[h>>2]|0;j=f+l|0;k=a+44|0;i=c[k>>2]|0;c[g>>2]=((j+i|0)*14564|0)+16384>>15;c[h>>2]=(((i*-2|0)+j|0)*10298|0)+16384>>15;c[k>>2]=((l-f|0)*17837|0)+16384>>15;f=a+16|0;l=c[f>>2]|0;k=a+80|0;j=c[k>>2]|0;i=j+l|0;h=a+48|0;g=c[h>>2]|0;c[f>>2]=((i+g|0)*14564|0)+16384>>15;c[k>>2]=(((g*-2|0)+i|0)*10298|0)+16384>>15;c[h>>2]=((l-j|0)*17837|0)+16384>>15;j=a+20|0;l=c[j>>2]|0;h=a+84|0;i=c[h>>2]|0;g=i+l|0;k=a+52|0;a=c[k>>2]|0;c[j>>2]=((g+a|0)*14564|0)+16384>>15;c[h>>2]=(((a*-2|0)+g|0)*10298|0)+16384>>15;c[k>>2]=((l-i|0)*17837|0)+16384>>15;return}function eN(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;fv(a|0,0,256);f=e+3|0;g=e+1|0;h=e+2|0;i=c[b>>2]|0;j=d[i+e|0]|0;k=d[i+f|0]|0;l=k+j|0;m=d[i+g|0]|0;n=d[i+h|0]|0;i=n+m|0;o=j-k|0;k=m-n|0;n=i+l<<5;c[a>>2]=n-16384;m=l-i<<5;i=a+8|0;c[i>>2]=m;l=((k+o|0)*4433|0)+128|0;j=l+(o*6270|0)>>8;o=a+4|0;c[o>>2]=j;p=l+(k*-15137|0)>>8;k=a+12|0;c[k>>2]=p;l=c[b+4>>2]|0;b=d[l+e|0]|0;e=d[l+f|0]|0;f=e+b|0;q=d[l+g|0]|0;g=d[l+h|0]|0;h=g+q|0;l=b-e|0;e=q-g|0;g=(h+f<<5)-16384|0;q=f-h<<5;h=((e+l|0)*4433|0)+128|0;f=h+(l*6270|0)>>8;l=h+(e*-15137|0)>>8;e=n-16382|0;c[a>>2]=e+g>>2;c[a+32>>2]=e-g>>2;g=j+2|0;c[o>>2]=g+f>>2;c[a+36>>2]=g-f>>2;f=m|2;c[i>>2]=f+q>>2;c[a+40>>2]=f-q>>2;q=p+2|0;c[k>>2]=q+l>>2;c[a+44>>2]=q-l>>2;return}function eO(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0;fv(a|0,0,256);f=c[b>>2]|0;b=d[f+e|0]|0;g=d[f+(e+1)|0]|0;c[a>>2]=(g+b<<5)-8192;c[a+4>>2]=b-g<<5;return}function eP(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,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;f=i;i=i+256|0;g=e+7|0;h=e+1|0;j=e+6|0;k=e+2|0;l=e+5|0;m=e+3|0;n=e+4|0;o=f|0;p=0;q=a;while(1){r=c[b+(p<<2)>>2]|0;s=d[r+e|0]|0;t=d[r+g|0]|0;u=t+s|0;v=d[r+h|0]|0;w=d[r+j|0]|0;x=w+v|0;y=d[r+k|0]|0;z=d[r+l|0]|0;A=z+y|0;B=d[r+m|0]|0;C=d[r+n|0]|0;r=C+B|0;D=r+u|0;E=u-r|0;r=A+x|0;u=x-A|0;A=s-t|0;t=v-w|0;w=y-z|0;z=B-C|0;c[q>>2]=(D+r<<2)-4096;c[q+16>>2]=D-r<<2;r=(E+u|0)*4433|0;c[q+8>>2]=(E*6270|0)+1024+r>>11;c[q+24>>2]=(u*-15137|0)+1024+r>>11;r=w+A|0;u=z+t|0;E=(u+r|0)*9633|0;D=(z+A|0)*-7373|0;C=(w+t|0)*-20995|0;B=E+(r*-3196|0)|0;r=E+(u*-16069|0)|0;c[q+4>>2]=(A*12299|0)+1024+D+B>>11;c[q+12>>2]=(t*25172|0)+1024+C+r>>11;c[q+20>>2]=(w*16819|0)+1024+C+B>>11;c[q+28>>2]=(z*2446|0)+1024+D+r>>11;if((p|0)==7){p=8;q=o;continue}else if((p|0)==15){F=a;G=o;H=7;break}p=p+1|0;q=q+32|0}while(1){q=c[F>>2]|0;p=c[G+224>>2]|0;o=p+q|0;a=F+32|0;n=c[a>>2]|0;m=c[G+192>>2]|0;l=m+n|0;k=F+64|0;j=c[k>>2]|0;h=c[G+160>>2]|0;g=h+j|0;e=F+96|0;b=c[e>>2]|0;r=c[G+128>>2]|0;D=r+b|0;z=F+128|0;B=c[z>>2]|0;C=c[G+96>>2]|0;w=C+B|0;t=F+160|0;A=c[t>>2]|0;u=c[G+64>>2]|0;E=u+A|0;y=F+192|0;v=c[y>>2]|0;s=c[G+32>>2]|0;x=s+v|0;I=F+224|0;J=c[I>>2]|0;K=c[G>>2]|0;L=K+J|0;M=L+o|0;N=o-L|0;L=x+l|0;o=l-x|0;x=E+g|0;l=g-E|0;E=w+D|0;g=D-w|0;w=q-p|0;p=n-m|0;m=j-h|0;h=b-r|0;r=B-C|0;C=A-u|0;u=v-s|0;s=J-K|0;c[F>>2]=E+4+x+L+M>>3;c[z>>2]=((L-x|0)*4433|0)+32768+((M-E|0)*10703|0)>>16;E=((N-l|0)*11363|0)+((g-o|0)*2260|0)|0;c[k>>2]=(l*17799|0)+32768+(o*11893|0)+E>>16;c[y>>2]=(g*-8697|0)+32768+(N*-1730|0)+E>>16;E=((u-s|0)*3363|0)+((p+w|0)*11086|0)|0;N=((s+C|0)*5461|0)+((m+w|0)*10217|0)|0;g=((r-s|0)*7350|0)+((h+w|0)*8956|0)|0;y=((u-C|0)*11529|0)+((m+p|0)*1136|0)|0;o=((u+r|0)*-10217|0)+((h+p|0)*-5461|0)|0;l=((C-r|0)*3363|0)+((h+m|0)*-11086|0)|0;c[a>>2]=(w*-18730|0)+32768+(s*6387|0)+N+E+g>>16;c[e>>2]=(p*589|0)+32768+(u*-13631|0)+o+y+E>>16;c[t>>2]=(m*-9222|0)+32768+(C*10055|0)+l+y+N>>16;c[I>>2]=(h*8728|0)+32768+(r*17760|0)+l+o+g>>16;if((H|0)>0){F=F+4|0;G=G+4|0;H=H-1|0}else{break}}i=f;return}function eQ(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,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;f=i;i=i+192|0;fv(a|0,0,256);g=e+6|0;h=e+1|0;j=e+5|0;k=e+2|0;l=e+4|0;m=e+3|0;n=f|0;o=0;p=a;while(1){q=c[b+(o<<2)>>2]|0;r=d[q+e|0]|0;s=d[q+g|0]|0;t=s+r|0;u=d[q+h|0]|0;v=d[q+j|0]|0;w=v+u|0;x=d[q+k|0]|0;y=d[q+l|0]|0;z=y+x|0;A=d[q+m|0]|0;q=r-s|0;s=u-v|0;v=x-y|0;y=z+t|0;c[p>>2]=(A+w+y<<2)-3584;x=((A*-4|0)+y|0)*2896|0;y=(t-z|0)*7542|0;u=(w-z|0)*2578|0;c[p+8>>2]=y+1024+u+x>>11;z=((t-w|0)*7223|0)+1024|0;c[p+16>>2]=z+u+((w-(A<<1)|0)*-5793|0)>>11;c[p+24>>2]=z-y+x>>11;x=(s+q|0)*7663|0;y=(q-s|0)*1395|0;z=(v+s|0)*-11295|0;s=(v+q|0)*5027|0;c[p+4>>2]=1024-y+x+s>>11;c[p+12>>2]=y+1024+x+z>>11;c[p+20>>2]=(v*15326|0)+1024+s+z>>11;if((o|0)==7){o=8;p=n;continue}else if((o|0)==13){B=a;C=n;D=0;break}o=o+1|0;p=p+32|0}while(1){p=c[B>>2]|0;o=c[C+160>>2]|0;n=o+p|0;a=B+32|0;m=c[a>>2]|0;l=c[C+128>>2]|0;k=l+m|0;j=B+64|0;h=c[j>>2]|0;g=c[C+96>>2]|0;e=g+h|0;b=B+96|0;z=c[b>>2]|0;s=c[C+64>>2]|0;v=s+z|0;x=B+128|0;y=c[x>>2]|0;q=c[C+32>>2]|0;A=q+y|0;w=B+160|0;u=c[w>>2]|0;t=c[C>>2]|0;r=t+u|0;E=B+192|0;F=c[E>>2]|0;G=B+224|0;H=c[G>>2]|0;I=H+F|0;J=I+n|0;K=n-I|0;I=r+k|0;n=k-r|0;r=A+e|0;k=e-A|0;A=p-o|0;o=m-l|0;l=h-g|0;g=z-s|0;s=y-q|0;q=u-t|0;t=F-H|0;c[B>>2]=((r+v+I+J|0)*5350|0)+16384>>15;H=v<<1;c[x>>2]=((r-H|0)*-4717|0)+16384+((I-H|0)*1684|0)+((J-H|0)*6817|0)>>15;H=(K+n|0)*5915|0;c[j>>2]=(k*3283|0)+16384+(K*1461|0)+H>>15;c[E>>2]=(k*-7376|0)+16384+(n*-9198|0)+H>>15;H=l+o|0;n=q-s|0;c[G>>2]=((A-H+g-n-t|0)*5350|0)+16384>>15;G=g*5350|0;g=(n*7518|0)-G+(H*-847|0)|0;H=((t+s|0)*4025|0)+((l+A|0)*6406|0)|0;c[w>>2]=(l*-12700|0)+16384+(s*5992|0)+g+H>>15;s=((q-t|0)*2499|0)+((o+A|0)*7141|0)|0;c[b>>2]=(o*-2269|0)+16384+(q*-16423|0)+g+s>>15;c[a>>2]=(A*-6029|0)+16384+G+(t*-679|0)+s+H>>15;H=D+1|0;if((H|0)<7){B=B+4|0;C=C+4|0;D=H}else{break}}i=f;return}function eR(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,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;f=i;i=i+128|0;fv(a|0,0,256);g=e+5|0;h=e+1|0;j=e+4|0;k=e+2|0;l=e+3|0;m=f|0;n=0;o=a;while(1){p=c[b+(n<<2)>>2]|0;q=d[p+e|0]|0;r=d[p+g|0]|0;s=r+q|0;t=d[p+h|0]|0;u=d[p+j|0]|0;v=u+t|0;w=d[p+k|0]|0;x=d[p+l|0]|0;p=x+w|0;y=p+s|0;z=q-r|0;r=t-u|0;u=w-x|0;c[o>>2]=(y+v<<2)-3072;c[o+8>>2]=((s-p|0)*10033|0)+1024>>11;c[o+16>>2]=(((v*-2|0)+y|0)*5793|0)+1024>>11;y=((u+z|0)*2998|0)+1024>>11;c[o+4>>2]=y+(r+z<<2);c[o+12>>2]=z-r-u<<2;c[o+20>>2]=y+(u-r<<2);if((n|0)==7){n=8;o=m;continue}else if((n|0)==11){A=a;B=m;C=0;break}n=n+1|0;o=o+32|0}while(1){o=c[A>>2]|0;n=c[B+96>>2]|0;m=n+o|0;a=A+32|0;l=c[a>>2]|0;k=c[B+64>>2]|0;j=k+l|0;h=A+64|0;g=c[h>>2]|0;e=c[B+32>>2]|0;b=e+g|0;r=A+96|0;u=c[r>>2]|0;y=c[B>>2]|0;z=y+u|0;v=A+128|0;p=c[v>>2]|0;s=A+224|0;x=c[s>>2]|0;w=x+p|0;t=A+160|0;q=c[t>>2]|0;D=A+192|0;E=c[D>>2]|0;F=E+q|0;G=F+m|0;H=m-F|0;F=j-w|0;m=z+b|0;I=b-z|0;z=o-n|0;n=l-k|0;k=g-e|0;e=u-y|0;y=p-x|0;x=q-E|0;c[A>>2]=((m+j+w+G|0)*7282|0)+16384>>15;c[D>>2]=((H-(F+I)|0)*7282|0)+16384>>15;c[v>>2]=((G-m|0)*8918|0)+16384>>15;c[h>>2]=((F-I|0)*7282|0)+16384+((H+I|0)*9947|0)>>15;I=(y+n|0)*3941|0;H=I+(n*5573|0)|0;n=I+(y*-13455|0)|0;y=(k+z|0)*8170|0;I=(e+z|0)*6269|0;F=(e+k|0)*-1344|0;c[a>>2]=(z*-4229|0)+16384+y+I+H+(x*1344|0)>>15;c[r>>2]=((z-e|0)*9514|0)+16384+n+((x+k|0)*-3941|0)>>15;c[t>>2]=(k*-17036|0)+16384+y+F-n+(x*6269|0)>>15;c[s>>2]=(e*5285|0)+16384+F+I-H+(x*-8170|0)>>15;x=C+1|0;if((x|0)<6){A=A+4|0;B=B+4|0;C=x}else{break}}i=f;return}function eS(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,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=i;i=i+64|0;fv(a|0,0,256);g=e+4|0;h=e+1|0;j=e+3|0;k=e+2|0;l=f|0;m=0;n=a;while(1){o=c[b+(m<<2)>>2]|0;p=d[o+e|0]|0;q=d[o+g|0]|0;r=q+p|0;s=d[o+h|0]|0;t=d[o+j|0]|0;u=t+s|0;v=d[o+k|0]|0;o=u+r|0;w=p-q|0;q=s-t|0;c[n>>2]=(o+v<<2)-2560;t=(o-(v<<2)|0)*2896|0;v=((r-u|0)*6476|0)+1024|0;c[n+8>>2]=v+t>>11;c[n+16>>2]=v-t>>11;t=(q+w|0)*6810|0;c[n+4>>2]=(w*4209|0)+1024+t>>11;c[n+12>>2]=(q*-17828|0)+1024+t>>11;if((m|0)==7){m=8;n=l;continue}else if((m|0)==9){x=a;y=l;z=0;break}m=m+1|0;n=n+32|0}while(1){n=c[x>>2]|0;m=c[y+32>>2]|0;l=m+n|0;a=x+32|0;k=c[a>>2]|0;j=c[y>>2]|0;h=j+k|0;g=x+64|0;e=c[g>>2]|0;b=x+224|0;t=c[b>>2]|0;q=t+e|0;w=x+96|0;v=c[w>>2]|0;u=x+192|0;r=c[u>>2]|0;o=r+v|0;s=x+128|0;p=c[s>>2]|0;A=x+160|0;B=c[A>>2]|0;C=B+p|0;D=C+l|0;E=l-C|0;C=o+h|0;l=h-o|0;o=n-m|0;m=k-j|0;j=e-t|0;t=v-r|0;r=p-B|0;c[x>>2]=((C+q+D|0)*10486|0)+16384>>15;B=q<<1;c[s>>2]=((C-B|0)*-4582|0)+16384+((D-B|0)*11997|0)>>15;B=(E+l|0)*8716|0;c[g>>2]=(E*5387|0)+16384+B>>15;c[u>>2]=(l*-22820|0)+16384+B>>15;B=r+o|0;l=m-t|0;c[A>>2]=((B-(l+j)|0)*10486|0)+16384>>15;A=j*10486|0;c[a>>2]=(o*14647|0)+16384+(m*13213|0)+A+(t*6732|0)+(r*2320|0)>>15;a=(l*5243|0)-A+((B+l|0)*3240|0)|0;l=((o-r|0)*9973|0)+((t+m|0)*-6163|0)+16384|0;c[w>>2]=l+a>>15;c[b>>2]=l-a>>15;a=z+1|0;if((a|0)<5){x=x+4|0;y=y+4|0;z=a}else{break}}i=f;return}function eT(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,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;fv(a|0,0,256);f=e+3|0;g=e+1|0;h=e+2|0;i=a;j=0;while(1){k=c[b+(j<<2)>>2]|0;l=d[k+e|0]|0;m=d[k+f|0]|0;n=m+l|0;o=d[k+g|0]|0;p=d[k+h|0]|0;k=p+o|0;q=l-m|0;m=o-p|0;c[i>>2]=(k+n<<3)-4096;c[i+8>>2]=n-k<<3;k=((m+q|0)*4433|0)+512|0;c[i+4>>2]=k+(q*6270|0)>>10;c[i+12>>2]=k+(m*-15137|0)>>10;m=j+1|0;if((m|0)<8){i=i+32|0;j=m}else{r=a;s=0;break}}while(1){a=c[r>>2]|0;j=r+224|0;i=c[j>>2]|0;h=i+a|0;g=r+32|0;f=c[g>>2]|0;e=r+192|0;b=c[e>>2]|0;m=b+f|0;k=r+64|0;q=c[k>>2]|0;n=r+160|0;p=c[n>>2]|0;o=p+q|0;l=r+96|0;t=c[l>>2]|0;u=r+128|0;v=c[u>>2]|0;w=v+t|0;x=h+2+w|0;y=h-w|0;w=o+m|0;h=m-o|0;o=a-i|0;i=f-b|0;b=q-p|0;p=t-v|0;c[r>>2]=x+w>>2;c[u>>2]=x-w>>2;w=((y+h|0)*4433|0)+16384|0;c[k>>2]=w+(y*6270|0)>>15;c[e>>2]=w+(h*-15137|0)>>15;h=b+o|0;w=p+i|0;e=((w+h|0)*9633|0)+16384|0;y=(p+o|0)*-7373|0;k=(b+i|0)*-20995|0;x=e+(h*-3196|0)|0;h=e+(w*-16069|0)|0;c[g>>2]=y+(o*12299|0)+x>>15;c[l>>2]=k+(i*25172|0)+h>>15;c[n>>2]=k+(b*16819|0)+x>>15;c[j>>2]=y+(p*2446|0)+h>>15;h=s+1|0;if((h|0)<4){r=r+4|0;s=h}else{break}}return}function eU(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;fv(a|0,0,256);f=e+2|0;g=e+1|0;h=a;i=0;while(1){j=c[b+(i<<2)>>2]|0;k=d[j+e|0]|0;l=d[j+f|0]|0;m=l+k|0;n=d[j+g|0]|0;c[h>>2]=(m+n<<3)-3072;c[h+8>>2]=(((n*-2|0)+m|0)*5793|0)+512>>10;c[h+4>>2]=((k-l|0)*10033|0)+512>>10;l=i+1|0;if((l|0)<6){h=h+32|0;i=l}else{o=a;p=0;break}}while(1){a=c[o>>2]|0;i=o+160|0;h=c[i>>2]|0;g=h+a|0;f=o+32|0;e=c[f>>2]|0;b=o+128|0;l=c[b>>2]|0;k=l+e|0;m=o+64|0;n=c[m>>2]|0;j=o+96|0;q=c[j>>2]|0;r=q+n|0;s=r+g|0;t=a-h|0;h=e-l|0;l=n-q|0;c[o>>2]=((s+k|0)*14564|0)+16384>>15;c[m>>2]=((g-r|0)*17837|0)+16384>>15;c[b>>2]=(((k*-2|0)+s|0)*10298|0)+16384>>15;s=(l+t|0)*5331|0;c[f>>2]=((h+t|0)*14564|0)+16384+s>>15;c[j>>2]=((t-h-l|0)*14564|0)+16384>>15;c[i>>2]=((l-h|0)*14564|0)+16384+s>>15;s=p+1|0;if((s|0)<3){o=o+4|0;p=s}else{break}}return}function eV(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;fv(a|0,0,256);f=e+1|0;g=c[b>>2]|0;h=d[g+e|0]|0;i=d[g+f|0]|0;g=(i+h<<3)-2048|0;c[a>>2]=g;j=h-i<<3;i=a+4|0;c[i>>2]=j;h=a+32|0;k=c[b+4>>2]|0;l=d[k+e|0]|0;m=d[k+f|0]|0;k=(m+l<<3)-2048|0;c[h>>2]=k;n=l-m<<3;m=a+36|0;c[m>>2]=n;l=a+64|0;o=c[b+8>>2]|0;p=d[o+e|0]|0;q=d[o+f|0]|0;o=(q+p<<3)-2048|0;c[l>>2]=o;r=p-q<<3;q=a+68|0;c[q>>2]=r;p=c[b+12>>2]|0;b=d[p+e|0]|0;e=d[p+f|0]|0;f=(e+b<<3)-2048|0;p=b-e<<3;e=f+g|0;b=o+k|0;s=g-f|0;f=k-o|0;c[a>>2]=b+e;c[l>>2]=e-b;b=((f+s|0)*4433|0)+4096|0;c[h>>2]=b+(s*6270|0)>>13;c[a+96>>2]=b+(f*-15137|0)>>13;f=p+j|0;b=r+n|0;s=j-p|0;p=n-r|0;c[i>>2]=b+f;c[q>>2]=f-b;b=((p+s|0)*4433|0)+4096|0;c[m>>2]=b+(s*6270|0)>>13;c[a+100>>2]=b+(p*-15137|0)>>13;return}function eW(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0;fv(a|0,0,256);f=d[(c[b>>2]|0)+e|0]|0;g=d[(c[b+4>>2]|0)+e|0]|0;c[a>>2]=(g+f<<5)-8192;c[a+32>>2]=f-g<<5;return}function eX(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.0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0;k=i;i=i+256|0;l=c[d+332>>2]|0;d=k|0;m=f;f=c[e+84>>2]|0;e=d;n=8;while(1){o=b[m+16>>1]|0;p=b[m+32>>1]|0;q=b[m+48>>1]|0;do{if((o|p)<<16>>16==0){if(q<<16>>16!=0){r=0.0;s=q;t=106;break}if((b[m+64>>1]|0)!=0){r=0.0;s=0;t=106;break}if((b[m+80>>1]|0)!=0){r=0.0;s=0;t=106;break}if((b[m+96>>1]|0)!=0){r=0.0;s=0;t=106;break}if((b[m+112>>1]|0)!=0){r=0.0;s=0;t=106;break}u=+(b[m>>1]|0)*+g[f>>2];g[e>>2]=u;g[e+32>>2]=u;g[e+64>>2]=u;g[e+96>>2]=u;g[e+128>>2]=u;g[e+160>>2]=u;g[e+192>>2]=u;g[e+224>>2]=u}else{r=+(p<<16>>16|0);s=q;t=106}}while(0);if((t|0)==106){t=0;u=+(b[m>>1]|0)*+g[f>>2];v=r*+g[f+64>>2];w=+(b[m+64>>1]|0)*+g[f+128>>2];x=+(b[m+96>>1]|0)*+g[f+192>>2];y=u+w;z=u-w;w=v+x;u=(v-x)*1.4142135381698608-w;x=y+w;v=y-w;w=z+u;y=z-u;u=+(o<<16>>16|0)*+g[f+32>>2];z=+(s<<16>>16|0)*+g[f+96>>2];A=+(b[m+80>>1]|0)*+g[f+160>>2];B=+(b[m+112>>1]|0)*+g[f+224>>2];C=z+A;D=A-z;z=u+B;A=u-B;B=C+z;u=(D+A)*1.8477590084075928;E=u-D*2.613126039505005-B;D=(z-C)*1.4142135381698608-E;C=u-A*1.0823922157287598-D;g[e>>2]=x+B;g[e+224>>2]=x-B;g[e+32>>2]=w+E;g[e+192>>2]=w-E;g[e+64>>2]=y+D;g[e+160>>2]=y-D;g[e+96>>2]=v+C;g[e+128>>2]=v-C}q=n-1|0;if((q|0)>0){m=m+2|0;f=f+4|0;e=e+4|0;n=q}else{break}}n=j+7|0;e=j+1|0;f=j+6|0;m=j+2|0;s=j+5|0;t=j+3|0;q=j+4|0;p=d;d=0;while(1){F=c[h+(d<<2)>>2]|0;r=+g[p>>2]+128.5;C=+g[p+16>>2];v=r+C;D=r-C;C=+g[p+8>>2];r=+g[p+24>>2];y=C+r;E=(C-r)*1.4142135381698608-y;r=v+y;C=v-y;y=D+E;v=D-E;E=+g[p+20>>2];D=+g[p+12>>2];w=E+D;B=E-D;D=+g[p+4>>2];E=+g[p+28>>2];x=D+E;A=D-E;E=w+x;D=(B+A)*1.8477590084075928;u=D-B*2.613126039505005-E;B=(x-w)*1.4142135381698608-u;w=D-A*1.0823922157287598-B;a[F+j|0]=a[l+(~~(r+E)&1023)|0]|0;a[F+n|0]=a[l+(~~(r-E)&1023)|0]|0;a[F+e|0]=a[l+(~~(y+u)&1023)|0]|0;a[F+f|0]=a[l+(~~(y-u)&1023)|0]|0;a[F+m|0]=a[l+(~~(v+B)&1023)|0]|0;a[F+s|0]=a[l+(~~(v-B)&1023)|0]|0;a[F+t|0]=a[l+(~~(C+w)&1023)|0]|0;a[F+q|0]=a[l+(~~(C-w)&1023)|0]|0;F=d+1|0;if((F|0)<8){p=p+32|0;d=F}else{break}}i=k;return}function eY(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;j=i;i=i+256|0;k=c[d+332>>2]|0;d=j|0;l=f;f=c[e+84>>2]|0;e=d;m=8;while(1){n=b[l+16>>1]|0;o=b[l+32>>1]|0;p=b[l+48>>1]|0;do{if((n|o)<<16>>16==0){if(p<<16>>16!=0){q=0;r=p;s=120;break}if((b[l+64>>1]|0)!=0){q=0;r=0;s=120;break}if((b[l+80>>1]|0)!=0){q=0;r=0;s=120;break}if((b[l+96>>1]|0)!=0){q=0;r=0;s=120;break}if((b[l+112>>1]|0)!=0){q=0;r=0;s=120;break}t=Z(b[l>>1]|0,c[f>>2]|0)|0;c[e>>2]=t;c[e+32>>2]=t;c[e+64>>2]=t;c[e+96>>2]=t;c[e+128>>2]=t;c[e+160>>2]=t;c[e+192>>2]=t;c[e+224>>2]=t}else{q=o<<16>>16;r=p;s=120}}while(0);if((s|0)==120){s=0;p=Z(b[l>>1]|0,c[f>>2]|0)|0;o=Z(q,c[f+64>>2]|0)|0;t=Z(b[l+64>>1]|0,c[f+128>>2]|0)|0;u=Z(b[l+96>>1]|0,c[f+192>>2]|0)|0;v=t+p|0;w=p-t|0;t=u+o|0;p=(((o-u|0)*362|0)>>8)-t|0;u=t+v|0;o=v-t|0;t=p+w|0;v=w-p|0;p=Z(n<<16>>16,c[f+32>>2]|0)|0;w=Z(r<<16>>16,c[f+96>>2]|0)|0;x=Z(b[l+80>>1]|0,c[f+160>>2]|0)|0;y=Z(b[l+112>>1]|0,c[f+224>>2]|0)|0;z=x+w|0;A=x-w|0;w=y+p|0;x=p-y|0;y=w+z|0;p=((x+A|0)*473|0)>>8;B=((A*-669|0)>>8)-y+p|0;A=(((w-z|0)*362|0)>>8)-B|0;z=A+(((x*277|0)>>8)-p)|0;c[e>>2]=y+u;c[e+224>>2]=u-y;c[e+32>>2]=B+t;c[e+192>>2]=t-B;c[e+64>>2]=A+v;c[e+160>>2]=v-A;c[e+128>>2]=z+o;c[e+96>>2]=o-z}z=m-1|0;if((z|0)>0){l=l+2|0;f=f+4|0;e=e+4|0;m=z}else{break}}m=h+1|0;e=h+2|0;f=h+3|0;l=h+4|0;r=h+5|0;q=h+6|0;z=h+7|0;o=d;d=0;while(1){A=c[g+(d<<2)>>2]|0;v=A+h|0;B=c[o+4>>2]|0;t=c[o+8>>2]|0;y=c[o+12>>2]|0;do{if((B|t|0)==0){if((y|0)!=0){C=0;D=y;s=129;break}if((c[o+16>>2]|0)!=0){C=0;D=0;s=129;break}if((c[o+20>>2]|0)!=0){C=0;D=0;s=129;break}if((c[o+24>>2]|0)!=0){C=0;D=0;s=129;break}if((c[o+28>>2]|0)!=0){C=0;D=0;s=129;break}u=a[k+(((c[o>>2]|0)>>>5&1023)+128)|0]|0;a[v]=u;a[A+m|0]=u;a[A+e|0]=u;a[A+f|0]=u;a[A+l|0]=u;a[A+r|0]=u;a[A+q|0]=u;a[A+z|0]=u}else{C=t;D=y;s=129}}while(0);if((s|0)==129){s=0;y=c[o>>2]|0;t=c[o+16>>2]|0;n=t+y|0;u=y-t|0;t=c[o+24>>2]|0;y=t+C|0;p=(((C-t|0)*362|0)>>8)-y|0;t=y+n|0;x=n-y|0;y=p+u|0;n=u-p|0;p=c[o+20>>2]|0;u=D+p|0;w=p-D|0;p=c[o+28>>2]|0;E=p+B|0;F=B-p|0;p=E+u|0;G=((F+w|0)*473|0)>>8;H=((w*-669|0)>>8)-p+G|0;w=(((E-u|0)*362|0)>>8)-H|0;u=w+(((F*277|0)>>8)-G)|0;a[v]=a[k+(((p+t|0)>>>5&1023)+128)|0]|0;a[A+z|0]=a[k+(((t-p|0)>>>5&1023)+128)|0]|0;a[A+m|0]=a[k+(((H+y|0)>>>5&1023)+128)|0]|0;a[A+q|0]=a[k+(((y-H|0)>>>5&1023)+128)|0]|0;a[A+e|0]=a[k+(((w+n|0)>>>5&1023)+128)|0]|0;a[A+r|0]=a[k+(((n-w|0)>>>5&1023)+128)|0]|0;a[A+l|0]=a[k+(((u+x|0)>>>5&1023)+128)|0]|0;a[A+f|0]=a[k+(((x-u|0)>>>5&1023)+128)|0]|0}u=d+1|0;if((u|0)<8){o=o+32|0;d=u}else{break}}i=j;return}function eZ(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;j=i;i=i+256|0;k=c[d+332>>2]|0;d=j|0;l=f;f=c[e+84>>2]|0;e=d;m=8;while(1){n=b[l+16>>1]|0;o=b[l+32>>1]|0;p=b[l+48>>1]|0;do{if((n|o)<<16>>16==0){if(p<<16>>16!=0){q=0;r=p;s=142;break}if((b[l+64>>1]|0)!=0){q=0;r=0;s=142;break}if((b[l+80>>1]|0)!=0){q=0;r=0;s=142;break}if((b[l+96>>1]|0)!=0){q=0;r=0;s=142;break}if((b[l+112>>1]|0)!=0){q=0;r=0;s=142;break}t=Z(c[f>>2]<<2,b[l>>1]|0)|0;c[e>>2]=t;c[e+32>>2]=t;c[e+64>>2]=t;c[e+96>>2]=t;c[e+128>>2]=t;c[e+160>>2]=t;c[e+192>>2]=t;c[e+224>>2]=t}else{q=o<<16>>16;r=p;s=142}}while(0);if((s|0)==142){s=0;p=Z(q,c[f+64>>2]|0)|0;o=Z(b[l+96>>1]|0,c[f+192>>2]|0)|0;t=(o+p|0)*4433|0;u=t+(p*6270|0)|0;p=t+(o*-15137|0)|0;o=b[l+64>>1]|0;t=c[f+128>>2]|0;v=Z(c[f>>2]<<13,b[l>>1]|0)|0;w=Z(t<<13,o)|0;o=v|1024;v=w+o|0;t=o-w|0;w=v+u|0;o=v-u|0;u=t+p|0;v=t-p|0;p=Z(b[l+112>>1]|0,c[f+224>>2]|0)|0;t=Z(b[l+80>>1]|0,c[f+160>>2]|0)|0;x=Z(r<<16>>16,c[f+96>>2]|0)|0;y=Z(n<<16>>16,c[f+32>>2]|0)|0;z=x+p|0;A=y+t|0;B=(A+z|0)*9633|0;C=B+(z*-16069|0)|0;z=B+(A*-3196|0)|0;A=(y+p|0)*-7373|0;B=A+(p*2446|0)+C|0;p=A+(y*12299|0)+z|0;y=(x+t|0)*-20995|0;A=y+(t*16819|0)+z|0;z=y+(x*25172|0)+C|0;c[e>>2]=p+w>>11;c[e+224>>2]=w-p>>11;c[e+32>>2]=z+u>>11;c[e+192>>2]=u-z>>11;c[e+64>>2]=A+v>>11;c[e+160>>2]=v-A>>11;c[e+96>>2]=B+o>>11;c[e+128>>2]=o-B>>11}B=m-1|0;if((B|0)>0){l=l+2|0;f=f+4|0;e=e+4|0;m=B}else{break}}m=h+1|0;e=h+2|0;f=h+3|0;l=h+4|0;r=h+5|0;q=h+6|0;B=h+7|0;o=d;d=0;while(1){A=c[g+(d<<2)>>2]|0;v=A+h|0;z=c[o+4>>2]|0;u=c[o+8>>2]|0;p=c[o+12>>2]|0;do{if((z|u|0)==0){if((p|0)!=0){D=0;E=p;s=151;break}if((c[o+16>>2]|0)!=0){D=0;E=0;s=151;break}if((c[o+20>>2]|0)!=0){D=0;E=0;s=151;break}if((c[o+24>>2]|0)!=0){D=0;E=0;s=151;break}if((c[o+28>>2]|0)!=0){D=0;E=0;s=151;break}w=a[k+((((c[o>>2]|0)+16|0)>>>5&1023)+128)|0]|0;a[v]=w;a[A+m|0]=w;a[A+e|0]=w;a[A+f|0]=w;a[A+l|0]=w;a[A+r|0]=w;a[A+q|0]=w;a[A+B|0]=w}else{D=u;E=p;s=151}}while(0);if((s|0)==151){s=0;p=c[o+24>>2]|0;u=(p+D|0)*4433|0;n=u+(D*6270|0)|0;w=u+(p*-15137|0)|0;p=(c[o>>2]|0)+16|0;u=c[o+16>>2]|0;C=p+u<<13;x=p-u<<13;u=C+n|0;p=C-n|0;n=x+w|0;C=x-w|0;w=c[o+28>>2]|0;x=c[o+20>>2]|0;y=E+w|0;t=z+x|0;F=(t+y|0)*9633|0;G=F+(y*-16069|0)|0;y=F+(t*-3196|0)|0;t=(z+w|0)*-7373|0;F=t+(w*2446|0)+G|0;w=t+(z*12299|0)+y|0;t=(E+x|0)*-20995|0;H=t+(x*16819|0)+y|0;y=t+(E*25172|0)+G|0;a[v]=a[k+(((w+u|0)>>>18&1023)+128)|0]|0;a[A+B|0]=a[k+(((u-w|0)>>>18&1023)+128)|0]|0;a[A+m|0]=a[k+(((y+n|0)>>>18&1023)+128)|0]|0;a[A+q|0]=a[k+(((n-y|0)>>>18&1023)+128)|0]|0;a[A+e|0]=a[k+(((H+C|0)>>>18&1023)+128)|0]|0;a[A+r|0]=a[k+(((C-H|0)>>>18&1023)+128)|0]|0;a[A+f|0]=a[k+(((F+p|0)>>>18&1023)+128)|0]|0;a[A+l|0]=a[k+(((p-F|0)>>>18&1023)+128)|0]|0}F=d+1|0;if((F|0)<8){o=o+32|0;d=F}else{break}}i=j;return}function e_(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;j=i;i=i+200|0;k=c[d+332>>2]|0;d=j|0;l=f;f=c[e+84>>2]|0;e=d;m=0;while(1){n=Z(c[f>>2]<<13,b[l>>1]|0)|0|1024;o=Z(b[l+32>>1]|0,c[f+64>>2]|0)|0;p=Z(b[l+64>>1]|0,c[f+128>>2]|0)|0;q=Z(b[l+96>>1]|0,c[f+192>>2]|0)|0;r=(p-q|0)*7223|0;s=(o-p|0)*2578|0;t=(p*-15083|0)+n+s+r|0;u=q+o|0;v=(u*10438|0)+n|0;w=r+(q*-637|0)+v|0;q=s+(o*-20239|0)+v|0;v=Z(b[l+16>>1]|0,c[f+32>>2]|0)|0;o=Z(b[l+48>>1]|0,c[f+96>>2]|0)|0;s=Z(b[l+80>>1]|0,c[f+160>>2]|0)|0;r=(o+v|0)*7663|0;x=(v-o|0)*1395|0;y=(s+o|0)*-11295|0;o=r+x+y|0;z=(s+v|0)*5027|0;v=z+(r-x)|0;x=z+(s*15326|0)+y|0;c[e>>2]=v+w>>11;c[e+168>>2]=w-v>>11;c[e+28>>2]=o+t>>11;c[e+140>>2]=t-o>>11;c[e+56>>2]=x+q>>11;c[e+112>>2]=q-x>>11;c[e+84>>2]=((p-u|0)*11585|0)+n>>11;n=m+1|0;if((n|0)<7){l=l+2|0;f=f+4|0;e=e+4|0;m=n}else{break}}m=h+6|0;e=h+1|0;f=h+5|0;l=h+2|0;n=h+4|0;u=h+3|0;p=d;d=0;while(1){x=c[g+(d<<2)>>2]|0;q=(c[p>>2]<<13)+131072|0;o=c[p+8>>2]|0;t=c[p+16>>2]|0;v=c[p+24>>2]|0;w=(t-v|0)*7223|0;y=(o-t|0)*2578|0;s=(t*-15083|0)+q+y+w|0;z=v+o|0;r=(z*10438|0)+q|0;A=w+(v*-637|0)+r|0;v=y+(o*-20239|0)+r|0;r=c[p+4>>2]|0;o=c[p+12>>2]|0;y=c[p+20>>2]|0;w=(o+r|0)*7663|0;B=(r-o|0)*1395|0;C=(y+o|0)*-11295|0;o=w+B+C|0;D=(y+r|0)*5027|0;r=w-B+D|0;B=D+(y*15326|0)+C|0;a[x+h|0]=a[k+(((r+A|0)>>>18&1023)+128)|0]|0;a[x+m|0]=a[k+(((A-r|0)>>>18&1023)+128)|0]|0;a[x+e|0]=a[k+(((o+s|0)>>>18&1023)+128)|0]|0;a[x+f|0]=a[k+(((s-o|0)>>>18&1023)+128)|0]|0;a[x+l|0]=a[k+(((B+v|0)>>>18&1023)+128)|0]|0;a[x+n|0]=a[k+(((v-B|0)>>>18&1023)+128)|0]|0;a[x+u|0]=a[k+(((((t-z|0)*11585|0)+q|0)>>>18&1023)+128)|0]|0;q=d+1|0;if((q|0)<7){p=p+28|0;d=q}else{break}}i=j;return}function e$(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;j=i;i=i+144|0;k=c[d+332>>2]|0;d=j|0;l=f;f=c[e+84>>2]|0;e=d;m=0;while(1){n=Z(c[f>>2]<<13,b[l>>1]|0)|0|1024;o=Z((c[f+128>>2]|0)*5793|0,b[l+64>>1]|0)|0;p=o+n|0;q=(o*-2|0)+n>>11;n=Z((c[f+64>>2]|0)*10033|0,b[l+32>>1]|0)|0;o=n+p|0;r=p-n|0;n=Z(b[l+16>>1]|0,c[f+32>>2]|0)|0;p=Z(b[l+48>>1]|0,c[f+96>>2]|0)|0;s=Z(b[l+80>>1]|0,c[f+160>>2]|0)|0;t=(s+n|0)*2998|0;u=t+(p+n<<13)|0;v=t+(s-p<<13)|0;t=n-p-s<<2;c[e>>2]=u+o>>11;c[e+120>>2]=o-u>>11;c[e+24>>2]=t+q;c[e+96>>2]=q-t;c[e+48>>2]=v+r>>11;c[e+72>>2]=r-v>>11;v=m+1|0;if((v|0)<6){l=l+2|0;f=f+4|0;e=e+4|0;m=v}else{break}}m=h+5|0;e=h+1|0;f=h+4|0;l=h+2|0;v=h+3|0;r=d;d=0;while(1){t=c[g+(d<<2)>>2]|0;q=(c[r>>2]<<13)+131072|0;u=(c[r+16>>2]|0)*5793|0;o=q+u|0;s=q-u-u|0;u=(c[r+8>>2]|0)*10033|0;q=o+u|0;p=o-u|0;u=c[r+4>>2]|0;o=c[r+12>>2]|0;n=c[r+20>>2]|0;w=(n+u|0)*2998|0;x=w+(o+u<<13)|0;y=w+(n-o<<13)|0;w=u-o-n<<13;a[t+h|0]=a[k+(((x+q|0)>>>18&1023)+128)|0]|0;a[t+m|0]=a[k+(((q-x|0)>>>18&1023)+128)|0]|0;a[t+e|0]=a[k+(((w+s|0)>>>18&1023)+128)|0]|0;a[t+f|0]=a[k+(((s-w|0)>>>18&1023)+128)|0]|0;a[t+l|0]=a[k+(((y+p|0)>>>18&1023)+128)|0]|0;a[t+v|0]=a[k+(((p-y|0)>>>18&1023)+128)|0]|0;y=d+1|0;if((y|0)<6){r=r+24|0;d=y}else{break}}i=j;return}function e0(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;j=i;i=i+104|0;k=c[d+332>>2]|0;d=j|0;l=f;f=c[e+84>>2]|0;e=d;m=0;while(1){n=Z(c[f>>2]<<13,b[l>>1]|0)|0|1024;o=Z(b[l+32>>1]|0,c[f+64>>2]|0)|0;p=Z(b[l+64>>1]|0,c[f+128>>2]|0)|0;q=(p+o|0)*6476|0;r=o-p|0;p=(r*2896|0)+n|0;o=p+q|0;s=p-q|0;q=Z(b[l+16>>1]|0,c[f+32>>2]|0)|0;p=Z(b[l+48>>1]|0,c[f+96>>2]|0)|0;t=(p+q|0)*6810|0;u=t+(q*4209|0)|0;q=t+(p*-17828|0)|0;c[e>>2]=u+o>>11;c[e+80>>2]=o-u>>11;c[e+20>>2]=q+s>>11;c[e+60>>2]=s-q>>11;c[e+40>>2]=(r*-11584|0)+n>>11;n=m+1|0;if((n|0)<5){l=l+2|0;f=f+4|0;e=e+4|0;m=n}else{break}}m=h+4|0;e=h+1|0;f=h+3|0;l=h+2|0;n=d;d=0;while(1){r=c[g+(d<<2)>>2]|0;q=(c[n>>2]<<13)+131072|0;s=c[n+8>>2]|0;u=c[n+16>>2]|0;o=(u+s|0)*6476|0;p=s-u|0;u=(p*2896|0)+q|0;s=u+o|0;t=u-o|0;o=c[n+4>>2]|0;u=c[n+12>>2]|0;v=(u+o|0)*6810|0;w=v+(o*4209|0)|0;o=v+(u*-17828|0)|0;a[r+h|0]=a[k+(((w+s|0)>>>18&1023)+128)|0]|0;a[r+m|0]=a[k+(((s-w|0)>>>18&1023)+128)|0]|0;a[r+e|0]=a[k+(((o+t|0)>>>18&1023)+128)|0]|0;a[r+f|0]=a[k+(((t-o|0)>>>18&1023)+128)|0]|0;a[r+l|0]=a[k+((((p*-11584|0)+q|0)>>>18&1023)+128)|0]|0;q=d+1|0;if((q|0)<5){n=n+20|0;d=q}else{break}}i=j;return}function e1(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;j=i;i=i+64|0;k=c[d+332>>2]|0;d=j|0;l=f;f=c[e+84>>2]|0;e=d;m=0;while(1){n=Z(b[l>>1]|0,c[f>>2]|0)|0;o=Z(b[l+32>>1]|0,c[f+64>>2]|0)|0;p=o+n<<2;q=n-o<<2;o=Z(b[l+16>>1]|0,c[f+32>>2]|0)|0;n=Z(b[l+48>>1]|0,c[f+96>>2]|0)|0;r=((n+o|0)*4433|0)+1024|0;s=r+(o*6270|0)>>11;o=r+(n*-15137|0)>>11;c[e>>2]=s+p;c[e+48>>2]=p-s;c[e+16>>2]=o+q;c[e+32>>2]=q-o;o=m+1|0;if((o|0)<4){l=l+2|0;f=f+4|0;e=e+4|0;m=o}else{break}}m=h+3|0;e=h+1|0;f=h+2|0;l=d;d=0;while(1){o=c[g+(d<<2)>>2]|0;q=(c[l>>2]|0)+16|0;s=c[l+8>>2]|0;p=q+s<<13;n=q-s<<13;s=c[l+4>>2]|0;q=c[l+12>>2]|0;r=(q+s|0)*4433|0;t=r+(s*6270|0)|0;s=r+(q*-15137|0)|0;a[o+h|0]=a[k+(((t+p|0)>>>18&1023)+128)|0]|0;a[o+m|0]=a[k+(((p-t|0)>>>18&1023)+128)|0]|0;a[o+e|0]=a[k+(((s+n|0)>>>18&1023)+128)|0]|0;a[o+f|0]=a[k+(((n-s|0)>>>18&1023)+128)|0]|0;s=d+1|0;if((s|0)<4){l=l+16|0;d=s}else{break}}i=j;return}function e2(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;i=c[d+332>>2]|0;d=c[e+84>>2]|0;e=Z(c[d>>2]<<13,b[f>>1]|0)|0|1024;j=Z((c[d+64>>2]|0)*5793|0,b[f+32>>1]|0)|0;k=j+e|0;l=Z((c[d+32>>2]|0)*10033|0,b[f+16>>1]|0)|0;m=Z(c[d+4>>2]<<13,b[f+2>>1]|0)|0|1024;n=Z((c[d+68>>2]|0)*5793|0,b[f+34>>1]|0)|0;o=n+m|0;p=Z((c[d+36>>2]|0)*10033|0,b[f+18>>1]|0)|0;q=Z(c[d+8>>2]<<13,b[f+4>>1]|0)|0|1024;r=Z((c[d+72>>2]|0)*5793|0,b[f+36>>1]|0)|0;s=r+q|0;t=Z((c[d+40>>2]|0)*10033|0,b[f+20>>1]|0)|0;f=t+s>>11;d=s-t>>11;t=(r*-2|0)+q>>11;q=h+2|0;r=h+1|0;s=c[g>>2]|0;u=((l+k|0)>>>11<<13)+131072|0;v=u+(f*5793|0)|0;w=(p+o>>11)*10033|0;a[s+h|0]=a[i+(((v+w|0)>>>18&1023)+128)|0]|0;a[s+q|0]=a[i+(((v-w|0)>>>18&1023)+128)|0]|0;a[s+r|0]=a[i+((((f*-11586|0)+u|0)>>>18&1023)+128)|0]|0;u=c[g+4>>2]|0;f=(((j*-2|0)+e|0)>>>11<<13)+131072|0;e=f+(t*5793|0)|0;j=((n*-2|0)+m>>11)*10033|0;a[u+h|0]=a[i+(((e+j|0)>>>18&1023)+128)|0]|0;a[u+q|0]=a[i+(((e-j|0)>>>18&1023)+128)|0]|0;a[u+r|0]=a[i+((((t*-11586|0)+f|0)>>>18&1023)+128)|0]|0;f=c[g+8>>2]|0;g=((k-l|0)>>>11<<13)+131072|0;l=g+(d*5793|0)|0;k=(o-p>>11)*10033|0;a[f+h|0]=a[i+(((l+k|0)>>>18&1023)+128)|0]|0;a[f+q|0]=a[i+(((l-k|0)>>>18&1023)+128)|0]|0;a[f+r|0]=a[i+((((d*-11586|0)+g|0)>>>18&1023)+128)|0]|0;return}function e3(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;i=c[d+332>>2]|0;d=c[e+84>>2]|0;e=Z(b[f>>1]|0,c[d>>2]|0)|0;j=Z(b[f+16>>1]|0,c[d+32>>2]|0)|0;k=e+4|0;e=j+k|0;l=k-j|0;j=Z(b[f+2>>1]|0,c[d+4>>2]|0)|0;k=Z(b[f+18>>1]|0,c[d+36>>2]|0)|0;d=k+j|0;f=j-k|0;k=c[g>>2]|0;a[k+h|0]=a[i+(((d+e|0)>>>3&1023)+128)|0]|0;j=h+1|0;a[k+j|0]=a[i+(((e-d|0)>>>3&1023)+128)|0]|0;d=c[g+4>>2]|0;a[d+h|0]=a[i+(((f+l|0)>>>3&1023)+128)|0]|0;a[d+j|0]=a[i+(((l-f|0)>>>3&1023)+128)|0]|0;return}function e4(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;i=c[d+332>>2]|0;d=a[i+((((Z(b[f>>1]|0,c[c[e+84>>2]>>2]|0)|0)+4|0)>>>3&1023)+128)|0]|0;a[(c[g>>2]|0)+h|0]=d;return}function e5(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;j=i;i=i+288|0;k=c[d+332>>2]|0;d=j|0;l=f;f=c[e+84>>2]|0;e=d;m=0;while(1){n=Z(c[f>>2]<<13,b[l>>1]|0)|0|1024;o=Z(b[l+32>>1]|0,c[f+64>>2]|0)|0;p=Z(b[l+64>>1]|0,c[f+128>>2]|0)|0;q=Z((c[f+192>>2]|0)*5793|0,b[l+96>>1]|0)|0;r=q+n|0;s=n-q-q|0;q=o-p|0;n=s+(q*5793|0)|0;t=(p+o|0)*10887|0;u=o*8875|0;o=p*2012|0;p=t-o+r|0;v=r-t+u|0;t=r-u+o|0;o=Z(b[l+16>>1]|0,c[f+32>>2]|0)|0;u=b[l+48>>1]|0;r=c[f+96>>2]|0;w=Z(b[l+80>>1]|0,c[f+160>>2]|0)|0;x=Z(b[l+112>>1]|0,c[f+224>>2]|0)|0;y=Z(r*-10033|0,u)|0;u=(w+o|0)*7447|0;r=(x+o|0)*3962|0;z=u-y+r|0;A=(w-x|0)*11409|0;B=y-A+u|0;u=A+y+r|0;r=(o-w-x|0)*10033|0;c[e>>2]=z+p>>11;c[e+256>>2]=p-z>>11;c[e+32>>2]=r+n>>11;c[e+224>>2]=n-r>>11;c[e+64>>2]=B+v>>11;c[e+192>>2]=v-B>>11;c[e+96>>2]=u+t>>11;c[e+160>>2]=t-u>>11;c[e+128>>2]=(q*-11586|0)+s>>11;s=m+1|0;if((s|0)<8){l=l+2|0;f=f+4|0;e=e+4|0;m=s}else{break}}m=h+8|0;e=h+1|0;f=h+7|0;l=h+2|0;s=h+6|0;q=h+3|0;u=h+5|0;t=h+4|0;B=d;d=0;while(1){v=c[g+(d<<2)>>2]|0;r=(c[B>>2]<<13)+131072|0;n=c[B+8>>2]|0;z=c[B+16>>2]|0;p=(c[B+24>>2]|0)*5793|0;x=p+r|0;w=r-p-p|0;p=n-z|0;r=w+(p*5793|0)|0;o=(z+n|0)*10887|0;y=n*8875|0;n=z*2012|0;z=o-n+x|0;A=x-o+y|0;o=x-y+n|0;n=c[B+4>>2]|0;y=c[B+20>>2]|0;x=c[B+28>>2]|0;C=(c[B+12>>2]|0)*-10033|0;D=(y+n|0)*7447|0;E=(x+n|0)*3962|0;F=D-C+E|0;G=(y-x|0)*11409|0;H=C-G+D|0;D=G+C+E|0;E=(n-y-x|0)*10033|0;a[v+h|0]=a[k+(((F+z|0)>>>18&1023)+128)|0]|0;a[v+m|0]=a[k+(((z-F|0)>>>18&1023)+128)|0]|0;a[v+e|0]=a[k+(((E+r|0)>>>18&1023)+128)|0]|0;a[v+f|0]=a[k+(((r-E|0)>>>18&1023)+128)|0]|0;a[v+l|0]=a[k+(((H+A|0)>>>18&1023)+128)|0]|0;a[v+s|0]=a[k+(((A-H|0)>>>18&1023)+128)|0]|0;a[v+q|0]=a[k+(((D+o|0)>>>18&1023)+128)|0]|0;a[v+u|0]=a[k+(((o-D|0)>>>18&1023)+128)|0]|0;a[v+t|0]=a[k+((((p*-11586|0)+w|0)>>>18&1023)+128)|0]|0;w=d+1|0;if((w|0)<9){B=B+32|0;d=w}else{break}}i=j;return}function e6(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;j=i;i=i+320|0;k=c[d+332>>2]|0;d=j|0;l=f;f=c[e+84>>2]|0;e=d;m=0;while(1){n=Z(c[f>>2]<<13,b[l>>1]|0)|0|1024;o=Z(b[l+64>>1]|0,c[f+128>>2]|0)|0;p=(o*9373|0)+n|0;q=(o*-3580|0)+n|0;r=(o*-11586|0)+n>>11;n=Z(b[l+32>>1]|0,c[f+64>>2]|0)|0;o=Z(b[l+96>>1]|0,c[f+192>>2]|0)|0;s=(o+n|0)*6810|0;t=s+(n*4209|0)|0;n=s+(o*-17828|0)|0;o=t+p|0;s=p-t|0;t=n+q|0;p=q-n|0;n=Z(b[l+16>>1]|0,c[f+32>>2]|0)|0;q=Z(b[l+48>>1]|0,c[f+96>>2]|0)|0;u=Z(b[l+80>>1]|0,c[f+160>>2]|0)|0;v=Z(b[l+112>>1]|0,c[f+224>>2]|0)|0;w=v+q|0;x=q-v|0;v=x*2531|0;q=u<<13;y=w*7791|0;z=v+q|0;A=y+(n*11443|0)+z|0;B=(n*1812|0)-y+z|0;z=w*4815|0;w=q-v-(x<<12)|0;v=n-u-x<<2;x=(n*10323|0)-z-w|0;u=w+((n*5260|0)-z)|0;c[e>>2]=A+o>>11;c[e+288>>2]=o-A>>11;c[e+32>>2]=x+t>>11;c[e+256>>2]=t-x>>11;c[e+64>>2]=v+r;c[e+224>>2]=r-v;c[e+96>>2]=u+p>>11;c[e+192>>2]=p-u>>11;c[e+128>>2]=B+s>>11;c[e+160>>2]=s-B>>11;B=m+1|0;if((B|0)<8){l=l+2|0;f=f+4|0;e=e+4|0;m=B}else{break}}m=h+9|0;e=h+1|0;f=h+8|0;l=h+2|0;B=h+7|0;s=h+3|0;u=h+6|0;p=h+4|0;v=h+5|0;r=d;d=0;while(1){x=c[g+(d<<2)>>2]|0;t=(c[r>>2]<<13)+131072|0;A=c[r+16>>2]|0;o=t+(A*9373|0)|0;z=t+(A*-3580|0)|0;n=t+(A*-11586|0)|0;A=c[r+8>>2]|0;t=c[r+24>>2]|0;w=(t+A|0)*6810|0;q=w+(A*4209|0)|0;A=w+(t*-17828|0)|0;t=q+o|0;w=o-q|0;q=A+z|0;o=z-A|0;A=c[r+4>>2]|0;z=c[r+12>>2]|0;y=c[r+20>>2]<<13;C=c[r+28>>2]|0;D=C+z|0;E=z-C|0;C=E*2531|0;z=D*7791|0;F=C+y|0;G=z+(A*11443|0)+F|0;H=(A*1812|0)-z+F|0;F=D*4815|0;D=y-C-(E<<12)|0;C=(A-E<<13)-y|0;y=(A*10323|0)-F-D|0;E=D+((A*5260|0)-F)|0;a[x+h|0]=a[k+(((G+t|0)>>>18&1023)+128)|0]|0;a[x+m|0]=a[k+(((t-G|0)>>>18&1023)+128)|0]|0;a[x+e|0]=a[k+(((y+q|0)>>>18&1023)+128)|0]|0;a[x+f|0]=a[k+(((q-y|0)>>>18&1023)+128)|0]|0;a[x+l|0]=a[k+(((C+n|0)>>>18&1023)+128)|0]|0;a[x+B|0]=a[k+(((n-C|0)>>>18&1023)+128)|0]|0;a[x+s|0]=a[k+(((E+o|0)>>>18&1023)+128)|0]|0;a[x+u|0]=a[k+(((o-E|0)>>>18&1023)+128)|0]|0;a[x+p|0]=a[k+(((H+w|0)>>>18&1023)+128)|0]|0;a[x+v|0]=a[k+(((w-H|0)>>>18&1023)+128)|0]|0;H=d+1|0;if((H|0)<10){r=r+32|0;d=H}else{break}}i=j;return}function e7(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;j=i;i=i+352|0;k=c[d+332>>2]|0;d=j|0;l=f;f=c[e+84>>2]|0;e=d;m=0;while(1){n=Z(c[f>>2]<<13,b[l>>1]|0)|0|1024;o=Z(b[l+32>>1]|0,c[f+64>>2]|0)|0;p=Z(b[l+64>>1]|0,c[f+128>>2]|0)|0;q=Z(b[l+96>>1]|0,c[f+192>>2]|0)|0;r=(p-q|0)*20862|0;s=(p-o|0)*3529|0;t=q+o|0;u=t-p|0;v=(u*11116|0)+n|0;w=s+(p*-14924|0)+r+v|0;x=r+(q*17333|0)+v|0;r=s+(o*-12399|0)+v|0;s=v+(t*-9467|0)|0;t=s+(q*-6461|0)|0;q=(p*15929|0)+(o*-11395|0)+s|0;s=Z(b[l+16>>1]|0,c[f+32>>2]|0)|0;o=Z(b[l+48>>1]|0,c[f+96>>2]|0)|0;p=Z(b[l+80>>1]|0,c[f+160>>2]|0)|0;v=Z(b[l+112>>1]|0,c[f+224>>2]|0)|0;y=o+s|0;z=(p+y+v|0)*3264|0;A=y*7274|0;y=(p+s|0)*5492|0;B=z+((v+s|0)*3e3|0)|0;C=A+(s*-7562|0)+y+B|0;s=z+((p+o|0)*-9527|0)|0;D=y+(p*-9766|0)+s|0;y=(v+o|0)*-14731|0;E=A+(o*16984|0)+y+s|0;s=y+(v*17223|0)+B|0;B=(p*8203|0)+(o*-12019|0)+(v*-13802|0)+z|0;c[e>>2]=C+x>>11;c[e+320>>2]=x-C>>11;c[e+32>>2]=E+w>>11;c[e+288>>2]=w-E>>11;c[e+64>>2]=D+t>>11;c[e+256>>2]=t-D>>11;c[e+96>>2]=s+r>>11;c[e+224>>2]=r-s>>11;c[e+128>>2]=B+q>>11;c[e+192>>2]=q-B>>11;c[e+160>>2]=(u*-11585|0)+n>>11;n=m+1|0;if((n|0)<8){l=l+2|0;f=f+4|0;e=e+4|0;m=n}else{break}}m=h+10|0;e=h+1|0;f=h+9|0;l=h+2|0;n=h+8|0;u=h+3|0;B=h+7|0;q=h+4|0;s=h+6|0;r=h+5|0;D=d;d=0;while(1){t=c[g+(d<<2)>>2]|0;E=(c[D>>2]<<13)+131072|0;w=c[D+8>>2]|0;C=c[D+16>>2]|0;x=c[D+24>>2]|0;z=(C-x|0)*20862|0;v=(C-w|0)*3529|0;o=x+w|0;p=o-C|0;y=(p*11116|0)+E|0;A=v+(C*-14924|0)+z+y|0;F=z+(x*17333|0)+y|0;z=v+(w*-12399|0)+y|0;v=y+(o*-9467|0)|0;o=v+(x*-6461|0)|0;x=(C*15929|0)+(w*-11395|0)+v|0;v=c[D+4>>2]|0;w=c[D+12>>2]|0;C=c[D+20>>2]|0;y=c[D+28>>2]|0;G=w+v|0;H=(G+C+y|0)*3264|0;I=G*7274|0;G=(C+v|0)*5492|0;J=H+((y+v|0)*3e3|0)|0;K=I+(v*-7562|0)+G+J|0;v=H+((C+w|0)*-9527|0)|0;L=G+(C*-9766|0)+v|0;G=(y+w|0)*-14731|0;M=I+(w*16984|0)+G+v|0;v=G+(y*17223|0)+J|0;J=(C*8203|0)+(w*-12019|0)+(y*-13802|0)+H|0;a[t+h|0]=a[k+(((K+F|0)>>>18&1023)+128)|0]|0;a[t+m|0]=a[k+(((F-K|0)>>>18&1023)+128)|0]|0;a[t+e|0]=a[k+(((M+A|0)>>>18&1023)+128)|0]|0;a[t+f|0]=a[k+(((A-M|0)>>>18&1023)+128)|0]|0;a[t+l|0]=a[k+(((L+o|0)>>>18&1023)+128)|0]|0;a[t+n|0]=a[k+(((o-L|0)>>>18&1023)+128)|0]|0;a[t+u|0]=a[k+(((v+z|0)>>>18&1023)+128)|0]|0;a[t+B|0]=a[k+(((z-v|0)>>>18&1023)+128)|0]|0;a[t+q|0]=a[k+(((J+x|0)>>>18&1023)+128)|0]|0;a[t+s|0]=a[k+(((x-J|0)>>>18&1023)+128)|0]|0;a[t+r|0]=a[k+((((p*-11585|0)+E|0)>>>18&1023)+128)|0]|0;E=d+1|0;if((E|0)<11){D=D+32|0;d=E}else{break}}i=j;return}function e8(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;j=i;i=i+384|0;k=c[d+332>>2]|0;d=j|0;l=f;f=c[e+84>>2]|0;e=d;m=0;while(1){n=Z(c[f>>2]<<13,b[l>>1]|0)|0|1024;o=Z((c[f+128>>2]|0)*10033|0,b[l+64>>1]|0)|0;p=o+n|0;q=n-o|0;o=Z(b[l+32>>1]|0,c[f+64>>2]|0)|0;r=o*11190|0;s=o<<13;o=Z(c[f+192>>2]<<13,b[l+96>>1]|0)|0;t=s-o|0;u=t+n|0;v=n-t|0;t=o+r|0;n=t+p|0;w=p-t|0;t=r-s-o|0;o=t+q|0;s=q-t|0;t=Z(b[l+16>>1]|0,c[f+32>>2]|0)|0;q=Z(b[l+48>>1]|0,c[f+96>>2]|0)|0;r=Z(b[l+80>>1]|0,c[f+160>>2]|0)|0;p=Z(b[l+112>>1]|0,c[f+224>>2]|0)|0;x=q*10703|0;y=q*-4433|0;z=r+t|0;A=(p+z|0)*7053|0;B=A+(z*2139|0)|0;z=x+(t*2295|0)+B|0;C=(p+r|0)*-8565|0;D=(r*-12112|0)+y+C+B|0;B=(p*12998|0)-x+A+C|0;C=y+(t*-5540|0)+(p*-16244|0)+A|0;A=t-p|0;p=q-r|0;r=(A+p|0)*4433|0;q=r+(A*6270|0)|0;A=r+(p*-15137|0)|0;c[e>>2]=z+n>>11;c[e+352>>2]=n-z>>11;c[e+32>>2]=q+u>>11;c[e+320>>2]=u-q>>11;c[e+64>>2]=D+o>>11;c[e+288>>2]=o-D>>11;c[e+96>>2]=B+s>>11;c[e+256>>2]=s-B>>11;c[e+128>>2]=A+v>>11;c[e+224>>2]=v-A>>11;c[e+160>>2]=C+w>>11;c[e+192>>2]=w-C>>11;C=m+1|0;if((C|0)<8){l=l+2|0;f=f+4|0;e=e+4|0;m=C}else{break}}m=h+11|0;e=h+1|0;f=h+10|0;l=h+2|0;C=h+9|0;w=h+3|0;A=h+8|0;v=h+4|0;B=h+7|0;s=h+5|0;D=h+6|0;o=d;d=0;while(1){q=c[g+(d<<2)>>2]|0;u=(c[o>>2]<<13)+131072|0;z=(c[o+16>>2]|0)*10033|0;n=u+z|0;p=u-z|0;z=c[o+8>>2]|0;r=z*11190|0;t=z<<13;z=c[o+24>>2]<<13;y=t-z|0;x=y+u|0;E=u-y|0;y=z+r|0;u=y+n|0;F=n-y|0;y=r-t-z|0;z=y+p|0;t=p-y|0;y=c[o+4>>2]|0;p=c[o+12>>2]|0;r=c[o+20>>2]|0;n=c[o+28>>2]|0;G=p*10703|0;H=p*-4433|0;I=r+y|0;J=(I+n|0)*7053|0;K=J+(I*2139|0)|0;I=G+(y*2295|0)+K|0;L=(n+r|0)*-8565|0;M=(r*-12112|0)+H+L+K|0;K=(n*12998|0)-G+J+L|0;L=H+(y*-5540|0)+(n*-16244|0)+J|0;J=y-n|0;n=p-r|0;r=(J+n|0)*4433|0;p=r+(J*6270|0)|0;J=r+(n*-15137|0)|0;a[q+h|0]=a[k+(((I+u|0)>>>18&1023)+128)|0]|0;a[q+m|0]=a[k+(((u-I|0)>>>18&1023)+128)|0]|0;a[q+e|0]=a[k+(((p+x|0)>>>18&1023)+128)|0]|0;a[q+f|0]=a[k+(((x-p|0)>>>18&1023)+128)|0]|0;a[q+l|0]=a[k+(((M+z|0)>>>18&1023)+128)|0]|0;a[q+C|0]=a[k+(((z-M|0)>>>18&1023)+128)|0]|0;a[q+w|0]=a[k+(((K+t|0)>>>18&1023)+128)|0]|0;a[q+A|0]=a[k+(((t-K|0)>>>18&1023)+128)|0]|0;a[q+v|0]=a[k+(((J+E|0)>>>18&1023)+128)|0]|0;a[q+B|0]=a[k+(((E-J|0)>>>18&1023)+128)|0]|0;a[q+s|0]=a[k+(((L+F|0)>>>18&1023)+128)|0]|0;a[q+D|0]=a[k+(((F-L|0)>>>18&1023)+128)|0]|0;L=d+1|0;if((L|0)<12){o=o+32|0;d=L}else{break}}i=j;return}function e9(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,N=0,O=0,P=0,Q=0,R=0,S=0;j=i;i=i+416|0;k=c[d+332>>2]|0;d=j|0;l=f;f=c[e+84>>2]|0;e=d;m=0;while(1){n=Z(c[f>>2]<<13,b[l>>1]|0)|0|1024;o=Z(b[l+32>>1]|0,c[f+64>>2]|0)|0;p=Z(b[l+64>>1]|0,c[f+128>>2]|0)|0;q=Z(b[l+96>>1]|0,c[f+192>>2]|0)|0;r=q+p|0;s=p-q|0;q=r*9465|0;p=(s*793|0)+n|0;t=q+(o*11249|0)+p|0;u=(o*4108|0)-q+p|0;p=r*2592|0;q=(s*3989|0)+n|0;v=(o*8672|0)-p+q|0;w=p+(o*-10258|0)+q|0;q=r*3570|0;r=n+(s*-7678|0)|0;p=(o*-1396|0)-q+r|0;x=q+(o*-6581|0)+r|0;r=Z(b[l+16>>1]|0,c[f+32>>2]|0)|0;q=Z(b[l+48>>1]|0,c[f+96>>2]|0)|0;y=Z(b[l+80>>1]|0,c[f+160>>2]|0)|0;z=Z(b[l+112>>1]|0,c[f+224>>2]|0)|0;A=(q+r|0)*10832|0;B=(y+r|0)*9534|0;C=z+r|0;D=C*7682|0;E=A+(r*-16549|0)+B+D|0;F=(y+q|0)*-2773|0;G=(z+q|0)*-9534|0;H=A+(q*6859|0)+F+G|0;A=(z+y|0)*-5384|0;I=F+(y*-12879|0)+B+A|0;B=G+(z*18068|0)+D+A|0;A=C*2773|0;C=(y-q|0)*7682|0;D=(q*-3818|0)+(r*2611|0)+C+A|0;r=C+(y*3150|0)+(z*-14273|0)+A|0;c[e>>2]=E+t>>11;c[e+384>>2]=t-E>>11;c[e+32>>2]=H+v>>11;c[e+352>>2]=v-H>>11;c[e+64>>2]=I+u>>11;c[e+320>>2]=u-I>>11;c[e+96>>2]=B+p>>11;c[e+288>>2]=p-B>>11;c[e+128>>2]=D+x>>11;c[e+256>>2]=x-D>>11;c[e+160>>2]=r+w>>11;c[e+224>>2]=w-r>>11;c[e+192>>2]=((s-o|0)*11585|0)+n>>11;n=m+1|0;if((n|0)<8){l=l+2|0;f=f+4|0;e=e+4|0;m=n}else{break}}m=h+12|0;e=h+1|0;f=h+11|0;l=h+2|0;n=h+10|0;o=h+3|0;s=h+9|0;r=h+4|0;w=h+8|0;D=h+5|0;x=h+7|0;B=h+6|0;p=d;d=0;while(1){I=c[g+(d<<2)>>2]|0;u=(c[p>>2]<<13)+131072|0;H=c[p+8>>2]|0;v=c[p+16>>2]|0;E=c[p+24>>2]|0;t=E+v|0;A=v-E|0;E=t*9465|0;v=(A*793|0)+u|0;z=E+(H*11249|0)+v|0;y=(H*4108|0)-E+v|0;v=t*2592|0;E=(A*3989|0)+u|0;C=(H*8672|0)-v+E|0;q=v+(H*-10258|0)+E|0;E=t*3570|0;t=u+(A*-7678|0)|0;v=(H*-1396|0)-E+t|0;G=E+(H*-6581|0)+t|0;t=c[p+4>>2]|0;E=c[p+12>>2]|0;F=c[p+20>>2]|0;J=c[p+28>>2]|0;K=(E+t|0)*10832|0;L=(F+t|0)*9534|0;M=J+t|0;N=M*7682|0;O=K+(t*-16549|0)+L+N|0;P=(F+E|0)*-2773|0;Q=(J+E|0)*-9534|0;R=K+(E*6859|0)+P+Q|0;K=(J+F|0)*-5384|0;S=P+(F*-12879|0)+L+K|0;L=Q+(J*18068|0)+N+K|0;K=M*2773|0;M=(F-E|0)*7682|0;N=(E*-3818|0)+(t*2611|0)+M+K|0;t=M+(F*3150|0)+(J*-14273|0)+K|0;a[I+h|0]=a[k+(((O+z|0)>>>18&1023)+128)|0]|0;a[I+m|0]=a[k+(((z-O|0)>>>18&1023)+128)|0]|0;a[I+e|0]=a[k+(((R+C|0)>>>18&1023)+128)|0]|0;a[I+f|0]=a[k+(((C-R|0)>>>18&1023)+128)|0]|0;a[I+l|0]=a[k+(((S+y|0)>>>18&1023)+128)|0]|0;a[I+n|0]=a[k+(((y-S|0)>>>18&1023)+128)|0]|0;a[I+o|0]=a[k+(((L+v|0)>>>18&1023)+128)|0]|0;a[I+s|0]=a[k+(((v-L|0)>>>18&1023)+128)|0]|0;a[I+r|0]=a[k+(((N+G|0)>>>18&1023)+128)|0]|0;a[I+w|0]=a[k+(((G-N|0)>>>18&1023)+128)|0]|0;a[I+D|0]=a[k+(((t+q|0)>>>18&1023)+128)|0]|0;a[I+x|0]=a[k+(((q-t|0)>>>18&1023)+128)|0]|0;a[I+B|0]=a[k+(((((A-H|0)*11585|0)+u|0)>>>18&1023)+128)|0]|0;u=d+1|0;if((u|0)<13){p=p+32|0;d=u}else{break}}i=j;return}function fa(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,N=0,O=0,P=0,Q=0;j=i;i=i+448|0;k=c[d+332>>2]|0;d=j|0;l=f;f=c[e+84>>2]|0;e=d;m=0;while(1){n=Z(c[f>>2]<<13,b[l>>1]|0)|0|1024;o=Z(b[l+64>>1]|0,c[f+128>>2]|0)|0;p=(o*10438|0)+n|0;q=(o*2578|0)+n|0;r=(o*-7223|0)+n|0;s=(o*-11586|0)+n>>11;n=Z(b[l+32>>1]|0,c[f+64>>2]|0)|0;o=Z(b[l+96>>1]|0,c[f+192>>2]|0)|0;t=(o+n|0)*9058|0;u=t+(n*2237|0)|0;v=t+(o*-14084|0)|0;t=(o*-11295|0)+(n*5027|0)|0;n=u+p|0;o=p-u|0;u=v+q|0;p=q-v|0;v=t+r|0;q=r-t|0;t=Z(b[l+16>>1]|0,c[f+32>>2]|0)|0;r=Z(b[l+48>>1]|0,c[f+96>>2]|0)|0;w=Z(b[l+80>>1]|0,c[f+160>>2]|0)|0;x=Z(b[l+112>>1]|0,c[f+224>>2]|0)|0;y=x<<13;z=w+t|0;A=(r+t|0)*10935|0;B=z*9810|0;C=A+(t*-9232|0)+B+y|0;D=z*6164|0;z=t-r|0;E=(z*3826|0)-y|0;F=D+(t*-8693|0)+E|0;t=((w+r|0)*-1297|0)-y|0;G=A+(r*-3474|0)+t|0;A=B+(w*-19447|0)+t|0;t=(w-r|0)*11512|0;B=t+(w*-13850|0)+D+y|0;y=t+(r*5529|0)+E|0;E=z-w+x<<2;c[e>>2]=C+n>>11;c[e+416>>2]=n-C>>11;c[e+32>>2]=G+u>>11;c[e+384>>2]=u-G>>11;c[e+64>>2]=A+v>>11;c[e+352>>2]=v-A>>11;c[e+96>>2]=E+s;c[e+320>>2]=s-E;c[e+128>>2]=B+q>>11;c[e+288>>2]=q-B>>11;c[e+160>>2]=y+p>>11;c[e+256>>2]=p-y>>11;c[e+192>>2]=F+o>>11;c[e+224>>2]=o-F>>11;F=m+1|0;if((F|0)<8){l=l+2|0;f=f+4|0;e=e+4|0;m=F}else{break}}m=h+13|0;e=h+1|0;f=h+12|0;l=h+2|0;F=h+11|0;o=h+3|0;y=h+10|0;p=h+4|0;B=h+9|0;q=h+5|0;E=h+8|0;s=h+6|0;A=h+7|0;v=d;d=0;while(1){G=c[g+(d<<2)>>2]|0;u=(c[v>>2]<<13)+131072|0;C=c[v+16>>2]|0;n=u+(C*10438|0)|0;x=u+(C*2578|0)|0;w=u+(C*-7223|0)|0;z=u+(C*-11586|0)|0;C=c[v+8>>2]|0;u=c[v+24>>2]|0;r=(u+C|0)*9058|0;t=r+(C*2237|0)|0;D=r+(u*-14084|0)|0;r=(u*-11295|0)+(C*5027|0)|0;C=t+n|0;u=n-t|0;t=D+x|0;n=x-D|0;D=r+w|0;x=w-r|0;r=c[v+4>>2]|0;w=c[v+12>>2]|0;H=c[v+20>>2]|0;I=c[v+28>>2]<<13;J=H+r|0;K=(w+r|0)*10935|0;L=J*9810|0;M=K+(r*-9232|0)+L+I|0;N=J*6164|0;J=r-w|0;O=(J*3826|0)-I|0;P=N+(r*-8693|0)+O|0;r=((H+w|0)*-1297|0)-I|0;Q=K+(w*-3474|0)+r|0;K=L+(H*-19447|0)+r|0;r=(H-w|0)*11512|0;L=I+(H*-13850|0)+r+N|0;N=r+(w*5529|0)+O|0;O=(J-H<<13)+I|0;a[G+h|0]=a[k+(((M+C|0)>>>18&1023)+128)|0]|0;a[G+m|0]=a[k+(((C-M|0)>>>18&1023)+128)|0]|0;a[G+e|0]=a[k+(((Q+t|0)>>>18&1023)+128)|0]|0;a[G+f|0]=a[k+(((t-Q|0)>>>18&1023)+128)|0]|0;a[G+l|0]=a[k+(((K+D|0)>>>18&1023)+128)|0]|0;a[G+F|0]=a[k+(((D-K|0)>>>18&1023)+128)|0]|0;a[G+o|0]=a[k+(((O+z|0)>>>18&1023)+128)|0]|0;a[G+y|0]=a[k+(((z-O|0)>>>18&1023)+128)|0]|0;a[G+p|0]=a[k+(((L+x|0)>>>18&1023)+128)|0]|0;a[G+B|0]=a[k+(((x-L|0)>>>18&1023)+128)|0]|0;a[G+q|0]=a[k+(((N+n|0)>>>18&1023)+128)|0]|0;a[G+E|0]=a[k+(((n-N|0)>>>18&1023)+128)|0]|0;a[G+s|0]=a[k+(((P+u|0)>>>18&1023)+128)|0]|0;a[G+A|0]=a[k+(((u-P|0)>>>18&1023)+128)|0]|0;P=d+1|0;if((P|0)<14){v=v+32|0;d=P}else{break}}i=j;return}function fb(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,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;j=i;i=i+480|0;k=c[d+332>>2]|0;d=j|0;l=f;f=c[e+84>>2]|0;e=d;m=0;while(1){n=Z(c[f>>2]<<13,b[l>>1]|0)|0|1024;o=Z(b[l+32>>1]|0,c[f+64>>2]|0)|0;p=Z(b[l+64>>1]|0,c[f+128>>2]|0)|0;q=Z(b[l+96>>1]|0,c[f+192>>2]|0)|0;r=(q*-3580|0)+n|0;s=(q*9373|0)+n|0;t=(q*-11586|0)+n|0;n=o-p|0;q=p+o|0;p=q*10958|0;u=n*374|0;v=o*11795|0;o=u+p+s|0;w=v-p+u+r|0;u=q*4482|0;p=n*-3271|0;x=s-u+p|0;y=u-v+p+r|0;p=q*6476|0;q=n*2896|0;v=q+p+r|0;r=s-p+q|0;q=t+(n*5792|0)|0;p=Z(b[l+16>>1]|0,c[f+32>>2]|0)|0;s=Z(b[l+48>>1]|0,c[f+96>>2]|0)|0;u=Z((c[f+160>>2]|0)*10033|0,b[l+80>>1]|0)|0;z=Z(b[l+112>>1]|0,c[f+224>>2]|0)|0;A=s-z|0;B=(A+p|0)*6810|0;C=B+(p*4209|0)|0;D=B+(A*-17828|0)|0;A=s*-6810|0;B=s*-11018|0;s=p-z|0;E=(s*11522|0)+u|0;F=(z*20131|0)-B+E|0;G=A+(p*-9113|0)+E|0;E=(s*10033|0)-u|0;s=(z+p|0)*4712|0;H=A+(p*3897|0)-u+s|0;p=u+B+(z*-7121|0)+s|0;c[e>>2]=F+o>>11;c[e+448>>2]=o-F>>11;c[e+32>>2]=C+v>>11;c[e+416>>2]=v-C>>11;c[e+64>>2]=E+q>>11;c[e+384>>2]=q-E>>11;c[e+96>>2]=H+w>>11;c[e+352>>2]=w-H>>11;c[e+128>>2]=D+r>>11;c[e+320>>2]=r-D>>11;c[e+160>>2]=p+x>>11;c[e+288>>2]=x-p>>11;c[e+192>>2]=G+y>>11;c[e+256>>2]=y-G>>11;c[e+224>>2]=(n*-11584|0)+t>>11;t=m+1|0;if((t|0)<8){l=l+2|0;f=f+4|0;e=e+4|0;m=t}else{break}}m=h+14|0;e=h+1|0;f=h+13|0;l=h+2|0;t=h+12|0;n=h+3|0;G=h+11|0;y=h+4|0;p=h+10|0;x=h+5|0;D=h+9|0;r=h+6|0;H=h+8|0;w=h+7|0;E=d;d=0;while(1){q=c[g+(d<<2)>>2]|0;C=(c[E>>2]<<13)+131072|0;v=c[E+8>>2]|0;F=c[E+16>>2]|0;o=c[E+24>>2]|0;s=(o*-3580|0)+C|0;z=(o*9373|0)+C|0;B=(o*-11586|0)+C|0;C=v-F|0;o=F+v|0;F=o*10958|0;u=C*374|0;A=v*11795|0;v=u+F+z|0;I=A-F+u+s|0;u=o*4482|0;F=C*-3271|0;J=z-u+F|0;K=u-A+F+s|0;F=o*6476|0;o=C*2896|0;A=o+F+s|0;s=z-F+o|0;o=B+(C*5792|0)|0;F=c[E+4>>2]|0;z=c[E+12>>2]|0;u=(c[E+20>>2]|0)*10033|0;L=c[E+28>>2]|0;M=z-L|0;N=(M+F|0)*6810|0;O=N+(F*4209|0)|0;P=N+(M*-17828|0)|0;M=z*-6810|0;N=z*-11018|0;z=F-L|0;Q=(z*11522|0)+u|0;R=(L*20131|0)-N+Q|0;S=M+(F*-9113|0)+Q|0;Q=(z*10033|0)-u|0;z=(L+F|0)*4712|0;T=M+(F*3897|0)-u+z|0;F=u+N+(L*-7121|0)+z|0;a[q+h|0]=a[k+(((R+v|0)>>>18&1023)+128)|0]|0;a[q+m|0]=a[k+(((v-R|0)>>>18&1023)+128)|0]|0;a[q+e|0]=a[k+(((O+A|0)>>>18&1023)+128)|0]|0;a[q+f|0]=a[k+(((A-O|0)>>>18&1023)+128)|0]|0;a[q+l|0]=a[k+(((Q+o|0)>>>18&1023)+128)|0]|0;a[q+t|0]=a[k+(((o-Q|0)>>>18&1023)+128)|0]|0;a[q+n|0]=a[k+(((T+I|0)>>>18&1023)+128)|0]|0;a[q+G|0]=a[k+(((I-T|0)>>>18&1023)+128)|0]|0;a[q+y|0]=a[k+(((P+s|0)>>>18&1023)+128)|0]|0;a[q+p|0]=a[k+(((s-P|0)>>>18&1023)+128)|0]|0;a[q+x|0]=a[k+(((F+J|0)>>>18&1023)+128)|0]|0;a[q+D|0]=a[k+(((J-F|0)>>>18&1023)+128)|0]|0;a[q+r|0]=a[k+(((S+K|0)>>>18&1023)+128)|0]|0;a[q+H|0]=a[k+(((K-S|0)>>>18&1023)+128)|0]|0;a[q+w|0]=a[k+((((C*-11584|0)+B|0)>>>18&1023)+128)|0]|0;B=d+1|0;if((B|0)<15){E=E+32|0;d=B}else{break}}i=j;return}function fc(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,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;j=i;i=i+512|0;k=c[d+332>>2]|0;d=j|0;l=f;f=c[e+84>>2]|0;e=d;m=0;while(1){n=Z(c[f>>2]<<13,b[l>>1]|0)|0|1024;o=Z(b[l+64>>1]|0,c[f+128>>2]|0)|0;p=o*10703|0;q=o*4433|0;o=p+n|0;r=n-p|0;p=q+n|0;s=n-q|0;q=Z(b[l+32>>1]|0,c[f+64>>2]|0)|0;n=Z(b[l+96>>1]|0,c[f+192>>2]|0)|0;t=q-n|0;u=t*2260|0;v=t*11363|0;t=v+(n*20995|0)|0;w=u+(q*7373|0)|0;x=v+(q*-4926|0)|0;q=u+(n*-4176|0)|0;n=t+o|0;u=o-t|0;t=w+p|0;o=p-w|0;w=x+s|0;p=s-x|0;x=q+r|0;s=r-q|0;q=Z(b[l+16>>1]|0,c[f+32>>2]|0)|0;r=Z(b[l+48>>1]|0,c[f+96>>2]|0)|0;v=Z(b[l+80>>1]|0,c[f+160>>2]|0)|0;y=Z(b[l+112>>1]|0,c[f+224>>2]|0)|0;z=v+q|0;A=(r+q|0)*11086|0;B=z*10217|0;C=(y+q|0)*8956|0;D=(q-y|0)*7350|0;E=z*5461|0;z=(q-r|0)*3363|0;F=A+(q*-18730|0)+B+C|0;G=z+(q*-15038|0)+E+D|0;q=(v+r|0)*1136|0;H=(v-r|0)*11529|0;I=y+r|0;J=I*-5461|0;K=A+(r*589|0)+q+J|0;A=I*-10217|0;I=z+(r*16154|0)+H+A|0;r=(y+v|0)*-11086|0;z=q+(v*-9222|0)+B+r|0;B=J+(y*8728|0)+C+r|0;r=(y-v|0)*3363|0;C=A+(y*25733|0)+D+r|0;D=H+(v*-6278|0)+E+r|0;c[e>>2]=F+n>>11;c[e+480>>2]=n-F>>11;c[e+32>>2]=K+t>>11;c[e+448>>2]=t-K>>11;c[e+64>>2]=z+w>>11;c[e+416>>2]=w-z>>11;c[e+96>>2]=B+x>>11;c[e+384>>2]=x-B>>11;c[e+128>>2]=C+s>>11;c[e+352>>2]=s-C>>11;c[e+160>>2]=D+p>>11;c[e+320>>2]=p-D>>11;c[e+192>>2]=I+o>>11;c[e+288>>2]=o-I>>11;c[e+224>>2]=G+u>>11;c[e+256>>2]=u-G>>11;G=m+1|0;if((G|0)<8){l=l+2|0;f=f+4|0;e=e+4|0;m=G}else{break}}m=h+15|0;e=h+1|0;f=h+14|0;l=h+2|0;G=h+13|0;u=h+3|0;I=h+12|0;o=h+4|0;D=h+11|0;p=h+5|0;C=h+10|0;s=h+6|0;B=h+9|0;x=h+7|0;z=h+8|0;w=d;d=0;while(1){K=c[g+(d<<2)>>2]|0;t=(c[w>>2]<<13)+131072|0;F=c[w+16>>2]|0;n=F*10703|0;r=F*4433|0;F=t+n|0;E=t-n|0;n=t+r|0;v=t-r|0;r=c[w+8>>2]|0;t=c[w+24>>2]|0;H=r-t|0;y=H*2260|0;A=H*11363|0;H=A+(t*20995|0)|0;J=y+(r*7373|0)|0;q=A+(r*-4926|0)|0;r=y+(t*-4176|0)|0;t=H+F|0;y=F-H|0;H=J+n|0;F=n-J|0;J=q+v|0;n=v-q|0;q=r+E|0;v=E-r|0;r=c[w+4>>2]|0;E=c[w+12>>2]|0;A=c[w+20>>2]|0;L=c[w+28>>2]|0;M=A+r|0;N=(E+r|0)*11086|0;O=M*10217|0;P=(L+r|0)*8956|0;Q=(r-L|0)*7350|0;R=M*5461|0;M=(r-E|0)*3363|0;S=N+(r*-18730|0)+O+P|0;T=M+(r*-15038|0)+R+Q|0;r=(A+E|0)*1136|0;U=(A-E|0)*11529|0;V=L+E|0;W=V*-5461|0;X=N+(E*589|0)+r+W|0;N=V*-10217|0;V=M+(E*16154|0)+U+N|0;E=(L+A|0)*-11086|0;M=r+(A*-9222|0)+O+E|0;O=W+(L*8728|0)+P+E|0;E=(L-A|0)*3363|0;P=N+(L*25733|0)+Q+E|0;Q=U+(A*-6278|0)+R+E|0;a[K+h|0]=a[k+(((S+t|0)>>>18&1023)+128)|0]|0;a[K+m|0]=a[k+(((t-S|0)>>>18&1023)+128)|0]|0;a[K+e|0]=a[k+(((X+H|0)>>>18&1023)+128)|0]|0;a[K+f|0]=a[k+(((H-X|0)>>>18&1023)+128)|0]|0;a[K+l|0]=a[k+(((M+J|0)>>>18&1023)+128)|0]|0;a[K+G|0]=a[k+(((J-M|0)>>>18&1023)+128)|0]|0;a[K+u|0]=a[k+(((O+q|0)>>>18&1023)+128)|0]|0;a[K+I|0]=a[k+(((q-O|0)>>>18&1023)+128)|0]|0;a[K+o|0]=a[k+(((P+v|0)>>>18&1023)+128)|0]|0;a[K+D|0]=a[k+(((v-P|0)>>>18&1023)+128)|0]|0;a[K+p|0]=a[k+(((Q+n|0)>>>18&1023)+128)|0]|0;a[K+C|0]=a[k+(((n-Q|0)>>>18&1023)+128)|0]|0;a[K+s|0]=a[k+(((V+F|0)>>>18&1023)+128)|0]|0;a[K+B|0]=a[k+(((F-V|0)>>>18&1023)+128)|0]|0;a[K+x|0]=a[k+(((T+y|0)>>>18&1023)+128)|0]|0;a[K+z|0]=a[k+(((y-T|0)>>>18&1023)+128)|0]|0;T=d+1|0;if((T|0)<16){w=w+32|0;d=T}else{break}}i=j;return}function fd(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,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;j=i;i=i+256|0;k=c[d+332>>2]|0;d=j|0;l=f;f=c[e+84>>2]|0;e=d;m=8;while(1){n=b[l+16>>1]|0;o=b[l+32>>1]|0;p=b[l+48>>1]|0;do{if((n|o)<<16>>16==0){if(p<<16>>16!=0){q=0;r=p;s=227;break}if((b[l+64>>1]|0)!=0){q=0;r=0;s=227;break}if((b[l+80>>1]|0)!=0){q=0;r=0;s=227;break}if((b[l+96>>1]|0)!=0){q=0;r=0;s=227;break}if((b[l+112>>1]|0)!=0){q=0;r=0;s=227;break}t=Z(c[f>>2]<<2,b[l>>1]|0)|0;c[e>>2]=t;c[e+32>>2]=t;c[e+64>>2]=t;c[e+96>>2]=t;c[e+128>>2]=t;c[e+160>>2]=t;c[e+192>>2]=t;c[e+224>>2]=t}else{q=o<<16>>16;r=p;s=227}}while(0);if((s|0)==227){s=0;p=Z(q,c[f+64>>2]|0)|0;o=Z(b[l+96>>1]|0,c[f+192>>2]|0)|0;t=(o+p|0)*4433|0;u=t+(p*6270|0)|0;p=t+(o*-15137|0)|0;o=b[l+64>>1]|0;t=c[f+128>>2]|0;v=Z(c[f>>2]<<13,b[l>>1]|0)|0;w=Z(t<<13,o)|0;o=v|1024;v=w+o|0;t=o-w|0;w=v+u|0;o=v-u|0;u=t+p|0;v=t-p|0;p=Z(b[l+112>>1]|0,c[f+224>>2]|0)|0;t=Z(b[l+80>>1]|0,c[f+160>>2]|0)|0;x=Z(r<<16>>16,c[f+96>>2]|0)|0;y=Z(n<<16>>16,c[f+32>>2]|0)|0;z=x+p|0;A=y+t|0;B=(A+z|0)*9633|0;C=B+(z*-16069|0)|0;z=B+(A*-3196|0)|0;A=(y+p|0)*-7373|0;B=A+(p*2446|0)+C|0;p=A+(y*12299|0)+z|0;y=(x+t|0)*-20995|0;A=y+(t*16819|0)+z|0;z=y+(x*25172|0)+C|0;c[e>>2]=p+w>>11;c[e+224>>2]=w-p>>11;c[e+32>>2]=z+u>>11;c[e+192>>2]=u-z>>11;c[e+64>>2]=A+v>>11;c[e+160>>2]=v-A>>11;c[e+96>>2]=B+o>>11;c[e+128>>2]=o-B>>11}B=m-1|0;if((B|0)>0){l=l+2|0;f=f+4|0;e=e+4|0;m=B}else{break}}m=h+15|0;e=h+1|0;f=h+14|0;l=h+2|0;r=h+13|0;q=h+3|0;s=h+12|0;B=h+4|0;o=h+11|0;A=h+5|0;v=h+10|0;z=h+6|0;u=h+9|0;p=h+7|0;w=h+8|0;C=d;d=0;while(1){x=c[g+(d<<2)>>2]|0;y=(c[C>>2]<<13)+131072|0;t=c[C+16>>2]|0;D=t*10703|0;E=t*4433|0;t=y+D|0;F=y-D|0;D=y+E|0;G=y-E|0;E=c[C+8>>2]|0;y=c[C+24>>2]|0;H=E-y|0;I=H*2260|0;J=H*11363|0;H=J+(y*20995|0)|0;K=I+(E*7373|0)|0;L=J+(E*-4926|0)|0;E=I+(y*-4176|0)|0;y=H+t|0;I=t-H|0;H=K+D|0;t=D-K|0;K=L+G|0;D=G-L|0;L=E+F|0;G=F-E|0;E=c[C+4>>2]|0;F=c[C+12>>2]|0;J=c[C+20>>2]|0;M=c[C+28>>2]|0;N=J+E|0;O=(F+E|0)*11086|0;P=N*10217|0;Q=(M+E|0)*8956|0;R=(E-M|0)*7350|0;S=N*5461|0;N=(E-F|0)*3363|0;T=O+(E*-18730|0)+P+Q|0;U=N+(E*-15038|0)+S+R|0;E=(J+F|0)*1136|0;V=(J-F|0)*11529|0;W=M+F|0;X=W*-5461|0;Y=O+(F*589|0)+E+X|0;O=W*-10217|0;W=N+(F*16154|0)+V+O|0;F=(M+J|0)*-11086|0;N=E+(J*-9222|0)+P+F|0;P=X+(M*8728|0)+Q+F|0;F=(M-J|0)*3363|0;Q=O+(M*25733|0)+R+F|0;R=V+(J*-6278|0)+S+F|0;a[x+h|0]=a[k+(((T+y|0)>>>18&1023)+128)|0]|0;a[x+m|0]=a[k+(((y-T|0)>>>18&1023)+128)|0]|0;a[x+e|0]=a[k+(((Y+H|0)>>>18&1023)+128)|0]|0;a[x+f|0]=a[k+(((H-Y|0)>>>18&1023)+128)|0]|0;a[x+l|0]=a[k+(((N+K|0)>>>18&1023)+128)|0]|0;a[x+r|0]=a[k+(((K-N|0)>>>18&1023)+128)|0]|0;a[x+q|0]=a[k+(((P+L|0)>>>18&1023)+128)|0]|0;a[x+s|0]=a[k+(((L-P|0)>>>18&1023)+128)|0]|0;a[x+B|0]=a[k+(((Q+G|0)>>>18&1023)+128)|0]|0;a[x+o|0]=a[k+(((G-Q|0)>>>18&1023)+128)|0]|0;a[x+A|0]=a[k+(((R+D|0)>>>18&1023)+128)|0]|0;a[x+v|0]=a[k+(((D-R|0)>>>18&1023)+128)|0]|0;a[x+z|0]=a[k+(((W+t|0)>>>18&1023)+128)|0]|0;a[x+u|0]=a[k+(((t-W|0)>>>18&1023)+128)|0]|0;a[x+p|0]=a[k+(((U+I|0)>>>18&1023)+128)|0]|0;a[x+w|0]=a[k+(((I-U|0)>>>18&1023)+128)|0]|0;U=d+1|0;if((U|0)<8){C=C+32|0;d=U}else{break}}i=j;return}function fe(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,N=0,O=0,P=0,Q=0;j=i;i=i+224|0;k=c[d+332>>2]|0;d=j|0;l=f;f=c[e+84>>2]|0;e=d;m=0;while(1){n=Z(c[f>>2]<<13,b[l>>1]|0)|0|1024;o=Z(b[l+32>>1]|0,c[f+64>>2]|0)|0;p=Z(b[l+64>>1]|0,c[f+128>>2]|0)|0;q=Z(b[l+96>>1]|0,c[f+192>>2]|0)|0;r=(p-q|0)*7223|0;s=(o-p|0)*2578|0;t=(p*-15083|0)+n+s+r|0;u=q+o|0;v=(u*10438|0)+n|0;w=r+(q*-637|0)+v|0;q=s+(o*-20239|0)+v|0;v=Z(b[l+16>>1]|0,c[f+32>>2]|0)|0;o=Z(b[l+48>>1]|0,c[f+96>>2]|0)|0;s=Z(b[l+80>>1]|0,c[f+160>>2]|0)|0;r=(o+v|0)*7663|0;x=(v-o|0)*1395|0;y=(s+o|0)*-11295|0;o=r+x+y|0;z=(s+v|0)*5027|0;v=z+(r-x)|0;x=z+(s*15326|0)+y|0;c[e>>2]=v+w>>11;c[e+192>>2]=w-v>>11;c[e+32>>2]=o+t>>11;c[e+160>>2]=t-o>>11;c[e+64>>2]=x+q>>11;c[e+128>>2]=q-x>>11;c[e+96>>2]=((p-u|0)*11585|0)+n>>11;n=m+1|0;if((n|0)<8){l=l+2|0;f=f+4|0;e=e+4|0;m=n}else{break}}m=h+13|0;e=h+1|0;f=h+12|0;l=h+2|0;n=h+11|0;u=h+3|0;p=h+10|0;x=h+4|0;q=h+9|0;o=h+5|0;t=h+8|0;v=h+6|0;w=h+7|0;y=d;d=0;while(1){s=c[g+(d<<2)>>2]|0;z=(c[y>>2]<<13)+131072|0;r=c[y+16>>2]|0;A=z+(r*10438|0)|0;B=z+(r*2578|0)|0;C=z+(r*-7223|0)|0;D=z+(r*-11586|0)|0;r=c[y+8>>2]|0;z=c[y+24>>2]|0;E=(z+r|0)*9058|0;F=E+(r*2237|0)|0;G=E+(z*-14084|0)|0;E=(z*-11295|0)+(r*5027|0)|0;r=F+A|0;z=A-F|0;F=G+B|0;A=B-G|0;G=E+C|0;B=C-E|0;E=c[y+4>>2]|0;C=c[y+12>>2]|0;H=c[y+20>>2]|0;I=c[y+28>>2]<<13;J=H+E|0;K=(C+E|0)*10935|0;L=J*9810|0;M=K+(E*-9232|0)+L+I|0;N=J*6164|0;J=E-C|0;O=(J*3826|0)-I|0;P=N+(E*-8693|0)+O|0;E=((H+C|0)*-1297|0)-I|0;Q=K+(C*-3474|0)+E|0;K=L+(H*-19447|0)+E|0;E=(H-C|0)*11512|0;L=I+(H*-13850|0)+E+N|0;N=E+(C*5529|0)+O|0;O=(J-H<<13)+I|0;a[s+h|0]=a[k+(((M+r|0)>>>18&1023)+128)|0]|0;a[s+m|0]=a[k+(((r-M|0)>>>18&1023)+128)|0]|0;a[s+e|0]=a[k+(((Q+F|0)>>>18&1023)+128)|0]|0;a[s+f|0]=a[k+(((F-Q|0)>>>18&1023)+128)|0]|0;a[s+l|0]=a[k+(((K+G|0)>>>18&1023)+128)|0]|0;a[s+n|0]=a[k+(((G-K|0)>>>18&1023)+128)|0]|0;a[s+u|0]=a[k+(((O+D|0)>>>18&1023)+128)|0]|0;a[s+p|0]=a[k+(((D-O|0)>>>18&1023)+128)|0]|0;a[s+x|0]=a[k+(((L+B|0)>>>18&1023)+128)|0]|0;a[s+q|0]=a[k+(((B-L|0)>>>18&1023)+128)|0]|0;a[s+o|0]=a[k+(((N+A|0)>>>18&1023)+128)|0]|0;a[s+t|0]=a[k+(((A-N|0)>>>18&1023)+128)|0]|0;a[s+v|0]=a[k+(((P+z|0)>>>18&1023)+128)|0]|0;a[s+w|0]=a[k+(((z-P|0)>>>18&1023)+128)|0]|0;P=d+1|0;if((P|0)<7){y=y+32|0;d=P}else{break}}i=j;return}function ff(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;j=i;i=i+192|0;k=c[d+332>>2]|0;d=j|0;l=f;f=c[e+84>>2]|0;e=d;m=0;while(1){n=Z(c[f>>2]<<13,b[l>>1]|0)|0|1024;o=Z((c[f+128>>2]|0)*5793|0,b[l+64>>1]|0)|0;p=o+n|0;q=(o*-2|0)+n>>11;n=Z((c[f+64>>2]|0)*10033|0,b[l+32>>1]|0)|0;o=n+p|0;r=p-n|0;n=Z(b[l+16>>1]|0,c[f+32>>2]|0)|0;p=Z(b[l+48>>1]|0,c[f+96>>2]|0)|0;s=Z(b[l+80>>1]|0,c[f+160>>2]|0)|0;t=(s+n|0)*2998|0;u=t+(p+n<<13)|0;v=t+(s-p<<13)|0;t=n-p-s<<2;c[e>>2]=u+o>>11;c[e+160>>2]=o-u>>11;c[e+32>>2]=t+q;c[e+128>>2]=q-t;c[e+64>>2]=v+r>>11;c[e+96>>2]=r-v>>11;v=m+1|0;if((v|0)<8){l=l+2|0;f=f+4|0;e=e+4|0;m=v}else{break}}m=h+11|0;e=h+1|0;f=h+10|0;l=h+2|0;v=h+9|0;r=h+3|0;t=h+8|0;q=h+4|0;u=h+7|0;o=h+5|0;s=h+6|0;p=d;d=0;while(1){n=c[g+(d<<2)>>2]|0;w=(c[p>>2]<<13)+131072|0;x=(c[p+16>>2]|0)*10033|0;y=w+x|0;z=w-x|0;x=c[p+8>>2]|0;A=x*11190|0;B=x<<13;x=c[p+24>>2]<<13;C=B-x|0;D=C+w|0;E=w-C|0;C=x+A|0;w=C+y|0;F=y-C|0;C=A-B-x|0;x=C+z|0;B=z-C|0;C=c[p+4>>2]|0;z=c[p+12>>2]|0;A=c[p+20>>2]|0;y=c[p+28>>2]|0;G=z*10703|0;H=z*-4433|0;I=A+C|0;J=(I+y|0)*7053|0;K=J+(I*2139|0)|0;I=G+(C*2295|0)+K|0;L=(y+A|0)*-8565|0;M=(A*-12112|0)+H+L+K|0;K=(y*12998|0)-G+J+L|0;L=H+(C*-5540|0)+(y*-16244|0)+J|0;J=C-y|0;y=z-A|0;A=(J+y|0)*4433|0;z=A+(J*6270|0)|0;J=A+(y*-15137|0)|0;a[n+h|0]=a[k+(((I+w|0)>>>18&1023)+128)|0]|0;a[n+m|0]=a[k+(((w-I|0)>>>18&1023)+128)|0]|0;a[n+e|0]=a[k+(((z+D|0)>>>18&1023)+128)|0]|0;a[n+f|0]=a[k+(((D-z|0)>>>18&1023)+128)|0]|0;a[n+l|0]=a[k+(((M+x|0)>>>18&1023)+128)|0]|0;a[n+v|0]=a[k+(((x-M|0)>>>18&1023)+128)|0]|0;a[n+r|0]=a[k+(((K+B|0)>>>18&1023)+128)|0]|0;a[n+t|0]=a[k+(((B-K|0)>>>18&1023)+128)|0]|0;a[n+q|0]=a[k+(((J+E|0)>>>18&1023)+128)|0]|0;a[n+u|0]=a[k+(((E-J|0)>>>18&1023)+128)|0]|0;a[n+o|0]=a[k+(((L+F|0)>>>18&1023)+128)|0]|0;a[n+s|0]=a[k+(((F-L|0)>>>18&1023)+128)|0]|0;L=d+1|0;if((L|0)<6){p=p+32|0;d=L}else{break}}i=j;return}function fg(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;j=i;i=i+160|0;k=c[d+332>>2]|0;d=j|0;l=f;f=c[e+84>>2]|0;e=d;m=0;while(1){n=Z(c[f>>2]<<13,b[l>>1]|0)|0|1024;o=Z(b[l+32>>1]|0,c[f+64>>2]|0)|0;p=Z(b[l+64>>1]|0,c[f+128>>2]|0)|0;q=(p+o|0)*6476|0;r=o-p|0;p=(r*2896|0)+n|0;o=p+q|0;s=p-q|0;q=Z(b[l+16>>1]|0,c[f+32>>2]|0)|0;p=Z(b[l+48>>1]|0,c[f+96>>2]|0)|0;t=(p+q|0)*6810|0;u=t+(q*4209|0)|0;q=t+(p*-17828|0)|0;c[e>>2]=u+o>>11;c[e+128>>2]=o-u>>11;c[e+32>>2]=q+s>>11;c[e+96>>2]=s-q>>11;c[e+64>>2]=(r*-11584|0)+n>>11;n=m+1|0;if((n|0)<8){l=l+2|0;f=f+4|0;e=e+4|0;m=n}else{break}}m=h+9|0;e=h+1|0;f=h+8|0;l=h+2|0;n=h+7|0;r=h+3|0;q=h+6|0;s=h+4|0;u=h+5|0;o=d;d=0;while(1){p=c[g+(d<<2)>>2]|0;t=(c[o>>2]<<13)+131072|0;v=c[o+16>>2]|0;w=t+(v*9373|0)|0;x=t+(v*-3580|0)|0;y=t+(v*-11586|0)|0;v=c[o+8>>2]|0;t=c[o+24>>2]|0;z=(t+v|0)*6810|0;A=z+(v*4209|0)|0;v=z+(t*-17828|0)|0;t=A+w|0;z=w-A|0;A=v+x|0;w=x-v|0;v=c[o+4>>2]|0;x=c[o+12>>2]|0;B=c[o+20>>2]<<13;C=c[o+28>>2]|0;D=C+x|0;E=x-C|0;C=E*2531|0;x=D*7791|0;F=C+B|0;G=x+(v*11443|0)+F|0;H=(v*1812|0)-x+F|0;F=D*4815|0;D=B-C-(E<<12)|0;C=(v-E<<13)-B|0;B=(v*10323|0)-F-D|0;E=D+((v*5260|0)-F)|0;a[p+h|0]=a[k+(((G+t|0)>>>18&1023)+128)|0]|0;a[p+m|0]=a[k+(((t-G|0)>>>18&1023)+128)|0]|0;a[p+e|0]=a[k+(((B+A|0)>>>18&1023)+128)|0]|0;a[p+f|0]=a[k+(((A-B|0)>>>18&1023)+128)|0]|0;a[p+l|0]=a[k+(((C+y|0)>>>18&1023)+128)|0]|0;a[p+n|0]=a[k+(((y-C|0)>>>18&1023)+128)|0]|0;a[p+r|0]=a[k+(((E+w|0)>>>18&1023)+128)|0]|0;a[p+q|0]=a[k+(((w-E|0)>>>18&1023)+128)|0]|0;a[p+s|0]=a[k+(((H+z|0)>>>18&1023)+128)|0]|0;a[p+u|0]=a[k+(((z-H|0)>>>18&1023)+128)|0]|0;H=d+1|0;if((H|0)<5){o=o+32|0;d=H}else{break}}i=j;return}function fh(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;j=i;i=i+128|0;k=c[d+332>>2]|0;d=j|0;l=f;f=c[e+84>>2]|0;e=d;m=0;while(1){n=Z(b[l>>1]|0,c[f>>2]|0)|0;o=Z(b[l+32>>1]|0,c[f+64>>2]|0)|0;p=o+n<<2;q=n-o<<2;o=Z(b[l+16>>1]|0,c[f+32>>2]|0)|0;n=Z(b[l+48>>1]|0,c[f+96>>2]|0)|0;r=((n+o|0)*4433|0)+1024|0;s=r+(o*6270|0)>>11;o=r+(n*-15137|0)>>11;c[e>>2]=s+p;c[e+96>>2]=p-s;c[e+32>>2]=o+q;c[e+64>>2]=q-o;o=m+1|0;if((o|0)<8){l=l+2|0;f=f+4|0;e=e+4|0;m=o}else{break}}m=h+7|0;e=h+1|0;f=h+6|0;l=h+2|0;o=h+5|0;q=h+3|0;s=h+4|0;p=d;d=0;while(1){n=c[g+(d<<2)>>2]|0;r=c[p+8>>2]|0;t=c[p+24>>2]|0;u=(t+r|0)*4433|0;v=u+(r*6270|0)|0;r=u+(t*-15137|0)|0;t=(c[p>>2]|0)+16|0;u=c[p+16>>2]|0;w=t+u<<13;x=t-u<<13;u=w+v|0;t=w-v|0;v=x+r|0;w=x-r|0;r=c[p+28>>2]|0;x=c[p+20>>2]|0;y=c[p+12>>2]|0;z=c[p+4>>2]|0;A=y+r|0;B=z+x|0;C=(B+A|0)*9633|0;D=C+(A*-16069|0)|0;A=C+(B*-3196|0)|0;B=(z+r|0)*-7373|0;C=B+(r*2446|0)+D|0;r=B+(z*12299|0)+A|0;z=(y+x|0)*-20995|0;B=z+(x*16819|0)+A|0;A=z+(y*25172|0)+D|0;a[n+h|0]=a[k+(((r+u|0)>>>18&1023)+128)|0]|0;a[n+m|0]=a[k+(((u-r|0)>>>18&1023)+128)|0]|0;a[n+e|0]=a[k+(((A+v|0)>>>18&1023)+128)|0]|0;a[n+f|0]=a[k+(((v-A|0)>>>18&1023)+128)|0]|0;a[n+l|0]=a[k+(((B+w|0)>>>18&1023)+128)|0]|0;a[n+o|0]=a[k+(((w-B|0)>>>18&1023)+128)|0]|0;a[n+q|0]=a[k+(((C+t|0)>>>18&1023)+128)|0]|0;a[n+s|0]=a[k+(((t-C|0)>>>18&1023)+128)|0]|0;C=d+1|0;if((C|0)<4){p=p+32|0;d=C}else{break}}i=j;return}function fi(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;j=i;i=i+72|0;k=c[d+332>>2]|0;d=j|0;l=f;f=c[e+84>>2]|0;e=d;m=0;while(1){n=Z(c[f>>2]<<13,b[l>>1]|0)|0|1024;o=Z((c[f+64>>2]|0)*5793|0,b[l+32>>1]|0)|0;p=o+n|0;q=Z((c[f+32>>2]|0)*10033|0,b[l+16>>1]|0)|0;c[e>>2]=q+p>>11;c[e+48>>2]=p-q>>11;c[e+24>>2]=(o*-2|0)+n>>11;n=m+1|0;if((n|0)<6){l=l+2|0;f=f+4|0;e=e+4|0;m=n}else{break}}m=h+5|0;e=h+1|0;f=h+4|0;l=h+2|0;n=h+3|0;o=d;d=0;while(1){q=c[g+(d<<2)>>2]|0;p=(c[o>>2]<<13)+131072|0;r=(c[o+16>>2]|0)*5793|0;s=p+r|0;t=p-r-r|0;r=(c[o+8>>2]|0)*10033|0;p=s+r|0;u=s-r|0;r=c[o+4>>2]|0;s=c[o+12>>2]|0;v=c[o+20>>2]|0;w=(v+r|0)*2998|0;x=w+(s+r<<13)|0;y=w+(v-s<<13)|0;w=r-s-v<<13;a[q+h|0]=a[k+(((x+p|0)>>>18&1023)+128)|0]|0;a[q+m|0]=a[k+(((p-x|0)>>>18&1023)+128)|0]|0;a[q+e|0]=a[k+(((w+t|0)>>>18&1023)+128)|0]|0;a[q+f|0]=a[k+(((t-w|0)>>>18&1023)+128)|0]|0;a[q+l|0]=a[k+(((y+u|0)>>>18&1023)+128)|0]|0;a[q+n|0]=a[k+(((u-y|0)>>>18&1023)+128)|0]|0;y=d+1|0;if((y|0)<3){o=o+24|0;d=y}else{break}}i=j;return}function fj(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;i=c[d+332>>2]|0;d=c[e+84>>2]|0;e=Z(b[f>>1]|0,c[d>>2]|0)|0;j=Z(b[f+16>>1]|0,c[d+32>>2]|0)|0;k=Z(b[f+2>>1]|0,c[d+4>>2]|0)|0;l=Z(b[f+18>>1]|0,c[d+36>>2]|0)|0;m=l+k|0;n=k-l|0;l=Z(b[f+4>>1]|0,c[d+8>>2]|0)|0;k=Z(b[f+20>>1]|0,c[d+40>>2]|0)|0;o=k+l|0;p=l-k|0;k=Z(b[f+6>>1]|0,c[d+12>>2]|0)|0;l=Z(b[f+22>>1]|0,c[d+44>>2]|0)|0;d=l+k|0;f=k-l|0;l=h+3|0;k=h+1|0;q=h+2|0;r=c[g>>2]|0;s=j+e+4|0;t=s+o<<13;u=s-o<<13;o=(d+m|0)*4433|0;s=o+(m*6270|0)|0;m=o+(d*-15137|0)|0;a[r+h|0]=a[i+(((s+t|0)>>>16&1023)+128)|0]|0;a[r+l|0]=a[i+(((t-s|0)>>>16&1023)+128)|0]|0;a[r+k|0]=a[i+(((m+u|0)>>>16&1023)+128)|0]|0;a[r+q|0]=a[i+(((u-m|0)>>>16&1023)+128)|0]|0;m=c[g+4>>2]|0;g=e-j+4|0;j=g+p<<13;e=g-p<<13;p=(f+n|0)*4433|0;g=p+(n*6270|0)|0;n=p+(f*-15137|0)|0;a[m+h|0]=a[i+(((g+j|0)>>>16&1023)+128)|0]|0;a[m+l|0]=a[i+(((j-g|0)>>>16&1023)+128)|0]|0;a[m+k|0]=a[i+(((n+e|0)>>>16&1023)+128)|0]|0;a[m+q|0]=a[i+(((e-n|0)>>>16&1023)+128)|0]|0;return}function fk(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=c[d+332>>2]|0;d=c[e+84>>2]|0;e=c[g>>2]|0;g=(Z(b[f>>1]|0,c[d>>2]|0)|0)+4|0;j=Z(b[f+2>>1]|0,c[d+4>>2]|0)|0;a[e+h|0]=a[i+(((j+g|0)>>>3&1023)+128)|0]|0;a[e+(h+1)|0]=a[i+(((g-j|0)>>>3&1023)+128)|0]|0;return}function fl(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;j=i;i=i+512|0;k=c[d+332>>2]|0;d=j|0;l=f;f=c[e+84>>2]|0;e=d;m=0;while(1){n=Z(c[f>>2]<<13,b[l>>1]|0)|0|1024;o=Z(b[l+64>>1]|0,c[f+128>>2]|0)|0;p=o*10703|0;q=o*4433|0;o=p+n|0;r=n-p|0;p=q+n|0;s=n-q|0;q=Z(b[l+32>>1]|0,c[f+64>>2]|0)|0;n=Z(b[l+96>>1]|0,c[f+192>>2]|0)|0;t=q-n|0;u=t*2260|0;v=t*11363|0;t=v+(n*20995|0)|0;w=u+(q*7373|0)|0;x=v+(q*-4926|0)|0;q=u+(n*-4176|0)|0;n=t+o|0;u=o-t|0;t=w+p|0;o=p-w|0;w=x+s|0;p=s-x|0;x=q+r|0;s=r-q|0;q=Z(b[l+16>>1]|0,c[f+32>>2]|0)|0;r=Z(b[l+48>>1]|0,c[f+96>>2]|0)|0;v=Z(b[l+80>>1]|0,c[f+160>>2]|0)|0;y=Z(b[l+112>>1]|0,c[f+224>>2]|0)|0;z=v+q|0;A=(r+q|0)*11086|0;B=z*10217|0;C=(y+q|0)*8956|0;D=(q-y|0)*7350|0;E=z*5461|0;z=(q-r|0)*3363|0;F=A+(q*-18730|0)+B+C|0;G=z+(q*-15038|0)+E+D|0;q=(v+r|0)*1136|0;H=(v-r|0)*11529|0;I=y+r|0;J=I*-5461|0;K=A+(r*589|0)+q+J|0;A=I*-10217|0;I=z+(r*16154|0)+H+A|0;r=(y+v|0)*-11086|0;z=q+(v*-9222|0)+B+r|0;B=J+(y*8728|0)+C+r|0;r=(y-v|0)*3363|0;C=A+(y*25733|0)+D+r|0;D=H+(v*-6278|0)+E+r|0;c[e>>2]=F+n>>11;c[e+480>>2]=n-F>>11;c[e+32>>2]=K+t>>11;c[e+448>>2]=t-K>>11;c[e+64>>2]=z+w>>11;c[e+416>>2]=w-z>>11;c[e+96>>2]=B+x>>11;c[e+384>>2]=x-B>>11;c[e+128>>2]=C+s>>11;c[e+352>>2]=s-C>>11;c[e+160>>2]=D+p>>11;c[e+320>>2]=p-D>>11;c[e+192>>2]=I+o>>11;c[e+288>>2]=o-I>>11;c[e+224>>2]=G+u>>11;c[e+256>>2]=u-G>>11;G=m+1|0;if((G|0)<8){l=l+2|0;f=f+4|0;e=e+4|0;m=G}else{break}}m=h+7|0;e=h+1|0;f=h+6|0;l=h+2|0;G=h+5|0;u=h+3|0;I=h+4|0;o=d;d=0;while(1){D=c[g+(d<<2)>>2]|0;p=c[o+8>>2]|0;C=c[o+24>>2]|0;s=(C+p|0)*4433|0;B=s+(p*6270|0)|0;p=s+(C*-15137|0)|0;C=(c[o>>2]|0)+16|0;s=c[o+16>>2]|0;x=C+s<<13;z=C-s<<13;s=x+B|0;C=x-B|0;B=z+p|0;x=z-p|0;p=c[o+28>>2]|0;z=c[o+20>>2]|0;w=c[o+12>>2]|0;K=c[o+4>>2]|0;t=w+p|0;F=K+z|0;n=(F+t|0)*9633|0;r=n+(t*-16069|0)|0;t=n+(F*-3196|0)|0;F=(K+p|0)*-7373|0;n=F+(p*2446|0)+r|0;p=F+(K*12299|0)+t|0;K=(w+z|0)*-20995|0;F=K+(z*16819|0)+t|0;t=K+(w*25172|0)+r|0;a[D+h|0]=a[k+(((p+s|0)>>>18&1023)+128)|0]|0;a[D+m|0]=a[k+(((s-p|0)>>>18&1023)+128)|0]|0;a[D+e|0]=a[k+(((t+B|0)>>>18&1023)+128)|0]|0;a[D+f|0]=a[k+(((B-t|0)>>>18&1023)+128)|0]|0;a[D+l|0]=a[k+(((F+x|0)>>>18&1023)+128)|0]|0;a[D+G|0]=a[k+(((x-F|0)>>>18&1023)+128)|0]|0;a[D+u|0]=a[k+(((n+C|0)>>>18&1023)+128)|0]|0;a[D+I|0]=a[k+(((C-n|0)>>>18&1023)+128)|0]|0;n=d+1|0;if((n|0)<16){o=o+32|0;d=n}else{break}}i=j;return}function fm(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;j=i;i=i+392|0;k=c[d+332>>2]|0;d=j|0;l=f;f=c[e+84>>2]|0;e=d;m=0;while(1){n=Z(c[f>>2]<<13,b[l>>1]|0)|0|1024;o=Z(b[l+64>>1]|0,c[f+128>>2]|0)|0;p=(o*10438|0)+n|0;q=(o*2578|0)+n|0;r=(o*-7223|0)+n|0;s=(o*-11586|0)+n>>11;n=Z(b[l+32>>1]|0,c[f+64>>2]|0)|0;o=Z(b[l+96>>1]|0,c[f+192>>2]|0)|0;t=(o+n|0)*9058|0;u=t+(n*2237|0)|0;v=t+(o*-14084|0)|0;t=(o*-11295|0)+(n*5027|0)|0;n=u+p|0;o=p-u|0;u=v+q|0;p=q-v|0;v=t+r|0;q=r-t|0;t=Z(b[l+16>>1]|0,c[f+32>>2]|0)|0;r=Z(b[l+48>>1]|0,c[f+96>>2]|0)|0;w=Z(b[l+80>>1]|0,c[f+160>>2]|0)|0;x=Z(b[l+112>>1]|0,c[f+224>>2]|0)|0;y=x<<13;z=w+t|0;A=(r+t|0)*10935|0;B=z*9810|0;C=A+(t*-9232|0)+B+y|0;D=z*6164|0;z=t-r|0;E=(z*3826|0)-y|0;F=D+(t*-8693|0)+E|0;t=((w+r|0)*-1297|0)-y|0;G=A+(r*-3474|0)+t|0;A=B+(w*-19447|0)+t|0;t=(w-r|0)*11512|0;B=t+(w*-13850|0)+D+y|0;y=t+(r*5529|0)+E|0;E=z-w+x<<2;c[e>>2]=C+n>>11;c[e+364>>2]=n-C>>11;c[e+28>>2]=G+u>>11;c[e+336>>2]=u-G>>11;c[e+56>>2]=A+v>>11;c[e+308>>2]=v-A>>11;c[e+84>>2]=E+s;c[e+280>>2]=s-E;c[e+112>>2]=B+q>>11;c[e+252>>2]=q-B>>11;c[e+140>>2]=y+p>>11;c[e+224>>2]=p-y>>11;c[e+168>>2]=F+o>>11;c[e+196>>2]=o-F>>11;F=m+1|0;if((F|0)<7){l=l+2|0;f=f+4|0;e=e+4|0;m=F}else{break}}m=h+6|0;e=h+1|0;f=h+5|0;l=h+2|0;F=h+4|0;o=h+3|0;y=d;d=0;while(1){p=c[g+(d<<2)>>2]|0;B=(c[y>>2]<<13)+131072|0;q=c[y+8>>2]|0;E=c[y+16>>2]|0;s=c[y+24>>2]|0;A=(E-s|0)*7223|0;v=(q-E|0)*2578|0;G=(E*-15083|0)+B+v+A|0;u=s+q|0;C=(u*10438|0)+B|0;n=A+(s*-637|0)+C|0;s=v+(q*-20239|0)+C|0;C=c[y+4>>2]|0;q=c[y+12>>2]|0;v=c[y+20>>2]|0;A=(q+C|0)*7663|0;x=(C-q|0)*1395|0;w=(v+q|0)*-11295|0;q=A+x+w|0;z=(v+C|0)*5027|0;C=A-x+z|0;x=z+(v*15326|0)+w|0;a[p+h|0]=a[k+(((C+n|0)>>>18&1023)+128)|0]|0;a[p+m|0]=a[k+(((n-C|0)>>>18&1023)+128)|0]|0;a[p+e|0]=a[k+(((q+G|0)>>>18&1023)+128)|0]|0;a[p+f|0]=a[k+(((G-q|0)>>>18&1023)+128)|0]|0;a[p+l|0]=a[k+(((x+s|0)>>>18&1023)+128)|0]|0;a[p+F|0]=a[k+(((s-x|0)>>>18&1023)+128)|0]|0;a[p+o|0]=a[k+(((((E-u|0)*11585|0)+B|0)>>>18&1023)+128)|0]|0;B=d+1|0;if((B|0)<14){y=y+28|0;d=B}else{break}}i=j;return}function fn(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;j=i;i=i+288|0;k=c[d+332>>2]|0;d=j|0;l=f;f=c[e+84>>2]|0;e=d;m=0;while(1){n=Z(c[f>>2]<<13,b[l>>1]|0)|0|1024;o=Z((c[f+128>>2]|0)*10033|0,b[l+64>>1]|0)|0;p=o+n|0;q=n-o|0;o=Z(b[l+32>>1]|0,c[f+64>>2]|0)|0;r=o*11190|0;s=o<<13;o=Z(c[f+192>>2]<<13,b[l+96>>1]|0)|0;t=s-o|0;u=t+n|0;v=n-t|0;t=o+r|0;n=t+p|0;w=p-t|0;t=r-s-o|0;o=t+q|0;s=q-t|0;t=Z(b[l+16>>1]|0,c[f+32>>2]|0)|0;q=Z(b[l+48>>1]|0,c[f+96>>2]|0)|0;r=Z(b[l+80>>1]|0,c[f+160>>2]|0)|0;p=Z(b[l+112>>1]|0,c[f+224>>2]|0)|0;x=q*10703|0;y=q*-4433|0;z=r+t|0;A=(p+z|0)*7053|0;B=A+(z*2139|0)|0;z=x+(t*2295|0)+B|0;C=(p+r|0)*-8565|0;D=(r*-12112|0)+y+C+B|0;B=(p*12998|0)-x+A+C|0;C=y+(t*-5540|0)+(p*-16244|0)+A|0;A=t-p|0;p=q-r|0;r=(A+p|0)*4433|0;q=r+(A*6270|0)|0;A=r+(p*-15137|0)|0;c[e>>2]=z+n>>11;c[e+264>>2]=n-z>>11;c[e+24>>2]=q+u>>11;c[e+240>>2]=u-q>>11;c[e+48>>2]=D+o>>11;c[e+216>>2]=o-D>>11;c[e+72>>2]=B+s>>11;c[e+192>>2]=s-B>>11;c[e+96>>2]=A+v>>11;c[e+168>>2]=v-A>>11;c[e+120>>2]=C+w>>11;c[e+144>>2]=w-C>>11;C=m+1|0;if((C|0)<6){l=l+2|0;f=f+4|0;e=e+4|0;m=C}else{break}}m=h+5|0;e=h+1|0;f=h+4|0;l=h+2|0;C=h+3|0;w=d;d=0;while(1){A=c[g+(d<<2)>>2]|0;v=(c[w>>2]<<13)+131072|0;B=(c[w+16>>2]|0)*5793|0;s=v+B|0;D=v-B-B|0;B=(c[w+8>>2]|0)*10033|0;v=s+B|0;o=s-B|0;B=c[w+4>>2]|0;s=c[w+12>>2]|0;q=c[w+20>>2]|0;u=(q+B|0)*2998|0;z=u+(s+B<<13)|0;n=u+(q-s<<13)|0;u=B-s-q<<13;a[A+h|0]=a[k+(((z+v|0)>>>18&1023)+128)|0]|0;a[A+m|0]=a[k+(((v-z|0)>>>18&1023)+128)|0]|0;a[A+e|0]=a[k+(((u+D|0)>>>18&1023)+128)|0]|0;a[A+f|0]=a[k+(((D-u|0)>>>18&1023)+128)|0]|0;a[A+l|0]=a[k+(((n+o|0)>>>18&1023)+128)|0]|0;a[A+C|0]=a[k+(((o-n|0)>>>18&1023)+128)|0]|0;n=d+1|0;if((n|0)<12){w=w+24|0;d=n}else{break}}i=j;return}function fo(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;j=i;i=i+200|0;k=c[d+332>>2]|0;d=j|0;l=f;f=c[e+84>>2]|0;e=d;m=0;while(1){n=Z(c[f>>2]<<13,b[l>>1]|0)|0|1024;o=Z(b[l+64>>1]|0,c[f+128>>2]|0)|0;p=(o*9373|0)+n|0;q=(o*-3580|0)+n|0;r=(o*-11586|0)+n>>11;n=Z(b[l+32>>1]|0,c[f+64>>2]|0)|0;o=Z(b[l+96>>1]|0,c[f+192>>2]|0)|0;s=(o+n|0)*6810|0;t=s+(n*4209|0)|0;n=s+(o*-17828|0)|0;o=t+p|0;s=p-t|0;t=n+q|0;p=q-n|0;n=Z(b[l+16>>1]|0,c[f+32>>2]|0)|0;q=Z(b[l+48>>1]|0,c[f+96>>2]|0)|0;u=Z(b[l+80>>1]|0,c[f+160>>2]|0)|0;v=Z(b[l+112>>1]|0,c[f+224>>2]|0)|0;w=v+q|0;x=q-v|0;v=x*2531|0;q=u<<13;y=w*7791|0;z=v+q|0;A=y+(n*11443|0)+z|0;B=(n*1812|0)-y+z|0;z=w*4815|0;w=q-v-(x<<12)|0;v=n-u-x<<2;x=(n*10323|0)-z-w|0;u=w+((n*5260|0)-z)|0;c[e>>2]=A+o>>11;c[e+180>>2]=o-A>>11;c[e+20>>2]=x+t>>11;c[e+160>>2]=t-x>>11;c[e+40>>2]=v+r;c[e+140>>2]=r-v;c[e+60>>2]=u+p>>11;c[e+120>>2]=p-u>>11;c[e+80>>2]=B+s>>11;c[e+100>>2]=s-B>>11;B=m+1|0;if((B|0)<5){l=l+2|0;f=f+4|0;e=e+4|0;m=B}else{break}}m=h+4|0;e=h+1|0;f=h+3|0;l=h+2|0;B=d;d=0;while(1){s=c[g+(d<<2)>>2]|0;u=(c[B>>2]<<13)+131072|0;p=c[B+8>>2]|0;v=c[B+16>>2]|0;r=(v+p|0)*6476|0;x=p-v|0;v=(x*2896|0)+u|0;p=v+r|0;t=v-r|0;r=c[B+4>>2]|0;v=c[B+12>>2]|0;A=(v+r|0)*6810|0;o=A+(r*4209|0)|0;r=A+(v*-17828|0)|0;a[s+h|0]=a[k+(((o+p|0)>>>18&1023)+128)|0]|0;a[s+m|0]=a[k+(((p-o|0)>>>18&1023)+128)|0]|0;a[s+e|0]=a[k+(((r+t|0)>>>18&1023)+128)|0]|0;a[s+f|0]=a[k+(((t-r|0)>>>18&1023)+128)|0]|0;a[s+l|0]=a[k+((((x*-11584|0)+u|0)>>>18&1023)+128)|0]|0;u=d+1|0;if((u|0)<10){B=B+20|0;d=u}else{break}}i=j;return}function fp(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;j=i;i=i+128|0;k=c[d+332>>2]|0;d=j|0;l=f;f=c[e+84>>2]|0;e=d;m=4;while(1){n=b[l+16>>1]|0;o=b[l+32>>1]|0;p=b[l+48>>1]|0;do{if((n|o)<<16>>16==0){if(p<<16>>16!=0){q=0;r=p;s=288;break}if((b[l+64>>1]|0)!=0){q=0;r=0;s=288;break}if((b[l+80>>1]|0)!=0){q=0;r=0;s=288;break}if((b[l+96>>1]|0)!=0){q=0;r=0;s=288;break}if((b[l+112>>1]|0)!=0){q=0;r=0;s=288;break}t=Z(c[f>>2]<<2,b[l>>1]|0)|0;c[e>>2]=t;c[e+16>>2]=t;c[e+32>>2]=t;c[e+48>>2]=t;c[e+64>>2]=t;c[e+80>>2]=t;c[e+96>>2]=t;c[e+112>>2]=t}else{q=o<<16>>16;r=p;s=288}}while(0);if((s|0)==288){s=0;p=Z(q,c[f+64>>2]|0)|0;o=Z(b[l+96>>1]|0,c[f+192>>2]|0)|0;t=(o+p|0)*4433|0;u=t+(p*6270|0)|0;p=t+(o*-15137|0)|0;o=b[l+64>>1]|0;t=c[f+128>>2]|0;v=Z(c[f>>2]<<13,b[l>>1]|0)|0;w=Z(t<<13,o)|0;o=v|1024;v=w+o|0;t=o-w|0;w=v+u|0;o=v-u|0;u=t+p|0;v=t-p|0;p=Z(b[l+112>>1]|0,c[f+224>>2]|0)|0;t=Z(b[l+80>>1]|0,c[f+160>>2]|0)|0;x=Z(r<<16>>16,c[f+96>>2]|0)|0;y=Z(n<<16>>16,c[f+32>>2]|0)|0;z=x+p|0;A=y+t|0;B=(A+z|0)*9633|0;C=B+(z*-16069|0)|0;z=B+(A*-3196|0)|0;A=(y+p|0)*-7373|0;B=A+(p*2446|0)+C|0;p=A+(y*12299|0)+z|0;y=(x+t|0)*-20995|0;A=y+(t*16819|0)+z|0;z=y+(x*25172|0)+C|0;c[e>>2]=p+w>>11;c[e+112>>2]=w-p>>11;c[e+16>>2]=z+u>>11;c[e+96>>2]=u-z>>11;c[e+32>>2]=A+v>>11;c[e+80>>2]=v-A>>11;c[e+48>>2]=B+o>>11;c[e+64>>2]=o-B>>11}B=m-1|0;if((B|0)>0){l=l+2|0;f=f+4|0;e=e+4|0;m=B}else{break}}m=h+3|0;e=h+1|0;f=h+2|0;l=d;d=0;while(1){r=c[g+(d<<2)>>2]|0;q=(c[l>>2]|0)+16|0;s=c[l+8>>2]|0;B=q+s<<13;o=q-s<<13;s=c[l+4>>2]|0;q=c[l+12>>2]|0;A=(q+s|0)*4433|0;v=A+(s*6270|0)|0;s=A+(q*-15137|0)|0;a[r+h|0]=a[k+(((v+B|0)>>>18&1023)+128)|0]|0;a[r+m|0]=a[k+(((B-v|0)>>>18&1023)+128)|0]|0;a[r+e|0]=a[k+(((s+o|0)>>>18&1023)+128)|0]|0;a[r+f|0]=a[k+(((o-s|0)>>>18&1023)+128)|0]|0;s=d+1|0;if((s|0)<8){l=l+16|0;d=s}else{break}}i=j;return}function fq(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;j=i;i=i+72|0;k=c[d+332>>2]|0;d=j|0;l=f;f=c[e+84>>2]|0;e=d;m=0;while(1){n=Z(c[f>>2]<<13,b[l>>1]|0)|0|1024;o=Z((c[f+128>>2]|0)*5793|0,b[l+64>>1]|0)|0;p=o+n|0;q=(o*-2|0)+n>>11;n=Z((c[f+64>>2]|0)*10033|0,b[l+32>>1]|0)|0;o=n+p|0;r=p-n|0;n=Z(b[l+16>>1]|0,c[f+32>>2]|0)|0;p=Z(b[l+48>>1]|0,c[f+96>>2]|0)|0;s=Z(b[l+80>>1]|0,c[f+160>>2]|0)|0;t=(s+n|0)*2998|0;u=t+(p+n<<13)|0;v=t+(s-p<<13)|0;t=n-p-s<<2;c[e>>2]=u+o>>11;c[e+60>>2]=o-u>>11;c[e+12>>2]=t+q;c[e+48>>2]=q-t;c[e+24>>2]=v+r>>11;c[e+36>>2]=r-v>>11;v=m+1|0;if((v|0)<3){l=l+2|0;f=f+4|0;e=e+4|0;m=v}else{break}}m=h+2|0;e=h+1|0;f=d;d=0;while(1){l=c[g+(d<<2)>>2]|0;v=(c[f>>2]<<13)+131072|0;r=c[f+8>>2]|0;t=v+(r*5793|0)|0;q=(c[f+4>>2]|0)*10033|0;a[l+h|0]=a[k+(((t+q|0)>>>18&1023)+128)|0]|0;a[l+m|0]=a[k+(((t-q|0)>>>18&1023)+128)|0]|0;a[l+e|0]=a[k+((((r*-11586|0)+v|0)>>>18&1023)+128)|0]|0;v=d+1|0;if((v|0)<6){f=f+12|0;d=v}else{break}}i=j;return}function fr(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=c[d+332>>2]|0;d=c[e+84>>2]|0;e=Z(b[f>>1]|0,c[d>>2]|0)|0;j=Z(b[f+32>>1]|0,c[d+64>>2]|0)|0;k=j+e<<13;l=e-j<<13;j=Z(b[f+16>>1]|0,c[d+32>>2]|0)|0;e=Z(b[f+48>>1]|0,c[d+96>>2]|0)|0;m=(e+j|0)*4433|0;n=m+(j*6270|0)|0;j=m+(e*-15137|0)|0;e=Z(b[f+2>>1]|0,c[d+4>>2]|0)|0;m=Z(b[f+34>>1]|0,c[d+68>>2]|0)|0;o=m+e<<13;p=e-m<<13;m=Z(b[f+18>>1]|0,c[d+36>>2]|0)|0;e=Z(b[f+50>>1]|0,c[d+100>>2]|0)|0;d=(e+m|0)*4433|0;f=d+(m*6270|0)|0;m=d+(e*-15137|0)|0;e=f+o|0;d=o-f|0;f=m+p|0;o=p-m|0;m=h+1|0;p=c[g>>2]|0;q=n+k+32768|0;a[p+h|0]=a[i+(((q+e|0)>>>16&1023)+128)|0]|0;a[p+m|0]=a[i+(((q-e|0)>>>16&1023)+128)|0]|0;e=c[g+4>>2]|0;q=j+l+32768|0;a[e+h|0]=a[i+(((q+f|0)>>>16&1023)+128)|0]|0;a[e+m|0]=a[i+(((q-f|0)>>>16&1023)+128)|0]|0;f=c[g+8>>2]|0;q=l-j+32768|0;a[f+h|0]=a[i+(((q+o|0)>>>16&1023)+128)|0]|0;a[f+m|0]=a[i+(((q-o|0)>>>16&1023)+128)|0]|0;o=c[g+12>>2]|0;g=k-n+32768|0;a[o+h|0]=a[i+(((g+d|0)>>>16&1023)+128)|0]|0;a[o+m|0]=a[i+(((g-d|0)>>>16&1023)+128)|0]|0;return}function fs(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=c[d+332>>2]|0;d=c[e+84>>2]|0;e=(Z(b[f>>1]|0,c[d>>2]|0)|0)+4|0;j=Z(b[f+16>>1]|0,c[d+32>>2]|0)|0;a[(c[g>>2]|0)+h|0]=a[i+(((j+e|0)>>>3&1023)+128)|0]|0;a[(c[g+4>>2]|0)+h|0]=a[i+(((e-j|0)>>>3&1023)+128)|0]|0;return}function ft(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,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,ab=0,ac=0,ad=0,ae=0,af=0,ag=0,ah=0,ai=0,aj=0,ak=0,al=0,am=0,an=0,ao=0,ap=0,aq=0,ar=0,as=0,au=0,aw=0,ax=0,ay=0,az=0,aA=0,aB=0,aC=0,aD=0,aE=0,aH=0,aJ=0,aK=0,aL=0;do{if(a>>>0<245){if(a>>>0<11){b=16}else{b=a+11&-8}d=b>>>3;e=c[2434]|0;f=e>>>(d>>>0);if((f&3|0)!=0){g=(f&1^1)+d|0;h=g<<1;i=9776+(h<<2)|0;j=9776+(h+2<<2)|0;h=c[j>>2]|0;k=h+8|0;l=c[k>>2]|0;do{if((i|0)==(l|0)){c[2434]=e&~(1<<g)}else{if(l>>>0<(c[2438]|0)>>>0){av();return 0}m=l+12|0;if((c[m>>2]|0)==(h|0)){c[m>>2]=i;c[j>>2]=l;break}else{av();return 0}}}while(0);l=g<<3;c[h+4>>2]=l|3;j=h+(l|4)|0;c[j>>2]=c[j>>2]|1;n=k;return n|0}if(b>>>0<=(c[2436]|0)>>>0){o=b;break}if((f|0)!=0){j=2<<d;l=f<<d&(j|-j);j=(l&-l)-1|0;l=j>>>12&16;i=j>>>(l>>>0);j=i>>>5&8;m=i>>>(j>>>0);i=m>>>2&4;p=m>>>(i>>>0);m=p>>>1&2;q=p>>>(m>>>0);p=q>>>1&1;r=(j|l|i|m|p)+(q>>>(p>>>0))|0;p=r<<1;q=9776+(p<<2)|0;m=9776+(p+2<<2)|0;p=c[m>>2]|0;i=p+8|0;l=c[i>>2]|0;do{if((q|0)==(l|0)){c[2434]=e&~(1<<r)}else{if(l>>>0<(c[2438]|0)>>>0){av();return 0}j=l+12|0;if((c[j>>2]|0)==(p|0)){c[j>>2]=q;c[m>>2]=l;break}else{av();return 0}}}while(0);l=r<<3;m=l-b|0;c[p+4>>2]=b|3;q=p;e=q+b|0;c[q+(b|4)>>2]=m|1;c[q+l>>2]=m;l=c[2436]|0;if((l|0)!=0){q=c[2439]|0;d=l>>>3;l=d<<1;f=9776+(l<<2)|0;k=c[2434]|0;h=1<<d;do{if((k&h|0)==0){c[2434]=k|h;s=f;t=9776+(l+2<<2)|0}else{d=9776+(l+2<<2)|0;g=c[d>>2]|0;if(g>>>0>=(c[2438]|0)>>>0){s=g;t=d;break}av();return 0}}while(0);c[t>>2]=q;c[s+12>>2]=q;c[q+8>>2]=s;c[q+12>>2]=f}c[2436]=m;c[2439]=e;n=i;return n|0}l=c[2435]|0;if((l|0)==0){o=b;break}h=(l&-l)-1|0;l=h>>>12&16;k=h>>>(l>>>0);h=k>>>5&8;p=k>>>(h>>>0);k=p>>>2&4;r=p>>>(k>>>0);p=r>>>1&2;d=r>>>(p>>>0);r=d>>>1&1;g=c[10040+((h|l|k|p|r)+(d>>>(r>>>0))<<2)>>2]|0;r=g;d=g;p=(c[g+4>>2]&-8)-b|0;while(1){g=c[r+16>>2]|0;if((g|0)==0){k=c[r+20>>2]|0;if((k|0)==0){break}else{u=k}}else{u=g}g=(c[u+4>>2]&-8)-b|0;k=g>>>0<p>>>0;r=u;d=k?u:d;p=k?g:p}r=d;i=c[2438]|0;if(r>>>0<i>>>0){av();return 0}e=r+b|0;m=e;if(r>>>0>=e>>>0){av();return 0}e=c[d+24>>2]|0;f=c[d+12>>2]|0;do{if((f|0)==(d|0)){q=d+20|0;g=c[q>>2]|0;if((g|0)==0){k=d+16|0;l=c[k>>2]|0;if((l|0)==0){v=0;break}else{w=l;x=k}}else{w=g;x=q}while(1){q=w+20|0;g=c[q>>2]|0;if((g|0)!=0){w=g;x=q;continue}q=w+16|0;g=c[q>>2]|0;if((g|0)==0){break}else{w=g;x=q}}if(x>>>0<i>>>0){av();return 0}else{c[x>>2]=0;v=w;break}}else{q=c[d+8>>2]|0;if(q>>>0<i>>>0){av();return 0}g=q+12|0;if((c[g>>2]|0)!=(d|0)){av();return 0}k=f+8|0;if((c[k>>2]|0)==(d|0)){c[g>>2]=f;c[k>>2]=q;v=f;break}else{av();return 0}}}while(0);L483:do{if((e|0)!=0){f=d+28|0;i=10040+(c[f>>2]<<2)|0;do{if((d|0)==(c[i>>2]|0)){c[i>>2]=v;if((v|0)!=0){break}c[2435]=c[2435]&~(1<<c[f>>2]);break L483}else{if(e>>>0<(c[2438]|0)>>>0){av();return 0}q=e+16|0;if((c[q>>2]|0)==(d|0)){c[q>>2]=v}else{c[e+20>>2]=v}if((v|0)==0){break L483}}}while(0);if(v>>>0<(c[2438]|0)>>>0){av();return 0}c[v+24>>2]=e;f=c[d+16>>2]|0;do{if((f|0)!=0){if(f>>>0<(c[2438]|0)>>>0){av();return 0}else{c[v+16>>2]=f;c[f+24>>2]=v;break}}}while(0);f=c[d+20>>2]|0;if((f|0)==0){break}if(f>>>0<(c[2438]|0)>>>0){av();return 0}else{c[v+20>>2]=f;c[f+24>>2]=v;break}}}while(0);if(p>>>0<16){e=p+b|0;c[d+4>>2]=e|3;f=r+(e+4)|0;c[f>>2]=c[f>>2]|1}else{c[d+4>>2]=b|3;c[r+(b|4)>>2]=p|1;c[r+(p+b)>>2]=p;f=c[2436]|0;if((f|0)!=0){e=c[2439]|0;i=f>>>3;f=i<<1;q=9776+(f<<2)|0;k=c[2434]|0;g=1<<i;do{if((k&g|0)==0){c[2434]=k|g;y=q;z=9776+(f+2<<2)|0}else{i=9776+(f+2<<2)|0;l=c[i>>2]|0;if(l>>>0>=(c[2438]|0)>>>0){y=l;z=i;break}av();return 0}}while(0);c[z>>2]=e;c[y+12>>2]=e;c[e+8>>2]=y;c[e+12>>2]=q}c[2436]=p;c[2439]=m}f=d+8|0;if((f|0)==0){o=b;break}else{n=f}return n|0}else{if(a>>>0>4294967231){o=-1;break}f=a+11|0;g=f&-8;k=c[2435]|0;if((k|0)==0){o=g;break}r=-g|0;i=f>>>8;do{if((i|0)==0){A=0}else{if(g>>>0>16777215){A=31;break}f=(i+1048320|0)>>>16&8;l=i<<f;h=(l+520192|0)>>>16&4;j=l<<h;l=(j+245760|0)>>>16&2;B=14-(h|f|l)+(j<<l>>>15)|0;A=g>>>((B+7|0)>>>0)&1|B<<1}}while(0);i=c[10040+(A<<2)>>2]|0;L531:do{if((i|0)==0){C=0;D=r;E=0}else{if((A|0)==31){F=0}else{F=25-(A>>>1)|0}d=0;m=r;p=i;q=g<<F;e=0;while(1){B=c[p+4>>2]&-8;l=B-g|0;if(l>>>0<m>>>0){if((B|0)==(g|0)){C=p;D=l;E=p;break L531}else{G=p;H=l}}else{G=d;H=m}l=c[p+20>>2]|0;B=c[p+16+(q>>>31<<2)>>2]|0;j=(l|0)==0|(l|0)==(B|0)?e:l;if((B|0)==0){C=G;D=H;E=j;break}else{d=G;m=H;p=B;q=q<<1;e=j}}}}while(0);if((E|0)==0&(C|0)==0){i=2<<A;r=(i|-i)&k;if((r|0)==0){o=g;break}i=(r&-r)-1|0;r=i>>>12&16;e=i>>>(r>>>0);i=e>>>5&8;q=e>>>(i>>>0);e=q>>>2&4;p=q>>>(e>>>0);q=p>>>1&2;m=p>>>(q>>>0);p=m>>>1&1;I=c[10040+((i|r|e|q|p)+(m>>>(p>>>0))<<2)>>2]|0}else{I=E}if((I|0)==0){J=D;K=C}else{p=I;m=D;q=C;while(1){e=(c[p+4>>2]&-8)-g|0;r=e>>>0<m>>>0;i=r?e:m;e=r?p:q;r=c[p+16>>2]|0;if((r|0)!=0){p=r;m=i;q=e;continue}r=c[p+20>>2]|0;if((r|0)==0){J=i;K=e;break}else{p=r;m=i;q=e}}}if((K|0)==0){o=g;break}if(J>>>0>=((c[2436]|0)-g|0)>>>0){o=g;break}q=K;m=c[2438]|0;if(q>>>0<m>>>0){av();return 0}p=q+g|0;k=p;if(q>>>0>=p>>>0){av();return 0}e=c[K+24>>2]|0;i=c[K+12>>2]|0;do{if((i|0)==(K|0)){r=K+20|0;d=c[r>>2]|0;if((d|0)==0){j=K+16|0;B=c[j>>2]|0;if((B|0)==0){L=0;break}else{M=B;N=j}}else{M=d;N=r}while(1){r=M+20|0;d=c[r>>2]|0;if((d|0)!=0){M=d;N=r;continue}r=M+16|0;d=c[r>>2]|0;if((d|0)==0){break}else{M=d;N=r}}if(N>>>0<m>>>0){av();return 0}else{c[N>>2]=0;L=M;break}}else{r=c[K+8>>2]|0;if(r>>>0<m>>>0){av();return 0}d=r+12|0;if((c[d>>2]|0)!=(K|0)){av();return 0}j=i+8|0;if((c[j>>2]|0)==(K|0)){c[d>>2]=i;c[j>>2]=r;L=i;break}else{av();return 0}}}while(0);L581:do{if((e|0)!=0){i=K+28|0;m=10040+(c[i>>2]<<2)|0;do{if((K|0)==(c[m>>2]|0)){c[m>>2]=L;if((L|0)!=0){break}c[2435]=c[2435]&~(1<<c[i>>2]);break L581}else{if(e>>>0<(c[2438]|0)>>>0){av();return 0}r=e+16|0;if((c[r>>2]|0)==(K|0)){c[r>>2]=L}else{c[e+20>>2]=L}if((L|0)==0){break L581}}}while(0);if(L>>>0<(c[2438]|0)>>>0){av();return 0}c[L+24>>2]=e;i=c[K+16>>2]|0;do{if((i|0)!=0){if(i>>>0<(c[2438]|0)>>>0){av();return 0}else{c[L+16>>2]=i;c[i+24>>2]=L;break}}}while(0);i=c[K+20>>2]|0;if((i|0)==0){break}if(i>>>0<(c[2438]|0)>>>0){av();return 0}else{c[L+20>>2]=i;c[i+24>>2]=L;break}}}while(0);do{if(J>>>0<16){e=J+g|0;c[K+4>>2]=e|3;i=q+(e+4)|0;c[i>>2]=c[i>>2]|1}else{c[K+4>>2]=g|3;c[q+(g|4)>>2]=J|1;c[q+(J+g)>>2]=J;i=J>>>3;if(J>>>0<256){e=i<<1;m=9776+(e<<2)|0;r=c[2434]|0;j=1<<i;do{if((r&j|0)==0){c[2434]=r|j;O=m;P=9776+(e+2<<2)|0}else{i=9776+(e+2<<2)|0;d=c[i>>2]|0;if(d>>>0>=(c[2438]|0)>>>0){O=d;P=i;break}av();return 0}}while(0);c[P>>2]=k;c[O+12>>2]=k;c[q+(g+8)>>2]=O;c[q+(g+12)>>2]=m;break}e=p;j=J>>>8;do{if((j|0)==0){Q=0}else{if(J>>>0>16777215){Q=31;break}r=(j+1048320|0)>>>16&8;i=j<<r;d=(i+520192|0)>>>16&4;B=i<<d;i=(B+245760|0)>>>16&2;l=14-(d|r|i)+(B<<i>>>15)|0;Q=J>>>((l+7|0)>>>0)&1|l<<1}}while(0);j=10040+(Q<<2)|0;c[q+(g+28)>>2]=Q;c[q+(g+20)>>2]=0;c[q+(g+16)>>2]=0;m=c[2435]|0;l=1<<Q;if((m&l|0)==0){c[2435]=m|l;c[j>>2]=e;c[q+(g+24)>>2]=j;c[q+(g+12)>>2]=e;c[q+(g+8)>>2]=e;break}if((Q|0)==31){R=0}else{R=25-(Q>>>1)|0}l=J<<R;m=c[j>>2]|0;while(1){if((c[m+4>>2]&-8|0)==(J|0)){break}S=m+16+(l>>>31<<2)|0;j=c[S>>2]|0;if((j|0)==0){T=449;break}else{l=l<<1;m=j}}if((T|0)==449){if(S>>>0<(c[2438]|0)>>>0){av();return 0}else{c[S>>2]=e;c[q+(g+24)>>2]=m;c[q+(g+12)>>2]=e;c[q+(g+8)>>2]=e;break}}l=m+8|0;j=c[l>>2]|0;i=c[2438]|0;if(m>>>0<i>>>0){av();return 0}if(j>>>0<i>>>0){av();return 0}else{c[j+12>>2]=e;c[l>>2]=e;c[q+(g+8)>>2]=j;c[q+(g+12)>>2]=m;c[q+(g+24)>>2]=0;break}}}while(0);q=K+8|0;if((q|0)==0){o=g;break}else{n=q}return n|0}}while(0);K=c[2436]|0;if(o>>>0<=K>>>0){S=K-o|0;J=c[2439]|0;if(S>>>0>15){R=J;c[2439]=R+o;c[2436]=S;c[R+(o+4)>>2]=S|1;c[R+K>>2]=S;c[J+4>>2]=o|3}else{c[2436]=0;c[2439]=0;c[J+4>>2]=K|3;S=J+(K+4)|0;c[S>>2]=c[S>>2]|1}n=J+8|0;return n|0}J=c[2437]|0;if(o>>>0<J>>>0){S=J-o|0;c[2437]=S;J=c[2440]|0;K=J;c[2440]=K+o;c[K+(o+4)>>2]=S|1;c[J+4>>2]=o|3;n=J+8|0;return n|0}do{if((c[2428]|0)==0){J=at(30)|0;if((J-1&J|0)==0){c[2430]=J;c[2429]=J;c[2431]=-1;c[2432]=-1;c[2433]=0;c[2545]=0;c[2428]=(aI(0)|0)&-16^1431655768;break}else{av();return 0}}}while(0);J=o+48|0;S=c[2430]|0;K=o+47|0;R=S+K|0;Q=-S|0;S=R&Q;if(S>>>0<=o>>>0){n=0;return n|0}O=c[2544]|0;do{if((O|0)!=0){P=c[2542]|0;L=P+S|0;if(L>>>0<=P>>>0|L>>>0>O>>>0){n=0}else{break}return n|0}}while(0);L673:do{if((c[2545]&4|0)==0){O=c[2440]|0;L675:do{if((O|0)==0){T=479}else{L=O;P=10184;while(1){U=P|0;M=c[U>>2]|0;if(M>>>0<=L>>>0){V=P+4|0;if((M+(c[V>>2]|0)|0)>>>0>L>>>0){break}}M=c[P+8>>2]|0;if((M|0)==0){T=479;break L675}else{P=M}}if((P|0)==0){T=479;break}L=R-(c[2437]|0)&Q;if(L>>>0>=2147483647){W=0;break}m=aF(L|0)|0;e=(m|0)==((c[U>>2]|0)+(c[V>>2]|0)|0);X=e?m:-1;Y=e?L:0;Z=m;_=L;T=488}}while(0);do{if((T|0)==479){O=aF(0)|0;if((O|0)==-1){W=0;break}g=O;L=c[2429]|0;m=L-1|0;if((m&g|0)==0){$=S}else{$=S-g+(m+g&-L)|0}L=c[2542]|0;g=L+$|0;if(!($>>>0>o>>>0&$>>>0<2147483647)){W=0;break}m=c[2544]|0;if((m|0)!=0){if(g>>>0<=L>>>0|g>>>0>m>>>0){W=0;break}}m=aF($|0)|0;g=(m|0)==(O|0);X=g?O:-1;Y=g?$:0;Z=m;_=$;T=488}}while(0);L695:do{if((T|0)==488){m=-_|0;if((X|0)!=-1){aa=Y;ab=X;T=499;break L673}do{if((Z|0)!=-1&_>>>0<2147483647&_>>>0<J>>>0){g=c[2430]|0;O=K-_+g&-g;if(O>>>0>=2147483647){ac=_;break}if((aF(O|0)|0)==-1){aF(m|0)|0;W=Y;break L695}else{ac=O+_|0;break}}else{ac=_}}while(0);if((Z|0)==-1){W=Y}else{aa=ac;ab=Z;T=499;break L673}}}while(0);c[2545]=c[2545]|4;ad=W;T=496}else{ad=0;T=496}}while(0);do{if((T|0)==496){if(S>>>0>=2147483647){break}W=aF(S|0)|0;Z=aF(0)|0;if(!((Z|0)!=-1&(W|0)!=-1&W>>>0<Z>>>0)){break}ac=Z-W|0;Z=ac>>>0>(o+40|0)>>>0;Y=Z?W:-1;if((Y|0)!=-1){aa=Z?ac:ad;ab=Y;T=499}}}while(0);do{if((T|0)==499){ad=(c[2542]|0)+aa|0;c[2542]=ad;if(ad>>>0>(c[2543]|0)>>>0){c[2543]=ad}ad=c[2440]|0;L715:do{if((ad|0)==0){S=c[2438]|0;if((S|0)==0|ab>>>0<S>>>0){c[2438]=ab}c[2546]=ab;c[2547]=aa;c[2549]=0;c[2443]=c[2428];c[2442]=-1;S=0;do{Y=S<<1;ac=9776+(Y<<2)|0;c[9776+(Y+3<<2)>>2]=ac;c[9776+(Y+2<<2)>>2]=ac;S=S+1|0;}while(S>>>0<32);S=ab+8|0;if((S&7|0)==0){ae=0}else{ae=-S&7}S=aa-40-ae|0;c[2440]=ab+ae;c[2437]=S;c[ab+(ae+4)>>2]=S|1;c[ab+(aa-36)>>2]=40;c[2441]=c[2432]}else{S=10184;while(1){af=c[S>>2]|0;ag=S+4|0;ah=c[ag>>2]|0;if((ab|0)==(af+ah|0)){T=511;break}ac=c[S+8>>2]|0;if((ac|0)==0){break}else{S=ac}}do{if((T|0)==511){if((c[S+12>>2]&8|0)!=0){break}ac=ad;if(!(ac>>>0>=af>>>0&ac>>>0<ab>>>0)){break}c[ag>>2]=ah+aa;ac=c[2440]|0;Y=(c[2437]|0)+aa|0;Z=ac;W=ac+8|0;if((W&7|0)==0){ai=0}else{ai=-W&7}W=Y-ai|0;c[2440]=Z+ai;c[2437]=W;c[Z+(ai+4)>>2]=W|1;c[Z+(Y+4)>>2]=40;c[2441]=c[2432];break L715}}while(0);if(ab>>>0<(c[2438]|0)>>>0){c[2438]=ab}S=ab+aa|0;Y=10184;while(1){aj=Y|0;if((c[aj>>2]|0)==(S|0)){T=521;break}Z=c[Y+8>>2]|0;if((Z|0)==0){break}else{Y=Z}}do{if((T|0)==521){if((c[Y+12>>2]&8|0)!=0){break}c[aj>>2]=ab;S=Y+4|0;c[S>>2]=(c[S>>2]|0)+aa;S=ab+8|0;if((S&7|0)==0){ak=0}else{ak=-S&7}S=ab+(aa+8)|0;if((S&7|0)==0){al=0}else{al=-S&7}S=ab+(al+aa)|0;Z=S;W=ak+o|0;ac=ab+W|0;_=ac;K=S-(ab+ak)-o|0;c[ab+(ak+4)>>2]=o|3;do{if((Z|0)==(c[2440]|0)){J=(c[2437]|0)+K|0;c[2437]=J;c[2440]=_;c[ab+(W+4)>>2]=J|1}else{if((Z|0)==(c[2439]|0)){J=(c[2436]|0)+K|0;c[2436]=J;c[2439]=_;c[ab+(W+4)>>2]=J|1;c[ab+(J+W)>>2]=J;break}J=aa+4|0;X=c[ab+(al+J)>>2]|0;if((X&3|0)==1){$=X&-8;V=X>>>3;L760:do{if(X>>>0<256){U=c[ab+((al|8)+aa)>>2]|0;Q=c[ab+(aa+12+al)>>2]|0;R=9776+(V<<1<<2)|0;do{if((U|0)!=(R|0)){if(U>>>0<(c[2438]|0)>>>0){av();return 0}if((c[U+12>>2]|0)==(Z|0)){break}av();return 0}}while(0);if((Q|0)==(U|0)){c[2434]=c[2434]&~(1<<V);break}do{if((Q|0)==(R|0)){am=Q+8|0}else{if(Q>>>0<(c[2438]|0)>>>0){av();return 0}m=Q+8|0;if((c[m>>2]|0)==(Z|0)){am=m;break}av();return 0}}while(0);c[U+12>>2]=Q;c[am>>2]=U}else{R=S;m=c[ab+((al|24)+aa)>>2]|0;P=c[ab+(aa+12+al)>>2]|0;do{if((P|0)==(R|0)){O=al|16;g=ab+(O+J)|0;L=c[g>>2]|0;if((L|0)==0){e=ab+(O+aa)|0;O=c[e>>2]|0;if((O|0)==0){an=0;break}else{ao=O;ap=e}}else{ao=L;ap=g}while(1){g=ao+20|0;L=c[g>>2]|0;if((L|0)!=0){ao=L;ap=g;continue}g=ao+16|0;L=c[g>>2]|0;if((L|0)==0){break}else{ao=L;ap=g}}if(ap>>>0<(c[2438]|0)>>>0){av();return 0}else{c[ap>>2]=0;an=ao;break}}else{g=c[ab+((al|8)+aa)>>2]|0;if(g>>>0<(c[2438]|0)>>>0){av();return 0}L=g+12|0;if((c[L>>2]|0)!=(R|0)){av();return 0}e=P+8|0;if((c[e>>2]|0)==(R|0)){c[L>>2]=P;c[e>>2]=g;an=P;break}else{av();return 0}}}while(0);if((m|0)==0){break}P=ab+(aa+28+al)|0;U=10040+(c[P>>2]<<2)|0;do{if((R|0)==(c[U>>2]|0)){c[U>>2]=an;if((an|0)!=0){break}c[2435]=c[2435]&~(1<<c[P>>2]);break L760}else{if(m>>>0<(c[2438]|0)>>>0){av();return 0}Q=m+16|0;if((c[Q>>2]|0)==(R|0)){c[Q>>2]=an}else{c[m+20>>2]=an}if((an|0)==0){break L760}}}while(0);if(an>>>0<(c[2438]|0)>>>0){av();return 0}c[an+24>>2]=m;R=al|16;P=c[ab+(R+aa)>>2]|0;do{if((P|0)!=0){if(P>>>0<(c[2438]|0)>>>0){av();return 0}else{c[an+16>>2]=P;c[P+24>>2]=an;break}}}while(0);P=c[ab+(R+J)>>2]|0;if((P|0)==0){break}if(P>>>0<(c[2438]|0)>>>0){av();return 0}else{c[an+20>>2]=P;c[P+24>>2]=an;break}}}while(0);aq=ab+(($|al)+aa)|0;ar=$+K|0}else{aq=Z;ar=K}J=aq+4|0;c[J>>2]=c[J>>2]&-2;c[ab+(W+4)>>2]=ar|1;c[ab+(ar+W)>>2]=ar;J=ar>>>3;if(ar>>>0<256){V=J<<1;X=9776+(V<<2)|0;P=c[2434]|0;m=1<<J;do{if((P&m|0)==0){c[2434]=P|m;as=X;au=9776+(V+2<<2)|0}else{J=9776+(V+2<<2)|0;U=c[J>>2]|0;if(U>>>0>=(c[2438]|0)>>>0){as=U;au=J;break}av();return 0}}while(0);c[au>>2]=_;c[as+12>>2]=_;c[ab+(W+8)>>2]=as;c[ab+(W+12)>>2]=X;break}V=ac;m=ar>>>8;do{if((m|0)==0){aw=0}else{if(ar>>>0>16777215){aw=31;break}P=(m+1048320|0)>>>16&8;$=m<<P;J=($+520192|0)>>>16&4;U=$<<J;$=(U+245760|0)>>>16&2;Q=14-(J|P|$)+(U<<$>>>15)|0;aw=ar>>>((Q+7|0)>>>0)&1|Q<<1}}while(0);m=10040+(aw<<2)|0;c[ab+(W+28)>>2]=aw;c[ab+(W+20)>>2]=0;c[ab+(W+16)>>2]=0;X=c[2435]|0;Q=1<<aw;if((X&Q|0)==0){c[2435]=X|Q;c[m>>2]=V;c[ab+(W+24)>>2]=m;c[ab+(W+12)>>2]=V;c[ab+(W+8)>>2]=V;break}if((aw|0)==31){ax=0}else{ax=25-(aw>>>1)|0}Q=ar<<ax;X=c[m>>2]|0;while(1){if((c[X+4>>2]&-8|0)==(ar|0)){break}ay=X+16+(Q>>>31<<2)|0;m=c[ay>>2]|0;if((m|0)==0){T=594;break}else{Q=Q<<1;X=m}}if((T|0)==594){if(ay>>>0<(c[2438]|0)>>>0){av();return 0}else{c[ay>>2]=V;c[ab+(W+24)>>2]=X;c[ab+(W+12)>>2]=V;c[ab+(W+8)>>2]=V;break}}Q=X+8|0;m=c[Q>>2]|0;$=c[2438]|0;if(X>>>0<$>>>0){av();return 0}if(m>>>0<$>>>0){av();return 0}else{c[m+12>>2]=V;c[Q>>2]=V;c[ab+(W+8)>>2]=m;c[ab+(W+12)>>2]=X;c[ab+(W+24)>>2]=0;break}}}while(0);n=ab+(ak|8)|0;return n|0}}while(0);Y=ad;W=10184;while(1){az=c[W>>2]|0;if(az>>>0<=Y>>>0){aA=c[W+4>>2]|0;aB=az+aA|0;if(aB>>>0>Y>>>0){break}}W=c[W+8>>2]|0}W=az+(aA-39)|0;if((W&7|0)==0){aC=0}else{aC=-W&7}W=az+(aA-47+aC)|0;ac=W>>>0<(ad+16|0)>>>0?Y:W;W=ac+8|0;_=ab+8|0;if((_&7|0)==0){aD=0}else{aD=-_&7}_=aa-40-aD|0;c[2440]=ab+aD;c[2437]=_;c[ab+(aD+4)>>2]=_|1;c[ab+(aa-36)>>2]=40;c[2441]=c[2432];c[ac+4>>2]=27;c[W>>2]=c[2546];c[W+4>>2]=c[2547];c[W+8>>2]=c[2548];c[W+12>>2]=c[2549];c[2546]=ab;c[2547]=aa;c[2549]=0;c[2548]=W;W=ac+28|0;c[W>>2]=7;if((ac+32|0)>>>0<aB>>>0){_=W;while(1){W=_+4|0;c[W>>2]=7;if((_+8|0)>>>0<aB>>>0){_=W}else{break}}}if((ac|0)==(Y|0)){break}_=ac-ad|0;W=Y+(_+4)|0;c[W>>2]=c[W>>2]&-2;c[ad+4>>2]=_|1;c[Y+_>>2]=_;W=_>>>3;if(_>>>0<256){K=W<<1;Z=9776+(K<<2)|0;S=c[2434]|0;m=1<<W;do{if((S&m|0)==0){c[2434]=S|m;aE=Z;aH=9776+(K+2<<2)|0}else{W=9776+(K+2<<2)|0;Q=c[W>>2]|0;if(Q>>>0>=(c[2438]|0)>>>0){aE=Q;aH=W;break}av();return 0}}while(0);c[aH>>2]=ad;c[aE+12>>2]=ad;c[ad+8>>2]=aE;c[ad+12>>2]=Z;break}K=ad;m=_>>>8;do{if((m|0)==0){aJ=0}else{if(_>>>0>16777215){aJ=31;break}S=(m+1048320|0)>>>16&8;Y=m<<S;ac=(Y+520192|0)>>>16&4;W=Y<<ac;Y=(W+245760|0)>>>16&2;Q=14-(ac|S|Y)+(W<<Y>>>15)|0;aJ=_>>>((Q+7|0)>>>0)&1|Q<<1}}while(0);m=10040+(aJ<<2)|0;c[ad+28>>2]=aJ;c[ad+20>>2]=0;c[ad+16>>2]=0;Z=c[2435]|0;Q=1<<aJ;if((Z&Q|0)==0){c[2435]=Z|Q;c[m>>2]=K;c[ad+24>>2]=m;c[ad+12>>2]=ad;c[ad+8>>2]=ad;break}if((aJ|0)==31){aK=0}else{aK=25-(aJ>>>1)|0}Q=_<<aK;Z=c[m>>2]|0;while(1){if((c[Z+4>>2]&-8|0)==(_|0)){break}aL=Z+16+(Q>>>31<<2)|0;m=c[aL>>2]|0;if((m|0)==0){T=629;break}else{Q=Q<<1;Z=m}}if((T|0)==629){if(aL>>>0<(c[2438]|0)>>>0){av();return 0}else{c[aL>>2]=K;c[ad+24>>2]=Z;c[ad+12>>2]=ad;c[ad+8>>2]=ad;break}}Q=Z+8|0;_=c[Q>>2]|0;m=c[2438]|0;if(Z>>>0<m>>>0){av();return 0}if(_>>>0<m>>>0){av();return 0}else{c[_+12>>2]=K;c[Q>>2]=K;c[ad+8>>2]=_;c[ad+12>>2]=Z;c[ad+24>>2]=0;break}}}while(0);ad=c[2437]|0;if(ad>>>0<=o>>>0){break}_=ad-o|0;c[2437]=_;ad=c[2440]|0;Q=ad;c[2440]=Q+o;c[Q+(o+4)>>2]=_|1;c[ad+4>>2]=o|3;n=ad+8|0;return n|0}}while(0);c[(aG()|0)>>2]=12;n=0;return n|0}function fu(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,M=0,N=0,O=0;if((a|0)==0){return}b=a-8|0;d=b;e=c[2438]|0;if(b>>>0<e>>>0){av()}f=c[a-4>>2]|0;g=f&3;if((g|0)==1){av()}h=f&-8;i=a+(h-8)|0;j=i;L932:do{if((f&1|0)==0){k=c[b>>2]|0;if((g|0)==0){return}l=-8-k|0;m=a+l|0;n=m;o=k+h|0;if(m>>>0<e>>>0){av()}if((n|0)==(c[2439]|0)){p=a+(h-4)|0;if((c[p>>2]&3|0)!=3){q=n;r=o;break}c[2436]=o;c[p>>2]=c[p>>2]&-2;c[a+(l+4)>>2]=o|1;c[i>>2]=o;return}p=k>>>3;if(k>>>0<256){k=c[a+(l+8)>>2]|0;s=c[a+(l+12)>>2]|0;t=9776+(p<<1<<2)|0;do{if((k|0)!=(t|0)){if(k>>>0<e>>>0){av()}if((c[k+12>>2]|0)==(n|0)){break}av()}}while(0);if((s|0)==(k|0)){c[2434]=c[2434]&~(1<<p);q=n;r=o;break}do{if((s|0)==(t|0)){u=s+8|0}else{if(s>>>0<e>>>0){av()}v=s+8|0;if((c[v>>2]|0)==(n|0)){u=v;break}av()}}while(0);c[k+12>>2]=s;c[u>>2]=k;q=n;r=o;break}t=m;p=c[a+(l+24)>>2]|0;v=c[a+(l+12)>>2]|0;do{if((v|0)==(t|0)){w=a+(l+20)|0;x=c[w>>2]|0;if((x|0)==0){y=a+(l+16)|0;z=c[y>>2]|0;if((z|0)==0){A=0;break}else{B=z;C=y}}else{B=x;C=w}while(1){w=B+20|0;x=c[w>>2]|0;if((x|0)!=0){B=x;C=w;continue}w=B+16|0;x=c[w>>2]|0;if((x|0)==0){break}else{B=x;C=w}}if(C>>>0<e>>>0){av()}else{c[C>>2]=0;A=B;break}}else{w=c[a+(l+8)>>2]|0;if(w>>>0<e>>>0){av()}x=w+12|0;if((c[x>>2]|0)!=(t|0)){av()}y=v+8|0;if((c[y>>2]|0)==(t|0)){c[x>>2]=v;c[y>>2]=w;A=v;break}else{av()}}}while(0);if((p|0)==0){q=n;r=o;break}v=a+(l+28)|0;m=10040+(c[v>>2]<<2)|0;do{if((t|0)==(c[m>>2]|0)){c[m>>2]=A;if((A|0)!=0){break}c[2435]=c[2435]&~(1<<c[v>>2]);q=n;r=o;break L932}else{if(p>>>0<(c[2438]|0)>>>0){av()}k=p+16|0;if((c[k>>2]|0)==(t|0)){c[k>>2]=A}else{c[p+20>>2]=A}if((A|0)==0){q=n;r=o;break L932}}}while(0);if(A>>>0<(c[2438]|0)>>>0){av()}c[A+24>>2]=p;t=c[a+(l+16)>>2]|0;do{if((t|0)!=0){if(t>>>0<(c[2438]|0)>>>0){av()}else{c[A+16>>2]=t;c[t+24>>2]=A;break}}}while(0);t=c[a+(l+20)>>2]|0;if((t|0)==0){q=n;r=o;break}if(t>>>0<(c[2438]|0)>>>0){av()}else{c[A+20>>2]=t;c[t+24>>2]=A;q=n;r=o;break}}else{q=d;r=h}}while(0);d=q;if(d>>>0>=i>>>0){av()}A=a+(h-4)|0;e=c[A>>2]|0;if((e&1|0)==0){av()}do{if((e&2|0)==0){if((j|0)==(c[2440]|0)){B=(c[2437]|0)+r|0;c[2437]=B;c[2440]=q;c[q+4>>2]=B|1;if((q|0)!=(c[2439]|0)){return}c[2439]=0;c[2436]=0;return}if((j|0)==(c[2439]|0)){B=(c[2436]|0)+r|0;c[2436]=B;c[2439]=q;c[q+4>>2]=B|1;c[d+B>>2]=B;return}B=(e&-8)+r|0;C=e>>>3;L1035:do{if(e>>>0<256){u=c[a+h>>2]|0;g=c[a+(h|4)>>2]|0;b=9776+(C<<1<<2)|0;do{if((u|0)!=(b|0)){if(u>>>0<(c[2438]|0)>>>0){av()}if((c[u+12>>2]|0)==(j|0)){break}av()}}while(0);if((g|0)==(u|0)){c[2434]=c[2434]&~(1<<C);break}do{if((g|0)==(b|0)){D=g+8|0}else{if(g>>>0<(c[2438]|0)>>>0){av()}f=g+8|0;if((c[f>>2]|0)==(j|0)){D=f;break}av()}}while(0);c[u+12>>2]=g;c[D>>2]=u}else{b=i;f=c[a+(h+16)>>2]|0;t=c[a+(h|4)>>2]|0;do{if((t|0)==(b|0)){p=a+(h+12)|0;v=c[p>>2]|0;if((v|0)==0){m=a+(h+8)|0;k=c[m>>2]|0;if((k|0)==0){E=0;break}else{F=k;G=m}}else{F=v;G=p}while(1){p=F+20|0;v=c[p>>2]|0;if((v|0)!=0){F=v;G=p;continue}p=F+16|0;v=c[p>>2]|0;if((v|0)==0){break}else{F=v;G=p}}if(G>>>0<(c[2438]|0)>>>0){av()}else{c[G>>2]=0;E=F;break}}else{p=c[a+h>>2]|0;if(p>>>0<(c[2438]|0)>>>0){av()}v=p+12|0;if((c[v>>2]|0)!=(b|0)){av()}m=t+8|0;if((c[m>>2]|0)==(b|0)){c[v>>2]=t;c[m>>2]=p;E=t;break}else{av()}}}while(0);if((f|0)==0){break}t=a+(h+20)|0;u=10040+(c[t>>2]<<2)|0;do{if((b|0)==(c[u>>2]|0)){c[u>>2]=E;if((E|0)!=0){break}c[2435]=c[2435]&~(1<<c[t>>2]);break L1035}else{if(f>>>0<(c[2438]|0)>>>0){av()}g=f+16|0;if((c[g>>2]|0)==(b|0)){c[g>>2]=E}else{c[f+20>>2]=E}if((E|0)==0){break L1035}}}while(0);if(E>>>0<(c[2438]|0)>>>0){av()}c[E+24>>2]=f;b=c[a+(h+8)>>2]|0;do{if((b|0)!=0){if(b>>>0<(c[2438]|0)>>>0){av()}else{c[E+16>>2]=b;c[b+24>>2]=E;break}}}while(0);b=c[a+(h+12)>>2]|0;if((b|0)==0){break}if(b>>>0<(c[2438]|0)>>>0){av()}else{c[E+20>>2]=b;c[b+24>>2]=E;break}}}while(0);c[q+4>>2]=B|1;c[d+B>>2]=B;if((q|0)!=(c[2439]|0)){H=B;break}c[2436]=B;return}else{c[A>>2]=e&-2;c[q+4>>2]=r|1;c[d+r>>2]=r;H=r}}while(0);r=H>>>3;if(H>>>0<256){d=r<<1;e=9776+(d<<2)|0;A=c[2434]|0;E=1<<r;do{if((A&E|0)==0){c[2434]=A|E;I=e;J=9776+(d+2<<2)|0}else{r=9776+(d+2<<2)|0;h=c[r>>2]|0;if(h>>>0>=(c[2438]|0)>>>0){I=h;J=r;break}av()}}while(0);c[J>>2]=q;c[I+12>>2]=q;c[q+8>>2]=I;c[q+12>>2]=e;return}e=q;I=H>>>8;do{if((I|0)==0){K=0}else{if(H>>>0>16777215){K=31;break}J=(I+1048320|0)>>>16&8;d=I<<J;E=(d+520192|0)>>>16&4;A=d<<E;d=(A+245760|0)>>>16&2;r=14-(E|J|d)+(A<<d>>>15)|0;K=H>>>((r+7|0)>>>0)&1|r<<1}}while(0);I=10040+(K<<2)|0;c[q+28>>2]=K;c[q+20>>2]=0;c[q+16>>2]=0;r=c[2435]|0;d=1<<K;do{if((r&d|0)==0){c[2435]=r|d;c[I>>2]=e;c[q+24>>2]=I;c[q+12>>2]=q;c[q+8>>2]=q}else{if((K|0)==31){L=0}else{L=25-(K>>>1)|0}A=H<<L;J=c[I>>2]|0;while(1){if((c[J+4>>2]&-8|0)==(H|0)){break}M=J+16+(A>>>31<<2)|0;E=c[M>>2]|0;if((E|0)==0){N=806;break}else{A=A<<1;J=E}}if((N|0)==806){if(M>>>0<(c[2438]|0)>>>0){av()}else{c[M>>2]=e;c[q+24>>2]=J;c[q+12>>2]=q;c[q+8>>2]=q;break}}A=J+8|0;B=c[A>>2]|0;E=c[2438]|0;if(J>>>0<E>>>0){av()}if(B>>>0<E>>>0){av()}else{c[B+12>>2]=e;c[A>>2]=e;c[q+8>>2]=B;c[q+12>>2]=J;c[q+24>>2]=0;break}}}while(0);q=(c[2442]|0)-1|0;c[2442]=q;if((q|0)==0){O=10192}else{return}while(1){q=c[O>>2]|0;if((q|0)==0){break}else{O=q+8|0}}c[2442]=-1;return}function fv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=b+e|0;if((e|0)>=20){d=d&255;e=b&3;g=d|d<<8|d<<16|d<<24;h=f&~3;if(e){e=b+4-e|0;while((b|0)<(e|0)){a[b]=d;b=b+1|0}}while((b|0)<(h|0)){c[b>>2]=g;b=b+4|0}}while((b|0)<(f|0)){a[b]=d;b=b+1|0}}function fw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=b|0;if((b&3)==(d&3)){while(b&3){if((e|0)==0)return f|0;a[b]=a[d]|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]=a[d]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function fx(b){b=b|0;var c=0;c=b;while(a[c]|0){c=c+1|0}return c-b|0}function fy(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aK[a&127](b|0,c|0,d|0,e|0,f|0)}function fz(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ad(0,a|0,b|0,c|0,d|0,e|0)}function fA(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ad(1,a|0,b|0,c|0,d|0,e|0)}function fB(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ad(2,a|0,b|0,c|0,d|0,e|0)}function fC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ad(3,a|0,b|0,c|0,d|0,e|0)}function fD(a,b){a=a|0;b=b|0;aL[a&127](b|0)}function fE(a){a=a|0;ad(0,a|0)}function fF(a){a=a|0;ad(1,a|0)}function fG(a){a=a|0;ad(2,a|0)}function fH(a){a=a|0;ad(3,a|0)}function fI(a,b,c){a=a|0;b=b|0;c=c|0;aM[a&63](b|0,c|0)}function fJ(a,b){a=a|0;b=b|0;ad(0,a|0,b|0)}function fK(a,b){a=a|0;b=b|0;ad(1,a|0,b|0)}function fL(a,b){a=a|0;b=b|0;ad(2,a|0,b|0)}function fM(a,b){a=a|0;b=b|0;ad(3,a|0,b|0)}function fN(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return aN[a&15](b|0,c|0,d|0,e|0,f|0,g|0)|0}function fO(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ad(0,a|0,b|0,c|0,d|0,e|0,f|0)|0}function fP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ad(1,a|0,b|0,c|0,d|0,e|0,f|0)|0}function fQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ad(2,a|0,b|0,c|0,d|0,e|0,f|0)|0}function fR(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ad(3,a|0,b|0,c|0,d|0,e|0,f|0)|0}function fS(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return aO[a&15](b|0,c|0,d|0)|0}function fT(a,b,c){a=a|0;b=b|0;c=c|0;return ad(0,a|0,b|0,c|0)|0}function fU(a,b,c){a=a|0;b=b|0;c=c|0;return ad(1,a|0,b|0,c|0)|0}function fV(a,b,c){a=a|0;b=b|0;c=c|0;return ad(2,a|0,b|0,c|0)|0}function fW(a,b,c){a=a|0;b=b|0;c=c|0;return ad(3,a|0,b|0,c|0)|0}function fX(a,b){a=a|0;b=b|0;return aP[a&31](b|0)|0}function fY(a){a=a|0;return ad(0,a|0)|0}function fZ(a){a=a|0;return ad(1,a|0)|0}function f_(a){a=a|0;return ad(2,a|0)|0}function f$(a){a=a|0;return ad(3,a|0)|0}function f0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;aQ[a&127](b|0,c|0,d|0)}function f1(a,b,c){a=a|0;b=b|0;c=c|0;ad(0,a|0,b|0,c|0)}function f2(a,b,c){a=a|0;b=b|0;c=c|0;ad(1,a|0,b|0,c|0)}function f3(a,b,c){a=a|0;b=b|0;c=c|0;ad(2,a|0,b|0,c|0)}function f4(a,b,c){a=a|0;b=b|0;c=c|0;ad(3,a|0,b|0,c|0)}function f5(a){a=a|0;aR[a&15]()}function f6(){ad(0)}function f7(){ad(1)}function f8(){ad(2)}function f9(){ad(3)}function ga(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return aS[a&15](b|0,c|0,d|0,e|0)|0}function gb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ad(0,a|0,b|0,c|0,d|0)|0}function gc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ad(1,a|0,b|0,c|0,d|0)|0}function gd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ad(2,a|0,b|0,c|0,d|0)|0}function ge(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ad(3,a|0,b|0,c|0,d|0)|0}function gf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;aT[a&63](b|0,c|0,d|0,e|0)}function gg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ad(0,a|0,b|0,c|0,d|0)}function gh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ad(1,a|0,b|0,c|0,d|0)}function gi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ad(2,a|0,b|0,c|0,d|0)}function gj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ad(3,a|0,b|0,c|0,d|0)}function gk(a,b,c){a=a|0;b=b|0;c=c|0;return aU[a&127](b|0,c|0)|0}function gl(a,b){a=a|0;b=b|0;return ad(0,a|0,b|0)|0}function gm(a,b){a=a|0;b=b|0;return ad(1,a|0,b|0)|0}function gn(a,b){a=a|0;b=b|0;return ad(2,a|0,b|0)|0}function go(a,b){a=a|0;b=b|0;return ad(3,a|0,b|0)|0}function gp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return aV[a&15](b|0,c|0,d|0,e|0,f|0)|0}function gq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ad(0,a|0,b|0,c|0,d|0,e|0)|0}function gr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ad(1,a|0,b|0,c|0,d|0,e|0)|0}function gs(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ad(2,a|0,b|0,c|0,d|0,e|0)|0}function gt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ad(3,a|0,b|0,c|0,d|0,e|0)|0}function gu(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;aW[a&31](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function gv(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;ad(0,a|0,b|0,c|0,d|0,e|0,f|0,g|0)}function gw(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;ad(1,a|0,b|0,c|0,d|0,e|0,f|0,g|0)}function gx(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;ad(2,a|0,b|0,c|0,d|0,e|0,f|0,g|0)}function gy(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;ad(3,a|0,b|0,c|0,d|0,e|0,f|0,g|0)}function gz(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;_(0)}function gA(a){a=a|0;_(1)}function gB(a,b){a=a|0;b=b|0;_(2)}function gC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;_(3);return 0}function gD(a,b,c){a=a|0;b=b|0;c=c|0;_(4);return 0}function gE(a){a=a|0;_(5);return 0}function gF(a,b,c){a=a|0;b=b|0;c=c|0;_(6)}function gG(){_(7)}function gH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;_(8);return 0}function gI(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;_(9)}function gJ(a,b){a=a|0;b=b|0;_(10);return 0}function gK(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;_(11);return 0}function gL(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;_(12)}
// EMSCRIPTEN_END_FUNCS
var aK=[gz,gz,fz,gz,fA,gz,fB,gz,fC,gz,d7,gz,fs,gz,dw,gz,fd,gz,d5,gz,e5,gz,ff,gz,fh,gz,e3,gz,fg,gz,e0,gz,e1,gz,eY,gz,fp,gz,fn,gz,fc,gz,dz,gz,e9,gz,d8,gz,e7,gz,dx,gz,du,gz,e6,gz,fm,gz,e_,gz,fr,gz,fk,gz,fq,gz,e2,gz,fi,gz,e$,gz,fo,gz,e4,gz,eZ,gz,e8,gz,eX,gz,b5,gz,fa,gz,d9,gz,fl,gz,fe,gz,fb,gz,d6,gz,fj,gz,dy,gz,gz,gz,gz,gz,gz,gz,gz,gz,gz,gz,gz,gz,gz,gz,gz,gz,gz,gz,gz,gz,gz,gz,gz,gz,gz,gz,gz,gz];var aL=[gA,gA,fE,gA,fF,gA,fG,gA,fH,gA,dF,gA,cX,gA,bP,gA,bZ,gA,bR,gA,cH,gA,ea,gA,eb,gA,bh,gA,cT,gA,dZ,gA,cq,gA,dt,gA,cp,gA,cr,gA,bd,gA,bg,gA,cJ,gA,cd,gA,cZ,gA,bN,gA,dv,gA,dE,gA,bX,gA,ce,gA,bj,gA,dA,gA,dg,gA,cf,gA,c6,gA,bc,gA,bQ,gA,ci,gA,cA,gA,dc,gA,c9,gA,bO,gA,b4,gA,cL,gA,d4,gA,d_,gA,bY,gA,dR,gA,c_,gA,gA,gA,gA,gA,gA,gA,gA,gA,gA,gA,gA,gA,gA,gA,gA,gA,gA,gA,gA,gA,gA,gA,gA,gA,gA,gA,gA,gA,gA,gA];var aM=[gB,gB,fJ,gB,fK,gB,fL,gB,fM,gB,c5,gB,bf,gB,cW,gB,bT,gB,cY,gB,cI,gB,dD,gB,df,gB,el,gB,b1,gB,cw,gB,dp,gB,bL,gB,cK,gB,gB,gB,gB,gB,gB,gB,gB,gB,gB,gB,gB,gB,gB,gB,gB,gB,gB,gB,gB,gB,gB,gB,gB,gB,gB,gB];var aN=[gC,gC,fO,gC,fP,gC,fQ,gC,fR,gC,cR,gC,cS,gC,gC,gC];var aO=[gD,gD,fT,gD,fU,gD,fV,gD,fW,gD,cN,gD,cO,gD,gD,gD];var aP=[gE,gE,fY,gE,fZ,gE,f_,gE,f$,gE,bi,gE,d$,gE,cm,gE,cj,gE,d1,gE,ck,gE,cc,gE,cl,gE,be,gE,gE,gE,gE,gE];var aQ=[gF,gF,f1,gF,f2,gF,f3,gF,f4,gF,eN,gF,eL,gF,ev,gF,eC,gF,eT,gF,eM,gF,eA,gF,eD,gF,ey,gF,eW,gF,er,gF,eu,gF,eK,gF,eG,gF,eQ,gF,eq,gF,eB,gF,eP,gF,eS,gF,eV,gF,ex,gF,eO,gF,es,gF,ez,gF,et,gF,eI,gF,eE,gF,eU,gF,eH,gF,eR,gF,bS,gF,eJ,gF,ep,gF,eF,gF,ew,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF,gF];var aR=[gG,gG,f6,gG,f7,gG,f8,gG,f9,gG,gG,gG,gG,gG,gG,gG];var aS=[gH,gH,gb,gH,gc,gH,gd,gH,ge,gH,cQ,gH,cP,gH,gH,gH];var aT=[gI,gI,gg,gI,gh,gI,gi,gI,gj,gI,db,gI,b6,gI,eo,gI,ct,gI,c4,gI,cD,gI,en,gI,b8,gI,da,gI,cC,gI,cE,gI,b7,gI,c2,gI,em,gI,cb,gI,c0,gI,cG,gI,c1,gI,ca,gI,c3,gI,cF,gI,bM,gI,b9,gI,c8,gI,cv,gI,gI,gI,gI,gI];var aU=[gJ,gJ,gl,gJ,gm,gJ,gn,gJ,go,gJ,dT,gJ,ef,gJ,dK,gJ,eh,gJ,dV,gJ,dG,gJ,dI,gJ,dh,gJ,dW,gJ,dr,gJ,ed,gJ,dL,gJ,ec,gJ,dH,gJ,dj,gJ,dS,gJ,cg,gJ,d3,gJ,dq,gJ,dU,gJ,d0,gJ,dl,gJ,dk,gJ,ei,gJ,ds,gJ,ee,gJ,dJ,gJ,d2,gJ,di,gJ,gJ,gJ,gJ,gJ,gJ,gJ,gJ,gJ,gJ,gJ,gJ,gJ,gJ,gJ,gJ,gJ,gJ,gJ,gJ,gJ,gJ,gJ,gJ,gJ,gJ,gJ,gJ,gJ,gJ,gJ,gJ,gJ,gJ,gJ,gJ,gJ,gJ,gJ,gJ,gJ,gJ,gJ,gJ,gJ,gJ,gJ,gJ,gJ,gJ,gJ,gJ,gJ,gJ,gJ,gJ,gJ,gJ,gJ,gJ,gJ];var aV=[gK,gK,gq,gK,gr,gK,gs,gK,gt,gK,cV,gK,cU,gK,gK,gK];var aW=[gL,gL,gv,gL,gw,gL,gx,gL,gy,gL,cy,gL,b3,gL,b2,gL,dC,gL,dB,gL,cu,gL,cs,gL,_cx,gL,cB,gL,cz,gL,gL,gL];return{_strlen:fx,_decompress_read_scanline:bw,_decompress_read_headers:bm,_decompress_get_output_width:bq,_decompress_get_scanline_length:bu,_decompress_begin:bn,_compress_init:bz,_memset:fv,_decompress_cleanup:by,_decompress_get_output_components:bt,_decompress_init:bk,_compress_end:bJ,_decompress_get_output_color_space:bs,_decompress_has_scanlines:bv,_compress_buffer_destination:bA,_compress_set_input_components:bD,_compress_set_image_height:bC,_decompress_get_image_width:bo,_compress_cleanup:bK,_compress_begin:bF,_decompress_get_output_height:br,_free:fu,_memcpy:fw,_compress_set_input_color_space:bE,_decompress_buffer_source:bl,_compress_write_scanline:bI,_malloc:ft,_compress_needs_scanlines:bH,_compress_set_image_width:bB,_compress_get_scanline_length:bG,_decompress_end:bx,_decompress_get_image_height:bp,runPostSets:bb,stackAlloc:aX,stackSave:aY,stackRestore:aZ,setThrew:a_,setTempRet0:a1,setTempRet1:a2,setTempRet2:a3,setTempRet3:a4,setTempRet4:a5,setTempRet5:a6,setTempRet6:a7,setTempRet7:a8,setTempRet8:a9,setTempRet9:ba,dynCall_viiiii:fy,dynCall_vi:fD,dynCall_vii:fI,dynCall_iiiiiii:fN,dynCall_iiii:fS,dynCall_ii:fX,dynCall_viii:f0,dynCall_v:f5,dynCall_iiiii:ga,dynCall_viiii:gf,dynCall_iii:gk,dynCall_iiiiii:gp,dynCall_viiiiiii:gu}
// EMSCRIPTEN_END_ASM
})({Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array},{abort:G,assert:A,asmPrintInt:function(a,b){v.print("int "+a+","+b)},asmPrintFloat:function(a,b){v.print("float "+a+","+b)},min:Ba,jsCall:function(){var a=Array.prototype.slice.call(arguments);return C[a[0]].apply(s,a.slice(1))},invoke_viiiii:function(a,b,d,e,g,j){try{v.dynCall_viiiii(a,
b,d,e,g,j)}catch(i){"number"!==typeof i&&"longjmp"!==i&&c(i),X.setThrew(1,0)}},invoke_vi:function(a,b){try{v.dynCall_vi(a,b)}catch(d){"number"!==typeof d&&"longjmp"!==d&&c(d),X.setThrew(1,0)}},invoke_vii:function(a,b,d){try{v.dynCall_vii(a,b,d)}catch(e){"number"!==typeof e&&"longjmp"!==e&&c(e),X.setThrew(1,0)}},invoke_iiiiiii:function(a,b,d,e,g,j,i){try{return v.dynCall_iiiiiii(a,b,d,e,g,j,i)}catch(f){"number"!==typeof f&&"longjmp"!==f&&c(f),X.setThrew(1,0)}},invoke_iiii:function(a,b,d,e){try{return v.dynCall_iiii(a,
b,d,e)}catch(g){"number"!==typeof g&&"longjmp"!==g&&c(g),X.setThrew(1,0)}},invoke_ii:function(a,b){try{return v.dynCall_ii(a,b)}catch(d){"number"!==typeof d&&"longjmp"!==d&&c(d),X.setThrew(1,0)}},invoke_viii:function(a,b,d,e){try{v.dynCall_viii(a,b,d,e)}catch(g){"number"!==typeof g&&"longjmp"!==g&&c(g),X.setThrew(1,0)}},invoke_v:function(a){try{v.dynCall_v(a)}catch(b){"number"!==typeof b&&"longjmp"!==b&&c(b),X.setThrew(1,0)}},invoke_iiiii:function(a,b,d,e,g){try{return v.dynCall_iiiii(a,b,d,e,g)}catch(j){"number"!==
typeof j&&"longjmp"!==j&&c(j),X.setThrew(1,0)}},invoke_viiii:function(a,b,d,e,g){try{v.dynCall_viiii(a,b,d,e,g)}catch(j){"number"!==typeof j&&"longjmp"!==j&&c(j),X.setThrew(1,0)}},invoke_iii:function(a,b,d){try{return v.dynCall_iii(a,b,d)}catch(e){"number"!==typeof e&&"longjmp"!==e&&c(e),X.setThrew(1,0)}},invoke_iiiiii:function(a,b,d,e,g,j){try{return v.dynCall_iiiiii(a,b,d,e,g,j)}catch(i){"number"!==typeof i&&"longjmp"!==i&&c(i),X.setThrew(1,0)}},invoke_viiiiiii:function(a,b,d,e,g,j,i,f){try{v.dynCall_viiiiiii(a,
b,d,e,g,j,i,f)}catch(q){"number"!==typeof q&&"longjmp"!==q&&c(q),X.setThrew(1,0)}},_llvm_lifetime_end:function(){},_sscanf:function(a,b,d){var e=0;return W(b,function(){return L[a+e++|0]},function(){e--},d)},_sysconf:function(a){switch(a){case 30:return 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 79: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 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 1}sb(22);return-1},__scanString:W,_abort:function(){v.abort()},__isFloat:qb,
___buildEnvironment:nb,__reallyNegative:ib,_snprintf:kb,___setErrNo:sb,_exit:function(a){eb(a)},_sprintf:function(a,b,d){return kb(a,k,b,d)},__formatString:jb,_getenv:ob,_sbrk:tb,___errno_location:function(){return rb},_llvm_lifetime_start:function(){},_time:function(a){var b=Math.floor(Date.now()/1E3);a&&(N[a>>2]=b);return b},__exit:eb,STACKTOP:z,STACK_MAX:Oa,tempDoublePtr:db,ABORT:va,NaN:NaN,Infinity:Infinity},S),hb=v._strlen=X._strlen;v._decompress_read_scanline=X._decompress_read_scanline;
v._decompress_read_headers=X._decompress_read_headers;v._decompress_get_output_width=X._decompress_get_output_width;v._decompress_get_scanline_length=X._decompress_get_scanline_length;v._decompress_begin=X._decompress_begin;v._compress_init=X._compress_init;var fb=v._memset=X._memset;v._decompress_cleanup=X._decompress_cleanup;v._decompress_get_output_components=X._decompress_get_output_components;v._decompress_init=X._decompress_init;v._compress_end=X._compress_end;
v._decompress_get_output_color_space=X._decompress_get_output_color_space;v._decompress_has_scanlines=X._decompress_has_scanlines;v._compress_buffer_destination=X._compress_buffer_destination;v._compress_set_input_components=X._compress_set_input_components;v._compress_set_image_height=X._compress_set_image_height;v._decompress_get_image_width=X._decompress_get_image_width;v._compress_cleanup=X._compress_cleanup;v._compress_begin=X._compress_begin;v._decompress_get_output_height=X._decompress_get_output_height;
var pb=v._free=X._free,gb=v._memcpy=X._memcpy;v._compress_set_input_color_space=X._compress_set_input_color_space;v._decompress_buffer_source=X._decompress_buffer_source;v._compress_write_scanline=X._compress_write_scanline;var Ha=v._malloc=X._malloc;v._compress_needs_scanlines=X._compress_needs_scanlines;v._compress_set_image_width=X._compress_set_image_width;v._compress_get_scanline_length=X._compress_get_scanline_length;v._decompress_end=X._decompress_end;v._decompress_get_image_height=X._decompress_get_image_height;
var cb=v.runPostSets=X.runPostSets;v.dynCall_viiiii=X.dynCall_viiiii;v.dynCall_vi=X.dynCall_vi;v.dynCall_vii=X.dynCall_vii;v.dynCall_iiiiiii=X.dynCall_iiiiiii;v.dynCall_iiii=X.dynCall_iiii;v.dynCall_ii=X.dynCall_ii;v.dynCall_viii=X.dynCall_viii;v.dynCall_v=X.dynCall_v;v.dynCall_iiiii=X.dynCall_iiiii;v.dynCall_viiii=X.dynCall_viiii;v.dynCall_iii=X.dynCall_iii;v.dynCall_iiiiii=X.dynCall_iiiiii;v.dynCall_viiiiiii=X.dynCall_viiiiiii;pa=function(a){return X.stackAlloc(a)};ia=function(){return X.stackSave()};
ja=function(a){X.stackRestore(a)};function ub(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}ub.prototype=Error();var vb,wb=s,bb=function xb(){!v.calledRun&&yb&&zb();v.calledRun||(bb=xb)};
v.callMain=v.F=function(a){function b(){for(var a=0;3>a;a++)e.push(0)}A(0==U,"cannot call main when async dependencies remain! (listen on __ATMAIN__)");A(0==Qa.length,"cannot call main when preRun functions remain to be called");a=a||[];ca&&wb!==s&&v.e("preload time: "+(Date.now()-wb)+" ms");Va||(Va=m,T(Ra));var d=a.length+1,e=[Q(J("/bin/this.program"),"i8",Fa)];b();for(var g=0;g<d-1;g+=1)e.push(Q(J(a[g]),"i8",Fa)),b();e.push(0);e=Q(e,"i32",Fa);vb=z;try{var j=v._main(d,e,0);v.noExitRuntime||Ab(j)}catch(i){i instanceof
ub||("SimulateInfiniteLoop"==i?v.noExitRuntime=m:(i&&("object"===typeof i&&i.stack)&&v.e("exception thrown: "+[i,i.stack]),c(i)))}finally{}};
function zb(a){function b(){Va||(Va=m,T(Ra));T(Sa);v.calledRun=m;v._main&&yb&&v.callMain(a);if(v.postRun)for("function"==typeof v.postRun&&(v.postRun=[v.postRun]);v.postRun.length;)Xa(v.postRun.shift());T(Ua)}a=a||v.arguments;wb===s&&(wb=Date.now());if(0<U)v.e("run() called, but dependencies remain, so not running");else{if(v.preRun)for("function"==typeof v.preRun&&(v.preRun=[v.preRun]);v.preRun.length;)Wa(v.preRun.shift());T(Qa);0<U||(v.setStatus?(v.setStatus("Running..."),setTimeout(function(){setTimeout(function(){v.setStatus("")},
1);va||b()},1)):b())}}v.run=v.J=zb;function Ab(a){va=m;z=vb;T(Ta);c(new ub(a))}v.exit=v.G=Ab;function G(a){a&&(v.print(a),v.e(a));va=m;c("abort() at "+Ja())}v.abort=v.abort=G;if(v.preInit)for("function"==typeof v.preInit&&(v.preInit=[v.preInit]);0<v.preInit.length;)v.preInit.pop()();var yb=u;v.noInitialRun&&(yb=u);zb();var Y="number",Z=k,Bb="number",$="number";
module.exports={allocateBuffer:function(a){return v._malloc(a)},getBufferTypedArray:function(a,b){return v.HEAP8.subarray(a,a+b)},releaseBuffer:function(a){v._free(a)},makeFunctionPointer:function(a){return na(a)},releaseFunctionPointer:function(a){C[(a-2)/2]=s},makeStringFromPointer:function(a){return K(a)}};
[["decompress_init",Y,[Y]],["decompress_buffer_source",Z,[Y,$,Y]],["decompress_begin",Z,[Y,$,$]],["decompress_get_output_width",$,[Y]],["decompress_get_output_height",$,[Y]],["decompress_get_output_components",$,[Y]],["decompress_get_output_color_space",$,[Y]],["decompress_get_image_width",$,[Y]],["decompress_get_image_height",$,[Y]],["decompress_get_scanline_length",$,[Y]],["decompress_has_scanlines",Bb,[Y]],["decompress_read_scanline",$,[Y,Y]],["decompress_read_headers",$,[Y]],["decompress_end",
Z,[Y]],["decompress_cleanup",Z,[Y]],["compress_init",Y,[]],["compress_buffer_destination",Z,[Y,$,Y]],["compress_set_image_width",Z,[Y,$]],["compress_set_image_height",Z,[Y,$]],["compress_set_input_components",Z,[Y,$]],["compress_set_input_color_space",Z,[Y,$]],["compress_begin",Z,[Y,$]],["compress_get_scanline_length",$,[Y]],["compress_needs_scanlines",Bb,[Y]],["compress_write_scanline",$,[Y,Y]],["compress_end",Z,[Y]],["compress_cleanup",Z,[Y]]].forEach(function(a){module.exports[a[0]]=v.cwrap.apply(v,
a)});Y="number";Z=k;$=Bb="number";module.exports={allocateBuffer:function(a){return v._malloc(a)},getBufferTypedArray:function(a,b){return v.HEAP8.subarray(a,a+b)},releaseBuffer:function(a){v._free(a)},makeFunctionPointer:function(a){return na(a)},releaseFunctionPointer:function(a){C[(a-2)/2]=s},makeStringFromPointer:function(a){return K(a)}};
[["decompress_init",Y,[Y]],["decompress_buffer_source",Z,[Y,$,Y]],["decompress_begin",Z,[Y,$,$]],["decompress_get_output_width",$,[Y]],["decompress_get_output_height",$,[Y]],["decompress_get_output_components",$,[Y]],["decompress_get_output_color_space",$,[Y]],["decompress_get_image_width",$,[Y]],["decompress_get_image_height",$,[Y]],["decompress_get_scanline_length",$,[Y]],["decompress_has_scanlines",Bb,[Y]],["decompress_read_scanline",$,[Y,Y]],["decompress_read_headers",$,[Y]],["decompress_end",
Z,[Y]],["decompress_cleanup",Z,[Y]],["compress_init",Y,[]],["compress_buffer_destination",Z,[Y,$,Y]],["compress_set_image_width",Z,[Y,$]],["compress_set_image_height",Z,[Y,$]],["compress_set_input_components",Z,[Y,$]],["compress_set_input_color_space",Z,[Y,$]],["compress_begin",Z,[Y,$]],["compress_get_scanline_length",$,[Y]],["compress_needs_scanlines",Bb,[Y]],["compress_write_scanline",$,[Y,Y]],["compress_end",Z,[Y]],["compress_cleanup",Z,[Y]]].forEach(function(a){module.exports[a[0]]=v.cwrap.apply(v,
a)});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment