profile-viewer 0.0.1 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (75) hide show
  1. checksums.yaml +4 -4
  2. data/dist/136.4ad3301b8aacf759ea70.bundle.js +2 -0
  3. data/dist/136.4ad3301b8aacf759ea70.bundle.js.map +1 -0
  4. data/dist/171.621b9df5978342be5662.bundle.js +2 -0
  5. data/dist/171.621b9df5978342be5662.bundle.js.map +1 -0
  6. data/dist/18a5d1d99f1c65c33b71.png +0 -0
  7. data/dist/1ddbc3ce40af8c7a648b.svg +6 -0
  8. data/dist/280.b4210a48e650408000c3.bundle.js +2 -0
  9. data/dist/280.b4210a48e650408000c3.bundle.js.map +1 -0
  10. data/dist/556.2be67a37a0c61fdc2485.bundle.js +2 -0
  11. data/dist/{914.b9bc213d93173ce6b0cb.bundle.js.map → 556.2be67a37a0c61fdc2485.bundle.js.map} +1 -1
  12. data/dist/874.2a087b9b5a296a9c3fcd.bundle.js +2 -0
  13. data/dist/874.2a087b9b5a296a9c3fcd.bundle.js.map +1 -0
  14. data/dist/_headers +1 -2
  15. data/dist/contribute.json +31 -35
  16. data/dist/d6df0017c0241dfe86ff.svg +6 -0
  17. data/dist/docs/_sidebar.md +1 -0
  18. data/dist/docs/advanced-topics.md +1 -0
  19. data/dist/docs/async-posix-signal-control.md +102 -0
  20. data/dist/docs/guide-startup-shutdown.md +7 -7
  21. data/dist/docs/js/init.js +1 -1
  22. data/dist/index.html +1 -1
  23. data/dist/locales/README.md +1 -0
  24. data/dist/locales/be/app.ftl +42 -6
  25. data/dist/locales/de/app.ftl +109 -3
  26. data/dist/locales/el/app.ftl +110 -4
  27. data/dist/locales/en-CA/app.ftl +1125 -0
  28. data/dist/locales/en-GB/app.ftl +110 -4
  29. data/dist/locales/en-US/app.ftl +123 -6
  30. data/dist/locales/es-CL/app.ftl +110 -4
  31. data/dist/locales/fr/app.ftl +66 -4
  32. data/dist/locales/fur/app.ftl +1093 -0
  33. data/dist/locales/fy-NL/app.ftl +109 -3
  34. data/dist/locales/ia/app.ftl +109 -3
  35. data/dist/locales/it/app.ftl +109 -3
  36. data/dist/locales/kab/app.ftl +32 -2
  37. data/dist/locales/nl/app.ftl +110 -4
  38. data/dist/locales/pt-BR/app.ftl +111 -5
  39. data/dist/locales/ru/app.ftl +109 -3
  40. data/dist/locales/sv-SE/app.ftl +109 -3
  41. data/dist/locales/tr/app.ftl +907 -0
  42. data/dist/locales/uk/app.ftl +110 -4
  43. data/dist/locales/zh-CN/app.ftl +112 -6
  44. data/dist/locales/zh-TW/app.ftl +109 -3
  45. data/dist/main.ac7130d34ce3b872712a.bundle.js +201 -0
  46. data/dist/{main.8208fda2d35ddbe38d55.bundle.js.LICENSE.txt → main.ac7130d34ce3b872712a.bundle.js.LICENSE.txt} +1 -30
  47. data/dist/main.ac7130d34ce3b872712a.bundle.js.map +1 -0
  48. data/dist/photon/index.html +3 -2
  49. data/dist/photon/main.aafbcdad3fb08c7ae5b4.bundle.js +2 -0
  50. data/dist/photon/main.aafbcdad3fb08c7ae5b4.bundle.js.map +1 -0
  51. data/dist/robots.txt +4 -0
  52. data/dist/sw.js +1 -1
  53. data/dist/sw.js.map +1 -1
  54. data/dist/{workbox-27b29e6f.js → workbox-e3490c72.js} +2 -2
  55. data/dist/{workbox-27b29e6f.js.map → workbox-e3490c72.js.map} +1 -1
  56. data/dist/zee-worker.js +1 -1
  57. data/ruby-bin/profile-viewer +53 -16
  58. data/ruby-bin/profile-viewer-version.rb +3 -0
  59. metadata +60 -25
  60. data/dist/119.cc58ce313e67f80f50f3.bundle.js +0 -2
  61. data/dist/119.cc58ce313e67f80f50f3.bundle.js.map +0 -1
  62. data/dist/131.c21d348572deab4ece66.bundle.js +0 -2
  63. data/dist/131.c21d348572deab4ece66.bundle.js.map +0 -1
  64. data/dist/308.4d236ce7e6451807cb54.bundle.js +0 -2
  65. data/dist/308.4d236ce7e6451807cb54.bundle.js.map +0 -1
  66. data/dist/9.071a712ea648c8b30416.bundle.js +0 -2
  67. data/dist/9.071a712ea648c8b30416.bundle.js.map +0 -1
  68. data/dist/914.b9bc213d93173ce6b0cb.bundle.js +0 -2
  69. data/dist/b45b29da558efa211628.jpg +0 -0
  70. data/dist/before-load.js +0 -1
  71. data/dist/main.8208fda2d35ddbe38d55.bundle.js +0 -199
  72. data/dist/main.8208fda2d35ddbe38d55.bundle.js.map +0 -1
  73. data/dist/photon/main.8c8260452e7439ec6df9.bundle.js +0 -2
  74. data/dist/photon/main.8c8260452e7439ec6df9.bundle.js.map +0 -1
  75. /data/dist/{ad13da76642d8099fe70.module.wasm → 2f37d1addc2d2f5b699e.module.wasm} +0 -0
data/dist/zee-worker.js CHANGED
@@ -1 +1 @@
1
- var Zee=function(){function e(e,r){for(var n=65536;n<e||n<2*r;)n<16777216?n*=2:n+=16777216;return n}function r(r){var n;(n={noExitRuntime:!0,noImageDecoding:!0,TOTAL_STACK:262144,TOTAL_MEMORY:e(r,262144)})||(n=(void 0!==n?n:null)||{});var t={};for(var i in n)n.hasOwnProperty(i)&&(t[i]=n[i]);var o="object"==typeof window,a="function"==typeof importScripts,s="object"==typeof process&&"function"==typeof require&&!o&&!a,f=!o&&!s&&!a;if(s){n.print||(n.print=function(e){process.stdout.write(e+"\n")}),n.printErr||(n.printErr=function(e){process.stderr.write(e+"\n")});var l=require("fs"),u=require("path");n.read=function(e,r){e=u.normalize(e);var n=l.readFileSync(e);return n||e==u.resolve(e)||(e=path.join(__dirname,"..","src",e),n=l.readFileSync(e)),n&&!r&&(n=n.toString()),n},n.readBinary=function(e){var r=n.read(e,!0);return r.buffer||(r=new Uint8Array(r)),g(r.buffer),r},n.load=function(e){c(read(e))},n.thisProgram||(process.argv.length>1?n.thisProgram=process.argv[1].replace(/\\/g,"/"):n.thisProgram="unknown-program"),n.arguments=process.argv.slice(2),"undefined"!=typeof module&&(module.exports=n),process.on("uncaughtException",(function(e){if(!(e instanceof Ve))throw e})),n.inspect=function(){return"[Emscripten Module object]"}}else if(f)n.print||(n.print=print),"undefined"!=typeof printErr&&(n.printErr=printErr),"undefined"!=typeof read?n.read=read:n.read=function(){throw"no read() available (jsc?)"},n.readBinary=function(e){if("function"==typeof readbuffer)return new Uint8Array(readbuffer(e));var r=read(e,"binary");return g("object"==typeof r),r},"undefined"!=typeof scriptArgs?n.arguments=scriptArgs:void 0!==arguments&&(n.arguments=arguments);else{if(!o&&!a)throw"Unknown runtime environment. Where are we?";n.read=function(e){var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText},void 0!==arguments&&(n.arguments=arguments),"undefined"!=typeof console?(n.print||(n.print=function(e){console.log(e)}),n.printErr||(n.printErr=function(e){console.log(e)})):n.print||(n.print=function(e){}),a&&(n.load=importScripts),void 0===n.setWindowTitle&&(n.setWindowTitle=function(e){document.title=e})}function c(e){throw"NO_DYNAMIC_EXECUTION was set, cannot eval"}for(var i in!n.load&&n.read&&(n.load=function(e){c(n.read(e))}),n.print||(n.print=function(){}),n.printErr||(n.printErr=n.print),n.arguments||(n.arguments=[]),n.thisProgram||(n.thisProgram="./this.program"),n.print=n.print,n.printErr=n.printErr,n.preRun=[],n.postRun=[],t)t.hasOwnProperty(i)&&(n[i]=t[i]);var d={setTempRet0:function(e){p=e},getTempRet0:function(){return p},stackSave:function(){return X},stackRestore:function(e){X=e},getNativeTypeSize:function(e){switch(e){case"i1":case"i8":return 1;case"i16":return 2;case"i32":case"float":return 4;case"i64":case"double":return 8;default:if("*"===e[e.length-1])return d.QUANTUM_SIZE;if("i"===e[0]){var r=parseInt(e.substr(1));return g(r%8==0),r/8}return 0}},getNativeFieldSize:function(e){return Math.max(d.getNativeTypeSize(e),d.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(e,r){return"double"===r||"i64"===r?7&e&&(g(4==(7&e)),e+=4):g(0==(3&e)),e},getAlignSize:function(e,r,n){return n||"i64"!=e&&"double"!=e?e?Math.min(r||(e?d.getNativeFieldSize(e):0),d.QUANTUM_SIZE):Math.min(r,8):8},dynCall:function(e,r,t){return t&&t.length?(t.splice||(t=Array.prototype.slice.call(t)),t.splice(0,0,r),n["dynCall_"+e].apply(null,t)):n["dynCall_"+e].call(null,r)},functionPointers:[],addFunction:function(e){for(var r=0;r<d.functionPointers.length;r++)if(!d.functionPointers[r])return d.functionPointers[r]=e,2*(1+r);throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."},removeFunction:function(e){d.functionPointers[(e-2)/2]=null},warnOnce:function(e){d.warnOnce.shown||(d.warnOnce.shown={}),d.warnOnce.shown[e]||(d.warnOnce.shown[e]=1,n.printErr(e))},funcWrappers:{},getFuncWrapper:function(e,r){g(r),d.funcWrappers[r]||(d.funcWrappers[r]={});var n=d.funcWrappers[r];return n[e]||(n[e]=function(){return d.dynCall(r,e,arguments)}),n[e]},getCompilerSetting:function(e){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"},stackAlloc:function(e){var r=X;return X=15+(X=X+e|0)&-16,r},staticAlloc:function(e){var r=Y;return Y=15+(Y=Y+e|0)&-16,r},dynamicAlloc:function(e){var r=H;return(H=15+(H=H+e|0)&-16)>=G&&!void Ke("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+G+", (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 ")?(H=r,0):r},alignMemory:function(e,r){return Math.ceil(e/(r||16))*(r||16)},makeBigInt:function(e,r,n){return n?+(e>>>0)+4294967296*+(r>>>0):+(e>>>0)+4294967296*+(0|r)},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};n.Runtime=d;var h,m,p,w,k,b,v,E=!1;function g(e,r){e||Ke("Assertion failed: "+r)}function y(e,r,n,t){switch("*"===(n=n||"i8").charAt(n.length-1)&&(n="i32"),n){case"i1":case"i8":S[e>>0]=r;break;case"i16":D[e>>1]=r;break;case"i32":N[e>>2]=r;break;case"i64":m=[r>>>0,(h=r,+ue(h)>=1?h>0?(0|he(+de(h/4294967296),4294967295))>>>0:~~+ce((h-+(~~h>>>0))/4294967296)>>>0:0)],N[e>>2]=m[0],N[e+4>>2]=m[1];break;case"float":O[e>>2]=r;break;case"double":T[e>>3]=r;break;default:Ke("invalid type for setValue: "+n)}}function _(e,r,n){switch("*"===(r=r||"i8").charAt(r.length-1)&&(r="i32"),r){case"i1":case"i8":return S[e>>0];case"i16":return D[e>>1];case"i32":case"i64":return N[e>>2];case"float":return O[e>>2];case"double":return T[e>>3];default:Ke("invalid type for setValue: "+r)}return null}v={string:(b={stackSave:function(){d.stackSave()},stackRestore:function(){d.stackRestore()},arrayToC:function(e){var r=d.stackAlloc(e.length);return fe(e,r),r},stringToC:function(e){var r=0;return null!=e&&0!==e&&se(e,r=d.stackAlloc(1+(e.length<<2))),r}}).stringToC,array:b.arrayToC},k=function(e,r,t,i,o){var a=function(e){var r=n["_"+e];return r||Ke("NO_DYNAMIC_EXECUTION was set, cannot eval - ccall/cwrap are not functional"),g(r,"Cannot call unknown function "+e+" (perhaps LLVM optimizations or closure removed it?)"),r}(e),s=[],f=0;if(i)for(var l=0;l<i.length;l++){var u=v[t[l]];u?(0===f&&(f=d.stackSave()),s[l]=u(i[l])):s[l]=i[l]}var c=a.apply(null,s);if("string"===r&&(c=I(c)),0!==f){if(o&&o.async)return void EmterpreterAsync.asyncFinalizers.push((function(){d.stackRestore(f)}));d.stackRestore(f)}return c},w=function(e,r,n){return function(){return k(e,r,n,arguments)}},n.ccall=k,n.cwrap=w,n.setValue=y,n.getValue=_;var S,A,D,M,N,L,O,T,F=2,R=4;function P(e,r,n,t){var i,o;"number"==typeof e?(i=!0,o=e):(i=!1,o=e.length);var a,s="string"==typeof r?r:null;if(a=n==R?t:[Ue,d.stackAlloc,d.staticAlloc,d.dynamicAlloc][void 0===n?F:n](Math.max(o,s?1:r.length)),i){var f;for(t=a,g(0==(3&a)),f=a+(-4&o);t<f;t+=4)N[t>>2]=0;for(f=a+o;t<f;)S[t++>>0]=0;return a}if("i8"===s)return e.subarray||e.slice?A.set(e,a):A.set(new Uint8Array(e),a),a;for(var l,u,c,h=0;h<o;){var m=e[h];"function"==typeof m&&(m=d.getFunctionIndex(m)),0!==(l=s||r[h])?("i64"==l&&(l="i32"),y(a+h,m,l),c!==l&&(u=d.getNativeTypeSize(l),c=l),h+=u):h++}return a}function I(e,r){if(0===r||!e)return"";for(var t,i=0,o=0;i|=t=A[e+o>>0],(0!=t||r)&&(o++,!r||o!=r););r||(r=o);var a="";if(i<128){for(var s,f=1024;r>0;)s=String.fromCharCode.apply(String,A.subarray(e,e+Math.min(r,f))),a=a?a+s:s,e+=f,r-=f;return a}return n.UTF8ToString(e)}function C(e,r){for(var n,t,i,o,a,s="";;){if(!(n=e[r++]))return s;if(128&n)if(t=63&e[r++],192!=(224&n))if(i=63&e[r++],224==(240&n)?n=(15&n)<<12|t<<6|i:(o=63&e[r++],240==(248&n)?n=(7&n)<<18|t<<12|i<<6|o:(a=63&e[r++],n=248==(252&n)?(3&n)<<24|t<<18|i<<12|o<<6|a:(1&n)<<30|t<<24|i<<18|o<<12|a<<6|63&e[r++])),n<65536)s+=String.fromCharCode(n);else{var f=n-65536;s+=String.fromCharCode(55296|f>>10,56320|1023&f)}else s+=String.fromCharCode((31&n)<<6|t);else s+=String.fromCharCode(n)}}function x(e,r,n,t){if(!(t>0))return 0;for(var i=n,o=n+t-1,a=0;a<e.length;++a){var s=e.charCodeAt(a);if(s>=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++a)),s<=127){if(n>=o)break;r[n++]=s}else if(s<=2047){if(n+1>=o)break;r[n++]=192|s>>6,r[n++]=128|63&s}else if(s<=65535){if(n+2>=o)break;r[n++]=224|s>>12,r[n++]=128|s>>6&63,r[n++]=128|63&s}else if(s<=2097151){if(n+3>=o)break;r[n++]=240|s>>18,r[n++]=128|s>>12&63,r[n++]=128|s>>6&63,r[n++]=128|63&s}else if(s<=67108863){if(n+4>=o)break;r[n++]=248|s>>24,r[n++]=128|s>>18&63,r[n++]=128|s>>12&63,r[n++]=128|s>>6&63,r[n++]=128|63&s}else{if(n+5>=o)break;r[n++]=252|s>>30,r[n++]=128|s>>24&63,r[n++]=128|s>>18&63,r[n++]=128|s>>12&63,r[n++]=128|s>>6&63,r[n++]=128|63&s}}return r[n]=0,n-i}function B(e){for(var r=0,n=0;n<e.length;++n){var t=e.charCodeAt(n);t>=55296&&t<=57343&&(t=65536+((1023&t)<<10)|1023&e.charCodeAt(++n)),t<=127?++r:r+=t<=2047?2:t<=65535?3:t<=2097151?4:t<=67108863?5:6}return r}function z(){return function(){var e=new Error;if(!e.stack){try{throw new Error(0)}catch(r){e=r}if(!e.stack)return"(no stack trace available)"}return e.stack.toString()}().replace(/__Z[\w\d_]+/g,(function(e){var r=function(e){var r=!!n.___cxa_demangle;if(r)try{var t=Ue(e.length);se(e.substr(1),t);var i=Ue(4),o=n.___cxa_demangle(t,0,0,i);if(0===_(i,"i32")&&o)return I(o)}catch(e){}finally{t&&qe(t),i&&qe(i),o&&qe(o)}var a=3,s={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."},f=[],l=!0,u=e;try{if("Object._main"==e||"_main"==e)return"main()";if("number"==typeof e&&(e=I(e)),"_"!==e[0])return e;if("_"!==e[1])return e;if("Z"!==e[2])return e;switch(e[3]){case"n":return"operator new()";case"d":return"operator delete()"}u=function r(n,t,i){t=t||1/0;var o,u="",c=[];if("N"===e[a]){if(o=function(){a++,"K"===e[a]&&a++;for(var r=[];"E"!==e[a];)if("S"!==e[a])if("C"!==e[a]){var n=parseInt(e.substr(a)),t=n.toString().length;if(!n||!t){a--;break}var i=e.substr(a+t,n);r.push(i),f.push(i),a+=t+n}else r.push(r[r.length-1]),a+=2;else{a++;var o=e.indexOf("_",a),s=e.substring(a,o)||0;r.push(f[s]||"?"),a=o+1}return a++,r}().join("::"),0==--t)return n?[o]:o}else if(("K"===e[a]||l&&"L"===e[a])&&a++,p=parseInt(e.substr(a))){var d=p.toString().length;o=e.substr(a+d,p),a+=d+p}if(l=!1,"I"===e[a]){a++;var h=r(!0);u+=r(!0,1,!0)[0]+" "+o+"<"+h.join(", ")+">"}else u=o;e:for(;a<e.length&&t-- >0;){var m=e[a++];if(m in s)c.push(s[m]);else switch(m){case"P":c.push(r(!0,1,!0)[0]+"*");break;case"R":c.push(r(!0,1,!0)[0]+"&");break;case"L":a++;var p=e.indexOf("E",a)-a;c.push(e.substr(a,p)),a+=p+2;break;case"A":if(p=parseInt(e.substr(a)),a+=p.toString().length,"_"!==e[a])throw"?";a++,c.push(r(!0,1,!0)[0]+" ["+p+"]");break;case"E":break e;default:u+="?"+m;break e}}return i||1!==c.length||"void"!==c[0]||(c=[]),n?(u&&c.push(u+"?"),c):u+"("+c.join(", ")+")"}()}catch(e){u+="?"}return u.indexOf("?")>=0&&!r&&d.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),u}(e);return e===r?e:e+" ["+r+"]"}))}n.ALLOC_NORMAL=0,n.ALLOC_STACK=1,n.ALLOC_STATIC=F,n.ALLOC_DYNAMIC=3,n.ALLOC_NONE=R,n.allocate=P,n.getMemory=function(e){return V?void 0!==Fe&&!Fe.called||!ne?d.dynamicAlloc(e):Ue(e):d.staticAlloc(e)},n.Pointer_stringify=I,n.AsciiToString=function(e){for(var r="";;){var n=S[e++>>0];if(!n)return r;r+=String.fromCharCode(n)}},n.stringToAscii=function(e,r){return le(e,r,!1)},n.UTF8ArrayToString=C,n.UTF8ToString=function(e){return C(A,e)},n.stringToUTF8Array=x,n.stringToUTF8=function(e,r,n){return x(e,A,r,n)},n.lengthBytesUTF8=B,n.UTF16ToString=function(e){for(var r=0,n="";;){var t=D[e+2*r>>1];if(0==t)return n;++r,n+=String.fromCharCode(t)}},n.stringToUTF16=function(e,r,n){if(void 0===n&&(n=2147483647),n<2)return 0;for(var t=r,i=(n-=2)<2*e.length?n/2:e.length,o=0;o<i;++o){var a=e.charCodeAt(o);D[r>>1]=a,r+=2}return D[r>>1]=0,r-t},n.lengthBytesUTF16=function(e){return 2*e.length},n.UTF32ToString=function(e){for(var r=0,n="";;){var t=N[e+4*r>>2];if(0==t)return n;if(++r,t>=65536){var i=t-65536;n+=String.fromCharCode(55296|i>>10,56320|1023&i)}else n+=String.fromCharCode(t)}},n.stringToUTF32=function(e,r,n){if(void 0===n&&(n=2147483647),n<4)return 0;for(var t=r,i=t+n-4,o=0;o<e.length;++o){var a=e.charCodeAt(o);if(a>=55296&&a<=57343&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++o)),N[r>>2]=a,(r+=4)+4>i)break}return N[r>>2]=0,r-t},n.lengthBytesUTF32=function(e){for(var r=0,n=0;n<e.length;++n){var t=e.charCodeAt(n);t>=55296&&t<=57343&&++n,r+=4}return r},n.stackTrace=z;for(var U,j,q,Y=0,V=!1,X=0,H=0,W=n.TOTAL_STACK||5242880,G=n.TOTAL_MEMORY||16777216,K=65536;K<G||K<2*W;)K<16777216?K*=2:K+=16777216;function Z(e){for(;e.length>0;){var r=e.shift();if("function"!=typeof r){var n=r.func;"number"==typeof n?void 0===r.arg?d.dynCall("v",n):d.dynCall("vi",n,[r.arg]):n(void 0===r.arg?null:r.arg)}else r()}}K!==G&&(G=K),g("undefined"!=typeof Int32Array&&"undefined"!=typeof Float64Array&&!!new Int32Array(1).subarray&&!!new Int32Array(1).set,"JS engine does not provide full typed array support"),q=new ArrayBuffer(G),S=new Int8Array(q),D=new Int16Array(q),N=new Int32Array(q),A=new Uint8Array(q),M=new Uint16Array(q),L=new Uint32Array(q),O=new Float32Array(q),T=new Float64Array(q),N[0]=255,g(255===A[0]&&0===A[3],"Typed arrays 2 must be run on a little-endian system"),n.HEAP=void 0,n.buffer=q,n.HEAP8=S,n.HEAP16=D,n.HEAP32=N,n.HEAPU8=A,n.HEAPU16=M,n.HEAPU32=L,n.HEAPF32=O,n.HEAPF64=T;var Q=[],J=[],$=[],ee=[],re=[],ne=!1;function te(){ne||(ne=!0,Z(J))}function ie(e){Q.unshift(e)}function oe(e){re.unshift(e)}function ae(e,r,n){var t=n>0?n:B(e)+1,i=new Array(t),o=x(e,i,0,i.length);return r&&(i.length=o),i}function se(e,r,n){for(var t=ae(e,n),i=0;i<t.length;){var o=t[i];S[r+i>>0]=o,i+=1}}function fe(e,r){for(var n=0;n<e.length;n++)S[r++>>0]=e[n]}function le(e,r,n){for(var t=0;t<e.length;++t)S[r++>>0]=e.charCodeAt(t);n||(S[r>>0]=0)}n.addOnPreRun=ie,n.addOnInit=function(e){J.unshift(e)},n.addOnPreMain=function(e){$.unshift(e)},n.addOnExit=function(e){ee.unshift(e)},n.addOnPostRun=oe,n.intArrayFromString=ae,n.intArrayToString=function(e){for(var r=[],n=0;n<e.length;n++){var t=e[n];t>255&&(t&=255),r.push(String.fromCharCode(t))}return r.join("")},n.writeStringToMemory=se,n.writeArrayToMemory=fe,n.writeAsciiToMemory=le,Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(e,r){var n=65535&e,t=65535&r;return n*t+((e>>>16)*t+n*(r>>>16)<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(e){e>>>=0;for(var r=0;r<32;r++)if(e&1<<31-r)return r;return 32}),Math.clz32=Math.clz32;var ue=Math.abs,ce=(Math.cos,Math.sin,Math.tan,Math.acos,Math.asin,Math.atan,Math.atan2,Math.exp,Math.log,Math.sqrt,Math.ceil),de=Math.floor,he=(Math.pow,Math.imul,Math.fround,Math.min),me=(Math.clz32,0),pe=null,we=null;function ke(e){me++,n.monitorRunDependencies&&n.monitorRunDependencies(me)}function be(e){if(me--,n.monitorRunDependencies&&n.monitorRunDependencies(me),0==me&&(null!==pe&&(clearInterval(pe),pe=null),we)){var r=we;we=null,r()}}n.addRunDependency=ke,n.removeRunDependency=be,n.preloadedImages={},n.preloadedAudios={},Y=17848,J.push(),P([0,0,0,0,150,48,7,119,44,97,14,238,186,81,9,153,25,196,109,7,143,244,106,112,53,165,99,233,163,149,100,158,50,136,219,14,164,184,220,121,30,233,213,224,136,217,210,151,43,76,182,9,189,124,177,126,7,45,184,231,145,29,191,144,100,16,183,29,242,32,176,106,72,113,185,243,222,65,190,132,125,212,218,26,235,228,221,109,81,181,212,244,199,133,211,131,86,152,108,19,192,168,107,100,122,249,98,253,236,201,101,138,79,92,1,20,217,108,6,99,99,61,15,250,245,13,8,141,200,32,110,59,94,16,105,76,228,65,96,213,114,113,103,162,209,228,3,60,71,212,4,75,253,133,13,210,107,181,10,165,250,168,181,53,108,152,178,66,214,201,187,219,64,249,188,172,227,108,216,50,117,92,223,69,207,13,214,220,89,61,209,171,172,48,217,38,58,0,222,81,128,81,215,200,22,97,208,191,181,244,180,33,35,196,179,86,153,149,186,207,15,165,189,184,158,184,2,40,8,136,5,95,178,217,12,198,36,233,11,177,135,124,111,47,17,76,104,88,171,29,97,193,61,45,102,182,144,65,220,118,6,113,219,1,188,32,210,152,42,16,213,239,137,133,177,113,31,181,182,6,165,228,191,159,51,212,184,232,162,201,7,120,52,249,0,15,142,168,9,150,24,152,14,225,187,13,106,127,45,61,109,8,151,108,100,145,1,92,99,230,244,81,107,107,98,97,108,28,216,48,101,133,78,0,98,242,237,149,6,108,123,165,1,27,193,244,8,130,87,196,15,245,198,217,176,101,80,233,183,18,234,184,190,139,124,136,185,252,223,29,221,98,73,45,218,21,243,124,211,140,101,76,212,251,88,97,178,77,206,81,181,58,116,0,188,163,226,48,187,212,65,165,223,74,215,149,216,61,109,196,209,164,251,244,214,211,106,233,105,67,252,217,110,52,70,136,103,173,208,184,96,218,115,45,4,68,229,29,3,51,95,76,10,170,201,124,13,221,60,113,5,80,170,65,2,39,16,16,11,190,134,32,12,201,37,181,104,87,179,133,111,32,9,212,102,185,159,228,97,206,14,249,222,94,152,201,217,41,34,152,208,176,180,168,215,199,23,61,179,89,129,13,180,46,59,92,189,183,173,108,186,192,32,131,184,237,182,179,191,154,12,226,182,3,154,210,177,116,57,71,213,234,175,119,210,157,21,38,219,4,131,22,220,115,18,11,99,227,132,59,100,148,62,106,109,13,168,90,106,122,11,207,14,228,157,255,9,147,39,174,0,10,177,158,7,125,68,147,15,240,210,163,8,135,104,242,1,30,254,194,6,105,93,87,98,247,203,103,101,128,113,54,108,25,231,6,107,110,118,27,212,254,224,43,211,137,90,122,218,16,204,74,221,103,111,223,185,249,249,239,190,142,67,190,183,23,213,142,176,96,232,163,214,214,126,147,209,161,196,194,216,56,82,242,223,79,241,103,187,209,103,87,188,166,221,6,181,63,75,54,178,72,218,43,13,216,76,27,10,175,246,74,3,54,96,122,4,65,195,239,96,223,85,223,103,168,239,142,110,49,121,190,105,70,140,179,97,203,26,131,102,188,160,210,111,37,54,226,104,82,149,119,12,204,3,71,11,187,185,22,2,34,47,38,5,85,190,59,186,197,40,11,189,178,146,90,180,43,4,106,179,92,167,255,215,194,49,207,208,181,139,158,217,44,29,174,222,91,176,194,100,155,38,242,99,236,156,163,106,117,10,147,109,2,169,6,9,156,63,54,14,235,133,103,7,114,19,87,0,5,130,74,191,149,20,122,184,226,174,43,177,123,56,27,182,12,155,142,210,146,13,190,213,229,183,239,220,124,33,223,219,11,212,210,211,134,66,226,212,241,248,179,221,104,110,131,218,31,205,22,190,129,91,38,185,246,225,119,176,111,119,71,183,24,230,90,8,136,112,106,15,255,202,59,6,102,92,11,1,17,255,158,101,143,105,174,98,248,211,255,107,97,69,207,108,22,120,226,10,160,238,210,13,215,84,131,4,78,194,179,3,57,97,38,103,167,247,22,96,208,77,71,105,73,219,119,110,62,74,106,209,174,220,90,214,217,102,11,223,64,240,59,216,55,83,174,188,169,197,158,187,222,127,207,178,71,233,255,181,48,28,242,189,189,138,194,186,202,48,147,179,83,166,163,180,36,5,54,208,186,147,6,215,205,41,87,222,84,191,103,217,35,46,122,102,179,184,74,97,196,2,27,104,93,148,43,111,42,55,190,11,180,161,142,12,195,27,223,5,90,141,239,2,45,0,0,0,0,65,49,27,25,130,98,54,50,195,83,45,43,4,197,108,100,69,244,119,125,134,167,90,86,199,150,65,79,8,138,217,200,73,187,194,209,138,232,239,250,203,217,244,227,12,79,181,172,77,126,174,181,142,45,131,158,207,28,152,135,81,18,194,74,16,35,217,83,211,112,244,120,146,65,239,97,85,215,174,46,20,230,181,55,215,181,152,28,150,132,131,5,89,152,27,130,24,169,0,155,219,250,45,176,154,203,54,169,93,93,119,230,28,108,108,255,223,63,65,212,158,14,90,205,162,36,132,149,227,21,159,140,32,70,178,167,97,119,169,190,166,225,232,241,231,208,243,232,36,131,222,195,101,178,197,218,170,174,93,93,235,159,70,68,40,204,107,111,105,253,112,118,174,107,49,57,239,90,42,32,44,9,7,11,109,56,28,18,243,54,70,223,178,7,93,198,113,84,112,237,48,101,107,244,247,243,42,187,182,194,49,162,117,145,28,137,52,160,7,144,251,188,159,23,186,141,132,14,121,222,169,37,56,239,178,60,255,121,243,115,190,72,232,106,125,27,197,65,60,42,222,88,5,79,121,240,68,126,98,233,135,45,79,194,198,28,84,219,1,138,21,148,64,187,14,141,131,232,35,166,194,217,56,191,13,197,160,56,76,244,187,33,143,167,150,10,206,150,141,19,9,0,204,92,72,49,215,69,139,98,250,110,202,83,225,119,84,93,187,186,21,108,160,163,214,63,141,136,151,14,150,145,80,152,215,222,17,169,204,199,210,250,225,236,147,203,250,245,92,215,98,114,29,230,121,107,222,181,84,64,159,132,79,89,88,18,14,22,25,35,21,15,218,112,56,36,155,65,35,61,167,107,253,101,230,90,230,124,37,9,203,87,100,56,208,78,163,174,145,1,226,159,138,24,33,204,167,51,96,253,188,42,175,225,36,173,238,208,63,180,45,131,18,159,108,178,9,134,171,36,72,201,234,21,83,208,41,70,126,251,104,119,101,226,246,121,63,47,183,72,36,54,116,27,9,29,53,42,18,4,242,188,83,75,179,141,72,82,112,222,101,121,49,239,126,96,254,243,230,231,191,194,253,254,124,145,208,213,61,160,203,204,250,54,138,131,187,7,145,154,120,84,188,177,57,101,167,168,75,152,131,59,10,169,152,34,201,250,181,9,136,203,174,16,79,93,239,95,14,108,244,70,205,63,217,109,140,14,194,116,67,18,90,243,2,35,65,234,193,112,108,193,128,65,119,216,71,215,54,151,6,230,45,142,197,181,0,165,132,132,27,188,26,138,65,113,91,187,90,104,152,232,119,67,217,217,108,90,30,79,45,21,95,126,54,12,156,45,27,39,221,28,0,62,18,0,152,185,83,49,131,160,144,98,174,139,209,83,181,146,22,197,244,221,87,244,239,196,148,167,194,239,213,150,217,246,233,188,7,174,168,141,28,183,107,222,49,156,42,239,42,133,237,121,107,202,172,72,112,211,111,27,93,248,46,42,70,225,225,54,222,102,160,7,197,127,99,84,232,84,34,101,243,77,229,243,178,2,164,194,169,27,103,145,132,48,38,160,159,41,184,174,197,228,249,159,222,253,58,204,243,214,123,253,232,207,188,107,169,128,253,90,178,153,62,9,159,178,127,56,132,171,176,36,28,44,241,21,7,53,50,70,42,30,115,119,49,7,180,225,112,72,245,208,107,81,54,131,70,122,119,178,93,99,78,215,250,203,15,230,225,210,204,181,204,249,141,132,215,224,74,18,150,175,11,35,141,182,200,112,160,157,137,65,187,132,70,93,35,3,7,108,56,26,196,63,21,49,133,14,14,40,66,152,79,103,3,169,84,126,192,250,121,85,129,203,98,76,31,197,56,129,94,244,35,152,157,167,14,179,220,150,21,170,27,0,84,229,90,49,79,252,153,98,98,215,216,83,121,206,23,79,225,73,86,126,250,80,149,45,215,123,212,28,204,98,19,138,141,45,82,187,150,52,145,232,187,31,208,217,160,6,236,243,126,94,173,194,101,71,110,145,72,108,47,160,83,117,232,54,18,58,169,7,9,35,106,84,36,8,43,101,63,17,228,121,167,150,165,72,188,143,102,27,145,164,39,42,138,189,224,188,203,242,161,141,208,235,98,222,253,192,35,239,230,217,189,225,188,20,252,208,167,13,63,131,138,38,126,178,145,63,185,36,208,112,248,21,203,105,59,70,230,66,122,119,253,91,181,107,101,220,244,90,126,197,55,9,83,238,118,56,72,247,177,174,9,184,240,159,18,161,51,204,63,138,114,253,36,147,0,0,0,0,55,106,194,1,110,212,132,3,89,190,70,2,220,168,9,7,235,194,203,6,178,124,141,4,133,22,79,5,184,81,19,14,143,59,209,15,214,133,151,13,225,239,85,12,100,249,26,9,83,147,216,8,10,45,158,10,61,71,92,11,112,163,38,28,71,201,228,29,30,119,162,31,41,29,96,30,172,11,47,27,155,97,237,26,194,223,171,24,245,181,105,25,200,242,53,18,255,152,247,19,166,38,177,17,145,76,115,16,20,90,60,21,35,48,254,20,122,142,184,22,77,228,122,23,224,70,77,56,215,44,143,57,142,146,201,59,185,248,11,58,60,238,68,63,11,132,134,62,82,58,192,60,101,80,2,61,88,23,94,54,111,125,156,55,54,195,218,53,1,169,24,52,132,191,87,49,179,213,149,48,234,107,211,50,221,1,17,51,144,229,107,36,167,143,169,37,254,49,239,39,201,91,45,38,76,77,98,35,123,39,160,34,34,153,230,32,21,243,36,33,40,180,120,42,31,222,186,43,70,96,252,41,113,10,62,40,244,28,113,45,195,118,179,44,154,200,245,46,173,162,55,47,192,141,154,112,247,231,88,113,174,89,30,115,153,51,220,114,28,37,147,119,43,79,81,118,114,241,23,116,69,155,213,117,120,220,137,126,79,182,75,127,22,8,13,125,33,98,207,124,164,116,128,121,147,30,66,120,202,160,4,122,253,202,198,123,176,46,188,108,135,68,126,109,222,250,56,111,233,144,250,110,108,134,181,107,91,236,119,106,2,82,49,104,53,56,243,105,8,127,175,98,63,21,109,99,102,171,43,97,81,193,233,96,212,215,166,101,227,189,100,100,186,3,34,102,141,105,224,103,32,203,215,72,23,161,21,73,78,31,83,75,121,117,145,74,252,99,222,79,203,9,28,78,146,183,90,76,165,221,152,77,152,154,196,70,175,240,6,71,246,78,64,69,193,36,130,68,68,50,205,65,115,88,15,64,42,230,73,66,29,140,139,67,80,104,241,84,103,2,51,85,62,188,117,87,9,214,183,86,140,192,248,83,187,170,58,82,226,20,124,80,213,126,190,81,232,57,226,90,223,83,32,91,134,237,102,89,177,135,164,88,52,145,235,93,3,251,41,92,90,69,111,94,109,47,173,95,128,27,53,225,183,113,247,224,238,207,177,226,217,165,115,227,92,179,60,230,107,217,254,231,50,103,184,229,5,13,122,228,56,74,38,239,15,32,228,238,86,158,162,236,97,244,96,237,228,226,47,232,211,136,237,233,138,54,171,235,189,92,105,234,240,184,19,253,199,210,209,252,158,108,151,254,169,6,85,255,44,16,26,250,27,122,216,251,66,196,158,249,117,174,92,248,72,233,0,243,127,131,194,242,38,61,132,240,17,87,70,241,148,65,9,244,163,43,203,245,250,149,141,247,205,255,79,246,96,93,120,217,87,55,186,216,14,137,252,218,57,227,62,219,188,245,113,222,139,159,179,223,210,33,245,221,229,75,55,220,216,12,107,215,239,102,169,214,182,216,239,212,129,178,45,213,4,164,98,208,51,206,160,209,106,112,230,211,93,26,36,210,16,254,94,197,39,148,156,196,126,42,218,198,73,64,24,199,204,86,87,194,251,60,149,195,162,130,211,193,149,232,17,192,168,175,77,203,159,197,143,202,198,123,201,200,241,17,11,201,116,7,68,204,67,109,134,205,26,211,192,207,45,185,2,206,64,150,175,145,119,252,109,144,46,66,43,146,25,40,233,147,156,62,166,150,171,84,100,151,242,234,34,149,197,128,224,148,248,199,188,159,207,173,126,158,150,19,56,156,161,121,250,157,36,111,181,152,19,5,119,153,74,187,49,155,125,209,243,154,48,53,137,141,7,95,75,140,94,225,13,142,105,139,207,143,236,157,128,138,219,247,66,139,130,73,4,137,181,35,198,136,136,100,154,131,191,14,88,130,230,176,30,128,209,218,220,129,84,204,147,132,99,166,81,133,58,24,23,135,13,114,213,134,160,208,226,169,151,186,32,168,206,4,102,170,249,110,164,171,124,120,235,174,75,18,41,175,18,172,111,173,37,198,173,172,24,129,241,167,47,235,51,166,118,85,117,164,65,63,183,165,196,41,248,160,243,67,58,161,170,253,124,163,157,151,190,162,208,115,196,181,231,25,6,180,190,167,64,182,137,205,130,183,12,219,205,178,59,177,15,179,98,15,73,177,85,101,139,176,104,34,215,187,95,72,21,186,6,246,83,184,49,156,145,185,180,138,222,188,131,224,28,189,218,94,90,191,237,52,152,190,0,0,0,0,101,103,188,184,139,200,9,170,238,175,181,18,87,151,98,143,50,240,222,55,220,95,107,37,185,56,215,157,239,40,180,197,138,79,8,125,100,224,189,111,1,135,1,215,184,191,214,74,221,216,106,242,51,119,223,224,86,16,99,88,159,87,25,80,250,48,165,232,20,159,16,250,113,248,172,66,200,192,123,223,173,167,199,103,67,8,114,117,38,111,206,205,112,127,173,149,21,24,17,45,251,183,164,63,158,208,24,135,39,232,207,26,66,143,115,162,172,32,198,176,201,71,122,8,62,175,50,160,91,200,142,24,181,103,59,10,208,0,135,178,105,56,80,47,12,95,236,151,226,240,89,133,135,151,229,61,209,135,134,101,180,224,58,221,90,79,143,207,63,40,51,119,134,16,228,234,227,119,88,82,13,216,237,64,104,191,81,248,161,248,43,240,196,159,151,72,42,48,34,90,79,87,158,226,246,111,73,127,147,8,245,199,125,167,64,213,24,192,252,109,78,208,159,53,43,183,35,141,197,24,150,159,160,127,42,39,25,71,253,186,124,32,65,2,146,143,244,16,247,232,72,168,61,88,20,155,88,63,168,35,182,144,29,49,211,247,161,137,106,207,118,20,15,168,202,172,225,7,127,190,132,96,195,6,210,112,160,94,183,23,28,230,89,184,169,244,60,223,21,76,133,231,194,209,224,128,126,105,14,47,203,123,107,72,119,195,162,15,13,203,199,104,177,115,41,199,4,97,76,160,184,217,245,152,111,68,144,255,211,252,126,80,102,238,27,55,218,86,77,39,185,14,40,64,5,182,198,239,176,164,163,136,12,28,26,176,219,129,127,215,103,57,145,120,210,43,244,31,110,147,3,247,38,59,102,144,154,131,136,63,47,145,237,88,147,41,84,96,68,180,49,7,248,12,223,168,77,30,186,207,241,166,236,223,146,254,137,184,46,70,103,23,155,84,2,112,39,236,187,72,240,113,222,47,76,201,48,128,249,219,85,231,69,99,156,160,63,107,249,199,131,211,23,104,54,193,114,15,138,121,203,55,93,228,174,80,225,92,64,255,84,78,37,152,232,246,115,136,139,174,22,239,55,22,248,64,130,4,157,39,62,188,36,31,233,33,65,120,85,153,175,215,224,139,202,176,92,51,59,182,89,237,94,209,229,85,176,126,80,71,213,25,236,255,108,33,59,98,9,70,135,218,231,233,50,200,130,142,142,112,212,158,237,40,177,249,81,144,95,86,228,130,58,49,88,58,131,9,143,167,230,110,51,31,8,193,134,13,109,166,58,181,164,225,64,189,193,134,252,5,47,41,73,23,74,78,245,175,243,118,34,50,150,17,158,138,120,190,43,152,29,217,151,32,75,201,244,120,46,174,72,192,192,1,253,210,165,102,65,106,28,94,150,247,121,57,42,79,151,150,159,93,242,241,35,229,5,25,107,77,96,126,215,245,142,209,98,231,235,182,222,95,82,142,9,194,55,233,181,122,217,70,0,104,188,33,188,208,234,49,223,136,143,86,99,48,97,249,214,34,4,158,106,154,189,166,189,7,216,193,1,191,54,110,180,173,83,9,8,21,154,78,114,29,255,41,206,165,17,134,123,183,116,225,199,15,205,217,16,146,168,190,172,42,70,17,25,56,35,118,165,128,117,102,198,216,16,1,122,96,254,174,207,114,155,201,115,202,34,241,164,87,71,150,24,239,169,57,173,253,204,94,17,69,6,238,77,118,99,137,241,206,141,38,68,220,232,65,248,100,81,121,47,249,52,30,147,65,218,177,38,83,191,214,154,235,233,198,249,179,140,161,69,11,98,14,240,25,7,105,76,161,190,81,155,60,219,54,39,132,53,153,146,150,80,254,46,46,153,185,84,38,252,222,232,158,18,113,93,140,119,22,225,52,206,46,54,169,171,73,138,17,69,230,63,3,32,129,131,187,118,145,224,227,19,246,92,91,253,89,233,73,152,62,85,241,33,6,130,108,68,97,62,212,170,206,139,198,207,169,55,126,56,65,127,214,93,38,195,110,179,137,118,124,214,238,202,196,111,214,29,89,10,177,161,225,228,30,20,243,129,121,168,75,215,105,203,19,178,14,119,171,92,161,194,185,57,198,126,1,128,254,169,156,229,153,21,36,11,54,160,54,110,81,28,142,167,22,102,134,194,113,218,62,44,222,111,44,73,185,211,148,240,129,4,9,149,230,184,177,123,73,13,163,30,46,177,27,72,62,210,67,45,89,110,251,195,246,219,233,166,145,103,81,31,169,176,204,122,206,12,116,148,97,185,102,241,6,5,222,0,0,0,0,119,7,48,150,238,14,97,44,153,9,81,186,7,109,196,25,112,106,244,143,233,99,165,53,158,100,149,163,14,219,136,50,121,220,184,164,224,213,233,30,151,210,217,136,9,182,76,43,126,177,124,189,231,184,45,7,144,191,29,145,29,183,16,100,106,176,32,242,243,185,113,72,132,190,65,222,26,218,212,125,109,221,228,235,244,212,181,81,131,211,133,199,19,108,152,86,100,107,168,192,253,98,249,122,138,101,201,236,20,1,92,79,99,6,108,217,250,15,61,99,141,8,13,245,59,110,32,200,76,105,16,94,213,96,65,228,162,103,113,114,60,3,228,209,75,4,212,71,210,13,133,253,165,10,181,107,53,181,168,250,66,178,152,108,219,187,201,214,172,188,249,64,50,216,108,227,69,223,92,117,220,214,13,207,171,209,61,89,38,217,48,172,81,222,0,58,200,215,81,128,191,208,97,22,33,180,244,181,86,179,196,35,207,186,149,153,184,189,165,15,40,2,184,158,95,5,136,8,198,12,217,178,177,11,233,36,47,111,124,135,88,104,76,17,193,97,29,171,182,102,45,61,118,220,65,144,1,219,113,6,152,210,32,188,239,213,16,42,113,177,133,137,6,182,181,31,159,191,228,165,232,184,212,51,120,7,201,162,15,0,249,52,150,9,168,142,225,14,152,24,127,106,13,187,8,109,61,45,145,100,108,151,230,99,92,1,107,107,81,244,28,108,97,98,133,101,48,216,242,98,0,78,108,6,149,237,27,1,165,123,130,8,244,193,245,15,196,87,101,176,217,198,18,183,233,80,139,190,184,234,252,185,136,124,98,221,29,223,21,218,45,73,140,211,124,243,251,212,76,101,77,178,97,88,58,181,81,206,163,188,0,116,212,187,48,226,74,223,165,65,61,216,149,215,164,209,196,109,211,214,244,251,67,105,233,106,52,110,217,252,173,103,136,70,218,96,184,208,68,4,45,115,51,3,29,229,170,10,76,95,221,13,124,201,80,5,113,60,39,2,65,170,190,11,16,16,201,12,32,134,87,104,181,37,32,111,133,179,185,102,212,9,206,97,228,159,94,222,249,14,41,217,201,152,176,208,152,34,199,215,168,180,89,179,61,23,46,180,13,129,183,189,92,59,192,186,108,173,237,184,131,32,154,191,179,182,3,182,226,12,116,177,210,154,234,213,71,57,157,210,119,175,4,219,38,21,115,220,22,131,227,99,11,18,148,100,59,132,13,109,106,62,122,106,90,168,228,14,207,11,147,9,255,157,10,0,174,39,125,7,158,177,240,15,147,68,135,8,163,210,30,1,242,104,105,6,194,254,247,98,87,93,128,101,103,203,25,108,54,113,110,107,6,231,254,212,27,118,137,211,43,224,16,218,122,90,103,221,74,204,249,185,223,111,142,190,239,249,23,183,190,67,96,176,142,213,214,214,163,232,161,209,147,126,56,216,194,196,79,223,242,82,209,187,103,241,166,188,87,103,63,181,6,221,72,178,54,75,216,13,43,218,175,10,27,76,54,3,74,246,65,4,122,96,223,96,239,195,168,103,223,85,49,110,142,239,70,105,190,121,203,97,179,140,188,102,131,26,37,111,210,160,82,104,226,54,204,12,119,149,187,11,71,3,34,2,22,185,85,5,38,47,197,186,59,190,178,189,11,40,43,180,90,146,92,179,106,4,194,215,255,167,181,208,207,49,44,217,158,139,91,222,174,29,155,100,194,176,236,99,242,38,117,106,163,156,2,109,147,10,156,9,6,169,235,14,54,63,114,7,103,133,5,0,87,19,149,191,74,130,226,184,122,20,123,177,43,174,12,182,27,56,146,210,142,155,229,213,190,13,124,220,239,183,11,219,223,33,134,211,210,212,241,212,226,66,104,221,179,248,31,218,131,110,129,190,22,205,246,185,38,91,111,176,119,225,24,183,71,119,136,8,90,230,255,15,106,112,102,6,59,202,17,1,11,92,143,101,158,255,248,98,174,105,97,107,255,211,22,108,207,69,160,10,226,120,215,13,210,238,78,4,131,84,57,3,179,194,167,103,38,97,208,96,22,247,73,105,71,77,62,110,119,219,174,209,106,74,217,214,90,220,64,223,11,102,55,216,59,240,169,188,174,83,222,187,158,197,71,178,207,127,48,181,255,233,189,189,242,28,202,186,194,138,83,179,147,48,36,180,163,166,186,208,54,5,205,215,6,147,84,222,87,41,35,217,103,191,179,102,122,46,196,97,74,184,93,104,27,2,42,111,43,148,180,11,190,55,195,12,142,161,90,5,223,27,45,2,239,141,0,0,0,0,25,27,49,65,50,54,98,130,43,45,83,195,100,108,197,4,125,119,244,69,86,90,167,134,79,65,150,199,200,217,138,8,209,194,187,73,250,239,232,138,227,244,217,203,172,181,79,12,181,174,126,77,158,131,45,142,135,152,28,207,74,194,18,81,83,217,35,16,120,244,112,211,97,239,65,146,46,174,215,85,55,181,230,20,28,152,181,215,5,131,132,150,130,27,152,89,155,0,169,24,176,45,250,219,169,54,203,154,230,119,93,93,255,108,108,28,212,65,63,223,205,90,14,158,149,132,36,162,140,159,21,227,167,178,70,32,190,169,119,97,241,232,225,166,232,243,208,231,195,222,131,36,218,197,178,101,93,93,174,170,68,70,159,235,111,107,204,40,118,112,253,105,57,49,107,174,32,42,90,239,11,7,9,44,18,28,56,109,223,70,54,243,198,93,7,178,237,112,84,113,244,107,101,48,187,42,243,247,162,49,194,182,137,28,145,117,144,7,160,52,23,159,188,251,14,132,141,186,37,169,222,121,60,178,239,56,115,243,121,255,106,232,72,190,65,197,27,125,88,222,42,60,240,121,79,5,233,98,126,68,194,79,45,135,219,84,28,198,148,21,138,1,141,14,187,64,166,35,232,131,191,56,217,194,56,160,197,13,33,187,244,76,10,150,167,143,19,141,150,206,92,204,0,9,69,215,49,72,110,250,98,139,119,225,83,202,186,187,93,84,163,160,108,21,136,141,63,214,145,150,14,151,222,215,152,80,199,204,169,17,236,225,250,210,245,250,203,147,114,98,215,92,107,121,230,29,64,84,181,222,89,79,132,159,22,14,18,88,15,21,35,25,36,56,112,218,61,35,65,155,101,253,107,167,124,230,90,230,87,203,9,37,78,208,56,100,1,145,174,163,24,138,159,226,51,167,204,33,42,188,253,96,173,36,225,175,180,63,208,238,159,18,131,45,134,9,178,108,201,72,36,171,208,83,21,234,251,126,70,41,226,101,119,104,47,63,121,246,54,36,72,183,29,9,27,116,4,18,42,53,75,83,188,242,82,72,141,179,121,101,222,112,96,126,239,49,231,230,243,254,254,253,194,191,213,208,145,124,204,203,160,61,131,138,54,250,154,145,7,187,177,188,84,120,168,167,101,57,59,131,152,75,34,152,169,10,9,181,250,201,16,174,203,136,95,239,93,79,70,244,108,14,109,217,63,205,116,194,14,140,243,90,18,67,234,65,35,2,193,108,112,193,216,119,65,128,151,54,215,71,142,45,230,6,165,0,181,197,188,27,132,132,113,65,138,26,104,90,187,91,67,119,232,152,90,108,217,217,21,45,79,30,12,54,126,95,39,27,45,156,62,0,28,221,185,152,0,18,160,131,49,83,139,174,98,144,146,181,83,209,221,244,197,22,196,239,244,87,239,194,167,148,246,217,150,213,174,7,188,233,183,28,141,168,156,49,222,107,133,42,239,42,202,107,121,237,211,112,72,172,248,93,27,111,225,70,42,46,102,222,54,225,127,197,7,160,84,232,84,99,77,243,101,34,2,178,243,229,27,169,194,164,48,132,145,103,41,159,160,38,228,197,174,184,253,222,159,249,214,243,204,58,207,232,253,123,128,169,107,188,153,178,90,253,178,159,9,62,171,132,56,127,44,28,36,176,53,7,21,241,30,42,70,50,7,49,119,115,72,112,225,180,81,107,208,245,122,70,131,54,99,93,178,119,203,250,215,78,210,225,230,15,249,204,181,204,224,215,132,141,175,150,18,74,182,141,35,11,157,160,112,200,132,187,65,137,3,35,93,70,26,56,108,7,49,21,63,196,40,14,14,133,103,79,152,66,126,84,169,3,85,121,250,192,76,98,203,129,129,56,197,31,152,35,244,94,179,14,167,157,170,21,150,220,229,84,0,27,252,79,49,90,215,98,98,153,206,121,83,216,73,225,79,23,80,250,126,86,123,215,45,149,98,204,28,212,45,141,138,19,52,150,187,82,31,187,232,145,6,160,217,208,94,126,243,236,71,101,194,173,108,72,145,110,117,83,160,47,58,18,54,232,35,9,7,169,8,36,84,106,17,63,101,43,150,167,121,228,143,188,72,165,164,145,27,102,189,138,42,39,242,203,188,224,235,208,141,161,192,253,222,98,217,230,239,35,20,188,225,189,13,167,208,252,38,138,131,63,63,145,178,126,112,208,36,185,105,203,21,248,66,230,70,59,91,253,119,122,220,101,107,181,197,126,90,244,238,83,9,55,247,72,56,118,184,9,174,177,161,18,159,240,138,63,204,51,147,36,253,114,0,0,0,0,1,194,106,55,3,132,212,110,2,70,190,89,7,9,168,220,6,203,194,235,4,141,124,178,5,79,22,133,14,19,81,184,15,209,59,143,13,151,133,214,12,85,239,225,9,26,249,100,8,216,147,83,10,158,45,10,11,92,71,61,28,38,163,112,29,228,201,71,31,162,119,30,30,96,29,41,27,47,11,172,26,237,97,155,24,171,223,194,25,105,181,245,18,53,242,200,19,247,152,255,17,177,38,166,16,115,76,145,21,60,90,20,20,254,48,35,22,184,142,122,23,122,228,77,56,77,70,224,57,143,44,215,59,201,146,142,58,11,248,185,63,68,238,60,62,134,132,11,60,192,58,82,61,2,80,101,54,94,23,88,55,156,125,111,53,218,195,54,52,24,169,1,49,87,191,132,48,149,213,179,50,211,107,234,51,17,1,221,36,107,229,144,37,169,143,167,39,239,49,254,38,45,91,201,35,98,77,76,34,160,39,123,32,230,153,34,33,36,243,21,42,120,180,40,43,186,222,31,41,252,96,70,40,62,10,113,45,113,28,244,44,179,118,195,46,245,200,154,47,55,162,173,112,154,141,192,113,88,231,247,115,30,89,174,114,220,51,153,119,147,37,28,118,81,79,43,116,23,241,114,117,213,155,69,126,137,220,120,127,75,182,79,125,13,8,22,124,207,98,33,121,128,116,164,120,66,30,147,122,4,160,202,123,198,202,253,108,188,46,176,109,126,68,135,111,56,250,222,110,250,144,233,107,181,134,108,106,119,236,91,104,49,82,2,105,243,56,53,98,175,127,8,99,109,21,63,97,43,171,102,96,233,193,81,101,166,215,212,100,100,189,227,102,34,3,186,103,224,105,141,72,215,203,32,73,21,161,23,75,83,31,78,74,145,117,121,79,222,99,252,78,28,9,203,76,90,183,146,77,152,221,165,70,196,154,152,71,6,240,175,69,64,78,246,68,130,36,193,65,205,50,68,64,15,88,115,66,73,230,42,67,139,140,29,84,241,104,80,85,51,2,103,87,117,188,62,86,183,214,9,83,248,192,140,82,58,170,187,80,124,20,226,81,190,126,213,90,226,57,232,91,32,83,223,89,102,237,134,88,164,135,177,93,235,145,52,92,41,251,3,94,111,69,90,95,173,47,109,225,53,27,128,224,247,113,183,226,177,207,238,227,115,165,217,230,60,179,92,231,254,217,107,229,184,103,50,228,122,13,5,239,38,74,56,238,228,32,15,236,162,158,86,237,96,244,97,232,47,226,228,233,237,136,211,235,171,54,138,234,105,92,189,253,19,184,240,252,209,210,199,254,151,108,158,255,85,6,169,250,26,16,44,251,216,122,27,249,158,196,66,248,92,174,117,243,0,233,72,242,194,131,127,240,132,61,38,241,70,87,17,244,9,65,148,245,203,43,163,247,141,149,250,246,79,255,205,217,120,93,96,216,186,55,87,218,252,137,14,219,62,227,57,222,113,245,188,223,179,159,139,221,245,33,210,220,55,75,229,215,107,12,216,214,169,102,239,212,239,216,182,213,45,178,129,208,98,164,4,209,160,206,51,211,230,112,106,210,36,26,93,197,94,254,16,196,156,148,39,198,218,42,126,199,24,64,73,194,87,86,204,195,149,60,251,193,211,130,162,192,17,232,149,203,77,175,168,202,143,197,159,200,201,123,198,201,11,17,241,204,68,7,116,205,134,109,67,207,192,211,26,206,2,185,45,145,175,150,64,144,109,252,119,146,43,66,46,147,233,40,25,150,166,62,156,151,100,84,171,149,34,234,242,148,224,128,197,159,188,199,248,158,126,173,207,156,56,19,150,157,250,121,161,152,181,111,36,153,119,5,19,155,49,187,74,154,243,209,125,141,137,53,48,140,75,95,7,142,13,225,94,143,207,139,105,138,128,157,236,139,66,247,219,137,4,73,130,136,198,35,181,131,154,100,136,130,88,14,191,128,30,176,230,129,220,218,209,132,147,204,84,133,81,166,99,135,23,24,58,134,213,114,13,169,226,208,160,168,32,186,151,170,102,4,206,171,164,110,249,174,235,120,124,175,41,18,75,173,111,172,18,172,173,198,37,167,241,129,24,166,51,235,47,164,117,85,118,165,183,63,65,160,248,41,196,161,58,67,243,163,124,253,170,162,190,151,157,181,196,115,208,180,6,25,231,182,64,167,190,183,130,205,137,178,205,219,12,179,15,177,59,177,73,15,98,176,139,101,85,187,215,34,104,186,21,72,95,184,83,246,6,185,145,156,49,188,222,138,180,189,28,224,131,191,90,94,218,190,152,52,237,0,0,0,0,184,188,103,101,170,9,200,139,18,181,175,238,143,98,151,87,55,222,240,50,37,107,95,220,157,215,56,185,197,180,40,239,125,8,79,138,111,189,224,100,215,1,135,1,74,214,191,184,242,106,216,221,224,223,119,51,88,99,16,86,80,25,87,159,232,165,48,250,250,16,159,20,66,172,248,113,223,123,192,200,103,199,167,173,117,114,8,67,205,206,111,38,149,173,127,112,45,17,24,21,63,164,183,251,135,24,208,158,26,207,232,39,162,115,143,66,176,198,32,172,8,122,71,201,160,50,175,62,24,142,200,91,10,59,103,181,178,135,0,208,47,80,56,105,151,236,95,12,133,89,240,226,61,229,151,135,101,134,135,209,221,58,224,180,207,143,79,90,119,51,40,63,234,228,16,134,82,88,119,227,64,237,216,13,248,81,191,104,240,43,248,161,72,151,159,196,90,34,48,42,226,158,87,79,127,73,111,246,199,245,8,147,213,64,167,125,109,252,192,24,53,159,208,78,141,35,183,43,159,150,24,197,39,42,127,160,186,253,71,25,2,65,32,124,16,244,143,146,168,72,232,247,155,20,88,61,35,168,63,88,49,29,144,182,137,161,247,211,20,118,207,106,172,202,168,15,190,127,7,225,6,195,96,132,94,160,112,210,230,28,23,183,244,169,184,89,76,21,223,60,209,194,231,133,105,126,128,224,123,203,47,14,195,119,72,107,203,13,15,162,115,177,104,199,97,4,199,41,217,184,160,76,68,111,152,245,252,211,255,144,238,102,80,126,86,218,55,27,14,185,39,77,182,5,64,40,164,176,239,198,28,12,136,163,129,219,176,26,57,103,215,127,43,210,120,145,147,110,31,244,59,38,247,3,131,154,144,102,145,47,63,136,41,147,88,237,180,68,96,84,12,248,7,49,30,77,168,223,166,241,207,186,254,146,223,236,70,46,184,137,84,155,23,103,236,39,112,2,113,240,72,187,201,76,47,222,219,249,128,48,99,69,231,85,107,63,160,156,211,131,199,249,193,54,104,23,121,138,15,114,228,93,55,203,92,225,80,174,78,84,255,64,246,232,152,37,174,139,136,115,22,55,239,22,4,130,64,248,188,62,39,157,33,233,31,36,153,85,120,65,139,224,215,175,51,92,176,202,237,89,182,59,85,229,209,94,71,80,126,176,255,236,25,213,98,59,33,108,218,135,70,9,200,50,233,231,112,142,142,130,40,237,158,212,144,81,249,177,130,228,86,95,58,88,49,58,167,143,9,131,31,51,110,230,13,134,193,8,181,58,166,109,189,64,225,164,5,252,134,193,23,73,41,47,175,245,78,74,50,34,118,243,138,158,17,150,152,43,190,120,32,151,217,29,120,244,201,75,192,72,174,46,210,253,1,192,106,65,102,165,247,150,94,28,79,42,57,121,93,159,150,151,229,35,241,242,77,107,25,5,245,215,126,96,231,98,209,142,95,222,182,235,194,9,142,82,122,181,233,55,104,0,70,217,208,188,33,188,136,223,49,234,48,99,86,143,34,214,249,97,154,106,158,4,7,189,166,189,191,1,193,216,173,180,110,54,21,8,9,83,29,114,78,154,165,206,41,255,183,123,134,17,15,199,225,116,146,16,217,205,42,172,190,168,56,25,17,70,128,165,118,35,216,198,102,117,96,122,1,16,114,207,174,254,202,115,201,155,87,164,241,34,239,24,150,71,253,173,57,169,69,17,94,204,118,77,238,6,206,241,137,99,220,68,38,141,100,248,65,232,249,47,121,81,65,147,30,52,83,38,177,218,235,154,214,191,179,249,198,233,11,69,161,140,25,240,14,98,161,76,105,7,60,155,81,190,132,39,54,219,150,146,153,53,46,46,254,80,38,84,185,153,158,232,222,252,140,93,113,18,52,225,22,119,169,54,46,206,17,138,73,171,3,63,230,69,187,131,129,32,227,224,145,118,91,92,246,19,73,233,89,253,241,85,62,152,108,130,6,33,212,62,97,68,198,139,206,170,126,55,169,207,214,127,65,56,110,195,38,93,124,118,137,179,196,202,238,214,89,29,214,111,225,161,177,10,243,20,30,228,75,168,121,129,19,203,105,215,171,119,14,178,185,194,161,92,1,126,198,57,156,169,254,128,36,21,153,229,54,160,54,11,142,28,81,110,134,102,22,167,62,218,113,194,44,111,222,44,148,211,185,73,9,4,129,240,177,184,230,149,163,13,73,123,27,177,46,30,67,210,62,72,251,110,89,45,233,219,246,195,81,103,145,166,204,176,169,31,116,12,206,122,102,185,97,148,222,5,6,241,0,0,0,0,0,0,0,0,1,0,0,0,4,0,4,0,8,0,4,0,2,0,0,0,4,0,5,0,16,0,8,0,2,0,0,0,4,0,6,0,32,0,32,0,2,0,0,0,4,0,4,0,16,0,16,0,3,0,0,0,8,0,16,0,32,0,32,0,3,0,0,0,8,0,16,0,128,0,128,0,3,0,0,0,8,0,32,0,128,0,0,1,3,0,0,0,32,0,128,0,2,1,0,4,3,0,0,0,32,0,2,1,2,1,0,16,3,0,0,0,62,47,0,0,188,32,0,0,1,1,0,0,30,1,0,0,15,0,0,0,190,51,0,0,164,33,0,0,0,0,0,0,30,0,0,0,15,0,0,0,0,0,0,0,148,34,0,0,0,0,0,0,19,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,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,16,0,0,0,20,0,0,0,24,0,0,0,28,0,0,0,32,0,0,0,40,0,0,0,48,0,0,0,56,0,0,0,64,0,0,0,80,0,0,0,96,0,0,0,112,0,0,0,128,0,0,0,160,0,0,0,192,0,0,0,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,6,0,0,0,8,0,0,0,12,0,0,0,16,0,0,0,24,0,0,0,32,0,0,0,48,0,0,0,64,0,0,0,96,0,0,0,128,0,0,0,192,0,0,0,0,1,0,0,128,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,6,0,0,0,8,0,0,0,12,0,0,0,16,0,0,0,24,0,0,0,32,0,0,0,48,0,0,0,64,0,0,0,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,7,0,0,0,205,57,0,0,221,57,0,0,232,57,0,0,233,57,0,0,244,57,0,0,1,58,0,0,12,58,0,0,32,58,0,0,45,58,0,0,232,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,35,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,174,65,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,7,0,0,0,8,80,0,0,8,16,0,20,8,115,0,18,7,31,0,0,8,112,0,0,8,48,0,0,9,192,0,16,7,10,0,0,8,96,0,0,8,32,0,0,9,160,0,0,8,0,0,0,8,128,0,0,8,64,0,0,9,224,0,16,7,6,0,0,8,88,0,0,8,24,0,0,9,144,0,19,7,59,0,0,8,120,0,0,8,56,0,0,9,208,0,17,7,17,0,0,8,104,0,0,8,40,0,0,9,176,0,0,8,8,0,0,8,136,0,0,8,72,0,0,9,240,0,16,7,4,0,0,8,84,0,0,8,20,0,21,8,227,0,19,7,43,0,0,8,116,0,0,8,52,0,0,9,200,0,17,7,13,0,0,8,100,0,0,8,36,0,0,9,168,0,0,8,4,0,0,8,132,0,0,8,68,0,0,9,232,0,16,7,8,0,0,8,92,0,0,8,28,0,0,9,152,0,20,7,83,0,0,8,124,0,0,8,60,0,0,9,216,0,18,7,23,0,0,8,108,0,0,8,44,0,0,9,184,0,0,8,12,0,0,8,140,0,0,8,76,0,0,9,248,0,16,7,3,0,0,8,82,0,0,8,18,0,21,8,163,0,19,7,35,0,0,8,114,0,0,8,50,0,0,9,196,0,17,7,11,0,0,8,98,0,0,8,34,0,0,9,164,0,0,8,2,0,0,8,130,0,0,8,66,0,0,9,228,0,16,7,7,0,0,8,90,0,0,8,26,0,0,9,148,0,20,7,67,0,0,8,122,0,0,8,58,0,0,9,212,0,18,7,19,0,0,8,106,0,0,8,42,0,0,9,180,0,0,8,10,0,0,8,138,0,0,8,74,0,0,9,244,0,16,7,5,0,0,8,86,0,0,8,22,0,64,8,0,0,19,7,51,0,0,8,118,0,0,8,54,0,0,9,204,0,17,7,15,0,0,8,102,0,0,8,38,0,0,9,172,0,0,8,6,0,0,8,134,0,0,8,70,0,0,9,236,0,16,7,9,0,0,8,94,0,0,8,30,0,0,9,156,0,20,7,99,0,0,8,126,0,0,8,62,0,0,9,220,0,18,7,27,0,0,8,110,0,0,8,46,0,0,9,188,0,0,8,14,0,0,8,142,0,0,8,78,0,0,9,252,0,96,7,0,0,0,8,81,0,0,8,17,0,21,8,131,0,18,7,31,0,0,8,113,0,0,8,49,0,0,9,194,0,16,7,10,0,0,8,97,0,0,8,33,0,0,9,162,0,0,8,1,0,0,8,129,0,0,8,65,0,0,9,226,0,16,7,6,0,0,8,89,0,0,8,25,0,0,9,146,0,19,7,59,0,0,8,121,0,0,8,57,0,0,9,210,0,17,7,17,0,0,8,105,0,0,8,41],"i8",R,d.GLOBAL_BASE),P([9,178,0,0,8,9,0,0,8,137,0,0,8,73,0,0,9,242,0,16,7,4,0,0,8,85,0,0,8,21,0,16,8,2,1,19,7,43,0,0,8,117,0,0,8,53,0,0,9,202,0,17,7,13,0,0,8,101,0,0,8,37,0,0,9,170,0,0,8,5,0,0,8,133,0,0,8,69,0,0,9,234,0,16,7,8,0,0,8,93,0,0,8,29,0,0,9,154,0,20,7,83,0,0,8,125,0,0,8,61,0,0,9,218,0,18,7,23,0,0,8,109,0,0,8,45,0,0,9,186,0,0,8,13,0,0,8,141,0,0,8,77,0,0,9,250,0,16,7,3,0,0,8,83,0,0,8,19,0,21,8,195,0,19,7,35,0,0,8,115,0,0,8,51,0,0,9,198,0,17,7,11,0,0,8,99,0,0,8,35,0,0,9,166,0,0,8,3,0,0,8,131,0,0,8,67,0,0,9,230,0,16,7,7,0,0,8,91,0,0,8,27,0,0,9,150,0,20,7,67,0,0,8,123,0,0,8,59,0,0,9,214,0,18,7,19,0,0,8,107,0,0,8,43,0,0,9,182,0,0,8,11,0,0,8,139,0,0,8,75,0,0,9,246,0,16,7,5,0,0,8,87,0,0,8,23,0,64,8,0,0,19,7,51,0,0,8,119,0,0,8,55,0,0,9,206,0,17,7,15,0,0,8,103,0,0,8,39,0,0,9,174,0,0,8,7,0,0,8,135,0,0,8,71,0,0,9,238,0,16,7,9,0,0,8,95,0,0,8,31,0,0,9,158,0,20,7,99,0,0,8,127,0,0,8,63,0,0,9,222,0,18,7,27,0,0,8,111,0,0,8,47,0,0,9,190,0,0,8,15,0,0,8,143,0,0,8,79,0,0,9,254,0,96,7,0,0,0,8,80,0,0,8,16,0,20,8,115,0,18,7,31,0,0,8,112,0,0,8,48,0,0,9,193,0,16,7,10,0,0,8,96,0,0,8,32,0,0,9,161,0,0,8,0,0,0,8,128,0,0,8,64,0,0,9,225,0,16,7,6,0,0,8,88,0,0,8,24,0,0,9,145,0,19,7,59,0,0,8,120,0,0,8,56,0,0,9,209,0,17,7,17,0,0,8,104,0,0,8,40,0,0,9,177,0,0,8,8,0,0,8,136,0,0,8,72,0,0,9,241,0,16,7,4,0,0,8,84,0,0,8,20,0,21,8,227,0,19,7,43,0,0,8,116,0,0,8,52,0,0,9,201,0,17,7,13,0,0,8,100,0,0,8,36,0,0,9,169,0,0,8,4,0,0,8,132,0,0,8,68,0,0,9,233,0,16,7,8,0,0,8,92,0,0,8,28,0,0,9,153,0,20,7,83,0,0,8,124,0,0,8,60,0,0,9,217,0,18,7,23,0,0,8,108,0,0,8,44,0,0,9,185,0,0,8,12,0,0,8,140,0,0,8,76,0,0,9,249,0,16,7,3,0,0,8,82,0,0,8,18,0,21,8,163,0,19,7,35,0,0,8,114,0,0,8,50,0,0,9,197,0,17,7,11,0,0,8,98,0,0,8,34,0,0,9,165,0,0,8,2,0,0,8,130,0,0,8,66,0,0,9,229,0,16,7,7,0,0,8,90,0,0,8,26,0,0,9,149,0,20,7,67,0,0,8,122,0,0,8,58,0,0,9,213,0,18,7,19,0,0,8,106,0,0,8,42,0,0,9,181,0,0,8,10,0,0,8,138,0,0,8,74,0,0,9,245,0,16,7,5,0,0,8,86,0,0,8,22,0,64,8,0,0,19,7,51,0,0,8,118,0,0,8,54,0,0,9,205,0,17,7,15,0,0,8,102,0,0,8,38,0,0,9,173,0,0,8,6,0,0,8,134,0,0,8,70,0,0,9,237,0,16,7,9,0,0,8,94,0,0,8,30,0,0,9,157,0,20,7,99,0,0,8,126,0,0,8,62,0,0,9,221,0,18,7,27,0,0,8,110,0,0,8,46,0,0,9,189,0,0,8,14,0,0,8,142,0,0,8,78,0,0,9,253,0,96,7,0,0,0,8,81,0,0,8,17,0,21,8,131,0,18,7,31,0,0,8,113,0,0,8,49,0,0,9,195,0,16,7,10,0,0,8,97,0,0,8,33,0,0,9,163,0,0,8,1,0,0,8,129,0,0,8,65,0,0,9,227,0,16,7,6,0,0,8,89,0,0,8,25,0,0,9,147,0,19,7,59,0,0,8,121,0,0,8,57,0,0,9,211,0,17,7,17,0,0,8,105,0,0,8,41,0,0,9,179,0,0,8,9,0,0,8,137,0,0,8,73,0,0,9,243,0,16,7,4,0,0,8,85,0,0,8,21,0,16,8,2,1,19,7,43,0,0,8,117,0,0,8,53,0,0,9,203,0,17,7,13,0,0,8,101,0,0,8,37,0,0,9,171,0,0,8,5,0,0,8,133,0,0,8,69,0,0,9,235,0,16,7,8,0,0,8,93,0,0,8,29,0,0,9,155,0,20,7,83,0,0,8,125,0,0,8,61,0,0,9,219,0,18,7,23,0,0,8,109,0,0,8,45,0,0,9,187,0,0,8,13,0,0,8,141,0,0,8,77,0,0,9,251,0,16,7,3,0,0,8,83,0,0,8,19,0,21,8,195,0,19,7,35,0,0,8,115,0,0,8,51,0,0,9,199,0,17,7,11,0,0,8,99,0,0,8,35,0,0,9,167,0,0,8,3,0,0,8,131,0,0,8,67,0,0,9,231,0,16,7,7,0,0,8,91,0,0,8,27,0,0,9,151,0,20,7,67,0,0,8,123,0,0,8,59,0,0,9,215,0,18,7,19,0,0,8,107,0,0,8,43,0,0,9,183,0,0,8,11,0,0,8,139,0,0,8,75,0,0,9,247,0,16,7,5,0,0,8,87,0,0,8,23,0,64,8,0,0,19,7,51,0,0,8,119,0,0,8,55,0,0,9,207,0,17,7,15,0,0,8,103,0,0,8,39,0,0,9,175,0,0,8,7,0,0,8,135,0,0,8,71,0,0,9,239,0,16,7,9,0,0,8,95,0,0,8,31,0,0,9,159,0,20,7,99,0,0,8,127,0,0,8,63,0,0,9,223,0,18,7,27,0,0,8,111,0,0,8,47,0,0,9,191,0,0,8,15,0,0,8,143,0,0,8,79,0,0,9,255,0,16,5,1,0,23,5,1,1,19,5,17,0,27,5,1,16,17,5,5,0,25,5,1,4,21,5,65,0,29,5,1,64,16,5,3,0,24,5,1,2,20,5,33,0,28,5,1,32,18,5,9,0,26,5,1,8,22,5,129,0,64,5,0,0,16,5,2,0,23,5,129,1,19,5,25,0,27,5,1,24,17,5,7,0,25,5,1,6,21,5,97,0,29,5,1,96,16,5,4,0,24,5,1,3,20,5,49,0,28,5,1,48,18,5,13,0,26,5,1,12,22,5,193,0,64,5,0,0,16,0,17,0,18,0,0,0,8,0,7,0,9,0,6,0,10,0,5,0,11,0,4,0,12,0,3,0,13,0,2,0,14,0,1,0,15,0,1,0,2,0,3,0,4,0,5,0,7,0,9,0,13,0,17,0,25,0,33,0,49,0,65,0,97,0,129,0,193,0,1,1,129,1,1,2,1,3,1,4,1,6,1,8,1,12,1,16,1,24,1,32,1,48,1,64,1,96,0,0,0,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,13,0,15,0,17,0,19,0,23,0,27,0,31,0,35,0,43,0,51,0,59,0,67,0,83,0,99,0,115,0,131,0,163,0,195,0,227,0,2,1,0,0,0,0,16,0,16,0,16,0,16,0,17,0,17,0,18,0,18,0,19,0,19,0,20,0,20,0,21,0,21,0,22,0,22,0,23,0,23,0,24,0,24,0,25,0,25,0,26,0,26,0,27,0,27,0,28,0,28,0,29,0,29,0,64,0,64,0,16,0,16,0,16,0,16,0,16,0,16,0,16,0,16,0,17,0,17,0,17,0,17,0,18,0,18,0,18,0,18,0,19,0,19,0,19,0,19,0,20,0,20,0,20,0,20,0,21,0,21,0,21,0,21,0,16,0,73,0,195,0,12,0,8,0,140,0,8,0,76,0,8,0,204,0,8,0,44,0,8,0,172,0,8,0,108,0,8,0,236,0,8,0,28,0,8,0,156,0,8,0,92,0,8,0,220,0,8,0,60,0,8,0,188,0,8,0,124,0,8,0,252,0,8,0,2,0,8,0,130,0,8,0,66,0,8,0,194,0,8,0,34,0,8,0,162,0,8,0,98,0,8,0,226,0,8,0,18,0,8,0,146,0,8,0,82,0,8,0,210,0,8,0,50,0,8,0,178,0,8,0,114,0,8,0,242,0,8,0,10,0,8,0,138,0,8,0,74,0,8,0,202,0,8,0,42,0,8,0,170,0,8,0,106,0,8,0,234,0,8,0,26,0,8,0,154,0,8,0,90,0,8,0,218,0,8,0,58,0,8,0,186,0,8,0,122,0,8,0,250,0,8,0,6,0,8,0,134,0,8,0,70,0,8,0,198,0,8,0,38,0,8,0,166,0,8,0,102,0,8,0,230,0,8,0,22,0,8,0,150,0,8,0,86,0,8,0,214,0,8,0,54,0,8,0,182,0,8,0,118,0,8,0,246,0,8,0,14,0,8,0,142,0,8,0,78,0,8,0,206,0,8,0,46,0,8,0,174,0,8,0,110,0,8,0,238,0,8,0,30,0,8,0,158,0,8,0,94,0,8,0,222,0,8,0,62,0,8,0,190,0,8,0,126,0,8,0,254,0,8,0,1,0,8,0,129,0,8,0,65,0,8,0,193,0,8,0,33,0,8,0,161,0,8,0,97,0,8,0,225,0,8,0,17,0,8,0,145,0,8,0,81,0,8,0,209,0,8,0,49,0,8,0,177,0,8,0,113,0,8,0,241,0,8,0,9,0,8,0,137,0,8,0,73,0,8,0,201,0,8,0,41,0,8,0,169,0,8,0,105,0,8,0,233,0,8,0,25,0,8,0,153,0,8,0,89,0,8,0,217,0,8,0,57,0,8,0,185,0,8,0,121,0,8,0,249,0,8,0,5,0,8,0,133,0,8,0,69,0,8,0,197,0,8,0,37,0,8,0,165,0,8,0,101,0,8,0,229,0,8,0,21,0,8,0,149,0,8,0,85,0,8,0,213,0,8,0,53,0,8,0,181,0,8,0,117,0,8,0,245,0,8,0,13,0,8,0,141,0,8,0,77,0,8,0,205,0,8,0,45,0,8,0,173,0,8,0,109,0,8,0,237,0,8,0,29,0,8,0,157,0,8,0,93,0,8,0,221,0,8,0,61,0,8,0,189,0,8,0,125,0,8,0,253,0,8,0,19,0,9,0,19,1,9,0,147,0,9,0,147,1,9,0,83,0,9,0,83,1,9,0,211,0,9,0,211,1,9,0,51,0,9,0,51,1,9,0,179,0,9,0,179,1,9,0,115,0,9,0,115,1,9,0,243,0,9,0,243,1,9,0,11,0,9,0,11,1,9,0,139,0,9,0,139,1,9,0,75,0,9,0,75,1,9,0,203,0,9,0,203,1,9,0,43,0,9,0,43,1,9,0,171,0,9,0,171,1,9,0,107,0,9,0,107,1,9,0,235,0,9,0,235,1,9,0,27,0,9,0,27,1,9,0,155,0,9,0,155,1,9,0,91,0,9,0,91,1,9,0,219,0,9,0,219,1,9,0,59,0,9,0,59,1,9,0,187,0,9,0,187,1,9,0,123,0,9,0,123,1,9,0,251,0,9,0,251,1,9,0,7,0,9,0,7,1,9,0,135,0,9,0,135,1,9,0,71,0,9,0,71,1,9,0,199,0,9,0,199,1,9,0,39,0,9,0,39,1,9,0,167,0,9,0,167,1,9,0,103,0,9,0,103,1,9,0,231,0,9,0,231,1,9,0,23,0,9,0,23,1,9,0,151,0,9,0,151,1,9,0,87,0,9,0,87,1,9,0,215,0,9,0,215,1,9,0,55,0,9,0,55,1,9,0,183,0,9,0,183,1,9,0,119,0,9,0,119,1,9,0,247,0,9,0,247,1,9,0,15,0,9,0,15,1,9,0,143,0,9,0,143,1,9,0,79,0,9,0,79,1,9,0,207,0,9,0,207,1,9,0,47,0,9,0,47,1,9,0,175,0,9,0,175,1,9,0,111,0,9,0,111,1,9,0,239,0,9,0,239,1,9,0,31,0,9,0,31,1,9,0,159,0,9,0,159,1,9,0,95,0,9,0,95,1,9,0,223,0,9,0,223,1,9,0,63,0,9,0,63,1,9,0,191,0,9,0,191,1,9,0,127,0,9,0,127,1,9,0,255,0,9,0,255,1,9,0,0,0,7,0,64,0,7,0,32,0,7,0,96,0,7,0,16,0,7,0,80,0,7,0,48,0,7,0,112,0,7,0,8,0,7,0,72,0,7,0,40,0,7,0,104,0,7,0,24,0,7,0,88,0,7,0,56,0,7,0,120,0,7,0,4,0,7,0,68,0,7,0,36,0,7,0,100,0,7,0,20,0,7,0,84,0,7,0,52,0,7,0,116,0,7,0,3,0,8,0,131,0,8,0,67,0,8,0,195,0,8,0,35,0,8,0,163,0,8,0,99,0,8,0,227,0,8,0,0,0,5,0,16,0,5,0,8,0,5,0,24,0,5,0,4,0,5,0,20,0,5,0,12,0,5,0,28,0,5,0,2,0,5,0,18,0,5,0,10,0,5,0,26,0,5,0,6,0,5,0,22,0,5,0,14,0,5,0,30,0,5,0,1,0,5,0,17,0,5,0,9,0,5,0,25,0,5,0,5,0,5,0,21,0,5,0,13,0,5,0,29,0,5,0,3,0,5,0,19,0,5,0,11,0,5,0,27,0,5,0,7,0,5,0,23,0,5,0,58,32,0,117,110,101,120,112,101,99,116,101,100,32,101,110,100,32,111,102,32,102,105,108,101,0,105,110,116,101,114,110,97,108,32,101,114,114,111,114,58,32,105,110,102,108,97,116,101,32,115,116,114,101,97,109,32,99,111,114,114,117,112,116,0,99,111,109,112,114,101,115,115,101,100,32,100,97,116,97,32,101,114,114,111,114,0,114,101,113,117,101,115,116,101,100,32,108,101,110,103,116,104,32,100,111,101,115,32,110,111,116,32,102,105,116,32,105,110,32,105,110,116,0,105,110,116,101,114,110,97,108,32,101,114,114,111,114,58,32,100,101,102,108,97,116,101,32,115,116,114,101,97,109,32,99,111,114,114,117,112,116,0,111,117,116,32,111,102,32,109,101,109,111,114,121,0,49,46,50,46,53,0,105,110,99,111,114,114,101,99,116,32,104,101,97,100,101,114,32,99,104,101,99,107,0,117,110,107,110,111,119,110,32,99,111,109,112,114,101,115,115,105,111,110,32,109,101,116,104,111,100,0,105,110,118,97,108,105,100,32,119,105,110,100,111,119,32,115,105,122,101,0,117,110,107,110,111,119,110,32,104,101,97,100,101,114,32,102,108,97,103,115,32,115,101,116,0,104,101,97,100,101,114,32,99,114,99,32,109,105,115,109,97,116,99,104,0,105,110,118,97,108,105,100,32,98,108,111,99,107,32,116,121,112,101,0,105,110,118,97,108,105,100,32,115,116,111,114,101,100,32,98,108,111,99,107,32,108,101,110,103,116,104,115,0,116,111,111,32,109,97,110,121,32,108,101,110,103,116,104,32,111,114,32,100,105,115,116,97,110,99,101,32,115,121,109,98,111,108,115,0,105,110,118,97,108,105,100,32,99,111,100,101,32,108,101,110,103,116,104,115,32,115,101,116,0,105,110,118,97,108,105,100,32,98,105,116,32,108,101,110,103,116,104,32,114,101,112,101,97,116,0,105,110,118,97,108,105,100,32,99,111,100,101,32,45,45,32,109,105,115,115,105,110,103,32,101,110,100,45,111,102,45,98,108,111,99,107,0,105,110,118,97,108,105,100,32,108,105,116,101,114,97,108,47,108,101,110,103,116,104,115,32,115,101,116,0,105,110,118,97,108,105,100,32,100,105,115,116,97,110,99,101,115,32,115,101,116,0,105,110,118,97,108,105,100,32,108,105,116,101,114,97,108,47,108,101,110,103,116,104,32,99,111,100,101,0,105,110,118,97,108,105,100,32,100,105,115,116,97,110,99,101,32,99,111,100,101,0,105,110,118,97,108,105,100,32,100,105,115,116,97,110,99,101,32,116,111,111,32,102,97,114,32,98,97,99,107,0,105,110,99,111,114,114,101,99,116,32,100,97,116,97,32,99,104,101,99,107,0,105,110,99,111,114,114,101,99,116,32,108,101,110,103,116,104,32,99,104,101,99,107,0,0,1,2,3,4,4,5,5,6,6,6,6,7,7,7,7,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,0,16,17,18,18,19,19,20,20,20,20,21,21,21,21,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,0,1,2,3,4,5,6,7,8,8,9,9,10,10,11,11,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,16,16,16,16,17,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,28,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,110,101,101,100,32,100,105,99,116,105,111,110,97,114,121,0,115,116,114,101,97,109,32,101,110,100,0,0,102,105,108,101,32,101,114,114,111,114,0,115,116,114,101,97,109,32,101,114,114,111,114,0,100,97,116,97,32,101,114,114,111,114,0,105,110,115,117,102,102,105,99,105,101,110,116,32,109,101,109,111,114,121,0,98,117,102,102,101,114,32,101,114,114,111,114,0,105,110,99,111,109,112,97,116,105,98,108,101,32,118,101,114,115,105,111,110,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110],"i8",R,d.GLOBAL_BASE+10241);var ve=d.alignMemory(P(12,"i8",F),8);function Ee(e){return n.___errno_location&&(N[n.___errno_location()>>2]=e),e}g(ve%8==0);var ge={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function ye(e,r){ee.push((function(){d.dynCall("vi",e,[r])})),ye.level=ee.length}n._memset=ze;var _e={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"},Se={splitPath:function(e){return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1)},normalizeArray:function(e,r){for(var n=0,t=e.length-1;t>=0;t--){var i=e[t];"."===i?e.splice(t,1):".."===i?(e.splice(t,1),n++):n&&(e.splice(t,1),n--)}if(r)for(;n--;n)e.unshift("..");return e},normalize:function(e){var r="/"===e.charAt(0),n="/"===e.substr(-1);return(e=Se.normalizeArray(e.split("/").filter((function(e){return!!e})),!r).join("/"))||r||(e="."),e&&n&&(e+="/"),(r?"/":"")+e},dirname:function(e){var r=Se.splitPath(e),n=r[0],t=r[1];return n||t?(t&&(t=t.substr(0,t.length-1)),n+t):"."},basename:function(e){if("/"===e)return"/";var r=e.lastIndexOf("/");return-1===r?e:e.substr(r+1)},extname:function(e){return Se.splitPath(e)[3]},join:function(){var e=Array.prototype.slice.call(arguments,0);return Se.normalize(e.join("/"))},join2:function(e,r){return Se.normalize(e+"/"+r)},resolve:function(){for(var e="",r=!1,n=arguments.length-1;n>=-1&&!r;n--){var t=n>=0?arguments[n]:Oe.cwd();if("string"!=typeof t)throw new TypeError("Arguments to path.resolve must be strings");if(!t)return"";e=t+"/"+e,r="/"===t.charAt(0)}return(r?"/":"")+(e=Se.normalizeArray(e.split("/").filter((function(e){return!!e})),!r).join("/"))||"."},relative:function(e,r){function n(e){for(var r=0;r<e.length&&""===e[r];r++);for(var n=e.length-1;n>=0&&""===e[n];n--);return r>n?[]:e.slice(r,n-r+1)}e=Se.resolve(e).substr(1),r=Se.resolve(r).substr(1);for(var t=n(e.split("/")),i=n(r.split("/")),o=Math.min(t.length,i.length),a=o,s=0;s<o;s++)if(t[s]!==i[s]){a=s;break}var f=[];for(s=a;s<t.length;s++)f.push("..");return(f=f.concat(i.slice(a))).join("/")}},Ae={ttys:[],init:function(){},shutdown:function(){},register:function(e,r){Ae.ttys[e]={input:[],output:[],ops:r},Oe.registerDevice(e,Ae.stream_ops)},stream_ops:{open:function(e){var r=Ae.ttys[e.node.rdev];if(!r)throw new Oe.ErrnoError(ge.ENODEV);e.tty=r,e.seekable=!1},close:function(e){e.tty.ops.flush(e.tty)},flush:function(e){e.tty.ops.flush(e.tty)},read:function(e,r,n,t,i){if(!e.tty||!e.tty.ops.get_char)throw new Oe.ErrnoError(ge.ENXIO);for(var o=0,a=0;a<t;a++){var s;try{s=e.tty.ops.get_char(e.tty)}catch(e){throw new Oe.ErrnoError(ge.EIO)}if(void 0===s&&0===o)throw new Oe.ErrnoError(ge.EAGAIN);if(null==s)break;o++,r[n+a]=s}return o&&(e.node.timestamp=Date.now()),o},write:function(e,r,n,t,i){if(!e.tty||!e.tty.ops.put_char)throw new Oe.ErrnoError(ge.ENXIO);for(var o=0;o<t;o++)try{e.tty.ops.put_char(e.tty,r[n+o])}catch(e){throw new Oe.ErrnoError(ge.EIO)}return t&&(e.node.timestamp=Date.now()),o}},default_tty_ops:{get_char:function(e){if(!e.input.length){var r=null;if(s){var n,t=new Buffer(256),i=process.stdin.fd,o=!1;try{i=Ce.openSync("/dev/stdin","r"),o=!0}catch(e){}n=Ce.readSync(i,t,0,256,null),o&&Ce.closeSync(i),r=n>0?t.slice(0,n).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(r=window.prompt("Input: "))&&(r+="\n"):"function"==typeof readline&&null!==(r=readline())&&(r+="\n");if(!r)return null;e.input=ae(r,!0)}return e.input.shift()},put_char:function(e,r){null===r||10===r?(n.print(C(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},flush:function(e){e.output&&e.output.length>0&&(n.print(C(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,r){null===r||10===r?(n.printErr(C(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},flush:function(e){e.output&&e.output.length>0&&(n.printErr(C(e.output,0)),e.output=[])}}},De={ops_table:null,mount:function(e){return De.createNode(null,"/",16895,0)},createNode:function(e,r,n,t){if(Oe.isBlkdev(n)||Oe.isFIFO(n))throw new Oe.ErrnoError(ge.EPERM);De.ops_table||(De.ops_table={dir:{node:{getattr:De.node_ops.getattr,setattr:De.node_ops.setattr,lookup:De.node_ops.lookup,mknod:De.node_ops.mknod,rename:De.node_ops.rename,unlink:De.node_ops.unlink,rmdir:De.node_ops.rmdir,readdir:De.node_ops.readdir,symlink:De.node_ops.symlink},stream:{llseek:De.stream_ops.llseek}},file:{node:{getattr:De.node_ops.getattr,setattr:De.node_ops.setattr},stream:{llseek:De.stream_ops.llseek,read:De.stream_ops.read,write:De.stream_ops.write,allocate:De.stream_ops.allocate,mmap:De.stream_ops.mmap,msync:De.stream_ops.msync}},link:{node:{getattr:De.node_ops.getattr,setattr:De.node_ops.setattr,readlink:De.node_ops.readlink},stream:{}},chrdev:{node:{getattr:De.node_ops.getattr,setattr:De.node_ops.setattr},stream:Oe.chrdev_stream_ops}});var i=Oe.createNode(e,r,n,t);return Oe.isDir(i.mode)?(i.node_ops=De.ops_table.dir.node,i.stream_ops=De.ops_table.dir.stream,i.contents={}):Oe.isFile(i.mode)?(i.node_ops=De.ops_table.file.node,i.stream_ops=De.ops_table.file.stream,i.usedBytes=0,i.contents=null):Oe.isLink(i.mode)?(i.node_ops=De.ops_table.link.node,i.stream_ops=De.ops_table.link.stream):Oe.isChrdev(i.mode)&&(i.node_ops=De.ops_table.chrdev.node,i.stream_ops=De.ops_table.chrdev.stream),i.timestamp=Date.now(),e&&(e.contents[r]=i),i},getFileDataAsRegularArray:function(e){if(e.contents&&e.contents.subarray){for(var r=[],n=0;n<e.usedBytes;++n)r.push(e.contents[n]);return r}return e.contents},getFileDataAsTypedArray:function(e){return e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array},expandFileStorage:function(e,r){if(e.contents&&e.contents.subarray&&r>e.contents.length&&(e.contents=De.getFileDataAsRegularArray(e),e.usedBytes=e.contents.length),!e.contents||e.contents.subarray){var n=e.contents?e.contents.buffer.byteLength:0;if(n>=r)return;r=Math.max(r,n*(n<1048576?2:1.125)|0),0!=n&&(r=Math.max(r,256));var t=e.contents;return e.contents=new Uint8Array(r),void(e.usedBytes>0&&e.contents.set(t.subarray(0,e.usedBytes),0))}for(!e.contents&&r>0&&(e.contents=[]);e.contents.length<r;)e.contents.push(0)},resizeFileStorage:function(e,r){if(e.usedBytes!=r){if(0==r)return e.contents=null,void(e.usedBytes=0);if(!e.contents||e.contents.subarray){var n=e.contents;return e.contents=new Uint8Array(new ArrayBuffer(r)),n&&e.contents.set(n.subarray(0,Math.min(r,e.usedBytes))),void(e.usedBytes=r)}if(e.contents||(e.contents=[]),e.contents.length>r)e.contents.length=r;else for(;e.contents.length<r;)e.contents.push(0);e.usedBytes=r}},node_ops:{getattr:function(e){var r={};return r.dev=Oe.isChrdev(e.mode)?e.id:1,r.ino=e.id,r.mode=e.mode,r.nlink=1,r.uid=0,r.gid=0,r.rdev=e.rdev,Oe.isDir(e.mode)?r.size=4096:Oe.isFile(e.mode)?r.size=e.usedBytes:Oe.isLink(e.mode)?r.size=e.link.length:r.size=0,r.atime=new Date(e.timestamp),r.mtime=new Date(e.timestamp),r.ctime=new Date(e.timestamp),r.blksize=4096,r.blocks=Math.ceil(r.size/r.blksize),r},setattr:function(e,r){void 0!==r.mode&&(e.mode=r.mode),void 0!==r.timestamp&&(e.timestamp=r.timestamp),void 0!==r.size&&De.resizeFileStorage(e,r.size)},lookup:function(e,r){throw Oe.genericErrors[ge.ENOENT]},mknod:function(e,r,n,t){return De.createNode(e,r,n,t)},rename:function(e,r,n){if(Oe.isDir(e.mode)){var t;try{t=Oe.lookupNode(r,n)}catch(e){}if(t)for(var i in t.contents)throw new Oe.ErrnoError(ge.ENOTEMPTY)}delete e.parent.contents[e.name],e.name=n,r.contents[n]=e,e.parent=r},unlink:function(e,r){delete e.contents[r]},rmdir:function(e,r){var n=Oe.lookupNode(e,r);for(var t in n.contents)throw new Oe.ErrnoError(ge.ENOTEMPTY);delete e.contents[r]},readdir:function(e){var r=[".",".."];for(var n in e.contents)e.contents.hasOwnProperty(n)&&r.push(n);return r},symlink:function(e,r,n){var t=De.createNode(e,r,41471,0);return t.link=n,t},readlink:function(e){if(!Oe.isLink(e.mode))throw new Oe.ErrnoError(ge.EINVAL);return e.link}},stream_ops:{read:function(e,r,n,t,i){var o=e.node.contents;if(i>=e.node.usedBytes)return 0;var a=Math.min(e.node.usedBytes-i,t);if(g(a>=0),a>8&&o.subarray)r.set(o.subarray(i,i+a),n);else for(var s=0;s<a;s++)r[n+s]=o[i+s];return a},write:function(e,r,n,t,i,o){if(!t)return 0;var a=e.node;if(a.timestamp=Date.now(),r.subarray&&(!a.contents||a.contents.subarray)){if(o)return a.contents=r.subarray(n,n+t),a.usedBytes=t,t;if(0===a.usedBytes&&0===i)return a.contents=new Uint8Array(r.subarray(n,n+t)),a.usedBytes=t,t;if(i+t<=a.usedBytes)return a.contents.set(r.subarray(n,n+t),i),t}if(De.expandFileStorage(a,i+t),a.contents.subarray&&r.subarray)a.contents.set(r.subarray(n,n+t),i);else for(var s=0;s<t;s++)a.contents[i+s]=r[n+s];return a.usedBytes=Math.max(a.usedBytes,i+t),t},llseek:function(e,r,n){var t=r;if(1===n?t+=e.position:2===n&&Oe.isFile(e.node.mode)&&(t+=e.node.usedBytes),t<0)throw new Oe.ErrnoError(ge.EINVAL);return t},allocate:function(e,r,n){De.expandFileStorage(e.node,r+n),e.node.usedBytes=Math.max(e.node.usedBytes,r+n)},mmap:function(e,r,n,t,i,o,a){if(!Oe.isFile(e.node.mode))throw new Oe.ErrnoError(ge.ENODEV);var s,f,l=e.node.contents;if(2&a||l.buffer!==r&&l.buffer!==r.buffer){if((i>0||i+t<e.node.usedBytes)&&(l=l.subarray?l.subarray(i,i+t):Array.prototype.slice.call(l,i,i+t)),f=!0,!(s=Ue(t)))throw new Oe.ErrnoError(ge.ENOMEM);r.set(l,s)}else f=!1,s=l.byteOffset;return{ptr:s,allocated:f}},msync:function(e,r,n,t,i){if(!Oe.isFile(e.node.mode))throw new Oe.ErrnoError(ge.ENODEV);return 2&i||De.stream_ops.write(e,r,0,t,n,!1),0}}},Me={dbs:{},indexedDB:function(){if("undefined"!=typeof indexedDB)return indexedDB;var e=null;return"object"==typeof window&&(e=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB),g(e,"IDBFS used, but indexedDB not supported"),e},DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:function(e){return De.mount.apply(null,arguments)},syncfs:function(e,r,n){Me.getLocalSet(e,(function(t,i){if(t)return n(t);Me.getRemoteSet(e,(function(e,t){if(e)return n(e);var o=r?t:i,a=r?i:t;Me.reconcile(o,a,n)}))}))},getDB:function(e,r){var n,t=Me.dbs[e];if(t)return r(null,t);try{n=Me.indexedDB().open(e,Me.DB_VERSION)}catch(e){return r(e)}n.onupgradeneeded=function(e){var r,n=e.target.result,t=e.target.transaction;(r=n.objectStoreNames.contains(Me.DB_STORE_NAME)?t.objectStore(Me.DB_STORE_NAME):n.createObjectStore(Me.DB_STORE_NAME)).indexNames.contains("timestamp")||r.createIndex("timestamp","timestamp",{unique:!1})},n.onsuccess=function(){t=n.result,Me.dbs[e]=t,r(null,t)},n.onerror=function(e){r(this.error),e.preventDefault()}},getLocalSet:function(e,r){var n={};function t(e){return"."!==e&&".."!==e}function i(e){return function(r){return Se.join2(e,r)}}for(var o=Oe.readdir(e.mountpoint).filter(t).map(i(e.mountpoint));o.length;){var a,s=o.pop();try{a=Oe.stat(s)}catch(e){return r(e)}Oe.isDir(a.mode)&&o.push.apply(o,Oe.readdir(s).filter(t).map(i(s))),n[s]={timestamp:a.mtime}}return r(null,{type:"local",entries:n})},getRemoteSet:function(e,r){var n={};Me.getDB(e.mountpoint,(function(e,t){if(e)return r(e);var i=t.transaction([Me.DB_STORE_NAME],"readonly");i.onerror=function(e){r(this.error),e.preventDefault()},i.objectStore(Me.DB_STORE_NAME).index("timestamp").openKeyCursor().onsuccess=function(e){var i=e.target.result;if(!i)return r(null,{type:"remote",db:t,entries:n});n[i.primaryKey]={timestamp:i.key},i.continue()}}))},loadLocalEntry:function(e,r){var n,t;try{t=Oe.lookupPath(e).node,n=Oe.stat(e)}catch(e){return r(e)}return Oe.isDir(n.mode)?r(null,{timestamp:n.mtime,mode:n.mode}):Oe.isFile(n.mode)?(t.contents=De.getFileDataAsTypedArray(t),r(null,{timestamp:n.mtime,mode:n.mode,contents:t.contents})):r(new Error("node type not supported"))},storeLocalEntry:function(e,r,n){try{if(Oe.isDir(r.mode))Oe.mkdir(e,r.mode);else{if(!Oe.isFile(r.mode))return n(new Error("node type not supported"));Oe.writeFile(e,r.contents,{encoding:"binary",canOwn:!0})}Oe.chmod(e,r.mode),Oe.utime(e,r.timestamp,r.timestamp)}catch(e){return n(e)}n(null)},removeLocalEntry:function(e,r){try{Oe.lookupPath(e);var n=Oe.stat(e);Oe.isDir(n.mode)?Oe.rmdir(e):Oe.isFile(n.mode)&&Oe.unlink(e)}catch(e){return r(e)}r(null)},loadRemoteEntry:function(e,r,n){var t=e.get(r);t.onsuccess=function(e){n(null,e.target.result)},t.onerror=function(e){n(this.error),e.preventDefault()}},storeRemoteEntry:function(e,r,n,t){var i=e.put(n,r);i.onsuccess=function(){t(null)},i.onerror=function(e){t(this.error),e.preventDefault()}},removeRemoteEntry:function(e,r,n){var t=e.delete(r);t.onsuccess=function(){n(null)},t.onerror=function(e){n(this.error),e.preventDefault()}},reconcile:function(e,r,n){var t=0,i=[];Object.keys(e.entries).forEach((function(n){var o=e.entries[n],a=r.entries[n];(!a||o.timestamp>a.timestamp)&&(i.push(n),t++)}));var o=[];if(Object.keys(r.entries).forEach((function(n){r.entries[n],e.entries[n]||(o.push(n),t++)})),!t)return n(null);var a=0,s=("remote"===e.type?e.db:r.db).transaction([Me.DB_STORE_NAME],"readwrite"),f=s.objectStore(Me.DB_STORE_NAME);function l(e){return e?l.errored?void 0:(l.errored=!0,n(e)):++a>=t?n(null):void 0}s.onerror=function(e){l(this.error),e.preventDefault()},i.sort().forEach((function(e){"local"===r.type?Me.loadRemoteEntry(f,e,(function(r,n){if(r)return l(r);Me.storeLocalEntry(e,n,l)})):Me.loadLocalEntry(e,(function(r,n){if(r)return l(r);Me.storeRemoteEntry(f,e,n,l)}))})),o.sort().reverse().forEach((function(e){"local"===r.type?Me.removeLocalEntry(e,l):Me.removeRemoteEntry(f,e,l)}))}},Ne={isWindows:!1,staticInit:function(){Ne.isWindows=!!process.platform.match(/^win/)},mount:function(e){return g(s),Ne.createNode(null,"/",Ne.getMode(e.opts.root),0)},createNode:function(e,r,n,t){if(!Oe.isDir(n)&&!Oe.isFile(n)&&!Oe.isLink(n))throw new Oe.ErrnoError(ge.EINVAL);var i=Oe.createNode(e,r,n);return i.node_ops=Ne.node_ops,i.stream_ops=Ne.stream_ops,i},getMode:function(e){var r;try{r=Ce.lstatSync(e),Ne.isWindows&&(r.mode=r.mode|(146&r.mode)>>1)}catch(e){if(!e.code)throw e;throw new Oe.ErrnoError(ge[e.code])}return r.mode},realPath:function(e){for(var r=[];e.parent!==e;)r.push(e.name),e=e.parent;return r.push(e.mount.opts.root),r.reverse(),Se.join.apply(null,r)},flagsToPermissionStringMap:{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+"},flagsToPermissionString:function(e){if((e&=-32769)in Ne.flagsToPermissionStringMap)return Ne.flagsToPermissionStringMap[e];throw new Oe.ErrnoError(ge.EINVAL)},node_ops:{getattr:function(e){var r,n=Ne.realPath(e);try{r=Ce.lstatSync(n)}catch(e){if(!e.code)throw e;throw new Oe.ErrnoError(ge[e.code])}return Ne.isWindows&&!r.blksize&&(r.blksize=4096),Ne.isWindows&&!r.blocks&&(r.blocks=(r.size+r.blksize-1)/r.blksize|0),{dev:r.dev,ino:r.ino,mode:r.mode,nlink:r.nlink,uid:r.uid,gid:r.gid,rdev:r.rdev,size:r.size,atime:r.atime,mtime:r.mtime,ctime:r.ctime,blksize:r.blksize,blocks:r.blocks}},setattr:function(e,r){var n=Ne.realPath(e);try{if(void 0!==r.mode&&(Ce.chmodSync(n,r.mode),e.mode=r.mode),void 0!==r.timestamp){var t=new Date(r.timestamp);Ce.utimesSync(n,t,t)}void 0!==r.size&&Ce.truncateSync(n,r.size)}catch(e){if(!e.code)throw e;throw new Oe.ErrnoError(ge[e.code])}},lookup:function(e,r){var n=Se.join2(Ne.realPath(e),r),t=Ne.getMode(n);return Ne.createNode(e,r,t)},mknod:function(e,r,n,t){var i=Ne.createNode(e,r,n,t),o=Ne.realPath(i);try{Oe.isDir(i.mode)?Ce.mkdirSync(o,i.mode):Ce.writeFileSync(o,"",{mode:i.mode})}catch(e){if(!e.code)throw e;throw new Oe.ErrnoError(ge[e.code])}return i},rename:function(e,r,n){var t=Ne.realPath(e),i=Se.join2(Ne.realPath(r),n);try{Ce.renameSync(t,i)}catch(e){if(!e.code)throw e;throw new Oe.ErrnoError(ge[e.code])}},unlink:function(e,r){var n=Se.join2(Ne.realPath(e),r);try{Ce.unlinkSync(n)}catch(e){if(!e.code)throw e;throw new Oe.ErrnoError(ge[e.code])}},rmdir:function(e,r){var n=Se.join2(Ne.realPath(e),r);try{Ce.rmdirSync(n)}catch(e){if(!e.code)throw e;throw new Oe.ErrnoError(ge[e.code])}},readdir:function(e){var r=Ne.realPath(e);try{return Ce.readdirSync(r)}catch(e){if(!e.code)throw e;throw new Oe.ErrnoError(ge[e.code])}},symlink:function(e,r,n){var t=Se.join2(Ne.realPath(e),r);try{Ce.symlinkSync(n,t)}catch(e){if(!e.code)throw e;throw new Oe.ErrnoError(ge[e.code])}},readlink:function(e){var r=Ne.realPath(e);try{return r=Ce.readlinkSync(r),r=xe.relative(xe.resolve(e.mount.opts.root),r)}catch(e){if(!e.code)throw e;throw new Oe.ErrnoError(ge[e.code])}}},stream_ops:{open:function(e){var r=Ne.realPath(e.node);try{Oe.isFile(e.node.mode)&&(e.nfd=Ce.openSync(r,Ne.flagsToPermissionString(e.flags)))}catch(e){if(!e.code)throw e;throw new Oe.ErrnoError(ge[e.code])}},close:function(e){try{Oe.isFile(e.node.mode)&&e.nfd&&Ce.closeSync(e.nfd)}catch(e){if(!e.code)throw e;throw new Oe.ErrnoError(ge[e.code])}},read:function(e,r,n,t,i){if(0===t)return 0;var o,a=new Buffer(t);try{o=Ce.readSync(e.nfd,a,0,t,i)}catch(e){throw new Oe.ErrnoError(ge[e.code])}if(o>0)for(var s=0;s<o;s++)r[n+s]=a[s];return o},write:function(e,r,n,t,i){var o,a=new Buffer(r.subarray(n,n+t));try{o=Ce.writeSync(e.nfd,a,0,t,i)}catch(e){throw new Oe.ErrnoError(ge[e.code])}return o},llseek:function(e,r,n){var t=r;if(1===n)t+=e.position;else if(2===n&&Oe.isFile(e.node.mode))try{t+=Ce.fstatSync(e.nfd).size}catch(e){throw new Oe.ErrnoError(ge[e.code])}if(t<0)throw new Oe.ErrnoError(ge.EINVAL);return t}}},Le={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(e){g(a),Le.reader||(Le.reader=new FileReaderSync);var r=Le.createNode(null,"/",Le.DIR_MODE,0),n={};function t(e){for(var t=e.split("/"),i=r,o=0;o<t.length-1;o++){var a=t.slice(0,o+1).join("/");n[a]||(n[a]=Le.createNode(i,a,Le.DIR_MODE,0)),i=n[a]}return i}function i(e){var r=e.split("/");return r[r.length-1]}return Array.prototype.forEach.call(e.opts.files||[],(function(e){Le.createNode(t(e.name),i(e.name),Le.FILE_MODE,0,e,e.lastModifiedDate)})),(e.opts.blobs||[]).forEach((function(e){Le.createNode(t(e.name),i(e.name),Le.FILE_MODE,0,e.data)})),(e.opts.packages||[]).forEach((function(e){e.metadata.files.forEach((function(r){var n=r.filename.substr(1);Le.createNode(t(n),i(n),Le.FILE_MODE,0,e.blob.slice(r.start,r.end))}))})),r},createNode:function(e,r,n,t,i,o){var a=Oe.createNode(e,r,n);return a.mode=n,a.node_ops=Le.node_ops,a.stream_ops=Le.stream_ops,a.timestamp=(o||new Date).getTime(),g(Le.FILE_MODE!==Le.DIR_MODE),n===Le.FILE_MODE?(a.size=i.size,a.contents=i):(a.size=4096,a.contents={}),e&&(e.contents[r]=a),a},node_ops:{getattr:function(e){return{dev:1,ino:void 0,mode:e.mode,nlink:1,uid:0,gid:0,rdev:void 0,size:e.size,atime:new Date(e.timestamp),mtime:new Date(e.timestamp),ctime:new Date(e.timestamp),blksize:4096,blocks:Math.ceil(e.size/4096)}},setattr:function(e,r){void 0!==r.mode&&(e.mode=r.mode),void 0!==r.timestamp&&(e.timestamp=r.timestamp)},lookup:function(e,r){throw new Oe.ErrnoError(ge.ENOENT)},mknod:function(e,r,n,t){throw new Oe.ErrnoError(ge.EPERM)},rename:function(e,r,n){throw new Oe.ErrnoError(ge.EPERM)},unlink:function(e,r){throw new Oe.ErrnoError(ge.EPERM)},rmdir:function(e,r){throw new Oe.ErrnoError(ge.EPERM)},readdir:function(e){throw new Oe.ErrnoError(ge.EPERM)},symlink:function(e,r,n){throw new Oe.ErrnoError(ge.EPERM)},readlink:function(e){throw new Oe.ErrnoError(ge.EPERM)}},stream_ops:{read:function(e,r,n,t,i){if(i>=e.node.size)return 0;var o=e.node.contents.slice(i,i+t),a=Le.reader.readAsArrayBuffer(o);return r.set(new Uint8Array(a),n),o.size},write:function(e,r,n,t,i){throw new Oe.ErrnoError(ge.EIO)},llseek:function(e,r,n){var t=r;if(1===n?t+=e.position:2===n&&Oe.isFile(e.node.mode)&&(t+=e.node.size),t<0)throw new Oe.ErrnoError(ge.EINVAL);return t}}},Oe=(P(1,"i32*",F),P(1,"i32*",F),P(1,"i32*",F),{root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,handleFSError:function(e){if(!(e instanceof Oe.ErrnoError))throw e+" : "+z();return Ee(e.errno)},lookupPath:function(e,r){if(r=r||{},!(e=Se.resolve(Oe.cwd(),e)))return{path:"",node:null};var n={follow_mount:!0,recurse_count:0};for(var t in n)void 0===r[t]&&(r[t]=n[t]);if(r.recurse_count>8)throw new Oe.ErrnoError(ge.ELOOP);for(var i=Se.normalizeArray(e.split("/").filter((function(e){return!!e})),!1),o=Oe.root,a="/",s=0;s<i.length;s++){var f=s===i.length-1;if(f&&r.parent)break;if(o=Oe.lookupNode(o,i[s]),a=Se.join2(a,i[s]),Oe.isMountpoint(o)&&(!f||f&&r.follow_mount)&&(o=o.mounted.root),!f||r.follow)for(var l=0;Oe.isLink(o.mode);){var u=Oe.readlink(a);if(a=Se.resolve(Se.dirname(a),u),o=Oe.lookupPath(a,{recurse_count:r.recurse_count}).node,l++>40)throw new Oe.ErrnoError(ge.ELOOP)}}return{path:a,node:o}},getPath:function(e){for(var r;;){if(Oe.isRoot(e)){var n=e.mount.mountpoint;return r?"/"!==n[n.length-1]?n+"/"+r:n+r:n}r=r?e.name+"/"+r:e.name,e=e.parent}},hashName:function(e,r){for(var n=0,t=0;t<r.length;t++)n=(n<<5)-n+r.charCodeAt(t)|0;return(e+n>>>0)%Oe.nameTable.length},hashAddNode:function(e){var r=Oe.hashName(e.parent.id,e.name);e.name_next=Oe.nameTable[r],Oe.nameTable[r]=e},hashRemoveNode:function(e){var r=Oe.hashName(e.parent.id,e.name);if(Oe.nameTable[r]===e)Oe.nameTable[r]=e.name_next;else for(var n=Oe.nameTable[r];n;){if(n.name_next===e){n.name_next=e.name_next;break}n=n.name_next}},lookupNode:function(e,r){var n=Oe.mayLookup(e);if(n)throw new Oe.ErrnoError(n,e);for(var t=Oe.hashName(e.id,r),i=Oe.nameTable[t];i;i=i.name_next){var o=i.name;if(i.parent.id===e.id&&o===r)return i}return Oe.lookup(e,r)},createNode:function(e,r,n,t){if(!Oe.FSNode){Oe.FSNode=function(e,r,n,t){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=Oe.nextInode++,this.name=r,this.mode=n,this.node_ops={},this.stream_ops={},this.rdev=t},Oe.FSNode.prototype={};Object.defineProperties(Oe.FSNode.prototype,{read:{get:function(){return 365==(365&this.mode)},set:function(e){e?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146==(146&this.mode)},set:function(e){e?this.mode|=146:this.mode&=-147}},isFolder:{get:function(){return Oe.isDir(this.mode)}},isDevice:{get:function(){return Oe.isChrdev(this.mode)}}})}var i=new Oe.FSNode(e,r,n,t);return Oe.hashAddNode(i),i},destroyNode:function(e){Oe.hashRemoveNode(e)},isRoot:function(e){return e===e.parent},isMountpoint:function(e){return!!e.mounted},isFile:function(e){return 32768==(61440&e)},isDir:function(e){return 16384==(61440&e)},isLink:function(e){return 40960==(61440&e)},isChrdev:function(e){return 8192==(61440&e)},isBlkdev:function(e){return 24576==(61440&e)},isFIFO:function(e){return 4096==(61440&e)},isSocket:function(e){return 49152==(49152&e)},flagModes:{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},modeStringToFlags:function(e){var r=Oe.flagModes[e];if(void 0===r)throw new Error("Unknown file open mode: "+e);return r},flagsToPermissionString:function(e){var r=["r","w","rw"][3&e];return 512&e&&(r+="w"),r},nodePermissions:function(e,r){return Oe.ignorePermissions||(-1===r.indexOf("r")||292&e.mode)&&(-1===r.indexOf("w")||146&e.mode)&&(-1===r.indexOf("x")||73&e.mode)?0:ge.EACCES},mayLookup:function(e){return Oe.nodePermissions(e,"x")||(e.node_ops.lookup?0:ge.EACCES)},mayCreate:function(e,r){try{return Oe.lookupNode(e,r),ge.EEXIST}catch(e){}return Oe.nodePermissions(e,"wx")},mayDelete:function(e,r,n){var t;try{t=Oe.lookupNode(e,r)}catch(e){return e.errno}var i=Oe.nodePermissions(e,"wx");if(i)return i;if(n){if(!Oe.isDir(t.mode))return ge.ENOTDIR;if(Oe.isRoot(t)||Oe.getPath(t)===Oe.cwd())return ge.EBUSY}else if(Oe.isDir(t.mode))return ge.EISDIR;return 0},mayOpen:function(e,r){return e?Oe.isLink(e.mode)?ge.ELOOP:Oe.isDir(e.mode)&&(0!=(2097155&r)||512&r)?ge.EISDIR:Oe.nodePermissions(e,Oe.flagsToPermissionString(r)):ge.ENOENT},MAX_OPEN_FDS:4096,nextfd:function(e,r){e=e||0,r=r||Oe.MAX_OPEN_FDS;for(var n=e;n<=r;n++)if(!Oe.streams[n])return n;throw new Oe.ErrnoError(ge.EMFILE)},getStream:function(e){return Oe.streams[e]},createStream:function(e,r,n){Oe.FSStream||(Oe.FSStream=function(){},Oe.FSStream.prototype={},Object.defineProperties(Oe.FSStream.prototype,{object:{get:function(){return this.node},set:function(e){this.node=e}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}}}));var t=new Oe.FSStream;for(var i in e)t[i]=e[i];e=t;var o=Oe.nextfd(r,n);return e.fd=o,Oe.streams[o]=e,e},closeStream:function(e){Oe.streams[e]=null},chrdev_stream_ops:{open:function(e){var r=Oe.getDevice(e.node.rdev);e.stream_ops=r.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:function(){throw new Oe.ErrnoError(ge.ESPIPE)}},major:function(e){return e>>8},minor:function(e){return 255&e},makedev:function(e,r){return e<<8|r},registerDevice:function(e,r){Oe.devices[e]={stream_ops:r}},getDevice:function(e){return Oe.devices[e]},getMounts:function(e){for(var r=[],n=[e];n.length;){var t=n.pop();r.push(t),n.push.apply(n,t.mounts)}return r},syncfs:function(e,r){"function"==typeof e&&(r=e,e=!1);var n=Oe.getMounts(Oe.root.mount),t=0;function i(e){if(e)return i.errored?void 0:(i.errored=!0,r(e));++t>=n.length&&r(null)}n.forEach((function(r){if(!r.type.syncfs)return i(null);r.type.syncfs(r,e,i)}))},mount:function(e,r,n){var t,i="/"===n,o=!n;if(i&&Oe.root)throw new Oe.ErrnoError(ge.EBUSY);if(!i&&!o){var a=Oe.lookupPath(n,{follow_mount:!1});if(n=a.path,t=a.node,Oe.isMountpoint(t))throw new Oe.ErrnoError(ge.EBUSY);if(!Oe.isDir(t.mode))throw new Oe.ErrnoError(ge.ENOTDIR)}var s={type:e,opts:r,mountpoint:n,mounts:[]},f=e.mount(s);return f.mount=s,s.root=f,i?Oe.root=f:t&&(t.mounted=s,t.mount&&t.mount.mounts.push(s)),f},unmount:function(e){var r=Oe.lookupPath(e,{follow_mount:!1});if(!Oe.isMountpoint(r.node))throw new Oe.ErrnoError(ge.EINVAL);var n=r.node,t=n.mounted,i=Oe.getMounts(t);Object.keys(Oe.nameTable).forEach((function(e){for(var r=Oe.nameTable[e];r;){var n=r.name_next;-1!==i.indexOf(r.mount)&&Oe.destroyNode(r),r=n}})),n.mounted=null;var o=n.mount.mounts.indexOf(t);g(-1!==o),n.mount.mounts.splice(o,1)},lookup:function(e,r){return e.node_ops.lookup(e,r)},mknod:function(e,r,n){var t=Oe.lookupPath(e,{parent:!0}).node,i=Se.basename(e);if(!i||"."===i||".."===i)throw new Oe.ErrnoError(ge.EINVAL);var o=Oe.mayCreate(t,i);if(o)throw new Oe.ErrnoError(o);if(!t.node_ops.mknod)throw new Oe.ErrnoError(ge.EPERM);return t.node_ops.mknod(t,i,r,n)},create:function(e,r){return r=void 0!==r?r:438,r&=4095,r|=32768,Oe.mknod(e,r,0)},mkdir:function(e,r){return r=void 0!==r?r:511,r&=1023,r|=16384,Oe.mknod(e,r,0)},mkdev:function(e,r,n){return void 0===n&&(n=r,r=438),r|=8192,Oe.mknod(e,r,n)},symlink:function(e,r){if(!Se.resolve(e))throw new Oe.ErrnoError(ge.ENOENT);var n=Oe.lookupPath(r,{parent:!0}).node;if(!n)throw new Oe.ErrnoError(ge.ENOENT);var t=Se.basename(r),i=Oe.mayCreate(n,t);if(i)throw new Oe.ErrnoError(i);if(!n.node_ops.symlink)throw new Oe.ErrnoError(ge.EPERM);return n.node_ops.symlink(n,t,e)},rename:function(e,r){var n,t,i=Se.dirname(e),o=Se.dirname(r),a=Se.basename(e),s=Se.basename(r);try{n=Oe.lookupPath(e,{parent:!0}).node,t=Oe.lookupPath(r,{parent:!0}).node}catch(e){throw new Oe.ErrnoError(ge.EBUSY)}if(!n||!t)throw new Oe.ErrnoError(ge.ENOENT);if(n.mount!==t.mount)throw new Oe.ErrnoError(ge.EXDEV);var f,l=Oe.lookupNode(n,a),u=Se.relative(e,o);if("."!==u.charAt(0))throw new Oe.ErrnoError(ge.EINVAL);if("."!==(u=Se.relative(r,i)).charAt(0))throw new Oe.ErrnoError(ge.ENOTEMPTY);try{f=Oe.lookupNode(t,s)}catch(e){}if(l!==f){var c=Oe.isDir(l.mode),d=Oe.mayDelete(n,a,c);if(d)throw new Oe.ErrnoError(d);if(d=f?Oe.mayDelete(t,s,c):Oe.mayCreate(t,s))throw new Oe.ErrnoError(d);if(!n.node_ops.rename)throw new Oe.ErrnoError(ge.EPERM);if(Oe.isMountpoint(l)||f&&Oe.isMountpoint(f))throw new Oe.ErrnoError(ge.EBUSY);if(t!==n&&(d=Oe.nodePermissions(n,"w")))throw new Oe.ErrnoError(d);try{Oe.trackingDelegate.willMovePath&&Oe.trackingDelegate.willMovePath(e,r)}catch(n){console.log("FS.trackingDelegate['willMovePath']('"+e+"', '"+r+"') threw an exception: "+n.message)}Oe.hashRemoveNode(l);try{n.node_ops.rename(l,t,s)}catch(e){throw e}finally{Oe.hashAddNode(l)}try{Oe.trackingDelegate.onMovePath&&Oe.trackingDelegate.onMovePath(e,r)}catch(n){console.log("FS.trackingDelegate['onMovePath']('"+e+"', '"+r+"') threw an exception: "+n.message)}}},rmdir:function(e){var r=Oe.lookupPath(e,{parent:!0}).node,n=Se.basename(e),t=Oe.lookupNode(r,n),i=Oe.mayDelete(r,n,!0);if(i)throw new Oe.ErrnoError(i);if(!r.node_ops.rmdir)throw new Oe.ErrnoError(ge.EPERM);if(Oe.isMountpoint(t))throw new Oe.ErrnoError(ge.EBUSY);try{Oe.trackingDelegate.willDeletePath&&Oe.trackingDelegate.willDeletePath(e)}catch(r){console.log("FS.trackingDelegate['willDeletePath']('"+e+"') threw an exception: "+r.message)}r.node_ops.rmdir(r,n),Oe.destroyNode(t);try{Oe.trackingDelegate.onDeletePath&&Oe.trackingDelegate.onDeletePath(e)}catch(r){console.log("FS.trackingDelegate['onDeletePath']('"+e+"') threw an exception: "+r.message)}},readdir:function(e){var r=Oe.lookupPath(e,{follow:!0}).node;if(!r.node_ops.readdir)throw new Oe.ErrnoError(ge.ENOTDIR);return r.node_ops.readdir(r)},unlink:function(e){var r=Oe.lookupPath(e,{parent:!0}).node,n=Se.basename(e),t=Oe.lookupNode(r,n),i=Oe.mayDelete(r,n,!1);if(i)throw i===ge.EISDIR&&(i=ge.EPERM),new Oe.ErrnoError(i);if(!r.node_ops.unlink)throw new Oe.ErrnoError(ge.EPERM);if(Oe.isMountpoint(t))throw new Oe.ErrnoError(ge.EBUSY);try{Oe.trackingDelegate.willDeletePath&&Oe.trackingDelegate.willDeletePath(e)}catch(r){console.log("FS.trackingDelegate['willDeletePath']('"+e+"') threw an exception: "+r.message)}r.node_ops.unlink(r,n),Oe.destroyNode(t);try{Oe.trackingDelegate.onDeletePath&&Oe.trackingDelegate.onDeletePath(e)}catch(r){console.log("FS.trackingDelegate['onDeletePath']('"+e+"') threw an exception: "+r.message)}},readlink:function(e){var r=Oe.lookupPath(e).node;if(!r)throw new Oe.ErrnoError(ge.ENOENT);if(!r.node_ops.readlink)throw new Oe.ErrnoError(ge.EINVAL);return Se.resolve(Oe.getPath(r.parent),r.node_ops.readlink(r))},stat:function(e,r){var n=Oe.lookupPath(e,{follow:!r}).node;if(!n)throw new Oe.ErrnoError(ge.ENOENT);if(!n.node_ops.getattr)throw new Oe.ErrnoError(ge.EPERM);return n.node_ops.getattr(n)},lstat:function(e){return Oe.stat(e,!0)},chmod:function(e,r,n){var t;if(!(t="string"==typeof e?Oe.lookupPath(e,{follow:!n}).node:e).node_ops.setattr)throw new Oe.ErrnoError(ge.EPERM);t.node_ops.setattr(t,{mode:4095&r|-4096&t.mode,timestamp:Date.now()})},lchmod:function(e,r){Oe.chmod(e,r,!0)},fchmod:function(e,r){var n=Oe.getStream(e);if(!n)throw new Oe.ErrnoError(ge.EBADF);Oe.chmod(n.node,r)},chown:function(e,r,n,t){var i;if(!(i="string"==typeof e?Oe.lookupPath(e,{follow:!t}).node:e).node_ops.setattr)throw new Oe.ErrnoError(ge.EPERM);i.node_ops.setattr(i,{timestamp:Date.now()})},lchown:function(e,r,n){Oe.chown(e,r,n,!0)},fchown:function(e,r,n){var t=Oe.getStream(e);if(!t)throw new Oe.ErrnoError(ge.EBADF);Oe.chown(t.node,r,n)},truncate:function(e,r){if(r<0)throw new Oe.ErrnoError(ge.EINVAL);var n;if(!(n="string"==typeof e?Oe.lookupPath(e,{follow:!0}).node:e).node_ops.setattr)throw new Oe.ErrnoError(ge.EPERM);if(Oe.isDir(n.mode))throw new Oe.ErrnoError(ge.EISDIR);if(!Oe.isFile(n.mode))throw new Oe.ErrnoError(ge.EINVAL);var t=Oe.nodePermissions(n,"w");if(t)throw new Oe.ErrnoError(t);n.node_ops.setattr(n,{size:r,timestamp:Date.now()})},ftruncate:function(e,r){var n=Oe.getStream(e);if(!n)throw new Oe.ErrnoError(ge.EBADF);if(0==(2097155&n.flags))throw new Oe.ErrnoError(ge.EINVAL);Oe.truncate(n.node,r)},utime:function(e,r,n){var t=Oe.lookupPath(e,{follow:!0}).node;t.node_ops.setattr(t,{timestamp:Math.max(r,n)})},open:function(e,r,t,i,o){if(""===e)throw new Oe.ErrnoError(ge.ENOENT);var a;if(t=void 0===t?438:t,t=64&(r="string"==typeof r?Oe.modeStringToFlags(r):r)?4095&t|32768:0,"object"==typeof e)a=e;else{e=Se.normalize(e);try{a=Oe.lookupPath(e,{follow:!(131072&r)}).node}catch(e){}}var s=!1;if(64&r)if(a){if(128&r)throw new Oe.ErrnoError(ge.EEXIST)}else a=Oe.mknod(e,t,0),s=!0;if(!a)throw new Oe.ErrnoError(ge.ENOENT);if(Oe.isChrdev(a.mode)&&(r&=-513),65536&r&&!Oe.isDir(a.mode))throw new Oe.ErrnoError(ge.ENOTDIR);if(!s){var f=Oe.mayOpen(a,r);if(f)throw new Oe.ErrnoError(f)}512&r&&Oe.truncate(a,0),r&=-641;var l=Oe.createStream({node:a,path:Oe.getPath(a),flags:r,seekable:!0,position:0,stream_ops:a.stream_ops,ungotten:[],error:!1},i,o);l.stream_ops.open&&l.stream_ops.open(l),!n.logReadFiles||1&r||(Oe.readFiles||(Oe.readFiles={}),e in Oe.readFiles||(Oe.readFiles[e]=1,n.printErr("read file: "+e)));try{if(Oe.trackingDelegate.onOpenFile){var u=0;1!=(2097155&r)&&(u|=Oe.tracking.openFlags.READ),0!=(2097155&r)&&(u|=Oe.tracking.openFlags.WRITE),Oe.trackingDelegate.onOpenFile(e,u)}}catch(r){console.log("FS.trackingDelegate['onOpenFile']('"+e+"', flags) threw an exception: "+r.message)}return l},close:function(e){e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{Oe.closeStream(e.fd)}},llseek:function(e,r,n){if(!e.seekable||!e.stream_ops.llseek)throw new Oe.ErrnoError(ge.ESPIPE);return e.position=e.stream_ops.llseek(e,r,n),e.ungotten=[],e.position},read:function(e,r,n,t,i){if(t<0||i<0)throw new Oe.ErrnoError(ge.EINVAL);if(1==(2097155&e.flags))throw new Oe.ErrnoError(ge.EBADF);if(Oe.isDir(e.node.mode))throw new Oe.ErrnoError(ge.EISDIR);if(!e.stream_ops.read)throw new Oe.ErrnoError(ge.EINVAL);var o=!0;if(void 0===i)i=e.position,o=!1;else if(!e.seekable)throw new Oe.ErrnoError(ge.ESPIPE);var a=e.stream_ops.read(e,r,n,t,i);return o||(e.position+=a),a},write:function(e,r,n,t,i,o){if(t<0||i<0)throw new Oe.ErrnoError(ge.EINVAL);if(0==(2097155&e.flags))throw new Oe.ErrnoError(ge.EBADF);if(Oe.isDir(e.node.mode))throw new Oe.ErrnoError(ge.EISDIR);if(!e.stream_ops.write)throw new Oe.ErrnoError(ge.EINVAL);1024&e.flags&&Oe.llseek(e,0,2);var a=!0;if(void 0===i)i=e.position,a=!1;else if(!e.seekable)throw new Oe.ErrnoError(ge.ESPIPE);var s=e.stream_ops.write(e,r,n,t,i,o);a||(e.position+=s);try{e.path&&Oe.trackingDelegate.onWriteToFile&&Oe.trackingDelegate.onWriteToFile(e.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return s},allocate:function(e,r,n){if(r<0||n<=0)throw new Oe.ErrnoError(ge.EINVAL);if(0==(2097155&e.flags))throw new Oe.ErrnoError(ge.EBADF);if(!Oe.isFile(e.node.mode)&&!Oe.isDir(node.mode))throw new Oe.ErrnoError(ge.ENODEV);if(!e.stream_ops.allocate)throw new Oe.ErrnoError(ge.EOPNOTSUPP);e.stream_ops.allocate(e,r,n)},mmap:function(e,r,n,t,i,o,a){if(1==(2097155&e.flags))throw new Oe.ErrnoError(ge.EACCES);if(!e.stream_ops.mmap)throw new Oe.ErrnoError(ge.ENODEV);return e.stream_ops.mmap(e,r,n,t,i,o,a)},msync:function(e,r,n,t,i){return e&&e.stream_ops.msync?e.stream_ops.msync(e,r,n,t,i):0},munmap:function(e){return 0},ioctl:function(e,r,n){if(!e.stream_ops.ioctl)throw new Oe.ErrnoError(ge.ENOTTY);return e.stream_ops.ioctl(e,r,n)},readFile:function(e,r){if((r=r||{}).flags=r.flags||"r",r.encoding=r.encoding||"binary","utf8"!==r.encoding&&"binary"!==r.encoding)throw new Error('Invalid encoding type "'+r.encoding+'"');var n,t=Oe.open(e,r.flags),i=Oe.stat(e).size,o=new Uint8Array(i);return Oe.read(t,o,0,i,0),"utf8"===r.encoding?n=C(o,0):"binary"===r.encoding&&(n=o),Oe.close(t),n},writeFile:function(e,r,n){if((n=n||{}).flags=n.flags||"w",n.encoding=n.encoding||"utf8","utf8"!==n.encoding&&"binary"!==n.encoding)throw new Error('Invalid encoding type "'+n.encoding+'"');var t=Oe.open(e,n.flags,n.mode);if("utf8"===n.encoding){var i=new Uint8Array(B(r)+1),o=x(r,i,0,i.length);Oe.write(t,i,0,o,0,n.canOwn)}else"binary"===n.encoding&&Oe.write(t,r,0,r.length,0,n.canOwn);Oe.close(t)},cwd:function(){return Oe.currentPath},chdir:function(e){var r=Oe.lookupPath(e,{follow:!0});if(!Oe.isDir(r.node.mode))throw new Oe.ErrnoError(ge.ENOTDIR);var n=Oe.nodePermissions(r.node,"x");if(n)throw new Oe.ErrnoError(n);Oe.currentPath=r.path},createDefaultDirectories:function(){Oe.mkdir("/tmp"),Oe.mkdir("/home"),Oe.mkdir("/home/web_user")},createDefaultDevices:function(){var e;if(Oe.mkdir("/dev"),Oe.registerDevice(Oe.makedev(1,3),{read:function(){return 0},write:function(e,r,n,t,i){return t}}),Oe.mkdev("/dev/null",Oe.makedev(1,3)),Ae.register(Oe.makedev(5,0),Ae.default_tty_ops),Ae.register(Oe.makedev(6,0),Ae.default_tty1_ops),Oe.mkdev("/dev/tty",Oe.makedev(5,0)),Oe.mkdev("/dev/tty1",Oe.makedev(6,0)),"undefined"!=typeof crypto){var r=new Uint8Array(1);e=function(){return crypto.getRandomValues(r),r[0]}}else e=s?function(){return require("crypto").randomBytes(1)[0]}:function(){return 256*Math.random()|0};Oe.createDevice("/dev","random",e),Oe.createDevice("/dev","urandom",e),Oe.mkdir("/dev/shm"),Oe.mkdir("/dev/shm/tmp")},createSpecialDirectories:function(){Oe.mkdir("/proc"),Oe.mkdir("/proc/self"),Oe.mkdir("/proc/self/fd"),Oe.mount({mount:function(){var e=Oe.createNode("/proc/self","fd",16895,73);return e.node_ops={lookup:function(e,r){var n=+r,t=Oe.getStream(n);if(!t)throw new Oe.ErrnoError(ge.EBADF);var i={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:function(){return t.path}}};return i.parent=i,i}},e}},{},"/proc/self/fd")},createStandardStreams:function(){n.stdin?Oe.createDevice("/dev","stdin",n.stdin):Oe.symlink("/dev/tty","/dev/stdin"),n.stdout?Oe.createDevice("/dev","stdout",null,n.stdout):Oe.symlink("/dev/tty","/dev/stdout"),n.stderr?Oe.createDevice("/dev","stderr",null,n.stderr):Oe.symlink("/dev/tty1","/dev/stderr");var e=Oe.open("/dev/stdin","r");g(0===e.fd,"invalid handle for stdin ("+e.fd+")");var r=Oe.open("/dev/stdout","w");g(1===r.fd,"invalid handle for stdout ("+r.fd+")");var t=Oe.open("/dev/stderr","w");g(2===t.fd,"invalid handle for stderr ("+t.fd+")")},ensureErrnoError:function(){Oe.ErrnoError||(Oe.ErrnoError=function(e,r){this.node=r,this.setErrno=function(e){for(var r in this.errno=e,ge)if(ge[r]===e){this.code=r;break}},this.setErrno(e),this.message=_e[e]},Oe.ErrnoError.prototype=new Error,Oe.ErrnoError.prototype.constructor=Oe.ErrnoError,[ge.ENOENT].forEach((function(e){Oe.genericErrors[e]=new Oe.ErrnoError(e),Oe.genericErrors[e].stack="<generic error, no stack>"})))},staticInit:function(){Oe.ensureErrnoError(),Oe.nameTable=new Array(4096),Oe.mount(De,{},"/"),Oe.createDefaultDirectories(),Oe.createDefaultDevices(),Oe.createSpecialDirectories(),Oe.filesystems={MEMFS:De,IDBFS:Me,NODEFS:Ne,WORKERFS:Le}},init:function(e,r,t){g(!Oe.init.initialized,"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)"),Oe.init.initialized=!0,Oe.ensureErrnoError(),n.stdin=e||n.stdin,n.stdout=r||n.stdout,n.stderr=t||n.stderr,Oe.createStandardStreams()},quit:function(){Oe.init.initialized=!1;var e=n._fflush;e&&e(0);for(var r=0;r<Oe.streams.length;r++){var t=Oe.streams[r];t&&Oe.close(t)}},getMode:function(e,r){var n=0;return e&&(n|=365),r&&(n|=146),n},joinPath:function(e,r){var n=Se.join.apply(null,e);return r&&"/"==n[0]&&(n=n.substr(1)),n},absolutePath:function(e,r){return Se.resolve(r,e)},standardizePath:function(e){return Se.normalize(e)},findObject:function(e,r){var n=Oe.analyzePath(e,r);return n.exists?n.object:(Ee(n.error),null)},analyzePath:function(e,r){try{e=(t=Oe.lookupPath(e,{follow:!r})).path}catch(e){}var n={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var t=Oe.lookupPath(e,{parent:!0});n.parentExists=!0,n.parentPath=t.path,n.parentObject=t.node,n.name=Se.basename(e),t=Oe.lookupPath(e,{follow:!r}),n.exists=!0,n.path=t.path,n.object=t.node,n.name=t.node.name,n.isRoot="/"===t.path}catch(e){n.error=e.errno}return n},createFolder:function(e,r,n,t){var i=Se.join2("string"==typeof e?e:Oe.getPath(e),r),o=Oe.getMode(n,t);return Oe.mkdir(i,o)},createPath:function(e,r,n,t){e="string"==typeof e?e:Oe.getPath(e);for(var i=r.split("/").reverse();i.length;){var o=i.pop();if(o){var a=Se.join2(e,o);try{Oe.mkdir(a)}catch(e){}e=a}}return a},createFile:function(e,r,n,t,i){var o=Se.join2("string"==typeof e?e:Oe.getPath(e),r),a=Oe.getMode(t,i);return Oe.create(o,a)},createDataFile:function(e,r,n,t,i,o){var a=r?Se.join2("string"==typeof e?e:Oe.getPath(e),r):e,s=Oe.getMode(t,i),f=Oe.create(a,s);if(n){if("string"==typeof n){for(var l=new Array(n.length),u=0,c=n.length;u<c;++u)l[u]=n.charCodeAt(u);n=l}Oe.chmod(f,146|s);var d=Oe.open(f,"w");Oe.write(d,n,0,n.length,0,o),Oe.close(d),Oe.chmod(f,s)}return f},createDevice:function(e,r,n,t){var i=Se.join2("string"==typeof e?e:Oe.getPath(e),r),o=Oe.getMode(!!n,!!t);Oe.createDevice.major||(Oe.createDevice.major=64);var a=Oe.makedev(Oe.createDevice.major++,0);return Oe.registerDevice(a,{open:function(e){e.seekable=!1},close:function(e){t&&t.buffer&&t.buffer.length&&t(10)},read:function(e,r,t,i,o){for(var a=0,s=0;s<i;s++){var f;try{f=n()}catch(e){throw new Oe.ErrnoError(ge.EIO)}if(void 0===f&&0===a)throw new Oe.ErrnoError(ge.EAGAIN);if(null==f)break;a++,r[t+s]=f}return a&&(e.node.timestamp=Date.now()),a},write:function(e,r,n,i,o){for(var a=0;a<i;a++)try{t(r[n+a])}catch(e){throw new Oe.ErrnoError(ge.EIO)}return i&&(e.node.timestamp=Date.now()),a}}),Oe.mkdev(i,o,a)},createLink:function(e,r,n,t,i){var o=Se.join2("string"==typeof e?e:Oe.getPath(e),r);return Oe.symlink(n,o)},forceLoadFile:function(e){if(e.isDevice||e.isFolder||e.link||e.contents)return!0;var r=!0;if("undefined"!=typeof XMLHttpRequest)throw new 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(!n.read)throw new Error("Cannot load without read() or XMLHttpRequest.");try{e.contents=ae(n.read(e.url),!0),e.usedBytes=e.contents.length}catch(e){r=!1}return r||Ee(ge.EIO),r},createLazyFile:function(e,r,n,t,i){function o(){this.lengthKnown=!1,this.chunks=[]}if(o.prototype.get=function(e){if(!(e>this.length-1||e<0)){var r=e%this.chunkSize,n=e/this.chunkSize|0;return this.getter(n)[r]}},o.prototype.setDataGetter=function(e){this.getter=e},o.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",n,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+n+". Status: "+e.status);var r,t=Number(e.getResponseHeader("Content-length")),i=(r=e.getResponseHeader("Accept-Ranges"))&&"bytes"===r,o=1048576;i||(o=t);var a=this;a.setDataGetter((function(e){var r=e*o,i=(e+1)*o-1;if(i=Math.min(i,t-1),void 0===a.chunks[e]&&(a.chunks[e]=function(e,r){if(e>r)throw new Error("invalid range ("+e+", "+r+") or no bytes requested!");if(r>t-1)throw new Error("only "+t+" bytes available! programmer error!");var i=new XMLHttpRequest;if(i.open("GET",n,!1),t!==o&&i.setRequestHeader("Range","bytes="+e+"-"+r),"undefined"!=typeof Uint8Array&&(i.responseType="arraybuffer"),i.overrideMimeType&&i.overrideMimeType("text/plain; charset=x-user-defined"),i.send(null),!(i.status>=200&&i.status<300||304===i.status))throw new Error("Couldn't load "+n+". Status: "+i.status);return void 0!==i.response?new Uint8Array(i.response||[]):ae(i.responseText||"",!0)}(r,i)),void 0===a.chunks[e])throw new Error("doXHR failed!");return a.chunks[e]})),this._length=t,this._chunkSize=o,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!a)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var s=new o;Object.defineProperty(s,"length",{get:function(){return this.lengthKnown||this.cacheLength(),this._length}}),Object.defineProperty(s,"chunkSize",{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}});var f={isDevice:!1,contents:s}}else f={isDevice:!1,url:n};var l=Oe.createFile(e,r,f,t,i);f.contents?l.contents=f.contents:f.url&&(l.contents=null,l.url=f.url),Object.defineProperty(l,"usedBytes",{get:function(){return this.contents.length}});var u={};return Object.keys(l.stream_ops).forEach((function(e){var r=l.stream_ops[e];u[e]=function(){if(!Oe.forceLoadFile(l))throw new Oe.ErrnoError(ge.EIO);return r.apply(null,arguments)}})),u.read=function(e,r,n,t,i){if(!Oe.forceLoadFile(l))throw new Oe.ErrnoError(ge.EIO);var o=e.node.contents;if(i>=o.length)return 0;var a=Math.min(o.length-i,t);if(g(a>=0),o.slice)for(var s=0;s<a;s++)r[n+s]=o[i+s];else for(s=0;s<a;s++)r[n+s]=o.get(i+s);return a},l.stream_ops=u,l},createPreloadedFile:function(e,r,t,i,o,a,s,f,l,u){Ie.init();var c=r?Se.resolve(Se.join2(e,r)):e;function d(t){function d(n){u&&u(),f||Oe.createDataFile(e,r,n,i,o,l),a&&a(),be()}var h=!1;n.preloadPlugins.forEach((function(e){h||e.canHandle(c)&&(e.handle(t,c,d,(function(){s&&s(),be()})),h=!0)})),h||d(t)}ke(),"string"==typeof t?Ie.asyncLoad(t,(function(e){d(e)}),s):d(t)},indexedDB:function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB},DB_NAME:function(){return"EM_FS_"+window.location.pathname},DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function(e,r,n){r=r||function(){},n=n||function(){};var t=Oe.indexedDB();try{var i=t.open(Oe.DB_NAME(),Oe.DB_VERSION)}catch(e){return n(e)}i.onupgradeneeded=function(){console.log("creating db"),i.result.createObjectStore(Oe.DB_STORE_NAME)},i.onsuccess=function(){var t=i.result.transaction([Oe.DB_STORE_NAME],"readwrite"),o=t.objectStore(Oe.DB_STORE_NAME),a=0,s=0,f=e.length;function l(){0==s?r():n()}e.forEach((function(e){var r=o.put(Oe.analyzePath(e).object.contents,e);r.onsuccess=function(){++a+s==f&&l()},r.onerror=function(){s++,a+s==f&&l()}})),t.onerror=n},i.onerror=n},loadFilesFromDB:function(e,r,n){r=r||function(){},n=n||function(){};var t=Oe.indexedDB();try{var i=t.open(Oe.DB_NAME(),Oe.DB_VERSION)}catch(e){return n(e)}i.onupgradeneeded=n,i.onsuccess=function(){var t=i.result;try{var o=t.transaction([Oe.DB_STORE_NAME],"readonly")}catch(e){return void n(e)}var a=o.objectStore(Oe.DB_STORE_NAME),s=0,f=0,l=e.length;function u(){0==f?r():n()}e.forEach((function(e){var r=a.get(e);r.onsuccess=function(){Oe.analyzePath(e).exists&&Oe.unlink(e),Oe.createDataFile(Se.dirname(e),Se.basename(e),r.result,!0,!0,!0),++s+f==l&&u()},r.onerror=function(){f++,s+f==l&&u()}})),o.onerror=n},i.onerror=n}}),Te={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:function(e,r){if("/"!==r[0]){var n;if(-100===e)n=Oe.cwd();else{var t=Oe.getStream(e);if(!t)throw new Oe.ErrnoError(ge.EBADF);n=t.path}r=Se.join2(n,r)}return r},doStat:function(e,r,n){try{var t=e(r)}catch(e){if(e&&e.node&&Se.normalize(r)!==Se.normalize(Oe.getPath(e.node)))return-ge.ENOTDIR;throw e}return N[n>>2]=t.dev,N[n+4>>2]=0,N[n+8>>2]=t.ino,N[n+12>>2]=t.mode,N[n+16>>2]=t.nlink,N[n+20>>2]=t.uid,N[n+24>>2]=t.gid,N[n+28>>2]=t.rdev,N[n+32>>2]=0,N[n+36>>2]=t.size,N[n+40>>2]=4096,N[n+44>>2]=t.blocks,N[n+48>>2]=t.atime.getTime()/1e3|0,N[n+52>>2]=0,N[n+56>>2]=t.mtime.getTime()/1e3|0,N[n+60>>2]=0,N[n+64>>2]=t.ctime.getTime()/1e3|0,N[n+68>>2]=0,N[n+72>>2]=t.ino,0},doMsync:function(e,r,n,t){var i=new Uint8Array(A.subarray(e,e+n));Oe.msync(r,i,0,n,t)},doMkdir:function(e,r){return"/"===(e=Se.normalize(e))[e.length-1]&&(e=e.substr(0,e.length-1)),Oe.mkdir(e,r,0),0},doMknod:function(e,r,n){switch(61440&r){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ge.EINVAL}return Oe.mknod(e,r,n),0},doReadlink:function(e,r,n){if(n<=0)return-ge.EINVAL;var t=Oe.readlink(e);return se(t=t.slice(0,Math.max(0,n)),r,!0),t.length},doAccess:function(e,r){if(-8&r)return-ge.EINVAL;var n;n=Oe.lookupPath(e,{follow:!0}).node;var t="";return 4&r&&(t+="r"),2&r&&(t+="w"),1&r&&(t+="x"),t&&Oe.nodePermissions(n,t)?-ge.EACCES:0},doDup:function(e,r,n){var t=Oe.getStream(n);return t&&Oe.close(t),Oe.open(e,r,0,n,n).fd},doReadv:function(e,r,n,t){for(var i=0,o=0;o<n;o++){var a=N[r+8*o>>2],s=N[r+(8*o+4)>>2],f=Oe.read(e,S,a,s,t);if(f<0)return-1;if(i+=f,f<s)break}return i},doWritev:function(e,r,n,t){for(var i=0,o=0;o<n;o++){var a=N[r+8*o>>2],s=N[r+(8*o+4)>>2],f=Oe.write(e,S,a,s,t);if(f<0)return-1;i+=f}return i},varargs:0,get:function(e){return Te.varargs+=4,N[Te.varargs-4>>2]},getStr:function(){return I(Te.get())},getStreamFromFD:function(){var e=Oe.getStream(Te.get());if(!e)throw new Oe.ErrnoError(ge.EBADF);return e},getSocketFromFD:function(){var e=SOCKFS.getSocket(Te.get());if(!e)throw new Oe.ErrnoError(ge.EBADF);return e},getSocketAddress:function(e){var r=Te.get(),n=Te.get();if(e&&0===r)return null;var t=__read_sockaddr(r,n);if(t.errno)throw new Oe.ErrnoError(t.errno);return t.addr=DNS.lookup_addr(t.addr)||t.addr,t},get64:function(){var e=Te.get(),r=Te.get();return g(e>=0?0===r:-1===r),e},getZero:function(){g(0===Te.get())}};function Fe(e){var r,n=Fe;n.called||((r=H)%4096>0&&(r+=4096-r%4096),H=r,n.called=!0,g(d.dynamicAlloc),n.alloc=d.dynamicAlloc,d.dynamicAlloc=function(){Ke("cannot dynamically allocate, sbrk now has control")});var t=H;return 0==e||n.alloc(e)?t:-1>>>0}function Re(e,r){if(Ie.mainLoop.timingMode=e,Ie.mainLoop.timingValue=r,!Ie.mainLoop.func)return 1;if(0==e)Ie.mainLoop.scheduler=function(){setTimeout(Ie.mainLoop.runner,r)},Ie.mainLoop.method="timeout";else if(1==e)Ie.mainLoop.scheduler=function(){Ie.requestAnimationFrame(Ie.mainLoop.runner)},Ie.mainLoop.method="rAF";else if(2==e){if(!window.setImmediate){var n=[],t="__emcc";window.addEventListener("message",(function(e){e.source===window&&e.data===t&&(e.stopPropagation(),n.shift()())}),!0),window.setImmediate=function(e){n.push(e),window.postMessage(t,"*")}}Ie.mainLoop.scheduler=function(){window.setImmediate(Ie.mainLoop.runner)},Ie.mainLoop.method="immediate"}return 0}function Pe(e,r,t,i,o){n.noExitRuntime=!0,g(!Ie.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),Ie.mainLoop.func=e,Ie.mainLoop.arg=i;var a=Ie.mainLoop.currentlyRunningMainloop;if(Ie.mainLoop.runner=function(){if(!E){if(Ie.mainLoop.queue.length>0){var r=Date.now(),t=Ie.mainLoop.queue.shift();if(t.func(t.arg),Ie.mainLoop.remainingBlockers){var o=Ie.mainLoop.remainingBlockers,s=o%1==0?o-1:Math.floor(o);t.counted?Ie.mainLoop.remainingBlockers=s:(s+=.5,Ie.mainLoop.remainingBlockers=(8*o+s)/9)}return console.log('main loop blocker "'+t.name+'" took '+(Date.now()-r)+" ms"),Ie.mainLoop.updateStatus(),void setTimeout(Ie.mainLoop.runner,0)}a<Ie.mainLoop.currentlyRunningMainloop||(Ie.mainLoop.currentFrameNumber=Ie.mainLoop.currentFrameNumber+1|0,1==Ie.mainLoop.timingMode&&Ie.mainLoop.timingValue>1&&Ie.mainLoop.currentFrameNumber%Ie.mainLoop.timingValue!=0?Ie.mainLoop.scheduler():("timeout"===Ie.mainLoop.method&&n.ctx&&(n.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),Ie.mainLoop.method=""),Ie.mainLoop.runIter((function(){void 0!==i?d.dynCall("vi",e,[i]):d.dynCall("v",e)})),a<Ie.mainLoop.currentlyRunningMainloop||("object"==typeof SDL&&SDL.audio&&SDL.audio.queueNewAudioData&&SDL.audio.queueNewAudioData(),Ie.mainLoop.scheduler())))}},o||(r&&r>0?Re(0,1e3/r):Re(1,1),Ie.mainLoop.scheduler()),t)throw"SimulateInfiniteLoop"}n._memcpy=je;var Ie={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Ie.mainLoop.scheduler=null,Ie.mainLoop.currentlyRunningMainloop++},resume:function(){Ie.mainLoop.currentlyRunningMainloop++;var e=Ie.mainLoop.timingMode,r=Ie.mainLoop.timingValue,n=Ie.mainLoop.func;Ie.mainLoop.func=null,Pe(n,0,!1,Ie.mainLoop.arg,!0),Re(e,r),Ie.mainLoop.scheduler()},updateStatus:function(){if(n.setStatus){var e=n.statusMessage||"Please wait...",r=Ie.mainLoop.remainingBlockers,t=Ie.mainLoop.expectedBlockers;r?r<t?n.setStatus(e+" ("+(t-r)+"/"+t+")"):n.setStatus(e):n.setStatus("")}},runIter:function(e){if(!E){if(n.preMainLoop&&!1===n.preMainLoop())return;try{e()}catch(e){if(e instanceof Ve)return;throw e&&"object"==typeof e&&e.stack&&n.printErr("exception thrown: "+[e,e.stack]),e}n.postMainLoop&&n.postMainLoop()}}},isFullScreen:!1,pointerLock:!1,moduleContextCreatedCallbacks:[],workers:[],init:function(){if(n.preloadPlugins||(n.preloadPlugins=[]),!Ie.initted){Ie.initted=!0;try{new Blob,Ie.hasBlobConstructor=!0}catch(e){Ie.hasBlobConstructor=!1,console.log("warning: no blob constructor, cannot create blobs with mimetypes")}Ie.BlobBuilder="undefined"!=typeof MozBlobBuilder?MozBlobBuilder:"undefined"!=typeof WebKitBlobBuilder?WebKitBlobBuilder:Ie.hasBlobConstructor?null:console.log("warning: no BlobBuilder"),Ie.URLObject="undefined"!=typeof window?window.URL?window.URL:window.webkitURL:void 0,n.noImageDecoding||void 0!==Ie.URLObject||(console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),n.noImageDecoding=!0);var e={canHandle:function(e){return!n.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(e)},handle:function(e,r,t,i){var o=null;if(Ie.hasBlobConstructor)try{(o=new Blob([e],{type:Ie.getMimetype(r)})).size!==e.length&&(o=new Blob([new Uint8Array(e).buffer],{type:Ie.getMimetype(r)}))}catch(e){d.warnOnce("Blob constructor present but fails: "+e+"; falling back to blob builder")}if(!o){var a=new Ie.BlobBuilder;a.append(new Uint8Array(e).buffer),o=a.getBlob()}var s=Ie.URLObject.createObjectURL(o),f=new Image;f.onload=function(){g(f.complete,"Image "+r+" could not be decoded");var i=document.createElement("canvas");i.width=f.width,i.height=f.height,i.getContext("2d").drawImage(f,0,0),n.preloadedImages[r]=i,Ie.URLObject.revokeObjectURL(s),t&&t(e)},f.onerror=function(e){console.log("Image "+s+" could not be decoded"),i&&i()},f.src=s}};n.preloadPlugins.push(e);var r={canHandle:function(e){return!n.noAudioDecoding&&e.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},handle:function(e,r,t,i){var o=!1;function a(i){o||(o=!0,n.preloadedAudios[r]=i,t&&t(e))}function s(){o||(o=!0,n.preloadedAudios[r]=new Audio,i&&i())}if(!Ie.hasBlobConstructor)return s();try{var f=new Blob([e],{type:Ie.getMimetype(r)})}catch(e){return s()}var l=Ie.URLObject.createObjectURL(f),u=new Audio;u.addEventListener("canplaythrough",(function(){a(u)}),!1),u.onerror=function(n){o||(console.log("warning: browser could not fully decode audio "+r+", trying slower base64 approach"),u.src="data:audio/x-"+r.substr(-3)+";base64,"+function(e){for(var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n="",t=0,i=0,o=0;o<e.length;o++)for(t=t<<8|e[o],i+=8;i>=6;){var a=t>>i-6&63;i-=6,n+=r[a]}return 2==i?(n+=r[(3&t)<<4],n+="=="):4==i&&(n+=r[(15&t)<<2],n+="="),n}(e),a(u))},u.src=l,Ie.safeSetTimeout((function(){a(u)}),1e4)}};n.preloadPlugins.push(r);var t=n.canvas;t&&(t.requestPointerLock=t.requestPointerLock||t.mozRequestPointerLock||t.webkitRequestPointerLock||t.msRequestPointerLock||function(){},t.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},t.exitPointerLock=t.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",i,!1),document.addEventListener("mozpointerlockchange",i,!1),document.addEventListener("webkitpointerlockchange",i,!1),document.addEventListener("mspointerlockchange",i,!1),n.elementPointerLock&&t.addEventListener("click",(function(e){!Ie.pointerLock&&t.requestPointerLock&&(t.requestPointerLock(),e.preventDefault())}),!1))}function i(){Ie.pointerLock=document.pointerLockElement===t||document.mozPointerLockElement===t||document.webkitPointerLockElement===t||document.msPointerLockElement===t}},createContext:function(e,r,t,i){if(r&&n.ctx&&e==n.canvas)return n.ctx;var o,a;if(r){var s={antialias:!1,alpha:!1};if(i)for(var f in i)s[f]=i[f];(a=GL.createContext(e,s))&&(o=GL.getContext(a).GLctx),e.style.backgroundColor="black"}else o=e.getContext("2d");return o?(t&&(r||g("undefined"==typeof GLctx,"cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),n.ctx=o,r&&GL.makeContextCurrent(a),n.useWebGL=r,Ie.moduleContextCreatedCallbacks.forEach((function(e){e()})),Ie.init()),o):null},destroyContext:function(e,r,n){},fullScreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullScreen:function(e,r,t){Ie.lockPointer=e,Ie.resizeCanvas=r,Ie.vrDevice=t,void 0===Ie.lockPointer&&(Ie.lockPointer=!0),void 0===Ie.resizeCanvas&&(Ie.resizeCanvas=!1),void 0===Ie.vrDevice&&(Ie.vrDevice=null);var i=n.canvas;function o(){Ie.isFullScreen=!1;var e=i.parentNode;(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===e?(i.cancelFullScreen=document.cancelFullScreen||document.mozCancelFullScreen||document.webkitCancelFullScreen||document.msExitFullscreen||document.exitFullscreen||function(){},i.cancelFullScreen=i.cancelFullScreen.bind(document),Ie.lockPointer&&i.requestPointerLock(),Ie.isFullScreen=!0,Ie.resizeCanvas&&Ie.setFullScreenCanvasSize()):(e.parentNode.insertBefore(i,e),e.parentNode.removeChild(e),Ie.resizeCanvas&&Ie.setWindowedCanvasSize()),n.onFullScreen&&n.onFullScreen(Ie.isFullScreen),Ie.updateCanvasDimensions(i)}Ie.fullScreenHandlersInstalled||(Ie.fullScreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",o,!1),document.addEventListener("mozfullscreenchange",o,!1),document.addEventListener("webkitfullscreenchange",o,!1),document.addEventListener("MSFullscreenChange",o,!1));var a=document.createElement("div");i.parentNode.insertBefore(a,i),a.appendChild(i),a.requestFullScreen=a.requestFullScreen||a.mozRequestFullScreen||a.msRequestFullscreen||(a.webkitRequestFullScreen?function(){a.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),t?a.requestFullScreen({vrDisplay:t}):a.requestFullScreen()},nextRAF:0,fakeRequestAnimationFrame:function(e){var r=Date.now();if(0===Ie.nextRAF)Ie.nextRAF=r+1e3/60;else for(;r+2>=Ie.nextRAF;)Ie.nextRAF+=1e3/60;var n=Math.max(Ie.nextRAF-r,0);setTimeout(e,n)},requestAnimationFrame:function(e){"undefined"==typeof window?Ie.fakeRequestAnimationFrame(e):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||Ie.fakeRequestAnimationFrame),window.requestAnimationFrame(e))},safeCallback:function(e){return function(){if(!E)return e.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Ie.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(Ie.allowAsyncCallbacks=!0,Ie.queuedAsyncCallbacks.length>0){var e=Ie.queuedAsyncCallbacks;Ie.queuedAsyncCallbacks=[],e.forEach((function(e){e()}))}},safeRequestAnimationFrame:function(e){return Ie.requestAnimationFrame((function(){E||(Ie.allowAsyncCallbacks?e():Ie.queuedAsyncCallbacks.push(e))}))},safeSetTimeout:function(e,r){return n.noExitRuntime=!0,setTimeout((function(){E||(Ie.allowAsyncCallbacks?e():Ie.queuedAsyncCallbacks.push(e))}),r)},safeSetInterval:function(e,r){return n.noExitRuntime=!0,setInterval((function(){E||Ie.allowAsyncCallbacks&&e()}),r)},getMimetype:function(e){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[e.substr(e.lastIndexOf(".")+1)]},getUserMedia:function(e){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(e)},getMovementX:function(e){return e.movementX||e.mozMovementX||e.webkitMovementX||0},getMovementY:function(e){return e.movementY||e.mozMovementY||e.webkitMovementY||0},getMouseWheelDelta:function(e){var r=0;switch(e.type){case"DOMMouseScroll":r=e.detail;break;case"mousewheel":r=e.wheelDelta;break;case"wheel":r=e.deltaY;break;default:throw"unrecognized mouse wheel event: "+e.type}return r},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(e){if(Ie.pointerLock)"mousemove"!=e.type&&"mozMovementX"in e?Ie.mouseMovementX=Ie.mouseMovementY=0:(Ie.mouseMovementX=Ie.getMovementX(e),Ie.mouseMovementY=Ie.getMovementY(e)),"undefined"!=typeof SDL?(Ie.mouseX=SDL.mouseX+Ie.mouseMovementX,Ie.mouseY=SDL.mouseY+Ie.mouseMovementY):(Ie.mouseX+=Ie.mouseMovementX,Ie.mouseY+=Ie.mouseMovementY);else{var r=n.canvas.getBoundingClientRect(),t=n.canvas.width,i=n.canvas.height,o=void 0!==window.scrollX?window.scrollX:window.pageXOffset,a=void 0!==window.scrollY?window.scrollY:window.pageYOffset;if("touchstart"===e.type||"touchend"===e.type||"touchmove"===e.type){var s=e.touch;if(void 0===s)return;var f=s.pageX-(o+r.left),l=s.pageY-(a+r.top),u={x:f*=t/r.width,y:l*=i/r.height};if("touchstart"===e.type)Ie.lastTouches[s.identifier]=u,Ie.touches[s.identifier]=u;else if("touchend"===e.type||"touchmove"===e.type){var c=Ie.touches[s.identifier];c||(c=u),Ie.lastTouches[s.identifier]=c,Ie.touches[s.identifier]=u}return}var d=e.pageX-(o+r.left),h=e.pageY-(a+r.top);d*=t/r.width,h*=i/r.height,Ie.mouseMovementX=d-Ie.mouseX,Ie.mouseMovementY=h-Ie.mouseY,Ie.mouseX=d,Ie.mouseY=h}},xhrLoad:function(e,r,n){var t=new XMLHttpRequest;t.open("GET",e,!0),t.responseType="arraybuffer",t.onload=function(){200==t.status||0==t.status&&t.response?r(t.response):n()},t.onerror=n,t.send(null)},asyncLoad:function(e,r,n,t){Ie.xhrLoad(e,(function(n){g(n,'Loading data file "'+e+'" failed (no arrayBuffer).'),r(new Uint8Array(n)),t||be()}),(function(r){if(!n)throw'Loading data file "'+e+'" failed.';n()})),t||ke()},resizeListeners:[],updateResizeListeners:function(){var e=n.canvas;Ie.resizeListeners.forEach((function(r){r(e.width,e.height)}))},setCanvasSize:function(e,r,t){var i=n.canvas;Ie.updateCanvasDimensions(i,e,r),t||Ie.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){if("undefined"!=typeof SDL){var e=L[SDL.screen+0*d.QUANTUM_SIZE>>2];e|=8388608,N[SDL.screen+0*d.QUANTUM_SIZE>>2]=e}Ie.updateResizeListeners()},setWindowedCanvasSize:function(){if("undefined"!=typeof SDL){var e=L[SDL.screen+0*d.QUANTUM_SIZE>>2];e&=-8388609,N[SDL.screen+0*d.QUANTUM_SIZE>>2]=e}Ie.updateResizeListeners()},updateCanvasDimensions:function(e,r,t){r&&t?(e.widthNative=r,e.heightNative=t):(r=e.widthNative,t=e.heightNative);var i=r,o=t;if(n.forcedAspectRatio&&n.forcedAspectRatio>0&&(i/o<n.forcedAspectRatio?i=Math.round(o*n.forcedAspectRatio):o=Math.round(i/n.forcedAspectRatio)),(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===e.parentNode&&"undefined"!=typeof screen){var a=Math.min(screen.width/i,screen.height/o);i=Math.round(i*a),o=Math.round(o*a)}Ie.resizeCanvas?(e.width!=i&&(e.width=i),e.height!=o&&(e.height=o),void 0!==e.style&&(e.style.removeProperty("width"),e.style.removeProperty("height"))):(e.width!=r&&(e.width=r),e.height!=t&&(e.height=t),void 0!==e.style&&(i!=r||o!=t?(e.style.setProperty("width",i+"px","important"),e.style.setProperty("height",o+"px","important")):(e.style.removeProperty("width"),e.style.removeProperty("height"))))},wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function(){var e=Ie.nextWgetRequestHandle;return Ie.nextWgetRequestHandle++,e}};if(n._llvm_bswap_i32=Ye,Oe.staticInit(),J.unshift((function(){n.noFSInit||Oe.init.initialized||Oe.init()})),$.push((function(){Oe.ignorePermissions=!1})),ee.push((function(){Oe.quit()})),n.FS_createFolder=Oe.createFolder,n.FS_createPath=Oe.createPath,n.FS_createDataFile=Oe.createDataFile,n.FS_createPreloadedFile=Oe.createPreloadedFile,n.FS_createLazyFile=Oe.createLazyFile,n.FS_createLink=Oe.createLink,n.FS_createDevice=Oe.createDevice,n.FS_unlink=Oe.unlink,J.unshift((function(){Ae.init()})),ee.push((function(){Ae.shutdown()})),s){var Ce=require("fs"),xe=require("path");Ne.staticInit()}n.requestFullScreen=function(e,r,n){Ie.requestFullScreen(e,r,n)},n.requestAnimationFrame=function(e){Ie.requestAnimationFrame(e)},n.setCanvasSize=function(e,r,n){Ie.setCanvasSize(e,r,n)},n.pauseMainLoop=function(){Ie.mainLoop.pause()},n.resumeMainLoop=function(){Ie.mainLoop.resume()},n.getUserMedia=function(){Ie.getUserMedia()},n.createContext=function(e,r,n,t){return Ie.createContext(e,r,n,t)},U=X=d.alignMemory(Y),V=!0,j=U+W,g((H=d.alignMemory(j))<G,"TOTAL_MEMORY not big enough for stack"),n.asmGlobalArg={Math,Int8Array,Int16Array,Int32Array,Uint8Array,Uint16Array,Uint32Array,Float32Array,Float64Array,NaN:NaN,Infinity:1/0},n.asmLibraryArg={abort:Ke,assert:g,invoke_ii:function(e,r){try{return n.dynCall_ii(e,r)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;Be.setThrew(1,0)}},invoke_iiii:function(e,r,t,i){try{return n.dynCall_iiii(e,r,t,i)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;Be.setThrew(1,0)}},invoke_vii:function(e,r,t){try{n.dynCall_vii(e,r,t)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;Be.setThrew(1,0)}},invoke_iii:function(e,r,t){try{return n.dynCall_iii(e,r,t)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;Be.setThrew(1,0)}},invoke_vi:function(e,r){try{n.dynCall_vi(e,r)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;Be.setThrew(1,0)}},_pthread_cleanup_pop:function(){g(ye.level==ee.length,"cannot pop if something else added meanwhile!"),ee.pop(),ye.level=ee.length},_pthread_self:function(){return 0},___syscall3:function(e,r){Te.varargs=r;try{var n=Te.getStreamFromFD(),t=Te.get(),i=Te.get();return Oe.read(n,S,t,i)}catch(e){return void 0!==Oe&&e instanceof Oe.ErrnoError||Ke(e),-e.errno}},_emscripten_set_main_loop:Pe,___setErrNo:Ee,___lock:function(){},___syscall6:function(e,r){Te.varargs=r;try{var n=Te.getStreamFromFD();return Oe.close(n),0}catch(e){return void 0!==Oe&&e instanceof Oe.ErrnoError||Ke(e),-e.errno}},___syscall5:function(e,r){Te.varargs=r;try{var n=Te.getStr(),t=Te.get(),i=Te.get();return Oe.open(n,t,i).fd}catch(e){return void 0!==Oe&&e instanceof Oe.ErrnoError||Ke(e),-e.errno}},_abort:function(){n.abort()},_sbrk:Fe,_time:function(e){var r=Date.now()/1e3|0;return e&&(N[e>>2]=r),r},_emscripten_set_main_loop_timing:Re,_emscripten_memcpy_big:function(e,r,n){return A.set(A.subarray(r,r+n),e),e},___syscall54:function(e,r){Te.varargs=r;try{var n=Te.getStreamFromFD(),t=Te.get();switch(t){case 21505:case 21506:return n.tty?0:-ge.ENOTTY;case 21519:if(!n.tty)return-ge.ENOTTY;var i=Te.get();return N[i>>2]=0,0;case 21520:return n.tty?-ge.EINVAL:-ge.ENOTTY;case 21531:return i=Te.get(),Oe.ioctl(n,t,i);default:Ke("bad ioctl syscall "+t)}}catch(e){return void 0!==Oe&&e instanceof Oe.ErrnoError||Ke(e),-e.errno}},___unlock:function(){},___syscall140:function(e,r){Te.varargs=r;try{var n=Te.getStreamFromFD(),t=Te.get(),i=Te.get(),o=Te.get(),a=Te.get(),s=i;return g(0===t),Oe.llseek(n,s,a),N[o>>2]=n.position,n.getdents&&0===s&&0===a&&(n.getdents=null),0}catch(e){return void 0!==Oe&&e instanceof Oe.ErrnoError||Ke(e),-e.errno}},_pthread_cleanup_push:ye,_sysconf:function(e){switch(e){case 30:return 4096;case 85:return K/4096;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return"object"==typeof navigator&&navigator.hardwareConcurrency||1}return Ee(ge.EINVAL),-1},___syscall146:function(e,r){Te.varargs=r;try{var n=Te.getStreamFromFD(),t=Te.get(),i=Te.get();return Te.doWritev(n,t,i)}catch(e){return void 0!==Oe&&e instanceof Oe.ErrnoError||Ke(e),-e.errno}},___syscall4:function(e,r){Te.varargs=r;try{var n=Te.getStreamFromFD(),t=Te.get(),i=Te.get();return Oe.write(n,S,t,i)}catch(e){return void 0!==Oe&&e instanceof Oe.ErrnoError||Ke(e),-e.errno}},STACKTOP:X,STACK_MAX:j,tempDoublePtr:ve,ABORT:E};var Be=function(e,r,n){"use asm";var t=new e.Int8Array(n);var i=new e.Int16Array(n);var o=new e.Int32Array(n);var a=new e.Uint8Array(n);var s=new e.Uint16Array(n);var f=new e.Uint32Array(n);var l=new e.Float32Array(n);var u=new e.Float64Array(n);var c=r.STACKTOP|0;var d=r.STACK_MAX|0;var h=r.tempDoublePtr|0;var m=r.ABORT|0;var p=0;var w=0;var k=0;var b=0;var v=e.NaN,E=e.Infinity;var g=0,y=0,_=0,S=0,A=0.0,D=0,M=0,N=0,L=0.0;var O=0;var T=0;var F=0;var R=0;var P=0;var I=0;var C=0;var x=0;var B=0;var z=0;var U=e.Math.floor;var j=e.Math.abs;var q=e.Math.sqrt;var Y=e.Math.pow;var V=e.Math.cos;var X=e.Math.sin;var H=e.Math.tan;var W=e.Math.acos;var G=e.Math.asin;var K=e.Math.atan;var Z=e.Math.atan2;var Q=e.Math.exp;var J=e.Math.log;var $=e.Math.ceil;var ee=e.Math.imul;var re=e.Math.min;var ne=e.Math.clz32;var te=r.abort;var ie=r.assert;var oe=r.invoke_ii;var ae=r.invoke_iiii;var se=r.invoke_vii;var fe=r.invoke_iii;var le=r.invoke_vi;var ue=r._pthread_cleanup_pop;var ce=r._pthread_self;var de=r.___syscall3;var he=r._emscripten_set_main_loop;var me=r.___setErrNo;var pe=r.___lock;var we=r.___syscall6;var ke=r.___syscall5;var be=r._abort;var ve=r._sbrk;var Ee=r._time;var ge=r._emscripten_set_main_loop_timing;var ye=r._emscripten_memcpy_big;var _e=r.___syscall54;var Se=r.___unlock;var Ae=r.___syscall140;var De=r._pthread_cleanup_push;var Me=r._sysconf;var Ne=r.___syscall146;var Le=r.___syscall4;var Oe=0.0;function Te(e){e=e|0;var r=0;r=c;c=c+e|0;c=c+15&-16;return r|0}function Fe(){return c|0}function Re(e){e=e|0;c=e}function Pe(e,r){e=e|0;r=r|0;c=e;d=r}function Ie(e,r){e=e|0;r=r|0;if(!p){p=e;w=r}}function Ce(e){e=e|0;t[h>>0]=t[e>>0];t[h+1>>0]=t[e+1>>0];t[h+2>>0]=t[e+2>>0];t[h+3>>0]=t[e+3>>0]}function xe(e){e=e|0;t[h>>0]=t[e>>0];t[h+1>>0]=t[e+1>>0];t[h+2>>0]=t[e+2>>0];t[h+3>>0]=t[e+3>>0];t[h+4>>0]=t[e+4>>0];t[h+5>>0]=t[e+5>>0];t[h+6>>0]=t[e+6>>0];t[h+7>>0]=t[e+7>>0]}function Be(e){e=e|0;O=e}function ze(){return O|0}function Ue(e,r,n){e=e|0;r=r|0;n=n|0;var t=0,i=0,o=0,s=0,f=0,l=0,u=0,c=0,d=0,h=0,m=0,p=0,w=0,k=0,b=0,v=0,E=0,g=0,y=0,_=0,S=0,A=0,D=0,M=0,N=0,L=0,O=0,T=0,F=0,R=0,P=0,I=0,C=0,x=0,B=0,z=0,U=0,j=0,q=0,Y=0,V=0,X=0,H=0,W=0,G=0,K=0,Z=0,Q=0;t=e>>>16;i=e&65535;if((n|0)==1){e=(a[r>>0]|0)+i|0;o=e>>>0>65520?e+-65521|0:e;e=o+t|0;s=(e>>>0>65520?e+15|0:e)<<16|o;return s|0}if(!r){s=1;return s|0}if(n>>>0<16){if(!n){f=i;l=t}else{o=r;e=n;u=i;c=t;while(1){e=e+-1|0;d=(a[o>>0]|0)+u|0;h=d+c|0;if(!e){f=d;l=h;break}else{o=o+1|0;u=d;c=h}}}s=((l>>>0)%65521|0)<<16|(f>>>0>65520?f+-65521|0:f);return s|0}if(n>>>0>5551){f=n+-5552|0;l=(f>>>0)%5552|0;c=f-l+5552|0;f=r;u=n;o=i;e=t;while(1){u=u+-5552|0;h=f;d=o;m=347;p=e;while(1){w=(a[h>>0]|0)+d|0;k=w+(a[h+1>>0]|0)|0;b=k+(a[h+2>>0]|0)|0;v=b+(a[h+3>>0]|0)|0;E=v+(a[h+4>>0]|0)|0;g=E+(a[h+5>>0]|0)|0;y=g+(a[h+6>>0]|0)|0;_=y+(a[h+7>>0]|0)|0;S=_+(a[h+8>>0]|0)|0;A=S+(a[h+9>>0]|0)|0;D=A+(a[h+10>>0]|0)|0;M=D+(a[h+11>>0]|0)|0;N=M+(a[h+12>>0]|0)|0;L=N+(a[h+13>>0]|0)|0;O=L+(a[h+14>>0]|0)|0;T=O+(a[h+15>>0]|0)|0;F=w+p+k+b+v+E+g+y+_+S+A+D+M+N+L+O+T|0;m=m+-1|0;if(!m){R=T;P=F;break}else{h=h+16|0;d=T;p=F}}p=(R>>>0)%65521|0;d=(P>>>0)%65521|0;if(u>>>0<=5551){I=p;C=d;break}else{f=f+5552|0;o=p;e=d}}e=r+c|0;if(l)if(l>>>0>15){x=l;B=e;z=I;U=C;j=15}else{q=l;Y=e;V=I;X=C;j=18}else{H=I;W=C}}else{x=n;B=r;z=i;U=t;j=15}if((j|0)==15){t=x+-16|0;i=t&-16;r=B+(i+16)|0;n=x;x=B;B=z;z=U;while(1){n=n+-16|0;U=(a[x>>0]|0)+B|0;C=U+(a[x+1>>0]|0)|0;I=C+(a[x+2>>0]|0)|0;e=I+(a[x+3>>0]|0)|0;l=e+(a[x+4>>0]|0)|0;c=l+(a[x+5>>0]|0)|0;o=c+(a[x+6>>0]|0)|0;f=o+(a[x+7>>0]|0)|0;u=f+(a[x+8>>0]|0)|0;P=u+(a[x+9>>0]|0)|0;R=P+(a[x+10>>0]|0)|0;d=R+(a[x+11>>0]|0)|0;p=d+(a[x+12>>0]|0)|0;h=p+(a[x+13>>0]|0)|0;m=h+(a[x+14>>0]|0)|0;F=m+(a[x+15>>0]|0)|0;T=U+z+C+I+e+l+c+o+f+u+P+R+d+p+h+m+F|0;if(n>>>0<=15){G=F;K=T;break}else{x=x+16|0;B=F;z=T}}if((t|0)==(i|0)){Z=G;Q=K;j=19}else{q=t-i|0;Y=r;V=G;X=K;j=18}}if((j|0)==18)while(1){j=0;q=q+-1|0;K=(a[Y>>0]|0)+V|0;G=K+X|0;if(!q){Z=K;Q=G;j=19;break}else{Y=Y+1|0;V=K;X=G;j=18}}if((j|0)==19){H=(Z>>>0)%65521|0;W=(Q>>>0)%65521|0}s=W<<16|H;return s|0}function je(e,r,n){e=e|0;r=r|0;n=n|0;var t=0,i=0,s=0,f=0,l=0,u=0,c=0,d=0,h=0,m=0,p=0,w=0,k=0,b=0,v=0,E=0,g=0,y=0,_=0,S=0,A=0,D=0,M=0,N=0;if(!r){t=0;return t|0}i=~e;e:do{if(n){e=r;s=n;f=i;while(1){if(!(e&3)){l=e;u=s;c=f;break}d=o[8+(((a[e>>0]|0)^f&255)<<2)>>2]^f>>>8;s=s+-1|0;if(!s){h=d;break e}else{e=e+1|0;f=d}}if(u>>>0>31){f=u+-32|0;e=f&-32;s=e+32|0;d=u;m=l;p=c;while(1){w=o[m>>2]^p;k=o[2056+((w>>>8&255)<<2)>>2]^o[3080+((w&255)<<2)>>2]^o[1032+((w>>>16&255)<<2)>>2]^o[8+(w>>>24<<2)>>2]^o[m+4>>2];w=o[2056+((k>>>8&255)<<2)>>2]^o[3080+((k&255)<<2)>>2]^o[1032+((k>>>16&255)<<2)>>2]^o[8+(k>>>24<<2)>>2]^o[m+8>>2];k=o[2056+((w>>>8&255)<<2)>>2]^o[3080+((w&255)<<2)>>2]^o[1032+((w>>>16&255)<<2)>>2]^o[8+(w>>>24<<2)>>2]^o[m+12>>2];w=o[2056+((k>>>8&255)<<2)>>2]^o[3080+((k&255)<<2)>>2]^o[1032+((k>>>16&255)<<2)>>2]^o[8+(k>>>24<<2)>>2]^o[m+16>>2];k=o[2056+((w>>>8&255)<<2)>>2]^o[3080+((w&255)<<2)>>2]^o[1032+((w>>>16&255)<<2)>>2]^o[8+(w>>>24<<2)>>2]^o[m+20>>2];w=o[2056+((k>>>8&255)<<2)>>2]^o[3080+((k&255)<<2)>>2]^o[1032+((k>>>16&255)<<2)>>2]^o[8+(k>>>24<<2)>>2]^o[m+24>>2];k=o[2056+((w>>>8&255)<<2)>>2]^o[3080+((w&255)<<2)>>2]^o[1032+((w>>>16&255)<<2)>>2]^o[8+(w>>>24<<2)>>2]^o[m+28>>2];w=o[2056+((k>>>8&255)<<2)>>2]^o[3080+((k&255)<<2)>>2]^o[1032+((k>>>16&255)<<2)>>2]^o[8+(k>>>24<<2)>>2];d=d+-32|0;if(d>>>0<=31){b=w;break}else{m=m+32|0;p=w}}v=f-e|0;E=l+s|0;g=b}else{v=u;E=l;g=c}if(v>>>0>3){p=v+-4|0;m=p>>>2;d=m<<2;w=v;k=E;y=g;while(1){_=o[k>>2]^y;S=o[2056+((_>>>8&255)<<2)>>2]^o[3080+((_&255)<<2)>>2]^o[1032+((_>>>16&255)<<2)>>2]^o[8+(_>>>24<<2)>>2];w=w+-4|0;if(w>>>0<=3){A=S;break}else{k=k+4|0;y=S}}D=p-d|0;M=E+(m+1<<2)|0;N=A}else{D=v;M=E;N=g}if(!D)h=N;else{y=M;k=D;w=N;while(1){s=o[8+(((a[y>>0]|0)^w&255)<<2)>>2]^w>>>8;k=k+-1|0;if(!k){h=s;break}else{y=y+1|0;w=s}}}}else h=i}while(0);t=~h;return t|0}function qe(e,r,n,i,a,s,f,l){e=e|0;r=r|0;n=n|0;i=i|0;a=a|0;s=s|0;f=f|0;l=l|0;var u=0,c=0,d=0,h=0,m=0,p=0,w=0,k=0,b=0,v=0,E=0,g=0;if(!f){u=-6;return u|0}if((l|0)!=56|(t[f>>0]|0)!=49){u=-6;return u|0}if(!e){u=-2;return u|0}f=e+24|0;o[f>>2]=0;l=e+32|0;c=o[l>>2]|0;if(!c){o[l>>2]=3;o[e+40>>2]=0;d=3}else d=c;c=e+36|0;if(!(o[c>>2]|0))o[c>>2]=1;h=(r|0)==-1?6:r;if((i|0)<0){m=0-i|0;p=0}else{r=(i|0)>15;m=r?i+-16|0:i;p=r?2:1}if(s>>>0>4|(h>>>0>9|((n|0)!=8|(a+-1|0)>>>0>8|(m&-8|0)!=8))){u=-2;return u|0}n=(m|0)==8?9:m;m=e+40|0;r=hn[d&7](o[m>>2]|0,1,5828)|0;if(!r){u=-4;return u|0}d=e+28|0;o[d>>2]=r;o[r>>2]=e;o[r+24>>2]=p;o[r+28>>2]=0;o[r+48>>2]=n;p=1<<n;n=r+44|0;o[n>>2]=p;o[r+52>>2]=p+-1;i=a+7|0;o[r+80>>2]=i;w=1<<i;i=r+76|0;o[i>>2]=w;o[r+84>>2]=w+-1;o[r+88>>2]=((a+9|0)>>>0)/3|0;w=r+56|0;o[w>>2]=hn[o[l>>2]&7](o[m>>2]|0,p,2)|0;p=hn[o[l>>2]&7](o[m>>2]|0,o[n>>2]|0,2)|0;k=r+64|0;o[k>>2]=p;Jr(p|0,0,o[n>>2]<<1|0)|0;n=r+68|0;o[n>>2]=hn[o[l>>2]&7](o[m>>2]|0,o[i>>2]|0,2)|0;o[r+5824>>2]=0;i=1<<a+6;a=r+5788|0;o[a>>2]=i;p=hn[o[l>>2]&7](o[m>>2]|0,i,4)|0;o[r+8>>2]=p;i=o[a>>2]|0;o[r+12>>2]=i<<2;if(((o[w>>2]|0)!=0?(o[k>>2]|0)!=0:0)?!((o[n>>2]|0)==0|(p|0)==0):0){o[r+5796>>2]=p+(i>>>1<<1);o[r+5784>>2]=p+(i*3|0);o[r+132>>2]=h;o[r+136>>2]=s;t[r+36>>0]=8;u=Ve(e)|0;return u|0}o[r+4>>2]=666;o[f>>2]=o[2238];f=o[d>>2]|0;if(!f){u=-4;return u|0}switch(o[f+4>>2]|0){case 42:case 69:case 73:case 91:case 103:case 113:case 666:break;default:{u=-4;return u|0}}r=o[f+8>>2]|0;if(!r)b=f;else{mn[o[c>>2]&1](o[m>>2]|0,r);b=o[d>>2]|0}r=o[b+68>>2]|0;if(!r)v=b;else{mn[o[c>>2]&1](o[m>>2]|0,r);v=o[d>>2]|0}r=o[v+64>>2]|0;if(!r)E=v;else{mn[o[c>>2]&1](o[m>>2]|0,r);E=o[d>>2]|0}r=o[E+56>>2]|0;if(!r)g=E;else{mn[o[c>>2]&1](o[m>>2]|0,r);g=o[d>>2]|0}mn[o[c>>2]&1](o[m>>2]|0,g);o[d>>2]=0;u=-4;return u|0}function Ye(e){e=e|0;var r=0,n=0,t=0,i=0,a=0,s=0,f=0,l=0,u=0,c=0,d=0;if(!e){r=-2;return r|0}n=e+28|0;t=o[n>>2]|0;if(!t){r=-2;return r|0}i=o[t+4>>2]|0;switch(i|0){case 42:case 69:case 73:case 91:case 103:case 113:case 666:break;default:{r=-2;return r|0}}a=o[t+8>>2]|0;if(!a)s=t;else{mn[o[e+36>>2]&1](o[e+40>>2]|0,a);s=o[n>>2]|0}a=o[s+68>>2]|0;if(!a)f=s;else{mn[o[e+36>>2]&1](o[e+40>>2]|0,a);f=o[n>>2]|0}a=o[f+64>>2]|0;if(!a)l=f;else{mn[o[e+36>>2]&1](o[e+40>>2]|0,a);l=o[n>>2]|0}a=o[l+56>>2]|0;if(!a){u=e+40|0;c=e+36|0;d=l}else{l=e+36|0;f=e+40|0;mn[o[l>>2]&1](o[f>>2]|0,a);u=f;c=l;d=o[n>>2]|0}mn[o[c>>2]&1](o[u>>2]|0,d);o[n>>2]=0;r=(i|0)==113?-3:0;return r|0}function Ve(e){e=e|0;var r=0,n=0,t=0,a=0,f=0,l=0,u=0;if(!e){r=-2;return r|0}n=o[e+28>>2]|0;if(!n){r=-2;return r|0}if(!(o[e+32>>2]|0)){r=-2;return r|0}if(!(o[e+36>>2]|0)){r=-2;return r|0}o[e+20>>2]=0;o[e+8>>2]=0;o[e+24>>2]=0;o[e+44>>2]=2;o[n+20>>2]=0;o[n+16>>2]=o[n+8>>2];t=n+24|0;a=o[t>>2]|0;if((a|0)<0){f=0-a|0;o[t>>2]=f;l=f}else l=a;o[n+4>>2]=(l|0)!=0?42:113;if((l|0)==2)u=je(0,0,0)|0;else u=Ue(0,0,0)|0;o[e+48>>2]=u;o[n+40>>2]=0;br(n);o[n+60>>2]=o[n+44>>2]<<1;u=o[n+76>>2]|0;e=o[n+68>>2]|0;i[e+(u+-1<<1)>>1]=0;Jr(e|0,0,(u<<1)+-2|0)|0;u=o[n+132>>2]|0;o[n+128>>2]=s[8200+(u*12|0)+2>>1];o[n+140>>2]=s[8200+(u*12|0)>>1];o[n+144>>2]=s[8200+(u*12|0)+4>>1];o[n+124>>2]=s[8200+(u*12|0)+6>>1];o[n+108>>2]=0;o[n+92>>2]=0;o[n+116>>2]=0;o[n+120>>2]=2;o[n+96>>2]=2;o[n+112>>2]=0;o[n+104>>2]=0;o[n+72>>2]=0;r=0;return r|0}function Xe(e,r){e=e|0;r=r|0;var n=0,s=0,f=0,l=0,u=0,c=0,d=0,h=0,m=0,p=0,w=0,k=0,b=0,v=0,E=0,g=0,y=0,_=0,S=0,A=0,D=0,M=0,N=0,L=0,O=0,T=0,F=0,R=0,P=0,I=0,C=0,x=0,B=0,z=0,U=0,j=0,q=0,Y=0,V=0,X=0,H=0,W=0,G=0,K=0,Z=0,Q=0,J=0,$=0,ee=0,re=0,ne=0,te=0,ie=0,oe=0,ae=0,se=0,fe=0,le=0,ue=0,ce=0,de=0,he=0,me=0,pe=0,we=0,ke=0,be=0,ve=0,Ee=0,ge=0,ye=0,_e=0,Se=0,Ae=0,De=0,Me=0,Ne=0,Le=0;if(!e){n=-2;return n|0}s=e+28|0;f=o[s>>2]|0;if(r>>>0>5|(f|0)==0){n=-2;return n|0}l=e+12|0;do{if(o[l>>2]|0){if((o[e>>2]|0)==0?(o[e+4>>2]|0)!=0:0)break;u=f+4|0;c=o[u>>2]|0;d=(r|0)!=4;if(!(d&(c|0)==666)){h=e+16|0;if(!(o[h>>2]|0)){o[e+24>>2]=o[2239];n=-5;return n|0}o[f>>2]=e;m=f+40|0;p=o[m>>2]|0;o[m>>2]=r;do{if((c|0)==42){if((o[f+24>>2]|0)!=2){w=(o[f+48>>2]<<12)+-30720|0;if((o[f+136>>2]|0)<=1?(k=o[f+132>>2]|0,(k|0)>=2):0)if((k|0)<6)b=64;else b=(k|0)==6?128:192;else b=0;k=b|w;w=f+108|0;v=(o[w>>2]|0)==0?k:k|32;o[u>>2]=113;k=f+20|0;E=o[k>>2]|0;o[k>>2]=E+1;g=f+8|0;t[(o[g>>2]|0)+E>>0]=v>>>8;E=o[k>>2]|0;o[k>>2]=E+1;t[(o[g>>2]|0)+E>>0]=(v|((v>>>0)%31|0))^31;v=e+48|0;if(o[w>>2]|0){w=o[v>>2]|0;E=o[k>>2]|0;o[k>>2]=E+1;t[(o[g>>2]|0)+E>>0]=w>>>24;E=o[k>>2]|0;o[k>>2]=E+1;t[(o[g>>2]|0)+E>>0]=w>>>16;w=o[v>>2]|0;E=o[k>>2]|0;o[k>>2]=E+1;t[(o[g>>2]|0)+E>>0]=w>>>8;E=o[k>>2]|0;o[k>>2]=E+1;t[(o[g>>2]|0)+E>>0]=w}o[v>>2]=Ue(0,0,0)|0;y=o[u>>2]|0;_=30;break}v=e+48|0;o[v>>2]=je(0,0,0)|0;w=f+20|0;E=o[w>>2]|0;o[w>>2]=E+1;g=f+8|0;t[(o[g>>2]|0)+E>>0]=31;E=o[w>>2]|0;o[w>>2]=E+1;t[(o[g>>2]|0)+E>>0]=-117;E=o[w>>2]|0;o[w>>2]=E+1;t[(o[g>>2]|0)+E>>0]=8;E=f+28|0;k=o[E>>2]|0;if(!k){S=o[w>>2]|0;o[w>>2]=S+1;t[(o[g>>2]|0)+S>>0]=0;S=o[w>>2]|0;o[w>>2]=S+1;t[(o[g>>2]|0)+S>>0]=0;S=o[w>>2]|0;o[w>>2]=S+1;t[(o[g>>2]|0)+S>>0]=0;S=o[w>>2]|0;o[w>>2]=S+1;t[(o[g>>2]|0)+S>>0]=0;S=o[w>>2]|0;o[w>>2]=S+1;t[(o[g>>2]|0)+S>>0]=0;S=o[f+132>>2]|0;if((S|0)==9)A=2;else A=((S|0)<2?1:(o[f+136>>2]|0)>1)?4:0;S=o[w>>2]|0;o[w>>2]=S+1;t[(o[g>>2]|0)+S>>0]=A;S=o[w>>2]|0;o[w>>2]=S+1;t[(o[g>>2]|0)+S>>0]=3;o[u>>2]=113;break}S=(((o[k+44>>2]|0)!=0?2:0)|(o[k>>2]|0)!=0|((o[k+16>>2]|0)==0?0:4)|((o[k+28>>2]|0)==0?0:8)|((o[k+36>>2]|0)==0?0:16))&255;k=o[w>>2]|0;o[w>>2]=k+1;t[(o[g>>2]|0)+k>>0]=S;S=o[(o[E>>2]|0)+4>>2]&255;k=o[w>>2]|0;o[w>>2]=k+1;t[(o[g>>2]|0)+k>>0]=S;S=(o[(o[E>>2]|0)+4>>2]|0)>>>8&255;k=o[w>>2]|0;o[w>>2]=k+1;t[(o[g>>2]|0)+k>>0]=S;S=(o[(o[E>>2]|0)+4>>2]|0)>>>16&255;k=o[w>>2]|0;o[w>>2]=k+1;t[(o[g>>2]|0)+k>>0]=S;S=(o[(o[E>>2]|0)+4>>2]|0)>>>24&255;k=o[w>>2]|0;o[w>>2]=k+1;t[(o[g>>2]|0)+k>>0]=S;S=o[f+132>>2]|0;if((S|0)==9)D=2;else D=((S|0)<2?1:(o[f+136>>2]|0)>1)?4:0;S=o[w>>2]|0;o[w>>2]=S+1;t[(o[g>>2]|0)+S>>0]=D;S=o[(o[E>>2]|0)+12>>2]&255;k=o[w>>2]|0;o[w>>2]=k+1;t[(o[g>>2]|0)+k>>0]=S;S=o[E>>2]|0;if(!(o[S+16>>2]|0))M=S;else{k=o[S+20>>2]&255;S=o[w>>2]|0;o[w>>2]=S+1;t[(o[g>>2]|0)+S>>0]=k;k=(o[(o[E>>2]|0)+20>>2]|0)>>>8&255;S=o[w>>2]|0;o[w>>2]=S+1;t[(o[g>>2]|0)+S>>0]=k;M=o[E>>2]|0}if(o[M+44>>2]|0)o[v>>2]=je(o[v>>2]|0,o[g>>2]|0,o[w>>2]|0)|0;o[f+32>>2]=0;o[u>>2]=69;N=E;_=32}else{y=c;_=30}}while(0);if((_|0)==30)if((y|0)==69){N=f+28|0;_=32}else{L=y;_=53}do{if((_|0)==32){c=o[N>>2]|0;if(!(o[c+16>>2]|0)){o[u>>2]=73;O=N;T=c;_=55;break}E=f+20|0;w=o[E>>2]|0;g=f+32|0;v=o[g>>2]|0;e:do{if(v>>>0<(o[c+20>>2]&65535)>>>0){k=f+12|0;S=e+48|0;F=f+8|0;R=e+20|0;P=v;I=w;C=c;x=w;while(1){if((I|0)==(o[k>>2]|0)){if(I>>>0>x>>>0&(o[C+44>>2]|0)!=0)o[S>>2]=je(o[S>>2]|0,(o[F>>2]|0)+x|0,I-x|0)|0;B=o[s>>2]|0;z=o[B+20>>2]|0;U=o[h>>2]|0;j=z>>>0>U>>>0?U:z;if((j|0)!=0?($r(o[l>>2]|0,o[B+16>>2]|0,j|0)|0,o[l>>2]=(o[l>>2]|0)+j,B=o[s>>2]|0,z=B+16|0,o[z>>2]=(o[z>>2]|0)+j,o[R>>2]=(o[R>>2]|0)+j,o[h>>2]=(o[h>>2]|0)-j,U=B+20|0,q=o[U>>2]|0,o[U>>2]=q-j,(q|0)==(j|0)):0)o[z>>2]=o[B+8>>2];B=o[E>>2]|0;if((B|0)==(o[k>>2]|0)){Y=B;break}V=o[N>>2]|0;X=o[g>>2]|0;H=B;W=B}else{V=C;X=P;H=I;W=x}B=t[(o[V+16>>2]|0)+X>>0]|0;o[E>>2]=H+1;t[(o[F>>2]|0)+H>>0]=B;B=(o[g>>2]|0)+1|0;o[g>>2]=B;z=o[N>>2]|0;if(B>>>0>=(o[z+20>>2]&65535)>>>0){G=z;K=W;break e}P=B;I=o[E>>2]|0;C=z;x=W}G=o[N>>2]|0;K=Y}else{G=c;K=w}}while(0);if((o[G+44>>2]|0)!=0?(w=o[E>>2]|0,w>>>0>K>>>0):0){c=e+48|0;o[c>>2]=je(o[c>>2]|0,(o[f+8>>2]|0)+K|0,w-K|0)|0;Z=o[N>>2]|0}else Z=G;if((o[g>>2]|0)==(o[Z+20>>2]|0)){o[g>>2]=0;o[u>>2]=73;O=N;T=Z;_=55;break}else{L=o[u>>2]|0;_=53;break}}}while(0);if((_|0)==53)if((L|0)==73){w=f+28|0;O=w;T=o[w>>2]|0;_=55}else{Q=L;_=73}do{if((_|0)==55){if(!(o[T+28>>2]|0)){o[u>>2]=91;J=O;_=75;break}w=f+20|0;c=o[w>>2]|0;v=f+12|0;x=e+48|0;C=f+8|0;I=e+20|0;P=f+32|0;F=c;k=c;while(1){if((F|0)==(o[v>>2]|0)){if(F>>>0>k>>>0?(o[(o[O>>2]|0)+44>>2]|0)!=0:0)o[x>>2]=je(o[x>>2]|0,(o[C>>2]|0)+k|0,F-k|0)|0;c=o[s>>2]|0;R=o[c+20>>2]|0;S=o[h>>2]|0;z=R>>>0>S>>>0?S:R;if((z|0)!=0?($r(o[l>>2]|0,o[c+16>>2]|0,z|0)|0,o[l>>2]=(o[l>>2]|0)+z,c=o[s>>2]|0,R=c+16|0,o[R>>2]=(o[R>>2]|0)+z,o[I>>2]=(o[I>>2]|0)+z,o[h>>2]=(o[h>>2]|0)-z,S=c+20|0,B=o[S>>2]|0,o[S>>2]=B-z,(B|0)==(z|0)):0)o[R>>2]=o[c+8>>2];c=o[w>>2]|0;if((c|0)==(o[v>>2]|0)){$=c;ee=1;break}else{re=c;ne=c}}else{re=F;ne=k}c=o[P>>2]|0;o[P>>2]=c+1;R=t[(o[(o[O>>2]|0)+28>>2]|0)+c>>0]|0;o[w>>2]=re+1;t[(o[C>>2]|0)+re>>0]=R;if(!(R<<24>>24)){$=ne;ee=R&255;break}F=o[w>>2]|0;k=ne}if((o[(o[O>>2]|0)+44>>2]|0)!=0?(k=o[w>>2]|0,k>>>0>$>>>0):0)o[x>>2]=je(o[x>>2]|0,(o[C>>2]|0)+$|0,k-$|0)|0;if(!ee){o[P>>2]=0;o[u>>2]=91;J=O;_=75;break}else{Q=o[u>>2]|0;_=73;break}}}while(0);if((_|0)==73)if((Q|0)==91){J=f+28|0;_=75}else{te=Q;_=93}do{if((_|0)==75){if(!(o[(o[J>>2]|0)+36>>2]|0)){o[u>>2]=103;ie=J;_=95;break}k=f+20|0;F=o[k>>2]|0;v=f+12|0;I=e+48|0;g=f+8|0;E=e+20|0;R=f+32|0;c=F;z=F;while(1){if((c|0)==(o[v>>2]|0)){if(c>>>0>z>>>0?(o[(o[J>>2]|0)+44>>2]|0)!=0:0)o[I>>2]=je(o[I>>2]|0,(o[g>>2]|0)+z|0,c-z|0)|0;F=o[s>>2]|0;B=o[F+20>>2]|0;S=o[h>>2]|0;j=B>>>0>S>>>0?S:B;if((j|0)!=0?($r(o[l>>2]|0,o[F+16>>2]|0,j|0)|0,o[l>>2]=(o[l>>2]|0)+j,F=o[s>>2]|0,B=F+16|0,o[B>>2]=(o[B>>2]|0)+j,o[E>>2]=(o[E>>2]|0)+j,o[h>>2]=(o[h>>2]|0)-j,S=F+20|0,q=o[S>>2]|0,o[S>>2]=q-j,(q|0)==(j|0)):0)o[B>>2]=o[F+8>>2];F=o[k>>2]|0;if((F|0)==(o[v>>2]|0)){oe=F;ae=1;break}else{se=F;fe=F}}else{se=c;fe=z}F=o[R>>2]|0;o[R>>2]=F+1;B=t[(o[(o[J>>2]|0)+36>>2]|0)+F>>0]|0;o[k>>2]=se+1;t[(o[g>>2]|0)+se>>0]=B;if(!(B<<24>>24)){oe=fe;ae=B&255;break}c=o[k>>2]|0;z=fe}if((o[(o[J>>2]|0)+44>>2]|0)!=0?(z=o[k>>2]|0,z>>>0>oe>>>0):0)o[I>>2]=je(o[I>>2]|0,(o[g>>2]|0)+oe|0,z-oe|0)|0;if(!ae){o[u>>2]=103;ie=J;_=95;break}else{te=o[u>>2]|0;_=93;break}}}while(0);if((_|0)==93?(te|0)==103:0){ie=f+28|0;_=95}do{if((_|0)==95){if(!(o[(o[ie>>2]|0)+44>>2]|0)){o[u>>2]=113;break}z=f+20|0;c=f+12|0;if((((o[z>>2]|0)+2|0)>>>0>(o[c>>2]|0)>>>0?(R=o[s>>2]|0,v=o[R+20>>2]|0,E=o[h>>2]|0,P=v>>>0>E>>>0?E:v,(P|0)!=0):0)?($r(o[l>>2]|0,o[R+16>>2]|0,P|0)|0,o[l>>2]=(o[l>>2]|0)+P,R=o[s>>2]|0,v=R+16|0,o[v>>2]=(o[v>>2]|0)+P,E=e+20|0,o[E>>2]=(o[E>>2]|0)+P,o[h>>2]=(o[h>>2]|0)-P,E=R+20|0,C=o[E>>2]|0,o[E>>2]=C-P,(C|0)==(P|0)):0)o[v>>2]=o[R+8>>2];R=o[z>>2]|0;if((R+2|0)>>>0<=(o[c>>2]|0)>>>0){c=e+48|0;v=o[c>>2]&255;o[z>>2]=R+1;P=f+8|0;t[(o[P>>2]|0)+R>>0]=v;v=(o[c>>2]|0)>>>8&255;R=o[z>>2]|0;o[z>>2]=R+1;t[(o[P>>2]|0)+R>>0]=v;o[c>>2]=je(0,0,0)|0;o[u>>2]=113}}}while(0);c=f+20|0;if(!(o[c>>2]|0)){if(d&(p|0)>=(r|0)&(o[e+4>>2]|0)==0){o[e+24>>2]=o[2239];n=-5;return n|0}}else{v=o[s>>2]|0;R=o[v+20>>2]|0;P=o[h>>2]|0;z=R>>>0>P>>>0?P:R;if(z){$r(o[l>>2]|0,o[v+16>>2]|0,z|0)|0;o[l>>2]=(o[l>>2]|0)+z;v=o[s>>2]|0;R=v+16|0;o[R>>2]=(o[R>>2]|0)+z;C=e+20|0;o[C>>2]=(o[C>>2]|0)+z;C=(o[h>>2]|0)-z|0;o[h>>2]=C;E=v+20|0;x=o[E>>2]|0;o[E>>2]=x-z;if((x|0)==(z|0)){o[R>>2]=o[v+8>>2];le=C}else le=C}else le=P;if(!le){o[m>>2]=-1;n=0;return n|0}}P=(o[u>>2]|0)==666;C=(o[e+4>>2]|0)==0;if(P)if(C)_=115;else{o[e+24>>2]=o[2239];n=-5;return n|0}else if(C)_=115;else _=116;if((_|0)==115?!((o[f+116>>2]|0)==0&((r|0)==0|P)):0)_=116;do{if((_|0)==116){e:do{switch(o[f+136>>2]|0){case 2:{P=f+116|0;C=f+96|0;v=f+108|0;R=f+56|0;z=f+5792|0;x=f+5796|0;E=f+5784|0;w=f+5788|0;B=f+92|0;while(1){if((o[P>>2]|0)==0?(He(f),(o[P>>2]|0)==0):0)break;o[C>>2]=0;F=t[(o[R>>2]|0)+(o[v>>2]|0)>>0]|0;j=o[z>>2]|0;i[(o[x>>2]|0)+(j<<1)>>1]=0;o[z>>2]=j+1;t[(o[E>>2]|0)+j>>0]=F;j=f+148+((F&255)<<2)|0;i[j>>1]=(i[j>>1]|0)+1<<16>>16;j=(o[z>>2]|0)==((o[w>>2]|0)+-1|0);o[P>>2]=(o[P>>2]|0)+-1;F=(o[v>>2]|0)+1|0;o[v>>2]=F;if(!j)continue;j=o[B>>2]|0;if((j|0)>-1)ue=(o[R>>2]|0)+j|0;else ue=0;gr(f,ue,F-j|0,0);o[B>>2]=o[v>>2];j=o[f>>2]|0;F=j+28|0;q=o[F>>2]|0;S=o[q+20>>2]|0;U=j+16|0;ce=o[U>>2]|0;de=S>>>0>ce>>>0?ce:S;if((de|0)!=0?(S=j+12|0,$r(o[S>>2]|0,o[q+16>>2]|0,de|0)|0,o[S>>2]=(o[S>>2]|0)+de,S=o[F>>2]|0,F=S+16|0,o[F>>2]=(o[F>>2]|0)+de,q=j+20|0,o[q>>2]=(o[q>>2]|0)+de,o[U>>2]=(o[U>>2]|0)-de,U=S+20|0,q=o[U>>2]|0,o[U>>2]=q-de,(q|0)==(de|0)):0)o[F>>2]=o[S+8>>2];if(!(o[(o[f>>2]|0)+16>>2]|0))break e}if(r){P=o[B>>2]|0;if((P|0)>-1)he=(o[R>>2]|0)+P|0;else he=0;w=(r|0)==4;gr(f,he,(o[v>>2]|0)-P|0,w&1);o[B>>2]=o[v>>2];P=o[f>>2]|0;z=P+28|0;E=o[z>>2]|0;x=o[E+20>>2]|0;C=P+16|0;S=o[C>>2]|0;F=x>>>0>S>>>0?S:x;if((F|0)!=0?(x=P+12|0,$r(o[x>>2]|0,o[E+16>>2]|0,F|0)|0,o[x>>2]=(o[x>>2]|0)+F,x=o[z>>2]|0,z=x+16|0,o[z>>2]=(o[z>>2]|0)+F,E=P+20|0,o[E>>2]=(o[E>>2]|0)+F,o[C>>2]=(o[C>>2]|0)-F,C=x+20|0,E=o[C>>2]|0,o[C>>2]=E-F,(E|0)==(F|0)):0)o[z>>2]=o[x+8>>2];if(!(o[(o[f>>2]|0)+16>>2]|0)){me=w?2:0;_=175;break e}else{me=w?3:1;_=175;break e}}break}case 3:{w=f+116|0;x=(r|0)==0;z=f+96|0;F=f+108|0;E=f+5792|0;C=f+5796|0;P=f+5784|0;S=f+2440+(a[14010]<<2)|0;de=f+5788|0;q=f+56|0;U=f+92|0;while(1){j=o[w>>2]|0;if(j>>>0<258){He(f);ce=o[w>>2]|0;if(x&ce>>>0<258)break e;if(!ce)break;o[z>>2]=0;if(ce>>>0>2){pe=ce;_=143}else{we=o[F>>2]|0;_=158}}else{o[z>>2]=0;pe=j;_=143}if((_|0)==143){_=0;j=o[F>>2]|0;if(j){ce=o[q>>2]|0;ke=t[ce+(j+-1)>>0]|0;if((ke<<24>>24==(t[ce+j>>0]|0)?ke<<24>>24==(t[ce+(j+1)>>0]|0):0)?(be=ce+(j+2)|0,ke<<24>>24==(t[be>>0]|0)):0){ve=ce+(j+258)|0;ce=be;while(1){be=ce+1|0;if(ke<<24>>24!=(t[be>>0]|0)){Ee=be;break}be=ce+2|0;if(ke<<24>>24!=(t[be>>0]|0)){Ee=be;break}be=ce+3|0;if(ke<<24>>24!=(t[be>>0]|0)){Ee=be;break}be=ce+4|0;if(ke<<24>>24!=(t[be>>0]|0)){Ee=be;break}be=ce+5|0;if(ke<<24>>24!=(t[be>>0]|0)){Ee=be;break}be=ce+6|0;if(ke<<24>>24!=(t[be>>0]|0)){Ee=be;break}be=ce+7|0;if(ke<<24>>24!=(t[be>>0]|0)){Ee=be;break}be=ce+8|0;if(be>>>0<ve>>>0?ke<<24>>24==(t[be>>0]|0):0)ce=be;else{Ee=be;break}}ce=Ee-ve+258|0;ke=ce>>>0>pe>>>0?pe:ce;o[z>>2]=ke;if(ke>>>0>2){ce=ke+253|0;ke=o[E>>2]|0;i[(o[C>>2]|0)+(ke<<1)>>1]=1;o[E>>2]=ke+1;t[(o[P>>2]|0)+ke>>0]=ce;ke=f+148+((a[14522+(ce&255)>>0]|256)+1<<2)|0;i[ke>>1]=(i[ke>>1]|0)+1<<16>>16;i[S>>1]=(i[S>>1]|0)+1<<16>>16;ke=(o[E>>2]|0)==((o[de>>2]|0)+-1|0)&1;ce=o[z>>2]|0;o[w>>2]=(o[w>>2]|0)-ce;be=(o[F>>2]|0)+ce|0;o[F>>2]=be;o[z>>2]=0;ge=be;ye=ke}else{we=j;_=158}}else{we=j;_=158}}else{we=0;_=158}}if((_|0)==158){_=0;ke=t[(o[q>>2]|0)+we>>0]|0;be=o[E>>2]|0;i[(o[C>>2]|0)+(be<<1)>>1]=0;o[E>>2]=be+1;t[(o[P>>2]|0)+be>>0]=ke;be=f+148+((ke&255)<<2)|0;i[be>>1]=(i[be>>1]|0)+1<<16>>16;be=(o[E>>2]|0)==((o[de>>2]|0)+-1|0)&1;o[w>>2]=(o[w>>2]|0)+-1;ke=(o[F>>2]|0)+1|0;o[F>>2]=ke;ge=ke;ye=be}if(!ye)continue;be=o[U>>2]|0;if((be|0)>-1)_e=(o[q>>2]|0)+be|0;else _e=0;gr(f,_e,ge-be|0,0);o[U>>2]=o[F>>2];be=o[f>>2]|0;ke=be+28|0;ce=o[ke>>2]|0;Se=o[ce+20>>2]|0;Ae=be+16|0;De=o[Ae>>2]|0;Me=Se>>>0>De>>>0?De:Se;if((Me|0)!=0?(Se=be+12|0,$r(o[Se>>2]|0,o[ce+16>>2]|0,Me|0)|0,o[Se>>2]=(o[Se>>2]|0)+Me,Se=o[ke>>2]|0,ke=Se+16|0,o[ke>>2]=(o[ke>>2]|0)+Me,ce=be+20|0,o[ce>>2]=(o[ce>>2]|0)+Me,o[Ae>>2]=(o[Ae>>2]|0)-Me,Ae=Se+20|0,ce=o[Ae>>2]|0,o[Ae>>2]=ce-Me,(ce|0)==(Me|0)):0)o[ke>>2]=o[Se+8>>2];if(!(o[(o[f>>2]|0)+16>>2]|0))break e}w=o[U>>2]|0;if((w|0)>-1)Ne=(o[q>>2]|0)+w|0;else Ne=0;de=(r|0)==4;gr(f,Ne,(o[F>>2]|0)-w|0,de&1);o[U>>2]=o[F>>2];w=o[f>>2]|0;E=w+28|0;P=o[E>>2]|0;C=o[P+20>>2]|0;z=w+16|0;S=o[z>>2]|0;x=C>>>0>S>>>0?S:C;if((x|0)!=0?(C=w+12|0,$r(o[C>>2]|0,o[P+16>>2]|0,x|0)|0,o[C>>2]=(o[C>>2]|0)+x,C=o[E>>2]|0,E=C+16|0,o[E>>2]=(o[E>>2]|0)+x,P=w+20|0,o[P>>2]=(o[P>>2]|0)+x,o[z>>2]=(o[z>>2]|0)-x,z=C+20|0,P=o[z>>2]|0,o[z>>2]=P-x,(P|0)==(x|0)):0)o[E>>2]=o[C+8>>2];if(!(o[(o[f>>2]|0)+16>>2]|0)){me=de?2:0;_=175;break e}else{me=de?3:1;_=175;break e}break}default:{me=pn[o[8200+((o[f+132>>2]|0)*12|0)+8>>2]&3](f,r)|0;_=175}}}while(0);if((_|0)==175){if((me&-2|0)==2)o[u>>2]=666;if(me&-3){if((me|0)!=1)break;switch(r|0){case 1:{Er(f);break}case 5:break;default:{vr(f,0,0,0);if((r|0)==3?(g=o[f+76>>2]|0,I=o[f+68>>2]|0,i[I+(g+-1<<1)>>1]=0,Jr(I|0,0,(g<<1)+-2|0)|0,(o[f+116>>2]|0)==0):0){o[f+108>>2]=0;o[f+92>>2]=0}}}g=o[s>>2]|0;I=o[g+20>>2]|0;k=o[h>>2]|0;de=I>>>0>k>>>0?k:I;if(de){$r(o[l>>2]|0,o[g+16>>2]|0,de|0)|0;o[l>>2]=(o[l>>2]|0)+de;g=o[s>>2]|0;I=g+16|0;o[I>>2]=(o[I>>2]|0)+de;C=e+20|0;o[C>>2]=(o[C>>2]|0)+de;C=(o[h>>2]|0)-de|0;o[h>>2]=C;E=g+20|0;x=o[E>>2]|0;o[E>>2]=x-de;if((x|0)==(de|0)){o[I>>2]=o[g+8>>2];Le=C}else Le=C}else Le=k;if(Le)break;o[m>>2]=-1;n=0;return n|0}}if(o[h>>2]|0){n=0;return n|0}o[m>>2]=-1;n=0;return n|0}}while(0);if(d){n=0;return n|0}m=f+24|0;u=o[m>>2]|0;if((u|0)<1){n=1;return n|0}p=e+48|0;k=o[p>>2]|0;if((u|0)==2){u=o[c>>2]|0;o[c>>2]=u+1;C=f+8|0;t[(o[C>>2]|0)+u>>0]=k;u=(o[p>>2]|0)>>>8&255;g=o[c>>2]|0;o[c>>2]=g+1;t[(o[C>>2]|0)+g>>0]=u;u=(o[p>>2]|0)>>>16&255;g=o[c>>2]|0;o[c>>2]=g+1;t[(o[C>>2]|0)+g>>0]=u;u=(o[p>>2]|0)>>>24&255;g=o[c>>2]|0;o[c>>2]=g+1;t[(o[C>>2]|0)+g>>0]=u;u=e+8|0;g=o[u>>2]&255;I=o[c>>2]|0;o[c>>2]=I+1;t[(o[C>>2]|0)+I>>0]=g;g=(o[u>>2]|0)>>>8&255;I=o[c>>2]|0;o[c>>2]=I+1;t[(o[C>>2]|0)+I>>0]=g;g=(o[u>>2]|0)>>>16&255;I=o[c>>2]|0;o[c>>2]=I+1;t[(o[C>>2]|0)+I>>0]=g;g=(o[u>>2]|0)>>>24&255;u=o[c>>2]|0;o[c>>2]=u+1;t[(o[C>>2]|0)+u>>0]=g}else{g=o[c>>2]|0;o[c>>2]=g+1;u=f+8|0;t[(o[u>>2]|0)+g>>0]=k>>>24;g=o[c>>2]|0;o[c>>2]=g+1;t[(o[u>>2]|0)+g>>0]=k>>>16;k=o[p>>2]|0;p=o[c>>2]|0;o[c>>2]=p+1;t[(o[u>>2]|0)+p>>0]=k>>>8;p=o[c>>2]|0;o[c>>2]=p+1;t[(o[u>>2]|0)+p>>0]=k}k=o[s>>2]|0;p=o[k+20>>2]|0;u=o[h>>2]|0;g=p>>>0>u>>>0?u:p;if((g|0)!=0?($r(o[l>>2]|0,o[k+16>>2]|0,g|0)|0,o[l>>2]=(o[l>>2]|0)+g,k=o[s>>2]|0,p=k+16|0,o[p>>2]=(o[p>>2]|0)+g,u=e+20|0,o[u>>2]=(o[u>>2]|0)+g,o[h>>2]=(o[h>>2]|0)-g,u=k+20|0,C=o[u>>2]|0,o[u>>2]=C-g,(C|0)==(g|0)):0)o[p>>2]=o[k+8>>2];k=o[m>>2]|0;if((k|0)>0)o[m>>2]=0-k;n=(o[c>>2]|0)==0&1;return n|0}}}while(0);o[e+24>>2]=o[2236];n=-2;return n|0}function He(e){e=e|0;var r=0,n=0,t=0,f=0,l=0,u=0,c=0,d=0,h=0,m=0,p=0,w=0,k=0,b=0,v=0,E=0,g=0,y=0,_=0,S=0,A=0,D=0,M=0,N=0,L=0,O=0,T=0,F=0,R=0,P=0,I=0,C=0;r=e+44|0;n=o[r>>2]|0;t=e+60|0;f=e+116|0;l=e+108|0;u=n+-262|0;c=e+56|0;d=e+72|0;h=e+88|0;m=e+84|0;p=e+112|0;w=e+92|0;k=e+76|0;b=e+68|0;v=e+64|0;E=o[f>>2]|0;g=n;while(1){y=o[l>>2]|0;_=(o[t>>2]|0)-E-y|0;if(y>>>0<(u+g|0)>>>0){S=y;A=_}else{y=o[c>>2]|0;$r(y|0,y+n|0,n|0)|0;o[p>>2]=(o[p>>2]|0)-n;y=(o[l>>2]|0)-n|0;o[l>>2]=y;o[w>>2]=(o[w>>2]|0)-n;D=o[k>>2]|0;M=D;N=(o[b>>2]|0)+(D<<1)|0;do{N=N+-2|0;D=s[N>>1]|0;i[N>>1]=D>>>0<n>>>0?0:D-n&65535;M=M+-1|0}while((M|0)!=0);M=n;N=(o[v>>2]|0)+(n<<1)|0;do{N=N+-2|0;D=s[N>>1]|0;i[N>>1]=D>>>0<n>>>0?0:D-n&65535;M=M+-1|0}while((M|0)!=0);S=y;A=_+n|0}M=o[e>>2]|0;N=M+4|0;D=o[N>>2]|0;if(!D){L=24;break}O=o[f>>2]|0;T=(o[c>>2]|0)+(O+S)|0;F=D>>>0>A>>>0?A:D;if(!F){R=0;P=O}else{o[N>>2]=D-F;switch(o[(o[M+28>>2]|0)+24>>2]|0){case 1:{D=M+48|0;o[D>>2]=Ue(o[D>>2]|0,o[M>>2]|0,F)|0;I=M;break}case 2:{D=M+48|0;o[D>>2]=je(o[D>>2]|0,o[M>>2]|0,F)|0;I=M;break}default:I=M}$r(T|0,o[I>>2]|0,F|0)|0;o[I>>2]=(o[I>>2]|0)+F;T=M+8|0;o[T>>2]=(o[T>>2]|0)+F;R=F;P=o[f>>2]|0}F=P+R|0;o[f>>2]=F;if(F>>>0>2?(T=o[l>>2]|0,M=o[c>>2]|0,D=a[M+T>>0]|0,o[d>>2]=D,o[d>>2]=((a[M+(T+1)>>0]|0)^D<<o[h>>2])&o[m>>2],F>>>0>=262):0){C=F;break}if(!(o[(o[e>>2]|0)+4>>2]|0)){C=F;break}E=F;g=o[r>>2]|0}if((L|0)==24)return;L=e+5824|0;e=o[L>>2]|0;r=o[t>>2]|0;if(r>>>0<=e>>>0)return;t=C+(o[l>>2]|0)|0;if(e>>>0<t>>>0){l=r-t|0;C=l>>>0>258?258:l;Jr((o[c>>2]|0)+t|0,0,C|0)|0;o[L>>2]=C+t;return}C=t+258|0;if(C>>>0<=e>>>0)return;t=C-e|0;C=r-e|0;r=t>>>0>C>>>0?C:t;Jr((o[c>>2]|0)+e|0,0,r|0)|0;o[L>>2]=(o[L>>2]|0)+r;return}function We(e,r){e=e|0;r=r|0;var n=0,t=0,i=0,a=0,s=0,f=0,l=0,u=0,c=0,d=0,h=0,m=0,p=0,w=0,k=0,b=0,v=0,E=0,g=0,y=0,_=0;n=(o[e+12>>2]|0)+-5|0;t=n>>>0<65535?n:65535;n=e+116|0;i=e+108|0;a=e+92|0;s=e+44|0;f=e+56|0;while(1){l=o[n>>2]|0;if(l>>>0<2){He(e);u=o[n>>2]|0;if(!(u|r)){c=0;d=28;break}if(!u){d=20;break}else h=u}else h=l;l=(o[i>>2]|0)+h|0;o[i>>2]=l;o[n>>2]=0;u=o[a>>2]|0;m=u+t|0;if((l|0)!=0&l>>>0<m>>>0){p=l;w=u}else{o[n>>2]=l-m;o[i>>2]=m;if((u|0)>-1)k=(o[f>>2]|0)+u|0;else k=0;gr(e,k,t,0);o[a>>2]=o[i>>2];u=o[e>>2]|0;m=u+28|0;l=o[m>>2]|0;b=o[l+20>>2]|0;v=u+16|0;E=o[v>>2]|0;g=b>>>0>E>>>0?E:b;if((g|0)!=0?(b=u+12|0,$r(o[b>>2]|0,o[l+16>>2]|0,g|0)|0,o[b>>2]=(o[b>>2]|0)+g,b=o[m>>2]|0,m=b+16|0,o[m>>2]=(o[m>>2]|0)+g,l=u+20|0,o[l>>2]=(o[l>>2]|0)+g,o[v>>2]=(o[v>>2]|0)-g,v=b+20|0,l=o[v>>2]|0,o[v>>2]=l-g,(l|0)==(g|0)):0)o[m>>2]=o[b+8>>2];if(!(o[(o[e>>2]|0)+16>>2]|0)){c=0;d=28;break}p=o[i>>2]|0;w=o[a>>2]|0}b=p-w|0;if(b>>>0<((o[s>>2]|0)+-262|0)>>>0)continue;if((w|0)>-1)y=(o[f>>2]|0)+w|0;else y=0;gr(e,y,b,0);o[a>>2]=o[i>>2];b=o[e>>2]|0;m=b+28|0;g=o[m>>2]|0;l=o[g+20>>2]|0;v=b+16|0;u=o[v>>2]|0;E=l>>>0>u>>>0?u:l;if((E|0)!=0?(l=b+12|0,$r(o[l>>2]|0,o[g+16>>2]|0,E|0)|0,o[l>>2]=(o[l>>2]|0)+E,l=o[m>>2]|0,m=l+16|0,o[m>>2]=(o[m>>2]|0)+E,g=b+20|0,o[g>>2]=(o[g>>2]|0)+E,o[v>>2]=(o[v>>2]|0)-E,v=l+20|0,g=o[v>>2]|0,o[v>>2]=g-E,(g|0)==(E|0)):0)o[m>>2]=o[l+8>>2];if(!(o[(o[e>>2]|0)+16>>2]|0)){c=0;d=28;break}}if((d|0)==20){y=o[a>>2]|0;if((y|0)>-1)_=(o[f>>2]|0)+y|0;else _=0;f=(r|0)==4;gr(e,_,(o[i>>2]|0)-y|0,f&1);o[a>>2]=o[i>>2];i=o[e>>2]|0;a=i+28|0;y=o[a>>2]|0;_=o[y+20>>2]|0;r=i+16|0;w=o[r>>2]|0;s=_>>>0>w>>>0?w:_;if((s|0)!=0?(_=i+12|0,$r(o[_>>2]|0,o[y+16>>2]|0,s|0)|0,o[_>>2]=(o[_>>2]|0)+s,_=o[a>>2]|0,a=_+16|0,o[a>>2]=(o[a>>2]|0)+s,y=i+20|0,o[y>>2]=(o[y>>2]|0)+s,o[r>>2]=(o[r>>2]|0)-s,r=_+20|0,y=o[r>>2]|0,o[r>>2]=y-s,(y|0)==(s|0)):0)o[a>>2]=o[_+8>>2];if(!(o[(o[e>>2]|0)+16>>2]|0)){c=f?2:0;return c|0}else{c=f?3:1;return c|0}}else if((d|0)==28)return c|0;return 0}function Ge(e,r){e=e|0;r=r|0;var n=0,s=0,f=0,l=0,u=0,c=0,d=0,h=0,m=0,p=0,w=0,k=0,b=0,v=0,E=0,g=0,y=0,_=0,S=0,A=0,D=0,M=0,N=0,L=0,O=0,T=0,F=0,R=0,P=0,I=0,C=0,x=0,B=0,z=0,U=0,j=0,q=0,Y=0,V=0;n=e+116|0;s=(r|0)==0;f=e+72|0;l=e+88|0;u=e+108|0;c=e+56|0;d=e+84|0;h=e+68|0;m=e+52|0;p=e+64|0;w=e+44|0;k=e+96|0;b=e+112|0;v=e+5792|0;E=e+5796|0;g=e+5784|0;y=e+5788|0;_=e+128|0;S=e+92|0;while(1){if((o[n>>2]|0)>>>0<262){He(e);A=o[n>>2]|0;if(s&A>>>0<262){D=0;M=32;break}if(!A){M=24;break}if(A>>>0<=2)M=9;else M=6}else M=6;if((M|0)==6){M=0;A=o[u>>2]|0;N=((a[(o[c>>2]|0)+(A+2)>>0]|0)^o[f>>2]<<o[l>>2])&o[d>>2];o[f>>2]=N;L=(o[h>>2]|0)+(N<<1)|0;N=i[L>>1]|0;i[(o[p>>2]|0)+((o[m>>2]&A)<<1)>>1]=N;O=N&65535;i[L>>1]=A;if(N<<16>>16!=0?(A-O|0)>>>0<=((o[w>>2]|0)+-262|0)>>>0:0){A=Ze(e,O)|0;o[k>>2]=A;T=A}else M=9}if((M|0)==9){M=0;T=o[k>>2]|0}do{if(T>>>0>2){A=T+253|0;O=(o[u>>2]|0)-(o[b>>2]|0)|0;N=o[v>>2]|0;i[(o[E>>2]|0)+(N<<1)>>1]=O;o[v>>2]=N+1;t[(o[g>>2]|0)+N>>0]=A;N=e+148+((a[14522+(A&255)>>0]|0|256)+1<<2)|0;i[N>>1]=(i[N>>1]|0)+1<<16>>16;N=O+65535&65535;O=e+2440+((a[14010+(N>>>0<256?N:(N>>>7)+256|0)>>0]|0)<<2)|0;i[O>>1]=(i[O>>1]|0)+1<<16>>16;O=(o[v>>2]|0)==((o[y>>2]|0)+-1|0)&1;N=o[k>>2]|0;A=(o[n>>2]|0)-N|0;o[n>>2]=A;if(!(A>>>0>2?N>>>0<=(o[_>>2]|0)>>>0:0)){A=(o[u>>2]|0)+N|0;o[u>>2]=A;o[k>>2]=0;L=o[c>>2]|0;F=a[L+A>>0]|0;o[f>>2]=F;o[f>>2]=((a[L+(A+1)>>0]|0)^F<<o[l>>2])&o[d>>2];R=A;P=O;break}A=N+-1|0;o[k>>2]=A;N=o[l>>2]|0;F=o[c>>2]|0;L=o[d>>2]|0;I=o[h>>2]|0;C=o[m>>2]|0;x=o[p>>2]|0;B=A;A=o[u>>2]|0;z=o[f>>2]|0;while(1){U=A+1|0;o[u>>2]=U;z=((a[F+(A+3)>>0]|0)^z<<N)&L;o[f>>2]=z;j=I+(z<<1)|0;i[x+((C&U)<<1)>>1]=i[j>>1]|0;i[j>>1]=U;B=B+-1|0;o[k>>2]=B;if(!B){q=A;break}else A=U}A=q+2|0;o[u>>2]=A;R=A;P=O}else{A=t[(o[c>>2]|0)+(o[u>>2]|0)>>0]|0;B=o[v>>2]|0;i[(o[E>>2]|0)+(B<<1)>>1]=0;o[v>>2]=B+1;t[(o[g>>2]|0)+B>>0]=A;B=e+148+((A&255)<<2)|0;i[B>>1]=(i[B>>1]|0)+1<<16>>16;B=(o[v>>2]|0)==((o[y>>2]|0)+-1|0)&1;o[n>>2]=(o[n>>2]|0)+-1;A=(o[u>>2]|0)+1|0;o[u>>2]=A;R=A;P=B}}while(0);if(!P)continue;B=o[S>>2]|0;if((B|0)>-1)Y=(o[c>>2]|0)+B|0;else Y=0;gr(e,Y,R-B|0,0);o[S>>2]=o[u>>2];B=o[e>>2]|0;A=B+28|0;C=o[A>>2]|0;x=o[C+20>>2]|0;z=B+16|0;I=o[z>>2]|0;L=x>>>0>I>>>0?I:x;if((L|0)!=0?(x=B+12|0,$r(o[x>>2]|0,o[C+16>>2]|0,L|0)|0,o[x>>2]=(o[x>>2]|0)+L,x=o[A>>2]|0,A=x+16|0,o[A>>2]=(o[A>>2]|0)+L,C=B+20|0,o[C>>2]=(o[C>>2]|0)+L,o[z>>2]=(o[z>>2]|0)-L,z=x+20|0,C=o[z>>2]|0,o[z>>2]=C-L,(C|0)==(L|0)):0)o[A>>2]=o[x+8>>2];if(!(o[(o[e>>2]|0)+16>>2]|0)){D=0;M=32;break}}if((M|0)==24){R=o[S>>2]|0;if((R|0)>-1)V=(o[c>>2]|0)+R|0;else V=0;c=(r|0)==4;gr(e,V,(o[u>>2]|0)-R|0,c&1);o[S>>2]=o[u>>2];u=o[e>>2]|0;S=u+28|0;R=o[S>>2]|0;V=o[R+20>>2]|0;r=u+16|0;Y=o[r>>2]|0;P=V>>>0>Y>>>0?Y:V;if((P|0)!=0?(V=u+12|0,$r(o[V>>2]|0,o[R+16>>2]|0,P|0)|0,o[V>>2]=(o[V>>2]|0)+P,V=o[S>>2]|0,S=V+16|0,o[S>>2]=(o[S>>2]|0)+P,R=u+20|0,o[R>>2]=(o[R>>2]|0)+P,o[r>>2]=(o[r>>2]|0)-P,r=V+20|0,R=o[r>>2]|0,o[r>>2]=R-P,(R|0)==(P|0)):0)o[S>>2]=o[V+8>>2];if(!(o[(o[e>>2]|0)+16>>2]|0)){D=c?2:0;return D|0}else{D=c?3:1;return D|0}}else if((M|0)==32)return D|0;return 0}function Ke(e,r){e=e|0;r=r|0;var n=0,s=0,f=0,l=0,u=0,c=0,d=0,h=0,m=0,p=0,w=0,k=0,b=0,v=0,E=0,g=0,y=0,_=0,S=0,A=0,D=0,M=0,N=0,L=0,O=0,T=0,F=0,R=0,P=0,I=0,C=0,x=0,B=0,z=0,U=0,j=0,q=0,Y=0,V=0,X=0,H=0,W=0;n=e+116|0;s=(r|0)==0;f=e+72|0;l=e+88|0;u=e+108|0;c=e+56|0;d=e+84|0;h=e+68|0;m=e+52|0;p=e+64|0;w=e+96|0;k=e+120|0;b=e+112|0;v=e+100|0;E=e+5792|0;g=e+5796|0;y=e+5784|0;_=e+5788|0;S=e+104|0;A=e+92|0;D=e+128|0;M=e+44|0;N=e+136|0;e:while(1){L=o[n>>2]|0;while(1){if(L>>>0<262){He(e);O=o[n>>2]|0;if(s&O>>>0<262){T=0;F=48;break e}if(!O){F=38;break e}if(O>>>0<=2){o[k>>2]=o[w>>2];o[v>>2]=o[b>>2];o[w>>2]=2;R=2;F=16}else F=8}else F=8;do{if((F|0)==8){F=0;O=o[u>>2]|0;P=((a[(o[c>>2]|0)+(O+2)>>0]|0)^o[f>>2]<<o[l>>2])&o[d>>2];o[f>>2]=P;I=(o[h>>2]|0)+(P<<1)|0;P=i[I>>1]|0;i[(o[p>>2]|0)+((o[m>>2]&O)<<1)>>1]=P;C=P&65535;i[I>>1]=O;O=o[w>>2]|0;o[k>>2]=O;o[v>>2]=o[b>>2];o[w>>2]=2;if(P<<16>>16)if(O>>>0<(o[D>>2]|0)>>>0)if(((o[u>>2]|0)-C|0)>>>0<=((o[M>>2]|0)+-262|0)>>>0){P=Ze(e,C)|0;o[w>>2]=P;if(P>>>0<6){if((o[N>>2]|0)!=1){if((P|0)!=3){R=P;F=16;break}if(((o[u>>2]|0)-(o[b>>2]|0)|0)>>>0<=4096){R=3;F=16;break}}o[w>>2]=2;R=2;F=16}else{R=P;F=16}}else{R=2;F=16}else{x=O;B=2}else{R=2;F=16}}}while(0);if((F|0)==16){F=0;x=o[k>>2]|0;B=R}if(!(x>>>0<3|B>>>0>x>>>0)){z=x;break}if(!(o[S>>2]|0)){o[S>>2]=1;o[u>>2]=(o[u>>2]|0)+1;O=(o[n>>2]|0)+-1|0;o[n>>2]=O;L=O;continue}O=t[(o[c>>2]|0)+((o[u>>2]|0)+-1)>>0]|0;P=o[E>>2]|0;i[(o[g>>2]|0)+(P<<1)>>1]=0;o[E>>2]=P+1;t[(o[y>>2]|0)+P>>0]=O;P=e+148+((O&255)<<2)|0;i[P>>1]=(i[P>>1]|0)+1<<16>>16;if((o[E>>2]|0)==((o[_>>2]|0)+-1|0)){P=o[A>>2]|0;if((P|0)>-1)U=(o[c>>2]|0)+P|0;else U=0;gr(e,U,(o[u>>2]|0)-P|0,0);o[A>>2]=o[u>>2];P=o[e>>2]|0;O=P+28|0;C=o[O>>2]|0;I=o[C+20>>2]|0;j=P+16|0;q=o[j>>2]|0;Y=I>>>0>q>>>0?q:I;if((Y|0)!=0?(I=P+12|0,$r(o[I>>2]|0,o[C+16>>2]|0,Y|0)|0,o[I>>2]=(o[I>>2]|0)+Y,I=o[O>>2]|0,O=I+16|0,o[O>>2]=(o[O>>2]|0)+Y,C=P+20|0,o[C>>2]=(o[C>>2]|0)+Y,o[j>>2]=(o[j>>2]|0)-Y,j=I+20|0,C=o[j>>2]|0,o[j>>2]=C-Y,(C|0)==(Y|0)):0)o[O>>2]=o[I+8>>2]}o[u>>2]=(o[u>>2]|0)+1;L=(o[n>>2]|0)+-1|0;o[n>>2]=L;if(!(o[(o[e>>2]|0)+16>>2]|0)){T=0;F=48;break e}}L=o[u>>2]|0;I=L+-3+(o[n>>2]|0)|0;O=z+253|0;Y=L+65535-(o[v>>2]|0)|0;L=o[E>>2]|0;i[(o[g>>2]|0)+(L<<1)>>1]=Y;o[E>>2]=L+1;t[(o[y>>2]|0)+L>>0]=O;L=e+148+((a[14522+(O&255)>>0]|0|256)+1<<2)|0;i[L>>1]=(i[L>>1]|0)+1<<16>>16;L=Y+65535&65535;Y=e+2440+((a[14010+(L>>>0<256?L:(L>>>7)+256|0)>>0]|0)<<2)|0;i[Y>>1]=(i[Y>>1]|0)+1<<16>>16;Y=o[E>>2]|0;L=(o[_>>2]|0)+-1|0;O=o[k>>2]|0;o[n>>2]=1-O+(o[n>>2]|0);C=O+-2|0;o[k>>2]=C;O=o[u>>2]|0;j=C;while(1){C=O+1|0;o[u>>2]=C;if(C>>>0<=I>>>0){P=((a[(o[c>>2]|0)+(O+3)>>0]|0)^o[f>>2]<<o[l>>2])&o[d>>2];o[f>>2]=P;q=(o[h>>2]|0)+(P<<1)|0;i[(o[p>>2]|0)+((o[m>>2]&C)<<1)>>1]=i[q>>1]|0;i[q>>1]=C}j=j+-1|0;o[k>>2]=j;if(!j){V=O;break}else O=C}o[S>>2]=0;o[w>>2]=2;O=V+2|0;o[u>>2]=O;if((Y|0)!=(L|0))continue;j=o[A>>2]|0;if((j|0)>-1)X=(o[c>>2]|0)+j|0;else X=0;gr(e,X,O-j|0,0);o[A>>2]=o[u>>2];j=o[e>>2]|0;O=j+28|0;I=o[O>>2]|0;C=o[I+20>>2]|0;q=j+16|0;P=o[q>>2]|0;H=C>>>0>P>>>0?P:C;if((H|0)!=0?(C=j+12|0,$r(o[C>>2]|0,o[I+16>>2]|0,H|0)|0,o[C>>2]=(o[C>>2]|0)+H,C=o[O>>2]|0,O=C+16|0,o[O>>2]=(o[O>>2]|0)+H,I=j+20|0,o[I>>2]=(o[I>>2]|0)+H,o[q>>2]=(o[q>>2]|0)-H,q=C+20|0,I=o[q>>2]|0,o[q>>2]=I-H,(I|0)==(H|0)):0)o[O>>2]=o[C+8>>2];if(!(o[(o[e>>2]|0)+16>>2]|0)){T=0;F=48;break}}if((F|0)==38){if(o[S>>2]|0){X=t[(o[c>>2]|0)+((o[u>>2]|0)+-1)>>0]|0;V=o[E>>2]|0;i[(o[g>>2]|0)+(V<<1)>>1]=0;o[E>>2]=V+1;t[(o[y>>2]|0)+V>>0]=X;V=e+148+((X&255)<<2)|0;i[V>>1]=(i[V>>1]|0)+1<<16>>16;o[S>>2]=0}S=o[A>>2]|0;if((S|0)>-1)W=(o[c>>2]|0)+S|0;else W=0;c=(r|0)==4;gr(e,W,(o[u>>2]|0)-S|0,c&1);o[A>>2]=o[u>>2];u=o[e>>2]|0;A=u+28|0;S=o[A>>2]|0;W=o[S+20>>2]|0;r=u+16|0;V=o[r>>2]|0;X=W>>>0>V>>>0?V:W;if((X|0)!=0?(W=u+12|0,$r(o[W>>2]|0,o[S+16>>2]|0,X|0)|0,o[W>>2]=(o[W>>2]|0)+X,W=o[A>>2]|0,A=W+16|0,o[A>>2]=(o[A>>2]|0)+X,S=u+20|0,o[S>>2]=(o[S>>2]|0)+X,o[r>>2]=(o[r>>2]|0)-X,r=W+20|0,S=o[r>>2]|0,o[r>>2]=S-X,(S|0)==(X|0)):0)o[A>>2]=o[W+8>>2];if(!(o[(o[e>>2]|0)+16>>2]|0)){T=c?2:0;return T|0}else{T=c?3:1;return T|0}}else if((F|0)==48)return T|0;return 0}function Ze(e,r){e=e|0;r=r|0;var n=0,i=0,a=0,f=0,l=0,u=0,c=0,d=0,h=0,m=0,p=0,w=0,k=0,b=0,v=0,E=0,g=0,y=0,_=0,S=0,A=0,D=0,M=0,N=0,L=0,O=0;n=o[e+124>>2]|0;i=o[e+56>>2]|0;a=o[e+108>>2]|0;f=i+a|0;l=o[e+120>>2]|0;u=o[e+144>>2]|0;c=(o[e+44>>2]|0)+-262|0;d=a>>>0>c>>>0?a-c|0:0;c=o[e+64>>2]|0;h=o[e+52>>2]|0;m=i+(a+258)|0;p=o[e+116>>2]|0;w=u>>>0>p>>>0?p:u;u=e+112|0;k=i+(a+1)|0;b=i+(a+2)|0;v=m;E=a+257|0;g=r;r=l;y=l>>>0<(o[e+140>>2]|0)>>>0?n:n>>>2;n=t[i+(l+a)>>0]|0;e=t[i+(a+-1+l)>>0]|0;while(1){l=i+g|0;if((((t[i+(g+r)>>0]|0)==n<<24>>24?(t[i+(r+-1+g)>>0]|0)==e<<24>>24:0)?(t[l>>0]|0)==(t[f>>0]|0):0)?(t[i+(g+1)>>0]|0)==(t[k>>0]|0):0){l=i+(g+2)|0;_=b;while(1){S=_+1|0;if((t[S>>0]|0)!=(t[l+1>>0]|0)){A=S;break}S=_+2|0;if((t[S>>0]|0)!=(t[l+2>>0]|0)){A=S;break}S=_+3|0;if((t[S>>0]|0)!=(t[l+3>>0]|0)){A=S;break}S=_+4|0;if((t[S>>0]|0)!=(t[l+4>>0]|0)){A=S;break}S=_+5|0;if((t[S>>0]|0)!=(t[l+5>>0]|0)){A=S;break}S=_+6|0;if((t[S>>0]|0)!=(t[l+6>>0]|0)){A=S;break}S=_+7|0;if((t[S>>0]|0)!=(t[l+7>>0]|0)){A=S;break}S=_+8|0;l=l+8|0;if(!(S>>>0<m>>>0?(t[S>>0]|0)==(t[l>>0]|0):0)){A=S;break}else _=S}_=A-v|0;l=_+258|0;if((l|0)>(r|0)){o[u>>2]=g;if((l|0)>=(w|0)){D=l;M=20;break}N=l;L=t[i+(l+a)>>0]|0;O=t[i+(E+_)>>0]|0}else{N=r;L=n;O=e}}else{N=r;L=n;O=e}g=s[c+((g&h)<<1)>>1]|0;if(g>>>0<=d>>>0){D=N;M=20;break}y=y+-1|0;if(!y){D=N;M=20;break}else{r=N;n=L;e=O}}if((M|0)==20)return(D>>>0>p>>>0?p:D)|0;return 0}function Qe(e){e=e|0;var r=0;do{if(e)if((o[e>>2]|0)==7247){r=nr(e)|0;break}else{r=sr(e)|0;break}else r=-2}while(0);return r|0}function Je(e,r){e=e|0;r=r|0;return er(e,-1,r)|0}function $e(e,r,n){e=e|0;r=r|0;n=n|0;var i=0,a=0,s=0;i=e+80|0;a=o[i>>2]|0;s=e+76|0;if(a){if((o[s>>2]|0)!=-4)Zr(a);o[i>>2]=0}o[s>>2]=r;if(!n)return;if((r|0)==-4){o[i>>2]=n;return}r=o[e+8>>2]|0;e=qr(r)|0;a=Kr(e+3+(qr(n)|0)|0)|0;o[i>>2]=a;if(!a){o[s>>2]=-4;o[i>>2]=13529;return}else{jr(a,r)|0;r=o[i>>2]|0;a=r+(qr(r)|0)|0;t[a>>0]=t[13366]|0;t[a+1>>0]=t[13367]|0;t[a+2>>0]=t[13368]|0;Ur(o[i>>2]|0,n)|0;return}}function er(e,r,n){e=e|0;r=r|0;n=n|0;var i=0,a=0,s=0,f=0,l=0,u=0,d=0,h=0,m=0,p=0,w=0,k=0,b=0,v=0;i=c;c=c+16|0;a=i;s=Kr(140)|0;if(!s){f=0;c=i;return f|0}o[s+16>>2]=0;o[s+20>>2]=8192;l=s+80|0;o[l>>2]=0;o[s>>2]=0;u=s+60|0;o[u>>2]=-1;d=s+64|0;o[d>>2]=0;h=t[n>>0]|0;if(h<<24>>24){m=n;n=h;h=0;e:while(1){p=n<<24>>24;r:do{if((n+-48&255)<10){o[u>>2]=p+-48;w=h}else switch(p|0){case 43:{k=9;break e;break}case 114:{o[s>>2]=7247;w=7247;break r;break}case 119:{o[s>>2]=31153;w=31153;break r;break}case 97:{o[s>>2]=1;w=1;break r;break}case 70:{o[d>>2]=4;w=h;break r;break}case 102:{o[d>>2]=1;w=h;break r;break}case 104:{o[d>>2]=2;w=h;break r;break}case 82:{o[d>>2]=3;w=h;break r;break}default:{w=h;break r}}}while(0);m=m+1|0;n=t[m>>0]|0;if(!(n<<24>>24)){b=w;break}else h=w}if((k|0)==9){Zr(s);f=0;c=i;return f|0}if(b){b=Kr((qr(e)|0)+1|0)|0;k=s+8|0;o[k>>2]=b;if(!b){Zr(s);f=0;c=i;return f|0}jr(b,e)|0;if((r|0)==-1){b=o[s>>2]|0;o[a>>2]=438;w=Or(e,(b|0)==7247?32768:(b|0)==31153?33345:33857,a)|0;o[s+4>>2]=w;if((w|0)==-1){Zr(o[k>>2]|0);Zr(s);f=0;c=i;return f|0}else v=w}else{o[s+4>>2]=r;v=r}r=o[s>>2]|0;e:do{if((r|0)>=7247){switch(r|0){case 7247:break;default:break e}w=Vr(v,0,1)|0;o[s+44>>2]=(w|0)==-1?0:w;if((o[s>>2]|0)==7247){o[s+36>>2]=0;o[s+40>>2]=0;o[s+52>>2]=0;o[s+56>>2]=1}}else{switch(r|0){case 1:break;default:break e}o[s>>2]=31153}}while(0);o[s+72>>2]=0;r=o[l>>2]|0;v=s+76|0;if(r){if((o[v>>2]|0)!=-4)Zr(r);o[l>>2]=0}o[v>>2]=0;o[s+12>>2]=0;o[s+88>>2]=0;f=s;c=i;return f|0}}Zr(s);f=0;c=i;return f|0}function rr(e,r,n){e=e|0;r=r|0;n=n|0;var t=0,i=0,a=0,s=0,f=0,l=0,u=0,c=0,d=0,h=0,m=0,p=0,w=0,k=0,b=0,v=0,E=0,g=0,y=0,_=0,S=0,A=0,D=0,M=0,N=0,L=0,O=0,T=0,F=0,R=0,P=0,I=0,C=0,x=0,B=0,z=0,U=0;if(!e){t=-1;return t|0}if((o[e>>2]|0)!=7247){t=-1;return t|0}if(o[e+76>>2]|0){t=-1;return t|0}if((n|0)<0){$e(e,-5,13453);t=-1;return t|0}if(!n){t=0;return t|0}i=e+72|0;e:do{if(o[i>>2]|0){o[i>>2]=0;a=o[e+68>>2]|0;s=e+88|0;f=e+36|0;l=e+40|0;u=e+32|0;c=e+12|0;if(a){d=e+52|0;h=e+28|0;m=e+16|0;p=e+4|0;w=e+100|0;k=e+96|0;b=a;r:while(1){n:while(1){a=o[f>>2]|0;while(1){if(a){v=a;break n}if((o[l>>2]|0)!=0?(o[s>>2]|0)==0:0){E=f;g=l;y=u;_=s;S=c;A=u;break e}D=o[d>>2]|0;if(D){M=D;break}if((tr(e)|0)==-1){t=-1;N=59;break r}a=o[f>>2]|0;if(!a){N=21;break}}if((N|0)==21){N=0;M=o[d>>2]|0}switch(M|0){case 1:break;case 2:{o[w>>2]=o[m>>2]<<1;o[k>>2]=o[h>>2];if((ir(e)|0)==-1){t=-1;N=59;break r}else continue n;break}default:continue n}a=o[h>>2]|0;D=o[m>>2]<<1;o[f>>2]=0;L=0;do{O=Xr(o[p>>2]|0,a+L|0,D-L|0)|0;if((O|0)<1){T=O;N=26;break}L=(o[f>>2]|0)+O|0;o[f>>2]=L}while(L>>>0<D>>>0);if((N|0)==26){N=0;if((T|0)<0){N=28;break r}o[l>>2]=1}o[u>>2]=o[h>>2]}D=(v|0)<0|(v|0)>(b|0)?b:v;o[f>>2]=v-D;o[u>>2]=(o[u>>2]|0)+D;o[c>>2]=(o[c>>2]|0)+D;if((b|0)==(D|0)){E=f;g=l;y=u;_=s;S=c;A=u;break e}else b=b-D|0}if((N|0)==28){$e(e,-1,Lr(o[(Nr()|0)>>2]|0)|0);t=-1;return t|0}else if((N|0)==59)return t|0}else{E=f;g=l;y=u;_=s;S=c;A=u}}else{b=e+32|0;E=e+36|0;g=e+40|0;y=b;_=e+88|0;S=e+12|0;A=b}}while(0);v=e+52|0;T=e+28|0;M=e+16|0;i=e+4|0;b=e+100|0;h=e+96|0;p=r;r=n;n=0;e:while(1){m=o[E>>2]|0;r:do{if(!m){if((o[g>>2]|0)!=0?(o[_>>2]|0)==0:0){t=n;N=59;break e}k=o[v>>2]|0;if(k)if(r>>>0<o[M>>2]<<1>>>0)F=k;else{if((k|0)==1)R=0;else{o[b>>2]=r;o[h>>2]=p;if((ir(e)|0)==-1){t=-1;N=59;break e}k=o[E>>2]|0;o[E>>2]=0;P=k;N=57;break}while(1){k=Xr(o[i>>2]|0,p+R|0,r-R|0)|0;if((k|0)<1){I=R;C=k;break}w=k+R|0;if(w>>>0<r>>>0)R=w;else{P=w;N=57;break r}}if((C|0)<0){N=54;break e}o[g>>2]=1;P=I;N=57;break}else{if((tr(e)|0)==-1){t=-1;N=59;break e}if(o[E>>2]|0){x=p;B=r;z=n;break}F=o[v>>2]|0}switch(F|0){case 1:break;case 2:{o[b>>2]=o[M>>2]<<1;o[h>>2]=o[T>>2];if((ir(e)|0)==-1){t=-1;N=59;break e}else{x=p;B=r;z=n;break r}break}default:{x=p;B=r;z=n;break r}}w=o[T>>2]|0;k=o[M>>2]<<1;o[E>>2]=0;d=0;do{D=Xr(o[i>>2]|0,w+d|0,k-d|0)|0;if((D|0)<1){U=D;N=44;break}d=(o[E>>2]|0)+D|0;o[E>>2]=d}while(d>>>0<k>>>0);if((N|0)==44){N=0;if((U|0)<0){N=46;break e}o[g>>2]=1}o[y>>2]=o[T>>2];x=p;B=r;z=n}else{k=m>>>0>r>>>0?r:m;$r(p|0,o[A>>2]|0,k|0)|0;o[A>>2]=(o[A>>2]|0)+k;o[E>>2]=(o[E>>2]|0)-k;P=k;N=57}}while(0);if((N|0)==57){N=0;o[S>>2]=(o[S>>2]|0)+P;x=p+P|0;B=r-P|0;z=P+n|0}if(!B){t=z;N=59;break}else{p=x;r=B;n=z}}if((N|0)==46){$e(e,-1,Lr(o[(Nr()|0)>>2]|0)|0);t=-1;return t|0}else if((N|0)==54){$e(e,-1,Lr(o[(Nr()|0)>>2]|0)|0);t=-1;return t|0}else if((N|0)==59)return t|0;return 0}function nr(e){e=e|0;var r=0,n=0;if(!e){r=-2;return r|0}if((o[e>>2]|0)!=7247){r=-2;return r|0}if(o[e+16>>2]|0){pr(e+84|0)|0;Zr(o[e+28>>2]|0);Zr(o[e+24>>2]|0)}$e(e,0,0);Zr(o[e+8>>2]|0);n=Yr(o[e+4>>2]|0)|0;Zr(e);r=((n|0)!=0)<<31>>31;return r|0}function tr(e){e=e|0;var r=0,n=0,i=0,s=0,f=0,l=0,u=0,c=0,d=0,h=0,m=0,p=0,w=0,k=0,b=0,v=0,E=0,g=0,y=0,_=0,S=0,A=0,D=0,M=0,N=0,L=0,O=0,T=0,F=0,R=0,P=0,I=0,C=0,x=0,B=0,z=0,U=0,j=0,q=0,Y=0,V=0,X=0,H=0,W=0,G=0,K=0,Z=0,Q=0,J=0,$=0,ee=0,re=0,ne=0,te=0,ie=0,oe=0,ae=0,se=0,fe=0,le=0,ue=0,ce=0,de=0,he=0,me=0,pe=0,we=0,ke=0,be=0,ve=0,Ee=0,ge=0,ye=0,_e=0,Se=0,Ae=0,De=0,Me=0,Ne=0,Le=0,Oe=0,Te=0,Fe=0,Re=0,Pe=0,Ie=0,Ce=0,xe=0,Be=0,ze=0,Ue=0;r=e+84|0;n=e+16|0;do{if(!(o[n>>2]|0)){i=o[e+20>>2]|0;s=Kr(i)|0;f=e+24|0;o[f>>2]=s;l=Kr(i<<1)|0;u=e+28|0;o[u>>2]=l;c=(l|0)==0;if(!(c|(s|0)==0)){o[n>>2]=i;o[e+116>>2]=0;o[e+120>>2]=0;o[e+124>>2]=0;i=e+88|0;o[i>>2]=0;o[r>>2]=0;if(!(hr(r,-15,13543,56)|0)){d=i;break}Zr(o[u>>2]|0);Zr(o[f>>2]|0);o[n>>2]=0;$e(e,-4,13529);h=-1;return h|0}if(c)m=s;else{Zr(l);m=o[f>>2]|0}if(m)Zr(m);$e(e,-4,13529);h=-1;return h|0}else d=e+88|0}while(0);m=o[d>>2]|0;if(!m){if(o[e+76>>2]|0){h=-1;return h|0}f=e+40|0;if(o[f>>2]|0){h=0;return h|0}l=e+24|0;s=o[l>>2]|0;c=o[n>>2]|0;o[d>>2]=0;u=e+4|0;i=0;while(1){p=Xr(o[u>>2]|0,s+i|0,c-i|0)|0;if((p|0)<1){w=p;k=17;break}b=(o[d>>2]|0)+p|0;o[d>>2]=b;if(b>>>0<c>>>0)i=b;else{v=b;break}}do{if((k|0)==17){if((w|0)>=0){o[f>>2]=1;v=o[d>>2]|0;break}$e(e,-1,Lr(o[(Nr()|0)>>2]|0)|0);h=-1;return h|0}}while(0);o[r>>2]=o[l>>2];if(!v){h=0;return h|0}else E=v}else E=m;m=o[r>>2]|0;if((t[m>>0]|0)==31){v=E+-1|0;o[d>>2]=v;l=m+1|0;o[r>>2]=l;if(!v){if(o[e+76>>2]|0){h=-1;return h|0}m=e+40|0;if(!(o[m>>2]|0)){f=e+24|0;w=o[f>>2]|0;i=o[n>>2]|0;o[d>>2]=0;c=e+4|0;s=0;while(1){u=Xr(o[c>>2]|0,w+s|0,i-s|0)|0;if((u|0)<1){g=u;k=29;break}b=(o[d>>2]|0)+u|0;o[d>>2]=b;if(b>>>0<i>>>0)s=b;else{y=b;break}}do{if((k|0)==29){if((g|0)>=0){o[m>>2]=1;y=o[d>>2]|0;break}$e(e,-1,Lr(o[(Nr()|0)>>2]|0)|0);h=-1;return h|0}}while(0);m=o[f>>2]|0;o[r>>2]=m;if(y){_=m;S=y;k=33}}}else{_=l;S=v;k=33}if((k|0)==33?(t[_>>0]|0)==-117:0){v=S+-1|0;o[d>>2]=v;S=_+1|0;o[r>>2]=S;e:do{if(!v){if((o[e+76>>2]|0)==0?(_=e+40|0,(o[_>>2]|0)==0):0){l=e+24|0;y=o[l>>2]|0;m=o[n>>2]|0;o[d>>2]=0;f=e+4|0;g=0;while(1){s=Xr(o[f>>2]|0,y+g|0,m-g|0)|0;if((s|0)<1){A=s;k=40;break}i=(o[d>>2]|0)+s|0;o[d>>2]=i;if(i>>>0<m>>>0)g=i;else{D=i;break}}do{if((k|0)==40)if((A|0)<0){$e(e,-1,Lr(o[(Nr()|0)>>2]|0)|0);break e}else{o[_>>2]=1;D=o[d>>2]|0;break}}while(0);_=o[l>>2]|0;o[r>>2]=_;if(D){M=D;N=_;k=44}}}else{M=v;N=S;k=44}}while(0);if((k|0)==44?(S=M+-1|0,o[d>>2]=S,M=N+1|0,o[r>>2]=M,(t[N>>0]|0)==8):0){e:do{if(!S){if((o[e+76>>2]|0)==0?(N=e+40|0,(o[N>>2]|0)==0):0){v=e+24|0;D=o[v>>2]|0;A=o[n>>2]|0;o[d>>2]=0;_=e+4|0;g=0;while(1){m=Xr(o[_>>2]|0,D+g|0,A-g|0)|0;if((m|0)<1){L=m;k=52;break}y=(o[d>>2]|0)+m|0;o[d>>2]=y;if(y>>>0<A>>>0)g=y;else{O=y;break}}do{if((k|0)==52)if((L|0)<0){$e(e,-1,Lr(o[(Nr()|0)>>2]|0)|0);break e}else{o[N>>2]=1;O=o[d>>2]|0;break}}while(0);N=o[v>>2]|0;o[r>>2]=N;if(O){T=O;F=N;k=56}}}else{T=S;F=M;k=56}}while(0);if((k|0)==56?(M=T+-1|0,o[d>>2]=M,T=F+1|0,o[r>>2]=T,S=a[F>>0]|0,(S&224|0)==0):0){e:do{if(!M){F=e+76|0;if(!(o[F>>2]|0)){O=e+40|0;if(!(o[O>>2]|0)){L=e+24|0;N=o[L>>2]|0;g=o[n>>2]|0;o[d>>2]=0;A=e+4|0;D=0;while(1){_=Xr(o[A>>2]|0,N+D|0,g-D|0)|0;if((_|0)<1){R=_;k=64;break}l=(o[d>>2]|0)+_|0;o[d>>2]=l;if(l>>>0<g>>>0)D=l;else{P=l;break}}do{if((k|0)==64)if((R|0)<0){$e(e,-1,Lr(o[(Nr()|0)>>2]|0)|0);I=o[d>>2]|0;k=69;break e}else{o[O>>2]=1;P=o[d>>2]|0;break}}while(0);O=o[L>>2]|0;o[r>>2]=O;if(P){C=P;x=O;k=68}else{B=F;k=71}}else{B=F;k=71}}else k=70}else{C=M;x=T;k=68}}while(0);if((k|0)==68){T=C+-1|0;o[d>>2]=T;o[r>>2]=x+1;I=T;k=69}if((k|0)==69)if(!I)k=70;else{z=I;k=80}if((k|0)==70){B=e+76|0;k=71}e:do{if((k|0)==71)if(!(o[B>>2]|0)){I=e+40|0;if(!(o[I>>2]|0)){T=e+24|0;x=o[T>>2]|0;C=o[n>>2]|0;o[d>>2]=0;M=e+4|0;P=0;while(1){R=Xr(o[M>>2]|0,x+P|0,C-P|0)|0;if((R|0)<1){U=R;k=76;break}O=(o[d>>2]|0)+R|0;o[d>>2]=O;if(O>>>0<C>>>0)P=O;else{j=O;break}}do{if((k|0)==76)if((U|0)<0){$e(e,-1,Lr(o[(Nr()|0)>>2]|0)|0);q=o[d>>2]|0;k=81;break e}else{o[I>>2]=1;j=o[d>>2]|0;break}}while(0);o[r>>2]=o[T>>2];if(j){z=j;k=80}else{Y=B;k=83}}else{Y=B;k=83}}else k=82}while(0);if((k|0)==80){B=z+-1|0;o[d>>2]=B;o[r>>2]=(o[r>>2]|0)+1;q=B;k=81}if((k|0)==81)if(!q)k=82;else{V=q;k=92}if((k|0)==82){Y=e+76|0;k=83}e:do{if((k|0)==83)if(!(o[Y>>2]|0)){q=e+40|0;if(!(o[q>>2]|0)){B=e+24|0;z=o[B>>2]|0;j=o[n>>2]|0;o[d>>2]=0;U=e+4|0;I=0;while(1){P=Xr(o[U>>2]|0,z+I|0,j-I|0)|0;if((P|0)<1){X=P;k=88;break}C=(o[d>>2]|0)+P|0;o[d>>2]=C;if(C>>>0<j>>>0)I=C;else{H=C;break}}do{if((k|0)==88)if((X|0)<0){$e(e,-1,Lr(o[(Nr()|0)>>2]|0)|0);W=o[d>>2]|0;k=93;break e}else{o[q>>2]=1;H=o[d>>2]|0;break}}while(0);o[r>>2]=o[B>>2];if(H){V=H;k=92}else{G=Y;k=95}}else{G=Y;k=95}}else k=94}while(0);if((k|0)==92){Y=V+-1|0;o[d>>2]=Y;o[r>>2]=(o[r>>2]|0)+1;W=Y;k=93}if((k|0)==93)if(!W)k=94;else{K=W;k=104}if((k|0)==94){G=e+76|0;k=95}e:do{if((k|0)==95)if(!(o[G>>2]|0)){W=e+40|0;if(!(o[W>>2]|0)){Y=e+24|0;V=o[Y>>2]|0;H=o[n>>2]|0;o[d>>2]=0;X=e+4|0;q=0;while(1){I=Xr(o[X>>2]|0,V+q|0,H-q|0)|0;if((I|0)<1){Z=I;k=100;break}j=(o[d>>2]|0)+I|0;o[d>>2]=j;if(j>>>0<H>>>0)q=j;else{Q=j;break}}do{if((k|0)==100)if((Z|0)<0){$e(e,-1,Lr(o[(Nr()|0)>>2]|0)|0);J=o[d>>2]|0;k=105;break e}else{o[W>>2]=1;Q=o[d>>2]|0;break}}while(0);o[r>>2]=o[Y>>2];if(Q){K=Q;k=104}else{$=G;k=107}}else{$=G;k=107}}else k=106}while(0);if((k|0)==104){G=K+-1|0;o[d>>2]=G;o[r>>2]=(o[r>>2]|0)+1;J=G;k=105}if((k|0)==105)if(!J)k=106;else{ee=J;k=116}if((k|0)==106){$=e+76|0;k=107}e:do{if((k|0)==107)if(!(o[$>>2]|0)){J=e+40|0;if(!(o[J>>2]|0)){G=e+24|0;K=o[G>>2]|0;Q=o[n>>2]|0;o[d>>2]=0;Z=e+4|0;W=0;while(1){q=Xr(o[Z>>2]|0,K+W|0,Q-W|0)|0;if((q|0)<1){re=q;k=112;break}H=(o[d>>2]|0)+q|0;o[d>>2]=H;if(H>>>0<Q>>>0)W=H;else{ne=H;break}}do{if((k|0)==112)if((re|0)<0){$e(e,-1,Lr(o[(Nr()|0)>>2]|0)|0);te=o[d>>2]|0;k=117;break e}else{o[J>>2]=1;ne=o[d>>2]|0;break}}while(0);o[r>>2]=o[G>>2];if(ne){ee=ne;k=116}else{ie=$;k=119}}else{ie=$;k=119}}else k=118}while(0);if((k|0)==116){$=ee+-1|0;o[d>>2]=$;o[r>>2]=(o[r>>2]|0)+1;te=$;k=117}if((k|0)==117)if(!te)k=118;else{oe=te;k=128}if((k|0)==118){ie=e+76|0;k=119}e:do{if(((k|0)==119?(o[ie>>2]|0)==0:0)?(te=e+40|0,(o[te>>2]|0)==0):0){$=e+24|0;ee=o[$>>2]|0;ne=o[n>>2]|0;o[d>>2]=0;re=e+4|0;J=0;while(1){W=Xr(o[re>>2]|0,ee+J|0,ne-J|0)|0;if((W|0)<1){ae=W;k=124;break}Q=(o[d>>2]|0)+W|0;o[d>>2]=Q;if(Q>>>0<ne>>>0)J=Q;else{se=Q;break}}do{if((k|0)==124)if((ae|0)<0){$e(e,-1,Lr(o[(Nr()|0)>>2]|0)|0);break e}else{o[te>>2]=1;se=o[d>>2]|0;break}}while(0);o[r>>2]=o[$>>2];if(se){oe=se;k=128}}}while(0);if((k|0)==128){o[d>>2]=oe+-1;o[r>>2]=(o[r>>2]|0)+1}e:do{if(S&4){oe=o[d>>2]|0;r:do{if(!oe){se=e+76|0;if(!(o[se>>2]|0)){ae=e+40|0;if(!(o[ae>>2]|0)){ie=e+24|0;te=o[ie>>2]|0;J=o[n>>2]|0;o[d>>2]=0;ne=e+4|0;ee=0;while(1){re=Xr(o[ne>>2]|0,te+ee|0,J-ee|0)|0;if((re|0)<1){fe=re;k=136;break}G=(o[d>>2]|0)+re|0;o[d>>2]=G;if(G>>>0<J>>>0)ee=G;else{le=G;break}}do{if((k|0)==136)if((fe|0)<0){$e(e,-1,Lr(o[(Nr()|0)>>2]|0)|0);ue=-1;ce=o[d>>2]|0;k=141;break r}else{o[ae>>2]=1;le=o[d>>2]|0;break}}while(0);o[r>>2]=o[ie>>2];if(le){de=le;k=140}else{he=se;me=-1;k=143}}else{he=se;me=-1;k=143}}else{pe=-1;k=142}}else{de=oe;k=140}}while(0);if((k|0)==140){oe=de+-1|0;o[d>>2]=oe;$=o[r>>2]|0;o[r>>2]=$+1;ue=a[$>>0]|0;ce=oe;k=141}if((k|0)==141)if(!ce){pe=ue;k=142}else{we=ce;ke=ue;k=152}if((k|0)==142){he=e+76|0;me=pe;k=143}r:do{if((k|0)==143)if((o[he>>2]|0)==0?(oe=e+40|0,(o[oe>>2]|0)==0):0){$=e+24|0;ae=o[$>>2]|0;ee=o[n>>2]|0;o[d>>2]=0;J=e+4|0;te=0;while(1){ne=Xr(o[J>>2]|0,ae+te|0,ee-te|0)|0;if((ne|0)<1){be=ne;k=148;break}G=(o[d>>2]|0)+ne|0;o[d>>2]=G;if(G>>>0<ee>>>0)te=G;else{ve=G;break}}do{if((k|0)==148)if((be|0)<0){$e(e,-1,Lr(o[(Nr()|0)>>2]|0)|0);Ee=-256;ge=me;break r}else{o[oe>>2]=1;ve=o[d>>2]|0;break}}while(0);o[r>>2]=o[$>>2];if(ve){we=ve;ke=me;k=152}else{Ee=-256;ge=me}}else{Ee=-256;ge=me}}while(0);if((k|0)==152){o[d>>2]=we+-1;oe=o[r>>2]|0;o[r>>2]=oe+1;Ee=a[oe>>0]<<8;ge=ke}oe=Ee+ge|0;if(oe){te=e+76|0;ee=e+40|0;ae=e+24|0;J=e+4|0;se=oe;oe=o[d>>2]|0;while(1){se=se+-1|0;if(!oe){if(o[te>>2]|0)break e;if(o[ee>>2]|0)break e;ie=o[ae>>2]|0;G=o[n>>2]|0;o[d>>2]=0;ne=0;while(1){re=Xr(o[J>>2]|0,ie+ne|0,G-ne|0)|0;if((re|0)<1){ye=re;k=161;break}Q=(o[d>>2]|0)+re|0;o[d>>2]=Q;if(Q>>>0<G>>>0)ne=Q;else{_e=Q;break}}if((k|0)==161){k=0;if((ye|0)<0)break;o[ee>>2]=1;_e=o[d>>2]|0}o[r>>2]=o[ae>>2];if(!_e)break e;else Se=_e}else Se=oe;oe=Se+-1|0;o[d>>2]=oe;o[r>>2]=(o[r>>2]|0)+1;if(!se)break e}$e(e,-1,Lr(o[(Nr()|0)>>2]|0)|0)}}}while(0);e:do{if(S&8){Se=e+76|0;_e=e+40|0;ye=e+24|0;ge=e+4|0;Ee=o[d>>2]|0;while(1){if(!Ee){if(o[Se>>2]|0)break e;if(o[_e>>2]|0)break e;ke=o[ye>>2]|0;we=o[n>>2]|0;o[d>>2]=0;me=0;while(1){ve=Xr(o[ge>>2]|0,ke+me|0,we-me|0)|0;if((ve|0)<1){Ae=ve;k=174;break}be=(o[d>>2]|0)+ve|0;o[d>>2]=be;if(be>>>0<we>>>0)me=be;else{De=be;break}}if((k|0)==174){k=0;if((Ae|0)<0)break;o[_e>>2]=1;De=o[d>>2]|0}o[r>>2]=o[ye>>2];if(!De)break e;else Me=De}else Me=Ee;Ee=Me+-1|0;o[d>>2]=Ee;me=o[r>>2]|0;o[r>>2]=me+1;if(!(t[me>>0]|0))break e}$e(e,-1,Lr(o[(Nr()|0)>>2]|0)|0)}}while(0);e:do{if(S&16){Me=e+76|0;De=e+40|0;Ae=e+24|0;Ee=e+4|0;ye=o[d>>2]|0;while(1){if(!ye){if(o[Me>>2]|0)break e;if(o[De>>2]|0)break e;_e=o[Ae>>2]|0;ge=o[n>>2]|0;o[d>>2]=0;Se=0;while(1){me=Xr(o[Ee>>2]|0,_e+Se|0,ge-Se|0)|0;if((me|0)<1){Ne=me;k=187;break}we=(o[d>>2]|0)+me|0;o[d>>2]=we;if(we>>>0<ge>>>0)Se=we;else{Le=we;break}}if((k|0)==187){k=0;if((Ne|0)<0)break;o[De>>2]=1;Le=o[d>>2]|0}o[r>>2]=o[Ae>>2];if(!Le)break e;else Oe=Le}else Oe=ye;ye=Oe+-1|0;o[d>>2]=ye;Se=o[r>>2]|0;o[r>>2]=Se+1;if(!(t[Se>>0]|0))break e}$e(e,-1,Lr(o[(Nr()|0)>>2]|0)|0)}}while(0);e:do{if(S&2){Oe=o[d>>2]|0;r:do{if(!Oe){Le=e+76|0;if(o[Le>>2]|0){k=205;break}Ne=e+40|0;if(o[Ne>>2]|0){Te=Le;k=206;break}ye=e+24|0;Ae=o[ye>>2]|0;De=o[n>>2]|0;o[d>>2]=0;Ee=e+4|0;Me=0;while(1){Se=Xr(o[Ee>>2]|0,Ae+Me|0,De-Me|0)|0;if((Se|0)<1){Fe=Se;k=199;break}ge=(o[d>>2]|0)+Se|0;o[d>>2]=ge;if(ge>>>0<De>>>0)Me=ge;else{Re=ge;break}}do{if((k|0)==199)if((Fe|0)<0){$e(e,-1,Lr(o[(Nr()|0)>>2]|0)|0);Pe=o[d>>2]|0;k=204;break r}else{o[Ne>>2]=1;Re=o[d>>2]|0;break}}while(0);o[r>>2]=o[ye>>2];if(!Re){Te=Le;k=206}else{Ie=Re;k=203}}else{Ie=Oe;k=203}}while(0);if((k|0)==203){Oe=Ie+-1|0;o[d>>2]=Oe;o[r>>2]=(o[r>>2]|0)+1;Pe=Oe;k=204}if((k|0)==204)if(!Pe)k=205;else Ce=Pe;if((k|0)==205){Te=e+76|0;k=206}if((k|0)==206){if(o[Te>>2]|0)break;Oe=e+40|0;if(o[Oe>>2]|0)break;Ne=e+24|0;Me=o[Ne>>2]|0;De=o[n>>2]|0;o[d>>2]=0;Ae=e+4|0;Ee=0;while(1){ge=Xr(o[Ae>>2]|0,Me+Ee|0,De-Ee|0)|0;if((ge|0)<1){xe=ge;k=211;break}Se=(o[d>>2]|0)+ge|0;o[d>>2]=Se;if(Se>>>0<De>>>0)Ee=Se;else{Be=Se;break}}do{if((k|0)==211)if((xe|0)<0){$e(e,-1,Lr(o[(Nr()|0)>>2]|0)|0);break e}else{o[Oe>>2]=1;Be=o[d>>2]|0;break}}while(0);o[r>>2]=o[Ne>>2];if(!Be)break;else Ce=Be}o[d>>2]=Ce+-1;o[r>>2]=(o[r>>2]|0)+1}}while(0);cr(r)|0;o[e+132>>2]=je(0,0,0)|0;o[e+52>>2]=2;o[e+56>>2]=0;h=0;return h|0}$e(e,-3,13619);h=-1;return h|0}$e(e,-3,13572);h=-1;return h|0}Ce=e+28|0;t[o[Ce>>2]>>0]=31;o[e+36>>2]=1;ze=Ce;Ue=o[d>>2]|0}else{ze=e+28|0;Ue=E}o[e+48>>2]=o[e+12>>2];E=o[ze>>2]|0;o[e+32>>2]=E;if(Ue){ze=e+36|0;$r(E+(o[ze>>2]|0)|0,o[r>>2]|0,Ue|0)|0;o[ze>>2]=(o[ze>>2]|0)+(o[d>>2]|0);o[d>>2]=0}o[e+52>>2]=1;o[e+56>>2]=1;h=0;return h|0}function ir(e){e=e|0;var r=0,n=0,t=0,i=0,a=0,s=0,f=0,l=0,u=0,d=0,h=0,m=0,p=0,w=0,k=0,b=0,v=0,E=0,g=0,y=0,_=0,S=0,A=0;r=c;c=c+16|0;n=r+4|0;t=r;i=e+84|0;a=e+100|0;s=o[a>>2]|0;f=e+88|0;l=e+76|0;u=e+40|0;d=e+24|0;h=e+16|0;m=e+4|0;e:while(1){if(!(o[f>>2]|0)){if(o[l>>2]|0){p=-1;w=27;break}if(o[u>>2]|0){w=12;break}k=o[d>>2]|0;b=o[h>>2]|0;o[f>>2]=0;v=0;while(1){E=Xr(o[m>>2]|0,k+v|0,b-v|0)|0;if((E|0)<1){g=E;w=8;break}y=(o[f>>2]|0)+E|0;o[f>>2]=y;if(y>>>0<b>>>0)v=y;else{_=y;break}}if((w|0)==8){w=0;if((g|0)<0){w=10;break}o[u>>2]=1;_=o[f>>2]|0}o[i>>2]=o[d>>2];if(!_){w=12;break}}v=mr(i,0)|0;switch(v|0){case 2:case-2:{w=14;break e;break}case-4:{w=15;break e;break}case-3:{w=16;break e;break}default:{}}b=o[a>>2]|0;if(!((v|0)!=1&(b|0)!=0)){S=v;A=b;w=18;break}}if((w|0)==10){$e(e,-1,Lr(o[(Nr()|0)>>2]|0)|0);p=-1;c=r;return p|0}else if((w|0)==12){$e(e,-3,13369);p=-1;c=r;return p|0}else if((w|0)==14){$e(e,-2,13392);p=-1;c=r;return p|0}else if((w|0)==15){$e(e,-4,13529);p=-1;c=r;return p|0}else if((w|0)==16){a=o[e+108>>2]|0;$e(e,-3,(a|0)==0?13431:a);p=-1;c=r;return p|0}else if((w|0)==18){a=s-A|0;o[e+36>>2]=a;A=(o[e+96>>2]|0)+(0-a)|0;o[e+32>>2]=A;s=e+132|0;o[s>>2]=je(o[s>>2]|0,A,a)|0;if((S|0)!=1){p=0;c=r;return p|0}if((or(e,n)|0)!=-1?(or(e,t)|0)!=-1:0){if((o[n>>2]|0)!=(o[s>>2]|0)){$e(e,-3,13966);p=-1;c=r;return p|0}if((o[t>>2]|0)==(o[e+104>>2]|0)){o[e+52>>2]=0;p=0;c=r;return p|0}else{$e(e,-3,13987);p=-1;c=r;return p|0}}$e(e,-3,13369);p=-1;c=r;return p|0}else if((w|0)==27){c=r;return p|0}return 0}function or(e,r){e=e|0;r=r|0;var n=0,t=0,i=0,s=0,f=0,l=0,u=0,c=0,d=0,h=0,m=0,p=0,w=0,k=0,b=0,v=0,E=0,g=0,y=0,_=0,S=0,A=0,D=0,M=0,N=0,L=0,O=0,T=0,F=0,R=0,P=0,I=0,C=0,x=0,B=0,z=0,U=0,j=0,q=0,Y=0,V=0,X=0,H=0,W=0,G=0,K=0;n=e+84|0;t=e+88|0;i=o[t>>2]|0;e:do{if(!i){s=e+76|0;if(!(o[s>>2]|0)){f=e+40|0;if(!(o[f>>2]|0)){l=e+24|0;u=o[l>>2]|0;c=o[e+16>>2]|0;o[t>>2]=0;d=e+4|0;h=0;while(1){m=Xr(o[d>>2]|0,u+h|0,c-h|0)|0;if((m|0)<1){p=m;w=7;break}k=(o[t>>2]|0)+m|0;o[t>>2]=k;if(k>>>0<c>>>0)h=k;else{b=k;break}}do{if((w|0)==7)if((p|0)<0){$e(e,-1,Lr(o[(Nr()|0)>>2]|0)|0);v=-1;E=o[t>>2]|0;w=12;break e}else{o[f>>2]=1;b=o[t>>2]|0;break}}while(0);o[n>>2]=o[l>>2];if(b){g=b;w=11}else{y=s;_=-1;w=14}}else{y=s;_=-1;w=14}}else{S=-1;w=13}}else{g=i;w=11}}while(0);if((w|0)==11){i=g+-1|0;o[t>>2]=i;g=o[n>>2]|0;o[n>>2]=g+1;v=a[g>>0]|0;E=i;w=12}if((w|0)==12)if(!E){S=v;w=13}else{A=v;D=E;w=25}if((w|0)==13){y=e+76|0;_=S;w=14}e:do{if((w|0)==14){if(o[y>>2]|0){M=_+-256|0;w=27;break}S=e+40|0;if(!(o[S>>2]|0)){E=e+24|0;v=o[E>>2]|0;i=o[e+16>>2]|0;o[t>>2]=0;g=e+4|0;b=0;while(1){p=Xr(o[g>>2]|0,v+b|0,i-b|0)|0;if((p|0)<1){N=p;w=20;break}f=(o[t>>2]|0)+p|0;o[t>>2]=f;if(f>>>0<i>>>0)b=f;else{L=f;break}}do{if((w|0)==20)if((N|0)<0){$e(e,-1,Lr(o[(Nr()|0)>>2]|0)|0);O=_;T=-256;F=o[t>>2]|0;w=26;break e}else{o[S>>2]=1;L=o[t>>2]|0;break}}while(0);o[n>>2]=o[E>>2];if(L){A=_;D=L;w=25;break}}R=y;P=_+-256|0;w=28}}while(0);if((w|0)==25){_=D+-1|0;o[t>>2]=_;D=o[n>>2]|0;o[n>>2]=D+1;O=A;T=(a[D>>0]|0)<<8;F=_;w=26}if((w|0)==26){_=T+O|0;if(!F){M=_;w=27}else{I=F;C=_;w=39}}if((w|0)==27){R=e+76|0;P=M;w=28}e:do{if((w|0)==28){if(o[R>>2]|0){x=P+-65536|0;w=41;break}M=e+40|0;if(!(o[M>>2]|0)){_=e+24|0;F=o[_>>2]|0;O=o[e+16>>2]|0;o[t>>2]=0;T=e+4|0;D=0;while(1){A=Xr(o[T>>2]|0,F+D|0,O-D|0)|0;if((A|0)<1){B=A;w=34;break}y=(o[t>>2]|0)+A|0;o[t>>2]=y;if(y>>>0<O>>>0)D=y;else{z=y;break}}do{if((w|0)==34)if((B|0)<0){$e(e,-1,Lr(o[(Nr()|0)>>2]|0)|0);U=P;j=-65536;q=o[t>>2]|0;w=40;break e}else{o[M>>2]=1;z=o[t>>2]|0;break}}while(0);o[n>>2]=o[_>>2];if(z){I=z;C=P;w=39;break}}Y=R;V=P+-65536|0;w=42}}while(0);if((w|0)==39){P=I+-1|0;o[t>>2]=P;I=o[n>>2]|0;o[n>>2]=I+1;U=C;j=(a[I>>0]|0)<<16;q=P;w=40}if((w|0)==40){P=j+U|0;if(!q){x=P;w=41}else{X=q;H=P}}if((w|0)==41){Y=e+76|0;V=x;w=42}if((w|0)==42){if(o[Y>>2]|0){W=-1;return W|0}Y=e+40|0;if(o[Y>>2]|0){W=-1;return W|0}x=e+24|0;P=o[x>>2]|0;q=o[e+16>>2]|0;o[t>>2]=0;U=e+4|0;j=0;while(1){I=Xr(o[U>>2]|0,P+j|0,q-j|0)|0;if((I|0)<1){G=I;w=47;break}C=(o[t>>2]|0)+I|0;o[t>>2]=C;if(C>>>0<q>>>0)j=C;else{K=C;break}}do{if((w|0)==47){if((G|0)>=0){o[Y>>2]=1;K=o[t>>2]|0;break}$e(e,-1,Lr(o[(Nr()|0)>>2]|0)|0);W=-1;return W|0}}while(0);o[n>>2]=o[x>>2];if(!K){W=-1;return W|0}else{X=K;H=V}}o[t>>2]=X+-1;X=o[n>>2]|0;o[n>>2]=X+1;o[r>>2]=((a[X>>0]|0)<<24)+H;W=0;return W|0}function ar(e,r,n){e=e|0;r=r|0;n=n|0;var t=0,i=0,a=0,s=0,f=0,l=0,u=0,c=0,d=0,h=0,m=0,p=0;if(!e){t=0;return t|0}i=e+84|0;if((o[e>>2]|0)!=31153){t=0;return t|0}if(o[e+76>>2]|0){t=0;return t|0}if((n|0)<0){$e(e,-5,13453);t=0;return t|0}if(!n){t=0;return t|0}a=e+16|0;if((o[a>>2]|0)==0?(fr(e)|0)==-1:0){t=0;return t|0}s=e+72|0;e:do{if(o[s>>2]|0){o[s>>2]=0;f=o[e+68>>2]|0;l=e+88|0;if((o[l>>2]|0)!=0?(lr(e,0)|0)==-1:0){t=0;return t|0}if(f){u=e+24|0;c=e+12|0;d=f;f=0;while(1){h=o[a>>2]|0;m=(h|0)<0|(h|0)>(d|0)?d:h;if(!f)Jr(o[u>>2]|0,0,m|0)|0;o[l>>2]=m;o[i>>2]=o[u>>2];o[c>>2]=(o[c>>2]|0)+m;if((lr(e,0)|0)==-1){t=0;break}if((d|0)==(m|0))break e;else{d=d-m|0;f=1}}return t|0}}}while(0);s=e+88|0;e:do{if((o[a>>2]|0)>>>0<=n>>>0){if((o[s>>2]|0)!=0?(lr(e,0)|0)==-1:0){t=0;return t|0}o[s>>2]=n;o[i>>2]=r;f=e+12|0;o[f>>2]=(o[f>>2]|0)+n;if((lr(e,0)|0)==-1){t=0;return t|0}}else{f=e+24|0;d=e+12|0;c=r;u=n;while(1){l=o[s>>2]|0;if(!l){m=o[f>>2]|0;o[i>>2]=m;p=m}else p=o[i>>2]|0;m=(o[a>>2]|0)-l|0;h=m>>>0>u>>>0?u:m;$r(p+l|0,c|0,h|0)|0;o[s>>2]=(o[s>>2]|0)+h;o[d>>2]=(o[d>>2]|0)+h;if((u|0)==(h|0))break e;if((lr(e,0)|0)==-1){t=0;break}else{c=c+h|0;u=u-h|0}}return t|0}}while(0);t=n;return t|0}function sr(e){e=e|0;var r=0,n=0,t=0,i=0,a=0,s=0,f=0,l=0,u=0,c=0,d=0,h=0,m=0;if(!e){r=-2;return r|0}if((o[e>>2]|0)!=31153){r=-2;return r|0}n=e+72|0;e:do{if(o[n>>2]|0){o[n>>2]=0;t=o[e+68>>2]|0;i=e+84|0;a=e+88|0;if((o[a>>2]|0)!=0?(lr(e,0)|0)==-1:0){s=i;f=-1;break}if(!t){s=i;f=0}else{l=e+16|0;u=e+24|0;c=e+12|0;d=t;t=0;while(1){h=o[l>>2]|0;m=(h|0)<0|(h|0)>(d|0)?d:h;if(!t)Jr(o[u>>2]|0,0,m|0)|0;o[a>>2]=m;o[i>>2]=o[u>>2];o[c>>2]=(o[c>>2]|0)+m;if((lr(e,0)|0)==-1){s=i;f=-1;break e}if((d|0)==(m|0)){s=i;f=0;break}else{d=d-m|0;t=1}}}}else{s=e+84|0;f=0}}while(0);n=(lr(e,4)|0)+f|0;Ye(s)|0;Zr(o[e+28>>2]|0);Zr(o[e+24>>2]|0);$e(e,0,0);Zr(o[e+8>>2]|0);s=Yr(o[e+4>>2]|0)|0;Zr(e);r=((n|0)!=(0-s|0))<<31>>31;return r|0}function fr(e){e=e|0;var r=0,n=0,t=0,i=0,a=0,s=0,f=0,l=0,u=0;r=e+20|0;n=o[r>>2]|0;t=Kr(n)|0;i=e+24|0;o[i>>2]=t;a=Kr(n)|0;n=e+28|0;o[n>>2]=a;s=(a|0)==0;if(!(s|(t|0)==0)){o[e+116>>2]=0;o[e+120>>2]=0;o[e+124>>2]=0;if(!(qe(e+84|0,o[e+60>>2]|0,8,31,8,o[e+64>>2]|0,13543,56)|0)){f=o[r>>2]|0;o[e+16>>2]=f;o[e+100>>2]=f;f=o[n>>2]|0;o[e+96>>2]=f;o[e+32>>2]=f;l=0;return l|0}else{Zr(o[i>>2]|0);$e(e,-4,13529);l=-1;return l|0}}if(s)u=t;else{Zr(a);u=o[i>>2]|0}if(u)Zr(u);$e(e,-4,13529);l=-1;return l|0}function lr(e,r){e=e|0;r=r|0;var n=0,t=0,i=0,a=0,s=0,f=0,l=0,u=0,c=0,d=0,h=0,m=0,p=0,w=0,k=0,b=0,v=0,E=0,g=0,y=0,_=0,S=0,A=0,D=0,M=0,N=0,L=0;n=e+84|0;t=e+16|0;if((o[t>>2]|0)==0?(fr(e)|0)==-1:0){i=-1;return i|0}a=e+100|0;s=e+96|0;f=e+32|0;l=e+28|0;u=e+4|0;c=(r|0)==4;d=o[a>>2]|0;e:do{if(!r){h=d;while(1){if(!h){m=o[s>>2]|0;p=o[f>>2]|0;w=m-p|0;if((m|0)!=(p|0)){m=Hr(o[u>>2]|0,p,w)|0;if(!((m|0)>-1&(m|0)==(w|0))){k=26;break e}w=o[a>>2]|0;if(w){b=o[s>>2]|0;v=w}else k=10}else k=10;if((k|0)==10){k=0;w=o[t>>2]|0;o[a>>2]=w;m=o[l>>2]|0;o[s>>2]=m;b=m;v=w}o[f>>2]=b;E=v}else E=h;if((Xe(n,0)|0)==-2){k=32;break e}h=o[a>>2]|0;if((E|0)==(h|0)){k=34;break}}}else{if(c){g=d;y=0}else{h=d;while(1){w=o[s>>2]|0;m=o[f>>2]|0;p=w-m|0;if((w|0)==(m|0))_=h;else{w=Hr(o[u>>2]|0,m,p)|0;if(!((w|0)>-1&(w|0)==(p|0))){k=26;break e}_=o[a>>2]|0}if(!_){p=o[t>>2]|0;o[a>>2]=p;w=o[l>>2]|0;o[s>>2]=w;S=w;A=p}else{S=o[s>>2]|0;A=_}o[f>>2]=S;if((Xe(n,r)|0)==-2){k=32;break e}h=o[a>>2]|0;if((A|0)==(h|0)){k=34;break e}}}while(1){if((g|0)==0|(y|0)==1){h=o[s>>2]|0;p=o[f>>2]|0;w=h-p|0;if((h|0)==(p|0))D=g;else{h=Hr(o[u>>2]|0,p,w)|0;if(!((h|0)>-1&(h|0)==(w|0))){k=26;break e}D=o[a>>2]|0}if(!D){w=o[t>>2]|0;o[a>>2]=w;h=o[l>>2]|0;o[s>>2]=h;M=h;N=w}else{M=o[s>>2]|0;N=D}o[f>>2]=M;L=N}else L=g;y=Xe(n,4)|0;if((y|0)==-2){k=32;break e}g=o[a>>2]|0;if((L|0)==(g|0)){k=34;break}}}}while(0);if((k|0)==26){$e(e,-1,Lr(o[(Nr()|0)>>2]|0)|0);i=-1;return i|0}else if((k|0)==32){$e(e,-2,13490);i=-1;return i|0}else if((k|0)==34){if(!c){i=0;return i|0}Ve(n)|0;i=0;return i|0}return 0}function ur(e,r){e=e|0;r=r|0;var n=0,s=0,f=0,l=0,u=0,c=0,d=0,h=0,m=0,p=0,w=0,k=0,b=0,v=0,E=0,g=0,y=0,_=0,S=0,A=0,D=0,M=0,N=0,L=0,O=0,T=0,F=0,R=0,P=0,I=0,C=0,x=0,B=0,z=0,U=0,j=0,q=0,Y=0,V=0,X=0,H=0,W=0,G=0,K=0,Z=0,Q=0,J=0,$=0,ee=0,re=0,ne=0,te=0,ie=0,oe=0,ae=0,se=0,fe=0,le=0,ue=0,ce=0,de=0,he=0,me=0,pe=0,we=0,ke=0,be=0,ve=0,Ee=0,ge=0,ye=0,_e=0,Se=0,Ae=0,De=0,Me=0,Ne=0,Le=0,Oe=0,Te=0,Fe=0,Re=0,Pe=0,Ie=0,Ce=0,xe=0,Be=0,ze=0,Ue=0,je=0,qe=0,Ye=0,Ve=0,Xe=0,He=0,We=0,Ge=0,Ke=0,Ze=0,Qe=0,Je=0,$e=0,er=0,rr=0,nr=0,tr=0;n=o[e+28>>2]|0;s=o[e>>2]|0;f=e+4|0;l=s+((o[f>>2]|0)+-6)|0;u=e+12|0;c=o[u>>2]|0;d=e+16|0;h=o[d>>2]|0;m=c+(h+-258)|0;p=o[n+44>>2]|0;w=o[n+48>>2]|0;k=o[n+52>>2]|0;b=n+56|0;v=n+60|0;E=o[n+76>>2]|0;g=o[n+80>>2]|0;y=(1<<o[n+84>>2])+-1|0;_=(1<<o[n+88>>2])+-1|0;S=c+(h+~r)|0;r=n+7104|0;h=k+-1|0;A=(w|0)==0;D=(o[n+40>>2]|0)+-1|0;M=D+w|0;N=w+-1|0;L=S+-1|0;O=S-w|0;T=S+-2|0;F=o[v>>2]|0;R=o[b>>2]|0;P=s+-1|0;s=c+-1|0;e:while(1){if(F>>>0<15){c=P+2|0;I=F+16|0;C=((a[P+1>>0]|0)<<F)+R+((a[c>>0]|0)<<F+8)|0;x=c}else{I=F;C=R;x=P}c=C&y;B=t[E+(c<<2)>>0]|0;z=i[E+(c<<2)+2>>1]|0;U=a[E+(c<<2)+1>>0]|0;c=C>>>U;j=I-U|0;do{if(B<<24>>24){U=c;q=j;Y=B&255;V=z;while(1){if(Y&16){X=Y;H=q;W=U;G=V;break}if(Y&64){K=Y;Z=q;Q=U;J=x;$=s;ee=57;break e}re=(U&(1<<Y)+-1)+(V&65535)|0;ne=t[E+(re<<2)>>0]|0;te=i[E+(re<<2)+2>>1]|0;ie=a[E+(re<<2)+1>>0]|0;re=U>>>ie;oe=q-ie|0;if(!(ne<<24>>24)){ae=re;se=oe;fe=te;ee=6;break}else{U=re;q=oe;Y=ne&255;V=te}}if((ee|0)==6){ee=0;le=ae;ue=se;ce=fe&255;ee=7;break}V=G&65535;Y=X&15;if(!Y){de=H;he=W;me=x;pe=V}else{if(H>>>0<Y>>>0){q=x+1|0;we=H+8|0;ke=((a[q>>0]|0)<<H)+W|0;be=q}else{we=H;ke=W;be=x}de=we-Y|0;he=ke>>>Y;me=be;pe=(ke&(1<<Y)+-1)+V|0}if(de>>>0<15){V=me+2|0;ve=de+16|0;Ee=((a[me+1>>0]|0)<<de)+he+((a[V>>0]|0)<<de+8)|0;ge=V}else{ve=de;Ee=he;ge=me}V=Ee&_;Y=i[g+(V<<2)+2>>1]|0;q=a[g+(V<<2)+1>>0]|0;U=Ee>>>q;te=ve-q|0;q=a[g+(V<<2)>>0]|0;if(!(q&16)){V=q;ne=U;oe=te;re=Y;while(1){if(V&64){ye=oe;_e=ne;Se=ge;Ae=s;ee=54;break e}ie=(ne&(1<<V)+-1)+(re&65535)|0;De=i[g+(ie<<2)+2>>1]|0;Me=a[g+(ie<<2)+1>>0]|0;Ne=ne>>>Me;Le=oe-Me|0;Me=a[g+(ie<<2)>>0]|0;if(!(Me&16)){V=Me;ne=Ne;oe=Le;re=De}else{Oe=Ne;Te=Le;Fe=Me;Re=De;break}}}else{Oe=U;Te=te;Fe=q;Re=Y}re=Re&65535;oe=Fe&15;if(Te>>>0<oe>>>0){ne=ge+1|0;V=((a[ne>>0]|0)<<Te)+Oe|0;De=Te+8|0;if(De>>>0<oe>>>0){Me=ge+2|0;Pe=Te+16|0;Ie=((a[Me>>0]|0)<<De)+V|0;Ce=Me}else{Pe=De;Ie=V;Ce=ne}}else{Pe=Te;Ie=Oe;Ce=ge}ne=(Ie&(1<<oe)+-1)+re|0;re=Ie>>>oe;V=Pe-oe|0;oe=s;De=oe-S|0;if(ne>>>0<=De>>>0){Me=2-pe|0;Le=pe+(Me>>>0>4294967293?Me:-3)|0;Me=Le-((Le>>>0)%3|0)|0;Le=Me-ne|0;Ne=s+(0-ne)|0;ie=pe;xe=s;do{t[xe+1>>0]=t[Ne+1>>0]|0;t[xe+2>>0]=t[Ne+2>>0]|0;Ne=Ne+3|0;xe=xe+3|0;t[xe>>0]=t[Ne>>0]|0;ie=ie+-3|0}while(ie>>>0>2);ie=pe+-3|0;if((ie|0)==(Me|0)){Be=V;ze=re;Ue=Ce;je=s+(Me+3)|0;break}Ne=s+(Me+4)|0;t[Ne>>0]=t[s+(Le+4)>>0]|0;if((ie-Me|0)>>>0<=1){Be=V;ze=re;Ue=Ce;je=Ne;break}Ne=s+(Me+5)|0;t[Ne>>0]=t[s+(Le+5)>>0]|0;Be=V;ze=re;Ue=Ce;je=Ne;break}Ne=ne-De|0;if(Ne>>>0>p>>>0?(o[r>>2]|0)!=0:0){qe=re;Ye=V;Ve=Ce;Xe=s;ee=22;break e}do{if(A){ie=k+(D-Ne)|0;if(pe>>>0>Ne>>>0){xe=pe-Ne|0;Y=ne-oe|0;q=ie;te=Ne;U=s;do{q=q+1|0;U=U+1|0;t[U>>0]=t[q>>0]|0;te=te+-1|0}while((te|0)!=0);He=s+(L+Y+(1-ne))|0;We=xe;Ge=s+(S+Y)|0}else{He=ie;We=pe;Ge=s}}else{if(Ne>>>0<=w>>>0){te=k+(N-Ne)|0;if(pe>>>0<=Ne>>>0){He=te;We=pe;Ge=s;break}q=pe-Ne|0;U=ne-oe|0;Ke=te;te=Ne;Ze=s;do{Ke=Ke+1|0;Ze=Ze+1|0;t[Ze>>0]=t[Ke>>0]|0;te=te+-1|0}while((te|0)!=0);He=s+(L+U+(1-ne))|0;We=q;Ge=s+(S+U)|0;break}te=k+(M-Ne)|0;Ke=Ne-w|0;if(pe>>>0>Ke>>>0){Ze=pe-Ke|0;ie=ne-oe|0;Y=te;xe=Ke;Ke=s;do{Y=Y+1|0;Ke=Ke+1|0;t[Ke>>0]=t[Y>>0]|0;xe=xe+-1|0}while((xe|0)!=0);xe=s+(O+ie)|0;if(Ze>>>0>w>>>0){Y=Ze-w|0;Ke=h;U=w;q=xe;do{Ke=Ke+1|0;q=q+1|0;t[q>>0]=t[Ke>>0]|0;U=U+-1|0}while((U|0)!=0);He=s+(T+ie+(2-ne))|0;We=Y;Ge=s+(S+ie)|0}else{He=h;We=Ze;Ge=xe}}else{He=te;We=pe;Ge=s}}}while(0);if(We>>>0>2){ne=We+-3|0;oe=(ne>>>0)%3|0;Ne=ne-oe|0;ne=He;De=We;Le=Ge;do{t[Le+1>>0]=t[ne+1>>0]|0;t[Le+2>>0]=t[ne+2>>0]|0;ne=ne+3|0;Le=Le+3|0;t[Le>>0]=t[ne>>0]|0;De=De+-3|0}while(De>>>0>2);Qe=He+(Ne+3)|0;Je=oe;$e=Ge+(Ne+3)|0}else{Qe=He;Je=We;$e=Ge}if(Je){De=$e+1|0;t[De>>0]=t[Qe+1>>0]|0;if(Je>>>0>1){ne=$e+2|0;t[ne>>0]=t[Qe+2>>0]|0;Be=V;ze=re;Ue=Ce;je=ne}else{Be=V;ze=re;Ue=Ce;je=De}}else{Be=V;ze=re;Ue=Ce;je=$e}}else{le=c;ue=j;ce=z&255;ee=7}}while(0);if((ee|0)==7){ee=0;z=s+1|0;t[z>>0]=ce;Be=ue;ze=le;Ue=x;je=z}if(je>>>0<m>>>0&Ue>>>0<l>>>0){F=Be;R=ze;P=Ue;s=je}else{er=Be;rr=ze;nr=Ue;tr=je;break}}do{if((ee|0)==22){o[e+24>>2]=13936;o[n>>2]=29;er=Ye;rr=qe;nr=Ve;tr=Xe}else if((ee|0)==54){o[e+24>>2]=13914;o[n>>2]=29;er=ye;rr=_e;nr=Se;tr=Ae}else if((ee|0)==57)if(!(K&32)){o[e+24>>2]=13886;o[n>>2]=29;er=Z;rr=Q;nr=J;tr=$;break}else{o[n>>2]=11;er=Z;rr=Q;nr=J;tr=$;break}}while(0);$=er>>>3;J=er-($<<3)|0;o[e>>2]=nr+(1-$);o[u>>2]=tr+1;o[f>>2]=l+5-(nr+(0-$));o[d>>2]=m+257-tr;o[b>>2]=(1<<J)+-1&rr;o[v>>2]=J;return}function cr(e){e=e|0;var r=0,n=0;if(!e){r=-2;return r|0}n=o[e+28>>2]|0;if(!n){r=-2;return r|0}o[n+28>>2]=0;o[e+20>>2]=0;o[e+8>>2]=0;o[e+24>>2]=0;o[e+48>>2]=1;o[n>>2]=0;o[n+4>>2]=0;o[n+12>>2]=0;o[n+20>>2]=32768;o[n+32>>2]=0;o[n+40>>2]=0;o[n+44>>2]=0;o[n+48>>2]=0;o[n+56>>2]=0;o[n+60>>2]=0;e=n+1328|0;o[n+108>>2]=e;o[n+80>>2]=e;o[n+76>>2]=e;o[n+7104>>2]=1;o[n+7108>>2]=-1;r=0;return r|0}function dr(e,r){e=e|0;r=r|0;var n=0,t=0,i=0,a=0,s=0,f=0,l=0,u=0;if(!e){n=-2;return n|0}t=e+28|0;i=o[t>>2]|0;if(!i){n=-2;return n|0}if((r|0)<0){a=0-r|0;s=0}else{a=(r|0)<48?r&15:r;s=(r>>4)+1|0}if(!((a|0)==0|(a&-8|0)==8)){n=-2;return n|0}r=i+52|0;f=o[r>>2]|0;l=i+36|0;if((f|0)!=0?(o[l>>2]|0)!=(a|0):0){mn[o[e+36>>2]&1](o[e+40>>2]|0,f);o[r>>2]=0;r=o[t>>2]|0;o[i+8>>2]=s;o[l>>2]=a;if(!r){n=-2;return n|0}else u=r}else{o[i+8>>2]=s;o[l>>2]=a;u=i}o[u+28>>2]=0;o[e+20>>2]=0;o[e+8>>2]=0;o[e+24>>2]=0;o[e+48>>2]=1;o[u>>2]=0;o[u+4>>2]=0;o[u+12>>2]=0;o[u+20>>2]=32768;o[u+32>>2]=0;o[u+40>>2]=0;o[u+44>>2]=0;o[u+48>>2]=0;o[u+56>>2]=0;o[u+60>>2]=0;e=u+1328|0;o[u+108>>2]=e;o[u+80>>2]=e;o[u+76>>2]=e;o[u+7104>>2]=1;o[u+7108>>2]=-1;n=0;return n|0}function hr(e,r,n,i){e=e|0;r=r|0;n=n|0;i=i|0;var a=0,s=0,f=0,l=0;if(!n){a=-6;return a|0}if((i|0)!=56|(t[n>>0]|0)!=49){a=-6;return a|0}if(!e){a=-2;return a|0}o[e+24>>2]=0;n=e+32|0;i=o[n>>2]|0;if(!i){o[n>>2]=3;o[e+40>>2]=0;s=3}else s=i;i=e+36|0;if(!(o[i>>2]|0))o[i>>2]=1;n=e+40|0;f=hn[s&7](o[n>>2]|0,1,7116)|0;if(!f){a=-4;return a|0}s=e+28|0;o[s>>2]=f;o[f+52>>2]=0;l=dr(e,r)|0;if(!l){a=0;return a|0}mn[o[i>>2]&1](o[n>>2]|0,f);o[s>>2]=0;a=l;return a|0}function mr(e,r){e=e|0;r=r|0;var n=0,f=0,l=0,u=0,d=0,h=0,m=0,p=0,w=0,k=0,b=0,v=0,E=0,g=0,y=0,_=0,S=0,A=0,D=0,M=0,N=0,L=0,O=0,T=0,F=0,R=0,P=0,I=0,C=0,x=0,B=0,z=0,U=0,j=0,q=0,Y=0,V=0,X=0,H=0,W=0,G=0,K=0,Z=0,Q=0,J=0,$=0,ee=0,re=0,ne=0,te=0,ie=0,oe=0,ae=0,se=0,fe=0,le=0,ue=0,ce=0,de=0,he=0,me=0,pe=0,we=0,ke=0,be=0,ve=0,Ee=0,ge=0,ye=0,_e=0,Se=0,Ae=0,De=0,Me=0,Ne=0,Le=0,Oe=0,Te=0,Fe=0,Re=0,Pe=0,Ie=0,Ce=0,xe=0,Be=0,ze=0,qe=0,Ye=0,Ve=0,Xe=0,He=0,We=0,Ge=0,Ke=0,Ze=0,Qe=0,Je=0,$e=0,er=0,rr=0,nr=0,tr=0,ir=0,or=0,ar=0,sr=0,fr=0,lr=0,cr=0,dr=0,hr=0,mr=0,pr=0,br=0,vr=0,Er=0,gr=0,yr=0,_r=0,Sr=0,Ar=0,Dr=0,Mr=0,Nr=0,Lr=0,Or=0,Tr=0,Fr=0,Rr=0,Pr=0,Ir=0,Cr=0,xr=0,Br=0,zr=0,Ur=0,jr=0,qr=0,Yr=0,Vr=0,Xr=0,Hr=0,Wr=0,Gr=0,Kr=0,Zr=0,Qr=0,Jr=0,rn=0,nn=0,tn=0,on=0,an=0,sn=0,fn=0,ln=0,un=0,cn=0,dn=0,hn=0,mn=0,pn=0,wn=0,kn=0,bn=0,vn=0,En=0,gn=0,yn=0,_n=0,Sn=0,An=0,Dn=0,Mn=0,Nn=0,Ln=0,On=0,Tn=0,Fn=0,Rn=0,Pn=0,In=0,Cn=0,xn=0,Bn=0,zn=0,Un=0,jn=0,qn=0,Yn=0,Vn=0,Xn=0,Hn=0,Wn=0,Gn=0,Kn=0,Zn=0,Qn=0,Jn=0,$n=0,et=0,rt=0,nt=0,tt=0,it=0,ot=0,at=0,st=0,ft=0,lt=0,ut=0,ct=0,dt=0,ht=0,mt=0,pt=0,wt=0,kt=0,bt=0,vt=0,Et=0,gt=0,yt=0,_t=0,St=0,At=0,Dt=0,Mt=0,Nt=0,Lt=0,Ot=0,Tt=0,Ft=0,Rt=0,Pt=0,It=0,Ct=0,xt=0,Bt=0,zt=0,Ut=0,jt=0,qt=0,Yt=0,Vt=0,Xt=0,Ht=0,Wt=0,Gt=0,Kt=0,Zt=0,Qt=0,Jt=0,$t=0,ei=0,ri=0,ni=0,ti=0,ii=0,oi=0,ai=0,si=0,fi=0,li=0,ui=0,ci=0,di=0,hi=0,mi=0,pi=0,wi=0,ki=0,bi=0,vi=0,Ei=0,gi=0,yi=0,_i=0,Si=0,Ai=0,Di=0,Mi=0,Ni=0,Li=0,Oi=0,Ti=0,Fi=0,Ri=0,Pi=0,Ii=0,Ci=0,xi=0,Bi=0,zi=0,Ui=0,ji=0,qi=0,Yi=0,Vi=0,Xi=0,Hi=0,Wi=0,Gi=0,Ki=0,Zi=0,Qi=0,Ji=0,$i=0,eo=0,ro=0,no=0,to=0,io=0,oo=0,ao=0,so=0,fo=0,lo=0,uo=0,co=0,ho=0,mo=0,po=0,wo=0,ko=0,bo=0,vo=0,Eo=0,go=0,yo=0,_o=0,So=0,Ao=0,Do=0,Mo=0,No=0,Lo=0,Oo=0,To=0,Fo=0,Ro=0,Po=0,Io=0,Co=0,xo=0,Bo=0,zo=0,Uo=0,jo=0,qo=0,Yo=0,Vo=0,Xo=0,Ho=0,Wo=0,Go=0,Ko=0,Zo=0,Qo=0,Jo=0,$o=0,ea=0,ra=0,na=0,ta=0,ia=0,oa=0,aa=0,sa=0,fa=0,la=0,ua=0,ca=0,da=0,ha=0,ma=0,pa=0,wa=0,ka=0,ba=0,va=0,Ea=0,ga=0,ya=0,_a=0,Sa=0,Aa=0,Da=0,Ma=0,Na=0,La=0,Oa=0,Ta=0,Fa=0,Ra=0,Pa=0,Ia=0,Ca=0,xa=0,Ba=0,za=0,Ua=0,ja=0,qa=0,Ya=0,Va=0,Xa=0,Ha=0,Wa=0,Ga=0,Ka=0,Za=0,Qa=0,Ja=0,$a=0,es=0,rs=0,ns=0,ts=0,is=0,os=0,as=0,ss=0,fs=0,ls=0;n=c;c=c+16|0;f=n;if(!e){l=-2;c=n;return l|0}u=o[e+28>>2]|0;if(!u){l=-2;c=n;return l|0}d=e+12|0;h=o[d>>2]|0;if(!h){l=-2;c=n;return l|0}m=o[e>>2]|0;if((m|0)==0?(o[e+4>>2]|0)!=0:0){l=-2;c=n;return l|0}p=o[u>>2]|0;if((p|0)==11){o[u>>2]=12;w=12}else w=p;p=e+16|0;k=o[p>>2]|0;b=e+4|0;v=o[b>>2]|0;E=u+56|0;g=u+60|0;y=u+8|0;_=u+24|0;S=f+1|0;A=u+16|0;D=u+32|0;M=e+24|0;N=u+36|0;L=u+20|0;O=e+48|0;T=u+64|0;F=u+12|0;R=(r+-5|0)>>>0<2;P=u+4|0;I=u+76|0;C=u+84|0;x=u+80|0;B=u+88|0;z=(r|0)==6;U=u+7108|0;j=u+72|0;q=u+7112|0;Y=u+68|0;V=u+44|0;X=u+7104|0;H=u+48|0;W=u+52|0;G=u+40|0;K=e+20|0;Z=u+28|0;Q=f+2|0;J=f+3|0;$=u+104|0;ee=u+96|0;re=u+100|0;ne=u+624|0;te=u+1328|0;ie=u+108|0;oe=u+112|0;ae=u+752|0;se=u+92|0;fe=w;w=o[g>>2]|0;le=v;ue=o[E>>2]|0;ce=k;de=m;m=k;k=h;h=0;e:while(1){r:do{switch(fe|0){case 28:{he=ce;me=w;pe=le;we=ue;ke=de;be=m;ve=k;Ee=1;break e;break}case 29:{ge=w;ye=le;_e=ue;Se=ce;Ae=de;De=m;Me=k;Ne=284;break e;break}case 30:{l=-4;Ne=297;break e;break}case 0:{Le=o[y>>2]|0;if(!Le){o[u>>2]=12;Oe=w;Te=le;Fe=ue;Re=ce;Pe=de;Ie=m;Ce=k;xe=h;break r}if(w>>>0<16){Be=w;ze=le;qe=ue;Ye=de;while(1){if(!ze){he=ce;me=Be;pe=0;we=qe;ke=Ye;be=m;ve=k;Ee=h;break e}Ve=ze+-1|0;Xe=Ye+1|0;He=(a[Ye>>0]<<Be)+qe|0;We=Be+8|0;if(We>>>0<16){Be=We;ze=Ve;qe=He;Ye=Xe}else{Ge=We;Ke=Ve;Ze=He;Qe=Xe;break}}}else{Ge=w;Ke=le;Ze=ue;Qe=de}if((Ze|0)==35615&(Le&2|0)!=0){o[_>>2]=je(0,0,0)|0;t[f>>0]=31;t[S>>0]=-117;o[_>>2]=je(o[_>>2]|0,f,2)|0;o[u>>2]=1;Oe=0;Te=Ke;Fe=0;Re=ce;Pe=Qe;Ie=m;Ce=k;xe=h;break r}o[A>>2]=0;Ye=o[D>>2]|0;if(Ye)o[Ye+48>>2]=-1;if((Le&1|0)!=0?((((Ze<<8&65280)+(Ze>>>8)|0)>>>0)%31|0|0)==0:0){if((Ze&15|0)!=8){o[M>>2]=13572;o[u>>2]=29;Oe=Ge;Te=Ke;Fe=Ze;Re=ce;Pe=Qe;Ie=m;Ce=k;xe=h;break r}Ye=Ze>>>4;qe=Ge+-4|0;ze=(Ye&15)+8|0;Be=o[N>>2]|0;if(Be){if(ze>>>0>Be>>>0){o[M>>2]=13599;o[u>>2]=29;Oe=qe;Te=Ke;Fe=Ye;Re=ce;Pe=Qe;Ie=m;Ce=k;xe=h;break r}}else o[N>>2]=ze;o[L>>2]=1<<ze;ze=Ue(0,0,0)|0;o[_>>2]=ze;o[O>>2]=ze;o[u>>2]=Ze>>>12&2^11;Oe=0;Te=Ke;Fe=0;Re=ce;Pe=Qe;Ie=m;Ce=k;xe=h;break r}o[M>>2]=13549;o[u>>2]=29;Oe=Ge;Te=Ke;Fe=Ze;Re=ce;Pe=Qe;Ie=m;Ce=k;xe=h;break}case 1:{if(w>>>0<16){ze=w;Ye=le;qe=ue;Be=de;while(1){if(!Ye){he=ce;me=ze;pe=0;we=qe;ke=Be;be=m;ve=k;Ee=h;break e}Xe=Ye+-1|0;He=Be+1|0;Ve=(a[Be>>0]<<ze)+qe|0;We=ze+8|0;if(We>>>0<16){ze=We;Ye=Xe;qe=Ve;Be=He}else{Je=Ve;$e=We;er=Xe;rr=He;break}}}else{Je=ue;$e=w;er=le;rr=de}o[A>>2]=Je;if((Je&255|0)!=8){o[M>>2]=13572;o[u>>2]=29;Oe=$e;Te=er;Fe=Je;Re=ce;Pe=rr;Ie=m;Ce=k;xe=h;break r}if(Je&57344){o[M>>2]=13619;o[u>>2]=29;Oe=$e;Te=er;Fe=Je;Re=ce;Pe=rr;Ie=m;Ce=k;xe=h;break r}Be=o[D>>2]|0;if(Be)o[Be>>2]=Je>>>8&1;if(Je&512){t[f>>0]=Je;t[S>>0]=Je>>>8;o[_>>2]=je(o[_>>2]|0,f,2)|0}o[u>>2]=2;nr=0;tr=er;ir=0;or=rr;Ne=47;break}case 2:{if(w>>>0<32){nr=w;tr=le;ir=ue;or=de;Ne=47}else{ar=le;sr=ue;fr=de;Ne=49}break}case 3:{if(w>>>0<16){lr=w;cr=le;dr=ue;hr=de;Ne=55}else{mr=le;pr=ue;br=de;Ne=57}break}case 4:{vr=w;Er=le;gr=ue;yr=de;Ne=62;break}case 5:{_r=w;Sr=le;Ar=ue;Dr=de;Ne=73;break}case 6:{Mr=w;Nr=le;Lr=ue;Or=de;Ne=83;break}case 7:{Tr=w;Fr=le;Rr=ue;Pr=de;Ne=96;break}case 8:{Ir=w;Cr=le;xr=ue;Br=de;Ne=109;break}case 9:{if(w>>>0<32){Be=w;qe=le;Ye=ue;ze=de;while(1){if(!qe){he=ce;me=Be;pe=0;we=Ye;ke=ze;be=m;ve=k;Ee=h;break e}Le=qe+-1|0;He=ze+1|0;Xe=(a[ze>>0]<<Be)+Ye|0;Be=Be+8|0;if(Be>>>0>=32){zr=Le;Ur=Xe;jr=He;break}else{qe=Le;Ye=Xe;ze=He}}}else{zr=le;Ur=ue;jr=de}ze=en(Ur|0)|0;o[_>>2]=ze;o[O>>2]=ze;o[u>>2]=10;qr=0;Yr=zr;Vr=0;Xr=jr;Ne=121;break}case 10:{qr=w;Yr=le;Vr=ue;Xr=de;Ne=121;break}case 11:{Hr=w;Wr=le;Gr=ue;Kr=de;Ne=124;break}case 12:{Zr=w;Qr=le;Jr=ue;rn=de;Ne=125;break}case 13:{ze=w&7;Ye=ue>>>ze;qe=w-ze|0;if(qe>>>0<32){ze=qe;Be=le;He=Ye;Xe=de;while(1){if(!Be){he=ce;me=ze;pe=0;we=He;ke=Xe;be=m;ve=k;Ee=h;break e}Le=Be+-1|0;We=Xe+1|0;Ve=(a[Xe>>0]<<ze)+He|0;nn=ze+8|0;if(nn>>>0<32){ze=nn;Be=Le;He=Ve;Xe=We}else{tn=nn;on=Le;an=Ve;sn=We;break}}}else{tn=qe;on=le;an=Ye;sn=de}Xe=an&65535;if((Xe|0)==(an>>>16^65535|0)){o[T>>2]=Xe;o[u>>2]=14;if(z){he=ce;me=0;pe=on;we=0;ke=sn;be=m;ve=k;Ee=h;break e}else{fn=0;ln=on;un=0;cn=sn;Ne=143;break r}}else{o[M>>2]=13683;o[u>>2]=29;Oe=tn;Te=on;Fe=an;Re=ce;Pe=sn;Ie=m;Ce=k;xe=h;break r}break}case 14:{fn=w;ln=le;un=ue;cn=de;Ne=143;break}case 15:{dn=w;hn=le;mn=ue;pn=de;Ne=144;break}case 16:{if(w>>>0<14){Xe=w;He=le;Be=ue;ze=de;while(1){if(!He){he=ce;me=Xe;pe=0;we=Be;ke=ze;be=m;ve=k;Ee=h;break e}We=He+-1|0;Ve=ze+1|0;Le=(a[ze>>0]<<Xe)+Be|0;nn=Xe+8|0;if(nn>>>0<14){Xe=nn;He=We;Be=Le;ze=Ve}else{wn=nn;kn=We;bn=Le;vn=Ve;break}}}else{wn=w;kn=le;bn=ue;vn=de}ze=(bn&31)+257|0;o[ee>>2]=ze;Be=(bn>>>5&31)+1|0;o[re>>2]=Be;He=(bn>>>10&15)+4|0;o[se>>2]=He;Xe=bn>>>14;Ye=wn+-14|0;if(ze>>>0>286|Be>>>0>30){o[M>>2]=13712;o[u>>2]=29;Oe=Ye;Te=kn;Fe=Xe;Re=ce;Pe=vn;Ie=m;Ce=k;xe=h;break r}else{o[$>>2]=0;o[u>>2]=17;En=He;gn=0;yn=Ye;_n=kn;Sn=Xe;An=vn;Ne=154;break r}break}case 17:{Xe=o[$>>2]|0;Ye=o[se>>2]|0;if(Xe>>>0<Ye>>>0){En=Ye;gn=Xe;yn=w;_n=le;Sn=ue;An=de;Ne=154}else{Dn=Xe;Mn=w;Nn=le;Ln=ue;On=de;Ne=155}break}case 18:{Tn=o[$>>2]|0;Fn=w;Rn=le;Pn=ue;In=de;Cn=h;Ne=165;break}case 19:{xn=w;Bn=le;zn=ue;Un=de;jn=h;Ne=202;break}case 20:{qn=w;Yn=le;Vn=ue;Xn=de;Hn=h;Ne=203;break}case 21:{Wn=o[j>>2]|0;Gn=w;Kn=le;Zn=ue;Qn=de;Jn=h;Ne=221;break}case 22:{$n=w;et=le;rt=ue;nt=de;tt=h;Ne=228;break}case 23:{it=o[j>>2]|0;ot=w;at=le;st=ue;ft=de;lt=h;Ne=240;break}case 24:{ut=w;ct=le;dt=ue;ht=de;mt=h;Ne=246;break}case 25:{if(!ce){he=0;me=w;pe=le;we=ue;ke=de;be=m;ve=k;Ee=h;break e}t[k>>0]=o[T>>2];o[u>>2]=20;Oe=w;Te=le;Fe=ue;Re=ce+-1|0;Pe=de;Ie=m;Ce=k+1|0;xe=h;break}case 26:{if(o[y>>2]|0){if(w>>>0<32){Xe=w;Ye=le;He=ue;Be=de;while(1){if(!Ye){he=ce;me=Xe;pe=0;we=He;ke=Be;be=m;ve=k;Ee=h;break e}ze=Ye+-1|0;qe=Be+1|0;Ve=(a[Be>>0]<<Xe)+He|0;Le=Xe+8|0;if(Le>>>0<32){Xe=Le;Ye=ze;He=Ve;Be=qe}else{pt=Le;wt=ze;kt=Ve;bt=qe;break}}}else{pt=w;wt=le;kt=ue;bt=de}Be=m-ce|0;o[K>>2]=(o[K>>2]|0)+Be;o[Z>>2]=(o[Z>>2]|0)+Be;if((m|0)==(ce|0))vt=o[_>>2]|0;else{He=o[_>>2]|0;Ye=k+(0-Be)|0;if(!(o[A>>2]|0))Et=Ue(He,Ye,Be)|0;else Et=je(He,Ye,Be)|0;o[_>>2]=Et;o[O>>2]=Et;vt=Et}Be=(o[A>>2]|0)==0;Ye=en(kt|0)|0;if(((Be?Ye:kt)|0)==(vt|0)){gt=0;yt=wt;_t=0;St=bt;At=ce}else{o[M>>2]=13966;o[u>>2]=29;Oe=pt;Te=wt;Fe=kt;Re=ce;Pe=bt;Ie=ce;Ce=k;xe=h;break r}}else{gt=w;yt=le;_t=ue;St=de;At=m}o[u>>2]=27;Dt=gt;Mt=yt;Nt=_t;Lt=St;Ot=At;Ne=276;break}case 27:{Dt=w;Mt=le;Nt=ue;Lt=de;Ot=m;Ne=276;break}default:{Ne=296;break e}}}while(0);if((Ne|0)==47)while(1){Ne=0;if(!tr){he=ce;me=nr;pe=0;we=ir;ke=or;be=m;ve=k;Ee=h;break e}Ye=tr+-1|0;Be=or+1|0;He=(a[or>>0]<<nr)+ir|0;nr=nr+8|0;if(nr>>>0>=32){ar=Ye;sr=He;fr=Be;Ne=49;break}else{tr=Ye;ir=He;or=Be;Ne=47}}else if((Ne|0)==121){Ne=0;if(!(o[F>>2]|0)){Tt=qr;Ft=Yr;Rt=Vr;Pt=ce;It=Xr;Ct=k;Ne=122;break}Be=Ue(0,0,0)|0;o[_>>2]=Be;o[O>>2]=Be;o[u>>2]=11;Hr=qr;Wr=Yr;Gr=Vr;Kr=Xr;Ne=124}else if((Ne|0)==143){Ne=0;o[u>>2]=15;dn=fn;hn=ln;mn=un;pn=cn;Ne=144}else if((Ne|0)==154){Ne=0;Be=gn;He=yn;Ye=_n;Xe=Sn;qe=An;while(1){if(He>>>0<3){Ve=He;ze=Ye;Le=Xe;We=qe;while(1){if(!ze){he=ce;me=Ve;pe=0;we=Le;ke=We;be=m;ve=k;Ee=h;break e}nn=ze+-1|0;xt=We+1|0;Bt=(a[We>>0]<<Ve)+Le|0;zt=Ve+8|0;if(zt>>>0<3){Ve=zt;ze=nn;Le=Bt;We=xt}else{Ut=zt;jt=nn;qt=Bt;Yt=xt;break}}}else{Ut=He;jt=Ye;qt=Xe;Yt=qe}We=Be+1|0;o[$>>2]=We;i[u+112+(s[11804+(Be<<1)>>1]<<1)>>1]=qt&7;Le=qt>>>3;ze=Ut+-3|0;if(We>>>0<En>>>0){Be=We;He=ze;Ye=jt;Xe=Le;qe=Yt}else{Dn=We;Mn=ze;Nn=jt;Ln=Le;On=Yt;Ne=155;break}}}else if((Ne|0)==276){Ne=0;if(!(o[y>>2]|0)){Vt=Dt;Xt=Mt;Ht=Nt;Wt=ce;Gt=Lt;Kt=Ot;Zt=k;Ne=283;break}if(!(o[A>>2]|0)){Vt=Dt;Xt=Mt;Ht=Nt;Wt=ce;Gt=Lt;Kt=Ot;Zt=k;Ne=283;break}if(Dt>>>0<32){qe=Dt;Xe=Mt;Ye=Nt;He=Lt;while(1){if(!Xe){he=ce;me=qe;pe=0;we=Ye;ke=He;be=Ot;ve=k;Ee=h;break e}Be=Xe+-1|0;Le=He+1|0;ze=(a[He>>0]<<qe)+Ye|0;We=qe+8|0;if(We>>>0<32){qe=We;Xe=Be;Ye=ze;He=Le}else{Qt=We;Jt=Be;$t=ze;ei=Le;break}}}else{Qt=Dt;Jt=Mt;$t=Nt;ei=Lt}if(($t|0)==(o[Z>>2]|0)){Vt=0;Xt=Jt;Ht=0;Wt=ce;Gt=ei;Kt=Ot;Zt=k;Ne=283;break}o[M>>2]=13987;o[u>>2]=29;Oe=Qt;Te=Jt;Fe=$t;Re=ce;Pe=ei;Ie=Ot;Ce=k;xe=h}do{if((Ne|0)==49){Ne=0;He=o[D>>2]|0;if(He)o[He+4>>2]=sr;if(o[A>>2]&512){t[f>>0]=sr;t[S>>0]=sr>>>8;t[Q>>0]=sr>>>16;t[J>>0]=sr>>>24;o[_>>2]=je(o[_>>2]|0,f,4)|0}o[u>>2]=3;lr=0;cr=ar;dr=0;hr=fr;Ne=55}else if((Ne|0)==124){Ne=0;if(R){he=ce;me=Hr;pe=Wr;we=Gr;ke=Kr;be=m;ve=k;Ee=h;break e}else{Zr=Hr;Qr=Wr;Jr=Gr;rn=Kr;Ne=125}}else if((Ne|0)==144){Ne=0;He=o[T>>2]|0;if(!He){o[u>>2]=11;Oe=dn;Te=hn;Fe=mn;Re=ce;Pe=pn;Ie=m;Ce=k;xe=h;break}Ye=He>>>0>hn>>>0?hn:He;He=Ye>>>0>ce>>>0?ce:Ye;if(!He){he=ce;me=dn;pe=hn;we=mn;ke=pn;be=m;ve=k;Ee=h;break e}$r(k|0,pn|0,He|0)|0;o[T>>2]=(o[T>>2]|0)-He;Oe=dn;Te=hn-He|0;Fe=mn;Re=ce-He|0;Pe=pn+He|0;Ie=m;Ce=k+He|0;xe=h}else if((Ne|0)==155){Ne=0;if(Dn>>>0<19){He=Dn;do{i[u+112+(s[11804+(He<<1)>>1]<<1)>>1]=0;He=He+1|0}while((He|0)!=19);o[$>>2]=19}o[ie>>2]=te;o[I>>2]=te;o[C>>2]=7;He=kr(0,oe,19,ie,C,ae)|0;if(!He){o[$>>2]=0;o[u>>2]=18;Tn=0;Fn=Mn;Rn=Nn;Pn=Ln;In=On;Cn=0;Ne=165;break}else{o[M>>2]=13748;o[u>>2]=29;Oe=Mn;Te=Nn;Fe=Ln;Re=ce;Pe=On;Ie=m;Ce=k;xe=He;break}}}while(0);r:do{if((Ne|0)==55)while(1){Ne=0;if(!cr){he=ce;me=lr;pe=0;we=dr;ke=hr;be=m;ve=k;Ee=h;break e}He=cr+-1|0;Ye=hr+1|0;Xe=(a[hr>>0]<<lr)+dr|0;lr=lr+8|0;if(lr>>>0>=16){mr=He;pr=Xe;br=Ye;Ne=57;break}else{cr=He;dr=Xe;hr=Ye;Ne=55}}else if((Ne|0)==125){Ne=0;if(o[P>>2]|0){Ye=Zr&7;o[u>>2]=26;Oe=Zr-Ye|0;Te=Qr;Fe=Jr>>>Ye;Re=ce;Pe=rn;Ie=m;Ce=k;xe=h;break}if(Zr>>>0<3){Ye=Zr;Xe=Qr;He=Jr;qe=rn;while(1){if(!Xe){he=ce;me=Ye;pe=0;we=He;ke=qe;be=m;ve=k;Ee=h;break e}Le=Xe+-1|0;ze=qe+1|0;Be=(a[qe>>0]<<Ye)+He|0;We=Ye+8|0;if(We>>>0<3){Ye=We;Xe=Le;He=Be;qe=ze}else{ri=We;ni=Le;ti=Be;ii=ze;break}}}else{ri=Zr;ni=Qr;ti=Jr;ii=rn}o[P>>2]=ti&1;switch(ti>>>1&3|0){case 0:{o[u>>2]=13;break}case 1:{o[I>>2]=9628;o[C>>2]=9;o[x>>2]=11676;o[B>>2]=5;o[u>>2]=19;if(z){oi=ri;ai=ni;si=ti;fi=ce;li=ii;ui=m;ci=k;di=h;Ne=133;break e}break}case 2:{o[u>>2]=16;break}case 3:{o[M>>2]=13664;o[u>>2]=29;break}default:{}}Oe=ri+-3|0;Te=ni;Fe=ti>>>3;Re=ce;Pe=ii;Ie=m;Ce=k;xe=h}else if((Ne|0)==165){Ne=0;qe=o[ee>>2]|0;He=o[re>>2]|0;do{if(Tn>>>0<(He+qe|0)>>>0){Xe=Tn;Ye=He;ze=qe;Be=Fn;Le=Rn;We=Pn;Ve=In;n:while(1){xt=(1<<o[C>>2])+-1|0;Bt=xt&We;nn=o[I>>2]|0;zt=a[nn+(Bt<<2)+1>>0]|0;if(zt>>>0>Be>>>0){hi=Be;mi=Le;pi=We;wi=Ve;while(1){if(!mi){he=ce;me=hi;pe=0;we=pi;ke=wi;be=m;ve=k;Ee=Cn;break e}ki=mi+-1|0;bi=wi+1|0;vi=(a[wi>>0]<<hi)+pi|0;Ei=hi+8|0;gi=xt&vi;yi=a[nn+(gi<<2)+1>>0]|0;if(yi>>>0>Ei>>>0){hi=Ei;mi=ki;pi=vi;wi=bi}else{_i=yi;Si=gi;Ai=Ei;Di=ki;Mi=vi;Ni=bi;break}}}else{_i=zt;Si=Bt;Ai=Be;Di=Le;Mi=We;Ni=Ve}wi=i[nn+(Si<<2)+2>>1]|0;if((wi&65535)>=16){switch(wi<<16>>16){case 16:{pi=_i+2|0;if(Ai>>>0<pi>>>0){mi=Ai;hi=Di;xt=Mi;bi=Ni;while(1){if(!hi){he=ce;me=mi;pe=0;we=xt;ke=bi;be=m;ve=k;Ee=Cn;break e}vi=hi+-1|0;ki=bi+1|0;Ei=(a[bi>>0]<<mi)+xt|0;gi=mi+8|0;if(gi>>>0<pi>>>0){mi=gi;hi=vi;xt=Ei;bi=ki}else{Li=gi;Oi=vi;Ti=Ei;Fi=ki;break}}}else{Li=Ai;Oi=Di;Ti=Mi;Fi=Ni}bi=Ti>>>_i;xt=Li-_i|0;if(!Xe){Ri=bi;Pi=xt;Ii=Oi;Ci=Fi;Ne=182;break n}xi=xt+-2|0;Bi=(bi&3)+3|0;zi=Oi;Ui=bi>>>2;ji=s[u+112+(Xe+-1<<1)>>1]|0;qi=Fi;break}case 17:{bi=_i+3|0;if(Ai>>>0<bi>>>0){xt=Ai;hi=Di;mi=Mi;pi=Ni;while(1){if(!hi){he=ce;me=xt;pe=0;we=mi;ke=pi;be=m;ve=k;Ee=Cn;break e}nn=hi+-1|0;Bt=pi+1|0;zt=(a[pi>>0]<<xt)+mi|0;ki=xt+8|0;if(ki>>>0<bi>>>0){xt=ki;hi=nn;mi=zt;pi=Bt}else{Yi=ki;Vi=nn;Xi=zt;Hi=Bt;break}}}else{Yi=Ai;Vi=Di;Xi=Mi;Hi=Ni}pi=Xi>>>_i;xi=-3-_i+Yi|0;Bi=(pi&7)+3|0;zi=Vi;Ui=pi>>>3;ji=0;qi=Hi;break}default:{pi=_i+7|0;if(Ai>>>0<pi>>>0){mi=Ai;hi=Di;xt=Mi;bi=Ni;while(1){if(!hi){he=ce;me=mi;pe=0;we=xt;ke=bi;be=m;ve=k;Ee=Cn;break e}Bt=hi+-1|0;zt=bi+1|0;nn=(a[bi>>0]<<mi)+xt|0;ki=mi+8|0;if(ki>>>0<pi>>>0){mi=ki;hi=Bt;xt=nn;bi=zt}else{Wi=ki;Gi=Bt;Ki=nn;Zi=zt;break}}}else{Wi=Ai;Gi=Di;Ki=Mi;Zi=Ni}bi=Ki>>>_i;xi=-7-_i+Wi|0;Bi=(bi&127)+11|0;zi=Gi;Ui=bi>>>7;ji=0;qi=Zi}}if((Xe+Bi|0)>>>0>(Ye+ze|0)>>>0){Qi=xi;Ji=zi;$i=Ui;eo=qi;Ne=192;break}bi=ji&65535;xt=Bi+-1|0;o[$>>2]=Xe+1;i[u+112+(Xe<<1)>>1]=bi;if(!xt){ro=xi;no=zi;to=Ui;io=qi}else{hi=xt;do{xt=o[$>>2]|0;hi=hi+-1|0;o[$>>2]=xt+1;i[u+112+(xt<<1)>>1]=bi}while((hi|0)!=0);ro=xi;no=zi;to=Ui;io=qi}}else{if(Ai>>>0<_i>>>0){hi=Ai;bi=Di;xt=Mi;mi=Ni;while(1){if(!bi){he=ce;me=hi;pe=0;we=xt;ke=mi;be=m;ve=k;Ee=Cn;break e}pi=bi+-1|0;zt=mi+1|0;nn=(a[mi>>0]<<hi)+xt|0;Bt=hi+8|0;if(Bt>>>0<_i>>>0){hi=Bt;bi=pi;xt=nn;mi=zt}else{oo=Bt;ao=pi;so=nn;fo=zt;break}}}else{oo=Ai;ao=Di;so=Mi;fo=Ni}o[$>>2]=Xe+1;i[u+112+(Xe<<1)>>1]=wi;ro=oo-_i|0;no=ao;to=so>>>_i;io=fo}Xe=o[$>>2]|0;mi=o[ee>>2]|0;Ye=o[re>>2]|0;if(Xe>>>0>=(Ye+mi|0)>>>0){lo=mi;uo=ro;co=no;ho=to;mo=io;Ne=194;break}else{ze=mi;Be=ro;Le=no;We=to;Ve=io}}if((Ne|0)==182){Ne=0;o[M>>2]=13773;o[u>>2]=29;Oe=Pi;Te=Ii;Fe=Ri;Re=ce;Pe=Ci;Ie=m;Ce=k;xe=Cn;break r}else if((Ne|0)==192){Ne=0;o[M>>2]=13773;o[u>>2]=29;Oe=Qi;Te=Ji;Fe=$i;Re=ce;Pe=eo;Ie=m;Ce=k;xe=Cn;break r}else if((Ne|0)==194){Ne=0;if((o[u>>2]|0)==29){Oe=uo;Te=co;Fe=ho;Re=ce;Pe=mo;Ie=m;Ce=k;xe=Cn;break r}else{po=lo;wo=uo;ko=co;bo=ho;vo=mo;break}}}else{po=qe;wo=Fn;ko=Rn;bo=Pn;vo=In}}while(0);if(!(i[ne>>1]|0)){o[M>>2]=13799;o[u>>2]=29;Oe=wo;Te=ko;Fe=bo;Re=ce;Pe=vo;Ie=m;Ce=k;xe=Cn;break}o[ie>>2]=te;o[I>>2]=te;o[C>>2]=9;qe=kr(1,oe,po,ie,C,ae)|0;if(qe){o[M>>2]=13836;o[u>>2]=29;Oe=wo;Te=ko;Fe=bo;Re=ce;Pe=vo;Ie=m;Ce=k;xe=qe;break}o[x>>2]=o[ie>>2];o[B>>2]=6;qe=kr(2,u+112+(o[ee>>2]<<1)|0,o[re>>2]|0,ie,B,ae)|0;if(!qe){o[u>>2]=19;if(z){he=ce;me=wo;pe=ko;we=bo;ke=vo;be=m;ve=k;Ee=0;break e}else{xn=wo;Bn=ko;zn=bo;Un=vo;jn=0;Ne=202;break}}else{o[M>>2]=13864;o[u>>2]=29;Oe=wo;Te=ko;Fe=bo;Re=ce;Pe=vo;Ie=m;Ce=k;xe=qe;break}}}while(0);if((Ne|0)==57){Ne=0;qe=o[D>>2]|0;if(qe){o[qe+8>>2]=pr&255;o[qe+12>>2]=pr>>>8}if(o[A>>2]&512){t[f>>0]=pr;t[S>>0]=pr>>>8;o[_>>2]=je(o[_>>2]|0,f,2)|0}o[u>>2]=4;vr=0;Er=mr;gr=0;yr=br;Ne=62}else if((Ne|0)==202){Ne=0;o[u>>2]=20;qn=xn;Yn=Bn;Vn=zn;Xn=Un;Hn=jn;Ne=203}do{if((Ne|0)==62){Ne=0;qe=o[A>>2]|0;if(!(qe&1024)){He=o[D>>2]|0;if(!He){Eo=vr;go=Er;yo=gr;_o=yr}else{o[He+16>>2]=0;Eo=vr;go=Er;yo=gr;_o=yr}}else{if(vr>>>0<16){He=vr;Ve=Er;We=gr;Le=yr;while(1){if(!Ve){he=ce;me=He;pe=0;we=We;ke=Le;be=m;ve=k;Ee=h;break e}Be=Ve+-1|0;ze=Le+1|0;Ye=(a[Le>>0]<<He)+We|0;He=He+8|0;if(He>>>0>=16){So=Be;Ao=Ye;Do=ze;break}else{Ve=Be;We=Ye;Le=ze}}}else{So=Er;Ao=gr;Do=yr}o[T>>2]=Ao;Le=o[D>>2]|0;if(Le)o[Le+20>>2]=Ao;if(!(qe&512)){Eo=0;go=So;yo=0;_o=Do}else{t[f>>0]=Ao;t[S>>0]=Ao>>>8;o[_>>2]=je(o[_>>2]|0,f,2)|0;Eo=0;go=So;yo=0;_o=Do}}o[u>>2]=5;_r=Eo;Sr=go;Ar=yo;Dr=_o;Ne=73}else if((Ne|0)==203){Ne=0;if(ce>>>0>257&Yn>>>0>5){o[d>>2]=k;o[p>>2]=ce;o[e>>2]=Xn;o[b>>2]=Yn;o[E>>2]=Vn;o[g>>2]=qn;ur(e,m);Le=o[d>>2]|0;We=o[p>>2]|0;Ve=o[e>>2]|0;He=o[b>>2]|0;ze=o[E>>2]|0;Ye=o[g>>2]|0;if((o[u>>2]|0)!=11){Oe=Ye;Te=He;Fe=ze;Re=We;Pe=Ve;Ie=m;Ce=Le;xe=Hn;break}o[U>>2]=-1;Oe=Ye;Te=He;Fe=ze;Re=We;Pe=Ve;Ie=m;Ce=Le;xe=Hn;break}o[U>>2]=0;Le=(1<<o[C>>2])+-1|0;Ve=Le&Vn;We=o[I>>2]|0;ze=t[We+(Ve<<2)+1>>0]|0;He=ze&255;if(He>>>0>qn>>>0){Ye=qn;Be=Yn;Xe=Vn;mi=Xn;while(1){if(!Be){he=ce;me=Ye;pe=0;we=Xe;ke=mi;be=m;ve=k;Ee=Hn;break e}xt=Be+-1|0;bi=mi+1|0;hi=(a[mi>>0]<<Ye)+Xe|0;zt=Ye+8|0;nn=Le&hi;pi=t[We+(nn<<2)+1>>0]|0;Bt=pi&255;if(Bt>>>0>zt>>>0){Ye=zt;Be=xt;Xe=hi;mi=bi}else{Mo=pi;No=Bt;Lo=nn;Oo=zt;To=xt;Fo=hi;Ro=bi;break}}}else{Mo=ze;No=He;Lo=Ve;Oo=qn;To=Yn;Fo=Vn;Ro=Xn}mi=t[We+(Lo<<2)>>0]|0;Xe=i[We+(Lo<<2)+2>>1]|0;Be=mi&255;if(mi<<24>>24!=0&(Be&240|0)==0){Ye=Xe&65535;Le=(1<<No+Be)+-1|0;Be=((Fo&Le)>>>No)+Ye|0;qe=t[We+(Be<<2)+1>>0]|0;if(((qe&255)+No|0)>>>0>Oo>>>0){bi=Oo;hi=To;xt=Fo;zt=Ro;while(1){if(!hi){he=ce;me=bi;pe=0;we=xt;ke=zt;be=m;ve=k;Ee=Hn;break e}nn=hi+-1|0;Bt=zt+1|0;pi=(a[zt>>0]<<bi)+xt|0;ki=bi+8|0;Ei=((pi&Le)>>>No)+Ye|0;vi=t[We+(Ei<<2)+1>>0]|0;if(((vi&255)+No|0)>>>0>ki>>>0){bi=ki;hi=nn;xt=pi;zt=Bt}else{Po=Ei;Io=vi;Co=ki;xo=nn;Bo=pi;zo=Bt;break}}}else{Po=Be;Io=qe;Co=Oo;xo=To;Bo=Fo;zo=Ro}zt=i[We+(Po<<2)+2>>1]|0;xt=t[We+(Po<<2)>>0]|0;o[U>>2]=No;Uo=No;jo=Co-No|0;qo=xo;Yo=xt;Vo=Io;Xo=zt;Ho=Bo>>>No;Wo=zo}else{Uo=0;jo=Oo;qo=To;Yo=mi;Vo=Mo;Xo=Xe;Ho=Fo;Wo=Ro}zt=Vo&255;xt=Ho>>>zt;hi=jo-zt|0;o[U>>2]=Uo+zt;o[T>>2]=Xo&65535;zt=Yo&255;if(!(Yo<<24>>24)){o[u>>2]=25;Oe=hi;Te=qo;Fe=xt;Re=ce;Pe=Wo;Ie=m;Ce=k;xe=Hn;break}if(zt&32){o[U>>2]=-1;o[u>>2]=11;Oe=hi;Te=qo;Fe=xt;Re=ce;Pe=Wo;Ie=m;Ce=k;xe=Hn;break}if(!(zt&64)){bi=zt&15;o[j>>2]=bi;o[u>>2]=21;Wn=bi;Gn=hi;Kn=qo;Zn=xt;Qn=Wo;Jn=Hn;Ne=221;break}else{o[M>>2]=13886;o[u>>2]=29;Oe=hi;Te=qo;Fe=xt;Re=ce;Pe=Wo;Ie=m;Ce=k;xe=Hn;break}}}while(0);if((Ne|0)==73){Ne=0;xt=o[A>>2]|0;if(xt&1024){hi=o[T>>2]|0;bi=hi>>>0>Sr>>>0?Sr:hi;if(!bi){Go=hi;Ko=Sr;Zo=Dr}else{zt=o[D>>2]|0;if((zt|0)!=0?(Ye=o[zt+16>>2]|0,(Ye|0)!=0):0){Le=(o[zt+20>>2]|0)-hi|0;hi=o[zt+24>>2]|0;$r(Ye+Le|0,Dr|0,((Le+bi|0)>>>0>hi>>>0?hi-Le|0:bi)|0)|0;Qo=o[A>>2]|0}else Qo=xt;if(Qo&512)o[_>>2]=je(o[_>>2]|0,Dr,bi)|0;xt=(o[T>>2]|0)-bi|0;o[T>>2]=xt;Go=xt;Ko=Sr-bi|0;Zo=Dr+bi|0}if(!Go){Jo=Ko;$o=Zo}else{he=ce;me=_r;pe=Ko;we=Ar;ke=Zo;be=m;ve=k;Ee=h;break}}else{Jo=Sr;$o=Dr}o[T>>2]=0;o[u>>2]=6;Mr=_r;Nr=Jo;Lr=Ar;Or=$o;Ne=83}else if((Ne|0)==221){Ne=0;if(!Wn){ea=o[T>>2]|0;ra=Gn;na=Kn;ta=Zn;ia=Qn}else{if(Gn>>>0<Wn>>>0){bi=Gn;xt=Kn;Le=Zn;hi=Qn;while(1){if(!xt){he=ce;me=bi;pe=0;we=Le;ke=hi;be=m;ve=k;Ee=Jn;break e}Ye=xt+-1|0;zt=hi+1|0;Ve=(a[hi>>0]<<bi)+Le|0;He=bi+8|0;if(He>>>0<Wn>>>0){bi=He;xt=Ye;Le=Ve;hi=zt}else{oa=He;aa=Ye;sa=Ve;fa=zt;break}}}else{oa=Gn;aa=Kn;sa=Zn;fa=Qn}hi=(o[T>>2]|0)+((1<<Wn)+-1&sa)|0;o[T>>2]=hi;o[U>>2]=(o[U>>2]|0)+Wn;ea=hi;ra=oa-Wn|0;na=aa;ta=sa>>>Wn;ia=fa}o[q>>2]=ea;o[u>>2]=22;$n=ra;et=na;rt=ta;nt=ia;tt=Jn;Ne=228}do{if((Ne|0)==83){Ne=0;if(!(o[A>>2]&2048)){hi=o[D>>2]|0;if(!hi){la=Nr;ua=Or}else{o[hi+28>>2]=0;la=Nr;ua=Or}}else{if(!Nr){he=ce;me=Mr;pe=0;we=Lr;ke=Or;be=m;ve=k;Ee=h;break e}else ca=0;while(1){hi=ca+1|0;Le=t[Or+ca>>0]|0;xt=o[D>>2]|0;if(((xt|0)!=0?(bi=o[xt+28>>2]|0,(bi|0)!=0):0)?(zt=o[T>>2]|0,zt>>>0<(o[xt+32>>2]|0)>>>0):0){o[T>>2]=zt+1;t[bi+zt>>0]=Le}zt=Le<<24>>24!=0;if(zt&Nr>>>0>hi>>>0)ca=hi;else{da=hi;ha=zt;break}}if(o[A>>2]&512)o[_>>2]=je(o[_>>2]|0,Or,da)|0;Xe=Nr-da|0;mi=Or+da|0;if(ha){he=ce;me=Mr;pe=Xe;we=Lr;ke=mi;be=m;ve=k;Ee=h;break e}else{la=Xe;ua=mi}}o[T>>2]=0;o[u>>2]=7;Tr=Mr;Fr=la;Rr=Lr;Pr=ua;Ne=96}else if((Ne|0)==228){Ne=0;mi=(1<<o[B>>2])+-1|0;Xe=mi&rt;We=o[x>>2]|0;qe=t[We+(Xe<<2)+1>>0]|0;Be=qe&255;if(Be>>>0>$n>>>0){zt=$n;hi=et;Le=rt;bi=nt;while(1){if(!hi){he=ce;me=zt;pe=0;we=Le;ke=bi;be=m;ve=k;Ee=tt;break e}xt=hi+-1|0;Ve=bi+1|0;Ye=(a[bi>>0]<<zt)+Le|0;He=zt+8|0;ze=mi&Ye;Bt=t[We+(ze<<2)+1>>0]|0;pi=Bt&255;if(pi>>>0>He>>>0){zt=He;hi=xt;Le=Ye;bi=Ve}else{ma=Bt;pa=pi;wa=ze;ka=He;ba=xt;va=Ye;Ea=Ve;break}}}else{ma=qe;pa=Be;wa=Xe;ka=$n;ba=et;va=rt;Ea=nt}bi=t[We+(wa<<2)>>0]|0;Le=i[We+(wa<<2)+2>>1]|0;hi=bi&255;if(!(hi&240)){zt=Le&65535;mi=(1<<pa+hi)+-1|0;hi=((va&mi)>>>pa)+zt|0;Ve=t[We+(hi<<2)+1>>0]|0;if(((Ve&255)+pa|0)>>>0>ka>>>0){Ye=ka;xt=ba;He=va;ze=Ea;while(1){if(!xt){he=ce;me=Ye;pe=0;we=He;ke=ze;be=m;ve=k;Ee=tt;break e}pi=xt+-1|0;Bt=ze+1|0;nn=(a[ze>>0]<<Ye)+He|0;ki=Ye+8|0;vi=((nn&mi)>>>pa)+zt|0;Ei=t[We+(vi<<2)+1>>0]|0;if(((Ei&255)+pa|0)>>>0>ki>>>0){Ye=ki;xt=pi;He=nn;ze=Bt}else{ga=vi;ya=Ei;_a=ki;Sa=pi;Aa=nn;Da=Bt;break}}}else{ga=hi;ya=Ve;_a=ka;Sa=ba;Aa=va;Da=Ea}ze=i[We+(ga<<2)+2>>1]|0;He=t[We+(ga<<2)>>0]|0;xt=(o[U>>2]|0)+pa|0;o[U>>2]=xt;Ma=xt;Na=_a-pa|0;La=Sa;Oa=He;Ta=ya;Fa=ze;Ra=Aa>>>pa;Pa=Da}else{Ma=o[U>>2]|0;Na=ka;La=ba;Oa=bi;Ta=ma;Fa=Le;Ra=va;Pa=Ea}ze=Ta&255;He=Ra>>>ze;xt=Na-ze|0;o[U>>2]=Ma+ze;ze=Oa&255;if(!(ze&64)){o[Y>>2]=Fa&65535;Ye=ze&15;o[j>>2]=Ye;o[u>>2]=23;it=Ye;ot=xt;at=La;st=He;ft=Pa;lt=tt;Ne=240;break}else{o[M>>2]=13914;o[u>>2]=29;Oe=xt;Te=La;Fe=He;Re=ce;Pe=Pa;Ie=m;Ce=k;xe=tt;break}}}while(0);if((Ne|0)==96){Ne=0;if(!(o[A>>2]&4096)){He=o[D>>2]|0;if(!He){Ia=Fr;Ca=Pr}else{o[He+36>>2]=0;Ia=Fr;Ca=Pr}}else{if(!Fr){he=ce;me=Tr;pe=0;we=Rr;ke=Pr;be=m;ve=k;Ee=h;break}else xa=0;while(1){He=xa+1|0;xt=t[Pr+xa>>0]|0;Ye=o[D>>2]|0;if(((Ye|0)!=0?(ze=o[Ye+36>>2]|0,(ze|0)!=0):0)?(zt=o[T>>2]|0,zt>>>0<(o[Ye+40>>2]|0)>>>0):0){o[T>>2]=zt+1;t[ze+zt>>0]=xt}zt=xt<<24>>24!=0;if(zt&Fr>>>0>He>>>0)xa=He;else{Ba=He;za=zt;break}}if(o[A>>2]&512)o[_>>2]=je(o[_>>2]|0,Pr,Ba)|0;zt=Fr-Ba|0;He=Pr+Ba|0;if(za){he=ce;me=Tr;pe=zt;we=Rr;ke=He;be=m;ve=k;Ee=h;break}else{Ia=zt;Ca=He}}o[u>>2]=8;Ir=Tr;Cr=Ia;xr=Rr;Br=Ca;Ne=109}else if((Ne|0)==240){Ne=0;if(!it){Ua=ot;ja=at;qa=st;Ya=ft}else{if(ot>>>0<it>>>0){He=ot;zt=at;xt=st;ze=ft;while(1){if(!zt){he=ce;me=He;pe=0;we=xt;ke=ze;be=m;ve=k;Ee=lt;break e}Ye=zt+-1|0;mi=ze+1|0;Xe=(a[ze>>0]<<He)+xt|0;Be=He+8|0;if(Be>>>0<it>>>0){He=Be;zt=Ye;xt=Xe;ze=mi}else{Va=Be;Xa=Ye;Ha=Xe;Wa=mi;break}}}else{Va=ot;Xa=at;Ha=st;Wa=ft}o[Y>>2]=(o[Y>>2]|0)+((1<<it)+-1&Ha);o[U>>2]=(o[U>>2]|0)+it;Ua=Va-it|0;ja=Xa;qa=Ha>>>it;Ya=Wa}o[u>>2]=24;ut=Ua;ct=ja;dt=qa;ht=Ya;mt=lt;Ne=246}do{if((Ne|0)==109){Ne=0;ze=o[A>>2]|0;if(ze&512){if(Ir>>>0<16){xt=Ir;zt=Cr;He=xr;mi=Br;while(1){if(!zt){he=ce;me=xt;pe=0;we=He;ke=mi;be=m;ve=k;Ee=h;break e}Xe=zt+-1|0;Ye=mi+1|0;Be=(a[mi>>0]<<xt)+He|0;qe=xt+8|0;if(qe>>>0<16){xt=qe;zt=Xe;He=Be;mi=Ye}else{Ga=qe;Ka=Xe;Za=Be;Qa=Ye;break}}}else{Ga=Ir;Ka=Cr;Za=xr;Qa=Br}if((Za|0)==(o[_>>2]&65535|0)){Ja=0;$a=Ka;es=0;rs=Qa}else{o[M>>2]=13644;o[u>>2]=29;Oe=Ga;Te=Ka;Fe=Za;Re=ce;Pe=Qa;Ie=m;Ce=k;xe=h;break}}else{Ja=Ir;$a=Cr;es=xr;rs=Br}mi=o[D>>2]|0;if(mi){o[mi+44>>2]=ze>>>9&1;o[mi+48>>2]=1}mi=je(0,0,0)|0;o[_>>2]=mi;o[O>>2]=mi;o[u>>2]=11;Oe=Ja;Te=$a;Fe=es;Re=ce;Pe=rs;Ie=m;Ce=k;xe=h}else if((Ne|0)==246){Ne=0;if(!ce){he=0;me=ut;pe=ct;we=dt;ke=ht;be=m;ve=k;Ee=mt;break e}mi=m-ce|0;He=o[Y>>2]|0;if(He>>>0>mi>>>0){zt=He-mi|0;if(zt>>>0>(o[V>>2]|0)>>>0?(o[X>>2]|0)!=0:0){o[M>>2]=13936;o[u>>2]=29;Oe=ut;Te=ct;Fe=dt;Re=ce;Pe=ht;Ie=m;Ce=k;xe=mt;break}mi=o[H>>2]|0;if(zt>>>0>mi>>>0){xt=zt-mi|0;ns=xt;ts=(o[W>>2]|0)+((o[G>>2]|0)-xt)|0}else{ns=zt;ts=(o[W>>2]|0)+(mi-zt)|0}zt=o[T>>2]|0;is=zt;os=ns>>>0>zt>>>0?zt:ns;as=ts}else{zt=o[T>>2]|0;is=zt;os=zt;as=k+(0-He)|0}He=os>>>0>ce>>>0?ce:os;o[T>>2]=is-He;zt=os>>>0>ce>>>0?ce:os;mi=He;xt=as;Le=k;while(1){t[Le>>0]=t[xt>>0]|0;mi=mi+-1|0;if(!mi)break;else{xt=xt+1|0;Le=Le+1|0}}Le=ce-He|0;xt=k+zt|0;if(!(o[T>>2]|0)){o[u>>2]=20;Oe=ut;Te=ct;Fe=dt;Re=Le;Pe=ht;Ie=m;Ce=xt;xe=mt}else{Oe=ut;Te=ct;Fe=dt;Re=Le;Pe=ht;Ie=m;Ce=xt;xe=mt}}}while(0);fe=o[u>>2]|0;w=Oe;le=Te;ue=Fe;ce=Re;de=Pe;m=Ie;k=Ce;h=xe}if((Ne|0)==122){o[d>>2]=Ct;o[p>>2]=Pt;o[e>>2]=It;o[b>>2]=Ft;o[E>>2]=Rt;o[g>>2]=Tt;l=2;c=n;return l|0}else if((Ne|0)==133){he=fi;me=oi+-3|0;pe=ai;we=si>>>3;ke=li;be=ui;ve=ci;Ee=di}else if((Ne|0)==283){o[u>>2]=28;he=Wt;me=Vt;pe=Xt;we=Ht;ke=Gt;be=Kt;ve=Zt;Ee=1}else if((Ne|0)==284){he=Se;me=ge;pe=ye;we=_e;ke=Ae;be=De;ve=Me;Ee=-3}else if((Ne|0)==296){l=-2;c=n;return l|0}else if((Ne|0)==297){c=n;return l|0}o[d>>2]=ve;o[p>>2]=he;o[e>>2]=ke;o[b>>2]=pe;o[E>>2]=we;o[g>>2]=me;if((o[G>>2]|0)==0?(o[u>>2]|0)>>>0>25|(be|0)==(he|0):0){ss=pe;fs=he}else Ne=287;do{if((Ne|0)==287){if(!(wr(e,be)|0)){ss=o[b>>2]|0;fs=o[p>>2]|0;break}o[u>>2]=30;l=-4;c=n;return l|0}}while(0);p=be-fs|0;b=e+8|0;o[b>>2]=v-ss+(o[b>>2]|0);o[K>>2]=(o[K>>2]|0)+p;o[Z>>2]=(o[Z>>2]|0)+p;if((be|0)!=(fs|0)&(o[y>>2]|0)!=0){y=o[_>>2]|0;Z=(o[d>>2]|0)+(0-p)|0;if(!(o[A>>2]|0))ls=Ue(y,Z,p)|0;else ls=je(y,Z,p)|0;o[_>>2]=ls;o[O>>2]=ls}ls=o[u>>2]|0;o[e+44>>2]=((o[P>>2]|0)!=0?64:0)+(o[g>>2]|0)+((ls|0)==11?128:0)+((ls|0)==19|(ls|0)==14?256:0);l=(Ee|0)==0&((r|0)==4|(v|0)==(ss|0)&(be|0)==(fs|0))?-5:Ee;c=n;return l|0}function pr(e){e=e|0;var r=0,n=0,t=0,i=0,a=0,s=0,f=0,l=0,u=0;if(!e){r=-2;return r|0}n=e+28|0;t=o[n>>2]|0;if(!t){r=-2;return r|0}i=e+36|0;a=o[i>>2]|0;if(!a){r=-2;return r|0}s=o[t+52>>2]|0;f=e+40|0;if(!s){l=a;u=t}else{mn[a&1](o[f>>2]|0,s);l=o[i>>2]|0;u=o[n>>2]|0}mn[l&1](o[f>>2]|0,u);o[n>>2]=0;r=0;return r|0}function wr(e,r){e=e|0;r=r|0;var n=0,t=0,i=0,a=0,s=0,f=0,l=0,u=0,c=0;n=o[e+28>>2]|0;t=n+52|0;i=o[t>>2]|0;if(!i){a=hn[o[e+32>>2]&7](o[e+40>>2]|0,1<<o[n+36>>2],1)|0;o[t>>2]=a;if(!a){s=1;return s|0}else f=a}else f=i;i=n+40|0;a=o[i>>2]|0;if(!a){l=1<<o[n+36>>2];o[i>>2]=l;o[n+48>>2]=0;o[n+44>>2]=0;u=l}else u=a;a=r-(o[e+16>>2]|0)|0;if(a>>>0>=u>>>0){$r(f|0,(o[e+12>>2]|0)+(0-u)|0,u|0)|0;o[n+48>>2]=0;o[n+44>>2]=o[i>>2];s=0;return s|0}r=n+48|0;l=o[r>>2]|0;c=u-l|0;u=c>>>0>a>>>0?a:c;c=e+12|0;$r(f+l|0,(o[c>>2]|0)+(0-a)|0,u|0)|0;l=a-u|0;if((a|0)!=(u|0)){$r(o[t>>2]|0,(o[c>>2]|0)+(0-l)|0,l|0)|0;o[r>>2]=l;o[n+44>>2]=o[i>>2];s=0;return s|0}l=(o[r>>2]|0)+a|0;c=o[i>>2]|0;o[r>>2]=(l|0)==(c|0)?0:l;l=n+44|0;n=o[l>>2]|0;if(n>>>0>=c>>>0){s=0;return s|0}o[l>>2]=n+a;s=0;return s|0}function kr(e,r,n,a,f,l){e=e|0;r=r|0;n=n|0;a=a|0;f=f|0;l=l|0;var u=0,d=0,h=0,m=0,p=0,w=0,k=0,b=0,v=0,E=0,g=0,y=0,_=0,S=0,A=0,D=0,M=0,N=0,L=0,O=0,T=0,F=0,R=0,P=0,I=0,C=0,x=0,B=0,z=0,U=0,j=0,q=0,Y=0,V=0,X=0,H=0,W=0,G=0,K=0,Z=0,Q=0,J=0,$=0,ee=0,re=0,ne=0,te=0,ie=0,oe=0,ae=0,se=0;u=c;c=c+64|0;d=u+32|0;h=u;m=d;p=m+32|0;do{i[m>>1]=0;m=m+2|0}while((m|0)<(p|0));m=(n|0)==0;if(!m){p=0;do{w=d+(s[r+(p<<1)>>1]<<1)|0;i[w>>1]=(i[w>>1]|0)+1<<16>>16;p=p+1|0}while((p|0)!=(n|0));p=i[d+30>>1]|0;w=o[f>>2]|0;if(!(p<<16>>16)){k=w;b=5}else{v=w;E=p;g=15;b=6}}else{k=o[f>>2]|0;b=5}do{if((b|0)==5)if(!(i[d+28>>1]|0))if(!(i[d+26>>1]|0))if(!(i[d+24>>1]|0))if(!(i[d+22>>1]|0))if(!(i[d+20>>1]|0))if(!(i[d+18>>1]|0))if(!(i[d+16>>1]|0))if(!(i[d+14>>1]|0))if(!(i[d+12>>1]|0))if(!(i[d+10>>1]|0))if(!(i[d+8>>1]|0))if(!(i[d+6>>1]|0))if(!(i[d+4>>1]|0)){if(i[d+2>>1]|0){y=0;_=k>>>0>1?1:k;S=1;A=1;break}p=o[a>>2]|0;o[a>>2]=p+4;t[p>>0]=64;t[p+1>>0]=1;i[p+2>>1]=0;p=o[a>>2]|0;o[a>>2]=p+4;t[p>>0]=64;t[p+1>>0]=1;i[p+2>>1]=0;o[f>>2]=1;D=0;c=u;return D|0}else{v=k;E=0;g=2;b=6}else{v=k;E=0;g=3;b=6}else{v=k;E=0;g=4;b=6}else{v=k;E=0;g=5;b=6}else{v=k;E=0;g=6;b=6}else{v=k;E=0;g=7;b=6}else{v=k;E=0;g=8;b=6}else{v=k;E=0;g=9;b=6}else{v=k;E=0;g=10;b=6}else{v=k;E=0;g=11;b=6}else{v=k;E=0;g=12;b=6}else{v=k;E=0;g=13;b=6}else{v=k;E=0;g=14;b=6}}while(0);e:do{if((b|0)==6){k=v>>>0>g>>>0?g:v;p=1;while(1){if(i[d+(p<<1)>>1]|0){y=E;_=k;S=g;A=p;break e}w=p+1|0;if(w>>>0<g>>>0)p=w;else{y=E;_=k;S=g;A=w;break}}}}while(0);g=_>>>0<A>>>0?A:_;_=i[d+2>>1]|0;E=2-(_&65535)|0;if((E|0)<0){D=-1;c=u;return D|0}v=(E<<1)-(s[d+4>>1]|0)|0;if((v|0)<0){D=-1;c=u;return D|0}E=(v<<1)-(s[d+6>>1]|0)|0;if((E|0)<0){D=-1;c=u;return D|0}v=(E<<1)-(s[d+8>>1]|0)|0;if((v|0)<0){D=-1;c=u;return D|0}E=(v<<1)-(s[d+10>>1]|0)|0;if((E|0)<0){D=-1;c=u;return D|0}v=(E<<1)-(s[d+12>>1]|0)|0;if((v|0)<0){D=-1;c=u;return D|0}E=(v<<1)-(s[d+14>>1]|0)|0;if((E|0)<0){D=-1;c=u;return D|0}v=(E<<1)-(s[d+16>>1]|0)|0;if((v|0)<0){D=-1;c=u;return D|0}E=(v<<1)-(s[d+18>>1]|0)|0;if((E|0)<0){D=-1;c=u;return D|0}v=(E<<1)-(s[d+20>>1]|0)|0;if((v|0)<0){D=-1;c=u;return D|0}E=(v<<1)-(s[d+22>>1]|0)|0;if((E|0)<0){D=-1;c=u;return D|0}v=(E<<1)-(s[d+24>>1]|0)|0;if((v|0)<0){D=-1;c=u;return D|0}E=(v<<1)-(s[d+26>>1]|0)|0;if((E|0)<0){D=-1;c=u;return D|0}v=(E<<1)-(s[d+28>>1]|0)|0;if((v|0)<0){D=-1;c=u;return D|0}E=(v<<1)-(y&65535)|0;if((E|0)<0){D=-1;c=u;return D|0}if((E|0)>0?(e|0)==0|(S|0)!=1:0){D=-1;c=u;return D|0}i[h+2>>1]=0;i[h+4>>1]=_;E=(s[d+4>>1]|0)+(_&65535)|0;i[h+6>>1]=E;_=(s[d+6>>1]|0)+(E&65535)|0;i[h+8>>1]=_;E=(s[d+8>>1]|0)+(_&65535)|0;i[h+10>>1]=E;_=(s[d+10>>1]|0)+(E&65535)|0;i[h+12>>1]=_;E=(s[d+12>>1]|0)+(_&65535)|0;i[h+14>>1]=E;_=(s[d+14>>1]|0)+(E&65535)|0;i[h+16>>1]=_;E=(s[d+16>>1]|0)+(_&65535)|0;i[h+18>>1]=E;_=(s[d+18>>1]|0)+(E&65535)|0;i[h+20>>1]=_;E=(s[d+20>>1]|0)+(_&65535)|0;i[h+22>>1]=E;_=(s[d+22>>1]|0)+(E&65535)|0;i[h+24>>1]=_;E=(s[d+24>>1]|0)+(_&65535)|0;i[h+26>>1]=E;_=(s[d+26>>1]|0)+(E&65535)|0;i[h+28>>1]=_;i[h+30>>1]=(s[d+28>>1]|0)+(_&65535);if(!m){m=0;do{_=i[r+(m<<1)>>1]|0;if(_<<16>>16){E=h+((_&65535)<<1)|0;_=i[E>>1]|0;i[E>>1]=_+1<<16>>16;i[l+((_&65535)<<1)>>1]=m}m=m+1|0}while((m|0)!=(n|0))}switch(e|0){case 0:{M=0;N=0;L=l;O=19;T=l;break}case 1:{if(g>>>0>9){D=1;c=u;return D|0}else{M=0;N=1;L=11392;O=256;T=11518}break}default:{n=(e|0)==2;if(n&g>>>0>9){D=1;c=u;return D|0}else{M=n;N=0;L=11842;O=-1;T=11968}}}n=1<<g;e=n+-1|0;m=g&255;h=g;_=0;E=0;y=A;A=-1;v=o[a>>2]|0;k=0;p=n;e:while(1){n=1<<h;w=E;F=y;R=k;while(1){P=F-_|0;I=P&255;C=i[l+(R<<1)>>1]|0;x=C&65535;do{if((x|0)<(O|0)){B=0;z=C}else{if((x|0)<=(O|0)){B=96;z=0;break}B=i[T+(x<<1)>>1]&255;z=i[L+(x<<1)>>1]|0}}while(0);x=1<<P;C=w>>>_;U=n;do{j=U;U=U-x|0;q=U+C|0;t[v+(q<<2)>>0]=B;t[v+(q<<2)+1>>0]=I;i[v+(q<<2)+2>>1]=z}while((j|0)!=(x|0));x=1<<F+-1;while(1)if(!(x&w)){Y=x;break}else x=x>>>1;if(!Y)V=0;else V=(Y+-1&w)+Y|0;x=R+1|0;C=d+(F<<1)|0;U=(i[C>>1]|0)+-1<<16>>16;i[C>>1]=U;if(!(U<<16>>16)){if((F|0)==(S|0)){X=I;H=_;W=V;G=A;K=v;Z=p;break e}Q=s[r+(s[l+(x<<1)>>1]<<1)>>1]|0}else Q=F;if(Q>>>0<=g>>>0){w=V;F=Q;R=x;continue}U=V&e;if((U|0)==(A|0)){w=V;F=Q;R=x}else{J=x;$=U;ee=V;re=Q;break}}R=(_|0)==0?g:_;F=v+(n<<2)|0;w=re-R|0;r:do{if(re>>>0<S>>>0){U=re;x=w;C=1<<w;while(1){P=C-(s[d+(U<<1)>>1]|0)|0;if((P|0)<1){ne=x;break r}j=x+1|0;U=j+R|0;if(U>>>0>=S>>>0){ne=j;break}else{x=j;C=P<<1}}}else ne=w}while(0);w=(1<<ne)+p|0;if(N&w>>>0>851|M&w>>>0>591){D=1;b=49;break}n=o[a>>2]|0;t[n+($<<2)>>0]=ne;t[n+($<<2)+1>>0]=m;i[n+($<<2)+2>>1]=(F-n|0)>>>2;h=ne;_=R;E=ee;y=re;A=$;v=F;k=J;p=w}if((b|0)==49){c=u;return D|0}e:do{if(W){b=H;p=X;J=W;k=S;v=K;while(1){if((b|0)==0|(J&e|0)==(G|0)){te=b;ie=p;oe=k;ae=v}else{te=0;ie=m;oe=g;ae=o[a>>2]|0}$=J>>>te;t[ae+($<<2)>>0]=64;t[ae+($<<2)+1>>0]=ie;i[ae+($<<2)+2>>1]=0;$=1<<oe+-1;while(1)if(!($&J)){se=$;break}else $=$>>>1;if(!se)break e;J=(se+-1&J)+se|0;if(!J)break;else{b=te;p=ie;k=oe;v=ae}}}}while(0);o[a>>2]=(o[a>>2]|0)+(Z<<2);o[f>>2]=g;D=0;c=u;return D|0}function br(e){e=e|0;o[e+2840>>2]=e+148;o[e+2848>>2]=8320;o[e+2852>>2]=e+2440;o[e+2860>>2]=8340;o[e+2864>>2]=e+2684;o[e+2872>>2]=8360;i[e+5816>>1]=0;o[e+5820>>2]=0;o[e+5812>>2]=8;yr(e);return}function vr(e,r,n,a){e=e|0;r=r|0;n=n|0;a=a|0;var f=0,l=0,u=0,c=0,d=0,h=0,m=0,p=0,w=0,k=0,b=0,v=0,E=0,g=0;f=e+5820|0;l=o[f>>2]|0;u=a&65535;a=e+5816|0;c=s[a>>1]|0|u<<l;i[a>>1]=c;if((l|0)>13){d=e+20|0;h=o[d>>2]|0;o[d>>2]=h+1;m=e+8|0;t[(o[m>>2]|0)+h>>0]=c;h=(s[a>>1]|0)>>>8&255;p=o[d>>2]|0;o[d>>2]=p+1;t[(o[m>>2]|0)+p>>0]=h;h=o[f>>2]|0;p=u>>>(16-h|0);i[a>>1]=p;w=p;k=h+-13|0}else{w=c;k=l+3|0}l=w&255;o[f>>2]=k;do{if((k|0)<=8){w=e+20|0;if((k|0)>0){c=o[w>>2]|0;o[w>>2]=c+1;h=e+8|0;t[(o[h>>2]|0)+c>>0]=l;b=w;v=h;break}else{b=w;v=e+8|0;break}}else{w=e+20|0;h=o[w>>2]|0;o[w>>2]=h+1;c=e+8|0;t[(o[c>>2]|0)+h>>0]=l;h=(s[a>>1]|0)>>>8&255;p=o[w>>2]|0;o[w>>2]=p+1;t[(o[c>>2]|0)+p>>0]=h;b=w;v=c}}while(0);i[a>>1]=0;o[f>>2]=0;o[e+5812>>2]=8;e=o[b>>2]|0;o[b>>2]=e+1;t[(o[v>>2]|0)+e>>0]=n;e=o[b>>2]|0;o[b>>2]=e+1;t[(o[v>>2]|0)+e>>0]=n>>>8;e=n&65535^65535;f=o[b>>2]|0;o[b>>2]=f+1;t[(o[v>>2]|0)+f>>0]=e;f=o[b>>2]|0;o[b>>2]=f+1;t[(o[v>>2]|0)+f>>0]=e>>>8;if(!n)return;else{E=n;g=r}while(1){E=E+-1|0;r=t[g>>0]|0;n=o[b>>2]|0;o[b>>2]=n+1;t[(o[v>>2]|0)+n>>0]=r;if(!E)break;else g=g+1|0}return}function Er(e){e=e|0;var r=0,n=0,a=0,f=0,l=0,u=0,c=0,d=0,h=0,m=0,p=0,w=0,k=0,b=0,v=0,E=0,g=0,y=0;r=e+5820|0;n=o[r>>2]|0;a=e+5816|0;f=s[a>>1]|0|2<<n;l=f&65535;i[a>>1]=l;if((n|0)>13){u=e+20|0;c=o[u>>2]|0;o[u>>2]=c+1;d=e+8|0;t[(o[d>>2]|0)+c>>0]=f;f=(s[a>>1]|0)>>>8&255;c=o[u>>2]|0;o[u>>2]=c+1;t[(o[d>>2]|0)+c>>0]=f;f=o[r>>2]|0;c=2>>>(16-f|0)&65535;i[a>>1]=c;h=c;m=f+-13|0}else{h=l;m=n+3|0}o[r>>2]=m;if((m|0)>9){n=e+20|0;l=o[n>>2]|0;o[n>>2]=l+1;f=e+8|0;t[(o[f>>2]|0)+l>>0]=h;l=(s[a>>1]|0)>>>8&255;c=o[n>>2]|0;o[n>>2]=c+1;t[(o[f>>2]|0)+c>>0]=l;i[a>>1]=0;p=(o[r>>2]|0)+-9|0;w=0}else{p=m+7|0;w=h}o[r>>2]=p;if((p|0)!=16)if((p|0)>7){h=e+20|0;m=o[h>>2]|0;o[h>>2]=m+1;t[(o[e+8>>2]|0)+m>>0]=w;m=(s[a>>1]|0)>>>8;i[a>>1]=m;h=(o[r>>2]|0)+-8|0;o[r>>2]=h;k=h;b=m}else{k=p;b=w}else{p=e+20|0;m=o[p>>2]|0;o[p>>2]=m+1;h=e+8|0;t[(o[h>>2]|0)+m>>0]=w;w=(s[a>>1]|0)>>>8&255;m=o[p>>2]|0;o[p>>2]=m+1;t[(o[h>>2]|0)+m>>0]=w;i[a>>1]=0;o[r>>2]=0;k=0;b=0}w=e+5812|0;if((11-k+(o[w>>2]|0)|0)>=9){o[w>>2]=7;return}m=b&65535|2<<k;i[a>>1]=m;if((k|0)>13){b=e+20|0;h=o[b>>2]|0;o[b>>2]=h+1;p=e+8|0;t[(o[p>>2]|0)+h>>0]=m;h=(s[a>>1]|0)>>>8&255;l=o[b>>2]|0;o[b>>2]=l+1;t[(o[p>>2]|0)+l>>0]=h;h=o[r>>2]|0;l=2>>>(16-h|0);i[a>>1]=l;v=l;E=h+-13|0}else{v=m;E=k+3|0}k=v&255;o[r>>2]=E;if((E|0)>9){v=e+20|0;m=o[v>>2]|0;o[v>>2]=m+1;h=e+8|0;t[(o[h>>2]|0)+m>>0]=k;m=(s[a>>1]|0)>>>8&255;l=o[v>>2]|0;o[v>>2]=l+1;t[(o[h>>2]|0)+l>>0]=m;i[a>>1]=0;g=0;y=(o[r>>2]|0)+-9|0}else{g=k;y=E+7|0}o[r>>2]=y;if((y|0)==16){E=e+20|0;k=o[E>>2]|0;o[E>>2]=k+1;m=e+8|0;t[(o[m>>2]|0)+k>>0]=g;k=(s[a>>1]|0)>>>8&255;l=o[E>>2]|0;o[E>>2]=l+1;t[(o[m>>2]|0)+l>>0]=k;i[a>>1]=0;o[r>>2]=0;o[w>>2]=7;return}if((y|0)<=7){o[w>>2]=7;return}y=e+20|0;k=o[y>>2]|0;o[y>>2]=k+1;t[(o[e+8>>2]|0)+k>>0]=g;i[a>>1]=(s[a>>1]|0)>>>8;o[r>>2]=(o[r>>2]|0)+-8;o[w>>2]=7;return}function gr(e,r,n,f){e=e|0;r=r|0;n=n|0;f=f|0;var l=0,u=0,c=0,d=0,h=0,m=0,p=0,w=0,k=0,b=0,v=0,E=0,g=0,y=0,_=0,S=0,A=0,D=0,M=0,N=0,L=0,O=0,T=0,F=0,R=0,P=0,I=0,C=0,x=0,B=0,z=0,U=0,j=0,q=0,Y=0,V=0,X=0,H=0,W=0,G=0,K=0,Z=0,Q=0,J=0;if((o[e+132>>2]|0)>0){l=(o[e>>2]|0)+44|0;if((o[l>>2]|0)==2){u=-201342849;c=0;while(1){if((u&1|0)!=0?(i[e+148+(c<<2)>>1]|0)!=0:0){d=0;break}c=c+1|0;if((c|0)>=32){h=6;break}else u=u>>>1}e:do{if((h|0)==6)if(((i[e+184>>1]|0)==0?(i[e+188>>1]|0)==0:0)?(i[e+200>>1]|0)==0:0){u=32;while(1){if(i[e+148+(u<<2)>>1]|0){d=1;break e}u=u+1|0;if((u|0)>=256){d=0;break}}}else d=1}while(0);o[l>>2]=d}_r(e,e+2840|0);_r(e,e+2852|0);d=o[e+2844>>2]|0;l=i[e+150>>1]|0;h=l<<16>>16==0;i[e+148+(d+1<<2)+2>>1]=-1;u=e+2752|0;c=e+2756|0;m=e+2748|0;p=h?138:7;w=h?3:4;h=0;k=l&65535;l=-1;e:while(1){b=0;v=h;while(1){if((v|0)>(d|0))break e;E=v+1|0;g=i[e+148+(E<<2)+2>>1]|0;y=g&65535;_=b+1|0;S=(k|0)==(y|0);if((_|0)<(p|0)&S){b=_;v=E}else{A=E;D=g;M=y;N=_;L=S;break}}do{if((N|0)>=(w|0))if(!k)if((N|0)<11){i[u>>1]=(i[u>>1]|0)+1<<16>>16;break}else{i[c>>1]=(i[c>>1]|0)+1<<16>>16;break}else{if((k|0)!=(l|0)){v=e+2684+(k<<2)|0;i[v>>1]=(i[v>>1]|0)+1<<16>>16}i[m>>1]=(i[m>>1]|0)+1<<16>>16;break}else{v=e+2684+(k<<2)|0;i[v>>1]=(s[v>>1]|0)+N}}while(0);v=D<<16>>16==0;b=k;p=v?138:L?6:7;w=v|L?3:4;h=A;k=M;l=b}l=o[e+2856>>2]|0;M=i[e+2442>>1]|0;k=M<<16>>16==0;i[e+2440+(l+1<<2)+2>>1]=-1;A=k?138:7;h=k?3:4;k=0;L=M&65535;M=-1;e:while(1){w=0;p=k;while(1){if((p|0)>(l|0))break e;D=p+1|0;N=i[e+2440+(D<<2)+2>>1]|0;d=N&65535;b=w+1|0;v=(L|0)==(d|0);if((b|0)<(A|0)&v){w=b;p=D}else{O=D;T=N;F=d;R=b;P=v;break}}do{if((R|0)>=(h|0))if(!L)if((R|0)<11){i[u>>1]=(i[u>>1]|0)+1<<16>>16;break}else{i[c>>1]=(i[c>>1]|0)+1<<16>>16;break}else{if((L|0)!=(M|0)){p=e+2684+(L<<2)|0;i[p>>1]=(i[p>>1]|0)+1<<16>>16}i[m>>1]=(i[m>>1]|0)+1<<16>>16;break}else{p=e+2684+(L<<2)|0;i[p>>1]=(s[p>>1]|0)+R}}while(0);p=T<<16>>16==0;w=L;A=p?138:P?6:7;h=p|P?3:4;k=O;L=F;M=w}_r(e,e+2864|0);if(!(i[e+2746>>1]|0))if(!(i[e+2690>>1]|0))if(!(i[e+2742>>1]|0))if(!(i[e+2694>>1]|0))if(!(i[e+2738>>1]|0))if(!(i[e+2698>>1]|0))if(!(i[e+2734>>1]|0))if(!(i[e+2702>>1]|0))if(!(i[e+2730>>1]|0))if(!(i[e+2706>>1]|0))if(!(i[e+2726>>1]|0))if(!(i[e+2710>>1]|0))if(!(i[e+2722>>1]|0))if(!(i[e+2714>>1]|0))if(!(i[e+2718>>1]|0))I=(i[e+2686>>1]|0)==0?2:3;else I=4;else I=5;else I=6;else I=7;else I=8;else I=9;else I=10;else I=11;else I=12;else I=13;else I=14;else I=15;else I=16;else I=17;else I=18;M=e+5800|0;F=(I*3|0)+17+(o[M>>2]|0)|0;o[M>>2]=F;M=(F+10|0)>>>3;F=((o[e+5804>>2]|0)+10|0)>>>3;C=I;x=F>>>0>M>>>0?M:F;B=F}else{F=n+5|0;C=0;x=F;B=F}do{if((r|0)!=0&(n+4|0)>>>0<=x>>>0)vr(e,r,n,f);else{F=e+5820|0;M=o[F>>2]|0;I=(M|0)>13;if((B|0)==(x|0)?1:(o[e+136>>2]|0)==4){L=f+2&65535;O=e+5816|0;k=s[O>>1]|L<<M;i[O>>1]=k;if(I){P=e+20|0;h=o[P>>2]|0;o[P>>2]=h+1;A=e+8|0;t[(o[A>>2]|0)+h>>0]=k;k=(s[O>>1]|0)>>>8&255;h=o[P>>2]|0;o[P>>2]=h+1;t[(o[A>>2]|0)+h>>0]=k;k=o[F>>2]|0;i[O>>1]=L>>>(16-k|0);z=k+-13|0}else z=M+3|0;o[F>>2]=z;Sr(e,12094,13246);break}k=f+4&65535;L=e+5816|0;O=s[L>>1]|k<<M;i[L>>1]=O;if(I){I=e+20|0;h=o[I>>2]|0;o[I>>2]=h+1;A=e+8|0;t[(o[A>>2]|0)+h>>0]=O;h=(s[L>>1]|0)>>>8&255;P=o[I>>2]|0;o[I>>2]=P+1;t[(o[A>>2]|0)+P>>0]=h;h=o[F>>2]|0;P=k>>>(16-h|0);i[L>>1]=P;U=P;j=h+-13|0}else{U=O;j=M+3|0}o[F>>2]=j;M=o[e+2844>>2]|0;O=o[e+2856>>2]|0;h=M+65280&65535;P=U&65535|h<<j;i[L>>1]=P;if((j|0)>11){k=e+20|0;A=o[k>>2]|0;o[k>>2]=A+1;I=e+8|0;t[(o[I>>2]|0)+A>>0]=P;A=(s[L>>1]|0)>>>8&255;T=o[k>>2]|0;o[k>>2]=T+1;t[(o[I>>2]|0)+T>>0]=A;A=o[F>>2]|0;T=h>>>(16-A|0);i[L>>1]=T;q=A+-11|0;Y=T}else{q=j+5|0;Y=P}o[F>>2]=q;P=O&65535;T=P<<q|Y&65535;i[L>>1]=T;if((q|0)>11){A=e+20|0;h=o[A>>2]|0;o[A>>2]=h+1;I=e+8|0;t[(o[I>>2]|0)+h>>0]=T;h=(s[L>>1]|0)>>>8&255;k=o[A>>2]|0;o[A>>2]=k+1;t[(o[I>>2]|0)+k>>0]=h;h=o[F>>2]|0;k=P>>>(16-h|0);i[L>>1]=k;V=h+-11|0;X=k}else{V=q+5|0;X=T}o[F>>2]=V;T=C+65533&65535;k=T<<V|X&65535;i[L>>1]=k;if((V|0)>12){h=e+20|0;P=o[h>>2]|0;o[h>>2]=P+1;I=e+8|0;t[(o[I>>2]|0)+P>>0]=k;P=(s[L>>1]|0)>>>8&255;A=o[h>>2]|0;o[h>>2]=A+1;t[(o[I>>2]|0)+A>>0]=P;P=o[F>>2]|0;A=T>>>(16-P|0);i[L>>1]=A;H=I;W=h;G=A;K=P+-12|0}else{H=e+8|0;W=e+20|0;G=k;K=V+4|0}o[F>>2]=K;k=K;P=G;A=0;while(1){h=s[e+2684+(a[14778+A>>0]<<2)+2>>1]|0;I=h<<k|P&65535;i[L>>1]=I;if((k|0)>13){T=o[W>>2]|0;o[W>>2]=T+1;t[(o[H>>2]|0)+T>>0]=I;T=(s[L>>1]|0)>>>8&255;R=o[W>>2]|0;o[W>>2]=R+1;t[(o[H>>2]|0)+R>>0]=T;T=o[F>>2]|0;R=h>>>(16-T|0);i[L>>1]=R;Z=R;Q=T+-13|0}else{Z=I;Q=k+3|0}o[F>>2]=Q;if((A|0)==(C|0))break;else{k=Q;P=Z;A=A+1|0}}A=e+148|0;Ar(e,A,M);P=e+2440|0;Ar(e,P,O);Sr(e,A,P)}}while(0);yr(e);if(!f)return;f=e+5820|0;Z=o[f>>2]|0;if((Z|0)<=8){Q=e+5816|0;if((Z|0)>0){Z=i[Q>>1]&255;C=e+20|0;H=o[C>>2]|0;o[C>>2]=H+1;t[(o[e+8>>2]|0)+H>>0]=Z;J=Q}else J=Q}else{Q=e+5816|0;Z=i[Q>>1]&255;H=e+20|0;C=o[H>>2]|0;o[H>>2]=C+1;W=e+8|0;t[(o[W>>2]|0)+C>>0]=Z;Z=(s[Q>>1]|0)>>>8&255;C=o[H>>2]|0;o[H>>2]=C+1;t[(o[W>>2]|0)+C>>0]=Z;J=Q}i[J>>1]=0;o[f>>2]=0;return}function yr(e){e=e|0;var r=0;r=0;do{i[e+148+(r<<2)>>1]=0;r=r+1|0}while((r|0)!=286);i[e+2440>>1]=0;i[e+2444>>1]=0;i[e+2448>>1]=0;i[e+2452>>1]=0;i[e+2456>>1]=0;i[e+2460>>1]=0;i[e+2464>>1]=0;i[e+2468>>1]=0;i[e+2472>>1]=0;i[e+2476>>1]=0;i[e+2480>>1]=0;i[e+2484>>1]=0;i[e+2488>>1]=0;i[e+2492>>1]=0;i[e+2496>>1]=0;i[e+2500>>1]=0;i[e+2504>>1]=0;i[e+2508>>1]=0;i[e+2512>>1]=0;i[e+2516>>1]=0;i[e+2520>>1]=0;i[e+2524>>1]=0;i[e+2528>>1]=0;i[e+2532>>1]=0;i[e+2536>>1]=0;i[e+2540>>1]=0;i[e+2544>>1]=0;i[e+2548>>1]=0;i[e+2552>>1]=0;i[e+2556>>1]=0;i[e+2684>>1]=0;i[e+2688>>1]=0;i[e+2692>>1]=0;i[e+2696>>1]=0;i[e+2700>>1]=0;i[e+2704>>1]=0;i[e+2708>>1]=0;i[e+2712>>1]=0;i[e+2716>>1]=0;i[e+2720>>1]=0;i[e+2724>>1]=0;i[e+2728>>1]=0;i[e+2732>>1]=0;i[e+2736>>1]=0;i[e+2740>>1]=0;i[e+2744>>1]=0;i[e+2748>>1]=0;i[e+2752>>1]=0;i[e+2756>>1]=0;i[e+1172>>1]=1;o[e+5804>>2]=0;o[e+5800>>2]=0;o[e+5808>>2]=0;o[e+5792>>2]=0;return}function _r(e,r){e=e|0;r=r|0;var n=0,f=0,l=0,u=0,d=0,h=0,m=0,p=0,w=0,k=0,b=0,v=0,E=0,g=0,y=0,_=0,S=0,A=0,D=0,M=0,N=0,L=0,O=0,T=0,F=0,R=0,P=0,I=0,C=0,x=0,B=0,z=0,U=0,j=0,q=0,Y=0,V=0,X=0,H=0,W=0,G=0;n=c;c=c+32|0;f=n;l=o[r>>2]|0;u=r+8|0;d=o[u>>2]|0;h=o[d>>2]|0;m=o[d+12>>2]|0;d=e+5200|0;o[d>>2]=0;p=e+5204|0;o[p>>2]=573;if((m|0)>0){w=-1;k=0;while(1){if(!(i[l+(k<<2)>>1]|0)){i[l+(k<<2)+2>>1]=0;b=w}else{v=(o[d>>2]|0)+1|0;o[d>>2]=v;o[e+2908+(v<<2)>>2]=k;t[e+5208+k>>0]=0;b=k}k=k+1|0;if((k|0)==(m|0)){E=b;break}else w=b}b=o[d>>2]|0;if((b|0)<2){g=b;y=E;_=3}else{S=b;A=E}}else{g=0;y=-1;_=3}if((_|0)==3){_=e+5800|0;E=e+5804|0;if(!h){b=g;w=y;while(1){k=(w|0)<2;v=w+1|0;D=k?v:w;M=k?v:0;v=b+1|0;o[d>>2]=v;o[e+2908+(v<<2)>>2]=M;i[l+(M<<2)>>1]=1;t[e+5208+M>>0]=0;o[_>>2]=(o[_>>2]|0)+-1;M=o[d>>2]|0;if((M|0)<2){b=M;w=D}else{S=M;A=D;break}}}else{w=g;g=y;while(1){y=(g|0)<2;b=g+1|0;D=y?b:g;M=y?b:0;b=w+1|0;o[d>>2]=b;o[e+2908+(b<<2)>>2]=M;i[l+(M<<2)>>1]=1;t[e+5208+M>>0]=0;o[_>>2]=(o[_>>2]|0)+-1;o[E>>2]=(o[E>>2]|0)-(s[h+(M<<2)+2>>1]|0);M=o[d>>2]|0;if((M|0)<2){w=M;g=D}else{S=M;A=D;break}}}}g=r+4|0;o[g>>2]=A;w=S;h=(S|0)/2|0;while(1){S=o[e+2908+(h<<2)>>2]|0;E=e+5208+S|0;_=h<<1;e:do{if((_|0)>(w|0))N=h;else{D=l+(S<<2)|0;M=h;b=w;y=_;while(1){do{if((y|0)<(b|0)){v=y|1;k=o[e+2908+(v<<2)>>2]|0;L=i[l+(k<<2)>>1]|0;O=o[e+2908+(y<<2)>>2]|0;T=i[l+(O<<2)>>1]|0;if((L&65535)>=(T&65535)){if(L<<16>>16!=T<<16>>16){F=y;break}if((a[e+5208+k>>0]|0)>(a[e+5208+O>>0]|0)){F=y;break}}F=v}else F=y}while(0);v=i[D>>1]|0;O=o[e+2908+(F<<2)>>2]|0;k=i[l+(O<<2)>>1]|0;if((v&65535)<(k&65535)){N=M;break e}if(v<<16>>16==k<<16>>16?(a[E>>0]|0)<=(a[e+5208+O>>0]|0):0){N=M;break e}o[e+2908+(M<<2)>>2]=O;y=F<<1;b=o[d>>2]|0;if((y|0)>(b|0)){N=F;break}else M=F}}}while(0);o[e+2908+(N<<2)>>2]=S;if((h|0)<=1)break;w=o[d>>2]|0;h=h+-1|0}h=e+2912|0;w=o[d>>2]|0;N=m;do{m=o[h>>2]|0;F=w+-1|0;o[d>>2]=F;E=o[e+2908+(w<<2)>>2]|0;o[h>>2]=E;_=e+5208+E|0;e:do{if((w|0)<3)R=1;else{M=l+(E<<2)|0;b=1;y=F;D=2;while(1){do{if((D|0)<(y|0)){O=D|1;k=o[e+2908+(O<<2)>>2]|0;v=i[l+(k<<2)>>1]|0;T=o[e+2908+(D<<2)>>2]|0;L=i[l+(T<<2)>>1]|0;if((v&65535)>=(L&65535)){if(v<<16>>16!=L<<16>>16){P=D;break}if((a[e+5208+k>>0]|0)>(a[e+5208+T>>0]|0)){P=D;break}}P=O}else P=D}while(0);O=i[M>>1]|0;T=o[e+2908+(P<<2)>>2]|0;k=i[l+(T<<2)>>1]|0;if((O&65535)<(k&65535)){R=b;break e}if(O<<16>>16==k<<16>>16?(a[_>>0]|0)<=(a[e+5208+T>>0]|0):0){R=b;break e}o[e+2908+(b<<2)>>2]=T;D=P<<1;y=o[d>>2]|0;if((D|0)>(y|0)){R=P;break}else b=P}}}while(0);o[e+2908+(R<<2)>>2]=E;_=o[h>>2]|0;F=(o[p>>2]|0)+-1|0;o[p>>2]=F;o[e+2908+(F<<2)>>2]=m;F=(o[p>>2]|0)+-1|0;o[p>>2]=F;o[e+2908+(F<<2)>>2]=_;F=l+(N<<2)|0;i[F>>1]=(s[l+(_<<2)>>1]|0)+(s[l+(m<<2)>>1]|0);S=t[e+5208+m>>0]|0;b=t[e+5208+_>>0]|0;y=e+5208+N|0;t[y>>0]=(((S&255)<(b&255)?b:S)&255)+1;S=N&65535;i[l+(_<<2)+2>>1]=S;i[l+(m<<2)+2>>1]=S;o[h>>2]=N;S=o[d>>2]|0;e:do{if((S|0)<2)I=1;else{_=1;b=S;D=2;while(1){do{if((D|0)<(b|0)){M=D|1;T=o[e+2908+(M<<2)>>2]|0;k=i[l+(T<<2)>>1]|0;O=o[e+2908+(D<<2)>>2]|0;L=i[l+(O<<2)>>1]|0;if((k&65535)>=(L&65535)){if(k<<16>>16!=L<<16>>16){C=D;break}if((a[e+5208+T>>0]|0)>(a[e+5208+O>>0]|0)){C=D;break}}C=M}else C=D}while(0);M=i[F>>1]|0;O=o[e+2908+(C<<2)>>2]|0;T=i[l+(O<<2)>>1]|0;if((M&65535)<(T&65535)){I=_;break e}if(M<<16>>16==T<<16>>16?(a[y>>0]|0)<=(a[e+5208+O>>0]|0):0){I=_;break e}o[e+2908+(_<<2)>>2]=O;D=C<<1;b=o[d>>2]|0;if((D|0)>(b|0)){I=C;break}else _=C}}}while(0);o[e+2908+(I<<2)>>2]=N;N=N+1|0;w=o[d>>2]|0}while((w|0)>1);w=o[h>>2]|0;h=(o[p>>2]|0)+-1|0;o[p>>2]=h;o[e+2908+(h<<2)>>2]=w;w=o[r>>2]|0;r=o[g>>2]|0;g=o[u>>2]|0;u=o[g>>2]|0;h=o[g+4>>2]|0;d=o[g+8>>2]|0;N=o[g+16>>2]|0;g=e+2876|0;I=g+32|0;do{i[g>>1]=0;g=g+2|0}while((g|0)<(I|0));g=o[p>>2]|0;i[w+(o[e+2908+(g<<2)>>2]<<2)+2>>1]=0;p=g+1|0;e:do{if((p|0)<573){g=e+5800|0;I=e+5804|0;if(!u){C=p;R=0;while(1){P=o[e+2908+(C<<2)>>2]|0;y=w+(P<<2)+2|0;F=s[w+(s[y>>1]<<2)+2>>1]|0;S=(F|0)<(N|0);m=S?F+1|0:N;F=(S&1^1)+R|0;i[y>>1]=m;if((P|0)<=(r|0)){y=e+2876+(m<<1)|0;i[y>>1]=(i[y>>1]|0)+1<<16>>16;if((P|0)<(d|0))x=0;else x=o[h+(P-d<<2)>>2]|0;y=ee(s[w+(P<<2)>>1]|0,x+m|0)|0;o[g>>2]=y+(o[g>>2]|0)}C=C+1|0;if((C|0)==573){B=F;break}else R=F}}else{R=p;C=0;while(1){F=o[e+2908+(R<<2)>>2]|0;y=w+(F<<2)+2|0;m=s[w+(s[y>>1]<<2)+2>>1]|0;P=(m|0)<(N|0);S=P?m+1|0:N;m=(P&1^1)+C|0;i[y>>1]=S;if((F|0)<=(r|0)){y=e+2876+(S<<1)|0;i[y>>1]=(i[y>>1]|0)+1<<16>>16;if((F|0)<(d|0))z=0;else z=o[h+(F-d<<2)>>2]|0;y=s[w+(F<<2)>>1]|0;P=ee(y,z+S|0)|0;o[g>>2]=P+(o[g>>2]|0);P=ee((s[u+(F<<2)+2>>1]|0)+z|0,y)|0;o[I>>2]=P+(o[I>>2]|0)}R=R+1|0;if((R|0)==573){B=m;break}else C=m}}if(B){C=e+2876+(N<<1)|0;R=B;while(1){I=N;while(1){m=I+-1|0;P=e+2876+(m<<1)|0;y=i[P>>1]|0;if(!(y<<16>>16))I=m;else{U=P;j=y;q=I;break}}i[U>>1]=j+-1<<16>>16;I=e+2876+(q<<1)|0;i[I>>1]=(s[I>>1]|0)+2;I=(i[C>>1]|0)+-1<<16>>16;i[C>>1]=I;if((R|0)>2)R=R+-2|0;else{Y=I;break}}if(N){R=Y;C=N;I=573;while(1){y=C&65535;if(!(R<<16>>16))V=I;else{P=I;m=R&65535;while(1){F=P;while(1){S=F+-1|0;E=o[e+2908+(S<<2)>>2]|0;if((E|0)>(r|0))F=S;else{X=S;H=E;break}}F=w+(H<<2)+2|0;E=s[F>>1]|0;if((C|0)!=(E|0)){S=ee(s[w+(H<<2)>>1]|0,C-E|0)|0;o[g>>2]=S+(o[g>>2]|0);i[F>>1]=y}m=m+-1|0;if(!m){V=X;break}else P=X}}P=C+-1|0;if(!P)break e;R=i[e+2876+(P<<1)>>1]|0;C=P;I=V}}}}}while(0);V=1;X=0;do{X=(s[e+2876+(V+-1<<1)>>1]|0)+(X&65534)<<1;i[f+(V<<1)>>1]=X;V=V+1|0}while((V|0)!=16);if((A|0)<0){c=n;return}else W=0;while(1){V=i[l+(W<<2)+2>>1]|0;X=V&65535;if(V<<16>>16){V=f+(X<<1)|0;e=i[V>>1]|0;i[V>>1]=e+1<<16>>16;V=X;X=e&65535;e=0;while(1){H=e|X&1;if((V|0)>1){V=V+-1|0;X=X>>>1;e=H<<1}else{G=H;break}}i[l+(W<<2)>>1]=G}if((W|0)==(A|0))break;else W=W+1|0}c=n;return}function Sr(e,r,n){e=e|0;r=r|0;n=n|0;var f=0,l=0,u=0,c=0,d=0,h=0,m=0,p=0,w=0,k=0,b=0,v=0,E=0,g=0,y=0,_=0,S=0,A=0,D=0,M=0,N=0,L=0,O=0,T=0,F=0,R=0,P=0,I=0,C=0,x=0,B=0,z=0,U=0,j=0;f=e+5792|0;if(!(o[f>>2]|0)){l=e+5820|0;u=e+5816|0;c=u;d=l;h=o[l>>2]|0;m=i[u>>1]|0}else{u=e+5796|0;l=e+5784|0;p=e+5820|0;w=e+5816|0;k=e+20|0;b=e+8|0;v=0;do{E=i[(o[u>>2]|0)+(v<<1)>>1]|0;g=E&65535;y=a[(o[l>>2]|0)+v>>0]|0;v=v+1|0;do{if(!(E<<16>>16)){_=s[r+(y<<2)+2>>1]|0;S=o[p>>2]|0;A=s[r+(y<<2)>>1]|0;D=s[w>>1]|0|A<<S;M=D&65535;i[w>>1]=M;if((S|0)>(16-_|0)){N=o[k>>2]|0;o[k>>2]=N+1;t[(o[b>>2]|0)+N>>0]=D;D=(s[w>>1]|0)>>>8&255;N=o[k>>2]|0;o[k>>2]=N+1;t[(o[b>>2]|0)+N>>0]=D;D=o[p>>2]|0;N=A>>>(16-D|0)&65535;i[w>>1]=N;A=_+-16+D|0;o[p>>2]=A;L=N;O=A;break}else{A=S+_|0;o[p>>2]=A;L=M;O=A;break}}else{A=a[14522+y>>0]|0;M=(A|256)+1|0;_=s[r+(M<<2)+2>>1]|0;S=o[p>>2]|0;N=s[r+(M<<2)>>1]|0;M=s[w>>1]|0|N<<S;D=M&65535;i[w>>1]=D;if((S|0)>(16-_|0)){T=o[k>>2]|0;o[k>>2]=T+1;t[(o[b>>2]|0)+T>>0]=M;M=(s[w>>1]|0)>>>8&255;T=o[k>>2]|0;o[k>>2]=T+1;t[(o[b>>2]|0)+T>>0]=M;M=o[p>>2]|0;T=N>>>(16-M|0)&65535;i[w>>1]=T;F=T;R=_+-16+M|0}else{F=D;R=S+_|0}o[p>>2]=R;_=o[8380+(A<<2)>>2]|0;do{if((A+-8|0)>>>0<20){S=y-(o[8496+(A<<2)>>2]|0)&65535;D=S<<R|F&65535;M=D&65535;i[w>>1]=M;if((R|0)>(16-_|0)){T=o[k>>2]|0;o[k>>2]=T+1;t[(o[b>>2]|0)+T>>0]=D;D=(s[w>>1]|0)>>>8&255;T=o[k>>2]|0;o[k>>2]=T+1;t[(o[b>>2]|0)+T>>0]=D;D=o[p>>2]|0;T=S>>>(16-D|0)&65535;i[w>>1]=T;S=_+-16+D|0;o[p>>2]=S;P=S;I=T;break}else{T=R+_|0;o[p>>2]=T;P=T;I=M;break}}else{P=R;I=F}}while(0);_=g+-1|0;A=a[14010+(_>>>0<256?_:(_>>>7)+256|0)>>0]|0;M=s[n+(A<<2)+2>>1]|0;T=s[n+(A<<2)>>1]|0;S=I&65535|T<<P;D=S&65535;i[w>>1]=D;if((P|0)>(16-M|0)){N=o[k>>2]|0;o[k>>2]=N+1;t[(o[b>>2]|0)+N>>0]=S;S=(s[w>>1]|0)>>>8&255;N=o[k>>2]|0;o[k>>2]=N+1;t[(o[b>>2]|0)+N>>0]=S;S=o[p>>2]|0;N=T>>>(16-S|0)&65535;i[w>>1]=N;C=M+-16+S|0;x=N}else{C=P+M|0;x=D}o[p>>2]=C;D=o[8612+(A<<2)>>2]|0;if((A+-4|0)>>>0<26){M=_-(o[8732+(A<<2)>>2]|0)&65535;A=M<<C|x&65535;_=A&65535;i[w>>1]=_;if((C|0)>(16-D|0)){N=o[k>>2]|0;o[k>>2]=N+1;t[(o[b>>2]|0)+N>>0]=A;A=(s[w>>1]|0)>>>8&255;N=o[k>>2]|0;o[k>>2]=N+1;t[(o[b>>2]|0)+N>>0]=A;A=o[p>>2]|0;N=M>>>(16-A|0)&65535;i[w>>1]=N;M=D+-16+A|0;o[p>>2]=M;L=N;O=M;break}else{M=C+D|0;o[p>>2]=M;L=_;O=M;break}}else{L=x;O=C}}}while(0)}while(v>>>0<(o[f>>2]|0)>>>0);c=w;d=p;h=O;m=L}L=r+1026|0;O=s[L>>1]|0;p=s[r+1024>>1]|0;r=m&65535|p<<h;i[c>>1]=r;if((h|0)>(16-O|0)){m=e+20|0;w=o[m>>2]|0;o[m>>2]=w+1;f=e+8|0;t[(o[f>>2]|0)+w>>0]=r;r=(s[c>>1]|0)>>>8&255;w=o[m>>2]|0;o[m>>2]=w+1;t[(o[f>>2]|0)+w>>0]=r;r=o[d>>2]|0;i[c>>1]=p>>>(16-r|0);B=O+-16+r|0;o[d>>2]=B;z=i[L>>1]|0;U=z&65535;j=e+5812|0;o[j>>2]=U;return}else{B=h+O|0;o[d>>2]=B;z=i[L>>1]|0;U=z&65535;j=e+5812|0;o[j>>2]=U;return}}function Ar(e,r,n){e=e|0;r=r|0;n=n|0;var a=0,f=0,l=0,u=0,c=0,d=0,h=0,m=0,p=0,w=0,k=0,b=0,v=0,E=0,g=0,y=0,_=0,S=0,A=0,D=0,M=0,N=0,L=0,O=0,T=0,F=0,R=0,P=0,I=0,C=0,x=0,B=0,z=0,U=0,j=0,q=0,Y=0,V=0,X=0,H=0,W=0,G=0,K=0,Z=0;a=i[r+2>>1]|0;f=a<<16>>16==0;l=e+2754|0;u=e+5820|0;c=e+2752|0;d=e+5816|0;h=e+20|0;m=e+8|0;p=e+2758|0;w=e+2756|0;k=e+2750|0;b=e+2748|0;v=f?138:7;E=f?3:4;f=0;g=a&65535;a=-1;e:while(1){y=0;_=f;while(1){if((_|0)>(n|0))break e;S=_+1|0;A=i[r+(S<<2)+2>>1]|0;D=A&65535;M=y+1|0;N=(g|0)==(D|0);if((M|0)<(v|0)&N){y=M;_=S}else{L=S;O=A;T=D;F=M;R=N;P=y;break}}do{if((F|0)>=(E|0)){if(g){if((g|0)==(a|0)){I=i[d>>1]|0;C=o[u>>2]|0;x=F}else{y=s[e+2684+(g<<2)+2>>1]|0;_=o[u>>2]|0;N=s[e+2684+(g<<2)>>1]|0;M=s[d>>1]|0|N<<_;D=M&65535;i[d>>1]=D;if((_|0)>(16-y|0)){A=o[h>>2]|0;o[h>>2]=A+1;t[(o[m>>2]|0)+A>>0]=M;M=(s[d>>1]|0)>>>8&255;A=o[h>>2]|0;o[h>>2]=A+1;t[(o[m>>2]|0)+A>>0]=M;M=o[u>>2]|0;A=N>>>(16-M|0)&65535;i[d>>1]=A;B=A;z=y+-16+M|0}else{B=D;z=_+y|0}o[u>>2]=z;I=B;C=z;x=P}y=s[k>>1]|0;_=s[b>>1]|0;D=I&65535|_<<C;i[d>>1]=D;if((C|0)>(16-y|0)){M=o[h>>2]|0;o[h>>2]=M+1;t[(o[m>>2]|0)+M>>0]=D;M=(s[d>>1]|0)>>>8&255;A=o[h>>2]|0;o[h>>2]=A+1;t[(o[m>>2]|0)+A>>0]=M;M=o[u>>2]|0;A=_>>>(16-M|0);i[d>>1]=A;U=y+-16+M|0;j=A}else{U=C+y|0;j=D}o[u>>2]=U;D=x+65533&65535;y=j&65535|D<<U;i[d>>1]=y;if((U|0)>14){A=o[h>>2]|0;o[h>>2]=A+1;t[(o[m>>2]|0)+A>>0]=y;y=(s[d>>1]|0)>>>8&255;A=o[h>>2]|0;o[h>>2]=A+1;t[(o[m>>2]|0)+A>>0]=y;y=o[u>>2]|0;i[d>>1]=D>>>(16-y|0);o[u>>2]=y+-14;break}else{o[u>>2]=U+2;break}}if((F|0)<11){y=s[l>>1]|0;D=o[u>>2]|0;A=s[c>>1]|0;M=s[d>>1]|0|A<<D;i[d>>1]=M;if((D|0)>(16-y|0)){_=o[h>>2]|0;o[h>>2]=_+1;t[(o[m>>2]|0)+_>>0]=M;_=(s[d>>1]|0)>>>8&255;N=o[h>>2]|0;o[h>>2]=N+1;t[(o[m>>2]|0)+N>>0]=_;_=o[u>>2]|0;N=A>>>(16-_|0);i[d>>1]=N;q=y+-16+_|0;Y=N}else{q=D+y|0;Y=M}o[u>>2]=q;M=P+65534&65535;y=Y&65535|M<<q;i[d>>1]=y;if((q|0)>13){D=o[h>>2]|0;o[h>>2]=D+1;t[(o[m>>2]|0)+D>>0]=y;y=(s[d>>1]|0)>>>8&255;D=o[h>>2]|0;o[h>>2]=D+1;t[(o[m>>2]|0)+D>>0]=y;y=o[u>>2]|0;i[d>>1]=M>>>(16-y|0);o[u>>2]=y+-13;break}else{o[u>>2]=q+3;break}}else{y=s[p>>1]|0;M=o[u>>2]|0;D=s[w>>1]|0;N=s[d>>1]|0|D<<M;i[d>>1]=N;if((M|0)>(16-y|0)){_=o[h>>2]|0;o[h>>2]=_+1;t[(o[m>>2]|0)+_>>0]=N;_=(s[d>>1]|0)>>>8&255;A=o[h>>2]|0;o[h>>2]=A+1;t[(o[m>>2]|0)+A>>0]=_;_=o[u>>2]|0;A=D>>>(16-_|0);i[d>>1]=A;V=y+-16+_|0;X=A}else{V=M+y|0;X=N}o[u>>2]=V;N=P+65526&65535;y=X&65535|N<<V;i[d>>1]=y;if((V|0)>9){M=o[h>>2]|0;o[h>>2]=M+1;t[(o[m>>2]|0)+M>>0]=y;y=(s[d>>1]|0)>>>8&255;M=o[h>>2]|0;o[h>>2]=M+1;t[(o[m>>2]|0)+M>>0]=y;y=o[u>>2]|0;i[d>>1]=N>>>(16-y|0);o[u>>2]=y+-9;break}else{o[u>>2]=V+7;break}}}else{y=e+2684+(g<<2)+2|0;N=e+2684+(g<<2)|0;M=o[u>>2]|0;A=i[d>>1]|0;_=F;while(1){D=s[y>>1]|0;S=s[N>>1]|0;H=A&65535|S<<M;W=H&65535;i[d>>1]=W;if((M|0)>(16-D|0)){G=o[h>>2]|0;o[h>>2]=G+1;t[(o[m>>2]|0)+G>>0]=H;H=(s[d>>1]|0)>>>8&255;G=o[h>>2]|0;o[h>>2]=G+1;t[(o[m>>2]|0)+G>>0]=H;H=o[u>>2]|0;G=S>>>(16-H|0)&65535;i[d>>1]=G;K=G;Z=D+-16+H|0}else{K=W;Z=M+D|0}o[u>>2]=Z;_=_+-1|0;if(!_)break;else{M=Z;A=K}}}}while(0);A=O<<16>>16==0;M=g;v=A?138:R?6:7;E=A|R?3:4;f=L;g=T;a=M}return}function Dr(e,r,n){e=e|0;r=r|0;n=n|0;return Kr(ee(n,r)|0)|0}function Mr(e,r){e=e|0;r=r|0;Zr(r);return}function Nr(){var e=0;if(!(o[2242]|0))e=9016;else e=o[(ce()|0)+60>>2]|0;return e|0}function Lr(e){e=e|0;var r=0,n=0,i=0,o=0,s=0,f=0,l=0;r=0;while(1){if((a[14914+r>>0]|0)==(e|0)){n=r;i=2;break}r=r+1|0;if((r|0)==87){o=87;s=15002;i=5;break}}if((i|0)==2)if(!n)f=15002;else{o=n;s=15002;i=5}if((i|0)==5)while(1){i=0;n=s;while(1){r=n+1|0;if(!(t[n>>0]|0)){l=r;break}else n=r}o=o+-1|0;if(!o){f=l;break}else{s=l;i=5}}return f|0}function Or(e,r,n){e=e|0;r=r|0;n=n|0;var t=0,i=0,a=0,s=0;t=c;c=c+32|0;i=t;a=t+16|0;o[a>>2]=n;n=(o[a>>2]|0)+(4-1)&~(4-1);s=o[n>>2]|0;o[a>>2]=n+4;o[i>>2]=e;o[i+4>>2]=r|32768;o[i+8>>2]=s;s=Tr(ke(5,i|0)|0)|0;c=t;return s|0}function Tr(e){e=e|0;var r=0;if(e>>>0>4294963200){o[(Nr()|0)>>2]=0-e;r=-1}else r=e;return r|0}function Fr(e){e=e|0;return 0}function Rr(e){e=e|0;return}function Pr(e){e=e|0;var r=0,n=0;r=c;c=c+16|0;n=r;o[n>>2]=o[e+60>>2];e=Tr(we(6,n|0)|0)|0;c=r;return e|0}function Ir(e,r,n){e=e|0;r=r|0;n=n|0;var t=0,i=0,a=0,s=0;t=c;c=c+32|0;i=t;a=t+20|0;o[i>>2]=o[e+60>>2];o[i+4>>2]=0;o[i+8>>2]=r;o[i+12>>2]=a;o[i+16>>2]=n;if((Tr(Ae(140,i|0)|0)|0)<0){o[a>>2]=-1;s=-1}else s=o[a>>2]|0;c=t;return s|0}function Cr(e,r,n){e=e|0;r=r|0;n=n|0;var t=0,i=0,a=0,s=0,f=0,l=0,u=0,d=0,h=0,m=0,p=0,w=0,k=0,b=0,v=0,E=0,g=0,y=0,_=0,S=0,A=0;t=c;c=c+48|0;i=t+16|0;a=t;s=t+32|0;f=e+28|0;l=o[f>>2]|0;o[s>>2]=l;u=e+20|0;d=(o[u>>2]|0)-l|0;o[s+4>>2]=d;o[s+8>>2]=r;o[s+12>>2]=n;r=e+60|0;l=e+44|0;h=s;s=2;m=d+n|0;while(1){if(!(o[2242]|0)){o[i>>2]=o[r>>2];o[i+4>>2]=h;o[i+8>>2]=s;p=Tr(Ne(146,i|0)|0)|0}else{De(1,e|0);o[a>>2]=o[r>>2];o[a+4>>2]=h;o[a+8>>2]=s;d=Tr(Ne(146,a|0)|0)|0;ue(0);p=d}if((m|0)==(p|0)){w=6;break}if((p|0)<0){k=h;b=s;w=8;break}d=m-p|0;v=o[h+4>>2]|0;if(p>>>0<=v>>>0)if((s|0)==2){o[f>>2]=(o[f>>2]|0)+p;E=v;g=p;y=h;_=2}else{E=v;g=p;y=h;_=s}else{S=o[l>>2]|0;o[f>>2]=S;o[u>>2]=S;E=o[h+12>>2]|0;g=p-v|0;y=h+8|0;_=s+-1|0}o[y>>2]=(o[y>>2]|0)+g;o[y+4>>2]=E-g;h=y;s=_;m=d}if((w|0)==6){m=o[l>>2]|0;o[e+16>>2]=m+(o[e+48>>2]|0);l=m;o[f>>2]=l;o[u>>2]=l;A=n}else if((w|0)==8){o[e+16>>2]=0;o[f>>2]=0;o[u>>2]=0;o[e>>2]=o[e>>2]|32;if((b|0)==2)A=0;else A=n-(o[k+4>>2]|0)|0}c=t;return A|0}function xr(e,r,n){e=e|0;r=r|0;n=n|0;var i=0,a=0;i=c;c=c+80|0;a=i;o[e+36>>2]=4;if((o[e>>2]&64|0)==0?(o[a>>2]=o[e+60>>2],o[a+4>>2]=21505,o[a+8>>2]=i+12,(_e(54,a|0)|0)!=0):0)t[e+75>>0]=-1;a=Cr(e,r,n)|0;c=i;return a|0}function Br(e){e=e|0;var r=0,n=0,t=0,i=0,a=0,s=0,f=0;do{if(e){if((o[e+76>>2]|0)<=-1){r=Gr(e)|0;break}n=(Fr(e)|0)==0;t=Gr(e)|0;if(n)r=t;else{Rr(e);r=t}}else{if(!(o[2253]|0))i=0;else i=Br(o[2253]|0)|0;pe(8996);t=o[2248]|0;if(!t)a=i;else{n=t;t=i;while(1){if((o[n+76>>2]|0)>-1)s=Fr(n)|0;else s=0;if((o[n+20>>2]|0)>>>0>(o[n+28>>2]|0)>>>0)f=Gr(n)|0|t;else f=t;if(s)Rr(n);n=o[n+56>>2]|0;if(!n){a=f;break}else t=f}}Se(8996);r=a}}while(0);return r|0}function zr(e,r){e=e|0;r=r|0;var n=0,i=0,a=0,s=0,f=0,l=0,u=0,c=0,d=0,h=0,m=0,p=0,w=0,k=0;n=r;e:do{if(!((n^e)&3)){if(!(n&3)){i=r;a=e}else{s=e;f=r;while(1){l=t[f>>0]|0;t[s>>0]=l;if(!(l<<24>>24)){u=s;break e}l=f+1|0;c=s+1|0;if(!(l&3)){i=l;a=c;break}else{s=c;f=l}}}f=o[i>>2]|0;if(!((f&-2139062144^-2139062144)&f+-16843009)){s=f;f=a;l=i;while(1){c=l+4|0;d=f+4|0;o[f>>2]=s;s=o[c>>2]|0;if((s&-2139062144^-2139062144)&s+-16843009){h=d;m=c;break}else{f=d;l=c}}}else{h=a;m=i}p=m;w=h;k=8}else{p=r;w=e;k=8}}while(0);if((k|0)==8){k=t[p>>0]|0;t[w>>0]=k;if(!(k<<24>>24))u=w;else{k=w;w=p;while(1){w=w+1|0;p=k+1|0;e=t[w>>0]|0;t[p>>0]=e;if(!(e<<24>>24)){u=p;break}else k=p}}}return u|0}function Ur(e,r){e=e|0;r=r|0;jr(e+(qr(e)|0)|0,r)|0;return e|0}function jr(e,r){e=e|0;r=r|0;zr(e,r)|0;return e|0}function qr(e){e=e|0;var r=0,n=0,i=0,a=0,s=0,f=0,l=0,u=0,c=0,d=0;r=e;e:do{if(!(r&3)){n=e;i=4}else{a=e;s=r;while(1){if(!(t[a>>0]|0)){f=s;break e}l=a+1|0;s=l;if(!(s&3)){n=l;i=4;break}else a=l}}}while(0);if((i|0)==4){i=n;while(1){n=o[i>>2]|0;if(!((n&-2139062144^-2139062144)&n+-16843009))i=i+4|0;else{u=n;c=i;break}}if(!((u&255)<<24>>24))d=c;else{u=c;while(1){c=u+1|0;if(!(t[c>>0]|0)){d=c;break}else u=c}}f=d}return f-r|0}function Yr(e){e=e|0;var r=0,n=0;r=c;c=c+16|0;n=r;o[n>>2]=e;e=we(6,n|0)|0;n=Tr((e|0)==-4?-115:e)|0;c=r;return n|0}function Vr(e,r,n){e=e|0;r=r|0;n=n|0;var t=0,i=0,a=0;t=c;c=c+32|0;i=t;a=t+20|0;o[i>>2]=e;o[i+4>>2]=0;o[i+8>>2]=r;o[i+12>>2]=a;o[i+16>>2]=n;n=(Tr(Ae(140,i|0)|0)|0)!=0;c=t;return(n?-1:o[a>>2]|0)|0}function Xr(e,r,n){e=e|0;r=r|0;n=n|0;var t=0,i=0;t=c;c=c+16|0;i=t;o[i>>2]=e;o[i+4>>2]=r;o[i+8>>2]=n;n=Tr(de(3,i|0)|0)|0;c=t;return n|0}function Hr(e,r,n){e=e|0;r=r|0;n=n|0;var t=0,i=0;t=c;c=c+16|0;i=t;o[i>>2]=e;o[i+4>>2]=r;o[i+8>>2]=n;n=Tr(Le(4,i|0)|0)|0;c=t;return n|0}function Wr(e){e=e|0;if(!(o[e+68>>2]|0))Rr(e);return}function Gr(e){e=e|0;var r=0,n=0,t=0,i=0,a=0,s=0,f=0;r=e+20|0;n=e+28|0;if((o[r>>2]|0)>>>0>(o[n>>2]|0)>>>0?(hn[o[e+36>>2]&7](e,0,0)|0,(o[r>>2]|0)==0):0)t=-1;else{i=e+4|0;a=o[i>>2]|0;s=e+8|0;f=o[s>>2]|0;if(a>>>0<f>>>0)hn[o[e+40>>2]&7](e,a-f|0,1)|0;o[e+16>>2]=0;o[n>>2]=0;o[r>>2]=0;o[s>>2]=0;o[i>>2]=0;t=0}return t|0}function Kr(e){e=e|0;var r=0,n=0,t=0,i=0,a=0,s=0,f=0,l=0,u=0,c=0,d=0,h=0,m=0,p=0,w=0,k=0,b=0,v=0,E=0,g=0,y=0,_=0,S=0,A=0,D=0,M=0,N=0,L=0,O=0,T=0,F=0,R=0,P=0,I=0,C=0,x=0,B=0,z=0,U=0,j=0,q=0,Y=0,V=0,X=0,H=0,W=0,G=0,K=0,Z=0,Q=0,J=0,$=0,ee=0,re=0,ne=0,te=0,ie=0,oe=0,ae=0,se=0,fe=0,le=0,ue=0,ce=0,de=0,he=0,me=0,pe=0,we=0,ke=0,ge=0,ye=0,_e=0,Se=0,Ae=0,De=0,Ne=0,Le=0,Oe=0,Te=0,Fe=0,Re=0,Pe=0,Ie=0,Ce=0,xe=0,Be=0,ze=0,Ue=0,je=0,qe=0,Ye=0,Ve=0,Xe=0,He=0,We=0,Ge=0;do{if(e>>>0<245){r=e>>>0<11?16:e+11&-8;n=r>>>3;t=o[2283]|0;i=t>>>n;if(i&3){a=(i&1^1)+n|0;s=a<<1;f=9172+(s<<2)|0;l=9172+(s+2<<2)|0;s=o[l>>2]|0;u=s+8|0;c=o[u>>2]|0;do{if((f|0)!=(c|0)){if(c>>>0<(o[2287]|0)>>>0)be();d=c+12|0;if((o[d>>2]|0)==(s|0)){o[d>>2]=f;o[l>>2]=c;break}else be()}else o[2283]=t&~(1<<a)}while(0);c=a<<3;o[s+4>>2]=c|3;l=s+(c|4)|0;o[l>>2]=o[l>>2]|1;h=u;return h|0}l=o[2285]|0;if(r>>>0>l>>>0){if(i){c=2<<n;f=i<<n&(c|0-c);c=(f&0-f)+-1|0;f=c>>>12&16;d=c>>>f;c=d>>>5&8;m=d>>>c;d=m>>>2&4;p=m>>>d;m=p>>>1&2;w=p>>>m;p=w>>>1&1;k=(c|f|d|m|p)+(w>>>p)|0;p=k<<1;w=9172+(p<<2)|0;m=9172+(p+2<<2)|0;p=o[m>>2]|0;d=p+8|0;f=o[d>>2]|0;do{if((w|0)!=(f|0)){if(f>>>0<(o[2287]|0)>>>0)be();c=f+12|0;if((o[c>>2]|0)==(p|0)){o[c>>2]=w;o[m>>2]=f;b=o[2285]|0;break}else be()}else{o[2283]=t&~(1<<k);b=l}}while(0);l=k<<3;t=l-r|0;o[p+4>>2]=r|3;f=p+r|0;o[p+(r|4)>>2]=t|1;o[p+l>>2]=t;if(b){l=o[2288]|0;m=b>>>3;w=m<<1;n=9172+(w<<2)|0;i=o[2283]|0;u=1<<m;if(i&u){m=9172+(w+2<<2)|0;s=o[m>>2]|0;if(s>>>0<(o[2287]|0)>>>0)be();else{v=m;E=s}}else{o[2283]=i|u;v=9172+(w+2<<2)|0;E=n}o[v>>2]=l;o[E+12>>2]=l;o[l+8>>2]=E;o[l+12>>2]=n}o[2285]=t;o[2288]=f;h=d;return h|0}f=o[2284]|0;if(f){t=(f&0-f)+-1|0;f=t>>>12&16;n=t>>>f;t=n>>>5&8;l=n>>>t;n=l>>>2&4;w=l>>>n;l=w>>>1&2;u=w>>>l;w=u>>>1&1;i=o[9436+((t|f|n|l|w)+(u>>>w)<<2)>>2]|0;w=(o[i+4>>2]&-8)-r|0;u=i;l=i;while(1){i=o[u+16>>2]|0;if(!i){n=o[u+20>>2]|0;if(!n){g=w;y=l;break}else _=n}else _=i;i=(o[_+4>>2]&-8)-r|0;n=i>>>0<w>>>0;w=n?i:w;u=_;l=n?_:l}l=o[2287]|0;if(y>>>0<l>>>0)be();u=y+r|0;if(y>>>0>=u>>>0)be();w=o[y+24>>2]|0;d=o[y+12>>2]|0;do{if((d|0)==(y|0)){p=y+20|0;k=o[p>>2]|0;if(!k){n=y+16|0;i=o[n>>2]|0;if(!i){S=0;break}else{A=i;D=n}}else{A=k;D=p}while(1){p=A+20|0;k=o[p>>2]|0;if(k){A=k;D=p;continue}p=A+16|0;k=o[p>>2]|0;if(!k){M=A;N=D;break}else{A=k;D=p}}if(N>>>0<l>>>0)be();else{o[N>>2]=0;S=M;break}}else{p=o[y+8>>2]|0;if(p>>>0<l>>>0)be();k=p+12|0;if((o[k>>2]|0)!=(y|0))be();n=d+8|0;if((o[n>>2]|0)==(y|0)){o[k>>2]=d;o[n>>2]=p;S=d;break}else be()}}while(0);do{if(w){d=o[y+28>>2]|0;l=9436+(d<<2)|0;if((y|0)==(o[l>>2]|0)){o[l>>2]=S;if(!S){o[2284]=o[2284]&~(1<<d);break}}else{if(w>>>0<(o[2287]|0)>>>0)be();d=w+16|0;if((o[d>>2]|0)==(y|0))o[d>>2]=S;else o[w+20>>2]=S;if(!S)break}d=o[2287]|0;if(S>>>0<d>>>0)be();o[S+24>>2]=w;l=o[y+16>>2]|0;do{if(l)if(l>>>0<d>>>0)be();else{o[S+16>>2]=l;o[l+24>>2]=S;break}}while(0);l=o[y+20>>2]|0;if(l)if(l>>>0<(o[2287]|0)>>>0)be();else{o[S+20>>2]=l;o[l+24>>2]=S;break}}}while(0);if(g>>>0<16){w=g+r|0;o[y+4>>2]=w|3;l=y+(w+4)|0;o[l>>2]=o[l>>2]|1}else{o[y+4>>2]=r|3;o[y+(r|4)>>2]=g|1;o[y+(g+r)>>2]=g;l=o[2285]|0;if(l){w=o[2288]|0;d=l>>>3;l=d<<1;p=9172+(l<<2)|0;n=o[2283]|0;k=1<<d;if(n&k){d=9172+(l+2<<2)|0;i=o[d>>2]|0;if(i>>>0<(o[2287]|0)>>>0)be();else{L=d;O=i}}else{o[2283]=n|k;L=9172+(l+2<<2)|0;O=p}o[L>>2]=w;o[O+12>>2]=w;o[w+8>>2]=O;o[w+12>>2]=p}o[2285]=g;o[2288]=u}h=y+8|0;return h|0}else T=r}else T=r}else if(e>>>0<=4294967231){p=e+11|0;w=p&-8;l=o[2284]|0;if(l){k=0-w|0;n=p>>>8;if(n)if(w>>>0>16777215)F=31;else{p=(n+1048320|0)>>>16&8;i=n<<p;n=(i+520192|0)>>>16&4;d=i<<n;i=(d+245760|0)>>>16&2;f=14-(n|p|i)+(d<<i>>>15)|0;F=w>>>(f+7|0)&1|f<<1}else F=0;f=o[9436+(F<<2)>>2]|0;e:do{if(!f){R=k;P=0;I=0;C=86}else{i=k;d=0;p=w<<((F|0)==31?0:25-(F>>>1)|0);n=f;t=0;while(1){s=o[n+4>>2]&-8;m=s-w|0;if(m>>>0<i>>>0)if((s|0)==(w|0)){x=m;B=n;z=n;C=90;break e}else{U=m;j=n}else{U=i;j=t}m=o[n+20>>2]|0;n=o[n+16+(p>>>31<<2)>>2]|0;s=(m|0)==0|(m|0)==(n|0)?d:m;if(!n){R=U;P=s;I=j;C=86;break}else{i=U;d=s;p=p<<1;t=j}}}}while(0);if((C|0)==86){if((P|0)==0&(I|0)==0){f=2<<F;k=l&(f|0-f);if(!k){T=w;break}f=(k&0-k)+-1|0;k=f>>>12&16;r=f>>>k;f=r>>>5&8;u=r>>>f;r=u>>>2&4;t=u>>>r;u=t>>>1&2;p=t>>>u;t=p>>>1&1;q=o[9436+((f|k|r|u|t)+(p>>>t)<<2)>>2]|0;Y=0}else{q=P;Y=I}if(!q){V=R;X=Y}else{x=R;B=q;z=Y;C=90}}if((C|0)==90)while(1){C=0;t=(o[B+4>>2]&-8)-w|0;p=t>>>0<x>>>0;u=p?t:x;t=p?B:z;p=o[B+16>>2]|0;if(p){x=u;B=p;z=t;C=90;continue}B=o[B+20>>2]|0;if(!B){V=u;X=t;break}else{x=u;z=t;C=90}}if((X|0)!=0?V>>>0<((o[2285]|0)-w|0)>>>0:0){l=o[2287]|0;if(X>>>0<l>>>0)be();t=X+w|0;if(X>>>0>=t>>>0)be();u=o[X+24>>2]|0;p=o[X+12>>2]|0;do{if((p|0)==(X|0)){r=X+20|0;k=o[r>>2]|0;if(!k){f=X+16|0;d=o[f>>2]|0;if(!d){H=0;break}else{W=d;G=f}}else{W=k;G=r}while(1){r=W+20|0;k=o[r>>2]|0;if(k){W=k;G=r;continue}r=W+16|0;k=o[r>>2]|0;if(!k){K=W;Z=G;break}else{W=k;G=r}}if(Z>>>0<l>>>0)be();else{o[Z>>2]=0;H=K;break}}else{r=o[X+8>>2]|0;if(r>>>0<l>>>0)be();k=r+12|0;if((o[k>>2]|0)!=(X|0))be();f=p+8|0;if((o[f>>2]|0)==(X|0)){o[k>>2]=p;o[f>>2]=r;H=p;break}else be()}}while(0);do{if(u){p=o[X+28>>2]|0;l=9436+(p<<2)|0;if((X|0)==(o[l>>2]|0)){o[l>>2]=H;if(!H){o[2284]=o[2284]&~(1<<p);break}}else{if(u>>>0<(o[2287]|0)>>>0)be();p=u+16|0;if((o[p>>2]|0)==(X|0))o[p>>2]=H;else o[u+20>>2]=H;if(!H)break}p=o[2287]|0;if(H>>>0<p>>>0)be();o[H+24>>2]=u;l=o[X+16>>2]|0;do{if(l)if(l>>>0<p>>>0)be();else{o[H+16>>2]=l;o[l+24>>2]=H;break}}while(0);l=o[X+20>>2]|0;if(l)if(l>>>0<(o[2287]|0)>>>0)be();else{o[H+20>>2]=l;o[l+24>>2]=H;break}}}while(0);e:do{if(V>>>0>=16){o[X+4>>2]=w|3;o[X+(w|4)>>2]=V|1;o[X+(V+w)>>2]=V;u=V>>>3;if(V>>>0<256){l=u<<1;p=9172+(l<<2)|0;r=o[2283]|0;f=1<<u;if(r&f){u=9172+(l+2<<2)|0;k=o[u>>2]|0;if(k>>>0<(o[2287]|0)>>>0)be();else{Q=u;J=k}}else{o[2283]=r|f;Q=9172+(l+2<<2)|0;J=p}o[Q>>2]=t;o[J+12>>2]=t;o[X+(w+8)>>2]=J;o[X+(w+12)>>2]=p;break}p=V>>>8;if(p)if(V>>>0>16777215)$=31;else{l=(p+1048320|0)>>>16&8;f=p<<l;p=(f+520192|0)>>>16&4;r=f<<p;f=(r+245760|0)>>>16&2;k=14-(p|l|f)+(r<<f>>>15)|0;$=V>>>(k+7|0)&1|k<<1}else $=0;k=9436+($<<2)|0;o[X+(w+28)>>2]=$;o[X+(w+20)>>2]=0;o[X+(w+16)>>2]=0;f=o[2284]|0;r=1<<$;if(!(f&r)){o[2284]=f|r;o[k>>2]=t;o[X+(w+24)>>2]=k;o[X+(w+12)>>2]=t;o[X+(w+8)>>2]=t;break}r=o[k>>2]|0;r:do{if((o[r+4>>2]&-8|0)!=(V|0)){k=V<<(($|0)==31?0:25-($>>>1)|0);f=r;while(1){l=f+16+(k>>>31<<2)|0;p=o[l>>2]|0;if(!p){ee=l;re=f;break}if((o[p+4>>2]&-8|0)==(V|0)){ne=p;break r}else{k=k<<1;f=p}}if(ee>>>0<(o[2287]|0)>>>0)be();else{o[ee>>2]=t;o[X+(w+24)>>2]=re;o[X+(w+12)>>2]=t;o[X+(w+8)>>2]=t;break e}}else ne=r}while(0);r=ne+8|0;f=o[r>>2]|0;k=o[2287]|0;if(f>>>0>=k>>>0&ne>>>0>=k>>>0){o[f+12>>2]=t;o[r>>2]=t;o[X+(w+8)>>2]=f;o[X+(w+12)>>2]=ne;o[X+(w+24)>>2]=0;break}else be()}else{f=V+w|0;o[X+4>>2]=f|3;r=X+(f+4)|0;o[r>>2]=o[r>>2]|1}}while(0);h=X+8|0;return h|0}else T=w}else T=w}else T=-1}while(0);X=o[2285]|0;if(X>>>0>=T>>>0){V=X-T|0;ne=o[2288]|0;if(V>>>0>15){o[2288]=ne+T;o[2285]=V;o[ne+(T+4)>>2]=V|1;o[ne+X>>2]=V;o[ne+4>>2]=T|3}else{o[2285]=0;o[2288]=0;o[ne+4>>2]=X|3;V=ne+(X+4)|0;o[V>>2]=o[V>>2]|1}h=ne+8|0;return h|0}ne=o[2286]|0;if(ne>>>0>T>>>0){V=ne-T|0;o[2286]=V;ne=o[2289]|0;o[2289]=ne+T;o[ne+(T+4)>>2]=V|1;o[ne+4>>2]=T|3;h=ne+8|0;return h|0}do{if(!(o[2401]|0)){ne=Me(30)|0;if(!(ne+-1&ne)){o[2403]=ne;o[2402]=ne;o[2404]=-1;o[2405]=-1;o[2406]=0;o[2394]=0;o[2401]=(Ee(0)|0)&-16^1431655768;break}else be()}}while(0);ne=T+48|0;V=o[2403]|0;X=T+47|0;re=V+X|0;ee=0-V|0;V=re&ee;if(V>>>0<=T>>>0){h=0;return h|0}$=o[2393]|0;if(($|0)!=0?(J=o[2391]|0,Q=J+V|0,Q>>>0<=J>>>0|Q>>>0>$>>>0):0){h=0;return h|0}e:do{if(!(o[2394]&4)){$=o[2289]|0;r:do{if($){Q=9580;while(1){J=o[Q>>2]|0;if(J>>>0<=$>>>0?(H=Q+4|0,(J+(o[H>>2]|0)|0)>>>0>$>>>0):0){te=Q;ie=H;break}Q=o[Q+8>>2]|0;if(!Q){C=174;break r}}Q=re-(o[2286]|0)&ee;if(Q>>>0<2147483647){H=ve(Q|0)|0;J=(H|0)==((o[te>>2]|0)+(o[ie>>2]|0)|0);K=J?Q:0;if(J)if((H|0)==(-1|0))oe=K;else{ae=H;se=K;C=194;break e}else{fe=H;le=Q;ue=K;C=184}}else oe=0}else C=174}while(0);do{if((C|0)==174){$=ve(0)|0;if(($|0)!=(-1|0)){w=$;K=o[2402]|0;Q=K+-1|0;if(!(Q&w))ce=V;else ce=V-w+(Q+w&0-K)|0;K=o[2391]|0;w=K+ce|0;if(ce>>>0>T>>>0&ce>>>0<2147483647){Q=o[2393]|0;if((Q|0)!=0?w>>>0<=K>>>0|w>>>0>Q>>>0:0){oe=0;break}Q=ve(ce|0)|0;w=(Q|0)==($|0);K=w?ce:0;if(w){ae=$;se=K;C=194;break e}else{fe=Q;le=ce;ue=K;C=184}}else oe=0}else oe=0}}while(0);r:do{if((C|0)==184){K=0-le|0;do{if(ne>>>0>le>>>0&(le>>>0<2147483647&(fe|0)!=(-1|0))?(Q=o[2403]|0,$=X-le+Q&0-Q,$>>>0<2147483647):0)if((ve($|0)|0)==(-1|0)){ve(K|0)|0;oe=ue;break r}else{de=$+le|0;break}else de=le}while(0);if((fe|0)==(-1|0))oe=ue;else{ae=fe;se=de;C=194;break e}}}while(0);o[2394]=o[2394]|4;he=oe;C=191}else{he=0;C=191}}while(0);if((((C|0)==191?V>>>0<2147483647:0)?(oe=ve(V|0)|0,V=ve(0)|0,oe>>>0<V>>>0&((oe|0)!=(-1|0)&(V|0)!=(-1|0))):0)?(de=V-oe|0,V=de>>>0>(T+40|0)>>>0,V):0){ae=oe;se=V?de:he;C=194}if((C|0)==194){he=(o[2391]|0)+se|0;o[2391]=he;if(he>>>0>(o[2392]|0)>>>0)o[2392]=he;he=o[2289]|0;e:do{if(he){de=9580;do{V=o[de>>2]|0;oe=de+4|0;fe=o[oe>>2]|0;if((ae|0)==(V+fe|0)){me=V;pe=oe;we=fe;ke=de;C=204;break}de=o[de+8>>2]|0}while((de|0)!=0);if(((C|0)==204?(o[ke+12>>2]&8|0)==0:0)?he>>>0<ae>>>0&he>>>0>=me>>>0:0){o[pe>>2]=we+se;de=(o[2286]|0)+se|0;fe=he+8|0;oe=(fe&7|0)==0?0:0-fe&7;fe=de-oe|0;o[2289]=he+oe;o[2286]=fe;o[he+(oe+4)>>2]=fe|1;o[he+(de+4)>>2]=40;o[2290]=o[2405];break}de=o[2287]|0;if(ae>>>0<de>>>0){o[2287]=ae;ge=ae}else ge=de;de=ae+se|0;fe=9580;while(1){if((o[fe>>2]|0)==(de|0)){ye=fe;_e=fe;C=212;break}fe=o[fe+8>>2]|0;if(!fe){Se=9580;break}}if((C|0)==212)if(!(o[_e+12>>2]&8)){o[ye>>2]=ae;fe=_e+4|0;o[fe>>2]=(o[fe>>2]|0)+se;fe=ae+8|0;de=(fe&7|0)==0?0:0-fe&7;fe=ae+(se+8)|0;oe=(fe&7|0)==0?0:0-fe&7;fe=ae+(oe+se)|0;V=de+T|0;ue=ae+V|0;le=fe-(ae+de)-T|0;o[ae+(de+4)>>2]=T|3;r:do{if((fe|0)!=(he|0)){if((fe|0)==(o[2288]|0)){X=(o[2285]|0)+le|0;o[2285]=X;o[2288]=ue;o[ae+(V+4)>>2]=X|1;o[ae+(X+V)>>2]=X;break}X=se+4|0;ne=o[ae+(X+oe)>>2]|0;if((ne&3|0)==1){ce=ne&-8;ie=ne>>>3;n:do{if(ne>>>0>=256){te=o[ae+((oe|24)+se)>>2]|0;ee=o[ae+(se+12+oe)>>2]|0;do{if((ee|0)==(fe|0)){re=oe|16;K=ae+(X+re)|0;$=o[K>>2]|0;if(!$){Q=ae+(re+se)|0;re=o[Q>>2]|0;if(!re){Ae=0;break}else{De=re;Ne=Q}}else{De=$;Ne=K}while(1){K=De+20|0;$=o[K>>2]|0;if($){De=$;Ne=K;continue}K=De+16|0;$=o[K>>2]|0;if(!$){Le=De;Oe=Ne;break}else{De=$;Ne=K}}if(Oe>>>0<ge>>>0)be();else{o[Oe>>2]=0;Ae=Le;break}}else{K=o[ae+((oe|8)+se)>>2]|0;if(K>>>0<ge>>>0)be();$=K+12|0;if((o[$>>2]|0)!=(fe|0))be();Q=ee+8|0;if((o[Q>>2]|0)==(fe|0)){o[$>>2]=ee;o[Q>>2]=K;Ae=ee;break}else be()}}while(0);if(!te)break;ee=o[ae+(se+28+oe)>>2]|0;K=9436+(ee<<2)|0;do{if((fe|0)!=(o[K>>2]|0)){if(te>>>0<(o[2287]|0)>>>0)be();Q=te+16|0;if((o[Q>>2]|0)==(fe|0))o[Q>>2]=Ae;else o[te+20>>2]=Ae;if(!Ae)break n}else{o[K>>2]=Ae;if(Ae)break;o[2284]=o[2284]&~(1<<ee);break n}}while(0);ee=o[2287]|0;if(Ae>>>0<ee>>>0)be();o[Ae+24>>2]=te;K=oe|16;Q=o[ae+(K+se)>>2]|0;do{if(Q)if(Q>>>0<ee>>>0)be();else{o[Ae+16>>2]=Q;o[Q+24>>2]=Ae;break}}while(0);Q=o[ae+(X+K)>>2]|0;if(!Q)break;if(Q>>>0<(o[2287]|0)>>>0)be();else{o[Ae+20>>2]=Q;o[Q+24>>2]=Ae;break}}else{Q=o[ae+((oe|8)+se)>>2]|0;ee=o[ae+(se+12+oe)>>2]|0;te=9172+(ie<<1<<2)|0;do{if((Q|0)!=(te|0)){if(Q>>>0<ge>>>0)be();if((o[Q+12>>2]|0)==(fe|0))break;be()}}while(0);if((ee|0)==(Q|0)){o[2283]=o[2283]&~(1<<ie);break}do{if((ee|0)==(te|0))Te=ee+8|0;else{if(ee>>>0<ge>>>0)be();K=ee+8|0;if((o[K>>2]|0)==(fe|0)){Te=K;break}be()}}while(0);o[Q+12>>2]=ee;o[Te>>2]=Q}}while(0);Fe=ae+((ce|oe)+se)|0;Re=ce+le|0}else{Fe=fe;Re=le}ie=Fe+4|0;o[ie>>2]=o[ie>>2]&-2;o[ae+(V+4)>>2]=Re|1;o[ae+(Re+V)>>2]=Re;ie=Re>>>3;if(Re>>>0<256){X=ie<<1;ne=9172+(X<<2)|0;te=o[2283]|0;K=1<<ie;do{if(!(te&K)){o[2283]=te|K;Pe=9172+(X+2<<2)|0;Ie=ne}else{ie=9172+(X+2<<2)|0;$=o[ie>>2]|0;if($>>>0>=(o[2287]|0)>>>0){Pe=ie;Ie=$;break}be()}}while(0);o[Pe>>2]=ue;o[Ie+12>>2]=ue;o[ae+(V+8)>>2]=Ie;o[ae+(V+12)>>2]=ne;break}X=Re>>>8;do{if(!X)Ce=0;else{if(Re>>>0>16777215){Ce=31;break}K=(X+1048320|0)>>>16&8;te=X<<K;ce=(te+520192|0)>>>16&4;$=te<<ce;te=($+245760|0)>>>16&2;ie=14-(ce|K|te)+($<<te>>>15)|0;Ce=Re>>>(ie+7|0)&1|ie<<1}}while(0);X=9436+(Ce<<2)|0;o[ae+(V+28)>>2]=Ce;o[ae+(V+20)>>2]=0;o[ae+(V+16)>>2]=0;ne=o[2284]|0;ie=1<<Ce;if(!(ne&ie)){o[2284]=ne|ie;o[X>>2]=ue;o[ae+(V+24)>>2]=X;o[ae+(V+12)>>2]=ue;o[ae+(V+8)>>2]=ue;break}ie=o[X>>2]|0;n:do{if((o[ie+4>>2]&-8|0)!=(Re|0)){X=Re<<((Ce|0)==31?0:25-(Ce>>>1)|0);ne=ie;while(1){te=ne+16+(X>>>31<<2)|0;$=o[te>>2]|0;if(!$){xe=te;Be=ne;break}if((o[$+4>>2]&-8|0)==(Re|0)){ze=$;break n}else{X=X<<1;ne=$}}if(xe>>>0<(o[2287]|0)>>>0)be();else{o[xe>>2]=ue;o[ae+(V+24)>>2]=Be;o[ae+(V+12)>>2]=ue;o[ae+(V+8)>>2]=ue;break r}}else ze=ie}while(0);ie=ze+8|0;ne=o[ie>>2]|0;X=o[2287]|0;if(ne>>>0>=X>>>0&ze>>>0>=X>>>0){o[ne+12>>2]=ue;o[ie>>2]=ue;o[ae+(V+8)>>2]=ne;o[ae+(V+12)>>2]=ze;o[ae+(V+24)>>2]=0;break}else be()}else{ne=(o[2286]|0)+le|0;o[2286]=ne;o[2289]=ue;o[ae+(V+4)>>2]=ne|1}}while(0);h=ae+(de|8)|0;return h|0}else Se=9580;while(1){V=o[Se>>2]|0;if(V>>>0<=he>>>0?(ue=o[Se+4>>2]|0,le=V+ue|0,le>>>0>he>>>0):0){Ue=V;je=ue;qe=le;break}Se=o[Se+8>>2]|0}de=Ue+(je+-39)|0;le=Ue+(je+-47+((de&7|0)==0?0:0-de&7))|0;de=he+16|0;ue=le>>>0<de>>>0?he:le;le=ue+8|0;V=ae+8|0;fe=(V&7|0)==0?0:0-V&7;V=se+-40-fe|0;o[2289]=ae+fe;o[2286]=V;o[ae+(fe+4)>>2]=V|1;o[ae+(se+-36)>>2]=40;o[2290]=o[2405];V=ue+4|0;o[V>>2]=27;o[le>>2]=o[2395];o[le+4>>2]=o[2396];o[le+8>>2]=o[2397];o[le+12>>2]=o[2398];o[2395]=ae;o[2396]=se;o[2398]=0;o[2397]=le;le=ue+28|0;o[le>>2]=7;if((ue+32|0)>>>0<qe>>>0){fe=le;do{le=fe;fe=fe+4|0;o[fe>>2]=7}while((le+8|0)>>>0<qe>>>0)}if((ue|0)!=(he|0)){fe=ue-he|0;o[V>>2]=o[V>>2]&-2;o[he+4>>2]=fe|1;o[ue>>2]=fe;le=fe>>>3;if(fe>>>0<256){oe=le<<1;ne=9172+(oe<<2)|0;ie=o[2283]|0;X=1<<le;if(ie&X){le=9172+(oe+2<<2)|0;Q=o[le>>2]|0;if(Q>>>0<(o[2287]|0)>>>0)be();else{Ye=le;Ve=Q}}else{o[2283]=ie|X;Ye=9172+(oe+2<<2)|0;Ve=ne}o[Ye>>2]=he;o[Ve+12>>2]=he;o[he+8>>2]=Ve;o[he+12>>2]=ne;break}ne=fe>>>8;if(ne)if(fe>>>0>16777215)Xe=31;else{oe=(ne+1048320|0)>>>16&8;X=ne<<oe;ne=(X+520192|0)>>>16&4;ie=X<<ne;X=(ie+245760|0)>>>16&2;Q=14-(ne|oe|X)+(ie<<X>>>15)|0;Xe=fe>>>(Q+7|0)&1|Q<<1}else Xe=0;Q=9436+(Xe<<2)|0;o[he+28>>2]=Xe;o[he+20>>2]=0;o[de>>2]=0;X=o[2284]|0;ie=1<<Xe;if(!(X&ie)){o[2284]=X|ie;o[Q>>2]=he;o[he+24>>2]=Q;o[he+12>>2]=he;o[he+8>>2]=he;break}ie=o[Q>>2]|0;r:do{if((o[ie+4>>2]&-8|0)!=(fe|0)){Q=fe<<((Xe|0)==31?0:25-(Xe>>>1)|0);X=ie;while(1){oe=X+16+(Q>>>31<<2)|0;ne=o[oe>>2]|0;if(!ne){He=oe;We=X;break}if((o[ne+4>>2]&-8|0)==(fe|0)){Ge=ne;break r}else{Q=Q<<1;X=ne}}if(He>>>0<(o[2287]|0)>>>0)be();else{o[He>>2]=he;o[he+24>>2]=We;o[he+12>>2]=he;o[he+8>>2]=he;break e}}else Ge=ie}while(0);ie=Ge+8|0;fe=o[ie>>2]|0;de=o[2287]|0;if(fe>>>0>=de>>>0&Ge>>>0>=de>>>0){o[fe+12>>2]=he;o[ie>>2]=he;o[he+8>>2]=fe;o[he+12>>2]=Ge;o[he+24>>2]=0;break}else be()}}else{fe=o[2287]|0;if((fe|0)==0|ae>>>0<fe>>>0)o[2287]=ae;o[2395]=ae;o[2396]=se;o[2398]=0;o[2292]=o[2401];o[2291]=-1;fe=0;do{ie=fe<<1;de=9172+(ie<<2)|0;o[9172+(ie+3<<2)>>2]=de;o[9172+(ie+2<<2)>>2]=de;fe=fe+1|0}while((fe|0)!=32);fe=ae+8|0;de=(fe&7|0)==0?0:0-fe&7;fe=se+-40-de|0;o[2289]=ae+de;o[2286]=fe;o[ae+(de+4)>>2]=fe|1;o[ae+(se+-36)>>2]=40;o[2290]=o[2405]}}while(0);se=o[2286]|0;if(se>>>0>T>>>0){ae=se-T|0;o[2286]=ae;se=o[2289]|0;o[2289]=se+T;o[se+(T+4)>>2]=ae|1;o[se+4>>2]=T|3;h=se+8|0;return h|0}}o[(Nr()|0)>>2]=12;h=0;return h|0}function Zr(e){e=e|0;var r=0,n=0,t=0,i=0,a=0,s=0,f=0,l=0,u=0,c=0,d=0,h=0,m=0,p=0,w=0,k=0,b=0,v=0,E=0,g=0,y=0,_=0,S=0,A=0,D=0,M=0,N=0,L=0,O=0,T=0,F=0,R=0,P=0,I=0,C=0,x=0,B=0;if(!e)return;r=e+-8|0;n=o[2287]|0;if(r>>>0<n>>>0)be();t=o[e+-4>>2]|0;i=t&3;if((i|0)==1)be();a=t&-8;s=e+(a+-8)|0;do{if(!(t&1)){f=o[r>>2]|0;if(!i)return;l=-8-f|0;u=e+l|0;c=f+a|0;if(u>>>0<n>>>0)be();if((u|0)==(o[2288]|0)){d=e+(a+-4)|0;h=o[d>>2]|0;if((h&3|0)!=3){m=u;p=c;break}o[2285]=c;o[d>>2]=h&-2;o[e+(l+4)>>2]=c|1;o[s>>2]=c;return}h=f>>>3;if(f>>>0<256){f=o[e+(l+8)>>2]|0;d=o[e+(l+12)>>2]|0;w=9172+(h<<1<<2)|0;if((f|0)!=(w|0)){if(f>>>0<n>>>0)be();if((o[f+12>>2]|0)!=(u|0))be()}if((d|0)==(f|0)){o[2283]=o[2283]&~(1<<h);m=u;p=c;break}if((d|0)!=(w|0)){if(d>>>0<n>>>0)be();w=d+8|0;if((o[w>>2]|0)==(u|0))k=w;else be()}else k=d+8|0;o[f+12>>2]=d;o[k>>2]=f;m=u;p=c;break}f=o[e+(l+24)>>2]|0;d=o[e+(l+12)>>2]|0;do{if((d|0)==(u|0)){w=e+(l+20)|0;h=o[w>>2]|0;if(!h){b=e+(l+16)|0;v=o[b>>2]|0;if(!v){E=0;break}else{g=v;y=b}}else{g=h;y=w}while(1){w=g+20|0;h=o[w>>2]|0;if(h){g=h;y=w;continue}w=g+16|0;h=o[w>>2]|0;if(!h){_=g;S=y;break}else{g=h;y=w}}if(S>>>0<n>>>0)be();else{o[S>>2]=0;E=_;break}}else{w=o[e+(l+8)>>2]|0;if(w>>>0<n>>>0)be();h=w+12|0;if((o[h>>2]|0)!=(u|0))be();b=d+8|0;if((o[b>>2]|0)==(u|0)){o[h>>2]=d;o[b>>2]=w;E=d;break}else be()}}while(0);if(f){d=o[e+(l+28)>>2]|0;w=9436+(d<<2)|0;if((u|0)==(o[w>>2]|0)){o[w>>2]=E;if(!E){o[2284]=o[2284]&~(1<<d);m=u;p=c;break}}else{if(f>>>0<(o[2287]|0)>>>0)be();d=f+16|0;if((o[d>>2]|0)==(u|0))o[d>>2]=E;else o[f+20>>2]=E;if(!E){m=u;p=c;break}}d=o[2287]|0;if(E>>>0<d>>>0)be();o[E+24>>2]=f;w=o[e+(l+16)>>2]|0;do{if(w)if(w>>>0<d>>>0)be();else{o[E+16>>2]=w;o[w+24>>2]=E;break}}while(0);w=o[e+(l+20)>>2]|0;if(w)if(w>>>0<(o[2287]|0)>>>0)be();else{o[E+20>>2]=w;o[w+24>>2]=E;m=u;p=c;break}else{m=u;p=c}}else{m=u;p=c}}else{m=r;p=a}}while(0);if(m>>>0>=s>>>0)be();r=e+(a+-4)|0;E=o[r>>2]|0;if(!(E&1))be();if(!(E&2)){if((s|0)==(o[2289]|0)){n=(o[2286]|0)+p|0;o[2286]=n;o[2289]=m;o[m+4>>2]=n|1;if((m|0)!=(o[2288]|0))return;o[2288]=0;o[2285]=0;return}if((s|0)==(o[2288]|0)){n=(o[2285]|0)+p|0;o[2285]=n;o[2288]=m;o[m+4>>2]=n|1;o[m+n>>2]=n;return}n=(E&-8)+p|0;_=E>>>3;do{if(E>>>0>=256){S=o[e+(a+16)>>2]|0;y=o[e+(a|4)>>2]|0;do{if((y|0)==(s|0)){g=e+(a+12)|0;k=o[g>>2]|0;if(!k){i=e+(a+8)|0;t=o[i>>2]|0;if(!t){A=0;break}else{D=t;M=i}}else{D=k;M=g}while(1){g=D+20|0;k=o[g>>2]|0;if(k){D=k;M=g;continue}g=D+16|0;k=o[g>>2]|0;if(!k){N=D;L=M;break}else{D=k;M=g}}if(L>>>0<(o[2287]|0)>>>0)be();else{o[L>>2]=0;A=N;break}}else{g=o[e+a>>2]|0;if(g>>>0<(o[2287]|0)>>>0)be();k=g+12|0;if((o[k>>2]|0)!=(s|0))be();i=y+8|0;if((o[i>>2]|0)==(s|0)){o[k>>2]=y;o[i>>2]=g;A=y;break}else be()}}while(0);if(S){y=o[e+(a+20)>>2]|0;c=9436+(y<<2)|0;if((s|0)==(o[c>>2]|0)){o[c>>2]=A;if(!A){o[2284]=o[2284]&~(1<<y);break}}else{if(S>>>0<(o[2287]|0)>>>0)be();y=S+16|0;if((o[y>>2]|0)==(s|0))o[y>>2]=A;else o[S+20>>2]=A;if(!A)break}y=o[2287]|0;if(A>>>0<y>>>0)be();o[A+24>>2]=S;c=o[e+(a+8)>>2]|0;do{if(c)if(c>>>0<y>>>0)be();else{o[A+16>>2]=c;o[c+24>>2]=A;break}}while(0);c=o[e+(a+12)>>2]|0;if(c)if(c>>>0<(o[2287]|0)>>>0)be();else{o[A+20>>2]=c;o[c+24>>2]=A;break}}}else{c=o[e+a>>2]|0;y=o[e+(a|4)>>2]|0;S=9172+(_<<1<<2)|0;if((c|0)!=(S|0)){if(c>>>0<(o[2287]|0)>>>0)be();if((o[c+12>>2]|0)!=(s|0))be()}if((y|0)==(c|0)){o[2283]=o[2283]&~(1<<_);break}if((y|0)!=(S|0)){if(y>>>0<(o[2287]|0)>>>0)be();S=y+8|0;if((o[S>>2]|0)==(s|0))O=S;else be()}else O=y+8|0;o[c+12>>2]=y;o[O>>2]=c}}while(0);o[m+4>>2]=n|1;o[m+n>>2]=n;if((m|0)==(o[2288]|0)){o[2285]=n;return}else T=n}else{o[r>>2]=E&-2;o[m+4>>2]=p|1;o[m+p>>2]=p;T=p}p=T>>>3;if(T>>>0<256){E=p<<1;r=9172+(E<<2)|0;n=o[2283]|0;O=1<<p;if(n&O){p=9172+(E+2<<2)|0;s=o[p>>2]|0;if(s>>>0<(o[2287]|0)>>>0)be();else{F=p;R=s}}else{o[2283]=n|O;F=9172+(E+2<<2)|0;R=r}o[F>>2]=m;o[R+12>>2]=m;o[m+8>>2]=R;o[m+12>>2]=r;return}r=T>>>8;if(r)if(T>>>0>16777215)P=31;else{R=(r+1048320|0)>>>16&8;F=r<<R;r=(F+520192|0)>>>16&4;E=F<<r;F=(E+245760|0)>>>16&2;O=14-(r|R|F)+(E<<F>>>15)|0;P=T>>>(O+7|0)&1|O<<1}else P=0;O=9436+(P<<2)|0;o[m+28>>2]=P;o[m+20>>2]=0;o[m+16>>2]=0;F=o[2284]|0;E=1<<P;e:do{if(F&E){R=o[O>>2]|0;r:do{if((o[R+4>>2]&-8|0)!=(T|0)){r=T<<((P|0)==31?0:25-(P>>>1)|0);n=R;while(1){s=n+16+(r>>>31<<2)|0;p=o[s>>2]|0;if(!p){I=s;C=n;break}if((o[p+4>>2]&-8|0)==(T|0)){x=p;break r}else{r=r<<1;n=p}}if(I>>>0<(o[2287]|0)>>>0)be();else{o[I>>2]=m;o[m+24>>2]=C;o[m+12>>2]=m;o[m+8>>2]=m;break e}}else x=R}while(0);R=x+8|0;n=o[R>>2]|0;r=o[2287]|0;if(n>>>0>=r>>>0&x>>>0>=r>>>0){o[n+12>>2]=m;o[R>>2]=m;o[m+8>>2]=n;o[m+12>>2]=x;o[m+24>>2]=0;break}else be()}else{o[2284]=F|E;o[O>>2]=m;o[m+24>>2]=O;o[m+12>>2]=m;o[m+8>>2]=m}}while(0);m=(o[2291]|0)+-1|0;o[2291]=m;if(!m)B=9588;else return;while(1){m=o[B>>2]|0;if(!m)break;else B=m+8|0}o[2291]=-1;return}function Qr(){}function Jr(e,r,n){e=e|0;r=r|0;n=n|0;var i=0,a=0,s=0,f=0;i=e+n|0;if((n|0)>=20){r=r&255;a=e&3;s=r|r<<8|r<<16|r<<24;f=i&~3;if(a){a=e+4-a|0;while((e|0)<(a|0)){t[e>>0]=r;e=e+1|0}}while((e|0)<(f|0)){o[e>>2]=s;e=e+4|0}}while((e|0)<(i|0)){t[e>>0]=r;e=e+1|0}return e-n|0}function $r(e,r,n){e=e|0;r=r|0;n=n|0;var i=0;if((n|0)>=4096)return ye(e|0,r|0,n|0)|0;i=e|0;if((e&3)==(r&3)){while(e&3){if(!n)return i|0;t[e>>0]=t[r>>0]|0;e=e+1|0;r=r+1|0;n=n-1|0}while((n|0)>=4){o[e>>2]=o[r>>2];e=e+4|0;r=r+4|0;n=n-4|0}}while((n|0)>0){t[e>>0]=t[r>>0]|0;e=e+1|0;r=r+1|0;n=n-1|0}return i|0}function en(e){e=e|0;return(e&255)<<24|(e>>8&255)<<16|(e>>16&255)<<8|e>>>24|0}function rn(e,r){e=e|0;r=r|0;return dn[e&1](r|0)|0}function nn(e,r,n,t){e=e|0;r=r|0;n=n|0;t=t|0;return hn[e&7](r|0,n|0,t|0)|0}function tn(e,r,n){e=e|0;r=r|0;n=n|0;mn[e&1](r|0,n|0)}function on(e,r,n){e=e|0;r=r|0;n=n|0;return pn[e&3](r|0,n|0)|0}function an(e,r){e=e|0;r=r|0;wn[e&1](r|0)}function sn(e){e=e|0;te(0);return 0}function fn(e,r,n){e=e|0;r=r|0;n=n|0;te(1);return 0}function ln(e,r){e=e|0;r=r|0;te(2)}function un(e,r){e=e|0;r=r|0;te(3);return 0}function cn(e){e=e|0;te(4)}var dn=[sn,Pr];var hn=[fn,xr,Ir,Dr,Cr,fn,fn,fn];var mn=[ln,Mr];var pn=[un,We,Ge,Ke];var wn=[cn,Wr];return{_gzwrite:ar,_fflush:Br,_gzread:rr,_memset:Jr,_malloc:Kr,_memcpy:$r,_gzopen:Je,_llvm_bswap_i32:en,_gzclose:Qe,_free:Zr,___errno_location:Nr,runPostSets:Qr,stackAlloc:Te,stackSave:Fe,stackRestore:Re,establishStackSpace:Pe,setThrew:Ie,setTempRet0:Be,getTempRet0:ze,dynCall_ii:rn,dynCall_iiii:nn,dynCall_vii:tn,dynCall_iii:on,dynCall_vi:an}}(n.asmGlobalArg,n.asmLibraryArg,q),ze=(n._gzwrite=Be._gzwrite,n._gzopen=Be._gzopen,n._fflush=Be._fflush,n.runPostSets=Be.runPostSets,n._gzread=Be._gzread,n._memset=Be._memset),Ue=n._malloc=Be._malloc,je=n._memcpy=Be._memcpy,qe=(n.___errno_location=Be.___errno_location,n._gzclose=Be._gzclose,n._free=Be._free),Ye=n._llvm_bswap_i32=Be._llvm_bswap_i32;function Ve(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}n.dynCall_ii=Be.dynCall_ii,n.dynCall_iiii=Be.dynCall_iiii,n.dynCall_vii=Be.dynCall_vii,n.dynCall_iii=Be.dynCall_iii,n.dynCall_vi=Be.dynCall_vi,d.stackAlloc=Be.stackAlloc,d.stackSave=Be.stackSave,d.stackRestore=Be.stackRestore,d.establishStackSpace=Be.establishStackSpace,d.setTempRet0=Be.setTempRet0,d.getTempRet0=Be.getTempRet0,Ve.prototype=new Error,Ve.prototype.constructor=Ve;var Xe=null;function He(e){function r(){n.calledRun||(n.calledRun=!0,E||(te(),Z($),n.onRuntimeInitialized&&n.onRuntimeInitialized(),n._main&&Ze&&n.callMain(e),function(){if(n.postRun)for("function"==typeof n.postRun&&(n.postRun=[n.postRun]);n.postRun.length;)oe(n.postRun.shift());Z(re)}()))}e=e||n.arguments,null===Xe&&(Xe=Date.now()),me>0||(function(){if(n.preRun)for("function"==typeof n.preRun&&(n.preRun=[n.preRun]);n.preRun.length;)ie(n.preRun.shift());Z(Q)}(),me>0||n.calledRun||(n.setStatus?(n.setStatus("Running..."),setTimeout((function(){setTimeout((function(){n.setStatus("")}),1),r()}),1)):r()))}function We(e,r){if(!r||!n.noExitRuntime)throw n.noExitRuntime||(E=!0,X=void 0,Z(ee),n.onExit&&n.onExit(e)),s?(process.stdout.once("drain",(function(){process.exit(e)})),console.log(" "),setTimeout((function(){process.exit(e)}),500)):f&&"function"==typeof quit&&quit(e),new Ve(e)}we=function e(){n.calledRun||He(),n.calledRun||(we=e)},n.callMain=n.callMain=function(e){g(0==me,"cannot call main when async dependencies remain! (listen on __ATMAIN__)"),g(0==Q.length,"cannot call main when preRun functions remain to be called"),e=e||[],te();var r=e.length+1;function t(){for(var e=0;e<3;e++)i.push(0)}var i=[P(ae(n.thisProgram),"i8",0)];t();for(var o=0;o<r-1;o+=1)i.push(P(ae(e[o]),"i8",0)),t();i.push(0),i=P(i,"i32",0);try{We(n._main(r,i,0),!0)}catch(e){if(e instanceof Ve)return;if("SimulateInfiniteLoop"==e)return void(n.noExitRuntime=!0);throw e&&"object"==typeof e&&e.stack&&n.printErr("exception thrown: "+[e,e.stack]),e}},n.run=n.run=He,n.exit=n.exit=We;var Ge=[];function Ke(e){void 0!==e?(n.print(e),n.printErr(e),e=JSON.stringify(e)):e="",E=!0;var r="abort("+e+") at "+z()+"\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";throw Ge&&Ge.forEach((function(n){r=n(r,e)})),r}if(n.abort=n.abort=Ke,n.preInit)for("function"==typeof n.preInit&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.pop()();var Ze=!0;return n.noInitialRun&&(Ze=!1),He(),n.gzcompress=function(e,r){var n=k("gzopen","number",["string","string"],["output.gz",r]),t=Ue(e.length);A.set(e,t),k("gzwrite","number",["number","number","number"],[n,t,e.length]),k("gzclose","number",["number"],[n]),qe(t);var i=new Uint8Array(Oe.root.contents["output.gz"].contents);return Oe.unlink("output.gz"),i},n.gzdecompress=function(e){var r=1048576;Oe.createDataFile("/","input.gz",e,!0,!0);for(var n,t=k("gzopen","number",["string","string"],["input.gz","rb"]),i=Ue(r),o=[],a=0;(n=k("gzread","number",["number","number","number"],[t,i,r]))>0;)o.push(new Uint8Array(n)),o[o.length-1].set(A.subarray(i,i+n)),a+=n;k("gzclose","number",["number"],[t]),Oe.unlink("input.gz"),qe(i);for(var s=new Uint8Array(a),f=0,l=0;l<o.length;l++)s.set(o[l],f),f+=o[l].length;return s},n}return{compress:function(e,n){var t="string"==typeof e?(new TextEncoder).encode(e):e,i=void 0===n?"wb":"wb"+n;return r(524288+2.5*t.length).gzcompress(t,i)},decompress:r(16777216).gzdecompress}}();onmessage=function(e){var r=Date.now();switch(e.data.request){case"compress":try{var n=Zee.compress(e.data.data,e.data.compressionLevel);postMessage({type:"success",data:n,callbackID:e.data.callbackID,time:Date.now()-r},[n.buffer])}catch(n){postMessage({type:"error",data:n.toString(),callbackID:e.data.callbackID,time:Date.now()-r})}break;case"decompress":try{n=Zee.decompress(e.data.data),postMessage({type:"success",data:n,callbackID:e.data.callbackID,time:Date.now()-r},[n.buffer])}catch(n){postMessage({type:"error",data:n.toString(),callbackID:e.data.callbackID,time:Date.now()-r})}}};
1
+ var Zee=function(){function e(e,r){for(var n=65536;n<e||n<2*r;)n<16777216?n*=2:n+=16777216;return n}function r(r){var n;(n={noExitRuntime:!0,noImageDecoding:!0,TOTAL_STACK:262144,TOTAL_MEMORY:e(r,262144)})||(n=(void 0!==n?n:null)||{});var t={};for(var i in n)n.hasOwnProperty(i)&&(t[i]=n[i]);var o="object"==typeof window,a="function"==typeof importScripts,s="object"==typeof process&&"function"==typeof require&&!o&&!a,f=!o&&!s&&!a;if(s){n.print||(n.print=function(e){process.stdout.write(e+"\n")}),n.printErr||(n.printErr=function(e){process.stderr.write(e+"\n")});var l=require("fs"),u=require("path");n.read=function(e,r){e=u.normalize(e);var n=l.readFileSync(e);return n||e==u.resolve(e)||(e=path.join(__dirname,"..","src",e),n=l.readFileSync(e)),n&&!r&&(n=n.toString()),n},n.readBinary=function(e){var r=n.read(e,!0);return r.buffer||(r=new Uint8Array(r)),L(r.buffer),r},n.load=function(e){c(read(e))},n.thisProgram||(process.argv.length>1?n.thisProgram=process.argv[1].replace(/\\/g,"/"):n.thisProgram="unknown-program"),n.arguments=process.argv.slice(2),"undefined"!=typeof module&&(module.exports=n),process.on("uncaughtException",(function(e){if(!(e instanceof qe))throw e})),n.inspect=function(){return"[Emscripten Module object]"}}else if(f)n.print||(n.print=print),"undefined"!=typeof printErr&&(n.printErr=printErr),"undefined"!=typeof read?n.read=read:n.read=function(){throw"no read() available (jsc?)"},n.readBinary=function(e){if("function"==typeof readbuffer)return new Uint8Array(readbuffer(e));var r=read(e,"binary");return L("object"==typeof r),r},"undefined"!=typeof scriptArgs?n.arguments=scriptArgs:void 0!==arguments&&(n.arguments=arguments);else{if(!o&&!a)throw"Unknown runtime environment. Where are we?";n.read=function(e){var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText},void 0!==arguments&&(n.arguments=arguments),"undefined"!=typeof console?(n.print||(n.print=function(e){console.log(e)}),n.printErr||(n.printErr=function(e){console.log(e)})):n.print||(n.print=function(e){}),a&&(n.load=importScripts),void 0===n.setWindowTitle&&(n.setWindowTitle=function(e){document.title=e})}function c(e){throw"NO_DYNAMIC_EXECUTION was set, cannot eval"}for(var i in!n.load&&n.read&&(n.load=function(e){c(n.read(e))}),n.print||(n.print=function(){}),n.printErr||(n.printErr=n.print),n.arguments||(n.arguments=[]),n.thisProgram||(n.thisProgram="./this.program"),n.print=n.print,n.printErr=n.printErr,n.preRun=[],n.postRun=[],t)t.hasOwnProperty(i)&&(n[i]=t[i]);var d={setTempRet0:function(e){p=e},getTempRet0:function(){return p},stackSave:function(){return Y},stackRestore:function(e){Y=e},getNativeTypeSize:function(e){switch(e){case"i1":case"i8":return 1;case"i16":return 2;case"i32":case"float":return 4;case"i64":case"double":return 8;default:if("*"===e[e.length-1])return d.QUANTUM_SIZE;if("i"===e[0]){var r=parseInt(e.substr(1));return L(r%8==0),r/8}return 0}},getNativeFieldSize:function(e){return Math.max(d.getNativeTypeSize(e),d.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(e,r){return"double"===r||"i64"===r?7&e&&(L(4==(7&e)),e+=4):L(!(3&e)),e},getAlignSize:function(e,r,n){return n||"i64"!=e&&"double"!=e?e?Math.min(r||(e?d.getNativeFieldSize(e):0),d.QUANTUM_SIZE):Math.min(r,8):8},dynCall:function(e,r,t){return t&&t.length?(t.splice||(t=Array.prototype.slice.call(t)),t.splice(0,0,r),n["dynCall_"+e].apply(null,t)):n["dynCall_"+e].call(null,r)},functionPointers:[],addFunction:function(e){for(var r=0;r<d.functionPointers.length;r++)if(!d.functionPointers[r])return d.functionPointers[r]=e,2*(1+r);throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."},removeFunction:function(e){d.functionPointers[(e-2)/2]=null},warnOnce:function(e){d.warnOnce.shown||(d.warnOnce.shown={}),d.warnOnce.shown[e]||(d.warnOnce.shown[e]=1,n.printErr(e))},funcWrappers:{},getFuncWrapper:function(e,r){L(r),d.funcWrappers[r]||(d.funcWrappers[r]={});var n=d.funcWrappers[r];return n[e]||(n[e]=function(){return d.dynCall(r,e,arguments)}),n[e]},getCompilerSetting:function(e){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"},stackAlloc:function(e){var r=Y;return Y=15+(Y=Y+e|0)&-16,r},staticAlloc:function(e){var r=j;return j=15+(j=j+e|0)&-16,r},dynamicAlloc:function(e){var r=V;return(V=15+(V=V+e|0)&-16)>=H&&!void We("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+H+", (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 ")?(V=r,0):r},alignMemory:function(e,r){return Math.ceil(e/(r||16))*(r||16)},makeBigInt:function(e,r,n){return n?+(e>>>0)+4294967296*+(r>>>0):+(e>>>0)+4294967296*+(0|r)},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};n.Runtime=d;var h,m,p,w,k,b,v,E,g,y,_,S,A,D,M,N=!1;function L(e,r){e||We("Assertion failed: "+r)}function O(e,r,n,t){switch("*"===(n=n||"i8").charAt(n.length-1)&&(n="i32"),n){case"i1":case"i8":E[0|e]=r;break;case"i16":y[e>>1]=r;break;case"i32":S[e>>2]=r;break;case"i64":m=[r>>>0,(h=r,+fe(h)>=1?h>0?(0|ce(+ue(h/4294967296),4294967295))>>>0:~~+le((h-+(~~h>>>0))/4294967296)>>>0:0)],S[e>>2]=m[0],S[e+4>>2]=m[1];break;case"float":D[e>>2]=r;break;case"double":M[e>>3]=r;break;default:We("invalid type for setValue: "+n)}}function T(e,r,n){switch("*"===(r=r||"i8").charAt(r.length-1)&&(r="i32"),r){case"i1":case"i8":return E[0|e];case"i16":return y[e>>1];case"i32":case"i64":return S[e>>2];case"float":return D[e>>2];case"double":return M[e>>3];default:We("invalid type for setValue: "+r)}return null}function F(e,r,n,t){var i,o;"number"==typeof e?(i=!0,o=e):(i=!1,o=e.length);var a,s="string"==typeof r?r:null;if(a=4==n?t:[Be,d.stackAlloc,d.staticAlloc,d.dynamicAlloc][void 0===n?2:n](Math.max(o,s?1:r.length)),i){var f;for(t=a,L(!(3&a)),f=a+(-4&o);t<f;t+=4)S[t>>2]=0;for(f=a+o;t<f;)E[0|t++]=0;return a}if("i8"===s)return e.subarray||e.slice?g.set(e,a):g.set(new Uint8Array(e),a),a;for(var l,u,c,h=0;h<o;){var m=e[h];"function"==typeof m&&(m=d.getFunctionIndex(m)),0!==(l=s||r[h])?("i64"==l&&(l="i32"),O(a+h,m,l),c!==l&&(u=d.getNativeTypeSize(l),c=l),h+=u):h++}return a}function R(e,r){if(0===r||!e)return"";for(var t,i=0,o=0;i|=t=g[e+o|0],(0!=t||r)&&(o++,!r||o!=r););r||(r=o);var a="";if(i<128){for(var s,f=1024;r>0;)s=String.fromCharCode.apply(String,g.subarray(e,e+Math.min(r,f))),a=a?a+s:s,e+=f,r-=f;return a}return n.UTF8ToString(e)}function P(e,r){for(var n,t,i,o,a,s="";;){if(!(n=e[r++]))return s;if(128&n)if(t=63&e[r++],192!=(224&n))if(i=63&e[r++],224==(240&n)?n=(15&n)<<12|t<<6|i:(o=63&e[r++],240==(248&n)?n=(7&n)<<18|t<<12|i<<6|o:(a=63&e[r++],n=248==(252&n)?(3&n)<<24|t<<18|i<<12|o<<6|a:(1&n)<<30|t<<24|i<<18|o<<12|a<<6|63&e[r++])),n<65536)s+=String.fromCharCode(n);else{var f=n-65536;s+=String.fromCharCode(55296|f>>10,56320|1023&f)}else s+=String.fromCharCode((31&n)<<6|t);else s+=String.fromCharCode(n)}}function I(e,r,n,t){if(!(t>0))return 0;for(var i=n,o=n+t-1,a=0;a<e.length;++a){var s=e.charCodeAt(a);if(s>=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++a)),s<=127){if(n>=o)break;r[n++]=s}else if(s<=2047){if(n+1>=o)break;r[n++]=192|s>>6,r[n++]=128|63&s}else if(s<=65535){if(n+2>=o)break;r[n++]=224|s>>12,r[n++]=128|s>>6&63,r[n++]=128|63&s}else if(s<=2097151){if(n+3>=o)break;r[n++]=240|s>>18,r[n++]=128|s>>12&63,r[n++]=128|s>>6&63,r[n++]=128|63&s}else if(s<=67108863){if(n+4>=o)break;r[n++]=248|s>>24,r[n++]=128|s>>18&63,r[n++]=128|s>>12&63,r[n++]=128|s>>6&63,r[n++]=128|63&s}else{if(n+5>=o)break;r[n++]=252|s>>30,r[n++]=128|s>>24&63,r[n++]=128|s>>18&63,r[n++]=128|s>>12&63,r[n++]=128|s>>6&63,r[n++]=128|63&s}}return r[n]=0,n-i}function C(e){for(var r=0,n=0;n<e.length;++n){var t=e.charCodeAt(n);t>=55296&&t<=57343&&(t=65536+((1023&t)<<10)|1023&e.charCodeAt(++n)),t<=127?++r:r+=t<=2047?2:t<=65535?3:t<=2097151?4:t<=67108863?5:6}return r}function x(){return function(){var e=new Error;if(!e.stack){try{throw new Error(0)}catch(r){e=r}if(!e.stack)return"(no stack trace available)"}return e.stack.toString()}().replace(/__Z[\w\d_]+/g,(function(e){var r=function(e){var r=!!n.___cxa_demangle;if(r)try{var t=Be(e.length);oe(e.substr(1),t);var i=Be(4),o=n.___cxa_demangle(t,0,0,i);if(0===T(i,"i32")&&o)return R(o)}catch(e){}finally{t&&Ue(t),i&&Ue(i),o&&Ue(o)}var a=3,s={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."},f=[],l=!0,u=e;try{if("Object._main"==e||"_main"==e)return"main()";if("number"==typeof e&&(e=R(e)),"_"!==e[0])return e;if("_"!==e[1])return e;if("Z"!==e[2])return e;switch(e[3]){case"n":return"operator new()";case"d":return"operator delete()"}u=function r(n,t,i){t=t||1/0;var o,u="",c=[];if("N"===e[a]){if(o=function(){a++,"K"===e[a]&&a++;for(var r=[];"E"!==e[a];)if("S"!==e[a])if("C"!==e[a]){var n=parseInt(e.substr(a)),t=n.toString().length;if(!n||!t){a--;break}var i=e.substr(a+t,n);r.push(i),f.push(i),a+=t+n}else r.push(r[r.length-1]),a+=2;else{a++;var o=e.indexOf("_",a),s=e.substring(a,o)||0;r.push(f[s]||"?"),a=o+1}return a++,r}().join("::"),0==--t)return n?[o]:o}else if(("K"===e[a]||l&&"L"===e[a])&&a++,p=parseInt(e.substr(a))){var d=p.toString().length;o=e.substr(a+d,p),a+=d+p}if(l=!1,"I"===e[a]){a++;var h=r(!0);u+=r(!0,1,!0)[0]+" "+o+"<"+h.join(", ")+">"}else u=o;e:for(;a<e.length&&t-- >0;){var m=e[a++];if(m in s)c.push(s[m]);else switch(m){case"P":c.push(r(!0,1,!0)[0]+"*");break;case"R":c.push(r(!0,1,!0)[0]+"&");break;case"L":a++;var p=e.indexOf("E",a)-a;c.push(e.substr(a,p)),a+=p+2;break;case"A":if(p=parseInt(e.substr(a)),a+=p.toString().length,"_"!==e[a])throw"?";a++,c.push(r(!0,1,!0)[0]+" ["+p+"]");break;case"E":break e;default:u+="?"+m;break e}}return i||1!==c.length||"void"!==c[0]||(c=[]),n?(u&&c.push(u+"?"),c):u+"("+c.join(", ")+")"}()}catch(e){u+="?"}return u.indexOf("?")>=0&&!r&&d.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),u}(e);return e===r?e:e+" ["+r+"]"}))}v={string:(b={stackSave:function(){d.stackSave()},stackRestore:function(){d.stackRestore()},arrayToC:function(e){var r=d.stackAlloc(e.length);return ae(e,r),r},stringToC:function(e){var r=0;return null!=e&&0!==e&&oe(e,r=d.stackAlloc(1+(e.length<<2))),r}}).stringToC,array:b.arrayToC},k=function(e,r,t,i,o){var a=function(e){var r=n["_"+e];return r||We("NO_DYNAMIC_EXECUTION was set, cannot eval - ccall/cwrap are not functional"),L(r,"Cannot call unknown function "+e+" (perhaps LLVM optimizations or closure removed it?)"),r}(e),s=[],f=0;if(i)for(var l=0;l<i.length;l++){var u=v[t[l]];u?(0===f&&(f=d.stackSave()),s[l]=u(i[l])):s[l]=i[l]}var c=a.apply(null,s);if("string"===r&&(c=R(c)),0!==f){if(o&&o.async)return void EmterpreterAsync.asyncFinalizers.push((function(){d.stackRestore(f)}));d.stackRestore(f)}return c},w=function(e,r,n){return function(){return k(e,r,n,arguments)}},n.ccall=k,n.cwrap=w,n.setValue=O,n.getValue=T,n.ALLOC_NORMAL=0,n.ALLOC_STACK=1,n.ALLOC_STATIC=2,n.ALLOC_DYNAMIC=3,n.ALLOC_NONE=4,n.allocate=F,n.getMemory=function(e){return q?void 0!==Oe&&!Oe.called||!ee?d.dynamicAlloc(e):Be(e):d.staticAlloc(e)},n.Pointer_stringify=R,n.AsciiToString=function(e){for(var r="";;){var n=E[0|e++];if(!n)return r;r+=String.fromCharCode(n)}},n.stringToAscii=function(e,r){return se(e,r,!1)},n.UTF8ArrayToString=P,n.UTF8ToString=function(e){return P(g,e)},n.stringToUTF8Array=I,n.stringToUTF8=function(e,r,n){return I(e,g,r,n)},n.lengthBytesUTF8=C,n.UTF16ToString=function(e){for(var r=0,n="";;){var t=y[e+2*r>>1];if(0==t)return n;++r,n+=String.fromCharCode(t)}},n.stringToUTF16=function(e,r,n){if(void 0===n&&(n=2147483647),n<2)return 0;for(var t=r,i=(n-=2)<2*e.length?n/2:e.length,o=0;o<i;++o){var a=e.charCodeAt(o);y[r>>1]=a,r+=2}return y[r>>1]=0,r-t},n.lengthBytesUTF16=function(e){return 2*e.length},n.UTF32ToString=function(e){for(var r=0,n="";;){var t=S[e+4*r>>2];if(0==t)return n;if(++r,t>=65536){var i=t-65536;n+=String.fromCharCode(55296|i>>10,56320|1023&i)}else n+=String.fromCharCode(t)}},n.stringToUTF32=function(e,r,n){if(void 0===n&&(n=2147483647),n<4)return 0;for(var t=r,i=t+n-4,o=0;o<e.length;++o){var a=e.charCodeAt(o);if(a>=55296&&a<=57343&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++o)),S[r>>2]=a,(r+=4)+4>i)break}return S[r>>2]=0,r-t},n.lengthBytesUTF32=function(e){for(var r=0,n=0;n<e.length;++n){var t=e.charCodeAt(n);t>=55296&&t<=57343&&++n,r+=4}return r},n.stackTrace=x;for(var B,z,U,j=0,q=!1,Y=0,V=0,X=n.TOTAL_STACK||5242880,H=n.TOTAL_MEMORY||16777216,W=65536;W<H||W<2*X;)W<16777216?W*=2:W+=16777216;function G(e){for(;e.length>0;){var r=e.shift();if("function"!=typeof r){var n=r.func;"number"==typeof n?void 0===r.arg?d.dynCall("v",n):d.dynCall("vi",n,[r.arg]):n(void 0===r.arg?null:r.arg)}else r()}}W!==H&&(H=W),L("undefined"!=typeof Int32Array&&"undefined"!=typeof Float64Array&&!!new Int32Array(1).subarray&&!!new Int32Array(1).set,"JS engine does not provide full typed array support"),U=new ArrayBuffer(H),E=new Int8Array(U),y=new Int16Array(U),S=new Int32Array(U),g=new Uint8Array(U),_=new Uint16Array(U),A=new Uint32Array(U),D=new Float32Array(U),M=new Float64Array(U),S[0]=255,L(255===g[0]&&0===g[3],"Typed arrays 2 must be run on a little-endian system"),n.HEAP=void 0,n.buffer=U,n.HEAP8=E,n.HEAP16=y,n.HEAP32=S,n.HEAPU8=g,n.HEAPU16=_,n.HEAPU32=A,n.HEAPF32=D,n.HEAPF64=M;var K=[],Z=[],Q=[],J=[],$=[],ee=!1;function re(){ee||(ee=!0,G(Z))}function ne(e){K.unshift(e)}function te(e){$.unshift(e)}function ie(e,r,n){var t=n>0?n:C(e)+1,i=new Array(t),o=I(e,i,0,i.length);return r&&(i.length=o),i}function oe(e,r,n){for(var t=ie(e,n),i=0;i<t.length;){var o=t[i];E[r+i|0]=o,i+=1}}function ae(e,r){for(var n=0;n<e.length;n++)E[0|r++]=e[n]}function se(e,r,n){for(var t=0;t<e.length;++t)E[0|r++]=e.charCodeAt(t);n||(E[0|r]=0)}n.addOnPreRun=ne,n.addOnInit=function(e){Z.unshift(e)},n.addOnPreMain=function(e){Q.unshift(e)},n.addOnExit=function(e){J.unshift(e)},n.addOnPostRun=te,n.intArrayFromString=ie,n.intArrayToString=function(e){for(var r=[],n=0;n<e.length;n++){var t=e[n];t>255&&(t&=255),r.push(String.fromCharCode(t))}return r.join("")},n.writeStringToMemory=oe,n.writeArrayToMemory=ae,n.writeAsciiToMemory=se,Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(e,r){var n=65535&e,t=65535&r;return n*t+((e>>>16)*t+n*(r>>>16)<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(e){e>>>=0;for(var r=0;r<32;r++)if(e&1<<31-r)return r;return 32}),Math.clz32=Math.clz32;var fe=Math.abs,le=(Math.cos,Math.sin,Math.tan,Math.acos,Math.asin,Math.atan,Math.atan2,Math.exp,Math.log,Math.sqrt,Math.ceil),ue=Math.floor,ce=(Math.pow,Math.imul,Math.fround,Math.min),de=(Math.clz32,0),he=null,me=null;function pe(e){de++,n.monitorRunDependencies&&n.monitorRunDependencies(de)}function we(e){if(de--,n.monitorRunDependencies&&n.monitorRunDependencies(de),0==de&&(null!==he&&(clearInterval(he),he=null),me)){var r=me;me=null,r()}}n.addRunDependency=pe,n.removeRunDependency=we,n.preloadedImages={},n.preloadedAudios={},j=17848,Z.push(),F([0,0,0,0,150,48,7,119,44,97,14,238,186,81,9,153,25,196,109,7,143,244,106,112,53,165,99,233,163,149,100,158,50,136,219,14,164,184,220,121,30,233,213,224,136,217,210,151,43,76,182,9,189,124,177,126,7,45,184,231,145,29,191,144,100,16,183,29,242,32,176,106,72,113,185,243,222,65,190,132,125,212,218,26,235,228,221,109,81,181,212,244,199,133,211,131,86,152,108,19,192,168,107,100,122,249,98,253,236,201,101,138,79,92,1,20,217,108,6,99,99,61,15,250,245,13,8,141,200,32,110,59,94,16,105,76,228,65,96,213,114,113,103,162,209,228,3,60,71,212,4,75,253,133,13,210,107,181,10,165,250,168,181,53,108,152,178,66,214,201,187,219,64,249,188,172,227,108,216,50,117,92,223,69,207,13,214,220,89,61,209,171,172,48,217,38,58,0,222,81,128,81,215,200,22,97,208,191,181,244,180,33,35,196,179,86,153,149,186,207,15,165,189,184,158,184,2,40,8,136,5,95,178,217,12,198,36,233,11,177,135,124,111,47,17,76,104,88,171,29,97,193,61,45,102,182,144,65,220,118,6,113,219,1,188,32,210,152,42,16,213,239,137,133,177,113,31,181,182,6,165,228,191,159,51,212,184,232,162,201,7,120,52,249,0,15,142,168,9,150,24,152,14,225,187,13,106,127,45,61,109,8,151,108,100,145,1,92,99,230,244,81,107,107,98,97,108,28,216,48,101,133,78,0,98,242,237,149,6,108,123,165,1,27,193,244,8,130,87,196,15,245,198,217,176,101,80,233,183,18,234,184,190,139,124,136,185,252,223,29,221,98,73,45,218,21,243,124,211,140,101,76,212,251,88,97,178,77,206,81,181,58,116,0,188,163,226,48,187,212,65,165,223,74,215,149,216,61,109,196,209,164,251,244,214,211,106,233,105,67,252,217,110,52,70,136,103,173,208,184,96,218,115,45,4,68,229,29,3,51,95,76,10,170,201,124,13,221,60,113,5,80,170,65,2,39,16,16,11,190,134,32,12,201,37,181,104,87,179,133,111,32,9,212,102,185,159,228,97,206,14,249,222,94,152,201,217,41,34,152,208,176,180,168,215,199,23,61,179,89,129,13,180,46,59,92,189,183,173,108,186,192,32,131,184,237,182,179,191,154,12,226,182,3,154,210,177,116,57,71,213,234,175,119,210,157,21,38,219,4,131,22,220,115,18,11,99,227,132,59,100,148,62,106,109,13,168,90,106,122,11,207,14,228,157,255,9,147,39,174,0,10,177,158,7,125,68,147,15,240,210,163,8,135,104,242,1,30,254,194,6,105,93,87,98,247,203,103,101,128,113,54,108,25,231,6,107,110,118,27,212,254,224,43,211,137,90,122,218,16,204,74,221,103,111,223,185,249,249,239,190,142,67,190,183,23,213,142,176,96,232,163,214,214,126,147,209,161,196,194,216,56,82,242,223,79,241,103,187,209,103,87,188,166,221,6,181,63,75,54,178,72,218,43,13,216,76,27,10,175,246,74,3,54,96,122,4,65,195,239,96,223,85,223,103,168,239,142,110,49,121,190,105,70,140,179,97,203,26,131,102,188,160,210,111,37,54,226,104,82,149,119,12,204,3,71,11,187,185,22,2,34,47,38,5,85,190,59,186,197,40,11,189,178,146,90,180,43,4,106,179,92,167,255,215,194,49,207,208,181,139,158,217,44,29,174,222,91,176,194,100,155,38,242,99,236,156,163,106,117,10,147,109,2,169,6,9,156,63,54,14,235,133,103,7,114,19,87,0,5,130,74,191,149,20,122,184,226,174,43,177,123,56,27,182,12,155,142,210,146,13,190,213,229,183,239,220,124,33,223,219,11,212,210,211,134,66,226,212,241,248,179,221,104,110,131,218,31,205,22,190,129,91,38,185,246,225,119,176,111,119,71,183,24,230,90,8,136,112,106,15,255,202,59,6,102,92,11,1,17,255,158,101,143,105,174,98,248,211,255,107,97,69,207,108,22,120,226,10,160,238,210,13,215,84,131,4,78,194,179,3,57,97,38,103,167,247,22,96,208,77,71,105,73,219,119,110,62,74,106,209,174,220,90,214,217,102,11,223,64,240,59,216,55,83,174,188,169,197,158,187,222,127,207,178,71,233,255,181,48,28,242,189,189,138,194,186,202,48,147,179,83,166,163,180,36,5,54,208,186,147,6,215,205,41,87,222,84,191,103,217,35,46,122,102,179,184,74,97,196,2,27,104,93,148,43,111,42,55,190,11,180,161,142,12,195,27,223,5,90,141,239,2,45,0,0,0,0,65,49,27,25,130,98,54,50,195,83,45,43,4,197,108,100,69,244,119,125,134,167,90,86,199,150,65,79,8,138,217,200,73,187,194,209,138,232,239,250,203,217,244,227,12,79,181,172,77,126,174,181,142,45,131,158,207,28,152,135,81,18,194,74,16,35,217,83,211,112,244,120,146,65,239,97,85,215,174,46,20,230,181,55,215,181,152,28,150,132,131,5,89,152,27,130,24,169,0,155,219,250,45,176,154,203,54,169,93,93,119,230,28,108,108,255,223,63,65,212,158,14,90,205,162,36,132,149,227,21,159,140,32,70,178,167,97,119,169,190,166,225,232,241,231,208,243,232,36,131,222,195,101,178,197,218,170,174,93,93,235,159,70,68,40,204,107,111,105,253,112,118,174,107,49,57,239,90,42,32,44,9,7,11,109,56,28,18,243,54,70,223,178,7,93,198,113,84,112,237,48,101,107,244,247,243,42,187,182,194,49,162,117,145,28,137,52,160,7,144,251,188,159,23,186,141,132,14,121,222,169,37,56,239,178,60,255,121,243,115,190,72,232,106,125,27,197,65,60,42,222,88,5,79,121,240,68,126,98,233,135,45,79,194,198,28,84,219,1,138,21,148,64,187,14,141,131,232,35,166,194,217,56,191,13,197,160,56,76,244,187,33,143,167,150,10,206,150,141,19,9,0,204,92,72,49,215,69,139,98,250,110,202,83,225,119,84,93,187,186,21,108,160,163,214,63,141,136,151,14,150,145,80,152,215,222,17,169,204,199,210,250,225,236,147,203,250,245,92,215,98,114,29,230,121,107,222,181,84,64,159,132,79,89,88,18,14,22,25,35,21,15,218,112,56,36,155,65,35,61,167,107,253,101,230,90,230,124,37,9,203,87,100,56,208,78,163,174,145,1,226,159,138,24,33,204,167,51,96,253,188,42,175,225,36,173,238,208,63,180,45,131,18,159,108,178,9,134,171,36,72,201,234,21,83,208,41,70,126,251,104,119,101,226,246,121,63,47,183,72,36,54,116,27,9,29,53,42,18,4,242,188,83,75,179,141,72,82,112,222,101,121,49,239,126,96,254,243,230,231,191,194,253,254,124,145,208,213,61,160,203,204,250,54,138,131,187,7,145,154,120,84,188,177,57,101,167,168,75,152,131,59,10,169,152,34,201,250,181,9,136,203,174,16,79,93,239,95,14,108,244,70,205,63,217,109,140,14,194,116,67,18,90,243,2,35,65,234,193,112,108,193,128,65,119,216,71,215,54,151,6,230,45,142,197,181,0,165,132,132,27,188,26,138,65,113,91,187,90,104,152,232,119,67,217,217,108,90,30,79,45,21,95,126,54,12,156,45,27,39,221,28,0,62,18,0,152,185,83,49,131,160,144,98,174,139,209,83,181,146,22,197,244,221,87,244,239,196,148,167,194,239,213,150,217,246,233,188,7,174,168,141,28,183,107,222,49,156,42,239,42,133,237,121,107,202,172,72,112,211,111,27,93,248,46,42,70,225,225,54,222,102,160,7,197,127,99,84,232,84,34,101,243,77,229,243,178,2,164,194,169,27,103,145,132,48,38,160,159,41,184,174,197,228,249,159,222,253,58,204,243,214,123,253,232,207,188,107,169,128,253,90,178,153,62,9,159,178,127,56,132,171,176,36,28,44,241,21,7,53,50,70,42,30,115,119,49,7,180,225,112,72,245,208,107,81,54,131,70,122,119,178,93,99,78,215,250,203,15,230,225,210,204,181,204,249,141,132,215,224,74,18,150,175,11,35,141,182,200,112,160,157,137,65,187,132,70,93,35,3,7,108,56,26,196,63,21,49,133,14,14,40,66,152,79,103,3,169,84,126,192,250,121,85,129,203,98,76,31,197,56,129,94,244,35,152,157,167,14,179,220,150,21,170,27,0,84,229,90,49,79,252,153,98,98,215,216,83,121,206,23,79,225,73,86,126,250,80,149,45,215,123,212,28,204,98,19,138,141,45,82,187,150,52,145,232,187,31,208,217,160,6,236,243,126,94,173,194,101,71,110,145,72,108,47,160,83,117,232,54,18,58,169,7,9,35,106,84,36,8,43,101,63,17,228,121,167,150,165,72,188,143,102,27,145,164,39,42,138,189,224,188,203,242,161,141,208,235,98,222,253,192,35,239,230,217,189,225,188,20,252,208,167,13,63,131,138,38,126,178,145,63,185,36,208,112,248,21,203,105,59,70,230,66,122,119,253,91,181,107,101,220,244,90,126,197,55,9,83,238,118,56,72,247,177,174,9,184,240,159,18,161,51,204,63,138,114,253,36,147,0,0,0,0,55,106,194,1,110,212,132,3,89,190,70,2,220,168,9,7,235,194,203,6,178,124,141,4,133,22,79,5,184,81,19,14,143,59,209,15,214,133,151,13,225,239,85,12,100,249,26,9,83,147,216,8,10,45,158,10,61,71,92,11,112,163,38,28,71,201,228,29,30,119,162,31,41,29,96,30,172,11,47,27,155,97,237,26,194,223,171,24,245,181,105,25,200,242,53,18,255,152,247,19,166,38,177,17,145,76,115,16,20,90,60,21,35,48,254,20,122,142,184,22,77,228,122,23,224,70,77,56,215,44,143,57,142,146,201,59,185,248,11,58,60,238,68,63,11,132,134,62,82,58,192,60,101,80,2,61,88,23,94,54,111,125,156,55,54,195,218,53,1,169,24,52,132,191,87,49,179,213,149,48,234,107,211,50,221,1,17,51,144,229,107,36,167,143,169,37,254,49,239,39,201,91,45,38,76,77,98,35,123,39,160,34,34,153,230,32,21,243,36,33,40,180,120,42,31,222,186,43,70,96,252,41,113,10,62,40,244,28,113,45,195,118,179,44,154,200,245,46,173,162,55,47,192,141,154,112,247,231,88,113,174,89,30,115,153,51,220,114,28,37,147,119,43,79,81,118,114,241,23,116,69,155,213,117,120,220,137,126,79,182,75,127,22,8,13,125,33,98,207,124,164,116,128,121,147,30,66,120,202,160,4,122,253,202,198,123,176,46,188,108,135,68,126,109,222,250,56,111,233,144,250,110,108,134,181,107,91,236,119,106,2,82,49,104,53,56,243,105,8,127,175,98,63,21,109,99,102,171,43,97,81,193,233,96,212,215,166,101,227,189,100,100,186,3,34,102,141,105,224,103,32,203,215,72,23,161,21,73,78,31,83,75,121,117,145,74,252,99,222,79,203,9,28,78,146,183,90,76,165,221,152,77,152,154,196,70,175,240,6,71,246,78,64,69,193,36,130,68,68,50,205,65,115,88,15,64,42,230,73,66,29,140,139,67,80,104,241,84,103,2,51,85,62,188,117,87,9,214,183,86,140,192,248,83,187,170,58,82,226,20,124,80,213,126,190,81,232,57,226,90,223,83,32,91,134,237,102,89,177,135,164,88,52,145,235,93,3,251,41,92,90,69,111,94,109,47,173,95,128,27,53,225,183,113,247,224,238,207,177,226,217,165,115,227,92,179,60,230,107,217,254,231,50,103,184,229,5,13,122,228,56,74,38,239,15,32,228,238,86,158,162,236,97,244,96,237,228,226,47,232,211,136,237,233,138,54,171,235,189,92,105,234,240,184,19,253,199,210,209,252,158,108,151,254,169,6,85,255,44,16,26,250,27,122,216,251,66,196,158,249,117,174,92,248,72,233,0,243,127,131,194,242,38,61,132,240,17,87,70,241,148,65,9,244,163,43,203,245,250,149,141,247,205,255,79,246,96,93,120,217,87,55,186,216,14,137,252,218,57,227,62,219,188,245,113,222,139,159,179,223,210,33,245,221,229,75,55,220,216,12,107,215,239,102,169,214,182,216,239,212,129,178,45,213,4,164,98,208,51,206,160,209,106,112,230,211,93,26,36,210,16,254,94,197,39,148,156,196,126,42,218,198,73,64,24,199,204,86,87,194,251,60,149,195,162,130,211,193,149,232,17,192,168,175,77,203,159,197,143,202,198,123,201,200,241,17,11,201,116,7,68,204,67,109,134,205,26,211,192,207,45,185,2,206,64,150,175,145,119,252,109,144,46,66,43,146,25,40,233,147,156,62,166,150,171,84,100,151,242,234,34,149,197,128,224,148,248,199,188,159,207,173,126,158,150,19,56,156,161,121,250,157,36,111,181,152,19,5,119,153,74,187,49,155,125,209,243,154,48,53,137,141,7,95,75,140,94,225,13,142,105,139,207,143,236,157,128,138,219,247,66,139,130,73,4,137,181,35,198,136,136,100,154,131,191,14,88,130,230,176,30,128,209,218,220,129,84,204,147,132,99,166,81,133,58,24,23,135,13,114,213,134,160,208,226,169,151,186,32,168,206,4,102,170,249,110,164,171,124,120,235,174,75,18,41,175,18,172,111,173,37,198,173,172,24,129,241,167,47,235,51,166,118,85,117,164,65,63,183,165,196,41,248,160,243,67,58,161,170,253,124,163,157,151,190,162,208,115,196,181,231,25,6,180,190,167,64,182,137,205,130,183,12,219,205,178,59,177,15,179,98,15,73,177,85,101,139,176,104,34,215,187,95,72,21,186,6,246,83,184,49,156,145,185,180,138,222,188,131,224,28,189,218,94,90,191,237,52,152,190,0,0,0,0,101,103,188,184,139,200,9,170,238,175,181,18,87,151,98,143,50,240,222,55,220,95,107,37,185,56,215,157,239,40,180,197,138,79,8,125,100,224,189,111,1,135,1,215,184,191,214,74,221,216,106,242,51,119,223,224,86,16,99,88,159,87,25,80,250,48,165,232,20,159,16,250,113,248,172,66,200,192,123,223,173,167,199,103,67,8,114,117,38,111,206,205,112,127,173,149,21,24,17,45,251,183,164,63,158,208,24,135,39,232,207,26,66,143,115,162,172,32,198,176,201,71,122,8,62,175,50,160,91,200,142,24,181,103,59,10,208,0,135,178,105,56,80,47,12,95,236,151,226,240,89,133,135,151,229,61,209,135,134,101,180,224,58,221,90,79,143,207,63,40,51,119,134,16,228,234,227,119,88,82,13,216,237,64,104,191,81,248,161,248,43,240,196,159,151,72,42,48,34,90,79,87,158,226,246,111,73,127,147,8,245,199,125,167,64,213,24,192,252,109,78,208,159,53,43,183,35,141,197,24,150,159,160,127,42,39,25,71,253,186,124,32,65,2,146,143,244,16,247,232,72,168,61,88,20,155,88,63,168,35,182,144,29,49,211,247,161,137,106,207,118,20,15,168,202,172,225,7,127,190,132,96,195,6,210,112,160,94,183,23,28,230,89,184,169,244,60,223,21,76,133,231,194,209,224,128,126,105,14,47,203,123,107,72,119,195,162,15,13,203,199,104,177,115,41,199,4,97,76,160,184,217,245,152,111,68,144,255,211,252,126,80,102,238,27,55,218,86,77,39,185,14,40,64,5,182,198,239,176,164,163,136,12,28,26,176,219,129,127,215,103,57,145,120,210,43,244,31,110,147,3,247,38,59,102,144,154,131,136,63,47,145,237,88,147,41,84,96,68,180,49,7,248,12,223,168,77,30,186,207,241,166,236,223,146,254,137,184,46,70,103,23,155,84,2,112,39,236,187,72,240,113,222,47,76,201,48,128,249,219,85,231,69,99,156,160,63,107,249,199,131,211,23,104,54,193,114,15,138,121,203,55,93,228,174,80,225,92,64,255,84,78,37,152,232,246,115,136,139,174,22,239,55,22,248,64,130,4,157,39,62,188,36,31,233,33,65,120,85,153,175,215,224,139,202,176,92,51,59,182,89,237,94,209,229,85,176,126,80,71,213,25,236,255,108,33,59,98,9,70,135,218,231,233,50,200,130,142,142,112,212,158,237,40,177,249,81,144,95,86,228,130,58,49,88,58,131,9,143,167,230,110,51,31,8,193,134,13,109,166,58,181,164,225,64,189,193,134,252,5,47,41,73,23,74,78,245,175,243,118,34,50,150,17,158,138,120,190,43,152,29,217,151,32,75,201,244,120,46,174,72,192,192,1,253,210,165,102,65,106,28,94,150,247,121,57,42,79,151,150,159,93,242,241,35,229,5,25,107,77,96,126,215,245,142,209,98,231,235,182,222,95,82,142,9,194,55,233,181,122,217,70,0,104,188,33,188,208,234,49,223,136,143,86,99,48,97,249,214,34,4,158,106,154,189,166,189,7,216,193,1,191,54,110,180,173,83,9,8,21,154,78,114,29,255,41,206,165,17,134,123,183,116,225,199,15,205,217,16,146,168,190,172,42,70,17,25,56,35,118,165,128,117,102,198,216,16,1,122,96,254,174,207,114,155,201,115,202,34,241,164,87,71,150,24,239,169,57,173,253,204,94,17,69,6,238,77,118,99,137,241,206,141,38,68,220,232,65,248,100,81,121,47,249,52,30,147,65,218,177,38,83,191,214,154,235,233,198,249,179,140,161,69,11,98,14,240,25,7,105,76,161,190,81,155,60,219,54,39,132,53,153,146,150,80,254,46,46,153,185,84,38,252,222,232,158,18,113,93,140,119,22,225,52,206,46,54,169,171,73,138,17,69,230,63,3,32,129,131,187,118,145,224,227,19,246,92,91,253,89,233,73,152,62,85,241,33,6,130,108,68,97,62,212,170,206,139,198,207,169,55,126,56,65,127,214,93,38,195,110,179,137,118,124,214,238,202,196,111,214,29,89,10,177,161,225,228,30,20,243,129,121,168,75,215,105,203,19,178,14,119,171,92,161,194,185,57,198,126,1,128,254,169,156,229,153,21,36,11,54,160,54,110,81,28,142,167,22,102,134,194,113,218,62,44,222,111,44,73,185,211,148,240,129,4,9,149,230,184,177,123,73,13,163,30,46,177,27,72,62,210,67,45,89,110,251,195,246,219,233,166,145,103,81,31,169,176,204,122,206,12,116,148,97,185,102,241,6,5,222,0,0,0,0,119,7,48,150,238,14,97,44,153,9,81,186,7,109,196,25,112,106,244,143,233,99,165,53,158,100,149,163,14,219,136,50,121,220,184,164,224,213,233,30,151,210,217,136,9,182,76,43,126,177,124,189,231,184,45,7,144,191,29,145,29,183,16,100,106,176,32,242,243,185,113,72,132,190,65,222,26,218,212,125,109,221,228,235,244,212,181,81,131,211,133,199,19,108,152,86,100,107,168,192,253,98,249,122,138,101,201,236,20,1,92,79,99,6,108,217,250,15,61,99,141,8,13,245,59,110,32,200,76,105,16,94,213,96,65,228,162,103,113,114,60,3,228,209,75,4,212,71,210,13,133,253,165,10,181,107,53,181,168,250,66,178,152,108,219,187,201,214,172,188,249,64,50,216,108,227,69,223,92,117,220,214,13,207,171,209,61,89,38,217,48,172,81,222,0,58,200,215,81,128,191,208,97,22,33,180,244,181,86,179,196,35,207,186,149,153,184,189,165,15,40,2,184,158,95,5,136,8,198,12,217,178,177,11,233,36,47,111,124,135,88,104,76,17,193,97,29,171,182,102,45,61,118,220,65,144,1,219,113,6,152,210,32,188,239,213,16,42,113,177,133,137,6,182,181,31,159,191,228,165,232,184,212,51,120,7,201,162,15,0,249,52,150,9,168,142,225,14,152,24,127,106,13,187,8,109,61,45,145,100,108,151,230,99,92,1,107,107,81,244,28,108,97,98,133,101,48,216,242,98,0,78,108,6,149,237,27,1,165,123,130,8,244,193,245,15,196,87,101,176,217,198,18,183,233,80,139,190,184,234,252,185,136,124,98,221,29,223,21,218,45,73,140,211,124,243,251,212,76,101,77,178,97,88,58,181,81,206,163,188,0,116,212,187,48,226,74,223,165,65,61,216,149,215,164,209,196,109,211,214,244,251,67,105,233,106,52,110,217,252,173,103,136,70,218,96,184,208,68,4,45,115,51,3,29,229,170,10,76,95,221,13,124,201,80,5,113,60,39,2,65,170,190,11,16,16,201,12,32,134,87,104,181,37,32,111,133,179,185,102,212,9,206,97,228,159,94,222,249,14,41,217,201,152,176,208,152,34,199,215,168,180,89,179,61,23,46,180,13,129,183,189,92,59,192,186,108,173,237,184,131,32,154,191,179,182,3,182,226,12,116,177,210,154,234,213,71,57,157,210,119,175,4,219,38,21,115,220,22,131,227,99,11,18,148,100,59,132,13,109,106,62,122,106,90,168,228,14,207,11,147,9,255,157,10,0,174,39,125,7,158,177,240,15,147,68,135,8,163,210,30,1,242,104,105,6,194,254,247,98,87,93,128,101,103,203,25,108,54,113,110,107,6,231,254,212,27,118,137,211,43,224,16,218,122,90,103,221,74,204,249,185,223,111,142,190,239,249,23,183,190,67,96,176,142,213,214,214,163,232,161,209,147,126,56,216,194,196,79,223,242,82,209,187,103,241,166,188,87,103,63,181,6,221,72,178,54,75,216,13,43,218,175,10,27,76,54,3,74,246,65,4,122,96,223,96,239,195,168,103,223,85,49,110,142,239,70,105,190,121,203,97,179,140,188,102,131,26,37,111,210,160,82,104,226,54,204,12,119,149,187,11,71,3,34,2,22,185,85,5,38,47,197,186,59,190,178,189,11,40,43,180,90,146,92,179,106,4,194,215,255,167,181,208,207,49,44,217,158,139,91,222,174,29,155,100,194,176,236,99,242,38,117,106,163,156,2,109,147,10,156,9,6,169,235,14,54,63,114,7,103,133,5,0,87,19,149,191,74,130,226,184,122,20,123,177,43,174,12,182,27,56,146,210,142,155,229,213,190,13,124,220,239,183,11,219,223,33,134,211,210,212,241,212,226,66,104,221,179,248,31,218,131,110,129,190,22,205,246,185,38,91,111,176,119,225,24,183,71,119,136,8,90,230,255,15,106,112,102,6,59,202,17,1,11,92,143,101,158,255,248,98,174,105,97,107,255,211,22,108,207,69,160,10,226,120,215,13,210,238,78,4,131,84,57,3,179,194,167,103,38,97,208,96,22,247,73,105,71,77,62,110,119,219,174,209,106,74,217,214,90,220,64,223,11,102,55,216,59,240,169,188,174,83,222,187,158,197,71,178,207,127,48,181,255,233,189,189,242,28,202,186,194,138,83,179,147,48,36,180,163,166,186,208,54,5,205,215,6,147,84,222,87,41,35,217,103,191,179,102,122,46,196,97,74,184,93,104,27,2,42,111,43,148,180,11,190,55,195,12,142,161,90,5,223,27,45,2,239,141,0,0,0,0,25,27,49,65,50,54,98,130,43,45,83,195,100,108,197,4,125,119,244,69,86,90,167,134,79,65,150,199,200,217,138,8,209,194,187,73,250,239,232,138,227,244,217,203,172,181,79,12,181,174,126,77,158,131,45,142,135,152,28,207,74,194,18,81,83,217,35,16,120,244,112,211,97,239,65,146,46,174,215,85,55,181,230,20,28,152,181,215,5,131,132,150,130,27,152,89,155,0,169,24,176,45,250,219,169,54,203,154,230,119,93,93,255,108,108,28,212,65,63,223,205,90,14,158,149,132,36,162,140,159,21,227,167,178,70,32,190,169,119,97,241,232,225,166,232,243,208,231,195,222,131,36,218,197,178,101,93,93,174,170,68,70,159,235,111,107,204,40,118,112,253,105,57,49,107,174,32,42,90,239,11,7,9,44,18,28,56,109,223,70,54,243,198,93,7,178,237,112,84,113,244,107,101,48,187,42,243,247,162,49,194,182,137,28,145,117,144,7,160,52,23,159,188,251,14,132,141,186,37,169,222,121,60,178,239,56,115,243,121,255,106,232,72,190,65,197,27,125,88,222,42,60,240,121,79,5,233,98,126,68,194,79,45,135,219,84,28,198,148,21,138,1,141,14,187,64,166,35,232,131,191,56,217,194,56,160,197,13,33,187,244,76,10,150,167,143,19,141,150,206,92,204,0,9,69,215,49,72,110,250,98,139,119,225,83,202,186,187,93,84,163,160,108,21,136,141,63,214,145,150,14,151,222,215,152,80,199,204,169,17,236,225,250,210,245,250,203,147,114,98,215,92,107,121,230,29,64,84,181,222,89,79,132,159,22,14,18,88,15,21,35,25,36,56,112,218,61,35,65,155,101,253,107,167,124,230,90,230,87,203,9,37,78,208,56,100,1,145,174,163,24,138,159,226,51,167,204,33,42,188,253,96,173,36,225,175,180,63,208,238,159,18,131,45,134,9,178,108,201,72,36,171,208,83,21,234,251,126,70,41,226,101,119,104,47,63,121,246,54,36,72,183,29,9,27,116,4,18,42,53,75,83,188,242,82,72,141,179,121,101,222,112,96,126,239,49,231,230,243,254,254,253,194,191,213,208,145,124,204,203,160,61,131,138,54,250,154,145,7,187,177,188,84,120,168,167,101,57,59,131,152,75,34,152,169,10,9,181,250,201,16,174,203,136,95,239,93,79,70,244,108,14,109,217,63,205,116,194,14,140,243,90,18,67,234,65,35,2,193,108,112,193,216,119,65,128,151,54,215,71,142,45,230,6,165,0,181,197,188,27,132,132,113,65,138,26,104,90,187,91,67,119,232,152,90,108,217,217,21,45,79,30,12,54,126,95,39,27,45,156,62,0,28,221,185,152,0,18,160,131,49,83,139,174,98,144,146,181,83,209,221,244,197,22,196,239,244,87,239,194,167,148,246,217,150,213,174,7,188,233,183,28,141,168,156,49,222,107,133,42,239,42,202,107,121,237,211,112,72,172,248,93,27,111,225,70,42,46,102,222,54,225,127,197,7,160,84,232,84,99,77,243,101,34,2,178,243,229,27,169,194,164,48,132,145,103,41,159,160,38,228,197,174,184,253,222,159,249,214,243,204,58,207,232,253,123,128,169,107,188,153,178,90,253,178,159,9,62,171,132,56,127,44,28,36,176,53,7,21,241,30,42,70,50,7,49,119,115,72,112,225,180,81,107,208,245,122,70,131,54,99,93,178,119,203,250,215,78,210,225,230,15,249,204,181,204,224,215,132,141,175,150,18,74,182,141,35,11,157,160,112,200,132,187,65,137,3,35,93,70,26,56,108,7,49,21,63,196,40,14,14,133,103,79,152,66,126,84,169,3,85,121,250,192,76,98,203,129,129,56,197,31,152,35,244,94,179,14,167,157,170,21,150,220,229,84,0,27,252,79,49,90,215,98,98,153,206,121,83,216,73,225,79,23,80,250,126,86,123,215,45,149,98,204,28,212,45,141,138,19,52,150,187,82,31,187,232,145,6,160,217,208,94,126,243,236,71,101,194,173,108,72,145,110,117,83,160,47,58,18,54,232,35,9,7,169,8,36,84,106,17,63,101,43,150,167,121,228,143,188,72,165,164,145,27,102,189,138,42,39,242,203,188,224,235,208,141,161,192,253,222,98,217,230,239,35,20,188,225,189,13,167,208,252,38,138,131,63,63,145,178,126,112,208,36,185,105,203,21,248,66,230,70,59,91,253,119,122,220,101,107,181,197,126,90,244,238,83,9,55,247,72,56,118,184,9,174,177,161,18,159,240,138,63,204,51,147,36,253,114,0,0,0,0,1,194,106,55,3,132,212,110,2,70,190,89,7,9,168,220,6,203,194,235,4,141,124,178,5,79,22,133,14,19,81,184,15,209,59,143,13,151,133,214,12,85,239,225,9,26,249,100,8,216,147,83,10,158,45,10,11,92,71,61,28,38,163,112,29,228,201,71,31,162,119,30,30,96,29,41,27,47,11,172,26,237,97,155,24,171,223,194,25,105,181,245,18,53,242,200,19,247,152,255,17,177,38,166,16,115,76,145,21,60,90,20,20,254,48,35,22,184,142,122,23,122,228,77,56,77,70,224,57,143,44,215,59,201,146,142,58,11,248,185,63,68,238,60,62,134,132,11,60,192,58,82,61,2,80,101,54,94,23,88,55,156,125,111,53,218,195,54,52,24,169,1,49,87,191,132,48,149,213,179,50,211,107,234,51,17,1,221,36,107,229,144,37,169,143,167,39,239,49,254,38,45,91,201,35,98,77,76,34,160,39,123,32,230,153,34,33,36,243,21,42,120,180,40,43,186,222,31,41,252,96,70,40,62,10,113,45,113,28,244,44,179,118,195,46,245,200,154,47,55,162,173,112,154,141,192,113,88,231,247,115,30,89,174,114,220,51,153,119,147,37,28,118,81,79,43,116,23,241,114,117,213,155,69,126,137,220,120,127,75,182,79,125,13,8,22,124,207,98,33,121,128,116,164,120,66,30,147,122,4,160,202,123,198,202,253,108,188,46,176,109,126,68,135,111,56,250,222,110,250,144,233,107,181,134,108,106,119,236,91,104,49,82,2,105,243,56,53,98,175,127,8,99,109,21,63,97,43,171,102,96,233,193,81,101,166,215,212,100,100,189,227,102,34,3,186,103,224,105,141,72,215,203,32,73,21,161,23,75,83,31,78,74,145,117,121,79,222,99,252,78,28,9,203,76,90,183,146,77,152,221,165,70,196,154,152,71,6,240,175,69,64,78,246,68,130,36,193,65,205,50,68,64,15,88,115,66,73,230,42,67,139,140,29,84,241,104,80,85,51,2,103,87,117,188,62,86,183,214,9,83,248,192,140,82,58,170,187,80,124,20,226,81,190,126,213,90,226,57,232,91,32,83,223,89,102,237,134,88,164,135,177,93,235,145,52,92,41,251,3,94,111,69,90,95,173,47,109,225,53,27,128,224,247,113,183,226,177,207,238,227,115,165,217,230,60,179,92,231,254,217,107,229,184,103,50,228,122,13,5,239,38,74,56,238,228,32,15,236,162,158,86,237,96,244,97,232,47,226,228,233,237,136,211,235,171,54,138,234,105,92,189,253,19,184,240,252,209,210,199,254,151,108,158,255,85,6,169,250,26,16,44,251,216,122,27,249,158,196,66,248,92,174,117,243,0,233,72,242,194,131,127,240,132,61,38,241,70,87,17,244,9,65,148,245,203,43,163,247,141,149,250,246,79,255,205,217,120,93,96,216,186,55,87,218,252,137,14,219,62,227,57,222,113,245,188,223,179,159,139,221,245,33,210,220,55,75,229,215,107,12,216,214,169,102,239,212,239,216,182,213,45,178,129,208,98,164,4,209,160,206,51,211,230,112,106,210,36,26,93,197,94,254,16,196,156,148,39,198,218,42,126,199,24,64,73,194,87,86,204,195,149,60,251,193,211,130,162,192,17,232,149,203,77,175,168,202,143,197,159,200,201,123,198,201,11,17,241,204,68,7,116,205,134,109,67,207,192,211,26,206,2,185,45,145,175,150,64,144,109,252,119,146,43,66,46,147,233,40,25,150,166,62,156,151,100,84,171,149,34,234,242,148,224,128,197,159,188,199,248,158,126,173,207,156,56,19,150,157,250,121,161,152,181,111,36,153,119,5,19,155,49,187,74,154,243,209,125,141,137,53,48,140,75,95,7,142,13,225,94,143,207,139,105,138,128,157,236,139,66,247,219,137,4,73,130,136,198,35,181,131,154,100,136,130,88,14,191,128,30,176,230,129,220,218,209,132,147,204,84,133,81,166,99,135,23,24,58,134,213,114,13,169,226,208,160,168,32,186,151,170,102,4,206,171,164,110,249,174,235,120,124,175,41,18,75,173,111,172,18,172,173,198,37,167,241,129,24,166,51,235,47,164,117,85,118,165,183,63,65,160,248,41,196,161,58,67,243,163,124,253,170,162,190,151,157,181,196,115,208,180,6,25,231,182,64,167,190,183,130,205,137,178,205,219,12,179,15,177,59,177,73,15,98,176,139,101,85,187,215,34,104,186,21,72,95,184,83,246,6,185,145,156,49,188,222,138,180,189,28,224,131,191,90,94,218,190,152,52,237,0,0,0,0,184,188,103,101,170,9,200,139,18,181,175,238,143,98,151,87,55,222,240,50,37,107,95,220,157,215,56,185,197,180,40,239,125,8,79,138,111,189,224,100,215,1,135,1,74,214,191,184,242,106,216,221,224,223,119,51,88,99,16,86,80,25,87,159,232,165,48,250,250,16,159,20,66,172,248,113,223,123,192,200,103,199,167,173,117,114,8,67,205,206,111,38,149,173,127,112,45,17,24,21,63,164,183,251,135,24,208,158,26,207,232,39,162,115,143,66,176,198,32,172,8,122,71,201,160,50,175,62,24,142,200,91,10,59,103,181,178,135,0,208,47,80,56,105,151,236,95,12,133,89,240,226,61,229,151,135,101,134,135,209,221,58,224,180,207,143,79,90,119,51,40,63,234,228,16,134,82,88,119,227,64,237,216,13,248,81,191,104,240,43,248,161,72,151,159,196,90,34,48,42,226,158,87,79,127,73,111,246,199,245,8,147,213,64,167,125,109,252,192,24,53,159,208,78,141,35,183,43,159,150,24,197,39,42,127,160,186,253,71,25,2,65,32,124,16,244,143,146,168,72,232,247,155,20,88,61,35,168,63,88,49,29,144,182,137,161,247,211,20,118,207,106,172,202,168,15,190,127,7,225,6,195,96,132,94,160,112,210,230,28,23,183,244,169,184,89,76,21,223,60,209,194,231,133,105,126,128,224,123,203,47,14,195,119,72,107,203,13,15,162,115,177,104,199,97,4,199,41,217,184,160,76,68,111,152,245,252,211,255,144,238,102,80,126,86,218,55,27,14,185,39,77,182,5,64,40,164,176,239,198,28,12,136,163,129,219,176,26,57,103,215,127,43,210,120,145,147,110,31,244,59,38,247,3,131,154,144,102,145,47,63,136,41,147,88,237,180,68,96,84,12,248,7,49,30,77,168,223,166,241,207,186,254,146,223,236,70,46,184,137,84,155,23,103,236,39,112,2,113,240,72,187,201,76,47,222,219,249,128,48,99,69,231,85,107,63,160,156,211,131,199,249,193,54,104,23,121,138,15,114,228,93,55,203,92,225,80,174,78,84,255,64,246,232,152,37,174,139,136,115,22,55,239,22,4,130,64,248,188,62,39,157,33,233,31,36,153,85,120,65,139,224,215,175,51,92,176,202,237,89,182,59,85,229,209,94,71,80,126,176,255,236,25,213,98,59,33,108,218,135,70,9,200,50,233,231,112,142,142,130,40,237,158,212,144,81,249,177,130,228,86,95,58,88,49,58,167,143,9,131,31,51,110,230,13,134,193,8,181,58,166,109,189,64,225,164,5,252,134,193,23,73,41,47,175,245,78,74,50,34,118,243,138,158,17,150,152,43,190,120,32,151,217,29,120,244,201,75,192,72,174,46,210,253,1,192,106,65,102,165,247,150,94,28,79,42,57,121,93,159,150,151,229,35,241,242,77,107,25,5,245,215,126,96,231,98,209,142,95,222,182,235,194,9,142,82,122,181,233,55,104,0,70,217,208,188,33,188,136,223,49,234,48,99,86,143,34,214,249,97,154,106,158,4,7,189,166,189,191,1,193,216,173,180,110,54,21,8,9,83,29,114,78,154,165,206,41,255,183,123,134,17,15,199,225,116,146,16,217,205,42,172,190,168,56,25,17,70,128,165,118,35,216,198,102,117,96,122,1,16,114,207,174,254,202,115,201,155,87,164,241,34,239,24,150,71,253,173,57,169,69,17,94,204,118,77,238,6,206,241,137,99,220,68,38,141,100,248,65,232,249,47,121,81,65,147,30,52,83,38,177,218,235,154,214,191,179,249,198,233,11,69,161,140,25,240,14,98,161,76,105,7,60,155,81,190,132,39,54,219,150,146,153,53,46,46,254,80,38,84,185,153,158,232,222,252,140,93,113,18,52,225,22,119,169,54,46,206,17,138,73,171,3,63,230,69,187,131,129,32,227,224,145,118,91,92,246,19,73,233,89,253,241,85,62,152,108,130,6,33,212,62,97,68,198,139,206,170,126,55,169,207,214,127,65,56,110,195,38,93,124,118,137,179,196,202,238,214,89,29,214,111,225,161,177,10,243,20,30,228,75,168,121,129,19,203,105,215,171,119,14,178,185,194,161,92,1,126,198,57,156,169,254,128,36,21,153,229,54,160,54,11,142,28,81,110,134,102,22,167,62,218,113,194,44,111,222,44,148,211,185,73,9,4,129,240,177,184,230,149,163,13,73,123,27,177,46,30,67,210,62,72,251,110,89,45,233,219,246,195,81,103,145,166,204,176,169,31,116,12,206,122,102,185,97,148,222,5,6,241,0,0,0,0,0,0,0,0,1,0,0,0,4,0,4,0,8,0,4,0,2,0,0,0,4,0,5,0,16,0,8,0,2,0,0,0,4,0,6,0,32,0,32,0,2,0,0,0,4,0,4,0,16,0,16,0,3,0,0,0,8,0,16,0,32,0,32,0,3,0,0,0,8,0,16,0,128,0,128,0,3,0,0,0,8,0,32,0,128,0,0,1,3,0,0,0,32,0,128,0,2,1,0,4,3,0,0,0,32,0,2,1,2,1,0,16,3,0,0,0,62,47,0,0,188,32,0,0,1,1,0,0,30,1,0,0,15,0,0,0,190,51,0,0,164,33,0,0,0,0,0,0,30,0,0,0,15,0,0,0,0,0,0,0,148,34,0,0,0,0,0,0,19,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,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,16,0,0,0,20,0,0,0,24,0,0,0,28,0,0,0,32,0,0,0,40,0,0,0,48,0,0,0,56,0,0,0,64,0,0,0,80,0,0,0,96,0,0,0,112,0,0,0,128,0,0,0,160,0,0,0,192,0,0,0,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,6,0,0,0,8,0,0,0,12,0,0,0,16,0,0,0,24,0,0,0,32,0,0,0,48,0,0,0,64,0,0,0,96,0,0,0,128,0,0,0,192,0,0,0,0,1,0,0,128,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,6,0,0,0,8,0,0,0,12,0,0,0,16,0,0,0,24,0,0,0,32,0,0,0,48,0,0,0,64,0,0,0,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,7,0,0,0,205,57,0,0,221,57,0,0,232,57,0,0,233,57,0,0,244,57,0,0,1,58,0,0,12,58,0,0,32,58,0,0,45,58,0,0,232,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,35,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,174,65,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,7,0,0,0,8,80,0,0,8,16,0,20,8,115,0,18,7,31,0,0,8,112,0,0,8,48,0,0,9,192,0,16,7,10,0,0,8,96,0,0,8,32,0,0,9,160,0,0,8,0,0,0,8,128,0,0,8,64,0,0,9,224,0,16,7,6,0,0,8,88,0,0,8,24,0,0,9,144,0,19,7,59,0,0,8,120,0,0,8,56,0,0,9,208,0,17,7,17,0,0,8,104,0,0,8,40,0,0,9,176,0,0,8,8,0,0,8,136,0,0,8,72,0,0,9,240,0,16,7,4,0,0,8,84,0,0,8,20,0,21,8,227,0,19,7,43,0,0,8,116,0,0,8,52,0,0,9,200,0,17,7,13,0,0,8,100,0,0,8,36,0,0,9,168,0,0,8,4,0,0,8,132,0,0,8,68,0,0,9,232,0,16,7,8,0,0,8,92,0,0,8,28,0,0,9,152,0,20,7,83,0,0,8,124,0,0,8,60,0,0,9,216,0,18,7,23,0,0,8,108,0,0,8,44,0,0,9,184,0,0,8,12,0,0,8,140,0,0,8,76,0,0,9,248,0,16,7,3,0,0,8,82,0,0,8,18,0,21,8,163,0,19,7,35,0,0,8,114,0,0,8,50,0,0,9,196,0,17,7,11,0,0,8,98,0,0,8,34,0,0,9,164,0,0,8,2,0,0,8,130,0,0,8,66,0,0,9,228,0,16,7,7,0,0,8,90,0,0,8,26,0,0,9,148,0,20,7,67,0,0,8,122,0,0,8,58,0,0,9,212,0,18,7,19,0,0,8,106,0,0,8,42,0,0,9,180,0,0,8,10,0,0,8,138,0,0,8,74,0,0,9,244,0,16,7,5,0,0,8,86,0,0,8,22,0,64,8,0,0,19,7,51,0,0,8,118,0,0,8,54,0,0,9,204,0,17,7,15,0,0,8,102,0,0,8,38,0,0,9,172,0,0,8,6,0,0,8,134,0,0,8,70,0,0,9,236,0,16,7,9,0,0,8,94,0,0,8,30,0,0,9,156,0,20,7,99,0,0,8,126,0,0,8,62,0,0,9,220,0,18,7,27,0,0,8,110,0,0,8,46,0,0,9,188,0,0,8,14,0,0,8,142,0,0,8,78,0,0,9,252,0,96,7,0,0,0,8,81,0,0,8,17,0,21,8,131,0,18,7,31,0,0,8,113,0,0,8,49,0,0,9,194,0,16,7,10,0,0,8,97,0,0,8,33,0,0,9,162,0,0,8,1,0,0,8,129,0,0,8,65,0,0,9,226,0,16,7,6,0,0,8,89,0,0,8,25,0,0,9,146,0,19,7,59,0,0,8,121,0,0,8,57,0,0,9,210,0,17,7,17,0,0,8,105,0,0,8,41],"i8",4,d.GLOBAL_BASE),F([9,178,0,0,8,9,0,0,8,137,0,0,8,73,0,0,9,242,0,16,7,4,0,0,8,85,0,0,8,21,0,16,8,2,1,19,7,43,0,0,8,117,0,0,8,53,0,0,9,202,0,17,7,13,0,0,8,101,0,0,8,37,0,0,9,170,0,0,8,5,0,0,8,133,0,0,8,69,0,0,9,234,0,16,7,8,0,0,8,93,0,0,8,29,0,0,9,154,0,20,7,83,0,0,8,125,0,0,8,61,0,0,9,218,0,18,7,23,0,0,8,109,0,0,8,45,0,0,9,186,0,0,8,13,0,0,8,141,0,0,8,77,0,0,9,250,0,16,7,3,0,0,8,83,0,0,8,19,0,21,8,195,0,19,7,35,0,0,8,115,0,0,8,51,0,0,9,198,0,17,7,11,0,0,8,99,0,0,8,35,0,0,9,166,0,0,8,3,0,0,8,131,0,0,8,67,0,0,9,230,0,16,7,7,0,0,8,91,0,0,8,27,0,0,9,150,0,20,7,67,0,0,8,123,0,0,8,59,0,0,9,214,0,18,7,19,0,0,8,107,0,0,8,43,0,0,9,182,0,0,8,11,0,0,8,139,0,0,8,75,0,0,9,246,0,16,7,5,0,0,8,87,0,0,8,23,0,64,8,0,0,19,7,51,0,0,8,119,0,0,8,55,0,0,9,206,0,17,7,15,0,0,8,103,0,0,8,39,0,0,9,174,0,0,8,7,0,0,8,135,0,0,8,71,0,0,9,238,0,16,7,9,0,0,8,95,0,0,8,31,0,0,9,158,0,20,7,99,0,0,8,127,0,0,8,63,0,0,9,222,0,18,7,27,0,0,8,111,0,0,8,47,0,0,9,190,0,0,8,15,0,0,8,143,0,0,8,79,0,0,9,254,0,96,7,0,0,0,8,80,0,0,8,16,0,20,8,115,0,18,7,31,0,0,8,112,0,0,8,48,0,0,9,193,0,16,7,10,0,0,8,96,0,0,8,32,0,0,9,161,0,0,8,0,0,0,8,128,0,0,8,64,0,0,9,225,0,16,7,6,0,0,8,88,0,0,8,24,0,0,9,145,0,19,7,59,0,0,8,120,0,0,8,56,0,0,9,209,0,17,7,17,0,0,8,104,0,0,8,40,0,0,9,177,0,0,8,8,0,0,8,136,0,0,8,72,0,0,9,241,0,16,7,4,0,0,8,84,0,0,8,20,0,21,8,227,0,19,7,43,0,0,8,116,0,0,8,52,0,0,9,201,0,17,7,13,0,0,8,100,0,0,8,36,0,0,9,169,0,0,8,4,0,0,8,132,0,0,8,68,0,0,9,233,0,16,7,8,0,0,8,92,0,0,8,28,0,0,9,153,0,20,7,83,0,0,8,124,0,0,8,60,0,0,9,217,0,18,7,23,0,0,8,108,0,0,8,44,0,0,9,185,0,0,8,12,0,0,8,140,0,0,8,76,0,0,9,249,0,16,7,3,0,0,8,82,0,0,8,18,0,21,8,163,0,19,7,35,0,0,8,114,0,0,8,50,0,0,9,197,0,17,7,11,0,0,8,98,0,0,8,34,0,0,9,165,0,0,8,2,0,0,8,130,0,0,8,66,0,0,9,229,0,16,7,7,0,0,8,90,0,0,8,26,0,0,9,149,0,20,7,67,0,0,8,122,0,0,8,58,0,0,9,213,0,18,7,19,0,0,8,106,0,0,8,42,0,0,9,181,0,0,8,10,0,0,8,138,0,0,8,74,0,0,9,245,0,16,7,5,0,0,8,86,0,0,8,22,0,64,8,0,0,19,7,51,0,0,8,118,0,0,8,54,0,0,9,205,0,17,7,15,0,0,8,102,0,0,8,38,0,0,9,173,0,0,8,6,0,0,8,134,0,0,8,70,0,0,9,237,0,16,7,9,0,0,8,94,0,0,8,30,0,0,9,157,0,20,7,99,0,0,8,126,0,0,8,62,0,0,9,221,0,18,7,27,0,0,8,110,0,0,8,46,0,0,9,189,0,0,8,14,0,0,8,142,0,0,8,78,0,0,9,253,0,96,7,0,0,0,8,81,0,0,8,17,0,21,8,131,0,18,7,31,0,0,8,113,0,0,8,49,0,0,9,195,0,16,7,10,0,0,8,97,0,0,8,33,0,0,9,163,0,0,8,1,0,0,8,129,0,0,8,65,0,0,9,227,0,16,7,6,0,0,8,89,0,0,8,25,0,0,9,147,0,19,7,59,0,0,8,121,0,0,8,57,0,0,9,211,0,17,7,17,0,0,8,105,0,0,8,41,0,0,9,179,0,0,8,9,0,0,8,137,0,0,8,73,0,0,9,243,0,16,7,4,0,0,8,85,0,0,8,21,0,16,8,2,1,19,7,43,0,0,8,117,0,0,8,53,0,0,9,203,0,17,7,13,0,0,8,101,0,0,8,37,0,0,9,171,0,0,8,5,0,0,8,133,0,0,8,69,0,0,9,235,0,16,7,8,0,0,8,93,0,0,8,29,0,0,9,155,0,20,7,83,0,0,8,125,0,0,8,61,0,0,9,219,0,18,7,23,0,0,8,109,0,0,8,45,0,0,9,187,0,0,8,13,0,0,8,141,0,0,8,77,0,0,9,251,0,16,7,3,0,0,8,83,0,0,8,19,0,21,8,195,0,19,7,35,0,0,8,115,0,0,8,51,0,0,9,199,0,17,7,11,0,0,8,99,0,0,8,35,0,0,9,167,0,0,8,3,0,0,8,131,0,0,8,67,0,0,9,231,0,16,7,7,0,0,8,91,0,0,8,27,0,0,9,151,0,20,7,67,0,0,8,123,0,0,8,59,0,0,9,215,0,18,7,19,0,0,8,107,0,0,8,43,0,0,9,183,0,0,8,11,0,0,8,139,0,0,8,75,0,0,9,247,0,16,7,5,0,0,8,87,0,0,8,23,0,64,8,0,0,19,7,51,0,0,8,119,0,0,8,55,0,0,9,207,0,17,7,15,0,0,8,103,0,0,8,39,0,0,9,175,0,0,8,7,0,0,8,135,0,0,8,71,0,0,9,239,0,16,7,9,0,0,8,95,0,0,8,31,0,0,9,159,0,20,7,99,0,0,8,127,0,0,8,63,0,0,9,223,0,18,7,27,0,0,8,111,0,0,8,47,0,0,9,191,0,0,8,15,0,0,8,143,0,0,8,79,0,0,9,255,0,16,5,1,0,23,5,1,1,19,5,17,0,27,5,1,16,17,5,5,0,25,5,1,4,21,5,65,0,29,5,1,64,16,5,3,0,24,5,1,2,20,5,33,0,28,5,1,32,18,5,9,0,26,5,1,8,22,5,129,0,64,5,0,0,16,5,2,0,23,5,129,1,19,5,25,0,27,5,1,24,17,5,7,0,25,5,1,6,21,5,97,0,29,5,1,96,16,5,4,0,24,5,1,3,20,5,49,0,28,5,1,48,18,5,13,0,26,5,1,12,22,5,193,0,64,5,0,0,16,0,17,0,18,0,0,0,8,0,7,0,9,0,6,0,10,0,5,0,11,0,4,0,12,0,3,0,13,0,2,0,14,0,1,0,15,0,1,0,2,0,3,0,4,0,5,0,7,0,9,0,13,0,17,0,25,0,33,0,49,0,65,0,97,0,129,0,193,0,1,1,129,1,1,2,1,3,1,4,1,6,1,8,1,12,1,16,1,24,1,32,1,48,1,64,1,96,0,0,0,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,13,0,15,0,17,0,19,0,23,0,27,0,31,0,35,0,43,0,51,0,59,0,67,0,83,0,99,0,115,0,131,0,163,0,195,0,227,0,2,1,0,0,0,0,16,0,16,0,16,0,16,0,17,0,17,0,18,0,18,0,19,0,19,0,20,0,20,0,21,0,21,0,22,0,22,0,23,0,23,0,24,0,24,0,25,0,25,0,26,0,26,0,27,0,27,0,28,0,28,0,29,0,29,0,64,0,64,0,16,0,16,0,16,0,16,0,16,0,16,0,16,0,16,0,17,0,17,0,17,0,17,0,18,0,18,0,18,0,18,0,19,0,19,0,19,0,19,0,20,0,20,0,20,0,20,0,21,0,21,0,21,0,21,0,16,0,73,0,195,0,12,0,8,0,140,0,8,0,76,0,8,0,204,0,8,0,44,0,8,0,172,0,8,0,108,0,8,0,236,0,8,0,28,0,8,0,156,0,8,0,92,0,8,0,220,0,8,0,60,0,8,0,188,0,8,0,124,0,8,0,252,0,8,0,2,0,8,0,130,0,8,0,66,0,8,0,194,0,8,0,34,0,8,0,162,0,8,0,98,0,8,0,226,0,8,0,18,0,8,0,146,0,8,0,82,0,8,0,210,0,8,0,50,0,8,0,178,0,8,0,114,0,8,0,242,0,8,0,10,0,8,0,138,0,8,0,74,0,8,0,202,0,8,0,42,0,8,0,170,0,8,0,106,0,8,0,234,0,8,0,26,0,8,0,154,0,8,0,90,0,8,0,218,0,8,0,58,0,8,0,186,0,8,0,122,0,8,0,250,0,8,0,6,0,8,0,134,0,8,0,70,0,8,0,198,0,8,0,38,0,8,0,166,0,8,0,102,0,8,0,230,0,8,0,22,0,8,0,150,0,8,0,86,0,8,0,214,0,8,0,54,0,8,0,182,0,8,0,118,0,8,0,246,0,8,0,14,0,8,0,142,0,8,0,78,0,8,0,206,0,8,0,46,0,8,0,174,0,8,0,110,0,8,0,238,0,8,0,30,0,8,0,158,0,8,0,94,0,8,0,222,0,8,0,62,0,8,0,190,0,8,0,126,0,8,0,254,0,8,0,1,0,8,0,129,0,8,0,65,0,8,0,193,0,8,0,33,0,8,0,161,0,8,0,97,0,8,0,225,0,8,0,17,0,8,0,145,0,8,0,81,0,8,0,209,0,8,0,49,0,8,0,177,0,8,0,113,0,8,0,241,0,8,0,9,0,8,0,137,0,8,0,73,0,8,0,201,0,8,0,41,0,8,0,169,0,8,0,105,0,8,0,233,0,8,0,25,0,8,0,153,0,8,0,89,0,8,0,217,0,8,0,57,0,8,0,185,0,8,0,121,0,8,0,249,0,8,0,5,0,8,0,133,0,8,0,69,0,8,0,197,0,8,0,37,0,8,0,165,0,8,0,101,0,8,0,229,0,8,0,21,0,8,0,149,0,8,0,85,0,8,0,213,0,8,0,53,0,8,0,181,0,8,0,117,0,8,0,245,0,8,0,13,0,8,0,141,0,8,0,77,0,8,0,205,0,8,0,45,0,8,0,173,0,8,0,109,0,8,0,237,0,8,0,29,0,8,0,157,0,8,0,93,0,8,0,221,0,8,0,61,0,8,0,189,0,8,0,125,0,8,0,253,0,8,0,19,0,9,0,19,1,9,0,147,0,9,0,147,1,9,0,83,0,9,0,83,1,9,0,211,0,9,0,211,1,9,0,51,0,9,0,51,1,9,0,179,0,9,0,179,1,9,0,115,0,9,0,115,1,9,0,243,0,9,0,243,1,9,0,11,0,9,0,11,1,9,0,139,0,9,0,139,1,9,0,75,0,9,0,75,1,9,0,203,0,9,0,203,1,9,0,43,0,9,0,43,1,9,0,171,0,9,0,171,1,9,0,107,0,9,0,107,1,9,0,235,0,9,0,235,1,9,0,27,0,9,0,27,1,9,0,155,0,9,0,155,1,9,0,91,0,9,0,91,1,9,0,219,0,9,0,219,1,9,0,59,0,9,0,59,1,9,0,187,0,9,0,187,1,9,0,123,0,9,0,123,1,9,0,251,0,9,0,251,1,9,0,7,0,9,0,7,1,9,0,135,0,9,0,135,1,9,0,71,0,9,0,71,1,9,0,199,0,9,0,199,1,9,0,39,0,9,0,39,1,9,0,167,0,9,0,167,1,9,0,103,0,9,0,103,1,9,0,231,0,9,0,231,1,9,0,23,0,9,0,23,1,9,0,151,0,9,0,151,1,9,0,87,0,9,0,87,1,9,0,215,0,9,0,215,1,9,0,55,0,9,0,55,1,9,0,183,0,9,0,183,1,9,0,119,0,9,0,119,1,9,0,247,0,9,0,247,1,9,0,15,0,9,0,15,1,9,0,143,0,9,0,143,1,9,0,79,0,9,0,79,1,9,0,207,0,9,0,207,1,9,0,47,0,9,0,47,1,9,0,175,0,9,0,175,1,9,0,111,0,9,0,111,1,9,0,239,0,9,0,239,1,9,0,31,0,9,0,31,1,9,0,159,0,9,0,159,1,9,0,95,0,9,0,95,1,9,0,223,0,9,0,223,1,9,0,63,0,9,0,63,1,9,0,191,0,9,0,191,1,9,0,127,0,9,0,127,1,9,0,255,0,9,0,255,1,9,0,0,0,7,0,64,0,7,0,32,0,7,0,96,0,7,0,16,0,7,0,80,0,7,0,48,0,7,0,112,0,7,0,8,0,7,0,72,0,7,0,40,0,7,0,104,0,7,0,24,0,7,0,88,0,7,0,56,0,7,0,120,0,7,0,4,0,7,0,68,0,7,0,36,0,7,0,100,0,7,0,20,0,7,0,84,0,7,0,52,0,7,0,116,0,7,0,3,0,8,0,131,0,8,0,67,0,8,0,195,0,8,0,35,0,8,0,163,0,8,0,99,0,8,0,227,0,8,0,0,0,5,0,16,0,5,0,8,0,5,0,24,0,5,0,4,0,5,0,20,0,5,0,12,0,5,0,28,0,5,0,2,0,5,0,18,0,5,0,10,0,5,0,26,0,5,0,6,0,5,0,22,0,5,0,14,0,5,0,30,0,5,0,1,0,5,0,17,0,5,0,9,0,5,0,25,0,5,0,5,0,5,0,21,0,5,0,13,0,5,0,29,0,5,0,3,0,5,0,19,0,5,0,11,0,5,0,27,0,5,0,7,0,5,0,23,0,5,0,58,32,0,117,110,101,120,112,101,99,116,101,100,32,101,110,100,32,111,102,32,102,105,108,101,0,105,110,116,101,114,110,97,108,32,101,114,114,111,114,58,32,105,110,102,108,97,116,101,32,115,116,114,101,97,109,32,99,111,114,114,117,112,116,0,99,111,109,112,114,101,115,115,101,100,32,100,97,116,97,32,101,114,114,111,114,0,114,101,113,117,101,115,116,101,100,32,108,101,110,103,116,104,32,100,111,101,115,32,110,111,116,32,102,105,116,32,105,110,32,105,110,116,0,105,110,116,101,114,110,97,108,32,101,114,114,111,114,58,32,100,101,102,108,97,116,101,32,115,116,114,101,97,109,32,99,111,114,114,117,112,116,0,111,117,116,32,111,102,32,109,101,109,111,114,121,0,49,46,50,46,53,0,105,110,99,111,114,114,101,99,116,32,104,101,97,100,101,114,32,99,104,101,99,107,0,117,110,107,110,111,119,110,32,99,111,109,112,114,101,115,115,105,111,110,32,109,101,116,104,111,100,0,105,110,118,97,108,105,100,32,119,105,110,100,111,119,32,115,105,122,101,0,117,110,107,110,111,119,110,32,104,101,97,100,101,114,32,102,108,97,103,115,32,115,101,116,0,104,101,97,100,101,114,32,99,114,99,32,109,105,115,109,97,116,99,104,0,105,110,118,97,108,105,100,32,98,108,111,99,107,32,116,121,112,101,0,105,110,118,97,108,105,100,32,115,116,111,114,101,100,32,98,108,111,99,107,32,108,101,110,103,116,104,115,0,116,111,111,32,109,97,110,121,32,108,101,110,103,116,104,32,111,114,32,100,105,115,116,97,110,99,101,32,115,121,109,98,111,108,115,0,105,110,118,97,108,105,100,32,99,111,100,101,32,108,101,110,103,116,104,115,32,115,101,116,0,105,110,118,97,108,105,100,32,98,105,116,32,108,101,110,103,116,104,32,114,101,112,101,97,116,0,105,110,118,97,108,105,100,32,99,111,100,101,32,45,45,32,109,105,115,115,105,110,103,32,101,110,100,45,111,102,45,98,108,111,99,107,0,105,110,118,97,108,105,100,32,108,105,116,101,114,97,108,47,108,101,110,103,116,104,115,32,115,101,116,0,105,110,118,97,108,105,100,32,100,105,115,116,97,110,99,101,115,32,115,101,116,0,105,110,118,97,108,105,100,32,108,105,116,101,114,97,108,47,108,101,110,103,116,104,32,99,111,100,101,0,105,110,118,97,108,105,100,32,100,105,115,116,97,110,99,101,32,99,111,100,101,0,105,110,118,97,108,105,100,32,100,105,115,116,97,110,99,101,32,116,111,111,32,102,97,114,32,98,97,99,107,0,105,110,99,111,114,114,101,99,116,32,100,97,116,97,32,99,104,101,99,107,0,105,110,99,111,114,114,101,99,116,32,108,101,110,103,116,104,32,99,104,101,99,107,0,0,1,2,3,4,4,5,5,6,6,6,6,7,7,7,7,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,0,16,17,18,18,19,19,20,20,20,20,21,21,21,21,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,0,1,2,3,4,5,6,7,8,8,9,9,10,10,11,11,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,16,16,16,16,17,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,28,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,110,101,101,100,32,100,105,99,116,105,111,110,97,114,121,0,115,116,114,101,97,109,32,101,110,100,0,0,102,105,108,101,32,101,114,114,111,114,0,115,116,114,101,97,109,32,101,114,114,111,114,0,100,97,116,97,32,101,114,114,111,114,0,105,110,115,117,102,102,105,99,105,101,110,116,32,109,101,109,111,114,121,0,98,117,102,102,101,114,32,101,114,114,111,114,0,105,110,99,111,109,112,97,116,105,98,108,101,32,118,101,114,115,105,111,110,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110],"i8",4,d.GLOBAL_BASE+10241);var ke=d.alignMemory(F(12,"i8",2),8);function be(e){return n.___errno_location&&(S[n.___errno_location()>>2]=e),e}L(ke%8==0);var ve={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function Ee(e,r){J.push((function(){d.dynCall("vi",e,[r])})),Ee.level=J.length}n._memset=xe;var ge={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"},ye={splitPath:function(e){return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1)},normalizeArray:function(e,r){for(var n=0,t=e.length-1;t>=0;t--){var i=e[t];"."===i?e.splice(t,1):".."===i?(e.splice(t,1),n++):n&&(e.splice(t,1),n--)}if(r)for(;n--;n)e.unshift("..");return e},normalize:function(e){var r="/"===e.charAt(0),n="/"===e.substr(-1);return(e=ye.normalizeArray(e.split("/").filter((function(e){return!!e})),!r).join("/"))||r||(e="."),e&&n&&(e+="/"),(r?"/":"")+e},dirname:function(e){var r=ye.splitPath(e),n=r[0],t=r[1];return n||t?(t&&(t=t.substr(0,t.length-1)),n+t):"."},basename:function(e){if("/"===e)return"/";var r=e.lastIndexOf("/");return-1===r?e:e.substr(r+1)},extname:function(e){return ye.splitPath(e)[3]},join:function(){var e=Array.prototype.slice.call(arguments,0);return ye.normalize(e.join("/"))},join2:function(e,r){return ye.normalize(e+"/"+r)},resolve:function(){for(var e="",r=!1,n=arguments.length-1;n>=-1&&!r;n--){var t=n>=0?arguments[n]:Ne.cwd();if("string"!=typeof t)throw new TypeError("Arguments to path.resolve must be strings");if(!t)return"";e=t+"/"+e,r="/"===t.charAt(0)}return(r?"/":"")+(e=ye.normalizeArray(e.split("/").filter((function(e){return!!e})),!r).join("/"))||"."},relative:function(e,r){function n(e){for(var r=0;r<e.length&&""===e[r];r++);for(var n=e.length-1;n>=0&&""===e[n];n--);return r>n?[]:e.slice(r,n-r+1)}e=ye.resolve(e).substr(1),r=ye.resolve(r).substr(1);for(var t=n(e.split("/")),i=n(r.split("/")),o=Math.min(t.length,i.length),a=o,s=0;s<o;s++)if(t[s]!==i[s]){a=s;break}var f=[];for(s=a;s<t.length;s++)f.push("..");return(f=f.concat(i.slice(a))).join("/")}},_e={ttys:[],init:function(){},shutdown:function(){},register:function(e,r){_e.ttys[e]={input:[],output:[],ops:r},Ne.registerDevice(e,_e.stream_ops)},stream_ops:{open:function(e){var r=_e.ttys[e.node.rdev];if(!r)throw new Ne.ErrnoError(ve.ENODEV);e.tty=r,e.seekable=!1},close:function(e){e.tty.ops.flush(e.tty)},flush:function(e){e.tty.ops.flush(e.tty)},read:function(e,r,n,t,i){if(!e.tty||!e.tty.ops.get_char)throw new Ne.ErrnoError(ve.ENXIO);for(var o=0,a=0;a<t;a++){var s;try{s=e.tty.ops.get_char(e.tty)}catch(e){throw new Ne.ErrnoError(ve.EIO)}if(void 0===s&&0===o)throw new Ne.ErrnoError(ve.EAGAIN);if(null==s)break;o++,r[n+a]=s}return o&&(e.node.timestamp=Date.now()),o},write:function(e,r,n,t,i){if(!e.tty||!e.tty.ops.put_char)throw new Ne.ErrnoError(ve.ENXIO);for(var o=0;o<t;o++)try{e.tty.ops.put_char(e.tty,r[n+o])}catch(e){throw new Ne.ErrnoError(ve.EIO)}return t&&(e.node.timestamp=Date.now()),o}},default_tty_ops:{get_char:function(e){if(!e.input.length){var r=null;if(s){var n,t=new Buffer(256),i=process.stdin.fd,o=!1;try{i=Pe.openSync("/dev/stdin","r"),o=!0}catch(e){}n=Pe.readSync(i,t,0,256,null),o&&Pe.closeSync(i),r=n>0?t.slice(0,n).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(r=window.prompt("Input: "))&&(r+="\n"):"function"==typeof readline&&null!==(r=readline())&&(r+="\n");if(!r)return null;e.input=ie(r,!0)}return e.input.shift()},put_char:function(e,r){null===r||10===r?(n.print(P(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},flush:function(e){e.output&&e.output.length>0&&(n.print(P(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,r){null===r||10===r?(n.printErr(P(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},flush:function(e){e.output&&e.output.length>0&&(n.printErr(P(e.output,0)),e.output=[])}}},Se={ops_table:null,mount:function(e){return Se.createNode(null,"/",16895,0)},createNode:function(e,r,n,t){if(Ne.isBlkdev(n)||Ne.isFIFO(n))throw new Ne.ErrnoError(ve.EPERM);Se.ops_table||(Se.ops_table={dir:{node:{getattr:Se.node_ops.getattr,setattr:Se.node_ops.setattr,lookup:Se.node_ops.lookup,mknod:Se.node_ops.mknod,rename:Se.node_ops.rename,unlink:Se.node_ops.unlink,rmdir:Se.node_ops.rmdir,readdir:Se.node_ops.readdir,symlink:Se.node_ops.symlink},stream:{llseek:Se.stream_ops.llseek}},file:{node:{getattr:Se.node_ops.getattr,setattr:Se.node_ops.setattr},stream:{llseek:Se.stream_ops.llseek,read:Se.stream_ops.read,write:Se.stream_ops.write,allocate:Se.stream_ops.allocate,mmap:Se.stream_ops.mmap,msync:Se.stream_ops.msync}},link:{node:{getattr:Se.node_ops.getattr,setattr:Se.node_ops.setattr,readlink:Se.node_ops.readlink},stream:{}},chrdev:{node:{getattr:Se.node_ops.getattr,setattr:Se.node_ops.setattr},stream:Ne.chrdev_stream_ops}});var i=Ne.createNode(e,r,n,t);return Ne.isDir(i.mode)?(i.node_ops=Se.ops_table.dir.node,i.stream_ops=Se.ops_table.dir.stream,i.contents={}):Ne.isFile(i.mode)?(i.node_ops=Se.ops_table.file.node,i.stream_ops=Se.ops_table.file.stream,i.usedBytes=0,i.contents=null):Ne.isLink(i.mode)?(i.node_ops=Se.ops_table.link.node,i.stream_ops=Se.ops_table.link.stream):Ne.isChrdev(i.mode)&&(i.node_ops=Se.ops_table.chrdev.node,i.stream_ops=Se.ops_table.chrdev.stream),i.timestamp=Date.now(),e&&(e.contents[r]=i),i},getFileDataAsRegularArray:function(e){if(e.contents&&e.contents.subarray){for(var r=[],n=0;n<e.usedBytes;++n)r.push(e.contents[n]);return r}return e.contents},getFileDataAsTypedArray:function(e){return e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array},expandFileStorage:function(e,r){if(e.contents&&e.contents.subarray&&r>e.contents.length&&(e.contents=Se.getFileDataAsRegularArray(e),e.usedBytes=e.contents.length),!e.contents||e.contents.subarray){var n=e.contents?e.contents.buffer.byteLength:0;if(n>=r)return;r=Math.max(r,n*(n<1048576?2:1.125)|0),0!=n&&(r=Math.max(r,256));var t=e.contents;return e.contents=new Uint8Array(r),void(e.usedBytes>0&&e.contents.set(t.subarray(0,e.usedBytes),0))}for(!e.contents&&r>0&&(e.contents=[]);e.contents.length<r;)e.contents.push(0)},resizeFileStorage:function(e,r){if(e.usedBytes!=r){if(0==r)return e.contents=null,void(e.usedBytes=0);if(!e.contents||e.contents.subarray){var n=e.contents;return e.contents=new Uint8Array(new ArrayBuffer(r)),n&&e.contents.set(n.subarray(0,Math.min(r,e.usedBytes))),void(e.usedBytes=r)}if(e.contents||(e.contents=[]),e.contents.length>r)e.contents.length=r;else for(;e.contents.length<r;)e.contents.push(0);e.usedBytes=r}},node_ops:{getattr:function(e){var r={};return r.dev=Ne.isChrdev(e.mode)?e.id:1,r.ino=e.id,r.mode=e.mode,r.nlink=1,r.uid=0,r.gid=0,r.rdev=e.rdev,Ne.isDir(e.mode)?r.size=4096:Ne.isFile(e.mode)?r.size=e.usedBytes:Ne.isLink(e.mode)?r.size=e.link.length:r.size=0,r.atime=new Date(e.timestamp),r.mtime=new Date(e.timestamp),r.ctime=new Date(e.timestamp),r.blksize=4096,r.blocks=Math.ceil(r.size/r.blksize),r},setattr:function(e,r){void 0!==r.mode&&(e.mode=r.mode),void 0!==r.timestamp&&(e.timestamp=r.timestamp),void 0!==r.size&&Se.resizeFileStorage(e,r.size)},lookup:function(e,r){throw Ne.genericErrors[ve.ENOENT]},mknod:function(e,r,n,t){return Se.createNode(e,r,n,t)},rename:function(e,r,n){if(Ne.isDir(e.mode)){var t;try{t=Ne.lookupNode(r,n)}catch(e){}if(t)for(var i in t.contents)throw new Ne.ErrnoError(ve.ENOTEMPTY)}delete e.parent.contents[e.name],e.name=n,r.contents[n]=e,e.parent=r},unlink:function(e,r){delete e.contents[r]},rmdir:function(e,r){var n=Ne.lookupNode(e,r);for(var t in n.contents)throw new Ne.ErrnoError(ve.ENOTEMPTY);delete e.contents[r]},readdir:function(e){var r=[".",".."];for(var n in e.contents)e.contents.hasOwnProperty(n)&&r.push(n);return r},symlink:function(e,r,n){var t=Se.createNode(e,r,41471,0);return t.link=n,t},readlink:function(e){if(!Ne.isLink(e.mode))throw new Ne.ErrnoError(ve.EINVAL);return e.link}},stream_ops:{read:function(e,r,n,t,i){var o=e.node.contents;if(i>=e.node.usedBytes)return 0;var a=Math.min(e.node.usedBytes-i,t);if(L(a>=0),a>8&&o.subarray)r.set(o.subarray(i,i+a),n);else for(var s=0;s<a;s++)r[n+s]=o[i+s];return a},write:function(e,r,n,t,i,o){if(!t)return 0;var a=e.node;if(a.timestamp=Date.now(),r.subarray&&(!a.contents||a.contents.subarray)){if(o)return a.contents=r.subarray(n,n+t),a.usedBytes=t,t;if(0===a.usedBytes&&0===i)return a.contents=new Uint8Array(r.subarray(n,n+t)),a.usedBytes=t,t;if(i+t<=a.usedBytes)return a.contents.set(r.subarray(n,n+t),i),t}if(Se.expandFileStorage(a,i+t),a.contents.subarray&&r.subarray)a.contents.set(r.subarray(n,n+t),i);else for(var s=0;s<t;s++)a.contents[i+s]=r[n+s];return a.usedBytes=Math.max(a.usedBytes,i+t),t},llseek:function(e,r,n){var t=r;if(1===n?t+=e.position:2===n&&Ne.isFile(e.node.mode)&&(t+=e.node.usedBytes),t<0)throw new Ne.ErrnoError(ve.EINVAL);return t},allocate:function(e,r,n){Se.expandFileStorage(e.node,r+n),e.node.usedBytes=Math.max(e.node.usedBytes,r+n)},mmap:function(e,r,n,t,i,o,a){if(!Ne.isFile(e.node.mode))throw new Ne.ErrnoError(ve.ENODEV);var s,f,l=e.node.contents;if(2&a||l.buffer!==r&&l.buffer!==r.buffer){if((i>0||i+t<e.node.usedBytes)&&(l=l.subarray?l.subarray(i,i+t):Array.prototype.slice.call(l,i,i+t)),f=!0,!(s=Be(t)))throw new Ne.ErrnoError(ve.ENOMEM);r.set(l,s)}else f=!1,s=l.byteOffset;return{ptr:s,allocated:f}},msync:function(e,r,n,t,i){if(!Ne.isFile(e.node.mode))throw new Ne.ErrnoError(ve.ENODEV);return 2&i||Se.stream_ops.write(e,r,0,t,n,!1),0}}},Ae={dbs:{},indexedDB:function(){if("undefined"!=typeof indexedDB)return indexedDB;var e=null;return"object"==typeof window&&(e=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB),L(e,"IDBFS used, but indexedDB not supported"),e},DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:function(e){return Se.mount.apply(null,arguments)},syncfs:function(e,r,n){Ae.getLocalSet(e,(function(t,i){if(t)return n(t);Ae.getRemoteSet(e,(function(e,t){if(e)return n(e);var o=r?t:i,a=r?i:t;Ae.reconcile(o,a,n)}))}))},getDB:function(e,r){var n,t=Ae.dbs[e];if(t)return r(null,t);try{n=Ae.indexedDB().open(e,Ae.DB_VERSION)}catch(e){return r(e)}n.onupgradeneeded=function(e){var r,n=e.target.result,t=e.target.transaction;(r=n.objectStoreNames.contains(Ae.DB_STORE_NAME)?t.objectStore(Ae.DB_STORE_NAME):n.createObjectStore(Ae.DB_STORE_NAME)).indexNames.contains("timestamp")||r.createIndex("timestamp","timestamp",{unique:!1})},n.onsuccess=function(){t=n.result,Ae.dbs[e]=t,r(null,t)},n.onerror=function(e){r(this.error),e.preventDefault()}},getLocalSet:function(e,r){var n={};function t(e){return"."!==e&&".."!==e}function i(e){return function(r){return ye.join2(e,r)}}for(var o=Ne.readdir(e.mountpoint).filter(t).map(i(e.mountpoint));o.length;){var a,s=o.pop();try{a=Ne.stat(s)}catch(e){return r(e)}Ne.isDir(a.mode)&&o.push.apply(o,Ne.readdir(s).filter(t).map(i(s))),n[s]={timestamp:a.mtime}}return r(null,{type:"local",entries:n})},getRemoteSet:function(e,r){var n={};Ae.getDB(e.mountpoint,(function(e,t){if(e)return r(e);var i=t.transaction([Ae.DB_STORE_NAME],"readonly");i.onerror=function(e){r(this.error),e.preventDefault()},i.objectStore(Ae.DB_STORE_NAME).index("timestamp").openKeyCursor().onsuccess=function(e){var i=e.target.result;if(!i)return r(null,{type:"remote",db:t,entries:n});n[i.primaryKey]={timestamp:i.key},i.continue()}}))},loadLocalEntry:function(e,r){var n,t;try{t=Ne.lookupPath(e).node,n=Ne.stat(e)}catch(e){return r(e)}return Ne.isDir(n.mode)?r(null,{timestamp:n.mtime,mode:n.mode}):Ne.isFile(n.mode)?(t.contents=Se.getFileDataAsTypedArray(t),r(null,{timestamp:n.mtime,mode:n.mode,contents:t.contents})):r(new Error("node type not supported"))},storeLocalEntry:function(e,r,n){try{if(Ne.isDir(r.mode))Ne.mkdir(e,r.mode);else{if(!Ne.isFile(r.mode))return n(new Error("node type not supported"));Ne.writeFile(e,r.contents,{encoding:"binary",canOwn:!0})}Ne.chmod(e,r.mode),Ne.utime(e,r.timestamp,r.timestamp)}catch(e){return n(e)}n(null)},removeLocalEntry:function(e,r){try{Ne.lookupPath(e);var n=Ne.stat(e);Ne.isDir(n.mode)?Ne.rmdir(e):Ne.isFile(n.mode)&&Ne.unlink(e)}catch(e){return r(e)}r(null)},loadRemoteEntry:function(e,r,n){var t=e.get(r);t.onsuccess=function(e){n(null,e.target.result)},t.onerror=function(e){n(this.error),e.preventDefault()}},storeRemoteEntry:function(e,r,n,t){var i=e.put(n,r);i.onsuccess=function(){t(null)},i.onerror=function(e){t(this.error),e.preventDefault()}},removeRemoteEntry:function(e,r,n){var t=e.delete(r);t.onsuccess=function(){n(null)},t.onerror=function(e){n(this.error),e.preventDefault()}},reconcile:function(e,r,n){var t=0,i=[];Object.keys(e.entries).forEach((function(n){var o=e.entries[n],a=r.entries[n];(!a||o.timestamp>a.timestamp)&&(i.push(n),t++)}));var o=[];if(Object.keys(r.entries).forEach((function(n){r.entries[n],e.entries[n]||(o.push(n),t++)})),!t)return n(null);var a=0,s=("remote"===e.type?e.db:r.db).transaction([Ae.DB_STORE_NAME],"readwrite"),f=s.objectStore(Ae.DB_STORE_NAME);function l(e){return e?l.errored?void 0:(l.errored=!0,n(e)):++a>=t?n(null):void 0}s.onerror=function(e){l(this.error),e.preventDefault()},i.sort().forEach((function(e){"local"===r.type?Ae.loadRemoteEntry(f,e,(function(r,n){if(r)return l(r);Ae.storeLocalEntry(e,n,l)})):Ae.loadLocalEntry(e,(function(r,n){if(r)return l(r);Ae.storeRemoteEntry(f,e,n,l)}))})),o.sort().reverse().forEach((function(e){"local"===r.type?Ae.removeLocalEntry(e,l):Ae.removeRemoteEntry(f,e,l)}))}},De={isWindows:!1,staticInit:function(){De.isWindows=!!process.platform.match(/^win/)},mount:function(e){return L(s),De.createNode(null,"/",De.getMode(e.opts.root),0)},createNode:function(e,r,n,t){if(!Ne.isDir(n)&&!Ne.isFile(n)&&!Ne.isLink(n))throw new Ne.ErrnoError(ve.EINVAL);var i=Ne.createNode(e,r,n);return i.node_ops=De.node_ops,i.stream_ops=De.stream_ops,i},getMode:function(e){var r;try{r=Pe.lstatSync(e),De.isWindows&&(r.mode=r.mode|(146&r.mode)>>1)}catch(e){if(!e.code)throw e;throw new Ne.ErrnoError(ve[e.code])}return r.mode},realPath:function(e){for(var r=[];e.parent!==e;)r.push(e.name),e=e.parent;return r.push(e.mount.opts.root),r.reverse(),ye.join.apply(null,r)},flagsToPermissionStringMap:{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+"},flagsToPermissionString:function(e){if((e&=-32769)in De.flagsToPermissionStringMap)return De.flagsToPermissionStringMap[e];throw new Ne.ErrnoError(ve.EINVAL)},node_ops:{getattr:function(e){var r,n=De.realPath(e);try{r=Pe.lstatSync(n)}catch(e){if(!e.code)throw e;throw new Ne.ErrnoError(ve[e.code])}return De.isWindows&&!r.blksize&&(r.blksize=4096),De.isWindows&&!r.blocks&&(r.blocks=(r.size+r.blksize-1)/r.blksize|0),{dev:r.dev,ino:r.ino,mode:r.mode,nlink:r.nlink,uid:r.uid,gid:r.gid,rdev:r.rdev,size:r.size,atime:r.atime,mtime:r.mtime,ctime:r.ctime,blksize:r.blksize,blocks:r.blocks}},setattr:function(e,r){var n=De.realPath(e);try{if(void 0!==r.mode&&(Pe.chmodSync(n,r.mode),e.mode=r.mode),void 0!==r.timestamp){var t=new Date(r.timestamp);Pe.utimesSync(n,t,t)}void 0!==r.size&&Pe.truncateSync(n,r.size)}catch(e){if(!e.code)throw e;throw new Ne.ErrnoError(ve[e.code])}},lookup:function(e,r){var n=ye.join2(De.realPath(e),r),t=De.getMode(n);return De.createNode(e,r,t)},mknod:function(e,r,n,t){var i=De.createNode(e,r,n,t),o=De.realPath(i);try{Ne.isDir(i.mode)?Pe.mkdirSync(o,i.mode):Pe.writeFileSync(o,"",{mode:i.mode})}catch(e){if(!e.code)throw e;throw new Ne.ErrnoError(ve[e.code])}return i},rename:function(e,r,n){var t=De.realPath(e),i=ye.join2(De.realPath(r),n);try{Pe.renameSync(t,i)}catch(e){if(!e.code)throw e;throw new Ne.ErrnoError(ve[e.code])}},unlink:function(e,r){var n=ye.join2(De.realPath(e),r);try{Pe.unlinkSync(n)}catch(e){if(!e.code)throw e;throw new Ne.ErrnoError(ve[e.code])}},rmdir:function(e,r){var n=ye.join2(De.realPath(e),r);try{Pe.rmdirSync(n)}catch(e){if(!e.code)throw e;throw new Ne.ErrnoError(ve[e.code])}},readdir:function(e){var r=De.realPath(e);try{return Pe.readdirSync(r)}catch(e){if(!e.code)throw e;throw new Ne.ErrnoError(ve[e.code])}},symlink:function(e,r,n){var t=ye.join2(De.realPath(e),r);try{Pe.symlinkSync(n,t)}catch(e){if(!e.code)throw e;throw new Ne.ErrnoError(ve[e.code])}},readlink:function(e){var r=De.realPath(e);try{return r=Pe.readlinkSync(r),r=Ie.relative(Ie.resolve(e.mount.opts.root),r)}catch(e){if(!e.code)throw e;throw new Ne.ErrnoError(ve[e.code])}}},stream_ops:{open:function(e){var r=De.realPath(e.node);try{Ne.isFile(e.node.mode)&&(e.nfd=Pe.openSync(r,De.flagsToPermissionString(e.flags)))}catch(e){if(!e.code)throw e;throw new Ne.ErrnoError(ve[e.code])}},close:function(e){try{Ne.isFile(e.node.mode)&&e.nfd&&Pe.closeSync(e.nfd)}catch(e){if(!e.code)throw e;throw new Ne.ErrnoError(ve[e.code])}},read:function(e,r,n,t,i){if(0===t)return 0;var o,a=new Buffer(t);try{o=Pe.readSync(e.nfd,a,0,t,i)}catch(e){throw new Ne.ErrnoError(ve[e.code])}if(o>0)for(var s=0;s<o;s++)r[n+s]=a[s];return o},write:function(e,r,n,t,i){var o,a=new Buffer(r.subarray(n,n+t));try{o=Pe.writeSync(e.nfd,a,0,t,i)}catch(e){throw new Ne.ErrnoError(ve[e.code])}return o},llseek:function(e,r,n){var t=r;if(1===n)t+=e.position;else if(2===n&&Ne.isFile(e.node.mode))try{t+=Pe.fstatSync(e.nfd).size}catch(e){throw new Ne.ErrnoError(ve[e.code])}if(t<0)throw new Ne.ErrnoError(ve.EINVAL);return t}}},Me={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(e){L(a),Me.reader||(Me.reader=new FileReaderSync);var r=Me.createNode(null,"/",Me.DIR_MODE,0),n={};function t(e){for(var t=e.split("/"),i=r,o=0;o<t.length-1;o++){var a=t.slice(0,o+1).join("/");n[a]||(n[a]=Me.createNode(i,a,Me.DIR_MODE,0)),i=n[a]}return i}function i(e){var r=e.split("/");return r[r.length-1]}return Array.prototype.forEach.call(e.opts.files||[],(function(e){Me.createNode(t(e.name),i(e.name),Me.FILE_MODE,0,e,e.lastModifiedDate)})),(e.opts.blobs||[]).forEach((function(e){Me.createNode(t(e.name),i(e.name),Me.FILE_MODE,0,e.data)})),(e.opts.packages||[]).forEach((function(e){e.metadata.files.forEach((function(r){var n=r.filename.substr(1);Me.createNode(t(n),i(n),Me.FILE_MODE,0,e.blob.slice(r.start,r.end))}))})),r},createNode:function(e,r,n,t,i,o){var a=Ne.createNode(e,r,n);return a.mode=n,a.node_ops=Me.node_ops,a.stream_ops=Me.stream_ops,a.timestamp=(o||new Date).getTime(),L(Me.FILE_MODE!==Me.DIR_MODE),n===Me.FILE_MODE?(a.size=i.size,a.contents=i):(a.size=4096,a.contents={}),e&&(e.contents[r]=a),a},node_ops:{getattr:function(e){return{dev:1,ino:void 0,mode:e.mode,nlink:1,uid:0,gid:0,rdev:void 0,size:e.size,atime:new Date(e.timestamp),mtime:new Date(e.timestamp),ctime:new Date(e.timestamp),blksize:4096,blocks:Math.ceil(e.size/4096)}},setattr:function(e,r){void 0!==r.mode&&(e.mode=r.mode),void 0!==r.timestamp&&(e.timestamp=r.timestamp)},lookup:function(e,r){throw new Ne.ErrnoError(ve.ENOENT)},mknod:function(e,r,n,t){throw new Ne.ErrnoError(ve.EPERM)},rename:function(e,r,n){throw new Ne.ErrnoError(ve.EPERM)},unlink:function(e,r){throw new Ne.ErrnoError(ve.EPERM)},rmdir:function(e,r){throw new Ne.ErrnoError(ve.EPERM)},readdir:function(e){throw new Ne.ErrnoError(ve.EPERM)},symlink:function(e,r,n){throw new Ne.ErrnoError(ve.EPERM)},readlink:function(e){throw new Ne.ErrnoError(ve.EPERM)}},stream_ops:{read:function(e,r,n,t,i){if(i>=e.node.size)return 0;var o=e.node.contents.slice(i,i+t),a=Me.reader.readAsArrayBuffer(o);return r.set(new Uint8Array(a),n),o.size},write:function(e,r,n,t,i){throw new Ne.ErrnoError(ve.EIO)},llseek:function(e,r,n){var t=r;if(1===n?t+=e.position:2===n&&Ne.isFile(e.node.mode)&&(t+=e.node.size),t<0)throw new Ne.ErrnoError(ve.EINVAL);return t}}},Ne=(F(1,"i32*",2),F(1,"i32*",2),F(1,"i32*",2),{root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,handleFSError:function(e){if(!(e instanceof Ne.ErrnoError))throw e+" : "+x();return be(e.errno)},lookupPath:function(e,r){if(r=r||{},!(e=ye.resolve(Ne.cwd(),e)))return{path:"",node:null};var n={follow_mount:!0,recurse_count:0};for(var t in n)void 0===r[t]&&(r[t]=n[t]);if(r.recurse_count>8)throw new Ne.ErrnoError(ve.ELOOP);for(var i=ye.normalizeArray(e.split("/").filter((function(e){return!!e})),!1),o=Ne.root,a="/",s=0;s<i.length;s++){var f=s===i.length-1;if(f&&r.parent)break;if(o=Ne.lookupNode(o,i[s]),a=ye.join2(a,i[s]),Ne.isMountpoint(o)&&(!f||f&&r.follow_mount)&&(o=o.mounted.root),!f||r.follow)for(var l=0;Ne.isLink(o.mode);){var u=Ne.readlink(a);if(a=ye.resolve(ye.dirname(a),u),o=Ne.lookupPath(a,{recurse_count:r.recurse_count}).node,l++>40)throw new Ne.ErrnoError(ve.ELOOP)}}return{path:a,node:o}},getPath:function(e){for(var r;;){if(Ne.isRoot(e)){var n=e.mount.mountpoint;return r?"/"!==n[n.length-1]?n+"/"+r:n+r:n}r=r?e.name+"/"+r:e.name,e=e.parent}},hashName:function(e,r){for(var n=0,t=0;t<r.length;t++)n=(n<<5)-n+r.charCodeAt(t)|0;return(e+n>>>0)%Ne.nameTable.length},hashAddNode:function(e){var r=Ne.hashName(e.parent.id,e.name);e.name_next=Ne.nameTable[r],Ne.nameTable[r]=e},hashRemoveNode:function(e){var r=Ne.hashName(e.parent.id,e.name);if(Ne.nameTable[r]===e)Ne.nameTable[r]=e.name_next;else for(var n=Ne.nameTable[r];n;){if(n.name_next===e){n.name_next=e.name_next;break}n=n.name_next}},lookupNode:function(e,r){var n=Ne.mayLookup(e);if(n)throw new Ne.ErrnoError(n,e);for(var t=Ne.hashName(e.id,r),i=Ne.nameTable[t];i;i=i.name_next){var o=i.name;if(i.parent.id===e.id&&o===r)return i}return Ne.lookup(e,r)},createNode:function(e,r,n,t){if(!Ne.FSNode){Ne.FSNode=function(e,r,n,t){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=Ne.nextInode++,this.name=r,this.mode=n,this.node_ops={},this.stream_ops={},this.rdev=t},Ne.FSNode.prototype={};Object.defineProperties(Ne.FSNode.prototype,{read:{get:function(){return!(365&~this.mode)},set:function(e){e?this.mode|=365:this.mode&=-366}},write:{get:function(){return!(146&~this.mode)},set:function(e){e?this.mode|=146:this.mode&=-147}},isFolder:{get:function(){return Ne.isDir(this.mode)}},isDevice:{get:function(){return Ne.isChrdev(this.mode)}}})}var i=new Ne.FSNode(e,r,n,t);return Ne.hashAddNode(i),i},destroyNode:function(e){Ne.hashRemoveNode(e)},isRoot:function(e){return e===e.parent},isMountpoint:function(e){return!!e.mounted},isFile:function(e){return 32768==(61440&e)},isDir:function(e){return 16384==(61440&e)},isLink:function(e){return 40960==(61440&e)},isChrdev:function(e){return 8192==(61440&e)},isBlkdev:function(e){return 24576==(61440&e)},isFIFO:function(e){return 4096==(61440&e)},isSocket:function(e){return!(49152&~e)},flagModes:{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},modeStringToFlags:function(e){var r=Ne.flagModes[e];if(void 0===r)throw new Error("Unknown file open mode: "+e);return r},flagsToPermissionString:function(e){var r=["r","w","rw"][3&e];return 512&e&&(r+="w"),r},nodePermissions:function(e,r){return Ne.ignorePermissions||(-1===r.indexOf("r")||292&e.mode)&&(-1===r.indexOf("w")||146&e.mode)&&(-1===r.indexOf("x")||73&e.mode)?0:ve.EACCES},mayLookup:function(e){return Ne.nodePermissions(e,"x")||(e.node_ops.lookup?0:ve.EACCES)},mayCreate:function(e,r){try{return Ne.lookupNode(e,r),ve.EEXIST}catch(e){}return Ne.nodePermissions(e,"wx")},mayDelete:function(e,r,n){var t;try{t=Ne.lookupNode(e,r)}catch(e){return e.errno}var i=Ne.nodePermissions(e,"wx");if(i)return i;if(n){if(!Ne.isDir(t.mode))return ve.ENOTDIR;if(Ne.isRoot(t)||Ne.getPath(t)===Ne.cwd())return ve.EBUSY}else if(Ne.isDir(t.mode))return ve.EISDIR;return 0},mayOpen:function(e,r){return e?Ne.isLink(e.mode)?ve.ELOOP:Ne.isDir(e.mode)&&(2097155&r||512&r)?ve.EISDIR:Ne.nodePermissions(e,Ne.flagsToPermissionString(r)):ve.ENOENT},MAX_OPEN_FDS:4096,nextfd:function(e,r){e=e||0,r=r||Ne.MAX_OPEN_FDS;for(var n=e;n<=r;n++)if(!Ne.streams[n])return n;throw new Ne.ErrnoError(ve.EMFILE)},getStream:function(e){return Ne.streams[e]},createStream:function(e,r,n){Ne.FSStream||(Ne.FSStream=function(){},Ne.FSStream.prototype={},Object.defineProperties(Ne.FSStream.prototype,{object:{get:function(){return this.node},set:function(e){this.node=e}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return!!(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}}}));var t=new Ne.FSStream;for(var i in e)t[i]=e[i];e=t;var o=Ne.nextfd(r,n);return e.fd=o,Ne.streams[o]=e,e},closeStream:function(e){Ne.streams[e]=null},chrdev_stream_ops:{open:function(e){var r=Ne.getDevice(e.node.rdev);e.stream_ops=r.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:function(){throw new Ne.ErrnoError(ve.ESPIPE)}},major:function(e){return e>>8},minor:function(e){return 255&e},makedev:function(e,r){return e<<8|r},registerDevice:function(e,r){Ne.devices[e]={stream_ops:r}},getDevice:function(e){return Ne.devices[e]},getMounts:function(e){for(var r=[],n=[e];n.length;){var t=n.pop();r.push(t),n.push.apply(n,t.mounts)}return r},syncfs:function(e,r){"function"==typeof e&&(r=e,e=!1);var n=Ne.getMounts(Ne.root.mount),t=0;function i(e){if(e)return i.errored?void 0:(i.errored=!0,r(e));++t>=n.length&&r(null)}n.forEach((function(r){if(!r.type.syncfs)return i(null);r.type.syncfs(r,e,i)}))},mount:function(e,r,n){var t,i="/"===n,o=!n;if(i&&Ne.root)throw new Ne.ErrnoError(ve.EBUSY);if(!i&&!o){var a=Ne.lookupPath(n,{follow_mount:!1});if(n=a.path,t=a.node,Ne.isMountpoint(t))throw new Ne.ErrnoError(ve.EBUSY);if(!Ne.isDir(t.mode))throw new Ne.ErrnoError(ve.ENOTDIR)}var s={type:e,opts:r,mountpoint:n,mounts:[]},f=e.mount(s);return f.mount=s,s.root=f,i?Ne.root=f:t&&(t.mounted=s,t.mount&&t.mount.mounts.push(s)),f},unmount:function(e){var r=Ne.lookupPath(e,{follow_mount:!1});if(!Ne.isMountpoint(r.node))throw new Ne.ErrnoError(ve.EINVAL);var n=r.node,t=n.mounted,i=Ne.getMounts(t);Object.keys(Ne.nameTable).forEach((function(e){for(var r=Ne.nameTable[e];r;){var n=r.name_next;-1!==i.indexOf(r.mount)&&Ne.destroyNode(r),r=n}})),n.mounted=null;var o=n.mount.mounts.indexOf(t);L(-1!==o),n.mount.mounts.splice(o,1)},lookup:function(e,r){return e.node_ops.lookup(e,r)},mknod:function(e,r,n){var t=Ne.lookupPath(e,{parent:!0}).node,i=ye.basename(e);if(!i||"."===i||".."===i)throw new Ne.ErrnoError(ve.EINVAL);var o=Ne.mayCreate(t,i);if(o)throw new Ne.ErrnoError(o);if(!t.node_ops.mknod)throw new Ne.ErrnoError(ve.EPERM);return t.node_ops.mknod(t,i,r,n)},create:function(e,r){return r=void 0!==r?r:438,r&=4095,r|=32768,Ne.mknod(e,r,0)},mkdir:function(e,r){return r=void 0!==r?r:511,r&=1023,r|=16384,Ne.mknod(e,r,0)},mkdev:function(e,r,n){return void 0===n&&(n=r,r=438),r|=8192,Ne.mknod(e,r,n)},symlink:function(e,r){if(!ye.resolve(e))throw new Ne.ErrnoError(ve.ENOENT);var n=Ne.lookupPath(r,{parent:!0}).node;if(!n)throw new Ne.ErrnoError(ve.ENOENT);var t=ye.basename(r),i=Ne.mayCreate(n,t);if(i)throw new Ne.ErrnoError(i);if(!n.node_ops.symlink)throw new Ne.ErrnoError(ve.EPERM);return n.node_ops.symlink(n,t,e)},rename:function(e,r){var n,t,i=ye.dirname(e),o=ye.dirname(r),a=ye.basename(e),s=ye.basename(r);try{n=Ne.lookupPath(e,{parent:!0}).node,t=Ne.lookupPath(r,{parent:!0}).node}catch(e){throw new Ne.ErrnoError(ve.EBUSY)}if(!n||!t)throw new Ne.ErrnoError(ve.ENOENT);if(n.mount!==t.mount)throw new Ne.ErrnoError(ve.EXDEV);var f,l=Ne.lookupNode(n,a),u=ye.relative(e,o);if("."!==u.charAt(0))throw new Ne.ErrnoError(ve.EINVAL);if("."!==(u=ye.relative(r,i)).charAt(0))throw new Ne.ErrnoError(ve.ENOTEMPTY);try{f=Ne.lookupNode(t,s)}catch(e){}if(l!==f){var c=Ne.isDir(l.mode),d=Ne.mayDelete(n,a,c);if(d)throw new Ne.ErrnoError(d);if(d=f?Ne.mayDelete(t,s,c):Ne.mayCreate(t,s))throw new Ne.ErrnoError(d);if(!n.node_ops.rename)throw new Ne.ErrnoError(ve.EPERM);if(Ne.isMountpoint(l)||f&&Ne.isMountpoint(f))throw new Ne.ErrnoError(ve.EBUSY);if(t!==n&&(d=Ne.nodePermissions(n,"w")))throw new Ne.ErrnoError(d);try{Ne.trackingDelegate.willMovePath&&Ne.trackingDelegate.willMovePath(e,r)}catch(n){console.log("FS.trackingDelegate['willMovePath']('"+e+"', '"+r+"') threw an exception: "+n.message)}Ne.hashRemoveNode(l);try{n.node_ops.rename(l,t,s)}catch(e){throw e}finally{Ne.hashAddNode(l)}try{Ne.trackingDelegate.onMovePath&&Ne.trackingDelegate.onMovePath(e,r)}catch(n){console.log("FS.trackingDelegate['onMovePath']('"+e+"', '"+r+"') threw an exception: "+n.message)}}},rmdir:function(e){var r=Ne.lookupPath(e,{parent:!0}).node,n=ye.basename(e),t=Ne.lookupNode(r,n),i=Ne.mayDelete(r,n,!0);if(i)throw new Ne.ErrnoError(i);if(!r.node_ops.rmdir)throw new Ne.ErrnoError(ve.EPERM);if(Ne.isMountpoint(t))throw new Ne.ErrnoError(ve.EBUSY);try{Ne.trackingDelegate.willDeletePath&&Ne.trackingDelegate.willDeletePath(e)}catch(r){console.log("FS.trackingDelegate['willDeletePath']('"+e+"') threw an exception: "+r.message)}r.node_ops.rmdir(r,n),Ne.destroyNode(t);try{Ne.trackingDelegate.onDeletePath&&Ne.trackingDelegate.onDeletePath(e)}catch(r){console.log("FS.trackingDelegate['onDeletePath']('"+e+"') threw an exception: "+r.message)}},readdir:function(e){var r=Ne.lookupPath(e,{follow:!0}).node;if(!r.node_ops.readdir)throw new Ne.ErrnoError(ve.ENOTDIR);return r.node_ops.readdir(r)},unlink:function(e){var r=Ne.lookupPath(e,{parent:!0}).node,n=ye.basename(e),t=Ne.lookupNode(r,n),i=Ne.mayDelete(r,n,!1);if(i)throw i===ve.EISDIR&&(i=ve.EPERM),new Ne.ErrnoError(i);if(!r.node_ops.unlink)throw new Ne.ErrnoError(ve.EPERM);if(Ne.isMountpoint(t))throw new Ne.ErrnoError(ve.EBUSY);try{Ne.trackingDelegate.willDeletePath&&Ne.trackingDelegate.willDeletePath(e)}catch(r){console.log("FS.trackingDelegate['willDeletePath']('"+e+"') threw an exception: "+r.message)}r.node_ops.unlink(r,n),Ne.destroyNode(t);try{Ne.trackingDelegate.onDeletePath&&Ne.trackingDelegate.onDeletePath(e)}catch(r){console.log("FS.trackingDelegate['onDeletePath']('"+e+"') threw an exception: "+r.message)}},readlink:function(e){var r=Ne.lookupPath(e).node;if(!r)throw new Ne.ErrnoError(ve.ENOENT);if(!r.node_ops.readlink)throw new Ne.ErrnoError(ve.EINVAL);return ye.resolve(Ne.getPath(r.parent),r.node_ops.readlink(r))},stat:function(e,r){var n=Ne.lookupPath(e,{follow:!r}).node;if(!n)throw new Ne.ErrnoError(ve.ENOENT);if(!n.node_ops.getattr)throw new Ne.ErrnoError(ve.EPERM);return n.node_ops.getattr(n)},lstat:function(e){return Ne.stat(e,!0)},chmod:function(e,r,n){var t;if(!(t="string"==typeof e?Ne.lookupPath(e,{follow:!n}).node:e).node_ops.setattr)throw new Ne.ErrnoError(ve.EPERM);t.node_ops.setattr(t,{mode:4095&r|-4096&t.mode,timestamp:Date.now()})},lchmod:function(e,r){Ne.chmod(e,r,!0)},fchmod:function(e,r){var n=Ne.getStream(e);if(!n)throw new Ne.ErrnoError(ve.EBADF);Ne.chmod(n.node,r)},chown:function(e,r,n,t){var i;if(!(i="string"==typeof e?Ne.lookupPath(e,{follow:!t}).node:e).node_ops.setattr)throw new Ne.ErrnoError(ve.EPERM);i.node_ops.setattr(i,{timestamp:Date.now()})},lchown:function(e,r,n){Ne.chown(e,r,n,!0)},fchown:function(e,r,n){var t=Ne.getStream(e);if(!t)throw new Ne.ErrnoError(ve.EBADF);Ne.chown(t.node,r,n)},truncate:function(e,r){if(r<0)throw new Ne.ErrnoError(ve.EINVAL);var n;if(!(n="string"==typeof e?Ne.lookupPath(e,{follow:!0}).node:e).node_ops.setattr)throw new Ne.ErrnoError(ve.EPERM);if(Ne.isDir(n.mode))throw new Ne.ErrnoError(ve.EISDIR);if(!Ne.isFile(n.mode))throw new Ne.ErrnoError(ve.EINVAL);var t=Ne.nodePermissions(n,"w");if(t)throw new Ne.ErrnoError(t);n.node_ops.setattr(n,{size:r,timestamp:Date.now()})},ftruncate:function(e,r){var n=Ne.getStream(e);if(!n)throw new Ne.ErrnoError(ve.EBADF);if(!(2097155&n.flags))throw new Ne.ErrnoError(ve.EINVAL);Ne.truncate(n.node,r)},utime:function(e,r,n){var t=Ne.lookupPath(e,{follow:!0}).node;t.node_ops.setattr(t,{timestamp:Math.max(r,n)})},open:function(e,r,t,i,o){if(""===e)throw new Ne.ErrnoError(ve.ENOENT);var a;if(t=void 0===t?438:t,t=64&(r="string"==typeof r?Ne.modeStringToFlags(r):r)?4095&t|32768:0,"object"==typeof e)a=e;else{e=ye.normalize(e);try{a=Ne.lookupPath(e,{follow:!(131072&r)}).node}catch(e){}}var s=!1;if(64&r)if(a){if(128&r)throw new Ne.ErrnoError(ve.EEXIST)}else a=Ne.mknod(e,t,0),s=!0;if(!a)throw new Ne.ErrnoError(ve.ENOENT);if(Ne.isChrdev(a.mode)&&(r&=-513),65536&r&&!Ne.isDir(a.mode))throw new Ne.ErrnoError(ve.ENOTDIR);if(!s){var f=Ne.mayOpen(a,r);if(f)throw new Ne.ErrnoError(f)}512&r&&Ne.truncate(a,0),r&=-641;var l=Ne.createStream({node:a,path:Ne.getPath(a),flags:r,seekable:!0,position:0,stream_ops:a.stream_ops,ungotten:[],error:!1},i,o);l.stream_ops.open&&l.stream_ops.open(l),!n.logReadFiles||1&r||(Ne.readFiles||(Ne.readFiles={}),e in Ne.readFiles||(Ne.readFiles[e]=1,n.printErr("read file: "+e)));try{if(Ne.trackingDelegate.onOpenFile){var u=0;1!=(2097155&r)&&(u|=Ne.tracking.openFlags.READ),2097155&r&&(u|=Ne.tracking.openFlags.WRITE),Ne.trackingDelegate.onOpenFile(e,u)}}catch(r){console.log("FS.trackingDelegate['onOpenFile']('"+e+"', flags) threw an exception: "+r.message)}return l},close:function(e){e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{Ne.closeStream(e.fd)}},llseek:function(e,r,n){if(!e.seekable||!e.stream_ops.llseek)throw new Ne.ErrnoError(ve.ESPIPE);return e.position=e.stream_ops.llseek(e,r,n),e.ungotten=[],e.position},read:function(e,r,n,t,i){if(t<0||i<0)throw new Ne.ErrnoError(ve.EINVAL);if(1==(2097155&e.flags))throw new Ne.ErrnoError(ve.EBADF);if(Ne.isDir(e.node.mode))throw new Ne.ErrnoError(ve.EISDIR);if(!e.stream_ops.read)throw new Ne.ErrnoError(ve.EINVAL);var o=!0;if(void 0===i)i=e.position,o=!1;else if(!e.seekable)throw new Ne.ErrnoError(ve.ESPIPE);var a=e.stream_ops.read(e,r,n,t,i);return o||(e.position+=a),a},write:function(e,r,n,t,i,o){if(t<0||i<0)throw new Ne.ErrnoError(ve.EINVAL);if(!(2097155&e.flags))throw new Ne.ErrnoError(ve.EBADF);if(Ne.isDir(e.node.mode))throw new Ne.ErrnoError(ve.EISDIR);if(!e.stream_ops.write)throw new Ne.ErrnoError(ve.EINVAL);1024&e.flags&&Ne.llseek(e,0,2);var a=!0;if(void 0===i)i=e.position,a=!1;else if(!e.seekable)throw new Ne.ErrnoError(ve.ESPIPE);var s=e.stream_ops.write(e,r,n,t,i,o);a||(e.position+=s);try{e.path&&Ne.trackingDelegate.onWriteToFile&&Ne.trackingDelegate.onWriteToFile(e.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return s},allocate:function(e,r,n){if(r<0||n<=0)throw new Ne.ErrnoError(ve.EINVAL);if(!(2097155&e.flags))throw new Ne.ErrnoError(ve.EBADF);if(!Ne.isFile(e.node.mode)&&!Ne.isDir(node.mode))throw new Ne.ErrnoError(ve.ENODEV);if(!e.stream_ops.allocate)throw new Ne.ErrnoError(ve.EOPNOTSUPP);e.stream_ops.allocate(e,r,n)},mmap:function(e,r,n,t,i,o,a){if(1==(2097155&e.flags))throw new Ne.ErrnoError(ve.EACCES);if(!e.stream_ops.mmap)throw new Ne.ErrnoError(ve.ENODEV);return e.stream_ops.mmap(e,r,n,t,i,o,a)},msync:function(e,r,n,t,i){return e&&e.stream_ops.msync?e.stream_ops.msync(e,r,n,t,i):0},munmap:function(e){return 0},ioctl:function(e,r,n){if(!e.stream_ops.ioctl)throw new Ne.ErrnoError(ve.ENOTTY);return e.stream_ops.ioctl(e,r,n)},readFile:function(e,r){if((r=r||{}).flags=r.flags||"r",r.encoding=r.encoding||"binary","utf8"!==r.encoding&&"binary"!==r.encoding)throw new Error('Invalid encoding type "'+r.encoding+'"');var n,t=Ne.open(e,r.flags),i=Ne.stat(e).size,o=new Uint8Array(i);return Ne.read(t,o,0,i,0),"utf8"===r.encoding?n=P(o,0):"binary"===r.encoding&&(n=o),Ne.close(t),n},writeFile:function(e,r,n){if((n=n||{}).flags=n.flags||"w",n.encoding=n.encoding||"utf8","utf8"!==n.encoding&&"binary"!==n.encoding)throw new Error('Invalid encoding type "'+n.encoding+'"');var t=Ne.open(e,n.flags,n.mode);if("utf8"===n.encoding){var i=new Uint8Array(C(r)+1),o=I(r,i,0,i.length);Ne.write(t,i,0,o,0,n.canOwn)}else"binary"===n.encoding&&Ne.write(t,r,0,r.length,0,n.canOwn);Ne.close(t)},cwd:function(){return Ne.currentPath},chdir:function(e){var r=Ne.lookupPath(e,{follow:!0});if(!Ne.isDir(r.node.mode))throw new Ne.ErrnoError(ve.ENOTDIR);var n=Ne.nodePermissions(r.node,"x");if(n)throw new Ne.ErrnoError(n);Ne.currentPath=r.path},createDefaultDirectories:function(){Ne.mkdir("/tmp"),Ne.mkdir("/home"),Ne.mkdir("/home/web_user")},createDefaultDevices:function(){var e;if(Ne.mkdir("/dev"),Ne.registerDevice(Ne.makedev(1,3),{read:function(){return 0},write:function(e,r,n,t,i){return t}}),Ne.mkdev("/dev/null",Ne.makedev(1,3)),_e.register(Ne.makedev(5,0),_e.default_tty_ops),_e.register(Ne.makedev(6,0),_e.default_tty1_ops),Ne.mkdev("/dev/tty",Ne.makedev(5,0)),Ne.mkdev("/dev/tty1",Ne.makedev(6,0)),"undefined"!=typeof crypto){var r=new Uint8Array(1);e=function(){return crypto.getRandomValues(r),r[0]}}else e=s?function(){return require("crypto").randomBytes(1)[0]}:function(){return 256*Math.random()|0};Ne.createDevice("/dev","random",e),Ne.createDevice("/dev","urandom",e),Ne.mkdir("/dev/shm"),Ne.mkdir("/dev/shm/tmp")},createSpecialDirectories:function(){Ne.mkdir("/proc"),Ne.mkdir("/proc/self"),Ne.mkdir("/proc/self/fd"),Ne.mount({mount:function(){var e=Ne.createNode("/proc/self","fd",16895,73);return e.node_ops={lookup:function(e,r){var n=+r,t=Ne.getStream(n);if(!t)throw new Ne.ErrnoError(ve.EBADF);var i={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:function(){return t.path}}};return i.parent=i,i}},e}},{},"/proc/self/fd")},createStandardStreams:function(){n.stdin?Ne.createDevice("/dev","stdin",n.stdin):Ne.symlink("/dev/tty","/dev/stdin"),n.stdout?Ne.createDevice("/dev","stdout",null,n.stdout):Ne.symlink("/dev/tty","/dev/stdout"),n.stderr?Ne.createDevice("/dev","stderr",null,n.stderr):Ne.symlink("/dev/tty1","/dev/stderr");var e=Ne.open("/dev/stdin","r");L(0===e.fd,"invalid handle for stdin ("+e.fd+")");var r=Ne.open("/dev/stdout","w");L(1===r.fd,"invalid handle for stdout ("+r.fd+")");var t=Ne.open("/dev/stderr","w");L(2===t.fd,"invalid handle for stderr ("+t.fd+")")},ensureErrnoError:function(){Ne.ErrnoError||(Ne.ErrnoError=function(e,r){this.node=r,this.setErrno=function(e){for(var r in this.errno=e,ve)if(ve[r]===e){this.code=r;break}},this.setErrno(e),this.message=ge[e]},Ne.ErrnoError.prototype=new Error,Ne.ErrnoError.prototype.constructor=Ne.ErrnoError,[ve.ENOENT].forEach((function(e){Ne.genericErrors[e]=new Ne.ErrnoError(e),Ne.genericErrors[e].stack="<generic error, no stack>"})))},staticInit:function(){Ne.ensureErrnoError(),Ne.nameTable=new Array(4096),Ne.mount(Se,{},"/"),Ne.createDefaultDirectories(),Ne.createDefaultDevices(),Ne.createSpecialDirectories(),Ne.filesystems={MEMFS:Se,IDBFS:Ae,NODEFS:De,WORKERFS:Me}},init:function(e,r,t){L(!Ne.init.initialized,"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)"),Ne.init.initialized=!0,Ne.ensureErrnoError(),n.stdin=e||n.stdin,n.stdout=r||n.stdout,n.stderr=t||n.stderr,Ne.createStandardStreams()},quit:function(){Ne.init.initialized=!1;var e=n._fflush;e&&e(0);for(var r=0;r<Ne.streams.length;r++){var t=Ne.streams[r];t&&Ne.close(t)}},getMode:function(e,r){var n=0;return e&&(n|=365),r&&(n|=146),n},joinPath:function(e,r){var n=ye.join.apply(null,e);return r&&"/"==n[0]&&(n=n.substr(1)),n},absolutePath:function(e,r){return ye.resolve(r,e)},standardizePath:function(e){return ye.normalize(e)},findObject:function(e,r){var n=Ne.analyzePath(e,r);return n.exists?n.object:(be(n.error),null)},analyzePath:function(e,r){try{e=(t=Ne.lookupPath(e,{follow:!r})).path}catch(e){}var n={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var t=Ne.lookupPath(e,{parent:!0});n.parentExists=!0,n.parentPath=t.path,n.parentObject=t.node,n.name=ye.basename(e),t=Ne.lookupPath(e,{follow:!r}),n.exists=!0,n.path=t.path,n.object=t.node,n.name=t.node.name,n.isRoot="/"===t.path}catch(e){n.error=e.errno}return n},createFolder:function(e,r,n,t){var i=ye.join2("string"==typeof e?e:Ne.getPath(e),r),o=Ne.getMode(n,t);return Ne.mkdir(i,o)},createPath:function(e,r,n,t){e="string"==typeof e?e:Ne.getPath(e);for(var i=r.split("/").reverse();i.length;){var o=i.pop();if(o){var a=ye.join2(e,o);try{Ne.mkdir(a)}catch(e){}e=a}}return a},createFile:function(e,r,n,t,i){var o=ye.join2("string"==typeof e?e:Ne.getPath(e),r),a=Ne.getMode(t,i);return Ne.create(o,a)},createDataFile:function(e,r,n,t,i,o){var a=r?ye.join2("string"==typeof e?e:Ne.getPath(e),r):e,s=Ne.getMode(t,i),f=Ne.create(a,s);if(n){if("string"==typeof n){for(var l=new Array(n.length),u=0,c=n.length;u<c;++u)l[u]=n.charCodeAt(u);n=l}Ne.chmod(f,146|s);var d=Ne.open(f,"w");Ne.write(d,n,0,n.length,0,o),Ne.close(d),Ne.chmod(f,s)}return f},createDevice:function(e,r,n,t){var i=ye.join2("string"==typeof e?e:Ne.getPath(e),r),o=Ne.getMode(!!n,!!t);Ne.createDevice.major||(Ne.createDevice.major=64);var a=Ne.makedev(Ne.createDevice.major++,0);return Ne.registerDevice(a,{open:function(e){e.seekable=!1},close:function(e){t&&t.buffer&&t.buffer.length&&t(10)},read:function(e,r,t,i,o){for(var a=0,s=0;s<i;s++){var f;try{f=n()}catch(e){throw new Ne.ErrnoError(ve.EIO)}if(void 0===f&&0===a)throw new Ne.ErrnoError(ve.EAGAIN);if(null==f)break;a++,r[t+s]=f}return a&&(e.node.timestamp=Date.now()),a},write:function(e,r,n,i,o){for(var a=0;a<i;a++)try{t(r[n+a])}catch(e){throw new Ne.ErrnoError(ve.EIO)}return i&&(e.node.timestamp=Date.now()),a}}),Ne.mkdev(i,o,a)},createLink:function(e,r,n,t,i){var o=ye.join2("string"==typeof e?e:Ne.getPath(e),r);return Ne.symlink(n,o)},forceLoadFile:function(e){if(e.isDevice||e.isFolder||e.link||e.contents)return!0;var r=!0;if("undefined"!=typeof XMLHttpRequest)throw new 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(!n.read)throw new Error("Cannot load without read() or XMLHttpRequest.");try{e.contents=ie(n.read(e.url),!0),e.usedBytes=e.contents.length}catch(e){r=!1}return r||be(ve.EIO),r},createLazyFile:function(e,r,n,t,i){function o(){this.lengthKnown=!1,this.chunks=[]}if(o.prototype.get=function(e){if(!(e>this.length-1||e<0)){var r=e%this.chunkSize,n=e/this.chunkSize|0;return this.getter(n)[r]}},o.prototype.setDataGetter=function(e){this.getter=e},o.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",n,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+n+". Status: "+e.status);var r,t=Number(e.getResponseHeader("Content-length")),i=(r=e.getResponseHeader("Accept-Ranges"))&&"bytes"===r,o=1048576;i||(o=t);var a=this;a.setDataGetter((function(e){var r=e*o,i=(e+1)*o-1;if(i=Math.min(i,t-1),void 0===a.chunks[e]&&(a.chunks[e]=function(e,r){if(e>r)throw new Error("invalid range ("+e+", "+r+") or no bytes requested!");if(r>t-1)throw new Error("only "+t+" bytes available! programmer error!");var i=new XMLHttpRequest;if(i.open("GET",n,!1),t!==o&&i.setRequestHeader("Range","bytes="+e+"-"+r),"undefined"!=typeof Uint8Array&&(i.responseType="arraybuffer"),i.overrideMimeType&&i.overrideMimeType("text/plain; charset=x-user-defined"),i.send(null),!(i.status>=200&&i.status<300||304===i.status))throw new Error("Couldn't load "+n+". Status: "+i.status);return void 0!==i.response?new Uint8Array(i.response||[]):ie(i.responseText||"",!0)}(r,i)),void 0===a.chunks[e])throw new Error("doXHR failed!");return a.chunks[e]})),this._length=t,this._chunkSize=o,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!a)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var s=new o;Object.defineProperty(s,"length",{get:function(){return this.lengthKnown||this.cacheLength(),this._length}}),Object.defineProperty(s,"chunkSize",{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}});var f={isDevice:!1,contents:s}}else f={isDevice:!1,url:n};var l=Ne.createFile(e,r,f,t,i);f.contents?l.contents=f.contents:f.url&&(l.contents=null,l.url=f.url),Object.defineProperty(l,"usedBytes",{get:function(){return this.contents.length}});var u={};return Object.keys(l.stream_ops).forEach((function(e){var r=l.stream_ops[e];u[e]=function(){if(!Ne.forceLoadFile(l))throw new Ne.ErrnoError(ve.EIO);return r.apply(null,arguments)}})),u.read=function(e,r,n,t,i){if(!Ne.forceLoadFile(l))throw new Ne.ErrnoError(ve.EIO);var o=e.node.contents;if(i>=o.length)return 0;var a=Math.min(o.length-i,t);if(L(a>=0),o.slice)for(var s=0;s<a;s++)r[n+s]=o[i+s];else for(s=0;s<a;s++)r[n+s]=o.get(i+s);return a},l.stream_ops=u,l},createPreloadedFile:function(e,r,t,i,o,a,s,f,l,u){Re.init();var c=r?ye.resolve(ye.join2(e,r)):e;function d(t){function d(n){u&&u(),f||Ne.createDataFile(e,r,n,i,o,l),a&&a(),we()}var h=!1;n.preloadPlugins.forEach((function(e){h||e.canHandle(c)&&(e.handle(t,c,d,(function(){s&&s(),we()})),h=!0)})),h||d(t)}pe(),"string"==typeof t?Re.asyncLoad(t,(function(e){d(e)}),s):d(t)},indexedDB:function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB},DB_NAME:function(){return"EM_FS_"+window.location.pathname},DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function(e,r,n){r=r||function(){},n=n||function(){};var t=Ne.indexedDB();try{var i=t.open(Ne.DB_NAME(),Ne.DB_VERSION)}catch(e){return n(e)}i.onupgradeneeded=function(){console.log("creating db"),i.result.createObjectStore(Ne.DB_STORE_NAME)},i.onsuccess=function(){var t=i.result.transaction([Ne.DB_STORE_NAME],"readwrite"),o=t.objectStore(Ne.DB_STORE_NAME),a=0,s=0,f=e.length;function l(){0==s?r():n()}e.forEach((function(e){var r=o.put(Ne.analyzePath(e).object.contents,e);r.onsuccess=function(){++a+s==f&&l()},r.onerror=function(){s++,a+s==f&&l()}})),t.onerror=n},i.onerror=n},loadFilesFromDB:function(e,r,n){r=r||function(){},n=n||function(){};var t=Ne.indexedDB();try{var i=t.open(Ne.DB_NAME(),Ne.DB_VERSION)}catch(e){return n(e)}i.onupgradeneeded=n,i.onsuccess=function(){var t=i.result;try{var o=t.transaction([Ne.DB_STORE_NAME],"readonly")}catch(e){return void n(e)}var a=o.objectStore(Ne.DB_STORE_NAME),s=0,f=0,l=e.length;function u(){0==f?r():n()}e.forEach((function(e){var r=a.get(e);r.onsuccess=function(){Ne.analyzePath(e).exists&&Ne.unlink(e),Ne.createDataFile(ye.dirname(e),ye.basename(e),r.result,!0,!0,!0),++s+f==l&&u()},r.onerror=function(){f++,s+f==l&&u()}})),o.onerror=n},i.onerror=n}}),Le={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:function(e,r){if("/"!==r[0]){var n;if(-100===e)n=Ne.cwd();else{var t=Ne.getStream(e);if(!t)throw new Ne.ErrnoError(ve.EBADF);n=t.path}r=ye.join2(n,r)}return r},doStat:function(e,r,n){try{var t=e(r)}catch(e){if(e&&e.node&&ye.normalize(r)!==ye.normalize(Ne.getPath(e.node)))return-ve.ENOTDIR;throw e}return S[n>>2]=t.dev,S[n+4>>2]=0,S[n+8>>2]=t.ino,S[n+12>>2]=t.mode,S[n+16>>2]=t.nlink,S[n+20>>2]=t.uid,S[n+24>>2]=t.gid,S[n+28>>2]=t.rdev,S[n+32>>2]=0,S[n+36>>2]=t.size,S[n+40>>2]=4096,S[n+44>>2]=t.blocks,S[n+48>>2]=t.atime.getTime()/1e3|0,S[n+52>>2]=0,S[n+56>>2]=t.mtime.getTime()/1e3|0,S[n+60>>2]=0,S[n+64>>2]=t.ctime.getTime()/1e3|0,S[n+68>>2]=0,S[n+72>>2]=t.ino,0},doMsync:function(e,r,n,t){var i=new Uint8Array(g.subarray(e,e+n));Ne.msync(r,i,0,n,t)},doMkdir:function(e,r){return"/"===(e=ye.normalize(e))[e.length-1]&&(e=e.substr(0,e.length-1)),Ne.mkdir(e,r,0),0},doMknod:function(e,r,n){switch(61440&r){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ve.EINVAL}return Ne.mknod(e,r,n),0},doReadlink:function(e,r,n){if(n<=0)return-ve.EINVAL;var t=Ne.readlink(e);return oe(t=t.slice(0,Math.max(0,n)),r,!0),t.length},doAccess:function(e,r){if(-8&r)return-ve.EINVAL;var n;n=Ne.lookupPath(e,{follow:!0}).node;var t="";return 4&r&&(t+="r"),2&r&&(t+="w"),1&r&&(t+="x"),t&&Ne.nodePermissions(n,t)?-ve.EACCES:0},doDup:function(e,r,n){var t=Ne.getStream(n);return t&&Ne.close(t),Ne.open(e,r,0,n,n).fd},doReadv:function(e,r,n,t){for(var i=0,o=0;o<n;o++){var a=S[r+8*o>>2],s=S[r+(8*o+4)>>2],f=Ne.read(e,E,a,s,t);if(f<0)return-1;if(i+=f,f<s)break}return i},doWritev:function(e,r,n,t){for(var i=0,o=0;o<n;o++){var a=S[r+8*o>>2],s=S[r+(8*o+4)>>2],f=Ne.write(e,E,a,s,t);if(f<0)return-1;i+=f}return i},varargs:0,get:function(e){return Le.varargs+=4,S[Le.varargs-4>>2]},getStr:function(){return R(Le.get())},getStreamFromFD:function(){var e=Ne.getStream(Le.get());if(!e)throw new Ne.ErrnoError(ve.EBADF);return e},getSocketFromFD:function(){var e=SOCKFS.getSocket(Le.get());if(!e)throw new Ne.ErrnoError(ve.EBADF);return e},getSocketAddress:function(e){var r=Le.get(),n=Le.get();if(e&&0===r)return null;var t=__read_sockaddr(r,n);if(t.errno)throw new Ne.ErrnoError(t.errno);return t.addr=DNS.lookup_addr(t.addr)||t.addr,t},get64:function(){var e=Le.get(),r=Le.get();return L(e>=0?0===r:-1===r),e},getZero:function(){L(0===Le.get())}};function Oe(e){var r,n=Oe;n.called||((r=V)%4096>0&&(r+=4096-r%4096),V=r,n.called=!0,L(d.dynamicAlloc),n.alloc=d.dynamicAlloc,d.dynamicAlloc=function(){We("cannot dynamically allocate, sbrk now has control")});var t=V;return 0==e||n.alloc(e)?t:-1>>>0}function Te(e,r){if(Re.mainLoop.timingMode=e,Re.mainLoop.timingValue=r,!Re.mainLoop.func)return 1;if(0==e)Re.mainLoop.scheduler=function(){setTimeout(Re.mainLoop.runner,r)},Re.mainLoop.method="timeout";else if(1==e)Re.mainLoop.scheduler=function(){Re.requestAnimationFrame(Re.mainLoop.runner)},Re.mainLoop.method="rAF";else if(2==e){if(!window.setImmediate){var n=[],t="__emcc";window.addEventListener("message",(function(e){e.source===window&&e.data===t&&(e.stopPropagation(),n.shift()())}),!0),window.setImmediate=function(e){n.push(e),window.postMessage(t,"*")}}Re.mainLoop.scheduler=function(){window.setImmediate(Re.mainLoop.runner)},Re.mainLoop.method="immediate"}return 0}function Fe(e,r,t,i,o){n.noExitRuntime=!0,L(!Re.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),Re.mainLoop.func=e,Re.mainLoop.arg=i;var a=Re.mainLoop.currentlyRunningMainloop;if(Re.mainLoop.runner=function(){if(!N){if(Re.mainLoop.queue.length>0){var r=Date.now(),t=Re.mainLoop.queue.shift();if(t.func(t.arg),Re.mainLoop.remainingBlockers){var o=Re.mainLoop.remainingBlockers,s=o%1==0?o-1:Math.floor(o);t.counted?Re.mainLoop.remainingBlockers=s:(s+=.5,Re.mainLoop.remainingBlockers=(8*o+s)/9)}return console.log('main loop blocker "'+t.name+'" took '+(Date.now()-r)+" ms"),Re.mainLoop.updateStatus(),void setTimeout(Re.mainLoop.runner,0)}a<Re.mainLoop.currentlyRunningMainloop||(Re.mainLoop.currentFrameNumber=Re.mainLoop.currentFrameNumber+1|0,1==Re.mainLoop.timingMode&&Re.mainLoop.timingValue>1&&Re.mainLoop.currentFrameNumber%Re.mainLoop.timingValue!=0?Re.mainLoop.scheduler():("timeout"===Re.mainLoop.method&&n.ctx&&(n.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),Re.mainLoop.method=""),Re.mainLoop.runIter((function(){void 0!==i?d.dynCall("vi",e,[i]):d.dynCall("v",e)})),a<Re.mainLoop.currentlyRunningMainloop||("object"==typeof SDL&&SDL.audio&&SDL.audio.queueNewAudioData&&SDL.audio.queueNewAudioData(),Re.mainLoop.scheduler())))}},o||(r&&r>0?Te(0,1e3/r):Te(1,1),Re.mainLoop.scheduler()),t)throw"SimulateInfiniteLoop"}n._memcpy=ze;var Re={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Re.mainLoop.scheduler=null,Re.mainLoop.currentlyRunningMainloop++},resume:function(){Re.mainLoop.currentlyRunningMainloop++;var e=Re.mainLoop.timingMode,r=Re.mainLoop.timingValue,n=Re.mainLoop.func;Re.mainLoop.func=null,Fe(n,0,!1,Re.mainLoop.arg,!0),Te(e,r),Re.mainLoop.scheduler()},updateStatus:function(){if(n.setStatus){var e=n.statusMessage||"Please wait...",r=Re.mainLoop.remainingBlockers,t=Re.mainLoop.expectedBlockers;r?r<t?n.setStatus(e+" ("+(t-r)+"/"+t+")"):n.setStatus(e):n.setStatus("")}},runIter:function(e){if(!N){if(n.preMainLoop&&!1===n.preMainLoop())return;try{e()}catch(e){if(e instanceof qe)return;throw e&&"object"==typeof e&&e.stack&&n.printErr("exception thrown: "+[e,e.stack]),e}n.postMainLoop&&n.postMainLoop()}}},isFullScreen:!1,pointerLock:!1,moduleContextCreatedCallbacks:[],workers:[],init:function(){if(n.preloadPlugins||(n.preloadPlugins=[]),!Re.initted){Re.initted=!0;try{new Blob,Re.hasBlobConstructor=!0}catch(e){Re.hasBlobConstructor=!1,console.log("warning: no blob constructor, cannot create blobs with mimetypes")}Re.BlobBuilder="undefined"!=typeof MozBlobBuilder?MozBlobBuilder:"undefined"!=typeof WebKitBlobBuilder?WebKitBlobBuilder:Re.hasBlobConstructor?null:console.log("warning: no BlobBuilder"),Re.URLObject="undefined"!=typeof window?window.URL?window.URL:window.webkitURL:void 0,n.noImageDecoding||void 0!==Re.URLObject||(console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),n.noImageDecoding=!0);var e={canHandle:function(e){return!n.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(e)},handle:function(e,r,t,i){var o=null;if(Re.hasBlobConstructor)try{(o=new Blob([e],{type:Re.getMimetype(r)})).size!==e.length&&(o=new Blob([new Uint8Array(e).buffer],{type:Re.getMimetype(r)}))}catch(e){d.warnOnce("Blob constructor present but fails: "+e+"; falling back to blob builder")}if(!o){var a=new Re.BlobBuilder;a.append(new Uint8Array(e).buffer),o=a.getBlob()}var s=Re.URLObject.createObjectURL(o),f=new Image;f.onload=function(){L(f.complete,"Image "+r+" could not be decoded");var i=document.createElement("canvas");i.width=f.width,i.height=f.height,i.getContext("2d").drawImage(f,0,0),n.preloadedImages[r]=i,Re.URLObject.revokeObjectURL(s),t&&t(e)},f.onerror=function(e){console.log("Image "+s+" could not be decoded"),i&&i()},f.src=s}};n.preloadPlugins.push(e);var r={canHandle:function(e){return!n.noAudioDecoding&&e.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},handle:function(e,r,t,i){var o=!1;function a(i){o||(o=!0,n.preloadedAudios[r]=i,t&&t(e))}function s(){o||(o=!0,n.preloadedAudios[r]=new Audio,i&&i())}if(!Re.hasBlobConstructor)return s();try{var f=new Blob([e],{type:Re.getMimetype(r)})}catch(e){return s()}var l=Re.URLObject.createObjectURL(f),u=new Audio;u.addEventListener("canplaythrough",(function(){a(u)}),!1),u.onerror=function(n){o||(console.log("warning: browser could not fully decode audio "+r+", trying slower base64 approach"),u.src="data:audio/x-"+r.substr(-3)+";base64,"+function(e){for(var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n="",t=0,i=0,o=0;o<e.length;o++)for(t=t<<8|e[o],i+=8;i>=6;){var a=t>>i-6&63;i-=6,n+=r[a]}return 2==i?(n+=r[(3&t)<<4],n+="=="):4==i&&(n+=r[(15&t)<<2],n+="="),n}(e),a(u))},u.src=l,Re.safeSetTimeout((function(){a(u)}),1e4)}};n.preloadPlugins.push(r);var t=n.canvas;t&&(t.requestPointerLock=t.requestPointerLock||t.mozRequestPointerLock||t.webkitRequestPointerLock||t.msRequestPointerLock||function(){},t.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},t.exitPointerLock=t.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",i,!1),document.addEventListener("mozpointerlockchange",i,!1),document.addEventListener("webkitpointerlockchange",i,!1),document.addEventListener("mspointerlockchange",i,!1),n.elementPointerLock&&t.addEventListener("click",(function(e){!Re.pointerLock&&t.requestPointerLock&&(t.requestPointerLock(),e.preventDefault())}),!1))}function i(){Re.pointerLock=document.pointerLockElement===t||document.mozPointerLockElement===t||document.webkitPointerLockElement===t||document.msPointerLockElement===t}},createContext:function(e,r,t,i){if(r&&n.ctx&&e==n.canvas)return n.ctx;var o,a;if(r){var s={antialias:!1,alpha:!1};if(i)for(var f in i)s[f]=i[f];(a=GL.createContext(e,s))&&(o=GL.getContext(a).GLctx),e.style.backgroundColor="black"}else o=e.getContext("2d");return o?(t&&(r||L("undefined"==typeof GLctx,"cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),n.ctx=o,r&&GL.makeContextCurrent(a),n.useWebGL=r,Re.moduleContextCreatedCallbacks.forEach((function(e){e()})),Re.init()),o):null},destroyContext:function(e,r,n){},fullScreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullScreen:function(e,r,t){Re.lockPointer=e,Re.resizeCanvas=r,Re.vrDevice=t,void 0===Re.lockPointer&&(Re.lockPointer=!0),void 0===Re.resizeCanvas&&(Re.resizeCanvas=!1),void 0===Re.vrDevice&&(Re.vrDevice=null);var i=n.canvas;function o(){Re.isFullScreen=!1;var e=i.parentNode;(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===e?(i.cancelFullScreen=document.cancelFullScreen||document.mozCancelFullScreen||document.webkitCancelFullScreen||document.msExitFullscreen||document.exitFullscreen||function(){},i.cancelFullScreen=i.cancelFullScreen.bind(document),Re.lockPointer&&i.requestPointerLock(),Re.isFullScreen=!0,Re.resizeCanvas&&Re.setFullScreenCanvasSize()):(e.parentNode.insertBefore(i,e),e.parentNode.removeChild(e),Re.resizeCanvas&&Re.setWindowedCanvasSize()),n.onFullScreen&&n.onFullScreen(Re.isFullScreen),Re.updateCanvasDimensions(i)}Re.fullScreenHandlersInstalled||(Re.fullScreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",o,!1),document.addEventListener("mozfullscreenchange",o,!1),document.addEventListener("webkitfullscreenchange",o,!1),document.addEventListener("MSFullscreenChange",o,!1));var a=document.createElement("div");i.parentNode.insertBefore(a,i),a.appendChild(i),a.requestFullScreen=a.requestFullScreen||a.mozRequestFullScreen||a.msRequestFullscreen||(a.webkitRequestFullScreen?function(){a.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),t?a.requestFullScreen({vrDisplay:t}):a.requestFullScreen()},nextRAF:0,fakeRequestAnimationFrame:function(e){var r=Date.now();if(0===Re.nextRAF)Re.nextRAF=r+1e3/60;else for(;r+2>=Re.nextRAF;)Re.nextRAF+=1e3/60;var n=Math.max(Re.nextRAF-r,0);setTimeout(e,n)},requestAnimationFrame:function(e){"undefined"==typeof window?Re.fakeRequestAnimationFrame(e):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||Re.fakeRequestAnimationFrame),window.requestAnimationFrame(e))},safeCallback:function(e){return function(){if(!N)return e.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Re.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(Re.allowAsyncCallbacks=!0,Re.queuedAsyncCallbacks.length>0){var e=Re.queuedAsyncCallbacks;Re.queuedAsyncCallbacks=[],e.forEach((function(e){e()}))}},safeRequestAnimationFrame:function(e){return Re.requestAnimationFrame((function(){N||(Re.allowAsyncCallbacks?e():Re.queuedAsyncCallbacks.push(e))}))},safeSetTimeout:function(e,r){return n.noExitRuntime=!0,setTimeout((function(){N||(Re.allowAsyncCallbacks?e():Re.queuedAsyncCallbacks.push(e))}),r)},safeSetInterval:function(e,r){return n.noExitRuntime=!0,setInterval((function(){N||Re.allowAsyncCallbacks&&e()}),r)},getMimetype:function(e){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[e.substr(e.lastIndexOf(".")+1)]},getUserMedia:function(e){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(e)},getMovementX:function(e){return e.movementX||e.mozMovementX||e.webkitMovementX||0},getMovementY:function(e){return e.movementY||e.mozMovementY||e.webkitMovementY||0},getMouseWheelDelta:function(e){var r=0;switch(e.type){case"DOMMouseScroll":r=e.detail;break;case"mousewheel":r=e.wheelDelta;break;case"wheel":r=e.deltaY;break;default:throw"unrecognized mouse wheel event: "+e.type}return r},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(e){if(Re.pointerLock)"mousemove"!=e.type&&"mozMovementX"in e?Re.mouseMovementX=Re.mouseMovementY=0:(Re.mouseMovementX=Re.getMovementX(e),Re.mouseMovementY=Re.getMovementY(e)),"undefined"!=typeof SDL?(Re.mouseX=SDL.mouseX+Re.mouseMovementX,Re.mouseY=SDL.mouseY+Re.mouseMovementY):(Re.mouseX+=Re.mouseMovementX,Re.mouseY+=Re.mouseMovementY);else{var r=n.canvas.getBoundingClientRect(),t=n.canvas.width,i=n.canvas.height,o=void 0!==window.scrollX?window.scrollX:window.pageXOffset,a=void 0!==window.scrollY?window.scrollY:window.pageYOffset;if("touchstart"===e.type||"touchend"===e.type||"touchmove"===e.type){var s=e.touch;if(void 0===s)return;var f=s.pageX-(o+r.left),l=s.pageY-(a+r.top),u={x:f*=t/r.width,y:l*=i/r.height};if("touchstart"===e.type)Re.lastTouches[s.identifier]=u,Re.touches[s.identifier]=u;else if("touchend"===e.type||"touchmove"===e.type){var c=Re.touches[s.identifier];c||(c=u),Re.lastTouches[s.identifier]=c,Re.touches[s.identifier]=u}return}var d=e.pageX-(o+r.left),h=e.pageY-(a+r.top);d*=t/r.width,h*=i/r.height,Re.mouseMovementX=d-Re.mouseX,Re.mouseMovementY=h-Re.mouseY,Re.mouseX=d,Re.mouseY=h}},xhrLoad:function(e,r,n){var t=new XMLHttpRequest;t.open("GET",e,!0),t.responseType="arraybuffer",t.onload=function(){200==t.status||0==t.status&&t.response?r(t.response):n()},t.onerror=n,t.send(null)},asyncLoad:function(e,r,n,t){Re.xhrLoad(e,(function(n){L(n,'Loading data file "'+e+'" failed (no arrayBuffer).'),r(new Uint8Array(n)),t||we()}),(function(r){if(!n)throw'Loading data file "'+e+'" failed.';n()})),t||pe()},resizeListeners:[],updateResizeListeners:function(){var e=n.canvas;Re.resizeListeners.forEach((function(r){r(e.width,e.height)}))},setCanvasSize:function(e,r,t){var i=n.canvas;Re.updateCanvasDimensions(i,e,r),t||Re.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){if("undefined"!=typeof SDL){var e=A[SDL.screen+0*d.QUANTUM_SIZE>>2];e|=8388608,S[SDL.screen+0*d.QUANTUM_SIZE>>2]=e}Re.updateResizeListeners()},setWindowedCanvasSize:function(){if("undefined"!=typeof SDL){var e=A[SDL.screen+0*d.QUANTUM_SIZE>>2];e&=-8388609,S[SDL.screen+0*d.QUANTUM_SIZE>>2]=e}Re.updateResizeListeners()},updateCanvasDimensions:function(e,r,t){r&&t?(e.widthNative=r,e.heightNative=t):(r=e.widthNative,t=e.heightNative);var i=r,o=t;if(n.forcedAspectRatio&&n.forcedAspectRatio>0&&(i/o<n.forcedAspectRatio?i=Math.round(o*n.forcedAspectRatio):o=Math.round(i/n.forcedAspectRatio)),(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===e.parentNode&&"undefined"!=typeof screen){var a=Math.min(screen.width/i,screen.height/o);i=Math.round(i*a),o=Math.round(o*a)}Re.resizeCanvas?(e.width!=i&&(e.width=i),e.height!=o&&(e.height=o),void 0!==e.style&&(e.style.removeProperty("width"),e.style.removeProperty("height"))):(e.width!=r&&(e.width=r),e.height!=t&&(e.height=t),void 0!==e.style&&(i!=r||o!=t?(e.style.setProperty("width",i+"px","important"),e.style.setProperty("height",o+"px","important")):(e.style.removeProperty("width"),e.style.removeProperty("height"))))},wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function(){var e=Re.nextWgetRequestHandle;return Re.nextWgetRequestHandle++,e}};if(n._llvm_bswap_i32=je,Ne.staticInit(),Z.unshift((function(){n.noFSInit||Ne.init.initialized||Ne.init()})),Q.push((function(){Ne.ignorePermissions=!1})),J.push((function(){Ne.quit()})),n.FS_createFolder=Ne.createFolder,n.FS_createPath=Ne.createPath,n.FS_createDataFile=Ne.createDataFile,n.FS_createPreloadedFile=Ne.createPreloadedFile,n.FS_createLazyFile=Ne.createLazyFile,n.FS_createLink=Ne.createLink,n.FS_createDevice=Ne.createDevice,n.FS_unlink=Ne.unlink,Z.unshift((function(){_e.init()})),J.push((function(){_e.shutdown()})),s){var Pe=require("fs"),Ie=require("path");De.staticInit()}n.requestFullScreen=function(e,r,n){Re.requestFullScreen(e,r,n)},n.requestAnimationFrame=function(e){Re.requestAnimationFrame(e)},n.setCanvasSize=function(e,r,n){Re.setCanvasSize(e,r,n)},n.pauseMainLoop=function(){Re.mainLoop.pause()},n.resumeMainLoop=function(){Re.mainLoop.resume()},n.getUserMedia=function(){Re.getUserMedia()},n.createContext=function(e,r,n,t){return Re.createContext(e,r,n,t)},B=Y=d.alignMemory(j),q=!0,z=B+X,L((V=d.alignMemory(z))<H,"TOTAL_MEMORY not big enough for stack"),n.asmGlobalArg={Math,Int8Array,Int16Array,Int32Array,Uint8Array,Uint16Array,Uint32Array,Float32Array,Float64Array,NaN:NaN,Infinity:1/0},n.asmLibraryArg={abort:We,assert:L,invoke_ii:function(e,r){try{return n.dynCall_ii(e,r)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;Ce.setThrew(1,0)}},invoke_iiii:function(e,r,t,i){try{return n.dynCall_iiii(e,r,t,i)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;Ce.setThrew(1,0)}},invoke_vii:function(e,r,t){try{n.dynCall_vii(e,r,t)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;Ce.setThrew(1,0)}},invoke_iii:function(e,r,t){try{return n.dynCall_iii(e,r,t)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;Ce.setThrew(1,0)}},invoke_vi:function(e,r){try{n.dynCall_vi(e,r)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;Ce.setThrew(1,0)}},_pthread_cleanup_pop:function(){L(Ee.level==J.length,"cannot pop if something else added meanwhile!"),J.pop(),Ee.level=J.length},_pthread_self:function(){return 0},___syscall3:function(e,r){Le.varargs=r;try{var n=Le.getStreamFromFD(),t=Le.get(),i=Le.get();return Ne.read(n,E,t,i)}catch(e){return void 0!==Ne&&e instanceof Ne.ErrnoError||We(e),-e.errno}},_emscripten_set_main_loop:Fe,___setErrNo:be,___lock:function(){},___syscall6:function(e,r){Le.varargs=r;try{var n=Le.getStreamFromFD();return Ne.close(n),0}catch(e){return void 0!==Ne&&e instanceof Ne.ErrnoError||We(e),-e.errno}},___syscall5:function(e,r){Le.varargs=r;try{var n=Le.getStr(),t=Le.get(),i=Le.get();return Ne.open(n,t,i).fd}catch(e){return void 0!==Ne&&e instanceof Ne.ErrnoError||We(e),-e.errno}},_abort:function(){n.abort()},_sbrk:Oe,_time:function(e){var r=Date.now()/1e3|0;return e&&(S[e>>2]=r),r},_emscripten_set_main_loop_timing:Te,_emscripten_memcpy_big:function(e,r,n){return g.set(g.subarray(r,r+n),e),e},___syscall54:function(e,r){Le.varargs=r;try{var n=Le.getStreamFromFD(),t=Le.get();switch(t){case 21505:case 21506:return n.tty?0:-ve.ENOTTY;case 21519:if(!n.tty)return-ve.ENOTTY;var i=Le.get();return S[i>>2]=0,0;case 21520:return n.tty?-ve.EINVAL:-ve.ENOTTY;case 21531:return i=Le.get(),Ne.ioctl(n,t,i);default:We("bad ioctl syscall "+t)}}catch(e){return void 0!==Ne&&e instanceof Ne.ErrnoError||We(e),-e.errno}},___unlock:function(){},___syscall140:function(e,r){Le.varargs=r;try{var n=Le.getStreamFromFD(),t=Le.get(),i=Le.get(),o=Le.get(),a=Le.get(),s=i;return L(0===t),Ne.llseek(n,s,a),S[o>>2]=n.position,n.getdents&&0===s&&0===a&&(n.getdents=null),0}catch(e){return void 0!==Ne&&e instanceof Ne.ErrnoError||We(e),-e.errno}},_pthread_cleanup_push:Ee,_sysconf:function(e){switch(e){case 30:return 4096;case 85:return W/4096;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return"object"==typeof navigator&&navigator.hardwareConcurrency||1}return be(ve.EINVAL),-1},___syscall146:function(e,r){Le.varargs=r;try{var n=Le.getStreamFromFD(),t=Le.get(),i=Le.get();return Le.doWritev(n,t,i)}catch(e){return void 0!==Ne&&e instanceof Ne.ErrnoError||We(e),-e.errno}},___syscall4:function(e,r){Le.varargs=r;try{var n=Le.getStreamFromFD(),t=Le.get(),i=Le.get();return Ne.write(n,E,t,i)}catch(e){return void 0!==Ne&&e instanceof Ne.ErrnoError||We(e),-e.errno}},STACKTOP:Y,STACK_MAX:z,tempDoublePtr:ke,ABORT:N};var Ce=function(e,r,n){"use asm";var t=new e.Int8Array(n);var i=new e.Int16Array(n);var o=new e.Int32Array(n);var a=new e.Uint8Array(n);var s=new e.Uint16Array(n);var f=new e.Uint32Array(n);var l=new e.Float32Array(n);var u=new e.Float64Array(n);var c=r.STACKTOP|0;var d=r.STACK_MAX|0;var h=r.tempDoublePtr|0;var m=r.ABORT|0;var p=0;var w=0;var k=0;var b=0;var v=e.NaN,E=e.Infinity;var g=0,y=0,_=0,S=0,A=0.0,D=0,M=0,N=0,L=0.0;var O=0;var T=0;var F=0;var R=0;var P=0;var I=0;var C=0;var x=0;var B=0;var z=0;var U=e.Math.floor;var j=e.Math.abs;var q=e.Math.sqrt;var Y=e.Math.pow;var V=e.Math.cos;var X=e.Math.sin;var H=e.Math.tan;var W=e.Math.acos;var G=e.Math.asin;var K=e.Math.atan;var Z=e.Math.atan2;var Q=e.Math.exp;var J=e.Math.log;var $=e.Math.ceil;var ee=e.Math.imul;var re=e.Math.min;var ne=e.Math.clz32;var te=r.abort;var ie=r.assert;var oe=r.invoke_ii;var ae=r.invoke_iiii;var se=r.invoke_vii;var fe=r.invoke_iii;var le=r.invoke_vi;var ue=r._pthread_cleanup_pop;var ce=r._pthread_self;var de=r.___syscall3;var he=r._emscripten_set_main_loop;var me=r.___setErrNo;var pe=r.___lock;var we=r.___syscall6;var ke=r.___syscall5;var be=r._abort;var ve=r._sbrk;var Ee=r._time;var ge=r._emscripten_set_main_loop_timing;var ye=r._emscripten_memcpy_big;var _e=r.___syscall54;var Se=r.___unlock;var Ae=r.___syscall140;var De=r._pthread_cleanup_push;var Me=r._sysconf;var Ne=r.___syscall146;var Le=r.___syscall4;var Oe=0.0;function Te(e){e=e|0;var r=0;r=c;c=c+e|0;c=c+15&-16;return r|0}function Fe(){return c|0}function Re(e){e=e|0;c=e}function Pe(e,r){e=e|0;r=r|0;c=e;d=r}function Ie(e,r){e=e|0;r=r|0;if(!p){p=e;w=r}}function Ce(e){e=e|0;t[h>>0]=t[e>>0];t[h+1>>0]=t[e+1>>0];t[h+2>>0]=t[e+2>>0];t[h+3>>0]=t[e+3>>0]}function xe(e){e=e|0;t[h>>0]=t[e>>0];t[h+1>>0]=t[e+1>>0];t[h+2>>0]=t[e+2>>0];t[h+3>>0]=t[e+3>>0];t[h+4>>0]=t[e+4>>0];t[h+5>>0]=t[e+5>>0];t[h+6>>0]=t[e+6>>0];t[h+7>>0]=t[e+7>>0]}function Be(e){e=e|0;O=e}function ze(){return O|0}function Ue(e,r,n){e=e|0;r=r|0;n=n|0;var t=0,i=0,o=0,s=0,f=0,l=0,u=0,c=0,d=0,h=0,m=0,p=0,w=0,k=0,b=0,v=0,E=0,g=0,y=0,_=0,S=0,A=0,D=0,M=0,N=0,L=0,O=0,T=0,F=0,R=0,P=0,I=0,C=0,x=0,B=0,z=0,U=0,j=0,q=0,Y=0,V=0,X=0,H=0,W=0,G=0,K=0,Z=0,Q=0;t=e>>>16;i=e&65535;if((n|0)==1){e=(a[r>>0]|0)+i|0;o=e>>>0>65520?e+-65521|0:e;e=o+t|0;s=(e>>>0>65520?e+15|0:e)<<16|o;return s|0}if(!r){s=1;return s|0}if(n>>>0<16){if(!n){f=i;l=t}else{o=r;e=n;u=i;c=t;while(1){e=e+-1|0;d=(a[o>>0]|0)+u|0;h=d+c|0;if(!e){f=d;l=h;break}else{o=o+1|0;u=d;c=h}}}s=((l>>>0)%65521|0)<<16|(f>>>0>65520?f+-65521|0:f);return s|0}if(n>>>0>5551){f=n+-5552|0;l=(f>>>0)%5552|0;c=f-l+5552|0;f=r;u=n;o=i;e=t;while(1){u=u+-5552|0;h=f;d=o;m=347;p=e;while(1){w=(a[h>>0]|0)+d|0;k=w+(a[h+1>>0]|0)|0;b=k+(a[h+2>>0]|0)|0;v=b+(a[h+3>>0]|0)|0;E=v+(a[h+4>>0]|0)|0;g=E+(a[h+5>>0]|0)|0;y=g+(a[h+6>>0]|0)|0;_=y+(a[h+7>>0]|0)|0;S=_+(a[h+8>>0]|0)|0;A=S+(a[h+9>>0]|0)|0;D=A+(a[h+10>>0]|0)|0;M=D+(a[h+11>>0]|0)|0;N=M+(a[h+12>>0]|0)|0;L=N+(a[h+13>>0]|0)|0;O=L+(a[h+14>>0]|0)|0;T=O+(a[h+15>>0]|0)|0;F=w+p+k+b+v+E+g+y+_+S+A+D+M+N+L+O+T|0;m=m+-1|0;if(!m){R=T;P=F;break}else{h=h+16|0;d=T;p=F}}p=(R>>>0)%65521|0;d=(P>>>0)%65521|0;if(u>>>0<=5551){I=p;C=d;break}else{f=f+5552|0;o=p;e=d}}e=r+c|0;if(l)if(l>>>0>15){x=l;B=e;z=I;U=C;j=15}else{q=l;Y=e;V=I;X=C;j=18}else{H=I;W=C}}else{x=n;B=r;z=i;U=t;j=15}if((j|0)==15){t=x+-16|0;i=t&-16;r=B+(i+16)|0;n=x;x=B;B=z;z=U;while(1){n=n+-16|0;U=(a[x>>0]|0)+B|0;C=U+(a[x+1>>0]|0)|0;I=C+(a[x+2>>0]|0)|0;e=I+(a[x+3>>0]|0)|0;l=e+(a[x+4>>0]|0)|0;c=l+(a[x+5>>0]|0)|0;o=c+(a[x+6>>0]|0)|0;f=o+(a[x+7>>0]|0)|0;u=f+(a[x+8>>0]|0)|0;P=u+(a[x+9>>0]|0)|0;R=P+(a[x+10>>0]|0)|0;d=R+(a[x+11>>0]|0)|0;p=d+(a[x+12>>0]|0)|0;h=p+(a[x+13>>0]|0)|0;m=h+(a[x+14>>0]|0)|0;F=m+(a[x+15>>0]|0)|0;T=U+z+C+I+e+l+c+o+f+u+P+R+d+p+h+m+F|0;if(n>>>0<=15){G=F;K=T;break}else{x=x+16|0;B=F;z=T}}if((t|0)==(i|0)){Z=G;Q=K;j=19}else{q=t-i|0;Y=r;V=G;X=K;j=18}}if((j|0)==18)while(1){j=0;q=q+-1|0;K=(a[Y>>0]|0)+V|0;G=K+X|0;if(!q){Z=K;Q=G;j=19;break}else{Y=Y+1|0;V=K;X=G;j=18}}if((j|0)==19){H=(Z>>>0)%65521|0;W=(Q>>>0)%65521|0}s=W<<16|H;return s|0}function je(e,r,n){e=e|0;r=r|0;n=n|0;var t=0,i=0,s=0,f=0,l=0,u=0,c=0,d=0,h=0,m=0,p=0,w=0,k=0,b=0,v=0,E=0,g=0,y=0,_=0,S=0,A=0,D=0,M=0,N=0;if(!r){t=0;return t|0}i=~e;e:do{if(n){e=r;s=n;f=i;while(1){if(!(e&3)){l=e;u=s;c=f;break}d=o[8+(((a[e>>0]|0)^f&255)<<2)>>2]^f>>>8;s=s+-1|0;if(!s){h=d;break e}else{e=e+1|0;f=d}}if(u>>>0>31){f=u+-32|0;e=f&-32;s=e+32|0;d=u;m=l;p=c;while(1){w=o[m>>2]^p;k=o[2056+((w>>>8&255)<<2)>>2]^o[3080+((w&255)<<2)>>2]^o[1032+((w>>>16&255)<<2)>>2]^o[8+(w>>>24<<2)>>2]^o[m+4>>2];w=o[2056+((k>>>8&255)<<2)>>2]^o[3080+((k&255)<<2)>>2]^o[1032+((k>>>16&255)<<2)>>2]^o[8+(k>>>24<<2)>>2]^o[m+8>>2];k=o[2056+((w>>>8&255)<<2)>>2]^o[3080+((w&255)<<2)>>2]^o[1032+((w>>>16&255)<<2)>>2]^o[8+(w>>>24<<2)>>2]^o[m+12>>2];w=o[2056+((k>>>8&255)<<2)>>2]^o[3080+((k&255)<<2)>>2]^o[1032+((k>>>16&255)<<2)>>2]^o[8+(k>>>24<<2)>>2]^o[m+16>>2];k=o[2056+((w>>>8&255)<<2)>>2]^o[3080+((w&255)<<2)>>2]^o[1032+((w>>>16&255)<<2)>>2]^o[8+(w>>>24<<2)>>2]^o[m+20>>2];w=o[2056+((k>>>8&255)<<2)>>2]^o[3080+((k&255)<<2)>>2]^o[1032+((k>>>16&255)<<2)>>2]^o[8+(k>>>24<<2)>>2]^o[m+24>>2];k=o[2056+((w>>>8&255)<<2)>>2]^o[3080+((w&255)<<2)>>2]^o[1032+((w>>>16&255)<<2)>>2]^o[8+(w>>>24<<2)>>2]^o[m+28>>2];w=o[2056+((k>>>8&255)<<2)>>2]^o[3080+((k&255)<<2)>>2]^o[1032+((k>>>16&255)<<2)>>2]^o[8+(k>>>24<<2)>>2];d=d+-32|0;if(d>>>0<=31){b=w;break}else{m=m+32|0;p=w}}v=f-e|0;E=l+s|0;g=b}else{v=u;E=l;g=c}if(v>>>0>3){p=v+-4|0;m=p>>>2;d=m<<2;w=v;k=E;y=g;while(1){_=o[k>>2]^y;S=o[2056+((_>>>8&255)<<2)>>2]^o[3080+((_&255)<<2)>>2]^o[1032+((_>>>16&255)<<2)>>2]^o[8+(_>>>24<<2)>>2];w=w+-4|0;if(w>>>0<=3){A=S;break}else{k=k+4|0;y=S}}D=p-d|0;M=E+(m+1<<2)|0;N=A}else{D=v;M=E;N=g}if(!D)h=N;else{y=M;k=D;w=N;while(1){s=o[8+(((a[y>>0]|0)^w&255)<<2)>>2]^w>>>8;k=k+-1|0;if(!k){h=s;break}else{y=y+1|0;w=s}}}}else h=i}while(0);t=~h;return t|0}function qe(e,r,n,i,a,s,f,l){e=e|0;r=r|0;n=n|0;i=i|0;a=a|0;s=s|0;f=f|0;l=l|0;var u=0,c=0,d=0,h=0,m=0,p=0,w=0,k=0,b=0,v=0,E=0,g=0;if(!f){u=-6;return u|0}if((l|0)!=56|(t[f>>0]|0)!=49){u=-6;return u|0}if(!e){u=-2;return u|0}f=e+24|0;o[f>>2]=0;l=e+32|0;c=o[l>>2]|0;if(!c){o[l>>2]=3;o[e+40>>2]=0;d=3}else d=c;c=e+36|0;if(!(o[c>>2]|0))o[c>>2]=1;h=(r|0)==-1?6:r;if((i|0)<0){m=0-i|0;p=0}else{r=(i|0)>15;m=r?i+-16|0:i;p=r?2:1}if(s>>>0>4|(h>>>0>9|((n|0)!=8|(a+-1|0)>>>0>8|(m&-8|0)!=8))){u=-2;return u|0}n=(m|0)==8?9:m;m=e+40|0;r=hn[d&7](o[m>>2]|0,1,5828)|0;if(!r){u=-4;return u|0}d=e+28|0;o[d>>2]=r;o[r>>2]=e;o[r+24>>2]=p;o[r+28>>2]=0;o[r+48>>2]=n;p=1<<n;n=r+44|0;o[n>>2]=p;o[r+52>>2]=p+-1;i=a+7|0;o[r+80>>2]=i;w=1<<i;i=r+76|0;o[i>>2]=w;o[r+84>>2]=w+-1;o[r+88>>2]=((a+9|0)>>>0)/3|0;w=r+56|0;o[w>>2]=hn[o[l>>2]&7](o[m>>2]|0,p,2)|0;p=hn[o[l>>2]&7](o[m>>2]|0,o[n>>2]|0,2)|0;k=r+64|0;o[k>>2]=p;Jr(p|0,0,o[n>>2]<<1|0)|0;n=r+68|0;o[n>>2]=hn[o[l>>2]&7](o[m>>2]|0,o[i>>2]|0,2)|0;o[r+5824>>2]=0;i=1<<a+6;a=r+5788|0;o[a>>2]=i;p=hn[o[l>>2]&7](o[m>>2]|0,i,4)|0;o[r+8>>2]=p;i=o[a>>2]|0;o[r+12>>2]=i<<2;if(((o[w>>2]|0)!=0?(o[k>>2]|0)!=0:0)?!((o[n>>2]|0)==0|(p|0)==0):0){o[r+5796>>2]=p+(i>>>1<<1);o[r+5784>>2]=p+(i*3|0);o[r+132>>2]=h;o[r+136>>2]=s;t[r+36>>0]=8;u=Ve(e)|0;return u|0}o[r+4>>2]=666;o[f>>2]=o[2238];f=o[d>>2]|0;if(!f){u=-4;return u|0}switch(o[f+4>>2]|0){case 42:case 69:case 73:case 91:case 103:case 113:case 666:break;default:{u=-4;return u|0}}r=o[f+8>>2]|0;if(!r)b=f;else{mn[o[c>>2]&1](o[m>>2]|0,r);b=o[d>>2]|0}r=o[b+68>>2]|0;if(!r)v=b;else{mn[o[c>>2]&1](o[m>>2]|0,r);v=o[d>>2]|0}r=o[v+64>>2]|0;if(!r)E=v;else{mn[o[c>>2]&1](o[m>>2]|0,r);E=o[d>>2]|0}r=o[E+56>>2]|0;if(!r)g=E;else{mn[o[c>>2]&1](o[m>>2]|0,r);g=o[d>>2]|0}mn[o[c>>2]&1](o[m>>2]|0,g);o[d>>2]=0;u=-4;return u|0}function Ye(e){e=e|0;var r=0,n=0,t=0,i=0,a=0,s=0,f=0,l=0,u=0,c=0,d=0;if(!e){r=-2;return r|0}n=e+28|0;t=o[n>>2]|0;if(!t){r=-2;return r|0}i=o[t+4>>2]|0;switch(i|0){case 42:case 69:case 73:case 91:case 103:case 113:case 666:break;default:{r=-2;return r|0}}a=o[t+8>>2]|0;if(!a)s=t;else{mn[o[e+36>>2]&1](o[e+40>>2]|0,a);s=o[n>>2]|0}a=o[s+68>>2]|0;if(!a)f=s;else{mn[o[e+36>>2]&1](o[e+40>>2]|0,a);f=o[n>>2]|0}a=o[f+64>>2]|0;if(!a)l=f;else{mn[o[e+36>>2]&1](o[e+40>>2]|0,a);l=o[n>>2]|0}a=o[l+56>>2]|0;if(!a){u=e+40|0;c=e+36|0;d=l}else{l=e+36|0;f=e+40|0;mn[o[l>>2]&1](o[f>>2]|0,a);u=f;c=l;d=o[n>>2]|0}mn[o[c>>2]&1](o[u>>2]|0,d);o[n>>2]=0;r=(i|0)==113?-3:0;return r|0}function Ve(e){e=e|0;var r=0,n=0,t=0,a=0,f=0,l=0,u=0;if(!e){r=-2;return r|0}n=o[e+28>>2]|0;if(!n){r=-2;return r|0}if(!(o[e+32>>2]|0)){r=-2;return r|0}if(!(o[e+36>>2]|0)){r=-2;return r|0}o[e+20>>2]=0;o[e+8>>2]=0;o[e+24>>2]=0;o[e+44>>2]=2;o[n+20>>2]=0;o[n+16>>2]=o[n+8>>2];t=n+24|0;a=o[t>>2]|0;if((a|0)<0){f=0-a|0;o[t>>2]=f;l=f}else l=a;o[n+4>>2]=(l|0)!=0?42:113;if((l|0)==2)u=je(0,0,0)|0;else u=Ue(0,0,0)|0;o[e+48>>2]=u;o[n+40>>2]=0;br(n);o[n+60>>2]=o[n+44>>2]<<1;u=o[n+76>>2]|0;e=o[n+68>>2]|0;i[e+(u+-1<<1)>>1]=0;Jr(e|0,0,(u<<1)+-2|0)|0;u=o[n+132>>2]|0;o[n+128>>2]=s[8200+(u*12|0)+2>>1];o[n+140>>2]=s[8200+(u*12|0)>>1];o[n+144>>2]=s[8200+(u*12|0)+4>>1];o[n+124>>2]=s[8200+(u*12|0)+6>>1];o[n+108>>2]=0;o[n+92>>2]=0;o[n+116>>2]=0;o[n+120>>2]=2;o[n+96>>2]=2;o[n+112>>2]=0;o[n+104>>2]=0;o[n+72>>2]=0;r=0;return r|0}function Xe(e,r){e=e|0;r=r|0;var n=0,s=0,f=0,l=0,u=0,c=0,d=0,h=0,m=0,p=0,w=0,k=0,b=0,v=0,E=0,g=0,y=0,_=0,S=0,A=0,D=0,M=0,N=0,L=0,O=0,T=0,F=0,R=0,P=0,I=0,C=0,x=0,B=0,z=0,U=0,j=0,q=0,Y=0,V=0,X=0,H=0,W=0,G=0,K=0,Z=0,Q=0,J=0,$=0,ee=0,re=0,ne=0,te=0,ie=0,oe=0,ae=0,se=0,fe=0,le=0,ue=0,ce=0,de=0,he=0,me=0,pe=0,we=0,ke=0,be=0,ve=0,Ee=0,ge=0,ye=0,_e=0,Se=0,Ae=0,De=0,Me=0,Ne=0,Le=0;if(!e){n=-2;return n|0}s=e+28|0;f=o[s>>2]|0;if(r>>>0>5|(f|0)==0){n=-2;return n|0}l=e+12|0;do{if(o[l>>2]|0){if((o[e>>2]|0)==0?(o[e+4>>2]|0)!=0:0)break;u=f+4|0;c=o[u>>2]|0;d=(r|0)!=4;if(!(d&(c|0)==666)){h=e+16|0;if(!(o[h>>2]|0)){o[e+24>>2]=o[2239];n=-5;return n|0}o[f>>2]=e;m=f+40|0;p=o[m>>2]|0;o[m>>2]=r;do{if((c|0)==42){if((o[f+24>>2]|0)!=2){w=(o[f+48>>2]<<12)+-30720|0;if((o[f+136>>2]|0)<=1?(k=o[f+132>>2]|0,(k|0)>=2):0)if((k|0)<6)b=64;else b=(k|0)==6?128:192;else b=0;k=b|w;w=f+108|0;v=(o[w>>2]|0)==0?k:k|32;o[u>>2]=113;k=f+20|0;E=o[k>>2]|0;o[k>>2]=E+1;g=f+8|0;t[(o[g>>2]|0)+E>>0]=v>>>8;E=o[k>>2]|0;o[k>>2]=E+1;t[(o[g>>2]|0)+E>>0]=(v|((v>>>0)%31|0))^31;v=e+48|0;if(o[w>>2]|0){w=o[v>>2]|0;E=o[k>>2]|0;o[k>>2]=E+1;t[(o[g>>2]|0)+E>>0]=w>>>24;E=o[k>>2]|0;o[k>>2]=E+1;t[(o[g>>2]|0)+E>>0]=w>>>16;w=o[v>>2]|0;E=o[k>>2]|0;o[k>>2]=E+1;t[(o[g>>2]|0)+E>>0]=w>>>8;E=o[k>>2]|0;o[k>>2]=E+1;t[(o[g>>2]|0)+E>>0]=w}o[v>>2]=Ue(0,0,0)|0;y=o[u>>2]|0;_=30;break}v=e+48|0;o[v>>2]=je(0,0,0)|0;w=f+20|0;E=o[w>>2]|0;o[w>>2]=E+1;g=f+8|0;t[(o[g>>2]|0)+E>>0]=31;E=o[w>>2]|0;o[w>>2]=E+1;t[(o[g>>2]|0)+E>>0]=-117;E=o[w>>2]|0;o[w>>2]=E+1;t[(o[g>>2]|0)+E>>0]=8;E=f+28|0;k=o[E>>2]|0;if(!k){S=o[w>>2]|0;o[w>>2]=S+1;t[(o[g>>2]|0)+S>>0]=0;S=o[w>>2]|0;o[w>>2]=S+1;t[(o[g>>2]|0)+S>>0]=0;S=o[w>>2]|0;o[w>>2]=S+1;t[(o[g>>2]|0)+S>>0]=0;S=o[w>>2]|0;o[w>>2]=S+1;t[(o[g>>2]|0)+S>>0]=0;S=o[w>>2]|0;o[w>>2]=S+1;t[(o[g>>2]|0)+S>>0]=0;S=o[f+132>>2]|0;if((S|0)==9)A=2;else A=((S|0)<2?1:(o[f+136>>2]|0)>1)?4:0;S=o[w>>2]|0;o[w>>2]=S+1;t[(o[g>>2]|0)+S>>0]=A;S=o[w>>2]|0;o[w>>2]=S+1;t[(o[g>>2]|0)+S>>0]=3;o[u>>2]=113;break}S=(((o[k+44>>2]|0)!=0?2:0)|(o[k>>2]|0)!=0|((o[k+16>>2]|0)==0?0:4)|((o[k+28>>2]|0)==0?0:8)|((o[k+36>>2]|0)==0?0:16))&255;k=o[w>>2]|0;o[w>>2]=k+1;t[(o[g>>2]|0)+k>>0]=S;S=o[(o[E>>2]|0)+4>>2]&255;k=o[w>>2]|0;o[w>>2]=k+1;t[(o[g>>2]|0)+k>>0]=S;S=(o[(o[E>>2]|0)+4>>2]|0)>>>8&255;k=o[w>>2]|0;o[w>>2]=k+1;t[(o[g>>2]|0)+k>>0]=S;S=(o[(o[E>>2]|0)+4>>2]|0)>>>16&255;k=o[w>>2]|0;o[w>>2]=k+1;t[(o[g>>2]|0)+k>>0]=S;S=(o[(o[E>>2]|0)+4>>2]|0)>>>24&255;k=o[w>>2]|0;o[w>>2]=k+1;t[(o[g>>2]|0)+k>>0]=S;S=o[f+132>>2]|0;if((S|0)==9)D=2;else D=((S|0)<2?1:(o[f+136>>2]|0)>1)?4:0;S=o[w>>2]|0;o[w>>2]=S+1;t[(o[g>>2]|0)+S>>0]=D;S=o[(o[E>>2]|0)+12>>2]&255;k=o[w>>2]|0;o[w>>2]=k+1;t[(o[g>>2]|0)+k>>0]=S;S=o[E>>2]|0;if(!(o[S+16>>2]|0))M=S;else{k=o[S+20>>2]&255;S=o[w>>2]|0;o[w>>2]=S+1;t[(o[g>>2]|0)+S>>0]=k;k=(o[(o[E>>2]|0)+20>>2]|0)>>>8&255;S=o[w>>2]|0;o[w>>2]=S+1;t[(o[g>>2]|0)+S>>0]=k;M=o[E>>2]|0}if(o[M+44>>2]|0)o[v>>2]=je(o[v>>2]|0,o[g>>2]|0,o[w>>2]|0)|0;o[f+32>>2]=0;o[u>>2]=69;N=E;_=32}else{y=c;_=30}}while(0);if((_|0)==30)if((y|0)==69){N=f+28|0;_=32}else{L=y;_=53}do{if((_|0)==32){c=o[N>>2]|0;if(!(o[c+16>>2]|0)){o[u>>2]=73;O=N;T=c;_=55;break}E=f+20|0;w=o[E>>2]|0;g=f+32|0;v=o[g>>2]|0;e:do{if(v>>>0<(o[c+20>>2]&65535)>>>0){k=f+12|0;S=e+48|0;F=f+8|0;R=e+20|0;P=v;I=w;C=c;x=w;while(1){if((I|0)==(o[k>>2]|0)){if(I>>>0>x>>>0&(o[C+44>>2]|0)!=0)o[S>>2]=je(o[S>>2]|0,(o[F>>2]|0)+x|0,I-x|0)|0;B=o[s>>2]|0;z=o[B+20>>2]|0;U=o[h>>2]|0;j=z>>>0>U>>>0?U:z;if((j|0)!=0?($r(o[l>>2]|0,o[B+16>>2]|0,j|0)|0,o[l>>2]=(o[l>>2]|0)+j,B=o[s>>2]|0,z=B+16|0,o[z>>2]=(o[z>>2]|0)+j,o[R>>2]=(o[R>>2]|0)+j,o[h>>2]=(o[h>>2]|0)-j,U=B+20|0,q=o[U>>2]|0,o[U>>2]=q-j,(q|0)==(j|0)):0)o[z>>2]=o[B+8>>2];B=o[E>>2]|0;if((B|0)==(o[k>>2]|0)){Y=B;break}V=o[N>>2]|0;X=o[g>>2]|0;H=B;W=B}else{V=C;X=P;H=I;W=x}B=t[(o[V+16>>2]|0)+X>>0]|0;o[E>>2]=H+1;t[(o[F>>2]|0)+H>>0]=B;B=(o[g>>2]|0)+1|0;o[g>>2]=B;z=o[N>>2]|0;if(B>>>0>=(o[z+20>>2]&65535)>>>0){G=z;K=W;break e}P=B;I=o[E>>2]|0;C=z;x=W}G=o[N>>2]|0;K=Y}else{G=c;K=w}}while(0);if((o[G+44>>2]|0)!=0?(w=o[E>>2]|0,w>>>0>K>>>0):0){c=e+48|0;o[c>>2]=je(o[c>>2]|0,(o[f+8>>2]|0)+K|0,w-K|0)|0;Z=o[N>>2]|0}else Z=G;if((o[g>>2]|0)==(o[Z+20>>2]|0)){o[g>>2]=0;o[u>>2]=73;O=N;T=Z;_=55;break}else{L=o[u>>2]|0;_=53;break}}}while(0);if((_|0)==53)if((L|0)==73){w=f+28|0;O=w;T=o[w>>2]|0;_=55}else{Q=L;_=73}do{if((_|0)==55){if(!(o[T+28>>2]|0)){o[u>>2]=91;J=O;_=75;break}w=f+20|0;c=o[w>>2]|0;v=f+12|0;x=e+48|0;C=f+8|0;I=e+20|0;P=f+32|0;F=c;k=c;while(1){if((F|0)==(o[v>>2]|0)){if(F>>>0>k>>>0?(o[(o[O>>2]|0)+44>>2]|0)!=0:0)o[x>>2]=je(o[x>>2]|0,(o[C>>2]|0)+k|0,F-k|0)|0;c=o[s>>2]|0;R=o[c+20>>2]|0;S=o[h>>2]|0;z=R>>>0>S>>>0?S:R;if((z|0)!=0?($r(o[l>>2]|0,o[c+16>>2]|0,z|0)|0,o[l>>2]=(o[l>>2]|0)+z,c=o[s>>2]|0,R=c+16|0,o[R>>2]=(o[R>>2]|0)+z,o[I>>2]=(o[I>>2]|0)+z,o[h>>2]=(o[h>>2]|0)-z,S=c+20|0,B=o[S>>2]|0,o[S>>2]=B-z,(B|0)==(z|0)):0)o[R>>2]=o[c+8>>2];c=o[w>>2]|0;if((c|0)==(o[v>>2]|0)){$=c;ee=1;break}else{re=c;ne=c}}else{re=F;ne=k}c=o[P>>2]|0;o[P>>2]=c+1;R=t[(o[(o[O>>2]|0)+28>>2]|0)+c>>0]|0;o[w>>2]=re+1;t[(o[C>>2]|0)+re>>0]=R;if(!(R<<24>>24)){$=ne;ee=R&255;break}F=o[w>>2]|0;k=ne}if((o[(o[O>>2]|0)+44>>2]|0)!=0?(k=o[w>>2]|0,k>>>0>$>>>0):0)o[x>>2]=je(o[x>>2]|0,(o[C>>2]|0)+$|0,k-$|0)|0;if(!ee){o[P>>2]=0;o[u>>2]=91;J=O;_=75;break}else{Q=o[u>>2]|0;_=73;break}}}while(0);if((_|0)==73)if((Q|0)==91){J=f+28|0;_=75}else{te=Q;_=93}do{if((_|0)==75){if(!(o[(o[J>>2]|0)+36>>2]|0)){o[u>>2]=103;ie=J;_=95;break}k=f+20|0;F=o[k>>2]|0;v=f+12|0;I=e+48|0;g=f+8|0;E=e+20|0;R=f+32|0;c=F;z=F;while(1){if((c|0)==(o[v>>2]|0)){if(c>>>0>z>>>0?(o[(o[J>>2]|0)+44>>2]|0)!=0:0)o[I>>2]=je(o[I>>2]|0,(o[g>>2]|0)+z|0,c-z|0)|0;F=o[s>>2]|0;B=o[F+20>>2]|0;S=o[h>>2]|0;j=B>>>0>S>>>0?S:B;if((j|0)!=0?($r(o[l>>2]|0,o[F+16>>2]|0,j|0)|0,o[l>>2]=(o[l>>2]|0)+j,F=o[s>>2]|0,B=F+16|0,o[B>>2]=(o[B>>2]|0)+j,o[E>>2]=(o[E>>2]|0)+j,o[h>>2]=(o[h>>2]|0)-j,S=F+20|0,q=o[S>>2]|0,o[S>>2]=q-j,(q|0)==(j|0)):0)o[B>>2]=o[F+8>>2];F=o[k>>2]|0;if((F|0)==(o[v>>2]|0)){oe=F;ae=1;break}else{se=F;fe=F}}else{se=c;fe=z}F=o[R>>2]|0;o[R>>2]=F+1;B=t[(o[(o[J>>2]|0)+36>>2]|0)+F>>0]|0;o[k>>2]=se+1;t[(o[g>>2]|0)+se>>0]=B;if(!(B<<24>>24)){oe=fe;ae=B&255;break}c=o[k>>2]|0;z=fe}if((o[(o[J>>2]|0)+44>>2]|0)!=0?(z=o[k>>2]|0,z>>>0>oe>>>0):0)o[I>>2]=je(o[I>>2]|0,(o[g>>2]|0)+oe|0,z-oe|0)|0;if(!ae){o[u>>2]=103;ie=J;_=95;break}else{te=o[u>>2]|0;_=93;break}}}while(0);if((_|0)==93?(te|0)==103:0){ie=f+28|0;_=95}do{if((_|0)==95){if(!(o[(o[ie>>2]|0)+44>>2]|0)){o[u>>2]=113;break}z=f+20|0;c=f+12|0;if((((o[z>>2]|0)+2|0)>>>0>(o[c>>2]|0)>>>0?(R=o[s>>2]|0,v=o[R+20>>2]|0,E=o[h>>2]|0,P=v>>>0>E>>>0?E:v,(P|0)!=0):0)?($r(o[l>>2]|0,o[R+16>>2]|0,P|0)|0,o[l>>2]=(o[l>>2]|0)+P,R=o[s>>2]|0,v=R+16|0,o[v>>2]=(o[v>>2]|0)+P,E=e+20|0,o[E>>2]=(o[E>>2]|0)+P,o[h>>2]=(o[h>>2]|0)-P,E=R+20|0,C=o[E>>2]|0,o[E>>2]=C-P,(C|0)==(P|0)):0)o[v>>2]=o[R+8>>2];R=o[z>>2]|0;if((R+2|0)>>>0<=(o[c>>2]|0)>>>0){c=e+48|0;v=o[c>>2]&255;o[z>>2]=R+1;P=f+8|0;t[(o[P>>2]|0)+R>>0]=v;v=(o[c>>2]|0)>>>8&255;R=o[z>>2]|0;o[z>>2]=R+1;t[(o[P>>2]|0)+R>>0]=v;o[c>>2]=je(0,0,0)|0;o[u>>2]=113}}}while(0);c=f+20|0;if(!(o[c>>2]|0)){if(d&(p|0)>=(r|0)&(o[e+4>>2]|0)==0){o[e+24>>2]=o[2239];n=-5;return n|0}}else{v=o[s>>2]|0;R=o[v+20>>2]|0;P=o[h>>2]|0;z=R>>>0>P>>>0?P:R;if(z){$r(o[l>>2]|0,o[v+16>>2]|0,z|0)|0;o[l>>2]=(o[l>>2]|0)+z;v=o[s>>2]|0;R=v+16|0;o[R>>2]=(o[R>>2]|0)+z;C=e+20|0;o[C>>2]=(o[C>>2]|0)+z;C=(o[h>>2]|0)-z|0;o[h>>2]=C;E=v+20|0;x=o[E>>2]|0;o[E>>2]=x-z;if((x|0)==(z|0)){o[R>>2]=o[v+8>>2];le=C}else le=C}else le=P;if(!le){o[m>>2]=-1;n=0;return n|0}}P=(o[u>>2]|0)==666;C=(o[e+4>>2]|0)==0;if(P)if(C)_=115;else{o[e+24>>2]=o[2239];n=-5;return n|0}else if(C)_=115;else _=116;if((_|0)==115?!((o[f+116>>2]|0)==0&((r|0)==0|P)):0)_=116;do{if((_|0)==116){e:do{switch(o[f+136>>2]|0){case 2:{P=f+116|0;C=f+96|0;v=f+108|0;R=f+56|0;z=f+5792|0;x=f+5796|0;E=f+5784|0;w=f+5788|0;B=f+92|0;while(1){if((o[P>>2]|0)==0?(He(f),(o[P>>2]|0)==0):0)break;o[C>>2]=0;F=t[(o[R>>2]|0)+(o[v>>2]|0)>>0]|0;j=o[z>>2]|0;i[(o[x>>2]|0)+(j<<1)>>1]=0;o[z>>2]=j+1;t[(o[E>>2]|0)+j>>0]=F;j=f+148+((F&255)<<2)|0;i[j>>1]=(i[j>>1]|0)+1<<16>>16;j=(o[z>>2]|0)==((o[w>>2]|0)+-1|0);o[P>>2]=(o[P>>2]|0)+-1;F=(o[v>>2]|0)+1|0;o[v>>2]=F;if(!j)continue;j=o[B>>2]|0;if((j|0)>-1)ue=(o[R>>2]|0)+j|0;else ue=0;gr(f,ue,F-j|0,0);o[B>>2]=o[v>>2];j=o[f>>2]|0;F=j+28|0;q=o[F>>2]|0;S=o[q+20>>2]|0;U=j+16|0;ce=o[U>>2]|0;de=S>>>0>ce>>>0?ce:S;if((de|0)!=0?(S=j+12|0,$r(o[S>>2]|0,o[q+16>>2]|0,de|0)|0,o[S>>2]=(o[S>>2]|0)+de,S=o[F>>2]|0,F=S+16|0,o[F>>2]=(o[F>>2]|0)+de,q=j+20|0,o[q>>2]=(o[q>>2]|0)+de,o[U>>2]=(o[U>>2]|0)-de,U=S+20|0,q=o[U>>2]|0,o[U>>2]=q-de,(q|0)==(de|0)):0)o[F>>2]=o[S+8>>2];if(!(o[(o[f>>2]|0)+16>>2]|0))break e}if(r){P=o[B>>2]|0;if((P|0)>-1)he=(o[R>>2]|0)+P|0;else he=0;w=(r|0)==4;gr(f,he,(o[v>>2]|0)-P|0,w&1);o[B>>2]=o[v>>2];P=o[f>>2]|0;z=P+28|0;E=o[z>>2]|0;x=o[E+20>>2]|0;C=P+16|0;S=o[C>>2]|0;F=x>>>0>S>>>0?S:x;if((F|0)!=0?(x=P+12|0,$r(o[x>>2]|0,o[E+16>>2]|0,F|0)|0,o[x>>2]=(o[x>>2]|0)+F,x=o[z>>2]|0,z=x+16|0,o[z>>2]=(o[z>>2]|0)+F,E=P+20|0,o[E>>2]=(o[E>>2]|0)+F,o[C>>2]=(o[C>>2]|0)-F,C=x+20|0,E=o[C>>2]|0,o[C>>2]=E-F,(E|0)==(F|0)):0)o[z>>2]=o[x+8>>2];if(!(o[(o[f>>2]|0)+16>>2]|0)){me=w?2:0;_=175;break e}else{me=w?3:1;_=175;break e}}break}case 3:{w=f+116|0;x=(r|0)==0;z=f+96|0;F=f+108|0;E=f+5792|0;C=f+5796|0;P=f+5784|0;S=f+2440+(a[14010]<<2)|0;de=f+5788|0;q=f+56|0;U=f+92|0;while(1){j=o[w>>2]|0;if(j>>>0<258){He(f);ce=o[w>>2]|0;if(x&ce>>>0<258)break e;if(!ce)break;o[z>>2]=0;if(ce>>>0>2){pe=ce;_=143}else{we=o[F>>2]|0;_=158}}else{o[z>>2]=0;pe=j;_=143}if((_|0)==143){_=0;j=o[F>>2]|0;if(j){ce=o[q>>2]|0;ke=t[ce+(j+-1)>>0]|0;if((ke<<24>>24==(t[ce+j>>0]|0)?ke<<24>>24==(t[ce+(j+1)>>0]|0):0)?(be=ce+(j+2)|0,ke<<24>>24==(t[be>>0]|0)):0){ve=ce+(j+258)|0;ce=be;while(1){be=ce+1|0;if(ke<<24>>24!=(t[be>>0]|0)){Ee=be;break}be=ce+2|0;if(ke<<24>>24!=(t[be>>0]|0)){Ee=be;break}be=ce+3|0;if(ke<<24>>24!=(t[be>>0]|0)){Ee=be;break}be=ce+4|0;if(ke<<24>>24!=(t[be>>0]|0)){Ee=be;break}be=ce+5|0;if(ke<<24>>24!=(t[be>>0]|0)){Ee=be;break}be=ce+6|0;if(ke<<24>>24!=(t[be>>0]|0)){Ee=be;break}be=ce+7|0;if(ke<<24>>24!=(t[be>>0]|0)){Ee=be;break}be=ce+8|0;if(be>>>0<ve>>>0?ke<<24>>24==(t[be>>0]|0):0)ce=be;else{Ee=be;break}}ce=Ee-ve+258|0;ke=ce>>>0>pe>>>0?pe:ce;o[z>>2]=ke;if(ke>>>0>2){ce=ke+253|0;ke=o[E>>2]|0;i[(o[C>>2]|0)+(ke<<1)>>1]=1;o[E>>2]=ke+1;t[(o[P>>2]|0)+ke>>0]=ce;ke=f+148+((a[14522+(ce&255)>>0]|256)+1<<2)|0;i[ke>>1]=(i[ke>>1]|0)+1<<16>>16;i[S>>1]=(i[S>>1]|0)+1<<16>>16;ke=(o[E>>2]|0)==((o[de>>2]|0)+-1|0)&1;ce=o[z>>2]|0;o[w>>2]=(o[w>>2]|0)-ce;be=(o[F>>2]|0)+ce|0;o[F>>2]=be;o[z>>2]=0;ge=be;ye=ke}else{we=j;_=158}}else{we=j;_=158}}else{we=0;_=158}}if((_|0)==158){_=0;ke=t[(o[q>>2]|0)+we>>0]|0;be=o[E>>2]|0;i[(o[C>>2]|0)+(be<<1)>>1]=0;o[E>>2]=be+1;t[(o[P>>2]|0)+be>>0]=ke;be=f+148+((ke&255)<<2)|0;i[be>>1]=(i[be>>1]|0)+1<<16>>16;be=(o[E>>2]|0)==((o[de>>2]|0)+-1|0)&1;o[w>>2]=(o[w>>2]|0)+-1;ke=(o[F>>2]|0)+1|0;o[F>>2]=ke;ge=ke;ye=be}if(!ye)continue;be=o[U>>2]|0;if((be|0)>-1)_e=(o[q>>2]|0)+be|0;else _e=0;gr(f,_e,ge-be|0,0);o[U>>2]=o[F>>2];be=o[f>>2]|0;ke=be+28|0;ce=o[ke>>2]|0;Se=o[ce+20>>2]|0;Ae=be+16|0;De=o[Ae>>2]|0;Me=Se>>>0>De>>>0?De:Se;if((Me|0)!=0?(Se=be+12|0,$r(o[Se>>2]|0,o[ce+16>>2]|0,Me|0)|0,o[Se>>2]=(o[Se>>2]|0)+Me,Se=o[ke>>2]|0,ke=Se+16|0,o[ke>>2]=(o[ke>>2]|0)+Me,ce=be+20|0,o[ce>>2]=(o[ce>>2]|0)+Me,o[Ae>>2]=(o[Ae>>2]|0)-Me,Ae=Se+20|0,ce=o[Ae>>2]|0,o[Ae>>2]=ce-Me,(ce|0)==(Me|0)):0)o[ke>>2]=o[Se+8>>2];if(!(o[(o[f>>2]|0)+16>>2]|0))break e}w=o[U>>2]|0;if((w|0)>-1)Ne=(o[q>>2]|0)+w|0;else Ne=0;de=(r|0)==4;gr(f,Ne,(o[F>>2]|0)-w|0,de&1);o[U>>2]=o[F>>2];w=o[f>>2]|0;E=w+28|0;P=o[E>>2]|0;C=o[P+20>>2]|0;z=w+16|0;S=o[z>>2]|0;x=C>>>0>S>>>0?S:C;if((x|0)!=0?(C=w+12|0,$r(o[C>>2]|0,o[P+16>>2]|0,x|0)|0,o[C>>2]=(o[C>>2]|0)+x,C=o[E>>2]|0,E=C+16|0,o[E>>2]=(o[E>>2]|0)+x,P=w+20|0,o[P>>2]=(o[P>>2]|0)+x,o[z>>2]=(o[z>>2]|0)-x,z=C+20|0,P=o[z>>2]|0,o[z>>2]=P-x,(P|0)==(x|0)):0)o[E>>2]=o[C+8>>2];if(!(o[(o[f>>2]|0)+16>>2]|0)){me=de?2:0;_=175;break e}else{me=de?3:1;_=175;break e}break}default:{me=pn[o[8200+((o[f+132>>2]|0)*12|0)+8>>2]&3](f,r)|0;_=175}}}while(0);if((_|0)==175){if((me&-2|0)==2)o[u>>2]=666;if(me&-3){if((me|0)!=1)break;switch(r|0){case 1:{Er(f);break}case 5:break;default:{vr(f,0,0,0);if((r|0)==3?(g=o[f+76>>2]|0,I=o[f+68>>2]|0,i[I+(g+-1<<1)>>1]=0,Jr(I|0,0,(g<<1)+-2|0)|0,(o[f+116>>2]|0)==0):0){o[f+108>>2]=0;o[f+92>>2]=0}}}g=o[s>>2]|0;I=o[g+20>>2]|0;k=o[h>>2]|0;de=I>>>0>k>>>0?k:I;if(de){$r(o[l>>2]|0,o[g+16>>2]|0,de|0)|0;o[l>>2]=(o[l>>2]|0)+de;g=o[s>>2]|0;I=g+16|0;o[I>>2]=(o[I>>2]|0)+de;C=e+20|0;o[C>>2]=(o[C>>2]|0)+de;C=(o[h>>2]|0)-de|0;o[h>>2]=C;E=g+20|0;x=o[E>>2]|0;o[E>>2]=x-de;if((x|0)==(de|0)){o[I>>2]=o[g+8>>2];Le=C}else Le=C}else Le=k;if(Le)break;o[m>>2]=-1;n=0;return n|0}}if(o[h>>2]|0){n=0;return n|0}o[m>>2]=-1;n=0;return n|0}}while(0);if(d){n=0;return n|0}m=f+24|0;u=o[m>>2]|0;if((u|0)<1){n=1;return n|0}p=e+48|0;k=o[p>>2]|0;if((u|0)==2){u=o[c>>2]|0;o[c>>2]=u+1;C=f+8|0;t[(o[C>>2]|0)+u>>0]=k;u=(o[p>>2]|0)>>>8&255;g=o[c>>2]|0;o[c>>2]=g+1;t[(o[C>>2]|0)+g>>0]=u;u=(o[p>>2]|0)>>>16&255;g=o[c>>2]|0;o[c>>2]=g+1;t[(o[C>>2]|0)+g>>0]=u;u=(o[p>>2]|0)>>>24&255;g=o[c>>2]|0;o[c>>2]=g+1;t[(o[C>>2]|0)+g>>0]=u;u=e+8|0;g=o[u>>2]&255;I=o[c>>2]|0;o[c>>2]=I+1;t[(o[C>>2]|0)+I>>0]=g;g=(o[u>>2]|0)>>>8&255;I=o[c>>2]|0;o[c>>2]=I+1;t[(o[C>>2]|0)+I>>0]=g;g=(o[u>>2]|0)>>>16&255;I=o[c>>2]|0;o[c>>2]=I+1;t[(o[C>>2]|0)+I>>0]=g;g=(o[u>>2]|0)>>>24&255;u=o[c>>2]|0;o[c>>2]=u+1;t[(o[C>>2]|0)+u>>0]=g}else{g=o[c>>2]|0;o[c>>2]=g+1;u=f+8|0;t[(o[u>>2]|0)+g>>0]=k>>>24;g=o[c>>2]|0;o[c>>2]=g+1;t[(o[u>>2]|0)+g>>0]=k>>>16;k=o[p>>2]|0;p=o[c>>2]|0;o[c>>2]=p+1;t[(o[u>>2]|0)+p>>0]=k>>>8;p=o[c>>2]|0;o[c>>2]=p+1;t[(o[u>>2]|0)+p>>0]=k}k=o[s>>2]|0;p=o[k+20>>2]|0;u=o[h>>2]|0;g=p>>>0>u>>>0?u:p;if((g|0)!=0?($r(o[l>>2]|0,o[k+16>>2]|0,g|0)|0,o[l>>2]=(o[l>>2]|0)+g,k=o[s>>2]|0,p=k+16|0,o[p>>2]=(o[p>>2]|0)+g,u=e+20|0,o[u>>2]=(o[u>>2]|0)+g,o[h>>2]=(o[h>>2]|0)-g,u=k+20|0,C=o[u>>2]|0,o[u>>2]=C-g,(C|0)==(g|0)):0)o[p>>2]=o[k+8>>2];k=o[m>>2]|0;if((k|0)>0)o[m>>2]=0-k;n=(o[c>>2]|0)==0&1;return n|0}}}while(0);o[e+24>>2]=o[2236];n=-2;return n|0}function He(e){e=e|0;var r=0,n=0,t=0,f=0,l=0,u=0,c=0,d=0,h=0,m=0,p=0,w=0,k=0,b=0,v=0,E=0,g=0,y=0,_=0,S=0,A=0,D=0,M=0,N=0,L=0,O=0,T=0,F=0,R=0,P=0,I=0,C=0;r=e+44|0;n=o[r>>2]|0;t=e+60|0;f=e+116|0;l=e+108|0;u=n+-262|0;c=e+56|0;d=e+72|0;h=e+88|0;m=e+84|0;p=e+112|0;w=e+92|0;k=e+76|0;b=e+68|0;v=e+64|0;E=o[f>>2]|0;g=n;while(1){y=o[l>>2]|0;_=(o[t>>2]|0)-E-y|0;if(y>>>0<(u+g|0)>>>0){S=y;A=_}else{y=o[c>>2]|0;$r(y|0,y+n|0,n|0)|0;o[p>>2]=(o[p>>2]|0)-n;y=(o[l>>2]|0)-n|0;o[l>>2]=y;o[w>>2]=(o[w>>2]|0)-n;D=o[k>>2]|0;M=D;N=(o[b>>2]|0)+(D<<1)|0;do{N=N+-2|0;D=s[N>>1]|0;i[N>>1]=D>>>0<n>>>0?0:D-n&65535;M=M+-1|0}while((M|0)!=0);M=n;N=(o[v>>2]|0)+(n<<1)|0;do{N=N+-2|0;D=s[N>>1]|0;i[N>>1]=D>>>0<n>>>0?0:D-n&65535;M=M+-1|0}while((M|0)!=0);S=y;A=_+n|0}M=o[e>>2]|0;N=M+4|0;D=o[N>>2]|0;if(!D){L=24;break}O=o[f>>2]|0;T=(o[c>>2]|0)+(O+S)|0;F=D>>>0>A>>>0?A:D;if(!F){R=0;P=O}else{o[N>>2]=D-F;switch(o[(o[M+28>>2]|0)+24>>2]|0){case 1:{D=M+48|0;o[D>>2]=Ue(o[D>>2]|0,o[M>>2]|0,F)|0;I=M;break}case 2:{D=M+48|0;o[D>>2]=je(o[D>>2]|0,o[M>>2]|0,F)|0;I=M;break}default:I=M}$r(T|0,o[I>>2]|0,F|0)|0;o[I>>2]=(o[I>>2]|0)+F;T=M+8|0;o[T>>2]=(o[T>>2]|0)+F;R=F;P=o[f>>2]|0}F=P+R|0;o[f>>2]=F;if(F>>>0>2?(T=o[l>>2]|0,M=o[c>>2]|0,D=a[M+T>>0]|0,o[d>>2]=D,o[d>>2]=((a[M+(T+1)>>0]|0)^D<<o[h>>2])&o[m>>2],F>>>0>=262):0){C=F;break}if(!(o[(o[e>>2]|0)+4>>2]|0)){C=F;break}E=F;g=o[r>>2]|0}if((L|0)==24)return;L=e+5824|0;e=o[L>>2]|0;r=o[t>>2]|0;if(r>>>0<=e>>>0)return;t=C+(o[l>>2]|0)|0;if(e>>>0<t>>>0){l=r-t|0;C=l>>>0>258?258:l;Jr((o[c>>2]|0)+t|0,0,C|0)|0;o[L>>2]=C+t;return}C=t+258|0;if(C>>>0<=e>>>0)return;t=C-e|0;C=r-e|0;r=t>>>0>C>>>0?C:t;Jr((o[c>>2]|0)+e|0,0,r|0)|0;o[L>>2]=(o[L>>2]|0)+r;return}function We(e,r){e=e|0;r=r|0;var n=0,t=0,i=0,a=0,s=0,f=0,l=0,u=0,c=0,d=0,h=0,m=0,p=0,w=0,k=0,b=0,v=0,E=0,g=0,y=0,_=0;n=(o[e+12>>2]|0)+-5|0;t=n>>>0<65535?n:65535;n=e+116|0;i=e+108|0;a=e+92|0;s=e+44|0;f=e+56|0;while(1){l=o[n>>2]|0;if(l>>>0<2){He(e);u=o[n>>2]|0;if(!(u|r)){c=0;d=28;break}if(!u){d=20;break}else h=u}else h=l;l=(o[i>>2]|0)+h|0;o[i>>2]=l;o[n>>2]=0;u=o[a>>2]|0;m=u+t|0;if((l|0)!=0&l>>>0<m>>>0){p=l;w=u}else{o[n>>2]=l-m;o[i>>2]=m;if((u|0)>-1)k=(o[f>>2]|0)+u|0;else k=0;gr(e,k,t,0);o[a>>2]=o[i>>2];u=o[e>>2]|0;m=u+28|0;l=o[m>>2]|0;b=o[l+20>>2]|0;v=u+16|0;E=o[v>>2]|0;g=b>>>0>E>>>0?E:b;if((g|0)!=0?(b=u+12|0,$r(o[b>>2]|0,o[l+16>>2]|0,g|0)|0,o[b>>2]=(o[b>>2]|0)+g,b=o[m>>2]|0,m=b+16|0,o[m>>2]=(o[m>>2]|0)+g,l=u+20|0,o[l>>2]=(o[l>>2]|0)+g,o[v>>2]=(o[v>>2]|0)-g,v=b+20|0,l=o[v>>2]|0,o[v>>2]=l-g,(l|0)==(g|0)):0)o[m>>2]=o[b+8>>2];if(!(o[(o[e>>2]|0)+16>>2]|0)){c=0;d=28;break}p=o[i>>2]|0;w=o[a>>2]|0}b=p-w|0;if(b>>>0<((o[s>>2]|0)+-262|0)>>>0)continue;if((w|0)>-1)y=(o[f>>2]|0)+w|0;else y=0;gr(e,y,b,0);o[a>>2]=o[i>>2];b=o[e>>2]|0;m=b+28|0;g=o[m>>2]|0;l=o[g+20>>2]|0;v=b+16|0;u=o[v>>2]|0;E=l>>>0>u>>>0?u:l;if((E|0)!=0?(l=b+12|0,$r(o[l>>2]|0,o[g+16>>2]|0,E|0)|0,o[l>>2]=(o[l>>2]|0)+E,l=o[m>>2]|0,m=l+16|0,o[m>>2]=(o[m>>2]|0)+E,g=b+20|0,o[g>>2]=(o[g>>2]|0)+E,o[v>>2]=(o[v>>2]|0)-E,v=l+20|0,g=o[v>>2]|0,o[v>>2]=g-E,(g|0)==(E|0)):0)o[m>>2]=o[l+8>>2];if(!(o[(o[e>>2]|0)+16>>2]|0)){c=0;d=28;break}}if((d|0)==20){y=o[a>>2]|0;if((y|0)>-1)_=(o[f>>2]|0)+y|0;else _=0;f=(r|0)==4;gr(e,_,(o[i>>2]|0)-y|0,f&1);o[a>>2]=o[i>>2];i=o[e>>2]|0;a=i+28|0;y=o[a>>2]|0;_=o[y+20>>2]|0;r=i+16|0;w=o[r>>2]|0;s=_>>>0>w>>>0?w:_;if((s|0)!=0?(_=i+12|0,$r(o[_>>2]|0,o[y+16>>2]|0,s|0)|0,o[_>>2]=(o[_>>2]|0)+s,_=o[a>>2]|0,a=_+16|0,o[a>>2]=(o[a>>2]|0)+s,y=i+20|0,o[y>>2]=(o[y>>2]|0)+s,o[r>>2]=(o[r>>2]|0)-s,r=_+20|0,y=o[r>>2]|0,o[r>>2]=y-s,(y|0)==(s|0)):0)o[a>>2]=o[_+8>>2];if(!(o[(o[e>>2]|0)+16>>2]|0)){c=f?2:0;return c|0}else{c=f?3:1;return c|0}}else if((d|0)==28)return c|0;return 0}function Ge(e,r){e=e|0;r=r|0;var n=0,s=0,f=0,l=0,u=0,c=0,d=0,h=0,m=0,p=0,w=0,k=0,b=0,v=0,E=0,g=0,y=0,_=0,S=0,A=0,D=0,M=0,N=0,L=0,O=0,T=0,F=0,R=0,P=0,I=0,C=0,x=0,B=0,z=0,U=0,j=0,q=0,Y=0,V=0;n=e+116|0;s=(r|0)==0;f=e+72|0;l=e+88|0;u=e+108|0;c=e+56|0;d=e+84|0;h=e+68|0;m=e+52|0;p=e+64|0;w=e+44|0;k=e+96|0;b=e+112|0;v=e+5792|0;E=e+5796|0;g=e+5784|0;y=e+5788|0;_=e+128|0;S=e+92|0;while(1){if((o[n>>2]|0)>>>0<262){He(e);A=o[n>>2]|0;if(s&A>>>0<262){D=0;M=32;break}if(!A){M=24;break}if(A>>>0<=2)M=9;else M=6}else M=6;if((M|0)==6){M=0;A=o[u>>2]|0;N=((a[(o[c>>2]|0)+(A+2)>>0]|0)^o[f>>2]<<o[l>>2])&o[d>>2];o[f>>2]=N;L=(o[h>>2]|0)+(N<<1)|0;N=i[L>>1]|0;i[(o[p>>2]|0)+((o[m>>2]&A)<<1)>>1]=N;O=N&65535;i[L>>1]=A;if(N<<16>>16!=0?(A-O|0)>>>0<=((o[w>>2]|0)+-262|0)>>>0:0){A=Ze(e,O)|0;o[k>>2]=A;T=A}else M=9}if((M|0)==9){M=0;T=o[k>>2]|0}do{if(T>>>0>2){A=T+253|0;O=(o[u>>2]|0)-(o[b>>2]|0)|0;N=o[v>>2]|0;i[(o[E>>2]|0)+(N<<1)>>1]=O;o[v>>2]=N+1;t[(o[g>>2]|0)+N>>0]=A;N=e+148+((a[14522+(A&255)>>0]|0|256)+1<<2)|0;i[N>>1]=(i[N>>1]|0)+1<<16>>16;N=O+65535&65535;O=e+2440+((a[14010+(N>>>0<256?N:(N>>>7)+256|0)>>0]|0)<<2)|0;i[O>>1]=(i[O>>1]|0)+1<<16>>16;O=(o[v>>2]|0)==((o[y>>2]|0)+-1|0)&1;N=o[k>>2]|0;A=(o[n>>2]|0)-N|0;o[n>>2]=A;if(!(A>>>0>2?N>>>0<=(o[_>>2]|0)>>>0:0)){A=(o[u>>2]|0)+N|0;o[u>>2]=A;o[k>>2]=0;L=o[c>>2]|0;F=a[L+A>>0]|0;o[f>>2]=F;o[f>>2]=((a[L+(A+1)>>0]|0)^F<<o[l>>2])&o[d>>2];R=A;P=O;break}A=N+-1|0;o[k>>2]=A;N=o[l>>2]|0;F=o[c>>2]|0;L=o[d>>2]|0;I=o[h>>2]|0;C=o[m>>2]|0;x=o[p>>2]|0;B=A;A=o[u>>2]|0;z=o[f>>2]|0;while(1){U=A+1|0;o[u>>2]=U;z=((a[F+(A+3)>>0]|0)^z<<N)&L;o[f>>2]=z;j=I+(z<<1)|0;i[x+((C&U)<<1)>>1]=i[j>>1]|0;i[j>>1]=U;B=B+-1|0;o[k>>2]=B;if(!B){q=A;break}else A=U}A=q+2|0;o[u>>2]=A;R=A;P=O}else{A=t[(o[c>>2]|0)+(o[u>>2]|0)>>0]|0;B=o[v>>2]|0;i[(o[E>>2]|0)+(B<<1)>>1]=0;o[v>>2]=B+1;t[(o[g>>2]|0)+B>>0]=A;B=e+148+((A&255)<<2)|0;i[B>>1]=(i[B>>1]|0)+1<<16>>16;B=(o[v>>2]|0)==((o[y>>2]|0)+-1|0)&1;o[n>>2]=(o[n>>2]|0)+-1;A=(o[u>>2]|0)+1|0;o[u>>2]=A;R=A;P=B}}while(0);if(!P)continue;B=o[S>>2]|0;if((B|0)>-1)Y=(o[c>>2]|0)+B|0;else Y=0;gr(e,Y,R-B|0,0);o[S>>2]=o[u>>2];B=o[e>>2]|0;A=B+28|0;C=o[A>>2]|0;x=o[C+20>>2]|0;z=B+16|0;I=o[z>>2]|0;L=x>>>0>I>>>0?I:x;if((L|0)!=0?(x=B+12|0,$r(o[x>>2]|0,o[C+16>>2]|0,L|0)|0,o[x>>2]=(o[x>>2]|0)+L,x=o[A>>2]|0,A=x+16|0,o[A>>2]=(o[A>>2]|0)+L,C=B+20|0,o[C>>2]=(o[C>>2]|0)+L,o[z>>2]=(o[z>>2]|0)-L,z=x+20|0,C=o[z>>2]|0,o[z>>2]=C-L,(C|0)==(L|0)):0)o[A>>2]=o[x+8>>2];if(!(o[(o[e>>2]|0)+16>>2]|0)){D=0;M=32;break}}if((M|0)==24){R=o[S>>2]|0;if((R|0)>-1)V=(o[c>>2]|0)+R|0;else V=0;c=(r|0)==4;gr(e,V,(o[u>>2]|0)-R|0,c&1);o[S>>2]=o[u>>2];u=o[e>>2]|0;S=u+28|0;R=o[S>>2]|0;V=o[R+20>>2]|0;r=u+16|0;Y=o[r>>2]|0;P=V>>>0>Y>>>0?Y:V;if((P|0)!=0?(V=u+12|0,$r(o[V>>2]|0,o[R+16>>2]|0,P|0)|0,o[V>>2]=(o[V>>2]|0)+P,V=o[S>>2]|0,S=V+16|0,o[S>>2]=(o[S>>2]|0)+P,R=u+20|0,o[R>>2]=(o[R>>2]|0)+P,o[r>>2]=(o[r>>2]|0)-P,r=V+20|0,R=o[r>>2]|0,o[r>>2]=R-P,(R|0)==(P|0)):0)o[S>>2]=o[V+8>>2];if(!(o[(o[e>>2]|0)+16>>2]|0)){D=c?2:0;return D|0}else{D=c?3:1;return D|0}}else if((M|0)==32)return D|0;return 0}function Ke(e,r){e=e|0;r=r|0;var n=0,s=0,f=0,l=0,u=0,c=0,d=0,h=0,m=0,p=0,w=0,k=0,b=0,v=0,E=0,g=0,y=0,_=0,S=0,A=0,D=0,M=0,N=0,L=0,O=0,T=0,F=0,R=0,P=0,I=0,C=0,x=0,B=0,z=0,U=0,j=0,q=0,Y=0,V=0,X=0,H=0,W=0;n=e+116|0;s=(r|0)==0;f=e+72|0;l=e+88|0;u=e+108|0;c=e+56|0;d=e+84|0;h=e+68|0;m=e+52|0;p=e+64|0;w=e+96|0;k=e+120|0;b=e+112|0;v=e+100|0;E=e+5792|0;g=e+5796|0;y=e+5784|0;_=e+5788|0;S=e+104|0;A=e+92|0;D=e+128|0;M=e+44|0;N=e+136|0;e:while(1){L=o[n>>2]|0;while(1){if(L>>>0<262){He(e);O=o[n>>2]|0;if(s&O>>>0<262){T=0;F=48;break e}if(!O){F=38;break e}if(O>>>0<=2){o[k>>2]=o[w>>2];o[v>>2]=o[b>>2];o[w>>2]=2;R=2;F=16}else F=8}else F=8;do{if((F|0)==8){F=0;O=o[u>>2]|0;P=((a[(o[c>>2]|0)+(O+2)>>0]|0)^o[f>>2]<<o[l>>2])&o[d>>2];o[f>>2]=P;I=(o[h>>2]|0)+(P<<1)|0;P=i[I>>1]|0;i[(o[p>>2]|0)+((o[m>>2]&O)<<1)>>1]=P;C=P&65535;i[I>>1]=O;O=o[w>>2]|0;o[k>>2]=O;o[v>>2]=o[b>>2];o[w>>2]=2;if(P<<16>>16)if(O>>>0<(o[D>>2]|0)>>>0)if(((o[u>>2]|0)-C|0)>>>0<=((o[M>>2]|0)+-262|0)>>>0){P=Ze(e,C)|0;o[w>>2]=P;if(P>>>0<6){if((o[N>>2]|0)!=1){if((P|0)!=3){R=P;F=16;break}if(((o[u>>2]|0)-(o[b>>2]|0)|0)>>>0<=4096){R=3;F=16;break}}o[w>>2]=2;R=2;F=16}else{R=P;F=16}}else{R=2;F=16}else{x=O;B=2}else{R=2;F=16}}}while(0);if((F|0)==16){F=0;x=o[k>>2]|0;B=R}if(!(x>>>0<3|B>>>0>x>>>0)){z=x;break}if(!(o[S>>2]|0)){o[S>>2]=1;o[u>>2]=(o[u>>2]|0)+1;O=(o[n>>2]|0)+-1|0;o[n>>2]=O;L=O;continue}O=t[(o[c>>2]|0)+((o[u>>2]|0)+-1)>>0]|0;P=o[E>>2]|0;i[(o[g>>2]|0)+(P<<1)>>1]=0;o[E>>2]=P+1;t[(o[y>>2]|0)+P>>0]=O;P=e+148+((O&255)<<2)|0;i[P>>1]=(i[P>>1]|0)+1<<16>>16;if((o[E>>2]|0)==((o[_>>2]|0)+-1|0)){P=o[A>>2]|0;if((P|0)>-1)U=(o[c>>2]|0)+P|0;else U=0;gr(e,U,(o[u>>2]|0)-P|0,0);o[A>>2]=o[u>>2];P=o[e>>2]|0;O=P+28|0;C=o[O>>2]|0;I=o[C+20>>2]|0;j=P+16|0;q=o[j>>2]|0;Y=I>>>0>q>>>0?q:I;if((Y|0)!=0?(I=P+12|0,$r(o[I>>2]|0,o[C+16>>2]|0,Y|0)|0,o[I>>2]=(o[I>>2]|0)+Y,I=o[O>>2]|0,O=I+16|0,o[O>>2]=(o[O>>2]|0)+Y,C=P+20|0,o[C>>2]=(o[C>>2]|0)+Y,o[j>>2]=(o[j>>2]|0)-Y,j=I+20|0,C=o[j>>2]|0,o[j>>2]=C-Y,(C|0)==(Y|0)):0)o[O>>2]=o[I+8>>2]}o[u>>2]=(o[u>>2]|0)+1;L=(o[n>>2]|0)+-1|0;o[n>>2]=L;if(!(o[(o[e>>2]|0)+16>>2]|0)){T=0;F=48;break e}}L=o[u>>2]|0;I=L+-3+(o[n>>2]|0)|0;O=z+253|0;Y=L+65535-(o[v>>2]|0)|0;L=o[E>>2]|0;i[(o[g>>2]|0)+(L<<1)>>1]=Y;o[E>>2]=L+1;t[(o[y>>2]|0)+L>>0]=O;L=e+148+((a[14522+(O&255)>>0]|0|256)+1<<2)|0;i[L>>1]=(i[L>>1]|0)+1<<16>>16;L=Y+65535&65535;Y=e+2440+((a[14010+(L>>>0<256?L:(L>>>7)+256|0)>>0]|0)<<2)|0;i[Y>>1]=(i[Y>>1]|0)+1<<16>>16;Y=o[E>>2]|0;L=(o[_>>2]|0)+-1|0;O=o[k>>2]|0;o[n>>2]=1-O+(o[n>>2]|0);C=O+-2|0;o[k>>2]=C;O=o[u>>2]|0;j=C;while(1){C=O+1|0;o[u>>2]=C;if(C>>>0<=I>>>0){P=((a[(o[c>>2]|0)+(O+3)>>0]|0)^o[f>>2]<<o[l>>2])&o[d>>2];o[f>>2]=P;q=(o[h>>2]|0)+(P<<1)|0;i[(o[p>>2]|0)+((o[m>>2]&C)<<1)>>1]=i[q>>1]|0;i[q>>1]=C}j=j+-1|0;o[k>>2]=j;if(!j){V=O;break}else O=C}o[S>>2]=0;o[w>>2]=2;O=V+2|0;o[u>>2]=O;if((Y|0)!=(L|0))continue;j=o[A>>2]|0;if((j|0)>-1)X=(o[c>>2]|0)+j|0;else X=0;gr(e,X,O-j|0,0);o[A>>2]=o[u>>2];j=o[e>>2]|0;O=j+28|0;I=o[O>>2]|0;C=o[I+20>>2]|0;q=j+16|0;P=o[q>>2]|0;H=C>>>0>P>>>0?P:C;if((H|0)!=0?(C=j+12|0,$r(o[C>>2]|0,o[I+16>>2]|0,H|0)|0,o[C>>2]=(o[C>>2]|0)+H,C=o[O>>2]|0,O=C+16|0,o[O>>2]=(o[O>>2]|0)+H,I=j+20|0,o[I>>2]=(o[I>>2]|0)+H,o[q>>2]=(o[q>>2]|0)-H,q=C+20|0,I=o[q>>2]|0,o[q>>2]=I-H,(I|0)==(H|0)):0)o[O>>2]=o[C+8>>2];if(!(o[(o[e>>2]|0)+16>>2]|0)){T=0;F=48;break}}if((F|0)==38){if(o[S>>2]|0){X=t[(o[c>>2]|0)+((o[u>>2]|0)+-1)>>0]|0;V=o[E>>2]|0;i[(o[g>>2]|0)+(V<<1)>>1]=0;o[E>>2]=V+1;t[(o[y>>2]|0)+V>>0]=X;V=e+148+((X&255)<<2)|0;i[V>>1]=(i[V>>1]|0)+1<<16>>16;o[S>>2]=0}S=o[A>>2]|0;if((S|0)>-1)W=(o[c>>2]|0)+S|0;else W=0;c=(r|0)==4;gr(e,W,(o[u>>2]|0)-S|0,c&1);o[A>>2]=o[u>>2];u=o[e>>2]|0;A=u+28|0;S=o[A>>2]|0;W=o[S+20>>2]|0;r=u+16|0;V=o[r>>2]|0;X=W>>>0>V>>>0?V:W;if((X|0)!=0?(W=u+12|0,$r(o[W>>2]|0,o[S+16>>2]|0,X|0)|0,o[W>>2]=(o[W>>2]|0)+X,W=o[A>>2]|0,A=W+16|0,o[A>>2]=(o[A>>2]|0)+X,S=u+20|0,o[S>>2]=(o[S>>2]|0)+X,o[r>>2]=(o[r>>2]|0)-X,r=W+20|0,S=o[r>>2]|0,o[r>>2]=S-X,(S|0)==(X|0)):0)o[A>>2]=o[W+8>>2];if(!(o[(o[e>>2]|0)+16>>2]|0)){T=c?2:0;return T|0}else{T=c?3:1;return T|0}}else if((F|0)==48)return T|0;return 0}function Ze(e,r){e=e|0;r=r|0;var n=0,i=0,a=0,f=0,l=0,u=0,c=0,d=0,h=0,m=0,p=0,w=0,k=0,b=0,v=0,E=0,g=0,y=0,_=0,S=0,A=0,D=0,M=0,N=0,L=0,O=0;n=o[e+124>>2]|0;i=o[e+56>>2]|0;a=o[e+108>>2]|0;f=i+a|0;l=o[e+120>>2]|0;u=o[e+144>>2]|0;c=(o[e+44>>2]|0)+-262|0;d=a>>>0>c>>>0?a-c|0:0;c=o[e+64>>2]|0;h=o[e+52>>2]|0;m=i+(a+258)|0;p=o[e+116>>2]|0;w=u>>>0>p>>>0?p:u;u=e+112|0;k=i+(a+1)|0;b=i+(a+2)|0;v=m;E=a+257|0;g=r;r=l;y=l>>>0<(o[e+140>>2]|0)>>>0?n:n>>>2;n=t[i+(l+a)>>0]|0;e=t[i+(a+-1+l)>>0]|0;while(1){l=i+g|0;if((((t[i+(g+r)>>0]|0)==n<<24>>24?(t[i+(r+-1+g)>>0]|0)==e<<24>>24:0)?(t[l>>0]|0)==(t[f>>0]|0):0)?(t[i+(g+1)>>0]|0)==(t[k>>0]|0):0){l=i+(g+2)|0;_=b;while(1){S=_+1|0;if((t[S>>0]|0)!=(t[l+1>>0]|0)){A=S;break}S=_+2|0;if((t[S>>0]|0)!=(t[l+2>>0]|0)){A=S;break}S=_+3|0;if((t[S>>0]|0)!=(t[l+3>>0]|0)){A=S;break}S=_+4|0;if((t[S>>0]|0)!=(t[l+4>>0]|0)){A=S;break}S=_+5|0;if((t[S>>0]|0)!=(t[l+5>>0]|0)){A=S;break}S=_+6|0;if((t[S>>0]|0)!=(t[l+6>>0]|0)){A=S;break}S=_+7|0;if((t[S>>0]|0)!=(t[l+7>>0]|0)){A=S;break}S=_+8|0;l=l+8|0;if(!(S>>>0<m>>>0?(t[S>>0]|0)==(t[l>>0]|0):0)){A=S;break}else _=S}_=A-v|0;l=_+258|0;if((l|0)>(r|0)){o[u>>2]=g;if((l|0)>=(w|0)){D=l;M=20;break}N=l;L=t[i+(l+a)>>0]|0;O=t[i+(E+_)>>0]|0}else{N=r;L=n;O=e}}else{N=r;L=n;O=e}g=s[c+((g&h)<<1)>>1]|0;if(g>>>0<=d>>>0){D=N;M=20;break}y=y+-1|0;if(!y){D=N;M=20;break}else{r=N;n=L;e=O}}if((M|0)==20)return(D>>>0>p>>>0?p:D)|0;return 0}function Qe(e){e=e|0;var r=0;do{if(e)if((o[e>>2]|0)==7247){r=nr(e)|0;break}else{r=sr(e)|0;break}else r=-2}while(0);return r|0}function Je(e,r){e=e|0;r=r|0;return er(e,-1,r)|0}function $e(e,r,n){e=e|0;r=r|0;n=n|0;var i=0,a=0,s=0;i=e+80|0;a=o[i>>2]|0;s=e+76|0;if(a){if((o[s>>2]|0)!=-4)Zr(a);o[i>>2]=0}o[s>>2]=r;if(!n)return;if((r|0)==-4){o[i>>2]=n;return}r=o[e+8>>2]|0;e=qr(r)|0;a=Kr(e+3+(qr(n)|0)|0)|0;o[i>>2]=a;if(!a){o[s>>2]=-4;o[i>>2]=13529;return}else{jr(a,r)|0;r=o[i>>2]|0;a=r+(qr(r)|0)|0;t[a>>0]=t[13366]|0;t[a+1>>0]=t[13367]|0;t[a+2>>0]=t[13368]|0;Ur(o[i>>2]|0,n)|0;return}}function er(e,r,n){e=e|0;r=r|0;n=n|0;var i=0,a=0,s=0,f=0,l=0,u=0,d=0,h=0,m=0,p=0,w=0,k=0,b=0,v=0;i=c;c=c+16|0;a=i;s=Kr(140)|0;if(!s){f=0;c=i;return f|0}o[s+16>>2]=0;o[s+20>>2]=8192;l=s+80|0;o[l>>2]=0;o[s>>2]=0;u=s+60|0;o[u>>2]=-1;d=s+64|0;o[d>>2]=0;h=t[n>>0]|0;if(h<<24>>24){m=n;n=h;h=0;e:while(1){p=n<<24>>24;r:do{if((n+-48&255)<10){o[u>>2]=p+-48;w=h}else switch(p|0){case 43:{k=9;break e;break}case 114:{o[s>>2]=7247;w=7247;break r;break}case 119:{o[s>>2]=31153;w=31153;break r;break}case 97:{o[s>>2]=1;w=1;break r;break}case 70:{o[d>>2]=4;w=h;break r;break}case 102:{o[d>>2]=1;w=h;break r;break}case 104:{o[d>>2]=2;w=h;break r;break}case 82:{o[d>>2]=3;w=h;break r;break}default:{w=h;break r}}}while(0);m=m+1|0;n=t[m>>0]|0;if(!(n<<24>>24)){b=w;break}else h=w}if((k|0)==9){Zr(s);f=0;c=i;return f|0}if(b){b=Kr((qr(e)|0)+1|0)|0;k=s+8|0;o[k>>2]=b;if(!b){Zr(s);f=0;c=i;return f|0}jr(b,e)|0;if((r|0)==-1){b=o[s>>2]|0;o[a>>2]=438;w=Or(e,(b|0)==7247?32768:(b|0)==31153?33345:33857,a)|0;o[s+4>>2]=w;if((w|0)==-1){Zr(o[k>>2]|0);Zr(s);f=0;c=i;return f|0}else v=w}else{o[s+4>>2]=r;v=r}r=o[s>>2]|0;e:do{if((r|0)>=7247){switch(r|0){case 7247:break;default:break e}w=Vr(v,0,1)|0;o[s+44>>2]=(w|0)==-1?0:w;if((o[s>>2]|0)==7247){o[s+36>>2]=0;o[s+40>>2]=0;o[s+52>>2]=0;o[s+56>>2]=1}}else{switch(r|0){case 1:break;default:break e}o[s>>2]=31153}}while(0);o[s+72>>2]=0;r=o[l>>2]|0;v=s+76|0;if(r){if((o[v>>2]|0)!=-4)Zr(r);o[l>>2]=0}o[v>>2]=0;o[s+12>>2]=0;o[s+88>>2]=0;f=s;c=i;return f|0}}Zr(s);f=0;c=i;return f|0}function rr(e,r,n){e=e|0;r=r|0;n=n|0;var t=0,i=0,a=0,s=0,f=0,l=0,u=0,c=0,d=0,h=0,m=0,p=0,w=0,k=0,b=0,v=0,E=0,g=0,y=0,_=0,S=0,A=0,D=0,M=0,N=0,L=0,O=0,T=0,F=0,R=0,P=0,I=0,C=0,x=0,B=0,z=0,U=0;if(!e){t=-1;return t|0}if((o[e>>2]|0)!=7247){t=-1;return t|0}if(o[e+76>>2]|0){t=-1;return t|0}if((n|0)<0){$e(e,-5,13453);t=-1;return t|0}if(!n){t=0;return t|0}i=e+72|0;e:do{if(o[i>>2]|0){o[i>>2]=0;a=o[e+68>>2]|0;s=e+88|0;f=e+36|0;l=e+40|0;u=e+32|0;c=e+12|0;if(a){d=e+52|0;h=e+28|0;m=e+16|0;p=e+4|0;w=e+100|0;k=e+96|0;b=a;r:while(1){n:while(1){a=o[f>>2]|0;while(1){if(a){v=a;break n}if((o[l>>2]|0)!=0?(o[s>>2]|0)==0:0){E=f;g=l;y=u;_=s;S=c;A=u;break e}D=o[d>>2]|0;if(D){M=D;break}if((tr(e)|0)==-1){t=-1;N=59;break r}a=o[f>>2]|0;if(!a){N=21;break}}if((N|0)==21){N=0;M=o[d>>2]|0}switch(M|0){case 1:break;case 2:{o[w>>2]=o[m>>2]<<1;o[k>>2]=o[h>>2];if((ir(e)|0)==-1){t=-1;N=59;break r}else continue n;break}default:continue n}a=o[h>>2]|0;D=o[m>>2]<<1;o[f>>2]=0;L=0;do{O=Xr(o[p>>2]|0,a+L|0,D-L|0)|0;if((O|0)<1){T=O;N=26;break}L=(o[f>>2]|0)+O|0;o[f>>2]=L}while(L>>>0<D>>>0);if((N|0)==26){N=0;if((T|0)<0){N=28;break r}o[l>>2]=1}o[u>>2]=o[h>>2]}D=(v|0)<0|(v|0)>(b|0)?b:v;o[f>>2]=v-D;o[u>>2]=(o[u>>2]|0)+D;o[c>>2]=(o[c>>2]|0)+D;if((b|0)==(D|0)){E=f;g=l;y=u;_=s;S=c;A=u;break e}else b=b-D|0}if((N|0)==28){$e(e,-1,Lr(o[(Nr()|0)>>2]|0)|0);t=-1;return t|0}else if((N|0)==59)return t|0}else{E=f;g=l;y=u;_=s;S=c;A=u}}else{b=e+32|0;E=e+36|0;g=e+40|0;y=b;_=e+88|0;S=e+12|0;A=b}}while(0);v=e+52|0;T=e+28|0;M=e+16|0;i=e+4|0;b=e+100|0;h=e+96|0;p=r;r=n;n=0;e:while(1){m=o[E>>2]|0;r:do{if(!m){if((o[g>>2]|0)!=0?(o[_>>2]|0)==0:0){t=n;N=59;break e}k=o[v>>2]|0;if(k)if(r>>>0<o[M>>2]<<1>>>0)F=k;else{if((k|0)==1)R=0;else{o[b>>2]=r;o[h>>2]=p;if((ir(e)|0)==-1){t=-1;N=59;break e}k=o[E>>2]|0;o[E>>2]=0;P=k;N=57;break}while(1){k=Xr(o[i>>2]|0,p+R|0,r-R|0)|0;if((k|0)<1){I=R;C=k;break}w=k+R|0;if(w>>>0<r>>>0)R=w;else{P=w;N=57;break r}}if((C|0)<0){N=54;break e}o[g>>2]=1;P=I;N=57;break}else{if((tr(e)|0)==-1){t=-1;N=59;break e}if(o[E>>2]|0){x=p;B=r;z=n;break}F=o[v>>2]|0}switch(F|0){case 1:break;case 2:{o[b>>2]=o[M>>2]<<1;o[h>>2]=o[T>>2];if((ir(e)|0)==-1){t=-1;N=59;break e}else{x=p;B=r;z=n;break r}break}default:{x=p;B=r;z=n;break r}}w=o[T>>2]|0;k=o[M>>2]<<1;o[E>>2]=0;d=0;do{D=Xr(o[i>>2]|0,w+d|0,k-d|0)|0;if((D|0)<1){U=D;N=44;break}d=(o[E>>2]|0)+D|0;o[E>>2]=d}while(d>>>0<k>>>0);if((N|0)==44){N=0;if((U|0)<0){N=46;break e}o[g>>2]=1}o[y>>2]=o[T>>2];x=p;B=r;z=n}else{k=m>>>0>r>>>0?r:m;$r(p|0,o[A>>2]|0,k|0)|0;o[A>>2]=(o[A>>2]|0)+k;o[E>>2]=(o[E>>2]|0)-k;P=k;N=57}}while(0);if((N|0)==57){N=0;o[S>>2]=(o[S>>2]|0)+P;x=p+P|0;B=r-P|0;z=P+n|0}if(!B){t=z;N=59;break}else{p=x;r=B;n=z}}if((N|0)==46){$e(e,-1,Lr(o[(Nr()|0)>>2]|0)|0);t=-1;return t|0}else if((N|0)==54){$e(e,-1,Lr(o[(Nr()|0)>>2]|0)|0);t=-1;return t|0}else if((N|0)==59)return t|0;return 0}function nr(e){e=e|0;var r=0,n=0;if(!e){r=-2;return r|0}if((o[e>>2]|0)!=7247){r=-2;return r|0}if(o[e+16>>2]|0){pr(e+84|0)|0;Zr(o[e+28>>2]|0);Zr(o[e+24>>2]|0)}$e(e,0,0);Zr(o[e+8>>2]|0);n=Yr(o[e+4>>2]|0)|0;Zr(e);r=((n|0)!=0)<<31>>31;return r|0}function tr(e){e=e|0;var r=0,n=0,i=0,s=0,f=0,l=0,u=0,c=0,d=0,h=0,m=0,p=0,w=0,k=0,b=0,v=0,E=0,g=0,y=0,_=0,S=0,A=0,D=0,M=0,N=0,L=0,O=0,T=0,F=0,R=0,P=0,I=0,C=0,x=0,B=0,z=0,U=0,j=0,q=0,Y=0,V=0,X=0,H=0,W=0,G=0,K=0,Z=0,Q=0,J=0,$=0,ee=0,re=0,ne=0,te=0,ie=0,oe=0,ae=0,se=0,fe=0,le=0,ue=0,ce=0,de=0,he=0,me=0,pe=0,we=0,ke=0,be=0,ve=0,Ee=0,ge=0,ye=0,_e=0,Se=0,Ae=0,De=0,Me=0,Ne=0,Le=0,Oe=0,Te=0,Fe=0,Re=0,Pe=0,Ie=0,Ce=0,xe=0,Be=0,ze=0,Ue=0;r=e+84|0;n=e+16|0;do{if(!(o[n>>2]|0)){i=o[e+20>>2]|0;s=Kr(i)|0;f=e+24|0;o[f>>2]=s;l=Kr(i<<1)|0;u=e+28|0;o[u>>2]=l;c=(l|0)==0;if(!(c|(s|0)==0)){o[n>>2]=i;o[e+116>>2]=0;o[e+120>>2]=0;o[e+124>>2]=0;i=e+88|0;o[i>>2]=0;o[r>>2]=0;if(!(hr(r,-15,13543,56)|0)){d=i;break}Zr(o[u>>2]|0);Zr(o[f>>2]|0);o[n>>2]=0;$e(e,-4,13529);h=-1;return h|0}if(c)m=s;else{Zr(l);m=o[f>>2]|0}if(m)Zr(m);$e(e,-4,13529);h=-1;return h|0}else d=e+88|0}while(0);m=o[d>>2]|0;if(!m){if(o[e+76>>2]|0){h=-1;return h|0}f=e+40|0;if(o[f>>2]|0){h=0;return h|0}l=e+24|0;s=o[l>>2]|0;c=o[n>>2]|0;o[d>>2]=0;u=e+4|0;i=0;while(1){p=Xr(o[u>>2]|0,s+i|0,c-i|0)|0;if((p|0)<1){w=p;k=17;break}b=(o[d>>2]|0)+p|0;o[d>>2]=b;if(b>>>0<c>>>0)i=b;else{v=b;break}}do{if((k|0)==17){if((w|0)>=0){o[f>>2]=1;v=o[d>>2]|0;break}$e(e,-1,Lr(o[(Nr()|0)>>2]|0)|0);h=-1;return h|0}}while(0);o[r>>2]=o[l>>2];if(!v){h=0;return h|0}else E=v}else E=m;m=o[r>>2]|0;if((t[m>>0]|0)==31){v=E+-1|0;o[d>>2]=v;l=m+1|0;o[r>>2]=l;if(!v){if(o[e+76>>2]|0){h=-1;return h|0}m=e+40|0;if(!(o[m>>2]|0)){f=e+24|0;w=o[f>>2]|0;i=o[n>>2]|0;o[d>>2]=0;c=e+4|0;s=0;while(1){u=Xr(o[c>>2]|0,w+s|0,i-s|0)|0;if((u|0)<1){g=u;k=29;break}b=(o[d>>2]|0)+u|0;o[d>>2]=b;if(b>>>0<i>>>0)s=b;else{y=b;break}}do{if((k|0)==29){if((g|0)>=0){o[m>>2]=1;y=o[d>>2]|0;break}$e(e,-1,Lr(o[(Nr()|0)>>2]|0)|0);h=-1;return h|0}}while(0);m=o[f>>2]|0;o[r>>2]=m;if(y){_=m;S=y;k=33}}}else{_=l;S=v;k=33}if((k|0)==33?(t[_>>0]|0)==-117:0){v=S+-1|0;o[d>>2]=v;S=_+1|0;o[r>>2]=S;e:do{if(!v){if((o[e+76>>2]|0)==0?(_=e+40|0,(o[_>>2]|0)==0):0){l=e+24|0;y=o[l>>2]|0;m=o[n>>2]|0;o[d>>2]=0;f=e+4|0;g=0;while(1){s=Xr(o[f>>2]|0,y+g|0,m-g|0)|0;if((s|0)<1){A=s;k=40;break}i=(o[d>>2]|0)+s|0;o[d>>2]=i;if(i>>>0<m>>>0)g=i;else{D=i;break}}do{if((k|0)==40)if((A|0)<0){$e(e,-1,Lr(o[(Nr()|0)>>2]|0)|0);break e}else{o[_>>2]=1;D=o[d>>2]|0;break}}while(0);_=o[l>>2]|0;o[r>>2]=_;if(D){M=D;N=_;k=44}}}else{M=v;N=S;k=44}}while(0);if((k|0)==44?(S=M+-1|0,o[d>>2]=S,M=N+1|0,o[r>>2]=M,(t[N>>0]|0)==8):0){e:do{if(!S){if((o[e+76>>2]|0)==0?(N=e+40|0,(o[N>>2]|0)==0):0){v=e+24|0;D=o[v>>2]|0;A=o[n>>2]|0;o[d>>2]=0;_=e+4|0;g=0;while(1){m=Xr(o[_>>2]|0,D+g|0,A-g|0)|0;if((m|0)<1){L=m;k=52;break}y=(o[d>>2]|0)+m|0;o[d>>2]=y;if(y>>>0<A>>>0)g=y;else{O=y;break}}do{if((k|0)==52)if((L|0)<0){$e(e,-1,Lr(o[(Nr()|0)>>2]|0)|0);break e}else{o[N>>2]=1;O=o[d>>2]|0;break}}while(0);N=o[v>>2]|0;o[r>>2]=N;if(O){T=O;F=N;k=56}}}else{T=S;F=M;k=56}}while(0);if((k|0)==56?(M=T+-1|0,o[d>>2]=M,T=F+1|0,o[r>>2]=T,S=a[F>>0]|0,(S&224|0)==0):0){e:do{if(!M){F=e+76|0;if(!(o[F>>2]|0)){O=e+40|0;if(!(o[O>>2]|0)){L=e+24|0;N=o[L>>2]|0;g=o[n>>2]|0;o[d>>2]=0;A=e+4|0;D=0;while(1){_=Xr(o[A>>2]|0,N+D|0,g-D|0)|0;if((_|0)<1){R=_;k=64;break}l=(o[d>>2]|0)+_|0;o[d>>2]=l;if(l>>>0<g>>>0)D=l;else{P=l;break}}do{if((k|0)==64)if((R|0)<0){$e(e,-1,Lr(o[(Nr()|0)>>2]|0)|0);I=o[d>>2]|0;k=69;break e}else{o[O>>2]=1;P=o[d>>2]|0;break}}while(0);O=o[L>>2]|0;o[r>>2]=O;if(P){C=P;x=O;k=68}else{B=F;k=71}}else{B=F;k=71}}else k=70}else{C=M;x=T;k=68}}while(0);if((k|0)==68){T=C+-1|0;o[d>>2]=T;o[r>>2]=x+1;I=T;k=69}if((k|0)==69)if(!I)k=70;else{z=I;k=80}if((k|0)==70){B=e+76|0;k=71}e:do{if((k|0)==71)if(!(o[B>>2]|0)){I=e+40|0;if(!(o[I>>2]|0)){T=e+24|0;x=o[T>>2]|0;C=o[n>>2]|0;o[d>>2]=0;M=e+4|0;P=0;while(1){R=Xr(o[M>>2]|0,x+P|0,C-P|0)|0;if((R|0)<1){U=R;k=76;break}O=(o[d>>2]|0)+R|0;o[d>>2]=O;if(O>>>0<C>>>0)P=O;else{j=O;break}}do{if((k|0)==76)if((U|0)<0){$e(e,-1,Lr(o[(Nr()|0)>>2]|0)|0);q=o[d>>2]|0;k=81;break e}else{o[I>>2]=1;j=o[d>>2]|0;break}}while(0);o[r>>2]=o[T>>2];if(j){z=j;k=80}else{Y=B;k=83}}else{Y=B;k=83}}else k=82}while(0);if((k|0)==80){B=z+-1|0;o[d>>2]=B;o[r>>2]=(o[r>>2]|0)+1;q=B;k=81}if((k|0)==81)if(!q)k=82;else{V=q;k=92}if((k|0)==82){Y=e+76|0;k=83}e:do{if((k|0)==83)if(!(o[Y>>2]|0)){q=e+40|0;if(!(o[q>>2]|0)){B=e+24|0;z=o[B>>2]|0;j=o[n>>2]|0;o[d>>2]=0;U=e+4|0;I=0;while(1){P=Xr(o[U>>2]|0,z+I|0,j-I|0)|0;if((P|0)<1){X=P;k=88;break}C=(o[d>>2]|0)+P|0;o[d>>2]=C;if(C>>>0<j>>>0)I=C;else{H=C;break}}do{if((k|0)==88)if((X|0)<0){$e(e,-1,Lr(o[(Nr()|0)>>2]|0)|0);W=o[d>>2]|0;k=93;break e}else{o[q>>2]=1;H=o[d>>2]|0;break}}while(0);o[r>>2]=o[B>>2];if(H){V=H;k=92}else{G=Y;k=95}}else{G=Y;k=95}}else k=94}while(0);if((k|0)==92){Y=V+-1|0;o[d>>2]=Y;o[r>>2]=(o[r>>2]|0)+1;W=Y;k=93}if((k|0)==93)if(!W)k=94;else{K=W;k=104}if((k|0)==94){G=e+76|0;k=95}e:do{if((k|0)==95)if(!(o[G>>2]|0)){W=e+40|0;if(!(o[W>>2]|0)){Y=e+24|0;V=o[Y>>2]|0;H=o[n>>2]|0;o[d>>2]=0;X=e+4|0;q=0;while(1){I=Xr(o[X>>2]|0,V+q|0,H-q|0)|0;if((I|0)<1){Z=I;k=100;break}j=(o[d>>2]|0)+I|0;o[d>>2]=j;if(j>>>0<H>>>0)q=j;else{Q=j;break}}do{if((k|0)==100)if((Z|0)<0){$e(e,-1,Lr(o[(Nr()|0)>>2]|0)|0);J=o[d>>2]|0;k=105;break e}else{o[W>>2]=1;Q=o[d>>2]|0;break}}while(0);o[r>>2]=o[Y>>2];if(Q){K=Q;k=104}else{$=G;k=107}}else{$=G;k=107}}else k=106}while(0);if((k|0)==104){G=K+-1|0;o[d>>2]=G;o[r>>2]=(o[r>>2]|0)+1;J=G;k=105}if((k|0)==105)if(!J)k=106;else{ee=J;k=116}if((k|0)==106){$=e+76|0;k=107}e:do{if((k|0)==107)if(!(o[$>>2]|0)){J=e+40|0;if(!(o[J>>2]|0)){G=e+24|0;K=o[G>>2]|0;Q=o[n>>2]|0;o[d>>2]=0;Z=e+4|0;W=0;while(1){q=Xr(o[Z>>2]|0,K+W|0,Q-W|0)|0;if((q|0)<1){re=q;k=112;break}H=(o[d>>2]|0)+q|0;o[d>>2]=H;if(H>>>0<Q>>>0)W=H;else{ne=H;break}}do{if((k|0)==112)if((re|0)<0){$e(e,-1,Lr(o[(Nr()|0)>>2]|0)|0);te=o[d>>2]|0;k=117;break e}else{o[J>>2]=1;ne=o[d>>2]|0;break}}while(0);o[r>>2]=o[G>>2];if(ne){ee=ne;k=116}else{ie=$;k=119}}else{ie=$;k=119}}else k=118}while(0);if((k|0)==116){$=ee+-1|0;o[d>>2]=$;o[r>>2]=(o[r>>2]|0)+1;te=$;k=117}if((k|0)==117)if(!te)k=118;else{oe=te;k=128}if((k|0)==118){ie=e+76|0;k=119}e:do{if(((k|0)==119?(o[ie>>2]|0)==0:0)?(te=e+40|0,(o[te>>2]|0)==0):0){$=e+24|0;ee=o[$>>2]|0;ne=o[n>>2]|0;o[d>>2]=0;re=e+4|0;J=0;while(1){W=Xr(o[re>>2]|0,ee+J|0,ne-J|0)|0;if((W|0)<1){ae=W;k=124;break}Q=(o[d>>2]|0)+W|0;o[d>>2]=Q;if(Q>>>0<ne>>>0)J=Q;else{se=Q;break}}do{if((k|0)==124)if((ae|0)<0){$e(e,-1,Lr(o[(Nr()|0)>>2]|0)|0);break e}else{o[te>>2]=1;se=o[d>>2]|0;break}}while(0);o[r>>2]=o[$>>2];if(se){oe=se;k=128}}}while(0);if((k|0)==128){o[d>>2]=oe+-1;o[r>>2]=(o[r>>2]|0)+1}e:do{if(S&4){oe=o[d>>2]|0;r:do{if(!oe){se=e+76|0;if(!(o[se>>2]|0)){ae=e+40|0;if(!(o[ae>>2]|0)){ie=e+24|0;te=o[ie>>2]|0;J=o[n>>2]|0;o[d>>2]=0;ne=e+4|0;ee=0;while(1){re=Xr(o[ne>>2]|0,te+ee|0,J-ee|0)|0;if((re|0)<1){fe=re;k=136;break}G=(o[d>>2]|0)+re|0;o[d>>2]=G;if(G>>>0<J>>>0)ee=G;else{le=G;break}}do{if((k|0)==136)if((fe|0)<0){$e(e,-1,Lr(o[(Nr()|0)>>2]|0)|0);ue=-1;ce=o[d>>2]|0;k=141;break r}else{o[ae>>2]=1;le=o[d>>2]|0;break}}while(0);o[r>>2]=o[ie>>2];if(le){de=le;k=140}else{he=se;me=-1;k=143}}else{he=se;me=-1;k=143}}else{pe=-1;k=142}}else{de=oe;k=140}}while(0);if((k|0)==140){oe=de+-1|0;o[d>>2]=oe;$=o[r>>2]|0;o[r>>2]=$+1;ue=a[$>>0]|0;ce=oe;k=141}if((k|0)==141)if(!ce){pe=ue;k=142}else{we=ce;ke=ue;k=152}if((k|0)==142){he=e+76|0;me=pe;k=143}r:do{if((k|0)==143)if((o[he>>2]|0)==0?(oe=e+40|0,(o[oe>>2]|0)==0):0){$=e+24|0;ae=o[$>>2]|0;ee=o[n>>2]|0;o[d>>2]=0;J=e+4|0;te=0;while(1){ne=Xr(o[J>>2]|0,ae+te|0,ee-te|0)|0;if((ne|0)<1){be=ne;k=148;break}G=(o[d>>2]|0)+ne|0;o[d>>2]=G;if(G>>>0<ee>>>0)te=G;else{ve=G;break}}do{if((k|0)==148)if((be|0)<0){$e(e,-1,Lr(o[(Nr()|0)>>2]|0)|0);Ee=-256;ge=me;break r}else{o[oe>>2]=1;ve=o[d>>2]|0;break}}while(0);o[r>>2]=o[$>>2];if(ve){we=ve;ke=me;k=152}else{Ee=-256;ge=me}}else{Ee=-256;ge=me}}while(0);if((k|0)==152){o[d>>2]=we+-1;oe=o[r>>2]|0;o[r>>2]=oe+1;Ee=a[oe>>0]<<8;ge=ke}oe=Ee+ge|0;if(oe){te=e+76|0;ee=e+40|0;ae=e+24|0;J=e+4|0;se=oe;oe=o[d>>2]|0;while(1){se=se+-1|0;if(!oe){if(o[te>>2]|0)break e;if(o[ee>>2]|0)break e;ie=o[ae>>2]|0;G=o[n>>2]|0;o[d>>2]=0;ne=0;while(1){re=Xr(o[J>>2]|0,ie+ne|0,G-ne|0)|0;if((re|0)<1){ye=re;k=161;break}Q=(o[d>>2]|0)+re|0;o[d>>2]=Q;if(Q>>>0<G>>>0)ne=Q;else{_e=Q;break}}if((k|0)==161){k=0;if((ye|0)<0)break;o[ee>>2]=1;_e=o[d>>2]|0}o[r>>2]=o[ae>>2];if(!_e)break e;else Se=_e}else Se=oe;oe=Se+-1|0;o[d>>2]=oe;o[r>>2]=(o[r>>2]|0)+1;if(!se)break e}$e(e,-1,Lr(o[(Nr()|0)>>2]|0)|0)}}}while(0);e:do{if(S&8){Se=e+76|0;_e=e+40|0;ye=e+24|0;ge=e+4|0;Ee=o[d>>2]|0;while(1){if(!Ee){if(o[Se>>2]|0)break e;if(o[_e>>2]|0)break e;ke=o[ye>>2]|0;we=o[n>>2]|0;o[d>>2]=0;me=0;while(1){ve=Xr(o[ge>>2]|0,ke+me|0,we-me|0)|0;if((ve|0)<1){Ae=ve;k=174;break}be=(o[d>>2]|0)+ve|0;o[d>>2]=be;if(be>>>0<we>>>0)me=be;else{De=be;break}}if((k|0)==174){k=0;if((Ae|0)<0)break;o[_e>>2]=1;De=o[d>>2]|0}o[r>>2]=o[ye>>2];if(!De)break e;else Me=De}else Me=Ee;Ee=Me+-1|0;o[d>>2]=Ee;me=o[r>>2]|0;o[r>>2]=me+1;if(!(t[me>>0]|0))break e}$e(e,-1,Lr(o[(Nr()|0)>>2]|0)|0)}}while(0);e:do{if(S&16){Me=e+76|0;De=e+40|0;Ae=e+24|0;Ee=e+4|0;ye=o[d>>2]|0;while(1){if(!ye){if(o[Me>>2]|0)break e;if(o[De>>2]|0)break e;_e=o[Ae>>2]|0;ge=o[n>>2]|0;o[d>>2]=0;Se=0;while(1){me=Xr(o[Ee>>2]|0,_e+Se|0,ge-Se|0)|0;if((me|0)<1){Ne=me;k=187;break}we=(o[d>>2]|0)+me|0;o[d>>2]=we;if(we>>>0<ge>>>0)Se=we;else{Le=we;break}}if((k|0)==187){k=0;if((Ne|0)<0)break;o[De>>2]=1;Le=o[d>>2]|0}o[r>>2]=o[Ae>>2];if(!Le)break e;else Oe=Le}else Oe=ye;ye=Oe+-1|0;o[d>>2]=ye;Se=o[r>>2]|0;o[r>>2]=Se+1;if(!(t[Se>>0]|0))break e}$e(e,-1,Lr(o[(Nr()|0)>>2]|0)|0)}}while(0);e:do{if(S&2){Oe=o[d>>2]|0;r:do{if(!Oe){Le=e+76|0;if(o[Le>>2]|0){k=205;break}Ne=e+40|0;if(o[Ne>>2]|0){Te=Le;k=206;break}ye=e+24|0;Ae=o[ye>>2]|0;De=o[n>>2]|0;o[d>>2]=0;Ee=e+4|0;Me=0;while(1){Se=Xr(o[Ee>>2]|0,Ae+Me|0,De-Me|0)|0;if((Se|0)<1){Fe=Se;k=199;break}ge=(o[d>>2]|0)+Se|0;o[d>>2]=ge;if(ge>>>0<De>>>0)Me=ge;else{Re=ge;break}}do{if((k|0)==199)if((Fe|0)<0){$e(e,-1,Lr(o[(Nr()|0)>>2]|0)|0);Pe=o[d>>2]|0;k=204;break r}else{o[Ne>>2]=1;Re=o[d>>2]|0;break}}while(0);o[r>>2]=o[ye>>2];if(!Re){Te=Le;k=206}else{Ie=Re;k=203}}else{Ie=Oe;k=203}}while(0);if((k|0)==203){Oe=Ie+-1|0;o[d>>2]=Oe;o[r>>2]=(o[r>>2]|0)+1;Pe=Oe;k=204}if((k|0)==204)if(!Pe)k=205;else Ce=Pe;if((k|0)==205){Te=e+76|0;k=206}if((k|0)==206){if(o[Te>>2]|0)break;Oe=e+40|0;if(o[Oe>>2]|0)break;Ne=e+24|0;Me=o[Ne>>2]|0;De=o[n>>2]|0;o[d>>2]=0;Ae=e+4|0;Ee=0;while(1){ge=Xr(o[Ae>>2]|0,Me+Ee|0,De-Ee|0)|0;if((ge|0)<1){xe=ge;k=211;break}Se=(o[d>>2]|0)+ge|0;o[d>>2]=Se;if(Se>>>0<De>>>0)Ee=Se;else{Be=Se;break}}do{if((k|0)==211)if((xe|0)<0){$e(e,-1,Lr(o[(Nr()|0)>>2]|0)|0);break e}else{o[Oe>>2]=1;Be=o[d>>2]|0;break}}while(0);o[r>>2]=o[Ne>>2];if(!Be)break;else Ce=Be}o[d>>2]=Ce+-1;o[r>>2]=(o[r>>2]|0)+1}}while(0);cr(r)|0;o[e+132>>2]=je(0,0,0)|0;o[e+52>>2]=2;o[e+56>>2]=0;h=0;return h|0}$e(e,-3,13619);h=-1;return h|0}$e(e,-3,13572);h=-1;return h|0}Ce=e+28|0;t[o[Ce>>2]>>0]=31;o[e+36>>2]=1;ze=Ce;Ue=o[d>>2]|0}else{ze=e+28|0;Ue=E}o[e+48>>2]=o[e+12>>2];E=o[ze>>2]|0;o[e+32>>2]=E;if(Ue){ze=e+36|0;$r(E+(o[ze>>2]|0)|0,o[r>>2]|0,Ue|0)|0;o[ze>>2]=(o[ze>>2]|0)+(o[d>>2]|0);o[d>>2]=0}o[e+52>>2]=1;o[e+56>>2]=1;h=0;return h|0}function ir(e){e=e|0;var r=0,n=0,t=0,i=0,a=0,s=0,f=0,l=0,u=0,d=0,h=0,m=0,p=0,w=0,k=0,b=0,v=0,E=0,g=0,y=0,_=0,S=0,A=0;r=c;c=c+16|0;n=r+4|0;t=r;i=e+84|0;a=e+100|0;s=o[a>>2]|0;f=e+88|0;l=e+76|0;u=e+40|0;d=e+24|0;h=e+16|0;m=e+4|0;e:while(1){if(!(o[f>>2]|0)){if(o[l>>2]|0){p=-1;w=27;break}if(o[u>>2]|0){w=12;break}k=o[d>>2]|0;b=o[h>>2]|0;o[f>>2]=0;v=0;while(1){E=Xr(o[m>>2]|0,k+v|0,b-v|0)|0;if((E|0)<1){g=E;w=8;break}y=(o[f>>2]|0)+E|0;o[f>>2]=y;if(y>>>0<b>>>0)v=y;else{_=y;break}}if((w|0)==8){w=0;if((g|0)<0){w=10;break}o[u>>2]=1;_=o[f>>2]|0}o[i>>2]=o[d>>2];if(!_){w=12;break}}v=mr(i,0)|0;switch(v|0){case 2:case-2:{w=14;break e;break}case-4:{w=15;break e;break}case-3:{w=16;break e;break}default:{}}b=o[a>>2]|0;if(!((v|0)!=1&(b|0)!=0)){S=v;A=b;w=18;break}}if((w|0)==10){$e(e,-1,Lr(o[(Nr()|0)>>2]|0)|0);p=-1;c=r;return p|0}else if((w|0)==12){$e(e,-3,13369);p=-1;c=r;return p|0}else if((w|0)==14){$e(e,-2,13392);p=-1;c=r;return p|0}else if((w|0)==15){$e(e,-4,13529);p=-1;c=r;return p|0}else if((w|0)==16){a=o[e+108>>2]|0;$e(e,-3,(a|0)==0?13431:a);p=-1;c=r;return p|0}else if((w|0)==18){a=s-A|0;o[e+36>>2]=a;A=(o[e+96>>2]|0)+(0-a)|0;o[e+32>>2]=A;s=e+132|0;o[s>>2]=je(o[s>>2]|0,A,a)|0;if((S|0)!=1){p=0;c=r;return p|0}if((or(e,n)|0)!=-1?(or(e,t)|0)!=-1:0){if((o[n>>2]|0)!=(o[s>>2]|0)){$e(e,-3,13966);p=-1;c=r;return p|0}if((o[t>>2]|0)==(o[e+104>>2]|0)){o[e+52>>2]=0;p=0;c=r;return p|0}else{$e(e,-3,13987);p=-1;c=r;return p|0}}$e(e,-3,13369);p=-1;c=r;return p|0}else if((w|0)==27){c=r;return p|0}return 0}function or(e,r){e=e|0;r=r|0;var n=0,t=0,i=0,s=0,f=0,l=0,u=0,c=0,d=0,h=0,m=0,p=0,w=0,k=0,b=0,v=0,E=0,g=0,y=0,_=0,S=0,A=0,D=0,M=0,N=0,L=0,O=0,T=0,F=0,R=0,P=0,I=0,C=0,x=0,B=0,z=0,U=0,j=0,q=0,Y=0,V=0,X=0,H=0,W=0,G=0,K=0;n=e+84|0;t=e+88|0;i=o[t>>2]|0;e:do{if(!i){s=e+76|0;if(!(o[s>>2]|0)){f=e+40|0;if(!(o[f>>2]|0)){l=e+24|0;u=o[l>>2]|0;c=o[e+16>>2]|0;o[t>>2]=0;d=e+4|0;h=0;while(1){m=Xr(o[d>>2]|0,u+h|0,c-h|0)|0;if((m|0)<1){p=m;w=7;break}k=(o[t>>2]|0)+m|0;o[t>>2]=k;if(k>>>0<c>>>0)h=k;else{b=k;break}}do{if((w|0)==7)if((p|0)<0){$e(e,-1,Lr(o[(Nr()|0)>>2]|0)|0);v=-1;E=o[t>>2]|0;w=12;break e}else{o[f>>2]=1;b=o[t>>2]|0;break}}while(0);o[n>>2]=o[l>>2];if(b){g=b;w=11}else{y=s;_=-1;w=14}}else{y=s;_=-1;w=14}}else{S=-1;w=13}}else{g=i;w=11}}while(0);if((w|0)==11){i=g+-1|0;o[t>>2]=i;g=o[n>>2]|0;o[n>>2]=g+1;v=a[g>>0]|0;E=i;w=12}if((w|0)==12)if(!E){S=v;w=13}else{A=v;D=E;w=25}if((w|0)==13){y=e+76|0;_=S;w=14}e:do{if((w|0)==14){if(o[y>>2]|0){M=_+-256|0;w=27;break}S=e+40|0;if(!(o[S>>2]|0)){E=e+24|0;v=o[E>>2]|0;i=o[e+16>>2]|0;o[t>>2]=0;g=e+4|0;b=0;while(1){p=Xr(o[g>>2]|0,v+b|0,i-b|0)|0;if((p|0)<1){N=p;w=20;break}f=(o[t>>2]|0)+p|0;o[t>>2]=f;if(f>>>0<i>>>0)b=f;else{L=f;break}}do{if((w|0)==20)if((N|0)<0){$e(e,-1,Lr(o[(Nr()|0)>>2]|0)|0);O=_;T=-256;F=o[t>>2]|0;w=26;break e}else{o[S>>2]=1;L=o[t>>2]|0;break}}while(0);o[n>>2]=o[E>>2];if(L){A=_;D=L;w=25;break}}R=y;P=_+-256|0;w=28}}while(0);if((w|0)==25){_=D+-1|0;o[t>>2]=_;D=o[n>>2]|0;o[n>>2]=D+1;O=A;T=(a[D>>0]|0)<<8;F=_;w=26}if((w|0)==26){_=T+O|0;if(!F){M=_;w=27}else{I=F;C=_;w=39}}if((w|0)==27){R=e+76|0;P=M;w=28}e:do{if((w|0)==28){if(o[R>>2]|0){x=P+-65536|0;w=41;break}M=e+40|0;if(!(o[M>>2]|0)){_=e+24|0;F=o[_>>2]|0;O=o[e+16>>2]|0;o[t>>2]=0;T=e+4|0;D=0;while(1){A=Xr(o[T>>2]|0,F+D|0,O-D|0)|0;if((A|0)<1){B=A;w=34;break}y=(o[t>>2]|0)+A|0;o[t>>2]=y;if(y>>>0<O>>>0)D=y;else{z=y;break}}do{if((w|0)==34)if((B|0)<0){$e(e,-1,Lr(o[(Nr()|0)>>2]|0)|0);U=P;j=-65536;q=o[t>>2]|0;w=40;break e}else{o[M>>2]=1;z=o[t>>2]|0;break}}while(0);o[n>>2]=o[_>>2];if(z){I=z;C=P;w=39;break}}Y=R;V=P+-65536|0;w=42}}while(0);if((w|0)==39){P=I+-1|0;o[t>>2]=P;I=o[n>>2]|0;o[n>>2]=I+1;U=C;j=(a[I>>0]|0)<<16;q=P;w=40}if((w|0)==40){P=j+U|0;if(!q){x=P;w=41}else{X=q;H=P}}if((w|0)==41){Y=e+76|0;V=x;w=42}if((w|0)==42){if(o[Y>>2]|0){W=-1;return W|0}Y=e+40|0;if(o[Y>>2]|0){W=-1;return W|0}x=e+24|0;P=o[x>>2]|0;q=o[e+16>>2]|0;o[t>>2]=0;U=e+4|0;j=0;while(1){I=Xr(o[U>>2]|0,P+j|0,q-j|0)|0;if((I|0)<1){G=I;w=47;break}C=(o[t>>2]|0)+I|0;o[t>>2]=C;if(C>>>0<q>>>0)j=C;else{K=C;break}}do{if((w|0)==47){if((G|0)>=0){o[Y>>2]=1;K=o[t>>2]|0;break}$e(e,-1,Lr(o[(Nr()|0)>>2]|0)|0);W=-1;return W|0}}while(0);o[n>>2]=o[x>>2];if(!K){W=-1;return W|0}else{X=K;H=V}}o[t>>2]=X+-1;X=o[n>>2]|0;o[n>>2]=X+1;o[r>>2]=((a[X>>0]|0)<<24)+H;W=0;return W|0}function ar(e,r,n){e=e|0;r=r|0;n=n|0;var t=0,i=0,a=0,s=0,f=0,l=0,u=0,c=0,d=0,h=0,m=0,p=0;if(!e){t=0;return t|0}i=e+84|0;if((o[e>>2]|0)!=31153){t=0;return t|0}if(o[e+76>>2]|0){t=0;return t|0}if((n|0)<0){$e(e,-5,13453);t=0;return t|0}if(!n){t=0;return t|0}a=e+16|0;if((o[a>>2]|0)==0?(fr(e)|0)==-1:0){t=0;return t|0}s=e+72|0;e:do{if(o[s>>2]|0){o[s>>2]=0;f=o[e+68>>2]|0;l=e+88|0;if((o[l>>2]|0)!=0?(lr(e,0)|0)==-1:0){t=0;return t|0}if(f){u=e+24|0;c=e+12|0;d=f;f=0;while(1){h=o[a>>2]|0;m=(h|0)<0|(h|0)>(d|0)?d:h;if(!f)Jr(o[u>>2]|0,0,m|0)|0;o[l>>2]=m;o[i>>2]=o[u>>2];o[c>>2]=(o[c>>2]|0)+m;if((lr(e,0)|0)==-1){t=0;break}if((d|0)==(m|0))break e;else{d=d-m|0;f=1}}return t|0}}}while(0);s=e+88|0;e:do{if((o[a>>2]|0)>>>0<=n>>>0){if((o[s>>2]|0)!=0?(lr(e,0)|0)==-1:0){t=0;return t|0}o[s>>2]=n;o[i>>2]=r;f=e+12|0;o[f>>2]=(o[f>>2]|0)+n;if((lr(e,0)|0)==-1){t=0;return t|0}}else{f=e+24|0;d=e+12|0;c=r;u=n;while(1){l=o[s>>2]|0;if(!l){m=o[f>>2]|0;o[i>>2]=m;p=m}else p=o[i>>2]|0;m=(o[a>>2]|0)-l|0;h=m>>>0>u>>>0?u:m;$r(p+l|0,c|0,h|0)|0;o[s>>2]=(o[s>>2]|0)+h;o[d>>2]=(o[d>>2]|0)+h;if((u|0)==(h|0))break e;if((lr(e,0)|0)==-1){t=0;break}else{c=c+h|0;u=u-h|0}}return t|0}}while(0);t=n;return t|0}function sr(e){e=e|0;var r=0,n=0,t=0,i=0,a=0,s=0,f=0,l=0,u=0,c=0,d=0,h=0,m=0;if(!e){r=-2;return r|0}if((o[e>>2]|0)!=31153){r=-2;return r|0}n=e+72|0;e:do{if(o[n>>2]|0){o[n>>2]=0;t=o[e+68>>2]|0;i=e+84|0;a=e+88|0;if((o[a>>2]|0)!=0?(lr(e,0)|0)==-1:0){s=i;f=-1;break}if(!t){s=i;f=0}else{l=e+16|0;u=e+24|0;c=e+12|0;d=t;t=0;while(1){h=o[l>>2]|0;m=(h|0)<0|(h|0)>(d|0)?d:h;if(!t)Jr(o[u>>2]|0,0,m|0)|0;o[a>>2]=m;o[i>>2]=o[u>>2];o[c>>2]=(o[c>>2]|0)+m;if((lr(e,0)|0)==-1){s=i;f=-1;break e}if((d|0)==(m|0)){s=i;f=0;break}else{d=d-m|0;t=1}}}}else{s=e+84|0;f=0}}while(0);n=(lr(e,4)|0)+f|0;Ye(s)|0;Zr(o[e+28>>2]|0);Zr(o[e+24>>2]|0);$e(e,0,0);Zr(o[e+8>>2]|0);s=Yr(o[e+4>>2]|0)|0;Zr(e);r=((n|0)!=(0-s|0))<<31>>31;return r|0}function fr(e){e=e|0;var r=0,n=0,t=0,i=0,a=0,s=0,f=0,l=0,u=0;r=e+20|0;n=o[r>>2]|0;t=Kr(n)|0;i=e+24|0;o[i>>2]=t;a=Kr(n)|0;n=e+28|0;o[n>>2]=a;s=(a|0)==0;if(!(s|(t|0)==0)){o[e+116>>2]=0;o[e+120>>2]=0;o[e+124>>2]=0;if(!(qe(e+84|0,o[e+60>>2]|0,8,31,8,o[e+64>>2]|0,13543,56)|0)){f=o[r>>2]|0;o[e+16>>2]=f;o[e+100>>2]=f;f=o[n>>2]|0;o[e+96>>2]=f;o[e+32>>2]=f;l=0;return l|0}else{Zr(o[i>>2]|0);$e(e,-4,13529);l=-1;return l|0}}if(s)u=t;else{Zr(a);u=o[i>>2]|0}if(u)Zr(u);$e(e,-4,13529);l=-1;return l|0}function lr(e,r){e=e|0;r=r|0;var n=0,t=0,i=0,a=0,s=0,f=0,l=0,u=0,c=0,d=0,h=0,m=0,p=0,w=0,k=0,b=0,v=0,E=0,g=0,y=0,_=0,S=0,A=0,D=0,M=0,N=0,L=0;n=e+84|0;t=e+16|0;if((o[t>>2]|0)==0?(fr(e)|0)==-1:0){i=-1;return i|0}a=e+100|0;s=e+96|0;f=e+32|0;l=e+28|0;u=e+4|0;c=(r|0)==4;d=o[a>>2]|0;e:do{if(!r){h=d;while(1){if(!h){m=o[s>>2]|0;p=o[f>>2]|0;w=m-p|0;if((m|0)!=(p|0)){m=Hr(o[u>>2]|0,p,w)|0;if(!((m|0)>-1&(m|0)==(w|0))){k=26;break e}w=o[a>>2]|0;if(w){b=o[s>>2]|0;v=w}else k=10}else k=10;if((k|0)==10){k=0;w=o[t>>2]|0;o[a>>2]=w;m=o[l>>2]|0;o[s>>2]=m;b=m;v=w}o[f>>2]=b;E=v}else E=h;if((Xe(n,0)|0)==-2){k=32;break e}h=o[a>>2]|0;if((E|0)==(h|0)){k=34;break}}}else{if(c){g=d;y=0}else{h=d;while(1){w=o[s>>2]|0;m=o[f>>2]|0;p=w-m|0;if((w|0)==(m|0))_=h;else{w=Hr(o[u>>2]|0,m,p)|0;if(!((w|0)>-1&(w|0)==(p|0))){k=26;break e}_=o[a>>2]|0}if(!_){p=o[t>>2]|0;o[a>>2]=p;w=o[l>>2]|0;o[s>>2]=w;S=w;A=p}else{S=o[s>>2]|0;A=_}o[f>>2]=S;if((Xe(n,r)|0)==-2){k=32;break e}h=o[a>>2]|0;if((A|0)==(h|0)){k=34;break e}}}while(1){if((g|0)==0|(y|0)==1){h=o[s>>2]|0;p=o[f>>2]|0;w=h-p|0;if((h|0)==(p|0))D=g;else{h=Hr(o[u>>2]|0,p,w)|0;if(!((h|0)>-1&(h|0)==(w|0))){k=26;break e}D=o[a>>2]|0}if(!D){w=o[t>>2]|0;o[a>>2]=w;h=o[l>>2]|0;o[s>>2]=h;M=h;N=w}else{M=o[s>>2]|0;N=D}o[f>>2]=M;L=N}else L=g;y=Xe(n,4)|0;if((y|0)==-2){k=32;break e}g=o[a>>2]|0;if((L|0)==(g|0)){k=34;break}}}}while(0);if((k|0)==26){$e(e,-1,Lr(o[(Nr()|0)>>2]|0)|0);i=-1;return i|0}else if((k|0)==32){$e(e,-2,13490);i=-1;return i|0}else if((k|0)==34){if(!c){i=0;return i|0}Ve(n)|0;i=0;return i|0}return 0}function ur(e,r){e=e|0;r=r|0;var n=0,s=0,f=0,l=0,u=0,c=0,d=0,h=0,m=0,p=0,w=0,k=0,b=0,v=0,E=0,g=0,y=0,_=0,S=0,A=0,D=0,M=0,N=0,L=0,O=0,T=0,F=0,R=0,P=0,I=0,C=0,x=0,B=0,z=0,U=0,j=0,q=0,Y=0,V=0,X=0,H=0,W=0,G=0,K=0,Z=0,Q=0,J=0,$=0,ee=0,re=0,ne=0,te=0,ie=0,oe=0,ae=0,se=0,fe=0,le=0,ue=0,ce=0,de=0,he=0,me=0,pe=0,we=0,ke=0,be=0,ve=0,Ee=0,ge=0,ye=0,_e=0,Se=0,Ae=0,De=0,Me=0,Ne=0,Le=0,Oe=0,Te=0,Fe=0,Re=0,Pe=0,Ie=0,Ce=0,xe=0,Be=0,ze=0,Ue=0,je=0,qe=0,Ye=0,Ve=0,Xe=0,He=0,We=0,Ge=0,Ke=0,Ze=0,Qe=0,Je=0,$e=0,er=0,rr=0,nr=0,tr=0;n=o[e+28>>2]|0;s=o[e>>2]|0;f=e+4|0;l=s+((o[f>>2]|0)+-6)|0;u=e+12|0;c=o[u>>2]|0;d=e+16|0;h=o[d>>2]|0;m=c+(h+-258)|0;p=o[n+44>>2]|0;w=o[n+48>>2]|0;k=o[n+52>>2]|0;b=n+56|0;v=n+60|0;E=o[n+76>>2]|0;g=o[n+80>>2]|0;y=(1<<o[n+84>>2])+-1|0;_=(1<<o[n+88>>2])+-1|0;S=c+(h+~r)|0;r=n+7104|0;h=k+-1|0;A=(w|0)==0;D=(o[n+40>>2]|0)+-1|0;M=D+w|0;N=w+-1|0;L=S+-1|0;O=S-w|0;T=S+-2|0;F=o[v>>2]|0;R=o[b>>2]|0;P=s+-1|0;s=c+-1|0;e:while(1){if(F>>>0<15){c=P+2|0;I=F+16|0;C=((a[P+1>>0]|0)<<F)+R+((a[c>>0]|0)<<F+8)|0;x=c}else{I=F;C=R;x=P}c=C&y;B=t[E+(c<<2)>>0]|0;z=i[E+(c<<2)+2>>1]|0;U=a[E+(c<<2)+1>>0]|0;c=C>>>U;j=I-U|0;do{if(B<<24>>24){U=c;q=j;Y=B&255;V=z;while(1){if(Y&16){X=Y;H=q;W=U;G=V;break}if(Y&64){K=Y;Z=q;Q=U;J=x;$=s;ee=57;break e}re=(U&(1<<Y)+-1)+(V&65535)|0;ne=t[E+(re<<2)>>0]|0;te=i[E+(re<<2)+2>>1]|0;ie=a[E+(re<<2)+1>>0]|0;re=U>>>ie;oe=q-ie|0;if(!(ne<<24>>24)){ae=re;se=oe;fe=te;ee=6;break}else{U=re;q=oe;Y=ne&255;V=te}}if((ee|0)==6){ee=0;le=ae;ue=se;ce=fe&255;ee=7;break}V=G&65535;Y=X&15;if(!Y){de=H;he=W;me=x;pe=V}else{if(H>>>0<Y>>>0){q=x+1|0;we=H+8|0;ke=((a[q>>0]|0)<<H)+W|0;be=q}else{we=H;ke=W;be=x}de=we-Y|0;he=ke>>>Y;me=be;pe=(ke&(1<<Y)+-1)+V|0}if(de>>>0<15){V=me+2|0;ve=de+16|0;Ee=((a[me+1>>0]|0)<<de)+he+((a[V>>0]|0)<<de+8)|0;ge=V}else{ve=de;Ee=he;ge=me}V=Ee&_;Y=i[g+(V<<2)+2>>1]|0;q=a[g+(V<<2)+1>>0]|0;U=Ee>>>q;te=ve-q|0;q=a[g+(V<<2)>>0]|0;if(!(q&16)){V=q;ne=U;oe=te;re=Y;while(1){if(V&64){ye=oe;_e=ne;Se=ge;Ae=s;ee=54;break e}ie=(ne&(1<<V)+-1)+(re&65535)|0;De=i[g+(ie<<2)+2>>1]|0;Me=a[g+(ie<<2)+1>>0]|0;Ne=ne>>>Me;Le=oe-Me|0;Me=a[g+(ie<<2)>>0]|0;if(!(Me&16)){V=Me;ne=Ne;oe=Le;re=De}else{Oe=Ne;Te=Le;Fe=Me;Re=De;break}}}else{Oe=U;Te=te;Fe=q;Re=Y}re=Re&65535;oe=Fe&15;if(Te>>>0<oe>>>0){ne=ge+1|0;V=((a[ne>>0]|0)<<Te)+Oe|0;De=Te+8|0;if(De>>>0<oe>>>0){Me=ge+2|0;Pe=Te+16|0;Ie=((a[Me>>0]|0)<<De)+V|0;Ce=Me}else{Pe=De;Ie=V;Ce=ne}}else{Pe=Te;Ie=Oe;Ce=ge}ne=(Ie&(1<<oe)+-1)+re|0;re=Ie>>>oe;V=Pe-oe|0;oe=s;De=oe-S|0;if(ne>>>0<=De>>>0){Me=2-pe|0;Le=pe+(Me>>>0>4294967293?Me:-3)|0;Me=Le-((Le>>>0)%3|0)|0;Le=Me-ne|0;Ne=s+(0-ne)|0;ie=pe;xe=s;do{t[xe+1>>0]=t[Ne+1>>0]|0;t[xe+2>>0]=t[Ne+2>>0]|0;Ne=Ne+3|0;xe=xe+3|0;t[xe>>0]=t[Ne>>0]|0;ie=ie+-3|0}while(ie>>>0>2);ie=pe+-3|0;if((ie|0)==(Me|0)){Be=V;ze=re;Ue=Ce;je=s+(Me+3)|0;break}Ne=s+(Me+4)|0;t[Ne>>0]=t[s+(Le+4)>>0]|0;if((ie-Me|0)>>>0<=1){Be=V;ze=re;Ue=Ce;je=Ne;break}Ne=s+(Me+5)|0;t[Ne>>0]=t[s+(Le+5)>>0]|0;Be=V;ze=re;Ue=Ce;je=Ne;break}Ne=ne-De|0;if(Ne>>>0>p>>>0?(o[r>>2]|0)!=0:0){qe=re;Ye=V;Ve=Ce;Xe=s;ee=22;break e}do{if(A){ie=k+(D-Ne)|0;if(pe>>>0>Ne>>>0){xe=pe-Ne|0;Y=ne-oe|0;q=ie;te=Ne;U=s;do{q=q+1|0;U=U+1|0;t[U>>0]=t[q>>0]|0;te=te+-1|0}while((te|0)!=0);He=s+(L+Y+(1-ne))|0;We=xe;Ge=s+(S+Y)|0}else{He=ie;We=pe;Ge=s}}else{if(Ne>>>0<=w>>>0){te=k+(N-Ne)|0;if(pe>>>0<=Ne>>>0){He=te;We=pe;Ge=s;break}q=pe-Ne|0;U=ne-oe|0;Ke=te;te=Ne;Ze=s;do{Ke=Ke+1|0;Ze=Ze+1|0;t[Ze>>0]=t[Ke>>0]|0;te=te+-1|0}while((te|0)!=0);He=s+(L+U+(1-ne))|0;We=q;Ge=s+(S+U)|0;break}te=k+(M-Ne)|0;Ke=Ne-w|0;if(pe>>>0>Ke>>>0){Ze=pe-Ke|0;ie=ne-oe|0;Y=te;xe=Ke;Ke=s;do{Y=Y+1|0;Ke=Ke+1|0;t[Ke>>0]=t[Y>>0]|0;xe=xe+-1|0}while((xe|0)!=0);xe=s+(O+ie)|0;if(Ze>>>0>w>>>0){Y=Ze-w|0;Ke=h;U=w;q=xe;do{Ke=Ke+1|0;q=q+1|0;t[q>>0]=t[Ke>>0]|0;U=U+-1|0}while((U|0)!=0);He=s+(T+ie+(2-ne))|0;We=Y;Ge=s+(S+ie)|0}else{He=h;We=Ze;Ge=xe}}else{He=te;We=pe;Ge=s}}}while(0);if(We>>>0>2){ne=We+-3|0;oe=(ne>>>0)%3|0;Ne=ne-oe|0;ne=He;De=We;Le=Ge;do{t[Le+1>>0]=t[ne+1>>0]|0;t[Le+2>>0]=t[ne+2>>0]|0;ne=ne+3|0;Le=Le+3|0;t[Le>>0]=t[ne>>0]|0;De=De+-3|0}while(De>>>0>2);Qe=He+(Ne+3)|0;Je=oe;$e=Ge+(Ne+3)|0}else{Qe=He;Je=We;$e=Ge}if(Je){De=$e+1|0;t[De>>0]=t[Qe+1>>0]|0;if(Je>>>0>1){ne=$e+2|0;t[ne>>0]=t[Qe+2>>0]|0;Be=V;ze=re;Ue=Ce;je=ne}else{Be=V;ze=re;Ue=Ce;je=De}}else{Be=V;ze=re;Ue=Ce;je=$e}}else{le=c;ue=j;ce=z&255;ee=7}}while(0);if((ee|0)==7){ee=0;z=s+1|0;t[z>>0]=ce;Be=ue;ze=le;Ue=x;je=z}if(je>>>0<m>>>0&Ue>>>0<l>>>0){F=Be;R=ze;P=Ue;s=je}else{er=Be;rr=ze;nr=Ue;tr=je;break}}do{if((ee|0)==22){o[e+24>>2]=13936;o[n>>2]=29;er=Ye;rr=qe;nr=Ve;tr=Xe}else if((ee|0)==54){o[e+24>>2]=13914;o[n>>2]=29;er=ye;rr=_e;nr=Se;tr=Ae}else if((ee|0)==57)if(!(K&32)){o[e+24>>2]=13886;o[n>>2]=29;er=Z;rr=Q;nr=J;tr=$;break}else{o[n>>2]=11;er=Z;rr=Q;nr=J;tr=$;break}}while(0);$=er>>>3;J=er-($<<3)|0;o[e>>2]=nr+(1-$);o[u>>2]=tr+1;o[f>>2]=l+5-(nr+(0-$));o[d>>2]=m+257-tr;o[b>>2]=(1<<J)+-1&rr;o[v>>2]=J;return}function cr(e){e=e|0;var r=0,n=0;if(!e){r=-2;return r|0}n=o[e+28>>2]|0;if(!n){r=-2;return r|0}o[n+28>>2]=0;o[e+20>>2]=0;o[e+8>>2]=0;o[e+24>>2]=0;o[e+48>>2]=1;o[n>>2]=0;o[n+4>>2]=0;o[n+12>>2]=0;o[n+20>>2]=32768;o[n+32>>2]=0;o[n+40>>2]=0;o[n+44>>2]=0;o[n+48>>2]=0;o[n+56>>2]=0;o[n+60>>2]=0;e=n+1328|0;o[n+108>>2]=e;o[n+80>>2]=e;o[n+76>>2]=e;o[n+7104>>2]=1;o[n+7108>>2]=-1;r=0;return r|0}function dr(e,r){e=e|0;r=r|0;var n=0,t=0,i=0,a=0,s=0,f=0,l=0,u=0;if(!e){n=-2;return n|0}t=e+28|0;i=o[t>>2]|0;if(!i){n=-2;return n|0}if((r|0)<0){a=0-r|0;s=0}else{a=(r|0)<48?r&15:r;s=(r>>4)+1|0}if(!((a|0)==0|(a&-8|0)==8)){n=-2;return n|0}r=i+52|0;f=o[r>>2]|0;l=i+36|0;if((f|0)!=0?(o[l>>2]|0)!=(a|0):0){mn[o[e+36>>2]&1](o[e+40>>2]|0,f);o[r>>2]=0;r=o[t>>2]|0;o[i+8>>2]=s;o[l>>2]=a;if(!r){n=-2;return n|0}else u=r}else{o[i+8>>2]=s;o[l>>2]=a;u=i}o[u+28>>2]=0;o[e+20>>2]=0;o[e+8>>2]=0;o[e+24>>2]=0;o[e+48>>2]=1;o[u>>2]=0;o[u+4>>2]=0;o[u+12>>2]=0;o[u+20>>2]=32768;o[u+32>>2]=0;o[u+40>>2]=0;o[u+44>>2]=0;o[u+48>>2]=0;o[u+56>>2]=0;o[u+60>>2]=0;e=u+1328|0;o[u+108>>2]=e;o[u+80>>2]=e;o[u+76>>2]=e;o[u+7104>>2]=1;o[u+7108>>2]=-1;n=0;return n|0}function hr(e,r,n,i){e=e|0;r=r|0;n=n|0;i=i|0;var a=0,s=0,f=0,l=0;if(!n){a=-6;return a|0}if((i|0)!=56|(t[n>>0]|0)!=49){a=-6;return a|0}if(!e){a=-2;return a|0}o[e+24>>2]=0;n=e+32|0;i=o[n>>2]|0;if(!i){o[n>>2]=3;o[e+40>>2]=0;s=3}else s=i;i=e+36|0;if(!(o[i>>2]|0))o[i>>2]=1;n=e+40|0;f=hn[s&7](o[n>>2]|0,1,7116)|0;if(!f){a=-4;return a|0}s=e+28|0;o[s>>2]=f;o[f+52>>2]=0;l=dr(e,r)|0;if(!l){a=0;return a|0}mn[o[i>>2]&1](o[n>>2]|0,f);o[s>>2]=0;a=l;return a|0}function mr(e,r){e=e|0;r=r|0;var n=0,f=0,l=0,u=0,d=0,h=0,m=0,p=0,w=0,k=0,b=0,v=0,E=0,g=0,y=0,_=0,S=0,A=0,D=0,M=0,N=0,L=0,O=0,T=0,F=0,R=0,P=0,I=0,C=0,x=0,B=0,z=0,U=0,j=0,q=0,Y=0,V=0,X=0,H=0,W=0,G=0,K=0,Z=0,Q=0,J=0,$=0,ee=0,re=0,ne=0,te=0,ie=0,oe=0,ae=0,se=0,fe=0,le=0,ue=0,ce=0,de=0,he=0,me=0,pe=0,we=0,ke=0,be=0,ve=0,Ee=0,ge=0,ye=0,_e=0,Se=0,Ae=0,De=0,Me=0,Ne=0,Le=0,Oe=0,Te=0,Fe=0,Re=0,Pe=0,Ie=0,Ce=0,xe=0,Be=0,ze=0,qe=0,Ye=0,Ve=0,Xe=0,He=0,We=0,Ge=0,Ke=0,Ze=0,Qe=0,Je=0,$e=0,er=0,rr=0,nr=0,tr=0,ir=0,or=0,ar=0,sr=0,fr=0,lr=0,cr=0,dr=0,hr=0,mr=0,pr=0,br=0,vr=0,Er=0,gr=0,yr=0,_r=0,Sr=0,Ar=0,Dr=0,Mr=0,Nr=0,Lr=0,Or=0,Tr=0,Fr=0,Rr=0,Pr=0,Ir=0,Cr=0,xr=0,Br=0,zr=0,Ur=0,jr=0,qr=0,Yr=0,Vr=0,Xr=0,Hr=0,Wr=0,Gr=0,Kr=0,Zr=0,Qr=0,Jr=0,rn=0,nn=0,tn=0,on=0,an=0,sn=0,fn=0,ln=0,un=0,cn=0,dn=0,hn=0,mn=0,pn=0,wn=0,kn=0,bn=0,vn=0,En=0,gn=0,yn=0,_n=0,Sn=0,An=0,Dn=0,Mn=0,Nn=0,Ln=0,On=0,Tn=0,Fn=0,Rn=0,Pn=0,In=0,Cn=0,xn=0,Bn=0,zn=0,Un=0,jn=0,qn=0,Yn=0,Vn=0,Xn=0,Hn=0,Wn=0,Gn=0,Kn=0,Zn=0,Qn=0,Jn=0,$n=0,et=0,rt=0,nt=0,tt=0,it=0,ot=0,at=0,st=0,ft=0,lt=0,ut=0,ct=0,dt=0,ht=0,mt=0,pt=0,wt=0,kt=0,bt=0,vt=0,Et=0,gt=0,yt=0,_t=0,St=0,At=0,Dt=0,Mt=0,Nt=0,Lt=0,Ot=0,Tt=0,Ft=0,Rt=0,Pt=0,It=0,Ct=0,xt=0,Bt=0,zt=0,Ut=0,jt=0,qt=0,Yt=0,Vt=0,Xt=0,Ht=0,Wt=0,Gt=0,Kt=0,Zt=0,Qt=0,Jt=0,$t=0,ei=0,ri=0,ni=0,ti=0,ii=0,oi=0,ai=0,si=0,fi=0,li=0,ui=0,ci=0,di=0,hi=0,mi=0,pi=0,wi=0,ki=0,bi=0,vi=0,Ei=0,gi=0,yi=0,_i=0,Si=0,Ai=0,Di=0,Mi=0,Ni=0,Li=0,Oi=0,Ti=0,Fi=0,Ri=0,Pi=0,Ii=0,Ci=0,xi=0,Bi=0,zi=0,Ui=0,ji=0,qi=0,Yi=0,Vi=0,Xi=0,Hi=0,Wi=0,Gi=0,Ki=0,Zi=0,Qi=0,Ji=0,$i=0,eo=0,ro=0,no=0,to=0,io=0,oo=0,ao=0,so=0,fo=0,lo=0,uo=0,co=0,ho=0,mo=0,po=0,wo=0,ko=0,bo=0,vo=0,Eo=0,go=0,yo=0,_o=0,So=0,Ao=0,Do=0,Mo=0,No=0,Lo=0,Oo=0,To=0,Fo=0,Ro=0,Po=0,Io=0,Co=0,xo=0,Bo=0,zo=0,Uo=0,jo=0,qo=0,Yo=0,Vo=0,Xo=0,Ho=0,Wo=0,Go=0,Ko=0,Zo=0,Qo=0,Jo=0,$o=0,ea=0,ra=0,na=0,ta=0,ia=0,oa=0,aa=0,sa=0,fa=0,la=0,ua=0,ca=0,da=0,ha=0,ma=0,pa=0,wa=0,ka=0,ba=0,va=0,Ea=0,ga=0,ya=0,_a=0,Sa=0,Aa=0,Da=0,Ma=0,Na=0,La=0,Oa=0,Ta=0,Fa=0,Ra=0,Pa=0,Ia=0,Ca=0,xa=0,Ba=0,za=0,Ua=0,ja=0,qa=0,Ya=0,Va=0,Xa=0,Ha=0,Wa=0,Ga=0,Ka=0,Za=0,Qa=0,Ja=0,$a=0,es=0,rs=0,ns=0,ts=0,is=0,os=0,as=0,ss=0,fs=0,ls=0;n=c;c=c+16|0;f=n;if(!e){l=-2;c=n;return l|0}u=o[e+28>>2]|0;if(!u){l=-2;c=n;return l|0}d=e+12|0;h=o[d>>2]|0;if(!h){l=-2;c=n;return l|0}m=o[e>>2]|0;if((m|0)==0?(o[e+4>>2]|0)!=0:0){l=-2;c=n;return l|0}p=o[u>>2]|0;if((p|0)==11){o[u>>2]=12;w=12}else w=p;p=e+16|0;k=o[p>>2]|0;b=e+4|0;v=o[b>>2]|0;E=u+56|0;g=u+60|0;y=u+8|0;_=u+24|0;S=f+1|0;A=u+16|0;D=u+32|0;M=e+24|0;N=u+36|0;L=u+20|0;O=e+48|0;T=u+64|0;F=u+12|0;R=(r+-5|0)>>>0<2;P=u+4|0;I=u+76|0;C=u+84|0;x=u+80|0;B=u+88|0;z=(r|0)==6;U=u+7108|0;j=u+72|0;q=u+7112|0;Y=u+68|0;V=u+44|0;X=u+7104|0;H=u+48|0;W=u+52|0;G=u+40|0;K=e+20|0;Z=u+28|0;Q=f+2|0;J=f+3|0;$=u+104|0;ee=u+96|0;re=u+100|0;ne=u+624|0;te=u+1328|0;ie=u+108|0;oe=u+112|0;ae=u+752|0;se=u+92|0;fe=w;w=o[g>>2]|0;le=v;ue=o[E>>2]|0;ce=k;de=m;m=k;k=h;h=0;e:while(1){r:do{switch(fe|0){case 28:{he=ce;me=w;pe=le;we=ue;ke=de;be=m;ve=k;Ee=1;break e;break}case 29:{ge=w;ye=le;_e=ue;Se=ce;Ae=de;De=m;Me=k;Ne=284;break e;break}case 30:{l=-4;Ne=297;break e;break}case 0:{Le=o[y>>2]|0;if(!Le){o[u>>2]=12;Oe=w;Te=le;Fe=ue;Re=ce;Pe=de;Ie=m;Ce=k;xe=h;break r}if(w>>>0<16){Be=w;ze=le;qe=ue;Ye=de;while(1){if(!ze){he=ce;me=Be;pe=0;we=qe;ke=Ye;be=m;ve=k;Ee=h;break e}Ve=ze+-1|0;Xe=Ye+1|0;He=(a[Ye>>0]<<Be)+qe|0;We=Be+8|0;if(We>>>0<16){Be=We;ze=Ve;qe=He;Ye=Xe}else{Ge=We;Ke=Ve;Ze=He;Qe=Xe;break}}}else{Ge=w;Ke=le;Ze=ue;Qe=de}if((Ze|0)==35615&(Le&2|0)!=0){o[_>>2]=je(0,0,0)|0;t[f>>0]=31;t[S>>0]=-117;o[_>>2]=je(o[_>>2]|0,f,2)|0;o[u>>2]=1;Oe=0;Te=Ke;Fe=0;Re=ce;Pe=Qe;Ie=m;Ce=k;xe=h;break r}o[A>>2]=0;Ye=o[D>>2]|0;if(Ye)o[Ye+48>>2]=-1;if((Le&1|0)!=0?((((Ze<<8&65280)+(Ze>>>8)|0)>>>0)%31|0|0)==0:0){if((Ze&15|0)!=8){o[M>>2]=13572;o[u>>2]=29;Oe=Ge;Te=Ke;Fe=Ze;Re=ce;Pe=Qe;Ie=m;Ce=k;xe=h;break r}Ye=Ze>>>4;qe=Ge+-4|0;ze=(Ye&15)+8|0;Be=o[N>>2]|0;if(Be){if(ze>>>0>Be>>>0){o[M>>2]=13599;o[u>>2]=29;Oe=qe;Te=Ke;Fe=Ye;Re=ce;Pe=Qe;Ie=m;Ce=k;xe=h;break r}}else o[N>>2]=ze;o[L>>2]=1<<ze;ze=Ue(0,0,0)|0;o[_>>2]=ze;o[O>>2]=ze;o[u>>2]=Ze>>>12&2^11;Oe=0;Te=Ke;Fe=0;Re=ce;Pe=Qe;Ie=m;Ce=k;xe=h;break r}o[M>>2]=13549;o[u>>2]=29;Oe=Ge;Te=Ke;Fe=Ze;Re=ce;Pe=Qe;Ie=m;Ce=k;xe=h;break}case 1:{if(w>>>0<16){ze=w;Ye=le;qe=ue;Be=de;while(1){if(!Ye){he=ce;me=ze;pe=0;we=qe;ke=Be;be=m;ve=k;Ee=h;break e}Xe=Ye+-1|0;He=Be+1|0;Ve=(a[Be>>0]<<ze)+qe|0;We=ze+8|0;if(We>>>0<16){ze=We;Ye=Xe;qe=Ve;Be=He}else{Je=Ve;$e=We;er=Xe;rr=He;break}}}else{Je=ue;$e=w;er=le;rr=de}o[A>>2]=Je;if((Je&255|0)!=8){o[M>>2]=13572;o[u>>2]=29;Oe=$e;Te=er;Fe=Je;Re=ce;Pe=rr;Ie=m;Ce=k;xe=h;break r}if(Je&57344){o[M>>2]=13619;o[u>>2]=29;Oe=$e;Te=er;Fe=Je;Re=ce;Pe=rr;Ie=m;Ce=k;xe=h;break r}Be=o[D>>2]|0;if(Be)o[Be>>2]=Je>>>8&1;if(Je&512){t[f>>0]=Je;t[S>>0]=Je>>>8;o[_>>2]=je(o[_>>2]|0,f,2)|0}o[u>>2]=2;nr=0;tr=er;ir=0;or=rr;Ne=47;break}case 2:{if(w>>>0<32){nr=w;tr=le;ir=ue;or=de;Ne=47}else{ar=le;sr=ue;fr=de;Ne=49}break}case 3:{if(w>>>0<16){lr=w;cr=le;dr=ue;hr=de;Ne=55}else{mr=le;pr=ue;br=de;Ne=57}break}case 4:{vr=w;Er=le;gr=ue;yr=de;Ne=62;break}case 5:{_r=w;Sr=le;Ar=ue;Dr=de;Ne=73;break}case 6:{Mr=w;Nr=le;Lr=ue;Or=de;Ne=83;break}case 7:{Tr=w;Fr=le;Rr=ue;Pr=de;Ne=96;break}case 8:{Ir=w;Cr=le;xr=ue;Br=de;Ne=109;break}case 9:{if(w>>>0<32){Be=w;qe=le;Ye=ue;ze=de;while(1){if(!qe){he=ce;me=Be;pe=0;we=Ye;ke=ze;be=m;ve=k;Ee=h;break e}Le=qe+-1|0;He=ze+1|0;Xe=(a[ze>>0]<<Be)+Ye|0;Be=Be+8|0;if(Be>>>0>=32){zr=Le;Ur=Xe;jr=He;break}else{qe=Le;Ye=Xe;ze=He}}}else{zr=le;Ur=ue;jr=de}ze=en(Ur|0)|0;o[_>>2]=ze;o[O>>2]=ze;o[u>>2]=10;qr=0;Yr=zr;Vr=0;Xr=jr;Ne=121;break}case 10:{qr=w;Yr=le;Vr=ue;Xr=de;Ne=121;break}case 11:{Hr=w;Wr=le;Gr=ue;Kr=de;Ne=124;break}case 12:{Zr=w;Qr=le;Jr=ue;rn=de;Ne=125;break}case 13:{ze=w&7;Ye=ue>>>ze;qe=w-ze|0;if(qe>>>0<32){ze=qe;Be=le;He=Ye;Xe=de;while(1){if(!Be){he=ce;me=ze;pe=0;we=He;ke=Xe;be=m;ve=k;Ee=h;break e}Le=Be+-1|0;We=Xe+1|0;Ve=(a[Xe>>0]<<ze)+He|0;nn=ze+8|0;if(nn>>>0<32){ze=nn;Be=Le;He=Ve;Xe=We}else{tn=nn;on=Le;an=Ve;sn=We;break}}}else{tn=qe;on=le;an=Ye;sn=de}Xe=an&65535;if((Xe|0)==(an>>>16^65535|0)){o[T>>2]=Xe;o[u>>2]=14;if(z){he=ce;me=0;pe=on;we=0;ke=sn;be=m;ve=k;Ee=h;break e}else{fn=0;ln=on;un=0;cn=sn;Ne=143;break r}}else{o[M>>2]=13683;o[u>>2]=29;Oe=tn;Te=on;Fe=an;Re=ce;Pe=sn;Ie=m;Ce=k;xe=h;break r}break}case 14:{fn=w;ln=le;un=ue;cn=de;Ne=143;break}case 15:{dn=w;hn=le;mn=ue;pn=de;Ne=144;break}case 16:{if(w>>>0<14){Xe=w;He=le;Be=ue;ze=de;while(1){if(!He){he=ce;me=Xe;pe=0;we=Be;ke=ze;be=m;ve=k;Ee=h;break e}We=He+-1|0;Ve=ze+1|0;Le=(a[ze>>0]<<Xe)+Be|0;nn=Xe+8|0;if(nn>>>0<14){Xe=nn;He=We;Be=Le;ze=Ve}else{wn=nn;kn=We;bn=Le;vn=Ve;break}}}else{wn=w;kn=le;bn=ue;vn=de}ze=(bn&31)+257|0;o[ee>>2]=ze;Be=(bn>>>5&31)+1|0;o[re>>2]=Be;He=(bn>>>10&15)+4|0;o[se>>2]=He;Xe=bn>>>14;Ye=wn+-14|0;if(ze>>>0>286|Be>>>0>30){o[M>>2]=13712;o[u>>2]=29;Oe=Ye;Te=kn;Fe=Xe;Re=ce;Pe=vn;Ie=m;Ce=k;xe=h;break r}else{o[$>>2]=0;o[u>>2]=17;En=He;gn=0;yn=Ye;_n=kn;Sn=Xe;An=vn;Ne=154;break r}break}case 17:{Xe=o[$>>2]|0;Ye=o[se>>2]|0;if(Xe>>>0<Ye>>>0){En=Ye;gn=Xe;yn=w;_n=le;Sn=ue;An=de;Ne=154}else{Dn=Xe;Mn=w;Nn=le;Ln=ue;On=de;Ne=155}break}case 18:{Tn=o[$>>2]|0;Fn=w;Rn=le;Pn=ue;In=de;Cn=h;Ne=165;break}case 19:{xn=w;Bn=le;zn=ue;Un=de;jn=h;Ne=202;break}case 20:{qn=w;Yn=le;Vn=ue;Xn=de;Hn=h;Ne=203;break}case 21:{Wn=o[j>>2]|0;Gn=w;Kn=le;Zn=ue;Qn=de;Jn=h;Ne=221;break}case 22:{$n=w;et=le;rt=ue;nt=de;tt=h;Ne=228;break}case 23:{it=o[j>>2]|0;ot=w;at=le;st=ue;ft=de;lt=h;Ne=240;break}case 24:{ut=w;ct=le;dt=ue;ht=de;mt=h;Ne=246;break}case 25:{if(!ce){he=0;me=w;pe=le;we=ue;ke=de;be=m;ve=k;Ee=h;break e}t[k>>0]=o[T>>2];o[u>>2]=20;Oe=w;Te=le;Fe=ue;Re=ce+-1|0;Pe=de;Ie=m;Ce=k+1|0;xe=h;break}case 26:{if(o[y>>2]|0){if(w>>>0<32){Xe=w;Ye=le;He=ue;Be=de;while(1){if(!Ye){he=ce;me=Xe;pe=0;we=He;ke=Be;be=m;ve=k;Ee=h;break e}ze=Ye+-1|0;qe=Be+1|0;Ve=(a[Be>>0]<<Xe)+He|0;Le=Xe+8|0;if(Le>>>0<32){Xe=Le;Ye=ze;He=Ve;Be=qe}else{pt=Le;wt=ze;kt=Ve;bt=qe;break}}}else{pt=w;wt=le;kt=ue;bt=de}Be=m-ce|0;o[K>>2]=(o[K>>2]|0)+Be;o[Z>>2]=(o[Z>>2]|0)+Be;if((m|0)==(ce|0))vt=o[_>>2]|0;else{He=o[_>>2]|0;Ye=k+(0-Be)|0;if(!(o[A>>2]|0))Et=Ue(He,Ye,Be)|0;else Et=je(He,Ye,Be)|0;o[_>>2]=Et;o[O>>2]=Et;vt=Et}Be=(o[A>>2]|0)==0;Ye=en(kt|0)|0;if(((Be?Ye:kt)|0)==(vt|0)){gt=0;yt=wt;_t=0;St=bt;At=ce}else{o[M>>2]=13966;o[u>>2]=29;Oe=pt;Te=wt;Fe=kt;Re=ce;Pe=bt;Ie=ce;Ce=k;xe=h;break r}}else{gt=w;yt=le;_t=ue;St=de;At=m}o[u>>2]=27;Dt=gt;Mt=yt;Nt=_t;Lt=St;Ot=At;Ne=276;break}case 27:{Dt=w;Mt=le;Nt=ue;Lt=de;Ot=m;Ne=276;break}default:{Ne=296;break e}}}while(0);if((Ne|0)==47)while(1){Ne=0;if(!tr){he=ce;me=nr;pe=0;we=ir;ke=or;be=m;ve=k;Ee=h;break e}Ye=tr+-1|0;Be=or+1|0;He=(a[or>>0]<<nr)+ir|0;nr=nr+8|0;if(nr>>>0>=32){ar=Ye;sr=He;fr=Be;Ne=49;break}else{tr=Ye;ir=He;or=Be;Ne=47}}else if((Ne|0)==121){Ne=0;if(!(o[F>>2]|0)){Tt=qr;Ft=Yr;Rt=Vr;Pt=ce;It=Xr;Ct=k;Ne=122;break}Be=Ue(0,0,0)|0;o[_>>2]=Be;o[O>>2]=Be;o[u>>2]=11;Hr=qr;Wr=Yr;Gr=Vr;Kr=Xr;Ne=124}else if((Ne|0)==143){Ne=0;o[u>>2]=15;dn=fn;hn=ln;mn=un;pn=cn;Ne=144}else if((Ne|0)==154){Ne=0;Be=gn;He=yn;Ye=_n;Xe=Sn;qe=An;while(1){if(He>>>0<3){Ve=He;ze=Ye;Le=Xe;We=qe;while(1){if(!ze){he=ce;me=Ve;pe=0;we=Le;ke=We;be=m;ve=k;Ee=h;break e}nn=ze+-1|0;xt=We+1|0;Bt=(a[We>>0]<<Ve)+Le|0;zt=Ve+8|0;if(zt>>>0<3){Ve=zt;ze=nn;Le=Bt;We=xt}else{Ut=zt;jt=nn;qt=Bt;Yt=xt;break}}}else{Ut=He;jt=Ye;qt=Xe;Yt=qe}We=Be+1|0;o[$>>2]=We;i[u+112+(s[11804+(Be<<1)>>1]<<1)>>1]=qt&7;Le=qt>>>3;ze=Ut+-3|0;if(We>>>0<En>>>0){Be=We;He=ze;Ye=jt;Xe=Le;qe=Yt}else{Dn=We;Mn=ze;Nn=jt;Ln=Le;On=Yt;Ne=155;break}}}else if((Ne|0)==276){Ne=0;if(!(o[y>>2]|0)){Vt=Dt;Xt=Mt;Ht=Nt;Wt=ce;Gt=Lt;Kt=Ot;Zt=k;Ne=283;break}if(!(o[A>>2]|0)){Vt=Dt;Xt=Mt;Ht=Nt;Wt=ce;Gt=Lt;Kt=Ot;Zt=k;Ne=283;break}if(Dt>>>0<32){qe=Dt;Xe=Mt;Ye=Nt;He=Lt;while(1){if(!Xe){he=ce;me=qe;pe=0;we=Ye;ke=He;be=Ot;ve=k;Ee=h;break e}Be=Xe+-1|0;Le=He+1|0;ze=(a[He>>0]<<qe)+Ye|0;We=qe+8|0;if(We>>>0<32){qe=We;Xe=Be;Ye=ze;He=Le}else{Qt=We;Jt=Be;$t=ze;ei=Le;break}}}else{Qt=Dt;Jt=Mt;$t=Nt;ei=Lt}if(($t|0)==(o[Z>>2]|0)){Vt=0;Xt=Jt;Ht=0;Wt=ce;Gt=ei;Kt=Ot;Zt=k;Ne=283;break}o[M>>2]=13987;o[u>>2]=29;Oe=Qt;Te=Jt;Fe=$t;Re=ce;Pe=ei;Ie=Ot;Ce=k;xe=h}do{if((Ne|0)==49){Ne=0;He=o[D>>2]|0;if(He)o[He+4>>2]=sr;if(o[A>>2]&512){t[f>>0]=sr;t[S>>0]=sr>>>8;t[Q>>0]=sr>>>16;t[J>>0]=sr>>>24;o[_>>2]=je(o[_>>2]|0,f,4)|0}o[u>>2]=3;lr=0;cr=ar;dr=0;hr=fr;Ne=55}else if((Ne|0)==124){Ne=0;if(R){he=ce;me=Hr;pe=Wr;we=Gr;ke=Kr;be=m;ve=k;Ee=h;break e}else{Zr=Hr;Qr=Wr;Jr=Gr;rn=Kr;Ne=125}}else if((Ne|0)==144){Ne=0;He=o[T>>2]|0;if(!He){o[u>>2]=11;Oe=dn;Te=hn;Fe=mn;Re=ce;Pe=pn;Ie=m;Ce=k;xe=h;break}Ye=He>>>0>hn>>>0?hn:He;He=Ye>>>0>ce>>>0?ce:Ye;if(!He){he=ce;me=dn;pe=hn;we=mn;ke=pn;be=m;ve=k;Ee=h;break e}$r(k|0,pn|0,He|0)|0;o[T>>2]=(o[T>>2]|0)-He;Oe=dn;Te=hn-He|0;Fe=mn;Re=ce-He|0;Pe=pn+He|0;Ie=m;Ce=k+He|0;xe=h}else if((Ne|0)==155){Ne=0;if(Dn>>>0<19){He=Dn;do{i[u+112+(s[11804+(He<<1)>>1]<<1)>>1]=0;He=He+1|0}while((He|0)!=19);o[$>>2]=19}o[ie>>2]=te;o[I>>2]=te;o[C>>2]=7;He=kr(0,oe,19,ie,C,ae)|0;if(!He){o[$>>2]=0;o[u>>2]=18;Tn=0;Fn=Mn;Rn=Nn;Pn=Ln;In=On;Cn=0;Ne=165;break}else{o[M>>2]=13748;o[u>>2]=29;Oe=Mn;Te=Nn;Fe=Ln;Re=ce;Pe=On;Ie=m;Ce=k;xe=He;break}}}while(0);r:do{if((Ne|0)==55)while(1){Ne=0;if(!cr){he=ce;me=lr;pe=0;we=dr;ke=hr;be=m;ve=k;Ee=h;break e}He=cr+-1|0;Ye=hr+1|0;Xe=(a[hr>>0]<<lr)+dr|0;lr=lr+8|0;if(lr>>>0>=16){mr=He;pr=Xe;br=Ye;Ne=57;break}else{cr=He;dr=Xe;hr=Ye;Ne=55}}else if((Ne|0)==125){Ne=0;if(o[P>>2]|0){Ye=Zr&7;o[u>>2]=26;Oe=Zr-Ye|0;Te=Qr;Fe=Jr>>>Ye;Re=ce;Pe=rn;Ie=m;Ce=k;xe=h;break}if(Zr>>>0<3){Ye=Zr;Xe=Qr;He=Jr;qe=rn;while(1){if(!Xe){he=ce;me=Ye;pe=0;we=He;ke=qe;be=m;ve=k;Ee=h;break e}Le=Xe+-1|0;ze=qe+1|0;Be=(a[qe>>0]<<Ye)+He|0;We=Ye+8|0;if(We>>>0<3){Ye=We;Xe=Le;He=Be;qe=ze}else{ri=We;ni=Le;ti=Be;ii=ze;break}}}else{ri=Zr;ni=Qr;ti=Jr;ii=rn}o[P>>2]=ti&1;switch(ti>>>1&3|0){case 0:{o[u>>2]=13;break}case 1:{o[I>>2]=9628;o[C>>2]=9;o[x>>2]=11676;o[B>>2]=5;o[u>>2]=19;if(z){oi=ri;ai=ni;si=ti;fi=ce;li=ii;ui=m;ci=k;di=h;Ne=133;break e}break}case 2:{o[u>>2]=16;break}case 3:{o[M>>2]=13664;o[u>>2]=29;break}default:{}}Oe=ri+-3|0;Te=ni;Fe=ti>>>3;Re=ce;Pe=ii;Ie=m;Ce=k;xe=h}else if((Ne|0)==165){Ne=0;qe=o[ee>>2]|0;He=o[re>>2]|0;do{if(Tn>>>0<(He+qe|0)>>>0){Xe=Tn;Ye=He;ze=qe;Be=Fn;Le=Rn;We=Pn;Ve=In;n:while(1){xt=(1<<o[C>>2])+-1|0;Bt=xt&We;nn=o[I>>2]|0;zt=a[nn+(Bt<<2)+1>>0]|0;if(zt>>>0>Be>>>0){hi=Be;mi=Le;pi=We;wi=Ve;while(1){if(!mi){he=ce;me=hi;pe=0;we=pi;ke=wi;be=m;ve=k;Ee=Cn;break e}ki=mi+-1|0;bi=wi+1|0;vi=(a[wi>>0]<<hi)+pi|0;Ei=hi+8|0;gi=xt&vi;yi=a[nn+(gi<<2)+1>>0]|0;if(yi>>>0>Ei>>>0){hi=Ei;mi=ki;pi=vi;wi=bi}else{_i=yi;Si=gi;Ai=Ei;Di=ki;Mi=vi;Ni=bi;break}}}else{_i=zt;Si=Bt;Ai=Be;Di=Le;Mi=We;Ni=Ve}wi=i[nn+(Si<<2)+2>>1]|0;if((wi&65535)>=16){switch(wi<<16>>16){case 16:{pi=_i+2|0;if(Ai>>>0<pi>>>0){mi=Ai;hi=Di;xt=Mi;bi=Ni;while(1){if(!hi){he=ce;me=mi;pe=0;we=xt;ke=bi;be=m;ve=k;Ee=Cn;break e}vi=hi+-1|0;ki=bi+1|0;Ei=(a[bi>>0]<<mi)+xt|0;gi=mi+8|0;if(gi>>>0<pi>>>0){mi=gi;hi=vi;xt=Ei;bi=ki}else{Li=gi;Oi=vi;Ti=Ei;Fi=ki;break}}}else{Li=Ai;Oi=Di;Ti=Mi;Fi=Ni}bi=Ti>>>_i;xt=Li-_i|0;if(!Xe){Ri=bi;Pi=xt;Ii=Oi;Ci=Fi;Ne=182;break n}xi=xt+-2|0;Bi=(bi&3)+3|0;zi=Oi;Ui=bi>>>2;ji=s[u+112+(Xe+-1<<1)>>1]|0;qi=Fi;break}case 17:{bi=_i+3|0;if(Ai>>>0<bi>>>0){xt=Ai;hi=Di;mi=Mi;pi=Ni;while(1){if(!hi){he=ce;me=xt;pe=0;we=mi;ke=pi;be=m;ve=k;Ee=Cn;break e}nn=hi+-1|0;Bt=pi+1|0;zt=(a[pi>>0]<<xt)+mi|0;ki=xt+8|0;if(ki>>>0<bi>>>0){xt=ki;hi=nn;mi=zt;pi=Bt}else{Yi=ki;Vi=nn;Xi=zt;Hi=Bt;break}}}else{Yi=Ai;Vi=Di;Xi=Mi;Hi=Ni}pi=Xi>>>_i;xi=-3-_i+Yi|0;Bi=(pi&7)+3|0;zi=Vi;Ui=pi>>>3;ji=0;qi=Hi;break}default:{pi=_i+7|0;if(Ai>>>0<pi>>>0){mi=Ai;hi=Di;xt=Mi;bi=Ni;while(1){if(!hi){he=ce;me=mi;pe=0;we=xt;ke=bi;be=m;ve=k;Ee=Cn;break e}Bt=hi+-1|0;zt=bi+1|0;nn=(a[bi>>0]<<mi)+xt|0;ki=mi+8|0;if(ki>>>0<pi>>>0){mi=ki;hi=Bt;xt=nn;bi=zt}else{Wi=ki;Gi=Bt;Ki=nn;Zi=zt;break}}}else{Wi=Ai;Gi=Di;Ki=Mi;Zi=Ni}bi=Ki>>>_i;xi=-7-_i+Wi|0;Bi=(bi&127)+11|0;zi=Gi;Ui=bi>>>7;ji=0;qi=Zi}}if((Xe+Bi|0)>>>0>(Ye+ze|0)>>>0){Qi=xi;Ji=zi;$i=Ui;eo=qi;Ne=192;break}bi=ji&65535;xt=Bi+-1|0;o[$>>2]=Xe+1;i[u+112+(Xe<<1)>>1]=bi;if(!xt){ro=xi;no=zi;to=Ui;io=qi}else{hi=xt;do{xt=o[$>>2]|0;hi=hi+-1|0;o[$>>2]=xt+1;i[u+112+(xt<<1)>>1]=bi}while((hi|0)!=0);ro=xi;no=zi;to=Ui;io=qi}}else{if(Ai>>>0<_i>>>0){hi=Ai;bi=Di;xt=Mi;mi=Ni;while(1){if(!bi){he=ce;me=hi;pe=0;we=xt;ke=mi;be=m;ve=k;Ee=Cn;break e}pi=bi+-1|0;zt=mi+1|0;nn=(a[mi>>0]<<hi)+xt|0;Bt=hi+8|0;if(Bt>>>0<_i>>>0){hi=Bt;bi=pi;xt=nn;mi=zt}else{oo=Bt;ao=pi;so=nn;fo=zt;break}}}else{oo=Ai;ao=Di;so=Mi;fo=Ni}o[$>>2]=Xe+1;i[u+112+(Xe<<1)>>1]=wi;ro=oo-_i|0;no=ao;to=so>>>_i;io=fo}Xe=o[$>>2]|0;mi=o[ee>>2]|0;Ye=o[re>>2]|0;if(Xe>>>0>=(Ye+mi|0)>>>0){lo=mi;uo=ro;co=no;ho=to;mo=io;Ne=194;break}else{ze=mi;Be=ro;Le=no;We=to;Ve=io}}if((Ne|0)==182){Ne=0;o[M>>2]=13773;o[u>>2]=29;Oe=Pi;Te=Ii;Fe=Ri;Re=ce;Pe=Ci;Ie=m;Ce=k;xe=Cn;break r}else if((Ne|0)==192){Ne=0;o[M>>2]=13773;o[u>>2]=29;Oe=Qi;Te=Ji;Fe=$i;Re=ce;Pe=eo;Ie=m;Ce=k;xe=Cn;break r}else if((Ne|0)==194){Ne=0;if((o[u>>2]|0)==29){Oe=uo;Te=co;Fe=ho;Re=ce;Pe=mo;Ie=m;Ce=k;xe=Cn;break r}else{po=lo;wo=uo;ko=co;bo=ho;vo=mo;break}}}else{po=qe;wo=Fn;ko=Rn;bo=Pn;vo=In}}while(0);if(!(i[ne>>1]|0)){o[M>>2]=13799;o[u>>2]=29;Oe=wo;Te=ko;Fe=bo;Re=ce;Pe=vo;Ie=m;Ce=k;xe=Cn;break}o[ie>>2]=te;o[I>>2]=te;o[C>>2]=9;qe=kr(1,oe,po,ie,C,ae)|0;if(qe){o[M>>2]=13836;o[u>>2]=29;Oe=wo;Te=ko;Fe=bo;Re=ce;Pe=vo;Ie=m;Ce=k;xe=qe;break}o[x>>2]=o[ie>>2];o[B>>2]=6;qe=kr(2,u+112+(o[ee>>2]<<1)|0,o[re>>2]|0,ie,B,ae)|0;if(!qe){o[u>>2]=19;if(z){he=ce;me=wo;pe=ko;we=bo;ke=vo;be=m;ve=k;Ee=0;break e}else{xn=wo;Bn=ko;zn=bo;Un=vo;jn=0;Ne=202;break}}else{o[M>>2]=13864;o[u>>2]=29;Oe=wo;Te=ko;Fe=bo;Re=ce;Pe=vo;Ie=m;Ce=k;xe=qe;break}}}while(0);if((Ne|0)==57){Ne=0;qe=o[D>>2]|0;if(qe){o[qe+8>>2]=pr&255;o[qe+12>>2]=pr>>>8}if(o[A>>2]&512){t[f>>0]=pr;t[S>>0]=pr>>>8;o[_>>2]=je(o[_>>2]|0,f,2)|0}o[u>>2]=4;vr=0;Er=mr;gr=0;yr=br;Ne=62}else if((Ne|0)==202){Ne=0;o[u>>2]=20;qn=xn;Yn=Bn;Vn=zn;Xn=Un;Hn=jn;Ne=203}do{if((Ne|0)==62){Ne=0;qe=o[A>>2]|0;if(!(qe&1024)){He=o[D>>2]|0;if(!He){Eo=vr;go=Er;yo=gr;_o=yr}else{o[He+16>>2]=0;Eo=vr;go=Er;yo=gr;_o=yr}}else{if(vr>>>0<16){He=vr;Ve=Er;We=gr;Le=yr;while(1){if(!Ve){he=ce;me=He;pe=0;we=We;ke=Le;be=m;ve=k;Ee=h;break e}Be=Ve+-1|0;ze=Le+1|0;Ye=(a[Le>>0]<<He)+We|0;He=He+8|0;if(He>>>0>=16){So=Be;Ao=Ye;Do=ze;break}else{Ve=Be;We=Ye;Le=ze}}}else{So=Er;Ao=gr;Do=yr}o[T>>2]=Ao;Le=o[D>>2]|0;if(Le)o[Le+20>>2]=Ao;if(!(qe&512)){Eo=0;go=So;yo=0;_o=Do}else{t[f>>0]=Ao;t[S>>0]=Ao>>>8;o[_>>2]=je(o[_>>2]|0,f,2)|0;Eo=0;go=So;yo=0;_o=Do}}o[u>>2]=5;_r=Eo;Sr=go;Ar=yo;Dr=_o;Ne=73}else if((Ne|0)==203){Ne=0;if(ce>>>0>257&Yn>>>0>5){o[d>>2]=k;o[p>>2]=ce;o[e>>2]=Xn;o[b>>2]=Yn;o[E>>2]=Vn;o[g>>2]=qn;ur(e,m);Le=o[d>>2]|0;We=o[p>>2]|0;Ve=o[e>>2]|0;He=o[b>>2]|0;ze=o[E>>2]|0;Ye=o[g>>2]|0;if((o[u>>2]|0)!=11){Oe=Ye;Te=He;Fe=ze;Re=We;Pe=Ve;Ie=m;Ce=Le;xe=Hn;break}o[U>>2]=-1;Oe=Ye;Te=He;Fe=ze;Re=We;Pe=Ve;Ie=m;Ce=Le;xe=Hn;break}o[U>>2]=0;Le=(1<<o[C>>2])+-1|0;Ve=Le&Vn;We=o[I>>2]|0;ze=t[We+(Ve<<2)+1>>0]|0;He=ze&255;if(He>>>0>qn>>>0){Ye=qn;Be=Yn;Xe=Vn;mi=Xn;while(1){if(!Be){he=ce;me=Ye;pe=0;we=Xe;ke=mi;be=m;ve=k;Ee=Hn;break e}xt=Be+-1|0;bi=mi+1|0;hi=(a[mi>>0]<<Ye)+Xe|0;zt=Ye+8|0;nn=Le&hi;pi=t[We+(nn<<2)+1>>0]|0;Bt=pi&255;if(Bt>>>0>zt>>>0){Ye=zt;Be=xt;Xe=hi;mi=bi}else{Mo=pi;No=Bt;Lo=nn;Oo=zt;To=xt;Fo=hi;Ro=bi;break}}}else{Mo=ze;No=He;Lo=Ve;Oo=qn;To=Yn;Fo=Vn;Ro=Xn}mi=t[We+(Lo<<2)>>0]|0;Xe=i[We+(Lo<<2)+2>>1]|0;Be=mi&255;if(mi<<24>>24!=0&(Be&240|0)==0){Ye=Xe&65535;Le=(1<<No+Be)+-1|0;Be=((Fo&Le)>>>No)+Ye|0;qe=t[We+(Be<<2)+1>>0]|0;if(((qe&255)+No|0)>>>0>Oo>>>0){bi=Oo;hi=To;xt=Fo;zt=Ro;while(1){if(!hi){he=ce;me=bi;pe=0;we=xt;ke=zt;be=m;ve=k;Ee=Hn;break e}nn=hi+-1|0;Bt=zt+1|0;pi=(a[zt>>0]<<bi)+xt|0;ki=bi+8|0;Ei=((pi&Le)>>>No)+Ye|0;vi=t[We+(Ei<<2)+1>>0]|0;if(((vi&255)+No|0)>>>0>ki>>>0){bi=ki;hi=nn;xt=pi;zt=Bt}else{Po=Ei;Io=vi;Co=ki;xo=nn;Bo=pi;zo=Bt;break}}}else{Po=Be;Io=qe;Co=Oo;xo=To;Bo=Fo;zo=Ro}zt=i[We+(Po<<2)+2>>1]|0;xt=t[We+(Po<<2)>>0]|0;o[U>>2]=No;Uo=No;jo=Co-No|0;qo=xo;Yo=xt;Vo=Io;Xo=zt;Ho=Bo>>>No;Wo=zo}else{Uo=0;jo=Oo;qo=To;Yo=mi;Vo=Mo;Xo=Xe;Ho=Fo;Wo=Ro}zt=Vo&255;xt=Ho>>>zt;hi=jo-zt|0;o[U>>2]=Uo+zt;o[T>>2]=Xo&65535;zt=Yo&255;if(!(Yo<<24>>24)){o[u>>2]=25;Oe=hi;Te=qo;Fe=xt;Re=ce;Pe=Wo;Ie=m;Ce=k;xe=Hn;break}if(zt&32){o[U>>2]=-1;o[u>>2]=11;Oe=hi;Te=qo;Fe=xt;Re=ce;Pe=Wo;Ie=m;Ce=k;xe=Hn;break}if(!(zt&64)){bi=zt&15;o[j>>2]=bi;o[u>>2]=21;Wn=bi;Gn=hi;Kn=qo;Zn=xt;Qn=Wo;Jn=Hn;Ne=221;break}else{o[M>>2]=13886;o[u>>2]=29;Oe=hi;Te=qo;Fe=xt;Re=ce;Pe=Wo;Ie=m;Ce=k;xe=Hn;break}}}while(0);if((Ne|0)==73){Ne=0;xt=o[A>>2]|0;if(xt&1024){hi=o[T>>2]|0;bi=hi>>>0>Sr>>>0?Sr:hi;if(!bi){Go=hi;Ko=Sr;Zo=Dr}else{zt=o[D>>2]|0;if((zt|0)!=0?(Ye=o[zt+16>>2]|0,(Ye|0)!=0):0){Le=(o[zt+20>>2]|0)-hi|0;hi=o[zt+24>>2]|0;$r(Ye+Le|0,Dr|0,((Le+bi|0)>>>0>hi>>>0?hi-Le|0:bi)|0)|0;Qo=o[A>>2]|0}else Qo=xt;if(Qo&512)o[_>>2]=je(o[_>>2]|0,Dr,bi)|0;xt=(o[T>>2]|0)-bi|0;o[T>>2]=xt;Go=xt;Ko=Sr-bi|0;Zo=Dr+bi|0}if(!Go){Jo=Ko;$o=Zo}else{he=ce;me=_r;pe=Ko;we=Ar;ke=Zo;be=m;ve=k;Ee=h;break}}else{Jo=Sr;$o=Dr}o[T>>2]=0;o[u>>2]=6;Mr=_r;Nr=Jo;Lr=Ar;Or=$o;Ne=83}else if((Ne|0)==221){Ne=0;if(!Wn){ea=o[T>>2]|0;ra=Gn;na=Kn;ta=Zn;ia=Qn}else{if(Gn>>>0<Wn>>>0){bi=Gn;xt=Kn;Le=Zn;hi=Qn;while(1){if(!xt){he=ce;me=bi;pe=0;we=Le;ke=hi;be=m;ve=k;Ee=Jn;break e}Ye=xt+-1|0;zt=hi+1|0;Ve=(a[hi>>0]<<bi)+Le|0;He=bi+8|0;if(He>>>0<Wn>>>0){bi=He;xt=Ye;Le=Ve;hi=zt}else{oa=He;aa=Ye;sa=Ve;fa=zt;break}}}else{oa=Gn;aa=Kn;sa=Zn;fa=Qn}hi=(o[T>>2]|0)+((1<<Wn)+-1&sa)|0;o[T>>2]=hi;o[U>>2]=(o[U>>2]|0)+Wn;ea=hi;ra=oa-Wn|0;na=aa;ta=sa>>>Wn;ia=fa}o[q>>2]=ea;o[u>>2]=22;$n=ra;et=na;rt=ta;nt=ia;tt=Jn;Ne=228}do{if((Ne|0)==83){Ne=0;if(!(o[A>>2]&2048)){hi=o[D>>2]|0;if(!hi){la=Nr;ua=Or}else{o[hi+28>>2]=0;la=Nr;ua=Or}}else{if(!Nr){he=ce;me=Mr;pe=0;we=Lr;ke=Or;be=m;ve=k;Ee=h;break e}else ca=0;while(1){hi=ca+1|0;Le=t[Or+ca>>0]|0;xt=o[D>>2]|0;if(((xt|0)!=0?(bi=o[xt+28>>2]|0,(bi|0)!=0):0)?(zt=o[T>>2]|0,zt>>>0<(o[xt+32>>2]|0)>>>0):0){o[T>>2]=zt+1;t[bi+zt>>0]=Le}zt=Le<<24>>24!=0;if(zt&Nr>>>0>hi>>>0)ca=hi;else{da=hi;ha=zt;break}}if(o[A>>2]&512)o[_>>2]=je(o[_>>2]|0,Or,da)|0;Xe=Nr-da|0;mi=Or+da|0;if(ha){he=ce;me=Mr;pe=Xe;we=Lr;ke=mi;be=m;ve=k;Ee=h;break e}else{la=Xe;ua=mi}}o[T>>2]=0;o[u>>2]=7;Tr=Mr;Fr=la;Rr=Lr;Pr=ua;Ne=96}else if((Ne|0)==228){Ne=0;mi=(1<<o[B>>2])+-1|0;Xe=mi&rt;We=o[x>>2]|0;qe=t[We+(Xe<<2)+1>>0]|0;Be=qe&255;if(Be>>>0>$n>>>0){zt=$n;hi=et;Le=rt;bi=nt;while(1){if(!hi){he=ce;me=zt;pe=0;we=Le;ke=bi;be=m;ve=k;Ee=tt;break e}xt=hi+-1|0;Ve=bi+1|0;Ye=(a[bi>>0]<<zt)+Le|0;He=zt+8|0;ze=mi&Ye;Bt=t[We+(ze<<2)+1>>0]|0;pi=Bt&255;if(pi>>>0>He>>>0){zt=He;hi=xt;Le=Ye;bi=Ve}else{ma=Bt;pa=pi;wa=ze;ka=He;ba=xt;va=Ye;Ea=Ve;break}}}else{ma=qe;pa=Be;wa=Xe;ka=$n;ba=et;va=rt;Ea=nt}bi=t[We+(wa<<2)>>0]|0;Le=i[We+(wa<<2)+2>>1]|0;hi=bi&255;if(!(hi&240)){zt=Le&65535;mi=(1<<pa+hi)+-1|0;hi=((va&mi)>>>pa)+zt|0;Ve=t[We+(hi<<2)+1>>0]|0;if(((Ve&255)+pa|0)>>>0>ka>>>0){Ye=ka;xt=ba;He=va;ze=Ea;while(1){if(!xt){he=ce;me=Ye;pe=0;we=He;ke=ze;be=m;ve=k;Ee=tt;break e}pi=xt+-1|0;Bt=ze+1|0;nn=(a[ze>>0]<<Ye)+He|0;ki=Ye+8|0;vi=((nn&mi)>>>pa)+zt|0;Ei=t[We+(vi<<2)+1>>0]|0;if(((Ei&255)+pa|0)>>>0>ki>>>0){Ye=ki;xt=pi;He=nn;ze=Bt}else{ga=vi;ya=Ei;_a=ki;Sa=pi;Aa=nn;Da=Bt;break}}}else{ga=hi;ya=Ve;_a=ka;Sa=ba;Aa=va;Da=Ea}ze=i[We+(ga<<2)+2>>1]|0;He=t[We+(ga<<2)>>0]|0;xt=(o[U>>2]|0)+pa|0;o[U>>2]=xt;Ma=xt;Na=_a-pa|0;La=Sa;Oa=He;Ta=ya;Fa=ze;Ra=Aa>>>pa;Pa=Da}else{Ma=o[U>>2]|0;Na=ka;La=ba;Oa=bi;Ta=ma;Fa=Le;Ra=va;Pa=Ea}ze=Ta&255;He=Ra>>>ze;xt=Na-ze|0;o[U>>2]=Ma+ze;ze=Oa&255;if(!(ze&64)){o[Y>>2]=Fa&65535;Ye=ze&15;o[j>>2]=Ye;o[u>>2]=23;it=Ye;ot=xt;at=La;st=He;ft=Pa;lt=tt;Ne=240;break}else{o[M>>2]=13914;o[u>>2]=29;Oe=xt;Te=La;Fe=He;Re=ce;Pe=Pa;Ie=m;Ce=k;xe=tt;break}}}while(0);if((Ne|0)==96){Ne=0;if(!(o[A>>2]&4096)){He=o[D>>2]|0;if(!He){Ia=Fr;Ca=Pr}else{o[He+36>>2]=0;Ia=Fr;Ca=Pr}}else{if(!Fr){he=ce;me=Tr;pe=0;we=Rr;ke=Pr;be=m;ve=k;Ee=h;break}else xa=0;while(1){He=xa+1|0;xt=t[Pr+xa>>0]|0;Ye=o[D>>2]|0;if(((Ye|0)!=0?(ze=o[Ye+36>>2]|0,(ze|0)!=0):0)?(zt=o[T>>2]|0,zt>>>0<(o[Ye+40>>2]|0)>>>0):0){o[T>>2]=zt+1;t[ze+zt>>0]=xt}zt=xt<<24>>24!=0;if(zt&Fr>>>0>He>>>0)xa=He;else{Ba=He;za=zt;break}}if(o[A>>2]&512)o[_>>2]=je(o[_>>2]|0,Pr,Ba)|0;zt=Fr-Ba|0;He=Pr+Ba|0;if(za){he=ce;me=Tr;pe=zt;we=Rr;ke=He;be=m;ve=k;Ee=h;break}else{Ia=zt;Ca=He}}o[u>>2]=8;Ir=Tr;Cr=Ia;xr=Rr;Br=Ca;Ne=109}else if((Ne|0)==240){Ne=0;if(!it){Ua=ot;ja=at;qa=st;Ya=ft}else{if(ot>>>0<it>>>0){He=ot;zt=at;xt=st;ze=ft;while(1){if(!zt){he=ce;me=He;pe=0;we=xt;ke=ze;be=m;ve=k;Ee=lt;break e}Ye=zt+-1|0;mi=ze+1|0;Xe=(a[ze>>0]<<He)+xt|0;Be=He+8|0;if(Be>>>0<it>>>0){He=Be;zt=Ye;xt=Xe;ze=mi}else{Va=Be;Xa=Ye;Ha=Xe;Wa=mi;break}}}else{Va=ot;Xa=at;Ha=st;Wa=ft}o[Y>>2]=(o[Y>>2]|0)+((1<<it)+-1&Ha);o[U>>2]=(o[U>>2]|0)+it;Ua=Va-it|0;ja=Xa;qa=Ha>>>it;Ya=Wa}o[u>>2]=24;ut=Ua;ct=ja;dt=qa;ht=Ya;mt=lt;Ne=246}do{if((Ne|0)==109){Ne=0;ze=o[A>>2]|0;if(ze&512){if(Ir>>>0<16){xt=Ir;zt=Cr;He=xr;mi=Br;while(1){if(!zt){he=ce;me=xt;pe=0;we=He;ke=mi;be=m;ve=k;Ee=h;break e}Xe=zt+-1|0;Ye=mi+1|0;Be=(a[mi>>0]<<xt)+He|0;qe=xt+8|0;if(qe>>>0<16){xt=qe;zt=Xe;He=Be;mi=Ye}else{Ga=qe;Ka=Xe;Za=Be;Qa=Ye;break}}}else{Ga=Ir;Ka=Cr;Za=xr;Qa=Br}if((Za|0)==(o[_>>2]&65535|0)){Ja=0;$a=Ka;es=0;rs=Qa}else{o[M>>2]=13644;o[u>>2]=29;Oe=Ga;Te=Ka;Fe=Za;Re=ce;Pe=Qa;Ie=m;Ce=k;xe=h;break}}else{Ja=Ir;$a=Cr;es=xr;rs=Br}mi=o[D>>2]|0;if(mi){o[mi+44>>2]=ze>>>9&1;o[mi+48>>2]=1}mi=je(0,0,0)|0;o[_>>2]=mi;o[O>>2]=mi;o[u>>2]=11;Oe=Ja;Te=$a;Fe=es;Re=ce;Pe=rs;Ie=m;Ce=k;xe=h}else if((Ne|0)==246){Ne=0;if(!ce){he=0;me=ut;pe=ct;we=dt;ke=ht;be=m;ve=k;Ee=mt;break e}mi=m-ce|0;He=o[Y>>2]|0;if(He>>>0>mi>>>0){zt=He-mi|0;if(zt>>>0>(o[V>>2]|0)>>>0?(o[X>>2]|0)!=0:0){o[M>>2]=13936;o[u>>2]=29;Oe=ut;Te=ct;Fe=dt;Re=ce;Pe=ht;Ie=m;Ce=k;xe=mt;break}mi=o[H>>2]|0;if(zt>>>0>mi>>>0){xt=zt-mi|0;ns=xt;ts=(o[W>>2]|0)+((o[G>>2]|0)-xt)|0}else{ns=zt;ts=(o[W>>2]|0)+(mi-zt)|0}zt=o[T>>2]|0;is=zt;os=ns>>>0>zt>>>0?zt:ns;as=ts}else{zt=o[T>>2]|0;is=zt;os=zt;as=k+(0-He)|0}He=os>>>0>ce>>>0?ce:os;o[T>>2]=is-He;zt=os>>>0>ce>>>0?ce:os;mi=He;xt=as;Le=k;while(1){t[Le>>0]=t[xt>>0]|0;mi=mi+-1|0;if(!mi)break;else{xt=xt+1|0;Le=Le+1|0}}Le=ce-He|0;xt=k+zt|0;if(!(o[T>>2]|0)){o[u>>2]=20;Oe=ut;Te=ct;Fe=dt;Re=Le;Pe=ht;Ie=m;Ce=xt;xe=mt}else{Oe=ut;Te=ct;Fe=dt;Re=Le;Pe=ht;Ie=m;Ce=xt;xe=mt}}}while(0);fe=o[u>>2]|0;w=Oe;le=Te;ue=Fe;ce=Re;de=Pe;m=Ie;k=Ce;h=xe}if((Ne|0)==122){o[d>>2]=Ct;o[p>>2]=Pt;o[e>>2]=It;o[b>>2]=Ft;o[E>>2]=Rt;o[g>>2]=Tt;l=2;c=n;return l|0}else if((Ne|0)==133){he=fi;me=oi+-3|0;pe=ai;we=si>>>3;ke=li;be=ui;ve=ci;Ee=di}else if((Ne|0)==283){o[u>>2]=28;he=Wt;me=Vt;pe=Xt;we=Ht;ke=Gt;be=Kt;ve=Zt;Ee=1}else if((Ne|0)==284){he=Se;me=ge;pe=ye;we=_e;ke=Ae;be=De;ve=Me;Ee=-3}else if((Ne|0)==296){l=-2;c=n;return l|0}else if((Ne|0)==297){c=n;return l|0}o[d>>2]=ve;o[p>>2]=he;o[e>>2]=ke;o[b>>2]=pe;o[E>>2]=we;o[g>>2]=me;if((o[G>>2]|0)==0?(o[u>>2]|0)>>>0>25|(be|0)==(he|0):0){ss=pe;fs=he}else Ne=287;do{if((Ne|0)==287){if(!(wr(e,be)|0)){ss=o[b>>2]|0;fs=o[p>>2]|0;break}o[u>>2]=30;l=-4;c=n;return l|0}}while(0);p=be-fs|0;b=e+8|0;o[b>>2]=v-ss+(o[b>>2]|0);o[K>>2]=(o[K>>2]|0)+p;o[Z>>2]=(o[Z>>2]|0)+p;if((be|0)!=(fs|0)&(o[y>>2]|0)!=0){y=o[_>>2]|0;Z=(o[d>>2]|0)+(0-p)|0;if(!(o[A>>2]|0))ls=Ue(y,Z,p)|0;else ls=je(y,Z,p)|0;o[_>>2]=ls;o[O>>2]=ls}ls=o[u>>2]|0;o[e+44>>2]=((o[P>>2]|0)!=0?64:0)+(o[g>>2]|0)+((ls|0)==11?128:0)+((ls|0)==19|(ls|0)==14?256:0);l=(Ee|0)==0&((r|0)==4|(v|0)==(ss|0)&(be|0)==(fs|0))?-5:Ee;c=n;return l|0}function pr(e){e=e|0;var r=0,n=0,t=0,i=0,a=0,s=0,f=0,l=0,u=0;if(!e){r=-2;return r|0}n=e+28|0;t=o[n>>2]|0;if(!t){r=-2;return r|0}i=e+36|0;a=o[i>>2]|0;if(!a){r=-2;return r|0}s=o[t+52>>2]|0;f=e+40|0;if(!s){l=a;u=t}else{mn[a&1](o[f>>2]|0,s);l=o[i>>2]|0;u=o[n>>2]|0}mn[l&1](o[f>>2]|0,u);o[n>>2]=0;r=0;return r|0}function wr(e,r){e=e|0;r=r|0;var n=0,t=0,i=0,a=0,s=0,f=0,l=0,u=0,c=0;n=o[e+28>>2]|0;t=n+52|0;i=o[t>>2]|0;if(!i){a=hn[o[e+32>>2]&7](o[e+40>>2]|0,1<<o[n+36>>2],1)|0;o[t>>2]=a;if(!a){s=1;return s|0}else f=a}else f=i;i=n+40|0;a=o[i>>2]|0;if(!a){l=1<<o[n+36>>2];o[i>>2]=l;o[n+48>>2]=0;o[n+44>>2]=0;u=l}else u=a;a=r-(o[e+16>>2]|0)|0;if(a>>>0>=u>>>0){$r(f|0,(o[e+12>>2]|0)+(0-u)|0,u|0)|0;o[n+48>>2]=0;o[n+44>>2]=o[i>>2];s=0;return s|0}r=n+48|0;l=o[r>>2]|0;c=u-l|0;u=c>>>0>a>>>0?a:c;c=e+12|0;$r(f+l|0,(o[c>>2]|0)+(0-a)|0,u|0)|0;l=a-u|0;if((a|0)!=(u|0)){$r(o[t>>2]|0,(o[c>>2]|0)+(0-l)|0,l|0)|0;o[r>>2]=l;o[n+44>>2]=o[i>>2];s=0;return s|0}l=(o[r>>2]|0)+a|0;c=o[i>>2]|0;o[r>>2]=(l|0)==(c|0)?0:l;l=n+44|0;n=o[l>>2]|0;if(n>>>0>=c>>>0){s=0;return s|0}o[l>>2]=n+a;s=0;return s|0}function kr(e,r,n,a,f,l){e=e|0;r=r|0;n=n|0;a=a|0;f=f|0;l=l|0;var u=0,d=0,h=0,m=0,p=0,w=0,k=0,b=0,v=0,E=0,g=0,y=0,_=0,S=0,A=0,D=0,M=0,N=0,L=0,O=0,T=0,F=0,R=0,P=0,I=0,C=0,x=0,B=0,z=0,U=0,j=0,q=0,Y=0,V=0,X=0,H=0,W=0,G=0,K=0,Z=0,Q=0,J=0,$=0,ee=0,re=0,ne=0,te=0,ie=0,oe=0,ae=0,se=0;u=c;c=c+64|0;d=u+32|0;h=u;m=d;p=m+32|0;do{i[m>>1]=0;m=m+2|0}while((m|0)<(p|0));m=(n|0)==0;if(!m){p=0;do{w=d+(s[r+(p<<1)>>1]<<1)|0;i[w>>1]=(i[w>>1]|0)+1<<16>>16;p=p+1|0}while((p|0)!=(n|0));p=i[d+30>>1]|0;w=o[f>>2]|0;if(!(p<<16>>16)){k=w;b=5}else{v=w;E=p;g=15;b=6}}else{k=o[f>>2]|0;b=5}do{if((b|0)==5)if(!(i[d+28>>1]|0))if(!(i[d+26>>1]|0))if(!(i[d+24>>1]|0))if(!(i[d+22>>1]|0))if(!(i[d+20>>1]|0))if(!(i[d+18>>1]|0))if(!(i[d+16>>1]|0))if(!(i[d+14>>1]|0))if(!(i[d+12>>1]|0))if(!(i[d+10>>1]|0))if(!(i[d+8>>1]|0))if(!(i[d+6>>1]|0))if(!(i[d+4>>1]|0)){if(i[d+2>>1]|0){y=0;_=k>>>0>1?1:k;S=1;A=1;break}p=o[a>>2]|0;o[a>>2]=p+4;t[p>>0]=64;t[p+1>>0]=1;i[p+2>>1]=0;p=o[a>>2]|0;o[a>>2]=p+4;t[p>>0]=64;t[p+1>>0]=1;i[p+2>>1]=0;o[f>>2]=1;D=0;c=u;return D|0}else{v=k;E=0;g=2;b=6}else{v=k;E=0;g=3;b=6}else{v=k;E=0;g=4;b=6}else{v=k;E=0;g=5;b=6}else{v=k;E=0;g=6;b=6}else{v=k;E=0;g=7;b=6}else{v=k;E=0;g=8;b=6}else{v=k;E=0;g=9;b=6}else{v=k;E=0;g=10;b=6}else{v=k;E=0;g=11;b=6}else{v=k;E=0;g=12;b=6}else{v=k;E=0;g=13;b=6}else{v=k;E=0;g=14;b=6}}while(0);e:do{if((b|0)==6){k=v>>>0>g>>>0?g:v;p=1;while(1){if(i[d+(p<<1)>>1]|0){y=E;_=k;S=g;A=p;break e}w=p+1|0;if(w>>>0<g>>>0)p=w;else{y=E;_=k;S=g;A=w;break}}}}while(0);g=_>>>0<A>>>0?A:_;_=i[d+2>>1]|0;E=2-(_&65535)|0;if((E|0)<0){D=-1;c=u;return D|0}v=(E<<1)-(s[d+4>>1]|0)|0;if((v|0)<0){D=-1;c=u;return D|0}E=(v<<1)-(s[d+6>>1]|0)|0;if((E|0)<0){D=-1;c=u;return D|0}v=(E<<1)-(s[d+8>>1]|0)|0;if((v|0)<0){D=-1;c=u;return D|0}E=(v<<1)-(s[d+10>>1]|0)|0;if((E|0)<0){D=-1;c=u;return D|0}v=(E<<1)-(s[d+12>>1]|0)|0;if((v|0)<0){D=-1;c=u;return D|0}E=(v<<1)-(s[d+14>>1]|0)|0;if((E|0)<0){D=-1;c=u;return D|0}v=(E<<1)-(s[d+16>>1]|0)|0;if((v|0)<0){D=-1;c=u;return D|0}E=(v<<1)-(s[d+18>>1]|0)|0;if((E|0)<0){D=-1;c=u;return D|0}v=(E<<1)-(s[d+20>>1]|0)|0;if((v|0)<0){D=-1;c=u;return D|0}E=(v<<1)-(s[d+22>>1]|0)|0;if((E|0)<0){D=-1;c=u;return D|0}v=(E<<1)-(s[d+24>>1]|0)|0;if((v|0)<0){D=-1;c=u;return D|0}E=(v<<1)-(s[d+26>>1]|0)|0;if((E|0)<0){D=-1;c=u;return D|0}v=(E<<1)-(s[d+28>>1]|0)|0;if((v|0)<0){D=-1;c=u;return D|0}E=(v<<1)-(y&65535)|0;if((E|0)<0){D=-1;c=u;return D|0}if((E|0)>0?(e|0)==0|(S|0)!=1:0){D=-1;c=u;return D|0}i[h+2>>1]=0;i[h+4>>1]=_;E=(s[d+4>>1]|0)+(_&65535)|0;i[h+6>>1]=E;_=(s[d+6>>1]|0)+(E&65535)|0;i[h+8>>1]=_;E=(s[d+8>>1]|0)+(_&65535)|0;i[h+10>>1]=E;_=(s[d+10>>1]|0)+(E&65535)|0;i[h+12>>1]=_;E=(s[d+12>>1]|0)+(_&65535)|0;i[h+14>>1]=E;_=(s[d+14>>1]|0)+(E&65535)|0;i[h+16>>1]=_;E=(s[d+16>>1]|0)+(_&65535)|0;i[h+18>>1]=E;_=(s[d+18>>1]|0)+(E&65535)|0;i[h+20>>1]=_;E=(s[d+20>>1]|0)+(_&65535)|0;i[h+22>>1]=E;_=(s[d+22>>1]|0)+(E&65535)|0;i[h+24>>1]=_;E=(s[d+24>>1]|0)+(_&65535)|0;i[h+26>>1]=E;_=(s[d+26>>1]|0)+(E&65535)|0;i[h+28>>1]=_;i[h+30>>1]=(s[d+28>>1]|0)+(_&65535);if(!m){m=0;do{_=i[r+(m<<1)>>1]|0;if(_<<16>>16){E=h+((_&65535)<<1)|0;_=i[E>>1]|0;i[E>>1]=_+1<<16>>16;i[l+((_&65535)<<1)>>1]=m}m=m+1|0}while((m|0)!=(n|0))}switch(e|0){case 0:{M=0;N=0;L=l;O=19;T=l;break}case 1:{if(g>>>0>9){D=1;c=u;return D|0}else{M=0;N=1;L=11392;O=256;T=11518}break}default:{n=(e|0)==2;if(n&g>>>0>9){D=1;c=u;return D|0}else{M=n;N=0;L=11842;O=-1;T=11968}}}n=1<<g;e=n+-1|0;m=g&255;h=g;_=0;E=0;y=A;A=-1;v=o[a>>2]|0;k=0;p=n;e:while(1){n=1<<h;w=E;F=y;R=k;while(1){P=F-_|0;I=P&255;C=i[l+(R<<1)>>1]|0;x=C&65535;do{if((x|0)<(O|0)){B=0;z=C}else{if((x|0)<=(O|0)){B=96;z=0;break}B=i[T+(x<<1)>>1]&255;z=i[L+(x<<1)>>1]|0}}while(0);x=1<<P;C=w>>>_;U=n;do{j=U;U=U-x|0;q=U+C|0;t[v+(q<<2)>>0]=B;t[v+(q<<2)+1>>0]=I;i[v+(q<<2)+2>>1]=z}while((j|0)!=(x|0));x=1<<F+-1;while(1)if(!(x&w)){Y=x;break}else x=x>>>1;if(!Y)V=0;else V=(Y+-1&w)+Y|0;x=R+1|0;C=d+(F<<1)|0;U=(i[C>>1]|0)+-1<<16>>16;i[C>>1]=U;if(!(U<<16>>16)){if((F|0)==(S|0)){X=I;H=_;W=V;G=A;K=v;Z=p;break e}Q=s[r+(s[l+(x<<1)>>1]<<1)>>1]|0}else Q=F;if(Q>>>0<=g>>>0){w=V;F=Q;R=x;continue}U=V&e;if((U|0)==(A|0)){w=V;F=Q;R=x}else{J=x;$=U;ee=V;re=Q;break}}R=(_|0)==0?g:_;F=v+(n<<2)|0;w=re-R|0;r:do{if(re>>>0<S>>>0){U=re;x=w;C=1<<w;while(1){P=C-(s[d+(U<<1)>>1]|0)|0;if((P|0)<1){ne=x;break r}j=x+1|0;U=j+R|0;if(U>>>0>=S>>>0){ne=j;break}else{x=j;C=P<<1}}}else ne=w}while(0);w=(1<<ne)+p|0;if(N&w>>>0>851|M&w>>>0>591){D=1;b=49;break}n=o[a>>2]|0;t[n+($<<2)>>0]=ne;t[n+($<<2)+1>>0]=m;i[n+($<<2)+2>>1]=(F-n|0)>>>2;h=ne;_=R;E=ee;y=re;A=$;v=F;k=J;p=w}if((b|0)==49){c=u;return D|0}e:do{if(W){b=H;p=X;J=W;k=S;v=K;while(1){if((b|0)==0|(J&e|0)==(G|0)){te=b;ie=p;oe=k;ae=v}else{te=0;ie=m;oe=g;ae=o[a>>2]|0}$=J>>>te;t[ae+($<<2)>>0]=64;t[ae+($<<2)+1>>0]=ie;i[ae+($<<2)+2>>1]=0;$=1<<oe+-1;while(1)if(!($&J)){se=$;break}else $=$>>>1;if(!se)break e;J=(se+-1&J)+se|0;if(!J)break;else{b=te;p=ie;k=oe;v=ae}}}}while(0);o[a>>2]=(o[a>>2]|0)+(Z<<2);o[f>>2]=g;D=0;c=u;return D|0}function br(e){e=e|0;o[e+2840>>2]=e+148;o[e+2848>>2]=8320;o[e+2852>>2]=e+2440;o[e+2860>>2]=8340;o[e+2864>>2]=e+2684;o[e+2872>>2]=8360;i[e+5816>>1]=0;o[e+5820>>2]=0;o[e+5812>>2]=8;yr(e);return}function vr(e,r,n,a){e=e|0;r=r|0;n=n|0;a=a|0;var f=0,l=0,u=0,c=0,d=0,h=0,m=0,p=0,w=0,k=0,b=0,v=0,E=0,g=0;f=e+5820|0;l=o[f>>2]|0;u=a&65535;a=e+5816|0;c=s[a>>1]|0|u<<l;i[a>>1]=c;if((l|0)>13){d=e+20|0;h=o[d>>2]|0;o[d>>2]=h+1;m=e+8|0;t[(o[m>>2]|0)+h>>0]=c;h=(s[a>>1]|0)>>>8&255;p=o[d>>2]|0;o[d>>2]=p+1;t[(o[m>>2]|0)+p>>0]=h;h=o[f>>2]|0;p=u>>>(16-h|0);i[a>>1]=p;w=p;k=h+-13|0}else{w=c;k=l+3|0}l=w&255;o[f>>2]=k;do{if((k|0)<=8){w=e+20|0;if((k|0)>0){c=o[w>>2]|0;o[w>>2]=c+1;h=e+8|0;t[(o[h>>2]|0)+c>>0]=l;b=w;v=h;break}else{b=w;v=e+8|0;break}}else{w=e+20|0;h=o[w>>2]|0;o[w>>2]=h+1;c=e+8|0;t[(o[c>>2]|0)+h>>0]=l;h=(s[a>>1]|0)>>>8&255;p=o[w>>2]|0;o[w>>2]=p+1;t[(o[c>>2]|0)+p>>0]=h;b=w;v=c}}while(0);i[a>>1]=0;o[f>>2]=0;o[e+5812>>2]=8;e=o[b>>2]|0;o[b>>2]=e+1;t[(o[v>>2]|0)+e>>0]=n;e=o[b>>2]|0;o[b>>2]=e+1;t[(o[v>>2]|0)+e>>0]=n>>>8;e=n&65535^65535;f=o[b>>2]|0;o[b>>2]=f+1;t[(o[v>>2]|0)+f>>0]=e;f=o[b>>2]|0;o[b>>2]=f+1;t[(o[v>>2]|0)+f>>0]=e>>>8;if(!n)return;else{E=n;g=r}while(1){E=E+-1|0;r=t[g>>0]|0;n=o[b>>2]|0;o[b>>2]=n+1;t[(o[v>>2]|0)+n>>0]=r;if(!E)break;else g=g+1|0}return}function Er(e){e=e|0;var r=0,n=0,a=0,f=0,l=0,u=0,c=0,d=0,h=0,m=0,p=0,w=0,k=0,b=0,v=0,E=0,g=0,y=0;r=e+5820|0;n=o[r>>2]|0;a=e+5816|0;f=s[a>>1]|0|2<<n;l=f&65535;i[a>>1]=l;if((n|0)>13){u=e+20|0;c=o[u>>2]|0;o[u>>2]=c+1;d=e+8|0;t[(o[d>>2]|0)+c>>0]=f;f=(s[a>>1]|0)>>>8&255;c=o[u>>2]|0;o[u>>2]=c+1;t[(o[d>>2]|0)+c>>0]=f;f=o[r>>2]|0;c=2>>>(16-f|0)&65535;i[a>>1]=c;h=c;m=f+-13|0}else{h=l;m=n+3|0}o[r>>2]=m;if((m|0)>9){n=e+20|0;l=o[n>>2]|0;o[n>>2]=l+1;f=e+8|0;t[(o[f>>2]|0)+l>>0]=h;l=(s[a>>1]|0)>>>8&255;c=o[n>>2]|0;o[n>>2]=c+1;t[(o[f>>2]|0)+c>>0]=l;i[a>>1]=0;p=(o[r>>2]|0)+-9|0;w=0}else{p=m+7|0;w=h}o[r>>2]=p;if((p|0)!=16)if((p|0)>7){h=e+20|0;m=o[h>>2]|0;o[h>>2]=m+1;t[(o[e+8>>2]|0)+m>>0]=w;m=(s[a>>1]|0)>>>8;i[a>>1]=m;h=(o[r>>2]|0)+-8|0;o[r>>2]=h;k=h;b=m}else{k=p;b=w}else{p=e+20|0;m=o[p>>2]|0;o[p>>2]=m+1;h=e+8|0;t[(o[h>>2]|0)+m>>0]=w;w=(s[a>>1]|0)>>>8&255;m=o[p>>2]|0;o[p>>2]=m+1;t[(o[h>>2]|0)+m>>0]=w;i[a>>1]=0;o[r>>2]=0;k=0;b=0}w=e+5812|0;if((11-k+(o[w>>2]|0)|0)>=9){o[w>>2]=7;return}m=b&65535|2<<k;i[a>>1]=m;if((k|0)>13){b=e+20|0;h=o[b>>2]|0;o[b>>2]=h+1;p=e+8|0;t[(o[p>>2]|0)+h>>0]=m;h=(s[a>>1]|0)>>>8&255;l=o[b>>2]|0;o[b>>2]=l+1;t[(o[p>>2]|0)+l>>0]=h;h=o[r>>2]|0;l=2>>>(16-h|0);i[a>>1]=l;v=l;E=h+-13|0}else{v=m;E=k+3|0}k=v&255;o[r>>2]=E;if((E|0)>9){v=e+20|0;m=o[v>>2]|0;o[v>>2]=m+1;h=e+8|0;t[(o[h>>2]|0)+m>>0]=k;m=(s[a>>1]|0)>>>8&255;l=o[v>>2]|0;o[v>>2]=l+1;t[(o[h>>2]|0)+l>>0]=m;i[a>>1]=0;g=0;y=(o[r>>2]|0)+-9|0}else{g=k;y=E+7|0}o[r>>2]=y;if((y|0)==16){E=e+20|0;k=o[E>>2]|0;o[E>>2]=k+1;m=e+8|0;t[(o[m>>2]|0)+k>>0]=g;k=(s[a>>1]|0)>>>8&255;l=o[E>>2]|0;o[E>>2]=l+1;t[(o[m>>2]|0)+l>>0]=k;i[a>>1]=0;o[r>>2]=0;o[w>>2]=7;return}if((y|0)<=7){o[w>>2]=7;return}y=e+20|0;k=o[y>>2]|0;o[y>>2]=k+1;t[(o[e+8>>2]|0)+k>>0]=g;i[a>>1]=(s[a>>1]|0)>>>8;o[r>>2]=(o[r>>2]|0)+-8;o[w>>2]=7;return}function gr(e,r,n,f){e=e|0;r=r|0;n=n|0;f=f|0;var l=0,u=0,c=0,d=0,h=0,m=0,p=0,w=0,k=0,b=0,v=0,E=0,g=0,y=0,_=0,S=0,A=0,D=0,M=0,N=0,L=0,O=0,T=0,F=0,R=0,P=0,I=0,C=0,x=0,B=0,z=0,U=0,j=0,q=0,Y=0,V=0,X=0,H=0,W=0,G=0,K=0,Z=0,Q=0,J=0;if((o[e+132>>2]|0)>0){l=(o[e>>2]|0)+44|0;if((o[l>>2]|0)==2){u=-201342849;c=0;while(1){if((u&1|0)!=0?(i[e+148+(c<<2)>>1]|0)!=0:0){d=0;break}c=c+1|0;if((c|0)>=32){h=6;break}else u=u>>>1}e:do{if((h|0)==6)if(((i[e+184>>1]|0)==0?(i[e+188>>1]|0)==0:0)?(i[e+200>>1]|0)==0:0){u=32;while(1){if(i[e+148+(u<<2)>>1]|0){d=1;break e}u=u+1|0;if((u|0)>=256){d=0;break}}}else d=1}while(0);o[l>>2]=d}_r(e,e+2840|0);_r(e,e+2852|0);d=o[e+2844>>2]|0;l=i[e+150>>1]|0;h=l<<16>>16==0;i[e+148+(d+1<<2)+2>>1]=-1;u=e+2752|0;c=e+2756|0;m=e+2748|0;p=h?138:7;w=h?3:4;h=0;k=l&65535;l=-1;e:while(1){b=0;v=h;while(1){if((v|0)>(d|0))break e;E=v+1|0;g=i[e+148+(E<<2)+2>>1]|0;y=g&65535;_=b+1|0;S=(k|0)==(y|0);if((_|0)<(p|0)&S){b=_;v=E}else{A=E;D=g;M=y;N=_;L=S;break}}do{if((N|0)>=(w|0))if(!k)if((N|0)<11){i[u>>1]=(i[u>>1]|0)+1<<16>>16;break}else{i[c>>1]=(i[c>>1]|0)+1<<16>>16;break}else{if((k|0)!=(l|0)){v=e+2684+(k<<2)|0;i[v>>1]=(i[v>>1]|0)+1<<16>>16}i[m>>1]=(i[m>>1]|0)+1<<16>>16;break}else{v=e+2684+(k<<2)|0;i[v>>1]=(s[v>>1]|0)+N}}while(0);v=D<<16>>16==0;b=k;p=v?138:L?6:7;w=v|L?3:4;h=A;k=M;l=b}l=o[e+2856>>2]|0;M=i[e+2442>>1]|0;k=M<<16>>16==0;i[e+2440+(l+1<<2)+2>>1]=-1;A=k?138:7;h=k?3:4;k=0;L=M&65535;M=-1;e:while(1){w=0;p=k;while(1){if((p|0)>(l|0))break e;D=p+1|0;N=i[e+2440+(D<<2)+2>>1]|0;d=N&65535;b=w+1|0;v=(L|0)==(d|0);if((b|0)<(A|0)&v){w=b;p=D}else{O=D;T=N;F=d;R=b;P=v;break}}do{if((R|0)>=(h|0))if(!L)if((R|0)<11){i[u>>1]=(i[u>>1]|0)+1<<16>>16;break}else{i[c>>1]=(i[c>>1]|0)+1<<16>>16;break}else{if((L|0)!=(M|0)){p=e+2684+(L<<2)|0;i[p>>1]=(i[p>>1]|0)+1<<16>>16}i[m>>1]=(i[m>>1]|0)+1<<16>>16;break}else{p=e+2684+(L<<2)|0;i[p>>1]=(s[p>>1]|0)+R}}while(0);p=T<<16>>16==0;w=L;A=p?138:P?6:7;h=p|P?3:4;k=O;L=F;M=w}_r(e,e+2864|0);if(!(i[e+2746>>1]|0))if(!(i[e+2690>>1]|0))if(!(i[e+2742>>1]|0))if(!(i[e+2694>>1]|0))if(!(i[e+2738>>1]|0))if(!(i[e+2698>>1]|0))if(!(i[e+2734>>1]|0))if(!(i[e+2702>>1]|0))if(!(i[e+2730>>1]|0))if(!(i[e+2706>>1]|0))if(!(i[e+2726>>1]|0))if(!(i[e+2710>>1]|0))if(!(i[e+2722>>1]|0))if(!(i[e+2714>>1]|0))if(!(i[e+2718>>1]|0))I=(i[e+2686>>1]|0)==0?2:3;else I=4;else I=5;else I=6;else I=7;else I=8;else I=9;else I=10;else I=11;else I=12;else I=13;else I=14;else I=15;else I=16;else I=17;else I=18;M=e+5800|0;F=(I*3|0)+17+(o[M>>2]|0)|0;o[M>>2]=F;M=(F+10|0)>>>3;F=((o[e+5804>>2]|0)+10|0)>>>3;C=I;x=F>>>0>M>>>0?M:F;B=F}else{F=n+5|0;C=0;x=F;B=F}do{if((r|0)!=0&(n+4|0)>>>0<=x>>>0)vr(e,r,n,f);else{F=e+5820|0;M=o[F>>2]|0;I=(M|0)>13;if((B|0)==(x|0)?1:(o[e+136>>2]|0)==4){L=f+2&65535;O=e+5816|0;k=s[O>>1]|L<<M;i[O>>1]=k;if(I){P=e+20|0;h=o[P>>2]|0;o[P>>2]=h+1;A=e+8|0;t[(o[A>>2]|0)+h>>0]=k;k=(s[O>>1]|0)>>>8&255;h=o[P>>2]|0;o[P>>2]=h+1;t[(o[A>>2]|0)+h>>0]=k;k=o[F>>2]|0;i[O>>1]=L>>>(16-k|0);z=k+-13|0}else z=M+3|0;o[F>>2]=z;Sr(e,12094,13246);break}k=f+4&65535;L=e+5816|0;O=s[L>>1]|k<<M;i[L>>1]=O;if(I){I=e+20|0;h=o[I>>2]|0;o[I>>2]=h+1;A=e+8|0;t[(o[A>>2]|0)+h>>0]=O;h=(s[L>>1]|0)>>>8&255;P=o[I>>2]|0;o[I>>2]=P+1;t[(o[A>>2]|0)+P>>0]=h;h=o[F>>2]|0;P=k>>>(16-h|0);i[L>>1]=P;U=P;j=h+-13|0}else{U=O;j=M+3|0}o[F>>2]=j;M=o[e+2844>>2]|0;O=o[e+2856>>2]|0;h=M+65280&65535;P=U&65535|h<<j;i[L>>1]=P;if((j|0)>11){k=e+20|0;A=o[k>>2]|0;o[k>>2]=A+1;I=e+8|0;t[(o[I>>2]|0)+A>>0]=P;A=(s[L>>1]|0)>>>8&255;T=o[k>>2]|0;o[k>>2]=T+1;t[(o[I>>2]|0)+T>>0]=A;A=o[F>>2]|0;T=h>>>(16-A|0);i[L>>1]=T;q=A+-11|0;Y=T}else{q=j+5|0;Y=P}o[F>>2]=q;P=O&65535;T=P<<q|Y&65535;i[L>>1]=T;if((q|0)>11){A=e+20|0;h=o[A>>2]|0;o[A>>2]=h+1;I=e+8|0;t[(o[I>>2]|0)+h>>0]=T;h=(s[L>>1]|0)>>>8&255;k=o[A>>2]|0;o[A>>2]=k+1;t[(o[I>>2]|0)+k>>0]=h;h=o[F>>2]|0;k=P>>>(16-h|0);i[L>>1]=k;V=h+-11|0;X=k}else{V=q+5|0;X=T}o[F>>2]=V;T=C+65533&65535;k=T<<V|X&65535;i[L>>1]=k;if((V|0)>12){h=e+20|0;P=o[h>>2]|0;o[h>>2]=P+1;I=e+8|0;t[(o[I>>2]|0)+P>>0]=k;P=(s[L>>1]|0)>>>8&255;A=o[h>>2]|0;o[h>>2]=A+1;t[(o[I>>2]|0)+A>>0]=P;P=o[F>>2]|0;A=T>>>(16-P|0);i[L>>1]=A;H=I;W=h;G=A;K=P+-12|0}else{H=e+8|0;W=e+20|0;G=k;K=V+4|0}o[F>>2]=K;k=K;P=G;A=0;while(1){h=s[e+2684+(a[14778+A>>0]<<2)+2>>1]|0;I=h<<k|P&65535;i[L>>1]=I;if((k|0)>13){T=o[W>>2]|0;o[W>>2]=T+1;t[(o[H>>2]|0)+T>>0]=I;T=(s[L>>1]|0)>>>8&255;R=o[W>>2]|0;o[W>>2]=R+1;t[(o[H>>2]|0)+R>>0]=T;T=o[F>>2]|0;R=h>>>(16-T|0);i[L>>1]=R;Z=R;Q=T+-13|0}else{Z=I;Q=k+3|0}o[F>>2]=Q;if((A|0)==(C|0))break;else{k=Q;P=Z;A=A+1|0}}A=e+148|0;Ar(e,A,M);P=e+2440|0;Ar(e,P,O);Sr(e,A,P)}}while(0);yr(e);if(!f)return;f=e+5820|0;Z=o[f>>2]|0;if((Z|0)<=8){Q=e+5816|0;if((Z|0)>0){Z=i[Q>>1]&255;C=e+20|0;H=o[C>>2]|0;o[C>>2]=H+1;t[(o[e+8>>2]|0)+H>>0]=Z;J=Q}else J=Q}else{Q=e+5816|0;Z=i[Q>>1]&255;H=e+20|0;C=o[H>>2]|0;o[H>>2]=C+1;W=e+8|0;t[(o[W>>2]|0)+C>>0]=Z;Z=(s[Q>>1]|0)>>>8&255;C=o[H>>2]|0;o[H>>2]=C+1;t[(o[W>>2]|0)+C>>0]=Z;J=Q}i[J>>1]=0;o[f>>2]=0;return}function yr(e){e=e|0;var r=0;r=0;do{i[e+148+(r<<2)>>1]=0;r=r+1|0}while((r|0)!=286);i[e+2440>>1]=0;i[e+2444>>1]=0;i[e+2448>>1]=0;i[e+2452>>1]=0;i[e+2456>>1]=0;i[e+2460>>1]=0;i[e+2464>>1]=0;i[e+2468>>1]=0;i[e+2472>>1]=0;i[e+2476>>1]=0;i[e+2480>>1]=0;i[e+2484>>1]=0;i[e+2488>>1]=0;i[e+2492>>1]=0;i[e+2496>>1]=0;i[e+2500>>1]=0;i[e+2504>>1]=0;i[e+2508>>1]=0;i[e+2512>>1]=0;i[e+2516>>1]=0;i[e+2520>>1]=0;i[e+2524>>1]=0;i[e+2528>>1]=0;i[e+2532>>1]=0;i[e+2536>>1]=0;i[e+2540>>1]=0;i[e+2544>>1]=0;i[e+2548>>1]=0;i[e+2552>>1]=0;i[e+2556>>1]=0;i[e+2684>>1]=0;i[e+2688>>1]=0;i[e+2692>>1]=0;i[e+2696>>1]=0;i[e+2700>>1]=0;i[e+2704>>1]=0;i[e+2708>>1]=0;i[e+2712>>1]=0;i[e+2716>>1]=0;i[e+2720>>1]=0;i[e+2724>>1]=0;i[e+2728>>1]=0;i[e+2732>>1]=0;i[e+2736>>1]=0;i[e+2740>>1]=0;i[e+2744>>1]=0;i[e+2748>>1]=0;i[e+2752>>1]=0;i[e+2756>>1]=0;i[e+1172>>1]=1;o[e+5804>>2]=0;o[e+5800>>2]=0;o[e+5808>>2]=0;o[e+5792>>2]=0;return}function _r(e,r){e=e|0;r=r|0;var n=0,f=0,l=0,u=0,d=0,h=0,m=0,p=0,w=0,k=0,b=0,v=0,E=0,g=0,y=0,_=0,S=0,A=0,D=0,M=0,N=0,L=0,O=0,T=0,F=0,R=0,P=0,I=0,C=0,x=0,B=0,z=0,U=0,j=0,q=0,Y=0,V=0,X=0,H=0,W=0,G=0;n=c;c=c+32|0;f=n;l=o[r>>2]|0;u=r+8|0;d=o[u>>2]|0;h=o[d>>2]|0;m=o[d+12>>2]|0;d=e+5200|0;o[d>>2]=0;p=e+5204|0;o[p>>2]=573;if((m|0)>0){w=-1;k=0;while(1){if(!(i[l+(k<<2)>>1]|0)){i[l+(k<<2)+2>>1]=0;b=w}else{v=(o[d>>2]|0)+1|0;o[d>>2]=v;o[e+2908+(v<<2)>>2]=k;t[e+5208+k>>0]=0;b=k}k=k+1|0;if((k|0)==(m|0)){E=b;break}else w=b}b=o[d>>2]|0;if((b|0)<2){g=b;y=E;_=3}else{S=b;A=E}}else{g=0;y=-1;_=3}if((_|0)==3){_=e+5800|0;E=e+5804|0;if(!h){b=g;w=y;while(1){k=(w|0)<2;v=w+1|0;D=k?v:w;M=k?v:0;v=b+1|0;o[d>>2]=v;o[e+2908+(v<<2)>>2]=M;i[l+(M<<2)>>1]=1;t[e+5208+M>>0]=0;o[_>>2]=(o[_>>2]|0)+-1;M=o[d>>2]|0;if((M|0)<2){b=M;w=D}else{S=M;A=D;break}}}else{w=g;g=y;while(1){y=(g|0)<2;b=g+1|0;D=y?b:g;M=y?b:0;b=w+1|0;o[d>>2]=b;o[e+2908+(b<<2)>>2]=M;i[l+(M<<2)>>1]=1;t[e+5208+M>>0]=0;o[_>>2]=(o[_>>2]|0)+-1;o[E>>2]=(o[E>>2]|0)-(s[h+(M<<2)+2>>1]|0);M=o[d>>2]|0;if((M|0)<2){w=M;g=D}else{S=M;A=D;break}}}}g=r+4|0;o[g>>2]=A;w=S;h=(S|0)/2|0;while(1){S=o[e+2908+(h<<2)>>2]|0;E=e+5208+S|0;_=h<<1;e:do{if((_|0)>(w|0))N=h;else{D=l+(S<<2)|0;M=h;b=w;y=_;while(1){do{if((y|0)<(b|0)){v=y|1;k=o[e+2908+(v<<2)>>2]|0;L=i[l+(k<<2)>>1]|0;O=o[e+2908+(y<<2)>>2]|0;T=i[l+(O<<2)>>1]|0;if((L&65535)>=(T&65535)){if(L<<16>>16!=T<<16>>16){F=y;break}if((a[e+5208+k>>0]|0)>(a[e+5208+O>>0]|0)){F=y;break}}F=v}else F=y}while(0);v=i[D>>1]|0;O=o[e+2908+(F<<2)>>2]|0;k=i[l+(O<<2)>>1]|0;if((v&65535)<(k&65535)){N=M;break e}if(v<<16>>16==k<<16>>16?(a[E>>0]|0)<=(a[e+5208+O>>0]|0):0){N=M;break e}o[e+2908+(M<<2)>>2]=O;y=F<<1;b=o[d>>2]|0;if((y|0)>(b|0)){N=F;break}else M=F}}}while(0);o[e+2908+(N<<2)>>2]=S;if((h|0)<=1)break;w=o[d>>2]|0;h=h+-1|0}h=e+2912|0;w=o[d>>2]|0;N=m;do{m=o[h>>2]|0;F=w+-1|0;o[d>>2]=F;E=o[e+2908+(w<<2)>>2]|0;o[h>>2]=E;_=e+5208+E|0;e:do{if((w|0)<3)R=1;else{M=l+(E<<2)|0;b=1;y=F;D=2;while(1){do{if((D|0)<(y|0)){O=D|1;k=o[e+2908+(O<<2)>>2]|0;v=i[l+(k<<2)>>1]|0;T=o[e+2908+(D<<2)>>2]|0;L=i[l+(T<<2)>>1]|0;if((v&65535)>=(L&65535)){if(v<<16>>16!=L<<16>>16){P=D;break}if((a[e+5208+k>>0]|0)>(a[e+5208+T>>0]|0)){P=D;break}}P=O}else P=D}while(0);O=i[M>>1]|0;T=o[e+2908+(P<<2)>>2]|0;k=i[l+(T<<2)>>1]|0;if((O&65535)<(k&65535)){R=b;break e}if(O<<16>>16==k<<16>>16?(a[_>>0]|0)<=(a[e+5208+T>>0]|0):0){R=b;break e}o[e+2908+(b<<2)>>2]=T;D=P<<1;y=o[d>>2]|0;if((D|0)>(y|0)){R=P;break}else b=P}}}while(0);o[e+2908+(R<<2)>>2]=E;_=o[h>>2]|0;F=(o[p>>2]|0)+-1|0;o[p>>2]=F;o[e+2908+(F<<2)>>2]=m;F=(o[p>>2]|0)+-1|0;o[p>>2]=F;o[e+2908+(F<<2)>>2]=_;F=l+(N<<2)|0;i[F>>1]=(s[l+(_<<2)>>1]|0)+(s[l+(m<<2)>>1]|0);S=t[e+5208+m>>0]|0;b=t[e+5208+_>>0]|0;y=e+5208+N|0;t[y>>0]=(((S&255)<(b&255)?b:S)&255)+1;S=N&65535;i[l+(_<<2)+2>>1]=S;i[l+(m<<2)+2>>1]=S;o[h>>2]=N;S=o[d>>2]|0;e:do{if((S|0)<2)I=1;else{_=1;b=S;D=2;while(1){do{if((D|0)<(b|0)){M=D|1;T=o[e+2908+(M<<2)>>2]|0;k=i[l+(T<<2)>>1]|0;O=o[e+2908+(D<<2)>>2]|0;L=i[l+(O<<2)>>1]|0;if((k&65535)>=(L&65535)){if(k<<16>>16!=L<<16>>16){C=D;break}if((a[e+5208+T>>0]|0)>(a[e+5208+O>>0]|0)){C=D;break}}C=M}else C=D}while(0);M=i[F>>1]|0;O=o[e+2908+(C<<2)>>2]|0;T=i[l+(O<<2)>>1]|0;if((M&65535)<(T&65535)){I=_;break e}if(M<<16>>16==T<<16>>16?(a[y>>0]|0)<=(a[e+5208+O>>0]|0):0){I=_;break e}o[e+2908+(_<<2)>>2]=O;D=C<<1;b=o[d>>2]|0;if((D|0)>(b|0)){I=C;break}else _=C}}}while(0);o[e+2908+(I<<2)>>2]=N;N=N+1|0;w=o[d>>2]|0}while((w|0)>1);w=o[h>>2]|0;h=(o[p>>2]|0)+-1|0;o[p>>2]=h;o[e+2908+(h<<2)>>2]=w;w=o[r>>2]|0;r=o[g>>2]|0;g=o[u>>2]|0;u=o[g>>2]|0;h=o[g+4>>2]|0;d=o[g+8>>2]|0;N=o[g+16>>2]|0;g=e+2876|0;I=g+32|0;do{i[g>>1]=0;g=g+2|0}while((g|0)<(I|0));g=o[p>>2]|0;i[w+(o[e+2908+(g<<2)>>2]<<2)+2>>1]=0;p=g+1|0;e:do{if((p|0)<573){g=e+5800|0;I=e+5804|0;if(!u){C=p;R=0;while(1){P=o[e+2908+(C<<2)>>2]|0;y=w+(P<<2)+2|0;F=s[w+(s[y>>1]<<2)+2>>1]|0;S=(F|0)<(N|0);m=S?F+1|0:N;F=(S&1^1)+R|0;i[y>>1]=m;if((P|0)<=(r|0)){y=e+2876+(m<<1)|0;i[y>>1]=(i[y>>1]|0)+1<<16>>16;if((P|0)<(d|0))x=0;else x=o[h+(P-d<<2)>>2]|0;y=ee(s[w+(P<<2)>>1]|0,x+m|0)|0;o[g>>2]=y+(o[g>>2]|0)}C=C+1|0;if((C|0)==573){B=F;break}else R=F}}else{R=p;C=0;while(1){F=o[e+2908+(R<<2)>>2]|0;y=w+(F<<2)+2|0;m=s[w+(s[y>>1]<<2)+2>>1]|0;P=(m|0)<(N|0);S=P?m+1|0:N;m=(P&1^1)+C|0;i[y>>1]=S;if((F|0)<=(r|0)){y=e+2876+(S<<1)|0;i[y>>1]=(i[y>>1]|0)+1<<16>>16;if((F|0)<(d|0))z=0;else z=o[h+(F-d<<2)>>2]|0;y=s[w+(F<<2)>>1]|0;P=ee(y,z+S|0)|0;o[g>>2]=P+(o[g>>2]|0);P=ee((s[u+(F<<2)+2>>1]|0)+z|0,y)|0;o[I>>2]=P+(o[I>>2]|0)}R=R+1|0;if((R|0)==573){B=m;break}else C=m}}if(B){C=e+2876+(N<<1)|0;R=B;while(1){I=N;while(1){m=I+-1|0;P=e+2876+(m<<1)|0;y=i[P>>1]|0;if(!(y<<16>>16))I=m;else{U=P;j=y;q=I;break}}i[U>>1]=j+-1<<16>>16;I=e+2876+(q<<1)|0;i[I>>1]=(s[I>>1]|0)+2;I=(i[C>>1]|0)+-1<<16>>16;i[C>>1]=I;if((R|0)>2)R=R+-2|0;else{Y=I;break}}if(N){R=Y;C=N;I=573;while(1){y=C&65535;if(!(R<<16>>16))V=I;else{P=I;m=R&65535;while(1){F=P;while(1){S=F+-1|0;E=o[e+2908+(S<<2)>>2]|0;if((E|0)>(r|0))F=S;else{X=S;H=E;break}}F=w+(H<<2)+2|0;E=s[F>>1]|0;if((C|0)!=(E|0)){S=ee(s[w+(H<<2)>>1]|0,C-E|0)|0;o[g>>2]=S+(o[g>>2]|0);i[F>>1]=y}m=m+-1|0;if(!m){V=X;break}else P=X}}P=C+-1|0;if(!P)break e;R=i[e+2876+(P<<1)>>1]|0;C=P;I=V}}}}}while(0);V=1;X=0;do{X=(s[e+2876+(V+-1<<1)>>1]|0)+(X&65534)<<1;i[f+(V<<1)>>1]=X;V=V+1|0}while((V|0)!=16);if((A|0)<0){c=n;return}else W=0;while(1){V=i[l+(W<<2)+2>>1]|0;X=V&65535;if(V<<16>>16){V=f+(X<<1)|0;e=i[V>>1]|0;i[V>>1]=e+1<<16>>16;V=X;X=e&65535;e=0;while(1){H=e|X&1;if((V|0)>1){V=V+-1|0;X=X>>>1;e=H<<1}else{G=H;break}}i[l+(W<<2)>>1]=G}if((W|0)==(A|0))break;else W=W+1|0}c=n;return}function Sr(e,r,n){e=e|0;r=r|0;n=n|0;var f=0,l=0,u=0,c=0,d=0,h=0,m=0,p=0,w=0,k=0,b=0,v=0,E=0,g=0,y=0,_=0,S=0,A=0,D=0,M=0,N=0,L=0,O=0,T=0,F=0,R=0,P=0,I=0,C=0,x=0,B=0,z=0,U=0,j=0;f=e+5792|0;if(!(o[f>>2]|0)){l=e+5820|0;u=e+5816|0;c=u;d=l;h=o[l>>2]|0;m=i[u>>1]|0}else{u=e+5796|0;l=e+5784|0;p=e+5820|0;w=e+5816|0;k=e+20|0;b=e+8|0;v=0;do{E=i[(o[u>>2]|0)+(v<<1)>>1]|0;g=E&65535;y=a[(o[l>>2]|0)+v>>0]|0;v=v+1|0;do{if(!(E<<16>>16)){_=s[r+(y<<2)+2>>1]|0;S=o[p>>2]|0;A=s[r+(y<<2)>>1]|0;D=s[w>>1]|0|A<<S;M=D&65535;i[w>>1]=M;if((S|0)>(16-_|0)){N=o[k>>2]|0;o[k>>2]=N+1;t[(o[b>>2]|0)+N>>0]=D;D=(s[w>>1]|0)>>>8&255;N=o[k>>2]|0;o[k>>2]=N+1;t[(o[b>>2]|0)+N>>0]=D;D=o[p>>2]|0;N=A>>>(16-D|0)&65535;i[w>>1]=N;A=_+-16+D|0;o[p>>2]=A;L=N;O=A;break}else{A=S+_|0;o[p>>2]=A;L=M;O=A;break}}else{A=a[14522+y>>0]|0;M=(A|256)+1|0;_=s[r+(M<<2)+2>>1]|0;S=o[p>>2]|0;N=s[r+(M<<2)>>1]|0;M=s[w>>1]|0|N<<S;D=M&65535;i[w>>1]=D;if((S|0)>(16-_|0)){T=o[k>>2]|0;o[k>>2]=T+1;t[(o[b>>2]|0)+T>>0]=M;M=(s[w>>1]|0)>>>8&255;T=o[k>>2]|0;o[k>>2]=T+1;t[(o[b>>2]|0)+T>>0]=M;M=o[p>>2]|0;T=N>>>(16-M|0)&65535;i[w>>1]=T;F=T;R=_+-16+M|0}else{F=D;R=S+_|0}o[p>>2]=R;_=o[8380+(A<<2)>>2]|0;do{if((A+-8|0)>>>0<20){S=y-(o[8496+(A<<2)>>2]|0)&65535;D=S<<R|F&65535;M=D&65535;i[w>>1]=M;if((R|0)>(16-_|0)){T=o[k>>2]|0;o[k>>2]=T+1;t[(o[b>>2]|0)+T>>0]=D;D=(s[w>>1]|0)>>>8&255;T=o[k>>2]|0;o[k>>2]=T+1;t[(o[b>>2]|0)+T>>0]=D;D=o[p>>2]|0;T=S>>>(16-D|0)&65535;i[w>>1]=T;S=_+-16+D|0;o[p>>2]=S;P=S;I=T;break}else{T=R+_|0;o[p>>2]=T;P=T;I=M;break}}else{P=R;I=F}}while(0);_=g+-1|0;A=a[14010+(_>>>0<256?_:(_>>>7)+256|0)>>0]|0;M=s[n+(A<<2)+2>>1]|0;T=s[n+(A<<2)>>1]|0;S=I&65535|T<<P;D=S&65535;i[w>>1]=D;if((P|0)>(16-M|0)){N=o[k>>2]|0;o[k>>2]=N+1;t[(o[b>>2]|0)+N>>0]=S;S=(s[w>>1]|0)>>>8&255;N=o[k>>2]|0;o[k>>2]=N+1;t[(o[b>>2]|0)+N>>0]=S;S=o[p>>2]|0;N=T>>>(16-S|0)&65535;i[w>>1]=N;C=M+-16+S|0;x=N}else{C=P+M|0;x=D}o[p>>2]=C;D=o[8612+(A<<2)>>2]|0;if((A+-4|0)>>>0<26){M=_-(o[8732+(A<<2)>>2]|0)&65535;A=M<<C|x&65535;_=A&65535;i[w>>1]=_;if((C|0)>(16-D|0)){N=o[k>>2]|0;o[k>>2]=N+1;t[(o[b>>2]|0)+N>>0]=A;A=(s[w>>1]|0)>>>8&255;N=o[k>>2]|0;o[k>>2]=N+1;t[(o[b>>2]|0)+N>>0]=A;A=o[p>>2]|0;N=M>>>(16-A|0)&65535;i[w>>1]=N;M=D+-16+A|0;o[p>>2]=M;L=N;O=M;break}else{M=C+D|0;o[p>>2]=M;L=_;O=M;break}}else{L=x;O=C}}}while(0)}while(v>>>0<(o[f>>2]|0)>>>0);c=w;d=p;h=O;m=L}L=r+1026|0;O=s[L>>1]|0;p=s[r+1024>>1]|0;r=m&65535|p<<h;i[c>>1]=r;if((h|0)>(16-O|0)){m=e+20|0;w=o[m>>2]|0;o[m>>2]=w+1;f=e+8|0;t[(o[f>>2]|0)+w>>0]=r;r=(s[c>>1]|0)>>>8&255;w=o[m>>2]|0;o[m>>2]=w+1;t[(o[f>>2]|0)+w>>0]=r;r=o[d>>2]|0;i[c>>1]=p>>>(16-r|0);B=O+-16+r|0;o[d>>2]=B;z=i[L>>1]|0;U=z&65535;j=e+5812|0;o[j>>2]=U;return}else{B=h+O|0;o[d>>2]=B;z=i[L>>1]|0;U=z&65535;j=e+5812|0;o[j>>2]=U;return}}function Ar(e,r,n){e=e|0;r=r|0;n=n|0;var a=0,f=0,l=0,u=0,c=0,d=0,h=0,m=0,p=0,w=0,k=0,b=0,v=0,E=0,g=0,y=0,_=0,S=0,A=0,D=0,M=0,N=0,L=0,O=0,T=0,F=0,R=0,P=0,I=0,C=0,x=0,B=0,z=0,U=0,j=0,q=0,Y=0,V=0,X=0,H=0,W=0,G=0,K=0,Z=0;a=i[r+2>>1]|0;f=a<<16>>16==0;l=e+2754|0;u=e+5820|0;c=e+2752|0;d=e+5816|0;h=e+20|0;m=e+8|0;p=e+2758|0;w=e+2756|0;k=e+2750|0;b=e+2748|0;v=f?138:7;E=f?3:4;f=0;g=a&65535;a=-1;e:while(1){y=0;_=f;while(1){if((_|0)>(n|0))break e;S=_+1|0;A=i[r+(S<<2)+2>>1]|0;D=A&65535;M=y+1|0;N=(g|0)==(D|0);if((M|0)<(v|0)&N){y=M;_=S}else{L=S;O=A;T=D;F=M;R=N;P=y;break}}do{if((F|0)>=(E|0)){if(g){if((g|0)==(a|0)){I=i[d>>1]|0;C=o[u>>2]|0;x=F}else{y=s[e+2684+(g<<2)+2>>1]|0;_=o[u>>2]|0;N=s[e+2684+(g<<2)>>1]|0;M=s[d>>1]|0|N<<_;D=M&65535;i[d>>1]=D;if((_|0)>(16-y|0)){A=o[h>>2]|0;o[h>>2]=A+1;t[(o[m>>2]|0)+A>>0]=M;M=(s[d>>1]|0)>>>8&255;A=o[h>>2]|0;o[h>>2]=A+1;t[(o[m>>2]|0)+A>>0]=M;M=o[u>>2]|0;A=N>>>(16-M|0)&65535;i[d>>1]=A;B=A;z=y+-16+M|0}else{B=D;z=_+y|0}o[u>>2]=z;I=B;C=z;x=P}y=s[k>>1]|0;_=s[b>>1]|0;D=I&65535|_<<C;i[d>>1]=D;if((C|0)>(16-y|0)){M=o[h>>2]|0;o[h>>2]=M+1;t[(o[m>>2]|0)+M>>0]=D;M=(s[d>>1]|0)>>>8&255;A=o[h>>2]|0;o[h>>2]=A+1;t[(o[m>>2]|0)+A>>0]=M;M=o[u>>2]|0;A=_>>>(16-M|0);i[d>>1]=A;U=y+-16+M|0;j=A}else{U=C+y|0;j=D}o[u>>2]=U;D=x+65533&65535;y=j&65535|D<<U;i[d>>1]=y;if((U|0)>14){A=o[h>>2]|0;o[h>>2]=A+1;t[(o[m>>2]|0)+A>>0]=y;y=(s[d>>1]|0)>>>8&255;A=o[h>>2]|0;o[h>>2]=A+1;t[(o[m>>2]|0)+A>>0]=y;y=o[u>>2]|0;i[d>>1]=D>>>(16-y|0);o[u>>2]=y+-14;break}else{o[u>>2]=U+2;break}}if((F|0)<11){y=s[l>>1]|0;D=o[u>>2]|0;A=s[c>>1]|0;M=s[d>>1]|0|A<<D;i[d>>1]=M;if((D|0)>(16-y|0)){_=o[h>>2]|0;o[h>>2]=_+1;t[(o[m>>2]|0)+_>>0]=M;_=(s[d>>1]|0)>>>8&255;N=o[h>>2]|0;o[h>>2]=N+1;t[(o[m>>2]|0)+N>>0]=_;_=o[u>>2]|0;N=A>>>(16-_|0);i[d>>1]=N;q=y+-16+_|0;Y=N}else{q=D+y|0;Y=M}o[u>>2]=q;M=P+65534&65535;y=Y&65535|M<<q;i[d>>1]=y;if((q|0)>13){D=o[h>>2]|0;o[h>>2]=D+1;t[(o[m>>2]|0)+D>>0]=y;y=(s[d>>1]|0)>>>8&255;D=o[h>>2]|0;o[h>>2]=D+1;t[(o[m>>2]|0)+D>>0]=y;y=o[u>>2]|0;i[d>>1]=M>>>(16-y|0);o[u>>2]=y+-13;break}else{o[u>>2]=q+3;break}}else{y=s[p>>1]|0;M=o[u>>2]|0;D=s[w>>1]|0;N=s[d>>1]|0|D<<M;i[d>>1]=N;if((M|0)>(16-y|0)){_=o[h>>2]|0;o[h>>2]=_+1;t[(o[m>>2]|0)+_>>0]=N;_=(s[d>>1]|0)>>>8&255;A=o[h>>2]|0;o[h>>2]=A+1;t[(o[m>>2]|0)+A>>0]=_;_=o[u>>2]|0;A=D>>>(16-_|0);i[d>>1]=A;V=y+-16+_|0;X=A}else{V=M+y|0;X=N}o[u>>2]=V;N=P+65526&65535;y=X&65535|N<<V;i[d>>1]=y;if((V|0)>9){M=o[h>>2]|0;o[h>>2]=M+1;t[(o[m>>2]|0)+M>>0]=y;y=(s[d>>1]|0)>>>8&255;M=o[h>>2]|0;o[h>>2]=M+1;t[(o[m>>2]|0)+M>>0]=y;y=o[u>>2]|0;i[d>>1]=N>>>(16-y|0);o[u>>2]=y+-9;break}else{o[u>>2]=V+7;break}}}else{y=e+2684+(g<<2)+2|0;N=e+2684+(g<<2)|0;M=o[u>>2]|0;A=i[d>>1]|0;_=F;while(1){D=s[y>>1]|0;S=s[N>>1]|0;H=A&65535|S<<M;W=H&65535;i[d>>1]=W;if((M|0)>(16-D|0)){G=o[h>>2]|0;o[h>>2]=G+1;t[(o[m>>2]|0)+G>>0]=H;H=(s[d>>1]|0)>>>8&255;G=o[h>>2]|0;o[h>>2]=G+1;t[(o[m>>2]|0)+G>>0]=H;H=o[u>>2]|0;G=S>>>(16-H|0)&65535;i[d>>1]=G;K=G;Z=D+-16+H|0}else{K=W;Z=M+D|0}o[u>>2]=Z;_=_+-1|0;if(!_)break;else{M=Z;A=K}}}}while(0);A=O<<16>>16==0;M=g;v=A?138:R?6:7;E=A|R?3:4;f=L;g=T;a=M}return}function Dr(e,r,n){e=e|0;r=r|0;n=n|0;return Kr(ee(n,r)|0)|0}function Mr(e,r){e=e|0;r=r|0;Zr(r);return}function Nr(){var e=0;if(!(o[2242]|0))e=9016;else e=o[(ce()|0)+60>>2]|0;return e|0}function Lr(e){e=e|0;var r=0,n=0,i=0,o=0,s=0,f=0,l=0;r=0;while(1){if((a[14914+r>>0]|0)==(e|0)){n=r;i=2;break}r=r+1|0;if((r|0)==87){o=87;s=15002;i=5;break}}if((i|0)==2)if(!n)f=15002;else{o=n;s=15002;i=5}if((i|0)==5)while(1){i=0;n=s;while(1){r=n+1|0;if(!(t[n>>0]|0)){l=r;break}else n=r}o=o+-1|0;if(!o){f=l;break}else{s=l;i=5}}return f|0}function Or(e,r,n){e=e|0;r=r|0;n=n|0;var t=0,i=0,a=0,s=0;t=c;c=c+32|0;i=t;a=t+16|0;o[a>>2]=n;n=(o[a>>2]|0)+(4-1)&~(4-1);s=o[n>>2]|0;o[a>>2]=n+4;o[i>>2]=e;o[i+4>>2]=r|32768;o[i+8>>2]=s;s=Tr(ke(5,i|0)|0)|0;c=t;return s|0}function Tr(e){e=e|0;var r=0;if(e>>>0>4294963200){o[(Nr()|0)>>2]=0-e;r=-1}else r=e;return r|0}function Fr(e){e=e|0;return 0}function Rr(e){e=e|0;return}function Pr(e){e=e|0;var r=0,n=0;r=c;c=c+16|0;n=r;o[n>>2]=o[e+60>>2];e=Tr(we(6,n|0)|0)|0;c=r;return e|0}function Ir(e,r,n){e=e|0;r=r|0;n=n|0;var t=0,i=0,a=0,s=0;t=c;c=c+32|0;i=t;a=t+20|0;o[i>>2]=o[e+60>>2];o[i+4>>2]=0;o[i+8>>2]=r;o[i+12>>2]=a;o[i+16>>2]=n;if((Tr(Ae(140,i|0)|0)|0)<0){o[a>>2]=-1;s=-1}else s=o[a>>2]|0;c=t;return s|0}function Cr(e,r,n){e=e|0;r=r|0;n=n|0;var t=0,i=0,a=0,s=0,f=0,l=0,u=0,d=0,h=0,m=0,p=0,w=0,k=0,b=0,v=0,E=0,g=0,y=0,_=0,S=0,A=0;t=c;c=c+48|0;i=t+16|0;a=t;s=t+32|0;f=e+28|0;l=o[f>>2]|0;o[s>>2]=l;u=e+20|0;d=(o[u>>2]|0)-l|0;o[s+4>>2]=d;o[s+8>>2]=r;o[s+12>>2]=n;r=e+60|0;l=e+44|0;h=s;s=2;m=d+n|0;while(1){if(!(o[2242]|0)){o[i>>2]=o[r>>2];o[i+4>>2]=h;o[i+8>>2]=s;p=Tr(Ne(146,i|0)|0)|0}else{De(1,e|0);o[a>>2]=o[r>>2];o[a+4>>2]=h;o[a+8>>2]=s;d=Tr(Ne(146,a|0)|0)|0;ue(0);p=d}if((m|0)==(p|0)){w=6;break}if((p|0)<0){k=h;b=s;w=8;break}d=m-p|0;v=o[h+4>>2]|0;if(p>>>0<=v>>>0)if((s|0)==2){o[f>>2]=(o[f>>2]|0)+p;E=v;g=p;y=h;_=2}else{E=v;g=p;y=h;_=s}else{S=o[l>>2]|0;o[f>>2]=S;o[u>>2]=S;E=o[h+12>>2]|0;g=p-v|0;y=h+8|0;_=s+-1|0}o[y>>2]=(o[y>>2]|0)+g;o[y+4>>2]=E-g;h=y;s=_;m=d}if((w|0)==6){m=o[l>>2]|0;o[e+16>>2]=m+(o[e+48>>2]|0);l=m;o[f>>2]=l;o[u>>2]=l;A=n}else if((w|0)==8){o[e+16>>2]=0;o[f>>2]=0;o[u>>2]=0;o[e>>2]=o[e>>2]|32;if((b|0)==2)A=0;else A=n-(o[k+4>>2]|0)|0}c=t;return A|0}function xr(e,r,n){e=e|0;r=r|0;n=n|0;var i=0,a=0;i=c;c=c+80|0;a=i;o[e+36>>2]=4;if((o[e>>2]&64|0)==0?(o[a>>2]=o[e+60>>2],o[a+4>>2]=21505,o[a+8>>2]=i+12,(_e(54,a|0)|0)!=0):0)t[e+75>>0]=-1;a=Cr(e,r,n)|0;c=i;return a|0}function Br(e){e=e|0;var r=0,n=0,t=0,i=0,a=0,s=0,f=0;do{if(e){if((o[e+76>>2]|0)<=-1){r=Gr(e)|0;break}n=(Fr(e)|0)==0;t=Gr(e)|0;if(n)r=t;else{Rr(e);r=t}}else{if(!(o[2253]|0))i=0;else i=Br(o[2253]|0)|0;pe(8996);t=o[2248]|0;if(!t)a=i;else{n=t;t=i;while(1){if((o[n+76>>2]|0)>-1)s=Fr(n)|0;else s=0;if((o[n+20>>2]|0)>>>0>(o[n+28>>2]|0)>>>0)f=Gr(n)|0|t;else f=t;if(s)Rr(n);n=o[n+56>>2]|0;if(!n){a=f;break}else t=f}}Se(8996);r=a}}while(0);return r|0}function zr(e,r){e=e|0;r=r|0;var n=0,i=0,a=0,s=0,f=0,l=0,u=0,c=0,d=0,h=0,m=0,p=0,w=0,k=0;n=r;e:do{if(!((n^e)&3)){if(!(n&3)){i=r;a=e}else{s=e;f=r;while(1){l=t[f>>0]|0;t[s>>0]=l;if(!(l<<24>>24)){u=s;break e}l=f+1|0;c=s+1|0;if(!(l&3)){i=l;a=c;break}else{s=c;f=l}}}f=o[i>>2]|0;if(!((f&-2139062144^-2139062144)&f+-16843009)){s=f;f=a;l=i;while(1){c=l+4|0;d=f+4|0;o[f>>2]=s;s=o[c>>2]|0;if((s&-2139062144^-2139062144)&s+-16843009){h=d;m=c;break}else{f=d;l=c}}}else{h=a;m=i}p=m;w=h;k=8}else{p=r;w=e;k=8}}while(0);if((k|0)==8){k=t[p>>0]|0;t[w>>0]=k;if(!(k<<24>>24))u=w;else{k=w;w=p;while(1){w=w+1|0;p=k+1|0;e=t[w>>0]|0;t[p>>0]=e;if(!(e<<24>>24)){u=p;break}else k=p}}}return u|0}function Ur(e,r){e=e|0;r=r|0;jr(e+(qr(e)|0)|0,r)|0;return e|0}function jr(e,r){e=e|0;r=r|0;zr(e,r)|0;return e|0}function qr(e){e=e|0;var r=0,n=0,i=0,a=0,s=0,f=0,l=0,u=0,c=0,d=0;r=e;e:do{if(!(r&3)){n=e;i=4}else{a=e;s=r;while(1){if(!(t[a>>0]|0)){f=s;break e}l=a+1|0;s=l;if(!(s&3)){n=l;i=4;break}else a=l}}}while(0);if((i|0)==4){i=n;while(1){n=o[i>>2]|0;if(!((n&-2139062144^-2139062144)&n+-16843009))i=i+4|0;else{u=n;c=i;break}}if(!((u&255)<<24>>24))d=c;else{u=c;while(1){c=u+1|0;if(!(t[c>>0]|0)){d=c;break}else u=c}}f=d}return f-r|0}function Yr(e){e=e|0;var r=0,n=0;r=c;c=c+16|0;n=r;o[n>>2]=e;e=we(6,n|0)|0;n=Tr((e|0)==-4?-115:e)|0;c=r;return n|0}function Vr(e,r,n){e=e|0;r=r|0;n=n|0;var t=0,i=0,a=0;t=c;c=c+32|0;i=t;a=t+20|0;o[i>>2]=e;o[i+4>>2]=0;o[i+8>>2]=r;o[i+12>>2]=a;o[i+16>>2]=n;n=(Tr(Ae(140,i|0)|0)|0)!=0;c=t;return(n?-1:o[a>>2]|0)|0}function Xr(e,r,n){e=e|0;r=r|0;n=n|0;var t=0,i=0;t=c;c=c+16|0;i=t;o[i>>2]=e;o[i+4>>2]=r;o[i+8>>2]=n;n=Tr(de(3,i|0)|0)|0;c=t;return n|0}function Hr(e,r,n){e=e|0;r=r|0;n=n|0;var t=0,i=0;t=c;c=c+16|0;i=t;o[i>>2]=e;o[i+4>>2]=r;o[i+8>>2]=n;n=Tr(Le(4,i|0)|0)|0;c=t;return n|0}function Wr(e){e=e|0;if(!(o[e+68>>2]|0))Rr(e);return}function Gr(e){e=e|0;var r=0,n=0,t=0,i=0,a=0,s=0,f=0;r=e+20|0;n=e+28|0;if((o[r>>2]|0)>>>0>(o[n>>2]|0)>>>0?(hn[o[e+36>>2]&7](e,0,0)|0,(o[r>>2]|0)==0):0)t=-1;else{i=e+4|0;a=o[i>>2]|0;s=e+8|0;f=o[s>>2]|0;if(a>>>0<f>>>0)hn[o[e+40>>2]&7](e,a-f|0,1)|0;o[e+16>>2]=0;o[n>>2]=0;o[r>>2]=0;o[s>>2]=0;o[i>>2]=0;t=0}return t|0}function Kr(e){e=e|0;var r=0,n=0,t=0,i=0,a=0,s=0,f=0,l=0,u=0,c=0,d=0,h=0,m=0,p=0,w=0,k=0,b=0,v=0,E=0,g=0,y=0,_=0,S=0,A=0,D=0,M=0,N=0,L=0,O=0,T=0,F=0,R=0,P=0,I=0,C=0,x=0,B=0,z=0,U=0,j=0,q=0,Y=0,V=0,X=0,H=0,W=0,G=0,K=0,Z=0,Q=0,J=0,$=0,ee=0,re=0,ne=0,te=0,ie=0,oe=0,ae=0,se=0,fe=0,le=0,ue=0,ce=0,de=0,he=0,me=0,pe=0,we=0,ke=0,ge=0,ye=0,_e=0,Se=0,Ae=0,De=0,Ne=0,Le=0,Oe=0,Te=0,Fe=0,Re=0,Pe=0,Ie=0,Ce=0,xe=0,Be=0,ze=0,Ue=0,je=0,qe=0,Ye=0,Ve=0,Xe=0,He=0,We=0,Ge=0;do{if(e>>>0<245){r=e>>>0<11?16:e+11&-8;n=r>>>3;t=o[2283]|0;i=t>>>n;if(i&3){a=(i&1^1)+n|0;s=a<<1;f=9172+(s<<2)|0;l=9172+(s+2<<2)|0;s=o[l>>2]|0;u=s+8|0;c=o[u>>2]|0;do{if((f|0)!=(c|0)){if(c>>>0<(o[2287]|0)>>>0)be();d=c+12|0;if((o[d>>2]|0)==(s|0)){o[d>>2]=f;o[l>>2]=c;break}else be()}else o[2283]=t&~(1<<a)}while(0);c=a<<3;o[s+4>>2]=c|3;l=s+(c|4)|0;o[l>>2]=o[l>>2]|1;h=u;return h|0}l=o[2285]|0;if(r>>>0>l>>>0){if(i){c=2<<n;f=i<<n&(c|0-c);c=(f&0-f)+-1|0;f=c>>>12&16;d=c>>>f;c=d>>>5&8;m=d>>>c;d=m>>>2&4;p=m>>>d;m=p>>>1&2;w=p>>>m;p=w>>>1&1;k=(c|f|d|m|p)+(w>>>p)|0;p=k<<1;w=9172+(p<<2)|0;m=9172+(p+2<<2)|0;p=o[m>>2]|0;d=p+8|0;f=o[d>>2]|0;do{if((w|0)!=(f|0)){if(f>>>0<(o[2287]|0)>>>0)be();c=f+12|0;if((o[c>>2]|0)==(p|0)){o[c>>2]=w;o[m>>2]=f;b=o[2285]|0;break}else be()}else{o[2283]=t&~(1<<k);b=l}}while(0);l=k<<3;t=l-r|0;o[p+4>>2]=r|3;f=p+r|0;o[p+(r|4)>>2]=t|1;o[p+l>>2]=t;if(b){l=o[2288]|0;m=b>>>3;w=m<<1;n=9172+(w<<2)|0;i=o[2283]|0;u=1<<m;if(i&u){m=9172+(w+2<<2)|0;s=o[m>>2]|0;if(s>>>0<(o[2287]|0)>>>0)be();else{v=m;E=s}}else{o[2283]=i|u;v=9172+(w+2<<2)|0;E=n}o[v>>2]=l;o[E+12>>2]=l;o[l+8>>2]=E;o[l+12>>2]=n}o[2285]=t;o[2288]=f;h=d;return h|0}f=o[2284]|0;if(f){t=(f&0-f)+-1|0;f=t>>>12&16;n=t>>>f;t=n>>>5&8;l=n>>>t;n=l>>>2&4;w=l>>>n;l=w>>>1&2;u=w>>>l;w=u>>>1&1;i=o[9436+((t|f|n|l|w)+(u>>>w)<<2)>>2]|0;w=(o[i+4>>2]&-8)-r|0;u=i;l=i;while(1){i=o[u+16>>2]|0;if(!i){n=o[u+20>>2]|0;if(!n){g=w;y=l;break}else _=n}else _=i;i=(o[_+4>>2]&-8)-r|0;n=i>>>0<w>>>0;w=n?i:w;u=_;l=n?_:l}l=o[2287]|0;if(y>>>0<l>>>0)be();u=y+r|0;if(y>>>0>=u>>>0)be();w=o[y+24>>2]|0;d=o[y+12>>2]|0;do{if((d|0)==(y|0)){p=y+20|0;k=o[p>>2]|0;if(!k){n=y+16|0;i=o[n>>2]|0;if(!i){S=0;break}else{A=i;D=n}}else{A=k;D=p}while(1){p=A+20|0;k=o[p>>2]|0;if(k){A=k;D=p;continue}p=A+16|0;k=o[p>>2]|0;if(!k){M=A;N=D;break}else{A=k;D=p}}if(N>>>0<l>>>0)be();else{o[N>>2]=0;S=M;break}}else{p=o[y+8>>2]|0;if(p>>>0<l>>>0)be();k=p+12|0;if((o[k>>2]|0)!=(y|0))be();n=d+8|0;if((o[n>>2]|0)==(y|0)){o[k>>2]=d;o[n>>2]=p;S=d;break}else be()}}while(0);do{if(w){d=o[y+28>>2]|0;l=9436+(d<<2)|0;if((y|0)==(o[l>>2]|0)){o[l>>2]=S;if(!S){o[2284]=o[2284]&~(1<<d);break}}else{if(w>>>0<(o[2287]|0)>>>0)be();d=w+16|0;if((o[d>>2]|0)==(y|0))o[d>>2]=S;else o[w+20>>2]=S;if(!S)break}d=o[2287]|0;if(S>>>0<d>>>0)be();o[S+24>>2]=w;l=o[y+16>>2]|0;do{if(l)if(l>>>0<d>>>0)be();else{o[S+16>>2]=l;o[l+24>>2]=S;break}}while(0);l=o[y+20>>2]|0;if(l)if(l>>>0<(o[2287]|0)>>>0)be();else{o[S+20>>2]=l;o[l+24>>2]=S;break}}}while(0);if(g>>>0<16){w=g+r|0;o[y+4>>2]=w|3;l=y+(w+4)|0;o[l>>2]=o[l>>2]|1}else{o[y+4>>2]=r|3;o[y+(r|4)>>2]=g|1;o[y+(g+r)>>2]=g;l=o[2285]|0;if(l){w=o[2288]|0;d=l>>>3;l=d<<1;p=9172+(l<<2)|0;n=o[2283]|0;k=1<<d;if(n&k){d=9172+(l+2<<2)|0;i=o[d>>2]|0;if(i>>>0<(o[2287]|0)>>>0)be();else{L=d;O=i}}else{o[2283]=n|k;L=9172+(l+2<<2)|0;O=p}o[L>>2]=w;o[O+12>>2]=w;o[w+8>>2]=O;o[w+12>>2]=p}o[2285]=g;o[2288]=u}h=y+8|0;return h|0}else T=r}else T=r}else if(e>>>0<=4294967231){p=e+11|0;w=p&-8;l=o[2284]|0;if(l){k=0-w|0;n=p>>>8;if(n)if(w>>>0>16777215)F=31;else{p=(n+1048320|0)>>>16&8;i=n<<p;n=(i+520192|0)>>>16&4;d=i<<n;i=(d+245760|0)>>>16&2;f=14-(n|p|i)+(d<<i>>>15)|0;F=w>>>(f+7|0)&1|f<<1}else F=0;f=o[9436+(F<<2)>>2]|0;e:do{if(!f){R=k;P=0;I=0;C=86}else{i=k;d=0;p=w<<((F|0)==31?0:25-(F>>>1)|0);n=f;t=0;while(1){s=o[n+4>>2]&-8;m=s-w|0;if(m>>>0<i>>>0)if((s|0)==(w|0)){x=m;B=n;z=n;C=90;break e}else{U=m;j=n}else{U=i;j=t}m=o[n+20>>2]|0;n=o[n+16+(p>>>31<<2)>>2]|0;s=(m|0)==0|(m|0)==(n|0)?d:m;if(!n){R=U;P=s;I=j;C=86;break}else{i=U;d=s;p=p<<1;t=j}}}}while(0);if((C|0)==86){if((P|0)==0&(I|0)==0){f=2<<F;k=l&(f|0-f);if(!k){T=w;break}f=(k&0-k)+-1|0;k=f>>>12&16;r=f>>>k;f=r>>>5&8;u=r>>>f;r=u>>>2&4;t=u>>>r;u=t>>>1&2;p=t>>>u;t=p>>>1&1;q=o[9436+((f|k|r|u|t)+(p>>>t)<<2)>>2]|0;Y=0}else{q=P;Y=I}if(!q){V=R;X=Y}else{x=R;B=q;z=Y;C=90}}if((C|0)==90)while(1){C=0;t=(o[B+4>>2]&-8)-w|0;p=t>>>0<x>>>0;u=p?t:x;t=p?B:z;p=o[B+16>>2]|0;if(p){x=u;B=p;z=t;C=90;continue}B=o[B+20>>2]|0;if(!B){V=u;X=t;break}else{x=u;z=t;C=90}}if((X|0)!=0?V>>>0<((o[2285]|0)-w|0)>>>0:0){l=o[2287]|0;if(X>>>0<l>>>0)be();t=X+w|0;if(X>>>0>=t>>>0)be();u=o[X+24>>2]|0;p=o[X+12>>2]|0;do{if((p|0)==(X|0)){r=X+20|0;k=o[r>>2]|0;if(!k){f=X+16|0;d=o[f>>2]|0;if(!d){H=0;break}else{W=d;G=f}}else{W=k;G=r}while(1){r=W+20|0;k=o[r>>2]|0;if(k){W=k;G=r;continue}r=W+16|0;k=o[r>>2]|0;if(!k){K=W;Z=G;break}else{W=k;G=r}}if(Z>>>0<l>>>0)be();else{o[Z>>2]=0;H=K;break}}else{r=o[X+8>>2]|0;if(r>>>0<l>>>0)be();k=r+12|0;if((o[k>>2]|0)!=(X|0))be();f=p+8|0;if((o[f>>2]|0)==(X|0)){o[k>>2]=p;o[f>>2]=r;H=p;break}else be()}}while(0);do{if(u){p=o[X+28>>2]|0;l=9436+(p<<2)|0;if((X|0)==(o[l>>2]|0)){o[l>>2]=H;if(!H){o[2284]=o[2284]&~(1<<p);break}}else{if(u>>>0<(o[2287]|0)>>>0)be();p=u+16|0;if((o[p>>2]|0)==(X|0))o[p>>2]=H;else o[u+20>>2]=H;if(!H)break}p=o[2287]|0;if(H>>>0<p>>>0)be();o[H+24>>2]=u;l=o[X+16>>2]|0;do{if(l)if(l>>>0<p>>>0)be();else{o[H+16>>2]=l;o[l+24>>2]=H;break}}while(0);l=o[X+20>>2]|0;if(l)if(l>>>0<(o[2287]|0)>>>0)be();else{o[H+20>>2]=l;o[l+24>>2]=H;break}}}while(0);e:do{if(V>>>0>=16){o[X+4>>2]=w|3;o[X+(w|4)>>2]=V|1;o[X+(V+w)>>2]=V;u=V>>>3;if(V>>>0<256){l=u<<1;p=9172+(l<<2)|0;r=o[2283]|0;f=1<<u;if(r&f){u=9172+(l+2<<2)|0;k=o[u>>2]|0;if(k>>>0<(o[2287]|0)>>>0)be();else{Q=u;J=k}}else{o[2283]=r|f;Q=9172+(l+2<<2)|0;J=p}o[Q>>2]=t;o[J+12>>2]=t;o[X+(w+8)>>2]=J;o[X+(w+12)>>2]=p;break}p=V>>>8;if(p)if(V>>>0>16777215)$=31;else{l=(p+1048320|0)>>>16&8;f=p<<l;p=(f+520192|0)>>>16&4;r=f<<p;f=(r+245760|0)>>>16&2;k=14-(p|l|f)+(r<<f>>>15)|0;$=V>>>(k+7|0)&1|k<<1}else $=0;k=9436+($<<2)|0;o[X+(w+28)>>2]=$;o[X+(w+20)>>2]=0;o[X+(w+16)>>2]=0;f=o[2284]|0;r=1<<$;if(!(f&r)){o[2284]=f|r;o[k>>2]=t;o[X+(w+24)>>2]=k;o[X+(w+12)>>2]=t;o[X+(w+8)>>2]=t;break}r=o[k>>2]|0;r:do{if((o[r+4>>2]&-8|0)!=(V|0)){k=V<<(($|0)==31?0:25-($>>>1)|0);f=r;while(1){l=f+16+(k>>>31<<2)|0;p=o[l>>2]|0;if(!p){ee=l;re=f;break}if((o[p+4>>2]&-8|0)==(V|0)){ne=p;break r}else{k=k<<1;f=p}}if(ee>>>0<(o[2287]|0)>>>0)be();else{o[ee>>2]=t;o[X+(w+24)>>2]=re;o[X+(w+12)>>2]=t;o[X+(w+8)>>2]=t;break e}}else ne=r}while(0);r=ne+8|0;f=o[r>>2]|0;k=o[2287]|0;if(f>>>0>=k>>>0&ne>>>0>=k>>>0){o[f+12>>2]=t;o[r>>2]=t;o[X+(w+8)>>2]=f;o[X+(w+12)>>2]=ne;o[X+(w+24)>>2]=0;break}else be()}else{f=V+w|0;o[X+4>>2]=f|3;r=X+(f+4)|0;o[r>>2]=o[r>>2]|1}}while(0);h=X+8|0;return h|0}else T=w}else T=w}else T=-1}while(0);X=o[2285]|0;if(X>>>0>=T>>>0){V=X-T|0;ne=o[2288]|0;if(V>>>0>15){o[2288]=ne+T;o[2285]=V;o[ne+(T+4)>>2]=V|1;o[ne+X>>2]=V;o[ne+4>>2]=T|3}else{o[2285]=0;o[2288]=0;o[ne+4>>2]=X|3;V=ne+(X+4)|0;o[V>>2]=o[V>>2]|1}h=ne+8|0;return h|0}ne=o[2286]|0;if(ne>>>0>T>>>0){V=ne-T|0;o[2286]=V;ne=o[2289]|0;o[2289]=ne+T;o[ne+(T+4)>>2]=V|1;o[ne+4>>2]=T|3;h=ne+8|0;return h|0}do{if(!(o[2401]|0)){ne=Me(30)|0;if(!(ne+-1&ne)){o[2403]=ne;o[2402]=ne;o[2404]=-1;o[2405]=-1;o[2406]=0;o[2394]=0;o[2401]=(Ee(0)|0)&-16^1431655768;break}else be()}}while(0);ne=T+48|0;V=o[2403]|0;X=T+47|0;re=V+X|0;ee=0-V|0;V=re&ee;if(V>>>0<=T>>>0){h=0;return h|0}$=o[2393]|0;if(($|0)!=0?(J=o[2391]|0,Q=J+V|0,Q>>>0<=J>>>0|Q>>>0>$>>>0):0){h=0;return h|0}e:do{if(!(o[2394]&4)){$=o[2289]|0;r:do{if($){Q=9580;while(1){J=o[Q>>2]|0;if(J>>>0<=$>>>0?(H=Q+4|0,(J+(o[H>>2]|0)|0)>>>0>$>>>0):0){te=Q;ie=H;break}Q=o[Q+8>>2]|0;if(!Q){C=174;break r}}Q=re-(o[2286]|0)&ee;if(Q>>>0<2147483647){H=ve(Q|0)|0;J=(H|0)==((o[te>>2]|0)+(o[ie>>2]|0)|0);K=J?Q:0;if(J)if((H|0)==(-1|0))oe=K;else{ae=H;se=K;C=194;break e}else{fe=H;le=Q;ue=K;C=184}}else oe=0}else C=174}while(0);do{if((C|0)==174){$=ve(0)|0;if(($|0)!=(-1|0)){w=$;K=o[2402]|0;Q=K+-1|0;if(!(Q&w))ce=V;else ce=V-w+(Q+w&0-K)|0;K=o[2391]|0;w=K+ce|0;if(ce>>>0>T>>>0&ce>>>0<2147483647){Q=o[2393]|0;if((Q|0)!=0?w>>>0<=K>>>0|w>>>0>Q>>>0:0){oe=0;break}Q=ve(ce|0)|0;w=(Q|0)==($|0);K=w?ce:0;if(w){ae=$;se=K;C=194;break e}else{fe=Q;le=ce;ue=K;C=184}}else oe=0}else oe=0}}while(0);r:do{if((C|0)==184){K=0-le|0;do{if(ne>>>0>le>>>0&(le>>>0<2147483647&(fe|0)!=(-1|0))?(Q=o[2403]|0,$=X-le+Q&0-Q,$>>>0<2147483647):0)if((ve($|0)|0)==(-1|0)){ve(K|0)|0;oe=ue;break r}else{de=$+le|0;break}else de=le}while(0);if((fe|0)==(-1|0))oe=ue;else{ae=fe;se=de;C=194;break e}}}while(0);o[2394]=o[2394]|4;he=oe;C=191}else{he=0;C=191}}while(0);if((((C|0)==191?V>>>0<2147483647:0)?(oe=ve(V|0)|0,V=ve(0)|0,oe>>>0<V>>>0&((oe|0)!=(-1|0)&(V|0)!=(-1|0))):0)?(de=V-oe|0,V=de>>>0>(T+40|0)>>>0,V):0){ae=oe;se=V?de:he;C=194}if((C|0)==194){he=(o[2391]|0)+se|0;o[2391]=he;if(he>>>0>(o[2392]|0)>>>0)o[2392]=he;he=o[2289]|0;e:do{if(he){de=9580;do{V=o[de>>2]|0;oe=de+4|0;fe=o[oe>>2]|0;if((ae|0)==(V+fe|0)){me=V;pe=oe;we=fe;ke=de;C=204;break}de=o[de+8>>2]|0}while((de|0)!=0);if(((C|0)==204?(o[ke+12>>2]&8|0)==0:0)?he>>>0<ae>>>0&he>>>0>=me>>>0:0){o[pe>>2]=we+se;de=(o[2286]|0)+se|0;fe=he+8|0;oe=(fe&7|0)==0?0:0-fe&7;fe=de-oe|0;o[2289]=he+oe;o[2286]=fe;o[he+(oe+4)>>2]=fe|1;o[he+(de+4)>>2]=40;o[2290]=o[2405];break}de=o[2287]|0;if(ae>>>0<de>>>0){o[2287]=ae;ge=ae}else ge=de;de=ae+se|0;fe=9580;while(1){if((o[fe>>2]|0)==(de|0)){ye=fe;_e=fe;C=212;break}fe=o[fe+8>>2]|0;if(!fe){Se=9580;break}}if((C|0)==212)if(!(o[_e+12>>2]&8)){o[ye>>2]=ae;fe=_e+4|0;o[fe>>2]=(o[fe>>2]|0)+se;fe=ae+8|0;de=(fe&7|0)==0?0:0-fe&7;fe=ae+(se+8)|0;oe=(fe&7|0)==0?0:0-fe&7;fe=ae+(oe+se)|0;V=de+T|0;ue=ae+V|0;le=fe-(ae+de)-T|0;o[ae+(de+4)>>2]=T|3;r:do{if((fe|0)!=(he|0)){if((fe|0)==(o[2288]|0)){X=(o[2285]|0)+le|0;o[2285]=X;o[2288]=ue;o[ae+(V+4)>>2]=X|1;o[ae+(X+V)>>2]=X;break}X=se+4|0;ne=o[ae+(X+oe)>>2]|0;if((ne&3|0)==1){ce=ne&-8;ie=ne>>>3;n:do{if(ne>>>0>=256){te=o[ae+((oe|24)+se)>>2]|0;ee=o[ae+(se+12+oe)>>2]|0;do{if((ee|0)==(fe|0)){re=oe|16;K=ae+(X+re)|0;$=o[K>>2]|0;if(!$){Q=ae+(re+se)|0;re=o[Q>>2]|0;if(!re){Ae=0;break}else{De=re;Ne=Q}}else{De=$;Ne=K}while(1){K=De+20|0;$=o[K>>2]|0;if($){De=$;Ne=K;continue}K=De+16|0;$=o[K>>2]|0;if(!$){Le=De;Oe=Ne;break}else{De=$;Ne=K}}if(Oe>>>0<ge>>>0)be();else{o[Oe>>2]=0;Ae=Le;break}}else{K=o[ae+((oe|8)+se)>>2]|0;if(K>>>0<ge>>>0)be();$=K+12|0;if((o[$>>2]|0)!=(fe|0))be();Q=ee+8|0;if((o[Q>>2]|0)==(fe|0)){o[$>>2]=ee;o[Q>>2]=K;Ae=ee;break}else be()}}while(0);if(!te)break;ee=o[ae+(se+28+oe)>>2]|0;K=9436+(ee<<2)|0;do{if((fe|0)!=(o[K>>2]|0)){if(te>>>0<(o[2287]|0)>>>0)be();Q=te+16|0;if((o[Q>>2]|0)==(fe|0))o[Q>>2]=Ae;else o[te+20>>2]=Ae;if(!Ae)break n}else{o[K>>2]=Ae;if(Ae)break;o[2284]=o[2284]&~(1<<ee);break n}}while(0);ee=o[2287]|0;if(Ae>>>0<ee>>>0)be();o[Ae+24>>2]=te;K=oe|16;Q=o[ae+(K+se)>>2]|0;do{if(Q)if(Q>>>0<ee>>>0)be();else{o[Ae+16>>2]=Q;o[Q+24>>2]=Ae;break}}while(0);Q=o[ae+(X+K)>>2]|0;if(!Q)break;if(Q>>>0<(o[2287]|0)>>>0)be();else{o[Ae+20>>2]=Q;o[Q+24>>2]=Ae;break}}else{Q=o[ae+((oe|8)+se)>>2]|0;ee=o[ae+(se+12+oe)>>2]|0;te=9172+(ie<<1<<2)|0;do{if((Q|0)!=(te|0)){if(Q>>>0<ge>>>0)be();if((o[Q+12>>2]|0)==(fe|0))break;be()}}while(0);if((ee|0)==(Q|0)){o[2283]=o[2283]&~(1<<ie);break}do{if((ee|0)==(te|0))Te=ee+8|0;else{if(ee>>>0<ge>>>0)be();K=ee+8|0;if((o[K>>2]|0)==(fe|0)){Te=K;break}be()}}while(0);o[Q+12>>2]=ee;o[Te>>2]=Q}}while(0);Fe=ae+((ce|oe)+se)|0;Re=ce+le|0}else{Fe=fe;Re=le}ie=Fe+4|0;o[ie>>2]=o[ie>>2]&-2;o[ae+(V+4)>>2]=Re|1;o[ae+(Re+V)>>2]=Re;ie=Re>>>3;if(Re>>>0<256){X=ie<<1;ne=9172+(X<<2)|0;te=o[2283]|0;K=1<<ie;do{if(!(te&K)){o[2283]=te|K;Pe=9172+(X+2<<2)|0;Ie=ne}else{ie=9172+(X+2<<2)|0;$=o[ie>>2]|0;if($>>>0>=(o[2287]|0)>>>0){Pe=ie;Ie=$;break}be()}}while(0);o[Pe>>2]=ue;o[Ie+12>>2]=ue;o[ae+(V+8)>>2]=Ie;o[ae+(V+12)>>2]=ne;break}X=Re>>>8;do{if(!X)Ce=0;else{if(Re>>>0>16777215){Ce=31;break}K=(X+1048320|0)>>>16&8;te=X<<K;ce=(te+520192|0)>>>16&4;$=te<<ce;te=($+245760|0)>>>16&2;ie=14-(ce|K|te)+($<<te>>>15)|0;Ce=Re>>>(ie+7|0)&1|ie<<1}}while(0);X=9436+(Ce<<2)|0;o[ae+(V+28)>>2]=Ce;o[ae+(V+20)>>2]=0;o[ae+(V+16)>>2]=0;ne=o[2284]|0;ie=1<<Ce;if(!(ne&ie)){o[2284]=ne|ie;o[X>>2]=ue;o[ae+(V+24)>>2]=X;o[ae+(V+12)>>2]=ue;o[ae+(V+8)>>2]=ue;break}ie=o[X>>2]|0;n:do{if((o[ie+4>>2]&-8|0)!=(Re|0)){X=Re<<((Ce|0)==31?0:25-(Ce>>>1)|0);ne=ie;while(1){te=ne+16+(X>>>31<<2)|0;$=o[te>>2]|0;if(!$){xe=te;Be=ne;break}if((o[$+4>>2]&-8|0)==(Re|0)){ze=$;break n}else{X=X<<1;ne=$}}if(xe>>>0<(o[2287]|0)>>>0)be();else{o[xe>>2]=ue;o[ae+(V+24)>>2]=Be;o[ae+(V+12)>>2]=ue;o[ae+(V+8)>>2]=ue;break r}}else ze=ie}while(0);ie=ze+8|0;ne=o[ie>>2]|0;X=o[2287]|0;if(ne>>>0>=X>>>0&ze>>>0>=X>>>0){o[ne+12>>2]=ue;o[ie>>2]=ue;o[ae+(V+8)>>2]=ne;o[ae+(V+12)>>2]=ze;o[ae+(V+24)>>2]=0;break}else be()}else{ne=(o[2286]|0)+le|0;o[2286]=ne;o[2289]=ue;o[ae+(V+4)>>2]=ne|1}}while(0);h=ae+(de|8)|0;return h|0}else Se=9580;while(1){V=o[Se>>2]|0;if(V>>>0<=he>>>0?(ue=o[Se+4>>2]|0,le=V+ue|0,le>>>0>he>>>0):0){Ue=V;je=ue;qe=le;break}Se=o[Se+8>>2]|0}de=Ue+(je+-39)|0;le=Ue+(je+-47+((de&7|0)==0?0:0-de&7))|0;de=he+16|0;ue=le>>>0<de>>>0?he:le;le=ue+8|0;V=ae+8|0;fe=(V&7|0)==0?0:0-V&7;V=se+-40-fe|0;o[2289]=ae+fe;o[2286]=V;o[ae+(fe+4)>>2]=V|1;o[ae+(se+-36)>>2]=40;o[2290]=o[2405];V=ue+4|0;o[V>>2]=27;o[le>>2]=o[2395];o[le+4>>2]=o[2396];o[le+8>>2]=o[2397];o[le+12>>2]=o[2398];o[2395]=ae;o[2396]=se;o[2398]=0;o[2397]=le;le=ue+28|0;o[le>>2]=7;if((ue+32|0)>>>0<qe>>>0){fe=le;do{le=fe;fe=fe+4|0;o[fe>>2]=7}while((le+8|0)>>>0<qe>>>0)}if((ue|0)!=(he|0)){fe=ue-he|0;o[V>>2]=o[V>>2]&-2;o[he+4>>2]=fe|1;o[ue>>2]=fe;le=fe>>>3;if(fe>>>0<256){oe=le<<1;ne=9172+(oe<<2)|0;ie=o[2283]|0;X=1<<le;if(ie&X){le=9172+(oe+2<<2)|0;Q=o[le>>2]|0;if(Q>>>0<(o[2287]|0)>>>0)be();else{Ye=le;Ve=Q}}else{o[2283]=ie|X;Ye=9172+(oe+2<<2)|0;Ve=ne}o[Ye>>2]=he;o[Ve+12>>2]=he;o[he+8>>2]=Ve;o[he+12>>2]=ne;break}ne=fe>>>8;if(ne)if(fe>>>0>16777215)Xe=31;else{oe=(ne+1048320|0)>>>16&8;X=ne<<oe;ne=(X+520192|0)>>>16&4;ie=X<<ne;X=(ie+245760|0)>>>16&2;Q=14-(ne|oe|X)+(ie<<X>>>15)|0;Xe=fe>>>(Q+7|0)&1|Q<<1}else Xe=0;Q=9436+(Xe<<2)|0;o[he+28>>2]=Xe;o[he+20>>2]=0;o[de>>2]=0;X=o[2284]|0;ie=1<<Xe;if(!(X&ie)){o[2284]=X|ie;o[Q>>2]=he;o[he+24>>2]=Q;o[he+12>>2]=he;o[he+8>>2]=he;break}ie=o[Q>>2]|0;r:do{if((o[ie+4>>2]&-8|0)!=(fe|0)){Q=fe<<((Xe|0)==31?0:25-(Xe>>>1)|0);X=ie;while(1){oe=X+16+(Q>>>31<<2)|0;ne=o[oe>>2]|0;if(!ne){He=oe;We=X;break}if((o[ne+4>>2]&-8|0)==(fe|0)){Ge=ne;break r}else{Q=Q<<1;X=ne}}if(He>>>0<(o[2287]|0)>>>0)be();else{o[He>>2]=he;o[he+24>>2]=We;o[he+12>>2]=he;o[he+8>>2]=he;break e}}else Ge=ie}while(0);ie=Ge+8|0;fe=o[ie>>2]|0;de=o[2287]|0;if(fe>>>0>=de>>>0&Ge>>>0>=de>>>0){o[fe+12>>2]=he;o[ie>>2]=he;o[he+8>>2]=fe;o[he+12>>2]=Ge;o[he+24>>2]=0;break}else be()}}else{fe=o[2287]|0;if((fe|0)==0|ae>>>0<fe>>>0)o[2287]=ae;o[2395]=ae;o[2396]=se;o[2398]=0;o[2292]=o[2401];o[2291]=-1;fe=0;do{ie=fe<<1;de=9172+(ie<<2)|0;o[9172+(ie+3<<2)>>2]=de;o[9172+(ie+2<<2)>>2]=de;fe=fe+1|0}while((fe|0)!=32);fe=ae+8|0;de=(fe&7|0)==0?0:0-fe&7;fe=se+-40-de|0;o[2289]=ae+de;o[2286]=fe;o[ae+(de+4)>>2]=fe|1;o[ae+(se+-36)>>2]=40;o[2290]=o[2405]}}while(0);se=o[2286]|0;if(se>>>0>T>>>0){ae=se-T|0;o[2286]=ae;se=o[2289]|0;o[2289]=se+T;o[se+(T+4)>>2]=ae|1;o[se+4>>2]=T|3;h=se+8|0;return h|0}}o[(Nr()|0)>>2]=12;h=0;return h|0}function Zr(e){e=e|0;var r=0,n=0,t=0,i=0,a=0,s=0,f=0,l=0,u=0,c=0,d=0,h=0,m=0,p=0,w=0,k=0,b=0,v=0,E=0,g=0,y=0,_=0,S=0,A=0,D=0,M=0,N=0,L=0,O=0,T=0,F=0,R=0,P=0,I=0,C=0,x=0,B=0;if(!e)return;r=e+-8|0;n=o[2287]|0;if(r>>>0<n>>>0)be();t=o[e+-4>>2]|0;i=t&3;if((i|0)==1)be();a=t&-8;s=e+(a+-8)|0;do{if(!(t&1)){f=o[r>>2]|0;if(!i)return;l=-8-f|0;u=e+l|0;c=f+a|0;if(u>>>0<n>>>0)be();if((u|0)==(o[2288]|0)){d=e+(a+-4)|0;h=o[d>>2]|0;if((h&3|0)!=3){m=u;p=c;break}o[2285]=c;o[d>>2]=h&-2;o[e+(l+4)>>2]=c|1;o[s>>2]=c;return}h=f>>>3;if(f>>>0<256){f=o[e+(l+8)>>2]|0;d=o[e+(l+12)>>2]|0;w=9172+(h<<1<<2)|0;if((f|0)!=(w|0)){if(f>>>0<n>>>0)be();if((o[f+12>>2]|0)!=(u|0))be()}if((d|0)==(f|0)){o[2283]=o[2283]&~(1<<h);m=u;p=c;break}if((d|0)!=(w|0)){if(d>>>0<n>>>0)be();w=d+8|0;if((o[w>>2]|0)==(u|0))k=w;else be()}else k=d+8|0;o[f+12>>2]=d;o[k>>2]=f;m=u;p=c;break}f=o[e+(l+24)>>2]|0;d=o[e+(l+12)>>2]|0;do{if((d|0)==(u|0)){w=e+(l+20)|0;h=o[w>>2]|0;if(!h){b=e+(l+16)|0;v=o[b>>2]|0;if(!v){E=0;break}else{g=v;y=b}}else{g=h;y=w}while(1){w=g+20|0;h=o[w>>2]|0;if(h){g=h;y=w;continue}w=g+16|0;h=o[w>>2]|0;if(!h){_=g;S=y;break}else{g=h;y=w}}if(S>>>0<n>>>0)be();else{o[S>>2]=0;E=_;break}}else{w=o[e+(l+8)>>2]|0;if(w>>>0<n>>>0)be();h=w+12|0;if((o[h>>2]|0)!=(u|0))be();b=d+8|0;if((o[b>>2]|0)==(u|0)){o[h>>2]=d;o[b>>2]=w;E=d;break}else be()}}while(0);if(f){d=o[e+(l+28)>>2]|0;w=9436+(d<<2)|0;if((u|0)==(o[w>>2]|0)){o[w>>2]=E;if(!E){o[2284]=o[2284]&~(1<<d);m=u;p=c;break}}else{if(f>>>0<(o[2287]|0)>>>0)be();d=f+16|0;if((o[d>>2]|0)==(u|0))o[d>>2]=E;else o[f+20>>2]=E;if(!E){m=u;p=c;break}}d=o[2287]|0;if(E>>>0<d>>>0)be();o[E+24>>2]=f;w=o[e+(l+16)>>2]|0;do{if(w)if(w>>>0<d>>>0)be();else{o[E+16>>2]=w;o[w+24>>2]=E;break}}while(0);w=o[e+(l+20)>>2]|0;if(w)if(w>>>0<(o[2287]|0)>>>0)be();else{o[E+20>>2]=w;o[w+24>>2]=E;m=u;p=c;break}else{m=u;p=c}}else{m=u;p=c}}else{m=r;p=a}}while(0);if(m>>>0>=s>>>0)be();r=e+(a+-4)|0;E=o[r>>2]|0;if(!(E&1))be();if(!(E&2)){if((s|0)==(o[2289]|0)){n=(o[2286]|0)+p|0;o[2286]=n;o[2289]=m;o[m+4>>2]=n|1;if((m|0)!=(o[2288]|0))return;o[2288]=0;o[2285]=0;return}if((s|0)==(o[2288]|0)){n=(o[2285]|0)+p|0;o[2285]=n;o[2288]=m;o[m+4>>2]=n|1;o[m+n>>2]=n;return}n=(E&-8)+p|0;_=E>>>3;do{if(E>>>0>=256){S=o[e+(a+16)>>2]|0;y=o[e+(a|4)>>2]|0;do{if((y|0)==(s|0)){g=e+(a+12)|0;k=o[g>>2]|0;if(!k){i=e+(a+8)|0;t=o[i>>2]|0;if(!t){A=0;break}else{D=t;M=i}}else{D=k;M=g}while(1){g=D+20|0;k=o[g>>2]|0;if(k){D=k;M=g;continue}g=D+16|0;k=o[g>>2]|0;if(!k){N=D;L=M;break}else{D=k;M=g}}if(L>>>0<(o[2287]|0)>>>0)be();else{o[L>>2]=0;A=N;break}}else{g=o[e+a>>2]|0;if(g>>>0<(o[2287]|0)>>>0)be();k=g+12|0;if((o[k>>2]|0)!=(s|0))be();i=y+8|0;if((o[i>>2]|0)==(s|0)){o[k>>2]=y;o[i>>2]=g;A=y;break}else be()}}while(0);if(S){y=o[e+(a+20)>>2]|0;c=9436+(y<<2)|0;if((s|0)==(o[c>>2]|0)){o[c>>2]=A;if(!A){o[2284]=o[2284]&~(1<<y);break}}else{if(S>>>0<(o[2287]|0)>>>0)be();y=S+16|0;if((o[y>>2]|0)==(s|0))o[y>>2]=A;else o[S+20>>2]=A;if(!A)break}y=o[2287]|0;if(A>>>0<y>>>0)be();o[A+24>>2]=S;c=o[e+(a+8)>>2]|0;do{if(c)if(c>>>0<y>>>0)be();else{o[A+16>>2]=c;o[c+24>>2]=A;break}}while(0);c=o[e+(a+12)>>2]|0;if(c)if(c>>>0<(o[2287]|0)>>>0)be();else{o[A+20>>2]=c;o[c+24>>2]=A;break}}}else{c=o[e+a>>2]|0;y=o[e+(a|4)>>2]|0;S=9172+(_<<1<<2)|0;if((c|0)!=(S|0)){if(c>>>0<(o[2287]|0)>>>0)be();if((o[c+12>>2]|0)!=(s|0))be()}if((y|0)==(c|0)){o[2283]=o[2283]&~(1<<_);break}if((y|0)!=(S|0)){if(y>>>0<(o[2287]|0)>>>0)be();S=y+8|0;if((o[S>>2]|0)==(s|0))O=S;else be()}else O=y+8|0;o[c+12>>2]=y;o[O>>2]=c}}while(0);o[m+4>>2]=n|1;o[m+n>>2]=n;if((m|0)==(o[2288]|0)){o[2285]=n;return}else T=n}else{o[r>>2]=E&-2;o[m+4>>2]=p|1;o[m+p>>2]=p;T=p}p=T>>>3;if(T>>>0<256){E=p<<1;r=9172+(E<<2)|0;n=o[2283]|0;O=1<<p;if(n&O){p=9172+(E+2<<2)|0;s=o[p>>2]|0;if(s>>>0<(o[2287]|0)>>>0)be();else{F=p;R=s}}else{o[2283]=n|O;F=9172+(E+2<<2)|0;R=r}o[F>>2]=m;o[R+12>>2]=m;o[m+8>>2]=R;o[m+12>>2]=r;return}r=T>>>8;if(r)if(T>>>0>16777215)P=31;else{R=(r+1048320|0)>>>16&8;F=r<<R;r=(F+520192|0)>>>16&4;E=F<<r;F=(E+245760|0)>>>16&2;O=14-(r|R|F)+(E<<F>>>15)|0;P=T>>>(O+7|0)&1|O<<1}else P=0;O=9436+(P<<2)|0;o[m+28>>2]=P;o[m+20>>2]=0;o[m+16>>2]=0;F=o[2284]|0;E=1<<P;e:do{if(F&E){R=o[O>>2]|0;r:do{if((o[R+4>>2]&-8|0)!=(T|0)){r=T<<((P|0)==31?0:25-(P>>>1)|0);n=R;while(1){s=n+16+(r>>>31<<2)|0;p=o[s>>2]|0;if(!p){I=s;C=n;break}if((o[p+4>>2]&-8|0)==(T|0)){x=p;break r}else{r=r<<1;n=p}}if(I>>>0<(o[2287]|0)>>>0)be();else{o[I>>2]=m;o[m+24>>2]=C;o[m+12>>2]=m;o[m+8>>2]=m;break e}}else x=R}while(0);R=x+8|0;n=o[R>>2]|0;r=o[2287]|0;if(n>>>0>=r>>>0&x>>>0>=r>>>0){o[n+12>>2]=m;o[R>>2]=m;o[m+8>>2]=n;o[m+12>>2]=x;o[m+24>>2]=0;break}else be()}else{o[2284]=F|E;o[O>>2]=m;o[m+24>>2]=O;o[m+12>>2]=m;o[m+8>>2]=m}}while(0);m=(o[2291]|0)+-1|0;o[2291]=m;if(!m)B=9588;else return;while(1){m=o[B>>2]|0;if(!m)break;else B=m+8|0}o[2291]=-1;return}function Qr(){}function Jr(e,r,n){e=e|0;r=r|0;n=n|0;var i=0,a=0,s=0,f=0;i=e+n|0;if((n|0)>=20){r=r&255;a=e&3;s=r|r<<8|r<<16|r<<24;f=i&~3;if(a){a=e+4-a|0;while((e|0)<(a|0)){t[e>>0]=r;e=e+1|0}}while((e|0)<(f|0)){o[e>>2]=s;e=e+4|0}}while((e|0)<(i|0)){t[e>>0]=r;e=e+1|0}return e-n|0}function $r(e,r,n){e=e|0;r=r|0;n=n|0;var i=0;if((n|0)>=4096)return ye(e|0,r|0,n|0)|0;i=e|0;if((e&3)==(r&3)){while(e&3){if(!n)return i|0;t[e>>0]=t[r>>0]|0;e=e+1|0;r=r+1|0;n=n-1|0}while((n|0)>=4){o[e>>2]=o[r>>2];e=e+4|0;r=r+4|0;n=n-4|0}}while((n|0)>0){t[e>>0]=t[r>>0]|0;e=e+1|0;r=r+1|0;n=n-1|0}return i|0}function en(e){e=e|0;return(e&255)<<24|(e>>8&255)<<16|(e>>16&255)<<8|e>>>24|0}function rn(e,r){e=e|0;r=r|0;return dn[e&1](r|0)|0}function nn(e,r,n,t){e=e|0;r=r|0;n=n|0;t=t|0;return hn[e&7](r|0,n|0,t|0)|0}function tn(e,r,n){e=e|0;r=r|0;n=n|0;mn[e&1](r|0,n|0)}function on(e,r,n){e=e|0;r=r|0;n=n|0;return pn[e&3](r|0,n|0)|0}function an(e,r){e=e|0;r=r|0;wn[e&1](r|0)}function sn(e){e=e|0;te(0);return 0}function fn(e,r,n){e=e|0;r=r|0;n=n|0;te(1);return 0}function ln(e,r){e=e|0;r=r|0;te(2)}function un(e,r){e=e|0;r=r|0;te(3);return 0}function cn(e){e=e|0;te(4)}var dn=[sn,Pr];var hn=[fn,xr,Ir,Dr,Cr,fn,fn,fn];var mn=[ln,Mr];var pn=[un,We,Ge,Ke];var wn=[cn,Wr];return{_gzwrite:ar,_fflush:Br,_gzread:rr,_memset:Jr,_malloc:Kr,_memcpy:$r,_gzopen:Je,_llvm_bswap_i32:en,_gzclose:Qe,_free:Zr,___errno_location:Nr,runPostSets:Qr,stackAlloc:Te,stackSave:Fe,stackRestore:Re,establishStackSpace:Pe,setThrew:Ie,setTempRet0:Be,getTempRet0:ze,dynCall_ii:rn,dynCall_iiii:nn,dynCall_vii:tn,dynCall_iii:on,dynCall_vi:an}}(n.asmGlobalArg,n.asmLibraryArg,U),xe=(n._gzwrite=Ce._gzwrite,n._gzopen=Ce._gzopen,n._fflush=Ce._fflush,n.runPostSets=Ce.runPostSets,n._gzread=Ce._gzread,n._memset=Ce._memset),Be=n._malloc=Ce._malloc,ze=n._memcpy=Ce._memcpy,Ue=(n.___errno_location=Ce.___errno_location,n._gzclose=Ce._gzclose,n._free=Ce._free),je=n._llvm_bswap_i32=Ce._llvm_bswap_i32;function qe(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}n.dynCall_ii=Ce.dynCall_ii,n.dynCall_iiii=Ce.dynCall_iiii,n.dynCall_vii=Ce.dynCall_vii,n.dynCall_iii=Ce.dynCall_iii,n.dynCall_vi=Ce.dynCall_vi,d.stackAlloc=Ce.stackAlloc,d.stackSave=Ce.stackSave,d.stackRestore=Ce.stackRestore,d.establishStackSpace=Ce.establishStackSpace,d.setTempRet0=Ce.setTempRet0,d.getTempRet0=Ce.getTempRet0,qe.prototype=new Error,qe.prototype.constructor=qe;var Ye=null;function Ve(e){function r(){n.calledRun||(n.calledRun=!0,N||(re(),G(Q),n.onRuntimeInitialized&&n.onRuntimeInitialized(),n._main&&Ge&&n.callMain(e),function(){if(n.postRun)for("function"==typeof n.postRun&&(n.postRun=[n.postRun]);n.postRun.length;)te(n.postRun.shift());G($)}()))}e=e||n.arguments,null===Ye&&(Ye=Date.now()),de>0||(function(){if(n.preRun)for("function"==typeof n.preRun&&(n.preRun=[n.preRun]);n.preRun.length;)ne(n.preRun.shift());G(K)}(),de>0||n.calledRun||(n.setStatus?(n.setStatus("Running..."),setTimeout((function(){setTimeout((function(){n.setStatus("")}),1),r()}),1)):r()))}function Xe(e,r){if(!r||!n.noExitRuntime)throw n.noExitRuntime||(N=!0,Y=void 0,G(J),n.onExit&&n.onExit(e)),s?(process.stdout.once("drain",(function(){process.exit(e)})),console.log(" "),setTimeout((function(){process.exit(e)}),500)):f&&"function"==typeof quit&&quit(e),new qe(e)}me=function e(){n.calledRun||Ve(),n.calledRun||(me=e)},n.callMain=n.callMain=function(e){L(0==de,"cannot call main when async dependencies remain! (listen on __ATMAIN__)"),L(0==K.length,"cannot call main when preRun functions remain to be called"),e=e||[],re();var r=e.length+1;function t(){for(var e=0;e<3;e++)i.push(0)}var i=[F(ie(n.thisProgram),"i8",0)];t();for(var o=0;o<r-1;o+=1)i.push(F(ie(e[o]),"i8",0)),t();i.push(0),i=F(i,"i32",0);try{Xe(n._main(r,i,0),!0)}catch(e){if(e instanceof qe)return;if("SimulateInfiniteLoop"==e)return void(n.noExitRuntime=!0);throw e&&"object"==typeof e&&e.stack&&n.printErr("exception thrown: "+[e,e.stack]),e}},n.run=n.run=Ve,n.exit=n.exit=Xe;var He=[];function We(e){void 0!==e?(n.print(e),n.printErr(e),e=JSON.stringify(e)):e="",N=!0;var r="abort("+e+") at "+x()+"\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";throw He&&He.forEach((function(n){r=n(r,e)})),r}if(n.abort=n.abort=We,n.preInit)for("function"==typeof n.preInit&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.pop()();var Ge=!0;return n.noInitialRun&&(Ge=!1),Ve(),n.gzcompress=function(e,r){var n=k("gzopen","number",["string","string"],["output.gz",r]),t=Be(e.length);g.set(e,t),k("gzwrite","number",["number","number","number"],[n,t,e.length]),k("gzclose","number",["number"],[n]),Ue(t);var i=new Uint8Array(Ne.root.contents["output.gz"].contents);return Ne.unlink("output.gz"),i},n.gzdecompress=function(e){var r=1048576;Ne.createDataFile("/","input.gz",e,!0,!0);for(var n,t=k("gzopen","number",["string","string"],["input.gz","rb"]),i=Be(r),o=[],a=0;(n=k("gzread","number",["number","number","number"],[t,i,r]))>0;)o.push(new Uint8Array(n)),o[o.length-1].set(g.subarray(i,i+n)),a+=n;k("gzclose","number",["number"],[t]),Ne.unlink("input.gz"),Ue(i);for(var s=new Uint8Array(a),f=0,l=0;l<o.length;l++)s.set(o[l],f),f+=o[l].length;return s},n}return{compress:function(e,n){var t="string"==typeof e?(new TextEncoder).encode(e):e,i=void 0===n?"wb":"wb"+n;return r(524288+2.5*t.length).gzcompress(t,i)},decompress:r(16777216).gzdecompress}}();onmessage=function(e){var r=Date.now();switch(e.data.request){case"compress":try{var n=Zee.compress(e.data.data,e.data.compressionLevel);postMessage({type:"success",data:n,callbackID:e.data.callbackID,time:Date.now()-r},[n.buffer])}catch(n){postMessage({type:"error",data:n.toString(),callbackID:e.data.callbackID,time:Date.now()-r})}break;case"decompress":try{n=Zee.decompress(e.data.data),postMessage({type:"success",data:n,callbackID:e.data.callbackID,time:Date.now()-r},[n.buffer])}catch(n){postMessage({type:"error",data:n.toString(),callbackID:e.data.callbackID,time:Date.now()-r})}}};