1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-29 01:28:10 +00:00
trezor-firmware/emscripten/trezor-crypto.js
2016-10-12 18:04:03 +02:00

380 lines
242 KiB
JavaScript

"undefined"===typeof importScripts&&"undefined"!==typeof WorkerGlobalScope&&this instanceof WorkerGlobalScope&&(this.importScripts=function(){throw Error("importScripts is a stub");});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=!1,l=!1,m=!1,ca=!1;
if(e.ENVIRONMENT)if("WEB"===e.ENVIRONMENT)ba=!0;else if("WORKER"===e.ENVIRONMENT)l=!0;else if("NODE"===e.ENVIRONMENT)m=!0;else if("SHELL"===e.ENVIRONMENT)ca=!0;else throw Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.");else ba="object"===typeof window,l="function"===typeof importScripts,m="object"===typeof process&&"function"===typeof require&&!ba&&!l,ca=!ba&&!m&&!l;
if(m){e.print||(e.print=console.log);e.printErr||(e.printErr=console.warn);var da,ea;e.read=function(a,b){da||(da=require("fs"));ea||(ea=require("path"));a=ea.normalize(a);var c=da.readFileSync(a);return b?c:c.toString()};e.readBinary=function(a){a=e.read(a,!0);a.buffer||(a=new Uint8Array(a));assert(a.buffer);return a};e.load=function(a){fa(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 ga))throw a;});e.inspect=function(){return"[Emscripten Module object]"}}else if(ca)e.print||(e.print=print),"undefined"!=typeof printErr&&(e.printErr=printErr),e.read="undefined"!=typeof read?read:function(){throw"no read() available";},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||l)e.read=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.send(null);return b.responseText},e.readAsync=function(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)},"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.warn(a)})):e.print||(e.print=function(){}),l&&(e.load=importScripts),"undefined"===typeof e.setWindowTitle&&(e.setWindowTitle=function(a){document.title=a});else throw"Unknown runtime environment. Where are we?";function fa(a){eval.call(null,a)}!e.load&&e.read&&(e.load=function(a){fa(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.ba=e.printErr;e.preRun=[];e.postRun=[];for(k in aa)aa.hasOwnProperty(k)&&(e[k]=aa[k]);
var aa=void 0,t={Wa:function(a){tempRet0=a},Na:function(){return tempRet0},Q:function(){return p},I:function(a){p=a},va: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]?t.V:"i"===a[0]?(a=parseInt(a.substr(1)),assert(0===a%8),a/8):0}},Ma:function(a){return Math.max(t.va(a),t.V)},Wc:16,rd: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?t.Ma(a):0),t.V):Math.min(b,8):8},t:function(a,b,c){return c&&c.length?e["dynCall_"+a].apply(null,[b].concat(c)):e["dynCall_"+a].call(null,b)},N:[],Ha:function(a){for(var b=0;b<t.N.length;b++)if(!t.N[b])return t.N[b]=a,2*(1+b);throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.";},Sa:function(a){t.N[(a-2)/2]=null},A:function(a){t.A.fa||(t.A.fa={});t.A.fa[a]||(t.A.fa[a]=
1,e.ba(a))},Y:{},jd:function(a,b){assert(b);t.Y[b]||(t.Y[b]={});var c=t.Y[b];c[a]||(c[a]=1===b.length?function(){return t.t(b,a)}:2===b.length?function(c){return t.t(b,a,[c])}:function(){return t.t(b,a,Array.prototype.slice.call(arguments))});return c[a]},gd:function(){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work";},P:function(a){var b=p;p=p+a|0;p=p+15&-16;return b},ga:function(a){var b=v;v=v+a|0;v=v+15&-16;return b},
qa:function(a){var b=w[x>>2];a=(b+a+15|0)&-16;w[x>>2]=a;if(a=a>=ha)ia(),a=!0;return a?(w[x>>2]=b,0):b},ma:function(a,b){return Math.ceil(a/(b?b:16))*(b?b:16)},qd:function(a,b,c){return c?+(a>>>0)+4294967296*+(b>>>0):+(a>>>0)+4294967296*+(b|0)},L:8,V:4,Xc:0};e.Runtime=t;t.addFunction=t.Ha;t.removeFunction=t.Sa;var ja=!1;function assert(a,b){a||z("Assertion failed: "+b)}
function ka(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 la,ma;
(function(){function a(a){a=a.toString().match(f).slice(1);return{arguments:a[0],body:a[1],returnValue:a[2]}}function b(){if(!g){g={};for(var b in c)c.hasOwnProperty(b)&&(g[b]=a(c[b]))}}var c={stackSave:function(){t.Q()},stackRestore:function(){t.I()},arrayToC:function(a){var b=t.P(a.length);na(a,b);return b},stringToC:function(a){var b=0;if(null!==a&&void 0!==a&&0!==a){var c=(a.length<<2)+1,b=t.P(c);oa(a,b,c)}return b}},d={string:c.stringToC,array:c.arrayToC};ma=function(a,b,c,f,g){a=ka(a);var y=
[],H=0;if(f)for(var A=0;A<f.length;A++){var I=d[c[A]];I?(0===H&&(H=t.Q()),y[A]=I(f[A])):y[A]=f[A]}c=a.apply(null,y);"string"===b&&(c=B(c));if(0!==H){if(g&&g.async){EmterpreterAsync.Zc.push(function(){t.I(H)});return}t.I(H)}return c};var f=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/,g=null;la=function(c,d,f){f=f||[];var r=ka(c);c=f.every(function(a){return"number"===a});var q="string"!==d;if(q&&c)return r;var y=f.map(function(a,b){return"$"+b});d="(function("+
y.join(",")+") {";var H=f.length;if(!c){b();d+="var stack = "+g.stackSave.body+";";for(var A=0;A<H;A++){var I=y[A],O=f[A];"number"!==O&&(O=g[O+"ToC"],d+="var "+O.arguments+" = "+I+";",d+=O.body+";",d+=I+"=("+O.returnValue+");")}}f=a(function(){return r}).returnValue;d+="var ret = "+f+"("+y.join(",")+");";q||(f=a(function(){return B}).returnValue,d+="ret = "+f+"(ret);");c||(b(),d+=g.stackRestore.body.replace("()","(stack)")+";");return eval(d+"return ret})")}})();e.ccall=ma;e.cwrap=la;
function pa(a,b,c){c=c||"i8";"*"===c.charAt(c.length-1)&&(c="i32");switch(c){case "i1":C[a>>0]=b;break;case "i8":C[a>>0]=b;break;case "i16":qa[a>>1]=b;break;case "i32":w[a>>2]=b;break;case "i64":tempI64=[b>>>0,(tempDouble=b,1<=+ra(tempDouble)?0<tempDouble?(sa(+ta(tempDouble/4294967296),4294967295)|0)>>>0:~~+ua((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)];w[a>>2]=tempI64[0];w[a+4>>2]=tempI64[1];break;case "float":va[a>>2]=b;break;case "double":wa[a>>3]=b;break;default:z("invalid type for setValue: "+
c)}}e.setValue=pa;function xa(a,b){b=b||"i8";"*"===b.charAt(b.length-1)&&(b="i32");switch(b){case "i1":return C[a>>0];case "i8":return C[a>>0];case "i16":return qa[a>>1];case "i32":return w[a>>2];case "i64":return w[a>>2];case "float":return va[a>>2];case "double":return wa[a>>3];default:z("invalid type for setValue: "+b)}return null}e.getValue=xa;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:["function"===typeof E?E:t.ga,t.P,t.ga,t.qa][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)w[d>>2]=0;for(a=c+g;d<a;)C[d++>>0]=0;return c}if("i8"===h)return a.subarray||a.slice?F.set(a,c):F.set(new Uint8Array(a),c),c;d=0;for(var n,u;d<g;){var r=a[d];"function"===typeof r&&(r=t.kd(r));f=h||b[d];0===f?d++:("i64"==f&&(f="i32"),pa(c+d,r,f),
u!==f&&(n=t.va(f),u=f),d+=n)}return c}e.allocate=D;e.getMemory=function(a){return ya?za?E(a):t.qa(a):t.ga(a)};function B(a,b){if(0===b||!a)return"";for(var c=0,d,f=0;;){d=F[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,F.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=B;e.AsciiToString=function(a){for(var b="";;){var c=C[a++>>0];if(!c)return b;b+=String.fromCharCode(c)}};
e.stringToAscii=function(a,b){return Aa(a,b,!1)};var Ba="undefined"!==typeof TextDecoder?new TextDecoder("utf8"):void 0;
function Ca(a,b){for(var c=b;a[c];)++c;if(16<c-b&&a.subarray&&Ba)return Ba.decode(a.subarray(b,c));for(var d,f,g,h,n,u,c="";;){d=a[b++];if(!d)return c;d&128?(f=a[b++]&63,192==(d&224)?c+=String.fromCharCode((d&31)<<6|f):(g=a[b++]&63,224==(d&240)?d=(d&15)<<12|f<<6|g:(h=a[b++]&63,240==(d&248)?d=(d&7)<<18|f<<12|g<<6|h:(n=a[b++]&63,248==(d&252)?d=(d&3)<<24|f<<18|g<<12|h<<6|n:(u=a[b++]&63,d=(d&1)<<30|f<<24|g<<18|h<<12|n<<6|u))),65536>d?c+=String.fromCharCode(d):(d-=65536,c+=String.fromCharCode(55296|d>>
10,56320|d&1023)))):c+=String.fromCharCode(d)}}e.UTF8ArrayToString=Ca;e.UTF8ToString=function(a){return Ca(F,a)};
function Da(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=Da;function oa(a,b,c){return Da(a,F,b,c)}e.stringToUTF8=oa;function Ea(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=Ea;"undefined"!==typeof TextDecoder&&new TextDecoder("utf-16le");
function Fa(a){return a.replace(/__Z[\w\d_]+/g,function(a){var c;a:{if(e.___cxa_demangle)try{var d=a.substr(1),f=Ea(d)+1,g=E(f);oa(d,g,f);var h=E(4),n=e.___cxa_demangle(g,0,0,h);if(0===xa(h,"i32")&&n){c=B(n);break a}}catch(u){}finally{g&&Ga(g),h&&Ga(h),n&&Ga(n)}else t.A("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");c=a}return a===c?a:a+" ["+c+"]"})}
function Ha(){var a;a:{a=Error();if(!a.stack){try{throw Error(0);}catch(b){a=b}if(!a.stack){a="(no stack trace available)";break a}}a=a.stack.toString()}e.extraStackTrace&&(a+="\n"+e.extraStackTrace());return Fa(a)}e.stackTrace=Ha;var buffer,C,F,qa,Ia,w,Ja,va,wa,Ka,v,ya,La,p,Ma,Oa,x;Ka=v=La=p=Ma=Oa=x=0;ya=!1;
function ia(){z("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+ha+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}
for(var Pa=e.TOTAL_STACK||5242880,ha=e.TOTAL_MEMORY||16777216,G=65536;G<ha||G<2*Pa;)G=16777216>G?2*G:G+16777216;G!==ha&&(ha=G);e.buffer?buffer=e.buffer:buffer=new ArrayBuffer(ha);e.HEAP8=C=new Int8Array(buffer);e.HEAP16=qa=new Int16Array(buffer);e.HEAP32=w=new Int32Array(buffer);e.HEAPU8=F=new Uint8Array(buffer);e.HEAPU16=Ia=new Uint16Array(buffer);e.HEAPU32=Ja=new Uint32Array(buffer);e.HEAPF32=va=new Float32Array(buffer);e.HEAPF64=wa=new Float64Array(buffer);w[0]=1668509029;qa[1]=25459;
if(115!==F[2]||99!==F[3])throw"Runtime error: expected the system to be little-endian!";e.HEAP=void 0;e.buffer=buffer;e.HEAP8=C;e.HEAP16=qa;e.HEAP32=w;e.HEAPU8=F;e.HEAPU16=Ia;e.HEAPU32=Ja;e.HEAPF32=va;e.HEAPF64=wa;function Qa(a){for(;0<a.length;){var b=a.shift();if("function"==typeof b)b();else{var c=b.dd;"number"===typeof c?void 0===b.W?t.t("v",c):t.t("vi",c,[b.W]):c(void 0===b.W?null:b.W)}}}var Ra=[],Sa=[],Ta=[],J=[],Ua=[],za=!1;function Va(a){Ra.unshift(a)}e.addOnPreRun=Va;e.addOnInit=function(a){Sa.unshift(a)};
e.addOnPreMain=function(a){Ta.unshift(a)};e.addOnExit=function(a){J.unshift(a)};function Wa(a){Ua.unshift(a)}e.addOnPostRun=Wa;function Xa(a,b,c){c=Array(0<c?c:Ea(a)+1);a=Da(a,c,0,c.length);b&&(c.length=a);return c}e.intArrayFromString=Xa;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("")};
e.writeStringToMemory=function(a,b,c){t.A("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var d,f;c&&(f=b+Ea(a),d=C[f]);oa(a,b,Infinity);c&&(C[f]=d)};function na(a,b){C.set(a,b)}e.writeArrayToMemory=na;function Aa(a,b,c){for(var d=0;d<a.length;++d)C[b++>>0]=a.charCodeAt(d);c||(C[b>>0]=0)}e.writeAsciiToMemory=Aa;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.ld=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.bd=Math.clz32;Math.trunc||(Math.trunc=function(a){return 0>a?Math.ceil(a):Math.floor(a)});Math.trunc=Math.trunc;var ra=Math.abs,ua=Math.ceil,ta=Math.floor,sa=Math.min,Ya=0,Za=null,$a=null;function ab(){Ya++;e.monitorRunDependencies&&e.monitorRunDependencies(Ya)}e.addRunDependency=ab;
function bb(){Ya--;e.monitorRunDependencies&&e.monitorRunDependencies(Ya);if(0==Ya&&(null!==Za&&(clearInterval(Za),Za=null),$a)){var a=$a;$a=null;a()}}e.removeRunDependency=bb;e.preloadedImages={};e.preloadedAudios={};Ka=8;v=Ka+40448;Sa.push();
D([8,201,188,243,103,230,9,106,59,167,202,132,133,174,103,187,43,248,148,254,114,243,110,60,241,54,29,95,58,245,79,165,209,130,230,173,127,82,14,81,31,108,62,43,140,104,5,155,107,189,65,251,171,217,131,31,121,33,126,19,25,205,224,91,34,174,40,215,152,47,138,66,205,101,239,35,145,68,55,113,47,59,77,236,207,251,192,181,188,219,137,129,165,219,181,233,56,181,72,243,91,194,86,57,25,208,5,182,241,17,241,89,155,79,25,175,164,130,63,146,24,129,109,218,213,94,28,171,66,2,3,163,152,170,7,216,190,111,112,69,
1,91,131,18,140,178,228,78,190,133,49,36,226,180,255,213,195,125,12,85,111,137,123,242,116,93,190,114,177,150,22,59,254,177,222,128,53,18,199,37,167,6,220,155,148,38,105,207,116,241,155,193,210,74,241,158,193,105,155,228,227,37,79,56,134,71,190,239,181,213,140,139,198,157,193,15,101,156,172,119,204,161,12,36,117,2,43,89,111,44,233,45,131,228,166,110,170,132,116,74,212,251,65,189,220,169,176,92,181,83,17,131,218,136,249,118,171,223,102,238,82,81,62,152,16,50,180,45,109,198,49,168,63,33,251,152,200,
39,3,176,228,14,239,190,199,127,89,191,194,143,168,61,243,11,224,198,37,167,10,147,71,145,167,213,111,130,3,224,81,99,202,6,112,110,14,10,103,41,41,20,252,47,210,70,133,10,183,39,38,201,38,92,56,33,27,46,237,42,196,90,252,109,44,77,223,179,149,157,19,13,56,83,222,99,175,139,84,115,10,101,168,178,119,60,187,10,106,118,230,174,237,71,46,201,194,129,59,53,130,20,133,44,114,146,100,3,241,76,161,232,191,162,1,48,66,188,75,102,26,168,145,151,248,208,112,139,75,194,48,190,84,6,163,81,108,199,24,82,239,214,
25,232,146,209,16,169,101,85,36,6,153,214,42,32,113,87,133,53,14,244,184,209,187,50,112,160,106,16,200,208,210,184,22,193,164,25,83,171,65,81,8,108,55,30,153,235,142,223,76,119,72,39,168,72,155,225,181,188,176,52,99,90,201,197,179,12,28,57,203,138,65,227,74,170,216,78,115,227,99,119,79,202,156,91,163,184,178,214,243,111,46,104,252,178,239,93,238,130,143,116,96,47,23,67,111,99,165,120,114,171,240,161,20,120,200,132,236,57,100,26,8,2,199,140,40,30,99,35,250,255,190,144,233,189,130,222,235,108,80,164,
21,121,198,178,247,163,249,190,43,83,114,227,242,120,113,198,156,97,38,234,206,62,39,202,7,194,192,33,199,184,134,209,30,235,224,205,214,125,218,234,120,209,110,238,127,79,125,245,186,111,23,114,170,103,240,6,166,152,200,162,197,125,99,10,174,13,249,190,4,152,63,17,27,71,28,19,53,11,113,27,132,125,4,35,245,119,219,40,147,36,199,64,123,171,202,50,188,190,201,21,10,190,158,60,76,13,16,156,196,103,29,67,182,66,62,203,190,212,197,76,42,126,101,252,156,41,127,89,236,250,214,58,171,111,203,95,23,88,71,
74,140,25,68,108,47,252,255,63,251,255,255,63,255,255,255,63,255,255,255,63,255,255,255,63,255,255,255,63,255,255,255,63,255,255,255,63,255,255,0,0,152,23,248,22,108,5,202,39,149,141,226,28,203,54,255,38,2,7,11,7,58,87,138,1,90,197,186,11,119,190,159,25,190,121,0,0,184,212,16,59,63,66,31,49,153,65,85,40,41,18,237,5,253,168,8,17,56,240,239,19,218,85,70,60,168,201,157,54,58,72,0,0,65,65,54,16,51,122,73,63,187,3,138,52,171,57,183,43,186,254,255,63,255,255,255,63,255,255,255,63,255,255,255,63,255,255,
0,0,160,32,27,40,25,189,164,63,221,1,69,58,213,156,219,21,93,255,255,63,255,255,255,63,255,255,255,63,255,255,255,63,255,127,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,23,248,22,108,5,202,39,149,141,226,28,203,54,255,38,2,7,11,7,58,87,138,1,90,197,186,11,119,190,159,25,190,121,0,0,184,212,16,59,63,66,31,49,153,65,85,40,41,18,237,5,253,168,8,17,56,240,239,19,218,85,70,60,168,201,157,54,58,72,0,0,249,54,224,60,78,196,7,24,8,155,249,54,96,17,114,12,181,41,
82,29,226,23,62,17,147,4,49,12,150,100,128,34,48,249,0,0,114,230,184,4,214,245,231,50,182,49,34,12,77,102,42,0,101,86,243,55,168,152,223,12,254,64,129,30,203,216,195,30,143,56,0,0,228,239,64,50,166,85,163,46,124,171,25,6,119,47,225,34,232,40,81,28,41,148,156,18,91,53,9,50,129,70,147,55,139,47,0,0,214,98,172,38,234,244,161,50,13,132,214,48,234,198,9,34,247,38,196,9,155,118,167,46,77,109,61,30,185,141,137,8,172,216,0,0,188,249,196,10,183,119,175,36,206,57,14,51,128,223,102,16,61,14,122,42,203,151,205,
35,57,170,78,27,151,27,25,60,189,92,0,0,218,100,114,8,160,152,32,20,90,123,222,63,4,46,244,4,168,219,84,26,24,182,53,30,49,10,150,21,137,46,144,50,235,106,0,0,190,204,39,60,55,68,124,13,76,113,126,5,211,165,229,37,224,189,154,21,125,42,94,52,154,48,101,63,49,188,56,33,212,172,0,0,55,156,79,6,171,152,48,23,240,224,248,53,13,41,34,54,173,233,97,59,216,197,37,32,67,214,159,61,41,108,72,34,51,204,0,0,203,8,160,29,37,94,176,47,27,137,23,28,249,2,102,18,86,172,90,6,195,173,145,16,239,229,17,20,42,22,254,
57,74,119,0,0,27,198,83,9,39,211,117,0,131,106,157,63,183,120,108,11,55,101,179,55,94,91,117,15,36,144,225,53,218,186,12,40,132,217,0,0,168,90,64,25,60,126,183,59,221,140,229,16,152,241,126,29,176,81,134,52,13,23,72,7,125,188,136,18,93,182,240,28,135,242,0,0,129,237,3,27,75,45,215,38,242,145,250,33,148,182,129,6,58,71,175,13,151,173,75,8,88,151,168,0,98,163,11,36,176,10,0,0,14,8,126,34,227,243,182,18,228,121,95,8,207,27,101,57,49,17,244,31,37,140,107,25,164,101,169,62,80,223,83,19,146,215,0,0,88,
107,162,54,127,114,19,20,92,58,109,9,246,202,43,16,234,239,109,12,163,8,187,16,56,104,42,7,27,170,28,10,30,88,0,0,10,236,109,42,120,162,59,17,156,174,165,7,110,218,196,40,178,151,62,2,135,240,170,6,1,83,236,41,103,237,164,51,15,230,0,0,33,104,97,41,57,179,204,7,190,240,35,13,145,71,162,37,18,16,55,57,213,211,124,38,219,41,89,25,121,230,28,20,227,247,0,0,195,229,24,17,168,194,97,47,25,188,190,18,209,201,230,21,252,75,91,38,211,187,149,5,68,219,7,19,145,101,215,12,202,110,0,0,104,134,160,5,224,189,
40,38,68,195,142,63,142,142,90,18,58,160,117,56,210,65,94,61,146,5,113,32,158,94,237,8,1,213,0,0,46,246,135,15,133,199,52,59,112,18,22,55,24,142,185,57,16,240,89,6,77,59,209,49,215,192,14,57,111,188,239,14,98,233,0,0,55,231,78,36,190,250,4,12,229,68,136,22,119,242,16,24,254,41,169,26,59,234,84,58,15,158,158,41,240,210,14,29,169,56,0,0,60,115,141,42,224,183,42,44,158,143,202,47,216,47,157,48,255,130,214,0,130,188,141,18,136,160,219,33,69,249,92,55,130,188,0,0,240,151,119,52,19,132,225,57,1,115,137,
51,185,46,232,36,174,223,2,31,198,253,210,38,74,197,202,49,18,129,14,35,242,229,0,0,113,118,188,31,197,136,191,31,45,227,88,40,20,242,198,15,116,144,244,24,94,56,71,10,32,29,33,23,217,49,146,4,61,142,0,0,236,125,113,24,144,113,199,59,167,68,225,35,169,234,74,13,185,14,233,19,78,134,3,18,100,31,184,60,179,67,56,18,154,9,0,0,178,29,179,62,202,208,161,12,15,106,80,15,226,9,186,50,143,182,162,8,66,251,100,40,150,136,73,10,141,136,106,36,168,120,0,0,67,67,250,57,142,88,167,1,211,130,11,0,118,243,230,13,
84,246,45,48,156,84,201,23,207,191,92,3,212,250,214,40,18,105,0,0,149,229,176,13,222,61,210,20,182,43,8,58,126,46,143,5,167,235,118,32,5,150,221,56,124,125,177,49,118,21,6,30,134,125,0,0,232,61,115,60,234,120,84,38,41,83,93,34,131,19,225,13,41,56,136,15,181,175,184,24,229,114,135,47,33,251,183,38,185,226,0,0,252,13,6,22,20,190,63,2,160,162,230,5,8,225,23,21,118,134,176,26,16,119,46,37,132,132,172,2,22,192,67,12,197,221,0,0,168,12,130,39,219,42,126,45,15,115,4,61,170,241,235,54,65,144,14,15,50,183,
173,6,25,32,105,25,131,188,206,11,13,186,0,0,8,21,245,21,255,136,27,25,16,202,193,26,245,42,231,48,216,56,226,45,92,248,184,41,162,158,157,32,177,132,140,9,130,130,0,0,175,108,226,54,191,186,109,12,237,123,177,55,11,235,132,53,98,206,10,54,194,160,91,9,232,69,254,61,85,97,2,42,248,17,0,0,250,141,126,37,231,50,240,51,79,24,126,60,104,100,36,32,9,160,140,41,178,226,195,40,217,192,196,25,30,252,203,51,98,130,0,0,106,55,172,59,99,227,63,23,131,71,76,49,202,76,187,45,87,52,79,51,22,187,136,59,111,230,
228,9,68,130,120,37,253,131,0,0,111,219,107,2,44,146,75,1,73,185,52,55,30,245,6,41,124,135,156,41,51,201,22,4,104,81,221,13,104,199,34,23,130,25,0,0,155,252,156,4,19,194,125,23,107,58,109,15,35,179,123,58,235,108,159,53,83,50,135,9,32,243,120,8,83,195,67,12,148,98,0,0,76,130,130,61,72,37,180,3,101,78,83,33,23,141,99,41,223,158,153,2,27,187,213,23,60,68,145,1,88,4,27,54,18,111,0,0,208,52,235,6,32,13,231,21,184,197,75,5,66,144,36,7,57,105,55,34,245,207,83,38,117,8,250,59,172,18,253,61,79,92,0,0,41,
54,69,27,11,112,183,29,48,96,158,53,3,55,247,51,69,246,190,58,136,90,156,24,66,209,165,42,130,230,27,35,58,32,0,0,132,159,248,63,20,30,199,37,69,237,133,18,113,201,122,27,104,18,6,1,125,69,219,49,108,147,155,29,151,247,212,2,15,59,0,0,203,126,108,36,119,195,196,32,151,206,180,27,249,79,187,14,157,236,225,38,33,205,220,59,129,28,24,52,64,207,186,50,42,110,0,0,32,135,188,46,123,128,36,17,200,18,117,54,70,174,193,49,250,58,100,59,195,107,19,3,216,73,225,62,251,229,25,41,97,158,0,0,126,20,164,48,207,
99,192,45,30,32,95,55,253,98,247,17,39,88,10,9,41,250,197,5,246,186,86,17,122,186,36,1,167,213,0,0,255,101,251,51,224,242,44,57,248,87,127,22,30,97,54,49,244,50,5,30,217,65,38,36,196,111,156,56,234,118,189,9,181,157,0,0,198,206,237,24,175,209,118,59,84,244,52,54,180,48,135,1,161,198,218,44,192,24,191,15,82,128,186,24,248,170,102,4,197,56,0,0,8,219,51,25,236,47,184,21,100,10,83,53,138,32,91,40,40,47,40,31,157,104,203,50,104,166,50,23,118,161,72,55,73,230,0,0,57,183,229,17,213,150,243,15,215,46,34,
18,255,12,78,46,224,109,132,60,27,27,115,38,47,167,101,56,162,220,103,5,94,23,0,0,149,214,254,41,251,191,233,59,198,69,67,18,183,86,101,45,172,94,31,55,127,148,94,62,78,186,158,7,143,103,131,27,80,211,0,0,22,18,4,5,199,227,223,22,166,54,184,2,161,125,205,28,63,82,237,47,112,191,103,45,40,65,207,58,125,200,94,12,117,218,0,0,114,133,112,46,97,202,180,43,173,237,172,55,185,30,176,42,233,198,127,45,208,108,136,39,241,13,95,45,220,175,17,40,248,115,0,0,48,169,101,36,199,249,80,0,219,47,53,49,90,112,252,
33,37,30,235,2,42,49,22,15,87,112,157,52,165,35,109,49,113,28,0,0,181,56,70,3,179,253,28,54,113,212,116,49,237,143,23,13,121,140,182,11,9,202,199,15,113,194,160,31,61,58,205,48,145,74,0,0,231,110,219,58,150,107,99,12,126,7,74,52,201,80,55,20,120,156,76,27,66,234,13,58,54,105,86,26,204,7,191,18,78,216,0,0,210,190,46,20,155,91,85,11,152,100,62,42,210,37,43,54,253,77,222,37,213,99,53,14,42,225,156,55,30,159,38,32,37,229,0,0,16,109,158,36,62,123,58,37,35,157,201,42,235,252,183,2,246,211,110,63,23,74,
174,8,27,212,20,40,153,247,18,17,212,243,0,0,63,218,71,19,1,51,14,40,48,198,214,41,51,148,182,6,252,91,75,10,102,176,86,46,186,212,99,1,188,233,55,9,67,10,0,0,7,58,211,41,27,208,44,35,180,202,155,35,42,130,187,28,78,4,244,61,54,131,84,33,144,159,216,1,103,39,75,25,48,174,0,0,166,178,160,32,61,48,28,18,199,149,126,61,119,253,13,39,28,207,213,56,246,76,159,51,252,126,229,63,88,227,112,54,185,108,0,0,202,202,40,12,228,82,89,22,167,29,40,8,243,238,113,26,24,154,140,56,12,214,249,5,94,129,28,30,245,150,
202,6,220,216,0,0,122,236,179,35,168,219,217,54,108,143,18,8,59,75,87,12,125,148,125,36,128,144,54,54,198,88,125,44,243,73,182,2,236,140,0,0,111,65,196,59,152,237,135,36,40,64,176,48,252,72,191,43,167,29,243,50,64,163,150,16,89,205,236,4,126,177,164,56,73,39,0,0,142,189,107,60,139,247,98,58,87,16,150,46,151,237,167,39,245,62,219,10,63,100,82,54,3,68,188,50,217,141,83,11,204,80,0,0,64,70,255,3,62,182,174,9,229,255,82,21,149,31,7,17,83,224,46,38,216,22,176,58,156,201,201,0,236,17,53,36,61,54,0,0,233,
157,238,59,252,241,0,8,182,236,153,1,2,36,106,46,69,49,54,51,95,78,17,45,83,25,34,50,28,127,235,28,226,4,0,0,200,93,229,54,91,72,36,46,148,67,160,44,186,173,86,62,111,66,148,16,1,3,145,18,168,43,251,31,49,228,17,16,49,68,0,0,179,35,227,27,187,18,101,7,3,229,162,42,231,109,138,26,166,215,254,2,89,253,13,38,233,143,111,54,148,185,80,48,176,150,0,0,168,35,27,48,117,33,165,63,173,224,126,40,194,81,223,30,171,157,8,33,228,86,15,9,38,193,135,10,155,97,163,63,34,158,0,0,174,237,132,8,20,79,144,30,207,206,
17,53,126,82,242,61,192,51,21,28,38,8,252,60,119,1,209,34,132,114,58,60,47,253,0,0,228,112,26,7,252,34,208,53,93,71,207,53,215,71,185,23,205,109,48,5,28,153,167,53,237,210,168,34,243,64,181,61,141,80,0,0,132,9,149,41,220,111,185,60,237,223,170,40,59,138,12,48,78,197,73,62,204,169,18,12,119,215,66,60,206,228,230,16,76,21,0,0,17,190,26,14,219,105,191,58,246,32,178,28,150,112,72,46,218,178,37,1,76,6,214,55,56,51,118,9,68,21,225,63,219,227,0,0,99,222,168,31,82,181,38,45,20,196,181,6,15,100,95,50,211,
243,142,10,110,215,233,35,67,22,66,1,141,102,66,62,242,6,0,0,73,52,89,3,216,200,198,51,253,111,164,2,185,4,223,6,246,74,1,61,129,78,112,54,120,216,64,41,247,49,25,56,172,25,0,0,49,54,248,45,78,46,5,41,163,104,64,8,208,231,66,28,172,70,44,0,101,231,92,47,254,59,51,10,154,212,128,36,121,227,0,0,99,107,186,12,75,98,250,56,94,187,179,16,63,157,249,3,10,49,142,40,58,138,204,48,8,161,218,7,62,8,59,3,116,216,0,0,243,197,52,41,1,219,168,59,171,148,22,56,48,215,19,4,64,125,195,58,64,166,187,41,120,243,43,
19,174,241,76,48,114,100,0,0,56,192,62,27,176,252,83,6,118,178,198,32,185,90,84,63,217,80,10,41,188,216,249,32,72,54,8,6,212,70,206,12,172,88,0,0,121,98,36,16,196,143,170,27,161,188,251,52,2,15,65,6,2,151,254,17,166,39,73,30,135,151,45,9,87,181,193,53,99,145,0,0,12,248,253,31,87,105,222,39,182,209,188,21,104,224,41,57,67,136,99,5,221,214,18,9,198,232,43,60,124,151,197,23,75,139,0,0,54,253,212,31,25,195,191,15,107,229,46,22,24,149,205,56,249,4,218,48,234,4,94,47,63,75,139,48,52,218,155,2,173,74,0,
0,221,18,88,53,11,150,138,2,42,14,211,18,213,200,25,17,61,142,247,24,1,91,251,42,182,240,82,51,191,164,94,47,41,112,0,0,39,41,45,26,172,25,115,8,199,115,44,59,144,16,186,54,71,172,131,6,140,43,81,25,221,39,61,11,122,191,182,62,238,176,0,0,209,110,72,61,14,90,57,39,164,182,101,21,146,174,111,17,87,96,117,15,99,39,4,53,9,144,201,37,185,186,114,59,207,156,0,0,141,93,233,53,181,103,181,61,36,170,146,21,90,214,89,8,36,17,52,11,128,4,146,8,97,251,44,35,90,79,92,19,47,124,0,0,202,234,208,27,157,198,26,8,
122,171,212,34,174,93,209,49,208,25,223,36,242,140,247,35,90,51,20,20,208,216,225,18,154,205,0,0,204,74,255,43,214,190,190,57,246,52,246,22,187,227,236,9,1,139,160,62,76,186,34,18,21,232,35,15,122,104,30,22,69,240,0,0,198,87,188,7,143,78,37,8,191,108,39,43,143,232,245,0,73,148,48,22,79,186,180,60,132,168,190,25,59,226,11,34,9,173,0,0,184,10,74,46,182,3,203,40,60,45,14,25,205,77,71,12,123,95,190,26,167,28,27,6,40,186,82,58,190,16,35,48,67,114,0,0,2,99,165,43,202,49,12,42,46,134,241,48,235,77,170,1,
245,224,210,58,167,74,139,54,234,241,65,10,207,186,66,10,209,217,0,0,41,28,41,8,234,107,183,42,174,242,116,58,103,179,107,14,23,228,134,35,201,25,87,28,41,208,238,19,11,251,68,12,181,126,0,0,58,36,209,52,19,220,52,43,219,95,74,53,143,128,73,44,2,132,85,63,24,176,134,52,28,249,206,22,231,148,119,30,80,188,0,0,138,182,93,5,162,69,37,23,159,22,71,31,108,61,185,31,95,215,200,63,55,229,202,49,238,184,203,5,156,206,142,10,6,101,0,0,159,63,74,55,154,19,73,35,144,22,152,0,119,153,233,33,194,90,98,50,246,
185,170,55,19,137,126,60,23,148,223,41,49,77,0,0,167,11,30,48,4,9,44,63,84,167,0,46,109,212,190,61,203,83,39,0,30,227,60,6,107,176,117,5,38,88,178,7,36,34,0,0,218,252,50,18,73,86,132,45,188,119,14,44,233,255,54,0,183,199,72,21,47,0,199,29,191,214,150,57,118,185,169,46,60,114,0,0,95,159,179,30,118,26,112,7,128,148,148,55,77,25,40,24,38,110,77,2,34,210,77,4,146,138,73,12,87,86,237,25,232,150,0,0,177,60,99,0,122,130,159,21,50,17,2,29,218,146,136,22,87,203,31,24,72,200,156,24,12,64,173,44,234,197,60,
39,222,109,0,0,52,107,206,39,169,38,117,31,53,239,89,56,179,246,159,44,128,168,102,58,134,26,190,39,201,213,65,62,193,233,249,62,136,145,0,0,197,243,51,41,52,70,105,6,36,82,18,31,69,220,131,22,8,80,184,7,57,254,237,18,60,129,222,28,109,53,203,41,111,72,0,0,83,15,251,10,107,156,82,43,121,59,242,48,243,224,109,54,98,159,241,8,179,235,34,49,72,62,212,61,90,125,198,8,225,98,0,0,40,247,153,30,137,80,86,47,78,32,18,47,249,126,221,28,103,3,83,42,221,158,252,19,102,251,244,10,37,42,93,26,121,36,0,0,255,235,
170,43,91,20,128,30,131,45,90,23,37,240,252,54,90,74,102,13,246,249,161,11,197,30,0,51,35,26,81,35,215,227,0,0,154,7,176,47,80,27,131,39,156,4,38,57,200,189,231,27,145,36,131,51,218,185,103,41,49,6,255,21,245,168,246,50,57,47,0,0,186,144,86,44,192,92,138,56,15,35,160,2,34,239,207,62,155,139,165,13,158,64,219,36,218,52,152,35,225,132,247,54,234,171,0,0,115,171,247,36,203,2,204,36,119,58,68,20,167,58,245,56,98,210,174,52,20,27,122,14,106,165,27,22,159,12,91,7,163,229,0,0,66,31,86,48,241,143,78,36,19,
162,203,0,106,18,17,35,191,93,206,14,233,93,42,6,193,160,215,41,71,99,15,35,120,55,0,0,134,205,77,1,143,166,228,35,88,27,247,43,37,8,117,49,31,241,220,17,129,96,118,3,245,125,68,19,69,131,82,39,56,204,0,0,115,168,240,8,103,183,173,35,70,135,231,39,63,134,95,49,5,202,16,41,250,110,47,26,181,217,190,43,61,152,245,19,174,147,0,0,17,147,129,56,173,27,231,19,114,20,119,8,132,184,135,15,11,31,237,53,51,248,133,2,117,35,144,30,92,39,114,36,146,127,0,0,37,177,46,44,94,109,126,42,74,23,106,8,39,144,170,2,
18,182,21,36,20,49,122,3,93,15,239,3,251,24,68,3,160,157,0,0,250,215,125,14,40,251,76,41,57,152,145,58,141,132,229,17,9,181,211,2,75,32,187,63,165,139,249,43,239,36,53,41,191,238,0,0,153,137,222,33,107,63,245,55,45,113,31,49,233,112,51,57,154,157,8,56,197,107,251,57,158,38,15,47,195,229,40,35,154,93,0,0,235,236,124,59,254,227,217,15,15,175,127,9,226,228,103,41,115,20,104,46,189,73,224,62,111,3,69,45,157,16,136,33,122,67,0,0,225,129,193,22,13,243,142,13,39,120,249,8,247,243,131,8,135,255,151,18,103,
218,250,35,155,246,50,44,186,79,232,26,145,11,0,0,242,150,127,9,120,202,53,22,205,53,135,44,116,74,141,32,53,115,194,60,104,238,248,45,60,200,155,8,169,248,196,39,239,169,0,0,228,75,192,22,193,86,245,0,44,112,180,41,214,107,226,19,183,61,97,59,58,88,184,27,149,205,215,25,21,101,57,51,20,232,0,0,126,247,12,53,132,214,42,48,219,176,138,10,21,93,253,54,7,66,6,42,126,90,159,32,83,229,91,19,135,123,80,1,216,102,0,0,166,163,234,32,190,94,126,41,210,118,27,59,173,14,45,17,148,246,19,22,77,129,80,7,63,44,
180,63,191,204,249,55,207,81,0,0,90,58,33,7,162,24,82,13,185,98,250,5,158,18,200,28,11,200,195,12,25,135,34,20,243,43,250,3,148,77,120,1,172,98,0,0,69,158,106,52,3,135,52,4,252,78,153,23,96,64,66,22,229,121,37,41,30,120,158,23,57,77,110,26,52,232,124,47,111,35,0,0,43,209,186,39,97,82,63,12,236,225,102,47,58,128,122,53,133,179,45,47,113,189,78,24,191,181,245,8,145,92,18,49,19,202,0,0,242,176,35,23,26,125,166,37,104,86,87,26,68,220,42,28,99,214,163,45,170,147,233,23,193,138,124,40,112,216,96,2,170,
131,0,0,78,65,128,28,229,151,187,54,253,247,108,22,139,161,226,59,20,73,158,32,17,61,113,4,172,133,174,18,193,105,64,44,236,28,0,0,59,154,22,18,75,82,186,50,13,29,35,7,81,249,85,29,144,22,173,45,215,160,140,42,229,180,207,23,130,165,25,24,67,243,0,0,169,16,216,14,49,242,214,19,92,21,0,7,207,79,39,34,79,146,35,31,199,215,107,3,149,204,249,56,53,65,29,36,105,42,0,0,40,71,155,58,35,206,26,62,124,92,20,44,95,250,81,31,102,252,4,59,83,165,97,49,62,172,253,31,15,219,230,0,249,84,0,0,176,141,164,57,108,
13,94,63,254,59,192,51,166,104,133,4,159,69,222,59,109,130,66,7,121,114,22,39,91,154,54,17,15,16,0,0,9,90,198,43,88,115,245,62,192,90,25,53,63,134,210,63,183,102,6,9,48,192,204,35,236,114,183,0,168,100,76,56,217,205,0,0,180,21,188,21,210,132,230,50,105,238,162,37,145,163,64,29,146,141,202,23,59,167,59,22,216,158,220,42,123,148,139,3,233,16,0,0,141,37,170,24,37,152,175,19,131,168,182,43,192,88,98,41,76,117,31,45,90,24,163,30,213,36,4,30,53,224,192,13,138,198,0,0,105,82,231,63,192,240,79,55,130,49,
211,19,1,243,232,29,163,205,125,11,197,45,228,22,87,132,99,1,149,182,208,11,66,247,0,0,213,155,228,23,28,58,96,34,1,142,57,10,253,141,232,44,127,151,53,54,231,114,159,51,24,253,147,48,196,140,198,11,108,64,0,0,95,23,167,53,91,154,237,20,166,66,207,49,116,220,57,46,237,187,222,21,11,86,105,30,40,247,207,3,245,5,65,43,140,45,0,0,42,89,157,59,70,238,222,60,12,94,94,11,103,255,26,33,122,55,157,44,132,233,203,8,187,167,148,10,99,204,224,14,63,199,0,0,69,16,181,20,14,111,50,13,62,91,194,49,188,37,178,49,
187,115,207,40,199,58,245,28,174,88,234,38,98,110,71,63,203,30,0,0,38,0,199,2,4,196,153,14,213,34,100,3,173,145,1,36,177,56,155,26,18,198,46,52,71,100,58,28,230,34,140,56,246,28,0,0,51,133,53,41,155,93,179,30,223,185,180,15,117,254,76,42,16,140,42,19,71,138,86,37,62,136,82,55,149,127,49,37,8,154,0,0,8,186,96,3,119,113,248,44,223,218,13,56,110,111,185,41,101,33,195,15,85,126,245,5,249,49,252,56,6,8,241,32,152,167,0,0,246,247,142,25,88,23,16,37,246,249,120,32,222,253,252,8,89,166,174,56,206,73,33,39,
189,53,46,61,211,118,18,54,77,102,0,0,148,172,30,29,205,191,37,29,238,236,230,56,198,172,78,15,252,207,88,4,116,151,51,18,20,42,147,39,252,197,5,8,81,173,0,0,179,52,201,3,223,154,2,3,78,44,174,48,22,96,125,12,43,2,167,17,96,154,101,7,35,56,134,11,244,221,164,14,17,130,0,0,15,106,44,4,171,152,151,31,55,128,70,36,166,9,223,7,170,40,198,32,214,202,179,25,132,96,102,35,107,178,54,46,161,141,0,0,45,253,52,37,155,55,43,50,82,56,59,15,25,81,227,31,167,23,192,4,40,233,137,36,220,177,209,62,177,152,248,6,
3,225,0,0,13,160,86,20,202,99,60,17,154,215,206,33,103,80,183,36,242,90,83,23,150,93,144,26,187,230,5,4,80,162,100,24,112,157,0,0,131,141,2,47,187,142,88,30,21,150,67,39,110,155,100,37,97,219,105,30,87,104,249,42,165,198,94,56,241,56,241,61,235,167,0,0,209,190,208,25,174,228,0,25,153,145,83,48,210,73,226,40,71,75,128,4,193,221,28,39,253,92,45,54,248,239,75,5,5,98,0,0,250,92,221,39,8,144,131,43,91,75,157,48,223,68,113,34,106,51,70,35,9,77,169,49,205,193,244,36,192,114,35,40,92,91,0,0,140,233,72,30,
230,155,146,25,62,157,38,51,43,243,25,52,191,148,144,6,162,58,195,7,153,94,130,21,168,194,189,45,204,62,0,0,130,31,83,35,140,163,84,46,242,201,194,16,236,154,76,20,255,41,44,2,39,210,249,60,206,92,187,20,68,48,171,9,111,4,0,0,7,218,206,11,44,242,23,20,250,199,85,43,54,23,101,9,208,121,37,3,191,176,194,13,226,172,46,56,214,88,204,18,128,107,0,0,17,39,67,16,220,80,197,2,6,185,22,25,247,203,2,5,207,90,100,25,34,60,188,37,95,83,251,14,120,76,182,9,25,193,0,0,12,97,226,47,139,135,73,18,94,5,52,15,40,139,
228,42,131,207,198,12,27,198,47,37,132,145,104,27,73,31,51,62,225,139,0,0,99,121,37,33,62,29,230,5,28,134,170,52,176,84,99,0,91,196,121,9,78,45,213,46,205,230,242,8,218,122,186,17,8,105,0,0,53,152,111,6,101,150,93,41,83,178,146,28,8,42,15,47,108,127,187,47,228,147,192,5,64,91,188,62,207,223,242,23,72,226,0,0,206,58,226,30,47,229,68,52,210,47,221,20,109,25,31,50,222,21,41,35,210,183,84,29,186,171,11,34,36,227,254,61,61,251,0,0,222,232,34,23,50,189,119,2,238,245,39,45,191,80,156,28,158,138,181,58,54,
80,69,9,42,101,197,51,113,4,111,10,14,81,0,0,81,35,39,16,189,63,31,24,152,16,255,25,126,207,210,28,112,65,205,49,234,172,143,34,235,179,24,5,215,147,176,23,216,109,0,0,75,102,199,63,173,232,31,44,201,23,8,62,240,253,27,31,135,183,65,28,189,230,31,16,157,224,39,52,135,4,253,25,234,22,0,0,109,105,148,16,54,162,121,53,82,175,214,1,169,153,44,62,92,236,215,59,80,124,14,10,172,48,181,21,181,145,43,27,234,254,0,0,136,0,9,24,252,122,87,5,211,66,20,4,243,85,34,7,152,92,205,62,252,74,56,57,6,171,27,14,247,
37,219,26,124,229,0,0,135,213,223,8,237,134,77,30,96,101,2,27,50,142,46,49,94,45,161,53,179,168,234,25,72,179,8,5,61,235,6,45,132,80,0,0,137,14,71,17,254,165,231,57,6,86,31,9,26,88,189,45,93,71,39,41,84,33,155,42,25,22,211,0,102,135,198,24,169,52,0,0,198,76,179,58,133,201,8,2,45,161,48,15,159,93,10,3,200,40,113,13,70,127,252,44,63,165,94,45,144,129,15,48,20,79,0,0,31,104,126,24,190,148,176,23,34,208,29,40,163,51,143,55,185,64,37,38,14,61,156,14,101,76,137,14,169,50,42,52,83,123,0,0,13,217,65,18,4,
196,157,16,131,79,68,50,118,80,60,7,232,99,211,29,123,37,216,16,65,29,237,57,113,146,31,46,77,167,0,0,212,218,122,63,224,98,148,12,63,49,10,10,209,36,148,59,169,200,113,1,98,41,66,55,127,50,239,62,200,107,115,36,134,247,0,0,31,174,193,49,136,40,179,23,42,11,212,44,162,49,150,27,69,88,86,35,174,19,53,55,172,249,44,42,46,209,149,62,1,105,0,0,176,56,40,18,151,193,12,62,48,169,119,28,121,233,206,39,215,13,144,28,10,3,78,45,97,36,33,60,156,8,34,23,222,53,0,0,219,75,122,50,6,66,12,44,196,202,148,20,13,
65,155,26,4,93,163,59,198,15,217,18,36,122,18,56,80,71,11,54,60,141,0,0,44,138,154,38,243,49,77,15,108,41,173,48,77,31,224,56,212,110,35,54,1,116,254,62,12,71,31,36,59,96,88,9,212,155,0,0,45,29,236,52,26,79,51,16,84,244,216,39,27,215,103,2,217,31,105,59,89,202,89,39,254,154,115,36,129,245,216,32,249,234,0,0,82,132,131,12,129,213,249,51,63,181,132,62,21,85,75,61,169,170,153,49,154,131,162,8,117,39,210,56,249,159,14,6,24,229,0,0,103,231,90,4,220,111,205,50,203,113,151,40,231,114,234,28,194,216,229,
6,176,20,56,16,111,70,99,27,187,142,69,47,149,251,0,0,17,14,191,59,43,168,79,33,65,19,159,37,98,28,189,5,184,91,39,2,218,116,54,1,32,197,219,13,106,4,54,5,76,102,0,0,177,108,236,1,47,94,234,15,227,61,88,8,96,95,89,59,254,60,202,63,155,47,249,30,54,203,205,9,65,100,71,42,103,218,0,0,29,190,104,58,137,163,122,58,23,10,116,15,66,113,235,49,222,229,128,23,178,223,143,17,31,196,43,36,5,82,141,42,172,155,0,0,68,138,188,21,148,65,247,59,25,26,21,62,242,93,64,16,104,199,95,26,233,146,150,21,56,61,218,14,
63,15,22,32,1,77,0,0,158,192,219,26,36,83,126,60,98,163,45,24,161,17,8,37,150,19,56,22,31,0,234,38,126,54,93,15,45,99,176,49,51,58,0,0,0,235,218,37,161,212,106,48,107,247,69,38,51,201,250,8,89,209,233,54,206,137,218,50,130,112,149,15,215,247,65,5,102,47,0,0,192,146,57,3,38,158,157,8,193,8,211,21,198,137,123,51,110,208,173,0,8,234,77,37,239,246,51,43,212,219,132,4,92,253,0,0,217,166,106,17,130,66,170,32,241,220,2,55,145,45,178,24,54,56,90,3,134,54,93,60,84,34,125,36,127,65,95,4,148,245,0,0,207,80,
46,63,186,165,65,31,108,184,181,38,15,226,157,36,122,235,188,20,194,106,111,23,246,44,177,49,165,91,105,24,167,202,0,0,192,244,198,58,85,14,184,42,204,196,189,4,51,122,163,19,218,29,113,22,154,47,14,7,78,236,205,25,211,199,95,19,45,15,0,0,88,155,51,50,181,238,158,31,110,101,66,2,228,41,132,26,143,30,231,1,206,247,159,44,127,209,228,61,164,95,225,39,200,62,0,0,178,140,66,31,255,20,84,33,93,181,34,42,89,191,8,14,35,241,208,24,101,5,134,30,235,209,187,20,168,184,176,51,93,29,0,0,155,24,91,9,2,68,123,
57,81,74,4,54,225,75,164,15,189,136,11,47,33,9,30,30,208,80,140,44,80,236,32,16,92,110,0,0,115,18,56,40,62,162,58,44,95,174,61,41,129,165,221,16,216,206,38,1,49,203,166,58,253,57,116,22,2,76,191,40,217,137,0,0,61,119,9,19,187,207,250,0,74,50,39,17,43,160,117,24,143,245,98,15,219,129,188,42,119,3,245,38,117,20,109,9,202,223,0,0,145,29,199,53,178,172,12,51,33,253,148,40,138,139,23,37,35,206,254,26,69,76,112,40,82,28,174,16,233,224,225,6,25,131,0,0,97,138,20,34,35,176,231,2,231,94,68,16,93,212,71,40,
23,138,174,60,69,79,120,27,224,9,183,1,224,92,197,31,172,224,0,0,192,183,55,26,48,115,81,29,245,105,16,49,238,61,52,2,236,81,33,50,123,77,2,0,110,218,205,52,204,130,234,19,144,83,0,0,200,113,39,2,172,37,44,55,153,70,67,20,120,96,102,38,19,28,60,13,8,43,179,39,140,216,6,1,32,47,244,33,192,91,0,0,14,5,162,8,249,11,177,6,119,166,248,21,216,85,189,11,116,137,155,7,185,49,167,29,107,137,49,7,47,73,63,9,55,103,0,0,112,61,29,6,36,105,50,36,43,204,73,51,80,63,235,26,190,109,107,8,106,2,11,18,3,2,162,36,90,
226,149,32,207,228,0,0,191,99,222,2,14,146,219,47,108,198,97,50,161,76,189,14,224,168,102,33,125,140,41,38,229,9,195,52,183,28,233,59,102,67,0,0,205,36,121,33,35,144,26,11,176,214,166,42,150,20,195,14,243,234,104,2,76,248,77,9,238,226,124,45,184,111,66,54,125,46,0,0,144,97,249,6,252,159,20,4,239,37,149,60,65,122,11,60,209,95,167,58,153,165,85,57,123,249,177,26,100,158,216,20,215,123,0,0,246,0,218,43,18,200,69,15,90,105,234,32,7,23,243,3,206,214,39,56,80,210,145,53,94,157,48,38,238,246,172,60,54,131,
0,0,237,65,173,22,85,76,197,14,67,82,3,15,125,13,43,2,3,146,220,24,36,122,6,13,250,26,92,45,106,247,158,36,126,79,0,0,87,45,100,62,25,94,13,61,189,117,247,42,83,28,197,28,46,166,246,40,78,125,3,38,82,5,177,8,170,85,20,29,231,223,0,0,144,134,116,39,73,20,152,62,28,176,48,6,118,19,228,21,125,0,61,19,183,199,74,17,75,201,204,17,74,159,225,50,85,35,0,0,43,88,137,12,197,212,17,31,20,57,201,17,51,22,26,10,88,88,124,42,86,176,23,46,85,143,31,30,156,150,98,60,194,33,0,0,22,127,222,10,88,136,186,54,198,40,
224,11,79,186,46,39,174,36,93,39,176,173,74,22,19,192,86,26,207,230,150,32,102,11,0,0,23,98,197,8,161,9,17,37,189,210,124,62,124,3,15,9,183,127,169,23,45,234,218,41,243,254,179,9,56,6,46,40,251,161,0,0,91,13,6,25,138,192,26,36,194,167,163,3,71,236,132,17,144,203,81,57,103,191,108,2,97,203,34,16,47,60,15,1,2,246,0,0,19,143,248,26,44,212,219,27,247,163,209,61,173,180,149,42,55,234,123,15,177,146,61,42,129,152,241,12,124,176,193,45,54,240,0,0,71,96,216,58,208,103,229,63,174,188,184,41,14,129,78,45,121,
103,144,10,147,221,41,51,25,119,58,24,214,244,66,51,123,142,0,0,42,55,96,4,250,17,64,40,62,139,214,63,145,139,35,58,121,69,81,41,50,8,65,12,64,57,75,26,143,202,194,29,183,16,0,0,75,173,30,4,104,30,162,63,31,60,176,17,218,126,123,29,58,190,118,62,235,59,205,17,113,236,55,51,35,35,3,3,201,191,0,0,237,218,254,6,194,27,75,17,231,227,10,46,204,191,163,17,251,54,45,4,84,55,198,41,219,36,237,13,39,120,108,32,148,122,0,0,62,59,187,53,29,244,158,27,178,60,247,57,251,133,77,29,80,91,63,45,48,250,100,22,202,
77,170,58,143,47,71,60,45,115,0,0,147,102,54,23,123,248,93,49,108,67,88,12,89,91,107,39,230,22,57,37,0,97,149,56,183,124,151,57,163,183,15,36,65,127,0,0,185,195,141,8,6,207,214,23,156,201,116,23,58,73,154,41,25,96,239,23,50,3,33,42,141,66,123,20,14,88,46,37,224,76,0,0,82,222,192,37,219,222,83,48,2,101,160,30,50,200,22,8,22,162,172,54,41,3,54,45,87,237,179,41,198,175,238,3,57,5,0,0,90,254,170,10,44,120,221,48,212,237,154,16,233,44,28,21,226,208,63,2,108,165,154,34,109,233,125,38,241,219,173,35,150,
154,0,0,192,117,217,14,9,245,175,57,12,204,112,30,153,2,98,45,231,14,29,6,246,64,155,49,79,149,162,59,180,233,193,62,246,171,0,0,151,99,76,51,231,47,71,29,147,208,76,7,64,109,79,55,7,33,178,54,148,0,190,43,240,84,25,22,92,64,251,62,198,211,0,0,156,63,203,40,21,52,242,7,11,224,224,5,36,194,29,3,138,70,182,42,75,54,229,32,69,25,175,34,151,87,177,52,13,74,0,0,126,19,195,10,76,150,224,38,97,68,246,26,169,216,150,36,254,83,57,43,170,157,26,60,2,142,59,36,164,4,230,56,189,76,0,0,230,47,192,46,115,197,35,
0,12,214,234,8,150,235,233,36,209,112,195,20,46,77,168,36,0,149,21,54,196,35,24,21,229,108,0,0,75,248,251,32,179,193,136,30,164,184,240,3,239,242,35,49,3,187,206,20,48,204,113,54,139,123,36,22,172,32,207,12,157,75,0,0,72,60,108,35,210,146,123,14,98,94,91,47,248,80,181,25,103,235,183,57,153,96,246,4,83,37,21,12,147,248,254,49,127,253,0,0,98,56,196,25,86,120,16,42,144,102,126,57,96,60,253,41,113,222,27,56,38,26,6,2,109,30,242,31,115,48,77,59,94,56,0,0,83,84,46,20,149,63,22,1,204,200,109,8,8,187,19,
12,107,87,244,43,167,103,120,7,112,86,63,34,58,250,240,58,59,40,0,0,179,217,226,54,170,193,244,18,81,99,141,51,198,160,228,54,65,86,132,15,231,132,169,11,225,117,94,48,241,229,60,5,163,25,0,0,51,175,170,11,151,184,75,21,109,229,75,0,73,71,135,0,165,179,40,53,31,226,151,37,52,210,141,50,177,118,61,54,172,108,0,0,128,4,240,18,172,31,22,54,231,206,13,16,40,1,98,13,32,25,114,54,147,141,97,50,93,53,170,13,106,229,82,59,64,88,0,0,158,207,34,62,138,87,75,22,33,135,227,42,20,149,72,29,186,218,216,29,133,
170,55,26,121,16,20,63,130,200,154,54,12,103,0,0,66,76,245,35,160,123,19,18,142,220,163,41,9,143,6,55,69,37,83,14,59,125,48,22,220,177,143,17,26,77,105,0,87,159,0,0,33,106,235,47,36,113,56,24,120,82,158,33,172,18,158,59,137,221,191,41,92,173,109,37,251,123,229,25,7,32,238,35,123,206,0,0,26,70,34,21,202,76,80,58,39,131,113,60,150,137,194,44,188,160,249,62,25,4,28,46,27,192,207,40,214,72,90,4,246,39,0,0,45,26,48,7,231,43,147,42,70,148,99,40,54,200,6,38,228,232,142,2,157,132,21,35,164,46,173,38,2,100,
106,60,18,229,0,0,185,54,79,17,203,38,139,51,12,57,159,59,216,174,50,38,37,129,169,52,215,208,203,47,97,18,148,47,59,91,97,30,7,100,0,0,10,181,180,36,167,123,44,37,40,235,206,25,18,28,130,54,140,108,123,26,97,127,93,3,249,174,239,22,57,209,163,36,97,218,0,0,111,183,214,20,230,247,216,59,188,93,129,12,237,126,106,57,127,174,254,29,2,47,194,61,82,244,105,22,33,199,56,20,55,162,0,0,218,168,204,13,50,179,100,7,20,141,132,27,127,4,31,28,231,19,17,1,53,249,232,11,195,218,230,61,185,41,197,38,51,247,0,0,
117,228,238,60,147,113,186,11,177,130,215,14,16,10,178,26,171,65,255,10,207,135,0,15,237,213,120,35,252,232,1,43,241,187,0,0,103,80,254,7,2,168,136,17,104,29,180,56,80,98,231,58,36,227,95,49,218,32,243,32,8,97,14,6,181,186,55,46,191,180,0,0,167,195,250,3,27,182,27,24,156,188,127,20,150,18,126,55,15,24,250,61,4,145,206,49,55,22,25,15,251,0,110,54,249,6,0,0,96,33,132,58,128,65,162,33,45,0,129,2,215,75,55,41,126,212,196,5,57,140,138,35,155,166,155,5,12,152,163,49,128,124,0,0,4,226,28,18,163,215,181,
19,82,61,118,38,144,99,201,41,178,47,247,38,114,22,54,29,131,251,100,60,172,88,116,16,202,67,0,0,107,143,74,19,58,17,148,20,142,70,74,42,207,236,177,45,154,31,163,27,99,72,62,20,198,161,63,2,220,184,160,22,234,220,0,0,218,239,230,43,179,164,243,19,150,5,40,7,254,252,83,11,146,109,80,26,225,141,220,27,102,91,191,18,162,200,187,1,62,156,0,0,125,252,174,39,202,60,80,60,125,223,111,51,30,26,242,14,212,213,111,34,51,81,203,2,175,216,35,41,216,121,121,2,183,167,0,0,226,139,200,6,215,234,73,36,39,94,238,
6,52,8,30,11,234,91,119,48,96,103,157,28,187,51,240,32,248,196,168,34,111,93,0,0,93,215,122,13,252,84,185,36,40,44,249,43,169,227,219,42,237,32,188,8,172,206,188,42,113,140,78,45,85,99,99,44,196,173,0,0,68,184,209,18,110,212,36,10,79,72,62,23,176,224,0,39,198,197,139,56,4,15,87,44,134,252,213,32,41,193,112,13,125,245,0,0,55,104,38,33,245,174,46,25,164,198,21,9,12,200,165,1,112,76,99,36,167,214,79,19,144,151,77,47,99,170,103,15,127,112,0,0,9,203,199,60,252,1,52,13,82,67,27,29,40,218,250,49,59,70,113,
24,143,251,135,27,89,95,74,25,153,142,30,24,231,19,0,0,96,145,7,8,40,106,157,47,17,100,87,43,217,174,184,58,101,157,41,52,108,97,247,23,50,30,139,59,62,122,35,50,77,40,0,0,5,238,205,24,73,56,131,1,144,59,236,50,133,236,135,29,168,29,144,6,108,44,148,0,64,98,46,24,160,149,200,40,190,41,0,0,200,81,38,38,102,13,40,57,57,142,105,12,178,109,12,63,249,199,94,48,225,254,108,2,144,234,160,41,67,154,104,54,64,124,0,0,218,138,241,18,88,29,219,6,193,188,189,61,238,100,47,24,212,89,74,61,204,191,190,13,156,125,
142,40,224,72,27,30,33,245,0,0,22,53,149,35,244,43,90,55,129,9,191,5,219,40,189,23,170,214,209,17,243,10,132,9,204,126,181,13,14,216,239,27,104,224,0,0,189,230,208,2,157,131,223,14,49,229,245,48,246,88,52,29,247,203,110,13,65,240,81,8,42,88,226,4,15,73,0,53,34,51,0,0,160,178,40,44,165,139,206,19,98,175,115,40,168,143,125,1,40,183,249,26,55,241,102,0,251,91,239,36,89,250,229,1,231,86,0,0,153,180,154,5,200,79,103,47,10,51,60,39,27,103,202,4,11,188,1,63,25,207,90,6,210,165,91],"i8",4,t.L);
D([87,192,252,43,186,120,0,0,253,151,224,62,99,140,116,32,150,25,37,17,163,187,203,24,145,46,8,2,182,131,19,42,252,250,10,44,193,246,54,55,75,173,0,0,230,172,6,61,179,133,79,18,164,12,162,3,190,205,38,28,35,26,171,41,36,97,18,46,32,76,61,46,82,104,132,60,112,111,0,0,222,213,2,54,210,180,47,18,224,94,172,37,175,89,165,12,117,80,159,57,30,205,99,23,249,54,183,39,0,37,140,34,30,121,0,0,64,27,238,32,185,143,59,50,125,36,150,30,220,22,82,59,140,212,204,3,68,198,39,37,128,95,65,42,90,167,108,39,89,225,
0,0,166,147,143,23,123,153,88,7,222,153,41,3,47,157,142,13,166,207,199,47,168,42,37,62,250,14,74,29,160,202,136,24,51,121,0,0,62,12,192,9,161,232,119,32,47,142,32,17,242,192,163,3,240,89,24,5,245,76,139,21,54,100,149,6,16,193,37,1,11,187,0,0,53,90,149,17,180,96,106,38,167,144,220,5,164,19,193,25,254,82,176,49,234,133,190,52,85,54,246,57,235,20,22,57,103,64,0,0,230,50,221,5,112,110,157,3,126,238,229,19,109,84,237,24,198,191,95,26,29,248,118,18,182,233,137,23,101,80,85,16,90,220,0,0,185,153,74,53,233,
109,159,3,248,188,73,46,29,164,187,60,47,68,89,63,6,136,151,58,220,118,122,54,231,143,41,42,243,74,0,0,203,231,68,5,177,110,81,59,89,3,150,18,109,137,144,1,161,153,78,1,196,149,82,13,227,219,185,51,97,14,92,6,110,21,0,0,55,10,37,45,2,75,78,53,214,156,67,43,87,99,181,37,148,232,75,3,142,169,92,37,147,218,7,25,204,227,103,35,192,107,0,0,202,83,152,5,115,10,239,47,77,245,155,49,231,154,88,58,72,19,22,39,163,136,218,41,188,38,56,4,218,178,51,47,105,66,0,0,103,211,184,53,212,59,86,42,61,138,90,30,126,
41,80,14,253,9,164,49,16,167,50,33,60,114,107,1,176,160,6,7,43,237,0,0,131,171,52,1,74,211,117,8,119,57,67,54,189,230,207,6,116,104,88,38,37,54,220,5,189,162,125,11,120,75,31,11,103,133,0,0,166,19,3,57,61,37,140,35,76,244,152,18,49,255,197,31,231,229,194,34,233,111,18,16,55,182,46,59,208,214,230,6,72,124,0,0,0,144,186,3,234,200,193,55,111,139,94,2,26,231,203,33,196,61,20,0,97,29,216,33,132,22,140,29,252,127,62,29,56,172,0,0,10,207,16,47,101,31,143,54,164,159,110,54,95,67,141,23,8,147,127,17,80,162,
119,11,134,155,6,28,40,194,72,58,101,170,0,0,212,219,6,45,155,189,129,41,129,208,32,10,94,225,143,3,236,41,231,35,166,215,1,5,173,57,1,7,154,234,57,23,13,87,0,0,149,212,30,61,58,251,150,41,213,190,96,36,113,219,232,32,182,187,27,16,71,156,185,25,91,96,47,32,131,80,210,20,174,166,0,0,14,35,45,9,72,126,48,13,132,146,51,41,52,168,140,59,218,245,110,54,128,123,138,48,135,111,187,40,9,10,28,62,181,117,0,0,184,112,21,21,239,247,242,13,176,143,31,17,1,44,233,25,2,142,250,29,83,21,29,30,61,54,82,56,233,120,
136,51,124,82,0,0,14,204,79,3,171,253,218,30,196,132,56,62,10,41,196,31,146,200,89,18,159,56,224,22,10,43,236,29,123,184,190,35,252,68,0,0,10,66,156,49,121,12,252,51,217,137,4,13,47,41,165,3,114,215,211,51,32,158,159,9,73,126,54,49,166,46,165,55,199,210,0,0,145,153,182,11,242,7,146,22,93,23,7,51,176,232,207,62,255,53,245,2,56,136,89,40,102,104,188,39,179,238,145,46,162,222,0,0,223,226,111,49,167,10,157,1,199,155,237,33,216,108,115,39,34,231,185,55,19,178,255,50,197,74,142,2,67,182,245,47,40,174,0,
0,204,201,79,17,9,52,144,48,88,22,70,26,10,175,2,52,38,54,168,56,18,179,61,7,252,110,141,22,184,41,38,63,104,57,0,0,221,55,173,31,37,82,78,6,64,51,143,56,191,93,25,5,26,201,50,45,106,180,96,30,35,129,146,53,210,54,244,46,156,120,0,0,241,133,12,46,70,134,176,43,80,162,163,3,216,148,75,41,166,213,69,57,85,194,119,9,107,146,162,6,56,166,65,36,150,104,0,0,33,222,193,45,204,8,210,49,34,57,80,13,104,103,48,16,31,45,215,5,97,7,23,12,111,37,121,9,227,44,237,15,253,174,0,0,10,42,200,32,189,102,101,63,47,131,
104,54,131,177,137,36,15,177,19,20,70,198,39,27,176,70,138,24,198,38,224,47,72,9,0,0,137,229,200,24,35,254,45,19,237,43,205,23,50,194,127,19,109,140,65,3,71,23,211,45,198,109,100,54,114,91,161,24,165,83,0,0,127,172,200,56,126,249,11,10,39,165,42,30,153,187,144,4,100,73,248,22,129,180,229,12,92,203,187,34,224,248,190,44,69,153,0,0,176,163,174,41,133,14,101,27,169,223,172,45,251,136,222,11,40,245,239,40,236,63,209,54,7,214,130,50,195,146,96,59,239,62,0,0,58,53,158,22,142,231,117,52,110,31,190,43,20,
2,17,40,16,254,213,7,196,137,8,62,53,98,14,7,22,200,26,19,49,42,0,0,103,96,116,37,135,155,100,9,252,139,101,50,182,42,149,34,19,160,27,42,174,29,249,24,164,193,122,34,214,252,2,43,164,21,0,0,102,73,184,41,123,210,139,39,152,255,243,23,183,65,208,19,27,145,108,43,233,188,190,45,152,212,194,63,192,45,64,41,89,89,0,0,106,58,71,7,134,140,153,2,100,66,226,15,35,48,55,0,145,112,42,8,55,8,74,12,148,127,137,10,215,7,157,57,112,3,0,0,115,177,198,43,72,110,50,44,179,254,211,46,31,143,24,54,125,157,95,27,193,
24,49,24,17,142,254,34,200,77,78,12,235,158,0,0,29,167,35,23,54,136,229,20,185,196,112,14,180,175,198,41,14,227,26,58,238,246,175,42,82,217,88,45,67,4,120,60,33,225,0,0,243,5,200,62,253,16,201,29,21,89,153,29,66,221,3,57,125,136,151,46,1,226,200,46,110,81,143,49,253,49,249,19,204,57,0,0,211,72,60,58,4,131,70,6,77,46,145,60,207,205,85,46,187,125,222,2,61,79,154,57,81,49,143,47,145,22,203,17,177,236,0,0,14,88,34,14,215,190,88,15,121,136,111,45,180,37,202,4,199,210,212,27,147,121,255,11,137,150,198,
13,187,25,29,32,76,249,0,0,130,219,39,49,217,143,148,7,232,212,113,35,76,17,251,33,152,246,129,26,173,218,255,18,25,169,37,18,225,25,247,31,156,94,0,0,31,242,196,16,180,46,144,47,166,167,61,16,83,86,42,9,80,210,153,25,108,163,129,0,204,47,22,29,181,26,27,46,204,140,0,0,160,254,157,50,169,155,196,31,143,226,75,38,32,43,183,36,75,165,88,7,114,82,189,47,153,54,196,17,157,24,150,37,248,87,0,0,232,216,143,51,103,96,179,51,172,82,151,6,127,19,57,44,241,168,115,40,192,131,243,25,240,52,28,0,134,209,159,
51,96,98,0,0,23,174,180,50,86,58,161,6,140,25,28,5,224,136,164,52,236,247,30,42,221,37,65,2,127,26,87,27,233,219,10,42,45,188,0,0,2,102,19,1,149,145,46,44,187,165,227,25,3,210,27,49,56,61,59,51,200,223,36,22,208,51,252,45,32,1,202,9,209,135,0,0,172,106,175,24,7,241,160,61,196,247,59,61,27,29,33,42,135,83,116,39,253,179,157,40,38,233,61,32,150,194,33,9,206,113,0,0,22,169,197,8,205,117,129,44,37,15,97,53,84,3,17,23,63,161,74,53,106,143,49,43,176,70,151,30,152,248,79,31,93,253,0,0,218,139,219,58,193,
222,44,5,171,250,246,28,47,5,206,53,229,47,181,7,231,153,242,16,43,125,176,21,173,59,180,15,216,13,0,0,156,82,247,53,88,66,102,23,212,29,213,27,45,230,150,29,56,129,67,52,180,12,79,17,186,34,97,2,7,38,4,53,13,222,0,0,254,136,205,36,11,48,8,15,6,116,183,9,162,49,73,34,23,112,53,58,181,8,38,4,178,249,69,33,40,68,167,27,10,215,0,0,17,109,247,56,52,210,11,50,115,85,81,56,239,3,64,4,21,162,146,2,231,240,251,22,156,230,68,15,147,182,34,8,108,178,0,0,107,53,183,35,199,2,112,48,189,36,38,24,103,25,12,0,5,
51,100,13,67,246,161,19,12,207,51,29,82,130,32,62,28,31,0,0,219,34,158,38,25,236,56,37,63,147,200,57,103,253,79,38,172,78,41,12,6,164,244,14,126,58,82,63,31,63,46,5,235,252,0,0,161,96,34,28,201,182,92,61,203,228,235,36,78,158,67,21,173,36,9,31,73,157,150,34,205,31,141,43,53,144,206,26,170,100,0,0,85,39,138,35,230,5,33,60,6,85,156,20,89,156,134,28,83,170,127,16,45,221,213,5,92,197,202,21,51,143,152,38,144,78,0,0,222,163,204,35,216,39,233,61,202,0,152,34,52,229,84,51,182,219,89,53,65,117,27,9,239,236,
90,35,51,227,161,54,86,174,0,0,77,166,59,24,102,37,150,32,58,90,89,12,226,221,131,57,189,226,64,14,174,23,133,2,251,59,192,4,184,8,87,17,103,195,0,0,253,129,33,42,229,35,51,5,70,241,120,23,40,171,154,24,66,199,100,25,19,186,57,56,128,48,3,54,114,26,180,2,82,58,0,0,45,250,55,32,52,50,79,37,50,196,253,27,93,61,178,15,4,3,65,63,46,5,33,13,216,67,141,29,240,43,120,31,3,229,0,0,218,91,117,29,16,114,151,3,14,241,129,4,251,192,214,23,189,221,11,25,238,39,52,38,159,95,59,13,165,234,210,20,113,69,0,0,117,
119,126,23,184,41,42,34,99,95,217,14,226,100,85,56,181,174,145,18,61,235,14,21,88,238,60,35,229,191,142,26,137,157,0,0,145,102,5,58,234,180,61,63,190,83,146,41,184,95,115,38,232,125,146,16,201,181,147,37,78,185,240,27,210,15,121,42,145,221,0,0,147,50,42,60,120,19,120,63,197,118,52,16,186,27,46,34,86,205,244,2,202,92,41,44,14,45,121,35,69,156,59,46,39,131,0,0,189,249,13,14,134,83,33,47,22,164,38,35,59,173,246,43,150,132,112,57,137,153,250,44,139,225,152,10,184,155,137,31,153,4,0,0,66,192,98,5,177,
201,134,16,162,177,223,56,210,200,72,11,9,214,142,26,62,118,152,25,125,137,22,27,155,138,170,10,228,90,0,0,156,38,121,15,126,51,23,36,191,141,205,7,68,229,54,56,148,74,157,56,128,113,119,48,181,234,81,48,127,1,159,14,217,153,0,0,97,175,133,30,161,4,34,13,107,118,174,20,183,200,181,35,78,15,27,2,219,63,218,58,154,181,142,28,168,9,185,14,194,146,0,0,9,43,106,3,167,217,200,57,212,254,134,34,173,96,235,8,45,121,213,56,28,87,95,8,159,64,187,17,85,192,35,62,76,65,0,0,168,235,181,7,203,198,171,56,108,163,
142,17,254,113,251,42,45,66,223,56,171,93,208,3,141,8,241,61,171,29,35,24,229,254,0,0,92,155,11,13,218,116,69,61,147,71,5,57,175,208,63,32,227,78,193,7,74,230,11,16,17,251,138,37,63,77,100,22,7,56,0,0,244,202,99,60,44,233,142,7,40,213,83,15,202,234,252,35,162,252,106,42,24,211,78,4,10,98,126,38,185,228,58,17,229,66,0,0,200,41,156,22,38,176,235,33,17,95,252,62,218,158,67,41,115,120,94,1,93,48,136,60,113,31,103,12,71,62,56,21,248,159,0,0,161,9,15,30,97,246,138,2,56,40,3,20,110,124,66,40,240,254,14,
48,145,74,187,37,57,56,206,50,84,153,237,32,237,122,0,0,115,125,133,5,122,51,118,17,64,165,244,51,3,204,203,34,216,142,45,3,196,42,244,43,221,199,247,30,140,230,23,21,184,245,0,0,37,231,252,36,43,168,25,22,114,91,108,42,113,244,54,58,231,180,113,23,60,122,65,42,94,223,122,32,40,61,172,28,99,224,0,0,221,49,238,14,229,211,192,9,11,135,4,49,225,157,18,18,215,140,72,26,181,202,238,9,42,225,207,24,56,47,93,34,144,122,0,0,106,141,50,26,35,6,170,46,189,24,220,26,165,206,93,19,178,167,143,48,22,70,38,26,
52,10,224,52,136,233,22,48,99,198,0,0,192,184,201,62,170,237,194,14,194,156,191,18,148,122,84,33,221,23,19,23,157,60,247,43,57,141,195,33,220,87,99,58,49,51,0,0,47,222,150,57,32,33,71,50,75,17,37,11,184,203,183,51,119,233,228,15,168,123,195,44,206,89,164,6,238,183,160,9,252,211,0,0,140,111,82,20,7,137,36,49,104,241,171,55,55,38,109,22,78,218,129,55,83,83,29,45,104,143,161,48,23,105,230,55,240,196,0,0,234,151,230,3,68,35,177,49,133,62,248,5,230,62,158,57,156,209,171,63,104,178,127,40,220,55,2,44,172,
255,208,18,122,193,0,0,135,108,220,30,247,225,142,59,176,42,240,57,95,109,104,56,150,174,31,32,101,220,227,5,174,76,149,53,106,85,11,23,53,57,0,0,27,218,99,49,8,12,75,11,24,49,58,57,131,185,183,3,154,222,31,1,255,117,210,36,140,70,11,57,153,40,223,34,97,143,0,0,110,215,189,3,68,72,204,31,124,110,155,36,140,154,49,20,100,66,90,44,94,211,105,47,95,235,182,62,34,124,201,15,35,120,0,0,144,174,200,14,248,67,22,58,238,93,188,11,186,228,154,44,207,184,241,3,178,54,110,53,134,235,230,33,222,86,60,48,152,
151,0,0,211,68,40,37,171,11,107,42,39,142,24,3,244,150,37,57,226,190,115,28,62,37,37,59,210,61,237,2,105,157,170,56,64,186,0,0,127,107,214,17,60,94,134,22,16,200,125,24,20,148,164,41,122,117,132,18,226,66,110,60,124,116,214,34,214,254,184,27,250,253,0,0,139,23,229,56,25,224,163,42,157,222,120,61,68,119,190,17,216,196,24,26,143,38,7,3,60,185,141,25,146,136,199,60,156,77,0,0,240,188,101,18,18,94,29,32,11,211,199,17,16,222,138,51,105,14,34,15,135,145,166,58,221,58,228,41,136,55,142,51,88,253,0,0,146,
98,153,43,115,234,249,12,223,209,28,15,138,255,134,9,135,251,228,5,146,230,170,32,83,189,21,50,216,77,121,41,224,255,0,0,84,151,85,16,35,164,181,2,84,88,63,42,120,247,66,44,4,34,224,12,112,231,239,2,141,53,69,29,53,87,156,30,60,33,0,0,242,88,180,52,212,9,203,63,221,238,167,54,124,61,20,18,187,144,161,27,145,24,180,14,1,7,37,6,185,214,66,43,109,75,0,0,204,220,5,30,70,0,182,12,229,147,154,1,83,251,232,15,174,114,209,19,229,90,130,27,84,9,3,26,79,93,184,61,206,184,0,0,80,87,109,12,63,131,82,0,51,129,
182,38,218,240,95,29,223,153,189,18,147,211,41,53,164,246,187,9,179,41,152,34,43,48,0,0,26,179,59,55,132,251,247,22,72,123,185,61,215,218,222,7,112,73,95,59,186,120,47,40,2,94,56,7,109,222,249,12,251,3,0,0,158,92,33,61,165,249,50,13,78,13,100,7,177,29,159,22,198,43,87,59,174,106,88,48,224,129,226,47,35,149,84,54,106,243,0,0,180,74,154,29,175,87,212,22,10,124,187,21,97,176,13,31,113,54,122,15,52,237,189,5,31,22,225,3,123,66,52,31,23,75,0,0,247,182,90,35,145,127,183,42,88,245,65,23,124,149,248,13,110,
72,107,34,77,202,217,35,218,95,166,47,120,105,186,25,201,62,0,0,164,35,28,48,166,236,27,61,86,207,73,58,17,86,144,10,194,117,205,57,230,166,224,0,42,108,160,39,168,129,212,0,135,94,0,0,249,134,217,16,172,101,94,8,161,253,204,36,210,97,199,5,162,45,110,44,184,70,87,29,113,30,34,9,231,190,19,25,150,91,0,0,102,12,123,0,72,215,252,60,177,111,200,22,25,185,255,41,52,116,235,44,130,61,145,8,71,164,128,22,195,100,192,48,69,229,0,0,112,212,242,49,73,95,253,33,221,57,162,53,134,163,96,57,151,191,188,25,229,
104,191,49,229,231,85,41,24,163,3,13,106,224,0,0,186,139,100,3,46,100,96,41,68,116,60,28,26,44,60,40,130,152,179,1,124,137,184,15,19,10,88,15,149,94,133,16,164,178,0,0,82,100,251,0,40,173,190,17,178,123,193,9,71,69,21,54,192,49,126,61,62,94,242,62,233,25,102,54,164,173,240,23,79,254,0,0,208,39,171,43,187,72,183,61,252,3,81,4,139,126,208,2,247,7,112,25,99,100,192,37,186,81,134,19,81,207,131,35,144,27,0,0,16,209,211,0,121,157,161,7,87,27,229,7,214,164,242,46,181,154,75,60,5,70,242,21,243,230,181,38,
17,187,151,24,109,155,0,0,60,213,251,8,236,232,48,3,223,205,98,28,43,28,227,32,226,135,154,1,149,74,77,46,219,232,52,11,189,158,202,9,124,78,0,0,230,170,220,23,96,80,206,2,62,211,125,63,47,133,229,2,83,27,104,47,183,125,66,63,22,142,177,16,39,155,29,39,116,23,0,0,255,179,33,37,147,17,166,56,206,80,167,26,250,197,1,15,35,165,36,46,166,175,52,17,94,199,85,20,50,4,140,19,72,2,0,0,126,218,105,2,228,146,107,48,188,139,172,35,164,183,1,28,173,235,14,45,172,240,172,48,126,208,48,62,136,42,40,52,25,150,0,
0,185,167,75,0,234,231,173,37,31,117,65,7,12,28,169,53,32,78,149,44,156,53,220,38,247,126,229,44,237,179,73,49,193,22,0,0,65,215,91,28,148,142,111,29,196,156,154,28,111,0,87,29,236,222,148,10,114,22,157,24,98,144,67,49,0,13,223,31,21,219,0,0,250,131,102,35,234,33,217,32,94,130,192,14,224,212,134,32,149,102,123,18,209,157,115,34,122,248,26,19,254,212,53,15,151,3,0,0,127,87,74,63,221,202,126,61,237,29,152,62,99,56,33,30,215,108,162,53,202,216,74,56,67,54,58,10,195,48,139,22,207,56,0,0,6,111,191,0,103,
230,44,32,113,181,67,16,137,204,4,15,113,101,87,32,192,210,19,48,194,17,21,15,187,156,238,38,106,186,0,0,81,181,29,56,193,189,175,12,254,170,151,6,235,61,69,23,158,142,189,24,149,203,47,8,32,3,27,33,210,44,142,7,119,19,0,0,67,26,35,49,193,231,123,52,159,59,212,26,153,53,69,53,68,47,68,30,147,65,101,59,138,45,221,4,243,9,51,47,197,53,0,0,246,200,32,22,20,185,220,54,231,10,207,35,1,51,233,61,76,157,88,58,219,130,96,57,52,231,108,52,229,142,92,29,54,14,0,0,9,6,212,61,91,241,2,61,107,215,28,24,3,38,100,
16,199,106,53,8,22,191,196,11,18,202,107,24,21,23,9,39,71,253,0,0,83,202,100,42,217,196,139,55,57,71,202,33,201,181,235,4,145,253,65,24,242,144,94,43,44,255,254,10,165,73,237,51,105,48,0,0,127,154,121,43,212,11,220,54,36,132,142,59,84,179,45,6,79,84,125,44,188,230,58,54,222,75,134,13,179,142,10,0,64,108,0,0,50,30,200,19,179,32,115,45,104,63,72,32,32,83,175,30,192,189,220,29,56,168,13,46,144,230,91,35,45,76,5,55,194,149,0,0,182,39,251,0,161,248,9,9,99,87,48,36,175,108,143,27,199,165,106,40,133,181,
226,8,15,177,177,56,157,111,143,19,167,254,0,0,111,185,60,50,223,246,116,0,119,183,247,51,229,90,214,26,18,147,175,54,50,123,211,25,207,151,50,49,194,230,54,26,5,110,0,0,86,151,136,62,166,107,96,55,37,187,4,48,94,38,217,30,242,243,153,24,156,236,101,51,38,130,234,31,132,204,240,34,46,118,0,0,116,183,166,60,129,103,137,23,226,165,79,8,82,204,182,28,25,71,227,2,38,197,19,51,199,195,151,62,188,130,9,37,40,192,0,0,234,210,117,9,92,122,221,27,162,142,78,1,132,62,171,20,30,169,244,8,140,236,246,38,225,
72,83,9,216,247,81,31,7,223,0,0,149,111,147,49,120,182,240,40,122,39,221,59,19,110,177,7,138,124,82,34,98,114,9,33,76,66,244,55,59,0,162,30,97,248,0,0,215,146,76,60,238,71,18,46,69,27,57,20,185,91,211,54,53,41,20,11,205,160,122,31,225,50,160,61,244,98,93,31,62,159,0,0,221,6,73,49,62,255,238,50,134,17,78,41,245,192,136,10,69,2,21,43,46,135,172,24,136,181,102,20,223,169,7,33,210,236,0,0,131,196,168,50,202,92,131,43,53,172,64,16,49,34,195,18,23,129,82,57,187,72,15,35,195,237,249,12,215,94,87,30,204,
160,0,0,169,107,204,18,86,209,89,2,85,96,147,54,247,198,35,13,107,120,223,49,200,37,63,29,35,238,115,56,44,190,72,0,195,171,0,0,238,58,221,5,175,109,60,28,33,47,109,57,163,162,78,5,19,202,118,41,26,107,170,8,14,206,124,60,84,69,41,20,28,109,0,0,247,151,245,61,147,83,141,59,223,58,213,14,170,66,140,7,133,116,212,7,138,0,200,9,119,201,253,61,170,129,35,5,255,175,0,0,187,208,166,36,223,166,50,30,198,253,26,26,189,72,76,39,101,143,65,38,162,98,155,6,49,63,159,63,229,98,88,7,95,94,0,0,249,234,51,16,228,
17,14,26,161,83,246,6,148,203,87,21,114,218,33,39,19,52,175,61,88,115,111,62,169,193,10,20,177,215,0,0,63,94,0,15,145,215,166,54,45,189,57,44,111,140,163,61,90,73,161,1,56,107,46,15,253,255,39,36,5,207,154,34,19,248,0,0,183,126,53,47,128,128,95,11,52,33,190,20,85,111,16,59,244,81,203,37,234,149,87,0,157,159,189,14,237,251,206,35,117,202,0,0,57,222,189,23,16,169,0,11,149,50,4,54,109,94,56,17,21,211,104,25,102,53,92,9,10,225,240,60,157,253,68,16,230,118,0,0,1,172,1,25,180,212,197,18,43,3,210,22,173,
244,140,10,94,211,240,1,26,92,155,1,119,245,92,41,147,123,227,55,13,201,0,0,141,238,120,0,115,36,20,60,66,148,145,6,148,51,200,47,78,246,79,27,170,142,201,61,95,226,155,26,103,97,235,21,142,208,0,0,134,62,166,45,112,211,95,38,222,217,46,2,229,243,189,15,18,244,109,62,213,185,203,5,214,114,141,8,173,18,230,37,46,133,0,0,236,41,145,2,193,25,69,22,129,84,130,36,199,179,142,43,12,8,29,19,179,3,250,34,245,117,210,4,53,121,33,48,166,125,0,0,14,255,217,44,138,187,66,45,174,134,165,12,149,33,48,18,4,191,
39,22,36,29,8,52,17,117,133,1,125,238,26,5,152,244,0,0,34,79,101,17,85,82,15,62,148,238,170,49,8,229,252,61,178,79,217,41,249,6,64,58,27,226,230,27,112,253,51,36,208,144,0,0,225,67,26,32,93,129,119,61,64,135,63,26,79,89,141,53,109,51,112,63,26,120,8,60,83,169,97,15,235,74,135,38,86,205,0,0,250,25,107,7,71,217,187,45,113,157,129,40,65,27,184,53,217,46,41,33,32,196,176,8,115,204,30,29,60,31,22,38,71,218,0,0,247,90,111,50,172,187,137,42,6,194,63,21,165,79,244,30,166,158,86,22,248,29,164,13,23,29,240,
10,243,38,222,53,177,235,0,0,189,93,19,57,150,237,75,54,236,49,134,29,206,235,33,48,240,124,137,41,11,214,171,30,129,173,230,30,55,42,65,29,228,227,0,0,93,4,72,7,249,188,26,36,150,218,149,44,215,191,128,40,165,254,63,56,74,101,32,35,185,64,108,60,114,2,254,22,10,147,0,0,95,69,238,13,151,231,194,47,92,7,228,12,186,249,255,25,255,74,219,11,224,227,76,17,71,10,155,10,28,250,91,25,140,126,0,0,186,156,27,23,96,166,247,28,113,98,70,47,209,89,180,40,74,59,165,3,32,61,216,61,163,242,64,7,140,178,140,49,221,
189,0,0,158,181,152,38,109,174,229,29,67,122,68,19,98,73,214,12,10,38,199,35,207,106,13,44,190,21,235,21,106,36,126,16,248,61,0,0,245,186,146,43,229,153,227,51,139,159,148,20,200,158,33,63,123,134,243,28,196,163,235,10,160,29,12,9,44,230,183,57,143,179,0,0,145,184,203,43,144,64,197,42,227,190,108,50,247,144,49,31,143,154,143,63,208,169,110,32,130,30,190,42,236,192,90,49,56,199,0,0,195,132,154,41,101,215,156,31,145,254,12,8,222,187,83,12,130,187,187,63,178,186,60,6,247,55,37,45,70,37,94,45,63,137,
0,0,141,213,97,7,206,188,234,18,243,226,96,13,2,249,38,19,202,122,223,32,92,141,2,9,10,97,20,54,143,224,73,24,196,184,0,0,164,81,16,29,234,130,58,14,182,197,7,33,23,30,65,29,63,5,197,51,95,218,99,17,74,209,55,14,92,20,91,54,158,143,0,0,64,0,11,5,16,204,194,54,194,173,52,1,124,110,31,61,243,113,54,26,250,79,38,3,53,122,31,39,64,220,167,27,213,8,0,0,161,208,63,27,233,153,56,22,235,43,120,33,131,28,241,53,246,133,178,57,53,42,84,52,255,33,170,41,66,175,107,33,33,161,0,0,127,59,87,19,124,143,149,21,15,
39,182,48,180,23,135,38,136,55,90,38,239,93,62,8,30,52,230,60,11,181,140,60,19,220,0,0,166,43,31,12,161,72,179,10,196,177,4,52,5,28,85,17,112,118,10,41,18,106,67,16,199,195,64,35,167,16,160,46,9,201,0,0,235,156,174,7,46,100,189,0,75,209,242,14,156,122,8,27,34,168,25,33,108,151,85,6,175,115,240,55,119,128,121,11,192,37,0,0,117,226,198,11,77,52,36,28,100,114,88,38,194,119,144,49,55,213,17,45,62,55,56,33,200,192,131,35,4,178,180,58,159,138,0,0,52,60,90,44,219,99,2,62,225,159,148,21,10,176,160,51,174,
88,62,46,158,50,125,46,138,206,73,14,62,203,70,39,221,254,0,0,20,119,61,33,211,47,213,10,118,41,248,27,166,81,173,43,173,0,75,15,178,196,20,58,11,11,142,59,20,198,48,9,46,165,0,0,150,163,182,42,70,83,57,45,105,7,54,17,104,228,134,0,115,179,136,4,122,253,181,56,222,194,72,42,27,175,161,12,14,62,0,0,126,226,128,25,35,121,204,58,162,246,104,52,124,16,4,44,106,198,63,5,173,119,248,7,243,100,121,51,142,190,92,32,68,202,0,0,236,35,16,52,136,97,205,43,10,87,207,62,219,61,118,17,86,175,185,2,38,128,128,11,
152,132,210,50,48,32,76,46,74,52,0,0,135,235,30,30,164,96,226,19,112,93,153,3,191,218,165,19,252,95,76,17,169,71,203,35,63,167,98,4,201,10,193,10,28,110,0,0,75,193,246,8,150,125,186,28,67,1,37,41,206,151,203,53,209,119,40,23,242,141,29,19,38,30,184,37,45,82,153,24,149,216,0,0,31,153,125,29,93,251,216,36,23,126,6,59,202,88,163,16,3,235,64,3,99,32,24,59,40,231,234,7,175,60,142,42,191,254,0,0,86,183,39,33,253,31,234,2,72,112,9,58,42,249,162,16,3,22,180,32,65,105,139,13,45,103,18,31,91,220,11,30,140,
109,0,0,113,37,23,63,42,221,71,21,166,204,205,23,139,182,169,14,78,175,77,19,219,180,160,38,69,17,145,27,191,37,194,55,174,153,0,0,122,241,140,53,205,105,184,55,36,53,130,24,233,114,23,62,241,248,151,0,109,188,107,22,208,168,172,55,111,101,183,47,202,235,0,0,205,12,170,28,125,113,179,17,196,149,206,10,180,132,180,62,16,107,46,3,159,109,40,0,44,176,156,43,200,227,131,51,211,71,0,0,91,92,133,44,86,148,187,51,187,175,200,23,128,134,88,33,17,40,252,23,120,218,104,12,83,68,226,12,245,146,75,19,223,232,
0,0,80,86,70,46,176,156,87,39,213,215,228,33,199,87,237,24,150,197,50,47,103,61,109,19,68,100,178,57,31,49,92,63,87,108,0,0,84,228,231,18,105,111,61,2,13,21,230,48,195,251,187,12,254,98,22,24,234,8,24,18,18,41,131,10,59,198,245,52,104,64,0,0,30,25,239,24,151,55,107,30,39,51,55,60,68,123,72,35,152,209,56,29,246,101,81,48,158,171,122,36,82,201,237,20,216,140,0,0,57,217,197,6,225,183,94,33,224,61,147,58,222,161,104,29,164,126,2,10,131,185,204,47,85,11,94,2,118,108,179,3,85,18,0,0,201,87,231,25,21,63,
157,10,25,67,141,13,251,7,221,34,131,114,74,50,93,240,144,35,68,117,122,45,28,62,205,32,143,123,0,0,111,165,200,22,25,171,66,35,19,66,55,15,13,21,79,2,133,143,208,58,235,212,222,46,105,76,93,24,237,176,198,25,77,148,0,0,137,226,123,26,151,113,211,39,235,23,101,16,55,93,48,53,103,25,198,58,76,216,228,16,193,244,255,1,212,222,101,25,16,167,0,0,90,241,8,46,98,40,174,59,186,0,41,1,114,91,121,26,253,5,195,19,107,149,13,44,230,207,160,25,66,115,164,19,165,134,0,0,8,131,56,1,159,71,147,20,211,84,82,51,150,
68,167,4,119,103,104,53,181,65,163,10,167,3,70,56,233,13,82,24,238,207,0,0,3,110,103,15,89,41,84,36,212,237,132,62,164,205,241,63,206,97,135,30,92,205,144,61,176,142,81,23,165,202,0,37,218,184,0,0,231,246,253,14,157,147,35,18,17,181,243,31,101,19,22,51,146,176,8,40,216,37,115,38,124,77,30,26,1,18,233,55,4,40,0,0,107,52,225,6,119,18,102,40,94,28,175,5,14,196,158,47,90,192,82,17,83,124,216,49,84,190,16,45,96,194,63,26,144,6,0,0,19,108,34,23,83,41,214,46,231,38,96,12,101,78,162,61,164,42,68,6,66,175,
108,23,168,109,226,61,47,36,248,56,99,184,0,0,161,246,161,28,243,71,154,3,163,241,207,8,13,69,47,35,6,225,108,40,199,114,113,27,40,21,118,25,201,242,36,13,140,137,0,0,124,100,79,22,60,8,183,18,202,121,189,50,231,229,243,41,178,147,110,44,74,145,80,17,216,73,85,42,213,170,97,22,247,117,0,0,152,57,30,61,240,128,167,41,138,50,4,58,69,46,178,21,94,78,39,42,8,92,103,10,165,1,191,24,164,180,191,56,19,178,0,0,30,184,95,50,24,247,178,48,94,23,237,61,250,150,5,13,213,195,59,36,14,254,122,24,61,44,193,19,203,
131,176,35,159,34,0,0,52,226,91,34,178,127,248,2,112,80,243,29,195,249,248,32,14,6,110,32,69,154,46,52,209,229,147,63,177,5,182,14,59,75,0,0,98,131,14,18,14,248,237,24,64,184,17,50,179,100,255,57,65,76,192,12,246,183,165,23,135,199,201,43,118,225,142,0,236,94,0,0,94,245,137,34,159,210,152,37,123,112,118,44,56,60,172,29,41,190,101,9,158,192,70,9,32,96,249,4,108,183,45,34,123,159,0,0,222,75,30,62,151,237,52,15,27,43,10,49,58,184,77,57,192,31,199,15,166,208,26,5,227,123,15,1,193,49,225,61,249,50,0,0,
43,29,254,29,48,114,82,25,81,142,135,22,121,66,253,36,196,164,115,59,79,127,43,51,118,62,142,4,221,114,250,16,138,213,0,0,34,9,213,12,110,229,201,51,255,251,214,11,87,136,110,54,84,107,39,40,160,76,164,28,10,241,60,8,22,232,154,33,23,252,0,0,94,121,156,36,248,70,5,9,225,5,232,28,166,170,1,17,237,78,234,39,240,112,90,54,214,12,49,24,68,92,78,28,210,33,0,0,206,142,32,25,14,187,4,0,27,118,251,45,146,18,101,28,214,195,180,43,72,21,110,13,119,161,206,26,29,44,109,62,197,148,0,0,93,223,192,35,227,93,132,
6,47,121,106,21,212,254,123,6,32,171,127,29,29,229,106,43,216,167,51,59,7,17,133,58,15,232,0,0,120,236,201,42,109,164,208,50,159,234,34,51,43,160,87,5,45,71,148,10,143,50,218,37,232,113,7,32,227,216,159,55,209,238,0,0,85,45,89,23,179,103,13,48,146,1,53,14,208,81,110,53,6,177,227,60,140,165,189,63,138,96,82,16,40,241,182,49,46,93,0,0,167,131,81,47,58,116,185,25,66,23,21,17,107,243,158,10,14,149,214,12,154,232,67,28,143,181,94,36,27,39,126,51,146,10,0,0,92,159,143,62,39,45,125,36,25,165,128,24,86,120,
124,24,115,77,64,31,133,208,184,50,226,47,116,63,70,236,112,7,55,172,0,0,60,80,90,50,204,255,160,30,209,225,81,39,59,22,77,37,34,53,231,20,201,156,7,4,242,127,71,26,194,97,176,5,22,197,0,0,70,52,227,25,84,35,135,18,223,133,243,42,20,241,78,34,64,122,161,34,8,244,2,35,52,201,64,24,60,133,14,0,66,137,0,0,137,118,56,38,3,40,78,3,132,249,116,30,158,205,93,63,107,224,228,61,59,180,181,44,216,164,119,16,105,101,229,0,253,169,0,0,38,203,19,57,86,50,202,53,3,109,189,19,0,103,208,58,153,152,92,16,213,63,145,
54,44,138,42,52,40,204,154,9,112,39,0,0,162,167,72,51,207,92,156,63,187,190,21,8,243,70,50,16,233,36,179,50,31,52,73,11,85,165,177,13,108,158,23,47,73,246,0,0,71,130,94,25,133,128,170,2,175,209,108,40,85,17,247,47,151,144,186,56,115,128,155,23,142,23,210,62,242,224,52,52,228,117,0,0,34,45,152,25,117,246,143,40,60,137,173,41,186,109,173,54,125,212,38,55,30,59,92,62,65,7,153,16,80,93,168,16,206,31,0,0,35,51,51,38,54,209,231,17,71,191,74,15,26,7,239,46,156,132,218,4,102,129,53,8,240,3,191,27,216,12,
142,45,209,62,0,0,163,27,214,53,34,241,79,44,148,114,143,55,66,40,202,45,169,158,146,15,162,37,38,31,217,117,238,52,214,34,105,11,79,216,0,0,191,128,57,51,82,95,65,9,175,11,208,13,148,11,220,40,104,67,221,8,141,220,245,27,132,27,24,24,157,26,188,52,253,112,0,0,133,87,183,32,58,163,186,11,97,165,116,29,225,96,13,4,10,107,89,46,71,52,4,41,87,105,105,24,53,52,176,50,223,94,0,0,112,96,225,4,243,238,1,55,93,145,214,47,199,128,96,40,242,67,117,22,117,148,35,41,59,49,4,23,243,247,94,26,1,163,0,0,161,126,
23,30,16,104,52,48,48,161,17,10,240,253,118,13,23,155,15,20,151,232,39,32,129,80,79,62,217,62,71,62,112,115,0,0,252,17,128,19,0,156,4,28,38,86,40,23,235,153,90,22,131,77,10,32,8,194,76,44,86,17,177,30,5,194,232,4,131,110,0,0,125,171,21,63,232,167,45,43,166,249,81,28,186,86,228,43,38,4,195,26,7,200,182,4,26,76,32,15,9,247,98,32,71,193,0,0,167,107,14,16,227,38,157,14,245,247,22,9,209,22,187,13,61,180,225,25,147,226,128,7,189,242,81,8,225,101,66,42,82,249,0,0,193,228,117,1,148,187,235,54,152,43,42,6,
211,158,197,21,85,246,160,63,137,139,218,13,97,248,235,60,42,194,150,14,169,216,0,0,147,14,170,3,138,150,1,36,38,246,177,47,235,80,142,11,143,58,137,30,118,134,198,0,4,117,238,63,116,140,87,27,1,148,0,0,194,218,173,7,162,73,187,35,163,7,123,37,234,206,13,33,244,215,111,46,59,213,116,21,3,100,217,20,17,151,187,12,80,103,0,0,123,177,102,2,184,24,210,3,43,179,43,38,128,40,90,13,2,194,9,31,170,17,226,37,187,145,40,59,103,53,93,52,34,239,0,0,62,200,218,57,13,129,155,10,115,27,52,28,220,219,201,57,62,7,
161,52,184,14,51,39,143,86,199,36,172,94,50,33,87,188,0,0,160,130,211,18,106,5,76,12,226,154,205,46,56,239,114,35,242,39,249,45,44,224,49,43,156,211,146,56,58,147,243,59,247,181,0,0,50,181,180,37,238,42,188,40,91,140,207,26,74,91,194,62,113,211,221,11,131,27,95,37,192,83,35,63,112,212,22,21,67,104,0,0,165,255,44,1,145,145,164,57,71,92,204,40,25,130,80,59,137,67,98,20,239,99,83,29,8,100,7,49,185,172,244,48,221,28,0,0,78,149,33,21,115,98,155,55,138,82,107,51,154,16,38,7,196,138,176,2,229,175,73,44,
253,99,138,31,188,44,131,26,71,30,0,0,47,242,169,52,228,144,127,13,173,226,168,23,72,113,6,2,204,176,53,8,82,46,46,62,33,159,147,14,151,124,214,44,204,42,0,0,39,73,92,55,206,114,215,45,183,80,165,27,177,239,245,18,21,241,237,48,183,223,232,4,146,81,46,45,34,86,58,41,24,213,0,0,212,78,176,63,248,24,235,45,250,255,7,19,196,194,12,51,8,226,141,39,73,20,116,62,99,100,147,43,117,226,108,33,173,144,0,0,80,241,110,11,35,53,117,36,217,148,40,24,133,175,190,43,57,184,34,50,9,101,47,55,255,26,38,56,40,136,
141,30,80,14,0,0,120,182,183,48,206,108,215,9,102,129,99,15,111,196,16,15,241,118,108,43,9,41,175,33,25,186,49,2,57,205,92,18,110,24,0,0,193,31,217,56,203,219,129,30,202,93,83,9,81,137,220,1,17,126,230,55,2,151,32,63,167,74,216,59,1,38,57,24,212,192,0,0,184,31,66,51,46,151,27,60,12,93,165,53,187,124,92,18,152,18,36,55,14,211,172,1,126,46,246,27,219,211,96,35,28,6,0,0,128,205,60,14,161,217,123,37,41,221,252,38,206,210,196,25,128,92,235,5,56,100,73,14,169,123,75,59,0,100,182,26,252,109,0,0,164,53,107,
47,98,248,146,4,135,180,127,50,170,233,205,39,136,173,104,58,204,1,201,24,115,59,81,46,35,136,142,45,166,246,0,0,166,34,244,1,178,191,173,43,44,134,225,30,157,91,93,53,25,111,24,32,213,19,220,52,202,177,56,17,11,0,42,50,247,61,0,0,17,76,149,38,162,143,160,37,139,1,13,22,5,15,41,42,127,255,120,7,84,60,108,52,32,98,55,44,161,48,10,63,162,135,0,0,69,139,42,39,184,204,184,21,183,36,129,39,202,207,36,18,204,50,117,18,131,54,82,6,123,249,206,46,106,209,98,20,173,51,0,0,182,106,112,34,171,28,29,57,218,192,
83,46,116,7,205,2,60,254,76,56,240,242,187,21,69,104,26,8,158,27,129,11,71,225,0,0,5,222,88,29,90,168,161,27,83,39,205,19,81,85,39,22,170,248,33,6,50,94,70,26,63,104,252,24,241,145,170,36,205,130,0,0,182,79,168,7,8,149,235,47,30,2,21,58,67,29,218,8,196,235,185,8,121,128,53,45,232,93,239,10,62,1,178,36,175,28,0,0,9,145,20,39,64,6,198,26,97,103,206,34,90,90,48,7,236,34,22,16,252,227,147,41,129,164,83,46,93,178,22,46,36,188,0,0,17,89,149,10,133,63,163,29,219,82,237,13,152,168,133,31,16,151,131,23,207,
166,191,39,88,210,80,22,194,107,90,63,91,112,0,0,228,0,210,63,79,26,223,46,216,114,46,36,138,212,206,31,41,250,81,0,213,7,246,24,126,10,153,63,220,194,4,41,74,225,0,0,218,192,196,30,50,17,237,45,81,51,234,35,28,158,21,35,232,46,22,31,96,182,6,39,35,57,243,53,142,189,116,46,104,143,0,0,130,255,31,16,229,253,242,8,223,191,16,21,165,63,139,58,187,93,33,62,218,10,67,54,225,109,152,35,129,110,203,39,42,102,0,0,250,9,56,18,183,227,138,35,225,75,149,29,212,44,23,33,253,8,31,5,201,143,205,36,186,40,242,9,
148,139,111,7,56,56,0,0,82,237,31,51,96,212,193,53,219,36,143,45,204,50,127,32,54,204,177,14,72,149,22,16,9,203,125,17,238,131,66,11,163,228,0,0,16,163,194,23,34,153,144,58,3,99,34,1,80,169,171,33,241,161,153,6,169,10,110,8,105,111,174,50,13,57,201,9,38,73,0,0,208,222,39,30,5,218,6,49,224,140,255,53,169,132,141,5,109,59,48,20,92,90,233,51,162,149,191,58,41,239,220,57,55,19,0,0,49,45,189,14,231,193,18,14,209,184,109,48,191,149,6,51,77,248,226,55,145,207,78,9,94,13,201,0,137,6,163,21,6,227,0,0,68,110,
84,18,14,2,173,36,102,130,115,35,175,16,32,47,255,182,13,61,253,65,172,60,136,8,38,52,36,222,248,27,172,14,0,0,176,54,49,54,120,14,195,20,156,221,65,43,106,54,254,58,116,51,214,59,143,216,57,44,113,194,239,12,10,137,3,4,158,59,0,0,138,188,219,44,189,5,251,20,25,248,49,45,206,40,138,43,162,38,91,7,61,174,207,20,241,29,183,43,69,75,5,38,251,250,0,0,63,93,72,47,28,193,35,24,233,238,123,16,32,218,129,50,23,247,222,30,215,3,42,27,183,146,154,44,74,92,82,43,10,187,0,0,117,249,162,60,64,73,78,30,254,191,
112,22,140,190,150,22,137,52,218,23,202,125,128,52,236,152,71,53,96,241,20,39,105,234,0,0,201,141,113,54,232,76,187,43,228,61,18,1,108,211,98,57,225,19,1,62,235,101,172,35,78,13,204,47,59,57,178,2,9,121,0,0,197,231,250,28,196,138,204,24,185,8,144,58,194,237,171,13,221,86,170,26,54,47,91,32,61,241,184,5,100,228,138,28,171,234,0,0,209,199,96,63,49,165,165,9,42,173,117,23,243,121,199,53,141,102,186,9,149,243,110,15,192,81,181,23,126,122,107,32,124,231,0,0,73,36,215,2,202,7,22,59,52,109,152,2,199,61,
28,5,99,67,21,40,250,200,236,48,95,28,50,1,190,59,30,5,207,58,0,0,17,30,35,19,65,245,27,26,230,227,129,54,64,25,58,18,31,9,54,12,102,228,127,38,255,101,93,56,171,93,192,62,243,228,0,0,188,115,235,47,93,225,176,8,152,28,29,21,178,211,249,49,108,40,183,2,168,67,155,6,102,193,241,52,59,180,206,24,99,30,0,0,214,91,240,43,57,193,103,14,101,148,169,18,200,128,91,61,162,236,13,7,173,127,212,11,131,144,254,4,185,111,144,12,12,144,0,0,139,53,13,48,239,180,74,57,93,177,239,4,15,214,20,38,214,57,36,11,92,17,
200,49,149,95,15,31,44,58,122,62,49,108,0,0,80,92,16,31,50,163,240,41,87,82,56,49,222,187,55,56,130,205,51,2,15,208,48,35,98,173,10,25,193,170,216,0,141,90,0,0,233,205,164,56,96,128,108,50,53,60,1,45,153,162,125,1,166,116,255,3,5,201,173,41,54,105,83,14,245,68,172,58,89,192,0,0,235,79,214,50,230,98,248,17,198,146,34,41,100,41,190,28,55,232,164,11,219,93,233,60,142,164,96,47,140,196,64,19,63,217,0,0,89,131,105,52,100,245,62,44,55,218,144,44,251,194,16,56,147,77,140,28,83,113,196,28,35,58,115,50,114,
81,87,21,37,121,0,0,132,188,159,3,53,19,136,8,103,1,122,5,88,164,24,28,126,91,198,42,152,241,138,19,177,65,132,50,219,184,113,26,7,47,0,0,236,27,32,28,120,11,228,62,115,93,221,4,147,218,230,41,204,73,33,14,100,30,192,55,165,223,221,59,92,147,220,60,52,180,0,0,234,88,167,6,50,171,223,20,77,156,241,39,36,198,32,6,145,57,110,1,85,104,37,26,88,153,48,32,103,21,224,25,126,254,0,0,73,182,122,27,87,182,200,19,30,13,18,3,209,193,5,32,59,31,37,9,97,90,56,2,140,152,203,29,160,232,89,26,170,56,0,0,250,254,255,
12,154,88,197,57,173,175,81,6,220,19,1,6,16,133,175,3,67,69,190,61,109,125,18,3,78,157,114,61,186,145,0,0,175,111,127,31,211,188,77,31,220,3,211,47,57,196,188,47,244,146,61,29,159,196,167,37,93,190,206,59,209,100,196,51,229,4,0,0,70,197,51,13,250,69,2,63,50,175,237,5,202,236,215,21,130,215,221,53,131,207,77,49,178,124,138,55,207,114,72,16,88,68,0,0,212,79,11,0,28,70,155,2],"i8",4,t.L+10240);
D([102,115,202,50,62,143,194,11,133,32,218,26,228,184,122,9,114,167,83,7,254,252,221,36,141,48,0,0,158,226,234,32,184,186,237,27,113,208,225,20,195,203,211,0,199,102,66,26,145,222,84,24,185,30,51,63,58,198,166,62,0,140,0,0,75,65,2,39,25,147,74,31,78,197,54,30,160,190,182,62,194,116,201,54,220,232,208,48,157,26,26,18,169,255,153,28,164,239,0,0,61,145,253,43,15,88,229,15,172,158,76,37,187,57,160,41,80,32,141,42,48,33,232,1,77,135,223,61,65,250,169,10,54,54,0,0,61,36,46,5,171,107,62,17,252,170,47,43,
53,196,46,12,216,130,42,26,195,13,145,24,65,83,253,10,46,219,25,30,242,72,0,0,150,40,19,45,230,175,174,50,103,201,198,59,173,238,120,44,252,13,32,25,183,88,182,22,41,47,224,33,202,124,219,37,135,68,0,0,72,82,104,47,74,108,0,35,164,167,106,39,152,86,3,45,6,51,26,22,209,29,164,38,252,30,254,26,69,52,24,22,189,39,0,0,12,103,162,63,218,91,5,2,110,62,39,6,232,10,62,0,116,36,3,53,12,170,114,42,182,136,55,56,242,162,176,14,77,74,0,0,77,118,193,22,247,127,46,2,216,238,155,50,47,83,22,12,73,157,43,48,123,
119,196,29,126,241,164,5,97,0,71,46,171,112,0,0,167,74,178,12,137,191,90,54,48,197,69,19,142,49,66,12,144,24,254,56,127,98,191,57,58,44,128,17,186,66,70,11,123,95,0,0,125,61,105,10,13,29,224,53,198,208,129,60,36,220,122,35,206,71,124,38,243,40,224,15,10,51,43,31,63,49,128,13,112,7,0,0,189,184,127,47,124,241,70,6,164,144,64,62,87,40,25,49,123,216,134,8,101,155,147,48,174,2,13,25,231,76,20,29,57,81,0,0,15,140,144,3,182,176,82,2,168,213,152,63,248,180,12,63,250,71,92,1,186,246,251,35,184,52,191,3,217,
145,15,5,215,252,0,0,115,202,54,46,87,36,221,10,222,62,191,59,218,52,25,50,234,135,72,1,252,74,68,10,164,138,251,61,254,138,181,5,131,207,0,0,52,85,194,46,80,134,36,45,245,16,215,8,54,102,133,37,28,104,202,28,67,34,20,17,56,62,215,25,215,122,99,45,254,9,0,0,125,249,82,55,90,223,36,50,19,102,71,51,215,241,190,11,90,22,166,15,163,25,74,39,83,222,73,59,18,147,166,55,16,134,0,0,242,26,27,31,80,115,95,1,8,62,84,5,213,103,211,42,87,158,249,51,148,108,102,51,55,201,187,48,216,10,232,37,25,211,0,0,65,62,
203,32,241,119,255,37,9,44,185,8,204,19,66,15,20,211,142,41,167,2,59,3,225,243,41,8,117,167,57,27,162,231,0,0,81,253,44,15,135,80,42,58,32,62,232,32,16,176,172,41,208,24,187,47,106,168,1,44,113,180,132,57,233,3,140,35,117,42,0,0,219,66,238,58,175,244,231,3,167,20,7,51,209,22,239,46,217,193,191,44,71,110,187,45,199,15,21,25,109,246,249,9,52,204,0,0,219,123,216,21,4,112,138,24,220,34,36,39,99,235,114,57,16,0,82,33,236,79,255,56,133,24,106,28,72,105,16,38,36,234,0,0,134,160,212,62,25,155,13,61,239,16,
196,41,99,5,215,53,177,244,92,11,239,23,22,15,200,222,69,4,102,179,110,1,143,148,0,0,75,202,43,30,62,0,134,10,26,45,250,3,199,41,202,8,28,65,57,17,128,153,66,17,47,56,163,34,214,254,39,42,76,134,0,0,33,44,84,55,178,169,47,3,92,193,100,42,163,52,125,6,174,67,109,29,20,21,241,27,101,144,172,25,164,164,88,6,132,37,0,0,191,250,43,39,101,140,175,47,179,215,42,12,185,97,232,56,243,213,19,53,49,147,106,23,30,128,68,50,54,199,199,22,179,252,0,0,248,203,30,12,208,135,17,15,164,124,237,46,166,55,124,34,100,
31,66,40,7,51,213,37,42,82,82,60,220,4,113,51,18,126,0,0,21,214,190,48,54,227,22,53,89,159,29,62,99,135,125,26,201,89,18,13,249,106,83,62,67,113,131,28,35,34,226,19,40,113,0,0,134,125,85,20,112,148,153,31,65,255,103,38,227,17,187,63,28,207,166,5,232,41,71,46,114,103,42,52,141,202,191,48,142,75,0,0,185,126,22,53,70,198,102,55,43,105,63,60,195,187,124,53,40,95,172,39,148,183,28,16,74,177,122,21,48,193,255,48,230,253,0,0,60,118,128,7,237,180,224,10,213,145,86,38,164,87,155,34,95,126,192,58,165,113,219,
16,50,37,164,35,229,204,65,48,213,252,0,0,203,81,232,56,128,208,57,21,75,58,70,22,156,139,108,6,177,140,227,50,125,205,54,8,183,99,196,34,84,185,248,42,221,24,0,0,134,246,142,29,193,248,142,51,107,230,114,34,0,61,146,35,246,83,110,38,224,107,151,34,35,82,190,60,16,150,59,11,15,144,0,0,207,168,33,33,159,37,233,28,80,109,21,9,15,253,55,27,89,16,209,9,77,108,84,49,97,173,37,4,24,123,85,48,42,115,0,0,239,128,107,30,207,122,202,51,243,36,148,23,159,229,242,50,113,197,189,60,142,8,3,21,35,141,236,34,217,
184,131,39,69,182,0,0,69,186,113,26,216,194,47,12,255,178,53,14,82,155,235,44,196,179,29,38,149,91,124,43,29,222,6,62,188,65,219,33,124,6,0,0,233,136,152,49,228,201,115,14,180,168,72,36,252,154,174,4,61,103,129,38,165,192,52,24,222,45,110,58,176,206,157,58,144,31,0,0,121,59,17,47,95,242,247,27,101,46,82,25,185,127,212,13,33,168,150,43,199,73,79,5,88,233,16,42,118,5,159,13,190,137,0,0,44,34,98,53,188,237,123,33,96,44,111,30,100,30,209,0,222,186,82,11,205,180,174,0,231,214,10,62,127,123,83,57,164,19,
0,0,69,1,32,40,50,154,197,50,8,76,144,28,235,93,113,62,212,82,154,32,117,224,11,43,44,59,129,46,5,150,83,31,214,201,0,0,187,70,59,52,3,55,249,13,84,82,146,44,254,152,78,59,18,189,93,5,97,23,240,1,212,209,173,10,207,200,175,7,153,97,0,0,72,168,32,12,7,100,61,18,239,216,236,18,41,167,28,42,28,241,173,59,155,197,225,60,82,41,73,30,255,60,194,56,197,1,0,0,59,221,26,18,119,143,111,57,247,216,39,23,209,19,165,38,139,17,38,22,52,108,115,14,144,116,56,61,225,45,169,43,39,234,0,0,221,231,140,54,118,164,120,
45,113,190,225,36,163,181,132,44,120,98,47,28,201,200,58,15,114,229,125,33,10,185,121,60,15,199,0,0,87,247,31,33,237,226,43,58,230,38,194,4,7,93,58,19,155,218,182,34,219,226,67,0,169,75,213,63,223,90,77,20,70,89,0,0,26,3,77,9,42,187,153,34,178,227,255,59,223,30,239,6,150,249,6,4,87,64,227,0,66,0,117,50,119,57,131,13,17,54,0,0,181,96,97,35,141,98,137,29,6,188,126,14,28,201,79,49,204,192,30,9,192,229,189,14,132,14,41,51,125,69,142,27,178,22,0,0,14,220,161,24,253,126,137,17,129,239,163,11,28,171,142,
13,225,212,84,54,24,73,13,25,99,187,248,46,192,152,150,21,15,6,0,0,184,45,179,55,36,74,147,37,243,145,119,36,125,210,181,7,201,133,234,44,16,242,80,40,190,49,249,25,21,113,165,20,75,2,0,0,96,247,100,42,170,62,21,37,149,26,184,5,72,4,218,42,98,232,91,30,49,135,160,56,182,199,9,51,255,214,227,59,159,96,0,0,232,67,105,9,109,61,104,59,93,90,60,39,159,241,199,27,29,35,6,15,70,168,210,8,147,7,132,59,2,10,50,32,138,214,0,0,32,49,19,43,153,16,50,37,162,149,82,4,222,227,158,3,91,139,226,48,222,69,126,44,196,
0,109,24,45,253,127,42,139,219,0,0,249,196,161,12,134,170,208,22,35,40,126,43,50,141,191,19,79,244,22,31,152,246,224,2,196,196,40,23,175,200,227,61,21,120,0,0,21,188,120,55,218,168,199,42,25,30,125,23,133,121,11,45,92,93,195,24,81,204,243,36,221,167,246,26,78,51,122,0,198,193,0,0,48,133,140,46,15,135,155,52,230,216,244,56,123,160,125,11,81,109,108,42,5,144,241,29,227,118,1,4,59,104,243,28,146,195,0,0,199,70,132,57,61,60,12,16,92,113,237,46,104,47,127,59,80,152,25,3,7,81,78,7,208,233,200,51,208,149,
144,47,65,140,0,0,193,38,122,35,236,2,201,7,83,106,191,13,48,150,27,27,22,37,59,16,7,199,144,8,117,2,27,1,97,253,17,29,49,218,0,0,111,77,247,44,179,219,96,20,95,82,129,58,117,177,13,26,211,183,216,25,9,159,5,33,35,157,198,24,215,31,238,37,59,117,0,0,73,220,57,55,164,162,216,10,61,96,85,47,153,182,228,36,35,26,35,63,47,66,177,18,6,193,230,48,171,192,178,57,75,106,0,0,207,213,237,50,119,174,168,57,211,164,164,20,44,211,138,31,171,88,128,58,131,141,155,5,220,151,117,16,162,138,234,35,93,241,0,0,172,
127,152,6,49,40,250,34,121,246,134,10,144,225,67,50,139,60,138,9,251,128,9,38,78,52,241,39,235,196,167,49,247,1,0,0,104,76,23,25,224,156,71,62,99,194,107,31,134,120,215,31,203,249,182,26,202,184,13,4,91,222,34,26,191,205,15,51,78,157,0,0,77,186,218,54,245,134,206,52,97,98,25,3,136,195,126,25,156,203,43,58,99,183,139,1,183,28,56,61,135,93,0,37,126,85,0,0,22,35,165,55,110,40,221,4,165,144,53,36,126,61,110,58,197,134,188,12,87,232,115,13,109,4,126,58,7,152,206,35,126,122,0,0,26,52,245,41,252,75,61,14,
128,107,99,41,25,203,232,49,156,65,1,49,158,58,80,39,178,147,90,8,102,134,160,54,218,58,0,0,204,198,134,37,77,2,86,20,203,251,232,5,109,185,180,53,233,23,16,43,218,252,214,56,82,245,105,19,102,162,136,7,234,191,0,0,93,61,141,2,63,96,86,2,164,206,73,52,92,174,171,4,150,176,48,58,65,194,9,48,45,37,4,8,151,125,95,59,74,50,0,0,132,124,171,22,190,146,200,25,57,132,50,35,31,195,78,8,25,79,31,44,107,13,3,3,19,255,242,33,45,221,149,13,138,100,0,0,211,62,213,47,96,93,36,23,239,204,86,26,231,62,221,15,22,73,
124,31,199,228,130,61,184,213,42,55,89,102,245,2,132,32,0,0,50,113,122,26,148,255,80,28,152,137,112,14,229,28,241,33,84,194,250,58,154,218,81,47,135,52,36,24,176,243,37,13,153,242,0,0,53,91,163,8,214,46,75,47,237,33,161,0,151,34,118,45,26,253,235,8,150,167,64,15,209,187,155,51,172,131,253,47,182,230,0,0,189,7,16,28,110,79,202,21,124,156,153,62,78,39,219,14,254,221,97,25,13,142,15,61,102,50,47,13,192,76,175,60,95,26,0,0,211,13,54,0,75,227,59,53,144,32,14,5,182,13,42,42,71,187,227,12,184,33,224,2,139,
40,155,9,249,22,221,5,83,224,0,0,123,248,36,60,68,54,187,10,43,220,3,1,166,247,97,46,97,20,160,54,214,10,86,2,216,156,243,18,118,105,220,14,28,220,0,0,234,223,152,16,139,153,81,48,151,135,103,42,75,242,44,55,250,87,94,58,160,74,151,35,1,158,197,6,226,157,206,14,21,168,0,0,47,137,109,46,125,167,38,41,88,65,175,45,208,61,120,45,177,3,62,5,94,113,110,35,61,197,15,6,116,24,89,14,71,42,0,0,165,207,206,11,146,222,249,41,32,176,107,49,134,182,88,3,42,59,218,14,142,113,165,17,235,173,221,10,251,195,236,48,
5,79,0,0,83,123,211,21,42,9,52,59,210,140,180,1,124,12,185,31,68,185,52,21,86,216,200,24,221,250,38,20,15,152,122,38,164,83,0,0,170,150,75,8,100,217,121,24,228,204,171,34,84,141,97,10,208,14,152,59,168,134,23,16,38,190,145,58,217,103,174,38,48,217,0,0,134,138,178,2,223,60,177,9,143,151,254,60,235,126,178,45,211,95,203,52,137,25,60,4,126,125,85,44,211,166,202,38,249,110,0,0,14,207,143,31,22,52,238,61,172,111,74,60,121,255,219,22,214,17,52,42,122,27,209,48,169,91,211,34,21,78,40,31,88,125,0,0,89,148,
188,24,39,104,112,0,165,128,55,50,180,2,228,24,196,208,106,61,179,45,0,13,114,18,198,4,12,226,0,23,41,167,0,0,150,76,5,61,207,77,47,58,136,168,28,13,234,14,5,49,238,220,229,62,151,111,127,7,213,246,97,30,115,70,82,48,249,77,0,0,93,13,209,10,27,176,174,11,25,144,132,40,112,179,65,53,181,212,133,29,232,8,211,37,80,128,114,24,75,66,20,59,53,0,0,0,29,0,239,29,105,151,200,19,239,39,186,9,166,245,110,62,33,75,182,35,39,112,244,2,14,242,202,34,159,108,203,40,73,165,0,0,131,71,98,48,159,198,118,53,173,5,
151,44,152,138,7,5,235,86,148,37,98,59,12,51,244,189,108,22,182,65,158,30,155,121,0,0,203,212,46,5,151,199,187,22,160,197,158,0,207,190,55,21,201,110,46,19,13,102,47,2,63,18,205,62,129,54,204,35,121,126,0,0,98,148,187,20,30,152,197,21,18,122,243,57,255,198,213,28,177,87,240,50,123,39,85,42,65,48,200,26,147,40,49,51,61,210,0,0,52,8,99,19,239,131,206,55,127,6,172,61,24,74,252,24,132,8,129,12,234,90,122,46,213,58,120,20,84,12,128,40,79,34,0,0,114,34,122,4,223,28,241,52,92,247,80,10,176,147,164,24,61,
245,9,29,228,232,195,45,196,195,165,45,207,174,140,19,229,187,0,0,215,25,60,24,69,39,217,25,187,87,207,2,107,145,215,46,187,242,142,34,144,51,151,40,41,65,158,35,2,24,51,40,212,194,0,0,141,146,7,5,11,46,202,11,119,201,69,51,197,160,18,32,38,13,38,1,253,125,237,32,65,77,41,6,32,112,62,40,173,101,0,0,154,12,148,60,82,43,32,19,8,51,66,47,78,56,207,51,19,33,220,13,209,137,23,22,229,144,49,31,193,176,159,10,194,46,0,0,77,122,30,5,102,63,101,52,172,189,53,26,246,96,20,16,18,235,127,28,10,212,147,56,194,
132,150,55,140,55,26,41,29,139,0,0,235,62,104,29,127,185,195,41,58,19,211,8,40,206,186,13,62,243,184,4,66,73,217,43,177,202,206,40,230,227,92,26,198,175,0,0,9,69,205,48,172,114,138,7,201,253,221,30,73,213,234,2,87,22,156,35,40,255,113,22,195,43,117,34,116,219,101,8,44,0,0,0,147,66,111,55,30,126,128,40,158,19,197,19,89,45,94,58,16,46,40,11,220,60,35,47,33,145,48,3,205,167,214,30,85,210,0,0,10,116,130,18,137,30,198,54,241,165,5,36,55,14,218,18,227,31,210,10,173,27,188,32,38,1,127,2,121,213,208,44,135,
167,0,0,205,152,31,44,34,103,242,47,140,48,240,23,83,65,34,13,82,33,96,6,115,112,42,54,174,15,135,52,145,18,106,6,57,156,0,0,157,89,252,20,15,120,249,57,107,142,76,6,219,189,201,20,144,65,230,32,201,47,17,60,132,117,213,29,147,210,195,19,184,221,0,0,179,77,182,15,78,53,230,30,65,56,213,29,142,50,121,59,167,214,184,19,249,254,224,46,11,116,203,28,111,138,228,8,20,193,0,0,190,89,2,60,127,58,195,8,30,125,86,20,19,36,96,29,168,209,139,23,250,147,55,59,92,42,252,6,210,22,183,61,55,18,0,0,70,30,8,3,208,
96,123,59,161,158,85,20,21,99,136,20,58,113,52,38,100,176,112,54,130,64,34,55,105,12,254,18,91,108,0,0,112,205,251,11,224,114,126,52,46,166,34,44,154,224,51,52,65,120,228,43,56,143,225,17,35,251,66,45,73,82,220,4,5,203,0,0,75,205,77,6,177,107,185,50,77,18,28,17,102,245,49,12,12,69,10,49,42,151,25,28,86,75,222,10,195,153,21,42,233,225,0,0,44,31,4,59,122,137,45,52,146,178,22,10,171,102,52,17,127,146,119,37,108,102,13,49,122,27,83,28,21,81,165,2,43,86,0,0,60,215,173,43,248,219,97,1,208,183,100,42,64,
118,115,54,143,32,20,28,187,144,211,41,120,151,9,27,68,235,149,6,178,81,0,0,209,216,54,43,135,43,245,61,166,75,115,12,202,195,4,8,108,250,28,44,116,192,31,40,84,93,62,61,7,0,4,12,121,0,0,0,75,243,9,59,220,66,215,53,230,108,198,12,130,249,28,34,229,97,157,51,207,91,138,45,26,134,121,11,199,142,233,60,1,151,0,0,147,87,223,0,51,20,114,51,74,121,204,61,95,14,47,1,113,55,131,22,197,212,198,0,215,21,237,48,43,227,238,18,212,61,0,0,70,47,30,63,142,136,57,23,1,131,119,50,161,199,61,28,82,87,60,22,3,129,75,
22,69,196,108,38,39,75,7,45,54,160,0,0,73,179,255,30,165,137,199,28,79,31,11,63,179,160,56,32,6,141,176,30,30,169,218,7,223,215,179,22,250,0,104,36,191,195,0,0,8,234,76,12,14,228,98,51,219,33,234,32,131,46,214,18,101,82,70,0,208,84,132,41,244,6,197,40,147,234,182,62,133,106,0,0,243,244,98,24,150,179,119,6,106,27,114,61,208,146,198,9,180,48,98,62,35,5,207,36,49,213,89,6,185,46,129,17,182,0,0,0,229,89,169,32,132,224,132,40,197,76,29,57,162,78,82,56,145,187,6,14,118,160,124,1,222,248,253,18,116,199,
194,5,87,96,0,0,168,162,133,35,76,250,102,34,94,198,36,46,15,175,84,20,70,98,242,29,220,107,139,38,221,122,128,36,154,154,44,60,26,154,0,0,43,3,28,23,138,133,54,53,128,201,253,58,133,162,217,26,255,197,102,7,127,127,109,4,221,3,38,0,184,53,63,42,235,113,0,0,159,53,104,22,56,106,173,30,94,117,180,52,93,180,198,36,113,127,187,12,213,91,20,24,246,222,57,29,216,146,152,4,255,210,0,0,28,166,3,42,20,29,185,1,77,87,112,16,26,61,26,30,80,208,157,42,234,10,209,5,202,50,210,9,201,108,193,48,94,133,0,0,7,252,
93,6,171,186,241,55,101,73,228,23,168,211,189,12,211,78,251,2,109,254,47,15,84,127,193,1,124,177,75,23,216,13,0,0,6,215,50,31,32,41,48,0,139,103,160,6,29,41,51,6,6,162,191,21,194,104,74,3,21,31,191,63,172,174,26,18,228,60,0,0,228,217,127,60,223,216,220,2,244,137,30,22,243,144,85,52,237,6,73,9,196,26,65,63,142,40,133,55,184,106,35,16,117,231,0,0,251,211,28,57,237,50,208,54,134,230,155,50,101,255,140,10,74,235,68,8,62,134,12,56,2,175,127,35,211,15,69,49,204,17,0,0,134,13,22,21,233,90,220,36,42,71,211,
13,75,191,199,2,250,57,194,12,78,18,137,35,82,235,29,49,10,164,202,26,165,74,0,0,82,117,143,33,101,68,238,33,195,250,84,0,230,226,68,16,189,221,130,35,224,211,221,37,59,244,198,9,69,249,197,46,80,2,0,0,77,177,16,53,136,37,33,60,227,241,214,51,12,207,27,0,218,23,216,41,127,221,247,53,66,35,8,40,239,38,63,12,25,115,0,0,18,93,114,31,78,250,68,23,80,71,95,11,247,174,144,17,217,191,47,2,40,56,231,40,180,58,253,39,209,44,34,39,116,26,0,0,228,86,172,35,52,69,217,4,112,170,13,25,98,26,130,28,96,143,61,47,
10,215,249,34,69,207,226,0,251,92,101,52,145,126,0,0,88,228,250,41,148,35,65,24,253,151,236,38,157,16,151,2,139,50,123,59,119,169,85,52,9,193,24,2,62,248,22,26,80,199,0,0,152,181,87,23,101,16,90,0,43,26,149,53,12,148,114,23,10,180,199,50,25,83,208,11,181,95,224,33,228,51,126,37,215,234,0,0,102,66,185,44,251,92,154,6,43,241,77,61,233,62,188,51,128,24,163,13,70,145,230,16,33,20,65,8,232,136,227,55,118,165,0,0,200,142,178,33,107,132,47,58,62,159,77,17,253,41,132,11,67,44,216,12,150,191,94,46,146,44,
11,36,217,57,200,47,166,64,0,0,193,214,158,13,99,173,43,26,107,61,89,61,240,22,157,19,194,14,221,30,193,29,6,63,11,232,83,15,221,114,219,12,40,3,0,0,238,254,250,56,155,175,27,59,173,148,180,28,201,55,253,22,38,140,124,13,136,14,101,53,70,140,242,25,191,4,14,38,168,113,0,0,58,152,53,50,52,106,106,6,41,235,188,19,192,13,132,34,227,49,21,62,195,181,73,14,198,77,197,17,228,162,171,19,79,206,0,0,207,222,60,13,100,172,245,51,174,64,247,43,163,72,25,27,82,67,117,48,121,146,128,55,234,179,187,15,228,240,
92,62,201,243,0,0,201,230,176,21,153,173,106,27,154,200,228,6,222,115,254,23,219,189,188,56,183,205,62,10,142,39,34,6,230,82,233,47,190,77,0,0,37,204,178,30,85,225,41,37,174,239,4,5,175,108,196,36,88,243,41,34,184,185,137,41,69,223,174,19,36,15,236,57,254,16,0,0,149,114,133,37,70,104,128,19,22,240,51,52,192,31,57,50,105,32,161,28,40,63,70,56,178,24,194,5,189,255,2,9,42,164,0,0,193,185,126,10,251,223,205,26,85,57,25,21,52,139,112,40,39,196,164,29,147,172,200,26,122,86,212,5,64,152,252,44,160,58,0,
0,152,192,205,47,85,253,131,8,50,128,70,46,218,3,184,2,85,193,153,4,3,27,126,60,167,103,34,50,190,229,203,10,225,52,0,0,226,116,116,42,121,107,44,19,102,63,136,25,60,76,212,55,4,219,114,57,5,33,47,19,151,45,50,29,237,117,183,48,74,166,0,0,146,59,23,15,122,173,91,51,17,118,251,41,5,189,156,31,59,104,101,13,61,134,104,12,190,41,31,57,110,54,144,52,244,16,0,0,194,70,49,35,181,1,8,36,124,219,106,8,69,167,221,46,144,186,8,57,140,150,150,44,17,210,58,53,69,66,101,11,14,133,0,0,88,73,216,40,102,71,191,57,
174,92,204,10,91,172,119,4,106,134,204,0,181,93,110,6,159,116,126,39,109,218,2,58,70,232,0,0,159,207,130,56,237,145,17,3,100,26,12,30,156,205,104,20,173,111,183,24,30,65,100,47,29,84,226,7,83,34,63,46,156,162,0,0,113,173,88,62,38,226,216,61,8,162,163,57,115,125,52,12,187,56,140,30,167,88,250,23,160,48,62,44,55,10,227,41,120,119,0,0,172,67,159,61,7,255,68,45,99,197,74,50,127,4,225,44,135,0,88,63,203,75,56,38,112,255,34,27,105,173,102,27,98,52,0,0,105,200,25,51,184,186,241,61,2,39,235,33,93,87,126,
42,24,220,172,12,191,8,228,32,1,141,252,51,5,102,23,1,24,48,0,0,240,86,184,18,39,219,49,48,191,167,217,35,146,50,161,10,202,59,46,34,53,200,144,24,134,111,123,59,64,9,94,49,95,172,0,0,181,41,237,37,190,97,154,49,180,209,173,18,28,216,194,32,245,133,200,35,105,110,159,45,58,52,239,23,185,135,109,32,40,50,0,0,210,90,209,60,185,73,60,61,78,96,231,14,229,170,235,32,202,225,49,21,208,119,198,2,17,235,68,3,232,5,161,0,119,22,0,0,0,97,201,6,30,16,234,47,99,142,156,46,169,70,192,24,161,204,219,51,183,108,
118,15,180,255,185,49,62,176,206,17,56,63,0,0,7,71,98,50,111,176,138,7,207,27,95,55,2,31,199,21,102,229,156,7,188,24,17,19,83,82,57,0,117,125,21,39,198,112,0,0,172,210,34,61,27,187,49,13,2,206,170,28,155,132,127,55,16,47,223,5,94,130,3,15,180,220,118,58,73,127,241,4,129,40,0,0,104,162,66,15,126,213,122,32,208,143,140,20,133,18,245,48,221,55,97,23,50,152,220,29,32,143,92,60,62,86,192,58,167,161,0,0,168,142,95,36,116,3,234,18,13,144,210,36,229,56,146,28,209,229,159,17,92,87,54,61,83,165,162,35,17,50,
128,40,99,249,0,0,235,153,188,25,193,126,21,47,36,8,182,24,103,141,60,46,139,32,39,52,127,192,136,28,59,10,60,56,31,163,9,37,133,156,0,0,21,163,6,38,196,32,106,56,217,58,150,38,188,28,152,28,64,126,9,14,100,169,44,54,152,127,154,13,220,63,147,8,217,165,0,0,209,104,59,30,214,76,88,13,157,124,26,17,31,77,67,19,237,233,13,24,94,175,26,12,67,179,165,13,200,14,192,34,50,135,0,0,147,20,35,6,80,237,109,51,105,212,196,12,195,160,70,16,150,164,230,37,3,116,144,19,235,4,54,60,220,134,11,38,254,241,0,0,193,
72,136,53,153,102,170,37,1,13,255,37,27,205,254,28,241,211,153,61,125,129,240,52,22,194,221,36,102,187,122,6,32,46,0,0,172,3,217,6,112,106,123,2,203,229,215,26,57,157,88,62,213,46,253,58,57,76,127,10,55,70,132,58,141,185,87,37,40,9,0,0,31,9,205,27,77,58,96,20,252,131,141,10,234,187,73,15,172,238,149,58,36,76,40,30,123,130,42,52,79,15,64,8,86,194,0,0,57,184,116,56,213,161,68,4,24,180,210,19,229,108,69,16,190,174,182,48,200,126,195,55,83,128,90,30,56,240,7,46,3,62,0,0,186,148,5,60,89,57,7,3,218,184,
181,26,63,124,113,57,125,102,143,25,92,29,152,61,68,44,244,7,252,247,88,56,58,209,0,0,19,165,87,3,154,227,253,40,243,35,48,27,209,68,111,20,241,197,34,41,168,14,138,62,98,205,146,4,189,232,45,48,98,230,0,0,126,208,23,32,114,128,168,36,145,216,56,21,137,53,215,0,216,25,164,33,132,34,136,43,93,48,82,36,132,57,79,6,11,171,0,0,66,210,55,31,191,223,87,38,4,75,193,57,129,41,251,39,194,125,88,35,47,31,139,33,67,184,108,15,83,114,44,32,191,64,0,0,136,80,64,38,230,9,118,52,131,85,211,43,144,174,135,12,116,
18,254,38,108,108,250,15,245,4,175,42,21,118,77,55,121,181,0,0,88,53,90,25,145,205,202,43,43,127,74,35,120,225,199,1,172,246,89,27,227,4,94,62,6,8,167,28,7,216,165,63,20,61,0,0,76,223,67,36,177,206,182,26,124,114,29,60,81,184,40,56,130,20,110,53,111,199,164,38,242,248,30,40,17,186,117,47,198,22,0,0,36,252,177,2,182,214,167,55,14,87,247,35,31,7,54,10,37,101,72,18,178,52,177,6,204,81,82,38,11,58,80,41,111,221,0,0,202,116,155,14,24,113,12,41,4,35,50,23,251,154,55,4,236,119,126,37,197,175,199,27,54,254,
134,49,116,172,223,10,230,103,0,0,2,142,208,61,100,69,170,7,136,2,223,26,255,237,81,33,16,128,30,61,168,102,82,26,248,128,215,21,121,11,106,11,250,19,0,0,16,52,176,60,112,7,85,41,125,185,66,26,198,238,43,17,230,199,50,52,174,129,88,13,19,35,167,29,85,17,44,14,99,19,0,0,26,228,78,20,230,234,140,48,106,154,214,55,78,183,213,38,135,130,130,6,203,217,66,48,247,67,164,48,241,116,20,18,108,208,0,0,111,94,41,11,166,19,126,60,82,226,46,22,24,13,225,30,155,145,48,54,211,83,179,2,187,219,10,13,97,1,83,63,21,
88,0,0,81,39,216,35,69,157,171,30,82,84,211,58,65,42,109,17,86,133,178,35,131,206,147,1,153,147,16,27,27,251,188,63,208,133,0,0,98,249,177,14,137,222,8,11,88,49,115,7,90,122,212,33,62,102,245,44,96,185,37,53,41,190,192,56,232,4,33,25,3,31,0,0,243,76,222,44,135,65,85,38,171,102,160,56,81,77,57,16,147,231,154,29,69,155,180,48,231,59,44,2,69,176,210,42,77,56,0,0,102,5,45,37,200,90,30,31,59,167,27,53,229,140,194,16,31,240,198,52,138,182,181,19,251,59,164,28,110,52,111,49,227,214,0,0,194,56,82,30,72,250,
188,34,185,184,236,0,14,215,87,13,64,72,237,2,58,45,132,5,27,164,90,1,245,173,3,59,240,20,0,0,34,121,240,18,30,141,26,58,214,57,73,48,0,54,0,23,210,127,116,2,225,248,28,63,33,9,216,53,32,117,79,53,18,171,0,0,77,233,67,21,191,75,141,61,136,225,152,47,213,169,192,4,221,218,13,26,41,158,209,48,65,236,135,2,11,222,238,60,66,235,0,0,137,77,146,5,145,119,86,1,36,212,214,32,121,163,17,54,76,119,251,13,191,92,117,3,154,220,146,29,201,211,65,27,74,35,0,0,237,170,25,62,213,150,147,12,112,50,103,6,163,55,235,
38,69,32,169,6,184,189,0,59,158,154,13,2,90,148,50,14,241,28,0,0,14,64,47,41,117,169,219,4,188,255,119,60,251,227,187,39,71,23,222,45,173,153,202,13,244,101,56,6,199,197,188,54,255,214,0,0,57,170,168,54,126,58,176,61,85,172,143,39,210,222,152,41,55,217,144,25,18,90,130,22,135,44,65,13,208,151,175,33,134,181,0,0,31,60,73,43,116,77,30,63,184,71,179,45,57,230,107,47,171,29,169,0,83,81,227,17,73,193,194,56,49,201,80,53,50,86,0,0,197,76,59,48,142,175,71,58,46,124,199,33,150,110,12,10,87,2,168,51,159,63,
241,22,123,182,194,60,226,26,108,39,193,95,0,0,40,124,181,37,225,126,206,14,74,236,135,0,243,64,189,29,146,244,94,58,104,62,78,8,238,102,124,12,38,59,48,33,142,236,0,0,181,140,179,12,245,21,46,45,139,148,136,19,211,247,223,2,225,27,234,62,244,3,41,42,235,157,40,30,187,80,195,45,143,184,0,0,215,243,101,25,89,157,254,30,25,199,248,58,137,132,207,19,77,226,168,53,44,101,238,18,3,6,40,35,186,81,171,13,199,214,0,0,126,8,38,5,9,18,80,61,8,3,162,45,32,98,219,62,253,93,184,24,94,16,216,38,28,124,233,44,251,
165,115,3,43,255,0,0,7,153,194,48,7,120,84,50,178,206,226,16,238,91,251,45,199,54,121,16,83,113,19,19,175,136,161,11,73,189,255,4,61,73,0,0,249,129,214,57,249,83,65,22,252,185,254,8,235,187,131,51,102,176,148,44,128,151,252,31,139,136,48,50,215,157,124,63,69,199,0,0,71,18,187,59,13,205,197,0,118,92,212,39,113,205,244,54,140,103,24,40,195,49,229,4,167,120,94,30,174,189,188,8,2,89,0,0,163,14,205,53,180,59,19,56,21,72,172,12,8,58,30,17,179,242,231,50,217,122,121,22,122,178,80,16,93,234,124,30,178,171,
0,0,206,123,48,60,205,196,36,28,100,59,47,32,103,65,218,37,124,212,142,7,12,48,248,18,251,217,112,57,197,239,14,4,238,93,0,0,62,238,201,27,252,188,184,48,197,130,115,62,88,106,232,39,234,17,237,39,9,157,170,43,127,130,130,6,127,214,66,5,129,63,0,0,6,174,154,25,49,108,171,51,3,22,168,13,63,183,236,8,118,98,86,57,17,207,250,6,103,212,130,58,111,63,154,34,200,25,0,0,7,160,228,56,235,251,198,5,182,88,179,11,194,179,59,59,21,236,199,22,169,206,232,18,89,105,222,2,2,116,203,4,248,92,0,0,131,184,104,16,
66,194,143,57,140,254,199,57,177,229,27,37,200,246,61,12,18,98,5,53,74,223,160,31,88,3,151,59,90,180,0,0,167,212,194,38,236,249,91,37,16,251,255,60,206,228,219,48,27,210,78,0,241,92,206,56,83,70,73,58,82,67,147,63,213,182,0,0,113,99,232,58,248,57,55,6,129,204,227,53,155,147,223,22,116,142,253,63,119,130,228,51,223,20,108,61,174,78,232,28,243,71,0,0,51,221,102,60,139,216,76,2,197,109,199,29,252,35,239,35,234,34,176,41,0,84,108,44,107,112,136,53,179,25,240,46,200,97,0,0,250,11,241,54,206,167,238,14,
202,200,32,40,176,186,65,20,106,251,211,5,230,82,102,26,70,52,112,15,149,231,136,39,89,147,0,0,248,47,107,29,51,223,22,32,169,143,108,40,92,176,205,24,135,241,189,3,251,220,212,39,124,24,133,39,9,93,233,10,227,148,0,0,62,175,225,44,84,21,82,55,58,225,191,38,148,16,188,14,179,140,158,45,152,33,146,7,47,25,78,32,246,208,34,17,27,13,0,0,65,226,86,56,179,120,57,32,135,210,109,13,35,133,123,60,87,43,33,27,192,152,203,10,237,169,14,8,122,44,249,46,127,130,0,0,236,147,194,46,46,218,22,24,109,22,3,41,97,
140,233,61,127,104,18,29,244,25,203,59,27,183,176,39,28,143,36,39,15,198,0,0,167,15,184,59,44,23,18,13,134,56,65,48,237,154,246,41,58,159,129,32,76,175,129,6,13,188,47,12,194,216,199,56,87,8,0,0,45,107,54,9,124,132,96,54,171,22,112,13,15,193,141,11,23,71,113,11,119,116,50,31,45,9,114,1,184,142,208,36,67,246,0,0,99,14,199,9,232,176,64,23,111,73,61,53,57,222,226,46,156,46,103,10,217,85,25,23,84,67,0,22,175,149,58,51,170,40,0,0,78,218,87,48,11,226,192,39,139,30,218,4,145,115,22,63,245,183,235,40,29,
159,89,34,122,86,225,32,6,190,139,12,105,43,0,0,181,116,230,51,189,20,119,0,198,170,96,48,57,167,61,54,146,79,138,43,243,38,203,54,93,20,102,26,21,104,137,45,243,162,0,0,65,121,147,14,56,50,78,2,59,165,63,3,95,140,190,8,146,75,124,42,204,67,42,17,0,232,138,6,83,88,86,40,14,98,0,0,86,176,30,25,199,88,128,29,108,56,253,44,227,246,187,0,160,245,21,53,143,26,215,34,217,49,146,37,171,122,242,32,79,60,0,0,171,236,92,32,246,36,150,16,119,184,246,28,32,81,173,32,25,128,120,50,14,207,149,53,58,163,182,40,
82,212,1,36,71,148,0,0,169,223,134,61,110,127,24,36,113,58,153,27,2,41,45,14,220,170,59,16,160,15,120,48,41,78,125,22,166,34,74,56,248,175,0,0,129,38,209,1,219,240,64,28,112,156,159,1,81,106,91,4,249,244,83,15,127,168,174,15,61,253,195,55,77,200,236,18,139,141,0,0,193,169,155,24,174,205,201,35,226,56,211,9,104,41,223,3,228,121,229,14,187,138,9,22,132,62,11,0,55,74,17,30,251,211,0,0,103,178,81,43,127,35,110,24,0,222,26,1,112,117,59,7,52,230,15,55,98,93,129,50,167,124,78,43,233,59,13,53,148,248,0,0,
9,185,43,15,116,176,165,54,153,217,152,53,20,159,64,36,99,127,125,24,228,32,166,28,244,143,168,26,178,130,3,12,201,78,0,0,113,64,207,36,254,224,40,34,123,130,195,26,131,160,133,11,213,186,73,12,97,20,113,3,200,197,77,48,134,175,65,40,43,120,0,0,179,226,32,33,232,99,237,60,167,154,127,52,159,115,63,22,122,33,229,38,51,141,43,57,123,174,219,27,212,135,124,18,166,234,0,0,61,217,90,58,22,76,233,17,157,229,247,19,124,89,174,41,1,90,170,57,97,226,3,42,105,172,3,59,238,86,123,30,50,190,0,0,13,7,46,63,232,
244,15,22,143,169,166,18,49,199,173,42,41,226,71,16,225,14,199,28,72,255,171,52,11,65,122,41,114,75,0,0,128,215,109,41,187,160,46,17,222,195,72,41,116,119,25,45,176,16,60,15,180,205,238,29,2,246,28,46,90,135,83,7,158,89,0,0,28,89,2,10,97,255,57,39,30,90,18,5,150,101,82,61,62,97,253,33,215,250,254,26,90,40,142,28,78,25,255,36,252,169,0,0,220,194,190,41,189,119,43,36,55,37,247,60,87,16,35,34,202,229,101,17,106,232,5,19,232,115,113,56,20,119,206,57,44,156,0,0,89,139,150,45,56,184,1,4,225,194,187,60,
132,235,162,40,9,119,2,27,130,4,235,53,167,166,240,57,155,6,95,0,64,201,0,0,251,114,229,13,2,217,245,59,143,156,12,57,144,45,11,33,226,44,116,53,150,254,134,34,59,1,98,56,38,3,148,8,217,57,0,0,50,51,107,50,213,204,28,10,106,222,229,62,28,52,226,0,49,224,248,11,220,151,78,30,198,78,2,16,187,95,231,46,132,31,0,0,46,213,232,20,140,162,16,21,37,58,220,54,80,139,51,47,194,240,237,57,214,253,9,31,84,194,236,41,242,202,65,27,114,238,0,0,142,169,239,13,43,149,106,51,149,121,194,26,4,26,17,18,114,199,233,
17,230,236,85,32,202,6,205,31,81,66,34,56,19,15,0,0,103,103,40,62,166,221,41,2,220,204,234,44,133,23,156,31,40,219,98,51,158,194,226,15,94,3,197,39,147,93,124,8,213,173,0,0,107,155,245,41,239,0,135,23,250,226,136,24,240,24,227,44,233,211,38,24,181,116,40,10,55,219,199,30,119,84,105,36,225,221,0,0,16,20,203,38,164,88,182,26,207,254,84,49,249,46,206,21,139,78,225,18,113,88,95,29,10,190,92,39,160,0,222,62,43,91,0,0,153,182,198,9,247,87,49,26,27,135,70,62,90,205,213,27,168,130,22,52,94,254,94,27,161,
165,247,54,96,187,75,0,171,95,0,0,170,195,198,1,75,133,204,5,155,81,131,40,250,95,196,42,144,123,47,22,195,68,208,46,158,78,20,61,240,40,156,62,155,45,0,0,79,210,52,26,183,140,141,56,1,116,19,26,50,60,182,45,65,229,46,52,179,183,125,7,57,217,105,49,115,241,80,11,164,228,0,0,20,148,186,30,199,196,253,41,19,79,142,13,234,183,187,33,232,76,211,10,238,51,103,50,111,82,115,28,180,197,185,36,159,77,0,0,104,12,234,59,188,66,16,50,181,146,179,55,217,72,192,16,9,175,111,57,52,58,242,38,148,36,58,42,85,56,
141,37,65,62,0,0,182,237,69,26,220,191,237,50,171,161,205,3,140,81,70,40,47,6,147,6,220,248,47,15,55,127,31,50,146,100,103,49,35,1,0,0,215,36,152,19,242,72,215,61,122,137,201,17,13,147,237,45,110,87,11,63,189,152,143,18,237,142,80,23,87,81,61,14,148,141,0,0,159,72,102,19,34,61,1,40,216,99,176,38,12,174,120,46,143,111,239,54,106,76,47,24,202,162,194,38,251,211,28,56,97,50,0,0,222,19,215,24,106,28,32,57,8,98,142,2,221,190,48,24,147,67,69,37,191,168,68,42,212,32,68,37,59,86,49,9,37,183,0,0,233,80,131,
27,150,148,255,27,183,252,165,4,249,155,180,32,4,21,148,22,167,11,70,11,4,81,228,3,138,162,230,44,81,76,0,0,180,44,59,62,79,10,27,51,2,4,33,55,252,214,124,18,48,158,20,33,4,142,219,49,173,25,37,17,91,136,214,23,228,61,0,0,47,176,126,48,176,206,120,24,207,68,112,40,150,57,138,15,130,6,145,60,165,146,42,2,14,197,221,42,23,16,102,33,42,186,0,0,191,229,228,44,189,217,209,8,23,91,0,9,168,161,242,25,155,174,6,9,210,141,243,15,30,124,232,27,86,162,113,60,17,133,0,0,8,156,120,1,19,165,36,63,98,82,54,5,111,
34,30,42,45,35,0,42,26,251,125,55,193,116,72,13,111,228,115,61,223,236,0,0,171,88,50,61,40,154,213,6,195,77,193,43,98,160,144,52,87,89,171,20,184,203,113,40,207,34,2,54,115,160,75,1,90,140,0,0,143,15,45,2,76,33,248,21,222,74,148,13,112,62,186,54,70,194,8,12,65,30,3,42,121,16,218,59,16,237,210,54,17,104,0,0,238,188,145,63,42,168,48,22,65,216,192,32,199,99,199,51,245,55,241,43,85,177,243,24,220,11,86,19,175,183,5,62,247,206,0,0,51,107,150,1,126,106,211,46,198,106,47,23,168,192,146,15,166,95,36,29,0,
231,204,14,70,18,112,8,221,216,32,19,231,103,0,0,25,191,0,3,117,238,92,28,148,164,254,8,170,93,77,45,146,107,43,53,172,182,62,24,65,149,221,11,131,205,251,3,200,30,0,0,253,206,7,1,115,112,115,28,182,7,90,41,216,223,185,17,1,94,191,43,158,98,37,41,243,210,64,19,173,213,77,58,239,174,0,0,249,161,254,18,241,46,95,44,148,43,69,0,35,212,194,63,196,49,101,16,156,173,118,63,188,131,46,31,116,149,2,34,220,166,0,0,233,69,195,59,145,83,112,44,99,126,143,38,223,118,226,30,5,80,188,44,90,132,14,26,56,48,124,
54,112,31,21,42,241,126,0,0,179,201,214,6,252,48,80,35,124,99,101,8,29,58,19,27,140,186,129,36,226,113,138,48,189,146,89,36,144,250,79,42,107,254,0,0,251,189,72,41,62,226,177,48,0,155,46,28,193,111,60,32,217,86,59,1,21,205,6,45,107,43,135,57,20,208,53,6,233,126,0,0,81,81,249,12,204,65,188,8,68,182,196,2,145,27,32,25,185,209,222,8,112,11,35,3,2,251,139,9,191,81,188,56,213,21,0,0,242,236,248,47,48,31,168,32,148,15,140,29,95,238,19,8,187,249,35,16,226,37,132,3,249,199,78,61,87,100,140,11,183,165,0,0,
88,86,106,41,228,66,224,53,67,86,246,30,144,148,44,5,56,190,41,46,158,36,128,31,140,173,71,4,162,149,28,58,192,132,0,0,209,128,27,24,111,202,89,54,34,253,241,52,7,166,134,41,211,94,114,19,25,100,140,31,8,74,44,2,88,48,224,32,89,38,0,0,15,106,220,20,34,215,110,29,83,87,225,47,80,100,208,16,116,194,119,0,139,158,147,9,101,213,49,55,164,198,113,44,214,254,0,0,224,199,111,23,182,92,227,50,156,64,252,35,194,100,53,29,19,35,174,19,147,107,96,36,71,168,240,63,63,172,249,42,226,141,0,0,85,147,226,24,196,
23,226,44,109,216,32,23,206,164,35,7,47,216,185,35,0,129,225,59,252,112,188,60,180,100,118,19,106,42,0,0,114,40,204,53,62,128,79,1,192,118,76,12,153,142,22,36,254,13,249,40,137,7,114,63,96,199,224,39,18,159,238,55,119,134,0,0,191,218,72,33,63,162,126,62,177,142,215,9,77,174,116,43,193,53,231,58,215,8,59,25,151,109,84,39,36,155,192,36,45,228,0,0,97,19,30,1,90,29,203,29,157,235,119,30,6,92,157,28,50,48,133,51,247,175,51,14,139,13,75,24,139,27,139,33,19,100,0,0,190,66,102,54,160,100,109,55,137,168,139,
21,95,28,36,13,206,139,250,13,160,209,43,0,27,249,194,48,25,1,227,29,106,20,0,0,208,239,131,61,32,93,202,2,29,237,229,55,75,199,165,42,10,135,178,20,231,159,96,26,214,173,40,0,213,12,59,56,24,179,0,0,67,84,49,39,224,28,78,54,153,114,134,46,82,245,110,30,61,161,66,33,130,96,38,50,66,255,53,9,152,1,1,27,105,252,0,0,96,137,210,23,45,88,67,18,23,27,189,9,132,33,253,31,72,181,119,22,90,55,135,3,191,43,137,53,14,254,250,9,206,224,0,0,235,180,253,22,112,189,236,6,157,167,230,34,113,94,247,40,143,146,176,
62,138,213,168,21,174,209,42,63,211,127,136,60,74,151,0,0,132,244,246,41,126,15,39,16,72,35,252,63,142,202,21,7,17,237,144,0,11,244,144,7,77,166,60,0,212,84,31,14,82,85,0,0,227,238,90,29,109,43,65,14,55,129,140,37,217,240,18,10,232,197,112,18,154,233,108,8,145,176,152,35,119,210,102,45,170,91,0,0,23,151,246,48,237,107,74,11,216,238,49,61,106,39,119,23,33,247,218,63,135,25,2,40,229,86,232,55,3,95,216,31,87,138,0,0,144,104,114,53,19,121,108,20,88,209,55,8,171,127,9,36,229,14,10,17,254,58,191,12,16,
208,67,28,210,250,233,23,104,251,0,0,58,120,53,56,206,163,186,1,38,155,231,16,186,196,178,41,79,9,186,36,97,182,133,50,105,232,226,37,99,178,200,55,80,215,0,0,138,164,188,40,78,252,146,17,245,98,223,3,58,125,53,45,120,29,247,7,10,71,238,9,171,160,149,41,120,150,253,35,229,93,0,0,205,65,253,18,3,58,229,33,149,170,248,32,19,103,111,57,63,132,60,45,148,240,136,41],"i8",4,t.L+20480);
D([9,83,181,25,13,96,207,14,90,104,0,0,182,99,239,37,19,13,142,55,235,130,177,49,156,5,52,45,90,200,193,15,237,104,255,45,241,250,139,33,181,122,115,9,24,111,0,0,243,85,198,5,61,27,33,11,65,69,249,39,0,153,86,34,60,85,52,51,224,53,129,16,143,185,17,25,100,117,159,31,9,255,0,0,59,63,166,52,183,31,65,45,39,151,143,23,102,192,14,8,131,101,199,54,121,125,69,28,88,107,55,42,216,125,37,46,236,197,0,0,36,80,0,5,26,221,252,20,91,238,11,35,151,123,217,58,139,236,51,18,254,99,1,41,78,55,31,8,94,6,70,9,37,34,
0,0,249,238,128,49,228,161,218,53,118,151,139,34,38,136,4,0,141,18,123,32,106,236,58,43,227,7,95,46,72,135,61,48,80,250,0,0,17,40,79,63,244,53,54,35,179,19,162,23,233,164,12,26,94,138,166,1,138,28,74,51,114,155,186,62,229,136,164,49,132,107,0,0,18,94,218,17,206,56,184,7,151,178,172,28,5,144,130,49,169,182,162,28,232,228,167,12,218,188,49,30,222,16,143,11,80,247,0,0,235,244,133,3,122,113,46,41,199,235,92,50,189,203,180,33,123,4,114,22,15,23,37,28,153,213,175,15,159,117,123,61,87,60,0,0,5,209,183,16,
196,76,210,1,242,201,87,14,229,18,151,50,244,179,85,52,56,137,217,19,58,42,134,37,235,96,62,30,254,18,0,0,96,74,121,31,238,27,43,22,132,11,233,46,117,153,56,59,29,119,203,39,102,134,106,45,134,119,207,43,53,206,104,60,98,32,0,0,5,93,12,30,206,96,135,24,255,218,114,37,42,20,155,3,72,26,75,8,160,64,236,18,140,213,115,52,247,209,196,48,170,118,0,0,62,230,236,17,221,102,152,21,53,238,230,21,192,115,137,4,75,95,98,2,200,32,203,60,190,250,14,7,87,195,187,29,85,239,0,0,134,192,83,60,23,210,155,56,201,174,
161,9,39,13,87,45,198,4,129,40,23,197,48,24,126,200,204,5,151,239,150,63,99,166,0,0,1,98,1,37,202,64,113,26,14,252,148,57,92,41,179,7,153,195,61,2,38,178,64,44,209,245,251,17,200,218,95,38,65,181,0,0,116,133,117,11,181,7,96,43,233,198,249,52,80,162,153,12,216,243,189,34,235,9,132,50,183,37,216,44,129,128,158,20,149,222,0,0,42,35,103,59,243,199,247,45,180,222,162,21,69,65,168,57,186,215,158,22,252,17,114,7,226,228,20,61,36,171,21,56,211,76,0,0,79,71,133,61,175,226,230,29,141,102,52,22,226,138,18,19,
137,234,90,56,17,249,50,55,254,219,173,50,180,25,56,47,166,141,0,0,247,78,123,61,244,113,126,63,165,215,189,29,193,100,49,7,11,241,255,29,28,116,125,55,79,248,79,45,199,188,26,27,252,19,0,0,234,66,208,61,89,9,117,45,6,253,234,24,145,169,137,62,235,190,147,60,140,39,153,53,27,155,163,59,236,243,49,43,41,115,0,0,161,148,92,47,176,63,163,54,10,79,171,31,199,220,37,18,24,238,104,43,62,229,57,33,146,72,241,54,109,80,77,18,114,146,0,0,194,126,6,31,173,76,79,57,32,82,186,27,117,173,34,10,26,66,232,8,246,
173,253,22,26,27,161,33,156,50,116,24,29,218,0,0,241,54,216,26,60,232,126,21,166,72,155,39,116,38,206,41,102,41,30,9,135,133,217,1,156,199,6,19,38,159,86,61,87,129,0,0,219,168,149,58,203,220,97,23,97,111,211,57,17,49,176,15,184,35,23,27,100,26,153,37,158,65,208,61,192,24,105,3,233,227,0,0,249,28,13,27,252,61,91,0,209,211,132,9,243,229,123,44,251,106,231,2,28,67,170,62,0,187,120,1,91,1,240,14,229,251,0,0,20,226,46,17,144,245,171,30,1,84,49,25,229,165,147,10,120,28,192,0,87,127,67,25,139,90,119,61,
184,204,177,63,79,159,0,0,122,243,133,16,137,8,209,59,131,2,136,60,194,164,109,6,151,157,198,53,245,11,154,37,14,230,242,34,99,76,184,56,156,99,0,0,165,160,97,31,20,5,218,34,239,227,20,60,108,248,148,4,75,44,11,4,125,144,130,6,23,27,172,52,68,80,139,24,31,67,0,0,153,248,206,56,249,223,222,26,36,119,101,21,13,129,170,46,65,114,170,35,92,70,153,55,214,246,56,36,234,249,159,12,152,162,0,0,3,133,116,39,85,159,9,43,124,142,50,49,220,145,131,27,14,172,18,10,126,206,187,24,203,134,251,56,57,123,183,46,61,
153,0,0,226,206,176,62,77,216,156,46,73,170,173,56,166,253,30,62,23,26,245,33,30,30,225,61,133,183,238,30,90,161,123,42,33,165,0,0,128,61,210,38,214,137,168,55,120,212,116,36,201,71,244,2,225,192,98,9,228,114,12,37,51,90,234,21,171,129,174,30,241,117,0,0,126,213,13,40,192,22,170,33,9,89,234,52,110,251,254,11,55,146,98,27,198,47,244,49,127,12,168,57,88,133,191,24,122,160,0,0,19,52,173,33,181,109,174,56,74,104,125,50,0,1,112,46,141,122,123,56,114,33,125,37,110,10,74,31,118,132,87,21,120,102,0,0,114,
166,188,62,129,64,32,9,1,102,198,45,78,69,139,51,166,158,223,11,159,100,155,9,37,105,100,15,158,120,143,54,13,81,0,0,99,133,204,6,108,189,2,48,170,30,16,62,255,214,55,9,146,136,54,22,6,246,10,50,218,138,116,39,54,139,141,18,220,235,0,0,250,204,148,35,58,239,197,38,36,249,4,18,146,228,1,49,190,7,79,29,179,121,141,59,177,249,53,45,21,58,81,12,154,101,0,0,19,78,6,13,132,193,206,41,98,224,241,6,17,120,71,12,21,102,65,61,163,99,254,23,33,7,105,48,37,195,191,32,226,168,0,0,12,204,244,17,196,28,223,59,108,
189,214,13,148,143,230,25,139,136,21,37,108,241,252,45,191,154,192,1,110,227,86,13,151,127,0,0,181,121,57,58,194,102,134,10,226,41,232,39,121,227,35,10,186,80,14,36,123,44,252,13,127,50,38,30,107,115,241,1,34,174,0,0,111,250,80,4,154,53,207,35,150,136,79,61,77,223,30,42,252,96,112,45,142,20,73,50,212,26,247,57,1,67,148,63,145,234,0,0,36,168,252,14,64,100,64,16,174,79,22,34,250,19,131,47,224,97,84,24,25,64,80,49,206,89,206,42,92,43,67,59,141,203,0,0,97,115,34,15,22,244,2,5,47,116,49,57,241,247,71,
43,150,196,203,44,232,33,177,5,179,133,140,24,3,221,35,0,165,51,0,0,39,211,203,59,104,211,70,16,233,174,74,30,136,20,130,19,176,214,110,39,95,3,36,37,142,112,54,24,188,98,202,14,197,176,0,0,54,228,123,45,40,241,90,24,241,160,54,6,29,131,136,10,216,175,178,38,109,128,169,61,56,22,234,23,239,7,208,37,42,238,0,0,161,54,184,23,142,237,187,57,125,239,121,54,253,23,144,1,200,38,245,55,57,187,24,34,77,13,146,27,167,204,207,41,107,111,0,0,132,43,131,6,236,203,247,54,52,249,31,14,162,20,67,38,216,192,233,
62,22,144,226,2,219,227,24,60,215,255,133,34,119,220,0,0,222,158,179,30,130,208,184,43,66,45,97,48,181,12,32,2,49,96,67,2,132,159,209,63,188,75,175,34,208,113,159,6,71,125,0,0,126,96,246,43,82,54,111,50,208,143,42,2,71,223,115,37,119,250,134,60,191,199,136,32,123,80,86,40,233,124,198,30,74,0,0,0,193,177,94,22,137,39,181,21,170,197,229,26,243,89,93,51,127,150,240,2,102,12,243,3,7,199,250,51,109,254,88,20,2,240,0,0,224,42,222,45,17,92,159,54,87,30,209,44,53,215,191,29,133,237,175,38,104,151,210,26,
198,244,13,18,15,34,122,42,78,5,0,0,100,44,195,26,79,66,205,51,132,191,228,10,251,128,191,13,14,94,113,7,61,84,58,1,247,160,58,18,123,0,0,5,18,172,0,0,103,168,177,30,235,182,74,32,152,8,63,37,150,78,151,22,237,163,153,4,204,85,218,2,135,241,186,56,12,235,50,47,142,206,0,0,124,73,25,3,122,11,206,11,2,140,80,18,148,126,108,22,93,177,202,19,164,185,149,39,211,114,88,40,104,114,238,20,74,23,0,0,115,250,154,7,176,78,104,15,56,84,152,11,99,135,206,26,100,230,249,7,177,124,85,16,123,101,193,9,255,234,13,
55,201,204,0,0,103,131,75,53,245,28,32,37,254,107,80,61,89,223,109,29,183,93,106,3,97,81,151,42,12,228,38,37,17,185,82,2,90,94,0,0,202,133,206,17,118,106,202,20,68,250,95,30,207,123,170,26,121,122,75,42,92,197,7,36,44,92,224,21,30,105,50,62,138,174,0,0,157,13,177,23,78,94,97,6,175,252,248,17,39,198,75,41,230,45,184,12,196,12,46,51,222,89,232,2,92,110,43,56,212,0,0,0,237,220,64,49,33,1,132,32,62,146,45,14,94,50,38,22,11,247,135,34,12,25,225,11,125,148,64,54,13,6,102,0,184,135,0,0,232,174,156,28,130,
105,4,2,178,11,39,26,108,17,136,11,99,103,166,4,187,107,134,30,111,15,76,55,59,218,132,20,102,3,0,0,17,183,114,55,142,26,123,42,240,167,91,41,76,98,234,50,1,69,148,38,110,160,241,39,148,153,237,61,164,202,202,48,24,31,0,0,92,200,70,20,70,93,254,15,53,6,28,32,57,130,247,13,222,234,198,54,79,17,219,25,160,250,241,56,246,91,65,36,88,14,0,0,46,151,72,33,156,223,177,61,213,173,221,12,160,211,8,36,244,152,24,8,189,46,6,29,236,160,189,39,126,196,23,18,154,227,0,0,89,18,46,2,207,183,98,60,175,98,19,40,1,
105,206,5,147,113,119,7,128,234,215,51,182,242,99,20,188,73,155,4,64,167,0,0,67,95,74,51,144,92,220,61,213,218,214,49,78,157,151,33,23,229,126,60,153,210,197,23,176,241,31,15,101,188,238,63,169,5,0,0,254,241,8,11,143,94,40,34,253,123,8,58,194,185,159,51,215,119,209,2,118,217,21,16,101,74,78,7,101,91,8,46,228,135,0,0,236,226,213,46,38,43,221,23,215,217,134,39,245,246,200,11,110,204,194,56,139,58,254,53,215,236,140,52,152,29,176,14,78,247,0,0,92,209,196,33,154,3,28,42,185,116,14,60,193,239,169,23,16,
68,74,37,4,3,139,48,146,90,154,39,250,143,209,6,234,53,0,0,234,225,63,63,189,110,78,50,237,149,80,6,12,168,206,24,93,24,59,13,93,127,233,35,136,215,44,45,231,70,89,36,33,173,0,0,186,183,117,20,194,127,63,33,216,179,24,9,57,204,121,14,224,219,140,1,212,183,95,57,211,195,133,55,80,6,166,37,147,149,0,0,253,242,36,53,225,175,226,38,94,56,9,7,50,217,79,25,156,132,214,28,46,169,225,0,186,216,29,51,48,34,74,21,126,46,0,0,133,153,214,15,100,119,113,2,234,42,247,29,219,50,39,12,159,20,207,12,239,55,164,61,
136,231,247,50,173,115,157,29,233,10,0,0,3,160,9,20,4,173,35,39,248,175,225,46,94,80,103,46,208,197,84,26,20,184,127,35,155,78,209,8,185,253,92,38,33,145,0,0,144,43,38,25,127,79,6,55,169,41,204,35,127,48,241,8,183,31,93,2,224,93,124,25,155,236,18,22,176,150,138,33,21,43,0,0,87,117,61,8,153,91,102,36,73,154,72,25,62,92,210,20,111,6,73,7,106,75,53,12,122,170,63,35,130,106,79,1,176,46,0,0,64,190,231,40,50,197,229,15,89,238,64,16,36,37,178,52,242,154,118,36,91,88,112,37,238,119,230,46,165,70,187,58,249,
106,0,0,28,126,56,46,9,184,5,41,159,86,89,15,168,153,253,56,69,129,220,7,13,10,169,39,112,150,100,6,64,90,132,10,129,179,0,0,30,128,130,52,131,190,173,9,93,21,212,27,241,226,83,30,64,249,214,56,50,9,173,42,179,238,68,1,17,129,59,26,102,89,0,0,55,12,135,4,60,82,220,17,173,53,53,61,216,114,176,45,141,78,48,49,29,130,229,35,236,241,245,46,238,22,42,40,154,148,0,0,253,25,44,3,159,203,38,19,62,140,2,24,65,58,174,50,74,91,11,23,173,94,52,61,253,98,7,5,212,6,98,52,132,190,0,0,31,40,241,50,77,41,165,29,118,
195,13,37,87,253,105,21,121,148,57,8,12,210,151,57,209,68,9,5,183,204,50,24,249,239,0,0,130,148,198,22,245,215,109,52,123,22,250,50,4,80,173,58,203,136,188,50,43,211,201,21,31,84,238,23,3,83,12,40,103,152,0,0,215,44,121,47,81,132,193,27,145,138,98,21,212,115,145,24,158,99,153,58,198,86,181,36,199,249,52,8,196,142,86,24,46,208,0,0,161,122,85,29,100,231,136,34,151,194,31,16,179,191,100,7,223,171,214,25,2,168,203,31,146,165,21,8,54,80,145,60,102,168,0,0,52,6,67,1,211,238,6,38,183,164,17,6,159,113,218,
58,97,57,225,48,118,233,99,15,121,77,180,34,0,170,125,14,135,181,0,0,81,177,130,29,50,208,68,45,219,162,251,33,85,15,41,40,204,143,154,16,236,84,132,22,100,109,229,1,144,43,148,14,166,210,0,0,5,148,248,28,211,133,80,16,45,165,76,8,189,66,221,3,167,32,130,20,202,98,185,43,101,117,203,63,16,217,190,33,45,232,0,0,160,59,75,46,215,216,103,33,23,31,191,24,124,189,175,10,92,95,36,63,198,60,92,56,239,59,183,63,135,72,65,4,8,65,0,0,149,85,82,23,112,135,165,33,84,69,6,26,89,97,146,13,19,152,132,43,117,184,
150,41,44,143,102,53,191,93,218,60,55,220,0,0,237,141,217,19,226,38,167,24,132,33,160,56,206,160,200,55,219,94,214,49,20,100,138,60,140,140,12,12,91,40,132,40,162,99,0,0,194,207,209,32,83,95,70,6,165,115,120,28,2,168,253,42,31,70,148,45,83,201,12,20,6,253,118,44,255,185,184,16,43,136,0,0,69,84,4,56,66,105,24,42,238,215,232,1,100,220,220,63,128,240,190,23,117,185,184,4,223,163,124,22,39,81,87,32,21,12,0,0,6,162,84,0,85,31,62,5,50,234,140,37,13,57,21,12,186,40,205,35,153,237,240,36,10,93,17,20,186,
142,130,53,48,47,0,0,175,127,133,3,115,142,68,58,1,151,97,41,135,183,242,11,136,127,239,40,32,61,234,30,213,192,169,40,107,226,218,58,87,199,0,0,164,76,88,32,50,108,103,7,16,76,137,1,68,67,76,31,98,27,198,62,34,200,167,13,87,98,243,63,72,243,115,22,58,240,0,0,93,34,89,20,61,97,52,57,16,141,133,24,139,223,189,62,68,162,2,28,70,38,80,23,129,15,13,58,107,171,235,24,128,250,0,0,7,21,206,62,237,248,173,40,195,89,124,0,180,13,219,10,10,92,66,12,9,130,136,55,96,145,6,12,240,21,228,7,167,11,0,0,68,208,240,
22,80,250,231,25,121,26,230,9,36,245,167,46,170,165,224,46,24,62,167,61,226,137,122,37,64,103,241,40,140,101,0,0,45,135,203,55,187,204,71,55,154,232,140,1,241,216,89,40,85,118,211,59,196,137,117,25,241,96,84,34,186,222,77,48,92,174,0,0,109,117,150,54,92,37,107,45,122,65,97,37,21,88,188,26,103,92,48,63,116,13,102,48,228,172,43,31,228,171,210,18,201,49,0,0,120,174,8,30,55,122,17,47,10,7,209,42,185,242,183,43,131,6,22,52,171,102,45,46,244,155,58,40,91,213,18,34,15,248,0,0,115,224,23,22,209,230,219,16,
179,23,147,3,78,111,47,43,107,134,220,15,95,91,226,57,14,137,235,49,81,205,136,31,88,100,0,0,137,101,175,31,122,121,166,32,53,171,174,51,68,142,66,46,133,161,153,2,31,145,117,27,233,42,46,16,218,111,117,51,159,217,0,0,214,61,16,14,200,81,220,55,154,133,4,0,31,48,129,17,195,122,161,18,22,63,79,8,106,131,63,32,144,86,245,30,71,188,0,0,67,195,247,22,99,11,66,14,198,74,180,35,177,92,77,10,93,57,166,30,27,75,21,43,203,38,213,13,106,10,137,7,30,227,0,0,49,171,78,20,195,14,55,52,7,73,99,14,1,197,107,49,
10,232,248,59,153,140,208,14,48,128,131,59,154,150,63,45,157,88,0,0,106,31,54,17,157,175,107,16,185,141,143,20,72,149,67,24,31,243,144,61,146,128,24,28,96,79,42,42,34,4,23,17,85,98,0,0,65,44,12,26,202,133,229,47,103,108,51,32,21,7,199,32,66,124,219,46,181,130,97,40,168,46,250,34,91,244,205,44,57,19,0,0,43,188,241,41,46,21,124,33,65,58,146,30,31,254,137,4,107,64,163,19,68,63,144,12,122,186,229,58,177,216,88,10,155,159,0,0,175,71,252,24,225,199,18,28,195,222,12,44,12,178,127,55,168,104,181,1,64,109,
202,0,197,124,241,60,216,68,232,46,243,127,0,0,167,67,186,57,51,89,24,62,151,194,186,24,180,198,78,41,23,107,68,51,209,109,36,50,11,154,98,10,6,160,235,41,107,31,0,0,117,55,33,21,2,88,19,6,144,169,66,61,200,78,10,45,0,97,127,44,127,229,164,7,20,182,11,54,58,143,17,28,198,142,0,0,255,255,65,56,249,60,4,56,144,30,245,12,47,40,166,54,113,14,238,45,115,5,13,25,110,48,190,37,54,232,155,41,88,143,0,0,187,171,82,52,52,254,207,50,227,194,149,43,248,203,169,26,174,149,212,21,182,255,176,46,157,184,27,48,121,
16,109,24,222,131,0,0,110,182,78,5,172,93,20,40,24,41,228,60,174,205,23,39,215,99,21,14,49,190,218,62,107,250,9,6,211,40,205,56,240,50,0,0,241,118,146,53,155,48,162,37,94,177,23,42,164,108,137,43,51,104,216,60,61,0,215,46,168,177,29,12,212,99,226,24,118,61,0,0,179,188,156,5,110,153,146,7,96,120,25,27,6,8,102,8,243,62,51,24,107,211,184,29,9,182,221,7,134,222,92,26,118,211,0,0,88,228,69,29,27,178,53,22,211,127,14,37,168,179,169,2,47,4,222,9,149,79,27,21,58,91,136,13,57,57,120,47,129,132,0,0,126,5,121,
23,214,198,146,53,86,229,98,50,10,113,158,2,144,202,178,44,115,206,111,9,74,216,77,0,149,46,227,30,238,56,0,0,125,161,45,21,144,62,40,24,177,70,6,13,194,246,4,55,17,200,11,32,127,193,154,19,137,240,197,24,212,131,71,59,234,59,0,0,210,104,199,44,23,38,193,57,108,65,236,31,227,222,121,51,84,181,225,0,250,250,162,18,239,223,172,55,191,86,253,53,176,195,0,0,197,220,78,58,246,133,62,13,114,27,49,32,80,136,140,19,231,151,89,39,228,0,127,11,117,24,214,9,247,50,232,54,115,110,0,0,228,160,157,21,55,223,199,
44,55,144,103,0,156,246,157,34,39,147,134,2,34,34,84,17,234,139,196,44,123,18,127,48,10,238,0,0,121,185,128,10,9,49,113,2,20,179,171,41,140,126,61,36,4,16,195,7,169,250,101,31,98,39,89,27,249,77,98,55,6,119,0,0,222,207,38,1,65,32,61,19,33,227,239,23,63,141,130,62,23,113,156,42,71,230,117,35,119,71,113,59,86,159,96,42,2,138,0,0,133,226,111,50,45,113,110,51,125,18,239,19,80,10,235,22,164,106,224,57,7,233,241,60,210,128,15,60,166,100,177,8,212,22,0,0,65,180,85,1,155,255,131,15,35,212,100,51,77,4,195,
15,233,177,49,53,152,166,249,45,138,26,100,34,120,148,62,34,248,13,0,0,19,165,207,58,42,47,196,56,234,58,14,38,230,231,1,9,78,156,106,53,67,29,209,40,165,58,214,54,177,251,145,3,204,31,0,0,156,252,122,16,144,110,29,20,135,145,131,9,89,116,123,59,75,180,249,57,12,213,225,56,72,139,71,53,120,16,104,48,93,22,0,0,178,105,220,62,243,193,137,6,114,113,183,38,108,34,152,2,165,134,163,10,215,16,12,25,48,23,138,11,91,235,28,36,43,193,0,0,221,65,221,32,192,166,171,12,0,42,123,18,143,111,135,59,184,118,73,9,
126,34,183,28,151,29,223,12,77,249,15,49,115,49,0,0,77,254,97,57,119,97,189,45,122,25,7,49,226,27,34,5,138,62,167,44,196,196,164,15,63,250,168,39,12,119,225,47,89,208,0,0,194,35,232,42,25,108,77,38,203,100,171,13,125,232,34,14,253,180,85,9,33,119,217,1,254,227,37,53,34,48,152,30,16,69,0,0,107,102,175,44,253,192,88,51,11,227,28,11,241,180,63,63,127,99,244,23,160,107,94,26,43,166,42,16,224,233,149,18,70,19,0,0,39,204,110,63,65,106,37,61,19,46,148,16,7,42,192,60,72,202,176,12,79,209,12,57,247,14,88,
20,24,1,100,5,190,105,0,0,81,95,202,14,38,200,90,8,191,174,201,15,229,198,133,58,221,207,181,5,252,202,90,59,198,98,105,46,103,55,69,53,233,221,0,0,247,56,198,16,207,105,90,43,249,113,149,40,55,250,186,63,80,9,143,63,41,44,205,7,137,29,17,40,56,207,68,26,78,184,0,0,228,136,156,25,22,172,65,62,194,110,212,10,136,79,84,59,154,23,75,32,196,186,1,61,233,54,55,25,218,8,132,24,26,253,0,0,223,200,91,25,89,36,35,39,41,15,192,28,37,117,220,26,220,130,119,23,82,165,1,15,177,191,32,12,114,46,213,30,201,26,0,
0,206,24,128,31,109,109,69,53,139,214,146,24,227,92,105,11,207,199,109,8,203,147,243,63,19,159,107,41,48,118,76,33,228,78,0,0,31,56,72,30,108,152,214,48,19,96,128,14,109,92,210,1,113,230,197,7,67,35,16,45,199,95,139,63,66,32,181,39,143,182,0,0,120,54,71,49,71,186,20,10,112,47,57,20,66,229,21,40,203,112,192,56,86,49,197,56,245,191,13,0,49,13,39,51,118,253,0,0,79,79,20,13,170,59,89,56,55,132,28,0,133,187,163,24,96,214,44,3,244,156,130,59,15,174,61,20,28,222,80,25,4,242,0,0,147,33,122,13,82,220,2,60,
237,70,117,25,60,145,71,26,44,33,234,52,210,9,58,27,158,33,64,59,72,204,232,42,162,133,0,0,58,207,205,48,82,15,50,60,39,36,177,3,231,183,182,49,225,159,2,12,71,11,130,49,130,109,81,48,202,250,21,38,18,156,0,0,176,104,117,55,108,193,192,22,83,176,3,30,6,116,163,43,53,15,101,3,94,177,181,45,64,68,231,63,243,28,255,54,93,210,0,0,156,146,57,31,155,228,132,2,6,240,195,35,7,226,156,8,131,43,217,39,55,211,189,43,190,56,137,4,254,100,221,63,58,122,0,0,19,124,29,39,98,68,249,23,133,163,255,32,254,125,173,
6,100,5,200,42,94,106,250,1,95,37,167,20,250,80,76,13,129,69,0,0,207,99,255,58,84,241,226,24,153,107,217,43,80,149,1,8,112,201,105,29,223,197,67,61,87,139,173,57,37,5,59,22,88,159,0,0,102,243,131,45,52,232,104,43,140,88,40,47,120,59,115,54,12,122,201,29,48,47,12,61,174,233,226,63,196,109,125,39,74,188,0,0,193,51,31,24,153,89,99,29,109,177,71,37,254,126,42,58,166,202,152,55,210,183,222,36,131,99,192,5,158,155,114,32,58,13,0,0,60,190,18,55,203,184,168,1,107,166,70,33,182,99,124,37,114,52,21,0,172,110,
151,28,60,141,55,27,204,100,39,13,215,57,0,0,92,246,111,28,208,103,192,48,76,100,65,10,123,233,189,23,239,232,18,40,25,83,213,9,177,127,191,51,187,213,211,38,146,143,0,0,43,242,119,31,243,62,185,42,53,224,130,15,101,142,92,38,198,38,175,21,166,176,53,7,229,9,221,1,247,253,133,41,203,240,0,0,60,160,9,25,29,139,35,63,97,86,9,10,164,31,99,60,4,64,208,22,148,13,155,12,239,137,249,29,254,196,208,42,37,26,0,0,18,156,80,6,83,115,179,34,101,71,31,61,214,136,255,26,141,237,104,50,97,163,195,5,29,50,77,21,
200,118,174,30,29,56,0,0,2,97,180,46,56,170,144,17,117,175,110,14,27,22,10,22,32,231,129,37,233,92,145,52,181,158,218,35,246,223,214,42,122,164,0,0,85,233,79,56,88,211,206,54,72,206,59,6,104,169,85,38,246,83,138,12,165,249,220,14,121,100,126,56,234,25,21,60,3,167,0,0,189,68,19,22,239,187,172,9,250,119,114,25,113,138,133,39,83,155,25,25,172,181,228,41,14,220,122,4,172,104,77,62,0,213,0,0,88,206,234,6,176,149,101,18,211,17,50,47,232,88,145,31,27,63,160,19,193,53,180,26,108,116,13,21,181,106,241,44,
198,115,0,0,78,101,248,42,92,164,194,5,23,41,141,59,110,227,161,26,170,198,145,45,217,68,38,36,186,65,247,36,206,28,41,45,47,58,0,0,94,29,24,0,252,34,206,18,5,242,170,21,110,234,108,28,222,184,221,14,112,232,52,0,29,218,127,20,27,212,249,60,39,198,0,0,109,136,159,54,152,2,228,9,57,44,190,28,82,1,172,61,142,214,247,33,226,4,88,26,45,59,166,2,145,199,117,39,143,215,0,0,22,139,130,55,126,54,138,19,243,71,72,10,202,99,229,17,160,83,222,6,188,41,208,23,162,63,35,61,183,131,175,62,136,187,0,0,247,93,234,
10,136,206,81,20,156,150,30,58,56,93,160,18,236,99,145,21,4,88,22,55,69,211,141,30,61,193,172,29,54,183,0,0,170,76,50,37,63,204,42,21,57,42,71,41,194,120,217,18,105,46,163,18,81,210,49,54,35,13,188,24,10,254,94,42,40,140,0,0,130,148,239,11,207,113,199,57,89,148,203,17,17,60,225,57,122,235,192,60,125,204,183,63,120,51,25,5,204,232,24,1,163,64,0,0,64,221,84,7,85,28,250,24,248,108,70,3,127,140,137,16,162,233,246,50,53,127,16,18,91,244,252,13,176,12,28,9,41,151,0,0,67,97,163,42,188,36,45,33,147,244,202,
26,149,20,186,54,144,54,223,20,47,119,29,23,209,220,161,62,151,9,145,40,209,145,0,0,255,167,44,12,174,11,182,48,163,33,240,29,101,23,217,0,24,175,39,47,104,181,70,30,80,224,150,39,2,214,229,31,99,137,0,0,104,62,73,48,133,87,80,59,123,171,46,36,227,168,241,30,248,137,116,53,80,197,115,46,87,77,66,8,34,35,73,56,31,45,0,0,127,221,168,12,232,88,27,6,166,129,19,42,213,0,202,49,27,66,87,19,245,128,118,50,253,146,224,37,248,198,57,14,129,48,0,0,242,199,146,10,30,201,87,16,94,145,173,52,144,145,149,5,200,
24,142,0,69,23,177,39,227,37,201,15,10,162,180,56,209,40,0,0,177,63,106,6,162,21,115,3,108,32,46,25,6,74,2,48,110,47,134,54,22,50,212,21,30,93,182,30,155,10,58,49,95,87,0,0,173,85,38,16,42,164,227,38,240,242,58,42,241,92,237,12,237,218,135,14,94,10,111,7,103,45,202,47,169,16,228,54,110,111,0,0,223,23,1,57,145,162,218,6,146,2,1,34,243,238,78,9,218,143,42,42,123,224,155,60,39,162,183,42,147,173,13,36,236,165,0,0,254,98,100,56,207,4,74,32,61,54,74,33,21,124,24,33,28,247,160,31,180,14,230,37,197,0,4,
20,176,151,152,49,157,183,0,0,18,215,42,23,112,93,62,44,144,114,4,33,55,44,99,14,90,185,73,35,81,216,229,57,157,148,176,16,204,68,250,55,83,161,0,0,210,253,72,13,78,217,151,34,156,50,11,47,22,202,79,1,189,154,184,49,199,87,99,12,72,252,178,5,236,79,16,54,148,253,0,0,58,91,207,17,4,220,48,12,16,120,90,27,239,160,206,16,196,36,200,45,35,66,211,48,53,89,97,20,222,171,177,6,84,154,0,0,228,74,164,54,124,93,213,15,214,82,234,33,148,184,63,18,85,95,71,15,162,205,107,56,175,124,171,6,196,114,48,18,97,182,
0,0,224,202,172,31,68,232,18,35,116,51,187,36,22,67,205,34,60,210,31,7,60,57,83,54,29,140,122,18,229,132,153,37,234,8,0,0,69,185,98,14,140,210,188,22,149,142,15,15,167,239,224,45,53,215,197,21,238,51,240,57,36,46,120,34,59,242,174,62,14,98,0,0,94,111,160,38,101,45,144,6,2,55,8,42,91,148,100,16,163,22,183,35,73,8,53,44,55,172,83,2,133,250,62,9,59,56,0,0,114,231,198,19,27,30,125,34,64,176,194,56,46,157,171,61,232,25,90,42,83,181,89,61,76,4,162,27,59,177,26,28,207,84,0,0,54,161,56,6,117,112,93,30,92,
25,56,40,205,56,71,3,43,12,121,13,216,26,103,57,137,215,214,46,128,15,180,12,132,230,0,0,132,37,108,12,66,96,244,43,106,51,87,51,246,250,120,2,46,71,230,1,232,192,156,10,77,98,166,53,56,230,4,57,91,202,0,0,12,193,232,22,16,241,161,51,7,104,189,17,206,23,166,28,180,127,110,48,156,179,247,62,238,160,194,37,191,120,86,53,93,57,0,0,142,99,254,5,76,182,245,48,203,34,105,6,55,1,39,36,76,39,78,58,191,30,250,4,4,93,172,18,22,45,53,55,98,253,0,0,239,20,108,13,200,54,153,5,245,200,147,47,65,29,63,22,8,128,
100,34,187,111,181,59,246,185,220,37,84,13,183,18,81,122,0,0,19,189,63,11,28,134,79,43,247,36,110,42,202,189,171,47,41,55,92,15,50,229,194,31,137,142,77,46,84,180,127,52,237,86,0,0,235,101,109,15,65,143,81,42,36,21,2,4,213,29,68,38,90,35,143,16,210,239,188,35,234,216,144,29,201,16,86,63,225,30,0,0,28,148,34,29,73,174,13,56,17,43,88,35,97,58,189,12,202,250,252,2,61,241,231,42,207,193,115,44,117,111,36,10,105,187,0,0,68,203,54,14,188,67,101,60,145,1,162,28,35,219,162,31,97,125,53,3,98,67,63,22,192,
139,170,58,227,52,141,21,81,21,0,0,104,90,73,31,148,209,107,10,83,30,12,2,124,93,220,48,168,93,32,35,209,194,143,3,55,94,33,53,85,213,241,63,79,171,0,0,204,186,39,52,65,24,229,7,21,46,214,18,55,89,204,28,158,170,196,13,86,194,58,22,99,19,32,53,175,17,25,47,198,59,0,0,166,253,214,42,87,255,12,19,113,180,190,40,72,105,221,6,215,43,192,22,155,136,187,24,219,92,48,44,93,28,48,23,48,142,0,0,103,230,9,106,133,174,103,187,114,243,110,60,58,245,79,165,127,82,14,81,140,104,5,155,171,217,131,31,25,205,224,
91,152,47,138,66,145,68,55,113,207,251,192,181,165,219,181,233,91,194,86,57,241,17,241,89,164,130,63,146,213,94,28,171,152,170,7,216,1,91,131,18,190,133,49,36,195,125,12,85,116,93,190,114,254,177,222,128,167,6,220,155,116,241,155,193,193,105,155,228,134,71,190,239,198,157,193,15,204,161,12,36,111,44,233,45,170,132,116,74,220,169,176,92,218,136,249,118,82,81,62,152,109,198,49,168,200,39,3,176,199,127,89,191,243,11,224,198,71,145,167,213,81,99,202,6,103,41,41,20,133,10,183,39,56,33,27,46,252,109,44,
77,19,13,56,83,84,115,10,101,187,10,106,118,46,201,194,129,133,44,114,146,161,232,191,162,75,102,26,168,112,139,75,194,163,81,108,199,25,232,146,209,36,6,153,214,133,53,14,244,112,160,106,16,22,193,164,25,8,108,55,30,76,119,72,39,181,188,176,52,179,12,28,57,74,170,216,78,79,202,156,91,243,111,46,104,238,130,143,116,111,99,165,120,20,120,200,132,8,2,199,140,250,255,190,144,235,108,80,164,247,163,249,190,242,120,113,198,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,1,0,0,0,
2,0,0,0,244,153,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,196,148,0,0,99,111,110,100,32,61,61,32,49,32,124,124,32,99,111,110,100,32,61,61,32,48,0,46,46,47,98,105,103,110,117,109,46,99,0,98,110,95,99,109,111,118,0,99,111,101,102,32,60,32,48,120,56,48,48,48,48,48,48,48,117,0,98,110,95,109,117,108,116,105,112,108,121,95,114,101,100,117,99,101,95,115,116,101,112,0,114,101,115,91,105,32,43,32,49,93,32,61,
61,32,48,0,98,110,95,109,117,108,116,105,112,108,121,95,114,101,100,117,99,101,0,111,100,100,45,62,97,91,48,93,32,38,32,49,0,98,110,95,105,110,118,101,114,115,101,0,111,100,100,45,62,97,91,56,93,32,38,32,49,0,101,118,101,110,45,62,97,91,48,93,32,38,32,49,0,40,101,118,101,110,45,62,97,91,56,93,32,38,32,49,41,32,61,61,32,48,0,40,101,118,101,110,45,62,97,91,48,93,32,38,32,49,41,32,61,61,32,48,0,112,112,91,48,93,32,38,32,49,0,40,116,101,109,112,32,38,32,48,120,102,102,102,102,102,102,102,102,41,32,61,
61,32,48,0,40,40,117,115,46,97,91,56,93,32,43,32,112,112,91,48,93,32,42,32,102,97,99,116,111,114,41,32,38,32,109,97,115,107,41,32,61,61,32,48,0,98,32,60,61,32,112,114,105,109,101,45,62,118,97,108,91,48,93,0,98,110,95,115,117,98,105,0,97,45,62,118,97,108,91,56,93,32,60,32,48,120,50,48,48,48,48,0,46,46,47,101,99,100,115,97,46,99,0,99,111,110,100,105,116,105,111,110,97,108,95,110,101,103,97,116,101,0,45,51,32,60,61,32,97,32,38,38,32,97,32,60,61,32,48,0,112,111,105,110,116,95,106,97,99,111,98,105,97,
110,95,97,100,100,0,98,110,95,105,115,95,108,101,115,115,40,107,44,32,38,99,117,114,118,101,45,62,111,114,100,101,114,41,0,40,97,46,118,97,108,91,48,93,32,38,32,49,41,32,33,61,32,48,0,115,99,97,108,97,114,95,109,117,108,116,105,112,108,121,0,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,71,72,74,75,76,77,78,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,109,110,111,112,113,114,115,116,117,118,119,120,121,122,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,100,101,118,47,117,114,97,110,100,111,109,0,114,0,108,101,110,95,114,101,97,100,32,61,61,32,108,101,110,0,46,46,47,114,97,110,100,46,99,0,114,97,110,100,111,109,51,50,0,114,119,97,0],"i8",4,t.L+30720);var cb=v;v+=16;e._i64Subtract=db;e._memset=eb;function fb(a,b){J.push(function(){t.t("vi",a,[b])});fb.level=J.length}e._bitshift64Lshr=gb;e._bitshift64Shl=hb;
var K={s:1,m:2,Jc:3,Gb:4,p:5,la:6,Za:7,dc:8,J:9,nb:10,ha:11,Tc:11,Ea:12,R:13,zb:14,pc:15,S:16,ia:17,Uc:18,U:19,ja:20,B:21,g:22,Zb:23,Da:24,C:25,Qc:26,Ab:27,lc:28,K:29,Gc:30,Sb:31,zc:32,wb:33,Dc:34,hc:42,Db:43,ob:44,Jb:45,Kb:46,Lb:47,Rb:48,Rc:49,bc:50,Ib:51,tb:35,ec:37,fb:52,ib:53,Vc:54,$b:55,jb:56,kb:57,ub:35,lb:59,nc:60,cc:61,Nc:62,mc:63,ic:64,jc:65,Fc:66,fc:67,bb:68,Kc:69,pb:70,Ac:71,Ub:72,xb:73,hb:74,uc:76,gb:77,Ec:78,Mb:79,Nb:80,Qb:81,Pb:82,Ob:83,oc:38,ka:39,Vb:36,T:40,vc:95,yc:96,sb:104,ac:105,
cb:97,Cc:91,sc:88,kc:92,Hc:108,rb:111,$a:98,qb:103,Yb:101,Wb:100,Oc:110,Bb:112,Cb:113,Fb:115,eb:114,vb:89,Tb:90,Bc:93,Ic:94,ab:99,Xb:102,Hb:106,qc:107,Pc:109,Sc:87,yb:122,Lc:116,tc:95,gc:123,Eb:84,wc:75,mb:125,rc:131,xc:130,Mc:86},ib={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 jb(a){e.___errno_location&&(w[e.___errno_location()>>2]=a);return a}
function kb(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 lb(a){var b="/"===a.charAt(0),c="/"===a.substr(-1);(a=kb(a.split("/").filter(function(a){return!!a}),!b).join("/"))||b||(a=".");a&&c&&(a+="/");return(b?"/":"")+a}
function mb(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 nb(a){if("/"===a)return"/";var b=a.lastIndexOf("/");return-1===b?a:a.substr(b+1)}function ob(){var a=Array.prototype.slice.call(arguments,0);return lb(a.join("/"))}function L(a,b){return lb(a+"/"+b)}
function qb(){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=kb(a.split("/").filter(function(a){return!!a}),!b).join("/");return(b?"/":"")+a||"."}var rb=[];function sb(a,b){rb[a]={input:[],output:[],v:b};tb(a,ub)}
var ub={open:function(a){var b=rb[a.c.rdev];if(!b)throw new M(K.U);a.tty=b;a.seekable=!1},close:function(a){a.tty.v.flush(a.tty)},flush:function(a){a.tty.v.flush(a.tty)},read:function(a,b,c,d){if(!a.tty||!a.tty.v.wa)throw new M(K.la);for(var f=0,g=0;g<d;g++){var h;try{h=a.tty.v.wa(a.tty)}catch(n){throw new M(K.p);}if(void 0===h&&0===f)throw new M(K.ha);if(null===h||void 0===h)break;f++;b[c+g]=h}f&&(a.c.timestamp=Date.now());return f},write:function(a,b,c,d){if(!a.tty||!a.tty.v.da)throw new M(K.la);
for(var f=0;f<d;f++)try{a.tty.v.da(a.tty,b[c+f])}catch(g){throw new M(K.p);}d&&(a.c.timestamp=Date.now());return f}},vb={wa:function(a){if(!a.input.length){var b=null;if(m){var c=new Buffer(256),d=0,f=process.stdin.fd;if("win32"!=process.platform){var g=!1;try{f=fs.openSync("/dev/stdin","r"),g=!0}catch(h){}}try{d=fs.readSync(f,c,0,256,null)}catch(n){if(-1!=n.toString().indexOf("EOF"))d=0;else throw n;}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=Xa(b,!0)}return a.input.shift()},da:function(a,b){null===b||10===b?(e.print(Ca(a.output,0)),a.output=[]):0!=b&&a.output.push(b)},flush:function(a){a.output&&0<a.output.length&&(e.print(Ca(a.output,0)),a.output=[])}},wb={da:function(a,b){null===b||10===b?(e.printErr(Ca(a.output,0)),a.output=[]):0!=b&&a.output.push(b)},flush:function(a){a.output&&
0<a.output.length&&(e.printErr(Ca(a.output,0)),a.output=[])}},N={k:null,i:function(){return N.createNode(null,"/",16895,0)},createNode:function(a,b,c,d){if(24576===(c&61440)||4096===(c&61440))throw new M(K.s);N.k||(N.k={dir:{c:{l:N.d.l,h:N.d.h,lookup:N.d.lookup,F:N.d.F,rename:N.d.rename,unlink:N.d.unlink,rmdir:N.d.rmdir,readdir:N.d.readdir,symlink:N.d.symlink},stream:{o:N.e.o}},file:{c:{l:N.d.l,h:N.d.h},stream:{o:N.e.o,read:N.e.read,write:N.e.write,na:N.e.na,Aa:N.e.Aa,Ca:N.e.Ca}},link:{c:{l:N.d.l,
h:N.d.h,readlink:N.d.readlink},stream:{}},pa:{c:{l:N.d.l,h:N.d.h},stream:xb}});c=yb(a,b,c,d);P(c.mode)?(c.d=N.k.dir.c,c.e=N.k.dir.stream,c.b={}):32768===(c.mode&61440)?(c.d=N.k.file.c,c.e=N.k.file.stream,c.f=0,c.b=null):40960===(c.mode&61440)?(c.d=N.k.link.c,c.e=N.k.link.stream):8192===(c.mode&61440)&&(c.d=N.k.pa.c,c.e=N.k.pa.stream);c.timestamp=Date.now();a&&(a.b[b]=c);return c},La:function(a){if(a.b&&a.b.subarray){for(var b=[],c=0;c<a.f;++c)b.push(a.b[c]);return b}return a.b},hd:function(a){return a.b?
a.b.subarray?a.b.subarray(0,a.f):new Uint8Array(a.b):new Uint8Array},ra:function(a,b){a.b&&a.b.subarray&&b>a.b.length&&(a.b=N.La(a),a.f=a.b.length);if(!a.b||a.b.subarray){var c=a.b?a.b.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.b,a.b=new Uint8Array(b),0<a.f&&a.b.set(c.subarray(0,a.f),0))}else for(!a.b&&0<b&&(a.b=[]);a.b.length<b;)a.b.push(0)},Ta:function(a,b){if(a.f!=b)if(0==b)a.b=null,a.f=0;else{if(!a.b||a.b.subarray){var c=a.b;a.b=new Uint8Array(new ArrayBuffer(b));
c&&a.b.set(c.subarray(0,Math.min(b,a.f)))}else if(a.b||(a.b=[]),a.b.length>b)a.b.length=b;else for(;a.b.length<b;)a.b.push(0);a.f=b}},d:{l: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;P(a.mode)?b.size=4096:32768===(a.mode&61440)?b.size=a.f: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.q=4096;b.blocks=Math.ceil(b.size/b.q);return b},
h:function(a,b){void 0!==b.mode&&(a.mode=b.mode);void 0!==b.timestamp&&(a.timestamp=b.timestamp);void 0!==b.size&&N.Ta(a,b.size)},lookup:function(){throw zb[K.m];},F:function(a,b,c,d){return N.createNode(a,b,c,d)},rename:function(a,b,c){if(P(a.mode)){var d;try{d=Ab(b,c)}catch(f){}if(d)for(var g in d.b)throw new M(K.ka);}delete a.parent.b[a.name];a.name=c;b.b[c]=a;a.parent=b},unlink:function(a,b){delete a.b[b]},rmdir:function(a,b){var c=Ab(a,b),d;for(d in c.b)throw new M(K.ka);delete a.b[b]},readdir:function(a){var b=
[".",".."],c;for(c in a.b)a.b.hasOwnProperty(c)&&b.push(c);return b},symlink:function(a,b,c){a=N.createNode(a,b,41471,0);a.link=c;return a},readlink:function(a){if(40960!==(a.mode&61440))throw new M(K.g);return a.link}},e:{read:function(a,b,c,d,f){var g=a.c.b;if(f>=a.c.f)return 0;a=Math.min(a.c.f-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.c;a.timestamp=Date.now();if(b.subarray&&(!a.b||
a.b.subarray)){if(g)return a.b=b.subarray(c,c+d),a.f=d;if(0===a.f&&0===f)return a.b=new Uint8Array(b.subarray(c,c+d)),a.f=d;if(f+d<=a.f)return a.b.set(b.subarray(c,c+d),f),d}N.ra(a,f+d);if(a.b.subarray&&b.subarray)a.b.set(b.subarray(c,c+d),f);else for(g=0;g<d;g++)a.b[f+g]=b[c+g];a.f=Math.max(a.f,f+d);return d},o:function(a,b,c){1===c?b+=a.position:2===c&&32768===(a.c.mode&61440)&&(b+=a.c.f);if(0>b)throw new M(K.g);return b},na:function(a,b,c){N.ra(a.c,b+c);a.c.f=Math.max(a.c.f,b+c)},Aa:function(a,
b,c,d,f,g,h){if(32768!==(a.c.mode&61440))throw new M(K.U);c=a.c.b;if(h&2||c.buffer!==b&&c.buffer!==b.buffer){if(0<f||f+d<a.c.f)c.subarray?c=c.subarray(f,f+d):c=Array.prototype.slice.call(c,f,f+d);a=!0;d=E(d);if(!d)throw new M(K.Ea);b.set(c,d)}else a=!1,d=c.byteOffset;return{sd:d,Yc:a}},Ca:function(a,b,c,d,f){if(32768!==(a.c.mode&61440))throw new M(K.U);if(f&2)return 0;N.e.write(a,b,0,d,c,!1);return 0}}},Q={O:!1,Xa:function(){Q.O=!!process.platform.match(/^win/)},i:function(a){assert(m);return Q.createNode(null,
"/",Q.ua(a.aa.root),0)},createNode:function(a,b,c){if(!P(c)&&32768!==(c&61440)&&40960!==(c&61440))throw new M(K.g);a=yb(a,b,c);a.d=Q.d;a.e=Q.e;return a},ua:function(a){var b;try{b=fs.lstatSync(a),Q.O&&(b.mode=b.mode|(b.mode&146)>>1)}catch(c){if(!c.code)throw c;throw new M(K[c.code]);}return b.mode},j:function(a){for(var b=[];a.parent!==a;)b.push(a.name),a=a.parent;b.push(a.i.aa.root);b.reverse();return ob.apply(null,b)},sa:{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+"},Ka:function(a){a&=-2099201;a&=-32769;a&=-524289;if(a in Q.sa)return Q.sa[a];throw new M(K.g);},d:{l:function(a){a=Q.j(a);var b;try{b=fs.lstatSync(a)}catch(c){if(!c.code)throw c;throw new M(K[c.code]);}Q.O&&!b.q&&(b.q=4096);Q.O&&!b.blocks&&(b.blocks=(b.size+b.q-1)/b.q|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,q:b.q,blocks:b.blocks}},h:function(a,b){var c=Q.j(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 M(K[d.code]);}},lookup:function(a,b){var c=L(Q.j(a),b),c=Q.ua(c);return Q.createNode(a,b,c)},F:function(a,b,c,d){a=Q.createNode(a,b,c,d);b=Q.j(a);try{P(a.mode)?fs.mkdirSync(b,a.mode):fs.writeFileSync(b,"",{mode:a.mode})}catch(f){if(!f.code)throw f;throw new M(K[f.code]);
}return a},rename:function(a,b,c){a=Q.j(a);b=L(Q.j(b),c);try{fs.renameSync(a,b)}catch(d){if(!d.code)throw d;throw new M(K[d.code]);}},unlink:function(a,b){var c=L(Q.j(a),b);try{fs.unlinkSync(c)}catch(d){if(!d.code)throw d;throw new M(K[d.code]);}},rmdir:function(a,b){var c=L(Q.j(a),b);try{fs.rmdirSync(c)}catch(d){if(!d.code)throw d;throw new M(K[d.code]);}},readdir:function(a){a=Q.j(a);try{return fs.readdirSync(a)}catch(b){if(!b.code)throw b;throw new M(K[b.code]);}},symlink:function(a,b,c){a=L(Q.j(a),
b);try{fs.symlinkSync(c,a)}catch(d){if(!d.code)throw d;throw new M(K[d.code]);}},readlink:function(a){var b=Q.j(a);try{return b=fs.readlinkSync(b),b=Bb.relative(Bb.resolve(a.i.aa.root),b)}catch(c){if(!c.code)throw c;throw new M(K[c.code]);}}},e:{open:function(a){var b=Q.j(a.c);try{32768===(a.c.mode&61440)&&(a.H=fs.openSync(b,Q.Ka(a.flags)))}catch(c){if(!c.code)throw c;throw new M(K[c.code]);}},close:function(a){try{32768===(a.c.mode&61440)&&a.H&&fs.closeSync(a.H)}catch(b){if(!b.code)throw b;throw new M(K[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.H,g,0,d,f)}catch(n){throw new M(K[n.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.H,b,0,d,f)}catch(h){throw new M(K[h.code]);}return g},o:function(a,b,c){if(1===c)b+=a.position;else if(2===c&&32768===(a.c.mode&61440))try{b+=fs.fstatSync(a.H).size}catch(d){throw new M(K[d.code]);}if(0>b)throw new M(K.g);return b}}};v+=16;
v+=16;v+=16;var Cb=null,Db=[null],Eb=[],Fb=1,R=null,Gb=!0,S={},M=null,zb={};
function T(a,b){a=qb("/",a);b=b||{};if(!a)return{path:"",c:null};var c={ta:!0,ea:0},d;for(d in c)void 0===b[d]&&(b[d]=c[d]);if(8<b.ea)throw new M(K.T);var c=kb(a.split("/").filter(function(a){return!!a}),!1),f=Cb;d="/";for(var g=0;g<c.length;g++){var h=g===c.length-1;if(h&&b.parent)break;f=Ab(f,c[g]);d=L(d,c[g]);f.G&&(!h||h&&b.ta)&&(f=f.G.root);if(!h||b.X)for(h=0;40960===(f.mode&61440);)if(f=Hb(d),d=qb(mb(d),f),f=T(d,{ea:b.ea}).c,40<h++)throw new M(K.T);}return{path:d,c:f}}
function U(a){for(var b;;){if(a===a.parent)return a=a.i.Ba,b?"/"!==a[a.length-1]?a+"/"+b:a+b:a;b=b?a.name+"/"+b:a.name;a=a.parent}}function Ib(a,b){for(var c=0,d=0;d<b.length;d++)c=(c<<5)-c+b.charCodeAt(d)|0;return(a+c>>>0)%R.length}function Jb(a){var b=Ib(a.parent.id,a.name);a.u=R[b];R[b]=a}function Ab(a,b){var c;if(c=(c=Kb(a,"x"))?c:a.d.lookup?0:K.R)throw new M(c,a);for(c=R[Ib(a.id,b)];c;c=c.u){var d=c.name;if(c.parent.id===a.id&&d===b)return c}return a.d.lookup(a,b)}
function yb(a,b,c,d){Lb||(Lb=function(a,b,c,d){a||(a=this);this.parent=a;this.i=a.i;this.G=null;this.id=Fb++;this.name=b;this.mode=c;this.d={};this.e={};this.rdev=d},Lb.prototype={},Object.defineProperties(Lb.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}},Qa:{get:function(){return P(this.mode)}},Pa:{get:function(){return 8192===(this.mode&
61440)}}}));a=new Lb(a,b,c,d);Jb(a);return a}function P(a){return 16384===(a&61440)}var Mb={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 Nb(a){var b=["r","w","rw"][a&3];a&512&&(b+="w");return b}function Kb(a,b){if(Gb)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 K.R}else return K.R;return 0}
function Ob(a,b){try{return Ab(a,b),K.ia}catch(c){}return Kb(a,"wx")}function Pb(a){var b;b=4096;for(a=a||0;a<=b;a++)if(!Eb[a])return a;throw new M(K.Da);}
function Qb(a,b){Rb||(Rb=function(){},Rb.prototype={},Object.defineProperties(Rb.prototype,{object:{get:function(){return this.c},set:function(a){this.c=a}},od:{get:function(){return 1!==(this.flags&2097155)}},pd:{get:function(){return 0!==(this.flags&2097155)}},nd:{get:function(){return this.flags&1024}}}));var c=new Rb,d;for(d in a)c[d]=a[d];a=c;c=Pb(b);a.fd=c;return Eb[c]=a}var xb={open:function(a){a.e=Db[a.c.rdev].e;a.e.open&&a.e.open(a)},o:function(){throw new M(K.K);}};
function tb(a,b){Db[a]={e:b}}function Sb(a,b){var c="/"===b,d=!b,f;if(c&&Cb)throw new M(K.S);if(!c&&!d){f=T(b,{ta:!1});b=f.path;f=f.c;if(f.G)throw new M(K.S);if(!P(f.mode))throw new M(K.ja);}var d={type:a,aa:{},Ba:b,Ra:[]},g=a.i(d);g.i=d;d.root=g;c?Cb=g:f&&(f.G=d,f.i&&f.i.Ra.push(d))}function Tb(a,b,c){var d=T(a,{parent:!0}).c;a=nb(a);if(!a||"."===a||".."===a)throw new M(K.g);var f=Ob(d,a);if(f)throw new M(f);if(!d.d.F)throw new M(K.s);return d.d.F(d,a,b,c)}
function Ub(a,b){b=(void 0!==b?b:438)&4095;b|=32768;return Tb(a,b,0)}function V(a,b){b=(void 0!==b?b:511)&1023;b|=16384;return Tb(a,b,0)}function Vb(a,b,c){"undefined"===typeof c&&(c=b,b=438);return Tb(a,b|8192,c)}function Wb(a,b){if(!qb(a))throw new M(K.m);var c=T(b,{parent:!0}).c;if(!c)throw new M(K.m);var d=nb(b),f=Ob(c,d);if(f)throw new M(f);if(!c.d.symlink)throw new M(K.s);return c.d.symlink(c,d,a)}
function Hb(a){a=T(a).c;if(!a)throw new M(K.m);if(!a.d.readlink)throw new M(K.g);return qb(U(a.parent),a.d.readlink(a))}function Xb(a,b){var c;"string"===typeof a?c=T(a,{X:!0}).c:c=a;if(!c.d.h)throw new M(K.s);c.d.h(c,{mode:b&4095|c.mode&-4096,timestamp:Date.now()})}
function Yb(a,b,c,d){if(""===a)throw new M(K.m);if("string"===typeof b){var f=Mb[b];if("undefined"===typeof f)throw Error("Unknown file open mode: "+b);b=f}c=b&64?("undefined"===typeof c?438:c)&4095|32768:0;var g;if("object"===typeof a)g=a;else{a=lb(a);try{g=T(a,{X:!(b&131072)}).c}catch(h){}}f=!1;if(b&64)if(g){if(b&128)throw new M(K.ia);}else g=Tb(a,c,0),f=!0;if(!g)throw new M(K.m);8192===(g.mode&61440)&&(b&=-513);if(b&65536&&!P(g.mode))throw new M(K.ja);if(!f&&(c=g?40960===(g.mode&61440)?K.T:P(g.mode)&&
("r"!==Nb(b)||b&512)?K.B:Kb(g,Nb(b)):K.m))throw new M(c);if(b&512){c=g;var n;"string"===typeof c?n=T(c,{X:!0}).c:n=c;if(!n.d.h)throw new M(K.s);if(P(n.mode))throw new M(K.B);if(32768!==(n.mode&61440))throw new M(K.g);if(c=Kb(n,"w"))throw new M(c);n.d.h(n,{size:0,timestamp:Date.now()})}b&=-641;d=Qb({c:g,path:U(g),flags:b,seekable:!0,position:0,e:g.e,Ya:[],error:!1},d);d.e.open&&d.e.open(d);!e.logReadFiles||b&1||(Zb||(Zb={}),a in Zb||(Zb[a]=1,e.printErr("read file: "+a)));try{S.onOpenFile&&(g=0,1!==
(b&2097155)&&(g|=1),0!==(b&2097155)&&(g|=2),S.onOpenFile(a,g))}catch(u){console.log("FS.trackingDelegate['onOpenFile']('"+a+"', flags) threw an exception: "+u.message)}return d}function $b(a){a.Z&&(a.Z=null);try{a.e.close&&a.e.close(a)}catch(b){throw b;}finally{Eb[a.fd]=null}}function ac(a,b,c){if(!a.seekable||!a.e.o)throw new M(K.K);a.position=a.e.o(a,b,c);a.Ya=[]}
function bc(a,b,c,d,f,g){if(0>d||0>f)throw new M(K.g);if(0===(a.flags&2097155))throw new M(K.J);if(P(a.c.mode))throw new M(K.B);if(!a.e.write)throw new M(K.g);a.flags&1024&&ac(a,0,2);var h=!0;if("undefined"===typeof f)f=a.position,h=!1;else if(!a.seekable)throw new M(K.K);b=a.e.write(a,b,c,d,f,g);h||(a.position+=b);try{if(a.path&&S.onWriteToFile)S.onWriteToFile(a.path)}catch(n){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+n.message)}return b}
function cc(){M||(M=function(a,b){this.c=b;this.Va=function(a){this.n=a;for(var b in K)if(K[b]===a){this.code=b;break}};this.Va(a);this.message=ib[a]},M.prototype=Error(),M.prototype.constructor=M,[K.m].forEach(function(a){zb[a]=new M(a);zb[a].stack="<generic error, no stack>"}))}var dc;function ec(a,b){var c=0;a&&(c|=365);b&&(c|=146);return c}function fc(a,b,c,d){a=L("string"===typeof a?a:U(a),b);return Ub(a,ec(c,d))}
function gc(a,b,c,d,f,g){a=b?L("string"===typeof a?a:U(a),b):a;d=ec(d,f);f=Ub(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}Xb(f,d|146);a=Yb(f,"w");bc(a,c,0,c.length,0,g);$b(a);Xb(f,d)}return f}
function W(a,b,c,d){a=L("string"===typeof a?a:U(a),b);b=ec(!!c,!!d);W.za||(W.za=64);var f=W.za++<<8|0;tb(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 r=0,q=0;q<f;q++){var y;try{y=c()}catch(H){throw new M(K.p);}if(void 0===y&&0===r)throw new M(K.ha);if(null===y||void 0===y)break;r++;b[d+q]=y}r&&(a.c.timestamp=Date.now());return r},write:function(a,b,c,f){for(var r=0;r<f;r++)try{d(b[c+r])}catch(q){throw new M(K.p);}f&&(a.c.timestamp=
Date.now());return r}});return Vb(a,b,f)}
function hc(a){if(a.Pa||a.Qa||a.link||a.b)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.b=Xa(e.read(a.url),!0),a.f=a.b.length}catch(c){b=!1}else throw Error("Cannot load without read() or XMLHttpRequest.");b||jb(K.p);return b}var ic={},Lb,Rb,Zb,X=0;
function Y(){X+=4;return w[X-4>>2]}function jc(){var a;a=Y();a=Eb[a];if(!a)throw new M(K.J);return a}e.___muldsi3=kc;e.___muldi3=lc;e._i64Add=mc;e._sbrk=nc;function oc(){oc.D||(oc.D=[]);oc.D.push(t.Q());return oc.D.length-1}e._llvm_bswap_i32=pc;e._memcpy=qc;e._pthread_self=rc;cc();R=Array(4096);Sb(N,"/");V("/tmp");V("/home");V("/home/web_user");
(function(){V("/dev");tb(259,{read:function(){return 0},write:function(a,b,f,g){return g}});Vb("/dev/null",259);sb(1280,vb);sb(1536,wb);Vb("/dev/tty",1280);Vb("/dev/tty1",1536);var a;if("undefined"!==typeof crypto){var b=new Uint8Array(1);a=function(){crypto.getRandomValues(b);return b[0]}}else a=m?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");
Sb({i:function(){var a=yb("/proc/self","fd",16895,73);a.d={lookup:function(a,c){var d=Eb[+c];if(!d)throw new M(K.J);var f={parent:null,i:{Ba:"fake"},d:{readlink:function(){return d.path}}};return f.parent=f}};return a}},"/proc/self/fd");
Sa.unshift(function(){if(!e.noFSInit&&!dc){assert(!dc,"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)");dc=!0;cc();e.stdin=e.stdin;e.stdout=e.stdout;e.stderr=e.stderr;e.stdin?W("/dev","stdin",e.stdin):Wb("/dev/tty","/dev/stdin");e.stdout?W("/dev","stdout",null,e.stdout):Wb("/dev/tty","/dev/stdout");e.stderr?W("/dev","stderr",null,e.stderr):Wb("/dev/tty1","/dev/stderr");var a=
Yb("/dev/stdin","r");assert(0===a.fd,"invalid handle for stdin ("+a.fd+")");a=Yb("/dev/stdout","w");assert(1===a.fd,"invalid handle for stdout ("+a.fd+")");a=Yb("/dev/stderr","w");assert(2===a.fd,"invalid handle for stderr ("+a.fd+")")}});Ta.push(function(){Gb=!1});J.push(function(){dc=!1;var a=e._fflush;a&&a(0);for(a=0;a<Eb.length;a++){var b=Eb[a];b&&$b(b)}});e.FS_createFolder=function(a,b,c,d){a=L("string"===typeof a?a:U(a),b);return V(a,ec(c,d))};
e.FS_createPath=function(a,b){a="string"===typeof a?a:U(a);for(var c=b.split("/").reverse();c.length;){var d=c.pop();if(d){var f=L(a,d);try{V(f)}catch(g){}a=f}}return f};e.FS_createDataFile=gc;
e.FS_createPreloadedFile=function(a,b,c,d,f,g,h,n,u,r){function q(c){function q(c){r&&r();n||gc(a,b,c,d,f,u);g&&g();bb()}var I=!1;e.preloadPlugins.forEach(function(a){!I&&a.canHandle(y)&&(a.handle(c,y,q,function(){h&&h();bb()}),I=!0)});I||q(c)}Browser.md();var y=b?qb(L(a,b)):a;ab();"string"==typeof c?Browser.$c(c,function(a){q(a)},h):q(c)};
e.FS_createLazyFile=function(a,b,c,d,f){var g,h;function n(){this.$=!1;this.M=[]}n.prototype.get=function(a){if(!(a>this.length-1||0>a)){var b=a%this.chunkSize;return this.ya(a/this.chunkSize|0)[b]}};n.prototype.Ua=function(a){this.ya=a};n.prototype.oa=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=(d=a.getResponseHeader("Accept-Ranges"))&&
"bytes"===d,a=(d=a.getResponseHeader("Content-Encoding"))&&"gzip"===d,g=1048576;f||(g=b);var h=this;h.Ua(function(a){var d=a*g,f=(a+1)*g-1,f=Math.min(f,b-1);if("undefined"===typeof h.M[a]){var n=h.M;if(d>f)throw Error("invalid range ("+d+", "+f+") or no bytes requested!");if(f>b-1)throw Error("only "+b+" bytes available! programmer error!");var q=new XMLHttpRequest;q.open("GET",c,!1);b!==g&&q.setRequestHeader("Range","bytes="+d+"-"+f);"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||[]):Xa(q.responseText||"",!0);n[a]=d}if("undefined"===typeof h.M[a])throw Error("doXHR failed!");return h.M[a]});if(a||!b)g=b=1,g=b=this.ya(0).length,console.log("LazyFiles on gzip forces download of the whole file when length is accessed");this.Ga=b;this.Fa=
g;this.$=!0};if("undefined"!==typeof XMLHttpRequest){if(!l)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";g=new n;Object.defineProperties(g,{length:{get:function(){this.$||this.oa();return this.Ga}},chunkSize:{get:function(){this.$||this.oa();return this.Fa}}});h=void 0}else h=c,g=void 0;var u=fc(a,b,d,f);g?u.b=g:h&&(u.b=null,u.url=h);Object.defineProperties(u,{f:{get:function(){return this.b.length}}});var r={};Object.keys(u.e).forEach(function(a){var b=
u.e[a];r[a]=function(){if(!hc(u))throw new M(K.p);return b.apply(null,arguments)}});r.read=function(a,b,c,d,f){if(!hc(u))throw new M(K.p);a=a.c.b;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};u.e=r;return u};e.FS_createLink=function(a,b,c){a=L("string"===typeof a?a:U(a),b);return Wb(c,a)};e.FS_createDevice=W;
e.FS_unlink=function(a){var b=T(a,{parent:!0}).c,c=nb(a),d=Ab(b,c),f;a:{try{f=Ab(b,c)}catch(g){f=g.n;break a}var h=Kb(b,"wx");f=h?h:P(f.mode)?K.B:0}if(f)throw new M(f);if(!b.d.unlink)throw new M(K.s);if(d.G)throw new M(K.S);try{S.willDeletePath&&S.willDeletePath(a)}catch(n){console.log("FS.trackingDelegate['willDeletePath']('"+a+"') threw an exception: "+n.message)}b.d.unlink(b,c);b=Ib(d.parent.id,d.name);if(R[b]===d)R[b]=d.u;else for(b=R[b];b;){if(b.u===d){b.u=d.u;break}b=b.u}try{if(S.onDeletePath)S.onDeletePath(a)}catch(u){console.log("FS.trackingDelegate['onDeletePath']('"+
a+"') threw an exception: "+u.message)}};Sa.unshift(function(){});J.push(function(){});if(m){var fs=require("fs"),Bb=require("path");Q.Xa()}x=D(1,"i32",2);La=p=t.ma(v);Ma=La+Pa;Oa=t.ma(Ma);w[x>>2]=Oa;ya=!0;e.Ia={Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array,NaN:NaN,Infinity:Infinity};
e.Ja={abort:z,assert:assert,enlargeMemory:function(){ia()},getTotalMemory:function(){return ha},abortOnCannotGrowMemory:ia,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_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_vi:function(a,b){try{e.dynCall_vi(a,b)}catch(c){if("number"!==typeof c&&"longjmp"!==c)throw c;Z.setThrew(1,
0)}},_pthread_cleanup_pop:function(){assert(fb.level==J.length,"cannot pop if something else added meanwhile!");J.pop();fb.level=J.length},___syscall221:function(a,b){X=b;try{var c=jc();switch(Y()){case 0:var d=Y();return 0>d?-K.g:Yb(c.path,c.flags,0,d).fd;case 1:case 2:return 0;case 3:return c.flags;case 4:return d=Y(),c.flags|=d,0;case 12:case 12:return d=Y(),qa[d+0>>1]=2,0;case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-K.g;case 9:return jb(K.g),-1;default:return-K.g}}catch(f){return"undefined"!==
typeof ic&&f instanceof M||z(f),-f.n}},___syscall54:function(a,b){X=b;try{var c=jc(),d=Y();switch(d){case 21505:return c.tty?0:-K.C;case 21506:return c.tty?0:-K.C;case 21519:if(!c.tty)return-K.C;var f=Y();return w[f>>2]=0;case 21520:return c.tty?-K.g:-K.C;case 21531:f=Y();if(!c.e.Oa)throw new M(K.C);return c.e.Oa(c,d,f);default:z("bad ioctl syscall "+d)}}catch(g){return"undefined"!==typeof ic&&g instanceof M||z(g),-g.n}},___lock:function(){},_abort:function(){e.abort()},_pthread_cleanup_push:fb,___syscall6:function(a,
b){X=b;try{var c=jc();$b(c);return 0}catch(d){return"undefined"!==typeof ic&&d instanceof M||z(d),-d.n}},_llvm_stacksave:oc,___syscall140:function(a,b){X=b;try{var c=jc(),d=Y(),f=Y(),g=Y(),h=Y();assert(0===d);ac(c,f,h);w[g>>2]=c.position;c.Z&&0===f&&0===h&&(c.Z=null);return 0}catch(n){return"undefined"!==typeof ic&&n instanceof M||z(n),-n.n}},___syscall5:function(a,b){X=b;try{var c=B(Y()),d=Y(),f=Y();return Yb(c,d,f).fd}catch(g){return"undefined"!==typeof ic&&g instanceof M||z(g),-g.n}},_emscripten_memcpy_big:function(a,
b,c){F.set(F.subarray(b,b+c),a);return a},_llvm_bswap_i64:function(a,b){var c=pc(b)>>>0,d=pc(a)>>>0;return(Z.setTempRet0(d),c)|0},___unlock:function(){},_llvm_stackrestore:function(a){var b=oc.D[a];oc.D.splice(a,1);t.I(b)},___assert_fail:function(a,b,c,d){ja=!0;throw"Assertion failed: "+B(a)+", at: "+[b?B(b):"unknown filename",c,d?B(d):"unknown function"]+" at "+Ha();},___syscall145:function(a,b){X=b;try{var c=jc(),d=Y(),f;a:{for(var g=Y(),h=0,n=0;n<g;n++){var u=w[d+(8*n+4)>>2],r,q=c,y=w[d+8*n>>2],
H=u,A=void 0,I=C;if(0>H||0>A)throw new M(K.g);if(1===(q.flags&2097155))throw new M(K.J);if(P(q.c.mode))throw new M(K.B);if(!q.e.read)throw new M(K.g);var O=!0;if("undefined"===typeof A)A=q.position,O=!1;else if(!q.seekable)throw new M(K.K);var pb=q.e.read(q,I,y,H,A);O||(q.position+=pb);r=pb;if(0>r){f=-1;break a}h+=r;if(r<u)break}f=h}return f}catch(Na){return"undefined"!==typeof ic&&Na instanceof M||z(Na),-Na.n}},___syscall146:function(a,b){X=b;try{var c=jc(),d=Y(),f;a:{for(var g=Y(),h=0,n=0;n<g;n++){var u=
bc(c,C,w[d+8*n>>2],w[d+(8*n+4)>>2],void 0);if(0>u){f=-1;break a}h+=u}f=h}return f}catch(r){return"undefined"!==typeof ic&&r instanceof M||z(r),-r.n}},___setErrNo:jb,STACKTOP:p,STACK_MAX:Ma,DYNAMICTOP_PTR:x,tempDoublePtr:cb,ABORT:ja};// EMSCRIPTEN_START_ASM
var Z=(function(global,env,buffer) {
"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.DYNAMICTOP_PTR|0;var l=env.tempDoublePtr|0;var m=env.ABORT|0;var n=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.0;var C=0;var D=global.Math.floor;var E=global.Math.abs;var F=global.Math.sqrt;var G=global.Math.pow;var H=global.Math.cos;var I=global.Math.sin;var J=global.Math.tan;var K=global.Math.acos;var L=global.Math.asin;var M=global.Math.atan;var N=global.Math.atan2;var O=global.Math.exp;var P=global.Math.log;var Q=global.Math.ceil;var R=global.Math.imul;var S=global.Math.min;var T=global.Math.max;var U=global.Math.clz32;var V=env.abort;var W=env.assert;var X=env.enlargeMemory;var Y=env.getTotalMemory;var Z=env.abortOnCannotGrowMemory;var _=env.invoke_ii;var $=env.invoke_iiii;var aa=env.invoke_vi;var ba=env._pthread_cleanup_pop;var ca=env.___syscall221;var da=env.___syscall54;var ea=env.___lock;var fa=env._abort;var ga=env._pthread_cleanup_push;var ha=env.___syscall6;var ia=env._llvm_stacksave;var ja=env.___syscall140;var ka=env.___syscall5;var la=env._emscripten_memcpy_big;var ma=env._llvm_bswap_i64;var na=env.___unlock;var oa=env._llvm_stackrestore;var pa=env.___assert_fail;var qa=env.___syscall145;var ra=env.___syscall146;var sa=env.___setErrNo;var ta=0.0;
// EMSCRIPTEN_START_FUNCS
function xa(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function ya(){return i|0}function za(a){a=a|0;i=a}function Aa(a,b){a=a|0;b=b|0;i=a;j=b}function Ba(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function Ca(a){a=a|0;C=a}function Da(){return C|0}function Ea(b,c){b=b|0;c=c|0;a[b>>0]=c>>>24;a[b+1>>0]=c>>>16;a[b+2>>0]=c>>>8;a[b+3>>0]=c;return}function Fa(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;e=0;f=0;do{h=a+(7-f<<2)|0;h=(d[h+1>>0]|0)<<16|(d[h>>0]|0)<<24|(d[h+2>>0]|0)<<8|(d[h+3>>0]|0);g=f<<1;c[b+(f<<2)>>2]=(h<<g|e)&1073741823;e=h>>>(30-g|0);f=f+1|0}while((f|0)!=8);c[b+32>>2]=e;return}function Ga(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=c[b+32>>2]<<16;f=0;while(1){g=c[b+(7-f<<2)>>2]|0;h=f<<1;i=g>>>(14-h|0)|e;e=d+(f<<2)|0;a[e>>0]=i>>>24;a[e+1>>0]=i>>>16;a[e+2>>0]=i>>>8;a[e+3>>0]=i;f=f+1|0;if((f|0)==8)break;else e=g<<h+18}return}function Ha(a){a=a|0;var b=0;b=a+36|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function Ia(a){a=a|0;return (c[a+32>>2]|(c[a+28>>2]|(c[a+24>>2]|(c[a+20>>2]|(c[a+16>>2]|(c[a+12>>2]|(c[a+8>>2]|(c[a+4>>2]|c[a>>2])))))))|0)==0|0}function Ja(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=0;e=8;f=0;while(1){h=c[a+(e<<2)>>2]|0;g=c[b+(e<<2)>>2]|0;d=h>>>0<g>>>0|d<<1;f=h>>>0>g>>>0|f<<1;if((e|0)<=0)break;else e=e+-1|0}return d>>>0>f>>>0|0}function Ka(a,b){a=a|0;b=b|0;var d=0,e=0;d=0;e=0;do{e=c[b+(d<<2)>>2]^c[a+(d<<2)>>2]|e;d=d+1|0}while((d|0)!=9);return (e|0)==0|0}function La(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=0-b|0;h=b+-1|0;if((b|1|0)==1)f=0;else pa(38200,38223,270,38235);do{c[a+(f<<2)>>2]=c[e+(f<<2)>>2]&h|c[d+(f<<2)>>2]&g;f=f+1|0}while((f|0)!=9);return}function Ma(a){a=a|0;var b=0,d=0,e=0,f=0;b=8;d=c[a+32>>2]|0;do{e=b;b=b+-1|0;f=d;d=c[a+(b<<2)>>2]|0;c[a+(e<<2)>>2]=d>>>29&1|f<<1&1073741822}while((e|0)>1);c[a>>2]=c[a>>2]<<1&1073741822;return}function Na(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[a>>2]|0;f=0-(d&1)|0;d=((c[b>>2]&f)+d|0)>>>1;e=0;do{i=e;e=e+1|0;g=(c[b+(e<<2)>>2]&f)+(c[a+(e<<2)>>2]|0)|0;h=(g<<29&536870912)+d|0;c[a+(i<<2)>>2]=h&1073741823;d=(h>>>30)+(g>>>1)|0}while((e|0)!=8);c[a+32>>2]=d;return}function Oa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=b&255;b=0;do{f=a+(b<<2)|0;c[f>>2]=R(c[f>>2]|0,e)|0;b=b+1|0}while((b|0)!=9);Pa(a,d);return}function Pa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;g=(c[a+32>>2]|0)>>>16;i=c[a>>2]|0;h=mc(c[b>>2]|0,0,g|0,0)|0;d=C;e=hc(i|0,536870912,h|0,d|0)|0;f=C;d=hc(i|0,0,h|0,d|0)|0;c[a>>2]=d&1073741823;d=1;while(1){l=jc(e|0,f|0,30)|0;k=C;i=a+(d<<2)|0;j=c[i>>2]|0;f=mc(c[b+(d<<2)>>2]|0,0,g|0,0)|0;h=C;k=nc(l|0,k|0,-2147483648,536870911)|0;j=nc(k|0,C|0,j|0,0)|0;e=hc(j|0,C|0,f|0,h|0)|0;c[i>>2]=e&1073741823;d=d+1|0;if((d|0)==9)break;else f=C}return}function Qa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+48|0;g=h;d=0;e=8;f=0;while(1){k=c[a+(e<<2)>>2]|0;j=c[b+(e<<2)>>2]|0;d=k>>>0<j>>>0|d<<1;f=k>>>0>j>>>0|f<<1;if((e|0)<=0)break;else e=e+-1|0}f=d>>>0>f>>>0;e=0;d=1;while(1){d=d+1073741823+(c[a+(e<<2)>>2]|0)-(c[b+(e<<2)>>2]|0)|0;c[g+(e<<2)>>2]=d&1073741823;e=e+1|0;if((e|0)==9)break;else d=d>>>30}La(a,f&1,a,g);i=h;return}function Ra(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=0;e=1;while(1){e=e+1073741823+(c[a+(f<<2)>>2]|0)-(c[b+(f<<2)>>2]|0)|0;c[d+(f<<2)>>2]=e&1073741823;f=f+1|0;if((f|0)==9)break;else e=e>>>30}return}function Sa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=0;g=0;e=0;i=1;while(1){f=0;do{j=mc(c[b+(h-f<<2)>>2]|0,0,c[a+(f<<2)>>2]|0,0)|0;g=nc(j|0,C|0,g|0,e|0)|0;e=C;f=f+1|0}while((f|0)!=(i|0));c[d+(h<<2)>>2]=g&1073741823;g=jc(g|0,e|0,30)|0;e=C;h=h+1|0;if((h|0)==9){h=9;break}else i=i+1|0}while(1){f=h+-8|0;if((f|0)<9)do{j=mc(c[b+(h-f<<2)>>2]|0,0,c[a+(f<<2)>>2]|0,0)|0;g=nc(j|0,C|0,g|0,e|0)|0;e=C;f=f+1|0}while((f|0)!=9);c[d+(h<<2)>>2]=g&1073741823;g=jc(g|0,e|0,30)|0;h=h+1|0;if((h|0)==17)break;else e=C}c[d+68>>2]=g;return}function Ta(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+(d+1<<2)|0;j=(c[l>>2]<<14)+((c[a+(d<<2)>>2]|0)>>>16)|0;k=d+-8|0;e=a+(k<<2)|0;f=c[e>>2]|0;g=mc(c[b>>2]|0,0,j|0,0)|0;h=C;if((j|0)<=-1)pa(38243,38223,390,38262);i=hc(f|0,536870912,g|0,h|0)|0;m=C;h=hc(f|0,0,g|0,h|0)|0;c[e>>2]=h&1073741823;h=jc(i|0,m|0,30)|0;m=C;i=a+(d+-7<<2)|0;f=nc(c[i>>2]|0,0,-2147483648,536870911)|0;e=1;g=C;d=m;do{m=mc(c[b+(e<<2)>>2]|0,0,j|0,0)|0;m=hc(f|0,g|0,m|0,C|0)|0;m=nc(m|0,C|0,h|0,d|0)|0;c[i>>2]=m&1073741823;e=e+1|0;h=jc(m|0,C|0,30)|0;d=C;i=a+(e+k<<2)|0;f=nc(c[i>>2]|0,0,-2147483648,536870911)|0;g=C}while((e|0)!=9);m=nc(f|0,g|0,h|0,d|0)|0;c[l>>2]=m&1073741823;return}function Ua(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=16;while(1){Ta(b,d,e);if(c[b+(e+1<<2)>>2]|0){g=4;break}e=e+-1|0;if((e|0)<=7){f=0;break}}if((g|0)==4)pa(38286,38223,424,38302);do{c[a+(f<<2)>>2]=c[b+(f<<2)>>2];f=f+1|0}while((f|0)!=9);return}function Va(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+80|0;e=g;f=e;h=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));Sa(a,b,e);Ua(b,e,d);i=g;return}function Wa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+144|0;k=n+72|0;l=n+36|0;m=n;c[l>>2]=1;h=l+4|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[h+24>>2]=0;c[h+28>>2]=0;h=m;d=b;j=h+36|0;do{c[h>>2]=c[d>>2];h=h+4|0;d=d+4|0}while((h|0)<(j|0));e=0;d=1;while(1){j=m+(e<<2)|0;d=(c[j>>2]|0)+d|0;c[j>>2]=d&1073741823;e=e+1|0;if((e|0)==9)break;else d=d>>>30}d=0;e=c[m>>2]|0;do{j=d;d=d+1|0;h=e;e=c[m+(d<<2)>>2]|0;c[m+(j<<2)>>2]=e<<29&536870912|h>>>1}while((d|0)!=8);e=m+32|0;c[e>>2]=(c[e>>2]|0)>>>1;d=0;f=c[m>>2]|0;do{j=d;d=d+1|0;h=f;f=c[m+(d<<2)>>2]|0;c[m+(j<<2)>>2]=f<<29&536870912|h>>>1}while((d|0)!=8);c[e>>2]=(c[e>>2]|0)>>>1;e=0;do{g=(e|0)==8;d=0;f=c[m+(e<<2)>>2]|0;do{if(g&(f|0)==0)break;if(f&1|0){h=k;j=h+72|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(j|0));Sa(a,l,k);Ua(l,k,b)}f=f>>>1;h=k;j=h+72|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(j|0));Sa(a,a,k);Ua(a,k,b);d=d+1|0}while(d>>>0<30);e=e+1|0}while((e|0)!=9);Qa(l,b);h=a;d=l;j=h+36|0;do{c[h>>2]=c[d>>2];h=h+4|0;d=d+4|0}while((h|0)<(j|0));i=n;return}function Xa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=i;i=i+112|0;d=v+72|0;u=v+32|0;t=v;Pa(a,b);Qa(a,b);e=c[b>>2]|0;f=0;while(1){r=f;f=f+1|0;g=c[b+(f<<2)>>2]|0;h=r<<1;p=g<<30-h|e;c[t+(r<<2)>>2]=p;c[d+(r<<2)>>2]=p;if((f|0)==8)break;else e=g>>>(h+2|0)}e=c[a>>2]|0;f=0;while(1){r=f;f=f+1|0;b=c[a+(f<<2)>>2]|0;g=r<<1;c[u+(r<<2)>>2]=b<<30-g|e;if((f|0)==8)break;else e=b>>>(g+2|0)}o=d+36|0;c[o>>2]=8;p=u+36|0;c[p>>2]=8;r=d+32|0;c[r>>2]=1;c[u+32>>2]=0;f=0;n=u;e=8;g=c[d>>2]|0;b=1;a:while(1){if(!(g&1)){q=7;break}if(!(b&1)){q=10;break}l=n+36|0;b=e;while(1){e=b+-1|0;if(c[n+(e<<2)>>2]|0)break;c[l>>2]=e;if((b|0)<1)break a;else b=e}e=c[n>>2]|0;if(!e){g=n+32|0;do{e=0;do{m=e;e=e+1|0;c[n+(m<<2)>>2]=c[n+(e<<2)>>2]}while((e|0)!=8);c[g>>2]=0;b=(c[l>>2]|0)+-1|0;c[l>>2]=b;f=f+32|0;e=c[n>>2]|0}while((e|0)==0)}k=0;while(1)if(!(e&1<<k))k=k+1|0;else break;if((k|0)>0){e=e>>>k;if((b|0)>1){j=32-k|0;g=1;h=n;while(1){b=n+(g<<2)|0;c[h>>2]=c[b>>2]<<j|e;e=g+1|0;h=(c[b>>2]|0)>>>k;if((e|0)<(c[l>>2]|0)){g=e;e=h;h=b}else break}}else{g=0;h=e;b=n;e=1}c[b>>2]=h;if(!h)c[l>>2]=(c[l>>2]|0)+-1;else g=e;e=n+(g<<2)|0;b=c[e>>2]<<k;if((g|0)<8){h=32-k|0;do{g=g+1|0;m=e;e=n+(g<<2)|0;c[m>>2]=(c[e>>2]|0)>>>h|b;b=c[e>>2]<<k}while((g|0)!=8);e=n+32|0}c[e>>2]=b;m=k+f|0}else m=f;if(!(c[n>>2]&1)){q=32;break}if(c[n+32>>2]&1|0){q=34;break}f=c[o>>2]|0;e=f-(c[p>>2]|0)|0;if(!e){e=f;while(1){b=e+-1|0;if((e|0)<=0){q=38;break}e=c[d+(b<<2)>>2]|0;f=u+(b<<2)|0;if((e|0)==(c[f>>2]|0))e=b;else break}if((q|0)==38){q=0;if(!e){q=56;break}f=u+(b<<2)|0;e=c[d+(b<<2)>>2]|0}e=e>>>0>(c[f>>2]|0)>>>0?1:-1}n=(e|0)>0;l=n?u:d;n=n?d:u;k=l+36|0;h=c[k>>2]|0;if((h|0)>0){e=0;f=1;b=0;while(1){j=n+(e<<2)|0;w=c[j>>2]|0;g=c[l+(e<<2)>>2]|0;f=nc(f|0,b|0,-1,0)|0;f=nc(f|0,C|0,w|0,0)|0;g=hc(f|0,C|0,g|0,0)|0;f=C;c[j>>2]=g;e=e+1|0;if((e|0)<(h|0))b=0;else{b=e;g=0;break}}}else{b=0;f=1;g=0}j=n+36|0;e=c[j>>2]|0;if((b|0)<(e|0)){e=g;while(1){w=n+(b<<2)|0;g=c[w>>2]|0;e=nc(f|0,e|0,-1,0)|0;e=nc(e|0,C|0,g|0,0)|0;c[w>>2]=e;b=b+1|0;e=c[j>>2]|0;if((b|0)>=(e|0))break;else{f=C;e=0}}}if((e|0)>8){f=8;g=0;b=0}else{f=8;g=0;b=0;while(1){w=l+(f<<2)|0;j=c[n+(f<<2)>>2]|0;h=nc(c[w>>2]|0,0,g|0,b|0)|0;j=nc(h|0,C|0,j|0,0)|0;g=C;c[w>>2]=j;w=f;f=f+-1|0;if((w|0)<=(e|0))break;else b=0}h=c[k>>2]|0;b=0}if((f|0)>=(h|0))while(1){w=l+(f<<2)|0;j=nc(c[w>>2]|0,0,g|0,b|0)|0;c[w>>2]=j;if((f|0)>(c[k>>2]|0)){f=f+-1|0;g=C;b=0}else break}g=c[l>>2]|0;if(!(g&1)){q=51;break}b=c[l+32>>2]|0;if(!(b&1)){q=53;break}if(c[n>>2]&1|0){q=55;break}else f=m}if((q|0)==7)pa(38321,38223,619,38335);else if((q|0)==10)pa(38346,38223,620,38335);else if((q|0)==32)pa(38360,38223,672,38335);else if((q|0)==34)pa(38375,38223,673,38335);else if((q|0)==51)pa(38321,38223,730,38335);else if((q|0)==53)pa(38346,38223,731,38335);else if((q|0)==55)pa(38397,38223,732,38335);else if((q|0)==56){l=c[t>>2]|0;if(!(l&1))pa(38419,38223,759,38335);f=l+-1|0;e=l+-2|0;if(!f)k=e;else{do{f=R(f,f)|0;e=R(f+1|0,e)|0}while((f|0)!=0);k=e}b:do if((m|0)>31){j=d+4|0;e=m;while(1){w=c[r>>2]|0;b=R(w,k)|0;q=mc(l|0,0,b|0,0)|0;w=nc(q|0,C|0,w|0,0)|0;if(!((w|0)==0&0==0))break;f=0;g=C;h=0;while(1){w=f;f=f+1|0;o=c[d+(7-w<<2)>>2]|0;p=mc(c[t+(f<<2)>>2]|0,0,b|0,0)|0;q=C;o=nc(o|0,0,g|0,h|0)|0;q=nc(o|0,C|0,p|0,q|0)|0;g=C;c[d+(8-w<<2)>>2]=q;if((f|0)==7)break;else h=0}c[j>>2]=g;e=e+-32|0;if((e|0)<=31){s=e;break b}}pa(38429,38223,775,38335)}else s=m;while(0);if((s|0)>0){w=(1<<s)+-1|0;e=c[r>>2]|0;h=(R(e,k)|0)&w;if((R(h,l)|0)+e&w|0)pa(38454,38223,794,38335);b=mc(h|0,0,l|0,0)|0;b=nc(b|0,C|0,e|0,0)|0;b=jc(b|0,C|0,s|0)|0;f=32-s|0;e=0;g=C;while(1){w=e;e=e+1|0;s=c[d+(7-w<<2)>>2]|0;r=mc(c[t+(e<<2)>>2]|0,0,h|0,0)|0;s=nc(r|0,C|0,s|0,0)|0;s=kc(s|0,C|0,f|0)|0;s=nc(s|0,C|0,b|0,g|0)|0;b=C;c[d+(8-w<<2)>>2]=s;if((e|0)==7)break;else g=0}c[d+4>>2]=b;e=0;f=0}else{e=0;f=0}do{s=c[d+(8-e<<2)>>2]|0;w=e<<1;c[a+(e<<2)>>2]=s<<w&1073741823|f;f=s>>>(30-w|0);e=e+1|0}while((e|0)!=8);c[a+32>>2]=f;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;c[t+20>>2]=0;c[t+24>>2]=0;c[t+28>>2]=0;e=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));d=u;e=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0))}i=v;return}function Ya(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=0;d=0;while(1){f=a+(e<<2)|0;d=(c[f>>2]|0)+d+(c[b+(e<<2)>>2]|0)|0;c[f>>2]=d&1073741823;e=e+1|0;if((e|0)==9)break;else d=d>>>30}return}function Za(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=0;do{f=a+(e<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[b+(e<<2)>>2]|0);e=e+1|0}while((e|0)!=9);Pa(a,d);return}function _a(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[d>>2]|0)>>>0<b>>>0)pa(38495,38223,856,38514);b=(c[a>>2]|0)-b|0;c[a>>2]=b;b=b+(c[d>>2]|0)|0;c[a>>2]=b&1073741823;e=1;do{b=(c[a+(e<<2)>>2]|0)+(b>>>30)+(c[d+(e<<2)>>2]|0)|0;c[a+(e<<2)>>2]=b&1073741823;e=e+1|0}while((e|0)!=9);return}function $a(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=0;f=1;while(1){f=f+1073741823+(c[a+(g<<2)>>2]|0)+(c[e+(g<<2)>>2]<<1)-(c[b+(g<<2)>>2]|0)|0;c[d+(g<<2)>>2]=f&1073741823;g=g+1|0;if((g|0)==9)break;else f=f>>>30}return}function ab(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+144|0;k=n+108|0;e=n+72|0;l=n+36|0;m=n;do if(!(bb(b)|0)){if(bb(d)|0){e=d;f=b;g=e+72|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));break}if(cb(b,d)|0){db(a,d);break}if(!(eb(b,d)|0)){$a(d,b,e,a);Xa(e,a);h=d+36|0;j=b+36|0;$a(h,j,k,a);Va(e,k,a);e=l;f=k;g=e+36|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));Va(l,l,a);e=m;f=b;g=e+36|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));Za(m,d,a);$a(l,m,l,a);Pa(l,a);Qa(l,a);$a(b,l,m,a);Va(k,m,a);$a(m,j,m,a);Pa(m,a);Qa(m,a);e=d;f=l;g=e+36|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));e=h;f=m;g=e+36|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));break}else{Ha(d);Ha(d+36|0);break}}while(0);i=n;return}function bb(a){a=a|0;if(!(Ia(a)|0))a=0;else a=(Ia(a+36|0)|0)!=0;return a&1|0}function cb(a,b){a=a|0;b=b|0;if(!(Ka(a,b)|0))a=0;else a=(Ka(a+36|0,b+36|0)|0)!=0;return a&1|0}function db(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+112|0;d=j+72|0;e=j+36|0;f=j;do if(!(bb(b)|0)){g=b+36|0;if(!(Ia(g)|0)){h=d;k=g;l=h+36|0;do{c[h>>2]=c[k>>2];h=h+4|0;k=k+4|0}while((h|0)<(l|0));Oa(d,2,a);Xa(d,a);h=e;k=b;l=h+36|0;do{c[h>>2]=c[k>>2];h=h+4|0;k=k+4|0}while((h|0)<(l|0));Va(e,e,a);Oa(e,3,a);_a(e,0-(c[a+180>>2]|0)|0,a);Va(e,d,a);h=e;k=d;l=h+36|0;do{c[h>>2]=c[k>>2];h=h+4|0;k=k+4|0}while((h|0)<(l|0));Va(e,e,a);h=f;k=b;l=h+36|0;do{c[h>>2]=c[k>>2];h=h+4|0;k=k+4|0}while((h|0)<(l|0));Ma(f);$a(e,f,e,a);Pa(e,a);Qa(e,a);$a(b,e,f,a);Va(d,f,a);$a(f,g,f,a);Pa(f,a);Qa(f,a);h=b;k=e;l=h+36|0;do{c[h>>2]=c[k>>2];h=h+4|0;k=k+4|0}while((h|0)<(l|0));h=g;k=f;l=h+36|0;do{c[h>>2]=c[k>>2];h=h+4|0;k=k+4|0}while((h|0)<(l|0));break}else{Ha(b);Ha(g);break}}while(0);i=j;return}function eb(a,b){a=a|0;b=b|0;var c=0;if((Ka(a,b)|0)!=0?(c=a+36|0,(Ia(c)|0)==0):0)a=(Ka(c,b+36|0)|0)==0&1;else a=0;return a|0}function fb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=b+32|0;if((c[g>>2]|0)>>>0>=131072)pa(38522,38542,179,38553);h=a&1073741823;f=~a;a=c[b>>2]|0;e=(c[d>>2]<<1)+1073741824-a|0;c[b>>2]=h&e|a&f;a=0;do{a=a+1|0;i=b+(a<<2)|0;j=c[i>>2]|0;e=(e>>>30)+1073741823+(c[d+(a<<2)>>2]<<1)-j|0;c[i>>2]=h&e|j&f}while((a|0)!=8);if((c[g>>2]|0)>>>0<131072)return;else pa(38522,38542,187,38553)}function gb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=0;f=Jb()|0;do{c[b+72+(e<<2)>>2]=f&1073741823;e=e+1|0;f=Jb()|0}while((e|0)!=8);i=b+72|0;c[b+104>>2]=(f&32767)+1;f=b;g=i;h=f+36|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));Va(i,b,d);e=b+36|0;f=e;g=b;h=f+36|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));Va(i,e,d);Va(a,b,d);Va(a+36|0,e,d);return}function hb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=b+36|0;f=e;g=a+72|0;h=f+36|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));Xa(e,d);f=b;g=e;h=f+36|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));Va(b,b,d);Va(b,e,d);Va(a,b,d);Va(a+36|0,e,d);Qa(b,d);Qa(e,d);return}function ib(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=i;i=i+288|0;k=s+252|0;l=s+216|0;m=s+180|0;n=s+144|0;o=s+108|0;p=s+72|0;q=s+36|0;g=s;e=c[d+180>>2]|0;if((e+3|0)>>>0>=4)pa(38572,38542,238,38590);h=b+72|0;r=p;t=h;u=r+36|0;do{c[r>>2]=c[t>>2];r=r+4|0;t=t+4|0}while((r|0)<(u|0));Va(p,p,d);r=q;t=h;u=r+36|0;do{c[r>>2]=c[t>>2];r=r+4|0;t=t+4|0}while((r|0)<(u|0));Va(p,q,d);j=(e|0)!=0;if(j){e=0-e|0;r=g;t=p;u=r+36|0;do{c[r>>2]=c[t>>2];r=r+4|0;t=t+4|0}while((r|0)<(u|0));Va(g,g,d);Oa(g,e&255,d)}Va(a,p,d);r=l;t=p;u=r+36|0;do{c[r>>2]=c[t>>2];r=r+4|0;t=t+4|0}while((r|0)<(u|0));$a(l,b,l,d);Pa(l,d);Ya(p,b);f=Ka(l,d)|0;Va(a+36|0,q,d);e=b+36|0;$a(q,e,k,d);Ya(q,e);r=m;t=b;u=r+36|0;do{c[r>>2]=c[t>>2];r=r+4|0;t=t+4|0}while((r|0)<(u|0));Va(m,m,d);Oa(m,3,d);if(j)$a(m,g,m,d);La(k,f,m,k);La(l,f,q,l);r=o;t=l;u=r+36|0;do{c[r>>2]=c[t>>2];r=r+4|0;t=t+4|0}while((r|0)<(u|0));Va(o,o,d);r=n;t=l;u=r+36|0;do{c[r>>2]=c[t>>2];r=r+4|0;t=t+4|0}while((r|0)<(u|0));Va(o,n,d);Va(p,o,d);Va(q,n,d);Va(l,h,d);r=b;t=k;u=r+36|0;do{c[r>>2]=c[t>>2];r=r+4|0;t=t+4|0}while((r|0)<(u|0));Va(b,b,d);$a(b,o,b,d);Pa(b,d);$a(o,b,e,d);$a(e,b,e,d);Va(k,e,d);$a(e,n,e,d);Na(e,d);Pa(e,d);i=s;return}function jb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+144|0;l=n+108|0;m=n;if(!(Ja(b,a+108|0)|0))pa(38609,38542,543,38658);j=c[b>>2]|0;g=(j&1)+-1|0;f=1;e=0;h=j;do{k=f+1073741823+h-(c[a+108+(e<<2)>>2]&g)|0;c[l+(e<<2)>>2]=k&1073741823;f=k>>>30;e=e+1|0;h=c[b+(e<<2)>>2]|0;j=h|j}while((e|0)!=8);k=l+32|0;c[k>>2]=f+65535+h-(c[a+140>>2]&g);e=c[l>>2]|0;if(!(e&1))pa(38638,38542,566,38658);if(!j){Ha(d);Ha(d+36|0)}else{gb(a+220+((((e>>>4&1)+15^e)>>>1&7)*72|0)|0,m,a);h=m+36|0;g=1;do{f=0;e=e>>>4;b=l;do{f=f+1|0;j=b;b=l+(f<<2)|0;c[j>>2]=c[b>>2]<<26&1006632960|e;e=(c[b>>2]|0)>>>4}while((f|0)!=8);c[k>>2]=e;e=c[l>>2]|0;b=e>>>4&1;j=b+15^e;fb((j&1)+-1|0,h,a);ib(a+220+(g*576|0)+((j>>>1&7)*72|0)|0,m,a);g=g+1|0}while((g|0)!=64);fb(b+-1|0,h,a);hb(m,d,a)}i=n;return}function kb(b,c,d){b=b|0;c=c|0;d=d|0;b=(b|0)==0?712:b;switch(a[c>>0]|0){case 4:{Fa(c+1|0,d);Fa(c+33|0,d+36|0);b=lb(b,d)|0;break}case 3:case 2:{Fa(c+1|0,d);mb(b,a[c>>0]|0,d,d+36|0);b=lb(b,d)|0;break}default:b=0}return b|0}function lb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+80|0;d=k+36|0;e=k;if(((bb(b)|0)==0?(Ja(b,a)|0)!=0:0)?(f=b+36|0,(Ja(f,a)|0)!=0):0){g=d;h=f;j=g+36|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));g=e;h=b;j=g+36|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));Va(f,d,a);Qa(d,a);Va(b,e,a);_a(e,0-(c[a+180>>2]|0)|0,a);Va(b,e,a);Za(e,a+184|0,a);Qa(e,a);a=(Ka(e,d)|0)!=0&1}else a=0;i=k;return a|0}function mb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=e;g=d;h=f+36|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));Va(d,e,a);_a(e,0-(c[a+180>>2]|0)|0,a);Va(d,e,a);Ya(e,a+184|0);Wa(e,a);if((c[e>>2]^b&255)&1|0)Ra(a,e,e);return}function nb(b,c){b=b|0;c=c|0;var d=0,e=0;e=i;i=i+32|0;d=e;switch(a[b>>0]|0){case 4:{Db(b,65,d);break}case 0:{Db(b,1,d);break}default:Db(b,33,d)}zb(d,32,c);i=e;return}function ob(b,c,d){b=b|0;c=c|0;d=d|0;do if(c>>>0>=256){if(c>>>0<65536){a[d>>0]=c>>>8;a[d+1>>0]=c;nb(b,d+2|0);break}if(c>>>0<16777216){a[d>>0]=c>>>16;a[d+1>>0]=c>>>8;a[d+2>>0]=c;nb(b,d+3|0);break}else{a[d>>0]=c>>>24;a[d+1>>0]=c>>>16;a[d+2>>0]=c>>>8;a[d+3>>0]=c;nb(b,d+4|0);break}}else{a[d>>0]=c;nb(b,d+1|0)}while(0);return}function pb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=i;i=i+32|0;e=f;ob(a,b,e);do if(b>>>0>=256){if(b>>>0<65536){vb(e,22,c,d)|0;break}if(b>>>0<16777216){vb(e,23,c,d)|0;break}else{vb(e,24,c,d)|0;break}}else vb(e,21,c,d)|0;while(0);i=f;return}function qb(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+128|0;h=j;f=h;g=f+128|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(g|0));if(e>>>0>128){Ib(c,e,h);c=0}else{qc(h|0,c|0,e|0)|0;c=0}do{g=h+c|0;f=d[g>>0]|0;a[b+c>>0]=f^92;a[g>>0]=f^54;c=c+1|0}while((c|0)!=128);b=b+128|0;Eb(b);Gb(b,h,128);i=j;return}function rb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=i;i=i+64|0;e=c;d=a+128|0;Hb(d,e);Eb(d);Gb(d,a,128);Gb(d,e,64);Hb(d,b);ic(a|0,0,336)|0;i=c;return}function sb(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;f=i;i=i+336|0;g=f;qb(g,a,b);Gb(g+128|0,c,d);rb(g,e);i=f;return}function tb(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+256|0;o=s+216|0;p=s+152|0;q=s+112|0;m=s+40|0;n=s;if((f|0)<0)d=0;else{r=o;l=r+33|0;do{a[r>>0]=a[d>>0]|0;r=r+1|0;d=d+1|0}while((r|0)<(l|0));Ea(o+33|0,f);f=o+1|0;k=p+32|0;while(1){sb(e,32,o,37,p);Fa(p,n);if(Ja(n,820)|0?(jb(712,n,m),ab(712,b,m),(bb(m)|0)==0):0)break;a[o>>0]=1;r=f;d=k;l=r+32|0;do{a[r>>0]=a[d>>0]|0;r=r+1|0;d=d+1|0}while((r|0)<(l|0))}a[q>>0]=c[m+36>>2]&1|2;Ga(m,q+1|0);pb(q,g,h,j);d=1}i=s;return d|0}function ub(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;a:do if((g|0)>0){h=0;do{if(a[f+h>>0]|0)break a;h=h+1|0}while((h|0)<(g|0))}else h=0;while(0);o=(((g-h|0)*138|0)>>>0)/100|0;n=o+1|0;p=i;i=i+((1*n|0)+15&-16)|0;ic(p|0,0,n|0)|0;if((h|0)<(g|0)){j=o;m=h;do{k=a[f+m>>0]|0;if((o|0)>(j|0)|k<<24>>24!=0){k=k&255;l=o;while(1){r=p+l|0;k=(d[r>>0]<<8)+k|0;a[r>>0]=(k|0)%58|0;l=l+-1|0;if((l|0)>(j|0)|(k+57|0)>>>0>114)k=(k|0)/58|0;else{j=l;break}}}else j=o;m=m+1|0}while((m|0)!=(g|0));j=0}else j=0;while(1){if(a[p+j>>0]|0)break;k=j+1|0;if((j|0)<(o|0))j=k;else{j=k;break}}k=n+h-j|0;if((c[e>>2]|0)>>>0>k>>>0){if(!h)h=0;else ic(b|0,49,h|0)|0;if((j|0)<=(o|0))while(1){a[b+h>>0]=a[38674+(d[p+j>>0]|0)>>0]|0;h=h+1|0;if((j|0)<(o|0))j=j+1|0;else break}a[b+h>>0]=0;j=1}else{j=0;h=k}c[e>>2]=h+1;i=q;return j|0}function vb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+16|0;f=g;if((b|0)>128)a=0;else{j=b+32|0;h=ia()|0;k=i;i=i+((1*j|0)+15&-16)|0;l=k+b|0;qc(k|0,a|0,b|0)|0;Db(a,b,l);Db(l,32,l);c[f>>2]=e;a=ub(d,f,k,b+4|0)|0;ic(k|0,0,j|0)|0;a=a?c[f>>2]|0:0;oa(h|0)}i=g;return a|0}function wb(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;s=(d[b+1>>0]|0)<<8|(d[b>>0]|0)|(d[b+2>>0]|0)<<16|(d[b+3>>0]|0)<<24;D=(d[b+5>>0]|0)<<8|(d[b+4>>0]|0)|(d[b+6>>0]|0)<<16|(d[b+7>>0]|0)<<24;v=(d[b+9>>0]|0)<<8|(d[b+8>>0]|0)|(d[b+10>>0]|0)<<16|(d[b+11>>0]|0)<<24;f=(d[b+13>>0]|0)<<8|(d[b+12>>0]|0)|(d[b+14>>0]|0)<<16|(d[b+15>>0]|0)<<24;x=(d[b+17>>0]|0)<<8|(d[b+16>>0]|0)|(d[b+18>>0]|0)<<16|(d[b+19>>0]|0)<<24;t=(d[b+21>>0]|0)<<8|(d[b+20>>0]|0)|(d[b+22>>0]|0)<<16|(d[b+23>>0]|0)<<24;y=(d[b+25>>0]|0)<<8|(d[b+24>>0]|0)|(d[b+26>>0]|0)<<16|(d[b+27>>0]|0)<<24;z=(d[b+29>>0]|0)<<8|(d[b+28>>0]|0)|(d[b+30>>0]|0)<<16|(d[b+31>>0]|0)<<24;B=(d[b+33>>0]|0)<<8|(d[b+32>>0]|0)|(d[b+34>>0]|0)<<16|(d[b+35>>0]|0)<<24;i=(d[b+37>>0]|0)<<8|(d[b+36>>0]|0)|(d[b+38>>0]|0)<<16|(d[b+39>>0]|0)<<24;F=(d[b+41>>0]|0)<<8|(d[b+40>>0]|0)|(d[b+42>>0]|0)<<16|(d[b+43>>0]|0)<<24;l=(d[b+45>>0]|0)<<8|(d[b+44>>0]|0)|(d[b+46>>0]|0)<<16|(d[b+47>>0]|0)<<24;H=(d[b+49>>0]|0)<<8|(d[b+48>>0]|0)|(d[b+50>>0]|0)<<16|(d[b+51>>0]|0)<<24;u=(d[b+53>>0]|0)<<8|(d[b+52>>0]|0)|(d[b+54>>0]|0)<<16|(d[b+55>>0]|0)<<24;m=(d[b+57>>0]|0)<<8|(d[b+56>>0]|0)|(d[b+58>>0]|0)<<16|(d[b+59>>0]|0)<<24;w=(d[b+61>>0]|0)<<8|(d[b+60>>0]|0)|(d[b+62>>0]|0)<<16|(d[b+63>>0]|0)<<24;b=a+8|0;A=c[b>>2]|0;p=a+12|0;e=c[p>>2]|0;n=a+16|0;r=c[n>>2]|0;k=a+20|0;I=c[k>>2]|0;g=a+24|0;E=c[g>>2]|0;j=A+s+(r^e^I)|0;j=(j<<11|j>>>21)+E|0;C=r<<10|r>>>22;A=t+1352829926+A+((r|~I)^e)|0;A=(A<<8|A>>>24)+E|0;o=E+D+(C^e^j)|0;o=(o<<14|o>>>18)+I|0;G=e<<10|e>>>22;E=m+1352829926+E+(A^(e|~C))|0;E=(E<<9|E>>>23)+I|0;J=I+v+(j^G^o)|0;J=(J<<15|J>>>17)+C|0;j=j<<10|j>>>22;I=z+1352829926+I+(E^(A|~G))|0;I=(I<<9|I>>>23)+C|0;A=A<<10|A>>>22;a=C+f+(o^j^J)|0;a=(a<<12|a>>>20)+G|0;o=o<<10|o>>>22;C=s+1352829926+C+(I^(E|~A))|0;C=(C<<11|C>>>21)+G|0;E=E<<10|E>>>22;h=G+x+(J^o^a)|0;h=(h<<5|h>>>27)+j|0;J=J<<10|J>>>22;G=i+1352829926+G+(C^(I|~E))|0;G=(G<<13|G>>>19)+A|0;I=I<<10|I>>>22;j=j+t+(a^J^h)|0;j=(j<<8|j>>>24)+o|0;a=a<<10|a>>>22;A=v+1352829926+A+(G^(C|~I))|0;A=(A<<15|A>>>17)+E|0;C=C<<10|C>>>22;o=o+y+(h^a^j)|0;o=(o<<7|o>>>25)+J|0;h=h<<10|h>>>22;E=l+1352829926+E+(A^(G|~C))|0;E=(E<<15|E>>>17)+I|0;G=G<<10|G>>>22;J=J+z+(j^h^o)|0;J=(J<<9|J>>>23)+a|0;j=j<<10|j>>>22;I=x+1352829926+I+(E^(A|~G))|0;I=(I<<5|I>>>27)+C|0;A=A<<10|A>>>22;a=a+B+(o^j^J)|0;a=(a<<11|a>>>21)+h|0;o=o<<10|o>>>22;C=u+1352829926+C+(I^(E|~A))|0;C=(C<<7|C>>>25)+G|0;E=E<<10|E>>>22;h=h+i+(J^o^a)|0;h=(h<<13|h>>>19)+j|0;J=J<<10|J>>>22;G=y+1352829926+G+(C^(I|~E))|0;G=(G<<7|G>>>25)+A|0;I=I<<10|I>>>22;j=j+F+(a^J^h)|0;j=(j<<14|j>>>18)+o|0;a=a<<10|a>>>22;A=w+1352829926+A+(G^(C|~I))|0;A=(A<<8|A>>>24)+E|0;C=C<<10|C>>>22;o=o+l+(h^a^j)|0;o=(o<<15|o>>>17)+J|0;h=h<<10|h>>>22;E=B+1352829926+E+(A^(G|~C))|0;E=(E<<11|E>>>21)+I|0;G=G<<10|G>>>22;J=J+H+(j^h^o)|0;J=(J<<6|J>>>26)+a|0;j=j<<10|j>>>22;I=D+1352829926+I+(E^(A|~G))|0;I=(I<<14|I>>>18)+C|0;A=A<<10|A>>>22;a=a+u+(o^j^J)|0;a=(a<<7|a>>>25)+h|0;o=o<<10|o>>>22;C=F+1352829926+C+(I^(E|~A))|0;C=(C<<14|C>>>18)+G|0;E=E<<10|E>>>22;h=h+m+(J^o^a)|0;h=(h<<9|h>>>23)+j|0;J=J<<10|J>>>22;G=f+1352829926+G+(C^(I|~E))|0;G=(G<<12|G>>>20)+A|0;I=I<<10|I>>>22;j=j+w+(a^J^h)|0;j=(j<<8|j>>>24)+o|0;a=a<<10|a>>>22;A=H+1352829926+A+(G^(C|~I))|0;A=(A<<6|A>>>26)+E|0;C=C<<10|C>>>22;o=z+1518500249+o+(j&h|a&~j)|0;o=(o<<7|o>>>25)+J|0;h=h<<10|h>>>22;E=y+1548603684+E+(A&C|G&~C)|0;E=(E<<9|E>>>23)+I|0;G=G<<10|G>>>22;J=x+1518500249+J+(o&j|h&~o)|0;J=(J<<6|J>>>26)+a|0;j=j<<10|j>>>22;I=l+1548603684+I+(E&G|A&~G)|0;I=(I<<13|I>>>19)+C|0;A=A<<10|A>>>22;a=u+1518500249+a+(J&o|j&~J)|0;a=(a<<8|a>>>24)+h|0;o=o<<10|o>>>22;C=f+1548603684+C+(I&A|E&~A)|0;C=(C<<15|C>>>17)+G|0;E=E<<10|E>>>22;h=D+1518500249+h+(a&J|o&~a)|0;h=(h<<13|h>>>19)+j|0;J=J<<10|J>>>22;G=z+1548603684+G+(C&E|I&~E)|0;G=(G<<7|G>>>25)+A|0;I=I<<10|I>>>22;j=F+1518500249+j+(h&a|J&~h)|0;j=(j<<11|j>>>21)+o|0;a=a<<10|a>>>22;A=s+1548603684+A+(G&I|C&~I)|0;A=(A<<12|A>>>20)+E|0;C=C<<10|C>>>22;o=y+1518500249+o+(j&h|a&~j)|0;o=(o<<9|o>>>23)+J|0;h=h<<10|h>>>22;E=u+1548603684+E+(A&C|G&~C)|0;E=(E<<8|E>>>24)+I|0;G=G<<10|G>>>22;J=w+1518500249+J+(o&j|h&~o)|0;J=(J<<7|J>>>25)+a|0;j=j<<10|j>>>22;I=t+1548603684+I+(E&G|A&~G)|0;I=(I<<9|I>>>23)+C|0;A=A<<10|A>>>22;a=f+1518500249+a+(J&o|j&~J)|0;a=(a<<15|a>>>17)+h|0;o=o<<10|o>>>22;C=F+1548603684+C+(I&A|E&~A)|0;C=(C<<11|C>>>21)+G|0;E=E<<10|E>>>22;h=H+1518500249+h+(a&J|o&~a)|0;h=(h<<7|h>>>25)+j|0;J=J<<10|J>>>22;G=m+1548603684+G+(C&E|I&~E)|0;G=(G<<7|G>>>25)+A|0;I=I<<10|I>>>22;j=s+1518500249+j+(h&a|J&~h)|0;j=(j<<12|j>>>20)+o|0;a=a<<10|a>>>22;A=w+1548603684+A+(G&I|C&~I)|0;A=(A<<7|A>>>25)+E|0;C=C<<10|C>>>22;o=i+1518500249+o+(j&h|a&~j)|0;o=(o<<15|o>>>17)+J|0;h=h<<10|h>>>22;E=B+1548603684+E+(A&C|G&~C)|0;E=(E<<12|E>>>20)+I|0;G=G<<10|G>>>22;J=t+1518500249+J+(o&j|h&~o)|0;J=(J<<9|J>>>23)+a|0;j=j<<10|j>>>22;I=H+1548603684+I+(E&G|A&~G)|0;I=(I<<7|I>>>25)+C|0;A=A<<10|A>>>22;a=v+1518500249+a+(J&o|j&~J)|0;a=(a<<11|a>>>21)+h|0;o=o<<10|o>>>22;C=x+1548603684+C+(I&A|E&~A)|0;C=(C<<6|C>>>26)+G|0;E=E<<10|E>>>22;h=m+1518500249+h+(a&J|o&~a)|0;h=(h<<7|h>>>25)+j|0;J=J<<10|J>>>22;G=i+1548603684+G+(C&E|I&~E)|0;G=(G<<15|G>>>17)+A|0;I=I<<10|I>>>22;j=l+1518500249+j+(h&a|J&~h)|0;j=(j<<13|j>>>19)+o|0;a=a<<10|a>>>22;A=D+1548603684+A+(G&I|C&~I)|0;A=(A<<13|A>>>19)+E|0;C=C<<10|C>>>22;q=~j;o=B+1518500249+o+(j&h|a&q)|0;o=(o<<12|o>>>20)+J|0;h=h<<10|h>>>22;E=v+1548603684+E+(A&C|G&~C)|0;E=(E<<11|E>>>21)+I|0;G=G<<10|G>>>22;q=f+1859775393+J+((o|q)^h)|0;q=(q<<11|q>>>21)+a|0;j=j<<10|j>>>22;I=w+1836072691+I+((E|~A)^G)|0;I=(I<<9|I>>>23)+C|0;A=A<<10|A>>>22;a=F+1859775393+a+((q|~o)^j)|0;a=(a<<13|a>>>19)+h|0;o=o<<10|o>>>22;C=t+1836072691+C+((I|~E)^A)|0;C=(C<<7|C>>>25)+G|0;E=E<<10|E>>>22;h=m+1859775393+h+((a|~q)^o)|0;h=(h<<6|h>>>26)+j|0;q=q<<10|q>>>22;G=D+1836072691+G+((C|~I)^E)|0;G=(G<<15|G>>>17)+A|0;I=I<<10|I>>>22;j=x+1859775393+j+((h|~a)^q)|0;j=(j<<7|j>>>25)+o|0;a=a<<10|a>>>22;A=f+1836072691+A+((G|~C)^I)|0;A=(A<<11|A>>>21)+E|0;C=C<<10|C>>>22;o=i+1859775393+o+((j|~h)^a)|0;o=(o<<14|o>>>18)+q|0;h=h<<10|h>>>22;E=z+1836072691+E+((A|~G)^C)|0;E=(E<<8|E>>>24)+I|0;G=G<<10|G>>>22;q=w+1859775393+q+((o|~j)^h)|0;q=(q<<9|q>>>23)+a|0;j=j<<10|j>>>22;I=m+1836072691+I+((E|~A)^G)|0;I=(I<<6|I>>>26)+C|0;A=A<<10|A>>>22;a=B+1859775393+a+((q|~o)^j)|0;a=(a<<13|a>>>19)+h|0;o=o<<10|o>>>22;C=y+1836072691+C+((I|~E)^A)|0;C=(C<<6|C>>>26)+G|0;E=E<<10|E>>>22;h=D+1859775393+h+((a|~q)^o)|0;h=(h<<15|h>>>17)+j|0;q=q<<10|q>>>22;G=i+1836072691+G+((C|~I)^E)|0;G=(G<<14|G>>>18)+A|0;I=I<<10|I>>>22;j=v+1859775393+j+((h|~a)^q)|0;j=(j<<14|j>>>18)+o|0;a=a<<10|a>>>22;A=l+1836072691+A+((G|~C)^I)|0;A=(A<<12|A>>>20)+E|0;C=C<<10|C>>>22;o=z+1859775393+o+((j|~h)^a)|0;o=(o<<8|o>>>24)+q|0;h=h<<10|h>>>22;E=B+1836072691+E+((A|~G)^C)|0;E=(E<<13|E>>>19)+I|0;G=G<<10|G>>>22;q=s+1859775393+q+((o|~j)^h)|0;q=(q<<13|q>>>19)+a|0;j=j<<10|j>>>22;I=H+1836072691+I+((E|~A)^G)|0;I=(I<<5|I>>>27)+C|0;A=A<<10|A>>>22;a=y+1859775393+a+((q|~o)^j)|0;a=(a<<6|a>>>26)+h|0;o=o<<10|o>>>22;C=v+1836072691+C+((I|~E)^A)|0;C=(C<<14|C>>>18)+G|0;E=E<<10|E>>>22;h=u+1859775393+h+((a|~q)^o)|0;h=(h<<5|h>>>27)+j|0;q=q<<10|q>>>22;G=F+1836072691+G+((C|~I)^E)|0;G=(G<<13|G>>>19)+A|0;I=I<<10|I>>>22;j=l+1859775393+j+((h|~a)^q)|0;j=(j<<12|j>>>20)+o|0;a=a<<10|a>>>22;A=s+1836072691+A+((G|~C)^I)|0;A=(A<<13|A>>>19)+E|0;C=C<<10|C>>>22;o=t+1859775393+o+((j|~h)^a)|0;o=(o<<7|o>>>25)+q|0;h=h<<10|h>>>22;E=x+1836072691+E+((A|~G)^C)|0;E=(E<<7|E>>>25)+I|0;G=G<<10|G>>>22;q=H+1859775393+q+((o|~j)^h)|0;q=(q<<5|q>>>27)+a|0;j=j<<10|j>>>22;I=u+1836072691+I+((E|~A)^G)|0;I=(I<<5|I>>>27)+C|0;A=A<<10|A>>>22;a=D+-1894007588+a+(q&j|o&~j)|0;a=(a<<11|a>>>21)+h|0;o=o<<10|o>>>22;C=B+2053994217+C+(I&E|A&~I)|0;C=(C<<15|C>>>17)+G|0;E=E<<10|E>>>22;h=i+-1894007588+h+(a&o|q&~o)|0;h=(h<<12|h>>>20)+j|0;q=q<<10|q>>>22;G=y+2053994217+G+(C&I|E&~C)|0;G=(G<<5|G>>>27)+A|0;I=I<<10|I>>>22;j=l+-1894007588+j+(h&q|a&~q)|0;j=(j<<14|j>>>18)+o|0;a=a<<10|a>>>22;A=x+2053994217+A+(G&C|I&~G)|0;A=(A<<8|A>>>24)+E|0;C=C<<10|C>>>22;o=F+-1894007588+o+(j&a|h&~a)|0;o=(o<<15|o>>>17)+q|0;h=h<<10|h>>>22;E=D+2053994217+E+(A&G|C&~A)|0;E=(E<<11|E>>>21)+I|0;G=G<<10|G>>>22;q=s+-1894007588+q+(o&h|j&~h)|0;q=(q<<14|q>>>18)+a|0;j=j<<10|j>>>22;I=f+2053994217+I+(E&A|G&~E)|0;I=(I<<14|I>>>18)+C|0;A=A<<10|A>>>22;a=B+-1894007588+a+(q&j|o&~j)|0;a=(a<<15|a>>>17)+h|0;o=o<<10|o>>>22;C=l+2053994217+C+(I&E|A&~I)|0;C=(C<<14|C>>>18)+G|0;E=E<<10|E>>>22;h=H+-1894007588+h+(a&o|q&~o)|0;h=(h<<9|h>>>23)+j|0;q=q<<10|q>>>22;G=w+2053994217+G+(C&I|E&~C)|0;G=(G<<6|G>>>26)+A|0;I=I<<10|I>>>22;j=x+-1894007588+j+(h&q|a&~q)|0;j=(j<<8|j>>>24)+o|0;a=a<<10|a>>>22;A=s+2053994217+A+(G&C|I&~G)|0;A=(A<<14|A>>>18)+E|0;C=C<<10|C>>>22;o=u+-1894007588+o+(j&a|h&~a)|0;o=(o<<9|o>>>23)+q|0;h=h<<10|h>>>22;E=t+2053994217+E+(A&G|C&~A)|0;E=(E<<6|E>>>26)+I|0;G=G<<10|G>>>22;q=f+-1894007588+q+(o&h|j&~h)|0;q=(q<<14|q>>>18)+a|0;j=j<<10|j>>>22;I=H+2053994217+I+(E&A|G&~E)|0;I=(I<<9|I>>>23)+C|0;A=A<<10|A>>>22;a=z+-1894007588+a+(q&j|o&~j)|0;a=(a<<5|a>>>27)+h|0;o=o<<10|o>>>22;C=v+2053994217+C+(I&E|A&~I)|0;C=(C<<12|C>>>20)+G|0;E=E<<10|E>>>22;h=w+-1894007588+h+(a&o|q&~o)|0;h=(h<<6|h>>>26)+j|0;q=q<<10|q>>>22;G=u+2053994217+G+(C&I|E&~C)|0;G=(G<<9|G>>>23)+A|0;I=I<<10|I>>>22;j=m+-1894007588+j+(h&q|a&~q)|0;j=(j<<8|j>>>24)+o|0;a=a<<10|a>>>22;A=i+2053994217+A+(G&C|I&~G)|0;A=(A<<12|A>>>20)+E|0;C=C<<10|C>>>22;o=t+-1894007588+o+(j&a|h&~a)|0;o=(o<<6|o>>>26)+q|0;h=h<<10|h>>>22;E=z+2053994217+E+(A&G|C&~A)|0;E=(E<<5|E>>>27)+I|0;G=G<<10|G>>>22;q=y+-1894007588+q+(o&h|j&~h)|0;q=(q<<5|q>>>27)+a|0;j=j<<10|j>>>22;I=F+2053994217+I+(E&A|G&~E)|0;I=(I<<15|I>>>17)+C|0;A=A<<10|A>>>22;a=v+-1894007588+a+(q&j|o&~j)|0;a=(a<<12|a>>>20)+h|0;o=o<<10|o>>>22;C=m+2053994217+C+(I&E|A&~I)|0;C=(C<<8|C>>>24)+G|0;E=E<<10|E>>>22;h=x+-1454113458+h+(a^(q|~o))|0;h=(h<<9|h>>>23)+j|0;q=q<<10|q>>>22;G=G+H+(I^E^C)|0;G=(G<<8|G>>>24)+A|0;I=I<<10|I>>>22;j=s+-1454113458+j+(h^(a|~q))|0;j=(j<<15|j>>>17)+o|0;a=a<<10|a>>>22;A=A+w+(C^I^G)|0;A=(A<<5|A>>>27)+E|0;C=C<<10|C>>>22;o=t+-1454113458+o+(j^(h|~a))|0;o=(o<<5|o>>>27)+q|0;h=h<<10|h>>>22;E=E+F+(G^C^A)|0;E=(E<<12|E>>>20)+I|0;G=G<<10|G>>>22;q=i+-1454113458+q+(o^(j|~h))|0;q=(q<<11|q>>>21)+a|0;j=j<<10|j>>>22;x=I+x+(A^G^E)|0;x=(x<<9|x>>>23)+C|0;A=A<<10|A>>>22;a=z+-1454113458+a+(q^(o|~j))|0;a=(a<<6|a>>>26)+h|0;o=o<<10|o>>>22;C=C+D+(E^A^x)|0;C=(C<<12|C>>>20)+G|0;E=E<<10|E>>>22;h=H+-1454113458+h+(a^(q|~o))|0;h=(h<<8|h>>>24)+j|0;q=q<<10|q>>>22;t=G+t+(x^E^C)|0;t=(t<<5|t>>>27)+A|0;x=x<<10|x>>>22;j=v+-1454113458+j+(h^(a|~q))|0;j=(j<<13|j>>>19)+o|0;a=a<<10|a>>>22;A=A+B+(C^x^t)|0;A=(A<<14|A>>>18)+E|0;C=C<<10|C>>>22;o=F+-1454113458+o+(j^(h|~a))|0;o=(o<<12|o>>>20)+q|0;h=h<<10|h>>>22;z=E+z+(t^C^A)|0;z=(z<<6|z>>>26)+x|0;t=t<<10|t>>>22;q=m+-1454113458+q+(o^(j|~h))|0;q=(q<<5|q>>>27)+a|0;j=j<<10|j>>>22;x=x+y+(A^t^z)|0;x=(x<<8|x>>>24)+C|0;A=A<<10|A>>>22;a=D+-1454113458+a+(q^(o|~j))|0;a=(a<<12|a>>>20)+h|0;o=o<<10|o>>>22;v=C+v+(z^A^x)|0;v=(v<<13|v>>>19)+t|0;z=z<<10|z>>>22;h=f+-1454113458+h+(a^(q|~o))|0;h=(h<<13|h>>>19)+j|0;q=q<<10|q>>>22;t=t+u+(x^z^v)|0;t=(t<<6|t>>>26)+A|0;x=x<<10|x>>>22;j=B+-1454113458+j+(h^(a|~q))|0;j=(j<<14|j>>>18)+o|0;a=a<<10|a>>>22;m=A+m+(v^x^t)|0;m=(m<<5|m>>>27)+z|0;v=v<<10|v>>>22;o=l+-1454113458+o+(j^(h|~a))|0;o=(o<<11|o>>>21)+q|0;h=h<<10|h>>>22;s=z+s+(t^v^m)|0;s=(s<<15|s>>>17)+x|0;t=t<<10|t>>>22;q=y+-1454113458+q+(o^(j|~h))|0;q=(q<<8|q>>>24)+a|0;j=j<<10|j>>>22;f=x+f+(m^t^s)|0;f=(f<<13|f>>>19)+v|0;m=m<<10|m>>>22;a=w+-1454113458+a+(q^(o|~j))|0;a=(a<<5|a>>>27)+h|0;o=o<<10|o>>>22;i=v+i+(s^m^f)|0;i=(i<<11|i>>>21)+t|0;s=s<<10|s>>>22;h=u+-1454113458+h+(a^(q|~o))|0;l=t+l+(f^s^i)|0;c[p>>2]=s+r+(q<<10|q>>>22);c[n>>2]=m+(c[k>>2]|0)+o;c[k>>2]=j+(c[g>>2]|0)+m+(l<<11|l>>>21);c[g>>2]=j+(c[b>>2]|0)+i+(h<<6|h>>>26);c[b>>2]=(f<<10|f>>>22)+e+a;return}function xb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;if(d|0){h=c[a>>2]|0;e=h&63;f=64-e|0;h=h+d|0;c[a>>2]=h;if(h>>>0<d>>>0){h=a+4|0;c[h>>2]=(c[h>>2]|0)+1}if(!((e|0)==0|f>>>0>d>>>0)){qc(a+28+e|0,b|0,f|0)|0;wb(a,a+28|0);e=0;b=b+f|0;d=d-f|0}if(d>>>0>63){g=d+-64|0;h=g&-64;f=b+(h+64)|0;while(1){wb(a,b);d=d+-64|0;if(d>>>0<=63)break;else b=b+64|0}b=f;d=g-h|0}if(d|0)qc(a+28+e|0,b|0,d|0)|0}return}function yb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e;g=c[b>>2]|0;h=c[b+4>>2]|0;a[f>>0]=g<<3;a[f+1>>0]=g>>>5;a[f+2>>0]=g>>>13;a[f+3>>0]=g>>>21;a[f+4>>0]=h<<3|g>>>29;a[f+5>>0]=h>>>5;a[f+6>>0]=h>>>13;a[f+7>>0]=h>>>21;g=g&63;xb(b,38733,(g>>>0<56?56:120)-g|0);xb(b,f,8);f=b+8|0;a[d>>0]=c[f>>2];a[d+1>>0]=(c[f>>2]|0)>>>8;a[d+2>>0]=(c[f>>2]|0)>>>16;a[d+3>>0]=(c[f>>2]|0)>>>24;f=b+12|0;a[d+4>>0]=c[f>>2];a[d+5>>0]=(c[f>>2]|0)>>>8;a[d+6>>0]=(c[f>>2]|0)>>>16;a[d+7>>0]=(c[f>>2]|0)>>>24;f=b+16|0;a[d+8>>0]=c[f>>2];a[d+9>>0]=(c[f>>2]|0)>>>8;a[d+10>>0]=(c[f>>2]|0)>>>16;a[d+11>>0]=(c[f>>2]|0)>>>24;f=b+20|0;a[d+12>>0]=c[f>>2];a[d+13>>0]=(c[f>>2]|0)>>>8;a[d+14>>0]=(c[f>>2]|0)>>>16;a[d+15>>0]=(c[f>>2]|0)>>>24;b=b+24|0;a[d+16>>0]=c[b>>2];a[d+17>>0]=(c[b>>2]|0)>>>8;a[d+18>>0]=(c[b>>2]|0)>>>16;a[d+19>>0]=(c[b>>2]|0)>>>24;i=e;return}function zb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+96|0;e=h;f=e+8|0;g=e;j=g+92|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(j|0));c[f>>2]=1732584193;c[e+12>>2]=-271733879;c[e+16>>2]=-1732584194;c[e+20>>2]=271733878;c[e+24>>2]=-1009589776;xb(e,a,b);yb(e,d);i=h;return}function Ab(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;y=i;i=i+64|0;t=y;u=c[a>>2]|0;v=a+4|0;w=a+8|0;x=a+12|0;q=a+16|0;r=a+20|0;s=a+24|0;p=a+28|0;g=0;o=u;a=c[p>>2]|0;h=c[s>>2]|0;j=c[r>>2]|0;k=c[q>>2]|0;e=c[x>>2]|0;l=c[w>>2]|0;f=c[v>>2]|0;while(1){n=((k>>>6|k<<26)^(k>>>11|k<<21)^(k>>>25|k<<7))+a+(h&~k^j&k)+(c[37828+(g<<2)>>2]|0)|0;a=c[b>>2]|0;c[t+(g<<2)>>2]=a;a=n+a|0;e=a+e|0;a=((o>>>2|o<<30)^(o>>>13|o<<19)^(o>>>22|o<<10))+(o&(l^f)^l&f)+a|0;g=g+1|0;if((g|0)==16){n=16;m=a;g=e;a=l;e=o;break}else{C=o;B=f;A=l;z=k;m=j;n=h;b=b+4|0;o=a;k=e;f=C;l=B;e=A;j=z;h=m;a=n}}while(1){A=n;n=n+1|0;z=c[t+((n&15)<<2)>>2]|0;b=c[t+((A+14&15)<<2)>>2]|0;C=((g>>>6|g<<26)^(g>>>11|g<<21)^(g>>>25|g<<7))+h+(j&~g^k&g)+(c[37828+(A<<2)>>2]|0)|0;B=t+((A&15)<<2)|0;b=((z>>>18|z<<14)^z>>>3^(z>>>7|z<<25))+(c[t+((A+9&15)<<2)>>2]|0)+(c[B>>2]|0)+((b>>>19|b<<13)^b>>>10^(b>>>17|b<<15))|0;c[B>>2]=b;b=C+b|0;a=b+a|0;b=((m>>>2|m<<30)^(m>>>13|m<<19)^(m>>>22|m<<10))+(m&(f^e)^f&e)+b|0;if((n|0)==64)break;else{o=m;z=e;A=f;B=g;C=k;h=j;m=b;g=a;e=o;f=z;a=A;k=B;j=C}}c[d>>2]=u+b;c[d+4>>2]=(c[v>>2]|0)+m;c[d+8>>2]=(c[w>>2]|0)+e;c[d+12>>2]=(c[x>>2]|0)+f;c[d+16>>2]=(c[q>>2]|0)+a;c[d+20>>2]=(c[r>>2]|0)+g;c[d+24>>2]=(c[s>>2]|0)+k;c[d+28>>2]=(c[p>>2]|0)+j;i=y;return}function Bb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;do if(e|0){n=b+32|0;g=n;h=c[g>>2]|0;g=c[g+4>>2]|0;f=jc(h|0,g|0,3)|0;f=f&63;if(f){i=64-f|0;j=b+40|0;f=j+f|0;if(i>>>0>e>>>0){qc(f|0,d|0,e|0)|0;b=nc(h|0,g|0,e<<3|0,0)|0;c[n>>2]=b;c[n+4>>2]=C;break}qc(f|0,d|0,i|0)|0;m=nc(h|0,g|0,i<<3|0,0)|0;f=n;c[f>>2]=m;c[f+4>>2]=C;e=e-i|0;f=0;do{m=b+40+(f<<2)|0;c[m>>2]=pc(c[m>>2]|0)|0;f=f+1|0}while((f|0)!=16);Ab(b,j,b);d=d+i|0}if(e>>>0>63){j=b+40|0;l=e+-64|0;m=l&-64;k=m+64|0;i=d;while(1){f=j;g=i;h=f+64|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(h|0));f=0;do{h=b+40+(f<<2)|0;c[h>>2]=pc(c[h>>2]|0)|0;f=f+1|0}while((f|0)!=16);Ab(b,j,b);g=n;g=nc(c[g>>2]|0,c[g+4>>2]|0,512,0)|0;h=n;c[h>>2]=g;c[h+4>>2]=C;e=e+-64|0;if(e>>>0<=63)break;else i=i+64|0}d=d+k|0;e=l-m|0}if(e|0){qc(b+40|0,d|0,e|0)|0;b=n;b=nc(c[b>>2]|0,c[b+4>>2]|0,e<<3|0,0)|0;c[n>>2]=b;c[n+4>>2]=C}}while(0);return}function Cb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;if(d){h=b+32|0;f=h;f=jc(c[f>>2]|0,c[f+4>>2]|0,3)|0;f=f&63;e=f+1|0;g=b+40|0;a[g+f>>0]=-128;if(e>>>0>56){ic(g+e|0,0,f^63|0)|0;e=0;do{f=b+40+(e<<2)|0;c[f>>2]=pc(c[f>>2]|0)|0;e=e+1|0}while((e|0)!=16);Ab(b,g,b);e=0}ic(g+e|0,0,56-e|0)|0;e=0;do{f=b+40+(e<<2)|0;c[f>>2]=pc(c[f>>2]|0)|0;e=e+1|0}while((e|0)!=14);e=c[h>>2]|0;c[b+96>>2]=c[h+4>>2];c[b+100>>2]=e;Ab(b,g,b);e=0;do{h=b+(e<<2)|0;c[h>>2]=pc(c[h>>2]|0)|0;e=e+1|0}while((e|0)!=8);e=d;f=b;g=e+32|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0))}e=b;g=e+104|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(g|0));return}function Db(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+112|0;e=g;c[e>>2]=c[9449];c[e+4>>2]=c[9450];c[e+8>>2]=c[9451];c[e+12>>2]=c[9452];c[e+16>>2]=c[9453];c[e+20>>2]=c[9454];c[e+24>>2]=c[9455];c[e+28>>2]=c[9456];f=e+32|0;h=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));Bb(e,a,b);Cb(e,d);i=g;return}function Eb(a){a=a|0;var b=0,d=0,e=0;if(a|0){b=a;d=8;e=b+64|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));ic(a+64|0,0,144)|0}return}function Fb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;L=i;i=i+128|0;F=L;K=a;J=c[K>>2]|0;K=c[K+4>>2]|0;B=a+8|0;w=B;D=a+16|0;e=D;E=a+24|0;f=E;G=a+32|0;p=G;H=a+40|0;q=H;I=a+48|0;m=I;A=a+56|0;h=A;j=0;l=J;u=K;t=c[w>>2]|0;z=c[e>>2]|0;w=c[w+4>>2]|0;a=c[e+4>>2]|0;e=c[f>>2]|0;f=c[f+4>>2]|0;o=c[p>>2]|0;p=c[p+4>>2]|0;g=c[h>>2]|0;h=c[h+4>>2]|0;r=c[q>>2]|0;q=c[q+4>>2]|0;k=c[m>>2]|0;m=c[m+4>>2]|0;while(1){v=jc(o|0,p|0,14)|0;N=C;x=kc(o|0,p|0,50)|0;N=N|C;y=jc(o|0,p|0,18)|0;O=C;M=kc(o|0,p|0,46)|0;O=N^(O|C);N=jc(o|0,p|0,41)|0;n=C;s=kc(o|0,p|0,23)|0;n=nc((v|x)^(y|M)^(N|s)|0,O^(n|C)|0,g|0,h|0)|0;n=nc(n|0,C|0,k&~o^r&o|0,m&~p^q&p|0)|0;O=72+(j<<3)|0;O=nc(n|0,C|0,c[O>>2]|0,c[O+4>>2]|0)|0;n=b;g=c[n>>2]|0;n=c[n+4>>2]|0;s=F+(j<<3)|0;c[s>>2]=g;c[s+4>>2]=n;n=nc(O|0,C|0,g|0,n|0)|0;g=C;O=jc(l|0,u|0,28)|0;s=C;N=kc(l|0,u|0,36)|0;s=s|C;M=jc(l|0,u|0,34)|0;y=C;h=kc(l|0,u|0,30)|0;y=s^(y|C);s=jc(l|0,u|0,39)|0;x=C;v=kc(l|0,u|0,25)|0;x=nc((O|N)^(M|h)^(s|v)|0,y^(x|C)|0,l&(z^t)^z&t|0,u&(a^w)^a&w|0)|0;y=C;e=nc(n|0,g|0,e|0,f|0)|0;f=C;g=nc(x|0,y|0,n|0,g|0)|0;n=C;j=j+1|0;if((j|0)==16){y=16;x=e;v=f;s=p;p=g;j=t;h=u;g=w;b=z;break}else{x=p;y=o;h=m;M=k;N=u;O=l;b=b+8|0;l=g;u=n;o=e;p=f;m=q;k=r;q=x;r=y;g=M;f=a;e=z;a=w;w=N;z=t;t=O}}while(1){t=y;y=y+1|0;T=F+((y&15)<<3)|0;W=c[T>>2]|0;T=c[T+4>>2]|0;S=jc(W|0,T|0,1)|0;Q=C;R=kc(W|0,T|0,63)|0;Q=Q|C;V=jc(W|0,T|0,8)|0;O=C;U=kc(W|0,T|0,56)|0;O=O|C;T=jc(W|0,T|0,7)|0;Q=O^C^Q;O=F+((t+14&15)<<3)|0;W=c[O>>2]|0;O=c[O+4>>2]|0;u=jc(W|0,O|0,19)|0;e=C;f=kc(W|0,O|0,45)|0;e=e|C;N=jc(W|0,O|0,61)|0;_=C;w=kc(W|0,O|0,3)|0;_=_|C;O=jc(W|0,O|0,6)|0;e=_^C^e;_=jc(x|0,v|0,14)|0;W=C;Z=kc(x|0,v|0,50)|0;W=W|C;Y=jc(x|0,v|0,18)|0;P=C;X=kc(x|0,v|0,46)|0;P=W^(P|C);W=jc(x|0,v|0,41)|0;z=C;M=kc(x|0,v|0,23)|0;m=nc((_|Z)^(Y|X)^(W|M)|0,P^(z|C)|0,k|0,m|0)|0;m=nc(m|0,C|0,r&~x^o&x|0,q&~v^s&v|0)|0;z=72+(t<<3)|0;z=nc(m|0,C|0,c[z>>2]|0,c[z+4>>2]|0)|0;m=C;P=F+((t+9&15)<<3)|0;t=F+((t&15)<<3)|0;M=t;k=c[M>>2]|0;M=c[M+4>>2]|0;P=nc((V|U)^T^(S|R)|0,Q|0,c[P>>2]|0,c[P+4>>2]|0)|0;M=nc(P|0,C|0,k|0,M|0)|0;e=nc(M|0,C|0,(N|w)^O^(u|f)|0,e|0)|0;f=C;c[t>>2]=e;c[t+4>>2]=f;f=nc(z|0,m|0,e|0,f|0)|0;e=C;m=jc(p|0,n|0,28)|0;z=C;t=kc(p|0,n|0,36)|0;z=z|C;u=jc(p|0,n|0,34)|0;O=C;w=kc(p|0,n|0,30)|0;O=z^(O|C);z=jc(p|0,n|0,39)|0;N=C;M=kc(p|0,n|0,25)|0;N=nc((m|t)^(u|w)^(z|M)|0,O^(N|C)|0,p&(j^l)^j&l|0,n&(g^h)^g&h|0)|0;O=C;a=nc(f|0,e|0,b|0,a|0)|0;b=C;e=nc(N|0,O|0,f|0,e|0)|0;f=C;if((y|0)==80)break;else{X=n;Y=p;Z=v;_=x;m=q;k=r;x=a;v=b;p=e;n=f;a=g;b=j;g=h;h=X;j=l;l=Y;q=s;r=o;s=Z;o=_}}_=nc(J|0,K|0,e|0,f|0)|0;Z=d;c[Z>>2]=_;c[Z+4>>2]=C;Z=B;Z=nc(c[Z>>2]|0,c[Z+4>>2]|0,p|0,n|0)|0;_=d+8|0;c[_>>2]=Z;c[_+4>>2]=C;_=D;_=nc(c[_>>2]|0,c[_+4>>2]|0,l|0,h|0)|0;Z=d+16|0;c[Z>>2]=_;c[Z+4>>2]=C;Z=E;Z=nc(c[Z>>2]|0,c[Z+4>>2]|0,j|0,g|0)|0;_=d+24|0;c[_>>2]=Z;c[_+4>>2]=C;_=G;_=nc(c[_>>2]|0,c[_+4>>2]|0,a|0,b|0)|0;Z=d+32|0;c[Z>>2]=_;c[Z+4>>2]=C;Z=H;Z=nc(c[Z>>2]|0,c[Z+4>>2]|0,x|0,v|0)|0;_=d+40|0;c[_>>2]=Z;c[_+4>>2]=C;_=I;_=nc(c[_>>2]|0,c[_+4>>2]|0,o|0,s|0)|0;Z=d+48|0;c[Z>>2]=_;c[Z+4>>2]=C;Z=A;Z=nc(c[Z>>2]|0,c[Z+4>>2]|0,r|0,q|0)|0;_=d+56|0;c[_>>2]=Z;c[_+4>>2]=C;i=L;return}function Gb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;do if(e|0){o=b+64|0;g=o;h=c[g>>2]|0;g=c[g+4>>2]|0;f=jc(h|0,g|0,3)|0;f=f&127;if(f){i=128-f|0;j=b+80|0;f=j+f|0;if(i>>>0>e>>>0){qc(f|0,d|0,e|0)|0;n=e<<3;m=nc(h|0,g|0,n|0,0)|0;l=C;c[o>>2]=m;c[o+4>>2]=l;if(!(l>>>0<0|(l|0)==0&m>>>0<n>>>0))break;o=b+72|0;b=o;b=nc(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;c[o>>2]=b;c[o+4>>2]=C;break}qc(f|0,d|0,i|0)|0;n=i<<3;m=nc(h|0,g|0,n|0,0)|0;l=C;k=o;c[k>>2]=m;c[k+4>>2]=l;if(l>>>0<0|(l|0)==0&m>>>0<n>>>0){n=b+72|0;m=n;m=nc(c[m>>2]|0,c[m+4>>2]|0,1,0)|0;c[n>>2]=m;c[n+4>>2]=C}e=e-i|0;f=0;do{n=b+80+(f<<3)|0;m=n;m=ma(c[m>>2]|0,c[m+4>>2]|0)|0;c[n>>2]=m;c[n+4>>2]=C;f=f+1|0}while((f|0)!=16);Fb(b,j,b);d=d+i|0}if(e>>>0>127){j=b+80|0;k=b+72|0;m=e+-128|0;n=m&-128;l=n+128|0;i=d;while(1){f=j;g=i;h=f+128|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(h|0));f=0;do{h=b+80+(f<<3)|0;g=h;g=ma(c[g>>2]|0,c[g+4>>2]|0)|0;c[h>>2]=g;c[h+4>>2]=C;f=f+1|0}while((f|0)!=16);Fb(b,j,b);g=o;h=c[g>>2]|0;g=c[g+4>>2]|0;p=nc(h|0,g|0,1024,0)|0;f=o;c[f>>2]=p;c[f+4>>2]=C;if(g>>>0>4294967295|(g|0)==-1&h>>>0>4294966271){h=k;h=nc(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;p=k;c[p>>2]=h;c[p+4>>2]=C}e=e+-128|0;if(e>>>0<=127)break;else i=i+128|0}d=d+l|0;e=m-n|0}if(e|0?(qc(b+80|0,d|0,e|0)|0,p=e<<3,n=o,n=nc(c[n>>2]|0,c[n+4>>2]|0,p|0,0)|0,m=C,o,c[o>>2]=n,c[o+4>>2]=m,m>>>0<0|(m|0)==0&n>>>0<p>>>0):0){p=b+72|0;o=p;o=nc(c[o>>2]|0,c[o+4>>2]|0,1,0)|0;c[p>>2]=o;c[p+4>>2]=C}}while(0);return}function Hb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if(d){h=b+64|0;f=h;f=jc(c[f>>2]|0,c[f+4>>2]|0,3)|0;f=f&127;e=f+1|0;g=b+80|0;a[g+f>>0]=-128;if(e>>>0>112){ic(g+e|0,0,f^127|0)|0;e=0;do{f=b+80+(e<<3)|0;i=f;i=ma(c[i>>2]|0,c[i+4>>2]|0)|0;c[f>>2]=i;c[f+4>>2]=C;e=e+1|0}while((e|0)!=16);Fb(b,g,b);e=0}ic(g+e|0,0,112-e|0)|0;e=0;do{i=b+80+(e<<3)|0;f=i;f=ma(c[f>>2]|0,c[f+4>>2]|0)|0;c[i>>2]=f;c[i+4>>2]=C;e=e+1|0}while((e|0)!=14);f=b+72|0;e=c[f+4>>2]|0;i=b+192|0;c[i>>2]=c[f>>2];c[i+4>>2]=e;i=c[h+4>>2]|0;e=b+200|0;c[e>>2]=c[h>>2];c[e+4>>2]=i;Fb(b,g,b);e=0;do{i=b+(e<<3)|0;h=i;h=ma(c[h>>2]|0,c[h+4>>2]|0)|0;c[i>>2]=h;c[i+4>>2]=C;e=e+1|0}while((e|0)!=8);e=d;f=b;g=e+64|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0))}ic(b|0,0,208)|0;return}function Ib(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+208|0;e=g;f=e;h=8;j=f+64|0;do{c[f>>2]=c[h>>2];f=f+4|0;h=h+4|0}while((f|0)<(j|0));ic(e+64|0,0,144)|0;Gb(e,a,b);Hb(e,d);i=g;return}function Jb(){var a=0,b=0,d=0;d=i;i=i+16|0;b=d;a=c[9714]|0;if(!a){a=bc(38797,38810)|0;c[9714]=a}if((dc(b,1,4,a)|0)==4){i=d;return c[b>>2]|0}else pa(38812,38828,60,38838);return 0}function Kb(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=c[a+60>>2];a=Nb(ha(6,d|0)|0)|0;i=b;return a|0}function Lb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[9715]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=Nb(qa(145,h|0)|0)|0}else{ga(1,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=Nb(qa(145,g|0)|0)|0;ba(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){g=c[k>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-j);if(!(c[l>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=m;return f|0}function Mb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((Nb(ja(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function Nb(a){a=a|0;if(a>>>0>4294963200){c[(Ob()|0)>>2]=0-a;a=-1}return a|0}function Ob(){var a=0;if(!(c[9715]|0))a=38904;else a=c[(rc()|0)+64>>2]|0;return a|0}function Pb(a){a=a|0;if(!(c[a+68>>2]|0))Qb(a);return}function Qb(a){a=a|0;return}function Rb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;n=q+16|0;m=q;j=q+32|0;o=a+28|0;h=c[o>>2]|0;c[j>>2]=h;p=a+20|0;h=(c[p>>2]|0)-h|0;c[j+4>>2]=h;c[j+8>>2]=b;c[j+12>>2]=d;k=a+60|0;l=a+44|0;g=2;b=h+d|0;while(1){if(!(c[9715]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=j;c[n+8>>2]=g;f=Nb(ra(146,n|0)|0)|0}else{ga(2,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=j;c[m+8>>2]=g;f=Nb(ra(146,m|0)|0)|0;ba(0)}if((b|0)==(f|0)){b=6;break}if((f|0)<0){b=8;break}b=b-f|0;e=c[j+4>>2]|0;if(f>>>0<=e>>>0)if((g|0)==2){c[o>>2]=(c[o>>2]|0)+f;g=2;h=j}else h=j;else{h=c[l>>2]|0;c[o>>2]=h;c[p>>2]=h;f=f-e|0;g=g+-1|0;h=j+8|0;e=c[j+12>>2]|0}c[h>>2]=(c[h>>2]|0)+f;c[h+4>>2]=e-f;j=h}if((b|0)==6){n=c[l>>2]|0;c[a+16>>2]=n+(c[a+48>>2]|0);a=n;c[o>>2]=a;c[p>>2]=a}else if((b|0)==8){c[a+16>>2]=0;c[o>>2]=0;c[p>>2]=0;c[a>>2]=c[a>>2]|32;if((g|0)==2)d=0;else d=d-(c[j+4>>2]|0)|0}i=q;return d|0}function Sb(a){a=a|0;if(!(c[a+68>>2]|0))Qb(a);return}function Tb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+80|0;f=g;c[b+36>>2]=3;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21505,c[f+8>>2]=g+12,da(54,f|0)|0):0)a[b+75>>0]=-1;f=Rb(b,d,e)|0;i=g;return f|0}function Ub(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=4;else{d=f;while(1){if(!(a[b>>0]|0)){b=d;break a}b=b+1|0;d=b;if(!(d&3)){e=4;break}}}while(0);if((e|0)==4){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function Vb(a){a=a|0;return 0}function Wb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(f)i=6;else e=0;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)!=g<<24>>24){f=R(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009|0)break;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break c}}else i=11;while(0);if((i|0)==11)if(!e){e=0;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;b=b+1|0;e=e+-1|0;if(!e){e=0;break}}}}while(0);return (e|0?b:0)|0}function Xb(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=Yb(a)|0;break}d=(Vb(a)|0)==0;b=Yb(a)|0;if(!d)Qb(a)}else{if(!(c[9549]|0))b=0;else b=Xb(c[9549]|0)|0;ea(38888);a=c[9721]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=Vb(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=Yb(a)|0|b;if(d|0)Qb(a);a=c[a+56>>2]|0}while((a|0)!=0);na(38888)}while(0);return b|0}function Yb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;h=a+28|0;if((c[b>>2]|0)>>>0>(c[h>>2]|0)>>>0?(va[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)a=-1;else{d=a+4|0;e=c[d>>2]|0;f=a+8|0;g=c[f>>2]|0;if(e>>>0<g>>>0)va[c[a+40>>2]&7](a,e-g|0,1)|0;c[a+16>>2]=0;c[h>>2]=0;c[b>>2]=0;c[f>>2]=0;c[d>>2]=0;a=0}return a|0}function Zb(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)va[c[b+36>>2]&7](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function _b(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+112|0;n=o+40|0;l=o+24|0;k=o+16|0;g=o;m=o+52|0;f=a[d>>0]|0;if(Wb(38847,f<<24>>24,4)|0){e=ec(1144)|0;if(!e)e=0;else{h=e;j=h+112|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(j|0));if(!($b(d,43)|0))c[e>>2]=f<<24>>24==114?8:4;if($b(d,101)|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;ca(221,g|0)|0;f=a[d>>0]|0}if(f<<24>>24==97){c[k>>2]=b;c[k+4>>2]=3;f=ca(221,k|0)|0;if(!(f&1024)){c[l>>2]=b;c[l+4>>2]=4;c[l+8>>2]=f|1024;ca(221,l|0)|0}d=c[e>>2]|128;c[e>>2]=d}else d=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+120;c[e+48>>2]=1024;f=e+75|0;a[f>>0]=-1;if((d&8|0)==0?(c[n>>2]=b,c[n+4>>2]=21505,c[n+8>>2]=m,(da(54,n|0)|0)==0):0)a[f>>0]=10;c[e+32>>2]=4;c[e+36>>2]=3;c[e+40>>2]=2;c[e+12>>2]=1;if(!(c[9716]|0))c[e+76>>2]=-1;ea(38888);f=c[9721]|0;c[e+56>>2]=f;if(f|0)c[f+52>>2]=e;c[9721]=e;na(38888)}}else{c[(Ob()|0)>>2]=22;e=0}i=o;return e|0}function $b(b,c){b=b|0;c=c|0;b=ac(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function ac(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(Ub(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=R(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function bc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g+16|0;e=g;if(Wb(38847,a[d>>0]|0,4)|0){h=cc(d)|0|32768;c[e>>2]=b;c[e+4>>2]=h;c[e+8>>2]=438;e=Nb(ka(5,e|0)|0)|0;if((e|0)>=0){b=_b(e,d)|0;if(!b){c[f>>2]=e;ha(6,f|0)|0;b=0}}else b=0}else{c[(Ob()|0)>>2]=22;b=0}i=g;return b|0}function cc(b){b=b|0;var c=0,d=0,e=0;d=($b(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=($b(b,120)|0)==0;d=e?d:d|128;b=($b(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function dc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=R(e,d)|0;if((c[f+76>>2]|0)>-1)j=Vb(f)|0;else j=0;g=f+74|0;i=a[g>>0]|0;a[g>>0]=i+255|i;g=f+4|0;i=c[g>>2]|0;h=(c[f+8>>2]|0)-i|0;if((h|0)>0){h=h>>>0<k>>>0?h:k;qc(b|0,i|0,h|0)|0;c[g>>2]=i+h;g=k-h|0;b=b+h|0}else g=k;a:do if(!g)l=13;else{i=f+32|0;while(1){if(Zb(f)|0)break;h=va[c[i>>2]&7](f,b,g)|0;if((h+1|0)>>>0<2)break;g=g-h|0;if(!g){l=13;break a}else b=b+h|0}if(j|0)Qb(f);e=((k-g|0)>>>0)/(d>>>0)|0}while(0);if((l|0)==13)if(j)Qb(f);return e|0}function ec(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=i;i=i+16|0;p=L;do if(a>>>0<245){o=a>>>0<11?16:a+11&-8;a=o>>>3;t=c[9727]|0;d=t>>>a;if(d&3|0){a=(d&1^1)+a|0;d=38948+(a<<1<<2)|0;e=d+8|0;f=c[e>>2]|0;g=f+8|0;h=c[g>>2]|0;do if((d|0)!=(h|0)){if(h>>>0<(c[9731]|0)>>>0)fa();b=h+12|0;if((c[b>>2]|0)==(f|0)){c[b>>2]=d;c[e>>2]=h;break}else fa()}else c[9727]=t&~(1<<a);while(0);K=a<<3;c[f+4>>2]=K|3;K=f+K+4|0;c[K>>2]=c[K>>2]|1;K=g;i=L;return K|0}s=c[9729]|0;if(o>>>0>s>>>0){if(d|0){j=2<<a;a=d<<a&(j|0-j);a=(a&0-a)+-1|0;j=a>>>12&16;a=a>>>j;e=a>>>5&8;a=a>>>e;g=a>>>2&4;a=a>>>g;d=a>>>1&2;a=a>>>d;b=a>>>1&1;b=(e|j|g|d|b)+(a>>>b)|0;a=38948+(b<<1<<2)|0;d=a+8|0;g=c[d>>2]|0;j=g+8|0;e=c[j>>2]|0;do if((a|0)!=(e|0)){if(e>>>0<(c[9731]|0)>>>0)fa();f=e+12|0;if((c[f>>2]|0)==(g|0)){c[f>>2]=a;c[d>>2]=e;k=t;break}else fa()}else{k=t&~(1<<b);c[9727]=k}while(0);h=(b<<3)-o|0;c[g+4>>2]=o|3;e=g+o|0;c[e+4>>2]=h|1;c[e+h>>2]=h;if(s|0){f=c[9732]|0;b=s>>>3;d=38948+(b<<1<<2)|0;b=1<<b;if(k&b){b=d+8|0;a=c[b>>2]|0;if(a>>>0<(c[9731]|0)>>>0)fa();else{l=a;m=b}}else{c[9727]=k|b;l=d;m=d+8|0}c[m>>2]=f;c[l+12>>2]=f;c[f+8>>2]=l;c[f+12>>2]=d}c[9729]=h;c[9732]=e;K=j;i=L;return K|0}l=c[9728]|0;if(l){a=(l&0-l)+-1|0;J=a>>>12&16;a=a>>>J;I=a>>>5&8;a=a>>>I;K=a>>>2&4;a=a>>>K;j=a>>>1&2;a=a>>>j;k=a>>>1&1;k=c[39212+((I|J|K|j|k)+(a>>>k)<<2)>>2]|0;a=k;j=k;k=(c[k+4>>2]&-8)-o|0;while(1){b=c[a+16>>2]|0;if(!b){b=c[a+20>>2]|0;if(!b)break}K=(c[b+4>>2]&-8)-o|0;J=K>>>0<k>>>0;a=b;j=J?b:j;k=J?K:k}f=c[9731]|0;if(j>>>0<f>>>0)fa();h=j+o|0;if(j>>>0>=h>>>0)fa();g=c[j+24>>2]|0;d=c[j+12>>2]|0;do if((d|0)==(j|0)){a=j+20|0;b=c[a>>2]|0;if(!b){a=j+16|0;b=c[a>>2]|0;if(!b){n=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e|0){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}if(a>>>0<f>>>0)fa();else{c[a>>2]=0;n=b;break}}else{e=c[j+8>>2]|0;if(e>>>0<f>>>0)fa();b=e+12|0;if((c[b>>2]|0)!=(j|0))fa();a=d+8|0;if((c[a>>2]|0)==(j|0)){c[b>>2]=d;c[a>>2]=e;n=d;break}else fa()}while(0);do if(g|0){b=c[j+28>>2]|0;a=39212+(b<<2)|0;if((j|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[9728]=l&~(1<<b);break}}else{if(g>>>0<(c[9731]|0)>>>0)fa();b=g+16|0;if((c[b>>2]|0)==(j|0))c[b>>2]=n;else c[g+20>>2]=n;if(!n)break}a=c[9731]|0;if(n>>>0<a>>>0)fa();c[n+24>>2]=g;b=c[j+16>>2]|0;do if(b|0)if(b>>>0<a>>>0)fa();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);b=c[j+20>>2]|0;if(b|0)if(b>>>0<(c[9731]|0)>>>0)fa();else{c[n+20>>2]=b;c[b+24>>2]=n;break}}while(0);if(k>>>0<16){K=k+o|0;c[j+4>>2]=K|3;K=j+K+4|0;c[K>>2]=c[K>>2]|1}else{c[j+4>>2]=o|3;c[h+4>>2]=k|1;c[h+k>>2]=k;if(s|0){e=c[9732]|0;b=s>>>3;d=38948+(b<<1<<2)|0;b=1<<b;if(t&b){b=d+8|0;a=c[b>>2]|0;if(a>>>0<(c[9731]|0)>>>0)fa();else{q=a;r=b}}else{c[9727]=t|b;q=d;r=d+8|0}c[r>>2]=e;c[q+12>>2]=e;c[e+8>>2]=q;c[e+12>>2]=d}c[9729]=k;c[9732]=h}K=j+8|0;i=L;return K|0}}}else if(a>>>0<=4294967231){a=a+11|0;o=a&-8;l=c[9728]|0;if(l){e=0-o|0;a=a>>>8;if(a)if(o>>>0>16777215)k=31;else{r=(a+1048320|0)>>>16&8;D=a<<r;q=(D+520192|0)>>>16&4;D=D<<q;k=(D+245760|0)>>>16&2;k=14-(q|r|k)+(D<<k>>>15)|0;k=o>>>(k+7|0)&1|k<<1}else k=0;a=c[39212+(k<<2)>>2]|0;a:do if(!a){d=0;f=0;D=86}else{f=0;j=a;h=o<<((k|0)==31?0:25-(k>>>1)|0);d=0;while(1){a=(c[j+4>>2]&-8)-o|0;if(a>>>0<e>>>0)if(!a){a=j;e=0;d=j;D=90;break a}else{f=j;e=a}a=c[j+20>>2]|0;j=c[j+16+(h>>>31<<2)>>2]|0;d=(a|0)==0|(a|0)==(j|0)?d:a;a=(j|0)==0;if(a){D=86;break}else h=h<<(a&1^1)}}while(0);if((D|0)==86){if((d|0)==0&(f|0)==0){a=2<<k;a=l&(a|0-a);if(!a)break;r=(a&0-a)+-1|0;m=r>>>12&16;r=r>>>m;k=r>>>5&8;r=r>>>k;n=r>>>2&4;r=r>>>n;q=r>>>1&2;r=r>>>q;d=r>>>1&1;d=c[39212+((k|m|n|q|d)+(r>>>d)<<2)>>2]|0}if(!d){k=f;j=e}else{a=f;D=90}}if((D|0)==90)while(1){D=0;r=(c[d+4>>2]&-8)-o|0;f=r>>>0<e>>>0;e=f?r:e;a=f?d:a;f=c[d+16>>2]|0;if(f|0){d=f;D=90;continue}d=c[d+20>>2]|0;if(!d){k=a;j=e;break}else D=90}if((k|0)!=0?j>>>0<((c[9729]|0)-o|0)>>>0:0){f=c[9731]|0;if(k>>>0<f>>>0)fa();h=k+o|0;if(k>>>0>=h>>>0)fa();g=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){a=k+20|0;b=c[a>>2]|0;if(!b){a=k+16|0;b=c[a>>2]|0;if(!b){s=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e|0){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}if(a>>>0<f>>>0)fa();else{c[a>>2]=0;s=b;break}}else{e=c[k+8>>2]|0;if(e>>>0<f>>>0)fa();b=e+12|0;if((c[b>>2]|0)!=(k|0))fa();a=d+8|0;if((c[a>>2]|0)==(k|0)){c[b>>2]=d;c[a>>2]=e;s=d;break}else fa()}while(0);do if(g){b=c[k+28>>2]|0;a=39212+(b<<2)|0;if((k|0)==(c[a>>2]|0)){c[a>>2]=s;if(!s){t=l&~(1<<b);c[9728]=t;break}}else{if(g>>>0<(c[9731]|0)>>>0)fa();b=g+16|0;if((c[b>>2]|0)==(k|0))c[b>>2]=s;else c[g+20>>2]=s;if(!s){t=l;break}}a=c[9731]|0;if(s>>>0<a>>>0)fa();c[s+24>>2]=g;b=c[k+16>>2]|0;do if(b|0)if(b>>>0<a>>>0)fa();else{c[s+16>>2]=b;c[b+24>>2]=s;break}while(0);b=c[k+20>>2]|0;if(b)if(b>>>0<(c[9731]|0)>>>0)fa();else{c[s+20>>2]=b;c[b+24>>2]=s;t=l;break}else t=l}else t=l;while(0);do if(j>>>0>=16){c[k+4>>2]=o|3;c[h+4>>2]=j|1;c[h+j>>2]=j;b=j>>>3;if(j>>>0<256){d=38948+(b<<1<<2)|0;a=c[9727]|0;b=1<<b;if(a&b){b=d+8|0;a=c[b>>2]|0;if(a>>>0<(c[9731]|0)>>>0)fa();else{B=a;C=b}}else{c[9727]=a|b;B=d;C=d+8|0}c[C>>2]=h;c[B+12>>2]=h;c[h+8>>2]=B;c[h+12>>2]=d;break}b=j>>>8;if(b)if(j>>>0>16777215)b=31;else{J=(b+1048320|0)>>>16&8;K=b<<J;I=(K+520192|0)>>>16&4;K=K<<I;b=(K+245760|0)>>>16&2;b=14-(I|J|b)+(K<<b>>>15)|0;b=j>>>(b+7|0)&1|b<<1}else b=0;d=39212+(b<<2)|0;c[h+28>>2]=b;a=h+16|0;c[a+4>>2]=0;c[a>>2]=0;a=1<<b;if(!(t&a)){c[9728]=t|a;c[d>>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;break}a=j<<((b|0)==31?0:25-(b>>>1)|0);e=c[d>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(j|0)){D=148;break}d=e+16+(a>>>31<<2)|0;b=c[d>>2]|0;if(!b){D=145;break}else{a=a<<1;e=b}}if((D|0)==145)if(d>>>0<(c[9731]|0)>>>0)fa();else{c[d>>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;break}else if((D|0)==148){b=e+8|0;a=c[b>>2]|0;K=c[9731]|0;if(a>>>0>=K>>>0&e>>>0>=K>>>0){c[a+12>>2]=h;c[b>>2]=h;c[h+8>>2]=a;c[h+12>>2]=e;c[h+24>>2]=0;break}else fa()}}else{K=j+o|0;c[k+4>>2]=K|3;K=k+K+4|0;c[K>>2]=c[K>>2]|1}while(0);K=k+8|0;i=L;return K|0}}}else o=-1;while(0);d=c[9729]|0;if(d>>>0>=o>>>0){b=d-o|0;a=c[9732]|0;if(b>>>0>15){K=a+o|0;c[9732]=K;c[9729]=b;c[K+4>>2]=b|1;c[K+b>>2]=b;c[a+4>>2]=o|3}else{c[9729]=0;c[9732]=0;c[a+4>>2]=d|3;K=a+d+4|0;c[K>>2]=c[K>>2]|1}K=a+8|0;i=L;return K|0}j=c[9730]|0;if(j>>>0>o>>>0){I=j-o|0;c[9730]=I;K=c[9733]|0;J=K+o|0;c[9733]=J;c[J+4>>2]=I|1;c[K+4>>2]=o|3;K=K+8|0;i=L;return K|0}if(!(c[9845]|0)){c[9847]=4096;c[9846]=4096;c[9848]=-1;c[9849]=-1;c[9850]=0;c[9838]=0;a=p&-16^1431655768;c[p>>2]=a;c[9845]=a;a=4096}else a=c[9847]|0;k=o+48|0;l=o+47|0;h=a+l|0;f=0-a|0;m=h&f;if(m>>>0<=o>>>0){K=0;i=L;return K|0}a=c[9837]|0;if(a|0?(B=c[9835]|0,C=B+m|0,C>>>0<=B>>>0|C>>>0>a>>>0):0){K=0;i=L;return K|0}b:do if(!(c[9838]&4)){d=c[9733]|0;c:do if(d){e=39356;while(1){a=c[e>>2]|0;if(a>>>0<=d>>>0?(u=e+4|0,(a+(c[u>>2]|0)|0)>>>0>d>>>0):0)break;a=c[e+8>>2]|0;if(!a){D=172;break c}else e=a}d=h-j&f;if(d>>>0<2147483647){a=oc(d|0)|0;if((a|0)==((c[e>>2]|0)+(c[u>>2]|0)|0)){if((a|0)!=(-1|0)){h=d;g=a;D=190;break b}}else{b=d;D=180}}}else D=172;while(0);do if(((D|0)==172?(g=oc(0)|0,(g|0)!=(-1|0)):0)?(b=g,v=c[9846]|0,w=v+-1|0,b=((w&b|0)==0?0:(w+b&0-v)-b|0)+m|0,v=c[9835]|0,w=b+v|0,b>>>0>o>>>0&b>>>0<2147483647):0){C=c[9837]|0;if(C|0?w>>>0<=v>>>0|w>>>0>C>>>0:0)break;a=oc(b|0)|0;if((a|0)==(g|0)){h=b;D=190;break b}else D=180}while(0);d:do if((D|0)==180){d=0-b|0;do if(k>>>0>b>>>0&(b>>>0<2147483647&(a|0)!=(-1|0))?(x=c[9847]|0,x=l-b+x&0-x,x>>>0<2147483647):0)if((oc(x|0)|0)==(-1|0)){oc(d|0)|0;break d}else{b=x+b|0;break}while(0);if((a|0)!=(-1|0)){h=b;g=a;D=190;break b}}while(0);c[9838]=c[9838]|4;D=187}else D=187;while(0);if((((D|0)==187?m>>>0<2147483647:0)?(A=oc(m|0)|0,y=oc(0)|0,A>>>0<y>>>0&((A|0)!=(-1|0)&(y|0)!=(-1|0))):0)?(z=y-A|0,z>>>0>(o+40|0)>>>0):0){h=z;g=A;D=190}if((D|0)==190){b=(c[9835]|0)+h|0;c[9835]=b;if(b>>>0>(c[9836]|0)>>>0)c[9836]=b;l=c[9733]|0;do if(l){b=39356;while(1){a=c[b>>2]|0;d=b+4|0;e=c[d>>2]|0;if((g|0)==(a+e|0)){D=200;break}f=c[b+8>>2]|0;if(!f)break;else b=f}if(((D|0)==200?(c[b+12>>2]&8|0)==0:0)?l>>>0<g>>>0&l>>>0>=a>>>0:0){c[d>>2]=e+h;K=l+8|0;K=(K&7|0)==0?0:0-K&7;J=l+K|0;K=h-K+(c[9730]|0)|0;c[9733]=J;c[9730]=K;c[J+4>>2]=K|1;c[J+K+4>>2]=40;c[9734]=c[9849];break}b=c[9731]|0;if(g>>>0<b>>>0){c[9731]=g;j=g}else j=b;a=g+h|0;b=39356;while(1){if((c[b>>2]|0)==(a|0)){D=208;break}b=c[b+8>>2]|0;if(!b){a=39356;break}}if((D|0)==208)if(!(c[b+12>>2]&8)){c[b>>2]=g;n=b+4|0;c[n>>2]=(c[n>>2]|0)+h;n=g+8|0;n=g+((n&7|0)==0?0:0-n&7)|0;b=a+8|0;b=a+((b&7|0)==0?0:0-b&7)|0;m=n+o|0;k=b-n-o|0;c[n+4>>2]=o|3;do if((b|0)!=(l|0)){if((b|0)==(c[9732]|0)){K=(c[9729]|0)+k|0;c[9729]=K;c[9732]=m;c[m+4>>2]=K|1;c[m+K>>2]=K;break}a=c[b+4>>2]|0;if((a&3|0)==1){h=a&-8;f=a>>>3;e:do if(a>>>0>=256){g=c[b+24>>2]|0;e=c[b+12>>2]|0;do if((e|0)==(b|0)){e=b+16|0;d=e+4|0;a=c[d>>2]|0;if(!a){a=c[e>>2]|0;if(!a){I=0;break}else d=e}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;d=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;d=e}}if(d>>>0<j>>>0)fa();else{c[d>>2]=0;I=a;break}}else{f=c[b+8>>2]|0;if(f>>>0<j>>>0)fa();a=f+12|0;if((c[a>>2]|0)!=(b|0))fa();d=e+8|0;if((c[d>>2]|0)==(b|0)){c[a>>2]=e;c[d>>2]=f;I=e;break}else fa()}while(0);if(!g)break;a=c[b+28>>2]|0;d=39212+(a<<2)|0;do if((b|0)!=(c[d>>2]|0)){if(g>>>0<(c[9731]|0)>>>0)fa();a=g+16|0;if((c[a>>2]|0)==(b|0))c[a>>2]=I;else c[g+20>>2]=I;if(!I)break e}else{c[d>>2]=I;if(I|0)break;c[9728]=c[9728]&~(1<<a);break e}while(0);e=c[9731]|0;if(I>>>0<e>>>0)fa();c[I+24>>2]=g;a=b+16|0;d=c[a>>2]|0;do if(d|0)if(d>>>0<e>>>0)fa();else{c[I+16>>2]=d;c[d+24>>2]=I;break}while(0);a=c[a+4>>2]|0;if(!a)break;if(a>>>0<(c[9731]|0)>>>0)fa();else{c[I+20>>2]=a;c[a+24>>2]=I;break}}else{d=c[b+8>>2]|0;e=c[b+12>>2]|0;a=38948+(f<<1<<2)|0;do if((d|0)!=(a|0)){if(d>>>0<j>>>0)fa();if((c[d+12>>2]|0)==(b|0))break;fa()}while(0);if((e|0)==(d|0)){c[9727]=c[9727]&~(1<<f);break}do if((e|0)==(a|0))F=e+8|0;else{if(e>>>0<j>>>0)fa();a=e+8|0;if((c[a>>2]|0)==(b|0)){F=a;break}fa()}while(0);c[d+12>>2]=e;c[F>>2]=d}while(0);b=b+h|0;f=h+k|0}else f=k;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[m+4>>2]=f|1;c[m+f>>2]=f;b=f>>>3;if(f>>>0<256){d=38948+(b<<1<<2)|0;a=c[9727]|0;b=1<<b;do if(!(a&b)){c[9727]=a|b;J=d;K=d+8|0}else{b=d+8|0;a=c[b>>2]|0;if(a>>>0>=(c[9731]|0)>>>0){J=a;K=b;break}fa()}while(0);c[K>>2]=m;c[J+12>>2]=m;c[m+8>>2]=J;c[m+12>>2]=d;break}b=f>>>8;do if(!b)b=0;else{if(f>>>0>16777215){b=31;break}J=(b+1048320|0)>>>16&8;K=b<<J;I=(K+520192|0)>>>16&4;K=K<<I;b=(K+245760|0)>>>16&2;b=14-(I|J|b)+(K<<b>>>15)|0;b=f>>>(b+7|0)&1|b<<1}while(0);e=39212+(b<<2)|0;c[m+28>>2]=b;a=m+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[9728]|0;d=1<<b;if(!(a&d)){c[9728]=a|d;c[e>>2]=m;c[m+24>>2]=e;c[m+12>>2]=m;c[m+8>>2]=m;break}a=f<<((b|0)==31?0:25-(b>>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(f|0)){D=278;break}d=e+16+(a>>>31<<2)|0;b=c[d>>2]|0;if(!b){D=275;break}else{a=a<<1;e=b}}if((D|0)==275)if(d>>>0<(c[9731]|0)>>>0)fa();else{c[d>>2]=m;c[m+24>>2]=e;c[m+12>>2]=m;c[m+8>>2]=m;break}else if((D|0)==278){b=e+8|0;a=c[b>>2]|0;K=c[9731]|0;if(a>>>0>=K>>>0&e>>>0>=K>>>0){c[a+12>>2]=m;c[b>>2]=m;c[m+8>>2]=a;c[m+12>>2]=e;c[m+24>>2]=0;break}else fa()}}else{K=(c[9730]|0)+k|0;c[9730]=K;c[9733]=m;c[m+4>>2]=K|1}while(0);K=n+8|0;i=L;return K|0}else a=39356;while(1){b=c[a>>2]|0;if(b>>>0<=l>>>0?(E=b+(c[a+4>>2]|0)|0,E>>>0>l>>>0):0)break;a=c[a+8>>2]|0}f=E+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=l+16|0;a=a>>>0<f>>>0?l:a;b=a+8|0;d=g+8|0;d=(d&7|0)==0?0:0-d&7;K=g+d|0;d=h+-40-d|0;c[9733]=K;c[9730]=d;c[K+4>>2]=d|1;c[K+d+4>>2]=40;c[9734]=c[9849];d=a+4|0;c[d>>2]=27;c[b>>2]=c[9839];c[b+4>>2]=c[9840];c[b+8>>2]=c[9841];c[b+12>>2]=c[9842];c[9839]=g;c[9840]=h;c[9842]=0;c[9841]=b;b=a+24|0;do{b=b+4|0;c[b>>2]=7}while((b+4|0)>>>0<E>>>0);if((a|0)!=(l|0)){g=a-l|0;c[d>>2]=c[d>>2]&-2;c[l+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){d=38948+(b<<1<<2)|0;a=c[9727]|0;b=1<<b;if(a&b){b=d+8|0;a=c[b>>2]|0;if(a>>>0<(c[9731]|0)>>>0)fa();else{G=a;H=b}}else{c[9727]=a|b;G=d;H=d+8|0}c[H>>2]=l;c[G+12>>2]=l;c[l+8>>2]=G;c[l+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)d=31;else{J=(b+1048320|0)>>>16&8;K=b<<J;I=(K+520192|0)>>>16&4;K=K<<I;d=(K+245760|0)>>>16&2;d=14-(I|J|d)+(K<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=39212+(d<<2)|0;c[l+28>>2]=d;c[l+20>>2]=0;c[f>>2]=0;b=c[9728]|0;a=1<<d;if(!(b&a)){c[9728]=b|a;c[e>>2]=l;c[l+24>>2]=e;c[l+12>>2]=l;c[l+8>>2]=l;break}a=g<<((d|0)==31?0:25-(d>>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(g|0)){D=304;break}d=e+16+(a>>>31<<2)|0;b=c[d>>2]|0;if(!b){D=301;break}else{a=a<<1;e=b}}if((D|0)==301)if(d>>>0<(c[9731]|0)>>>0)fa();else{c[d>>2]=l;c[l+24>>2]=e;c[l+12>>2]=l;c[l+8>>2]=l;break}else if((D|0)==304){b=e+8|0;a=c[b>>2]|0;K=c[9731]|0;if(a>>>0>=K>>>0&e>>>0>=K>>>0){c[a+12>>2]=l;c[b>>2]=l;c[l+8>>2]=a;c[l+12>>2]=e;c[l+24>>2]=0;break}else fa()}}}else{K=c[9731]|0;if((K|0)==0|g>>>0<K>>>0)c[9731]=g;c[9839]=g;c[9840]=h;c[9842]=0;c[9736]=c[9845];c[9735]=-1;b=0;do{K=38948+(b<<1<<2)|0;c[K+12>>2]=K;c[K+8>>2]=K;b=b+1|0}while((b|0)!=32);K=g+8|0;K=(K&7|0)==0?0:0-K&7;J=g+K|0;K=h+-40-K|0;c[9733]=J;c[9730]=K;c[J+4>>2]=K|1;c[J+K+4>>2]=40;c[9734]=c[9849]}while(0);b=c[9730]|0;if(b>>>0>o>>>0){I=b-o|0;c[9730]=I;K=c[9733]|0;J=K+o|0;c[9733]=J;c[J+4>>2]=I|1;c[K+4>>2]=o|3;K=K+8|0;i=L;return K|0}}c[(Ob()|0)>>2]=12;K=0;i=L;return K|0}function fc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;if(!a)return;d=a+-8|0;h=c[9731]|0;if(d>>>0<h>>>0)fa();a=c[a+-4>>2]|0;b=a&3;if((b|0)==1)fa();e=a&-8;n=d+e|0;do if(!(a&1)){a=c[d>>2]|0;if(!b)return;k=d+(0-a)|0;j=a+e|0;if(k>>>0<h>>>0)fa();if((k|0)==(c[9732]|0)){a=n+4|0;b=c[a>>2]|0;if((b&3|0)!=3){q=k;f=j;break}c[9729]=j;c[a>>2]=b&-2;c[k+4>>2]=j|1;c[k+j>>2]=j;return}e=a>>>3;if(a>>>0<256){b=c[k+8>>2]|0;d=c[k+12>>2]|0;a=38948+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<h>>>0)fa();if((c[b+12>>2]|0)!=(k|0))fa()}if((d|0)==(b|0)){c[9727]=c[9727]&~(1<<e);q=k;f=j;break}if((d|0)!=(a|0)){if(d>>>0<h>>>0)fa();a=d+8|0;if((c[a>>2]|0)==(k|0))g=a;else fa()}else g=d+8|0;c[b+12>>2]=d;c[g>>2]=b;q=k;f=j;break}g=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){d=k+16|0;b=d+4|0;a=c[b>>2]|0;if(!a){a=c[d>>2]|0;if(!a){i=0;break}else b=d}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<h>>>0)fa();else{c[b>>2]=0;i=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<h>>>0)fa();a=e+12|0;if((c[a>>2]|0)!=(k|0))fa();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;i=d;break}else fa()}while(0);if(g){a=c[k+28>>2]|0;b=39212+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=i;if(!i){c[9728]=c[9728]&~(1<<a);q=k;f=j;break}}else{if(g>>>0<(c[9731]|0)>>>0)fa();a=g+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=i;else c[g+20>>2]=i;if(!i){q=k;f=j;break}}d=c[9731]|0;if(i>>>0<d>>>0)fa();c[i+24>>2]=g;a=k+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)fa();else{c[i+16>>2]=b;c[b+24>>2]=i;break}while(0);a=c[a+4>>2]|0;if(a)if(a>>>0<(c[9731]|0)>>>0)fa();else{c[i+20>>2]=a;c[a+24>>2]=i;q=k;f=j;break}else{q=k;f=j}}else{q=k;f=j}}else{q=d;f=e}while(0);if(q>>>0>=n>>>0)fa();a=n+4|0;b=c[a>>2]|0;if(!(b&1))fa();if(!(b&2)){if((n|0)==(c[9733]|0)){p=(c[9730]|0)+f|0;c[9730]=p;c[9733]=q;c[q+4>>2]=p|1;if((q|0)!=(c[9732]|0))return;c[9732]=0;c[9729]=0;return}if((n|0)==(c[9732]|0)){p=(c[9729]|0)+f|0;c[9729]=p;c[9732]=q;c[q+4>>2]=p|1;c[q+p>>2]=p;return}f=(b&-8)+f|0;e=b>>>3;do if(b>>>0>=256){g=c[n+24>>2]|0;a=c[n+12>>2]|0;do if((a|0)==(n|0)){d=n+16|0;b=d+4|0;a=c[b>>2]|0;if(!a){a=c[d>>2]|0;if(!a){m=0;break}else b=d}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<(c[9731]|0)>>>0)fa();else{c[b>>2]=0;m=a;break}}else{b=c[n+8>>2]|0;if(b>>>0<(c[9731]|0)>>>0)fa();d=b+12|0;if((c[d>>2]|0)!=(n|0))fa();e=a+8|0;if((c[e>>2]|0)==(n|0)){c[d>>2]=a;c[e>>2]=b;m=a;break}else fa()}while(0);if(g|0){a=c[n+28>>2]|0;b=39212+(a<<2)|0;if((n|0)==(c[b>>2]|0)){c[b>>2]=m;if(!m){c[9728]=c[9728]&~(1<<a);break}}else{if(g>>>0<(c[9731]|0)>>>0)fa();a=g+16|0;if((c[a>>2]|0)==(n|0))c[a>>2]=m;else c[g+20>>2]=m;if(!m)break}d=c[9731]|0;if(m>>>0<d>>>0)fa();c[m+24>>2]=g;a=n+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)fa();else{c[m+16>>2]=b;c[b+24>>2]=m;break}while(0);a=c[a+4>>2]|0;if(a|0)if(a>>>0<(c[9731]|0)>>>0)fa();else{c[m+20>>2]=a;c[a+24>>2]=m;break}}}else{b=c[n+8>>2]|0;d=c[n+12>>2]|0;a=38948+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(c[9731]|0)>>>0)fa();if((c[b+12>>2]|0)!=(n|0))fa()}if((d|0)==(b|0)){c[9727]=c[9727]&~(1<<e);break}if((d|0)!=(a|0)){if(d>>>0<(c[9731]|0)>>>0)fa();a=d+8|0;if((c[a>>2]|0)==(n|0))l=a;else fa()}else l=d+8|0;c[b+12>>2]=d;c[l>>2]=b}while(0);c[q+4>>2]=f|1;c[q+f>>2]=f;if((q|0)==(c[9732]|0)){c[9729]=f;return}}else{c[a>>2]=b&-2;c[q+4>>2]=f|1;c[q+f>>2]=f}a=f>>>3;if(f>>>0<256){d=38948+(a<<1<<2)|0;b=c[9727]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[9731]|0)>>>0)fa();else{o=b;p=a}}else{c[9727]=b|a;o=d;p=d+8|0}c[p>>2]=q;c[o+12>>2]=q;c[q+8>>2]=o;c[q+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)a=31;else{o=(a+1048320|0)>>>16&8;p=a<<o;n=(p+520192|0)>>>16&4;p=p<<n;a=(p+245760|0)>>>16&2;a=14-(n|o|a)+(p<<a>>>15)|0;a=f>>>(a+7|0)&1|a<<1}else a=0;e=39212+(a<<2)|0;c[q+28>>2]=a;c[q+20>>2]=0;c[q+16>>2]=0;b=c[9728]|0;d=1<<a;do if(b&d){b=f<<((a|0)==31?0:25-(a>>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(f|0)){a=130;break}d=e+16+(b>>>31<<2)|0;a=c[d>>2]|0;if(!a){a=127;break}else{b=b<<1;e=a}}if((a|0)==127)if(d>>>0<(c[9731]|0)>>>0)fa();else{c[d>>2]=q;c[q+24>>2]=e;c[q+12>>2]=q;c[q+8>>2]=q;break}else if((a|0)==130){a=e+8|0;b=c[a>>2]|0;p=c[9731]|0;if(b>>>0>=p>>>0&e>>>0>=p>>>0){c[b+12>>2]=q;c[a>>2]=q;c[q+8>>2]=b;c[q+12>>2]=e;c[q+24>>2]=0;break}else fa()}}else{c[9728]=b|d;c[e>>2]=q;c[q+24>>2]=e;c[q+12>>2]=q;c[q+8>>2]=q}while(0);q=(c[9735]|0)+-1|0;c[9735]=q;if(!q)a=39364;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[9735]=-1;return}function gc(){}function hc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (C=d,a-c>>>0|0)|0}function ic(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;if((e|0)>=20){d=d&255;h=b&3;i=d|d<<8|d<<16|d<<24;g=f&~3;if(h){h=b+4-h|0;while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(g|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function jc(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=0;return b>>>c-32|0}function kc(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}C=a<<c-32;return 0}function lc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=R(e,f)|0;d=a>>>16;a=(c>>>16)+(R(e,d)|0)|0;e=b>>>16;b=R(e,f)|0;return (C=(a>>>16)+(R(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function mc(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=lc(e,f)|0;a=C;return (C=(R(b,f)|0)+(R(d,e)|0)+a|a&0,c|0|0)|0}function nc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (C=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function oc(a){a=a|0;var b=0,d=0;d=a+15&-16|0;b=c[k>>2]|0;a=b+d|0;if((d|0)>0&(a|0)<(b|0)|(a|0)<0){Z()|0;sa(12);return -1}c[k>>2]=a;if((a|0)>(Y()|0)?(X()|0)==0:0){sa(12);c[k>>2]=b;return -1}return b|0}function pc(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function qc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return la(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}while((e|0)>=4){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0;e=e-4|0}}while((e|0)>0){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function rc(){return 0}function sc(a,b){a=a|0;b=b|0;return ua[a&1](b|0)|0}function tc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return va[a&7](b|0,c|0,d|0)|0}function uc(a,b){a=a|0;b=b|0;wa[a&3](b|0)}function vc(a){a=a|0;V(0);return 0}function wc(a,b,c){a=a|0;b=b|0;c=c|0;V(1);return 0}function xc(a){a=a|0;V(2)}
// EMSCRIPTEN_END_FUNCS
var ua=[vc,Kb];var va=[wc,Tb,Mb,Rb,Lb,wc,wc,wc];var wa=[xc,Pb,Sb,xc];return{___muldsi3:lc,_sbrk:oc,_i64Subtract:hc,_free:fc,_ecdsa_read_pubkey:kb,_i64Add:nc,_pthread_self:rc,_memset:ic,_malloc:ec,_memcpy:qc,_llvm_bswap_i32:pc,___muldi3:mc,_bitshift64Lshr:jc,_fflush:Xb,_hdnode_public_ckd_address_optimized:tb,___errno_location:Ob,_bitshift64Shl:kc,runPostSets:gc,stackAlloc:xa,stackSave:ya,stackRestore:za,establishStackSpace:Aa,setThrew:Ba,setTempRet0:Ca,getTempRet0:Da,dynCall_ii:sc,dynCall_iiii:tc,dynCall_vi:uc}})
// EMSCRIPTEN_END_ASM
(e.Ia,e.Ja,buffer),kc=e.___muldsi3=Z.___muldsi3,E=e._malloc=Z._malloc,db=e._i64Subtract=Z._i64Subtract,Ga=e._free=Z._free;e.runPostSets=Z.runPostSets;
var sc=e._ecdsa_read_pubkey=Z._ecdsa_read_pubkey,mc=e._i64Add=Z._i64Add,rc=e._pthread_self=Z._pthread_self,eb=e._memset=Z._memset,nc=e._sbrk=Z._sbrk,qc=e._memcpy=Z._memcpy;e.___errno_location=Z.___errno_location;var lc=e.___muldi3=Z.___muldi3,gb=e._bitshift64Lshr=Z._bitshift64Lshr;e._fflush=Z._fflush;var tc=e._hdnode_public_ckd_address_optimized=Z._hdnode_public_ckd_address_optimized,pc=e._llvm_bswap_i32=Z._llvm_bswap_i32,hb=e._bitshift64Shl=Z._bitshift64Shl;e.dynCall_ii=Z.dynCall_ii;
e.dynCall_iiii=Z.dynCall_iiii;e.dynCall_vi=Z.dynCall_vi;t.P=Z.stackAlloc;t.Q=Z.stackSave;t.I=Z.stackRestore;t.cd=Z.establishStackSpace;t.Wa=Z.setTempRet0;t.Na=Z.getTempRet0;function ga(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}ga.prototype=Error();ga.prototype.constructor=ga;var uc=null,$a=function vc(){e.calledRun||wc();e.calledRun||($a=vc)};
e.callMain=e.ad=function(a){function b(){for(var a=0;3>a;a++)d.push(0)}a=a||[];za||(za=!0,Qa(Sa));var c=a.length+1,d=[D(Xa(e.thisProgram),"i8",0)];b();for(var f=0;f<c-1;f+=1)d.push(D(Xa(a[f]),"i8",0)),b();d.push(0);d=D(d,"i32",0);try{var g=e._main(c,d,0);xc(g,!0)}catch(h){if(!(h instanceof ga))if("SimulateInfiniteLoop"==h)e.noExitRuntime=!0;else throw h&&"object"===typeof h&&h.stack&&e.ba("exception thrown: "+[h,h.stack]),h;}finally{}};
function wc(a){function b(){if(!e.calledRun&&(e.calledRun=!0,!ja)){za||(za=!0,Qa(Sa));Qa(Ta);if(e.onRuntimeInitialized)e.onRuntimeInitialized();e._main&&yc&&e.callMain(a);if(e.postRun)for("function"==typeof e.postRun&&(e.postRun=[e.postRun]);e.postRun.length;)Wa(e.postRun.shift());Qa(Ua)}}a=a||e.arguments;null===uc&&(uc=Date.now());if(!(0<Ya)){if(e.preRun)for("function"==typeof e.preRun&&(e.preRun=[e.preRun]);e.preRun.length;)Va(e.preRun.shift());Qa(Ra);0<Ya||e.calledRun||(e.setStatus?(e.setStatus("Running..."),
setTimeout(function(){setTimeout(function(){e.setStatus("")},1);b()},1)):b())}}e.run=e.run=wc;function xc(a,b){if(!b||!e.noExitRuntime){if(!e.noExitRuntime&&(ja=!0,p=void 0,Qa(J),e.onExit))e.onExit(a);m?process.exit(a):ca&&"function"===typeof quit&&quit(a);throw new ga(a);}}e.exit=e.exit=xc;var zc=[];
function z(a){void 0!==a?(e.print(a),e.ba(a),a=JSON.stringify(a)):a="";ja=!0;var b="abort("+a+") at "+Ha()+"\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";zc&&zc.forEach(function(c){b=c(b,a)});throw b;}e.abort=e.abort=z;if(e.preInit)for("function"==typeof e.preInit&&(e.preInit=[e.preInit]);0<e.preInit.length;)e.preInit.pop()();var yc=!0;e.noInitialRun&&(yc=!1);wc();F=e.HEAPU8;
var E=e._malloc,tc=e._hdnode_public_ckd_address_optimized,sc=e._ecdsa_read_pubkey,B=e.Pointer_stringify,Ac=E(72),Bc=E(33),Cc=E(32),Dc=E(40);function Ec(a){var b=new Uint8Array(33);b.set(a.public_key,0);F.set(b,Bc);b=new Uint8Array(32);b.set(a.chain_code,0);F.set(b,Cc);sc(0,Bc,Ac)}function Fc(a,b){tc(Ac,Bc,Cc,a,b,Dc,40);return B(Dc)}function Gc(a,b,c,d){var f=[];Ec(a);for(a=b;a<=c;a++)f.push(Fc(a,d));return f}"undefined"!==typeof module&&(module.exports={serializeNode:Ec,deriveAddress:Fc,deriveAddressRange:Gc});
function Hc(a){a=a.data;var b=a.type;switch(b){case "deriveAddressRange":b=Gc(a.node,a.firstIndex,a.lastIndex,a.version);postMessage({addresses:b,firstIndex:a.firstIndex,lastIndex:a.lastIndex});break;default:throw Error("Unknown message type: "+b);}}l&&(this.onmessage=Hc);