iwmlib/3rdparty/pixi/lib/crn_decomp.js
2019-03-21 09:57:27 +01:00

186 lines
173 KiB
JavaScript

var e;e||(e=eval("(function() { try { return Module || {} } catch(e) { return {} } })()"));var aa={},k;for(k in e)e.hasOwnProperty(k)&&(aa[k]=e[k]);var ba="object"===typeof window,ca="function"===typeof importScripts,da="object"===typeof process&&"function"===typeof require&&!ba&&!ca,ea=!ba&&!da&&!ca;
if(da){e.print||(e.print=function(a){process.stdout.write(a+"\n")});e.printErr||(e.printErr=function(a){process.stderr.write(a+"\n")});var fa=require("fs"),ga=require("path");e.read=function(a,b){a=ga.normalize(a);var c=fa.readFileSync(a);c||a==ga.resolve(a)||(a=path.join(__dirname,"..","src",a),c=fa.readFileSync(a));c&&!b&&(c=c.toString());return c};e.readBinary=function(a){a=e.read(a,!0);a.buffer||(a=new Uint8Array(a));assert(a.buffer);return a};e.load=function(a){ha(read(a))};e.thisProgram||(e.thisProgram=
1<process.argv.length?process.argv[1].replace(/\\/g,"/"):"unknown-program");e.arguments=process.argv.slice(2);"undefined"!==typeof module&&(module.exports=e);process.on("uncaughtException",function(a){if(!(a instanceof ia))throw a;});e.inspect=function(){return"[Emscripten Module object]"}}else if(ea)e.print||(e.print=print),"undefined"!=typeof printErr&&(e.printErr=printErr),e.read="undefined"!=typeof read?read:function(){throw"no read() available (jsc?)";},e.readBinary=function(a){if("function"===
typeof readbuffer)return new Uint8Array(readbuffer(a));a=read(a,"binary");assert("object"===typeof a);return a},"undefined"!=typeof scriptArgs?e.arguments=scriptArgs:"undefined"!=typeof arguments&&(e.arguments=arguments),eval("if (typeof gc === 'function' && gc.toString().indexOf('[native code]') > 0) var gc = undefined");else if(ba||ca)e.read=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.send(null);return b.responseText},"undefined"!=typeof arguments&&(e.arguments=arguments),"undefined"!==
typeof console?(e.print||(e.print=function(a){console.log(a)}),e.printErr||(e.printErr=function(a){console.log(a)})):e.print||(e.print=function(){}),ca&&(e.load=importScripts),"undefined"===typeof e.setWindowTitle&&(e.setWindowTitle=function(a){document.title=a});else throw"Unknown runtime environment. Where are we?";function ha(a){eval.call(null,a)}!e.load&&e.read&&(e.load=function(a){ha(e.read(a))});e.print||(e.print=function(){});e.printErr||(e.printErr=e.print);e.arguments||(e.arguments=[]);
e.thisProgram||(e.thisProgram="./this.program");e.print=e.print;e.W=e.printErr;e.preRun=[];e.postRun=[];for(k in aa)aa.hasOwnProperty(k)&&(e[k]=aa[k]);
var n={rb:function(a){ka=a},fb:function(){return ka},ua:function(){return m},ba:function(a){m=a},Ka:function(a){switch(a){case "i1":case "i8":return 1;case "i16":return 2;case "i32":return 4;case "i64":return 8;case "float":return 4;case "double":return 8;default:return"*"===a[a.length-1]?n.J:"i"===a[0]?(a=parseInt(a.substr(1)),assert(0===a%8),a/8):0}},eb:function(a){return Math.max(n.Ka(a),n.J)},ud:16,Qd:function(a,b){"double"===b||"i64"===b?a&7&&(assert(4===(a&7)),a+=4):assert(0===(a&3));return a},
Ed:function(a,b,c){return c||"i64"!=a&&"double"!=a?a?Math.min(b||(a?n.eb(a):0),n.J):Math.min(b,8):8},L:function(a,b,c){return c&&c.length?(c.splice||(c=Array.prototype.slice.call(c)),c.splice(0,0,b),e["dynCall_"+a].apply(null,c)):e["dynCall_"+a].call(null,b)},Z:[],Xa:function(a){for(var b=0;b<n.Z.length;b++)if(!n.Z[b])return n.Z[b]=a,2*(1+b);throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.";},nb:function(a){n.Z[(a-2)/2]=null},O:function(a){n.O.ta||
(n.O.ta={});n.O.ta[a]||(n.O.ta[a]=1,e.W(a))},ma:{},Hd:function(a,b){assert(b);n.ma[b]||(n.ma[b]={});var c=n.ma[b];c[a]||(c[a]=function(){return n.L(b,a,arguments)});return c[a]},Fd:function(){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work";},aa:function(a){var b=m;m=m+a|0;m=m+15&-16;return b},Ra:function(a){var b=la;la=la+a|0;la=la+15&-16;return b},R:function(a){var b=r;r=r+a|0;r=r+15&-16;return r>=t&&!ma()?(r=b,0):
b},ja:function(a,b){return Math.ceil(a/(b?b:16))*(b?b:16)},Nd:function(a,b,c){return c?+(a>>>0)+4294967296*+(b>>>0):+(a>>>0)+4294967296*+(b|0)},Ua:8,J:4,vd:0};e.Runtime=n;n.addFunction=n.Xa;n.removeFunction=n.nb;var na=!1,oa,pa,ka;function assert(a,b){a||x("Assertion failed: "+b)}function qa(a){var b=e["_"+a];if(!b)try{b=eval("_"+a)}catch(c){}assert(b,"Cannot call unknown function "+a+" (perhaps LLVM optimizations or closure removed it?)");return b}var ra,sa;
(function(){function a(a){a=a.toString().match(d).slice(1);return{arguments:a[0],body:a[1],returnValue:a[2]}}var b={stackSave:function(){n.ua()},stackRestore:function(){n.ba()},arrayToC:function(a){var b=n.aa(a.length);ta(a,b);return b},stringToC:function(a){var b=0;null!==a&&void 0!==a&&0!==a&&(b=n.aa((a.length<<2)+1),ua(a,b));return b}},c={string:b.stringToC,array:b.arrayToC};sa=function(a,b,d,f,g){a=qa(a);var v=[],B=0;if(f)for(var G=0;G<f.length;G++){var O=c[d[G]];O?(0===B&&(B=n.ua()),v[G]=O(f[G])):
v[G]=f[G]}d=a.apply(null,v);"string"===b&&(d=va(d));if(0!==B){if(g&&g.async){EmterpreterAsync.yd.push(function(){n.ba(B)});return}n.ba(B)}return d};var d=/^function\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/,f={},g;for(g in b)b.hasOwnProperty(g)&&(f[g]=a(b[g]));ra=function(b,c,d){d=d||[];var g=qa(b);b=d.every(function(a){return"number"===a});var q="string"!==c;if(q&&b)return g;var v=d.map(function(a,b){return"$"+b});c="(function("+v.join(",")+") {";var B=d.length;if(!b){c+="var stack = "+
f.stackSave.body+";";for(var G=0;G<B;G++){var O=v[G],ja=d[G];"number"!==ja&&(ja=f[ja+"ToC"],c+="var "+ja.arguments+" = "+O+";",c+=ja.body+";",c+=O+"="+ja.returnValue+";")}}d=a(function(){return g}).returnValue;c+="var ret = "+d+"("+v.join(",")+");";q||(d=a(function(){return va}).returnValue,c+="ret = "+d+"(ret);");b||(c+=f.stackRestore.body.replace("()","(stack)")+";");return eval(c+"return ret})")}})();e.ccall=sa;e.cwrap=ra;
function wa(a,b,c){c=c||"i8";"*"===c.charAt(c.length-1)&&(c="i32");switch(c){case "i1":y[a>>0]=b;break;case "i8":y[a>>0]=b;break;case "i16":z[a>>1]=b;break;case "i32":C[a>>2]=b;break;case "i64":pa=[b>>>0,(oa=b,1<=+xa(oa)?0<oa?(ya(+za(oa/4294967296),4294967295)|0)>>>0:~~+Aa((oa-+(~~oa>>>0))/4294967296)>>>0:0)];C[a>>2]=pa[0];C[a+4>>2]=pa[1];break;case "float":Ba[a>>2]=b;break;case "double":Ca[a>>3]=b;break;default:x("invalid type for setValue: "+c)}}e.setValue=wa;
function Da(a,b){b=b||"i8";"*"===b.charAt(b.length-1)&&(b="i32");switch(b){case "i1":return y[a>>0];case "i8":return y[a>>0];case "i16":return z[a>>1];case "i32":return C[a>>2];case "i64":return C[a>>2];case "float":return Ba[a>>2];case "double":return Ca[a>>3];default:x("invalid type for setValue: "+b)}return null}e.getValue=Da;e.ALLOC_NORMAL=0;e.ALLOC_STACK=1;e.ALLOC_STATIC=2;e.ALLOC_DYNAMIC=3;e.ALLOC_NONE=4;
function D(a,b,c,d){var f,g;"number"===typeof a?(f=!0,g=a):(f=!1,g=a.length);var h="string"===typeof b?b:null;c=4==c?d:[Ea,n.aa,n.Ra,n.R][void 0===c?2:c](Math.max(g,h?1:b.length));if(f){d=c;assert(0==(c&3));for(a=c+(g&-4);d<a;d+=4)C[d>>2]=0;for(a=c+g;d<a;)y[d++>>0]=0;return c}if("i8"===h)return a.subarray||a.slice?E.set(a,c):E.set(new Uint8Array(a),c),c;d=0;for(var l,w;d<g;){var u=a[d];"function"===typeof u&&(u=n.Id(u));f=h||b[d];0===f?d++:("i64"==f&&(f="i32"),wa(c+d,u,f),w!==f&&(l=n.Ka(f),w=f),d+=
l)}return c}e.allocate=D;e.getMemory=function(a){return Fa?"undefined"!==typeof Ga&&!Ga.p||!Ha?n.R(a):Ea(a):n.Ra(a)};function va(a,b){if(0===b||!a)return"";for(var c=0,d,f=0;;){d=E[a+f>>0];c|=d;if(0==d&&!b)break;f++;if(b&&f==b)break}b||(b=f);d="";if(128>c){for(;0<b;)c=String.fromCharCode.apply(String,E.subarray(a,a+Math.min(b,1024))),d=d?d+c:c,a+=1024,b-=1024;return d}return e.UTF8ToString(a)}e.Pointer_stringify=va;e.AsciiToString=function(a){for(var b="";;){var c=y[a++>>0];if(!c)return b;b+=String.fromCharCode(c)}};
e.stringToAscii=function(a,b){return Ia(a,b,!1)};
function Ja(a,b){for(var c,d,f,g,h,l,w="";;){c=a[b++];if(!c)return w;c&128?(d=a[b++]&63,192==(c&224)?w+=String.fromCharCode((c&31)<<6|d):(f=a[b++]&63,224==(c&240)?c=(c&15)<<12|d<<6|f:(g=a[b++]&63,240==(c&248)?c=(c&7)<<18|d<<12|f<<6|g:(h=a[b++]&63,248==(c&252)?c=(c&3)<<24|d<<18|f<<12|g<<6|h:(l=a[b++]&63,c=(c&1)<<30|d<<24|f<<18|g<<12|h<<6|l))),65536>c?w+=String.fromCharCode(c):(c-=65536,w+=String.fromCharCode(55296|c>>10,56320|c&1023)))):w+=String.fromCharCode(c)}}e.UTF8ArrayToString=Ja;
e.UTF8ToString=function(a){return Ja(E,a)};
function Ka(a,b,c,d){if(!(0<d))return 0;var f=c;d=c+d-1;for(var g=0;g<a.length;++g){var h=a.charCodeAt(g);55296<=h&&57343>=h&&(h=65536+((h&1023)<<10)|a.charCodeAt(++g)&1023);if(127>=h){if(c>=d)break;b[c++]=h}else{if(2047>=h){if(c+1>=d)break;b[c++]=192|h>>6}else{if(65535>=h){if(c+2>=d)break;b[c++]=224|h>>12}else{if(2097151>=h){if(c+3>=d)break;b[c++]=240|h>>18}else{if(67108863>=h){if(c+4>=d)break;b[c++]=248|h>>24}else{if(c+5>=d)break;b[c++]=252|h>>30;b[c++]=128|h>>24&63}b[c++]=128|h>>18&63}b[c++]=128|
h>>12&63}b[c++]=128|h>>6&63}b[c++]=128|h&63}}b[c]=0;return c-f}e.stringToUTF8Array=Ka;e.stringToUTF8=function(a,b,c){return Ka(a,E,b,c)};function La(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);55296<=d&&57343>=d&&(d=65536+((d&1023)<<10)|a.charCodeAt(++c)&1023);127>=d?++b:b=2047>=d?b+2:65535>=d?b+3:2097151>=d?b+4:67108863>=d?b+5:b+6}return b}e.lengthBytesUTF8=La;e.UTF16ToString=function(a){for(var b=0,c="";;){var d=z[a+2*b>>1];if(0==d)return c;++b;c+=String.fromCharCode(d)}};
e.stringToUTF16=function(a,b,c){void 0===c&&(c=2147483647);if(2>c)return 0;c-=2;var d=b;c=c<2*a.length?c/2:a.length;for(var f=0;f<c;++f)z[b>>1]=a.charCodeAt(f),b+=2;z[b>>1]=0;return b-d};e.lengthBytesUTF16=function(a){return 2*a.length};e.UTF32ToString=function(a){for(var b=0,c="";;){var d=C[a+4*b>>2];if(0==d)return c;++b;65536<=d?(d=d-65536,c+=String.fromCharCode(55296|d>>10,56320|d&1023)):c+=String.fromCharCode(d)}};
e.stringToUTF32=function(a,b,c){void 0===c&&(c=2147483647);if(4>c)return 0;var d=b;c=d+c-4;for(var f=0;f<a.length;++f){var g=a.charCodeAt(f);if(55296<=g&&57343>=g)var h=a.charCodeAt(++f),g=65536+((g&1023)<<10)|h&1023;C[b>>2]=g;b+=4;if(b+4>c)break}C[b>>2]=0;return b-d};e.lengthBytesUTF32=function(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);55296<=d&&57343>=d&&++c;b+=4}return b};
function Ma(a){function b(c,d,f){d=d||Infinity;var g="",h=[],v;if("N"===a[l]){l++;"K"===a[l]&&l++;for(v=[];"E"!==a[l];)if("S"===a[l]){l++;var A=a.indexOf("_",l);v.push(u[a.substring(l,A)||0]||"?");l=A+1}else if("C"===a[l])v.push(v[v.length-1]),l+=2;else{var A=parseInt(a.substr(l)),U=A.toString().length;if(!A||!U){l--;break}var Ub=a.substr(l+U,A);v.push(Ub);u.push(Ub);l+=U+A}l++;v=v.join("::");d--;if(0===d)return c?[v]:v}else if(("K"===a[l]||q&&"L"===a[l])&&l++,A=parseInt(a.substr(l)))U=A.toString().length,
v=a.substr(l+U,A),l+=U+A;q=!1;"I"===a[l]?(l++,A=b(!0),U=b(!0,1,!0),g+=U[0]+" "+v+"<"+A.join(", ")+">"):g=v;a:for(;l<a.length&&0<d--;)if(v=a[l++],v in w)h.push(w[v]);else switch(v){case "P":h.push(b(!0,1,!0)[0]+"*");break;case "R":h.push(b(!0,1,!0)[0]+"&");break;case "L":l++;A=a.indexOf("E",l)-l;h.push(a.substr(l,A));l+=A+2;break;case "A":A=parseInt(a.substr(l));l+=A.toString().length;if("_"!==a[l])throw"?";l++;h.push(b(!0,1,!0)[0]+" ["+A+"]");break;case "E":break a;default:g+="?"+v;break a}f||1!==
h.length||"void"!==h[0]||(h=[]);return c?(g&&h.push(g+"?"),h):g+("("+h.join(", ")+")")}var c=!!e.___cxa_demangle;if(c)try{var d=Ea(a.length);ua(a.substr(1),d);var f=Ea(4),g=e.___cxa_demangle(d,0,0,f);if(0===Da(f,"i32")&&g)return va(g)}catch(h){}finally{d&&Na(d),f&&Na(f),g&&Na(g)}var l=3,w={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:"..."},u=[],q=!0,d=a;try{if("Object._main"==a||"_main"==a)return"main()";"number"===typeof a&&(a=va(a));if("_"!==a[0]||"_"!==a[1]||"Z"!==a[2])return a;switch(a[3]){case "n":return"operator new()";case "d":return"operator delete()"}d=b()}catch(v){d+="?"}0<=d.indexOf("?")&&!c&&n.O("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");return d}
function Oa(){return Pa().replace(/__Z[\w\d_]+/g,function(a){var b=Ma(a);return a===b?a:a+" ["+b+"]"})}function Pa(){var a=Error();if(!a.stack){try{throw Error(0);}catch(b){a=b}if(!a.stack)return"(no stack trace available)"}return a.stack.toString()}e.stackTrace=function(){return Oa()};function Qa(a){0<a%4096&&(a+=4096-a%4096);return a}var y,E,z,Ra,C,Sa,Ba,Ca,Ta=0,la=0,Fa=!1,Ua=0,m=0,Va=0,Wa=0,r=0;
function ma(){var a=Math.pow(2,31);if(r>=a)return!1;for(;t<=r;)if(t<a/2)t=Qa(2*t);else{var b=t;t=Qa((3*t+a)/4);if(t<=b)return!1}t=Math.max(t,16777216);if(t>=a)return!1;try{if(ArrayBuffer.p)buffer=ArrayBuffer.p(buffer,t);else{var c=y;buffer=new ArrayBuffer(t)}}catch(d){return!1}if(!Xa(buffer))return!1;e.buffer=buffer;e.HEAP8=y=new Int8Array(buffer);e.HEAP16=z=new Int16Array(buffer);e.HEAP32=C=new Int32Array(buffer);e.HEAPU8=E=new Uint8Array(buffer);e.HEAPU16=Ra=new Uint16Array(buffer);e.HEAPU32=Sa=
new Uint32Array(buffer);e.HEAPF32=Ba=new Float32Array(buffer);e.HEAPF64=Ca=new Float64Array(buffer);ArrayBuffer.p||y.set(c);return!0}var Ya;try{Ya=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get),Ya(new ArrayBuffer(4))}catch(Za){Ya=function(a){return a.byteLength}}for(var $a=e.TOTAL_STACK||5242880,t=e.TOTAL_MEMORY||16777216,F=65536;F<t||F<2*$a;)F=16777216>F?2*F:F+16777216;F=Math.max(F,16777216);F!==t&&(t=F);
assert("undefined"!==typeof Int32Array&&"undefined"!==typeof Float64Array&&!!(new Int32Array(1)).subarray&&!!(new Int32Array(1)).set,"JS engine does not provide full typed array support");var buffer;buffer=new ArrayBuffer(t);y=new Int8Array(buffer);z=new Int16Array(buffer);C=new Int32Array(buffer);E=new Uint8Array(buffer);Ra=new Uint16Array(buffer);Sa=new Uint32Array(buffer);Ba=new Float32Array(buffer);Ca=new Float64Array(buffer);C[0]=255;assert(255===E[0]&&0===E[3],"Typed arrays 2 must be run on a little-endian system");
e.HEAP=void 0;e.buffer=buffer;e.HEAP8=y;e.HEAP16=z;e.HEAP32=C;e.HEAPU8=E;e.HEAPU16=Ra;e.HEAPU32=Sa;e.HEAPF32=Ba;e.HEAPF64=Ca;function ab(a){for(;0<a.length;){var b=a.shift();if("function"==typeof b)b();else{var c=b.ab;"number"===typeof c?void 0===b.X?n.L("v",c):n.L("vi",c,[b.X]):c(void 0===b.X?null:b.X)}}}var bb=[],cb=[],db=[],H=[],eb=[],Ha=!1;function fb(a){bb.unshift(a)}e.addOnPreRun=fb;e.addOnInit=function(a){cb.unshift(a)};e.addOnPreMain=function(a){db.unshift(a)};e.addOnExit=function(a){H.unshift(a)};
function gb(a){eb.unshift(a)}e.addOnPostRun=gb;function hb(a,b,c){c=Array(0<c?c:La(a)+1);a=Ka(a,c,0,c.length);b&&(c.length=a);return c}e.intArrayFromString=hb;e.intArrayToString=function(a){for(var b=[],c=0;c<a.length;c++){var d=a[c];255<d&&(d&=255);b.push(String.fromCharCode(d))}return b.join("")};function ua(a,b,c){a=hb(a,c);for(c=0;c<a.length;)y[b+c>>0]=a[c],c+=1}e.writeStringToMemory=ua;function ta(a,b){for(var c=0;c<a.length;c++)y[b++>>0]=a[c]}e.writeArrayToMemory=ta;
function Ia(a,b,c){for(var d=0;d<a.length;++d)y[b++>>0]=a.charCodeAt(d);c||(y[b>>0]=0)}e.writeAsciiToMemory=Ia;Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(a,b){var c=a&65535,d=b&65535;return c*d+((a>>>16)*d+c*(b>>>16)<<16)|0});Math.Jd=Math.imul;Math.clz32||(Math.clz32=function(a){a=a>>>0;for(var b=0;32>b;b++)if(a&1<<31-b)return b;return 32});Math.Ad=Math.clz32;var xa=Math.abs,Aa=Math.ceil,za=Math.floor,ya=Math.min,I=0,ib=null,jb=null;
function kb(){I++;e.monitorRunDependencies&&e.monitorRunDependencies(I)}e.addRunDependency=kb;function lb(){I--;e.monitorRunDependencies&&e.monitorRunDependencies(I);if(0==I&&(null!==ib&&(clearInterval(ib),ib=null),jb)){var a=jb;jb=null;a()}}e.removeRunDependency=lb;e.preloadedImages={};e.preloadedAudios={};Ta=8;la=Ta+5888;cb.push();
D([124,0,0,0,98,7,0,0,124,0,0,0,111,7,0,0,164,0,0,0,124,7,0,0,16,0,0,0,0,0,0,0,164,0,0,0,157,7,0,0,24,0,0,0,0,0,0,0,164,0,0,0,227,7,0,0,24,0,0,0,0,0,0,0,164,0,0,0,191,7,0,0,56,0,0,0,0,0,0,0,164,0,0,0,5,8,0,0,40,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,40,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,88,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,4,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,114,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,124,1,0,0,236,1,0,0,236,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,239,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,231,16,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,115,40,37,117,41,58,32,65,115,115,101,114,116,105,111,110,32,102,97,105,108,117,114,101,58,32,34,37,115,34,10,0,109,95,115,105,122,101,32,60,61,32,109,95,99,97,112,97,99,105,116,121,0,46,47,99,114,110,95,100,101,99,111,109,112,46,104,0,109,105,
110,95,110,101,119,95,99,97,112,97,99,105,116,121,32,60,32,40,48,120,55,70,70,70,48,48,48,48,85,32,47,32,101,108,101,109,101,110,116,95,115,105,122,101,41,0,110,101,119,95,99,97,112,97,99,105,116,121,32,38,38,32,40,110,101,119,95,99,97,112,97,99,105,116,121,32,62,32,109,95,99,97,112,97,99,105,116,121,41,0,110,117,109,95,99,111,100,101,115,91,99,93,0,115,111,114,116,101,100,95,112,111,115,32,60,32,116,111,116,97,108,95,117,115,101,100,95,115,121,109,115,0,112,67,111,100,101,115,105,122,101,115,91,
115,121,109,95,105,110,100,101,120,93,32,61,61,32,99,111,100,101,115,105,122,101,0,116,32,60,32,40,49,85,32,60,60,32,116,97,98,108,101,95,98,105,116,115,41,0,109,95,108,111,111,107,117,112,91,116,93,32,61,61,32,99,85,73,78,84,51,50,95,77,65,88,0,99,114,110,100,95,109,97,108,108,111,99,58,32,115,105,122,101,32,116,111,111,32,98,105,103,0,99,114,110,100,95,109,97,108,108,111,99,58,32,111,117,116,32,111,102,32,109,101,109,111,114,121,0,40,40,117,105,110,116,51,50,41,112,95,110,101,119,32,38,32,40,67,
82,78,68,95,77,73,78,95,65,76,76,79,67,95,65,76,73,71,78,77,69,78,84,32,45,32,49,41,41,32,61,61,32,48,0,99,114,110,100,95,114,101,97,108,108,111,99,58,32,98,97,100,32,112,116,114,0,99,114,110,100,95,102,114,101,101,58,32,98,97,100,32,112,116,114,0,102,97,108,115,101,0,40,116,111,116,97,108,95,115,121,109,115,32,62,61,32,49,41,32,38,38,32,40,116,111,116,97,108,95,115,121,109,115,32,60,61,32,112,114,101,102,105,120,95,99,111,100,105,110,103,58,58,99,77,97,120,83,117,112,112,111,114,116,101,100,83,121,
109,115,41,0,17,18,19,20,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,16,48,0,110,117,109,95,98,105,116,115,32,60,61,32,51,50,85,0,109,95,98,105,116,95,99,111,117,110,116,32,60,61,32,99,66,105,116,66,117,102,83,105,122,101,0,116,32,33,61,32,99,85,73,78,84,51,50,95,77,65,88,0,109,111,100,101,108,46,109,95,99,111,100,101,95,115,105,122,101,115,91,115,121,109,93,32,61,61,32,108,101,110,0,0,2,3,1,0,2,3,4,5,6,7,1,40,108,101,110,32,62,61,32,49,41,32,38,38,32,40,108,101,110,32,60,61,32,99,77,97,120,69,120,112,
101,99,116,101,100,67,111,100,101,83,105,122,101,41,0,105,32,60,32,109,95,115,105,122,101,0,110,101,120,116,95,108,101,118,101,108,95,111,102,115,32,62,32,99,117,114,95,108,101,118,101,108,95,111,102,115,0,1,2,2,3,3,3,3,4,0,0,0,0,0,0,1,1,0,1,0,1,0,0,1,2,1,2,0,0,0,1,0,2,1,0,2,0,0,1,2,3,110,117,109,32,38,38,32,40,110,117,109,32,61,61,32,126,110,117,109,95,99,104,101,99,107,41,0,83,116,57,101,120,99,101,112,116,105,111,110,0,83,116,57,116,121,112,101,95,105,110,102,111,0,78,49,48,95,95,99,120,120,97,
98,105,118,49,49,54,95,95,115,104,105,109,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,57,95,95,112,111,105,110,116,101,114,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,112,98,97,115,101,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,48,95,95,115,
105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,112,116,104,114,101,97,100,95,111,110,99,101,32,102,97,105,108,117,114,101,32,105,110,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,95,102,97,115,116,40,41,0,116,101,114,109,105,110,97,116,101,95,104,97,110,100,108,101,114,32,117,110,101,120,112,101,99,116,101,100,108,121,32,114,101,116,117,114,110,101,100,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,112,116,104,114,101,97,100,32,107,101,121,32,102,111,114,
32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,99,97,110,110,111,116,32,122,101,114,111,32,111,117,116,32,116,104,114,101,97,100,32,118,97,108,117,101,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,58,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,
101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,102,111,114,101,105,103,110,32,101,120,99,101,112,116,105,111,110,0,116,101,114,109,105,110,97,116,105,110,103,0,117,110,99,97,117,103,104,116,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,
96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,
99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,
116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,
116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,
100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,
111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,
99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,
101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,
117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,
32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,
112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,
0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,
32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,
105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,
0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,
0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,46,0],"i8",4,n.Ua);var mb=n.ja(D(12,"i8",2),8);assert(0==mb%8);e._i64Subtract=nb;
function ob(a){e.___errno_location&&(C[e.___errno_location()>>2]=a);return a}
var J={I:1,F:2,ed:3,bc:4,H:5,Aa:6,vb:7,zc:8,ea:9,Jb:10,va:11,qd:11,Ta:12,da:13,Vb:14,Lc:15,fa:16,wa:17,rd:18,ha:19,ya:20,P:21,q:22,uc:23,Sa:24,Q:25,nd:26,Wb:27,Hc:28,ia:29,bd:30,nc:31,Vc:32,Sb:33,Zc:34,Dc:42,Zb:43,Kb:44,ec:45,fc:46,gc:47,mc:48,od:49,xc:50,dc:51,Pb:35,Ac:37,Bb:52,Eb:53,sd:54,vc:55,Fb:56,Gb:57,Qb:35,Hb:59,Jc:60,yc:61,kd:62,Ic:63,Ec:64,Fc:65,ad:66,Bc:67,yb:68,gd:69,Lb:70,Wc:71,pc:72,Tb:73,Db:74,Qc:76,Cb:77,$c:78,hc:79,ic:80,lc:81,kc:82,jc:83,Kc:38,za:39,qc:36,ga:40,Rc:95,Uc:96,Ob:104,
wc:105,zb:97,Yc:91,Oc:88,Gc:92,cd:108,Nb:111,wb:98,Mb:103,tc:101,rc:100,ld:110,Xb:112,Yb:113,ac:115,Ab:114,Rb:89,oc:90,Xc:93,dd:94,xb:99,sc:102,cc:106,Mc:107,md:109,pd:87,Ub:122,hd:116,Pc:95,Cc:123,$b:84,Sc:75,Ib:125,Nc:131,Tc:130,jd:86};function pb(a,b){H.push(function(){n.L("vi",a,[b])});pb.level=H.length}e._memset=qb;e._bitshift64Lshr=rb;e._bitshift64Shl=sb;function tb(){return!!tb.p}var ub=[],vb={};function wb(a,b){wb.p||(wb.p={});a in wb.p||(n.L("v",b),wb.p[a]=1)}
var xb={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",
24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",
44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",
65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",
82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",
100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",
122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};function yb(a,b){for(var c=0,d=a.length-1;0<=d;d--){var f=a[d];"."===f?a.splice(d,1):".."===f?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function zb(a){var b="/"===a.charAt(0),c="/"===a.substr(-1);(a=yb(a.split("/").filter(function(a){return!!a}),!b).join("/"))||b||(a=".");a&&c&&(a+="/");return(b?"/":"")+a}
function Ab(a){var b=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(a).slice(1);a=b[0];b=b[1];if(!a&&!b)return".";b&&(b=b.substr(0,b.length-1));return a+b}function Bb(a){if("/"===a)return"/";var b=a.lastIndexOf("/");return-1===b?a:a.substr(b+1)}function Cb(){var a=Array.prototype.slice.call(arguments,0);return zb(a.join("/"))}function K(a,b){return zb(a+"/"+b)}
function Db(){for(var a="",b=!1,c=arguments.length-1;-1<=c&&!b;c--){b=0<=c?arguments[c]:"/";if("string"!==typeof b)throw new TypeError("Arguments to path.resolve must be strings");if(!b)return"";a=b+"/"+a;b="/"===b.charAt(0)}a=yb(a.split("/").filter(function(a){return!!a}),!b).join("/");return(b?"/":"")+a||"."}var Eb=[];function Fb(a,b){Eb[a]={input:[],output:[],N:b};Gb(a,Hb)}
var Hb={open:function(a){var b=Eb[a.g.rdev];if(!b)throw new L(J.ha);a.tty=b;a.seekable=!1},close:function(a){a.tty.N.flush(a.tty)},flush:function(a){a.tty.N.flush(a.tty)},read:function(a,b,c,d){if(!a.tty||!a.tty.N.La)throw new L(J.Aa);for(var f=0,g=0;g<d;g++){var h;try{h=a.tty.N.La(a.tty)}catch(l){throw new L(J.H);}if(void 0===h&&0===f)throw new L(J.va);if(null===h||void 0===h)break;f++;b[c+g]=h}f&&(a.g.timestamp=Date.now());return f},write:function(a,b,c,d){if(!a.tty||!a.tty.N.qa)throw new L(J.Aa);
for(var f=0;f<d;f++)try{a.tty.N.qa(a.tty,b[c+f])}catch(g){throw new L(J.H);}d&&(a.g.timestamp=Date.now());return f}},Ib={La:function(a){if(!a.input.length){var b=null;if(da){var c=new Buffer(256),d=0,f=process.stdin.fd,g=!1;try{f=fs.openSync("/dev/stdin","r"),g=!0}catch(h){}d=fs.readSync(f,c,0,256,null);g&&fs.closeSync(f);0<d?b=c.slice(0,d).toString("utf-8"):b=null}else"undefined"!=typeof window&&"function"==typeof window.prompt?(b=window.prompt("Input: "),null!==b&&(b+="\n")):"function"==typeof readline&&
(b=readline(),null!==b&&(b+="\n"));if(!b)return null;a.input=hb(b,!0)}return a.input.shift()},qa:function(a,b){null===b||10===b?(e.print(Ja(a.output,0)),a.output=[]):0!=b&&a.output.push(b)},flush:function(a){a.output&&0<a.output.length&&(e.print(Ja(a.output,0)),a.output=[])}},Jb={qa:function(a,b){null===b||10===b?(e.printErr(Ja(a.output,0)),a.output=[]):0!=b&&a.output.push(b)},flush:function(a){a.output&&0<a.output.length&&(e.printErr(Ja(a.output,0)),a.output=[])}},M={C:null,A:function(){return M.createNode(null,
"/",16895,0)},createNode:function(a,b,c,d){if(24576===(c&61440)||4096===(c&61440))throw new L(J.I);M.C||(M.C={dir:{g:{D:M.k.D,u:M.k.u,lookup:M.k.lookup,T:M.k.T,rename:M.k.rename,unlink:M.k.unlink,rmdir:M.k.rmdir,readdir:M.k.readdir,symlink:M.k.symlink},stream:{G:M.n.G}},file:{g:{D:M.k.D,u:M.k.u},stream:{G:M.n.G,read:M.n.read,write:M.n.write,Ba:M.n.Ba,Na:M.n.Na,Pa:M.n.Pa}},link:{g:{D:M.k.D,u:M.k.u,readlink:M.k.readlink},stream:{}},Ea:{g:{D:M.k.D,u:M.k.u},stream:Kb}});c=Lb(a,b,c,d);N(c.mode)?(c.k=M.C.dir.g,
c.n=M.C.dir.stream,c.e={}):32768===(c.mode&61440)?(c.k=M.C.file.g,c.n=M.C.file.stream,c.o=0,c.e=null):40960===(c.mode&61440)?(c.k=M.C.link.g,c.n=M.C.link.stream):8192===(c.mode&61440)&&(c.k=M.C.Ea.g,c.n=M.C.Ea.stream);c.timestamp=Date.now();a&&(a.e[b]=c);return c},cb:function(a){if(a.e&&a.e.subarray){for(var b=[],c=0;c<a.o;++c)b.push(a.e[c]);return b}return a.e},Gd:function(a){return a.e?a.e.subarray?a.e.subarray(0,a.o):new Uint8Array(a.e):new Uint8Array},Ga:function(a,b){a.e&&a.e.subarray&&b>a.e.length&&
(a.e=M.cb(a),a.o=a.e.length);if(!a.e||a.e.subarray){var c=a.e?a.e.buffer.byteLength:0;c>=b||(b=Math.max(b,c*(1048576>c?2:1.125)|0),0!=c&&(b=Math.max(b,256)),c=a.e,a.e=new Uint8Array(b),0<a.o&&a.e.set(c.subarray(0,a.o),0))}else for(!a.e&&0<b&&(a.e=[]);a.e.length<b;)a.e.push(0)},ob:function(a,b){if(a.o!=b)if(0==b)a.e=null,a.o=0;else{if(!a.e||a.e.subarray){var c=a.e;a.e=new Uint8Array(new ArrayBuffer(b));c&&a.e.set(c.subarray(0,Math.min(b,a.o)))}else if(a.e||(a.e=[]),a.e.length>b)a.e.length=b;else for(;a.e.length<
b;)a.e.push(0);a.o=b}},k:{D:function(a){var b={};b.dev=8192===(a.mode&61440)?a.id:1;b.ino=a.id;b.mode=a.mode;b.nlink=1;b.uid=0;b.gid=0;b.rdev=a.rdev;N(a.mode)?b.size=4096:32768===(a.mode&61440)?b.size=a.o:40960===(a.mode&61440)?b.size=a.link.length:b.size=0;b.atime=new Date(a.timestamp);b.mtime=new Date(a.timestamp);b.ctime=new Date(a.timestamp);b.K=4096;b.blocks=Math.ceil(b.size/b.K);return b},u:function(a,b){void 0!==b.mode&&(a.mode=b.mode);void 0!==b.timestamp&&(a.timestamp=b.timestamp);void 0!==
b.size&&M.ob(a,b.size)},lookup:function(){throw Mb[J.F];},T:function(a,b,c,d){return M.createNode(a,b,c,d)},rename:function(a,b,c){if(N(a.mode)){var d;try{d=Nb(b,c)}catch(f){}if(d)for(var g in d.e)throw new L(J.za);}delete a.parent.e[a.name];a.name=c;b.e[c]=a;a.parent=b},unlink:function(a,b){delete a.e[b]},rmdir:function(a,b){var c=Nb(a,b),d;for(d in c.e)throw new L(J.za);delete a.e[b]},readdir:function(a){var b=[".",".."],c;for(c in a.e)a.e.hasOwnProperty(c)&&b.push(c);return b},symlink:function(a,
b,c){a=M.createNode(a,b,41471,0);a.link=c;return a},readlink:function(a){if(40960!==(a.mode&61440))throw new L(J.q);return a.link}},n:{read:function(a,b,c,d,f){var g=a.g.e;if(f>=a.g.o)return 0;a=Math.min(a.g.o-f,d);assert(0<=a);if(8<a&&g.subarray)b.set(g.subarray(f,f+a),c);else for(d=0;d<a;d++)b[c+d]=g[f+d];return a},write:function(a,b,c,d,f,g){if(!d)return 0;a=a.g;a.timestamp=Date.now();if(b.subarray&&(!a.e||a.e.subarray)){if(g)return a.e=b.subarray(c,c+d),a.o=d;if(0===a.o&&0===f)return a.e=new Uint8Array(b.subarray(c,
c+d)),a.o=d;if(f+d<=a.o)return a.e.set(b.subarray(c,c+d),f),d}M.Ga(a,f+d);if(a.e.subarray&&b.subarray)a.e.set(b.subarray(c,c+d),f);else for(g=0;g<d;g++)a.e[f+g]=b[c+g];a.o=Math.max(a.o,f+d);return d},G:function(a,b,c){1===c?b+=a.position:2===c&&32768===(a.g.mode&61440)&&(b+=a.g.o);if(0>b)throw new L(J.q);return b},Ba:function(a,b,c){M.Ga(a.g,b+c);a.g.o=Math.max(a.g.o,b+c)},Na:function(a,b,c,d,f,g,h){if(32768!==(a.g.mode&61440))throw new L(J.ha);c=a.g.e;if(h&2||c.buffer!==b&&c.buffer!==b.buffer){if(0<
f||f+d<a.g.o)c.subarray?c=c.subarray(f,f+d):c=Array.prototype.slice.call(c,f,f+d);a=!0;d=Ea(d);if(!d)throw new L(J.Ta);b.set(c,d)}else a=!1,d=c.byteOffset;return{Rd:d,xd:a}},Pa:function(a,b,c,d,f){if(32768!==(a.g.mode&61440))throw new L(J.ha);if(f&2)return 0;M.n.write(a,b,0,d,c,!1);return 0}}},P={$:!1,sb:function(){P.$=!!process.platform.match(/^win/)},A:function(a){assert(da);return P.createNode(null,"/",P.Ja(a.pa.root),0)},createNode:function(a,b,c){if(!N(c)&&32768!==(c&61440)&&40960!==(c&61440))throw new L(J.q);
a=Lb(a,b,c);a.k=P.k;a.n=P.n;return a},Ja:function(a){var b;try{b=fs.lstatSync(a),P.$&&(b.mode=b.mode|(b.mode&146)>>1)}catch(c){if(!c.code)throw c;throw new L(J[c.code]);}return b.mode},B:function(a){for(var b=[];a.parent!==a;)b.push(a.name),a=a.parent;b.push(a.A.pa.root);b.reverse();return Cb.apply(null,b)},Ha:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",
4096:"rs",4098:"rs+"},$a:function(a){a&=-32769;if(a in P.Ha)return P.Ha[a];throw new L(J.q);},k:{D:function(a){a=P.B(a);var b;try{b=fs.lstatSync(a)}catch(c){if(!c.code)throw c;throw new L(J[c.code]);}P.$&&!b.K&&(b.K=4096);P.$&&!b.blocks&&(b.blocks=(b.size+b.K-1)/b.K|0);return{dev:b.dev,ino:b.ino,mode:b.mode,nlink:b.nlink,uid:b.uid,gid:b.gid,rdev:b.rdev,size:b.size,atime:b.atime,mtime:b.mtime,ctime:b.ctime,K:b.K,blocks:b.blocks}},u:function(a,b){var c=P.B(a);try{void 0!==b.mode&&(fs.chmodSync(c,b.mode),
a.mode=b.mode),void 0!==b.size&&fs.truncateSync(c,b.size)}catch(d){if(!d.code)throw d;throw new L(J[d.code]);}},lookup:function(a,b){var c=K(P.B(a),b),c=P.Ja(c);return P.createNode(a,b,c)},T:function(a,b,c,d){a=P.createNode(a,b,c,d);b=P.B(a);try{N(a.mode)?fs.mkdirSync(b,a.mode):fs.writeFileSync(b,"",{mode:a.mode})}catch(f){if(!f.code)throw f;throw new L(J[f.code]);}return a},rename:function(a,b,c){a=P.B(a);b=K(P.B(b),c);try{fs.renameSync(a,b)}catch(d){if(!d.code)throw d;throw new L(J[d.code]);}},
unlink:function(a,b){var c=K(P.B(a),b);try{fs.unlinkSync(c)}catch(d){if(!d.code)throw d;throw new L(J[d.code]);}},rmdir:function(a,b){var c=K(P.B(a),b);try{fs.rmdirSync(c)}catch(d){if(!d.code)throw d;throw new L(J[d.code]);}},readdir:function(a){a=P.B(a);try{return fs.readdirSync(a)}catch(b){if(!b.code)throw b;throw new L(J[b.code]);}},symlink:function(a,b,c){a=K(P.B(a),b);try{fs.symlinkSync(c,a)}catch(d){if(!d.code)throw d;throw new L(J[d.code]);}},readlink:function(a){var b=P.B(a);try{return b=
fs.readlinkSync(b),b=Ob.relative(Ob.resolve(a.A.pa.root),b)}catch(c){if(!c.code)throw c;throw new L(J[c.code]);}}},n:{open:function(a){var b=P.B(a.g);try{32768===(a.g.mode&61440)&&(a.V=fs.openSync(b,P.$a(a.flags)))}catch(c){if(!c.code)throw c;throw new L(J[c.code]);}},close:function(a){try{32768===(a.g.mode&61440)&&a.V&&fs.closeSync(a.V)}catch(b){if(!b.code)throw b;throw new L(J[b.code]);}},read:function(a,b,c,d,f){if(0===d)return 0;var g=new Buffer(d),h;try{h=fs.readSync(a.V,g,0,d,f)}catch(l){throw new L(J[l.code]);
}if(0<h)for(a=0;a<h;a++)b[c+a]=g[a];return h},write:function(a,b,c,d,f){b=new Buffer(b.subarray(c,c+d));var g;try{g=fs.writeSync(a.V,b,0,d,f)}catch(h){throw new L(J[h.code]);}return g},G:function(a,b,c){if(1===c)b+=a.position;else if(2===c&&32768===(a.g.mode&61440))try{b+=fs.fstatSync(a.V).size}catch(d){throw new L(J[d.code]);}if(0>b)throw new L(J.q);return b}}};D(1,"i32*",2);D(1,"i32*",2);D(1,"i32*",2);var Pb=null,Qb=[null],Rb=[],Sb=1,Q=null,Tb=!0,R={},L=null,Mb={};
function S(a,b){a=Db("/",a);b=b||{};if(!a)return{path:"",g:null};var c={Ia:!0,ra:0},d;for(d in c)void 0===b[d]&&(b[d]=c[d]);if(8<b.ra)throw new L(J.ga);var c=yb(a.split("/").filter(function(a){return!!a}),!1),f=Pb;d="/";for(var g=0;g<c.length;g++){var h=g===c.length-1;if(h&&b.parent)break;f=Nb(f,c[g]);d=K(d,c[g]);f.U&&(!h||h&&b.Ia)&&(f=f.U.root);if(!h||b.la)for(h=0;40960===(f.mode&61440);)if(f=Vb(d),d=Db(Ab(d),f),f=S(d,{ra:b.ra}).g,40<h++)throw new L(J.ga);}return{path:d,g:f}}
function T(a){for(var b;;){if(a===a.parent)return a=a.A.Oa,b?"/"!==a[a.length-1]?a+"/"+b:a+b:a;b=b?a.name+"/"+b:a.name;a=a.parent}}function Wb(a,b){for(var c=0,d=0;d<b.length;d++)c=(c<<5)-c+b.charCodeAt(d)|0;return(a+c>>>0)%Q.length}function Xb(a){var b=Wb(a.parent.id,a.name);a.M=Q[b];Q[b]=a}function Nb(a,b){var c;if(c=(c=Yb(a,"x"))?c:a.k.lookup?0:J.da)throw new L(c,a);for(c=Q[Wb(a.id,b)];c;c=c.M){var d=c.name;if(c.parent.id===a.id&&d===b)return c}return a.k.lookup(a,b)}
function Lb(a,b,c,d){Zb||(Zb=function(a,b,c,d){a||(a=this);this.parent=a;this.A=a.A;this.U=null;this.id=Sb++;this.name=b;this.mode=c;this.k={};this.n={};this.rdev=d},Zb.prototype={},Object.defineProperties(Zb.prototype,{read:{get:function(){return 365===(this.mode&365)},set:function(a){a?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146===(this.mode&146)},set:function(a){a?this.mode|=146:this.mode&=-147}},kb:{get:function(){return N(this.mode)}},jb:{get:function(){return 8192===(this.mode&
61440)}}}));a=new Zb(a,b,c,d);Xb(a);return a}function N(a){return 16384===(a&61440)}var $b={r:0,rs:1052672,"r+":2,w:577,wx:705,xw:705,"w+":578,"wx+":706,"xw+":706,a:1089,ax:1217,xa:1217,"a+":1090,"ax+":1218,"xa+":1218};function Yb(a,b){if(Tb)return 0;if(-1===b.indexOf("r")||a.mode&292){if(-1!==b.indexOf("w")&&!(a.mode&146)||-1!==b.indexOf("x")&&!(a.mode&73))return J.da}else return J.da;return 0}function ac(a,b){try{return Nb(a,b),J.wa}catch(c){}return Yb(a,"wx")}
function bc(){var a;a=4096;for(var b=0;b<=a;b++)if(!Rb[b])return b;throw new L(J.Sa);}function cc(a){dc||(dc=function(){},dc.prototype={},Object.defineProperties(dc.prototype,{object:{get:function(){return this.g},set:function(a){this.g=a}},Ld:{get:function(){return 1!==(this.flags&2097155)}},Md:{get:function(){return 0!==(this.flags&2097155)}},Kd:{get:function(){return this.flags&1024}}}));var b=new dc,c;for(c in a)b[c]=a[c];a=b;b=bc();a.fd=b;return Rb[b]=a}
var Kb={open:function(a){a.n=Qb[a.g.rdev].n;a.n.open&&a.n.open(a)},G:function(){throw new L(J.ia);}};function Gb(a,b){Qb[a]={n:b}}function ec(a,b){var c="/"===b,d=!b,f;if(c&&Pb)throw new L(J.fa);if(!c&&!d){f=S(b,{Ia:!1});b=f.path;f=f.g;if(f.U)throw new L(J.fa);if(!N(f.mode))throw new L(J.ya);}var d={type:a,pa:{},Oa:b,lb:[]},g=a.A(d);g.A=d;d.root=g;c?Pb=g:f&&(f.U=d,f.A&&f.A.lb.push(d))}
function fc(a,b,c){var d=S(a,{parent:!0}).g;a=Bb(a);if(!a||"."===a||".."===a)throw new L(J.q);var f=ac(d,a);if(f)throw new L(f);if(!d.k.T)throw new L(J.I);return d.k.T(d,a,b,c)}function gc(a,b){b=(void 0!==b?b:438)&4095;b|=32768;return fc(a,b,0)}function V(a,b){b=(void 0!==b?b:511)&1023;b|=16384;return fc(a,b,0)}function hc(a,b,c){"undefined"===typeof c&&(c=b,b=438);return fc(a,b|8192,c)}
function ic(a,b){if(!Db(a))throw new L(J.F);var c=S(b,{parent:!0}).g;if(!c)throw new L(J.F);var d=Bb(b),f=ac(c,d);if(f)throw new L(f);if(!c.k.symlink)throw new L(J.I);return c.k.symlink(c,d,a)}function Vb(a){a=S(a).g;if(!a)throw new L(J.F);if(!a.k.readlink)throw new L(J.q);return Db(T(a.parent),a.k.readlink(a))}function jc(a,b){var c;"string"===typeof a?c=S(a,{la:!0}).g:c=a;if(!c.k.u)throw new L(J.I);c.k.u(c,{mode:b&4095|c.mode&-4096,timestamp:Date.now()})}
function kc(a,b){var c;if(""===a)throw new L(J.F);var d;if("string"===typeof b){if(d=$b[b],"undefined"===typeof d)throw Error("Unknown file open mode: "+b);}else d=b;b=d;c=b&64?("undefined"===typeof c?438:c)&4095|32768:0;var f;if("object"===typeof a)f=a;else{a=zb(a);try{f=S(a,{la:!(b&131072)}).g}catch(g){}}d=!1;if(b&64)if(f){if(b&128)throw new L(J.wa);}else f=fc(a,c,0),d=!0;if(!f)throw new L(J.F);8192===(f.mode&61440)&&(b&=-513);if(b&65536&&!N(f.mode))throw new L(J.ya);if(!d&&(f?40960===(f.mode&61440)?
c=J.ga:N(f.mode)&&(0!==(b&2097155)||b&512)?c=J.P:(c=["r","w","rw"][b&3],b&512&&(c+="w"),c=Yb(f,c)):c=J.F,c))throw new L(c);if(b&512){c=f;var h;"string"===typeof c?h=S(c,{la:!0}).g:h=c;if(!h.k.u)throw new L(J.I);if(N(h.mode))throw new L(J.P);if(32768!==(h.mode&61440))throw new L(J.q);if(c=Yb(h,"w"))throw new L(c);h.k.u(h,{size:0,timestamp:Date.now()})}b&=-641;f=cc({g:f,path:T(f),flags:b,seekable:!0,position:0,n:f.n,tb:[],error:!1});f.n.open&&f.n.open(f);!e.logReadFiles||b&1||(lc||(lc={}),a in lc||
(lc[a]=1,e.printErr("read file: "+a)));try{R.onOpenFile&&(h=0,1!==(b&2097155)&&(h|=1),0!==(b&2097155)&&(h|=2),R.onOpenFile(a,h))}catch(l){console.log("FS.trackingDelegate['onOpenFile']('"+a+"', flags) threw an exception: "+l.message)}return f}function mc(a){a.na&&(a.na=null);try{a.n.close&&a.n.close(a)}catch(b){throw b;}finally{Rb[a.fd]=null}}function nc(a,b,c){if(!a.seekable||!a.n.G)throw new L(J.ia);a.position=a.n.G(a,b,c);a.tb=[]}
function oc(a,b,c,d,f,g){if(0>d||0>f)throw new L(J.q);if(0===(a.flags&2097155))throw new L(J.ea);if(N(a.g.mode))throw new L(J.P);if(!a.n.write)throw new L(J.q);a.flags&1024&&nc(a,0,2);var h=!0;if("undefined"===typeof f)f=a.position,h=!1;else if(!a.seekable)throw new L(J.ia);b=a.n.write(a,b,c,d,f,g);h||(a.position+=b);try{if(a.path&&R.onWriteToFile)R.onWriteToFile(a.path)}catch(l){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+l.message)}return b}
function pc(){L||(L=function(a,b){this.g=b;this.qb=function(a){this.S=a;for(var b in J)if(J[b]===a){this.code=b;break}};this.qb(a);this.message=xb[a]},L.prototype=Error(),L.prototype.constructor=L,[J.F].forEach(function(a){Mb[a]=new L(a);Mb[a].stack="<generic error, no stack>"}))}var qc;function rc(a,b){var c=0;a&&(c|=365);b&&(c|=146);return c}function sc(a,b,c,d){a=K("string"===typeof a?a:T(a),b);return gc(a,rc(c,d))}
function tc(a,b,c,d,f,g){a=b?K("string"===typeof a?a:T(a),b):a;d=rc(d,f);f=gc(a,d);if(c){if("string"===typeof c){a=Array(c.length);b=0;for(var h=c.length;b<h;++b)a[b]=c.charCodeAt(b);c=a}jc(f,d|146);a=kc(f,"w");oc(a,c,0,c.length,0,g);mc(a);jc(f,d)}return f}
function W(a,b,c,d){a=K("string"===typeof a?a:T(a),b);b=rc(!!c,!!d);W.Ma||(W.Ma=64);var f=W.Ma++<<8|0;Gb(f,{open:function(a){a.seekable=!1},close:function(){d&&d.buffer&&d.buffer.length&&d(10)},read:function(a,b,d,f){for(var u=0,q=0;q<f;q++){var v;try{v=c()}catch(B){throw new L(J.H);}if(void 0===v&&0===u)throw new L(J.va);if(null===v||void 0===v)break;u++;b[d+q]=v}u&&(a.g.timestamp=Date.now());return u},write:function(a,b,c,f){for(var u=0;u<f;u++)try{d(b[c+u])}catch(q){throw new L(J.H);}f&&(a.g.timestamp=
Date.now());return u}});return hc(a,b,f)}
function uc(a){if(a.jb||a.kb||a.link||a.e)return!0;var b=!0;if("undefined"!==typeof XMLHttpRequest)throw Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");if(e.read)try{a.e=hb(e.read(a.url),!0),a.o=a.e.length}catch(c){b=!1}else throw Error("Cannot load without read() or XMLHttpRequest.");b||ob(J.H);return b}var vc={},Zb,dc,lc,wc=0;
function X(){wc+=4;return C[wc-4>>2]}function xc(){var a;a=X();a=Rb[a];if(!a)throw new L(J.ea);return a}var yc={};e._i64Add=zc;function Ga(a){Ga.p||(r=Qa(r),Ga.p=!0,assert(n.R),Ga.bb=n.R,n.R=function(){x("cannot dynamically allocate, sbrk now has control")});var b=r;return 0==a||Ga.bb(a)?b:4294967295}var Ac=1;e._memcpy=Bc;
function Cc(a,b){Dc=a;Ec=b;if(!Fc)return 1;if(0==a)Y=function(){setTimeout(Gc,b)},Hc="timeout";else if(1==a)Y=function(){Ic(Gc)},Hc="rAF";else if(2==a){if(!window.setImmediate){var c=[];window.addEventListener("message",function(a){a.source===window&&"__emcc"===a.data&&(a.stopPropagation(),c.shift()())},!0);window.setImmediate=function(a){c.push(a);window.postMessage("__emcc","*")}}Y=function(){window.setImmediate(Gc)};Hc="immediate"}return 0}
function Jc(a,b,c,d,f){e.noExitRuntime=!0;assert(!Fc,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Fc=a;Kc=d;var g=Lc;Gc=function(){if(!na)if(0<Mc.length){var b=Date.now(),c=Mc.shift();c.ab(c.X);if(Nc){var f=Nc,u=0==f%1?f-1:Math.floor(f);Nc=c.Bd?u:(8*f+(u+.5))/9}console.log('main loop blocker "'+c.name+'" took '+(Date.now()-b)+" ms");Oc();setTimeout(Gc,0)}else g<
Lc||(Pc=Pc+1|0,1==Dc&&1<Ec&&0!=Pc%Ec?Y():("timeout"===Hc&&e.ka&&(e.W("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),Hc=""),Qc(function(){"undefined"!==typeof d?n.L("vi",a,[d]):n.L("v",a)}),g<Lc||("object"===typeof SDL&&SDL.audio&&SDL.audio.mb&&SDL.audio.mb(),Y())))};f||(b&&0<b?Cc(0,1E3/b):Cc(1,1),Y());if(c)throw"SimulateInfiniteLoop";
}var Y=null,Hc="",Lc=0,Fc=null,Kc=0,Dc=0,Ec=0,Pc=0,Mc=[];function Oc(){if(e.setStatus){var a=e.statusMessage||"Please wait...",b=Nc,c=Rc.Dd;b?b<c?e.setStatus(a+" ("+(c-b)+"/"+c+")"):e.setStatus(a):e.setStatus("")}}function Qc(a){if(!(na||e.preMainLoop&&!1===e.preMainLoop())){try{a()}catch(b){if(b instanceof ia)return;b&&"object"===typeof b&&b.stack&&e.W("exception thrown: "+[b,b.stack]);throw b;}e.postMainLoop&&e.postMainLoop()}}var Rc={},Gc,Nc,Sc=!1,Tc=!1,Uc=[];
function Vc(){function a(){Tc=document.pointerLockElement===c||document.mozPointerLockElement===c||document.webkitPointerLockElement===c||document.msPointerLockElement===c}e.preloadPlugins||(e.preloadPlugins=[]);if(!Wc){Wc=!0;try{Xc=!0}catch(b){Xc=!1,console.log("warning: no blob constructor, cannot create blobs with mimetypes")}Yc="undefined"!=typeof MozBlobBuilder?MozBlobBuilder:"undefined"!=typeof WebKitBlobBuilder?WebKitBlobBuilder:Xc?null:console.log("warning: no BlobBuilder");Zc="undefined"!=
typeof window?window.URL?window.URL:window.webkitURL:void 0;e.Qa||"undefined"!==typeof Zc||(console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),e.Qa=!0);e.preloadPlugins.push({canHandle:function(a){return!e.Qa&&/\.(jpg|jpeg|png|bmp)$/i.test(a)},handle:function(a,b,c,h){var l=null;if(Xc)try{l=new Blob([a],{type:$c(b)}),l.size!==a.length&&(l=new Blob([(new Uint8Array(a)).buffer],{type:$c(b)}))}catch(w){n.O("Blob constructor present but fails: "+
w+"; falling back to blob builder")}l||(l=new Yc,l.append((new Uint8Array(a)).buffer),l=l.getBlob());var u=Zc.createObjectURL(l),q=new Image;q.onload=function(){assert(q.complete,"Image "+b+" could not be decoded");var h=document.createElement("canvas");h.width=q.width;h.height=q.height;h.getContext("2d").drawImage(q,0,0);e.preloadedImages[b]=h;Zc.revokeObjectURL(u);c&&c(a)};q.onerror=function(){console.log("Image "+u+" could not be decoded");h&&h()};q.src=u}});e.preloadPlugins.push({canHandle:function(a){return!e.Pd&&
a.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},handle:function(a,b,c,h){function l(h){u||(u=!0,e.preloadedAudios[b]=h,c&&c(a))}function w(){u||(u=!0,e.preloadedAudios[b]=new Audio,h&&h())}var u=!1;if(Xc){try{var q=new Blob([a],{type:$c(b)})}catch(v){return w()}var q=Zc.createObjectURL(q),B=new Audio;B.addEventListener("canplaythrough",function(){l(B)},!1);B.onerror=function(){if(!u){console.log("warning: browser could not fully decode audio "+b+", trying slower base64 approach");for(var c="",g=0,h=0,
q=0;q<a.length;q++)for(g=g<<8|a[q],h+=8;6<=h;)var v=g>>h-6&63,h=h-6,c=c+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[v];2==h?(c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(g&3)<<4],c+="=="):4==h&&(c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(g&15)<<2],c+="=");B.src="data:audio/x-"+b.substr(-3)+";base64,"+c;l(B)}};B.src=q;ad(function(){l(B)})}else return w()}});var c=e.canvas;c&&(c.sa=c.requestPointerLock||c.mozRequestPointerLock||
c.webkitRequestPointerLock||c.msRequestPointerLock||function(){},c.Fa=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},c.Fa=c.Fa.bind(document),document.addEventListener("pointerlockchange",a,!1),document.addEventListener("mozpointerlockchange",a,!1),document.addEventListener("webkitpointerlockchange",a,!1),document.addEventListener("mspointerlockchange",a,!1),e.elementPointerLock&&c.addEventListener("click",function(a){!Tc&&
c.sa&&(c.sa(),a.preventDefault())},!1))}}function bd(a,b,c,d){if(b&&e.ka&&a==e.canvas)return e.ka;var f,g;if(b){g={antialias:!1,alpha:!1};if(d)for(var h in d)g[h]=d[h];if(g=GL.createContext(a,g))f=GL.getContext(g).td;a.style.backgroundColor="black"}else f=a.getContext("2d");if(!f)return null;c&&(b||assert("undefined"===typeof GLctx,"cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),e.ka=f,b&&GL.Od(g),e.Td=b,Uc.forEach(function(a){a()}),Vc());return f}
var cd=!1,dd=void 0,ed=void 0;
function fd(a,b,c){function d(){Sc=!1;var a=f.parentNode;(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===a?(f.Da=document.cancelFullScreen||document.mozCancelFullScreen||document.webkitCancelFullScreen||document.msExitFullscreen||document.exitFullscreen||function(){},
f.Da=f.Da.bind(document),dd&&f.sa(),Sc=!0,ed&&gd()):(a.parentNode.insertBefore(f,a),a.parentNode.removeChild(a),ed&&hd());if(e.onFullScreen)e.onFullScreen(Sc);id(f)}dd=a;ed=b;jd=c;"undefined"===typeof dd&&(dd=!0);"undefined"===typeof ed&&(ed=!1);"undefined"===typeof jd&&(jd=null);var f=e.canvas;cd||(cd=!0,document.addEventListener("fullscreenchange",d,!1),document.addEventListener("mozfullscreenchange",d,!1),document.addEventListener("webkitfullscreenchange",d,!1),document.addEventListener("MSFullscreenChange",
d,!1));var g=document.createElement("div");f.parentNode.insertBefore(g,f);g.appendChild(f);g.p=g.requestFullScreen||g.mozRequestFullScreen||g.msRequestFullscreen||(g.webkitRequestFullScreen?function(){g.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null);c?g.p({Ud:c}):g.p()}var kd=0;function ld(a){var b=Date.now();if(0===kd)kd=b+1E3/60;else for(;b+2>=kd;)kd+=1E3/60;b=Math.max(kd-b,0);setTimeout(a,b)}
function Ic(a){"undefined"===typeof window?ld(a):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||ld),window.requestAnimationFrame(a))}function ad(a){e.noExitRuntime=!0;setTimeout(function(){na||a()},1E4)}
function $c(a){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[a.substr(a.lastIndexOf(".")+1)]}function md(a,b,c){var d=new XMLHttpRequest;d.open("GET",a,!0);d.responseType="arraybuffer";d.onload=function(){200==d.status||0==d.status&&d.response?b(d.response):c()};d.onerror=c;d.send(null)}
function nd(a,b,c){md(a,function(c){assert(c,'Loading data file "'+a+'" failed (no arrayBuffer).');b(new Uint8Array(c));lb()},function(){if(c)c();else throw'Loading data file "'+a+'" failed.';});kb()}var od=[];function pd(){var a=e.canvas;od.forEach(function(b){b(a.width,a.height)})}function gd(){if("undefined"!=typeof SDL){var a=Sa[SDL.screen+0*n.J>>2];C[SDL.screen+0*n.J>>2]=a|8388608}pd()}
function hd(){if("undefined"!=typeof SDL){var a=Sa[SDL.screen+0*n.J>>2];C[SDL.screen+0*n.J>>2]=a&-8388609}pd()}
function id(a,b,c){b&&c?(a.ub=b,a.hb=c):(b=a.ub,c=a.hb);var d=b,f=c;e.forcedAspectRatio&&0<e.forcedAspectRatio&&(d/f<e.forcedAspectRatio?d=Math.round(f*e.forcedAspectRatio):f=Math.round(d/e.forcedAspectRatio));if((document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===
a.parentNode&&"undefined"!=typeof screen)var g=Math.min(screen.width/d,screen.height/f),d=Math.round(d*g),f=Math.round(f*g);ed?(a.width!=d&&(a.width=d),a.height!=f&&(a.height=f),"undefined"!=typeof a.style&&(a.style.removeProperty("width"),a.style.removeProperty("height"))):(a.width!=b&&(a.width=b),a.height!=c&&(a.height=c),"undefined"!=typeof a.style&&(d!=b||f!=c?(a.style.setProperty("width",d+"px","important"),a.style.setProperty("height",f+"px","important")):(a.style.removeProperty("width"),a.style.removeProperty("height"))))}
var Wc,Xc,Yc,Zc,jd;pc();Q=Array(4096);ec(M,"/");V("/tmp");V("/home");V("/home/web_user");
(function(){V("/dev");Gb(259,{read:function(){return 0},write:function(a,b,f,g){return g}});hc("/dev/null",259);Fb(1280,Ib);Fb(1536,Jb);hc("/dev/tty",1280);hc("/dev/tty1",1536);var a;if("undefined"!==typeof crypto){var b=new Uint8Array(1);a=function(){crypto.getRandomValues(b);return b[0]}}else a=da?function(){return require("crypto").randomBytes(1)[0]}:function(){return 256*Math.random()|0};W("/dev","random",a);W("/dev","urandom",a);V("/dev/shm");V("/dev/shm/tmp")})();V("/proc");V("/proc/self");
V("/proc/self/fd");ec({A:function(){var a=Lb("/proc/self","fd",16895,73);a.k={lookup:function(a,c){var d=Rb[+c];if(!d)throw new L(J.ea);var f={parent:null,A:{Oa:"fake"},k:{readlink:function(){return d.path}}};return f.parent=f}};return a}},"/proc/self/fd");
cb.unshift(function(){if(!e.noFSInit&&!qc){assert(!qc,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");qc=!0;pc();e.stdin=e.stdin;e.stdout=e.stdout;e.stderr=e.stderr;e.stdin?W("/dev","stdin",e.stdin):ic("/dev/tty","/dev/stdin");e.stdout?W("/dev","stdout",null,e.stdout):ic("/dev/tty","/dev/stdout");e.stderr?W("/dev","stderr",null,e.stderr):ic("/dev/tty1","/dev/stderr");var a=
kc("/dev/stdin","r");assert(0===a.fd,"invalid handle for stdin ("+a.fd+")");a=kc("/dev/stdout","w");assert(1===a.fd,"invalid handle for stdout ("+a.fd+")");a=kc("/dev/stderr","w");assert(2===a.fd,"invalid handle for stderr ("+a.fd+")")}});db.push(function(){Tb=!1});H.push(function(){qc=!1;var a=e._fflush;a&&a(0);for(a=0;a<Rb.length;a++){var b=Rb[a];b&&mc(b)}});e.FS_createFolder=function(a,b,c,d){a=K("string"===typeof a?a:T(a),b);return V(a,rc(c,d))};
e.FS_createPath=function(a,b){a="string"===typeof a?a:T(a);for(var c=b.split("/").reverse();c.length;){var d=c.pop();if(d){var f=K(a,d);try{V(f)}catch(g){}a=f}}return f};e.FS_createDataFile=tc;
e.FS_createPreloadedFile=function(a,b,c,d,f,g,h,l,w,u){function q(c){function q(c){u&&u();l||tc(a,b,c,d,f,w);g&&g();lb()}var O=!1;e.preloadPlugins.forEach(function(a){!O&&a.canHandle(v)&&(a.handle(c,v,q,function(){h&&h();lb()}),O=!0)});O||q(c)}Vc();var v=b?Db(K(a,b)):a;kb();"string"==typeof c?nd(c,function(a){q(a)},h):q(c)};
e.FS_createLazyFile=function(a,b,c,d,f){var g,h;function l(){this.oa=!1;this.Y=[]}l.prototype.get=function(a){if(!(a>this.length-1||0>a)){var b=a%this.chunkSize;return this.gb(a/this.chunkSize|0)[b]}};l.prototype.pb=function(a){this.gb=a};l.prototype.Ca=function(){var a=new XMLHttpRequest;a.open("HEAD",c,!1);a.send(null);if(!(200<=a.status&&300>a.status||304===a.status))throw Error("Couldn't load "+c+". Status: "+a.status);var b=Number(a.getResponseHeader("Content-length")),d,f=1048576;(d=a.getResponseHeader("Accept-Ranges"))&&
"bytes"===d||(f=b);var g=this;g.pb(function(a){var d=a*f,h=(a+1)*f-1,h=Math.min(h,b-1);if("undefined"===typeof g.Y[a]){var l=g.Y;if(d>h)throw Error("invalid range ("+d+", "+h+") or no bytes requested!");if(h>b-1)throw Error("only "+b+" bytes available! programmer error!");var q=new XMLHttpRequest;q.open("GET",c,!1);b!==f&&q.setRequestHeader("Range","bytes="+d+"-"+h);"undefined"!=typeof Uint8Array&&(q.responseType="arraybuffer");q.overrideMimeType&&q.overrideMimeType("text/plain; charset=x-user-defined");
q.send(null);if(!(200<=q.status&&300>q.status||304===q.status))throw Error("Couldn't load "+c+". Status: "+q.status);d=void 0!==q.response?new Uint8Array(q.response||[]):hb(q.responseText||"",!0);l[a]=d}if("undefined"===typeof g.Y[a])throw Error("doXHR failed!");return g.Y[a]});this.Wa=b;this.Va=f;this.oa=!0};if("undefined"!==typeof XMLHttpRequest){if(!ca)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";g=new l;Object.defineProperty(g,
"length",{get:function(){this.oa||this.Ca();return this.Wa}});Object.defineProperty(g,"chunkSize",{get:function(){this.oa||this.Ca();return this.Va}});h=void 0}else h=c,g=void 0;var w=sc(a,b,d,f);g?w.e=g:h&&(w.e=null,w.url=h);Object.defineProperty(w,"usedBytes",{get:function(){return this.e.length}});var u={};Object.keys(w.n).forEach(function(a){var b=w.n[a];u[a]=function(){if(!uc(w))throw new L(J.H);return b.apply(null,arguments)}});u.read=function(a,b,c,d,f){if(!uc(w))throw new L(J.H);a=a.g.e;if(f>=
a.length)return 0;d=Math.min(a.length-f,d);assert(0<=d);if(a.slice)for(var g=0;g<d;g++)b[c+g]=a[f+g];else for(g=0;g<d;g++)b[c+g]=a.get(f+g);return d};w.n=u;return w};e.FS_createLink=function(a,b,c){a=K("string"===typeof a?a:T(a),b);return ic(c,a)};e.FS_createDevice=W;
e.FS_unlink=function(a){var b=S(a,{parent:!0}).g,c=Bb(a),d=Nb(b,c),f;a:{try{f=Nb(b,c)}catch(g){f=g.S;break a}var h=Yb(b,"wx");f=h?h:N(f.mode)?J.P:0}if(f)throw f===J.P&&(f=J.I),new L(f);if(!b.k.unlink)throw new L(J.I);if(d.U)throw new L(J.fa);try{R.willDeletePath&&R.willDeletePath(a)}catch(l){console.log("FS.trackingDelegate['willDeletePath']('"+a+"') threw an exception: "+l.message)}b.k.unlink(b,c);b=Wb(d.parent.id,d.name);if(Q[b]===d)Q[b]=d.M;else for(b=Q[b];b;){if(b.M===d){b.M=d.M;break}b=b.M}try{if(R.onDeletePath)R.onDeletePath(a)}catch(w){console.log("FS.trackingDelegate['onDeletePath']('"+
a+"') threw an exception: "+w.message)}};cb.unshift(function(){});H.push(function(){});if(da){var fs=require("fs"),Ob=require("path");P.sb()}e.requestFullScreen=function(a,b,c){fd(a,b,c)};e.requestAnimationFrame=function(a){Ic(a)};e.setCanvasSize=function(a,b,c){id(e.canvas,a,b);c||pd()};e.pauseMainLoop=function(){Y=null;Lc++};e.resumeMainLoop=function(){Lc++;var a=Dc,b=Ec,c=Fc;Fc=null;Jc(c,0,!1,Kc,!0);Cc(a,b);Y()};
e.getUserMedia=function(){window.p||(window.p=navigator.getUserMedia||navigator.mozGetUserMedia);window.p(void 0)};e.createContext=function(a,b,c,d){return bd(a,b,c,d)};Ua=m=n.ja(la);Fa=!0;Va=Ua+$a;Wa=r=n.ja(Va);assert(Wa<t,"TOTAL_MEMORY not big enough for stack");
var qd=D([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,
1,0,3,0,1,0,2,0,1,0],"i8",3);e.Ya={Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array,NaN:NaN,Infinity:Infinity,byteLength:Ya};
e.Za={abort:x,assert:assert,invoke_iiii:function(a,b,c,d){try{return e.dynCall_iiii(a,b,c,d)}catch(f){if("number"!==typeof f&&"longjmp"!==f)throw f;Z.setThrew(1,0)}},invoke_viiiii:function(a,b,c,d,f,g){try{e.dynCall_viiiii(a,b,c,d,f,g)}catch(h){if("number"!==typeof h&&"longjmp"!==h)throw h;Z.setThrew(1,0)}},invoke_vi:function(a,b){try{e.dynCall_vi(a,b)}catch(c){if("number"!==typeof c&&"longjmp"!==c)throw c;Z.setThrew(1,0)}},invoke_ii:function(a,b){try{return e.dynCall_ii(a,b)}catch(c){if("number"!==
typeof c&&"longjmp"!==c)throw c;Z.setThrew(1,0)}},invoke_viii:function(a,b,c,d){try{e.dynCall_viii(a,b,c,d)}catch(f){if("number"!==typeof f&&"longjmp"!==f)throw f;Z.setThrew(1,0)}},invoke_v:function(a){try{e.dynCall_v(a)}catch(b){if("number"!==typeof b&&"longjmp"!==b)throw b;Z.setThrew(1,0)}},invoke_viiiiii:function(a,b,c,d,f,g,h){try{e.dynCall_viiiiii(a,b,c,d,f,g,h)}catch(l){if("number"!==typeof l&&"longjmp"!==l)throw l;Z.setThrew(1,0)}},invoke_iiiiii:function(a,b,c,d,f,g){try{return e.dynCall_iiiiii(a,
b,c,d,f,g)}catch(h){if("number"!==typeof h&&"longjmp"!==h)throw h;Z.setThrew(1,0)}},invoke_viiii:function(a,b,c,d,f){try{e.dynCall_viiii(a,b,c,d,f)}catch(g){if("number"!==typeof g&&"longjmp"!==g)throw g;Z.setThrew(1,0)}},_pthread_cleanup_pop:function(){assert(pb.level==H.length,"cannot pop if something else added meanwhile!");H.pop();pb.level=H.length},___syscall54:function(a,b){wc=b;try{var c=xc(),d=X();switch(d){case 21505:return c.tty?0:-J.Q;case 21506:return c.tty?0:-J.Q;case 21519:if(!c.tty)return-J.Q;
var f=X();return C[f>>2]=0;case 21520:return c.tty?-J.q:-J.Q;case 21531:f=X();if(!c.n.ib)throw new L(J.Q);return c.n.ib(c,d,f);default:x("bad ioctl syscall "+d)}}catch(g){return"undefined"!==typeof vc&&g instanceof L||x(g),-g.S}},___syscall6:function(a,b){wc=b;try{var c=xc();mc(c);return 0}catch(d){return"undefined"!==typeof vc&&d instanceof L||x(d),-d.S}},_emscripten_set_main_loop_timing:Cc,__ZSt18uncaught_exceptionv:tb,___setErrNo:ob,_sbrk:Ga,___cxa_begin_catch:function(a){tb.p--;ub.push(a);var b;
a:{if(a&&!vb[a])for(b in vb)if(vb[b].wd===a)break a;b=a}b&&vb[b].Sd++;return a},_emscripten_memcpy_big:function(a,b,c){E.set(E.subarray(b,b+c),a);return a},_sysconf:function(a){switch(a){case 30:return 4096;case 85:return F/4096;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;
case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;
case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1E3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return"object"===typeof navigator?navigator.hardwareConcurrency||1:1}ob(J.q);return-1},
_pthread_getspecific:function(a){return yc[a]||0},_pthread_self:function(){return 0},_pthread_once:wb,_pthread_key_create:function(a){if(0==a)return J.q;C[a>>2]=Ac;yc[Ac]=0;Ac++;return 0},___unlock:function(){},_emscripten_set_main_loop:Jc,_pthread_setspecific:function(a,b){if(!(a in yc))return J.q;yc[a]=b;return 0},___lock:function(){},_abort:function(){e.abort()},_pthread_cleanup_push:pb,_time:function(a){var b=Date.now()/1E3|0;a&&(C[a>>2]=b);return b},___syscall140:function(a,b){wc=b;try{var c=
xc(),d=X(),f=X(),g=X(),h=X();assert(0===d);nc(c,f,h);C[g>>2]=c.position;c.na&&0===f&&0===h&&(c.na=null);return 0}catch(l){return"undefined"!==typeof vc&&l instanceof L||x(l),-l.S}},___syscall146:function(a,b){wc=b;try{var c=xc(),d=X(),f;a:{for(var g=X(),h=0,l=0;l<g;l++){var w=oc(c,y,C[d+8*l>>2],C[d+(8*l+4)>>2],void 0);if(0>w){f=-1;break a}h+=w}f=h}return f}catch(u){return"undefined"!==typeof vc&&u instanceof L||x(u),-u.S}},STACKTOP:m,STACK_MAX:Va,tempDoublePtr:mb,ABORT:na,cttz_i8:qd};// EMSCRIPTEN_START_ASM
var Z=(function(global,env,buffer) {
"use asm";var a=global.Int8Array;var b=global.Int16Array;var c=global.Int32Array;var d=global.Uint8Array;var e=global.Uint16Array;var f=global.Uint32Array;var g=global.Float32Array;var h=global.Float64Array;var i=new a(buffer);var j=new b(buffer);var k=new c(buffer);var l=new d(buffer);var m=new e(buffer);var n=new f(buffer);var o=new g(buffer);var p=new h(buffer);var q=global.byteLength;var r=env.STACKTOP|0;var s=env.STACK_MAX|0;var t=env.tempDoublePtr|0;var u=env.ABORT|0;var v=env.cttz_i8|0;var w=0;var x=0;var y=0;var z=0;var A=global.NaN,B=global.Infinity;var C=0,D=0,E=0,F=0,G=0.0,H=0,I=0,J=0,K=0.0;var L=0;var M=0;var N=0;var O=0;var P=0;var Q=0;var R=0;var S=0;var T=0;var U=0;var V=global.Math.floor;var W=global.Math.abs;var X=global.Math.sqrt;var Y=global.Math.pow;var Z=global.Math.cos;var _=global.Math.sin;var $=global.Math.tan;var aa=global.Math.acos;var ba=global.Math.asin;var ca=global.Math.atan;var da=global.Math.atan2;var ea=global.Math.exp;var fa=global.Math.log;var ga=global.Math.ceil;var ha=global.Math.imul;var ia=global.Math.min;var ja=global.Math.clz32;var ka=env.abort;var la=env.assert;var ma=env.invoke_iiii;var na=env.invoke_viiiii;var oa=env.invoke_vi;var pa=env.invoke_ii;var qa=env.invoke_viii;var ra=env.invoke_v;var sa=env.invoke_viiiiii;var ta=env.invoke_iiiiii;var ua=env.invoke_viiii;var va=env._pthread_cleanup_pop;var wa=env.___syscall54;var xa=env.___syscall6;var ya=env._emscripten_set_main_loop_timing;var za=env.__ZSt18uncaught_exceptionv;var Aa=env.___setErrNo;var Ba=env._sbrk;var Ca=env.___cxa_begin_catch;var Da=env._emscripten_memcpy_big;var Ea=env._sysconf;var Fa=env._pthread_getspecific;var Ga=env._pthread_self;var Ha=env._pthread_once;var Ia=env._pthread_key_create;var Ja=env.___unlock;var Ka=env._emscripten_set_main_loop;var La=env._pthread_setspecific;var Ma=env.___lock;var Na=env._abort;var Oa=env._pthread_cleanup_push;var Pa=env._time;var Qa=env.___syscall140;var Ra=env.___syscall146;var Sa=0.0;function Ta(newBuffer){if(q(newBuffer)&16777215||q(newBuffer)<=16777215||q(newBuffer)>2147483648)return false;i=new a(newBuffer);j=new b(newBuffer);k=new c(newBuffer);l=new d(newBuffer);m=new e(newBuffer);n=new f(newBuffer);o=new g(newBuffer);p=new h(newBuffer);buffer=newBuffer;return true}
// EMSCRIPTEN_START_FUNCS
function bb(a){a=a|0;var b=0;b=r;r=r+a|0;r=r+15&-16;return b|0}function cb(){return r|0}function db(a){a=a|0;r=a}function eb(a,b){a=a|0;b=b|0;r=a;s=b}function fb(a,b){a=a|0;b=b|0;if(!w){w=a;x=b}}function gb(a){a=a|0;i[t>>0]=i[a>>0];i[t+1>>0]=i[a+1>>0];i[t+2>>0]=i[a+2>>0];i[t+3>>0]=i[a+3>>0]}function hb(a){a=a|0;i[t>>0]=i[a>>0];i[t+1>>0]=i[a+1>>0];i[t+2>>0]=i[a+2>>0];i[t+3>>0]=i[a+3>>0];i[t+4>>0]=i[a+4>>0];i[t+5>>0]=i[a+5>>0];i[t+6>>0]=i[a+6>>0];i[t+7>>0]=i[a+7>>0]}function ib(a){a=a|0;L=a}function jb(){return L|0}function kb(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+608|0;n=q+88|0;m=q+72|0;i=q+64|0;h=q+48|0;g=q+24|0;f=q;l=q+96|0;o=q+92|0;j=a+4|0;p=a+8|0;if((k[j>>2]|0)>>>0>(k[p>>2]|0)>>>0){k[f>>2]=1154;k[f+4>>2]=2120;k[f+8>>2]=1133;Ac(l,1100,f)|0;zc(l,q+16|0)|0}if((2147418112/(d>>>0)|0)>>>0<=b>>>0){k[g>>2]=1154;k[g+4>>2]=2121;k[g+8>>2]=1169;Ac(l,1100,g)|0;zc(l,q+40|0)|0}g=k[p>>2]|0;if(g>>>0>=b>>>0){p=1;r=q;return p|0}do if(c){if(b){f=b+-1|0;if(!(f&b)){f=11;break}else b=f}else b=-1;b=b>>>16|b;b=b>>>8|b;b=b>>>4|b;b=b>>>2|b;b=(b>>>1|b)+1|0;f=10}else f=10;while(0);if((f|0)==10)if(!b){b=0;f=12}else f=11;if((f|0)==11)if(b>>>0<=g>>>0)f=12;if((f|0)==12){k[h>>2]=1154;k[h+4>>2]=2130;k[h+8>>2]=1217;Ac(l,1100,h)|0;zc(l,i)|0}c=ha(b,d)|0;do if(!e){f=lb(k[a>>2]|0,c,o,1)|0;if(!f){p=0;r=q;return p|0}else{k[a>>2]=f;break}}else{g=mb(c,o)|0;if(!g){p=0;r=q;return p|0}Ya[e&0](g,k[a>>2]|0,k[j>>2]|0);f=k[a>>2]|0;do if(f)if(!(f&7)){$a[k[104>>2]&1](f,0,0,1,k[27]|0)|0;break}else{k[m>>2]=1154;k[m+4>>2]=2499;k[m+8>>2]=1516;Ac(l,1100,m)|0;zc(l,n)|0;break}while(0);k[a>>2]=g}while(0);f=k[o>>2]|0;if(f>>>0>c>>>0)b=(f>>>0)/(d>>>0)|0;k[p>>2]=b;p=1;r=q;return p|0}function lb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+592|0;i=j+48|0;f=j+24|0;e=j;h=j+72|0;g=j+68|0;if(a&7){k[e>>2]=1154;k[e+4>>2]=2499;k[e+8>>2]=1494;Ac(h,1100,e)|0;zc(h,j+16|0)|0;i=0;r=j;return i|0}if(b>>>0>2147418112){k[f>>2]=1154;k[f+4>>2]=2499;k[f+8>>2]=1387;Ac(h,1100,f)|0;zc(h,j+40|0)|0;i=0;r=j;return i|0}k[g>>2]=b;d=$a[k[104>>2]&1](a,b,g,d,k[27]|0)|0;if(c)k[c>>2]=k[g>>2];if(!(d&7)){i=d;r=j;return i|0}k[i>>2]=1154;k[i+4>>2]=2551;k[i+8>>2]=1440;Ac(h,1100,i)|0;zc(h,j+64|0)|0;i=d;r=j;return i|0}function mb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+592|0;g=i+48|0;h=i+24|0;c=i;f=i+72|0;e=i+68|0;d=a+3&-4;d=(d|0)!=0?d:4;if(d>>>0>2147418112){k[c>>2]=1154;k[c+4>>2]=2499;k[c+8>>2]=1387;Ac(f,1100,c)|0;zc(f,i+16|0)|0;h=0;r=i;return h|0}k[e>>2]=d;c=$a[k[104>>2]&1](0,d,e,1,k[27]|0)|0;a=k[e>>2]|0;if(b)k[b>>2]=a;if((c|0)==0|a>>>0<d>>>0){k[h>>2]=1154;k[h+4>>2]=2499;k[h+8>>2]=1413;Ac(f,1100,h)|0;zc(f,i+40|0)|0;h=0;r=i;return h|0}if(!(c&7)){h=c;r=i;return h|0}k[g>>2]=1154;k[g+4>>2]=2526;k[g+8>>2]=1440;Ac(f,1100,g)|0;zc(f,i+64|0)|0;h=c;r=i;return h|0}function nb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=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;S=r;r=r+960|0;P=S+232|0;O=S+216|0;N=S+208|0;M=S+192|0;L=S+184|0;K=S+168|0;J=S+160|0;I=S+144|0;F=S+136|0;E=S+120|0;D=S+112|0;C=S+96|0;z=S+88|0;y=S+72|0;x=S+64|0;w=S+48|0;q=S+40|0;t=S+24|0;s=S+16|0;p=S;H=S+440|0;Q=S+376|0;R=S+304|0;v=S+236|0;if((b|0)==0|d>>>0>11){a=0;r=S;return a|0}k[a>>2]=b;e=R;f=e+68|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));f=0;do{e=i[c+f>>0]|0;if(e<<24>>24){G=R+((e&255)<<2)|0;k[G>>2]=(k[G>>2]|0)+1}f=f+1|0}while((f|0)!=(b|0));f=0;o=1;g=0;h=-1;n=0;while(1){e=k[R+(o<<2)>>2]|0;if(!e)k[a+28+(o+-1<<2)>>2]=0;else{G=o+-1|0;k[Q+(G<<2)>>2]=f;f=e+f|0;B=16-o|0;k[a+28+(G<<2)>>2]=(f+-1<<B|(1<<B)+-1)+1;k[a+96+(G<<2)>>2]=n;k[v+(o<<2)>>2]=n;g=g>>>0>o>>>0?g:o;h=h>>>0<o>>>0?h:o;n=e+n|0}o=o+1|0;if((o|0)==17){G=g;break}else f=f<<1}k[a+4>>2]=n;f=a+172|0;do if(n>>>0>(k[f>>2]|0)>>>0){k[f>>2]=n;if(n){e=n+-1|0;if(e&n)u=14}else{e=-1;u=14}if((u|0)==14){B=e>>>16|e;B=B>>>8|B;B=B>>>4|B;B=B>>>2|B;B=(B>>>1|B)+1|0;k[f>>2]=B>>>0>b>>>0?b:B}g=a+176|0;e=k[g>>2]|0;do if(e){B=k[e+-4>>2]|0;e=e+-8|0;if(!((B|0)!=0?(B|0)==(~k[e>>2]|0):0)){k[p>>2]=1154;k[p+4>>2]=644;k[p+8>>2]=1863;Ac(H,1100,p)|0;zc(H,s)|0}if(!(e&7)){$a[k[104>>2]&1](e,0,0,1,k[27]|0)|0;break}else{k[t>>2]=1154;k[t+4>>2]=2499;k[t+8>>2]=1516;Ac(H,1100,t)|0;zc(H,q)|0;break}}while(0);f=k[f>>2]|0;f=(f|0)!=0?f:1;e=mb((f<<1)+8|0,0)|0;if(!e){k[g>>2]=0;e=0;break}else{k[e+4>>2]=f;k[e>>2]=~f;k[g>>2]=e+8;u=25;break}}else u=25;while(0);a:do if((u|0)==25){B=a+24|0;i[B>>0]=h;i[a+25>>0]=G;f=a+176|0;g=0;do{A=i[c+g>>0]|0;e=A&255;if(A<<24>>24){if(!(k[R+(e<<2)>>2]|0)){k[w>>2]=1154;k[w+4>>2]=2273;k[w+8>>2]=1261;Ac(H,1100,w)|0;zc(H,x)|0}A=v+(e<<2)|0;e=k[A>>2]|0;k[A>>2]=e+1;if(e>>>0>=n>>>0){k[y>>2]=1154;k[y+4>>2]=2277;k[y+8>>2]=1274;Ac(H,1100,y)|0;zc(H,z)|0}j[(k[f>>2]|0)+(e<<1)>>1]=g}g=g+1|0}while((g|0)!=(b|0));e=i[B>>0]|0;z=(e&255)>>>0<d>>>0?d:0;A=a+8|0;k[A>>2]=z;y=(z|0)!=0;if(y){x=1<<z;e=a+164|0;do if(x>>>0>(k[e>>2]|0)>>>0){k[e>>2]=x;g=a+168|0;e=k[g>>2]|0;do if(e){w=k[e+-4>>2]|0;e=e+-8|0;if(!((w|0)!=0?(w|0)==(~k[e>>2]|0):0)){k[C>>2]=1154;k[C+4>>2]=644;k[C+8>>2]=1863;Ac(H,1100,C)|0;zc(H,D)|0}if(!(e&7)){$a[k[104>>2]&1](e,0,0,1,k[27]|0)|0;break}else{k[E>>2]=1154;k[E+4>>2]=2499;k[E+8>>2]=1516;Ac(H,1100,E)|0;zc(H,F)|0;break}}while(0);e=x<<2;f=mb(e+8|0,0)|0;if(!f){k[g>>2]=0;e=0;break a}else{F=f+8|0;k[f+4>>2]=x;k[f>>2]=~x;k[g>>2]=F;f=F;break}}else{f=a+168|0;e=x<<2;g=f;f=k[f>>2]|0}while(0);ad(f|0,-1,e|0)|0;u=a+176|0;w=1;do{if(k[R+(w<<2)>>2]|0){b=z-w|0;v=1<<b;f=w+-1|0;h=k[Q+(f<<2)>>2]|0;if(f>>>0>=16){k[I>>2]=1154;k[I+4>>2]=1953;k[I+8>>2]=1737;Ac(H,1100,I)|0;zc(H,J)|0}e=k[a+28+(f<<2)>>2]|0;if(!e)t=-1;else t=(e+-1|0)>>>(16-w|0);if(h>>>0<=t>>>0){q=(k[a+96+(f<<2)>>2]|0)-h|0;s=w<<16;do{e=m[(k[u>>2]|0)+(q+h<<1)>>1]|0;if((l[c+e>>0]|0|0)!=(w|0)){k[K>>2]=1154;k[K+4>>2]=2319;k[K+8>>2]=1303;Ac(H,1100,K)|0;zc(H,L)|0}p=h<<b;f=e|s;o=0;do{n=o+p|0;if(n>>>0>=x>>>0){k[M>>2]=1154;k[M+4>>2]=2325;k[M+8>>2]=1337;Ac(H,1100,M)|0;zc(H,N)|0}e=k[g>>2]|0;if((k[e+(n<<2)>>2]|0)!=-1){k[O>>2]=1154;k[O+4>>2]=2327;k[O+8>>2]=1360;Ac(H,1100,O)|0;zc(H,P)|0;e=k[g>>2]|0}k[e+(n<<2)>>2]=f;o=o+1|0}while(o>>>0<v>>>0);h=h+1|0}while(h>>>0<=t>>>0)}}w=w+1|0}while(z>>>0>=w>>>0);e=i[B>>0]|0}f=a+96|0;k[f>>2]=(k[f>>2]|0)-(k[Q>>2]|0);f=a+100|0;k[f>>2]=(k[f>>2]|0)-(k[Q+4>>2]|0);f=a+104|0;k[f>>2]=(k[f>>2]|0)-(k[Q+8>>2]|0);f=a+108|0;k[f>>2]=(k[f>>2]|0)-(k[Q+12>>2]|0);f=a+112|0;k[f>>2]=(k[f>>2]|0)-(k[Q+16>>2]|0);f=a+116|0;k[f>>2]=(k[f>>2]|0)-(k[Q+20>>2]|0);f=a+120|0;k[f>>2]=(k[f>>2]|0)-(k[Q+24>>2]|0);f=a+124|0;k[f>>2]=(k[f>>2]|0)-(k[Q+28>>2]|0);f=a+128|0;k[f>>2]=(k[f>>2]|0)-(k[Q+32>>2]|0);f=a+132|0;k[f>>2]=(k[f>>2]|0)-(k[Q+36>>2]|0);f=a+136|0;k[f>>2]=(k[f>>2]|0)-(k[Q+40>>2]|0);f=a+140|0;k[f>>2]=(k[f>>2]|0)-(k[Q+44>>2]|0);f=a+144|0;k[f>>2]=(k[f>>2]|0)-(k[Q+48>>2]|0);f=a+148|0;k[f>>2]=(k[f>>2]|0)-(k[Q+52>>2]|0);f=a+152|0;k[f>>2]=(k[f>>2]|0)-(k[Q+56>>2]|0);f=a+156|0;k[f>>2]=(k[f>>2]|0)-(k[Q+60>>2]|0);f=a+16|0;k[f>>2]=0;g=a+20|0;k[g>>2]=e&255;b:do if(y){while(1){if(!d)break b;e=d+-1|0;if(!(k[R+(d<<2)>>2]|0))d=e;else break}k[f>>2]=k[a+28+(e<<2)>>2];e=z+1|0;k[g>>2]=e;if(e>>>0<=G>>>0){while(1){if(k[R+(e<<2)>>2]|0)break;e=e+1|0;if(e>>>0>G>>>0)break b}k[g>>2]=e}}while(0);k[a+92>>2]=-1;k[a+160>>2]=1048575;k[a+12>>2]=32-(k[A>>2]|0);e=1}while(0);a=e;r=S;return a|0}function ob(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;if(!a){e=Uc(b)|0;if(!c){c=e;return c|0}if(!e)f=0;else f=Xc(e)|0;k[c>>2]=f;c=e;return c|0}if(!b){Vc(a);if(!c){c=0;return c|0}k[c>>2]=0;c=0;return c|0}e=Wc(a,b)|0;f=(e|0)!=0;if(f|d^1)f=f?e:a;else{e=Wc(a,b)|0;f=(e|0)==0?a:e}if(!c){c=e;return c|0}b=Xc(f)|0;k[c>>2]=b;c=e;return c|0}function pb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!((a|0)!=0&b>>>0>73&(c|0)!=0)){c=0;return c|0}if((k[c>>2]|0)!=40|b>>>0<74){c=0;return c|0}if(((l[a>>0]|0)<<8|(l[a+1>>0]|0)|0)!=18552){c=0;return c|0}if(((l[a+2>>0]|0)<<8|(l[a+3>>0]|0))>>>0<74){c=0;return c|0}if(((l[a+7>>0]|0)<<16|(l[a+6>>0]|0)<<24|(l[a+8>>0]|0)<<8|(l[a+9>>0]|0))>>>0>b>>>0){c=0;return c|0}k[c+4>>2]=(l[a+12>>0]|0)<<8|(l[a+13>>0]|0);k[c+8>>2]=(l[a+14>>0]|0)<<8|(l[a+15>>0]|0);k[c+12>>2]=l[a+16>>0];k[c+16>>2]=l[a+17>>0];b=a+18|0;d=c+32|0;k[d>>2]=l[b>>0];k[d+4>>2]=0;b=i[b>>0]|0;k[c+20>>2]=b<<24>>24==0|b<<24>>24==9?8:16;k[c+24>>2]=(l[a+26>>0]|0)<<16|(l[a+25>>0]|0)<<24|(l[a+27>>0]|0)<<8|(l[a+28>>0]|0);k[c+28>>2]=(l[a+30>>0]|0)<<16|(l[a+29>>0]|0)<<24|(l[a+31>>0]|0)<<8|(l[a+32>>0]|0);c=1;return c|0}function qb(a){a=a|0;Ca(a|0)|0;Vb()}function rb(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+544|0;e=f;d=f+24|0;b=k[a+20>>2]|0;if(b)sb(b);b=a+4|0;c=k[b>>2]|0;if(!c){e=a+16|0;i[e>>0]=0;r=f;return}if(!(c&7))$a[k[104>>2]&1](c,0,0,1,k[27]|0)|0;else{k[e>>2]=1154;k[e+4>>2]=2499;k[e+8>>2]=1516;Ac(d,1100,e)|0;zc(d,f+16|0)|0}k[b>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;e=a+16|0;i[e>>0]=0;r=f;return}function sb(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;o=r;r=r+640|0;n=o+112|0;m=o+96|0;l=o+88|0;j=o+72|0;i=o+64|0;h=o+48|0;d=o+40|0;f=o+24|0;e=o+16|0;c=o;g=o+120|0;if(!a){r=o;return}b=k[a+168>>2]|0;do if(b){p=k[b+-4>>2]|0;b=b+-8|0;if(!((p|0)!=0?(p|0)==(~k[b>>2]|0):0)){k[c>>2]=1154;k[c+4>>2]=644;k[c+8>>2]=1863;Ac(g,1100,c)|0;zc(g,e)|0}if(!(b&7)){$a[k[104>>2]&1](b,0,0,1,k[27]|0)|0;break}else{k[f>>2]=1154;k[f+4>>2]=2499;k[f+8>>2]=1516;Ac(g,1100,f)|0;zc(g,d)|0;break}}while(0);b=k[a+176>>2]|0;do if(b){p=k[b+-4>>2]|0;b=b+-8|0;if(!((p|0)!=0?(p|0)==(~k[b>>2]|0):0)){k[h>>2]=1154;k[h+4>>2]=644;k[h+8>>2]=1863;Ac(g,1100,h)|0;zc(g,i)|0}if(!(b&7)){$a[k[104>>2]&1](b,0,0,1,k[27]|0)|0;break}else{k[j>>2]=1154;k[j+4>>2]=2499;k[j+8>>2]=1516;Ac(g,1100,j)|0;zc(g,l)|0;break}}while(0);if(!(a&7)){$a[k[104>>2]&1](a,0,0,1,k[27]|0)|0;r=o;return}else{k[m>>2]=1154;k[m+4>>2]=2499;k[m+8>>2]=1516;Ac(g,1100,m)|0;zc(g,n)|0;r=o;return}}function tb(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+560|0;g=l+40|0;h=l+24|0;b=l;f=l+48|0;e=a+8|0;c=k[e>>2]|0;if((c+-1|0)>>>0>=8192){k[b>>2]=1154;k[b+4>>2]=2997;k[b+8>>2]=1541;Ac(f,1100,b)|0;zc(f,l+16|0)|0}k[a>>2]=c;d=a+20|0;b=k[d>>2]|0;if(!b){b=mb(180,0)|0;if(!b)b=0;else{j=b+164|0;k[j>>2]=0;k[j+4>>2]=0;k[j+8>>2]=0;k[j+12>>2]=0}k[d>>2]=b;j=b;i=k[a>>2]|0}else{j=b;i=c}if(!(k[e>>2]|0)){k[h>>2]=1154;k[h+4>>2]=903;k[h+8>>2]=1781;Ac(f,1100,h)|0;zc(f,g)|0;f=k[a>>2]|0}else f=i;e=k[a+4>>2]|0;if(f>>>0>16){c=f;b=0}else{a=0;j=nb(j,i,e,a)|0;r=l;return j|0}while(1){d=b+1|0;if(c>>>0>3){c=c>>>1;b=d}else{c=d;break}}a=b+2+((c|0)!=32&1<<c>>>0<f>>>0&1)|0;a=a>>>0<11?a&255:11;j=nb(j,i,e,a)|0;r=l;return j|0}function ub(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=r;r=r+800|0;I=N+256|0;H=N+240|0;G=N+232|0;F=N+216|0;E=N+208|0;D=N+192|0;C=N+184|0;B=N+168|0;A=N+160|0;z=N+144|0;y=N+136|0;x=N+120|0;w=N+112|0;v=N+96|0;u=N+88|0;t=N+72|0;o=N+64|0;n=N+48|0;h=N+40|0;j=N+24|0;f=N+16|0;e=N;L=N+288|0;M=N+264|0;J=vb(a,14)|0;if(!J){k[b>>2]=0;c=b+4|0;d=k[c>>2]|0;if(d){if(!(d&7))$a[k[104>>2]&1](d,0,0,1,k[27]|0)|0;else{k[e>>2]=1154;k[e+4>>2]=2499;k[e+8>>2]=1516;Ac(L,1100,e)|0;zc(L,f)|0}k[c>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0}i[b+16>>0]=0;c=b+20|0;d=k[c>>2]|0;if(!d){b=1;r=N;return b|0}sb(d);k[c>>2]=0;b=1;r=N;return b|0}q=b+4|0;s=b+8|0;c=k[s>>2]|0;if((c|0)!=(J|0)){if(c>>>0<=J>>>0){do if((k[b+12>>2]|0)>>>0<J>>>0){if(kb(q,J,(c+1|0)==(J|0),1,0)|0){c=k[s>>2]|0;break}i[b+16>>0]=1;b=0;r=N;return b|0}while(0);ad((k[q>>2]|0)+c|0,0,J-c|0)|0}k[s>>2]=J}ad(k[q>>2]|0,0,J|0)|0;p=a+20|0;c=k[p>>2]|0;if((c|0)<5){f=a+4|0;g=a+8|0;e=a+16|0;do{d=k[f>>2]|0;if((d|0)==(k[g>>2]|0))d=0;else{k[f>>2]=d+1;d=l[d>>0]|0}c=c+8|0;k[p>>2]=c;if((c|0)>=33){k[j>>2]=1154;k[j+4>>2]=3199;k[j+8>>2]=1650;Ac(L,1100,j)|0;zc(L,h)|0;c=k[p>>2]|0}d=d<<32-c|k[e>>2];k[e>>2]=d}while((c|0)<5)}else{d=a+16|0;e=d;d=k[d>>2]|0}m=d>>>27;k[e>>2]=d<<5;k[p>>2]=c+-5;if((m+-1|0)>>>0>20){b=0;r=N;return b|0}k[M+20>>2]=0;k[M>>2]=0;k[M+4>>2]=0;k[M+8>>2]=0;k[M+12>>2]=0;i[M+16>>0]=0;c=M+4|0;d=M+8|0;a:do if(kb(c,21,0,1,0)|0){h=k[d>>2]|0;j=k[c>>2]|0;ad(j+h|0,0,21-h|0)|0;k[d>>2]=21;if(m){e=a+4|0;f=a+8|0;g=a+16|0;h=0;do{c=k[p>>2]|0;if((c|0)<3)do{d=k[e>>2]|0;if((d|0)==(k[f>>2]|0))d=0;else{k[e>>2]=d+1;d=l[d>>0]|0}c=c+8|0;k[p>>2]=c;if((c|0)>=33){k[n>>2]=1154;k[n+4>>2]=3199;k[n+8>>2]=1650;Ac(L,1100,n)|0;zc(L,o)|0;c=k[p>>2]|0}d=d<<32-c|k[g>>2];k[g>>2]=d}while((c|0)<3);else d=k[g>>2]|0;k[g>>2]=d<<3;k[p>>2]=c+-3;i[j+(l[1611+h>>0]|0)>>0]=d>>>29;h=h+1|0}while((h|0)!=(m|0))}if(tb(M)|0){h=a+4|0;j=a+8|0;m=a+16|0;d=0;b:while(1){g=J-d|0;c=wb(a,M)|0;c:do if(c>>>0<17){if((k[s>>2]|0)>>>0<=d>>>0){k[t>>2]=1154;k[t+4>>2]=903;k[t+8>>2]=1781;Ac(L,1100,t)|0;zc(L,u)|0}i[(k[q>>2]|0)+d>>0]=c;c=d+1|0}else switch(c|0){case 17:{c=k[p>>2]|0;if((c|0)<3)do{e=k[h>>2]|0;if((e|0)==(k[j>>2]|0))e=0;else{k[h>>2]=e+1;e=l[e>>0]|0}c=c+8|0;k[p>>2]=c;if((c|0)>=33){k[v>>2]=1154;k[v+4>>2]=3199;k[v+8>>2]=1650;Ac(L,1100,v)|0;zc(L,w)|0;c=k[p>>2]|0}e=e<<32-c|k[m>>2];k[m>>2]=e}while((c|0)<3);else e=k[m>>2]|0;k[m>>2]=e<<3;k[p>>2]=c+-3;c=(e>>>29)+3|0;if(c>>>0>g>>>0){c=0;break a}c=c+d|0;break c}case 18:{c=k[p>>2]|0;if((c|0)<7)do{e=k[h>>2]|0;if((e|0)==(k[j>>2]|0))e=0;else{k[h>>2]=e+1;e=l[e>>0]|0}c=c+8|0;k[p>>2]=c;if((c|0)>=33){k[x>>2]=1154;k[x+4>>2]=3199;k[x+8>>2]=1650;Ac(L,1100,x)|0;zc(L,y)|0;c=k[p>>2]|0}e=e<<32-c|k[m>>2];k[m>>2]=e}while((c|0)<7);else e=k[m>>2]|0;k[m>>2]=e<<7;k[p>>2]=c+-7;c=(e>>>25)+11|0;if(c>>>0>g>>>0){c=0;break a}c=c+d|0;break c}default:{if((c+-19|0)>>>0>=2){K=90;break b}f=k[p>>2]|0;if((c|0)==19){if((f|0)<2){e=f;while(1){c=k[h>>2]|0;if((c|0)==(k[j>>2]|0))f=0;else{k[h>>2]=c+1;f=l[c>>0]|0}c=e+8|0;k[p>>2]=c;if((c|0)>=33){k[z>>2]=1154;k[z+4>>2]=3199;k[z+8>>2]=1650;Ac(L,1100,z)|0;zc(L,A)|0;c=k[p>>2]|0}e=f<<32-c|k[m>>2];k[m>>2]=e;if((c|0)<2)e=c;else break}}else{e=k[m>>2]|0;c=f}k[m>>2]=e<<2;k[p>>2]=c+-2;f=(e>>>30)+3|0}else{if((f|0)<6){e=f;while(1){c=k[h>>2]|0;if((c|0)==(k[j>>2]|0))f=0;else{k[h>>2]=c+1;f=l[c>>0]|0}c=e+8|0;k[p>>2]=c;if((c|0)>=33){k[B>>2]=1154;k[B+4>>2]=3199;k[B+8>>2]=1650;Ac(L,1100,B)|0;zc(L,C)|0;c=k[p>>2]|0}e=f<<32-c|k[m>>2];k[m>>2]=e;if((c|0)<6)e=c;else break}}else{e=k[m>>2]|0;c=f}k[m>>2]=e<<6;k[p>>2]=c+-6;f=(e>>>26)+7|0}if((d|0)==0|f>>>0>g>>>0){c=0;break a}c=d+-1|0;if((k[s>>2]|0)>>>0<=c>>>0){k[D>>2]=1154;k[D+4>>2]=903;k[D+8>>2]=1781;Ac(L,1100,D)|0;zc(L,E)|0}e=i[(k[q>>2]|0)+c>>0]|0;if(!(e<<24>>24)){c=0;break a}c=f+d|0;if(d>>>0>=c>>>0){c=d;break c}do{if((k[s>>2]|0)>>>0<=d>>>0){k[F>>2]=1154;k[F+4>>2]=903;k[F+8>>2]=1781;Ac(L,1100,F)|0;zc(L,G)|0}i[(k[q>>2]|0)+d>>0]=e;d=d+1|0}while((d|0)!=(c|0))}}while(0);if(J>>>0>c>>>0)d=c;else break}if((K|0)==90){k[H>>2]=1154;k[H+4>>2]=3140;k[H+8>>2]=1632;Ac(L,1100,H)|0;zc(L,I)|0;c=0;break}if((J|0)==(c|0))c=tb(b)|0;else c=0}else c=0}else{i[M+16>>0]=1;c=0}while(0);rb(M);b=c;r=N;return b|0}function vb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;m=r;r=r+544|0;h=m+16|0;g=m;f=m+24|0;if(!b){j=0;r=m;return j|0}if(b>>>0<=16){j=xb(a,b)|0;r=m;return j|0}i=xb(a,b+-16|0)|0;j=a+20|0;b=k[j>>2]|0;if((b|0)<16){d=a+4|0;e=a+8|0;c=a+16|0;do{a=k[d>>2]|0;if((a|0)==(k[e>>2]|0))a=0;else{k[d>>2]=a+1;a=l[a>>0]|0}b=b+8|0;k[j>>2]=b;if((b|0)>=33){k[g>>2]=1154;k[g+4>>2]=3199;k[g+8>>2]=1650;Ac(f,1100,g)|0;zc(f,h)|0;b=k[j>>2]|0}a=a<<32-b|k[c>>2];k[c>>2]=a}while((b|0)<16)}else{a=a+16|0;c=a;a=k[a>>2]|0}k[c>>2]=a<<16;k[j>>2]=b+-16;j=a>>>16|i<<16;r=m;return j|0}function wb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+608|0;t=x+88|0;s=x+72|0;p=x+64|0;o=x+48|0;n=x+40|0;q=x+24|0;j=x+16|0;i=x;v=x+96|0;u=k[b+20>>2]|0;w=a+20|0;h=k[w>>2]|0;do if((h|0)<24){g=a+4|0;d=k[g>>2]|0;e=k[a+8>>2]|0;c=d>>>0<e>>>0;if((h|0)>=16){if(c){k[g>>2]=d+1;c=l[d>>0]|0}else c=0;k[w>>2]=h+8;g=a+16|0;f=c<<24-h|k[g>>2];k[g>>2]=f;break}if(c){f=(l[d>>0]|0)<<8;c=d+1|0}else{f=0;c=d}if(c>>>0<e>>>0){d=l[c>>0]|0;c=c+1|0}else d=0;k[g>>2]=c;k[w>>2]=h+16;g=a+16|0;f=(d|f)<<16-h|k[g>>2];k[g>>2]=f}else{f=a+16|0;g=f;f=k[f>>2]|0}while(0);e=(f>>>16)+1|0;do if(e>>>0<=(k[u+16>>2]|0)>>>0){d=k[(k[u+168>>2]|0)+(f>>>(32-(k[u+8>>2]|0)|0)<<2)>>2]|0;if((d|0)==-1){k[i>>2]=1154;k[i+4>>2]=3244;k[i+8>>2]=1677;Ac(v,1100,i)|0;zc(v,j)|0}c=d&65535;d=d>>>16;if((k[b+8>>2]|0)>>>0<=c>>>0){k[q>>2]=1154;k[q+4>>2]=902;k[q+8>>2]=1781;Ac(v,1100,q)|0;zc(v,n)|0}if((l[(k[b+4>>2]|0)+c>>0]|0|0)!=(d|0)){k[o>>2]=1154;k[o+4>>2]=3248;k[o+8>>2]=1694;Ac(v,1100,o)|0;zc(v,p)|0}}else{d=k[u+20>>2]|0;while(1){c=d+-1|0;if(e>>>0>(k[u+28+(c<<2)>>2]|0)>>>0)d=d+1|0;else break}c=(f>>>(32-d|0))+(k[u+96+(c<<2)>>2]|0)|0;if(c>>>0<(k[b>>2]|0)>>>0){c=m[(k[u+176>>2]|0)+(c<<1)>>1]|0;break}k[s>>2]=1154;k[s+4>>2]=3266;k[s+8>>2]=1632;Ac(v,1100,s)|0;zc(v,t)|0;w=0;r=x;return w|0}while(0);k[g>>2]=k[g>>2]<<d;k[w>>2]=(k[w>>2]|0)-d;w=c;r=x;return w|0}function xb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;m=r;r=r+560|0;h=m+40|0;i=m+24|0;c=m;g=m+48|0;if(b>>>0>=33){k[c>>2]=1154;k[c+4>>2]=3190;k[c+8>>2]=1634;Ac(g,1100,c)|0;zc(g,m+16|0)|0}j=a+20|0;c=k[j>>2]|0;if((c|0)>=(b|0)){f=a+16|0;g=f;f=k[f>>2]|0;h=c;i=32-b|0;i=f>>>i;f=f<<b;k[g>>2]=f;b=h-b|0;k[j>>2]=b;r=m;return i|0}e=a+4|0;f=a+8|0;d=a+16|0;do{a=k[e>>2]|0;if((a|0)==(k[f>>2]|0))a=0;else{k[e>>2]=a+1;a=l[a>>0]|0}c=c+8|0;k[j>>2]=c;if((c|0)>=33){k[i>>2]=1154;k[i+4>>2]=3199;k[i+8>>2]=1650;Ac(g,1100,i)|0;zc(g,h)|0;c=k[j>>2]|0}a=a<<32-c|k[d>>2];k[d>>2]=a}while((c|0)<(b|0));i=32-b|0;i=a>>>i;h=a<<b;k[d>>2]=h;b=c-b|0;k[j>>2]=b;r=m;return i|0}function yb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+544|0;p=s+16|0;o=s;n=s+24|0;if((a|0)==0|b>>>0<62){q=0;r=s;return q|0}m=mb(300,0)|0;if(!m){q=0;r=s;return q|0}k[m>>2]=519686845;c=m+4|0;k[c>>2]=0;d=m+8|0;k[d>>2]=0;j=m+88|0;e=m+136|0;f=m+160|0;g=j;h=g+44|0;do{k[g>>2]=0;g=g+4|0}while((g|0)<(h|0));i[j+44>>0]=0;t=m+184|0;g=m+208|0;h=m+232|0;u=m+252|0;k[u>>2]=0;k[u+4>>2]=0;k[u+8>>2]=0;i[u+12>>0]=0;u=m+268|0;k[u>>2]=0;k[u+4>>2]=0;k[u+8>>2]=0;i[u+12>>0]=0;u=m+284|0;k[u>>2]=0;k[u+4>>2]=0;k[u+8>>2]=0;i[u+12>>0]=0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[e+16>>2]=0;i[e+20>>0]=0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[f+16>>2]=0;i[f+20>>0]=0;k[t>>2]=0;k[t+4>>2]=0;k[t+8>>2]=0;k[t+12>>2]=0;k[t+16>>2]=0;i[t+20>>0]=0;k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;k[g+12>>2]=0;k[g+16>>2]=0;i[g+20>>0]=0;k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;k[h+12>>2]=0;i[h+16>>0]=0;do if(((b>>>0>=74?((l[a>>0]|0)<<8|(l[a+1>>0]|0)|0)==18552:0)?((l[a+2>>0]|0)<<8|(l[a+3>>0]|0))>>>0>=74:0)?((l[a+7>>0]|0)<<16|(l[a+6>>0]|0)<<24|(l[a+8>>0]|0)<<8|(l[a+9>>0]|0))>>>0<=b>>>0:0){k[j>>2]=a;k[c>>2]=a;k[d>>2]=b;if(Hb(m)|0){c=k[j>>2]|0;if((l[c+39>>0]|0)<<8|(l[c+40>>0]|0)){if(!(Ib(m)|0))break;if(!(Jb(m)|0))break;c=k[j>>2]|0}if(!((l[c+55>>0]|0)<<8|(l[c+56>>0]|0))){u=m;r=s;return u|0}if(Kb(m)|0?Lb(m)|0:0){u=m;r=s;return u|0}}}else q=7;while(0);if((q|0)==7)k[j>>2]=0;Qb(m);if(!(m&7)){$a[k[104>>2]&1](m,0,0,1,k[27]|0)|0;u=0;r=s;return u|0}else{k[o>>2]=1154;k[o+4>>2]=2499;k[o+8>>2]=1516;Ac(n,1100,o)|0;zc(n,p)|0;u=0;r=s;return u|0}return 0}function zb(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0;m=r;r=r+544|0;j=m;i=m+24|0;f=k[a+88>>2]|0;h=(l[f+70+(e<<2)+1>>0]|0)<<16|(l[f+70+(e<<2)>>0]|0)<<24|(l[f+70+(e<<2)+2>>0]|0)<<8|(l[f+70+(e<<2)+3>>0]|0);g=e+1|0;if(g>>>0<(l[f+16>>0]|0)>>>0)f=(l[f+70+(g<<2)+1>>0]|0)<<16|(l[f+70+(g<<2)>>0]|0)<<24|(l[f+70+(g<<2)+2>>0]|0)<<8|(l[f+70+(g<<2)+3>>0]|0);else f=k[a+8>>2]|0;if(f>>>0>h>>>0){i=a+4|0;i=k[i>>2]|0;i=i+h|0;j=f-h|0;j=Ab(a,i,j,b,c,d,e)|0;r=m;return j|0}k[j>>2]=1154;k[j+4>>2]=3704;k[j+8>>2]=1792;Ac(i,1100,j)|0;zc(i,m+16|0)|0;i=a+4|0;i=k[i>>2]|0;i=i+h|0;j=f-h|0;j=Ab(a,i,j,b,c,d,e)|0;r=m;return j|0}function Ab(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;var h=0,j=0,m=0,n=0;n=k[a+88>>2]|0;j=((l[n+12>>0]|0)<<8|(l[n+13>>0]|0))>>>g;m=((l[n+14>>0]|0)<<8|(l[n+15>>0]|0))>>>g;j=j>>>0>1?(j+3|0)>>>2:1;m=m>>>0>1?(m+3|0)>>>2:1;n=n+18|0;g=i[n>>0]|0;g=ha(g<<24>>24==0|g<<24>>24==9?8:16,j)|0;if(f)if((f&3|0)==0&g>>>0<=f>>>0)g=f;else{a=0;return a|0}if((ha(g,m)|0)>>>0>e>>>0){a=0;return a|0}f=(j+1|0)>>>1;h=(m+1|0)>>>1;if(!c){a=0;return a|0}k[a+92>>2]=b;k[a+96>>2]=b;k[a+104>>2]=c;k[a+100>>2]=b+c;k[a+108>>2]=0;k[a+112>>2]=0;switch(l[n>>0]|0|0){case 0:{Mb(a,d,e,g,j,m,f,h)|0;a=1;return a|0}case 4:case 6:case 5:case 3:case 2:{Nb(a,d,e,g,j,m,f,h)|0;a=1;return a|0}case 9:{Ob(a,d,e,g,j,m,f,h)|0;a=1;return a|0}case 8:case 7:{Pb(a,d,e,g,j,m,f,h)|0;a=1;return a|0}default:{a=0;return a|0}}return 0}function Bb(a,b){a=a|0;b=b|0;var c=0,d=0;d=r;r=r+48|0;c=d;k[c>>2]=40;pb(a,b,c)|0;r=d;return k[c+4>>2]|0}function Cb(a,b){a=a|0;b=b|0;var c=0,d=0;d=r;r=r+48|0;c=d;k[c>>2]=40;pb(a,b,c)|0;r=d;return k[c+8>>2]|0}function Db(a,b){a=a|0;b=b|0;var c=0,d=0;d=r;r=r+48|0;c=d;k[c>>2]=40;pb(a,b,c)|0;r=d;return k[c+12>>2]|0}function Eb(a,b){a=a|0;b=b|0;var c=0,d=0;d=r;r=r+48|0;c=d;k[c>>2]=40;pb(a,b,c)|0;r=d;return k[c+32>>2]|0}function Fb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+576|0;g=i+56|0;f=i+40|0;e=i+64|0;j=i;k[j>>2]=40;pb(a,b,j)|0;d=(((k[j+4>>2]|0)>>>c)+3|0)>>>2;b=(((k[j+8>>2]|0)>>>c)+3|0)>>>2;c=j+32|0;a=k[c+4>>2]|0;do switch(k[c>>2]|0){case 0:{if(!a)a=8;else h=13;break}case 1:{if(!a)h=12;else h=13;break}case 2:{if(!a)h=12;else h=13;break}case 3:{if(!a)h=12;else h=13;break}case 4:{if(!a)h=12;else h=13;break}case 5:{if(!a)h=12;else h=13;break}case 6:{if(!a)h=12;else h=13;break}case 7:{if(!a)h=12;else h=13;break}case 8:{if(!a)h=12;else h=13;break}case 9:{if(!a)a=8;else h=13;break}default:h=13}while(0);if((h|0)==12)a=16;else if((h|0)==13){k[f>>2]=1154;k[f+4>>2]=2663;k[f+8>>2]=1535;Ac(e,1100,f)|0;zc(e,g)|0;a=0}j=ha(ha(b,d)|0,a)|0;r=i;return j|0}function Gb(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;p=r;r=r+608|0;n=p+80|0;o=p+64|0;h=p+56|0;g=p+40|0;l=p+88|0;q=p;m=p+84|0;k[q>>2]=40;pb(a,b,q)|0;i=(((k[q+4>>2]|0)>>>e)+3|0)>>>2;q=q+32|0;f=k[q+4>>2]|0;do switch(k[q>>2]|0){case 0:{if(!f)f=8;else j=13;break}case 1:{if(!f)j=12;else j=13;break}case 2:{if(!f)j=12;else j=13;break}case 3:{if(!f)j=12;else j=13;break}case 4:{if(!f)j=12;else j=13;break}case 5:{if(!f)j=12;else j=13;break}case 6:{if(!f)j=12;else j=13;break}case 7:{if(!f)j=12;else j=13;break}case 8:{if(!f)j=12;else j=13;break}case 9:{if(!f)f=8;else j=13;break}default:j=13}while(0);if((j|0)==12)f=16;else if((j|0)==13){k[g>>2]=1154;k[g+4>>2]=2663;k[g+8>>2]=1535;Ac(l,1100,g)|0;zc(l,h)|0;f=0}h=ha(f,i)|0;g=yb(a,b)|0;k[m>>2]=c;f=(g|0)==0;if(!(e>>>0>15|(d>>>0<8|f))?(k[g>>2]|0)==519686845:0)zb(g,m,d,h,e)|0;if(f){r=p;return}if((k[g>>2]|0)!=519686845){r=p;return}Qb(g);if(!(g&7)){$a[k[104>>2]&1](g,0,0,1,k[27]|0)|0;r=p;return}else{k[o>>2]=1154;k[o+4>>2]=2499;k[o+8>>2]=1516;Ac(l,1100,o)|0;zc(l,n)|0;r=p;return}}function Hb(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=a+92|0;d=k[a+4>>2]|0;f=a+88|0;e=k[f>>2]|0;b=(l[e+68>>0]|0)<<8|(l[e+67>>0]|0)<<16|(l[e+69>>0]|0);c=d+b|0;e=(l[e+65>>0]|0)<<8|(l[e+66>>0]|0);if(!e){a=0;return a|0}k[g>>2]=c;k[a+96>>2]=c;k[a+104>>2]=e;k[a+100>>2]=d+(e+b);k[a+108>>2]=0;k[a+112>>2]=0;if(!(ub(g,a+116|0)|0)){a=0;return a|0}b=k[f>>2]|0;do if(!((l[b+39>>0]|0)<<8|(l[b+40>>0]|0))){if(!((l[b+55>>0]|0)<<8|(l[b+56>>0]|0))){a=0;return a|0}}else{if(!(ub(g,a+140|0)|0)){a=0;return a|0}if(ub(g,a+188|0)|0){b=k[f>>2]|0;break}else{a=0;return a|0}}while(0);if((l[b+55>>0]|0)<<8|(l[b+56>>0]|0)){if(!(ub(g,a+164|0)|0)){a=0;return a|0}if(!(ub(g,a+212|0)|0)){a=0;return a|0}}a=1;return a|0}function Ib(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+592|0;j=s+16|0;h=s;g=s+72|0;q=s+24|0;d=a+88|0;b=k[d>>2]|0;p=(l[b+39>>0]|0)<<8|(l[b+40>>0]|0);n=a+236|0;f=a+240|0;c=k[f>>2]|0;if((c|0)!=(p|0)){if(c>>>0<=p>>>0){do if((k[a+244>>2]|0)>>>0<p>>>0){if(kb(n,p,(c+1|0)==(p|0),4,0)|0){b=k[f>>2]|0;break}i[a+248>>0]=1;q=0;r=s;return q|0}else b=c;while(0);ad((k[n>>2]|0)+(b<<2)|0,0,p-b<<2|0)|0;b=k[d>>2]|0}k[f>>2]=p}m=a+92|0;c=k[a+4>>2]|0;d=(l[b+34>>0]|0)<<8|(l[b+33>>0]|0)<<16|(l[b+35>>0]|0);e=c+d|0;b=(l[b+37>>0]|0)<<8|(l[b+36>>0]|0)<<16|(l[b+38>>0]|0);if(!b){q=0;r=s;return q|0}k[m>>2]=e;k[a+96>>2]=e;k[a+104>>2]=b;k[a+100>>2]=c+(b+d);k[a+108>>2]=0;k[a+112>>2]=0;k[q+20>>2]=0;k[q>>2]=0;k[q+4>>2]=0;k[q+8>>2]=0;k[q+12>>2]=0;i[q+16>>0]=0;a=q+24|0;k[q+44>>2]=0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;i[a+16>>0]=0;if(ub(m,q)|0?(o=q+24|0,ub(m,o)|0):0){if(!(k[f>>2]|0)){k[h>>2]=1154;k[h+4>>2]=903;k[h+8>>2]=1781;Ac(g,1100,h)|0;zc(g,j)|0}if(!p)b=1;else{d=0;e=0;f=0;b=0;g=0;a=0;h=0;c=k[n>>2]|0;while(1){d=(wb(m,q)|0)+d&31;e=(wb(m,o)|0)+e&63;f=(wb(m,q)|0)+f&31;b=(wb(m,q)|0)+b|0;g=(wb(m,o)|0)+g&63;a=(wb(m,q)|0)+a&31;k[c>>2]=e<<5|d<<11|f|b<<27|g<<21|a<<16;h=h+1|0;if((h|0)==(p|0)){b=1;break}else{b=b&31;c=c+4|0}}}}else b=0;rb(q+24|0);rb(q);q=b;r=s;return q|0}function Jb(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=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=r;r=r+1024|0;h=D+16|0;g=D;f=D+504|0;C=D+480|0;A=D+284|0;B=D+88|0;z=D+24|0;e=k[a+88>>2]|0;y=(l[e+47>>0]|0)<<8|(l[e+48>>0]|0);x=a+92|0;b=k[a+4>>2]|0;c=(l[e+42>>0]|0)<<8|(l[e+41>>0]|0)<<16|(l[e+43>>0]|0);d=b+c|0;e=(l[e+45>>0]|0)<<8|(l[e+44>>0]|0)<<16|(l[e+46>>0]|0);if(!e){C=0;r=D;return C|0}k[x>>2]=d;k[a+96>>2]=d;k[a+104>>2]=e;k[a+100>>2]=b+(e+c);k[a+108>>2]=0;k[a+112>>2]=0;k[C+20>>2]=0;k[C>>2]=0;k[C+4>>2]=0;k[C+8>>2]=0;k[C+12>>2]=0;i[C+16>>0]=0;if(ub(x,C)|0){c=0;d=-3;e=-3;while(1){k[A+(c<<2)>>2]=d;k[B+(c<<2)>>2]=e;b=(d|0)>2;c=c+1|0;if((c|0)==49)break;else{d=b?-3:d+1|0;e=(b&1)+e|0}}b=z;c=b+64|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(c|0));w=a+252|0;c=a+256|0;b=k[c>>2]|0;a:do if((b|0)==(y|0))j=13;else{if(b>>>0<=y>>>0){do if((k[a+260>>2]|0)>>>0<y>>>0)if(kb(w,y,(b+1|0)==(y|0),4,0)|0){b=k[c>>2]|0;break}else{i[a+264>>0]=1;b=0;break a}while(0);ad((k[w>>2]|0)+(b<<2)|0,0,y-b<<2|0)|0}k[c>>2]=y;j=13}while(0);do if((j|0)==13){if(!y){k[g>>2]=1154;k[g+4>>2]=903;k[g+8>>2]=1781;Ac(f,1100,g)|0;zc(f,h)|0;b=1;break}d=z+4|0;e=z+8|0;a=z+12|0;f=z+16|0;g=z+20|0;h=z+24|0;j=z+28|0;m=z+32|0;n=z+36|0;o=z+40|0;p=z+44|0;q=z+48|0;s=z+52|0;t=z+56|0;u=z+60|0;v=0;c=k[w>>2]|0;while(1){b=0;do{E=wb(x,C)|0;w=b<<1;F=z+(w<<2)|0;k[F>>2]=(k[F>>2]|0)+(k[A+(E<<2)>>2]|0)&3;w=z+((w|1)<<2)|0;k[w>>2]=(k[w>>2]|0)+(k[B+(E<<2)>>2]|0)&3;b=b+1|0}while((b|0)!=8);k[c>>2]=(l[1725+(k[d>>2]|0)>>0]|0)<<2|(l[1725+(k[z>>2]|0)>>0]|0)|(l[1725+(k[e>>2]|0)>>0]|0)<<4|(l[1725+(k[a>>2]|0)>>0]|0)<<6|(l[1725+(k[f>>2]|0)>>0]|0)<<8|(l[1725+(k[g>>2]|0)>>0]|0)<<10|(l[1725+(k[h>>2]|0)>>0]|0)<<12|(l[1725+(k[j>>2]|0)>>0]|0)<<14|(l[1725+(k[m>>2]|0)>>0]|0)<<16|(l[1725+(k[n>>2]|0)>>0]|0)<<18|(l[1725+(k[o>>2]|0)>>0]|0)<<20|(l[1725+(k[p>>2]|0)>>0]|0)<<22|(l[1725+(k[q>>2]|0)>>0]|0)<<24|(l[1725+(k[s>>2]|0)>>0]|0)<<26|(l[1725+(k[t>>2]|0)>>0]|0)<<28|(l[1725+(k[u>>2]|0)>>0]|0)<<30;v=v+1|0;if((v|0)==(y|0)){b=1;break}else c=c+4|0}}while(0)}else b=0;rb(C);F=b;r=D;return F|0}function Kb(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+560|0;m=q+16|0;h=q;g=q+48|0;p=q+24|0;e=k[a+88>>2]|0;o=(l[e+55>>0]|0)<<8|(l[e+56>>0]|0);n=a+92|0;b=k[a+4>>2]|0;c=(l[e+50>>0]|0)<<8|(l[e+49>>0]|0)<<16|(l[e+51>>0]|0);d=b+c|0;e=(l[e+53>>0]|0)<<8|(l[e+52>>0]|0)<<16|(l[e+54>>0]|0);if(!e){p=0;r=q;return p|0}k[n>>2]=d;k[a+96>>2]=d;k[a+104>>2]=e;k[a+100>>2]=b+(e+c);k[a+108>>2]=0;k[a+112>>2]=0;k[p+20>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[p+12>>2]=0;i[p+16>>0]=0;a:do if(ub(n,p)|0){f=a+268|0;c=a+272|0;b=k[c>>2]|0;if((b|0)!=(o|0)){if(b>>>0<=o>>>0){do if((k[a+276>>2]|0)>>>0<o>>>0)if(kb(f,o,(b+1|0)==(o|0),2,0)|0){b=k[c>>2]|0;break}else{i[a+280>>0]=1;b=0;break a}while(0);ad((k[f>>2]|0)+(b<<1)|0,0,o-b<<1|0)|0}k[c>>2]=o}if(!o){k[h>>2]=1154;k[h+4>>2]=903;k[h+8>>2]=1781;Ac(g,1100,h)|0;zc(g,m)|0;b=1;break}c=0;d=0;e=0;b=k[f>>2]|0;while(1){m=wb(n,p)|0;c=m+c&255;d=(wb(n,p)|0)+d&255;j[b>>1]=d<<8|c;e=e+1|0;if((e|0)==(o|0)){b=1;break}else b=b+2|0}}else b=0;while(0);rb(p);p=b;r=q;return p|0}function Lb(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=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=r;r=r+2432|0;h=E+16|0;g=E;f=E+1912|0;D=E+1888|0;B=E+988|0;C=E+88|0;A=E+24|0;e=k[a+88>>2]|0;z=(l[e+63>>0]|0)<<8|(l[e+64>>0]|0);y=a+92|0;b=k[a+4>>2]|0;c=(l[e+58>>0]|0)<<8|(l[e+57>>0]|0)<<16|(l[e+59>>0]|0);d=b+c|0;e=(l[e+61>>0]|0)<<8|(l[e+60>>0]|0)<<16|(l[e+62>>0]|0);if(!e){D=0;r=E;return D|0}k[y>>2]=d;k[a+96>>2]=d;k[a+104>>2]=e;k[a+100>>2]=b+(e+c);k[a+108>>2]=0;k[a+112>>2]=0;k[D+20>>2]=0;k[D>>2]=0;k[D+4>>2]=0;k[D+8>>2]=0;k[D+12>>2]=0;i[D+16>>0]=0;if(ub(y,D)|0){c=0;d=-7;e=-7;while(1){k[B+(c<<2)>>2]=d;k[C+(c<<2)>>2]=e;b=(d|0)>6;c=c+1|0;if((c|0)==225)break;else{d=b?-7:d+1|0;e=(b&1)+e|0}}b=A;c=b+64|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(c|0));x=a+284|0;c=z*3|0;d=a+288|0;b=k[d>>2]|0;a:do if((b|0)==(c|0))m=13;else{if(b>>>0<=c>>>0){do if((k[a+292>>2]|0)>>>0<c>>>0)if(kb(x,c,(b+1|0)==(c|0),2,0)|0){b=k[d>>2]|0;break}else{i[a+296>>0]=1;b=0;break a}while(0);ad((k[x>>2]|0)+(b<<1)|0,0,c-b<<1|0)|0}k[d>>2]=c;m=13}while(0);do if((m|0)==13){if(!z){k[g>>2]=1154;k[g+4>>2]=903;k[g+8>>2]=1781;Ac(f,1100,g)|0;zc(f,h)|0;b=1;break}d=A+4|0;e=A+8|0;a=A+12|0;f=A+16|0;g=A+20|0;h=A+24|0;m=A+28|0;n=A+32|0;o=A+36|0;p=A+40|0;q=A+44|0;s=A+48|0;t=A+52|0;u=A+56|0;v=A+60|0;w=0;c=k[x>>2]|0;while(1){b=0;do{F=wb(y,D)|0;x=b<<1;G=A+(x<<2)|0;k[G>>2]=(k[G>>2]|0)+(k[B+(F<<2)>>2]|0)&7;x=A+((x|1)<<2)|0;k[x>>2]=(k[x>>2]|0)+(k[C+(F<<2)>>2]|0)&7;b=b+1|0}while((b|0)!=8);F=l[1729+(k[g>>2]|0)>>0]|0;j[c>>1]=(l[1729+(k[d>>2]|0)>>0]|0)<<3|(l[1729+(k[A>>2]|0)>>0]|0)|(l[1729+(k[e>>2]|0)>>0]|0)<<6|(l[1729+(k[a>>2]|0)>>0]|0)<<9|(l[1729+(k[f>>2]|0)>>0]|0)<<12|F<<15;G=l[1729+(k[p>>2]|0)>>0]|0;j[c+2>>1]=(l[1729+(k[h>>2]|0)>>0]|0)<<2|F>>>1|(l[1729+(k[m>>2]|0)>>0]|0)<<5|(l[1729+(k[n>>2]|0)>>0]|0)<<8|(l[1729+(k[o>>2]|0)>>0]|0)<<11|G<<14;j[c+4>>1]=(l[1729+(k[q>>2]|0)>>0]|0)<<1|G>>>2|(l[1729+(k[s>>2]|0)>>0]|0)<<4|(l[1729+(k[t>>2]|0)>>0]|0)<<7|(l[1729+(k[u>>2]|0)>>0]|0)<<10|(l[1729+(k[v>>2]|0)>>0]|0)<<13;w=w+1|0;if((w|0)==(z|0)){b=1;break}else c=c+6|0}}while(0)}else b=0;rb(D);G=b;r=E;return G|0}function Mb(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;var j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0;pa=r;r=r+720|0;oa=pa+184|0;ma=pa+168|0;la=pa+160|0;ka=pa+144|0;ja=pa+136|0;ia=pa+120|0;ga=pa+112|0;ea=pa+96|0;da=pa+88|0;ca=pa+72|0;ba=pa+64|0;aa=pa+48|0;$=pa+40|0;na=pa+24|0;fa=pa+16|0;_=pa;Y=pa+208|0;Z=pa+192|0;R=a+240|0;S=k[R>>2]|0;V=a+256|0;W=k[V>>2]|0;c=i[(k[a+88>>2]|0)+17>>0]|0;X=d>>>2;if(!(c<<24>>24)){r=pa;return 1}T=(h|0)==0;U=h+-1|0;K=(f&1|0)!=0;L=d<<1;M=a+92|0;N=a+116|0;O=a+140|0;P=a+236|0;Q=g+-1|0;J=(e&1|0)!=0;I=a+188|0;D=a+252|0;E=X+1|0;F=X+2|0;G=X+3|0;H=Q<<4;B=c&255;c=0;f=0;e=1;C=0;do{if(!T){z=k[b+(C<<2)>>2]|0;A=0;while(1){w=A&1;j=(w|0)==0;v=(w<<5^32)+-16|0;w=(w<<1^2)+-1|0;y=j?g:-1;m=j?0:Q;a=(A|0)==(U|0);x=K&a;if((m|0)!=(y|0)){u=K&a^1;t=j?z:z+H|0;while(1){if((e|0)==1)e=wb(M,N)|0|512;s=e&7;e=e>>>3;j=l[1823+s>>0]|0;a=0;do{p=(wb(M,O)|0)+f|0;q=p-S|0;f=q>>31;f=f&p|q&~f;if((k[R>>2]|0)>>>0<=f>>>0){k[_>>2]=1154;k[_+4>>2]=903;k[_+8>>2]=1781;Ac(Y,1100,_)|0;zc(Y,fa)|0}k[Z+(a<<2)>>2]=k[(k[P>>2]|0)+(f<<2)>>2];a=a+1|0}while(a>>>0<j>>>0);q=J&(m|0)==(Q|0);if(x|q){p=0;do{n=ha(p,d)|0;a=t+n|0;j=(p|0)==0|u;o=p<<1;ra=(wb(M,I)|0)+c|0;qa=ra-W|0;c=qa>>31;c=c&ra|qa&~c;do if(q){if(!j){qa=(wb(M,I)|0)+c|0;ra=qa-W|0;c=ra>>31;c=c&qa|ra&~c;break}k[a>>2]=k[Z+((l[1831+(s<<2)+o>>0]|0)<<2)>>2];if((k[V>>2]|0)>>>0<=c>>>0){k[ka>>2]=1154;k[ka+4>>2]=903;k[ka+8>>2]=1781;Ac(Y,1100,ka)|0;zc(Y,la)|0}k[t+(n+4)>>2]=k[(k[D>>2]|0)+(c<<2)>>2];qa=(wb(M,I)|0)+c|0;ra=qa-W|0;c=ra>>31;c=c&qa|ra&~c}else{if(!j){qa=(wb(M,I)|0)+c|0;ra=qa-W|0;c=ra>>31;c=c&qa|ra&~c;break}k[a>>2]=k[Z+((l[1831+(s<<2)+o>>0]|0)<<2)>>2];if((k[V>>2]|0)>>>0<=c>>>0){k[ia>>2]=1154;k[ia+4>>2]=903;k[ia+8>>2]=1781;Ac(Y,1100,ia)|0;zc(Y,ja)|0}k[t+(n+4)>>2]=k[(k[D>>2]|0)+(c<<2)>>2];qa=(wb(M,I)|0)+c|0;ra=qa-W|0;c=ra>>31;c=c&qa|ra&~c;k[t+(n+8)>>2]=k[Z+((l[(o|1)+(1831+(s<<2))>>0]|0)<<2)>>2];if((k[V>>2]|0)>>>0<=c>>>0){k[ma>>2]=1154;k[ma+4>>2]=903;k[ma+8>>2]=1781;Ac(Y,1100,ma)|0;zc(Y,oa)|0}k[t+(n+12)>>2]=k[(k[D>>2]|0)+(c<<2)>>2]}while(0);p=p+1|0}while((p|0)!=2)}else{k[t>>2]=k[Z+((l[1831+(s<<2)>>0]|0)<<2)>>2];qa=(wb(M,I)|0)+c|0;ra=qa-W|0;c=ra>>31;c=c&qa|ra&~c;if((k[V>>2]|0)>>>0<=c>>>0){k[na>>2]=1154;k[na+4>>2]=903;k[na+8>>2]=1781;Ac(Y,1100,na)|0;zc(Y,$)|0}k[t+4>>2]=k[(k[D>>2]|0)+(c<<2)>>2];k[t+8>>2]=k[Z+((l[1831+(s<<2)+1>>0]|0)<<2)>>2];qa=(wb(M,I)|0)+c|0;ra=qa-W|0;c=ra>>31;c=c&qa|ra&~c;if((k[V>>2]|0)>>>0<=c>>>0){k[aa>>2]=1154;k[aa+4>>2]=903;k[aa+8>>2]=1781;Ac(Y,1100,aa)|0;zc(Y,ba)|0}k[t+12>>2]=k[(k[D>>2]|0)+(c<<2)>>2];k[t+(X<<2)>>2]=k[Z+((l[1831+(s<<2)+2>>0]|0)<<2)>>2];qa=(wb(M,I)|0)+c|0;ra=qa-W|0;c=ra>>31;c=c&qa|ra&~c;if((k[V>>2]|0)>>>0<=c>>>0){k[ca>>2]=1154;k[ca+4>>2]=903;k[ca+8>>2]=1781;Ac(Y,1100,ca)|0;zc(Y,da)|0}k[t+(E<<2)>>2]=k[(k[D>>2]|0)+(c<<2)>>2];k[t+(F<<2)>>2]=k[Z+((l[1831+(s<<2)+3>>0]|0)<<2)>>2];qa=(wb(M,I)|0)+c|0;ra=qa-W|0;c=ra>>31;c=c&qa|ra&~c;if((k[V>>2]|0)>>>0<=c>>>0){k[ea>>2]=1154;k[ea+4>>2]=903;k[ea+8>>2]=1781;Ac(Y,1100,ea)|0;zc(Y,ga)|0}k[t+(G<<2)>>2]=k[(k[D>>2]|0)+(c<<2)>>2]}m=m+w|0;if((m|0)==(y|0))break;else t=t+v|0}}A=A+1|0;if((A|0)==(h|0))break;else z=z+L|0}}C=C+1|0}while((C|0)!=(B|0));r=pa;return 1}function Nb(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;var j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0;qa=r;r=r+640|0;na=qa+88|0;ma=qa+72|0;la=qa+64|0;ka=qa+48|0;ja=qa+40|0;pa=qa+24|0;oa=qa+16|0;ia=qa;ga=qa+128|0;ha=qa+112|0;fa=qa+96|0;S=a+240|0;T=k[S>>2]|0;W=a+256|0;ca=k[W>>2]|0;da=a+272|0;ea=k[da>>2]|0;c=k[a+88>>2]|0;U=(l[c+63>>0]|0)<<8|(l[c+64>>0]|0);c=i[c+17>>0]|0;if(!(c<<24>>24)){r=qa;return 1}V=(h|0)==0;X=h+-1|0;Y=d<<1;Z=a+92|0;_=a+116|0;$=g+-1|0;aa=a+212|0;ba=a+188|0;R=(e&1|0)==0;Q=(f&1|0)==0;K=a+288|0;L=a+284|0;M=a+252|0;N=a+140|0;O=a+236|0;P=a+164|0;I=a+268|0;J=$<<5;G=c&255;c=0;e=0;f=0;a=0;j=1;H=0;do{if(!V){E=k[b+(H<<2)>>2]|0;F=0;while(1){C=F&1;n=(C|0)==0;B=(C<<6^64)+-32|0;C=(C<<1^2)+-1|0;D=n?g:-1;o=n?0:$;if((o|0)!=(D|0)){A=Q|(F|0)!=(X|0);z=n?E:E+J|0;while(1){if((j|0)==1)j=wb(Z,_)|0|512;y=j&7;j=j>>>3;p=l[1823+y>>0]|0;n=0;do{w=(wb(Z,P)|0)+e|0;x=w-ea|0;e=x>>31;e=e&w|x&~e;if((k[da>>2]|0)>>>0<=e>>>0){k[ia>>2]=1154;k[ia+4>>2]=903;k[ia+8>>2]=1781;Ac(ga,1100,ia)|0;zc(ga,oa)|0}k[fa+(n<<2)>>2]=m[(k[I>>2]|0)+(e<<1)>>1];n=n+1|0}while(n>>>0<p>>>0);n=0;do{w=(wb(Z,N)|0)+a|0;x=w-T|0;a=x>>31;a=a&w|x&~a;if((k[S>>2]|0)>>>0<=a>>>0){k[pa>>2]=1154;k[pa+4>>2]=903;k[pa+8>>2]=1781;Ac(ga,1100,pa)|0;zc(ga,ja)|0}k[ha+(n<<2)>>2]=k[(k[O>>2]|0)+(a<<2)>>2];n=n+1|0}while(n>>>0<p>>>0);x=R|(o|0)!=($|0);v=0;w=z;while(1){u=A|(v|0)==0;t=v<<1;q=0;s=w;while(1){p=(wb(Z,aa)|0)+c|0;n=p-U|0;c=n>>31;c=c&p|n&~c;n=(wb(Z,ba)|0)+f|0;p=n-ca|0;f=p>>31;f=f&n|p&~f;if((x|(q|0)==0)&u){n=l[q+t+(1831+(y<<2))>>0]|0;p=c*3|0;if((k[K>>2]|0)>>>0<=p>>>0){k[ka>>2]=1154;k[ka+4>>2]=903;k[ka+8>>2]=1781;Ac(ga,1100,ka)|0;zc(ga,la)|0}ra=k[L>>2]|0;k[s>>2]=(m[ra+(p<<1)>>1]|0)<<16|k[fa+(n<<2)>>2];k[s+4>>2]=(m[ra+(p+2<<1)>>1]|0)<<16|(m[ra+(p+1<<1)>>1]|0);k[s+8>>2]=k[ha+(n<<2)>>2];if((k[W>>2]|0)>>>0<=f>>>0){k[ma>>2]=1154;k[ma+4>>2]=903;k[ma+8>>2]=1781;Ac(ga,1100,ma)|0;zc(ga,na)|0}k[s+12>>2]=k[(k[M>>2]|0)+(f<<2)>>2]}q=q+1|0;if((q|0)==2)break;else s=s+16|0}v=v+1|0;if((v|0)==2)break;else w=w+d|0}o=o+C|0;if((o|0)==(D|0))break;else z=z+B|0}}F=F+1|0;if((F|0)==(h|0))break;else E=E+Y|0}}H=H+1|0}while((H|0)!=(G|0));r=qa;return 1}function Ob(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;var j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=r;r=r+608|0;$=ca+64|0;_=ca+48|0;Z=ca+40|0;ba=ca+24|0;aa=ca+16|0;Y=ca;X=ca+88|0;W=ca+72|0;M=a+272|0;N=k[M>>2]|0;c=k[a+88>>2]|0;O=(l[c+63>>0]|0)<<8|(l[c+64>>0]|0);c=i[c+17>>0]|0;if(!(c<<24>>24)){r=ca;return 1}P=(h|0)==0;Q=h+-1|0;R=d<<1;S=a+92|0;T=a+116|0;U=g+-1|0;V=a+212|0;L=(f&1|0)==0;I=a+288|0;J=a+284|0;K=a+164|0;G=a+268|0;H=U<<4;F=c&255;E=(e&1|0)!=0;c=0;f=0;a=1;D=0;do{if(!P){B=k[b+(D<<2)>>2]|0;C=0;while(1){z=C&1;e=(z|0)==0;y=(z<<5^32)+-16|0;z=(z<<1^2)+-1|0;A=e?g:-1;j=e?0:U;if((j|0)!=(A|0)){x=L|(C|0)!=(Q|0);w=e?B:B+H|0;while(1){if((a|0)==1)a=wb(S,T)|0|512;v=a&7;a=a>>>3;n=l[1823+v>>0]|0;e=0;do{t=(wb(S,K)|0)+f|0;u=t-N|0;f=u>>31;f=f&t|u&~f;if((k[M>>2]|0)>>>0<=f>>>0){k[Y>>2]=1154;k[Y+4>>2]=903;k[Y+8>>2]=1781;Ac(X,1100,Y)|0;zc(X,aa)|0}k[W+(e<<2)>>2]=m[(k[G>>2]|0)+(f<<1)>>1];e=e+1|0}while(e>>>0<n>>>0);u=(j|0)==(U|0)&E;s=0;t=w;while(1){q=x|(s|0)==0;p=s<<1;e=(wb(S,V)|0)+c|0;o=e-O|0;n=o>>31;n=n&e|o&~n;if(q){c=l[1831+(v<<2)+p>>0]|0;e=n*3|0;if((k[I>>2]|0)>>>0<=e>>>0){k[ba>>2]=1154;k[ba+4>>2]=903;k[ba+8>>2]=1781;Ac(X,1100,ba)|0;zc(X,Z)|0}o=k[J>>2]|0;k[t>>2]=(m[o+(e<<1)>>1]|0)<<16|k[W+(c<<2)>>2];k[t+4>>2]=(m[o+(e+2<<1)>>1]|0)<<16|(m[o+(e+1<<1)>>1]|0)}o=t+8|0;e=(wb(S,V)|0)+n|0;n=e-O|0;c=n>>31;c=c&e|n&~c;if(!(u|q^1)){e=l[(p|1)+(1831+(v<<2))>>0]|0;n=c*3|0;if((k[I>>2]|0)>>>0<=n>>>0){k[_>>2]=1154;k[_+4>>2]=903;k[_+8>>2]=1781;Ac(X,1100,_)|0;zc(X,$)|0}q=k[J>>2]|0;k[o>>2]=(m[q+(n<<1)>>1]|0)<<16|k[W+(e<<2)>>2];k[t+12>>2]=(m[q+(n+2<<1)>>1]|0)<<16|(m[q+(n+1<<1)>>1]|0)}s=s+1|0;if((s|0)==2)break;else t=t+d|0}j=j+z|0;if((j|0)==(A|0))break;else w=w+y|0}}C=C+1|0;if((C|0)==(h|0))break;else B=B+R|0}}D=D+1|0}while((D|0)!=(F|0));r=ca;return 1}function Pb(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;var j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0;la=r;r=r+640|0;ia=la+88|0;ha=la+72|0;ga=la+64|0;fa=la+48|0;ea=la+40|0;ka=la+24|0;ja=la+16|0;da=la;ca=la+128|0;aa=la+112|0;ba=la+96|0;S=a+272|0;T=k[S>>2]|0;c=k[a+88>>2]|0;U=(l[c+63>>0]|0)<<8|(l[c+64>>0]|0);c=i[c+17>>0]|0;if(!(c<<24>>24)){r=la;return 1}V=(h|0)==0;W=h+-1|0;X=d<<1;Y=a+92|0;Z=a+116|0;_=g+-1|0;$=a+212|0;R=(e&1|0)==0;Q=(f&1|0)==0;N=a+288|0;O=a+284|0;P=a+164|0;L=a+268|0;M=_<<5;J=c&255;c=0;e=0;f=0;a=0;j=1;K=0;do{if(!V){H=k[b+(K<<2)>>2]|0;I=0;while(1){F=I&1;n=(F|0)==0;E=(F<<6^64)+-32|0;F=(F<<1^2)+-1|0;G=n?g:-1;o=n?0:_;if((o|0)!=(G|0)){D=Q|(I|0)!=(W|0);C=n?H:H+M|0;while(1){if((j|0)==1)j=wb(Y,Z)|0|512;B=j&7;j=j>>>3;p=l[1823+B>>0]|0;n=0;do{z=(wb(Y,P)|0)+a|0;A=z-T|0;a=A>>31;a=a&z|A&~a;if((k[S>>2]|0)>>>0<=a>>>0){k[da>>2]=1154;k[da+4>>2]=903;k[da+8>>2]=1781;Ac(ca,1100,da)|0;zc(ca,ja)|0}k[aa+(n<<2)>>2]=m[(k[L>>2]|0)+(a<<1)>>1];n=n+1|0}while(n>>>0<p>>>0);n=0;do{z=(wb(Y,P)|0)+e|0;A=z-T|0;e=A>>31;e=e&z|A&~e;if((k[S>>2]|0)>>>0<=e>>>0){k[ka>>2]=1154;k[ka+4>>2]=903;k[ka+8>>2]=1781;Ac(ca,1100,ka)|0;zc(ca,ea)|0}k[ba+(n<<2)>>2]=m[(k[L>>2]|0)+(e<<1)>>1];n=n+1|0}while(n>>>0<p>>>0);A=R|(o|0)!=(_|0);y=0;z=C;while(1){x=D|(y|0)==0;w=y<<1;u=0;v=z;while(1){t=(wb(Y,$)|0)+f|0;s=t-U|0;f=s>>31;f=f&t|s&~f;s=(wb(Y,$)|0)+c|0;t=s-U|0;c=t>>31;c=c&s|t&~c;if((A|(u|0)==0)&x){s=l[u+w+(1831+(B<<2))>>0]|0;t=f*3|0;n=k[N>>2]|0;if(n>>>0<=t>>>0){k[fa>>2]=1154;k[fa+4>>2]=903;k[fa+8>>2]=1781;Ac(ca,1100,fa)|0;zc(ca,ga)|0;n=k[N>>2]|0}p=k[O>>2]|0;q=c*3|0;if(n>>>0>q>>>0)n=p;else{k[ha>>2]=1154;k[ha+4>>2]=903;k[ha+8>>2]=1781;Ac(ca,1100,ha)|0;zc(ca,ia)|0;n=k[O>>2]|0}k[v>>2]=(m[p+(t<<1)>>1]|0)<<16|k[aa+(s<<2)>>2];k[v+4>>2]=(m[p+(t+2<<1)>>1]|0)<<16|(m[p+(t+1<<1)>>1]|0);k[v+8>>2]=(m[n+(q<<1)>>1]|0)<<16|k[ba+(s<<2)>>2];k[v+12>>2]=(m[n+(q+2<<1)>>1]|0)<<16|(m[n+(q+1<<1)>>1]|0)}u=u+1|0;if((u|0)==2)break;else v=v+16|0}y=y+1|0;if((y|0)==2)break;else z=z+d|0}o=o+F|0;if((o|0)==(G|0))break;else C=C+E|0}}I=I+1|0;if((I|0)==(h|0))break;else H=H+X|0}}K=K+1|0}while((K|0)!=(J|0));r=la;return 1}function Qb(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+608|0;n=o+88|0;m=o+72|0;j=o+64|0;h=o+48|0;f=o+40|0;g=o+24|0;e=o+16|0;d=o;l=o+96|0;k[a>>2]=0;b=a+284|0;c=k[b>>2]|0;if(c){if(!(c&7))$a[k[104>>2]&1](c,0,0,1,k[27]|0)|0;else{k[d>>2]=1154;k[d+4>>2]=2499;k[d+8>>2]=1516;Ac(l,1100,d)|0;zc(l,e)|0}k[b>>2]=0;k[a+288>>2]=0;k[a+292>>2]=0}i[a+296>>0]=0;b=a+268|0;c=k[b>>2]|0;if(c){if(!(c&7))$a[k[104>>2]&1](c,0,0,1,k[27]|0)|0;else{k[g>>2]=1154;k[g+4>>2]=2499;k[g+8>>2]=1516;Ac(l,1100,g)|0;zc(l,f)|0}k[b>>2]=0;k[a+272>>2]=0;k[a+276>>2]=0}i[a+280>>0]=0;b=a+252|0;c=k[b>>2]|0;if(c){if(!(c&7))$a[k[104>>2]&1](c,0,0,1,k[27]|0)|0;else{k[h>>2]=1154;k[h+4>>2]=2499;k[h+8>>2]=1516;Ac(l,1100,h)|0;zc(l,j)|0}k[b>>2]=0;k[a+256>>2]=0;k[a+260>>2]=0}i[a+264>>0]=0;b=a+236|0;c=k[b>>2]|0;if(!c){n=a+248|0;i[n>>0]=0;n=a+212|0;rb(n);n=a+188|0;rb(n);n=a+164|0;rb(n);n=a+140|0;rb(n);n=a+116|0;rb(n);r=o;return}if(!(c&7))$a[k[104>>2]&1](c,0,0,1,k[27]|0)|0;else{k[m>>2]=1154;k[m+4>>2]=2499;k[m+8>>2]=1516;Ac(l,1100,m)|0;zc(l,n)|0}k[b>>2]=0;k[a+240>>2]=0;k[a+244>>2]=0;n=a+248|0;i[n>>0]=0;n=a+212|0;rb(n);n=a+188|0;rb(n);n=a+164|0;rb(n);n=a+140|0;rb(n);n=a+116|0;rb(n);r=o;return}function Rb(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c>>2]=b;b=k[63]|0;Bc(b,a,c)|0;xc(10,b)|0;Na()}function Sb(){var a=0,b=0;a=r;r=r+16|0;if(!(Ha(200,2)|0)){b=Fa(k[49]|0)|0;r=a;return b|0}else Rb(2090,a);return 0}function Tb(a){a=a|0;Vc(a);return}function Ub(a){a=a|0;var b=0;b=r;r=r+16|0;Za[a&3]();Rb(2139,b)}function Vb(){var a=0,b=0;a=Sb()|0;if(((a|0)!=0?(b=k[a>>2]|0,(b|0)!=0):0)?(a=b+48|0,(k[a>>2]&-256|0)==1126902528?(k[a+4>>2]|0)==1129074247:0):0)Ub(k[b+12>>2]|0);b=k[28]|0;k[28]=b+0;Ub(b)}function Wb(a){a=a|0;return}function Xb(a){a=a|0;return}function Yb(a){a=a|0;return}function Zb(a){a=a|0;return}function _b(a){a=a|0;Tb(a);return}function $b(a){a=a|0;Tb(a);return}function ac(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+64|0;f=g;if((a|0)!=(b|0))if((b|0)!=0?(e=ec(b,24,40,0)|0,(e|0)!=0):0){b=f;d=b+56|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(d|0));k[f>>2]=e;k[f+8>>2]=a;k[f+12>>2]=-1;k[f+48>>2]=1;ab[k[(k[e>>2]|0)+28>>2]&3](e,f,k[c>>2]|0,1);if((k[f+24>>2]|0)==1){k[c>>2]=k[f+16>>2];b=1}else b=0}else b=0;else b=1;r=g;return b|0}function bc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;a=b+16|0;e=k[a>>2]|0;do if(e){if((e|0)!=(c|0)){d=b+36|0;k[d>>2]=(k[d>>2]|0)+1;k[b+24>>2]=2;i[b+54>>0]=1;break}a=b+24|0;if((k[a>>2]|0)==2)k[a>>2]=d}else{k[a>>2]=c;k[b+24>>2]=d;k[b+36>>2]=1}while(0);return}function cc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((a|0)==(k[b+8>>2]|0))bc(0,b,c,d);return}function dc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((a|0)==(k[b+8>>2]|0))bc(0,b,c,d);else{a=k[a+8>>2]|0;ab[k[(k[a>>2]|0)+28>>2]&3](a,b,c,d)}return}function ec(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+64|0;p=q;o=k[a>>2]|0;n=a+(k[o+-8>>2]|0)|0;o=k[o+-4>>2]|0;k[p>>2]=c;k[p+4>>2]=a;k[p+8>>2]=b;k[p+12>>2]=d;d=p+16|0;a=p+20|0;b=p+24|0;e=p+28|0;f=p+32|0;g=p+40|0;h=(o|0)==(c|0);l=d;m=l+36|0;do{k[l>>2]=0;l=l+4|0}while((l|0)<(m|0));j[d+36>>1]=0;i[d+38>>0]=0;a:do if(h){k[p+48>>2]=1;_a[k[(k[c>>2]|0)+20>>2]&3](c,p,n,n,1,0);d=(k[b>>2]|0)==1?n:0}else{Va[k[(k[o>>2]|0)+24>>2]&3](o,p,n,1,0);switch(k[p+36>>2]|0){case 0:{d=(k[g>>2]|0)==1&(k[e>>2]|0)==1&(k[f>>2]|0)==1?k[a>>2]|0:0;break a}case 1:break;default:{d=0;break a}}if((k[b>>2]|0)!=1?!((k[g>>2]|0)==0&(k[e>>2]|0)==1&(k[f>>2]|0)==1):0){d=0;break}d=k[d>>2]|0}while(0);r=q;return d|0}function fc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;i[b+53>>0]=1;do if((k[b+4>>2]|0)==(d|0)){i[b+52>>0]=1;d=b+16|0;a=k[d>>2]|0;if(!a){k[d>>2]=c;k[b+24>>2]=e;k[b+36>>2]=1;if(!((e|0)==1?(k[b+48>>2]|0)==1:0))break;i[b+54>>0]=1;break}if((a|0)!=(c|0)){e=b+36|0;k[e>>2]=(k[e>>2]|0)+1;i[b+54>>0]=1;break}a=b+24|0;d=k[a>>2]|0;if((d|0)==2){k[a>>2]=e;d=e}if((d|0)==1?(k[b+48>>2]|0)==1:0)i[b+54>>0]=1}while(0);return}function gc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;a:do if((a|0)==(k[b+8>>2]|0)){if((k[b+4>>2]|0)==(c|0)?(f=b+28|0,(k[f>>2]|0)!=1):0)k[f>>2]=d}else{if((a|0)!=(k[b>>2]|0)){h=k[a+8>>2]|0;Va[k[(k[h>>2]|0)+24>>2]&3](h,b,c,d,e);break}if((k[b+16>>2]|0)!=(c|0)?(g=b+20|0,(k[g>>2]|0)!=(c|0)):0){k[b+32>>2]=d;d=b+44|0;if((k[d>>2]|0)==4)break;f=b+52|0;i[f>>0]=0;j=b+53|0;i[j>>0]=0;a=k[a+8>>2]|0;_a[k[(k[a>>2]|0)+20>>2]&3](a,b,c,c,1,e);if(i[j>>0]|0){if(!(i[f>>0]|0)){f=1;h=13}}else{f=0;h=13}do if((h|0)==13){k[g>>2]=c;j=b+40|0;k[j>>2]=(k[j>>2]|0)+1;if((k[b+36>>2]|0)==1?(k[b+24>>2]|0)==2:0){i[b+54>>0]=1;if(f)break}else h=16;if((h|0)==16?f:0)break;k[d>>2]=4;break a}while(0);k[d>>2]=3;break}if((d|0)==1)k[b+32>>2]=1}while(0);return}function hc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;do if((a|0)==(k[b+8>>2]|0)){if((k[b+4>>2]|0)==(c|0)?(g=b+28|0,(k[g>>2]|0)!=1):0)k[g>>2]=d}else if((a|0)==(k[b>>2]|0)){if((k[b+16>>2]|0)!=(c|0)?(f=b+20|0,(k[f>>2]|0)!=(c|0)):0){k[b+32>>2]=d;k[f>>2]=c;e=b+40|0;k[e>>2]=(k[e>>2]|0)+1;if((k[b+36>>2]|0)==1?(k[b+24>>2]|0)==2:0)i[b+54>>0]=1;k[b+44>>2]=4;break}if((d|0)==1)k[b+32>>2]=1}while(0);return}function ic(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if((a|0)==(k[b+8>>2]|0))fc(0,b,c,d,e);else{a=k[a+8>>2]|0;_a[k[(k[a>>2]|0)+20>>2]&3](a,b,c,d,e,f)}return}function jc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if((a|0)==(k[b+8>>2]|0))fc(0,b,c,d,e);return}function kc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=r;r=r+16|0;d=e;k[d>>2]=k[c>>2];a=Ua[k[(k[a>>2]|0)+16>>2]&7](a,b,d)|0;if(a)k[c>>2]=k[d>>2];r=e;return a&1|0}function lc(a){a=a|0;if(!a)a=0;else a=(ec(a,24,72,0)|0)!=0;return a&1|0}function mc(){var a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0;e=r;r=r+48|0;g=e+32|0;c=e+24|0;h=e+16|0;f=e;e=e+36|0;a=Sb()|0;if((a|0)!=0?(d=k[a>>2]|0,(d|0)!=0):0){a=d+48|0;b=k[a>>2]|0;a=k[a+4>>2]|0;if(!((b&-256|0)==1126902528&(a|0)==1129074247)){k[c>>2]=k[51];Rb(2368,c)}if((b|0)==1126902529&(a|0)==1129074247)a=k[d+44>>2]|0;else a=d+80|0;k[e>>2]=a;d=k[d>>2]|0;a=k[d+4>>2]|0;if(Ua[k[(k[8>>2]|0)+16>>2]&7](8,d,e)|0){h=k[e>>2]|0;e=k[51]|0;h=Xa[k[(k[h>>2]|0)+8>>2]&1](h)|0;k[f>>2]=e;k[f+4>>2]=a;k[f+8>>2]=h;Rb(2282,f)}else{k[h>>2]=k[51];k[h+4>>2]=a;Rb(2327,h)}}Rb(2406,g)}function nc(){var a=0;a=r;r=r+16|0;if(!(Ia(196,6)|0)){r=a;return}else Rb(2179,a)}function oc(a){a=a|0;var b=0;b=r;r=r+16|0;Vc(a);if(!(La(k[49]|0,0)|0)){r=b;return}else Rb(2229,b)}function pc(a){a=a|0;var b=0,c=0;b=0;while(1){if((l[2427+b>>0]|0)==(a|0)){c=2;break}b=b+1|0;if((b|0)==87){b=87;a=2515;c=5;break}}if((c|0)==2)if(!b)a=2515;else{a=2515;c=5}if((c|0)==5)while(1){c=a;while(1){a=c+1|0;if(!(i[c>>0]|0))break;else c=a}b=b+-1|0;if(!b)break;else c=5}return a|0}function qc(){var a=0;if(!(k[52]|0))a=264;else{a=(Ga()|0)+60|0;a=k[a>>2]|0}return a|0}function rc(a){a=a|0;var b=0;if(a>>>0>4294963200){b=qc()|0;k[b>>2]=0-a;a=-1}return a|0}function sc(a,b){a=+a;b=b|0;var c=0,d=0,e=0;p[t>>3]=a;c=k[t>>2]|0;d=k[t+4>>2]|0;e=bd(c|0,d|0,52)|0;e=e&2047;switch(e|0){case 0:{if(a!=0.0){a=+sc(a*18446744073709552.0e3,b);c=(k[b>>2]|0)+-64|0}else c=0;k[b>>2]=c;break}case 2047:break;default:{k[b>>2]=e+-1022;k[t>>2]=c;k[t+4>>2]=d&-2146435073|1071644672;a=+p[t>>3]}}return +a}function tc(a,b){a=+a;b=b|0;return +(+sc(a,b))}function uc(a,b,c){a=a|0;b=b|0;c=c|0;do if(a){if(b>>>0<128){i[a>>0]=b;a=1;break}if(b>>>0<2048){i[a>>0]=b>>>6|192;i[a+1>>0]=b&63|128;a=2;break}if(b>>>0<55296|(b&-8192|0)==57344){i[a>>0]=b>>>12|224;i[a+1>>0]=b>>>6&63|128;i[a+2>>0]=b&63|128;a=3;break}if((b+-65536|0)>>>0<1048576){i[a>>0]=b>>>18|240;i[a+1>>0]=b>>>12&63|128;i[a+2>>0]=b>>>6&63|128;i[a+3>>0]=b&63|128;a=4;break}else{a=qc()|0;k[a>>2]=84;a=-1;break}}else a=1;while(0);return a|0}function vc(a,b){a=a|0;b=b|0;if(!a)a=0;else a=uc(a,b,0)|0;return a|0}function wc(a){a=a|0;var b=0,c=0;do if(a){if((k[a+76>>2]|0)<=-1){b=Nc(a)|0;break}c=(Ec(a)|0)==0;b=Nc(a)|0;if(!c)Fc(a)}else{if(!(k[65]|0))b=0;else b=wc(k[65]|0)|0;Ma(236);a=k[58]|0;if(a)do{if((k[a+76>>2]|0)>-1)c=Ec(a)|0;else c=0;if((k[a+20>>2]|0)>>>0>(k[a+28>>2]|0)>>>0)b=Nc(a)|0|b;if(c)Fc(a);a=k[a+56>>2]|0}while((a|0)!=0);Ja(236)}while(0);return b|0}function xc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;if((k[b+76>>2]|0)>=0?(Ec(b)|0)!=0:0){if((i[b+75>>0]|0)!=(a|0)?(d=b+20|0,e=k[d>>2]|0,e>>>0<(k[b+16>>2]|0)>>>0):0){k[d>>2]=e+1;i[e>>0]=a;c=a&255}else c=Gc(b,a)|0;Fc(b)}else g=3;do if((g|0)==3){if((i[b+75>>0]|0)!=(a|0)?(f=b+20|0,c=k[f>>2]|0,c>>>0<(k[b+16>>2]|0)>>>0):0){k[f>>2]=c+1;i[c>>0]=a;c=a&255;break}c=Gc(b,a)|0}while(0);return c|0}function yc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=c+16|0;e=k[d>>2]|0;if(!e)if(!(Lc(c)|0)){e=k[d>>2]|0;f=4}else d=0;else f=4;a:do if((f|0)==4){g=c+20|0;f=k[g>>2]|0;if((e-f|0)>>>0<b>>>0){d=Ua[k[c+36>>2]&7](c,a,b)|0;break}b:do if((i[c+75>>0]|0)>-1){d=b;while(1){if(!d){e=f;d=0;break b}e=d+-1|0;if((i[a+e>>0]|0)==10)break;else d=e}if((Ua[k[c+36>>2]&7](c,a,d)|0)>>>0<d>>>0)break a;b=b-d|0;a=a+d|0;e=k[g>>2]|0}else{e=f;d=0}while(0);ed(e|0,a|0,b|0)|0;k[g>>2]=(k[g>>2]|0)+b;d=d+b|0}while(0);return d|0}function zc(a,b){a=a|0;b=b|0;var c=0,d=0;c=r;r=r+16|0;d=c;k[d>>2]=b;b=Bc(k[64]|0,a,d)|0;r=c;return b|0}function Ac(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=r;r=r+16|0;e=d;k[e>>2]=c;c=Dc(a,b,e)|0;r=d;return c|0}function Bc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+224|0;n=s+120|0;q=s+80|0;p=s;o=s+136|0;d=q;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));k[n>>2]=k[c>>2];if((Oc(0,b,n,p,q)|0)<0)c=-1;else{if((k[a+76>>2]|0)>-1)l=Ec(a)|0;else l=0;c=k[a>>2]|0;m=c&32;if((i[a+74>>0]|0)<1)k[a>>2]=c&-33;c=a+48|0;if(!(k[c>>2]|0)){e=a+44|0;f=k[e>>2]|0;k[e>>2]=o;g=a+28|0;k[g>>2]=o;h=a+20|0;k[h>>2]=o;k[c>>2]=80;j=a+16|0;k[j>>2]=o+80;d=Oc(a,b,n,p,q)|0;if(f){Ua[k[a+36>>2]&7](a,0,0)|0;d=(k[h>>2]|0)==0?-1:d;k[e>>2]=f;k[c>>2]=0;k[j>>2]=0;k[g>>2]=0;k[h>>2]=0}}else d=Oc(a,b,n,p,q)|0;c=k[a>>2]|0;k[a>>2]=c|m;if(l)Fc(a);c=(c&32|0)==0?d:-1}r=s;return c|0}function Cc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+128|0;e=m+112|0;l=m;f=l;g=268;h=f+112|0;do{k[f>>2]=k[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));if((b+-1|0)>>>0>2147483646)if(!b){b=1;j=4}else{b=qc()|0;k[b>>2]=75;b=-1}else{e=a;j=4}if((j|0)==4){j=-2-e|0;j=b>>>0>j>>>0?j:b;k[l+48>>2]=j;a=l+20|0;k[a>>2]=e;k[l+44>>2]=e;b=e+j|0;e=l+16|0;k[e>>2]=b;k[l+28>>2]=b;b=Bc(l,c,d)|0;if(j){c=k[a>>2]|0;i[c+(((c|0)==(k[e>>2]|0))<<31>>31)>>0]=0}}r=m;return b|0}function Dc(a,b,c){a=a|0;b=b|0;c=c|0;return Cc(a,2147483647,b,c)|0}function Ec(a){a=a|0;return 0}function Fc(a){a=a|0;return}function Gc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+16|0;h=j;g=b&255;i[h>>0]=g;d=a+16|0;e=k[d>>2]|0;if(!e)if(!(Lc(a)|0)){e=k[d>>2]|0;f=4}else c=-1;else f=4;do if((f|0)==4){d=a+20|0;f=k[d>>2]|0;if(f>>>0<e>>>0?(c=b&255,(c|0)!=(i[a+75>>0]|0)):0){k[d>>2]=f+1;i[f>>0]=g;break}if((Ua[k[a+36>>2]&7](a,h,1)|0)==1)c=l[h>>0]|0;else c=-1}while(0);r=j;return c|0}function Hc(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=k[a+60>>2];a=rc(xa(6,c|0)|0)|0;r=b;return a|0}function Ic(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=r;r=r+32|0;f=e;d=e+20|0;k[f>>2]=k[a+60>>2];k[f+4>>2]=0;k[f+8>>2]=b;k[f+12>>2]=d;k[f+16>>2]=c;if((rc(Qa(140,f|0)|0)|0)<0){k[d>>2]=-1;a=-1}else a=k[d>>2]|0;r=e;return a|0}function Jc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;m=p+16|0;l=p;d=p+32|0;n=a+28|0;e=k[n>>2]|0;k[d>>2]=e;o=a+20|0;e=(k[o>>2]|0)-e|0;k[d+4>>2]=e;k[d+8>>2]=b;k[d+12>>2]=c;i=a+60|0;j=a+44|0;b=2;e=e+c|0;while(1){if(!(k[52]|0)){k[m>>2]=k[i>>2];k[m+4>>2]=d;k[m+8>>2]=b;g=rc(Ra(146,m|0)|0)|0}else{Oa(7,a|0);k[l>>2]=k[i>>2];k[l+4>>2]=d;k[l+8>>2]=b;g=rc(Ra(146,l|0)|0)|0;va(0)}if((e|0)==(g|0)){e=6;break}if((g|0)<0){e=8;break}e=e-g|0;f=k[d+4>>2]|0;if(g>>>0<=f>>>0)if((b|0)==2){k[n>>2]=(k[n>>2]|0)+g;h=f;b=2}else h=f;else{h=k[j>>2]|0;k[n>>2]=h;k[o>>2]=h;h=k[d+12>>2]|0;g=g-f|0;d=d+8|0;b=b+-1|0}k[d>>2]=(k[d>>2]|0)+g;k[d+4>>2]=h-g}if((e|0)==6){m=k[j>>2]|0;k[a+16>>2]=m+(k[a+48>>2]|0);a=m;k[n>>2]=a;k[o>>2]=a}else if((e|0)==8){k[a+16>>2]=0;k[n>>2]=0;k[o>>2]=0;k[a>>2]=k[a>>2]|32;if((b|0)==2)c=0;else c=c-(k[d+4>>2]|0)|0}r=p;return c|0}function Kc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=r;r=r+80|0;d=e;k[a+36>>2]=3;if((k[a>>2]&64|0)==0?(k[d>>2]=k[a+60>>2],k[d+4>>2]=21505,k[d+8>>2]=e+12,(wa(54,d|0)|0)!=0):0)i[a+75>>0]=-1;d=Jc(a,b,c)|0;r=e;return d|0}function Lc(a){a=a|0;var b=0,c=0;b=a+74|0;c=i[b>>0]|0;i[b>>0]=c+255|c;b=k[a>>2]|0;if(!(b&8)){k[a+8>>2]=0;k[a+4>>2]=0;b=k[a+44>>2]|0;k[a+28>>2]=b;k[a+20>>2]=b;k[a+16>>2]=b+(k[a+48>>2]|0);b=0}else{k[a>>2]=b|32;b=-1}return b|0}function Mc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=b&255;d=(c|0)!=0;a:do if(d&(a&3|0)!=0){e=b&255;while(1){if((i[a>>0]|0)==e<<24>>24){g=6;break a}a=a+1|0;c=c+-1|0;d=(c|0)!=0;if(!(d&(a&3|0)!=0)){g=5;break}}}else g=5;while(0);if((g|0)==5)if(d)g=6;else c=0;b:do if((g|0)==6){e=b&255;if((i[a>>0]|0)!=e<<24>>24){d=ha(f,16843009)|0;c:do if(c>>>0>3)while(1){f=k[a>>2]^d;if((f&-2139062144^-2139062144)&f+-16843009)break;a=a+4|0;c=c+-4|0;if(c>>>0<=3){g=11;break c}}else g=11;while(0);if((g|0)==11)if(!c){c=0;break}while(1){if((i[a>>0]|0)==e<<24>>24)break b;a=a+1|0;c=c+-1|0;if(!c){c=0;break}}}}while(0);return ((c|0)!=0?a:0)|0}function Nc(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;b=a+20|0;f=a+28|0;if((k[b>>2]|0)>>>0>(k[f>>2]|0)>>>0?(Ua[k[a+36>>2]&7](a,0,0)|0,(k[b>>2]|0)==0):0)b=-1;else{g=a+4|0;c=k[g>>2]|0;d=a+8|0;e=k[d>>2]|0;if(c>>>0<e>>>0)Ua[k[a+40>>2]&7](a,c-e|0,1)|0;k[a+16>>2]=0;k[f>>2]=0;k[b>>2]=0;k[d>>2]=0;k[g>>2]=0;b=0}return b|0}function Oc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0.0,o=0,q=0,s=0,u=0,v=0.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,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;ga=r;r=r+624|0;ba=ga+24|0;da=ga+16|0;ca=ga+588|0;Y=ga+576|0;aa=ga;V=ga+536|0;fa=ga+8|0;ea=ga+528|0;M=(a|0)!=0;N=V+40|0;U=N;V=V+39|0;W=fa+4|0;X=Y+12|0;Y=Y+11|0;Z=ca;_=X;$=_-Z|0;O=-2-Z|0;P=_+2|0;Q=ba+288|0;R=ca+9|0;S=R;T=ca+8|0;f=0;w=b;g=0;b=0;a:while(1){do if((f|0)>-1)if((g|0)>(2147483647-f|0)){f=qc()|0;k[f>>2]=75;f=-1;break}else{f=g+f|0;break}while(0);g=i[w>>0]|0;if(!(g<<24>>24)){K=245;break}else h=w;b:while(1){switch(g<<24>>24){case 37:{g=h;K=9;break b}case 0:{g=h;break b}default:{}}J=h+1|0;g=i[J>>0]|0;h=J}c:do if((K|0)==9)while(1){K=0;if((i[g+1>>0]|0)!=37)break c;h=h+1|0;g=g+2|0;if((i[g>>0]|0)==37)K=9;else break}while(0);y=h-w|0;if(M?(k[a>>2]&32|0)==0:0)yc(w,y,a)|0;if((h|0)!=(w|0)){w=g;g=y;continue}o=g+1|0;h=i[o>>0]|0;m=(h<<24>>24)+-48|0;if(m>>>0<10){J=(i[g+2>>0]|0)==36;o=J?g+3|0:o;h=i[o>>0]|0;u=J?m:-1;b=J?1:b}else u=-1;g=h<<24>>24;d:do if((g&-32|0)==32){m=0;while(1){if(!(1<<g+-32&75913)){q=m;g=o;break d}m=1<<(h<<24>>24)+-32|m;o=o+1|0;h=i[o>>0]|0;g=h<<24>>24;if((g&-32|0)!=32){q=m;g=o;break}}}else{q=0;g=o}while(0);do if(h<<24>>24==42){m=g+1|0;h=(i[m>>0]|0)+-48|0;if(h>>>0<10?(i[g+2>>0]|0)==36:0){k[e+(h<<2)>>2]=10;b=1;g=g+3|0;h=k[d+((i[m>>0]|0)+-48<<3)>>2]|0}else{if(b){f=-1;break a}if(!M){x=q;g=m;b=0;J=0;break}b=(k[c>>2]|0)+(4-1)&~(4-1);h=k[b>>2]|0;k[c>>2]=b+4;b=0;g=m}if((h|0)<0){x=q|8192;J=0-h|0}else{x=q;J=h}}else{m=(h<<24>>24)+-48|0;if(m>>>0<10){h=0;do{h=(h*10|0)+m|0;g=g+1|0;m=(i[g>>0]|0)+-48|0}while(m>>>0<10);if((h|0)<0){f=-1;break a}else{x=q;J=h}}else{x=q;J=0}}while(0);e:do if((i[g>>0]|0)==46){m=g+1|0;h=i[m>>0]|0;if(h<<24>>24!=42){o=(h<<24>>24)+-48|0;if(o>>>0<10){g=m;h=0}else{g=m;o=0;break}while(1){h=(h*10|0)+o|0;g=g+1|0;o=(i[g>>0]|0)+-48|0;if(o>>>0>=10){o=h;break e}}}m=g+2|0;h=(i[m>>0]|0)+-48|0;if(h>>>0<10?(i[g+3>>0]|0)==36:0){k[e+(h<<2)>>2]=10;g=g+4|0;o=k[d+((i[m>>0]|0)+-48<<3)>>2]|0;break}if(b){f=-1;break a}if(M){g=(k[c>>2]|0)+(4-1)&~(4-1);o=k[g>>2]|0;k[c>>2]=g+4;g=m}else{g=m;o=0}}else o=-1;while(0);s=0;while(1){h=(i[g>>0]|0)+-65|0;if(h>>>0>57){f=-1;break a}m=g+1|0;h=i[5359+(s*58|0)+h>>0]|0;q=h&255;if((q+-1|0)>>>0<8){g=m;s=q}else{I=m;break}}if(!(h<<24>>24)){f=-1;break}m=(u|0)>-1;do if(h<<24>>24==19)if(m){f=-1;break a}else K=52;else{if(m){k[e+(u<<2)>>2]=q;G=d+(u<<3)|0;H=k[G+4>>2]|0;K=aa;k[K>>2]=k[G>>2];k[K+4>>2]=H;K=52;break}if(!M){f=0;break a}Rc(aa,q,c)}while(0);if((K|0)==52?(K=0,!M):0){w=I;g=y;continue}u=i[g>>0]|0;u=(s|0)!=0&(u&15|0)==3?u&-33:u;m=x&-65537;H=(x&8192|0)==0?x:m;f:do switch(u|0){case 110:switch(s|0){case 0:{k[k[aa>>2]>>2]=f;w=I;g=y;continue a}case 1:{k[k[aa>>2]>>2]=f;w=I;g=y;continue a}case 2:{w=k[aa>>2]|0;k[w>>2]=f;k[w+4>>2]=((f|0)<0)<<31>>31;w=I;g=y;continue a}case 3:{j[k[aa>>2]>>1]=f;w=I;g=y;continue a}case 4:{i[k[aa>>2]>>0]=f;w=I;g=y;continue a}case 6:{k[k[aa>>2]>>2]=f;w=I;g=y;continue a}case 7:{w=k[aa>>2]|0;k[w>>2]=f;k[w+4>>2]=((f|0)<0)<<31>>31;w=I;g=y;continue a}default:{w=I;g=y;continue a}}case 112:{s=H|8;o=o>>>0>8?o:8;u=120;K=64;break}case 88:case 120:{s=H;K=64;break}case 111:{m=aa;h=k[m>>2]|0;m=k[m+4>>2]|0;if((h|0)==0&(m|0)==0)g=N;else{g=N;do{g=g+-1|0;i[g>>0]=h&7|48;h=bd(h|0,m|0,3)|0;m=L}while(!((h|0)==0&(m|0)==0))}if(!(H&8)){h=H;s=0;q=5839;K=77}else{s=U-g+1|0;h=H;o=(o|0)<(s|0)?s:o;s=0;q=5839;K=77}break}case 105:case 100:{h=aa;g=k[h>>2]|0;h=k[h+4>>2]|0;if((h|0)<0){g=$c(0,0,g|0,h|0)|0;h=L;m=aa;k[m>>2]=g;k[m+4>>2]=h;m=1;q=5839;K=76;break f}if(!(H&2048)){q=H&1;m=q;q=(q|0)==0?5839:5841;K=76}else{m=1;q=5840;K=76}break}case 117:{h=aa;g=k[h>>2]|0;h=k[h+4>>2]|0;m=0;q=5839;K=76;break}case 99:{i[V>>0]=k[aa>>2];w=V;h=1;s=0;u=5839;g=N;break}case 109:{g=qc()|0;g=pc(k[g>>2]|0)|0;K=82;break}case 115:{g=k[aa>>2]|0;g=(g|0)!=0?g:5849;K=82;break}case 67:{k[fa>>2]=k[aa>>2];k[W>>2]=0;k[aa>>2]=fa;o=-1;K=86;break}case 83:{if(!o){Tc(a,32,J,0,H);g=0;K=98}else K=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{n=+p[aa>>3];k[da>>2]=0;p[t>>3]=n;if((k[t+4>>2]|0)>=0)if(!(H&2048)){G=H&1;F=G;G=(G|0)==0?5857:5862}else{F=1;G=5859}else{n=-n;F=1;G=5856}p[t>>3]=n;E=k[t+4>>2]&2146435072;do if(E>>>0<2146435072|(E|0)==2146435072&0<0){v=+tc(n,da)*2.0;h=v!=0.0;if(h)k[da>>2]=(k[da>>2]|0)+-1;C=u|32;if((C|0)==97){w=u&32;y=(w|0)==0?G:G+9|0;x=F|2;g=12-o|0;do if(!(o>>>0>11|(g|0)==0)){n=8.0;do{g=g+-1|0;n=n*16.0}while((g|0)!=0);if((i[y>>0]|0)==45){n=-(n+(-v-n));break}else{n=v+n-n;break}}else n=v;while(0);h=k[da>>2]|0;g=(h|0)<0?0-h|0:h;g=Sc(g,((g|0)<0)<<31>>31,X)|0;if((g|0)==(X|0)){i[Y>>0]=48;g=Y}i[g+-1>>0]=(h>>31&2)+43;s=g+-2|0;i[s>>0]=u+15;q=(o|0)<1;m=(H&8|0)==0;h=ca;while(1){G=~~n;g=h+1|0;i[h>>0]=l[5823+G>>0]|w;n=(n-+(G|0))*16.0;do if((g-Z|0)==1){if(m&(q&n==0.0))break;i[g>>0]=46;g=h+2|0}while(0);if(!(n!=0.0))break;else h=g}o=(o|0)!=0&(O+g|0)<(o|0)?P+o-s|0:$-s+g|0;m=o+x|0;Tc(a,32,J,m,H);if(!(k[a>>2]&32))yc(y,x,a)|0;Tc(a,48,J,m,H^65536);g=g-Z|0;if(!(k[a>>2]&32))yc(ca,g,a)|0;h=_-s|0;Tc(a,48,o-(g+h)|0,0,0);if(!(k[a>>2]&32))yc(s,h,a)|0;Tc(a,32,J,m,H^8192);g=(m|0)<(J|0)?J:m;break}g=(o|0)<0?6:o;if(h){h=(k[da>>2]|0)+-28|0;k[da>>2]=h;n=v*268435456.0}else{n=v;h=k[da>>2]|0}E=(h|0)<0?ba:Q;D=E;h=E;do{B=~~n>>>0;k[h>>2]=B;h=h+4|0;n=(n-+(B>>>0))*1.0e9}while(n!=0.0);m=h;h=k[da>>2]|0;if((h|0)>0){q=E;while(1){s=(h|0)>29?29:h;o=m+-4|0;do if(o>>>0<q>>>0)o=q;else{h=0;do{B=cd(k[o>>2]|0,0,s|0)|0;B=dd(B|0,L|0,h|0,0)|0;h=L;A=md(B|0,h|0,1e9,0)|0;k[o>>2]=A;h=ld(B|0,h|0,1e9,0)|0;o=o+-4|0}while(o>>>0>=q>>>0);if(!h){o=q;break}o=q+-4|0;k[o>>2]=h}while(0);while(1){if(m>>>0<=o>>>0)break;h=m+-4|0;if(!(k[h>>2]|0))m=h;else break}h=(k[da>>2]|0)-s|0;k[da>>2]=h;if((h|0)>0)q=o;else break}}else o=E;if((h|0)<0){y=((g+25|0)/9|0)+1|0;z=(C|0)==102;w=o;while(1){x=0-h|0;x=(x|0)>9?9:x;do if(w>>>0<m>>>0){h=(1<<x)+-1|0;q=1e9>>>x;o=0;s=w;do{B=k[s>>2]|0;k[s>>2]=(B>>>x)+o;o=ha(B&h,q)|0;s=s+4|0}while(s>>>0<m>>>0);h=(k[w>>2]|0)==0?w+4|0:w;if(!o){o=h;break}k[m>>2]=o;o=h;m=m+4|0}else o=(k[w>>2]|0)==0?w+4|0:w;while(0);h=z?E:o;m=(m-h>>2|0)>(y|0)?h+(y<<2)|0:m;h=(k[da>>2]|0)+x|0;k[da>>2]=h;if((h|0)>=0){w=o;break}else w=o}}else w=o;do if(w>>>0<m>>>0){h=(D-w>>2)*9|0;q=k[w>>2]|0;if(q>>>0<10)break;else o=10;do{o=o*10|0;h=h+1|0}while(q>>>0>=o>>>0)}else h=0;while(0);A=(C|0)==103;B=(g|0)!=0;o=g-((C|0)!=102?h:0)+((B&A)<<31>>31)|0;if((o|0)<(((m-D>>2)*9|0)+-9|0)){s=o+9216|0;z=(s|0)/9|0;o=E+(z+-1023<<2)|0;s=((s|0)%9|0)+1|0;if((s|0)<9){q=10;do{q=q*10|0;s=s+1|0}while((s|0)!=9)}else q=10;x=k[o>>2]|0;y=(x>>>0)%(q>>>0)|0;if((y|0)==0?(E+(z+-1022<<2)|0)==(m|0):0)q=w;else K=163;do if((K|0)==163){K=0;v=(((x>>>0)/(q>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;s=(q|0)/2|0;do if(y>>>0<s>>>0)n=.5;else{if((y|0)==(s|0)?(E+(z+-1022<<2)|0)==(m|0):0){n=1.0;break}n=1.5}while(0);do if(F){if((i[G>>0]|0)!=45)break;v=-v;n=-n}while(0);s=x-y|0;k[o>>2]=s;if(!(v+n!=v)){q=w;break}C=s+q|0;k[o>>2]=C;if(C>>>0>999999999){h=w;while(1){q=o+-4|0;k[o>>2]=0;if(q>>>0<h>>>0){h=h+-4|0;k[h>>2]=0}C=(k[q>>2]|0)+1|0;k[q>>2]=C;if(C>>>0>999999999)o=q;else{w=h;o=q;break}}}h=(D-w>>2)*9|0;s=k[w>>2]|0;if(s>>>0<10){q=w;break}else q=10;do{q=q*10|0;h=h+1|0}while(s>>>0>=q>>>0);q=w}while(0);C=o+4|0;w=q;m=m>>>0>C>>>0?C:m}y=0-h|0;while(1){if(m>>>0<=w>>>0){z=0;C=m;break}o=m+-4|0;if(!(k[o>>2]|0))m=o;else{z=1;C=m;break}}do if(A){g=(B&1^1)+g|0;if((g|0)>(h|0)&(h|0)>-5){u=u+-1|0;g=g+-1-h|0}else{u=u+-2|0;g=g+-1|0}m=H&8;if(m)break;do if(z){m=k[C+-4>>2]|0;if(!m){o=9;break}if(!((m>>>0)%10|0)){q=10;o=0}else{o=0;break}do{q=q*10|0;o=o+1|0}while(((m>>>0)%(q>>>0)|0|0)==0)}else o=9;while(0);m=((C-D>>2)*9|0)+-9|0;if((u|32|0)==102){m=m-o|0;m=(m|0)<0?0:m;g=(g|0)<(m|0)?g:m;m=0;break}else{m=m+h-o|0;m=(m|0)<0?0:m;g=(g|0)<(m|0)?g:m;m=0;break}}else m=H&8;while(0);x=g|m;q=(x|0)!=0&1;s=(u|32|0)==102;if(s){h=(h|0)>0?h:0;u=0}else{o=(h|0)<0?y:h;o=Sc(o,((o|0)<0)<<31>>31,X)|0;if((_-o|0)<2)do{o=o+-1|0;i[o>>0]=48}while((_-o|0)<2);i[o+-1>>0]=(h>>31&2)+43;D=o+-2|0;i[D>>0]=u;h=_-D|0;u=D}y=F+1+g+q+h|0;Tc(a,32,J,y,H);if(!(k[a>>2]&32))yc(G,F,a)|0;Tc(a,48,J,y,H^65536);do if(s){o=w>>>0>E>>>0?E:w;h=o;do{m=Sc(k[h>>2]|0,0,R)|0;do if((h|0)==(o|0)){if((m|0)!=(R|0))break;i[T>>0]=48;m=T}else{if(m>>>0<=ca>>>0)break;do{m=m+-1|0;i[m>>0]=48}while(m>>>0>ca>>>0)}while(0);if(!(k[a>>2]&32))yc(m,S-m|0,a)|0;h=h+4|0}while(h>>>0<=E>>>0);do if(x){if(k[a>>2]&32)break;yc(5891,1,a)|0}while(0);if((g|0)>0&h>>>0<C>>>0){m=h;while(1){h=Sc(k[m>>2]|0,0,R)|0;if(h>>>0>ca>>>0)do{h=h+-1|0;i[h>>0]=48}while(h>>>0>ca>>>0);if(!(k[a>>2]&32))yc(h,(g|0)>9?9:g,a)|0;m=m+4|0;h=g+-9|0;if(!((g|0)>9&m>>>0<C>>>0)){g=h;break}else g=h}}Tc(a,48,g+9|0,9,0)}else{s=z?C:w+4|0;if((g|0)>-1){q=(m|0)==0;o=w;do{h=Sc(k[o>>2]|0,0,R)|0;if((h|0)==(R|0)){i[T>>0]=48;h=T}do if((o|0)==(w|0)){m=h+1|0;if(!(k[a>>2]&32))yc(h,1,a)|0;if(q&(g|0)<1){h=m;break}if(k[a>>2]&32){h=m;break}yc(5891,1,a)|0;h=m}else{if(h>>>0<=ca>>>0)break;do{h=h+-1|0;i[h>>0]=48}while(h>>>0>ca>>>0)}while(0);m=S-h|0;if(!(k[a>>2]&32))yc(h,(g|0)>(m|0)?m:g,a)|0;g=g-m|0;o=o+4|0}while(o>>>0<s>>>0&(g|0)>-1)}Tc(a,48,g+18|0,18,0);if(k[a>>2]&32)break;yc(u,_-u|0,a)|0}while(0);Tc(a,32,J,y,H^8192);g=(y|0)<(J|0)?J:y}else{s=(u&32|0)!=0;q=n!=n|0.0!=0.0;h=q?0:F;o=h+3|0;Tc(a,32,J,o,m);g=k[a>>2]|0;if(!(g&32)){yc(G,h,a)|0;g=k[a>>2]|0}if(!(g&32))yc(q?(s?5883:5887):s?5875:5879,3,a)|0;Tc(a,32,J,o,H^8192);g=(o|0)<(J|0)?J:o}while(0);w=I;continue a}default:{m=H;h=o;s=0;u=5839;g=N}}while(0);g:do if((K|0)==64){m=aa;h=k[m>>2]|0;m=k[m+4>>2]|0;q=u&32;if(!((h|0)==0&(m|0)==0)){g=N;do{g=g+-1|0;i[g>>0]=l[5823+(h&15)>>0]|q;h=bd(h|0,m|0,4)|0;m=L}while(!((h|0)==0&(m|0)==0));K=aa;if((s&8|0)==0|(k[K>>2]|0)==0&(k[K+4>>2]|0)==0){h=s;s=0;q=5839;K=77}else{h=s;s=2;q=5839+(u>>4)|0;K=77}}else{g=N;h=s;s=0;q=5839;K=77}}else if((K|0)==76){g=Sc(g,h,N)|0;h=H;s=m;K=77}else if((K|0)==82){K=0;H=Mc(g,0,o)|0;G=(H|0)==0;w=g;h=G?o:H-g|0;s=0;u=5839;g=G?g+o|0:H}else if((K|0)==86){K=0;h=0;g=0;q=k[aa>>2]|0;while(1){m=k[q>>2]|0;if(!m)break;g=vc(ea,m)|0;if((g|0)<0|g>>>0>(o-h|0)>>>0)break;h=g+h|0;if(o>>>0>h>>>0)q=q+4|0;else break}if((g|0)<0){f=-1;break a}Tc(a,32,J,h,H);if(!h){g=0;K=98}else{m=0;o=k[aa>>2]|0;while(1){g=k[o>>2]|0;if(!g){g=h;K=98;break g}g=vc(ea,g)|0;m=g+m|0;if((m|0)>(h|0)){g=h;K=98;break g}if(!(k[a>>2]&32))yc(ea,g,a)|0;if(m>>>0>=h>>>0){g=h;K=98;break}else o=o+4|0}}}while(0);if((K|0)==98){K=0;Tc(a,32,J,g,H^8192);w=I;g=(J|0)>(g|0)?J:g;continue}if((K|0)==77){K=0;m=(o|0)>-1?h&-65537:h;h=aa;h=(k[h>>2]|0)!=0|(k[h+4>>2]|0)!=0;if((o|0)!=0|h){h=(h&1^1)+(U-g)|0;w=g;h=(o|0)>(h|0)?o:h;u=q;g=N}else{w=N;h=0;u=q;g=N}}q=g-w|0;h=(h|0)<(q|0)?q:h;o=s+h|0;g=(J|0)<(o|0)?o:J;Tc(a,32,g,o,m);if(!(k[a>>2]&32))yc(u,s,a)|0;Tc(a,48,g,o,m^65536);Tc(a,48,h,q,0);if(!(k[a>>2]&32))yc(w,q,a)|0;Tc(a,32,g,o,m^8192);w=I}h:do if((K|0)==245)if(!a)if(b){f=1;while(1){b=k[e+(f<<2)>>2]|0;if(!b)break;Rc(d+(f<<3)|0,b,c);f=f+1|0;if((f|0)>=10){f=1;break h}}if((f|0)<10)while(1){if(k[e+(f<<2)>>2]|0){f=-1;break h}f=f+1|0;if((f|0)>=10){f=1;break}}else f=1}else f=0;while(0);r=ga;return f|0}function Pc(a){a=a|0;if(!(k[a+68>>2]|0))Fc(a);return}function Qc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=a+20|0;e=k[d>>2]|0;a=(k[a+16>>2]|0)-e|0;a=a>>>0>c>>>0?c:a;ed(e|0,b|0,a|0)|0;k[d>>2]=(k[d>>2]|0)+a;return c|0}function Rc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{d=(k[c>>2]|0)+(4-1)&~(4-1);b=k[d>>2]|0;k[c>>2]=d+4;k[a>>2]=b;break a}case 10:{d=(k[c>>2]|0)+(4-1)&~(4-1);b=k[d>>2]|0;k[c>>2]=d+4;d=a;k[d>>2]=b;k[d+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{d=(k[c>>2]|0)+(4-1)&~(4-1);b=k[d>>2]|0;k[c>>2]=d+4;d=a;k[d>>2]=b;k[d+4>>2]=0;break a}case 12:{d=(k[c>>2]|0)+(8-1)&~(8-1);b=d;e=k[b>>2]|0;b=k[b+4>>2]|0;k[c>>2]=d+8;d=a;k[d>>2]=e;k[d+4>>2]=b;break a}case 13:{e=(k[c>>2]|0)+(4-1)&~(4-1);d=k[e>>2]|0;k[c>>2]=e+4;d=(d&65535)<<16>>16;e=a;k[e>>2]=d;k[e+4>>2]=((d|0)<0)<<31>>31;break a}case 14:{e=(k[c>>2]|0)+(4-1)&~(4-1);d=k[e>>2]|0;k[c>>2]=e+4;e=a;k[e>>2]=d&65535;k[e+4>>2]=0;break a}case 15:{e=(k[c>>2]|0)+(4-1)&~(4-1);d=k[e>>2]|0;k[c>>2]=e+4;d=(d&255)<<24>>24;e=a;k[e>>2]=d;k[e+4>>2]=((d|0)<0)<<31>>31;break a}case 16:{e=(k[c>>2]|0)+(4-1)&~(4-1);d=k[e>>2]|0;k[c>>2]=e+4;e=a;k[e>>2]=d&255;k[e+4>>2]=0;break a}case 17:{e=(k[c>>2]|0)+(8-1)&~(8-1);f=+p[e>>3];k[c>>2]=e+8;p[a>>3]=f;break a}case 18:{e=(k[c>>2]|0)+(8-1)&~(8-1);f=+p[e>>3];k[c>>2]=e+8;p[a>>3]=f;break a}default:break a}while(0);while(0);return}function Sc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(b>>>0>0|(b|0)==0&a>>>0>4294967295)while(1){d=md(a|0,b|0,10,0)|0;c=c+-1|0;i[c>>0]=d|48;d=ld(a|0,b|0,10,0)|0;if(b>>>0>9|(b|0)==9&a>>>0>4294967295){a=d;b=L}else{a=d;break}}if(a)while(1){c=c+-1|0;i[c>>0]=(a>>>0)%10|0|48;if(a>>>0<10)break;else a=(a>>>0)/10|0}return c|0}function Tc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=r;r=r+256|0;g=h;do if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;ad(g|0,b|0,(e>>>0>256?256:e)|0)|0;b=k[a>>2]|0;f=(b&32|0)==0;if(e>>>0>255){d=c-d|0;do{if(f){yc(g,256,a)|0;b=k[a>>2]|0}e=e+-256|0;f=(b&32|0)==0}while(e>>>0>255);if(f)e=d&255;else break}else if(!f)break;yc(g,e,a)|0}while(0);r=h;return}function Uc(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=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;do if(a>>>0<245){o=a>>>0<11?16:a+11&-8;a=o>>>3;h=k[151]|0;c=h>>>a;if(c&3){a=(c&1^1)+a|0;d=a<<1;c=644+(d<<2)|0;d=644+(d+2<<2)|0;e=k[d>>2]|0;f=e+8|0;g=k[f>>2]|0;do if((c|0)!=(g|0)){if(g>>>0<(k[155]|0)>>>0)Na();b=g+12|0;if((k[b>>2]|0)==(e|0)){k[b>>2]=c;k[d>>2]=g;break}else Na()}else k[151]=h&~(1<<a);while(0);M=a<<3;k[e+4>>2]=M|3;M=e+(M|4)|0;k[M>>2]=k[M>>2]|1;M=f;return M|0}g=k[153]|0;if(o>>>0>g>>>0){if(c){d=2<<a;d=c<<a&(d|0-d);d=(d&0-d)+-1|0;i=d>>>12&16;d=d>>>i;e=d>>>5&8;d=d>>>e;f=d>>>2&4;d=d>>>f;c=d>>>1&2;d=d>>>c;a=d>>>1&1;a=(e|i|f|c|a)+(d>>>a)|0;d=a<<1;c=644+(d<<2)|0;d=644+(d+2<<2)|0;f=k[d>>2]|0;i=f+8|0;e=k[i>>2]|0;do if((c|0)!=(e|0)){if(e>>>0<(k[155]|0)>>>0)Na();b=e+12|0;if((k[b>>2]|0)==(f|0)){k[b>>2]=c;k[d>>2]=e;j=k[153]|0;break}else Na()}else{k[151]=h&~(1<<a);j=g}while(0);M=a<<3;g=M-o|0;k[f+4>>2]=o|3;h=f+o|0;k[f+(o|4)>>2]=g|1;k[f+M>>2]=g;if(j){e=k[156]|0;c=j>>>3;b=c<<1;d=644+(b<<2)|0;a=k[151]|0;c=1<<c;if(a&c){a=644+(b+2<<2)|0;b=k[a>>2]|0;if(b>>>0<(k[155]|0)>>>0)Na();else{l=a;m=b}}else{k[151]=a|c;l=644+(b+2<<2)|0;m=d}k[l>>2]=e;k[m+12>>2]=e;k[e+8>>2]=m;k[e+12>>2]=d}k[153]=g;k[156]=h;M=i;return M|0}a=k[152]|0;if(a){c=(a&0-a)+-1|0;L=c>>>12&16;c=c>>>L;K=c>>>5&8;c=c>>>K;M=c>>>2&4;c=c>>>M;a=c>>>1&2;c=c>>>a;d=c>>>1&1;d=k[908+((K|L|M|a|d)+(c>>>d)<<2)>>2]|0;c=(k[d+4>>2]&-8)-o|0;a=d;while(1){b=k[a+16>>2]|0;if(!b){b=k[a+20>>2]|0;if(!b){i=c;break}}a=(k[b+4>>2]&-8)-o|0;M=a>>>0<c>>>0;c=M?a:c;a=b;d=M?b:d}f=k[155]|0;if(d>>>0<f>>>0)Na();h=d+o|0;if(d>>>0>=h>>>0)Na();g=k[d+24>>2]|0;c=k[d+12>>2]|0;do if((c|0)==(d|0)){a=d+20|0;b=k[a>>2]|0;if(!b){a=d+16|0;b=k[a>>2]|0;if(!b){n=0;break}}while(1){c=b+20|0;e=k[c>>2]|0;if(e){b=e;a=c;continue}c=b+16|0;e=k[c>>2]|0;if(!e)break;else{b=e;a=c}}if(a>>>0<f>>>0)Na();else{k[a>>2]=0;n=b;break}}else{e=k[d+8>>2]|0;if(e>>>0<f>>>0)Na();b=e+12|0;if((k[b>>2]|0)!=(d|0))Na();a=c+8|0;if((k[a>>2]|0)==(d|0)){k[b>>2]=c;k[a>>2]=e;n=c;break}else Na()}while(0);do if(g){b=k[d+28>>2]|0;a=908+(b<<2)|0;if((d|0)==(k[a>>2]|0)){k[a>>2]=n;if(!n){k[152]=k[152]&~(1<<b);break}}else{if(g>>>0<(k[155]|0)>>>0)Na();b=g+16|0;if((k[b>>2]|0)==(d|0))k[b>>2]=n;else k[g+20>>2]=n;if(!n)break}a=k[155]|0;if(n>>>0<a>>>0)Na();k[n+24>>2]=g;b=k[d+16>>2]|0;do if(b)if(b>>>0<a>>>0)Na();else{k[n+16>>2]=b;k[b+24>>2]=n;break}while(0);b=k[d+20>>2]|0;if(b)if(b>>>0<(k[155]|0)>>>0)Na();else{k[n+20>>2]=b;k[b+24>>2]=n;break}}while(0);if(i>>>0<16){M=i+o|0;k[d+4>>2]=M|3;M=d+(M+4)|0;k[M>>2]=k[M>>2]|1}else{k[d+4>>2]=o|3;k[d+(o|4)>>2]=i|1;k[d+(i+o)>>2]=i;b=k[153]|0;if(b){f=k[156]|0;c=b>>>3;b=c<<1;e=644+(b<<2)|0;a=k[151]|0;c=1<<c;if(a&c){b=644+(b+2<<2)|0;a=k[b>>2]|0;if(a>>>0<(k[155]|0)>>>0)Na();else{p=b;q=a}}else{k[151]=a|c;p=644+(b+2<<2)|0;q=e}k[p>>2]=f;k[q+12>>2]=f;k[f+8>>2]=q;k[f+12>>2]=e}k[153]=i;k[156]=h}M=d+8|0;return M|0}else q=o}else q=o}else if(a>>>0<=4294967231){a=a+11|0;m=a&-8;l=k[152]|0;if(l){c=0-m|0;a=a>>>8;if(a)if(m>>>0>16777215)j=31;else{q=(a+1048320|0)>>>16&8;v=a<<q;p=(v+520192|0)>>>16&4;v=v<<p;j=(v+245760|0)>>>16&2;j=14-(p|q|j)+(v<<j>>>15)|0;j=m>>>(j+7|0)&1|j<<1}else j=0;a=k[908+(j<<2)>>2]|0;a:do if(!a){e=0;a=0;v=86}else{g=c;e=0;h=m<<((j|0)==31?0:25-(j>>>1)|0);i=a;a=0;while(1){f=k[i+4>>2]&-8;c=f-m|0;if(c>>>0<g>>>0)if((f|0)==(m|0)){f=i;a=i;v=90;break a}else a=i;else c=g;v=k[i+20>>2]|0;i=k[i+16+(h>>>31<<2)>>2]|0;e=(v|0)==0|(v|0)==(i|0)?e:v;if(!i){v=86;break}else{g=c;h=h<<1}}}while(0);if((v|0)==86){if((e|0)==0&(a|0)==0){a=2<<j;a=l&(a|0-a);if(!a){q=m;break}a=(a&0-a)+-1|0;n=a>>>12&16;a=a>>>n;l=a>>>5&8;a=a>>>l;p=a>>>2&4;a=a>>>p;q=a>>>1&2;a=a>>>q;e=a>>>1&1;e=k[908+((l|n|p|q|e)+(a>>>e)<<2)>>2]|0;a=0}if(!e){h=c;i=a}else{f=e;v=90}}if((v|0)==90)while(1){v=0;q=(k[f+4>>2]&-8)-m|0;e=q>>>0<c>>>0;c=e?q:c;a=e?f:a;e=k[f+16>>2]|0;if(e){f=e;v=90;continue}f=k[f+20>>2]|0;if(!f){h=c;i=a;break}else v=90}if((i|0)!=0?h>>>0<((k[153]|0)-m|0)>>>0:0){e=k[155]|0;if(i>>>0<e>>>0)Na();g=i+m|0;if(i>>>0>=g>>>0)Na();f=k[i+24>>2]|0;c=k[i+12>>2]|0;do if((c|0)==(i|0)){a=i+20|0;b=k[a>>2]|0;if(!b){a=i+16|0;b=k[a>>2]|0;if(!b){o=0;break}}while(1){c=b+20|0;d=k[c>>2]|0;if(d){b=d;a=c;continue}c=b+16|0;d=k[c>>2]|0;if(!d)break;else{b=d;a=c}}if(a>>>0<e>>>0)Na();else{k[a>>2]=0;o=b;break}}else{d=k[i+8>>2]|0;if(d>>>0<e>>>0)Na();b=d+12|0;if((k[b>>2]|0)!=(i|0))Na();a=c+8|0;if((k[a>>2]|0)==(i|0)){k[b>>2]=c;k[a>>2]=d;o=c;break}else Na()}while(0);do if(f){b=k[i+28>>2]|0;a=908+(b<<2)|0;if((i|0)==(k[a>>2]|0)){k[a>>2]=o;if(!o){k[152]=k[152]&~(1<<b);break}}else{if(f>>>0<(k[155]|0)>>>0)Na();b=f+16|0;if((k[b>>2]|0)==(i|0))k[b>>2]=o;else k[f+20>>2]=o;if(!o)break}a=k[155]|0;if(o>>>0<a>>>0)Na();k[o+24>>2]=f;b=k[i+16>>2]|0;do if(b)if(b>>>0<a>>>0)Na();else{k[o+16>>2]=b;k[b+24>>2]=o;break}while(0);b=k[i+20>>2]|0;if(b)if(b>>>0<(k[155]|0)>>>0)Na();else{k[o+20>>2]=b;k[b+24>>2]=o;break}}while(0);b:do if(h>>>0>=16){k[i+4>>2]=m|3;k[i+(m|4)>>2]=h|1;k[i+(h+m)>>2]=h;b=h>>>3;if(h>>>0<256){a=b<<1;d=644+(a<<2)|0;c=k[151]|0;b=1<<b;if(c&b){b=644+(a+2<<2)|0;a=k[b>>2]|0;if(a>>>0<(k[155]|0)>>>0)Na();else{s=b;t=a}}else{k[151]=c|b;s=644+(a+2<<2)|0;t=d}k[s>>2]=g;k[t+12>>2]=g;k[i+(m+8)>>2]=t;k[i+(m+12)>>2]=d;break}b=h>>>8;if(b)if(h>>>0>16777215)d=31;else{L=(b+1048320|0)>>>16&8;M=b<<L;K=(M+520192|0)>>>16&4;M=M<<K;d=(M+245760|0)>>>16&2;d=14-(K|L|d)+(M<<d>>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;b=908+(d<<2)|0;k[i+(m+28)>>2]=d;k[i+(m+20)>>2]=0;k[i+(m+16)>>2]=0;a=k[152]|0;c=1<<d;if(!(a&c)){k[152]=a|c;k[b>>2]=g;k[i+(m+24)>>2]=b;k[i+(m+12)>>2]=g;k[i+(m+8)>>2]=g;break}b=k[b>>2]|0;c:do if((k[b+4>>2]&-8|0)!=(h|0)){d=h<<((d|0)==31?0:25-(d>>>1)|0);while(1){a=b+16+(d>>>31<<2)|0;c=k[a>>2]|0;if(!c)break;if((k[c+4>>2]&-8|0)==(h|0)){y=c;break c}else{d=d<<1;b=c}}if(a>>>0<(k[155]|0)>>>0)Na();else{k[a>>2]=g;k[i+(m+24)>>2]=b;k[i+(m+12)>>2]=g;k[i+(m+8)>>2]=g;break b}}else y=b;while(0);b=y+8|0;a=k[b>>2]|0;M=k[155]|0;if(a>>>0>=M>>>0&y>>>0>=M>>>0){k[a+12>>2]=g;k[b>>2]=g;k[i+(m+8)>>2]=a;k[i+(m+12)>>2]=y;k[i+(m+24)>>2]=0;break}else Na()}else{M=h+m|0;k[i+4>>2]=M|3;M=i+(M+4)|0;k[M>>2]=k[M>>2]|1}while(0);M=i+8|0;return M|0}else q=m}else q=m}else q=-1;while(0);c=k[153]|0;if(c>>>0>=q>>>0){b=c-q|0;a=k[156]|0;if(b>>>0>15){k[156]=a+q;k[153]=b;k[a+(q+4)>>2]=b|1;k[a+c>>2]=b;k[a+4>>2]=q|3}else{k[153]=0;k[156]=0;k[a+4>>2]=c|3;M=a+(c+4)|0;k[M>>2]=k[M>>2]|1}M=a+8|0;return M|0}a=k[154]|0;if(a>>>0>q>>>0){L=a-q|0;k[154]=L;M=k[157]|0;k[157]=M+q;k[M+(q+4)>>2]=L|1;k[M+4>>2]=q|3;M=M+8|0;return M|0}do if(!(k[269]|0)){a=Ea(30)|0;if(!(a+-1&a)){k[271]=a;k[270]=a;k[272]=-1;k[273]=-1;k[274]=0;k[262]=0;y=(Pa(0)|0)&-16^1431655768;k[269]=y;break}else Na()}while(0);i=q+48|0;h=k[271]|0;j=q+47|0;g=h+j|0;h=0-h|0;l=g&h;if(l>>>0<=q>>>0){M=0;return M|0}a=k[261]|0;if((a|0)!=0?(t=k[259]|0,y=t+l|0,y>>>0<=t>>>0|y>>>0>a>>>0):0){M=0;return M|0}d:do if(!(k[262]&4)){a=k[157]|0;e:do if(a){e=1052;while(1){c=k[e>>2]|0;if(c>>>0<=a>>>0?(r=e+4|0,(c+(k[r>>2]|0)|0)>>>0>a>>>0):0){f=e;a=r;break}e=k[e+8>>2]|0;if(!e){v=174;break e}}c=g-(k[154]|0)&h;if(c>>>0<2147483647){e=Ba(c|0)|0;y=(e|0)==((k[f>>2]|0)+(k[a>>2]|0)|0);a=y?c:0;if(y){if((e|0)!=(-1|0)){w=e;p=a;v=194;break d}}else v=184}else a=0}else v=174;while(0);do if((v|0)==174){f=Ba(0)|0;if((f|0)!=(-1|0)){a=f;c=k[270]|0;e=c+-1|0;if(!(e&a))c=l;else c=l-a+(e+a&0-c)|0;a=k[259]|0;e=a+c|0;if(c>>>0>q>>>0&c>>>0<2147483647){y=k[261]|0;if((y|0)!=0?e>>>0<=a>>>0|e>>>0>y>>>0:0){a=0;break}e=Ba(c|0)|0;y=(e|0)==(f|0);a=y?c:0;if(y){w=f;p=a;v=194;break d}else v=184}else a=0}else a=0}while(0);f:do if((v|0)==184){f=0-c|0;do if(i>>>0>c>>>0&(c>>>0<2147483647&(e|0)!=(-1|0))?(u=k[271]|0,u=j-c+u&0-u,u>>>0<2147483647):0)if((Ba(u|0)|0)==(-1|0)){Ba(f|0)|0;break f}else{c=u+c|0;break}while(0);if((e|0)!=(-1|0)){w=e;p=c;v=194;break d}}while(0);k[262]=k[262]|4;v=191}else{a=0;v=191}while(0);if((((v|0)==191?l>>>0<2147483647:0)?(w=Ba(l|0)|0,x=Ba(0)|0,w>>>0<x>>>0&((w|0)!=(-1|0)&(x|0)!=(-1|0))):0)?(z=x-w|0,A=z>>>0>(q+40|0)>>>0,A):0){p=A?z:a;v=194}if((v|0)==194){a=(k[259]|0)+p|0;k[259]=a;if(a>>>0>(k[260]|0)>>>0)k[260]=a;g=k[157]|0;g:do if(g){f=1052;do{a=k[f>>2]|0;c=f+4|0;e=k[c>>2]|0;if((w|0)==(a+e|0)){B=a;C=c;D=e;E=f;v=204;break}f=k[f+8>>2]|0}while((f|0)!=0);if(((v|0)==204?(k[E+12>>2]&8|0)==0:0)?g>>>0<w>>>0&g>>>0>=B>>>0:0){k[C>>2]=D+p;M=(k[154]|0)+p|0;L=g+8|0;L=(L&7|0)==0?0:0-L&7;K=M-L|0;k[157]=g+L;k[154]=K;k[g+(L+4)>>2]=K|1;k[g+(M+4)>>2]=40;k[158]=k[273];break}a=k[155]|0;if(w>>>0<a>>>0){k[155]=w;a=w}c=w+p|0;f=1052;while(1){if((k[f>>2]|0)==(c|0)){e=f;c=f;v=212;break}f=k[f+8>>2]|0;if(!f){c=1052;break}}if((v|0)==212)if(!(k[c+12>>2]&8)){k[e>>2]=w;n=c+4|0;k[n>>2]=(k[n>>2]|0)+p;n=w+8|0;n=(n&7|0)==0?0:0-n&7;j=w+(p+8)|0;j=(j&7|0)==0?0:0-j&7;b=w+(j+p)|0;m=n+q|0;o=w+m|0;l=b-(w+n)-q|0;k[w+(n+4)>>2]=q|3;h:do if((b|0)!=(g|0)){if((b|0)==(k[156]|0)){M=(k[153]|0)+l|0;k[153]=M;k[156]=o;k[w+(m+4)>>2]=M|1;k[w+(M+m)>>2]=M;break}h=p+4|0;c=k[w+(h+j)>>2]|0;if((c&3|0)==1){i=c&-8;f=c>>>3;i:do if(c>>>0>=256){g=k[w+((j|24)+p)>>2]|0;d=k[w+(p+12+j)>>2]|0;do if((d|0)==(b|0)){e=j|16;d=w+(h+e)|0;c=k[d>>2]|0;if(!c){d=w+(e+p)|0;c=k[d>>2]|0;if(!c){J=0;break}}while(1){e=c+20|0;f=k[e>>2]|0;if(f){c=f;d=e;continue}e=c+16|0;f=k[e>>2]|0;if(!f)break;else{c=f;d=e}}if(d>>>0<a>>>0)Na();else{k[d>>2]=0;J=c;break}}else{e=k[w+((j|8)+p)>>2]|0;if(e>>>0<a>>>0)Na();a=e+12|0;if((k[a>>2]|0)!=(b|0))Na();c=d+8|0;if((k[c>>2]|0)==(b|0)){k[a>>2]=d;k[c>>2]=e;J=d;break}else Na()}while(0);if(!g)break;a=k[w+(p+28+j)>>2]|0;c=908+(a<<2)|0;do if((b|0)!=(k[c>>2]|0)){if(g>>>0<(k[155]|0)>>>0)Na();a=g+16|0;if((k[a>>2]|0)==(b|0))k[a>>2]=J;else k[g+20>>2]=J;if(!J)break i}else{k[c>>2]=J;if(J)break;k[152]=k[152]&~(1<<a);break i}while(0);c=k[155]|0;if(J>>>0<c>>>0)Na();k[J+24>>2]=g;b=j|16;a=k[w+(b+p)>>2]|0;do if(a)if(a>>>0<c>>>0)Na();else{k[J+16>>2]=a;k[a+24>>2]=J;break}while(0);b=k[w+(h+b)>>2]|0;if(!b)break;if(b>>>0<(k[155]|0)>>>0)Na();else{k[J+20>>2]=b;k[b+24>>2]=J;break}}else{d=k[w+((j|8)+p)>>2]|0;e=k[w+(p+12+j)>>2]|0;c=644+(f<<1<<2)|0;do if((d|0)!=(c|0)){if(d>>>0<a>>>0)Na();if((k[d+12>>2]|0)==(b|0))break;Na()}while(0);if((e|0)==(d|0)){k[151]=k[151]&~(1<<f);break}do if((e|0)==(c|0))F=e+8|0;else{if(e>>>0<a>>>0)Na();a=e+8|0;if((k[a>>2]|0)==(b|0)){F=a;break}Na()}while(0);k[d+12>>2]=e;k[F>>2]=d}while(0);b=w+((i|j)+p)|0;e=i+l|0}else e=l;b=b+4|0;k[b>>2]=k[b>>2]&-2;k[w+(m+4)>>2]=e|1;k[w+(e+m)>>2]=e;b=e>>>3;if(e>>>0<256){a=b<<1;d=644+(a<<2)|0;c=k[151]|0;b=1<<b;do if(!(c&b)){k[151]=c|b;K=644+(a+2<<2)|0;L=d}else{b=644+(a+2<<2)|0;a=k[b>>2]|0;if(a>>>0>=(k[155]|0)>>>0){K=b;L=a;break}Na()}while(0);k[K>>2]=o;k[L+12>>2]=o;k[w+(m+8)>>2]=L;k[w+(m+12)>>2]=d;break}b=e>>>8;do if(!b)d=0;else{if(e>>>0>16777215){d=31;break}K=(b+1048320|0)>>>16&8;L=b<<K;J=(L+520192|0)>>>16&4;L=L<<J;d=(L+245760|0)>>>16&2;d=14-(J|K|d)+(L<<d>>>15)|0;d=e>>>(d+7|0)&1|d<<1}while(0);b=908+(d<<2)|0;k[w+(m+28)>>2]=d;k[w+(m+20)>>2]=0;k[w+(m+16)>>2]=0;a=k[152]|0;c=1<<d;if(!(a&c)){k[152]=a|c;k[b>>2]=o;k[w+(m+24)>>2]=b;k[w+(m+12)>>2]=o;k[w+(m+8)>>2]=o;break}b=k[b>>2]|0;j:do if((k[b+4>>2]&-8|0)!=(e|0)){d=e<<((d|0)==31?0:25-(d>>>1)|0);while(1){a=b+16+(d>>>31<<2)|0;c=k[a>>2]|0;if(!c)break;if((k[c+4>>2]&-8|0)==(e|0)){M=c;break j}else{d=d<<1;b=c}}if(a>>>0<(k[155]|0)>>>0)Na();else{k[a>>2]=o;k[w+(m+24)>>2]=b;k[w+(m+12)>>2]=o;k[w+(m+8)>>2]=o;break h}}else M=b;while(0);b=M+8|0;a=k[b>>2]|0;L=k[155]|0;if(a>>>0>=L>>>0&M>>>0>=L>>>0){k[a+12>>2]=o;k[b>>2]=o;k[w+(m+8)>>2]=a;k[w+(m+12)>>2]=M;k[w+(m+24)>>2]=0;break}else Na()}else{M=(k[154]|0)+l|0;k[154]=M;k[157]=o;k[w+(m+4)>>2]=M|1}while(0);M=w+(n|8)|0;return M|0}else c=1052;while(1){a=k[c>>2]|0;if(a>>>0<=g>>>0?(b=k[c+4>>2]|0,d=a+b|0,d>>>0>g>>>0):0)break;c=k[c+8>>2]|0}e=a+(b+-39)|0;a=a+(b+-47+((e&7|0)==0?0:0-e&7))|0;e=g+16|0;a=a>>>0<e>>>0?g:a;b=a+8|0;c=w+8|0;c=(c&7|0)==0?0:0-c&7;M=p+-40-c|0;k[157]=w+c;k[154]=M;k[w+(c+4)>>2]=M|1;k[w+(p+-36)>>2]=40;k[158]=k[273];c=a+4|0;k[c>>2]=27;k[b>>2]=k[263];k[b+4>>2]=k[264];k[b+8>>2]=k[265];k[b+12>>2]=k[266];k[263]=w;k[264]=p;k[266]=0;k[265]=b;b=a+28|0;k[b>>2]=7;if((a+32|0)>>>0<d>>>0)do{M=b;b=b+4|0;k[b>>2]=7}while((M+8|0)>>>0<d>>>0);if((a|0)!=(g|0)){f=a-g|0;k[c>>2]=k[c>>2]&-2;k[g+4>>2]=f|1;k[a>>2]=f;b=f>>>3;if(f>>>0<256){a=b<<1;d=644+(a<<2)|0;c=k[151]|0;b=1<<b;if(c&b){b=644+(a+2<<2)|0;a=k[b>>2]|0;if(a>>>0<(k[155]|0)>>>0)Na();else{G=b;H=a}}else{k[151]=c|b;G=644+(a+2<<2)|0;H=d}k[G>>2]=g;k[H+12>>2]=g;k[g+8>>2]=H;k[g+12>>2]=d;break}b=f>>>8;if(b)if(f>>>0>16777215)d=31;else{L=(b+1048320|0)>>>16&8;M=b<<L;K=(M+520192|0)>>>16&4;M=M<<K;d=(M+245760|0)>>>16&2;d=14-(K|L|d)+(M<<d>>>15)|0;d=f>>>(d+7|0)&1|d<<1}else d=0;c=908+(d<<2)|0;k[g+28>>2]=d;k[g+20>>2]=0;k[e>>2]=0;b=k[152]|0;a=1<<d;if(!(b&a)){k[152]=b|a;k[c>>2]=g;k[g+24>>2]=c;k[g+12>>2]=g;k[g+8>>2]=g;break}b=k[c>>2]|0;k:do if((k[b+4>>2]&-8|0)!=(f|0)){d=f<<((d|0)==31?0:25-(d>>>1)|0);while(1){a=b+16+(d>>>31<<2)|0;c=k[a>>2]|0;if(!c)break;if((k[c+4>>2]&-8|0)==(f|0)){I=c;break k}else{d=d<<1;b=c}}if(a>>>0<(k[155]|0)>>>0)Na();else{k[a>>2]=g;k[g+24>>2]=b;k[g+12>>2]=g;k[g+8>>2]=g;break g}}else I=b;while(0);b=I+8|0;a=k[b>>2]|0;M=k[155]|0;if(a>>>0>=M>>>0&I>>>0>=M>>>0){k[a+12>>2]=g;k[b>>2]=g;k[g+8>>2]=a;k[g+12>>2]=I;k[g+24>>2]=0;break}else Na()}}else{M=k[155]|0;if((M|0)==0|w>>>0<M>>>0)k[155]=w;k[263]=w;k[264]=p;k[266]=0;k[160]=k[269];k[159]=-1;b=0;do{M=b<<1;L=644+(M<<2)|0;k[644+(M+3<<2)>>2]=L;k[644+(M+2<<2)>>2]=L;b=b+1|0}while((b|0)!=32);M=w+8|0;M=(M&7|0)==0?0:0-M&7;L=p+-40-M|0;k[157]=w+M;k[154]=L;k[w+(M+4)>>2]=L|1;k[w+(p+-36)>>2]=40;k[158]=k[273]}while(0);b=k[154]|0;if(b>>>0>q>>>0){L=b-q|0;k[154]=L;M=k[157]|0;k[157]=M+q;k[M+(q+4)>>2]=L|1;k[M+4>>2]=q|3;M=M+8|0;return M|0}}M=qc()|0;k[M>>2]=12;M=0;return M|0}function Vc(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if(!a)return;b=a+-8|0;h=k[155]|0;if(b>>>0<h>>>0)Na();c=k[a+-4>>2]|0;d=c&3;if((d|0)==1)Na();o=c&-8;q=a+(o+-8)|0;do if(!(c&1)){b=k[b>>2]|0;if(!d)return;i=-8-b|0;l=a+i|0;m=b+o|0;if(l>>>0<h>>>0)Na();if((l|0)==(k[156]|0)){b=a+(o+-4)|0;c=k[b>>2]|0;if((c&3|0)!=3){u=l;f=m;break}k[153]=m;k[b>>2]=c&-2;k[a+(i+4)>>2]=m|1;k[q>>2]=m;return}e=b>>>3;if(b>>>0<256){d=k[a+(i+8)>>2]|0;c=k[a+(i+12)>>2]|0;b=644+(e<<1<<2)|0;if((d|0)!=(b|0)){if(d>>>0<h>>>0)Na();if((k[d+12>>2]|0)!=(l|0))Na()}if((c|0)==(d|0)){k[151]=k[151]&~(1<<e);u=l;f=m;break}if((c|0)!=(b|0)){if(c>>>0<h>>>0)Na();b=c+8|0;if((k[b>>2]|0)==(l|0))g=b;else Na()}else g=c+8|0;k[d+12>>2]=c;k[g>>2]=d;u=l;f=m;break}g=k[a+(i+24)>>2]|0;d=k[a+(i+12)>>2]|0;do if((d|0)==(l|0)){c=a+(i+20)|0;b=k[c>>2]|0;if(!b){c=a+(i+16)|0;b=k[c>>2]|0;if(!b){j=0;break}}while(1){d=b+20|0;e=k[d>>2]|0;if(e){b=e;c=d;continue}d=b+16|0;e=k[d>>2]|0;if(!e)break;else{b=e;c=d}}if(c>>>0<h>>>0)Na();else{k[c>>2]=0;j=b;break}}else{e=k[a+(i+8)>>2]|0;if(e>>>0<h>>>0)Na();b=e+12|0;if((k[b>>2]|0)!=(l|0))Na();c=d+8|0;if((k[c>>2]|0)==(l|0)){k[b>>2]=d;k[c>>2]=e;j=d;break}else Na()}while(0);if(g){b=k[a+(i+28)>>2]|0;c=908+(b<<2)|0;if((l|0)==(k[c>>2]|0)){k[c>>2]=j;if(!j){k[152]=k[152]&~(1<<b);u=l;f=m;break}}else{if(g>>>0<(k[155]|0)>>>0)Na();b=g+16|0;if((k[b>>2]|0)==(l|0))k[b>>2]=j;else k[g+20>>2]=j;if(!j){u=l;f=m;break}}c=k[155]|0;if(j>>>0<c>>>0)Na();k[j+24>>2]=g;b=k[a+(i+16)>>2]|0;do if(b)if(b>>>0<c>>>0)Na();else{k[j+16>>2]=b;k[b+24>>2]=j;break}while(0);b=k[a+(i+20)>>2]|0;if(b)if(b>>>0<(k[155]|0)>>>0)Na();else{k[j+20>>2]=b;k[b+24>>2]=j;u=l;f=m;break}else{u=l;f=m}}else{u=l;f=m}}else{u=b;f=o}while(0);if(u>>>0>=q>>>0)Na();b=a+(o+-4)|0;c=k[b>>2]|0;if(!(c&1))Na();if(!(c&2)){if((q|0)==(k[157]|0)){t=(k[154]|0)+f|0;k[154]=t;k[157]=u;k[u+4>>2]=t|1;if((u|0)!=(k[156]|0))return;k[156]=0;k[153]=0;return}if((q|0)==(k[156]|0)){t=(k[153]|0)+f|0;k[153]=t;k[156]=u;k[u+4>>2]=t|1;k[u+t>>2]=t;return}f=(c&-8)+f|0;e=c>>>3;do if(c>>>0>=256){g=k[a+(o+16)>>2]|0;b=k[a+(o|4)>>2]|0;do if((b|0)==(q|0)){c=a+(o+12)|0;b=k[c>>2]|0;if(!b){c=a+(o+8)|0;b=k[c>>2]|0;if(!b){p=0;break}}while(1){d=b+20|0;e=k[d>>2]|0;if(e){b=e;c=d;continue}d=b+16|0;e=k[d>>2]|0;if(!e)break;else{b=e;c=d}}if(c>>>0<(k[155]|0)>>>0)Na();else{k[c>>2]=0;p=b;break}}else{c=k[a+o>>2]|0;if(c>>>0<(k[155]|0)>>>0)Na();d=c+12|0;if((k[d>>2]|0)!=(q|0))Na();e=b+8|0;if((k[e>>2]|0)==(q|0)){k[d>>2]=b;k[e>>2]=c;p=b;break}else Na()}while(0);if(g){b=k[a+(o+20)>>2]|0;c=908+(b<<2)|0;if((q|0)==(k[c>>2]|0)){k[c>>2]=p;if(!p){k[152]=k[152]&~(1<<b);break}}else{if(g>>>0<(k[155]|0)>>>0)Na();b=g+16|0;if((k[b>>2]|0)==(q|0))k[b>>2]=p;else k[g+20>>2]=p;if(!p)break}c=k[155]|0;if(p>>>0<c>>>0)Na();k[p+24>>2]=g;b=k[a+(o+8)>>2]|0;do if(b)if(b>>>0<c>>>0)Na();else{k[p+16>>2]=b;k[b+24>>2]=p;break}while(0);b=k[a+(o+12)>>2]|0;if(b)if(b>>>0<(k[155]|0)>>>0)Na();else{k[p+20>>2]=b;k[b+24>>2]=p;break}}}else{d=k[a+o>>2]|0;c=k[a+(o|4)>>2]|0;b=644+(e<<1<<2)|0;if((d|0)!=(b|0)){if(d>>>0<(k[155]|0)>>>0)Na();if((k[d+12>>2]|0)!=(q|0))Na()}if((c|0)==(d|0)){k[151]=k[151]&~(1<<e);break}if((c|0)!=(b|0)){if(c>>>0<(k[155]|0)>>>0)Na();b=c+8|0;if((k[b>>2]|0)==(q|0))n=b;else Na()}else n=c+8|0;k[d+12>>2]=c;k[n>>2]=d}while(0);k[u+4>>2]=f|1;k[u+f>>2]=f;if((u|0)==(k[156]|0)){k[153]=f;return}}else{k[b>>2]=c&-2;k[u+4>>2]=f|1;k[u+f>>2]=f}b=f>>>3;if(f>>>0<256){c=b<<1;e=644+(c<<2)|0;d=k[151]|0;b=1<<b;if(d&b){b=644+(c+2<<2)|0;c=k[b>>2]|0;if(c>>>0<(k[155]|0)>>>0)Na();else{r=b;s=c}}else{k[151]=d|b;r=644+(c+2<<2)|0;s=e}k[r>>2]=u;k[s+12>>2]=u;k[u+8>>2]=s;k[u+12>>2]=e;return}b=f>>>8;if(b)if(f>>>0>16777215)e=31;else{r=(b+1048320|0)>>>16&8;s=b<<r;q=(s+520192|0)>>>16&4;s=s<<q;e=(s+245760|0)>>>16&2;e=14-(q|r|e)+(s<<e>>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;b=908+(e<<2)|0;k[u+28>>2]=e;k[u+20>>2]=0;k[u+16>>2]=0;c=k[152]|0;d=1<<e;a:do if(c&d){b=k[b>>2]|0;b:do if((k[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){c=b+16+(e>>>31<<2)|0;d=k[c>>2]|0;if(!d)break;if((k[d+4>>2]&-8|0)==(f|0)){t=d;break b}else{e=e<<1;b=d}}if(c>>>0<(k[155]|0)>>>0)Na();else{k[c>>2]=u;k[u+24>>2]=b;k[u+12>>2]=u;k[u+8>>2]=u;break a}}else t=b;while(0);b=t+8|0;c=k[b>>2]|0;s=k[155]|0;if(c>>>0>=s>>>0&t>>>0>=s>>>0){k[c+12>>2]=u;k[b>>2]=u;k[u+8>>2]=c;k[u+12>>2]=t;k[u+24>>2]=0;break}else Na()}else{k[152]=c|d;k[b>>2]=u;k[u+24>>2]=b;k[u+12>>2]=u;k[u+8>>2]=u}while(0);u=(k[159]|0)+-1|0;k[159]=u;if(!u)b=1060;else return;while(1){b=k[b>>2]|0;if(!b)break;else b=b+8|0}k[159]=-1;return}function Wc(a,b){a=a|0;b=b|0;var c=0,d=0;if(!a){a=Uc(b)|0;return a|0}if(b>>>0>4294967231){a=qc()|0;k[a>>2]=12;a=0;return a|0}c=Yc(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(c){a=c+8|0;return a|0}c=Uc(b)|0;if(!c){a=0;return a|0}d=k[a+-4>>2]|0;d=(d&-8)-((d&3|0)==0?8:4)|0;ed(c|0,a|0,(d>>>0<b>>>0?d:b)|0)|0;Vc(a);a=c;return a|0}function Xc(a){a=a|0;var b=0;if(!a){b=0;return b|0}a=k[a+-4>>2]|0;b=a&3;if((b|0)==1){b=0;return b|0}b=(a&-8)-((b|0)==0?8:4)|0;return b|0}function Yc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;o=a+4|0;p=k[o>>2]|0;i=p&-8;l=a+i|0;h=k[155]|0;c=p&3;if(!((c|0)!=1&a>>>0>=h>>>0&a>>>0<l>>>0))Na();d=a+(i|4)|0;e=k[d>>2]|0;if(!(e&1))Na();if(!c){if(b>>>0<256){a=0;return a|0}if(i>>>0>=(b+4|0)>>>0?(i-b|0)>>>0<=k[271]<<1>>>0:0)return a|0;a=0;return a|0}if(i>>>0>=b>>>0){c=i-b|0;if(c>>>0<=15)return a|0;k[o>>2]=p&1|b|2;k[a+(b+4)>>2]=c|3;k[d>>2]=k[d>>2]|1;Zc(a+b|0,c);return a|0}if((l|0)==(k[157]|0)){c=(k[154]|0)+i|0;if(c>>>0<=b>>>0){a=0;return a|0}n=c-b|0;k[o>>2]=p&1|b|2;k[a+(b+4)>>2]=n|1;k[157]=a+b;k[154]=n;return a|0}if((l|0)==(k[156]|0)){d=(k[153]|0)+i|0;if(d>>>0<b>>>0){a=0;return a|0}c=d-b|0;if(c>>>0>15){k[o>>2]=p&1|b|2;k[a+(b+4)>>2]=c|1;k[a+d>>2]=c;d=a+(d+4)|0;k[d>>2]=k[d>>2]&-2;d=a+b|0}else{k[o>>2]=p&1|d|2;d=a+(d+4)|0;k[d>>2]=k[d>>2]|1;d=0;c=0}k[153]=c;k[156]=d;return a|0}if(e&2){a=0;return a|0}m=(e&-8)+i|0;if(m>>>0<b>>>0){a=0;return a|0}n=m-b|0;f=e>>>3;do if(e>>>0>=256){g=k[a+(i+24)>>2]|0;f=k[a+(i+12)>>2]|0;do if((f|0)==(l|0)){d=a+(i+20)|0;c=k[d>>2]|0;if(!c){d=a+(i+16)|0;c=k[d>>2]|0;if(!c){j=0;break}}while(1){e=c+20|0;f=k[e>>2]|0;if(f){c=f;d=e;continue}e=c+16|0;f=k[e>>2]|0;if(!f)break;else{c=f;d=e}}if(d>>>0<h>>>0)Na();else{k[d>>2]=0;j=c;break}}else{e=k[a+(i+8)>>2]|0;if(e>>>0<h>>>0)Na();c=e+12|0;if((k[c>>2]|0)!=(l|0))Na();d=f+8|0;if((k[d>>2]|0)==(l|0)){k[c>>2]=f;k[d>>2]=e;j=f;break}else Na()}while(0);if(g){c=k[a+(i+28)>>2]|0;d=908+(c<<2)|0;if((l|0)==(k[d>>2]|0)){k[d>>2]=j;if(!j){k[152]=k[152]&~(1<<c);break}}else{if(g>>>0<(k[155]|0)>>>0)Na();c=g+16|0;if((k[c>>2]|0)==(l|0))k[c>>2]=j;else k[g+20>>2]=j;if(!j)break}d=k[155]|0;if(j>>>0<d>>>0)Na();k[j+24>>2]=g;c=k[a+(i+16)>>2]|0;do if(c)if(c>>>0<d>>>0)Na();else{k[j+16>>2]=c;k[c+24>>2]=j;break}while(0);c=k[a+(i+20)>>2]|0;if(c)if(c>>>0<(k[155]|0)>>>0)Na();else{k[j+20>>2]=c;k[c+24>>2]=j;break}}}else{e=k[a+(i+8)>>2]|0;d=k[a+(i+12)>>2]|0;c=644+(f<<1<<2)|0;if((e|0)!=(c|0)){if(e>>>0<h>>>0)Na();if((k[e+12>>2]|0)!=(l|0))Na()}if((d|0)==(e|0)){k[151]=k[151]&~(1<<f);break}if((d|0)!=(c|0)){if(d>>>0<h>>>0)Na();c=d+8|0;if((k[c>>2]|0)==(l|0))g=c;else Na()}else g=d+8|0;k[e+12>>2]=d;k[g>>2]=e}while(0);if(n>>>0<16){k[o>>2]=m|p&1|2;b=a+(m|4)|0;k[b>>2]=k[b>>2]|1;return a|0}else{k[o>>2]=p&1|b|2;k[a+(b+4)>>2]=n|3;p=a+(m|4)|0;k[p>>2]=k[p>>2]|1;Zc(a+b|0,n);return a|0}return 0}function Zc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=a+b|0;c=k[a+4>>2]|0;do if(!(c&1)){j=k[a>>2]|0;if(!(c&3))return;n=a+(0-j)|0;m=j+b|0;i=k[155]|0;if(n>>>0<i>>>0)Na();if((n|0)==(k[156]|0)){d=a+(b+4)|0;c=k[d>>2]|0;if((c&3|0)!=3){t=n;g=m;break}k[153]=m;k[d>>2]=c&-2;k[a+(4-j)>>2]=m|1;k[q>>2]=m;return}f=j>>>3;if(j>>>0<256){e=k[a+(8-j)>>2]|0;d=k[a+(12-j)>>2]|0;c=644+(f<<1<<2)|0;if((e|0)!=(c|0)){if(e>>>0<i>>>0)Na();if((k[e+12>>2]|0)!=(n|0))Na()}if((d|0)==(e|0)){k[151]=k[151]&~(1<<f);t=n;g=m;break}if((d|0)!=(c|0)){if(d>>>0<i>>>0)Na();c=d+8|0;if((k[c>>2]|0)==(n|0))h=c;else Na()}else h=d+8|0;k[e+12>>2]=d;k[h>>2]=e;t=n;g=m;break}h=k[a+(24-j)>>2]|0;e=k[a+(12-j)>>2]|0;do if((e|0)==(n|0)){e=16-j|0;d=a+(e+4)|0;c=k[d>>2]|0;if(!c){d=a+e|0;c=k[d>>2]|0;if(!c){l=0;break}}while(1){e=c+20|0;f=k[e>>2]|0;if(f){c=f;d=e;continue}e=c+16|0;f=k[e>>2]|0;if(!f)break;else{c=f;d=e}}if(d>>>0<i>>>0)Na();else{k[d>>2]=0;l=c;break}}else{f=k[a+(8-j)>>2]|0;if(f>>>0<i>>>0)Na();c=f+12|0;if((k[c>>2]|0)!=(n|0))Na();d=e+8|0;if((k[d>>2]|0)==(n|0)){k[c>>2]=e;k[d>>2]=f;l=e;break}else Na()}while(0);if(h){c=k[a+(28-j)>>2]|0;d=908+(c<<2)|0;if((n|0)==(k[d>>2]|0)){k[d>>2]=l;if(!l){k[152]=k[152]&~(1<<c);t=n;g=m;break}}else{if(h>>>0<(k[155]|0)>>>0)Na();c=h+16|0;if((k[c>>2]|0)==(n|0))k[c>>2]=l;else k[h+20>>2]=l;if(!l){t=n;g=m;break}}e=k[155]|0;if(l>>>0<e>>>0)Na();k[l+24>>2]=h;c=16-j|0;d=k[a+c>>2]|0;do if(d)if(d>>>0<e>>>0)Na();else{k[l+16>>2]=d;k[d+24>>2]=l;break}while(0);c=k[a+(c+4)>>2]|0;if(c)if(c>>>0<(k[155]|0)>>>0)Na();else{k[l+20>>2]=c;k[c+24>>2]=l;t=n;g=m;break}else{t=n;g=m}}else{t=n;g=m}}else{t=a;g=b}while(0);i=k[155]|0;if(q>>>0<i>>>0)Na();c=a+(b+4)|0;d=k[c>>2]|0;if(!(d&2)){if((q|0)==(k[157]|0)){s=(k[154]|0)+g|0;k[154]=s;k[157]=t;k[t+4>>2]=s|1;if((t|0)!=(k[156]|0))return;k[156]=0;k[153]=0;return}if((q|0)==(k[156]|0)){s=(k[153]|0)+g|0;k[153]=s;k[156]=t;k[t+4>>2]=s|1;k[t+s>>2]=s;return}g=(d&-8)+g|0;f=d>>>3;do if(d>>>0>=256){h=k[a+(b+24)>>2]|0;e=k[a+(b+12)>>2]|0;do if((e|0)==(q|0)){d=a+(b+20)|0;c=k[d>>2]|0;if(!c){d=a+(b+16)|0;c=k[d>>2]|0;if(!c){p=0;break}}while(1){e=c+20|0;f=k[e>>2]|0;if(f){c=f;d=e;continue}e=c+16|0;f=k[e>>2]|0;if(!f)break;else{c=f;d=e}}if(d>>>0<i>>>0)Na();else{k[d>>2]=0;p=c;break}}else{f=k[a+(b+8)>>2]|0;if(f>>>0<i>>>0)Na();c=f+12|0;if((k[c>>2]|0)!=(q|0))Na();d=e+8|0;if((k[d>>2]|0)==(q|0)){k[c>>2]=e;k[d>>2]=f;p=e;break}else Na()}while(0);if(h){c=k[a+(b+28)>>2]|0;d=908+(c<<2)|0;if((q|0)==(k[d>>2]|0)){k[d>>2]=p;if(!p){k[152]=k[152]&~(1<<c);break}}else{if(h>>>0<(k[155]|0)>>>0)Na();c=h+16|0;if((k[c>>2]|0)==(q|0))k[c>>2]=p;else k[h+20>>2]=p;if(!p)break}d=k[155]|0;if(p>>>0<d>>>0)Na();k[p+24>>2]=h;c=k[a+(b+16)>>2]|0;do if(c)if(c>>>0<d>>>0)Na();else{k[p+16>>2]=c;k[c+24>>2]=p;break}while(0);c=k[a+(b+20)>>2]|0;if(c)if(c>>>0<(k[155]|0)>>>0)Na();else{k[p+20>>2]=c;k[c+24>>2]=p;break}}}else{e=k[a+(b+8)>>2]|0;d=k[a+(b+12)>>2]|0;c=644+(f<<1<<2)|0;if((e|0)!=(c|0)){if(e>>>0<i>>>0)Na();if((k[e+12>>2]|0)!=(q|0))Na()}if((d|0)==(e|0)){k[151]=k[151]&~(1<<f);break}if((d|0)!=(c|0)){if(d>>>0<i>>>0)Na();c=d+8|0;if((k[c>>2]|0)==(q|0))o=c;else Na()}else o=d+8|0;k[e+12>>2]=d;k[o>>2]=e}while(0);k[t+4>>2]=g|1;k[t+g>>2]=g;if((t|0)==(k[156]|0)){k[153]=g;return}}else{k[c>>2]=d&-2;k[t+4>>2]=g|1;k[t+g>>2]=g}c=g>>>3;if(g>>>0<256){d=c<<1;f=644+(d<<2)|0;e=k[151]|0;c=1<<c;if(e&c){c=644+(d+2<<2)|0;d=k[c>>2]|0;if(d>>>0<(k[155]|0)>>>0)Na();else{r=c;s=d}}else{k[151]=e|c;r=644+(d+2<<2)|0;s=f}k[r>>2]=t;k[s+12>>2]=t;k[t+8>>2]=s;k[t+12>>2]=f;return}c=g>>>8;if(c)if(g>>>0>16777215)f=31;else{r=(c+1048320|0)>>>16&8;s=c<<r;q=(s+520192|0)>>>16&4;s=s<<q;f=(s+245760|0)>>>16&2;f=14-(q|r|f)+(s<<f>>>15)|0;f=g>>>(f+7|0)&1|f<<1}else f=0;c=908+(f<<2)|0;k[t+28>>2]=f;k[t+20>>2]=0;k[t+16>>2]=0;d=k[152]|0;e=1<<f;if(!(d&e)){k[152]=d|e;k[c>>2]=t;k[t+24>>2]=c;k[t+12>>2]=t;k[t+8>>2]=t;return}c=k[c>>2]|0;a:do if((k[c+4>>2]&-8|0)!=(g|0)){f=g<<((f|0)==31?0:25-(f>>>1)|0);while(1){d=c+16+(f>>>31<<2)|0;e=k[d>>2]|0;if(!e)break;if((k[e+4>>2]&-8|0)==(g|0)){c=e;break a}else{f=f<<1;c=e}}if(d>>>0<(k[155]|0)>>>0)Na();k[d>>2]=t;k[t+24>>2]=c;k[t+12>>2]=t;k[t+8>>2]=t;return}while(0);d=c+8|0;e=k[d>>2]|0;s=k[155]|0;if(!(e>>>0>=s>>>0&c>>>0>=s>>>0))Na();k[e+12>>2]=t;k[d>>2]=t;k[t+8>>2]=e;k[t+12>>2]=c;k[t+24>>2]=0;return}function _c(){}function $c(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (L=d,a-c>>>0|0)|0}function ad(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=a+c|0;if((c|0)>=20){b=b&255;f=a&3;g=b|b<<8|b<<16|b<<24;e=d&~3;if(f){f=a+4-f|0;while((a|0)<(f|0)){i[a>>0]=b;a=a+1|0}}while((a|0)<(e|0)){k[a>>2]=g;a=a+4|0}}while((a|0)<(d|0)){i[a>>0]=b;a=a+1|0}return a-c|0}function bd(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){L=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}L=0;return b>>>c-32|0}function cd(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){L=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}L=a<<c-32;return 0}function dd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (L=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function ed(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((c|0)>=4096)return Da(a|0,b|0,c|0)|0;d=a|0;if((a&3)==(b&3)){while(a&3){if(!c)return d|0;i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0;c=c-1|0}while((c|0)>=4){k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0;c=c-4|0}}while((c|0)>0){i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0;c=c-1|0}return d|0}function fd(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){L=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}L=(b|0)<0?-1:0;return b>>c-32|0}function gd(a){a=a|0;var b=0;b=i[v+(a&255)>>0]|0;if((b|0)<8)return b|0;b=i[v+(a>>8&255)>>0]|0;if((b|0)<8)return b+8|0;b=i[v+(a>>16&255)>>0]|0;if((b|0)<8)return b+16|0;return (i[v+(a>>>24)>>0]|0)+24|0}function hd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=ha(e,f)|0;d=a>>>16;a=(c>>>16)+(ha(e,d)|0)|0;e=b>>>16;b=ha(e,f)|0;return (L=(a>>>16)+(ha(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function id(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=$c(j^a,i^b,j,i)|0;g=L;a=f^j;b=e^i;return $c((nd(h,g,$c(f^c,e^d,f,e)|0,L,0)|0)^a,L^b,a,b)|0}function jd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=r;r=r+16|0;h=e|0;g=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;j=d>>31|((d|0)<0?-1:0)<<1;i=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;a=$c(g^a,f^b,g,f)|0;b=L;nd(a,b,$c(j^c,i^d,j,i)|0,L,h)|0;d=$c(k[h>>2]^g,k[h+4>>2]^f,g,f)|0;c=L;r=e;return (L=c,d)|0}function kd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=hd(e,f)|0;a=L;return (L=(ha(b,f)|0)+(ha(d,e)|0)+a|a&0,c|0|0)|0}function ld(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return nd(a,b,c,d,0)|0}function md(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=r;r=r+16|0;e=f|0;nd(a,b,c,d,e)|0;r=f;return (L=k[e+4>>2]|0,k[e>>2]|0)|0}function nd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;l=a;i=b;j=i;g=c;n=d;h=n;if(!j){f=(e|0)!=0;if(!h){if(f){k[e>>2]=(l>>>0)%(g>>>0);k[e+4>>2]=0}n=0;e=(l>>>0)/(g>>>0)>>>0;return (L=n,e)|0}else{if(!f){n=0;e=0;return (L=n,e)|0}k[e>>2]=a|0;k[e+4>>2]=b&0;n=0;e=0;return (L=n,e)|0}}f=(h|0)==0;do if(g){if(!f){f=(ja(h|0)|0)-(ja(j|0)|0)|0;if(f>>>0<=31){m=f+1|0;h=31-f|0;b=f-31>>31;g=m;a=l>>>(m>>>0)&b|j<<h;b=j>>>(m>>>0)&b;f=0;h=l<<h;break}if(!e){n=0;e=0;return (L=n,e)|0}k[e>>2]=a|0;k[e+4>>2]=i|b&0;n=0;e=0;return (L=n,e)|0}f=g-1|0;if(f&g){h=(ja(g|0)|0)+33-(ja(j|0)|0)|0;p=64-h|0;m=32-h|0;i=m>>31;o=h-32|0;b=o>>31;g=h;a=m-1>>31&j>>>(o>>>0)|(j<<m|l>>>(h>>>0))&b;b=b&j>>>(h>>>0);f=l<<p&i;h=(j<<p|l>>>(o>>>0))&i|l<<m&h-33>>31;break}if(e){k[e>>2]=f&l;k[e+4>>2]=0}if((g|0)==1){o=i|b&0;p=a|0|0;return (L=o,p)|0}else{p=gd(g|0)|0;o=j>>>(p>>>0)|0;p=j<<32-p|l>>>(p>>>0)|0;return (L=o,p)|0}}else{if(f){if(e){k[e>>2]=(j>>>0)%(g>>>0);k[e+4>>2]=0}o=0;p=(j>>>0)/(g>>>0)>>>0;return (L=o,p)|0}if(!l){if(e){k[e>>2]=0;k[e+4>>2]=(j>>>0)%(h>>>0)}o=0;p=(j>>>0)/(h>>>0)>>>0;return (L=o,p)|0}f=h-1|0;if(!(f&h)){if(e){k[e>>2]=a|0;k[e+4>>2]=f&j|b&0}o=0;p=j>>>((gd(h|0)|0)>>>0);return (L=o,p)|0}f=(ja(h|0)|0)-(ja(j|0)|0)|0;if(f>>>0<=30){b=f+1|0;h=31-f|0;g=b;a=j<<h|l>>>(b>>>0);b=j>>>(b>>>0);f=0;h=l<<h;break}if(!e){o=0;p=0;return (L=o,p)|0}k[e>>2]=a|0;k[e+4>>2]=i|b&0;o=0;p=0;return (L=o,p)|0}while(0);if(!g){j=h;i=0;h=0}else{m=c|0|0;l=n|d&0;j=dd(m|0,l|0,-1,-1)|0;c=L;i=h;h=0;do{d=i;i=f>>>31|i<<1;f=h|f<<1;d=a<<1|d>>>31|0;n=a>>>31|b<<1|0;$c(j,c,d,n)|0;p=L;o=p>>31|((p|0)<0?-1:0)<<1;h=o&1;a=$c(d,n,o&m,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l)|0;b=L;g=g-1|0}while((g|0)!=0);j=i;i=0}g=0;if(e){k[e>>2]=a;k[e+4>>2]=b}o=(f|0)>>>31|(j|g)<<1|(g<<1|f>>>31)&0|i;p=(f<<1|0>>>31)&-2|h;return (L=o,p)|0}function od(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ua[a&7](b|0,c|0,d|0)|0}function pd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Va[a&3](b|0,c|0,d|0,e|0,f|0)}function qd(a,b){a=a|0;b=b|0;Wa[a&7](b|0)}function rd(a,b){a=a|0;b=b|0;return Xa[a&1](b|0)|0}function sd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ya[a&0](b|0,c|0,d|0)}function td(a){a=a|0;Za[a&3]()}function ud(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;_a[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function vd(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 $a[a&1](b|0,c|0,d|0,e|0,f|0)|0}function wd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ab[a&3](b|0,c|0,d|0,e|0)}function xd(a,b,c){a=a|0;b=b|0;c=c|0;ka(0);return 0}function yd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ka(1)}function zd(a){a=a|0;ka(2)}function Ad(a){a=a|0;ka(3);return 0}function Bd(a,b,c){a=a|0;b=b|0;c=c|0;ka(4)}function Cd(){ka(5)}function Dd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ka(6)}function Ed(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ka(7);return 0}function Fd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ka(8)}
// EMSCRIPTEN_END_FUNCS
var Ua=[xd,ac,Qc,Jc,Ic,Kc,xd,xd];var Va=[yd,hc,gc,yd];var Wa=[zd,Xb,_b,Yb,Zb,$b,oc,Pc];var Xa=[Ad,Hc];var Ya=[Bd];var Za=[Cd,mc,nc,Cd];var _a=[Dd,jc,ic,Dd];var $a=[Ed,ob];var ab=[Fd,cc,dc,Fd];return{___cxa_can_catch:kc,_crn_get_levels:Db,_crn_get_uncompressed_size:Fb,_crn_decompress:Gb,_i64Add:dd,_crn_get_width:Bb,___cxa_is_pointer_type:lc,_i64Subtract:$c,_memset:ad,_malloc:Uc,_free:Vc,_memcpy:ed,_bitshift64Lshr:bd,_fflush:wc,_bitshift64Shl:cd,_crn_get_height:Cb,___errno_location:qc,_crn_get_dxt_format:Eb,runPostSets:_c,_emscripten_replace_memory:Ta,stackAlloc:bb,stackSave:cb,stackRestore:db,establishStackSpace:eb,setThrew:fb,setTempRet0:ib,getTempRet0:jb,dynCall_iiii:od,dynCall_viiiii:pd,dynCall_vi:qd,dynCall_ii:rd,dynCall_viii:sd,dynCall_v:td,dynCall_viiiiii:ud,dynCall_iiiiii:vd,dynCall_viiii:wd}})
// EMSCRIPTEN_END_ASM
(e.Ya,e.Za,buffer);e.___cxa_can_catch=Z.___cxa_can_catch;e._crn_get_levels=Z._crn_get_levels;e.runPostSets=Z.runPostSets;e._crn_get_uncompressed_size=Z._crn_get_uncompressed_size;e._crn_decompress=Z._crn_decompress;var zc=e._i64Add=Z._i64Add;e._crn_get_height=Z._crn_get_height;e.___cxa_is_pointer_type=Z.___cxa_is_pointer_type;
var nb=e._i64Subtract=Z._i64Subtract,qb=e._memset=Z._memset,Ea=e._malloc=Z._malloc,Bc=e._memcpy=Z._memcpy,Xa=e._emscripten_replace_memory=Z._emscripten_replace_memory;e._crn_get_dxt_format=Z._crn_get_dxt_format;var rb=e._bitshift64Lshr=Z._bitshift64Lshr,Na=e._free=Z._free;e._fflush=Z._fflush;e._crn_get_width=Z._crn_get_width;e.___errno_location=Z.___errno_location;var sb=e._bitshift64Shl=Z._bitshift64Shl;e.dynCall_iiii=Z.dynCall_iiii;e.dynCall_viiiii=Z.dynCall_viiiii;e.dynCall_vi=Z.dynCall_vi;
e.dynCall_ii=Z.dynCall_ii;e.dynCall_viii=Z.dynCall_viii;e.dynCall_v=Z.dynCall_v;e.dynCall_viiiiii=Z.dynCall_viiiiii;e.dynCall_iiiiii=Z.dynCall_iiiiii;e.dynCall_viiii=Z.dynCall_viiii;n.aa=Z.stackAlloc;n.ua=Z.stackSave;n.ba=Z.stackRestore;n.Cd=Z.establishStackSpace;n.rb=Z.setTempRet0;n.fb=Z.getTempRet0;function ia(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}ia.prototype=Error();ia.prototype.constructor=ia;
var rd=null,jb=function sd(){e.calledRun||td();e.calledRun||(jb=sd)};
e.callMain=e.zd=function(a){function b(){for(var a=0;3>a;a++)d.push(0)}assert(0==I,"cannot call main when async dependencies remain! (listen on __ATMAIN__)");assert(0==bb.length,"cannot call main when preRun functions remain to be called");a=a||[];Ha||(Ha=!0,ab(cb));var c=a.length+1,d=[D(hb(e.thisProgram),"i8",0)];b();for(var f=0;f<c-1;f+=1)d.push(D(hb(a[f]),"i8",0)),b();d.push(0);d=D(d,"i32",0);try{var g=e._main(c,d,0);ud(g,!0)}catch(h){if(!(h instanceof ia))if("SimulateInfiniteLoop"==h)e.noExitRuntime=
!0;else throw h&&"object"===typeof h&&h.stack&&e.W("exception thrown: "+[h,h.stack]),h;}finally{}};
function td(a){function b(){if(!e.calledRun&&(e.calledRun=!0,!na)){Ha||(Ha=!0,ab(cb));ab(db);if(e.onRuntimeInitialized)e.onRuntimeInitialized();e._main&&vd&&e.callMain(a);if(e.postRun)for("function"==typeof e.postRun&&(e.postRun=[e.postRun]);e.postRun.length;)gb(e.postRun.shift());ab(eb)}}a=a||e.arguments;null===rd&&(rd=Date.now());if(!(0<I)){if(e.preRun)for("function"==typeof e.preRun&&(e.preRun=[e.preRun]);e.preRun.length;)fb(e.preRun.shift());ab(bb);0<I||e.calledRun||(e.setStatus?(e.setStatus("Running..."),
setTimeout(function(){setTimeout(function(){e.setStatus("")},1);b()},1)):b())}}e.run=e.run=td;function ud(a,b){if(!b||!e.noExitRuntime){if(!e.noExitRuntime&&(na=!0,m=void 0,ab(H),e.onExit))e.onExit(a);da?(process.stdout.once("drain",function(){process.exit(a)}),console.log(" "),setTimeout(function(){process.exit(a)},500)):ea&&"function"===typeof quit&&quit(a);throw new ia(a);}}e.exit=e.exit=ud;var wd=[];
function x(a){void 0!==a?(e.print(a),e.W(a),a=JSON.stringify(a)):a="";na=!0;var b="abort("+a+") at "+Oa()+"\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";wd&&wd.forEach(function(c){b=c(b,a)});throw b;}e.abort=e.abort=x;if(e.preInit)for("function"==typeof e.preInit&&(e.preInit=[e.preInit]);0<e.preInit.length;)e.preInit.pop()();var vd=!0;e.noInitialRun&&(vd=!1);td();
window.Module = e;