diff --git a/README.md b/README.md index 0cc44db..3506ae5 100644 --- a/README.md +++ b/README.md @@ -5,8 +5,12 @@ News ======= +### Version 1.2.2 release +The latest version of Draco brings a number of small bug fixes +* Fixed issues when parsing ill-formatted .obj files + ### Version 1.2.1 release -The latest version of Draco brings a number of enhancements to reduce decoder size and various other fixes +The 1.2.1 version of Draco brings a number of enhancements to reduce decoder size and various other fixes * Javascript and WebAssembly decoder size reduced by 35% * Added specialized Javascript and Webassembly decoders for GLTF (size reduction about 50% compared to the previous version) diff --git a/javascript/npm/draco3dgltf/README.md b/javascript/npm/draco3dgltf/README.md new file mode 100644 index 0000000..b150bb1 --- /dev/null +++ b/javascript/npm/draco3dgltf/README.md @@ -0,0 +1,56 @@ + +
+
+
>2]|0;m=(f[f[m>>2]>>2]|0)+(f[m+48>>2]|0)|0;if(!c){c=1;Cm(t);u=v;return c|0}q=p+4|0;l=a+28|0;if(d<<24>>24>0){h=0;i=0;j=0}else{a=0;d=0;while(1){Ld((f[f[(f[r>>2]|0)+64>>2]>>2]|0)+d|0,t|0,s|0)|0;a=a+1|0;if((a|0)==(c|0)){a=1;break}else d=d+s|0}Cm(t);u=v;return a|0}while(1){a=f[l>>2]|0;e=$(n[q>>2]);g=$(n[p>>2]);d=0;k=j;while(1){z=f[m+(k<<2)>>2]|0;y=(z|0)<0;w=$(e*$((y?0-z|0:z)|0));x=$(-w);w=$(g*(y?x:w));w=$($(n[a+(d<<2)>>2])+w);n[t+(d<<2)>>2]=w;d=d+1|0;if((d|0)==(o|0))break;else k=k+1|0}Ld((f[f[(f[r>>2]|0)+64>>2]>>2]|0)+i|0,t|0,s|0)|0;h=h+1|0;if((h|0)==(c|0)){a=1;break}else{i=i+s|0;j=o+j|0}}Cm(t);u=v;return a|0}function hd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=f[b>>2]|0;l=f[k>>2]|0;e=f[a+4>>2]|0;b=f[k+4>>2]|0;h=e+-1|0;i=(h&e|0)==0;if(i)g=h&b;else g=(b>>>0)%(e>>>0)|0;c=(f[a>>2]|0)+(g<<2)|0;j=f[c>>2]|0;while(1){b=f[j>>2]|0;if((b|0)==(k|0))break;else j=b}if((j|0)!=(a+8|0)){b=f[j+4>>2]|0;if(i)b=b&h;else b=(b>>>0)%(e>>>0)|0;if((b|0)==(g|0)){c=l;d=18}else d=11}else d=11;do if((d|0)==11){if(l|0){b=f[l+4>>2]|0;if(i)b=b&h;else b=(b>>>0)%(e>>>0)|0;if((b|0)==(g|0)){c=l;b=l;d=19;break}}f[c>>2]=0;c=f[k>>2]|0;d=18}while(0);if((d|0)==18){b=c;if(c)d=19}if((d|0)==19){c=f[c+4>>2]|0;if(i)c=c&h;else c=(c>>>0)%(e>>>0)|0;if((c|0)!=(g|0)){f[(f[a>>2]|0)+(c<<2)>>2]=j;b=f[k>>2]|0}}f[j>>2]=b;f[k>>2]=0;a=a+12|0;f[a>>2]=(f[a>>2]|0)+-1;if(!k)return l|0;b=f[k+20>>2]|0;if(b|0){c=k+24|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;Em(b)}pk(k+8|0);Em(k);return l|0}function id(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+16|0;j=m+4|0;k=m;l=a+8|0;g=a+100|0;h=f[l>>2]|0;h=(f[h+28>>2]|0)-(f[h+24>>2]|0)>>2;f[j>>2]=0;d=a+104|0;c=f[d>>2]|0;b=f[g>>2]|0;i=c-b>>2;if(h>>>0<=i>>>0){if(h>>>0>>0?(e=b+(h<<2)|0,(c|0)!=(e|0)):0)f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2)}else Xd(g,h-i|0,j);d=a+120|0;b=f[d>>2]|0;if(!b){a=f[l>>2]|0;a=(f[a+4>>2]|0)-(f[a>>2]|0)>>2;b=(a>>>0)/3|0;if(a>>>0<=2){u=m;return 1}c=0;do{f[k>>2]=c*3;f[j>>2]=f[k>>2];ob(l,j);c=c+1|0}while((c|0)<(b|0));u=m;return 1}else{c=f[b>>2]|0;if((f[b+4>>2]|0)==(c|0)){u=m;return 1}b=0;do{f[k>>2]=f[c+(b<<2)>>2];f[j>>2]=f[k>>2];ob(l,j);b=b+1|0;a=f[d>>2]|0;c=f[a>>2]|0}while(b>>>0<(f[a+4>>2]|0)-c>>2>>>0);u=m;return 1}return 0}function jd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+112|0;h=k+96|0;j=k+16|0;i=k+4|0;g=k;c=j+76|0;d=j;e=d+76|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));f[c>>2]=-1073741824;f[i>>2]=0;e=i+4|0;f[e>>2]=0;f[i+8>>2]=0;f[g>>2]=i;f[h>>2]=f[g>>2];if(ac(j,a,h)|0){g=f[i>>2]|0;Vc(b,g,g+((f[e>>2]|0)-g>>2<<2)|0);g=f[j+68>>2]|0}else g=0;c=f[i>>2]|0;if(c|0){d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}c=f[j+56>>2]|0;if(c|0)Em(c);c=f[j+32>>2]|0;if(c|0){e=j+36|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}c=f[j+20>>2]|0;if(c|0){e=j+24|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}c=f[j+8>>2]|0;if(c|0){e=j+12|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}j=j+4|0;c=f[j>>2]|0;f[j>>2]=0;if(!c){u=k;return g|0}Lf(c);Em(c);u=k;return g|0}function kd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;l=u;u=u+16|0;d=l;if(!(nf(d,c)|0)){a=0;u=l;return a|0}g=d;j=f[g>>2]|0;g=f[g+4>>2]|0;m=c+8|0;i=c+16|0;e=i;d=f[e>>2]|0;e=f[e+4>>2]|0;m=Dj(f[m>>2]|0,f[m+4>>2]|0,d|0,e|0)|0;n=I;if(g>>>0>n>>>0|(g|0)==(n|0)&j>>>0>m>>>0){n=0;u=l;return n|0}c=(f[c>>2]|0)+d|0;m=lk(d|0,e|0,j|0,g|0)|0;n=i;f[n>>2]=m;f[n+4>>2]=I;if((j|0)<1){n=0;u=l;return n|0}f[a+40>>2]=c;e=j+-1|0;d=c+e|0;a:do switch((h[d>>0]|0)>>>6&3){case 0:{f[a+44>>2]=e;k=b[d>>0]&63;break}case 1:if((j|0)<2){n=0;u=l;return n|0}else{f[a+44>>2]=j+-2;k=c+j+-2|0;k=(h[k+1>>0]|0)<<8&16128|(h[k>>0]|0);break a}case 2:if((j|0)<3){n=0;u=l;return n|0}else{f[a+44>>2]=j+-3;k=c+j+-3|0;k=(h[k+1>>0]|0)<<8|(h[k>>0]|0)|(h[k+2>>0]|0)<<16&4128768;break a}case 3:{f[a+44>>2]=j+-4;k=c+j+-4|0;k=(h[k+2>>0]|0)<<16|(h[k+3>>0]|0)<<24&1056964608|(h[k+1>>0]|0)<<8|(h[k>>0]|0);break}default:{}}while(0);n=k+16384|0;f[a+48>>2]=n;n=n>>>0<4194304;u=l;return n|0}function ld(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;f[c>>2]=1;e=a+4|0;l=c+8|0;k=c+12|0;c=f[l>>2]|0;d=(f[k>>2]|0)-c|0;if(d>>>0<4294967292){Qg(l,d+4|0,0);c=f[l>>2]|0}j=c+d|0;i=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[j>>0]=i;b[j+1>>0]=i>>8;b[j+2>>0]=i>>16;b[j+3>>0]=i>>24;j=a+8|0;i=a+12|0;c=f[j>>2]|0;if((f[i>>2]|0)!=(c|0)){g=0;do{d=c+(g<<2)|0;c=f[l>>2]|0;e=(f[k>>2]|0)-c|0;if(e>>>0<4294967292){Qg(l,e+4|0,0);c=f[l>>2]|0}c=c+e|0;e=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[c>>0]=e;b[c+1>>0]=e>>8;b[c+2>>0]=e>>16;b[c+3>>0]=e>>24;g=g+1|0;c=f[j>>2]|0}while(g>>>0<(f[i>>2]|0)-c>>2>>>0)}e=a+20|0;d=f[l>>2]|0;c=(f[k>>2]|0)-d|0;if(c>>>0<4294967292){Qg(l,c+4|0,0);l=f[l>>2]|0;l=l+c|0;k=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[l>>0]=k;b[l+1>>0]=k>>8;b[l+2>>0]=k>>16;b[l+3>>0]=k>>24;return}else{l=d;l=l+c|0;k=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[l>>0]=k;b[l+1>>0]=k>>8;b[l+2>>0]=k>>16;b[l+3>>0]=k>>24;return}}function md(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=c;i=b;j=k-i|0;g=j>>2;h=a+8|0;d=f[h>>2]|0;l=f[a>>2]|0;m=l;if(g>>>0<=d-l>>2>>>0){j=a+4|0;e=(f[j>>2]|0)-l>>2;h=g>>>0>e>>>0;g=h?b+(e<<2)|0:c;e=g;c=e-i|0;d=c>>2;if(d|0)li(l|0,b|0,c|0)|0;c=m+(d<<2)|0;if(h){d=k-e|0;if((d|0)<=0)return;Ld(f[j>>2]|0,g|0,d|0)|0;f[j>>2]=(f[j>>2]|0)+(d>>>2<<2);return}else{d=f[j>>2]|0;if((d|0)==(c|0))return;f[j>>2]=d+(~((d+-4-c|0)>>>2)<<2);return}}e=l;if(l){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(m|0))f[c>>2]=d+(~((d+-4-l|0)>>>2)<<2);Em(e);f[h>>2]=0;f[c>>2]=0;f[a>>2]=0;d=0}if(g>>>0>1073741823){ql(a);c=f[a>>2]|0;d=f[h>>2]|0}else c=0;m=d-c|0;d=m>>1;d=m>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;if(d>>>0>1073741823){ql(a);b=Ha(4)|0;gm(b);sa(b|0,840,80)}e=_i(d<<2)|0;c=a+4|0;f[c>>2]=e;f[a>>2]=e;f[h>>2]=e+(d<<2);if((j|0)<=0)return;Ld(e|0,b|0,j|0)|0;f[c>>2]=e+(j>>>2<<2);return}function nd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=u;u=u+48|0;n=p+40|0;m=p+32|0;j=p+8|0;k=p;l=p+24|0;o=p+16|0;g=a+4|0;q=f[g>>2]|0;d=f[b>>2]|0;b=f[b+4>>2]|0;e=c;h=f[e>>2]|0;e=f[e+4>>2]|0;i=h-d<<3;f[g>>2]=q-b+e+i;g=(f[a>>2]|0)+(q>>>5<<2)|0;a=q&31;c=g;if((b|0)!=(a|0)){q=j;f[q>>2]=d;f[q+4>>2]=b;q=k;f[q>>2]=h;f[q+4>>2]=e;f[l>>2]=c;f[l+4>>2]=a;f[m>>2]=f[j>>2];f[m+4>>2]=f[j+4>>2];f[n>>2]=f[k>>2];f[n+4>>2]=f[k+4>>2];jc(o,m,n,l);u=p;return}e=e-b+i|0;a=d;if((e|0)>0){if(!b){h=a;c=e;b=0}else{h=32-b|0;c=(e|0)<(h|0)?e:h;h=-1>>>(h-c|0)&-1<>2]=f[g>>2]&~h|f[a>>2]&h;b=c+b|0;h=a+4|0;g=g+(b>>>5<<2)|0;d=h;c=e-c|0;b=b&31}e=c>>>5;li(g|0,d|0,e<<2|0)|0;d=c-(e<<5)|0;a=g+(e<<2)|0;c=a;if((d|0)>0){b=-1>>>(32-d|0);f[a>>2]=f[a>>2]&~b|f[h+(e<<2)>>2]&b;b=d}}f[o>>2]=c;f[o+4>>2]=b;u=p;return}function od(a,c,d){a=a|0;c=c|0;d=d|0;var e=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;v=u;u=u+16|0;s=v;e=f[a+40>>2]|0;j=f[a+44>>2]|0;if((e|0)==(j|0)){t=0;u=v;return t|0}k=s+11|0;m=s+4|0;l=d+11|0;n=d+4|0;a=e;a:while(1){f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;do if(wf(f[a>>2]|0,c,s)|0?(p=b[k>>0]|0,q=p<<24>>24<0,p=p&255,o=q?f[m>>2]|0:p,i=b[l>>0]|0,r=i<<24>>24<0,(o|0)==((r?f[n>>2]|0:i&255)|0)):0){g=f[s>>2]|0;i=q?g:s;e=r?f[d>>2]|0:d;h=(o|0)==0;if(q){if(h)break a;if(!(xh(i,e,o)|0))break a;else break}if(h)break a;if((g&255)<<24>>24==(b[e>>0]|0)){g=p;h=s;do{g=g+-1|0;h=h+1|0;if(!g)break a;e=e+1|0}while((b[h>>0]|0)==(b[e>>0]|0))}}while(0);pk(s);a=a+4|0;if((a|0)==(j|0)){a=0;t=14;break}}if((t|0)==14){u=v;return a|0}t=f[a>>2]|0;pk(s);u=v;return t|0}function pd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;h=j;f[h>>2]=b;if((b|0)<=-1)Fa(12367,12379,110,12471);i=a+8|0;if(((f[a+12>>2]|0)-(f[i>>2]|0)>>2|0)<=(b|0))le(i,b+1|0);d=f[(f[c>>2]|0)+56>>2]|0;do if((d|0)<5){g=a+20+(d*12|0)+4|0;e=f[g>>2]|0;if((e|0)==(f[a+20+(d*12|0)+8>>2]|0)){$e(a+20+(d*12|0)|0,h);break}else{f[e>>2]=b;f[g>>2]=e+4;break}}while(0);g=f[c>>2]|0;a=f[h>>2]|0;f[g+60>>2]=a;a=(f[i>>2]|0)+(a<<2)|0;f[c>>2]=0;b=f[a>>2]|0;f[a>>2]=g;if(!b){u=j;return}a=b+88|0;d=f[a>>2]|0;f[a>>2]=0;if(d|0){e=f[d+8>>2]|0;if(e|0){g=d+12|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Em(e)}Em(d)}d=f[b+68>>2]|0;if(d|0){g=b+72|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Em(d)}a=b+64|0;d=f[a>>2]|0;f[a>>2]=0;if(d|0){e=f[d>>2]|0;if(e|0){g=d+4|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Em(e)}Em(d)}Em(b);u=j;return}function qd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;j=c;h=d-j|0;i=a+8|0;e=f[i>>2]|0;g=f[a>>2]|0;k=g;if(h>>>0>(e-g|0)>>>0){if(g){e=a+4|0;if((f[e>>2]|0)!=(k|0))f[e>>2]=k;Em(k);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;e=0}if((h|0)<0){ql(a);e=f[i>>2]|0;g=f[a>>2]|0}else g=0;k=e-g|0;g=k<<1;g=k>>>0<1073741823?(g>>>0 >>0?h:g):2147483647;if((g|0)<0)ql(a);e=_i(g)|0;h=a+4|0;f[h>>2]=e;f[a>>2]=e;f[i>>2]=e+g;if((c|0)==(d|0))return;do{b[e>>0]=b[c>>0]|0;c=c+1|0;e=(f[h>>2]|0)+1|0;f[h>>2]=e}while((c|0)!=(d|0));return}else{a=a+4|0;i=(f[a>>2]|0)-g|0;h=h>>>0>i>>>0;i=c+i|0;g=h?i:d;e=g-j|0;if(e|0)li(k|0,c|0,e|0)|0;c=k+e|0;if(!h){if((f[a>>2]|0)==(c|0))return;f[a>>2]=c;return}if((g|0)==(d|0))return;e=f[a>>2]|0;c=i;do{b[e>>0]=b[c>>0]|0;c=c+1|0;e=(f[a>>2]|0)+1|0;f[a>>2]=e}while((c|0)!=(d|0));return}}function rd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=a+8|0;e=f[n>>2]|0;m=a+4|0;d=f[m>>2]|0;if(e-d>>2>>>0>=b>>>0){vf(d|0,0,b<<2|0)|0;f[m>>2]=d+(b<<2);return}c=f[a>>2]|0;h=(d-c>>2)+b|0;if(h>>>0>1073741823){ql(a);g=f[a>>2]|0;d=f[m>>2]|0;e=f[n>>2]|0}else g=c;c=d;l=g;k=e-g|0;j=k>>1;h=k>>2>>>0<536870911?(j>>>0 >>0?h:j):1073741823;j=d-g>>2;do if(h)if(h>>>0>1073741823){a=Ha(4)|0;gm(a);sa(a|0,840,80)}else{i=_i(h<<2)|0;break}else i=0;while(0);e=i+(j<<2)|0;vf(e|0,0,b<<2|0)|0;d=e;k=i+(h<<2)|0;h=i+(j+b<<2)|0;if((c|0)!=(l|0)){do{c=c+-4|0;b=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=b;e=d+-4|0;d=e}while((c|0)!=(l|0));g=f[a>>2]|0;c=f[m>>2]|0}f[a>>2]=d;f[m>>2]=h;f[n>>2]=k;e=g;if((c|0)!=(e|0))do{c=c+-4|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0)Oa[f[(f[d>>2]|0)+4>>2]&127](d)}while((c|0)!=(e|0));if(!g)return;Em(g);return}function sd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+16|0;m=n;j=d+8|0;i=f[j>>2]|0;j=f[j+4>>2]|0;k=d+16|0;e=k;g=f[e>>2]|0;e=f[e+4>>2]|0;if((j|0)>(e|0)|(j|0)==(e|0)&i>>>0>g>>>0){h=b[(f[d>>2]|0)+g>>0]|0;g=lk(g|0,e|0,1,0)|0;e=I;o=k;f[o>>2]=g;f[o+4>>2]=e;if(h<<24>>24!=-2)l=3}else{h=0;l=3}if((l|0)==3){if((j|0)>(e|0)|(j|0)==(e|0)&i>>>0>g>>>0){o=b[(f[d>>2]|0)+g>>0]|0;l=lk(g|0,e|0,1,0)|0;e=k;f[e>>2]=l;f[e+4>>2]=I;e=o}else e=0;Wa[f[(f[a>>2]|0)+40>>2]&7](m,a,h<<24>>24,e<<24>>24);o=a+20|0;l=f[m>>2]|0;f[m>>2]=0;e=f[o>>2]|0;f[o>>2]=l;if(e){Oa[f[(f[e>>2]|0)+4>>2]&127](e);e=f[m>>2]|0;f[m>>2]=0;if(e|0)Oa[f[(f[e>>2]|0)+4>>2]&127](e)}else f[m>>2]=0}e=f[a+20>>2]|0;if(e|0?!(Va[f[(f[a>>2]|0)+28>>2]&127](a,e)|0):0){o=0;u=n;return o|0}o=Ma[f[(f[a>>2]|0)+36>>2]&31](a,c,d)|0;u=n;return o|0}function td(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;f[a+4>>2]=f[b+4>>2];g=a+8|0;i=b+8|0;if((a|0)==(b|0))return a|0;h=b+12|0;c=f[h>>2]|0;if(!c)c=0;else{e=a+16|0;if(c>>>0>f[e>>2]<<5>>>0){d=f[g>>2]|0;if(d){Em(d);f[g>>2]=0;f[e>>2]=0;f[a+12>>2]=0;c=f[h>>2]|0}if((c|0)<0)ql(g);d=((c+-1|0)>>>5)+1|0;c=_i(d<<2)|0;f[g>>2]=c;f[a+12>>2]=0;f[e>>2]=d;d=f[h>>2]|0}else{d=c;c=f[g>>2]|0}li(c|0,f[i>>2]|0,((d+-1|0)>>>5<<2)+4|0)|0;c=f[h>>2]|0}f[a+12>>2]=c;h=a+20|0;i=b+20|0;g=b+24|0;c=f[g>>2]|0;if(!c)c=0;else{e=a+28|0;if(c>>>0>f[e>>2]<<5>>>0){d=f[h>>2]|0;if(d){Em(d);f[h>>2]=0;f[e>>2]=0;f[a+24>>2]=0;c=f[g>>2]|0}if((c|0)<0)ql(h);d=((c+-1|0)>>>5)+1|0;c=_i(d<<2)|0;f[h>>2]=c;f[a+24>>2]=0;f[e>>2]=d;d=f[g>>2]|0}else{d=c;c=f[h>>2]|0}li(c|0,f[i>>2]|0,((d+-1|0)>>>5<<2)+4|0)|0;c=f[g>>2]|0}f[a+24>>2]=c;return a|0}function ud(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+8|0;g=f[j>>2]|0;k=a+4|0;d=f[k>>2]|0;if(((g-d|0)/12|0)>>>0>=b>>>0){do{f[d>>2]=f[c>>2];f[d+4>>2]=f[c+4>>2];f[d+8>>2]=f[c+8>>2];d=(f[k>>2]|0)+12|0;f[k>>2]=d;b=b+-1|0}while((b|0)!=0);return}e=f[a>>2]|0;h=((d-e|0)/12|0)+b|0;if(h>>>0>357913941){ql(a);e=f[a>>2]|0;g=f[j>>2]|0;d=f[k>>2]|0}i=(g-e|0)/12|0;g=i<<1;g=i>>>0<178956970?(g>>>0 >>0?h:g):357913941;d=(d-e|0)/12|0;do if(g)if(g>>>0>357913941){k=Ha(4)|0;gm(k);sa(k|0,840,80)}else{e=_i(g*12|0)|0;break}else e=0;while(0);i=e+(d*12|0)|0;h=e+(g*12|0)|0;d=i;g=i;do{f[d>>2]=f[c>>2];f[d+4>>2]=f[c+4>>2];f[d+8>>2]=f[c+8>>2];d=g+12|0;g=d;b=b+-1|0}while((b|0)!=0);d=f[a>>2]|0;e=(f[k>>2]|0)-d|0;b=i+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)Ld(b|0,d|0,e|0)|0;f[a>>2]=b;f[k>>2]=g;f[j>>2]=h;if(!d)return;Em(d);return}function vd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a=a+20|0;if(Yb(a,b)|0){e=0;return e|0}d=wb(a,b)|0;b=f[c>>2]|0;f[c>>2]=0;e=f[d>>2]|0;f[d>>2]=b;if(!e){e=1;return e|0}a=f[e+28>>2]|0;if(a|0)do{d=a;a=f[a>>2]|0;Ie(d+8|0);Em(d)}while((a|0)!=0);d=e+20|0;a=f[d>>2]|0;f[d>>2]=0;if(a|0)Em(a);a=f[e+8>>2]|0;if(a|0)do{d=a;a=f[a>>2]|0;b=f[d+20>>2]|0;if(b|0){c=d+24|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;Em(b)}pk(d+8|0);Em(d)}while((a|0)!=0);a=f[e>>2]|0;f[e>>2]=0;if(a|0)Em(a);Em(e);e=1;return e|0}function wd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l;c=_i(64)|0;j=_i(12)|0;h=f[(f[a+4>>2]|0)+80>>2]|0;f[j+4>>2]=0;f[j>>2]=2556;f[j+8>>2]=h;f[k>>2]=j;wh(c,k);j=c;if((b|0)>=0){h=a+8|0;g=a+12|0;c=f[g>>2]|0;a=f[h>>2]|0;e=c-a>>2;do if((e|0)<=(b|0)){d=b+1|0;if(d>>>0>e>>>0){rd(h,d-e|0);break}if(d>>>0 >>0?(i=a+(d<<2)|0,(c|0)!=(i|0)):0)do{e=c+-4|0;f[g>>2]=e;c=f[e>>2]|0;f[e>>2]=0;if(c|0)Oa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[g>>2]|0}while((c|0)!=(i|0))}while(0);b=(f[h>>2]|0)+(b<<2)|0;c=f[b>>2]|0;f[b>>2]=j;if(!c)a=1;else{Oa[f[(f[c>>2]|0)+4>>2]&127](c);a=1}}else{Oa[f[(f[c>>2]|0)+4>>2]&127](c);a=0}c=f[k>>2]|0;f[k>>2]=0;if(!c){u=l;return a|0}Oa[f[(f[c>>2]|0)+4>>2]&127](c);u=l;return a|0}function xd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+8|0;f[c>>2]=f[b>>2];td(a+12|0,b+4|0)|0;d=a+44|0;e=b+36|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];if((c|0)==(b|0)){f[a+96>>2]=f[b+88>>2];return}else{ad(a+60|0,f[b+52>>2]|0,f[b+56>>2]|0);ad(a+72|0,f[b+64>>2]|0,f[b+68>>2]|0);ad(a+84|0,f[b+76>>2]|0,f[b+80>>2]|0);f[a+96>>2]=f[b+88>>2];md(a+100|0,f[b+92>>2]|0,f[b+96>>2]|0);return}}function yd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+80|0;g=j;i=j+64|0;Kh(g);e=f[(f[a+8>>2]|0)+56>>2]|0;h=X(Yh(5)|0,d)|0;Of(g,e,0,d&255,5,0,h,((h|0)<0)<<31>>31,0,0);h=_i(96)|0;Dh(h,g);b[h+84>>0]=1;d=f[h+68>>2]|0;g=h+72|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Gf(h,c)|0;f[i>>2]=h;lf(a,i);h=f[i>>2]|0;f[i>>2]=0;if(!h){u=j;return}i=h+88|0;d=f[i>>2]|0;f[i>>2]=0;if(d|0){e=f[d+8>>2]|0;if(e|0){g=d+12|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Em(e)}Em(d)}d=f[h+68>>2]|0;if(d|0){g=h+72|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Em(d)}i=h+64|0;d=f[i>>2]|0;f[i>>2]=0;if(d|0){e=f[d>>2]|0;if(e|0){g=d+4|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Em(e)}Em(d)}Em(h);u=j;return}function zd(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=2660;b=f[a+68>>2]|0;if(b|0){d=a+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}c=f[a+56>>2]|0;if(c|0){d=a+60|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Em(c)}b=f[a+44>>2]|0;if(b|0){d=a+48|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}Ce(a+8|0);a=a+4|0;e=f[a>>2]|0;f[a>>2]=0;if(!e)return;d=e+40|0;b=f[d>>2]|0;if(b|0){a=e+44|0;c=f[a>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[a>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0){kf(c);Em(c)}c=f[a>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}Em(b)}kf(e);Em(e);return}function Ad(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;d=f[a+8>>2]|0;e=f[c>>2]|0;h=(e|0)/3|0;if((e|0)<=-3)Fa(12681,12706,63,12783);g=f[d+96>>2]|0;if((h|0)>=(((f[d+100>>2]|0)-g|0)/12|0|0))Fa(12788,12706,64,12783);h=f[g+(h*12|0)+(((e|0)%3|0)<<2)>>2]|0;d=f[a+12>>2]|0;f[i>>2]=h;d=f[d+4>>2]|0;g=d+4|0;e=f[g>>2]|0;if((e|0)==(f[d+8>>2]|0))$e(d,i);else{f[e>>2]=h;f[g>>2]=e+4}h=a+4|0;e=f[h>>2]|0;g=e+4|0;d=f[g>>2]|0;if((d|0)==(f[e+8>>2]|0)){$e(e,c);i=f[h>>2]|0;c=i+24|0;a=f[c>>2]|0;b=f[b>>2]|0;i=i+12|0;i=f[i>>2]|0;b=i+(b<<2)|0;f[b>>2]=a;b=f[c>>2]|0;b=b+1|0;f[c>>2]=b;u=j;return}else{f[d>>2]=f[c>>2];f[g>>2]=d+4;i=e;c=i+24|0;a=f[c>>2]|0;b=f[b>>2]|0;i=i+12|0;i=f[i>>2]|0;b=i+(b<<2)|0;f[b>>2]=a;b=f[c>>2]|0;b=b+1|0;f[c>>2]=b;u=j;return}}function Bd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+16|0;m=n;d=vh(c,0)|0;if(!d){f[a>>2]=0;u=n;return}l=c+96|0;e=c+100|0;Tf(m,((f[e>>2]|0)-(f[l>>2]|0)|0)/12|0);c=f[l>>2]|0;e=(f[e>>2]|0)-c|0;if((e|0)>0){l=d+68|0;k=f[m>>2]|0;j=(b[d+84>>0]|0)==0;i=(e|0)/12|0;h=0;do{d=c+(h*12|0)|0;if(j){o=f[l>>2]|0;e=o+(f[c+(h*12|0)+8>>2]<<2)|0;g=o+(f[c+(h*12|0)+4>>2]<<2)|0;d=o+(f[d>>2]<<2)|0}else{e=c+(h*12|0)+8|0;g=c+(h*12|0)+4|0}g=f[g>>2]|0;o=f[e>>2]|0;f[k+(h*12|0)>>2]=f[d>>2];f[k+(h*12|0)+4>>2]=g;f[k+(h*12|0)+8>>2]=o;h=h+1|0}while((h|0)<(i|0))}zg(a,m);e=f[m>>2]|0;if(e|0){d=m+4|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~(((c+-12-e|0)>>>0)/12|0)*12|0);Em(e)}u=n;return}function Cd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;i=n+24|0;j=n+16|0;k=n+8|0;m=n;l=a+4|0;o=f[l>>2]|0;e=f[b>>2]|0;b=f[b+4>>2]|0;h=f[c>>2]|0;d=f[c+4>>2]|0;g=h-e<<3;f[l>>2]=o-b+d+g;l=(f[a>>2]|0)+(o>>>5<<2)|0;a=o&31;c=l;if((b|0)!=(a|0)){f[i>>2]=e;f[i+4>>2]=b;f[j>>2]=h;f[j+4>>2]=d;f[k>>2]=c;f[k+4>>2]=a;nc(m,i,j,k);u=n;return}d=d-b+g|0;a=e;if((d|0)>0){if(!b){h=a;c=d;a=l;b=0}else{h=32-b|0;c=(d|0)<(h|0)?d:h;h=-1>>>(h-c|0)&-1<>2]=f[l>>2]&~h|f[a>>2]&h;b=c+b|0;h=a+4|0;e=h;c=d-c|0;a=l+(b>>>5<<2)|0;b=b&31}g=c>>>5;li(a|0,e|0,g<<2|0)|0;d=c-(g<<5)|0;a=a+(g<<2)|0;c=a;if((d|0)>0){b=-1>>>(32-d|0);f[a>>2]=f[a>>2]&~b|f[h+(g<<2)>>2]&b;b=d}}f[m>>2]=c;f[m+4>>2]=b;u=n;return}function Dd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=a+4|0;d=f[l>>2]|0;c=f[a>>2]|0;e=(d-c>>2)+1|0;if(e>>>0>1073741823){ql(a);c=f[a>>2]|0;d=f[l>>2]|0}k=a+8|0;j=(f[k>>2]|0)-c|0;g=j>>1;g=j>>2>>>0<536870911?(g>>>0 >>0?e:g):1073741823;c=d-c>>2;do if(g)if(g>>>0>1073741823){a=Ha(4)|0;gm(a);sa(a|0,840,80)}else{e=_i(g<<2)|0;break}else e=0;while(0);h=e+(c<<2)|0;d=h;j=e+(g<<2)|0;i=f[b>>2]|0;f[b>>2]=0;f[h>>2]=i;i=h+4|0;b=f[a>>2]|0;c=f[l>>2]|0;if((c|0)==(b|0)){g=b;c=b}else{e=h;do{c=c+-4|0;h=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=h;e=d+-4|0;d=e}while((c|0)!=(b|0));g=f[a>>2]|0;c=f[l>>2]|0}f[a>>2]=d;f[l>>2]=i;f[k>>2]=j;e=g;if((c|0)!=(e|0))do{c=c+-4|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){kf(d);Em(d)}}while((c|0)!=(e|0));if(!g)return;Em(g);return}function Ed(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;g=f[c>>2]|0;f[c>>2]=0;f[i>>2]=g;pd(a,b,i);g=f[i>>2]|0;f[i>>2]=0;if(g|0){i=g+88|0;c=f[i>>2]|0;f[i>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){e=c+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Em(d)}Em(c)}c=f[g+68>>2]|0;if(c|0){e=g+72|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}i=g+64|0;c=f[i>>2]|0;f[i>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){e=c+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Em(d)}Em(c)}Em(g)}i=a+84|0;h=a+88|0;c=f[h>>2]|0;g=f[i>>2]|0;a=c-g>>2;if((a|0)>(b|0)){u=j;return}e=b+1|0;d=c;if(e>>>0>a>>>0){$d(i,e-a|0);u=j;return}if(e>>>0>=a>>>0){u=j;return}c=g+(e<<2)|0;if((d|0)==(c|0)){u=j;return}f[h>>2]=d+(~((d+-4-c|0)>>>2)<<2);u=j;return}function Fd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a=a+4|0;e=f[a>>2]|0;if(!e){f[c>>2]=a;n=a;return n|0}l=b[d+11>>0]|0;k=l<<24>>24<0;l=k?f[d+4>>2]|0:l&255;k=k?f[d>>2]|0:d;while(1){g=e+16|0;d=b[g+11>>0]|0;i=d<<24>>24<0;d=i?f[e+20>>2]|0:d&255;h=d>>>0 >>0;a=h?d:l;if((a|0)!=0?(n=xh(k,i?f[g>>2]|0:g,a)|0,(n|0)!=0):0)if((n|0)<0)j=7;else j=9;else if(l>>>0 >>0)j=7;else j=9;if((j|0)==7){a=f[e>>2]|0;if(!a){j=8;break}}else if((j|0)==9){j=0;a=l>>>0 >>0?l:d;if((a|0)!=0?(m=xh(i?f[g>>2]|0:g,k,a)|0,(m|0)!=0):0){if((m|0)>=0){j=16;break}}else j=11;if((j|0)==11?(0,!h):0){j=16;break}d=e+4|0;a=f[d>>2]|0;if(!a){j=15;break}}e=a}if((j|0)==8){f[c>>2]=e;n=e;return n|0}else if((j|0)==15){f[c>>2]=e;n=d;return n|0}else if((j|0)==16){f[c>>2]=e;n=c;return n|0}return 0}function Gd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;e=f[c>>2]|0;h=f[a>>2]|0;j=h+(e>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(e&31);j=f[a+64>>2]|0;g=(e|0)<0;c=e+1|0;if(!g?(d=((c|0)%3|0|0)==0?e+-2|0:c,(d|0)>=0):0)c=f[(f[j>>2]|0)+(d<<2)>>2]|0;else c=-1073741824;i=a+12|0;d=(f[i>>2]|0)+(c>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(c&31);if(g){j=(f[i>>2]|0)+402653184|0;f[j>>2]=f[j>>2]|1;return}c=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((c|0)<0)c=-1073741824;else c=f[(f[j>>2]|0)+(c<<2)>>2]|0;d=(f[i>>2]|0)+(c>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(c&31);if(g)return;d=f[(f[j+12>>2]|0)+(e<<2)>>2]|0;if((d|0)<=-1)return;b[a+24>>0]=0;c=h+(d>>>5<<2)|0;f[c>>2]=f[c>>2]|1<<(d&31);c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;if((c|0)<0)c=-1073741824;else c=f[(f[j>>2]|0)+(c<<2)>>2]|0;a=(f[i>>2]|0)+(c>>>5<<2)|0;f[a>>2]=f[a>>2]|1<<(c&31);c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((c|0)<0)c=-1073741824;else c=f[(f[j>>2]|0)+(c<<2)>>2]|0;j=(f[i>>2]|0)+(c>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(c&31);return}function Hd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;i=u;u=u+16|0;g=i+4|0;h=i;b=f[b>>2]|0;if((b|0)<0){a=-1073741824;u=i;return a|0}d=a+4|0;c=f[d>>2]|0;e=f[(f[c+12>>2]|0)+(b<<2)>>2]|0;if((e|0)<0){a=-1073741824;u=i;return a|0}k=b+1|0;f[h>>2]=((k|0)%3|0|0)==0?b+-2|0:k;k=f[a>>2]|0;f[g>>2]=f[h>>2];k=Hg(g,c,k)|0;f[h>>2]=(((e>>>0)%3|0|0)==0?2:-1)+e;j=f[d>>2]|0;c=f[a>>2]|0;f[g>>2]=f[h>>2];if((k|0)!=(Hg(g,j,c)|0)){k=-1073741824;u=i;return k|0}f[h>>2]=b+(((b>>>0)%3|0|0)==0?2:-1);j=f[d>>2]|0;c=f[a>>2]|0;f[g>>2]=f[h>>2];c=Hg(g,j,c)|0;j=e+1|0;f[h>>2]=((j|0)%3|0|0)==0?e+-2|0:j;j=f[d>>2]|0;k=f[a>>2]|0;f[g>>2]=f[h>>2];k=(c|0)!=(Hg(g,j,k)|0);k=k?-1073741824:e;u=i;return k|0}function Id(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=u;u=u+16|0;h=j+8|0;g=j+4|0;e=j;if(!c){i=0;u=j;return i|0}f[a>>2]=b;f[h>>2]=0;Pf(h,b)|0;a:do if(!(f[h>>2]|0))i=8;else{d=0;while(1){Pf(g,f[a>>2]|0)|0;b=_i(44)|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;n[b+16>>2]=$(1.0);k=b+20|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;n[b+36>>2]=$(1.0);f[b+40>>2]=f[g>>2];if(!(cc(a,b)|0))break;f[e>>2]=b;og(c,e)|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0){kf(b);Em(b)}d=d+1|0;if(d>>>0>=(f[h>>2]|0)>>>0){i=8;break a}}kf(b);Em(b);b=0}while(0);if((i|0)==8)b=cc(a,c)|0;k=b;u=j;return k|0}function Jd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+16|0;m=n+4|0;l=n;g=c+4|0;e=f[g>>2]|0;if(!e)Fa(8225,8468,70,8632);h=c+8|0;if(!(f[h>>2]|0))Fa(8225,8468,70,8632);i=f[(f[(f[c+16>>2]|0)+28>>2]|0)+(f[d>>2]<<2)>>2]|0;d=f[c+20>>2]|0;c=f[d>>2]|0;if((f[d+4>>2]|0)-c>>2>>>0<=i>>>0){pl(d);c=f[d>>2]|0;d=f[g>>2]|0;if(!d)Fa(8225,8468,62,8653);else{k=d;j=c}}else{k=e;j=c}d=f[h>>2]|0;if(!d)Fa(8225,8468,62,8653);d=f[d+(f[j+(i<<2)>>2]<<2)>>2]|0;if(!(b[k+84>>0]|0))d=f[(f[k+68>>2]|0)+(d<<2)>>2]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[l>>2]=d;j=b[k+24>>0]|0;f[m>>2]=f[l>>2];eb(k,m,j,a)|0;u=n;return}function Kd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=a+4|0;d=f[l>>2]|0;do if(d|0){m=b[c+11>>0]|0;k=m<<24>>24<0;m=k?f[c+4>>2]|0:m&255;k=k?f[c>>2]|0:c;a=l;a:while(1){c=d;while(1){e=c+16|0;g=b[e+11>>0]|0;h=g<<24>>24<0;g=h?f[c+20>>2]|0:g&255;d=m>>>0 >>0?m:g;if((d|0)!=0?(i=xh(h?f[e>>2]|0:e,k,d)|0,(i|0)!=0):0){if((i|0)>=0)break}else j=6;if((j|0)==6?(j=0,g>>>0>=m>>>0):0)break;c=f[c+4>>2]|0;if(!c)break a}d=f[c>>2]|0;if(!d){a=c;break}else a=c}if((a|0)!=(l|0)){d=a+16|0;e=b[d+11>>0]|0;g=e<<24>>24<0;e=g?f[a+20>>2]|0:e&255;c=e>>>0 >>0?e:m;if(c|0?(n=xh(k,g?f[d>>2]|0:d,c)|0,n|0):0){if((n|0)<0)break;return a|0}if(m>>>0>=e>>>0){n=a;return n|0}}}while(0);n=l;return n|0}function Ld(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)>=8192)return Aa(a|0,c|0,d|0)|0;h=a|0;g=a+d|0;if((a&3)==(c&3)){while(a&3){if(!d)return h|0;b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0;d=d-1|0}d=g&-4|0;e=d-64|0;while((a|0)<=(e|0)){f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];f[a+16>>2]=f[c+16>>2];f[a+20>>2]=f[c+20>>2];f[a+24>>2]=f[c+24>>2];f[a+28>>2]=f[c+28>>2];f[a+32>>2]=f[c+32>>2];f[a+36>>2]=f[c+36>>2];f[a+40>>2]=f[c+40>>2];f[a+44>>2]=f[c+44>>2];f[a+48>>2]=f[c+48>>2];f[a+52>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];f[a+60>>2]=f[c+60>>2];a=a+64|0;c=c+64|0}while((a|0)<(d|0)){f[a>>2]=f[c>>2];a=a+4|0;c=c+4|0}}else{d=g-4|0;while((a|0)<(d|0)){b[a>>0]=b[c>>0]|0;b[a+1>>0]=b[c+1>>0]|0;b[a+2>>0]=b[c+2>>0]|0;b[a+3>>0]=b[c+3>>0]|0;a=a+4|0;c=c+4|0}}while((a|0)<(g|0)){b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0}return h|0}function Md(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a+196>>2]|0;if(b|0){d=a+200|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}g=a+184|0;b=f[g>>2]|0;if(b|0){h=a+188|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);Em(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}Em(b)}b=f[a+156>>2]|0;if(b|0){d=a+160|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}h=a+136|0;c=f[h>>2]|0;f[h>>2]=0;if(!c){h=a+120|0;Jm(h);h=a+80|0;Jm(h);h=a+64|0;Jm(h);a=a+24|0;Jm(a);return}d=c+-4|0;b=f[d>>2]|0;if(b|0){b=c+(b<<4)|0;do{b=b+-16|0;Jm(b)}while((b|0)!=(c|0))}Cm(d);h=a+120|0;Jm(h);h=a+80|0;Jm(h);h=a+64|0;Jm(h);a=a+24|0;Jm(a);return}function Nd(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;d=h+4|0;e=h;g=a+8|0;c=a+84|0;a=f[c>>2]|0;if(!a){c=f[(f[g>>2]|0)+64>>2]|0;c=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;a=(c>>>0)/3|0;if(c>>>0<=2){u=h;return 1}b=0;do{f[e>>2]=b*3;f[d>>2]=f[e>>2];sb(g,d);b=b+1|0}while((b|0)<(a|0));u=h;return 1}else{b=f[a>>2]|0;if((f[a+4>>2]|0)==(b|0)){u=h;return 1}a=0;do{f[e>>2]=f[b+(a<<2)>>2];f[d>>2]=f[e>>2];sb(g,d);a=a+1|0;i=f[c>>2]|0;b=f[i>>2]|0}while(a>>>0<(f[i+4>>2]|0)-b>>2>>>0);u=h;return 1}return 0}function Od(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,i=0;if((b|0)==-2)g=0;else{g=f[d+4>>2]|0;if((c|0)<=-1)Fa(12505,12521,59,12612);i=f[g+8>>2]|0;if(((f[g+12>>2]|0)-i>>2|0)<=(c|0))Fa(12622,12521,60,12612);g=f[i+(c<<2)>>2]|0;do if((Ra[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){Nc(a,d,b,c,e,((h[d+36>>0]|0)<<8|(h[d+37>>0]|0))&65535);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);b=_i(44)|0;f[b>>2]=1176;f[b+4>>2]=g;g=b+8|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[g+12>>2]=f[e+12>>2];f[g+16>>2]=f[e+16>>2];f[g+20>>2]=f[e+20>>2];Xf(b+32|0,e+24|0);f[b>>2]=1232;g=b}f[a>>2]=g;return}function Pd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;i=a+60|0;c=f[i>>2]|0;if(!c){a=0;return a|0}f[c+4>>2]=a+48;if(!(Ra[f[(f[c>>2]|0)+12>>2]&127](c)|0)){a=0;return a|0}g=Ra[f[(f[a>>2]|0)+24>>2]&127](a)|0;a:do if((g|0)>0){h=0;while(1){c=(Ra[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;c=f[c>>2]|0;e=Va[f[(f[a>>2]|0)+20>>2]&127](a,h)|0;if((e|0)<=-1){d=7;break}d=f[c+8>>2]|0;if(((f[c+12>>2]|0)-d>>2|0)<=(e|0)){d=9;break}c=f[i>>2]|0;h=h+1|0;if(!(Va[f[(f[c>>2]|0)+8>>2]&127](c,f[d+(e<<2)>>2]|0)|0)){c=0;d=14;break}if((h|0)>=(g|0))break a}if((d|0)==7)Fa(12505,12521,67,12612);else if((d|0)==9)Fa(12622,12521,68,12612);else if((d|0)==14)return c|0}while(0);if(!(Va[f[(f[a>>2]|0)+36>>2]&127](a,b)|0)){a=0;return a|0}if(!(Va[f[(f[a>>2]|0)+40>>2]&127](a,b)|0)){a=0;return a|0}a=Ra[f[(f[a>>2]|0)+44>>2]&127](a)|0;return a|0}function Qd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=u;u=u+48|0;i=m+16|0;e=m;d=m+32|0;j=a+28|0;g=f[j>>2]|0;f[d>>2]=g;k=a+20|0;g=(f[k>>2]|0)-g|0;f[d+4>>2]=g;f[d+8>>2]=b;f[d+12>>2]=c;g=g+c|0;h=a+60|0;f[e>>2]=f[h>>2];f[e+4>>2]=d;f[e+8>>2]=2;b=wk(ya(146,e|0)|0)|0;a:do if((g|0)!=(b|0)){e=2;while(1){if((b|0)<0)break;g=g-b|0;o=f[d+4>>2]|0;n=b>>>0>o>>>0;d=n?d+8|0:d;e=(n<<31>>31)+e|0;o=b-(n?o:0)|0;f[d>>2]=(f[d>>2]|0)+o;n=d+4|0;f[n>>2]=(f[n>>2]|0)-o;f[i>>2]=f[h>>2];f[i+4>>2]=d;f[i+8>>2]=e;b=wk(ya(146,i|0)|0)|0;if((g|0)==(b|0)){l=3;break a}}f[a+16>>2]=0;f[j>>2]=0;f[k>>2]=0;f[a>>2]=f[a>>2]|32;if((e|0)==2)c=0;else c=c-(f[d+4>>2]|0)|0}else l=3;while(0);if((l|0)==3){o=f[a+44>>2]|0;f[a+16>>2]=o+(f[a+48>>2]|0);f[j>>2]=o;f[k>>2]=o}u=m;return c|0}function Rd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l+4|0;j=l;g=c+4|0;e=f[g>>2]|0;if(!e)Fa(8225,8468,70,8632);i=c+8|0;if(!(f[i>>2]|0))Fa(8225,8468,70,8632);d=f[d>>2]|0;if((d|0)<0)h=-1073741824;else h=f[(f[f[c+16>>2]>>2]|0)+(d<<2)>>2]|0;c=f[c+20>>2]|0;d=f[c>>2]|0;if((f[c+4>>2]|0)-d>>2>>>0<=h>>>0){pl(c);e=f[g>>2]|0;d=f[c>>2]|0}c=f[d+(h<<2)>>2]|0;if(!e)Fa(8225,8468,62,8653);d=f[i>>2]|0;if(!d)Fa(8225,8468,62,8653);d=f[d+(c<<2)>>2]|0;if(!(b[e+84>>0]|0))d=f[(f[e+68>>2]|0)+(d<<2)>>2]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[j>>2]=d;i=b[e+24>>0]|0;f[k>>2]=f[j>>2];eb(e,k,i,a)|0;u=l;return}function Sd(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;d=h+4|0;e=h;g=a+8|0;c=a+84|0;a=f[c>>2]|0;if(!a){c=f[g>>2]|0;c=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;a=(c>>>0)/3|0;if(c>>>0<=2){u=h;return 1}b=0;do{f[e>>2]=b*3;f[d>>2]=f[e>>2];tb(g,d);b=b+1|0}while((b|0)<(a|0));u=h;return 1}else{b=f[a>>2]|0;if((f[a+4>>2]|0)==(b|0)){u=h;return 1}a=0;do{f[e>>2]=f[b+(a<<2)>>2];f[d>>2]=f[e>>2];tb(g,d);a=a+1|0;i=f[c>>2]|0;b=f[i>>2]|0}while(a>>>0<(f[i+4>>2]|0)-b>>2>>>0);u=h;return 1}return 0}function Td(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=u;u=u+16|0;k=l;i=a+4|0;f[i>>2]=0;if(!c){u=l;return}h=a+8|0;e=f[h>>2]|0;if(e<<5>>>0 >>0){f[k>>2]=0;j=k+4|0;f[j>>2]=0;g=k+8|0;f[g>>2]=0;if((c|0)<0){ql(a);e=f[h>>2]|0}m=e<<6;n=c+31&-32;Le(k,e<<5>>>0<1073741823?(m>>>0 >>0?n:m):2147483647);e=f[a>>2]|0;f[a>>2]=f[k>>2];f[k>>2]=e;k=f[i>>2]|0;f[i>>2]=c;f[j>>2]=k;k=f[h>>2]|0;f[h>>2]=f[g>>2];f[g>>2]=k;if(e|0)Em(e)}else f[i>>2]=c;a=f[a>>2]|0;g=a;h=c>>>5;e=h<<2;if(!(b[d>>0]|0)){vf(a|0,0,e|0)|0;e=c-(h<<5)|0;a=g+(h<<2)|0;if(!e){u=l;return}f[a>>2]=f[a>>2]&~(-1>>>(32-e|0));u=l;return}else{vf(a|0,-1,e|0)|0;e=c-(h<<5)|0;a=g+(h<<2)|0;if(!e){u=l;return}f[a>>2]=f[a>>2]|-1>>>(32-e|0);u=l;return}}function Ud(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+12|0;h=f[a>>2]|0;j=a+8|0;c=f[j>>2]|0;d=(c|0)<0;if(!(b[i>>0]|0)){do if(!d){c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((c|0)>=0){c=f[(f[h+12>>2]|0)+(c<<2)>>2]|0;if((c|0)>=0)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}}}while(0);f[j>>2]=c;return}e=c+1|0;if(!d){c=((e|0)%3|0|0)==0?c+-2|0:e;if((c|0)>=0){c=f[(f[h+12>>2]|0)+(c<<2)>>2]|0;d=c+1|0;if((c|0)>=0){c=((d|0)%3|0|0)==0?c+-2|0:d;f[j>>2]=c;if((c|0)>=0){if((c|0)!=(f[a+4>>2]|0))return;f[j>>2]=-1073741824;return}}else g=5}else g=5}else g=5;if((g|0)==5)f[j>>2]=c;c=f[a+4>>2]|0;do if((c|0)>=0){c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((c|0)>=0){c=f[(f[h+12>>2]|0)+(c<<2)>>2]|0;if((c|0)>=0)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}}}while(0);f[j>>2]=c;b[i>>0]=0;return}function Vd(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+8|0;c=f[k>>2]|0;l=a+16|0;if(b[c+84>>0]|0){l=f[l>>2]|0;return l|0}d=f[l>>2]|0;if(!d){l=f[l>>2]|0;return l|0}a=d+84|0;if(!(b[a>>0]|0)){l=f[l>>2]|0;return l|0}i=(f[c+72>>2]|0)-(f[c+68>>2]|0)>>2;b[a>>0]=0;h=d+68|0;e=d+72|0;d=f[e>>2]|0;a=f[h>>2]|0;g=d-a>>2;if(i>>>0<=g>>>0){if(i>>>0 >>0?(j=a+(i<<2)|0,(d|0)!=(j|0)):0)f[e>>2]=d+(~((d+-4-j|0)>>>2)<<2)}else{Xd(h,i-g|0,1044);c=f[k>>2]|0}if(b[c+84>>0]|0){l=f[l>>2]|0;return l|0}k=f[c+68>>2]|0;g=k;k=(f[c+72>>2]|0)-k|0;d=k>>2;if((k|0)<=0){l=f[l>>2]|0;return l|0}c=f[l>>2]|0;e=(b[c+84>>0]|0)==0;c=c+68|0;a=0;while(1){if(!e){c=14;break}f[(f[c>>2]|0)+(a<<2)>>2]=f[g+(a<<2)>>2];a=a+1|0;if((a|0)>=(d|0)){c=15;break}}if((c|0)==14)Fa(10882,10901,89,10995);else if((c|0)==15){l=f[l>>2]|0;return l|0}return 0}function Wd(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0;do if(!(dl(a,f[c+8>>2]|0,g)|0)){h=a+8|0;if(!(dl(a,f[c>>2]|0,g)|0)){j=f[h>>2]|0;Na[f[(f[j>>2]|0)+24>>2]&3](j,c,d,e,g);break}a=c+32|0;if((f[c+16>>2]|0)!=(d|0)?(i=c+20|0,(f[i>>2]|0)!=(d|0)):0){f[a>>2]=e;e=c+44|0;if((f[e>>2]|0)==4)break;a=c+52|0;b[a>>0]=0;k=c+53|0;b[k>>0]=0;h=f[h>>2]|0;Ua[f[(f[h>>2]|0)+20>>2]&3](h,c,d,d,1,g);if(b[k>>0]|0)if(!(b[a>>0]|0)){a=3;j=11}else a=3;else{a=4;j=11}if((j|0)==11){f[i>>2]=d;k=c+40|0;f[k>>2]=(f[k>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0)b[c+54>>0]=1}f[e>>2]=a;break}if((e|0)==1)f[a>>2]=1}else Di(0,c,d,e);while(0);return}function Xd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+8|0;e=f[k>>2]|0;l=a+4|0;h=f[l>>2]|0;g=h;if(e-h>>2>>>0>=b>>>0){d=g;e=b;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}f[l>>2]=g+(b<<2);return}d=f[a>>2]|0;g=(h-d>>2)+b|0;if(g>>>0>1073741823){ql(a);d=f[a>>2]|0;e=f[k>>2]|0;j=f[l>>2]|0}else j=h;i=e-d|0;e=i>>1;g=i>>2>>>0<536870911?(e>>>0 >>0?g:e):1073741823;e=j-d>>2;do if(g)if(g>>>0>1073741823){b=Ha(4)|0;gm(b);sa(b|0,840,80)}else{h=_i(g<<2)|0;break}else h=0;while(0);i=h+(e<<2)|0;h=h+(g<<2)|0;e=i;g=b;while(1){f[e>>2]=f[c>>2];g=g+-1|0;if(!g)break;else e=e+4|0}g=j-d|0;e=i+(0-(g>>2)<<2)|0;if((g|0)>0)Ld(e|0,d|0,g|0)|0;f[a>>2]=e;f[l>>2]=i+(b<<2);f[k>>2]=h;if(!d)return;Em(d);return}function Yd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+8|0;e=f[i>>2]|0;j=a+4|0;c=f[j>>2]|0;if(e-c>>3>>>0>=b>>>0){do{a=c;f[a>>2]=0;f[a+4>>2]=0;c=(f[j>>2]|0)+8|0;f[j>>2]=c;b=b+-1|0}while((b|0)!=0);return}d=f[a>>2]|0;g=(c-d>>3)+b|0;if(g>>>0>536870911){ql(a);d=f[a>>2]|0;e=f[i>>2]|0;c=f[j>>2]|0}h=e-d|0;e=h>>2;e=h>>3>>>0<268435455?(e>>>0 >>0?g:e):536870911;c=c-d>>3;do if(e)if(e>>>0>536870911){j=Ha(4)|0;gm(j);sa(j|0,840,80)}else{d=_i(e<<3)|0;break}else d=0;while(0);h=d+(c<<3)|0;g=d+(e<<3)|0;c=h;e=h;do{d=c;f[d>>2]=0;f[d+4>>2]=0;c=e+8|0;e=c;b=b+-1|0}while((b|0)!=0);c=f[a>>2]|0;d=(f[j>>2]|0)-c|0;b=h+(0-(d>>3)<<3)|0;if((d|0)>0)Ld(b|0,c|0,d|0)|0;f[a>>2]=b;f[j>>2]=e;f[i>>2]=g;if(!c)return;Em(c);return}function Zd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=u;u=u+16|0;e=h+8|0;g=h+4|0;i=h;f[i>>2]=f[b>>2];f[e>>2]=f[i>>2];b=Rb(a,e,g,c)|0;c=f[b>>2]|0;if(c|0){i=c;u=h;return i|0}e=_i(40)|0;th(e+16|0,d);th(e+28|0,d+12|0);c=f[g>>2]|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=c;f[b>>2]=e;c=f[f[a>>2]>>2]|0;if(!c)c=e;else{f[a>>2]=c;c=f[b>>2]|0}vc(f[a+4>>2]|0,c);i=a+8|0;f[i>>2]=(f[i>>2]|0)+1;i=e;u=h;return i|0}function _d(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;k=b+8|0;j=f[k>>2]|0;k=f[k+4>>2]|0;m=b+16|0;c=m;e=f[c>>2]|0;c=f[c+4>>2]|0;g=lk(e|0,c|0,4,0)|0;d=I;if((k|0)<(d|0)|(k|0)==(d|0)&j>>>0 >>0){a=0;return a|0}i=f[b>>2]|0;l=i+e|0;l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;n=m;f[n>>2]=g;f[n+4>>2]=d;d=lk(e|0,c|0,8,0)|0;e=I;if((k|0)<(e|0)|(k|0)==(e|0)&j>>>0 >>0){n=0;return n|0}c=i+g|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;n=m;f[n>>2]=d;f[n+4>>2]=e;if((l|0)>(c|0)){n=0;return n|0}f[a+12>>2]=l;f[a+16>>2]=c;n=c+(1-l)|0;f[a+20>>2]=n;c=(n|0)/2|0;d=a+24|0;f[d>>2]=c;f[a+28>>2]=0-c;if(!(n&1))f[d>>2]=c+-1;n=dd(a+108|0,b)|0;return n|0}function $d(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+8|0;d=f[j>>2]|0;k=a+4|0;g=f[k>>2]|0;e=g;if(d-g>>2>>>0>=b>>>0){c=e;d=b;while(1){f[c>>2]=1;d=d+-1|0;if(!d)break;else c=c+4|0}f[k>>2]=e+(b<<2);return}c=f[a>>2]|0;e=(g-c>>2)+b|0;if(e>>>0>1073741823){ql(a);c=f[a>>2]|0;d=f[j>>2]|0;i=f[k>>2]|0}else i=g;h=d-c|0;d=h>>1;e=h>>2>>>0<536870911?(d>>>0 >>0?e:d):1073741823;d=i-c>>2;do if(e)if(e>>>0>1073741823){b=Ha(4)|0;gm(b);sa(b|0,840,80)}else{g=_i(e<<2)|0;break}else g=0;while(0);h=g+(d<<2)|0;g=g+(e<<2)|0;d=h;e=b;while(1){f[d>>2]=1;e=e+-1|0;if(!e)break;else d=d+4|0}e=i-c|0;d=h+(0-(e>>2)<<2)|0;if((e|0)>0)Ld(d|0,c|0,e|0)|0;f[a>>2]=d;f[k>>2]=h+(b<<2);f[j>>2]=g;if(!c)return;Em(c);return}function ae(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,i=0;if((b|0)==-2)g=0;else{g=f[d+4>>2]|0;if((c|0)<=-1)Fa(12505,12521,59,12612);i=f[g+8>>2]|0;if(((f[g+12>>2]|0)-i>>2|0)<=(c|0))Fa(12622,12521,60,12612);g=f[i+(c<<2)>>2]|0;do if((Ra[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){kc(a,d,b,c,e,((h[d+36>>0]|0)<<8|(h[d+37>>0]|0))&65535);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);b=_i(24)|0;f[b+4>>2]=g;g=b+8|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[g+12>>2]=f[e+12>>2];f[b>>2]=1852;g=b}f[a>>2]=g;return}function be(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=f[a+32>>2]|0;h=c+8|0;j=f[h+4>>2]|0;g=c+16|0;d=g;e=f[d>>2]|0;d=f[d+4>>2]|0;if(!((j|0)>(d|0)|((j|0)==(d|0)?(f[h>>2]|0)>>>0>e>>>0:0))){j=0;return j|0}h=b[(f[c>>2]|0)+e>>0]|0;c=lk(e|0,d|0,1,0)|0;e=g;f[e>>2]=c;f[e+4>>2]=I;e=a+48|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0)Oa[f[(f[c>>2]|0)+4>>2]&127](c);switch(h<<24>>24){case 0:{c=_i(392)|0;ig(c);d=f[e>>2]|0;f[e>>2]=c;if(d){Oa[f[(f[d>>2]|0)+4>>2]&127](d);i=9}break}case 2:{c=_i(448)|0;cf(c);d=f[e>>2]|0;f[e>>2]=c;if(d){Oa[f[(f[d>>2]|0)+4>>2]&127](d);i=9}break}default:i=9}if((i|0)==9){c=f[e>>2]|0;if(!c){j=0;return j|0}}j=Va[f[(f[c>>2]|0)+8>>2]&127](c,a)|0;return j|0}function ce(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;h=u;u=u+16|0;c=h;i=f[(f[a>>2]|0)+8>>2]|0;g=a+8|0;e=a+12|0;d=(f[e>>2]|0)-(f[g>>2]|0)>>2;j=f[b>>2]|0;f[b>>2]=0;f[c>>2]=j;Sa[i&7](a,d,c);d=f[c>>2]|0;f[c>>2]=0;if(!d){i=f[e>>2]|0;j=f[g>>2]|0;j=i-j|0;j=j>>2;j=j+-1|0;u=h;return j|0}j=d+88|0;b=f[j>>2]|0;f[j>>2]=0;if(b|0){a=f[b+8>>2]|0;if(a|0){c=b+12|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;Em(a)}Em(b)}b=f[d+68>>2]|0;if(b|0){c=d+72|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);Em(b)}j=d+64|0;b=f[j>>2]|0;f[j>>2]=0;if(b|0){a=f[b>>2]|0;if(a|0){c=b+4|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;Em(a)}Em(b)}Em(d);i=f[e>>2]|0;j=f[g>>2]|0;j=i-j|0;j=j>>2;j=j+-1|0;u=h;return j|0}function de(a,c,d){a=a|0;c=c|0;d=d|0;var e=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;r=u;u=u+224|0;m=r+120|0;q=r+80|0;p=r;o=r+136|0;e=q;g=e+40|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[m>>2]=f[d>>2];if((ib(0,c,m,p,q)|0)<0)d=-1;else{if((f[a+76>>2]|0)>-1)n=Km(a)|0;else n=0;d=f[a>>2]|0;l=d&32;if((b[a+74>>0]|0)<1)f[a>>2]=d&-33;h=a+48|0;if(!(f[h>>2]|0)){g=a+44|0;d=f[g>>2]|0;f[g>>2]=o;i=a+28|0;f[i>>2]=o;k=a+20|0;f[k>>2]=o;f[h>>2]=80;j=a+16|0;f[j>>2]=o+80;e=ib(a,c,m,p,q)|0;if(d){Ma[f[a+36>>2]&31](a,0,0)|0;e=(f[k>>2]|0)==0?-1:e;f[g>>2]=d;f[h>>2]=0;f[j>>2]=0;f[i>>2]=0;f[k>>2]=0}}else e=ib(a,c,m,p,q)|0;d=f[a>>2]|0;f[a>>2]=d|l;if(n|0)Jm(a);d=(d&32|0)==0?e:-1}u=r;return d|0}function ee(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=1048576){if((i|0)!=1048576?(h=d+4194304|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else Oe(a,1048576-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else Yd(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>1048576){d=0;k=19;break}if(d>>>0 >>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0 >>0);if((k|0)==19)return d|0;k=(h|0)==1048576;return k|0}function fe(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+64|0;o=p;m=f[a>>2]|0;n=a+(f[m+-8>>2]|0)|0;m=f[m+-4>>2]|0;f[o>>2]=e;f[o+4>>2]=a;f[o+8>>2]=c;f[o+12>>2]=g;g=o+16|0;a=o+20|0;h=o+24|0;j=o+28|0;i=o+32|0;c=o+40|0;k=g;l=k+36|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));d[g+36>>1]=0;b[g+38>>0]=0;a:do if(dl(m,e,0)|0){f[o+48>>2]=1;Ua[f[(f[m>>2]|0)+20>>2]&3](m,o,n,n,1,0);g=(f[h>>2]|0)==1?n:0}else{Na[f[(f[m>>2]|0)+24>>2]&3](m,o,n,1,0);switch(f[o+36>>2]|0){case 0:{g=(f[c>>2]|0)==1&(f[j>>2]|0)==1&(f[i>>2]|0)==1?f[a>>2]|0:0;break a}case 1:break;default:{g=0;break a}}if((f[h>>2]|0)!=1?!((f[c>>2]|0)==0&(f[j>>2]|0)==1&(f[i>>2]|0)==1):0){g=0;break}g=f[g>>2]|0}while(0);u=p;return g|0}function ge(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;n=o;m=b+4|0;c=f[m>>2]|0;d=f[b>>2]|0;k=((c-d|0)/12|0)*3|0;i=a+4|0;h=f[i>>2]|0;e=f[a>>2]|0;l=h-e>>2;g=d;if(k>>>0<=l>>>0){if(k>>>0 >>0?(j=e+(k<<2)|0,(h|0)!=(j|0)):0)f[i>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else{Oe(a,k-l|0);g=f[b>>2]|0;d=g;c=f[m>>2]|0}if((c-d|0)>0){e=f[a>>2]|0;d=(c-g|0)/12|0;c=0;do{m=c*3|0;f[e+(m<<2)>>2]=f[g+(c*12|0)>>2];f[e+(m+1<<2)>>2]=f[g+(c*12|0)+4>>2];f[e+(m+2<<2)>>2]=f[g+(c*12|0)+8>>2];c=c+1|0}while((c|0)<(d|0))}f[n>>2]=-1;if(!(nb(a,n)|0)){a=0;u=o;return a|0}gb(a,f[n>>2]|0)|0;a=1;u=o;return a|0}function he(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=524288){if((i|0)!=524288?(h=d+2097152|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else Oe(a,524288-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else Yd(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>524288){d=0;k=19;break}if(d>>>0 >>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0 >>0);if((k|0)==19)return d|0;k=(h|0)==524288;return k|0}function ie(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=262144){if((i|0)!=262144?(h=d+1048576|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else Oe(a,262144-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else Yd(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>262144){d=0;k=19;break}if(d>>>0 >>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0 >>0);if((k|0)==19)return d|0;k=(h|0)==262144;return k|0}function je(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=65536){if((i|0)!=65536?(h=d+262144|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else Oe(a,65536-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else Yd(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>65536){d=0;k=19;break}if(d>>>0 >>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0 >>0);if((k|0)==19)return d|0;k=(h|0)==65536;return k|0}function ke(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=32768){if((i|0)!=32768?(h=d+131072|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else Oe(a,32768-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else Yd(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>32768){d=0;k=19;break}if(d>>>0 >>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0 >>0);if((k|0)==19)return d|0;k=(h|0)==32768;return k|0}function le(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=a+4|0;c=f[g>>2]|0;d=f[a>>2]|0;e=c-d>>2;if(e>>>0>>0){bd(a,b-e|0);return}if(e>>>0<=b>>>0)return;a=d+(b<<2)|0;if((c|0)==(a|0))return;do{b=c+-4|0;f[g>>2]=b;e=f[b>>2]|0;f[b>>2]=0;if(e|0){b=e+88|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){b=c+12|0;if((f[b>>2]|0)!=(d|0))f[b>>2]=d;Em(d)}Em(c)}c=f[e+68>>2]|0;if(c|0){b=e+72|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}b=e+64|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){b=c+4|0;if((f[b>>2]|0)!=(d|0))f[b>>2]=d;Em(d)}Em(c)}Em(e)}c=f[g>>2]|0}while((c|0)!=(a|0));return}function me(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=8192){if((i|0)!=8192?(h=d+32768|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else Oe(a,8192-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else Yd(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>8192){d=0;k=19;break}if(d>>>0 >>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0 >>0);if((k|0)==19)return d|0;k=(h|0)==8192;return k|0}function ne(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=4096){if((i|0)!=4096?(h=d+16384|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else Oe(a,4096-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else Yd(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>4096){d=0;k=19;break}if(d>>>0 >>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0 >>0);if((k|0)==19)return d|0;k=(h|0)==4096;return k|0}function oe(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=f[c+88>>2]|0;if(!d){a=0;return a|0}if((f[d>>2]|0)!=1){a=0;return a|0}m=d+8|0;j=f[m>>2]|0;f[a+4>>2]=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;o=a+8|0;k=c+24|0;c=b[k>>0]|0;i=c<<24>>24;g=a+12|0;e=f[g>>2]|0;d=f[o>>2]|0;l=e-d>>2;if(i>>>0<=l>>>0){if(i>>>0 >>0?(n=d+(i<<2)|0,(e|0)!=(n|0)):0)f[g>>2]=e+(~((e+-4-n|0)>>>2)<<2)}else{Oe(o,i-l|0);c=b[k>>0]|0;j=f[m>>2]|0}d=j+4|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;if(c<<24>>24>0){i=f[o>>2]|0;e=c<<24>>24;c=4;g=0;do{f[i+(g<<2)>>2]=d;c=c+4|0;g=g+1|0;d=j+c|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24}while((g|0)<(e|0))}f[a+20>>2]=d;a=1;return a|0}function pe(a,c,d){a=a|0;c=c|0;d=d|0;a=Yb(a,c)|0;if(!a){d=0;return d|0}c=f[a+20>>2]|0;if(((f[a+24>>2]|0)-c|0)!=8){d=0;return d|0}a=c;b[s>>0]=b[a>>0];b[s+1>>0]=b[a+1>>0];b[s+2>>0]=b[a+2>>0];b[s+3>>0]=b[a+3>>0];b[s+4>>0]=b[a+4>>0];b[s+5>>0]=b[a+5>>0];b[s+6>>0]=b[a+6>>0];b[s+7>>0]=b[a+7>>0];p[s>>3]=+p[s>>3];b[d>>0]=b[s>>0];b[d+1>>0]=b[s+1>>0];b[d+2>>0]=b[s+2>>0];b[d+3>>0]=b[s+3>>0];b[d+4>>0]=b[s+4>>0];b[d+5>>0]=b[s+5>>0];b[d+6>>0]=b[s+6>>0];b[d+7>>0]=b[s+7>>0];d=1;return d|0}function qe(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;if(c>>>0>4294967279)ml(a);i=a+11|0;e=b[i>>0]|0;g=e<<24>>24<0;if(g){j=f[a+4>>2]|0;d=(f[a+8>>2]&2147483647)+-1|0}else{j=e&255;d=10}h=j>>>0>c>>>0?j:c;c=h>>>0<11;h=c?10:(h+16&-16)+-1|0;do if((h|0)!=(d|0)){do if(c){d=f[a>>2]|0;if(g){c=a;e=0;g=13}else{xk(a,d,(e&255)+1|0)|0;Em(d);g=15}}else{c=_i(h+1|0)|0;if(g){e=1;d=f[a>>2]|0;g=13;break}else{xk(c,a,(e&255)+1|0)|0;g=14;break}}while(0);if((g|0)==13){xk(c,d,(f[a+4>>2]|0)+1|0)|0;Em(d);if(e)g=14;else g=15}if((g|0)==14){f[a+8>>2]=h+1|-2147483648;f[a+4>>2]=j;f[a>>2]=c;break}else if((g|0)==15){b[i>>0]=j;break}}while(0);return}function re(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(f[a>>2]|0)+1794895138|0;h=el(f[a+8>>2]|0,o)|0;e=el(f[a+12>>2]|0,o)|0;g=el(f[a+16>>2]|0,o)|0;a:do if((h>>>0 >>2>>>0?(n=c-(h<<2)|0,e>>>0 >>0&g>>>0 >>0):0)?((g|e)&3|0)==0:0){n=e>>>2;m=g>>>2;l=0;while(1){k=h>>>1;j=l+k|0;i=j<<1;g=i+n|0;e=el(f[a+(g<<2)>>2]|0,o)|0;g=el(f[a+(g+1<<2)>>2]|0,o)|0;if(!(g>>>0 >>0&e>>>0<(c-g|0)>>>0)){e=0;break a}if(b[a+(g+e)>>0]|0){e=0;break a}e=Oh(d,a+g|0)|0;if(!e)break;e=(e|0)<0;if((h|0)==1){e=0;break a}else{l=e?l:j;h=e?k:h-k|0}}e=i+m|0;g=el(f[a+(e<<2)>>2]|0,o)|0;e=el(f[a+(e+1<<2)>>2]|0,o)|0;if(e>>>0 >>0&g>>>0<(c-e|0)>>>0)e=(b[a+(e+g)>>0]|0)==0?a+e|0:0;else e=0}else e=0;while(0);return e|0}function se(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=f[a+4>>2]|0;if(!a){m=0;return m|0}k=b[c+11>>0]|0;j=k<<24>>24<0;k=j?f[c+4>>2]|0:k&255;j=j?f[c>>2]|0:c;while(1){e=a+16|0;d=b[e+11>>0]|0;h=d<<24>>24<0;d=h?f[a+20>>2]|0:d&255;g=d>>>0 >>0;c=g?d:k;if((c|0)!=0?(m=xh(j,h?f[e>>2]|0:e,c)|0,(m|0)!=0):0)if((m|0)<0)i=7;else i=8;else if(k>>>0 >>0)i=7;else i=8;if((i|0)!=7)if((i|0)==8){i=0;c=k>>>0 >>0?k:d;if((c|0)!=0?(l=xh(h?f[e>>2]|0:e,j,c)|0,(l|0)!=0):0){if((l|0)>=0){a=1;i=14;break}}else i=10;if((i|0)==10?(0,!g):0){a=1;i=14;break}a=a+4|0}a=f[a>>2]|0;if(!a){a=0;i=14;break}}if((i|0)==14)return a|0;return 0}function te(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;k=b+8|0;i=f[k>>2]|0;k=f[k+4>>2]|0;l=b+16|0;c=l;e=f[c>>2]|0;c=f[c+4>>2]|0;g=lk(e|0,c|0,4,0)|0;d=I;if((k|0)<(d|0)|(k|0)==(d|0)&i>>>0 >>0){a=0;return a|0}b=f[b>>2]|0;j=b+e|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;m=l;f[m>>2]=g;f[m+4>>2]=d;c=lk(e|0,c|0,8,0)|0;d=I;if((k|0)<(d|0)|(k|0)==(d|0)&i>>>0 >>0){m=0;return m|0}b=b+g|0;b=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;m=l;f[m>>2]=c;f[m+4>>2]=d;if((j|0)>(b|0)){m=0;return m|0}f[a+12>>2]=j;f[a+16>>2]=b;m=b+(1-j)|0;f[a+20>>2]=m;b=(m|0)/2|0;c=a+24|0;f[c>>2]=b;f[a+28>>2]=0-b;if(m&1|0){m=1;return m|0}f[c>>2]=b+-1;m=1;return m|0}function ue(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0;h=_i(32)|0;f[a>>2]=h;f[a+4>>2]=c+8;g=a+8|0;b[g>>0]=0;i=h+8|0;f[i>>2]=f[e>>2];f[i+4>>2]=f[e+4>>2];f[i+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;i=h+20|0;j=e+12|0;f[i>>2]=0;f[h+24>>2]=0;f[h+28>>2]=0;h=f[j>>2]|0;c=(f[e+16>>2]|0)-h|0;if(!c){i=0;j=h;Ld(i|0,j|0,c|0)|0;b[g>>0]=1;a=f[a>>2]|0;j=a+4|0;f[j>>2]=d;f[a>>2]=0;return}Pe(i,c);i=f[i>>2]|0;j=f[j>>2]|0;Ld(i|0,j|0,c|0)|0;b[g>>0]=1;a=f[a>>2]|0;j=a+4|0;f[j>>2]=d;f[a>>2]=0;return}function ve(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;i=f[b>>2]|0;e=f[a+12>>2]|0;if((i|0)>(e|0))Fa(7675,6870,259,7699);d=f[c>>2]|0;if((d|0)>(e|0))Fa(7713,6870,260,7699);a=0-e|0;if((i|0)<(a|0))Fa(7737,6870,261,7699);if((d|0)<(a|0))Fa(7762,6870,262,7699);if((d|i|0)>-1){h=1;a=1}else{a=(i|0)<1&(d|0)<1;h=a?-1:(i|0)>0?1:-1;a=a?-1:(d|0)>0?1:-1}g=X(e,h)|0;e=X(e,a)|0;f[b>>2]=(i<<1)-g;d=(f[c>>2]<<1)-e|0;f[c>>2]=d;i=(X(h,a)|0)>-1;a=f[b>>2]|0;if(i){f[b>>2]=0-d;i=0-a|0;f[c>>2]=i;i=f[b>>2]|0;i=i+g|0;i=(i|0)/2|0;f[b>>2]=i;b=f[c>>2]|0;b=b+e|0;b=(b|0)/2|0;f[c>>2]=b;return}else{f[b>>2]=d;i=a;f[c>>2]=i;i=f[b>>2]|0;i=i+g|0;i=(i|0)/2|0;f[b>>2]=i;b=f[c>>2]|0;b=b+e|0;b=(b|0)/2|0;f[c>>2]=b;return}}function we(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=_a(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Ib(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=_a(c)|0;b=b>>>0 >>0?c:b;if(b>>>0>=d>>>0)return;Ib(a,b);return}function xe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=a+4|0;e=f[g>>2]|0;c=f[a>>2]|0;d=(e-c|0)/116|0;if(d>>>0>>0){Qc(a,b-d|0);return}if(d>>>0<=b>>>0)return;a=c+(b*116|0)|0;if((e|0)==(a|0))return;do{f[g>>2]=e+-116;c=f[e+-12>>2]|0;if(c|0){d=e+-8|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Em(c)}c=f[e+-28>>2]|0;if(c|0){d=e+-24|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Em(c)}c=f[e+-40>>2]|0;if(c|0){d=e+-36|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Em(c)}Uf(e+-112|0);e=f[g>>2]|0}while((e|0)!=(a|0));return}function ye(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=1056;e=a+60|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Oa[f[(f[b>>2]|0)+4>>2]&127](b);b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}d=a+36|0;b=f[d>>2]|0;if(b|0){e=a+40|0;c=f[e>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[e>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0)Oa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[e>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}Em(b)}f[a>>2]=952;b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}d=f[a+4>>2]|0;if(!d)return;c=a+8|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);Em(d);return}function ze(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=f[a+4>>2]|0;h=a+8|0;b=f[h>>2]|0;if((b|0)!=(g|0))do{d=b+-4|0;f[h>>2]=d;e=f[d>>2]|0;f[d>>2]=0;if(e|0){d=e+88|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b+8>>2]|0;if(c|0){d=b+12|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Em(c)}Em(b)}b=f[e+68>>2]|0;if(b|0){d=e+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}d=e+64|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){d=b+4|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Em(c)}Em(b)}Em(e)}b=f[h>>2]|0}while((b|0)!=(g|0));b=f[a>>2]|0;if(!b)return;Em(b);return}function Ae(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=a+8|0;e=f[l>>2]|0;g=b[e+24>>0]|0;k=g<<24>>24;n=k<<1;m=Bm(k>>>0>2147483647?-1:k<<1)|0;j=f[a+16>>2]|0;j=(f[f[j>>2]>>2]|0)+(f[j+48>>2]|0)|0;if(!c){Cm(m);return}if(g<<24>>24>0){e=0;g=0;h=0;while(1){a=0;i=h;while(1){d[m+(a<<1)>>1]=f[j+(i<<2)>>2];a=a+1|0;if((a|0)==(k|0))break;else i=i+1|0}Ld((f[f[(f[l>>2]|0)+64>>2]>>2]|0)+g|0,m|0,n|0)|0;e=e+1|0;if((e|0)==(c|0))break;else{g=g+n|0;h=k+h|0}}Cm(m);return}else{Ld(f[f[e+64>>2]>>2]|0,m|0,n|0)|0;if((c|0)==1){Cm(m);return}else{a=1;e=0}do{e=e+n|0;Ld((f[f[(f[l>>2]|0)+64>>2]>>2]|0)+e|0,m|0,n|0)|0;a=a+1|0}while((a|0)!=(c|0));Cm(m);return}}function Be(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=a+8|0;d=f[k>>2]|0;e=b[d+24>>0]|0;j=e<<24>>24;m=j<<2;l=Bm(j>>>0>1073741823?-1:j<<2)|0;i=f[a+16>>2]|0;i=(f[f[i>>2]>>2]|0)+(f[i+48>>2]|0)|0;if(!c){Cm(l);return}if(e<<24>>24>0){d=0;e=0;g=0;while(1){a=0;h=g;while(1){f[l+(a<<2)>>2]=f[i+(h<<2)>>2];a=a+1|0;if((a|0)==(j|0))break;else h=h+1|0}Ld((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+e|0,l|0,m|0)|0;d=d+1|0;if((d|0)==(c|0))break;else{e=e+m|0;g=j+g|0}}Cm(l);return}else{Ld(f[f[d+64>>2]>>2]|0,l|0,m|0)|0;if((c|0)==1){Cm(l);return}else{a=1;d=0}do{d=d+m|0;Ld((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+d|0,l|0,m|0)|0;a=a+1|0}while((a|0)!=(c|0));Cm(l);return}}function Ce(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a>>2]|0;if(!b)return;h=a+4|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{e=c+-4|0;f[h>>2]=e;g=f[e>>2]|0;f[e>>2]=0;if(g|0){e=g+88|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){e=c+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Em(d)}Em(c)}c=f[g+68>>2]|0;if(c|0){e=g+72|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}e=g+64|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){e=c+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Em(d)}Em(c)}Em(g)}c=f[h>>2]|0}while((c|0)!=(b|0));b=f[a>>2]|0}Em(b);return}function De(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=Ka;n=u;u=u+32|0;j=n+16|0;m=n;k=a+8|0;l=b[(f[k>>2]|0)+24>>0]<<2;i=f[a+16>>2]|0;i=(f[f[i>>2]>>2]|0)+(f[i+48>>2]|0)|0;a=f[a+24>>2]|0;if((a|0)<=1)Fa(6859,6870,60,6985);if((a|0)>=31)Fa(7005,6870,61,6985);f[m>>2]=a;a=1<>2]=a+-1;a=a+-2|0;h=m+8|0;f[h>>2]=a;f[m+12>>2]=(a|0)/2|0;if(!c){u=n;return 1}d=0;e=0;g=0;while(1){o=$($(1.0)/$(a|0));ed(m,$($(f[i+(g<<2)>>2]|0)*o),$($(f[i+((g|1)<<2)>>2]|0)*o),j);Ld((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+e|0,j|0,l|0)|0;d=d+1|0;if((d|0)==(c|0))break;a=f[h>>2]|0;e=e+l|0;g=g+2|0}u=n;return 1}function Ee(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0;k=b+8|0;j=f[k>>2]|0;k=f[k+4>>2]|0;l=b+16|0;c=l;g=f[c>>2]|0;c=f[c+4>>2]|0;d=lk(g|0,c|0,4,0)|0;e=I;if((k|0)<(e|0)|(k|0)==(e|0)&j>>>0 >>0)return 0;i=(f[b>>2]|0)+g|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;b=l;f[b>>2]=d;f[b+4>>2]=e;b=lk(g|0,c|0,8,0)|0;c=I;if((k|0)<(c|0)|(k|0)==(c|0)&j>>>0>>0)return 0;f[l>>2]=b;f[l+4>>2]=c;if(((i|0)%2|0|0)!=1)Fa(7787,7820,67,7980);c=(_(i|0)|0)^31;b=c+1|0;if(!c)Fa(6859,6870,60,6985);if(b>>>0<31){f[a>>2]=b;l=2< >2]=l+-1;l=l+-2|0;f[a+8>>2]=l;f[a+12>>2]=(l|0)/2|0;return (c+-1|0)>>>0<29|0}else Fa(7005,6870,61,6985);return 0}function Fe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m+16|0;i=m+8|0;j=m;h=f[b>>2]|0;k=f[a+12>>2]<<1;if((h|0)>(k|0))Fa(7102,7147,69,7325);e=f[b+4>>2]|0;if((e|0)>(k|0))Fa(7346,7147,70,7325);g=f[c>>2]|0;if((g|0)>(k|0))Fa(7391,7147,71,7325);b=f[c+4>>2]|0;if((b|0)>(k|0))Fa(7436,7147,72,7325);if((h|0)<=-1)Fa(7481,7147,74,7325);if((e|0)<=-1)Fa(7503,7147,75,7325);if((g|0)<=-1)Fa(7525,7147,76,7325);if((b|0)>-1){f[i>>2]=h;f[i+4>>2]=e;f[j>>2]=g;f[j+4>>2]=b;qc(l,a,i,j);f[d>>2]=f[l>>2];f[d+4>>2]=f[l+4>>2];u=m;return}else Fa(7547,7147,77,7325)}function Ge(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=_a(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){bc(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=_a(c)|0;b=b>>>0 >>0?c:b;if(b>>>0>=d>>>0)return;bc(a,b);return}function He(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=c&255;e=(d|0)!=0;a:do if(e&(a&3|0)!=0){g=c&255;while(1){if((b[a>>0]|0)==g<<24>>24){i=6;break a}a=a+1|0;d=d+-1|0;e=(d|0)!=0;if(!(e&(a&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(e)i=6;else d=0;b:do if((i|0)==6){g=c&255;if((b[a>>0]|0)!=g<<24>>24){e=X(h,16843009)|0;c:do if(d>>>0>3)while(1){h=f[a>>2]^e;if((h&-2139062144^-2139062144)&h+-16843009|0)break;a=a+4|0;d=d+-4|0;if(d>>>0<=3){i=11;break c}}else i=11;while(0);if((i|0)==11)if(!d){d=0;break}while(1){if((b[a>>0]|0)==g<<24>>24)break b;a=a+1|0;d=d+-1|0;if(!d){d=0;break}}}}while(0);return (d|0?a:0)|0}function Ie(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;e=a+12|0;g=f[e>>2]|0;f[e>>2]=0;if(!g){pk(a);return}b=f[g+28>>2]|0;if(b|0)do{e=b;b=f[b>>2]|0;Ie(e+8|0);Em(e)}while((b|0)!=0);e=g+20|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Em(b);b=f[g+8>>2]|0;if(b|0)do{e=b;b=f[b>>2]|0;c=f[e+20>>2]|0;if(c|0){d=e+24|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Em(c)}pk(e+8|0);Em(e)}while((b|0)!=0);b=f[g>>2]|0;f[g>>2]=0;if(b|0)Em(b);Em(g);pk(a);return}function Je(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=a+4|0;d=f[k>>2]|0;c=f[a>>2]|0;e=((d-c|0)/12|0)+1|0;if(e>>>0>357913941){ql(a);c=f[a>>2]|0;d=f[k>>2]|0}j=a+8|0;i=((f[j>>2]|0)-c|0)/12|0;h=i<<1;h=i>>>0<178956970?(h>>>0 >>0?e:h):357913941;e=(d-c|0)/12|0;do if(h)if(h>>>0>357913941){a=Ha(4)|0;gm(a);sa(a|0,840,80)}else{i=_i(h*12|0)|0;break}else i=0;while(0);g=i+(e*12|0)|0;f[g>>2]=f[b>>2];f[g+4>>2]=f[b+4>>2];f[g+8>>2]=f[b+8>>2];e=d-c|0;d=g+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)Ld(d|0,c|0,e|0)|0;f[a>>2]=d;f[k>>2]=g+12;f[j>>2]=i+(h*12|0);if(!c)return;Em(c);return}function Ke(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+32|0;c=e+16|0;d=e;switch(b<<24>>24){case 0:{d=_i(48)|0;tl(d);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=d;u=e;return}case 1:{d=_i(52)|0;Dk(d);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=d;u=e;return}default:{f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;dg(d,10653,28);f[c>>2]=-1;b=c+4|0;th(b,d);f[a>>2]=f[c>>2];th(a+4|0,b);f[a+16>>2]=0;pk(b);pk(d);u=e;return}}}function Le(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;j=u;u=u+32|0;i=j+16|0;c=j+8|0;d=j;g=a+8|0;if(f[g>>2]<<5>>>0>=b>>>0){u=j;return}f[i>>2]=0;h=i+4|0;f[h>>2]=0;e=i+8|0;f[e>>2]=0;if((b|0)<0)ql(i);l=((b+-1|0)>>>5)+1|0;k=_i(l<<2)|0;f[i>>2]=k;f[h>>2]=0;f[e>>2]=l;l=f[a>>2]|0;f[c>>2]=l;f[c+4>>2]=0;k=a+4|0;b=f[k>>2]|0;f[d>>2]=l+(b>>>5<<2);f[d+4>>2]=b&31;Cd(i,c,d);b=f[a>>2]|0;f[a>>2]=f[i>>2];f[i>>2]=b;a=f[k>>2]|0;f[k>>2]=f[h>>2];f[h>>2]=a;a=f[g>>2]|0;f[g>>2]=f[e>>2];f[e>>2]=a;if(b|0)Em(b);u=j;return}function Me(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+224|0;j=a+228|0;d=f[k>>2]|0;if((f[j>>2]|0)==(d|0)){l=0;return l|0}g=a+4|0;e=0;a:while(1){a=f[d+(e*116|0)>>2]|0;if(((a|0)>=0?(d=f[g>>2]|0,h=f[d+8>>2]|0,(a|0)<((f[d+12>>2]|0)-h>>2|0)):0)?(i=f[h+(a<<2)>>2]|0,(Ra[f[(f[i>>2]|0)+24>>2]&127](i)|0)>0):0){a=0;do{if((Va[f[(f[i>>2]|0)+20>>2]&127](i,a)|0)==(c|0))break a;a=a+1|0}while((a|0)<(Ra[f[(f[i>>2]|0)+24>>2]&127](i)|0))}a=e+1|0;d=f[k>>2]|0;if(a>>>0>=(((f[j>>2]|0)-d|0)/116|0)>>>0){a=0;l=11;break}else e=a}if((l|0)==11)return a|0;l=f[k>>2]|0;l=(b[l+(e*116|0)+72>>0]|0)==0?0:l+(e*116|0)+4|0;return l|0}function Ne(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=(f[b+4>>2]|0)-(f[b>>2]|0)|0;l=k>>2;g=a+8|0;e=f[(f[g>>2]|0)+40>>2]|0;m=Bm((e|0)>-1?e:-1)|0;h=c+8|0;if((k|0)<=0){c=1;Cm(m);return c|0}k=c+16|0;i=0;j=0;while(1){o=h;n=f[o>>2]|0;o=f[o+4>>2]|0;a=k;b=f[a>>2]|0;a=lk(b|0,f[a+4>>2]|0,e|0,0)|0;d=I;if((o|0)<(d|0)|(o|0)==(d|0)&n>>>0>>0){b=0;a=5;break}Ld(m|0,(f[c>>2]|0)+b|0,e|0)|0;o=k;f[o>>2]=a;f[o+4>>2]=d;Ld((f[f[(f[g>>2]|0)+64>>2]>>2]|0)+j|0,m|0,e|0)|0;i=i+1|0;if((i|0)>=(l|0)){b=1;a=5;break}else j=j+e|0}if((a|0)==5){Cm(m);return b|0}return 0}function Oe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=a+8|0;d=f[k>>2]|0;j=a+4|0;e=f[j>>2]|0;if(d-e>>2>>>0>=b>>>0){vf(e|0,0,b<<2|0)|0;f[j>>2]=e+(b<<2);return}c=f[a>>2]|0;g=(e-c>>2)+b|0;if(g>>>0>1073741823){ql(a);c=f[a>>2]|0;d=f[k>>2]|0;e=f[j>>2]|0}d=d-c|0;h=d>>1;h=d>>2>>>0<536870911?(h>>>0 >>0?g:h):1073741823;d=e-c>>2;do if(h)if(h>>>0>1073741823){a=Ha(4)|0;gm(a);sa(a|0,840,80)}else{i=_i(h<<2)|0;break}else i=0;while(0);g=i+(d<<2)|0;vf(g|0,0,b<<2|0)|0;e=e-c|0;d=g+(0-(e>>2)<<2)|0;if((e|0)>0)Ld(d|0,c|0,e|0)|0;f[a>>2]=d;f[j>>2]=g+(b<<2);f[k>>2]=i+(h<<2);if(!c)return;Em(c);return}function Pe(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+8|0;g=f[j>>2]|0;k=a+4|0;d=f[k>>2]|0;if((g-d|0)>>>0>=c>>>0){do{b[d>>0]=0;d=(f[k>>2]|0)+1|0;f[k>>2]=d;c=c+-1|0}while((c|0)!=0);return}e=f[a>>2]|0;h=d-e+c|0;if((h|0)<0){ql(a);e=f[a>>2]|0;g=f[j>>2]|0;d=f[k>>2]|0}i=g-e|0;g=i<<1;g=i>>>0<1073741823?(g>>>0 >>0?h:g):2147483647;if(!g)h=0;else h=_i(g)|0;i=h+(d-e)|0;h=h+g|0;d=i;g=i;do{b[d>>0]=0;d=g+1|0;g=d;c=c+-1|0}while((c|0)!=0);d=f[a>>2]|0;e=(f[k>>2]|0)-d|0;c=i+(0-e)|0;if((e|0)>0)Ld(c|0,d|0,e|0)|0;f[a>>2]=c;f[k>>2]=g;f[j>>2]=h;if(!d)return;Em(d);return}function Qe(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;n=o;if((-18-c|0)>>>0 >>0)ml(a);if((b[a+11>>0]|0)<0)m=f[a>>2]|0;else m=a;if(c>>>0<2147483623){l=d+c|0;k=c<<1;l=l>>>0 >>0?k:l;l=l>>>0<11?11:l+16&-16}else l=-17;k=_i(l)|0;if(g|0)xk(k,m,g)|0;if(i|0)xk(k+g|0,j,i)|0;d=e-h|0;e=d-g|0;if(e|0)xk(k+g+i|0,m+g+h|0,e)|0;if((c|0)!=10)Em(m);f[a>>2]=k;f[a+8>>2]=l|-2147483648;m=d+i|0;f[a+4>>2]=m;b[n>>0]=0;vl(k+m|0,n);u=o;return}function Re(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;g=d+16|0;e=f[g>>2]|0;if(!e)if(!(Ch(d)|0)){e=f[g>>2]|0;h=5}else e=0;else h=5;a:do if((h|0)==5){j=d+20|0;i=f[j>>2]|0;g=i;if((e-i|0)>>>0 >>0){e=Ma[f[d+36>>2]&31](d,a,c)|0;break}b:do if((b[d+75>>0]|0)>-1){i=c;while(1){if(!i){h=g;d=0;g=c;e=a;break b}e=i+-1|0;if((b[a+e>>0]|0)==10)break;else i=e}e=Ma[f[d+36>>2]&31](d,a,i)|0;if(e>>>0>>0)break a;h=f[j>>2]|0;d=i;g=c-i|0;e=a+i|0}else{h=g;d=0;g=c;e=a}while(0);Ld(h|0,e|0,g|0)|0;f[j>>2]=(f[j>>2]|0)+g;e=d+g|0}while(0);return e|0}function Se(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;h=u;u=u+16|0;d=h;e=Fd(a,d,b)|0;c=f[e>>2]|0;if(c|0){a=c;a=a+28|0;u=h;return a|0}g=_i(40)|0;th(g+16|0,b);c=g+28|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;c=f[d>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=c;f[e>>2]=g;c=f[f[a>>2]>>2]|0;if(!c)c=g;else{f[a>>2]=c;c=f[e>>2]|0}vc(f[a+4>>2]|0,c);a=a+8|0;f[a>>2]=(f[a>>2]|0)+1;a=g;a=a+28|0;u=h;return a|0}function Te(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0;j=u;u=u+16|0;i=j;do if(((h[(f[a+4>>2]|0)+36>>0]|0)<<8&65535)>511){k=d+8|0;l=f[k+4>>2]|0;g=d+16|0;e=g;c=f[e>>2]|0;e=f[e+4>>2]|0;if((l|0)>(e|0)|((l|0)==(e|0)?(f[k>>2]|0)>>>0>c>>>0:0)){l=b[(f[d>>2]|0)+c>>0]|0;k=lk(c|0,e|0,1,0)|0;c=g;f[c>>2]=k;f[c+4>>2]=I;c=l&255;f[a+24>>2]=c;break}else{l=0;u=j;return l|0}}else c=f[a+24>>2]|0;while(0);f[i>>2]=896;f[i+4>>2]=-1;hl(i,c);l=Xg(i,f[a+16>>2]|0)|0;u=j;return l|0}function Ue(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;i=a+224|0;h=a+228|0;c=f[i>>2]|0;a:do if((f[h>>2]|0)!=(c|0)){j=a+4|0;d=0;b:while(1){c=f[c+(d*116|0)>>2]|0;if(((c|0)>=0?(k=f[j>>2]|0,e=f[k+8>>2]|0,(c|0)<((f[k+12>>2]|0)-e>>2|0)):0)?(g=f[e+(c<<2)>>2]|0,(Ra[f[(f[g>>2]|0)+24>>2]&127](g)|0)>0):0){c=0;do{if((Va[f[(f[g>>2]|0)+20>>2]&127](g,c)|0)==(b|0))break b;c=c+1|0}while((c|0)<(Ra[f[(f[g>>2]|0)+24>>2]&127](g)|0))}d=d+1|0;c=f[i>>2]|0;if(d>>>0>=(((f[h>>2]|0)-c|0)/116|0)>>>0)break a}k=(f[i>>2]|0)+(d*116|0)+76|0;return k|0}while(0);k=a+196|0;return k|0}function Ve(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=f[a+4>>2]|0;h=a+8|0;b=f[h>>2]|0;if((b|0)!=(g|0))do{f[h>>2]=b+-116;c=f[b+-12>>2]|0;if(c|0){e=b+-8|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}c=f[b+-28>>2]|0;if(c|0){e=b+-24|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}c=f[b+-40>>2]|0;if(c|0){e=b+-36|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}Uf(b+-112|0);b=f[h>>2]|0}while((b|0)!=(g|0));b=f[a>>2]|0;if(!b)return;Em(b);return}function We(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a>>2]|0;if(!b)return;h=a+4|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{f[h>>2]=c+-116;d=f[c+-12>>2]|0;if(d|0){g=c+-8|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Em(d)}d=f[c+-28>>2]|0;if(d|0){g=c+-24|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Em(d)}d=f[c+-40>>2]|0;if(d|0){g=c+-36|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Em(d)}Uf(c+-112|0);c=f[h>>2]|0}while((c|0)!=(b|0));b=f[a>>2]|0}Em(b);return}function Xe(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+32|0;d=g;if((h[(f[a+4>>2]|0)+36>>0]<<8&65535)>511?!(Ra[f[(f[a>>2]|0)+52>>2]&127](a)|0):0){e=0;u=g;return e|0}f[d>>2]=924;f[d+4>>2]=-1;c=d+8|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;Gh(d,f[a+24>>2]|0,f[a+28>>2]|0,b[(f[a+8>>2]|0)+24>>0]|0,$(n[a+32>>2]));e=Xg(d,f[a+16>>2]|0)|0;f[d>>2]=924;a=f[c>>2]|0;if(a|0){c=d+12|0;d=f[c>>2]|0;if((d|0)!=(a|0))f[c>>2]=d+(~((d+-4-a|0)>>>2)<<2);Em(a)}u=g;return e|0}function Ye(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;h=a+140|0;b=f[h>>2]|0;if((b|0)<=0){a=1;return a|0}d=b<<4;d=Bm(b>>>0>268435455|d>>>0>4294967291?-1:d+4|0)|0;f[d>>2]=b;d=d+4|0;c=d+(b<<4)|0;b=d;do{$l(b);b=b+16|0}while((b|0)!=(c|0));g=a+136|0;e=f[g>>2]|0;f[g>>2]=d;if(e|0){c=e+-4|0;b=f[c>>2]|0;if(b|0){b=e+(b<<4)|0;do{b=b+-16|0;Jm(b)}while((b|0)!=(e|0))}Cm(c)}if((f[h>>2]|0)<=0){a=1;return a|0}b=0;while(1){if(!(dd((f[g>>2]|0)+(b<<4)|0,a)|0)){b=0;c=13;break}b=b+1|0;if((b|0)>=(f[h>>2]|0)){b=1;c=13;break}}if((c|0)==13)return b|0;return 0}function Ze(){var a=0,b=0,c=0,d=0,e=0,g=0,h=0,i=0;e=u;u=u+48|0;h=e+32|0;c=e+24|0;i=e+16|0;g=e;e=e+36|0;a=Xi()|0;if(a|0?(d=f[a>>2]|0,d|0):0){b=d+48|0;a=f[b>>2]|0;b=f[b+4>>2]|0;if(!((a&-256|0)==1126902528&(b|0)==1129074247)){f[c>>2]=f[894];xj(15705,c)}if((a|0)==1126902529&(b|0)==1129074247)a=f[d+44>>2]|0;else a=d+80|0;f[e>>2]=a;d=f[d>>2]|0;a=f[d+4>>2]|0;d=Ma[f[(f[194]|0)+16>>2]&31](776,d,e)|0;b=f[894]|0;if(d){i=f[e>>2]|0;i=Ra[f[(f[i>>2]|0)+8>>2]&127](i)|0;f[g>>2]=b;f[g+4>>2]=a;f[g+8>>2]=i;xj(15619,g)}else{f[i>>2]=b;f[i+4>>2]=a;xj(15664,i)}}xj(15743,h)}function _e(a){a=a|0;var b=0,c=0,d=0;b=f[a+92>>2]|0;if(b|0){d=a+96|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+76>>2]|0;if(b|0){d=a+80|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}f[a+4>>2]=2384;b=f[a+24>>2]|0;if(b|0)Em(b);b=f[a+12>>2]|0;if(!b)return;Em(b);return}function $e(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=a+4|0;d=f[k>>2]|0;c=f[a>>2]|0;e=(d-c>>2)+1|0;if(e>>>0>1073741823){ql(a);c=f[a>>2]|0;d=f[k>>2]|0}j=a+8|0;i=(f[j>>2]|0)-c|0;h=i>>1;h=i>>2>>>0<536870911?(h>>>0 >>0?e:h):1073741823;e=d-c>>2;do if(h)if(h>>>0>1073741823){a=Ha(4)|0;gm(a);sa(a|0,840,80)}else{i=_i(h<<2)|0;break}else i=0;while(0);g=i+(e<<2)|0;f[g>>2]=f[b>>2];e=d-c|0;d=g+(0-(e>>2)<<2)|0;if((e|0)>0)Ld(d|0,c|0,e|0)|0;f[a>>2]=d;f[k>>2]=g+4;f[j>>2]=i+(h<<2);if(!c)return;Em(c);return}function af(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;h=c+11|0;e=b[h>>0]|0;if(e<<24>>24<0)g=f[c+4>>2]|0;else g=e&255;while(1){if(e<<24>>24<0)e=f[c>>2]|0;else e=c;f[i>>2]=d;e=gj(e,g+1|0,15616,i)|0;if((e|0)>-1)if(e>>>0>g>>>0)g=e;else break;else g=g<<1|1;Sf(c,g,0);e=b[h>>0]|0}Sf(c,e,0);f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];e=0;while(1){if((e|0)==3)break;f[c+(e<<2)>>2]=0;e=e+1|0}u=j;return}function bf(a,c,d){a=a|0;c=c|0;d=d|0;do if(a){if(c>>>0<128){b[a>>0]=c;a=1;break}d=(Am()|0)+188|0;if(!(f[f[d>>2]>>2]|0))if((c&-128|0)==57216){b[a>>0]=c;a=1;break}else{a=qm()|0;f[a>>2]=84;a=-1;break}if(c>>>0<2048){b[a>>0]=c>>>6|192;b[a+1>>0]=c&63|128;a=2;break}if(c>>>0<55296|(c&-8192|0)==57344){b[a>>0]=c>>>12|224;b[a+1>>0]=c>>>6&63|128;b[a+2>>0]=c&63|128;a=3;break}if((c+-65536|0)>>>0<1048576){b[a>>0]=c>>>18|240;b[a+1>>0]=c>>>12&63|128;b[a+2>>0]=c>>>6&63|128;b[a+3>>0]=c&63|128;a=4;break}else{a=qm()|0;f[a>>2]=84;a=-1;break}}else a=1;while(0);return a|0}function cf(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2428;b=a+96|0;c=a+4|0;d=c+92|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+100>>2]=-1;f[a+104>>2]=-1;b=a+164|0;c=a+108|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));n[b>>2]=$(1.0);b=a+240|0;c=a+168|0;d=c+68|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));Ci(b);d=a+388|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[a+408>>2]=-1;f[a+412>>2]=-1;f[a+416>>2]=2;f[a+420>>2]=7;d=a+424|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;return}function df(a){a=a|0;var b=0,c=0,d=0,e=0;e=f[a>>2]|0;f[a>>2]=0;if(!e)return;a=f[e+28>>2]|0;if(a|0)do{d=a;a=f[a>>2]|0;df(d+20|0);pk(d+8|0);Em(d)}while((a|0)!=0);d=e+20|0;a=f[d>>2]|0;f[d>>2]=0;if(a|0)Em(a);a=f[e+8>>2]|0;if(a|0)do{d=a;a=f[a>>2]|0;b=f[d+20>>2]|0;if(b|0){c=d+24|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;Em(b)}pk(d+8|0);Em(d)}while((a|0)!=0);a=f[e>>2]|0;f[e>>2]=0;if(a|0)Em(a);Em(e);return}function ef(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0;j=u;u=u+80|0;i=j;g=j+56|0;e=j+40|0;d=i;c=d+40|0;do{f[d>>2]=f[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(c|0));Bb(e,i,g);b=f[e>>2]|0;if(!b){pk(e+4|0);g=h[g+7>>0]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=g;i=i+24|0;Jm(i);u=j;return}else{f[a>>2]=b;g=e+4|0;th(a+4|0,g);pk(g);i=i+24|0;Jm(i);u=j;return}}function ff(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;e=u;u=u+16|0;d=e;if(!c){a=0;u=e;return a|0}i=c+4|0;g=(f[i>>2]|0)-(f[c>>2]|0)>>2;b[d>>0]=0;Td(a,g,d);g=c+24|0;h=c+28|0;j=(f[h>>2]|0)-(f[g>>2]|0)>>2;b[d>>0]=0;Td(a+12|0,j,d);_c(a+28|0,(f[i>>2]|0)-(f[c>>2]|0)>>2,2648);gg(a+52|0,(f[h>>2]|0)-(f[g>>2]|0)>>2);gg(a+40|0,(f[h>>2]|0)-(f[g>>2]|0)>>2);f[a+64>>2]=c;b[a+24>>0]=1;a=1;u=e;return a|0}function gf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=a+8|0;b=f[j>>2]|0;if((b|0)<0){j=0;return j|0}i=a+4|0;a=f[i>>2]|0;e=a+4|0;d=f[e>>2]|0;c=f[a>>2]|0;g=d-c>>2;if(b>>>0<=g>>>0){if(b>>>0 >>0?(h=c+(b<<2)|0,(d|0)!=(h|0)):0)f[e>>2]=d+(~((d+-4-h|0)>>>2)<<2)}else{Oe(a,b-g|0);b=f[j>>2]|0}if((b|0)>0)d=0;else{j=1;return j|0}do{a=f[i>>2]|0;c=f[a>>2]|0;if((f[a+4>>2]|0)-c>>2>>>0<=d>>>0){pl(a);c=f[a>>2]|0;b=f[j>>2]|0}f[c+(d<<2)>>2]=d;d=d+1|0}while((d|0)<(b|0));b=1;return b|0}function hf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;h=u;u=u+32|0;e=h+12|0;g=h;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;dg(e,b,kg(b)|0);f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;dg(g,c,kg(c)|0);b=f[a+4>>2]|0;if((b|0)!=0?(d=od(b,e,g)|0,(d|0)!=0):0)b=lh(a,f[d+40>>2]|0)|0;else b=-1;pk(g);pk(e);u=h;return b|0}function jf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+48|0;h=j+4|0;i=j;if((d|0)!=1){f[a>>2]=0;u=j;return}g=f[b+12>>2]|0;d=f[b+4>>2]|0;b=h;e=b+36|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(e|0));Od(i,c,g,d,h);e=f[h+24>>2]|0;if(e|0){b=h+28|0;d=f[b>>2]|0;if((d|0)!=(e|0))f[b>>2]=d+(~((d+-4-e|0)>>>2)<<2);Em(e)}f[a>>2]=f[i>>2];u=j;return}function kf(a){a=a|0;var b=0,c=0,d=0,e=0;b=f[a+28>>2]|0;if(b|0)do{c=b;b=f[b>>2]|0;e=c+20|0;d=f[e>>2]|0;f[e>>2]=0;if(d|0){kf(d);Em(d)}pk(c+8|0);Em(c)}while((b|0)!=0);e=a+20|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Em(b);b=f[a+8>>2]|0;if(b|0)do{e=b;b=f[b>>2]|0;c=f[e+20>>2]|0;if(c|0){d=e+24|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Em(c)}pk(e+8|0);Em(e)}while((b|0)!=0);b=f[a>>2]|0;f[a>>2]=0;if(!b)return;Em(b);return}function lf(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+16|0;a=f[b>>2]|0;f[b>>2]=0;d=f[c>>2]|0;f[c>>2]=a;if(!d)return;c=d+88|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0){a=f[b+8>>2]|0;if(a|0){c=b+12|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;Em(a)}Em(b)}b=f[d+68>>2]|0;if(b|0){c=d+72|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);Em(b)}c=d+64|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0){a=f[b>>2]|0;if(a|0){c=b+4|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;Em(a)}Em(b)}Em(d);return}function mf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=u;u=u+32|0;d=g+12|0;e=g;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;dg(d,b,kg(b)|0);f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;dg(e,12676,4);b=f[a+4>>2]|0;if((b|0)!=0?(c=od(b,e,d)|0,(c|0)!=0):0)b=lh(a,f[c+40>>2]|0)|0;else b=-1;pk(e);pk(d);u=g;return b|0}function nf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;e=c+8|0;i=f[e+4>>2]|0;h=c+16|0;d=h;g=f[d>>2]|0;d=f[d+4>>2]|0;if(!((i|0)>(d|0)|((i|0)==(d|0)?(f[e>>2]|0)>>>0>g>>>0:0))){i=0;return i|0}e=b[(f[c>>2]|0)+g>>0]|0;g=lk(g|0,d|0,1,0)|0;i=h;f[i>>2]=g;f[i+4>>2]=I;do if(e<<24>>24<0)if(nf(a,c)|0){d=a;d=uj(f[d>>2]|0,f[d+4>>2]|0,7)|0;i=I;h=a;f[h>>2]=d;f[h+4>>2]=i;d=d|e&127;e=i;break}else{i=0;return i|0}else{d=e&255;e=0}while(0);i=a;f[i>>2]=d;f[i+4>>2]=e;i=1;return i|0}function of(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+128|0;g=m+124|0;l=m;h=l;i=3064;j=h+124|0;do{f[h>>2]=f[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));if((c+-1|0)>>>0>2147483646)if(!c){c=1;k=4}else{g=qm()|0;f[g>>2]=75;g=-1}else{g=a;k=4}if((k|0)==4){k=-2-g|0;k=c>>>0>k>>>0?k:c;f[l+48>>2]=k;h=l+20|0;f[h>>2]=g;f[l+44>>2]=g;g=g+k|0;c=l+16|0;f[c>>2]=g;f[l+28>>2]=g;g=de(l,d,e)|0;if(k){d=f[h>>2]|0;b[d+(((d|0)==(f[c>>2]|0))<<31>>31)>>0]=0}}u=m;return g|0}function pf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+16|0;j=k;h=a+11|0;e=b[h>>0]|0;g=e<<24>>24<0;if(g)i=(f[a+8>>2]&2147483647)+-1|0;else i=10;do if(i>>>0>=d>>>0){if(g)e=f[a>>2]|0;else e=a;tk(e,c,d)|0;b[j>>0]=0;vl(e+d|0,j);if((b[h>>0]|0)<0){f[a+4>>2]=d;break}else{b[h>>0]=d;break}}else{if(g)e=f[a+4>>2]|0;else e=e&255;Qe(a,i,d-i|0,e,0,e,d,c)}while(0);u=k;return a|0}function qf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;d=f[a>>2]|0;if(!d){a=0;return a|0}e=f[c>>2]|0;if(!e){a=0;return a|0}g=f[e>>2]|0;Ef(d,g,(f[e+4>>2]|0)-g|0,0)|0;b[a+24>>0]=b[c+24>>0]|0;f[a+28>>2]=f[c+28>>2];b[a+32>>0]=b[c+32>>0]|0;e=c+40|0;d=f[e+4>>2]|0;g=a+40|0;f[g>>2]=f[e>>2];f[g+4>>2]=d;g=c+48|0;d=f[g+4>>2]|0;e=a+48|0;f[e>>2]=f[g>>2];f[e+4>>2]=d;f[a+56>>2]=f[c+56>>2];c=c+8|0;a=a+8|0;f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];a=1;return a|0}function rf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l;if(c|0){h=a+11|0;e=b[h>>0]|0;if(e<<24>>24<0){j=f[a+4>>2]|0;g=(f[a+8>>2]&2147483647)+-1|0}else{j=e&255;g=10}i=j+c|0;if((g-j|0)>>>0 >>0){Cf(a,g,i-g|0,j,j,0,0);e=b[h>>0]|0}if(e<<24>>24<0)e=f[a>>2]|0;else e=a;sj(e+j|0,c,d)|0;if((b[h>>0]|0)<0)f[a+4>>2]=i;else b[h>>0]=i;b[k>>0]=0;vl(e+i|0,k)}u=l;return a|0}function sf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=2204;e=a+48|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Oa[f[(f[b>>2]|0)+4>>2]&127](b);f[a>>2]=2580;b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}d=a+8|0;b=f[d>>2]|0;if(!b){Em(a);return}e=a+12|0;c=f[e>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[e>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0)Oa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[e>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}Em(b);Em(a);return}function tf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+4|0;if((Ra[f[(f[b>>2]|0)+20>>2]&127](b)|0)<=0){b=1;return b|0}d=0;while(1){a=f[(f[c>>2]|0)+4>>2]|0;a=gi(a,Va[f[(f[b>>2]|0)+24>>2]&127](b,d)|0)|0;if((a|0)==-1){a=0;c=6;break}e=f[(f[b>>2]|0)+28>>2]|0;a=ph(f[c>>2]|0,a)|0;d=d+1|0;if(!(Va[e&127](b,a)|0)){a=0;c=6;break}if((d|0)>=(Ra[f[(f[b>>2]|0)+20>>2]&127](b)|0)){a=1;c=6;break}}if((c|0)==6)return a|0;return 0}function uf(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;do if(!(dl(a,f[c+8>>2]|0,g)|0)){if(dl(a,f[c>>2]|0,g)|0){a=c+32|0;if((f[c+16>>2]|0)!=(d|0)?(h=c+20|0,(f[h>>2]|0)!=(d|0)):0){f[a>>2]=e;f[h>>2]=d;e=c+40|0;f[e>>2]=(f[e>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0)b[c+54>>0]=1;f[c+44>>2]=4;break}if((e|0)==1)f[a>>2]=1}}else Di(0,c,d,e);while(0);return}function vf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=a+d|0;c=c&255;if((d|0)>=67){while(a&3){b[a>>0]=c;a=a+1|0}e=h&-4|0;g=e-64|0;i=c|c<<8|c<<16|c<<24;while((a|0)<=(g|0)){f[a>>2]=i;f[a+4>>2]=i;f[a+8>>2]=i;f[a+12>>2]=i;f[a+16>>2]=i;f[a+20>>2]=i;f[a+24>>2]=i;f[a+28>>2]=i;f[a+32>>2]=i;f[a+36>>2]=i;f[a+40>>2]=i;f[a+44>>2]=i;f[a+48>>2]=i;f[a+52>>2]=i;f[a+56>>2]=i;f[a+60>>2]=i;a=a+64|0}while((a|0)<(e|0)){f[a>>2]=i;a=a+4|0}}while((a|0)<(h|0)){b[a>>0]=c;a=a+1|0}return h-d|0}function wf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;b=Yb(a,b)|0;if(!b){c=0;return c|0}e=b+20|0;d=f[e>>2]|0;a=b+24|0;b=f[a>>2]|0;if((d|0)==(b|0)){c=0;return c|0}Sf(c,b-d|0,0);d=Ah(c,0)|0;c=f[e>>2]|0;Ld(d|0,c|0,(f[a>>2]|0)-c|0)|0;c=1;return c|0}function xf(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;if(!a){d=1;return d|0}j=d+8|0;k=f[j+4>>2]|0;i=d+16|0;g=i;h=f[g>>2]|0;g=f[g+4>>2]|0;if(!((k|0)>(g|0)|((k|0)==(g|0)?(f[j>>2]|0)>>>0>h>>>0:0))){k=0;return k|0}k=b[(f[d>>2]|0)+h>>0]|0;h=lk(h|0,g|0,1,0)|0;j=i;f[j>>2]=h;f[j+4>>2]=I;switch(k<<24>>24){case 0:{k=Hb(a,c,d,e)|0;return k|0}case 1:{k=fc(a,d,e)|0;return k|0}default:{k=0;return k|0}}return 0}function yf(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0;b[c+53>>0]=1;do if((f[c+4>>2]|0)==(e|0)){b[c+52>>0]=1;h=c+16|0;a=f[h>>2]|0;k=c+54|0;j=c+48|0;i=c+24|0;e=c+36|0;if(!a){f[h>>2]=d;f[i>>2]=g;f[e>>2]=1;if(!((f[j>>2]|0)==1&(g|0)==1))break;b[k>>0]=1;break}if((a|0)!=(d|0)){f[e>>2]=(f[e>>2]|0)+1;b[k>>0]=1;break}e=f[i>>2]|0;if((e|0)==2){f[i>>2]=g;e=g}if((f[j>>2]|0)==1&(e|0)==1)b[k>>0]=1}while(0);return}function zf(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=2204;e=a+48|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Oa[f[(f[b>>2]|0)+4>>2]&127](b);f[a>>2]=2580;b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}e=a+8|0;b=f[e>>2]|0;if(!b)return;d=a+12|0;c=f[d>>2]|0;if((c|0)!=(b|0)){do{a=c+-4|0;f[d>>2]=a;c=f[a>>2]|0;f[a>>2]=0;if(c|0)Oa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[d>>2]|0}while((c|0)!=(b|0));b=f[e>>2]|0}Em(b);return}function Af(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1008;c=a+16|0;d=f[c>>2]|0;f[c>>2]=0;if(!d)return;c=d+88|0;a=f[c>>2]|0;f[c>>2]=0;if(a|0){b=f[a+8>>2]|0;if(b|0){c=a+12|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;Em(b)}Em(a)}a=f[d+68>>2]|0;if(a|0){c=d+72|0;b=f[c>>2]|0;if((b|0)!=(a|0))f[c>>2]=b+(~((b+-4-a|0)>>>2)<<2);Em(a)}c=d+64|0;a=f[c>>2]|0;f[c>>2]=0;if(a|0){b=f[a>>2]|0;if(b|0){c=a+4|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;Em(b)}Em(a)}Em(d);return}function Bf(a,b){a=a|0;b=b|0;if(!b)return;else{Bf(a,f[b>>2]|0);Bf(a,f[b+4>>2]|0);Mf(b+20|0,f[b+24>>2]|0);Em(b);return}}function Cf(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-c|0)>>>0 >>0)ml(a);if((b[a+11>>0]|0)<0)l=f[a>>2]|0;else l=a;if(c>>>0<2147483623){k=d+c|0;j=c<<1;k=k>>>0 >>0?j:k;k=k>>>0<11?11:k+16&-16}else k=-17;j=_i(k)|0;if(g|0)xk(j,l,g)|0;d=e-h-g|0;if(d|0)xk(j+g+i|0,l+g+h|0,d)|0;if((c|0)!=10)Em(l);f[a>>2]=j;f[a+8>>2]=k|-2147483648;return}function Df(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+16|0;e=g;rh(e,d&1);a=Se(a,c)|0;c=a+11|0;if((b[c>>0]|0)<0){b[f[a>>2]>>0]=0;f[a+4>>2]=0}else{b[a>>0]=0;b[c>>0]=0}qe(a,0);f[a>>2]=f[e>>2];f[a+4>>2]=f[e+4>>2];f[a+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;pk(e);u=g;return}function Ef(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)<0){a=0;return a|0}do if(!b){e=a+4|0;d=f[e>>2]|0;b=f[a>>2]|0;g=d-b|0;if(c>>>0>g>>>0){Pe(a,c-g|0);break}if(c>>>0 >>0?(h=b+c|0,(d|0)!=(h|0)):0)f[e>>2]=h}else qd(a,b,b+c|0);while(0);a=a+24|0;h=a;h=lk(f[h>>2]|0,f[h+4>>2]|0,1,0)|0;f[a>>2]=h;f[a+4>>2]=I;a=1;return a|0}function Ff(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;g=h;f[a>>2]=c;f[a+68>>2]=0;f[a+72>>2]=0;Bd(g,c);e=a+4|0;i=f[g>>2]|0;f[g>>2]=0;d=f[e>>2]|0;f[e>>2]=i;if(d){Lf(d);Em(d);d=f[g>>2]|0;f[g>>2]=0;if(d|0){Lf(d);Em(d)}}else f[g>>2]=0;if(!(f[e>>2]|0)){i=0;u=h;return i|0}i=((f[c+100>>2]|0)-(f[c+96>>2]|0)|0)/12|0;b[g>>0]=0;Td(a+56|0,i,g);i=1;u=h;return i|0}function Gf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;h=a+64|0;if((f[h>>2]|0)==0?(g=_i(32)|0,hj(g),d=f[h>>2]|0,f[h>>2]=g,d|0):0){e=f[d>>2]|0;if(e|0){g=d+4|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Em(e)}Em(d)}e=Yh(f[a+28>>2]|0)|0;e=X(b[a+24>>0]|0,e)|0;d=((e|0)<0)<<31>>31;i=f[h>>2]|0;g=Zi(e|0,d|0,c|0,0)|0;if(!(Ef(i,0,g,I)|0)){i=0;return i|0}Lg(a,f[h>>2]|0,e,d,0,0);f[a+80>>2]=c;i=1;return i|0}function Hf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;h=u;u=u+32|0;i=h+20|0;j=h+16|0;g=h;e=b[a+24>>0]|0;f[g>>2]=f[669];f[g+4>>2]=f[670];f[g+8>>2]=f[671];f[g+12>>2]=f[672];f[j>>2]=c;f[i>>2]=f[j>>2];if(!(ab(a,i,e,g)|0)){j=0;u=h;return j|0}Uc(d,g,g+(e<<24>>24<<2)|0);j=1;u=h;return j|0}function If(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=e>>>0>1073741823?-1:e<<2;h=Bm(g)|0;vf(h|0,0,g|0)|0;g=a+8|0;Fe(g,h,b,c);if((e|0)>=(d|0)){Cm(h);return 1}a=0-e|0;f=e;do{i=c+(f<<2)|0;Fe(g,i+(a<<2)|0,b+(f<<2)|0,i);f=f+e|0}while((f|0)<(d|0));Cm(h);return 1}function Jf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;h=u;u=u+64|0;g=h;if(!(dl(a,b,0)|0))if((b|0)!=0?(e=fe(b,800,784,0)|0,(e|0)!=0):0){b=g+4|0;d=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(d|0));f[g>>2]=e;f[g+8>>2]=a;f[g+12>>2]=-1;f[g+48>>2]=1;Wa[f[(f[e>>2]|0)+28>>2]&7](e,g,f[c>>2]|0,1);if((f[g+24>>2]|0)==1){f[c>>2]=f[g+16>>2];b=1}else b=0}else b=0;else b=1;u=h;return b|0}function Kf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=u;u=u+32|0;g=h+8|0;e=h;if((d|0)==3){i=f[b+12>>2]|0;d=f[b+4>>2]|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;ae(e,c,i,d,g);f[a>>2]=f[e>>2];u=h;return}else{f[a>>2]=0;u=h;return}}function Lf(a){a=a|0;var b=0,c=0,d=0;b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+24>>2]|0;if(b|0){d=a+28|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}d=f[a>>2]|0;if(!d)return;c=a+4|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);Em(d);return}function Mf(a,b){a=a|0;b=b|0;if(!b)return;else{Mf(a,f[b>>2]|0);Mf(a,f[b+4>>2]|0);pk(b+28|0);pk(b+16|0);Em(b);return}}function Nf(a,c,d){a=a|0;c=c|0;d=d|0;a=Yb(a,c)|0;if(!a){d=0;return d|0}c=f[a+20>>2]|0;if(((f[a+24>>2]|0)-c|0)!=4){d=0;return d|0}a=c;a=h[a>>0]|h[a+1>>0]<<8|h[a+2>>0]<<16|h[a+3>>0]<<24;b[d>>0]=a;b[d+1>>0]=a>>8;b[d+2>>0]=a>>16;b[d+3>>0]=a>>24;d=1;return d|0}function Of(a,c,d,e,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0;f[a>>2]=d;if(d|0){o=d+16|0;m=f[o+4>>2]|0;n=a+8|0;f[n>>2]=f[o>>2];f[n+4>>2]=m;n=d+24|0;m=f[n+4>>2]|0;d=a+16|0;f[d>>2]=f[n>>2];f[d+4>>2]=m}b[a+24>>0]=e;f[a+28>>2]=g;b[a+32>>0]=h&1;o=a+40|0;f[o>>2]=i;f[o+4>>2]=j;o=a+48|0;f[o>>2]=k;f[o+4>>2]=l;f[a+56>>2]=c;return}function Pf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;h=c+8|0;i=f[h+4>>2]|0;g=c+16|0;d=g;e=f[d>>2]|0;d=f[d+4>>2]|0;if(!((i|0)>(d|0)|((i|0)==(d|0)?(f[h>>2]|0)>>>0>e>>>0:0))){i=0;return i|0}h=b[(f[c>>2]|0)+e>>0]|0;i=lk(e|0,d|0,1,0)|0;d=g;f[d>>2]=i;f[d+4>>2]=I;d=h&255;do if(d&128)if(Pf(a,c)|0){d=f[a>>2]<<7;f[a>>2]=d;d=d|h&127;break}else{i=0;return i|0}while(0);f[a>>2]=d;i=1;return i|0}function Qf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=f[b+4>>2]|0;if(!d){e=0;return e|0}if((c|0)<=-1)Fa(12505,12521,59,12612);a=f[b+8>>2]|0;if(((f[b+12>>2]|0)-a>>2|0)<=(c|0))Fa(12622,12521,60,12612);e=f[(f[a+(c<<2)>>2]|0)+60>>2]|0;a=f[d+40>>2]|0;b=f[d+44>>2]|0;if((a|0)==(b|0)){e=0;return e|0}else c=a;while(1){a=f[c>>2]|0;c=c+4|0;if((f[a+40>>2]|0)==(e|0)){c=9;break}if((c|0)==(b|0)){a=0;c=9;break}}if((c|0)==9)return a|0;return 0}function Rf(a){a=a|0;var b=0,c=0,d=0;if(!a)return;d=a+88|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b+8>>2]|0;if(c|0){d=b+12|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Em(c)}Em(b)}b=f[a+68>>2]|0;if(b|0){d=a+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}d=a+64|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){d=b+4|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Em(c)}Em(b)}Em(a);return}function Sf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;h=j;g=a+11|0;e=b[g>>0]|0;i=e<<24>>24<0;if(i)e=f[a+4>>2]|0;else e=e&255;do if(e>>>0>=c>>>0)if(i){i=(f[a>>2]|0)+c|0;b[h>>0]=0;vl(i,h);f[a+4>>2]=c;break}else{b[h>>0]=0;vl(a+c|0,h);b[g>>0]=c;break}else rf(a,c-e|0,d)|0;while(0);u=j;return}function Tf(a,b){a=a|0;b=b|0;var c=0,d=0;f[a>>2]=0;c=a+4|0;f[c>>2]=0;f[a+8>>2]=0;if(!b)return;if(b>>>0>357913941){ql(a);c=Ha(4)|0;gm(c);sa(c|0,840,80)}d=_i(b*12|0)|0;f[c>>2]=d;f[a>>2]=d;f[a+8>>2]=d+(b*12|0);a=d;do{f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;a=(f[c>>2]|0)+12|0;f[c>>2]=a;b=b+-1|0}while((b|0)!=0);return}function Uf(a){a=a|0;var b=0,c=0,d=0;b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+40>>2]|0;if(b|0){d=a+44|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+28>>2]|0;if(b|0){d=a+32|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+12>>2]|0;if(b|0)Em(b);b=f[a>>2]|0;if(!b)return;Em(b);return}function Vf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=2580;b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}d=a+8|0;b=f[d>>2]|0;if(!b){Em(a);return}e=a+12|0;c=f[e>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[e>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0)Oa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[e>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}Em(b);Em(a);return}function Wf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=u;u=u+32|0;g=e+12|0;h=e;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;dg(h,d,kg(d)|0);wf(c,h,g)|0;a=(b[g+11>>0]|0)<0?f[g>>2]|0:g;pk(h);pk(g);u=e;return a|0}function Xf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;h=a+4|0;f[h>>2]=0;f[a+8>>2]=0;e=b+4|0;c=(f[e>>2]|0)-(f[b>>2]|0)|0;d=c>>2;if(!d)return;if(d>>>0>1073741823){ql(a);h=Ha(4)|0;gm(h);sa(h|0,840,80)}g=_i(c)|0;f[h>>2]=g;f[a>>2]=g;f[a+8>>2]=g+(d<<2);b=f[b>>2]|0;c=(f[e>>2]|0)-b|0;if((c|0)<=0)return;Ld(g|0,b|0,c|0)|0;f[h>>2]=g+(c>>>2<<2);return}function Yf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;j=l;k=c&255;b[j>>0]=k;g=a+16|0;e=f[g>>2]|0;if(!e)if(!(Ch(a)|0)){e=f[g>>2]|0;i=4}else d=-1;else i=4;do if((i|0)==4){i=a+20|0;g=f[i>>2]|0;if(g>>>0 >>0?(d=c&255,(d|0)!=(b[a+75>>0]|0)):0){f[i>>2]=g+1;b[g>>0]=k;break}if((Ma[f[a+36>>2]&31](a,j,1)|0)==1)d=h[j>>0]|0;else d=-1}while(0);u=l;return d|0}function Zf(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=2580;b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}e=a+8|0;b=f[e>>2]|0;if(!b)return;d=a+12|0;c=f[d>>2]|0;if((c|0)!=(b|0)){do{a=c+-4|0;f[d>>2]=a;c=f[a>>2]|0;f[a>>2]=0;if(c|0)Oa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[d>>2]|0}while((c|0)!=(b|0));b=f[e>>2]|0}Em(b);return}function _f(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;h=a&255;d=a&255;if((f[c+76>>2]|0)>=0?(Km(c)|0)!=0:0){if((d|0)!=(b[c+75>>0]|0)?(j=c+20|0,g=f[j>>2]|0,g>>>0<(f[c+16>>2]|0)>>>0):0){f[j>>2]=g+1;b[g>>0]=h}else d=Yf(c,a)|0;Jm(c)}else k=3;do if((k|0)==3){if((d|0)!=(b[c+75>>0]|0)?(i=c+20|0,e=f[i>>2]|0,e>>>0<(f[c+16>>2]|0)>>>0):0){f[i>>2]=e+1;b[e>>0]=h;break}d=Yf(c,a)|0}while(0);return d|0}function $f(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1596;b=f[a+96>>2]|0;if(b|0)Em(b);b=f[a+84>>2]|0;if(b|0)Em(b);b=f[a+72>>2]|0;if(b|0)Em(b);b=f[a+60>>2]|0;if(b|0)Em(b);f[a>>2]=1176;c=f[a+32>>2]|0;if(!c){Em(a);return}d=a+36|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Em(c);Em(a);return}function ag(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1344;b=f[a+96>>2]|0;if(b|0)Em(b);b=f[a+84>>2]|0;if(b|0)Em(b);b=f[a+72>>2]|0;if(b|0)Em(b);b=f[a+60>>2]|0;if(b|0)Em(b);f[a>>2]=1176;c=f[a+32>>2]|0;if(!c){Em(a);return}d=a+36|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Em(c);Em(a);return}function bg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+32|0;e=d+12|0;g=d;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;dg(g,c,kg(c)|0);a=wf(b,g,e)|0;pk(g);pk(e);u=d;return a|0}function cg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;f[a>>2]=0;d=a+4|0;f[d>>2]=0;f[a+8>>2]=0;if(!b)return;if(b>>>0>1073741823){ql(a);e=Ha(4)|0;gm(e);sa(e|0,840,80)}g=_i(b<<2)|0;f[d>>2]=g;f[a>>2]=g;e=g+(b<<2)|0;f[a+8>>2]=e;a=g;while(1){f[a>>2]=f[c>>2];b=b+-1|0;if(!b)break;else a=a+4|0}f[d>>2]=e;return}function dg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=u;u=u+16|0;e=h;if(d>>>0<=4294967279)if(d>>>0<11)b[a+11>>0]=d;else g=5;else{ml(a);g=5}if((g|0)==5){i=d+16&-16;g=_i(i)|0;f[a>>2]=g;f[a+8>>2]=i|-2147483648;f[a+4>>2]=d;a=g}xk(a,c,d)|0;b[e>>0]=0;vl(a+d|0,e);u=h;return}function eg(a){a=a|0;var b=0,c=0;f[a>>2]=1596;b=f[a+96>>2]|0;if(b|0)Em(b);b=f[a+84>>2]|0;if(b|0)Em(b);b=f[a+72>>2]|0;if(b|0)Em(b);b=f[a+60>>2]|0;if(b|0)Em(b);f[a>>2]=1176;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Em(c);return}function fg(a){a=a|0;var c=0,d=0,e=0,f=0,g=0;while(1){c=b[a>>0]|0;d=c<<24>>24;e=a+1|0;if(!(Wl(d)|0))break;else a=e}switch(d|0){case 45:{a=1;f=5;break}case 43:{a=0;f=5;break}default:{g=0;e=a}}if((f|0)==5){c=b[e>>0]|0;g=a}a=(c<<24>>24)+-48|0;if(a>>>0<10){d=a;a=0;c=e;do{c=c+1|0;a=(a*10|0)-d|0;d=(b[c>>0]|0)+-48|0}while(d>>>0<10)}else a=0;return (g|0?a:0-a|0)|0}function gg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;e=a+8|0;c=f[a>>2]|0;if((f[e>>2]|0)-c>>2>>>0>=b>>>0)return;d=a+4|0;if(b>>>0>1073741823){a=Ha(4)|0;gm(a);sa(a|0,840,80)}j=(f[d>>2]|0)-c|0;h=j>>2;i=_i(b<<2)|0;g=i+(h<<2)|0;h=g+(0-h<<2)|0;if((j|0)>0)Ld(h|0,c|0,j|0)|0;f[a>>2]=h;f[d>>2]=g;f[e>>2]=i+(b<<2);if(!c)return;Em(c);return}function hg(a){a=a|0;var b=0,c=0;f[a>>2]=1344;b=f[a+96>>2]|0;if(b|0)Em(b);b=f[a+84>>2]|0;if(b|0)Em(b);b=f[a+72>>2]|0;if(b|0)Em(b);b=f[a+60>>2]|0;if(b|0)Em(b);f[a>>2]=1176;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Em(c);return}function ig(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2264;b=a+96|0;c=a+4|0;d=c+92|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+100>>2]=-1;f[a+104>>2]=-1;b=a+164|0;c=a+108|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));n[b>>2]=$(1.0);b=a+240|0;c=a+168|0;d=c+68|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));Ci(b);return}function jg(a,c,d){a=a|0;c=c|0;d=d|0;c=Kd(a,c)|0;if((c|0)==(a+4|0)){a=-1;c=(a|0)==-1;a=(a|0)!=0;d=c?d:a;return d|0}c=c+28|0;if((b[c+11>>0]|0)<0)c=f[c>>2]|0;a=fg(c)|0;c=(a|0)==-1;a=(a|0)!=0;d=c?d:a;return d|0}function kg(a){a=a|0;var c=0,d=0,e=0;e=a;a:do if(!(e&3)){c=a;d=4}else{c=e;while(1){if(!(b[a>>0]|0))break a;a=a+1|0;c=a;if(!(c&3)){c=a;d=4;break}}}while(0);if((d|0)==4){while(1){a=f[c>>2]|0;if(!((a&-2139062144^-2139062144)&a+-16843009))c=c+4|0;else break}if((a&255)<<24>>24)do c=c+1|0;while((b[c>>0]|0)!=0)}return c-e|0}function lg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c;d=c+4|0;f[e>>2]=b;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;dg(d,10730,24);Df(Kb(a,e)|0,d,1);pk(d);u=c;return}function mg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;e=Ra[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((e|0)<=0){b=1;return b|0}d=a+36|0;c=a+48|0;a=0;while(1){g=f[(f[d>>2]|0)+(a<<2)>>2]|0;a=a+1|0;if(!(Ma[f[(f[g>>2]|0)+20>>2]&31](g,c,b)|0)){a=0;c=5;break}if((a|0)>=(e|0)){a=1;c=5;break}}if((c|0)==5)return a|0;return 0}function ng(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2312;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}f[a+12>>2]=2336;b=f[a+32>>2]|0;if(b|0)Em(b);b=f[a+20>>2]|0;if(!b){Em(a);return}Em(b);Em(a);return}function og(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[b>>2]|0;if(!c){a=0;return a|0}e=a+44|0;d=f[e>>2]|0;if(d>>>0<(f[a+48>>2]|0)>>>0){f[b>>2]=0;f[d>>2]=c;f[e>>2]=(f[e>>2]|0)+4;a=1;return a|0}else{Dd(a+40|0,b);a=1;return a|0}return 0}function pg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;e=Ra[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((e|0)<=0){b=1;return b|0}d=a+36|0;c=a+48|0;a=0;while(1){g=f[(f[d>>2]|0)+(a<<2)>>2]|0;a=a+1|0;if(!(Ma[f[(f[g>>2]|0)+16>>2]&31](g,c,b)|0)){a=0;c=5;break}if((a|0)>=(e|0)){a=1;c=5;break}}if((c|0)==5)return a|0;return 0}function qg(a,b){a=+a;b=b|0;var c=0,d=0,e=0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;e=zj(c|0,d|0,52)|0;switch(e&2047){case 0:{if(a!=0.0){a=+qg(a*18446744073709551616.0,b);c=(f[b>>2]|0)+-64|0}else c=0;f[b>>2]=c;break}case 2047:break;default:{f[b>>2]=(e&2047)+-1022;f[s>>2]=c;f[s+4>>2]=d&-2146435073|1071644672;a=+p[s>>3]}}return +a}function rg(a){a=a|0;if(!(f[a+44>>2]|0)){a=0;return a|0}if(!(f[a+48>>2]|0)){a=0;return a|0}if(!(f[a+24>>2]|0)){a=0;return a|0}if(!(f[a+28>>2]|0)){a=0;return a|0}if(!(f[a+32>>2]|0)){a=0;return a|0}if(!(f[a+36>>2]|0)){a=0;return a|0}a=(f[a+72>>2]|0)!=-1;return a|0}function sg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2404;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}f[a+12>>2]=2384;b=f[a+32>>2]|0;if(b|0)Em(b);b=f[a+20>>2]|0;if(!b){Em(a);return}Em(b);Em(a);return}function tg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,g=0;a=u;u=u+32|0;g=a;e=a+8|0;p[g>>3]=0.0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;dg(e,c,kg(c)|0);pe(b,e,g)|0;d=+p[g>>3];pk(e);u=a;return +d}function ug(a,c){a=a|0;c=c|0;var d=0,e=0;d=0;while(1){if((h[13376+d>>0]|0)==(a|0)){e=2;break}d=d+1|0;if((d|0)==87){d=87;a=13464;e=5;break}}if((e|0)==2)if(!d)d=13464;else{a=13464;e=5}if((e|0)==5)while(1){do{e=a;a=a+1|0}while((b[e>>0]|0)!=0);d=d+-1|0;if(!d){d=a;break}else e=5}return _l(d,f[c+20>>2]|0)|0}function vg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2312;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}f[a+12>>2]=2336;b=f[a+32>>2]|0;if(b|0)Em(b);b=f[a+20>>2]|0;if(!b)return;Em(b);return}function wg(a){a=a|0;if(!(f[a+64>>2]|0)){a=0;return a|0}if(!(f[a+68>>2]|0)){a=0;return a|0}if(!(f[a+44>>2]|0)){a=0;return a|0}if(!(f[a+48>>2]|0)){a=0;return a|0}if(!(f[a+52>>2]|0)){a=0;return a|0}if(!(f[a+56>>2]|0)){a=0;return a|0}a=(f[a+92>>2]|0)!=-1;return a|0}function xg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;a=d+12|0;e=d;f[a>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;dg(e,c,kg(c)|0);Nf(b,e,a)|0;a=f[a>>2]|0;pk(e);u=d;return a|0}function yg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2404;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}f[a+12>>2]=2384;b=f[a+32>>2]|0;if(b|0)Em(b);b=f[a+20>>2]|0;if(!b)return;Em(b);return}function zg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=_i(60)|0;d=c;e=d+60|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));e=ge(c,b)|0;f[a>>2]=e?c:0;a=e?0:c;if(e)return;Lf(a);Em(a);return}function Ag(a){a=a|0;if(!a)return;pk(a+28|0);Bf(a+12|0,f[a+16>>2]|0);Mf(a,f[a+4>>2]|0);Em(a);return}function Bg(a,b,c){a=a|0;b=b|0;c=c|0;switch(c<<24>>24){case 0:{c=_i(20)|0;Mj(c);break}case 1:{c=_i(24)|0;kk(c);break}case 2:{c=_i(36)|0;dj(c);break}case 3:{c=_i(28)|0;ek(c);break}default:c=0}f[a>>2]=c;return}function Cg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=Dj(j^a|0,i^b|0,j|0,i|0)|0;g=I;a=f^j;b=e^i;return Dj((Wb(h,g,Dj(f^c|0,e^d|0,f|0,e|0)|0,I,0)|0)^a|0,I^b|0,a|0,b|0)|0}function Dg(a,c){a=a|0;c=c|0;var d=0,e=0;f[c>>2]=2;e=a+4|0;d=c+8|0;a=f[d>>2]|0;c=(f[c+12>>2]|0)-a|0;if(c>>>0<4294967292){Qg(d,c+4|0,0);a=f[d>>2]|0}c=a+c|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[c>>0]=e;b[c+1>>0]=e>>8;b[c+2>>0]=e>>16;b[c+3>>0]=e>>24;return}function Eg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+32|0;a=d;e=d+8|0;p[a>>3]=0.0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;dg(e,c,kg(c)|0);a=pe(b,e,a)|0;pk(e);u=d;return a|0}function Fg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&a>>>0>4294967295)while(1){e=Qi(a|0,c|0,10,0)|0;d=d+-1|0;b[d>>0]=e&255|48;e=a;a=il(a|0,c|0,10,0)|0;if(!(c>>>0>9|(c|0)==9&e>>>0>4294967295))break;else c=I}if(a)while(1){d=d+-1|0;b[d>>0]=(a>>>0)%10|0|48;if(a>>>0<10)break;else a=(a>>>0)/10|0}return d|0}function Gg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2632;b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);Em(b)}b=f[a+84>>2]|0;if(!b){zd(a);Em(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b);zd(a);Em(a);return}function Hg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=f[a>>2]|0;if((d|0)<0){c=-1073741824;return c|0}if((f[(f[b>>2]|0)+(d<<2)>>2]|0)==-1073741824){c=-1073741824;return c|0}b=(d>>>0)/3|0;a=f[c+96>>2]|0;if((b|0)>=(((f[c+100>>2]|0)-a|0)/12|0|0))Fa(12788,12706,64,12783);c=f[a+(b*12|0)+(((d>>>0)%3|0)<<2)>>2]|0;return c|0}function Ig(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;a=d+12|0;e=d;f[a>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;dg(e,c,kg(c)|0);a=Nf(b,e,a)|0;pk(e);u=d;return a|0}function Jg(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=c+16|0;a=f[g>>2]|0;h=c+36|0;i=c+24|0;do if(a){if((a|0)!=(d|0)){f[h>>2]=(f[h>>2]|0)+1;f[i>>2]=2;b[c+54>>0]=1;break}if((f[i>>2]|0)==2)f[i>>2]=e}else{f[g>>2]=d;f[i>>2]=e;f[h>>2]=1}while(0);return}function Kg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;Ab(a,b);if((b|0)<=-1)return;g=a+88|0;c=f[g>>2]|0;a=f[a+84>>2]|0;if((c-a>>2|0)<=(b|0))return;d=a+(b<<2)|0;a=d+4|0;b=c-a|0;e=b>>2;if(e){li(d|0,a|0,b|0)|0;c=f[g>>2]|0}a=d+(e<<2)|0;if((c|0)==(a|0))return;f[g>>2]=c+(~((c+-4-a|0)>>>2)<<2);return}function Lg(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;f[a>>2]=b;j=b+16|0;h=f[j+4>>2]|0;i=a+8|0;f[i>>2]=f[j>>2];f[i+4>>2]=h;i=b+24|0;h=f[i+4>>2]|0;b=a+16|0;f[b>>2]=f[i>>2];f[b+4>>2]=h;b=a+40|0;f[b>>2]=c;f[b+4>>2]=d;a=a+48|0;f[a>>2]=e;f[a+4>>2]=g;return}function Mg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((b|0)<=-1)Fa(12681,12706,63,12783);d=f[a+96>>2]|0;if((((f[a+100>>2]|0)-d|0)/12|0|0)>(b|0)){a=d+(b*12|0)|0;Vc(c,a,a+12|0);return 1}else Fa(12788,12706,64,12783);return 0}function Ng(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2632;b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);Em(b)}b=f[a+84>>2]|0;if(!b){zd(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b);zd(a);return}function Og(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;f[a>>2]=0;c=a+4|0;f[c>>2]=0;f[a+8>>2]=0;if(!b)return;if(b>>>0>1073741823){ql(a);a=Ha(4)|0;gm(a);sa(a|0,840,80)}d=b<<2;e=_i(d)|0;f[a>>2]=e;b=e+(b<<2)|0;f[a+8>>2]=b;vf(e|0,0,d|0)|0;f[c>>2]=b;return}function Pg(a,b,c){a=a|0;b=b|0;c=c|0;if(!(jj(a,b,c)|0)){c=0;return c|0}b=f[b+4>>2]|0;if((c|0)<=-1)Fa(12505,12521,67,12612);a=f[b+8>>2]|0;if(((f[b+12>>2]|0)-a>>2|0)<=(c|0))Fa(12622,12521,68,12612);c=(f[(f[a+(c<<2)>>2]|0)+28>>2]|0)==9;return c|0}function Qg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;e=a+4|0;d=f[e>>2]|0;c=f[a>>2]|0;g=d-c|0;if(b>>>0<=g>>>0){if(b>>>0 >>0?(h=c+b|0,(d|0)!=(h|0)):0)f[e>>2]=h}else Pe(a,b-g|0);a=a+24|0;h=a;h=lk(f[h>>2]|0,f[h+4>>2]|0,1,0)|0;f[a>>2]=h;f[a+4>>2]=I;return}function Rg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1652;b=f[a+76>>2]|0;if(b|0)Em(b);f[a>>2]=1176;b=f[a+32>>2]|0;if(!b){Em(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b);Em(a);return}function Sg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;b=u;u=u+16|0;d=b;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;dg(d,10682,26);f[a>>2]=-1;th(a+4|0,d);pk(d);u=b;return}function Tg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,i=0;e=h[a+12>>0]|0;g=a+8|0;b=f[g>>2]|0;if(b>>>0<4096?(d=a+4|0,c=f[d>>2]|0,(c|0)>0):0){i=f[a>>2]|0;a=c+-1|0;f[d>>2]=a;b=h[i+a>>0]|0|b<<8;f[g>>2]=b}d=b&255;a=0-e&255;e=X(b>>>8,a)|0;i=d>>>0>>0;f[g>>2]=i?e+d|0:b-a-e|0;return i|0}function Ug(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;Sg(e,a,b,c);c=a+24|0;f[c>>2]=f[e>>2];b=e+4|0;_h(a+28|0,b)|0;pk(b);u=d;return c|0}function Vg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;if(c?!(nf(d,a)|0):0){a=0;return a|0}b[a+36>>0]=1;d=a+16|0;e=f[d>>2]|0;c=(f[a>>2]|0)+e|0;g=a+8|0;d=Dj(f[g>>2]|0,f[g+4>>2]|0,e|0,f[d+4>>2]|0)|0;f[a+32>>2]=0;f[a+24>>2]=c;f[a+28>>2]=c+d;a=1;return a|0}function Wg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1400;b=f[a+76>>2]|0;if(b|0)Em(b);f[a>>2]=1176;b=f[a+32>>2]|0;if(!b){Em(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b);Em(a);return}function Xg(a,b){a=a|0;b=b|0;var c=0,d=0;d=_i(40)|0;f[d>>2]=-1;hj(d+8|0);Pa[f[(f[a>>2]|0)+16>>2]&7](a,d);c=b+88|0;b=f[c>>2]|0;f[c>>2]=d;if(!b)return 1;a=f[b+8>>2]|0;if(a|0){c=b+12|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;Em(a)}Em(b);return 1}function Yg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=952;b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+4>>2]|0;if(!b){Em(a);return}d=a+8|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b);Em(a);return}function Zg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;fd(e,a,b,c);c=a+24|0;f[c>>2]=f[e>>2];b=e+4|0;_h(a+28|0,b)|0;pk(b);u=d;return c|0}function _g(a){a=a|0;var b=0,c=0,d=0;b=f[a+8>>2]|0;c=f[a+12>>2]|0;if((b|0)==(c|0)){c=1;return c|0}a=a+32|0;while(1){d=f[b>>2]|0;b=b+4|0;if(!(Va[f[(f[d>>2]|0)+16>>2]&127](d,f[a>>2]|0)|0)){b=0;a=5;break}if((b|0)==(c|0)){b=1;a=5;break}}if((a|0)==5)return b|0;return 0}function $g(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(dl(a,f[b+8>>2]|0,g)|0)yf(0,b,c,d,e);else{a=f[a+8>>2]|0;Ua[f[(f[a>>2]|0)+20>>2]&3](a,b,c,d,e,g)}return}function ah(a){a=a|0;var b=0,c=0;f[a>>2]=1652;b=f[a+76>>2]|0;if(b|0)Em(b);f[a>>2]=1176;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Em(c);return}function bh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1708;Jm(a+108|0);f[a>>2]=1176;b=f[a+32>>2]|0;if(!b){Em(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b);Em(a);return}function ch(a){a=a|0;var b=0,c=0;f[a>>2]=2076;c=a+28|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)Cm(b);f[a>>2]=1116;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Af(a);Em(a);return}Oa[f[(f[b>>2]|0)+4>>2]&127](b);Af(a);Em(a);return}function dh(a,b){a=a|0;b=b|0;var c=0;if((b|0)<0){a=0;return a|0}c=b*3|0;if((b|0)>715827882){a=0;return a|0}_c(a,c,2620);_c(a+12|0,c,2616);gg(a+24|0,c);a=1;return a|0}function eh(a,b){a=a|0;b=b|0;if(!(Ee(a+8|0,b)|0)){a=0;return a|0}a=dd(a+88|0,b)|0;return a|0}function fh(a){a=a|0;var c=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;c=0;while(1){if((c|0)==3)break;f[a+(c<<2)>>2]=0;c=c+1|0}if((b[a+11>>0]|0)<0)c=(f[a+8>>2]&2147483647)+-1|0;else c=10;Sf(a,c,0);return}function gh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a+12>>2]|0;a=f[a+8>>2]|0;e=a;if((c|0)==(a|0)){b=0;return b|0}d=c-a>>2;c=0;while(1){a=f[e+(c<<2)>>2]|0;if((f[a+60>>2]|0)==(b|0)){c=5;break}c=c+1|0;if(c>>>0>=d>>>0){a=0;c=5;break}}if((c|0)==5)return a|0;return 0}function hh(a){a=a|0;var b=0,c=0;f[a>>2]=1400;b=f[a+76>>2]|0;if(b|0)Em(b);f[a>>2]=1176;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Em(c);return}function ih(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1456;Jm(a+108|0);f[a>>2]=1176;b=f[a+32>>2]|0;if(!b){Em(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b);Em(a);return}function jh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=952;b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}d=f[a+4>>2]|0;if(!d)return;c=a+8|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);Em(d);return}function kh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=u;u=u+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;vf(f|0,b|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{Qk(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}Qk(a,f,e)}u=g;return}function lh(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[a+12>>2]|0;a=f[a+8>>2]|0;d=a;if((c|0)==(a|0)){b=-1;return b|0}c=c-a>>2;a=0;while(1){if((f[(f[d+(a<<2)>>2]|0)+60>>2]|0)==(b|0)){c=5;break}a=a+1|0;if(a>>>0>=c>>>0){a=-1;c=5;break}}if((c|0)==5)return a|0;return 0}function mh(a){a=a|0;var b=0,c=0;f[a>>2]=2076;c=a+28|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)Cm(b);f[a>>2]=1116;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Af(a);return}Oa[f[(f[b>>2]|0)+4>>2]&127](b);Af(a);return}function nh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;f[a+4>>2]=b;b=f[b+4>>2]|0;if((c|0)<=-1)Fa(12505,12521,67,12612);d=f[b+8>>2]|0;if(((f[b+12>>2]|0)-d>>2|0)>(c|0)){f[a+8>>2]=f[d+(c<<2)>>2];f[a+12>>2]=c;return 1}else Fa(12622,12521,68,12612);return 0}function oh(a){a=a|0;var b=0,c=0;f[a>>2]=1708;Jm(a+108|0);f[a>>2]=1176;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Em(c);return}function ph(a,b){a=a|0;b=b|0;var c=0;if((b|0)<0){a=0;return a|0}c=f[a+4>>2]|0;if(((f[c+12>>2]|0)-(f[c+8>>2]|0)>>2|0)<=(b|0)){c=0;return c|0}c=f[(f[a+8>>2]|0)+(f[(f[a+20>>2]|0)+(b<<2)>>2]<<2)>>2]|0;c=Va[f[(f[c>>2]|0)+32>>2]&127](c,b)|0;return c|0}function qh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(dl(a,f[b+8>>2]|0,0)|0)Jg(0,b,c,d);else{a=f[a+8>>2]|0;Wa[f[(f[a>>2]|0)+28>>2]&7](a,b,c,d)}return}function rh(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;fh(d);af(a,d,b);pk(d);u=c;return}function sh(a){a=a|0;var b=0,c=0;f[a>>2]=1456;Jm(a+108|0);f[a>>2]=1176;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Em(c);return}function th(a,c){a=a|0;c=c|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;if((b[c+11>>0]|0)<0)dg(a,f[c>>2]|0,f[c+4>>2]|0);else{f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2]}return}function uh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;e=u;u=u+32|0;g=e;d=e+20|0;f[g>>2]=f[a+60>>2];f[g+4>>2]=0;f[g+8>>2]=b;f[g+12>>2]=d;f[g+16>>2]=c;if((wk(Ca(140,g|0)|0)|0)<0){f[d>>2]=-1;a=-1}else a=f[d>>2]|0;u=e;return a|0}function vh(a,b){a=a|0;b=b|0;var c=0;if((b|0)==-1|(b|0)>4){a=0;return a|0}c=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-c|0)<=0){a=0;return a|0}c=f[c>>2]|0;if((c|0)==-1){a=0;return a|0}a=f[(f[a+8>>2]|0)+(c<<2)>>2]|0;return a|0}function wh(a,b){a=a|0;b=b|0;var c=0;Ki(a);f[a>>2]=1056;c=a+36|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;c=f[b>>2]|0;f[b>>2]=0;f[a+60>>2]=c;return}function xh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)a=0;else{while(1){e=b[a>>0]|0;f=b[c>>0]|0;if(e<<24>>24!=f<<24>>24)break;d=d+-1|0;if(!d){a=0;break a}else{a=a+1|0;c=c+1|0}}a=(e&255)-(f&255)|0}while(0);return a|0}function yh(a,b,c){a=a|0;b=b|0;c=c|0;if(!(Gf(f[a+8>>2]|0,(f[b+4>>2]|0)-(f[b>>2]|0)>>2)|0)){a=0;return a|0}a=Ma[f[(f[a>>2]|0)+32>>2]&31](a,b,c)|0;return a|0}function zh(a,b){a=a|0;b=b|0;var c=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){a=0;return a|0}c=f[c+(b<<2)>>2]|0;if((c|0)<0){a=0;return a|0}a=Vd(f[(f[a+36>>2]|0)+(c<<2)>>2]|0)|0;return a|0}function Ah(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;e=a+11|0;d=b[e>>0]|0;if(d<<24>>24<0)g=f[a+4>>2]|0;else g=d&255;if(g>>>0<=c>>>0){ll(a);d=b[e>>0]|0}if(d<<24>>24<0)a=f[a>>2]|0;return a+c|0}function Bh(a){a=a|0;if(!(f[a+60>>2]|0))return 0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+52>>2]|0))return 0;else return (f[a+56>>2]|0)!=0|0;return 0}function Ch(a){a=a|0;var c=0,d=0;c=a+74|0;d=b[c>>0]|0;b[c>>0]=d+255|d;c=f[a>>2]|0;if(!(c&8)){f[a+8>>2]=0;f[a+4>>2]=0;c=f[a+44>>2]|0;f[a+28>>2]=c;f[a+20>>2]=c;f[a+16>>2]=c+(f[a+48>>2]|0);c=0}else{f[a>>2]=c|32;c=-1}return c|0}function Dh(a,c){a=a|0;c=c|0;var d=0,e=0;e=a;d=e+64|0;do{f[e>>2]=f[c>>2];e=e+4|0;c=c+4|0}while((e|0)<(d|0));e=a+64|0;f[a+88>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;b[e+20>>0]=0;return}function Eh(a){a=a|0;if(!(f[a+44>>2]|0)){a=0;return a|0}if(!(f[a+48>>2]|0)){a=0;return a|0}if(!(f[a+52>>2]|0)){a=0;return a|0}a=(f[a+56>>2]|0)!=0;return a|0}function Fh(a,b,c){a=a|0;b=b|0;c=c|0;if((b|0)!=0&(c|0)!=0){xb(a,b,c);return}else{Cb(a,0,0);return}}function Gh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=$(e);f[a+4>>2]=b;Uc(a+8|0,c,c+(d<<2)|0);n[a+20>>2]=e;return}function Hh(a){a=a|0;var b=0,c=0;c=a+15&-16|0;b=f[r>>2]|0;a=b+c|0;if((c|0)>0&(a|0)<(b|0)|(a|0)<0){ea()|0;va(12);return -1}f[r>>2]=a;if((a|0)>(da()|0)?(ca()|0)==0:0){f[r>>2]=b;va(12);return -1}return b|0}function Ih(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;c=f[c>>2]|0;e=a;d=b-a>>2;while(1){if(!d)break;b=(d|0)/2|0;g=e+(b<<2)|0;a=(f[g>>2]|0)>>>0 >>0;e=a?g+4|0:e;d=a?d+-1-b|0:b}return e|0}function Jh(a,b){a=a|0;b=b|0;b=f[b+88>>2]|0;if(!b){a=0;return a|0}if((f[b>>2]|0)!=2){a=0;return a|0}b=f[b+8>>2]|0;f[a+4>>2]=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;a=1;return a|0}function Kh(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;b[a+24>>0]=1;f[a+28>>2]=9;c=a+40|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[a+56>>2]=-1;f[a+60>>2]=0;return}function Lh(a,c){a=a|0;c=c|0;if(f[c+56>>2]|0){a=0;return a|0}if((b[c+24>>0]|0)!=3){a=0;return a|0}f[a+44>>2]=c;a=1;return a|0}function Mh(a,b){a=a|0;b=b|0;if(!(Va[f[(f[a>>2]|0)+36>>2]&127](a,b)|0)){a=0;return a|0}if(!(Va[f[(f[a>>2]|0)+40>>2]&127](a,b)|0)){a=0;return a|0}a=Ra[f[(f[a>>2]|0)+44>>2]&127](a)|0;return a|0}function Nh(a,c,d){a=a|0;c=c|0;d=d|0;if(!(jj(a,c,d)|0)){a=0;return a|0}d=f[a+8>>2]|0;if((b[d+24>>0]|0)!=3){a=0;return a|0}a=(f[d+28>>2]|0)==9;return a|0}function Oh(a,c){a=a|0;c=c|0;var d=0,e=0;d=b[a>>0]|0;e=b[c>>0]|0;if(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24))do{a=a+1|0;c=c+1|0;d=b[a>>0]|0;e=b[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));return (d&255)-(e&255)|0}function Ph(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(dl(a,f[b+8>>2]|0,g)|0)yf(0,b,c,d,e);return}function Qh(a){a=a|0;var b=0,c=0;f[a>>2]=1116;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Af(a);Em(a);return}Oa[f[(f[b>>2]|0)+4>>2]&127](b);Af(a);Em(a);return}function Rh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1176;b=f[a+32>>2]|0;if(!b){Em(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b);Em(a);return}function Sh(a,c){a=a|0;c=c|0;if(f[c+56>>2]|0){a=0;return a|0}if((b[c+24>>0]|0)!=3){a=0;return a|0}f[a+64>>2]=c;a=1;return a|0}function Th(a,b,c){a=a|0;b=b|0;c=c|0;return Gb(a,b,c)|0}function Uh(a){a=a|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;e=(f[e+56>>2]|0)-(f[e+52>>2]|0)>>2;b[d>>0]=0;Td(a+20|0,e,d);u=c;return}function Vh(a,c){a=a|0;c=c|0;if(((c|0)!=0?(f[c+56>>2]|0)==0:0)?(b[c+24>>0]|0)==3:0){f[a+60>>2]=c;c=1}else c=0;return c|0}function Wh(){var a=0,b=0;a=_i(40)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;n[a+16>>2]=$(1.0);b=a+20|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;n[a+36>>2]=$(1.0);return a|0}function Xh(a){a=a|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;e=(f[e+28>>2]|0)-(f[e+24>>2]|0)>>2;b[d>>0]=0;Td(a+20|0,e,d);u=c;return}function Yh(a){a=a|0;switch(a|0){case 11:case 2:case 1:{a=1;break}case 4:case 3:{a=2;break}case 6:case 5:{a=4;break}case 8:case 7:{a=8;break}case 9:{a=4;break}case 10:{a=8;break}default:a=-1}return a|0}function Zh(a){a=a|0;f[a>>2]=2360;_e(a+8|0);Em(a);return}function _h(a,c){a=a|0;c=c|0;var d=0,e=0;if((a|0)!=(c|0)){d=b[c+11>>0]|0;e=d<<24>>24<0;pf(a,e?f[c>>2]|0:c,e?f[c+4>>2]|0:d&255)|0}return a|0}function $h(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+32|0;d=c;ef(d,b);a=f[d+16>>2]|0;pk(d+4|0);u=c;return a|0}function ai(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=X(e,f)|0;d=a>>>16;a=(c>>>16)+(X(e,d)|0)|0;e=b>>>16;b=X(e,f)|0;return (I=(a>>>16)+(X(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function bi(a){a=a|0;var c=0,d=0;b[a+36>>0]=0;d=lk(f[a+32>>2]|0,0,7,0)|0;d=zj(d|0,I|0,3)|0;a=a+16|0;c=a;c=lk(d|0,I|0,f[c>>2]|0,f[c+4>>2]|0)|0;f[a>>2]=c;f[a+4>>2]=I;return}function ci(a){a=a|0;var b=0,c=0;f[a>>2]=1116;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Af(a);return}Oa[f[(f[b>>2]|0)+4>>2]&127](b);Af(a);return}function di(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(4559,4565,76,4712);return 0}function ei(a){a=a|0;f[a>>2]=2360;_e(a+8|0);return}function fi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f[b+44>>2]=e;Zb(a,b,c,d,e);return}function gi(a,b){a=a|0;b=b|0;var c=0;if((b|0)==-1|(b|0)>4){b=-1;return b|0}c=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-c|0)<=0){b=-1;return b|0}b=f[c>>2]|0;return b|0}function hi(a){a=a|0;var b=0,c=0;f[a>>2]=1176;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Em(c);return}function ii(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(dl(a,f[b+8>>2]|0,0)|0)Jg(0,b,c,d);return}function ji(a){a=a|0;var c=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;b[a+24>>0]=1;a=a+28|0;c=a+40|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(c|0));return}function ki(a){a=a|0;var b=0;f[a>>2]=2580;b=a+4|0;f[a+40>>2]=0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[b+28>>2]=0;d[b+32>>1]=0;return}function li(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if((c|0)<(a|0)&(a|0)<(c+d|0)){e=a;c=c+d|0;a=a+d|0;while((d|0)>0){a=a-1|0;c=c-1|0;d=d-1|0;b[a>>0]=b[c>>0]|0}a=e}else Ld(a,c,d)|0;return a|0}function mi(a){a=a|0;var c=0,d=0,e=0;c=f[a>>2]|0;d=(b[c>>0]|0)+-48|0;if(d>>>0<10){e=c;c=0;do{c=d+(c*10|0)|0;e=e+1|0;f[a>>2]=e;d=(b[e>>0]|0)+-48|0}while(d>>>0<10)}else c=0;return c|0}function ni(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=924;b=f[a+8>>2]|0;if(!b){Em(a);return}d=a+12|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b);Em(a);return}function oi(a,b){a=a|0;b=b|0;var c=0;if((b|0)<=-1)Fa(12505,12521,59,12612);c=f[a+8>>2]|0;if(((f[a+12>>2]|0)-c>>2|0)>(b|0))return f[c+(b<<2)>>2]|0;else Fa(12622,12521,60,12612);return 0}function pi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if((b|0)>0)d=0;else return;do{e=f[a+(d<<2)>>2]|0;f[c+(d<<2)>>2]=e<<31>>31^e>>>1;d=d+1|0}while((d|0)!=(b|0));return}function qi(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;if(!((a|0)==0&(c|0)==0))do{d=d+-1|0;b[d>>0]=h[13358+(a&15)>>0]|0|e;a=zj(a|0,c|0,4)|0;c=I}while(!((a|0)==0&(c|0)==0));return d|0}function ri(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=u;u=u+16|0;d=e;f[d>>2]=f[c>>2];a=Ma[f[(f[a>>2]|0)+16>>2]&31](a,b,d)|0;if(a)f[c>>2]=f[d>>2];u=e;return a&1|0}function si(){var a=0,b=0;b=Xi()|0;if((b|0?(a=f[b>>2]|0,a|0):0)?(b=a+48|0,(f[b>>2]&-256|0)==1126902528?(f[b+4>>2]|0)==1129074247:0):0)Ak(f[a+12>>2]|0);Ak(Ml()|0)}function ti(a){a=a|0;var c=0;c=b[w+(a&255)>>0]|0;if((c|0)<8)return c|0;c=b[w+(a>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=b[w+(a>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (b[w+(a>>>24)>>0]|0)+24|0}function ui(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=f[a>>2]|0;if(b|0){d=a+4|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}Em(a);return}function vi(a,c){a=a|0;c=c|0;var d=0;b[c+84>>0]=1;d=f[c+68>>2]|0;c=c+72|0;a=f[c>>2]|0;if((a|0)==(d|0))return 1;f[c>>2]=a+(~((a+-4-d|0)>>>2)<<2);return 1}function wi(a,b){a=a|0;b=b|0;if(b>>>0>=2){a=0;return a|0}f[a+28>>2]=b;a=1;return a|0}function xi(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;d[a+38>>1]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;f[c+24>>2]=0;b[c+28>>0]=0;return}function yi(a,b){a=a|0;b=b|0;return Va[f[(f[a>>2]|0)+48>>2]&127](a,(f[b+4>>2]|0)-(f[b>>2]|0)>>2)|0}function zi(a){a=a|0;var b=0,c=0;f[a>>2]=924;c=f[a+8>>2]|0;if(!c)return;b=a+12|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Em(c);return}function Ai(a,b){a=a|0;b=b|0;return Ee(a+8|0,b)|0}function Bi(a,b,c){a=a|0;b=b|0;c=c|0;pb(a,b,c);return}function Ci(a){a=a|0;xi(a);xi(a+40|0);$l(a+80|0);xi(a+96|0);f[a+136>>2]=0;f[a+140>>2]=0;f[a+144>>2]=0;return}function Di(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if((f[b+4>>2]|0)==(c|0)?(e=b+28|0,(f[e>>2]|0)!=1):0)f[e>>2]=d;return}function Ei(a,b){a=a|0;b=b|0;if(!b)return 0;else Fa(9437,5019,61,9448);return 0}function Fi(a){a=a|0;var b=0;f[a>>2]=2336;b=f[a+20>>2]|0;if(b|0)Em(b);b=f[a+8>>2]|0;if(!b){Em(a);return}Em(b);Em(a);return}function Gi(a,c,d){a=a|0;c=c|0;d=d|0;if(!((a|0)==0&(c|0)==0))do{d=d+-1|0;b[d>>0]=a&7|48;a=zj(a|0,c|0,3)|0;c=I}while(!((a|0)==0&(c|0)==0));return d|0}function Hi(a,b){a=a|0;b=b|0;if(!b)return 0;else Fa(9437,9038,65,9448);return 0}function Ii(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=a+20|0;e=f[d>>2]|0;a=(f[a+16>>2]|0)-e|0;a=a>>>0>c>>>0?c:a;Ld(e|0,b|0,a|0)|0;f[d>>2]=(f[d>>2]|0)+a;return c|0}function Ji(){var a=0,b=0;a=_i(24)|0;f[a>>2]=924;f[a+4>>2]=-1;b=a+8|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return a|0}function Ki(a){a=a|0;f[a>>2]=952;a=a+4|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[a+24>>2]=0;f[a+28>>2]=0;return}function Li(a){a=a|0;var c=0;Kh(a);c=a+64|0;f[a+88>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;b[c+20>>0]=0;return}function Mi(a){a=a|0;var b=0,c=0;if(!a)return;b=f[a+8>>2]|0;if(b|0){c=a+12|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;Em(b)}Em(a);return}function Ni(a){a=a|0;var b=0;f[a>>2]=2384;b=f[a+20>>2]|0;if(b|0)Em(b);b=f[a+8>>2]|0;if(!b){Em(a);return}Em(b);Em(a);return}function Oi(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;f[a>>2]=b;b=a+8|0;f[b>>2]=c;f[b+4>>2]=0;d[a+38>>1]=e;e=a+16|0;f[e>>2]=0;f[e+4>>2]=0;return}function Pi(a,b,c){a=a|0;b=$(b);c=c|0;var d=Ka;if((c|0)<1){a=0;return a|0}d=$($(1.0)/$(c|0));n[a+4>>2]=d;n[a>>2]=b;a=1;return a|0}function Qi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+16|0;e=g|0;Wb(a,b,c,d,e)|0;u=g;return (I=f[e+4>>2]|0,f[e>>2]|0)|0}function Ri(a){a=a|0;f[a>>2]=1908;Jm(a+88|0);Em(a);return}function Si(a){a=a|0;var b=0;f[a>>2]=2336;b=f[a+20>>2]|0;if(b|0)Em(b);b=f[a+8>>2]|0;if(!b)return;Em(b);return}function Ti(a){a=a|0;jl(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;a=a+24|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;return}function Ui(a){a=a|0;Fj(a);f[a>>2]=2632;a=a+84|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;return}function Vi(a){a=a|0;f[a>>2]=1992;Jm(a+88|0);Em(a);return}function Wi(a){a=a|0;f[a>>2]=1908;Jm(a+88|0);return}function Xi(){var a=0,b=0;a=u;u=u+16|0;if(!(za(16744,3)|0)){b=qa(f[4187]|0)|0;u=a;return b|0}else xj(15894,a);return 0}function Yi(a){a=a|0;var b=0;f[a>>2]=2384;b=f[a+20>>2]|0;if(b|0)Em(b);b=f[a+8>>2]|0;if(!b)return;Em(b);return}function Zi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=ai(e,f)|0;a=I;return (I=(X(b,f)|0)+(X(d,e)|0)+a|a&0,c|0|0)|0}function _i(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=Za(b)|0;if(a|0)break;a=Il()|0;if(!a){a=0;break}Ta[a&3]()}return a|0}function $i(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;a=Hm(f[a+60>>2]|0)|0;f[c>>2]=a;a=wk(ua(6,c|0)|0)|0;u=b;return a|0}function aj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Kc(b,c,d)|0}function bj(a){a=a|0;var b=0;b=u;u=u+16|0;rb(a);if(!(ra(f[4187]|0,0)|0)){u=b;return}else xj(15993,b)}function cj(a){a=a|0;f[a>>2]=1992;Jm(a+88|0);return}function dj(a){a=a|0;kk(a);f[a>>2]=2076;f[a+24>>2]=-1;f[a+28>>2]=0;n[a+32>>2]=$(0.0);return}function ej(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Wc(b,c,d)|0}function fj(a,b,c){a=a|0;b=b|0;c=c|0;f[a>>2]=b;b=a+8|0;f[b>>2]=c;f[b+4>>2]=0;a=a+16|0;f[a>>2]=0;f[a+4>>2]=0;return}function gj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;f[g>>2]=d;d=of(a,b,c,g)|0;u=e;return d|0}function hj(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;a=a+16|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;return}function ij(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function jj(a,b,c){a=a|0;b=b|0;c=c|0;return nh(a,b,c)|0}function kj(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Qa[a&15](b|0,c|0,d|0,e|0,f|0,g|0)|0}function lj(a,b,c){a=a|0;b=b|0;c=c|0;return gi(b,c)|0}function mj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return hf(b,c,d)|0}function nj(){var a=0;a=u;u=u+16|0;if(!(ta(16748,82)|0)){u=a;return}else xj(15943,a)}function oj(a){a=a|0;oc(a);Em(a);return}function pj(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;Ua[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function qj(a){a=a|0;if(!(f[a+44>>2]|0))return 0;else return Ra[f[(f[a>>2]|0)+48>>2]&127](a)|0;return 0}function rj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Hf(b,c,d)|0}function sj(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)vf(a|0,(bm(c)|0)&255|0,b|0)|0;return a|0}function tj(a){a=a|0;return 4}function uj(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b< >>32-c;return a< >2]|0;return Va[f[(f[a>>2]|0)+16>>2]&127](a,b)|0}function wj(a,b){a=a|0;b=b|0;a=f[a+48>>2]|0;return Va[f[(f[a>>2]|0)+12>>2]&127](a,b)|0}function xj(a,b){a=a|0;b=b|0;var c=0;c=u;u=u+16|0;f[c>>2]=b;b=f[673]|0;de(b,a,c)|0;_f(10,b)|0;wa()}function yj(a,b){a=a|0;b=b|0;a=f[a+48>>2]|0;return Va[f[(f[a>>2]|0)+20>>2]&127](a,b)|0}function zj(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b>>>c;return a>>>c|(b&(1< >>c-32|0}function Aj(a,b,c){a=a|0;b=b|0;c=c|0;return Ug(a,b,c)|0}function Bj(a){a=a|0;gc(a);Em(a);return}function Cj(){}function Dj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (I=d,a-c>>>0|0)|0}function Ej(a){a=a|0;return 5}function Fj(a){a=a|0;var b=0;f[a>>2]=2660;a=a+4|0;b=a+80|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function Gj(a){a=a|0;return 6}function Hj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Mg(b,c,d)|0}function Ij(a,b,c){a=a|0;b=b|0;c=c|0;f[a+28>>2]=b;f[a+32>>2]=c;return 1}function Jj(a,b){a=a|0;b=b|0;if(!b)b=0;else b=re(f[b>>2]|0,f[b+4>>2]|0,a)|0;return (b|0?b:a)|0}function Kj(a,b,c){a=a|0;b=b|0;c=c|0;return lj(a,b,c)|0}function Lj(a,b,c){a=a|0;b=b|0;c=c|0;return jd(b,c)|0}function Mj(a){a=a|0;f[a>>2]=1008;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=-1;f[a+16>>2]=0;return}function Nj(a,b){a=a|0;b=b|0;lg(a,b);return}function Oj(a){a=a|0;if(!a)return;pk(a+4|0);Em(a);return}function Pj(a){a=a|0;a=a+4|0;if((b[a+11>>0]|0)<0){a=f[a>>2]|0;return a|0}else return a|0;return 0}function Qj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Na[a&3](b|0,c|0,d|0,e|0,f|0)}function Rj(a,b,c){a=a|0;b=b|0;c=c|0;return Zg(a,b,c)|0}function Sj(a,b,c){a=a|0;b=b|0;c=c|0;return bg(a,b,c)|0}function Tj(a,b,c){a=a|0;b=b|0;c=c|0;return Eg(a,b,c)|0}function Uj(a,b,c){a=a|0;b=b|0;c=c|0;return Wf(a,b,c)|0}function Vj(a,b,c){a=a|0;b=b|0;c=c|0;return +(+tg(a,b,c))}function Wj(a){a=a|0;a=f[a+48>>2]|0;return Ra[f[(f[a>>2]|0)+28>>2]&127](a)|0}function Xj(a,b){a=a|0;b=b|0;return Va[f[(f[a>>2]|0)+12>>2]&127](a,b)|0}function Yj(a,b){a=a|0;b=b|0;return Va[f[(f[a>>2]|0)+56>>2]&127](a,b)|0}function Zj(a){a=a|0;a=f[a+48>>2]|0;return Ra[f[(f[a>>2]|0)+24>>2]&127](a)|0}function _j(a,b,c){a=a|0;b=b|0;c=c|0;return Qf(a,b,c)|0}function $j(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return 1}function ak(a,b,c){a=a|0;b=b|0;c=c|0;return rk(b,c)|0}function bk(a){a=a|0;a=f[a+48>>2]|0;return Ra[f[(f[a>>2]|0)+36>>2]&127](a)|0}function ck(a,b,c){a=a|0;b=b|0;c=c|0;return Ig(a,b,c)|0}function dk(a,b,c){a=a|0;b=b|0;c=c|0;return xg(a,b,c)|0}function ek(a){a=a|0;kk(a);f[a>>2]=1792;f[a+24>>2]=-1;return}function fk(a,b){a=a|0;b=b|0;f[a+8>>2]=b;f[a+12>>2]=-1;return 1}function gk(a,b,c){a=a|0;b=b|0;c=c|0;return mf(b,c)|0}function hk(a){a=+a;var b=0;p[s>>3]=a;b=f[s>>2]|0;I=f[s+4>>2]|0;return b|0}function ik(){var a=0;a=_i(40)|0;f[a>>2]=-1;hj(a+8|0);return a|0}function jk(){var a=0;a=_i(8)|0;f[a>>2]=896;f[a+4>>2]=-1;return a|0}function kk(a){a=a|0;Mj(a);f[a>>2]=1116;f[a+20>>2]=0;return}function lk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (I=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function mk(a,b){a=a|0;b=b|0;Nj(a,b);return}function nk(a,b){a=a|0;b=b|0;return $(n[(f[a+8>>2]|0)+(b<<2)>>2])}function ok(a,b){a=a|0;b=b|0;return $h(a,b)|0}function pk(a){a=a|0;if((b[a+11>>0]|0)<0)Em(f[a>>2]|0);return}function qk(a){a=a|0;if(!a)return;Oa[f[(f[a>>2]|0)+4>>2]&127](a);return}function rk(a,b){a=a|0;b=b|0;return gh(a,b)|0}function sk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Wa[a&7](b|0,c|0,d|0,e|0)}function tk(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)li(a|0,b|0,c|0)|0;return a|0}function uk(a){a=a|0;var b=0;b=a+60|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function vk(a,b,c){a=a|0;b=b|0;c=c|0;return oi(b,c)|0}function wk(a){a=a|0;var b=0;if(a>>>0>4294963200){b=qm()|0;f[b>>2]=0-a;a=-1}return a|0}function xk(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)Ld(a|0,b|0,c|0)|0;return a|0}function yk(a,b){a=a|0;b=b|0;return -1}function zk(a){a=a|0;return 3}function Ak(a){a=a|0;var b=0;b=u;u=u+16|0;Ta[a&3]();xj(16046,b)}function Bk(a){a=a|0;if(!a)a=0;else a=(fe(a,800,872,0)|0)!=0;return a&1|0}function Ck(a){a=a|0;ye(a);Em(a);return}function Dk(a){a=a|0;Lk(a);f[a>>2]=2204;f[a+48>>2]=0;return}function Ek(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ma[a&31](b|0,c|0,d|0)|0}function Fk(a,b,c){a=a|0;b=b|0;c=c|0;fj(a,b,c);return}function Gk(a){a=a|0;if(!a)return;Jm(a+24|0);Em(a);return}function Hk(a,b){a=a|0;b=b|0;return f[(f[a+4>>2]|0)+(b<<2)>>2]|0}function Ik(){var a=0;a=_i(64)|0;Kh(a);return a|0}function Jk(a,b){a=a|0;b=b|0;return $(Pk(a,b))}function Kk(a){a=a|0;return f[a+8>>2]|0}function Lk(a){a=a|0;ki(a);f[a>>2]=2144;f[a+44>>2]=0;return}function Mk(a){a=a|0;if(!a)return;kf(a);Em(a);return}function Nk(a,b){a=a|0;b=b|0;return xl(a,b)|0}function Ok(a){a=a|0;return b[(f[a+8>>2]|0)+24>>0]|0}function Pk(a,b){a=a|0;b=b|0;return $(n[(f[a>>2]|0)+(b<<2)>>2])}function Qk(a,b,c){a=a|0;b=b|0;c=c|0;if(!(f[a>>2]&32))Re(b,c,a)|0;return}function Rk(a){a=a|0;return (f[a+8>>2]|0)-(f[a+4>>2]|0)>>2|0}function Sk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Sa[a&7](b|0,c|0,d|0)}function Tk(){var a=0;a=_i(96)|0;Li(a);return a|0}function Uk(a){a=a|0;var b=0;b=u;u=u+a|0;u=u+15&-16;return b|0}function Vk(a){a=a|0;return ((f[a+100>>2]|0)-(f[a+96>>2]|0)|0)/12|0|0}function Wk(a,b){a=a|0;b=b|0;if(!a)a=0;else a=bf(a,b,0)|0;return a|0}function Xk(a){a=a|0;var b=0;b=(Am()|0)+188|0;return ug(a,f[b>>2]|0)|0}function Yk(){var a=0;a=_i(12)|0;nl(a);return a|0}function Zk(){var a=0;a=_i(40)|0;xi(a);return a|0}function _k(a,b){a=a|0;b=b|0;return 1}function $k(a,b){a=a|0;b=b|0;return gl(a,b)|0}function al(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(4);return 0}function bl(a){a=a|0;Af(a);Em(a);return}function cl(a){a=a|0;n[a>>2]=$(1.0);n[a+4>>2]=$(1.0);return}function dl(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function el(a,b){a=a|0;b=b|0;var c=0;c=sl(a|0)|0;return ((b|0)==0?a:c)|0}function fl(a){a=a|0;return (f[a+12>>2]|0)-(f[a+8>>2]|0)>>2|0}function gl(a,b){a=a|0;b=b|0;return f[(f[a>>2]|0)+(b<<2)>>2]|0}function hl(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return}function il(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Wb(a,b,c,d,0)|0}function jl(a){a=a|0;f[a+4>>2]=0;f[a+8>>2]=0;f[a>>2]=a+4;return}function kl(){var a=0;a=_i(84)|0;Fj(a);return a|0}function ll(a){a=a|0;Fa(15566,15444,1194,15595)}function ml(a){a=a|0;Fa(15415,15444,1183,15545)}function nl(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;return}function ol(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)>>2|0}function pl(a){a=a|0;Fa(15392,15291,315,15595)}function ql(a){a=a|0;Fa(15268,15291,304,15545)}function rl(a,b,c){a=a|0;b=b|0;c=c|0;return Va[a&127](b|0,c|0)|0}function sl(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function tl(a){a=a|0;Lk(a);f[a>>2]=2496;return}function ul(){var a=0;a=_i(1)|0;Jm(a);return a|0}function vl(a,c){a=a|0;c=c|0;b[a>>0]=b[c>>0]|0;return}function wl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(8)}function xl(a,b){a=a|0;b=b|0;return f[b+4>>2]|0}function yl(a){a=a|0;return $(n[a+20>>2])} +function Xa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;pa=u;u=u+48|0;fa=pa+40|0;ma=pa+28|0;na=pa+8|0;Q=pa+4|0;ha=pa;f[ma>>2]=0;oa=ma+4|0;f[oa>>2]=0;f[ma+8>>2]=0;f[na>>2]=0;f[na+4>>2]=0;f[na+8>>2]=0;f[na+12>>2]=0;n[na+16>>2]=$(1.0);ga=a+132|0;ba=f[a+136>>2]|0;a:do if((c|0)>0){aa=a+240|0;G=a+412|0;R=a+408|0;F=a+8|0;E=ma+8|0;_=a+36|0;C=a+40|0;Z=c+-1|0;A=a+436|0;B=a+424|0;D=na+4|0;z=a+396|0;x=0;w=0;while(1){d=x+1|0;e=f[G>>2]|0;b:do if((e|0)==-1){f[R>>2]=7;ca=160}else{t=(f[A>>2]|0)+(e<<2)|0;v=f[t>>2]|0;e=v+-1|0;f[t>>2]=e;if((v|0)<1){g=-1;break a}g=f[(f[(f[B>>2]|0)+((f[G>>2]|0)*12|0)>>2]|0)+(e<<2)>>2]|0;e=f[2468+(g<<2)>>2]|0;f[R>>2]=e;if(!g){e=f[oa>>2]|0;if((f[ma>>2]|0)==(e|0)){g=-1;break a}s=f[e+-4>>2]|0;r=(s|0)<0;c:do if(!r){e=s+(((s>>>0)%3|0|0)==0?2:-1)|0;if((e|0)<0)ca=10;else{i=f[F>>2]|0;h=f[i+12>>2]|0;while(1){g=f[h+(e<<2)>>2]|0;if((g|0)<=-1){o=0;break c}e=g+(((g>>>0)%3|0|0)==0?2:-1)|0;if((e|0)<0){o=1;break}}}}else{e=s;ca=10}while(0);if((ca|0)==10){ca=0;i=f[F>>2]|0;h=f[i+12>>2]|0;o=1}v=x*3|0;p=v+1|0;f[h+(s<<2)>>2]=p;f[h+(p<<2)>>2]=s;t=v+2|0;f[h+(e<<2)>>2]=t;f[h+(t<<2)>>2]=e;g=s+1|0;if(!r?(X=((g|0)%3|0|0)==0?s+-2|0:g,(X|0)>=0):0){q=f[i>>2]|0;m=f[q+(X<<2)>>2]|0;f[q+(v<<2)>>2]=m;if((m|0)>-1){l=i+24|0;i=i+28|0;h=f[i>>2]|0;g=f[l>>2]|0;k=h-g>>2;do if(k>>>0<=m>>>0){j=m+1|0;if(j>>>0>k>>>0){Oe(l,j-k|0);g=f[l>>2]|0;break}if(j>>>0 >>0?(H=g+(j<<2)|0,(h|0)!=(H|0)):0)f[i>>2]=h+(~((h+-4-H|0)>>>2)<<2)}while(0);f[g+(m<<2)>>2]=v;i=f[F>>2]|0;q=m}else q=m}else{f[(f[i>>2]|0)+(v<<2)>>2]=-1073741824;q=-1073741824}g=e+1|0;if(!o?(W=((g|0)%3|0|0)==0?e+-2|0:g,(W|0)>=0):0){o=f[i>>2]|0;l=f[o+(W<<2)>>2]|0;f[o+(p<<2)>>2]=l;if((l|0)>-1){k=i+24|0;h=i+28|0;g=f[h>>2]|0;e=f[k>>2]|0;j=g-e>>2;do if(j>>>0<=l>>>0){i=l+1|0;if(i>>>0>j>>>0){Oe(k,i-j|0);e=f[k>>2]|0;break}if(i>>>0 >>0?(K=e+(i<<2)|0,(g|0)!=(K|0)):0)f[h>>2]=g+(~((g+-4-K|0)>>>2)<<2)}while(0);f[e+(l<<2)>>2]=p;i=f[F>>2]|0}}else f[(f[i>>2]|0)+(p<<2)>>2]=-1073741824;if(!r?(U=(((s>>>0)%3|0|0)==0?2:-1)+s|0,(U|0)>=0):0){s=f[i>>2]|0;m=f[s+(U<<2)>>2]|0;f[s+(t<<2)>>2]=m;if((m|0)>-1){l=i+24|0;k=i+28|0;g=f[k>>2]|0;e=f[l>>2]|0;j=g-e>>2;do if(j>>>0<=m>>>0){i=m+1|0;h=g;if(i>>>0>j>>>0){Oe(l,i-j|0);e=f[l>>2]|0;break}if(i>>>0 >>0){g=e+(i<<2)|0;if((h|0)==(g|0))break;f[k>>2]=h+(~((h+-4-g|0)>>>2)<<2)}}while(0);g=t;e=e+(m<<2)|0;ca=47}}else{g=-1073741824;e=(f[i>>2]|0)+(t<<2)|0;ca=47}if((ca|0)==47){ca=0;f[e>>2]=g}if((w|0)>(ba|0)){g=-1;break a}e=(f[ga>>2]|0)+(q>>>5<<2)|0;f[e>>2]=f[e>>2]&~(1<<(q&31));f[(f[oa>>2]|0)+-4>>2]=v;e=v;g=0;j=w;break}switch(e|0){case 7:{ca=160;break b}case 3:case 5:{e=f[oa>>2]|0;if((f[ma>>2]|0)==(e|0)){g=-1;break a}r=f[e+-4>>2]|0;s=x*3|0;o=((g|0)==3?2:1)+s|0;e=f[F>>2]|0;t=f[e+12>>2]|0;f[t+(o<<2)>>2]=r;f[t+(r<<2)>>2]=o;t=w+1|0;f[(f[e>>2]|0)+(o<<2)>>2]=w;if((w|0)>-1){j=e+24|0;h=e+28|0;g=f[h>>2]|0;e=f[j>>2]|0;i=g-e>>2;do if(i>>>0<=w>>>0){if(t>>>0>i>>>0){Oe(j,t-i|0);e=f[j>>2]|0;break}if(t>>>0>>0?(J=e+(t<<2)|0,(g|0)!=(J|0)):0)f[h>>2]=g+(~((g+-4-J|0)>>>2)<<2)}while(0);f[e+(w<<2)>>2]=o;e=f[F>>2]|0}p=(o|0)<0;g=o+1|0;if(p)l=o;else l=((g|0)%3|0|0)==0?o+-2|0:g;q=(r|0)<0;if(!q?(T=(((r>>>0)%3|0|0)==0?2:-1)+r|0,(T|0)>=0):0){w=f[e>>2]|0;m=f[w+(T<<2)>>2]|0;f[w+(l<<2)>>2]=m;if((m|0)>-1){k=e+24|0;h=e+28|0;g=f[h>>2]|0;e=f[k>>2]|0;j=g-e>>2;do if(j>>>0<=m>>>0){i=m+1|0;if(i>>>0>j>>>0){Oe(k,i-j|0);e=f[k>>2]|0;break}if(i>>>0 >>0?(I=e+(i<<2)|0,(g|0)!=(I|0)):0)f[h>>2]=g+(~((g+-4-I|0)>>>2)<<2)}while(0);f[e+(m<<2)>>2]=l;e=f[F>>2]|0}}else f[(f[e>>2]|0)+(l<<2)>>2]=-1073741824;do if(!p)if(!((o>>>0)%3|0)){o=o+2|0;break}else{o=o+-1|0;break}while(0);g=r+1|0;if(!q?(V=((g|0)%3|0|0)==0?r+-2|0:g,(V|0)>=0):0){w=f[e>>2]|0;m=f[w+(V<<2)>>2]|0;f[w+(o<<2)>>2]=m;if((m|0)>-1){l=e+24|0;k=e+28|0;g=f[k>>2]|0;e=f[l>>2]|0;j=g-e>>2;do if(j>>>0<=m>>>0){i=m+1|0;h=g;if(i>>>0>j>>>0){Oe(l,i-j|0);e=f[l>>2]|0;break}if(i>>>0>=j>>>0)break;g=e+(i<<2)|0;if((h|0)==(g|0))break;f[k>>2]=h+(~((h+-4-g|0)>>>2)<<2)}while(0);g=o;e=e+(m<<2)|0;ca=88}}else{g=-1073741824;e=(f[e>>2]|0)+(o<<2)|0;ca=88}if((ca|0)==88){ca=0;f[e>>2]=g}f[(f[oa>>2]|0)+-4>>2]=s;e=s;g=1;j=t;break b}case 1:break;default:{g=-1;break a}}g=f[ma>>2]|0;e=f[oa>>2]|0;if((g|0)==(e|0)){g=-1;break a}o=e+-4|0;l=f[o>>2]|0;f[oa>>2]=o;j=f[D>>2]|0;d:do if(j){k=j+-1|0;i=(k&j|0)==0;if(i)m=k&x;else m=(x>>>0)%(j>>>0)|0;h=f[(f[na>>2]|0)+(m<<2)>>2]|0;if(h){if(i)do{h=f[h>>2]|0;if(!h){e=o;break d}if((f[h+4>>2]&k|0)!=(m|0)){e=o;break d}}while((f[h+8>>2]|0)!=(x|0));else do{h=f[h>>2]|0;if(!h){e=o;break d}if((((f[h+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(m|0)){e=o;break d}}while((f[h+8>>2]|0)!=(x|0));h=h+12|0;if((o|0)==(f[E>>2]|0)){$e(ma,h);g=f[ma>>2]|0;e=f[oa>>2]|0;break}else{f[o>>2]=f[h>>2];f[oa>>2]=e;break}}else e=o}else e=o;while(0);if((g|0)==(e|0)){g=-1;break a}o=f[e+-4>>2]|0;s=x*3|0;r=s+2|0;e=f[F>>2]|0;v=f[e+12>>2]|0;f[v+(o<<2)>>2]=r;f[v+(r<<2)>>2]=o;q=s+1|0;f[v+(l<<2)>>2]=q;f[v+(q<<2)>>2]=l;if((o|0)>=0){g=(((o>>>0)%3|0|0)==0?2:-1)+o|0;h=f[e>>2]|0;if((g|0)>=0){i=f[h+(g<<2)>>2]|0;f[h+(s<<2)>>2]=i;if((i|0)>-1){m=e+24|0;h=e+28|0;g=f[h>>2]|0;e=f[m>>2]|0;k=g-e>>2;do if(k>>>0<=i>>>0){j=i+1|0;if(j>>>0>k>>>0){Oe(m,j-k|0);e=f[m>>2]|0;break}if(j>>>0 >>0?(P=e+(j<<2)|0,(g|0)!=(P|0)):0)f[h>>2]=g+(~((g+-4-P|0)>>>2)<<2)}while(0);f[e+(i<<2)>>2]=s;e=f[F>>2]|0;h=1}else h=0}else{f[h+(s<<2)>>2]=-1073741824;h=0;i=-1073741824}g=o+1|0;g=((g|0)%3|0|0)==0?o+-2|0:g;j=f[e>>2]|0;if((g|0)>=0){p=f[j+(g<<2)>>2]|0;f[j+(q<<2)>>2]=p;if((p|0)>-1){o=e+24|0;j=e+28|0;g=f[j>>2]|0;e=f[o>>2]|0;m=g-e>>2;do if(m>>>0<=p>>>0){k=p+1|0;if(k>>>0>m>>>0){Oe(o,k-m|0);e=f[o>>2]|0;break}if(k>>>0 >>0?(O=e+(k<<2)|0,(g|0)!=(O|0)):0)f[j>>2]=g+(~((g+-4-O|0)>>>2)<<2)}while(0);f[e+(p<<2)>>2]=q;e=f[F>>2]|0;q=h}else q=h}else{g=j;ca=120}}else{g=f[e>>2]|0;f[g+(s<<2)>>2]=-1073741824;h=0;i=-1073741824;ca=120}if((ca|0)==120){ca=0;f[g+(q<<2)>>2]=-1073741824;q=h}if((l|0)>=0){g=(((l>>>0)%3|0|0)==0?2:-1)+l|0;h=f[e>>2]|0;if((g|0)>=0){p=f[h+(g<<2)>>2]|0;f[h+(r<<2)>>2]=p;if((p|0)>-1){o=e+24|0;m=e+28|0;g=f[m>>2]|0;e=f[o>>2]|0;k=g-e>>2;do if(k>>>0<=p>>>0){j=p+1|0;h=g;if(j>>>0>k>>>0){Oe(o,j-k|0);e=f[o>>2]|0;break}if(j>>>0 >>0){g=e+(j<<2)|0;if((h|0)==(g|0))break;f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2)}}while(0);g=r;e=e+(p<<2)|0;ca=141}}else{g=-1073741824;e=h+(r<<2)|0;ca=141}if((ca|0)==141){ca=0;f[e>>2]=g}h=l+1|0;h=((h|0)%3|0|0)==0?l+-2|0:h;g=f[F>>2]|0;if((h|0)<0){e=g;l=h;p=-1073741824}else{e=g;l=h;p=f[(f[g>>2]|0)+(h<<2)>>2]|0}}else{f[(f[e>>2]|0)+(r<<2)>>2]=-1073741824;p=-1073741824}t=f[z>>2]|0;v=t+(i<<2)|0;f[v>>2]=(f[v>>2]|0)+(f[t+(p<<2)>>2]|0);e:do if((l|0)>-1){o=i+1|0;if(!q){j=f[e>>2]|0;k=e+12|0;g=l;while(1){f[j+(g<<2)>>2]=i;v=g+1|0;g=((v|0)%3|0|0)==0?g+-2|0:v;if((g|0)<0)break e;h=f[(f[k>>2]|0)+(g<<2)>>2]|0;g=h+1|0;if((h|0)<0)break e;g=((g|0)%3|0|0)==0?h+-2|0:g;if((g|0)<=-1)break e}}do{f[(f[e>>2]|0)+(l<<2)>>2]=i;m=e+24|0;k=e+28|0;g=f[k>>2]|0;e=f[m>>2]|0;j=g-e>>2;do if(j>>>0<=i>>>0){h=g;if(o>>>0>j>>>0){Oe(m,o-j|0);e=f[m>>2]|0;break}if(o>>>0 >>0){g=e+(o<<2)|0;if((h|0)==(g|0))break;f[k>>2]=h+(~((h+-4-g|0)>>>2)<<2)}}while(0);f[e+(i<<2)>>2]=l;g=l+1|0;g=((g|0)%3|0|0)==0?l+-2|0:g;e=f[F>>2]|0;if((g|0)<0)break e;h=f[(f[e+12>>2]|0)+(g<<2)>>2]|0;g=h+1|0;if((h|0)<0)break e;l=((g|0)%3|0|0)==0?h+-2|0:g}while((l|0)>-1)}while(0);f[(f[e+24>>2]|0)+(p<<2)>>2]=-1073741824;f[(f[oa>>2]|0)+-4>>2]=s;e=s;g=0;j=w}while(0);if((ca|0)==160){ca=0;k=x*3|0;f[fa>>2]=k;h=f[F>>2]|0;m=w+1|0;e=f[h>>2]|0;f[e+(k<<2)>>2]=w;if((w|0)<=-1){g=k+1|0;i=w+2|0;f[e+(g<<2)>>2]=m;if((w|0)==-1){e=h;l=i;ca=169}else{g=k;l=i}}else{j=h+24|0;h=h+28|0;g=f[h>>2]|0;e=f[j>>2]|0;i=g-e>>2;do if(i>>>0<=w>>>0){if(m>>>0>i>>>0){Oe(j,m-i|0);e=f[j>>2]|0;break}if(m>>>0>>0?(N=e+(m<<2)|0,(g|0)!=(N|0)):0)f[h>>2]=g+(~((g+-4-N|0)>>>2)<<2)}while(0);f[e+(w<<2)>>2]=k;e=f[F>>2]|0;g=(f[fa>>2]|0)+1|0;f[(f[e>>2]|0)+(g<<2)>>2]=m;l=w+2|0;ca=169}if((ca|0)==169){ca=0;k=e+24|0;i=e+28|0;h=f[i>>2]|0;e=f[k>>2]|0;j=h-e>>2;do if(j>>>0<=m>>>0){if(l>>>0>j>>>0){Oe(k,l-j|0);e=f[k>>2]|0;break}if(l>>>0 >>0?(M=e+(l<<2)|0,(h|0)!=(M|0)):0)f[i>>2]=h+(~((h+-4-M|0)>>>2)<<2)}while(0);f[e+(m<<2)>>2]=g;h=f[F>>2]|0;g=f[fa>>2]|0;e=f[h>>2]|0}k=g+2|0;m=w+3|0;f[e+(k<<2)>>2]=l;if((l|0)>-1){j=h+24|0;h=h+28|0;g=f[h>>2]|0;e=f[j>>2]|0;i=g-e>>2;do if(i>>>0<=l>>>0){if(m>>>0>i>>>0){Oe(j,m-i|0);e=f[j>>2]|0;break}if(m>>>0>>0?(L=e+(m<<2)|0,(g|0)!=(L|0)):0)f[h>>2]=g+(~((g+-4-L|0)>>>2)<<2)}while(0);f[e+(l<<2)>>2]=k}e=f[oa>>2]|0;if((e|0)==(f[E>>2]|0)){$e(ma,fa);e=f[oa>>2]|0}else{f[e>>2]=f[fa>>2];e=e+4|0;f[oa>>2]=e}e=f[e+-4>>2]|0;g=1;j=m}f[Q>>2]=e;f[fa>>2]=f[Q>>2];dc(aa,fa);f:do if(g?(S=c-x|0,Y=S+-1|0,y=f[C>>2]|0,(y|0)!=(f[_>>2]|0)):0){e=y;do{g=f[e+-8>>2]|0;if((g|0)>=(S|0)){g=-1;break a}if((g|0)!=(Y|0))break f;g=b[e+-4>>0]|0;i=f[e+-12>>2]|0;f[C>>2]=e+-12;if((i|0)<0){g=-1;break a}e=f[(f[oa>>2]|0)+-4>>2]|0;h=(e|0)<0;do if(!(g&1)){if(!h)if(!((e>>>0)%3|0)){e=e+2|0;break}else{e=e+-1|0;break}}else{g=e+1|0;if(!h)e=((g|0)%3|0|0)==0?e+-2|0:g}while(0);f[fa>>2]=Z-i;x=sc(na,fa)|0;f[x>>2]=e;e=f[C>>2]|0}while((e|0)!=(f[_>>2]|0))}while(0);if((d|0)<(c|0)){x=d;w=j}else{A=j;ca=202;break}}}else{d=0;A=0;ca=202}while(0);g:do if((ca|0)==202)if((A|0)<=(ba|0)){g=f[oa>>2]|0;h:do if((g|0)==(f[ma>>2]|0))e=a+8|0;else{s=a+320|0;e=a+8|0;z=a+60|0;x=a+64|0;v=a+68|0;t=a+76|0;w=a+80|0;y=a+72|0;i:while(1){ba=g;f[fa>>2]=f[ba+-4>>2];f[oa>>2]=ba+-4;do if(!(Tg(s)|0)){g=f[x>>2]|0;h=f[v>>2]|0;if((g|0)==(h<<5|0)){if((g+1|0)<0){ql(z);h=f[v>>2]|0}ba=h<<6;g=g+32&-32;Le(z,h<<5>>>0<1073741823?(ba>>>0 >>0?g:ba):2147483647);g=f[x>>2]|0}f[x>>2]=g+1;ba=(f[z>>2]|0)+(g>>>5<<2)|0;f[ba>>2]=f[ba>>2]&~(1<<(g&31));g=f[t>>2]|0;if((g|0)==(f[w>>2]|0)){$e(y,fa);break}else{f[g>>2]=f[fa>>2];f[t>>2]=g+4;break}}else{i=f[e>>2]|0;ba=f[i>>2]|0;p=ba;if((d|0)>=(((f[i+4>>2]|0)-ba>>2>>>0)/3|0|0))break i;m=f[fa>>2]|0;k=(m|0)<0;j:do if(!k){g=m+(((m>>>0)%3|0|0)==0?2:-1)|0;if((g|0)>=0){h=f[i+12>>2]|0;j=g;while(1){g=f[h+(j<<2)>>2]|0;if((g|0)<=-1){h=0;g=j;break}g=g+(((g>>>0)%3|0|0)==0?2:-1)|0;if((g|0)<0){h=1;break}else j=g}if(k){j=m;ca=215;break}}else h=1;j=m+1|0;j=((j|0)%3|0|0)==0?m+-2|0:j;if((j|0)<0)ca=215;else{k=f[i+12>>2]|0;l=j;while(1){j=f[k+(l<<2)>>2]|0;if((j|0)<=-1){q=0;break j}ba=j+1|0;j=((ba|0)%3|0|0)==0?j+-2|0:ba;if((j|0)<0){q=1;l=j;break}else l=j}}}else{h=1;g=m;j=m;ca=215}while(0);if((ca|0)==215){ca=0;k=f[i+12>>2]|0;q=1;l=j}r=d+1|0;d=d*3|0;f[ha>>2]=d;f[k+(d<<2)>>2]=m;f[k+(m<<2)>>2]=d;d=(f[ha>>2]|0)+1|0;f[k+(d<<2)>>2]=g;f[k+(g<<2)>>2]=d;d=(f[ha>>2]|0)+2|0;f[k+(d<<2)>>2]=l;f[k+(l<<2)>>2]=d;d=f[ha>>2]|0;j=g+1|0;if(!h?(ka=((j|0)%3|0|0)==0?g+-2|0:j,(ka|0)>=0):0){o=f[p+(ka<<2)>>2]|0;f[p+(d<<2)>>2]=o;if((o|0)>-1){m=i+24|0;i=i+28|0;h=f[i>>2]|0;g=f[m>>2]|0;k=h-g>>2;do if(k>>>0<=o>>>0){j=o+1|0;if(j>>>0>k>>>0){Oe(m,j-k|0);g=f[m>>2]|0;break}if(j>>>0 >>0?(ea=g+(j<<2)|0,(h|0)!=(ea|0)):0)f[i>>2]=h+(~((h+-4-ea|0)>>>2)<<2)}while(0);f[g+(o<<2)>>2]=d;d=f[ha>>2]|0;i=f[e>>2]|0}}else f[p+(d<<2)>>2]=-1073741824;m=d+1|0;g=l+1|0;if(!q?(ja=((g|0)%3|0|0)==0?l+-2|0:g,(ja|0)>=0):0){ba=f[i>>2]|0;l=f[ba+(ja<<2)>>2]|0;f[ba+(m<<2)>>2]=l;if((l|0)>-1){k=i+24|0;h=i+28|0;g=f[h>>2]|0;d=f[k>>2]|0;j=g-d>>2;do if(j>>>0<=l>>>0){i=l+1|0;if(i>>>0>j>>>0){Oe(k,i-j|0);d=f[k>>2]|0;break}if(i>>>0 >>0?(da=d+(i<<2)|0,(g|0)!=(da|0)):0)f[h>>2]=g+(~((g+-4-da|0)>>>2)<<2)}while(0);f[d+(l<<2)>>2]=m;d=f[ha>>2]|0;i=f[e>>2]|0}}else f[(f[i>>2]|0)+(m<<2)>>2]=-1073741824;o=d+2|0;g=f[fa>>2]|0;h=g+1|0;if((g|0)>=0?(ia=((h|0)%3|0|0)==0?g+-2|0:h,(ia|0)>=0):0){ba=f[i>>2]|0;m=f[ba+(ia<<2)>>2]|0;f[ba+(o<<2)>>2]=m;if((m|0)>-1){l=i+24|0;k=i+28|0;g=f[k>>2]|0;d=f[l>>2]|0;j=g-d>>2;do if(j>>>0<=m>>>0){i=m+1|0;h=g;if(i>>>0>j>>>0){Oe(l,i-j|0);d=f[l>>2]|0;break}if(i>>>0 >>0){g=d+(i<<2)|0;if((h|0)==(g|0))break;f[k>>2]=h+(~((h+-4-g|0)>>>2)<<2)}}while(0);f[d+(m<<2)>>2]=o;d=f[ha>>2]|0}}else f[(f[i>>2]|0)+(o<<2)>>2]=-1073741824;if((d|0)<0)d=-1073741824;else d=f[(f[f[e>>2]>>2]|0)+(d<<2)>>2]|0;g=f[ga>>2]|0;ba=g+(d>>>5<<2)|0;f[ba>>2]=f[ba>>2]&~(1<<(d&31));d=f[ha>>2]|0;if((d|0)<-1)d=-1073741824;else d=f[(f[f[e>>2]>>2]|0)+(d+1<<2)>>2]|0;ba=g+(d>>>5<<2)|0;f[ba>>2]=f[ba>>2]&~(1<<(d&31));d=f[ha>>2]|0;if((d|0)<-2)d=-1073741824;else d=f[(f[f[e>>2]>>2]|0)+(d+2<<2)>>2]|0;g=g+(d>>>5<<2)|0;f[g>>2]=f[g>>2]&~(1<<(d&31));d=f[x>>2]|0;g=f[v>>2]|0;if((d|0)==(g<<5|0)){if((d+1|0)<0){ql(z);g=f[v>>2]|0}ba=g<<6;d=d+32&-32;Le(z,g<<5>>>0<1073741823?(ba>>>0 >>0?d:ba):2147483647);d=f[x>>2]|0}f[x>>2]=d+1;ba=(f[z>>2]|0)+(d>>>5<<2)|0;f[ba>>2]=f[ba>>2]|1<<(d&31);d=f[t>>2]|0;if((d|0)==(f[w>>2]|0))$e(y,ha);else{f[d>>2]=f[ha>>2];f[t>>2]=d+4}d=r}while(0);g=f[oa>>2]|0;if((g|0)==(f[ma>>2]|0))break h}g=-1;break g}while(0);ka=f[e>>2]|0;if((d|0)==(((f[ka+4>>2]|0)-(f[ka>>2]|0)>>2>>>0)/3|0|0)){i=a+84|0;g=a+88|0;e=f[g>>2]|0;d=f[i>>2]|0;h=e-d>>2;if(A>>>0>h>>>0){Oe(i,A-h|0);g=A;break}if(A>>>0 >>0?(la=d+(A<<2)|0,(e|0)!=(la|0)):0){f[g>>2]=e+(~((e+-4-la|0)>>>2)<<2);g=A}else g=A}else g=-1}else g=-1;while(0);d=f[na+8>>2]|0;if(d|0)do{la=d;d=f[d>>2]|0;Em(la)}while((d|0)!=0);d=f[na>>2]|0;f[na>>2]=0;if(d|0)Em(d);d=f[ma>>2]|0;if(!d){u=pa;return g|0}e=f[oa>>2]|0;if((e|0)!=(d|0))f[oa>>2]=e+(~((e+-4-d|0)>>>2)<<2);Em(d);u=pa;return g|0}function Ya(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;oa=u;u=u+48|0;la=oa+28|0;ma=oa+8|0;ea=oa+4|0;ga=oa;f[la>>2]=0;na=la+4|0;f[na>>2]=0;f[la+8>>2]=0;f[ma>>2]=0;f[ma+4>>2]=0;f[ma+8>>2]=0;f[ma+12>>2]=0;n[ma+16>>2]=$(1.0);fa=a+132|0;aa=f[a+136>>2]|0;a:do if((c|0)>0){S=a+316|0;A=ma+4|0;C=a+8|0;D=la+8|0;T=a+312|0;Q=a+304|0;R=a+308|0;_=a+36|0;z=a+40|0;Z=c+-1|0;x=0;y=0;b:while(1){d=x+1|0;c:do if(!(b[S>>0]|0))ba=93;else{g=f[T>>2]|0;j=f[Q>>2]|0;k=f[R>>2]|0;e=j+(g>>>3)|0;if(e>>>0 >>0?(w=h[e>>0]|0,E=g+1|0,f[T>>2]=E,w&1<<(g&7)|0):0){e=j+(E>>>3)|0;if(e>>>0 >>0){i=(h[e>>0]|0)>>>(E&7)&1;g=g+2|0;f[T>>2]=g}else{g=E;i=0}e=j+(g>>>3)|0;if(e>>>0 >>0){e=(h[e>>0]|0)>>>(g&7);f[T>>2]=g+1;e=e<<1&2}else e=0;g=(e|i)<<1|1;switch(g&7){case 1:{ba=93;break c}case 3:case 5:{e=f[na>>2]|0;if((f[la>>2]|0)==(e|0)){B=-1;break a}v=f[e+-4>>2]|0;w=x*3|0;t=((g|0)==5?2:1)+w|0;g=f[C>>2]|0;e=f[g+12>>2]|0;f[e+(t<<2)>>2]=v;f[e+(v<<2)>>2]=t;e=y+1|0;f[(f[g>>2]|0)+(t<<2)>>2]=y;if((y|0)>-1){l=g+24|0;j=g+28|0;i=f[j>>2]|0;g=f[l>>2]|0;k=i-g>>2;do if(k>>>0<=y>>>0){if(e>>>0>k>>>0){Oe(l,e-k|0);g=f[l>>2]|0;break}if(e>>>0 >>0?(G=g+(e<<2)|0,(i|0)!=(G|0)):0)f[j>>2]=i+(~((i+-4-G|0)>>>2)<<2)}while(0);f[g+(y<<2)>>2]=t;g=f[C>>2]|0}r=(t|0)<0;i=t+1|0;if(r)p=t;else p=((i|0)%3|0|0)==0?t+-2|0:i;s=(v|0)<0;if(!s?(U=(((v>>>0)%3|0|0)==0?2:-1)+v|0,(U|0)>=0):0){y=f[g>>2]|0;q=f[y+(U<<2)>>2]|0;f[y+(p<<2)>>2]=q;if((q|0)>-1){o=g+24|0;m=g+28|0;i=f[m>>2]|0;g=f[o>>2]|0;l=i-g>>2;do if(l>>>0<=q>>>0){k=q+1|0;j=i;if(k>>>0>l>>>0){Oe(o,k-l|0);g=f[o>>2]|0;break}if(k>>>0>=l>>>0)break;i=g+(k<<2)|0;if((j|0)==(i|0))break;f[m>>2]=j+(~((j+-4-i|0)>>>2)<<2)}while(0);f[g+(q<<2)>>2]=p;g=f[C>>2]|0}}else f[(f[g>>2]|0)+(p<<2)>>2]=-1073741824;do if(!r)if(!((t>>>0)%3|0)){q=t+2|0;break}else{q=t+-1|0;break}else q=t;while(0);i=v+1|0;if(!s?(W=((i|0)%3|0|0)==0?v+-2|0:i,(W|0)>=0):0){y=f[g>>2]|0;p=f[y+(W<<2)>>2]|0;f[y+(q<<2)>>2]=p;if((p|0)>-1){o=g+24|0;m=g+28|0;i=f[m>>2]|0;g=f[o>>2]|0;l=i-g>>2;do if(l>>>0<=p>>>0){k=p+1|0;j=i;if(k>>>0>l>>>0){Oe(o,k-l|0);g=f[o>>2]|0;break}if(k>>>0>=l>>>0)break;i=g+(k<<2)|0;if((j|0)==(i|0))break;f[m>>2]=j+(~((j+-4-i|0)>>>2)<<2)}while(0);i=q;g=g+(p<<2)|0;ba=91}}else{i=-1073741824;g=(f[g>>2]|0)+(q<<2)|0;ba=91}if((ba|0)==91){ba=0;f[g>>2]=i}f[(f[na>>2]|0)+-4>>2]=w;break}case 7:{l=x*3|0;f[ea>>2]=l;i=f[C>>2]|0;m=y+1|0;e=f[i>>2]|0;f[e+(l<<2)>>2]=y;if((y|0)<=-1){g=l+1|0;j=y+2|0;f[e+(g<<2)>>2]=m;if((y|0)==-1){e=i;o=j;ba=170}else{g=l;o=j}}else{k=i+24|0;i=i+28|0;g=f[i>>2]|0;e=f[k>>2]|0;j=g-e>>2;do if(j>>>0<=y>>>0){if(m>>>0>j>>>0){Oe(k,m-j|0);e=f[k>>2]|0;break}if(m>>>0 >>0?(L=e+(m<<2)|0,(g|0)!=(L|0)):0)f[i>>2]=g+(~((g+-4-L|0)>>>2)<<2)}while(0);f[e+(y<<2)>>2]=l;e=f[C>>2]|0;g=(f[ea>>2]|0)+1|0;f[(f[e>>2]|0)+(g<<2)>>2]=m;o=y+2|0;ba=170}if((ba|0)==170){ba=0;l=e+24|0;j=e+28|0;i=f[j>>2]|0;e=f[l>>2]|0;k=i-e>>2;do if(k>>>0<=m>>>0){if(o>>>0>k>>>0){Oe(l,o-k|0);e=f[l>>2]|0;break}if(o>>>0 >>0?(K=e+(o<<2)|0,(i|0)!=(K|0)):0)f[j>>2]=i+(~((i+-4-K|0)>>>2)<<2)}while(0);f[e+(m<<2)>>2]=g;i=f[C>>2]|0;g=f[ea>>2]|0;e=f[i>>2]|0}l=g+2|0;m=y+3|0;f[e+(l<<2)>>2]=o;if((o|0)>-1){k=i+24|0;i=i+28|0;g=f[i>>2]|0;e=f[k>>2]|0;j=g-e>>2;do if(j>>>0<=o>>>0){if(m>>>0>j>>>0){Oe(k,m-j|0);e=f[k>>2]|0;break}if(m>>>0 >>0?(J=e+(m<<2)|0,(g|0)!=(J|0)):0)f[i>>2]=g+(~((g+-4-J|0)>>>2)<<2)}while(0);f[e+(o<<2)>>2]=l}e=f[na>>2]|0;if((e|0)==(f[D>>2]|0))$e(la,ea);else{f[e>>2]=f[ea>>2];f[na>>2]=e+4}e=m;break}default:break b}l=c-x|0;m=l+-1|0;g=f[z>>2]|0;if((g|0)==(f[_>>2]|0))break;while(1){i=f[g+-8>>2]|0;if((i|0)>=(l|0)){B=-1;break a}if((i|0)!=(m|0))break c;i=b[g+-4>>0]|0;k=f[g+-12>>2]|0;f[z>>2]=g+-12;if((k|0)<0){B=-1;break a}g=f[(f[na>>2]|0)+-4>>2]|0;j=(g|0)<0;do if(!(i&1)){if(!j)if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}else{i=g+1|0;if(!j)g=((i|0)%3|0|0)==0?g+-2|0:i}while(0);f[ea>>2]=Z-k;y=sc(ma,ea)|0;f[y>>2]=g;g=f[z>>2]|0;if((g|0)==(f[_>>2]|0))break c}}e=f[na>>2]|0;if((f[la>>2]|0)==(e|0)){B=-1;break a}v=f[e+-4>>2]|0;t=(v|0)<0;d:do if(!t){e=v+(((v>>>0)%3|0|0)==0?2:-1)|0;if((e|0)<0)ba=13;else{j=f[C>>2]|0;i=f[j+12>>2]|0;while(1){g=f[i+(e<<2)>>2]|0;if((g|0)<=-1){g=j;q=0;p=e;break d}e=g+(((g>>>0)%3|0|0)==0?2:-1)|0;if((e|0)<0){g=j;q=1;p=e;break}}}}else{e=v;ba=13}while(0);if((ba|0)==13){ba=0;g=f[C>>2]|0;i=f[g+12>>2]|0;q=1;p=e}e=x*3|0;r=e+1|0;f[i+(v<<2)>>2]=r;f[i+(r<<2)>>2]=v;w=e+2|0;f[i+(p<<2)>>2]=w;f[i+(w<<2)>>2]=p;i=v+1|0;if(!t?(Y=((i|0)%3|0|0)==0?v+-2|0:i,(Y|0)>=0):0){x=f[g>>2]|0;o=f[x+(Y<<2)>>2]|0;f[x+(e<<2)>>2]=o;if((o|0)>-1){m=g+24|0;j=g+28|0;i=f[j>>2]|0;g=f[m>>2]|0;l=i-g>>2;do if(l>>>0<=o>>>0){k=o+1|0;if(k>>>0>l>>>0){Oe(m,k-l|0);g=f[m>>2]|0;break}if(k>>>0 >>0?(F=g+(k<<2)|0,(i|0)!=(F|0)):0)f[j>>2]=i+(~((i+-4-F|0)>>>2)<<2)}while(0);f[g+(o<<2)>>2]=e;g=f[C>>2]|0;s=o}else s=o}else{f[(f[g>>2]|0)+(e<<2)>>2]=-1073741824;s=-1073741824}i=p+1|0;if(!q?(X=((i|0)%3|0|0)==0?p+-2|0:i,(X|0)>=0):0){x=f[g>>2]|0;o=f[x+(X<<2)>>2]|0;f[x+(r<<2)>>2]=o;if((o|0)>-1){m=g+24|0;j=g+28|0;i=f[j>>2]|0;g=f[m>>2]|0;l=i-g>>2;do if(l>>>0<=o>>>0){k=o+1|0;if(k>>>0>l>>>0){Oe(m,k-l|0);g=f[m>>2]|0;break}if(k>>>0 >>0?(I=g+(k<<2)|0,(i|0)!=(I|0)):0)f[j>>2]=i+(~((i+-4-I|0)>>>2)<<2)}while(0);f[g+(o<<2)>>2]=r;g=f[C>>2]|0}}else f[(f[g>>2]|0)+(r<<2)>>2]=-1073741824;if(!t?(V=(((v>>>0)%3|0|0)==0?2:-1)+v|0,(V|0)>=0):0){x=f[g>>2]|0;o=f[x+(V<<2)>>2]|0;f[x+(w<<2)>>2]=o;if((o|0)>-1){m=g+24|0;j=g+28|0;i=f[j>>2]|0;g=f[m>>2]|0;l=i-g>>2;do if(l>>>0<=o>>>0){k=o+1|0;if(k>>>0>l>>>0){Oe(m,k-l|0);g=f[m>>2]|0;break}if(k>>>0 >>0?(H=g+(k<<2)|0,(i|0)!=(H|0)):0)f[j>>2]=i+(~((i+-4-H|0)>>>2)<<2)}while(0);i=w;g=g+(o<<2)|0;ba=50}}else{i=-1073741824;g=(f[g>>2]|0)+(w<<2)|0;ba=50}if((ba|0)==50){ba=0;f[g>>2]=i}if((y|0)>(aa|0)){B=-1;break a}ba=(f[fa>>2]|0)+(s>>>5<<2)|0;f[ba>>2]=f[ba>>2]&~(1<<(s&31));ba=189}while(0);if((ba|0)==93){ba=0;g=f[la>>2]|0;e=f[na>>2]|0;if((g|0)==(e|0)){B=-1;break a}o=e+-4|0;t=f[o>>2]|0;f[na>>2]=o;k=f[A>>2]|0;e:do if(k){l=k+-1|0;j=(l&k|0)==0;if(j)m=l&x;else m=(x>>>0)%(k>>>0)|0;i=f[(f[ma>>2]|0)+(m<<2)>>2]|0;if(i){if(j)do{i=f[i>>2]|0;if(!i){e=o;break e}if((f[i+4>>2]&l|0)!=(m|0)){e=o;break e}}while((f[i+8>>2]|0)!=(x|0));else do{i=f[i>>2]|0;if(!i){e=o;break e}if((((f[i+4>>2]|0)>>>0)%(k>>>0)|0|0)!=(m|0)){e=o;break e}}while((f[i+8>>2]|0)!=(x|0));i=i+12|0;if((o|0)==(f[D>>2]|0)){$e(la,i);g=f[la>>2]|0;e=f[na>>2]|0;break}else{f[o>>2]=f[i>>2];f[na>>2]=e;break}}else e=o}else e=o;while(0);if((g|0)==(e|0)){B=-1;break a}p=f[e+-4>>2]|0;e=x*3|0;s=e+2|0;i=f[C>>2]|0;x=f[i+12>>2]|0;f[x+(p<<2)>>2]=s;f[x+(s<<2)>>2]=p;r=e+1|0;f[x+(t<<2)>>2]=r;f[x+(r<<2)>>2]=t;if((p|0)>=0){g=(((p>>>0)%3|0|0)==0?2:-1)+p|0;j=f[i>>2]|0;if((g|0)>=0){k=f[j+(g<<2)>>2]|0;f[j+(e<<2)>>2]=k;if((k|0)>-1){o=i+24|0;j=i+28|0;i=f[j>>2]|0;g=f[o>>2]|0;m=i-g>>2;do if(m>>>0<=k>>>0){l=k+1|0;if(l>>>0>m>>>0){Oe(o,l-m|0);g=f[o>>2]|0;break}if(l>>>0 >>0?(P=g+(l<<2)|0,(i|0)!=(P|0)):0)f[j>>2]=i+(~((i+-4-P|0)>>>2)<<2)}while(0);f[g+(k<<2)>>2]=e;i=f[C>>2]|0;j=1}else j=0}else{f[j+(e<<2)>>2]=-1073741824;j=0;k=-1073741824}g=p+1|0;g=((g|0)%3|0|0)==0?p+-2|0:g;l=f[i>>2]|0;if((g|0)>=0){q=f[l+(g<<2)>>2]|0;f[l+(r<<2)>>2]=q;if((q|0)>-1){p=i+24|0;l=i+28|0;i=f[l>>2]|0;g=f[p>>2]|0;o=i-g>>2;do if(o>>>0<=q>>>0){m=q+1|0;if(m>>>0>o>>>0){Oe(p,m-o|0);g=f[p>>2]|0;break}if(m>>>0 >>0?(O=g+(m<<2)|0,(i|0)!=(O|0)):0)f[l>>2]=i+(~((i+-4-O|0)>>>2)<<2)}while(0);f[g+(q<<2)>>2]=r;i=f[C>>2]|0;q=j;r=k}else{q=j;r=k}}else{g=l;ba=123}}else{g=f[i>>2]|0;f[g+(e<<2)>>2]=-1073741824;j=0;k=-1073741824;ba=123}if((ba|0)==123){ba=0;f[g+(r<<2)>>2]=-1073741824;q=j;r=k}f:do if((t|0)>=0){g=(((t>>>0)%3|0|0)==0?2:-1)+t|0;j=f[i>>2]|0;if((g|0)>=0){o=f[j+(g<<2)>>2]|0;f[j+(s<<2)>>2]=o;if((o|0)>-1){m=i+24|0;j=i+28|0;i=f[j>>2]|0;g=f[m>>2]|0;l=i-g>>2;do if(l>>>0<=o>>>0){k=o+1|0;if(k>>>0>l>>>0){Oe(m,k-l|0);g=f[m>>2]|0;break}if(k>>>0 >>0?(N=g+(k<<2)|0,(i|0)!=(N|0)):0)f[j>>2]=i+(~((i+-4-N|0)>>>2)<<2)}while(0);i=s;g=g+(o<<2)|0;ba=144}}else{i=-1073741824;g=j+(s<<2)|0;ba=144}if((ba|0)==144)f[g>>2]=i;j=t+1|0;j=((j|0)%3|0|0)==0?t+-2|0:j;i=f[C>>2]|0;if((j|0)<0)g=-1073741824;else{g=f[(f[i>>2]|0)+(j<<2)>>2]|0;p=r+1|0;if(!q){l=f[i>>2]|0;m=i+12|0;while(1){f[l+(j<<2)>>2]=r;ba=j+1|0;j=((ba|0)%3|0|0)==0?j+-2|0:ba;if((j|0)<0)break f;k=f[(f[m>>2]|0)+(j<<2)>>2]|0;j=k+1|0;if((k|0)<0)break f;j=((j|0)%3|0|0)==0?k+-2|0:j;if((j|0)<=-1)break f}}do{f[(f[i>>2]|0)+(j<<2)>>2]=r;o=i+24|0;l=i+28|0;k=f[l>>2]|0;i=f[o>>2]|0;m=k-i>>2;do if(m>>>0<=r>>>0){if(p>>>0>m>>>0){Oe(o,p-m|0);i=f[o>>2]|0;break}if(p>>>0 >>0?(M=i+(p<<2)|0,(k|0)!=(M|0)):0)f[l>>2]=k+(~((k+-4-M|0)>>>2)<<2)}while(0);f[i+(r<<2)>>2]=j;i=j+1|0;j=((i|0)%3|0|0)==0?j+-2|0:i;i=f[C>>2]|0;if((j|0)<0)break f;k=f[(f[i+12>>2]|0)+(j<<2)>>2]|0;j=k+1|0;if((k|0)<0)break f;j=((j|0)%3|0|0)==0?k+-2|0:j}while((j|0)>-1)}}else{f[(f[i>>2]|0)+(s<<2)>>2]=-1073741824;g=-1073741824}while(0);f[(f[i+24>>2]|0)+(g<<2)>>2]=-1073741824;ba=189}if((ba|0)==189){ba=0;f[(f[na>>2]|0)+-4>>2]=e;e=y}if((d|0)<(c|0)){x=d;y=e}else{B=e;ba=203;break a}}}else{d=0;B=0;ba=203}while(0);g:do if((ba|0)==203)if((B|0)<=(aa|0)){g=f[na>>2]|0;h:do if((g|0)==(f[la>>2]|0))e=a+8|0;else{A=a+320|0;e=a+8|0;z=a+60|0;x=a+64|0;v=a+68|0;t=a+76|0;w=a+80|0;y=a+72|0;i:while(1){aa=g;f[ea>>2]=f[aa+-4>>2];f[na>>2]=aa+-4;do if(!(Tg(A)|0)){g=f[x>>2]|0;i=f[v>>2]|0;if((g|0)==(i<<5|0)){if((g+1|0)<0){ql(z);i=f[v>>2]|0}aa=i<<6;g=g+32&-32;Le(z,i<<5>>>0<1073741823?(aa>>>0 >>0?g:aa):2147483647);g=f[x>>2]|0}f[x>>2]=g+1;aa=(f[z>>2]|0)+(g>>>5<<2)|0;f[aa>>2]=f[aa>>2]&~(1<<(g&31));g=f[t>>2]|0;if((g|0)==(f[w>>2]|0)){$e(y,ea);break}else{f[g>>2]=f[ea>>2];f[t>>2]=g+4;break}}else{j=f[e>>2]|0;aa=f[j>>2]|0;q=aa;if((d|0)>=(((f[j+4>>2]|0)-aa>>2>>>0)/3|0|0))break i;o=f[ea>>2]|0;l=(o|0)<0;j:do if(!l){g=o+(((o>>>0)%3|0|0)==0?2:-1)|0;if((g|0)>=0){i=f[j+12>>2]|0;k=g;while(1){g=f[i+(k<<2)>>2]|0;if((g|0)<=-1){i=0;g=k;break}g=g+(((g>>>0)%3|0|0)==0?2:-1)|0;if((g|0)<0){i=1;break}else k=g}if(l){k=o;ba=216;break}}else i=1;k=o+1|0;k=((k|0)%3|0|0)==0?o+-2|0:k;if((k|0)<0)ba=216;else{l=f[j+12>>2]|0;m=k;while(1){k=f[l+(m<<2)>>2]|0;if((k|0)<=-1){r=0;break j}aa=k+1|0;k=((aa|0)%3|0|0)==0?k+-2|0:aa;if((k|0)<0){r=1;m=k;break}else m=k}}}else{i=1;g=o;k=o;ba=216}while(0);if((ba|0)==216){ba=0;l=f[j+12>>2]|0;r=1;m=k}s=d+1|0;d=d*3|0;f[ga>>2]=d;f[l+(d<<2)>>2]=o;f[l+(o<<2)>>2]=d;d=(f[ga>>2]|0)+1|0;f[l+(d<<2)>>2]=g;f[l+(g<<2)>>2]=d;d=(f[ga>>2]|0)+2|0;f[l+(d<<2)>>2]=m;f[l+(m<<2)>>2]=d;d=f[ga>>2]|0;k=g+1|0;if(!i?(ja=((k|0)%3|0|0)==0?g+-2|0:k,(ja|0)>=0):0){p=f[q+(ja<<2)>>2]|0;f[q+(d<<2)>>2]=p;if((p|0)>-1){o=j+24|0;j=j+28|0;i=f[j>>2]|0;g=f[o>>2]|0;l=i-g>>2;do if(l>>>0<=p>>>0){k=p+1|0;if(k>>>0>l>>>0){Oe(o,k-l|0);g=f[o>>2]|0;break}if(k>>>0 >>0?(da=g+(k<<2)|0,(i|0)!=(da|0)):0)f[j>>2]=i+(~((i+-4-da|0)>>>2)<<2)}while(0);f[g+(p<<2)>>2]=d;d=f[ga>>2]|0;j=f[e>>2]|0}}else f[q+(d<<2)>>2]=-1073741824;o=d+1|0;g=m+1|0;if(!r?(ia=((g|0)%3|0|0)==0?m+-2|0:g,(ia|0)>=0):0){aa=f[j>>2]|0;m=f[aa+(ia<<2)>>2]|0;f[aa+(o<<2)>>2]=m;if((m|0)>-1){l=j+24|0;i=j+28|0;g=f[i>>2]|0;d=f[l>>2]|0;k=g-d>>2;do if(k>>>0<=m>>>0){j=m+1|0;if(j>>>0>k>>>0){Oe(l,j-k|0);d=f[l>>2]|0;break}if(j>>>0 >>0?(ca=d+(j<<2)|0,(g|0)!=(ca|0)):0)f[i>>2]=g+(~((g+-4-ca|0)>>>2)<<2)}while(0);f[d+(m<<2)>>2]=o;d=f[ga>>2]|0;j=f[e>>2]|0}}else f[(f[j>>2]|0)+(o<<2)>>2]=-1073741824;p=d+2|0;g=f[ea>>2]|0;i=g+1|0;if((g|0)>=0?(ha=((i|0)%3|0|0)==0?g+-2|0:i,(ha|0)>=0):0){aa=f[j>>2]|0;o=f[aa+(ha<<2)>>2]|0;f[aa+(p<<2)>>2]=o;if((o|0)>-1){m=j+24|0;l=j+28|0;g=f[l>>2]|0;d=f[m>>2]|0;k=g-d>>2;do if(k>>>0<=o>>>0){j=o+1|0;i=g;if(j>>>0>k>>>0){Oe(m,j-k|0);d=f[m>>2]|0;break}if(j>>>0 >>0){g=d+(j<<2)|0;if((i|0)==(g|0))break;f[l>>2]=i+(~((i+-4-g|0)>>>2)<<2)}}while(0);f[d+(o<<2)>>2]=p;d=f[ga>>2]|0}}else f[(f[j>>2]|0)+(p<<2)>>2]=-1073741824;if((d|0)<0)d=-1073741824;else d=f[(f[f[e>>2]>>2]|0)+(d<<2)>>2]|0;g=f[fa>>2]|0;aa=g+(d>>>5<<2)|0;f[aa>>2]=f[aa>>2]&~(1<<(d&31));d=f[ga>>2]|0;if((d|0)<-1)d=-1073741824;else d=f[(f[f[e>>2]>>2]|0)+(d+1<<2)>>2]|0;aa=g+(d>>>5<<2)|0;f[aa>>2]=f[aa>>2]&~(1<<(d&31));d=f[ga>>2]|0;if((d|0)<-2)d=-1073741824;else d=f[(f[f[e>>2]>>2]|0)+(d+2<<2)>>2]|0;g=g+(d>>>5<<2)|0;f[g>>2]=f[g>>2]&~(1<<(d&31));d=f[x>>2]|0;g=f[v>>2]|0;if((d|0)==(g<<5|0)){if((d+1|0)<0){ql(z);g=f[v>>2]|0}aa=g<<6;d=d+32&-32;Le(z,g<<5>>>0<1073741823?(aa>>>0 >>0?d:aa):2147483647);d=f[x>>2]|0}f[x>>2]=d+1;aa=(f[z>>2]|0)+(d>>>5<<2)|0;f[aa>>2]=f[aa>>2]|1<<(d&31);d=f[t>>2]|0;if((d|0)==(f[w>>2]|0))$e(y,ga);else{f[d>>2]=f[ga>>2];f[t>>2]=d+4}d=s}while(0);g=f[na>>2]|0;if((g|0)==(f[la>>2]|0))break h}B=-1;break g}while(0);ja=f[e>>2]|0;if((d|0)==(((f[ja+4>>2]|0)-(f[ja>>2]|0)>>2>>>0)/3|0|0)){j=a+84|0;g=a+88|0;e=f[g>>2]|0;d=f[j>>2]|0;i=e-d>>2;if(B>>>0>i>>>0){Oe(j,B-i|0);break}if(B>>>0>>0?(ka=d+(B<<2)|0,(e|0)!=(ka|0)):0)f[g>>2]=e+(~((e+-4-ka|0)>>>2)<<2)}else B=-1}else B=-1;while(0);d=f[ma+8>>2]|0;if(d|0)do{ka=d;d=f[d>>2]|0;Em(ka)}while((d|0)!=0);d=f[ma>>2]|0;f[ma>>2]=0;if(d|0)Em(d);d=f[la>>2]|0;if(!d){u=oa;return B|0}e=f[na>>2]|0;if((e|0)!=(d|0))f[na>>2]=e+(~((e+-4-d|0)>>>2)<<2);Em(d);u=oa;return B|0}function Za(a){a=a|0;var b=0,c=0,d=0,e=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,w=0,x=0;x=u;u=u+16|0;n=x;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;m=f[4046]|0;c=m>>>a;if(c&3|0){d=(c&1^1)+a|0;e=16224+(d<<1<<2)|0;b=e+8|0;a=f[b>>2]|0;g=a+8|0;c=f[g>>2]|0;if((e|0)==(c|0))f[4046]=m&~(1< >2]=e;f[b>>2]=c}w=d<<3;f[a+4>>2]=w|3;w=a+w+4|0;f[w>>2]=f[w>>2]|1;w=g;u=x;return w|0}l=f[4048]|0;if(k>>>0>l>>>0){if(c|0){h=2<>>12&16;c=c>>>h;a=c>>>5&8;c=c>>>a;e=c>>>2&4;c=c>>>e;b=c>>>1&2;c=c>>>b;d=c>>>1&1;d=(a|h|e|b|d)+(c>>>d)|0;c=16224+(d<<1<<2)|0;b=c+8|0;e=f[b>>2]|0;h=e+8|0;a=f[h>>2]|0;if((c|0)==(a|0)){a=m&~(1< >2]=c;f[b>>2]=a;a=m}g=(d<<3)-k|0;f[e+4>>2]=k|3;e=e+k|0;f[e+4>>2]=g|1;f[e+g>>2]=g;if(l|0){d=f[4051]|0;b=l>>>3;c=16224+(b<<1<<2)|0;b=1<>2]|0}f[b>>2]=d;f[a+12>>2]=d;f[d+8>>2]=a;f[d+12>>2]=c}f[4048]=g;f[4051]=e;w=h;u=x;return w|0}i=f[4047]|0;if(i){c=(i&0-i)+-1|0;h=c>>>12&16;c=c>>>h;g=c>>>5&8;c=c>>>g;j=c>>>2&4;c=c>>>j;a=c>>>1&2;c=c>>>a;d=c>>>1&1;d=f[16488+((g|h|j|a|d)+(c>>>d)<<2)>>2]|0;c=(f[d+4>>2]&-8)-k|0;a=f[d+16+(((f[d+16>>2]|0)==0&1)<<2)>>2]|0;if(!a){j=c;h=d}else{do{h=(f[a+4>>2]&-8)-k|0;j=h>>>0 >>0;c=j?h:c;d=j?a:d;a=f[a+16+(((f[a+16>>2]|0)==0&1)<<2)>>2]|0}while((a|0)!=0);j=c;h=d}g=h+k|0;if(h>>>0 >>0){e=f[h+24>>2]|0;b=f[h+12>>2]|0;do if((b|0)==(h|0)){a=h+20|0;b=f[a>>2]|0;if(!b){a=h+16|0;b=f[a>>2]|0;if(!b){c=0;break}}while(1){d=b+20|0;c=f[d>>2]|0;if(c|0){b=c;a=d;continue}d=b+16|0;c=f[d>>2]|0;if(!c)break;else{b=c;a=d}}f[a>>2]=0;c=b}else{c=f[h+8>>2]|0;f[c+12>>2]=b;f[b+8>>2]=c;c=b}while(0);do if(e|0){b=f[h+28>>2]|0;a=16488+(b<<2)|0;if((h|0)==(f[a>>2]|0)){f[a>>2]=c;if(!c){f[4047]=i&~(1<>2]|0)!=(h|0)&1)<<2)>>2]=c;if(!c)break}f[c+24>>2]=e;b=f[h+16>>2]|0;if(b|0){f[c+16>>2]=b;f[b+24>>2]=c}b=f[h+20>>2]|0;if(b|0){f[c+20>>2]=b;f[b+24>>2]=c}}while(0);if(j>>>0<16){w=j+k|0;f[h+4>>2]=w|3;w=h+w+4|0;f[w>>2]=f[w>>2]|1}else{f[h+4>>2]=k|3;f[g+4>>2]=j|1;f[g+j>>2]=j;if(l|0){d=f[4051]|0;b=l>>>3;c=16224+(b<<1<<2)|0;b=1<>2]|0}f[b>>2]=d;f[a+12>>2]=d;f[d+8>>2]=a;f[d+12>>2]=c}f[4048]=j;f[4051]=g}w=h+8|0;u=x;return w|0}else m=k}else m=k}else m=k}else if(a>>>0<=4294967231){a=a+11|0;k=a&-8;d=f[4047]|0;if(d){c=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{m=(a+1048320|0)>>>16&8;v=a< >>16&4;v=v< >>16&2;j=14-(l|m|j)+(v< >>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;a=f[16488+(j<<2)>>2]|0;a:do if(!a){e=0;a=0;v=57}else{e=0;h=k<<((j|0)==31?0:25-(j>>>1)|0);i=a;a=0;while(1){g=(f[i+4>>2]&-8)-k|0;if(g>>>0 >>0)if(!g){c=0;e=i;a=i;v=61;break a}else{c=g;a=i}g=f[i+20>>2]|0;i=f[i+16+(h>>>31<<2)>>2]|0;e=(g|0)==0|(g|0)==(i|0)?e:g;g=(i|0)==0;if(g){v=57;break}else h=h<<((g^1)&1)}}while(0);if((v|0)==57){if((e|0)==0&(a|0)==0){a=2< >>12&16;a=a>>>j;i=a>>>5&8;a=a>>>i;l=a>>>2&4;a=a>>>l;m=a>>>1&2;a=a>>>m;e=a>>>1&1;e=f[16488+((i|j|l|m|e)+(a>>>e)<<2)>>2]|0;a=0}if(!e){i=c;j=a}else v=61}if((v|0)==61)while(1){v=0;l=(f[e+4>>2]&-8)-k|0;m=l>>>0 >>0;c=m?l:c;a=m?e:a;e=f[e+16+(((f[e+16>>2]|0)==0&1)<<2)>>2]|0;if(!e){i=c;j=a;break}else v=61}if((j|0)!=0?i>>>0<((f[4048]|0)-k|0)>>>0:0){h=j+k|0;if(j>>>0>=h>>>0){w=0;u=x;return w|0}g=f[j+24>>2]|0;b=f[j+12>>2]|0;do if((b|0)==(j|0)){a=j+20|0;b=f[a>>2]|0;if(!b){a=j+16|0;b=f[a>>2]|0;if(!b){b=0;break}}while(1){e=b+20|0;c=f[e>>2]|0;if(c|0){b=c;a=e;continue}e=b+16|0;c=f[e>>2]|0;if(!c)break;else{b=c;a=e}}f[a>>2]=0}else{w=f[j+8>>2]|0;f[w+12>>2]=b;f[b+8>>2]=w}while(0);do if(g){a=f[j+28>>2]|0;c=16488+(a<<2)|0;if((j|0)==(f[c>>2]|0)){f[c>>2]=b;if(!b){d=d&~(1<>2]|0)!=(j|0)&1)<<2)>>2]=b;if(!b)break}f[b+24>>2]=g;a=f[j+16>>2]|0;if(a|0){f[b+16>>2]=a;f[a+24>>2]=b}a=f[j+20>>2]|0;if(a){f[b+20>>2]=a;f[a+24>>2]=b}}while(0);do if(i>>>0>=16){f[j+4>>2]=k|3;f[h+4>>2]=i|1;f[h+i>>2]=i;b=i>>>3;if(i>>>0<256){c=16224+(b<<1<<2)|0;a=f[4046]|0;b=1<>2]|0}f[b>>2]=h;f[a+12>>2]=h;f[h+8>>2]=a;f[h+12>>2]=c;break}b=i>>>8;if(b)if(i>>>0>16777215)b=31;else{v=(b+1048320|0)>>>16&8;w=b< >>16&4;w=w< >>16&2;b=14-(t|v|b)+(w<>>15)|0;b=i>>>(b+7|0)&1|b<<1}else b=0;c=16488+(b<<2)|0;f[h+28>>2]=b;a=h+16|0;f[a+4>>2]=0;f[a>>2]=0;a=1<>2]=h;f[h+24>>2]=c;f[h+12>>2]=h;f[h+8>>2]=h;break}a=i<<((b|0)==31?0:25-(b>>>1)|0);c=f[c>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(i|0)){v=97;break}d=c+16+(a>>>31<<2)|0;b=f[d>>2]|0;if(!b){v=96;break}else{a=a<<1;c=b}}if((v|0)==96){f[d>>2]=h;f[h+24>>2]=c;f[h+12>>2]=h;f[h+8>>2]=h;break}else if((v|0)==97){v=c+8|0;w=f[v>>2]|0;f[w+12>>2]=h;f[v>>2]=h;f[h+8>>2]=w;f[h+12>>2]=c;f[h+24>>2]=0;break}}else{w=i+k|0;f[j+4>>2]=w|3;w=j+w+4|0;f[w>>2]=f[w>>2]|1}while(0);w=j+8|0;u=x;return w|0}else m=k}else m=k}else m=-1;while(0);c=f[4048]|0;if(c>>>0>=m>>>0){a=c-m|0;b=f[4051]|0;if(a>>>0>15){w=b+m|0;f[4051]=w;f[4048]=a;f[w+4>>2]=a|1;f[w+a>>2]=a;f[b+4>>2]=m|3}else{f[4048]=0;f[4051]=0;f[b+4>>2]=c|3;w=b+c+4|0;f[w>>2]=f[w>>2]|1}w=b+8|0;u=x;return w|0}h=f[4049]|0;if(h>>>0>m>>>0){t=h-m|0;f[4049]=t;w=f[4052]|0;v=w+m|0;f[4052]=v;f[v+4>>2]=t|1;f[w+4>>2]=m|3;w=w+8|0;u=x;return w|0}if(!(f[4164]|0)){f[4166]=4096;f[4165]=4096;f[4167]=-1;f[4168]=-1;f[4169]=0;f[4157]=0;a=n&-16^1431655768;f[n>>2]=a;f[4164]=a;a=4096}else a=f[4166]|0;i=m+48|0;j=m+47|0;g=a+j|0;d=0-a|0;k=g&d;if(k>>>0<=m>>>0){w=0;u=x;return w|0}a=f[4156]|0;if(a|0?(l=f[4154]|0,n=l+k|0,n>>>0<=l>>>0|n>>>0>a>>>0):0){w=0;u=x;return w|0}b:do if(!(f[4157]&4)){c=f[4052]|0;c:do if(c){e=16632;while(1){a=f[e>>2]|0;if(a>>>0<=c>>>0?(q=e+4|0,(a+(f[q>>2]|0)|0)>>>0>c>>>0):0)break;a=f[e+8>>2]|0;if(!a){v=118;break c}else e=a}b=g-h&d;if(b>>>0<2147483647){a=Hh(b|0)|0;if((a|0)==((f[e>>2]|0)+(f[q>>2]|0)|0)){if((a|0)!=(-1|0)){h=a;g=b;v=135;break b}}else{d=a;v=126}}else b=0}else v=118;while(0);do if((v|0)==118){c=Hh(0)|0;if((c|0)!=(-1|0)?(b=c,o=f[4165]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=f[4154]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){q=f[4156]|0;if(q|0?p>>>0<=o>>>0|p>>>0>q>>>0:0){b=0;break}a=Hh(b|0)|0;if((a|0)==(c|0)){h=c;g=b;v=135;break b}else{d=a;v=126}}else b=0}while(0);do if((v|0)==126){c=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(d|0)!=(-1|0))))if((d|0)==(-1|0)){b=0;break}else{h=d;g=b;v=135;break b}a=f[4166]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=d;g=b;v=135;break b}if((Hh(a|0)|0)==(-1|0)){Hh(c|0)|0;b=0;break}else{h=d;g=a+b|0;v=135;break b}}while(0);f[4157]=f[4157]|4;v=133}else{b=0;v=133}while(0);if(((v|0)==133?k>>>0<2147483647:0)?(r=Hh(k|0)|0,q=Hh(0)|0,t=q-r|0,s=t>>>0>(m+40|0)>>>0,!((r|0)==(-1|0)|s^1|r>>>0 >>0&((r|0)!=(-1|0)&(q|0)!=(-1|0))^1)):0){h=r;g=s?t:b;v=135}if((v|0)==135){b=(f[4154]|0)+g|0;f[4154]=b;if(b>>>0>(f[4155]|0)>>>0)f[4155]=b;j=f[4052]|0;do if(j){e=16632;while(1){b=f[e>>2]|0;d=e+4|0;a=f[d>>2]|0;if((h|0)==(b+a|0)){v=145;break}c=f[e+8>>2]|0;if(!c)break;else e=c}if(((v|0)==145?(f[e+12>>2]&8|0)==0:0)?j>>>0>>0&j>>>0>=b>>>0:0){f[d>>2]=a+g;w=j+8|0;w=(w&7|0)==0?0:0-w&7;v=j+w|0;w=(f[4049]|0)+(g-w)|0;f[4052]=v;f[4049]=w;f[v+4>>2]=w|1;f[v+w+4>>2]=40;f[4053]=f[4168];break}if(h>>>0<(f[4050]|0)>>>0)f[4050]=h;c=h+g|0;a=16632;while(1){if((f[a>>2]|0)==(c|0)){v=153;break}b=f[a+8>>2]|0;if(!b)break;else a=b}if((v|0)==153?(f[a+12>>2]&8|0)==0:0){f[a>>2]=h;l=a+4|0;f[l>>2]=(f[l>>2]|0)+g;l=h+8|0;l=h+((l&7|0)==0?0:0-l&7)|0;b=c+8|0;b=c+((b&7|0)==0?0:0-b&7)|0;k=l+m|0;i=b-l-m|0;f[l+4>>2]=m|3;do if((b|0)!=(j|0)){if((b|0)==(f[4051]|0)){w=(f[4048]|0)+i|0;f[4048]=w;f[4051]=k;f[k+4>>2]=w|1;f[k+w>>2]=w;break}a=f[b+4>>2]|0;if((a&3|0)==1){h=a&-8;d=a>>>3;d:do if(a>>>0<256){a=f[b+8>>2]|0;c=f[b+12>>2]|0;if((c|0)==(a|0)){f[4046]=f[4046]&~(1< >2]=c;f[c+8>>2]=a;break}}else{g=f[b+24>>2]|0;a=f[b+12>>2]|0;do if((a|0)==(b|0)){d=b+16|0;c=d+4|0;a=f[c>>2]|0;if(!a){a=f[d>>2]|0;if(!a){a=0;break}else e=d}else e=c;while(1){d=a+20|0;c=f[d>>2]|0;if(c|0){a=c;e=d;continue}d=a+16|0;c=f[d>>2]|0;if(!c)break;else{a=c;e=d}}f[e>>2]=0}else{w=f[b+8>>2]|0;f[w+12>>2]=a;f[a+8>>2]=w}while(0);if(!g)break;c=f[b+28>>2]|0;d=16488+(c<<2)|0;do if((b|0)!=(f[d>>2]|0)){f[g+16+(((f[g+16>>2]|0)!=(b|0)&1)<<2)>>2]=a;if(!a)break d}else{f[d>>2]=a;if(a|0)break;f[4047]=f[4047]&~(1< >2]=g;d=b+16|0;c=f[d>>2]|0;if(c|0){f[a+16>>2]=c;f[c+24>>2]=a}c=f[d+4>>2]|0;if(!c)break;f[a+20>>2]=c;f[c+24>>2]=a}while(0);b=b+h|0;e=h+i|0}else e=i;b=b+4|0;f[b>>2]=f[b>>2]&-2;f[k+4>>2]=e|1;f[k+e>>2]=e;b=e>>>3;if(e>>>0<256){c=16224+(b<<1<<2)|0;a=f[4046]|0;b=1<>2]|0}f[b>>2]=k;f[a+12>>2]=k;f[k+8>>2]=a;f[k+12>>2]=c;break}b=e>>>8;do if(!b)a=0;else{if(e>>>0>16777215){a=31;break}v=(b+1048320|0)>>>16&8;w=b< >>16&4;w=w< >>16&2;a=14-(t|v|a)+(w<>>15)|0;a=e>>>(a+7|0)&1|a<<1}while(0);d=16488+(a<<2)|0;f[k+28>>2]=a;b=k+16|0;f[b+4>>2]=0;f[b>>2]=0;b=f[4047]|0;c=1<>2]=k;f[k+24>>2]=d;f[k+12>>2]=k;f[k+8>>2]=k;break}a=e<<((a|0)==31?0:25-(a>>>1)|0);c=f[d>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(e|0)){v=194;break}d=c+16+(a>>>31<<2)|0;b=f[d>>2]|0;if(!b){v=193;break}else{a=a<<1;c=b}}if((v|0)==193){f[d>>2]=k;f[k+24>>2]=c;f[k+12>>2]=k;f[k+8>>2]=k;break}else if((v|0)==194){v=c+8|0;w=f[v>>2]|0;f[w+12>>2]=k;f[v>>2]=k;f[k+8>>2]=w;f[k+12>>2]=c;f[k+24>>2]=0;break}}else{w=(f[4049]|0)+i|0;f[4049]=w;f[4052]=k;f[k+4>>2]=w|1}while(0);w=l+8|0;u=x;return w|0}a=16632;while(1){b=f[a>>2]|0;if(b>>>0<=j>>>0?(w=b+(f[a+4>>2]|0)|0,w>>>0>j>>>0):0)break;a=f[a+8>>2]|0}e=w+-47|0;a=e+8|0;a=e+((a&7|0)==0?0:0-a&7)|0;e=j+16|0;a=a>>>0 >>0?j:a;b=a+8|0;c=h+8|0;c=(c&7|0)==0?0:0-c&7;v=h+c|0;c=g+-40-c|0;f[4052]=v;f[4049]=c;f[v+4>>2]=c|1;f[v+c+4>>2]=40;f[4053]=f[4168];c=a+4|0;f[c>>2]=27;f[b>>2]=f[4158];f[b+4>>2]=f[4159];f[b+8>>2]=f[4160];f[b+12>>2]=f[4161];f[4158]=h;f[4159]=g;f[4161]=0;f[4160]=b;b=a+24|0;do{v=b;b=b+4|0;f[b>>2]=7}while((v+8|0)>>>0 >>0);if((a|0)!=(j|0)){g=a-j|0;f[c>>2]=f[c>>2]&-2;f[j+4>>2]=g|1;f[a>>2]=g;b=g>>>3;if(g>>>0<256){c=16224+(b<<1<<2)|0;a=f[4046]|0;b=1<>2]|0}f[b>>2]=j;f[a+12>>2]=j;f[j+8>>2]=a;f[j+12>>2]=c;break}b=g>>>8;if(b)if(g>>>0>16777215)c=31;else{v=(b+1048320|0)>>>16&8;w=b< >>16&4;w=w< >>16&2;c=14-(t|v|c)+(w< >>15)|0;c=g>>>(c+7|0)&1|c<<1}else c=0;d=16488+(c<<2)|0;f[j+28>>2]=c;f[j+20>>2]=0;f[e>>2]=0;b=f[4047]|0;a=1< >2]=j;f[j+24>>2]=d;f[j+12>>2]=j;f[j+8>>2]=j;break}a=g<<((c|0)==31?0:25-(c>>>1)|0);c=f[d>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(g|0)){v=216;break}d=c+16+(a>>>31<<2)|0;b=f[d>>2]|0;if(!b){v=215;break}else{a=a<<1;c=b}}if((v|0)==215){f[d>>2]=j;f[j+24>>2]=c;f[j+12>>2]=j;f[j+8>>2]=j;break}else if((v|0)==216){v=c+8|0;w=f[v>>2]|0;f[w+12>>2]=j;f[v>>2]=j;f[j+8>>2]=w;f[j+12>>2]=c;f[j+24>>2]=0;break}}}else{w=f[4050]|0;if((w|0)==0|h>>>0 >>0)f[4050]=h;f[4158]=h;f[4159]=g;f[4161]=0;f[4055]=f[4164];f[4054]=-1;b=0;do{w=16224+(b<<1<<2)|0;f[w+12>>2]=w;f[w+8>>2]=w;b=b+1|0}while((b|0)!=32);w=h+8|0;w=(w&7|0)==0?0:0-w&7;v=h+w|0;w=g+-40-w|0;f[4052]=v;f[4049]=w;f[v+4>>2]=w|1;f[v+w+4>>2]=40;f[4053]=f[4168]}while(0);b=f[4049]|0;if(b>>>0>m>>>0){t=b-m|0;f[4049]=t;w=f[4052]|0;v=w+m|0;f[4052]=v;f[v+4>>2]=t|1;f[w+4>>2]=m|3;w=w+8|0;u=x;return w|0}}w=qm()|0;f[w>>2]=12;w=0;u=x;return w|0}function _a(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=u;u=u+16|0;b=l;j=l+8|0;c=l+4|0;f[j>>2]=a;do if(a>>>0>=212){i=(a>>>0)/210|0;e=i*210|0;f[c>>2]=a-e;h=(Ih(3380,3572,c,b)|0)-3380>>2;a=e;e=0;a:while(1){b=(f[3380+(h<<2)>>2]|0)+a|0;d=5;while(1){if(d>>>0>=47){g=211;c=e;k=8;break}a=f[3188+(d<<2)>>2]|0;c=(b>>>0)/(a>>>0)|0;if(c>>>0>>0){k=106;break a}if((b|0)==(X(c,a)|0)){b=e;break}else d=d+1|0}b:do if((k|0)==8){c:while(1){k=0;a=(b>>>0)/(g>>>0)|0;do if(a>>>0>=g>>>0)if((b|0)!=(X(a,g)|0)){d=g+10|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+12|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+16|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+18|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+22|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+28|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)==(X(a,d)|0)){e=9;a=d}else{d=g+30|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0 >>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+36|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0 >>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+40|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0 >>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+42|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0 >>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+46|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0 >>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+52|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0 >>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+58|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0 >>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+60|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0 >>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+66|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0 >>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+70|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0 >>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+72|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0 >>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+78|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0 >>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+82|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0 >>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+88|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0 >>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+96|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0 >>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+100|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0 >>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+102|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0 >>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+106|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0 >>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+108|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0 >>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+112|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0 >>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+120|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0 >>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+126|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0 >>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+130|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0 >>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+136|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0 >>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+138|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0 >>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+142|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0 >>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+148|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0 >>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+150|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0