From 038a8f837d59090f48ff8097648a87987b58c850 Mon Sep 17 00:00:00 2001 From: Jaifroid Date: Sun, 30 Apr 2023 22:58:10 +0100 Subject: [PATCH 1/9] Compile zstdec and xzdec as es6 modules --- emscripten/xzdec/compile.sh | 4 +- emscripten/xzdec/xzdec-asm.js | 72 +++++++-------- emscripten/xzdec/xzdec-wasm.js | 38 ++++---- emscripten/xzdec/xzdec-wasm.wasm | Bin 14685 -> 14678 bytes emscripten/zstandard/compile.sh | 4 +- emscripten/zstandard/zstddec-asm.js | 82 +++++++++--------- emscripten/zstandard/zstddec-wasm.js | 41 ++++----- emscripten/zstandard/zstddec-wasm.wasm | Bin 46923 -> 46098 bytes scripts/Compile-Xzdec.ps1 | 2 +- scripts/Compile-Zstddec.ps1 | 2 +- .../compile_xzdec_with_docker_emscripten.sh | 2 +- .../compile_zstddec_with_docker_emscripten.sh | 2 +- 12 files changed, 113 insertions(+), 136 deletions(-) diff --git a/emscripten/xzdec/compile.sh b/emscripten/xzdec/compile.sh index 9f5f971a5..f2964e6b9 100755 --- a/emscripten/xzdec/compile.sh +++ b/emscripten/xzdec/compile.sh @@ -1,5 +1,5 @@ echo "Compiling ASM version xzdec-asm.js" -emcc --memory-init-file 0 -O3 --closure 1 -s ENVIRONMENT="web" -s WASM=0 -s MALLOC="emmalloc" -s TOTAL_MEMORY=83886080 -s FILESYSTEM=0 -s DOUBLE_MODE=0 -s DYNAMIC_EXECUTION=0 -s MIN_IE_VERSION=11 -s EXPORT_NAME="XZ" -s MODULARIZE=1 -s AGGRESSIVE_VARIABLE_ELIMINATION=1 -s EXPORTED_FUNCTIONS="['_init', '_init_decompression', '_input_empty', '_get_in_buffer', '_set_new_input', '_decompress', '_get_out_pos', '_get_out_buffer', '_out_buffer_cleared', '_release']" -DXZ_USE_CRC64=1 -DXZ_INTERNAL_CRC64=1 ./*.c -o xzdec-asm.js +emcc --memory-init-file 0 -O3 --closure 1 -s ENVIRONMENT="web" -s WASM=0 -s MALLOC="emmalloc" -s TOTAL_MEMORY=83886080 -s FILESYSTEM=0 -s DOUBLE_MODE=0 -s DYNAMIC_EXECUTION=0 -s MIN_IE_VERSION=11 -s EXPORT_NAME="XZ" -s MODULARIZE=1 -s EXPORT_ES6=1 -s AGGRESSIVE_VARIABLE_ELIMINATION=1 -s EXPORTED_FUNCTIONS="['_init', '_init_decompression', '_input_empty', '_get_in_buffer', '_set_new_input', '_decompress', '_get_out_pos', '_get_out_buffer', '_out_buffer_cleared', '_release']" -DXZ_USE_CRC64=1 -DXZ_INTERNAL_CRC64=1 ./*.c -o xzdec-asm.js echo "Compiling WASM version xzdec-wasm.js" -emcc --memory-init-file 0 -O3 --closure 1 -s ENVIRONMENT="web" -s WASM=1 -s MALLOC="emmalloc" -s TOTAL_MEMORY=83886080 -s FILESYSTEM=0 -s DOUBLE_MODE=0 -s DYNAMIC_EXECUTION=0 -s EXPORT_NAME="XZ" -s MODULARIZE=1 -s AGGRESSIVE_VARIABLE_ELIMINATION=1 -s EXPORTED_FUNCTIONS="['_init', '_init_decompression', '_input_empty', '_get_in_buffer', '_set_new_input', '_decompress', '_get_out_pos', '_get_out_buffer', '_out_buffer_cleared', '_release']" -DXZ_USE_CRC64=1 -DXZ_INTERNAL_CRC64=1 ./*.c -o xzdec-wasm.js +emcc --memory-init-file 0 -O3 --closure 1 -s ENVIRONMENT="web" -s WASM=1 -s MALLOC="emmalloc" -s TOTAL_MEMORY=83886080 -s FILESYSTEM=0 -s DOUBLE_MODE=0 -s DYNAMIC_EXECUTION=0 -s EXPORT_NAME="XZ" -s MODULARIZE=1 -s EXPORT_ES6=1 -s AGGRESSIVE_VARIABLE_ELIMINATION=1 -s EXPORTED_FUNCTIONS="['_init', '_init_decompression', '_input_empty', '_get_in_buffer', '_set_new_input', '_decompress', '_get_out_pos', '_get_out_buffer', '_out_buffer_cleared', '_release']" -DXZ_USE_CRC64=1 -DXZ_INTERNAL_CRC64=1 ./*.c -o xzdec-wasm.js echo "Finished." \ No newline at end of file diff --git a/emscripten/xzdec/xzdec-asm.js b/emscripten/xzdec/xzdec-asm.js index afcb6271f..e240ca526 100644 --- a/emscripten/xzdec/xzdec-asm.js +++ b/emscripten/xzdec/xzdec-asm.js @@ -1,54 +1,48 @@ -var XZ = (function() { - var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; +var XZ = (() => { + var _scriptDir = import.meta.url; return ( -function(XZ) { - XZ = XZ || {}; - - -var a;a||(a=typeof XZ !== 'undefined' ? XZ : {}); -var Promise=function(){function b(){}function e(c,f){return function(){c.apply(f,arguments)}}function d(c){if(!(this instanceof d))throw new TypeError("Promises must be constructed via new");if("function"!==typeof c)throw new TypeError("not a function");this.s=0;this.B=!1;this.u=void 0;this.v=[];P(c,this)}function m(c,f){for(;3===c.s;)c=c.u;0===c.s?c.v.push(f):(c.B=!0,d.C(function(){var g=1===c.s?f.F:f.G;if(null===g)(1===c.s?h:k)(f.promise,c.u);else{try{var l=g(c.u)}catch(n){k(f.promise,n);return}h(f.promise, -l)}}))}function h(c,f){try{if(f===c)throw new TypeError("A promise cannot be resolved with itself.");if(f&&("object"===typeof f||"function"===typeof f)){var g=f.then;if(f instanceof d){c.s=3;c.u=f;v(c);return}if("function"===typeof g){P(e(g,f),c);return}}c.s=1;c.u=f;v(c)}catch(l){k(c,l)}}function k(c,f){c.s=2;c.u=f;v(c)}function v(c){2===c.s&&0===c.v.length&&d.C(function(){c.B||d.D(c.u)});for(var f=0,g=c.v.length;f=k}});var p;p||(p=typeof XZ !== 'undefined' ? XZ : {}); +var Promise=function(){function a(){}function e(d,f){return function(){d.apply(f,arguments)}}function c(d){if(!(this instanceof c))throw new TypeError("Promises must be constructed via new");if("function"!=typeof d)throw new TypeError("not a function");this.o=0;this.v=!1;this.s=void 0;this.u=[];M(d,this)}function g(d,f){for(;3===d.o;)d=d.s;0===d.o?d.u.push(f):(d.v=!0,c.A(function(){var h=1===d.o?f.C:f.D;if(null===h)(1===d.o?k:l)(f.promise,d.s);else{try{var m=h(d.s)}catch(n){l(f.promise,n);return}k(f.promise, +m)}}))}function k(d,f){try{if(f===d)throw new TypeError("A promise cannot be resolved with itself.");if(f&&("object"==typeof f||"function"==typeof f)){var h=f.then;if(f instanceof c){d.o=3;d.s=f;u(d);return}if("function"==typeof h){M(e(h,f),d);return}}d.o=1;d.s=f;u(d)}catch(m){l(d,m)}}function l(d,f){d.o=2;d.s=f;u(d)}function u(d){2===d.o&&0===d.u.length&&c.A(function(){d.v||c.B(d.s)});for(var f=0,h=d.u.length;f=0;--a){f[48+a]=52+a;f[65+a]=a;f[97+a]=26+a}f[43]=62;f[47]=63;function l(m,n,o){var g,h,a=0,i=n,j=o.length,k=n+(j*3>>2)-(o[j-2]=="=")-(o[j-1]=="=");for(;a>4;if(i>2;if(i=0;--a){f[48+a]=52+a;f[65+a]=a;f[97+a]=26+a}f[43]=62;f[47]=63;function l(m,n,o){var g,h,a=0,i=n,j=o.length,k=n+(j*3>>2)-(o[j-2]=="=")-(o[j-1]=="=");for(;a>4;if(i>2;if(i>2];a:{if(v[d+36>>2]){h=v[d>>2];break a}t[d+40|0]=0;v[d>>2]=0;v[d+4>>2]=0;v[d+24>>2]=0;v[d+28>>2]=0;_(d+72|0,100);v[d+172>>2]=12;h=0}z=v[a+20>>2];s=v[a+8>>2];v[d+16>>2]=s;x=d+96|0;p=d+176|0;n=d+168|0;while(1){b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{l:{m:{switch(h|0){case 2:b=v[a+8>>2];e=v[a+4>>2];h=v[d+172>>2];c=v[a+12>>2];g=v[d+168>>2];break l;case 0:h=v[a+8>>2];e=v[a+12>>2]-h|0;c=v[d+168>>2];b=v[d+172>>2]-c|0;b=b>>>0>e>>>0?e:b;W((c+n|0)+8|0,h+v[a+4>>2]|0,b);v[a+8>>2]=b+v[a+8>>2];c=0;e=b+v[d+168>>2]|0;b=v[d+172>>2];v[d+168>>2]=(b|0)==(e|0)?0:e;if((b|0)!=(e|0)){break b}v[d>>2]=1;if(fa(p,1024,6)){c=5;break b}c=6;if(w[d+182|0]){break b}b=w[d+183|0];v[d+32>>2]=b;if(!(1<>>0>4){break b}break;case 9:break h;case 8:break i;case 7:break j;case 6:break k;case 1:break m;case 5:break c;case 4:break d;case 3:break e;default:continue}}b=v[a+8>>2];c=v[a+12>>2];if((b|0)==(c|0)){c=0;break b}e=v[a+4>>2];h=w[e+b|0];if(!h){v[a+8>>2]=b+1;v[d+16>>2]=b;h=6;v[d>>2]=6;continue}v[d+168>>2]=0;v[d>>2]=2;h=(h<<2)+4|0;v[d+172>>2]=h;v[d+64>>2]=h;g=0}e=b+e|0;c=c-b|0;b=h-g|0;b=b>>>0>c>>>0?c:b;W((g+n|0)+8|0,e,b);v[a+8>>2]=b+v[a+8>>2];c=0;e=b+v[d+168>>2]|0;b=v[d+172>>2];v[d+168>>2]=(b|0)==(e|0)?0:e;if((b|0)!=(e|0)){break b}b=e-4|0;v[d+172>>2]=b;c=Y(p,b,0);q=v[d+172>>2];b=q+d|0;if((c|0)!=(w[b+176|0]|w[b+177|0]<<8|(w[b+178|0]<<16|w[b+179|0]<<24))){c=7;break b}v[d+168>>2]=2;m=t[d+177|0];if(m&63){c=6;break b}b=2;o=-1;l=-1;g=-1;f=-1;if(!(m&64)){break f}h=v[d+4>>2];if(!h){v[d+8>>2]=0;v[d+12>>2]=0}j=q>>>0>2?q:2;while(1){if((b|0)==(j|0)){c=7;break b}r=w[(b+n|0)+8|0];b=b+1|0;v[d+168>>2]=b;e=d;k=v[d+12>>2];g=r&127;c=h;i=c&31;if((c&63)>>>0>=32){f=g<>>32-i;c=g<>2];c=f|k;f=c;v[e+8>>2]=g;v[e+12>>2]=c;if(!(r&128)){if(!(!h|r)){c=7;break b}v[d+4>>2]=0;break f}c=7;h=h+7|0;v[d+4>>2]=h;if((h|0)!=63){continue}break}break b}n=d+144|0;n:{while(1){c=v[a+12>>2];l=v[a+4>>2];h=v[d+4>>2];if(!h){v[d+8>>2]=0;v[d+12>>2]=0}b=v[a+8>>2];j=b>>>0>c>>>0?b:c;o:{while(1){p:{if((b|0)==(j|0)){c=0;b=j;break p}m=w[b+l|0];b=b+1|0;v[a+8>>2]=b;k=d;f=v[d+12>>2];g=m&127;c=h;p=c&31;if((c&63)>>>0>=32){e=g<>>32-p;c=g<>2];c=e|f;f=c;v[k+8>>2]=g;v[k+12>>2]=c;if(!(m&128)){if(!h|m){break o}c=7;break p}c=7;h=h+7|0;v[d+4>>2]=h;if((h|0)!=63){continue}}break}e=v[d+132>>2];g=v[d+16>>2];f=b-g|0;b=f;k=b+v[d+128>>2]|0;v[d+128>>2]=k;v[d+132>>2]=b>>>0>k>>>0?e+1|0:e;v[d+24>>2]=Y(g+l|0,b,v[d+24>>2]);v[d+28>>2]=0;break n}v[d+4>>2]=0;q:{r:{switch(v[d+120>>2]){case 0:v[d+136>>2]=g;v[d+140>>2]=f;c=7;if((g|0)!=v[d+88>>2]|(f|0)!=v[d+92>>2]){break n}v[d+120>>2]=1;break q;case 2:f=f+v[d+156>>2]|0;c=g+v[d+152>>2]|0;f=c>>>0>>0?f+1|0:f;b=d;v[b+152>>2]=c;v[b+156>>2]=f;v[b+160>>2]=Y(n,24,v[b+160>>2]);v[b+120>>2]=1;b=v[b+136>>2];f=v[d+140>>2]-(b>>>0<1)|0;g=b-1|0;v[d+136>>2]=g;v[d+140>>2]=f;break q;case 1:v[d+120>>2]=2;f=f+v[d+148>>2]|0;c=g+v[d+144>>2]|0;f=c>>>0>>0?f+1|0:f;b=d;v[b+144>>2]=c;v[b+148>>2]=f;break;default:break r}}g=v[d+136>>2];f=v[d+140>>2]}if(g|f){continue}break}c=1}if((c|0)!=1){break b}v[d>>2]=7}n=v[d+128>>2];b=v[a+8>>2];j=v[d+16>>2];c=b-j|0;e=n+c|0;s:{if(!(e&3)){break s}i=v[a+4>>2];if(v[a+12>>2]==(b|0)){e=b;break g}e=b+1|0;v[a+8>>2]=e;c=7;if(w[b+i|0]){break b}g=e-j|0;k=g+n|0;t:{if(!(k&3)){break t}i=v[a+4>>2];if(v[a+12>>2]==(e|0)){break g}f=b+2|0;v[a+8>>2]=f;if(w[e+i|0]){break b}g=f-j|0;k=g+n|0;if(!(k&3)){b=f;break s}i=v[a+4>>2];if((f|0)==v[a+12>>2]){e=f;break g}e=b+3|0;v[a+8>>2]=e;if(w[f+i|0]){break b}g=e-j|0;k=g+n|0;if(!(k&3)){break t}if(v[a+12>>2]==(e|0)){i=v[a+4>>2];break g}v[a+8>>2]=b+4;break b}b=e}ba(d,v[a+4>>2],b);c=7;if(fa(x,d+144|0,24)){break b}v[d>>2]=8}b=v[a+8>>2];k=v[a+12>>2];u:{while(1){f=0;if((b|0)==(k|0)){break u}g=v[d+24>>2];e=v[d+28>>2];h=v[d+4>>2];c=b+1|0;v[a+8>>2]=c;l=w[v[a+4>>2]+b|0];b=h;j=b&31;f=7;if((l|0)!=(((b&63)>>>0>=32?e>>>j|0:((1<>>j)&255)){break u}e=h+8|0;v[d+4>>2]=e;b=c;if(e>>>0<32){continue}break}v[d+4>>2]=0;v[d+24>>2]=0;v[d+28>>2]=0;f=1}c=f;if((c|0)!=1){break b}v[d>>2]=9;v[d+172>>2]=12}c=0;f=v[a+8>>2];h=v[a+12>>2]-f|0;e=v[d+168>>2];b=v[d+172>>2]-e|0;b=b>>>0>h>>>0?h:b;W((d+e|0)+176|0,f+v[a+4>>2]|0,b);v[a+8>>2]=b+v[a+8>>2];b=b+v[d+168>>2]|0;e=(b|0)==v[d+172>>2];v[d+168>>2]=e?0:b;if(!e){break b}b=7;v:{if((w[d+186|0]|w[d+187|0]<<8)!=23129){break v}if((Y(d+180|0,6,0)|0)!=(w[d+176|0]|w[d+177|0]<<8|(w[d+178|0]<<16|w[d+179|0]<<24))){break v}e=v[d+132>>2];f=e>>>2|0;if(w[d+184|0]|((w[d+180|0]|w[d+181|0]<<8|(w[d+182|0]<<16|w[d+183|0]<<24))!=((e&3)<<30|v[d+128>>2]>>>2)|f)){break v}b=v[d+32>>2]==w[d+185|0]?1:7}c=b;break b}ba(d,i,e);c=0;break b}v[d+48>>2]=g;v[d+52>>2]=f;if((m|0)<=-1){h=v[d+4>>2];if(!h){v[d+8>>2]=0;v[d+12>>2]=0}k=b>>>0>q>>>0?b:q;while(1){if((b|0)==(k|0)){c=7;break b}m=w[(b+n|0)+8|0];b=b+1|0;v[d+168>>2]=b;f=d;g=v[d+12>>2];j=m&127;c=h;l=c&31;if((c&63)>>>0>=32){e=j<>>32-l;c=j<>2];c=e|g;l=c;v[f+8>>2]=o;v[f+12>>2]=c;w:{if(!(m&128)){if(!h|m){break w}c=7;break b}c=7;h=h+7|0;v[d+4>>2]=h;if((h|0)!=63){continue}break b}break}v[d+4>>2]=0}v[d+56>>2]=o;v[d+60>>2]=l;if(q-b>>>0<2){c=7;break b}c=b+1|0;v[d+168>>2]=c;if(w[(b+n|0)+8|0]!=33){c=6;break b}h=b+2|0;v[d+168>>2]=h;if(w[(c+n|0)+8|0]!=1){c=6;break b}c=7;if((h|0)==(q|0)){break b}v[d+168>>2]=b+3;f=v[d+1200>>2];e=6;b=w[(h+n|0)+8|0];x:{if(b>>>0>39){break x}h=(b&1|2)<<(b>>>1|0)+11;v[f+48>>2]=h;y:{z:{b=v[f+60>>2];if(!b){break z}e=4;if(h>>>0>y[f+52>>2]){break x}v[f+44>>2]=h;if((b|0)!=2){break z}c=f+56|0;if(h>>>0<=y[c>>2]){break z}X(v[f+24>>2]);b=Z(v[f+48>>2]);v[f+24>>2]=b;if(b){break z}e=3;break y}v[f+64>>2]=0;t[f+80|0]=1;v[f+104>>2]=0;c=f+28388|0;e=0}v[c>>2]=0}c=e;if(c){break b}b=v[d+168>>2];c=v[d+172>>2];h=b>>>0>c>>>0?b:c;A:{while(1){if((b|0)==(h|0)){break A}c=b+1|0;v[d+168>>2]=c;e=b+n|0;b=c;if(!w[e+8|0]){continue}break}c=6;break b}v[d+168>>2]=0;v[d+80>>2]=0;v[d+84>>2]=0;v[d+72>>2]=0;v[d+76>>2]=0;v[d>>2]=3}v[d+16>>2]=v[a+8>>2];v[d+20>>2]=v[a+20>>2];c=v[d+1200>>2];h=c+28392|0;o=c+120|0;r=c+28388|0;B:{while(1){f=v[c+64>>2];C:{D:{E:{F:{G:{H:{I:{J:{K:{L:{M:{N:{O:{P:{Q:{b=v[a+8>>2];e=v[a+12>>2];if(b>>>0>=e>>>0){if((f|0)==7){break Q}f=0;break B}switch(f|0){case 8:break H;case 6:break J;case 5:break K;case 4:break L;case 3:break M;case 2:break N;case 1:break O;case 0:break P;case 7:break Q;default:continue}}i=v[c+76>>2];break I}f=1;v[a+8>>2]=b+1;g=w[v[a+4>>2]+b|0];if(!g){break G}if(!((g|0)!=1?g>>>0<=223:0)){u[c+80>>1]=256;if(!v[c+60>>2]){b=v[a+20>>2];v[c+24>>2]=b+v[a+16>>2];v[c+44>>2]=v[a+24>>2]-b}v[c+28>>2]=0;v[c+32>>2]=0;v[c+36>>2]=0;v[c+40>>2]=0;break E}if(!w[c+80|0]){break E}f=7;break B}v[a+8>>2]=b+1;b=w[v[a+4>>2]+b|0];v[c+64>>2]=2;v[c+72>>2]=v[c+72>>2]+(b<<8);continue}v[a+8>>2]=b+1;b=w[v[a+4>>2]+b|0];v[c+64>>2]=3;v[c+72>>2]=(b+v[c+72>>2]|0)+1;continue}v[a+8>>2]=b+1;b=w[v[a+4>>2]+b|0];v[c+64>>2]=4;v[c+76>>2]=b<<8;continue}v[a+8>>2]=b+1;b=w[v[a+4>>2]+b|0];v[c+64>>2]=v[c+68>>2];v[c+76>>2]=(b+v[c+76>>2]|0)+1;continue}v[a+8>>2]=b+1;f=7;b=w[v[a+4>>2]+b|0];if(b>>>0>224){break G}i=0;e=c;if(b>>>0<45){j=0}else{b=b-45|0;g=((b&255)>>>0)/45|0;b=b-B(g,45)|0;j=g+1|0}v[e+116>>2]=-1<>>0>=9){b=b-9|0;e=((b&255)>>>0)/9|0;i=e+1|0;b=b-B(e,9)|0}v[c+112>>2]=i;b=b&255;v[c+108>>2]=b;if(b+i>>>0>4){break G}v[c+112>>2]=-1<>2]=0;v[c+92>>2]=0;v[c+96>>2]=0;v[c+84>>2]=0;v[c+88>>2]=0;while(1){e=b<<1;u[e+o>>1]=1024;u[(e|2)+o>>1]=1024;b=b+2|0;if((b|0)!=14134){continue}break}v[c+64>>2]=6;v[c+8>>2]=5;v[c>>2]=-1;v[c+4>>2]=0}k=v[c+76>>2];f=7;if(k>>>0<5){break B}i=v[c+8>>2];if(i){b=v[a+8>>2];g=v[a+12>>2];while(1){f=0;if((b|0)==(g|0)){break B}f=v[c+4>>2];e=b+1|0;v[a+8>>2]=e;b=w[v[a+4>>2]+b|0];i=i-1|0;v[c+8>>2]=i;v[c+4>>2]=b|f<<8;b=e;if(i){continue}break}}v[c+64>>2]=7;i=k-5|0;v[c+76>>2]=i}f=v[c+32>>2];e=v[a+24>>2]-v[a+20>>2]|0;b=v[c+72>>2];e=b>>>0>e>>>0?e:b;b=v[c+44>>2];v[c+40>>2]=e>>>0>>0?f+e|0:b;f=v[a+12>>2];e=v[a+8>>2];b=f-e|0;g=v[c+28388>>2];R:{S:{if(!g){if(i){break S}i=0}j=(g+r|0)+4|0;k=v[a+4>>2]+e|0;f=i-g|0;e=42-g|0;e=e>>>0>f>>>0?f:e;g=b>>>0>>0?b:e;W(j,k,g);b=v[c+28388>>2];e=b+g|0;T:{if((e|0)==v[c+76>>2]){_((g+(b+r|0)|0)+4|0,63-e|0);b=g+v[c+28388>>2]|0;break T}if(e>>>0<=20){v[c+28388>>2]=e;v[a+8>>2]=g+v[a+8>>2];break R}b=e-21|0}v[c+16>>2]=0;v[c+12>>2]=h;v[c+20>>2]=b;f=7;if(!da(c)){break G}b=v[c+28388>>2];e=b+g|0;g=v[c+16>>2];if(e>>>0>>0){break G}i=v[c+76>>2]-g|0;v[c+76>>2]=i;if(b>>>0>g>>>0){b=b-g|0;v[c+28388>>2]=b;e=h;i=(g+r|0)+4|0;U:{if((e|0)==(i|0)){break U}f=b+e|0;if(i-f>>>0<=0-(b<<1)>>>0){W(e,i,b);break U}g=(e^i)&3;V:{W:{if(e>>>0>>0){if(g){break V}if(!(e&3)){break W}while(1){if(!b){break U}t[e|0]=w[i|0];i=i+1|0;b=b-1|0;e=e+1|0;if(e&3){continue}break}break W}X:{if(g){break X}if(f&3){while(1){if(!b){break U}b=b-1|0;f=e+b|0;t[f|0]=w[b+i|0];if(f&3){continue}break}}if(b>>>0<=3){break X}while(1){b=b-4|0;v[e+b>>2]=v[b+i>>2];if(b>>>0>3){continue}break}}if(!b){break U}while(1){b=b-1|0;t[e+b|0]=w[b+i|0];if(b){continue}break}break U}if(b>>>0<=3){break V}while(1){v[e>>2]=v[i>>2];i=i+4|0;e=e+4|0;b=b-4|0;if(b>>>0>3){continue}break}}if(!b){break U}while(1){t[e|0]=w[i|0];e=e+1|0;i=i+1|0;b=b-1|0;if(b){continue}break}}break R}e=v[a+8>>2]+(g-b|0)|0;v[a+8>>2]=e;v[c+28388>>2]=0;f=v[a+12>>2];b=f-e|0}if(b>>>0>=21){g=v[a+4>>2];v[c+16>>2]=e;v[c+12>>2]=g;v[c+20>>2]=i+21>>>0>b>>>0?f-21|0:e+i|0;f=7;if(!da(c)){break G}g=v[c+76>>2];e=v[c+16>>2];b=e-v[a+8>>2]|0;if(g>>>0>>0){break G}i=g-b|0;v[c+76>>2]=i;v[a+8>>2]=e;b=v[a+12>>2]-e|0;if(b>>>0>20){break R}}b=b>>>0>i>>>0?i:b;W(h,v[a+4>>2]+e|0,b);v[c+28388>>2]=b;v[a+8>>2]=b+v[a+8>>2]}e=v[c+32>>2];f=v[c+28>>2];g=e-f|0;b=c;if(v[b+60>>2]){if((e|0)==v[c+44>>2]){v[c+32>>2]=0}W(v[a+16>>2]+v[a+20>>2]|0,f+v[c+24>>2]|0,g);e=v[c+32>>2]}v[b+28>>2]=e;e=g+v[a+20>>2]|0;v[a+20>>2]=e;b=v[c+72>>2]-g|0;v[c+72>>2]=b;if(!b){f=7;if(v[c+4>>2]|(v[c+76>>2]|v[c+104>>2])){break G}v[c+64>>2]=0;break D}f=0;if((e|0)==v[a+24>>2]){break G}if(v[a+8>>2]!=v[a+12>>2]|y[c+28388>>2]>=y[c+76>>2]){continue}break G}i=v[c+76>>2];if(!i){break F}f=0;if(b>>>0>=e>>>0){break G}while(1){m=v[a+24>>2];l=v[a+20>>2];if(m>>>0<=l>>>0){break G}j=v[c+32>>2];k=v[c+44>>2]-j|0;g=e-b|0;e=m-l|0;e=e>>>0>g>>>0?g:e;e=e>>>0>k>>>0?k:e;g=e>>>0>i>>>0?i:e;v[c+76>>2]=i-g;W(v[c+24>>2]+j|0,v[a+4>>2]+b|0,g);e=g+v[c+32>>2]|0;v[c+32>>2]=e;if(e>>>0>y[c+36>>2]){v[c+36>>2]=e}b=c;if(v[b+60>>2]){if((e|0)==v[c+44>>2]){v[c+32>>2]=0}W(v[a+16>>2]+v[a+20>>2]|0,v[a+4>>2]+v[a+8>>2]|0,g);e=v[c+32>>2]}v[b+28>>2]=e;v[a+20>>2]=g+v[a+20>>2];b=g+v[a+8>>2]|0;v[a+8>>2]=b;i=v[c+76>>2];if(!i){break F}e=v[a+12>>2];if(e>>>0>b>>>0){continue}break}}break B}v[c+64>>2]=0;continue}if(g<<24>>24>-1){break C}v[c+64>>2]=1;v[c+72>>2]=g<<16&2031616;if(g>>>0>=192){v[c+68>>2]=5;t[c+81|0]=0;continue}f=7;if(w[c+81|0]){break B}v[c+68>>2]=6;if(g>>>0<160){continue}v[c+84>>2]=0;v[c+88>>2]=0;b=0;v[c+100>>2]=0;v[c+92>>2]=0;v[c+96>>2]=0;while(1){e=b<<1;u[e+o>>1]=1024;u[(e|2)+o>>1]=1024;b=b+2|0;if((b|0)!=14134){continue}break}}v[c+8>>2]=5;v[c>>2]=-1;v[c+4>>2]=0;continue}if(g>>>0<=2){v[c+64>>2]=3;v[c+68>>2]=8;continue}break}f=7}c=f;b=d;e=v[b+76>>2];h=v[a+8>>2]-v[b+16>>2]|0;f=h+v[b+72>>2]|0;k=f;e=f>>>0>>0?e+1|0:e;h=e;v[b+72>>2]=f;v[b+76>>2]=e;l=v[b+20>>2];j=v[a+20>>2]-l|0;b=j;g=b+v[d+80>>2]|0;f=v[d+84>>2];f=b>>>0>g>>>0?f+1|0:f;v[d+80>>2]=g;b=f;v[d+84>>2]=b;e=v[d+52>>2];if((h|0)==(e|0)&k>>>0>y[d+48>>2]|e>>>0>>0){c=7;break b}e=v[d+60>>2];if((b|0)==(e|0)&g>>>0>y[d+56>>2]|b>>>0>e>>>0){c=7;break b}k=d;Y:{Z:{_:{switch(v[d+32>>2]-1|0){case 0:e=Y(l+v[a+16>>2]|0,j,v[d+24>>2]);b=0;break Z;case 3:break _;default:break Y}}h=l+v[a+16>>2]|0;g=v[d+24>>2]^-1;f=v[d+28>>2]^-1;$:{if(!j){break $}if(j&1){e=((w[h|0]^g&255)<<3)+2064|0;b=v[e>>2];l=v[e+4>>2];e=b;b=f;f=b>>>8|0;g=e^((b&255)<<24|g>>>8);f=f^l;h=h+1|0;e=j-1|0}else{e=j}if((j|0)==1){break $}while(1){j=((w[h|0]^g&255)<<3)+2064|0;b=v[j>>2];m=v[j+4>>2];j=b;b=f;f=b>>>8|0;l=j^((b&255)<<24|g>>>8);g=((w[h+1|0]^l&255)<<3)+2064|0;b=v[g>>2];j=v[g+4>>2];g=f^m;f=g>>>8|0;g=((g&255)<<24|l>>>8)^b;f=f^j;h=h+2|0;e=e-2|0;if(e){continue}break}}e=g^-1;b=f^-1}v[k+24>>2]=e;v[k+28>>2]=b}if((c|0)!=1){break b}e=v[d+52>>2];c=e;b=v[d+48>>2];if(!((b|0)==-1&(c|0)==-1|v[d+72>>2]==(b|0)&v[d+76>>2]==(c|0))){c=7;break b}c=v[d+60>>2];e=c;b=v[d+56>>2];if((b|0)!=-1|(c|0)!=-1){c=7;if(v[d+80>>2]!=(b|0)|v[d+84>>2]!=(e|0)){break b}}c=v[d+100>>2];b=v[d+64>>2];e=b+v[d+72>>2]|0;f=v[d+76>>2];f=b>>>0>e>>>0?f+1|0:f;b=e;g=b+v[d+96>>2]|0;e=c+f|0;c=g;e=b>>>0>c>>>0?e+1|0:e;b=e;v[d+96>>2]=c;v[d+100>>2]=b;g=4;aa:{switch(v[d+32>>2]-1|0){case 3:g=8;case 0:h=c+g|0;f=h>>>0>>0?b+1|0:b;e=x;v[e>>2]=h;v[e+4>>2]=f;break;default:break aa}}e=v[d+108>>2]+v[d+84>>2]|0;c=v[d+80>>2];h=c+v[d+104>>2]|0;v[d+104>>2]=h;v[d+108>>2]=c>>>0>h>>>0?e+1|0:e;v[d+112>>2]=Y(x,24,v[d+112>>2]);v[d>>2]=4;f=v[d+92>>2];c=v[d+88>>2]+1|0;f=c>>>0<1?f+1|0:f;b=d;v[b+88>>2]=c;v[b+92>>2]=f}b=v[d+76>>2];l=v[d+72>>2];ba:{if(!(l&3)){break ba}c=0;m=v[a+8>>2];j=v[a+12>>2];if((m|0)==(j|0)){break b}g=m+1|0;v[a+8>>2]=g;if(w[m+v[a+4>>2]|0]){c=7;break b}h=l+1|0;f=h>>>0<1?b+1|0:b;v[d+72>>2]=h;v[d+76>>2]=f;if(!(h&3)){break ba}if((g|0)==(j|0)){break b}k=m+2|0;v[a+8>>2]=k;if(w[g+v[a+4>>2]|0]){c=7;break b}f=l+2|0;e=f>>>0<2?b+1|0:b;h=d;v[d+72>>2]=f;v[d+76>>2]=e;if(!(f&3)){break ba}if((j|0)==(k|0)){break b}g=m+3|0;v[a+8>>2]=g;if(w[k+v[a+4>>2]|0]){c=7;break b}f=l+3|0;e=f>>>0<3?b+1|0:b;v[d+72>>2]=f;v[h+76>>2]=e;if(!(f&3)){break ba}if((g|0)==(j|0)){break b}v[a+8>>2]=m+4;c=7;if(w[g+v[a+4>>2]|0]){break b}f=b;b=l+4|0;f=b>>>0<4?f+1|0:f;v[d+72>>2]=b;v[d+76>>2]=f}v[d>>2]=5}h=1;ca:{da:{ea:{switch(v[d+32>>2]-1|0){case 0:b=v[a+8>>2];k=v[a+12>>2];while(1){if((b|0)==(k|0)){c=0;break b}g=v[d+24>>2];e=v[d+28>>2];f=v[d+4>>2];c=b+1|0;v[a+8>>2]=c;l=w[v[a+4>>2]+b|0];b=f;j=b&31;if((l|0)!=(((b&63)>>>0>=32?e>>>j|0:((1<>>j)&255)){c=7;break b}e=f+8|0;v[d+4>>2]=e;b=c;if(e>>>0<32){continue}break};break da;case 3:break ea;default:break ca}}b=v[a+8>>2];k=v[a+12>>2];while(1){if((b|0)==(k|0)){c=0;break b}g=v[d+24>>2];e=v[d+28>>2];f=v[d+4>>2];c=b+1|0;v[a+8>>2]=c;l=w[v[a+4>>2]+b|0];b=f;j=b&31;if((l|0)!=(((b&63)>>>0>=32?e>>>j|0:((1<>>j)&255)){c=7;break b}e=f+8|0;v[d+4>>2]=e;b=c;if(e>>>0<64){continue}break}}v[d+4>>2]=0;v[d+24>>2]=0;v[d+28>>2]=0}v[d>>2]=1;continue}break}fa:{if(!v[d+36>>2]){ga:{switch(c|0){case 0:c=v[a+8>>2]==v[a+12>>2]?7:8;break;case 1:break fa;default:break ga}}v[a+20>>2]=z;v[a+8>>2]=s;break fa}if(!(v[a+8>>2]!=(s|0)|c|v[a+20>>2]!=(z|0))){a=w[d+40|0];t[d+40|0]=1;c=a<<3;break fa}t[d+40|0]=0}return c|0}function da(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=v[a+32>>2];b=v[a+40>>2];a:{if(j>>>0>=b>>>0){break a}c=v[a+104>>2];if(!c){break a}d=v[a+84>>2];if(d>>>0>=y[a+36>>2]|d>>>0>=y[a+48>>2]){break a}b=b-j|0;g=b>>>0>>0?b:c;v[a+104>>2]=c-g;e=(d^-1)+j|0;e=d>>>0>=j>>>0?v[a+44>>2]+e|0:e;d=v[a+24>>2];b=w[e+d|0];v[a+32>>2]=j+1;t[d+j|0]=b;h=g-1|0;b:{if(!h){break b}if(h&1){b=e+1|0;e=(b|0)==v[a+44>>2]?0:b;c=v[a+24>>2];d=w[e+c|0];b=v[a+32>>2];v[a+32>>2]=b+1;t[b+c|0]=d;h=g-2|0}if((g|0)==2){break b}while(1){g=v[a+24>>2];b=e+1|0;c=(b|0)==v[a+44>>2]?0:b;d=w[g+c|0];b=v[a+32>>2];v[a+32>>2]=b+1;t[b+g|0]=d;b=c+1|0;e=(b|0)==v[a+44>>2]?0:b;c=v[a+24>>2];d=w[e+c|0];b=v[a+32>>2];v[a+32>>2]=b+1;t[b+c|0]=d;h=h-2|0;if(h){continue}break}}j=v[a+32>>2];if(j>>>0<=y[a+36>>2]){break a}v[a+36>>2]=j}c:{d:{if(y[a+40>>2]<=j>>>0){break d}n=a+1756|0;o=a+2784|0;p=a+84|0;while(1){d=v[a+16>>2];if(d>>>0>y[a+20>>2]){break d}m=v[a+100>>2];i=v[a+116>>2]&j;k=((m<<5)+a|0)+(i<<1)|0;g=k;f=v[a>>2];e:{if(f>>>0>=16777216){e=v[a+4>>2];break e}f=f<<8;v[a>>2]=f;b=d+1|0;v[a+16>>2]=b;e=w[v[a+12>>2]+d|0]|v[a+4>>2]<<8;v[a+4>>2]=e;d=b}b=x[g+120>>1];c=B(b,f>>>11|0);f:{if(e>>>0>>0){v[a>>2]=c;u[g+120>>1]=b+(2048-b>>>5|0);f=j-1|0;f=j?f:v[a+44>>2]+f|0;i=v[a+108>>2];g=v[a+36>>2];l=((v[a+112>>2]&j)<>2]+f|0]:0)>>>8-i|0)|0;f=1;g:{if(m>>>0<=6){while(1){f=f<<1;g=(f+(B(l,1536)+a|0)|0)+3812|0;h:{if(c>>>0>16777215){b=c;break h}b=c<<8;v[a>>2]=b;c=d+1|0;v[a+16>>2]=c;e=w[v[a+12>>2]+d|0]|e<<8;v[a+4>>2]=e;d=c}i=x[g>>1];c=B(i,b>>>11|0);i:{if(e>>>0>=c>>>0){e=e-c|0;v[a+4>>2]=e;c=b-c|0;v[a>>2]=c;u[g>>1]=i-(i>>>5|0);f=f|1;break i}v[a>>2]=c;u[g>>1]=i+(2048-i>>>5|0)}if(f>>>0<256){continue}break g}}b=v[a+84>>2];f=(b^-1)+j|0;f=b>>>0>=j>>>0?v[a+44>>2]+f|0:f;g=g?w[v[a+24>>2]+f|0]:0;f=1;h=256;while(1){g=g<<1;m=h&g;i=((B(l,1536)+a|0)+((m+h|0)+f<<1)|0)+3812|0;j:{if(c>>>0>16777215){k=c;break j}k=c<<8;v[a>>2]=k;b=d+1|0;v[a+16>>2]=b;e=w[v[a+12>>2]+d|0]|e<<8;v[a+4>>2]=e;d=b}b=i;q=b;b=x[b>>1];c=B(b,k>>>11|0);i=e>>>0>=c>>>0;k:{if(!i){v[a>>2]=c;b=b+(2048-b>>>5|0)|0;break k}e=e-c|0;v[a+4>>2]=e;c=k-c|0;v[a>>2]=c;h=0;b=b-(b>>>5|0)|0}u[q>>1]=b;h=h^m;f=i|f<<1;if(f>>>0<256){continue}break}}v[a+32>>2]=j+1;t[v[a+24>>2]+j|0]=f;j=v[a+32>>2];if(j>>>0>y[a+36>>2]){v[a+36>>2]=j}b=a;d=v[a+100>>2];if(d>>>0>=4){if(d>>>0<=9){v[a+100>>2]=d-3;break f}c=d-6|0}else{c=0}v[b+100>>2]=c;break f}e=e-c|0;v[a+4>>2]=e;c=f-c|0;v[a>>2]=c;u[g+120>>1]=b-(b>>>5|0);l=(m<<1)+a|0;g=l;l:{if(c>>>0>16777215){b=d;break l}c=c<<8;v[a>>2]=c;b=d+1|0;v[a+16>>2]=b;e=w[v[a+12>>2]+d|0]|e<<8;v[a+4>>2]=e}m=x[g+504>>1];d=B(m,c>>>11|0);m:{if(d>>>0<=e>>>0){e=e-d|0;v[a+4>>2]=e;c=c-d|0;v[a>>2]=c;u[g+504>>1]=m-(m>>>5|0);n:{if(c>>>0>16777215){g=b;break n}c=c<<8;v[a>>2]=c;g=b+1|0;v[a+16>>2]=g;e=w[v[a+12>>2]+b|0]|e<<8;v[a+4>>2]=e}b=x[l+528>>1];f=B(b,c>>>11|0);o:{if(f>>>0>e>>>0){u[l+528>>1]=b+(2048-b>>>5|0);if(f>>>0<=16777215){f=f<<8;v[a>>2]=f;v[a+16>>2]=g+1;e=w[v[a+12>>2]+g|0]|e<<8;v[a+4>>2]=e}d=x[k+600>>1];b=B(d,f>>>11|0);if(b>>>0<=e>>>0){v[a+4>>2]=e-b;v[a>>2]=f-b;u[k+600>>1]=d-(d>>>5|0);break o}v[a>>2]=b;u[k+600>>1]=d+(2048-d>>>5|0);v[a+104>>2]=1;v[a+100>>2]=y[a+100>>2]<7?9:11;break m}e=e-f|0;v[a+4>>2]=e;u[l+528>>1]=b-(b>>>5|0);c=c-f|0;p:{if(c>>>0>16777215){b=g;break p}c=c<<8;v[a>>2]=c;b=g+1|0;v[a+16>>2]=b;e=w[v[a+12>>2]+g|0]|e<<8;v[a+4>>2]=e}g=x[l+552>>1];d=B(g,c>>>11|0);q:{if(d>>>0>e>>>0){v[a>>2]=d;u[l+552>>1]=g+(2048-g>>>5|0);c=v[a+88>>2];break q}e=e-d|0;v[a+4>>2]=e;u[l+552>>1]=g-(g>>>5|0);c=c-d|0;if(c>>>0<=16777215){c=c<<8;v[a>>2]=c;v[a+16>>2]=b+1;e=w[v[a+12>>2]+b|0]|e<<8;v[a+4>>2]=e}d=x[l+576>>1];b=B(d,c>>>11|0);r:{if(b>>>0>e>>>0){v[a>>2]=b;u[l+576>>1]=d+(2048-d>>>5|0);c=v[a+92>>2];break r}v[a+4>>2]=e-b;v[a>>2]=c-b;u[l+576>>1]=d-(d>>>5|0);c=v[a+96>>2];v[a+96>>2]=v[a+92>>2]}v[a+92>>2]=v[a+88>>2]}v[a+88>>2]=v[a+84>>2];v[a+84>>2]=c}v[a+100>>2]=y[a+100>>2]<7?8:11;ca(a,o,i);break m}v[a>>2]=d;u[g+504>>1]=m+(2048-m>>>5|0);v[a+96>>2]=v[a+92>>2];b=v[a+88>>2];v[a+88>>2]=v[a+84>>2];v[a+92>>2]=b;v[a+100>>2]=y[a+100>>2]<7?7:10;ca(a,n,i);b=v[a+104>>2];d=b>>>0<6?b-2|0:3;c=v[a>>2];e=1;while(1){e=e<<1;g=e+((d<<7)+a|0)|0;s:{if(c>>>0>=16777216){f=v[a+4>>2];break s}c=c<<8;v[a>>2]=c;b=v[a+16>>2];v[a+16>>2]=b+1;f=w[b+v[a+12>>2]|0]|v[a+4>>2]<<8;v[a+4>>2]=f}i=x[g+984>>1];b=B(i,c>>>11|0);t:{if(b>>>0<=f>>>0){f=f-b|0;v[a+4>>2]=f;c=c-b|0;v[a>>2]=c;u[g+984>>1]=i-(i>>>5|0);e=e|1;break t}v[a>>2]=b;u[g+984>>1]=i+(2048-i>>>5|0);c=b}if(e>>>0<64){continue}break}d=e+-64|0;if(d>>>0<=3){v[a+84>>2]=d;break m}h=e&1|2;v[a+84>>2]=h;b=d>>>1|0;if(d>>>0<=13){i=b-1|0;k=h<>2]=k;h=1;g=(((k<<1)+p|0)+(0-e<<1)|0)+1538|0;l=0;while(1){h=h<<1;m=g+h|0;u:{if(c>>>0>16777215){b=c;break u}b=c<<8;v[a>>2]=b;d=v[a+16>>2];v[a+16>>2]=d+1;f=w[d+v[a+12>>2]|0]|f<<8;v[a+4>>2]=f}d=x[m>>1];c=B(d,b>>>11|0);v:{if(f>>>0>=c>>>0){f=f-c|0;v[a+4>>2]=f;c=b-c|0;v[a>>2]=c;u[m>>1]=d-(d>>>5|0);k=(1<>2]=k;h=h|1;break v}v[a>>2]=c;u[m>>1]=d+(2048-d>>>5|0)}l=l+1|0;if((i|0)!=(l|0)){continue}break}break m}e=b-5|0;while(1){w:{if(c>>>0>16777215){d=c;break w}d=c<<8;v[a>>2]=d;b=v[a+16>>2];v[a+16>>2]=b+1;f=w[b+v[a+12>>2]|0]|f<<8}c=d>>>1|0;v[a>>2]=c;g=f-c|0;b=g>>31;h=b+(h<<1|1)|0;v[a+84>>2]=h;f=g+(b&c)|0;v[a+4>>2]=f;e=e-1|0;if(e){continue}break}h=h<<4;v[a+84>>2]=h;if(d>>>0<=33554431){c=c<<8;v[a>>2]=c;b=v[a+16>>2];v[a+16>>2]=b+1;f=w[b+v[a+12>>2]|0]|f<<8;v[a+4>>2]=f}b=a;d=x[a+1726>>1];e=B(d,c>>>11|0);x:{if(f>>>0>=e>>>0){f=f-e|0;v[a+4>>2]=f;h=h|1;v[a+84>>2]=h;u[a+1726>>1]=d-(d>>>5|0);e=c-e|0;c=3;break x}u[a+1726>>1]=d+(2048-d>>>5|0);c=2}d=c<<1;g=(b+d|0)+1724|0;if(e>>>0<=16777215){e=e<<8;v[a>>2]=e;b=v[a+16>>2];v[a+16>>2]=b+1;f=w[b+v[a+12>>2]|0]|f<<8;v[a+4>>2]=f}b=x[g>>1];c=B(b,e>>>11|0);y:{if(f>>>0>=c>>>0){f=f-c|0;v[a+4>>2]=f;u[g>>1]=b-(b>>>5|0);h=h+2|0;v[a+84>>2]=h;c=e-c|0;d=d|1;break y}u[g>>1]=b+(2048-b>>>5|0)}d=d<<1;g=(d+a|0)+1724|0;if(c>>>0<=16777215){c=c<<8;v[a>>2]=c;b=v[a+16>>2];v[a+16>>2]=b+1;f=w[b+v[a+12>>2]|0]|f<<8;v[a+4>>2]=f}b=x[g>>1];e=B(b,c>>>11|0);z:{if(f>>>0>=e>>>0){f=f-e|0;v[a+4>>2]=f;u[g>>1]=b-(b>>>5|0);h=h+4|0;v[a+84>>2]=h;e=c-e|0;d=d|1;break z}u[g>>1]=b+(2048-b>>>5|0)}if(e>>>0<=16777215){e=e<<8;v[a>>2]=e;b=v[a+16>>2];v[a+16>>2]=b+1;f=w[b+v[a+12>>2]|0]|f<<8;v[a+4>>2]=f}b=((d<<1)+a|0)+1724|0;c=x[b>>1];d=B(c,e>>>11|0);if(d>>>0<=f>>>0){v[a+4>>2]=f-d;v[a>>2]=e-d;u[b>>1]=c-(c>>>5|0);v[a+84>>2]=h+8;break m}v[a>>2]=d;u[b>>1]=c+(2048-c>>>5|0)}c=0;g=v[a+84>>2];if(g>>>0>=y[a+36>>2]|g>>>0>=y[a+48>>2]){break c}k=v[a+32>>2];b=v[a+40>>2]-k|0;d=v[a+104>>2];i=b>>>0>>0?b:d;v[a+104>>2]=d-i;c=k+(g^-1)|0;c=g>>>0>=k>>>0?v[a+44>>2]+c|0:c;d=v[a+24>>2];b=w[c+d|0];v[a+32>>2]=k+1;t[d+k|0]=b;f=i-1|0;A:{if(!f){break A}if(f&1){b=c+1|0;c=(b|0)==v[a+44>>2]?0:b;g=v[a+24>>2];d=w[c+g|0];b=v[a+32>>2];v[a+32>>2]=b+1;t[b+g|0]=d;f=i-2|0}if((i|0)==2){break A}while(1){g=v[a+24>>2];b=c+1|0;c=(b|0)==v[a+44>>2]?0:b;d=w[g+c|0];b=v[a+32>>2];v[a+32>>2]=b+1;t[b+g|0]=d;b=c+1|0;c=(b|0)==v[a+44>>2]?0:b;g=v[a+24>>2];d=w[c+g|0];b=v[a+32>>2];v[a+32>>2]=b+1;t[b+g|0]=d;f=f-2|0;if(f){continue}break}}j=v[a+32>>2];if(j>>>0<=y[a+36>>2]){break f}v[a+36>>2]=j}if(y[a+40>>2]>j>>>0){continue}break}}c=1;b=v[a>>2];if(b>>>0>16777215){break c}v[a>>2]=b<<8;b=v[a+16>>2];v[a+16>>2]=b+1;v[a+4>>2]=w[b+v[a+12>>2]|0]|v[a+4>>2]<<8}return c}function Z(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=8;a:{b:{if(a>>>0>4294967239){break b}while(1){k=k>>>0>8?k:8;g=v[1291];f=g;c=v[1290];b=c;a=a>>>0>8?a+3&-4:8;c:{if(a>>>0<=127){i=(a>>>3|0)-1|0;break c}d=E(a);i=((a>>>29-d^4)-(d<<2)|0)+110|0;if(a>>>0<=4095){break c}d=((a>>>30-d^2)-(d<<1)|0)+71|0;i=d>>>0<63?d:63}d=i;j=d&31;if((d&63)>>>0>=32){e=0;b=g>>>j|0}else{e=g>>>j|0;b=((1<>>j}d=e;if(b|e){while(1){g=b;e=d;d:{if(e|b){c=e-1|0;j=b-1|0;c=(j|0)!=-1?c+1|0:c;e=E(c^e);b=(e|0)==32?E(b^j)+32|0:e;e=63-b|0;Q=0-(b>>>0>63)|0;break d}Q=0;e=64}b=e;c=b&31;if((b&63)>>>0>=32){e=0;d=d>>>c|0}else{e=d>>>c|0;d=((1<>>c}l=d;d=e;i=b+i|0;g=i<<4;c=v[g+4136>>2];b=g+4128|0;e:{if((c|0)!=(b|0)){f=$(c,k,a);if(f){break b}e=v[c+4>>2];v[e+8>>2]=v[c+8>>2];v[v[c+8>>2]+4>>2]=e;v[c+8>>2]=b;e=g+4132|0;v[c+4>>2]=v[e>>2];v[e>>2]=c;v[v[c+4>>2]+8>>2]=c;i=i+1|0;b=(d&1)<<31|l>>>1;d=d>>>1|0;break e}j=v[1291];b=i;c=b&63;f=c&31;if(c>>>0>=32){g=0;e=-1>>>f|0}else{g=-1>>>f|0;e=(1<>>f}e=e&-2;f=c&31;if(c>>>0>=32){g=e<>>32-f|g<>>0>=32){g=-1<>>32-h|-1<>>0>=32){f=0;b=g>>>h|0}else{f=g>>>h|0;b=((1<>>h}b=b|c;Q=e|f;v[1290]=v[1290]&b;v[1291]=Q&j;b=l^1}if(b|d){continue}break}f=v[1291];c=v[1290]}f:{if(c|f){d=E(f);d=63-((d|0)==32?E(c)+32|0:d)<<4;g=d+4128|0;b=v[d+4136>>2];g:{if(!f&c>>>0<1073741824){break g}d=98;if((b|0)==(g|0)){break g}while(1){f=$(b,k,a);if(f){break b}b=v[b+8>>2];if((g|0)==(b|0)){break g}e=d;d=d-1|0;if(e){continue}break}}if(aa(a+48|0)){break f}if(!b|(b|0)==(g|0)){break a}while(1){f=$(b,k,a);if(f){break b}b=v[b+8>>2];if((g|0)!=(b|0)){continue}break}break a}if(!aa(a+48|0)){break a}}f=0;if(k-1&k){break b}if(a>>>0<=4294967239){continue}break}}return f}return 0}function W(a,b,c){var d=0,e=0;if(c>>>0>=512){O(a|0,b|0,c|0)|0;return}d=a+c|0;a:{if(!((a^b)&3)){b:{if(!(a&3)){c=a;break b}if((c|0)<1){c=a;break b}c=a;while(1){t[c|0]=w[b|0];b=b+1|0;c=c+1|0;if(!(c&3)){break b}if(c>>>0>>0){continue}break}}a=d&-4;c:{if(a>>>0<64){break c}e=a+-64|0;if(e>>>0>>0){break c}while(1){v[c>>2]=v[b>>2];v[c+4>>2]=v[b+4>>2];v[c+8>>2]=v[b+8>>2];v[c+12>>2]=v[b+12>>2];v[c+16>>2]=v[b+16>>2];v[c+20>>2]=v[b+20>>2];v[c+24>>2]=v[b+24>>2];v[c+28>>2]=v[b+28>>2];v[c+32>>2]=v[b+32>>2];v[c+36>>2]=v[b+36>>2];v[c+40>>2]=v[b+40>>2];v[c+44>>2]=v[b+44>>2];v[c+48>>2]=v[b+48>>2];v[c+52>>2]=v[b+52>>2];v[c+56>>2]=v[b+56>>2];v[c+60>>2]=v[b+60>>2];b=b- -64|0;c=c- -64|0;if(e>>>0>=c>>>0){continue}break}}if(a>>>0<=c>>>0){break a}while(1){v[c>>2]=v[b>>2];b=b+4|0;c=c+4|0;if(a>>>0>c>>>0){continue}break}break a}if(d>>>0<4){c=a;break a}e=d-4|0;if(e>>>0>>0){c=a;break a}c=a;while(1){t[c|0]=w[b|0];t[c+1|0]=w[b+1|0];t[c+2|0]=w[b+2|0];t[c+3|0]=w[b+3|0];b=b+4|0;c=c+4|0;if(e>>>0>=c>>>0){continue}break}}if(c>>>0>>0){while(1){t[c|0]=w[b|0];b=b+1|0;c=c+1|0;if((d|0)!=(c|0)){continue}break}}}function ca(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=v[a>>2];a:{if(g>>>0>=16777216){f=v[a+4>>2];break a}g=g<<8;v[a>>2]=g;d=v[a+16>>2];v[a+16>>2]=d+1;f=w[d+v[a+12>>2]|0]|v[a+4>>2]<<8;v[a+4>>2]=f}d=x[b>>1];e=B(d,g>>>11|0);b:{if(f>>>0>>0){u[b>>1]=d+(2048-d>>>5|0);j=((c<<4)+b|0)+4|0;i=2;d=8;break b}f=f-e|0;v[a+4>>2]=f;u[b>>1]=d-(d>>>5|0);g=g-e|0;if(g>>>0<=16777215){g=g<<8;v[a>>2]=g;d=v[a+16>>2];v[a+16>>2]=d+1;f=w[d+v[a+12>>2]|0]|f<<8;v[a+4>>2]=f}d=x[b+2>>1];e=B(d,g>>>11|0);if(f>>>0>>0){u[b+2>>1]=d+(2048-d>>>5|0);j=((c<<4)+b|0)+260|0;i=10;d=8;break b}f=f-e|0;v[a+4>>2]=f;u[b+2>>1]=d-(d>>>5|0);j=b+516|0;e=g-e|0;i=18;d=256}v[a+104>>2]=i;b=1;while(1){b=b<<1;g=j+b|0;c:{if(e>>>0>16777215){c=e;break c}c=e<<8;v[a>>2]=c;e=v[a+16>>2];v[a+16>>2]=e+1;f=w[e+v[a+12>>2]|0]|f<<8;v[a+4>>2]=f}h=x[g>>1];e=B(h,c>>>11|0);d:{if(f>>>0>=e>>>0){f=f-e|0;v[a+4>>2]=f;e=c-e|0;v[a>>2]=e;u[g>>1]=h-(h>>>5|0);b=b|1;break d}v[a>>2]=e;u[g>>1]=(2048-h>>>5|0)+h}if(b>>>0>>0){continue}break}v[a+104>>2]=(b-d|0)+i}function aa(a){var b=0,c=0,d=0,e=0,f=0,g=0;d=v[258];c=a+3&-4;b=d+c|0;a:{b:{if(b>>>0<=d>>>0?c:0){break b}if(b>>>0>S()<<16>>>0){if(!(P(b|0)|0)){break b}}v[258]=b;break a}v[1292]=48;d=-1}if((d|0)!=-1){c=a+d|0;b=c-16|0;v[b+12>>2]=16;v[b>>2]=16;a=v[1288];if(a){g=v[a+8>>2]}else{g=0}c:{d:{if((g|0)==(d|0)){e=d-(v[d-4>>2]&-2)|0;f=v[e-4>>2];v[a+8>>2]=c;a=e-(f&-2)|0;c=-16;if(!(t[(a+v[a>>2]|0)-4|0]&1)){break d}c=v[a+4>>2];v[c+8>>2]=v[a+8>>2];v[v[a+8>>2]+4>>2]=c;b=b-a|0;v[a>>2]=b;break c}v[d+12>>2]=16;v[d>>2]=16;v[d+8>>2]=c;v[d+4>>2]=a;v[1288]=d;c=16}a=d+c|0;b=b-a|0;v[a>>2]=b}v[((b&-4)+a|0)-4>>2]=b|1;g=a;e=v[a>>2]-8|0;e:{if(e>>>0<=127){b=(e>>>3|0)-1|0;break e}f=E(e);b=((e>>>29-f^4)-(f<<2)|0)+110|0;if(e>>>0<=4095){break e}b=((e>>>30-f^2)-(f<<1)|0)+71|0;b=b>>>0<63?b:63}c=b<<4;v[g+4>>2]=c+4128;c=c+4136|0;v[a+8>>2]=v[c>>2];v[c>>2]=a;v[v[a+8>>2]+4>>2]=a;c=v[1291];a=b&31;if((b&63)>>>0>=32){b=1<>>32-a;a=1<>>1|0;a=(a&1)<<31|h>>>1;c=a&1;d=0-c&-679014590;f=h&1;e=0-f&-679014590;b=b^0-((f|0)!=0)&-915646571;f=a^e;a=b>>>1|0;b=(b&1)<<31|f>>>1;a=a^0-((c|0)!=0)&-915646571;c=b^d;d=a>>>1|0;a=(a&1)<<31|c>>>1;c=a&1;b=b&1;e=0-b&-679014590;b=d^0-((b|0)!=0)&-915646571;d=a^e;a=b>>>1|0;b=(b&1)<<31|d>>>1;d=0-c&-679014590^b;c=a^0-((c|0)!=0)&-915646571;a=c>>>1|0;c=(c&1)<<31|d>>>1;d=c&1;f=0-d&-679014590;b=b&1;e=0-b&-679014590;a=a^0-((b|0)!=0)&-915646571;b=c^e;b=(a&1)<<31|b>>>1;c=0-((d|0)!=0)&-915646571^a>>>1;d=b^f;a=c>>>1|0;e=(i<<3)+2064|0;c=(c&1)<<31|d>>>1;d=c&1;b=b&1;c=c^0-b&-679014590;a=a^0-((b|0)!=0)&-915646571;b=a>>>1|0;v[e>>2]=0-d&-679014590^((a&1)<<31|c>>>1);v[e+4>>2]=b^0-((d|0)!=0)&-915646571;i=i+1|0;a=g;g=h+1|0;a=g>>>0<1?a+1|0:a;h=g;g=a;if((h|0)!=256|a){continue}break}}function $(a,b,c){var d=0,e=0,f=0,g=0;d=a+4|0;e=(d+b|0)-1&0-b;b=v[a>>2];if(e+c>>>0<=(b+a|0)-4>>>0){f=v[a+4>>2];v[f+8>>2]=v[a+8>>2];v[v[a+8>>2]+4>>2]=f;if((d|0)!=(e|0)){e=e-d|0;f=a-(v[a-4>>2]&-2)|0;d=e+v[f>>2]|0;v[f>>2]=d;v[(f+(d&-4)|0)-4>>2]=d;a=a+e|0;b=b-e|0;v[a>>2]=b}a:{if(c+24>>>0<=b>>>0){d=(a+c|0)+8|0;b=(b-c|0)-8|0;v[d>>2]=b;v[(d+(b&-4)|0)-4>>2]=b|1;g=d;f=v[d>>2]-8|0;b:{if(f>>>0<=127){e=(f>>>3|0)-1|0;break b}b=E(f);e=((f>>>29-b^4)-(b<<2)|0)+110|0;if(f>>>0<=4095){break b}b=((f>>>30-b^2)-(b<<1)|0)+71|0;e=b>>>0<63?b:63}b=e;e=b<<4;v[g+4>>2]=e+4128;e=e+4136|0;v[d+8>>2]=v[e>>2];v[e>>2]=d;v[v[d+8>>2]+4>>2]=d;e=v[1291];d=b&31;if((b&63)>>>0>=32){b=1<>>32-d;g=1<>2]=b;v[((b&-4)+a|0)-4>>2]=b;break a}v[(a+b|0)-4>>2]=b}a=a+4|0}else{a=0}return a}function X(a){var b=0,c=0,d=0,e=0,f=0;if(a){c=a-4|0;e=v[c>>2];d=e;b=c;f=v[a-8>>2];a=f&-2;if((a|0)!=(f|0)){b=c-a|0;d=v[b+4>>2];v[d+8>>2]=v[b+8>>2];v[v[b+8>>2]+4>>2]=d;d=a+e|0}a=c+e|0;c=v[a>>2];if((c|0)!=v[(a+c|0)-4>>2]){e=v[a+4>>2];v[e+8>>2]=v[a+8>>2];v[v[a+8>>2]+4>>2]=e;d=d+c|0}v[b>>2]=d;v[((d&-4)+b|0)-4>>2]=d|1;f=b;d=v[b>>2]-8|0;a:{if(d>>>0<=127){a=(d>>>3|0)-1|0;break a}e=E(d);a=((d>>>29-e^4)-(e<<2)|0)+110|0;if(d>>>0<=4095){break a}a=((d>>>30-e^2)-(e<<1)|0)+71|0;a=a>>>0<63?a:63}c=a<<4;v[f+4>>2]=c+4128;c=c+4136|0;v[b+8>>2]=v[c>>2];v[c>>2]=b;v[v[b+8>>2]+4>>2]=b;c=v[1291];b=a&31;if((a&63)>>>0>=32){a=1<>>32-b;b=1<>>0<3){break a}t[c-2|0]=0;t[a+1|0]=0;t[c-3|0]=0;t[a+2|0]=0;if(b>>>0<7){break a}t[c-4|0]=0;t[a+3|0]=0;if(b>>>0<9){break a}c=0-a&3;a=c+a|0;v[a>>2]=0;c=b-c&-4;b=c+a|0;v[b-4>>2]=0;if(c>>>0<9){break a}v[a+8>>2]=0;v[a+4>>2]=0;v[b-8>>2]=0;v[b-12>>2]=0;if(c>>>0<25){break a}v[a+24>>2]=0;v[a+20>>2]=0;v[a+16>>2]=0;v[a+12>>2]=0;v[b-16>>2]=0;v[b-20>>2]=0;v[b-24>>2]=0;v[b-28>>2]=0;b=c;c=a&4|24;b=b-c|0;if(b>>>0<32){break a}a=a+c|0;while(1){v[a+24>>2]=0;v[a+28>>2]=0;v[a+16>>2]=0;v[a+20>>2]=0;v[a+8>>2]=0;v[a+12>>2]=0;v[a>>2]=0;v[a+4>>2]=0;a=a+32|0;b=b-32|0;if(b>>>0>31){continue}break}}}function ja(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;if(!w[4112]){ga();ea();t[4112]=1}c=Z(28);e=c;b=Z(1208);a:{if(b){v[b+36>>2]=2;f=b;d=Z(28456);if(d){v[d+52>>2]=104857600;v[d+60>>2]=2;v[d+24>>2]=0;v[d+56>>2]=0}else{d=0}v[f+1200>>2]=d;if(d){t[b+40|0]=0;v[b>>2]=0;v[b+4>>2]=0;v[b+24>>2]=0;v[b+28>>2]=0;_(b+72|0,100);v[b+172>>2]=12;break a}X(b)}b=0}v[e>>2]=b;b=Z(a);v[c+8>>2]=0;v[c+12>>2]=0;v[c+4>>2]=b;b=Z(a);v[c+24>>2]=a;v[c+20>>2]=0;v[c+16>>2]=b;return c|0}function ga(){var a=0,b=0,c=0,d=0;while(1){b=c>>>1|0;a=(b^0-(c&1)&-306674912)>>>1|0;b=(a^0-(b&1)&-306674912)>>>1|0;a=(0-(a&1)&-306674912^b)>>>1|0;d=0-(a&1)&-306674912;a=(a^0-(b&1)&-306674912)>>>1|0;b=(d^a)>>>1|0;a=(b^0-(a&1)&-306674912)>>>1|0;v[(c<<2)+1040>>2]=0-(a&1)&-306674912^(a^0-(b&1)&-306674912)>>>1;c=c+1|0;if((c|0)!=256){continue}break}}function Y(a,b,c){var d=0;c=c^-1;a:{if(!b){break a}if(b&1){c=v[((w[a|0]^c&255)<<2)+1040>>2]^c>>>8;a=a+1|0;d=b-1|0}else{d=b}if((b|0)==1){break a}while(1){b=v[((w[a|0]^c&255)<<2)+1040>>2]^c>>>8;c=v[((w[a+1|0]^b&255)<<2)+1040>>2]^b>>>8;a=a+2|0;d=d-2|0;if(d){continue}break}}return c^-1}function ba(a,b,c){var d=0,e=0,f=0;e=v[a+16>>2];d=c-e|0;f=d+v[a+128>>2]|0;c=v[a+132>>2];v[a+128>>2]=f;v[a+132>>2]=f>>>0>>0?c+1|0:c;v[a+24>>2]=Y(b+e|0,d,v[a+24>>2]);v[a+28>>2]=0}function fa(a,b,c){var d=0,e=0,f=0;a:{if(!c){break a}while(1){d=w[a|0];e=w[b|0];if((d|0)==(e|0)){b=b+1|0;a=a+1|0;c=c-1|0;if(c){continue}break a}break}f=d-e|0}return f}function la(a){a=a|0;var b=0,c=0;b=v[a>>2];if(b){c=v[b+1200>>2];if(v[c+60>>2]){X(v[c+24>>2])}X(c);X(b)}X(v[a+4>>2]);X(v[a+16>>2]);X(a)}function ha(){var a=0,b=0,c=0;while(1){b=a<<4;c=b+4128|0;v[b+4132>>2]=c;v[b+4136>>2]=c;a=a+1|0;if((a|0)!=64){continue}break}aa(48)}function qa(a,b){a=a|0;b=b|0;v[a+12>>2]=b;v[a+8>>2]=0}function ia(a){a=a|0;return y[a+8>>2]>=y[a+12>>2]|0}function ka(){if(!w[4112]){ga();ea();t[4112]=1}}function ra(a){a=a|0;return v[a+4>>2]} -function oa(a){a=a|0;return v[a+20>>2]}function na(a){a=a|0;return v[a+16>>2]}function ma(a){a=a|0;v[a+20>>2]=0} +function ma(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=w[a>>2];a:{if(w[e+36>>2]){h=w[e>>2];break a}u[e+40|0]=0;w[e>>2]=0;w[e+4>>2]=0;w[e+24>>2]=0;w[e+28>>2]=0;Z(e+72|0,100);w[e+172>>2]=12;h=0}r=w[a+20>>2];o=w[a+8>>2];w[e+16>>2]=o;s=e+96|0;l=e+176|0;n=e+168|0;while(1){b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{l:{m:{switch(h|0){case 2:d=w[a+4>>2];h=w[e+172>>2];b=w[a+8>>2];c=w[a+12>>2];f=w[e+168>>2];break l;case 0:f=w[a+8>>2];d=w[a+12>>2]-f|0;c=w[e+168>>2];b=w[e+172>>2]-c|0;b=b>>>0>d>>>0?d:b;T(c+l|0,f+w[a+4>>2]|0,b);w[a+8>>2]=b+w[a+8>>2];c=0;d=b+w[e+168>>2]|0;b=w[e+172>>2];w[e+168>>2]=(b|0)!=(d|0)?d:0;if((b|0)!=(d|0)){break b}w[e>>2]=1;if(ca(l,1024,6)){c=5;break b}c=6;if(x[e+182|0]){break b}b=x[e+183|0];w[e+32>>2]=b;if(!(1<>>0>4){break b}break;case 9:break h;case 8:break i;case 7:break j;case 6:break k;case 1:break m;case 5:break c;case 4:break d;case 3:break e;default:continue}}b=w[a+8>>2];c=w[a+12>>2];if((b|0)==(c|0)){c=0;break b}d=w[a+4>>2];f=x[d+b|0];if(!f){w[a+8>>2]=b+1;w[e+16>>2]=b;h=6;w[e>>2]=6;continue}w[e+168>>2]=0;w[e>>2]=2;h=(f<<2)+4|0;w[e+172>>2]=h;w[e+64>>2]=h;f=0}d=b+d|0;c=c-b|0;b=h-f|0;b=b>>>0>c>>>0?c:b;T(f+l|0,d,b);w[a+8>>2]=b+w[a+8>>2];c=0;d=b+w[e+168>>2]|0;b=w[e+172>>2];w[e+168>>2]=(b|0)!=(d|0)?d:0;if((b|0)!=(d|0)){break b}b=d-4|0;w[e+172>>2]=b;d=V(l,b,0);m=w[e+172>>2];b=m+l|0;if((d|0)!=(x[b|0]|x[b+1|0]<<8|(x[b+2|0]<<16|x[b+3|0]<<24))){c=7;break b}w[e+168>>2]=2;p=u[e+177|0];if(p&63){c=6;break b}b=2;q=-1;k=-1;f=-1;g=-1;if(!(p&64)){break f}h=w[e+4>>2];if(!h){w[e+8>>2]=0;w[e+12>>2]=0}i=m>>>0<=2?2:m;while(1){if((b|0)==(i|0)){c=7;break b}j=x[b+l|0];b=b+1|0;w[e+168>>2]=b;d=w[e+12>>2];c=j&127;f=h&31;if((h&63)>>>0>=32){g=c<>>32-f;c=c<>2];c=d|g;g=c;w[e+8>>2]=f;w[e+12>>2]=c;c=j<<24>>24;if((c|0)>=0){if(!(!h|c)){c=7;break b}w[e+4>>2]=0;break f}c=7;h=h+7|0;w[e+4>>2]=h;if((h|0)!=63){continue}break}break b}l=e+144|0;n:{while(1){c=w[a+12>>2];j=w[a+4>>2];k=w[e+4>>2];if(!k){w[e+8>>2]=0;w[e+12>>2]=0}b=w[a+8>>2];d=b>>>0>c>>>0?b:c;o:{while(1){p:{if((b|0)==(d|0)){c=0;b=d;break p}i=x[b+j|0];b=b+1|0;w[a+8>>2]=b;h=w[e+12>>2];c=i&127;f=k&31;if((k&63)>>>0>=32){g=c<>>32-f;c=c<>2];c=g|h;g=c;w[e+8>>2]=f;w[e+12>>2]=c;c=i<<24>>24;if((c|0)>=0){if(!k|c){break o}c=7;break p}c=7;k=k+7|0;w[e+4>>2]=k;if((k|0)!=63){continue}}break}d=w[e+132>>2];g=w[e+16>>2];h=b-g|0;b=h+w[e+128>>2]|0;d=h>>>0>b>>>0?d+1|0:d;w[e+128>>2]=b;w[e+132>>2]=d;w[e+24>>2]=V(g+j|0,h,w[e+24>>2]);w[e+28>>2]=0;break n}w[e+4>>2]=0;q:{r:{switch(w[e+120>>2]){case 0:w[e+136>>2]=f;w[e+140>>2]=g;c=7;if((f|0)!=w[e+88>>2]|(g|0)!=w[e+92>>2]){break n}w[e+120>>2]=1;break q;case 2:d=g+w[e+156>>2]|0;b=f+w[e+152>>2]|0;d=b>>>0>>0?d+1|0:d;w[e+152>>2]=b;w[e+156>>2]=d;w[e+160>>2]=V(l,24,w[e+160>>2]);w[e+120>>2]=1;b=w[e+136>>2];f=b-1|0;b=w[e+140>>2]-!b|0;g=b;w[e+136>>2]=f;w[e+140>>2]=b;break q;case 1:w[e+120>>2]=2;d=g+w[e+148>>2]|0;b=f+w[e+144>>2]|0;d=b>>>0>>0?d+1|0:d;w[e+144>>2]=b;w[e+148>>2]=d;break;default:break r}}f=w[e+136>>2];g=w[e+140>>2]}if(f|g){continue}break}c=1}if((c|0)!=1){break b}w[e>>2]=7}b=w[a+8>>2];i=w[e+16>>2];f=b-i|0;l=w[e+128>>2];c=f+l|0;s:{if(!(c&3)){break s}h=w[a+4>>2];if(w[a+12>>2]==(b|0)){d=b;break g}d=b+1|0;w[a+8>>2]=d;c=7;if(x[b+h|0]){break b}f=d-i|0;f=f+l|0;t:{if(!(f&3)){break t}h=w[a+4>>2];if(w[a+12>>2]==(d|0)){break g}f=b+2|0;w[a+8>>2]=f;if(x[d+h|0]){break b}d=f-i|0;d=d+l|0;if(!(d&3)){b=f;break s}h=w[a+4>>2];if((f|0)==w[a+12>>2]){d=f;break g}d=b+3|0;w[a+8>>2]=d;if(x[f+h|0]){break b}f=d-i|0;f=f+l|0;if(!(f&3)){break t}if(w[a+12>>2]==(d|0)){h=w[a+4>>2];break g}w[a+8>>2]=b+4;break b}b=d}_(e,w[a+4>>2],b);c=7;if(ca(s,e+144|0,24)){break b}w[e>>2]=8}b=w[a+8>>2];h=w[a+12>>2];u:{while(1){g=0;if((b|0)==(h|0)){break u}f=w[e+24>>2];d=w[e+28>>2];l=w[e+4>>2];c=b+1|0;w[a+8>>2]=c;i=x[w[a+4>>2]+b|0];b=f;f=l&31;g=7;if((i|0)!=(((l&63)>>>0>=32?d>>>f|0:((1<>>f)&255)){break u}d=l+8|0;w[e+4>>2]=d;b=c;if(d>>>0<32){continue}break}w[e+4>>2]=0;w[e+24>>2]=0;w[e+28>>2]=0;g=1}c=g;if((c|0)!=1){break b}w[e>>2]=9;w[e+172>>2]=12}c=0;f=w[a+8>>2];g=w[a+12>>2]-f|0;d=w[e+168>>2];b=w[e+172>>2]-d|0;b=b>>>0>g>>>0?g:b;T((e+d|0)+176|0,f+w[a+4>>2]|0,b);w[a+8>>2]=b+w[a+8>>2];b=b+w[e+168>>2]|0;d=(b|0)==w[e+172>>2];w[e+168>>2]=d?0:b;if(!d){break b}b=7;v:{if((x[e+186|0]|x[e+187|0]<<8)!=23129){break v}if((V(e+180|0,6,0)|0)!=(x[e+176|0]|x[e+177|0]<<8|(x[e+178|0]<<16|x[e+179|0]<<24))){break v}c=w[e+128>>2];d=w[e+132>>2];g=d>>>2|0;if(x[e+184|0]|((x[e+180|0]|x[e+181|0]<<8|(x[e+182|0]<<16|x[e+183|0]<<24))!=((d&3)<<30|c>>>2)|g)){break v}b=w[e+32>>2]==x[e+185|0]?1:7}c=b;break b}_(e,h,d);c=0;break b}w[e+48>>2]=f;w[e+52>>2]=g;if((p|0)<0){h=w[e+4>>2];if(!h){w[e+8>>2]=0;w[e+12>>2]=0}f=b>>>0>m>>>0?b:m;while(1){if((b|0)==(f|0)){c=7;break b}i=x[b+l|0];b=b+1|0;w[e+168>>2]=b;d=w[e+12>>2];c=i&127;j=h&31;if((h&63)>>>0>=32){g=c<>>32-j;c=c<>2];c=d|g;k=c;w[e+8>>2]=q;w[e+12>>2]=c;w:{c=i<<24>>24;if((c|0)>=0){if(!h|c){break w}c=7;break b}c=7;h=h+7|0;w[e+4>>2]=h;if((h|0)!=63){continue}break b}break}w[e+4>>2]=0}w[e+56>>2]=q;w[e+60>>2]=k;if(m-b>>>0<2){c=7;break b}c=b+1|0;w[e+168>>2]=c;if(x[(b+n|0)+8|0]!=33){c=6;break b}g=b+2|0;w[e+168>>2]=g;if(x[(c+n|0)+8|0]!=1){c=6;break b}c=7;if((g|0)==(m|0)){break b}w[e+168>>2]=b+3;f=w[e+1200>>2];d=6;b=x[(g+n|0)+8|0];x:{if(b>>>0>39){break x}g=(b&1|2)<<(b>>>1|0)+11;w[f+48>>2]=g;y:{z:{b=w[f+60>>2];if(!b){break z}d=4;if(g>>>0>z[f+52>>2]){break x}w[f+44>>2]=g;if((b|0)!=2){break z}c=f+56|0;if(g>>>0<=z[c>>2]){break z}U(w[f+24>>2]);b=W(w[f+48>>2]);w[f+24>>2]=b;if(b){break z}d=3;break y}w[f+64>>2]=0;u[f+80|0]=1;w[f+104>>2]=0;c=f+28388|0;d=0}w[c>>2]=0}c=d;if(c){break b}c=w[e+172>>2];b=w[e+168>>2];g=b>>>0>>0?c:b;A:{while(1){if((b|0)==(g|0)){break A}c=b+1|0;w[e+168>>2]=c;d=b+n|0;b=c;if(!x[d+8|0]){continue}break}c=6;break b}w[e+168>>2]=0;w[e+80>>2]=0;w[e+84>>2]=0;w[e+72>>2]=0;w[e+76>>2]=0;w[e>>2]=3}w[e+16>>2]=w[a+8>>2];w[e+20>>2]=w[a+20>>2];c=w[e+1200>>2];g=c+28392|0;k=c+120|0;B:{while(1){d=w[c+64>>2];C:{D:{E:{F:{G:{H:{I:{J:{K:{L:{M:{N:{O:{P:{b=w[a+8>>2];if(b>>>0>=z[a+12>>2]){if((d|0)==7){break P}d=0;break B}switch(d|0){case 8:break G;case 6:break I;case 5:break J;case 4:break K;case 3:break L;case 2:break M;case 1:break N;case 0:break O;case 7:break P;default:continue}}h=w[c+76>>2];break H}h=1;w[a+8>>2]=b+1;f=x[w[a+4>>2]+b|0];if(!f){break F}if(!((f|0)!=1&f>>>0<=223)){v[c+80>>1]=256;if(!w[c+60>>2]){b=w[a+20>>2];w[c+24>>2]=b+w[a+16>>2];w[c+44>>2]=w[a+24>>2]-b}w[c+28>>2]=0;w[c+32>>2]=0;w[c+36>>2]=0;w[c+40>>2]=0;break E}if(!x[c+80|0]){break E}d=7;break B}w[a+8>>2]=b+1;b=x[w[a+4>>2]+b|0];w[c+64>>2]=2;w[c+72>>2]=w[c+72>>2]+(b<<8);continue}w[a+8>>2]=b+1;b=x[w[a+4>>2]+b|0];w[c+64>>2]=3;w[c+72>>2]=(b+w[c+72>>2]|0)+1;continue}w[a+8>>2]=b+1;b=x[w[a+4>>2]+b|0];w[c+64>>2]=4;w[c+76>>2]=b<<8;continue}w[a+8>>2]=b+1;b=x[w[a+4>>2]+b|0];w[c+64>>2]=w[c+68>>2];w[c+76>>2]=(b+w[c+76>>2]|0)+1;continue}w[a+8>>2]=b+1;h=7;b=x[w[a+4>>2]+b|0];if(b>>>0>224){break F}d=0;if(b>>>0<45){f=0}else{b=b-45|0;f=((b&255)>>>0)/45|0;b=b-C(f,45)|0;f=f+1|0}w[c+116>>2]=-1<>>0>=9){b=b-9|0;d=((b&255)>>>0)/9|0;b=b-C(d,9)|0;d=d+1|0}w[c+112>>2]=d;b=b&255;w[c+108>>2]=b;if(b+d>>>0>4){break F}w[c+112>>2]=-1<>2]=0;w[c+92>>2]=0;w[c+96>>2]=0;w[c+84>>2]=0;w[c+88>>2]=0;while(1){d=b<<1;v[d+k>>1]=1024;v[(d|2)+k>>1]=1024;b=b+2|0;if((b|0)!=14134){continue}break}w[c+64>>2]=6;w[c+8>>2]=5;w[c>>2]=-1;w[c+4>>2]=0}j=w[c+76>>2];d=7;if(j>>>0<5){break B}h=w[c+8>>2];if(h){b=w[a+8>>2];i=w[a+12>>2];while(1){d=0;if((b|0)==(i|0)){break B}f=w[c+4>>2];d=b+1|0;w[a+8>>2]=d;b=x[w[a+4>>2]+b|0];h=h-1|0;w[c+8>>2]=h;w[c+4>>2]=b|f<<8;b=d;if(h){continue}break}}w[c+64>>2]=7;h=j-5|0;w[c+76>>2]=h}f=w[c+32>>2];d=w[a+24>>2]-w[a+20>>2]|0;b=w[c+72>>2];d=b>>>0>d>>>0?d:b;b=w[c+44>>2];w[c+40>>2]=d>>>0>>0?f+d|0:b;i=w[a+12>>2];d=w[a+8>>2];b=i-d|0;j=w[c+28388>>2];Q:{R:{if(!j){if(h){break R}h=0}i=w[a+4>>2]+d|0;f=42-j|0;d=h-j|0;d=d>>>0>f>>>0?f:d;f=b>>>0>d>>>0?d:b;T(g+j|0,i,f);b=w[c+28388>>2];d=b+f|0;S:{if((d|0)==w[c+76>>2]){Z(f+(b+g|0)|0,63-d|0);b=f+w[c+28388>>2]|0;break S}if(d>>>0<=20){w[c+28388>>2]=d;w[a+8>>2]=f+w[a+8>>2];break Q}b=d-21|0}w[c+16>>2]=0;w[c+12>>2]=g;w[c+20>>2]=b;h=7;if(!aa(c)){break F}b=w[c+28388>>2];d=b+f|0;f=w[c+16>>2];if(d>>>0>>0){break F}h=w[c+76>>2]-f|0;w[c+76>>2]=h;if(b>>>0>f>>>0){b=b-f|0;w[c+28388>>2]=b;d=g;h=f+d|0;T:{if((d|0)==(h|0)){break T}f=b+d|0;if(h-f>>>0<=0-(b<<1)>>>0){T(d,h,b);break T}i=(d^h)&3;U:{V:{if(d>>>0>>0){if(i){break U}if(!(d&3)){break V}while(1){if(!b){break T}u[d|0]=x[h|0];h=h+1|0;b=b-1|0;d=d+1|0;if(d&3){continue}break}break V}W:{if(i){break W}if(f&3){while(1){if(!b){break T}b=b-1|0;f=d+b|0;u[f|0]=x[b+h|0];if(f&3){continue}break}}if(b>>>0<=3){break W}while(1){b=b-4|0;w[d+b>>2]=w[b+h>>2];if(b>>>0>3){continue}break}}if(!b){break T}while(1){b=b-1|0;u[d+b|0]=x[b+h|0];if(b){continue}break}break T}if(b>>>0<=3){break U}while(1){w[d>>2]=w[h>>2];h=h+4|0;d=d+4|0;b=b-4|0;if(b>>>0>3){continue}break}}if(!b){break T}while(1){u[d|0]=x[h|0];d=d+1|0;h=h+1|0;b=b-1|0;if(b){continue}break}}break Q}d=w[a+8>>2]+(f-b|0)|0;w[a+8>>2]=d;w[c+28388>>2]=0;i=w[a+12>>2];b=i-d|0}if(b>>>0>=21){f=w[a+4>>2];w[c+16>>2]=d;w[c+12>>2]=f;w[c+20>>2]=h+21>>>0>b>>>0?i-21|0:d+h|0;h=7;if(!aa(c)){break F}f=w[c+76>>2];d=w[c+16>>2];b=d-w[a+8>>2]|0;if(f>>>0>>0){break F}h=f-b|0;w[c+76>>2]=h;w[a+8>>2]=d;b=w[a+12>>2]-d|0;if(b>>>0>20){break Q}}b=b>>>0>>0?b:h;T(g,w[a+4>>2]+d|0,b);w[c+28388>>2]=b;w[a+8>>2]=b+w[a+8>>2]}b=w[c+32>>2];d=w[c+28>>2];f=b-d|0;if(w[c+60>>2]){if((b|0)==w[c+44>>2]){w[c+32>>2]=0}T(w[a+16>>2]+w[a+20>>2]|0,d+w[c+24>>2]|0,f);b=w[c+32>>2]}w[c+28>>2]=b;d=f+w[a+20>>2]|0;w[a+20>>2]=d;b=w[c+72>>2];w[c+72>>2]=b-f;if((b|0)==(f|0)){h=7;if(w[c+4>>2]|(w[c+76>>2]|w[c+104>>2])){break F}w[c+64>>2]=0;break D}h=0;if((d|0)==w[a+24>>2]){break F}if(w[a+8>>2]!=w[a+12>>2]|z[c+28388>>2]>=z[c+76>>2]){continue}break F}while(1){j=w[c+76>>2];if(j){h=0;f=w[a+12>>2];if(f>>>0<=b>>>0){break F}i=w[a+24>>2];d=w[a+20>>2];if(i>>>0<=d>>>0){break F}f=f-b|0;d=i-d|0;h=d>>>0>f>>>0?f:d;f=w[c+32>>2];d=w[c+44>>2]-f|0;d=d>>>0>h>>>0?h:d;d=d>>>0>>0?d:j;w[c+76>>2]=j-d;T(f+w[c+24>>2]|0,w[a+4>>2]+b|0,d);b=d+w[c+32>>2]|0;w[c+32>>2]=b;if(b>>>0>z[c+36>>2]){w[c+36>>2]=b}if(w[c+60>>2]){if((b|0)==w[c+44>>2]){w[c+32>>2]=0}T(w[a+16>>2]+w[a+20>>2]|0,w[a+4>>2]+w[a+8>>2]|0,d);b=w[c+32>>2]}w[c+28>>2]=b;w[a+20>>2]=d+w[a+20>>2];b=d+w[a+8>>2]|0;w[a+8>>2]=b;continue}break}w[c+64>>2]=0;continue}d=h;break B}if(f<<24>>24>=0){break C}w[c+64>>2]=1;w[c+72>>2]=f<<16&2031616;if(f>>>0>=192){w[c+68>>2]=5;u[c+81|0]=0;continue}d=7;if(x[c+81|0]){break B}w[c+68>>2]=6;if(f>>>0<160){continue}w[c+84>>2]=0;w[c+88>>2]=0;b=0;w[c+100>>2]=0;w[c+92>>2]=0;w[c+96>>2]=0;while(1){d=b<<1;v[d+k>>1]=1024;v[(d|2)+k>>1]=1024;b=b+2|0;if((b|0)!=14134){continue}break}}w[c+8>>2]=5;w[c>>2]=-1;w[c+4>>2]=0;continue}if(f>>>0<=2){w[c+64>>2]=3;w[c+68>>2]=8;continue}break}d=7}c=d;d=w[e+76>>2];g=w[a+8>>2]-w[e+16>>2]|0;b=g;g=g+w[e+72>>2]|0;d=b>>>0>g>>>0?d+1|0:d;f=d;w[e+72>>2]=g;w[e+76>>2]=d;d=w[e+84>>2];k=w[e+20>>2];i=w[a+20>>2]-k|0;b=w[e+80>>2]+i|0;d=i>>>0>b>>>0?d+1|0:d;w[e+80>>2]=b;w[e+84>>2]=d;h=w[e+52>>2];if((f|0)==(h|0)&g>>>0>z[e+48>>2]|f>>>0>h>>>0){c=7;break b}g=w[e+60>>2];if((d|0)==(g|0)&b>>>0>z[e+56>>2]|d>>>0>g>>>0){c=7;break b}X:{Y:{Z:{switch(w[e+32>>2]-1|0){case 0:d=V(k+w[a+16>>2]|0,i,w[e+24>>2]);b=0;break Y;case 3:break Z;default:break X}}h=k+w[a+16>>2]|0;d=w[e+24>>2];b=w[e+28>>2];if(i){f=d^-1;g=b^-1;if(i&1){b=((x[h|0]^f&255)<<3)+2064|0;j=w[b>>2];d=w[b+4>>2];b=g;g=b>>>8|0;f=((b&255)<<24|f>>>8)^j;g=d^g;h=h+1|0;d=i-1|0}else{d=i}if((i|0)!=1){while(1){b=((x[h|0]^f&255)<<3)+2064|0;i=w[b>>2];j=w[b+4>>2];b=g;g=b>>>8|0;j=g^j;g=j>>>8|0;i=((b&255)<<24|f>>>8)^i;b=((x[h+1|0]^i&255)<<3)+2064|0;f=w[b>>2]^((j&255)<<24|i>>>8);g=g^w[b+4>>2];h=h+2|0;d=d-2|0;if(d){continue}break}}d=f^-1;b=g^-1}}w[e+24>>2]=d;w[e+28>>2]=b}if((c|0)!=1){break b}b=w[e+48>>2];c=w[e+52>>2];if(!((b&c)==-1|w[e+72>>2]==(b|0)&w[e+76>>2]==(c|0))){c=7;break b}c=w[e+60>>2];d=c;b=w[e+56>>2];if((c&b)!=-1){c=7;if(w[e+80>>2]!=(b|0)|w[e+84>>2]!=(d|0)){break b}}g=w[e+96>>2];b=w[e+64>>2];f=b+w[e+72>>2]|0;d=w[e+76>>2];d=w[e+100>>2]+(b>>>0>f>>>0?d+1|0:d)|0;b=f+g|0;d=b>>>0>>0?d+1|0:d;w[e+96>>2]=b;w[e+100>>2]=d;f=4;_:{switch(w[e+32>>2]-1|0){case 3:f=8;case 0:c=b;b=b+f|0;g=c>>>0>b>>>0?d+1|0:d;w[e+96>>2]=b;w[e+100>>2]=g;break;default:break _}}g=w[e+108>>2]+w[e+84>>2]|0;b=w[e+80>>2];c=b+w[e+104>>2]|0;w[e+104>>2]=c;w[e+108>>2]=b>>>0>c>>>0?g+1|0:g;w[e+112>>2]=V(s,24,w[e+112>>2]);w[e>>2]=4;g=w[e+92>>2];b=w[e+88>>2]+1|0;g=b?g:g+1|0;w[e+88>>2]=b;w[e+92>>2]=g}b=w[e+76>>2];f=w[e+72>>2];$:{if(!(f&3)){break $}c=0;k=w[a+8>>2];j=w[a+12>>2];if((k|0)==(j|0)){break b}h=k+1|0;w[a+8>>2]=h;if(x[k+w[a+4>>2]|0]){c=7;break b}g=f+1|0;d=g?b:b+1|0;w[e+72>>2]=g;w[e+76>>2]=d;if(!(g&3)){break $}if((h|0)==(j|0)){break b}i=k+2|0;w[a+8>>2]=i;if(x[h+w[a+4>>2]|0]){c=7;break b}d=f+2|0;g=d>>>0<2?b+1|0:b;w[e+72>>2]=d;w[e+76>>2]=g;if(!(d&3)){break $}if((i|0)==(j|0)){break b}h=k+3|0;w[a+8>>2]=h;if(x[i+w[a+4>>2]|0]){c=7;break b}g=f+3|0;d=g>>>0<3?b+1|0:b;w[e+72>>2]=g;w[e+76>>2]=d;if(!(g&3)){break $}if((h|0)==(j|0)){break b}w[a+8>>2]=k+4;c=7;if(x[h+w[a+4>>2]|0]){break b}g=b;b=f+4|0;g=b>>>0<4?g+1|0:g;w[e+72>>2]=b;w[e+76>>2]=g}w[e>>2]=5}h=1;aa:{ba:{ca:{switch(w[e+32>>2]-1|0){case 0:b=w[a+8>>2];f=w[a+12>>2];while(1){if((b|0)==(f|0)){c=0;break b}g=w[e+24>>2];d=w[e+28>>2];i=w[e+4>>2];c=b+1|0;w[a+8>>2]=c;k=x[w[a+4>>2]+b|0];b=g;g=i&31;if((k|0)!=(((i&63)>>>0>=32?d>>>g|0:((1<>>g)&255)){c=7;break b}d=i+8|0;w[e+4>>2]=d;b=c;if(d>>>0<32){continue}break};break ba;case 3:break ca;default:break aa}}b=w[a+8>>2];f=w[a+12>>2];while(1){if((b|0)==(f|0)){c=0;break b}g=w[e+24>>2];d=w[e+28>>2];i=w[e+4>>2];c=b+1|0;w[a+8>>2]=c;k=x[w[a+4>>2]+b|0];b=g;g=i&31;if((k|0)!=(((i&63)>>>0>=32?d>>>g|0:((1<>>g)&255)){c=7;break b}d=i+8|0;w[e+4>>2]=d;b=c;if(d>>>0<64){continue}break}}w[e+4>>2]=0;w[e+24>>2]=0;w[e+28>>2]=0}w[e>>2]=1;continue}break}da:{if(!w[e+36>>2]){ea:{switch(c|0){case 0:c=w[a+8>>2]==w[a+12>>2]?7:8;break;case 1:break da;default:break ea}}w[a+20>>2]=r;w[a+8>>2]=o;break da}if(!(w[a+8>>2]!=(o|0)|c|w[a+20>>2]!=(r|0))){a=x[e+40|0];u[e+40|0]=1;c=a<<3;break da}u[e+40|0]=0}return c|0}function aa(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=w[a+32>>2];d=w[a+40>>2];a:{if(h>>>0>=d>>>0){break a}b=w[a+104>>2];if(!b){break a}e=w[a+84>>2];if(e>>>0>=z[a+36>>2]|e>>>0>=z[a+48>>2]){break a}f=b;d=d-h|0;b=b>>>0>d>>>0?d:b;w[a+104>>2]=f-b;d=(e^-1)+h|0;d=e>>>0>=h>>>0?w[a+44>>2]+d|0:d;if(b&1){e=w[a+24>>2];c=x[e+d|0];f=w[a+32>>2];w[a+32>>2]=f+1;u[e+f|0]=c;e=d+1|0;d=(e|0)!=w[a+44>>2]?e:0;e=b-1|0}else{e=b}if((b|0)!=1){while(1){b=w[a+24>>2];c=x[b+d|0];f=w[a+32>>2];w[a+32>>2]=f+1;u[b+f|0]=c;b=w[a+24>>2];d=d+1|0;d=(d|0)!=w[a+44>>2]?d:0;c=x[b+d|0];f=w[a+32>>2];w[a+32>>2]=f+1;u[b+f|0]=c;b=d+1|0;d=(b|0)!=w[a+44>>2]?b:0;e=e-2|0;if(e){continue}break}}h=w[a+32>>2];if(h>>>0<=z[a+36>>2]){break a}w[a+36>>2]=h}b:{c:{if(z[a+40>>2]<=h>>>0){break c}p=a+1496|0;k=a+1724|0;q=a+1756|0;r=a+2784|0;s=a+84|0;while(1){b=w[a+16>>2];if(b>>>0>z[a+20>>2]){break c}i=w[a+100>>2];j=w[a+116>>2]&h;f=((i<<5)+a|0)+(j<<1)|0;c=w[a>>2];d:{if(c>>>0>=16777216){g=w[a+4>>2];break d}c=c<<8;w[a>>2]=c;e=b+1|0;w[a+16>>2]=e;g=x[w[a+12>>2]+b|0]|w[a+4>>2]<<8;w[a+4>>2]=g;b=e}e=y[f+120>>1];d=C(e,c>>>11|0);e:{if(g>>>0>>0){w[a>>2]=d;v[f+120>>1]=e+(2048-e>>>5|0);c=h-1|0;c=h?c:w[a+44>>2]+c|0;f=w[a+36>>2];e=f?x[w[a+24>>2]+c|0]:0;c=w[a+108>>2];l=(C(((w[a+112>>2]&h)<>>8-c|0)|0,1536)+a|0)+3812|0;c=1;f:{if(i>>>0<=6){while(1){c=c<<1;f=l+c|0;d=w[a>>2];g:{if(d>>>0>=16777216){g=w[a+4>>2];break g}d=d<<8;w[a>>2]=d;b=w[a+16>>2];w[a+16>>2]=b+1;g=x[b+w[a+12>>2]|0]|w[a+4>>2]<<8;w[a+4>>2]=g}b=y[f>>1];e=C(b,d>>>11|0);h:{if(g>>>0>=e>>>0){w[a+4>>2]=g-e;e=d-e|0;c=c|1;b=b-(b>>>5|0)|0;break h}b=b+(2048-b>>>5|0)|0}w[a>>2]=e;v[f>>1]=b;if(c>>>0<256){continue}break}h=w[a+32>>2];break f}e=w[a+84>>2];c=(e^-1)+h|0;c=e>>>0>=h>>>0?w[a+44>>2]+c|0:c;i=f?x[w[a+24>>2]+c|0]:0;c=1;e=256;while(1){i=i<<1;m=i&e;n=l+((m+e|0)+c<<1)|0;i:{if(d>>>0>16777215){f=d;break i}f=d<<8;w[a>>2]=f;d=b+1|0;w[a+16>>2]=d;g=x[w[a+12>>2]+b|0]|g<<8;w[a+4>>2]=g;b=d}j=y[n>>1];d=C(j,f>>>11|0);o=g>>>0>=d>>>0;j:{if(!o){f=j+(2048-j>>>5|0)|0;break j}g=g-d|0;w[a+4>>2]=g;d=f-d|0;e=0;f=j-(j>>>5|0)|0}w[a>>2]=d;v[n>>1]=f;e=e^m;c=c<<1|o;if(c>>>0<256){continue}break}}w[a+32>>2]=h+1;u[w[a+24>>2]+h|0]=c;h=w[a+32>>2];if(h>>>0>z[a+36>>2]){w[a+36>>2]=h}b=w[a+100>>2];if(b>>>0>=4){if(b>>>0<=9){w[a+100>>2]=b-3;break e}b=b-6|0}else{b=0}w[a+100>>2]=b;break e}c=c-d|0;w[a>>2]=c;d=g-d|0;w[a+4>>2]=d;v[f+120>>1]=e-(e>>>5|0);i=(i<<1)+a|0;k:{if(c>>>0>16777215){e=b;break k}c=c<<8;w[a>>2]=c;e=b+1|0;w[a+16>>2]=e;d=x[w[a+12>>2]+b|0]|d<<8;w[a+4>>2]=d}b=y[i+504>>1];h=C(b,c>>>11|0);l:{if(h>>>0<=d>>>0){g=c-h|0;w[a>>2]=g;c=d-h|0;w[a+4>>2]=c;v[i+504>>1]=b-(b>>>5|0);m:{if(g>>>0>16777215){b=e;break m}g=g<<8;w[a>>2]=g;b=e+1|0;w[a+16>>2]=b;c=x[w[a+12>>2]+e|0]|c<<8;w[a+4>>2]=c}e=y[i+528>>1];d=C(e,g>>>11|0);n:{if(d>>>0>c>>>0){w[a>>2]=d;v[i+528>>1]=e+(2048-e>>>5|0);if(d>>>0<=16777215){d=d<<8;w[a>>2]=d;w[a+16>>2]=b+1;c=x[w[a+12>>2]+b|0]|c<<8;w[a+4>>2]=c}b=y[f+600>>1];e=C(b,d>>>11|0);if(e>>>0<=c>>>0){w[a>>2]=d-e;w[a+4>>2]=c-e;v[f+600>>1]=b-(b>>>5|0);break n}w[a>>2]=e;v[f+600>>1]=b+(2048-b>>>5|0);w[a+104>>2]=1;w[a+100>>2]=z[a+100>>2]<7?9:11;break l}f=g-d|0;w[a>>2]=f;c=c-d|0;w[a+4>>2]=c;v[i+528>>1]=e-(e>>>5|0);o:{if(f>>>0>16777215){g=b;break o}f=f<<8;w[a>>2]=f;g=b+1|0;w[a+16>>2]=g;c=x[w[a+12>>2]+b|0]|c<<8;w[a+4>>2]=c}b=y[i+552>>1];e=C(b,f>>>11|0);p:{if(e>>>0>c>>>0){w[a>>2]=e;v[i+552>>1]=b+(2048-b>>>5|0);c=w[a+88>>2];break p}f=f-e|0;w[a>>2]=f;c=c-e|0;w[a+4>>2]=c;v[i+552>>1]=b-(b>>>5|0);if(f>>>0<=16777215){f=f<<8;w[a>>2]=f;w[a+16>>2]=g+1;c=x[w[a+12>>2]+g|0]|c<<8;w[a+4>>2]=c}b=y[i+576>>1];d=C(b,f>>>11|0);q:{if(d>>>0>c>>>0){c=w[a+92>>2];b=b+(2048-b>>>5|0)|0;break q}w[a+4>>2]=c-d;c=w[a+96>>2];w[a+96>>2]=w[a+92>>2];d=f-d|0;b=b-(b>>>5|0)|0}w[a>>2]=d;v[i+576>>1]=b;w[a+92>>2]=w[a+88>>2]}w[a+88>>2]=w[a+84>>2];w[a+84>>2]=c}w[a+100>>2]=z[a+100>>2]<7?8:11;$(a,r,j);break l}w[a>>2]=h;v[i+504>>1]=b+(2048-b>>>5|0);w[a+96>>2]=w[a+92>>2];b=w[a+88>>2];w[a+88>>2]=w[a+84>>2];w[a+92>>2]=b;w[a+100>>2]=z[a+100>>2]<7?7:10;$(a,q,j);b=w[a+104>>2];i=(((b>>>0>=6?3:b-2|0)<<7)+s|0)+900|0;c=1;while(1){c=c<<1;f=i+c|0;d=w[a>>2];r:{if(d>>>0>=16777216){g=w[a+4>>2];break r}d=d<<8;w[a>>2]=d;b=w[a+16>>2];w[a+16>>2]=b+1;g=x[b+w[a+12>>2]|0]|w[a+4>>2]<<8;w[a+4>>2]=g}b=y[f>>1];e=C(b,d>>>11|0);s:{if(g>>>0>=e>>>0){w[a+4>>2]=g-e;e=d-e|0;c=c|1;b=b-(b>>>5|0)|0;break s}b=b+(2048-b>>>5|0)|0}w[a>>2]=e;v[f>>1]=b;if(c>>>0<64){continue}break}b=c+-64|0;if(b>>>0<=3){w[a+84>>2]=b;break l}e=c&1|2;w[a+84>>2]=e;d=b>>>1|0;if(b>>>0<=13){h=d-1|0;b=e<>2]=b;e=1;j=(((b<<1)+p|0)+(0-c<<1)|0)+126|0;g=0;while(1){e=e<<1;i=j+e|0;c=w[a>>2];t:{if(c>>>0>=16777216){f=w[a+4>>2];break t}c=c<<8;w[a>>2]=c;b=w[a+16>>2];w[a+16>>2]=b+1;f=x[b+w[a+12>>2]|0]|w[a+4>>2]<<8;w[a+4>>2]=f}b=y[i>>1];d=C(b,c>>>11|0);u:{if(f>>>0>=d>>>0){w[a+4>>2]=f-d;w[a+84>>2]=w[a+84>>2]+(1<>>5|0)|0;break u}b=b+(2048-b>>>5|0)|0}w[a>>2]=d;v[i>>1]=b;g=g+1|0;if((h|0)!=(g|0)){continue}break}break l}f=d-5|0;d=w[a+4>>2];c=w[a>>2];while(1){v:{if(c>>>0>16777215){g=c;break v}g=c<<8;w[a>>2]=g;b=w[a+16>>2];w[a+16>>2]=b+1;d=x[b+w[a+12>>2]|0]|d<<8}c=g>>>1|0;w[a>>2]=c;b=d-c|0;d=b>>31;e=(d+(e<<1)|0)+1|0;w[a+84>>2]=e;d=b+(c&d)|0;w[a+4>>2]=d;f=f-1|0;if(f){continue}break}f=e<<4;w[a+84>>2]=f;if(g>>>0<=33554431){c=c<<8;w[a>>2]=c;b=w[a+16>>2];w[a+16>>2]=b+1;d=x[b+w[a+12>>2]|0]|d<<8;w[a+4>>2]=d}b=y[a+1726>>1];e=C(b,c>>>11|0);w:{if(e>>>0<=d>>>0){f=f|1;w[a+84>>2]=f;d=d-e|0;w[a+4>>2]=d;e=c-e|0;g=3;b=b-(b>>>5|0)|0;break w}g=2;b=b+(2048-b>>>5|0)|0}v[a+1726>>1]=b;g=g<<1;i=k+g|0;if(e>>>0<=16777215){e=e<<8;w[a>>2]=e;b=w[a+16>>2];w[a+16>>2]=b+1;d=x[b+w[a+12>>2]|0]|d<<8;w[a+4>>2]=d}b=y[i>>1];c=C(b,e>>>11|0);x:{if(d>>>0>=c>>>0){f=f+2|0;w[a+84>>2]=f;d=d-c|0;w[a+4>>2]=d;c=e-c|0;g=g|1;b=b-(b>>>5|0)|0;break x}b=b+(2048-b>>>5|0)|0}w[a>>2]=c;v[i>>1]=b;g=g<<1;i=k+g|0;if(c>>>0<=16777215){c=c<<8;w[a>>2]=c;b=w[a+16>>2];w[a+16>>2]=b+1;d=x[b+w[a+12>>2]|0]|d<<8;w[a+4>>2]=d}b=y[i>>1];e=C(b,c>>>11|0);y:{if(e>>>0<=d>>>0){w[a+84>>2]=f+4;w[a+4>>2]=d-e;e=c-e|0;g=g|1;b=b-(b>>>5|0)|0;break y}b=b+(2048-b>>>5|0)|0}w[a>>2]=e;v[i>>1]=b;e=(g<<1)+k|0;c=w[a>>2];z:{if(c>>>0>=16777216){f=w[a+4>>2];break z}c=c<<8;w[a>>2]=c;b=w[a+16>>2];w[a+16>>2]=b+1;f=x[b+w[a+12>>2]|0]|w[a+4>>2]<<8;w[a+4>>2]=f}b=y[e>>1];d=C(b,c>>>11|0);A:{if(f>>>0>=d>>>0){w[a+4>>2]=f-d;w[a+84>>2]=w[a+84>>2]+8;d=c-d|0;b=b-(b>>>5|0)|0;break A}b=b+(2048-b>>>5|0)|0}w[a>>2]=d;v[e>>1]=b}c=0;e=w[a+84>>2];if(e>>>0>=z[a+36>>2]|e>>>0>=z[a+48>>2]){break b}d=w[a+32>>2];b=w[a+40>>2]-d|0;c=w[a+104>>2];b=b>>>0>>0?b:c;w[a+104>>2]=c-b;c=d+(e^-1)|0;c=d>>>0<=e>>>0?w[a+44>>2]+c|0:c;if(b&1){e=w[a+24>>2];d=x[e+c|0];f=w[a+32>>2];w[a+32>>2]=f+1;u[e+f|0]=d;e=c+1|0;c=(e|0)!=w[a+44>>2]?e:0;d=b-1|0}else{d=b}if((b|0)!=1){while(1){b=w[a+24>>2];e=x[b+c|0];f=w[a+32>>2];w[a+32>>2]=f+1;u[b+f|0]=e;b=w[a+24>>2];e=c+1|0;e=(e|0)!=w[a+44>>2]?e:0;c=x[b+e|0];f=w[a+32>>2];w[a+32>>2]=f+1;u[b+f|0]=c;b=e+1|0;c=(b|0)!=w[a+44>>2]?b:0;d=d-2|0;if(d){continue}break}}h=w[a+32>>2];if(h>>>0<=z[a+36>>2]){break e}w[a+36>>2]=h}if(z[a+40>>2]>h>>>0){continue}break}}c=1;b=w[a>>2];if(b>>>0>16777215){break b}w[a>>2]=b<<8;b=w[a+16>>2];w[a+16>>2]=b+1;w[a+4>>2]=x[b+w[a+12>>2]|0]|w[a+4>>2]<<8}return c}function W(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;h=8;a:{b:{if(a>>>0>4294967239){break b}while(1){h=h>>>0<=8?8:h;d=w[1291];c=w[1290];a=a>>>0<=8?8:a+3&-4;c:{if(a>>>0<=127){b=(a>>>3|0)-1|0;break c}e=F(a);b=((a>>>29-e^4)-(e<<2)|0)+110|0;if(a>>>0<=4095){break c}e=((a>>>30-e^2)-(e<<1)|0)+71|0;b=e>>>0>=63?63:e}g=b;b=g&31;if((g&63)>>>0>=32){e=0;b=d>>>b|0}else{e=d>>>b|0;b=((1<>>b}if(b|e){while(1){d=b;d:{if(e|b){c=e-1|0;i=c+1|0;f=c;c=b-1|0;f=(c|0)!=-1?i:f;c=F(b^c)+32|0;b=F(e^f);b=(b|0)==32?c:b;c=63-b|0;O=0-(b>>>0>63)|0;break d}O=0;c=64}f=c;c=f&31;if((f&63)>>>0>=32){b=0;j=e>>>c|0}else{b=e>>>c|0;j=((1<>>c}e=b;g=f+g|0;c=g<<4;d=w[c+4136>>2];f=c+4128|0;e:{if((d|0)!=(f|0)){b=X(d,h,a);if(b){break b}b=w[d+4>>2];w[b+8>>2]=w[d+8>>2];w[w[d+8>>2]+4>>2]=b;w[d+8>>2]=f;b=c+4132|0;w[d+4>>2]=w[b>>2];w[b>>2]=d;w[w[d+4>>2]+8>>2]=d;g=g+1|0;b=(e&1)<<31|j>>>1;e=e>>>1|0;break e}k=w[1291];f=g&63;b=f;d=b&31;if(b>>>0>=32){b=0;c=-1>>>d|0}else{b=-1>>>d|0;c=b|(1<>>0>=32){b=c<>>32-d|b<>>0>=32){b=-1<>>32-b}l=c&-2;c=f&31;if(f>>>0>=32){f=0;b=b>>>c|0}else{f=b>>>c|0;b=((1<>>c}b=b|i;O=d|f;w[1290]=w[1290]&b;w[1291]=O&k;b=j^1}if(b|e){continue}break}c=w[1290];d=w[1291]}f:{if(d|c){e=F(d);f=63-((e|0)==32?F(c)+32|0:e)|0;b=f<<4;e=w[b+4136>>2];g:{if(!d&c>>>0<1073741824){break g}g=99;d=b+4128|0;if((d|0)==(e|0)){break g}while(1){if(!g){break g}b=X(e,h,a);if(b){break b}g=g-1|0;e=w[e+8>>2];if((d|0)!=(e|0)){continue}break}e=d}if(Y(a+48|0)){break f}if(!e){break a}g=(f<<4)+4128|0;if((g|0)==(e|0)){break a}while(1){b=X(e,h,a);if(b){break b}e=w[e+8>>2];if((g|0)!=(e|0)){continue}break}break a}if(!Y(a+48|0)){break a}}b=0;if(h-1&h){break b}if(a>>>0<=4294967239){continue}break}}return b}return 0}function T(a,b,c){var d=0,e=0;if(c>>>0>=512){N(a|0,b|0,c|0);return}d=a+c|0;a:{if(!((a^b)&3)){b:{if(!(a&3)){c=a;break b}if(!c){c=a;break b}c=a;while(1){u[c|0]=x[b|0];b=b+1|0;c=c+1|0;if(!(c&3)){break b}if(c>>>0>>0){continue}break}}a=d&-4;c:{if(a>>>0<64){break c}e=a+-64|0;if(e>>>0>>0){break c}while(1){w[c>>2]=w[b>>2];w[c+4>>2]=w[b+4>>2];w[c+8>>2]=w[b+8>>2];w[c+12>>2]=w[b+12>>2];w[c+16>>2]=w[b+16>>2];w[c+20>>2]=w[b+20>>2];w[c+24>>2]=w[b+24>>2];w[c+28>>2]=w[b+28>>2];w[c+32>>2]=w[b+32>>2];w[c+36>>2]=w[b+36>>2];w[c+40>>2]=w[b+40>>2];w[c+44>>2]=w[b+44>>2];w[c+48>>2]=w[b+48>>2];w[c+52>>2]=w[b+52>>2];w[c+56>>2]=w[b+56>>2];w[c+60>>2]=w[b+60>>2];b=b- -64|0;c=c- -64|0;if(e>>>0>=c>>>0){continue}break}}if(a>>>0<=c>>>0){break a}while(1){w[c>>2]=w[b>>2];b=b+4|0;c=c+4|0;if(a>>>0>c>>>0){continue}break}break a}if(d>>>0<4){c=a;break a}e=d-4|0;if(e>>>0>>0){c=a;break a}c=a;while(1){u[c|0]=x[b|0];u[c+1|0]=x[b+1|0];u[c+2|0]=x[b+2|0];u[c+3|0]=x[b+3|0];b=b+4|0;c=c+4|0;if(e>>>0>=c>>>0){continue}break}}if(c>>>0>>0){while(1){u[c|0]=x[b|0];b=b+1|0;c=c+1|0;if((d|0)!=(c|0)){continue}break}}}function $(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;d=w[a>>2];a:{if(d>>>0>=16777216){f=w[a+4>>2];break a}d=d<<8;w[a>>2]=d;f=w[a+16>>2];w[a+16>>2]=f+1;f=x[f+w[a+12>>2]|0]|w[a+4>>2]<<8;w[a+4>>2]=f}e=y[b>>1];g=C(e,d>>>11|0);b:{if(g>>>0>f>>>0){w[a>>2]=g;v[b>>1]=e+(2048-e>>>5|0);h=((c<<4)+b|0)+4|0;f=8;b=2;break b}d=d-g|0;w[a>>2]=d;f=f-g|0;w[a+4>>2]=f;v[b>>1]=e-(e>>>5|0);if(d>>>0<=16777215){d=d<<8;w[a>>2]=d;e=w[a+16>>2];w[a+16>>2]=e+1;f=x[e+w[a+12>>2]|0]|f<<8;w[a+4>>2]=f}e=y[b+2>>1];g=C(e,d>>>11|0);if(g>>>0>f>>>0){w[a>>2]=g;v[b+2>>1]=e+(2048-e>>>5|0);h=((c<<4)+b|0)+260|0;f=8;b=10;break b}w[a>>2]=d-g;w[a+4>>2]=f-g;v[b+2>>1]=e-(e>>>5|0);h=b+516|0;f=256;b=18}w[a+104>>2]=b;b=1;while(1){b=b<<1;i=h+b|0;d=w[a>>2];c:{if(d>>>0>=16777216){c=w[a+4>>2];break c}d=d<<8;w[a>>2]=d;c=w[a+16>>2];w[a+16>>2]=c+1;c=x[c+w[a+12>>2]|0]|w[a+4>>2]<<8;w[a+4>>2]=c}e=y[i>>1];g=C(e,d>>>11|0);d:{if(g>>>0<=c>>>0){w[a+4>>2]=c-g;g=d-g|0;b=b|1;c=e-(e>>>5|0)|0;break d}c=e+(2048-e>>>5|0)|0}w[a>>2]=g;v[i>>1]=c;if(b>>>0>>0){continue}break}w[a+104>>2]=w[a+104>>2]+(b-f|0)}function Y(a){var b=0,c=0,d=0,e=0,f=0;d=w[258];b=a+7&-8;c=d+b|0;a:{b:{if(c>>>0<=d>>>0?b:0){break b}if(c>>>0>Q()<<16>>>0){if(!(M(c|0)|0)){break b}}w[258]=c;break a}w[1029]=48;d=-1}if((d|0)!=-1){b=a+d|0;c=b-16|0;w[c+12>>2]=16;w[c>>2]=16;a=w[1288];if(a){f=w[a+8>>2]}else{f=0}c:{d:{if((f|0)==(d|0)){e=d-(w[d-4>>2]&-2)|0;f=w[e-4>>2];w[a+8>>2]=b;a=e-(f&-2)|0;b=-16;if(!(u[(a+w[a>>2]|0)-4|0]&1)){break d}b=w[a+4>>2];w[b+8>>2]=w[a+8>>2];w[w[a+8>>2]+4>>2]=b;c=c-a|0;w[a>>2]=c;break c}w[d+12>>2]=16;w[d>>2]=16;w[d+8>>2]=b;w[d+4>>2]=a;w[1288]=d;b=16}a=b+d|0;c=c-a|0;w[a>>2]=c}w[((c&-4)+a|0)-4>>2]=c|1;b=w[a>>2]-8|0;e:{if(b>>>0<=127){c=(b>>>3|0)-1|0;break e}e=F(b);c=((b>>>29-e^4)-(e<<2)|0)+110|0;if(b>>>0<=4095){break e}c=((b>>>30-e^2)-(e<<1)|0)+71|0;c=c>>>0>=63?63:c}b=c<<4;w[a+4>>2]=b+4128;b=b+4136|0;w[a+8>>2]=w[b>>2];w[b>>2]=a;w[w[a+8>>2]+4>>2]=a;b=w[1290];e=w[1291];a=c&31;if((c&63)>>>0>=32){c=1<>>32-a}w[1290]=f|b;w[1291]=c|e}return(d|0)!=-1}function X(a,b,c){var d=0,e=0,f=0,g=0;d=a+4|0;e=(d+b|0)-1&0-b;b=w[a>>2];if(e+c>>>0<=(b+a|0)-4>>>0){f=w[a+4>>2];w[f+8>>2]=w[a+8>>2];w[w[a+8>>2]+4>>2]=f;if((d|0)!=(e|0)){e=e-d|0;f=a-(w[a-4>>2]&-2)|0;d=e+w[f>>2]|0;w[f>>2]=d;w[(f+(d&-4)|0)-4>>2]=d;a=a+e|0;b=b-e|0;w[a>>2]=b}a:{if(c+24>>>0<=b>>>0){d=(a+c|0)+8|0;b=(b-c|0)-8|0;w[d>>2]=b;w[(d+(b&-4)|0)-4>>2]=b|1;e=w[d>>2]-8|0;b:{if(e>>>0<=127){b=(e>>>3|0)-1|0;break b}f=F(e);b=((e>>>29-f^4)-(f<<2)|0)+110|0;if(e>>>0<=4095){break b}b=((e>>>30-f^2)-(f<<1)|0)+71|0;b=b>>>0>=63?63:b}e=b<<4;w[d+4>>2]=e+4128;e=e+4136|0;w[d+8>>2]=w[e>>2];w[e>>2]=d;w[w[d+8>>2]+4>>2]=d;e=w[1290];f=w[1291];d=b&31;if((b&63)>>>0>=32){b=1<>>32-d;d=g}w[1290]=d|e;w[1291]=b|f;b=c+8|0;w[a>>2]=b;w[((b&-4)+a|0)-4>>2]=b;break a}w[(a+b|0)-4>>2]=b}a=a+4|0}else{a=0}return a}function ba(){var a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;while(1){a=g<<30>>31;f=a&-679014590;d=a&-915646571;a=g&1;c=0-a|0;b=0-((a|0)!=0)&-915646571;a=c&-679014590^((h&1)<<31|g>>>1);c=h>>>1^b;e=c>>>1|0;c=((c&1)<<31|a>>>1)^f;f=d^e;b=c<<30>>31;e=b;b=b&-679014590;i=e&-915646571;d=a<<30;e=d>>31;j=d>>31&-679014590;a=f;d=a>>>1|0;a=j^((a&1)<<31|c>>>1);c=d^e&-915646571;f=b;b=c>>>1|0;c=f^((c&1)<<31|a>>>1);f=b^i;b=c<<30>>31;d=b&-679014590;i=b&-915646571;e=a<<30;b=e>>31;j=e>>31&-679014590;a=f;e=a>>>1|0;a=j^((a&1)<<31|c>>>1);c=e^b&-915646571;f=d;d=c>>>1|0;c=f^((c&1)<<31|a>>>1);f=d^i;b=c<<30;d=b>>31;e=b>>31&-679014590;i=d&-915646571;b=a<<30;d=b>>31;k=(g<<3)+2064|0;j=b>>31&-339507295;a=f;b=a>>>2|0;w[k>>2]=j^((a&3)<<30|c>>>2)^e;w[k+4>>2]=b^d&1689660362^i;g=g+1|0;h=g?h:h+1|0;if((g|0)!=256|h){continue}break}}function U(a){var b=0,c=0,d=0,e=0,f=0;if(a){b=a-4|0;e=w[b>>2];c=e;d=b;f=w[a-8>>2];a=f&-2;if((a|0)!=(f|0)){d=b-a|0;c=w[d+4>>2];w[c+8>>2]=w[d+8>>2];w[w[d+8>>2]+4>>2]=c;c=a+e|0}a=b+e|0;b=w[a>>2];if((b|0)!=w[(a+b|0)-4>>2]){e=w[a+4>>2];w[e+8>>2]=w[a+8>>2];w[w[a+8>>2]+4>>2]=e;c=b+c|0}w[d>>2]=c;w[((c&-4)+d|0)-4>>2]=c|1;b=w[d>>2]-8|0;a:{if(b>>>0<=127){a=(b>>>3|0)-1|0;break a}c=F(b);a=((b>>>29-c^4)-(c<<2)|0)+110|0;if(b>>>0<=4095){break a}a=((b>>>30-c^2)-(c<<1)|0)+71|0;a=a>>>0>=63?63:a}b=a<<4;w[d+4>>2]=b+4128;b=b+4136|0;w[d+8>>2]=w[b>>2];w[b>>2]=d;w[w[d+8>>2]+4>>2]=d;b=w[1290];c=w[1291];d=a&31;if((a&63)>>>0>=32){a=1<>>32-d}w[1290]=e|b;w[1291]=a|c}}function Z(a,b){var c=0;a:{if(!b){break a}u[a|0]=0;c=a+b|0;u[c-1|0]=0;if(b>>>0<3){break a}u[a+2|0]=0;u[a+1|0]=0;u[c-3|0]=0;u[c-2|0]=0;if(b>>>0<7){break a}u[a+3|0]=0;u[c-4|0]=0;if(b>>>0<9){break a}c=0-a&3;a=c+a|0;w[a>>2]=0;c=b-c&-4;b=c+a|0;w[b-4>>2]=0;if(c>>>0<9){break a}w[a+8>>2]=0;w[a+4>>2]=0;w[b-8>>2]=0;w[b-12>>2]=0;if(c>>>0<25){break a}w[a+24>>2]=0;w[a+20>>2]=0;w[a+16>>2]=0;w[a+12>>2]=0;w[b-16>>2]=0;w[b-20>>2]=0;w[b-24>>2]=0;w[b-28>>2]=0;b=c;c=a&4|24;b=b-c|0;if(b>>>0<32){break a}a=a+c|0;while(1){w[a+24>>2]=0;w[a+28>>2]=0;w[a+16>>2]=0;w[a+20>>2]=0;w[a+8>>2]=0;w[a+12>>2]=0;w[a>>2]=0;w[a+4>>2]=0;a=a+32|0;b=b-32|0;if(b>>>0>31){continue}break}}}function ga(a){a=a|0;var b=0,c=0,d=0;if(!x[4112]){da();ba();u[4112]=1}c=W(28);b=W(1208);a:{if(b){w[b+36>>2]=2;d=W(28456);if(d){w[d+52>>2]=104857600;w[d+60>>2]=2;w[d+24>>2]=0;w[d+56>>2]=0}else{d=0}w[b+1200>>2]=d;if(d){u[b+40|0]=0;w[b>>2]=0;w[b+4>>2]=0;w[b+24>>2]=0;w[b+28>>2]=0;Z(b+72|0,100);w[b+172>>2]=12;break a}U(b)}b=0}w[c>>2]=b;b=W(a);w[c+8>>2]=0;w[c+12>>2]=0;w[c+4>>2]=b;b=W(a);w[c+24>>2]=a;w[c+20>>2]=0;w[c+16>>2]=b;return c|0}function ca(a,b,c){var d=0,e=0;a:{b:{if(c>>>0>=4){if((a|b)&3){break b}while(1){if(w[a>>2]!=w[b>>2]){break b}b=b+4|0;a=a+4|0;c=c-4|0;if(c>>>0>3){continue}break}}if(!c){break a}}while(1){d=x[a|0];e=x[b|0];if((d|0)==(e|0)){b=b+1|0;a=a+1|0;c=c-1|0;if(c){continue}break a}break}return d-e|0}return 0}function da(){var a=0,b=0,c=0;while(1){b=0-(a&1)&-306674912^a>>>1;c=a<<30>>31&-306674912^b>>>1;w[(a<<2)+1040>>2]=c<<26>>31&-306674912^(b<<26>>31&1994146192^(a<<26>>31&997073096^(a<<27>>31&498536548^(a<<28>>31&249268274^(a<<29>>31&124634137^c>>>6)))));a=a+1|0;if((a|0)!=256){continue}break}}function V(a,b,c){var d=0;if(b){c=c^-1;if(b&1){c=w[((x[a|0]^c&255)<<2)+1040>>2]^c>>>8;a=a+1|0;d=b-1|0}else{d=b}if((b|0)!=1){while(1){b=w[((x[a|0]^c&255)<<2)+1040>>2]^c>>>8;c=w[((x[a+1|0]^b&255)<<2)+1040>>2]^b>>>8;a=a+2|0;d=d-2|0;if(d){continue}break}}c=c^-1}return c}function _(a,b,c){var d=0,e=0,f=0;d=w[a+132>>2];e=w[a+16>>2];c=c-e|0;f=w[a+128>>2]+c|0;d=c>>>0>f>>>0?d+1|0:d;w[a+128>>2]=f;w[a+132>>2]=d;w[a+24>>2]=V(b+e|0,c,w[a+24>>2]);w[a+28>>2]=0}function ia(a){a=a|0;var b=0,c=0;b=w[a>>2];if(b){c=w[b+1200>>2];if(w[c+60>>2]){U(w[c+24>>2])}U(c);U(b)}U(w[a+4>>2]);U(w[a+16>>2]);U(a)}function ea(){var a=0,b=0,c=0;while(1){b=a<<4;c=b+4128|0;w[b+4132>>2]=c;w[b+4136>>2]=c;a=a+1|0;if((a|0)!=64){continue}break}Y(48)}function na(a,b){a=a|0;b=b|0;w[a+12>>2]=b;w[a+8>>2]=0}function fa(a){a=a|0;return z[a+8>>2]>=z[a+12>>2]|0}function ha(){if(!x[4112]){da();ba();u[4112]=1}}function oa(a){a=a|0;return w[a+4>>2]} +function la(a){a=a|0;return w[a+20>>2]}function ka(a){a=a|0;return w[a+16>>2]}function ja(a){a=a|0;w[a+20>>2]=0} // EMSCRIPTEN_END_FUNCS -e=w;p(U);var R=c([]);function S(){return s.byteLength/65536|0}return{"d":ha,"e":ka,"f":ja,"g":ia,"h":ra,"i":qa,"j":pa,"k":oa,"l":na,"m":ma,"n":la,"o":R}}return T(V)} +e=x;p(q);var P=c([]);function Q(){return t.byteLength/65536|0}return{"d":ea,"e":ha,"f":ga,"g":fa,"h":oa,"i":na,"j":ma,"k":la,"l":ka,"m":ja,"n":ia,"o":P}}return R(S)} // EMSCRIPTEN_END_ASM - - -)(A)}function da(){return{then:function(b){b({instance:new ba})}}}var ea=Error,WebAssembly={};y=[];"object"!==typeof WebAssembly&&B("no native wasm support detected"); -var D,E=!1,F,G,z=a.INITIAL_MEMORY||83886080;a.wasmMemory?D=a.wasmMemory:D=new aa;D&&(F=D.buffer);z=F.byteLength;var J=F;F=J;a.HEAP8=new Int8Array(J);a.HEAP16=new Int16Array(J);a.HEAP32=new Int32Array(J);a.HEAPU8=G=new Uint8Array(J);a.HEAPU16=new Uint16Array(J);a.HEAPU32=new Uint32Array(J);a.HEAPF32=new Float32Array(J);a.HEAPF64=new Float64Array(J);var K,L=[],M=[],N=[];function fa(){var b=a.preRun.shift();L.unshift(b)} -Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(b,e){var d=b&65535,m=e&65535;return d*m+((b>>>16)*m+d*(e>>>16)<<16)|0});if(!Math.fround){var O=new Float32Array(1);Math.fround=function(b){O[0]=b;return O[0]}}Math.clz32||(Math.clz32=function(b){var e=32,d=b>>16;d&&(e-=16,b=d);if(d=b>>8)e-=8,b=d;if(d=b>>4)e-=4,b=d;if(d=b>>2)e-=2,b=d;return b>>1?e-2:e-b});Math.trunc||(Math.trunc=function(b){return 0>b?Math.ceil(b):Math.floor(b)});var S=0,T=null,U=null;a.preloadedImages={}; -a.preloadedAudios={};function B(b){if(a.onAbort)a.onAbort(b);x(b);E=!0;b=new ea("abort("+b+"). Build with -s ASSERTIONS=1 for more info.");q(b);throw b;}function V(b){return b.startsWith("data:application/octet-stream;base64,")}var W;W="xzdec-asm.wasm";if(!V(W)){var ha=W;W=a.locateFile?a.locateFile(ha,u):u+ha} -function ia(){var b=W;try{if(b==W&&y)return new Uint8Array(y);if(V(b))try{var e=ja(b.slice(37)),d=new Uint8Array(e.length);for(b=0;b>4; -h=(h&15)<<4|k>>2;var H=(k&3)<<6|v;e+=String.fromCharCode(m);64!==k&&(e+=String.fromCharCode(h));64!==v&&(e+=String.fromCharCode(H))}while(d>>16)*g+c*(e>>>16)<<16)|0});if(!Math.fround){var L=new Float32Array(1);Math.fround=function(a){L[0]=a;return L[0]}} +Math.clz32||(Math.clz32=function(a){var e=32,c=a>>16;c&&(e-=16,a=c);if(c=a>>8)e-=8,a=c;if(c=a>>4)e-=4,a=c;if(c=a>>2)e-=2,a=c;return a>>1?e-2:e-a});Math.trunc||(Math.trunc=function(a){return 0>a?Math.ceil(a):Math.floor(a)});var P=0,Q=null,R=null;function A(a){if(p.onAbort)p.onAbort(a);a="Aborted("+a+")";x(a);D=!0;a=new ja(a+". Build with -sASSERTIONS for more info.");r(a);throw a;}function S(a){return a.startsWith("data:application/octet-stream;base64,")}var T; +if(p.locateFile){if(T="xzdec-asm.wasm",!S(T)){var U=T;T=p.locateFile?p.locateFile(U,w):w+U}}else T=(new URL("xzdec-asm.wasm",import.meta.url)).href;function V(a){try{if(a==T&&y)return new Uint8Array(y);if(S(a))try{var e=la(a.slice(37)),c=new Uint8Array(e.length);for(a=0;a>4; +k=(k&15)<<4|l>>2;var G=(l&3)<<6|u;e+=String.fromCharCode(g);64!==l&&(e+=String.fromCharCode(k));64!==u&&(e+=String.fromCharCode(G))}while(c { + var _scriptDir = import.meta.url; return ( -function(XZ) { - XZ = XZ || {}; +function(XZ = {}) { - -var a;a||(a=typeof XZ !== 'undefined' ? XZ : {});var e,f;a.ready=new Promise(function(b,c){e=b;f=c});var h={},k;for(k in a)a.hasOwnProperty(k)&&(h[k]=a[k]);var m="";"undefined"!==typeof document&&document.currentScript&&(m=document.currentScript.src);_scriptDir&&(m=_scriptDir);0!==m.indexOf("blob:")?m=m.substr(0,m.lastIndexOf("/")+1):m="";var n=a.printErr||console.warn.bind(console);for(k in h)h.hasOwnProperty(k)&&(a[k]=h[k]);h=null;var p;a.wasmBinary&&(p=a.wasmBinary); -var noExitRuntime=a.noExitRuntime||!0;"object"!==typeof WebAssembly&&q("no native wasm support detected");var r,t=!1,u,v,w=[],x=[],z=[];function A(){var b=a.preRun.shift();w.unshift(b)}var B=0,C=null,D=null;a.preloadedImages={};a.preloadedAudios={};function q(b){if(a.onAbort)a.onAbort(b);n(b);t=!0;b=new WebAssembly.RuntimeError("abort("+b+"). Build with -s ASSERTIONS=1 for more info.");f(b);throw b;}function E(){return F.startsWith("data:application/octet-stream;base64,")}var F;F="xzdec-wasm.wasm"; -if(!E()){var G=F;F=a.locateFile?a.locateFile(G,m):m+G}function H(){var b=F;try{if(b==F&&p)return new Uint8Array(p);throw"both async and sync fetching of the wasm failed";}catch(c){q(c)}}function I(){return p||"function"!==typeof fetch?Promise.resolve().then(function(){return H()}):fetch(F,{credentials:"same-origin"}).then(function(b){if(!b.ok)throw"failed to load wasm binary file at '"+F+"'";return b.arrayBuffer()}).catch(function(){return H()})} -function J(b){for(;0{f=b;g=c});var h=Object.assign({},a),k="";"undefined"!=typeof document&&document.currentScript&&(k=document.currentScript.src);_scriptDir&&(k=_scriptDir);0!==k.indexOf("blob:")?k=k.substr(0,k.replace(/[?#].*/,"").lastIndexOf("/")+1):k="";var l=a.printErr||console.warn.bind(console);Object.assign(a,h);h=null;var m;a.wasmBinary&&(m=a.wasmBinary);var noExitRuntime=a.noExitRuntime||!0; +"object"!=typeof WebAssembly&&n("no native wasm support detected");var p,q=!1,r,t=[],u=[],v=[];function w(){var b=a.preRun.shift();t.unshift(b)}var x=0,y=null,z=null;function n(b){if(a.onAbort)a.onAbort(b);b="Aborted("+b+")";l(b);q=!0;b=new WebAssembly.RuntimeError(b+". Build with -sASSERTIONS for more info.");g(b);throw b;}function A(b){return b.startsWith("data:application/octet-stream;base64,")}var B; +if(a.locateFile){if(B="xzdec-wasm.wasm",!A(B)){var C=B;B=a.locateFile?a.locateFile(C,k):k+C}}else B=(new URL("xzdec-wasm.wasm",import.meta.url)).href;function D(b){try{if(b==B&&m)return new Uint8Array(m);throw"both async and sync fetching of the wasm failed";}catch(c){n(c)}} +function E(b){return m||"function"!=typeof fetch?Promise.resolve().then(()=>D(b)):fetch(b,{credentials:"same-origin"}).then(c=>{if(!c.ok)throw"failed to load wasm binary file at '"+b+"'";return c.arrayBuffer()}).catch(()=>D(b))}function F(b,c,e){return E(b).then(d=>WebAssembly.instantiate(d,c)).then(d=>d).then(e,d=>{l("failed to asynchronously prepare wasm: "+d);n(d)})} +function G(b,c){var e=B;return m||"function"!=typeof WebAssembly.instantiateStreaming||A(e)||"function"!=typeof fetch?F(e,b,c):fetch(e,{credentials:"same-origin"}).then(d=>WebAssembly.instantiateStreaming(d,b).then(c,function(K){l("wasm streaming compile failed: "+K);l("falling back to ArrayBuffer instantiation");return F(e,b,c)}))}function H(b){for(;0sMz(CKb{!>w?5rBwk!|coeuz*W90
P~lYZiU!oTPq^dEJL{$uVv{@1))_|x^J?-f35#*nU+ z=gQUSqK{$d_f|ZG@u&zkbtM(+PnN6tk)NU)g}$$1V0QYaT=; zej2WXVSZX%35)q@X(cS>rvoeDKz@oVA?BxpE8$>%T3!ju`RVXVIGmr3t%PIw>4Pib zgZb%^mGDS@dVD234rQwoqil6jhghB!MG<7r4*WLkeJV2tN;nWjXeFi&BA7@ z#%S_|HrrYV61+q^Vxf&vpv#&nP*aW)R_M)Lch-^*!i^CWNQ+NIP74S+oyJIL}qI*?~ zoJ_?mX3~njg7<8LUC57(khS~n+V2GFXF%a7NT-0rOhtuKD~77NRff)Hcr|rLt*{z6 zB%L(NOWoLtt<*icf7Hsf)!nekEM`BJL}32e{rBZQjCU{8@0#}>N{#o$of~y;%{^^I z_hRo8b??Tg8(u{Wz1PPzHnLH-B@by;8QYRl9i&nvIJ;rH?hIP7lzO3kje2Q}Uc$tI zNQT<@88%AKHO*4VRNM4~U?qtncGvt3lxj=F;Bn`-t|MZ-daW{4;b~^ls4IuoHSAHc z?ytW-0apf@2~Msd12tvKReElZionf!kk`_{o@ubpfb@iXu#OK>@|8>mrKXS z!;ZY^lLI+M9W{kin#oUr@OEx@znt!Ua!^#sjXEZ6KUoJBDv zatta7{hX}V=nobp1ID;zpJ%1rVmtQIuwA2>h-70{FF0}m_z{$mW99M8n#XlZ5@>DN zyZx3Y!7z~zPKgC#Fa)QiagI`9oVsX*<|c9oS_404P6PY7$7x_G<}`eoISv292qi#w z%j`7DnbTnL)M@@HT2o;S&!K84zI}M+m2HeCCpa(M& zocTTdHpiA7sPq^OkU&}psQTB!w>B}(8(k9xFFND&@_Jq1MqySVdBt#UzoP3CE)6#n zV8YO$W)+*VoApxi-;0T$=hCJ;;AWOrkjV|fA{5(Pv#er^mNxER-&&neb@oIQS5PE2L4H6ZE9AgH$A2L2RK$yX1kTHXq5tW84 z%gWPi#BR)aWwth&;Rq+vV$+`cXoe!m3w4q80w>x8lO1}Y_vi(-+60sBdQnXELVj3! zp#WxnMkpI6aIQjrE|@fWA!0XAR$mE36lwpHNYW)stze3BDj8+Yw3JolmkK6K%2tZz zbsz#v7j|X~@hpg7I^S#N;WepRE&ip9A^c}Mxf*lmIy;1TNYfpn#@5P^y3K2!`m=@a zZ9pq0vxSR!80Nv0Yqo81_Ovv6Ixq#rhH^bEU9O2}K1GA8w87!@+?qRHaDWCNYXC0| zVoc28HEQ3(ggP>xM{#i4m;E$B0rV}Vh&*%L*+fuLG2?9~2b_)#I}cSKP>cucq2e0M zkroYwQgP>%Am;v~%O2)gFTaGax7w(=r%H)``1fELIW zCo8$dJ8GgoRu;fR$->KWoAT#qu|Mh+5{pz_eX(xGmSvK$ZFJzVt_|^CsdaVym^aKI z7(*D3I*IU~ER9DyV;cfYB{_{}frk#lB3mcgTBN&o?{+Nf;&}(IIK~E7OYSnRWD+w( zK{EVsND}L$njrZpWSg;EXjlYhTR85(Q1SFrM%T3fVGmR*;ZpJ=kB~dO@`U5@sJn{{ zrfk?rSD4Xda^4{WCA}3A=x&!l$V?(KgRK(D_GHu+3YSMSj*6f;*(m38S!RUJEU6X> zj)W!hOYo#Mfy0-o&pqrPXf$cLHXVy~m(Xp?>g*+!!v%QFzJurTi(^)$0Lz07;ZlK< z$J6`C*Z>*{ROE)re9Aag%){j0qe8wjXRym*NdlA>DrFV;*yw1Kb00?v6R8RIQY5Jq zD-NIB4^Tkl#8y6Hn%D{+INTo|{bSBaq5zcG-BBzFLh(1Kh-y2IG;!@7EdkFn;U7@n|pO-@EZ>h>o#i2t5po zrw5FBdcN+Z)&}{~a@dI7^?Cs<9M_#un=_bm`0)FAf*>ulG6>v_?(7EGg15Za4a8#P zl_0f``j-(=Fh@X^l^uaub$edf9`i59E+RpUT`S;`ll-W1OSn#ViWJyNQ zOHiRTFV+x*A0jkd9j9yk7su(H_l-x;XURt|wJ`yhvH&s|9tIfW zpTcr=azD1^hRV3_O6K84e1OQ?Fh_m~6+%Q&VqJ>eEpx>mnI2{JGppi^#$`OOB;p(j z=2I_Ai*y`mJ>NH1)1FA(^b@vQf=7#G>hi%G)P(FTEWOMkv36V&%mP`c1u32EM`Z(J zr!^sL1=TrgQaHP8uw_Ol)prZDD%(*n7E^cLqpZugP?Q>8sy!RMdW=nMZqE=XN6M}_ zs4WDVjf#^>W@iYLX3oJ7$l(O{bJX8dm!#boa+ot@dFr`{ep7M({&9KBg61flJ1BOJ z`md^5o?1^6wuk}91OAZOWIG~!X4`p;4SjiuTsAAL&J0QKaEH)#iJ_NRg#%2Tr}j6( zg%Q%cMy*NR8xE>SYLbkbB^>O`IOs=>cOVJam~J$CfSWT8W`{UO7%<@AZIRZPLfp>5 zZCKw1>*erF?q@nuh5O?;;{fY3hFL4-QESh9mT|m&k7zAZc>7+&mcz4hP+QF0(thbX z&@N8x=h>BT(U4SF%~GkRRTd^0TaWp-*Ca=E1^grObPL;i z7+RWkW_AkG%*-EzsqztHS3B!z#&kSV2$ELr%*}s1ODi*{Gwwyazom8O&1_2#wsTl` zn|(nj9IkR|rHaq2iHgt0V@Oj^q6IIkVOf8~8lAIbn4mZ<|Kyic{-FXfUjuGc1b7m= zz)%^6Q7NXGlnqvHQAD;;u9YhPg6ynFk_IbO{wc6Ea0N}^gC3c4FV$jaDc zO&Ymb?pyxF`{LCCwR$}j-2DtG2-kk@(`!%s=Gx!<@gIHZ8~^e9Z#{K=4cKe``X}e6 zG;!m#+S{Muo*mKOI~D$~cKpfj{?0c)`(MBPwRhb07}mm#*Iu*6+M0i*c5Bzd)8f}} zcy5xzYLF|RUM63rn`pP9;-fBeX`@LY2x*8#gH%Q;nTpc_61mjym6(Ni)u+%II1Yc!zy=YObh$xs;>z9bTdLSmD_OdaKMkm#V=NVVA!g; z0Zm`*@!*Xe_}PQtdHb85sX$2;)J^z+-C8GJKF$QqTFQ70TwtrTQha=~7lT2dQM`;A zS(DU;CE$IT>xXyTkc+d#E&CfjipS9pb!9|l1`CHRT!NBEO8_^7M!35*%Z$VLk&#zBu$-Eb$DXF85gTR zKN|LOzlkpiMGLi!e2+Fr&t z)l+1=&A3pY`}h7ExkAmevAt)(2e(l5%T~LyC)0#81-mz>b#zh}&NB1~vCQ5!)&pOU zv@dN%Z7z@=g4QX6XaLaAz)=#-<<^G^6M{#cqw5zZfEkW5pWGF*bL;XX720jvd2*n{ zmfTdu{k3jt5BHR-sYN>0uTonej<~nH7U}5=prraAYd$@|TSmW;-otfH?yYq}Mi|yD zj92IP^SlaME7|J8dQWUO6oCn}A;%DqlgecdHuh`$t2v6?oXB&A!ym@tA^Bpx&d`10+s$p>4^;%o3WRfFxu@zeX2M9CP$|3><;X@?-1h6pz! z0)B3zp}3cZ*dm$Xio7ri{1k6~HfcQEK1tv()wFvV7-Ly5_R-wSz%>pBM_x4dGO;D! zW=aOi(|@(#?a3uG-{tz zaF#{ad`%Ms8;9{mYj<+zm9^sf`5aZs>`~|#TlAzIru(AIbWrP>=o@hix`5=KDBcUg zgx){Fmj>EPWkB+&mW_#V&|{Zw6!O6+azWQC_mOAk7dpS-{8m1{utH3sV++R4lW}a? z1$BU#Zd9V*?f1Ai8Hr8ymf)~pl*k*St!ZhvXQ0jkeMcB&{(t6FivnMP78ECR=L`#% zutr$N9o%-#G@zxa5ZJnN<8^&ygMzUOOXIfQ?#IA`U%H3{9eFBrOEG0>CNlXlYp66K zMd`W>jzi6(D}d;*E?!Z@zALY;GczRf=@16kH~fj(Hy#}y18;mlU5>iH^ywcyug^%> z_IVi9HeVK&-J5yxL+n_O@$c2`}2Tv=7 zRuOoZ4N4?6pB_Oe$*)z+u!!V|H9Q<6ImFzTBDY?t$n6?570Ajg&ol7r62m*+z}G89 zPb_QsUDGNQlu=3xT%xL4QYOR}#$==tkvOQ~8@(M_M*;sp-m(W{p8$&=GL!Rp zIE7SH(Ml>Z1D(!UvkXxDd1zA8RX;$w;pese zar{`8l{CPi^G^SUfTibYJ{Jmq13mMI)cj0(mwM7tm`Q zQf|GH2j@l>Y1w7&I_;MQLZ9CHj(rsZ45gtA_zmLP8ok52dyk{hWDPLu3^Z|>-+4$s zx?HcWN+o7dsnrgfxXBGAhL zcTsnw@ogE@2oK(h9SdKeGEP4oJ34^dNH9>kpaYNtlF0Q5hTTAED|(?7FiJ6>&ritZ z$9zaxPN+ijA|~Xz%CxBdp@|p-;F9p-r4j?Ou`)f#9i}u4p(-;$ApN|2(KNCc_DLcI zbO@bh9U`P0n{F5mhVe=`Bd*x3tRAccU?sHUPBlZm%!iv0DBY@ilVs+y!S|538BGuE zn-U)N_57$~d=npd-@$>??bWAms2XlX5ZkyIb$97OZS%G!2v=+(20nYDmYLAI> zHSgtPN?S~QXe3!uB|x3LOPWkC(6L$zRn4eYYU@i{ysq97gj8QVIS9=n)lhj+gA{o{ zWo>{hQ0-DRJ3I=V`13+F&=rL>(v73{hed)_B0wB%d-;OCwmeSHi*tCBt~cbRt*Pgz5$Z)^87fh8ivC;#Vtf5?gqe?%`ci2E*Sw- z@dAN_X}lZ&DHbi7wdDQ^FHd1z`i6(F5Zjnf)^bb<731}#Jd_%A&?-S#)(VG!wWQF^ zm>WA7PHz}mI zy|mL}!H2c^QTGvClOn+p_mM$?hgY=tF#B%#r^Ga61Q%egU~<$n78UO<2no?0;YS{m zNOhVx+d;Hz*J%%4^T$yF=+dpR6|bi<$z)kW$~aZ0BxEWC&g%t#qlQ0pY2bND(oE8J zs5lmf7fjb$Rs$a*mEN~C0b2syw^fZW8b`LLbVZ?R8ixcHwI4ZHVyZ-uX(z$@=$S#CzS$I_UI*lw?R{R!TG28 z20!!pqHT!bLt*t5WAVkcax@hC<{9WiaG_f3sxd&F75C9_xY$6rBnao3;34kK4TzW2 ze|U-1n!)9Ro}pcTym&@IL@0ujH49KZ^J}w?9mR{Lhf%F)~Q>ifDG-!~wYWcpcgT@4Q zJ5ojGk9MSXqNCfp75V!GF#=yR?N{h0?o7>b(++$rshufcYfo^68g9vinL`Cl0Bhz9 zvd^R`PQQ`-0L@aXk?$i3Dk@C*auWBUCz=P#BL-ES%aKxaqiMbI6HBV9A--2(w9iXW g>o(o|vZ@{oj=Z~S{rB-tJo5{Vzr0Wt#}@tn0+J{B5&!@I literal 14685 zcmcheTZ~=TS;yB}d!O6vbL^9N0@FAp>ugzKjBLeJ?Knz|GHYmj!H(iYey~s;Trk9( zlNOIXwL+CBrVE4M zzvREgt7d~vpkhaQ~ z%hl+jk74MZ++Xn;#-k!w+x1kezgVv7M}CWL6#BkmoIkB$`4^93HHPSqI`^DouH?rf zCgf2E4IJ`rZ-E%b1?$YYGF3%2Jo?|({X5n^8&_#M>yRAvs8a3E@C6=oy2AxZ#J~hOz;xzh=m49fv%~kKvP*tRG~Nb-AhJvaU=POxawX@1zxd1^XFx(#(N@>}>DRwckCdpG^u=p*sbHW?CxBs&AE{y&2w4 zU0FC(x^yZVUXj>Z>YhDlA2##$>JE&@^2dmT@9_WZ!G{U}-n-Z9Psn}``}t4oFYn&0 zyXQd~)V3SDU#q(}N1gC?EMxaQutCBJl1SF8AUV~otdz)V*s0rtj^Rb!*28pD&)AkY zeQZgJ$SVCg0|T?D8C9251v7d>8zqP`cGmn&)M{JE&~f*V-a*Lv^lnvm*W9bHH1lZG zsbc5+i&eSGb~=CX-bBQDQ8+@H4bi3%owY6gS6&#n^b?21hS|CjmyV5xT|w!K15r<((#(81n#N|dEWBT088+m_K~W_)YO_qigzHR!+%tBy z_w%XxQ9yU6N()N_+kTP^%w2x?B>aYjVZL2FE#@0wYU<>U<$Sx8x~F!g14wWRb&v%b z*0W+{TD$^nfEoic5==*!5vmbM0Rs86PyJcP&oomD{cY04{21m(pJBteR z?h_<27t~Exr3)thtUTHx?g2LgLAbfSG)TL^eH%0I(jn7h4>l(5D!P(^L7DmCG^ATr zo@OAH0gzc0g;Tc zNZe*AM*N&(ZuCN%-8@x2hat*>Gdkl2*o?f0g&YRcIr@N=f~9*-5Soq+yH8f1lV4|% z!^IY=pv8s)hvM#A$JJsAG8QSzVQE<21tF^UOWzTmiZgXP0sCDuIK(q5vo^L#)f?GtABr7O;2p@KySn5%$IHcnbDvFl3y=&VrR-rA?8SU0Fl$L5>96-9EHejyox&T zHi<2yex>^1(|*`!%yNxVEr(e5aM60ZQseRM?Lu}BhhEMW&ugD3V>xqe8;3 z$WA=VGS88d2XSti2P05J1PY|gk?;69aut+}z+ptJ#IuQQMZm+RYJc2RM!H5q-X|lX zqj0z**PO}h>2WCYut#o)e+&p;t;@#a^iPBFXdkfg<0rpo zc1lb1VQsl4Vt-=$@o0d_wODx}wJ`{|(30iJIStZQ|BdlD{q(bA+b+pYV}@aB4ME#9 z@7!z?lN8#`ZFAcOW0>vH)v|Eep%QMXjgffakne~vK{ev~IDVE%^EN#|0(uw^9)~~d6wLW zyb1Q=2`agQPV8T&Npg(~*QBswk<~b+_<+2Y1Q9J+H9x>9Jq~5{Gb>_R{G?hh!%+%M z_^s5-vLkE+n=bd+g-`8?)Js1NFz4k;ggldLL*euOO=evXKWp4TnCE7(L(Lkr-@}@= zx!IV}M@7AWWFC$6jTS9HfcedjiX8;_QM=K$Id>x%l#`$7xi@p(NdRKJRU*es071Pt zDelZ!@GXUX+YWjjG6aHiD;RnL&$FN*_Mh<|D6hysK`t;gB99oN~~-qw5)yRaphwmx80C?$7)U&r_sQ+52qhJZM*a#2%eIb`D13;C{lK3 zA1B3o;&P@4E@z62fhzpXG4P&I^x8H>Q$gUyO%U{-3L^KtG_|MKR>CF81=G5?5?*Uw zFRX-%G(zkJS`vU@w$})SFZ*M6Xaz_RMv`u$#1OR5u;`=4Z)t{GD&E$o_U zpJr0q6)c;ao!l|C&rmf|8)gqAswklxkJMCv*4Y?OeZr17cnZ#Q=E4-iCUg+5z2@8% z2NU=a2b=Tzpo3?avb&XqCRLU%)zaeT1D@f7j%d3!jlxYlI1X`R>Kf?cM`(YUE7W>f zRUTL5C1Bu%2Cj&SQn*%kXknxN#>n#+-q*+p7~TJ%iSM9dhwja> zG+Mg*jQ_!a#k1-Gc2m`($kK3C{Mx3eLBJmjP{|Ueq=pGQ5dH^)6yV_om520wg3dPd zZv(#YToDi4+R3lID246BhYAnMCU%;UITb!ZqNJ2_K(UB)-&iC!4B((&*G5L_u5i*g z%GWtsv%Y>xu5Q!1CrclomAaPEnmPJNTK`vkgx}h!$)vXAn-!Z#Va8EKG(sHt7Rd~D&@iQ!@_;ztXA_Jjpi_dqfKTH=f@d~;EVf_Lo7%4AbYofXv0hNNhh=lv zbFl8R>Xo>FH&gT)1n;wKk6c@xJZF2sQY+7dL{XNY6>(vf?SW2cu(Cbkzge~iKtb)! zL@UqJ5H_FfwVP~@vIF@>1>ntRd!K45BmGm2Y$@AoJtEs{GChlM6PPbHVKO;)QHqUy zbT>ZE>KJ6OXua-u5as;W9Yv8IIRn{u2Wy3$SpfR?tC6_3ISZ0!|CnVcR;d z!uRVixNfPYspx5h(&=Hkgj*hX0!&;h0ihC_qWYoF6*{5{J0VLh|Iz3hROI~nB;Eez zPyYSwb@Y+8+0W>%TMzpiMV)=1-~6x`{xAAnH+whpAXk#}t8#6Ig8_nDB${lfu2lIkl}dTQ9JIonL%>+#}^Q^atG*xsFg_A~_&CxBvW>vMJRPaL`3{|G!!xkbc z@{tC(Vt|(0RAXI2@H`d;If^-oYRNr(Q`N8OUO_e_(X$L?I&wR~4<1V_N&TE@^di&Y zoySlQntBqNR;oI@(cU~4s}G+Ek8^YxsMhD{DFPp2Qq_VLR6wA1Zd*W4wG&Z2+j)_9 z&VI9@FH+aBrMvZh+fw>5wH?j#K6=U)(;c3@Vl_PEPwYX5wa2h;!3Vd%d0VU9*=Kv| z!b)vTg|}t6ofqs=SK#LzV?Cugz3T9%J67ke!ez$Tk3Mk%ziqIhSmZ@Qaj^EoCa z0(^II8_bEK+hjVoQ%@UKmnX@{?%2pv18vJ<-C^45ruJ|j$CWMWBmFA1HN{c)U9V1h z`zxrj+FjyO1|dl##yY_HLN1zhSpquyX4+c6pWAh|Z`m!yN~B^oDiRxwVHrgfDtNP~ zXg1;s=``fWAhXA*^Aqjl_exlmX19$$?4E){<^=9dyrButml0eC%Ql{>^~bW}0%g>~|_Ph>@vdTqUSWFIaHiQ}w7wx6p18B4MJa(mfp!^Vmr? zA0%_*IJA?-%Os$<6#Y`bGN6ytz+zs^oJbyu8VAwJ5w854<{PJ;?|- z|E8)_w%i~4cz|Ob9t8n1c(NRB`yqk&ZCb2r?spR}{dLLardhXX%bWSrtvtmoLDXTs zj}BDvKy!n@SCrWNsR3+CgtK-&OQ$VgACN%AciU@ca`&yZ;+^x^wMb5qTJ+{!$z@f~ z&pd~;uCcI@#-NL=4#1iRr!blKxkO-N3I5S=9krSi2R%lG*(iZGQqGa&Z2f#<$@(fK zvwp#et>(Z)r3p62?v;TyQJvLoIQ zH1fs?-I_{J5Q#Q928D%7*dnYeQO_NmX{Hu=Y_N6r=6kw9bIL|xRwTTZ!a)bWbo#H= z!76miJW8613{y!IJHf8(S8$|eZ!DT&9WP=ef>qk=C&G2DDe?v1bC`az_6??kF!06) z(BÐ$MI2chDly@*NmOuq-Gu1XJS|+;`9;snuGzNx&wM|DNX>is?Stgc|CmY%TU{oaTgn1B(*w{aNtFQ0|a(jhAm>3JhnV>^dDrqDrw(FseolEMUP zRmxm_K5&Ouxs^_=4Y{a|-89L!H8QLAB#vQRx!#CWxj3dAv!hH)L zjD4C|{E(HL&yUkcMd_}jB4f2EOK-ZaDIb($!}M=PU<~Oa0x%Wgjp9BxX9yTqRp@`z zpKN4akA7{JS=*@t3?$coj1up@9{HF;GuPvCD-)ihP>*+1K@NuEYlT>{&?bE0YKIP- z{>8t94f6feK{@e2bpO0RuL(}rZ`(((kYW54RY}#ECe5P|5T4d3Xx#g`4+s$c<$o5(RN!kEQY|kmQ*=uf1 z`Ng^E&*kaQ38!acFbnuN$G!Ape->x1>tRI0{Y-0kh84Tmv{W=su|*UCvQg#hICp>NY;AdvdT~UCPm*VPtlj+iVoQfGr^o z3(B8*P8TWc$`8r<+R8JbgP1|WWLfKZPF!K_NZeq`$X|;JmT5c9bq0JfF*B}+-$(dO zjd~)J*Ij73_G#ilCW2hTs-|8J*kaw4#HS*#;sn7|wzR_)SYC+>_T;I_`>jtERD-%QlWqwu(#RahxT z9hKvlkaT-i0SjMoPUsJF5jSnmHa{2PL1iU^?Wx+$__pp9sXVQVB+UYIQ#zY+x;br! zUOLok_E>9bo4b)GG3R6&I7*Tx>a2}YL~ZAZ+3hJA1M-!$@h6gY2Q3gcZI9`Ru?`}4 zi~k%3VOn6Zn6&ha^g_fuTK zL7HZcCsfAKr3;IEgZ3DKP_$BiEt)wl*#=1OH3br;DDxCV={pK9e9%8|;3Iy))RQMx znbjOUM#1=aB|l0%w9G1@97Ze4XQm}xD(0C>Q>O+qb7SPWmj`x!t=GD(m`lS@N3Ovj zP>sffL{2^6A3Hz`ho^a042kt)llpOKlF+6b2NOE;VmMI7$Kjf3yq@^SbMY|^U1~4{ z^(?h>wM7{hyp62QPrFrM%s$j$+l-l({5*u2(3qv%%xe7f^ZZn{!TsROio6_Z)ok3{ zIDtgOjmbzliiR6zf;m1dZKS2Irp@0F6O;i8Gq~TmL7ncu+&cc6U-!He*8Id5HTXIA z3VMCa}hl|sh7X)NOGEL>N#BNF%&YQ>;sVyS8+Vhe4n)vQ;aV#FV z(8SlumJbtkFK#!$mV#p4s-8#yY};45qEOzAfQH#`@I~pmXlxo)BqDiR+kAI)fT19i z@XG!XMfg=m%C>gjzw_>UO<|pXfk8|6CY{+i2qQ`O{I4j4OwGTdU?hBf#PIr2)9L^P zu;VBpU&B8Dag{E4DyTm-2-+dsV2;gKpq8`~e)6V-!RiQbMjv0z%*q|kzsjBb%;HNn zfGjPnzGd9Kv{q{KJ9+0raG_f3s(L{EATCmsu)vztu4snyH1HCuT&1|GBE?k#a2_r% zbdj3<@#3Ofib#Yet0yjN`@ubD6S%vBZ|;w`0qXnmp4{=Jq|YWnGx zw4`?TlK1T2qKOf}%(SSXpCFma=%yXuF22PSu(dC^LRGnB=$~B&l>+wT;=YWdl+P(i z5-p%vDo1ip5+|edm79|whu)|#ERT37H(ib-tQ$>zj-OakRSm&oIn_QNA+6ig{mZI) ZBDl2Gty=$m{A(9~({bsZ>k^CS{|AeF3m*Ug diff --git a/emscripten/zstandard/compile.sh b/emscripten/zstandard/compile.sh index 19a65a1c1..1e6da61b7 100644 --- a/emscripten/zstandard/compile.sh +++ b/emscripten/zstandard/compile.sh @@ -1,5 +1,5 @@ echo "Compiling ASM version zstddec-asm.js" -emcc --memory-init-file 0 -O3 --closure 1 -s ENVIRONMENT="web" -s WASM=0 -s MALLOC="emmalloc" -s TOTAL_MEMORY=150994944 -s FILESYSTEM=0 -s DOUBLE_MODE=0 -s DYNAMIC_EXECUTION=0 -s MIN_IE_VERSION=11 -s EXPORT_NAME="ZD" -s MODULARIZE=1 -s EXPORTED_FUNCTIONS="['_malloc', '_free', '_ZSTD_createDStream', '_ZSTD_initDStream', '_ZSTD_decompressStream', '_ZSTD_isError', '_ZSTD_getErrorName', '_ZSTD_freeDStream', '_ZSTD_DStreamInSize', '_ZSTD_DStreamOutSize']" -s EXPORTED_RUNTIME_METHODS="['cwrap']" ./*.c -o zstddec-asm.js +emcc --memory-init-file 0 -O3 --closure 1 -s ENVIRONMENT="web" -s WASM=0 -s MALLOC="emmalloc" -s TOTAL_MEMORY=150994944 -s FILESYSTEM=0 -s DOUBLE_MODE=0 -s DYNAMIC_EXECUTION=0 -s MIN_IE_VERSION=11 -s EXPORT_NAME="ZD" -s MODULARIZE=1 -s EXPORT_ES6=1 -s EXPORTED_FUNCTIONS="['_malloc', '_free', '_ZSTD_createDStream', '_ZSTD_initDStream', '_ZSTD_decompressStream', '_ZSTD_isError', '_ZSTD_getErrorName', '_ZSTD_freeDStream', '_ZSTD_DStreamInSize', '_ZSTD_DStreamOutSize']" -s EXPORTED_RUNTIME_METHODS="['cwrap']" ./*.c -o zstddec-asm.js echo "Compiling WASM version zstddec-wasm.js" -emcc --memory-init-file 0 -O3 --closure 1 -s ENVIRONMENT="web" -s WASM=1 -s MALLOC="emmalloc" -s TOTAL_MEMORY=150994944 -s FILESYSTEM=0 -s DOUBLE_MODE=0 -s DYNAMIC_EXECUTION=0 -s EXPORT_NAME="ZD" -s MODULARIZE=1 -s EXPORTED_FUNCTIONS="['_malloc', '_free', '_ZSTD_createDStream', '_ZSTD_initDStream', '_ZSTD_decompressStream', '_ZSTD_isError', '_ZSTD_getErrorName', '_ZSTD_freeDStream', '_ZSTD_DStreamInSize', '_ZSTD_DStreamOutSize']" -s EXPORTED_RUNTIME_METHODS="['cwrap']" ./*.c -o zstddec-wasm.js +emcc --memory-init-file 0 -O3 --closure 1 -s ENVIRONMENT="web" -s WASM=1 -s MALLOC="emmalloc" -s TOTAL_MEMORY=150994944 -s FILESYSTEM=0 -s DOUBLE_MODE=0 -s DYNAMIC_EXECUTION=0 -s EXPORT_NAME="ZD" -s MODULARIZE=1 -s EXPORT_ES6=1 -s EXPORTED_FUNCTIONS="['_malloc', '_free', '_ZSTD_createDStream', '_ZSTD_initDStream', '_ZSTD_decompressStream', '_ZSTD_isError', '_ZSTD_getErrorName', '_ZSTD_freeDStream', '_ZSTD_DStreamInSize', '_ZSTD_DStreamOutSize']" -s EXPORTED_RUNTIME_METHODS="['cwrap']" ./*.c -o zstddec-wasm.js echo "Finished." diff --git a/emscripten/zstandard/zstddec-asm.js b/emscripten/zstandard/zstddec-asm.js index 15e4d7b66..a92ff5582 100644 --- a/emscripten/zstandard/zstddec-asm.js +++ b/emscripten/zstandard/zstddec-asm.js @@ -1,58 +1,54 @@ -var ZD = (function() { - var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; +var ZD = (() => { + var _scriptDir = import.meta.url; return ( -function(ZD) { - ZD = ZD || {}; - - -var a;a||(a=typeof ZD !== 'undefined' ? ZD : {}); -var Promise=function(){function c(){}function f(b,e){return function(){b.apply(e,arguments)}}function d(b){if(!(this instanceof d))throw new TypeError("Promises must be constructed via new");if("function"!==typeof b)throw new TypeError("not a function");this.s=0;this.B=!1;this.u=void 0;this.v=[];C(b,this)}function m(b,e){for(;3===b.s;)b=b.u;0===b.s?b.v.push(e):(b.B=!0,d.C(function(){var g=1===b.s?e.F:e.G;if(null===g)(1===b.s?l:p)(e.promise,b.u);else{try{var h=g(b.u)}catch(k){p(e.promise,k);return}l(e.promise, -h)}}))}function l(b,e){try{if(e===b)throw new TypeError("A promise cannot be resolved with itself.");if(e&&("object"===typeof e||"function"===typeof e)){var g=e.then;if(e instanceof d){b.s=3;b.u=e;r(b);return}if("function"===typeof g){C(f(g,e),b);return}}b.s=1;b.u=e;r(b)}catch(h){p(b,h)}}function p(b,e){b.s=2;b.u=e;r(b)}function r(b){2===b.s&&0===b.v.length&&d.C(function(){b.B||d.D(b.u)});for(var e=0,g=b.v.length;e=l}});var q;q||(q=typeof ZD !== 'undefined' ? ZD : {}); +var Promise=function(){function a(){}function e(b,f){return function(){b.apply(f,arguments)}}function c(b){if(!(this instanceof c))throw new TypeError("Promises must be constructed via new");if("function"!=typeof b)throw new TypeError("not a function");this.o=0;this.v=!1;this.s=void 0;this.u=[];B(b,this)}function h(b,f){for(;3===b.o;)b=b.s;0===b.o?b.u.push(f):(b.v=!0,c.A(function(){var g=1===b.o?f.C:f.D;if(null===g)(1===b.o?l:m)(f.promise,b.s);else{try{var k=g(b.s)}catch(n){m(f.promise,n);return}l(f.promise, +k)}}))}function l(b,f){try{if(f===b)throw new TypeError("A promise cannot be resolved with itself.");if(f&&("object"==typeof f||"function"==typeof f)){var g=f.then;if(f instanceof c){b.o=3;b.s=f;r(b);return}if("function"==typeof g){B(e(g,f),b);return}}b.o=1;b.s=f;r(b)}catch(k){m(b,k)}}function m(b,f){b.o=2;b.s=f;r(b)}function r(b){2===b.o&&0===b.u.length&&c.A(function(){b.v||c.B(b.s)});for(var f=0,g=b.u.length;f=0;--a){f[48+a]=52+a;f[65+a]=a;f[97+a]=26+a}f[43]=62;f[47]=63;function l(m,n,o){var g,h,a=0,i=n,j=o.length,k=n+(j*3>>2)-(o[j-2]=="=")-(o[j-1]=="=");for(;a>4;if(i>2;if(i=0;--a){f[48+a]=52+a;f[65+a]=a;f[97+a]=26+a}f[43]=62;f[47]=63;function l(m,n,o){var g,h,a=0,i=n,j=o.length,k=n+(j*3>>2)-(o[j-2]=="=")-(o[j-1]=="=");for(;a>4;if(i>2;if(i>2];h=v[h>>2];T=!f&h>>>0>33554432|(f|0)!=0;m=-72;a:{if(e>>>0>131071){break a}p=-20;b:{c:{if(e>>>0<3){break c}d:{e:{f:{g:{h:{k=w[d|0];G=k&3;switch(G-1|0){case 0:break f;case 1:break g;case 2:break h;default:break e}}if(v[a+28808>>2]){break g}m=-30;break b}if(e>>>0<5){break c}h=3;i=w[d|0]|w[d+1|0]<<8|(w[d+2|0]<<16|w[d+3|0]<<24);i:{j:{k:{l:{m:{k=k>>>2&3;switch(k-2|0){case 1:break k;case 0:break l;default:break m}}f=i>>>14&1023;i=i>>>4&1023;k=!k;break i}f=i>>>18|0;i=i>>>4&16383;h=4;break j}f=w[d+4|0]<<10|i>>>22;i=i>>>4&262143;h=5}k=0}if(i>>>0>131072){break c}q=f+h|0;if(q>>>0>e>>>0){break c}if(!v[a+28956>>2]|i>>>0<769){break d}m=0;while(1){if(m>>>0>=16324){break d}m=m+512|0;continue}}f=2;n:{o:{switch((k>>>2&3)-1|0){default:f=1;h=k>>>3|0;break n;case 0:h=(w[d|0]|w[d+1|0]<<8)>>>4|0;break n;case 2:break o}}if(e>>>0<4){break c}h=w[d|0]|w[d+1|0]<<8|w[d+2|0]<<16;if(h>>>0>2097167){break c}f=3;h=h>>>4|0}i=_(a+29040|0,w[d+f|0],h+32|0);v[a+28928>>2]=h;v[a+28912>>2]=i;p=f+1|0;break c}f=2;i=e;p:{q:{switch((k>>>2&3)-1|0){default:f=1;h=k>>>3|0;break p;case 0:h=(w[d|0]|w[d+1|0]<<8)>>>4|0;break p;case 2:break q}}f=3;h=(w[d|0]|w[d+1|0]<<8|w[d+2|0]<<16)>>>4|0}m=f+h|0;if(m+32>>>0>i>>>0){if(e>>>0>>0){break c}f=X(a+29040|0,d+f|0,h);v[a+28928>>2]=h;v[a+28912>>2]=f;f=f+h|0;t[f+24|0]=0;t[f+25|0]=0;t[f+26|0]=0;t[f+27|0]=0;t[f+28|0]=0;t[f+29|0]=0;t[f+30|0]=0;t[f+31|0]=0;t[f+16|0]=0;t[f+17|0]=0;t[f+18|0]=0;t[f+19|0]=0;t[f+20|0]=0;t[f+21|0]=0;t[f+22|0]=0;t[f+23|0]=0;t[f+8|0]=0;t[f+9|0]=0;t[f+10|0]=0;t[f+11|0]=0;t[f+12|0]=0;t[f+13|0]=0;t[f+14|0]=0;t[f+15|0]=0;t[f|0]=0;t[f+1|0]=0;t[f+2|0]=0;t[f+3|0]=0;t[f+4|0]=0;t[f+5|0]=0;t[f+6|0]=0;t[f+7|0]=0;break b}v[a+28928>>2]=h;v[a+28912>>2]=d+f;break b}r:{if((G|0)==3){g=d+h|0;h=a+29040|0;m=v[a+12>>2];if(k){s:{if(w[m+1|0]){k=-72;t:{if(!f){break t}u:{v:{w:{if(f>>>0>=4){r=w[(f+g|0)-1|0];k=-1;if(!r){break u}if(f>>>0<=4294967176){break w}k=f;break t}s=w[g|0];x:{switch(f-2|0){case 1:s=w[g+2|0]<<16|s;case 0:s=(w[g+1|0]<<8)+s|0;break;default:break x}}r=w[(f+g|0)-1|0];k=-20;if(!r){break t}f=(E(r)-(f<<3)|0)+9|0;break v}l=f-4|0;f=g+l|0;s=w[f|0]|w[f+1|0]<<8|(w[f+2|0]<<16|w[f+3|0]<<24);f=E(r)-23|0}r=m+4|0;u=h+i|0;z=0-x[m+2>>1]&31;y:{z:{if(f>>>0<=32){H=u-3|0;A:{while(1){B:{if((l|0)>=4){s=f>>>3|0;k=0;f=f&7;break B}if(!l){D=u-2|0;l=0;m=g;break z}m=f>>>3|0;k=g>>>0>(g+l|0)-m>>>0;s=k?l:m;f=f-(s<<3)|0}l=l-s|0;m=g+l|0;s=w[m|0]|w[m+1|0]<<8|(w[m+2|0]<<16|w[m+3|0]<<24);if(k|h>>>0>=H>>>0){break A}k=r+(s<>>z<<2)|0;A=x[k>>1];t[h|0]=A;t[h+1|0]=A>>>8;h=w[k+3|0]+h|0;k=w[k+2|0]+f|0;f=r+(s<>>z<<2)|0;A=x[f>>1];t[h|0]=A;t[h+1|0]=A>>>8;h=h+w[f+3|0]|0;f=k+w[f+2|0]|0;if(f>>>0<33){continue}break}D=u-2|0;break y}}m=g+l|0;D=u-2|0;if(f>>>0>32){break y}}while(1){C:{if((l|0)>=4){k=f&7;s=f>>>3|0;f=0;break C}if(!l){break y}k=f;A=m;m=f>>>3|0;f=g>>>0>A-m>>>0;s=f?l:m;k=k-(s<<3)|0}l=l-s|0;m=g+l|0;s=w[m|0]|w[m+1|0]<<8|(w[m+2|0]<<16|w[m+3|0]<<24);if(!(f?0:h>>>0<=D>>>0)){f=k;break y}f=r+(s<>>z<<2)|0;H=x[f>>1];t[h|0]=H;t[h+1|0]=H>>>8;h=w[f+3|0]+h|0;f=w[f+2|0]+k|0;if(f>>>0<=32){continue}break}}if(h>>>0<=D>>>0){while(1){k=r+(s<>>z<<2)|0;l=x[k>>1];t[h|0]=l;t[h+1|0]=l>>>8;f=w[k+2|0]+f|0;h=w[k+3|0]+h|0;if(D>>>0>=h>>>0){continue}break}}D:{if(h>>>0>=u>>>0){break D}l=h;k=s<>>z|0;h=r+(k<<2)|0;t[l|0]=w[h|0];if(w[h+3|0]==1){f=w[h+2|0]+f|0;break D}if(f>>>0>31){break D}f=w[(r+(k<<2)|0)+2|0]+f|0;f=f>>>0<32?f:32}k=(g|0)!=(m|0)?-20:(f|0)!=32?-20:i}}h=k;break s}h=la(h,i,g,f,m)}break r}E:{if(w[m+1|0]){h=ra(h,i,g,f,m);break E}h=ka(h,i,g,f,m)}break r}l=a+26680|0;g=d+h|0;s=a+29040|0;m=a+10280|0;if(k){h=ma(m,g,f,l);if(h>>>0>4294967176){break r}if(f>>>0>h>>>0){h=la(s,i,g+h|0,f-h|0,m)}else{h=-72}break r}h=-70;F:{if(!i){break F}h=-20;if(!f){break F}k=i>>>8|0;h=B(f>>>0>>0?(f<<4>>>0)/(i>>>0)|0:15,24);r=B(k,v[h+1884>>2])+v[h+1880>>2]|0;G:{if((r>>>3|0)+r>>>0>2]+B(k,v[h+1876>>2])>>>0){h=ia(m,g,f,l,2048);if(h>>>0>4294967176){break F}k=-72;if(f>>>0<=h>>>0){break G}h=ra(s,i,g+h|0,f-h|0,m);break F}h=ma(m,g,f,l);if(h>>>0>4294967176){break F}k=-72;if(f>>>0<=h>>>0){break G}k=ka(s,i,g+h|0,f-h|0,m)}h=k}}if(h>>>0>4294967176){break c}v[a+28928>>2]=i;v[a+28808>>2]=1;v[a+28912>>2]=a+29040;if((G|0)==2){v[a+12>>2]=a+10280}h=a+i|0;f=h+29064|0;t[f|0]=0;t[f+1|0]=0;t[f+2|0]=0;t[f+3|0]=0;t[f+4|0]=0;t[f+5|0]=0;t[f+6|0]=0;t[f+7|0]=0;f=h+29056|0;t[f|0]=0;t[f+1|0]=0;t[f+2|0]=0;t[f+3|0]=0;t[f+4|0]=0;t[f+5|0]=0;t[f+6|0]=0;t[f+7|0]=0;f=h+29048|0;t[f|0]=0;t[f+1|0]=0;t[f+2|0]=0;t[f+3|0]=0;t[f+4|0]=0;t[f+5|0]=0;t[f+6|0]=0;t[f+7|0]=0;f=h+29040|0;t[f|0]=0;t[f+1|0]=0;t[f+2|0]=0;t[f+3|0]=0;t[f+4|0]=0;t[f+5|0]=0;t[f+6|0]=0;t[f+7|0]=0;m=q;break b}m=p}if(m>>>0>4294967176){break a}p=v[a+28956>>2];h=d+m|0;f=d;d=m>>>0<4294967177;q=d?h:f;f=q;h=-72;l=e-(d?m:0)|0;i=l;H:{I:{if(!i){break I}e=w[f|0];if(!e){v[j+36>>2]=0;d=(i|0)==1?1:-72;break H}k=e<<24>>24;d=f+1|0;J:{if((k|0)>-1){break J}if((k|0)==-1){if((i|0)<3){break I}e=(w[f+1|0]|w[f+2|0]<<8)+32512|0;d=f+3|0;break J}if((i|0)<2){break I}e=(w[f+1|0]|e<<8)-32768|0;d=f+2|0}v[j+36>>2]=e;k=d+1|0;i=f+i|0;if(k>>>0>i>>>0){break I}h=-20;g=w[d|0];d=ga(a+16|0,a,g>>>6|0,35,9,k,i-k|0,2960,3104,3264,v[a+28812>>2],v[a+28956>>2],e);if(d>>>0>4294967176){break I}d=d>>>0<4294967177?d+k|0:k;k=ga(a+4120|0,a+8|0,g>>>4&3,31,8,d,i-d|0,2256,2384,3792,v[a+28812>>2],v[a+28956>>2],e);if(k>>>0>4294967176){break I}d=k>>>0<4294967177?d+k|0:d;e=ga(a+6176|0,a+4|0,g>>>2&3,52,9,d,i-d|0,2512,2736,4064,v[a+28812>>2],v[a+28956>>2],e);if(e>>>0>4294967176){break I}h=(d+e|0)-f|0}d=h}if(d>>>0>4294967176){m=d;break a}D=v[j+36>>2];if(!b){m=-70;if((D|0)>0){break a}}f=l-d|0;o=d+q|0;K:{L:{M:{if(p){v[a+28956>>2]=0;break M}d=a+28760|0;e=v[d>>2];if(!v[d+4>>2]&e>>>0<16777217|(D|0)<=4){break L}d=v[a+8>>2];h=d+8|0;d=v[d+4>>2];m=0;e=0;while(1){m=(w[(h+(e<<3)|0)+2|0]>22)+m|0;e=e+1|0;if(!(e>>>d|0)){continue}break}v[a+28956>>2]=0;if(m<<8-d>>>0<20){break K}}e=v[a+28912>>2];v[j+188>>2]=e;I=b+c|0;K=v[a+28928>>2]+e|0;N:{if(!D){d=b;break N}J=v[a+28740>>2];M=v[a+28736>>2];s=v[a+28732>>2];v[a+28812>>2]=1;v[j+92>>2]=v[a+26676>>2];H=a+26668|0;c=H;d=v[c+4>>2];v[j+84>>2]=v[c>>2];v[j+88>>2]=d;v[j+100>>2]=J;v[j+96>>2]=s;R=b-s|0;v[j+104>>2]=R;m=-20;if(!f){break a}v[j+52>>2]=o;v[j+56>>2]=o+4;O:{if(f>>>0>=4){e=f-4|0;c=o+e|0;v[j+48>>2]=c;l=w[c|0]|w[c+1|0]<<8|(w[c+2|0]<<16|w[c+3|0]<<24);v[j+40>>2]=l;if(l>>>0<16777216|f>>>0>4294967176){break a}c=E(l>>>24|0)-23|0;break O}v[j+48>>2]=o;l=w[o|0];v[j+40>>2]=l;P:{switch(f-2|0){case 1:l=w[o+2|0]<<16|l;case 0:l=(w[o+1|0]<<8)+l|0;v[j+40>>2]=l;break;default:break P}}c=w[(f+o|0)-1|0];if(!c){break a}c=(E(c)-(f<<3)|0)+9|0;v[j+44>>2]=c;e=0}f=v[a>>2];d=v[f+4>>2];c=d+c|0;q=l>>>0-c&v[(d<<2)+4592>>2];v[j+60>>2]=q;Q:{if(c>>>0>32){break Q}R:{if((e|0)>=4){e=e-(c>>>3|0)|0;v[j+48>>2]=o+e;c=c&7;break R}if(!e){e=0;break Q}d=c>>>3|0;d=o>>>0>(e+o|0)-d>>>0?e:d;e=e-d|0;v[j+48>>2]=o+e;c=c-(d<<3)|0}d=e+o|0;l=w[d|0]|w[d+1|0]<<8|(w[d+2|0]<<16|w[d+3|0]<<24);v[j+40>>2]=l}U=f+8|0;v[j- -64>>2]=U;f=v[a+8>>2];d=v[f+4>>2];c=d+c|0;C=l>>>0-c&v[(d<<2)+4592>>2];v[j+68>>2]=C;S:{if(c>>>0>32){break S}T:{if((e|0)>=4){e=e-(c>>>3|0)|0;v[j+48>>2]=o+e;c=c&7;break T}if(!e){e=0;break S}d=c>>>3|0;d=o>>>0>(e+o|0)-d>>>0?e:d;e=e-d|0;v[j+48>>2]=o+e;c=c-(d<<3)|0}d=e+o|0;l=w[d|0]|w[d+1|0]<<8|(w[d+2|0]<<16|w[d+3|0]<<24);v[j+40>>2]=l}d=(D|0)<4;V=f+8|0;v[j+72>>2]=V;f=v[a+4>>2];a=v[f+4>>2];c=a+c|0;v[j+44>>2]=c;u=v[(a<<2)+4592>>2]&l>>>0-c;v[j+76>>2]=u;U:{if(c>>>0>32){break U}a=j;V:{if((e|0)>=4){e=e-(c>>>3|0)|0;v[j+48>>2]=o+e;c=c&7;break V}if(!e){e=0;break U}h=c>>>3|0;h=o>>>0>(e+o|0)-h>>>0?e:h;e=e-h|0;v[j+48>>2]=o+e;c=c-(h<<3)|0}v[a+44>>2]=c;a=e+o|0;l=w[a|0]|w[a+1|0]<<8|(w[a+2|0]<<16|w[a+3|0]<<24);v[j+40>>2]=l}S=d?D:4;W=f+8|0;v[j+80>>2]=W;W:{if(c>>>0<=32){G=(S|0)>0?S:0;i=e;h=e;g=e;d=e;k=e;while(1){p=j;X:{Y:{if((k|0)>=4){f=c&7;v[j+44>>2]=f;e=k-(c>>>3|0)|0;c=o+e|0;v[j+48>>2]=c;l=w[c|0]|w[c+1|0]<<8|(w[c+2|0]<<16|w[c+3|0]<<24);break Y}if(!k){f=c;k=0;break X}a=c;c=c>>>3|0;c=o>>>0>(k+o|0)-c>>>0?k:c;f=a-(c<<3)|0;v[j+44>>2]=f;e=k-c|0;c=o+e|0;v[j+48>>2]=c;l=w[c|0]|w[c+1|0]<<8|(w[c+2|0]<<16|w[c+3|0]<<24)}v[p+40>>2]=l;i=e;h=e;g=e;d=e;k=e}if((n|0)==(G|0)){c=f;n=G;break W}c=(q<<3)+U|0;a=v[c+4>>2];r=v[c>>2];p=a;Y=(a&65535)<<16|r>>>16;P=Y&255;c=(u<<3)+W|0;a=v[c+4>>2];u=v[c>>2];q=a;$=(a&65535)<<16|u>>>16;N=$&255;a=(C<<3)+V|0;c=v[a+4>>2];z=v[a>>2];a=c;O=a;A=q;C=p;c=(a&65535)<<16|z>>>16;a=c&255;Z:{if(a>>>0>=2){_:{if(!(!T|a>>>0<25)){L=a;c=32-f|0;a=a>>>0>>0?a:c;F=L-a|0;L=l<>>0-a<>>0>32){break $}aa:{if((g|0)>=4){e=g-(a>>>3|0)|0;v[j+48>>2]=o+e;a=a&7;break aa}if(!g){g=0;d=0;k=0;break $}c=a>>>3|0;c=o>>>0>(g+o|0)-c>>>0?g:c;e=g-c|0;v[j+48>>2]=o+e;a=a-(c<<3)|0}c=e+o|0;l=w[c|0]|w[c+1|0]<<8|(w[c+2|0]<<16|w[c+3|0]<<24);v[j+40>>2]=l;i=e;h=e;g=e;d=e;k=e}c=O+L|0;if(!F){break _}c=(l<
>>0-F|0)+c|0;a=a+F|0;break _}c=O+(l<>>0-c|0)|0;f=a+f|0;if(f>>>0>32){a=f;break _}k=j;ba:{if((d|0)>=4){a=f&7;v[j+44>>2]=a;e=d-(f>>>3|0)|0;d=o+e|0;v[j+48>>2]=d;l=w[d|0]|w[d+1|0]<<8|(w[d+2|0]<<16|w[d+3|0]<<24);break ba}if(!d){d=0;a=f;k=0;break _}a=f>>>3|0;e=o>>>0>(d+o|0)-a>>>0?d:a;a=f-(e<<3)|0;v[j+44>>2]=a;e=d-e|0;d=o+e|0;v[j+48>>2]=d;l=w[d|0]|w[d+1|0]<<8|(w[d+2|0]<<16|w[d+3|0]<<24)}v[k+40>>2]=l;i=e;h=e;g=e;d=e;k=e}f=v[j+88>>2];F=v[j+84>>2];v[j+84>>2]=c;v[j+88>>2]=F;v[j+92>>2]=f;break Z}if(!a){if(C){c=v[j+84>>2];a=f;break Z}c=v[j+88>>2];v[j+88>>2]=v[j+84>>2];v[j+84>>2]=c;a=f;break Z}a=f+1|0;v[j+44>>2]=a;f=O+(!C+(l<>>31|0)|0)|0;ca:{da:{if((f|0)==3){c=v[j+84>>2]-1|0;c=!c+c|0;break da}c=v[((f<<2)+j|0)+84>>2];c=!c+c|0;if((f|0)==1){break ca}}v[j+92>>2]=v[j+88>>2]}v[j+88>>2]=v[j+84>>2];v[j+84>>2]=c}f=A;if(N){f=(l<>>0-$|0)+f|0;a=a+N|0}ea:{if(P+N>>>0<20|a>>>0>32){break ea}d=j;fa:{if((h|0)>=4){e=h-(a>>>3|0)|0;v[j+48>>2]=o+e;a=a&7;break fa}if(!h){h=0;g=0;d=0;k=0;break ea}k=h;e=a>>>3|0;h=o>>>0>(h+o|0)-e>>>0?h:e;e=k-h|0;v[j+48>>2]=o+e;a=a-(h<<3)|0}v[d+44>>2]=a;d=e+o|0;l=w[d|0]|w[d+1|0]<<8|(w[d+2|0]<<16|w[d+3|0]<<24);v[j+40>>2]=l;i=e;h=e;g=e;d=e;k=e}A=u;F=r;u=(q&16777215)<<8|u>>>24;q=(p&16777215)<<8|r>>>24;if(P){C=(l<>>0-Y|0)+C|0;a=a+P|0}ga:{if(a>>>0>32){break ga}ha:{if((i|0)>=4){e=i-(a>>>3|0)|0;v[j+48>>2]=o+e;a=a&7;break ha}if(!i){i=0;h=0;g=0;d=0;k=0;break ga}d=a>>>3|0;d=o>>>0>(i+o|0)-d>>>0?i:d;e=i-d|0;v[j+48>>2]=o+e;a=a-(d<<3)|0}d=e+o|0;l=w[d|0]|w[d+1|0]<<8|(w[d+2|0]<<16|w[d+3|0]<<24);v[j+40>>2]=l;i=e;h=e;g=e;d=e;k=e}p=C+R|0;R=p+f|0;v[j+104>>2]=R;r=a;a=q&255;r=r+a|0;q=(l>>>0-r&v[(a<<2)+4592>>2])+(F&65535)|0;v[j+60>>2]=q;a=r;r=u&255;a=a+r|0;u=(v[(r<<2)+4592>>2]&l>>>0-a)+(A&65535)|0;v[j+76>>2]=u;r=(p+(c>>>0>p>>>0?J:s)|0)-c|0;ia:{if(a>>>0>32){break ia}ja:{if((e|0)>=4){e=e-(a>>>3|0)|0;v[j+48>>2]=o+e;a=a&7;break ja}if(!e){e=0;i=0;h=0;g=0;d=0;k=0;break ia}d=a>>>3|0;d=o>>>0>(e+o|0)-d>>>0?e:d;e=e-d|0;v[j+48>>2]=o+e;a=a-(d<<3)|0}d=e+o|0;l=w[d|0]|w[d+1|0]<<8|(w[d+2|0]<<16|w[d+3|0]<<24);v[j+40>>2]=l;i=e;h=e;g=e;d=e;k=e}p=(j+112|0)+(n<<4)|0;v[p+12>>2]=r;v[p+8>>2]=c;v[p+4>>2]=f;v[p>>2]=C;c=a;a=z>>>24|0;c=c+a|0;v[j+44>>2]=c;C=(v[(a<<2)+4592>>2]&l>>>0-c)+(z&65535)|0;v[j+68>>2]=C;n=n+1|0;if(c>>>0<=32){continue}break}}if((n|0)<(S|0)){break a}}F=I-32|0;o=j+96|0;P=j+100|0;d=b;ka:{while(1){if(c>>>0>=33){if((n|0)<(D|0)){break a}break ka}a=v[j+48>>2];u=v[j+56>>2];la:{if(a>>>0>=u>>>0){f=c&7;v[j+44>>2]=f;a=a-(c>>>3|0)|0;v[j+48>>2]=a;v[j+40>>2]=w[a|0]|w[a+1|0]<<8|(w[a+2|0]<<16|w[a+3|0]<<24);break la}e=v[j+52>>2];if((e|0)==(a|0)){f=c;break la}f=c>>>3|0;e=e>>>0>a-f>>>0?a-e|0:f;a=a-e|0;v[j+48>>2]=a;f=c-(e<<3)|0;v[j+44>>2]=f;v[j+40>>2]=w[a|0]|w[a+1|0]<<8|(w[a+2|0]<<16|w[a+3|0]<<24)}if((n|0)>=(D|0)){break ka}c=v[j+64>>2]+(v[j+60>>2]<<3)|0;e=v[c+4>>2];i=v[c>>2];c=e;N=(e&65535)<<16|i>>>16;z=N&255;h=v[j+80>>2]+(v[j+76>>2]<<3)|0;e=v[h+4>>2];p=v[h>>2];h=e;O=(e&65535)<<16|p>>>16;G=O&255;e=v[j+72>>2]+(v[j+68>>2]<<3)|0;k=v[e+4>>2];q=v[e>>2];e=k;A=e;l=h;C=c;k=(e&65535)<<16|q>>>16;e=k&255;ma:{if(e>>>0>=2){na:{if(!(!T|e>>>0<25)){g=e;k=32-f|0;e=e>>>0>>0?e:k;r=g-e|0;g=v[j+40>>2];k=g<>>0-e<>>0>32){break oa}pa:{if(a>>>0>=u>>>0){a=a-(e>>>3|0)|0;v[j+48>>2]=a;e=e&7;break pa}f=v[j+52>>2];if((f|0)==(a|0)){break oa}g=e>>>3|0;f=f>>>0>a-g>>>0?a-f|0:g;a=a-f|0;v[j+48>>2]=a;e=e-(f<<3)|0}g=w[a|0]|w[a+1|0]<<8|(w[a+2|0]<<16|w[a+3|0]<<24);v[j+40>>2]=g}k=k+A|0;if(!r){break na}k=(g<>>0-r|0)+k|0;e=e+r|0;break na}k=A+(v[j+40>>2]<>>0-k|0)|0;f=e+f|0;if(f>>>0>32){e=f;break na}if(a>>>0>=u>>>0){e=f&7;v[j+44>>2]=e;a=a-(f>>>3|0)|0;v[j+48>>2]=a;v[j+40>>2]=w[a|0]|w[a+1|0]<<8|(w[a+2|0]<<16|w[a+3|0]<<24);break na}e=v[j+52>>2];if((e|0)==(a|0)){e=f;break na}g=f>>>3|0;e=e>>>0>a-g>>>0?a-e|0:g;a=a-e|0;v[j+48>>2]=a;e=f-(e<<3)|0;v[j+44>>2]=e;v[j+40>>2]=w[a|0]|w[a+1|0]<<8|(w[a+2|0]<<16|w[a+3|0]<<24)}f=v[j+88>>2];g=v[j+84>>2];v[j+84>>2]=k;v[j+88>>2]=g;v[j+92>>2]=f;break ma}if(!e){if(C){k=v[j+84>>2];e=f;break ma}k=v[j+88>>2];v[j+88>>2]=v[j+84>>2];v[j+84>>2]=k;e=f;break ma}e=f+1|0;v[j+44>>2]=e;f=A+!C+(v[j+40>>2]<>>31)|0;qa:{ra:{if((f|0)==3){f=v[j+84>>2]-1|0;k=!f+f|0;break ra}k=v[((f<<2)+j|0)+84>>2];k=!k+k|0;if((f|0)==1){break qa}}v[j+92>>2]=v[j+88>>2]}v[j+88>>2]=v[j+84>>2];v[j+84>>2]=k}f=l;if(G){f=(v[j+40>>2]<>>0-O|0)+f|0;e=e+G|0}sa:{if(z+G>>>0<20|e>>>0>32){break sa}g=j;ta:{if(a>>>0>=u>>>0){a=a-(e>>>3|0)|0;v[j+48>>2]=a;e=e&7;break ta}l=v[j+52>>2];if((l|0)==(a|0)){break sa}r=e>>>3|0;l=l>>>0>a-r>>>0?a-l|0:r;a=a-l|0;v[j+48>>2]=a;e=e-(l<<3)|0}v[g+44>>2]=e;v[j+40>>2]=w[a|0]|w[a+1|0]<<8|(w[a+2|0]<<16|w[a+3|0]<<24)}r=i;g=p;h=(h&16777215)<<8|g>>>24;i=(c&16777215)<<8|i>>>24;if(z){C=(v[j+40>>2]<>>0-N|0)+C|0;e=e+z|0}ua:{if(e>>>0>32){break ua}va:{if(a>>>0>=u>>>0){a=a-(e>>>3|0)|0;v[j+48>>2]=a;e=e&7;break va}c=v[j+52>>2];if((c|0)==(a|0)){break ua}p=e>>>3|0;c=c>>>0>a-p>>>0?a-c|0:p;a=a-c|0;v[j+48>>2]=a;e=e-(c<<3)|0}v[j+40>>2]=w[a|0]|w[a+1|0]<<8|(w[a+2|0]<<16|w[a+3|0]<<24)}z=v[j+104>>2]+C|0;v[j+104>>2]=z+f;l=v[j+40>>2];c=i&255;e=c+e|0;v[j+60>>2]=(l>>>0-e&v[(c<<2)+4592>>2])+(r&65535);c=h&255;e=c+e|0;v[j+76>>2]=(v[(c<<2)+4592>>2]&l>>>0-e)+(g&65535);r=v[(k>>>0>z>>>0?P:o)>>2];wa:{if(e>>>0>32){break wa}xa:{if(a>>>0>=u>>>0){a=a-(e>>>3|0)|0;v[j+48>>2]=a;e=e&7;break xa}c=v[j+52>>2];if((c|0)==(a|0)){break wa}h=e>>>3|0;c=c>>>0>a-h>>>0?a-c|0:h;a=a-c|0;v[j+48>>2]=a;e=e-(c<<3)|0}l=w[a|0]|w[a+1|0]<<8|(w[a+2|0]<<16|w[a+3|0]<<24);v[j+40>>2]=l}a=q>>>24|0;c=a+e|0;v[j+44>>2]=c;v[j+68>>2]=(v[(a<<2)+4592>>2]&l>>>0-c)+(q&65535);ya:{za:{l=v[j+188>>2];c=(j+112|0)+((n&3)<<4)|0;p=v[c>>2];u=l+p|0;Aa:{if(u>>>0>K>>>0){break Aa}i=v[c+4>>2];h=p+i|0;if(F>>>0>>0){break Aa}if(h+32>>>0<=I-d>>>0){break za}}a=v[c+12>>2];v[j+24>>2]=v[c+8>>2];v[j+28>>2]=a;a=v[c+4>>2];v[j+16>>2]=v[c>>2];v[j+20>>2]=a;h=ha(d,I,j+16|0,j+188|0,K,s,M,J);break ya}a=d+p|0;g=v[c+8>>2];e=w[l+4|0]|w[l+5|0]<<8|(w[l+6|0]<<16|w[l+7|0]<<24);q=w[l|0]|w[l+1|0]<<8|(w[l+2|0]<<16|w[l+3|0]<<24);t[d|0]=q;t[d+1|0]=q>>>8;t[d+2|0]=q>>>16;t[d+3|0]=q>>>24;t[d+4|0]=e;t[d+5|0]=e>>>8;t[d+6|0]=e>>>16;t[d+7|0]=e>>>24;e=w[l+12|0]|w[l+13|0]<<8|(w[l+14|0]<<16|w[l+15|0]<<24);q=w[l+8|0]|w[l+9|0]<<8|(w[l+10|0]<<16|w[l+11|0]<<24);t[d+8|0]=q;t[d+9|0]=q>>>8;t[d+10|0]=q>>>16;t[d+11|0]=q>>>24;t[d+12|0]=e;t[d+13|0]=e>>>8;t[d+14|0]=e>>>16;t[d+15|0]=e>>>24;if(p>>>0>=17){e=d+16|0;while(1){p=w[l+20|0]|w[l+21|0]<<8|(w[l+22|0]<<16|w[l+23|0]<<24);q=w[l+16|0]|w[l+17|0]<<8|(w[l+18|0]<<16|w[l+19|0]<<24);t[e|0]=q;t[e+1|0]=q>>>8;t[e+2|0]=q>>>16;t[e+3|0]=q>>>24;t[e+4|0]=p;t[e+5|0]=p>>>8;t[e+6|0]=p>>>16;t[e+7|0]=p>>>24;p=w[l+28|0]|w[l+29|0]<<8|(w[l+30|0]<<16|w[l+31|0]<<24);q=w[l+24|0]|w[l+25|0]<<8|(w[l+26|0]<<16|w[l+27|0]<<24);t[e+8|0]=q;t[e+9|0]=q>>>8;t[e+10|0]=q>>>16;t[e+11|0]=q>>>24;t[e+12|0]=p;t[e+13|0]=p>>>8;t[e+14|0]=p>>>16;t[e+15|0]=p>>>24;l=l+16|0;e=e+16|0;if(e>>>0>>0){continue}break}}e=a-g|0;v[j+188>>2]=u;if(g>>>0>a-s>>>0){if(g>>>0>a-M>>>0){break a}e=e-s|0;p=e+J|0;if(J>>>0>=p+i>>>0){Z(a,p,i);break ya}i=e+i|0;a=Z(a,p,0-e|0)-e|0;e=s}if(g>>>0>=16){p=a+i|0;while(1){i=w[e+4|0]|w[e+5|0]<<8|(w[e+6|0]<<16|w[e+7|0]<<24);g=w[e|0]|w[e+1|0]<<8|(w[e+2|0]<<16|w[e+3|0]<<24);t[a|0]=g;t[a+1|0]=g>>>8;t[a+2|0]=g>>>16;t[a+3|0]=g>>>24;t[a+4|0]=i;t[a+5|0]=i>>>8;t[a+6|0]=i>>>16;t[a+7|0]=i>>>24;i=w[e+12|0]|w[e+13|0]<<8|(w[e+14|0]<<16|w[e+15|0]<<24);g=w[e+8|0]|w[e+9|0]<<8|(w[e+10|0]<<16|w[e+11|0]<<24);t[a+8|0]=g;t[a+9|0]=g>>>8;t[a+10|0]=g>>>16;t[a+11|0]=g>>>24;t[a+12|0]=i;t[a+13|0]=i>>>8;t[a+14|0]=i>>>16;t[a+15|0]=i>>>24;e=e+16|0;a=a+16|0;if(p>>>0>a>>>0){continue}break}break ya}Ba:{if(g>>>0<=7){t[a|0]=w[e|0];t[a+1|0]=w[e+1|0];t[a+2|0]=w[e+2|0];t[a+3|0]=w[e+3|0];p=g<<2;e=v[p+4752>>2]+e|0;g=w[e|0]|w[e+1|0]<<8|(w[e+2|0]<<16|w[e+3|0]<<24);t[a+4|0]=g;t[a+5|0]=g>>>8;t[a+6|0]=g>>>16;t[a+7|0]=g>>>24;e=e-v[p+4784>>2]|0;break Ba}g=w[e+4|0]|w[e+5|0]<<8|(w[e+6|0]<<16|w[e+7|0]<<24);p=w[e|0]|w[e+1|0]<<8|(w[e+2|0]<<16|w[e+3|0]<<24);t[a|0]=p;t[a+1|0]=p>>>8;t[a+2|0]=p>>>16;t[a+3|0]=p>>>24;t[a+4|0]=g;t[a+5|0]=g>>>8;t[a+6|0]=g>>>16;t[a+7|0]=g>>>24}if(i>>>0<9){break ya}p=a+i|0;a=a+8|0;e=e+8|0;if((a-e|0)<=15){while(1){i=w[e+4|0]|w[e+5|0]<<8|(w[e+6|0]<<16|w[e+7|0]<<24);g=w[e|0]|w[e+1|0]<<8|(w[e+2|0]<<16|w[e+3|0]<<24);t[a|0]=g;t[a+1|0]=g>>>8;t[a+2|0]=g>>>16;t[a+3|0]=g>>>24;t[a+4|0]=i;t[a+5|0]=i>>>8;t[a+6|0]=i>>>16;t[a+7|0]=i>>>24;e=e+8|0;a=a+8|0;if(p>>>0>a>>>0){continue}break ya}}while(1){i=w[e+4|0]|w[e+5|0]<<8|(w[e+6|0]<<16|w[e+7|0]<<24);g=w[e|0]|w[e+1|0]<<8|(w[e+2|0]<<16|w[e+3|0]<<24);t[a|0]=g;t[a+1|0]=g>>>8;t[a+2|0]=g>>>16;t[a+3|0]=g>>>24;t[a+4|0]=i;t[a+5|0]=i>>>8;t[a+6|0]=i>>>16;t[a+7|0]=i>>>24;i=w[e+12|0]|w[e+13|0]<<8|(w[e+14|0]<<16|w[e+15|0]<<24);g=w[e+8|0]|w[e+9|0]<<8|(w[e+10|0]<<16|w[e+11|0]<<24);t[a+8|0]=g;t[a+9|0]=g>>>8;t[a+10|0]=g>>>16;t[a+11|0]=g>>>24;t[a+12|0]=i;t[a+13|0]=i>>>8;t[a+14|0]=i>>>16;t[a+15|0]=i>>>24;e=e+16|0;a=a+16|0;if(p>>>0>a>>>0){continue}break}}if(h>>>0<=4294967176){v[c>>2]=C;v[(c|4)>>2]=f;v[(c|8)>>2]=k;v[c+12>>2]=(r+z|0)-k;n=n+1|0;d=d+h|0;c=v[j+44>>2];continue}break}m=h;break a}n=n-S|0;if((D|0)>(n|0)){p=I-32|0;while(1){Ca:{Da:{c=v[j+188>>2];e=(j+112|0)+((n&3)<<4)|0;i=v[e>>2];q=c+i|0;Ea:{if(q>>>0>K>>>0){break Ea}k=v[e+4>>2];f=i+k|0;if(p>>>0>>0){break Ea}if(f+32>>>0<=I-d>>>0){break Da}}a=v[e+12>>2];v[j+8>>2]=v[e+8>>2];v[j+12>>2]=a;a=v[e+4>>2];v[j>>2]=v[e>>2];v[j+4>>2]=a;f=ha(d,I,j,j+188|0,K,s,M,J);break Ca}a=d+i|0;h=v[e+8>>2];e=w[c+4|0]|w[c+5|0]<<8|(w[c+6|0]<<16|w[c+7|0]<<24);g=w[c|0]|w[c+1|0]<<8|(w[c+2|0]<<16|w[c+3|0]<<24);t[d|0]=g;t[d+1|0]=g>>>8;t[d+2|0]=g>>>16;t[d+3|0]=g>>>24;t[d+4|0]=e;t[d+5|0]=e>>>8;t[d+6|0]=e>>>16;t[d+7|0]=e>>>24;e=w[c+12|0]|w[c+13|0]<<8|(w[c+14|0]<<16|w[c+15|0]<<24);g=w[c+8|0]|w[c+9|0]<<8|(w[c+10|0]<<16|w[c+11|0]<<24);t[d+8|0]=g;t[d+9|0]=g>>>8;t[d+10|0]=g>>>16;t[d+11|0]=g>>>24;t[d+12|0]=e;t[d+13|0]=e>>>8;t[d+14|0]=e>>>16;t[d+15|0]=e>>>24;if(i>>>0>=17){e=d+16|0;while(1){i=w[c+20|0]|w[c+21|0]<<8|(w[c+22|0]<<16|w[c+23|0]<<24);g=w[c+16|0]|w[c+17|0]<<8|(w[c+18|0]<<16|w[c+19|0]<<24);t[e|0]=g;t[e+1|0]=g>>>8;t[e+2|0]=g>>>16;t[e+3|0]=g>>>24;t[e+4|0]=i;t[e+5|0]=i>>>8;t[e+6|0]=i>>>16;t[e+7|0]=i>>>24;i=w[c+28|0]|w[c+29|0]<<8|(w[c+30|0]<<16|w[c+31|0]<<24);g=w[c+24|0]|w[c+25|0]<<8|(w[c+26|0]<<16|w[c+27|0]<<24);t[e+8|0]=g;t[e+9|0]=g>>>8;t[e+10|0]=g>>>16;t[e+11|0]=g>>>24;t[e+12|0]=i;t[e+13|0]=i>>>8;t[e+14|0]=i>>>16;t[e+15|0]=i>>>24;c=c+16|0;e=e+16|0;if(e>>>0>>0){continue}break}}e=a-h|0;v[j+188>>2]=q;if(h>>>0>a-s>>>0){if(h>>>0>a-M>>>0){break a}c=e-s|0;e=c+J|0;if(J>>>0>=e+k>>>0){Z(a,e,k);break Ca}k=c+k|0;a=Z(a,e,0-c|0)-c|0;e=s}if(h>>>0>=16){i=a+k|0;while(1){c=w[e+4|0]|w[e+5|0]<<8|(w[e+6|0]<<16|w[e+7|0]<<24);h=w[e|0]|w[e+1|0]<<8|(w[e+2|0]<<16|w[e+3|0]<<24);t[a|0]=h;t[a+1|0]=h>>>8;t[a+2|0]=h>>>16;t[a+3|0]=h>>>24;t[a+4|0]=c;t[a+5|0]=c>>>8;t[a+6|0]=c>>>16;t[a+7|0]=c>>>24;c=w[e+12|0]|w[e+13|0]<<8|(w[e+14|0]<<16|w[e+15|0]<<24);h=w[e+8|0]|w[e+9|0]<<8|(w[e+10|0]<<16|w[e+11|0]<<24);t[a+8|0]=h;t[a+9|0]=h>>>8;t[a+10|0]=h>>>16;t[a+11|0]=h>>>24;t[a+12|0]=c;t[a+13|0]=c>>>8;t[a+14|0]=c>>>16;t[a+15|0]=c>>>24;e=e+16|0;a=a+16|0;if(i>>>0>a>>>0){continue}break}break Ca}Fa:{if(h>>>0<=7){t[a|0]=w[e|0];t[a+1|0]=w[e+1|0];t[a+2|0]=w[e+2|0];t[a+3|0]=w[e+3|0];h=h<<2;c=v[h+4752>>2]+e|0;e=w[c|0]|w[c+1|0]<<8|(w[c+2|0]<<16|w[c+3|0]<<24);t[a+4|0]=e;t[a+5|0]=e>>>8;t[a+6|0]=e>>>16;t[a+7|0]=e>>>24;e=c-v[h+4784>>2]|0;break Fa}c=w[e+4|0]|w[e+5|0]<<8|(w[e+6|0]<<16|w[e+7|0]<<24);h=w[e|0]|w[e+1|0]<<8|(w[e+2|0]<<16|w[e+3|0]<<24);t[a|0]=h;t[a+1|0]=h>>>8;t[a+2|0]=h>>>16;t[a+3|0]=h>>>24;t[a+4|0]=c;t[a+5|0]=c>>>8;t[a+6|0]=c>>>16;t[a+7|0]=c>>>24}if(k>>>0<9){break Ca}i=a+k|0;a=a+8|0;e=e+8|0;if((a-e|0)<=15){while(1){c=w[e+4|0]|w[e+5|0]<<8|(w[e+6|0]<<16|w[e+7|0]<<24);h=w[e|0]|w[e+1|0]<<8|(w[e+2|0]<<16|w[e+3|0]<<24);t[a|0]=h;t[a+1|0]=h>>>8;t[a+2|0]=h>>>16;t[a+3|0]=h>>>24;t[a+4|0]=c;t[a+5|0]=c>>>8;t[a+6|0]=c>>>16;t[a+7|0]=c>>>24;e=e+8|0;a=a+8|0;if(i>>>0>a>>>0){continue}break Ca}}while(1){c=w[e+4|0]|w[e+5|0]<<8|(w[e+6|0]<<16|w[e+7|0]<<24);h=w[e|0]|w[e+1|0]<<8|(w[e+2|0]<<16|w[e+3|0]<<24);t[a|0]=h;t[a+1|0]=h>>>8;t[a+2|0]=h>>>16;t[a+3|0]=h>>>24;t[a+4|0]=c;t[a+5|0]=c>>>8;t[a+6|0]=c>>>16;t[a+7|0]=c>>>24;c=w[e+12|0]|w[e+13|0]<<8|(w[e+14|0]<<16|w[e+15|0]<<24);h=w[e+8|0]|w[e+9|0]<<8|(w[e+10|0]<<16|w[e+11|0]<<24);t[a+8|0]=h;t[a+9|0]=h>>>8;t[a+10|0]=h>>>16;t[a+11|0]=h>>>24;t[a+12|0]=c;t[a+13|0]=c>>>8;t[a+14|0]=c>>>16;t[a+15|0]=c>>>24;e=e+16|0;a=a+16|0;if(i>>>0>a>>>0){continue}break}}if(f>>>0>4294967176){m=f;break a}d=d+f|0;n=n+1|0;if((D|0)!=(n|0)){continue}break}}c=v[j+88>>2];a=H;v[a>>2]=v[j+84>>2];v[a+4>>2]=c;v[a+8>>2]=v[j+92>>2];e=v[j+188>>2]}m=-70;a=K-e|0;if(a>>>0>I-d>>>0){break a}if(d){a=X(d,e,a)+a|0}else{a=0}m=a-b|0;break a}v[a+28956>>2]=0}i=f;h=0;g=Q-112|0;Q=g;f=a;e=v[a+28912>>2];v[g+92>>2]=e;d=b;z=d+c|0;G=v[a+28928>>2]+e|0;Ga:{Ha:{if(!D){c=d;break Ha}H=v[f+28740>>2];C=v[f+28736>>2];r=v[f+28732>>2];v[f+28812>>2]=1;v[g+76>>2]=v[f+26676>>2];u=f+26668|0;a=u;b=v[a+4>>2];v[g+68>>2]=v[a>>2];v[g+72>>2]=b;if(!i){h=-20;break Ga}v[g+36>>2]=o;v[g+40>>2]=o+4;Ia:{Ja:{if(i>>>0>=4){h=i-4|0;a=o+h|0;v[g+32>>2]=a;n=w[a|0]|w[a+1|0]<<8|(w[a+2|0]<<16|w[a+3|0]<<24);v[g+24>>2]=n;if(n>>>0>=16777216){break Ja}h=-20;break Ga}v[g+32>>2]=o;n=w[o|0];v[g+24>>2]=n;Ka:{switch(i-2|0){case 1:n=w[o+2|0]<<16|n;case 0:n=(w[o+1|0]<<8)+n|0;v[g+24>>2]=n;break;default:break Ka}}a=w[(i+o|0)-1|0];if(!a){h=-20;break Ga}i=(E(a)-(i<<3)|0)+9|0;v[g+28>>2]=i;break Ia}if(i>>>0>4294967176){h=-20;break Ga}i=E(n>>>24|0)-23|0}c=v[f>>2];a=v[c+4>>2];i=a+i|0;a=n>>>0-i&v[(a<<2)+4592>>2];v[g+44>>2]=a;La:{if(i>>>0>32){break La}Ma:{if((h|0)>=4){h=h-(i>>>3|0)|0;v[g+32>>2]=o+h;i=i&7;break Ma}if(!h){h=0;break La}b=i>>>3|0;b=o>>>0>(h+o|0)-b>>>0?h:b;h=h-b|0;v[g+32>>2]=o+h;i=i-(b<<3)|0}b=h+o|0;n=w[b|0]|w[b+1|0]<<8|(w[b+2|0]<<16|w[b+3|0]<<24);v[g+24>>2]=n}e=c+8|0;v[g+48>>2]=e;c=v[f+8>>2];b=v[c+4>>2];m=b+i|0;i=n>>>0-m&v[(b<<2)+4592>>2];v[g+52>>2]=i;Na:{if(m>>>0>32){break Na}Oa:{if((h|0)>=4){h=h-(m>>>3|0)|0;v[g+32>>2]=o+h;m=m&7;break Oa}if(!h){h=0;break Na}b=m>>>3|0;b=o>>>0>(h+o|0)-b>>>0?h:b;h=h-b|0;v[g+32>>2]=o+h;m=m-(b<<3)|0}b=h+o|0;n=w[b|0]|w[b+1|0]<<8|(w[b+2|0]<<16|w[b+3|0]<<24);v[g+24>>2]=n}l=c+8|0;v[g+56>>2]=l;k=v[f+4>>2];c=v[k+4>>2];b=c+m|0;v[g+28>>2]=b;m=v[(c<<2)+4592>>2]&n>>>0-b;v[g+60>>2]=m;Pa:{if(b>>>0>32){break Pa}c=h+o|0;q=g;Qa:{if((h|0)>=4){c=c-(b>>>3|0)|0;v[g+32>>2]=c;b=b&7;break Qa}if(!h){break Pa}f=h;h=b>>>3|0;h=o>>>0>c-h>>>0?f:h;c=c-h|0;v[g+32>>2]=c;b=b-(h<<3)|0}v[q+28>>2]=b;v[g+24>>2]=w[c|0]|w[c+1|0]<<8|(w[c+2|0]<<16|w[c+3|0]<<24)}n=k+8|0;v[g- -64>>2]=n;J=z-32|0;c=d;h=0;while(1){e=(a<<3)+e|0;a=v[e+4>>2];p=v[e>>2];f=a;I=(a&65535)<<16|p>>>16;A=I&255;e=(m<<3)+n|0;a=v[e+4>>2];q=v[e>>2];k=a;K=(a&65535)<<16|q>>>16;F=K&255;a=(i<<3)+l|0;e=v[a+4>>2];s=v[a>>2];a=e;i=a;m=k;e=f;l=(a&65535)<<16|s>>>16;a=l&255;Ra:{if(a>>>0>=2){Sa:{if(!(!T|a>>>0<25)){L=a;l=32-b|0;a=a>>>0>>0?a:l;n=L-a|0;l=v[g+24>>2];M=l<>>0-a<>>0>32){break Ta}b=v[g+32>>2];Ua:{if(b>>>0>=y[g+40>>2]){b=b-(a>>>3|0)|0;v[g+32>>2]=b;a=a&7;break Ua}o=v[g+36>>2];if((o|0)==(b|0)){break Ta}l=a>>>3|0;l=o>>>0>b-l>>>0?b-o|0:l;b=b-l|0;v[g+32>>2]=b;a=a-(l<<3)|0}l=w[b|0]|w[b+1|0]<<8|(w[b+2|0]<<16|w[b+3|0]<<24);v[g+24>>2]=l}i=i+M|0;if(!n){break Sa}i=(l<>>0-n|0)+i|0;a=a+n|0;break Sa}i=i+(v[g+24>>2]<>>0-l|0)|0;b=a+b|0;if(b>>>0>32){a=b;break Sa}l=v[g+32>>2];if(l>>>0>=y[g+40>>2]){a=b&7;v[g+28>>2]=a;b=l-(b>>>3|0)|0;v[g+32>>2]=b;v[g+24>>2]=w[b|0]|w[b+1|0]<<8|(w[b+2|0]<<16|w[b+3|0]<<24);break Sa}a=v[g+36>>2];if((a|0)==(l|0)){a=b;break Sa}L=b;b=b>>>3|0;b=a>>>0>l-b>>>0?l-a|0:b;a=L-(b<<3)|0;v[g+28>>2]=a;b=l-b|0;v[g+32>>2]=b;v[g+24>>2]=w[b|0]|w[b+1|0]<<8|(w[b+2|0]<<16|w[b+3|0]<<24)}b=v[g+72>>2];l=v[g+68>>2];v[g+68>>2]=i;v[g+72>>2]=l;v[g+76>>2]=b;break Ra}if(!a){if(e){i=v[g+68>>2];a=b;break Ra}i=v[g+72>>2];v[g+72>>2]=v[g+68>>2];v[g+68>>2]=i;a=b;break Ra}a=b+1|0;v[g+28>>2]=a;b=i+!e+(v[g+24>>2]<>>31)|0;Va:{Wa:{if((b|0)==3){b=v[g+68>>2]-1|0;i=!b+b|0;break Wa}i=v[(g+(b<<2)|0)+68>>2];i=!i+i|0;if((b|0)==1){break Va}}v[g+76>>2]=v[g+72>>2]}v[g+72>>2]=v[g+68>>2];v[g+68>>2]=i}b=m;if(F){b=(v[g+24>>2]<>>0-K|0)+b|0;a=a+F|0}Xa:{if(F+A>>>0<20|a>>>0>32){break Xa}l=g;m=v[g+32>>2];Ya:{if(m>>>0>=y[g+40>>2]){m=m-(a>>>3|0)|0;v[g+32>>2]=m;a=a&7;break Ya}n=v[g+36>>2];if((n|0)==(m|0)){break Xa}F=a>>>3|0;n=n>>>0>m-F>>>0?m-n|0:F;m=m-n|0;v[g+32>>2]=m;a=a-(n<<3)|0}v[l+28>>2]=a;v[g+24>>2]=w[m|0]|w[m+1|0]<<8|(w[m+2|0]<<16|w[m+3|0]<<24)}m=q;q=(k&16777215)<<8|m>>>24;l=p;p=(f&16777215)<<8|l>>>24;if(A){e=(v[g+24>>2]<>>0-I|0)+e|0;a=a+A|0}Za:{if(a>>>0>32){break Za}f=v[g+32>>2];_a:{if(f>>>0>=y[g+40>>2]){n=f-(a>>>3|0)|0;v[g+32>>2]=n;a=a&7;break _a}k=v[g+36>>2];if((k|0)==(f|0)){break Za}A=f;n=a>>>3|0;f=k>>>0>f-n>>>0?f-k|0:n;n=A-f|0;v[g+32>>2]=n;a=a-(f<<3)|0}v[g+24>>2]=w[n|0]|w[n+1|0]<<8|(w[n+2|0]<<16|w[n+3|0]<<24)}n=v[g+24>>2];f=a;a=p&255;f=f+a|0;v[g+44>>2]=(n>>>0-f&v[(a<<2)+4592>>2])+(l&65535);a=f;f=q&255;a=a+f|0;v[g+60>>2]=(n>>>0-a&v[(f<<2)+4592>>2])+(m&65535);$a:{if(a>>>0>32){break $a}f=v[g+32>>2];ab:{if(f>>>0>=y[g+40>>2]){n=f-(a>>>3|0)|0;v[g+32>>2]=n;a=a&7;break ab}k=v[g+36>>2];if((k|0)==(f|0)){break $a}l=f;m=a>>>3|0;f=k>>>0>f-m>>>0?f-k|0:m;n=l-f|0;v[g+32>>2]=n;a=a-(f<<3)|0}n=w[n|0]|w[n+1|0]<<8|(w[n+2|0]<<16|w[n+3|0]<<24);v[g+24>>2]=n}f=a;a=s>>>24|0;f=f+a|0;v[g+28>>2]=f;v[g+52>>2]=(v[(a<<2)+4592>>2]&n>>>0-f)+(s&65535);v[g+96>>2]=e;v[g+100>>2]=b;v[g+104>>2]=i;bb:{cb:{m=v[g+92>>2];p=m+e|0;db:{if(p>>>0>G>>>0){break db}n=b+e|0;if(J>>>0>>0){break db}if(n+32>>>0<=z-c>>>0){break cb}}a=v[g+108>>2];v[g+16>>2]=v[g+104>>2];v[g+20>>2]=a;a=v[g+100>>2];v[g+8>>2]=v[g+96>>2];v[g+12>>2]=a;n=ha(c,z,g+8|0,g+92|0,G,r,C,H);break bb}a=c+e|0;f=w[m+4|0]|w[m+5|0]<<8|(w[m+6|0]<<16|w[m+7|0]<<24);k=w[m|0]|w[m+1|0]<<8|(w[m+2|0]<<16|w[m+3|0]<<24);t[c|0]=k;t[c+1|0]=k>>>8;t[c+2|0]=k>>>16;t[c+3|0]=k>>>24;t[c+4|0]=f;t[c+5|0]=f>>>8;t[c+6|0]=f>>>16;t[c+7|0]=f>>>24;f=w[m+12|0]|w[m+13|0]<<8|(w[m+14|0]<<16|w[m+15|0]<<24);k=w[m+8|0]|w[m+9|0]<<8|(w[m+10|0]<<16|w[m+11|0]<<24);t[c+8|0]=k;t[c+9|0]=k>>>8;t[c+10|0]=k>>>16;t[c+11|0]=k>>>24;t[c+12|0]=f;t[c+13|0]=f>>>8;t[c+14|0]=f>>>16;t[c+15|0]=f>>>24;if(e>>>0>=17){e=c+16|0;while(1){f=w[m+20|0]|w[m+21|0]<<8|(w[m+22|0]<<16|w[m+23|0]<<24);k=w[m+16|0]|w[m+17|0]<<8|(w[m+18|0]<<16|w[m+19|0]<<24);t[e|0]=k;t[e+1|0]=k>>>8;t[e+2|0]=k>>>16;t[e+3|0]=k>>>24;t[e+4|0]=f;t[e+5|0]=f>>>8;t[e+6|0]=f>>>16;t[e+7|0]=f>>>24;f=w[m+28|0]|w[m+29|0]<<8|(w[m+30|0]<<16|w[m+31|0]<<24);k=w[m+24|0]|w[m+25|0]<<8|(w[m+26|0]<<16|w[m+27|0]<<24);t[e+8|0]=k;t[e+9|0]=k>>>8;t[e+10|0]=k>>>16;t[e+11|0]=k>>>24;t[e+12|0]=f;t[e+13|0]=f>>>8;t[e+14|0]=f>>>16;t[e+15|0]=f>>>24;m=m+16|0;e=e+16|0;if(e>>>0>>0){continue}break}}e=a-i|0;v[g+92>>2]=p;if(a-r>>>0>>0){if(a-C>>>0>>0){n=-20;break bb}e=e-r|0;f=e+H|0;if(H>>>0>=f+b>>>0){Z(a,f,b);break bb}a=Z(a,f,0-e|0);b=b+e|0;v[g+100>>2]=b;a=a-e|0;e=r}if(i>>>0>=16){i=a+b|0;while(1){b=w[e+4|0]|w[e+5|0]<<8|(w[e+6|0]<<16|w[e+7|0]<<24);f=w[e|0]|w[e+1|0]<<8|(w[e+2|0]<<16|w[e+3|0]<<24);t[a|0]=f;t[a+1|0]=f>>>8;t[a+2|0]=f>>>16;t[a+3|0]=f>>>24;t[a+4|0]=b;t[a+5|0]=b>>>8;t[a+6|0]=b>>>16;t[a+7|0]=b>>>24;b=w[e+12|0]|w[e+13|0]<<8|(w[e+14|0]<<16|w[e+15|0]<<24);f=w[e+8|0]|w[e+9|0]<<8|(w[e+10|0]<<16|w[e+11|0]<<24);t[a+8|0]=f;t[a+9|0]=f>>>8;t[a+10|0]=f>>>16;t[a+11|0]=f>>>24;t[a+12|0]=b;t[a+13|0]=b>>>8;t[a+14|0]=b>>>16;t[a+15|0]=b>>>24;e=e+16|0;a=a+16|0;if(i>>>0>a>>>0){continue}break}break bb}eb:{if(i>>>0<=7){t[a|0]=w[e|0];t[a+1|0]=w[e+1|0];t[a+2|0]=w[e+2|0];t[a+3|0]=w[e+3|0];i=i<<2;e=v[i+4752>>2]+e|0;f=w[e|0]|w[e+1|0]<<8|(w[e+2|0]<<16|w[e+3|0]<<24);t[a+4|0]=f;t[a+5|0]=f>>>8;t[a+6|0]=f>>>16;t[a+7|0]=f>>>24;e=e-v[i+4784>>2]|0;break eb}f=w[e+4|0]|w[e+5|0]<<8|(w[e+6|0]<<16|w[e+7|0]<<24);i=w[e|0]|w[e+1|0]<<8|(w[e+2|0]<<16|w[e+3|0]<<24);t[a|0]=i;t[a+1|0]=i>>>8;t[a+2|0]=i>>>16;t[a+3|0]=i>>>24;t[a+4|0]=f;t[a+5|0]=f>>>8;t[a+6|0]=f>>>16;t[a+7|0]=f>>>24}if(b>>>0<9){break bb}i=a+b|0;a=a+8|0;e=e+8|0;if((a-e|0)<=15){while(1){b=w[e+4|0]|w[e+5|0]<<8|(w[e+6|0]<<16|w[e+7|0]<<24);f=w[e|0]|w[e+1|0]<<8|(w[e+2|0]<<16|w[e+3|0]<<24);t[a|0]=f;t[a+1|0]=f>>>8;t[a+2|0]=f>>>16;t[a+3|0]=f>>>24;t[a+4|0]=b;t[a+5|0]=b>>>8;t[a+6|0]=b>>>16;t[a+7|0]=b>>>24;e=e+8|0;a=a+8|0;if(i>>>0>a>>>0){continue}break bb}}while(1){b=w[e+4|0]|w[e+5|0]<<8|(w[e+6|0]<<16|w[e+7|0]<<24);f=w[e|0]|w[e+1|0]<<8|(w[e+2|0]<<16|w[e+3|0]<<24);t[a|0]=f;t[a+1|0]=f>>>8;t[a+2|0]=f>>>16;t[a+3|0]=f>>>24;t[a+4|0]=b;t[a+5|0]=b>>>8;t[a+6|0]=b>>>16;t[a+7|0]=b>>>24;b=w[e+12|0]|w[e+13|0]<<8|(w[e+14|0]<<16|w[e+15|0]<<24);f=w[e+8|0]|w[e+9|0]<<8|(w[e+10|0]<<16|w[e+11|0]<<24);t[a+8|0]=f;t[a+9|0]=f>>>8;t[a+10|0]=f>>>16;t[a+11|0]=f>>>24;t[a+12|0]=b;t[a+13|0]=b>>>8;t[a+14|0]=b>>>16;t[a+15|0]=b>>>24;e=e+16|0;a=a+16|0;if(i>>>0>a>>>0){continue}break}}a=v[g+28>>2];fb:{if(a>>>0>32){b=a;break fb}e=v[g+32>>2];if(e>>>0>=y[g+40>>2]){b=a&7;v[g+28>>2]=b;a=e-(a>>>3|0)|0;v[g+32>>2]=a;v[g+24>>2]=w[a|0]|w[a+1|0]<<8|(w[a+2|0]<<16|w[a+3|0]<<24);break fb}b=v[g+36>>2];if((b|0)==(e|0)){b=a;break fb}f=a;a=a>>>3|0;a=b>>>0>e-a>>>0?e-b|0:a;b=f-(a<<3)|0;v[g+28>>2]=b;a=e-a|0;v[g+32>>2]=a;v[g+24>>2]=w[a|0]|w[a+1|0]<<8|(w[a+2|0]<<16|w[a+3|0]<<24)}a=n>>>0<4294967177;c=a?c+n|0:c;h=a?h:n;D=D-1|0;if(D){i=v[g+52>>2];l=v[g+56>>2];m=v[g+60>>2];n=v[g+64>>2];a=v[g+44>>2];e=v[g+48>>2];continue}break}if(h>>>0>4294967176){break Ga}if(b>>>0<=32){a=v[g+32>>2];if(a>>>0>=y[g+40>>2]){h=-20;break Ga}if((a|0)!=v[g+36>>2]){h=-20;break Ga}h=-20;if((b|0)!=32){break Ga}}b=v[g+72>>2];a=u;v[a>>2]=v[g+68>>2];v[a+4>>2]=b;v[a+8>>2]=v[g+76>>2];e=v[g+92>>2]}h=-70;a=G-e|0;if(a>>>0>z-c>>>0){break Ga}if(c){a=X(c,e,a)+a|0}else{a=0}h=a-d|0}Q=g+112|0;m=h}Q=j+192|0;return m}function Aa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,x=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,R=0,T=0,U=0,V=0,W=0,Z=0,da=0;x=Q-16|0;Q=x;i=v[c+8>>2];g=v[c+4>>2];a:{if(i>>>0>g>>>0){e=-72;break a}h=v[b+8>>2];f=v[b+4>>2];if(h>>>0>f>>>0){e=-70;break a}d=v[b>>2];r=v[c>>2];if(!(!v[a+28964>>2]|v[a+29024>>2]!=1)){e=-104;if((d|0)!=v[a+29028>>2]|(h|0)!=v[a+29036>>2]|(f|0)!=v[a+29032>>2]){break a}}H=d+f|0;l=a+4120|0;L=a+6176|0;M=a+16|0;p=a+26668|0;N=a+10280|0;o=a+28728|0;E=g+r|0;r=i+r|0;n=E-r|0;j=a+160144|0;i=a+28752|0;I=a+29028|0;z=a+28804|0;t=a+28972|0;A=a+28988|0;J=a+160164|0;q=a+28856|0;K=q;f=r;O=d+h|0;s=O;b:{while(1){c:{e=-1;d=i;h=j;d:{e:{f:{g:{h:{switch(v[a+28964>>2]){case 3:d=v[z>>2];e=v[a+28744>>2];break e;case 1:e=v[a+29e3>>2];break g;case 2:break f;case 0:break h;case 4:break d;default:break a}}v[a+28964>>2]=1;v[a+28992>>2]=0;v[a+28996>>2]=0;v[a+29012>>2]=0;v[a+29016>>2]=0;v[a+29e3>>2]=0;v[a+28976>>2]=0;e=v[b+4>>2];v[I>>2]=v[b>>2];v[I+4>>2]=e;v[I+8>>2]=v[b+8>>2];e=0}e=aa(d,h,e,v[a+28908>>2]);if(e>>>0>4294967176){break a}if(e){d=v[a+29e3>>2];g=e-d|0;h=E-f|0;if(g>>>0>h>>>0){if(h){X((a+d|0)+160144|0,f,h);d=h+v[a+29e3>>2]|0;v[a+29e3>>2]=d}v[c+8>>2]=v[c+4>>2];a=v[a+28908>>2]?2:6;e=((a>>>0>e>>>0?a:e)-d|0)+3|0;break a}X((a+d|0)+160144|0,f,g);v[a+29e3>>2]=e;f=f+g|0;continue}i:{d=v[i>>2];e=v[i+4>>2];if((d|0)==-1&(e|0)==-1|v[a+28772>>2]==1){break i}G=H-s|0;if(!e&G>>>0>>0|e){break i}m=0;k=Q-48|0;Q=k;j:{if(!(((w[r|0]|w[r+1|0]<<8|(w[r+2|0]<<16|w[r+3|0]<<24))&-16)!=407710288|n>>>0<8)){e=w[r+4|0]|w[r+5|0]<<8|(w[r+6|0]<<16|w[r+7|0]<<24);v[x+8>>2]=0;v[x+12>>2]=0;v[x+4>>2]=0;d=e+8|0;v[x>>2]=e>>>0>4294967287?-14:d>>>0>n>>>0?-72:d;break j}g=x;e=aa(k+8|0,r,n,0);k:{if(e>>>0>=4294967177){v[x>>2]=e;e=-2;d=-1;break k}if(e){v[x>>2]=-72;e=-2;d=-1;break k}e=v[k+32>>2];d=n-e|0;e=e+r|0;l:{while(1){if(d>>>0<3){C=-72;break l}C=-20;m:{n:{D=w[e|0]|w[e+1|0]<<8;h=D>>>1&3;switch(h-1|0){case 2:break l;case 0:break m;default:break n}}h=(D|w[e+2|0]<<16)>>>3|0}h=h+3|0;if(h>>>0>d>>>0){v[x>>2]=-72;e=-2;d=-1;break k}m=m+1|0;d=d-h|0;e=e+h|0;if(!(D&1)){continue}break}if(v[k+40>>2]){if(d>>>0<=3){v[x>>2]=-72;e=-2;d=-1;break k}e=e+4|0}C=v[k+24>>2];d=v[k+8>>2];h=v[k+12>>2];v[x+4>>2]=0;v[x>>2]=e-r;e=d;d=(d|0)==-1&(h|0)==-1;e=d?B(m,C):e;d=d?0:h;break k}v[x>>2]=C;e=-2;d=-1}v[g+8>>2]=e;v[g+12>>2]=d}Q=k+48|0;m=v[x>>2];if(m>>>0>n>>>0){break i}h=s;j=r;o=m;n=0;z=0;C=0;o:{p:{switch(v[a+28960>>2]+1|0){default:f=v[a+28944>>2];q:{if(!f){break q}d=v[f+26692>>2];e=v[f+26688>>2];r:{s:{i=v[f>>2];if(i){if(!e){break s}S[e|0](d,i);S[e|0](d,f);break q}if(!e){break r}S[e|0](d,f);break q}Y(i)}Y(f)}v[a+28960>>2]=0;v[a+28944>>2]=0;v[a+28948>>2]=0;q=0;break o;case 2:v[a+28960>>2]=0;break;case 0:break p}}q=v[a+28948>>2]}if(q){z=v[q+8>>2];n=v[q+4>>2]}d=v[a+28908>>2]?1:5;t:{u:{if(o>>>0>>0){e=h;break u}K=a+28816|0;L=a+28752|0;M=q+10276|0;N=q+4116|0;R=q+6172|0;T=q+12|0;U=a+4120|0;V=a+6176|0;W=a+16|0;J=a+26668|0;Z=a+10280|0;A=a+28728|0;k=a+28856|0;D=k;e=h;while(1){if(((w[j|0]|w[j+1|0]<<8|(w[j+2|0]<<16|w[j+3|0]<<24))&-16)==407710288){f=-72;if(o>>>0<8){break t}f=-14;i=w[j+4|0]|w[j+5|0]<<8|(w[j+6|0]<<16|w[j+7|0]<<24);if(i>>>0>4294967287){break t}f=i+8|0;f=f>>>0>o>>>0?-72:f;if(f>>>0>4294967176){break t}j=f+j|0;o=o-f|0;if(o>>>0>=d>>>0){continue}break u}v:{if(q){f=v[q+8>>2];i=v[q+4>>2];v[a+28804>>2]=0;v[a+28744>>2]=d;v[a+28792>>2]=0;v[a+28796>>2]=0;v[a+28956>>2]=v[a+28740>>2]!=(f+i|0);f=A;v[f+8>>2]=0;v[f+12>>2]=0;v[f>>2]=0;v[f+4>>2]=0;v[a+10280>>2]=201326604;v[a+28808>>2]=0;v[a+28812>>2]=0;v[a+28800>>2]=3;v[J+8>>2]=v[814];f=v[813];v[J>>2]=v[812];v[J+4>>2]=f;v[a+12>>2]=Z;v[a+8>>2]=U;v[a+4>>2]=V;v[a>>2]=W;v[a+28952>>2]=v[q+26676>>2];f=v[q+4>>2];v[a+28736>>2]=f;v[a+28732>>2]=f;f=f+v[q+8>>2]|0;v[a+28728>>2]=f;v[a+28740>>2]=f;if(v[q+26680>>2]){v[a+28808>>2]=1;v[a+28812>>2]=1;v[a+12>>2]=M;v[a+8>>2]=N;v[a+4>>2]=R;v[a>>2]=T;v[a+26668>>2]=v[q+26664>>2];v[a+26672>>2]=v[q+26668>>2];v[a+26676>>2]=v[q+26672>>2];break v}v[a+28808>>2]=0;v[a+28812>>2]=0;break v}f=0;v[a+28792>>2]=0;v[a+28796>>2]=0;v[a+28728>>2]=0;v[a+28732>>2]=0;v[a+28952>>2]=0;v[a+28808>>2]=0;v[a+28812>>2]=0;v[a+28800>>2]=3;v[a+28804>>2]=0;d=a+28736|0;v[d>>2]=0;v[d+4>>2]=0;d=a+10280|0;v[d>>2]=201326604;v[a+28744>>2]=v[a+28908>>2]?1:5;v[a+12>>2]=d;v[a+8>>2]=a+4120;v[a+4>>2]=a+6176;v[a>>2]=a+16;i=v[813];d=a+26668|0;v[d>>2]=v[812];v[d+4>>2]=i;v[a+26676>>2]=v[814];w:{if(!n|!z){break w}da=a+28728|0;x:{if(!((w[n|0]|w[n+1|0]<<8|(w[n+2|0]<<16|w[n+3|0]<<24))!=-332356553|z>>>0<=7)){v[a+28952>>2]=w[n+4|0]|w[n+5|0]<<8|(w[n+6|0]<<16|w[n+7|0]<<24);f=-30;t=a+16|0;i=Q-128|0;Q=i;d=-30;y:{if(z>>>0<9){break y}g=n+8|0;p=ia(t+10264|0,g,z-8|0,t,10264);if(p>>>0>4294967176){break y}v[i+124>>2]=31;g=p>>>0<4294967177?g+p|0:g;p=n+z|0;l=$(i,i+124|0,i+120|0,g,p-g|0);if(l>>>0>4294967176){break y}u=v[i+124>>2];if(u>>>0>31){break y}F=v[i+120>>2];if(F>>>0>=9){break y}ba(t+4104|0,i,u,2256,2384,F);v[i+124>>2]=52;g=g+l|0;l=$(i,i+124|0,i+120|0,g,p-g|0);if(l>>>0>4294967176){break y}u=v[i+124>>2];if(u>>>0>52){break y}F=v[i+120>>2];if(F>>>0>=10){break y}ba(t+6160|0,i,u,2512,2736,F);v[i+124>>2]=35;g=g+l|0;l=$(i,i+124|0,i+120|0,g,p-g|0);u=v[i+124>>2];F=v[i+120>>2];P=l>>>0>4294967176|u>>>0>35|F>>>0>9;if(!P){ba(t,i,u,2960,3104,F);g=g+l|0}u=g+12|0;if(u>>>0>p>>>0|P){break y}l=w[g|0]|w[g+1|0]<<8|(w[g+2|0]<<16|w[g+3|0]<<24);if(!l){break y}p=p-u|0;if(p>>>0>>0){break y}v[t+26652>>2]=l;l=w[g+4|0]|w[g+5|0]<<8|(w[g+6|0]<<16|w[g+7|0]<<24);if(!l|l>>>0>p>>>0){break y}v[t+26656>>2]=l;l=w[g+8|0]|w[g+9|0]<<8|(w[g+10|0]<<16|w[g+11|0]<<24);if(!l|l>>>0>p>>>0){break y}v[t+26660>>2]=l;d=(g-n|0)+12|0}Q=i+128|0;if(d>>>0>4294967176){break w}v[a+28808>>2]=1;v[a+28812>>2]=1;i=v[a+28728>>2];v[a+28740>>2]=i;g=v[a+28732>>2];f=d>>>0<4294967177?d+n|0:n;v[a+28732>>2]=f;v[a+28736>>2]=f+(g-i|0);d=f+(z-d|0)|0;break x}v[a+28736>>2]=n;v[a+28740>>2]=0;v[a+28732>>2]=n;d=n+z|0}v[da>>2]=d;f=0}if(f>>>0>4294967176){break t}f=v[A>>2]}if((e|0)!=(f|0)){v[a+28740>>2]=f;v[a+28728>>2]=e;d=v[a+28732>>2];v[a+28732>>2]=e;v[a+28736>>2]=(d-f|0)+e}z:{d=v[a+28908>>2];A:{if((d?5:9)>>>0>o>>>0){f=-72;break A}g=d?1:5;f=w[(g+j|0)-1|0];i=f&32;f=(!i+(v[(f>>>4&12)+4736>>2]+(g+v[((f&3)<<2)+4720>>2]|0)|0)|0)+(i>>>5&f>>>0<64)|0;if(f>>>0>4294967176){break A}if(f+3>>>0>o>>>0){f=-72;break A}d=aa(L,j,f,d);if(d>>>0>4294967176){f=d;break A}if(d){f=-72;break A}d=v[a+28780>>2];if(!(!d|(d|0)==v[a+28952>>2])){f=-32;break A}if(v[a+28784>>2]){v[a+28848>>2]=2048144761;v[a+28852>>2]=1640531534;v[a+28840>>2]=0;v[a+28844>>2]=0;v[a+28832>>2]=668265295;v[a+28836>>2]=-1028477379;v[a+28824>>2]=-1379879466;v[a+28828>>2]=1625958382;v[a+28816>>2]=0;v[a+28820>>2]=0;v[k+32>>2]=0;v[k+36>>2]=0;v[D+24>>2]=0;v[D+28>>2]=0;d=k;v[d+16>>2]=0;v[d+20>>2]=0;v[d+8>>2]=0;v[d+12>>2]=0;v[d>>2]=0;v[d+4>>2]=0}t=e+G|0;o=o-f|0;j=f+j|0;g=e;while(1){if(o>>>0<3){f=-72;break A}p=w[j|0]|w[j+1|0]<<8;l=p|w[j+2|0]<<16;i=l>>>3|0;f=-20;B:{C:{u=p>>>1&3;d=u;switch(d-1|0){case 2:break A;case 0:break B;default:break C}}d=i}o=o-3|0;if(o>>>0>>0){f=-72;break A}j=j+3|0;D:{E:{switch(u|0){case 0:if(!g){f=0;if(!d){break D}f=-74;break A}if(t-g>>>0>>0){f=-70;break A}X(g,j,d);f=d;break D;case 1:if(!g){f=0;if(l>>>0<8){break D}f=-74;break A}if(i>>>0>t-g>>>0){f=-70;break A}_(g,w[j|0],i);f=i;break D;case 2:break E;default:break A}}f=qa(a,g,t-g|0,j,d);if(f>>>0>4294967176){break A}}if(v[a+28784>>2]){pa(K,g,f)}o=o-d|0;j=d+j|0;g=f+g|0;if(!(p&1)){continue}break}f=v[a+28756>>2];d=f;i=v[a+28752>>2];if((i|0)!=-1|(d|0)!=-1){f=-20;u=i;i=g-e|0;if((u|0)!=(i|0)|i>>31!=(d|0)){break A}}if(v[a+28784>>2]){f=-22;if(o>>>0<4){break A}if((w[j|0]|w[j+1|0]<<8|(w[j+2|0]<<16|w[j+3|0]<<24))!=(oa(K)|0)){break A}o=o-4|0;j=j+4|0}f=g-e|0;if(f>>>0<4294967177){break z}}f=(f|0)==-10?C?-72:f:f;break t}C=1;G=G-f|0;e=e+f|0;d=v[a+28908>>2]?1:5;if(o>>>0>=d>>>0){continue}break}}f=-72;if(o){break t}f=e-h|0}e=f;if(e>>>0>4294967176){break a}v[a+28744>>2]=0;s=e+s|0;f=r+m|0;break c}F:{if(v[a+28772>>2]==1|v[a+29024>>2]!=1){break F}e=v[i>>2];d=v[i+4>>2];if((e|0)==-1&(d|0)==-1|!d&H-s>>>0>=e>>>0){break F}e=-70;break a}G:{H:{switch(v[a+28960>>2]+1|0){default:e=v[a+28944>>2];I:{if(!e){break I}h=v[e+26692>>2];d=v[e+26688>>2];J:{K:{g=v[e>>2];if(g){if(!d){break K}S[d|0](h,g);S[d|0](h,e);break I}if(!d){break J}S[d|0](h,e);break I}Y(g)}Y(e)}e=0;v[a+28960>>2]=0;v[a+28944>>2]=0;v[a+28948>>2]=0;h=1;break G;case 2:v[a+28960>>2]=0;break;case 0:break H}}e=v[a+28948>>2];if(!e){e=0;h=1;break G}v[a+28956>>2]=v[a+28740>>2]!=(v[e+4>>2]+v[e+8>>2]|0);h=0}v[a+28792>>2]=0;v[a+28796>>2]=0;v[z>>2]=0;g=v[a+28908>>2];v[a+28744>>2]=g?1:5;d=o;v[d+8>>2]=0;v[d+12>>2]=0;v[d>>2]=0;v[d+4>>2]=0;v[a+10280>>2]=201326604;v[a+28952>>2]=0;v[a+28808>>2]=0;v[a+28812>>2]=0;v[a+28800>>2]=3;v[p+8>>2]=v[814];d=v[813];v[p>>2]=v[812];v[p+4>>2]=d;v[a+12>>2]=N;v[a+8>>2]=l;v[a+4>>2]=L;v[a>>2]=M;L:{if(h){break L}v[a+28952>>2]=v[e+26676>>2];d=v[e+4>>2];v[a+28736>>2]=d;v[a+28732>>2]=d;d=d+v[e+8>>2]|0;v[a+28728>>2]=d;v[a+28740>>2]=d;if(v[e+26680>>2]){v[a+28808>>2]=1;v[a+28812>>2]=1;v[a+12>>2]=e+10276;v[a+8>>2]=e+4116;v[a+4>>2]=e+6172;v[a>>2]=e+12;v[a+26668>>2]=v[e+26664>>2];v[a+26672>>2]=v[e+26668>>2];v[a+26676>>2]=v[e+26672>>2];break L}v[a+28808>>2]=0;v[a+28812>>2]=0}M:{if(((w[j|0]|w[j+1|0]<<8|(w[j+2|0]<<16|w[j+3|0]<<24))&-16)==407710288){e=w[a+160148|0]|w[a+160149|0]<<8|(w[a+160150|0]<<16|w[a+160151|0]<<24);h=7;break M}e=aa(i,j,v[a+29e3>>2],g);if(e>>>0>4294967176){break a}if(e){e=-72;break a}e=v[a+28780>>2];if(!(!e|(e|0)==v[a+28952>>2])){e=-32;break a}h=2;e=3;if(!v[a+28784>>2]){break M}v[a+28848>>2]=2048144761;v[a+28852>>2]=1640531534;v[a+28840>>2]=0;v[a+28844>>2]=0;v[a+28832>>2]=668265295;v[a+28836>>2]=-1028477379;v[a+28824>>2]=-1379879466;v[a+28828>>2]=1625958382;v[a+28816>>2]=0;v[a+28820>>2]=0;v[K+32>>2]=0;v[K+36>>2]=0;d=q;v[d+24>>2]=0;v[d+28>>2]=0;v[d+16>>2]=0;v[d+20>>2]=0;v[d+8>>2]=0;v[d+12>>2]=0;v[d>>2]=0;v[d+4>>2]=0}v[a+28744>>2]=e;v[z>>2]=h;e=v[a+28760>>2];d=v[a+28764>>2];h=!d&e>>>0>1024|(d|0)!=0;e=h?e:1024;d=h?d:0;g=d;v[a+28760>>2]=e;v[a+28764>>2]=d;if(!d&e>>>0>y[a+28980>>2]|d){e=-16;break a}d=v[a+28768>>2];k=d>>>0>4?d:4;d=0;h=0;if(!v[a+29024>>2]){h=v[i+4>>2];C=h;G=v[i>>2];m=e;e=!g&e>>>0<131072;D=e?m:131072;m=m+D|0;e=(e?g:0)+g|0;e=m>>>0>>0?e+1|0:e;g=m;m=g- -64|0;e=e-((g>>>0<4294967232)-1|0)|0;h=(h|0)==(e|0)&m>>>0>G>>>0|e>>>0>h>>>0;h=(h?C:e)>>>0<1?h?G:m:-16}e=v[A>>2];m=v[t>>2];g=h+k|0;d=e+m>>>0>=B(g,3)>>>0?v[J>>2]+1|0:d;v[J>>2]=d;if(d>>>0<128?e>>>0>>0|k>>>0>m>>>0:1){N:{O:{e=v[a+28936>>2];if(e){if(g>>>0<=e-160168>>>0){break O}e=-64;break a}e=v[a+28968>>2];P:{if(!e){break P}d=w[a+28920|0]|w[a+28921|0]<<8|(w[a+28922|0]<<16|w[a+28923|0]<<24);if(d){S[d|0](w[a+28924|0]|w[a+28925|0]<<8|(w[a+28926|0]<<16|w[a+28927|0]<<24),e);break P}Y(e)}v[A>>2]=0;v[t>>2]=0;e=a;d=w[a+28916|0]|w[a+28917|0]<<8|(w[a+28918|0]<<16|w[a+28919|0]<<24);Q:{if(d){d=S[d|0](w[a+28924|0]|w[a+28925|0]<<8|(w[a+28926|0]<<16|w[a+28927|0]<<24),g)|0;break Q}d=ea(g)}v[e+28968>>2]=d;if(d){break N}e=-64;break a}d=v[a+28968>>2]}v[A>>2]=h;v[a+28984>>2]=d+k;v[t>>2]=k}v[a+28964>>2]=2}g=E-f|0;d=v[z>>2];R:{S:{if(!(v[a+28800>>2]|d-3>>>0>1)){e=v[a+28744>>2];h=g>>>0>1?g:1;if(e>>>0<=h>>>0){break S}break R}e=v[a+28744>>2]}h=e;if(!e){break c}}if(g>>>0>=h>>>0){g=a;T:{if(!v[a+29024>>2]){k=(d|0)!=7;U:{if(!k){e=v[a+28992>>2];d=0;break U}e=v[a+28992>>2];d=v[A>>2]-e|0}e=ca(a,v[a+28984>>2]+e|0,d,f,h);if(e>>>0>4294967176){break a}if(!e){d=2;if(k){break T}}v[a+28996>>2]=v[a+28992>>2]+e;d=4;break T}e=ca(a,s,(d|0)==7?0:H-s|0,f,h);if(e>>>0>4294967176){break a}s=e+s|0;d=2}v[g+28964>>2]=d;f=f+h|0;continue}if((f|0)==(E|0)){f=E;break b}v[a+28964>>2]=3}g=v[a+28976>>2];h=e-g|0;V:{if((d|0)==7){d=E-f|0;d=d>>>0>h>>>0?h:d;break V}if(h>>>0>v[t>>2]-g>>>0){e=-20;break a}d=E-f|0;d=d>>>0>h>>>0?h:d;if(!d){d=0;break V}X(v[a+28968>>2]+g|0,f,d);g=v[a+28976>>2]}v[a+28976>>2]=d+g;f=d+f|0;if(d>>>0>>0){break b}v[a+28976>>2]=0;h=v[z>>2];g=v[a+28968>>2];d=a;W:{if(!v[a+29024>>2]){m=(h|0)!=7;X:{if(!m){h=v[a+28992>>2];k=0;break X}h=v[a+28992>>2];k=v[A>>2]-h|0}e=ca(a,v[a+28984>>2]+h|0,k,g,e);if(e>>>0>4294967176){break a}if(!e){h=2;if(m){break W}}v[a+28996>>2]=v[a+28992>>2]+e;h=4;break W}e=ca(a,s,(h|0)==7?0:H-s|0,g,e);if(e>>>0>4294967176){break a}s=e+s|0;h=2}v[d+28964>>2]=h;continue}d=a;g=H-s|0;e=v[a+28992>>2];k=v[a+28996>>2]-e|0;m=g>>>0>>0;h=m?g:k;if(h){X(s,e+v[a+28984>>2]|0,h);e=v[a+28992>>2]}e=e+h|0;v[d+28992>>2]=e;Y:{if(m){break Y}v[a+28964>>2]=2;d=v[A>>2];if(!v[a+28756>>2]&d>>>0>=y[a+28752>>2]|d>>>0>=e+v[a+28768>>2]>>>0){break Y}v[a+28992>>2]=0;v[a+28996>>2]=0}s=h+s|0;if(g>>>0>=k>>>0){continue}break b}break}v[a+28964>>2]=0}v[c+8>>2]=f-v[c>>2];e=s-v[b>>2]|0;v[b+8>>2]=e;v[I+8>>2]=e;e=v[b+4>>2];v[I>>2]=v[b>>2];v[I+4>>2]=e;Z:{if(!((f|0)!=(r|0)|(s|0)!=(O|0))){b=v[a+29020>>2];v[a+29020>>2]=b+1;if((b|0)<15){break Z}e=-70;if((H|0)==(O|0)){break a}e=-72;if((r|0)!=(E|0)){break Z}break a}v[a+29020>>2]=0}b=v[a+28744>>2];if(!b){b=v[a+29016>>2];if(v[a+28996>>2]==v[a+28992>>2]){e=0;if(!b){break a}b=v[c+8>>2];if(b>>>0>=y[c+4>>2]){v[a+28964>>2]=2;e=1;break a}v[c+8>>2]=b+1;break a}e=1;if(b){break a}v[c+8>>2]=v[c+8>>2]-1;v[a+29016>>2]=1;break a}e=(b-v[a+28976>>2]|0)+(v[a+28804>>2]==3?3:0)|0}Q=x+16|0;return e|0}function na(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,y=0,z=0,A=0,B=0,C=0;q=Q-784|0;Q=q;j=-72;a:{if(!f){break a}g=t[e|0];A=g&255;b:{c:{if((g|0)<=-1){g=A-126>>>1|0;if(g>>>0>=f>>>0){break a}j=-20;i=A-127|0;if(i>>>0>=256){break a}if(!i){break b}n=e+1|0;j=A-128|0;e=(j>>>1|0)+1|0;k=e&1;f=0;if(j>>>0>=2){e=e&-2;while(1){j=n+(f>>>1|0)|0;t[a+f|0]=w[j|0]>>>4;t[(f|1)+a|0]=w[j|0]&15;j=f|2;l=n+(j>>>1|0)|0;t[a+j|0]=w[l|0]>>>4;t[(f|3)+a|0]=w[l|0]&15;f=f+4|0;e=e-2|0;if(e){continue}break}}if(k){e=n+(f>>>1|0)|0;t[a+f|0]=w[e|0]>>>4;t[(f|1)+a|0]=w[e|0]&15}j=i;A=g;break c}if(f>>>0<=A>>>0){break a}v[q+264>>2]=255;p=e+1|0;g=$(q+272|0,q+264|0,q+268|0,p,A);d:{if(g>>>0>4294967176){j=g;break d}j=-44;m=v[q+268>>2];if(m>>>0>6){break d}z=q+272|0;o=Q-512|0;Q=o;j=-46;r=v[q+264>>2];e:{if(r>>>0>255){break e}j=-44;if(m>>>0>12){break e}B=q+4|0;s=1<>16;f:{if(!r){e=f;break f}j=e&-2;e=f;while(1){i=k<<1;n=x[i+z>>1];g:{if((n|0)==65535){t[(B+(e<<2)|0)+2|0]=k;e=e-1|0;n=1;break g}h=(y|0)>n<<16>>16?h:0}u[i+o>>1]=n;l=k|1;i=l<<1;n=x[z+i>>1];h:{if((n|0)!=65535){h=(y|0)>n<<16>>16?h:0;break h}t[(B+(e<<2)|0)+2|0]=l;e=e-1|0;n=1}u[i+o>>1]=n;k=k+2|0;j=j-2|0;if(j){continue}break}}if(C){n=x[z+(k<<1)>>1];i:{if((n|0)!=65535){h=(y|0)>n<<16>>16?h:0;break i}t[(B+(e<<2)|0)+2|0]=k;e=e-1|0;n=1}u[o+(k<<1)>>1]=n}u[q+2>>1]=h;u[q>>1]=m;n=((s>>>3)+(s>>>1)|0)+3|0;k=0;j=0;while(1){i=j;l=u[z+(i<<1)>>1];j:{if((l|0)<1){break j}if((l|0)!=1){j=l&-2;while(1){t[(B+(k<<2)|0)+2|0]=i;while(1){k=f&k+n;if(k>>>0>e>>>0){continue}break}t[(B+(k<<2)|0)+2|0]=i;while(1){k=f&k+n;if(k>>>0>e>>>0){continue}break}j=j-2|0;if(j){continue}break}}if(!(l&1)){break j}t[(B+(k<<2)|0)+2|0]=i;while(1){k=f&k+n;if(k>>>0>e>>>0){continue}break}}j=i+1|0;if((i|0)!=(r|0)){continue}break}j=-1;if(k){break e}f=m+1|0;j=0;k=0;while(1){i=B+(k<<2)|0;e=o+(w[i+2|0]<<1)|0;l=x[e>>1];u[e>>1]=l+1;e=f+(E(l)^-32)|0;t[i+3|0]=e;u[i>>1]=(l<>>0>4294967176){break d}m=g+p|0;e=A-g|0;C=a;r=a+255|0;y=r-3|0;k:{l:{m:{n:{o:{if(x[q+2>>1]){j=-72;if(!e){break k}p:{q:{if(e>>>0>=4){p=-1;f=w[(e+m|0)-1|0];if(!f){break m}if(e>>>0<=4294967176){break q}j=e;break k}g=w[m|0];r:{switch(e-2|0){case 1:g=w[m+2|0]<<16|g;case 0:g=(w[m+1|0]<<8)+g|0;break;default:break r}}f=w[(e+m|0)-1|0];j=-20;if(!f){break k}h=0;e=(E(f)-(e<<3)|0)+9|0;break p}h=e-4|0;e=m+h|0;g=w[e|0]|w[e+1|0]<<8|(w[e+2|0]<<16|w[e+3|0]<<24);e=E(f)-23|0}l=x[q>>1];i=l+e|0;f=g>>>0-i|0;k=v[(l<<2)+4592>>2];s:{if(i>>>0>32){break s}t:{if((h|0)>=4){g=i>>>3|0;i=i&7;break t}if(!h){h=0;break s}e=i>>>3|0;g=m>>>0>(h+m|0)-e>>>0?h:e;i=i-(g<<3)|0}h=h-g|0;e=m+h|0;g=w[e|0]|w[e+1|0]<<8|(w[e+2|0]<<16|w[e+3|0]<<24)}j=f&k;o=q+4|0;f=i+l|0;l=k&g>>>0-f;if(f>>>0>32){e=f;f=a;break n}if((h|0)>=4){e=f&7;h=h-(f>>>3|0)|0;f=m+h|0;g=w[f|0]|w[f+1|0]<<8|(w[f+2|0]<<16|w[f+3|0]<<24);break o}if(!h){h=0;e=f;break o}e=f>>>3|0;e=m>>>0>(h+m|0)-e>>>0?h:e;h=h-e|0;g=m+h|0;g=w[g|0]|w[g+1|0]<<8|(w[g+2|0]<<16|w[g+3|0]<<24);e=f-(e<<3)|0;if(e>>>0<=32){break o}f=a;break n}j=-72;if(!e){break k}u:{v:{if(e>>>0>=4){p=-1;f=w[(e+m|0)-1|0];if(!f){break m}if(e>>>0<=4294967176){break v}j=e;break k}g=w[m|0];w:{switch(e-2|0){case 1:g=w[m+2|0]<<16|g;case 0:g=(w[m+1|0]<<8)+g|0;break;default:break w}}f=w[(e+m|0)-1|0];j=-20;if(!f){break k}h=0;e=(E(f)-(e<<3)|0)+9|0;break u}h=e-4|0;e=m+h|0;g=w[e|0]|w[e+1|0]<<8|(w[e+2|0]<<16|w[e+3|0]<<24);e=E(f)-23|0}l=x[q>>1];i=l+e|0;f=g>>>0-i|0;k=v[(l<<2)+4592>>2];x:{if(i>>>0>32){break x}y:{if((h|0)>=4){g=i>>>3|0;i=i&7;break y}if(!h){h=0;break x}e=i>>>3|0;g=m>>>0>(h+m|0)-e>>>0?h:e;i=i-(g<<3)|0}h=h-g|0;e=m+h|0;g=w[e|0]|w[e+1|0]<<8|(w[e+2|0]<<16|w[e+3|0]<<24)}j=f&k;o=q+4|0;f=i+l|0;l=k&g>>>0-f;z:{if(f>>>0>32){e=f;f=a;break z}A:{if((h|0)>=4){e=f&7;h=h-(f>>>3|0)|0;f=m+h|0;g=w[f|0]|w[f+1|0]<<8|(w[f+2|0]<<16|w[f+3|0]<<24);break A}if(!h){h=0;e=f;break A}e=f>>>3|0;e=m>>>0>(h+m|0)-e>>>0?h:e;h=h-e|0;g=m+h|0;g=w[g|0]|w[g+1|0]<<8|(w[g+2|0]<<16|w[g+3|0]<<24);e=f-(e<<3)|0;if(e>>>0<=32){break A}f=a;break z}f=a;while(1){B:{if((h|0)>=4){g=e>>>3|0;i=0;e=e&7;break B}if(!h){h=0;break z}g=e>>>3|0;i=m>>>0>(h+m|0)-g>>>0;g=i?h:g;e=e-(g<<3)|0}h=h-g|0;p=m+h|0;g=w[p|0]|w[p+1|0]<<8|(w[p+2|0]<<16|w[p+3|0]<<24);if(i|f>>>0>=y>>>0){break z}i=(j<<2)+o|0;j=x[i>>1];n=w[i+3|0];t[f|0]=w[i+2|0];l=(l<<2)+o|0;k=x[l>>1];i=w[l+3|0];t[f+1|0]=w[l+2|0];e=e+n|0;j=j+(v[(n<<2)+4592>>2]&g>>>0-e)|0;l=v[(i<<2)+4592>>2];i=e+i|0;l=k+(l&g>>>0-i)|0;C:{D:{if(i>>>0>32){e=i;break D}if((h|0)>=4){e=i&7;h=h-(i>>>3|0)|0;g=m+h|0;g=w[g|0]|w[g+1|0]<<8|(w[g+2|0]<<16|w[g+3|0]<<24);break C}if(!h){h=0;e=i;break D}e=i>>>3|0;k=p-e|0;g=k>>>0>>0?h:e;e=i-(g<<3)|0;h=h-g|0;g=m+h|0;g=w[g|0]|w[g+1|0]<<8|(w[g+2|0]<<16|w[g+3|0]<<24);if(k>>>0>=m>>>0){break C}}f=f+2|0;break z}i=(j<<2)+o|0;j=x[i>>1];n=w[i+3|0];t[f+2|0]=w[i+2|0];l=(l<<2)+o|0;i=x[l>>1];k=w[l+3|0];t[f+3|0]=w[l+2|0];e=e+n|0;j=j+(v[(n<<2)+4592>>2]&g>>>0-e)|0;e=e+k|0;l=i+(v[(k<<2)+4592>>2]&g>>>0-e)|0;f=f+4|0;if(e>>>0<33){continue}break}}p=-70;s=r-2|0;if(s>>>0>>0){break m}z=2;while(1){j=(j<<2)+o|0;y=x[j>>1];r=w[j+3|0];t[f|0]=w[j+2|0];n=f+1|0;e=e+r|0;if(e>>>0>32){j=l;break l}E:{F:{if((h|0)>=4){j=e>>>3|0;k=e&7;break F}if(!h){h=0;k=e;i=g;break E}j=e>>>3|0;j=m>>>0>(h+m|0)-j>>>0?h:j;k=e-(j<<3)|0}h=h-j|0;j=m+h|0;i=w[j|0]|w[j+1|0]<<8|(w[j+2|0]<<16|w[j+3|0]<<24)}if(n>>>0>s>>>0){break m}j=y+(v[(r<<2)+4592>>2]&g>>>0-e)|0;e=(l<<2)+o|0;l=x[e>>1];g=w[e+3|0];t[f+1|0]=w[e+2|0];n=f+2|0;e=g+k|0;if(e>>>0>32){z=3;break l}f=v[(g<<2)+4592>>2]&i>>>0-e;G:{H:{if((h|0)>=4){k=e>>>3|0;e=e&7;break H}if(!h){h=0;break G}i=e;e=e>>>3|0;k=m>>>0>(h+m|0)-e>>>0?h:e;e=i-(k<<3)|0}h=h-k|0;g=m+h|0;i=w[g|0]|w[g+1|0]<<8|(w[g+2|0]<<16|w[g+3|0]<<24)}g=i;l=f+l|0;f=n;if(s>>>0>=f>>>0){continue}break}break m}f=a;while(1){I:{if((h|0)>=4){g=e>>>3|0;i=0;e=e&7;break I}if(!h){h=0;break n}g=e>>>3|0;i=m>>>0>(h+m|0)-g>>>0;g=i?h:g;e=e-(g<<3)|0}h=h-g|0;p=m+h|0;g=w[p|0]|w[p+1|0]<<8|(w[p+2|0]<<16|w[p+3|0]<<24);if(i|f>>>0>=y>>>0){break n}i=(j<<2)+o|0;j=x[i>>1];n=w[i+3|0];t[f|0]=w[i+2|0];l=(l<<2)+o|0;i=x[l>>1];k=w[l+3|0];t[f+1|0]=w[l+2|0];j=j+(g<>>0-n|0)|0;e=e+n|0;l=i+(g<>>0-k|0)|0;J:{i=e+k|0;K:{if(i>>>0>32){e=i;break K}if((h|0)>=4){e=i&7;h=h-(i>>>3|0)|0;g=m+h|0;g=w[g|0]|w[g+1|0]<<8|(w[g+2|0]<<16|w[g+3|0]<<24);break J}if(!h){h=0;e=i;break K}e=i>>>3|0;k=p-e|0;g=k>>>0>>0?h:e;e=i-(g<<3)|0;h=h-g|0;g=m+h|0;g=w[g|0]|w[g+1|0]<<8|(w[g+2|0]<<16|w[g+3|0]<<24);if(k>>>0>=m>>>0){break J}}f=f+2|0;break n}i=(j<<2)+o|0;j=x[i>>1];n=w[i+3|0];t[f+2|0]=w[i+2|0];l=(l<<2)+o|0;i=x[l>>1];k=w[l+3|0];t[f+3|0]=w[l+2|0];j=j+(g<>>0-n|0)|0;e=e+n|0;l=i+(g<>>0-k|0)|0;f=f+4|0;e=e+k|0;if(e>>>0<33){continue}break}}p=-70;s=r-2|0;if(s>>>0>>0){break m}z=2;while(1){j=(j<<2)+o|0;y=x[j>>1];r=w[j+3|0];t[f|0]=w[j+2|0];n=f+1|0;i=e+r|0;if(i>>>0>32){j=l;break l}L:{M:{if((h|0)>=4){k=i>>>3|0;i=i&7;break M}if(!h){h=0;k=g;break L}j=i>>>3|0;k=m>>>0>(h+m|0)-j>>>0?h:j;i=i-(k<<3)|0}h=h-k|0;j=m+h|0;k=w[j|0]|w[j+1|0]<<8|(w[j+2|0]<<16|w[j+3|0]<<24)}if(n>>>0>s>>>0){break m}j=y+(g<>>0-r|0)|0;e=(l<<2)+o|0;l=x[e>>1];g=w[e+3|0];t[f+1|0]=w[e+2|0];n=f+2|0;e=g+i|0;if(e>>>0>32){z=3;break l}f=k<>>0-g|0;N:{O:{if((h|0)>=4){k=e>>>3|0;e=e&7;break O}if(!h){h=0;g=k;break N}i=e;e=e>>>3|0;k=m>>>0>(h+m|0)-e>>>0?h:e;e=i-(k<<3)|0}h=h-k|0;g=m+h|0;g=w[g|0]|w[g+1|0]<<8|(w[g+2|0]<<16|w[g+3|0]<<24)}l=f+l|0;f=n;if(s>>>0>=f>>>0){continue}break}}j=p;break k}t[n|0]=w[((j<<2)+o|0)+2|0];j=(f+z|0)-C|0}}if(j>>>0>=4294967177){break a}}g=j;f=b;v[f>>2]=0;v[f+4>>2]=0;e=0;v[f+48>>2]=0;v[f+40>>2]=0;v[f+44>>2]=0;v[f+32>>2]=0;v[f+36>>2]=0;v[f+24>>2]=0;v[f+28>>2]=0;v[f+16>>2]=0;v[f+20>>2]=0;v[f+8>>2]=0;v[f+12>>2]=0;j=-20;if(!g){break a}f=0;while(1){k=a+f|0;i=w[k|0];if(i>>>0>11){break a}i=(i<<2)+b|0;v[i>>2]=v[i>>2]+1;e=(1<>1)+e|0;f=f+1|0;if((g|0)!=(f|0)){continue}break}if(!e|e>>>0>4095){break a}f=d;d=32-E(e)|0;v[f>>2]=d;e=(1<>2]=v[a>>2]+1;a=v[b+4>>2];if(a>>>0<2|a&1){break a}v[c>>2]=g+1;j=A+1|0;break a}v[b>>2]=0;v[b+4>>2]=0;v[b+48>>2]=0;v[b+40>>2]=0;v[b+44>>2]=0;v[b+32>>2]=0;v[b+36>>2]=0;v[b+24>>2]=0;v[b+28>>2]=0;v[b+16>>2]=0;v[b+20>>2]=0;v[b+8>>2]=0;v[b+12>>2]=0}Q=q+784|0;return j}function ra(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,y=0,z=0,A=0,B=0,C=0,D=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,R=0,S=0,T=0;n=Q-32|0;Q=n;f=-20;a:{if(d>>>0<10){break a}j=w[c+4|0]|w[c+5|0]<<8;h=w[c|0]|w[c+1|0]<<8;m=h+6|0;i=w[c+2|0]|w[c+3|0]<<8;C=j+(m+i|0)|0;if(C>>>0>d>>>0){break a}if(!h){f=-72;break a}g=c+6|0;z=x[e+2>>1];b:{if(h>>>0>=4){f=-1;g=w[(h+g|0)-1|0];if(!g){break a}r=h+2|0;h=r+c|0;k=w[h|0]|w[h+1|0]<<8|(w[h+2|0]<<16|w[h+3|0]<<24);h=E(g)-23|0;break b}k=w[g|0];c:{switch(h-2|0){case 1:k=w[c+8|0]<<16|k;case 0:k=(w[c+7|0]<<8)+k|0;break;default:break c}}g=w[(h+g|0)-1|0];if(!g){break a}r=6;h=(E(g)-(h<<3)|0)+9|0}if(!i){f=-72;break a}B=c+m|0;d:{if(i>>>0>=4){f=-1;m=w[(i+B|0)-1|0];if(!m){break a}s=i-4|0;g=B+s|0;o=w[g|0]|w[g+1|0]<<8|(w[g+2|0]<<16|w[g+3|0]<<24);g=E(m)-23|0;break d}o=w[B|0];e:{switch(i-2|0){case 1:o=w[B+2|0]<<16|o;case 0:o=(w[B+1|0]<<8)+o|0;break;default:break e}}g=w[(i+B|0)-1|0];if(!g){f=-20;break a}g=(E(g)-(i<<3)|0)+9|0}f=-72;if(!j){break a}F=i+B|0;m=F+j|0;f:{if(j>>>0>=4){f=-1;l=w[m-1|0];if(!l){break a}u=j-4|0;i=F+u|0;D=w[i|0]|w[i+1|0]<<8|(w[i+2|0]<<16|w[i+3|0]<<24);i=E(l)-23|0;break f}D=w[F|0];g:{switch(j-2|0){case 1:D=w[F+2|0]<<16|D;case 0:D=(w[F+1|0]<<8)+D|0;break;default:break g}}i=w[m-1|0];if(!i){f=-20;break a}i=(E(i)-(j<<3)|0)+9|0}f=ja(n+8|0,m,d-C|0);if(f>>>0>4294967176){break a}l=e+4|0;p=0-z&31;A=v[n+16>>2];f=v[n+12>>2];q=v[n+8>>2];d=b+3>>>2|0;m=d+a|0;M=a+b|0;N=M-3|0;C=d+m|0;z=C+d|0;h:{if(N>>>0<=z>>>0){e=z;j=C;d=m;break h}P=v[n+24>>2];d=m;j=C;e=z;while(1){y=(k<>>p<<2)+l|0;G=x[y>>1];t[a|0]=G;t[a+1|0]=G>>>8;G=w[y+2|0];I=w[y+3|0];y=(o<>>p<<2)+l|0;H=x[y>>1];t[d|0]=H;t[d+1|0]=H>>>8;H=w[y+2|0];J=w[y+3|0];y=(D<>>p<<2)+l|0;K=x[y>>1];t[j|0]=K;t[j+1|0]=K>>>8;K=w[y+2|0];O=w[y+3|0];y=(q<>>p<<2)+l|0;L=x[y>>1];t[e|0]=L;t[e+1|0]=L>>>8;L=w[y+2|0];R=w[y+3|0];y=a+I|0;h=h+G|0;a=(k<>>p<<2)+l|0;G=x[a>>1];t[y|0]=G;t[y+1|0]=G>>>8;G=w[a+2|0];S=w[a+3|0];d=d+J|0;I=g+H|0;a=(o<>>p<<2)+l|0;g=x[a>>1];t[d|0]=g;t[d+1|0]=g>>>8;H=w[a+2|0];T=w[a+3|0];j=j+O|0;i=i+K|0;a=(D<>>p<<2)+l|0;g=x[a>>1];t[j|0]=g;t[j+1|0]=g>>>8;J=w[a+2|0];K=w[a+3|0];e=e+R|0;f=f+L|0;g=(q<>>p<<2)+l|0;a=x[g>>1];t[e|0]=a;t[e+1|0]=a>>>8;h=h+G|0;if((r|0)<10){G=3}else{r=r-(h>>>3|0)|0;a=r+c|0;k=w[a|0]|w[a+1|0]<<8|(w[a+2|0]<<16|w[a+3|0]<<24);h=h&7;G=0}O=w[g+3|0];L=w[g+2|0];g=H+I|0;I=3;if((s|0)<4){H=3}else{s=s-(g>>>3|0)|0;a=B+s|0;o=w[a|0]|w[a+1|0]<<8|(w[a+2|0]<<16|w[a+3|0]<<24);g=g&7;H=0}i=i+J|0;if((u|0)>=4){u=u-(i>>>3|0)|0;a=F+u|0;D=w[a|0]|w[a+1|0]<<8|(w[a+2|0]<<16|w[a+3|0]<<24);I=0;i=i&7}e=e+O|0;f=f+L|0;if(A>>>0

>>0){J=3}else{A=A-(f>>>3|0)|0;q=w[A|0]|w[A+1|0]<<8|(w[A+2|0]<<16|w[A+3|0]<<24);f=f&7;J=0}a=y+S|0;d=d+T|0;j=j+K|0;if(e>>>0>=N>>>0){break h}if(!(J|(G|H|I))){continue}break}}v[n+16>>2]=A;v[n+12>>2]=f;v[n+8>>2]=q;if(a>>>0>m>>>0){f=-20;break a}if(d>>>0>C>>>0){f=-20;break a}f=-20;if(j>>>0>z>>>0){break a}i:{j:{k:{if(h>>>0<=32){A=m-3|0;while(1){l:{if((r|0)>=10){k=h>>>3|0;q=0;f=h&7;break l}if((r|0)==6){q=m-2|0;r=6;f=h;break j}f=h>>>3|0;q=(r-f|0)<6;k=q?r-6|0:f;f=h-(k<<3)|0}r=r-k|0;h=r+c|0;k=w[h|0]|w[h+1|0]<<8|(w[h+2|0]<<16|w[h+3|0]<<24);if(q|a>>>0>=A>>>0){break k}h=(k<>>p<<2)+l|0;q=x[h>>1];t[a|0]=q;t[a+1|0]=q>>>8;a=w[h+3|0]+a|0;f=w[h+2|0]+f|0;h=(k<>>p<<2)+l|0;q=x[h>>1];t[a|0]=q;t[a+1|0]=q>>>8;a=a+w[h+3|0]|0;h=f+w[h+2|0]|0;if(h>>>0<33){continue}break}}q=m-2|0;break i}q=m-2|0;if(f>>>0<=32){break j}h=f;break i}while(1){m:{if((r|0)>=10){k=f>>>3|0;A=0;h=f&7;break m}if((r|0)==6){r=6;h=f;break i}h=f>>>3|0;A=(r-h|0)<6;k=A?r-6|0:h;h=f-(k<<3)|0}r=r-k|0;f=r+c|0;k=w[f|0]|w[f+1|0]<<8|(w[f+2|0]<<16|w[f+3|0]<<24);if(A|a>>>0>q>>>0){break i}f=(k<>>p<<2)+l|0;A=x[f>>1];t[a|0]=A;t[a+1|0]=A>>>8;a=w[f+3|0]+a|0;f=w[f+2|0]+h|0;if(f>>>0<=32){continue}break}h=f}if(a>>>0<=q>>>0){while(1){c=(k<>>p<<2)+l|0;f=x[c>>1];t[a|0]=f;t[a+1|0]=f>>>8;h=w[c+2|0]+h|0;a=w[c+3|0]+a|0;if(q>>>0>=a>>>0){continue}break}}n:{if(a>>>0>=m>>>0){break n}f=a;c=k<>>p|0;a=(c<<2)+l|0;t[f|0]=w[a|0];if(w[a+3|0]==1){h=w[a+2|0]+h|0;break n}if(h>>>0>31){break n}a=w[((c<<2)+l|0)+2|0]+h|0;h=a>>>0<32?a:32}o:{p:{q:{if(g>>>0<=32){m=C-3|0;while(1){r:{if((s|0)>=4){f=g>>>3|0;a=0;c=g&7;break r}if(!s){f=C-2|0;s=0;k=B;c=g;break p}c=g>>>3|0;a=(B+s|0)-c>>>0>>0;f=a?s:c;c=g-(f<<3)|0}s=s-f|0;k=B+s|0;o=w[k|0]|w[k+1|0]<<8|(w[k+2|0]<<16|w[k+3|0]<<24);if(a|d>>>0>=m>>>0){break q}a=(o<>>p<<2)+l|0;g=x[a>>1];t[d|0]=g;t[d+1|0]=g>>>8;d=w[a+3|0]+d|0;c=w[a+2|0]+c|0;a=(o<>>p<<2)+l|0;g=x[a>>1];t[d|0]=g;t[d+1|0]=g>>>8;d=d+w[a+3|0]|0;g=c+w[a+2|0]|0;if(g>>>0<33){continue}break}}k=B+s|0;f=C-2|0;break o}f=C-2|0;if(c>>>0<=32){break p}g=c;break o}while(1){s:{if((s|0)>=4){a=c>>>3|0;q=0;g=c&7;break s}if(!s){g=c;break o}a=c>>>3|0;q=k-a>>>0>>0;a=q?s:a;g=c-(a<<3)|0}s=s-a|0;k=B+s|0;o=w[k|0]|w[k+1|0]<<8|(w[k+2|0]<<16|w[k+3|0]<<24);if(q|d>>>0>f>>>0){break o}a=(o<>>p<<2)+l|0;c=x[a>>1];t[d|0]=c;t[d+1|0]=c>>>8;d=w[a+3|0]+d|0;c=w[a+2|0]+g|0;if(c>>>0<=32){continue}break}g=c}if(d>>>0<=f>>>0){while(1){a=(o<>>p<<2)+l|0;c=x[a>>1];t[d|0]=c;t[d+1|0]=c>>>8;g=w[a+2|0]+g|0;d=w[a+3|0]+d|0;if(d>>>0<=f>>>0){continue}break}}t:{if(d>>>0>=C>>>0){break t}c=o<>>p|0;a=(c<<2)+l|0;t[d|0]=w[a|0];if(w[a+3|0]==1){g=w[a+2|0]+g|0;break t}if(g>>>0>31){break t}a=w[((c<<2)+l|0)+2|0]+g|0;g=a>>>0<32?a:32}u:{v:{w:{if(i>>>0<=32){m=z-3|0;while(1){x:{if((u|0)>=4){f=i>>>3|0;a=0;c=i&7;break x}if(!u){f=z-2|0;u=0;o=F;c=i;break v}c=i>>>3|0;a=F>>>0>(u+F|0)-c>>>0;f=a?u:c;c=i-(f<<3)|0}u=u-f|0;o=F+u|0;D=w[o|0]|w[o+1|0]<<8|(w[o+2|0]<<16|w[o+3|0]<<24);if(a|j>>>0>=m>>>0){break w}a=(D<>>p<<2)+l|0;d=x[a>>1];t[j|0]=d;t[j+1|0]=d>>>8;d=w[a+3|0]+j|0;c=w[a+2|0]+c|0;a=(D<>>p<<2)+l|0;i=x[a>>1];t[d|0]=i;t[d+1|0]=i>>>8;j=d+w[a+3|0]|0;i=c+w[a+2|0]|0;if(i>>>0<33){continue}break}}o=u+F|0;f=z-2|0;break u}f=z-2|0;if(c>>>0<=32){break v}i=c;break u}while(1){y:{if((u|0)>=4){a=c>>>3|0;d=0;i=c&7;break y}if(!u){i=c;break u}a=c>>>3|0;d=F>>>0>o-a>>>0;a=d?u:a;i=c-(a<<3)|0}u=u-a|0;o=F+u|0;D=w[o|0]|w[o+1|0]<<8|(w[o+2|0]<<16|w[o+3|0]<<24);if(d|f>>>0>>0){break u}a=(D<>>p<<2)+l|0;c=x[a>>1];t[j|0]=c;t[j+1|0]=c>>>8;j=w[a+3|0]+j|0;c=w[a+2|0]+i|0;if(c>>>0<=32){continue}break}i=c}if(f>>>0>=j>>>0){while(1){a=(D<>>p<<2)+l|0;c=x[a>>1];t[j|0]=c;t[j+1|0]=c>>>8;i=w[a+2|0]+i|0;j=w[a+3|0]+j|0;if(j>>>0<=f>>>0){continue}break}}z:{if(j>>>0>=z>>>0){break z}c=D<>>p|0;a=(c<<2)+l|0;t[j|0]=w[a|0];if(w[a+3|0]==1){i=w[a+2|0]+i|0;break z}if(i>>>0>31){break z}a=w[((c<<2)+l|0)+2|0]+i|0;i=a>>>0<32?a:32}A:{B:{C:{c=v[n+12>>2];if(c>>>0<=32){while(1){a=n;f=v[a+16>>2];C=v[a+24>>2];D:{if(f>>>0>=C>>>0){f=f-(c>>>3|0)|0;v[n+16>>2]=f;d=0;c=c&7;break D}j=v[n+20>>2];if((j|0)==(f|0)){a=M-2|0;j=f;break B}m=c>>>3|0;d=j>>>0>f-m>>>0;j=d?f-j|0:m;f=f-j|0;v[n+16>>2]=f;c=c-(j<<3)|0}v[a+12>>2]=c;a=w[f|0]|w[f+1|0]<<8|(w[f+2|0]<<16|w[f+3|0]<<24);v[n+8>>2]=a;if(d|e>>>0>=N>>>0){break C}d=(a<>>p<<2)+l|0;f=x[d>>1];t[e|0]=f;t[e+1|0]=f>>>8;e=w[d+3|0]+e|0;c=w[d+2|0]+c|0;a=(a<>>p<<2)+l|0;d=x[a>>1];t[e|0]=d;t[e+1|0]=d>>>8;c=c+w[a+2|0]|0;v[n+12>>2]=c;e=e+w[a+3|0]|0;if(c>>>0<33){continue}break}}a=M-2|0;break A}a=M-2|0;if(c>>>0>32){break A}j=v[n+20>>2]}while(1){m=n;E:{if(f>>>0>=C>>>0){f=f-(c>>>3|0)|0;v[n+16>>2]=f;d=0;c=c&7;break E}if((f|0)==(j|0)){break A}z=c>>>3|0;d=j>>>0>f-z>>>0;z=d?f-j|0:z;f=f-z|0;v[n+16>>2]=f;c=c-(z<<3)|0}v[m+12>>2]=c;m=w[f|0]|w[f+1|0]<<8|(w[f+2|0]<<16|w[f+3|0]<<24);v[n+8>>2]=m;if(d|a>>>0>>0){break A}d=(m<>>p<<2)+l|0;m=x[d>>1];t[e|0]=m;t[e+1|0]=m>>>8;c=w[d+2|0]+c|0;v[n+12>>2]=c;e=w[d+3|0]+e|0;if(c>>>0<=32){continue}break}}if(a>>>0>=e>>>0){while(1){d=(v[n+8>>2]<>>p<<2)+l|0;c=x[d>>1];t[e|0]=c;t[e+1|0]=c>>>8;c=v[n+12>>2]+w[d+2|0]|0;v[n+12>>2]=c;e=w[d+3|0]+e|0;if(e>>>0<=a>>>0){continue}break}}F:{if(e>>>0>=M>>>0){break F}d=v[n+8>>2]<>>p|0;a=(d<<2)+l|0;t[e|0]=w[a|0];if(w[a+3|0]==1){c=v[n+12>>2]+w[a+2|0]|0;break F}c=v[n+12>>2];if(c>>>0>31){break F}a=w[((d<<2)+l|0)+2|0]+c|0;c=a>>>0<32?a:32}f=(r|0)==6?(h|0)==32?(k|0)==(B|0)?(g|0)==32?(o|0)==(F|0)?(i|0)==32?v[n+16>>2]==v[n+20>>2]?(c|0)==32?b:-20:-20:-20:-20:-20:-20:-20:-20}Q=n+32|0;return f}function ka(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,y=0,z=0,A=0,C=0,D=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,R=0,S=0,T=0,U=0;n=Q-32|0;Q=n;f=-20;a:{if(d>>>0<10){break a}k=w[c+4|0]|w[c+5|0]<<8;h=w[c|0]|w[c+1|0]<<8;j=h+6|0;g=w[c+2|0]|w[c+3|0]<<8;q=k+(j+g|0)|0;if(q>>>0>d>>>0){break a}if(!h){f=-72;break a}i=c+6|0;l=x[e+2>>1];b:{if(h>>>0>=4){f=-1;i=w[(h+i|0)-1|0];if(!i){break a}r=h+2|0;f=r+c|0;m=w[f|0]|w[f+1|0]<<8|(w[f+2|0]<<16|w[f+3|0]<<24);h=E(i)-23|0;break b}m=w[i|0];c:{switch(h-2|0){case 1:m=w[c+8|0]<<16|m;case 0:m=(w[c+7|0]<<8)+m|0;break;default:break c}}f=w[(h+i|0)-1|0];if(!f){f=-20;break a}r=6;h=(E(f)-(h<<3)|0)+9|0}if(!g){f=-72;break a}y=c+j|0;d:{if(g>>>0>=4){f=-1;i=w[(g+y|0)-1|0];if(!i){break a}J=g-4|0;f=J+y|0;z=w[f|0]|w[f+1|0]<<8|(w[f+2|0]<<16|w[f+3|0]<<24);i=E(i)-23|0;break d}z=w[y|0];e:{switch(g-2|0){case 1:z=w[y+2|0]<<16|z;case 0:z=(w[y+1|0]<<8)+z|0;break;default:break e}}f=w[(g+y|0)-1|0];if(!f){f=-20;break a}i=(E(f)-(g<<3)|0)+9|0}f=-72;if(!k){break a}C=g+y|0;j=k+C|0;f:{if(k>>>0>=4){f=-1;g=w[j-1|0];if(!g){break a}G=k-4|0;f=G+C|0;A=w[f|0]|w[f+1|0]<<8|(w[f+2|0]<<16|w[f+3|0]<<24);g=E(g)-23|0;break f}A=w[C|0];g:{switch(k-2|0){case 1:A=w[C+2|0]<<16|A;case 0:A=(w[C+1|0]<<8)+A|0;break;default:break g}}f=w[j-1|0];if(!f){f=-20;break a}g=(E(f)-(k<<3)|0)+9|0}f=ja(n+8|0,j,d-q|0);if(f>>>0>4294967176){break a}o=e+4|0;p=0-l&31;f=v[n+16>>2];D=v[n+12>>2];N=v[n+8>>2];L=b+3>>>2|0;F=L+a|0;H=F+L|0;I=H+L|0;K=a+b|0;O=K-3|0;h:{if(I>>>0>=O>>>0){u=f;q=J;l=G;j=r;s=I;k=H;d=F;e=a;break h}P=1;S=v[n+24>>2];e=a;d=F;k=H;s=I;while(1){j=(m<>>p<<1)+o|0;q=w[j+1|0];t[e|0]=w[j|0];j=(z<>>p<<1)+o|0;l=w[j+1|0];t[d|0]=w[j|0];j=(A<>>p<<1)+o|0;u=w[j+1|0];t[k|0]=w[j|0];j=(N<>>p<<1)+o|0;M=w[j+1|0];t[s|0]=w[j|0];h=h+q|0;j=(m<>>p<<1)+o|0;q=w[j+1|0];t[e+1|0]=w[j|0];i=i+l|0;j=(z<>>p<<1)+o|0;l=w[j+1|0];t[d+1|0]=w[j|0];u=g+u|0;g=(A<>>p<<1)+o|0;R=w[g+1|0];t[k+1|0]=w[g|0];D=D+M|0;g=(N<>>p<<1)+o|0;M=w[g+1|0];t[s+1|0]=w[g|0];h=h+q|0;i:{if((r|0)<10){j=r;break i}j=r-(h>>>3|0)|0;g=j+c|0;m=w[g|0]|w[g+1|0]<<8|(w[g+2|0]<<16|w[g+3|0]<<24);h=h&7}i=i+l|0;j:{if((J|0)<4){q=J;break j}q=J-(i>>>3|0)|0;g=y+q|0;z=w[g|0]|w[g+1|0]<<8|(w[g+2|0]<<16|w[g+3|0]<<24);i=i&7}l=u+R|0;k:{if((G|0)<4){g=l;l=G;break k}g=l&7;l=G-(l>>>3|0)|0;u=C+l|0;A=w[u|0]|w[u+1|0]<<8|(w[u+2|0]<<16|w[u+3|0]<<24)}D=D+M|0;s=s+2|0;l:{if(f>>>0>>0){u=f;break l}u=f-(D>>>3|0)|0;N=w[u|0]|w[u+1|0]<<8|(w[u+2|0]<<16|w[u+3|0]<<24);D=D&7}k=k+2|0;d=d+2|0;e=e+2|0;M=(J|0)>3;R=(G|0)>3;T=(r|0)>9;U=f>>>0>=S>>>0;r=j;G=l;J=q;f=u;P=T&(M&R)&P&U;if(P&s>>>0>>0){continue}break}}v[n+16>>2]=u;v[n+12>>2]=D;v[n+8>>2]=N;if(e>>>0>F>>>0){f=-20;break a}if(d>>>0>H>>>0){f=-20;break a}f=-20;if(k>>>0>I>>>0){break a}m:{n:{o:{p:{if(h>>>0>32){break p}u=F-3|0;q:{while(1){r:{if((j|0)>=10){m=h>>>3|0;r=0;f=h&7;break r}if((j|0)==6){f=h;j=6;break q}f=h>>>3|0;r=(j-f|0)<6;m=r?j-6|0:f;f=h-(m<<3)|0}j=j-m|0;h=j+c|0;m=w[h|0]|w[h+1|0]<<8|(w[h+2|0]<<16|w[h+3|0]<<24);if(!(r|e>>>0>=u>>>0)){h=(m<>>p<<1)+o|0;r=w[h+1|0];t[e|0]=w[h|0];f=f+r|0;h=(m<>>p<<1)+o|0;r=w[h+1|0];t[e+1|0]=w[h|0];e=e+2|0;h=f+r|0;if(h>>>0<=32){continue}break p}break}if(f>>>0<=32){break q}h=f;break p}h=f;while(1){s:{if((j|0)>=10){m=h>>>3|0;r=0;h=h&7;break s}if((j|0)==6){j=6;break p}f=h>>>3|0;r=(j-f|0)<6;m=r?j-6|0:f;h=h-(m<<3)|0}j=j-m|0;f=j+c|0;m=w[f|0]|w[f+1|0]<<8|(w[f+2|0]<<16|w[f+3|0]<<24);f=e>>>0>=F>>>0;if(r|f){break o}f=(m<>>p<<1)+o|0;r=w[f+1|0];t[e|0]=w[f|0];e=e+1|0;h=h+r|0;if(h>>>0<=32){continue}break}}if(e>>>0>>0){break n}break m}if(f){break m}}c=e+1|0;if(F-e&1){f=(m<>>p<<1)+o|0;r=w[f+1|0];t[e|0]=w[f|0];h=h+r|0;e=c}if((c|0)==(F|0)){break m}while(1){c=(m<>>p<<1)+o|0;f=w[c+1|0];t[e|0]=w[c|0];c=f+h|0;f=(m<>>p<<1)+o|0;h=w[f+1|0];t[e+1|0]=w[f|0];h=c+h|0;e=e+2|0;if((F|0)!=(e|0)){continue}break}}t:{u:{v:{w:{x:{if(i>>>0<=32){r=H-3|0;while(1){y:{if((q|0)>=4){f=i>>>3|0;e=0;c=i&7;break y}if(!q){q=0;m=y;c=i;break w}c=i>>>3|0;e=(q+y|0)-c>>>0>>0;f=e?q:c;c=i-(f<<3)|0}q=q-f|0;m=y+q|0;z=w[m|0]|w[m+1|0]<<8|(w[m+2|0]<<16|w[m+3|0]<<24);if(e|d>>>0>=r>>>0){break x}e=(z<>>p<<1)+o|0;f=w[e+1|0];t[d|0]=w[e|0];c=c+f|0;e=(z<>>p<<1)+o|0;f=w[e+1|0];t[d+1|0]=w[e|0];d=d+2|0;i=c+f|0;if(i>>>0<33){continue}break}}m=q+y|0;break v}if(c>>>0<=32){break w}i=c;break v}i=c;while(1){z:{if((q|0)>=4){f=i>>>3|0;e=0;i=i&7;break z}if(!q){break v}c=i>>>3|0;e=m-c>>>0>>0;f=e?q:c;i=i-(f<<3)|0}q=q-f|0;m=y+q|0;z=w[m|0]|w[m+1|0]<<8|(w[m+2|0]<<16|w[m+3|0]<<24);c=d>>>0>=H>>>0;if(e?1:c){if(c){break t}break u}c=(z<>>p<<1)+o|0;e=w[c+1|0];t[d|0]=w[c|0];d=d+1|0;i=e+i|0;if(i>>>0<=32){continue}break}}if(d>>>0>=H>>>0){break t}}c=d+1|0;if(H-d&1){e=(z<>>p<<1)+o|0;f=w[e+1|0];t[d|0]=w[e|0];i=f+i|0;d=c}if((c|0)==((L<<1)+a|0)){break t}while(1){c=(z<>>p<<1)+o|0;e=w[c+1|0];t[d|0]=w[c|0];c=e+i|0;e=(z<>>p<<1)+o|0;f=w[e+1|0];t[d+1|0]=w[e|0];i=c+f|0;d=d+2|0;if((H|0)!=(d|0)){continue}break}}A:{B:{C:{D:{E:{if(g>>>0<=32){q=I-3|0;while(1){F:{if((l|0)>=4){f=g>>>3|0;e=0;c=g&7;break F}if(!l){l=0;d=C;c=g;break D}c=g>>>3|0;e=(l+C|0)-c>>>0>>0;f=e?l:c;c=g-(f<<3)|0}l=l-f|0;d=C+l|0;A=w[d|0]|w[d+1|0]<<8|(w[d+2|0]<<16|w[d+3|0]<<24);if(e|k>>>0>=q>>>0){break E}d=(A<>>p<<1)+o|0;e=w[d+1|0];t[k|0]=w[d|0];c=c+e|0;d=(A<>>p<<1)+o|0;e=w[d+1|0];t[k+1|0]=w[d|0];k=k+2|0;g=c+e|0;if(g>>>0<33){continue}break}}d=l+C|0;break C}if(c>>>0<=32){break D}g=c;break C}g=c;while(1){G:{if((l|0)>=4){f=g>>>3|0;e=0;g=g&7;break G}if(!l){break C}c=g>>>3|0;e=d-c>>>0>>0;f=e?l:c;g=g-(f<<3)|0}l=l-f|0;d=C+l|0;A=w[d|0]|w[d+1|0]<<8|(w[d+2|0]<<16|w[d+3|0]<<24);c=k>>>0>=I>>>0;if(e?1:c){if(c){break A}break B}c=(A<>>p<<1)+o|0;e=w[c+1|0];t[k|0]=w[c|0];k=k+1|0;g=e+g|0;if(g>>>0<=32){continue}break}}if(k>>>0>=I>>>0){break A}}c=k+1|0;if(I-k&1){e=(A<>>p<<1)+o|0;f=w[e+1|0];t[k|0]=w[e|0];k=c;g=f+g|0}if((c|0)==(B(L,3)+a|0)){break A}while(1){a=(A<>>p<<1)+o|0;c=w[a+1|0];t[k|0]=w[a|0];a=c+g|0;c=(A<>>p<<1)+o|0;e=w[c+1|0];t[k+1|0]=w[c|0];g=a+e|0;k=k+2|0;if((I|0)!=(k|0)){continue}break}}c=v[n+12>>2];H:{I:{J:{if(c>>>0>32){break J}K:{while(1){e=n;G=e;f=v[e+16>>2];q=v[e+24>>2];L:{if(f>>>0>=q>>>0){f=f-(c>>>3|0)|0;v[n+16>>2]=f;a=0;c=c&7;break L}k=v[n+20>>2];a=f;if((k|0)==(f|0)){break K}l=c>>>3|0;a=k>>>0>f-l>>>0;k=a?f-k|0:l;f=f-k|0;v[n+16>>2]=f;c=c-(k<<3)|0}v[G+12>>2]=c;e=w[f|0]|w[f+1|0]<<8|(w[f+2|0]<<16|w[f+3|0]<<24);v[n+8>>2]=e;if(!(a|s>>>0>=O>>>0)){a=(e<>>p<<1)+o|0;f=w[a+1|0];t[s|0]=w[a|0];a=c+f|0;c=(e<>>p<<1)+o|0;e=w[c|0];c=a+w[c+1|0]|0;v[n+12>>2]=c;t[s+1|0]=e;s=s+2|0;if(c>>>0<=32){continue}break J}break}if(c>>>0>32){break J}a=v[n+20>>2]}k=a;while(1){e=n;M:{if(f>>>0>=q>>>0){f=f-(c>>>3|0)|0;v[n+16>>2]=f;a=0;c=c&7;break M}if((f|0)==(k|0)){break J}l=c>>>3|0;a=k>>>0>f-l>>>0;l=a?f-k|0:l;f=f-l|0;v[n+16>>2]=f;c=c-(l<<3)|0}v[e+12>>2]=c;e=w[f|0]|w[f+1|0]<<8|(w[f+2|0]<<16|w[f+3|0]<<24);v[n+8>>2]=e;l=s>>>0>=K>>>0;if(a?1:l){if(l){break H}break I}a=(e<>>p<<1)+o|0;e=w[a|0];c=w[a+1|0]+c|0;v[n+12>>2]=c;t[s|0]=e;s=s+1|0;if(c>>>0<=32){continue}break}}if(s>>>0>=K>>>0){break H}e=v[n+8>>2]}a=(e<>>p<<1)+o|0;e=w[a|0];v[n+12>>2]=w[a+1|0]+c;t[s|0]=e;if((K-s|0)==1){break H}a=K-2|0;if((s^-1)+K&1){c=v[n+12>>2];e=(v[n+8>>2]<>>p<<1)+o|0;f=w[e|0];v[n+12>>2]=c+w[e+1|0];t[s+1|0]=f;c=s+2|0}else{c=s+1|0}if((a|0)==(s|0)){break H}while(1){a=v[n+12>>2];e=(v[n+8>>2]<>>p<<1)+o|0;f=w[e|0];v[n+12>>2]=a+w[e+1|0];t[c|0]=f;a=v[n+12>>2];e=(v[n+8>>2]<>>p<<1)+o|0;f=w[e|0];v[n+12>>2]=a+w[e+1|0];t[c+1|0]=f;c=c+2|0;if((K|0)!=(c|0)){continue}break}}f=(j|0)==6?(h|0)==32?(m|0)==(y|0)?(i|0)==32?(d|0)==(C|0)?(g|0)==32?v[n+16>>2]==v[n+20>>2]?v[n+12>>2]==32?b:-20:-20:-20:-20:-20:-20:-20:-20}Q=n+32|0;return f}function ia(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0;h=Q-144|0;Q=h;f=-44;a:{if(e>>>0<1500){break a}e=v[a>>2];m=_(d+624|0,0,108);s=e&255;if(s>>>0>12){break a}k=d+1244|0;C=na(k,m,h+8|0,h+12|0,b,c);if(C>>>0<=4294967176){q=v[h+12>>2];if(q>>>0>s>>>0){break a}y=d+732|0;F=d+676|0;z=a+4|0;G=e&-16777216;c=d+680|0;b=q;while(1){e=b;b=b-1|0;if(!v[m+(e<<2)>>2]){continue}break}b=1;o=e+1|0;b:{if(o>>>0<2){break b}i=e&3;if(e-1>>>0>=3){f=e&-4;while(1){g=b<<2;l=v[g+m>>2];v[c+g>>2]=p;n=g+4|0;r=v[n+m>>2];p=l+p|0;v[c+n>>2]=p;l=g+8|0;n=v[l+m>>2];p=p+r|0;v[c+l>>2]=p;g=g+12|0;l=v[g+m>>2];j=c+g|0;g=p+n|0;v[j>>2]=g;p=g+l|0;b=b+4|0;f=f-4|0;if(f){continue}break}}if(!i){break b}while(1){f=b<<2;g=v[f+m>>2];v[c+f>>2]=p;b=b+1|0;p=g+p|0;i=i-1|0;if(i){continue}break}}v[c>>2]=p;f=v[h+8>>2];c:{if(!f){break c}b=0;if((f|0)!=1){g=f&-2;while(1){l=w[b+k|0];n=c+(l<<2)|0;i=v[n>>2];v[n>>2]=i+1;i=(i<<1)+y|0;t[i+1|0]=l;t[i|0]=b;l=b|1;n=w[l+k|0];r=c+(n<<2)|0;i=v[r>>2];v[r>>2]=i+1;i=(i<<1)+y|0;t[i+1|0]=n;t[i|0]=l;b=b+2|0;g=g-2|0;if(g){continue}break}}if(!(f&1)){break c}f=w[b+k|0];g=c+(f<<2)|0;c=v[g>>2];v[g>>2]=c+1;c=(c<<1)+y|0;t[c+1|0]=f;t[c|0]=b}c=0;v[d+680>>2]=0;d:{if(o>>>0>=2){b=1;n=e-1|0;if(n){f=(q^-1)+s|0;k=e&-2;while(1){g=b<<2;i=v[g+m>>2];v[d+g>>2]=c;g=b+1|0;l=g<<2;r=v[l+m>>2];c=(i<>2]=c;c=c+(r<>2]=c}l=q+1|0;q=l-e|0;i=(s-q|0)+1|0;if(o>>>0<2|i>>>0<=q>>>0){break d}c=e&-4;k=e&3;e=q;while(1){f=1;g=c;if(n>>>0>=3){while(1){m=B(e,52)+d|0;b=f<<2;v[m+b>>2]=v[b+d>>2]>>>e;o=b+4|0;v[o+m>>2]=v[d+o>>2]>>>e;o=b+8|0;v[o+m>>2]=v[d+o>>2]>>>e;b=b+12|0;v[b+m>>2]=v[b+d>>2]>>>e;f=f+4|0;g=g-4|0;if(g){continue}break}}b=k;if(b){while(1){g=f<<2;v[g+(B(e,52)+d|0)>>2]=v[d+g>>2]>>>e;f=f+1|0;b=b-1|0;if(b){continue}break}}e=e+1|0;if(i>>>0>e>>>0){continue}break}break d}l=q+1|0;q=l-e|0}v[h- -64>>2]=v[d+48>>2];b=v[d+44>>2];v[h+56>>2]=v[d+40>>2];v[h+60>>2]=b;b=v[d+36>>2];v[h+48>>2]=v[d+32>>2];v[h+52>>2]=b;b=v[d+28>>2];v[h+40>>2]=v[d+24>>2];v[h+44>>2]=b;b=v[d+20>>2];v[h+32>>2]=v[d+16>>2];v[h+36>>2]=b;b=v[d+4>>2];v[h+16>>2]=v[d>>2];v[h+20>>2]=b;b=v[d+12>>2];v[h+24>>2]=v[d+8>>2];v[h+28>>2]=b;if(p){H=l-s|0;n=0;while(1){b=(n<<1)+y|0;c=w[b+1|0];m=l-c|0;o=s-m|0;r=1<>2];e:{if(o>>>0>=q>>>0){c=m+H|0;e=((c|0)>1?c:1)<<2;x=v[e+F>>2];b=B(m,52)+d|0;v[h+128>>2]=v[b+48>>2];f=v[b+44>>2];v[h+120>>2]=v[b+40>>2];v[h+124>>2]=f;f=v[b+36>>2];v[h+112>>2]=v[b+32>>2];v[h+116>>2]=f;f=v[b+28>>2];v[h+104>>2]=v[b+24>>2];v[h+108>>2]=f;f=v[b+20>>2];v[h+96>>2]=v[b+16>>2];v[h+100>>2]=f;f=v[b+12>>2];v[h+88>>2]=v[b+8>>2];v[h+92>>2]=f;f=v[b+4>>2];v[h+80>>2]=v[b>>2];v[h+84>>2]=f;E=p-x|0;f=(k<<2)+z|0;f:{if((c|0)<2){break f}e=v[e+(h+80|0)>>2];if(!e){break f}b=m<<16&16711680|A|16777216;g=e&7;c=0;if(e-1>>>0>=7){i=e&-8;while(1){e=c<<2;j=e+f|0;u[j>>1]=b;u[j+2>>1]=b>>>16;j=f+(e|4)|0;u[j>>1]=b;u[j+2>>1]=b>>>16;j=f+(e|8)|0;u[j>>1]=b;u[j+2>>1]=b>>>16;j=f+(e|12)|0;u[j>>1]=b;u[j+2>>1]=b>>>16;j=f+(e|16)|0;u[j>>1]=b;u[j+2>>1]=b>>>16;j=f+(e|20)|0;u[j>>1]=b;u[j+2>>1]=b>>>16;j=f+(e|24)|0;u[j>>1]=b;u[j+2>>1]=b>>>16;e=f+(e|28)|0;u[e>>1]=b;u[e+2>>1]=b>>>16;c=c+8|0;i=i-8|0;if(i){continue}break}}if(!g){break f}while(1){e=f+(c<<2)|0;u[e>>1]=b;u[e+2>>1]=b>>>16;c=c+1|0;g=g-1|0;if(g){continue}break}}if(E){i=(x<<1)+y|0;g=0;while(1){x=i+(g<<1)|0;c=w[x+1|0];b=l-c|0;j=(h+80|0)+(c<<2)|0;e=v[j>>2];c=e+(1<>1]=b;u[x+2>>1]=b>>>16;e=e+1|0;if(c>>>0>e>>>0){continue}break}v[j>>2]=c;g=g+1|0;if((E|0)!=(g|0)){continue}break}}b=k+r|0;break e}b=k+r|0;if(k>>>0>=b>>>0){break e}c=m<<16&16711680|A|16777216;if(o>>>0<=2){f=r&7;while(1){e=(k<<2)+z|0;u[e>>1]=c;u[e+2>>1]=c>>>16;k=k+1|0;f=f-1|0;if(f){continue}break}}if(o>>>0<3){break e}while(1){e=(k<<2)+z|0;u[e>>1]=c;u[e+2>>1]=c>>>16;u[e+28>>1]=c;u[e+30>>1]=c>>>16;u[e+24>>1]=c;u[e+26>>1]=c>>>16;u[e+20>>1]=c;u[e+22>>1]=c>>>16;u[e+16>>1]=c;u[e+18>>1]=c>>>16;u[e+12>>1]=c;u[e+14>>1]=c>>>16;u[e+8>>1]=c;u[e+10>>1]=c>>>16;u[e+4>>1]=c;u[e+6>>1]=c>>>16;k=k+8|0;if((k|0)!=(b|0)){continue}break}}v[D>>2]=b;n=n+1|0;if((p|0)!=(n|0)){continue}break}}v[a>>2]=s<<16|G|s|256}f=C}Q=h+144|0;return f}function ha(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;n=-70;l=v[c+4>>2];j=v[c>>2];p=l+j|0;a:{if(p>>>0>b-a>>>0){break a}n=-20;i=v[d>>2];if(j>>>0>e-i>>>0){break a}e=b-32|0;q=i+j|0;b=a+j|0;o=v[c+8>>2];b:{if((j|0)<=7){if((j|0)<1){break b}while(1){t[a|0]=w[i|0];i=i+1|0;a=a+1|0;if(b>>>0>a>>>0){continue}break}break b}if(b>>>0<=e>>>0){while(1){j=w[i+4|0]|w[i+5|0]<<8|(w[i+6|0]<<16|w[i+7|0]<<24);k=w[i|0]|w[i+1|0]<<8|(w[i+2|0]<<16|w[i+3|0]<<24);t[a|0]=k;t[a+1|0]=k>>>8;t[a+2|0]=k>>>16;t[a+3|0]=k>>>24;t[a+4|0]=j;t[a+5|0]=j>>>8;t[a+6|0]=j>>>16;t[a+7|0]=j>>>24;j=w[i+12|0]|w[i+13|0]<<8|(w[i+14|0]<<16|w[i+15|0]<<24);k=w[i+8|0]|w[i+9|0]<<8|(w[i+10|0]<<16|w[i+11|0]<<24);t[a+8|0]=k;t[a+9|0]=k>>>8;t[a+10|0]=k>>>16;t[a+11|0]=k>>>24;t[a+12|0]=j;t[a+13|0]=j>>>8;t[a+14|0]=j>>>16;t[a+15|0]=j>>>24;i=i+16|0;a=a+16|0;if(b>>>0>a>>>0){continue}break b}}if(a>>>0<=e>>>0){r=e-a|0;j=i;while(1){k=w[j+4|0]|w[j+5|0]<<8|(w[j+6|0]<<16|w[j+7|0]<<24);m=w[j|0]|w[j+1|0]<<8|(w[j+2|0]<<16|w[j+3|0]<<24);t[a|0]=m;t[a+1|0]=m>>>8;t[a+2|0]=m>>>16;t[a+3|0]=m>>>24;t[a+4|0]=k;t[a+5|0]=k>>>8;t[a+6|0]=k>>>16;t[a+7|0]=k>>>24;k=w[j+12|0]|w[j+13|0]<<8|(w[j+14|0]<<16|w[j+15|0]<<24);m=w[j+8|0]|w[j+9|0]<<8|(w[j+10|0]<<16|w[j+11|0]<<24);t[a+8|0]=m;t[a+9|0]=m>>>8;t[a+10|0]=m>>>16;t[a+11|0]=m>>>24;t[a+12|0]=k;t[a+13|0]=k>>>8;t[a+14|0]=k>>>16;t[a+15|0]=k>>>24;j=j+16|0;a=a+16|0;if(e>>>0>a>>>0){continue}break}i=i+r|0;a=e}if(a>>>0>=b>>>0){break b}while(1){t[a|0]=w[i|0];i=i+1|0;a=a+1|0;if(b>>>0>a>>>0){continue}break}}a=b-o|0;v[d>>2]=q;c:{d:{if(b-f>>>0>>0){if(b-g>>>0>>0){break a}a=a-f|0;d=a+h|0;if(d+l>>>0<=h>>>0){Z(b,d,l);break c}b=Z(b,d,0-a|0);l=a+l|0;v[c+4>>2]=l;b=b-a|0;break d}f=a}c=b+l|0;if((l|0)<=7){if((l|0)<1){break c}while(1){t[b|0]=w[f|0];f=f+1|0;b=b+1|0;if(c>>>0>b>>>0){continue}break}break c}a=b-f|0;e:{if(a>>>0<=7){t[b|0]=w[f|0];t[b+1|0]=w[f+1|0];t[b+2|0]=w[f+2|0];t[b+3|0]=w[f+3|0];d=f;f=a<<2;a=d+v[f+4752>>2]|0;d=w[a|0]|w[a+1|0]<<8|(w[a+2|0]<<16|w[a+3|0]<<24);t[b+4|0]=d;t[b+5|0]=d>>>8;t[b+6|0]=d>>>16;t[b+7|0]=d>>>24;f=a-v[f+4784>>2]|0;break e}a=w[f+4|0]|w[f+5|0]<<8|(w[f+6|0]<<16|w[f+7|0]<<24);d=w[f|0]|w[f+1|0]<<8|(w[f+2|0]<<16|w[f+3|0]<<24);t[b|0]=d;t[b+1|0]=d>>>8;t[b+2|0]=d>>>16;t[b+3|0]=d>>>24;t[b+4|0]=a;t[b+5|0]=a>>>8;t[b+6|0]=a>>>16;t[b+7|0]=a>>>24}a=b+8|0;i=f+8|0;if(c>>>0<=e>>>0){d=a+l|0;if((a-i|0)<=15){while(1){b=w[i+4|0]|w[i+5|0]<<8|(w[i+6|0]<<16|w[i+7|0]<<24);c=w[i|0]|w[i+1|0]<<8|(w[i+2|0]<<16|w[i+3|0]<<24);t[a|0]=c;t[a+1|0]=c>>>8;t[a+2|0]=c>>>16;t[a+3|0]=c>>>24;t[a+4|0]=b;t[a+5|0]=b>>>8;t[a+6|0]=b>>>16;t[a+7|0]=b>>>24;i=i+8|0;a=a+8|0;if(d>>>0>a>>>0){continue}break c}}while(1){b=w[i+4|0]|w[i+5|0]<<8|(w[i+6|0]<<16|w[i+7|0]<<24);c=w[i|0]|w[i+1|0]<<8|(w[i+2|0]<<16|w[i+3|0]<<24);t[a|0]=c;t[a+1|0]=c>>>8;t[a+2|0]=c>>>16;t[a+3|0]=c>>>24;t[a+4|0]=b;t[a+5|0]=b>>>8;t[a+6|0]=b>>>16;t[a+7|0]=b>>>24;b=w[i+12|0]|w[i+13|0]<<8|(w[i+14|0]<<16|w[i+15|0]<<24);c=w[i+8|0]|w[i+9|0]<<8|(w[i+10|0]<<16|w[i+11|0]<<24);t[a+8|0]=c;t[a+9|0]=c>>>8;t[a+10|0]=c>>>16;t[a+11|0]=c>>>24;t[a+12|0]=b;t[a+13|0]=b>>>8;t[a+14|0]=b>>>16;t[a+15|0]=b>>>24;i=i+16|0;a=a+16|0;if(d>>>0>a>>>0){continue}break}break c}f:{if(a>>>0>e>>>0){e=a;break f}g=e-a|0;g:{if((a-i|0)<=15){b=i;while(1){d=w[b+4|0]|w[b+5|0]<<8|(w[b+6|0]<<16|w[b+7|0]<<24);f=w[b|0]|w[b+1|0]<<8|(w[b+2|0]<<16|w[b+3|0]<<24);t[a|0]=f;t[a+1|0]=f>>>8;t[a+2|0]=f>>>16;t[a+3|0]=f>>>24;t[a+4|0]=d;t[a+5|0]=d>>>8;t[a+6|0]=d>>>16;t[a+7|0]=d>>>24;b=b+8|0;a=a+8|0;if(e>>>0>a>>>0){continue}break}break g}b=i;while(1){d=w[b+4|0]|w[b+5|0]<<8|(w[b+6|0]<<16|w[b+7|0]<<24);f=w[b|0]|w[b+1|0]<<8|(w[b+2|0]<<16|w[b+3|0]<<24);t[a|0]=f;t[a+1|0]=f>>>8;t[a+2|0]=f>>>16;t[a+3|0]=f>>>24;t[a+4|0]=d;t[a+5|0]=d>>>8;t[a+6|0]=d>>>16;t[a+7|0]=d>>>24;d=w[b+12|0]|w[b+13|0]<<8|(w[b+14|0]<<16|w[b+15|0]<<24);f=w[b+8|0]|w[b+9|0]<<8|(w[b+10|0]<<16|w[b+11|0]<<24);t[a+8|0]=f;t[a+9|0]=f>>>8;t[a+10|0]=f>>>16;t[a+11|0]=f>>>24;t[a+12|0]=d;t[a+13|0]=d>>>8;t[a+14|0]=d>>>16;t[a+15|0]=d>>>24;b=b+16|0;a=a+16|0;if(e>>>0>a>>>0){continue}break}}i=g+i|0}if(c>>>0<=e>>>0){break c}while(1){t[e|0]=w[i|0];i=i+1|0;e=e+1|0;if(c>>>0>e>>>0){continue}break}}n=p}return n}function ca(a,b,c,d,e){var f=0,g=0,h=0;h=v[a+28804>>2];g=v[a+28744>>2];a:{if(h-3>>>0>=2){break a}g=v[a+28744>>2];if(v[a+28800>>2]){break a}f=e>>>0>1?e:1;g=v[a+28744>>2];g=f>>>0>>0?f:g}f=-72;b:{c:{d:{if((e|0)!=(g|0)){break d}e:{if(!c){break e}f=v[a+28728>>2];if((f|0)==(b|0)){break e}v[a+28740>>2]=f;v[a+28728>>2]=b;g=v[a+28732>>2];v[a+28732>>2]=b;v[a+28736>>2]=(g-f|0)+b}f=-1;f:{g:{h:{i:{j:{switch(h|0){case 0:f=1;k:{if(v[a+28908>>2]){break k}f=5;if(((w[d|0]|w[d+1|0]<<8|(w[d+2|0]<<16|w[d+3|0]<<24))&-16)!=407710288){break k}X(a+160144|0,d,e);v[a+28804>>2]=6;v[a+28744>>2]=8-e;break b}if(e>>>0>>0){v[a+28904>>2]=-72;return-72}b=w[(d+f|0)-1|0];c=b&32;f=(!c+(v[(b>>>4&12)+4736>>2]+(v[((b&3)<<2)+4720>>2]+f|0)|0)|0)+(c>>>5&b>>>0<64)|0;v[a+28904>>2]=f;if(f>>>0>4294967176){break d}X(a+160144|0,d,e);v[a+28804>>2]=1;v[a+28744>>2]=f-e;break b;case 1:b=a+160144|0;X(b+(v[a+28904>>2]-e|0)|0,d,e);b=aa(a+28752|0,b,v[a+28904>>2],v[a+28908>>2]);if(b>>>0>4294967176){return b}f=-72;if(b){break d}b=v[a+28780>>2];if(b){f=-32;if((b|0)!=v[a+28952>>2]){break d}}if(v[a+28784>>2]){v[a+28816>>2]=0;v[a+28820>>2]=0;b=a+28856|0;v[b>>2]=0;v[b+4>>2]=0;b=a+28848|0;v[b>>2]=2048144761;v[b+4>>2]=1640531534;b=a+28840|0;v[b>>2]=0;v[b+4>>2]=0;b=a+28832|0;v[b>>2]=668265295;v[b+4>>2]=-1028477379;b=a+28824|0;v[b>>2]=-1379879466;v[b+4>>2]=1625958382;b=a+28864|0;v[b>>2]=0;v[b+4>>2]=0;b=a+28872|0;v[b>>2]=0;v[b+4>>2]=0;b=a+28880|0;v[b>>2]=0;v[b+4>>2]=0;b=a+28888|0;v[b>>2]=0;v[b+4>>2]=0}break c;case 2:c=w[d|0]|w[d+1|0]<<8;b=(c|w[d+2|0]<<16)>>>3|0;f=-20;l:{m:{d=c>>>1&3;e=d;switch(e-1|0){case 0:break l;case 2:break d;default:break m}}e=b}if(y[a+28768>>2]>>0){break d}c=c&1;v[a+28932>>2]=b;v[a+28800>>2]=d;v[a+28744>>2]=e;if(e){v[a+28804>>2]=c?4:3;break b}if(c){if(!v[a+28784>>2]){break i}v[a+28804>>2]=5;v[a+28744>>2]=4;break b}break c;case 3:case 4:f=-20;n:{o:{switch(v[a+28800>>2]){case 2:f=qa(a,b,c,d,e);break n;case 0:if(!b){f=-74;if(e){break d}break g}f=-70;if(c>>>0>>0){break d}X(b,d,e);if(e>>>0<=4294967176){break g}return e;case 1:break o;default:break d}}e=v[a+28932>>2];f=e?-74:0;if(!b){break n}f=-70;if(c>>>0>>0){break n}_(b,w[d|0],e);f=e}g=0;v[a+28744>>2]=0;if(f>>>0>4294967176){break d}break f;case 6:break h;case 7:break i;case 5:break j;default:break d}}f=-22;if((w[d|0]|w[d+1|0]<<8|(w[d+2|0]<<16|w[d+3|0]<<24))!=(oa(a+28816|0)|0)){break d}}f=0;v[a+28804>>2]=0;v[a+28744>>2]=0;break d}X((a-e|0)+160152|0,d,e);v[a+28804>>2]=7;b=a;a=a+160148|0;v[b+28744>>2]=w[a|0]|w[a+1|0]<<8|(w[a+2|0]<<16|w[a+3|0]<<24);break b}g=v[a+28744>>2]-e|0;v[a+28744>>2]=g;f=e}c=f;if(c>>>0>y[a+28768>>2]){return-20}f=v[a+28796>>2];e=c;h=e+v[a+28792>>2]|0;f=h>>>0>>0?f+1|0:f;v[a+28792>>2]=h;v[a+28796>>2]=f;if(v[a+28784>>2]){pa(a+28816|0,b,c);g=v[a+28744>>2]}v[a+28728>>2]=b+c;if(g){return c}if(v[a+28804>>2]==4){b=v[a+28756>>2];d=b;e=v[a+28752>>2];if((e|0)!=-1|(b|0)!=-1){f=-20;if((e|0)!=v[a+28792>>2]|(d|0)!=v[a+28796>>2]){break d}}if(v[a+28784>>2]){v[a+28804>>2]=5;v[a+28744>>2]=4;return c}v[a+28804>>2]=0;v[a+28744>>2]=0;return c}v[a+28744>>2]=3;v[a+28804>>2]=2;return c}return f}v[a+28804>>2]=2;v[a+28744>>2]=3}return 0}function oa(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=a+40|0;k=v[a+72>>2];h=e+k|0;b=v[a+4>>2];o=b;d=v[a>>2];a:{if(!b&d>>>0>=32|b){b=v[a+20>>2];p=b;l=v[a+16>>2];c=Ha(l,b,7);g=R;b=v[a+12>>2];q=b;f=c;m=v[a+8>>2];c=Ha(m,b,1);f=f+c|0;b=R+g|0;b=c>>>0>f>>>0?b+1|0:b;c=v[a+28>>2];r=c;n=v[a+24>>2];c=Ha(n,c,12);g=c+f|0;i=R+b|0;i=c>>>0>g>>>0?i+1|0:i;c=g;b=v[a+36>>2];f=b;j=c;g=v[a+32>>2];c=Ha(g,b,18);j=j+c|0;b=R+i|0;b=Ga(Ga(Ha(Ga(m,q,668265295,-1028477379),R,31),R,-2048144761,-1640531535)^j,R^(c>>>0>j>>>0?b+1|0:b),-2048144761,-1640531535);c=b-1028477341|0;b=R-((b>>>0<1028477341)+2048144776|0)|0;b=Ga(Ga(Ha(Ga(l,p,668265295,-1028477379),R,31),R,-2048144761,-1640531535)^c,R^b,-2048144761,-1640531535);c=b-1028477341|0;b=R-((b>>>0<1028477341)+2048144776|0)|0;b=Ga(Ga(Ha(Ga(n,r,668265295,-1028477379),R,31),R,-2048144761,-1640531535)^c,R^b,-2048144761,-1640531535);c=b-1028477341|0;b=R-((b>>>0<1028477341)+2048144776|0)|0;b=Ga(Ga(Ha(Ga(g,f,668265295,-1028477379),R,31),R,-2048144761,-1640531535)^c,R^b,-2048144761,-1640531535);c=b-1028477341|0;b=R-((b>>>0<1028477341)+2048144776|0)|0;break a}b=v[a+28>>2]+668265263|0;c=v[a+24>>2]+374761413|0;b=c>>>0<374761413?b+1|0:b}b=b+o|0;c=c+d|0;b=c>>>0>>0?b+1|0:b;f=c;c=b;b=a+48|0;b:{if(h>>>0>>0){b=e;break b}g=k-8|0;if(g&8){d=b}else{e=Ga(Ha(Ga(Ha(Ga(w[a+40|0]|w[a+41|0]<<8|(w[a+42|0]<<16|w[a+43|0]<<24),w[a+44|0]|w[a+45|0]<<8|(w[a+46|0]<<16|w[a+47|0]<<24),668265295,-1028477379),R,31),R,-2048144761,-1640531535)^f,c^R,27),R,-2048144761,-1640531535);f=e-1028477341|0;c=R-((e>>>0<1028477341)+2048144776|0)|0;e=b;d=a+56|0}if(g>>>0<8){break b}b=e;while(1){e=Ga(Ha(Ga(Ha(Ga(w[b|0]|w[b+1|0]<<8|(w[b+2|0]<<16|w[b+3|0]<<24),w[b+4|0]|w[b+5|0]<<8|(w[b+6|0]<<16|w[b+7|0]<<24),668265295,-1028477379),R,31),R,-2048144761,-1640531535)^f,c^R,27),R,-2048144761,-1640531535);b=e-1028477341|0;e=R-((e>>>0<1028477341)+2048144776|0)|0;e=Ga(Ha(Ga(Ha(Ga(w[d|0]|w[d+1|0]<<8|(w[d+2|0]<<16|w[d+3|0]<<24),w[d+4|0]|w[d+5|0]<<8|(w[d+6|0]<<16|w[d+7|0]<<24),668265295,-1028477379),R,31),R,-2048144761,-1640531535)^b,R^e,27),R,-2048144761,-1640531535);f=e-1028477341|0;c=R-((e>>>0<1028477341)+2048144776|0)|0;b=d+8|0;d=d+16|0;if(h>>>0>=d>>>0){continue}break}}e=b+4|0;c:{if(h>>>0>>0){e=b;break c}d=Ga(Ha(Ga(w[b|0]|w[b+1|0]<<8|(w[b+2|0]<<16|w[b+3|0]<<24),0,-2048144761,-1640531535)^f,c^R,23),R,668265295,-1028477379)-1640531463|0;b=R+374761393|0;f=d;c=d>>>0<2654435833?b+1|0:b}d:{if(e>>>0>=h>>>0){break d}b=a+k|0;a=b+39|0;b=b+40|0;if(b-e&1){f=Ga(Ha(Ga(w[e|0],0,374761413,668265263)^f,c^R,11),R,-2048144761,-1640531535);c=R;d=e+1|0}else{d=e}if((a|0)==(e|0)){break d}while(1){e=Ga(w[d+1|0],0,374761413,668265263);a=R;f=Ga(Ha(Ga(Ha(Ga(w[d|0],0,374761413,668265263)^f,c^R,11),R,-2048144761,-1640531535)^e,R^a,11),R,-2048144761,-1640531535);c=R;d=d+2|0;if((b|0)!=(d|0)){continue}break}}a=c;e=Ga(f^a>>>1,a,668265295,-1028477379);c=R;a=e;a=Ga(((c&536870911)<<3|a>>>29)^a,c^c>>>29,-1640531463,374761393);d=R;R=d;return a^d}function pa(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=v[a+4>>2];h=c+v[a>>2]|0;v[a>>2]=h;v[a+4>>2]=c>>>0>h>>>0?e+1|0:e;d=v[a+72>>2];f=d+c|0;a:{b:{if(f>>>0<=31){if(!b){break b}X((a+d|0)+40|0,b,c);f=v[a+72>>2]+c|0;break b}j=b+c|0;if(d){X(d+(a+40|0)|0,b,32-d|0);h=v[a+72>>2];v[a+72>>2]=0;f=v[a+12>>2];c=v[a+8>>2];i=Ga(w[a+40|0]|w[a+41|0]<<8|(w[a+42|0]<<16|w[a+43|0]<<24),w[a+44|0]|w[a+45|0]<<8|(w[a+46|0]<<16|w[a+47|0]<<24),668265295,-1028477379);d=c+i|0;e=R+f|0;v[a+8>>2]=Ga(Ha(d,d>>>0>>0?e+1|0:e,31),R,-2048144761,-1640531535);v[a+12>>2]=R;d=v[a+20>>2];c=v[a+16>>2];e=Ga(w[a+48|0]|w[a+49|0]<<8|(w[a+50|0]<<16|w[a+51|0]<<24),w[a+52|0]|w[a+53|0]<<8|(w[a+54|0]<<16|w[a+55|0]<<24),668265295,-1028477379);f=c+e|0;d=R+d|0;v[a+16>>2]=Ga(Ha(f,e>>>0>f>>>0?d+1|0:d,31),R,-2048144761,-1640531535);v[a+20>>2]=R;d=v[a+28>>2];c=v[a+24>>2];e=Ga(w[a+56|0]|w[a+57|0]<<8|(w[a+58|0]<<16|w[a+59|0]<<24),w[a+60|0]|w[a+61|0]<<8|(w[a+62|0]<<16|w[a+63|0]<<24),668265295,-1028477379);f=c+e|0;d=R+d|0;v[a+24>>2]=Ga(Ha(f,e>>>0>f>>>0?d+1|0:d,31),R,-2048144761,-1640531535);v[a+28>>2]=R;f=v[a+36>>2];c=v[a+32>>2];d=a- -64|0;i=Ga(w[d|0]|w[d+1|0]<<8|(w[d+2|0]<<16|w[d+3|0]<<24),w[d+4|0]|w[d+5|0]<<8|(w[d+6|0]<<16|w[d+7|0]<<24),668265295,-1028477379);d=c+i|0;e=R+f|0;v[a+32>>2]=Ga(Ha(d,d>>>0>>0?e+1|0:e,31),R,-2048144761,-1640531535);v[a+36>>2]=R;b=(b-h|0)+32|0}if(j>>>0>=b+32>>>0){n=j-32|0;c=v[a+32>>2];i=v[a+36>>2];d=v[a+24>>2];k=v[a+28>>2];f=v[a+16>>2];l=v[a+20>>2];h=v[a+8>>2];m=v[a+12>>2];while(1){g=Ga(w[b+24|0]|w[b+25|0]<<8|(w[b+26|0]<<16|w[b+27|0]<<24),w[b+28|0]|w[b+29|0]<<8|(w[b+30|0]<<16|w[b+31|0]<<24),668265295,-1028477379)+c|0;e=i+R|0;c=Ga(Ha(g,c>>>0>g>>>0?e+1|0:e,31),R,-2048144761,-1640531535);i=R;g=Ga(w[b+16|0]|w[b+17|0]<<8|(w[b+18|0]<<16|w[b+19|0]<<24),w[b+20|0]|w[b+21|0]<<8|(w[b+22|0]<<16|w[b+23|0]<<24),668265295,-1028477379)+d|0;e=k+R|0;d=Ga(Ha(g,d>>>0>g>>>0?e+1|0:e,31),R,-2048144761,-1640531535);k=R;g=Ga(w[b+8|0]|w[b+9|0]<<8|(w[b+10|0]<<16|w[b+11|0]<<24),w[b+12|0]|w[b+13|0]<<8|(w[b+14|0]<<16|w[b+15|0]<<24),668265295,-1028477379)+f|0;e=l+R|0;f=Ga(Ha(g,f>>>0>g>>>0?e+1|0:e,31),R,-2048144761,-1640531535);l=R;g=Ga(w[b|0]|w[b+1|0]<<8|(w[b+2|0]<<16|w[b+3|0]<<24),w[b+4|0]|w[b+5|0]<<8|(w[b+6|0]<<16|w[b+7|0]<<24),668265295,-1028477379)+h|0;e=m+R|0;h=Ga(Ha(g,g>>>0>>0?e+1|0:e,31),R,-2048144761,-1640531535);m=R;b=b+32|0;if(n>>>0>=b>>>0){continue}break}v[a+32>>2]=c;v[a+36>>2]=i;v[a+24>>2]=d;v[a+28>>2]=k;v[a+16>>2]=f;v[a+20>>2]=l;v[a+8>>2]=h;v[a+12>>2]=m}if(b>>>0>=j>>>0){break a}f=j-b|0;X(a+40|0,b,f)}v[a+72>>2]=f}}function aa(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;v[a>>2]=0;v[a+4>>2]=0;v[a+32>>2]=0;v[a+36>>2]=0;v[a+24>>2]=0;v[a+28>>2]=0;v[a+16>>2]=0;v[a+20>>2]=0;v[a+8>>2]=0;v[a+12>>2]=0;f=d?1:5;if(f>>>0>c>>>0){return f}if(!b){return-1}e=1;a:{b:{c:{d:{e:{f:{g:{h:{if((d|0)==1){d=b;if(c){break h}d=-72;break g}e=w[b|0]|w[b+1|0]<<8|(w[b+2|0]<<16|w[b+3|0]<<24);if((e|0)!=-47205080){break f}e=f;d=(b+f|0)-1|0}g=w[d|0];d=g&32;d=(!d+(v[(g>>>4&12)+4736>>2]+(v[((g&3)<<2)+4720>>2]+e|0)|0)|0)+(d>>>5&g>>>0<64)|0}if(d>>>0>c>>>0){break a}v[a+24>>2]=d;d=-14;c=b+f|0;g=w[c-1|0];if(g&8){break a}i=g&32;if(!i){d=-16;c=w[c|0];if(c>>>0>167){break a}d=c&7;c=(c>>>3|0)+10|0;h=c&31;if((c&63)>>>0>=32){e=1<>>32-h;c=1<>>3,e>>>3|0)+c|0;h=e+R|0;h=c>>>0>d>>>0?h+1|0:h;j=d;f=f+1|0}k=g>>>6|0;e=g>>>2|0;d=0;switch((g&3)-1|0){case 2:break c;case 1:break d;case 0:break e;default:break b}}d=-10;if((e&-16)!=407710288){break a}d=8;if(c>>>0<8){break a}v[a>>2]=0;v[a+4>>2]=0;v[a+32>>2]=0;v[a+36>>2]=0;v[a+24>>2]=0;v[a+28>>2]=0;v[a+16>>2]=0;v[a+20>>2]=0;v[a+8>>2]=0;v[a+12>>2]=0;b=w[b+4|0]|w[b+5|0]<<8|(w[b+6|0]<<16|w[b+7|0]<<24);v[a+20>>2]=1;v[a>>2]=b;v[a+4>>2]=0;return 0}d=w[b+f|0];f=f+1|0;break b}c=b+f|0;d=w[c|0]|w[c+1|0]<<8;f=f+2|0;break b}c=b+f|0;d=w[c|0]|w[c+1|0]<<8|(w[c+2|0]<<16|w[c+3|0]<<24);f=f+4|0}g=e&1;i:{j:{switch(k-1|0){default:e=-1;c=-1;if(!i){break i}e=w[b+f|0];c=0;break i;case 0:c=0;b=b+f|0;b=(w[b|0]|w[b+1|0]<<8)+256|0;c=b>>>0<256?1:c;e=b;break i;case 1:b=b+f|0;e=w[b|0]|w[b+1|0]<<8|(w[b+2|0]<<16|w[b+3|0]<<24);c=0;break i;case 2:break j}}b=b+f|0;e=w[b|0]|w[b+1|0]<<8|(w[b+2|0]<<16|w[b+3|0]<<24);c=w[b+4|0]|w[b+5|0]<<8|(w[b+6|0]<<16|w[b+7|0]<<24)}v[a+32>>2]=g;v[a+28>>2]=d;b=e;v[a>>2]=b;v[a+4>>2]=c;d=0;v[a+20>>2]=0;e=i?b:j;v[a+8>>2]=e;b=i?c:h;v[a+12>>2]=b;v[a+16>>2]=!b&e>>>0<131072?e:131072}return d}function la(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(!d){return-72}i=x[e+2>>1];a:{b:{c:{if(d>>>0>=4){g=w[(c+d|0)-1|0];f=-1;if(!g){break a}if(d>>>0<=4294967176){break c}return d}h=w[c|0];d:{switch(d-2|0){case 1:h=w[c+2|0]<<16|h;case 0:h=(w[c+1|0]<<8)+h|0;break;default:break d}}f=w[(c+d|0)-1|0];if(!f){return-20}f=(E(f)-(d<<3)|0)+9|0;d=0;break b}f=E(g)-23|0;d=d-4|0;g=d+c|0;h=w[g|0]|w[g+1|0]<<8|(w[g+2|0]<<16|w[g+3|0]<<24)}k=e+4|0;l=a+b|0;i=0-i&31;e:{f:{g:{h:{i:{if(f>>>0>32){break i}j=l-3|0;while(1){j:{if((d|0)>=4){e=f&7;h=f>>>3|0;f=0;break j}if(!d){d=0;g=c;break h}e=f;g=f>>>3|0;f=(c+d|0)-g>>>0>>0;h=f?d:g;e=e-(h<<3)|0}d=d-h|0;g=d+c|0;h=w[g|0]|w[g+1|0]<<8|(w[g+2|0]<<16|w[g+3|0]<<24);if(!(f?0:a>>>0>>0)){f=e;break i}f=(h<>>i<<1)+k|0;m=w[f+1|0];t[a|0]=w[f|0];e=e+m|0;f=(h<>>i<<1)+k|0;m=w[f+1|0];t[a+1|0]=w[f|0];a=a+2|0;f=e+m|0;if(f>>>0<=32){continue}break}break g}g=c+d|0;if(f>>>0>32){break g}}while(1){k:{if((d|0)>=4){e=f&7;h=f>>>3|0;f=0;break k}if(!d){break g}e=f;h=g;g=f>>>3|0;f=h-g>>>0>>0;h=f?d:g;e=e-(h<<3)|0}d=d-h|0;g=d+c|0;h=w[g|0]|w[g+1|0]<<8|(w[g+2|0]<<16|w[g+3|0]<<24);j=a>>>0>=l>>>0;if(f?1:j){f=e;if(!j){break f}break e}f=(h<>>i<<1)+k|0;j=w[f+1|0];t[a|0]=w[f|0];a=a+1|0;f=e+j|0;if(f>>>0<=32){continue}break}}if(a>>>0>=l>>>0){break e}}d=a+1|0;if(l-a&1){e=(h<>>i<<1)+k|0;j=w[e+1|0];t[a|0]=w[e|0];f=f+j|0;a=d}if((d|0)==(l|0)){break e}while(1){d=(h<>>i<<1)+k|0;e=w[d+1|0];t[a|0]=w[d|0];d=e+f|0;e=(h<>>i<<1)+k|0;f=w[e+1|0];t[a+1|0]=w[e|0];f=d+f|0;a=a+2|0;if((l|0)!=(a|0)){continue}break}}f=(c|0)!=(g|0)?-20:(f|0)!=32?-20:b}return f}function ea(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=8;a:{b:{if(a>>>0>4294967239){break b}while(1){j=j>>>0>8?j:8;g=v[1467];h=g;e=v[1466];b=e;a=a>>>0>8?a+3&-4:8;c:{if(a>>>0<=127){i=(a>>>3|0)-1|0;break c}c=E(a);i=((a>>>29-c^4)-(c<<2)|0)+110|0;if(a>>>0<=4095){break c}c=((a>>>30-c^2)-(c<<1)|0)+71|0;i=c>>>0<63?c:63}c=i;f=c&31;if((c&63)>>>0>=32){d=0;b=g>>>f|0}else{d=g>>>f|0;b=((1<>>f}c=d;if(b|c){while(1){g=b;d=c;d:{if(c|b){e=d-1|0;f=b-1|0;e=(f|0)!=-1?e+1|0:e;d=E(d^e);b=(d|0)==32?E(b^f)+32|0:d;d=63-b|0;R=0-(b>>>0>63)|0;break d}R=0;d=64}b=d;e=b&31;if((b&63)>>>0>=32){d=0;e=c>>>e|0}else{d=c>>>e|0;e=((1<>>e}c=d;i=b+i|0;g=i<<4;f=v[g+4840>>2];b=g+4832|0;e:{if((f|0)!=(b|0)){h=da(f,j,a);if(h){break b}d=v[f+4>>2];v[d+8>>2]=v[f+8>>2];v[v[f+8>>2]+4>>2]=d;v[f+8>>2]=b;d=g+4836|0;v[f+4>>2]=v[d>>2];v[d>>2]=f;v[v[f+4>>2]+8>>2]=f;i=i+1|0;b=(c&1)<<31|e>>>1;c=c>>>1|0;break e}d=v[1467];v[1466]=v[1466]&Ha(-2,-1,i);v[1467]=R&d;b=e^1}if(b|c){continue}break}h=v[1467];e=v[1466]}f:{if(e|h){c=E(h);c=63-((c|0)==32?E(e)+32|0:c)<<4;g=c+4832|0;b=v[c+4840>>2];g:{if(!h&e>>>0<1073741824){break g}c=98;if((b|0)==(g|0)){break g}while(1){h=da(b,j,a);if(h){break b}b=v[b+8>>2];if((g|0)==(b|0)){break g}d=c;c=c-1|0;if(d){continue}break}}if(fa(a+48|0)){break f}if(!b|(b|0)==(g|0)){break a}while(1){h=da(b,j,a);if(h){break b}b=v[b+8>>2];if((g|0)!=(b|0)){continue}break}break a}if(!fa(a+48|0)){break a}}h=0;if(j-1&j){break b}if(a>>>0<=4294967239){continue}break}}return h}return 0}function $(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;l=Q-16|0;Q=l;a:{if(e>>>0<=3){v[l+12>>2]=0;X(l+12|0,d,e);a=$(a,b,c,l+12|0,4);i=a>>>0<4294967177?a>>>0>e>>>0?-20:a:a;break a}o=_(a,0,(v[b>>2]<<1)+2|0);g=w[d|0]|w[d+1|0]<<8|(w[d+2|0]<<16|w[d+3|0]<<24);f=g&15;i=-44;if(f>>>0>10){break a}v[c>>2]=f+5;c=4;a=g>>>4|0;m=f+6|0;e=d+e|0;n=e-4|0;p=e-7|0;r=e-5|0;j=32<>2];f=d;e=0;g=0;while(1){b:{c:{if(!e){h=g;break c}e=g;if((a&65535)==65535){while(1){d:{if(f>>>0>>0){a=(w[f+2|0]|w[f+3|0]<<8|(w[f+4|0]<<16|w[f+5|0]<<24))>>>c|0;f=f+2|0;break d}c=c+16|0;a=a>>>16|0}e=e+24|0;if((a&65535)==65535){continue}break}}h=a&3;if((h|0)==3){while(1){c=c+2|0;e=e+3|0;a=a>>>2|0;h=a&3;if((h|0)==3){continue}break}}h=e+h|0;i=-48;if(q>>>0>>0){break a}c=c+2|0;e:{if(g>>>0>=h>>>0){h=g;break e}_((g<<1)+o|0,0,h-g<<1)}e=(c>>3)+f|0;if(!(n>>>0>>0?f>>>0>p>>>0:0)){c=c&7;a=(w[e|0]|w[e+1|0]<<8|(w[e+2|0]<<16|w[e+3|0]<<24))>>>c|0;break b}a=a>>>2|0}e=f}f=j-1&a;g=(j<<1)-1|0;i=g-k|0;if(f>>>0>>0){a=m-1|0}else{a=a&g;f=a-((a|0)<(j|0)?0:i)|0;a=m}g=f-1|0;u[(h<<1)+o>>1]=g;k=k-((f|0)<1?1-f|0:g)|0;if((k|0)<(j|0)){while(1){m=m-1|0;j=j>>1;if((k|0)<(j|0)){continue}break}}a=a+c|0;f=(a>>3)+e|0;f:{if(!(n>>>0>>0?e>>>0>p>>>0:0)){c=a&7;break f}f=n;c=a+(e-f<<3)|0}if((k|0)>=2){e=!g;a=(w[f|0]|w[f+1|0]<<8|(w[f+2|0]<<16|w[f+3|0]<<24))>>>c|0;g=h+1|0;if(q>>>0>=g>>>0){continue}}break}i=-20;if((k|0)!=1|(c|0)>32){break a}v[b>>2]=h;i=((c+7>>3)+f|0)-d|0}a=i;Q=l+16|0;return a}function ba(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,w=0;q=Q-112|0;m=a+8|0;n=1;p=1<>16;g=c+1|0;w=g&1;b:{if(!c){g=j;break b}k=g&-2;g=j;while(1){l=h<<1;i=x[l+b>>1];c:{if((i|0)==65535){v[((g<<3)+m|0)+4>>2]=h;g=g-1|0;i=1;break c}n=i<<16>>16<(r|0)?n:0}u[l+q>>1]=i;o=h|1;l=o<<1;i=x[l+b>>1];d:{if((i|0)!=65535){n=i<<16>>16<(r|0)?n:0;break d}v[((g<<3)+m|0)+4>>2]=o;g=g-1|0;i=1}u[l+q>>1]=i;h=h+2|0;k=k-2|0;if(k){continue}break}}if(!w){break a}i=x[(h<<1)+b>>1];e:{if((i|0)!=65535){n=i<<16>>16<(r|0)?n:0;break e}v[((g<<3)+m|0)+4>>2]=h;g=g-1|0;i=1}u[(h<<1)+q>>1]=i}v[a+4>>2]=f;v[a>>2]=n;if(!s){o=((p>>>3)+(p>>>1)|0)+3|0;h=0;k=0;while(1){a=k;l=u[(a<<1)+b>>1];f:{if((l|0)<1){break f}if((l|0)!=1){k=l&-2;while(1){v[((h<<3)+m|0)+4>>2]=a;while(1){h=j&h+o;if(h>>>0>g>>>0){continue}break}v[((h<<3)+m|0)+4>>2]=a;while(1){h=j&h+o;if(h>>>0>g>>>0){continue}break}k=k-2|0;if(k){continue}break}}if(!(l&1)){break f}v[((h<<3)+m|0)+4>>2]=a;while(1){h=j&h+o;if(h>>>0>g>>>0){continue}break}}k=a+1|0;if((a|0)!=(c|0)){continue}break}}c=f+1|0;g=0;while(1){j=(g<<3)+m|0;b=v[j+4>>2];a=(b<<1)+q|0;f=x[a>>1];u[a>>1]=f+1;a=c+(E(f)^-32)|0;t[j+3|0]=a;u[j>>1]=(f<>2];v[j+4>>2]=v[a+d>>2];g=g+1|0;if((p|0)!=(g|0)){continue}break}}function ma(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=Q-16|0;Q=j;v[j+12>>2]=0;v[j+8>>2]=0;e=-44;n=d- -64|0;b=na(n,d,j+8|0,j+12|0,b,c);a:{b:{if(b>>>0>4294967176){break b}g=v[j+12>>2];c=v[a>>2];if(g>>>0>(c&255)+1>>>0){break a}v[a>>2]=c&-16776961|g<<16&16711680;c:{if(g+1>>>0<2){break c}c=g&3;d:{if(g-1>>>0<3){e=1;break d}i=g&-4;e=1;while(1){h=(e<<2)+d|0;k=v[h>>2];v[h>>2]=f;m=e+1|0;l=(m<<2)+d|0;o=v[l>>2];f=(k<>2]=f;k=e+2|0;l=(k<<2)+d|0;p=v[l>>2];f=f+(o<>2]=f;l=v[h+12>>2];f=f+(p<>2]=f;f=f+(l<>2];v[h>>2]=f;f=(i<>2];if(!k){break b}h=a+4|0;m=g+1|0;f=0;while(1){g=w[f+n|0];a=(g<<2)+d|0;c=v[a>>2];e=1<>1;i=c+e|0;v[a>>2]=i;a=m-g|0;e:{if(e>>>0>=4){if(c>>>0>=i>>>0){break e}while(1){e=h+(c<<1)|0;t[e+1|0]=a;t[e|0]=f;t[e+3|0]=a;t[e+2|0]=f;t[e+5|0]=a;t[e+4|0]=f;t[e+7|0]=a;t[e+6|0]=f;c=c+4|0;if(i>>>0>c>>>0){continue}break}break e}if(!g){break e}c=h+(c<<1)|0;t[c+1|0]=a;t[c|0]=f;if(e>>>0<2){break e}t[c+3|0]=a;t[c+2|0]=f;if(((e>>>0>1?e:1)|0)==2){break e}t[c+5|0]=a;t[c+4|0]=f}f=f+1|0;if((k|0)!=(f|0)){continue}break}}e=b}Q=j+16|0;return e}function X(a,b,c){var d=0,e=0,f=0;if(c>>>0>=512){O(a|0,b|0,c|0)|0;return a}e=a+c|0;a:{if(!((a^b)&3)){b:{if(!(a&3)){c=a;break b}if((c|0)<1){c=a;break b}c=a;while(1){t[c|0]=w[b|0];b=b+1|0;c=c+1|0;if(!(c&3)){break b}if(c>>>0>>0){continue}break}}d=e&-4;c:{if(d>>>0<64){break c}f=d+-64|0;if(f>>>0>>0){break c}while(1){v[c>>2]=v[b>>2];v[c+4>>2]=v[b+4>>2];v[c+8>>2]=v[b+8>>2];v[c+12>>2]=v[b+12>>2];v[c+16>>2]=v[b+16>>2];v[c+20>>2]=v[b+20>>2];v[c+24>>2]=v[b+24>>2];v[c+28>>2]=v[b+28>>2];v[c+32>>2]=v[b+32>>2];v[c+36>>2]=v[b+36>>2];v[c+40>>2]=v[b+40>>2];v[c+44>>2]=v[b+44>>2];v[c+48>>2]=v[b+48>>2];v[c+52>>2]=v[b+52>>2];v[c+56>>2]=v[b+56>>2];v[c+60>>2]=v[b+60>>2];b=b- -64|0;c=c- -64|0;if(f>>>0>=c>>>0){continue}break}}if(c>>>0>=d>>>0){break a}while(1){v[c>>2]=v[b>>2];b=b+4|0;c=c+4|0;if(d>>>0>c>>>0){continue}break}break a}if(e>>>0<4){c=a;break a}d=e-4|0;if(d>>>0>>0){c=a;break a}c=a;while(1){t[c|0]=w[b|0];t[c+1|0]=w[b+1|0];t[c+2|0]=w[b+2|0];t[c+3|0]=w[b+3|0];b=b+4|0;c=c+4|0;if(d>>>0>=c>>>0){continue}break}}if(c>>>0>>0){while(1){t[c|0]=w[b|0];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}return a}function fa(a){var b=0,c=0,d=0,e=0,f=0,g=0;d=v[1204];c=a+3&-4;b=d+c|0;a:{b:{if(b>>>0<=d>>>0?c:0){break b}if(b>>>0>T()<<16>>>0){if(!(P(b|0)|0)){break b}}v[1204]=b;break a}v[1468]=48;d=-1}if((d|0)!=-1){c=a+d|0;b=c-16|0;v[b+12>>2]=16;v[b>>2]=16;a=v[1464];if(a){g=v[a+8>>2]}else{g=0}c:{d:{if((g|0)==(d|0)){e=d-(v[d-4>>2]&-2)|0;f=v[e-4>>2];v[a+8>>2]=c;a=e-(f&-2)|0;c=-16;if(!(t[(a+v[a>>2]|0)-4|0]&1)){break d}c=v[a+4>>2];v[c+8>>2]=v[a+8>>2];v[v[a+8>>2]+4>>2]=c;b=b-a|0;v[a>>2]=b;break c}v[d+12>>2]=16;v[d>>2]=16;v[d+8>>2]=c;v[d+4>>2]=a;v[1464]=d;c=16}a=d+c|0;b=b-a|0;v[a>>2]=b}v[((b&-4)+a|0)-4>>2]=b|1;g=a;e=v[a>>2]-8|0;e:{if(e>>>0<=127){b=(e>>>3|0)-1|0;break e}f=E(e);b=((e>>>29-f^4)-(f<<2)|0)+110|0;if(e>>>0<=4095){break e}b=((e>>>30-f^2)-(f<<1)|0)+71|0;b=b>>>0<63?b:63}c=b<<4;v[g+4>>2]=c+4832;c=c+4840|0;v[a+8>>2]=v[c>>2];v[c>>2]=a;v[v[a+8>>2]+4>>2]=a;c=v[1467];a=b&31;if((b&63)>>>0>=32){b=1<>>32-a;a=1<>2];if(e+c>>>0<=(b+a|0)-4>>>0){f=v[a+4>>2];v[f+8>>2]=v[a+8>>2];v[v[a+8>>2]+4>>2]=f;if((d|0)!=(e|0)){e=e-d|0;f=a-(v[a-4>>2]&-2)|0;d=e+v[f>>2]|0;v[f>>2]=d;v[(f+(d&-4)|0)-4>>2]=d;a=a+e|0;b=b-e|0;v[a>>2]=b}a:{if(c+24>>>0<=b>>>0){d=(a+c|0)+8|0;b=(b-c|0)-8|0;v[d>>2]=b;v[(d+(b&-4)|0)-4>>2]=b|1;g=d;f=v[d>>2]-8|0;b:{if(f>>>0<=127){e=(f>>>3|0)-1|0;break b}b=E(f);e=((f>>>29-b^4)-(b<<2)|0)+110|0;if(f>>>0<=4095){break b}b=((f>>>30-b^2)-(b<<1)|0)+71|0;e=b>>>0<63?b:63}b=e;e=b<<4;v[g+4>>2]=e+4832;e=e+4840|0;v[d+8>>2]=v[e>>2];v[e>>2]=d;v[v[d+8>>2]+4>>2]=d;e=v[1467];d=b&31;if((b&63)>>>0>=32){b=1<>>32-d;g=1<>2]=b;v[((b&-4)+a|0)-4>>2]=b;break a}v[(a+b|0)-4>>2]=b}a=a+4|0}else{a=0}return a}function Z(a,b,c){var d=0,e=0;a:{if((a|0)==(b|0)){break a}e=a+c|0;if(b-e>>>0<=0-(c<<1)>>>0){return X(a,b,c)}d=(a^b)&3;b:{c:{if(a>>>0>>0){if(d){d=a;break b}if(!(a&3)){d=a;break c}d=a;while(1){if(!c){break a}t[d|0]=w[b|0];b=b+1|0;c=c-1|0;d=d+1|0;if(d&3){continue}break}break c}d:{if(d){break d}if(e&3){while(1){if(!c){break a}c=c-1|0;d=c+a|0;t[d|0]=w[b+c|0];if(d&3){continue}break}}if(c>>>0<=3){break d}while(1){c=c-4|0;v[c+a>>2]=v[b+c>>2];if(c>>>0>3){continue}break}}if(!c){break a}while(1){c=c-1|0;t[c+a|0]=w[b+c|0];if(c){continue}break}break a}if(c>>>0<=3){break b}while(1){v[d>>2]=v[b>>2];b=b+4|0;d=d+4|0;c=c-4|0;if(c>>>0>3){continue}break}}if(!c){break a}while(1){t[d|0]=w[b|0];d=d+1|0;b=b+1|0;c=c-1|0;if(c){continue}break}}return a}function _(a,b,c){var d=0,e=0,f=0;a:{if(!c){break a}f=a+c|0;t[f-1|0]=b;t[a|0]=b;if(c>>>0<3){break a}t[f-2|0]=b;t[a+1|0]=b;t[f-3|0]=b;t[a+2|0]=b;if(c>>>0<7){break a}t[f-4|0]=b;t[a+3|0]=b;if(c>>>0<9){break a}f=0-a&3;e=f+a|0;d=B(b&255,16843009);v[e>>2]=d;b=c-f&-4;c=b+e|0;v[c-4>>2]=d;if(b>>>0<9){break a}v[e+8>>2]=d;v[e+4>>2]=d;v[c-8>>2]=d;v[c-12>>2]=d;if(b>>>0<25){break a}v[e+24>>2]=d;v[e+20>>2]=d;v[e+16>>2]=d;v[e+12>>2]=d;v[c-16>>2]=d;v[c-20>>2]=d;v[c-24>>2]=d;v[c-28>>2]=d;c=b;b=e&4|24;c=c-b|0;if(c>>>0<32){break a}d=Ga(d,0,1,1);f=R;b=b+e|0;while(1){v[b+24>>2]=d;e=f;v[b+28>>2]=e;v[b+16>>2]=d;v[b+20>>2]=e;v[b+8>>2]=d;v[b+12>>2]=e;v[b>>2]=d;v[b+4>>2]=e;b=b+32|0;c=c-32|0;if(c>>>0>31){continue}break}}return a}function ta(a){a=a|0;var b=0;b=1812;a:{b:{switch((a>>>0<4294967177?0:0-a|0)|0){case 1:b=1855;break a;case 10:b=1159;break a;case 12:b=1766;break a;case 14:b=1184;break a;case 16:b=1506;break a;case 20:b=1830;break a;case 22:b=1271;break a;case 40:b=1212;break a;case 42:b=1692;break a;case 62:b=1061;break a;case 64:b=1024;break a;case 66:b=1378;break a;case 60:b=1616;break a;case 44:b=1718;break a;case 46:b=1575;break a;case 48:b=1340;break a;case 30:b=1788;break a;case 32:b=1415;break a;case 34:b=1112;break a;case 70:b=1308;break a;case 72:b=1090;break a;case 74:b=1234;break a;case 100:b=1550;break a;case 102:b=1463;break a;case 104:b=1435;break a;case 0:break a;default:break b}}b=1669}return b|0}function Y(a){var b=0,c=0,d=0,e=0,f=0;if(a){c=a-4|0;e=v[c>>2];d=e;b=c;f=v[a-8>>2];a=f&-2;if((a|0)!=(f|0)){b=c-a|0;d=v[b+4>>2];v[d+8>>2]=v[b+8>>2];v[v[b+8>>2]+4>>2]=d;d=a+e|0}a=c+e|0;c=v[a>>2];if((c|0)!=v[(a+c|0)-4>>2]){e=v[a+4>>2];v[e+8>>2]=v[a+8>>2];v[v[a+8>>2]+4>>2]=e;d=d+c|0}v[b>>2]=d;v[((d&-4)+b|0)-4>>2]=d|1;f=b;d=v[b>>2]-8|0;a:{if(d>>>0<=127){a=(d>>>3|0)-1|0;break a}e=E(d);a=((d>>>29-e^4)-(e<<2)|0)+110|0;if(d>>>0<=4095){break a}a=((d>>>30-e^2)-(e<<1)|0)+71|0;a=a>>>0<63?a:63}c=a<<4;v[f+4>>2]=c+4832;c=c+4840|0;v[b+8>>2]=v[c>>2];v[c>>2]=b;v[v[b+8>>2]+4>>2]=b;c=v[1467];b=a&31;if((a&63)>>>0>=32){a=1<>>32-b;b=1<>2]=d;o=-1;a:{b:{switch(c|0){case 1:if(!g){o=-72;break a}o=-20;c=w[f|0];if(c>>>0>d>>>0){break a}c=c<<2;d=v[c+i>>2];c=v[c+h>>2];t[a+11|0]=0;v[a>>2]=0;v[a+4>>2]=0;v[a+12>>2]=c;t[a+10|0]=d;u[a+8>>1]=0;v[b>>2]=a;o=1;break a;case 0:v[b>>2]=j;o=0;break a;case 3:if(!k){o=-20;break a}o=0;if(!l|(m|0)<25){break a}a=(8<>>0>d>>>0){continue}break};break a;case 2:break b;default:break a}}o=-20;c=$(n,n+124|0,n+120|0,f,g);if(c>>>0>4294967176){break a}d=v[n+120>>2];if(d>>>0>e>>>0){break a}ba(a,n,v[n+124>>2],h,i,d);v[b>>2]=a;o=c}Q=n+128|0;return o}function Ea(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;a:{b:{if(!a){break b}b=-64;if(v[a+28936>>2]){break a}e=v[a+28924>>2];c=v[a+28920>>2];b=v[a+28944>>2];c:{if(!b){break c}f=v[b+26692>>2];d=v[b+26688>>2];d:{e:{g=v[b>>2];if(g){if(!d){break e}S[d|0](f,g);S[d|0](f,b);break c}if(!d){break d}S[d|0](f,b);break c}Y(g)}Y(b)}v[a+28960>>2]=0;v[a+28944>>2]=0;v[a+28948>>2]=0;f:{g:{b=v[a+28968>>2];if(b){if(!c){break g}S[c|0](e,b);v[a+28968>>2]=0;S[c|0](e,a);break b}v[a+28968>>2]=0;if(!c){break f}S[c|0](e,a);break b}Y(b)}Y(a)}b=0}return b|0}function ja(a,b,c){var d=0;if(!c){v[a>>2]=0;v[a+4>>2]=0;v[a+16>>2]=0;v[a+8>>2]=0;v[a+12>>2]=0;return-72}v[a+12>>2]=b;v[a+16>>2]=b+4;if(c>>>0>=4){d=b+c|0;b=d-4|0;v[a+8>>2]=b;v[a>>2]=w[b|0]|w[b+1|0]<<8|(w[b+2|0]<<16|w[b+3|0]<<24);b=w[d-1|0];if(!b){v[a+4>>2]=0;return-1}v[a+4>>2]=E(b)-23;return c}v[a+8>>2]=b;d=w[b|0];v[a>>2]=d;a:{switch(c-2|0){case 1:d=w[b+2|0]<<16|d;v[a>>2]=d;case 0:v[a>>2]=(w[b+1|0]<<8)+d;break;default:break a}}b=w[(b+c|0)-1|0];if(!b){v[a+4>>2]=0;return-20}v[a+4>>2]=(E(b)-(c<<3)|0)+9;return c}function Fa(){var a=0,b=0;a=ea(160168);if(!a){return 0}v[a+28924>>2]=0;v[a+28916>>2]=0;v[a+28920>>2]=0;v[a+28980>>2]=134217729;v[a+28936>>2]=0;v[a+28908>>2]=0;v[a+28948>>2]=0;v[a+160164>>2]=0;v[a+29004>>2]=0;v[a+29008>>2]=0;v[a+28988>>2]=0;v[a+28740>>2]=0;v[a+29020>>2]=0;v[a+29024>>2]=0;v[a+28940>>2]=0;v[a+28944>>2]=0;v[a+28956>>2]=0;v[a+28960>>2]=0;b=a+28964|0;v[b>>2]=0;v[b+4>>2]=0;v[a+28972>>2]=0;return a|0}function Ha(a,b,c){var d=0,e=0,f=0,g=0;g=c&63;f=g;d=f&31;if(f>>>0>=32){d=-1>>>d|0}else{e=-1>>>d|0;d=(1<>>d}f=d&a;d=b&e;e=g&31;if(g>>>0>=32){d=f<>>32-e|d<>>0>=32){d=-1<>>32-c|-1<>>0>=32){c=0;a=d>>>b|0}else{c=d>>>b|0;a=((1<>>b}a=a|g;R=c|f;return a} -function Ba(a){a=a|0;var b=0,c=0,d=0,e=0;v[a+29020>>2]=0;v[a+28964>>2]=0;b=v[a+28944>>2];a:{if(!b){break a}d=v[b+26692>>2];c=v[b+26688>>2];b:{c:{e=v[b>>2];if(e){if(!c){break c}S[c|0](d,e);S[c|0](d,b);break a}if(!c){break b}S[c|0](d,b);break a}Y(e)}Y(b)}v[a+28960>>2]=0;v[a+28944>>2]=0;v[a+28948>>2]=0;return(v[a+28908>>2]?1:5)|0}function Ga(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;e=c>>>16|0;f=a>>>16|0;j=B(e,f);g=c&65535;h=a&65535;i=B(g,h);f=(i>>>16|0)+B(f,g)|0;e=(f&65535)+B(e,h)|0;R=(B(b,c)+j|0)+B(a,d)+(f>>>16)+(e>>>16)|0;return i&65535|e<<16}function sa(){var a=0,b=0,c=0;while(1){b=a<<4;c=b+4832|0;v[b+4836>>2]=c;v[b+4840>>2]=c;a=a+1|0;if((a|0)!=64){continue}break}fa(48)}function ya(a){a=a|0;return a>>>0>4294967176|0}function ua(a){a=a|0;a=Q-a&-16;Q=a;return a|0}function za(a){a=a|0;return ea(a)|0}function Da(){return 131075}function Ca(){return 131072}function xa(a){a=a|0;Y(a)}function wa(){return Q|0}function va(a){a=a|0;Q=a} +function na(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,A=0,B=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0,S=0,T=0,V=0,Y=0;i=O-192|0;O=i;f=a+28760|0;g=w[f>>2];f=w[f+4>>2];P=!f&g>>>0>33554432|(f|0)!=0;g=-72;a:{if(e>>>0>131071){break a}n=-20;b:{c:{if(e>>>0<3){break c}d:{e:{f:{g:{j=x[d|0];B=j&3;switch(B-1|0){case 0:break d;case 1:break f;case 2:break g;default:break e}}if(w[a+28808>>2]){break f}g=-30;break b}if(e>>>0<5){break c}l=3;g=x[d|0]|x[d+1|0]<<8|(x[d+2|0]<<16|x[d+3|0]<<24);h:{i:{j:{k:{k=j>>>2&3;switch(k-2|0){case 0:break j;case 1:break i;default:break k}}f=g>>>14&1023;j=g>>>4&1023;g=!k;break h}f=g>>>18|0;l=4;j=g>>>4&16383;g=0;break h}j=g>>>4&262143;if(j>>>0>131072){break c}f=x[d+4|0]<<10|g>>>22;l=5;g=0}q=f+l|0;if(q>>>0>e>>>0){break c}h=g;l:{if(!w[a+28956>>2]|j>>>0<769){break l}g=0;while(1){if(g>>>0>16323){break l}g=g+512|0;continue}}m:{if((B|0)==3){k=d+l|0;l=a+29040|0;g=w[a+12>>2];if(h){o=g;n:{if(x[g+1|0]){g=-72;o:{if(!f){break o}p:{q:{r:{if(f>>>0>=4){v=x[(f+k|0)-1|0];g=-1;if(!v){break p}if(f>>>0<=4294967176){break r}g=f;break o}h=x[k|0];s:{switch(f-2|0){case 1:h=x[k+2|0]<<16|h;case 0:h=(x[k+1|0]<<8)+h|0;break;default:break s}}v=x[(f+k|0)-1|0];g=-20;if(!v){break o}f=(F(v)-(f<<3)|0)+9|0;break q}p=f-4|0;f=k+p|0;h=x[f|0]|x[f+1|0]<<8|(x[f+2|0]<<16|x[f+3|0]<<24);f=F(v)-23|0}v=o+4|0;A=j+l|0;E=A-3|0;m=0-y[o+2>>1]&31;t:{u:{while(1){v:{if((p|0)>=4){h=f>>>3|0;r=0;g=f&7;break v}if(!p){r=A-2|0;p=0;o=k;g=f;break u}g=f>>>3|0;r=k>>>0>(k+p|0)-g>>>0;h=r?p:g;g=f-(h<<3)|0}p=p-h|0;o=k+p|0;h=x[o|0]|x[o+1|0]<<8|(x[o+2|0]<<16|x[o+3|0]<<24);if(!(!r&l>>>0>>0)){r=A-2|0;if(g>>>0<=32){break u}f=g;break t}f=v+(h<>>m<<2)|0;r=y[f>>1];u[l|0]=r;u[l+1|0]=r>>>8;l=x[f+3|0]+l|0;g=x[f+2|0]+g|0;f=v+(h<>>m<<2)|0;r=y[f>>1];u[l|0]=r;u[l+1|0]=r>>>8;l=l+x[f+3|0]|0;f=g+x[f+2|0]|0;if(f>>>0<33){continue}break}r=A-2|0;break t}while(1){w:{if((p|0)>=4){f=g&7;h=g>>>3|0;g=0;break w}if(!p){f=g;break t}f=g;h=f>>>3|0;g=k>>>0>o-h>>>0;h=g?p:h;f=f-(h<<3)|0}p=p-h|0;o=k+p|0;h=x[o|0]|x[o+1|0]<<8|(x[o+2|0]<<16|x[o+3|0]<<24);if(g|l>>>0>r>>>0){break t}g=v+(h<>>m<<2)|0;E=y[g>>1];u[l|0]=E;u[l+1|0]=E>>>8;l=x[g+3|0]+l|0;g=x[g+2|0]+f|0;if(g>>>0<=32){continue}break}f=g}if(l>>>0<=r>>>0){while(1){g=v+(h<>>m<<2)|0;p=y[g>>1];u[l|0]=p;u[l+1|0]=p>>>8;f=x[g+2|0]+f|0;l=x[g+3|0]+l|0;if(r>>>0>=l>>>0){continue}break}}x:{if(l>>>0>=A>>>0){break x}p=l;l=h<>>m|0;g=v+(l<<2)|0;u[p|0]=x[g|0];if(x[g+3|0]==1){f=x[g+2|0]+f|0;break x}if(f>>>0>31){break x}f=x[(v+(l<<2)|0)+2|0]+f|0;f=f>>>0>=32?32:f}g=(k|0)!=(o|0)?-20:(f|0)!=32?-20:j}}break n}g=ia(l,j,k,f,o)}break m}y:{if(x[g+1|0]){g=oa(l,j,k,f,g);break y}g=ha(l,j,k,f,g)}break m}o=a+26680|0;k=d+l|0;v=a+29040|0;p=a+10280|0;if(h){g=ja(p,k,f,o);if(g>>>0>4294967176){break m}if(f>>>0>g>>>0){g=ia(v,j,g+k|0,f-g|0,p)}else{g=-72}break m}g=-70;z:{if(!j){break z}g=-20;if(!f){break z}l=j>>>8|0;g=C(f>>>0>=j>>>0?15:(f<<4>>>0)/(j>>>0)|0,24);h=C(l,w[g+1884>>2])+w[g+1880>>2]|0;A:{if((h>>>3|0)+h>>>0>2]+C(l,w[g+1876>>2])>>>0){g=fa(p,k,f,o,2048);if(g>>>0>4294967176){break z}l=-72;if(f>>>0<=g>>>0){break A}g=oa(v,j,g+k|0,f-g|0,p);break z}g=ja(p,k,f,o);if(g>>>0>4294967176){break z}l=-72;if(f>>>0<=g>>>0){break A}l=ha(v,j,g+k|0,f-g|0,p)}g=l}}if(g>>>0>4294967176){break c}w[a+28928>>2]=j;w[a+28808>>2]=1;f=a+29040|0;w[a+28912>>2]=f;if((B|0)==2){w[a+12>>2]=a+10280}f=f+j|0;u[f|0]=0;u[f+1|0]=0;u[f+2|0]=0;u[f+3|0]=0;u[f+4|0]=0;u[f+5|0]=0;u[f+6|0]=0;u[f+7|0]=0;u[f+24|0]=0;u[f+25|0]=0;u[f+26|0]=0;u[f+27|0]=0;u[f+28|0]=0;u[f+29|0]=0;u[f+30|0]=0;u[f+31|0]=0;u[f+16|0]=0;u[f+17|0]=0;u[f+18|0]=0;u[f+19|0]=0;u[f+20|0]=0;u[f+21|0]=0;u[f+22|0]=0;u[f+23|0]=0;u[f+8|0]=0;u[f+9|0]=0;u[f+10|0]=0;u[f+11|0]=0;u[f+12|0]=0;u[f+13|0]=0;u[f+14|0]=0;u[f+15|0]=0;g=q;break b}f=2;B:{C:{switch((j>>>2&3)-1|0){default:f=1;j=j>>>3|0;break B;case 0:j=(x[d|0]|x[d+1|0]<<8)>>>4|0;break B;case 2:break C}}f=3;j=(x[d|0]|x[d+1|0]<<8|x[d+2|0]<<16)>>>4|0}g=f+j|0;if(g+32>>>0>e>>>0){if(e>>>0>>0){break c}f=U(a+29040|0,d+f|0,j);w[a+28928>>2]=j;w[a+28912>>2]=f;f=f+j|0;u[f+24|0]=0;u[f+25|0]=0;u[f+26|0]=0;u[f+27|0]=0;u[f+28|0]=0;u[f+29|0]=0;u[f+30|0]=0;u[f+31|0]=0;u[f+16|0]=0;u[f+17|0]=0;u[f+18|0]=0;u[f+19|0]=0;u[f+20|0]=0;u[f+21|0]=0;u[f+22|0]=0;u[f+23|0]=0;u[f+8|0]=0;u[f+9|0]=0;u[f+10|0]=0;u[f+11|0]=0;u[f+12|0]=0;u[f+13|0]=0;u[f+14|0]=0;u[f+15|0]=0;u[f|0]=0;u[f+1|0]=0;u[f+2|0]=0;u[f+3|0]=0;u[f+4|0]=0;u[f+5|0]=0;u[f+6|0]=0;u[f+7|0]=0;break b}w[a+28928>>2]=j;w[a+28912>>2]=d+f;break b}f=2;D:{E:{switch((j>>>2&3)-1|0){default:f=1;g=j>>>3|0;break D;case 0:g=(x[d|0]|x[d+1|0]<<8)>>>4|0;break D;case 2:break E}}if(e>>>0<4){break c}g=x[d|0]|x[d+1|0]<<8|x[d+2|0]<<16;if(g>>>0>2097167){break c}f=3;g=g>>>4|0}j=X(a+29040|0,x[d+f|0],g+32|0);w[a+28928>>2]=g;w[a+28912>>2]=j;n=f+1|0}g=n}if(g>>>0>4294967176){break a}l=w[a+28956>>2];f=d;d=g>>>0<4294967177?g:0;h=f+d|0;f=h;j=-72;k=e-d|0;g=k;F:{G:{if(!g){break G}e=x[f|0];if(!e){w[i+40>>2]=0;d=(g|0)==1?1:-72;break F}n=e<<24>>24;d=f+1|0;H:{if((n|0)>=0){break H}if((n|0)==-1){if((g|0)<3){break G}e=(x[f+1|0]|x[f+2|0]<<8)+32512|0;d=f+3|0;break H}if((g|0)<2){break G}e=(x[f+1|0]|e<<8)-32768|0;d=f+2|0}w[i+40>>2]=e;n=d+1|0;g=f+g|0;if(n>>>0>g>>>0){break G}j=-20;d=x[d|0];p=da(a+16|0,a,d>>>6|0,35,9,n,g-n|0,2960,3104,3264,w[a+28812>>2],w[a+28956>>2],e);if(p>>>0>4294967176){break G}n=n+p|0;p=da(a+4120|0,a+8|0,d>>>4&3,31,8,n,g-n|0,2256,2384,3792,w[a+28812>>2],w[a+28956>>2],e);if(p>>>0>4294967176){break G}o=d>>>2&3;d=n+p|0;e=da(a+6176|0,a+4|0,o,52,9,d,g-d|0,2512,2736,4064,w[a+28812>>2],w[a+28956>>2],e);if(e>>>0>4294967176){break G}j=(d+e|0)-f|0}d=j}if(d>>>0>4294967176){g=d;break a}A=w[i+40>>2];if(!b){g=-70;if((A|0)>0){break a}}f=k-d|0;m=d+h|0;I:{J:{K:{if(l){w[a+28956>>2]=0;break K}e=a+28760|0;g=w[e>>2];if(!w[e+4>>2]&g>>>0<16777217|(A|0)<=4){break J}e=w[a+8>>2];n=e+10|0;j=w[e+4>>2];g=0;e=0;while(1){g=(x[n+(e<<3)|0]>22)+g|0;e=e+1|0;if(!(e>>>j|0)){continue}break}w[a+28956>>2]=0;if(g<<8-j>>>0<20){break I}}e=w[a+28912>>2];w[i+188>>2]=e;E=b+c|0;G=w[a+28928>>2]+e|0;c=b;if(A){B=w[a+28740>>2];L=w[a+28736>>2];l=w[a+28732>>2];w[a+28812>>2]=1;w[i+96>>2]=w[a+26676>>2];v=a+26668|0;c=v;e=w[c+4>>2];w[i+88>>2]=w[c>>2];w[i+92>>2]=e;w[i+104>>2]=B;w[i+100>>2]=l;H=b-l|0;w[i+108>>2]=H;g=-20;if((d|0)==(k|0)){break a}w[i+56>>2]=m;w[i+60>>2]=m+4;L:{if(f>>>0>=4){e=f-4|0;c=m+e|0;w[i+52>>2]=c;h=x[c|0]|x[c+1|0]<<8|(x[c+2|0]<<16|x[c+3|0]<<24);w[i+44>>2]=h;if(h>>>0<16777216|f>>>0>4294967176){break a}d=F(h>>>24|0)-23|0;break L}w[i+52>>2]=m;h=x[m|0];w[i+44>>2]=h;M:{switch(f-2|0){case 1:h=x[m+2|0]<<16|h;case 0:h=(x[m+1|0]<<8)+h|0;w[i+44>>2]=h;break;default:break M}}c=x[(f+m|0)-1|0];if(!c){break a}d=(F(c)-(f<<3)|0)+9|0;w[i+48>>2]=d;e=0}f=w[a>>2];c=w[f+4>>2];d=c+d|0;k=h>>>0-d&w[(c<<2)+4592>>2];w[i+64>>2]=k;N:{if(d>>>0>32){break N}O:{if((e|0)>=4){e=e-(d>>>3|0)|0;w[i+52>>2]=m+e;d=d&7;break O}if(!e){e=0;break N}c=d>>>3|0;c=m>>>0>(e+m|0)-c>>>0?e:c;e=e-c|0;w[i+52>>2]=m+e;d=d-(c<<3)|0}c=e+m|0;h=x[c|0]|x[c+1|0]<<8|(x[c+2|0]<<16|x[c+3|0]<<24);w[i+44>>2]=h}j=(A|0)<4;Q=f+8|0;w[i+68>>2]=Q;f=w[a+8>>2];c=w[f+4>>2];d=c+d|0;r=h>>>0-d&w[(c<<2)+4592>>2];w[i+72>>2]=r;P:{if(d>>>0>32){break P}Q:{if((e|0)>=4){e=e-(d>>>3|0)|0;w[i+52>>2]=m+e;d=d&7;break Q}if(!e){e=0;break P}c=d>>>3|0;c=m>>>0>(e+m|0)-c>>>0?e:c;e=e-c|0;w[i+52>>2]=m+e;d=d-(c<<3)|0}c=e+m|0;h=x[c|0]|x[c+1|0]<<8|(x[c+2|0]<<16|x[c+3|0]<<24);w[i+44>>2]=h}K=j?A:4;R=f+8|0;w[i+76>>2]=R;c=w[a+4>>2];a=w[c+4>>2];d=a+d|0;w[i+48>>2]=d;t=w[(a<<2)+4592>>2]&h>>>0-d;w[i+80>>2]=t;R:{S:{if(d>>>0>=33){w[i+84>>2]=c+8;break S}T:{if((e|0)>=4){a=d&7;w[i+48>>2]=a;e=e-(d>>>3|0)|0;d=m+e|0;w[i+52>>2]=d;h=x[d|0]|x[d+1|0]<<8|(x[d+2|0]<<16|x[d+3|0]<<24);w[i+84>>2]=c+8;w[i+44>>2]=h;d=a;break T}if(!e){w[i+84>>2]=c+8;e=0;break T}a=d>>>3|0;a=m>>>0>(e+m|0)-a>>>0?e:a;d=d-(a<<3)|0;w[i+48>>2]=d;e=e-a|0;a=m+e|0;w[i+52>>2]=a;h=x[a|0]|x[a+1|0]<<8|(x[a+2|0]<<16|x[a+3|0]<<24);w[i+84>>2]=c+8;w[i+44>>2]=h;if(d>>>0>32){break S}}q=(K|0)>0?K:0;V=c+8|0;n=w[i+92>>2];f=w[i+88>>2];while(1){U:{V:{if((e|0)>=4){a=d&7;w[i+48>>2]=a;e=e-(d>>>3|0)|0;c=m+e|0;w[i+52>>2]=c;h=x[c|0]|x[c+1|0]<<8|(x[c+2|0]<<16|x[c+3|0]<<24);break V}if(!e){e=0;a=d;break U}a=d>>>3|0;c=m>>>0>(e+m|0)-a>>>0?e:a;a=d-(c<<3)|0;w[i+48>>2]=a;e=e-c|0;c=m+e|0;w[i+52>>2]=c;h=x[c|0]|x[c+1|0]<<8|(x[c+2|0]<<16|x[c+3|0]<<24)}w[i+44>>2]=h}if((q|0)==(s|0)){d=a;s=q;break R}c=(k<<3)+Q|0;k=w[c>>2];c=w[c+4>>2];S=(c&65535)<<16|k>>>16;D=S&255;j=(t<<3)+V|0;d=w[j>>2];j=w[j+4>>2];p=j;T=(j&65535)<<16|d>>>16;I=T&255;j=(r<<3)+R|0;o=w[j>>2];r=p;p=c;j=w[j+4>>2];t=(j&65535)<<16|o>>>16;c=t&255;W:{X:{Y:{if(c>>>0>=2){M=e+m|0;if(!(!P|c>>>0<25)){N=32-a|0;J=c>>>0>N>>>0?N:c;t=c-J|0;Y=h<>>0-J<>>0>32){break Z}_:{if((e|0)>=4){e=e-(a>>>3|0)|0;w[i+52>>2]=m+e;a=a&7;break _}if(!e){e=0;break Z}J=e;e=a>>>3|0;h=m>>>0>M-e>>>0?J:e;e=J-h|0;w[i+52>>2]=m+e;a=a-(h<<3)|0}h=e+m|0;h=x[h|0]|x[h+1|0]<<8|(x[h+2|0]<<16|x[h+3|0]<<24);w[i+44>>2]=h}j=j+Y|0;if(c>>>0<=N>>>0){break Y}j=(h<>>0-t|0)+j|0;a=a+t|0;break Y}j=j+(h<>>0-t|0)|0;c=a+c|0;if(c>>>0>32){a=c;break Y}if((e|0)>=4){a=c&7;w[i+48>>2]=a;e=e-(c>>>3|0)|0;c=m+e|0;w[i+52>>2]=c;h=x[c|0]|x[c+1|0]<<8|(x[c+2|0]<<16|x[c+3|0]<<24);w[i+44>>2]=h;break Y}if(!e){e=0;a=c;break Y}h=c;a=c>>>3|0;c=m>>>0>M-a>>>0?e:a;a=h-(c<<3)|0;w[i+48>>2]=a;e=e-c|0;c=m+e|0;w[i+52>>2]=c;h=x[c|0]|x[c+1|0]<<8|(x[c+2|0]<<16|x[c+3|0]<<24);w[i+44>>2]=h;break Y}if(!c){j=n;if(!p){break X}break W}c=a+1|0;t=j+(!p+(h<>>31|0)|0)|0;if((t|0)==3){a=f-1|0;j=!a+a|0;a=c;break Y}a=w[((t<<2)+i|0)+88>>2];j=!a+a|0;a=c;if((t|0)==1){break X}}w[i+96>>2]=n}w[i+88>>2]=j;w[i+92>>2]=f;n=f;f=j}j=r;if(d&16711680){j=(h<>>0-T|0)+j|0;a=a+I|0}$:{if(D+I>>>0<20|a>>>0>32){break $}aa:{if((e|0)>=4){e=e-(a>>>3|0)|0;w[i+52>>2]=m+e;a=a&7;break aa}if(!e){e=0;break $}c=a>>>3|0;c=m>>>0>(e+m|0)-c>>>0?e:c;e=e-c|0;w[i+52>>2]=m+e;a=a-(c<<3)|0}w[i+48>>2]=a;c=e+m|0;h=x[c|0]|x[c+1|0]<<8|(x[c+2|0]<<16|x[c+3|0]<<24);w[i+44>>2]=h}if(k&16711680){p=(h<>>0-S|0)+p|0;a=a+D|0}D=s<<4;r=d>>>24|0;t=k>>>24|0;ba:{if(a>>>0>32){break ba}ca:{if((e|0)>=4){e=e-(a>>>3|0)|0;w[i+52>>2]=m+e;a=a&7;break ca}if(!e){e=0;break ba}c=a>>>3|0;c=m>>>0>(e+m|0)-c>>>0?e:c;e=e-c|0;w[i+52>>2]=m+e;a=a-(c<<3)|0}c=e+m|0;h=x[c|0]|x[c+1|0]<<8|(x[c+2|0]<<16|x[c+3|0]<<24);w[i+44>>2]=h}c=D+(i+112|0)|0;D=p+H|0;H=D+j|0;w[i+108>>2]=H;a=a+t|0;k=(w[(t<<2)+4592>>2]&h>>>0-a)+(k&65535)|0;w[i+64>>2]=k;a=a+r|0;t=(w[(r<<2)+4592>>2]&h>>>0-a)+(d&65535)|0;w[i+80>>2]=t;D=(D+(f>>>0>D>>>0?B:l)|0)-f|0;da:{if(a>>>0>32){break da}ea:{if((e|0)>=4){e=e-(a>>>3|0)|0;w[i+52>>2]=m+e;a=a&7;break ea}if(!e){e=0;break da}d=a>>>3|0;d=m>>>0>(e+m|0)-d>>>0?e:d;e=e-d|0;w[i+52>>2]=m+e;a=a-(d<<3)|0}d=e+m|0;h=x[d|0]|x[d+1|0]<<8|(x[d+2|0]<<16|x[d+3|0]<<24);w[i+44>>2]=h}d=a;a=o>>>24|0;d=d+a|0;w[i+48>>2]=d;r=(w[(a<<2)+4592>>2]&h>>>0-d)+(o&65535)|0;w[i+72>>2]=r;w[c+12>>2]=D;w[c+8>>2]=f;w[c+4>>2]=j;w[c>>2]=p;s=s+1|0;if(d>>>0<=32){continue}break}}if((s|0)<(K|0)){break a}}M=E-32|0;c=b;fa:{while(1){if(d>>>0>=33){if((s|0)<(A|0)){break a}break fa}a=w[i+52>>2];m=w[i+60>>2];ga:{if(a>>>0>=m>>>0){f=d&7;w[i+48>>2]=f;a=a-(d>>>3|0)|0;w[i+52>>2]=a;w[i+44>>2]=x[a|0]|x[a+1|0]<<8|(x[a+2|0]<<16|x[a+3|0]<<24);break ga}e=w[i+56>>2];if((e|0)==(a|0)){f=d;break ga}f=d>>>3|0;e=e>>>0>a-f>>>0?a-e|0:f;a=a-e|0;w[i+52>>2]=a;f=d-(e<<3)|0;w[i+48>>2]=f;w[i+44>>2]=x[a|0]|x[a+1|0]<<8|(x[a+2|0]<<16|x[a+3|0]<<24)}if((s|0)>=(A|0)){break fa}d=w[i+68>>2]+(w[i+64>>2]<<3)|0;j=w[d>>2];d=w[d+4>>2];n=d;N=(d&65535)<<16|j>>>16;H=N&255;d=w[i+84>>2]+(w[i+80>>2]<<3)|0;k=w[d>>2];d=w[d+4>>2];e=d;J=(e&65535)<<16|k>>>16;D=J&255;d=w[i+76>>2]+(w[i+72>>2]<<3)|0;o=w[d>>2];h=e;d=w[d+4>>2];e=(d&65535)<<16|o>>>16;q=e&255;ha:{if(q>>>0>=2){ia:{if(!(!P|q>>>0<25)){I=32-f|0;e=q>>>0>I>>>0?I:q;t=q-e|0;r=w[i+44>>2];p=r<>>0-e<>>0>32){break ja}ka:{if(a>>>0>=m>>>0){a=a-(e>>>3|0)|0;w[i+52>>2]=a;e=e&7;break ka}f=w[i+56>>2];if((f|0)==(a|0)){break ja}r=e>>>3|0;f=f>>>0>a-r>>>0?a-f|0:r;a=a-f|0;w[i+52>>2]=a;e=e-(f<<3)|0}r=x[a|0]|x[a+1|0]<<8|(x[a+2|0]<<16|x[a+3|0]<<24);w[i+44>>2]=r}p=d+p|0;if(q>>>0<=I>>>0){break ia}p=(r<>>0-t|0)+p|0;e=e+t|0;break ia}p=d+(w[i+44>>2]<>>0-e|0)|0;d=f+q|0;if(d>>>0>32){e=d;break ia}if(a>>>0>=m>>>0){e=d&7;w[i+48>>2]=e;a=a-(d>>>3|0)|0;w[i+52>>2]=a;w[i+44>>2]=x[a|0]|x[a+1|0]<<8|(x[a+2|0]<<16|x[a+3|0]<<24);break ia}e=w[i+56>>2];if((e|0)==(a|0)){e=d;break ia}f=d>>>3|0;e=e>>>0>a-f>>>0?a-e|0:f;a=a-e|0;w[i+52>>2]=a;e=d-(e<<3)|0;w[i+48>>2]=e;w[i+44>>2]=x[a|0]|x[a+1|0]<<8|(x[a+2|0]<<16|x[a+3|0]<<24)}d=w[i+92>>2];f=w[i+88>>2];w[i+88>>2]=p;w[i+92>>2]=f;w[i+96>>2]=d;break ha}if(!q){if(n){p=w[i+88>>2];e=f;break ha}p=w[i+92>>2];w[i+92>>2]=w[i+88>>2];w[i+88>>2]=p;e=f;break ha}e=f+1|0;w[i+48>>2]=e;d=d+!n+(w[i+44>>2]<>>31)|0;la:{ma:{if((d|0)==3){d=w[i+88>>2]-1|0;p=!d+d|0;break ma}f=w[((d<<2)+i|0)+88>>2];p=!f+f|0;if((d|0)==1){break la}}w[i+96>>2]=w[i+92>>2]}w[i+92>>2]=w[i+88>>2];w[i+88>>2]=p}f=h;if(k&16711680){f=(w[i+44>>2]<>>0-J|0)+f|0;e=e+D|0}na:{if(D+H>>>0<20|e>>>0>32){break na}oa:{if(a>>>0>=m>>>0){a=a-(e>>>3|0)|0;w[i+52>>2]=a;e=e&7;break oa}d=w[i+56>>2];if((d|0)==(a|0)){break na}h=e>>>3|0;d=d>>>0>a-h>>>0?a-d|0:h;a=a-d|0;w[i+52>>2]=a;e=e-(d<<3)|0}w[i+48>>2]=e;w[i+44>>2]=x[a|0]|x[a+1|0]<<8|(x[a+2|0]<<16|x[a+3|0]<<24)}d=k>>>24|0;q=j>>>24|0;if(j&16711680){n=(w[i+44>>2]<>>0-N|0)+n|0;e=e+H|0}pa:{if(e>>>0>32){break pa}qa:{if(a>>>0>=m>>>0){a=a-(e>>>3|0)|0;w[i+52>>2]=a;e=e&7;break qa}h=w[i+56>>2];if((h|0)==(a|0)){break pa}r=e>>>3|0;h=h>>>0>a-r>>>0?a-h|0:r;a=a-h|0;w[i+52>>2]=a;e=e-(h<<3)|0}w[i+44>>2]=x[a|0]|x[a+1|0]<<8|(x[a+2|0]<<16|x[a+3|0]<<24)}t=w[i+108>>2]+n|0;w[i+108>>2]=t+f;h=w[i+44>>2];e=e+q|0;w[i+64>>2]=(w[(q<<2)+4592>>2]&h>>>0-e)+(j&65535);e=d+e|0;w[i+80>>2]=(w[(d<<2)+4592>>2]&h>>>0-e)+(k&65535);H=w[(i+44|0)+(p>>>0>t>>>0?60:56)>>2];ra:{if(e>>>0>32){break ra}sa:{if(a>>>0>=m>>>0){a=a-(e>>>3|0)|0;w[i+52>>2]=a;e=e&7;break sa}d=w[i+56>>2];if((d|0)==(a|0)){break ra}j=e>>>3|0;d=d>>>0>a-j>>>0?a-d|0:j;a=a-d|0;w[i+52>>2]=a;e=e-(d<<3)|0}h=x[a|0]|x[a+1|0]<<8|(x[a+2|0]<<16|x[a+3|0]<<24);w[i+44>>2]=h}a=o>>>24|0;d=a+e|0;w[i+48>>2]=d;w[i+72>>2]=(w[(a<<2)+4592>>2]&h>>>0-d)+(o&65535);ta:{ua:{k=w[i+188>>2];d=(i+112|0)+((s&3)<<4)|0;o=w[d>>2];m=k+o|0;va:{if(m>>>0>G>>>0){break va}r=w[d+4>>2];j=o+r|0;if(M>>>0>>0){break va}if(j+32>>>0<=E-c>>>0){break ua}}a=w[d+12>>2];w[i+32>>2]=w[d+8>>2];w[i+36>>2]=a;a=w[d+4>>2];w[i+24>>2]=w[d>>2];w[i+28>>2]=a;j=ea(c,E,i+24|0,i+188|0,G,l,L,B);break ta}a=c+o|0;h=w[d+8>>2];e=x[k+4|0]|x[k+5|0]<<8|(x[k+6|0]<<16|x[k+7|0]<<24);q=x[k|0]|x[k+1|0]<<8|(x[k+2|0]<<16|x[k+3|0]<<24);u[c|0]=q;u[c+1|0]=q>>>8;u[c+2|0]=q>>>16;u[c+3|0]=q>>>24;u[c+4|0]=e;u[c+5|0]=e>>>8;u[c+6|0]=e>>>16;u[c+7|0]=e>>>24;e=x[k+12|0]|x[k+13|0]<<8|(x[k+14|0]<<16|x[k+15|0]<<24);q=x[k+8|0]|x[k+9|0]<<8|(x[k+10|0]<<16|x[k+11|0]<<24);u[c+8|0]=q;u[c+9|0]=q>>>8;u[c+10|0]=q>>>16;u[c+11|0]=q>>>24;u[c+12|0]=e;u[c+13|0]=e>>>8;u[c+14|0]=e>>>16;u[c+15|0]=e>>>24;if(o>>>0>=17){e=c+16|0;while(1){o=x[k+20|0]|x[k+21|0]<<8|(x[k+22|0]<<16|x[k+23|0]<<24);q=x[k+16|0]|x[k+17|0]<<8|(x[k+18|0]<<16|x[k+19|0]<<24);u[e|0]=q;u[e+1|0]=q>>>8;u[e+2|0]=q>>>16;u[e+3|0]=q>>>24;u[e+4|0]=o;u[e+5|0]=o>>>8;u[e+6|0]=o>>>16;u[e+7|0]=o>>>24;o=x[k+28|0]|x[k+29|0]<<8|(x[k+30|0]<<16|x[k+31|0]<<24);q=x[k+24|0]|x[k+25|0]<<8|(x[k+26|0]<<16|x[k+27|0]<<24);u[e+8|0]=q;u[e+9|0]=q>>>8;u[e+10|0]=q>>>16;u[e+11|0]=q>>>24;u[e+12|0]=o;u[e+13|0]=o>>>8;u[e+14|0]=o>>>16;u[e+15|0]=o>>>24;k=k+16|0;e=e+16|0;if(e>>>0>>0){continue}break}}e=a-h|0;w[i+188>>2]=m;if(h>>>0>a-l>>>0){if(h>>>0>a-L>>>0){break a}e=e-l|0;k=e+B|0;if(B>>>0>=k+r>>>0){W(a,k,r);break ta}r=e+r|0;a=W(a,k,0-e|0)-e|0;e=l}if(h>>>0>=16){o=a+r|0;while(1){k=x[e+4|0]|x[e+5|0]<<8|(x[e+6|0]<<16|x[e+7|0]<<24);h=x[e|0]|x[e+1|0]<<8|(x[e+2|0]<<16|x[e+3|0]<<24);u[a|0]=h;u[a+1|0]=h>>>8;u[a+2|0]=h>>>16;u[a+3|0]=h>>>24;u[a+4|0]=k;u[a+5|0]=k>>>8;u[a+6|0]=k>>>16;u[a+7|0]=k>>>24;k=x[e+12|0]|x[e+13|0]<<8|(x[e+14|0]<<16|x[e+15|0]<<24);h=x[e+8|0]|x[e+9|0]<<8|(x[e+10|0]<<16|x[e+11|0]<<24);u[a+8|0]=h;u[a+9|0]=h>>>8;u[a+10|0]=h>>>16;u[a+11|0]=h>>>24;u[a+12|0]=k;u[a+13|0]=k>>>8;u[a+14|0]=k>>>16;u[a+15|0]=k>>>24;e=e+16|0;a=a+16|0;if(o>>>0>a>>>0){continue}break}break ta}wa:{if(h>>>0<=7){u[a|0]=x[e|0];u[a+1|0]=x[e+1|0];u[a+2|0]=x[e+2|0];u[a+3|0]=x[e+3|0];h=h<<2;e=w[h+4752>>2]+e|0;k=x[e|0]|x[e+1|0]<<8|(x[e+2|0]<<16|x[e+3|0]<<24);u[a+4|0]=k;u[a+5|0]=k>>>8;u[a+6|0]=k>>>16;u[a+7|0]=k>>>24;e=e-w[h+4784>>2]|0;break wa}k=x[e+4|0]|x[e+5|0]<<8|(x[e+6|0]<<16|x[e+7|0]<<24);h=x[e|0]|x[e+1|0]<<8|(x[e+2|0]<<16|x[e+3|0]<<24);u[a|0]=h;u[a+1|0]=h>>>8;u[a+2|0]=h>>>16;u[a+3|0]=h>>>24;u[a+4|0]=k;u[a+5|0]=k>>>8;u[a+6|0]=k>>>16;u[a+7|0]=k>>>24}if(r>>>0<9){break ta}o=a+r|0;a=a+8|0;e=e+8|0;if((a-e|0)<=15){while(1){k=x[e+4|0]|x[e+5|0]<<8|(x[e+6|0]<<16|x[e+7|0]<<24);h=x[e|0]|x[e+1|0]<<8|(x[e+2|0]<<16|x[e+3|0]<<24);u[a|0]=h;u[a+1|0]=h>>>8;u[a+2|0]=h>>>16;u[a+3|0]=h>>>24;u[a+4|0]=k;u[a+5|0]=k>>>8;u[a+6|0]=k>>>16;u[a+7|0]=k>>>24;e=e+8|0;a=a+8|0;if(o>>>0>a>>>0){continue}break ta}}while(1){k=x[e+4|0]|x[e+5|0]<<8|(x[e+6|0]<<16|x[e+7|0]<<24);h=x[e|0]|x[e+1|0]<<8|(x[e+2|0]<<16|x[e+3|0]<<24);u[a|0]=h;u[a+1|0]=h>>>8;u[a+2|0]=h>>>16;u[a+3|0]=h>>>24;u[a+4|0]=k;u[a+5|0]=k>>>8;u[a+6|0]=k>>>16;u[a+7|0]=k>>>24;k=x[e+12|0]|x[e+13|0]<<8|(x[e+14|0]<<16|x[e+15|0]<<24);h=x[e+8|0]|x[e+9|0]<<8|(x[e+10|0]<<16|x[e+11|0]<<24);u[a+8|0]=h;u[a+9|0]=h>>>8;u[a+10|0]=h>>>16;u[a+11|0]=h>>>24;u[a+12|0]=k;u[a+13|0]=k>>>8;u[a+14|0]=k>>>16;u[a+15|0]=k>>>24;e=e+16|0;a=a+16|0;if(o>>>0>a>>>0){continue}break}}if(j>>>0<=4294967176){w[d+12>>2]=(t+H|0)-p;w[d+8>>2]=p;w[d+4>>2]=f;w[d>>2]=n;s=s+1|0;c=c+j|0;d=w[i+48>>2];continue}break}g=j;break a}n=s-K|0;if((A|0)>(n|0)){p=E-32|0;while(1){xa:{ya:{f=w[i+188>>2];e=(i+112|0)+((n&3)<<4)|0;k=w[e>>2];o=f+k|0;za:{if(o>>>0>G>>>0){break za}s=w[e+4>>2];d=k+s|0;if(p>>>0>>0){break za}if(d+32>>>0<=E-c>>>0){break ya}}a=w[e+12>>2];w[i+16>>2]=w[e+8>>2];w[i+20>>2]=a;a=w[e+4>>2];w[i+8>>2]=w[e>>2];w[i+12>>2]=a;d=ea(c,E,i+8|0,i+188|0,G,l,L,B);break xa}a=c+k|0;j=w[e+8>>2];e=x[f+4|0]|x[f+5|0]<<8|(x[f+6|0]<<16|x[f+7|0]<<24);h=x[f|0]|x[f+1|0]<<8|(x[f+2|0]<<16|x[f+3|0]<<24);u[c|0]=h;u[c+1|0]=h>>>8;u[c+2|0]=h>>>16;u[c+3|0]=h>>>24;u[c+4|0]=e;u[c+5|0]=e>>>8;u[c+6|0]=e>>>16;u[c+7|0]=e>>>24;e=x[f+12|0]|x[f+13|0]<<8|(x[f+14|0]<<16|x[f+15|0]<<24);h=x[f+8|0]|x[f+9|0]<<8|(x[f+10|0]<<16|x[f+11|0]<<24);u[c+8|0]=h;u[c+9|0]=h>>>8;u[c+10|0]=h>>>16;u[c+11|0]=h>>>24;u[c+12|0]=e;u[c+13|0]=e>>>8;u[c+14|0]=e>>>16;u[c+15|0]=e>>>24;if(k>>>0>=17){e=c+16|0;while(1){k=x[f+20|0]|x[f+21|0]<<8|(x[f+22|0]<<16|x[f+23|0]<<24);h=x[f+16|0]|x[f+17|0]<<8|(x[f+18|0]<<16|x[f+19|0]<<24);u[e|0]=h;u[e+1|0]=h>>>8;u[e+2|0]=h>>>16;u[e+3|0]=h>>>24;u[e+4|0]=k;u[e+5|0]=k>>>8;u[e+6|0]=k>>>16;u[e+7|0]=k>>>24;k=x[f+28|0]|x[f+29|0]<<8|(x[f+30|0]<<16|x[f+31|0]<<24);h=x[f+24|0]|x[f+25|0]<<8|(x[f+26|0]<<16|x[f+27|0]<<24);u[e+8|0]=h;u[e+9|0]=h>>>8;u[e+10|0]=h>>>16;u[e+11|0]=h>>>24;u[e+12|0]=k;u[e+13|0]=k>>>8;u[e+14|0]=k>>>16;u[e+15|0]=k>>>24;f=f+16|0;e=e+16|0;if(e>>>0>>0){continue}break}}e=a-j|0;w[i+188>>2]=o;if(j>>>0>a-l>>>0){if(j>>>0>a-L>>>0){break a}e=e-l|0;f=e+B|0;if(B>>>0>=f+s>>>0){W(a,f,s);break xa}s=e+s|0;a=W(a,f,0-e|0)-e|0;e=l}if(j>>>0>=16){s=a+s|0;while(1){f=x[e+4|0]|x[e+5|0]<<8|(x[e+6|0]<<16|x[e+7|0]<<24);j=x[e|0]|x[e+1|0]<<8|(x[e+2|0]<<16|x[e+3|0]<<24);u[a|0]=j;u[a+1|0]=j>>>8;u[a+2|0]=j>>>16;u[a+3|0]=j>>>24;u[a+4|0]=f;u[a+5|0]=f>>>8;u[a+6|0]=f>>>16;u[a+7|0]=f>>>24;f=x[e+12|0]|x[e+13|0]<<8|(x[e+14|0]<<16|x[e+15|0]<<24);j=x[e+8|0]|x[e+9|0]<<8|(x[e+10|0]<<16|x[e+11|0]<<24);u[a+8|0]=j;u[a+9|0]=j>>>8;u[a+10|0]=j>>>16;u[a+11|0]=j>>>24;u[a+12|0]=f;u[a+13|0]=f>>>8;u[a+14|0]=f>>>16;u[a+15|0]=f>>>24;e=e+16|0;a=a+16|0;if(s>>>0>a>>>0){continue}break}break xa}Aa:{if(j>>>0<=7){u[a|0]=x[e|0];u[a+1|0]=x[e+1|0];u[a+2|0]=x[e+2|0];u[a+3|0]=x[e+3|0];j=j<<2;e=w[j+4752>>2]+e|0;f=x[e|0]|x[e+1|0]<<8|(x[e+2|0]<<16|x[e+3|0]<<24);u[a+4|0]=f;u[a+5|0]=f>>>8;u[a+6|0]=f>>>16;u[a+7|0]=f>>>24;e=e-w[j+4784>>2]|0;break Aa}f=x[e+4|0]|x[e+5|0]<<8|(x[e+6|0]<<16|x[e+7|0]<<24);j=x[e|0]|x[e+1|0]<<8|(x[e+2|0]<<16|x[e+3|0]<<24);u[a|0]=j;u[a+1|0]=j>>>8;u[a+2|0]=j>>>16;u[a+3|0]=j>>>24;u[a+4|0]=f;u[a+5|0]=f>>>8;u[a+6|0]=f>>>16;u[a+7|0]=f>>>24}if(s>>>0<9){break xa}s=a+s|0;a=a+8|0;e=e+8|0;if((a-e|0)<=15){while(1){f=x[e+4|0]|x[e+5|0]<<8|(x[e+6|0]<<16|x[e+7|0]<<24);j=x[e|0]|x[e+1|0]<<8|(x[e+2|0]<<16|x[e+3|0]<<24);u[a|0]=j;u[a+1|0]=j>>>8;u[a+2|0]=j>>>16;u[a+3|0]=j>>>24;u[a+4|0]=f;u[a+5|0]=f>>>8;u[a+6|0]=f>>>16;u[a+7|0]=f>>>24;e=e+8|0;a=a+8|0;if(s>>>0>a>>>0){continue}break xa}}while(1){f=x[e+4|0]|x[e+5|0]<<8|(x[e+6|0]<<16|x[e+7|0]<<24);j=x[e|0]|x[e+1|0]<<8|(x[e+2|0]<<16|x[e+3|0]<<24);u[a|0]=j;u[a+1|0]=j>>>8;u[a+2|0]=j>>>16;u[a+3|0]=j>>>24;u[a+4|0]=f;u[a+5|0]=f>>>8;u[a+6|0]=f>>>16;u[a+7|0]=f>>>24;f=x[e+12|0]|x[e+13|0]<<8|(x[e+14|0]<<16|x[e+15|0]<<24);j=x[e+8|0]|x[e+9|0]<<8|(x[e+10|0]<<16|x[e+11|0]<<24);u[a+8|0]=j;u[a+9|0]=j>>>8;u[a+10|0]=j>>>16;u[a+11|0]=j>>>24;u[a+12|0]=f;u[a+13|0]=f>>>8;u[a+14|0]=f>>>16;u[a+15|0]=f>>>24;e=e+16|0;a=a+16|0;if(s>>>0>a>>>0){continue}break}}if(d>>>0>4294967176){g=d;break a}c=c+d|0;n=n+1|0;if((A|0)!=(n|0)){continue}break}}d=w[i+92>>2];a=v;w[a>>2]=w[i+88>>2];w[a+4>>2]=d;w[a+8>>2]=w[i+96>>2];e=w[i+188>>2]}g=-70;a=G-e|0;if(a>>>0>E-c>>>0){break a}if(c){a=U(c,e,a)+a|0}else{a=0}g=a-b|0;break a}w[a+28956>>2]=0}e=f;f=O-112|0;O=f;g=w[a+28912>>2];w[f+92>>2]=g;d=b;v=b+c|0;r=w[a+28928>>2]+g|0;Ba:{Ca:{if(!A){c=d;break Ca}B=w[a+28740>>2];E=w[a+28736>>2];k=w[a+28732>>2];w[a+28812>>2]=1;w[f+76>>2]=w[a+26676>>2];p=a+26668|0;b=p;c=w[b+4>>2];w[f+68>>2]=w[b>>2];w[f+72>>2]=c;if(!e){s=-20;break Ba}w[f+36>>2]=m;w[f+40>>2]=m+4;Da:{Ea:{if(e>>>0>=4){g=e-4|0;b=m+g|0;w[f+32>>2]=b;c=x[b|0]|x[b+1|0]<<8|(x[b+2|0]<<16|x[b+3|0]<<24);w[f+24>>2]=c;if(c>>>0>=16777216){break Ea}s=-20;break Ba}w[f+32>>2]=m;c=x[m|0];w[f+24>>2]=c;Fa:{switch(e-2|0){case 1:c=x[m+2|0]<<16|c;case 0:c=(x[m+1|0]<<8)+c|0;w[f+24>>2]=c;break;default:break Fa}}b=x[(e+m|0)-1|0];if(!b){s=-20;break Ba}l=(F(b)-(e<<3)|0)+9|0;w[f+28>>2]=l;g=0;break Da}if(e>>>0>4294967176){s=-20;break Ba}l=F(c>>>24|0)-23|0}e=w[a>>2];b=w[e+4>>2];l=b+l|0;w[f+44>>2]=c>>>0-l&w[(b<<2)+4592>>2];Ga:{if(l>>>0>32){break Ga}Ha:{if((g|0)>=4){g=g-(l>>>3|0)|0;w[f+32>>2]=m+g;l=l&7;break Ha}if(!g){g=0;break Ga}b=l>>>3|0;b=m>>>0>(g+m|0)-b>>>0?g:b;g=g-b|0;w[f+32>>2]=m+g;l=l-(b<<3)|0}b=g+m|0;c=x[b|0]|x[b+1|0]<<8|(x[b+2|0]<<16|x[b+3|0]<<24);w[f+24>>2]=c}w[f+48>>2]=e+8;e=w[a+8>>2];b=w[e+4>>2];l=b+l|0;w[f+52>>2]=c>>>0-l&w[(b<<2)+4592>>2];Ia:{if(l>>>0>32){break Ia}Ja:{if((g|0)>=4){g=g-(l>>>3|0)|0;w[f+32>>2]=m+g;l=l&7;break Ja}if(!g){g=0;break Ia}b=l>>>3|0;b=m>>>0>(g+m|0)-b>>>0?g:b;g=g-b|0;w[f+32>>2]=m+g;l=l-(b<<3)|0}b=g+m|0;c=x[b|0]|x[b+1|0]<<8|(x[b+2|0]<<16|x[b+3|0]<<24);w[f+24>>2]=c}w[f+56>>2]=e+8;j=w[a+4>>2];a=w[j+4>>2];b=a+l|0;w[f+28>>2]=b;w[f+60>>2]=w[(a<<2)+4592>>2]&c>>>0-b;Ka:{if(b>>>0>32){break Ka}a=g+m|0;La:{if((g|0)>=4){e=a-(b>>>3|0)|0;w[f+32>>2]=e;b=b&7;break La}if(!g){break Ka}e=a;c=b>>>3|0;a=m>>>0>a-c>>>0?g:c;e=e-a|0;w[f+32>>2]=e;b=b-(a<<3)|0}w[f+28>>2]=b;w[f+24>>2]=x[e|0]|x[e+1|0]<<8|(x[e+2|0]<<16|x[e+3|0]<<24)}w[f- -64>>2]=j+8;H=v-32|0;c=d;while(1){a=w[f+48>>2]+(w[f+44>>2]<<3)|0;j=w[a>>2];a=w[a+4>>2];e=a;D=(a&65535)<<16|j>>>16;G=D&255;a=w[f+64>>2]+(w[f+60>>2]<<3)|0;n=w[a>>2];a=w[a+4>>2];I=(a&65535)<<16|n>>>16;L=I&255;g=w[f+56>>2]+(w[f+52>>2]<<3)|0;h=w[g>>2];o=a;g=w[g+4>>2];a=(g&65535)<<16|h>>>16;q=a&255;Ma:{if(q>>>0>=2){Na:{if(!(!P|q>>>0<25)){K=32-b|0;a=q>>>0>K>>>0?K:q;m=q-a|0;l=w[f+24>>2];M=l<>>0-a<>>0>32){break Oa}b=w[f+32>>2];Pa:{if(b>>>0>=z[f+40>>2]){b=b-(a>>>3|0)|0;w[f+32>>2]=b;a=a&7;break Pa}t=w[f+36>>2];if((t|0)==(b|0)){break Oa}l=a>>>3|0;l=t>>>0>b-l>>>0?b-t|0:l;b=b-l|0;w[f+32>>2]=b;a=a-(l<<3)|0}l=x[b|0]|x[b+1|0]<<8|(x[b+2|0]<<16|x[b+3|0]<<24);w[f+24>>2]=l}g=g+M|0;if(q>>>0<=K>>>0){break Na}g=(l<>>0-m|0)+g|0;a=a+m|0;break Na}g=g+(w[f+24>>2]<>>0-a|0)|0;b=b+q|0;if(b>>>0>32){a=b;break Na}l=w[f+32>>2];if(l>>>0>=z[f+40>>2]){a=b&7;w[f+28>>2]=a;b=l-(b>>>3|0)|0;w[f+32>>2]=b;w[f+24>>2]=x[b|0]|x[b+1|0]<<8|(x[b+2|0]<<16|x[b+3|0]<<24);break Na}a=w[f+36>>2];if((a|0)==(l|0)){a=b;break Na}q=b;b=b>>>3|0;b=a>>>0>l-b>>>0?l-a|0:b;a=q-(b<<3)|0;w[f+28>>2]=a;b=l-b|0;w[f+32>>2]=b;w[f+24>>2]=x[b|0]|x[b+1|0]<<8|(x[b+2|0]<<16|x[b+3|0]<<24)}b=w[f+72>>2];l=w[f+68>>2];w[f+68>>2]=g;w[f+72>>2]=l;w[f+76>>2]=b;break Ma}if(!q){if(e){g=w[f+68>>2];a=b;break Ma}g=w[f+72>>2];w[f+72>>2]=w[f+68>>2];w[f+68>>2]=g;a=b;break Ma}a=b+1|0;w[f+28>>2]=a;b=g+!e+(w[f+24>>2]<>>31)|0;Qa:{Ra:{if((b|0)==3){b=w[f+68>>2]-1|0;g=!b+b|0;break Ra}g=w[(f+(b<<2)|0)+68>>2];g=!g+g|0;if((b|0)==1){break Qa}}w[f+76>>2]=w[f+72>>2]}w[f+72>>2]=w[f+68>>2];w[f+68>>2]=g}l=o;if(n&16711680){l=(w[f+24>>2]<>>0-I|0)+l|0;a=a+L|0}Sa:{if(G+L>>>0<20|a>>>0>32){break Sa}b=w[f+32>>2];Ta:{if(b>>>0>=z[f+40>>2]){b=b-(a>>>3|0)|0;w[f+32>>2]=b;a=a&7;break Ta}o=w[f+36>>2];if((o|0)==(b|0)){break Sa}q=a>>>3|0;o=o>>>0>b-q>>>0?b-o|0:q;b=b-o|0;w[f+32>>2]=b;a=a-(o<<3)|0}w[f+28>>2]=a;w[f+24>>2]=x[b|0]|x[b+1|0]<<8|(x[b+2|0]<<16|x[b+3|0]<<24)}b=n;o=b>>>24|0;q=j>>>24|0;if(j&16711680){e=(w[f+24>>2]<>>0-D|0)+e|0;a=a+G|0}Ua:{if(a>>>0>32){break Ua}n=w[f+32>>2];Va:{if(n>>>0>=z[f+40>>2]){n=n-(a>>>3|0)|0;w[f+32>>2]=n;a=a&7;break Va}m=w[f+36>>2];if((m|0)==(n|0)){break Ua}G=a>>>3|0;m=m>>>0>n-G>>>0?n-m|0:G;n=n-m|0;w[f+32>>2]=n;a=a-(m<<3)|0}w[f+24>>2]=x[n|0]|x[n+1|0]<<8|(x[n+2|0]<<16|x[n+3|0]<<24)}n=w[f+24>>2];a=a+q|0;w[f+44>>2]=(w[(q<<2)+4592>>2]&n>>>0-a)+(j&65535);a=a+o|0;w[f+60>>2]=(w[(o<<2)+4592>>2]&n>>>0-a)+(b&65535);Wa:{if(a>>>0>32){break Wa}b=w[f+32>>2];Xa:{if(b>>>0>=z[f+40>>2]){n=b-(a>>>3|0)|0;w[f+32>>2]=n;a=a&7;break Xa}j=w[f+36>>2];if((j|0)==(b|0)){break Wa}o=b;n=a>>>3|0;b=j>>>0>b-n>>>0?b-j|0:n;n=o-b|0;w[f+32>>2]=n;a=a-(b<<3)|0}n=x[n|0]|x[n+1|0]<<8|(x[n+2|0]<<16|x[n+3|0]<<24);w[f+24>>2]=n}b=a;a=h>>>24|0;b=b+a|0;w[f+28>>2]=b;w[f+52>>2]=(w[(a<<2)+4592>>2]&n>>>0-b)+(h&65535);w[f+96>>2]=e;w[f+100>>2]=l;w[f+104>>2]=g;Ya:{Za:{b=w[f+92>>2];o=e+b|0;_a:{if(o>>>0>r>>>0){break _a}n=e+l|0;if(H>>>0>>0){break _a}if(n+32>>>0<=v-c>>>0){break Za}}a=w[f+108>>2];w[f+16>>2]=w[f+104>>2];w[f+20>>2]=a;a=w[f+100>>2];w[f+8>>2]=w[f+96>>2];w[f+12>>2]=a;n=ea(c,v,f+8|0,f+92|0,r,k,E,B);break Ya}a=c+e|0;j=x[b+4|0]|x[b+5|0]<<8|(x[b+6|0]<<16|x[b+7|0]<<24);h=x[b|0]|x[b+1|0]<<8|(x[b+2|0]<<16|x[b+3|0]<<24);u[c|0]=h;u[c+1|0]=h>>>8;u[c+2|0]=h>>>16;u[c+3|0]=h>>>24;u[c+4|0]=j;u[c+5|0]=j>>>8;u[c+6|0]=j>>>16;u[c+7|0]=j>>>24;j=x[b+12|0]|x[b+13|0]<<8|(x[b+14|0]<<16|x[b+15|0]<<24);h=x[b+8|0]|x[b+9|0]<<8|(x[b+10|0]<<16|x[b+11|0]<<24);u[c+8|0]=h;u[c+9|0]=h>>>8;u[c+10|0]=h>>>16;u[c+11|0]=h>>>24;u[c+12|0]=j;u[c+13|0]=j>>>8;u[c+14|0]=j>>>16;u[c+15|0]=j>>>24;if(e>>>0>=17){e=c+16|0;while(1){j=x[b+20|0]|x[b+21|0]<<8|(x[b+22|0]<<16|x[b+23|0]<<24);h=x[b+16|0]|x[b+17|0]<<8|(x[b+18|0]<<16|x[b+19|0]<<24);u[e|0]=h;u[e+1|0]=h>>>8;u[e+2|0]=h>>>16;u[e+3|0]=h>>>24;u[e+4|0]=j;u[e+5|0]=j>>>8;u[e+6|0]=j>>>16;u[e+7|0]=j>>>24;j=x[b+28|0]|x[b+29|0]<<8|(x[b+30|0]<<16|x[b+31|0]<<24);h=x[b+24|0]|x[b+25|0]<<8|(x[b+26|0]<<16|x[b+27|0]<<24);u[e+8|0]=h;u[e+9|0]=h>>>8;u[e+10|0]=h>>>16;u[e+11|0]=h>>>24;u[e+12|0]=j;u[e+13|0]=j>>>8;u[e+14|0]=j>>>16;u[e+15|0]=j>>>24;b=b+16|0;e=e+16|0;if(e>>>0>>0){continue}break}}e=a-g|0;w[f+92>>2]=o;if(a-k>>>0>>0){if(a-E>>>0>>0){n=-20;break Ya}b=e-k|0;e=b+B|0;if(B>>>0>=e+l>>>0){W(a,e,l);break Ya}a=W(a,e,0-b|0);l=b+l|0;w[f+100>>2]=l;e=k;a=a-b|0}if(g>>>0>=16){j=a+l|0;while(1){b=x[e+4|0]|x[e+5|0]<<8|(x[e+6|0]<<16|x[e+7|0]<<24);g=x[e|0]|x[e+1|0]<<8|(x[e+2|0]<<16|x[e+3|0]<<24);u[a|0]=g;u[a+1|0]=g>>>8;u[a+2|0]=g>>>16;u[a+3|0]=g>>>24;u[a+4|0]=b;u[a+5|0]=b>>>8;u[a+6|0]=b>>>16;u[a+7|0]=b>>>24;b=x[e+12|0]|x[e+13|0]<<8|(x[e+14|0]<<16|x[e+15|0]<<24);g=x[e+8|0]|x[e+9|0]<<8|(x[e+10|0]<<16|x[e+11|0]<<24);u[a+8|0]=g;u[a+9|0]=g>>>8;u[a+10|0]=g>>>16;u[a+11|0]=g>>>24;u[a+12|0]=b;u[a+13|0]=b>>>8;u[a+14|0]=b>>>16;u[a+15|0]=b>>>24;e=e+16|0;a=a+16|0;if(j>>>0>a>>>0){continue}break}break Ya}$a:{if(g>>>0<=7){u[a|0]=x[e|0];u[a+1|0]=x[e+1|0];u[a+2|0]=x[e+2|0];u[a+3|0]=x[e+3|0];g=g<<2;b=w[g+4752>>2]+e|0;e=x[b|0]|x[b+1|0]<<8|(x[b+2|0]<<16|x[b+3|0]<<24);u[a+4|0]=e;u[a+5|0]=e>>>8;u[a+6|0]=e>>>16;u[a+7|0]=e>>>24;e=b-w[g+4784>>2]|0;break $a}b=x[e+4|0]|x[e+5|0]<<8|(x[e+6|0]<<16|x[e+7|0]<<24);g=x[e|0]|x[e+1|0]<<8|(x[e+2|0]<<16|x[e+3|0]<<24);u[a|0]=g;u[a+1|0]=g>>>8;u[a+2|0]=g>>>16;u[a+3|0]=g>>>24;u[a+4|0]=b;u[a+5|0]=b>>>8;u[a+6|0]=b>>>16;u[a+7|0]=b>>>24}if(l>>>0<9){break Ya}j=a+l|0;a=a+8|0;e=e+8|0;if((a-e|0)<=15){while(1){b=x[e+4|0]|x[e+5|0]<<8|(x[e+6|0]<<16|x[e+7|0]<<24);g=x[e|0]|x[e+1|0]<<8|(x[e+2|0]<<16|x[e+3|0]<<24);u[a|0]=g;u[a+1|0]=g>>>8;u[a+2|0]=g>>>16;u[a+3|0]=g>>>24;u[a+4|0]=b;u[a+5|0]=b>>>8;u[a+6|0]=b>>>16;u[a+7|0]=b>>>24;e=e+8|0;a=a+8|0;if(j>>>0>a>>>0){continue}break Ya}}while(1){b=x[e+4|0]|x[e+5|0]<<8|(x[e+6|0]<<16|x[e+7|0]<<24);g=x[e|0]|x[e+1|0]<<8|(x[e+2|0]<<16|x[e+3|0]<<24);u[a|0]=g;u[a+1|0]=g>>>8;u[a+2|0]=g>>>16;u[a+3|0]=g>>>24;u[a+4|0]=b;u[a+5|0]=b>>>8;u[a+6|0]=b>>>16;u[a+7|0]=b>>>24;b=x[e+12|0]|x[e+13|0]<<8|(x[e+14|0]<<16|x[e+15|0]<<24);g=x[e+8|0]|x[e+9|0]<<8|(x[e+10|0]<<16|x[e+11|0]<<24);u[a+8|0]=g;u[a+9|0]=g>>>8;u[a+10|0]=g>>>16;u[a+11|0]=g>>>24;u[a+12|0]=b;u[a+13|0]=b>>>8;u[a+14|0]=b>>>16;u[a+15|0]=b>>>24;e=e+16|0;a=a+16|0;if(j>>>0>a>>>0){continue}break}}a=w[f+28>>2];ab:{if(a>>>0>32){b=a;break ab}e=w[f+32>>2];if(e>>>0>=z[f+40>>2]){b=a&7;w[f+28>>2]=b;a=e-(a>>>3|0)|0;w[f+32>>2]=a;w[f+24>>2]=x[a|0]|x[a+1|0]<<8|(x[a+2|0]<<16|x[a+3|0]<<24);break ab}b=w[f+36>>2];if((b|0)==(e|0)){b=a;break ab}g=a;a=a>>>3|0;a=b>>>0>e-a>>>0?e-b|0:a;b=g-(a<<3)|0;w[f+28>>2]=b;a=e-a|0;w[f+32>>2]=a;w[f+24>>2]=x[a|0]|x[a+1|0]<<8|(x[a+2|0]<<16|x[a+3|0]<<24)}a=n>>>0<4294967177;s=a?s:n;c=(a?n:0)+c|0;A=A-1|0;if(A){continue}break}if(s>>>0>4294967176){break Ba}if(b>>>0<=32){a=w[f+32>>2];if(a>>>0>=z[f+40>>2]){s=-20;break Ba}if((a|0)!=w[f+36>>2]){s=-20;break Ba}s=-20;if((b|0)!=32){break Ba}}b=w[f+72>>2];a=p;w[a>>2]=w[f+68>>2];w[a+4>>2]=b;w[a+8>>2]=w[f+76>>2];g=w[f+92>>2]}s=-70;a=r-g|0;if(a>>>0>v-c>>>0){break Ba}if(c){a=U(c,g,a)+a|0}else{a=0}s=a-d|0}O=f+112|0;g=s}O=i+192|0;return g}function xa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,y=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,R=0,S=0,T=0,W=0,aa=0;j=O-16|0;O=j;n=w[c+8>>2];k=w[c+4>>2];a:{if(n>>>0>k>>>0){d=-72;break a}e=w[b+8>>2];f=w[b+4>>2];if(e>>>0>f>>>0){d=-70;break a}g=w[b>>2];l=w[c>>2];if(!(!w[a+28964>>2]|w[a+29024>>2]!=1)){d=-104;if((g|0)!=w[a+29028>>2]|(e|0)!=w[a+29036>>2]|(f|0)!=w[a+29032>>2]){break a}}E=f+g|0;F=a+29028|0;r=a+4120|0;I=a+6176|0;u=a+26668|0;J=a+10280|0;K=a+16|0;m=a+28728|0;y=l+k|0;n=l+n|0;B=y-n|0;k=a+160144|0;v=a+28752|0;p=a+28988|0;D=a+28804|0;s=a+28972|0;A=a+160164|0;o=a+28856|0;f=n;M=e+g|0;l=M;b:{while(1){c:{d:{e:{f:{g=w[a+28964>>2];if((g|0)!=4){d=-1;g:{h:{i:{switch(g|0){case 3:d=w[D>>2];g=w[a+28744>>2];break d;case 1:d=w[a+29e3>>2];break h;case 2:break g;case 0:break i;default:break a}}w[a+28964>>2]=1;w[a+28992>>2]=0;w[a+28996>>2]=0;w[a+29012>>2]=0;w[a+29016>>2]=0;w[a+29e3>>2]=0;w[a+28976>>2]=0;w[F+8>>2]=w[b+8>>2];d=w[b+4>>2];w[F>>2]=w[b>>2];w[F+4>>2]=d;d=0}d=Z(v,k,d,w[a+28908>>2]);if(d>>>0>4294967176){break a}if(d){g=w[a+29e3>>2];e=d-g|0;h=y-f|0;if(e>>>0>h>>>0){if((f|0)!=(y|0)){U(g+k|0,f,h);g=h+w[a+29e3>>2]|0;w[a+29e3>>2]=g}w[c+8>>2]=w[c+4>>2];a=w[a+28908>>2]?2:6;d=((a>>>0>d>>>0?a:d)-g|0)+3|0;break a}U(g+k|0,f,e);w[a+29e3>>2]=d;f=e+f|0;continue}j:{d=w[a+28752>>2];g=w[a+28756>>2];if((d&g)==-1|w[a+28772>>2]==1){break j}L=E-l|0;if(!g&L>>>0>>0|g){break j}g=0;e=O-48|0;O=e;k:{if(!(((x[n|0]|x[n+1|0]<<8|(x[n+2|0]<<16|x[n+3|0]<<24))&-16)!=407710288|B>>>0<8)){d=x[n+4|0]|x[n+5|0]<<8|(x[n+6|0]<<16|x[n+7|0]<<24);w[j+8>>2]=0;w[j+12>>2]=0;w[j+4>>2]=0;g=d+8|0;w[j>>2]=d>>>0>4294967287?-14:g>>>0>B>>>0?-72:g;break k}d=Z(e+8|0,n,B,0);if(d>>>0>=4294967177){w[j+8>>2]=-2;w[j+12>>2]=-1;w[j>>2]=d;break k}if(d){w[j+8>>2]=-2;w[j+12>>2]=-1;w[j>>2]=-72;break k}h=w[e+32>>2];d=B-h|0;h=h+n|0;l:{while(1){if(d>>>0<3){i=-72;break l}i=-20;m:{n:{q=x[h|0]|x[h+1|0]<<8;G=q>>>1&3;switch(G-1|0){case 2:break l;case 0:break m;default:break n}}G=(q|x[h+2|0]<<16)>>>3|0}i=G+3|0;if(i>>>0>d>>>0){w[j+8>>2]=-2;w[j+12>>2]=-1;w[j>>2]=-72;break k}g=g+1|0;d=d-i|0;h=h+i|0;if(!(q&1)){continue}break}if(w[e+40>>2]){if(d>>>0<=3){w[j+8>>2]=-2;w[j+12>>2]=-1;w[j>>2]=-72;break k}h=h+4|0}q=w[e+24>>2];d=w[e+8>>2];i=w[e+12>>2];w[j+4>>2]=0;w[j>>2]=h-n;h=d;d=(d&i)==-1;w[j+8>>2]=d?C(g,q):h;w[j+12>>2]=d?0:i;break k}w[j+8>>2]=-2;w[j+12>>2]=-1;w[j>>2]=i}O=e+48|0;q=w[j>>2];if(q>>>0>B>>>0){break j}i=n;m=q;p=0;u=0;G=0;o:{p:{switch(w[a+28960>>2]+1|0){default:f=w[a+28944>>2];q:{if(!f){break q}g=w[f+26692>>2];d=w[f+26688>>2];r:{s:{e=w[f>>2];if(e){if(!d){break s}Q[d|0](g,e);Q[d|0](g,f);break q}if(!d){break r}Q[d|0](g,f);break q}V(e)}V(f)}w[a+28960>>2]=0;w[a+28944>>2]=0;w[a+28948>>2]=0;o=0;break o;case 2:w[a+28960>>2]=0;break;case 0:break p}}o=w[a+28948>>2]}if(o){u=w[o+8>>2];p=w[o+4>>2]}t:{u:{d=w[a+28908>>2]?1:5;v:{w:{if(m>>>0>>0){g=l;break w}P=(u|0)!=0&(p|0)!=0;I=a+28816|0;R=a+28752|0;B=p+u|0;S=o+10276|0;T=o+4116|0;W=o+6172|0;aa=o+12|0;J=a+4120|0;K=a+6176|0;A=a+26668|0;N=a+10280|0;s=a+16|0;v=a+28728|0;D=a+28856|0;g=l;while(1){if(((x[i|0]|x[i+1|0]<<8|(x[i+2|0]<<16|x[i+3|0]<<24))&-16)==407710288){if(m>>>0<8){break u}f=x[i+4|0]|x[i+5|0]<<8|(x[i+6|0]<<16|x[i+7|0]<<24);e=-14;if(f>>>0>4294967287){break t}f=f+8|0;f=f>>>0>m>>>0?-72:f;if(f>>>0>4294967176){break v}i=f+i|0;m=m-f|0;if(m>>>0>=d>>>0){continue}break w}x:{if(o){f=w[o+8>>2];e=w[o+4>>2];w[a+28804>>2]=0;w[a+28744>>2]=d;w[a+28792>>2]=0;w[a+28796>>2]=0;w[a+28956>>2]=w[a+28740>>2]!=(e+f|0);w[v+8>>2]=0;w[v+12>>2]=0;w[v>>2]=0;w[v+4>>2]=0;w[a+10280>>2]=201326604;w[a+28808>>2]=0;w[a+28812>>2]=0;w[a+28800>>2]=3;w[A+8>>2]=w[814];f=w[813];w[A>>2]=w[812];w[A+4>>2]=f;w[a+12>>2]=N;w[a+8>>2]=J;w[a+4>>2]=K;w[a>>2]=s;w[a+28952>>2]=w[o+26676>>2];h=w[o+4>>2];w[a+28732>>2]=h;w[a+28736>>2]=h;f=w[o+8>>2]+h|0;w[a+28740>>2]=f;w[a+28728>>2]=f;if(!w[o+26680>>2]){break x}w[a+12>>2]=S;w[a+8>>2]=T;w[a+4>>2]=W;w[a>>2]=aa;w[a+28808>>2]=1;w[a+28812>>2]=1;w[a+26668>>2]=w[o+26664>>2];w[a+26672>>2]=w[o+26668>>2];w[a+26676>>2]=w[o+26672>>2];break x}h=0;w[a+28804>>2]=0;w[a+28744>>2]=d;w[a+28792>>2]=0;w[a+28796>>2]=0;w[v+8>>2]=0;w[v+12>>2]=0;w[v>>2]=0;w[v+4>>2]=0;w[a+10280>>2]=201326604;w[a+28952>>2]=0;w[a+28808>>2]=0;w[a+28812>>2]=0;w[a+28800>>2]=3;w[A+8>>2]=w[814];f=w[813];w[A>>2]=w[812];w[A+4>>2]=f;w[a+12>>2]=N;w[a+8>>2]=J;w[a+4>>2]=K;w[a>>2]=s;f=0;if(!P){break x}f=p;h=f;if(!((x[f|0]|x[f+1|0]<<8|(x[f+2|0]<<16|x[f+3|0]<<24))!=-332356553|u>>>0<8)){w[a+28952>>2]=x[p+4|0]|x[p+5|0]<<8|(x[p+6|0]<<16|x[p+7|0]<<24);d=O-128|0;O=d;f=-30;y:{if(u>>>0<9){break y}k=p+8|0;e=fa(s+10264|0,k,u-8|0,s,10264);if(e>>>0>4294967176){break y}w[d+124>>2]=31;e=k+(e>>>0<4294967177?e:0)|0;k=p+u|0;h=Y(d,d+124|0,d+120|0,e,k-e|0);if(h>>>0>4294967176){break y}r=w[d+124>>2];if(r>>>0>31){break y}t=w[d+120>>2];if(t>>>0>=9){break y}_(s+4104|0,d,r,2256,2384,t);w[d+124>>2]=52;e=e+h|0;h=Y(d,d+124|0,d+120|0,e,k-e|0);if(h>>>0>4294967176){break y}r=w[d+124>>2];if(r>>>0>52){break y}t=w[d+120>>2];if(t>>>0>=10){break y}_(s+6160|0,d,r,2512,2736,t);w[d+124>>2]=35;e=e+h|0;h=Y(d,d+124|0,d+120|0,e,k-e|0);if(h>>>0>4294967176){break y}r=w[d+124>>2];if(r>>>0>35){break y}t=w[d+120>>2];if(t>>>0>=10){break y}_(s,d,r,2960,3104,t);e=e+h|0;h=e+12|0;if(h>>>0>k>>>0){break y}k=k-h|0;r=x[e|0]|x[e+1|0]<<8|(x[e+2|0]<<16|x[e+3|0]<<24);if(k>>>0<=r-1>>>0){break y}w[s+26652>>2]=r;h=x[e+4|0]|x[e+5|0]<<8|(x[e+6|0]<<16|x[e+7|0]<<24);if(k>>>0<=h-1>>>0){break y}w[s+26656>>2]=h;e=e+4|0;h=x[e+4|0]|x[e+5|0]<<8|(x[e+6|0]<<16|x[e+7|0]<<24);if(k>>>0<=h-1>>>0){break y}w[s+26660>>2]=h;f=(e-p|0)+8|0}O=d+128|0;e=-30;if(f>>>0>4294967176){break t}w[a+28808>>2]=1;w[a+28812>>2]=1;d=w[a+28728>>2];w[a+28740>>2]=d;h=f+p|0;f=h+(w[a+28732>>2]-d|0)|0}w[a+28732>>2]=h;w[a+28736>>2]=f;w[a+28728>>2]=B;f=B}if((f|0)!=(g|0)){w[a+28740>>2]=f;w[a+28732>>2]=g;w[a+28728>>2]=g;w[a+28736>>2]=(h-f|0)+g}e=w[a+28908>>2];if((e?5:9)>>>0>m>>>0){break u}z:{d=e?1:5;f=x[(d+i|0)-1|0];d=(((w[((f&3)<<2)+4720>>2]+d|0)+w[(f>>>4&12)+4736>>2]|0)+!(f&32)|0)+(f>>>5&f>>>0<64)|0;A:{B:{if(d>>>0>4294967176){break B}if(d+3>>>0>m>>>0){break u}f=Z(R,i,d,e);if(f>>>0>4294967176){d=f;break B}if(f){break u}f=w[a+28780>>2];e=-32;if(!(!f|(f|0)==w[a+28952>>2])){break t}if(w[a+28784>>2]){w[a+28848>>2]=2048144761;w[a+28852>>2]=1640531534;w[a+28840>>2]=0;w[a+28844>>2]=0;w[a+28832>>2]=668265295;w[a+28836>>2]=-1028477379;w[a+28824>>2]=-1379879466;w[a+28828>>2]=1625958382;w[a+28816>>2]=0;w[a+28820>>2]=0;f=D;w[f+32>>2]=0;w[f+36>>2]=0;w[f+24>>2]=0;w[f+28>>2]=0;w[f+16>>2]=0;w[f+20>>2]=0;w[f+8>>2]=0;w[f+12>>2]=0;w[f>>2]=0;w[f+4>>2]=0}r=g+L|0;m=m-d|0;i=d+i|0;h=g;while(1){if(m>>>0<3){break u}t=x[i|0]|x[i+1|0]<<8;e=t|x[i+2|0]<<16;d=e>>>3|0;k=-20;C:{D:{H=t>>>1&3;f=H;switch(f-1|0){case 2:break A;case 0:break C;default:break D}}f=d}m=m-3|0;if(m>>>0>>0){break u}i=i+3|0;E:{F:{switch(H|0){case 0:if(!h){d=0;if(!f){break E}e=-74;break t}e=-70;if(r-h>>>0>>0){break t}U(h,i,f);d=f;break E;case 1:if(!h){d=0;if(e>>>0<8){break E}e=-74;break t}e=-70;if(r-h>>>0>>0){break t}X(h,x[i|0],d);break E;case 2:break F;default:break A}}d=na(a,h,r-h|0,i,f);if(d>>>0>4294967176){break B}}if(w[a+28784>>2]){ma(I,h,d)}m=m-f|0;i=f+i|0;h=d+h|0;if(!(t&1)){continue}break}f=w[a+28752>>2];d=w[a+28756>>2];H=(f&d)!=-1;e=f;f=h-g|0;if(H&((e|0)!=(f|0)|f>>31!=(d|0))){break A}if(w[a+28784>>2]){k=-22;f=la(I);if((f|0)!=(x[i|0]|x[i+1|0]<<8|(x[i+2|0]<<16|x[i+3|0]<<24))|m>>>0<4){break A}m=m-4|0;i=i+4|0}d=h-g|0;if(d>>>0<4294967177){break z}}f=-72;k=d;if((d|0)==-10&G){break v}}e=k;break t}G=1;L=L-d|0;g=d+g|0;d=w[a+28908>>2]?1:5;if(m>>>0>=d>>>0){continue}break}}f=-72;if(m){break v}f=g-l|0}e=f;break t}e=-72}d=e;if(d>>>0>4294967176){break a}w[a+28744>>2]=0;l=d+l|0;f=n+q|0;break c}G:{if(w[a+28772>>2]==1|w[a+29024>>2]!=1){break G}d=w[a+28752>>2];g=w[a+28756>>2];if((d&g)==-1|!g&E-l>>>0>=d>>>0){break G}d=-70;break a}H:{I:{switch(w[a+28960>>2]+1|0){default:d=w[a+28944>>2];J:{if(!d){break J}e=w[d+26692>>2];g=w[d+26688>>2];K:{L:{h=w[d>>2];if(h){if(!g){break L}Q[g|0](e,h);Q[g|0](e,d);break J}if(!g){break K}Q[g|0](e,d);break J}V(h)}V(d)}g=0;w[a+28960>>2]=0;w[a+28944>>2]=0;w[a+28948>>2]=0;e=1;break H;case 2:w[a+28960>>2]=0;break;case 0:break I}}g=w[a+28948>>2];if(!g){g=0;e=1;break H}w[a+28956>>2]=w[a+28740>>2]!=(w[g+4>>2]+w[g+8>>2]|0);e=0}w[a+28792>>2]=0;w[a+28796>>2]=0;w[D>>2]=0;h=w[a+28908>>2];w[a+28744>>2]=h?1:5;d=m;w[d+8>>2]=0;w[d+12>>2]=0;w[d>>2]=0;w[d+4>>2]=0;w[a+10280>>2]=201326604;w[a+28952>>2]=0;w[a+28808>>2]=0;w[a+28812>>2]=0;w[a+28800>>2]=3;w[u+8>>2]=w[814];d=w[813];w[u>>2]=w[812];w[u+4>>2]=d;w[a+12>>2]=J;w[a+8>>2]=r;w[a+4>>2]=I;w[a>>2]=K;M:{if(e){break M}w[a+28952>>2]=w[g+26676>>2];d=w[g+4>>2];w[a+28736>>2]=d;w[a+28732>>2]=d;d=d+w[g+8>>2]|0;w[a+28728>>2]=d;w[a+28740>>2]=d;if(!w[g+26680>>2]){break M}w[a+28808>>2]=1;w[a+28812>>2]=1;w[a+12>>2]=g+10276;w[a+8>>2]=g+4116;w[a+4>>2]=g+6172;w[a>>2]=g+12;w[a+26668>>2]=w[g+26664>>2];w[a+26672>>2]=w[g+26668>>2];w[a+26676>>2]=w[g+26672>>2]}N:{if(((x[a+160144|0]|x[a+160145|0]<<8|(x[a+160146|0]<<16|x[a+160147|0]<<24))&-16)==407710288){g=x[a+160148|0]|x[a+160149|0]<<8|(x[a+160150|0]<<16|x[a+160151|0]<<24);d=7;break N}d=Z(v,k,w[a+29e3>>2],h);if(d>>>0>4294967176){break a}if(d){d=-72;break a}d=w[a+28780>>2];if(!(!d|(d|0)==w[a+28952>>2])){d=-32;break a}d=2;g=3;if(!w[a+28784>>2]){break N}w[a+28848>>2]=2048144761;w[a+28852>>2]=1640531534;w[a+28840>>2]=0;w[a+28844>>2]=0;w[a+28832>>2]=668265295;w[a+28836>>2]=-1028477379;w[a+28824>>2]=-1379879466;w[a+28828>>2]=1625958382;w[a+28816>>2]=0;w[a+28820>>2]=0;e=o;w[e+32>>2]=0;w[e+36>>2]=0;w[e+24>>2]=0;w[e+28>>2]=0;w[e+16>>2]=0;w[e+20>>2]=0;w[e+8>>2]=0;w[e+12>>2]=0;w[e>>2]=0;w[e+4>>2]=0}w[a+28744>>2]=g;w[D>>2]=d;d=w[a+28760>>2];h=d;g=w[a+28764>>2];d=!g&d>>>0<=1024;e=d?1024:h;d=d?0:g;h=d;w[a+28760>>2]=e;w[a+28764>>2]=d;if(!d&e>>>0>z[a+28980>>2]|d){d=-16;break a}d=w[a+28768>>2];i=d>>>0<=4?4:d;g=0;d=0;if(!w[a+29024>>2]){d=e;e=!h&e>>>0>=131072|(h|0)!=0;q=e?131072:d;d=d+q|0;e=(e?0:h)+h|0;e=d>>>0>>0?e+1|0:e;h=d- -64|0;H=h;q=w[a+28752>>2];d=e-((d>>>0<4294967232)-1|0)|0;e=w[a+28756>>2];h=(d|0)==(e|0)&h>>>0>>0|d>>>0>>0;d=h?d:e;d=(d|0)==1|d>>>0>1?-16:h?H:q}h=w[p>>2];q=w[s>>2];e=d+i|0;g=h+q>>>0>=C(e,3)>>>0?w[A>>2]+1|0:g;w[A>>2]=g;if(!(!(i>>>0>q>>>0|d>>>0>h>>>0)&g>>>0<128)){O:{P:{g=w[a+28936>>2];if(g){if(e>>>0<=g-160168>>>0){break P}d=-64;break a}g=w[a+28968>>2];Q:{if(!g){break Q}h=x[a+28920|0]|x[a+28921|0]<<8|(x[a+28922|0]<<16|x[a+28923|0]<<24);if(h){Q[h|0](x[a+28924|0]|x[a+28925|0]<<8|(x[a+28926|0]<<16|x[a+28927|0]<<24),g);break Q}V(g)}w[p>>2]=0;w[s>>2]=0;g=x[a+28916|0]|x[a+28917|0]<<8|(x[a+28918|0]<<16|x[a+28919|0]<<24);R:{if(g){g=Q[g|0](x[a+28924|0]|x[a+28925|0]<<8|(x[a+28926|0]<<16|x[a+28927|0]<<24),e)|0;break R}g=ba(e)}w[a+28968>>2]=g;if(g){break O}d=-64;break a}g=w[a+28968>>2]}w[p>>2]=d;w[a+28984>>2]=g+i;w[s>>2]=i}w[a+28964>>2]=2}h=y-f|0;d=w[D>>2];if(w[a+28800>>2]|d-3>>>0>=2){break f}e=h>>>0<=1?1:h;g=w[a+28744>>2];e=e>>>0>>0?e:g;break e}e=E-l|0;d=w[a+28992>>2];h=w[a+28996>>2]-d|0;g=e>>>0>>0?e:h;if(g){U(l,d+w[a+28984>>2]|0,g);d=w[a+28992>>2]}i=d+g|0;w[a+28992>>2]=i;l=g+l|0;if(e>>>0>>0){break b}w[a+28964>>2]=2;d=w[p>>2];if(!w[a+28756>>2]&d>>>0>=z[a+28752>>2]|d>>>0>=i+w[a+28768>>2]>>>0){continue}w[a+28992>>2]=0;w[a+28996>>2]=0;continue}g=w[a+28744>>2];e=g}if(!e){break c}if(e>>>0<=h>>>0){g=(d|0)==7;S:{T:{if(!w[a+29024>>2]){U:{if((d|0)==7){d=w[a+28992>>2];h=0;break U}d=w[a+28992>>2];h=w[p>>2]-d|0}d=$(a,w[a+28984>>2]+d|0,h,f,e);if(d>>>0>4294967176){break a}if(!(d|g)){break T}w[a+28996>>2]=w[a+28992>>2]+d;d=4;break S}d=$(a,l,g?0:E-l|0,f,e);if(d>>>0>4294967176){break a}l=d+l|0}d=2}w[a+28964>>2]=d;f=e+f|0;continue}if((f|0)==(y|0)){f=y;break b}w[a+28964>>2]=3}i=w[a+28976>>2];e=g-i|0;V:{if((d|0)==7){d=y-f|0;d=d>>>0>e>>>0?e:d;break V}if(e>>>0>w[s>>2]-i>>>0){d=-20;break a}d=y-f|0;d=d>>>0>e>>>0?e:d;if(!d){d=0;break V}U(w[a+28968>>2]+i|0,f,d);i=w[a+28976>>2]}w[a+28976>>2]=d+i;f=d+f|0;if(d>>>0>>0){break b}w[a+28976>>2]=0;d=w[D>>2];e=(d|0)==7;h=w[a+28968>>2];W:{if(!w[a+29024>>2]){X:{if((d|0)==7){d=w[a+28992>>2];i=0;break X}d=w[a+28992>>2];i=w[p>>2]-d|0}d=$(a,w[a+28984>>2]+d|0,i,h,g);if(d>>>0>4294967176){break a}if(!(d|e)){break W}w[a+28996>>2]=w[a+28992>>2]+d;w[a+28964>>2]=4;continue}d=$(a,l,e?0:E-l|0,h,g);if(d>>>0>4294967176){break a}l=d+l|0}w[a+28964>>2]=2;continue}break}w[a+28964>>2]=0}w[c+8>>2]=f-w[c>>2];d=l-w[b>>2]|0;w[b+8>>2]=d;w[F+8>>2]=d;d=w[b+4>>2];w[F>>2]=w[b>>2];w[F+4>>2]=d;Y:{if(!((f|0)!=(n|0)|(l|0)!=(M|0))){b=w[a+29020>>2];w[a+29020>>2]=b+1;if((b|0)<15){break Y}d=-70;if((E|0)==(M|0)){break a}d=-72;if((n|0)!=(y|0)){break Y}break a}w[a+29020>>2]=0}b=w[a+28744>>2];if(!b){b=w[a+29016>>2];if(w[a+28996>>2]==w[a+28992>>2]){d=0;if(!b){break a}b=w[c+8>>2];if(b>>>0>=z[c+4>>2]){w[a+28964>>2]=2;d=1;break a}w[c+8>>2]=b+1;break a}d=1;if(b){break a}w[c+8>>2]=w[c+8>>2]-1;w[a+29016>>2]=1;break a}d=(b-w[a+28976>>2]|0)+(w[a+28804>>2]==3?3:0)|0}O=j+16|0;return d|0}function ka(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,z=0,A=0,B=0,C=0,D=0;p=O-784|0;O=p;j=-72;a:{if(!f){break a}h=u[e|0];B=h&255;b:{c:{if((h|0)<0){h=B-126>>>1|0;if(h>>>0>=f>>>0){break a}j=-20;i=B-127|0;if(i>>>0>=256){break a}if(!i){break b}q=e+1|0;j=B-128|0;e=(j>>>1|0)+1|0;n=e&1;f=0;if(j>>>0>=2){k=e&-2;e=0;while(1){j=q+(f>>>1|0)|0;u[a+f|0]=x[j|0]>>>4;u[(f|1)+a|0]=x[j|0]&15;j=f|2;m=q+(j>>>1|0)|0;u[a+j|0]=x[m|0]>>>4;u[(f|3)+a|0]=x[m|0]&15;f=f+4|0;e=e+2|0;if((k|0)!=(e|0)){continue}break}}if(n){e=q+(f>>>1|0)|0;u[a+f|0]=x[e|0]>>>4;u[(f|1)+a|0]=x[e|0]&15}B=h;break c}if(f>>>0<=B>>>0){break a}w[p+264>>2]=255;A=e+1|0;k=Y(p+272|0,p+264|0,p+268|0,A,B);if(k>>>0>4294967176){j=k;break a}j=-44;C=w[p+268>>2];if(C>>>0>6){break a}z=p+272|0;j=0;l=O-512|0;O=l;e=-46;t=w[p+264>>2];d:{if(t>>>0>255){break d}e=-44;if(C>>>0>12){break d}r=1<>16;e:{if(!t){e=f;break e}q=e&-2;e=f;while(1){n=g<<1;i=y[n+z>>1];f:{if((i|0)==65535){u[D+(e<<2)|0]=g;e=e-1|0;i=1;break f}h=(s|0)>i<<16>>16?h:0}v[l+n>>1]=i;m=g|1;n=m<<1;i=y[z+n>>1];g:{if((i|0)!=65535){h=(s|0)>i<<16>>16?h:0;break g}u[D+(e<<2)|0]=m;e=e-1|0;i=1}v[l+n>>1]=i;g=g+2|0;j=j+2|0;if((q|0)!=(j|0)){continue}break}}if(o){i=y[z+(g<<1)>>1];h:{if((i|0)!=65535){h=(s|0)>i<<16>>16?h:0;break h}u[D+(e<<2)|0]=g;e=e-1|0;i=1}v[l+(g<<1)>>1]=i}v[p+2>>1]=h;v[p>>1]=C;m=((r>>>3)+(r>>>1)|0)+3|0;g=0;j=0;while(1){h=j;n=v[z+(h<<1)>>1];i:{if((n|0)<=0){break i}if((n|0)!=1){i=n&-2;j=0;while(1){u[D+(g<<2)|0]=h;while(1){g=f&g+m;if(g>>>0>e>>>0){continue}break}u[D+(g<<2)|0]=h;while(1){g=f&g+m;if(g>>>0>e>>>0){continue}break}j=j+2|0;if((i|0)!=(j|0)){continue}break}}if(!(n&1)){break i}u[D+(g<<2)|0]=h;while(1){g=f&g+m;if(g>>>0>e>>>0){continue}break}}j=h+1|0;if((h|0)!=(t|0)){continue}break}e=-1;if(g){break d}h=p+4|0;j=C+1|0;e=0;g=0;while(1){i=h+(g<<2)|0;f=l+(x[i+2|0]<<1)|0;n=y[f>>1];v[f>>1]=n+1;f=j+(F(n)^-32)|0;u[i+3|0]=f;v[i>>1]=(n<>>0>=4294967177){break a}l=k+A|0;f=B-k|0;t=a+255|0;s=t-3|0;j:{k:{l:{m:{n:{if(y[p+2>>1]){i=-72;if(!f){break j}o:{p:{if(f>>>0>=4){q=-1;e=x[(f+l|0)-1|0];if(!e){break l}if(f>>>0<=4294967176){break p}i=f;break j}h=x[l|0];q:{switch(f-2|0){case 1:h=x[l+2|0]<<16|h;case 0:h=(x[l+1|0]<<8)+h|0;break;default:break q}}j=x[(f+l|0)-1|0];i=-20;if(!j){break j}g=0;e=(F(j)-(f<<3)|0)+9|0;break o}g=f-4|0;f=l+g|0;h=x[f|0]|x[f+1|0]<<8|(x[f+2|0]<<16|x[f+3|0]<<24);e=F(e)-23|0}k=y[p>>1];j=k+e|0;f=h>>>0-j|0;i=w[(k<<2)+4592>>2];r:{if(j>>>0>32){break r}s:{if((g|0)>=4){h=j>>>3|0;j=j&7;break s}if(!g){g=0;break r}e=j>>>3|0;h=l>>>0>(g+l|0)-e>>>0?g:e;j=j-(h<<3)|0}g=g-h|0;e=l+g|0;h=x[e|0]|x[e+1|0]<<8|(x[e+2|0]<<16|x[e+3|0]<<24)}m=f&i;z=p+4|0;f=j+k|0;j=i&h>>>0-f;if(f>>>0>32){e=f;f=a;break m}if((g|0)>=4){e=f&7;g=g-(f>>>3|0)|0;f=l+g|0;h=x[f|0]|x[f+1|0]<<8|(x[f+2|0]<<16|x[f+3|0]<<24);break n}if(!g){g=0;e=f;break n}e=f>>>3|0;e=l>>>0>(g+l|0)-e>>>0?g:e;g=g-e|0;h=l+g|0;h=x[h|0]|x[h+1|0]<<8|(x[h+2|0]<<16|x[h+3|0]<<24);e=f-(e<<3)|0;if(e>>>0<=32){break n}f=a;break m}i=-72;if(!f){break j}t:{u:{if(f>>>0>=4){q=-1;e=x[(f+l|0)-1|0];if(!e){break l}if(f>>>0<=4294967176){break u}i=f;break j}h=x[l|0];v:{switch(f-2|0){case 1:h=x[l+2|0]<<16|h;case 0:h=(x[l+1|0]<<8)+h|0;break;default:break v}}j=x[(f+l|0)-1|0];i=-20;if(!j){break j}g=0;e=(F(j)-(f<<3)|0)+9|0;break t}g=f-4|0;f=l+g|0;h=x[f|0]|x[f+1|0]<<8|(x[f+2|0]<<16|x[f+3|0]<<24);e=F(e)-23|0}k=y[p>>1];j=k+e|0;f=h>>>0-j|0;i=w[(k<<2)+4592>>2];w:{if(j>>>0>32){break w}x:{if((g|0)>=4){h=j>>>3|0;j=j&7;break x}if(!g){g=0;break w}e=j>>>3|0;h=l>>>0>(g+l|0)-e>>>0?g:e;j=j-(h<<3)|0}g=g-h|0;e=l+g|0;h=x[e|0]|x[e+1|0]<<8|(x[e+2|0]<<16|x[e+3|0]<<24)}m=f&i;r=p+4|0;f=j+k|0;j=i&h>>>0-f;y:{if(f>>>0>32){e=f;f=a;break y}z:{if((g|0)>=4){e=f&7;g=g-(f>>>3|0)|0;f=l+g|0;h=x[f|0]|x[f+1|0]<<8|(x[f+2|0]<<16|x[f+3|0]<<24);break z}if(!g){g=0;e=f;break z}e=f>>>3|0;e=l>>>0>(g+l|0)-e>>>0?g:e;g=g-e|0;h=l+g|0;h=x[h|0]|x[h+1|0]<<8|(x[h+2|0]<<16|x[h+3|0]<<24);e=f-(e<<3)|0;if(e>>>0<=32){break z}f=a;break y}q=p+6|0;f=a;while(1){A:{if((g|0)>=4){h=e>>>3|0;n=0;e=e&7;break A}if(!g){g=0;break y}h=e>>>3|0;n=l>>>0>(g+l|0)-h>>>0;h=n?g:h;e=e-(h<<3)|0}g=g-h|0;o=l+g|0;h=x[o|0]|x[o+1|0]<<8|(x[o+2|0]<<16|x[o+3|0]<<24);if(n|f>>>0>=s>>>0){break y}i=r+(m<<2)|0;n=y[i>>1];m=x[i+3|0];u[f|0]=x[i+2|0];k=j<<2;i=k+r|0;j=y[i>>1];i=x[i+3|0];u[f+1|0]=x[k+q|0];e=e+m|0;m=n+(w[(m<<2)+4592>>2]&h>>>0-e)|0;k=w[(i<<2)+4592>>2];i=e+i|0;j=j+(k&h>>>0-i)|0;B:{C:{if(i>>>0>32){e=i;break C}if((g|0)>=4){e=i&7;g=g-(i>>>3|0)|0;h=l+g|0;h=x[h|0]|x[h+1|0]<<8|(x[h+2|0]<<16|x[h+3|0]<<24);break B}if(!g){g=0;e=i;break C}e=i>>>3|0;k=o-e|0;h=l>>>0>k>>>0?g:e;e=i-(h<<3)|0;g=g-h|0;h=l+g|0;h=x[h|0]|x[h+1|0]<<8|(x[h+2|0]<<16|x[h+3|0]<<24);if(l>>>0<=k>>>0){break B}}f=f+2|0;break y}i=r+(m<<2)|0;n=y[i>>1];m=x[i+3|0];u[f+2|0]=x[i+2|0];k=j<<2;i=k+r|0;j=y[i>>1];i=x[i+3|0];u[f+3|0]=x[k+q|0];e=e+m|0;m=n+(w[(m<<2)+4592>>2]&h>>>0-e)|0;e=e+i|0;j=j+(w[(i<<2)+4592>>2]&h>>>0-e)|0;f=f+4|0;if(e>>>0<33){continue}break}}q=-70;s=t-2|0;if(s>>>0>>0){break l}t=2;while(1){i=r+(m<<2)|0;o=y[i>>1];A=x[i+3|0];u[f|0]=x[i+2|0];i=f+1|0;D:{e=e+A|0;E:{if(e>>>0>32){m=j;break E}F:{G:{if((g|0)>=4){m=e>>>3|0;n=e&7;break G}if(!g){g=0;n=e;k=h;break F}k=e>>>3|0;m=l>>>0>(g+l|0)-k>>>0?g:k;n=e-(m<<3)|0}g=g-m|0;k=l+g|0;k=x[k|0]|x[k+1|0]<<8|(x[k+2|0]<<16|x[k+3|0]<<24)}if(i>>>0>s>>>0){break l}m=o+(w[(A<<2)+4592>>2]&h>>>0-e)|0;e=r+(j<<2)|0;o=y[e>>1];j=x[e+3|0];u[f+1|0]=x[e+2|0];i=f+2|0;e=j+n|0;if(e>>>0<=32){break D}t=3}u[i|0]=x[(r+(m<<2)|0)+2|0];break k}f=w[(j<<2)+4592>>2]&k>>>0-e;H:{I:{if((g|0)>=4){j=e>>>3|0;e=e&7;break I}if(!g){g=0;h=k;break H}h=e;e=e>>>3|0;j=l>>>0>(g+l|0)-e>>>0?g:e;e=h-(j<<3)|0}g=g-j|0;j=l+g|0;h=x[j|0]|x[j+1|0]<<8|(x[j+2|0]<<16|x[j+3|0]<<24)}j=f+o|0;f=i;if(s>>>0>=f>>>0){continue}break}break l}A=p+6|0;f=a;while(1){J:{if((g|0)>=4){h=e>>>3|0;o=0;e=e&7;break J}if(!g){g=0;break m}h=e>>>3|0;o=l>>>0>(g+l|0)-h>>>0;h=o?g:h;e=e-(h<<3)|0}g=g-h|0;r=l+g|0;h=x[r|0]|x[r+1|0]<<8|(x[r+2|0]<<16|x[r+3|0]<<24);if(o|f>>>0>=s>>>0){break m}i=z+(m<<2)|0;n=y[i>>1];q=x[i+3|0];u[f|0]=x[i+2|0];k=j<<2;i=k+z|0;j=y[i>>1];i=x[i+3|0];u[f+1|0]=x[k+A|0];m=n+(h<>>0-q|0)|0;e=e+q|0;j=j+(h<>>0-i|0)|0;K:{i=e+i|0;L:{if(i>>>0>32){e=i;break L}if((g|0)>=4){e=i&7;g=g-(i>>>3|0)|0;h=l+g|0;h=x[h|0]|x[h+1|0]<<8|(x[h+2|0]<<16|x[h+3|0]<<24);break K}if(!g){g=0;e=i;break L}e=i>>>3|0;k=r-e|0;h=l>>>0>k>>>0?g:e;e=i-(h<<3)|0;g=g-h|0;h=l+g|0;h=x[h|0]|x[h+1|0]<<8|(x[h+2|0]<<16|x[h+3|0]<<24);if(l>>>0<=k>>>0){break K}}f=f+2|0;break m}i=z+(m<<2)|0;n=y[i>>1];q=x[i+3|0];u[f+2|0]=x[i+2|0];k=j<<2;i=k+z|0;j=y[i>>1];i=x[i+3|0];u[f+3|0]=x[k+A|0];m=n+(h<>>0-q|0)|0;e=e+q|0;j=j+(h<>>0-i|0)|0;f=f+4|0;e=e+i|0;if(e>>>0<33){continue}break}}q=-70;s=t-2|0;if(s>>>0>>0){break l}t=2;while(1){i=z+(m<<2)|0;m=y[i>>1];A=x[i+3|0];u[f|0]=x[i+2|0];i=f+1|0;M:{o=e+A|0;N:{if(o>>>0>32){m=j;break N}O:{P:{if((g|0)>=4){n=o>>>3|0;o=o&7;break P}if(!g){g=0;k=h;break O}k=o>>>3|0;n=l>>>0>(g+l|0)-k>>>0?g:k;o=o-(n<<3)|0}g=g-n|0;k=l+g|0;k=x[k|0]|x[k+1|0]<<8|(x[k+2|0]<<16|x[k+3|0]<<24)}if(i>>>0>s>>>0){break l}m=m+(h<>>0-A|0)|0;e=z+(j<<2)|0;n=y[e>>1];j=x[e+3|0];u[f+1|0]=x[e+2|0];i=f+2|0;e=j+o|0;if(e>>>0<=32){break M}t=3}u[i|0]=x[(z+(m<<2)|0)+2|0];break k}f=k<>>0-j|0;Q:{R:{if((g|0)>=4){j=e>>>3|0;e=e&7;break R}if(!g){g=0;h=k;break Q}h=e;e=e>>>3|0;j=l>>>0>(g+l|0)-e>>>0?g:e;e=h-(j<<3)|0}g=g-j|0;j=l+g|0;h=x[j|0]|x[j+1|0]<<8|(x[j+2|0]<<16|x[j+3|0]<<24)}j=f+n|0;f=i;if(s>>>0>=f>>>0){continue}break}}i=q;break j}i=(f+t|0)-a|0}j=i;if(i>>>0>=4294967177){break a}}w[b>>2]=0;w[b+4>>2]=0;e=0;w[b+48>>2]=0;w[b+40>>2]=0;w[b+44>>2]=0;w[b+32>>2]=0;w[b+36>>2]=0;w[b+24>>2]=0;w[b+28>>2]=0;w[b+16>>2]=0;w[b+20>>2]=0;w[b+8>>2]=0;w[b+12>>2]=0;j=-20;if(!i){break a}f=0;while(1){k=a+f|0;h=x[k|0];if(h>>>0>11){break a}h=(h<<2)+b|0;w[h>>2]=w[h>>2]+1;e=(1<>1)+e|0;f=f+1|0;if((i|0)!=(f|0)){continue}break}if(!e){break a}h=F(e);f=h^31;if(f>>>0>11){break a}w[d>>2]=32-h;e=(2<>2]=w[a>>2]+1;a=w[b+4>>2];if(a>>>0<2|a&1){break a}w[c>>2]=i+1;j=B+1|0;break a}w[b>>2]=0;w[b+4>>2]=0;w[b+48>>2]=0;w[b+40>>2]=0;w[b+44>>2]=0;w[b+32>>2]=0;w[b+36>>2]=0;w[b+24>>2]=0;w[b+28>>2]=0;w[b+16>>2]=0;w[b+20>>2]=0;w[b+8>>2]=0;w[b+12>>2]=0}O=p+784|0;return j}function oa(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0,S=0,T=0;m=O-32|0;O=m;j=-20;a:{if(d>>>0<10){break a}l=x[c+4|0]|x[c+5|0]<<8;f=x[c|0]|x[c+1|0]<<8;g=f+6|0;h=x[c+2|0]|x[c+3|0]<<8;v=l+(g+h|0)|0;if(v>>>0>d>>>0){break a}if(!f){j=-72;break a}i=c+6|0;R=y[e+2>>1];b:{if(f>>>0>=4){j=-1;i=x[(f+i|0)-1|0];if(!i){break a}q=f+2|0;f=q+c|0;k=x[f|0]|x[f+1|0]<<8|(x[f+2|0]<<16|x[f+3|0]<<24);f=F(i)-23|0;break b}k=x[i|0];c:{switch(f-2|0){case 1:k=x[c+8|0]<<16|k;case 0:k=(x[c+7|0]<<8)+k|0;break;default:break c}}i=x[(f+i|0)-1|0];if(!i){break a}q=6;f=(F(i)-(f<<3)|0)+9|0}if(!h){j=-72;break a}C=c+g|0;d:{if(h>>>0>=4){j=-1;g=x[(h+C|0)-1|0];if(!g){break a}s=h-4|0;i=C+s|0;o=x[i|0]|x[i+1|0]<<8|(x[i+2|0]<<16|x[i+3|0]<<24);i=F(g)-23|0;break d}o=x[C|0];e:{switch(h-2|0){case 1:o=x[C+2|0]<<16|o;case 0:o=(x[C+1|0]<<8)+o|0;break;default:break e}}i=x[(h+C|0)-1|0];if(!i){j=-20;break a}i=(F(i)-(h<<3)|0)+9|0}j=-72;if(!l){break a}D=h+C|0;g=l+D|0;f:{if(l>>>0>=4){j=-1;A=x[g-1|0];if(!A){break a}t=l-4|0;h=D+t|0;z=x[h|0]|x[h+1|0]<<8|(x[h+2|0]<<16|x[h+3|0]<<24);h=F(A)-23|0;break f}z=x[D|0];g:{switch(l-2|0){case 1:z=x[D+2|0]<<16|z;case 0:z=(x[D+1|0]<<8)+z|0;break;default:break g}}h=x[g-1|0];if(!h){j=-20;break a}h=(F(h)-(l<<3)|0)+9|0}j=ga(m+12|0,g,d-v|0);if(j>>>0>4294967176){break a}n=e+4|0;p=w[m+12>>2];d=b+3>>>2|0;v=d+a|0;L=a+b|0;M=L-3|0;A=d+v|0;H=A+d|0;h:{if(M>>>0<=H>>>0){l=H;g=A;d=v;break h}j=0-R&31;B=w[m+20>>2];e=w[m+16>>2];S=w[m+28>>2];d=v;g=A;l=H;while(1){r=(k<>>j<<2)+n|0;E=y[r>>1];u[a|0]=E;u[a+1|0]=E>>>8;E=x[r+2|0];I=x[r+3|0];r=(o<>>j<<2)+n|0;G=y[r>>1];u[d|0]=G;u[d+1|0]=G>>>8;G=x[r+2|0];N=x[r+3|0];r=(z<>>j<<2)+n|0;K=y[r>>1];u[g|0]=K;u[g+1|0]=K>>>8;K=x[r+2|0];P=x[r+3|0];r=(p<>>j<<2)+n|0;J=y[r>>1];u[l|0]=J;u[l+1|0]=J>>>8;J=x[r+2|0];Q=x[r+3|0];r=a+I|0;f=f+E|0;a=(k<>>j<<2)+n|0;E=y[a>>1];u[r|0]=E;u[r+1|0]=E>>>8;E=x[a+2|0];T=x[a+3|0];d=d+N|0;i=i+G|0;a=(o<>>j<<2)+n|0;I=y[a>>1];u[d|0]=I;u[d+1|0]=I>>>8;I=x[a+2|0];N=x[a+3|0];g=g+P|0;h=h+K|0;a=(z<>>j<<2)+n|0;G=y[a>>1];u[g|0]=G;u[g+1|0]=G>>>8;K=x[a+2|0];P=x[a+3|0];l=l+Q|0;J=e+J|0;e=(p<>>j<<2)+n|0;a=y[e>>1];u[l|0]=a;u[l+1|0]=a>>>8;f=f+E|0;if((q|0)<10){E=3}else{q=q-(f>>>3|0)|0;a=q+c|0;k=x[a|0]|x[a+1|0]<<8|(x[a+2|0]<<16|x[a+3|0]<<24);f=f&7;E=0}Q=x[e+3|0];e=x[e+2|0];i=i+I|0;I=3;if((s|0)<4){G=3}else{s=s-(i>>>3|0)|0;a=C+s|0;o=x[a|0]|x[a+1|0]<<8|(x[a+2|0]<<16|x[a+3|0]<<24);i=i&7;G=0}h=h+K|0;if((t|0)>=4){t=t-(h>>>3|0)|0;a=D+t|0;z=x[a|0]|x[a+1|0]<<8|(x[a+2|0]<<16|x[a+3|0]<<24);I=0;h=h&7}l=l+Q|0;e=e+J|0;a=r+T|0;d=d+N|0;g=g+P|0;if(B>>>0>>0){r=3}else{B=B-(e>>>3|0)|0;p=x[B|0]|x[B+1|0]<<8|(x[B+2|0]<<16|x[B+3|0]<<24);e=e&7;r=0}if(!(r|(E|G|I))&l>>>0>>0){continue}break}w[m+20>>2]=B;w[m+16>>2]=e}w[m+12>>2]=p;if(a>>>0>v>>>0){j=-20;break a}if(d>>>0>A>>>0){j=-20;break a}j=-20;if(g>>>0>H>>>0){break a}j=0-R&31;i:{j:{if(f>>>0<=32){B=v-3|0;while(1){k:{if((q|0)>=10){k=f>>>3|0;p=0;e=f&7;break k}if((q|0)==6){p=v-2|0;q=6;e=f;break j}e=f>>>3|0;p=(q-e|0)<6;k=p?q-6|0:e;e=f-(k<<3)|0}q=q-k|0;f=q+c|0;k=x[f|0]|x[f+1|0]<<8|(x[f+2|0]<<16|x[f+3|0]<<24);if(!(!p&a>>>0>>0)){p=v-2|0;if(e>>>0<=32){break j}f=e;break i}f=(k<>>j<<2)+n|0;p=y[f>>1];u[a|0]=p;u[a+1|0]=p>>>8;a=x[f+3|0]+a|0;f=x[f+2|0]+e|0;e=(k<>>j<<2)+n|0;p=y[e>>1];u[a|0]=p;u[a+1|0]=p>>>8;a=a+x[e+3|0]|0;f=f+x[e+2|0]|0;if(f>>>0<=32){continue}break}}p=v-2|0;break i}while(1){l:{if((q|0)>=10){k=e>>>3|0;B=0;f=e&7;break l}if((q|0)==6){q=6;f=e;break i}f=e>>>3|0;B=(q-f|0)<6;k=B?q-6|0:f;f=e-(k<<3)|0}q=q-k|0;e=q+c|0;k=x[e|0]|x[e+1|0]<<8|(x[e+2|0]<<16|x[e+3|0]<<24);if(B|a>>>0>p>>>0){break i}e=(k<>>j<<2)+n|0;B=y[e>>1];u[a|0]=B;u[a+1|0]=B>>>8;a=x[e+3|0]+a|0;e=x[e+2|0]+f|0;if(e>>>0<=32){continue}break}f=e}if(a>>>0<=p>>>0){while(1){c=(k<>>j<<2)+n|0;e=y[c>>1];u[a|0]=e;u[a+1|0]=e>>>8;f=x[c+2|0]+f|0;a=x[c+3|0]+a|0;if(p>>>0>=a>>>0){continue}break}}m:{if(a>>>0>=v>>>0){break m}e=a;c=k<>>j|0;a=(c<<2)+n|0;u[e|0]=x[a|0];if(x[a+3|0]==1){f=x[a+2|0]+f|0;break m}if(f>>>0>31){break m}a=x[((c<<2)+n|0)+2|0]+f|0;f=a>>>0>=32?32:a}n:{o:{if(i>>>0<=32){v=A-3|0;while(1){p:{if((s|0)>=4){a=i>>>3|0;e=0;c=i&7;break p}if(!s){a=A-2|0;s=0;k=C;c=i;break o}a=i>>>3|0;e=(C+s|0)-a>>>0>>0;a=e?s:a;c=i-(a<<3)|0}s=s-a|0;k=C+s|0;o=x[k|0]|x[k+1|0]<<8|(x[k+2|0]<<16|x[k+3|0]<<24);if(!(!e&d>>>0>>0)){a=A-2|0;if(c>>>0<=32){break o}i=c;break n}a=(o<>>j<<2)+n|0;e=y[a>>1];u[d|0]=e;u[d+1|0]=e>>>8;d=x[a+3|0]+d|0;c=x[a+2|0]+c|0;a=(o<>>j<<2)+n|0;e=y[a>>1];u[d|0]=e;u[d+1|0]=e>>>8;d=d+x[a+3|0]|0;i=c+x[a+2|0]|0;if(i>>>0<=32){continue}break}}k=C+s|0;a=A-2|0;break n}while(1){q:{if((s|0)>=4){e=c>>>3|0;p=0;i=c&7;break q}if(!s){i=c;break n}e=c>>>3|0;p=k-e>>>0>>0;e=p?s:e;i=c-(e<<3)|0}s=s-e|0;k=C+s|0;o=x[k|0]|x[k+1|0]<<8|(x[k+2|0]<<16|x[k+3|0]<<24);if(p|a>>>0>>0){break n}c=(o<>>j<<2)+n|0;e=y[c>>1];u[d|0]=e;u[d+1|0]=e>>>8;d=x[c+3|0]+d|0;c=x[c+2|0]+i|0;if(c>>>0<=32){continue}break}i=c}if(a>>>0>=d>>>0){while(1){c=(o<>>j<<2)+n|0;e=y[c>>1];u[d|0]=e;u[d+1|0]=e>>>8;i=x[c+2|0]+i|0;d=x[c+3|0]+d|0;if(d>>>0<=a>>>0){continue}break}}r:{if(d>>>0>=A>>>0){break r}c=o<>>j|0;a=(c<<2)+n|0;u[d|0]=x[a|0];if(x[a+3|0]==1){i=x[a+2|0]+i|0;break r}if(i>>>0>31){break r}a=x[((c<<2)+n|0)+2|0]+i|0;i=a>>>0>=32?32:a}s:{t:{if(h>>>0<=32){v=H-3|0;while(1){u:{if((t|0)>=4){a=h>>>3|0;e=0;c=h&7;break u}if(!t){a=H-2|0;t=0;o=D;c=h;break t}a=h>>>3|0;e=(t+D|0)-a>>>0>>0;a=e?t:a;c=h-(a<<3)|0}t=t-a|0;o=D+t|0;z=x[o|0]|x[o+1|0]<<8|(x[o+2|0]<<16|x[o+3|0]<<24);if(!(!e&g>>>0>>0)){a=H-2|0;if(c>>>0<=32){break t}h=c;break s}a=(z<>>j<<2)+n|0;d=y[a>>1];u[g|0]=d;u[g+1|0]=d>>>8;d=x[a+3|0]+g|0;c=x[a+2|0]+c|0;a=(z<>>j<<2)+n|0;e=y[a>>1];u[d|0]=e;u[d+1|0]=e>>>8;g=d+x[a+3|0]|0;h=c+x[a+2|0]|0;if(h>>>0<=32){continue}break}}o=t+D|0;a=H-2|0;break s}while(1){v:{if((t|0)>=4){e=c>>>3|0;d=0;h=c&7;break v}if(!t){h=c;break s}e=c>>>3|0;d=o-e>>>0>>0;e=d?t:e;h=c-(e<<3)|0}t=t-e|0;o=D+t|0;z=x[o|0]|x[o+1|0]<<8|(x[o+2|0]<<16|x[o+3|0]<<24);if(d|a>>>0>>0){break s}c=(z<>>j<<2)+n|0;d=y[c>>1];u[g|0]=d;u[g+1|0]=d>>>8;g=x[c+3|0]+g|0;c=x[c+2|0]+h|0;if(c>>>0<=32){continue}break}h=c}if(a>>>0>=g>>>0){while(1){c=(z<>>j<<2)+n|0;d=y[c>>1];u[g|0]=d;u[g+1|0]=d>>>8;h=x[c+2|0]+h|0;g=x[c+3|0]+g|0;if(g>>>0<=a>>>0){continue}break}}w:{if(g>>>0>=H>>>0){break w}c=z<>>j|0;a=(c<<2)+n|0;u[g|0]=x[a|0];if(x[a+3|0]==1){h=x[a+2|0]+h|0;break w}if(h>>>0>31){break w}a=x[((c<<2)+n|0)+2|0]+h|0;h=a>>>0>=32?32:a}x:{y:{c=w[m+16>>2];if(c>>>0<=32){while(1){e=w[m+20>>2];v=w[m+28>>2];z:{if(e>>>0>=v>>>0){a=e-(c>>>3|0)|0;w[m+20>>2]=a;d=0;c=c&7;break z}a=w[m+24>>2];if((a|0)==(e|0)){d=L-2|0;a=e;break y}g=c>>>3|0;d=a>>>0>e-g>>>0;A=e;e=d?e-a|0:g;a=A-e|0;w[m+20>>2]=a;c=c-(e<<3)|0}w[m+16>>2]=c;e=x[a|0]|x[a+1|0]<<8|(x[a+2|0]<<16|x[a+3|0]<<24);w[m+12>>2]=e;if(!(!d&l>>>0>>0)){d=L-2|0;if(c>>>0>32){break x}e=w[m+24>>2];break y}a=(e<>>j<<2)+n|0;d=y[a>>1];u[l|0]=d;u[l+1|0]=d>>>8;d=x[a+3|0]+l|0;c=x[a+2|0]+c|0;a=(e<>>j<<2)+n|0;e=y[a>>1];u[d|0]=e;u[d+1|0]=e>>>8;c=c+x[a+2|0]|0;w[m+16>>2]=c;l=d+x[a+3|0]|0;if(c>>>0<=32){continue}break}}d=L-2|0;break x}while(1){A:{if(a>>>0>=v>>>0){a=a-(c>>>3|0)|0;w[m+20>>2]=a;z=0;c=c&7;break A}if((a|0)==(e|0)){break x}g=c>>>3|0;z=a-g>>>0>>0;g=z?a-e|0:g;a=a-g|0;w[m+20>>2]=a;c=c-(g<<3)|0}w[m+16>>2]=c;g=x[a|0]|x[a+1|0]<<8|(x[a+2|0]<<16|x[a+3|0]<<24);w[m+12>>2]=g;if(z|d>>>0>>0){break x}g=(g<>>j<<2)+n|0;A=y[g>>1];u[l|0]=A;u[l+1|0]=A>>>8;c=x[g+2|0]+c|0;w[m+16>>2]=c;l=x[g+3|0]+l|0;if(c>>>0<=32){continue}break}}if(d>>>0>=l>>>0){while(1){a=(w[m+12>>2]<>>j<<2)+n|0;c=y[a>>1];u[l|0]=c;u[l+1|0]=c>>>8;c=w[m+16>>2]+x[a+2|0]|0;w[m+16>>2]=c;l=x[a+3|0]+l|0;if(l>>>0<=d>>>0){continue}break}}B:{if(l>>>0>=L>>>0){break B}d=w[m+12>>2]<>>j|0;a=(d<<2)+n|0;u[l|0]=x[a|0];if(x[a+3|0]==1){c=w[m+16>>2]+x[a+2|0]|0;break B}c=w[m+16>>2];if(c>>>0>31){break B}a=x[((d<<2)+n|0)+2|0]+c|0;c=a>>>0>=32?32:a}j=(q|0)!=6?-20:(f|0)!=32?-20:(k|0)!=(C|0)?-20:(i|0)!=32?-20:(o|0)!=(D|0)?-20:(h|0)!=32?-20:w[m+20>>2]!=w[m+24>>2]?-20:(c|0)!=32?-20:b}O=m+32|0;return j}function ha(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0;l=O-32|0;O=l;f=-20;a:{if(d>>>0<10){break a}i=x[c+4|0]|x[c+5|0]<<8;g=x[c|0]|x[c+1|0]<<8;n=g+6|0;j=x[c+2|0]|x[c+3|0]<<8;m=i+(n+j|0)|0;if(m>>>0>d>>>0){break a}if(!g){f=-72;break a}k=c+6|0;G=y[e+2>>1];b:{if(g>>>0>=4){f=-1;k=x[(g+k|0)-1|0];if(!k){break a}p=g+2|0;f=p+c|0;h=x[f|0]|x[f+1|0]<<8|(x[f+2|0]<<16|x[f+3|0]<<24);g=F(k)-23|0;break b}h=x[k|0];c:{switch(g-2|0){case 1:h=x[c+8|0]<<16|h;case 0:h=(x[c+7|0]<<8)+h|0;break;default:break c}}f=x[(g+k|0)-1|0];if(!f){f=-20;break a}p=6;g=(F(f)-(g<<3)|0)+9|0}if(!j){f=-72;break a}v=c+n|0;d:{if(j>>>0>=4){f=-1;k=x[(j+v|0)-1|0];if(!k){break a}r=j-4|0;f=v+r|0;A=x[f|0]|x[f+1|0]<<8|(x[f+2|0]<<16|x[f+3|0]<<24);k=F(k)-23|0;break d}A=x[v|0];e:{switch(j-2|0){case 1:A=x[v+2|0]<<16|A;case 0:A=(x[v+1|0]<<8)+A|0;break;default:break e}}f=x[(j+v|0)-1|0];if(!f){f=-20;break a}k=(F(f)-(j<<3)|0)+9|0}f=-72;if(!i){break a}z=j+v|0;n=i+z|0;f:{if(i>>>0>=4){f=-1;j=x[n-1|0];if(!j){break a}s=i-4|0;f=z+s|0;B=x[f|0]|x[f+1|0]<<8|(x[f+2|0]<<16|x[f+3|0]<<24);j=F(j)-23|0;break f}B=x[z|0];g:{switch(i-2|0){case 1:B=x[z+2|0]<<16|B;case 0:B=(x[z+1|0]<<8)+B|0;break;default:break g}}f=x[n-1|0];if(!f){f=-20;break a}j=(F(f)-(i<<3)|0)+9|0}f=ga(l+12|0,n,d-m|0);if(f>>>0>4294967176){break a}o=e+4|0;t=w[l+12>>2];d=b+3>>>2|0;m=d+a|0;K=a+b|0;L=K-3|0;C=d+m|0;D=C+d|0;h:{if(L>>>0<=D>>>0){n=D;i=C;e=m;break h}f=0-G&31;E=w[l+20>>2];d=w[l+16>>2];N=w[l+28>>2];e=m;i=C;n=D;while(1){q=(h<>>f<<1)+o|0;I=x[q+1|0];u[a|0]=x[q|0];q=(A<>>f<<1)+o|0;J=x[q+1|0];u[e|0]=x[q|0];q=(B<>>f<<1)+o|0;M=x[q+1|0];u[i|0]=x[q|0];q=(t<>>f<<1)+o|0;H=x[q+1|0];u[n|0]=x[q|0];g=g+I|0;q=(h<>>f<<1)+o|0;I=x[q+1|0];u[a+1|0]=x[q|0];k=k+J|0;q=(A<>>f<<1)+o|0;J=x[q+1|0];u[e+1|0]=x[q|0];j=j+M|0;q=(B<>>f<<1)+o|0;M=x[q+1|0];u[i+1|0]=x[q|0];H=d+H|0;d=(t<>>f<<1)+o|0;P=x[d+1|0];u[n+1|0]=x[d|0];g=g+I|0;if((p|0)<10){q=3}else{p=p-(g>>>3|0)|0;d=p+c|0;h=x[d|0]|x[d+1|0]<<8|(x[d+2|0]<<16|x[d+3|0]<<24);g=g&7;q=0}k=k+J|0;I=3;if((r|0)<4){J=3}else{r=r-(k>>>3|0)|0;d=v+r|0;A=x[d|0]|x[d+1|0]<<8|(x[d+2|0]<<16|x[d+3|0]<<24);k=k&7;J=0}j=j+M|0;if((s|0)>=4){s=s-(j>>>3|0)|0;d=z+s|0;B=x[d|0]|x[d+1|0]<<8|(x[d+2|0]<<16|x[d+3|0]<<24);I=0;j=j&7}d=H+P|0;i=i+2|0;e=e+2|0;a=a+2|0;if(E>>>0>>0){H=3}else{E=E-(d>>>3|0)|0;t=x[E|0]|x[E+1|0]<<8|(x[E+2|0]<<16|x[E+3|0]<<24);d=d&7;H=0}n=n+2|0;if(!(H|(q|J|I))&L>>>0>n>>>0){continue}break}w[l+20>>2]=E;w[l+16>>2]=d}w[l+12>>2]=t;if(a>>>0>m>>>0){f=-20;break a}if(e>>>0>C>>>0){f=-20;break a}f=-20;if(i>>>0>D>>>0){break a}i:{j:{k:{if(g>>>0>=33){f=0-G&31;break k}E=m-3|0;f=0-G&31;l:{m:{while(1){n:{if((p|0)>=10){h=g>>>3|0;t=0;d=g&7;break n}if((p|0)==6){d=g;p=6;break m}d=g>>>3|0;t=(p-d|0)<6;h=t?p-6|0:d;d=g-(h<<3)|0}p=p-h|0;g=p+c|0;h=x[g|0]|x[g+1|0]<<8|(x[g+2|0]<<16|x[g+3|0]<<24);if(!(t|a>>>0>=E>>>0)){g=(h<>>f<<1)+o|0;t=x[g+1|0];u[a|0]=x[g|0];d=d+t|0;g=(h<>>f<<1)+o|0;t=x[g+1|0];u[a+1|0]=x[g|0];a=a+2|0;g=d+t|0;if(g>>>0<=32){continue}break k}break}if(d>>>0>32){break l}}while(1){o:{if((p|0)>=10){h=d>>>3|0;t=0;g=d&7;break o}if((p|0)==6){p=6;break l}g=d>>>3|0;t=(p-g|0)<6;h=t?p-6|0:g;g=d-(h<<3)|0}p=p-h|0;d=p+c|0;h=x[d|0]|x[d+1|0]<<8|(x[d+2|0]<<16|x[d+3|0]<<24);d=a>>>0>=m>>>0;if(d|t){if(d){break i}break j}d=(h<>>f<<1)+o|0;t=x[d+1|0];u[a|0]=x[d|0];a=a+1|0;d=g+t|0;if(d>>>0<=32){continue}break}}g=d}if(a>>>0>=m>>>0){break i}}while(1){c=(h<>>f<<1)+o|0;d=x[c+1|0];u[a|0]=x[c|0];g=d+g|0;a=a+1|0;if(m>>>0>a>>>0){continue}break}}p:{q:{r:{if(k>>>0>=33){c=0-G&31;d=v+r|0;break r}m=C-3|0;c=0-G&31;s:{t:{u:{while(1){v:{if((r|0)>=4){a=k>>>3|0;h=0;f=k&7;break v}if(!r){r=0;d=v;f=k;break t}a=k>>>3|0;h=(v+r|0)-a>>>0>>0;a=h?r:a;f=k-(a<<3)|0}r=r-a|0;d=v+r|0;A=x[d|0]|x[d+1|0]<<8|(x[d+2|0]<<16|x[d+3|0]<<24);if(h|e>>>0>=m>>>0){break u}a=(A<>>c<<1)+o|0;d=x[a+1|0];u[e|0]=x[a|0];a=d+f|0;d=(A<>>c<<1)+o|0;f=x[d+1|0];u[e+1|0]=x[d|0];e=e+2|0;k=a+f|0;if(k>>>0<33){continue}break}d=v+r|0;break r}if(f>>>0>32){break s}}while(1){w:{if((r|0)>=4){a=f>>>3|0;h=0;k=f&7;break w}if(!r){break s}a=f>>>3|0;h=d-a>>>0>>0;a=h?r:a;k=f-(a<<3)|0}r=r-a|0;d=v+r|0;A=x[d|0]|x[d+1|0]<<8|(x[d+2|0]<<16|x[d+3|0]<<24);a=e>>>0>=C>>>0;if(a|h){if(a){break p}break q}a=(A<>>c<<1)+o|0;f=x[a+1|0];u[e|0]=x[a|0];e=e+1|0;f=f+k|0;if(f>>>0<=32){continue}break}}k=f}if(e>>>0>=C>>>0){break p}}while(1){a=(A<>>c<<1)+o|0;f=x[a+1|0];u[e|0]=x[a|0];k=f+k|0;e=e+1|0;if(C>>>0>e>>>0){continue}break}}x:{y:{z:{if(j>>>0>=33){c=0-G&31;h=s+z|0;break z}m=D-3|0;c=0-G&31;A:{B:{C:{while(1){D:{if((s|0)>=4){a=j>>>3|0;e=0;f=j&7;break D}if(!s){s=0;h=z;f=j;break B}a=j>>>3|0;e=(s+z|0)-a>>>0>>0;a=e?s:a;f=j-(a<<3)|0}s=s-a|0;h=z+s|0;B=x[h|0]|x[h+1|0]<<8|(x[h+2|0]<<16|x[h+3|0]<<24);if(e|i>>>0>=m>>>0){break C}a=(B<>>c<<1)+o|0;e=x[a+1|0];u[i|0]=x[a|0];a=e+f|0;e=(B<>>c<<1)+o|0;f=x[e+1|0];u[i+1|0]=x[e|0];i=i+2|0;j=a+f|0;if(j>>>0<33){continue}break}h=s+z|0;break z}if(f>>>0>32){break A}}while(1){E:{if((s|0)>=4){a=f>>>3|0;e=0;j=f&7;break E}if(!s){break A}a=f>>>3|0;e=h-a>>>0>>0;a=e?s:a;j=f-(a<<3)|0}s=s-a|0;h=z+s|0;B=x[h|0]|x[h+1|0]<<8|(x[h+2|0]<<16|x[h+3|0]<<24);a=i>>>0>=D>>>0;if(a|e){if(a){break x}break y}a=(B<>>c<<1)+o|0;e=x[a+1|0];u[i|0]=x[a|0];i=i+1|0;f=e+j|0;if(f>>>0<=32){continue}break}}j=f}if(i>>>0>=D>>>0){break x}}while(1){a=(B<>>c<<1)+o|0;e=x[a+1|0];u[i|0]=x[a|0];j=e+j|0;i=i+1|0;if(D>>>0>i>>>0){continue}break}}c=w[l+16>>2];F:{G:{H:{if(c>>>0>=33){a=0-G&31;break H}a=0-G&31;I:{while(1){f=w[l+20>>2];C=w[l+28>>2];J:{if(f>>>0>=C>>>0){f=f-(c>>>3|0)|0;w[l+20>>2]=f;i=0;c=c&7;break J}m=w[l+24>>2];i=f;if((m|0)==(f|0)){break I}e=c>>>3|0;i=m>>>0>f-e>>>0;e=i?f-m|0:e;f=f-e|0;w[l+20>>2]=f;c=c-(e<<3)|0}w[l+16>>2]=c;e=x[f|0]|x[f+1|0]<<8|(x[f+2|0]<<16|x[f+3|0]<<24);w[l+12>>2]=e;if(!(i|n>>>0>=L>>>0)){f=(e<>>a<<1)+o|0;i=x[f+1|0];u[n|0]=x[f|0];c=c+i|0;e=(e<>>a<<1)+o|0;f=x[e|0];c=c+x[e+1|0]|0;w[l+16>>2]=c;u[n+1|0]=f;n=n+2|0;if(c>>>0<33){continue}break H}break}if(c>>>0>32){break H}i=w[l+24>>2]}while(1){K:{if(f>>>0>=C>>>0){f=f-(c>>>3|0)|0;w[l+20>>2]=f;e=0;c=c&7;break K}if((f|0)==(i|0)){break H}m=c>>>3|0;e=i>>>0>f-m>>>0;m=e?f-i|0:m;f=f-m|0;w[l+20>>2]=f;c=c-(m<<3)|0}w[l+16>>2]=c;m=x[f|0]|x[f+1|0]<<8|(x[f+2|0]<<16|x[f+3|0]<<24);w[l+12>>2]=m;D=e;e=n>>>0>=K>>>0;if(D|e){if(e){break F}break G}e=(m<>>a<<1)+o|0;m=x[e|0];c=c+x[e+1|0]|0;w[l+16>>2]=c;u[n|0]=m;n=n+1|0;if(c>>>0<=32){continue}break}}if(n>>>0>=K>>>0){break F}}while(1){c=w[l+16>>2];e=(w[l+12>>2]<>>a<<1)+o|0;f=x[e|0];w[l+16>>2]=c+x[e+1|0];u[n|0]=f;n=n+1|0;if(K>>>0>n>>>0){continue}break}}f=(p|0)!=6?-20:(g|0)!=32?-20:(d|0)!=(v|0)?-20:(k|0)!=32?-20:(h|0)!=(z|0)?-20:(j|0)!=32?-20:w[l+20>>2]!=w[l+24>>2]?-20:w[l+16>>2]!=32?-20:b}O=l+32|0;return f}function fa(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;h=O-144|0;O=h;f=-44;a:{if(e>>>0<1500){break a}F=w[a>>2];l=X(d+624|0,0,108);if((F&255)>>>0>12){break a}o=d+1244|0;G=ka(o,l,h+8|0,h+12|0,b,c);if(G>>>0<=4294967176){z=F&255;s=w[h+12>>2];if(z>>>0>>0){break a}B=d+732|0;c=d+680|0;D=s+1|0;b=0;g=z;f=s;while(1){i=b;b=b+1|0;m=g;g=g-1|0;e=f;f=f-1|0;if(!w[l+(e<<2)>>2]){continue}break}b=1;t=e+1|0;b:{if(t>>>0<2){break b}f=0;if(s+(i^-1)>>>0>=3){j=e&-4;while(1){g=b<<2;n=w[g+l>>2];w[c+g>>2]=p;q=g+4|0;y=w[q+l>>2];p=n+p|0;w[c+q>>2]=p;n=g+8|0;q=w[n+l>>2];p=p+y|0;w[c+n>>2]=p;g=g+12|0;n=w[g+l>>2];k=c+g|0;g=p+q|0;w[k>>2]=g;p=g+n|0;b=b+4|0;r=r+4|0;if((j|0)!=(r|0)){continue}break}}g=e&3;if(!g){break b}while(1){j=b<<2;n=w[j+l>>2];w[c+j>>2]=p;b=b+1|0;p=n+p|0;f=f+1|0;if((g|0)!=(f|0)){continue}break}}w[c>>2]=p;f=w[h+8>>2];c:{if(!f){break c}b=0;if((f|0)!=1){n=f&-2;g=0;while(1){q=x[b+o|0];y=c+(q<<2)|0;j=w[y>>2];w[y>>2]=j+1;j=(j<<1)+B|0;u[j+1|0]=q;u[j|0]=b;q=b|1;y=x[q+o|0];r=c+(y<<2)|0;j=w[r>>2];w[r>>2]=j+1;j=(j<<1)+B|0;u[j+1|0]=y;u[j|0]=q;b=b+2|0;g=g+2|0;if((n|0)!=(g|0)){continue}break}}if(!(f&1)){break c}g=x[b+o|0];o=c+(g<<2)|0;f=w[o>>2];w[o>>2]=f+1;f=(f<<1)+B|0;u[f+1|0]=g;u[f|0]=b}b=0;w[c>>2]=0;d:{if(t>>>0>=2){c=1;o=s+(i^-1)|0;if(o){g=(s^-1)+z|0;s=e&-2;f=0;while(1){i=c<<2;j=w[i+l>>2];w[d+i>>2]=b;i=c+1|0;n=i<<2;q=w[n+l>>2];b=(j<>2]=b;b=b+(q<>2]=b}s=D-e|0;if(t>>>0<2|s>>>0>=(z-s|0)+1>>>0){break d}l=e&-4;i=e&3;f=s;while(1){c=C(f,52)+d|0;g=0;e=1;if(o>>>0>=3){while(1){b=e<<2;w[b+c>>2]=w[b+d>>2]>>>f;t=b+4|0;w[t+c>>2]=w[d+t>>2]>>>f;t=b+8|0;w[t+c>>2]=w[d+t>>2]>>>f;b=b+12|0;w[b+c>>2]=w[b+d>>2]>>>f;e=e+4|0;g=g+4|0;if((l|0)!=(g|0)){continue}break}}b=0;if(i){while(1){g=e<<2;w[g+c>>2]=w[d+g>>2]>>>f;e=e+1|0;b=b+1|0;if((i|0)!=(b|0)){continue}break}}f=f+1|0;if((m|0)!=(f|0)){continue}break}break d}s=D-e|0}w[h- -64>>2]=w[d+48>>2];b=w[d+44>>2];w[h+56>>2]=w[d+40>>2];w[h+60>>2]=b;b=w[d+36>>2];w[h+48>>2]=w[d+32>>2];w[h+52>>2]=b;b=w[d+28>>2];w[h+40>>2]=w[d+24>>2];w[h+44>>2]=b;b=w[d+20>>2];w[h+32>>2]=w[d+16>>2];w[h+36>>2]=b;b=w[d+4>>2];w[h+16>>2]=w[d>>2];w[h+20>>2]=b;b=w[d+12>>2];w[h+24>>2]=w[d+8>>2];w[h+28>>2]=b;if(p){I=d+676|0;t=a+4|0;J=D-z|0;j=0;while(1){b=(j<<1)+B|0;c=x[b+1|0];l=D-c|0;o=z-l|0;n=1<>2];e:{if(o>>>0>=s>>>0){b=l+J|0;c=(b|0)<=1?1:b;e=c<<2;y=w[e+I>>2];b=C(l,52)+d|0;w[h+128>>2]=w[b+48>>2];f=w[b+44>>2];w[h+120>>2]=w[b+40>>2];w[h+124>>2]=f;f=w[b+36>>2];w[h+112>>2]=w[b+32>>2];w[h+116>>2]=f;f=w[b+28>>2];w[h+104>>2]=w[b+24>>2];w[h+108>>2]=f;f=w[b+20>>2];w[h+96>>2]=w[b+16>>2];w[h+100>>2]=f;f=w[b+12>>2];w[h+88>>2]=w[b+8>>2];w[h+92>>2]=f;f=w[b+4>>2];w[h+80>>2]=w[b>>2];w[h+84>>2]=f;i=t+(g<<2)|0;f:{if(c>>>0<2){break f}r=w[e+(h+80|0)>>2];if(!r){break f}c=q|l<<16&16711680|16777216;f=0;b=0;if(r>>>0>=8){E=r&-8;e=0;while(1){m=b<<2;k=m+i|0;v[k>>1]=c;A=c>>>16|0;v[k+2>>1]=A;k=(m|4)+i|0;v[k>>1]=c;v[k+2>>1]=A;k=(m|8)+i|0;v[k>>1]=c;v[k+2>>1]=A;k=(m|12)+i|0;v[k>>1]=c;v[k+2>>1]=A;k=(m|16)+i|0;v[k>>1]=c;v[k+2>>1]=A;k=(m|20)+i|0;v[k>>1]=c;v[k+2>>1]=A;k=(m|24)+i|0;v[k>>1]=c;v[k+2>>1]=A;m=(m|28)+i|0;v[m>>1]=c;v[m+2>>1]=A;b=b+8|0;e=e+8|0;if((E|0)!=(e|0)){continue}break}}e=r&7;if(!e){break f}while(1){m=(b<<2)+i|0;v[m>>1]=c;v[m+2>>1]=c>>>16;b=b+1|0;f=f+1|0;if((e|0)!=(f|0)){continue}break}}if((p|0)!=(y|0)){m=p-y|0;y=(y<<1)+B|0;f=0;while(1){r=y+(f<<1)|0;c=x[r+1|0];b=D-c|0;E=(h+80|0)+(c<<2)|0;e=w[E>>2];c=e+(1<>1]=b;v[r+2>>1]=b>>>16;e=e+1|0;if(c>>>0>e>>>0){continue}break}w[E>>2]=c;f=f+1|0;if((m|0)!=(f|0)){continue}break}}c=g+n|0;break e}c=g+n|0;if(g>>>0>=c>>>0){break e}b=q|l<<16&16711680|16777216;if(o>>>0<=2){e=n&7;f=0;while(1){i=t+(g<<2)|0;v[i>>1]=b;v[i+2>>1]=b>>>16;g=g+1|0;f=f+1|0;if((e|0)!=(f|0)){continue}break}}if(o>>>0<3){break e}while(1){e=t+(g<<2)|0;v[e>>1]=b;f=b>>>16|0;v[e+2>>1]=f;v[e+28>>1]=b;v[e+30>>1]=f;v[e+24>>1]=b;v[e+26>>1]=f;v[e+20>>1]=b;v[e+22>>1]=f;v[e+16>>1]=b;v[e+18>>1]=f;v[e+12>>1]=b;v[e+14>>1]=f;v[e+8>>1]=b;v[e+10>>1]=f;v[e+4>>1]=b;v[e+6>>1]=f;g=g+8|0;if((g|0)!=(c|0)){continue}break}}w[H>>2]=c;j=j+1|0;if((p|0)!=(j|0)){continue}break}}w[a>>2]=F&-16777216|z<<16|z|256}f=G}O=h+144|0;return f}function ea(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;n=-70;l=w[c+4>>2];j=w[c>>2];p=l+j|0;a:{if(p>>>0>b-a>>>0){break a}n=-20;i=w[d>>2];if(j>>>0>e-i>>>0){break a}e=b-32|0;q=i+j|0;b=a+j|0;o=w[c+8>>2];b:{if((j|0)<=7){if((j|0)<=0){break b}while(1){u[a|0]=x[i|0];i=i+1|0;a=a+1|0;if(b>>>0>a>>>0){continue}break}break b}if(b>>>0<=e>>>0){while(1){j=x[i+4|0]|x[i+5|0]<<8|(x[i+6|0]<<16|x[i+7|0]<<24);k=x[i|0]|x[i+1|0]<<8|(x[i+2|0]<<16|x[i+3|0]<<24);u[a|0]=k;u[a+1|0]=k>>>8;u[a+2|0]=k>>>16;u[a+3|0]=k>>>24;u[a+4|0]=j;u[a+5|0]=j>>>8;u[a+6|0]=j>>>16;u[a+7|0]=j>>>24;j=x[i+12|0]|x[i+13|0]<<8|(x[i+14|0]<<16|x[i+15|0]<<24);k=x[i+8|0]|x[i+9|0]<<8|(x[i+10|0]<<16|x[i+11|0]<<24);u[a+8|0]=k;u[a+9|0]=k>>>8;u[a+10|0]=k>>>16;u[a+11|0]=k>>>24;u[a+12|0]=j;u[a+13|0]=j>>>8;u[a+14|0]=j>>>16;u[a+15|0]=j>>>24;i=i+16|0;a=a+16|0;if(b>>>0>a>>>0){continue}break b}}if(a>>>0<=e>>>0){r=e-a|0;j=i;while(1){k=x[j+4|0]|x[j+5|0]<<8|(x[j+6|0]<<16|x[j+7|0]<<24);m=x[j|0]|x[j+1|0]<<8|(x[j+2|0]<<16|x[j+3|0]<<24);u[a|0]=m;u[a+1|0]=m>>>8;u[a+2|0]=m>>>16;u[a+3|0]=m>>>24;u[a+4|0]=k;u[a+5|0]=k>>>8;u[a+6|0]=k>>>16;u[a+7|0]=k>>>24;k=x[j+12|0]|x[j+13|0]<<8|(x[j+14|0]<<16|x[j+15|0]<<24);m=x[j+8|0]|x[j+9|0]<<8|(x[j+10|0]<<16|x[j+11|0]<<24);u[a+8|0]=m;u[a+9|0]=m>>>8;u[a+10|0]=m>>>16;u[a+11|0]=m>>>24;u[a+12|0]=k;u[a+13|0]=k>>>8;u[a+14|0]=k>>>16;u[a+15|0]=k>>>24;j=j+16|0;a=a+16|0;if(e>>>0>a>>>0){continue}break}i=i+r|0;a=e}if(a>>>0>=b>>>0){break b}while(1){u[a|0]=x[i|0];i=i+1|0;a=a+1|0;if(b>>>0>a>>>0){continue}break}}a=b-o|0;w[d>>2]=q;c:{d:{if(b-f>>>0>>0){if(b-g>>>0>>0){break a}a=a-f|0;d=a+h|0;if(d+l>>>0<=h>>>0){W(b,d,l);break c}b=W(b,d,0-a|0);l=a+l|0;w[c+4>>2]=l;b=b-a|0;break d}f=a}c=b+l|0;if((l|0)<=7){if((l|0)<=0){break c}while(1){u[b|0]=x[f|0];f=f+1|0;b=b+1|0;if(c>>>0>b>>>0){continue}break}break c}a=b-f|0;e:{if(a>>>0<=7){u[b|0]=x[f|0];u[b+1|0]=x[f+1|0];u[b+2|0]=x[f+2|0];u[b+3|0]=x[f+3|0];d=f;f=a<<2;a=d+w[f+4752>>2]|0;d=x[a|0]|x[a+1|0]<<8|(x[a+2|0]<<16|x[a+3|0]<<24);u[b+4|0]=d;u[b+5|0]=d>>>8;u[b+6|0]=d>>>16;u[b+7|0]=d>>>24;f=a-w[f+4784>>2]|0;break e}a=x[f+4|0]|x[f+5|0]<<8|(x[f+6|0]<<16|x[f+7|0]<<24);d=x[f|0]|x[f+1|0]<<8|(x[f+2|0]<<16|x[f+3|0]<<24);u[b|0]=d;u[b+1|0]=d>>>8;u[b+2|0]=d>>>16;u[b+3|0]=d>>>24;u[b+4|0]=a;u[b+5|0]=a>>>8;u[b+6|0]=a>>>16;u[b+7|0]=a>>>24}a=b+8|0;i=f+8|0;if(c>>>0<=e>>>0){d=a+l|0;if((a-i|0)<=15){while(1){b=x[i+4|0]|x[i+5|0]<<8|(x[i+6|0]<<16|x[i+7|0]<<24);c=x[i|0]|x[i+1|0]<<8|(x[i+2|0]<<16|x[i+3|0]<<24);u[a|0]=c;u[a+1|0]=c>>>8;u[a+2|0]=c>>>16;u[a+3|0]=c>>>24;u[a+4|0]=b;u[a+5|0]=b>>>8;u[a+6|0]=b>>>16;u[a+7|0]=b>>>24;i=i+8|0;a=a+8|0;if(d>>>0>a>>>0){continue}break c}}while(1){b=x[i+4|0]|x[i+5|0]<<8|(x[i+6|0]<<16|x[i+7|0]<<24);c=x[i|0]|x[i+1|0]<<8|(x[i+2|0]<<16|x[i+3|0]<<24);u[a|0]=c;u[a+1|0]=c>>>8;u[a+2|0]=c>>>16;u[a+3|0]=c>>>24;u[a+4|0]=b;u[a+5|0]=b>>>8;u[a+6|0]=b>>>16;u[a+7|0]=b>>>24;b=x[i+12|0]|x[i+13|0]<<8|(x[i+14|0]<<16|x[i+15|0]<<24);c=x[i+8|0]|x[i+9|0]<<8|(x[i+10|0]<<16|x[i+11|0]<<24);u[a+8|0]=c;u[a+9|0]=c>>>8;u[a+10|0]=c>>>16;u[a+11|0]=c>>>24;u[a+12|0]=b;u[a+13|0]=b>>>8;u[a+14|0]=b>>>16;u[a+15|0]=b>>>24;i=i+16|0;a=a+16|0;if(d>>>0>a>>>0){continue}break}break c}f:{if(a>>>0>e>>>0){e=a;break f}g=e-a|0;g:{if((a-i|0)<=15){b=i;while(1){d=x[b+4|0]|x[b+5|0]<<8|(x[b+6|0]<<16|x[b+7|0]<<24);f=x[b|0]|x[b+1|0]<<8|(x[b+2|0]<<16|x[b+3|0]<<24);u[a|0]=f;u[a+1|0]=f>>>8;u[a+2|0]=f>>>16;u[a+3|0]=f>>>24;u[a+4|0]=d;u[a+5|0]=d>>>8;u[a+6|0]=d>>>16;u[a+7|0]=d>>>24;b=b+8|0;a=a+8|0;if(e>>>0>a>>>0){continue}break}break g}b=i;while(1){d=x[b+4|0]|x[b+5|0]<<8|(x[b+6|0]<<16|x[b+7|0]<<24);f=x[b|0]|x[b+1|0]<<8|(x[b+2|0]<<16|x[b+3|0]<<24);u[a|0]=f;u[a+1|0]=f>>>8;u[a+2|0]=f>>>16;u[a+3|0]=f>>>24;u[a+4|0]=d;u[a+5|0]=d>>>8;u[a+6|0]=d>>>16;u[a+7|0]=d>>>24;d=x[b+12|0]|x[b+13|0]<<8|(x[b+14|0]<<16|x[b+15|0]<<24);f=x[b+8|0]|x[b+9|0]<<8|(x[b+10|0]<<16|x[b+11|0]<<24);u[a+8|0]=f;u[a+9|0]=f>>>8;u[a+10|0]=f>>>16;u[a+11|0]=f>>>24;u[a+12|0]=d;u[a+13|0]=d>>>8;u[a+14|0]=d>>>16;u[a+15|0]=d>>>24;b=b+16|0;a=a+16|0;if(e>>>0>a>>>0){continue}break}}i=g+i|0}if(c>>>0<=e>>>0){break c}while(1){u[e|0]=x[i|0];i=i+1|0;e=e+1|0;if(c>>>0>e>>>0){continue}break}}n=p}return n}function $(a,b,c,d,e){var f=0,g=0,h=0;h=w[a+28804>>2];g=w[a+28744>>2];a:{if(h-3>>>0>=2){break a}g=w[a+28744>>2];if(w[a+28800>>2]){break a}f=e>>>0<=1?1:e;g=w[a+28744>>2];g=f>>>0>>0?f:g}f=-72;b:{c:{d:{if((e|0)!=(g|0)){break d}e:{if(!c){break e}f=w[a+28728>>2];if((f|0)==(b|0)){break e}w[a+28740>>2]=f;w[a+28728>>2]=b;g=w[a+28732>>2];w[a+28732>>2]=b;w[a+28736>>2]=(g-f|0)+b}f=-1;f:{g:{h:{i:{j:{switch(h|0){case 0:f=1;k:{if(w[a+28908>>2]){break k}f=5;if(((x[d|0]|x[d+1|0]<<8|(x[d+2|0]<<16|x[d+3|0]<<24))&-16)!=407710288){break k}U(a+160144|0,d,e);w[a+28804>>2]=6;w[a+28744>>2]=8-e;break b}if(e>>>0>>0){w[a+28904>>2]=-72;return-72}b=x[(d+f|0)-1|0];f=(((w[((b&3)<<2)+4720>>2]+f|0)+w[(b>>>4&12)+4736>>2]|0)+!(b&32)|0)+(b>>>5&b>>>0<64)|0;w[a+28904>>2]=f;if(f>>>0>4294967176){break d}U(a+160144|0,d,e);w[a+28804>>2]=1;w[a+28744>>2]=f-e;break b;case 1:b=a+160144|0;U(b+(w[a+28904>>2]-e|0)|0,d,e);b=Z(a+28752|0,b,w[a+28904>>2],w[a+28908>>2]);if(b>>>0>4294967176){return b}f=-72;if(b){break d}b=w[a+28780>>2];if(b){f=-32;if((b|0)!=w[a+28952>>2]){break d}}if(w[a+28784>>2]){w[a+28816>>2]=0;w[a+28820>>2]=0;b=a+28856|0;w[b>>2]=0;w[b+4>>2]=0;b=a+28848|0;w[b>>2]=2048144761;w[b+4>>2]=1640531534;b=a+28840|0;w[b>>2]=0;w[b+4>>2]=0;b=a+28832|0;w[b>>2]=668265295;w[b+4>>2]=-1028477379;b=a+28824|0;w[b>>2]=-1379879466;w[b+4>>2]=1625958382;b=a+28864|0;w[b>>2]=0;w[b+4>>2]=0;b=a+28872|0;w[b>>2]=0;w[b+4>>2]=0;b=a+28880|0;w[b>>2]=0;w[b+4>>2]=0;b=a+28888|0;w[b>>2]=0;w[b+4>>2]=0}break c;case 2:c=x[d|0]|x[d+1|0]<<8;e=c&1;d=c|x[d+2|0]<<16;b=d>>>3|0;f=-20;l:{m:{n:{o:{c=c>>>1&3;switch(c-1|0){case 0:break o;case 2:break d;default:break n}}if(!w[a+28768>>2]){break d}w[a+28932>>2]=b;w[a+28800>>2]=1;w[a+28744>>2]=1;break m}if(b>>>0>z[a+28768>>2]){break d}w[a+28932>>2]=b;w[a+28800>>2]=c;w[a+28744>>2]=b;if(d>>>0<8){break l}}w[a+28804>>2]=e?4:3;break b}if(e){if(!w[a+28784>>2]){break i}w[a+28804>>2]=5;w[a+28744>>2]=4;break b}break c;case 3:case 4:f=-20;p:{q:{switch(w[a+28800>>2]){case 2:f=na(a,b,c,d,e);break p;case 0:if(!b){f=-74;if(e){break d}break g}f=-70;if(c>>>0>>0){break d}U(b,d,e);if(e>>>0<=4294967176){break g}return e;case 1:break q;default:break d}}e=w[a+28932>>2];f=e?-74:0;if(!b){break p}f=-70;if(c>>>0>>0){break p}X(b,x[d|0],e);f=e}d=0;w[a+28744>>2]=0;if(f>>>0>4294967176){break d}break f;case 6:break h;case 7:break i;case 5:break j;default:break d}}f=-22;if((x[d|0]|x[d+1|0]<<8|(x[d+2|0]<<16|x[d+3|0]<<24))!=(la(a+28816|0)|0)){break d}}f=0;w[a+28804>>2]=0;w[a+28744>>2]=0;break d}U((a-e|0)+160152|0,d,e);w[a+28804>>2]=7;b=a;a=a+160148|0;w[b+28744>>2]=x[a|0]|x[a+1|0]<<8|(x[a+2|0]<<16|x[a+3|0]<<24);break b}d=w[a+28744>>2]-e|0;w[a+28744>>2]=d;f=e}c=f;if(c>>>0>z[a+28768>>2]){return-20}e=w[a+28796>>2];f=w[a+28792>>2]+c|0;e=c>>>0>f>>>0?e+1|0:e;w[a+28792>>2]=f;w[a+28796>>2]=e;if(w[a+28784>>2]){ma(a+28816|0,b,c);d=w[a+28744>>2]}w[a+28728>>2]=b+c;if(d){return c}if(w[a+28804>>2]==4){b=w[a+28752>>2];d=w[a+28756>>2];if((b&d)!=-1){f=-20;if((b|0)!=w[a+28792>>2]|(d|0)!=w[a+28796>>2]){break d}}if(w[a+28784>>2]){w[a+28804>>2]=5;w[a+28744>>2]=4;return c}w[a+28804>>2]=0;w[a+28744>>2]=0;return c}w[a+28744>>2]=3;w[a+28804>>2]=2;return c}return f}w[a+28804>>2]=2;w[a+28744>>2]=3}return 0}function ma(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=w[a+4>>2];e=c+w[a>>2]|0;d=e>>>0>>0?d+1|0:d;w[a>>2]=e;w[a+4>>2]=d;e=w[a+72>>2];g=e+c|0;a:{b:{if(g>>>0<=31){if(!b){break b}U((a+e|0)+40|0,b,c);g=w[a+72>>2]+c|0;break b}j=b+c|0;if(e){U(e+(a+40|0)|0,b,32-e|0);g=w[a+72>>2];w[a+72>>2]=0;e=w[a+12>>2];c=w[a+8>>2];f=Da(x[a+40|0]|x[a+41|0]<<8|(x[a+42|0]<<16|x[a+43|0]<<24),x[a+44|0]|x[a+45|0]<<8|(x[a+46|0]<<16|x[a+47|0]<<24),668265295,-1028477379);c=c+f|0;d=P+e|0;w[a+8>>2]=Da(Ea(c,c>>>0>>0?d+1|0:d,31),P,-2048144761,-1640531535);w[a+12>>2]=P;c=w[a+20>>2];e=w[a+16>>2];f=Da(x[a+48|0]|x[a+49|0]<<8|(x[a+50|0]<<16|x[a+51|0]<<24),x[a+52|0]|x[a+53|0]<<8|(x[a+54|0]<<16|x[a+55|0]<<24),668265295,-1028477379);e=e+f|0;c=P+c|0;w[a+16>>2]=Da(Ea(e,e>>>0>>0?c+1|0:c,31),P,-2048144761,-1640531535);w[a+20>>2]=P;c=w[a+28>>2];e=w[a+24>>2];f=Da(x[a+56|0]|x[a+57|0]<<8|(x[a+58|0]<<16|x[a+59|0]<<24),x[a+60|0]|x[a+61|0]<<8|(x[a+62|0]<<16|x[a+63|0]<<24),668265295,-1028477379);e=e+f|0;c=P+c|0;w[a+24>>2]=Da(Ea(e,e>>>0>>0?c+1|0:c,31),P,-2048144761,-1640531535);w[a+28>>2]=P;e=w[a+36>>2];h=w[a+32>>2];c=a- -64|0;f=Da(x[c|0]|x[c+1|0]<<8|(x[c+2|0]<<16|x[c+3|0]<<24),x[c+4|0]|x[c+5|0]<<8|(x[c+6|0]<<16|x[c+7|0]<<24),668265295,-1028477379);c=h+f|0;d=P+e|0;w[a+32>>2]=Da(Ea(c,c>>>0>>0?d+1|0:d,31),P,-2048144761,-1640531535);w[a+36>>2]=P;b=(b-g|0)+32|0}if(j>>>0>=b+32>>>0){o=j-32|0;c=w[a+32>>2];k=w[a+36>>2];e=w[a+24>>2];l=w[a+28>>2];g=w[a+16>>2];m=w[a+20>>2];f=w[a+8>>2];n=w[a+12>>2];while(1){i=Da(x[b+24|0]|x[b+25|0]<<8|(x[b+26|0]<<16|x[b+27|0]<<24),x[b+28|0]|x[b+29|0]<<8|(x[b+30|0]<<16|x[b+31|0]<<24),668265295,-1028477379);d=k+P|0;h=c;c=c+i|0;d=h>>>0>c>>>0?d+1|0:d;c=Da(Ea(c,d,31),P,-2048144761,-1640531535);k=P;i=Da(x[b+16|0]|x[b+17|0]<<8|(x[b+18|0]<<16|x[b+19|0]<<24),x[b+20|0]|x[b+21|0]<<8|(x[b+22|0]<<16|x[b+23|0]<<24),668265295,-1028477379);d=l+P|0;h=e;e=e+i|0;d=h>>>0>e>>>0?d+1|0:d;e=Da(Ea(e,d,31),P,-2048144761,-1640531535);l=P;i=Da(x[b+8|0]|x[b+9|0]<<8|(x[b+10|0]<<16|x[b+11|0]<<24),x[b+12|0]|x[b+13|0]<<8|(x[b+14|0]<<16|x[b+15|0]<<24),668265295,-1028477379);d=m+P|0;h=g;g=g+i|0;d=h>>>0>g>>>0?d+1|0:d;g=Da(Ea(g,d,31),P,-2048144761,-1640531535);m=P;i=Da(x[b|0]|x[b+1|0]<<8|(x[b+2|0]<<16|x[b+3|0]<<24),x[b+4|0]|x[b+5|0]<<8|(x[b+6|0]<<16|x[b+7|0]<<24),668265295,-1028477379);d=n+P|0;h=f;f=f+i|0;d=h>>>0>f>>>0?d+1|0:d;f=Da(Ea(f,d,31),P,-2048144761,-1640531535);n=P;b=b+32|0;if(o>>>0>=b>>>0){continue}break}w[a+32>>2]=c;w[a+36>>2]=k;w[a+24>>2]=e;w[a+28>>2]=l;w[a+16>>2]=g;w[a+20>>2]=m;w[a+8>>2]=f;w[a+12>>2]=n}if(b>>>0>=j>>>0){break a}g=j-b|0;U(a+40|0,b,g)}w[a+72>>2]=g}}function la(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=a+40|0;l=w[a+72>>2];k=f+l|0;b=w[a+4>>2];m=b;i=w[a>>2];a:{if(!b&i>>>0>=32|b){c=w[a+20>>2];n=c;h=w[a+16>>2];e=Ea(h,c,7);b=P;c=w[a+12>>2];o=c;d=w[a+8>>2];c=Ea(d,c,1);g=c+e|0;e=P+b|0;e=c>>>0>g>>>0?e+1|0:e;c=w[a+28>>2];p=c;b=w[a+24>>2];c=Ea(b,c,12);j=c+g|0;e=P+e|0;e=c>>>0>j>>>0?e+1|0:e;g=w[a+36>>2];q=g;c=w[a+32>>2];g=Ea(c,g,18);j=g+j|0;e=P+e|0;d=Da(Da(Ea(Da(d,o,668265295,-1028477379),P,31),P,-2048144761,-1640531535)^j,P^(g>>>0>j>>>0?e+1|0:e),-2048144761,-1640531535);g=d-1028477341|0;e=P-((d>>>0<1028477341)+2048144776|0)|0;d=Da(Da(Ea(Da(h,n,668265295,-1028477379),P,31),P,-2048144761,-1640531535)^g,P^e,-2048144761,-1640531535);h=d-1028477341|0;d=P-((d>>>0<1028477341)+2048144776|0)|0;b=Da(Da(Ea(Da(b,p,668265295,-1028477379),P,31),P,-2048144761,-1640531535)^h,P^d,-2048144761,-1640531535);d=b-1028477341|0;b=P-((b>>>0<1028477341)+2048144776|0)|0;b=Da(Da(Ea(Da(c,q,668265295,-1028477379),P,31),P,-2048144761,-1640531535)^d,P^b,-2048144761,-1640531535);c=b-1028477341|0;b=P-((b>>>0<1028477341)+2048144776|0)|0;break a}e=w[a+28>>2]+668265263|0;c=w[a+24>>2]+374761413|0;b=c>>>0<374761413?e+1|0:e}e=b+m|0;c=c+i|0;d=c>>>0>>0?e+1|0:e;b=a+48|0;if(k>>>0>=b>>>0){while(1){d=Da(Ea(Da(Ea(Da(x[f|0]|x[f+1|0]<<8|(x[f+2|0]<<16|x[f+3|0]<<24),x[f+4|0]|x[f+5|0]<<8|(x[f+6|0]<<16|x[f+7|0]<<24),668265295,-1028477379),P,31),P,-2048144761,-1640531535)^c,d^P,27),P,-2048144761,-1640531535);c=d-1028477341|0;d=P-((d>>>0<1028477341)+2048144776|0)|0;f=b;b=b+8|0;if(k>>>0>=b>>>0){continue}break}}b=f+4|0;b:{if(k>>>0>>0){b=f;break b}c=Da(Ea(Da(x[f|0]|x[f+1|0]<<8|(x[f+2|0]<<16|x[f+3|0]<<24),0,-2048144761,-1640531535)^c,d^P,23),P,668265295,-1028477379);e=P+374761393|0;c=c-1640531463|0;d=c>>>0<2654435833?e+1|0:e}c:{if(b>>>0>=k>>>0){break c}a=a+l|0;h=a+39|0;i=a+40|0;if(i-b&1){c=Da(Ea(Da(x[b|0],0,374761413,668265263)^c,d^P,11),P,-2048144761,-1640531535);d=P;f=b+1|0}else{f=b}if((b|0)==(h|0)){break c}while(1){h=Da(x[f+1|0],0,374761413,668265263);b=P;c=Da(Ea(Da(Ea(Da(x[f|0],0,374761413,668265263)^c,d^P,11),P,-2048144761,-1640531535)^h,P^b,11),P,-2048144761,-1640531535);d=P;f=f+2|0;if((i|0)!=(f|0)){continue}break}}a=Da(c^d>>>1,d,668265295,-1028477379);b=P;c=b>>>29|0;a=Da(a^((b&536870911)<<3|a>>>29),b^c,-1640531463,374761393);b=P;a=a^b;P=b;return a}function Z(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;w[a>>2]=0;w[a+4>>2]=0;w[a+32>>2]=0;w[a+36>>2]=0;w[a+24>>2]=0;w[a+28>>2]=0;w[a+16>>2]=0;w[a+20>>2]=0;w[a+8>>2]=0;w[a+12>>2]=0;e=d?1:5;if(e>>>0>c>>>0){return e}if(!b){return-1}f=1;a:{b:{c:{d:{e:{f:{g:{h:{if((d|0)==1){d=b;if(c){break h}d=-72;break g}f=x[b|0]|x[b+1|0]<<8|(x[b+2|0]<<16|x[b+3|0]<<24);if((f|0)!=-47205080){break f}f=e;d=(b+e|0)-1|0}d=x[d|0];d=(((w[((d&3)<<2)+4720>>2]+f|0)+w[(d>>>4&12)+4736>>2]|0)+!(d&32)|0)+(d>>>5&d>>>0<64)|0}if(d>>>0>c>>>0){break a}w[a+24>>2]=d;d=-14;c=b+e|0;h=x[c-1|0];if(h&8){break a}j=h&32;if(!j){d=-16;c=x[c|0];if(c>>>0>167){break a}d=c&7;c=(c>>>3|0)+10|0;g=c&31;if((c&63)>>>0>=32){c=1<>>32-g}i=f;d=Da(d,0,(c&7)<<29|i>>>3,c>>>3|0);g=c+P|0;e=e+1|0;i=d+i|0;g=f>>>0>i>>>0?g+1|0:g}k=h>>>6|0;f=h>>>2|0;d=0;switch((h&3)-1|0){case 2:break c;case 1:break d;case 0:break e;default:break b}}d=-10;if((f&-16)!=407710288){break a}d=8;if(c>>>0<8){break a}b=x[b+4|0]|x[b+5|0]<<8|(x[b+6|0]<<16|x[b+7|0]<<24);w[a+20>>2]=1;w[a>>2]=b;w[a+4>>2]=0;return 0}d=x[b+e|0];e=e+1|0;break b}c=b+e|0;d=x[c|0]|x[c+1|0]<<8;e=e+2|0;break b}c=b+e|0;d=x[c|0]|x[c+1|0]<<8|(x[c+2|0]<<16|x[c+3|0]<<24);e=e+4|0}h=f&1;i:{j:{switch(k-1|0){default:c=-1;f=-1;if(!j){break i}c=x[b+e|0];f=0;break i;case 0:b=b+e|0;c=x[b|0]|x[b+1|0]<<8;b=0;c=c+256|0;f=c>>>0<256?1:b;break i;case 1:b=b+e|0;c=x[b|0]|x[b+1|0]<<8|(x[b+2|0]<<16|x[b+3|0]<<24);f=0;break i;case 2:break j}}b=b+e|0;c=x[b|0]|x[b+1|0]<<8|(x[b+2|0]<<16|x[b+3|0]<<24);f=x[b+4|0]|x[b+5|0]<<8|(x[b+6|0]<<16|x[b+7|0]<<24)}w[a+32>>2]=h;w[a+28>>2]=d;w[a>>2]=c;w[a+4>>2]=f;d=0;w[a+20>>2]=0;b=j?c:i;w[a+8>>2]=b;c=j?f:g;w[a+12>>2]=c;w[a+16>>2]=!c&b>>>0>=131072|c?131072:b}return d}function ba(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=8;a:{b:{if(a>>>0>4294967239){break b}while(1){h=h>>>0<=8?8:h;d=w[1471];e=w[1470];a=a>>>0<=8?8:a+3&-4;c:{if(a>>>0<=127){f=(a>>>3|0)-1|0;break c}c=F(a);f=((a>>>29-c^4)-(c<<2)|0)+110|0;if(a>>>0<=4095){break c}c=((a>>>30-c^2)-(c<<1)|0)+71|0;f=c>>>0>=63?63:c}b=f&31;if((f&63)>>>0>=32){c=0;b=d>>>b|0}else{c=d>>>b|0;b=((1<>>b}if(b|c){while(1){d=b;d:{if(c|b){e=c-1|0;i=e+1|0;g=e;e=b-1|0;g=(e|0)!=-1?i:g;e=F(b^e)+32|0;b=F(c^g);b=(b|0)==32?e:b;e=63-b|0;P=0-(b>>>0>63)|0;break d}P=0;e=64}g=e;e=g&31;if((g&63)>>>0>=32){b=0;e=c>>>e|0}else{b=c>>>e|0;e=((1<>>e}c=b;f=f+g|0;g=f<<4;d=w[g+4856>>2];i=g+4848|0;e:{if((d|0)!=(i|0)){b=aa(d,h,a);if(b){break b}b=w[d+4>>2];w[b+8>>2]=w[d+8>>2];w[w[d+8>>2]+4>>2]=b;w[d+8>>2]=i;b=g+4852|0;w[d+4>>2]=w[b>>2];w[b>>2]=d;w[w[d+4>>2]+8>>2]=d;f=f+1|0;b=(c&1)<<31|e>>>1;c=c>>>1|0;break e}b=w[1471];w[1470]=w[1470]&Ea(-2,-1,f);w[1471]=P&b;b=e^1}if(c|b){continue}break}e=w[1470];d=w[1471]}f:{if(d|e){c=F(d);g=63-((c|0)==32?F(e)+32|0:c)|0;b=g<<4;c=w[b+4856>>2];g:{if(!d&e>>>0<1073741824){break g}f=99;d=b+4848|0;if((d|0)==(c|0)){break g}while(1){if(!f){break g}b=aa(c,h,a);if(b){break b}f=f-1|0;c=w[c+8>>2];if((d|0)!=(c|0)){continue}break}c=d}if(ca(a+48|0)){break f}if(!c){break a}d=(g<<4)+4848|0;if((d|0)==(c|0)){break a}while(1){b=aa(c,h,a);if(b){break b}c=w[c+8>>2];if((d|0)!=(c|0)){continue}break}break a}if(!ca(a+48|0)){break a}}b=0;if(h-1&h){break b}if(a>>>0<=4294967239){continue}break}}return b}return 0}function ja(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=O-16|0;O=m;w[m+12>>2]=0;w[m+8>>2]=0;e=-44;p=d- -64|0;c=ka(p,d,m+8|0,m+12|0,b,c);a:{b:{if(c>>>0>4294967176){break b}g=w[m+12>>2];b=w[a>>2];if(g>>>0>(b&255)+1>>>0){break a}w[a>>2]=b&-16776961|g<<16&16711680;h=g-1|0;c:{if(h>>>0>4294967293){break c}b=0;e=1;if(h>>>0>=3){j=g&-4;while(1){h=(e<<2)+d|0;k=w[h>>2];w[h>>2]=f;n=e+1|0;l=(n<<2)+d|0;o=w[l>>2];f=(k<>2]=f;k=e+2|0;l=(k<<2)+d|0;i=w[l>>2];f=f+(o<>2]=f;l=w[h+12>>2];f=f+(i<>2]=f;f=f+(l<>2];w[j>>2]=f;f=(k<>2];if(!n){break b}h=a+4|0;l=g+1|0;f=0;while(1){e=x[f+p|0];a=(e<<2)+d|0;b=w[a>>2];g=1<>1;j=b+g|0;w[a>>2]=j;a=l-e|0;d:{if(e>>>0>=3){if(b>>>0>=j>>>0){break d}while(1){e=h+(b<<1)|0;u[e+1|0]=a;u[e|0]=f;u[e+3|0]=a;u[e+2|0]=f;u[e+5|0]=a;u[e+4|0]=f;u[e+7|0]=a;u[e+6|0]=f;b=b+4|0;if(j>>>0>b>>>0){continue}break}break d}if(!e){break d}g=g>>>0<=1?1:g;j=g&3;k=0;e=0;if(g-1>>>0>=3){o=g&-4;g=0;while(1){i=h+(b+e<<1)|0;u[i+1|0]=a;u[i|0]=f;i=h+((e|1)+b<<1)|0;u[i+1|0]=a;u[i|0]=f;i=h+((e|2)+b<<1)|0;u[i+1|0]=a;u[i|0]=f;i=h+((e|3)+b<<1)|0;u[i+1|0]=a;u[i|0]=f;e=e+4|0;g=g+4|0;if((o|0)!=(g|0)){continue}break}}if(!j){break d}while(1){g=h+(b+e<<1)|0;u[g+1|0]=a;u[g|0]=f;e=e+1|0;k=k+1|0;if((j|0)!=(k|0)){continue}break}}f=f+1|0;if((n|0)!=(f|0)){continue}break}}e=c}O=m+16|0;return e}function Y(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=O-16|0;O=k;a:{if(e>>>0<=3){w[k+12>>2]=0;f=k+12|0;U(f,d,e);a=Y(a,b,c,f,4);a=a>>>0<4294967177?a>>>0>e>>>0?-20:a:a;break a}n=X(a,0,(w[b>>2]<<1)+2|0);g=x[d|0]|x[d+1|0]<<8|(x[d+2|0]<<16|x[d+3|0]<<24);f=g&15;a=-44;if(f>>>0>10){break a}w[c>>2]=f+5;a=d+e|0;m=a-4|0;o=a-7|0;r=a-5|0;c=4;e=g>>>4|0;l=f+6|0;i=32<>2];f=d;a=0;g=0;while(1){b:{c:{if(!a){h=g;break c}a=g;if((e&65535)==65535){while(1){d:{if(f>>>0>>0){e=(x[f+2|0]|x[f+3|0]<<8|(x[f+4|0]<<16|x[f+5|0]<<24))>>>c|0;f=f+2|0;break d}c=c+16|0;e=e>>>16|0}a=a+24|0;if((e&65535)==65535){continue}break}}h=e&3;if((h|0)==3){while(1){c=c+2|0;a=a+3|0;e=e>>>2|0;h=e&3;if((h|0)==3){continue}break}}h=a+h|0;a=-48;if(p>>>0>>0){break a}c=c+2|0;e:{if(g>>>0>=h>>>0){h=g;break e}X((g<<1)+n|0,0,h-g<<1)}a=(c>>3)+f|0;if(!(m>>>0>>0&f>>>0>o>>>0)){c=c&7;e=(x[a|0]|x[a+1|0]<<8|(x[a+2|0]<<16|x[a+3|0]<<24))>>>c|0;break b}e=e>>>2|0}a=f}f=i-1&e;g=(i<<1)-1|0;q=g-j|0;if(f>>>0>>0){e=l-1|0}else{e=e&g;f=e-((e|0)>=(i|0)?q:0)|0;e=l}g=f-1|0;v[(h<<1)+n>>1]=g;j=j-((f|0)<=0?1-f|0:g)|0;if((j|0)<(i|0)){while(1){l=l-1|0;i=i>>1;if((j|0)<(i|0)){continue}break}}c=c+e|0;f=(c>>3)+a|0;f:{if(!(m>>>0>>0&a>>>0>o>>>0)){c=c&7;break f}f=m;c=c+(a-f<<3)|0}if((j|0)>=2){a=!g;e=(x[f|0]|x[f+1|0]<<8|(x[f+2|0]<<16|x[f+3|0]<<24))>>>c|0;g=h+1|0;if(p>>>0>=g>>>0){continue}}break}a=-20;if((j|0)!=1|(c|0)>32){break a}w[b>>2]=h;a=((c+7>>3)+f|0)-d|0}O=k+16|0;return a}function ia(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(!d){return-72}i=y[e+2>>1];a:{b:{c:{if(d>>>0>=4){g=x[(c+d|0)-1|0];f=-1;if(!g){break a}if(d>>>0<=4294967176){break c}return d}h=x[c|0];d:{switch(d-2|0){case 1:h=x[c+2|0]<<16|h;case 0:h=(x[c+1|0]<<8)+h|0;break;default:break d}}f=x[(c+d|0)-1|0];if(!f){return-20}f=(F(f)-(d<<3)|0)+9|0;d=0;break b}f=F(g)-23|0;d=d-4|0;g=d+c|0;h=x[g|0]|x[g+1|0]<<8|(x[g+2|0]<<16|x[g+3|0]<<24)}k=e+4|0;l=a+b|0;j=l-3|0;i=0-i&31;e:{f:{g:{h:{while(1){i:{if((d|0)>=4){e=f&7;h=f>>>3|0;f=0;break i}if(!d){d=0;g=c;e=f;break h}e=f;g=f>>>3|0;f=(c+d|0)-g>>>0>>0;h=f?d:g;e=e-(h<<3)|0}d=d-h|0;g=d+c|0;h=x[g|0]|x[g+1|0]<<8|(x[g+2|0]<<16|x[g+3|0]<<24);if(!(f|a>>>0>=j>>>0)){f=(h<>>i<<1)+k|0;m=x[f+1|0];u[a|0]=x[f|0];e=e+m|0;f=(h<>>i<<1)+k|0;m=x[f+1|0];u[a+1|0]=x[f|0];a=a+2|0;f=e+m|0;if(f>>>0<=32){continue}break g}break}if(e>>>0<=32){break h}f=e;break g}f=e;while(1){j:{if((d|0)>=4){e=f&7;h=f>>>3|0;f=0;break j}if(!d){break g}e=f;h=g;g=f>>>3|0;f=h-g>>>0>>0;h=f?d:g;e=e-(h<<3)|0}d=d-h|0;g=d+c|0;h=x[g|0]|x[g+1|0]<<8|(x[g+2|0]<<16|x[g+3|0]<<24);j=a>>>0>=l>>>0;if(!(f|j)){f=(h<>>i<<1)+k|0;j=x[f+1|0];u[a|0]=x[f|0];a=a+1|0;f=e+j|0;if(f>>>0>32){break g}continue}break}f=e;if(j){break e}break f}if(a>>>0>=l>>>0){break e}}while(1){d=(h<>>i<<1)+k|0;e=x[d+1|0];u[a|0]=x[d|0];f=e+f|0;a=a+1|0;if(l>>>0>a>>>0){continue}break}}f=(c|0)!=(g|0)?-20:(f|0)!=32?-20:b}return f}function _(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=O-112|0;l=1;p=1<>2]=f;w[a>>2]=1;break a}n=a+12|0;m=p-1|0;g=c+1|0;q=g&1;t=65536<>16;b:{if(!c){g=m;break b}o=g&-2;g=m;while(1){i=h<<1;j=y[i+b>>1];c:{if((j|0)==65535){w[(g<<3)+n>>2]=h;g=g-1|0;j=1;break c}l=(t|0)>j<<16>>16?l:0}v[i+r>>1]=j;s=h|1;i=s<<1;j=y[i+b>>1];d:{if((j|0)!=65535){l=(t|0)>j<<16>>16?l:0;break d}w[(g<<3)+n>>2]=s;g=g-1|0;j=1}v[i+r>>1]=j;h=h+2|0;k=k+2|0;if((o|0)!=(k|0)){continue}break}}if(q){j=y[(h<<1)+b>>1];e:{if((j|0)!=65535){l=(t|0)>j<<16>>16?l:0;break e}w[(g<<3)+n>>2]=h;g=g-1|0;j=1}v[(h<<1)+r>>1]=j}w[a+4>>2]=f;w[a>>2]=l;if((c|0)==-1){break a}q=((p>>>3)+(p>>>1)|0)+3|0;h=0;k=0;while(1){i=k;o=v[(i<<1)+b>>1];f:{if((o|0)<=0){break f}if((o|0)!=1){s=o&-2;k=0;while(1){w[(h<<3)+n>>2]=i;while(1){h=m&h+q;if(h>>>0>g>>>0){continue}break}w[(h<<3)+n>>2]=i;while(1){h=m&h+q;if(h>>>0>g>>>0){continue}break}k=k+2|0;if((s|0)!=(k|0)){continue}break}}if(!(o&1)){break f}w[(h<<3)+n>>2]=i;while(1){h=m&h+q;if(h>>>0>g>>>0){continue}break}}k=i+1|0;if((c|0)!=(i|0)){continue}break}}m=a+8|0;c=f+1|0;g=0;while(1){i=m+(g<<3)|0;b=w[i+4>>2];a=(b<<1)+r|0;f=y[a>>1];v[a>>1]=f+1;a=c+(F(f)^-32)|0;u[i+3|0]=a;v[i>>1]=(f<>2];w[i+4>>2]=w[a+d>>2];g=g+1|0;if((p|0)!=(g|0)){continue}break}}function U(a,b,c){var d=0,e=0,f=0;if(c>>>0>=512){N(a|0,b|0,c|0);return a}e=a+c|0;a:{if(!((a^b)&3)){b:{if(!(a&3)){c=a;break b}if(!c){c=a;break b}c=a;while(1){u[c|0]=x[b|0];b=b+1|0;c=c+1|0;if(!(c&3)){break b}if(c>>>0>>0){continue}break}}d=e&-4;c:{if(d>>>0<64){break c}f=d+-64|0;if(f>>>0>>0){break c}while(1){w[c>>2]=w[b>>2];w[c+4>>2]=w[b+4>>2];w[c+8>>2]=w[b+8>>2];w[c+12>>2]=w[b+12>>2];w[c+16>>2]=w[b+16>>2];w[c+20>>2]=w[b+20>>2];w[c+24>>2]=w[b+24>>2];w[c+28>>2]=w[b+28>>2];w[c+32>>2]=w[b+32>>2];w[c+36>>2]=w[b+36>>2];w[c+40>>2]=w[b+40>>2];w[c+44>>2]=w[b+44>>2];w[c+48>>2]=w[b+48>>2];w[c+52>>2]=w[b+52>>2];w[c+56>>2]=w[b+56>>2];w[c+60>>2]=w[b+60>>2];b=b- -64|0;c=c- -64|0;if(f>>>0>=c>>>0){continue}break}}if(c>>>0>=d>>>0){break a}while(1){w[c>>2]=w[b>>2];b=b+4|0;c=c+4|0;if(d>>>0>c>>>0){continue}break}break a}if(e>>>0<4){c=a;break a}d=e-4|0;if(d>>>0>>0){c=a;break a}c=a;while(1){u[c|0]=x[b|0];u[c+1|0]=x[b+1|0];u[c+2|0]=x[b+2|0];u[c+3|0]=x[b+3|0];b=b+4|0;c=c+4|0;if(d>>>0>=c>>>0){continue}break}}if(c>>>0>>0){while(1){u[c|0]=x[b|0];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}return a}function ca(a){var b=0,c=0,d=0,e=0,f=0;d=w[1204];b=a+7&-8;c=d+b|0;a:{b:{if(c>>>0<=d>>>0?b:0){break b}if(c>>>0>R()<<16>>>0){if(!(M(c|0)|0)){break b}}w[1204]=c;break a}w[1208]=48;d=-1}if((d|0)!=-1){b=a+d|0;c=b-16|0;w[c+12>>2]=16;w[c>>2]=16;a=w[1468];if(a){f=w[a+8>>2]}else{f=0}c:{d:{if((f|0)==(d|0)){e=d-(w[d-4>>2]&-2)|0;f=w[e-4>>2];w[a+8>>2]=b;a=e-(f&-2)|0;b=-16;if(!(u[(a+w[a>>2]|0)-4|0]&1)){break d}b=w[a+4>>2];w[b+8>>2]=w[a+8>>2];w[w[a+8>>2]+4>>2]=b;c=c-a|0;w[a>>2]=c;break c}w[d+12>>2]=16;w[d>>2]=16;w[d+8>>2]=b;w[d+4>>2]=a;w[1468]=d;b=16}a=b+d|0;c=c-a|0;w[a>>2]=c}w[((c&-4)+a|0)-4>>2]=c|1;b=w[a>>2]-8|0;e:{if(b>>>0<=127){c=(b>>>3|0)-1|0;break e}e=F(b);c=((b>>>29-e^4)-(e<<2)|0)+110|0;if(b>>>0<=4095){break e}c=((b>>>30-e^2)-(e<<1)|0)+71|0;c=c>>>0>=63?63:c}b=c<<4;w[a+4>>2]=b+4848;b=b+4856|0;w[a+8>>2]=w[b>>2];w[b>>2]=a;w[w[a+8>>2]+4>>2]=a;b=w[1470];e=w[1471];a=c&31;if((c&63)>>>0>=32){c=1<>>32-a}w[1470]=f|b;w[1471]=c|e}return(d|0)!=-1}function aa(a,b,c){var d=0,e=0,f=0,g=0;d=a+4|0;e=(d+b|0)-1&0-b;b=w[a>>2];if(e+c>>>0<=(b+a|0)-4>>>0){f=w[a+4>>2];w[f+8>>2]=w[a+8>>2];w[w[a+8>>2]+4>>2]=f;if((d|0)!=(e|0)){e=e-d|0;f=a-(w[a-4>>2]&-2)|0;d=e+w[f>>2]|0;w[f>>2]=d;w[(f+(d&-4)|0)-4>>2]=d;a=a+e|0;b=b-e|0;w[a>>2]=b}a:{if(c+24>>>0<=b>>>0){d=(a+c|0)+8|0;b=(b-c|0)-8|0;w[d>>2]=b;w[(d+(b&-4)|0)-4>>2]=b|1;e=w[d>>2]-8|0;b:{if(e>>>0<=127){b=(e>>>3|0)-1|0;break b}f=F(e);b=((e>>>29-f^4)-(f<<2)|0)+110|0;if(e>>>0<=4095){break b}b=((e>>>30-f^2)-(f<<1)|0)+71|0;b=b>>>0>=63?63:b}e=b<<4;w[d+4>>2]=e+4848;e=e+4856|0;w[d+8>>2]=w[e>>2];w[e>>2]=d;w[w[d+8>>2]+4>>2]=d;e=w[1470];f=w[1471];d=b&31;if((b&63)>>>0>=32){b=1<>>32-d;d=g}w[1470]=d|e;w[1471]=b|f;b=c+8|0;w[a>>2]=b;w[((b&-4)+a|0)-4>>2]=b;break a}w[(a+b|0)-4>>2]=b}a=a+4|0}else{a=0}return a}function da(a,b,c,d,e,f,g,h,i,j,k,l,m){var n=0,o=0;n=O-128|0;O=n;w[n+124>>2]=d;o=-1;a:{b:{switch(c|0){case 1:if(!g){o=-72;break a}o=-20;c=x[f|0];if(c>>>0>d>>>0){break a}c=c<<2;d=w[c+i>>2];c=w[c+h>>2];u[a+11|0]=0;w[a>>2]=0;w[a+4>>2]=0;w[a+12>>2]=c;u[a+10|0]=d;v[a+8>>1]=0;w[b>>2]=a;o=1;break a;case 0:w[b>>2]=j;o=0;break a;case 3:if(!k){o=-20;break a}o=0;if(!l|(m|0)<25){break a}b=8<>>6|0)+1|0;a=c&7;d=0;if(b>>>0>=448){b=c&134217720;c=0;while(1){d=d+512|0;c=c+8|0;if((b|0)!=(c|0)){continue}break}}if(!a){break a}c=0;while(1){d=d- -64|0;c=c+1|0;if((a|0)!=(c|0)){continue}break};break a;case 2:break b;default:break a}}o=-20;c=Y(n,n+124|0,n+120|0,f,g);if(c>>>0>4294967176){break a}d=w[n+120>>2];if(d>>>0>e>>>0){break a}_(a,n,w[n+124>>2],h,i,d);w[b>>2]=a;o=c}O=n+128|0;return o}function W(a,b,c){var d=0,e=0;a:{if((a|0)==(b|0)){break a}e=a+c|0;if(b-e>>>0<=0-(c<<1)>>>0){return U(a,b,c)}d=(a^b)&3;b:{c:{if(a>>>0>>0){if(d){d=a;break b}if(!(a&3)){d=a;break c}d=a;while(1){if(!c){break a}u[d|0]=x[b|0];b=b+1|0;c=c-1|0;d=d+1|0;if(d&3){continue}break}break c}d:{if(d){break d}if(e&3){while(1){if(!c){break a}c=c-1|0;d=c+a|0;u[d|0]=x[b+c|0];if(d&3){continue}break}}if(c>>>0<=3){break d}while(1){c=c-4|0;w[c+a>>2]=w[b+c>>2];if(c>>>0>3){continue}break}}if(!c){break a}while(1){c=c-1|0;u[c+a|0]=x[b+c|0];if(c){continue}break}break a}if(c>>>0<=3){break b}while(1){w[d>>2]=w[b>>2];b=b+4|0;d=d+4|0;c=c-4|0;if(c>>>0>3){continue}break}}if(!c){break a}while(1){u[d|0]=x[b|0];d=d+1|0;b=b+1|0;c=c-1|0;if(c){continue}break}}return a}function qa(a){a=a|0;var b=0;b=1812;a:{b:{switch((a>>>0>=4294967177?0-a|0:0)|0){case 1:b=1855;break a;case 10:b=1159;break a;case 12:b=1766;break a;case 14:b=1184;break a;case 16:b=1506;break a;case 20:b=1830;break a;case 22:b=1271;break a;case 40:b=1212;break a;case 42:b=1692;break a;case 62:b=1061;break a;case 64:b=1024;break a;case 66:b=1378;break a;case 60:b=1616;break a;case 44:b=1718;break a;case 46:b=1575;break a;case 48:b=1340;break a;case 30:b=1788;break a;case 32:b=1415;break a;case 34:b=1112;break a;case 70:b=1308;break a;case 72:b=1090;break a;case 74:b=1234;break a;case 100:b=1550;break a;case 102:b=1463;break a;case 104:b=1435;break a;case 0:break a;default:break b}}b=1669}return b|0}function X(a,b,c){var d=0,e=0,f=0,g=0;a:{if(!c){break a}u[a|0]=b;d=a+c|0;u[d-1|0]=b;if(c>>>0<3){break a}u[a+2|0]=b;u[a+1|0]=b;u[d-3|0]=b;u[d-2|0]=b;if(c>>>0<7){break a}u[a+3|0]=b;u[d-4|0]=b;if(c>>>0<9){break a}d=0-a&3;e=d+a|0;b=C(b&255,16843009);w[e>>2]=b;d=c-d&-4;c=d+e|0;w[c-4>>2]=b;if(d>>>0<9){break a}w[e+8>>2]=b;w[e+4>>2]=b;w[c-8>>2]=b;w[c-12>>2]=b;if(d>>>0<25){break a}w[e+24>>2]=b;w[e+20>>2]=b;w[e+16>>2]=b;w[e+12>>2]=b;w[c-16>>2]=b;w[c-20>>2]=b;w[c-24>>2]=b;w[c-28>>2]=b;g=e&4|24;c=d-g|0;if(c>>>0<32){break a}d=Da(b,0,1,1);f=P;b=e+g|0;while(1){w[b+24>>2]=d;w[b+28>>2]=f;w[b+16>>2]=d;w[b+20>>2]=f;w[b+8>>2]=d;w[b+12>>2]=f;w[b>>2]=d;w[b+4>>2]=f;b=b+32|0;c=c-32|0;if(c>>>0>31){continue}break}}return a}function V(a){var b=0,c=0,d=0,e=0,f=0;if(a){b=a-4|0;e=w[b>>2];c=e;d=b;f=w[a-8>>2];a=f&-2;if((a|0)!=(f|0)){d=b-a|0;c=w[d+4>>2];w[c+8>>2]=w[d+8>>2];w[w[d+8>>2]+4>>2]=c;c=a+e|0}a=b+e|0;b=w[a>>2];if((b|0)!=w[(a+b|0)-4>>2]){e=w[a+4>>2];w[e+8>>2]=w[a+8>>2];w[w[a+8>>2]+4>>2]=e;c=b+c|0}w[d>>2]=c;w[((c&-4)+d|0)-4>>2]=c|1;b=w[d>>2]-8|0;a:{if(b>>>0<=127){a=(b>>>3|0)-1|0;break a}c=F(b);a=((b>>>29-c^4)-(c<<2)|0)+110|0;if(b>>>0<=4095){break a}a=((b>>>30-c^2)-(c<<1)|0)+71|0;a=a>>>0>=63?63:a}b=a<<4;w[d+4>>2]=b+4848;b=b+4856|0;w[d+8>>2]=w[b>>2];w[b>>2]=d;w[w[d+8>>2]+4>>2]=d;b=w[1470];c=w[1471];d=a&31;if((a&63)>>>0>=32){a=1<>>32-d}w[1470]=e|b;w[1471]=a|c}}function Ba(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;a:{b:{if(!a){break b}b=-64;if(w[a+28936>>2]){break a}e=w[a+28924>>2];c=w[a+28920>>2];b=w[a+28944>>2];c:{if(!b){break c}f=w[b+26692>>2];d=w[b+26688>>2];d:{e:{g=w[b>>2];if(g){if(!d){break e}Q[d|0](f,g);Q[d|0](f,b);break c}if(!d){break d}Q[d|0](f,b);break c}V(g)}V(b)}w[a+28960>>2]=0;w[a+28944>>2]=0;w[a+28948>>2]=0;f:{g:{b=w[a+28968>>2];if(b){if(!c){break g}Q[c|0](e,b);w[a+28968>>2]=0;Q[c|0](e,a);break b}w[a+28968>>2]=0;if(!c){break f}Q[c|0](e,a);break b}V(b)}V(a)}b=0}return b|0}function ga(a,b,c){var d=0;if(!c){w[a>>2]=0;w[a+4>>2]=0;w[a+16>>2]=0;w[a+8>>2]=0;w[a+12>>2]=0;return-72}w[a+12>>2]=b;w[a+16>>2]=b+4;if(c>>>0>=4){d=b+c|0;b=d-4|0;w[a+8>>2]=b;w[a>>2]=x[b|0]|x[b+1|0]<<8|(x[b+2|0]<<16|x[b+3|0]<<24);b=x[d-1|0];if(b){w[a+4>>2]=F(b)-23;return c}w[a+4>>2]=0;return-1}w[a+8>>2]=b;d=x[b|0];w[a>>2]=d;a:{switch(c-2|0){case 1:d=x[b+2|0]<<16|d;w[a>>2]=d;case 0:w[a>>2]=(x[b+1|0]<<8)+d;break;default:break a}}b=x[(b+c|0)-1|0];if(!b){w[a+4>>2]=0;return-20}w[a+4>>2]=(F(b)-(c<<3)|0)+9;return c}function Ca(){var a=0,b=0;a=ba(160168);if(a){w[a+28916>>2]=0;w[a+28920>>2]=0;w[a+28980>>2]=134217729;w[a+28936>>2]=0;w[a+28908>>2]=0;w[a+28948>>2]=0;w[a+160164>>2]=0;w[a+29004>>2]=0;w[a+29008>>2]=0;w[a+28988>>2]=0;w[a+28740>>2]=0;w[a+29020>>2]=0;w[a+29024>>2]=0;w[a+28940>>2]=0;w[a+28944>>2]=0;w[a+28956>>2]=0;w[a+28960>>2]=0;w[a+28924>>2]=0;b=a+28964|0;w[b>>2]=0;w[b+4>>2]=0;w[a+28972>>2]=0}return a|0}function Ea(a,b,c){var d=0,e=0,f=0,g=0;g=c&63;f=g;e=f&31;if(f>>>0>=32){f=-1>>>e|0}else{d=-1>>>e|0;f=d|(1<>>0>=32){d=f<>>32-e|d<>>0>=32){d=-1<>>32-d}a=c&a;b=b&d;d=e&31;if(e>>>0>=32){c=0;a=b>>>d|0}else{c=b>>>d|0;a=((1<>>d}a=a|g;P=c|f;return a} +function ya(a){a=a|0;var b=0,c=0,d=0,e=0;w[a+29020>>2]=0;w[a+28964>>2]=0;b=w[a+28944>>2];a:{if(!b){break a}d=w[b+26692>>2];c=w[b+26688>>2];b:{c:{e=w[b>>2];if(e){if(!c){break c}Q[c|0](d,e);Q[c|0](d,b);break a}if(!c){break b}Q[c|0](d,b);break a}V(e)}V(b)}w[a+28960>>2]=0;w[a+28944>>2]=0;w[a+28948>>2]=0;return(w[a+28908>>2]?1:5)|0}function Da(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;e=c>>>16|0;f=a>>>16|0;j=C(e,f);g=c&65535;h=a&65535;i=C(g,h);f=(i>>>16|0)+C(f,g)|0;e=(f&65535)+C(e,h)|0;P=(C(b,c)+j|0)+C(a,d)+(f>>>16)+(e>>>16)|0;return i&65535|e<<16}function pa(){var a=0,b=0,c=0;while(1){b=a<<4;c=b+4848|0;w[b+4852>>2]=c;w[b+4856>>2]=c;a=a+1|0;if((a|0)!=64){continue}break}ca(48)}function wa(a){a=a|0;return a>>>0>4294967176|0}function ra(a){a=a|0;a=O-a&-16;O=a;return a|0}function va(a){a=a|0;return ba(a)|0}function za(){return 131072}function Aa(){return 131075}function ua(a){a=a|0;V(a)}function ta(){return O|0}function sa(a){a=a|0;O=a} // EMSCRIPTEN_END_FUNCS -e=w;p(V);var S=c([]);function T(){return s.byteLength/65536|0}return{"d":sa,"e":za,"f":xa,"g":ya,"h":ta,"i":Fa,"j":Ea,"k":Da,"l":Ca,"m":Ba,"n":Aa,"o":S,"p":wa,"q":va,"r":ua}}return U(W)} +e=x;p(q);var Q=c([]);function R(){return t.byteLength/65536|0}return{"d":pa,"e":va,"f":ua,"g":wa,"h":qa,"i":Ca,"j":Ba,"k":Aa,"l":za,"m":ya,"n":xa,"o":Q,"p":ta,"q":sa,"r":ra}}return S(T)} // EMSCRIPTEN_END_ASM - - -)(E)}function ca(){return{then:function(c){c({instance:new ba})}}}var da=Error,WebAssembly={};B=[];"object"!==typeof WebAssembly&&F("no native wasm support detected"); -var G,H=!1;function J(c){var f=a["_"+c];f||F("Assertion failed: Cannot call unknown function "+(c+", make sure it is exported"));return f} -function ea(c,f,d,m){var l={string:function(b){var e=0;if(null!==b&&void 0!==b&&0!==b){var g=(b.length<<2)+1;e=K(g);var h=e,k=M;if(0=n){var I=b.charCodeAt(++t);n=65536+((n&1023)<<10)|I&1023}if(127>=n){if(h>=g)break;k[h++]=n}else{if(2047>=n){if(h+1>=g)break;k[h++]=192|n>>6}else{if(65535>=n){if(h+2>=g)break;k[h++]=224|n>>12}else{if(h+3>=g)break;k[h++]=240|n>>18;k[h++]=128|n>>12&63}k[h++]=128|n>>6&63}k[h++]=128|n&63}}k[h]= -0}}return e},array:function(b){var e=K(b.length);N.set(b,e);return e}},p=J(c),r=[];c=0;if(m)for(var q=0;q=g);)++h;if(16k?g+=String.fromCharCode(k):(k-=65536,g+=String.fromCharCode(55296|k>>10,56320|k&1023))}}else g+=String.fromCharCode(k)}b=g}}else b="";else b="boolean"===f?!!b:b;return b}(d);0!==c&&ia(c);return d}var ha="undefined"!==typeof TextDecoder?new TextDecoder("utf8"):void 0,O,N,M,D=a.INITIAL_MEMORY||150994944;a.wasmMemory?G=a.wasmMemory:G=new aa;G&&(O=G.buffer);D=O.byteLength;var P=O;O=P;a.HEAP8=N=new Int8Array(P);a.HEAP16=new Int16Array(P);a.HEAP32=new Int32Array(P); -a.HEAPU8=M=new Uint8Array(P);a.HEAPU16=new Uint16Array(P);a.HEAPU32=new Uint32Array(P);a.HEAPF32=new Float32Array(P);a.HEAPF64=new Float64Array(P);var Q,ja=[],ka=[],la=[];function ma(){var c=a.preRun.shift();ja.unshift(c)}Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(c,f){var d=c&65535,m=f&65535;return d*m+((c>>>16)*m+d*(f>>>16)<<16)|0});if(!Math.fround){var na=new Float32Array(1);Math.fround=function(c){na[0]=c;return na[0]}} -Math.clz32||(Math.clz32=function(c){var f=32,d=c>>16;d&&(f-=16,c=d);if(d=c>>8)f-=8,c=d;if(d=c>>4)f-=4,c=d;if(d=c>>2)f-=2,c=d;return c>>1?f-2:f-c});Math.trunc||(Math.trunc=function(c){return 0>c?Math.ceil(c):Math.floor(c)});var R=0,S=null,U=null;a.preloadedImages={};a.preloadedAudios={};function F(c){if(a.onAbort)a.onAbort(c);A(c);H=!0;c=new da("abort("+c+"). Build with -s ASSERTIONS=1 for more info.");v(c);throw c;}function V(c){return c.startsWith("data:application/octet-stream;base64,")}var W; -W="zstddec-asm.wasm";if(!V(W)){var oa=W;W=a.locateFile?a.locateFile(oa,y):y+oa}function pa(){var c=W;try{if(c==W&&B)return new Uint8Array(B);if(V(c))try{var f=qa(c.slice(37)),d=new Uint8Array(f.length);for(c=0;c>4; -l=(l&15)<<4|p>>2;var q=(p&3)<<6|r;f+=String.fromCharCode(m);64!==p&&(f+=String.fromCharCode(l));64!==r&&(f+=String.fromCharCode(q))}while(d>>16)*h+c*(e>>>16)<<16)|0});if(!Math.fround){var O=new Float32Array(1);Math.fround=function(a){O[0]=a;return O[0]}} +Math.clz32||(Math.clz32=function(a){var e=32,c=a>>16;c&&(e-=16,a=c);if(c=a>>8)e-=8,a=c;if(c=a>>4)e-=4,a=c;if(c=a>>2)e-=2,a=c;return a>>1?e-2:e-a});Math.trunc||(Math.trunc=function(a){return 0>a?Math.ceil(a):Math.floor(a)});var R=0,S=null,T=null;function E(a){if(q.onAbort)q.onAbort(a);a="Aborted("+a+")";A(a);G=!0;a=new ia(a+". Build with -sASSERTIONS for more info.");v(a);throw a;}function U(a){return a.startsWith("data:application/octet-stream;base64,")}var V; +if(q.locateFile){if(V="zstddec-asm.wasm",!U(V)){var W=V;V=q.locateFile?q.locateFile(W,x):x+W}}else V=(new URL("zstddec-asm.wasm",import.meta.url)).href; +function ka(a){try{if(a==V&&C)return new Uint8Array(C);if(U(a))try{var e=la(a.slice(37)),c=new Uint8Array(e.length);for(a=0;a=k?f++:2047>=k?f+=2:55296<=k&&57343>=k?(f+=4,++g):f+=3}k=f+1;g=f=Y(k);if(0=p){var z=b.charCodeAt(++n);p=65536+((p&1023)<<10)|z&1023}if(127>=p){if(g>=k)break;I[g++]=p}else{if(2047>=p){if(g+1>=k)break;I[g++]=192|p>>6}else{if(65535>=p){if(g+2>=k)break;I[g++]=224|p>>12}else{if(g+3>= +k)break;I[g++]=240|p>>18;I[g++]=128|p>>12&63}I[g++]=128|p>>6&63}I[g++]=128|p&63}}I[g]=0}}return f},array:function(b){var f=Y(b.length);H.set(b,f);return f}};a=q["_"+a];var m=[],r=0;if(h)for(var t=0;t=f);)++g;if(16k?f+=String.fromCharCode(k):(k-=65536,f+=String.fromCharCode(55296|k>>10,56320|k&1023))}}else f+=String.fromCharCode(k)}b=f}}else b="";else b="boolean"===e?!!b:b;return b}(c)} +var la="function"==typeof atob?atob:function(a){var e="",c=0;a=a.replace(/[^A-Za-z0-9\+\/=]/g,"");do{var h="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(a.charAt(c++));var l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(a.charAt(c++));var m="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(a.charAt(c++));var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(a.charAt(c++));h=h<<2|l>>4; +l=(l&15)<<4|m>>2;var t=(m&3)<<6|r;e+=String.fromCharCode(h);64!==m&&(e+=String.fromCharCode(l));64!==r&&(e+=String.fromCharCode(t))}while(c { + var _scriptDir = import.meta.url; return ( -function(ZD) { - ZD = ZD || {}; +function(ZD = {}) { - -var a;a||(a=typeof ZD !== 'undefined' ? ZD : {});var q,r;a.ready=new Promise(function(b,c){q=b;r=c});var t={},w;for(w in a)a.hasOwnProperty(w)&&(t[w]=a[w]);var x="";"undefined"!==typeof document&&document.currentScript&&(x=document.currentScript.src);_scriptDir&&(x=_scriptDir);0!==x.indexOf("blob:")?x=x.substr(0,x.lastIndexOf("/")+1):x="";var y=a.printErr||console.warn.bind(console);for(w in t)t.hasOwnProperty(w)&&(a[w]=t[w]);t=null;var z;a.wasmBinary&&(z=a.wasmBinary); -var noExitRuntime=a.noExitRuntime||!0;"object"!==typeof WebAssembly&&A("no native wasm support detected");var B,C=!1;function D(b){var c=a["_"+b];c||A("Assertion failed: Cannot call unknown function "+(b+", make sure it is exported"));return c} -function aa(b,c,g,n){var e={string:function(d){var m=0;if(null!==d&&void 0!==d&&0!==d){var l=(d.length<<2)+1;m=E(l);var h=m,f=F;if(0=k){var ba=d.charCodeAt(++u);k=65536+((k&1023)<<10)|ba&1023}if(127>=k){if(h>=l)break;f[h++]=k}else{if(2047>=k){if(h+1>=l)break;f[h++]=192|k>>6}else{if(65535>=k){if(h+2>=l)break;f[h++]=224|k>>12}else{if(h+3>=l)break;f[h++]=240|k>>18;f[h++]=128|k>>12&63}f[h++]=128|k>>6&63}f[h++]=128|k&63}}f[h]= -0}}return m},array:function(d){var m=E(d.length);H.set(d,m);return m}},p=D(b),G=[];b=0;if(n)for(var v=0;v=l);)++h;if(16f?l+=String.fromCharCode(f):(f-=65536,l+=String.fromCharCode(55296|f>>10,56320|f&1023))}}else l+=String.fromCharCode(f)}d=l}}else d="";else d="boolean"===c?!!d:d;return d}(g);0!==b&&K(b);return g}var J="undefined"!==typeof TextDecoder?new TextDecoder("utf8"):void 0,H,F,L,M=[],N=[],O=[];function ca(){var b=a.preRun.shift();M.unshift(b)}var P=0,R=null,S=null;a.preloadedImages={};a.preloadedAudios={}; -function A(b){if(a.onAbort)a.onAbort(b);y(b);C=!0;b=new WebAssembly.RuntimeError("abort("+b+"). Build with -s ASSERTIONS=1 for more info.");r(b);throw b;}function T(){return U.startsWith("data:application/octet-stream;base64,")}var U;U="zstddec-wasm.wasm";if(!T()){var V=U;U=a.locateFile?a.locateFile(V,x):x+V}function W(){var b=U;try{if(b==U&&z)return new Uint8Array(z);throw"both async and sync fetching of the wasm failed";}catch(c){A(c)}} -function da(){return z||"function"!==typeof fetch?Promise.resolve().then(function(){return W()}):fetch(U,{credentials:"same-origin"}).then(function(b){if(!b.ok)throw"failed to load wasm binary file at '"+U+"'";return b.arrayBuffer()}).catch(function(){return W()})}function X(b){for(;0{n=b;q=e});var r=Object.assign({},a),v="";"undefined"!=typeof document&&document.currentScript&&(v=document.currentScript.src);_scriptDir&&(v=_scriptDir);0!==v.indexOf("blob:")?v=v.substr(0,v.replace(/[?#].*/,"").lastIndexOf("/")+1):v="";var w=a.printErr||console.warn.bind(console);Object.assign(a,r);r=null;var x;a.wasmBinary&&(x=a.wasmBinary);var noExitRuntime=a.noExitRuntime||!0; +"object"!=typeof WebAssembly&&z("no native wasm support detected");var A,B=!1,D,E,F=[],G=[],H=[];function I(){var b=a.preRun.shift();F.unshift(b)}var J=0,K=null,L=null;function z(b){if(a.onAbort)a.onAbort(b);b="Aborted("+b+")";w(b);B=!0;b=new WebAssembly.RuntimeError(b+". Build with -sASSERTIONS for more info.");q(b);throw b;}function M(b){return b.startsWith("data:application/octet-stream;base64,")}var N; +if(a.locateFile){if(N="zstddec-wasm.wasm",!M(N)){var O=N;N=a.locateFile?a.locateFile(O,v):v+O}}else N=(new URL("zstddec-wasm.wasm",import.meta.url)).href;function P(b){try{if(b==N&&x)return new Uint8Array(x);throw"both async and sync fetching of the wasm failed";}catch(e){z(e)}} +function Q(b){return x||"function"!=typeof fetch?Promise.resolve().then(()=>P(b)):fetch(b,{credentials:"same-origin"}).then(e=>{if(!e.ok)throw"failed to load wasm binary file at '"+b+"'";return e.arrayBuffer()}).catch(()=>P(b))}function R(b,e,d){return Q(b).then(f=>WebAssembly.instantiate(f,e)).then(f=>f).then(d,f=>{w("failed to asynchronously prepare wasm: "+f);z(f)})} +function aa(b,e){var d=N;return x||"function"!=typeof WebAssembly.instantiateStreaming||M(d)||"function"!=typeof fetch?R(d,b,e):fetch(d,{credentials:"same-origin"}).then(f=>WebAssembly.instantiateStreaming(f,b).then(e,function(y){w("wasm streaming compile failed: "+y);w("falling back to ArrayBuffer instantiation");return R(d,b,e)}))}function S(b){for(;0{var l=0;if(null!==c&&void 0!==c&&0!==c){for(var g=l=0;g=k?l++:2047>=k?l+=2:55296<=k&&57343>=k?(l+=4,++g):l+=3}var h=l+1;g=l=V(h);k=E;if(0=m){var ca=c.charCodeAt(++p);m=65536+((m&1023)<<10)|ca&1023}if(127>=m){if(g>=h)break;k[g++]=m}else{if(2047>=m){if(g+1>=h)break;k[g++]=192|m>>6}else{if(65535>=m){if(g+2>=h)break;k[g++]=224|m>>12}else{if(g+ +3>=h)break;k[g++]=240|m>>18;k[g++]=128|m>>12&63}k[g++]=128|m>>6&63}k[g++]=128|m&63}}k[g]=0}}return l},array:c=>{var l=V(c.length);D.set(c,l);return l}};b=a["_"+b];var u=[],C=0;if(f)for(var t=0;t=g);)++k;if(16h?g+=String.fromCharCode(h):(h-=65536,g+=String.fromCharCode(55296|h>>10,56320|h&1023))}}else g+=String.fromCharCode(h)}c=g}}else c="";else c="boolean"===e?!!c:c;return c}(d)}var da={b:function(b,e,d){E.copyWithin(b,e,e+d)},a:function(){z("OOM")}}; +(function(){function b(d){d=d.exports;a.asm=d;A=a.asm.c;var f=A.buffer;a.HEAP8=D=new Int8Array(f);a.HEAP16=new Int16Array(f);a.HEAP32=new Int32Array(f);a.HEAPU8=E=new Uint8Array(f);a.HEAPU16=new Uint16Array(f);a.HEAPU32=new Uint32Array(f);a.HEAPF32=new Float32Array(f);a.HEAPF64=new Float64Array(f);G.unshift(a.asm.d);J--;a.monitorRunDependencies&&a.monitorRunDependencies(J);0==J&&(null!==K&&(clearInterval(K),K=null),L&&(f=L,L=null,f()));return d}var e={a:da};J++;a.monitorRunDependencies&&a.monitorRunDependencies(J); +if(a.instantiateWasm)try{return a.instantiateWasm(e,b)}catch(d){w("Module.instantiateWasm callback failed with error: "+d),q(d)}aa(e,function(d){b(d.instance)}).catch(q);return{}})();a._malloc=function(){return(a._malloc=a.asm.e).apply(null,arguments)};a._free=function(){return(a._free=a.asm.f).apply(null,arguments)};a._ZSTD_isError=function(){return(a._ZSTD_isError=a.asm.g).apply(null,arguments)};a._ZSTD_getErrorName=function(){return(a._ZSTD_getErrorName=a.asm.h).apply(null,arguments)}; a._ZSTD_createDStream=function(){return(a._ZSTD_createDStream=a.asm.i).apply(null,arguments)};a._ZSTD_freeDStream=function(){return(a._ZSTD_freeDStream=a.asm.j).apply(null,arguments)};a._ZSTD_DStreamInSize=function(){return(a._ZSTD_DStreamInSize=a.asm.k).apply(null,arguments)};a._ZSTD_DStreamOutSize=function(){return(a._ZSTD_DStreamOutSize=a.asm.l).apply(null,arguments)};a._ZSTD_initDStream=function(){return(a._ZSTD_initDStream=a.asm.m).apply(null,arguments)}; -a._ZSTD_decompressStream=function(){return(a._ZSTD_decompressStream=a.asm.n).apply(null,arguments)};var I=a.stackSave=function(){return(I=a.stackSave=a.asm.p).apply(null,arguments)},K=a.stackRestore=function(){return(K=a.stackRestore=a.asm.q).apply(null,arguments)},E=a.stackAlloc=function(){return(E=a.stackAlloc=a.asm.r).apply(null,arguments)};a.cwrap=function(b,c,g,n){g=g||[];var e=g.every(function(p){return"number"===p});return"string"!==c&&e&&!n?D(b):function(){return aa(b,c,g,arguments)}};var Y; -S=function fa(){Y||Z();Y||(S=fa)}; -function Z(){function b(){if(!Y&&(Y=!0,a.calledRun=!0,!C)){X(N);q(a);if(a.onRuntimeInitialized)a.onRuntimeInitialized();if(a.postRun)for("function"==typeof a.postRun&&(a.postRun=[a.postRun]);a.postRun.length;){var c=a.postRun.shift();O.unshift(c)}X(O)}}if(!(0"number"===u||"boolean"===u);return"string"!==e&&y&&!f?a["_"+b]:function(){return ba(b,e,d,arguments)}};var Y;L=function ea(){Y||Z();Y||(L=ea)}; +function Z(){function b(){if(!Y&&(Y=!0,a.calledRun=!0,!B)){S(G);n(a);if(a.onRuntimeInitialized)a.onRuntimeInitialized();if(a.postRun)for("function"==typeof a.postRun&&(a.postRun=[a.postRun]);a.postRun.length;){var e=a.postRun.shift();H.unshift(e)}S(H)}}if(!(0ydEfV*bME)KcjnIL&g?9??>)Oq&dOrMAoNm@)Ns#A6uF`($`Ydrh6-@G zTrD|wxw|tvT*(2=8CkMTrfSO;Dj>s3z@Sbj)MhO=jw86L%eX3H2SviVf+4qRv6K|Y zkPU-LomMWSY=8gfeb4=vo#lrjASjo2&bjBjAJ6l=&-eRr-I*&-CeFF!((EJY&W?K| z*-3UDsqg4NZnAK3+$Ox#SNBLQzHI2K2fc6;|5CP9J>cHCM`A&1BzZ>tBs*y@P0l1| zT*BW+T_d~gSXR%nwAo6tBx!f@G)vQFx7SG1B&pZxNs=YC8voam%Lz{!NwPb?JKtyl zZ@K&5)beK8PtK+;dCbiw=iK4slkV2!yz|N9?qKqSyDiyp$C9Btnp|*4k|$k}Ty%rv zQsR=!?v`ZJ9ZI&`TIaL>G(EOkOR^oGmbxZVa;29$qQ4&3kJn z^(EYSH%Pll?o*yt_dLo@`qU?PIQK3`Q)RL-pgk@{s%kyH`0RAg zfakUH!~}D>UpxB)=s3gaMwDKw!&TaMA{8^{S#?F+%29+7sK7kiF760 z9XgR73U~fQ>cid96Y0@#w|*jB4|i`rk-k0L-FYItGu+*EBE2izz4Ju+&T#jh6X|=v z?BvieJ2@;;Uw=>-@w)a42z6W0VOUrB)a-k!{j``q&cO)*{Lq&eX>E*d{KQK)(Q&7s=9g`VX(8R znOb7#;SZmwqF884kFs<}T?(qgmDk;a26T3{OopPXJI|oF@)n;Aua>nd5GLIomVfRx zczFFVbU9ew!|kp1KGpk#_y5EJD39-XXf20NYuhya+OZ8GBLaN?SinP^2LuL&K<2Ji ze*X^sKc2Z$!2Z%NeD3ZHM);F7Nq184^vV0-Y@wfS6t!U~l<3fa=5g9jP0A7pmjo@; z5oct=Ymjv_a2m;5)`hG*)tKJf6L2>Q+K_R}BySnj0=Lm>1{gIS1b(=;R~JaotN<=r z0lX-&u@<~sW{``XR1l^}H>?<>4nK9t9IS zD925z-!XDRhf-r@0yL3x|8<(CJIOPt5riT1h=?vi3-rQQ`j>*Smua{p&?t+qvoakO zY>oBX&DGaEb`1;-1O1SjHr4=qzD1FdfUTqu>1Mc!`^`y6R!~sc>A9d+TF_t(w zFJX-?mo8ddJ@nIqwFlPt>&oYLPOlA|2`zLLV;~x3y3wx>dga3d z=&}-Y51m0b%eJE!pZhVNqOHGa@(&T%zYP#Vf?3{(`jyJ9+34$Z#=1Ezn}(xBtp>g1`Sb-(aMtvi6^4}>&l0m$pV8^9LCMrq!6 zi#js6y^%w{cA0)igt!-aGcr`x$N#Cr#7%~3wNbV4@u(wwik;b0d2F!|UX%%mrw#*P?+u{9S;)QGyVyD{kb8HtQEfH=DZ zy?(j7D;1Xvx6A%hgRYv8faimT0B_){4d(SNg9uY2U((0P~ycVGjoCA!s83jYf`C^=&~SQlkZC;AzqIDk@-up>TsH zpH8G#2Qs0~{tEQ!qP!^IMTdZ7SCs9ClBV=TK|ElWokah(H++sT`G$<;8@-NL_XF0n zPkiLwpi=IE3$uorY(@9IY{`x zSD?IN2nUyRw*Aa7ysV)P)9oUWdQq^U*O|VEKN(DE*cpT1`8>_!gQ3CK)6cz{$jA-L z)Pl+N^!KhM;ssvqzM4QkZo;Dyv6E;&xQ3n&PiYc8a(WH6MK@OJQ#OZ=(vxyFfqOmu z>a~PA=3Cp)e*Ib^_)h4B-hb^{GH8S++#2Y#Jj8W)`C5{fqn0ZLp{sAsv>f^>t2OHF zsJzwIpS_y&@GVeq@<%4L7?70De}@4No(|s{CxkvX=*Hm*LlX}fDV5{k!01H!C$A=4 z&FM!cO2K*@hO1>?>7OD9zY?%sA*Vy(rePtpHUiqC>Yi95uQ^1i{FOH z?(4PG&uiheP?s5fp3b1btI0+*s^wR7|Cir;<&}T=`+xVluLet7etDw63%dX3fB3)t z&L8}fU;U#~W{Jx$>e(Ou>CgT7_kQ@?zquAGy*yFr_a^RNnYjOEb)R9va?qQ2`M z25D4S=EMr?359(oduWa02>RNZ4PO`STQly7bSS0D#jxL`WH+H z-SO=E6i#1y`fj_KVq1d`#M1tO*y^AWX^AS4u4ynd7Q&n2D{E%Lk7vjcj?&IY)Q!*z zowPpE!`lNqhSG*~&nSkL_L3kz#p@6*u7qubyLzn)h3Wy3gcX63`3spcdMb@8ZJs29 z7W{g`cq0*FtGvpC%KOMfz*Upk7}`QP`?_Uo)Q(a&SU%D|rcVd~GM?a~%c9oDc^dl; z8(?_=K*=NuDAxzb#6=;)m~LRRXo+V-C2~{-wKhujB>NI!nmqh%g}7=sbU+mNtnnaD+|M@Zvr^hU_G!qYgP+53V6W zmRBlT=?+g7D2hNB7YycpnJ?(z&KGYv?=>Pt_R_OO`;>!eaUj~h{WpvDvx62aMS$%_tKGilCq!A&#!;mTor2v1TBBNrW5d<&l4j24U9{F67(k)l- z? z0k!9yq)uEcTxW>aen7Hgru;sC2^B~wrsn=axApYXn3S3lg`y(gpC%wfq4X={d^+gm zRNhUL=IQ1CqLH+Ah!BRjDp6}Dgl>r3BEOGTmAN^K6h5Xt@?PWp}tK(0r;%itPQN4vSZsx8{^1WWHzWJrF?%nEveT~}41AT9U^nd7L@|nX zh(2W=65$adMY(H)q6%s|fs~z!lyn(MS(lk05)mnBDUvb`P+=dN%1Dok+nr6H*_}wH1n@ltzP@F_=?jUT^5dE~y%fQ-ziQGZx6~aqJUzNUY5yvV%biP@&(^Eacu| z@MPo~41#!il4}T>ybwiifvK?!A~4O_%G4FuJPilwj{$%3{9QPsf+pBwj6Z}k-$5GE z40JG7K`aPvCGzE+{qDj1m;1?zl;iU#$L3MTv;giBe%!ZmdXQ0ZgEchoYxuatqmHSA zu3xihnXcqCE5C&(FTkHoFy~KK;cePqDh?^OVYHg-X}6dSb&ACYP;1nwZwwA_{W4cF zNn*4WbW`FNNh-_^>fn;#Gx8X&FP7vakXKV1xu4(gJrSwv=jF);mH86)AzhT%qfvJ!;=Q>ORg3+U?vjbP!Gj#ia4b` zfq6jYz#iA*6u8uB?iYYO*(zFZp=L`pp|g#i(vDRc3xGlb?ni+|b}{k%4G1&Tj4Xqn zRzqFPf$}2U#IO&Rp>0H7+@xte#+@`a{Hz(m8f+@G^#X#<>TMvs6jDP2nEK_7ZDNZM zc+}`7eAieAIVA)^j)|XYFcT(!sjaR;^SNKqHG<~T_i2{xc1V@Ty{Xwa$Wm=f?t3nCPKDdSl1nn&q$5;Wm zU)4A%hy|Bj(&)Zs$b357fz0J_2QrU`JCJ!K+=0T!!yRaS7!hMyXM1DNr+@m9)@_!r z;CzMD-x4xScl~WX6JJ`BU%HcD`jcN4C%>#remPWqiH46EC$md|1(t07GbpwIO6)r-v&bT8lpNoa zy6TBfT8taI9D-=R0NG_M4vK}O`53Dujb=)~G2D)HGI1+RnZXJj)ZFUEm|m2}CU0*= z!u7YzZud=`B%}~0n$(U=D&mE+B#&cK%{H(T16zvKz$(n6JaOpu9hI6tSf=8kdHLyb zxTSvL7!!Weoih6}XQ2m+d2?!M0mZl|tY?MoatNIGrZogy7Q;nL3HT<*kc%8}E|Orz z0V5PBi+V6Er@p#S*{qJk7{f!K-t>#mY0EFdQmK~yRM3szLc{NOsSRNpmk5gmW zHVfuL0-uKQ%WVmcnsDh!{gapsXVSzePhd;6K*ML`mJJ7c1XuD%mQA*XY*_5jP!SHb zn4V0|(_BXA*`_cc}kceq+Hr;B6Gs-YN$`;=$~6GDJk zJ1KqFjR9m_xq$g65O_zD4ps@6yG9&MkYHlE6ZEYy?X zPLT?C6d9q*wr^}HY05WTFuuWD)ET#3520mUp=D#x_x1Di6EMyZm-ZC2ax#_xvpoj0 z?U$y&T++*-d?>(L9)l@K8!SgK@z5$Td2Y%7<*mVT?j^qha~b8WsBhHv1egL5!)Sw& zvsA@qMC9C9`QiX`rG$YySVu9M(Gpc}^E^gK3JAglgK%*S;Q>Lo7$KY+L&$T3aB*v} zn0vk%go_*cRyDi_JPdOLj~Qt>yb4Znvu;Ed9^^Oqj|js2(BolU`vVmWkYGr z4)CIPl$+>Kx-qn}Jj5uj6js~YO8ktmLbE|Ca3LmVf7_c6=`=AC~ z%*D-!0hJIDQ^YbImB}c>jWI-}ArT+ZTvQAARJZ`Y za8bE^anbsLNnC(p?jcI9Y(bN(r-?el2zi~vNYGXoIe7|LO(6w{A$Oe(G{;O^2JoIH zObV3r2~vQ?QkDlQ$pN5}TpZFH`saJoqnyIqOE9D`#Xguf9d%C{Y8ZJC2@Q8o4N9MMKjoHsEzHks>>dPbKF7dqU8oFsZ>u z>Y~o9aTsvJ4ZS+TO|Q`{D7u@K!6%YDAyz5|!ot786Mn2ujC(|^K1QrQLJZ?vr<&e@ z2}868joyA}bRVK@L!<4g(KhuP(J}2TbSecJV=1Ss1Av9mW~HWy>u9uJw+YoHM-Uy_ z?&N5<_Kx;~KY*v8(Vo?4vjk_K(MFePv|ANXw0bcJ!$KHsT7dlFH#B9zWguZ5@y*M%2HHog`TW+FwYwg<9XzwYLRJzoPfv}Bs z#B>t*Mm?F&piLYP1_SprH_D4;rXXjdpEnw9T5v(cS|ph)K4U*~VR;7;SQY zYO9j%*KI;|aV^zSL8ZyjmXko#I;F-PV?7#V=5Df+zKOn*TR{>-{zNe+2ShVwT8%i= z%=01=tsFz3jTKwLXQ{uxmmai|WZH&SoTMaklSAMrW>~8kYNLNxYJqB3E=(c3mXH>+ zSfrG!oF7QF&zNdwJ=L~%6OK!5%D2#RD^e3kdMsm6JPT0;EUaS5wmwyAvi-7$xKXKC zAi?lp^i9%* z#v8M}n(QDNb^_g5I2;|-1VwJAP{HFBp9qzx5Y$@59biM=RYN_di^PT0l;|R!vw)21 z^3c>&L49MC^1}2#PZoogN`GJQG>uf;x9my7AK<=c_nBYf9_z_pOyGUYqbp|gA!PiG zIx{{@^kNGvI<&wCJ~NZU47VH$EosTBn4)28MKfCoLvEN5(1x~(cbGS<0tud*n?8zn z%uNsR&P0R3Q>PuG2&}WY>6R%m)7DT_g~LMy3rs_>g^rcG-bNmwQ7(npLROmQdUt~P zGk*uu9aN&!1%qY^L~f5cNrtwQ8>4w=9C&FR?1dQ)xC*Q#BI)U(9(^8LOiKxT9)f|U zl%f(*h_*zd&ZmvnQ``2P3DM~CzOowjnqaTEX_=&QD)IWFt_dW;`dUrX3hG zqj`>Mb~M*K2gZV2qGrR{w~}mVwnK5>_0K5V(iml>lx#^^R8P>#QqG^n^M->+ibxBD z8Ho3>Ae(b1&>r5iKz@(&dQ+ zCy{=K>Li*fP-$BRYBL>zHF@uY zfU)+SHJ=M6G!TgRnTYt`vZ*V%TEHC-^)dp^CeN9~CUzDez4F{B4rU#ZXBL?k4H$-1y~2y<5STeUJ(}ID9gM@Wi!7eC zzn|x?kT2%_0_!ch${^8Cm(5bFVR{&9F+=hB6w zQdlIwuCu*F)46ilHB}4qwzi8!7!{G6(Z(%Jowg}S$Mn8ASRyOTns?jnpxKByjJTH- zlXVc$59pg2iCJ;{cCl=G2RhYm2NgqFeIs%fD>&$)qxvNCiH19Iw?mKgpYMd-4%XCG zv8?u1#_efBV6u`LsoGzjZeL;MN@x$T@ch`k#ieNCv`FXsCEM)~V19Ew?7=`i2;tC) zT=e$469&R|Y>-9IuJUJMn}ZyJW+YS-Ca30KNnF9625ocbhuPV_NV*hCf||_&dG-l7 z*qS|ItiIVq+iA6pB?^qPH+db=wHY_%DXLl4*K3n(3?mP3b;4{kX;kzW;LV8d(FJ-d z4OipS0Hz)#twALgQ{e=Ko7(T7-C)|%ppLlhNP!8 zN=H!{RDN#fp&olou{zAMXvUdkFf!ZMsQ_)+b67cGeugx94cTpVKy&Ex(`!ZB;tmE<`7vgjBNzyaZ(*atc+MIy3<$2l z@T#wEQoc^t^oUG*`LFn@5r*j7sy%tGqb3DJ1(2%gy9$M3C`khgmr!6$5JYYS)I!TB z<7S;P7xC2{4PxyL22pEut3hnq@ccUuV&ng>gUAFa95pqFaL}G%OvvxO;XtBHrv}oL z>suU1jBJP;%$P8bVFAR5kr{Fr8FA?{`XPN#btzU8v#7`v*A(3mJF_{862{KOoWdez z8hjt$&TCaL$#(M#TgVn2wC-@EMJd3Ig}T}*Yt!F_6cjnhrb@u_Xeje5q-AR9mZU;atupYT8~&)ciDCF`v4JrF;!GXp1Hz z#%e)Zt;7oIh`gj`7>Mh5%z|apk~y5w(aZ;|wHHZ-S^4l*BqAV*lUO)VaS}K1nqo{6el8lr;b4wTpI zB_emQ)XivmhqHKPUb($(Xomc0RG5Wks3op?*we!xlkAgM$ZPEL;}%RawUN+cOS_L? zPN6)vS3haV+7!z3p~Mu*85&_4Wh22Jlt=O>tZO0VJuQTN`Tju&r=W^tW>#Z=A!J5| zeBb^;XtO`8C)vX)K>%@;!<^5w0Gd)`Hs1uW(rOY&CIz*wIpR8xcVc1}NEF3x{&mF8 z5SL?7iCsi9iXFBFNW~;_z_fku4TY`yqX`?{Yg0i^5VqXU$u~q5Y9b^rI=t)zUza5* zwoL%zsI&;HQSJ;+*2Bez3+sJUjDIe|peWSJJVXY}KJ){zK0v+Bw4Wz%GZzynR z=Kozitv{npH08Pi3p&4_g*XH4r(!!GJ2p=FpT>l6-!GC=&F6I2Dza0_b5HAbrKp|i zhFf3MPt9|ijkm%+bL#MOr+)Fj{Pkb|;&1(*zx;Q0p85I7FQ@+YfAtT)_u1e0PyW{b z>wXp#M*C;qe5KltQmOtUR1%Se?5Y3hpa0Q+`>+1RZ-4Lhr%A9sJRZ{8VC`(aNRBTXoS`?Jo0*!|HB#)Zw*e> z=(w;u)|pRfe9R1j)cIkpBxD~jqooOx^^kLB=1qkt68ug?i`9wYJS&ySC{}tFS8zIz zmDCalX_@;&cM$QoTb}^*={?MD$7={M7Wy4`cfM{(il`)qwj6iweBF{1QArOhCx_GQ zb|V0&K&=kZ=}7Ra@Ue|9Y00)Au%Q{H2H?~rVh}9uKeb;WJ9N;v81#AvB53M$hOjx z_;J^-H!Zb*;po`|Eio03>7UJ#p!mt;DpH1}u?T zCkA7qY^;sbYkT(Nazrh&Y?U)t%j?8G_}4mHLAPwyxL3xsRnBWQO^t@ayX%gZrIUJ! z59|=C-QAXa0cLP&B~uWsa``HY8_PPmN~hIX^5}~tCB;%u0N5{mTifKZYM*I<90pZ$ zCav;+yzXSnTDB9e)phIu!t9ew(t;%BaFl0aBl@?oLr6oI1L=?@BneftnKrds_L?b4 z!33pKk^acv*bb)IG?(@bJ{>>4h%MI9|Y#wiD^ zqAeaFp1K#0Yx%UDh7}rRAaKy|CP-wNKem9^hifs%)=xZ#27$r5oi<}M2(Gj+(%$PE zYVfAz6!^z7jcRF+;Q&`z@--r?B`e015pO$w$54*&XlbFXTY;7l!B#|2YiVylu&a;} z?&1?bZH!P+1QSrf?aG+Yf`Hr!4Us@%q9$n}*xj4ekF@|hWH&?8JGo@)I~;>GYDbdRuoLD=4@@LkRl^|DoR)uR4Y*3pj@ofm%#OBwuGvu&Q67pF z+WiFukrERV66haZbo;B5<+}ZOtH<=vD~K42G9_|IS`azO-j~_pAm={_od%ND7mIeB z`)C`yzWo3;UQV<&f~v^Scl!%<#L@s`Gd1U9XzoeJ;6*`28MLmlAO<{C8<}A)^J2YZ z&-cm&*!EipQ0gw=jegVawEKqy{w&G;@)di+%{Ri$%!Q4x`_kYmcl-VR1c*$|NI&>C z!N?(k#+w zdMtvnu13USVS0m*!8vc2m2hD(q8<`DBZEYQ@c88ZcuLL97Y4niiva6qzn>~(e`d^{Q$olB*G(Cmhm z>h*Hy5Eg(3>tqYn+180lZrOp1WS)xlAd{J{rYZ|UNu+_m*mCmE^f z_pb%1L#T(UIK?8+bj>4Y`0blBewF&T=~j;`3mQ1yiO}G+^JUBvB!X0 zD|ZUS;knp z53tCJ1YSe#CZdWGi{{*BfHge09-{Er0s9Qz%fk?xwS{a;7ceb+c&s~)6ydO~L9z)o zxhSX$O^Tp_UAg>#l%vf66QEy(71V6#f-y$Pas=HXLZ#uNSs1Qh)V`MZM6UlL*zpua z!QKs@5DF|vC#2>>R|^M2cq&Orv+#wS07gPUP$)<|hBgjSVsixX?h z^X}q7ii=QmbPP08|Iq6+saLK2QVO7cKu`f~ zbD=qcvJcR{u{O|3Q3IQu2_NJhI&-eI{-E;!S@|!q;)v8X8jydpIB+8Ua3s3zjtLE& zNFPS@z-lxCqIdxltD(u!P~(h8a7;&)DP%mzQay=qP`L&oE!%+clpPcxY{Mn}0p>1X zZfn;osMQ$@S>SMbzYElyT;Lme%1EV3qcHWT4~IT>t-pcSLd#E(7UlBsc$TD=<-Rdy ztf=MSbo#4M5a2!=xWH{U0iI}%nb-+RF;7#8ry3(siKxkO>6>T4sCL8VjaykNg2F;I z6h}|>pM9|y*h-%{@BM-5#W8zP*oy<~UD29Yt8p87j~8j{7}vq={-}NBR8AY)+pJby zwY1e%szdZ1%re5a$S|g*9oyXTBr;v;MetR!0;ykpK#X{mJJ@k;dvJsr7-waR_LEUY zZX}}|U}3vD_LEVSV@i%iyL)(DK7a|RV~D2(H1kKaTnLyH=>$;y8nA^$h<#_0u*NYe0gWo>W^KY>wZ9z;RX?Jv^zG4dKeXnxktovNr>jH${V2A4DFbL=;e zi39)}d0W~(qN54vTN!&%4uMa@@SBL3bc>u?^}ysW#y$H?*zz+%Y%|8XMZ!sZE{#HsA^VA_X>S*c1C> zL0j4mw6lOVdnqfl;Z9AC-YBma9Dm!3#C|JRi?xvvTHAw#j1V*kn97t&z_p={V?Dyb zS+K5FcI(U@t-N9*KcuiwpTYJA@8{%2!ZgyB2YjM)#WJ}^X3P41;r^ah_K1G#>0QVO zm-jGzWWJM`G&(WcNFAvzvoSKD9G#QCT_Q$}ccQACM3B(M9)TGaYiM_hLOgNuddaziN7&#YyYw!}{~#>UB{2b}WpH-@2?k z8S3hFQ2yO%<=+GAp!msDqWIw-@HTs3IzJ0KpLX8Py6Z+z{CG-io#o#gil5nYnP@!H zaKJO6l#=FA@uR8(9U;Y-cGc{*k@}rQ13d)qie91-<>(7-In)`s^2>}~G%RZ6nAbpi zIaOvOO|*eV%bKtj0O?mMiLW6_Awe%33 zt@cwVHlR$va3e@%(R5E7;OM0VLS8VaP75b1~^MnW$`SaGQNfeUrW$P z!G!je;i!?%wsY*jw&RzSdmuBTSO@*U;>!(xK+lv)VxxOHL~~fEaXe)T$U|d}#o=5S z{jky^?Xs@9S$>VI&k|O1+0XZ9!kRlA6x<0l%q#_E=Z=R{?d;A@rK^>;xsCW3*1_no z!i+gDB?awnMVY`ky=37T7ugWpCss>~m5oTyhZF<(ACj&i3+ntbXV8%q;2+D4EOH>< zAJ3fSPG```73CQV)a7*09Y@je2WU~C1QumqdKo24{uj6?5Mj5w2)lsB9Re=E5nQN- z^dyz-)HzDt5i;F&XQ$5Dot-*ocXsL=cgC}%$E#E4YSMU4fp~Xx>YV8;$_6;JAvXLN zje!Uh1l+vUg>#ZeC(c!1>xBVp#RM!Qh$qffWvua=p+-uI42Y(BwF-t2pJDk$moMmI zOUcQ@U`zFche5n!{u&1mSqMuLq_Uvyf_x4ViXWgg^Ex;dLaYky0<&rfvHU%j@C0Th zHN^^&31(HUioHHO$~H*A!>rh;DQ4xcBbc=hvvLQs>Z~j=D=D_U%xdv92b+jlX_$?| zl+|JbF{0fWRk}AYD`g_Ha%arS_9;{0dzh8qq>ZPq9`o+sk2D99dZVjPLT7IO3*zD-BIqA{A8}5L~37hYb~jaWjj?yZCPuh z+2bnPnQje2-z4>Ql#cQTRFK*oWjigGJ!(5S4=8xB9CB2U$~{D;$R!~`;sAMEVQaZi_teE9(H5U7BZ{K{hNp1k`tMr|~<-khWeI(!2hBL;6l2g`1^adzSk& zzBt5FHzui3ofF14Ln1vf(i-Y0P!=yT9bh?UDnS5I7>9+$G9v;Li0GYGofuuwvLPl` zlG2LOooFhiROe<8#XWT$&(|}eVsjO-9`wi!TCa|o(Vw?daUvW%6vIK@Sef@!uR}Pv zVy{_WN`$IEcU7-LIM|vF2Wzwu!a;5P+0@q7sc^6t!a>?uDOe~I!a*X3MJ8!_evxpH zTmyHYxwJhvKx+^PyIt`n6@3A1nCg)MfPF*<=x4H7B?GO%(PCMCvx+3x5G$uX0h0nC7y zj7oVF>jdC2DX78IxuPQ^0uX=@8$XJE?I|x%wFC+xP+$$+Cm;txv=MT`vB`+vs69YE zp1yCePKW5)_i-USykEWaq+Ipu8G!dba8^&!O$7gZWA6@+l{ASJ$AHLM5PTdm9mm`k z;UQ&>910JCNPw%l!b1jvK+sf{jy1&j;RSPuEj ziAxF-=anE_*4^TCm^cRi5a8R|UagZ1;J-23<4t-vJLJG4+wTK1Kj^1L7Xq1a2$jS? z72EeJcx}r^Wf*KM5n&97Uu2*a^(|My)7wFlWkI8|p%}}}t=LjkO!J688X6Y$LdpQT zq}Ux(SkEj zpMZl2{>V9mc+iY#Z^Iwd*Pgs|r!nwz@$K_qy-6O%f?xLOXuIuHuaNRqkPucxT zDA#!wIkXyjINcas>9H_@%;&fMyF4)xv`uqC(Jypm5q5Rzjpg@BeC(;Y5@omd-up$2^%LTEoY4S^*eCLWD5M)XN*iP085H zW_8zF^|G}cg#o_N%T8|UW#^TbEfC?$w-OQx*f;NG8)}Mm;hRHdzeM+NaJwlWhGk^L zB)}s>ZidQoIv!Go9P!u|z=2Y!RZAkW>3@lb?qwGc4|5JCn%vu-a>Q6%EoCX(8gY|c zf9D<3TdX^fvR=^gg}%+{BZ8#D>D2&-0RrHazsc95ET0}Zpn9$v{6-_YC(P(5gy4>h zvO);1pWt|OMG)+>U>ORKOL9!AEP}xMA4d=wTZa*7#k<4{eI2acWZ|s7wDRxXk{pTW ze75YI&ki)tCeHapvfhEe&Jj0Sd}rr;_BNOo@zpt>eR;Di2=vRvnSgNLJOE#OaRMXaRvQABF9?WFl;aGebwFX71Rim7HW9NL%Yz<}r z>JDe;d@A)UZ8gz0$B(ios)5a@pQjI$G!B2x(rB6KF{FydmjSUi22mUG89M+d3`9;D zQ|Pj2AVU8N#AShKD@q|2E?Na5&ut;b+}2=@JXH)#nDOG+(?A8H7TQ87 ze)R%<2rNuNA!vPo%*Q}7yE2B50)lYKAY}1t1>ve7w9_YmkOe~(ggiG07q$iqx#ydO zP75rY6|+_iPl0FNoly{dt^;568^J3&&-kRJMUIH%(nmjXIW)LUrK~iyOgWM(^-VkYQfodt zam8r|1P241beQ3|vt$Xm>F!^u2&InTo3_aqafA*hhThN?+XmH^wlTIj@r+fJvDB@x z$6M9oVb3KScu?d#&f6)fX@LPdKSt#b#_}9%m=5f8!)$OX5FXhm1_4Z8R7ZIVifTEq zmj4paYfbO~kYzfK1b|7*6|E zl4yum)(|FL`9;Eka9*gZGdH>vi$}JmIE1z0iXG!z0E(vOZ}n`4aee^lV2=*O1g1m& zws>slAqD(IH;3@gn0eH+mkx4Z0g6Ao<-Lv#?fGM;?ZnWQKco{w@xtxIP{J3bA5oY@ zA*f_iZ*buFn;s$xI#H>tc$ewxlpJGF_vjveewfUo(ROsKfsVyFK$+ll&WGbcrRW9+ zOlvinJt7xEepx4L>Ldhw3Np<@of3Lrt>E`W<#%ejb)F>YNP`}@7ic?S!Fgy7gqeb6 z%7L9nw1{IYKV{p`20quO@W=rSCQe>>ukFz&=9`v--lQ6>j1aYKdFYS9p2SwPw^RHz z43pRzngWV!3#bWAo0S=(d1!>D)^ALq$&WN>+4&(p0boQdA~a@caiG!le9g&tf^-XN0ZK(*`~j)=Rlf&!YwaWJ((Nn3WV8pL8KxKTTjf@Zbs zTuZa8hLO;5uVv>=oSpQfG7j<-R>V4eBPP-$)?wplIBHZW`#{V^g`F#692k(mXql8= zmlPjE-9_Y7gE8g#hTNLv(-UV<@~aLKO4&Bf{g*W(_(U1?1N($VeHz#Y^`ka}G9~Ve z)OL|tOsyM@$h)CzQ+uXWD{_>8PWM5qFkbK@hR-3X`=0<}S( zVxI=q3--BL{a8y%JG7+L2NnCELc~53b#KZ(qjtnT-HLtK;J*+1bOZY^p(gfW(sejk zG4?^PihWqHRk4rGHBpO8VjpJs0{blaRUI7@*hdG_ss`-Cb7P;?Y4$NCEyp7qOR*sK z;rAy3`-Dcv>=RG?352eFP)Ghi)tOiHMKbhq0JM92*(f zXQ^Tzcz5VQlXH0^`vhBL{#AvhlfH*__>A0!J?vx7DcVPFX#jN0K6OE#2llyH{a8yj zJhBg!D)zzNa68%eP1$GEjs}~(&4dS~LZbcHrykfx9+y_(1@*{2H#uL6m>>CI#fqFZ z?4uFPBBDj~&X}$gTEWY+0P7a<6)O$MgrPcAiOIWRAa#thG9z_ZDS!-%X_W#ZiO&&x z7Pu)@ix5R4Eq0B~0^$R#V^)V4OSFJI9N-%1oJu#5=riWBjrIF5S7kBi&s>>!fGS9s z2H=McDjo|x8*_OPh9xe69B?C&G9m{o9NCN(b!w`b<~HJM!BB8z-(@5YrH37}gE2CB_LXkye?4$6-h63qW z{a-O3r@~8jO*eB>{<8*60K&ABzQbIR57T}5kihN66ImGpHeyj7?~D=W9?9n~KTgA6 zj0k^c{4#&>NBE0F!Evl?Eo_lfBFgRL|9i?Wc(6_C3p0ZxM3!&$Z^vcDn5QdZpW)$;;pBb$faFVz=9+e5cDcs~_~b?7aNNoL_e? zzuDrDu<}bC{mk?4+D|tBL7OvM%Kua@K>3eygsuE#?S3nNzBfRxa4Kov9WmluW|1z` zc6oz8M_pdyx!w1(aLMzQ2*|u?{-rz8+xb~q<}vwgP|oX1PwIEL*eIe)t!T;1CKk4N zb0*$eEF!V_H}vz9Re%B6e zDF2K-B2@Am|BwLCpTw{H_`5Wv)<~`Km*$8^bFXqEo&0NhGRw`c z@Ke(kAn8ZU*|DO?mwh1{MWNlaSato=KHPvLyS8e|9)Ty%$Ow!#gU!^^q~`Eh+M zfgg9q^2rP4=c}u|J51z2E$`SFm%SWs(r@TSv(6L?H(%j~Uo&Mql!oHYCW9$st^L`n z3BTbUwz05aL(WC)#CA#GNsu6IGJt5cB>)B|`+2#hZP1TJ?PxaZ660sgKvyMcCB3Hy zQgdpS>=RmGSfc1Mn73+5+r;%Uz^s*!q!#2^Yg@d2EcX-^2$bYHMgYekYbcCNp#$#EA||n+>cUo2-1{+eu#J^q>QP(Is4J zBr+rD96DJlbsZR91ME9t!5b*vC;qu_b8v)?o|l4PO$y9Zn$(hQNFHzlhe;QiN>j4NbkU;Vfa`QZ_edNR z>9RfVbgx!!=?(kF;Caralq}eRC^}NF#oV-QI3ypz>MI4;?44t2gwI$20`Efi5kc5x zFM`zQ7r{b9dS^m?EfV$nx)Fg`$HM3|Htw^Hi2h&@N4xO8{QU0jH5&Nxhr?Ld-r*8C z+oi?T@~f+ivozUi`IXh6%4l^E(mrg`lIP|n*Ua~bPo1D*qu`13iyB>nQ7-D&3>t1& zOv7WQeHc_yZ6^#oV!ab7WYkmkfrn#Ej)hKc3!U5^I$5_)PO*V7jp^b=aD2aUkZbSkKQkwUoGG_`Vw^H_`1P!WRx+wqA z@BQwp&zO1U*j@+4=oNjt%X~@3?8BpjhE=e2hqL7uVPcpaQtEtOPO!5_>^-lxvt}iu z#DPU&B!5@FcGP^rjQuz|x23yT?uMUe=DXiyWd;YZXeaE;?ljwdf|~>PU_RA;!yhHx zhiS&LkM~uZo7(7!tEJ5$gY9tVUgE~K3s*j(LwR}d+OWtxbT~x`qmGZR=8kL zIgC3j6eLxo^|hvw>$XU`g;UYfsmAaPnd;y&Y!%1lGGzD|OoT+&f`f<5Vy;9NqejE* zzfrP~M$qnBCrt_)bsuaSlvtU`T#`~IZq>scaCS`jTRVzKILHF#)y9)vevlz$H=KOB z25z2=tY+}!$R3wcNmYmVrK$ta9jkMPV_^FAgK{HG3e=)nB0XVTN>d|}-%2l8|A3Md zY{b%jZleT4DPIRfH_>L4A32a8!BJuMdH8D|(RprFJEffXTl>p6I4n-n(GN0`{%tQZ zjSB^641>p9ou*$^8%UTuW{Ow78*T)Gd-eVP(55y@S;VCut>cH&hHS~lJ<_b|9=8Cg z1$nF8La>Pt$hbgx*#b@miKrq6Qt!C^G-JPl)z|W#28&i13!tA2nZ8>&#ba#cE(aI+ zrH{j|7JIeFAqEZH#LL1%l6X{J7DOI-S#{$X6fcKn!}QFx%8Il9QC=1W?M7Z!d=noq zYE3y<8GqmcJS1T@rqI5f)_vWFulBJ8Roh3OWz+kkCj6fgBVDuo{GB{>^+0zo1JU(@ye{5eQ@OtR#uLI_>z&-)U>1R(TRM zH1!~8zig5w@~^w^znT=`_zm}iR~14nC~i`AMFLE~CR)u#0aG@0-Tehs)I7JUB5g2Z zRhs>rvvu&|p5vl=A0+p$mKjkZc-lLyGiMlO%MloleVyhh@iN#lGXR*r$%3JbbvGS7 zSMMCsl36CgiqQ@_3$F)>{us>W#_6@YOt!=PoT+KMx*u?O{4+(-k;r&kc>oRbrD zrvh+xOuk=oQ00cMkpN>asS*-RTl8e$AT35#u}6hS#(c6SJ0twKG+0X{vK=K-{y}{! zgf0Ph5W=A&wzX3|oNaLujeLD=s-}FRaI#yYeb8`wN`E=yu0?%NF>2jzIULjDX`i*BW@bq1c5FLd{ zVYxtrRyITeQT@n{JF%%AN8W+RHaPI3yc!Yhtx=j^&6}V!zrl`FRFqb(rM54nfddYL zKr)OI1joOfY(VDI2tHyh5Epep!l=u3BTJc*dSTHpOiMnGiC~DYlwQ2V%$|upv%(75 zI=%>z8~A>U!BJ}EgzkJ&&T_hvxdzBd!K8=068*9%KgBV&$P^uMt{77^_$D+oar!## z1kQpbO#cxnTLO^%43-C!+Nz|bOc+ndkkYrHuw$@z<`LzPHpEvl1krLQ)Qd*ndSD<) z8xkRg%qzIF$eLw)wALf(L5eBMzmz11vyn{rRkRCZ{k(9Ol}Sdv4gHRMo789~npy@a zmC!JxK9z4nLAx>7!<+a3C1V++Wd97(*acb38;)%=EnPm#<#TD$2&XbSfGUluXlfnB z=1LT)EVB5uL?zoj0E*K4puxh_5gH*8W@t2|S_EvB|KbLmq|hN+d=nplhULKaN5e=% z-?9{nc8oZzzYN4NGE2z=?TAXFhp}vYLqDMla|QGK?o!iiB(mMInmyh*3L z4DZYGT4N9=+>lKUH@Jx5hQxcQ`9D`rzE<7HU$jPzA=LWk^-4EivN9rdv}Yx9wxKtU zW|h^q=kR`>|6r}d=(X~H)+jGrxODc+_7j&b`g2=bm$v-7{KZS#{@le&Po00L6txH#*cqsrFJCx!#r=(o z!;6FtJ9p*m))SYvFKzMS%2SswU)tKHaCmw7jLK}En|?Qb`q1TbTLB?( z`q1C_;0M**_7fMwvqzu$iZbbK!#f=;d=~pZMexwDRPcPk;1ho_zGug^!)N@RU(vThW_IJrsZJiHqmoapl~(Ay@Z)Bk9(;&8ME&Iv2oy@+r^^W9vW3m_K&z>?PHS zWuLhC*tt(vs2Z44!vL~AVCw_A?=qT%f@A6n$1_iDKYnQo=6KAXff)ql#chrL*>hK} z(4oJwedhc*wLT(c;6mUz=RRDGv|zdP)V9C$N&o1jr!GF`w$D6z;oJu=od?;Qp!F{Q z)R=SJ$IfkC5sM3^5kE~5oespgPhE!3+=nhj!afF@oz;`~R`2|yh|3Uy#TWOQ%&eb3 zck$fT6K9We{M=05OPq81r1mLao5}w{WBQqMxAE@h_zddKeSquvR(SR@1$X&=IzIm$ zo*(D?+i7g?bMhkYpT_5ZE0+IU+c{45c2}}c{%^rQ{|C;A|{}1Bxf6Vg-`F^+;t{<(1_KyJHPx1Wk&pP)o*I$ayAE3Ygkng`S z@7%|^{%`U5C7%CBd_S@n%HIndyL^9`{x-ONp69y$dVGGB@=x>qL;Z05gNX0hrgQ%} z&!6Y|UvSlb6^*It0Mp&VM>zj1pC9T&fggg;52^D*;QirYKKJn1;d5P|gipq&$!C_& zVLtcp+2M0tpM+1wr^#oQ&tX3I@S%nAnA3#=T_-poo1;4inH;D%&~!PUE+4@-!v|0t z=s8T8gIsQb4`gsle3tnf;IqPKmCr#wYkUsz5q`JwIn3wZN1vX42Yd=XNBA7$b332o ze13wD`17yvc{iW;^7$yAvwS|whj~E9gqX`9R0eS}2#|R`C;9C1VKmFHEayK(xzWJt zo;vo)xauQ9SHymEgf72uApeh(s;#Pxw>nrFC=HSZNQ0vR@qE_#+{x!8pItr%ynq&v z;sTAd=W~+JE*}b%*H-dBt_h;a&wiM`6?RfvRi~k!BvF0-(_;Z*R}ZJEEdSL-4PEU8 z*I2$T%IdjTSXZ&Ju3}^UYlw}3zAof+6=if4br`R@sKa>GyI7MiEui%u(@n1tC=O^IQDC&C!r$*9` z;LP*`+5Cs=$=`mwdRM{QZWt?Sc?lhY(}=DK<^2SlqN~1FaEh+_Uco84>bv07wW6z3 zgW#*+6kR>^3~&az3SPnKU7#zF(tN^`*@oNY;$|AgZLZg#5C^>GznCU2Ndyf4#Y>|m zU5S>eOHWd{F1?5rs!I=Q@It|6P5KlKR+kP%WAR?-9pI`8^}6&Dyk7gEU1#dju?P$A zRUtKI>$|F*ye@r=_T#-eUgoL_wYmnYKWe8}m%c_j@?I5^*iHp^r!L)24c_Z|h^snW z)0GMbb*03ru5`4bE24Ke{{`4;BpMBCgzhz#Ug)SXu9YZg$n?Dug-O=pc_WB`Ye0=qd}N>%cBa<4C;TZr8LSO%Hc8r0E6c zd+l0poV9DKAx-ZioDvbyRd84ER&Z9LAUG*+qQGrbEv_N!sP93wxQ48vzRM!&8o16i zynXF6j&zI&WV?DW)5uQh+G}K9*KR`=2V2~b^}#MTuteow9LfL4EJMa40VamkK;6S< zhtG9=XjhCRrV@imI>fQ!emIIx!YAX?LWIRJl&xD?cIr&kU>Ld7dF9r}%b65T^$MW<*^8W#tB%rbY literal 46923 zcmdtL3$R_+dEdA8<2>%&=iGbl1HiqwAhFH{KwiXT#7yW*4ef^55GfLZB+3$_YC7r+ zK@b9Q4v5FaB_wBP-YZMCsZ?#)jxr-plngypO-^IhN~0>8RO7N5b!>M!G3$CMCAjb2d+qi3zHfc6^{vNor>;DmIOmd!^N*+7 z+wSpXJK26b+uqi#!Ob2VF9{#>_};V+By__={7bHOoxrnmkH?HwJbBLQb!sQsPP=Jx zDmmr!_X(F|cN|F@X__@#S(+s6nb|DOvS!igW?7On@C`1py7}ac^U25D?a5hpFnP-DPtLhJl7Tyt4Bg@6ygQUU?aJhW z>n9fzmt1nUC70cSWYew9{+F+%M?RG&*|txso&3@Kn5QD2_S}B&<_liZK|f0^^-7gp zekebtm+<6WKkXz1C6h-~FuZZgj``FlcRP2#qqZs;^r@0tnW|uy7oVNzx}u=2ta|ox znOCnm5=hUhV}r7Bvg<+}>#5sFm7c7p`9_+Dr}jqL4o{tpv=g3s8)+{*EpMdD;b~fQ15 z+~v|eOs>ScVVTh@pv29(M0cO6o16!jv>+EaJC!BBPX<)Yi^`Ljmt>4Zb@$f8U}r@$ z)kN3BA3jq-vCyWHvUFQb3aZjoZ@Bjv(Am{08H%p%ES=)2+k7&-TIE+DOu99!{>%+X zeB&T=fwimK?Q5#9315HH0cQ08A09ZdR=}tE7Vp=N41|mb@ZBQ;4{;t47#ISXr@Z>^ z-TZ$vbH{=Gm0$eyeHo1K-84zJQ}Fc3yWwo1pAO1=SP3PXG@waNd#TA;BJq-_g)-ud zOnCLPP6kdRiOV{Wl~ncVLtO!Py`T;0w@mVuQ7mv9wPt{klMwjfp>9JUL9-ILs0Hw% z#Kuw*>+>A%m$ zjVlm*GfHH?^uv?}j4OZ7>9a*e;P`pou;wZ1c{g|OlbWTQ$4y+*%VJ=Ukg)}1Sx z)%@kMQO(ji6*Z~`Vu_Z5%bQhxm0XRgIq0KNrEPME-tPcVYuKOT))@ACmG_OUvW@=e z&sZz{d7t$gmFwqR&Fq+oU5<70&3;SZH2dhL>Ww$D%lh+f$xM38H+)Zm*;sclN@y5m z)ldO?1+_()9_a<`t_-HD2;3^pX;q;@%1G6Tb|G(i6{Qn1SoV3J`_`ar(P;Gn=#;A+ zl>wHfZ^>Loc)O4y*&0B^mTwMu>^1fmz&m%6qz(@Vz%vl%#F~)Ip(-h@%cZa|jZ*1} z5`Efm9#Rb^H<;qkr47 zUsVEA0YTbL_E%rsRv#qd^+xsb_kQEt!(G?{n#z7crUKPR<>+U=!;Zf-RGU(z5*DBys@7)JzRc%lMd6m< zz9f~bFKP8sarVxfn?~kREIynJE^> zbmQVf-BDXxKSm?F&`~2nWeIrczJ{Qn%cL3>M6@|rogy?gom)L(&x^vd_AJ3+ld^1KC>*=RoPh|UsRchnR_4K!{CF*`Y?Yy2qF&<(P zLM%Z(xrXWwsZ@z#!8wNuzq(y(RLnq=hSFnlLVSsCpTq6tpQ2( z!XM7mJ`ius4WZ8i%5u12XyQ3TNLdR9MjPpOUr)H(U;rg4wJ-gfOzC^laml7NJ}w$| z9F3n!<0nDmmvAu^(oxTEpX^FwPQwF13?7JD!!s+!Q7*UvDTIUQpx}MZ^LE}ciU>``{A>Ymu-E4#-PIM$sk(V z>Pve5^Y6X(+CTm6U-{1K!TeS)Ph@ye&%g8g|HE(m?r;A6KR9mYx%#})e*aH?{?ESm zqtE=yYq8L)6NP?j;`z0S=Wo`}MF;RQtcHfQjImL1n}~lu!F`aQkX)rd%B-IoUu1L= zrp>hx<3z>;#Zg@gs0E`b+Y-3#(_nA*0AA;Tu`aysbL)OQK%cHzmvqpjsU=1dVSlKU z?hO1B%8{$nl1tOjAk$!hz|<^5>!?B^2?n^}D`ur+)4!tL$-C`Nv#9>Do-G*BB4=>b zk+|o#--jC@?}h4s82|Vy+ZE8R;m$B}rd%k+Aev$@C@nPh`@Ar38o`o%6Jmk!8n~<# z9o$Oit<_6OCB&3FQCenrq+b9pJY82W@ZV=jG zY;B<(G+-UtNzUTmCxmwL5ZcK{p&c@Z&`v^VM_&o;U_fGMCn2=MrO*!AbBi(JD6~WL zhR{w9Y8sh?q#y&+>q9$92<<@4RLG1`a2B1?yIC`Dbhd%LdMh6=&Mb<*ou^HP67qM` zV^GIc4`cnY#~CJp>*Sh!*bb4TvL%y=y8(&#j@iHz-YC`uE!^4i$BcAMkRyNP`Lg{1 zv;&affc}lL{d~X0h$r{$muxJ(#Rvcj8UKJdbSsTVq%>S_wrry96`aLBbF(m@?jBL3 ztK>{6mXKE8py9$CKwF;W(ZK9It%lQ_}5x`h@}!b05TI3N-4s zaI8M?P=U-n;9EcY(oj8{2tp(xrKL)Z~Pd>`rED#G`>Mh4veKC0}?1hphjiz zCGiOyg1-wpo2%)ndj`D@=@xObJaXj5r9ml{me-?UdMJYKmY!?Uj7-I4s-WLPXts&H zbj2TMNrUlV_1cj@;n?RTj%Es%WR-*}eRK`yCVhb5!j?>J+Cv#br`L{z7^%Fd>ic(B z#H?MlUC?9OL5wXDMvNw@aIHHKg_}!{(cZPY)t(E=pe+vdsdSkFU}Mo&EQNg1XcCNe zbxA71v_jA+;(UyN`K1YQ)tf06VL`muWW=I@1`pO%d;lHA1gL9x2FMJliZPJJ|Koy~ zSSgGsZBb#k;94Re!t#2Bp)l~-G7IX0=wFNkPpJ!iMP1NCH&GW^tuCN~sS9aBfeiNu z0V&b|{6r);stZMIwjVCOoDvRZFt@{~ZI0N&oN#^?ce6`(#D6}W%M+KSuuoI=8gHsA z`+1(>Ujr)3B{_*VpkM>;cPgP|NSP8M(v!>`?l`=M4<)EX$BugLe#c;-azB+w6a{gW zP_vC?HOhfQyK)j{)hLbetR!D(s-{z|KGIF(wr)x5Inwx;!TuT3AF?9E6*Zq>V9qg4 z`XNz?x#|asP5379zSLY$P+m_zLH=A(JQ0BRXEhk|S+9o6r~Ph0;hjYBmu~S#&7{38 zUq$u=5zEV2-56;N%C2x3QW*^^iWKZq*;W#q;)j?DVow8tfDFk7eZ+`v>UXGVrfR(x zUbo>|0w#>VA+MsvgrXSXK`chj)DlsnrJU$y$a&Pc`^ZV&qpp3QLuo4Vr!u{|3y%7zkr_d$P$bd$P$bdkT|V@RAeL z<3ff&7jsX}Z8%MUxav!mMi5d4m{NhpQWykHz*aXY81?^6GKj!5XJgke>!CXcee@ZG7RCKIkAfx`P%JfslcBc>IJ2a|&IGYw zfGI0i-P7yrFaF2*WJP-I1@v0$up?&Q0MESoRzZhLF%n`&Q+ywvlrf$)jaz z#J+#xa(|T%FY_Vw^G4s19ap32meeGp7>(c)gA!WIRbov(GyB#JiA0r=8IeE7;Pe}i zhFJq~U(*z=IH^epN2-5@$QZ6~VILOwP!O>49pWbSR~V^nU)3#&{P=~5ujHJnv`|@m zCj#v1OWADA(!j!a)(v2%(?DT2NE*x4AW7m>f|@Ab#qTJ)RxmY?!4ZnK%Ldh;$yIeC zZ$W0=0z`yCSLR42=Ynber-WpN_i z%LqgrPG^b|VA}KZ)%KMEZdq<|&@nL^v40hR2`sOUhf6HpRd;e0IvJP;Tk=s%OcrGA z?49-_P7|R!8fW4a0TmyGx(mRdYP9@N?Cs}=dM#KzAgE7pGxkH4#hbIRG)^a&(AR+8 ztuhb;bS!Fh@A*MFLl0U|j_$KyoX@WY9uy0ebBg553BQSSc=Lwo@Sw$dChLI%rO#pa zx}RoCMzug-?aIeBK-7-0bZlpA2k_9Wf1?hPhOmVYBQo?E-nQ^6H2%6ru(y16G+nA5@_6peFGCRYo3&_ z9P?UpTm1!_MepySdBWIouLk8BwCc}_hy1)ou`3AsetMgVxZblSYBQNYrX@9tJE3l1 z@B`>Ogw#>hg8dWW3D_@%Ct!anJOTUT;R%R85}v@~1L%mQVSle*R=j%)=>P~|Qf#?Z zy@q3D&6)($Dna<2ogcO?`#qadgY8YtfiX`;pj5H|{fCuJ6*ekVWS0&T0ss$>=NkzU zNS=Ii;-x+L(wTheO};EozN}2X9H?J3QU->u-1DG>nn8O75MrB5l+bGjq$1!{<^-8M7!!y57}qU`WK`;HMoO4n@Lkbi z(l&aQ3z-&{Og8;qi)N$a7U&IGhFNYJ$5 znPfm7#`$EV4Jh3X;6-v<2{-JW-g@E2RJYzxBf8~OjZ~wI1H{Dbgoacwdbbl2o$o;y zzq;vr5F^#1n!@jsSJ%Rj%k^#)|2#<&Vtot=M&k)7)iB@5NH9jKslDT2A(VqHz^cY; z$dCo;3LD#D=PhQZoH4F#HLJ>8lccKSY_*TjIB0}d4X{Y1-&BW7kLjN{cQ}_Oj`50p zRD{-No0cUe;Y*PulOt!4(9`uThFD;7mg+JFeKTaH-Qu@zPY%hOVX?yu&WysVDA;ON z9zyyKmqS8snl5dM#yqEGYcN24XN=3m7xlm`t_fgS0v+>?B<=SYsG>V%j1+p6b&qhh zSw184jU6l(Y;qDl7cEp@8}$2g5qH_hh&yw$nttr|U#`JKa8sC=kHd1Gfw|DEC@oBgH2^JaasG|<~b-4kF6L`|2eQ|h@MjYMS(mIvitY%fY#>kvk?M3`)< zgsIxplR*&PW)Py!YY6uW!aWhfVhkba2H~E~{+`0~W)SWf=&i1J7kI@8ycV*LOE-)5 zpC9%Xa1%7!B29t@>QuEEtfyYFEwi9Ov~4sxPX zI@mDSqe~nW)j122REDa6CUU_rH@-RjS*wl4pP}RQ=L2|exz99NlOj#Ah}cS}rqzGU*5BKxXbMbs6xN@&^d6SGoeK1xK( ziZn4FhX%;}F@IYq((AX>dy=!BEJ6!Ly^Tke?FC*f40OgYi)aF-?6O>Vcc>+&E7*@x9L`b>&$!lhg9LC{X6|EnxNOe4Ucl4 zKLA_a>5uqBv|e83zw!vgI($Ow1{GFe295k#b>;p&M#~i6?0;=BDdzgXo|y!_1lpWBta6V^F6Fjg5!Jl8lB%WH-$t zH{2*{*+7QXM1Vza=n+#HmPBy7CCuI~R-*c&z+aOk>3B6P0pojil@TQA`1eD_%J)t1%fw3~*v0a|uBya9_A&MQeKumCNmH_m5C{uH zLt0MzwA;rR5zS}b!TjE7BV=r(;NF;xmS7m%uA71?HX`=JKon{d+uXmKjaq??*2G5h zM&e#zBdPGnM$+G=qyroE{9bTx1vYA72$U5zBHh?%?=&0jNl$4@OvcOv1TCxbFjb6k~%gi}5b7JT2yr5|~Crmm;Fl10cP0Yly;fi~iuF46>Xw*LrxjQUZ4h3XnLjp-wR(+Xz5to7iyo^fxD>VY}ydg##Lz5iGR zP?KWp)E_j)_N;6&pez6GweX0)M=#qOl4|$N@3lLY*zR*ae8;)4cX@4V3Lwm|U%=uA zzoMx-pGl2csK5rn_|P)zXy`C_gDMPv!sw0hB@1mcTY`kGA_gFN)B@L7WHhKG-G*$< zO|8xm^J?rX!@}FR!Z2#19!8W|9I}~~&!pgO=xV+rz!0S{ADjwo=q90nXJ#u#oi>7- z^hWUeB^jL7FRbmWa#&`q&7tchZ8!95O!1l`KU0=SK(P?iH}7pxNa^hDWM!!N*_ z4UQFq9zj&Lkag7rH0=|<5ti;#ExMk02WDh_5k_?8P<6;wJ8Je>QwcZClQ4IJHG!R! zE%>rwrw&k|{S3>5xanKshj>pQ)w&goXxz^}S`y8ZL~EftL6A)3xdC2^0@ZjqiLzkE zpNuf0+o?-d#6B`?MYjZRR+Zt`M$`~5%wK~v@dD`os1wx4laaPEj0$Q$S*aILXeiWH{jJ9wm{!BO5#n+?s!9R^roE_ z@&diKo7wb;BIct?F%+sas(yNfT)dHphKY3pF$6ft1chvsebg9PO`(54R>SD1{H1WT zfC2u?i{JFgqD|(aetN_|i43+tP&0)-zYD*kBmN3eG!}+zYZ1ks>R(CRu1c66?Pdf3 zTBN7{IaJ-y<{9 z@O$0|dOZlUkv=a;>QyhK1O7g5e?QA#;a)EKJ*lvieOSs-;8)vg6m!uw4>PasRhHa-64B_!6UHLb6*tr*NYv^-OA z$Zgbi+QiZYlG(cL5*`n#tKl2k4kBG4)Nv7TqHH?|(3=udIC>!j;ESF$m3dnnc6~jN@V~WH)MJb!ce%m>XoT3tdo6rnVfA|-v zEc1uhjHWm{VL0E=YW;#_&C}{1Uq)^s>E=%yG=JR&7_6Elm>RQJtlN zF!vx{l(t0tn9WuTd}UImz?jG{%mp(fLOTtwLRw9NSKmKm^TAkdIl}ZS_%rDv=Ws?| zAq%rZ2*^wC8Fmy48 zXw1R%H5`nb$iE8VjJhrHn7Bk)rr4#N8S$}#U6GH=`5;ilr)?k(@61V^%fm#dXrOhs z%kb5S@gT%9@^k2|(f7shUE7+&cLwvQyO97!0cDK9PJqi&f{Ru>%4ht{u%~UGSrQ6q z8Olm(2npEmFi5RtB@iP)uDOaEOH3@nns>_t0hrsur#Epyur;i+Dp+e$>k>ZNm<6?g zhbw`5a|*DYV3GpNKZ!zP3b6d-%_)FueI0=`J`5B<81W(`&mlOiHMdf`*d$!;lU+gv zio8z)xia+;_7~-R7(sECh{2=LN2<^m33qoF6EP0#`dN`;#7bb}ZM?uh=5=13pDZ$R9jnSM#$|c{}!+vNtO`4p?EFIp})C!Esw}MAzsTGJdMOFn-VYcG+1)5n;}iK6u&TEV_LK# zLk3@C%#d9~3-FQ}&t+VU>jjGSNH-Cv84E!fpe9h52>=r-ba0xqckwO7$aW@-6v8cw z5mRdlW=An%8b(STS2&oNXjC*m%1XOJ(+DljB4MhA2MQ*(g91~R6CNchb5BTF4>uof zoS33)oS33p+eW^Ob+tW0>%HhLI2_-Uo+{9w9wTKYY)0W##j1!RFlT#vak9WeOFB``fdCbOJeV;pi z@H5AM>2Lq~uYdk4|LfoRd)v?b!sN^GzxyBm7vKBTKlu0m=Kt+}j*c1a55Dz6`P(Vf zcpHVpkwW(PfAc$k@Sp#)Kl;btyYpG%*U$Eo6w0vUtR$Qv^%zfhVO`&_EI6lwxrP=4 zsiSWF=8gK~7mlw@QE8GeeO9M3+Huu8nR>tz(eWEj?ZCFJqt3nEdbK6yO$xsSND6Rb zG8B!%cbc&oLP(*F0R+UFS_uQxqFRdsHzqq>*zWtxB-DTY&;OTy_RIh0FaQ0$kkkBT z1?L>%!EP2;-KlnrH^JIs#i${U_ZauYbE>kKA|OOlppY4C(F_OV-CYO0+JD6*ljV4S z^LlPjFRrUlwrv$GSv=lLo1kifQdCvq=*XJaQkYHEGQTNU_%}EyJ^uTg#IL&j{SBtvV@&uh@rTHQ7 z89Z7*j+AAdLWg=3n4n?F1dxh3&_|lw@ySuQG69Nj?5>}p+B*Xd?)Bj@R4*t1P<4X(uI>TIvLE4`>v zOdmf|6kq&E>bD!u5o3InZ*1Nn?>Da{107_?I`ZC!`?o6s+)aibf3g6yvwrnH2+vOG02JLF^)lD)q z#u?_dl&^9+ou^Giw5<^Xad54>BmxH?tfyc2HX_1Wr0SE+6AXDmc&uA};|-@cc2}V- zc1Jq)gW<1@PhN8qmf+iL!O&FF-HtA$+jS97nw8$oeHVgE0_EF1H8%kclRXBG*VG&ykz4V0V?~VKs82V*R{u?u6N;gz zTs@S}-b%-#fjS-o2pb{jM*4^Iiu??rUbHpQJUzrR)QFDVp)?oF=EK#VJ4Qx z(I#d*v>5aqmUu#7BZaSoH)y6AwxEga_WmhhP&!4ro)Bo(p9*yW8p$v=@2f| zh6VVB9iT#p~pWE!w1a_cms4-(6LMzNS>_!b5gWUV#jCnJ}R{{>V276qd zq)Kdu)6M8Z-wImsQMWnlthX&^^a$q8~52o7Ax?~23Gmsff3Q;(5EpQD?sX^q* zR<**pjMesgbYw1fX=QZGBUl3L1&2`oE4W6xd$U2{TXv}7nxL8~-R9h+ogLJaGNg<% zn6Q)MaTstIp6cubP4u6{IXExvu6=hH2Sfw>npdks6?R(OF|1zLSG~AWy}BwB@L7@9 z@aEv5E&>%vQGMQ1UP~mp@)fen)xpXFvIA;q+Bu^#X{zqEh3d7%>NO5dd6Vj1yhqjL zs?Hpf>R#Z{#+vJ^TdKaar@D6V2G!|2B@na-7%r%$p=JxbaZ+Ve@g?X`7C#&&CTXWd z5_Rno#&qw|au(L5$v;)3Y-FqCx0?TrtD?eVkL{B?JMG6H|6-NDmm9dXX(=qL=HLWd z_yi-^WI@Kgy3t`A(G3(~ftix@i05m| z8?|{f#rSD+_Bu9JyCqL>-jx=e>2%CawQ^NPo8`Xh7*(qxT5DiMqQd|`*ZZ6JWDY}T zvyW6;R&yD!vT8#rb*A=1ShK>+olnQB(X{09F7=6uYP%40VzZmhxnRKtAQNtzm{+`9 z?&H{TuuEk-HMfXEskud=sUqc&W}SZ} z3hTUg|x6A0c%Ffls-%#|~Rd`dwa@jjJf~=JXkTd5Gkg(N1OhpZCGb2wB zvU-yMbYOHnA!PMo#JwP7TIro}&DX-#i}_(SiejI4^**K;oDeoi(`46A_NPJ?hqaw~ zS<#!0Csqv50IX1r;AcIg`Y&QO@kQnp9O%|Y$Re&l8wQP`@r1f9a0SLVBBqVB_t^Mc zwc7e!&{7p+)JDra!9ZFh@`g+b=gN%h42pMD;cnir?fys8$NERX9|@4MKgvdUHSENW z3tX7T$3RplNQbSbAK{HdY)IZnwP)T6));~YwnHFT*DpL2=yLEXyEQ}(8(FF>V?);1 zr4KZ870+ZTQqu8eSIMHn3*Iz=z>;uf$F^8nFH6C!RR_fa^czbw~ z{WPwVH=u5qt-C?Pup9A|oyEkW6Nr8tUuo~T${1hG-kh)MuDCgC?HNOU8<4ZPOXqpB z`4u1Fj+dBOJ@OJ;1n)S$g1{X>(saKK0U5~#!I#h#7 z!yS#@P&e zexnvKtUbcnp2Tp7t+ElPy2kiXdt|@Eec9s|D!@VhzE*qA`Nc=NS^@?65VCu)HQe4= zw)GLoo-kb4WaBO~G&18H{*#D4ED>Czy`0ImGz>agb_c7qwlqLDOR9W zjM7%olEwOjz~cMSvs7vz{WO^-%v4za$^z*1^aJ|y-uiPeR{PCZ8A$jV>*<5_=U}pC zZf3H=fk^2tla&UOMLp{!K{V-o=q$U14;RtF3}_NC-RjQ+Fz!NFzhKTGYI&zkwyPIcm6| zwnQwE!#>$L?r&y^)N-^$8Xj6R))o7qwizSVnJ`e7l+9`(r5U5#+#54SBg(%Sqog_) zGf+51n8YYpX@z=H7==|rkx{@5M$rh-`mZMN>=b0o{s&{jT1r7CV>9cIywvB(j7%>Y zoBhBXAjN3DT{vebIdfw;M+|N3Z2kEZkm)cb#!)gOCVsLdIs1=gOYkGa#_FfIp6oI) zC)0`gQ79I4hiv2TW=W7!D|i{(A2Yw#>-+#@=!6|Lq|*ZaKjVruCB|{XJ{jQ}hoo50K9)`BN2bOf2foN+W%`C3Bst`+SI@fMjFJD&?Y_j5u3o(@ASjkE|h z5cC{iElHbYN`bQvvLVqpc~t4q)Q)SiCp*H4y=K&lzuc<6Mj&bhOS|fqdUKoxKnX@t zxF_K(N4<59hVvNh$<9;Es|D%3j4CYJ!Rlou=rr|UPb->>=;$K>7H+Z~cxM;f8k0~Z+u7f7do5Y9^^=iMQAY)^JxqCMGpiS}gYCGtcO&Uh+D z=OyYlUvyrgKGf$WM#UT9(6n0kk)w!(2A$NT8wUi8&PuGow(ydGwQK?w62!9->pT=^ z=2IjWt#_eDIE=`P2D6-MAUA}qFPmWxPg=D%J(`WQFnF5hXdq4+2>yo64H5WRPwz7S zor(yiLE}YvAe`vMFU$lVq{xh6pv z^(z(MGQVm8FNU!`-*e2b=}q}{zUEhfSTo`+@~eQob$&I}G)@e$Tc%<;MW61(zH+Rd z2Az1051Se}Xx@ZQ;N@vO{iwWcV?LCC*41|Hyp7VC7SzJ9jQI}*h+GdG?6h#7@RKjn zCoTqJX)25rn62mcV9MrUI?1#BU=)x2D1wrdnR=6&Vn7y?0_R&uHj4w@5R&C2s1TA} z(t|>>n!Jo5Sxv!>LbC6roknFL*}WE$eUOrSy3x;);F)l$RLKnb0hy9^=uFE*P-?D@{%R5I&0!;!VYJXhie7HI<

UZ5?^@f*h=0<@fIHG&pfV~Z*37)0!6gI4)& z25nJ8Yn^!`Xo-ox6KIhm5!Lo`!V|=^dJM#6Cr!vo73Qke&C5QDhnfm>>&Rg7l=giwl;x-R`l(_V z=s{V$sZrso4f|#=Jvtf8hKpf5xMm+%xNp2?AHqnGbC@QBmpR=Mf|vaG(#?aHO`R~o z;?z2VNeD}tzK#EFtcl}S7F*h$=~-5a%+)`-1|UH$6QKajK;82gXl5A>mu)%v zaF^;BT0XU@O-Z4lSjbSa*d=+zmh>&eV?U%Epm20}2v&*_qgTW*#7XjmNx(yZqeF!U zI#k_^;z&lhSpGQ)wgLillDI`DOOH?pAOJwD{4fIBP(Yxr2?PiO31!}atL-q>|WC%n8T*Vcmq#GCm+D1#A9BU`5J_u1XGSq6Y5Tmr_9w9OX0J~bY zksxxSBgDB7N(hAzEfc%gk6MgkoWsJNKnR0y6$o+kku?PjLO8O}2vI>4g&{j}gt!Xq z(~LgJF*UqM@~yzT2E1z{ctfEGZ{I;$9S#+Agn`NlWDWpL{)(r`I_-*2Fi$SP;%Vnmwf@ zjP~@nmX2x`ir*$gM5=EQ$n3GgW63Wt7Mzm|YD`VPFs*bn3_ABj67r+0M7tbVB%^0EYy88>Ns2`($yI{wO2>>#Z{&8I9xu~2Y7ONXbqwrhs%_-+4%V}i1l%} z3!D9g@o~7Cb_>S=j_S6)wr!z+$ilY>qL!p-NrPsz1q*Qs4nfl)WD{rh&WvhdY)J+| zxMW1!H->OtMBEo4oH($TbX(A}Z?nG-m{`lDvz3_36nM5RGo03oOO38(&5hrC z!{cyQY}qTjJaruInrf@db?*P11*>8zn8zNM)lW=do}j$Yqim$9hl2{an`y8^UDEq<_<;~Wq`yd6mx+F)QVvGNy~xh;{vo< zLI4G*h!qtaqst5XPgKz|N-9(oj>27_B0gC~@@Nmp$}g!9lK_%JR+L%0k*&!NVJ*8f zHzGm1@*DBy{1KLyR+*l{5{ET>IHo4G{z0o<3MRI1_jjm;KJ%LEMEUlMIPp;|f^Z z3iJU+TGLPGu>1i_d;*!=mLl1c}9A11`xcF9wTXQ*k?9UKDZSUK62WcZmbJ0qrL{DWGR?$Pnck$>uwl$XRmTI*`*OMafkLCwHFO*F6_s4O>xpXi3N^V9qz z9S#31@skG9x0>bzv%o*WoLvb|=fQA#kEJg~j-7~Dz4#AwG96LZA+9?3pdOga`MY-3_L z7`jBQFehVtrX|ziSQM=w18Ol=gdbYS;0Uv#-$U$0lLoy0=9C~FqGNFb;w-i?9)mI> zLeCJ#*Tus?d%?oeR#S+_-&A2YVc<0(&eY;aBWELoC_YArtr#PO;({#@4(z5Xzyhmu zgIf4N1J_lgsq>oia(|mN*K{>EWj?DADTe=S{iWXFD-Jq9q=Do{ObF3+RxK0{N6x}{ zM)#?MY3Kcdy<;ftzWbnBIaGE~?JTh;2Dpvle@^+K8@4EYZmypME&1dAt*}2*4$iij z%$?isR^xxkYPy=O=Damln=!4oy0E%v&#l$=YIk*Rbv}O4t+P6_I=fo%w6wasx@Y3c z^yA*ueXA?0MfG3J@gscIFU@p#{^M?ErKnz<>Fg`2Zx@}tMfIz5ojpbMf6a83i|T7L zou#7sLbtP6RR2l4v%o&7cBeU28fpY5>4>4)78$EE#J z!4HmC-)wW-TJ?ol{qp$N?N`KqcLr~w`VTt#mC}DCgIoO_?L4b~q1#81CPmS6heVp{ z5^;N|?TRLU4!a^J-JW|{(I!bVapAove&;WzNBN~>W;!_-b>Xl>?J%#{#sRd|Bu#nR z41;Zl36ouHa|uUUH1vV_)%t_OL{owTf2e^O(QDr(T+S4&p1-J_zOMQ_x%K*;ZzD%` zen$1DY-FL3&%^6?<7%0t?!jcrq?A`3i>g5h_E;&VWIu8}6WYwAQi(FO?)zjJP< z@9MeUSVXK6DtX7=v+ULQkp7+?G$&2A@bD!b4zhJ!yLB|9xwR zzlMYPI0(-im+uT4#dntk0>*Z;`JCCsEM?~7FrwF z2~|wUX^m)Cg>RYZWWdS#nxQ^4r$8s##OM&_P0`pok>sx9+dmUn<2%=ER>k?d7zq;I zU4G@maEj~iJ;b3LHuEle5)83JGZxpKgS)HOe(%d)H|8QChp84sHhwNcw92_{YLA_5 zL}8tXp8?LS`uItPk~RQd;9wLBb1zb_Gm3E<4HUtZAIU zp2aQdmT`lb#&mF@Hhi^0lMJ*o7Ear7losS%rv%Mwh%!}>T?b^fEGtMQasGDyF0usT z2zXZa$nD*G{uSu1&R7%53mR;LeqkpXG&vLnC9(kD5*^~mFNdw|Qr{xtv$qfBY(Tlh zeQlEKUzFevIFrC7P8|-Fmzea0@aB#m^=K`TlBCUzyK`qdE6cUu^nZP92<1 zy0+KJyJ7a8BQPcN#8-%}z@PNThya9%L;&eIXonW`P#b~07K!)+J%}XV;DNoIgNMT| z#r;9p?8f)%vpYN2sNm%f1lrq{+zLV3p+?TMScQS)Io@7ZzP z>-@U7(g`Zo!)&CVS8p1O^37f~Xn0`x49NyOv+g87LnUk&oD^nzHNEGKvqy7>-+T;P zg!`evGBkKNG$ zYy5b2UnXL3^asXA$)IUGz@E`aJ*7-=VC)9L2~q*I$3mthL^06%48;grIo0hce#L`Uj>Yp6KUP zxD=+Tde!HV1V5)~Dn_ZCnMAaaBzA<)8yga|st)qg>qv9keyY4}KUL0Hj!8yB?M&@( z7C+GfhOXG{A%`}1>Vo`WdATP>YV>2~w^eqk5NACzkI9ybu(jCV#_yT8t9x(M2>U|q zcYAJ7?Y;7SIh$P7a-Kbrnd${LAzQWDVjQbIbW7E$BEfp-Sxv^pm6l-6}6_?FV~27be7I=9?3EuMwIRV zi*y7jK>=t9Un90|D!gh`Gf{!_V^gTYV3idkHp$`#sB|VsoUS4CcG;%d51aqVJPKzb zT&+5ntDW$R=e+yNWt;UP?W&=L2Cupk>|Y8n10rtER2$yg_%g?x7;ibZ05!{2(nzN@5ZLbX64neS~vJGo3K1S3^RGr&*^YZIRSVxs5$|?_Id1wU)WexG0YzK z3+j|LVc00;4`t>um!xn)Jn2^JbvUW#D>&2cAJSr z9gCxqz=EQrv>AK9riC+&>Z*p;8U-dy?s0DAu)i!3l9$NbVTJCly&3cygG=$CpMmXI z$~~07*C^sxfzYT#RhC~zTd+EHQ3p>p7-$BLogB=4r}o$(9f z3KTbS332BDX2K=RMlNB?_<^nN{Q9e0vEUMN3|w#t!63SX@k>k)3&Sas>|X$mr8Xu)kw!qj~}%=OtW-hRGOk zOn6BuHSHnP?$W;6Xd|2x_S{GBg`b6#yM#@UD)h8X_q3!)1muL%B)H2~?KJTabS7Kx zg^Rufr-_G%<_(>u%pBd|f@Jb_L;IQB-2g*|X)zMekN8m1rL`ZGnO9;7!IjD??jeV~ zDbZQP!9^06_2h=sLpxhQvhF_jhdNoM73ZB1PP#?oNh#Sd$_1mKT{Qxw7O_0CXPm{e zsGJ4ustgss3dB4pY+)j8D){)n7ByQ66YrOFTM4&bxV6Jg19TZL$ry7Hfo5omZz(0O$O=D2}7svkmIo3Ln$Z|TY!09AqSvgg1CD54`;OGtU3lBv$2z2 z*7sln-49+*N`6uT9NZ6I*T`>KvJHFW5@li=A{J}mjAn+b`xg{Z^|1)8EX-MvX0Nc_ zaMbVf*d|I8h)6LXsHVMkHX#P&o3l|rnJS{)1Ywv4lQL}z7Z7Dc!S5hoy7-Y7i5iRj zb;us>8*Z6?_=UkciF9n4g+W$))et;GUBHYyp}Q1f&>))Jp|f~qgXqIh!f;7n1x9*R zxT{B$kt9M61@jN~DtK``v>>3q%@aYK3rA$?x)@t*uh>F{K9aN^N{< z!K2o+*h;3mB?EjOF2Mbr&Sw-5JDXOp&LU()+h*KDLvorG4rqdv!eF?6GNH7iQ~sRz zL&@qc>FC(w*AbkboP4;HpAe~pM!1gPEeNjDDyT#RZw)Z7NZp9w*yKR)=B*K&HX-9z=8h}^+FC(GrvQkz%0HC&vRlv$k3*aT9*Zx*?OY3PwG^Un9C9?Z=vZTea6ANIP=tWxKFJ)o2F+kA^2&<=s=fS#ct?+pcLG2jr;Bja>HZH-4d=(1dx3Me(Z%b5b%>y`r>zOpc#1 zw6d~C5{wjsLkbb4SLs$+X8R1O!UKW#@PIEF9+)`@CI7oR{I^fGf!XK{8{&|ix;-ed}7OAdFtXb=b!XXobl%_oZIprJGXgd%YA6`w7+uhZ;*C{ z5ILG_&8JacO6jDPUlX*F?b^Jo3XHZMNyFKu4DdhW?HPx>pTp1ySc z%oX?7FAOhS{P+dFo_hL>fAY+g)0^imZC%{t!7tXrsf= zJbn5ZsQ#q?_)}*tcqsnlxeI6CaplaJA$Rv~BkAUu%g>zKJQKiw`Wes+ed|9)pFer# z^hK44dCy&V^2{e{R1M6jZU9*yu=N4m`;8_cVUKR zXx;Ch8FP;N@R`jkVsXJV;-^WX(||blnM?4Qd;i5q*e7AL(@J?){mnmtxC|j!{P2*; z%=+0g7tU;+JAIUM{pN~p;+)f!+EsmjuK0(|=``o=;M>o0^&8H;hx^%fNPCrxJG`HW z>AykxQQq&Ovfb&#P~3kT)Bk47|LGa$ev9R{$G>+KHd*@!~H{fsQ(b~{S4{9I`7S2Ci0|o^bN?af zFL3{lxa+@~#uRmc>2Bi^&OgWXBVA-ae;c;a~N}B#Y6AdqcD#eFUd^PwzFHBDCIXI3;rY*ObWl2{_e@davPBPx=v@nU<^ZAHFAl zd-3jF4ew0TSW!!2Xb_x6bWOnR%2 z$7nyktKq%eRUmJuvwEX?x((@Tv?JeDAc^(VaL+cR+bO|!-4AeAgKN4|V88C)%Ta84cX_e5t`qB#>RmQy*1$CL;Yf+eFEz+Ao1YA>ETK%) zgi|6Sx(eL;B9rYemi)+d%>RlF5_rP_o>Fu>gKhiKFknJd8 zu9+Rvz1z&Z?wzJA4z{={>w{fxVu`AMaj5tMvkVzY0!$36j(UJ=o9hi-)GJ03Q;ESO z9pYGVKODuCaAjOAu6eG5Tn}(*vULhL+NV co`^YlDNlU~em#o;MAX7n|NW67-S>h27r;z0%m4rY diff --git a/scripts/Compile-Xzdec.ps1 b/scripts/Compile-Xzdec.ps1 index 18c6eceaf..ede989287 100644 --- a/scripts/Compile-Xzdec.ps1 +++ b/scripts/Compile-Xzdec.ps1 @@ -11,4 +11,4 @@ # * Run this script by opening a PowerShell terminal, cd to the kiwix-js repo and run './scripts/Compile-Zstddec.ps1' $repo_dir = ($PSScriptRoot -replace '[\\/]scripts[\\/]*$', '') -docker container run -v $repo_dir\:/project -w /project emscripten/emsdk:2.0.25 /bin/sh -c 'cd emscripten/xzdec/; ./compile.sh' \ No newline at end of file +docker container run -v $repo_dir\:/project -w /project emscripten/emsdk:3.1.37 /bin/sh -c 'cd emscripten/xzdec/; ./compile.sh' \ No newline at end of file diff --git a/scripts/Compile-Zstddec.ps1 b/scripts/Compile-Zstddec.ps1 index e36b62ec7..5f45d6759 100644 --- a/scripts/Compile-Zstddec.ps1 +++ b/scripts/Compile-Zstddec.ps1 @@ -11,4 +11,4 @@ # * Run this script by opening a PowerShell terminal, cd to the kiwix-js repo and run './scripts/Compile-Zstddec.ps1' $repo_dir = ($PSScriptRoot -replace '[\\/]scripts[\\/]*$', '') -docker container run -v $repo_dir\:/project -w /project emscripten/emsdk:2.0.25 /bin/sh -c 'cd emscripten/zstandard/; ./compile.sh' \ No newline at end of file +docker container run -v $repo_dir\:/project -w /project emscripten/emsdk:3.1.37 /bin/sh -c 'cd emscripten/zstandard/; ./compile.sh' \ No newline at end of file diff --git a/scripts/compile_xzdec_with_docker_emscripten.sh b/scripts/compile_xzdec_with_docker_emscripten.sh index 292d004a2..f8ea86d61 100755 --- a/scripts/compile_xzdec_with_docker_emscripten.sh +++ b/scripts/compile_xzdec_with_docker_emscripten.sh @@ -14,4 +14,4 @@ SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" REPO_DIR="$(dirname "$SCRIPT_DIR")" # Run the emscripten compilation through docker -docker run -v "$REPO_DIR":/project -w /project -u $(id -u):$(id -g) emscripten/emsdk:2.0.25 /bin/sh -c 'cd emscripten/xzdec/; sh ./compile.sh' +docker run -v "$REPO_DIR":/project -w /project -u $(id -u):$(id -g) emscripten/emsdk:3.1.37 /bin/sh -c 'cd emscripten/xzdec/; sh ./compile.sh' diff --git a/scripts/compile_zstddec_with_docker_emscripten.sh b/scripts/compile_zstddec_with_docker_emscripten.sh index b0de0a0d9..3fd7235d2 100755 --- a/scripts/compile_zstddec_with_docker_emscripten.sh +++ b/scripts/compile_zstddec_with_docker_emscripten.sh @@ -14,4 +14,4 @@ SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" REPO_DIR="$(dirname "$SCRIPT_DIR")" # Run the emscripten compilation through docker -docker run -v "$REPO_DIR":/project -w /project -u $(id -u):$(id -g) emscripten/emsdk:2.0.25 /bin/sh -c 'cd emscripten/zstandard/; sh ./compile.sh' +docker run -v "$REPO_DIR":/project -w /project -u $(id -u):$(id -g) emscripten/emsdk:3.1.37 /bin/sh -c 'cd emscripten/zstandard/; sh ./compile.sh' From e95f9ab2e9c5dc3f79be2f853b3c728b382965ff Mon Sep 17 00:00:00 2001 From: Jaifroid Date: Thu, 4 May 2023 22:02:32 +0100 Subject: [PATCH 2/9] Remove ES6 command and add to readme --- emscripten/zstandard/compile.sh | 4 ++-- emscripten/zstandard/readme.md | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/emscripten/zstandard/compile.sh b/emscripten/zstandard/compile.sh index 1e6da61b7..19a65a1c1 100644 --- a/emscripten/zstandard/compile.sh +++ b/emscripten/zstandard/compile.sh @@ -1,5 +1,5 @@ echo "Compiling ASM version zstddec-asm.js" -emcc --memory-init-file 0 -O3 --closure 1 -s ENVIRONMENT="web" -s WASM=0 -s MALLOC="emmalloc" -s TOTAL_MEMORY=150994944 -s FILESYSTEM=0 -s DOUBLE_MODE=0 -s DYNAMIC_EXECUTION=0 -s MIN_IE_VERSION=11 -s EXPORT_NAME="ZD" -s MODULARIZE=1 -s EXPORT_ES6=1 -s EXPORTED_FUNCTIONS="['_malloc', '_free', '_ZSTD_createDStream', '_ZSTD_initDStream', '_ZSTD_decompressStream', '_ZSTD_isError', '_ZSTD_getErrorName', '_ZSTD_freeDStream', '_ZSTD_DStreamInSize', '_ZSTD_DStreamOutSize']" -s EXPORTED_RUNTIME_METHODS="['cwrap']" ./*.c -o zstddec-asm.js +emcc --memory-init-file 0 -O3 --closure 1 -s ENVIRONMENT="web" -s WASM=0 -s MALLOC="emmalloc" -s TOTAL_MEMORY=150994944 -s FILESYSTEM=0 -s DOUBLE_MODE=0 -s DYNAMIC_EXECUTION=0 -s MIN_IE_VERSION=11 -s EXPORT_NAME="ZD" -s MODULARIZE=1 -s EXPORTED_FUNCTIONS="['_malloc', '_free', '_ZSTD_createDStream', '_ZSTD_initDStream', '_ZSTD_decompressStream', '_ZSTD_isError', '_ZSTD_getErrorName', '_ZSTD_freeDStream', '_ZSTD_DStreamInSize', '_ZSTD_DStreamOutSize']" -s EXPORTED_RUNTIME_METHODS="['cwrap']" ./*.c -o zstddec-asm.js echo "Compiling WASM version zstddec-wasm.js" -emcc --memory-init-file 0 -O3 --closure 1 -s ENVIRONMENT="web" -s WASM=1 -s MALLOC="emmalloc" -s TOTAL_MEMORY=150994944 -s FILESYSTEM=0 -s DOUBLE_MODE=0 -s DYNAMIC_EXECUTION=0 -s EXPORT_NAME="ZD" -s MODULARIZE=1 -s EXPORT_ES6=1 -s EXPORTED_FUNCTIONS="['_malloc', '_free', '_ZSTD_createDStream', '_ZSTD_initDStream', '_ZSTD_decompressStream', '_ZSTD_isError', '_ZSTD_getErrorName', '_ZSTD_freeDStream', '_ZSTD_DStreamInSize', '_ZSTD_DStreamOutSize']" -s EXPORTED_RUNTIME_METHODS="['cwrap']" ./*.c -o zstddec-wasm.js +emcc --memory-init-file 0 -O3 --closure 1 -s ENVIRONMENT="web" -s WASM=1 -s MALLOC="emmalloc" -s TOTAL_MEMORY=150994944 -s FILESYSTEM=0 -s DOUBLE_MODE=0 -s DYNAMIC_EXECUTION=0 -s EXPORT_NAME="ZD" -s MODULARIZE=1 -s EXPORTED_FUNCTIONS="['_malloc', '_free', '_ZSTD_createDStream', '_ZSTD_initDStream', '_ZSTD_decompressStream', '_ZSTD_isError', '_ZSTD_getErrorName', '_ZSTD_freeDStream', '_ZSTD_DStreamInSize', '_ZSTD_DStreamOutSize']" -s EXPORTED_RUNTIME_METHODS="['cwrap']" ./*.c -o zstddec-wasm.js echo "Finished." diff --git a/emscripten/zstandard/readme.md b/emscripten/zstandard/readme.md index e4bf74239..125313fec 100644 --- a/emscripten/zstandard/readme.md +++ b/emscripten/zstandard/readme.md @@ -7,4 +7,6 @@ The source code can be compiled with Emscripten by setting up the Emscripten SDK You may be able to compile easily using docker. Look in the `/scripts` directory for helper scripts for your platform. +If you need these builds to support ES6 modules (i.e. `import` and `export` module syntax), you can add `-s EXPORT_ES6=1` to the compile commands in `compile.sh`. + For a fuller Emscripten distribution of the full zstandard library for `node.js`, see https://github.com/yoshihitoh/zstd-codec/tree/develop/js/example. \ No newline at end of file From 51e6c05d5935a648f890b8ee80b4d1ca8c46cb89 Mon Sep 17 00:00:00 2001 From: Jaifroid Date: Thu, 4 May 2023 22:15:12 +0100 Subject: [PATCH 3/9] Also add xzdec readme --- emscripten/xzdec/README.md | 9 +++++++++ emscripten/xzdec/compile.sh | 4 ++-- 2 files changed, 11 insertions(+), 2 deletions(-) create mode 100644 emscripten/xzdec/README.md diff --git a/emscripten/xzdec/README.md b/emscripten/xzdec/README.md new file mode 100644 index 000000000..d35744530 --- /dev/null +++ b/emscripten/xzdec/README.md @@ -0,0 +1,9 @@ +# Source code and compilations of zstandard decompression library + +This folder shows how to compile the public-domain XZ decoder to make a webassembly binary and an asm JavaScript version. + +The source code can be compiled with Emscripten by setting up the Emscripten SDK and running the Linux script `./compile.sh` in this directory. This will produce `xzddec.js`. Further optimization and minification of this file may be possible by adjusting the commandline options in `compile.sh`. + +You may be able to compile easily using docker. Look in the `/scripts` directory for helper scripts for your platform. + +If you need these builds to support ES6 modules (i.e. `import` and `export` module syntax), you can add `-s EXPORT_ES6=1` to the compile commands in `compile.sh`. \ No newline at end of file diff --git a/emscripten/xzdec/compile.sh b/emscripten/xzdec/compile.sh index f2964e6b9..9f5f971a5 100755 --- a/emscripten/xzdec/compile.sh +++ b/emscripten/xzdec/compile.sh @@ -1,5 +1,5 @@ echo "Compiling ASM version xzdec-asm.js" -emcc --memory-init-file 0 -O3 --closure 1 -s ENVIRONMENT="web" -s WASM=0 -s MALLOC="emmalloc" -s TOTAL_MEMORY=83886080 -s FILESYSTEM=0 -s DOUBLE_MODE=0 -s DYNAMIC_EXECUTION=0 -s MIN_IE_VERSION=11 -s EXPORT_NAME="XZ" -s MODULARIZE=1 -s EXPORT_ES6=1 -s AGGRESSIVE_VARIABLE_ELIMINATION=1 -s EXPORTED_FUNCTIONS="['_init', '_init_decompression', '_input_empty', '_get_in_buffer', '_set_new_input', '_decompress', '_get_out_pos', '_get_out_buffer', '_out_buffer_cleared', '_release']" -DXZ_USE_CRC64=1 -DXZ_INTERNAL_CRC64=1 ./*.c -o xzdec-asm.js +emcc --memory-init-file 0 -O3 --closure 1 -s ENVIRONMENT="web" -s WASM=0 -s MALLOC="emmalloc" -s TOTAL_MEMORY=83886080 -s FILESYSTEM=0 -s DOUBLE_MODE=0 -s DYNAMIC_EXECUTION=0 -s MIN_IE_VERSION=11 -s EXPORT_NAME="XZ" -s MODULARIZE=1 -s AGGRESSIVE_VARIABLE_ELIMINATION=1 -s EXPORTED_FUNCTIONS="['_init', '_init_decompression', '_input_empty', '_get_in_buffer', '_set_new_input', '_decompress', '_get_out_pos', '_get_out_buffer', '_out_buffer_cleared', '_release']" -DXZ_USE_CRC64=1 -DXZ_INTERNAL_CRC64=1 ./*.c -o xzdec-asm.js echo "Compiling WASM version xzdec-wasm.js" -emcc --memory-init-file 0 -O3 --closure 1 -s ENVIRONMENT="web" -s WASM=1 -s MALLOC="emmalloc" -s TOTAL_MEMORY=83886080 -s FILESYSTEM=0 -s DOUBLE_MODE=0 -s DYNAMIC_EXECUTION=0 -s EXPORT_NAME="XZ" -s MODULARIZE=1 -s EXPORT_ES6=1 -s AGGRESSIVE_VARIABLE_ELIMINATION=1 -s EXPORTED_FUNCTIONS="['_init', '_init_decompression', '_input_empty', '_get_in_buffer', '_set_new_input', '_decompress', '_get_out_pos', '_get_out_buffer', '_out_buffer_cleared', '_release']" -DXZ_USE_CRC64=1 -DXZ_INTERNAL_CRC64=1 ./*.c -o xzdec-wasm.js +emcc --memory-init-file 0 -O3 --closure 1 -s ENVIRONMENT="web" -s WASM=1 -s MALLOC="emmalloc" -s TOTAL_MEMORY=83886080 -s FILESYSTEM=0 -s DOUBLE_MODE=0 -s DYNAMIC_EXECUTION=0 -s EXPORT_NAME="XZ" -s MODULARIZE=1 -s AGGRESSIVE_VARIABLE_ELIMINATION=1 -s EXPORTED_FUNCTIONS="['_init', '_init_decompression', '_input_empty', '_get_in_buffer', '_set_new_input', '_decompress', '_get_out_pos', '_get_out_buffer', '_out_buffer_cleared', '_release']" -DXZ_USE_CRC64=1 -DXZ_INTERNAL_CRC64=1 ./*.c -o xzdec-wasm.js echo "Finished." \ No newline at end of file From 26231ed01ba8a1c49ddf86622fba2c853da35a77 Mon Sep 17 00:00:00 2001 From: Jaifroid Date: Thu, 4 May 2023 22:16:42 +0100 Subject: [PATCH 4/9] Compile without ES6 for now --- emscripten/xzdec/xzdec-asm.js | 25 +++++++++++++++---------- emscripten/xzdec/xzdec-wasm.js | 14 +++++++++----- emscripten/zstandard/zstddec-asm.js | 22 +++++++++++++--------- emscripten/zstandard/zstddec-wasm.js | 18 +++++++++++------- 4 files changed, 48 insertions(+), 31 deletions(-) diff --git a/emscripten/xzdec/xzdec-asm.js b/emscripten/xzdec/xzdec-asm.js index e240ca526..fe269c37c 100644 --- a/emscripten/xzdec/xzdec-asm.js +++ b/emscripten/xzdec/xzdec-asm.js @@ -1,6 +1,6 @@ var XZ = (() => { - var _scriptDir = import.meta.url; + var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; return ( function(XZ = {}) { @@ -9,11 +9,11 @@ var aa="function"==typeof Object.defineProperties?Object.defineProperty:function function b(a,e){if(e)a:{var c=ca;a=a.split(".");for(var g=0;g=k}});var p;p||(p=typeof XZ !== 'undefined' ? XZ : {}); var Promise=function(){function a(){}function e(d,f){return function(){d.apply(f,arguments)}}function c(d){if(!(this instanceof c))throw new TypeError("Promises must be constructed via new");if("function"!=typeof d)throw new TypeError("not a function");this.o=0;this.v=!1;this.s=void 0;this.u=[];M(d,this)}function g(d,f){for(;3===d.o;)d=d.s;0===d.o?d.u.push(f):(d.v=!0,c.A(function(){var h=1===d.o?f.C:f.D;if(null===h)(1===d.o?k:l)(f.promise,d.s);else{try{var m=h(d.s)}catch(n){l(f.promise,n);return}k(f.promise, -m)}}))}function k(d,f){try{if(f===d)throw new TypeError("A promise cannot be resolved with itself.");if(f&&("object"==typeof f||"function"==typeof f)){var h=f.then;if(f instanceof c){d.o=3;d.s=f;u(d);return}if("function"==typeof h){M(e(h,f),d);return}}d.o=1;d.s=f;u(d)}catch(m){l(d,m)}}function l(d,f){d.o=2;d.s=f;u(d)}function u(d){2===d.o&&0===d.u.length&&c.A(function(){d.v||c.B(d.s)});for(var f=0,h=d.u.length;f=0;--a){f[48+a]=52+a;f[65+a]=a;f[97+a]=26+a}f[43]=62;f[47]=63;function l(m,n,o){var g,h,a=0,i=n,j=o.length,k=n+(j*3>>2)-(o[j-2]=="=")-(o[j-1]=="=");for(;a>4;if(i>2;if(i>>16)*g+c*(e>>>16)<<16)|0});if(!Math.fround){var L=new Float32Array(1);Math.fround=function(a){L[0]=a;return L[0]}} -Math.clz32||(Math.clz32=function(a){var e=32,c=a>>16;c&&(e-=16,a=c);if(c=a>>8)e-=8,a=c;if(c=a>>4)e-=4,a=c;if(c=a>>2)e-=2,a=c;return a>>1?e-2:e-a});Math.trunc||(Math.trunc=function(a){return 0>a?Math.ceil(a):Math.floor(a)});var P=0,Q=null,R=null;function A(a){if(p.onAbort)p.onAbort(a);a="Aborted("+a+")";x(a);D=!0;a=new ja(a+". Build with -sASSERTIONS for more info.");r(a);throw a;}function S(a){return a.startsWith("data:application/octet-stream;base64,")}var T; -if(p.locateFile){if(T="xzdec-asm.wasm",!S(T)){var U=T;T=p.locateFile?p.locateFile(U,w):w+U}}else T=(new URL("xzdec-asm.wasm",import.meta.url)).href;function V(a){try{if(a==T&&y)return new Uint8Array(y);if(S(a))try{var e=la(a.slice(37)),c=new Uint8Array(e.length);for(a=0;a>16;c&&(e-=16,a=c);if(c=a>>8)e-=8,a=c;if(c=a>>4)e-=4,a=c;if(c=a>>2)e-=2,a=c;return a>>1?e-2:e-a});Math.trunc||(Math.trunc=function(a){return 0>a?Math.ceil(a):Math.floor(a)});var P=0,Q=null,R=null;function A(a){if(p.onAbort)p.onAbort(a);a="Aborted("+a+")";x(a);D=!0;a=new ja(a+". Build with -sASSERTIONS for more info.");r(a);throw a;}function S(a){return a.startsWith("data:application/octet-stream;base64,")}var T;T="xzdec-asm.wasm"; +if(!S(T)){var U=T;T=p.locateFile?p.locateFile(U,w):w+U}function V(a){try{if(a==T&&y)return new Uint8Array(y);if(S(a))try{var e=la(a.slice(37)),c=new Uint8Array(e.length);for(a=0;a>4; -k=(k&15)<<4|l>>2;var G=(l&3)<<6|u;e+=String.fromCharCode(g);64!==l&&(e+=String.fromCharCode(k));64!==u&&(e+=String.fromCharCode(G))}while(c>4; +k=(k&15)<<4|l>>2;var G=(l&3)<<6|t;e+=String.fromCharCode(g);64!==l&&(e+=String.fromCharCode(k));64!==t&&(e+=String.fromCharCode(G))}while(c { - var _scriptDir = import.meta.url; + var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; return ( function(XZ = {}) { var a;a||(a=typeof XZ !== 'undefined' ? XZ : {});var f,g;a.ready=new Promise((b,c)=>{f=b;g=c});var h=Object.assign({},a),k="";"undefined"!=typeof document&&document.currentScript&&(k=document.currentScript.src);_scriptDir&&(k=_scriptDir);0!==k.indexOf("blob:")?k=k.substr(0,k.replace(/[?#].*/,"").lastIndexOf("/")+1):k="";var l=a.printErr||console.warn.bind(console);Object.assign(a,h);h=null;var m;a.wasmBinary&&(m=a.wasmBinary);var noExitRuntime=a.noExitRuntime||!0; -"object"!=typeof WebAssembly&&n("no native wasm support detected");var p,q=!1,r,t=[],u=[],v=[];function w(){var b=a.preRun.shift();t.unshift(b)}var x=0,y=null,z=null;function n(b){if(a.onAbort)a.onAbort(b);b="Aborted("+b+")";l(b);q=!0;b=new WebAssembly.RuntimeError(b+". Build with -sASSERTIONS for more info.");g(b);throw b;}function A(b){return b.startsWith("data:application/octet-stream;base64,")}var B; -if(a.locateFile){if(B="xzdec-wasm.wasm",!A(B)){var C=B;B=a.locateFile?a.locateFile(C,k):k+C}}else B=(new URL("xzdec-wasm.wasm",import.meta.url)).href;function D(b){try{if(b==B&&m)return new Uint8Array(m);throw"both async and sync fetching of the wasm failed";}catch(c){n(c)}} -function E(b){return m||"function"!=typeof fetch?Promise.resolve().then(()=>D(b)):fetch(b,{credentials:"same-origin"}).then(c=>{if(!c.ok)throw"failed to load wasm binary file at '"+b+"'";return c.arrayBuffer()}).catch(()=>D(b))}function F(b,c,e){return E(b).then(d=>WebAssembly.instantiate(d,c)).then(d=>d).then(e,d=>{l("failed to asynchronously prepare wasm: "+d);n(d)})} +"object"!=typeof WebAssembly&&n("no native wasm support detected");var p,q=!1,r,t=[],u=[],v=[];function w(){var b=a.preRun.shift();t.unshift(b)}var x=0,y=null,z=null;function n(b){if(a.onAbort)a.onAbort(b);b="Aborted("+b+")";l(b);q=!0;b=new WebAssembly.RuntimeError(b+". Build with -sASSERTIONS for more info.");g(b);throw b;}function A(b){return b.startsWith("data:application/octet-stream;base64,")}var B;B="xzdec-wasm.wasm";if(!A(B)){var C=B;B=a.locateFile?a.locateFile(C,k):k+C} +function D(b){try{if(b==B&&m)return new Uint8Array(m);throw"both async and sync fetching of the wasm failed";}catch(c){n(c)}}function E(b){return m||"function"!=typeof fetch?Promise.resolve().then(()=>D(b)):fetch(b,{credentials:"same-origin"}).then(c=>{if(!c.ok)throw"failed to load wasm binary file at '"+b+"'";return c.arrayBuffer()}).catch(()=>D(b))}function F(b,c,e){return E(b).then(d=>WebAssembly.instantiate(d,c)).then(d=>d).then(e,d=>{l("failed to asynchronously prepare wasm: "+d);n(d)})} function G(b,c){var e=B;return m||"function"!=typeof WebAssembly.instantiateStreaming||A(e)||"function"!=typeof fetch?F(e,b,c):fetch(e,{credentials:"same-origin"}).then(d=>WebAssembly.instantiateStreaming(d,b).then(c,function(K){l("wasm streaming compile failed: "+K);l("falling back to ArrayBuffer instantiation");return F(e,b,c)}))}function H(b){for(;0 { - var _scriptDir = import.meta.url; + var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; return ( function(ZD = {}) { @@ -10,10 +10,10 @@ function d(a,e){if(e)a:{var c=ca;a=a.split(".");for(var h=0;h=l}});var q;q||(q=typeof ZD !== 'undefined' ? ZD : {}); var Promise=function(){function a(){}function e(b,f){return function(){b.apply(f,arguments)}}function c(b){if(!(this instanceof c))throw new TypeError("Promises must be constructed via new");if("function"!=typeof b)throw new TypeError("not a function");this.o=0;this.v=!1;this.s=void 0;this.u=[];B(b,this)}function h(b,f){for(;3===b.o;)b=b.s;0===b.o?b.u.push(f):(b.v=!0,c.A(function(){var g=1===b.o?f.C:f.D;if(null===g)(1===b.o?l:m)(f.promise,b.s);else{try{var k=g(b.s)}catch(n){m(f.promise,n);return}l(f.promise, k)}}))}function l(b,f){try{if(f===b)throw new TypeError("A promise cannot be resolved with itself.");if(f&&("object"==typeof f||"function"==typeof f)){var g=f.then;if(f instanceof c){b.o=3;b.s=f;r(b);return}if("function"==typeof g){B(e(g,f),b);return}}b.o=1;b.s=f;r(b)}catch(k){m(b,k)}}function m(b,f){b.o=2;b.s=f;r(b)}function r(b){2===b.o&&0===b.u.length&&c.A(function(){b.v||c.B(b.s)});for(var f=0,g=b.u.length;f=0;--a){f[48+a]=52+a;f[65+a]=a;f[97+a]=26+a}f[43]=62;f[47]=63;function l(m,n,o){var g,h,a=0,i=n,j=o.length,k=n+(j*3>>2)-(o[j-2]=="=")-(o[j-1]=="=");for(;a>4;if(i>2;if(i>>16)*h+c*(e>>>16)<<16)|0});if(!Math.fround){var O=new Float32Array(1);Math.fround=function(a){O[0]=a;return O[0]}} -Math.clz32||(Math.clz32=function(a){var e=32,c=a>>16;c&&(e-=16,a=c);if(c=a>>8)e-=8,a=c;if(c=a>>4)e-=4,a=c;if(c=a>>2)e-=2,a=c;return a>>1?e-2:e-a});Math.trunc||(Math.trunc=function(a){return 0>a?Math.ceil(a):Math.floor(a)});var R=0,S=null,T=null;function E(a){if(q.onAbort)q.onAbort(a);a="Aborted("+a+")";A(a);G=!0;a=new ia(a+". Build with -sASSERTIONS for more info.");v(a);throw a;}function U(a){return a.startsWith("data:application/octet-stream;base64,")}var V; -if(q.locateFile){if(V="zstddec-asm.wasm",!U(V)){var W=V;V=q.locateFile?q.locateFile(W,x):x+W}}else V=(new URL("zstddec-asm.wasm",import.meta.url)).href; -function ka(a){try{if(a==V&&C)return new Uint8Array(C);if(U(a))try{var e=la(a.slice(37)),c=new Uint8Array(e.length);for(a=0;a>16;c&&(e-=16,a=c);if(c=a>>8)e-=8,a=c;if(c=a>>4)e-=4,a=c;if(c=a>>2)e-=2,a=c;return a>>1?e-2:e-a});Math.trunc||(Math.trunc=function(a){return 0>a?Math.ceil(a):Math.floor(a)});var R=0,S=null,T=null;function E(a){if(q.onAbort)q.onAbort(a);a="Aborted("+a+")";A(a);G=!0;a=new ia(a+". Build with -sASSERTIONS for more info.");v(a);throw a;}function U(a){return a.startsWith("data:application/octet-stream;base64,")}var V;V="zstddec-asm.wasm"; +if(!U(V)){var W=V;V=q.locateFile?q.locateFile(W,z):z+W}function ka(a){try{if(a==V&&C)return new Uint8Array(C);if(U(a))try{var e=la(a.slice(37)),c=new Uint8Array(e.length);for(a=0;a=k?f++:2047>=k?f+=2:55296<=k&&57343>=k?(f+=4,++g):f+=3}k=f+1;g=f=Y(k);if(0=p){var z=b.charCodeAt(++n);p=65536+((p&1023)<<10)|z&1023}if(127>=p){if(g>=k)break;I[g++]=p}else{if(2047>=p){if(g+1>=k)break;I[g++]=192|p>>6}else{if(65535>=p){if(g+2>=k)break;I[g++]=224|p>>12}else{if(g+3>= +function ra(a,e,c,h){var l={string:function(b){var f=0;if(null!==b&&void 0!==b&&0!==b){for(var g=f=0;g=k?f++:2047>=k?f+=2:55296<=k&&57343>=k?(f+=4,++g):f+=3}k=f+1;g=f=Y(k);if(0=p){var y=b.charCodeAt(++n);p=65536+((p&1023)<<10)|y&1023}if(127>=p){if(g>=k)break;I[g++]=p}else{if(2047>=p){if(g+1>=k)break;I[g++]=192|p>>6}else{if(65535>=p){if(g+2>=k)break;I[g++]=224|p>>12}else{if(g+3>= k)break;I[g++]=240|p>>18;I[g++]=128|p>>12&63}I[g++]=128|p>>6&63}I[g++]=128|p&63}}I[g]=0}}return f},array:function(b){var f=Y(b.length);H.set(b,f);return f}};a=q["_"+a];var m=[],r=0;if(h)for(var t=0;t=f);)++g;if(16k?f+=String.fromCharCode(k):(k-=65536,f+=String.fromCharCode(55296|k>>10,56320|k&1023))}}else f+=String.fromCharCode(k)}b=f}}else b="";else b="boolean"===e?!!b:b;return b}(c)} var la="function"==typeof atob?atob:function(a){var e="",c=0;a=a.replace(/[^A-Za-z0-9\+\/=]/g,"");do{var h="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(a.charAt(c++));var l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(a.charAt(c++));var m="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(a.charAt(c++));var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(a.charAt(c++));h=h<<2|l>>4; @@ -51,4 +50,9 @@ if(q.preInit)for("function"==typeof q.preInit&&(q.preInit=[q.preInit]);0 { - var _scriptDir = import.meta.url; + var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; return ( function(ZD = {}) { -var a;a||(a=typeof ZD !== 'undefined' ? ZD : {});var n,q;a.ready=new Promise((b,e)=>{n=b;q=e});var r=Object.assign({},a),v="";"undefined"!=typeof document&&document.currentScript&&(v=document.currentScript.src);_scriptDir&&(v=_scriptDir);0!==v.indexOf("blob:")?v=v.substr(0,v.replace(/[?#].*/,"").lastIndexOf("/")+1):v="";var w=a.printErr||console.warn.bind(console);Object.assign(a,r);r=null;var x;a.wasmBinary&&(x=a.wasmBinary);var noExitRuntime=a.noExitRuntime||!0; -"object"!=typeof WebAssembly&&z("no native wasm support detected");var A,B=!1,D,E,F=[],G=[],H=[];function I(){var b=a.preRun.shift();F.unshift(b)}var J=0,K=null,L=null;function z(b){if(a.onAbort)a.onAbort(b);b="Aborted("+b+")";w(b);B=!0;b=new WebAssembly.RuntimeError(b+". Build with -sASSERTIONS for more info.");q(b);throw b;}function M(b){return b.startsWith("data:application/octet-stream;base64,")}var N; -if(a.locateFile){if(N="zstddec-wasm.wasm",!M(N)){var O=N;N=a.locateFile?a.locateFile(O,v):v+O}}else N=(new URL("zstddec-wasm.wasm",import.meta.url)).href;function P(b){try{if(b==N&&x)return new Uint8Array(x);throw"both async and sync fetching of the wasm failed";}catch(e){z(e)}} -function Q(b){return x||"function"!=typeof fetch?Promise.resolve().then(()=>P(b)):fetch(b,{credentials:"same-origin"}).then(e=>{if(!e.ok)throw"failed to load wasm binary file at '"+b+"'";return e.arrayBuffer()}).catch(()=>P(b))}function R(b,e,d){return Q(b).then(f=>WebAssembly.instantiate(f,e)).then(f=>f).then(d,f=>{w("failed to asynchronously prepare wasm: "+f);z(f)})} +var a;a||(a=typeof ZD !== 'undefined' ? ZD : {});var n,q;a.ready=new Promise((b,e)=>{n=b;q=e});var t=Object.assign({},a),v="";"undefined"!=typeof document&&document.currentScript&&(v=document.currentScript.src);_scriptDir&&(v=_scriptDir);0!==v.indexOf("blob:")?v=v.substr(0,v.replace(/[?#].*/,"").lastIndexOf("/")+1):v="";var w=a.printErr||console.warn.bind(console);Object.assign(a,t);t=null;var x;a.wasmBinary&&(x=a.wasmBinary);var noExitRuntime=a.noExitRuntime||!0; +"object"!=typeof WebAssembly&&z("no native wasm support detected");var A,B=!1,D,E,F=[],G=[],H=[];function I(){var b=a.preRun.shift();F.unshift(b)}var J=0,K=null,L=null;function z(b){if(a.onAbort)a.onAbort(b);b="Aborted("+b+")";w(b);B=!0;b=new WebAssembly.RuntimeError(b+". Build with -sASSERTIONS for more info.");q(b);throw b;}function M(b){return b.startsWith("data:application/octet-stream;base64,")}var N;N="zstddec-wasm.wasm";if(!M(N)){var O=N;N=a.locateFile?a.locateFile(O,v):v+O} +function P(b){try{if(b==N&&x)return new Uint8Array(x);throw"both async and sync fetching of the wasm failed";}catch(e){z(e)}}function Q(b){return x||"function"!=typeof fetch?Promise.resolve().then(()=>P(b)):fetch(b,{credentials:"same-origin"}).then(e=>{if(!e.ok)throw"failed to load wasm binary file at '"+b+"'";return e.arrayBuffer()}).catch(()=>P(b))}function R(b,e,d){return Q(b).then(f=>WebAssembly.instantiate(f,e)).then(f=>f).then(d,f=>{w("failed to asynchronously prepare wasm: "+f);z(f)})} function aa(b,e){var d=N;return x||"function"!=typeof WebAssembly.instantiateStreaming||M(d)||"function"!=typeof fetch?R(d,b,e):fetch(d,{credentials:"same-origin"}).then(f=>WebAssembly.instantiateStreaming(f,b).then(e,function(y){w("wasm streaming compile failed: "+y);w("falling back to ArrayBuffer instantiation");return R(d,b,e)}))}function S(b){for(;0{var l=0;if(null!==c&&void 0!==c&&0!==c){for(var g=l=0;g=k?l++:2047>=k?l+=2:55296<=k&&57343>=k?(l+=4,++g):l+=3}var h=l+1;g=l=V(h);k=E;if(0=m){var ca=c.charCodeAt(++p);m=65536+((m&1023)<<10)|ca&1023}if(127>=m){if(g>=h)break;k[g++]=m}else{if(2047>=m){if(g+1>=h)break;k[g++]=192|m>>6}else{if(65535>=m){if(g+2>=h)break;k[g++]=224|m>>12}else{if(g+ -3>=h)break;k[g++]=240|m>>18;k[g++]=128|m>>12&63}k[g++]=128|m>>6&63}k[g++]=128|m&63}}k[g]=0}}return l},array:c=>{var l=V(c.length);D.set(c,l);return l}};b=a["_"+b];var u=[],C=0;if(f)for(var t=0;t=g);)++k;if(16=h)break;k[g++]=240|m>>18;k[g++]=128|m>>12&63}k[g++]=128|m>>6&63}k[g++]=128|m&63}}k[g]=0}}return l},array:c=>{var l=V(c.length);D.set(c,l);return l}};b=a["_"+b];var u=[],C=0;if(f)for(var r=0;r=g);)++k;if(16h?g+=String.fromCharCode(h):(h-=65536,g+=String.fromCharCode(55296|h>>10,56320|h&1023))}}else g+=String.fromCharCode(h)}c=g}}else c="";else c="boolean"===e?!!c:c;return c}(d)}var da={b:function(b,e,d){E.copyWithin(b,e,e+d)},a:function(){z("OOM")}}; (function(){function b(d){d=d.exports;a.asm=d;A=a.asm.c;var f=A.buffer;a.HEAP8=D=new Int8Array(f);a.HEAP16=new Int16Array(f);a.HEAP32=new Int32Array(f);a.HEAPU8=E=new Uint8Array(f);a.HEAPU16=new Uint16Array(f);a.HEAPU32=new Uint32Array(f);a.HEAPF32=new Float32Array(f);a.HEAPF64=new Float64Array(f);G.unshift(a.asm.d);J--;a.monitorRunDependencies&&a.monitorRunDependencies(J);0==J&&(null!==K&&(clearInterval(K),K=null),L&&(f=L,L=null,f()));return d}var e={a:da};J++;a.monitorRunDependencies&&a.monitorRunDependencies(J); if(a.instantiateWasm)try{return a.instantiateWasm(e,b)}catch(d){w("Module.instantiateWasm callback failed with error: "+d),q(d)}aa(e,function(d){b(d.instance)}).catch(q);return{}})();a._malloc=function(){return(a._malloc=a.asm.e).apply(null,arguments)};a._free=function(){return(a._free=a.asm.f).apply(null,arguments)};a._ZSTD_isError=function(){return(a._ZSTD_isError=a.asm.g).apply(null,arguments)};a._ZSTD_getErrorName=function(){return(a._ZSTD_getErrorName=a.asm.h).apply(null,arguments)}; @@ -26,4 +25,9 @@ if(a.preInit)for("function"==typeof a.preInit&&(a.preInit=[a.preInit]);0 Date: Thu, 4 May 2023 22:34:01 +0100 Subject: [PATCH 5/9] Revert "Remove ES6 command and add to readme" This reverts commit e95f9ab2e9c5dc3f79be2f853b3c728b382965ff. --- emscripten/zstandard/compile.sh | 4 ++-- emscripten/zstandard/readme.md | 2 -- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/emscripten/zstandard/compile.sh b/emscripten/zstandard/compile.sh index 19a65a1c1..1e6da61b7 100644 --- a/emscripten/zstandard/compile.sh +++ b/emscripten/zstandard/compile.sh @@ -1,5 +1,5 @@ echo "Compiling ASM version zstddec-asm.js" -emcc --memory-init-file 0 -O3 --closure 1 -s ENVIRONMENT="web" -s WASM=0 -s MALLOC="emmalloc" -s TOTAL_MEMORY=150994944 -s FILESYSTEM=0 -s DOUBLE_MODE=0 -s DYNAMIC_EXECUTION=0 -s MIN_IE_VERSION=11 -s EXPORT_NAME="ZD" -s MODULARIZE=1 -s EXPORTED_FUNCTIONS="['_malloc', '_free', '_ZSTD_createDStream', '_ZSTD_initDStream', '_ZSTD_decompressStream', '_ZSTD_isError', '_ZSTD_getErrorName', '_ZSTD_freeDStream', '_ZSTD_DStreamInSize', '_ZSTD_DStreamOutSize']" -s EXPORTED_RUNTIME_METHODS="['cwrap']" ./*.c -o zstddec-asm.js +emcc --memory-init-file 0 -O3 --closure 1 -s ENVIRONMENT="web" -s WASM=0 -s MALLOC="emmalloc" -s TOTAL_MEMORY=150994944 -s FILESYSTEM=0 -s DOUBLE_MODE=0 -s DYNAMIC_EXECUTION=0 -s MIN_IE_VERSION=11 -s EXPORT_NAME="ZD" -s MODULARIZE=1 -s EXPORT_ES6=1 -s EXPORTED_FUNCTIONS="['_malloc', '_free', '_ZSTD_createDStream', '_ZSTD_initDStream', '_ZSTD_decompressStream', '_ZSTD_isError', '_ZSTD_getErrorName', '_ZSTD_freeDStream', '_ZSTD_DStreamInSize', '_ZSTD_DStreamOutSize']" -s EXPORTED_RUNTIME_METHODS="['cwrap']" ./*.c -o zstddec-asm.js echo "Compiling WASM version zstddec-wasm.js" -emcc --memory-init-file 0 -O3 --closure 1 -s ENVIRONMENT="web" -s WASM=1 -s MALLOC="emmalloc" -s TOTAL_MEMORY=150994944 -s FILESYSTEM=0 -s DOUBLE_MODE=0 -s DYNAMIC_EXECUTION=0 -s EXPORT_NAME="ZD" -s MODULARIZE=1 -s EXPORTED_FUNCTIONS="['_malloc', '_free', '_ZSTD_createDStream', '_ZSTD_initDStream', '_ZSTD_decompressStream', '_ZSTD_isError', '_ZSTD_getErrorName', '_ZSTD_freeDStream', '_ZSTD_DStreamInSize', '_ZSTD_DStreamOutSize']" -s EXPORTED_RUNTIME_METHODS="['cwrap']" ./*.c -o zstddec-wasm.js +emcc --memory-init-file 0 -O3 --closure 1 -s ENVIRONMENT="web" -s WASM=1 -s MALLOC="emmalloc" -s TOTAL_MEMORY=150994944 -s FILESYSTEM=0 -s DOUBLE_MODE=0 -s DYNAMIC_EXECUTION=0 -s EXPORT_NAME="ZD" -s MODULARIZE=1 -s EXPORT_ES6=1 -s EXPORTED_FUNCTIONS="['_malloc', '_free', '_ZSTD_createDStream', '_ZSTD_initDStream', '_ZSTD_decompressStream', '_ZSTD_isError', '_ZSTD_getErrorName', '_ZSTD_freeDStream', '_ZSTD_DStreamInSize', '_ZSTD_DStreamOutSize']" -s EXPORTED_RUNTIME_METHODS="['cwrap']" ./*.c -o zstddec-wasm.js echo "Finished." diff --git a/emscripten/zstandard/readme.md b/emscripten/zstandard/readme.md index 125313fec..e4bf74239 100644 --- a/emscripten/zstandard/readme.md +++ b/emscripten/zstandard/readme.md @@ -7,6 +7,4 @@ The source code can be compiled with Emscripten by setting up the Emscripten SDK You may be able to compile easily using docker. Look in the `/scripts` directory for helper scripts for your platform. -If you need these builds to support ES6 modules (i.e. `import` and `export` module syntax), you can add `-s EXPORT_ES6=1` to the compile commands in `compile.sh`. - For a fuller Emscripten distribution of the full zstandard library for `node.js`, see https://github.com/yoshihitoh/zstd-codec/tree/develop/js/example. \ No newline at end of file From 83d4f74bc242c3f379d84f874dded2a69fe72cb1 Mon Sep 17 00:00:00 2001 From: Jaifroid Date: Thu, 4 May 2023 22:34:45 +0100 Subject: [PATCH 6/9] Revert "Compile without ES6 for now" This reverts commit 26231ed01ba8a1c49ddf86622fba2c853da35a77. --- emscripten/xzdec/xzdec-asm.js | 25 ++++++++++--------------- emscripten/xzdec/xzdec-wasm.js | 14 +++++--------- emscripten/zstandard/zstddec-asm.js | 22 +++++++++------------- emscripten/zstandard/zstddec-wasm.js | 18 +++++++----------- 4 files changed, 31 insertions(+), 48 deletions(-) diff --git a/emscripten/xzdec/xzdec-asm.js b/emscripten/xzdec/xzdec-asm.js index fe269c37c..e240ca526 100644 --- a/emscripten/xzdec/xzdec-asm.js +++ b/emscripten/xzdec/xzdec-asm.js @@ -1,6 +1,6 @@ var XZ = (() => { - var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; + var _scriptDir = import.meta.url; return ( function(XZ = {}) { @@ -9,11 +9,11 @@ var aa="function"==typeof Object.defineProperties?Object.defineProperty:function function b(a,e){if(e)a:{var c=ca;a=a.split(".");for(var g=0;g=k}});var p;p||(p=typeof XZ !== 'undefined' ? XZ : {}); var Promise=function(){function a(){}function e(d,f){return function(){d.apply(f,arguments)}}function c(d){if(!(this instanceof c))throw new TypeError("Promises must be constructed via new");if("function"!=typeof d)throw new TypeError("not a function");this.o=0;this.v=!1;this.s=void 0;this.u=[];M(d,this)}function g(d,f){for(;3===d.o;)d=d.s;0===d.o?d.u.push(f):(d.v=!0,c.A(function(){var h=1===d.o?f.C:f.D;if(null===h)(1===d.o?k:l)(f.promise,d.s);else{try{var m=h(d.s)}catch(n){l(f.promise,n);return}k(f.promise, -m)}}))}function k(d,f){try{if(f===d)throw new TypeError("A promise cannot be resolved with itself.");if(f&&("object"==typeof f||"function"==typeof f)){var h=f.then;if(f instanceof c){d.o=3;d.s=f;t(d);return}if("function"==typeof h){M(e(h,f),d);return}}d.o=1;d.s=f;t(d)}catch(m){l(d,m)}}function l(d,f){d.o=2;d.s=f;t(d)}function t(d){2===d.o&&0===d.u.length&&c.A(function(){d.v||c.B(d.s)});for(var f=0,h=d.u.length;f=0;--a){f[48+a]=52+a;f[65+a]=a;f[97+a]=26+a}f[43]=62;f[47]=63;function l(m,n,o){var g,h,a=0,i=n,j=o.length,k=n+(j*3>>2)-(o[j-2]=="=")-(o[j-1]=="=");for(;a>4;if(i>2;if(i>>16)*g+c*(e>>>16)<<16)|0});if(!Math.fround){var L=new Float32Array(1);Math.fround=function(a){L[0]=a;return L[0]}} -Math.clz32||(Math.clz32=function(a){var e=32,c=a>>16;c&&(e-=16,a=c);if(c=a>>8)e-=8,a=c;if(c=a>>4)e-=4,a=c;if(c=a>>2)e-=2,a=c;return a>>1?e-2:e-a});Math.trunc||(Math.trunc=function(a){return 0>a?Math.ceil(a):Math.floor(a)});var P=0,Q=null,R=null;function A(a){if(p.onAbort)p.onAbort(a);a="Aborted("+a+")";x(a);D=!0;a=new ja(a+". Build with -sASSERTIONS for more info.");r(a);throw a;}function S(a){return a.startsWith("data:application/octet-stream;base64,")}var T;T="xzdec-asm.wasm"; -if(!S(T)){var U=T;T=p.locateFile?p.locateFile(U,w):w+U}function V(a){try{if(a==T&&y)return new Uint8Array(y);if(S(a))try{var e=la(a.slice(37)),c=new Uint8Array(e.length);for(a=0;a>16;c&&(e-=16,a=c);if(c=a>>8)e-=8,a=c;if(c=a>>4)e-=4,a=c;if(c=a>>2)e-=2,a=c;return a>>1?e-2:e-a});Math.trunc||(Math.trunc=function(a){return 0>a?Math.ceil(a):Math.floor(a)});var P=0,Q=null,R=null;function A(a){if(p.onAbort)p.onAbort(a);a="Aborted("+a+")";x(a);D=!0;a=new ja(a+". Build with -sASSERTIONS for more info.");r(a);throw a;}function S(a){return a.startsWith("data:application/octet-stream;base64,")}var T; +if(p.locateFile){if(T="xzdec-asm.wasm",!S(T)){var U=T;T=p.locateFile?p.locateFile(U,w):w+U}}else T=(new URL("xzdec-asm.wasm",import.meta.url)).href;function V(a){try{if(a==T&&y)return new Uint8Array(y);if(S(a))try{var e=la(a.slice(37)),c=new Uint8Array(e.length);for(a=0;a>4; -k=(k&15)<<4|l>>2;var G=(l&3)<<6|t;e+=String.fromCharCode(g);64!==l&&(e+=String.fromCharCode(k));64!==t&&(e+=String.fromCharCode(G))}while(c>4; +k=(k&15)<<4|l>>2;var G=(l&3)<<6|u;e+=String.fromCharCode(g);64!==l&&(e+=String.fromCharCode(k));64!==u&&(e+=String.fromCharCode(G))}while(c { - var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; + var _scriptDir = import.meta.url; return ( function(XZ = {}) { var a;a||(a=typeof XZ !== 'undefined' ? XZ : {});var f,g;a.ready=new Promise((b,c)=>{f=b;g=c});var h=Object.assign({},a),k="";"undefined"!=typeof document&&document.currentScript&&(k=document.currentScript.src);_scriptDir&&(k=_scriptDir);0!==k.indexOf("blob:")?k=k.substr(0,k.replace(/[?#].*/,"").lastIndexOf("/")+1):k="";var l=a.printErr||console.warn.bind(console);Object.assign(a,h);h=null;var m;a.wasmBinary&&(m=a.wasmBinary);var noExitRuntime=a.noExitRuntime||!0; -"object"!=typeof WebAssembly&&n("no native wasm support detected");var p,q=!1,r,t=[],u=[],v=[];function w(){var b=a.preRun.shift();t.unshift(b)}var x=0,y=null,z=null;function n(b){if(a.onAbort)a.onAbort(b);b="Aborted("+b+")";l(b);q=!0;b=new WebAssembly.RuntimeError(b+". Build with -sASSERTIONS for more info.");g(b);throw b;}function A(b){return b.startsWith("data:application/octet-stream;base64,")}var B;B="xzdec-wasm.wasm";if(!A(B)){var C=B;B=a.locateFile?a.locateFile(C,k):k+C} -function D(b){try{if(b==B&&m)return new Uint8Array(m);throw"both async and sync fetching of the wasm failed";}catch(c){n(c)}}function E(b){return m||"function"!=typeof fetch?Promise.resolve().then(()=>D(b)):fetch(b,{credentials:"same-origin"}).then(c=>{if(!c.ok)throw"failed to load wasm binary file at '"+b+"'";return c.arrayBuffer()}).catch(()=>D(b))}function F(b,c,e){return E(b).then(d=>WebAssembly.instantiate(d,c)).then(d=>d).then(e,d=>{l("failed to asynchronously prepare wasm: "+d);n(d)})} +"object"!=typeof WebAssembly&&n("no native wasm support detected");var p,q=!1,r,t=[],u=[],v=[];function w(){var b=a.preRun.shift();t.unshift(b)}var x=0,y=null,z=null;function n(b){if(a.onAbort)a.onAbort(b);b="Aborted("+b+")";l(b);q=!0;b=new WebAssembly.RuntimeError(b+". Build with -sASSERTIONS for more info.");g(b);throw b;}function A(b){return b.startsWith("data:application/octet-stream;base64,")}var B; +if(a.locateFile){if(B="xzdec-wasm.wasm",!A(B)){var C=B;B=a.locateFile?a.locateFile(C,k):k+C}}else B=(new URL("xzdec-wasm.wasm",import.meta.url)).href;function D(b){try{if(b==B&&m)return new Uint8Array(m);throw"both async and sync fetching of the wasm failed";}catch(c){n(c)}} +function E(b){return m||"function"!=typeof fetch?Promise.resolve().then(()=>D(b)):fetch(b,{credentials:"same-origin"}).then(c=>{if(!c.ok)throw"failed to load wasm binary file at '"+b+"'";return c.arrayBuffer()}).catch(()=>D(b))}function F(b,c,e){return E(b).then(d=>WebAssembly.instantiate(d,c)).then(d=>d).then(e,d=>{l("failed to asynchronously prepare wasm: "+d);n(d)})} function G(b,c){var e=B;return m||"function"!=typeof WebAssembly.instantiateStreaming||A(e)||"function"!=typeof fetch?F(e,b,c):fetch(e,{credentials:"same-origin"}).then(d=>WebAssembly.instantiateStreaming(d,b).then(c,function(K){l("wasm streaming compile failed: "+K);l("falling back to ArrayBuffer instantiation");return F(e,b,c)}))}function H(b){for(;0 { - var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; + var _scriptDir = import.meta.url; return ( function(ZD = {}) { @@ -10,10 +10,10 @@ function d(a,e){if(e)a:{var c=ca;a=a.split(".");for(var h=0;h=l}});var q;q||(q=typeof ZD !== 'undefined' ? ZD : {}); var Promise=function(){function a(){}function e(b,f){return function(){b.apply(f,arguments)}}function c(b){if(!(this instanceof c))throw new TypeError("Promises must be constructed via new");if("function"!=typeof b)throw new TypeError("not a function");this.o=0;this.v=!1;this.s=void 0;this.u=[];B(b,this)}function h(b,f){for(;3===b.o;)b=b.s;0===b.o?b.u.push(f):(b.v=!0,c.A(function(){var g=1===b.o?f.C:f.D;if(null===g)(1===b.o?l:m)(f.promise,b.s);else{try{var k=g(b.s)}catch(n){m(f.promise,n);return}l(f.promise, k)}}))}function l(b,f){try{if(f===b)throw new TypeError("A promise cannot be resolved with itself.");if(f&&("object"==typeof f||"function"==typeof f)){var g=f.then;if(f instanceof c){b.o=3;b.s=f;r(b);return}if("function"==typeof g){B(e(g,f),b);return}}b.o=1;b.s=f;r(b)}catch(k){m(b,k)}}function m(b,f){b.o=2;b.s=f;r(b)}function r(b){2===b.o&&0===b.u.length&&c.A(function(){b.v||c.B(b.s)});for(var f=0,g=b.u.length;f=0;--a){f[48+a]=52+a;f[65+a]=a;f[97+a]=26+a}f[43]=62;f[47]=63;function l(m,n,o){var g,h,a=0,i=n,j=o.length,k=n+(j*3>>2)-(o[j-2]=="=")-(o[j-1]=="=");for(;a>4;if(i>2;if(i>>16)*h+c*(e>>>16)<<16)|0});if(!Math.fround){var O=new Float32Array(1);Math.fround=function(a){O[0]=a;return O[0]}} -Math.clz32||(Math.clz32=function(a){var e=32,c=a>>16;c&&(e-=16,a=c);if(c=a>>8)e-=8,a=c;if(c=a>>4)e-=4,a=c;if(c=a>>2)e-=2,a=c;return a>>1?e-2:e-a});Math.trunc||(Math.trunc=function(a){return 0>a?Math.ceil(a):Math.floor(a)});var R=0,S=null,T=null;function E(a){if(q.onAbort)q.onAbort(a);a="Aborted("+a+")";A(a);G=!0;a=new ia(a+". Build with -sASSERTIONS for more info.");v(a);throw a;}function U(a){return a.startsWith("data:application/octet-stream;base64,")}var V;V="zstddec-asm.wasm"; -if(!U(V)){var W=V;V=q.locateFile?q.locateFile(W,z):z+W}function ka(a){try{if(a==V&&C)return new Uint8Array(C);if(U(a))try{var e=la(a.slice(37)),c=new Uint8Array(e.length);for(a=0;a>16;c&&(e-=16,a=c);if(c=a>>8)e-=8,a=c;if(c=a>>4)e-=4,a=c;if(c=a>>2)e-=2,a=c;return a>>1?e-2:e-a});Math.trunc||(Math.trunc=function(a){return 0>a?Math.ceil(a):Math.floor(a)});var R=0,S=null,T=null;function E(a){if(q.onAbort)q.onAbort(a);a="Aborted("+a+")";A(a);G=!0;a=new ia(a+". Build with -sASSERTIONS for more info.");v(a);throw a;}function U(a){return a.startsWith("data:application/octet-stream;base64,")}var V; +if(q.locateFile){if(V="zstddec-asm.wasm",!U(V)){var W=V;V=q.locateFile?q.locateFile(W,x):x+W}}else V=(new URL("zstddec-asm.wasm",import.meta.url)).href; +function ka(a){try{if(a==V&&C)return new Uint8Array(C);if(U(a))try{var e=la(a.slice(37)),c=new Uint8Array(e.length);for(a=0;a=k?f++:2047>=k?f+=2:55296<=k&&57343>=k?(f+=4,++g):f+=3}k=f+1;g=f=Y(k);if(0=p){var y=b.charCodeAt(++n);p=65536+((p&1023)<<10)|y&1023}if(127>=p){if(g>=k)break;I[g++]=p}else{if(2047>=p){if(g+1>=k)break;I[g++]=192|p>>6}else{if(65535>=p){if(g+2>=k)break;I[g++]=224|p>>12}else{if(g+3>= +function ra(a,e,c,h){var l={string:function(b){var f=0;if(null!==b&&void 0!==b&&0!==b){for(var g=f=0;g=k?f++:2047>=k?f+=2:55296<=k&&57343>=k?(f+=4,++g):f+=3}k=f+1;g=f=Y(k);if(0=p){var z=b.charCodeAt(++n);p=65536+((p&1023)<<10)|z&1023}if(127>=p){if(g>=k)break;I[g++]=p}else{if(2047>=p){if(g+1>=k)break;I[g++]=192|p>>6}else{if(65535>=p){if(g+2>=k)break;I[g++]=224|p>>12}else{if(g+3>= k)break;I[g++]=240|p>>18;I[g++]=128|p>>12&63}I[g++]=128|p>>6&63}I[g++]=128|p&63}}I[g]=0}}return f},array:function(b){var f=Y(b.length);H.set(b,f);return f}};a=q["_"+a];var m=[],r=0;if(h)for(var t=0;t=f);)++g;if(16k?f+=String.fromCharCode(k):(k-=65536,f+=String.fromCharCode(55296|k>>10,56320|k&1023))}}else f+=String.fromCharCode(k)}b=f}}else b="";else b="boolean"===e?!!b:b;return b}(c)} var la="function"==typeof atob?atob:function(a){var e="",c=0;a=a.replace(/[^A-Za-z0-9\+\/=]/g,"");do{var h="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(a.charAt(c++));var l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(a.charAt(c++));var m="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(a.charAt(c++));var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(a.charAt(c++));h=h<<2|l>>4; @@ -50,9 +51,4 @@ if(q.preInit)for("function"==typeof q.preInit&&(q.preInit=[q.preInit]);0 { - var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; + var _scriptDir = import.meta.url; return ( function(ZD = {}) { -var a;a||(a=typeof ZD !== 'undefined' ? ZD : {});var n,q;a.ready=new Promise((b,e)=>{n=b;q=e});var t=Object.assign({},a),v="";"undefined"!=typeof document&&document.currentScript&&(v=document.currentScript.src);_scriptDir&&(v=_scriptDir);0!==v.indexOf("blob:")?v=v.substr(0,v.replace(/[?#].*/,"").lastIndexOf("/")+1):v="";var w=a.printErr||console.warn.bind(console);Object.assign(a,t);t=null;var x;a.wasmBinary&&(x=a.wasmBinary);var noExitRuntime=a.noExitRuntime||!0; -"object"!=typeof WebAssembly&&z("no native wasm support detected");var A,B=!1,D,E,F=[],G=[],H=[];function I(){var b=a.preRun.shift();F.unshift(b)}var J=0,K=null,L=null;function z(b){if(a.onAbort)a.onAbort(b);b="Aborted("+b+")";w(b);B=!0;b=new WebAssembly.RuntimeError(b+". Build with -sASSERTIONS for more info.");q(b);throw b;}function M(b){return b.startsWith("data:application/octet-stream;base64,")}var N;N="zstddec-wasm.wasm";if(!M(N)){var O=N;N=a.locateFile?a.locateFile(O,v):v+O} -function P(b){try{if(b==N&&x)return new Uint8Array(x);throw"both async and sync fetching of the wasm failed";}catch(e){z(e)}}function Q(b){return x||"function"!=typeof fetch?Promise.resolve().then(()=>P(b)):fetch(b,{credentials:"same-origin"}).then(e=>{if(!e.ok)throw"failed to load wasm binary file at '"+b+"'";return e.arrayBuffer()}).catch(()=>P(b))}function R(b,e,d){return Q(b).then(f=>WebAssembly.instantiate(f,e)).then(f=>f).then(d,f=>{w("failed to asynchronously prepare wasm: "+f);z(f)})} +var a;a||(a=typeof ZD !== 'undefined' ? ZD : {});var n,q;a.ready=new Promise((b,e)=>{n=b;q=e});var r=Object.assign({},a),v="";"undefined"!=typeof document&&document.currentScript&&(v=document.currentScript.src);_scriptDir&&(v=_scriptDir);0!==v.indexOf("blob:")?v=v.substr(0,v.replace(/[?#].*/,"").lastIndexOf("/")+1):v="";var w=a.printErr||console.warn.bind(console);Object.assign(a,r);r=null;var x;a.wasmBinary&&(x=a.wasmBinary);var noExitRuntime=a.noExitRuntime||!0; +"object"!=typeof WebAssembly&&z("no native wasm support detected");var A,B=!1,D,E,F=[],G=[],H=[];function I(){var b=a.preRun.shift();F.unshift(b)}var J=0,K=null,L=null;function z(b){if(a.onAbort)a.onAbort(b);b="Aborted("+b+")";w(b);B=!0;b=new WebAssembly.RuntimeError(b+". Build with -sASSERTIONS for more info.");q(b);throw b;}function M(b){return b.startsWith("data:application/octet-stream;base64,")}var N; +if(a.locateFile){if(N="zstddec-wasm.wasm",!M(N)){var O=N;N=a.locateFile?a.locateFile(O,v):v+O}}else N=(new URL("zstddec-wasm.wasm",import.meta.url)).href;function P(b){try{if(b==N&&x)return new Uint8Array(x);throw"both async and sync fetching of the wasm failed";}catch(e){z(e)}} +function Q(b){return x||"function"!=typeof fetch?Promise.resolve().then(()=>P(b)):fetch(b,{credentials:"same-origin"}).then(e=>{if(!e.ok)throw"failed to load wasm binary file at '"+b+"'";return e.arrayBuffer()}).catch(()=>P(b))}function R(b,e,d){return Q(b).then(f=>WebAssembly.instantiate(f,e)).then(f=>f).then(d,f=>{w("failed to asynchronously prepare wasm: "+f);z(f)})} function aa(b,e){var d=N;return x||"function"!=typeof WebAssembly.instantiateStreaming||M(d)||"function"!=typeof fetch?R(d,b,e):fetch(d,{credentials:"same-origin"}).then(f=>WebAssembly.instantiateStreaming(f,b).then(e,function(y){w("wasm streaming compile failed: "+y);w("falling back to ArrayBuffer instantiation");return R(d,b,e)}))}function S(b){for(;0{var l=0;if(null!==c&&void 0!==c&&0!==c){for(var g=l=0;g=k?l++:2047>=k?l+=2:55296<=k&&57343>=k?(l+=4,++g):l+=3}var h=l+1;g=l=V(h);k=E;if(0=m){var ca=c.charCodeAt(++p);m=65536+((m&1023)<<10)|ca&1023}if(127>=m){if(g>=h)break;k[g++]=m}else{if(2047>=m){if(g+1>=h)break;k[g++]=192|m>>6}else{if(65535>=m){if(g+2>=h)break;k[g++]=224|m>>12}else{if(g+ -3>=h)break;k[g++]=240|m>>18;k[g++]=128|m>>12&63}k[g++]=128|m>>6&63}k[g++]=128|m&63}}k[g]=0}}return l},array:c=>{var l=V(c.length);D.set(c,l);return l}};b=a["_"+b];var u=[],C=0;if(f)for(var r=0;r=g);)++k;if(16=h)break;k[g++]=240|m>>18;k[g++]=128|m>>12&63}k[g++]=128|m>>6&63}k[g++]=128|m&63}}k[g]=0}}return l},array:c=>{var l=V(c.length);D.set(c,l);return l}};b=a["_"+b];var u=[],C=0;if(f)for(var t=0;t=g);)++k;if(16h?g+=String.fromCharCode(h):(h-=65536,g+=String.fromCharCode(55296|h>>10,56320|h&1023))}}else g+=String.fromCharCode(h)}c=g}}else c="";else c="boolean"===e?!!c:c;return c}(d)}var da={b:function(b,e,d){E.copyWithin(b,e,e+d)},a:function(){z("OOM")}}; (function(){function b(d){d=d.exports;a.asm=d;A=a.asm.c;var f=A.buffer;a.HEAP8=D=new Int8Array(f);a.HEAP16=new Int16Array(f);a.HEAP32=new Int32Array(f);a.HEAPU8=E=new Uint8Array(f);a.HEAPU16=new Uint16Array(f);a.HEAPU32=new Uint32Array(f);a.HEAPF32=new Float32Array(f);a.HEAPF64=new Float64Array(f);G.unshift(a.asm.d);J--;a.monitorRunDependencies&&a.monitorRunDependencies(J);0==J&&(null!==K&&(clearInterval(K),K=null),L&&(f=L,L=null,f()));return d}var e={a:da};J++;a.monitorRunDependencies&&a.monitorRunDependencies(J); if(a.instantiateWasm)try{return a.instantiateWasm(e,b)}catch(d){w("Module.instantiateWasm callback failed with error: "+d),q(d)}aa(e,function(d){b(d.instance)}).catch(q);return{}})();a._malloc=function(){return(a._malloc=a.asm.e).apply(null,arguments)};a._free=function(){return(a._free=a.asm.f).apply(null,arguments)};a._ZSTD_isError=function(){return(a._ZSTD_isError=a.asm.g).apply(null,arguments)};a._ZSTD_getErrorName=function(){return(a._ZSTD_getErrorName=a.asm.h).apply(null,arguments)}; @@ -25,9 +26,4 @@ if(a.preInit)for("function"==typeof a.preInit&&(a.preInit=[a.preInit]);0 Date: Thu, 4 May 2023 22:35:21 +0100 Subject: [PATCH 7/9] Revert "Also add xzdec readme" This reverts commit 51e6c05d5935a648f890b8ee80b4d1ca8c46cb89. --- emscripten/xzdec/README.md | 9 --------- emscripten/xzdec/compile.sh | 4 ++-- 2 files changed, 2 insertions(+), 11 deletions(-) delete mode 100644 emscripten/xzdec/README.md diff --git a/emscripten/xzdec/README.md b/emscripten/xzdec/README.md deleted file mode 100644 index d35744530..000000000 --- a/emscripten/xzdec/README.md +++ /dev/null @@ -1,9 +0,0 @@ -# Source code and compilations of zstandard decompression library - -This folder shows how to compile the public-domain XZ decoder to make a webassembly binary and an asm JavaScript version. - -The source code can be compiled with Emscripten by setting up the Emscripten SDK and running the Linux script `./compile.sh` in this directory. This will produce `xzddec.js`. Further optimization and minification of this file may be possible by adjusting the commandline options in `compile.sh`. - -You may be able to compile easily using docker. Look in the `/scripts` directory for helper scripts for your platform. - -If you need these builds to support ES6 modules (i.e. `import` and `export` module syntax), you can add `-s EXPORT_ES6=1` to the compile commands in `compile.sh`. \ No newline at end of file diff --git a/emscripten/xzdec/compile.sh b/emscripten/xzdec/compile.sh index 9f5f971a5..f2964e6b9 100755 --- a/emscripten/xzdec/compile.sh +++ b/emscripten/xzdec/compile.sh @@ -1,5 +1,5 @@ echo "Compiling ASM version xzdec-asm.js" -emcc --memory-init-file 0 -O3 --closure 1 -s ENVIRONMENT="web" -s WASM=0 -s MALLOC="emmalloc" -s TOTAL_MEMORY=83886080 -s FILESYSTEM=0 -s DOUBLE_MODE=0 -s DYNAMIC_EXECUTION=0 -s MIN_IE_VERSION=11 -s EXPORT_NAME="XZ" -s MODULARIZE=1 -s AGGRESSIVE_VARIABLE_ELIMINATION=1 -s EXPORTED_FUNCTIONS="['_init', '_init_decompression', '_input_empty', '_get_in_buffer', '_set_new_input', '_decompress', '_get_out_pos', '_get_out_buffer', '_out_buffer_cleared', '_release']" -DXZ_USE_CRC64=1 -DXZ_INTERNAL_CRC64=1 ./*.c -o xzdec-asm.js +emcc --memory-init-file 0 -O3 --closure 1 -s ENVIRONMENT="web" -s WASM=0 -s MALLOC="emmalloc" -s TOTAL_MEMORY=83886080 -s FILESYSTEM=0 -s DOUBLE_MODE=0 -s DYNAMIC_EXECUTION=0 -s MIN_IE_VERSION=11 -s EXPORT_NAME="XZ" -s MODULARIZE=1 -s EXPORT_ES6=1 -s AGGRESSIVE_VARIABLE_ELIMINATION=1 -s EXPORTED_FUNCTIONS="['_init', '_init_decompression', '_input_empty', '_get_in_buffer', '_set_new_input', '_decompress', '_get_out_pos', '_get_out_buffer', '_out_buffer_cleared', '_release']" -DXZ_USE_CRC64=1 -DXZ_INTERNAL_CRC64=1 ./*.c -o xzdec-asm.js echo "Compiling WASM version xzdec-wasm.js" -emcc --memory-init-file 0 -O3 --closure 1 -s ENVIRONMENT="web" -s WASM=1 -s MALLOC="emmalloc" -s TOTAL_MEMORY=83886080 -s FILESYSTEM=0 -s DOUBLE_MODE=0 -s DYNAMIC_EXECUTION=0 -s EXPORT_NAME="XZ" -s MODULARIZE=1 -s AGGRESSIVE_VARIABLE_ELIMINATION=1 -s EXPORTED_FUNCTIONS="['_init', '_init_decompression', '_input_empty', '_get_in_buffer', '_set_new_input', '_decompress', '_get_out_pos', '_get_out_buffer', '_out_buffer_cleared', '_release']" -DXZ_USE_CRC64=1 -DXZ_INTERNAL_CRC64=1 ./*.c -o xzdec-wasm.js +emcc --memory-init-file 0 -O3 --closure 1 -s ENVIRONMENT="web" -s WASM=1 -s MALLOC="emmalloc" -s TOTAL_MEMORY=83886080 -s FILESYSTEM=0 -s DOUBLE_MODE=0 -s DYNAMIC_EXECUTION=0 -s EXPORT_NAME="XZ" -s MODULARIZE=1 -s EXPORT_ES6=1 -s AGGRESSIVE_VARIABLE_ELIMINATION=1 -s EXPORTED_FUNCTIONS="['_init', '_init_decompression', '_input_empty', '_get_in_buffer', '_set_new_input', '_decompress', '_get_out_pos', '_get_out_buffer', '_out_buffer_cleared', '_release']" -DXZ_USE_CRC64=1 -DXZ_INTERNAL_CRC64=1 ./*.c -o xzdec-wasm.js echo "Finished." \ No newline at end of file From aee2e0cccbf86f121fbb2b83fde2cc27a0ae1e0a Mon Sep 17 00:00:00 2001 From: Jaifroid Date: Thu, 4 May 2023 22:36:15 +0100 Subject: [PATCH 8/9] Create README.md --- emscripten/xzdec/README.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 emscripten/xzdec/README.md diff --git a/emscripten/xzdec/README.md b/emscripten/xzdec/README.md new file mode 100644 index 000000000..d35744530 --- /dev/null +++ b/emscripten/xzdec/README.md @@ -0,0 +1,9 @@ +# Source code and compilations of zstandard decompression library + +This folder shows how to compile the public-domain XZ decoder to make a webassembly binary and an asm JavaScript version. + +The source code can be compiled with Emscripten by setting up the Emscripten SDK and running the Linux script `./compile.sh` in this directory. This will produce `xzddec.js`. Further optimization and minification of this file may be possible by adjusting the commandline options in `compile.sh`. + +You may be able to compile easily using docker. Look in the `/scripts` directory for helper scripts for your platform. + +If you need these builds to support ES6 modules (i.e. `import` and `export` module syntax), you can add `-s EXPORT_ES6=1` to the compile commands in `compile.sh`. \ No newline at end of file From 6434bee995fe1777d2618005d0bc8ae72930412d Mon Sep 17 00:00:00 2001 From: Jaifroid Date: Thu, 4 May 2023 22:38:23 +0100 Subject: [PATCH 9/9] Update readme.md --- emscripten/zstandard/readme.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/emscripten/zstandard/readme.md b/emscripten/zstandard/readme.md index e4bf74239..0ac88a76d 100644 --- a/emscripten/zstandard/readme.md +++ b/emscripten/zstandard/readme.md @@ -5,6 +5,8 @@ It has been combined by following the instructions at https://github.com/faceboo The source code can be compiled with Emscripten by setting up the Emscripten SDK and running the Linux script `./compile.sh` in this directory. This will produce `zstddec.js`. Further optimization and minification of this file may be possible by adjusting the commandline options in `compile.sh`. +If you need these builds to support ES6 modules (i.e. `import` and `export` module syntax), you can add `-s EXPORT_ES6=1` to the compile commands in `compile.sh`. + You may be able to compile easily using docker. Look in the `/scripts` directory for helper scripts for your platform. For a fuller Emscripten distribution of the full zstandard library for `node.js`, see https://github.com/yoshihitoh/zstd-codec/tree/develop/js/example. \ No newline at end of file