>2]=q+3;r=r+3|0;c[G>>2]=r;h=c[D>>2]|0;q=h>>>2;if((Ja|0)>0){ta=d[29345+(Ja+-1)>>0]|0;sa=h-(_(q,ta)|0)|0;c[E>>2]=(c[E>>2]|0)+sa;q=_(q,ta-(d[29345+Ja>>0]|0)|0)|0}else q=h-(_(q,d[29345+Ja>>0]|0)|0)|0;c[D>>2]=q;h=r;while(1){if(q>>>0>=8388609)break d;r=c[E>>2]|0;j=r>>>23;if((j|0)==255)c[F>>2]=(c[F>>2]|0)+1;else{r=r>>>31;h=c[H>>2]|0;if((h|0)>-1){q=c[I>>2]|0;if((q+(c[f>>2]|0)|0)>>>0<(c[J>>2]|0)>>>0){c[I>>2]=q+1;a[(c[Ta>>2]|0)+q>>0]=h+r;h=0}else h=-1;c[K>>2]=c[K>>2]|h}h=c[F>>2]|0;if(h|0){r=r+255&255;do{q=c[I>>2]|0;if((q+(c[f>>2]|0)|0)>>>0<(c[J>>2]|0)>>>0){c[I>>2]=q+1;a[(c[Ta>>2]|0)+q>>0]=r;q=0;h=c[F>>2]|0}else q=-1;c[K>>2]=c[K>>2]|q;h=h+-1|0;c[F>>2]=h}while((h|0)!=0)}c[H>>2]=j&255;r=c[E>>2]|0;q=c[D>>2]|0;h=c[G>>2]|0}c[E>>2]=r<<8&2147483392;q=q<<8;c[D>>2]=q;h=h+8|0;c[G>>2]=h}}while(0);qa=e+24|0;if((c[qa>>2]|0)>0?(c[ya>>2]|0)==0:0)F=Tc(T,P,ab,Ga,ba)|0;else F=0;J=(xa|0)>0;e:do if(J?((c[Ta+20>>2]|0)+((aa(c[Ta+28>>2]|0)|0)+-32)+3|0)<=(p|0):0)if(F){C=(_(ab,Oa)|0)<<2;B=i;i=i+((1*C|0)+15&-16)|0;C=i;i=i+((1*(Wa<<2)|0)+15&-16)|0;D=i;i=i+((1*(Wa<<2)|0)+15&-16)|0;z=_(Xa,db)|0;E=i;i=i+((1*(z<<2)|0)+15&-16)|0;if((c[qa>>2]|0)>7){Uc(Pa,0,T,B,Xa,ab,xa,c[U>>2]|0);h=c[Ia>>2]|0;q=c[oa>>2]<=(na|0))break;t=b[h+(y<<1)>>1]|0;j=B+(r+(t< >1]|0)-t< =(t|0))break;ja=+g[j+(x<<2)>>2];x=x+1|0;s=s+ja*ja}ja=+O(+(s+1.0000000272452012e-27));g[C+(y+(_(u,c[Ua>>2]|0)|0)<<2)>>2]=ja;y=m}u=u+1|0}while((u|0)<(Xa|0));q=0;do{h=0;while(1){if((h|0)>=(na|0)){h=na;break}ta=h+(_(q,c[Ua>>2]|0)|0)|0;ja=+Y(+(+g[C+(ta<<2)>>2]))*1.4426950408889634;g[E+(ta<<2)>>2]=ja-+g[17220+(h<<2)>>2];h=h+1|0}while(1){if((h|0)>=(cb|0))break;g[E+((_(q,c[Ua>>2]|0)|0)+h<<2)>>2]=-14.0;h=h+1|0}q=q+1|0}while((q|0)<(Xa|0));s=+(xa|0)*.5;h=0;while(1){if((h|0)>=(z|0)){H=1;G=0;h=F;F=X;ta=0;break e}ta=E+(h<<2)|0;g[ta>>2]=+g[ta>>2]+s;h=h+1|0}}else{H=0;G=0;h=F;F=X;ta=0}}else{h=F;q=0;za=171}else{h=0;q=1;za=171}while(0);if((za|0)==171){C=(_(ab,Oa)|0)<<2;B=i;i=i+((1*C|0)+15&-16)|0;C=i;i=i+((1*(Wa<<2)|0)+15&-16)|0;D=i;i=i+((1*(Wa<<2)|0)+15&-16)|0;H=(_(Xa,db)|0)<<2;E=i;i=i+((1*H|0)+15&-16)|0;H=0;G=1;F=0;ta=q}Uc(Pa,F,T,B,Xa,ab,xa,c[U>>2]|0);sa=(ab|0)==2;if(sa&(Xa|0)==1)c[ba>>2]=0;q=c[Ia>>2]|0;r=c[oa>>2]< =(na|0))break;u=b[q+(z<<1)>>1]|0;m=B+(j+(u< >1]|0)-u< =(u|0))break;ja=+g[m+(y<<2)>>2];y=y+1|0;s=s+ja*ja}ja=+O(+(s+1.0000000272452012e-27));g[C+(z+(_(x,c[Ua>>2]|0)|0)<<2)>>2]=ja;z=t}x=x+1|0}while((x|0)<(Xa|0));x=(c[ya>>2]|0)==0;f:do if(x)r=0;else{q=2;while(1){if((q|0)>=(cb|0)){r=0;break f}ra=C+(q<<2)|0;ga=+g[ra>>2];ja=+g[C>>2]*9.999999747378752e-05;ja=ga >2]=ja>1.0000000036274937e-15?ja:1.0000000036274937e-15;q=q+1|0}}while(0);do{q=0;while(1){if((q|0)>=(na|0)){q=na;break}ra=q+(_(r,c[Ua>>2]|0)|0)|0;ja=+Y(+(+g[C+(ra<<2)>>2]))*1.4426950408889634;g[D+(ra<<2)>>2]=ja-+g[17220+(q<<2)>>2];q=q+1|0}while(1){if((q|0)>=(cb|0))break;g[D+((_(r,c[Ua>>2]|0)|0)+q<<2)>>2]=-14.0;q=q+1|0}r=r+1|0}while((r|0)<(Xa|0));ra=_(Xa,db)|0;R=i;i=i+((1*(ra<<2)|0)+15&-16)|0;nf(R|0,0,cb<<2|0)|0;if(!Da?(S=c[e+204>>2]|0,!((S|0)==0|x^1)):0){u=c[e+92>>2]|0;u=(u|0)<2?2:u;t=0;q=0;v=0.0;s=0.0;while(1){if((t|0)>=(Xa|0))break;m=_(db,t)|0;j=0;w=s;while(1){if((j|0)>=(u|0))break;s=+g[S+(m+j<<2)>>2];r=s<.25;do if(s>-2.0|r^1){if(r){if(!(s>0.0))break}else s=.25;s=s*.5}else s=-2.0;while(0);ia=j+1|0;ma=(b[wa+(ia<<1)>>1]|0)-(b[wa+(j<<1)>>1]|0)|0;q=q+ma|0;v=v+s*+((j<<1|1)-u|0);j=ia;w=w+s*+(ma|0)}t=t+1|0;s=w}s=s/+(q|0)+.20000000298023224;v=v*6.0/+(_(_(_(Xa,u+-1|0)|0,u+1|0)|0,u)|0)*.5;q=v<.03099999949336052;v=q?(q&!(v>-.03099999949336052)?-.03099999949336052:v):.03099999949336052;q=(b[wa+(u<<1)>>1]|0)/2|0;t=0;while(1){r=t+1|0;if((b[wa+(r<<1)>>1]|0)<(q|0))t=r;else break}j=(Xa|0)==2;q=0;m=0;while(1){if((m|0)>=(u|0))break;r=S+(m<<2)|0;if(j){ma=S+(db+m<<2)|0;r=+g[r>>2]>+g[ma>>2]?r:ma}w=+g[r>>2];w=(w<0.0?w:0.0)-(s+v*+(m-t|0));if(w>.25){g[R+(m<<2)>>2]=w+-.25;q=q+1|0}m=m+1|0}g:do if((q|0)>2){s=s+.25;if(s>0.0){nf(R|0,0,u<<2|0)|0;v=0.0;s=0.0;break}else q=0;while(1){if((q|0)>=(u|0))break g;ma=R+(q<<2)|0;ja=+g[ma>>2]+-.25;g[ma>>2]=ja<0.0?0.0:ja;q=q+1|0}}while(0);ja=s+.20000000298023224;W=v*64.0}else{ja=0.0;W=0.0}if(x){w=G?0.0:+(xa|0)*.5;q=(Xa|0)==2;v=-10.0;A=0.0;r=bb;while(1){if((r|0)>=(cb|0))break;ga=v+-1.0;s=+g[D+(r<<2)>>2]-w;s=ga>s?ga:s;do if(q){v=+g[D+(r+db<<2)>>2]-w;if(s>v)break;s=v}while(0);v=s;A=A+s;r=r+1|0}ma=e+208|0;Q=+g[ma>>2];ga=A/+(cb-bb|0)-Q;ha=ga<-1.5;ia=ga>3.0&(ha^1);ga=ia|ha?(ia?3.0:-1.5):ga;g[ma>>2]=Q+ga*.019999999552965164}else ga=0.0;if(!H)rf(E|0,D|0,ra<<2|0)|0;h:do if(J){f=Ta+20|0;r=c[f>>2]|0;I=Ta+28|0;q=c[I>>2]|0;do if((h|0)==0?(r+((aa(q|0)|0)+-32)+3|0)<=(p|0):0){if((c[qa>>2]|0)<=4){m=q;t=r;x=B;h=0;r=F;break}if(!x){m=q;t=r;x=B;h=0;r=F;break}if(Da){m=q;t=r;x=B;h=0;r=F;break}i:do if((Xa|0)==1){h=c[Za>>2]|0;c[V>>2]=h;s=(c[k>>2]=h,+g[k>>2]);h=0;while(1){h=h+1|0;if((h|0)>=(cb|0))break i;Q=+g[Za+(h<<2)>>2];Q=s+-1.0>Q?s+-1.0:Q;g[V+(h<<2)>>2]=Q;s=Q}}else{Q=+g[Za>>2];s=+g[Za+(db<<2)>>2];s=Q>s?Q:s;g[V>>2]=s;h=0;while(1){h=h+1|0;if((h|0)>=(cb|0))break i;A=+g[Za+(h<<2)>>2];Q=+g[Za+(h+db<<2)>>2];ma=A>Q;Q=s+-1.0>(ma?A:Q)?s+-1.0:ma?A:Q;g[V+(h<<2)>>2]=Q;s=Q}}while(0);h=cb+-2|0;while(1){if((h|0)<0)break;ma=V+(h<<2)|0;A=+g[ma>>2];Q=+g[V+(h+1<<2)>>2]+-1.0;g[ma>>2]=A>Q?A:Q;h=h+-1|0}h=cb+-1|0;r=0;s=0.0;do{q=_(r,db)|0;j=2;while(1){if((j|0)>=(h|0))break;A=+g[D+(j+q<<2)>>2];Q=+g[V+(j<<2)>>2];Q=(A<0.0?0.0:A)-(Q<0.0?0.0:Q);j=j+1|0;s=s+(Q<0.0?0.0:Q)}r=r+1|0}while((r|0)<(Xa|0));if(s/+(_(cb+-3|0,Xa)|0)>1.0){Uc(Pa,X,T,B,Xa,ab,xa,c[U>>2]|0);h=c[Ia>>2]|0;q=c[oa>>2]< =(na|0))break;t=b[h+(y<<1)>>1]|0;j=B+(r+(t< >1]|0)-t< =(t|0))break;Q=+g[j+(x<<2)>>2];x=x+1|0;s=s+Q*Q}Q=+O(+(s+1.0000000272452012e-27));g[C+(y+(_(u,c[Ua>>2]|0)|0)<<2)>>2]=Q;y=m}u=u+1|0}while((u|0)<(Xa|0));q=0;do{h=0;while(1){if((h|0)>=(na|0)){h=na;break}ma=h+(_(q,c[Ua>>2]|0)|0)|0;Q=+Y(+(+g[C+(ma<<2)>>2]))*1.4426950408889634;g[D+(ma<<2)>>2]=Q-+g[17220+(h<<2)>>2];h=h+1|0}while(1){if((h|0)>=(cb|0))break;g[D+((_(q,c[Ua>>2]|0)|0)+h<<2)>>2]=-14.0;h=h+1|0}q=q+1|0}while((q|0)<(Xa|0));s=+(xa|0)*.5;h=0;while(1){if((h|0)>=(ra|0))break;ma=E+(h<<2)|0;g[ma>>2]=+g[ma>>2]+s;h=h+1|0}g[Ga>>2]=.20000000298023224;q=B;h=1;r=X}else{q=B;h=0;r=F}m=c[I>>2]|0;t=c[f>>2]|0;x=q}else{m=q;t=r;x=B;r=F}while(0);if((t+((aa(m|0)|0)+-32)+3|0)>(p|0)){ma=h;$=r;break}j=m>>>3;q=m-j|0;H=Ta+32|0;if(h){c[H>>2]=(c[H>>2]|0)+q;q=j}c[I>>2]=q;u=Ta+36|0;y=Ta+40|0;z=Ta+24|0;B=Ta+8|0;F=Ta+4|0;G=Ta+44|0;j=t;while(1){if(q>>>0>=8388609){ma=h;$=r;break h}m=c[H>>2]|0;t=m>>>23;if((t|0)==255)c[u>>2]=(c[u>>2]|0)+1;else{m=m>>>31;q=c[y>>2]|0;if((q|0)>-1){j=c[z>>2]|0;if((j+(c[B>>2]|0)|0)>>>0<(c[F>>2]|0)>>>0){c[z>>2]=j+1;a[(c[Ta>>2]|0)+j>>0]=q+m;q=0}else q=-1;c[G>>2]=c[G>>2]|q}q=c[u>>2]|0;if(q|0){m=m+255&255;do{j=c[z>>2]|0;if((j+(c[B>>2]|0)|0)>>>0<(c[F>>2]|0)>>>0){c[z>>2]=j+1;a[(c[Ta>>2]|0)+j>>0]=m;j=0;q=c[u>>2]|0}else j=-1;c[G>>2]=c[G>>2]|j;q=q+-1|0;c[u>>2]=q}while((q|0)!=0)}c[y>>2]=t&255;m=c[H>>2]|0;q=c[I>>2]|0;j=c[f>>2]|0}c[H>>2]=m<<8&2147483392;q=q<<8;c[I>>2]=q;j=j+8|0;c[f>>2]=j}}else{x=B;ma=h;$=F}while(0);q=(_(Xa,Oa)|0)<<2;Z=i;i=i+((1*q|0)+15&-16)|0;q=c[Ia>>2]|0;r=c[oa>>2]< =(na|0))break;s=1.0/(+g[C+(h+(_(u,c[Ua>>2]|0)|0)<<2)>>2]+1.0000000272452012e-27);m=h+1|0;t=b[q+(m<<1)>>1]< >1]< =(t|0)){h=m;continue j}ia=h+j|0;g[Z+(ia<<2)>>2]=+g[x+(ia<<2)>>2]*s;h=h+1|0}}u=u+1|0;if((u|0)>=(Xa|0))break}X=i;i=i+((1*(db<<2)|0)+15&-16)|0;k:do if((l|0)<(Xa*15|0))if(Da&(l|0)<15){h=0;za=320}else{h=0;za=322}else{if(Da)if((l|0)<15){h=0;za=320;break}else{h=0;za=322;break}if((c[qa>>2]|0)<=1){h=0;za=322;break}if(c[ya>>2]|0){h=0;za=322;break}h=(1280/(l|0)|0)+2|0;h=Vc(Pa,na,ma,X,(h|0)<5?5:h,Z,Oa,xa,+g[Ga>>2],c[ba>>2]|0)|0;q=X+(na+-1<<2)|0;r=na;while(1){if((r|0)>=(cb|0))break k;c[X+(r<<2)>>2]=c[q>>2];r=r+1|0}}while(0);l:do if((za|0)==320)while(1){za=0;if((h|0)>=(cb|0)){h=ma;break l}c[X+(h<<2)>>2]=0;h=h+1|0;za=320}else if((za|0)==322)while(1){za=0;if((h|0)>=(cb|0)){h=0;break l}c[X+(h<<2)>>2]=ma;h=h+1|0;za=322}while(0);ha=i;i=i+((1*(ra<<2)|0)+15&-16)|0;m=0;do{q=_(m,db)|0;t=bb;while(1){if((t|0)>=(cb|0))break;r=t+q|0;j=D+(r<<2)|0;s=+g[j>>2];if(+N(+(s-+g[Za+(r<<2)>>2]))<2.0)g[j>>2]=s-+g[Va+(r<<2)>>2]*.25;t=t+1|0}m=m+1|0}while((m|0)<(Xa|0));qd(Pa,bb,cb,na,D,Za,p,ha,Ta,Xa,xa,n,c[e+12>>2]|0,e+84|0,(c[qa>>2]|0)>3&1,c[e+56>>2]|0,c[ya>>2]|0);da=Ta+4|0;q=c[da>>2]<<3;ea=Ta+20|0;m=c[ea>>2]|0;ia=Ta+28|0;j=c[ia>>2]|0;u=m+((aa(j|0)|0)+-32)|0;r=(ma|0)!=0;t=r?2:4;if(J)H=(u+t+1|0)>>>0<=q>>>0;else H=0;G=q-(H&1)|0;F=r?4:5;T=Ta+32|0;U=Ta+36|0;V=Ta+40|0;ba=Ta+24|0;ca=Ta+8|0;fa=Ta+44|0;x=0;B=bb;z=0;while(1){if((B|0)>=(cb|0))break;q=X+(B<<2)|0;if((u+t|0)>>>0>G>>>0){c[q>>2]=x;r=x;q=z}else{y=c[q>>2]|0;t=j>>>t;r=j-t|0;q=(y|0)==(x|0);if(!q)c[T>>2]=(c[T>>2]|0)+r;t=q?r:t;c[ia>>2]=t;q=m;while(1){if(t>>>0>=8388609)break;r=c[T>>2]|0;m=r>>>23;if((m|0)==255){c[U>>2]=(c[U>>2]|0)+1;j=t}else{j=r>>>31;q=c[V>>2]|0;if((q|0)>-1){r=c[ba>>2]|0;if((r+(c[ca>>2]|0)|0)>>>0<(c[da>>2]|0)>>>0){c[ba>>2]=r+1;a[(c[Ta>>2]|0)+r>>0]=q+j;q=0}else q=-1;c[fa>>2]=c[fa>>2]|q}q=c[U>>2]|0;if(q|0){j=j+255&255;do{r=c[ba>>2]|0;if((r+(c[ca>>2]|0)|0)>>>0<(c[da>>2]|0)>>>0){c[ba>>2]=r+1;a[(c[Ta>>2]|0)+r>>0]=j;r=0;q=c[U>>2]|0}else r=-1;c[fa>>2]=c[fa>>2]|r;q=q+-1|0;c[U>>2]=q}while((q|0)!=0)}c[V>>2]=m&255;r=c[T>>2]|0;j=c[ia>>2]|0;q=c[ea>>2]|0}c[T>>2]=r<<8&2147483392;t=j<<8;c[ia>>2]=t;q=q+8|0;c[ea>>2]=q}m=q;j=t;r=y;u=q+((aa(t|0)|0)+-32)|0;q=z|y}x=r;B=B+1|0;t=F;z=q}t=ma<<2;do if(H){if((a[t+z+(27892+(xa<<3))>>0]|0)==(a[(t|2)+z+(27892+(xa<<3))>>0]|0)){h=0;q=j;break}q=j>>>1;r=j-q|0;if(!h)q=r;else c[T>>2]=(c[T>>2]|0)+r;c[ia>>2]=q;r=m;while(1){if(q>>>0>=8388609)break;j=c[T>>2]|0;m=j>>>23;if((m|0)==255)c[U>>2]=(c[U>>2]|0)+1;else{j=j>>>31;q=c[V>>2]|0;if((q|0)>-1){r=c[ba>>2]|0;if((r+(c[ca>>2]|0)|0)>>>0<(c[da>>2]|0)>>>0){c[ba>>2]=r+1;a[(c[Ta>>2]|0)+r>>0]=q+j;q=0}else q=-1;c[fa>>2]=c[fa>>2]|q}q=c[U>>2]|0;if(q|0){j=j+255&255;do{r=c[ba>>2]|0;if((r+(c[ca>>2]|0)|0)>>>0<(c[da>>2]|0)>>>0){c[ba>>2]=r+1;a[(c[Ta>>2]|0)+r>>0]=j;r=0;q=c[U>>2]|0}else r=-1;c[fa>>2]=c[fa>>2]|r;q=q+-1|0;c[U>>2]=q}while((q|0)!=0)}c[V>>2]=m&255;j=c[T>>2]|0;q=c[ia>>2]|0;r=c[ea>>2]|0}c[T>>2]=j<<8&2147483392;q=q<<8;c[ia>>2]=q;r=r+8|0;c[ea>>2]=r}h=h<<1;m=r}else{h=0;q=j}while(0);h=t+h|0;r=bb;while(1){if((r|0)>=(cb|0))break;S=X+(r<<2)|0;c[S>>2]=a[h+(c[S>>2]|0)+(27892+(xa<<3))>>0];r=r+1|0}m:do if((m+((aa(q|0)|0)+-32)+4|0)<=(p|0)){n:do if(!(c[ya>>2]|0)){o:do if(Da){if(!(c[qa>>2]|0)){c[e+80>>2]=0;za=415;break}h=e+80|0;if(!ma){c[h>>2]=3;h=3;za=414;break n}else{c[h>>2]=2;h=2;za=414;break n}}else{h=c[qa>>2]|0;do if(!$){if((h|0)<3|(n|0)<(Xa*10|0))break;K=e+88|0;P=e+80|0;L=c[P>>2]|0;J=e+96|0;f=c[Ia>>2]|0;G=c[oa>>2]< >1]|0)-(b[f+(na+-1<<1)>>1]|0)< >2]=0;h=0;n=q>>>5;break o}else{I=0;h=0;n=0;r=0}do{H=_(I,G)|0;F=0;while(1){if((F|0)>=(na|0))break;x=b[f+(F<<1)>>1]|0;j=Z+(x< >1]|0)-x< >2];Q=Q*Q*s;t=t+1|0;y=y+(Q<.25&1)|0;z=z+(Q<.015625&1)|0;B=B+(Q<.0625&1)|0}if((F|0)>((c[Ua>>2]|0)+-4|0))h=h+((B+y<<5>>>0)/(x>>>0)|0)|0;F=u;n=n+1|0;r=r+(((z<<1|0)>=(x|0)&1)+((B<<1|0)>=(x|0)&1)+((y<<1|0)>=(x|0)&1)<<8)|0}I=I+1|0}while((I|0)<(Xa|0));if(!ka){if(!h)h=0;else h=(h>>>0)/((_(4-(c[Ua>>2]|0)+na|0,Xa)|0)>>>0)|0;h=(c[J>>2]|0)+h>>1;c[J>>2]=h;switch(c[la>>2]|0){case 2:{h=h+4|0;break}case 0:{h=h+-4|0;break}default:{}}c[la>>2]=(h|0)>22?2:(h|0)>18&1}h=((r>>>0)/(n>>>0)|0)+(c[K>>2]|0)>>1;c[K>>2]=h;h=(h*3|0)+(3-L<<7|64)+2>>2;do if((h|0)>=80){if((h|0)<256){h=2;break}h=(h|0)<384&1;c[P>>2]=h;n=q>>>5;if((h|0)>0){za=418;break n}else break o}else h=3;while(0);c[P>>2]=h;n=q>>>5;za=418;break n}while(0);n=e+80|0;if(!h){c[n>>2]=0;za=415;break}else{c[n>>2]=2;h=2;za=414;break n}}while(0);if((za|0)==415){h=0;n=q>>>5}h=q-(_(n,d[28203+h>>0]|0)|0)|0}else{c[la>>2]=0;c[e+80>>2]=2;h=2;za=414}while(0);if((za|0)==414){n=q>>>5;za=418}if((za|0)==418){oa=d[28203+(h+-1)>>0]|0;na=q-(_(n,oa)|0)|0;c[T>>2]=(c[T>>2]|0)+na;h=_(n,oa-(d[28203+h>>0]|0)|0)|0}c[ia>>2]=h;n=m;while(1){if(h>>>0>=8388609)break m;q=c[T>>2]|0;r=q>>>23;if((r|0)==255)c[U>>2]=(c[U>>2]|0)+1;else{q=q>>>31;h=c[V>>2]|0;if((h|0)>-1){n=c[ba>>2]|0;if((n+(c[ca>>2]|0)|0)>>>0<(c[da>>2]|0)>>>0){c[ba>>2]=n+1;a[(c[Ta>>2]|0)+n>>0]=h+q;h=0}else h=-1;c[fa>>2]=c[fa>>2]|h}h=c[U>>2]|0;if(h|0){q=q+255&255;do{n=c[ba>>2]|0;if((n+(c[ca>>2]|0)|0)>>>0<(c[da>>2]|0)>>>0){c[ba>>2]=n+1;a[(c[Ta>>2]|0)+n>>0]=q;n=0;h=c[U>>2]|0}else n=-1;c[fa>>2]=c[fa>>2]|n;h=h+-1|0;c[U>>2]=h}while((h|0)!=0)}c[V>>2]=r&255;q=c[T>>2]|0;h=c[ia>>2]|0;n=c[ea>>2]|0}c[T>>2]=q<<8&2147483392;h=h<<8;c[ia>>2]=h;n=n+8|0;c[ea>>2]=n}}while(0);S=i;i=i+((1*(db<<2)|0)+15&-16)|0;H=e+52|0;Q=+Wc(D,E,db,bb,cb,Xa,S,c[pa>>2]|0,c[Pa+56>>2]|0,ma,c[ua>>2]|0,c[H>>2]|0,wa,xa,l,Ea,c[ya>>2]|0,R);if(c[ya>>2]|0)c[S>>2]=(l|0)>26?8:(l|0)/3|0;I=i;i=i+((1*(db<<2)|0)+15&-16)|0;h=c[Ua>>2]|0;l=(xa<<1)+Xa+-1|0;n=Pa+104|0;q=0;while(1){if((q|0)>=(h|0))break;ua=q+1|0;pa=c[Ia>>2]|0;oa=(_(h,l)|0)+q|0;c[I+(q<<2)>>2]=(_(_((d[(c[n>>2]|0)+oa>>0]|0)+64|0,Xa)|0,(b[pa+(ua<<1)>>1]|0)-(b[pa+(q<<1)>>1]|0)< >2;q=ua}E=p<<3;pa=c[ea>>2]|0;h=c[ia>>2]|0;ua=32-(aa(h|0)|0)|0;F=h>>>(ua+-16|0);y=(F>>>12)+-8|0;l=pa;n=6;p=bb;y=(pa<<3)-((ua<<3)+(y+(F>>>0>(c[5272+(y<<2)>>2]|0)>>>0&1)))|0;F=0;while(1){if((p|0)>=(cb|0))break;B=p+1|0;j=(_(Xa,(b[wa+(B<<1)>>1]|0)-(b[wa+(p<<1)>>1]|0)|0)|0)< =(E-z|0))break;if((u|0)>=(c[m>>2]|0))break;r=(t|0)<(c[x>>2]|0);p=h>>>p;h=h-p|0;if(r){c[T>>2]=(c[T>>2]|0)+h;h=p}c[ia>>2]=h;while(1){if(h>>>0>=8388609)break;p=c[T>>2]|0;q=p>>>23;if((q|0)==255)c[U>>2]=(c[U>>2]|0)+1;else{p=p>>>31;h=c[V>>2]|0;if((h|0)>-1){l=c[ba>>2]|0;if((l+(c[ca>>2]|0)|0)>>>0<(c[da>>2]|0)>>>0){c[ba>>2]=l+1;a[(c[Ta>>2]|0)+l>>0]=h+p;h=0}else h=-1;c[fa>>2]=c[fa>>2]|h}h=c[U>>2]|0;if(h|0){p=p+255&255;do{l=c[ba>>2]|0;if((l+(c[ca>>2]|0)|0)>>>0<(c[da>>2]|0)>>>0){c[ba>>2]=l+1;a[(c[Ta>>2]|0)+l>>0]=p;l=0;h=c[U>>2]|0}else l=-1;c[fa>>2]=c[fa>>2]|l;h=h+-1|0;c[U>>2]=h}while((h|0)!=0)}c[V>>2]=q&255;p=c[T>>2]|0;h=c[ia>>2]|0;l=c[ea>>2]|0}c[T>>2]=p<<8&2147483392;h=h<<8;c[ia>>2]=h;l=l+8|0;c[ea>>2]=l}pa=32-(aa(h|0)|0)|0;ua=h>>>(pa+-16|0);q=(ua>>>12)+-8|0;q=(l<<3)-((pa<<3)+(q+(ua>>>0>(c[5272+(q<<2)>>2]|0)>>>0&1)))|0;if(!r)break;u=u+j|0;p=1;t=t+1|0;z=z+j|0}if(t)n=(n|0)<3?2:n+-1|0;c[x>>2]=u;p=B;y=q;F=z}R=(Xa|0)==2;if(R){if(!xa)r=0;else{n=0;s=1.0000000036274937e-15;v=1.0000000036274937e-15;p:while(1){if((n|0)==13)break;wa=c[Ia>>2]|0;p=n+1|0;q=b[wa+(p<<1)>>1]< >1]< =(q|0)){n=p;continue p}w=+g[Z+(n<<2)>>2];A=+g[Z+(n+Oa<<2)>>2];n=n+1|0;s=s+(+N(+w)+ +N(+A));v=v+(+N(+(w+A))+ +N(+(w-A)))}}r=b[(c[Ia>>2]|0)+26>>1]< >2]=+(r+((xa|0)<2?5:13)|0)*(v*.7071070075035095)>+(r|0)*s&1;r=xa}s=+((La|0)/1e3|0|0);q=e+200|0;n=c[q>>2]|0;p=0;while(1){if((p|0)>=21)break;if(+g[5104+(p<<2)>>2]>s)break;p=p+1|0}if(!((p|0)>(n|0)?+g[5104+(n<<2)>>2]+ +g[5188+(n<<2)>>2]>s:0))za=480;do if((za|0)==480){if((p|0)>=(n|0)){n=p;break}xa=n+-1|0;if(!(+g[5104+(xa<<2)>>2]-+g[5188+(xa<<2)>>2] (n|0);c[q>>2]=(cb|0)<((P?bb:n)|0)?cb:P?bb:n;P=r}else P=xa;if((y+48|0)>(E-F|0))G=5;else{do if((bb|0)>0)za=487;else{if(c[ya>>2]|0){za=487;break}m=e+196|0;A=+g[Ga>>2];t=c[e+200>>2]|0;if(R){n=0;s=0.0;while(1){if((n|0)==8)break;q=c[Ia>>2]|0;p=b[q+(n<<1)>>1]|0;j=p<>1]|0)-p<
=(p|0))break;w=v+ +g[r+(q<<2)>>2]*+g[j+(q<<2)>>2];q=q+1|0;v=w}s=s+v}v=+N(+(s*.125));v=v>1.0?1.0:v;n=8;w=v;while(1){if((n|0)>=(t|0))break;q=c[Ia>>2]|0;p=b[q+(n<<1)>>1]|0;j=p<
>1]|0)-p<
=(p|0))break;fb=s+ +g[r+(q<<2)>>2]*+g[j+(q<<2)>>2];q=q+1|0;s=fb}fb=+N(+s);w=w
1.0?1.0:fb;v=+Y(+(1.0010000467300415-v*v))*1.4426950408889634;s=v*.5;fb=+Y(+(1.0010000467300415-fb*fb))*1.4426950408889634;v=v*.75;w=+g[m>>2]+.25;fb=-((s>fb?s:fb)*.5);g[m>>2]=w =(p|0))break;s=s+ +g[D+(n+(_(q,c[Ua>>2]|0)|0)<<2)>>2]*+((n<<1)+2-cb|0);n=n+1|0}q=q+1|0}while((q|0)<(Xa|0));s=(s/+(_(p,Xa)|0)+1.0)/6.0;wa=s>2.0;xa=s<-2.0&(wa^1);s=v-(xa|wa?(xa?-2.0:2.0):s)-W-A*2.0;if(c[e+120>>2]|0){fb=(+g[e+128>>2]+.05000000074505806)*2.0;wa=fb>2.0;xa=fb<-2.0&(wa^1);s=s-(xa|wa?(xa?-2.0:2.0):fb)}n=~~+M(+(s+.5));if((n|0)>10){p=h>>>7;n=10;za=512;break}p=h>>>7;if((n|0)>=0){if((n|0)>0){za=512;break}}else n=0;r=n;h=h-(_(p,d[28207+n>>0]|0)|0)|0}while(0);if((za|0)==487){g[e+196>>2]=0.0;p=h>>>7;n=5;za=512}if((za|0)==512){za=d[28207+(n+-1)>>0]|0;r=h-(_(p,za)|0)|0;c[T>>2]=(c[T>>2]|0)+r;r=n;h=_(p,za-(d[28207+n>>0]|0)|0)|0}c[ia>>2]=h;p=l;while(1){if(h>>>0>=8388609)break;l=c[T>>2]|0;q=l>>>23;if((q|0)==255){c[U>>2]=(c[U>>2]|0)+1;n=l;l=p}else{n=l>>>31;h=c[V>>2]|0;if((h|0)>-1){l=c[ba>>2]|0;if((l+(c[ca>>2]|0)|0)>>>0<(c[da>>2]|0)>>>0){c[ba>>2]=l+1;a[(c[Ta>>2]|0)+l>>0]=h+n;h=0}else h=-1;c[fa>>2]=c[fa>>2]|h}h=c[U>>2]|0;if(h|0){n=n+255&255;do{l=c[ba>>2]|0;if((l+(c[ca>>2]|0)|0)>>>0<(c[da>>2]|0)>>>0){c[ba>>2]=l+1;a[(c[Ta>>2]|0)+l>>0]=n;l=0;h=c[U>>2]|0}else l=-1;c[fa>>2]=c[fa>>2]|l;h=h+-1|0;c[U>>2]=h}while((h|0)!=0)}c[V>>2]=q&255;n=c[T>>2]|0;h=c[ia>>2]|0;l=c[ea>>2]|0}c[T>>2]=n<<8&2147483392;h=h<<8;c[ia>>2]=h;p=l+8|0;c[ea>>2]=p}xa=32-(aa(h|0)|0)|0;za=h>>>(xa+-16|0);y=(za>>>12)+-8|0;l=p;G=r;y=(p<<3)-((xa<<3)+(y+(za>>>0>(c[5272+(y<<2)>>2]|0)>>>0&1)))|0}if(Aa){B=(c[Ba>>2]|0)-P|0;l=3-P|0;D=1275>>>l;D=(o|0)<(D|0)?o:D;if(Da){h=(Xa*72|0)+32|0;h=(Ka|0)<(h|0)?0:Ka-h|0}else h=Ka-((Xa*320|0)+160)|0;z=(c[H>>2]|0)==0;if(z)x=h;else x=h+(c[e+184>>2]>>B)|0;if(Da){h=c[e+156>>2]|0;fb=+g[Ga>>2];h=~~(+(x+((h|0)<100?96>>>l:0)-((h|0)>100?144>>>l:0)|0)+(fb+-.25)*400.0);Ia=(y+F+63>>6)+2|0;l=Ca+296+F+63>>6;h=!(fb>.699999988079071)|(h|0)>400?h:400;l=(Ia|0)>(l|0)?Ia:l}else{l=c[e+92>>2]|0;p=c[e+200>>2]|0;v=+g[e+196>>2];q=c[Ea>>2]|0;w=+g[Ga>>2];o=c[e+64>>2]|0;t=c[ya>>2]|0;u=(c[e+204>>2]|0)!=0;m=c[Ua>>2]|0;j=c[Ia>>2]|0;l=(l|0)==0?m:l;h=b[j+(l<<1)>>1]< (p|0)?p:l)<<1)>>1]<
>2]|0)==0;do if(n)h=x;else{s=+g[e+136>>2];if(!(s<.4)){h=x;break}h=x-~~(+(r<<3|0)*(.4000000059604645-s))|0}while(0);if(R){Ia=(l|0)>(p|0)?p:l;Ia=(b[j+(Ia<<1)>>1]<
>2]+-.15000000596046448;s=+(r<<3|0);h=h+~~(s*1.2000000476837158*((fb<0.0?0.0:fb)+-.09000000357627869))|0;if(!va)break;h=h+~~(s*.800000011920929)|0}while(0);if(u&(t|0)==0){Ia=h+~~(+(r<<3|0)*ja)|0;h=(h|0)/4|0;h=(h|0)>(Ia|0)?h:Ia}Ga=~~(+((_(b[j+(m+-2<<1)>>1]<
>2;Ia=(Ga|0)>(Ia|0)?Ga:Ia;h=(h|0)<(Ia|0)?h:Ia;do if(!(u&(t|0)==0)){if(!z)h=~~(+(h-x|0)*.6700000166893005)+x|0;if(!(w<.20000000298023224&(u^1)))break;Ia=96e3-La|0;Ga=(Ia|0)>32e3;h=h+~~(((La|0)>96e3&(Ga^1)?0.0:Ga?.09919999539852142:+(Ia|0)*3.099999958067201e-06)*ga*+(h|0))|0}while(0);l=x<<1;h=(l|0)<(h|0)?l:h;l=(y+F+63>>6)+2|0}o=h+y|0;p=o+32>>6;p=(l|0)>(p|0)?l:p;p=(D|0)<(p|0)?D:p;q=(Ma|0)==0;h=q?p:2;l=e+188|0;n=c[l>>2]|0;if((n|0)<970){c[l>>2]=n+1;s=1.0/+(n+21|0)}else s=1.0000000474974513e-03;do if(!z){l=e+176|0;c[l>>2]=(c[l>>2]|0)+((q?p<<6:128)-Ka);l=e+184|0;Ia=e+180|0;n=c[Ia>>2]|0;n=n+~~(s*+(((q?o-Ka|0:0)<>2]|0)-n|0))|0;c[Ia>>2]=n;c[l>>2]=0-n;l=e+176|0;n=c[l>>2]|0;if((n|0)>=0)break;c[l>>2]=0;h=q?p+((n|0)/-64|0)|0:2}while(0);L=(D|0)<(h|0)?D:h;Ka=c[Ta>>2]|0;l=c[ca>>2]|0;h=0-l|0;sf(Ka+L+h|0,Ka+(c[da>>2]|0)+h|0,l|0)|0;c[da>>2]=L;l=c[ea>>2]|0;h=c[ia>>2]|0}else L=o;f=i;i=i+((1*(db<<2)|0)+15&-16)|0;E=i;i=i+((1*(db<<2)|0)+15&-16)|0;J=i;i=i+((1*(db<<2)|0)+15&-16)|0;F=L<<6;Ka=32-(aa(h|0)|0)|0;K=h>>>(Ka+-16|0);h=(K>>>12)+-8|0;h=F+((Ka<<3)+(h+(K>>>0>(c[5272+(h<<2)>>2]|0)>>>0&1))-(l<<3))+-1|0;K=(ma|0)==0;if((P|0)>1&(K^1))B=(h|0)>=((P<<3)+16|0);else B=0;D=B?8:0;l=h-D|0;if(!(c[e+120>>2]|0))h=cb+-1|0;else{do if((La|0)<(Xa*32e3|0))h=13;else{if((La|0)<(Xa*48e3|0)){h=16;break}if((La|0)<(Xa*6e4|0)){h=18;break}h=(La|0)<(Xa*8e4|0)?19:20}while(0);La=c[e+144>>2]|0;h=(La|0)>(h|0)?La:h}z=e+200|0;n=e+92|0;y=sd(Pa,bb,cb,S,I,G,z,Ra,l,Qa,E,f,J,Xa,P,Ta,1,c[n>>2]|0,(c[ya>>2]|0)==0?h:1)|0;h=c[n>>2]|0;if(!h)h=y;else{Ka=h+1|0;h=h+-1|0;La=(h|0)>(y|0);h=(Ka|0)<((La?h:y)|0)?Ka:La?h:y}c[n>>2]=h;H=Ta+12|0;I=Ta+16|0;x=bb;while(1){if((x|0)>=(cb|0))break;j=c[f+(x<<2)>>2]|0;if((j|0)>=1){m=65536<
>16;s=+(m|0);v=+(1<<14-j|0);t=m+-1|0;h=c[Ua>>2]|0;u=0;do{r=~~+M(+((+g[ha+(x+(_(u,h)|0)<<2)>>2]+.5)*s));r=(r|0)<(m|0)?r:t;r=(r|0)<0?0:r;h=c[H>>2]|0;l=c[I>>2]|0;if((l+j|0)>>>0>32){p=7-l|0;p=l+((p|0)>-8?p:-8)&-8;q=l;do{n=c[ca>>2]|0;o=c[da>>2]|0;if(((c[ba>>2]|0)+n|0)>>>0 >>0){n=n+1|0;c[ca>>2]=n;a[(c[Ta>>2]|0)+(o-n)>>0]=h;n=0}else n=-1;c[fa>>2]=c[fa>>2]|n;h=h>>>8;q=q+-8|0}while((q|0)>7);l=l+-8-p|0}c[H>>2]=h|r< >2]=l+j;c[ea>>2]=(c[ea>>2]|0)+j;fb=(+(r|0)+.5)*v*.00006103515625+-.5;h=Za+(x+(_(u,c[Ua>>2]|0)|0)<<2)|0;g[h>>2]=+g[h>>2]+fb;h=c[Ua>>2]|0;La=ha+(x+(_(u,h)|0)<<2)|0;g[La>>2]=+g[La>>2]-fb;u=u+1|0}while((u|0)<(Xa|0))}x=x+1|0}La=i;i=i+((1*ra|0)+15&-16)|0;G=e+76|0;Yd(1,Pa,bb,cb,Z,R?Z+(Oa<<2)|0:0,La,C,E,$,c[e+80>>2]|0,c[Ra>>2]|0,c[z>>2]|0,X,F-D|0,c[Qa>>2]|0,Ta,P,y,G,c[qa>>2]|0,c[e+72>>2]|0);if(B){r=(c[e+116>>2]|0)<2&1;h=c[H>>2]|0;l=c[I>>2]|0;if((l+1|0)>>>0>32){p=7-l|0;p=l+((p|0)>-8?p:-8)&-8;q=l;do{n=c[ca>>2]|0;o=c[da>>2]|0;if(((c[ba>>2]|0)+n|0)>>>0 >>0){n=n+1|0;c[ca>>2]=n;a[(c[Ta>>2]|0)+(o-n)>>0]=h;n=0}else n=-1;c[fa>>2]=c[fa>>2]|n;h=h>>>8;q=q+-8|0}while((q|0)>7);l=l+-8-p|0}c[H>>2]=h|r< >2]=l+1;h=(c[ea>>2]|0)+1|0;c[ea>>2]=h}else h=c[ea>>2]|0;h=(L<<3)-(h+((aa(c[ia>>2]|0)|0)+-32))|0;x=0;while(1){if((x|0)==2)break;else u=bb;while(1){if(!((u|0)<(cb|0)&(h|0)>=(Xa|0)))break;l=c[f+(u<<2)>>2]|0;do if((l|0)<=7){if((c[J+(u<<2)>>2]|0)!=(x|0))break;s=+(1<<14-l+-1|0);l=c[Ua>>2]|0;n=c[I>>2]|0;o=c[H>>2]|0;t=0;do{m=!(+g[ha+(u+(_(t,l)|0)<<2)>>2]<0.0);j=m&1;if((n+1|0)>>>0>32){q=7-n|0;q=n+((q|0)>-8?q:-8)&-8;r=n;l=o;do{o=c[ca>>2]|0;p=c[da>>2]|0;if(((c[ba>>2]|0)+o|0)>>>0 >>0){o=o+1|0;c[ca>>2]=o;a[(c[Ta>>2]|0)+(p-o)>>0]=l;o=0}else o=-1;c[fa>>2]=c[fa>>2]|o;l=l>>>8;r=r+-8|0}while((r|0)>7);n=n+-8-q|0}else l=o;o=l|j<
>2]=o;c[I>>2]=n;c[ea>>2]=(c[ea>>2]|0)+1;fb=(+(m&1)+-.5)*s*.00006103515625;l=Za+(u+(_(t,c[Ua>>2]|0)|0)<<2)|0;g[l>>2]=+g[l>>2]+fb;l=c[Ua>>2]|0;Ra=ha+(u+(_(t,l)|0)<<2)|0;g[Ra>>2]=+g[Ra>>2]-fb;h=h+-1|0;t=t+1|0}while((t|0)<(Xa|0))}while(0);u=u+1|0}x=x+1|0}o=Wa<<2;nf(Va|0,0,o|0)|0;l=0;do{h=_(l,db)|0;n=bb;while(1){if((n|0)>=(cb|0))break;Ua=n+h|0;fb=+g[ha+(Ua<<2)>>2];Qa=fb>.5;Ra=fb<-.5&(Qa^1);g[Va+(Ua<<2)>>2]=Ra|Qa?(Ra?-.5:.5):fb;n=n+1|0}l=l+1|0}while((l|0)<(Xa|0));q:do if(Ma|0){h=0;while(1){if((h|0)>=(ra|0))break q;g[Za+(h<<2)>>2]=-28.0;h=h+1|0}}while(0);c[e+104>>2]=c[Ya>>2];g[e+108>>2]=Ha;c[e+112>>2]=Ja;if(sa&(Xa|0)==1)rf(Za+(db<<2)|0,Za|0,db<<2|0)|0;r:do if(K){rf($a|0,_a|0,o|0)|0;rf(_a|0,Za|0,o|0)|0;n=0}else{h=0;while(1){if((h|0)>=(Wa|0)){n=0;break r}Ya=_a+(h<<2)|0;Ha=+g[Ya>>2];fb=+g[Za+(h<<2)>>2];g[Ya>>2]=Ha =(bb|0)){h=cb;break}Ya=l+h|0;g[Za+(Ya<<2)>>2]=0.0;g[$a+(Ya<<2)>>2]=-28.0;g[_a+(Ya<<2)>>2]=-28.0;h=h+1|0}while(1){if((h|0)>=(db|0))break;Ya=l+h|0;g[Za+(Ya<<2)>>2]=0.0;g[$a+(Ya<<2)>>2]=-28.0;g[_a+(Ya<<2)>>2]=-28.0;h=h+1|0}n=n+1|0}while((n|0)<(ab|0));l=e+116|0;if(!(ma|ta))h=0;else h=(c[l>>2]|0)+1|0;c[l>>2]=h;c[G>>2]=c[ia>>2];cd(Ta);e=(c[fa>>2]|0)==0?L:-3;Na(Sa|0);i=eb;return e|0}function Sc(a,b,d,e,f,h,j,k,l,m,n){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0.0,q=0,r=0.0,s=0,t=0,u=0.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,O=0;L=i;i=i+16|0;K=L+8|0;t=L;w=c[a>>2]|0;H=c[w+4>>2]|0;q=f+1024|0;J=(_(q,e)|0)<<2;I=i;i=i+((1*J|0)+15&-16)|0;c[K>>2]=I;c[K+4>>2]=I+(q<<2);I=H+f|0;J=f<<2;o=0;do{G=c[K+(o<<2)>>2]|0;rf(G|0,d+(o<<10<<2)|0,4096)|0;rf(G+4096|0,b+((_(o,I)|0)<<2)+(H<<2)|0,J|0)|0;o=o+1|0}while((o|0)<(e|0));if(!m){c[t>>2]=15;G=a+104|0;F=15;u=0.0}else{s=Fa()|0;o=i;i=i+((1*(q>>1<<2)|0)+15&-16)|0;gd(K,o,q,e);id(o+2048|0,o,f,979,t);c[t>>2]=1024-(c[t>>2]|0);m=a+104|0;p=+kd(o,f,t,c[m>>2]|0,+g[a+108>>2]);o=c[t>>2]|0;if((o|0)>1022){c[t>>2]=1022;o=1022}u=p*.699999988079071;E=c[a+56>>2]|0;u=(E|0)>2?u*.5:u;Na(s|0);G=m;F=o;u=(E|0)>8?0.0:(E|0)>4?u*.5:u}q=c[G>>2]|0;E=F-q|0;p=(((E|0)>-1?E:0-E|0)*10|0)>(F|0)?.4000000059604645:.20000000298023224;if((n|0)>=25){if((n|0)<35)v=11}else{p=p+.10000000149011612;v=11}if((v|0)==11)p=p+.10000000149011612;E=a+108|0;r=+g[E>>2];p=r>.4000000059604645?p+-.10000000149011612:p;p=r>.550000011920929?p+-.10000000149011612:p;if(u<(p>.20000000298023224?p:.20000000298023224)){r=0.0;D=0;o=0}else{m=+N(+(u-r))<.10000000149011612;m=~~+M(+((m?r:u)*32.0/3.0+.5));o=m+-1|0;if((o|0)<=7)if((m|0)<1)o=0;else v=15;else{o=7;v=15}r=+(o+1|0)*.09375;D=1}A=w+44|0;B=H<<2;p=-r;C=a+112|0;w=w+60|0;x=(f|0)>1024;y=1024-f<<2;z=0-f|0;m=0;while(1){n=c[A>>2]|0;v=n-H|0;c[G>>2]=(q|0)>15?q:15;q=b+((_(m,I)|0)<<2)|0;s=a+212+((_(m,H)|0)<<2)|0;rf(q|0,s|0,B|0)|0;if((n|0)==(H|0))n=c[K+(m<<2)>>2]|0;else{n=c[K+(m<<2)>>2]|0;O=c[G>>2]|0;u=-+g[E>>2];t=c[C>>2]|0;yc(q+(H<<2)|0,n+4096|0,O,O,v,u,u,t,t,0,0)}t=n+4096|0;yc(q+(H<<2)+(v<<2)|0,t+(v<<2)|0,c[G>>2]|0,F,f-v|0,-+g[E>>2],p,c[C>>2]|0,h,c[w>>2]|0,H);rf(s|0,q+(f<<2)|0,B|0)|0;q=d+(m<<10<<2)|0;if(x)rf(q|0,n+(f<<2)|0,4096)|0;else{sf(q|0,q+(f<<2)|0,y|0)|0;rf(q+4096+(z<<2)|0,t|0,J|0)|0}m=m+1|0;if((m|0)>=(e|0))break;q=c[G>>2]|0}g[k>>2]=r;c[j>>2]=F;c[l>>2]=o;i=L;return D|0}function Tc(a,b,e,f,h){a=a|0;b=b|0;e=e|0;f=f|0;h=h|0;var j=0.0,k=0.0,l=0,m=0,n=0.0,o=0,p=0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0,A=0;x=i;o=i;i=i+((1*(b<<2)|0)+15&-16)|0;p=(b|0)/2|0;q=+(p|0);r=+(p|0);s=p+-5|0;t=(p*6|0)+-102|0;u=0;v=0;while(1){if((u|0)>=(e|0))break;l=_(u,b)|0;m=0;j=0.0;k=0.0;while(1){if((m|0)>=(b|0))break;y=+g[a+(m+l<<2)>>2];n=j+y;g[o+(m<<2)>>2]=n;m=m+1|0;j=k+n-y*2.0;k=y-n*.5}l=o;m=l+48|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));l=0;n=0.0;j=0.0;while(1){if((l|0)>=(p|0)){l=p;k=0.0;break}m=l<<1;y=+g[o+(m<<2)>>2];k=+g[o+((m|1)<<2)>>2];k=y*y+k*k;y=j+(k-j)*.0625;g[o+(l<<2)>>2]=y;l=l+1|0;n=n+k;j=y}a:while(1){m=l;j=k;while(1){l=m+-1|0;if((m|0)<=0)break a;m=o+(l<<2)|0;j=j+(+g[m>>2]-j)*.125;g[m>>2]=j;if(k>j)m=l;else{k=j;continue a}}}j=r/(+O(+(n*k*.5*q))+1.0000000036274937e-15)*64.0;l=12;m=0;while(1){if((l|0)>=(s|0))break;y=+M(+(j*(+g[o+(l<<2)>>2]+1.0000000036274937e-15)));A=y>127.0;z=y<0.0&(A^1);l=l+4|0;m=m+(d[28075+~~(z|A?(z?0.0:127.0):y)>>0]|0)|0}l=(m<<8|0)/(t|0)|0;if((l|0)>(v|0))c[h>>2]=u;else l=v;u=u+1|0;v=l}l=(v|0)>200&1;j=+O(+(+(v*27|0)))+-42.0;if(!(j<0.0))if(j>163.0)k=163.0;else w=20;else{j=0.0;w=20}if((w|0)==20)k=j;if(k*.006899999920278788+-.139<0.0){y=0.0;y=+O(+y);g[f>>2]=y;i=x;return l|0}y=(j>163.0?163.0:j)*.006899999920278788+-.139;y=+O(+y);g[f>>2]=y;i=x;return l|0}function Uc(a,b,d,e,f,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;q=c[a+4>>2]|0;p=(b|0)==0;t=c[a+44>>2]<<(p?i:0);s=p?1:b;p=(c[a+36>>2]|0)-(p?i:0)|0;o=a+64|0;r=_(s,t)|0;n=r+q|0;b=a+60|0;m=0;do{i=d+((_(m,n)|0)<<2)|0;a=_(_(m,t)|0,s)|0;k=0;while(1){if((k|0)>=(s|0))break;u=i+((_(k,t)|0)<<2)|0;ed(o,u,e+(k+a<<2)|0,c[b>>2]|0,q,p,s);k=k+1|0}m=m+1|0}while((m|0)<(h|0));a:do if((h|0)==2&(f|0)==1){b=0;while(1){if((b|0)>=(r|0))break a;u=e+(b<<2)|0;g[u>>2]=+g[u>>2]*.5+ +g[e+(r+b<<2)>>2]*.5;b=b+1|0}}while(0);if((j|0)==1)return;m=(r|0)/(j|0)|0;l=+(j|0);b=r-m<<2;a=0;do{i=_(_(a,s)|0,t)|0;k=0;while(1){if((k|0)>=(m|0))break;u=e+(i+k<<2)|0;g[u>>2]=+g[u>>2]*l;k=k+1|0}nf(e+(i+m<<2)|0,0,b|0)|0;a=a+1|0}while((a|0)<(f|0));return}function Vc(d,e,f,h,j,k,l,m,n,o){d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=+n;o=o|0;var p=0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0.0,R=0,S=0;P=i;i=i+16|0;J=P;H=.5-n;H=(H<-.25?-.25:H)*.03999999910593033;L=i;i=i+((1*(e<<2)|0)+15&-16)|0;G=c[d+32>>2]|0;K=e+-1|0;M=(b[G+(e<<1)>>1]|0)-(b[G+(K<<1)>>1]|0)< =(e|0))break;C=w+1|0;d=b[G+(w<<1)>>1]|0;D=(b[G+(C<<1)>>1]|0)-d|0;v=D< =(v|0))break;n=n+ +N(+(+g[E+(d<<2)>>2]));d=d+1|0}t=n+(I?0.0:+(m|0))*H*n;if(!(I|D)){rf(F|0,E|0,l|0)|0;d=v>>m>>1;l=0;while(1){if((l|0)<(y|0))o=0;else{n=0.0;d=0;break}while(1){if((o|0)>=(d|0))break;s=F+((_(z,o)|0)+l<<2)|0;Q=+g[s>>2]*.7071067690849304;u=F+(((o<<1|1)< >2]*.7071067690849304;g[s>>2]=Q+n;g[u>>2]=Q-n;o=o+1|0}l=l+1|0}while(1){if((d|0)>=(v|0))break;n=n+ +N(+(+g[F+(d<<2)>>2]));d=d+1|0}n=n+A*n;if(n =(((D|I^1)&1^1)+m|0))break;r=I?u+1|0:m-u+-1|0;d=1<>u>>1;o=d<<1;p=0;while(1){if((p|0)<(d|0))q=0;else{t=0.0;d=0;break}while(1){if((q|0)>=(l|0))break;S=E+((_(o,q)|0)+p<<2)|0;t=+g[S>>2]*.7071067690849304;R=E+(((q<<1|1)<>2]*.7071067690849304;g[S>>2]=t+Q;g[R>>2]=t-Q;q=q+1|0}p=p+1|0}while(1){if((d|0)>=(v|0))break;t=t+ +N(+(+g[E+(d<<2)>>2]));d=d+1|0}Q=t+ +(r|0)*H*t;R=Q >2]=l;if(!D){w=C;continue}if(!((l|0)==0|(l|0)==(B|0))){w=C;continue}c[d>>2]=l+-1;w=C}s=f<<2;r=0;while(1){if((r|0)==2)break;l=s+(r<<1)|0;d=27892+(m<<3)+l|0;l=(l|1)+(27892+(m<<3))|0;o=0;p=I?j:0;q=1;while(1){if((q|0)>=(e|0))break;k=p+j|0;R=o+j|0;S=c[L+(q<<2)>>2]|0;f=S-(a[d>>0]<<1)|0;S=S-(a[l>>0]<<1)|0;o=((o|0)<(k|0)?o:k)+((f|0)>-1?f:0-f|0)|0;p=((R|0)<(p|0)?R:p)+((S|0)>-1?S:0-S|0)|0;q=q+1|0}c[J+(r<<2)>>2]=(o|0)<(p|0)?o:p;r=r+1|0}r=I?0:(c[J+4>>2]|0)<(c[J>>2]|0)&1;o=s|r<<1;q=27892+(m<<3)+o|0;o=(o|1)+(27892+(m<<3))|0;p=0;d=I?j:0;l=1;while(1){if((l|0)>=(e|0))break;I=d+j|0;f=(p|0)<(I|0);c[M+(l<<2)>>2]=f&1^1;R=p+j|0;m=(R|0)<(d|0);c[O+(l<<2)>>2]=m&1^1;S=c[L+(l<<2)>>2]|0;J=S-(a[q>>0]<<1)|0;S=S-(a[o>>0]<<1)|0;p=(f?p:I)+((J|0)>-1?J:0-J|0)|0;d=(m?R:d)+((S|0)>-1?S:0-S|0)|0;l=l+1|0}l=(p|0)>=(d|0)&1;c[h+(K<<2)>>2]=l;d=e+-2|0;while(1){if((d|0)<=-1)break;S=c[((l|0)==1?O:M)+(d+1<<2)>>2]|0;c[h+(d<<2)>>2]=S;l=S;d=d+-1|0}i=P;return r|0}function Wc(a,d,e,f,h,j,l,m,n,o,p,q,r,s,t,u,v,w){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;var x=0.0,y=0,z=0,A=0,B=0.0,C=0.0,D=0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0,S=0,T=0,U=0.0,V=0;T=i;O=_(j,e)|0;R=i;i=i+((1*(O<<2)|0)+15&-16)|0;P=i;i=i+((1*(O<<2)|0)+15&-16)|0;nf(l|0,0,e<<2|0)|0;x=+(9-m|0);m=0;while(1){if((m|0)>=(h|0)){n=0;x=-31.899999618530273;break}O=m+5|0;g[P+(m<<2)>>2]=+(b[n+(m<<1)>>1]|0)*.0625+.5+x-+g[17220+(m<<2)>>2]+ +(_(O,O)|0)*.006200000178068876;m=m+1|0}while(1){m=_(n,e)|0;y=0;Q=x;while(1){if((y|0)>=(h|0))break;K=+g[a+(m+y<<2)>>2]-+g[P+(y<<2)>>2];y=y+1|0;Q=Q>K?Q:K}n=n+1|0;if((n|0)>=(j|0))break;else x=Q}if(!((t|0)>50&(s|0)>0&(v|0)==0)){S=0;c[u>>2]=S;i=T;return +Q}L=h+-2|0;M=h+-1|0;O=0;m=0;while(1){A=_(O,e)|0;N=R+(A<<2)|0;z=d+(A<<2)|0;n=c[z>>2]|0;c[N>>2]=n;K=(c[k>>2]=n,+g[k>>2]);x=K;n=1;D=m;while(1){if((n|0)>=(h|0)){n=D;break}v=A+n|0;J=+g[d+(v<<2)>>2];v=J>+g[d+(v+-1<<2)>>2]+.5?n:D;J=x+1.5 >2]=J;x=J;n=n+1|0;D=v}while(1){m=n+-1|0;if((n|0)<=0){v=2;break}v=N+(m<<2)|0;H=+g[v>>2];I=+g[N+(n<<2)>>2]+2.0;J=+g[d+(A+m<<2)>>2];y=I >2]=H<(y?I:J)?H:y?I:J;n=m}while(1){if((v|0)>=(L|0))break;y=N+(v<<2)|0;F=+g[y>>2];n=d+(A+v+-2<<2)|0;x=+g[n+8>>2];G=+g[n>>2];H=+g[n+4>>2];m=G>H;U=m?G:H;B=m?H:G;I=+g[n+12>>2];J=+g[n+16>>2];n=I>J;C=n?J:I;E=n?I:J;V=B>C;C=V?B:C;B=V?E:U;E=V?U:E;do if(x>B)if(B B+-1.0)x=F;else{U=m?G:H;B=m?H:G;C=n?J:I;E=n?I:J;V=B>C;C=V?B:C;B=V?E:U;E=V?U:E;do if(x>B)if(B >2]=x;v=v+1|0}C=+g[z+4>>2];V=K>C;x=V?C:K;C=V?K:C;B=+g[z+8>>2];if(!(C>2];g[N>>2]=B>C?B:C;V=N+4|0;B=+g[V>>2];g[V>>2]=B>C?B:C;V=d+(A+h+-3<<2)|0;C=+g[V>>2];B=+g[V+4>>2];A=C>B;x=A?B:C;B=A?C:B;C=+g[V+8>>2];if(!(B >2];g[m>>2]=K>U?K:U;m=N+(M<<2)|0;K=+g[m>>2];g[m>>2]=K>U?K:U;m=0;while(1){if((m|0)>=(h|0))break;V=N+(m<<2)|0;K=+g[V>>2];U=+g[P+(m<<2)>>2];g[V>>2]=K>U?K:U;m=m+1|0}O=O+1|0;if((O|0)>=(j|0))break;else m=D}a:do if((j|0)==2){m=f;while(1){if((m|0)>=(h|0)){m=f;break a}P=m+e|0;d=R+(P<<2)|0;U=+g[d>>2];V=R+(m<<2)|0;K=+g[V>>2]+-4.0;K=U>K?U:K;g[d>>2]=K;U=+g[V>>2];K=K+-4.0;K=U>K?U:K;g[V>>2]=K;K=+g[a+(m<<2)>>2]-K;U=+g[a+(P<<2)>>2]-+g[d>>2];g[V>>2]=((K<0.0?0.0:K)+(U<0.0?0.0:U))*.5;m=m+1|0}}else{m=f;while(1){if((m|0)>=(h|0)){m=f;break a}V=R+(m<<2)|0;U=+g[a+(m<<2)>>2]-+g[V>>2];g[V>>2]=U<0.0?0.0:U;m=m+1|0}}while(0);while(1){if((m|0)>=(h|0))break;V=R+(m<<2)|0;K=+g[V>>2];U=+g[w+(m<<2)>>2];g[V>>2]=K>U?K:U;m=m+1|0}D=(p|0)==0;b:do if((D|(q|0)!=0)&(o|0)==0){m=f;while(1){if((m|0)>=(h|0))break b;V=R+(m<<2)|0;g[V>>2]=+g[V>>2]*.5;m=m+1|0}}while(0);A=(t|0)/4|0;z=(q|0)==0;m=0;while(1){if((f|0)>=(h|0)){S=76;break}if((f|0)>=8){n=R+(f<<2)|0;x=+g[n>>2];if((f|0)>11){x=x*.5;g[n>>2]=x}}else{n=R+(f<<2)|0;x=+g[n>>2]*2.0;g[n>>2]=x}x=x<4.0?x:4.0;g[n>>2]=x;v=f+1|0;n=(_((b[r+(v<<1)>>1]|0)-(b[r+(f<<1)>>1]|0)|0,j)|0)< =6)if((n|0)>48){V=~~(x*8.0);y=V;n=((_(V,n)|0)<<3|0)/8|0;break}else{n=~~(x*+(n|0)/6.0);y=n;n=n*48|0;break}else{V=~~x;y=V;n=(_(V,n)|0)<<3}while(0);if(!((z|(o|0)!=0)&(D^1))?(m+n>>6|0)>(A|0):0)break;c[l+(f<<2)>>2]=y;f=v;m=m+n|0}if((S|0)==76){c[u>>2]=m;i=T;return +Q}V=A<<6;c[l+(f<<2)>>2]=V-m;c[u>>2]=V;i=T;return +Q}function Xc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=0;h=i;i=i+16|0;e=h;c[e>>2]=d;do switch(b|0){case 10010:{f=(c[e>>2]|0)+(4-1)&~(4-1);b=c[f>>2]|0;c[e>>2]=f+4;if((b|0)>=0?(b|0)<(c[(c[a>>2]|0)+8>>2]|0):0){c[a+20>>2]=b;b=25}else b=26;break}case 10012:{f=(c[e>>2]|0)+(4-1)&~(4-1);b=c[f>>2]|0;c[e>>2]=f+4;if((b|0)>=1?(b|0)<=(c[(c[a>>2]|0)+8>>2]|0):0){c[a+24>>2]=b;b=25}else b=26;break}case 10008:{f=(c[e>>2]|0)+(4-1)&~(4-1);b=c[f>>2]|0;c[e>>2]=f+4;if((b+-1|0)>>>0>1)b=26;else{c[a+12>>2]=b;b=25}break}case 10007:{f=(c[e>>2]|0)+(4-1)&~(4-1);b=c[f>>2]|0;c[e>>2]=f+4;if(!b)b=26;else{a=a+40|0;c[b>>2]=c[a>>2];c[a>>2]=0;b=25}break}case 4027:{f=(c[e>>2]|0)+(4-1)&~(4-1);b=c[f>>2]|0;c[e>>2]=f+4;if(!b)b=26;else{c[b>>2]=(c[a+4>>2]|0)/(c[a+16>>2]|0)|0;b=25}break}case 4028:{f=c[a+8>>2]|0;b=a+88+((_((c[a+4>>2]|0)+2048|0,f)|0)<<2)+(f*24<<2)|0;j=c[a>>2]|0;e=c[j+8>>2]|0;d=e<<1;b=b+(d<<2)|0;d=b+(d<<2)|0;nf(a+36|0,0,((_((c[j+4>>2]|0)+2048|0,f)|0)<<2)+88+(f*96|0)+(e<<5)+-36|0)|0;f=0;while(1){if((f|0)>=(e<<1|0))break;g[d+(f<<2)>>2]=-28.0;g[b+(f<<2)>>2]=-28.0;e=c[(c[a>>2]|0)+8>>2]|0;f=f+1|0}c[a+52>>2]=1;b=25;break}case 4033:{j=(c[e>>2]|0)+(4-1)&~(4-1);b=c[j>>2]|0;c[e>>2]=j+4;if(!b)b=26;else{c[b>>2]=c[a+56>>2];b=25}break}case 10015:{j=(c[e>>2]|0)+(4-1)&~(4-1);b=c[j>>2]|0;c[e>>2]=j+4;if(!b)b=26;else{c[b>>2]=c[a>>2];b=25}break}case 10016:{j=(c[e>>2]|0)+(4-1)&~(4-1);b=c[j>>2]|0;c[e>>2]=j+4;c[a+28>>2]=b;b=25;break}case 4031:{j=(c[e>>2]|0)+(4-1)&~(4-1);b=c[j>>2]|0;c[e>>2]=j+4;if(!b)b=26;else{c[b>>2]=c[a+36>>2];b=25}break}default:{i=h;return}}while(0);if((b|0)==25){i=h;return}else if((b|0)==26){i=h;return}}function Yc(e,f,h,j,k,l,m){e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0.0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,$=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Ga=0,Ha=0;Ha=i;i=i+96|0;J=Ha;B=Ha+40|0;ba=Ha+32|0;Ga=Ha+24|0;ea=Ha+16|0;da=Ha+12|0;ca=Ha+8|0;za=c[e+8>>2]|0;c[ea>>2]=0;c[da>>2]=0;ma=c[e+12>>2]|0;Da=c[e>>2]|0;ka=Da+8|0;Ea=c[ka>>2]|0;qa=c[Da+4>>2]|0;la=Da+32|0;R=c[la>>2]|0;Aa=c[e+20>>2]|0;Ba=c[e+24>>2]|0;Ca=e+16|0;va=_(c[Ca>>2]|0,k)|0;o=qa+2048|0;wa=e+88+((_(o,za)|0)<<2)+(za*24<<2)|0;sa=Ea<<1;xa=wa+(sa<<2)|0;ya=xa+(sa<<2)|0;ra=ya+(sa<<2)|0;pa=Da+44|0;k=c[Da+36>>2]|0;na=0;while(1){if((na|0)>(k|0)){k=-1;K=268;break}if((c[pa>>2]<>>0>1275|(j|0)==0){e=-1;i=Ha;return e|0}ua=c[pa>>2]< >2]=ta;c[Ga+(n<<2)>>2]=ta+8192+(k<<2);n=n+1|0}while((n|0)<(za|0));ja=c[Da+12>>2]|0;ja=(Ba|0)>(ja|0)?ja:Ba;if((f|0)==0|(h|0)<2){Zc(e,ua,na);$c(Ga,j,ua,za,c[Ca>>2]|0,Da+16|0,e+80|0,m);e=(va|0)/(c[Ca>>2]|0)|0;i=Ha;return e|0}ta=e+48|0;c[e+52>>2]=(c[ta>>2]|0)!=0&1;a:do if(!l){c[B>>2]=f;c[B+4>>2]=h;c[B+8>>2]=0;c[B+12>>2]=0;c[B+16>>2]=0;t=B+20|0;c[t>>2]=9;u=B+24|0;c[u>>2]=0;v=B+28|0;c[v>>2]=128;if(!h){k=0;n=0}else{c[u>>2]=1;k=1;n=d[f>>0]|0}w=B+40|0;c[w>>2]=n;s=n>>>1^127;x=B+32|0;c[x>>2]=s;c[B+44>>2]=0;o=128;l=9;while(1){if(o>>>0>=8388609){l=B;break a}l=l+8|0;c[t>>2]=l;o=o<<8;c[v>>2]=o;if(k>>>0 >>0){q=k+1|0;c[u>>2]=q;r=d[f+k>>0]|0}else{q=k;r=0}c[w>>2]=r;ia=((n<<8|r)>>>1&255|s<<8&2147483392)^255;c[x>>2]=ia;k=q;n=r;s=ia}}while(0);fa=(ma|0)==1;b:do if(fa){k=0;while(1){if((k|0)>=(Ea|0))break b;ia=wa+(k<<2)|0;G=+g[ia>>2];H=+g[wa+(Ea+k<<2)>>2];g[ia>>2]=G>H?G:H;k=k+1|0}}while(0);ga=h<<3;ha=l+20|0;k=c[ha>>2]|0;ia=l+28|0;r=c[ia>>2]|0;o=k+((aa(r|0)|0)+-32)|0;if((o|0)<(ga|0))if((o|0)==1){w=l+32|0;o=c[w>>2]|0;q=r>>>15;x=o>>>0 >>0;n=x&1;if(!x){o=o-q|0;c[w>>2]=o;q=r-q|0}c[ia>>2]=q;t=l+40|0;u=l+24|0;v=l+4|0;while(1){if(q>>>0>=8388609)break;k=k+8|0;c[ha>>2]=k;q=q<<8;c[ia>>2]=q;s=c[t>>2]|0;r=c[u>>2]|0;if(r>>>0<(c[v>>2]|0)>>>0){c[u>>2]=r+1;r=d[(c[l>>2]|0)+r>>0]|0}else r=0;c[t>>2]=r;$=((s<<8|r)>>>1&255|o<<8&2147483392)^255;c[w>>2]=$;o=$}if(x){o=q;K=31}else{n=0;o=1}}else{q=r;n=0}else{o=r;n=1;K=31}if((K|0)==31){k=k+(ga-(k+((aa(o|0)|0)+-32)))|0;c[ha>>2]=k;q=o;o=ga}if((Aa|0)!=0|(o+16|0)>(ga|0)){$=0;Z=0;p=0.0}else{I=l+32|0;o=c[I>>2]|0;r=q>>>1;t=o>>>0>>0;if(!t){o=o-r|0;c[I>>2]=o;r=q-r|0}c[ia>>2]=r;D=l+40|0;E=l+24|0;F=l+4|0;while(1){if(r>>>0>=8388609)break;k=k+8|0;c[ha>>2]=k;r=r<<8;c[ia>>2]=r;s=c[D>>2]|0;q=c[E>>2]|0;if(q>>>0<(c[F>>2]|0)>>>0){c[E>>2]=q+1;q=d[(c[l>>2]|0)+q>>0]|0}else q=0;c[D>>2]=q;$=((s<<8|q)>>>1&255|o<<8&2147483392)^255;c[I>>2]=$;o=$}if(t){B=bd(l,6)|0;v=16<>2]|0;C=l+16|0;o=c[C>>2]|0;if(o>>>0 >>0){t=l+8|0;s=c[F>>2]|0;u=o+8|0;u=o+(((u|0)>25?u:25)+-1-o&-8)|0;q=c[t>>2]|0;do{if(q>>>0 >>0){r=q+1|0;c[t>>2]=r;q=r;r=d[(c[l>>2]|0)+(s-r)>>0]|0}else r=0;k=k|r<>>w;q=r-w|0;c[f>>2]=o;c[C>>2]=q;x=(c[ha>>2]|0)+w|0;c[ha>>2]=x;k=v+(k&(1< >>0<3){v=l+8|0;u=c[F>>2]|0;t=r+4-B|0;t=r+(B+((t|0)>25?t:25)+3-r&-8)+4|0;r=c[v>>2]|0;do{if(r>>>0>>0){s=r+1|0;c[v>>2]=s;r=s;s=d[(c[l>>2]|0)+(u-s)>>0]|0}else s=0;o=o|s< >2]=o>>>3;c[C>>2]=q+-3;q=x+3|0;c[ha>>2]=q;r=c[ia>>2]|0;c:do if((q+((aa(r|0)|0)+-32)+2|0)>(ga|0))o=0;else{t=c[I>>2]|0;u=r>>>2;o=-1;while(1){o=o+1|0;s=_(u,d[29345+o>>0]|0)|0;if(t>>>0>=s>>>0)break;else r=s}u=t-s|0;c[I>>2]=u;r=r-s|0;c[ia>>2]=r;while(1){if(r>>>0>=8388609)break c;q=q+8|0;c[ha>>2]=q;r=r<<8;c[ia>>2]=r;t=c[D>>2]|0;s=c[E>>2]|0;if(s>>>0<(c[F>>2]|0)>>>0){c[E>>2]=s+1;s=d[(c[l>>2]|0)+s>>0]|0}else s=0;c[D>>2]=s;$=((t<<8|s)>>>1&255|u<<8&2147483392)^255;c[I>>2]=$;u=$}}while(0);s=q;p=+(v+1|0)*.09375}else{s=k;p=0.0;k=0;o=0}$=k;Z=o;k=s;q=r;o=s+((aa(r|0)|0)+-32)|0}Q=(na|0)>0;if(!((o+3|0)>(ga|0)|Q^1)){w=l+32|0;o=c[w>>2]|0;r=q>>>3;x=o>>>0>>0;B=x&1;if(x)q=r;else{o=o-r|0;c[w>>2]=o;q=q-r|0}c[ia>>2]=q;t=l+40|0;u=l+24|0;v=l+4|0;while(1){if(q>>>0>=8388609)break;k=k+8|0;c[ha>>2]=k;q=q<<8;c[ia>>2]=q;s=c[t>>2]|0;r=c[u>>2]|0;if(r>>>0<(c[v>>2]|0)>>>0){c[u>>2]=r+1;r=d[(c[l>>2]|0)+r>>0]|0}else r=0;c[t>>2]=r;Y=((s<<8|r)>>>1&255|o<<8&2147483392)^255;c[w>>2]=Y;o=Y}o=k+((aa(q|0)|0)+-32)|0;if(x)W=oa;else K=72}else K=72;if((K|0)==72){B=0;W=0}if((o+3|0)<=(ga|0)){w=l+32|0;o=c[w>>2]|0;r=q>>>3;u=o>>>0 >>0;f=u&1;if(!u){o=o-r|0;c[w>>2]=o;r=q-r|0}c[ia>>2]=r;v=l+40|0;q=l+24|0;x=l+4|0;while(1){if(r>>>0>=8388609)break;k=k+8|0;c[ha>>2]=k;r=r<<8;c[ia>>2]=r;t=c[v>>2]|0;s=c[q>>2]|0;if(s>>>0<(c[x>>2]|0)>>>0){c[q>>2]=s+1;s=d[(c[l>>2]|0)+s>>0]|0}else s=0;c[v>>2]=s;Y=((t<<8|s)>>>1&255|o<<8&2147483392)^255;c[w>>2]=Y;o=Y}Y=J;c[Y>>2]=0;c[Y+4>>2]=0;if(u){k=w;o=v;r=l;Y=x;P=f;y=.149993896484375;z=0.0;t=J}else{s=x;k=w;o=v;r=l;t=J;K=83}}else{s=J;c[s>>2]=0;c[s+4>>2]=0;s=l+4|0;k=l+32|0;o=l+40|0;q=l+24|0;r=l;t=J;K=83}if((K|0)==83){Y=s;P=0;y=+g[17320+(na<<2)>>2];z=+g[17336+(na<<2)>>2]}J=c[Y>>2]<<3;K=l+36|0;N=Aa;while(1){if((N|0)>=(Ba|0))break;L=(N|0)<20;M=0;do{v=c[ha>>2]|0;I=c[ia>>2]|0;s=v+((aa(I|0)|0)+-32)|0;u=J-s|0;d:do if((u|0)<=14){if((u|0)>1){w=c[k>>2]|0;x=I>>>2;f=-1;u=I;while(1){f=f+1|0;s=_(x,d[29345+f>>0]|0)|0;if(w>>>0>=s>>>0)break;else u=s}x=w-s|0;c[k>>2]=x;u=u-s|0;c[ia>>2]=u;s=v;while(1){if(u>>>0>=8388609)break;s=s+8|0;c[ha>>2]=s;u=u<<8;c[ia>>2]=u;w=c[o>>2]|0;v=c[q>>2]|0;if(v>>>0<(c[Y>>2]|0)>>>0){c[q>>2]=v+1;v=d[(c[r>>2]|0)+v>>0]|0}else v=0;c[o>>2]=v;V=((w<<8|v)>>>1&255|x<<8&2147483392)^255;c[k>>2]=V;x=V}s=f>>1^0-(f&1);break}if((J|0)>(s|0)){u=c[k>>2]|0;s=I>>>1;f=u>>>0 >>0;if(!f){u=u-s|0;c[k>>2]=u;s=I-s|0}c[ia>>2]=s;while(1){if(s>>>0>=8388609)break;v=v+8|0;c[ha>>2]=v;s=s<<8;c[ia>>2]=s;x=c[o>>2]|0;w=c[q>>2]|0;if(w>>>0<(c[Y>>2]|0)>>>0){c[q>>2]=w+1;w=d[(c[r>>2]|0)+w>>0]|0}else w=0;c[o>>2]=w;V=((x<<8|w)>>>1&255|u<<8&2147483392)^255;c[k>>2]=V;u=V}s=f<<31>>31}else s=-1}else{C=(L?N:20)<<1;s=d[29009+(na*84|0)+(P*42|0)+C>>0]<<7;C=d[(C|1)+(29009+(na*84|0)+(P*42|0))>>0]<<6;E=I>>>15;c[K>>2]=E;F=c[k>>2]|0;D=(F>>>0)/(E>>>0)|0;V=D+1|0;D=32768-(V+(V>>>0>32768?32767-D|0:0))|0;if(D>>>0>>0){w=s;u=0;s=0}else{u=_(32736-s|0,16384-C|0)|0;x=1;while(1){V=u>>>15;w=V+1|0;if(!V)break;u=w<<1;f=s+u|0;if(D>>>0>>0)break;u=_(u+-2|0,C)|0;s=f;x=x+1|0}if(w>>>0<2){V=(D-s|0)>>>1;s=s+(V<<1)|0;x=x+V|0}u=s+w|0;V=D>>>0>>0;u=V?s:u;s=V?0-x|0:x}w=u+w|0;w=w>>>0<32768?w:32768;V=_(E,32768-w|0)|0;f=F-V|0;c[k>>2]=f;w=_(E,w-u|0)|0;w=(u|0)==0?I-V|0:w;c[ia>>2]=w;u=v;while(1){if(w>>>0>=8388609)break d;u=u+8|0;c[ha>>2]=u;w=w<<8;c[ia>>2]=w;x=c[o>>2]|0;v=c[q>>2]|0;if(v>>>0<(c[Y>>2]|0)>>>0){c[q>>2]=v+1;v=d[(c[r>>2]|0)+v>>0]|0}else v=0;c[o>>2]=v;V=((x<<8|v)>>>1&255|f<<8&2147483392)^255;c[k>>2]=V;f=V}}while(0);H=+(s|0);U=wa+(N+(_(M,c[ka>>2]|0)|0)<<2)|0;G=+g[U>>2];g[U>>2]=G<-9.0?-9.0:G;U=wa+(N+(_(M,c[ka>>2]|0)|0)<<2)|0;V=t+(M<<2)|0;g[U>>2]=z*+g[U>>2]+ +g[V>>2]+H;g[V>>2]=+g[V>>2]+H-y*H;M=M+1|0}while((M|0)<(ma|0));N=N+1|0}V=Fa()|0;U=i;i=i+((1*(Ea<<2)|0)+15&-16)|0;N=c[Y>>2]|0;s=N<<3;u=c[ha>>2]|0;v=c[ia>>2]|0;x=u+((aa(v|0)|0)+-32)|0;t=(B|0)!=0;w=t?2:4;if(Q)I=(x+w+1|0)>>>0<=s>>>0;else I=0;F=s-(I&1)|0;E=t?4:5;C=0;D=Aa;s=x;f=0;while(1){if((D|0)>=(Ba|0))break;if((s+w|0)>>>0>F>>>0){x=C;t=f}else{t=c[k>>2]|0;s=v>>>w;T=t>>>0 >>0;x=T&1;if(!T){t=t-s|0;c[k>>2]=t;s=v-s|0}c[ia>>2]=s;w=u;while(1){if(s>>>0>=8388609)break;w=w+8|0;c[ha>>2]=w;s=s<<8;c[ia>>2]=s;v=c[o>>2]|0;u=c[q>>2]|0;if(u>>>0>>0){c[q>>2]=u+1;u=d[(c[r>>2]|0)+u>>0]|0}else u=0;c[o>>2]=u;T=((v<<8|u)>>>1&255|t<<8&2147483392)^255;c[k>>2]=T;t=T}t=C^x;u=w;v=s;x=t;s=w+((aa(s|0)|0)+-32)|0;t=f|t}c[U+(D<<2)>>2]=x;C=x;D=D+1|0;w=E;f=t}C=B<<2;if(I?(a[C+f+(27892+(na<<3))>>0]|0)!=(a[(C|2)+f+(27892+(na<<3))>>0]|0):0){t=c[k>>2]|0;s=v>>>1;T=t>>>0 >>0;f=T&1;if(!T){t=t-s|0;c[k>>2]=t;s=v-s|0}c[ia>>2]=s;while(1){if(s>>>0>=8388609)break;u=u+8|0;c[ha>>2]=u;s=s<<8;c[ia>>2]=s;w=c[o>>2]|0;v=c[q>>2]|0;if(v>>>0>>0){c[q>>2]=v+1;v=d[(c[r>>2]|0)+v>>0]|0}else v=0;c[o>>2]=v;T=((w<<8|v)>>>1&255|t<<8&2147483392)^255;c[k>>2]=T;t=T}x=s;s=f<<1}else{x=v;s=0}s=C+s|0;t=Aa;while(1){if((t|0)>=(Ba|0))break;T=U+(t<<2)|0;c[T>>2]=a[s+(c[T>>2]|0)+(27892+(na<<3))>>0];t=t+1|0}e:do if((u+((aa(x|0)|0)+-32)+4|0)>(ga|0)){s=u;t=x;f=2}else{v=c[k>>2]|0;w=x>>>5;f=-1;t=x;while(1){f=f+1|0;s=_(w,d[28203+f>>0]|0)|0;if(v>>>0>=s>>>0)break;else t=s}w=v-s|0;c[k>>2]=w;t=t-s|0;c[ia>>2]=t;s=u;while(1){if(t>>>0>=8388609)break e;s=s+8|0;c[ha>>2]=s;u=t<<8;c[ia>>2]=u;v=c[o>>2]|0;t=c[q>>2]|0;if(t>>>0 >>0){c[q>>2]=t+1;t=d[(c[r>>2]|0)+t>>0]|0}else t=0;c[o>>2]=t;T=((v<<8|t)>>>1&255|w<<8&2147483392)^255;c[k>>2]=T;t=u;w=T}}while(0);M=i;i=i+((1*(Ea<<2)|0)+15&-16)|0;u=c[ka>>2]|0;v=(na<<1)+ma+-1|0;w=Da+104|0;x=0;while(1){if((x|0)>=(u|0))break;T=x+1|0;S=c[la>>2]|0;Q=(_(u,v)|0)+x|0;c[M+(x<<2)>>2]=(_(_((d[(c[w>>2]|0)+Q>>0]|0)+64|0,ma)|0,(b[S+(T<<1)>>1]|0)-(b[S+(x<<1)>>1]|0)< >2;x=T}L=i;i=i+((1*(Ea<<2)|0)+15&-16)|0;Q=h<<6;S=32-(aa(t|0)|0)|0;T=t>>>(S+-16|0);w=(T>>>12)+-8|0;C=s;J=6;K=Aa;s=(s<<3)-((S<<3)+(w+(T>>>0>(c[5272+(w<<2)>>2]|0)>>>0&1)))|0;w=Q;while(1){if((K|0)>=(Ba|0))break;I=K+1|0;D=(_(ma,(b[R+(I<<1)>>1]|0)-(b[R+(K<<1)>>1]|0)|0)|0)< =(F|0))break;if((C|0)>=(c[E>>2]|0))break;s=c[k>>2]|0;v=t>>>v;x=s>>>0 >>0;if(x)t=v;else{s=s-v|0;c[k>>2]=s;t=t-v|0}c[ia>>2]=t;while(1){if(t>>>0>=8388609)break;u=u+8|0;c[ha>>2]=u;t=t<<8;c[ia>>2]=t;w=c[o>>2]|0;v=c[q>>2]|0;if(v>>>0 >>0){c[q>>2]=v+1;v=d[(c[r>>2]|0)+v>>0]|0}else v=0;c[o>>2]=v;T=((w<<8|v)>>>1&255|s<<8&2147483392)^255;c[k>>2]=T;s=T}S=32-(aa(t|0)|0)|0;T=t>>>(S+-16|0);s=(T>>>12)+-8|0;s=(u<<3)-((S<<3)+(s+(T>>>0>(c[5272+(s<<2)>>2]|0)>>>0&1)))|0;if(!x)break;C=C+D|0;v=1;F=F-D|0}c[L+(K<<2)>>2]=C;if((C|0)<=0){C=u;K=I;w=F;continue}C=u;J=(J|0)<3?2:J+-1|0;K=I;w=F}h=i;i=i+((1*(Ea<<2)|0)+15&-16)|0;f:do if((s+48|0)>(w|0)){o=C;k=t;q=5}else{u=c[k>>2]|0;v=t>>>7;x=-1;while(1){x=x+1|0;s=_(v,d[28207+x>>0]|0)|0;if(u>>>0>=s>>>0)break;else t=s}w=u-s|0;c[k>>2]=w;t=t-s|0;c[ia>>2]=t;s=C;while(1){if(t>>>0>=8388609){o=s;k=t;q=x;break f}s=s+8|0;c[ha>>2]=s;u=t<<8;c[ia>>2]=u;v=c[o>>2]|0;t=c[q>>2]|0;if(t>>>0 >>0){c[q>>2]=t+1;t=d[(c[r>>2]|0)+t>>0]|0}else t=0;c[o>>2]=t;T=((v<<8|t)>>>1&255|w<<8&2147483392)^255;c[k>>2]=T;t=u;w=T}}while(0);S=32-(aa(k|0)|0)|0;T=k>>>(S+-16|0);k=(T>>>12)+-8|0;k=Q+((S<<3)+(k+(T>>>0>(c[5272+(k<<2)>>2]|0)>>>0&1))-(o<<3))+-1|0;T=(B|0)==0;if((na|0)>1&(T^1))E=(k|0)>=((na<<3)+16|0);else E=0;F=E?8:0;S=i;i=i+((1*(Ea<<2)|0)+15&-16)|0;N=i;i=i+((1*(Ea<<2)|0)+15&-16)|0;D=sd(Da,Aa,Ba,L,M,q,ea,da,k-F|0,ca,S,h,N,ma,na,l,0,0,0)|0;I=l+12|0;J=l+16|0;K=l+8|0;C=Aa;while(1){if((C|0)>=(Ba|0))break;v=c[h+(C<<2)>>2]|0;if((v|0)>=1){w=(1< >2]|0;k=c[J>>2]|0;x=0;do{if(k>>>0 >>0){t=k+8|0;u=((t|0)>25?t:25)+-1-k&-8;o=q;do{q=c[K>>2]|0;s=c[Y>>2]|0;if(q>>>0 >>0){q=q+1|0;c[K>>2]=q;q=d[(c[r>>2]|0)+(s-q)>>0]|0}else q=0;o=o|q<>>v;k=k-v|0;c[I>>2]=q;c[J>>2]=k;c[ha>>2]=(c[ha>>2]|0)+v;R=wa+(C+(_(x,c[ka>>2]|0)|0)<<2)|0;g[R>>2]=+g[R>>2]+((+(o&w|0)+.5)*y*.00006103515625+-.5);x=x+1|0}while((x|0)<(ma|0))}C=C+1|0}k=2048-ua+((qa|0)/2|0)<<2;o=0;do{R=c[ba+(o<<2)>>2]|0;sf(R|0,R+(ua<<2)|0,k|0)|0;o=o+1|0}while((o|0)<(za|0));M=_(ma,Ea)|0;L=i;i=i+((1*M|0)+15&-16)|0;R=(_(ma,ua)|0)<<2;P=i;i=i+((1*R|0)+15&-16)|0;R=e+36|0;Yd(0,Da,Aa,Ba,P,(ma|0)==2?P+(ua<<2)|0:0,L,0,S,W,f,c[da>>2]|0,c[ea>>2]|0,U,Q-F|0,c[ca>>2]|0,l,na,D,R,0,c[e+32>>2]|0);if(E){o=c[I>>2]|0;k=c[J>>2]|0;if(!k){s=c[Y>>2]|0;q=c[K>>2]|0;t=0;do{if(q>>>0 >>0){k=q+1|0;c[K>>2]=k;q=k;k=d[(c[r>>2]|0)+(s-k)>>0]|0}else k=0;o=o|k<>2]=o>>>1;c[J>>2]=k+-1;k=(c[ha>>2]|0)+1|0;c[ha>>2]=k;f=o&1}else{k=c[ha>>2]|0;f=0}o=ga-(k+((aa(c[ia>>2]|0)|0)+-32))|0;x=0;while(1){if((x|0)==2)break;else w=Aa;while(1){if(!((w|0)<(Ba|0)&(o|0)>=(ma|0)))break;q=c[h+(w<<2)>>2]|0;do if((q|0)<=7){if((c[N+(w<<2)>>2]|0)!=(x|0))break;y=+(1<<14-q+-1|0);s=c[J>>2]|0;t=c[I>>2]|0;v=0;do{if(!s){u=0;while(1){q=c[K>>2]|0;s=c[Y>>2]|0;if(q>>>0 >>0){q=q+1|0;c[K>>2]=q;q=d[(c[r>>2]|0)+(s-q)>>0]|0}else q=0;q=t|q<=25){s=32;break}else t=q}}else q=t;t=q>>>1;s=s+-1|0;c[I>>2]=t;c[J>>2]=s;k=k+1|0;c[ha>>2]=k;ea=wa+(w+(_(v,c[ka>>2]|0)|0)<<2)|0;g[ea>>2]=+g[ea>>2]+(+(q&1|0)+-.5)*y*.00006103515625;o=o+-1|0;v=v+1|0}while((v|0)<(ma|0))}while(0);w=w+1|0}x=x+1|0}g:do if(f|0){u=(na|0)==3;k=c[R>>2]|0;C=Aa;h:while(1){if((C|0)>=(Ba|0))break g;v=C+1|0;w=c[la>>2]|0;w=(b[w+(v<<1)>>1]|0)-(b[w+(C<<1)>>1]|0)|0;G=+X(+(+(((((c[S+(C<<2)>>2]|0)+1|0)>>>0)/(w>>>0)|0)>>>na|0)*-.125*.6931471805599453))*.5;x=w<>2]|0;r=(_(o,q)|0)+C|0;z=+g[xa+(r<<2)>>2];y=+g[ya+(r<<2)>>2];do if(fa){ea=q+C|0;A=+g[xa+(ea<<2)>>2];z=z>A?z:A;A=+g[ya+(ea<<2)>>2];if(y>A)break;y=A}while(0);y=+g[wa+(r<<2)>>2]-(z >2]|0)+(C<<1)>>1]< =(oa|0))break;i:do if(!(d[s>>0]&1< =(w|0)){q=1;break i}ea=(_(k,1664525)|0)+1013904223|0;g[t+((q< >2]=(ea&32768|0)==0?z:y;k=ea;q=q+1|0}}while(0);r=r+1|0}j:do if(q|0){q=0;y=0.0;while(1){if((q|0)>=(x|0))break;A=+g[t+(q<<2)>>2];q=q+1|0;y=y+A*A}y=1.0/+O(+(y+1.0000000036274937e-15));r=0;q=t;while(1){if((r|0)>=(x|0))break j;g[q>>2]=y*+g[q>>2];r=r+1|0;q=q+4|0}}while(0);o=o+1|0;if((o|0)>=(ma|0)){C=v;continue h}}}}while(0);k:do if(n|0){k=0;while(1){if((k|0)>=(M|0))break k;g[wa+(k<<2)>>2]=-28.0;k=k+1|0}}while(0);_c(Da,P,Ga,wa,Aa,ja,ma,za,B,na,c[Ca>>2]|0,n);q=e+56|0;r=e+60|0;s=e+68|0;t=e+64|0;u=e+76|0;v=e+72|0;w=Da+60|0;k=(na|0)==0;o=0;do{na=c[q>>2]|0;na=(na|0)>15?na:15;c[q>>2]=na;ma=c[r>>2]|0;ma=(ma|0)>15?ma:15;c[r>>2]=ma;n=c[Ga+(o<<2)>>2]|0;yc(n,n,ma,na,c[pa>>2]|0,+g[s>>2],+g[t>>2],c[u>>2]|0,c[v>>2]|0,c[w>>2]|0,qa);if(!k){na=c[pa>>2]|0;ma=n+(na<<2)|0;yc(ma,ma,c[q>>2]|0,$,ua-na|0,+g[t>>2],p,c[v>>2]|0,Z,c[w>>2]|0,qa)}o=o+1|0}while((o|0)<(za|0));c[r>>2]=c[q>>2];c[s>>2]=c[t>>2];c[u>>2]=c[v>>2];c[q>>2]=$;g[t>>2]=p;c[v>>2]=Z;if(!k){c[r>>2]=$;g[s>>2]=p;c[u>>2]=Z}if(fa)rf(wa+(Ea<<2)|0,wa|0,Ea<<2|0)|0;l:do if(T){k=Ea<<3;rf(ya|0,xa|0,k|0)|0;rf(xa|0,wa|0,k|0)|0;p=(c[ta>>2]|0)<10?+(oa|0)*1.0000000474974513e-03:1.0;k=0;while(1){if((k|0)>=(sa|0)){o=0;break l}qa=ra+(k<<2)|0;G=+g[qa>>2]+p;H=+g[wa+(k<<2)>>2];g[qa>>2]=G =(sa|0)){o=0;break l}ra=xa+(k<<2)|0;G=+g[ra>>2];H=+g[wa+(k<<2)>>2];g[ra>>2]=G =(Aa|0)){k=Ba;break}sa=n+k|0;g[wa+(sa<<2)>>2]=0.0;g[ya+(sa<<2)>>2]=-28.0;g[xa+(sa<<2)>>2]=-28.0;k=k+1|0}while(1){if((k|0)>=(Ea|0))break;sa=n+k|0;g[wa+(sa<<2)>>2]=0.0;g[ya+(sa<<2)>>2]=-28.0;g[xa+(sa<<2)>>2]=-28.0;k=k+1|0}o=o+1|0}while((o|0)!=2);c[R>>2]=c[ia>>2];$c(Ga,j,ua,za,c[Ca>>2]|0,Da+16|0,e+80|0,m);c[ta>>2]=0;if(((c[ha>>2]|0)+((aa(c[ia>>2]|0)|0)+-32)|0)>(ga|0))k=-3;else{if(c[l+44>>2]|0)c[e+40>>2]=1;k=(va|0)/(c[Ca>>2]|0)|0}Na(V|0);e=k;i=Ha;return e|0}function Zc(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,h=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0.0,Z=0.0;X=i;i=i+8512|0;l=X+8504|0;k=X+4408|0;W=X+4400|0;z=X+4392|0;P=X+296|0;N=X+192|0;Q=X+96|0;R=X;V=c[a+8>>2]|0;A=c[a>>2]|0;n=c[A+8>>2]|0;U=c[A+4>>2]|0;y=c[A+32>>2]|0;f=U+2048|0;M=0-d|0;h=0;do{T=a+88+((_(h,f)|0)<<2)|0;c[W+(h<<2)>>2]=T;c[z+(h<<2)>>2]=T+8192+(M<<2);h=h+1|0}while((h|0)<(V|0));L=a+88+((_(f,V)|0)<<2)|0;w=L+(V*24<<2)|0;m=n<<1;m=w+(m<<2)+(m<<2)+(m<<2)|0;S=a+48|0;T=c[S>>2]|0;x=c[a+20>>2]|0;if((T|0)<5&(x|0)==0?(c[a+52>>2]|0)==0:0){K=(T|0)==0;if(K){gd(W,k,2048,V);id(k+1440|0,k,1328,620,l);J=720-(c[l>>2]|0)|0;c[a+44>>2]=J;I=1.0}else{I=.800000011920929;J=c[a+44>>2]|0}G=Fa()|0;H=i;i=i+((1*(U<<2)|0)+15&-16)|0;u=c[A+60>>2]|0;w=J<<1;x=(w|0)<1024;y=P+4096|0;e=2048-d|0;z=e<<2;A=1024-J|0;B=U+d|0;C=1024-d+A|0;D=e+-1|0;E=a+56|0;F=a+64|0;o=a+72|0;p=(U|0)/2|0;q=U+-1|0;t=0;do{s=c[W+(t<<2)>>2]|0;f=0;while(1){if((f|0)==1024)break;c[P+(f<<2)>>2]=c[s+(f+1024<<2)>>2];f=f+1|0}if(K){pd(P,N,u,U,24,1024);g[N>>2]=+g[N>>2]*1.000100016593933;f=1;while(1){if((f|0)==25)break;a=N+(f<<2)|0;r=+g[a>>2];v=+(f|0);g[a>>2]=r-r*6.400000711437315e-05*v*v;f=f+1|0}ld(L+(t*24<<2)|0,N,24)}k=x?w:1024;f=2048-k+-1|0;h=0;while(1){if((h|0)==24)break;c[Q+(h<<2)>>2]=c[s+(f-h<<2)>>2];h=h+1|0}l=y+(0-k<<2)|0;n=L+(t*24<<2)|0;md(l,n,l,k,Q);l=k>>1;m=1024-l|0;f=1024-k|0;j=1.0;r=1.0;h=0;while(1){if((h|0)>=(l|0))break;Y=+g[P+(m+h<<2)>>2];v=+g[P+(f+h<<2)>>2];j=j+Y*Y;r=r+v*v;h=h+1|0}r=+O(+((j =(B|0)){f=0;break}a=(h|0)<(J|0);Y=a?j:j*r;a=h-(a?0:J)|0;g[s+(e+f<<2)>>2]=Y*+g[P+(A+a<<2)>>2];Z=+g[s+(C+a<<2)>>2];v=v+Z*Z;j=Y;f=f+1|0;h=a+1|0}while(1){if((f|0)==24)break;c[R+(f<<2)>>2]=c[s+(D-f<<2)>>2];f=f+1|0}h=s+8192|0;f=h+(M<<2)|0;od(f,n,f,B,R);j=0.0;f=0;while(1){if((f|0)>=(B|0))break;Z=+g[s+(e+f<<2)>>2];j=j+Z*Z;f=f+1|0}a:do if(v>j*.20000000298023224){if(v =(U|0)){f=U;break}a=s+(e+f<<2)|0;g[a>>2]=(1.0-+g[u+(f<<2)>>2]*j)*+g[a>>2];f=f+1|0}while(1){if((f|0)>=(B|0))break a;a=s+(e+f<<2)|0;g[a>>2]=r*+g[a>>2];f=f+1|0}}}else{f=0;while(1){if((f|0)>=(B|0))break a;g[s+(e+f<<2)>>2]=0.0;f=f+1|0}}while(0);a=c[E>>2]|0;Z=-+g[F>>2];f=c[o>>2]|0;yc(H,h,a,a,U,Z,Z,f,f,0,0);f=0;while(1){if((f|0)>=(p|0))break;g[s+(f+2048<<2)>>2]=+g[u+(f<<2)>>2]*+g[H+(q-f<<2)>>2]+ +g[u+(U-f+-1<<2)>>2]*+g[H+(f<<2)>>2];f=f+1|0}t=t+1|0}while((t|0)<(V|0));Na(G|0);W=T+1|0;c[S>>2]=W;i=X;return}f=c[a+24>>2]|0;s=c[A+12>>2]|0;k=(f|0)<(s|0);s=(x|0)>((k?f:s)|0)?x:k?f:s;k=_(V,d)|0;t=Fa()|0;u=i;i=i+((1*(k<<2)|0)+15&-16)|0;j=(T|0)==0?1.5:.5;k=0;do{h=_(k,n)|0;l=x;while(1){if((l|0)>=(f|0))break;R=h+l|0;Y=+g[m+(R<<2)>>2];R=w+(R<<2)|0;Z=+g[R>>2]-j;g[R>>2]=Y>Z?Y:Z;l=l+1|0}k=k+1|0}while((k|0)<(V|0));o=a+36|0;q=0;f=c[o>>2]|0;while(1){if((q|0)>=(V|0))break;p=_(q,d)|0;h=x;b:while(1){if((h|0)>=(s|0))break;n=b[y+(h<<1)>>1]|0;l=p+(n< >1]|0)-n< =(n|0))break;R=(_(f,1664525)|0)+1013904223|0;g[u+(l+k<<2)>>2]=+(R>>20|0);k=k+1|0;f=R}m=u+(l<<2)|0;k=0;j=0.0;while(1){if((k|0)>=(n|0))break;Z=+g[m+(k<<2)>>2];k=k+1|0;j=j+Z*Z}j=1.0/+O(+(j+1.0000000036274937e-15));l=0;k=m;while(1){if((l|0)>=(n|0))continue b;g[k>>2]=j*+g[k>>2];l=l+1|0;k=k+4|0}}q=q+1|0}c[o>>2]=f;f=2048-d+(U>>>1)<<2;h=0;do{U=c[W+(h<<2)>>2]|0;sf(U|0,U+(d<<2)|0,f|0)|0;h=h+1|0}while((h|0)<(V|0));_c(A,u,z,w,x,s,V,V,0,e,c[a+16>>2]|0,0);Na(t|0);W=T+1|0;c[S>>2]=W;i=X;return}function _c(a,b,d,e,f,h,j,k,l,m,n,o){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;A=c[a+4>>2]|0;t=c[a+8>>2]|0;u=a+44|0;r=c[u>>2]|0;w=r< >2]|0)-(x?m:0)|0;switch(k|0){case 2:{if((j|0)==1){Xd(c[a+32>>2]|0,r,b,B,e,f,h,v,n,o);q=d+4|0;j=(c[q>>2]|0)+(((A|0)/2|0)<<2)|0;rf(j|0,B|0,w<<2|0)|0;p=a+64|0;m=a+60|0;l=0;while(1){if((l|0)>=(y|0)){l=0;break}w=(c[d>>2]|0)+((_(z,l)|0)<<2)|0;fd(p,j+(l<<2)|0,w,c[m>>2]|0,A,x,y);l=l+1|0}while(1){if((l|0)>=(y|0))break;d=(c[q>>2]|0)+((_(z,l)|0)<<2)|0;fd(p,B+(l<<2)|0,d,c[m>>2]|0,A,x,y);l=l+1|0}i=C;return}break}case 1:{if((j|0)==2){m=(c[d>>2]|0)+(((A|0)/2|0)<<2)|0;l=a+32|0;Xd(c[l>>2]|0,r,b,B,e,f,h,v,n,o);Xd(c[l>>2]|0,c[u>>2]|0,b+(w<<2)|0,m,e+(t<<2)|0,f,h,v,n,o);l=0;while(1){if((l|0)>=(w|0))break;f=B+(l<<2)|0;g[f>>2]=+g[f>>2]*.5+ +g[m+(l<<2)>>2]*.5;l=l+1|0}j=a+64|0;l=a+60|0;m=0;while(1){if((m|0)>=(y|0))break;w=(c[d>>2]|0)+((_(z,m)|0)<<2)|0;fd(j,B+(m<<2)|0,w,c[l>>2]|0,A,x,y);m=m+1|0}i=C;return}break}default:{}}s=a+32|0;q=a+64|0;p=a+60|0;l=0;m=r;while(1){a=b+((_(l,w)|0)<<2)|0;j=e+((_(l,t)|0)<<2)|0;Xd(c[s>>2]|0,m,a,B,j,f,h,v,n,o);m=d+(l<<2)|0;j=0;while(1){if((j|0)>=(y|0))break;a=(c[m>>2]|0)+((_(z,j)|0)<<2)|0;fd(q,B+(j<<2)|0,a,c[p>>2]|0,A,x,y);j=j+1|0}l=l+1|0;if((l|0)>=(k|0))break;m=c[u>>2]|0}i=C;return}function $c(a,b,d,e,f,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;var l=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0;x=i;if((f|0)==1&(e|0)==2&(k|0)==0){o=+g[h>>2];p=c[a>>2]|0;k=c[a+4>>2]|0;h=j+4|0;l=0;m=+g[j>>2];n=+g[h>>2];while(1){if((l|0)>=(d|0))break;z=+g[p+(l<<2)>>2]+1.0000000031710769e-30+m;y=+g[k+(l<<2)>>2]+1.0000000031710769e-30+n;a=l<<1;g[b+(a<<2)>>2]=z*.000030517578125;g[b+((a|1)<<2)>>2]=y*.000030517578125;l=l+1|0;m=z*o;n=y*o}g[j>>2]=m;g[h>>2]=n;i=x;return}v=Fa()|0;w=i;i=i+((1*(d<<2)|0)+15&-16)|0;n=+g[h>>2];r=(d|0)/(f|0)|0;s=(f|0)>1;k=0;t=0;do{l=j+(t<<2)|0;m=+g[l>>2];p=c[a+(t<<2)>>2]|0;q=b+(t<<2)|0;if(!s){h=0;while(1){if((h|0)>=(d|0))break;z=+g[p+(h<<2)>>2]+1.0000000031710769e-30+m;g[q+((_(h,e)|0)<<2)>>2]=z*.000030517578125;h=h+1|0;m=n*z}g[l>>2]=m;if(!k)k=0;else u=14}else{k=0;while(1){if((k|0)>=(d|0))break;z=+g[p+(k<<2)>>2]+1.0000000031710769e-30+m;g[w+(k<<2)>>2]=z;k=k+1|0;m=n*z}g[l>>2]=m;k=1;u=14}a:do if((u|0)==14){u=0;h=0;while(1){if((h|0)>=(r|0))break a;g[q+((_(h,e)|0)<<2)>>2]=+g[w+((_(h,f)|0)<<2)>>2]*.000030517578125;h=h+1|0}}while(0);t=t+1|0}while((t|0)<(e|0));Na(v|0);i=x;return}function ad(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=c[a+36>>2]|0;f=_(g,f-e|0)|0;n=a+32|0;h=(c[n>>2]|0)-f|0;c[n>>2]=h;if(!b){l=a+28|0;m=l;f=(c[l>>2]|0)-f|0}else{m=a+28|0;f=_(g,e-b|0)|0}c[m>>2]=f;i=a+20|0;j=a+40|0;k=a+24|0;l=a+4|0;b=h;while(1){if(f>>>0>=8388609)break;c[i>>2]=(c[i>>2]|0)+8;f=f<<8;c[m>>2]=f;e=c[j>>2]|0;g=c[k>>2]|0;if(g>>>0<(c[l>>2]|0)>>>0){c[k>>2]=g+1;g=d[(c[a>>2]|0)+g>>0]|0}else g=0;c[j>>2]=g;h=((e<<8|g)>>>1&255|b<<8&2147483392)^255;c[n>>2]=h;b=h}return}function bd(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=b+-1|0;e=32-(aa(o|0)|0)|0;if((e|0)<=8){m=a+28|0;j=c[m>>2]|0;h=(j>>>0)/(b>>>0)|0;c[a+36>>2]=h;n=a+32|0;l=c[n>>2]|0;k=((l>>>0)/(h>>>0)|0)+1|0;k=k>>>0>b>>>0?b:k;e=b-k|0;i=_(h,b-(e+1)|0)|0;l=l-i|0;c[n>>2]=l;b=(k|0)==(b|0)?j-i|0:h;c[m>>2]=b;h=a+20|0;i=a+40|0;j=a+24|0;k=a+4|0;while(1){if(b>>>0>=8388609)break;c[h>>2]=(c[h>>2]|0)+8;b=b<<8;c[m>>2]=b;g=c[i>>2]|0;f=c[j>>2]|0;if(f>>>0<(c[k>>2]|0)>>>0){c[j>>2]=f+1;f=d[(c[a>>2]|0)+f>>0]|0}else f=0;c[i>>2]=f;o=((g<<8|f)>>>1&255|l<<8&2147483392)^255;c[n>>2]=o;l=o}return e|0}n=e+-8|0;l=(o>>>n)+1|0;k=((c[a+28>>2]|0)>>>0)/(l>>>0)|0;c[a+36>>2]=k;k=(((c[a+32>>2]|0)>>>0)/(k>>>0)|0)+1|0;k=l-(l>>>0 >>0?l:k)|0;ad(a,k,k+1|0,l);k=k< >2]|0;m=a+16|0;b=c[m>>2]|0;if(b>>>0 >>0){i=a+8|0;h=c[a+4>>2]|0;j=b+8|0;j=b+(((j|0)>25?j:25)+-1-b&-8)|0;f=c[i>>2]|0;do{if(f>>>0 >>0){g=f+1|0;c[i>>2]=g;f=g;g=d[(c[a>>2]|0)+(h-g)>>0]|0}else g=0;e=e|g<>2]=e>>>n;c[m>>2]=b-n;m=a+20|0;c[m>>2]=(c[m>>2]|0)+n;e=k|e&(1< >>0<=o>>>0){a=e;return a|0}c[a+44>>2]=1;a=o;return a|0}function cd(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=c[b+28>>2]|0;h=aa(s|0)|0;e=2147483647>>>h;f=c[b+32>>2]|0;g=f+e&~e;if((g|e)>>>0>=(f+s|0)>>>0){g=e>>>1;g=f+g&~g;h=h+1|0}m=b+36|0;n=b+40|0;r=b+24|0;o=b+8|0;p=b+4|0;s=b+44|0;q=h+7&-8;k=h;while(1){if((k|0)<=0)break;j=g>>>23;if((j|0)==255)c[m>>2]=(c[m>>2]|0)+1;else{i=g>>>31;e=c[n>>2]|0;if((e|0)>-1){f=c[r>>2]|0;if((f+(c[o>>2]|0)|0)>>>0<(c[p>>2]|0)>>>0){c[r>>2]=f+1;a[(c[b>>2]|0)+f>>0]=e+i;e=0}else e=-1;c[s>>2]=c[s>>2]|e}e=c[m>>2]|0;if(e|0){i=i+255&255;do{f=c[r>>2]|0;if((f+(c[o>>2]|0)|0)>>>0<(c[p>>2]|0)>>>0){c[r>>2]=f+1;a[(c[b>>2]|0)+f>>0]=i;f=0;e=c[m>>2]|0}else f=-1;c[s>>2]=c[s>>2]|f;e=e+-1|0;c[m>>2]=e}while((e|0)!=0)}c[n>>2]=j&255}g=g<<8&2147483392;k=k+-8|0}f=c[n>>2]|0;if((f|0)>-1){e=c[r>>2]|0;if((e+(c[o>>2]|0)|0)>>>0<(c[p>>2]|0)>>>0){c[r>>2]=e+1;a[(c[b>>2]|0)+e>>0]=f;e=0}else e=-1;c[s>>2]=c[s>>2]|e;e=c[m>>2]|0;if(!e)l=26;else l=23}else{e=c[m>>2]|0;if(e|0)l=23}if((l|0)==23)while(1){f=c[r>>2]|0;if((f+(c[o>>2]|0)|0)>>>0<(c[p>>2]|0)>>>0){c[r>>2]=f+1;a[(c[b>>2]|0)+f>>0]=-1;f=0;e=c[m>>2]|0}else f=-1;c[s>>2]=c[s>>2]|f;e=e+-1|0;c[m>>2]=e;if(!e){l=26;break}else l=23}if((l|0)==26)c[n>>2]=0;j=c[b+16>>2]|0;i=j+~((j|0)<7?j:7)+8&-8;k=j;e=c[b+12>>2]|0;while(1){if((k|0)<=7)break;f=c[o>>2]|0;g=c[p>>2]|0;if(((c[r>>2]|0)+f|0)>>>0 >>0){f=f+1|0;c[o>>2]=f;a[(c[b>>2]|0)+(g-f)>>0]=e;f=0}else f=-1;c[s>>2]=c[s>>2]|f;k=k+-8|0;e=e>>>8}i=j-i|0;if(c[s>>2]|0)return;n=c[r>>2]|0;nf((c[b>>2]|0)+n|0,0,(c[p>>2]|0)-n-(c[o>>2]|0)|0)|0;if((i|0)<=0)return;j=c[o>>2]|0;g=c[p>>2]|0;if(g>>>0<=j>>>0){c[s>>2]=-1;return}f=q-h|0;if((i|0)>(f|0)?((c[r>>2]|0)+j|0)>>>0>=g>>>0:0){c[s>>2]=-1;e=e&(1< >2]|0)+(g-j+-1)|0;a[b>>0]=d[b>>0]|0|e;return}function dd(a,d){a=a|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0;D=i;i=i+32|0;C=D;B=c[a+8>>2]|0;B=(B|0)>0?B:0;c[C>>2]=1;e=1;f=0;while(1){h=f<<1;A=b[a+12+((h|1)<<1)>>1]|0;e=_(e,b[a+12+(h<<1)>>1]|0)|0;h=f+1|0;c[C+(h<<2)>>2]=e;if(A<<16>>16==1)break;else f=h}A=a+48|0;y=b[a+12+((h<<1)+-1<<1)>>1]|0;while(1){if((f|0)<=-1)break;e=f<<1;if(!f)z=1;else z=b[a+12+(e+-1<<1)>>1]|0;a:do switch(b[a+12+(e<<1)>>1]|0){case 2:{h=c[C+(f<<2)>>2]|0;e=d;j=0;while(1){if((j|0)>=(h|0))break a;x=e+32|0;v=+g[x>>2];y=e+36|0;u=+g[y>>2];l=+g[e>>2];g[x>>2]=l-v;x=e+4|0;w=+g[x>>2];g[y>>2]=w-u;g[e>>2]=l+v;g[x>>2]=w+u;x=e+40|0;u=+g[x>>2];y=e+44|0;w=+g[y>>2];v=(u+w)*.7071067690849304;u=(w-u)*.7071067690849304;t=e+8|0;w=+g[t>>2];g[x>>2]=w-v;x=e+12|0;l=+g[x>>2];g[y>>2]=l-u;g[t>>2]=w+v;g[x>>2]=l+u;x=e+52|0;u=+g[x>>2];t=e+48|0;l=+g[t>>2];y=e+16|0;v=+g[y>>2];g[t>>2]=v-u;t=e+20|0;w=+g[t>>2];g[x>>2]=w+l;g[y>>2]=v+u;g[t>>2]=w-l;t=e+60|0;l=+g[t>>2];y=e+56|0;w=+g[y>>2];u=(l-w)*.7071067690849304;w=(l+w)*-.7071067690849304;x=e+24|0;l=+g[x>>2];g[y>>2]=l-u;y=e+28|0;v=+g[y>>2];g[t>>2]=v-w;g[x>>2]=l+u;g[y>>2]=v+w;e=e+64|0;j=j+1|0}}case 4:{t=c[C+(f<<2)>>2]|0;n=t<=(t|0))break a;w=+g[e>>2];o=e+16|0;J=+g[o>>2];l=w-J;q=e+4|0;F=+g[q>>2];p=e+20|0;H=+g[p>>2];v=F-H;J=w+J;H=F+H;r=e+8|0;F=+g[r>>2];x=e+24|0;w=+g[x>>2];I=F+w;s=e+12|0;E=+g[s>>2];y=e+28|0;u=+g[y>>2];G=E+u;g[o>>2]=J-I;g[p>>2]=H-G;g[e>>2]=J+I;g[q>>2]=H+G;w=F-w;u=E-u;g[r>>2]=l+u;g[s>>2]=v-w;g[x>>2]=l-u;g[y>>2]=v+w;e=e+32|0;h=h+1|0}}h=y<<1;j=y*3|0;k=n<<1;m=n*3|0;o=0;while(1){if((o|0)>=(t|0))break a;e=d+((_(o,z)|0)<<3)|0;s=c[A>>2]|0;p=0;q=s;r=s;while(1){if((p|0)>=(y|0))break;M=e+(y<<3)|0;E=+g[M>>2];u=+g[q>>2];L=e+(y<<3)+4|0;F=+g[L>>2];w=+g[q+4>>2];l=E*u-F*w;u=E*w+F*u;P=e+(h<<3)|0;F=+g[P>>2];w=+g[r>>2];O=e+(h<<3)+4|0;E=+g[O>>2];H=+g[r+4>>2];v=F*w-E*H;w=F*H+E*w;K=e+(j<<3)|0;E=+g[K>>2];H=+g[s>>2];x=e+(j<<3)+4|0;F=+g[x>>2];G=+g[s+4>>2];J=E*H-F*G;H=E*G+F*H;F=+g[e>>2];G=F-v;N=e+4|0;E=+g[N>>2];I=E-w;v=F+v;g[e>>2]=v;w=E+w;g[N>>2]=w;E=l+J;F=u+H;J=l-J;H=u-H;g[P>>2]=v-E;g[O>>2]=w-F;g[e>>2]=+g[e>>2]+E;g[N>>2]=+g[N>>2]+F;g[M>>2]=G+H;g[L>>2]=I-J;g[K>>2]=G-H;g[x>>2]=I+J;e=e+8|0;p=p+1|0;q=q+(n<<3)|0;r=r+(k<<3)|0;s=s+(m<<3)|0}o=o+1|0}}case 3:{h=c[C+(f<<2)>>2]|0;j=h<>2]|0)+(m<<3)+4>>2];m=j<<1;n=0;while(1){if((n|0)>=(h|0))break a;e=d+((_(n,z)|0)<<3)|0;q=c[A>>2]|0;o=y;p=q;while(1){O=e+(y<<3)|0;G=+g[O>>2];F=+g[p>>2];P=e+(y<<3)+4|0;w=+g[P>>2];I=+g[p+4>>2];E=G*F-w*I;F=G*I+w*F;M=e+(k<<3)|0;w=+g[M>>2];I=+g[q>>2];N=e+(k<<3)+4|0;G=+g[N>>2];H=+g[q+4>>2];J=w*I-G*H;I=w*H+G*I;G=E+J;H=F+I;g[O>>2]=+g[e>>2]-G*.5;L=e+4|0;g[P>>2]=+g[L>>2]-H*.5;J=(E-J)*l;I=(F-I)*l;g[e>>2]=+g[e>>2]+G;g[L>>2]=+g[L>>2]+H;g[M>>2]=+g[O>>2]+I;g[N>>2]=+g[P>>2]-J;g[O>>2]=+g[O>>2]-I;g[P>>2]=+g[P>>2]+J;o=o+-1|0;if(!o)break;else{e=e+8|0;p=p+(j<<3)|0;q=q+(m<<3)|0}}n=n+1|0}}case 5:{e=c[C+(f<<2)>>2]|0;h=e<>2]|0;l=+g[j+(k<<3)>>2];u=+g[j+(k<<3)+4>>2];k=_(h<<1,y)|0;v=+g[j+(k<<3)>>2];w=+g[j+(k<<3)+4>>2];k=y<<1;m=y*3|0;n=y<<2;t=0;while(1){if((t|0)>=(e|0))break a;s=d+((_(t,z)|0)<<3)|0;o=s;p=s+(y<<3)|0;q=s+(k<<3)|0;r=s+(m<<3)|0;s=s+(n<<3)|0;x=0;while(1){if((x|0)>=(y|0))break;T=+g[o>>2];L=o+4|0;R=+g[L>>2];S=+g[p>>2];K=_(x,h)|0;G=+g[j+(K<<3)>>2];M=p+4|0;W=+g[M>>2];X=+g[j+(K<<3)+4>>2];I=S*G-W*X;G=S*X+W*G;W=+g[q>>2];K=_(x<<1,h)|0;X=+g[j+(K<<3)>>2];O=q+4|0;S=+g[O>>2];E=+g[j+(K<<3)+4>>2];V=W*X-S*E;X=W*E+S*X;S=+g[r>>2];K=_(x*3|0,h)|0;E=+g[j+(K<<3)>>2];P=r+4|0;W=+g[P>>2];H=+g[j+(K<<3)+4>>2];J=S*E-W*H;E=S*H+W*E;W=+g[s>>2];K=_(x<<2,h)|0;H=+g[j+(K<<3)>>2];N=s+4|0;S=+g[N>>2];Q=+g[j+(K<<3)+4>>2];F=W*H-S*Q;H=W*Q+S*H;S=I+F;Q=G+H;F=I-F;H=G-H;G=V+J;I=X+E;J=V-J;E=X-E;g[o>>2]=T+(S+G);g[L>>2]=R+(Q+I);X=T+(S*l+G*v);V=R+(Q*l+I*v);W=H*u+E*w;U=F*u+J*w;g[p>>2]=X-W;g[M>>2]=V+U;g[s>>2]=X+W;g[N>>2]=V-U;G=T+(S*v+G*l);I=R+(Q*v+I*l);H=E*u-H*w;J=F*w-J*u;g[q>>2]=G+H;g[O>>2]=I+J;g[r>>2]=G-H;g[P>>2]=I-J;o=o+8|0;p=p+8|0;q=q+8|0;r=r+8|0;s=s+8|0;x=x+1|0}t=t+1|0}}default:{}}while(0);f=f+-1|0;y=z}i=D;return}function ed(a,d,e,f,h,j,k){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0,w=0,x=0,y=0,z=0.0,A=0.0,B=0.0,C=0.0;y=i;t=c[a+8+(j<<2)>>2]|0;u=+g[t+4>>2];l=c[a>>2]|0;m=0;x=c[a+24>>2]|0;while(1){w=l>>1;if((m|0)>=(j|0))break;l=w;m=m+1|0;x=x+(w<<2)|0}v=l>>2;a=i;i=i+((1*(w<<2)|0)+15&-16)|0;l=i;i=i+((1*(v<<3)|0)+15&-16)|0;j=h>>1;q=f+(j<<2)|0;r=h+3>>2;s=0-w|0;o=0;p=q;q=q+-4|0;n=d+(j<<2)|0;j=d+(w<<2)+-4+(j<<2)|0;m=a;while(1){if((o|0)>=(r|0))break;z=+g[q>>2];A=+g[p>>2];g[m>>2]=z*+g[n+(w<<2)>>2]+A*+g[j>>2];g[m+4>>2]=A*+g[n>>2]-z*+g[j+(s<<2)>>2];o=o+1|0;p=p+8|0;q=q+-8|0;n=n+8|0;j=j+-8|0;m=m+8|0}d=f+(h<<2)|0;p=v-r|0;while(1){if((o|0)>=(p|0))break;c[m>>2]=c[j>>2];c[m+4>>2]=c[n>>2];o=o+1|0;n=n+8|0;j=j+-8|0;m=m+8|0}q=o;p=f;o=d+-4|0;while(1){if((q|0)>=(v|0))break;g[m>>2]=+g[o>>2]*+g[j>>2]-+g[p>>2]*+g[n+(s<<2)>>2];g[m+4>>2]=+g[o>>2]*+g[n>>2]+ +g[p>>2]*+g[j+(w<<2)>>2];q=q+1|0;p=p+8|0;o=o+-8|0;n=n+8|0;j=j+-8|0;m=m+8|0}m=t+44|0;j=0;while(1){if((j|0)>=(v|0))break;B=+g[x+(j<<2)>>2];A=+g[x+(v+j<<2)>>2];z=+g[a>>2];C=+g[a+4>>2];s=b[(c[m>>2]|0)+(j<<1)>>1]|0;g[l+(s<<3)>>2]=u*(z*B-C*A);g[l+(s<<3)+4>>2]=u*(C*B+z*A);j=j+1|0;a=a+8|0}dd(t,l);n=k<<1;o=0-n|0;m=0;j=e;a=e+((_(w+-1|0,k)|0)<<2)|0;while(1){if((m|0)>=(v|0))break;B=+g[l+4>>2];A=+g[x+(v+m<<2)>>2];z=+g[l>>2];C=+g[x+(m<<2)>>2];g[j>>2]=B*A-z*C;g[a>>2]=z*A+B*C;l=l+8|0;m=m+1|0;j=j+(n<<2)|0;a=a+(o<<2)|0}i=y;return}function fd(a,d,e,f,h,i,j){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0;k=c[a>>2]|0;l=0;r=c[a+24>>2]|0;while(1){q=k>>1;if((l|0)>=(i|0))break;k=q;l=l+1|0;r=r+(q<<2)|0}p=k>>2;s=d+((_(q+-1|0,j)|0)<<2)|0;k=e+(h>>1<<2)|0;o=c[a+8+(i<<2)>>2]|0;i=j<<1;j=0-i|0;m=c[o+44>>2]|0;n=0;l=d;a=s;while(1){if((n|0)>=(p|0))break;u=+g[a>>2];v=+g[r+(n<<2)>>2];w=+g[l>>2];t=+g[r+(p+n<<2)>>2];s=b[m>>1]<<1;g[k+((s|1)<<2)>>2]=u*v+w*t;g[k+(s<<2)>>2]=w*v-u*t;m=m+2|0;n=n+1|0;l=l+(i<<2)|0;a=a+(j<<2)|0}dd(o,k);i=p+1>>1;a=k+(q<<2)|0;j=0;while(1){l=a+-8|0;if((j|0)>=(i|0))break;s=k+4|0;y=+g[s>>2];u=+g[k>>2];w=+g[r+(j<<2)>>2];x=+g[r+(p+j<<2)>>2];d=a+-4|0;t=+g[d>>2];v=+g[l>>2];g[k>>2]=y*w+u*x;g[d>>2]=y*x-u*w;w=+g[r+(p-j+-1<<2)>>2];u=+g[r+(q-j+-1<<2)>>2];g[l>>2]=t*w+v*u;g[s>>2]=t*u-v*w;a=l;j=j+1|0;k=k+8|0}i=(h|0)/2|0;k=e+(h<<2)|0;l=f+(h<<2)|0;a=0;while(1){l=l+-4|0;k=k+-4|0;if((a|0)>=(i|0))break;y=+g[k>>2];w=+g[e>>2];x=+g[l>>2];v=+g[f>>2];g[e>>2]=x*w-v*y;g[k>>2]=v*w+x*y;a=a+1|0;f=f+4|0;e=e+4|0}return}function gd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0;u=i;i=i+48|0;h=u+16|0;s=u;t=d>>1;d=1;while(1){if((d|0)>=(t|0))break;v=d<<1;w=c[a>>2]|0;g[b+(d<<2)>>2]=((+g[w+(v+-1<<2)>>2]+ +g[w+((v|1)<<2)>>2])*.5+ +g[w+(v<<2)>>2])*.5;d=d+1|0}w=c[a>>2]|0;g[b>>2]=(+g[w+4>>2]*.5+ +g[w>>2])*.5;if((e|0)==2){d=a+4|0;e=1;while(1){if((e|0)>=(t|0))break;v=e<<1;a=c[d>>2]|0;w=b+(e<<2)|0;g[w>>2]=+g[w>>2]+((+g[a+(v+-1<<2)>>2]+ +g[a+((v|1)<<2)>>2])*.5+ +g[a+(v<<2)>>2])*.5;e=e+1|0}w=c[d>>2]|0;g[b>>2]=+g[b>>2]+(+g[w+4>>2]*.5+ +g[w>>2])*.5}pd(b,h,0,0,4,t);g[h>>2]=+g[h>>2]*1.000100016593933;d=1;while(1){if((d|0)==5)break;w=h+(d<<2)|0;q=+g[w>>2];r=+(d|0)*.00800000037997961;g[w>>2]=q-q*r*r;d=d+1|0}ld(s,h,4);d=0;f=1.0;while(1){if((d|0)==4)break;r=f*.8999999761581421;w=s+(d<<2)|0;g[w>>2]=+g[w>>2]*r;d=d+1|0;f=r}q=+g[s>>2];p=q+.800000011920929;r=+g[s+4>>2];q=r+q*.800000011920929;f=+g[s+8>>2];r=f+r*.800000011920929;j=+g[s+12>>2];f=j+f*.800000011920929;j=j*.800000011920929;d=0;k=0.0;l=0.0;m=0.0;n=0.0;o=0.0;while(1){if((d|0)>=(t|0))break;w=b+(d<<2)|0;y=+g[w>>2];g[w>>2]=y+p*k+q*l+r*m+f*n+j*o;x=k;d=d+1|0;k=y;o=n;n=m;m=l;l=x}i=u;return}function hd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0,H=0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0;u=f+-3|0;v=e+-3|0;y=((v|0)>0?v:0)+3|0;w=y&-4;z=a+(w<<2)|0;j=f+-3|0;j=((j|0)>0?j:0)+3&-4;x=0;y=b+((y|3)<<2)|0;while(1){if((x|0)>=(u|0))break;A=b+(x<<2)|0;o=a;p=A+12|0;q=0;n=0;m=0;i=0;h=0;l=+g[A>>2];s=+g[A+4>>2];t=+g[A+8>>2];r=0.0;while(1){if((q|0)>=(v|0))break;F=+g[o>>2];r=+g[p>>2];M=(c[k>>2]=n,+g[k>>2])+F*l;L=(c[k>>2]=m,+g[k>>2])+F*s;K=(c[k>>2]=i,+g[k>>2])+F*t;J=+g[o+4>>2];D=+g[p+4>>2];I=+g[o+8>>2];C=+g[p+8>>2];F=(c[k>>2]=h,+g[k>>2])+F*r+J*D+I*C;E=+g[o+12>>2];B=+g[p+12>>2];H=(g[k>>2]=M+J*s+I*t+E*r,c[k>>2]|0);G=(g[k>>2]=L+J*t+I*r+E*D,c[k>>2]|0);A=(g[k>>2]=K+J*r+I*D+E*C,c[k>>2]|0);o=o+16|0;p=p+16|0;q=q+4|0;n=H;m=G;i=A;h=(g[k>>2]=F+E*B,c[k>>2]|0);l=D;s=C;t=B}q=w|1;if((w|0)<(e|0)){M=+g[z>>2];r=+g[y>>2];n=(g[k>>2]=(c[k>>2]=n,+g[k>>2])+M*l,c[k>>2]|0);m=(g[k>>2]=(c[k>>2]=m,+g[k>>2])+M*s,c[k>>2]|0);i=(g[k>>2]=(c[k>>2]=i,+g[k>>2])+M*t,c[k>>2]|0);o=z+4|0;p=y+4|0;h=(g[k>>2]=(c[k>>2]=h,+g[k>>2])+M*r,c[k>>2]|0)}else{o=z;p=y}if((q|0)<(e|0)){M=+g[o>>2];l=+g[p>>2];n=(g[k>>2]=(c[k>>2]=n,+g[k>>2])+M*s,c[k>>2]|0);m=(g[k>>2]=(c[k>>2]=m,+g[k>>2])+M*t,c[k>>2]|0);i=(g[k>>2]=(c[k>>2]=i,+g[k>>2])+M*r,c[k>>2]|0);o=o+4|0;p=p+4|0;h=(g[k>>2]=(c[k>>2]=h,+g[k>>2])+M*l,c[k>>2]|0)}if((q+1|0)<(e|0)){M=+g[o>>2];n=(g[k>>2]=(c[k>>2]=n,+g[k>>2])+M*t,c[k>>2]|0);m=(g[k>>2]=(c[k>>2]=m,+g[k>>2])+M*r,c[k>>2]|0);i=(g[k>>2]=(c[k>>2]=i,+g[k>>2])+M*l,c[k>>2]|0);h=(g[k>>2]=(c[k>>2]=h,+g[k>>2])+M*+g[p>>2],c[k>>2]|0)}c[d+(x<<2)>>2]=n;c[d+((x|1)<<2)>>2]=m;c[d+((x|2)<<2)>>2]=i;c[d+((x|3)<<2)>>2]=h;x=x+4|0;y=y+16|0}while(1){if((j|0)>=(f|0))break;h=b+(j<<2)|0;i=0;l=0.0;while(1){if((i|0)>=(e|0))break;M=l+ +g[a+(i<<2)>>2]*+g[h+(i<<2)>>2];i=i+1|0;l=M}g[d+(j<<2)>>2]=l;j=j+1|0}return}function id(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,j=0.0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+16|0;r=u;m=r;c[m>>2]=0;c[m+4>>2]=0;m=d>>2;n=i;i=i+((1*(m<<2)|0)+15&-16)|0;o=d+e>>2;p=i;i=i+((1*(o<<2)|0)+15&-16)|0;s=e>>1;t=i;i=i+((1*(s<<2)|0)+15&-16)|0;l=0;while(1){if((l|0)>=(m|0))break;c[n+(l<<2)>>2]=c[a+(l<<1<<2)>>2];l=l+1|0}l=0;while(1){if((l|0)>=(o|0))break;c[p+(l<<2)>>2]=c[b+(l<<1<<2)>>2];l=l+1|0}e=e>>2;hd(n,p,t,m,e);jd(t,p,m,e,r);e=c[r>>2]<<1;q=c[r+4>>2]<<1;l=d>>1;o=0;while(1){if((o|0)>=(s|0))break;m=t+(o<<2)|0;g[m>>2]=0.0;d=o-e|0;if(!((((d|0)>-1?d:0-d|0)|0)>2?(d=o-q|0,(((d|0)>-1?d:0-d|0)|0)>2):0)){n=b+(o<<2)|0;p=0;h=0.0;while(1){if((p|0)>=(l|0))break;k=h+ +g[a+(p<<2)>>2]*+g[n+(p<<2)>>2];p=p+1|0;h=k}g[m>>2]=h<-1.0?-1.0:h}o=o+1|0}jd(t,b,l,s,r);l=c[r>>2]|0;if(!((l|0)>0&(l|0)<(s+-1|0))){t=0;s=l<<1;t=s-t|0;c[f>>2]=t;i=u;return}j=+g[t+(l+-1<<2)>>2];k=+g[t+(l<<2)>>2];h=+g[t+(l+1<<2)>>2];if(h-j>(k-j)*.699999988079071){t=1;s=l<<1;t=s-t|0;c[f>>2]=t;i=u;return}if(j-h>(k-h)*.699999988079071){t=-1;s=l<<1;t=s-t|0;c[f>>2]=t;i=u;return}t=0;s=l<<1;t=s-t|0;c[f>>2]=t;i=u;return}function jd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0.0,j=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0;c[f>>2]=0;s=f+4|0;c[s>>2]=1;i=1.0;h=0;while(1){if((h|0)>=(d|0)){h=0;p=0;l=0;q=-1082130432;m=-1082130432;r=0;break}j=+g[b+(h<<2)>>2];i=i+j*j;h=h+1|0}while(1){if((r|0)>=(e|0))break;j=+g[a+(r<<2)>>2];do if(j>0.0?(t=j*9.999999960041972e-13,t=t*t,j=t*(c[k>>2]=l,+g[k>>2]),j>(c[k>>2]=m,+g[k>>2])*i):0){j=t*(c[k>>2]=p,+g[k>>2]);if(j>(c[k>>2]=q,+g[k>>2])*i){c[s>>2]=h;o=(g[k>>2]=t,c[k>>2]|0);n=(g[k>>2]=i,c[k>>2]|0);c[f>>2]=r;h=r;l=p;m=q;break}else{m=(g[k>>2]=t,c[k>>2]|0);l=(g[k>>2]=i,c[k>>2]|0);c[s>>2]=r;n=p;o=q;break}}else{n=p;o=q}while(0);u=+g[b+(r+d<<2)>>2];j=+g[b+(r<<2)>>2];j=i+(u*u-j*j);i=j<1.0?1.0:j;p=n;q=o;r=r+1|0}return}function kd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var h=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0.0,p=0,q=0.0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0.0,z=0,A=0.0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+2064|0;E=F+2052|0;w=c[d>>2]|0;z=(e|0)/2|0;D=(b|0)/2|0;C=a+2048|0;w=(w|0)>1023?511:(w|0)/2|0;c[d>>2]=w;x=F;e=C+(0-w<<2)|0;b=0;y=0.0;j=0.0;while(1){if((b|0)>=(D|0))break;v=+g[C+(b<<2)>>2];A=j+v*+g[e+(b<<2)>>2];b=b+1|0;y=y+v*v;j=A}g[x>>2]=y;e=1;h=y;while(1){if((e|0)==513)break;v=+g[C+(0-e<<2)>>2];A=+g[C+(D-e<<2)>>2];A=h+v*v-A*A;g[x+(e<<2)>>2]=A<0.0?0.0:A;e=e+1|0;h=A}q=+g[x+(w<<2)>>2];A=j/+O(+(y*q+1.0));s=w<<1;t=A*.699999988079071;u=A*.8500000238418579;v=f*.5;B=w;r=2;while(1){if((r|0)>=16)break;e=r<<1;p=((s+r|0)>>>0)/(e>>>0)|0;if((p|0)<7)break;if((r|0)==2){n=p+w|0;n=(n|0)>512?w:n}else n=(((_(c[17156+(r<<2)>>2]<<1,w)|0)+r|0)>>>0)/(e>>>0)|0;e=C+(0-p<<2)|0;b=C+(0-n<<2)|0;a=0;h=0.0;k=0.0;while(1){if((a|0)>=(D|0))break;m=+g[C+(a<<2)>>2];o=k+m*+g[b+(a<<2)>>2];m=h+m*+g[e+(a<<2)>>2];a=a+1|0;h=m;k=o}o=(h+k)*.5;k=(+g[x+(p<<2)>>2]+ +g[x+(n<<2)>>2])*.5;h=o/+O(+(y*k+1.0));e=p-z|0;e=(e|0)>-1?e:0-e|0;if((e|0)>=2)if((e|0)<3){n=(_(r*5|0,r)|0)<(w|0);m=n?v:0.0}else m=0.0;else m=f;l=t-m;l=l<.30000001192092896?.30000001192092896:l;if((p|0)<21){l=u-m;if(l<.4000000059604645)l=.4000000059604645}if(h>l){e=p;j=o}else{e=B;k=q;h=A}B=e;q=k;A=h;r=r+1|0}h=j<0.0?0.0:j;if(!(q<=h))l=h/(q+1.0);else l=1.0;a=0;while(1){if((a|0)==3)break;e=C+(1-(B+a)<<2)|0;b=0;h=0.0;while(1){if((b|0)>=(D|0))break;f=h+ +g[C+(b<<2)>>2]*+g[e+(b<<2)>>2];b=b+1|0;h=f}g[E+(a<<2)>>2]=h;a=a+1|0}j=+g[E+8>>2];k=+g[E>>2];h=+g[E+4>>2];if(j-k>(h-k)*.699999988079071){E=1;D=l>A;f=D?A:l;D=B<<1;E=D+E|0;D=(E|0)<15;E=D?15:E;c[d>>2]=E;i=F;return +f}if(k-j>(h-j)*.699999988079071){E=-1;D=l>A;f=D?A:l;D=B<<1;E=D+E|0;D=(E|0)<15;E=D?15:E;c[d>>2]=E;i=F;return +f}E=0;D=l>A;f=D?A:l;D=B<<1;E=D+E|0;D=(E|0)<15;E=D?15:E;c[d>>2]=E;i=F;return +f}function ld(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0,f=0.0,h=0.0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0;e=+g[b>>2];nf(a|0,0,c<<2|0)|0;if(+g[b>>2]!=0.0)k=0;else return;while(1){if((k|0)<(c|0)){d=0;f=0.0}else{d=9;break}while(1){if((k|0)==(d|0))break;h=f+ +g[a+(d<<2)>>2]*+g[b+(k-d<<2)>>2];d=d+1|0;f=h}i=k;k=k+1|0;f=(f+ +g[b+(k<<2)>>2])/e;h=-f;g[a+(i<<2)>>2]=h;d=k>>1;i=i+-1|0;j=0;while(1){if((j|0)>=(d|0))break;o=a+(j<<2)|0;m=+g[o>>2];l=a+(i-j<<2)|0;n=+g[l>>2];g[o>>2]=m+n*h;g[l>>2]=n+m*h;j=j+1|0}e=e-f*f*e;if(e<+g[b>>2]*1.0000000474974513e-03){d=9;break}}if((d|0)==9)return}function md(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;q=i;i=i+112|0;n=q+96|0;o=q;p=i;i=i+((1*(e+24<<2)|0)+15&-16)|0;h=0;while(1){if((h|0)==24)break;c[o+(h<<2)>>2]=c[b+(24-h+-1<<2)>>2];h=h+1|0}h=0;while(1){if((h|0)==24){h=0;break}c[p+(h<<2)>>2]=c[f+(24-h+-1<<2)>>2];h=h+1|0}while(1){if((h|0)>=(e|0)){h=0;break}c[p+(h+24<<2)>>2]=c[a+(h<<2)>>2];h=h+1|0}while(1){if((h|0)==24)break;c[f+(h<<2)>>2]=c[a+(e-h+-1<<2)>>2];h=h+1|0}b=e+-3|0;f=n+4|0;k=n+8|0;l=n+12|0;h=((b|0)>0?b:0)+3&-4;m=0;while(1){if((m|0)>=(b|0))break;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;nd(o,p+(m<<2)|0,n,24);g[d+(m<<2)>>2]=+g[a+(m<<2)>>2]+ +g[n>>2];r=m|1;g[d+(r<<2)>>2]=+g[a+(r<<2)>>2]+ +g[f>>2];r=m|2;g[d+(r<<2)>>2]=+g[a+(r<<2)>>2]+ +g[k>>2];r=m|3;g[d+(r<<2)>>2]=+g[a+(r<<2)>>2]+ +g[l>>2];m=m+4|0}while(1){if((h|0)<(e|0)){b=0;j=0.0}else break;while(1){if((b|0)==24)break;s=j+ +g[o+(b<<2)>>2]*+g[p+(h+b<<2)>>2];b=b+1|0;j=s}g[d+(h<<2)>>2]=+g[a+(h<<2)>>2]+j;h=h+1|0}i=q;return}function nd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0,h=0,i=0.0,j=0,k=0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;j=d+-3|0;o=c+4|0;p=c+8|0;q=c+12|0;l=((j|0)>0?j:0)+3|0;m=l&-4;l=l|3;f=a;h=b+12|0;k=0;e=+g[b>>2];n=+g[b+4>>2];r=+g[b+8>>2];i=0.0;while(1){if((k|0)>=(j|0))break;w=+g[f>>2];i=+g[h>>2];z=+g[c>>2]+w*e;g[c>>2]=z;y=+g[o>>2]+w*n;g[o>>2]=y;x=+g[p>>2]+w*r;g[p>>2]=x;w=+g[q>>2]+w*i;g[q>>2]=w;v=+g[f+4>>2];u=+g[h+4>>2];z=z+v*n;g[c>>2]=z;y=y+v*r;g[o>>2]=y;x=x+v*i;g[p>>2]=x;v=w+v*u;g[q>>2]=v;w=+g[f+8>>2];t=+g[h+8>>2];z=z+w*r;g[c>>2]=z;y=y+w*i;g[o>>2]=y;x=x+w*u;g[p>>2]=x;w=v+w*t;g[q>>2]=w;v=+g[f+12>>2];s=+g[h+12>>2];g[c>>2]=z+v*i;g[o>>2]=y+v*u;g[p>>2]=x+v*t;g[q>>2]=w+v*s;f=f+16|0;h=h+16|0;k=k+4|0;e=u;n=t;r=s}h=a+(m<<2)|0;f=b+(l<<2)|0;j=m|1;if((m|0)<(d|0)){z=+g[h>>2];i=+g[f>>2];g[c>>2]=+g[c>>2]+z*e;g[o>>2]=+g[o>>2]+z*n;g[p>>2]=+g[p>>2]+z*r;g[q>>2]=+g[q>>2]+z*i;h=h+4|0;f=f+4|0}if((j|0)<(d|0)){z=+g[h>>2];e=+g[f>>2];g[c>>2]=+g[c>>2]+z*n;g[o>>2]=+g[o>>2]+z*r;g[p>>2]=+g[p>>2]+z*i;g[q>>2]=+g[q>>2]+z*e;h=h+4|0;f=f+4|0}if((j+1|0)>=(d|0))return;y=+g[h>>2];z=+g[f>>2];g[c>>2]=+g[c>>2]+y*r;g[o>>2]=+g[o>>2]+y*i;g[p>>2]=+g[p>>2]+y*e;g[q>>2]=+g[q>>2]+y*z;return}function od(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0.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.0,x=0.0,y=0,z=0.0,A=0;u=i;i=i+112|0;r=u+96|0;s=u;j=e+24|0;t=i;i=i+((1*(j<<2)|0)+15&-16)|0;h=0;while(1){if((h|0)==24)break;c[s+(h<<2)>>2]=c[b+(24-h+-1<<2)>>2];h=h+1|0}h=0;while(1){if((h|0)==24){h=24;break}g[t+(h<<2)>>2]=-+g[f+(24-h+-1<<2)>>2];h=h+1|0}while(1){if((h|0)>=(j|0))break;g[t+(h<<2)>>2]=0.0;h=h+1|0}j=e+-3|0;l=r+4|0;m=r+8|0;n=r+12|0;o=b+4|0;p=b+8|0;h=e+-3|0;h=((h|0)>0?h:0)+3&-4;q=0;while(1){if((q|0)>=(j|0))break;c[r>>2]=c[a+(q<<2)>>2];A=q|1;c[l>>2]=c[a+(A<<2)>>2];y=q|2;c[m>>2]=c[a+(y<<2)>>2];v=q|3;c[n>>2]=c[a+(v<<2)>>2];nd(s,t+(q<<2)|0,r,24);z=+g[r>>2];k=-z;g[t+(q+24<<2)>>2]=k;g[d+(q<<2)>>2]=z;z=+g[l>>2]+ +g[b>>2]*k;g[l>>2]=z;w=-z;g[t+(q+25<<2)>>2]=w;g[d+(A<<2)>>2]=z;z=+g[m>>2]+ +g[b>>2]*w+ +g[o>>2]*k;g[m>>2]=z;x=-z;g[t+(q+26<<2)>>2]=x;g[d+(y<<2)>>2]=z;k=+g[n>>2]+ +g[b>>2]*x+ +g[o>>2]*w+ +g[p>>2]*k;g[n>>2]=k;g[t+(q+27<<2)>>2]=-k;g[d+(v<<2)>>2]=k;q=q+4|0}while(1){if((h|0)>=(e|0)){h=0;break}j=0;k=+g[a+(h<<2)>>2];while(1){if((j|0)==24)break;z=k-+g[s+(j<<2)>>2]*+g[t+(h+j<<2)>>2];j=j+1|0;k=z}g[t+(h+24<<2)>>2]=k;g[d+(h<<2)>>2]=k;h=h+1|0}while(1){if((h|0)==24)break;c[f+(h<<2)>>2]=c[d+(e-h+-1<<2)>>2];h=h+1|0}i=u;return}function pd(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0.0,k=0,l=0,m=0,n=0,o=0;n=i;m=h-f|0;l=i;i=i+((1*(h<<2)|0)+15&-16)|0;a:do if(!e)l=a;else{k=0;while(1){if((k|0)>=(h|0)){k=0;break}c[l+(k<<2)>>2]=c[a+(k<<2)>>2];k=k+1|0}while(1){if((k|0)>=(e|0))break a;j=+g[d+(k<<2)>>2];g[l+(k<<2)>>2]=+g[a+(k<<2)>>2]*j;o=h-k+-1|0;g[l+(o<<2)>>2]=+g[a+(o<<2)>>2]*j;k=k+1|0}}while(0);hd(l,l,b,m,f+1|0);e=0;while(1){if((e|0)>(f|0))break;j=0.0;k=e+m|0;while(1){if((k|0)>=(h|0))break;j=j+ +g[l+(k<<2)>>2]*+g[l+(k-e<<2)>>2];k=k+1|0}o=b+(e<<2)|0;g[o>>2]=+g[o>>2]+j;e=e+1|0}i=n;return}function qd(a,b,d,e,f,h,j,k,l,m,n,o,p,q,r,s,t){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;var u=0,v=0.0,w=0.0,x=0,y=0,z=0.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.0;S=i;i=i+96|0;O=S+72|0;P=S+48|0;Q=S+24|0;R=S;if(!p)if((r|0)==0?(u=d-b|0,+g[q>>2]>+(_(m<<1,u)|0)):0)x=(_(u,m)|0)<(o|0);else x=0;else x=1;w=+(j>>>0)*+g[q>>2]*+(s|0)/+(m<<9|0);N=a+8|0;y=c[N>>2]|0;s=0;v=0.0;do{p=_(s,y)|0;u=b;while(1){if((u|0)>=(e|0))break;L=u+p|0;T=+g[f+(L<<2)>>2]-+g[h+(L<<2)>>2];v=v+T*T;u=u+1|0}s=s+1|0}while((s|0)<(m|0));L=~~w;w=v>200.0?200.0:v;J=l+20|0;s=c[J>>2]|0;K=l+28|0;p=c[K>>2]|0;I=s+((aa(p|0)|0)+-32)|0;u=(I+3|0)>>>0>j>>>0;H=u?0:x&1;if((d-b|0)>10?(z=+(o|0)*.125,!(z>16.0)):0)v=z;else v=16.0;v=(t|0)==0?v:3.0;c[O>>2]=c[l>>2];c[O+4>>2]=c[l+4>>2];c[O+8>>2]=c[l+8>>2];c[O+12>>2]=c[l+12>>2];c[O+16>>2]=c[l+16>>2];c[O+20>>2]=c[l+20>>2];G=l+24|0;D=c[G>>2]|0;c[P>>2]=c[K>>2];c[P+4>>2]=c[K+4>>2];c[P+8>>2]=c[K+8>>2];c[P+12>>2]=c[K+12>>2];c[P+16>>2]=c[K+16>>2];C=_(y,m)|0;E=i;i=i+((1*(C<<2)|0)+15&-16)|0;F=i;i=i+((1*(C<<2)|0)+15&-16)|0;rf(E|0,h|0,C<<2|0)|0;C=u|(r|0)==0;if(C)if(!H){B=D;A=0}else{rd(a,b,d,f,E,j,I,29009+(n*84|0)+42|0,F,l,m,n,1,v,t)|0;M=22}else{u=rd(a,b,d,f,E,j,I,29009+(n*84|0)+42|0,F,l,m,n,1,v,t)|0;if(!H){s=c[J>>2]|0;p=c[K>>2]|0;B=c[G>>2]|0;A=u}else M=22}if((M|0)==22){rf(h|0,E|0,(_(c[N>>2]|0,m)|0)<<2|0)|0;rf(k|0,F|0,(_(c[N>>2]|0,m)|0)<<2|0)|0;T=w;g[q>>2]=T;i=S;return}x=32-(aa(p|0)|0)|0;e=p>>>(x+-16|0);p=(e>>>12)+-8|0;p=(s<<3)-((x<<3)+(p+(e>>>0>(c[5272+(p<<2)>>2]|0)>>>0&1)))|0;s=c[l>>2]|0;e=l+4|0;c[Q>>2]=c[e>>2];c[Q+4>>2]=c[e+4>>2];c[Q+8>>2]=c[e+8>>2];c[Q+12>>2]=c[e+12>>2];c[Q+16>>2]=c[e+16>>2];c[R>>2]=c[K>>2];c[R+4>>2]=c[K+4>>2];c[R+8>>2]=c[K+8>>2];c[R+12>>2]=c[K+12>>2];c[R+16>>2]=c[K+16>>2];x=s+D|0;o=B-D|0;y=Fa()|0;r=i;i=i+((1*((B|0)==(D|0)?1:o)|0)+15&-16)|0;rf(r|0,x|0,o|0)|0;c[l>>2]=c[O>>2];c[l+4>>2]=c[O+4>>2];c[l+8>>2]=c[O+8>>2];c[l+12>>2]=c[O+12>>2];c[l+16>>2]=c[O+16>>2];c[l+20>>2]=c[O+20>>2];c[G>>2]=D;c[K>>2]=c[P>>2];c[K+4>>2]=c[P+4>>2];c[K+8>>2]=c[P+8>>2];c[K+12>>2]=c[P+12>>2];c[K+16>>2]=c[P+16>>2];u=rd(a,b,d,f,h,j,I,29009+(n*84|0)+(H*42|0)|0,k,l,m,n,0,v,t)|0;do if(!C){if((A|0)>=(u|0)){if((A|0)!=(u|0))break;a=c[K>>2]|0;t=32-(aa(a|0)|0)|0;a=a>>>(t+-16|0);b=(a>>>12)+-8|0;if(((c[J>>2]<<3)-((t<<3)+(b+(a>>>0>(c[5272+(b<<2)>>2]|0)>>>0&1)))+L|0)<=(p|0))break}c[l>>2]=s;c[e>>2]=c[Q>>2];c[e+4>>2]=c[Q+4>>2];c[e+8>>2]=c[Q+8>>2];c[e+12>>2]=c[Q+12>>2];c[e+16>>2]=c[Q+16>>2];c[G>>2]=B;c[K>>2]=c[R>>2];c[K+4>>2]=c[R+4>>2];c[K+8>>2]=c[R+8>>2];c[K+12>>2]=c[R+12>>2];c[K+16>>2]=c[R+16>>2];rf(x|0,r|0,o|0)|0;rf(h|0,E|0,(_(c[N>>2]|0,m)|0)<<2|0)|0;rf(k|0,F|0,(_(c[N>>2]|0,m)|0)<<2|0)|0;Na(y|0);T=w;g[q>>2]=T;i=S;return}while(0);Na(y|0);T=+g[17336+(n<<2)>>2];T=T*T*+g[q>>2]+w;g[q>>2]=T;i=S;return}function rd(b,e,f,h,j,k,l,m,n,o,p,q,r,s,t){b=b|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=+s;t=t|0;var u=0,v=0,w=0,x=0.0,y=0.0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0.0,K=0.0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0.0,ba=0.0,ca=0,da=0;da=i;i=i+16|0;ca=da;Z=ca;c[Z>>2]=0;c[Z+4>>2]=0;a:do if((l+3|0)<=(k|0)){H=o+28|0;u=c[H>>2]|0;l=u>>>3;u=u-l|0;G=o+32|0;if(!r)l=u;else c[G>>2]=(c[G>>2]|0)+u;c[H>>2]=l;z=o+36|0;A=o+20|0;B=o+40|0;C=o+24|0;D=o+8|0;E=o+4|0;F=o+44|0;while(1){if(l>>>0>=8388609)break a;u=c[G>>2]|0;w=u>>>23;if((w|0)==255)c[z>>2]=(c[z>>2]|0)+1;else{v=u>>>31;l=c[B>>2]|0;if((l|0)>-1){u=c[C>>2]|0;if((u+(c[D>>2]|0)|0)>>>0<(c[E>>2]|0)>>>0){c[C>>2]=u+1;a[(c[o>>2]|0)+u>>0]=l+v;l=0}else l=-1;c[F>>2]=c[F>>2]|l}l=c[z>>2]|0;if(l|0){v=v+255&255;do{u=c[C>>2]|0;if((u+(c[D>>2]|0)|0)>>>0<(c[E>>2]|0)>>>0){c[C>>2]=u+1;a[(c[o>>2]|0)+u>>0]=v;u=0;l=c[z>>2]|0}else u=-1;c[F>>2]=c[F>>2]|u;l=l+-1|0;c[z>>2]=l}while((l|0)!=0)}c[B>>2]=w&255;u=c[G>>2]|0;l=c[H>>2]|0}c[G>>2]=u<<8&2147483392;l=l<<8;c[H>>2]=l;c[A>>2]=(c[A>>2]|0)+8}}while(0);if(!r){ba=+g[17320+(q<<2)>>2];$=+g[17336+(q<<2)>>2]}else{ba=.149993896484375;$=0.0}W=b+8|0;X=o+20|0;Y=o+28|0;Z=p*3|0;b=(t|0)==0;t=o+32|0;L=o+36|0;N=o+40|0;O=o+24|0;P=o+8|0;Q=o+4|0;R=o+44|0;l=0;V=e;while(1){if((V|0)>=(f|0))break;S=_(Z,f-V|0)|0;T=(V|0)!=(e|0);U=(V|0)<20;q=0;do{r=V+(_(q,c[W>>2]|0)|0)|0;y=+g[h+(r<<2)>>2];x=+g[j+(r<<2)>>2];K=$*(x<-9.0?-9.0:x);r=ca+(q<<2)|0;I=+g[r>>2];J=y-K-I;u=~~+M(+(J+.5));x=(x<-28.0?-28.0:x)-s;if((u|0)<0&y 0?0:H}else H=u;w=c[X>>2]|0;G=c[Y>>2]|0;z=w+((aa(G|0)|0)+-32)|0;A=k-z|0;v=A-S|0;if((v|0)<24&T){u=(H|0)>1?1:H;if((v|0)<16)u=(u|0)<-1?-1:u}else u=H;u=b|(V|0)<2|(u|0)<0?u:0;b:do if((A|0)<=14)if((A|0)>1){u=(u|0)<-1?-1:(u|0)<1?u:1;v=u<<1^u>>31;z=G>>>2;if((v|0)>0){F=d[29345+(v+-1)>>0]|0;G=G-(_(z,F)|0)|0;c[t>>2]=(c[t>>2]|0)+G;v=_(z,F-(d[29345+v>>0]|0)|0)|0}else v=G-(_(z,d[29345+v>>0]|0)|0)|0;c[Y>>2]=v;while(1){if(v>>>0>=8388609)break b;z=c[t>>2]|0;A=z>>>23;if((A|0)==255)c[L>>2]=(c[L>>2]|0)+1;else{z=z>>>31;v=c[N>>2]|0;if((v|0)>-1){w=c[O>>2]|0;if((w+(c[P>>2]|0)|0)>>>0<(c[Q>>2]|0)>>>0){c[O>>2]=w+1;a[(c[o>>2]|0)+w>>0]=v+z;v=0}else v=-1;c[R>>2]=c[R>>2]|v}v=c[L>>2]|0;if(v|0){z=z+255&255;do{w=c[O>>2]|0;if((w+(c[P>>2]|0)|0)>>>0<(c[Q>>2]|0)>>>0){c[O>>2]=w+1;a[(c[o>>2]|0)+w>>0]=z;w=0;v=c[L>>2]|0}else w=-1;c[R>>2]=c[R>>2]|w;v=v+-1|0;c[L>>2]=v}while((v|0)!=0)}c[N>>2]=A&255;z=c[t>>2]|0;v=c[Y>>2]|0;w=c[X>>2]|0}c[t>>2]=z<<8&2147483392;v=v<<8;c[Y>>2]=v;w=w+8|0;c[X>>2]=w}}else{if((z|0)>=(k|0)){u=-1;break}z=G>>>1;v=G-z|0;if((u|0)>-1)u=0;else{c[t>>2]=(c[t>>2]|0)+v;v=z}c[Y>>2]=v;while(1){if(v>>>0>=8388609)break b;z=c[t>>2]|0;A=z>>>23;if((A|0)==255)c[L>>2]=(c[L>>2]|0)+1;else{z=z>>>31;v=c[N>>2]|0;if((v|0)>-1){w=c[O>>2]|0;if((w+(c[P>>2]|0)|0)>>>0<(c[Q>>2]|0)>>>0){c[O>>2]=w+1;a[(c[o>>2]|0)+w>>0]=v+z;v=0}else v=-1;c[R>>2]=c[R>>2]|v}v=c[L>>2]|0;if(v|0){z=z+255&255;do{w=c[O>>2]|0;if((w+(c[P>>2]|0)|0)>>>0<(c[Q>>2]|0)>>>0){c[O>>2]=w+1;a[(c[o>>2]|0)+w>>0]=z;w=0;v=c[L>>2]|0}else w=-1;c[R>>2]=c[R>>2]|w;v=v+-1|0;c[L>>2]=v}while((v|0)!=0)}c[N>>2]=A&255;z=c[t>>2]|0;v=c[Y>>2]|0;w=c[X>>2]|0}c[t>>2]=z<<8&2147483392;v=v<<8;c[Y>>2]=v;w=w+8|0;c[X>>2]=w}}else{A=(U?V:20)<<1;v=(d[m+A>>0]|0)<<7;A=(d[m+(A|1)>>0]|0)<<6;if(u){E=u>>31;B=u+E^E;z=_(32736-v|0,16384-A|0)|0;C=v;D=1;while(1){v=z>>>15;if(!v){F=36;break}if((B|0)<=(D|0)){F=37;break}F=v<<1;z=_(F,A)|0;C=C+(F+2)|0;D=D+1|0}if((F|0)==36){F=0;A=B-D|0;u=(32768-C-E>>1)+-1|0;u=(A|0)<(u|0)?A:u;A=C+((u<<1|1)+E)|0;v=32768-A|0;v=v>>>0>1?1:v;u=D+u+E^E}else if((F|0)==37){F=0;A=v+1|0;v=A;A=C+(A&~E)|0}z=G>>>15;if(!A)F=40;else{G=G-(_(z,32768-A|0)|0)|0;c[t>>2]=(c[t>>2]|0)+G;v=_(z,v)|0}}else{z=G>>>15;u=0;F=40}if((F|0)==40)v=G-(_(z,32768-v|0)|0)|0;c[Y>>2]=v;z=v;v=w;while(1){if(z>>>0>=8388609)break b;w=c[t>>2]|0;A=w>>>23;if((A|0)==255)c[L>>2]=(c[L>>2]|0)+1;else{z=w>>>31;v=c[N>>2]|0;if((v|0)>-1){w=c[O>>2]|0;if((w+(c[P>>2]|0)|0)>>>0<(c[Q>>2]|0)>>>0){c[O>>2]=w+1;a[(c[o>>2]|0)+w>>0]=v+z;v=0}else v=-1;c[R>>2]=c[R>>2]|v}v=c[L>>2]|0;if(v|0){z=z+255&255;do{w=c[O>>2]|0;if((w+(c[P>>2]|0)|0)>>>0<(c[Q>>2]|0)>>>0){c[O>>2]=w+1;a[(c[o>>2]|0)+w>>0]=z;w=0;v=c[L>>2]|0}else w=-1;c[R>>2]=c[R>>2]|w;v=v+-1|0;c[L>>2]=v}while((v|0)!=0)}c[N>>2]=A&255;w=c[t>>2]|0;z=c[Y>>2]|0;v=c[X>>2]|0}c[t>>2]=w<<8&2147483392;z=z<<8;c[Y>>2]=z;v=v+8|0;c[X>>2]=v}}while(0);y=+(u|0);g[n+(V+(_(q,c[W>>2]|0)|0)<<2)>>2]=J-y;H=H-u|0;l=l+((H|0)>-1?H:0-H|0)|0;g[j+(V+(_(q,c[W>>2]|0)|0)<<2)>>2]=K+I+y;g[r>>2]=I+y-ba*y;q=q+1|0}while((q|0)<(p|0));V=V+1|0}i=da;return (b?l:0)|0}function sd(e,f,g,h,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;var 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,ba=0,ca=0,da=0;da=i;n=(n|0)>0?n:0;G=c[e+8>>2]|0;P=(n|0)>7?8:0;n=n-P|0;ca=(s|0)==2;if(ca?(y=d[29348+(g-f)>>0]|0,(n|0)>=(y|0)):0){n=n-y|0;V=(n|0)>7?8:0;n=n-V|0}else{V=0;y=0}L=i;i=i+((1*(G<<2)|0)+15&-16)|0;M=i;i=i+((1*(G<<2)|0)+15&-16)|0;O=i;i=i+((1*(G<<2)|0)+15&-16)|0;K=i;i=i+((1*(G<<2)|0)+15&-16)|0;$=s<<3;ba=e+32|0;k=k+-5-t|0;z=t+3|0;A=f;while(1){if((A|0)>=(g|0))break;Y=A+1|0;X=c[ba>>2]|0;X=(b[X+(Y<<1)>>1]|0)-(b[X+(A<<1)>>1]|0)|0;W=X*3< >4;c[O+(A<<2)>>2]=($|0)>(W|0)?$:W;W=(_(_(_(X,s)|0,k)|0,g-A+-1|0)|0)< >6;c[K+(A<<2)>>2]=W-((X< >2]|0;I=e+52|0;F=H+-1|0;J=1;do{C=J+F>>1;D=_(C,G)|0;E=0;k=g;z=0;a:while(1){b:while(1){B=k;do{k=B;B=B+-1|0;if((k|0)<=(f|0))break a;Y=c[ba>>2]|0;k=_((b[Y+(k<<1)>>1]|0)-(b[Y+(B<<1)>>1]|0)|0,s)|0;k=(_(k,d[(c[I>>2]|0)+(D+B)>>0]|0)|0)< >2;if((k|0)>0){k=k+(c[K+(B<<2)>>2]|0)|0;k=(k|0)<0?0:k}A=k+(c[h+(B<<2)>>2]|0)|0;if((A|0)>=(c[O+(B<<2)>>2]|0)|E)break b}while((A|0)<($|0));k=B;z=z+$|0}Y=c[j+(B<<2)>>2]|0;E=1;k=B;z=z+((A|0)<(Y|0)?A:Y)|0}Y=(z|0)>(n|0);J=Y?J:C+1|0;F=Y?C+-1|0:F}while((J|0)<=(F|0));F=_(J+-1|0,G)|0;B=_(J,G)|0;C=(J|0)>1;E=f;N=f;while(1){if((E|0)>=(g|0))break;D=E+1|0;k=c[ba>>2]|0;k=_((b[k+(D<<1)>>1]|0)-(b[k+(E<<1)>>1]|0)|0,s)|0;z=c[I>>2]|0;A=(_(k,d[z+(F+E)>>0]|0)|0)< >2;if((J|0)<(H|0))k=(_(k,d[z+(B+E)>>0]|0)|0)< >2;else k=c[j+(E<<2)>>2]|0;if((A|0)>0){z=A+(c[K+(E<<2)>>2]|0)|0;z=(z|0)<0?0:z}else z=A;if((k|0)>0){k=k+(c[K+(E<<2)>>2]|0)|0;k=(k|0)<0?0:k}Y=c[h+(E<<2)>>2]|0;X=z+(C?Y:0)|0;W=k+Y|0;Y=(Y|0)>0?E:N;c[L+(E<<2)>>2]=X;c[M+(E<<2)>>2]=(W|0)<(X|0)?0:W-X|0;E=D;N=Y}W=(s|0)>1;Y=W&1;D=64;E=0;F=0;while(1){if((E|0)==6)break;B=F+D>>1;C=0;k=g;z=0;c:while(1){d:while(1){do{X=k;k=k+-1|0;if((X|0)<=(f|0))break c;A=(c[L+(k<<2)>>2]|0)+((_(B,c[M+(k<<2)>>2]|0)|0)>>6)|0;if((A|0)>=(c[O+(k<<2)>>2]|0)|C)break d}while((A|0)<($|0));z=z+$|0}X=c[j+(k<<2)>>2]|0;C=1;z=z+((A|0)<(X|0)?A:X)|0}X=(z|0)>(n|0);D=X?B:D;E=E+1|0;F=X?F:B}X=t<<3;z=0;A=g;B=0;while(1){k=A+-1|0;if((A|0)<=(f|0))break;T=(c[L+(k<<2)>>2]|0)+((_(F,c[M+(k<<2)>>2]|0)|0)>>6)|0;A=(z|0)==0?(T|0)<(c[O+(k<<2)>>2]|0):0;T=A?((T|0)<($|0)?0:$):T;U=c[j+(k<<2)>>2]|0;U=(T|0)<(U|0)?T:U;c[p+(k<<2)>>2]=U;z=A&1^1;A=k;B=B+U|0}H=$+8|0;I=(v|0)==0;M=u+28|0;v=u+32|0;Q=u+20|0;R=u+40|0;S=u+24|0;T=u+4|0;G=f+2|0;J=u+36|0;K=u+8|0;h=u+44|0;U=g;L=B;e:while(1){E=U+-1|0;if((E|0)<=(N|0)){Z=45;break}C=n-L|0;k=c[ba>>2]|0;F=b[k+(U<<1)>>1]|0;A=b[k+(f<<1)>>1]|0;z=F-A|0;D=(C>>>0)/(z>>>0)|0;z=C-(_(z,D)|0)|0;k=b[k+(E<<1)>>1]|0;A=z+(A-k)|0;k=F-k|0;F=p+(E<<2)|0;z=c[F>>2]|0;A=z+(_(D,k)|0)+((A|0)>0?A:0)|0;D=c[O+(E<<2)>>2]|0;if((A|0)<(((D|0)>(H|0)?D:H)|0)){B=z;z=L}else{f:do if(I){k=c[M>>2]|0;B=c[v>>2]|0;z=k>>>1;D=B>>>0 >>0;if(D)k=B;else{C=B-z|0;c[v>>2]=C;z=k-z|0;k=C}c[M>>2]=z;while(1){if(z>>>0>=8388609)break;c[Q>>2]=(c[Q>>2]|0)+8;z=z<<8;c[M>>2]=z;C=c[R>>2]|0;B=c[S>>2]|0;if(B>>>0<(c[T>>2]|0)>>>0){c[S>>2]=B+1;B=d[(c[u>>2]|0)+B>>0]|0}else B=0;c[R>>2]=B;C=((C<<8|B)>>>1&255|k<<8&2147483392)^255;c[v>>2]=C;k=C}if(D)break e}else{if((U|0)<=(G|0)){Z=50;break e}if(!((E|0)>(x|0)?1:(A|0)<=((_((U|0)<=(w|0)?7:9,k)|0)< >4|0))){Z=50;break e}k=c[M>>2]|0;k=k-(k>>>1)|0;c[M>>2]=k;while(1){if(k>>>0>=8388609)break f;z=c[v>>2]|0;C=z>>>23;if((C|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{B=z>>>31;k=c[R>>2]|0;if((k|0)>-1){z=c[S>>2]|0;if((z+(c[K>>2]|0)|0)>>>0<(c[T>>2]|0)>>>0){c[S>>2]=z+1;a[(c[u>>2]|0)+z>>0]=k+B;k=0}else k=-1;c[h>>2]=c[h>>2]|k}k=c[J>>2]|0;if(k|0){B=B+255&255;do{z=c[S>>2]|0;if((z+(c[K>>2]|0)|0)>>>0<(c[T>>2]|0)>>>0){c[S>>2]=z+1;a[(c[u>>2]|0)+z>>0]=B;z=0;k=c[J>>2]|0}else z=-1;c[h>>2]=c[h>>2]|z;k=k+-1|0;c[J>>2]=k}while((k|0)!=0)}c[R>>2]=C&255;z=c[v>>2]|0;k=c[M>>2]|0}c[v>>2]=z<<8&2147483392;k=k<<8;c[M>>2]=k;c[Q>>2]=(c[Q>>2]|0)+8}}while(0);B=c[F>>2]|0;A=A+-8|0;z=L+8|0}if((y|0)>0)k=d[29348+(E-f)>>0]|0;else k=y;U=(A|0)<($|0);L=z-(B+y)+k+(U?0:$)|0;c[F>>2]=U?0:$;y=k;U=E}g:do if((Z|0)==45)n=n+P|0;else if((Z|0)==50){z=c[M>>2]|0;k=z>>>1;z=(c[v>>2]|0)+(z-k)|0;c[v>>2]=z;c[M>>2]=k;while(1){if(k>>>0>=8388609)break g;B=z>>>23;if((B|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{A=z>>>31;k=c[R>>2]|0;if((k|0)>-1){z=c[S>>2]|0;if((z+(c[K>>2]|0)|0)>>>0<(c[T>>2]|0)>>>0){c[S>>2]=z+1;a[(c[u>>2]|0)+z>>0]=k+A;k=0}else k=-1;c[h>>2]=c[h>>2]|k}k=c[J>>2]|0;if(k|0){A=A+255&255;do{z=c[S>>2]|0;if((z+(c[K>>2]|0)|0)>>>0<(c[T>>2]|0)>>>0){c[S>>2]=z+1;a[(c[u>>2]|0)+z>>0]=A;z=0;k=c[J>>2]|0}else z=-1;c[h>>2]=c[h>>2]|z;k=k+-1|0;c[J>>2]=k}while((k|0)!=0)}c[R>>2]=B&255;z=c[v>>2]|0;k=c[M>>2]|0}z=z<<8&2147483392;c[v>>2]=z;k=k<<8;c[M>>2]=k;c[Q>>2]=(c[Q>>2]|0)+8}}while(0);h:do if((y|0)>0){if(I){c[l>>2]=(bd(u,U+1-f|0)|0)+f;break}z=c[l>>2]|0;z=(z|0)<(U|0)?z:U;c[l>>2]=z;C=z-f|0;A=U+1-f|0;k=A+-1|0;y=32-(aa(k|0)|0)|0;if((y|0)<=8){k=c[M>>2]|0;y=(k>>>0)/(A>>>0)|0;if((z|0)==(f|0))y=k-(_(y,A-(C+1)|0)|0)|0;else{x=k-(_(y,A-C|0)|0)|0;c[v>>2]=(c[v>>2]|0)+x}c[M>>2]=y;while(1){if(y>>>0>=8388609)break h;k=c[v>>2]|0;A=k>>>23;if((A|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{z=k>>>31;y=c[R>>2]|0;if((y|0)>-1){k=c[S>>2]|0;if((k+(c[K>>2]|0)|0)>>>0<(c[T>>2]|0)>>>0){c[S>>2]=k+1;a[(c[u>>2]|0)+k>>0]=y+z;y=0}else y=-1;c[h>>2]=c[h>>2]|y}y=c[J>>2]|0;if(y|0){z=z+255&255;do{k=c[S>>2]|0;if((k+(c[K>>2]|0)|0)>>>0<(c[T>>2]|0)>>>0){c[S>>2]=k+1;a[(c[u>>2]|0)+k>>0]=z;k=0;y=c[J>>2]|0}else k=-1;c[h>>2]=c[h>>2]|k;y=y+-1|0;c[J>>2]=y}while((y|0)!=0)}c[R>>2]=A&255;k=c[v>>2]|0;y=c[M>>2]|0}c[v>>2]=k<<8&2147483392;y=y<<8;c[M>>2]=y;c[Q>>2]=(c[Q>>2]|0)+8}}G=y+-8|0;k=k>>>G;z=k+1|0;A=C>>>G;B=c[M>>2]|0;y=(B>>>0)/(z>>>0)|0;if(!A)y=B-(_(y,k)|0)|0;else{x=B-(_(y,z-A|0)|0)|0;c[v>>2]=(c[v>>2]|0)+x}c[M>>2]=y;while(1){if(y>>>0>=8388609)break;k=c[v>>2]|0;A=k>>>23;if((A|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{z=k>>>31;y=c[R>>2]|0;if((y|0)>-1){k=c[S>>2]|0;if((k+(c[K>>2]|0)|0)>>>0<(c[T>>2]|0)>>>0){c[S>>2]=k+1;a[(c[u>>2]|0)+k>>0]=y+z;y=0}else y=-1;c[h>>2]=c[h>>2]|y}y=c[J>>2]|0;if(y|0){z=z+255&255;do{k=c[S>>2]|0;if((k+(c[K>>2]|0)|0)>>>0<(c[T>>2]|0)>>>0){c[S>>2]=k+1;a[(c[u>>2]|0)+k>>0]=z;k=0;y=c[J>>2]|0}else k=-1;c[h>>2]=c[h>>2]|k;y=y+-1|0;c[J>>2]=y}while((y|0)!=0)}c[R>>2]=A&255;k=c[v>>2]|0;y=c[M>>2]|0}c[v>>2]=k<<8&2147483392;y=y<<8;c[M>>2]=y;c[Q>>2]=(c[Q>>2]|0)+8}D=(1< >2]|0;F=u+16|0;k=c[F>>2]|0;if((k+G|0)>>>0>32){B=7-k|0;B=k+((B|0)>-8?B:-8)&-8;C=k;do{z=c[K>>2]|0;A=c[T>>2]|0;if(((c[S>>2]|0)+z|0)>>>0>>0){z=z+1|0;c[K>>2]=z;a[(c[u>>2]|0)+(A-z)>>0]=y;z=0}else z=-1;c[h>>2]=c[h>>2]|z;y=y>>>8;C=C+-8|0}while((C|0)>7);k=k+-8-B|0}c[E>>2]=y|D< >2]=k+G;c[Q>>2]=(c[Q>>2]|0)+G}else c[l>>2]=0;while(0);i:do if((c[l>>2]|0)>(f|0))if(!V)Z=169;else{if(I){y=c[M>>2]|0;z=c[v>>2]|0;k=y>>>1;V=z>>>0 >>0;B=V&1;if(V)y=z;else{V=z-k|0;c[v>>2]=V;k=y-k|0;y=V}c[M>>2]=k;while(1){if(k>>>0>=8388609)break;c[Q>>2]=(c[Q>>2]|0)+8;k=k<<8;c[M>>2]=k;A=c[R>>2]|0;z=c[S>>2]|0;if(z>>>0<(c[T>>2]|0)>>>0){c[S>>2]=z+1;z=d[(c[u>>2]|0)+z>>0]|0}else z=0;c[R>>2]=z;V=((A<<8|z)>>>1&255|y<<8&2147483392)^255;c[v>>2]=V;y=V}c[m>>2]=B;break}k=c[M>>2]|0;y=k>>>1;k=k-y|0;if(!(c[m>>2]|0))y=k;else c[v>>2]=(c[v>>2]|0)+k;c[M>>2]=y;while(1){if(y>>>0>=8388609)break i;k=c[v>>2]|0;A=k>>>23;if((A|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{z=k>>>31;y=c[R>>2]|0;if((y|0)>-1){k=c[S>>2]|0;if((k+(c[K>>2]|0)|0)>>>0<(c[T>>2]|0)>>>0){c[S>>2]=k+1;a[(c[u>>2]|0)+k>>0]=y+z;y=0}else y=-1;c[h>>2]=c[h>>2]|y}y=c[J>>2]|0;if(y|0){z=z+255&255;do{k=c[S>>2]|0;if((k+(c[K>>2]|0)|0)>>>0<(c[T>>2]|0)>>>0){c[S>>2]=k+1;a[(c[u>>2]|0)+k>>0]=z;k=0;y=c[J>>2]|0}else k=-1;c[h>>2]=c[h>>2]|k;y=y+-1|0;c[J>>2]=y}while((y|0)!=0)}c[R>>2]=A&255;k=c[v>>2]|0;y=c[M>>2]|0}c[v>>2]=k<<8&2147483392;y=y<<8;c[M>>2]=y;c[Q>>2]=(c[Q>>2]|0)+8}}else{n=n+V|0;Z=169}while(0);if((Z|0)==169)c[m>>2]=0;k=n-L|0;z=c[ba>>2]|0;z=(b[z+(U<<1)>>1]|0)-(b[z+(f<<1)>>1]|0)|0;n=(k>>>0)/(z>>>0)|0;z=_(z,n)|0;y=f;while(1){if((y|0)>=(U|0))break;Z=y+1|0;V=c[ba>>2]|0;V=_(n,(b[V+(Z<<1)>>1]|0)-(b[V+(y<<1)>>1]|0)|0)|0;u=p+(y<<2)|0;c[u>>2]=(c[u>>2]|0)+V;y=Z}y=f;n=k-z|0;while(1){if((y|0)>=(U|0))break;u=y+1|0;Z=c[ba>>2]|0;Z=(b[Z+(u<<1)>>1]|0)-(b[Z+(y<<1)>>1]|0)|0;Z=(n|0)<(Z|0)?n:Z;V=p+(y<<2)|0;c[V>>2]=(c[V>>2]|0)+Z;y=u;n=n-Z|0}H=e+56|0;F=W?4:3;G=0;while(1){if((f|0)>=(U|0))break;E=f+1|0;A=c[ba>>2]|0;A=(b[A+(E<<1)>>1]|0)-(b[A+(f<<1)>>1]|0)< >2]|0)+G|0;if((A|0)>1){n=c[j+(f<<2)>>2]|0;n=(y|0)>(n|0)?y-n|0:0;B=y-n|0;c[D>>2]=B;y=_(A,s)|0;if(ca&(A|0)>2?(c[m>>2]|0)==0:0)k=(f|0)<(c[l>>2]|0);else k=0;C=y+(k&1)|0;z=_(C,(b[(c[H>>2]|0)+(f<<1)>>1]|0)+X|0)|0;y=(z>>1)+(_(C,-21)|0)|0;if((A|0)==2)y=y+(C<<3>>2)|0;k=B+y|0;if((k|0)>=(C<<4|0))if((k|0)<(C*24|0))A=y+(z>>3)|0;else A=y;else A=y+(z>>2)|0;y=B+A+(C<<2)|0;y=((((y|0)<0?0:y)>>>0)/(C>>>0)|0)>>>3;z=q+(f<<2)|0;c[z>>2]=y;e=_(y,s)|0;k=c[D>>2]|0;if((e|0)>(k>>3|0)){y=k>>Y>>3;c[z>>2]=y}e=(y|0)<8?y:8;c[z>>2]=e;e=_(e,C<<3)|0;c[r+(f<<2)>>2]=(e|0)>=((c[D>>2]|0)+A|0)&1;e=(_(c[z>>2]|0,s)|0)<<3;c[D>>2]=(c[D>>2]|0)-e}else{n=(y|0)<($|0)?0:y-$|0;c[D>>2]=y-n;c[q+(f<<2)>>2]=0;c[r+(f<<2)>>2]=1}if((n|0)<=0){G=n;f=E;continue}W=n>>F;Z=q+(f<<2)|0;u=c[Z>>2]|0;e=8-u|0;e=(W|0)<(e|0)?W:e;c[Z>>2]=u+e;e=(_(e,s)|0)<<3;c[r+(f<<2)>>2]=(e|0)>=(n-G|0)&1;G=n-e|0;f=E}c[o>>2]=G;while(1){if((f|0)>=(g|0))break;m=p+(f<<2)|0;l=q+(f<<2)|0;c[l>>2]=c[m>>2]>>Y>>3;c[m>>2]=0;c[r+(f<<2)>>2]=(c[l>>2]|0)<1&1;f=f+1|0}i=da;return U|0}function td(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,j=0.0,k=0.0,l=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0;t=i;r=i;i=i+((1*(e<<2)|0)+15&-16)|0;s=i;i=i+((1*(e<<2)|0)+15&-16)|0;f=0;do{q=a+(f<<2)|0;o=+g[q>>2];c[s+(f<<2)>>2]=o<0.0&1;g[q>>2]=+N(+o);c[b+(f<<2)>>2]=0;g[r+(f<<2)>>2]=0.0;f=f+1|0}while((f|0)<(e|0));if((e>>1|0)<(d|0)){f=0;h=0.0;do{h=h+ +g[a+(f<<2)>>2];f=f+1|0}while((f|0)<(e|0));if(!(h>1.0000000036274937e-15&h<64.0)){g[a>>2]=1.0;f=1;do{g[a+(f<<2)>>2]=0.0;f=f+1|0}while((f|0)<(e|0));h=1.0}k=(+(d|0)+.8)*(1.0/h);l=0;f=d;j=0.0;h=0.0;do{p=a+(l<<2)|0;q=~~+M(+(k*+g[p>>2]));c[b+(l<<2)>>2]=q;o=+(q|0);h=h+o*o;j=j+ +g[p>>2]*o;g[r+(l<<2)>>2]=o*2.0;f=f-q|0;l=l+1|0}while((l|0)<(e|0))}else{f=d;j=0.0;h=0.0}if((f|0)>(e+3|0)){o=+(f|0);h=h+o*o+o*+g[r>>2];c[b>>2]=(c[b>>2]|0)+f;f=0}q=0;while(1){if((q|0)>=(f|0)){f=0;break}h=h+1.0;o=j+ +g[a>>2];n=h+ +g[r>>2];l=0;o=o*o;p=1;while(1){m=j+ +g[a+(p<<2)>>2];k=h+ +g[r+(p<<2)>>2];m=m*m;d=n*m>k*o;l=d?p:l;p=p+1|0;if((p|0)>=(e|0))break;else{n=d?k:n;o=d?m:o}}n=+g[a+(l<<2)>>2];p=r+(l<<2)|0;o=+g[p>>2];g[p>>2]=o+2.0;p=b+(l<<2)|0;c[p>>2]=(c[p>>2]|0)+1;q=q+1|0;j=j+n;h=h+o}do{a=b+(f<<2)|0;r=c[s+(f<<2)>>2]|0;c[a>>2]=(c[a>>2]^0-r)+r;f=f+1|0}while((f|0)<(e|0));i=t;return +h} -function ud(b,d,e,f,h,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=+k;l=l|0;var m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;D=i;i=i+((1*(d+3<<2)|0)+15&-16)|0;vd(b,d,1,h,e,f);n=+td(b,D,e,d);p=d+-1|0;r=c[D+(p<<2)>>2]|0;m=r>>>31;r=(r|0)>-1?r:0-r|0;while(1){q=p;p=p+-1|0;o=d-p|0;m=m+(c[(c[17748+(((o|0)<(r|0)?o:r)<<2)>>2]|0)+(((o|0)>(r|0)?o:r)<<2)>>2]|0)|0;C=c[D+(p<<2)>>2]|0;r=r+((C|0)>-1?C:0-C|0)|0;if((C|0)<0){B=r+1|0;B=m+(c[(c[17748+(((o|0)>(r|0)?B:o)<<2)>>2]|0)+(((o|0)>(B|0)?o:B)<<2)>>2]|0)|0}else B=m;if((q|0)<=1)break;else m=B}o=(d|0)>(e|0);p=e+1|0;p=(c[(c[17748+(((d|0)<(e|0)?d:e)<<2)>>2]|0)+((o?d:e)<<2)>>2]|0)+(c[(c[17748+((o?p:d)<<2)>>2]|0)+(((p|0)<(d|0)?d:p)<<2)>>2]|0)|0;o=p+-1|0;m=32-(aa(o|0)|0)|0;a:do if((m|0)>8){C=m+-8|0;m=o>>>C;o=m+1|0;p=B>>>C;v=j+28|0;q=c[v>>2]|0;r=(q>>>0)/(o>>>0)|0;if(!p){r=q-(_(r,m)|0)|0;c[v>>2]=r;u=j+32|0}else{A=q-(_(r,o-p|0)|0)|0;u=j+32|0;c[u>>2]=(c[u>>2]|0)+A;c[v>>2]=r}s=j+36|0;A=j+20|0;t=j+40|0;w=j+24|0;x=j+8|0;y=j+4|0;z=j+44|0;while(1){if(r>>>0>=8388609)break;m=c[u>>2]|0;q=m>>>23;if((q|0)==255)c[s>>2]=(c[s>>2]|0)+1;else{p=m>>>31;m=c[t>>2]|0;if((m|0)>-1){o=c[w>>2]|0;if((o+(c[x>>2]|0)|0)>>>0<(c[y>>2]|0)>>>0){c[w>>2]=o+1;a[(c[j>>2]|0)+o>>0]=m+p;m=0}else m=-1;c[z>>2]=c[z>>2]|m}m=c[s>>2]|0;if(m|0){p=p+255&255;do{o=c[w>>2]|0;if((o+(c[x>>2]|0)|0)>>>0<(c[y>>2]|0)>>>0){c[w>>2]=o+1;a[(c[j>>2]|0)+o>>0]=p;o=0;m=c[s>>2]|0}else o=-1;c[z>>2]=c[z>>2]|o;m=m+-1|0;c[s>>2]=m}while((m|0)!=0)}c[t>>2]=q&255;m=c[u>>2]|0;r=c[v>>2]|0}c[u>>2]=m<<8&2147483392;r=r<<8;c[v>>2]=r;c[A>>2]=(c[A>>2]|0)+8}t=(1< >2]|0;v=j+16|0;o=c[v>>2]|0;if((o+C|0)>>>0>32){r=7-o|0;r=o+((r|0)>-8?r:-8)&-8;s=o;do{p=c[x>>2]|0;q=c[y>>2]|0;if(((c[w>>2]|0)+p|0)>>>0 >>0){p=p+1|0;c[x>>2]=p;a[(c[j>>2]|0)+(q-p)>>0]=m;p=0}else p=-1;c[z>>2]=c[z>>2]|p;m=m>>>8;s=s+-8|0}while((s|0)>7);o=o+-8-r|0}c[u>>2]=m|t<>2]=o+C;c[A>>2]=(c[A>>2]|0)+C}else{z=j+28|0;m=c[z>>2]|0;o=(m>>>0)/(p>>>0)|0;if(!B){o=m-(_(o,p+-1|0)|0)|0;c[z>>2]=o;y=j+32|0}else{C=m-(_(o,p-B|0)|0)|0;y=j+32|0;c[y>>2]=(c[y>>2]|0)+C;c[z>>2]=o}r=j+36|0;s=j+20|0;t=j+40|0;u=j+24|0;v=j+8|0;w=j+4|0;x=j+44|0;while(1){if(o>>>0>=8388609)break a;m=c[y>>2]|0;q=m>>>23;if((q|0)==255)c[r>>2]=(c[r>>2]|0)+1;else{p=m>>>31;m=c[t>>2]|0;if((m|0)>-1){o=c[u>>2]|0;if((o+(c[v>>2]|0)|0)>>>0<(c[w>>2]|0)>>>0){c[u>>2]=o+1;a[(c[j>>2]|0)+o>>0]=m+p;m=0}else m=-1;c[x>>2]=c[x>>2]|m}m=c[r>>2]|0;if(m|0){p=p+255&255;do{o=c[u>>2]|0;if((o+(c[v>>2]|0)|0)>>>0<(c[w>>2]|0)>>>0){c[u>>2]=o+1;a[(c[j>>2]|0)+o>>0]=p;o=0;m=c[r>>2]|0}else o=-1;c[x>>2]=c[x>>2]|o;m=m+-1|0;c[r>>2]=m}while((m|0)!=0)}c[t>>2]=q&255;m=c[y>>2]|0;o=c[z>>2]|0}c[y>>2]=m<<8&2147483392;o=o<<8;c[z>>2]=o;c[s>>2]=(c[s>>2]|0)+8}}while(0);if(l|0){n=1.0/+O(+n)*k;m=0;do{g[b+(m<<2)>>2]=n*+(c[D+(m<<2)>>2]|0);m=m+1|0}while((m|0)<(d|0));vd(b,d,-1,h,e,f)}if((h|0)<2){h=1;i=E;return h|0}r=(d>>>0)/(h>>>0)|0;m=0;s=0;do{o=_(s,r)|0;p=0;q=0;do{q=q|c[D+(o+p<<2)>>2];p=p+1|0}while((p|0)<(r|0));m=m|((q|0)!=0&1)< =(b|0)|(h|0)==0)return;v=+(b|0)/+((_(c[17352+(h+-1<<2)>>2]|0,f)|0)+b|0);v=v*v*.5;u=+Q(+(v*1.5707963705062866));v=+Q(+((1.0-v)*1.5707963705062866));a:do if((e<<3|0)>(b|0))h=0;else{f=e>>2;h=1;while(1){if(((_((_(h,h)|0)+h|0,e)|0)+f|0)>=(b|0))break a;h=h+1|0}}while(0);t=(b>>>0)/(e>>>0)|0;i=(d|0)<0;j=(h|0)==0;k=-v;l=t+-1|0;m=t+-3|0;n=t+-2|0;o=-u;p=t-h|0;q=t-(h<<1)|0;r=q+-1|0;s=0;while(1){if((s|0)>=(e|0))break;d=a+((_(s,t)|0)<<2)|0;b:do if(!i){f=d;b=0;while(1){if((b|0)>=(l|0))break;y=+g[f>>2];w=f+4|0;x=+g[w>>2];g[w>>2]=x*u+y*k;g[f>>2]=y*u+x*v;f=w;b=b+1|0}f=d+(m<<2)|0;b=n;while(1){if((b|0)<=0)break;x=+g[f>>2];w=f+4|0;y=+g[w>>2];g[w>>2]=y*u+x*k;g[f>>2]=x*u+y*v;f=f+-4|0;b=b+-1|0}if(!j){f=d;b=0;while(1){if((b|0)>=(p|0))break;x=+g[f>>2];w=f+(h<<2)|0;y=+g[w>>2];g[w>>2]=y*v+x*o;g[f>>2]=x*v+y*u;f=f+4|0;b=b+1|0}f=d+(r<<2)|0;b=q;while(1){if((b|0)<=0)break b;x=+g[f>>2];w=f+(h<<2)|0;y=+g[w>>2];g[w>>2]=y*v+x*o;g[f>>2]=x*v+y*u;f=f+-4|0;b=b+-1|0}}}else{c:do if(j){f=d;b=0}else{f=d;b=0;while(1){if((b|0)>=(p|0))break;x=+g[f>>2];w=f+(h<<2)|0;y=+g[w>>2];g[w>>2]=y*v+x*u;g[f>>2]=x*v+y*o;f=f+4|0;b=b+1|0}f=d+(r<<2)|0;b=q;while(1){if((b|0)<=0){f=d;b=0;break c}x=+g[f>>2];w=f+(h<<2)|0;y=+g[w>>2];g[w>>2]=y*v+x*u;g[f>>2]=x*v+y*o;f=f+-4|0;b=b+-1|0}}while(0);while(1){if((b|0)>=(l|0))break;x=+g[f>>2];w=f+4|0;y=+g[w>>2];g[w>>2]=y*u+x*v;g[f>>2]=x*u+y*k;f=w;b=b+1|0}f=d+(m<<2)|0;b=n;while(1){if((b|0)<=0)break b;x=+g[f>>2];w=f+4|0;y=+g[w>>2];g[w>>2]=y*u+x*v;g[f>>2]=x*u+y*k;f=f+-4|0;b=b+-1|0}}while(0);s=s+1|0}return}function wd(a,b,d,e,f,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=+j;var k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0;u=i;t=i;i=i+((1*(b<<2)|0)+15&-16)|0;s=(b|0)>(d|0);o=d+1|0;q=b;r=d;o=bd(h,(c[(c[17748+(((b|0)<(d|0)?b:d)<<2)>>2]|0)+((s?b:d)<<2)>>2]|0)+(c[(c[17748+((s?o:b)<<2)>>2]|0)+(((o|0)<(b|0)?b:o)<<2)>>2]|0)|0)|0;s=t;k=0.0;while(1){if((q|0)<=2)break;do if((r|0)<(q|0)){h=c[(c[17748+(r<<2)>>2]|0)+(q<<2)>>2]|0;l=c[(c[17748+(r+1<<2)>>2]|0)+(q<<2)>>2]|0;if(o>>>0>=h>>>0&o>>>0>>0){c[s>>2]=0;l=o-h|0;h=r;break}n=o>>>0>=l>>>0;l=o-(n?l:0)|0;h=r;do{h=h+-1|0;m=c[(c[17748+(h<<2)>>2]|0)+(q<<2)>>2]|0}while(l>>>0 >>0);p=n<<31>>31;r=r-h+p^p;c[s>>2]=r<<16>>16;v=+((r&65535)<<16>>16);l=l-m|0;k=k+v*v}else{m=c[17748+(q<<2)>>2]|0;n=c[m+(r+1<<2)>>2]|0;l=o>>>0>=n>>>0;p=l<<31>>31;n=o-(l?n:0)|0;a:do if((c[m+(q<<2)>>2]|0)>>>0>n>>>0){h=q;do{h=h+-1|0;l=c[(c[17748+(h<<2)>>2]|0)+(q<<2)>>2]|0}while(l>>>0>n>>>0)}else{h=r;while(1){l=c[m+(h<<2)>>2]|0;if(l>>>0<=n>>>0)break a;h=h+-1|0}}while(0);r=r-h+p^p;c[s>>2]=r<<16>>16;v=+((r&65535)<<16>>16);l=n-l|0;k=k+v*v}while(0);q=q+-1|0;r=h;o=l;s=s+4|0}h=r<<1|1;l=o>>>0>=h>>>0;m=l<<31>>31;h=o-(l?h:0)|0;l=(h+1|0)>>>1;if(l)h=h-((l<<1)+-1)|0;r=r-l+m^m;c[s>>2]=r<<16>>16;w=+((r&65535)<<16>>16);h=l-h^0-h;c[s+4>>2]=h<<16>>16;v=+((h&65535)<<16>>16);k=1.0/+O(+(k+w*w+v*v))*j;h=0;do{g[a+(h<<2)>>2]=k*+(c[t+(h<<2)>>2]|0);h=h+1|0}while((h|0)<(b|0));vd(a,b,-1,f,d,e);if((f|0)<2){f=1;i=u;return f|0}o=(b>>>0)/(f>>>0)|0;h=0;p=0;do{l=_(p,o)|0;m=0;n=0;do{n=n|c[t+(l+m<<2)>>2];m=m+1|0}while((m|0)<(o|0));h=h|((n|0)!=0&1)< >2]=0;c[M+4>>2]=0;M=g+4|0;a:do if(!j)j=c[M>>2]|0;else{n=0;while(1){j=c[M>>2]|0;if((n|0)>=(j|0))break a;c[f+(n*4260|0)+2388>>2]=0;n=n+1|0}}while(0);O=f+8536|0;if((j|0)>(c[O>>2]|0)){j=f+4260|0;nf(j|0,0,4260)|0;c[f+6636>>2]=1;c[j>>2]=65536;c[f+8408>>2]=0;c[f+8412>>2]=3176576;c[f+8428>>2]=c[f+6588>>2]<<7;c[f+8500>>2]=65536;c[f+8504>>2]=65536;c[f+8516>>2]=20;c[f+8512>>2]=2;j=c[M>>2]|0}if((j|0)==1?(c[O>>2]|0)==2:0)L=(c[g+12>>2]|0)==((c[f+2316>>2]|0)*1e3|0);else L=0;H=f+2388|0;b:do if(!(c[H>>2]|0)){x=g+16|0;y=g+12|0;z=g+8|0;w=0;A=0;c:while(1){if((w|0)>=(j|0))break b;switch(c[x>>2]|0){case 0:{c[f+(w*4260|0)+2392>>2]=1;c[f+(w*4260|0)+2324>>2]=2;j=2;break}case 10:{c[f+(w*4260|0)+2392>>2]=1;c[f+(w*4260|0)+2324>>2]=2;j=2;break}case 20:{c[f+(w*4260|0)+2392>>2]=1;c[f+(w*4260|0)+2324>>2]=4;j=4;break}case 40:{c[f+(w*4260|0)+2392>>2]=2;c[f+(w*4260|0)+2324>>2]=4;j=4;break}case 60:{c[f+(w*4260|0)+2392>>2]=3;c[f+(w*4260|0)+2324>>2]=4;j=4;break}default:{j=-203;B=183;break c}}s=c[y>>2]>>10;t=s+1|0;u=(t|0)==8;switch(s|0){case 7:case 11:case 15:break;default:{j=-200;B=183;break c}}o=c[z>>2]|0;v=t<<16>>16;c[f+(w*4260|0)+2332>>2]=v*5;p=f+(w*4260|0)+2324|0;q=_(j,v*327680>>16)|0;r=f+(w*4260|0)+2316|0;j=f+(w*4260|0)+2320|0;if((c[r>>2]|0)==(t|0)?(c[j>>2]|0)==(o|0):0){j=1;n=0;B=23}else{n=Hd(f+(w*4260|0)+2432|0,v*1e3|0,o,0)|0;c[j>>2]=o;j=(c[r>>2]|0)==(t|0);if(j)B=23;else B=24}if((B|0)==23){B=0;if((q|0)!=(c[f+(w*4260|0)+2328>>2]|0))B=24}if((B|0)==24){B=0;o=(c[p>>2]|0)==4;p=f+(w*4260|0)+2384|0;do if(u)if(o){c[p>>2]=30064;break}else{c[p>>2]=30087;break}else if(o){c[p>>2]=30030;break}else{c[p>>2]=30075;break}while(0);if(!j){c[f+(w*4260|0)+2336>>2]=v*20;switch(s|0){case 7:case 11:{c[f+(w*4260|0)+2340>>2]=10;c[f+(w*4260|0)+2732>>2]=22896;if((t|0)==12)c[f+(w*4260|0)+2380>>2]=29956;else B=37;break}default:{c[f+(w*4260|0)+2340>>2]=16;c[f+(w*4260|0)+2732>>2]=22936;if((t|0)==16)c[f+(w*4260|0)+2380>>2]=29962;else B=37}}if((B|0)==37?(0,u):0)c[f+(w*4260|0)+2380>>2]=29947;c[f+(w*4260|0)+2376>>2]=1;c[f+(w*4260|0)+2308>>2]=100;a[f+(w*4260|0)+2312>>0]=10;c[f+(w*4260|0)+4164>>2]=0;nf(f+(w*4260|0)+1284|0,0,1024)|0}c[r>>2]=t;c[f+(w*4260|0)+2328>>2]=q}j=c[M>>2]|0;w=w+1|0;A=A+n|0}if((B|0)==183){i=P;return j|0}}else A=0;while(0);n=c[g>>2]|0;do if((n|0)==2)if((j|0)==2){if((c[f+8532>>2]|0)!=1?(c[O>>2]|0)!=1:0){j=2;break}c[f+8520>>2]=0;c[f+8528>>2]=0;rf(f+6692|0,f+2432|0,300)|0;j=c[g>>2]|0}else j=2;else j=n;while(0);c[f+8532>>2]=j;c[O>>2]=c[M>>2];G=g+8|0;if(((c[G>>2]|0)+-8e3|0)>>>0>4e4){f=-200;i=P;return f|0}I=(h|0)==1;d:do if(!I?(c[H>>2]|0)==0:0){y=k+28|0;z=k+32|0;B=k+20|0;C=k+40|0;D=k+24|0;E=k+4|0;t=0;while(1){j=c[M>>2]|0;if((t|0)>=(j|0)){u=0;break}q=f+(t*4260|0)+2392|0;r=0;while(1){o=c[y>>2]|0;n=c[z>>2]|0;j=o>>>1;p=n>>>0
>>0;s=p&1;if((r|0)>=(c[q>>2]|0))break;if(!p){n=n-j|0;c[z>>2]=n;j=o-j|0}c[y>>2]=j;while(1){if(j>>>0>=8388609)break;c[B>>2]=(c[B>>2]|0)+8;j=j<<8;c[y>>2]=j;p=c[C>>2]|0;o=c[D>>2]|0;if(o>>>0<(c[E>>2]|0)>>>0){c[D>>2]=o+1;o=d[(c[k>>2]|0)+o>>0]|0}else o=0;c[C>>2]=o;x=((p<<8|o)>>>1&255|n<<8&2147483392)^255;c[z>>2]=x;n=x}c[f+(t*4260|0)+2404+(r<<2)>>2]=s;r=r+1|0}if(!p){n=n-j|0;c[z>>2]=n;j=o-j|0}c[y>>2]=j;while(1){if(j>>>0>=8388609)break;c[B>>2]=(c[B>>2]|0)+8;j=j<<8;c[y>>2]=j;p=c[C>>2]|0;o=c[D>>2]|0;if(o>>>0<(c[E>>2]|0)>>>0){c[D>>2]=o+1;o=d[(c[k>>2]|0)+o>>0]|0}else o=0;c[C>>2]=o;x=((p<<8|o)>>>1&255|n<<8&2147483392)^255;c[z>>2]=x;n=x}c[f+(t*4260|0)+2416>>2]=s;t=t+1|0}while(1){if((u|0)>=(j|0))break;j=f+(u*4260|0)+2420|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;e:do if(c[f+(u*4260|0)+2416>>2]|0){t=f+(u*4260|0)+2392|0;n=c[t>>2]|0;if((n|0)==1){c[j>>2]=1;break}j=c[17520+(n+-2<<2)>>2]|0;r=c[y>>2]|0;n=c[z>>2]|0;o=r>>>8;s=-1;while(1){p=s+1|0;q=_(o,d[j+p>>0]|0)|0;if(n>>>0 >>0){s=p;r=q}else break}p=n-q|0;c[z>>2]=p;j=r-q|0;c[y>>2]=j;while(1){if(j>>>0>=8388609)break;c[B>>2]=(c[B>>2]|0)+8;j=j<<8;c[y>>2]=j;o=c[C>>2]|0;n=c[D>>2]|0;if(n>>>0<(c[E>>2]|0)>>>0){c[D>>2]=n+1;n=d[(c[k>>2]|0)+n>>0]|0}else n=0;c[C>>2]=n;x=((o<<8|n)>>>1&255|p<<8&2147483392)^255;c[z>>2]=x;p=x}j=s+2|0;n=0;while(1){if((n|0)>=(c[t>>2]|0))break e;c[f+(u*4260|0)+2420+(n<<2)>>2]=j>>>n&1;n=n+1|0}}while(0);j=c[M>>2]|0;u=u+1|0}if(!h){w=f+2392|0;x=f+6680|0;n=0;v=0;while(1){if((v|0)>=(c[w>>2]|0))break d;s=x+(v<<2)|0;t=(v|0)>0;u=v+-1|0;r=0;while(1){if((r|0)>=(j|0))break;if(c[f+(r*4260|0)+2420+(v<<2)>>2]|0){f:do if((j|0)==2&(r|0)==0?(Md(k,K),(c[s>>2]|0)==0):0){q=c[y>>2]|0;j=c[z>>2]|0;o=q>>>8;n=-1;while(1){n=n+1|0;p=_(o,d[29916+n>>0]|0)|0;if(j>>>0>=p>>>0)break;else q=p}o=j-p|0;c[z>>2]=o;j=q-p|0;c[y>>2]=j;q=o;while(1){if(j>>>0>=8388609)break f;c[B>>2]=(c[B>>2]|0)+8;j=j<<8;c[y>>2]=j;p=c[C>>2]|0;o=c[D>>2]|0;if(o>>>0<(c[E>>2]|0)>>>0){c[D>>2]=o+1;o=d[(c[k>>2]|0)+o>>0]|0}else o=0;c[C>>2]=o;p=((p<<8|o)>>>1&255|q<<8&2147483392)^255;c[z>>2]=p;q=p}}while(0);if(t?(c[f+(r*4260|0)+2420+(u<<2)>>2]|0)!=0:0)j=2;else j=0;ee(f+(r*4260|0)|0,k,v,1,j);fe(k,F,a[f+(r*4260|0)+2765>>0]|0,a[f+(r*4260|0)+2766>>0]|0,c[f+(r*4260|0)+2328>>2]|0);j=c[M>>2]|0}r=r+1|0}v=v+1|0}}else n=0}else n=0;while(0);j=c[M>>2]|0;do if((j|0)==2){switch(h|0){case 0:{Md(k,K);if(!(c[f+6664+(c[H>>2]<<2)>>2]|0))B=112;else{n=0;B=121}break}case 2:{if((c[f+2420+(c[H>>2]<<2)>>2]|0)==1){Md(k,K);if(!(c[f+6680+(c[H>>2]<<2)>>2]|0))B=112;else{n=0;B=121}}else B=108;break}default:B=108}g:do if((B|0)==108){j=f+8520|0;o=0;while(1){if((o|0)==2)break g;c[K+(o<<2)>>2]=b[j+(o<<1)>>1];o=o+1|0}}else if((B|0)==112){v=k+28|0;q=c[v>>2]|0;w=k+32|0;j=c[w>>2]|0;o=q>>>8;n=-1;while(1){n=n+1|0;p=_(o,d[29916+n>>0]|0)|0;if(j>>>0>=p>>>0)break;else q=p}u=j-p|0;c[w>>2]=u;j=q-p|0;c[v>>2]=j;q=k+20|0;r=k+40|0;s=k+24|0;t=k+4|0;while(1){if(j>>>0>=8388609){B=121;break g}c[q>>2]=(c[q>>2]|0)+8;j=j<<8;c[v>>2]=j;p=c[r>>2]|0;o=c[s>>2]|0;if(o>>>0<(c[t>>2]|0)>>>0){c[s>>2]=o+1;o=d[(c[k>>2]|0)+o>>0]|0}else o=0;c[r>>2]=o;F=((p<<8|o)>>>1&255|u<<8&2147483392)^255;c[w>>2]=F;u=F}}while(0);if((B|0)==121){j=c[M>>2]|0;if((j|0)!=2)break}if((n|0)==0?(c[f+8540>>2]|0)==1:0){nf(f+5544|0,0,1024)|0;c[f+6568>>2]=100;a[f+6572>>0]=10;c[f+8424>>2]=0;c[f+6636>>2]=1;j=c[M>>2]|0}else j=2}while(0);C=_(c[g+12>>2]|0,j)|0;C=(C|0)<(_(c[G>>2]|0,c[g>>2]|0)|0);if(C){E=Fa()|0;c[N>>2]=l;B=l+(c[f+2328>>2]<<1)+4|0;c[N+4>>2]=B;q=l}else{B=f+2328|0;F=_(j,(c[B>>2]|0)+2|0)|0;E=Fa()|0;q=i;i=i+((1*(F<<1)|0)+15&-16)|0;c[N>>2]=q;B=q+(c[B>>2]<<1)+4|0;c[N+4>>2]=B}if(!h){D=f+8540|0;p=(n|0)==0&1}else{j=f+8540|0;if(c[j>>2]|0)if((c[M>>2]|0)==2&(h|0)==2)o=(c[f+6680+(c[f+6648>>2]<<2)>>2]|0)==1;else o=0;else o=1;D=j;p=o&1}o=(h|0)==2;r=0;while(1){j=c[M>>2]|0;if((r|0)>=(j|0))break;if((r|0)==0|(p|0)!=0){j=(c[H>>2]|0)-r|0;do if((j|0)<1)j=0;else{if(o){j=c[f+(r*4260|0)+2420+(j+-1<<2)>>2]|0?2:0;break}if((r|0)>0?c[D>>2]|0:0){j=1;break}j=2}while(0);j=A+(de(f+(r*4260|0)|0,k,(c[N+(r<<2)>>2]|0)+4|0,J,h,j)|0)|0}else{nf((c[N+(r<<2)>>2]|0)+4|0,0,c[J>>2]<<1|0)|0;j=A}A=f+(r*4260|0)+2388|0;c[A>>2]=(c[A>>2]|0)+1;r=r+1|0;A=j}h:do if((c[g>>2]|0)==2&(j|0)==2){x=f+8520|0;y=f+2316|0;j=c[y>>2]|0;z=c[J>>2]|0;v=f+8524|0;r=e[v>>1]|e[v+2>>1]<<16;b[q>>1]=r;b[q+2>>1]=r>>>16;r=f+8528|0;s=e[r>>1]|e[r+2>>1]<<16;b[B>>1]=s;b[B+2>>1]=s>>>16;s=q+(z<<1)|0;s=e[s>>1]|e[s+2>>1]<<16;b[v>>1]=s;b[v+2>>1]=s>>>16;v=B+(z<<1)|0;v=e[v>>1]|e[v+2>>1]<<16;b[r>>1]=v;b[r+2>>1]=v>>>16;r=b[x>>1]|0;v=f+8522|0;s=b[v>>1]|0;j=j<<3;w=c[K>>2]|0;o=(65536/(j|0)|0)<<16>>16;t=((_(w-(r&65535)<<16>>16,o)|0)>>15)+1>>1;u=c[K+4>>2]|0;o=((_(u-(s&65535)<<16>>16,o)|0)>>15)+1>>1;p=0;r=r<<16>>16;s=s<<16>>16;while(1){if((p|0)>=(j|0))break;J=r+t|0;K=s+o|0;k=p+1|0;F=b[q+(k<<1)>>1]|0;R=(b[q+(p<<1)>>1]|0)+(b[q+(p+2<<1)>>1]|0)+(F<<1)|0;h=B+(k<<1)|0;Q=J<<16>>16;H=K<<16>>16;H=((b[h>>1]<<8)+((_(R>>7,Q)|0)+((_(R<<9&65024,Q)|0)>>16))+((_(F>>5,H)|0)+((_(F<<11&63488,H)|0)>>16))>>7)+1>>1;b[h>>1]=(H|0)>32767?32767:((H|0)<-32768?-32768:H)&65535;p=k;r=J;s=K}o=w<<16>>16;p=u<<16>>16;while(1){if((j|0)>=(z|0))break;R=j+1|0;K=b[q+(R<<1)>>1]|0;J=(b[q+(j<<1)>>1]|0)+(b[q+(j+2<<1)>>1]|0)+(K<<1)|0;Q=B+(R<<1)|0;K=((b[Q>>1]<<8)+((_(J>>7,o)|0)+((_(J<<9&65024,o)|0)>>16))+((_(K>>5,p)|0)+((_(K<<11&63488,p)|0)>>16))>>7)+1>>1;b[Q>>1]=(K|0)>32767?32767:((K|0)<-32768?-32768:K)&65535;j=R}b[x>>1]=w;b[v>>1]=u;j=0;while(1){if((j|0)>=(z|0)){t=y;s=z;break h}R=j+1|0;J=q+(R<<1)|0;h=b[J>>1]|0;Q=B+(R<<1)|0;K=b[Q>>1]|0;k=h+K|0;K=h-K|0;b[J>>1]=(k|0)>32767?32767:((k|0)<-32768?-32768:k)&65535;b[Q>>1]=(K|0)>32767?32767:((K|0)<-32768?-32768:K)&65535;j=R}}else{t=f+8524|0;s=e[t>>1]|e[t+2>>1]<<16;b[q>>1]=s;b[q+2>>1]=s>>>16;s=c[J>>2]|0;q=c[N>>2]|0;R=q+(s<<1)|0;R=e[R>>1]|e[R+2>>1]<<16;b[t>>1]=R;b[t+2>>1]=R>>>16;t=f+2316|0}while(0);o=_(s,c[G>>2]|0)|0;o=(o|0)/((c[t>>2]<<16>>16)*1e3|0)|0;c[m>>2]=o;j=c[g>>2]|0;p=(j|0)==2;if(p){r=i;i=i+((1*((p?o:1)<<1)|0)+15&-16)|0}else r=l;if(C){R=c[f+2328>>2]|0;Q=_(c[M>>2]|0,R+2|0)|0;q=i;i=i+((1*(Q<<1)|0)+15&-16)|0;rf(q|0,l|0,Q<<1|0)|0;c[N>>2]=q;c[N+4>>2]=q+(R<<1)+4}p=0;while(1){o=c[M>>2]|0;if((p|0)>=(((j|0)<(o|0)?j:o)|0))break;Id(f+(p*4260|0)+2432|0,r,(c[N+(p<<2)>>2]|0)+2|0,s);j=c[g>>2]|0;if((j|0)==2){j=0;while(1){if((j|0)>=(c[m>>2]|0))break;b[l+(p+(j<<1)<<1)>>1]=b[r+(j<<1)>>1]|0;j=j+1|0}j=c[g>>2]|0}p=p+1|0}i:do if((j|0)==2&(o|0)==1){if(!L){j=0;while(1){if((j|0)>=(c[m>>2]|0))break i;R=j<<1;b[l+((R|1)<<1)>>1]=b[l+(R<<1)>>1]|0;j=j+1|0}}Id(f+6692|0,r,q+2|0,s);j=0;while(1){if((j|0)>=(c[m>>2]|0))break i;b[l+((j<<1|1)<<1)>>1]=b[r+(j<<1)>>1]|0;j=j+1|0}}while(0);if((c[f+4164>>2]|0)==2)j=_(c[f+2308>>2]|0,c[17364+((c[t>>2]|0)+-8>>2<<2)>>2]|0)|0;else j=0;c[g+20>>2]=j;j:do if(I){j=0;while(1){if((j|0)>=(c[O>>2]|0))break j;a[f+(j*4260|0)+2312>>0]=10;j=j+1|0}}else c[D>>2]=n;while(0);Na(E|0);R=A;i=P;return R|0}function yd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;nf(a|0,0,20400)|0;e=0;f=0;while(1){if((e|0)==2)break;g=f+(Fd(a+(e*10156|0)|0,b)|0)|0;e=e+1|0;f=g}c[a+20376>>2]=1;g=a+20380|0;c[g>>2]=1;c[d>>2]=1;c[d+4>>2]=c[g>>2];c[d+8>>2]=c[a+4648>>2];c[d+12>>2]=c[a+4656>>2];c[d+16>>2]=c[a+4660>>2];c[d+20>>2]=c[a+4664>>2];c[d+24>>2]=c[a+4704>>2];c[d+28>>2]=c[a+4700>>2];c[d+32>>2]=c[a+4708>>2];c[d+36>>2]=c[a+4716>>2];c[d+40>>2]=c[a+6180>>2];c[d+48>>2]=c[a+6168>>2];c[d+52>>2]=c[a+4768>>2];g=a+4668|0;c[d+72>>2]=(c[g>>2]<<16>>16)*1e3;c[d+76>>2]=c[a+4628>>2];if((c[g>>2]|0)!=16){e=0;e=e&1;g=d+80|0;c[g>>2]=e;return f|0}e=(c[a+28>>2]|0)==0;e=e&1;g=d+80|0;c[g>>2]=e;return f|0}function zd(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,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,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0;hb=i;i=i+16|0;fb=hb;if(c[g+68>>2]|0){c[f+4756>>2]=1;c[f+14912>>2]=1}db=f+15996|0;c[db>>2]=0;eb=f+5840|0;c[eb>>2]=0;M=g+8|0;o=c[M>>2]|0;a:do if((o|0)<24e3){if((o|0)<12e3){switch(o|0){case 8e3:break a;default:n=-102}i=hb;return n|0}if((o|0)<16e3){switch(o|0){case 12e3:break a;default:n=-102}i=hb;return n|0}else{switch(o|0){case 16e3:break a;default:n=-102}i=hb;return n|0}}else if((o|0)<44100)if((o|0)<32e3){switch(o|0){case 24e3:break a;default:n=-102}i=hb;return n|0}else{switch(o|0){case 32e3:break a;default:n=-102}i=hb;return n|0}else if((o|0)<48e3){switch(o|0){case 44100:break a;default:n=-102}i=hb;return n|0}else{switch(o|0){case 48e3:break a;default:n=-102}i=hb;return n|0}while(0);L=g+20|0;o=c[L>>2]|0;b:do if((o|0)>=12e3)if((o|0)<16e3){switch(o|0){case 12e3:break b;default:n=-102}i=hb;return n|0}else{switch(o|0){case 16e3:break b;default:n=-102}i=hb;return n|0}else{switch(o|0){case 8e3:break b;default:n=-102}i=hb;return n|0}while(0);J=g+12|0;p=c[J>>2]|0;c:do if((p|0)>=12e3)if((p|0)<16e3){switch(p|0){case 12e3:break c;default:n=-102}i=hb;return n|0}else{switch(p|0){case 16e3:break c;default:n=-102}i=hb;return n|0}else{switch(p|0){case 8e3:break c;default:n=-102}i=hb;return n|0}while(0);K=g+16|0;q=c[K>>2]|0;d:do if((q|0)>=12e3)if((q|0)<16e3){switch(q|0){case 12e3:break d;default:n=-102}i=hb;return n|0}else{switch(q|0){case 16e3:break d;default:n=-102}i=hb;return n|0}else{switch(q|0){case 8e3:break d;default:n=-102}i=hb;return n|0}while(0);if((q|0)>(o|0)|(p|0)<(o|0)|(q|0)>(p|0)){f=-102;i=hb;return f|0}cb=g+24|0;switch(c[cb>>2]|0){case 60:case 40:case 20:case 10:break;default:{f=-103;i=hb;return f|0}}G=g+32|0;if((c[G>>2]|0)>>>0>100){f=-105;i=hb;return f|0}H=g+48|0;if((c[H>>2]|0)>>>0>1){f=-108;i=hb;return f|0}ab=g+52|0;if((c[ab>>2]|0)>>>0>1){f=-109;i=hb;return f|0}I=g+40|0;if((c[I>>2]|0)>>>0>1){f=-107;i=hb;return f|0}o=c[g>>2]|0;if((o+-1|0)>>>0>1){f=-111;i=hb;return f|0}gb=g+4|0;p=c[gb>>2]|0;if((p+-1|0)>>>0>1|(p|0)>(o|0)){f=-111;i=hb;return f|0}bb=g+36|0;if((c[bb>>2]|0)>>>0>10){f=-106;i=hb;return f|0}F=g+88|0;c[F>>2]=0;q=f+20380|0;if((p|0)>(c[q>>2]|0)){p=f+10156|0;o=Fd(p,c[f+5184>>2]|0)|0;c[f+20312>>2]=0;c[f+20320>>2]=0;c[f+20324>>2]=0;c[f+20328>>2]=1;c[f+20332>>2]=0;c[f+20336>>2]=1;b[f+20342>>1]=0;b[f+20340>>1]=16384;if((c[f+20376>>2]|0)==2){rf(f+16024|0,f+5868|0,300)|0;Ya=f;Za=c[Ya+4>>2]|0;_a=p;c[_a>>2]=c[Ya>>2];c[_a+4>>2]=Za}}else o=0;if((c[cb>>2]|0)==(c[f+4704>>2]|0))E=(c[q>>2]|0)!=(c[gb>>2]|0);else E=1;c[f+20376>>2]=c[g>>2];c[q>>2]=c[gb>>2];p=j*100|0;q=c[M>>2]|0;D=(p|0)/(q|0)|0;Za=(D|0)>1?D>>1:1;_a=(m|0)==0;e:do if(_a){if((_(D,q)|0)!=(p|0)|(j|0)<0){f=-101;i=hb;return f|0}if((j*1e3|0)>(_(c[cb>>2]|0,q)|0)){f=-101;i=hb;return f|0}else{Ya=f;m=0;r=0;break}}else{if((D|0)!=1){f=-101;i=hb;return f|0}p=0;while(1){q=c[gb>>2]|0;if((p|0)>=(q|0))break;o=Fd(f+(p*10156|0)|0,c[f+(p*10156|0)+5184>>2]|0)|0;p=p+1|0}r=c[cb>>2]|0;c[cb>>2]=10;m=c[bb>>2]|0;c[bb>>2]=0;p=0;while(1){if((p|0)>=(q|0)){Ya=f;break e}c[f+(p*10156|0)+4760>>2]=0;c[f+(p*10156|0)+4772>>2]=1;q=c[gb>>2]|0;p=p+1|0}}while(0);Xa=f+4668|0;Ua=f+20392|0;A=g+44|0;B=g+64|0;Va=g+56|0;Wa=f+5836|0;C=0;while(1){if((C|0)>=(c[gb>>2]|0))break;if((C|0)==1)v=c[Xa>>2]|0;else v=0;w=Ya+(C*10156|0)|0;t=c[Ua>>2]|0;z=Ya+(C*10156|0)+6168|0;c[z>>2]=c[H>>2];c[Ya+(C*10156|0)+4768>>2]=c[ab>>2];o=c[M>>2]|0;c[Ya+(C*10156|0)+4648>>2]=o;p=c[J>>2]|0;c[Ya+(C*10156|0)+4656>>2]=p;q=c[K>>2]|0;c[Ya+(C*10156|0)+4660>>2]=q;u=c[L>>2]|0;c[Ya+(C*10156|0)+4664>>2]=u;c[Ya+(C*10156|0)+6180>>2]=c[I>>2];c[Ya+(C*10156|0)+5844>>2]=c[g>>2];c[Ya+(C*10156|0)+5848>>2]=c[gb>>2];c[Ya+(C*10156|0)+4628>>2]=t;c[Ya+(C*10156|0)+5852>>2]=C;y=Ya+(C*10156|0)+4760|0;do if(!(c[y>>2]|0))$a=41;else{if(c[Ya+(C*10156|0)+4772>>2]|0){$a=41;break}if((o|0)==(c[Ya+(C*10156|0)+4652>>2]|0))break;o=c[Ya+(C*10156|0)+4668>>2]|0;if((o|0)<=0)break;n=Gd(w,o)|0;$a=110}while(0);if(($a|0)==41){$a=0;x=Ya+(C*10156|0)+4668|0;n=c[x>>2]|0;Ta=n<<16>>16;s=Ta*1e3|0;do if(Ta){if((s|0)>(o|0)|(s|0)>(p|0)|(s|0)<(q|0)){n=(o|0)<(p|0)?o:p;n=(((n|0)>(q|0)?n:q)|0)/1e3|0;break}q=Ya+(C*10156|0)+24|0;o=c[q>>2]|0;if((o|0)>255)c[Ya+(C*10156|0)+28>>2]=0;if((t|0)==0?(c[B>>2]|0)==0:0)break;if((s|0)>(u|0)){p=Ya+(C*10156|0)+28|0;if(!(c[p>>2]|0)){c[q>>2]=256;o=Ya+(C*10156|0)+16|0;c[o>>2]=0;c[o+4>>2]=0;o=256}if(c[B>>2]|0){c[p>>2]=0;n=(n|0)==16?12:8;break}if((o|0)<1){c[F>>2]=1;Ta=c[Va>>2]|0;c[Va>>2]=Ta-((Ta*5|0)/((c[cb>>2]|0)+5|0)|0);break}else{c[p>>2]=-2;break}}if((s|0)>=(u|0)){o=Ya+(C*10156|0)+28|0;if((c[o>>2]|0)>=0)break;c[o>>2]=1;break}if(c[B>>2]|0){c[q>>2]=0;Ta=Ya+(C*10156|0)+16|0;c[Ta>>2]=0;c[Ta+4>>2]=0;c[Ya+(C*10156|0)+28>>2]=1;n=(n|0)==8?12:16;break}o=Ya+(C*10156|0)+28|0;if(!(c[o>>2]|0)){c[F>>2]=1;Ta=c[Va>>2]|0;c[Va>>2]=Ta-((Ta*5|0)/((c[cb>>2]|0)+5|0)|0);break}else{c[o>>2]=1;break}}else n=(((u|0)<(o|0)?u:o)|0)/1e3|0;while(0);t=(v|0)==0?n:v;u=Gd(w,t)|0;q=c[cb>>2]|0;s=Ya+(C*10156|0)+4704|0;if((c[s>>2]|0)==(q|0)){n=c[x>>2]|0;q=0}else{n=(q|0)==10;f:do if(!n){switch(q|0){case 60:case 40:case 20:{p=0;break}default:if((q|0)<11){p=-103;$a=70;break f}else p=-103}c[Ya+(C*10156|0)+5836>>2]=(q|0)/20|0;c[Ya+(C*10156|0)+4672>>2]=4;n=t<<16>>16;c[Ya+(C*10156|0)+4676>>2]=n*20;c[Ya+(C*10156|0)+4640>>2]=n*24;n=c[x>>2]|0;o=Ya+(C*10156|0)+4780|0;if((n|0)==8){c[o>>2]=30064;n=8;o=p;break}else{c[o>>2]=30030;o=p;break}}else{p=0;$a=70}while(0);do if(($a|0)==70){$a=0;c[Ya+(C*10156|0)+5836>>2]=1;c[Ya+(C*10156|0)+4672>>2]=n?2:1;n=t<<16>>16;c[Ya+(C*10156|0)+4676>>2]=_(q<<16>>16,n)|0;c[Ya+(C*10156|0)+4640>>2]=n*14;n=c[x>>2]|0;o=Ya+(C*10156|0)+4780|0;if((n|0)==8){c[o>>2]=30087;n=8;o=p;break}else{c[o>>2]=30075;o=p;break}}while(0);c[s>>2]=q;c[Ya+(C*10156|0)+4700>>2]=0;q=o}g:do if((n|0)!=(t|0)){n=Ya+(C*10156|0)+7260|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;o=Ya+(C*10156|0)+16|0;c[o>>2]=0;c[o+4>>2]=0;c[Ya+(C*10156|0)+5832>>2]=0;c[Ya+(C*10156|0)+5840>>2]=0;c[Ya+(C*10156|0)+4700>>2]=0;nf(Ya+(C*10156|0)+144|0,0,4480)|0;c[Ya+(C*10156|0)+4636>>2]=100;c[Ya+(C*10156|0)+4756>>2]=1;a[n>>0]=10;c[Ya+(C*10156|0)+4568>>2]=100;c[Ya+(C*10156|0)+4584>>2]=65536;a[Ya+(C*10156|0)+4633>>0]=0;c[x>>2]=t;n=c[Ya+(C*10156|0)+4672>>2]|0;o=(n|0)==4;p=Ya+(C*10156|0)+4780|0;h:do if((t|0)==8)if(o){c[p>>2]=30064;n=4;$a=86;break}else{c[p>>2]=30087;$a=86;break}else{if(o){c[p>>2]=30030;n=4}else c[p>>2]=30075;switch(t|0){case 8:case 12:{$a=86;break h}default:{}}c[Ya+(C*10156|0)+4732>>2]=16;c[Ya+(C*10156|0)+4784>>2]=22936}while(0);if(($a|0)==86){c[Ya+(C*10156|0)+4732>>2]=10;c[Ya+(C*10156|0)+4784>>2]=22896}c[Ya+(C*10156|0)+4680>>2]=t*5;c[Ya+(C*10156|0)+4676>>2]=_(t*327680>>16,n<<16>>16)|0;Ta=t<<16;$a=Ta>>16;c[Ya+(C*10156|0)+4684>>2]=$a*20;c[Ya+(C*10156|0)+4688>>2]=Ta>>15;c[Ya+(C*10156|0)+4644>>2]=$a*18;c[Ya+(C*10156|0)+4640>>2]=_($a,(n|0)==4?24:14)|0;switch(t|0){case 16:{c[Ya+(C*10156|0)+4776>>2]=29962;t=16;break g}case 12:{c[Ya+(C*10156|0)+4776>>2]=29956;t=12;break g}default:{c[Ya+(C*10156|0)+4776>>2]=29947;break g}}}while(0);n=u+q|0;s=c[bb>>2]|0;do if((s|0)>=1){if((s|0)<2){c[Ya+(C*10156|0)+4736>>2]=1;c[Ya+(C*10156|0)+4744>>2]=49807;o=Ya+(C*10156|0)+4740|0;c[o>>2]=8;c[Ya+(C*10156|0)+4728>>2]=14;q=t*5|0;c[Ya+(C*10156|0)+4692>>2]=q;c[Ya+(C*10156|0)+4720>>2]=1;c[Ya+(C*10156|0)+4724>>2]=0;c[Ya+(C*10156|0)+4752>>2]=3;c[Ya+(C*10156|0)+4764>>2]=0;p=8;break}if((s|0)<3){c[Ya+(C*10156|0)+4736>>2]=0;c[Ya+(C*10156|0)+4744>>2]=52429;o=Ya+(C*10156|0)+4740|0;c[o>>2]=6;c[Ya+(C*10156|0)+4728>>2]=12;q=t*3|0;c[Ya+(C*10156|0)+4692>>2]=q;c[Ya+(C*10156|0)+4720>>2]=2;c[Ya+(C*10156|0)+4724>>2]=0;c[Ya+(C*10156|0)+4752>>2]=2;c[Ya+(C*10156|0)+4764>>2]=0;p=6;break}if((s|0)<4){c[Ya+(C*10156|0)+4736>>2]=1;c[Ya+(C*10156|0)+4744>>2]=49807;o=Ya+(C*10156|0)+4740|0;c[o>>2]=8;c[Ya+(C*10156|0)+4728>>2]=14;q=t*5|0;c[Ya+(C*10156|0)+4692>>2]=q;c[Ya+(C*10156|0)+4720>>2]=2;c[Ya+(C*10156|0)+4724>>2]=0;c[Ya+(C*10156|0)+4752>>2]=4;c[Ya+(C*10156|0)+4764>>2]=0;p=8;break}if((s|0)<6){c[Ya+(C*10156|0)+4736>>2]=1;c[Ya+(C*10156|0)+4744>>2]=48497;o=Ya+(C*10156|0)+4740|0;c[o>>2]=10;c[Ya+(C*10156|0)+4728>>2]=16;q=t*5|0;c[Ya+(C*10156|0)+4692>>2]=q;c[Ya+(C*10156|0)+4720>>2]=2;c[Ya+(C*10156|0)+4724>>2]=1;c[Ya+(C*10156|0)+4752>>2]=6;c[Ya+(C*10156|0)+4764>>2]=t*983;p=10;break}o=Ya+(C*10156|0)+4736|0;if((s|0)<8){c[o>>2]=1;c[Ya+(C*10156|0)+4744>>2]=47186;o=Ya+(C*10156|0)+4740|0;c[o>>2]=12;c[Ya+(C*10156|0)+4728>>2]=20;q=t*5|0;c[Ya+(C*10156|0)+4692>>2]=q;c[Ya+(C*10156|0)+4720>>2]=3;c[Ya+(C*10156|0)+4724>>2]=1;c[Ya+(C*10156|0)+4752>>2]=8;c[Ya+(C*10156|0)+4764>>2]=t*983;p=12;break}else{c[o>>2]=2;c[Ya+(C*10156|0)+4744>>2]=45875;o=Ya+(C*10156|0)+4740|0;c[o>>2]=16;c[Ya+(C*10156|0)+4728>>2]=24;q=t*5|0;c[Ya+(C*10156|0)+4692>>2]=q;c[Ya+(C*10156|0)+4720>>2]=4;c[Ya+(C*10156|0)+4724>>2]=1;c[Ya+(C*10156|0)+4752>>2]=16;c[Ya+(C*10156|0)+4764>>2]=t*983;p=16;break}}else{c[Ya+(C*10156|0)+4736>>2]=0;c[Ya+(C*10156|0)+4744>>2]=52429;o=Ya+(C*10156|0)+4740|0;c[o>>2]=6;c[Ya+(C*10156|0)+4728>>2]=12;q=t*3|0;c[Ya+(C*10156|0)+4692>>2]=q;c[Ya+(C*10156|0)+4720>>2]=1;c[Ya+(C*10156|0)+4724>>2]=0;c[Ya+(C*10156|0)+4752>>2]=2;c[Ya+(C*10156|0)+4764>>2]=0;p=6}while(0);Ta=c[Ya+(C*10156|0)+4732>>2]|0;c[o>>2]=(p|0)<(Ta|0)?p:Ta;c[Ya+(C*10156|0)+4696>>2]=(t*5|0)+(q<<1);c[Ya+(C*10156|0)+4716>>2]=s;o=c[G>>2]|0;c[Ya+(C*10156|0)+4708>>2]=o;Ta=Ya+(C*10156|0)+6184|0;p=c[Ta>>2]|0;$a=c[A>>2]|0;c[Ta>>2]=$a;do if($a|0)if(!p){c[Ya+(C*10156|0)+6188>>2]=7;break}else{$a=7-(((o>>16)*26214|0)+(((o&65535)*26214|0)>>>16))|0;c[Ya+(C*10156|0)+6188>>2]=($a|0)>2?$a:2;break}while(0);c[y>>2]=1;$a=110}if(($a|0)==110?($a=0,n|0):0){$a=439;break}i:do if((c[Ya+(C*10156|0)+4756>>2]|0)!=0|E){o=0;while(1){if((o|0)>=(c[Wa>>2]|0))break i;c[Ya+(C*10156|0)+4816+(o<<2)>>2]=0;o=o+1|0}}while(0);c[Ya+(C*10156|0)+6172>>2]=c[z>>2];C=C+1|0;o=0}if(($a|0)==439){i=hb;return n|0}G=D*10|0;K=c[Xa>>2]|0;H=_(G,K)|0;I=f+4648|0;K=(_(H,c[I>>2]|0)|0)/(K*1e3|0)|0;Sa=Fa()|0;J=i;i=i+((1*(K<<1)|0)+15&-16)|0;K=f+4676|0;L=f+5832|0;Qa=f+20384|0;M=f+16024|0;N=f+5868|0;O=f+5188|0;P=f+14832|0;Q=f+15988|0;R=f+14824|0;S=f+15344|0;T=k+28|0;U=k+32|0;V=k+36|0;W=k+20|0;X=k+40|0;Y=k+24|0;Z=k+8|0;$=k+4|0;ba=k+44|0;ca=f+20346|0;da=f+14972|0;ea=f+20364|0;fa=f+20368|0;ga=f+4633|0;ha=f+4636|0;ia=f+4788|0;ja=f+8|0;ka=f+4624|0;la=g+28|0;ma=f+20372|0;na=f+20312|0;oa=f+5192|0;pa=f+15348|0;Ra=g+60|0;qa=f+20396|0;ra=f+17416|0;sa=f+10300|0;ta=f+10172|0;ua=f+14792|0;va=f+14724|0;wa=f+14789|0;xa=f+14740|0;ya=f+14912|0;za=f+10156|0;Aa=f+15346|0;Ba=f+14780|0;Ca=f+15013|0;Da=f+16332|0;Ea=f+16328|0;Ga=f+14968|0;Ha=f+5190|0;Ta=f+4857|0;Ia=f+6176|0;Ja=f+6172|0;Ka=fb+4|0;La=Za<<1;Ma=Za+-1|0;Oa=f+20388|0;Pa=f+20316|0;t=h;F=0;while(1){q=c[L>>2]|0;s=(c[K>>2]|0)-q|0;s=(s|0)<(H|0)?s:H;E=_(s,c[I>>2]|0)|0;E=(E|0)/((c[Xa>>2]|0)*1e3|0)|0;do if((c[g>>2]|0)==2)if((c[gb>>2]|0)==2){n=c[eb>>2]|0;p=0;while(1){if((p|0)>=(E|0))break;b[J+(p<<1)>>1]=b[t+(p<<1<<1)>>1]|0;p=p+1|0}if((c[Qa>>2]|0)==1&(n|0)==0)rf(M|0,N|0,300)|0;Id(N,O+(q+2<<1)|0,J,E);c[L>>2]=(c[L>>2]|0)+s;p=c[Q>>2]|0;q=(c[P>>2]|0)-p|0;n=_(G,c[R>>2]|0)|0;n=(q|0)<(n|0)?q:n;q=0;while(1){if((q|0)>=(E|0))break;b[J+(q<<1)>>1]=b[t+((q<<1|1)<<1)>>1]|0;q=q+1|0}Id(M,S+(p+2<<1)|0,J,E);c[Q>>2]=(c[Q>>2]|0)+n;n=c[L>>2]|0;break}else{if((c[gb>>2]|0)==1)n=0;else{$a=136;break}while(1){if((n|0)>=(E|0))break;h=n<<1;h=(b[t+(h<<1)>>1]|0)+(b[t+((h|1)<<1)>>1]|0)|0;b[J+(n<<1)>>1]=(h>>>1)+(h&1);n=n+1|0}Id(N,O+(q+2<<1)|0,J,E);j:do if((c[Qa>>2]|0)==2){if(c[eb>>2]|0)break;Id(M,S+((c[Q>>2]|0)+2<<1)|0,J,E);n=0;while(1){if((n|0)>=(c[K>>2]|0))break j;h=O+((c[L>>2]|0)+n+2<<1)|0;b[h>>1]=((b[h>>1]|0)+(b[S+((c[Q>>2]|0)+n+2<<1)>>1]|0)|0)>>>1;n=n+1|0}}while(0);n=(c[L>>2]|0)+s|0;c[L>>2]=n;break}else $a=136;while(0);if(($a|0)==136){$a=0;rf(J|0,t|0,E<<1|0)|0;Id(N,O+(q+2<<1)|0,J,E);n=(c[L>>2]|0)+s|0;c[L>>2]=n}C=t+((_(E,c[g>>2]|0)|0)<<1)|0;D=j-E|0;c[Ua>>2]=0;if((n|0)<(c[K>>2]|0)){n=0;break}if(!((c[eb>>2]|0)!=0|_a^1)){n=256>>>(_((c[Wa>>2]|0)+1|0,c[gb>>2]|0)|0);h=c[T>>2]|0;n=h-(_(h>>>8,0-n&255)|0)|0;c[T>>2]=n;while(1){if(n>>>0>=8388609){u=0;break}p=c[U>>2]|0;s=p>>>23;if((s|0)==255)c[V>>2]=(c[V>>2]|0)+1;else{q=p>>>31;n=c[X>>2]|0;if((n|0)>-1){p=c[Y>>2]|0;if((p+(c[Z>>2]|0)|0)>>>0<(c[$>>2]|0)>>>0){c[Y>>2]=p+1;a[(c[k>>2]|0)+p>>0]=n+q;n=0}else n=-1;c[ba>>2]=c[ba>>2]|n}n=c[V>>2]|0;if(n|0){q=q+255&255;do{p=c[Y>>2]|0;if((p+(c[Z>>2]|0)|0)>>>0<(c[$>>2]|0)>>>0){c[Y>>2]=p+1;a[(c[k>>2]|0)+p>>0]=q;p=0;n=c[V>>2]|0}else p=-1;c[ba>>2]=c[ba>>2]|p;n=n+-1|0;c[V>>2]=n}while((n|0)!=0)}c[X>>2]=s&255;p=c[U>>2]|0;n=c[T>>2]|0}c[U>>2]=p<<8&2147483392;n=n<<8;c[T>>2]=n;c[W>>2]=(c[W>>2]|0)+8}while(1){n=c[gb>>2]|0;if((u|0)>=(n|0)){B=0;break}p=c[Ya+(u*10156|0)+5836>>2]|0;t=0;n=0;while(1){if((n|0)>=(p|0))break;t=t|c[Ya+(u*10156|0)+4816+(n<<2)>>2]<>0]=(t|0)>0&1;k:do if((t|0)!=0&(p|0)>1){s=t+-1|0;n=c[17520+(p+-2<<2)>>2]|0;p=c[T>>2]|0;q=p>>>8;if((t|0)>1){h=n+(t+-2)|0;B=p-(_(q,d[h>>0]|0)|0)|0;c[U>>2]=(c[U>>2]|0)+B;n=_(q,(d[h>>0]|0)-(d[n+s>>0]|0)|0)|0}else n=p-(_(q,d[n+s>>0]|0)|0)|0;c[T>>2]=n;while(1){if(n>>>0>=8388609)break k;p=c[U>>2]|0;s=p>>>23;if((s|0)==255)c[V>>2]=(c[V>>2]|0)+1;else{q=p>>>31;n=c[X>>2]|0;if((n|0)>-1){p=c[Y>>2]|0;if((p+(c[Z>>2]|0)|0)>>>0<(c[$>>2]|0)>>>0){c[Y>>2]=p+1;a[(c[k>>2]|0)+p>>0]=n+q;n=0}else n=-1;c[ba>>2]=c[ba>>2]|n}n=c[V>>2]|0;if(n|0){q=q+255&255;do{p=c[Y>>2]|0;if((p+(c[Z>>2]|0)|0)>>>0<(c[$>>2]|0)>>>0){c[Y>>2]=p+1;a[(c[k>>2]|0)+p>>0]=q;p=0;n=c[V>>2]|0}else p=-1;c[ba>>2]=c[ba>>2]|p;n=n+-1|0;c[V>>2]=n}while((n|0)!=0)}c[X>>2]=s&255;p=c[U>>2]|0;n=c[T>>2]|0}c[U>>2]=p<<8&2147483392;n=n<<8;c[T>>2]=n;c[W>>2]=(c[W>>2]|0)+8}}while(0);u=u+1|0}while(1){if((B|0)>=(c[Wa>>2]|0)){p=0;break}v=ca+(B*6|0)+2|0;w=ca+(B*6|0)+5|0;x=da+(B<<2)|0;y=ea+B|0;z=(B|0)>0;A=B+-1|0;u=0;while(1){if((u|0)>=(n|0))break;if(c[Ya+(u*10156|0)+4816+(B<<2)>>2]|0){l:do if((n|0)==2&(u|0)==0){n=((a[v>>0]|0)*5|0)+(a[w>>0]|0)|0;p=c[T>>2]|0;q=p>>>8;if((n|0)>0){h=d[29891+(n+-1)>>0]|0;t=p-(_(q,h)|0)|0;c[U>>2]=(c[U>>2]|0)+t;n=_(q,h-(d[29891+n>>0]|0)|0)|0}else n=p-(_(q,d[29891+n>>0]|0)|0)|0;c[T>>2]=n;while(1){if(n>>>0>=8388609){t=0;break}p=c[U>>2]|0;s=p>>>23;if((s|0)==255)c[V>>2]=(c[V>>2]|0)+1;else{q=p>>>31;n=c[X>>2]|0;if((n|0)>-1){p=c[Y>>2]|0;if((p+(c[Z>>2]|0)|0)>>>0<(c[$>>2]|0)>>>0){c[Y>>2]=p+1;a[(c[k>>2]|0)+p>>0]=n+q;n=0}else n=-1;c[ba>>2]=c[ba>>2]|n}n=c[V>>2]|0;if(n|0){q=q+255&255;do{p=c[Y>>2]|0;if((p+(c[Z>>2]|0)|0)>>>0<(c[$>>2]|0)>>>0){c[Y>>2]=p+1;a[(c[k>>2]|0)+p>>0]=q;p=0;n=c[V>>2]|0}else p=-1;c[ba>>2]=c[ba>>2]|p;n=n+-1|0;c[V>>2]=n}while((n|0)!=0)}c[X>>2]=s&255;p=c[U>>2]|0;n=c[T>>2]|0}c[U>>2]=p<<8&2147483392;n=n<<8;c[T>>2]=n;c[W>>2]=(c[W>>2]|0)+8}while(1){if((t|0)==2)break;h=a[ca+(B*6|0)+(t*3|0)>>0]|0;p=h<<24>>24;q=n>>>8;if(h<<24>>24>0){h=d[29944+(p+-1)>>0]|0;n=n-(_(q,h)|0)|0;c[U>>2]=(c[U>>2]|0)+n;n=_(q,h-(d[29944+p>>0]|0)|0)|0}else n=n-(_(q,d[29944+p>>0]|0)|0)|0;c[T>>2]=n;while(1){if(n>>>0>=8388609)break;p=c[U>>2]|0;s=p>>>23;if((s|0)==255)c[V>>2]=(c[V>>2]|0)+1;else{q=p>>>31;n=c[X>>2]|0;if((n|0)>-1){p=c[Y>>2]|0;if((p+(c[Z>>2]|0)|0)>>>0<(c[$>>2]|0)>>>0){c[Y>>2]=p+1;a[(c[k>>2]|0)+p>>0]=n+q;n=0}else n=-1;c[ba>>2]=c[ba>>2]|n}n=c[V>>2]|0;if(n|0){q=q+255&255;do{p=c[Y>>2]|0;if((p+(c[Z>>2]|0)|0)>>>0<(c[$>>2]|0)>>>0){c[Y>>2]=p+1;a[(c[k>>2]|0)+p>>0]=q;p=0;n=c[V>>2]|0}else p=-1;c[ba>>2]=c[ba>>2]|p;n=n+-1|0;c[V>>2]=n}while((n|0)!=0)}c[X>>2]=s&255;p=c[U>>2]|0;n=c[T>>2]|0}c[U>>2]=p<<8&2147483392;n=n<<8;c[T>>2]=n;c[W>>2]=(c[W>>2]|0)+8}h=a[ca+(B*6|0)+(t*3|0)+1>>0]|0;p=h<<24>>24;q=n>>>8;if(h<<24>>24>0){h=d[29951+(p+-1)>>0]|0;n=n-(_(q,h)|0)|0;c[U>>2]=(c[U>>2]|0)+n;n=_(q,h-(d[29951+p>>0]|0)|0)|0}else n=n-(_(q,d[29951+p>>0]|0)|0)|0;c[T>>2]=n;while(1){if(n>>>0>=8388609)break;p=c[U>>2]|0;s=p>>>23;if((s|0)==255)c[V>>2]=(c[V>>2]|0)+1;else{q=p>>>31;n=c[X>>2]|0;if((n|0)>-1){p=c[Y>>2]|0;if((p+(c[Z>>2]|0)|0)>>>0<(c[$>>2]|0)>>>0){c[Y>>2]=p+1;a[(c[k>>2]|0)+p>>0]=n+q;n=0}else n=-1;c[ba>>2]=c[ba>>2]|n}n=c[V>>2]|0;if(n|0){q=q+255&255;do{p=c[Y>>2]|0;if((p+(c[Z>>2]|0)|0)>>>0<(c[$>>2]|0)>>>0){c[Y>>2]=p+1;a[(c[k>>2]|0)+p>>0]=q;p=0;n=c[V>>2]|0}else p=-1;c[ba>>2]=c[ba>>2]|p;n=n+-1|0;c[V>>2]=n}while((n|0)!=0)}c[X>>2]=s&255;p=c[U>>2]|0;n=c[T>>2]|0}c[U>>2]=p<<8&2147483392;n=n<<8;c[T>>2]=n;c[W>>2]=(c[W>>2]|0)+8}t=t+1|0}if(c[x>>2]|0)break;h=a[y>>0]|0;p=h<<24>>24;q=n>>>8;if(h<<24>>24>0){h=d[29916+(p+-1)>>0]|0;n=n-(_(q,h)|0)|0;c[U>>2]=(c[U>>2]|0)+n;n=_(q,h-(d[29916+p>>0]|0)|0)|0}else n=n-(_(q,d[29916+p>>0]|0)|0)|0;c[T>>2]=n;while(1){if(n>>>0>=8388609)break l;p=c[U>>2]|0;s=p>>>23;if((s|0)==255)c[V>>2]=(c[V>>2]|0)+1;else{q=p>>>31;p=c[X>>2]|0;if((p|0)>-1){n=c[Y>>2]|0;if((n+(c[Z>>2]|0)|0)>>>0<(c[$>>2]|0)>>>0){c[Y>>2]=n+1;a[(c[k>>2]|0)+n>>0]=p+q;n=0}else n=-1;c[ba>>2]=c[ba>>2]|n}n=c[V>>2]|0;if(n|0){q=q+255&255;do{p=c[Y>>2]|0;if((p+(c[Z>>2]|0)|0)>>>0<(c[$>>2]|0)>>>0){c[Y>>2]=p+1;a[(c[k>>2]|0)+p>>0]=q;p=0;n=c[V>>2]|0}else p=-1;c[ba>>2]=c[ba>>2]|p;n=n+-1|0;c[V>>2]=n}while((n|0)!=0)}c[X>>2]=s&255;p=c[U>>2]|0;n=c[T>>2]|0}c[U>>2]=p<<8&2147483392;n=n<<8;c[T>>2]=n;c[W>>2]=(c[W>>2]|0)+8}}while(0);if(z?(c[Ya+(u*10156|0)+4816+(A<<2)>>2]|0)!=0:0)n=2;else n=0;Ad(Ya+(u*10156|0)|0,k,B,1,n);Bd(k,a[Ya+(u*10156|0)+6192+(B*36|0)+29>>0]|0,a[Ya+(u*10156|0)+6192+(B*36|0)+30>>0]|0,Ya+(u*10156|0)+6300+(B*320|0)|0,c[Ya+(u*10156|0)+4676>>2]|0);n=c[gb>>2]|0}u=u+1|0}B=B+1|0}while(1){if((p|0)>=(n|0))break;n=Ya+(p*10156|0)+4816|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;n=c[gb>>2]|0;p=p+1|0}c[fa>>2]=(c[W>>2]|0)+((aa(c[T>>2]|0)|0)+-32)}if((a[ga>>0]|0)==2){n=_(c[Xa>>2]|0,65536e3)|0;n=(n|0)/(c[ha>>2]|0)|0;s=aa(n|0)|0;p=24-s|0;q=0-p|0;do if(p)if((p|0)<0){n=n< >>(p+32|0);break}else{n=n<<32-p|n>>>p;break}while(0);z=n&127;z=z+(((_(z,128-z|0)|0)*179|0)>>>16)+(31-s<<7)|0;B=c[ia>>2]|0;h=0-B<<2;B=B<<16>>16;A=_(h>>16,B)|0;B=_(h&65532,B)|0;h=(z<<16)+-183762944>>16;h=z+-2048+((_(A+(B>>16)>>16,h)|0)+((_(A+(B>>>16)&65535,h)|0)>>16))|0;B=c[ja>>2]|0;h=h-(B>>8)|0;h=(h|0)<0?h*3|0:h;h=_(c[ka>>2]<<16>>16,(h|0)>51?51:((h|0)<-51?-51:h)<<16>>16)|0;h=B+(((h>>16)*6554|0)+(((h&65535)*6554|0)>>>16))|0;c[ja>>2]=(h|0)>217856?217856:(h|0)<193536?193536:h}s=c[la>>2]|0;p=c[cb>>2]|0;n=(_(s,p)|0)/1e3|0;if(_a)n=n-(c[fa>>2]|0)|0;q=(n|0)/(c[Wa>>2]|0)|0;n=_(q<<16>>16,(p|0)==10?100:50)|0;n=n-(c[ma>>2]<<1)|0;do if(_a){p=c[eb>>2]|0;if((p|0)<=0)break;h=(c[W>>2]|0)+((aa(c[T>>2]|0)|0)+-32)|0;n=n-(h-(c[fa>>2]|0)-(_(q,p)|0)<<1)|0}while(0);do if((s|0)>5e3){if((n|0)>(s|0))break;s=(n|0)<5e3?5e3:n}else{if((n|0)>5e3){s=5e3;break}s=(n|0)<(s|0)?s:n}while(0);m:do if((c[gb>>2]|0)==2){n=c[eb>>2]|0;Dd(na,oa,pa,ca+(n*6|0)|0,ea+n|0,fb,s,c[ka>>2]|0,c[Ra>>2]|0,c[Xa>>2]|0,c[K>>2]|0);n=c[eb>>2]|0;do if(!(a[ea+n>>0]|0)){if((c[qa>>2]|0)==1){c[ra>>2]=0;c[ra+4>>2]=0;c[ra+8>>2]=0;h=ta;c[h>>2]=0;c[h+4>>2]=0;nf(sa|0,0,4480)|0;c[ua>>2]=100;c[va>>2]=100;a[ra>>0]=10;a[wa>>0]=0;c[xa>>2]=65536;c[ya>>2]=1}oe(za,Aa);if((c[Ba>>2]|0)>=13){c[Da>>2]=0;c[Ea>>2]=0;a[Ca>>0]=1;a[(c[db>>2]|0)+(za+4812)>>0]=1;break}a[Ca>>0]=0;n=c[Da>>2]|0;h=n+1|0;c[Da>>2]=h;do if((h|0)<10)c[Ea>>2]=0;else{if((n|0)<=29)break;c[Da>>2]=10;c[Ea>>2]=0}while(0);a[(c[db>>2]|0)+(za+4812)>>0]=0}else a[Ga+n>>0]=0;while(0);if(!_a)break;v=c[eb>>2]|0;n=((a[ca+(v*6|0)+2>>0]|0)*5|0)+(a[ca+(v*6|0)+5>>0]|0)|0;p=c[T>>2]|0;q=p>>>8;if((n|0)>0){h=d[29891+(n+-1)>>0]|0;B=p-(_(q,h)|0)|0;c[U>>2]=(c[U>>2]|0)+B;n=_(q,h-(d[29891+n>>0]|0)|0)|0}else n=p-(_(q,d[29891+n>>0]|0)|0)|0;c[T>>2]=n;while(1){if(n>>>0>=8388609){q=n;u=0;break}p=c[U>>2]|0;t=p>>>23;if((t|0)==255)c[V>>2]=(c[V>>2]|0)+1;else{q=p>>>31;n=c[X>>2]|0;if((n|0)>-1){p=c[Y>>2]|0;if((p+(c[Z>>2]|0)|0)>>>0<(c[$>>2]|0)>>>0){c[Y>>2]=p+1;a[(c[k>>2]|0)+p>>0]=n+q;n=0}else n=-1;c[ba>>2]=c[ba>>2]|n}n=c[V>>2]|0;if(n|0){q=q+255&255;do{p=c[Y>>2]|0;if((p+(c[Z>>2]|0)|0)>>>0<(c[$>>2]|0)>>>0){c[Y>>2]=p+1;a[(c[k>>2]|0)+p>>0]=q;p=0;n=c[V>>2]|0}else p=-1;c[ba>>2]=c[ba>>2]|p;n=n+-1|0;c[V>>2]=n}while((n|0)!=0)}c[X>>2]=t&255;p=c[U>>2]|0;n=c[T>>2]|0}c[U>>2]=p<<8&2147483392;n=n<<8;c[T>>2]=n;c[W>>2]=(c[W>>2]|0)+8}while(1){if((u|0)==2)break;h=a[ca+(v*6|0)+(u*3|0)>>0]|0;n=h<<24>>24;p=q>>>8;if(h<<24>>24>0){h=d[29944+(n+-1)>>0]|0;B=q-(_(p,h)|0)|0;c[U>>2]=(c[U>>2]|0)+B;n=_(p,h-(d[29944+n>>0]|0)|0)|0}else n=q-(_(p,d[29944+n>>0]|0)|0)|0;c[T>>2]=n;while(1){if(n>>>0>=8388609)break;p=c[U>>2]|0;t=p>>>23;if((t|0)==255)c[V>>2]=(c[V>>2]|0)+1;else{q=p>>>31;n=c[X>>2]|0;if((n|0)>-1){p=c[Y>>2]|0;if((p+(c[Z>>2]|0)|0)>>>0<(c[$>>2]|0)>>>0){c[Y>>2]=p+1;a[(c[k>>2]|0)+p>>0]=n+q;n=0}else n=-1;c[ba>>2]=c[ba>>2]|n}n=c[V>>2]|0;if(n|0){q=q+255&255;do{p=c[Y>>2]|0;if((p+(c[Z>>2]|0)|0)>>>0<(c[$>>2]|0)>>>0){c[Y>>2]=p+1;a[(c[k>>2]|0)+p>>0]=q;p=0;n=c[V>>2]|0}else p=-1;c[ba>>2]=c[ba>>2]|p;n=n+-1|0;c[V>>2]=n}while((n|0)!=0)}c[X>>2]=t&255;p=c[U>>2]|0;n=c[T>>2]|0}c[U>>2]=p<<8&2147483392;n=n<<8;c[T>>2]=n;c[W>>2]=(c[W>>2]|0)+8}h=a[ca+(v*6|0)+(u*3|0)+1>>0]|0;p=h<<24>>24;q=n>>>8;if(h<<24>>24>0){h=d[29951+(p+-1)>>0]|0;n=n-(_(q,h)|0)|0;c[U>>2]=(c[U>>2]|0)+n;n=_(q,h-(d[29951+p>>0]|0)|0)|0}else n=n-(_(q,d[29951+p>>0]|0)|0)|0;c[T>>2]=n;while(1){if(n>>>0>=8388609)break;p=c[U>>2]|0;t=p>>>23;if((t|0)==255)c[V>>2]=(c[V>>2]|0)+1;else{q=p>>>31;n=c[X>>2]|0;if((n|0)>-1){p=c[Y>>2]|0;if((p+(c[Z>>2]|0)|0)>>>0<(c[$>>2]|0)>>>0){c[Y>>2]=p+1;a[(c[k>>2]|0)+p>>0]=n+q;n=0}else n=-1;c[ba>>2]=c[ba>>2]|n}n=c[V>>2]|0;if(n|0){q=q+255&255;do{p=c[Y>>2]|0;if((p+(c[Z>>2]|0)|0)>>>0<(c[$>>2]|0)>>>0){c[Y>>2]=p+1;a[(c[k>>2]|0)+p>>0]=q;p=0;n=c[V>>2]|0}else p=-1;c[ba>>2]=c[ba>>2]|p;n=n+-1|0;c[V>>2]=n}while((n|0)!=0)}c[X>>2]=t&255;p=c[U>>2]|0;n=c[T>>2]|0}c[U>>2]=p<<8&2147483392;n=n<<8;c[T>>2]=n;c[W>>2]=(c[W>>2]|0)+8}q=n;u=u+1|0}n=c[eb>>2]|0;if(a[Ga+n>>0]|0)break;h=a[ea+n>>0]|0;n=h<<24>>24;p=q>>>8;if(h<<24>>24>0){h=d[29916+(n+-1)>>0]|0;B=q-(_(p,h)|0)|0;c[U>>2]=(c[U>>2]|0)+B;n=_(p,h-(d[29916+n>>0]|0)|0)|0}else n=q-(_(p,d[29916+n>>0]|0)|0)|0;c[T>>2]=n;while(1){if(n>>>0>=8388609)break m;p=c[U>>2]|0;t=p>>>23;if((t|0)==255)c[V>>2]=(c[V>>2]|0)+1;else{q=p>>>31;n=c[X>>2]|0;if((n|0)>-1){p=c[Y>>2]|0;if((p+(c[Z>>2]|0)|0)>>>0<(c[$>>2]|0)>>>0){c[Y>>2]=p+1;a[(c[k>>2]|0)+p>>0]=n+q;n=0}else n=-1;c[ba>>2]=c[ba>>2]|n}n=c[V>>2]|0;if(n|0){q=q+255&255;do{p=c[Y>>2]|0;if((p+(c[Z>>2]|0)|0)>>>0<(c[$>>2]|0)>>>0){c[Y>>2]=p+1;a[(c[k>>2]|0)+p>>0]=q;p=0;n=c[V>>2]|0}else p=-1;c[ba>>2]=c[ba>>2]|p;n=n+-1|0;c[V>>2]=n}while((n|0)!=0)}c[X>>2]=t&255;p=c[U>>2]|0;n=c[T>>2]|0}c[U>>2]=p<<8&2147483392;n=n<<8;c[T>>2]=n;c[W>>2]=(c[W>>2]|0)+8}}else{c[O>>2]=c[Pa>>2];h=O+(c[K>>2]<<1)|0;h=e[h>>1]|e[h+2>>1]<<16;b[Pa>>1]=h;b[Pa+2>>1]=h>>>16}while(0);oe(f,Ha);if((c[ka>>2]|0)<13){a[Ta>>0]=0;n=c[Ia>>2]|0;h=n+1|0;c[Ia>>2]=h;do if((h|0)<10)c[Ja>>2]=0;else{if((n|0)<=29)break;c[Ia>>2]=10;c[Ja>>2]=0}while(0);a[(c[eb>>2]|0)+(f+4812)>>0]=0}else{c[Ia>>2]=0;c[Ja>>2]=0;a[Ta>>0]=1;a[(c[eb>>2]|0)+(f+4812)>>0]=1}v=(F|0)==0;w=c[Ka>>2]|0;x=(F|0)==(Ma|0);y=(F|0)==1;z=0;while(1){n=c[gb>>2]|0;if((z|0)>=(n|0))break;p=c[Va>>2]|0;n:do switch(Za|0){case 2:{if(!v){q=p;break n}q=(p*3|0)/5|0;break}case 3:{if(v){q=(p<<1|0)/5|0;break n}if(!y){q=p;break n}q=(p*3|0)/4|0;break}default:q=p}while(0);t=x&(c[ab>>2]|0)!=0&1;do if((n|0)==1){n=s;u=t}else{n=c[fb+(z<<2)>>2]|0;if((z|0)!=0|(w|0)<1){u=t;break}q=q-((p|0)/(La|0)|0)|0;u=0}while(0);if((n|0)>0){o=(n|0)>8e4?8e4:(n|0)<5e3?5e3:n;n=Ya+(z*10156|0)+4700|0;o:do if((o|0)!=(c[n>>2]|0)){c[n>>2]=o;t=c[Ya+(z*10156|0)+4668>>2]|0;t=(t|0)==8?17424:(t|0)==12?17456:17488;n=(c[Ya+(z*10156|0)+4672>>2]|0)==2?o+-2200|0:o;p=1;while(1){if((p|0)>=8)break o;o=c[t+(p<<2)>>2]|0;if((n|0)<=(o|0))break;p=p+1|0}h=p+-1|0;B=c[t+(h<<2)>>2]|0;h=b[25356+(h<<1)>>1]|0;c[Ya+(z*10156|0)+4808>>2]=(h<<6)+(_((n-B<<6|0)/(o-B|0)|0,(b[25356+(p<<1)>>1]|0)-h|0)|0)}while(0);do if((c[eb>>2]|0)>(z|0)){if((z|0)>0?c[qa>>2]|0:0){n=1;break}n=2}else n=0;while(0);o=Qd(Ya+(z*10156|0)|0,l,k,n,q,u)|0}c[Ya+(z*10156|0)+4760>>2]=0;c[Ya+(z*10156|0)+5832>>2]=0;h=Ya+(z*10156|0)+5840|0;c[h>>2]=(c[h>>2]|0)+1;z=z+1|0}q=c[eb>>2]|0;c[qa>>2]=a[ea+(q+-1)>>0];do if((c[l>>2]|0)>0){if((q|0)!=(c[Wa>>2]|0))break;s=c[gb>>2]|0;v=0;u=0;while(1){if((u|0)>=(s|0))break;t=c[Ya+(u*10156|0)+5836>>2]|0;n=v;p=0;while(1){n=n<<1;if((p|0)>=(t|0))break;n=n|a[Ya+(u*10156|0)+4812+p>>0];p=p+1|0}v=n|a[Ya+(u*10156|0)+4815>>0];u=u+1|0}do if(_a){n=_(q+1|0,s)|0;p=8-n|0;q=(1<>2]|0){h=c[k>>2]|0;a[h>>0]=d[h>>0]&(q^255)|v< >2]|0;if((s|0)>-1){c[X>>2]=s&~q|v<
>2]|0)>>>0>-2147483648>>>n>>>0){c[ba>>2]=-1;break}else{c[U>>2]=c[U>>2]&~(q<<23)|v<
>2]|0){if((c[gb>>2]|0)!=1?(c[Ea>>2]|0)==0:0)break;c[l>>2]=0}while(0);n=(c[ma>>2]|0)+(c[l>>2]<<3)|0;c[ma>>2]=n;n=n-((_(c[la>>2]|0,c[cb>>2]|0)|0)/1e3|0)|0;c[ma>>2]=(n|0)>1e4?1e4:(n|0)<0?0:n;n=c[Oa>>2]|0;if((c[ka>>2]|0)<(((n<<16>>16)*3188>>16)+13|0)){c[Ua>>2]=1;c[Oa>>2]=0;break}else{c[Ua>>2]=0;c[Oa>>2]=n+(c[cb>>2]|0);break}}while(0);if((j|0)==(E|0)){$a=428;break}t=C;j=D;F=F+1|0}if(($a|0)==428)n=c[Ua>>2]|0;c[Qa>>2]=c[gb>>2];c[g+76>>2]=n;if((c[Xa>>2]|0)==16)n=(c[f+28>>2]|0)==0;else n=0;c[g+80>>2]=n&1;c[g+72>>2]=(c[Xa>>2]<<16>>16)*1e3;if(!(c[Ra>>2]|0))n=b[f+20340>>1]|0;else n=0;c[g+84>>2]=n;p:do if(!_a){c[cb>>2]=r;c[bb>>2]=m;n=0;while(1){if((n|0)>=(c[gb>>2]|0))break p;c[Ya+(n*10156|0)+4760>>2]=0;c[Ya+(n*10156|0)+4772>>2]=0;n=n+1|0}}while(0);c[g+92>>2]=a[Ta>>0];c[g+96>>2]=b[25404+(a[Ta>>0]>>1<<2)+(a[f+4858>>0]<<1)>>1];Na(Sa|0);f=o;i=hb;return f|0}function Ad(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+48|0;x=F;v=F+32|0;C=(h|0)==0;E=C?e+4828|0:e+6192+(g*36|0)|0;D=E+29|0;l=(a[D>>0]<<1)+(a[E+30>>0]|0)|0;a:do if((l|0)>1|C^1){g=l+-2|0;u=f+28|0;h=c[u>>2]|0;k=h>>>8;if((l|0)>2){C=d[29933+(l+-3)>>0]|0;B=h-(_(k,C)|0)|0;m=f+32|0;c[m>>2]=(c[m>>2]|0)+B;g=_(k,C-(d[29933+g>>0]|0)|0)|0;c[u>>2]=g}else{g=h-(_(k,d[29933+g>>0]|0)|0)|0;c[u>>2]=g;m=f+32|0}n=f+36|0;o=f+20|0;p=f+40|0;q=f+24|0;r=f+8|0;s=f+4|0;t=f+44|0;while(1){if(g>>>0>=8388609){l=g;break a}h=c[m>>2]|0;l=h>>>23;if((l|0)==255)c[n>>2]=(c[n>>2]|0)+1;else{k=h>>>31;g=c[p>>2]|0;if((g|0)>-1){h=c[q>>2]|0;if((h+(c[r>>2]|0)|0)>>>0<(c[s>>2]|0)>>>0){c[q>>2]=h+1;a[(c[f>>2]|0)+h>>0]=g+k;g=0}else g=-1;c[t>>2]=c[t>>2]|g}g=c[n>>2]|0;if(g|0){k=k+255&255;do{h=c[q>>2]|0;if((h+(c[r>>2]|0)|0)>>>0<(c[s>>2]|0)>>>0){c[q>>2]=h+1;a[(c[f>>2]|0)+h>>0]=k;h=0;g=c[n>>2]|0}else h=-1;c[t>>2]=c[t>>2]|h;g=g+-1|0;c[n>>2]=g}while((g|0)!=0)}c[p>>2]=l&255;h=c[m>>2]|0;g=c[u>>2]|0}c[m>>2]=h<<8&2147483392;g=g<<8;c[u>>2]=g;c[o>>2]=(c[o>>2]|0)+8}}else{u=f+28|0;g=c[u>>2]|0;h=g>>>8;if((l|0)>0){C=d[29937+(l+-1)>>0]|0;g=g-(_(h,C)|0)|0;m=f+32|0;c[m>>2]=(c[m>>2]|0)+g;g=_(h,C-(d[29937+l>>0]|0)|0)|0;c[u>>2]=g}else{g=g-(_(h,d[29937+l>>0]|0)|0)|0;c[u>>2]=g;m=f+32|0}n=f+36|0;o=f+20|0;p=f+40|0;q=f+24|0;r=f+8|0;s=f+4|0;t=f+44|0;while(1){if(g>>>0>=8388609){l=g;break a}h=c[m>>2]|0;l=h>>>23;if((l|0)==255)c[n>>2]=(c[n>>2]|0)+1;else{k=h>>>31;g=c[p>>2]|0;if((g|0)>-1){h=c[q>>2]|0;if((h+(c[r>>2]|0)|0)>>>0<(c[s>>2]|0)>>>0){c[q>>2]=h+1;a[(c[f>>2]|0)+h>>0]=g+k;g=0}else g=-1;c[t>>2]=c[t>>2]|g}g=c[n>>2]|0;if(g|0){k=k+255&255;do{h=c[q>>2]|0;if((h+(c[r>>2]|0)|0)>>>0<(c[s>>2]|0)>>>0){c[q>>2]=h+1;a[(c[f>>2]|0)+h>>0]=k;h=0;g=c[n>>2]|0}else h=-1;c[t>>2]=c[t>>2]|h;g=g+-1|0;c[n>>2]=g}while((g|0)!=0)}c[p>>2]=l&255;h=c[m>>2]|0;g=c[u>>2]|0}c[m>>2]=h<<8&2147483392;g=g<<8;c[u>>2]=g;c[o>>2]=(c[o>>2]|0)+8}}while(0);w=(j|0)==2;g=a[E>>0]|0;h=g<<24>>24;b:do if(w){p=f+28|0;k=l>>>8;if(g<<24>>24>0){g=d[29396+(h+-1)>>0]|0;C=l-(_(k,g)|0)|0;m=f+32|0;c[m>>2]=(c[m>>2]|0)+C;g=_(k,g-(d[29396+h>>0]|0)|0)|0;c[p>>2]=g}else{g=l-(_(k,d[29396+h>>0]|0)|0)|0;c[p>>2]=g;m=f+32|0}n=f+36|0;o=f+20|0;q=f+40|0;r=f+24|0;s=f+8|0;t=f+4|0;u=f+44|0;while(1){if(g>>>0>=8388609){C=m;B=n;A=t;break b}h=c[m>>2]|0;l=h>>>23;if((l|0)==255)c[n>>2]=(c[n>>2]|0)+1;else{k=h>>>31;g=c[q>>2]|0;if((g|0)>-1){h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[t>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=g+k;g=0}else g=-1;c[u>>2]=c[u>>2]|g}g=c[n>>2]|0;if(g|0){k=k+255&255;do{h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[t>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=k;h=0;g=c[n>>2]|0}else h=-1;c[u>>2]=c[u>>2]|h;g=g+-1|0;c[n>>2]=g}while((g|0)!=0)}c[q>>2]=l&255;h=c[m>>2]|0;g=c[p>>2]|0}c[m>>2]=h<<8&2147483392;g=g<<8;c[p>>2]=g;c[o>>2]=(c[o>>2]|0)+8}}else{g=h>>3;h=a[D>>0]|0;p=f+28|0;k=l>>>8;if((g|0)>0){C=d[g+-1+(29372+(h<<3))>>0]|0;B=l-(_(k,C)|0)|0;m=f+32|0;c[m>>2]=(c[m>>2]|0)+B;g=_(k,C-(d[29372+(h<<3)+g>>0]|0)|0)|0;c[p>>2]=g}else{g=l-(_(k,d[29372+(h<<3)+g>>0]|0)|0)|0;c[p>>2]=g;m=f+32|0}n=f+36|0;o=f+20|0;q=f+40|0;r=f+24|0;s=f+8|0;t=f+4|0;u=f+44|0;while(1){if(g>>>0>=8388609)break;h=c[m>>2]|0;l=h>>>23;if((l|0)==255)c[n>>2]=(c[n>>2]|0)+1;else{k=h>>>31;g=c[q>>2]|0;if((g|0)>-1){h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[t>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=g+k;g=0}else g=-1;c[u>>2]=c[u>>2]|g}g=c[n>>2]|0;if(g|0){k=k+255&255;do{h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[t>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=k;h=0;g=c[n>>2]|0}else h=-1;c[u>>2]=c[u>>2]|h;g=g+-1|0;c[n>>2]=g}while((g|0)!=0)}c[q>>2]=l&255;h=c[m>>2]|0;g=c[p>>2]|0}c[m>>2]=h<<8&2147483392;g=g<<8;c[p>>2]=g;c[o>>2]=(c[o>>2]|0)+8}h=d[E>>0]&7;k=g>>>8;l=a[29962+h>>0]|0;if(!h)g=g-(_(k,l&255)|0)|0;else{C=d[29962+(h+-1)>>0]|0;g=g-(_(k,C)|0)|0;c[m>>2]=(c[m>>2]|0)+g;g=_(k,C-(l&255)|0)|0}c[p>>2]=g;while(1){if(g>>>0>=8388609){C=m;B=n;A=t;break b}h=c[m>>2]|0;l=h>>>23;if((l|0)==255)c[n>>2]=(c[n>>2]|0)+1;else{k=h>>>31;g=c[q>>2]|0;if((g|0)>-1){h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[t>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=g+k;g=0}else g=-1;c[u>>2]=c[u>>2]|g}g=c[n>>2]|0;if(g|0){k=k+255&255;do{h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[t>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=k;h=0;g=c[n>>2]|0}else h=-1;c[u>>2]=c[u>>2]|h;g=g+-1|0;c[n>>2]=g}while((g|0)!=0)}c[q>>2]=l&255;h=c[m>>2]|0;g=c[p>>2]|0}c[m>>2]=h<<8&2147483392;g=g<<8;c[p>>2]=g;c[o>>2]=(c[o>>2]|0)+8}}while(0);y=e+4672|0;m=1;while(1){if((m|0)>=(c[y>>2]|0))break;t=a[E+m>>0]|0;h=t<<24>>24;k=g>>>8;if(t<<24>>24>0){t=d[29396+(h+-1)>>0]|0;g=g-(_(k,t)|0)|0;c[C>>2]=(c[C>>2]|0)+g;g=_(k,t-(d[29396+h>>0]|0)|0)|0}else g=g-(_(k,d[29396+h>>0]|0)|0)|0;c[p>>2]=g;while(1){if(g>>>0>=8388609)break;h=c[C>>2]|0;l=h>>>23;if((l|0)==255)c[B>>2]=(c[B>>2]|0)+1;else{k=h>>>31;g=c[q>>2]|0;if((g|0)>-1){h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=g+k;g=0}else g=-1;c[u>>2]=c[u>>2]|g}g=c[B>>2]|0;if(g|0){k=k+255&255;do{h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=k;h=0;g=c[B>>2]|0}else h=-1;c[u>>2]=c[u>>2]|h;g=g+-1|0;c[B>>2]=g}while((g|0)!=0)}c[q>>2]=l&255;h=c[C>>2]|0;g=c[p>>2]|0}c[C>>2]=h<<8&2147483392;g=g<<8;c[p>>2]=g;c[o>>2]=(c[o>>2]|0)+8}m=m+1|0}m=E+8|0;n=a[m>>0]|0;h=n<<24>>24;t=e+4784|0;l=c[t>>2]|0;k=_(a[D>>0]>>1,b[l>>1]|0)|0;k=(c[l+16>>2]|0)+k|0;l=g>>>8;if(n<<24>>24>0){n=k+(h+-1)|0;g=g-(_(l,d[n>>0]|0)|0)|0;c[C>>2]=(c[C>>2]|0)+g;g=_(l,(d[n>>0]|0)-(d[k+h>>0]|0)|0)|0}else g=g-(_(l,d[k+h>>0]|0)|0)|0;c[p>>2]=g;while(1){if(g>>>0>=8388609)break;h=c[C>>2]|0;l=h>>>23;if((l|0)==255)c[B>>2]=(c[B>>2]|0)+1;else{k=h>>>31;g=c[q>>2]|0;if((g|0)>-1){h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=g+k;g=0}else g=-1;c[u>>2]=c[u>>2]|g}g=c[B>>2]|0;if(g|0){k=k+255&255;do{h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=k;h=0;g=c[B>>2]|0}else h=-1;c[u>>2]=c[u>>2]|h;g=g+-1|0;c[B>>2]=g}while((g|0)!=0)}c[q>>2]=l&255;h=c[C>>2]|0;g=c[p>>2]|0}c[C>>2]=h<<8&2147483392;g=g<<8;c[p>>2]=g;c[o>>2]=(c[o>>2]|0)+8}Cd(x,v,c[t>>2]|0,a[m>>0]|0);k=0;c:while(1){g=c[t>>2]|0;if((k|0)>=(b[g+2>>1]|0))break;n=k+1|0;m=E+8+n|0;h=a[m>>0]|0;if(h<<24>>24>3){g=(c[g+28>>2]|0)+(b[x+(k<<1)>>1]|0)|0;h=c[p>>2]|0;l=h>>>8;v=g+7|0;h=h-(_(l,d[v>>0]|0)|0)|0;h=(c[C>>2]|0)+h|0;c[C>>2]=h;g=_(l,(d[v>>0]|0)-(d[g+8>>0]|0)|0)|0;c[p>>2]=g;while(1){if(g>>>0>=8388609)break;l=h>>>23;if((l|0)==255)c[B>>2]=(c[B>>2]|0)+1;else{k=h>>>31;g=c[q>>2]|0;if((g|0)>-1){h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=g+k;g=0}else g=-1;c[u>>2]=c[u>>2]|g}g=c[B>>2]|0;if(g|0){k=k+255&255;do{h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=k;h=0;g=c[B>>2]|0}else h=-1;c[u>>2]=c[u>>2]|h;g=g+-1|0;c[B>>2]=g}while((g|0)!=0)}c[q>>2]=l&255;h=c[C>>2]|0;g=c[p>>2]|0}h=h<<8&2147483392;c[C>>2]=h;g=g<<8;c[p>>2]=g;c[o>>2]=(c[o>>2]|0)+8}v=a[m>>0]|0;k=v<<24>>24;l=k+-4|0;m=g>>>8;if(v<<24>>24>4){v=d[29970+(k+-5)>>0]|0;h=h+(g-(_(m,v)|0))|0;c[C>>2]=h;g=_(m,v-(d[29970+l>>0]|0)|0)|0}else g=g-(_(m,d[29970+l>>0]|0)|0)|0;c[p>>2]=g;while(1){if(g>>>0>=8388609){k=n;continue c}l=h>>>23;if((l|0)==255)c[B>>2]=(c[B>>2]|0)+1;else{k=h>>>31;g=c[q>>2]|0;if((g|0)>-1){h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=g+k;g=0}else g=-1;c[u>>2]=c[u>>2]|g}g=c[B>>2]|0;if(g|0){k=k+255&255;do{h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=k;h=0;g=c[B>>2]|0}else h=-1;c[u>>2]=c[u>>2]|h;g=g+-1|0;c[B>>2]=g}while((g|0)!=0)}c[q>>2]=l&255;h=c[C>>2]|0;g=c[p>>2]|0}h=h<<8&2147483392;c[C>>2]=h;g=g<<8;c[p>>2]=g;c[o>>2]=(c[o>>2]|0)+8}}if(h<<24>>24>=-3){v=h<<24>>24;g=(c[g+28>>2]|0)+(b[x+(k<<1)>>1]|0)|0;k=c[p>>2]|0;l=k>>>8;m=g+(v+3)|0;k=k-(_(l,d[m>>0]|0)|0)|0;c[C>>2]=(c[C>>2]|0)+k;g=_(l,(d[m>>0]|0)-(d[g+(v+4)>>0]|0)|0)|0;c[p>>2]=g;while(1){if(g>>>0>=8388609){k=n;continue c}h=c[C>>2]|0;l=h>>>23;if((l|0)==255)c[B>>2]=(c[B>>2]|0)+1;else{k=h>>>31;g=c[q>>2]|0;if((g|0)>-1){h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=g+k;g=0}else g=-1;c[u>>2]=c[u>>2]|g}g=c[B>>2]|0;if(g|0){k=k+255&255;do{h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=k;h=0;g=c[B>>2]|0}else h=-1;c[u>>2]=c[u>>2]|h;g=g+-1|0;c[B>>2]=g}while((g|0)!=0)}c[q>>2]=l&255;h=c[C>>2]|0;g=c[p>>2]|0}c[C>>2]=h<<8&2147483392;g=g<<8;c[p>>2]=g;c[o>>2]=(c[o>>2]|0)+8}}v=c[p>>2]|0;g=v-(_(v>>>8,d[(c[g+28>>2]|0)+(b[x+(k<<1)>>1]|0)>>0]|0)|0)|0;c[p>>2]=g;while(1){if(g>>>0>=8388609)break;h=c[C>>2]|0;l=h>>>23;if((l|0)==255)c[B>>2]=(c[B>>2]|0)+1;else{k=h>>>31;g=c[q>>2]|0;if((g|0)>-1){h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=g+k;g=0}else g=-1;c[u>>2]=c[u>>2]|g}g=c[B>>2]|0;if(g|0){k=k+255&255;do{h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=k;h=0;g=c[B>>2]|0}else h=-1;c[u>>2]=c[u>>2]|h;g=g+-1|0;c[B>>2]=g}while((g|0)!=0)}c[q>>2]=l&255;h=c[C>>2]|0;g=c[p>>2]|0}c[C>>2]=h<<8&2147483392;g=g<<8;c[p>>2]=g;c[o>>2]=(c[o>>2]|0)+8}h=-4-(a[m>>0]|0)|0;k=g>>>8;if((h|0)>0){v=d[29970+(h+-1)>>0]|0;g=g-(_(k,v)|0)|0;c[C>>2]=(c[C>>2]|0)+g;g=_(k,v-(d[29970+h>>0]|0)|0)|0}else g=g-(_(k,d[29970+h>>0]|0)|0)|0;c[p>>2]=g;while(1){if(g>>>0>=8388609){k=n;continue c}h=c[C>>2]|0;l=h>>>23;if((l|0)==255)c[B>>2]=(c[B>>2]|0)+1;else{k=h>>>31;g=c[q>>2]|0;if((g|0)>-1){h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=g+k;g=0}else g=-1;c[u>>2]=c[u>>2]|g}g=c[B>>2]|0;if(g|0){k=k+255&255;do{h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=k;h=0;g=c[B>>2]|0}else h=-1;c[u>>2]=c[u>>2]|h;g=g+-1|0;c[B>>2]=g}while((g|0)!=0)}c[q>>2]=l&255;h=c[C>>2]|0;g=c[p>>2]|0}c[C>>2]=h<<8&2147483392;g=g<<8;c[p>>2]=g;c[o>>2]=(c[o>>2]|0)+8}}d:do if((c[y>>2]|0)==4){x=a[E+31>>0]|0;g=x<<24>>24;h=c[p>>2]|0;k=h>>>8;if(x<<24>>24>0){x=d[29939+(g+-1)>>0]|0;v=h-(_(k,x)|0)|0;c[C>>2]=(c[C>>2]|0)+v;g=_(k,x-(d[29939+g>>0]|0)|0)|0}else g=h-(_(k,d[29939+g>>0]|0)|0)|0;c[p>>2]=g;while(1){if(g>>>0>=8388609)break d;h=c[C>>2]|0;l=h>>>23;if((l|0)==255)c[B>>2]=(c[B>>2]|0)+1;else{k=h>>>31;g=c[q>>2]|0;if((g|0)>-1){h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=g+k;g=0}else g=-1;c[u>>2]=c[u>>2]|g}g=c[B>>2]|0;if(g|0){k=k+255&255;do{h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=k;h=0;g=c[B>>2]|0}else h=-1;c[u>>2]=c[u>>2]|h;g=g+-1|0;c[B>>2]=g}while((g|0)!=0)}c[q>>2]=l&255;h=c[C>>2]|0;g=c[p>>2]|0}c[C>>2]=h<<8&2147483392;g=g<<8;c[p>>2]=g;c[o>>2]=(c[o>>2]|0)+8}}while(0);e:do if((a[D>>0]|0)==2){if(w?(c[e+5860>>2]|0)==2:0){h=E+26|0;g=e+5864|0;k=(b[h>>1]|0)-(b[g>>1]|0)|0;if((k+8|0)>>>0<=19){n=k+9|0;l=c[p>>2]|0;m=l>>>8;if((k|0)>-9){k=d[30009+(k+8)>>0]|0;t=l-(_(m,k)|0)|0;c[C>>2]=(c[C>>2]|0)+t;t=0;k=_(m,k-(d[30009+n>>0]|0)|0)|0}else{k=0;z=243}}else{l=c[p>>2]|0;m=l>>>8;n=0;k=1;z=243}if((z|0)==243){t=k;k=l-(_(m,d[30009+n>>0]|0)|0)|0}c[p>>2]=k;while(1){if(k>>>0>=8388609)break;l=c[C>>2]|0;n=l>>>23;if((n|0)==255)c[B>>2]=(c[B>>2]|0)+1;else{m=l>>>31;k=c[q>>2]|0;if((k|0)>-1){l=c[r>>2]|0;if((l+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=l+1;a[(c[f>>2]|0)+l>>0]=k+m;k=0}else k=-1;c[u>>2]=c[u>>2]|k}k=c[B>>2]|0;if(k|0){m=m+255&255;do{l=c[r>>2]|0;if((l+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=l+1;a[(c[f>>2]|0)+l>>0]=m;l=0;k=c[B>>2]|0}else l=-1;c[u>>2]=c[u>>2]|l;k=k+-1|0;c[B>>2]=k}while((k|0)!=0)}c[q>>2]=n&255;l=c[C>>2]|0;k=c[p>>2]|0}c[C>>2]=l<<8&2147483392;k=k<<8;c[p>>2]=k;c[o>>2]=(c[o>>2]|0)+8}if(t)z=260}else z=260;if((z|0)==260){h=E+26|0;k=b[h>>1]|0;n=c[e+4668>>2]|0;g=(k|0)/(n>>1|0)|0;n=k-(_(g<<16>>16,n<<15>>16)|0)|0;k=c[p>>2]|0;l=k>>>8;if((g|0)>0){z=d[29977+(g+-1)>>0]|0;x=k-(_(l,z)|0)|0;c[C>>2]=(c[C>>2]|0)+x;g=_(l,z-(d[29977+g>>0]|0)|0)|0}else g=k-(_(l,d[29977+g>>0]|0)|0)|0;c[p>>2]=g;while(1){if(g>>>0>=8388609)break;k=c[C>>2]|0;m=k>>>23;if((m|0)==255)c[B>>2]=(c[B>>2]|0)+1;else{l=k>>>31;g=c[q>>2]|0;if((g|0)>-1){k=c[r>>2]|0;if((k+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=k+1;a[(c[f>>2]|0)+k>>0]=g+l;g=0}else g=-1;c[u>>2]=c[u>>2]|g}g=c[B>>2]|0;if(g|0){l=l+255&255;do{k=c[r>>2]|0;if((k+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=k+1;a[(c[f>>2]|0)+k>>0]=l;k=0;g=c[B>>2]|0}else k=-1;c[u>>2]=c[u>>2]|k;g=g+-1|0;c[B>>2]=g}while((g|0)!=0)}c[q>>2]=m&255;k=c[C>>2]|0;g=c[p>>2]|0}c[C>>2]=k<<8&2147483392;g=g<<8;c[p>>2]=g;c[o>>2]=(c[o>>2]|0)+8}k=c[e+4776>>2]|0;l=g>>>8;if((n|0)>0){z=k+(n+-1)|0;g=g-(_(l,d[z>>0]|0)|0)|0;c[C>>2]=(c[C>>2]|0)+g;g=_(l,(d[z>>0]|0)-(d[k+n>>0]|0)|0)|0}else g=g-(_(l,d[k+n>>0]|0)|0)|0;c[p>>2]=g;while(1){if(g>>>0>=8388609)break;k=c[C>>2]|0;m=k>>>23;if((m|0)==255)c[B>>2]=(c[B>>2]|0)+1;else{l=k>>>31;g=c[q>>2]|0;if((g|0)>-1){k=c[r>>2]|0;if((k+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=k+1;a[(c[f>>2]|0)+k>>0]=g+l;g=0}else g=-1;c[u>>2]=c[u>>2]|g}g=c[B>>2]|0;if(g|0){l=l+255&255;do{k=c[r>>2]|0;if((k+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=k+1;a[(c[f>>2]|0)+k>>0]=l;k=0;g=c[B>>2]|0}else k=-1;c[u>>2]=c[u>>2]|k;g=g+-1|0;c[B>>2]=g}while((g|0)!=0)}c[q>>2]=m&255;k=c[C>>2]|0;g=c[p>>2]|0}c[C>>2]=k<<8&2147483392;g=g<<8;c[p>>2]=g;c[o>>2]=(c[o>>2]|0)+8}g=e+5864|0}b[g>>1]=b[h>>1]|0;z=a[E+28>>0]|0;g=z<<24>>24;h=c[e+4780>>2]|0;k=c[p>>2]|0;l=k>>>8;if(z<<24>>24>0){z=h+(g+-1)|0;x=k-(_(l,d[z>>0]|0)|0)|0;c[C>>2]=(c[C>>2]|0)+x;g=_(l,(d[z>>0]|0)-(d[h+g>>0]|0)|0)|0}else g=k-(_(l,d[h+g>>0]|0)|0)|0;c[p>>2]=g;while(1){if(g>>>0>=8388609)break;h=c[C>>2]|0;l=h>>>23;if((l|0)==255)c[B>>2]=(c[B>>2]|0)+1;else{k=h>>>31;g=c[q>>2]|0;if((g|0)>-1){h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=g+k;g=0}else g=-1;c[u>>2]=c[u>>2]|g}g=c[B>>2]|0;if(g|0){k=k+255&255;do{h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=k;h=0;g=c[B>>2]|0}else h=-1;c[u>>2]=c[u>>2]|h;g=g+-1|0;c[B>>2]=g}while((g|0)!=0)}c[q>>2]=l&255;h=c[C>>2]|0;g=c[p>>2]|0}c[C>>2]=h<<8&2147483392;g=g<<8;c[p>>2]=g;c[o>>2]=(c[o>>2]|0)+8}n=E+32|0;z=a[n>>0]|0;h=z<<24>>24;k=g>>>8;if(z<<24>>24>0){z=d[29437+(h+-1)>>0]|0;g=g-(_(k,z)|0)|0;c[C>>2]=(c[C>>2]|0)+g;g=_(k,z-(d[29437+h>>0]|0)|0)|0}else g=g-(_(k,d[29437+h>>0]|0)|0)|0;c[p>>2]=g;while(1){if(g>>>0>=8388609){l=g;m=0;break}h=c[C>>2]|0;l=h>>>23;if((l|0)==255)c[B>>2]=(c[B>>2]|0)+1;else{k=h>>>31;g=c[q>>2]|0;if((g|0)>-1){h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=g+k;g=0}else g=-1;c[u>>2]=c[u>>2]|g}g=c[B>>2]|0;if(g|0){k=k+255&255;do{h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=k;h=0;g=c[B>>2]|0}else h=-1;c[u>>2]=c[u>>2]|h;g=g+-1|0;c[B>>2]=g}while((g|0)!=0)}c[q>>2]=l&255;h=c[C>>2]|0;g=c[p>>2]|0}c[C>>2]=h<<8&2147483392;g=g<<8;c[p>>2]=g;c[o>>2]=(c[o>>2]|0)+8}while(1){if((m|0)>=(c[y>>2]|0))break;z=a[E+4+m>>0]|0;g=z<<24>>24;h=c[17376+(a[n>>0]<<2)>>2]|0;k=l>>>8;if(z<<24>>24>0){z=h+(g+-1)|0;x=l-(_(k,d[z>>0]|0)|0)|0;c[C>>2]=(c[C>>2]|0)+x;g=_(k,(d[z>>0]|0)-(d[h+g>>0]|0)|0)|0}else g=l-(_(k,d[h+g>>0]|0)|0)|0;c[p>>2]=g;while(1){if(g>>>0>=8388609)break;h=c[C>>2]|0;l=h>>>23;if((l|0)==255)c[B>>2]=(c[B>>2]|0)+1;else{k=h>>>31;g=c[q>>2]|0;if((g|0)>-1){h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=g+k;g=0}else g=-1;c[u>>2]=c[u>>2]|g}g=c[B>>2]|0;if(g|0){k=k+255&255;do{h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=k;h=0;g=c[B>>2]|0}else h=-1;c[u>>2]=c[u>>2]|h;g=g+-1|0;c[B>>2]=g}while((g|0)!=0)}c[q>>2]=l&255;h=c[C>>2]|0;g=c[p>>2]|0}c[C>>2]=h<<8&2147483392;g=g<<8;c[p>>2]=g;c[o>>2]=(c[o>>2]|0)+8}l=g;m=m+1|0}if(!j){j=a[E+33>>0]|0;g=j<<24>>24;h=l>>>8;if(j<<24>>24>0){j=d[29930+(g+-1)>>0]|0;z=l-(_(h,j)|0)|0;c[C>>2]=(c[C>>2]|0)+z;g=_(h,j-(d[29930+g>>0]|0)|0)|0}else g=l-(_(h,d[29930+g>>0]|0)|0)|0;c[p>>2]=g;while(1){if(g>>>0>=8388609)break e;h=c[C>>2]|0;l=h>>>23;if((l|0)==255)c[B>>2]=(c[B>>2]|0)+1;else{k=h>>>31;g=c[q>>2]|0;if((g|0)>-1){h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=g+k;g=0}else g=-1;c[u>>2]=c[u>>2]|g}g=c[B>>2]|0;if(g|0){k=k+255&255;do{h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=k;h=0;g=c[B>>2]|0}else h=-1;c[u>>2]=c[u>>2]|h;g=g+-1|0;c[B>>2]=g}while((g|0)!=0)}c[q>>2]=l&255;h=c[C>>2]|0;g=c[p>>2]|0}c[C>>2]=h<<8&2147483392;g=g<<8;c[p>>2]=g;c[o>>2]=(c[o>>2]|0)+8}}}while(0);c[e+5860>>2]=a[D>>0];e=a[E+34>>0]|0;g=e<<24>>24;h=c[p>>2]|0;k=h>>>8;if(e<<24>>24>0){e=d[29947+(g+-1)>>0]|0;E=h-(_(k,e)|0)|0;c[C>>2]=(c[C>>2]|0)+E;g=_(k,e-(d[29947+g>>0]|0)|0)|0}else g=h-(_(k,d[29947+g>>0]|0)|0)|0;c[p>>2]=g;while(1){if(g>>>0>=8388609)break;h=c[C>>2]|0;l=h>>>23;if((l|0)==255)c[B>>2]=(c[B>>2]|0)+1;else{k=h>>>31;g=c[q>>2]|0;if((g|0)>-1){h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=g+k;g=0}else g=-1;c[u>>2]=c[u>>2]|g}g=c[B>>2]|0;if(g|0){k=k+255&255;do{h=c[r>>2]|0;if((h+(c[s>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[r>>2]=h+1;a[(c[f>>2]|0)+h>>0]=k;h=0;g=c[B>>2]|0}else h=-1;c[u>>2]=c[u>>2]|h;g=g+-1|0;c[B>>2]=g}while((g|0)!=0)}c[q>>2]=l&255;h=c[C>>2]|0;g=c[p>>2]|0}c[C>>2]=h<<8&2147483392;g=g<<8;c[p>>2]=g;c[o>>2]=(c[o>>2]|0)+8}i=F;return}function Bd(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;T=i;i=i+96|0;S=T+56|0;F=T+40|0;G=T+32|0;r=T;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[r+16>>2]=0;c[r+20>>2]=0;c[r+24>>2]=0;c[r+28>>2]=0;j=h>>4;if((j<<4|0)<(h|0)){j=j+1|0;k=g+h|0;l=k+16|0;do{a[k>>0]=0;k=k+1|0}while((k|0)<(l|0))}k=j<<4;E=i;i=i+((1*(k<<2)|0)+15&-16)|0;l=0;while(1){if((l|0)>=(k|0))break;P=a[g+l>>0]|0;R=P<<24>>24;c[E+(l<<2)>>2]=P<<24>>24>0?R:0-R|0;R=l|1;P=a[g+R>>0]|0;Q=P<<24>>24;c[E+(R<<2)>>2]=P<<24>>24>0?Q:0-Q|0;R=l|2;Q=a[g+R>>0]|0;P=Q<<24>>24;c[E+(R<<2)>>2]=Q<<24>>24>0?P:0-P|0;R=l|3;P=a[g+R>>0]|0;Q=P<<24>>24;c[E+(R<<2)>>2]=P<<24>>24>0?Q:0-Q|0;l=l+4|0}R=i;i=i+((1*(j<<2)|0)+15&-16)|0;H=i;i=i+((1*(j<<2)|0)+15&-16)|0;p=E;q=0;while(1){if((q|0)>=(j|0))break;n=H+(q<<2)|0;c[n>>2]=0;o=R+(q<<2)|0;l=0;a:while(1){if((l|0)<8){k=l<<1;k=(c[p+(k<<2)>>2]|0)+(c[p+((k|1)<<2)>>2]|0)|0;if((k|0)>8)m=1;else{c[r+(l<<2)>>2]=k;l=l+1|0;continue}}else m=0;l=0;while(1){if((l|0)>=4){k=0;break}k=l<<1;k=(c[r+(k<<2)>>2]|0)+(c[r+((k|1)<<2)>>2]|0)|0;if((k|0)>10){k=1;break}c[r+(l<<2)>>2]=k;l=l+1|0}m=m+k|0;l=0;while(1){if((l|0)>=2){k=0;break}k=l<<1;k=(c[r+(k<<2)>>2]|0)+(c[r+((k|1)<<2)>>2]|0)|0;if((k|0)>12){k=1;break}c[r+(l<<2)>>2]=k;l=l+1|0}m=m+k|0;l=0;while(1){if((l|0)>=1){k=0;break}k=l<<1;k=(c[r+(k<<2)>>2]|0)+(c[r+((k|1)<<2)>>2]|0)|0;if((k|0)>16){k=1;break}c[o+(l<<2)>>2]=k;l=l+1|0}if((m|0)==(0-k|0))break;c[n>>2]=(c[n>>2]|0)+1;k=0;while(1){if((k|0)==16){l=0;continue a}Q=p+(k<<2)|0;c[Q>>2]=c[Q>>2]>>1;k=k+1|0}}p=p+64|0;q=q+1|0}q=e>>1;t=0;n=0;o=2147483647;while(1){if((n|0)==9)break;l=30270+(n*18|0)+17|0;m=0;p=d[30450+(q*9|0)+n>>0]|0;while(1){if((m|0)>=(j|0))break;if((c[H+(m<<2)>>2]|0)>0)k=l;else k=(c[R+(m<<2)>>2]|0)+(30270+(n*18|0))|0;m=m+1|0;p=p+(d[k>>0]|0)|0}Q=(p|0)<(o|0);t=Q?n:t;n=n+1|0;o=Q?p:o}Q=b+28|0;k=c[Q>>2]|0;l=k>>>8;if((t|0)>0){P=d[t+-1+(30432+(q*9|0))>>0]|0;k=k-(_(l,P)|0)|0;I=b+32|0;c[I>>2]=(c[I>>2]|0)+k;k=_(l,P-(d[30432+(q*9|0)+t>>0]|0)|0)|0;c[Q>>2]=k}else{k=k-(_(l,d[30432+(q*9|0)+t>>0]|0)|0)|0;c[Q>>2]=k;I=b+32|0}J=b+36|0;K=b+20|0;L=b+40|0;M=b+24|0;N=b+8|0;O=b+4|0;P=b+44|0;while(1){if(k>>>0>=8388609)break;l=c[I>>2]|0;n=l>>>23;if((n|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{m=l>>>31;k=c[L>>2]|0;if((k|0)>-1){l=c[M>>2]|0;if((l+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=l+1;a[(c[b>>2]|0)+l>>0]=k+m;k=0}else k=-1;c[P>>2]=c[P>>2]|k}k=c[J>>2]|0;if(k|0){m=m+255&255;do{l=c[M>>2]|0;if((l+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=l+1;a[(c[b>>2]|0)+l>>0]=m;l=0;k=c[J>>2]|0}else l=-1;c[P>>2]=c[P>>2]|l;k=k+-1|0;c[J>>2]=k}while((k|0)!=0)}c[L>>2]=n&255;l=c[I>>2]|0;k=c[Q>>2]|0}c[I>>2]=l<<8&2147483392;k=k<<8;c[Q>>2]=k;c[K>>2]=(c[K>>2]|0)+8}r=30090+(t*18|0)+16|0;s=30090+(t*18|0)+17|0;q=0;while(1){if((q|0)>=(j|0))break;o=c[H+(q<<2)>>2]|0;b:do if(!o){l=c[R+(q<<2)>>2]|0;m=k>>>8;if((l|0)>0){D=d[l+-1+(30090+(t*18|0))>>0]|0;k=k-(_(m,D)|0)|0;c[I>>2]=(c[I>>2]|0)+k;k=_(m,D-(d[30090+(t*18|0)+l>>0]|0)|0)|0}else k=k-(_(m,d[30090+(t*18|0)+l>>0]|0)|0)|0;c[Q>>2]=k;while(1){if(k>>>0>=8388609)break b;l=c[I>>2]|0;n=l>>>23;if((n|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{m=l>>>31;k=c[L>>2]|0;if((k|0)>-1){l=c[M>>2]|0;if((l+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=l+1;a[(c[b>>2]|0)+l>>0]=k+m;k=0}else k=-1;c[P>>2]=c[P>>2]|k}k=c[J>>2]|0;if(k|0){m=m+255&255;do{l=c[M>>2]|0;if((l+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=l+1;a[(c[b>>2]|0)+l>>0]=m;l=0;k=c[J>>2]|0}else l=-1;c[P>>2]=c[P>>2]|l;k=k+-1|0;c[J>>2]=k}while((k|0)!=0)}c[L>>2]=n&255;l=c[I>>2]|0;k=c[Q>>2]|0}c[I>>2]=l<<8&2147483392;k=k<<8;c[Q>>2]=k;c[K>>2]=(c[K>>2]|0)+8}}else{C=k>>>8;D=d[r>>0]|0;l=k-(_(C,D)|0)|0;l=(c[I>>2]|0)+l|0;c[I>>2]=l;k=_(C,D-(d[s>>0]|0)|0)|0;c[Q>>2]=k;while(1){if(k>>>0>=8388609)break;n=l>>>23;if((n|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{m=l>>>31;k=c[L>>2]|0;if((k|0)>-1){l=c[M>>2]|0;if((l+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=l+1;a[(c[b>>2]|0)+l>>0]=k+m;k=0}else k=-1;c[P>>2]=c[P>>2]|k}k=c[J>>2]|0;if(k|0){m=m+255&255;do{l=c[M>>2]|0;if((l+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=l+1;a[(c[b>>2]|0)+l>>0]=m;l=0;k=c[J>>2]|0}else l=-1;c[P>>2]=c[P>>2]|l;k=k+-1|0;c[J>>2]=k}while((k|0)!=0)}c[L>>2]=n&255;l=c[I>>2]|0;k=c[Q>>2]|0}l=l<<8&2147483392;c[I>>2]=l;k=k<<8;c[Q>>2]=k;c[K>>2]=(c[K>>2]|0)+8}p=o+-1|0;o=0;while(1){if((o|0)>=(p|0))break;D=k>>>8<<1;l=l+(k-D)|0;c[I>>2]=l;c[Q>>2]=D;k=D;while(1){if(k>>>0>=8388609)break;n=l>>>23;if((n|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{m=l>>>31;k=c[L>>2]|0;if((k|0)>-1){l=c[M>>2]|0;if((l+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=l+1;a[(c[b>>2]|0)+l>>0]=k+m;k=0}else k=-1;c[P>>2]=c[P>>2]|k}k=c[J>>2]|0;if(k|0){m=m+255&255;do{l=c[M>>2]|0;if((l+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=l+1;a[(c[b>>2]|0)+l>>0]=m;l=0;k=c[J>>2]|0}else l=-1;c[P>>2]=c[P>>2]|l;k=k+-1|0;c[J>>2]=k}while((k|0)!=0)}c[L>>2]=n&255;l=c[I>>2]|0;k=c[Q>>2]|0}l=l<<8&2147483392;c[I>>2]=l;k=k<<8;c[Q>>2]=k;c[K>>2]=(c[K>>2]|0)+8}o=o+1|0}m=c[R+(q<<2)>>2]|0;n=k>>>8;if((m|0)>0){D=d[30252+(m+-1)>>0]|0;l=l+(k-(_(n,D)|0))|0;c[I>>2]=l;k=_(n,D-(d[30252+m>>0]|0)|0)|0}else k=k-(_(n,d[30252+m>>0]|0)|0)|0;c[Q>>2]=k;while(1){if(k>>>0>=8388609)break b;n=l>>>23;if((n|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{m=l>>>31;k=c[L>>2]|0;if((k|0)>-1){l=c[M>>2]|0;if((l+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=l+1;a[(c[b>>2]|0)+l>>0]=k+m;k=0}else k=-1;c[P>>2]=c[P>>2]|k}k=c[J>>2]|0;if(k|0){m=m+255&255;do{l=c[M>>2]|0;if((l+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=l+1;a[(c[b>>2]|0)+l>>0]=m;l=0;k=c[J>>2]|0}else l=-1;c[P>>2]=c[P>>2]|l;k=k+-1|0;c[J>>2]=k}while((k|0)!=0)}c[L>>2]=n&255;l=c[I>>2]|0;k=c[Q>>2]|0}l=l<<8&2147483392;c[I>>2]=l;k=k<<8;c[Q>>2]=k;c[K>>2]=(c[K>>2]|0)+8}}while(0);q=q+1|0}t=S+4|0;u=S+8|0;v=F+4|0;w=S+12|0;x=F+8|0;y=G+4|0;z=S+16|0;A=S+20|0;B=S+24|0;C=F+12|0;D=S+28|0;s=0;l=0;while(1){if((s|0)>=(j|0)){t=0;break}if((c[R+(s<<2)>>2]|0)>0){r=E+(s<<4<<2)|0;m=0;while(1){if((m|0)==8){m=0;break}q=m<<1;c[S+(m<<2)>>2]=(c[r+(q<<2)>>2]|0)+(c[r+((q|1)<<2)>>2]|0);m=m+1|0}while(1){if((m|0)==4){m=0;break}q=m<<1;c[F+(m<<2)>>2]=(c[S+(q<<2)>>2]|0)+(c[S+((q|1)<<2)>>2]|0);m=m+1|0}while(1){if((m|0)==2){m=0;break}q=m<<1;c[G+(m<<2)>>2]=(c[F+(q<<2)>>2]|0)+(c[F+((q|1)<<2)>>2]|0);m=m+1|0}while(1){if((m|0)==1)break;l=m<<1;m=m+1|0;l=(c[G+(l<<2)>>2]|0)+(c[G+((l|1)<<2)>>2]|0)|0}p=c[G>>2]|0;c:do if((l|0)>0){m=30924+(d[31076+l>>0]|0)|0;n=k>>>8;if((p|0)>0){q=d[m+(p+-1)>>0]|0;k=k-(_(n,q)|0)|0;c[I>>2]=(c[I>>2]|0)+k;k=_(n,q-(d[m+p>>0]|0)|0)|0}else k=k-(_(n,d[m+p>>0]|0)|0)|0;c[Q>>2]=k;while(1){if(k>>>0>=8388609)break c;m=c[I>>2]|0;o=m>>>23;if((o|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{n=m>>>31;k=c[L>>2]|0;if((k|0)>-1){m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=k+n;k=0}else k=-1;c[P>>2]=c[P>>2]|k}k=c[J>>2]|0;if(k|0){n=n+255&255;do{m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=n;m=0;k=c[J>>2]|0}else m=-1;c[P>>2]=c[P>>2]|m;k=k+-1|0;c[J>>2]=k}while((k|0)!=0)}c[L>>2]=o&255;m=c[I>>2]|0;k=c[Q>>2]|0}c[I>>2]=m<<8&2147483392;k=k<<8;c[Q>>2]=k;c[K>>2]=(c[K>>2]|0)+8}}while(0);q=c[F>>2]|0;d:do if((p|0)>0){m=30772+(d[31076+p>>0]|0)|0;n=k>>>8;if((q|0)>0){p=d[m+(q+-1)>>0]|0;k=k-(_(n,p)|0)|0;c[I>>2]=(c[I>>2]|0)+k;k=_(n,p-(d[m+q>>0]|0)|0)|0}else k=k-(_(n,d[m+q>>0]|0)|0)|0;c[Q>>2]=k;while(1){if(k>>>0>=8388609)break d;m=c[I>>2]|0;o=m>>>23;if((o|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{n=m>>>31;k=c[L>>2]|0;if((k|0)>-1){m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=k+n;k=0}else k=-1;c[P>>2]=c[P>>2]|k}k=c[J>>2]|0;if(k|0){n=n+255&255;do{m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=n;m=0;k=c[J>>2]|0}else m=-1;c[P>>2]=c[P>>2]|m;k=k+-1|0;c[J>>2]=k}while((k|0)!=0)}c[L>>2]=o&255;m=c[I>>2]|0;k=c[Q>>2]|0}c[I>>2]=m<<8&2147483392;k=k<<8;c[Q>>2]=k;c[K>>2]=(c[K>>2]|0)+8}}while(0);p=c[S>>2]|0;e:do if((q|0)>0){m=30620+(d[31076+q>>0]|0)|0;n=k>>>8;if((p|0)>0){q=d[m+(p+-1)>>0]|0;k=k-(_(n,q)|0)|0;c[I>>2]=(c[I>>2]|0)+k;k=_(n,q-(d[m+p>>0]|0)|0)|0}else k=k-(_(n,d[m+p>>0]|0)|0)|0;c[Q>>2]=k;while(1){if(k>>>0>=8388609)break e;m=c[I>>2]|0;o=m>>>23;if((o|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{n=m>>>31;k=c[L>>2]|0;if((k|0)>-1){m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=k+n;k=0}else k=-1;c[P>>2]=c[P>>2]|k}k=c[J>>2]|0;if(k|0){n=n+255&255;do{m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=n;m=0;k=c[J>>2]|0}else m=-1;c[P>>2]=c[P>>2]|m;k=k+-1|0;c[J>>2]=k}while((k|0)!=0)}c[L>>2]=o&255;m=c[I>>2]|0;k=c[Q>>2]|0}c[I>>2]=m<<8&2147483392;k=k<<8;c[Q>>2]=k;c[K>>2]=(c[K>>2]|0)+8}}while(0);o=c[r>>2]|0;f:do if((p|0)>0){m=30468+(d[31076+p>>0]|0)|0;n=k>>>8;if((o|0)>0){q=d[m+(o+-1)>>0]|0;k=k-(_(n,q)|0)|0;c[I>>2]=(c[I>>2]|0)+k;k=_(n,q-(d[m+o>>0]|0)|0)|0}else k=k-(_(n,d[m+o>>0]|0)|0)|0;c[Q>>2]=k;while(1){if(k>>>0>=8388609)break f;m=c[I>>2]|0;o=m>>>23;if((o|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{n=m>>>31;k=c[L>>2]|0;if((k|0)>-1){m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=k+n;k=0}else k=-1;c[P>>2]=c[P>>2]|k}k=c[J>>2]|0;if(k|0){n=n+255&255;do{m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=n;m=0;k=c[J>>2]|0}else m=-1;c[P>>2]=c[P>>2]|m;k=k+-1|0;c[J>>2]=k}while((k|0)!=0)}c[L>>2]=o&255;m=c[I>>2]|0;k=c[Q>>2]|0}c[I>>2]=m<<8&2147483392;k=k<<8;c[Q>>2]=k;c[K>>2]=(c[K>>2]|0)+8}}while(0);o=c[r+8>>2]|0;m=c[t>>2]|0;g:do if((m|0)>0){m=30468+(d[31076+m>>0]|0)|0;n=k>>>8;if((o|0)>0){q=d[m+(o+-1)>>0]|0;k=k-(_(n,q)|0)|0;c[I>>2]=(c[I>>2]|0)+k;k=_(n,q-(d[m+o>>0]|0)|0)|0}else k=k-(_(n,d[m+o>>0]|0)|0)|0;c[Q>>2]=k;while(1){if(k>>>0>=8388609)break g;m=c[I>>2]|0;o=m>>>23;if((o|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{n=m>>>31;k=c[L>>2]|0;if((k|0)>-1){m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=k+n;k=0}else k=-1;c[P>>2]=c[P>>2]|k}k=c[J>>2]|0;if(k|0){n=n+255&255;do{m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=n;m=0;k=c[J>>2]|0}else m=-1;c[P>>2]=c[P>>2]|m;k=k+-1|0;c[J>>2]=k}while((k|0)!=0)}c[L>>2]=o&255;m=c[I>>2]|0;k=c[Q>>2]|0}c[I>>2]=m<<8&2147483392;k=k<<8;c[Q>>2]=k;c[K>>2]=(c[K>>2]|0)+8}}while(0);p=c[u>>2]|0;m=c[v>>2]|0;h:do if((m|0)>0){m=30620+(d[31076+m>>0]|0)|0;n=k>>>8;if((p|0)>0){q=d[m+(p+-1)>>0]|0;k=k-(_(n,q)|0)|0;c[I>>2]=(c[I>>2]|0)+k;k=_(n,q-(d[m+p>>0]|0)|0)|0}else k=k-(_(n,d[m+p>>0]|0)|0)|0;c[Q>>2]=k;while(1){if(k>>>0>=8388609)break h;m=c[I>>2]|0;o=m>>>23;if((o|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{n=m>>>31;k=c[L>>2]|0;if((k|0)>-1){m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=k+n;k=0}else k=-1;c[P>>2]=c[P>>2]|k}k=c[J>>2]|0;if(k|0){n=n+255&255;do{m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=n;m=0;k=c[J>>2]|0}else m=-1;c[P>>2]=c[P>>2]|m;k=k+-1|0;c[J>>2]=k}while((k|0)!=0)}c[L>>2]=o&255;m=c[I>>2]|0;k=c[Q>>2]|0}c[I>>2]=m<<8&2147483392;k=k<<8;c[Q>>2]=k;c[K>>2]=(c[K>>2]|0)+8}}while(0);o=c[r+16>>2]|0;i:do if((p|0)>0){m=30468+(d[31076+p>>0]|0)|0;n=k>>>8;if((o|0)>0){q=d[m+(o+-1)>>0]|0;k=k-(_(n,q)|0)|0;c[I>>2]=(c[I>>2]|0)+k;k=_(n,q-(d[m+o>>0]|0)|0)|0}else k=k-(_(n,d[m+o>>0]|0)|0)|0;c[Q>>2]=k;while(1){if(k>>>0>=8388609)break i;m=c[I>>2]|0;o=m>>>23;if((o|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{n=m>>>31;k=c[L>>2]|0;if((k|0)>-1){m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=k+n;k=0}else k=-1;c[P>>2]=c[P>>2]|k}k=c[J>>2]|0;if(k|0){n=n+255&255;do{m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=n;m=0;k=c[J>>2]|0}else m=-1;c[P>>2]=c[P>>2]|m;k=k+-1|0;c[J>>2]=k}while((k|0)!=0)}c[L>>2]=o&255;m=c[I>>2]|0;k=c[Q>>2]|0}c[I>>2]=m<<8&2147483392;k=k<<8;c[Q>>2]=k;c[K>>2]=(c[K>>2]|0)+8}}while(0);o=c[r+24>>2]|0;m=c[w>>2]|0;j:do if((m|0)>0){m=30468+(d[31076+m>>0]|0)|0;n=k>>>8;if((o|0)>0){q=d[m+(o+-1)>>0]|0;k=k-(_(n,q)|0)|0;c[I>>2]=(c[I>>2]|0)+k;k=_(n,q-(d[m+o>>0]|0)|0)|0}else k=k-(_(n,d[m+o>>0]|0)|0)|0;c[Q>>2]=k;while(1){if(k>>>0>=8388609)break j;m=c[I>>2]|0;o=m>>>23;if((o|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{n=m>>>31;k=c[L>>2]|0;if((k|0)>-1){m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=k+n;k=0}else k=-1;c[P>>2]=c[P>>2]|k}k=c[J>>2]|0;if(k|0){n=n+255&255;do{m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=n;m=0;k=c[J>>2]|0}else m=-1;c[P>>2]=c[P>>2]|m;k=k+-1|0;c[J>>2]=k}while((k|0)!=0)}c[L>>2]=o&255;m=c[I>>2]|0;k=c[Q>>2]|0}c[I>>2]=m<<8&2147483392;k=k<<8;c[Q>>2]=k;c[K>>2]=(c[K>>2]|0)+8}}while(0);p=c[x>>2]|0;m=c[y>>2]|0;k:do if((m|0)>0){m=30772+(d[31076+m>>0]|0)|0;n=k>>>8;if((p|0)>0){q=d[m+(p+-1)>>0]|0;k=k-(_(n,q)|0)|0;c[I>>2]=(c[I>>2]|0)+k;k=_(n,q-(d[m+p>>0]|0)|0)|0}else k=k-(_(n,d[m+p>>0]|0)|0)|0;c[Q>>2]=k;while(1){if(k>>>0>=8388609)break k;m=c[I>>2]|0;o=m>>>23;if((o|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{n=m>>>31;k=c[L>>2]|0;if((k|0)>-1){m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=k+n;k=0}else k=-1;c[P>>2]=c[P>>2]|k}k=c[J>>2]|0;if(k|0){n=n+255&255;do{m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=n;m=0;k=c[J>>2]|0}else m=-1;c[P>>2]=c[P>>2]|m;k=k+-1|0;c[J>>2]=k}while((k|0)!=0)}c[L>>2]=o&255;m=c[I>>2]|0;k=c[Q>>2]|0}c[I>>2]=m<<8&2147483392;k=k<<8;c[Q>>2]=k;c[K>>2]=(c[K>>2]|0)+8}}while(0);q=c[z>>2]|0;l:do if((p|0)>0){m=30620+(d[31076+p>>0]|0)|0;n=k>>>8;if((q|0)>0){p=d[m+(q+-1)>>0]|0;k=k-(_(n,p)|0)|0;c[I>>2]=(c[I>>2]|0)+k;k=_(n,p-(d[m+q>>0]|0)|0)|0}else k=k-(_(n,d[m+q>>0]|0)|0)|0;c[Q>>2]=k;while(1){if(k>>>0>=8388609)break l;m=c[I>>2]|0;o=m>>>23;if((o|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{n=m>>>31;k=c[L>>2]|0;if((k|0)>-1){m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=k+n;k=0}else k=-1;c[P>>2]=c[P>>2]|k}k=c[J>>2]|0;if(k|0){n=n+255&255;do{m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=n;m=0;k=c[J>>2]|0}else m=-1;c[P>>2]=c[P>>2]|m;k=k+-1|0;c[J>>2]=k}while((k|0)!=0)}c[L>>2]=o&255;m=c[I>>2]|0;k=c[Q>>2]|0}c[I>>2]=m<<8&2147483392;k=k<<8;c[Q>>2]=k;c[K>>2]=(c[K>>2]|0)+8}}while(0);o=c[r+32>>2]|0;m:do if((q|0)>0){m=30468+(d[31076+q>>0]|0)|0;n=k>>>8;if((o|0)>0){q=d[m+(o+-1)>>0]|0;k=k-(_(n,q)|0)|0;c[I>>2]=(c[I>>2]|0)+k;k=_(n,q-(d[m+o>>0]|0)|0)|0}else k=k-(_(n,d[m+o>>0]|0)|0)|0;c[Q>>2]=k;while(1){if(k>>>0>=8388609)break m;m=c[I>>2]|0;o=m>>>23;if((o|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{n=m>>>31;k=c[L>>2]|0;if((k|0)>-1){m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=k+n;k=0}else k=-1;c[P>>2]=c[P>>2]|k}k=c[J>>2]|0;if(k|0){n=n+255&255;do{m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=n;m=0;k=c[J>>2]|0}else m=-1;c[P>>2]=c[P>>2]|m;k=k+-1|0;c[J>>2]=k}while((k|0)!=0)}c[L>>2]=o&255;m=c[I>>2]|0;k=c[Q>>2]|0}c[I>>2]=m<<8&2147483392;k=k<<8;c[Q>>2]=k;c[K>>2]=(c[K>>2]|0)+8}}while(0);o=c[r+40>>2]|0;m=c[A>>2]|0;n:do if((m|0)>0){m=30468+(d[31076+m>>0]|0)|0;n=k>>>8;if((o|0)>0){q=d[m+(o+-1)>>0]|0;k=k-(_(n,q)|0)|0;c[I>>2]=(c[I>>2]|0)+k;k=_(n,q-(d[m+o>>0]|0)|0)|0}else k=k-(_(n,d[m+o>>0]|0)|0)|0;c[Q>>2]=k;while(1){if(k>>>0>=8388609)break n;m=c[I>>2]|0;o=m>>>23;if((o|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{n=m>>>31;k=c[L>>2]|0;if((k|0)>-1){m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=k+n;k=0}else k=-1;c[P>>2]=c[P>>2]|k}k=c[J>>2]|0;if(k|0){n=n+255&255;do{m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=n;m=0;k=c[J>>2]|0}else m=-1;c[P>>2]=c[P>>2]|m;k=k+-1|0;c[J>>2]=k}while((k|0)!=0)}c[L>>2]=o&255;m=c[I>>2]|0;k=c[Q>>2]|0}c[I>>2]=m<<8&2147483392;k=k<<8;c[Q>>2]=k;c[K>>2]=(c[K>>2]|0)+8}}while(0);p=c[B>>2]|0;m=c[C>>2]|0;o:do if((m|0)>0){m=30620+(d[31076+m>>0]|0)|0;n=k>>>8;if((p|0)>0){q=d[m+(p+-1)>>0]|0;k=k-(_(n,q)|0)|0;c[I>>2]=(c[I>>2]|0)+k;k=_(n,q-(d[m+p>>0]|0)|0)|0}else k=k-(_(n,d[m+p>>0]|0)|0)|0;c[Q>>2]=k;while(1){if(k>>>0>=8388609)break o;m=c[I>>2]|0;o=m>>>23;if((o|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{n=m>>>31;k=c[L>>2]|0;if((k|0)>-1){m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=k+n;k=0}else k=-1;c[P>>2]=c[P>>2]|k}k=c[J>>2]|0;if(k|0){n=n+255&255;do{m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=n;m=0;k=c[J>>2]|0}else m=-1;c[P>>2]=c[P>>2]|m;k=k+-1|0;c[J>>2]=k}while((k|0)!=0)}c[L>>2]=o&255;m=c[I>>2]|0;k=c[Q>>2]|0}c[I>>2]=m<<8&2147483392;k=k<<8;c[Q>>2]=k;c[K>>2]=(c[K>>2]|0)+8}}while(0);o=c[r+48>>2]|0;p:do if((p|0)>0){m=30468+(d[31076+p>>0]|0)|0;n=k>>>8;if((o|0)>0){q=d[m+(o+-1)>>0]|0;k=k-(_(n,q)|0)|0;c[I>>2]=(c[I>>2]|0)+k;k=_(n,q-(d[m+o>>0]|0)|0)|0}else k=k-(_(n,d[m+o>>0]|0)|0)|0;c[Q>>2]=k;while(1){if(k>>>0>=8388609)break p;m=c[I>>2]|0;o=m>>>23;if((o|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{n=m>>>31;k=c[L>>2]|0;if((k|0)>-1){m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=k+n;k=0}else k=-1;c[P>>2]=c[P>>2]|k}k=c[J>>2]|0;if(k|0){n=n+255&255;do{m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=n;m=0;k=c[J>>2]|0}else m=-1;c[P>>2]=c[P>>2]|m;k=k+-1|0;c[J>>2]=k}while((k|0)!=0)}c[L>>2]=o&255;m=c[I>>2]|0;k=c[Q>>2]|0}c[I>>2]=m<<8&2147483392;k=k<<8;c[Q>>2]=k;c[K>>2]=(c[K>>2]|0)+8}}while(0);o=c[r+56>>2]|0;m=c[D>>2]|0;q:do if((m|0)>0){m=30468+(d[31076+m>>0]|0)|0;n=k>>>8;if((o|0)>0){r=d[m+(o+-1)>>0]|0;k=k-(_(n,r)|0)|0;c[I>>2]=(c[I>>2]|0)+k;k=_(n,r-(d[m+o>>0]|0)|0)|0}else k=k-(_(n,d[m+o>>0]|0)|0)|0;c[Q>>2]=k;while(1){if(k>>>0>=8388609)break q;m=c[I>>2]|0;o=m>>>23;if((o|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{n=m>>>31;k=c[L>>2]|0;if((k|0)>-1){m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=k+n;k=0}else k=-1;c[P>>2]=c[P>>2]|k}k=c[J>>2]|0;if(k|0){n=n+255&255;do{m=c[M>>2]|0;if((m+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=m+1;a[(c[b>>2]|0)+m>>0]=n;m=0;k=c[J>>2]|0}else m=-1;c[P>>2]=c[P>>2]|m;k=k+-1|0;c[J>>2]=k}while((k|0)!=0)}c[L>>2]=o&255;m=c[I>>2]|0;k=c[Q>>2]|0}c[I>>2]=m<<8&2147483392;k=k<<8;c[Q>>2]=k;c[K>>2]=(c[K>>2]|0)+8}}while(0)}s=s+1|0}while(1){if((t|0)>=(j|0))break;r=c[H+(t<<2)>>2]|0;r:do if((r|0)>0){s=g+(t<<4)|0;q=0;while(1){if((q|0)==16)break r;l=a[s+q>>0]|0;p=l<<24>>24;p=(l<<24>>24>0?p:0-p|0)<<24>>24;l=r;s:while(1){o=l+-1|0;if((l|0)<=1)break;l=p>>>o&1;m=k>>>8;n=a[29928+l>>0]|0;if(!l)k=k-(_(m,n&255)|0)|0;else{G=d[29928+(l+-1)>>0]|0;k=k-(_(m,G)|0)|0;c[I>>2]=(c[I>>2]|0)+k;k=_(m,G-(n&255)|0)|0}c[Q>>2]=k;while(1){if(k>>>0>=8388609){l=o;continue s}l=c[I>>2]|0;n=l>>>23;if((n|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{m=l>>>31;k=c[L>>2]|0;if((k|0)>-1){l=c[M>>2]|0;if((l+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=l+1;a[(c[b>>2]|0)+l>>0]=k+m;k=0}else k=-1;c[P>>2]=c[P>>2]|k}k=c[J>>2]|0;if(k|0){m=m+255&255;do{l=c[M>>2]|0;if((l+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=l+1;a[(c[b>>2]|0)+l>>0]=m;l=0;k=c[J>>2]|0}else l=-1;c[P>>2]=c[P>>2]|l;k=k+-1|0;c[J>>2]=k}while((k|0)!=0)}c[L>>2]=n&255;l=c[I>>2]|0;k=c[Q>>2]|0}c[I>>2]=l<<8&2147483392;k=k<<8;c[Q>>2]=k;c[K>>2]=(c[K>>2]|0)+8}}l=p&1;m=k>>>8;n=a[29928+l>>0]|0;if(!l)k=k-(_(m,n&255)|0)|0;else{G=d[29928+(l+-1)>>0]|0;k=k-(_(m,G)|0)|0;c[I>>2]=(c[I>>2]|0)+k;k=_(m,G-(n&255)|0)|0}c[Q>>2]=k;while(1){if(k>>>0>=8388609)break;l=c[I>>2]|0;n=l>>>23;if((n|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{m=l>>>31;k=c[L>>2]|0;if((k|0)>-1){l=c[M>>2]|0;if((l+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=l+1;a[(c[b>>2]|0)+l>>0]=k+m;k=0}else k=-1;c[P>>2]=c[P>>2]|k}k=c[J>>2]|0;if(k|0){m=m+255&255;do{l=c[M>>2]|0;if((l+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=l+1;a[(c[b>>2]|0)+l>>0]=m;l=0;k=c[J>>2]|0}else l=-1;c[P>>2]=c[P>>2]|l;k=k+-1|0;c[J>>2]=k}while((k|0)!=0)}c[L>>2]=n&255;l=c[I>>2]|0;k=c[Q>>2]|0}c[I>>2]=l<<8&2147483392;k=k<<8;c[Q>>2]=k;c[K>>2]=(c[K>>2]|0)+8}q=q+1|0}}while(0);t=t+1|0}a[S+1>>0]=0;r=31093+(((e<<1)+f<<16>>16)*7|0)|0;q=h+8>>4;j=k;p=0;o=g;while(1){if((p|0)>=(q|0))break;k=c[R+(p<<2)>>2]|0;t:do if((k|0)>0){a[S>>0]=a[r+((k&30)>>>0<6?k&31:6)>>0]|0;n=0;while(1){if((n|0)==16)break t;k=a[o+n>>0]|0;u:do if(k<<24>>24){k=k<<24>>24>>15;l=k+1|0;m=j>>>8;if((k|0)>-1){g=d[S+k>>0]|0;j=j-(_(m,g)|0)|0;c[I>>2]=(c[I>>2]|0)+j;j=_(m,g-(d[S+l>>0]|0)|0)|0}else j=j-(_(m,d[S+l>>0]|0)|0)|0;c[Q>>2]=j;while(1){if(j>>>0>=8388609)break u;k=c[I>>2]|0;m=k>>>23;if((m|0)==255)c[J>>2]=(c[J>>2]|0)+1;else{l=k>>>31;j=c[L>>2]|0;if((j|0)>-1){k=c[M>>2]|0;if((k+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=k+1;a[(c[b>>2]|0)+k>>0]=j+l;j=0}else j=-1;c[P>>2]=c[P>>2]|j}j=c[J>>2]|0;if(j|0){l=l+255&255;do{k=c[M>>2]|0;if((k+(c[N>>2]|0)|0)>>>0<(c[O>>2]|0)>>>0){c[M>>2]=k+1;a[(c[b>>2]|0)+k>>0]=l;k=0;j=c[J>>2]|0}else k=-1;c[P>>2]=c[P>>2]|k;j=j+-1|0;c[J>>2]=j}while((j|0)!=0)}c[L>>2]=m&255;k=c[I>>2]|0;j=c[Q>>2]|0}c[I>>2]=k<<8&2147483392;j=j<<8;c[Q>>2]=j;c[K>>2]=(c[K>>2]|0)+8}}while(0);n=n+1|0}}while(0);p=p+1|0;o=o+16|0}i=T;return}function Cd(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;j=f+2|0;h=b[j>>1]|0;g=(_(h<<16>>16,g)|0)/2|0;i=f+20|0;g=(c[f+24>>2]|0)+g|0;f=0;while(1){if((f|0)>=(h<<16>>16|0))break;l=a[g>>0]|0;k=l&255;b[d+(f<<1)>>1]=(k>>>1&7)*9;a[e+f>>0]=a[(c[i>>2]|0)+(f+((b[j>>1]|0)+-1&0-(k&1)))>>0]|0;h=f|1;b[d+(h<<1)>>1]=((l&255)>>>5&255)*9;a[e+h>>0]=a[(c[i>>2]|0)+(f+((b[j>>1]|0)+-1&0-(k>>>4&1))+1)>>0]|0;h=b[j>>1]|0;g=g+1|0;f=f+2|0}return}function Dd(d,f,g,h,j,k,l,m,n,o,p){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;D=i;i=i+16|0;A=D+8|0;w=D+4|0;v=D;B=f+-4|0;q=p+2|0;C=i;i=i+((1*(q<<1)|0)+15&-16)|0;r=0;while(1){if((r|0)>=(q|0))break;y=r+-2|0;u=b[f+(y<<1)>>1]|0;y=b[g+(y<<1)>>1]|0;x=u+y|0;y=u-y|0;b[B+(r<<1)>>1]=(x>>>1)+(x&1);y=(y>>1)+(y&1)|0;b[C+(r<<1)>>1]=(y|0)>32767?32767:((y|0)<-32768?-32768:y)&65535;r=r+1|0}u=d+4|0;s=e[u>>1]|e[u+2>>1]<<16;b[B>>1]=s;b[B+2>>1]=s>>>16;s=d+8|0;r=e[s>>1]|e[s+2>>1]<<16;c[C>>2]=r;q=B+(p<<1)|0;q=e[q>>1]|e[q+2>>1]<<16;b[u>>1]=q;b[u+2>>1]=q>>>16;u=C+(p<<1)|0;u=e[u>>1]|e[u+2>>1]<<16;b[s>>1]=u;b[s+2>>1]=u>>>16;s=i;i=i+((1*(p<<1)|0)+15&-16)|0;u=i;i=i+((1*(p<<1)|0)+15&-16)|0;q=0;while(1){if((q|0)>=(p|0))break;y=q+1|0;t=b[B+(y<<1)>>1]|0;x=((b[B+(q<<1)>>1]|0)+(b[B+(q+2<<1)>>1]|0)+(t<<16>>16<<1)>>1)+1>>1;b[s+(q<<1)>>1]=x;b[u+(q<<1)>>1]=(t&65535)-x;q=y}f=i;i=i+((1*(p<<1)|0)+15&-16)|0;t=i;i=i+((1*(p<<1)|0)+15&-16)|0;q=r&65535;r=0;while(1){if((r|0)>=(p|0))break;y=r+1|0;x=b[C+(y<<1)>>1]|0;E=((q<<16>>16)+(b[C+(r+2<<1)>>1]|0)+(x<<16>>16<<1)>>1)+1>>1;b[f+(r<<1)>>1]=E;b[t+(r<<1)>>1]=(x&65535)-E;q=x;r=y}q=(o*10|0)==(p|0);x=q?328:655;m=m<<16>>16;m=_(m,m)|0;m=(_(m>>>16,x)|0)+((_(m&65535,x)|0)>>>16)|0;x=Nd(w,s,f,d+12|0,p,m)|0;c[A>>2]=x;t=Nd(v,u,t,d+20|0,p,m)|0;y=A+4|0;c[y>>2]=t;s=(c[v>>2]|0)+((c[w>>2]<<16>>16)*3|0)|0;s=(s|0)<65536?s:65536;u=l-(q?1200:600)|0;u=(u|0)<1?1:u;f=((o<<16>>16)*900|0)+2e3|0;q=s*3|0;r=Ed(u,q+851968|0,19)|0;c[k>>2]=r;if((r|0)<(f|0)){c[k>>2]=f;l=u-f|0;c[k+4>>2]=l;E=f<<16>>16;q=Ed((l<<1)-f|0,(_(q+65536>>16,E)|0)+((_(q&65535,E)|0)>>16)|0,16)|0;if((q|0)>16384)q=16384;else q=(q|0)<0?0:q}else{c[k+4>>2]=u-r;q=16384}r=d+28|0;w=b[r>>1]|0;l=w&65535;E=m<<16>>16;b[r>>1]=l+((_(q-(w<<16>>16)>>16,E)|0)+((_(q-l&65535,E)|0)>>>16));a[j>>0]=0;a:do if(!n){do if(!(b[d+30>>1]|0)){if((u<<3|0)>=(f*13|0)){q=c[r>>2]|0;E=q<<16>>16;if(((_(s>>16,E)|0)+((_(s&65535,E)|0)>>16)|0)<819)q=q&65535;else{if((q>>>16&65535)<<16>>16){z=23;break}q=b[r>>1]|0;break}}else q=b[r>>1]|0;c[A>>2]=(_(q<<16>>16,x<<16>>16)|0)>>14;c[y>>2]=(_(q<<16>>16,t<<16>>16)|0)>>14;Pd(A,h);c[A>>2]=0;c[y>>2]=0;c[k>>2]=u;c[k+4>>2]=0;a[j>>0]=1;r=0;z=31;break a}else z=23;while(0);do if((z|0)==23){if((u<<3|0)>=(f*11|0)){q=b[r>>1]|0;E=q<<16>>16;if(((_(s>>16,E)|0)+((_(s&65535,E)|0)>>16)|0)>=328)break}else q=b[r>>1]|0;q=q<<16>>16;c[A>>2]=(_(q,x<<16>>16)|0)>>14;c[y>>2]=(_(q,t<<16>>16)|0)>>14;Pd(A,h);c[A>>2]=0;c[y>>2]=0;q=0;z=30;break a}while(0);if(q<<16>>16>15565){Pd(A,h);q=16384;z=30;break}else{q=q<<16>>16;c[A>>2]=(_(q,x<<16>>16)|0)>>14;c[y>>2]=(_(q,t<<16>>16)|0)>>14;Pd(A,h);q=b[r>>1]|0;z=30;break}}else{c[A>>2]=0;c[y>>2]=0;Pd(A,h);q=0;z=30}while(0);if((z|0)==30)if((a[j>>0]|0)==1){r=q;z=31}else{b[d+32>>1]=0;z=35}do if((z|0)==31){q=d+32|0;E=(e[q>>1]|0)+(p-(o<<3))|0;b[q>>1]=E;if((E<<16>>16|0)<(o*5|0)){a[j>>0]=0;z=36;break}else{b[q>>1]=1e4;q=r;z=35;break}}while(0);if((z|0)==35)if(!(a[j>>0]|0)){r=q;z=36}if((z|0)==36){q=k+4|0;if((c[q>>2]|0)<1){c[q>>2]=1;c[k>>2]=(u|0)<2?1:u+-1|0;q=r}else q=r}m=c[d>>2]|0;n=d+30|0;t=b[n>>1]|0;v=t<<16>>16;r=o<<3;x=c[A>>2]|0;s=(65536/(r|0)|0)<<16>>16;w=((_(x-m<<16>>16,s)|0)>>15)+1>>1;l=c[y>>2]|0;f=((_(l-(m>>>16)<<16>>16,s)|0)>>15)+1>>1;s=(_(q-v>>16,s)|0)+((_(q-(t&65535)&65535,s)|0)>>16)<<10;t=0;u=0-(m<<16>>16)|0;m=0-(m>>16)|0;v=v<<10;while(1){if((t|0)>=(r|0))break;o=u-w|0;A=m-f|0;E=v+s|0;k=t+1|0;z=b[B+(k<<1)>>1]|0;y=(b[B+(t<<1)>>1]|0)+(b[B+(t+2<<1)>>1]|0)+(z<<1)|0;F=b[C+(k<<1)>>1]|0;h=o<<16>>16;j=A<<16>>16;j=((_(E>>16,F)|0)+((_(E&64512,F)|0)>>16)+((_(y>>7,h)|0)+((_(y<<9&65024,h)|0)>>16))+((_(z>>5,j)|0)+((_(z<<11&63488,j)|0)>>16))>>7)+1>>1;b[g+(t+-1<<1)>>1]=(j|0)>32767?32767:((j|0)<-32768?-32768:j)&65535;t=k;u=o;m=A;v=E}f=d+2|0;s=q>>6;t=q<<10&64512;u=0-x<<16>>16;m=0-l<<16>>16;while(1){if((r|0)>=(p|0))break;F=r+1|0;E=b[B+(F<<1)>>1]|0;A=(b[B+(r<<1)>>1]|0)+(b[B+(r+2<<1)>>1]|0)+(E<<1)|0;o=b[C+(F<<1)>>1]|0;E=((_(s,o)|0)+((_(t,o)|0)>>16)+((_(A>>7,u)|0)+((_(A<<9&65024,u)|0)>>16))+((_(E>>5,m)|0)+((_(E<<11&63488,m)|0)>>16))>>7)+1>>1;b[g+(r+-1<<1)>>1]=(E|0)>32767?32767:((E|0)<-32768?-32768:E)&65535;r=F}b[d>>1]=x;b[f>>1]=l;b[n>>1]=q;i=D;return}function Ed(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;if((a|0)<=0)if(!a)e=32;else{d=0-a|0;f=3}else{d=a;f=3}if((f|0)==3)e=aa(d|0)|0;a=a<
>16|0)|0)<<16>>16;g=(_(a>>16,b)|0)+((_(a&65535,b)|0)>>16)|0;f=zf(f|0,((f|0)<0)<<31>>31|0,g|0,((g|0)<0)<<31>>31|0)|0;f=qf(f|0,C|0,29)|0;f=a-(f&-8)|0;b=g+((_(f>>16,b)|0)+((_(f&65535,b)|0)>>16))|0;d=e+28-d-c|0;if((d|0)>=0)return ((d|0)<32?b>>d:0)|0;d=0-d|0;a=-2147483648>>d;e=2147483647>>>d;if((a|0)>(e|0)){if((b|0)>(a|0)){g=a;g=g< (e|0)){g=e;g=g< >2]=b;c[a+8>>2]=193536;c[a+12>>2]=193536;c[a+4756>>2]=1;b=a+32|0;d=b+112|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));b=0;while(1){if((b|0)==4){b=0;break}d=b+1|0;e=50/(d|0)|0;c[a+124+(b<<2)>>2]=(e|0)>1?e:1;b=d}while(1){if((b|0)==4)break;e=(c[a+124+(b<<2)>>2]|0)*100|0;c[a+92+(b<<2)>>2]=e;c[a+108+(b<<2)>>2]=2147483647/(e|0)|0;b=b+1|0}c[a+140>>2]=15;b=0;while(1){if((b|0)==4)break;c[a+72+(b<<2)>>2]=25600;b=b+1|0}return 0}function Gd(a,d){a=a|0;d=d|0;var e=0,f=0,h=0,j=0.0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+304|0;r=u;p=a+4668|0;f=c[p>>2]|0;if((f|0)==(d|0)?(e=a+4648|0,(c[a+4652>>2]|0)==(c[e>>2]|0)):0){s=e;t=0;s=c[s>>2]|0;a=a+4652|0;c[a>>2]=s;i=u;return t|0}if(!f){t=a+4648|0;s=t;t=Hd(a+5868|0,c[t>>2]|0,d*1e3|0,1)|0;s=c[s>>2]|0;a=a+4652|0;c[a>>2]=s;i=u;return t|0}q=((c[a+4672>>2]|0)*10|0)+5|0;o=_(q,f)|0;f=_(q,d)|0;s=Fa()|0;t=i;i=i+((1*(((o|0)>(f|0)?o:f)<<1)|0)+15&-16)|0;e=o;while(1){n=e+-1|0;if((e|0)<=0)break;j=+g[a+7272+(n<<2)>>2];h=(g[k>>2]=j,c[k>>2]|0);l=(h&2130706432)>>>0>1249902592;if(!l){e=(h|0)<0;m=e?j+-8388608.0+8388608.0:j+8388608.0+-8388608.0;if(m==0.0)m=e?-0.0:0.0}else m=j;if((~~m|0)<=32767){if(!l){e=(h|0)<0;m=e?j+-8388608.0+8388608.0:j+8388608.0+-8388608.0;if(m==0.0)m=e?-0.0:0.0}else m=j;if((~~m|0)<-32768)e=-32768;else{if(!l){e=(h|0)<0;j=e?j+-8388608.0+8388608.0:j+8388608.0+-8388608.0;if(j==0.0)j=e?-0.0:0.0}e=~~j}}else e=32767;b[t+(n<<1)>>1]=e;e=n}n=a+4648|0;l=Hd(r,(c[p>>2]<<16>>16)*1e3|0,c[n>>2]|0,0)|0;q=_(q,(c[n>>2]|0)/1e3|0)|0;p=i;i=i+((1*(q<<1)|0)+15&-16)|0;Id(r,p,t,o);r=a+5868|0;h=Hd(r,c[n>>2]|0,(d<<16>>16)*1e3|0,1)|0;Id(r,t,p,q);while(1){e=f+-1|0;if((f|0)<=0)break;g[a+7272+(e<<2)>>2]=+(b[t+(e<<1)>>1]|0);f=e}Na(s|0);s=n;t=l+h|0;s=c[s>>2]|0;a=a+4652|0;c[a>>2]=s;i=u;return t|0}function Hd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;nf(b|0,0,300)|0;if(!f){a:do if((d|0)>=12e3)if((d|0)<16e3){switch(d|0){case 12e3:break a;default:f=-1}return f|0}else{switch(d|0){case 16e3:break a;default:f=-1}return f|0}else{switch(d|0){case 8e3:break a;default:f=-1}return f|0}while(0);b:do if((e|0)<16e3)if((e|0)<12e3){switch(e|0){case 8e3:break b;default:f=-1}return f|0}else{switch(e|0){case 12e3:break b;default:f=-1}return f|0}else{if((e|0)<24e3){switch(e|0){case 16e3:break b;default:f=-1}return f|0}if((e|0)<48e3){switch(e|0){case 24e3:break b;default:f=-1}return f|0}else{switch(e|0){case 48e3:break b;default:f=-1}return f|0}}while(0);c[b+292>>2]=a[((e>>12)-((e|0)>16e3&1)>>((e|0)>24e3&1))+-1+(31150+((((d>>12)-((d|0)>16e3&1)>>((d|0)>24e3&1))+-1|0)*5|0))>>0]}else{c:do if((d|0)<16e3)if((d|0)<12e3){switch(d|0){case 8e3:break c;default:f=-1}return f|0}else{switch(d|0){case 12e3:break c;default:f=-1}return f|0}else{if((d|0)<24e3){switch(d|0){case 16e3:break c;default:f=-1}return f|0}if((d|0)<48e3){switch(d|0){case 24e3:break c;default:f=-1}return f|0}else{switch(d|0){case 48e3:break c;default:f=-1}return f|0}}while(0);d:do if((e|0)>=12e3)if((e|0)<16e3){switch(e|0){case 12e3:break d;default:f=-1}return f|0}else{switch(e|0){case 16e3:break d;default:f=-1}return f|0}else{switch(e|0){case 8e3:break d;default:f=-1}return f|0}while(0);c[b+292>>2]=a[((e>>12)-((e|0)>16e3&1)>>((e|0)>24e3&1))+-1+(31135+((((d>>12)-((d|0)>16e3&1)>>((d|0)>24e3&1))+-1|0)*3|0))>>0]}i=(d|0)/1e3|0;c[b+284>>2]=i;c[b+288>>2]=(e|0)/1e3|0;c[b+268>>2]=i*10;do if((e|0)>(d|0)){f=b+264|0;if((d<<1|0)==(e|0)){c[f>>2]=1;f=0;break}else{c[f>>2]=2;f=1;break}}else{f=b+264|0;if((e|0)>=(d|0)){c[f>>2]=0;f=0;break}c[f>>2]=3;f=e<<2;if((f|0)==(d*3|0)){c[b+280>>2]=3;c[b+276>>2]=18;c[b+296>>2]=25418;f=0;break}g=e*3|0;if((g|0)==(d<<1|0)){c[b+280>>2]=2;c[b+276>>2]=18;c[b+296>>2]=25476;f=0;break}if((e<<1|0)==(d|0)){c[b+280>>2]=1;c[b+276>>2]=24;c[b+296>>2]=25516;f=0;break}if((g|0)==(d|0)){c[b+280>>2]=1;c[b+276>>2]=36;c[b+296>>2]=25544;f=0;break}if((f|0)==(d|0)){c[b+280>>2]=1;c[b+276>>2]=36;c[b+296>>2]=25584;f=0;break}if((e*6|0)==(d|0)){c[b+280>>2]=1;c[b+276>>2]=36;c[b+296>>2]=25624;f=0;break}else{d=-1;return d|0}}while(0);g=((d<<(f|14)|0)/(e|0)|0)<<2;h=b+272|0;c[h>>2]=g;i=e<<16>>16;b=(e>>15)+1>>1;f=d< >16,i)|0)+((_(g&65535,i)|0)>>16)+(_(g,b)|0)|0)>=(f|0)){f=0;break}d=g+1|0;c[h>>2]=d;g=d}return f|0}function Id(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=a+284|0;h=a+292|0;i=c[h>>2]|0;g=(c[f>>2]|0)-i|0;rf(a+168+(i<<1)|0,d|0,g<<1|0)|0;switch(c[a+264>>2]|0){case 1:{i=a+168|0;Ld(a,b,i,c[f>>2]|0);Ld(a,b+(c[a+288>>2]<<1)|0,d+(g<<1)|0,e-(c[f>>2]|0)|0);f=i;break}case 2:{i=a+168|0;Kd(a,b,i,c[f>>2]|0);Kd(a,b+(c[a+288>>2]<<1)|0,d+(g<<1)|0,e-(c[f>>2]|0)|0);f=i;break}case 3:{i=a+168|0;Jd(a,b,i,c[f>>2]|0);Jd(a,b+(c[a+288>>2]<<1)|0,d+(g<<1)|0,e-(c[f>>2]|0)|0);f=i;break}default:{i=a+168|0;rf(b|0,i|0,c[f>>2]<<1|0)|0;rf(b+(c[a+288>>2]<<1)|0,d+(g<<1)|0,e-(c[f>>2]|0)<<1|0)|0;f=i}}i=c[h>>2]|0;rf(f|0,d+(e-i<<1)|0,i<<1|0)|0;return}function Jd(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;N=i;n=a+268|0;l=c[n>>2]|0;x=a+276|0;k=c[x>>2]|0;K=i;i=i+((1*(l+k<<2)|0)+15&-16)|0;L=a+24|0;rf(K|0,L|0,k<<2|0)|0;M=a+296|0;J=c[M>>2]|0;o=J+4|0;p=c[a+272>>2]|0;q=a+4|0;r=a+280|0;s=J+6|0;t=J+8|0;u=J+10|0;v=J+12|0;w=J+14|0;y=J+16|0;z=J+18|0;A=J+20|0;B=J+22|0;C=J+24|0;D=J+26|0;E=J+28|0;F=J+30|0;G=J+32|0;H=J+34|0;I=J+36|0;J=J+38|0;m=e;e=l;while(1){l=(f|0)<(e|0)?f:e;e=K+(k<<2)|0;g=c[M>>2]|0;h=g+2|0;j=0;while(1){if((j|0)>=(l|0))break;P=(c[a>>2]|0)+(b[m+(j<<1)>>1]<<8)|0;c[e+(j<<2)>>2]=P;P=P<<2;Q=P>>16;O=b[g>>1]|0;P=P&65532;c[a>>2]=(c[q>>2]|0)+((_(Q,O)|0)+((_(P,O)|0)>>16));O=b[h>>1]|0;c[q>>2]=(_(Q,O)|0)+((_(P,O)|0)>>16);j=j+1|0}j=l<<16;e=c[r>>2]|0;a:do switch(k|0){case 18:{h=e<<16>>16;g=e+-1|0;e=0;while(1){if((e|0)>=(j|0))break a;P=K+(e>>16<<2)|0;Q=(_(e&65535,h)|0)>>16;O=o+(Q*9<<1)|0;k=c[P>>2]|0;S=b[O>>1]|0;S=(_(k>>16,S)|0)+((_(k&65535,S)|0)>>16)|0;k=c[P+4>>2]|0;R=b[O+2>>1]|0;R=S+((_(k>>16,R)|0)+((_(k&65535,R)|0)>>16))|0;k=c[P+8>>2]|0;S=b[O+4>>1]|0;S=R+((_(k>>16,S)|0)+((_(k&65535,S)|0)>>16))|0;k=c[P+12>>2]|0;R=b[O+6>>1]|0;R=S+((_(k>>16,R)|0)+((_(k&65535,R)|0)>>16))|0;k=c[P+16>>2]|0;S=b[O+8>>1]|0;S=R+((_(k>>16,S)|0)+((_(k&65535,S)|0)>>16))|0;k=c[P+20>>2]|0;R=b[O+10>>1]|0;R=S+((_(k>>16,R)|0)+((_(k&65535,R)|0)>>16))|0;k=c[P+24>>2]|0;S=b[O+12>>1]|0;S=R+((_(k>>16,S)|0)+((_(k&65535,S)|0)>>16))|0;k=c[P+28>>2]|0;R=b[O+14>>1]|0;R=S+((_(k>>16,R)|0)+((_(k&65535,R)|0)>>16))|0;k=c[P+32>>2]|0;O=b[O+16>>1]|0;O=R+((_(k>>16,O)|0)+((_(k&65535,O)|0)>>16))|0;Q=o+((g-Q|0)*9<<1)|0;k=c[P+68>>2]|0;R=b[Q>>1]|0;R=O+((_(k>>16,R)|0)+((_(k&65535,R)|0)>>16))|0;k=c[P+64>>2]|0;O=b[Q+2>>1]|0;O=R+((_(k>>16,O)|0)+((_(k&65535,O)|0)>>16))|0;k=c[P+60>>2]|0;R=b[Q+4>>1]|0;R=O+((_(k>>16,R)|0)+((_(k&65535,R)|0)>>16))|0;k=c[P+56>>2]|0;O=b[Q+6>>1]|0;O=R+((_(k>>16,O)|0)+((_(k&65535,O)|0)>>16))|0;k=c[P+52>>2]|0;R=b[Q+8>>1]|0;R=O+((_(k>>16,R)|0)+((_(k&65535,R)|0)>>16))|0;k=c[P+48>>2]|0;O=b[Q+10>>1]|0;O=R+((_(k>>16,O)|0)+((_(k&65535,O)|0)>>16))|0;k=c[P+44>>2]|0;R=b[Q+12>>1]|0;R=O+((_(k>>16,R)|0)+((_(k&65535,R)|0)>>16))|0;k=c[P+40>>2]|0;O=b[Q+14>>1]|0;O=R+((_(k>>16,O)|0)+((_(k&65535,O)|0)>>16))|0;P=c[P+36>>2]|0;Q=b[Q+16>>1]|0;Q=(O+((_(P>>16,Q)|0)+((_(P&65535,Q)|0)>>16))>>5)+1>>1;b[d>>1]=(Q|0)>32767?32767:((Q|0)<-32768?-32768:Q)&65535;d=d+2|0;e=e+p|0}}case 24:{e=0;while(1){if((e|0)>=(j|0))break a;R=K+(e>>16<<2)|0;S=(c[R>>2]|0)+(c[R+92>>2]|0)|0;Q=b[o>>1]|0;Q=(_(S>>16,Q)|0)+((_(S&65535,Q)|0)>>16)|0;S=(c[R+4>>2]|0)+(c[R+88>>2]|0)|0;P=b[s>>1]|0;P=Q+((_(S>>16,P)|0)+((_(S&65535,P)|0)>>16))|0;S=(c[R+8>>2]|0)+(c[R+84>>2]|0)|0;Q=b[t>>1]|0;Q=P+((_(S>>16,Q)|0)+((_(S&65535,Q)|0)>>16))|0;S=(c[R+12>>2]|0)+(c[R+80>>2]|0)|0;P=b[u>>1]|0;P=Q+((_(S>>16,P)|0)+((_(S&65535,P)|0)>>16))|0;S=(c[R+16>>2]|0)+(c[R+76>>2]|0)|0;Q=b[v>>1]|0;Q=P+((_(S>>16,Q)|0)+((_(S&65535,Q)|0)>>16))|0;S=(c[R+20>>2]|0)+(c[R+72>>2]|0)|0;P=b[w>>1]|0;P=Q+((_(S>>16,P)|0)+((_(S&65535,P)|0)>>16))|0;S=(c[R+24>>2]|0)+(c[R+68>>2]|0)|0;Q=b[y>>1]|0;Q=P+((_(S>>16,Q)|0)+((_(S&65535,Q)|0)>>16))|0;S=(c[R+28>>2]|0)+(c[R+64>>2]|0)|0;P=b[z>>1]|0;P=Q+((_(S>>16,P)|0)+((_(S&65535,P)|0)>>16))|0;S=(c[R+32>>2]|0)+(c[R+60>>2]|0)|0;Q=b[A>>1]|0;Q=P+((_(S>>16,Q)|0)+((_(S&65535,Q)|0)>>16))|0;S=(c[R+36>>2]|0)+(c[R+56>>2]|0)|0;P=b[B>>1]|0;P=Q+((_(S>>16,P)|0)+((_(S&65535,P)|0)>>16))|0;S=(c[R+40>>2]|0)+(c[R+52>>2]|0)|0;Q=b[C>>1]|0;Q=P+((_(S>>16,Q)|0)+((_(S&65535,Q)|0)>>16))|0;R=(c[R+44>>2]|0)+(c[R+48>>2]|0)|0;S=b[D>>1]|0;S=(Q+((_(R>>16,S)|0)+((_(R&65535,S)|0)>>16))>>5)+1>>1;b[d>>1]=(S|0)>32767?32767:((S|0)<-32768?-32768:S)&65535;d=d+2|0;e=e+p|0}}case 36:{e=0;while(1){if((e|0)>=(j|0))break a;R=K+(e>>16<<2)|0;S=(c[R>>2]|0)+(c[R+140>>2]|0)|0;Q=b[o>>1]|0;Q=(_(S>>16,Q)|0)+((_(S&65535,Q)|0)>>16)|0;S=(c[R+4>>2]|0)+(c[R+136>>2]|0)|0;P=b[s>>1]|0;P=Q+((_(S>>16,P)|0)+((_(S&65535,P)|0)>>16))|0;S=(c[R+8>>2]|0)+(c[R+132>>2]|0)|0;Q=b[t>>1]|0;Q=P+((_(S>>16,Q)|0)+((_(S&65535,Q)|0)>>16))|0;S=(c[R+12>>2]|0)+(c[R+128>>2]|0)|0;P=b[u>>1]|0;P=Q+((_(S>>16,P)|0)+((_(S&65535,P)|0)>>16))|0;S=(c[R+16>>2]|0)+(c[R+124>>2]|0)|0;Q=b[v>>1]|0;Q=P+((_(S>>16,Q)|0)+((_(S&65535,Q)|0)>>16))|0;S=(c[R+20>>2]|0)+(c[R+120>>2]|0)|0;P=b[w>>1]|0;P=Q+((_(S>>16,P)|0)+((_(S&65535,P)|0)>>16))|0;S=(c[R+24>>2]|0)+(c[R+116>>2]|0)|0;Q=b[y>>1]|0;Q=P+((_(S>>16,Q)|0)+((_(S&65535,Q)|0)>>16))|0;S=(c[R+28>>2]|0)+(c[R+112>>2]|0)|0;P=b[z>>1]|0;P=Q+((_(S>>16,P)|0)+((_(S&65535,P)|0)>>16))|0;S=(c[R+32>>2]|0)+(c[R+108>>2]|0)|0;Q=b[A>>1]|0;Q=P+((_(S>>16,Q)|0)+((_(S&65535,Q)|0)>>16))|0;S=(c[R+36>>2]|0)+(c[R+104>>2]|0)|0;P=b[B>>1]|0;P=Q+((_(S>>16,P)|0)+((_(S&65535,P)|0)>>16))|0;S=(c[R+40>>2]|0)+(c[R+100>>2]|0)|0;Q=b[C>>1]|0;Q=P+((_(S>>16,Q)|0)+((_(S&65535,Q)|0)>>16))|0;S=(c[R+44>>2]|0)+(c[R+96>>2]|0)|0;P=b[D>>1]|0;P=Q+((_(S>>16,P)|0)+((_(S&65535,P)|0)>>16))|0;S=(c[R+48>>2]|0)+(c[R+92>>2]|0)|0;Q=b[E>>1]|0;Q=P+((_(S>>16,Q)|0)+((_(S&65535,Q)|0)>>16))|0;S=(c[R+52>>2]|0)+(c[R+88>>2]|0)|0;P=b[F>>1]|0;P=Q+((_(S>>16,P)|0)+((_(S&65535,P)|0)>>16))|0;S=(c[R+56>>2]|0)+(c[R+84>>2]|0)|0;Q=b[G>>1]|0;Q=P+((_(S>>16,Q)|0)+((_(S&65535,Q)|0)>>16))|0;S=(c[R+60>>2]|0)+(c[R+80>>2]|0)|0;P=b[H>>1]|0;P=Q+((_(S>>16,P)|0)+((_(S&65535,P)|0)>>16))|0;S=(c[R+64>>2]|0)+(c[R+76>>2]|0)|0;Q=b[I>>1]|0;Q=P+((_(S>>16,Q)|0)+((_(S&65535,Q)|0)>>16))|0;R=(c[R+68>>2]|0)+(c[R+72>>2]|0)|0;S=b[J>>1]|0;S=(Q+((_(R>>16,S)|0)+((_(R&65535,S)|0)>>16))>>5)+1>>1;b[d>>1]=(S|0)>32767?32767:((S|0)<-32768?-32768:S)&65535;d=d+2|0;e=e+p|0}}default:{}}while(0);f=f-l|0;if((f|0)<=1)break;k=c[x>>2]|0;rf(K|0,K+(l<<2)|0,k<<2|0)|0;m=m+(l<<1)|0;e=c[n>>2]|0}rf(L|0,K+(l<<2)|0,c[x>>2]<<2|0)|0;i=N;return}function Kd(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=i;k=a+268|0;j=c[k>>2]|0;l=i;i=i+((1*((j<<1)+8<<1)|0)+15&-16)|0;m=a+24|0;b[l>>1]=b[m>>1]|0;b[l+2>>1]=b[m+2>>1]|0;b[l+4>>1]=b[m+4>>1]|0;b[l+6>>1]=b[m+6>>1]|0;b[l+8>>1]=b[m+8>>1]|0;b[l+10>>1]=b[m+10>>1]|0;b[l+12>>1]=b[m+12>>1]|0;b[l+14>>1]=b[m+14>>1]|0;n=c[a+272>>2]|0;o=l+16|0;g=d;d=j;while(1){j=(f|0)<(d|0)?f:d;Ld(a,o,e,j);h=j<<17;d=0;while(1){if((d|0)>=(h|0))break;q=((d&65535)*12|0)>>>16;r=l+(d>>16<<1)|0;s=_(b[r>>1]|0,b[25664+(q<<3)>>1]|0)|0;s=s+(_(b[r+2>>1]|0,b[25664+(q<<3)+2>>1]|0)|0)|0;s=s+(_(b[r+4>>1]|0,b[25664+(q<<3)+4>>1]|0)|0)|0;s=s+(_(b[r+6>>1]|0,b[25664+(q<<3)+6>>1]|0)|0)|0;q=11-q|0;s=s+(_(b[r+8>>1]|0,b[25664+(q<<3)+6>>1]|0)|0)|0;s=s+(_(b[r+10>>1]|0,b[25664+(q<<3)+4>>1]|0)|0)|0;s=s+(_(b[r+12>>1]|0,b[25664+(q<<3)+2>>1]|0)|0)|0;q=(s+(_(b[r+14>>1]|0,b[25664+(q<<3)>>1]|0)|0)>>14)+1>>1;b[g>>1]=(q|0)>32767?32767:((q|0)<-32768?-32768:q)&65535;g=g+2|0;d=d+n|0}f=f-j|0;if((f|0)<=0)break;d=l+(j<<1<<1)|0;b[l>>1]=b[d>>1]|0;b[l+2>>1]=b[d+2>>1]|0;b[l+4>>1]=b[d+4>>1]|0;b[l+6>>1]=b[d+6>>1]|0;b[l+8>>1]=b[d+8>>1]|0;b[l+10>>1]=b[d+10>>1]|0;b[l+12>>1]=b[d+12>>1]|0;b[l+14>>1]=b[d+14>>1]|0;e=e+(j<<1)|0;d=c[k>>2]|0}s=l+(j<<1<<1)|0;b[m>>1]=b[s>>1]|0;b[m+2>>1]=b[s+2>>1]|0;b[m+4>>1]=b[s+4>>1]|0;b[m+6>>1]=b[s+6>>1]|0;b[m+8>>1]=b[s+8>>1]|0;b[m+10>>1]=b[s+10>>1]|0;b[m+12>>1]=b[s+12>>1]|0;b[m+14>>1]=b[s+14>>1]|0;i=p;return}function Ld(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=a+4|0;h=a+8|0;i=a+12|0;j=a+16|0;k=a+20|0;l=0;while(1){if((l|0)>=(f|0))break;p=b[e+(l<<1)>>1]<<10;n=c[a>>2]|0;m=p-n|0;m=((m>>16)*1746|0)+(((m&65535)*1746|0)>>>16)|0;n=n+m|0;c[a>>2]=p+m;m=c[g>>2]|0;o=n-m|0;o=((o>>16)*14986|0)+(((o&65535)*14986|0)>>>16)|0;m=m+o|0;c[g>>2]=n+o;o=m-(c[h>>2]|0)|0;n=(_(o>>16,-26453)|0)+((_(o&65535,-26453)|0)>>16)|0;c[h>>2]=m+(o+n);n=(m+n>>9)+1>>1;m=l<<1;b[d+(m<<1)>>1]=(n|0)>32767?32767:((n|0)<-32768?-32768:n)&65535;n=c[i>>2]|0;o=p-n|0;o=((o>>16)*6854|0)+(((o&65535)*6854|0)>>>16)|0;n=n+o|0;c[i>>2]=p+o;o=c[j>>2]|0;p=n-o|0;p=((p>>16)*25769|0)+(((p&65535)*25769|0)>>>16)|0;o=o+p|0;c[j>>2]=n+p;p=o-(c[k>>2]|0)|0;n=(_(p>>16,-9994)|0)+((_(p&65535,-9994)|0)>>16)|0;c[k>>2]=o+(p+n);n=(o+n>>9)+1>>1;b[d+((m|1)<<1)>>1]=(n|0)>32767?32767:((n|0)<-32768?-32768:n)&65535;l=l+1|0}return}function Md(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+32|0;s=t;q=a+28|0;j=c[q>>2]|0;r=a+32|0;f=c[r>>2]|0;g=j>>>8;k=-1;while(1){k=k+1|0;h=_(g,d[29891+k>>0]|0)|0;if(f>>>0>=h>>>0)break;else j=h}l=f-h|0;c[r>>2]=l;f=j-h|0;c[q>>2]=f;m=a+20|0;n=a+40|0;o=a+24|0;p=a+4|0;j=l;while(1){if(f>>>0>=8388609)break;c[m>>2]=(c[m>>2]|0)+8;f=f<<8;c[q>>2]=f;h=c[n>>2]|0;g=c[o>>2]|0;if(g>>>0<(c[p>>2]|0)>>>0){c[o>>2]=g+1;g=d[(c[a>>2]|0)+g>>0]|0}else g=0;c[n>>2]=g;l=((h<<8|g)>>>1&255|j<<8&2147483392)^255;c[r>>2]=l;j=l}l=(k|0)/5|0;c[s+8>>2]=l;c[s+20>>2]=k+(_(l,-5)|0);l=0;while(1){if((l|0)==2){f=0;break}h=f>>>8;k=-1;while(1){k=k+1|0;g=_(h,d[29944+k>>0]|0)|0;if(j>>>0>=g>>>0)break;else f=g}j=j-g|0;c[r>>2]=j;f=f-g|0;c[q>>2]=f;while(1){if(f>>>0>=8388609)break;c[m>>2]=(c[m>>2]|0)+8;f=f<<8;c[q>>2]=f;h=c[n>>2]|0;g=c[o>>2]|0;if(g>>>0<(c[p>>2]|0)>>>0){c[o>>2]=g+1;g=d[(c[a>>2]|0)+g>>0]|0}else g=0;c[n>>2]=g;h=((h<<8|g)>>>1&255|j<<8&2147483392)^255;c[r>>2]=h;j=h}c[s+(l*12|0)>>2]=k;h=f>>>8;k=-1;while(1){k=k+1|0;g=_(h,d[29951+k>>0]|0)|0;if(j>>>0>=g>>>0)break;else f=g}j=j-g|0;c[r>>2]=j;f=f-g|0;c[q>>2]=f;while(1){if(f>>>0>=8388609)break;c[m>>2]=(c[m>>2]|0)+8;f=f<<8;c[q>>2]=f;h=c[n>>2]|0;g=c[o>>2]|0;if(g>>>0<(c[p>>2]|0)>>>0){c[o>>2]=g+1;g=d[(c[a>>2]|0)+g>>0]|0}else g=0;c[n>>2]=g;h=((h<<8|g)>>>1&255|j<<8&2147483392)^255;c[r>>2]=h;j=h}c[s+(l*12|0)+4>>2]=k;l=l+1|0}while(1){if((f|0)==2)break;r=s+(f*12|0)|0;a=(c[r>>2]|0)+((c[s+(f*12|0)+8>>2]|0)*3|0)|0;c[r>>2]=a;r=b[25372+(a<<1)>>1]|0;a=b[25372+(a+1<<1)>>1]|0;a=(_((a<<16>>16)-r>>16,429522944)|0)+(((a&65535)-r&65535)*6554|0)>>16;c[e+(f<<2)>>2]=r+(_(a,c[s+(f*12|0)+4>>2]<<17>>16|1)|0);f=f+1|0}c[e>>2]=(c[e>>2]|0)-(c[e+4>>2]|0);i=t;return}function Nd(a,d,e,f,g,h){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var 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;v=i;i=i+16|0;o=v+12|0;p=v+8|0;j=v+4|0;r=v;ze(j,o,d,g);ze(r,p,e,g);o=c[o>>2]|0;p=c[p>>2]|0;k=(o|0)>(p|0)?o:p;k=k+(k&1)|0;p=c[r>>2]>>k-p;c[r>>2]=p;o=c[j>>2]>>k-o;o=(o|0)>1?o:1;c[j>>2]=o;j=0;q=0;while(1){if((j|0)>=(g|0))break;u=q+((_(b[d+(j<<1)>>1]|0,b[e+(j<<1)>>1]|0)|0)>>k)|0;j=j+1|0;q=u}u=Od(q,o,13)|0;u=(u|0)>16384?16384:(u|0)<-16384?-16384:u;l=u<<16>>16;m=(_(u>>16,l)|0)+((_(u&65535,l)|0)>>16)|0;e=(m|0)>0?m:0-m|0;e=(e|0)<(h|0)?h:e;t=k>>1;h=c[f>>2]|0;d=aa(o|0)|0;j=24-d|0;g=0-j|0;do if(j)if((j|0)<0){j=o< >>(j+32|0);break}else{j=o<<32-j|o>>>j;break}else j=o;while(0);g=((d&1|0)==0?46214:32768)>>>(d>>>1);d=(_(j&127,13959168)|0)>>>16;s=e<<16>>16;d=_((g+((_(g>>16,d)|0)+((_(g&65535,d)|0)>>>16))< >16,s)|0;e=aa(o|0)|0;j=24-e|0;g=0-j|0;do if(j)if((j|0)<0){j=o< >>(j+32|0);break}else{j=o<<32-j|o>>>j;break}else j=o;while(0);k=((e&1|0)==0?46214:32768)>>>(e>>>1);n=(_(j&127,13959168)|0)>>>16;n=h+(d+((_((k+((_(k>>16,n)|0)+((_(k&65535,n)|0)>>>16))< >16))|0;c[f>>2]=n;j=m<<16>>16;j=p-((_(q>>16,l)|0)+((_(q&65535,l)|0)>>16)<<4)+((_(o>>16,j)|0)+((_(o&65535,j)|0)>>16)<<6)|0;c[r>>2]=j;l=f+4|0;m=c[l>>2]|0;h=(j|0)<1;if(h){f=0;r=_(0-m>>16,s)|0;t=f< >16;s=r+s|0;s=m+s|0;c[l>>2]=s;t=(n|0)>1;t=t?n:1;t=Od(s,t,14)|0;s=(t|0)>32767;r=(t|0)<0;t=r?0:t;t=s?32767:t;c[a>>2]=t;i=v;return u|0}e=aa(j|0)|0;g=24-e|0;d=0-g|0;do if(g)if((g|0)<0){g=j< >>(g+32|0);break}else{g=j<<32-g|j>>>g;break}else g=j;while(0);r=((e&1|0)==0?46214:32768)>>>(e>>>1);k=(_(g&127,13959168)|0)>>>16;k=_((r+((_(r>>16,k)|0)+((_(r&65535,k)|0)>>>16))< >16,s)|0;if(h){f=0;r=k;t=f< >16;s=r+s|0;s=m+s|0;c[l>>2]=s;t=(n|0)>1;t=t?n:1;t=Od(s,t,14)|0;s=(t|0)>32767;r=(t|0)<0;t=r?0:t;t=s?32767:t;c[a>>2]=t;i=v;return u|0}e=aa(j|0)|0;g=24-e|0;d=0-g|0;do if(g)if((g|0)<0){j=j< >>(g+32|0);break}else{j=j<<32-g|j>>>g;break}while(0);r=((e&1|0)==0?46214:32768)>>>(e>>>1);f=(_(j&127,13959168)|0)>>>16;f=r+((_(r>>16,f)|0)+((_(r&65535,f)|0)>>>16))|0;r=k;t=f< >16;s=r+s|0;s=m+s|0;c[l>>2]=s;t=(n|0)>1;t=t?n:1;t=Od(s,t,14)|0;s=(t|0)>32767;r=(t|0)<0;t=r?0:t;t=s?32767:t;c[a>>2]=t;i=v;return u|0}function Od(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;if((a|0)<=0)if(!a)e=32;else{d=0-a|0;f=3}else{d=a;f=3}if((f|0)==3)e=aa(d|0)|0;a=a< >16|0)|0)<<16>>16;g=(_(a>>16,b)|0)+((_(a&65535,b)|0)>>16)|0;f=zf(f|0,((f|0)<0)<<31>>31|0,g|0,((g|0)<0)<<31>>31|0)|0;f=qf(f|0,C|0,29)|0;f=a-(f&-8)|0;b=g+((_(f>>16,b)|0)+((_(f&65535,b)|0)>>16))|0;d=e+28-d-c|0;if((d|0)>=0)return ((d|0)<32?b>>d:0)|0;d=0-d|0;a=-2147483648>>d;e=2147483647>>>d;if((a|0)>(e|0)){if((b|0)>(a|0)){g=a;g=g< (e|0)){g=e;g=g< =15)break;l=b[25372+(g<<1)>>1]|0;m=g+1|0;n=b[25372+(m<<1)>>1]|0;n=(_((n<<16>>16)-l>>16,429522944)|0)+(((n&65535)-l&65535)*6554|0)>>16;k=g&255;i=h;j=0;while(1){if((j|0)>=5){h=i;g=m;continue a}g=l+(_(n,j<<17>>16|1)|0)|0;h=c[p>>2]|0;h=(h|0)>(g|0)?h-g|0:g-h|0;if((h|0)>=(i|0))break a;a[q>>0]=k;a[o>>0]=j;i=h;j=j+1|0;f=g}}n=a[q>>0]|0;o=(n<<24>>24|0)/3|0;a[e+(r*3|0)+2>>0]=o;a[q>>0]=(n&255)+(_(o,-3)|0);c[p>>2]=f;r=r+1|0}c[d>>2]=(c[d>>2]|0)-(c[d+4>>2]|0);return}function Qd(f,j,l,m,n,o){f=f|0;j=j|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0.0,r=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0,E=0,F=0,G=0,H=0.0,I=0.0,J=0,K=0.0,L=0.0,M=0.0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,$=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0.0,kb=0,lb=0;ib=i;i=i+35104|0;Qa=ib+272|0;Pa=ib+72|0;La=ib+29992|0;Ka=ib+29352|0;la=ib+28712|0;ma=ib+28392|0;Oa=ib+48|0;Na=ib+26008|0;Ma=ib+24472|0;da=ib+11992|0;ea=ib+11896|0;W=ib+33512|0;ia=ib+9176|0;ha=ib+6456|0;Q=ib+32232|0;R=ib+31272|0;P=ib+6384|0;Ga=ib+6320|0;Ia=ib+6256|0;Ha=ib+4720|0;bb=ib+23720|0;fa=ib+21032|0;eb=ib+20984|0;fb=ib+24|0;gb=ib;cb=ib+16536|0;db=ib+12088|0;ab=ib+12072|0;_a=ib+33824|0;$a=ib+12056|0;Ya=ib+33816|0;Za=ib+12040|0;c[$a>>2]=0;c[$a+4>>2]=0;c[$a+8>>2]=0;c[$a+12>>2]=0;Va=f+4712|0;Wa=c[Va>>2]|0;c[Va>>2]=Wa+1;Va=f+4862|0;a[Va>>0]=Wa&3;Wa=f+4684|0;ka=c[Wa>>2]|0;Xa=f+7272+(ka<<2)|0;ka=fa+(ka<<2)|0;J=f+5190|0;Ua=f+4676|0;p=c[Ua>>2]|0;s=c[f+28>>2]|0;if(s){t=f+24|0;u=c[t>>2]|0;r=256-u<<10;x=r>>16;r=r-(x<<16)|0;a:do if((x|0)<4){if((r|0)<=0){Ra=17528+(x*12|0)|0;c[Qa>>2]=c[Ra>>2];c[Qa+4>>2]=c[Ra+4>>2];c[Qa+8>>2]=c[Ra+8>>2];Ra=17588+(x<<3)|0;Sa=c[Ra+4>>2]|0;Ta=Pa;c[Ta>>2]=c[Ra>>2];c[Ta+4>>2]=Sa;break}y=x+1|0;z=r<<16>>16;if((r|0)<32768){r=0;while(1){if((r|0)==3){r=0;break}Sa=c[17528+(x*12|0)+(r<<2)>>2]|0;Ta=(c[17528+(y*12|0)+(r<<2)>>2]|0)-Sa|0;c[Qa+(r<<2)>>2]=Sa+((_(Ta>>16,z)|0)+((_(Ta&65535,z)|0)>>16));r=r+1|0}while(1){if((r|0)==2)break a;Sa=c[17588+(x<<3)+(r<<2)>>2]|0;Ta=(c[17588+(y<<3)+(r<<2)>>2]|0)-Sa|0;c[Pa+(r<<2)>>2]=Sa+((_(Ta>>16,z)|0)+((_(Ta&65535,z)|0)>>16));r=r+1|0}}else{r=0;while(1){if((r|0)==3){r=0;break}Sa=c[17528+(y*12|0)+(r<<2)>>2]|0;Ta=Sa-(c[17528+(x*12|0)+(r<<2)>>2]|0)|0;c[Qa+(r<<2)>>2]=Sa+((_(Ta>>16,z)|0)+((_(Ta&65535,z)|0)>>16));r=r+1|0}while(1){if((r|0)==2)break a;Sa=c[17588+(y<<3)+(r<<2)>>2]|0;Ta=Sa-(c[17588+(x<<3)+(r<<2)>>2]|0)|0;c[Pa+(r<<2)>>2]=Sa+((_(Ta>>16,z)|0)+((_(Ta&65535,z)|0)>>16));r=r+1|0}}}else{c[Qa>>2]=c[4394];c[Qa+4>>2]=c[4395];c[Qa+8>>2]=c[4396];Ta=Pa;c[Ta>>2]=35497197;c[Ta+4>>2]=57401098}while(0);r=u+s|0;c[t>>2]=(r|0)>256?256:(r|0)<0?0:r;r=f+16|0;z=0-(c[Pa>>2]|0)|0;s=z&16383;D=0-(c[Pa+4>>2]|0)|0;t=D&16383;x=c[Qa>>2]|0;u=x>>16;x=x&65535;y=f+20|0;z=z>>>14<<16>>16;B=c[Qa+4>>2]|0;A=B>>16;B=B&65535;D=D>>>14<<16>>16;F=c[Qa+8>>2]|0;E=F>>16;F=F&65535;G=0;while(1){if((G|0)>=(p|0))break;Ta=J+(G<<1)|0;Ra=b[Ta>>1]|0;Sa=(c[r>>2]|0)+((_(u,Ra)|0)+((_(x,Ra)|0)>>16))<<2;Ea=Sa>>16;Fa=Sa&65532;c[r>>2]=(c[y>>2]|0)+(((_(Ea,s)|0)+((_(Fa,s)|0)>>>16)>>13)+1>>1)+((_(Ea,z)|0)+((_(Fa,z)|0)>>16))+((_(A,Ra)|0)+((_(B,Ra)|0)>>16));c[y>>2]=(((_(Ea,t)|0)+((_(Fa,t)|0)>>>16)>>13)+1>>1)+((_(Ea,D)|0)+((_(Fa,D)|0)>>16))+((_(E,Ra)|0)+((_(F,Ra)|0)>>16));Sa=Sa+16383>>14;b[Ta>>1]=(Sa|0)>32767?32767:((Sa|0)<-32768?-32768:Sa)&65535;G=G+1|0}p=c[Ua>>2]|0}Ta=f+4668|0;s=Xa+((c[Ta>>2]|0)*5<<2)|0;while(1){r=p+-1|0;if((p|0)<=0){p=0;break}g[s+(r<<2)>>2]=+(b[J+(r<<1)>>1]|0);p=r}while(1){if((p|0)==8)break;Sa=Xa+(((c[Ta>>2]|0)*5|0)+(_(p,c[Ua>>2]>>3)|0)<<2)|0;g[Sa>>2]=+g[Sa>>2]+ +(1-(p&2)|0)*9.999999974752427e-07;p=p+1|0}Sa=f+4772|0;b:do if(!(c[Sa>>2]|0)){t=c[f+4688>>2]|0;A=c[Wa>>2]|0;z=t+(c[Ua>>2]|0)+A|0;A=Xa+(0-A<<2)|0;u=c[f+4640>>2]|0;p=A+(z<<2)+(0-u<<2)|0;v=3.1415927410125732/+(t+1|0);w=2.0-v*v;q=0.0;r=0;while(1){if((r|0)>=(t|0))break;g[Ha+(r<<2)>>2]=+g[p+(r<<2)>>2]*.5*(q+v);Ra=r|1;g[Ha+(Ra<<2)>>2]=+g[p+(Ra<<2)>>2]*v;M=w*v-q;Ra=r|2;g[Ha+(Ra<<2)>>2]=+g[p+(Ra<<2)>>2]*.5*(v+M);Ra=r|3;g[Ha+(Ra<<2)>>2]=+g[p+(Ra<<2)>>2]*M;q=M;v=w*M-v;r=r+4|0}Ra=Ha+(t<<2)|0;s=p+(t<<2)|0;r=u-(t<<1)|0;rf(Ra|0,s|0,r<<2|0)|0;p=Ra+(r<<2)|0;r=s+(r<<2)|0;q=1.0;v=w*.5;s=0;while(1){if((s|0)>=(t|0))break;g[p+(s<<2)>>2]=+g[r+(s<<2)>>2]*.5*(q+v);Ra=s|1;g[p+(Ra<<2)>>2]=+g[r+(Ra<<2)>>2]*v;M=w*v-q;Ra=s|2;g[p+(Ra<<2)>>2]=+g[r+(Ra<<2)>>2]*.5*(v+M);Ra=s|3;g[p+(Ra<<2)>>2]=+g[r+(Ra<<2)>>2]*M;q=M;v=w*M-v;s=s+4|0}y=f+4740|0;x=c[y>>2]|0;p=(x|0)<(u|0)?x+1|0:u;r=0;while(1){if((r|0)>=(p|0))break;g[P+(r<<2)>>2]=+Vd(Ha,Ha+(r<<2)|0,u-r|0);r=r+1|0}v=+g[P>>2];v=v+(v*1.0000000474974513e-03+1.0);g[P>>2]=v;p=0;while(1){if((p|0)>(x|0))break;M=+g[P+(p<<2)>>2];h[Qa+(p<<4)+8>>3]=M;h[Qa+(p<<4)>>3]=M;p=p+1|0}ja=Qa+8|0;s=0;c:while(1){if((x|0)<=(s|0))break;p=s+1|0;q=+h[ja>>3];q=-+h[Qa+(p<<4)>>3]/(q>9.999999717180685e-10?q:9.999999717180685e-10);g[Ia+(s<<2)>>2]=q;r=x-s|0;t=0;while(1){if((t|0)>=(r|0)){s=p;continue c}Fa=Qa+(t+s+1<<4)|0;M=+h[Fa>>3];Ra=Qa+(t<<4)+8|0;L=+h[Ra>>3];h[Fa>>3]=M+L*q;h[Ra>>3]=L+M*q;t=t+1|0}}M=+h[ja>>3];ga=bb+704|0;g[ga>>2]=v/(M>1.0?M:1.0);s=0;while(1){if((s|0)>=(x|0))break;q=+g[Ia+(s<<2)>>2];p=s+1|0;r=p>>1;t=0;while(1){if((t|0)>=(r|0))break;Fa=Ga+(t<<2)|0;M=+g[Fa>>2];Ra=Ga+(s-t+-1<<2)|0;L=+g[Ra>>2];g[Fa>>2]=M+L*q;g[Ra>>2]=L+M*q;t=t+1|0}g[Ga+(s<<2)>>2]=-q;s=p}p=x+-1|0;q=.9900000095367432;r=0;while(1){if((r|0)>=(p|0))break;Ra=Ga+(r<<2)|0;g[Ra>>2]=+g[Ra>>2]*q;q=q*.9900000095367432;r=r+1|0}Ra=Ga+(p<<2)|0;g[Ra>>2]=+g[Ra>>2]*q;Rd(fa,Ga,A,z,x);Ra=f+4857|0;p=a[Ra>>0]|0;do if(p<<24>>24!=0?(c[f+4756>>2]|0)==0:0){C=.6000000238418579-+(c[y>>2]|0)*.004000000189989805-+(c[f+4624>>2]|0)*.10000000149011612*.00390625-+(a[f+4633>>0]>>1|0)*.15000000596046448-+(c[f+4804>>2]|0)*.10000000149011612*.000030517578125;J=bb+228|0;ba=f+4854|0;ca=f+4856|0;P=f+10152|0;F=c[f+4636>>2]|0;w=+(c[f+4744>>2]|0)*.0000152587890625;T=c[Ta>>2]|0;U=c[f+4736>>2]|0;Z=c[f+4672>>2]|0;x=_((Z*5|0)+20|0,T)|0;E=Z*20|0;r=E+80|0;D=(Z*40|0)+160|0;V=T*5|0;$=T<<1;Y=T*18|0;S=Y+-1|0;G=(T|0)==16;d:do if(G){p=x;while(1){u=p+-1|0;if((p|0)<=0)break;q=+g[fa+(u<<2)>>2];s=(g[k>>2]=q,c[k>>2]|0);t=(s&2130706432)>>>0>1249902592;if(!t){p=(s|0)<0;v=p?q+-8388608.0+8388608.0:q+8388608.0+-8388608.0;if(v==0.0)v=p?-0.0:0.0}else v=q;if((~~v|0)<=32767){if(!t){p=(s|0)<0;v=p?q+-8388608.0+8388608.0:q+8388608.0+-8388608.0;if(v==0.0)v=p?-0.0:0.0}else v=q;if((~~v|0)<-32768)p=-32768;else{if(!t){p=(s|0)<0;q=p?q+-8388608.0+8388608.0:q+8388608.0+-8388608.0;if(q==0.0)q=p?-0.0:0.0}p=~~q}}else p=32767;b[Q+(u<<1)>>1]=p;p=u}s=Oa;c[s>>2]=0;c[s+4>>2]=0;xe(Oa,la,Q,x);s=D;while(1){p=s+-1|0;if((s|0)<=0){p=la;break d}g[La+(p<<2)>>2]=+(b[la+(p<<1)>>1]|0);s=p}}else{if((T|0)==12)p=x;else{p=D;while(1){u=p+-1|0;if((p|0)<=0)break;q=+g[fa+(u<<2)>>2];s=(g[k>>2]=q,c[k>>2]|0);t=(s&2130706432)>>>0>1249902592;if(!t){p=(s|0)<0;v=p?q+-8388608.0+8388608.0:q+8388608.0+-8388608.0;if(v==0.0)v=p?-0.0:0.0}else v=q;if((~~v|0)<=32767){if(!t){p=(s|0)<0;v=p?q+-8388608.0+8388608.0:q+8388608.0+-8388608.0;if(v==0.0)v=p?-0.0:0.0}else v=q;if((~~v|0)<-32768)p=-32768;else{if(!t){p=(s|0)<0;q=p?q+-8388608.0+8388608.0:q+8388608.0+-8388608.0;if(q==0.0)q=p?-0.0:0.0}p=~~q}}else p=32767;b[la+(u<<1)>>1]=p;p=u}p=la;break}while(1){u=p+-1|0;if((p|0)<=0)break;q=+g[fa+(u<<2)>>2];s=(g[k>>2]=q,c[k>>2]|0);t=(s&2130706432)>>>0>1249902592;if(!t){p=(s|0)<0;v=p?q+-8388608.0+8388608.0:q+8388608.0+-8388608.0;if(v==0.0)v=p?-0.0:0.0}else v=q;if((~~v|0)<=32767){if(!t){p=(s|0)<0;v=p?q+-8388608.0+8388608.0:q+8388608.0+-8388608.0;if(v==0.0)v=p?-0.0:0.0}else v=q;if((~~v|0)<-32768)p=-32768;else{if(!t){p=(s|0)<0;q=p?q+-8388608.0+8388608.0:q+8388608.0+-8388608.0;if(q==0.0)q=p?-0.0:0.0}p=~~q}}else p=32767;b[R+(u<<1)>>1]=p;p=u}c[Oa>>2]=0;c[Oa+4>>2]=0;c[Oa+8>>2]=0;c[Oa+12>>2]=0;c[Oa+16>>2]=0;c[Oa+20>>2]=0;c[Qa>>2]=0;c[Qa+4>>2]=0;c[Qa+8>>2]=0;c[Qa+12>>2]=0;z=Oa+16|0;A=Qa+16|0;B=Oa+20|0;u=la;y=R;p=x;while(1){x=(p|0)<480?p:480;s=0;while(1){if((s|0)>=(x|0)){s=Qa;t=x;break}Fa=(c[z>>2]|0)+(b[y+(s<<1)>>1]<<8)|0;c[A+(s<<2)>>2]=Fa;Fa=Fa<<2;Ea=Fa>>16;Fa=Fa&65532;c[z>>2]=(c[B>>2]|0)+((_(Ea,-2797)|0)+((_(Fa,-2797)|0)>>16));c[B>>2]=(_(Ea,-6507)|0)+((_(Fa,-6507)|0)>>16);s=s+1|0}while(1){if((t|0)<=2)break;za=c[s>>2]|0;Ba=s+4|0;Aa=c[Ba>>2]|0;Ca=s+8|0;Ea=c[Ca>>2]|0;Fa=s+12|0;Da=c[Fa>>2]|0;Da=(((za>>16)*4697|0)+(((za&65535)*4697|0)>>>16)+(((Aa>>16)*10739|0)+(((Aa&65535)*10739|0)>>>16))+(((Ea>>16)*8276|0)+(((Ea&65535)*8276|0)>>>16))+(((Da>>16)*1567|0)+(((Da&65535)*1567|0)>>>16))>>5)+1>>1;b[u>>1]=(Da|0)>32767?32767:((Da|0)<-32768?-32768:Da)&65535;Ba=c[Ba>>2]|0;Ca=c[Ca>>2]|0;Da=c[Fa>>2]|0;Ea=c[s+16>>2]|0;Ea=(((Ba>>16)*1567|0)+(((Ba&65535)*1567|0)>>>16)+(((Ca>>16)*8276|0)+(((Ca&65535)*8276|0)>>>16))+(((Da>>16)*10739|0)+(((Da&65535)*10739|0)>>>16))+(((Ea>>16)*4697|0)+(((Ea&65535)*4697|0)>>>16))>>5)+1>>1;b[u+2>>1]=(Ea|0)>32767?32767:((Ea|0)<-32768?-32768:Ea)&65535;u=u+4|0;s=Fa;t=t+-3|0}p=p-x|0;if((p|0)<=0)break;Fa=Qa+(x<<2)|0;c[Qa>>2]=c[Fa>>2];c[Qa+4>>2]=c[Fa+4>>2];c[Qa+8>>2]=c[Fa+8>>2];c[Qa+12>>2]=c[Fa+12>>2];y=y+(x<<1)|0}s=Qa+(x<<2)|0;c[Oa>>2]=c[s>>2];c[Oa+4>>2]=c[s+4>>2];c[Oa+8>>2]=c[s+8>>2];c[Oa+12>>2]=c[s+12>>2];s=D;while(1){p=s+-1|0;if((s|0)<=0){p=la;break d}g[La+(p<<2)>>2]=+(b[la+(p<<1)>>1]|0);s=p}}while(0);Fa=Oa;c[Fa>>2]=0;c[Fa+4>>2]=0;xe(Oa,ma,p,D);while(1){p=r+-1|0;if((r|0)<=0)break;g[Ka+(p<<2)>>2]=+(b[ma+(p<<1)>>1]|0);r=p}p=E+79|0;while(1){if((p|0)<=0)break;r=Ka+(p<<2)|0;p=p+-1|0;q=+(~~+g[r>>2]|0)+ +g[Ka+(p<<2)>>2];if(!(q>32767.0)){if(q<-32768.0)q=-32768.0}else q=32767.0;g[r>>2]=+(~~q<<16>>16)}nf(Na|0,0,Z*596|0)|0;p=Z>>1;r=Ma+256|0;y=Na+32|0;u=0;x=Ka+320|0;while(1){if((u|0)>=(p|0)){p=72;break}s=x+-32|0;hd(x,x+-288|0,Ma,40,65);M=+g[r>>2];q=+Ud(x,40);q=q+ +Ud(s,40)+16.0e4;g[y>>2]=+g[y>>2]+M*2.0/q;t=9;while(1){if((t|0)==73)break;Fa=s+-4|0;L=+g[Fa>>2];M=+g[s+156>>2];M=q+(L*L-M*M);Ea=Na+(t<<2)|0;g[Ea>>2]=+g[Ea>>2]+ +g[Ma+(72-t<<2)>>2]*2.0/M;s=Fa;t=t+1|0;q=M}u=u+1|0;x=x+160|0}while(1){if((p|0)<=7)break;Fa=Na+(p<<2)|0;M=+g[Fa>>2];g[Fa>>2]=M-M*+(p|0)*.000244140625;p=p+-1|0}x=U<<1;r=x+4|0;p=0;while(1){if((p|0)>=(r|0)){p=1;break}c[ea+(p<<2)>>2]=p;p=p+1|0}while(1){if((p|0)>=(r|0))break;q=+g[y+(p<<2)>>2];t=p;while(1){s=t+-1|0;if((t|0)<=0)break;v=+g[y+(s<<2)>>2];if(!(q>v))break;g[y+(t<<2)>>2]=v;c[ea+(t<<2)>>2]=c[ea+(s<<2)>>2];t=s}g[y+(t<<2)>>2]=q;c[ea+(t<<2)>>2]=p;p=p+1|0}u=y+(x+3<<2)|0;p=x+2|0;s=r;while(1){if((s|0)>=65)break;q=+g[y+(s<<2)>>2];if(q>+g[u>>2]){t=p;while(1){if((t|0)<=-1)break;v=+g[y+(t<<2)>>2];if(!(q>v))break;Fa=t+1|0;g[y+(Fa<<2)>>2]=v;c[ea+(Fa<<2)>>2]=c[ea+(t<<2)>>2];t=t+-1|0}Fa=t+1|0;g[y+(Fa<<2)>>2]=q;c[ea+(Fa<<2)>>2]=s}s=s+1|0}q=+g[y>>2];do if(q<.20000000298023224){nf(J|0,0,Z<<2|0)|0;g[P>>2]=0.0;b[ba>>1]=0;a[ca>>0]=0;p=0}else{q=q*w;p=0;while(1){if((p|0)>=(r|0))break;if(!(+g[Na+(p+8<<2)>>2]>q)){r=p;break}Fa=ea+(p<<2)|0;c[Fa>>2]=(c[Fa>>2]<<1)+16;p=p+1|0}p=11;while(1){if((p|0)==148){p=0;break}b[W+(p<<1)>>1]=0;p=p+1|0}while(1){if((p|0)>=(r|0)){p=146;break}b[W+(c[ea+(p<<2)>>2]<<1)>>1]=1;p=p+1|0}while(1){if((p|0)<=15){r=16;E=0;break}Fa=p+-1|0;Ea=W+(p<<1)|0;b[Ea>>1]=(e[Ea>>1]|0)+((e[W+(Fa<<1)>>1]|0)+(e[W+(p+-2<<1)>>1]|0));p=Fa}while(1){if((r|0)==144){p=146;break}p=r+1|0;if((b[W+(p<<1)>>1]|0)<=0){r=p;continue}c[ea+(E<<2)>>2]=r;r=p;E=E+1|0}while(1){if((p|0)<=15){r=16;p=0;break}Fa=p+-1|0;Ea=W+(p<<1)|0;b[Ea>>1]=(e[Ea>>1]|0)+((e[W+(Fa<<1)>>1]|0)+(e[W+(p+-2<<1)>>1]|0)+(e[W+(p+-3<<1)>>1]|0));p=Fa}while(1){if((r|0)==147)break;if((b[W+(r<<1)>>1]|0)>0){b[W+(p<<1)>>1]=r+65534;p=p+1|0}r=r+1|0}nf(Na|0,0,2384)|0;y=(T|0)==8;u=0;x=y?fa+640|0:La+640|0;while(1){if((u|0)>=(Z|0))break;v=+Ud(x,40)+1.0;t=0;while(1){if((t|0)>=(p|0))break;s=b[W+(t<<1)>>1]|0;r=x+(0-s<<2)|0;q=+Vd(r,x,40);if(q>0.0)q=q*2.0/(+Ud(r,40)+v);else q=0.0;g[Na+(u*596|0)+(s<<2)>>2]=q;t=t+1|0}u=u+1|0;x=x+160|0}if((F|0)>0){if((T|0)==12)p=(F<<1|0)/3|0;else p=F>>(G&1);r=p;M=+Ge(+(p|0))*3.32192809488736}else{r=F;M=0.0}Q=(Z|0)==4;if(Q){B=32969;D=11;A=y&(U|0)>0?11:3}else{B=32935;D=3;A=3}K=+(Z|0);L=K*.20000000298023224;y=(r|0)>0;C=K*C;r=0;H=0.0;I=-1.0e3;x=0;z=-1;while(1){if((x|0)>=(E|0))break;u=c[ea+(x<<2)>>2]|0;t=0;while(1){if((t|0)>=(A|0)){s=0;w=-1.0e3;p=0;break}p=da+(t<<2)|0;g[p>>2]=0.0;q=0.0;s=0;while(1){if((s|0)>=(Z|0))break;w=q+ +g[Na+(s*596|0)+(u+(a[B+((_(s,D)|0)+t)>>0]|0)<<2)>>2];g[p>>2]=w;q=w;s=s+1|0}t=t+1|0}while(1){if((p|0)>=(A|0))break;v=+g[da+(p<<2)>>2];Fa=v>w;s=Fa?p:s;w=Fa?v:w;p=p+1|0}v=+Ge(+(u|0))*3.32192809488736;q=w-L*v;if(y){v=v-M;v=v*v;q=q-L*+g[P>>2]*v/(v+.5)}Fa=q>I&w>C;r=Fa?s:r;H=Fa?w:H;I=Fa?q:I;x=x+1|0;z=Fa?u:z}if((z|0)==-1){c[J>>2]=0;c[J+4>>2]=0;c[J+8>>2]=0;c[J+12>>2]=0;g[P>>2]=0.0;b[ba>>1]=0;a[ca>>0]=0;p=0;break}g[P>>2]=H/K;if((T|0)>8){if((T|0)==12){p=(z<<16>>16)*3|0;p=(p>>1)+(p&1)|0}else p=z<<1;if(($|0)<(Y|0))if((p|0)<(Y|0))x=(p|0)<($|0)?$:p;else x=S;else if((p|0)>($|0))x=$;else x=(p|0)<(S|0)?S:p;J=x+-2|0;J=(J|0)>($|0)?J:$;P=x+2|0;P=(P|0)<(S|0)?P:S;if(Q){B=33013;D=33149+(U<<3)|0;E=34;F=a[33173+U>>0]|0}else{B=32941;D=32965;E=12;F=12}G=fa+(T*20<<2)|0;u=0-J|0;z=0;A=G;while(1){if((z|0)>=(Z|0))break;p=z<<1;y=a[D+p>>0]|0;p=a[D+(p|1)>>0]|0;hd(A,A+(u<<2)+(0-p<<2)|0,Qa,V,p-y+1|0);r=y;s=0;while(1){if((p|0)<(r|0))break;c[Pa+(s<<2)>>2]=c[Qa+(p-r<<2)>>2];r=r+1|0;s=s+1|0}p=_(z,E)|0;s=0;while(1){if((s|0)>=(F|0))break;r=(a[B+(p+s)>>0]|0)-y|0;t=0;while(1){if((t|0)==5)break;c[ha+(z*680|0)+(s*20|0)+(t<<2)>>2]=c[Pa+(r+t<<2)>>2];t=t+1|0}s=s+1|0}z=z+1|0;A=A+(V<<2)|0}if(Q){y=33013;z=33149+(U<<3)|0;A=34;D=a[33173+U>>0]|0}else{y=32941;z=32965;A=12;D=12}B=0;E=G;while(1){if((B|0)>=(Z|0))break;r=B<<1;u=a[z+r>>0]|0;p=E+(0-(u+J)<<2)|0;q=+Ud(p,V)+.001;g[Pa>>2]=q;r=(a[z+(r|1)>>0]|0)-u|0;s=1;while(1){if((s|0)>(r|0))break;L=+g[p+(V-s<<2)>>2];M=+g[p+(0-s<<2)>>2];M=q-L*L+M*M;g[Pa+(s<<2)>>2]=M;q=M;s=s+1|0}p=_(B,A)|0;s=0;while(1){if((s|0)>=(D|0))break;r=(a[y+(p+s)>>0]|0)-u|0;t=0;while(1){if((t|0)==5)break;c[ia+(B*680|0)+(s*20|0)+(t<<2)>>2]=c[Pa+(r+t<<2)>>2];t=t+1|0}s=s+1|0}B=B+1|0;E=E+(V<<2)|0}H=.05000000074505806/+(x|0);if(Q){A=33013;B=34;z=a[33173+U>>0]|0}else{A=32941;B=12;z=12}C=+Ud(G,_(V,Z)|0)+1.0;r=0;q=-1.0e3;u=J;y=0;while(1){if((u|0)>(P|0))break;else{t=0;p=x}while(1){if((t|0)<(z|0)){v=0.0;w=C;s=0}else break;while(1){if((s|0)>=(Z|0))break;v=v+ +g[ha+(s*680|0)+(t*20|0)+(y<<2)>>2];w=w+ +g[ia+(s*680|0)+(t*20|0)+(y<<2)>>2];s=s+1|0}if(v>0.0)v=v*2.0/w*(1.0-H*+(t|0));else v=0.0;if(v>q){Fa=(u+(a[33013+t>>0]|0)|0)<(Y|0);r=Fa?t:r;q=Fa?v:q;p=Fa?u:p}t=t+1|0}u=u+1|0;y=y+1|0;x=p}s=($|0)>(Y|0);u=0;while(1){if((u|0)>=(Z|0))break;p=x+(a[A+((_(u,B)|0)+r)>>0]|0)|0;t=bb+228+(u<<2)|0;c[t>>2]=p;do if(s){if((p|0)>($|0)){p=$;break}p=(p|0)<(Y|0)?Y:p}else{if((p|0)>(Y|0)){p=Y;break}p=(p|0)<($|0)?$:p}while(0);c[t>>2]=p;u=u+1|0}p=x-$|0}else{p=0;while(1){if((p|0)>=(Z|0))break;Fa=z+(a[B+((_(p,D)|0)+r)>>0]|0)|0;c[bb+228+(p<<2)>>2]=(Fa|0)>144?144:(Fa|0)<16?16:Fa;p=p+1|0}p=z+65520|0}b[ba>>1]=p;a[ca>>0]=r;p=1}while(0);if(p){a[Ra>>0]=2;p=2;break}else{a[Ra>>0]=1;p=1;break}}else hb=264;while(0);if((hb|0)==264){Fa=bb+228|0;c[Fa>>2]=0;c[Fa+4>>2]=0;c[Fa+8>>2]=0;c[Fa+12>>2]=0;b[f+4854>>1]=0;a[f+4856>>0]=0;g[f+10152>>2]=0.0}y=Xa+(0-(c[f+4692>>2]|0)<<2)|0;Ba=f+4808|0;v=+(c[Ba>>2]|0);q=v*.0078125;P=c[f+4788>>2]|0;w=+(P+(c[f+4792>>2]|0)|0)*.5*.000030517578125;Ca=bb+696|0;g[Ca>>2]=w;I=1.0/(+X(+-((q+-20.0)*.25))+1.0);Da=bb+700|0;g[Da>>2]=I;if(!(c[f+4768>>2]|0)){M=1.0-+(c[f+4624>>2]|0)*.00390625;q=q-I*2.0*(w*.5+.5)*M*M}Q=p<<24>>24==2;do if(!Q){H=q+(v*-.4000000059604645*.0078125+6.0)*(1.0-w);r=c[Ta>>2]<<1;u=f+4672|0;p=c[u>>2]|0;x=((p<<16>>16)*5|0)/2|0;w=+(r|0);q=0.0;s=0;v=0.0;t=ka;while(1){if((s|0)>=(x|0))break;C=+Ge(w+ +Ud(t,r))*3.32192809488736;if((s|0)>0)q=q+ +N(+(C-v));s=s+1|0;v=C;t=t+(r<<2)|0}r=f+4858|0;if(q>+(x+-1|0)*.6000000238418579){a[r>>0]=0;Fa=u;break}else{a[r>>0]=1;Fa=u;break}}else{H=q+ +g[f+10152>>2]*2.0;a[f+4858>>0]=0;p=f+4672|0;Fa=p;p=c[p>>2]|0}while(0);L=+g[ga>>2]*1.0000000474974513e-03;L=.9399999976158142/(L*L+1.0);J=c[f+4764>>2]|0;C=+(J|0)*.0000152587890625+I*.009999999776482582;E=f+4696|0;Ea=f+4680|0;F=f+4728|0;I=C;K=1.0-C*C;G=0;x=y;while(1){if((G|0)>=(p|0))break;r=c[Ta>>2]|0;s=r*3|0;y=c[E>>2]|0;u=(y-s|0)/2|0;v=3.1415927410125732/+(u+1|0);w=2.0-v*v;q=0.0;t=0;while(1){if((t|0)>=(u|0))break;g[La+(t<<2)>>2]=+g[x+(t<<2)>>2]*.5*(q+v);Aa=t|1;g[La+(Aa<<2)>>2]=+g[x+(Aa<<2)>>2]*v;M=w*v-q;Aa=t|2;g[La+(Aa<<2)>>2]=+g[x+(Aa<<2)>>2]*.5*(v+M);Aa=t|3;g[La+(Aa<<2)>>2]=+g[x+(Aa<<2)>>2]*M;q=M;v=w*M-v;t=t+4|0}rf(La+(u<<2)|0,x+(u<<2)|0,r*12|0)|0;s=u+s|0;r=La+(s<<2)|0;s=x+(s<<2)|0;q=1.0;v=w*.5;t=0;while(1){if((t|0)>=(u|0))break;g[r+(t<<2)>>2]=+g[s+(t<<2)>>2]*.5*(q+v);Aa=t|1;g[r+(Aa<<2)>>2]=+g[s+(Aa<<2)>>2]*v;M=w*v-q;Aa=t|2;g[r+(Aa<<2)>>2]=+g[s+(Aa<<2)>>2]*.5*(v+M);Aa=t|3;g[r+(Aa<<2)>>2]=+g[s+(Aa<<2)>>2]*M;q=M;v=w*M-v;t=t+4|0}x=x+(c[Ea>>2]<<2)|0;z=(J|0)>0;D=c[F>>2]|0;e:do if(z){nf(Qa|0,0,200)|0;nf(Pa|0,0,200)|0;s=Qa+(D<<3)|0;t=Pa+(D<<3)|0;q=0.0;u=0;while(1){if((u|0)>=(y|0)){r=0;break}r=0;v=+g[La+(u<<2)>>2];while(1){if((r|0)>=(D|0))break;za=r|1;ya=Qa+(za<<3)|0;jb=+h[ya>>3];M=q+I*(jb-v);h[Qa+(r<<3)>>3]=v;Aa=Pa+(r<<3)|0;h[Aa>>3]=+h[Aa>>3]+ +h[Qa>>3]*v;Aa=r+2|0;w=+h[Qa+(Aa<<3)>>3];h[ya>>3]=M;za=Pa+(za<<3)|0;h[za>>3]=+h[za>>3]+ +h[Qa>>3]*M;q=w;r=Aa;v=jb+I*(w-M)}h[s>>3]=v;q=+h[Qa>>3];h[t>>3]=+h[t>>3]+q*v;u=u+1|0}while(1){if((r|0)>(D|0))break;g[Ka+(r<<2)>>2]=+h[Pa+(r<<3)>>3];r=r+1|0}}else{r=(D|0)<(y|0)?D+1|0:y;s=0;while(1){if((s|0)>=(r|0))break e;g[Ka+(s<<2)>>2]=+Vd(La,La+(s<<2)|0,y-s|0);s=s+1|0}}while(0);jb=+g[Ka>>2];g[Ka>>2]=jb+(jb*2.9999999242136255e-05+1.0);r=0;while(1){if((r|0)>(D|0)){t=0;break}jb=+g[Ka+(r<<2)>>2];h[Qa+(r<<4)+8>>3]=jb;h[Qa+(r<<4)>>3]=jb;r=r+1|0}f:while(1){if((D|0)<=(t|0))break;r=t+1|0;q=+h[ja>>3];q=-+h[Qa+(r<<4)>>3]/(q>9.999999717180685e-10?q:9.999999717180685e-10);g[la+(t<<2)>>2]=q;s=D-t|0;u=0;while(1){if((u|0)>=(s|0)){t=r;continue f}za=Qa+(u+t+1<<4)|0;jb=+h[za>>3];Aa=Qa+(u<<4)+8|0;M=+h[Aa>>3];h[za>>3]=jb+M*q;h[Aa>>3]=M+jb*q;u=u+1|0}}q=+h[ja>>3];B=bb+244+(G*24<<2)|0;t=0;while(1){if((t|0)>=(D|0))break;v=+g[la+(t<<2)>>2];r=t+1|0;s=r>>1;u=0;while(1){if((u|0)>=(s|0))break;za=B+(u<<2)|0;jb=+g[za>>2];Aa=B+(t-u+-1<<2)|0;M=+g[Aa>>2];g[za>>2]=jb+M*v;g[Aa>>2]=M+jb*v;u=u+1|0}g[B+(t<<2)>>2]=-v;t=r}v=+O(+q);r=bb+(G<<2)|0;g[r>>2]=v;A=D+-1|0;if(z){q=+g[B+(A<<2)>>2];s=D+-2|0;while(1){q=C*q;if((s|0)<=-1)break;q=+g[B+(s<<2)>>2]-q;s=s+-1|0}g[r>>2]=v*(1.0/(q+1.0));q=L;r=0}else{q=L;r=0}while(1){if((r|0)>=(A|0))break;Aa=B+(r<<2)|0;g[Aa>>2]=+g[Aa>>2]*q;q=q*L;r=r+1|0}y=B+(A<<2)|0;q=+g[y>>2]*q;g[y>>2]=q;g:do if(z){r=D;while(1){if((r|0)<=1)break;Aa=B+(r+-2<<2)|0;jb=+g[Aa>>2]-q*C;g[Aa>>2]=jb;q=jb;r=r+-1|0}q=K/(+g[B>>2]*C+1.0);r=0;while(1){if((r|0)>=(D|0)){r=0;u=0;break}Aa=B+(r<<2)|0;g[Aa>>2]=+g[Aa>>2]*q;r=r+1|0}while(1){if((u|0)<10){s=0;t=r;v=-1.0}else break g;while(1){if((s|0)>=(D|0))break;jb=+N(+(+g[B+(s<<2)>>2]));Aa=jb>v;za=Aa?s:t;s=s+1|0;t=za;v=Aa?jb:v}if(!(v<=3.999000072479248))r=1;else break g;while(1){if((r|0)>=(D|0))break;Aa=B+(r+-1<<2)|0;g[Aa>>2]=+g[Aa>>2]+ +g[B+(r<<2)>>2]*C;r=r+1|0}q=1.0/q;r=0;while(1){if((r|0)>=(D|0))break;Aa=B+(r<<2)|0;g[Aa>>2]=+g[Aa>>2]*q;r=r+1|0}q=.9900000095367432-(+(u|0)*.10000000149011612+.800000011920929)*(v+-3.999000072479248)/(v*+(t+1|0));v=q;r=0;while(1){if((r|0)>=(A|0))break;Aa=B+(r<<2)|0;g[Aa>>2]=+g[Aa>>2]*v;v=v*q;r=r+1|0}q=+g[y>>2]*v;g[y>>2]=q;r=D;while(1){if((r|0)<=1)break;Aa=B+(r+-2<<2)|0;jb=+g[Aa>>2]-q*C;g[Aa>>2]=jb;q=jb;r=r+-1|0}q=K/(+g[B>>2]*C+1.0);r=0;while(1){if((r|0)>=(D|0))break;Aa=B+(r<<2)|0;g[Aa>>2]=+g[Aa>>2]*q;r=r+1|0}r=t;u=u+1|0}}else{r=0;t=0;while(1){if((t|0)<10){s=0;q=-1.0}else break g;while(1){if((s|0)>=(D|0))break;jb=+N(+(+g[B+(s<<2)>>2]));Aa=jb>q;za=Aa?s:r;s=s+1|0;r=za;q=Aa?jb:q}if(q<=3.999000072479248)break g;q=.9900000095367432-(+(t|0)*.10000000149011612+.800000011920929)*(q+-3.999000072479248)/(q*+(r+1|0));v=q;s=0;while(1){if((s|0)>=(A|0))break;Aa=B+(s<<2)|0;g[Aa>>2]=+g[Aa>>2]*v;v=v*q;s=s+1|0}g[y>>2]=+g[y>>2]*v;t=t+1|0}}while(0);G=G+1|0}q=+nb(+(H*-.1599999964237213));r=0;while(1){if((r|0)>=(p|0))break;Aa=bb+(r<<2)|0;g[Aa>>2]=+g[Aa>>2]*q+1.2483305931091309;r=r+1|0}Aa=f+4624|0;q=+(c[Aa>>2]|0);v=((+(P|0)*.000030517578125+-1.0)*.5+1.0)*4.0*(q*.00390625);h:do if(Q){r=0;while(1){if((r|0)>=(p|0))break;jb=.20000000298023224/+(c[Ta>>2]|0)+3.0/+(c[bb+228+(r<<2)>>2]|0);g[bb+628+(r<<2)>>2]=jb+-1.0;g[bb+644+(r<<2)>>2]=1.0-jb-jb*v;r=r+1|0}v=-.25-q*.26249998807907104*.00390625}else{jb=1.2999999523162842/+(c[Ta>>2]|0);s=bb+628|0;g[s>>2]=jb+-1.0;t=bb+644|0;g[t>>2]=1.0-jb-jb*v*.6000000238418579;r=1;while(1){if((r|0)>=(p|0)){v=-.25;break h}c[bb+628+(r<<2)>>2]=c[s>>2];c[bb+644+(r<<2)>>2]=c[t>>2];r=r+1|0}}while(0);if(Q)q=((1.0-(1.0-+g[Da>>2])*+g[Ca>>2])*.20000000298023224+.30000001192092896)*+O(+(+g[f+10152>>2]));else q=0.0;r=f+7264|0;s=f+7268|0;t=0;while(1){if((t|0)>=(p|0))break;jb=+g[r>>2];jb=jb+(q-jb)*.4000000059604645;g[r>>2]=jb;g[bb+676+(t<<2)>>2]=jb;jb=+g[s>>2];jb=jb+(v-jb)*.4000000059604645;g[s>>2]=jb;g[bb+660+(t<<2)>>2]=jb;t=t+1|0}r=0;while(1){if((r|0)>=(p|0))break;g[Oa+(r<<2)>>2]=1.0/+g[bb+(r<<2)>>2];r=r+1|0}if(Q){D=c[Ea>>2]|0;E=D+5|0;y=ka;z=la;A=0;B=ma;while(1){if((A|0)>=(p|0))break;t=y+(-2-(c[bb+228+(A<<2)>>2]|0)<<2)|0;r=t+16|0;q=+Ud(r,D);g[z>>2]=q;s=1;while(1){if((s|0)==5)break;M=+g[r+(0-s<<2)>>2];jb=+g[r+(D-s<<2)>>2];jb=q+(M*M-jb*jb);g[z+(s*6<<2)>>2]=jb;q=jb;s=s+1|0}x=1;u=t+12|0;while(1){if((x|0)==5){s=0;break}q=+Vd(r,u,D);jb=q;g[z+(x*5<<2)>>2]=jb;g[z+(x<<2)>>2]=jb;s=5-x|0;t=1;while(1){if((t|0)>=(s|0))break;ya=0-t|0;za=D-t|0;jb=q+(+g[r+(ya<<2)>>2]*+g[u+(ya<<2)>>2]-+g[r+(za<<2)>>2]*+g[u+(za<<2)>>2]);M=jb;za=x+t|0;g[z+((za*5|0)+t<<2)>>2]=M;g[z+((t*5|0)+za<<2)>>2]=M;q=jb;t=t+1|0}x=x+1|0;u=u+-4|0}while(1){if((s|0)==5)break;g[B+(s<<2)>>2]=+Vd(r,y,D);s=s+1|0;r=r+-4|0}jb=+Ud(y,E);q=(+g[z>>2]+ +g[z+96>>2])*.014999999664723873+1.0;q=1.0/(jb>q?jb:q);r=0;while(1){if((r|0)>=24){r=24;break}za=z+(r<<2)|0;g[za>>2]=+g[za>>2]*q;za=z+((r|1)<<2)|0;g[za>>2]=+g[za>>2]*q;za=z+((r|2)<<2)|0;g[za>>2]=+g[za>>2]*q;za=z+((r|3)<<2)|0;g[za>>2]=+g[za>>2]*q;r=r+4|0}while(1){if((r|0)==25){r=0;break}za=z+(r<<2)|0;g[za>>2]=+g[za>>2]*q;r=r+1|0}while(1){if((r|0)>=4){r=4;break}za=B+(r<<2)|0;g[za>>2]=+g[za>>2]*q;za=B+((r|1)<<2)|0;g[za>>2]=+g[za>>2]*q;za=B+((r|2)<<2)|0;g[za>>2]=+g[za>>2]*q;za=B+((r|3)<<2)|0;g[za>>2]=+g[za>>2]*q;r=r+4|0}while(1){if((r|0)==5)break;za=B+(r<<2)|0;g[za>>2]=+g[za>>2]*q;r=r+1|0}y=y+(D<<2)|0;z=z+100|0;A=A+1|0;B=B+20|0}va=f+4832|0;za=f+4748|0;t=c[Ea>>2]|0;xa=c[Fa>>2]|0;r=xa*25|0;s=0;while(1){if((s|0)>=(r|0))break;q=+g[la+(s<<2)>>2]*131072.0;p=(g[k>>2]=q,c[k>>2]|0);if((p&2130706432)>>>0<=1249902592){p=(p|0)<0;q=p?q+-8388608.0+8388608.0:q+8388608.0+-8388608.0;if(q==0.0)q=p?-0.0:0.0}c[La+(s<<2)>>2]=~~q;s=s+1|0}ua=f+4860|0;ya=bb+708|0;wa=xa*5|0;r=0;while(1){if((r|0)>=(wa|0))break;q=+g[ma+(r<<2)>>2]*131072.0;p=(g[k>>2]=q,c[k>>2]|0);if((p&2130706432)>>>0<=1249902592){p=(p|0)<0;q=p?q+-8388608.0+8388608.0:q+8388608.0+-8388608.0;if(q==0.0)q=p?-0.0:0.0}c[Ka+(r<<2)>>2]=~~q;r=r+1|0}ra=t<<16>>16;ta=0;p=0;sa=0;r=2147483647;x=0;while(1){if((sa|0)==3)break;ma=c[17388+(sa<<2)>>2]|0;na=c[17400+(sa<<2)>>2]|0;oa=c[17412+(sa<<2)>>2]|0;pa=a[29888+sa>>0]|0;qa=La;A=p;ka=0;z=0;x=0;p=c[za>>2]|0;la=Ka;while(1){if((ka|0)>=(xa|0))break;ja=5333-p|0;s=ja+896|0;if((ja|0)>=-896)if((s|0)>3966)s=2147483647;else{t=s>>7;y=1< >16)< >7;else s=_(y>>7,u+((_(_(u,128-u|0)|0,-174)|0)>>16)|0)|0;s=y+s|0}else s=0;F=s+-51|0;G=Qa+ka|0;J=c[la>>2]<<7;P=c[la+4>>2]<<7;Q=c[la+8>>2]<<7;R=c[la+12>>2]<<7;ga=0-(c[la+16>>2]<<7)|0;a[G>>0]=0;S=qa+4|0;T=qa+8|0;U=qa+12|0;V=qa+16|0;W=qa+28|0;Y=qa+32|0;Z=qa+36|0;$=qa+24|0;ba=qa+52|0;ca=qa+56|0;da=qa+48|0;ea=qa+76|0;fa=qa+72|0;ga=ga<<1;ha=qa+96|0;ia=na;ja=A;D=0;E=2147483647;B=2147483647;while(1){if((D|0)>=(pa|0))break;u=d[oa+D>>0]|0;kb=a[ia+1>>0]|0;A=(_(c[S>>2]|0,kb)|0)-J|0;t=a[ia+2>>0]|0;A=A+(_(c[T>>2]|0,t)|0)|0;y=a[ia+3>>0]|0;A=A+(_(c[U>>2]|0,y)|0)|0;s=a[ia+4>>0]|0;A=A+(_(c[V>>2]|0,s)|0)<<1;lb=a[ia>>0]|0;A=A+(_(c[qa>>2]|0,lb)|0)|0;lb=(_(A>>16,lb)|0)+((_(A&65535,lb)|0)>>16)+32801|0;A=(_(c[W>>2]|0,t)|0)-P|0;A=A+(_(c[Y>>2]|0,y)|0)|0;A=A+(_(c[Z>>2]|0,s)|0)<<1;A=A+(_(c[$>>2]|0,kb)|0)|0;kb=lb+((_(A>>16,kb)|0)+((_(A&65535,kb)|0)>>16))|0;A=(_(c[ba>>2]|0,y)|0)-Q|0;A=A+(_(c[ca>>2]|0,s)|0)<<1;A=A+(_(c[da>>2]|0,t)|0)|0;t=kb+((_(A>>16,t)|0)+((_(A&65535,t)|0)>>16))|0;A=(_(c[ea>>2]|0,s)|0)-R<<1;A=A+(_(c[fa>>2]|0,y)|0)|0;y=t+((_(A>>16,y)|0)+((_(A&65535,y)|0)>>16))|0;A=ga+(_(c[ha>>2]|0,s)|0)|0;s=y+((_(A>>16,s)|0)+((_(A&65535,s)|0)>>16))|0;do if((s|0)>-1){s=s+((u|0)>(F|0)?u-F<<11:0)|0;A=aa(s|0)|0;t=24-A|0;y=0-t|0;do if(t)if((t|0)<0){t=s< >>(t+32|0);break}else{t=s<<32-t|s>>>t;break}else t=s;while(0);t=t&127;t=_(ra,(t+(((_(t,128-t|0)|0)*179|0)>>>16)+(31-A<<7)<<16)+-125829120>>16)|0;t=t+(d[ma+D>>0]<<2)|0;if((t|0)>(E|0)){u=ja;t=E;s=B;break}a[G>>0]=D}else{u=ja;t=E;s=B}while(0);ia=ia+5|0;ja=u;D=D+1|0;E=t;B=s}x=x+B|0;x=(x|0)<0?2147483647:x;z=z+E|0;z=(z|0)<0?2147483647:z;s=ja+51|0;y=aa(s|0)|0;t=24-y|0;u=0-t|0;do if(t)if((t|0)<0){t=s<>>(t+32|0);break}else{t=s<<32-t|s>>>t;break}else t=s;while(0);lb=t&127;if((p+(lb+(((_(lb,128-lb|0)|0)*179|0)>>>16)+(31-y<<7))|0)<896)p=0;else{y=aa(s|0)|0;t=24-y|0;u=0-t|0;do if(t)if((t|0)<0){s=s<>>(t+32|0);break}else{s=s<<32-t|s>>>t;break}while(0);lb=s&127;p=p+(lb+(((_(lb,128-lb|0)|0)*179|0)>>>16)+(31-y<<7))+-896|0}qa=qa+100|0;A=ja;ka=ka+1|0;la=la+20|0}if((z|0)>(r|0))p=ta;else{a[ua>>0]=sa;rf(va|0,Qa|0,xa|0)|0;r=z}ta=p;p=A;sa=sa+1|0}p=c[17400+(a[ua>>0]<<2)>>2]|0;t=0;while(1){if((t|0)>=(xa|0))break;r=f+4832+t|0;s=t*5|0;u=0;while(1){if((u|0)==5)break;b[Pa+(s+u<<1)>>1]=a[p+(((a[r>>0]|0)*5|0)+u)>>0]<<7;u=u+1|0}t=t+1|0}p=x>>((xa|0)==2?1:2);c[za>>2]=ta;t=aa(p|0)|0;r=24-t|0;s=0-r|0;do if(r)if((r|0)<0){p=p< >>(r+32|0);break}else{p=p<<32-r|p>>>r;break}while(0);p=p&127;p=(p+(((_(p,128-p|0)|0)*179|0)>>>16)+(31-t<<7)<<16)+-125829120>>16;r=0;while(1){if((r|0)>=(wa|0))break;g[bb+144+(r<<2)>>2]=+(b[Pa+(r<<1)>>1]|0)*.00006103515625;r=r+1|0}q=+(_(p,-3)|0)*.0078125;g[ya>>2]=q;if(!m){q=+((c[f+4708>>2]|0)+(c[f+5836>>2]|0)|0)*q*.10000000149011612;if(!(q>2.0)){if(q<0.0)q=0.0}else q=2.0;p=~~q;a[f+4861>>0]=p}else{a[f+4861>>0]=0;p=0}g[bb+224>>2]=+(b[25412+(p<<24>>24<<1)>>1]|0)*.00006103515625;B=c[f+4732>>2]|0;u=c[Ea>>2]|0;x=c[Fa>>2]|0;y=u+B|0;z=Ma;A=0;B=Xa+(0-B<<2)|0;while(1){if((A|0)>=(x|0))break;s=0-(c[bb+228+(A<<2)>>2]|0)|0;v=+g[Oa+(A<<2)>>2];p=A*5|0;r=0;while(1){if((r|0)==5)break;c[Qa+(r<<2)>>2]=c[bb+144+(p+r<<2)>>2];r=r+1|0}t=0;s=B+(s<<2)|0;while(1){if((t|0)>=(y|0))break;r=c[B+(t<<2)>>2]|0;p=z+(t<<2)|0;c[p>>2]=r;q=(c[k>>2]=r,+g[k>>2]);r=0;while(1){if((r|0)==5)break;jb=q-+g[Qa+(r<<2)>>2]*+g[s+(2-r<<2)>>2];g[p>>2]=jb;q=jb;r=r+1|0}g[p>>2]=q*v;t=t+1|0;s=s+4|0}z=z+(y<<2)|0;A=A+1|0;B=B+(u<<2)|0}}else{z=f+4732|0;y=c[z>>2]|0;r=y;u=0;x=Ma;y=Xa+(0-y<<2)|0;while(1){if((u|0)>=(p|0))break;q=+g[Oa+(u<<2)>>2];p=c[Ea>>2]|0;t=p+r|0;s=t&65532;p=r+p&65532;r=0;while(1){if((r|0)>=(s|0))break;g[x+(r<<2)>>2]=+g[y+(r<<2)>>2]*q;lb=r|1;g[x+(lb<<2)>>2]=+g[y+(lb<<2)>>2]*q;lb=r|2;g[x+(lb<<2)>>2]=+g[y+(lb<<2)>>2]*q;lb=r|3;g[x+(lb<<2)>>2]=+g[y+(lb<<2)>>2]*q;r=r+4|0}while(1){if((p|0)>=(t|0))break;g[x+(p<<2)>>2]=+g[y+(p<<2)>>2]*q;p=p+1|0}lb=c[Ea>>2]|0;kb=c[z>>2]|0;p=c[Fa>>2]|0;r=kb;u=u+1|0;x=x+(lb+kb<<2)|0;y=y+(lb<<2)|0}nf(bb+144|0,0,p*20|0)|0;g[bb+708>>2]=0.0;c[f+4748>>2]=0}p=f+4756|0;if(!(c[p>>2]|0)){v=+nb(+(+g[bb+708>>2]/3.0))/1.0e4;v=v/(+g[Da>>2]*.75+.25)}else v=.009999999776482582;A=f+4732|0;y=c[A>>2]|0;x=(c[Ea>>2]|0)+y|0;z=f+4859|0;a[z>>0]=4;q=+Ae(Ga,Ma,v,x,c[Fa>>2]|0,y);y=f+4724|0;i:do if((c[y>>2]|0?(c[p>>2]|0)==0:0)?(c[Fa>>2]|0)==4:0){u=x<<1;q=q-+Ae(Ia,Ma+(u<<2)|0,v,x,2,c[A>>2]|0);Sd(Na,Ia,c[A>>2]|0);t=3;w=3402823466385288598117041.0e14;while(1){if((t|0)<=-1)break i;s=c[A>>2]|0;p=t<<16>>16;r=0;while(1){if((r|0)>=(s|0))break;lb=e[f+4592+(r<<1)>>1]|0;b[Ka+(r<<1)>>1]=lb+((_((e[Na+(r<<1)>>1]|0)-lb<<16>>16,p)|0)>>>2);r=r+1|0}ue(La,Ka,s);p=0;while(1){if((p|0)>=(s|0))break;g[Ia+(p<<2)>>2]=+(b[La+(p<<1)>>1]|0)*.000244140625;p=p+1|0}Rd(Ha,Ia,Ma,u,c[A>>2]|0);lb=c[A>>2]|0;kb=Ha+(lb<<2)|0;lb=x-lb|0;v=+Ud(kb,lb);v=v+ +Ud(kb+(x<<2)|0,lb);if(!(vw)break i}else{a[z>>0]=t;q=v}t=t+-1|0;w=v}}while(0);if((a[z>>0]|0)==4)Sd(Na,Ga,c[A>>2]|0);t=c[Aa>>2]<<16>>16;t=(_(t,-5)|0)+(t*59246>>16)+3146|0;t=t+((c[Fa>>2]|0)==2?t>>1:0)|0;we(Ka,Na,c[A>>2]|0);j:do if((c[y>>2]|0)==1?(Ja=a[z>>0]|0,Ja<<24>>24<4):0){p=Ja<<24>>24;r=c[A>>2]|0;s=0;while(1){if((s|0)>=(r|0))break;lb=e[f+4592+(s<<1)>>1]|0;b[La+(s<<1)>>1]=lb+((_((e[Na+(s<<1)>>1]|0)-lb<<16>>16,p)|0)>>>2);s=s+1|0}we(Qa,La,r);r=a[z>>0]|0;r=(_(r,r)|0)<<27;p=c[A>>2]|0;r=r>>16;s=0;while(1){if((s|0)>=(p|0)){r=1;break j}lb=Ka+(s<<1)|0;b[lb>>1]=((b[lb>>1]|0)>>>1)+((_(b[Qa+(s<<1)>>1]|0,r)|0)>>>16);s=s+1|0}}else r=0;while(0);De(f+4836|0,Na,c[f+4784>>2]|0,Ka,t,c[f+4752>>2]|0,a[Ra>>0]|0);p=Pa+32|0;ue(p,Na,c[A>>2]|0);if(r){p=a[z>>0]|0;r=c[A>>2]|0;s=0;while(1){if((s|0)>=(r|0))break;lb=e[f+4592+(s<<1)>>1]|0;b[La+(s<<1)>>1]=lb+((_((e[Na+(s<<1)>>1]|0)-lb<<16>>16,p)|0)>>>2);s=s+1|0}ue(Pa,La,r)}else rf(Pa|0,p|0,c[A>>2]<<1|0)|0;s=0;while(1){if((s|0)==2)break;p=c[A>>2]|0;r=0;while(1){if((r|0)>=(p|0))break;g[bb+16+(s<<6)+(r<<2)>>2]=+(b[Pa+(s<<5)+(r<<1)>>1]|0)*.000244140625;r=r+1|0}s=s+1|0}u=c[Ea>>2]|0;lb=c[Fa>>2]|0;p=c[A>>2]|0;r=Qa+(p<<2)|0;t=p+u|0;s=t<<1;Rd(Qa,bb+16|0,Ma,s,p);jb=+g[bb>>2];g[bb+712>>2]=jb*jb*+Ud(r,u);jb=+g[bb+4>>2];t=r+(t<<2)|0;g[bb+716>>2]=jb*jb*+Ud(t,u);if((lb|0)==4){Rd(Qa,bb+80|0,Ma+(s<<2)|0,s,p);jb=+g[bb+8>>2];g[bb+720>>2]=jb*jb*+Ud(r,u);jb=+g[bb+12>>2];g[bb+724>>2]=jb*jb*+Ud(t,u)}x=f+4592|0;p=Na;u=x+32|0;do{b[x>>1]=b[p>>1]|0;x=x+2|0;p=p+2|0}while((x|0)<(u|0));k:do if((a[Ra>>0]|0)==2){q=1.0-1.0/(+X(+-((+g[bb+708>>2]+-12.0)*.25))+1.0)*.5;p=c[Fa>>2]|0;r=0;while(1){if((r|0)>=(p|0)){r=p;break k}lb=bb+(r<<2)|0;g[lb>>2]=+g[lb>>2]*q;r=r+1|0}}else r=c[Fa>>2]|0;while(0);q=+nb(+((21.0-+(c[Ba>>2]|0)*.0078125)*.33000001311302185));q=q/+(c[Ea>>2]|0);p=0;while(1){if((p|0)>=(r|0)){p=0;break}lb=bb+(p<<2)|0;jb=+g[lb>>2];jb=+O(+(jb*jb+ +g[bb+712+(p<<2)>>2]*q));g[lb>>2]=jb<32767.0?jb:32767.0;p=p+1|0}while(1){if((p|0)>=(r|0))break;c[Pa+(p<<2)>>2]=~~(+g[bb+(p<<2)>>2]*65536.0);p=p+1|0}rf(bb+728|0,Pa|0,r<<2|0)|0;p=f+7260|0;la=bb+744|0;a[la>>0]=a[p>>0]|0;ma=f+4828|0;na=(m|0)==2;oa=na&1;ge(ma,Pa,p,oa,r);p=c[Fa>>2]|0;r=0;while(1){if((r|0)>=(p|0))break;g[bb+(r<<2)>>2]=+(c[Pa+(r<<2)>>2]|0)*.0000152587890625;r=r+1|0}s=a[Ra>>0]|0;do if(s<<24>>24==2){r=f+4858|0;if(+g[bb+708>>2]+ +(c[f+4804>>2]|0)*.000030517578125>1.0){a[r>>0]=0;ka=r;r=0;break}else{a[r>>0]=1;ka=r;r=1;break}}else{r=f+4858|0;ka=r;r=a[r>>0]|0}while(0);lb=c[Aa>>2]|0;ja=bb+692|0;g[ja>>2]=+(c[f+4720>>2]|0)*-.05000000074505806+1.2000000476837158+ +(lb|0)*-.20000000298023224*.00390625+ +g[Ca>>2]*-.10000000149011612+ +g[Da>>2]*-.20000000298023224+ +(b[25404+(s<<24>>24>>1<<2)+(r<<24>>24<<1)>>1]|0)*.0009765625*.800000011920929;ia=f+5840|0;r=c[ia>>2]|0;t=f+6192+(r*36|0)|0;if((c[f+6184>>2]|0)!=0&(lb|0)>77){c[f+4816+(r<<2)>>2]=1;rf(Qa|0,f+144|0,4448)|0;x=t;p=ma;u=x+36|0;do{b[x>>1]=b[p>>1]|0;x=x+2|0;p=p+2|0}while((x|0)<(u|0));s=c[Fa>>2]|0;rf(Oa|0,bb|0,s<<2|0)|0;p=c[ia>>2]|0;do if(!p)hb=544;else{if(!(c[f+4816+(p+-1<<2)>>2]|0)){hb=544;break}r=f+4632|0;p=s}while(0);if((hb|0)==544){r=f+4632|0;a[r>>0]=a[f+7260>>0]|0;p=(d[t>>0]|0)+(c[f+6188>>2]|0)|0;a[t>>0]=(p&255)<<24>>24<63?p&255:63;p=c[Fa>>2]|0}he(Pa,t,r,oa,p);p=c[Fa>>2]|0;r=0;while(1){if((r|0)>=(p|0))break;g[bb+(r<<2)>>2]=+(c[Pa+(r<<2)>>2]|0)*.0000152587890625;r=r+1|0}Td(f,bb,t,Qa,f+6300+((c[ia>>2]|0)*320|0)|0,Xa);p=c[Fa>>2]|0;rf(bb|0,Oa|0,p<<2|0)|0}s=0;r=0;while(1){if((r|0)>=(p|0))break;s=(a[f+4828+r>>0]|0)+(s<<8)|0;r=r+1|0}x=eb;p=l;u=x+48|0;do{c[x>>2]=c[p>>2];x=x+4|0;p=p+4|0}while((x|0)<(u|0));U=f+144|0;rf(cb|0,U|0,4448)|0;V=a[Va>>0]|0;W=f+5864|0;Y=b[W>>1]|0;Z=f+5860|0;$=c[Z>>2]|0;ba=f+7260|0;ca=n+-5|0;da=l+24|0;ea=l+28|0;fa=f+4828|0;ga=f+4864|0;ha=l+20|0;J=0;A=0;B=0;S=256;R=0;D=0;P=-1;z=-1;T=0;Q=0;E=0;r=0;while(1){y=(s|0)==(P|0);do if(!y){if((s|0)==(z|0)){p=E;hb=571;break}if((T|0)>0){x=l;p=eb;u=x+48|0;do{c[x>>2]=c[p>>2];x=x+4|0;p=p+4|0}while((x|0)<(u|0));rf(U|0,cb|0,4448)|0;a[Va>>0]=V;b[W>>1]=Y;c[Z>>2]=$}Td(f,bb,fa,U,ga,Xa);t=(T|0)==6;if(t&(A|0)==0){c[fb>>2]=c[l>>2];c[fb+4>>2]=c[l+4>>2];c[fb+8>>2]=c[l+8>>2];c[fb+12>>2]=c[l+12>>2];c[fb+16>>2]=c[l+16>>2];c[fb+20>>2]=c[l+20>>2];u=c[da>>2]|0;c[gb>>2]=c[ea>>2];c[gb+4>>2]=c[ea+4>>2];c[gb+8>>2]=c[ea+8>>2];c[gb+12>>2]=c[ea+12>>2];c[gb+16>>2]=c[ea+16>>2]}else u=r;Ad(f,l,c[ia>>2]|0,0,m);Bd(l,a[Ra>>0]|0,a[ka>>0]|0,ga,c[Ua>>2]|0);p=(c[ha>>2]|0)+((aa(c[ea>>2]|0)|0)+-32)|0;if(t&(A|0)==0&(p|0)>(n|0)){c[l>>2]=c[fb>>2];c[l+4>>2]=c[fb+4>>2];c[l+8>>2]=c[fb+8>>2];c[l+12>>2]=c[fb+12>>2];c[l+16>>2]=c[fb+16>>2];c[l+20>>2]=c[fb+20>>2];c[da>>2]=u;c[ea>>2]=c[gb>>2];c[ea+4>>2]=c[gb+4>>2];c[ea+8>>2]=c[gb+8>>2];c[ea+12>>2]=c[gb+12>>2];c[ea+16>>2]=c[gb+16>>2];p=a[la>>0]|0;a[ba>>0]=p;r=0;while(1){if((r|0)>=(c[Fa>>2]|0))break;a[f+4828+r>>0]=4;r=r+1|0}if(!na)a[ma>>0]=p;b[W>>1]=Y;c[Z>>2]=$;p=0;while(1){if((p|0)>=(c[Ua>>2]|0))break;a[f+4864+p>>0]=0;p=p+1|0}Ad(f,l,c[ia>>2]|0,0,m);Bd(l,a[Ra>>0]|0,a[ka>>0]|0,ga,c[Ua>>2]|0);p=(c[ha>>2]|0)+((aa(c[ea>>2]|0)|0)+-32)|0}if(T|o|0){r=u;hb=571;break}if((p|0)>(n|0))F=u;else break b}else{p=Q;hb=571}while(0);if((hb|0)==571){hb=0;if((T|0)==6)break;else F=r}G=(p|0)>(n|0);l:do if(G){if(A|0){B=1;y=R;D=S<<16>>16;x=P;z=s;u=Q;E=p;break}if((T|0)>1){jb=+g[ja>>2]*1.5;g[ja>>2]=jb>1.5?jb:1.5;a[ka>>0]=0;B=0;s=-1}else{B=1;D=S<<16>>16;E=p}u=c[Fa>>2]|0;x=(T|0)==0;z=0;m:while(1){if((z|0)>=(u|0)){A=0;y=R;x=P;z=s;u=Q;break l}t=c[Ea>>2]|0;y=z+1|0;r=_(y,t)|0;t=_(z,t)|0;A=0;while(1){if((t|0)>=(r|0))break;kb=a[f+4864+t>>0]|0;lb=kb<<24>>24;t=t+1|0;A=A+(kb<<24>>24>-1?lb:0-lb|0)|0}r=Za+(z<<2)|0;do if(!x){t=$a+(z<<2)|0;if((A|0)<(c[r>>2]|0)?(c[t>>2]|0)==0:0)break;c[t>>2]=1;z=y;continue m}while(0);c[r>>2]=A;b[Ya+(z<<1)>>1]=S;z=y}}else{if((p|0)>=(ca|0))break b;r=S<<16>>16;if(y){A=1;y=r;x=s;u=p;break};c[fb>>2]=c[l>>2];c[fb+4>>2]=c[l+4>>2];c[fb+8>>2]=c[l+8>>2];c[fb+12>>2]=c[l+12>>2];c[fb+16>>2]=c[l+16>>2];c[fb+20>>2]=c[l+20>>2];F=c[da>>2]|0;c[gb>>2]=c[ea>>2];c[gb+4>>2]=c[ea+4>>2];c[gb+8>>2]=c[ea+8>>2];c[gb+12>>2]=c[ea+12>>2];c[gb+16>>2]=c[ea+16>>2];rf(_a|0,c[l>>2]|0,F|0)|0;rf(db|0,U|0,4448)|0;J=a[ba>>0]|0;A=1;y=r;x=s;u=p}while(0);do if(!(A&B)){if(G){if(S<<16>>16>=16384){t=32767;break}t=S<<16>>16<<1&65535;break}r=(p-n<<7|0)/(c[Ua>>2]|0)|0;p=r+2048|0;do if((r|0)<-2048)p=0;else{if((p|0)>3966){p=2147483647;break}s=p>>7;t=1<>16)<>7;else p=_(t>>7,p+((_(_(p,128-p|0)|0,-174)|0)>>16)|0)|0;p=t+p|0}while(0);t=S<<16>>16;t=(_(p>>16,t)|0)+((_(p&65535,t)|0)>>>16)&65535}else{t=D-y|0;r=y+((_(t,n-u|0)|0)/(E-u|0)|0)|0;s=r<<16>>16;t=t>>2;p=y+t|0;if((s|0)<=(p|0)){p=D-t|0;p=(s|0)<(p|0)?p:r}t=p&65535}while(0);p=c[Fa>>2]|0;r=0;while(1){if((r|0)>=(p|0))break;if(!(c[$a+(r<<2)>>2]|0))s=t;else s=b[Ya+(r<<1)>>1]|0;kb=c[bb+728+(r<<2)>>2]|0;lb=s<<16>>16;lb=(_(kb>>16,lb)|0)+((_(kb&65535,lb)|0)>>16)|0;c[ab+(r<<2)>>2]=(lb|0)>8388607?2147483392:((lb|0)<-8388608?-8388608:lb)<<8;r=r+1|0}a[ba>>0]=a[la>>0]|0;ge(ma,ab,ba,oa,p);r=c[Fa>>2]|0;s=0;p=0;while(1){if((p|0)>=(r|0)){p=0;break}s=(a[f+4828+p>>0]|0)+(s<<8)|0;p=p+1|0}while(1){if((p|0)>=(r|0))break;g[bb+(p<<2)>>2]=+(c[ab+(p<<2)>>2]|0)*.0000152587890625;p=p+1|0}S=t;R=y;P=x;T=T+1|0;Q=u;r=F}if((A|0)!=0&(y|(p|0)>(n|0))){c[l>>2]=c[fb>>2];c[l+4>>2]=c[fb+4>>2];c[l+8>>2]=c[fb+8>>2];c[l+12>>2]=c[fb+12>>2];c[l+16>>2]=c[fb+16>>2];c[l+20>>2]=c[fb+20>>2];c[da>>2]=r;c[ea>>2]=c[gb>>2];c[ea+4>>2]=c[gb+4>>2];c[ea+8>>2]=c[gb+8>>2];c[ea+12>>2]=c[gb+12>>2];c[ea+16>>2]=c[gb+16>>2];rf(c[l>>2]|0,_a|0,r|0)|0;rf(U|0,db|0,4448)|0;a[ba>>0]=J}}while(0);sf(f+7272|0,f+7272+(c[Ua>>2]<<2)|0,(c[Wa>>2]|0)+((c[Ta>>2]|0)*5|0)<<2|0)|0;if(c[Sa>>2]|0){lb=0;c[j>>2]=lb;i=ib;return 0}c[f+4636>>2]=c[bb+228+((c[f+4672>>2]|0)+-1<<2)>>2];a[f+4633>>0]=a[f+4857>>0]|0;c[f+4756>>2]=0;lb=(c[l+20>>2]|0)+((aa(c[l+28>>2]|0)|0)+-32)+7>>3;c[j>>2]=lb;i=ib;return 0}function Rd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=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;switch(e|0){case 6:{f=b+4|0;h=b+8|0;i=b+12|0;j=b+16|0;k=b+20|0;l=6;while(1){if((l|0)>=(d|0))break;v=c+(l+-1<<2)|0;g[a+(l<<2)>>2]=+g[v+4>>2]-(+g[v>>2]*+g[b>>2]+ +g[v+-4>>2]*+g[f>>2]+ +g[v+-8>>2]*+g[h>>2]+ +g[v+-12>>2]*+g[i>>2]+ +g[v+-16>>2]*+g[j>>2]+ +g[v+-20>>2]*+g[k>>2]);l=l+1|0}c=e<<2;nf(a|0,0,c|0)|0;return}case 8:{f=b+4|0;h=b+8|0;i=b+12|0;j=b+16|0;k=b+20|0;l=b+24|0;m=b+28|0;n=8;while(1){if((n|0)>=(d|0))break;v=c+(n+-1<<2)|0;g[a+(n<<2)>>2]=+g[v+4>>2]-(+g[v>>2]*+g[b>>2]+ +g[v+-4>>2]*+g[f>>2]+ +g[v+-8>>2]*+g[h>>2]+ +g[v+-12>>2]*+g[i>>2]+ +g[v+-16>>2]*+g[j>>2]+ +g[v+-20>>2]*+g[k>>2]+ +g[v+-24>>2]*+g[l>>2]+ +g[v+-28>>2]*+g[m>>2]);n=n+1|0}c=e<<2;nf(a|0,0,c|0)|0;return}case 10:{f=b+4|0;h=b+8|0;i=b+12|0;j=b+16|0;k=b+20|0;l=b+24|0;m=b+28|0;n=b+32|0;o=b+36|0;p=10;while(1){if((p|0)>=(d|0))break;v=c+(p+-1<<2)|0;g[a+(p<<2)>>2]=+g[v+4>>2]-(+g[v>>2]*+g[b>>2]+ +g[v+-4>>2]*+g[f>>2]+ +g[v+-8>>2]*+g[h>>2]+ +g[v+-12>>2]*+g[i>>2]+ +g[v+-16>>2]*+g[j>>2]+ +g[v+-20>>2]*+g[k>>2]+ +g[v+-24>>2]*+g[l>>2]+ +g[v+-28>>2]*+g[m>>2]+ +g[v+-32>>2]*+g[n>>2]+ +g[v+-36>>2]*+g[o>>2]);p=p+1|0}c=e<<2;nf(a|0,0,c|0)|0;return}case 12:{f=b+4|0;h=b+8|0;i=b+12|0;j=b+16|0;k=b+20|0;l=b+24|0;m=b+28|0;n=b+32|0;o=b+36|0;p=b+40|0;q=b+44|0;r=12;while(1){if((r|0)>=(d|0))break;v=c+(r+-1<<2)|0;g[a+(r<<2)>>2]=+g[v+4>>2]-(+g[v>>2]*+g[b>>2]+ +g[v+-4>>2]*+g[f>>2]+ +g[v+-8>>2]*+g[h>>2]+ +g[v+-12>>2]*+g[i>>2]+ +g[v+-16>>2]*+g[j>>2]+ +g[v+-20>>2]*+g[k>>2]+ +g[v+-24>>2]*+g[l>>2]+ +g[v+-28>>2]*+g[m>>2]+ +g[v+-32>>2]*+g[n>>2]+ +g[v+-36>>2]*+g[o>>2]+ +g[v+-40>>2]*+g[p>>2]+ +g[v+-44>>2]*+g[q>>2]);r=r+1|0}c=e<<2;nf(a|0,0,c|0)|0;return}case 16:{f=b+4|0;h=b+8|0;n=b+12|0;o=b+16|0;p=b+20|0;q=b+24|0;r=b+28|0;s=b+32|0;t=b+36|0;u=b+40|0;i=b+44|0;j=b+48|0;k=b+52|0;l=b+56|0;m=b+60|0;v=16;while(1){if((v|0)>=(d|0))break;w=c+(v+-1<<2)|0;g[a+(v<<2)>>2]=+g[w+4>>2]-(+g[w>>2]*+g[b>>2]+ +g[w+-4>>2]*+g[f>>2]+ +g[w+-8>>2]*+g[h>>2]+ +g[w+-12>>2]*+g[n>>2]+ +g[w+-16>>2]*+g[o>>2]+ +g[w+-20>>2]*+g[p>>2]+ +g[w+-24>>2]*+g[q>>2]+ +g[w+-28>>2]*+g[r>>2]+ +g[w+-32>>2]*+g[s>>2]+ +g[w+-36>>2]*+g[t>>2]+ +g[w+-40>>2]*+g[u>>2]+ +g[w+-44>>2]*+g[i>>2]+ +g[w+-48>>2]*+g[j>>2]+ +g[w+-52>>2]*+g[k>>2]+ +g[w+-56>>2]*+g[l>>2]+ +g[w+-60>>2]*+g[m>>2]);v=v+1|0}w=e<<2;nf(a|0,0,w|0)|0;return}default:{w=e<<2;nf(a|0,0,w|0)|0;return}}}function Sd(a,d,f){a=a|0;d=d|0;f=f|0;var h=0,j=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;T=i;i=i+176|0;O=T+124|0;Q=T+72|0;P=T+64|0;R=T;j=0;while(1){if((j|0)>=(f|0))break;l=+g[d+(j<<2)>>2]*65536.0;h=(g[k>>2]=l,c[k>>2]|0);if((h&2130706432)>>>0<=1249902592){h=(h|0)<0;l=h?l+-8388608.0+8388608.0:l+8388608.0+-8388608.0;if(l==0.0)l=h?-0.0:0.0}c[R+(j<<2)>>2]=~~l;j=j+1|0}c[P>>2]=O;c[P+4>>2]=Q;L=f>>1;M=O+(L<<2)|0;c[M>>2]=65536;N=Q+(L<<2)|0;c[N>>2]=65536;h=0;while(1){if((L|0)<=(h|0))break;K=c[R+(L-h+-1<<2)>>2]|0;J=c[R+(h+L<<2)>>2]|0;c[O+(h<<2)>>2]=0-K-J;c[Q+(h<<2)>>2]=J-K;h=h+1|0}h=L;while(1){if((h|0)<=0){h=2;break}K=h+-1|0;J=O+(K<<2)|0;c[J>>2]=(c[J>>2]|0)-(c[O+(h<<2)>>2]|0);J=Q+(K<<2)|0;c[J>>2]=(c[J>>2]|0)+(c[Q+(h<<2)>>2]|0);h=K}while(1){if((h|0)>(L|0)){h=2;break}else j=L;while(1){if((j|0)<=(h|0))break;K=O+(j+-2<<2)|0;c[K>>2]=(c[K>>2]|0)-(c[O+(j<<2)>>2]|0);j=j+-1|0}K=O+(h+-2<<2)|0;c[K>>2]=(c[K>>2]|0)-(c[O+(h<<2)>>2]<<1);h=h+1|0}while(1){if((h|0)>(L|0))break;else j=L;while(1){if((j|0)<=(h|0))break;K=Q+(j+-2<<2)|0;c[K>>2]=(c[K>>2]|0)-(c[Q+(j<<2)>>2]|0);j=j+-1|0}K=Q+(h+-2<<2)|0;c[K>>2]=(c[K>>2]|0)-(c[Q+(h<<2)>>2]<<1);h=h+1|0}h=c[M>>2]|0;K=(L|0)==8;a:do if(K)h=(c[O>>2]|0)+((c[O+4>>2]|0)+((c[O+8>>2]|0)+((c[O+12>>2]|0)+((c[O+16>>2]|0)+((c[O+20>>2]|0)+((c[O+24>>2]|0)+((c[O+28>>2]|0)+(h<<1)<<1)<<1)<<1)<<1)<<1)<<1)<<1)|0;else{d=L;while(1){j=d+-1|0;if((d|0)<=0)break a;d=j;h=(c[O+(j<<2)>>2]|0)+(h<<1)|0}}while(0);b:do if((h|0)<0){b[a>>1]=0;h=c[N>>2]|0;if(K){j=Q;d=1;h=(c[Q>>2]|0)+((c[Q+4>>2]|0)+((c[Q+8>>2]|0)+((c[Q+12>>2]|0)+((c[Q+16>>2]|0)+((c[Q+20>>2]|0)+((c[Q+24>>2]|0)+((c[Q+28>>2]|0)+(h<<1)<<1)<<1)<<1)<<1)<<1)<<1)<<1)|0;break}else d=L;while(1){j=d+-1|0;if((d|0)<=0){j=Q;d=1;break b}d=j;h=(c[Q+(j<<2)>>2]|0)+(h<<1)|0}}else{j=O;d=0}while(0);w=O+28|0;x=O+24|0;y=O+20|0;z=O+16|0;A=O+12|0;B=O+8|0;C=O+4|0;D=Q+28|0;E=Q+24|0;F=Q+20|0;G=Q+16|0;H=Q+12|0;I=Q+8|0;J=Q+4|0;v=0;c:while(1){o=1;m=0;n=8192;d:while(1){u=o;while(1){o=b[27508+(u<<1)>>1]|0;p=pe(j,o,L)|0;if((h|0)<1){if((p|0)>=(m|0))break;if(!((h|0)<0|(p|0)>(0-m|0)))break}else if((p|0)<=(0-m|0))break;if((u|0)>127)break d;else{u=u+1|0;m=0;n=o;h=p}}m=(p|0)==0&1;s=-256;t=0;while(1){if((t|0)==3)break;q=n+o|0;q=(q>>1)+(q&1)|0;r=pe(j,q,L)|0;if((h|0)<1)if((r&h|0)>-1){o=q;p=r}else S=42;else if((r|0)<1){o=q;p=r}else S=42;if((S|0)==42){S=0;s=s+(128>>>t)|0;n=q;h=r}t=t+1|0}j=h-p|0;if((((h|0)>0?h:0-h|0)|0)<65536)if((h|0)==(p|0))h=s;else h=s+(((h<<5)+(j>>1)|0)/(j|0)|0)|0;else h=s+((h|0)/(j>>5|0)|0)|0;h=(u<<8)+h|0;b[a+(d<<1)>>1]=(h|0)<32767?h:32767;h=d+1|0;if((h|0)>=(f|0)){S=77;break c}o=u;j=c[P+((h&1)<<2)>>2]|0;d=h;n=b[27508+(u+-1<<1)>>1]|0;h=1-(h&2)<<12}m=v+1|0;if((v|0)>15)break;re(R,f,65536-(1<>2]=65536;c[N>>2]=65536;h=0;while(1){if((L|0)<=(h|0)){h=L;break}v=c[R+(L-h+-1<<2)>>2]|0;u=c[R+(h+L<<2)>>2]|0;c[O+(h<<2)>>2]=0-v-u;c[Q+(h<<2)>>2]=u-v;h=h+1|0}while(1){if((h|0)<=0){h=2;break}v=h+-1|0;u=O+(v<<2)|0;c[u>>2]=(c[u>>2]|0)-(c[O+(h<<2)>>2]|0);u=Q+(v<<2)|0;c[u>>2]=(c[u>>2]|0)+(c[Q+(h<<2)>>2]|0);h=v}while(1){if((h|0)>(L|0)){h=2;break}else j=L;while(1){if((j|0)<=(h|0))break;v=O+(j+-2<<2)|0;c[v>>2]=(c[v>>2]|0)-(c[O+(j<<2)>>2]|0);j=j+-1|0}v=O+(h+-2<<2)|0;c[v>>2]=(c[v>>2]|0)-(c[O+(h<<2)>>2]<<1);h=h+1|0}while(1){if((h|0)>(L|0))break;else j=L;while(1){if((j|0)<=(h|0))break;v=Q+(j+-2<<2)|0;c[v>>2]=(c[v>>2]|0)-(c[Q+(j<<2)>>2]|0);j=j+-1|0}v=Q+(h+-2<<2)|0;c[v>>2]=(c[v>>2]|0)-(c[Q+(h<<2)>>2]<<1);h=h+1|0}h=c[M>>2]|0;e:do if(K)h=(c[O>>2]|0)+((c[C>>2]|0)+((c[B>>2]|0)+((c[A>>2]|0)+((c[z>>2]|0)+((c[y>>2]|0)+((c[x>>2]|0)+((c[w>>2]|0)+(h<<1)<<1)<<1)<<1)<<1)<<1)<<1)<<1)|0;else{d=L;while(1){j=d+-1|0;if((d|0)<=0)break e;d=j;h=(c[O+(j<<2)>>2]|0)+(h<<1)|0}}while(0);if((h|0)>=0){v=m;j=O;d=0;continue}b[a>>1]=0;h=c[N>>2]|0;if(K){v=m;j=Q;d=1;h=(c[Q>>2]|0)+((c[J>>2]|0)+((c[I>>2]|0)+((c[H>>2]|0)+((c[G>>2]|0)+((c[F>>2]|0)+((c[E>>2]|0)+((c[D>>2]|0)+(h<<1)<<1)<<1)<<1)<<1)<<1)<<1)<<1)|0;continue}else d=L;while(1){j=d+-1|0;if((d|0)<=0){v=m;j=Q;d=1;continue c}d=j;h=(c[Q+(j<<2)>>2]|0)+(h<<1)|0}}if((S|0)==77){i=T;return}h=32768/(f+1|0)|0;b[a>>1]=h;j=1;while(1){if((j|0)>=(f|0))break;S=(h&65535)+(e[a>>1]|0)|0;b[a+(j<<1)>>1]=S;h=S;j=j+1|0}i=T;return}function Td(d,e,f,h,j,l){d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;l=l|0;var m=0.0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+1008|0;D=E+360|0;x=E+48|0;B=E+296|0;A=E+256|0;w=E+64|0;z=E+32|0;C=E+16|0;y=E;v=c[d+4672>>2]|0;p=d+4728|0;t=0;while(1){if((t|0)>=(v|0)){q=0;break}q=c[p>>2]|0;r=t*24|0;u=0;while(1){if((u|0)>=(q|0))break;s=r+u|0;m=+g[e+244+(s<<2)>>2]*8192.0;n=(g[k>>2]=m,c[k>>2]|0);if((n&2130706432)>>>0<=1249902592){n=(n|0)<0;m=n?m+-8388608.0+8388608.0:m+8388608.0+-8388608.0;if(m==0.0)m=n?-0.0:0.0}b[w+(s<<1)>>1]=~~m;u=u+1|0}t=t+1|0}while(1){if((q|0)>=(v|0))break;m=+g[e+644+(q<<2)>>2]*16384.0;n=(g[k>>2]=m,c[k>>2]|0);if((n&2130706432)>>>0<=1249902592){n=(n|0)<0;m=n?m+-8388608.0+8388608.0:m+8388608.0+-8388608.0;if(m==0.0)m=n?-0.0:0.0}p=~~m<<16;m=+g[e+628+(q<<2)>>2]*16384.0;n=(g[k>>2]=m,c[k>>2]|0);if((n&2130706432)>>>0<=1249902592){n=(n|0)<0;m=n?m+-8388608.0+8388608.0:m+8388608.0+-8388608.0;if(m==0.0)m=n?-0.0:0.0}c[z+(q<<2)>>2]=p|~~m&65535;m=+g[e+660+(q<<2)>>2]*16384.0;n=(g[k>>2]=m,c[k>>2]|0);if((n&2130706432)>>>0<=1249902592){n=(n|0)<0;m=n?m+-8388608.0+8388608.0:m+8388608.0+-8388608.0;if(m==0.0)m=n?-0.0:0.0}c[C+(q<<2)>>2]=~~m;m=+g[e+676+(q<<2)>>2]*16384.0;n=(g[k>>2]=m,c[k>>2]|0);if((n&2130706432)>>>0<=1249902592){n=(n|0)<0;m=n?m+-8388608.0+8388608.0:m+8388608.0+-8388608.0;if(m==0.0)m=n?-0.0:0.0}c[y+(q<<2)>>2]=~~m;q=q+1|0}m=+g[e+692>>2]*1024.0;n=(g[k>>2]=m,c[k>>2]|0);if((n&2130706432)>>>0<=1249902592){n=(n|0)<0;m=n?m+-8388608.0+8388608.0:m+8388608.0+-8388608.0;if(m==0.0)m=n?-0.0:0.0}p=v*5|0;q=0;while(1){if((q|0)>=(p|0))break;o=+g[e+144+(q<<2)>>2]*16384.0;n=(g[k>>2]=o,c[k>>2]|0);if((n&2130706432)>>>0<=1249902592){n=(n|0)<0;o=n?o+-8388608.0+8388608.0:o+8388608.0+-8388608.0;if(o==0.0)o=n?-0.0:0.0}b[A+(q<<1)>>1]=~~o;q=q+1|0}t=~~m;p=d+4732|0;s=0;while(1){if((s|0)==2){p=0;break}q=c[p>>2]|0;r=0;while(1){if((r|0)>=(q|0))break;m=+g[e+16+(s<<6)+(r<<2)>>2]*4096.0;n=(g[k>>2]=m,c[k>>2]|0);if((n&2130706432)>>>0<=1249902592){n=(n|0)<0;m=n?m+-8388608.0+8388608.0:m+8388608.0+-8388608.0;if(m==0.0)m=n?-0.0:0.0}b[B+(s<<5)+(r<<1)>>1]=~~m;r=r+1|0}s=s+1|0}while(1){if((p|0)>=(v|0))break;m=+g[e+(p<<2)>>2]*65536.0;n=(g[k>>2]=m,c[k>>2]|0);if((n&2130706432)>>>0<=1249902592){n=(n|0)<0;m=n?m+-8388608.0+8388608.0:m+8388608.0+-8388608.0;if(m==0.0)m=n?-0.0:0.0}c[x+(p<<2)>>2]=~~m;p=p+1|0}if((a[f+29>>0]|0)==2)q=b[25412+(a[f+33>>0]<<1)>>1]|0;else q=0;p=c[d+4676>>2]|0;r=0;while(1){if((r|0)>=(p|0))break;m=+g[l+(r<<2)>>2];n=(g[k>>2]=m,c[k>>2]|0);if((n&2130706432)>>>0<=1249902592){n=(n|0)<0;m=n?m+-8388608.0+8388608.0:m+8388608.0+-8388608.0;if(m==0.0)m=n?-0.0:0.0}b[D+(r<<1)>>1]=~~m;r=r+1|0}if((c[d+4720>>2]|0)<=1?(c[d+4764>>2]|0)<=0:0){je(d,h,f,D,j,B,A,w,y,C,z,x,e+228|0,t,q);i=E;return}ke(d,h,f,D,j,B,A,w,y,C,z,x,e+228|0,t,q);i=E;return}function Ud(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0,f=0,h=0.0,i=0.0,j=0.0,k=0.0;e=b+-3|0;d=((e|0)>0?e:0)+3&-4;f=0;c=0.0;while(1){if((f|0)>=(e|0))break;k=+g[a+(f<<2)>>2];j=+g[a+((f|1)<<2)>>2];i=+g[a+((f|2)<<2)>>2];h=+g[a+((f|3)<<2)>>2];f=f+4|0;c=c+(k*k+j*j+i*i+h*h)}while(1){if((d|0)>=(b|0))break;k=+g[a+(d<<2)>>2];d=d+1|0;c=c+k*k}return +c}function Vd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,h=0,i=0.0,j=0,k=0,l=0;f=c+-3|0;e=((f|0)>0?f:0)+3&-4;h=0;d=0.0;while(1){if((h|0)>=(f|0))break;l=h|1;k=h|2;j=h|3;i=d+(+g[a+(h<<2)>>2]*+g[b+(h<<2)>>2]+ +g[a+(l<<2)>>2]*+g[b+(l<<2)>>2]+ +g[a+(k<<2)>>2]*+g[b+(k<<2)>>2]+ +g[a+(j<<2)>>2]*+g[b+(j<<2)>>2]);h=h+4|0;d=i}while(1){if((e|0)>=(c|0))break;i=d+ +g[a+(e<<2)>>2]*+g[b+(e<<2)>>2];e=e+1|0;d=i}return +d}function Wd(e,f,g,h,i,j,k,l){e=e|0;f=f|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,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;if((j|0)==0|(f|0)<0){j=-1;return j|0}if(!f){j=-4;return j|0}S=a[e>>0]|0;do if(S<<24>>24>=0){if((S&96)==96){o=(S&8)==0?480:960;break}n=(S&255)>>>3&3;if((n|0)==3)o=2880;else o=(48e3< >>0)/100|0}else o=(48e3<<((S&255)>>>3&3)>>>0)/400|0;while(0);q=e+1|0;x=f+-1|0;a:do switch(S&3|0){case 0:{C=q;D=x;E=0;F=1;p=x;A=0;u=47;break}case 1:{if(!g)if(!(x&1)){I=(x|0)/2|0;b[j>>1]=I;G=q;H=2;J=0;u=61;break a}else{j=-4;return j|0}else{N=q;M=x;O=1;Q=2;P=x;R=0;u=48}break}case 2:{if((f|0)<2){b[j>>1]=-1;j=-4;return j|0}n=a[q>>0]|0;do if((n&255)<252){o=1;n=n&255}else{if((f|0)>=3){o=2;n=(d[e+2>>0]<<2)+(n&255)&65535;break}b[j>>1]=-1;j=-4;return j|0}while(0);b[j>>1]=n;f=x-o|0;n=n<<16>>16;if((f|0)<(n|0)){j=-4;return j|0}else{C=q+o|0;D=f;E=0;F=2;p=f-n|0;A=0;u=47;break a}}default:{if((f|0)<2){j=-4;return j|0}n=e+2|0;t=a[q>>0]|0;B=t&63;if((B|0)==0|(_(o,B)|0)>>>0>5760){j=-4;return j|0}o=f+-2|0;if(t&64){q=0;while(1){if((o|0)<1){y=-4;u=74;break}s=n+1|0;r=a[n>>0]|0;if(r<<24>>24!=-1)break;n=s;o=o+-255|0;q=q+254|0}if((u|0)==74)return y|0;f=r&255;n=o+-1-f|0;if((n|0)<0){j=-4;return j|0}else{r=n;w=q+f|0}}else{s=n;r=o;w=0}u=(t&255)>>>7;v=u&255^1;if(u<<24>>24!=1){if(g|0){N=s;M=r;O=v;Q=B;P=x;R=w;u=48;break a}p=(r|0)/(B|0)|0;if((_(p,B)|0)!=(r|0)){j=-4;return j|0}n=B+-1|0;o=p&65535;f=0;while(1){if((f|0)>=(n|0)){C=s;D=r;E=v;F=B;A=w;u=47;break a}b[j+(f<<1)>>1]=o;f=f+1|0}}u=B+-1|0;t=r;q=0;while(1){if((q|0)>=(u|0)){u=41;break}z=j+(q<<1)|0;if((t|0)<1){u=33;break}n=a[s>>0]|0;if((n&255)<252){n=n&255;b[z>>1]=n;o=1}else{if((t|0)<2){u=37;break}n=(d[s+1>>0]<<2)+(n&255)&65535;b[z>>1]=n;o=2}f=t-o|0;n=n<<16>>16;if((n|0)>(f|0)){y=-4;u=74;break}s=s+o|0;t=f;q=q+1|0;r=r-(o+n)|0}if((u|0)==33){b[z>>1]=-1;j=-4;return j|0}else if((u|0)==37){b[z>>1]=-1;j=-4;return j|0}else if((u|0)==41){if((r|0)<0)y=-4;else{C=s;D=t;E=v;F=B;p=r;A=w;u=47;break a}return y|0}else if((u|0)==74)return y|0}}while(0);if((u|0)==47)if(!g){G=C;H=F;I=p;J=A;u=61}else{N=C;M=D;O=E;Q=F;P=p;R=A;u=48}b:do if((u|0)==48){m=j+(Q<<1)+-2|0;if((M|0)<1){b[m>>1]=-1;j=-4;return j|0}n=a[N>>0]|0;do if((n&255)<252){L=n&255;b[m>>1]=L;f=1;m=L}else{if((M|0)>=2){L=(d[N+1>>0]<<2)+(n&255)&65535;b[m>>1]=L;f=2;m=L;break}b[m>>1]=-1;j=-4;return j|0}while(0);o=M-f|0;p=Q+-1|0;q=j+(p<<1)|0;n=m<<16>>16;if((n|0)>(o|0)){j=-4;return j|0}m=N+f|0;if(!O){if((f+n|0)>(P|0))y=-4;else{K=Q;L=R;break}return y|0}if((_(n,Q)|0)>(o|0)){j=-4;return j|0}else n=0;while(1){if((n|0)>=(p|0)){K=Q;L=R;break b}b[j+(n<<1)>>1]=b[q>>1]|0;n=n+1|0}}else if((u|0)==61)if((I|0)>1275){j=-4;return j|0}else{b[j+(H+-1<<1)>>1]=I;m=G;K=H;L=J;break}while(0);if(k|0)c[k>>2]=m-e;o=(i|0)==0;n=0;while(1){if((n|0)>=(K|0))break;if(!o)c[i+(n<<2)>>2]=m;m=m+(b[j+(n<<1)>>1]|0)|0;n=n+1|0}if(l|0)c[l>>2]=L+(m-e);if(!h){j=K;return j|0}a[h>>0]=S;j=K;return j|0}function Xd(a,c,d,e,f,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0.0,o=0,p=0,q=0;q=_(c,j)|0;c=_(b[a+(i<<1)>>1]|0,j)|0;if((k|0)!=1){p=(q|0)/(k|0)|0;c=(c|0)<(p|0)?c:p}o=(l|0)==0;p=o?i:0;m=o?h:0;o=o?c:0;k=a+(m<<1)|0;c=b[k>>1]|0;h=_(c<<16>>16,j)|0;i=e;l=0;while(1){if((l|0)>=(_(c<<16>>16,j)|0))break;g[i>>2]=0.0;c=b[k>>1]|0;i=i+4|0;l=l+1|0}c=m;k=d+(h<<2)|0;a:while(1){if((c|0)>=(p|0))break;l=_(b[a+(c<<1)>>1]|0,j)|0;m=c+1|0;d=_(b[a+(m<<1)>>1]|0,j)|0;n=+X(+((+g[f+(c<<2)>>2]+ +g[17220+(c<<2)>>2])*.6931471805599453));h=i;c=l;l=k;while(1){k=l+4|0;i=h+4|0;g[h>>2]=+g[l>>2]*n;c=c+1|0;if((c|0)<(d|0)){h=i;l=k}else{c=m;continue a}}}nf(e+(o<<2)|0,0,q-o<<2|0)|0;return}function Yd(e,f,h,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B){e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;var C=0,D=0,E=0.0,F=0.0,G=0,H=0,I=0.0,J=0,K=0,L=0,M=0,N=0.0,O=0.0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=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.0;Oa=i;i=i+1520|0;Ia=Oa+192|0;La=Oa+24|0;Ma=Oa;Na=Oa+144|0;Ja=Oa+92|0;Ka=Oa+40|0;Ha=Oa+244|0;Da=c[f+32>>2]|0;Ga=l|0?2:1;D=(e|0)==0;if(D){Ba=0;Ca=1}else{za=(l|0)!=0&(r|0)==0;Ca=(A|0)>7;Ba=za&Ca;Ca=za&Ca}ta=(p|0)==0?1:1< >1]< >2]|0;p=b[Da+(A+-1<<1)>>1]|0;C=p< >1]|0)-p< >2]=n;c[Ia+28>>2]=w;c[Ia>>2]=e;c[Ia+16>>2]=s;c[Ia+8>>2]=f;na=Ia+40|0;c[na>>2]=c[z>>2];c[Ia+20>>2]=q;c[Ia+44>>2]=B;c[Ia+4>>2]=Ca&1;fa=Ia+48|0;c[fa>>2]=0;ga=Ia+12|0;ha=j+-1|0;ia=(l|0)==0;ja=w+20|0;ka=w+28|0;la=Ia+32|0;ma=Ia+24|0;Z=f+12|0;$=(1< 1;Y=h;B=0;C=1;while(1){if((Y|0)>=(j|0))break;c[ga>>2]=Y;R=(Y|0)==(ha|0);S=Da+(Y<<1)|0;W=b[S>>1]< >1]< >2]|0;A=32-(aa(T|0)|0)|0;T=T>>>(A+-16|0);X=(T>>>12)+-8|0;X=(c[ja>>2]<<3)-((A<<3)+(X+(T>>>0>(c[5272+(X<<2)>>2]|0)>>>0&1)))|0;T=v-((Y|0)==(h|0)?0:X)|0;A=u-X|0;c[la>>2]=A+-1;if((Y|0)<(y|0)?(Ea=y-Y|0,Ea=(c[o+(Y<<2)>>2]|0)+((T|0)/(((Ea|0)>3?3:Ea)|0)|0)|0,Fa=(A|0)<(Ea|0),!(((Fa?A:Ea)|0)<16384&((Fa?A:Ea)|0)<0)):0)U=((Fa?A:Ea)|0)>16383?16383:Fa?A:Ea;else U=0;if(Ca?((b[S>>1]< =(b[ua>>1]< >2]|0;c[ma>>2]=M;Q=(Y|0)<(c[Z>>2]|0);p=Q?p:0;P=Q?D:xa;Q=Q?e:ia?0:xa;p=R?(Ba?p:0):p;if((B|0)!=0?(q|0)!=3|ea|(M|0)<0:0){f=(b[Da+(B<<1)>>1]< >1]< (A|0));A=A+W|0;e=B+-1|0;while(1){C=e+1|0;if((b[Da+(C<<1)>>1]< >0];C=C|d[m+(M+Ga+-1)>>0];if((D|0)<(e|0))D=D+1|0;else{D=A;G=C;break}}}else{f=-1;D=$;G=$}a:do if(r)if((Y|0)==(s|0)){if(!Ca){Aa=31;break}A=Da+(s<<1)|0;C=0;while(1){if((C|0)>=((b[A>>1]< >2]=(+g[Aa>>2]+ +g[za+(C<<2)>>2])*.5;C=C+1|0}}else{v=(U|0)/2|0;C=(f|0)==-1;A=C?0:xa+(f<<2)|0;if(R){A=Zd(Ia,P,W,v,ta,A,x,0,1.0,p,D)|0;D=C?0:za+(f<<2)|0;C=0}else{A=Zd(Ia,P,W,v,ta,A,x,xa+(b[S>>1]< >1]< >1]< >2]=0;if(R)A=0;else A=xa+(b[S>>1]< >2];O=+g[n+(Y+(c[wa>>2]|0)<<2)>>2];I=(N >2]|0;r=c[ba>>2]|0;c[La>>2]=c[ca>>2];c[La+4>>2]=c[ca+4>>2];c[La+8>>2]=c[ca+8>>2];c[La+12>>2]=c[ca+12>>2];v=c[da>>2]|0;c[Ma>>2]=c[ka>>2];c[Ma+4>>2]=c[ka+4>>2];c[Ma+8>>2]=c[ka+8>>2];c[Ma+12>>2]=c[ka+12>>2];c[Ma+16>>2]=c[ka+16>>2];A=Ja;C=Ia;D=A+52|0;do{c[A>>2]=c[C>>2];A=A+4|0;C=C+4|0}while((A|0)<(D|0));L=W<<2;rf(oa|0,P|0,L|0)|0;rf(pa|0,Q|0,L|0)|0;c[fa>>2]=-1;H=(f|0)==-1;if(R)A=0;else A=xa+(b[S>>1]< =(W|0)){A=0;E=0.0;break}I=F+ +g[oa+(A<<2)>>2]*+g[P+(A<<2)>>2];A=A+1|0;F=I}while(1){if((A|0)>=(W|0))break;I=E+ +g[pa+(A<<2)>>2]*+g[Q+(A<<2)>>2];A=A+1|0;E=I}I=N*F+O*E;A=Na;C=w;D=A+48|0;do{c[A>>2]=c[C>>2];A=A+4|0;C=C+4|0}while((A|0)<(D|0));A=Ka;C=Ia;D=A+52|0;do{c[A>>2]=c[C>>2];A=A+4|0;C=C+4|0}while((A|0)<(D|0));rf(qa|0,P|0,L|0)|0;rf(ra|0,Q|0,L|0)|0;if(!R)rf(sa|0,xa+(b[S>>1]< >2]=e;c[ba>>2]=r;c[ca>>2]=c[La>>2];c[ca+4>>2]=c[La+4>>2];c[ca+8>>2]=c[La+8>>2];c[ca+12>>2]=c[La+12>>2];c[da>>2]=v;c[ka>>2]=c[Ma>>2];c[ka+4>>2]=c[Ma+4>>2];c[ka+8>>2]=c[Ma+8>>2];c[ka+12>>2]=c[Ma+12>>2];c[ka+16>>2]=c[Ma+16>>2];A=Ia;C=Ja;D=A+48|0;do{c[A>>2]=c[C>>2];A=A+4|0;C=C+4|0}while((A|0)<(D|0));rf(P|0,oa|0,L|0)|0;rf(Q|0,pa|0,L|0)|0;c[fa>>2]=1;if(R)A=0;else A=xa+(b[S>>1]< =(W|0)){A=0;E=0.0;break}E=F+ +g[oa+(A<<2)>>2]*+g[P+(A<<2)>>2];A=A+1|0;F=E}while(1){if((A|0)>=(W|0))break;Pa=E+ +g[pa+(A<<2)>>2]*+g[Q+(A<<2)>>2];A=A+1|0;E=Pa}if(!(I>=N*F+O*E)){r=0;e=C;A=C}else{A=w;C=Na;D=A+48|0;do{c[A>>2]=c[C>>2];A=A+4|0;C=C+4|0}while((A|0)<(D|0));A=Ia;C=Ka;D=A+52|0;do{c[A>>2]=c[C>>2];A=A+4|0;C=C+4|0}while((A|0)<(D|0));rf(P|0,qa|0,L|0)|0;rf(Q|0,ra|0,L|0)|0;if(!R)rf(xa+(b[S>>1]< >0]=e;a[m+(v+Ga+-1)>>0]=A;v=T+((c[o+(Y<<2)>>2]|0)+X)|0;Y=V;C=(U|0)>(W<<3|0)&1}c[z>>2]=c[na>>2];i=Oa;return}function Zd(b,e,f,h,i,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=+m;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0;p=c[b>>2]|0;v=c[b+24>>2]|0;y=(i|0)==1&1;u=(f>>>0)/(i>>>0)|0;if((f|0)==1){w=c[b+28>>2]|0;z=b+32|0;x=w+12|0;k=w+16|0;h=w+20|0;v=w+8|0;i=w+4|0;s=w+24|0;t=w+44|0;y=b+4|0;if((c[z>>2]|0)>7){if(!p){n=c[x>>2]|0;j=c[k>>2]|0;if(!j){p=c[i>>2]|0;o=c[v>>2]|0;q=0;do{if(o>>>0 >>0){j=o+1|0;c[v>>2]=j;o=j;j=d[(c[w>>2]|0)+(p-j)>>0]|0}else j=0;n=n|j<
>>1}else{u=+g[e>>2]<0.0&1;n=c[x>>2]|0;p=c[k>>2]|0;if((p+1|0)>>>0>32){q=7-p|0;q=p+((q|0)>-8?q:-8)&-8;r=p;do{j=c[v>>2]|0;o=c[i>>2]|0;if(((c[s>>2]|0)+j|0)>>>0>>0){j=j+1|0;c[v>>2]=j;a[(c[w>>2]|0)+(o-j)>>0]=n;j=0}else j=-1;c[t>>2]=c[t>>2]|j;n=n>>>8;r=r+-8|0}while((r|0)>7);p=p+-8-q|0}j=u;o=p+1|0;n=n|u< >2]=n;c[k>>2]=o;c[h>>2]=(c[h>>2]|0)+1;c[z>>2]=(c[z>>2]|0)+-8}else j=0;if(c[y>>2]|0)g[e>>2]=j|0?-1.0:1.0;if(!l){l=1;return l|0}c[l>>2]=c[e>>2];l=1;return l|0}z=(v|0)>0?v:0;do if(n)if(!j)n=0;else{if((z|0)==0?!((u&1|0)==0&(v|0)<0|(i|0)>1):0){n=j;break}rf(n|0,j|0,f<<2|0)|0}else n=j;while(0);w=(p|0)==0;x=(n|0)==0;t=0;while(1){if((t|0)>=(z|0))break;a:do if(!w){j=1<
>t>>1;q=j<<1;r=0;while(1){if((r|0)<(j|0))s=0;else break a;while(1){if((s|0)>=(p|0))break;D=e+((_(q,s)|0)+r<<2)|0;C=+g[D>>2]*.7071067690849304;A=e+(((s<<1|1)< >2]*.7071067690849304;g[D>>2]=C+B;g[A>>2]=C-B;s=s+1|0}r=r+1|0}}while(0);b:do if(!x){j=1< >t>>1;q=j<<1;r=0;while(1){if((r|0)<(j|0))s=0;else break b;while(1){if((s|0)>=(p|0))break;A=n+((_(q,s)|0)+r<<2)|0;B=+g[A>>2]*.7071067690849304;D=n+(((s<<1|1)< >2]*.7071067690849304;g[A>>2]=B+C;g[D>>2]=B-C;s=s+1|0}r=r+1|0}}while(0);o=d[31165+(o&15)>>0]|0|(d[31165+(o>>4)>>0]|0)<<2;t=t+1|0}i=i>>z;t=o;j=u< >1;p=i<<1;q=0;while(1){if((q|0)<(i|0))r=0;else break c;while(1){if((r|0)>=(o|0))break;A=e+((_(p,r)|0)+q<<2)|0;B=+g[A>>2]*.7071067690849304;D=e+((_(r<<1|1,i)|0)+q<<2)|0;C=+g[D>>2]*.7071067690849304;g[A>>2]=B+C;g[D>>2]=B-C;r=r+1|0}q=q+1|0}}while(0);d:do if(x){j=j>>1;o=i<<1}else{j=j>>1;o=i<<1;p=0;while(1){if((p|0)<(i|0))q=0;else break d;while(1){if((q|0)>=(j|0))break;A=n+((_(o,q)|0)+p<<2)|0;B=+g[A>>2]*.7071067690849304;D=n+((_(q<<1|1,i)|0)+p<<2)|0;C=+g[D>>2]*.7071067690849304;g[A>>2]=B+C;g[D>>2]=B-C;q=q+1|0}p=p+1|0}}while(0);D=t|t<1;if(p){if(!w)_d(e,j>>z,i< >z,i< >2]|0)){D=o;return D|0}if(p){be(e,j>>z,i< =(u|0)){s=0;break}s=i>>1;j=j<<1;n=j>>1;p=s<<1;q=0;while(1){if((q|0)<(s|0))r=0;else break;while(1){if((r|0)>=(n|0))break;A=e+((_(p,r)|0)+q<<2)|0;B=+g[A>>2]*.7071067690849304;D=e+((_(r<<1|1,s)|0)+q<<2)|0;C=+g[D>>2]*.7071067690849304;g[A>>2]=B+C;g[D>>2]=B-C;r=r+1|0}q=q+1|0}i=s;o=o|o>>>s;t=t+1|0}while(1){if((s|0)>=(z|0))break;j=a[31181+o>>0]|0;n=1< >s>>1;p=n<<1;q=0;while(1){if((q|0)<(n|0))r=0;else break;while(1){if((r|0)>=(o|0))break;A=e+((_(p,r)|0)+q<<2)|0;B=+g[A>>2]*.7071067690849304;D=e+(((r<<1|1)<>2]*.7071067690849304;g[A>>2]=B+C;g[D>>2]=B-C;r=r+1|0}q=q+1|0}o=j&255;s=s+1|0}j=i<=(f|0))break e;g[l+(n<<2)>>2]=m*+g[e+(n<<2)>>2];n=n+1|0}}while(0);D=o&(1< =(d|0))break;e=_(f,b)|0;g=0;while(1){if((g|0)>=(b|0))break;c[k+(e+g<<2)>>2]=c[a+((_(g,d)|0)+f<<2)>>2];g=g+1|0}f=f+1|0}d=j<<2;rf(a|0,k|0,d|0)|0;i=l;return}e=17628+(d<<2)+-8|0;g=0;while(1){if((g|0)>=(d|0))break;f=e+(g<<2)|0;h=0;while(1){if((h|0)>=(b|0))break;m=c[a+((_(h,d)|0)+g<<2)>>2]|0;c[k+((_(c[f>>2]|0,b)|0)+h<<2)>>2]=m;h=h+1|0}g=g+1|0}m=j<<2;rf(a|0,k|0,m|0)|0;i=l;return}function $d(e,f,h,j,k,l,m,n,o){e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=+n;o=o|0;var p=0.0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=i;i=i+32|0;z=E+28|0;D=E+24|0;r=E;c[z>>2]=j;c[D>>2]=o;B=c[e>>2]|0;x=c[e+8>>2]|0;y=c[e+12>>2]|0;C=c[e+20>>2]|0;A=c[e+28>>2]|0;t=x+100|0;u=m+1|0;w=x+8|0;s=(_(u,c[w>>2]|0)|0)+y|0;x=x+96|0;s=(c[t>>2]|0)+(b[(c[x>>2]|0)+(s<<1)>>1]|0)|0;q=a[s>>0]|0;if((m|0)!=-1?((h|0)>2?((d[s+(q&255)>>0]|0)+12|0)<(j|0):0):0){w=h>>1;x=f+(w<<2)|0;y=m+-1|0;if((k|0)==1)c[D>>2]=o&1|o<<1;t=k+1>>1;ae(e,r,f,x,w,z,t,k,y,0,D);j=c[r+12>>2]|0;u=c[r+16>>2]|0;q=c[r+20>>2]|0;v=+(c[r+4>>2]|0)*.000030517578125;p=+(c[r+8>>2]|0)*.000030517578125;do if(!((k|0)<2|(u&16383|0)==0))if((u|0)>8192){j=j-(j>>5-m)|0;break}else{j=j+(w<<3>>6-m)|0;j=(j|0)>0?0:j;break}while(0);m=c[z>>2]|0;r=(m-j|0)/2|0;s=(m|0)<(r|0);r=((s?m:r)|0)<0?0:s?m:r;m=m-r|0;s=e+32|0;q=(c[s>>2]|0)-q|0;c[s>>2]=q;j=(l|0)==0?0:l+(w<<2)|0;if((r|0)<(m|0)){D=c[D>>2]|0;h=($d(e,x,w,m,t,j,y,p*n,D>>t)|0)<<(k>>1);k=m+((c[s>>2]|0)-q)|0;l=h|($d(e,f,w,r+((k|0)<25|(u|0)==16384?0:k+-24|0)|0,t,l,y,v*n,D)|0);i=E;return l|0}else{D=c[D>>2]|0;h=$d(e,f,w,r,t,l,y,v*n,D)|0;l=r+((c[s>>2]|0)-q)|0;l=h|($d(e,x,w,m+((l|0)<25|(u|0)==0?0:l+-24|0)|0,t,j,y,p*n,D>>t)|0)<<(k>>1);i=E;return l|0}}m=j+-1|0;q=q&255;j=0;r=0;while(1){if((j|0)==6)break;z=r+q+1>>1;F=(d[s+z>>0]|0)<(m|0);q=F?q:z;j=j+1|0;r=F?z:r}if(!r)j=-1;else j=d[s+r>>0]|0;j=(m-j|0)>((d[s+q>>0]|0)-m|0)?q:r;if(!j)q=0;else q=(d[s+j>>0]|0)+1|0;m=e+32|0;s=q;q=(c[m>>2]|0)-q|0;while(1){c[m>>2]=q;if(!((q|0)<0&(j|0)>0))break;q=q+s|0;c[m>>2]=q;j=j+-1|0;if(!j)r=0;else r=(d[(c[t>>2]|0)+(b[(c[x>>2]|0)+((_(u,c[w>>2]|0)|0)+y<<1)>>1]|0)+j>>0]|0)+1|0;s=r;q=q-r|0}if(j|0){if((j|0)>=8)j=(j&7|8)<<(j>>3)+-1;if(!B){F=wd(f,h,j,C,k,A,n)|0;i=E;return F|0}else{F=ud(f,h,j,C,k,A,n,c[e+4>>2]|0)|0;i=E;return F|0}}if(!(c[e+4>>2]|0)){F=0;i=E;return F|0}j=(1< >2]=q;if(!q){nf(f|0,0,h<<2|0)|0;F=0;i=E;return F|0}r=e+40|0;a:do if(!l){q=0;while(1){if((q|0)>=(h|0))break a;F=(_(c[r>>2]|0,1664525)|0)+1013904223|0;c[r>>2]=F;g[f+(q<<2)>>2]=+(F>>20|0);q=q+1|0}}else{j=0;while(1){if((j|0)>=(h|0)){j=q;break a}F=(_(c[r>>2]|0,1664525)|0)+1013904223|0;c[r>>2]=F;g[f+(j<<2)>>2]=+g[l+(j<<2)>>2]+((F&32768|0)==0?-.00390625:.00390625);j=j+1|0}}while(0);q=0;p=0.0;while(1){if((q|0)>=(h|0))break;v=+g[f+(q<<2)>>2];q=q+1|0;p=p+v*v}p=1.0/+O(+(p+1.0000000036274937e-15))*n;q=0;while(1){if((q|0)>=(h|0))break;g[f>>2]=p*+g[f>>2];q=q+1|0;f=f+4|0}i=E;return j|0}function ae(e,f,h,i,j,k,l,m,n,o,p){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0.0,r=0.0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0.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,N=0,P=0,Q=0,R=0,S=0,T=0.0;x=c[e>>2]|0;K=c[e+8>>2]|0;L=c[e+12>>2]|0;u=c[e+16>>2]|0;S=c[e+28>>2]|0;J=c[e+36>>2]|0;t=(b[(c[K+56>>2]|0)+(L<<1)>>1]|0)+(n<<3)|0;n=t>>1;I=(o|0)==0;do if(!I)if((j|0)==2){o=n+-16|0;s=2;break}else{o=n+-4|0;s=(j<<1)+-1|0;break}else{o=n+-4|0;s=(j<<1)+-1|0}while(0);n=c[k>>2]|0;o=((_(s,o)|0)+n|0)/(s|0)|0;R=n-t+-32|0;o=(R|0)<(o|0)?R:o;if((o|0)<=64)if((o|0)<4)o=1;else w=8;else{o=64;w=8}if((w|0)==8)o=(b[25760+((o&7)<<1)>>1]>>14-(o>>3))+1&-2;G=I|(L|0)<(u|0)?o:1;H=(x|0)==0;if(H)o=0;else{a:do if(I){o=0;q=0.0;while(1){if((o|0)>=(j|0)){o=0;r=0.0;break}z=+g[h+(o<<2)>>2];o=o+1|0;q=q+z*z}while(1){if((o|0)>=(j|0))break;z=+g[i+(o<<2)>>2];o=o+1|0;r=r+z*z}q=q+1.0000000036274937e-15;r=r+1.0000000036274937e-15}else{q=1.0000000036274937e-15;r=1.0000000036274937e-15;o=0;while(1){if((o|0)>=(j|0))break a;T=+g[h+(o<<2)>>2];z=+g[i+(o<<2)>>2];v=T+z;z=T-z;q=q+v*v;r=r+z*z;o=o+1|0}}while(0);z=+O(+q);v=+O(+r);q=z*z;r=v*v;do if(!(q+r<1.000000045813705e-18))if(q >2]|0;P=F<<3;Q=S+28|0;B=c[Q>>2]|0;D=32-(aa(B|0)|0)|0;E=B>>>(D+-16|0);R=(E>>>12)+-8|0;R=(D<<3)+(R+(E>>>0>(c[5272+(R<<2)>>2]|0)>>>0&1))|0;b:do if((G|0)==1)if(!I){if(H)s=0;else{I=(o|0)>8192;s=I&1;c:do if(I){n=0;while(1){if((n|0)>=(j|0))break c;I=i+(n<<2)|0;g[I>>2]=-+g[I>>2];n=n+1|0}}while(0);q=+g[J+(L<<2)>>2];T=+g[J+((c[K+8>>2]|0)+L<<2)>>2];r=+O(+(q*q+1.0000000036274937e-15+T*T))+1.0000000036274937e-15;q=q/r;r=T/r;n=0;while(1){if((n|0)>=(j|0))break;L=h+(n<<2)|0;g[L>>2]=q*+g[L>>2]+r*+g[i+(n<<2)>>2];n=n+1|0}n=c[k>>2]|0}if((n|0)>16?(c[e+32>>2]|0)>16:0){t=c[Q>>2]|0;if(H){m=S+32|0;o=c[m>>2]|0;n=t>>>2;i=o>>>0 >>0;s=i&1;if(!i){o=o-n|0;c[m>>2]=o;n=t-n|0}c[Q>>2]=n;w=S+40|0;x=S+24|0;y=S+4|0;while(1){if(n>>>0>=8388609){o=0;break b}c[N>>2]=(c[N>>2]|0)+8;n=n<<8;c[Q>>2]=n;u=c[w>>2]|0;t=c[x>>2]|0;if(t>>>0<(c[y>>2]|0)>>>0){c[x>>2]=t+1;t=d[(c[S>>2]|0)+t>>0]|0}else t=0;c[w>>2]=t;i=((u<<8|t)>>>1&255|o<<8&2147483392)^255;c[m>>2]=i;o=i}}o=t>>>2;n=t-o|0;B=S+32|0;if(s){c[B>>2]=(c[B>>2]|0)+n;n=o}c[Q>>2]=n;w=S+36|0;x=S+40|0;y=S+24|0;m=S+8|0;e=S+4|0;A=S+44|0;while(1){if(n>>>0>=8388609){o=0;break b}o=c[B>>2]|0;u=o>>>23;if((u|0)==255)c[w>>2]=(c[w>>2]|0)+1;else{t=o>>>31;n=c[x>>2]|0;if((n|0)>-1){o=c[y>>2]|0;if((o+(c[m>>2]|0)|0)>>>0<(c[e>>2]|0)>>>0){c[y>>2]=o+1;a[(c[S>>2]|0)+o>>0]=n+t;n=0}else n=-1;c[A>>2]=c[A>>2]|n}n=c[w>>2]|0;if(n|0){t=t+255&255;do{o=c[y>>2]|0;if((o+(c[m>>2]|0)|0)>>>0<(c[e>>2]|0)>>>0){c[y>>2]=o+1;a[(c[S>>2]|0)+o>>0]=t;o=0;n=c[w>>2]|0}else o=-1;c[A>>2]=c[A>>2]|o;n=n+-1|0;c[w>>2]=n}while((n|0)!=0)}c[x>>2]=u&255;o=c[B>>2]|0;n=c[Q>>2]|0}c[B>>2]=o<<8&2147483392;n=n<<8;c[Q>>2]=n;c[N>>2]=(c[N>>2]|0)+8}}else{s=0;o=0}}else s=0;else{do if(!H){if(!I?(y=c[e+48>>2]|0,y|0):0){o=(_(o,G)|0)+((((o|0)>8192?32767:-32767)|0)/(G|0)|0)|0;E=(o|0)<0;o=((G|0)>((E?0:o>>14)|0)?(E?0:o>>14):G+-1|0)+(y>>>31^1)|0;break}o=(_(o,G)|0)+8192>>14}while(0);d:do if((j|0)>2&(I^1)){w=(G|0)/2|0;x=(w*3|0)+3|0;y=x+w|0;if(H){t=(B>>>0)/(y>>>0)|0;c[S+36>>2]=t;e=S+32|0;u=c[e>>2]|0;n=((u>>>0)/(t>>>0)|0)+1|0;n=y-(y>>>0 >>0?y:n)|0;if((n|0)<(x|0))o=(n|0)/3|0;else o=w+1+(n-x)|0;n=(o|0)>(w|0);if(n)s=o+-1-w+x|0;else s=o*3|0;x=n?o-w+x|0:(o*3|0)+3|0;y=_(t,y-x|0)|0;w=u-y|0;c[e>>2]=w;x=_(t,x-s|0)|0;s=(s|0)==0?B-y|0:x;c[Q>>2]=s;x=S+40|0;y=S+24|0;m=S+4|0;n=F;while(1){if(s>>>0>=8388609)break d;n=n+8|0;c[N>>2]=n;s=s<<8;c[Q>>2]=s;u=c[x>>2]|0;t=c[y>>2]|0;if(t>>>0<(c[m>>2]|0)>>>0){c[y>>2]=t+1;t=d[(c[S>>2]|0)+t>>0]|0}else t=0;c[x>>2]=t;F=((u<<8|t)>>>1&255|w<<8&2147483392)^255;c[e>>2]=F;w=F}}n=(o|0)>(w|0);if(n)t=o+-1-w+x|0;else t=o*3|0;n=n?o-w+x|0:(o*3|0)+3|0;s=(B>>>0)/(y>>>0)|0;if(!t){n=B-(_(s,y-n|0)|0)|0;c[Q>>2]=n;w=S+32|0}else{E=B-(_(s,y-t|0)|0)|0;w=S+32|0;c[w>>2]=(c[w>>2]|0)+E;n=_(s,n-t|0)|0;c[Q>>2]=n}x=S+36|0;y=S+40|0;m=S+24|0;e=S+8|0;A=S+4|0;B=S+44|0;s=F;while(1){if(n>>>0>=8388609)break d;t=c[w>>2]|0;u=t>>>23;if((u|0)==255)c[x>>2]=(c[x>>2]|0)+1;else{t=t>>>31;n=c[y>>2]|0;if((n|0)>-1){s=c[m>>2]|0;if((s+(c[e>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[m>>2]=s+1;a[(c[S>>2]|0)+s>>0]=n+t;n=0}else n=-1;c[B>>2]=c[B>>2]|n}n=c[x>>2]|0;if(n|0){t=t+255&255;do{s=c[m>>2]|0;if((s+(c[e>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[m>>2]=s+1;a[(c[S>>2]|0)+s>>0]=t;s=0;n=c[x>>2]|0}else s=-1;c[B>>2]=c[B>>2]|s;n=n+-1|0;c[x>>2]=n}while((n|0)!=0)}c[y>>2]=u&255;t=c[w>>2]|0;n=c[Q>>2]|0;s=c[N>>2]|0}c[w>>2]=t<<8&2147483392;n=n<<8;c[Q>>2]=n;s=s+8|0;c[N>>2]=s}}else{if(!((m|0)>1|I^1)){s=G>>1;t=s+1|0;e=_(t,t)|0;if(H){y=(B>>>0)/(e>>>0)|0;c[S+36>>2]=y;A=S+32|0;m=c[A>>2]|0;o=((m>>>0)/(y>>>0)|0)+1|0;o=e>>>0 >>0?e:o;n=e-o|0;if((n|0)<((_(s,t)|0)>>1|0)){n=n<<3|1;u=32-(aa(n|0)|0)+-1>>1;t=1<>>0 >>0;w=w+(s?0:t)|0;if((u|0)<=0)break;else{n=n-(s?0:o)|0;t=t>>>1;u=u+-1|0}}o=(w+-1|0)>>>1;s=o+1|0;n=(_(o,s)|0)>>>1}else{x=G<<1;n=(o<<3)+-7|0;u=32-(aa(n|0)|0)+-1>>1;t=1<>>0 >>0;w=w+(s?0:t)|0;if((u|0)<=0)break;else{n=n-(s?0:o)|0;t=t>>>1;u=u+-1|0}}o=(x+2-w|0)>>>1;s=G+1-o|0;n=e-((_(s,G+2-o|0)|0)>>1)|0}x=_(y,e-(n+s)|0)|0;w=m-x|0;c[A>>2]=w;s=_(y,s)|0;s=(n|0)==0?B-x|0:s;c[Q>>2]=s;x=S+40|0;y=S+24|0;m=S+4|0;n=F;while(1){if(s>>>0>=8388609)break d;n=n+8|0;c[N>>2]=n;s=s<<8;c[Q>>2]=s;u=c[x>>2]|0;t=c[y>>2]|0;if(t>>>0<(c[m>>2]|0)>>>0){c[y>>2]=t+1;t=d[(c[S>>2]|0)+t>>0]|0}else t=0;c[x>>2]=t;F=((u<<8|t)>>>1&255|w<<8&2147483392)^255;c[A>>2]=F;w=F}}E=(o|0)>(s|0);n=E?G+1-o|0:o+1|0;if(E)t=e-((_(G+1-o|0,G+2-o|0)|0)>>1)|0;else t=(_(o,o+1|0)|0)>>1;s=(B>>>0)/(e>>>0)|0;if(!t){n=B-(_(s,e-n|0)|0)|0;c[Q>>2]=n;w=S+32|0}else{E=B-(_(s,e-t|0)|0)|0;w=S+32|0;c[w>>2]=(c[w>>2]|0)+E;n=_(s,n)|0;c[Q>>2]=n}x=S+36|0;y=S+40|0;m=S+24|0;e=S+8|0;A=S+4|0;B=S+44|0;s=F;while(1){if(n>>>0>=8388609)break d;t=c[w>>2]|0;u=t>>>23;if((u|0)==255)c[x>>2]=(c[x>>2]|0)+1;else{t=t>>>31;n=c[y>>2]|0;if((n|0)>-1){s=c[m>>2]|0;if((s+(c[e>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[m>>2]=s+1;a[(c[S>>2]|0)+s>>0]=n+t;n=0}else n=-1;c[B>>2]=c[B>>2]|n}n=c[x>>2]|0;if(n|0){t=t+255&255;do{s=c[m>>2]|0;if((s+(c[e>>2]|0)|0)>>>0<(c[A>>2]|0)>>>0){c[m>>2]=s+1;a[(c[S>>2]|0)+s>>0]=t;s=0;n=c[x>>2]|0}else s=-1;c[B>>2]=c[B>>2]|s;n=n+-1|0;c[x>>2]=n}while((n|0)!=0)}c[y>>2]=u&255;t=c[w>>2]|0;n=c[Q>>2]|0;s=c[N>>2]|0}c[w>>2]=t<<8&2147483392;n=n<<8;c[Q>>2]=n;s=s+8|0;c[N>>2]=s}}t=G+1|0;if(H){s=0;o=((bd(S,t)|0)<<14>>>0)/(G>>>0)|0;break b}n=32-(aa(G|0)|0)|0;if((n|0)<=8){n=(B>>>0)/(t>>>0)|0;if(!o){n=B-(_(n,G)|0)|0;c[Q>>2]=n;B=S+32|0}else{E=B-(_(n,t-o|0)|0)|0;B=S+32|0;c[B>>2]=(c[B>>2]|0)+E;c[Q>>2]=n}w=S+36|0;x=S+40|0;y=S+24|0;m=S+8|0;e=S+4|0;A=S+44|0;s=F;while(1){if(n>>>0>=8388609)break d;t=c[B>>2]|0;u=t>>>23;if((u|0)==255)c[w>>2]=(c[w>>2]|0)+1;else{t=t>>>31;n=c[x>>2]|0;if((n|0)>-1){s=c[y>>2]|0;if((s+(c[m>>2]|0)|0)>>>0<(c[e>>2]|0)>>>0){c[y>>2]=s+1;a[(c[S>>2]|0)+s>>0]=n+t;n=0}else n=-1;c[A>>2]=c[A>>2]|n}n=c[w>>2]|0;if(n|0){t=t+255&255;do{s=c[y>>2]|0;if((s+(c[m>>2]|0)|0)>>>0<(c[e>>2]|0)>>>0){c[y>>2]=s+1;a[(c[S>>2]|0)+s>>0]=t;s=0;n=c[w>>2]|0}else s=-1;c[A>>2]=c[A>>2]|s;n=n+-1|0;c[w>>2]=n}while((n|0)!=0)}c[x>>2]=u&255;t=c[B>>2]|0;n=c[Q>>2]|0;s=c[N>>2]|0}c[B>>2]=t<<8&2147483392;n=n<<8;c[Q>>2]=n;s=s+8|0;c[N>>2]=s}}E=n+-8|0;n=G>>>E;s=n+1|0;t=o>>>E;u=(B>>>0)/(s>>>0)|0;if(!t){u=B-(_(u,n)|0)|0;c[Q>>2]=u;m=S+32|0}else{D=B-(_(u,s-t|0)|0)|0;m=S+32|0;c[m>>2]=(c[m>>2]|0)+D;c[Q>>2]=u}x=S+36|0;y=S+40|0;A=S+24|0;B=S+8|0;C=S+4|0;D=S+44|0;t=F;while(1){if(u>>>0>=8388609)break;n=c[m>>2]|0;w=n>>>23;if((w|0)==255)c[x>>2]=(c[x>>2]|0)+1;else{t=n>>>31;n=c[y>>2]|0;if((n|0)>-1){s=c[A>>2]|0;if((s+(c[B>>2]|0)|0)>>>0<(c[C>>2]|0)>>>0){c[A>>2]=s+1;a[(c[S>>2]|0)+s>>0]=n+t;n=0}else n=-1;c[D>>2]=c[D>>2]|n}n=c[x>>2]|0;if(n|0){t=t+255&255;do{s=c[A>>2]|0;if((s+(c[B>>2]|0)|0)>>>0<(c[C>>2]|0)>>>0){c[A>>2]=s+1;a[(c[S>>2]|0)+s>>0]=t;s=0;n=c[x>>2]|0}else s=-1;c[D>>2]=c[D>>2]|s;n=n+-1|0;c[x>>2]=n}while((n|0)!=0)}c[y>>2]=w&255;n=c[m>>2]|0;u=c[Q>>2]|0;t=c[N>>2]|0}c[m>>2]=n<<8&2147483392;u=u<<8;c[Q>>2]=u;t=t+8|0;c[N>>2]=t}y=(1< >2]|0;e=S+16|0;s=c[e>>2]|0;if((s+E|0)>>>0>32){x=7-s|0;x=s+((x|0)>-8?x:-8)&-8;w=s;do{t=c[B>>2]|0;u=c[C>>2]|0;if(((c[A>>2]|0)+t|0)>>>0>>0){t=t+1|0;c[B>>2]=t;a[(c[S>>2]|0)+(u-t)>>0]=n;t=0}else t=-1;c[D>>2]=c[D>>2]|t;n=n>>>8;w=w+-8|0}while((w|0)>7);t=c[N>>2]|0;s=s+-8-x|0}c[m>>2]=n|y< >2]=s+E;c[N>>2]=t+E}while(0);o=(o<<14>>>0)/(G>>>0)|0;if(H|I)s=0;else{if(o|0){n=0;while(1){if((n|0)>=(j|0)){s=0;break b}L=h+(n<<2)|0;T=+g[L>>2]*.7071067690849304;S=i+(n<<2)|0;z=+g[S>>2]*.7071067690849304;g[L>>2]=T+z;g[S>>2]=z-T;n=n+1|0}}q=+g[J+(L<<2)>>2];T=+g[J+((c[K+8>>2]|0)+L<<2)>>2];r=+O(+(q*q+1.0000000036274937e-15+T*T))+1.0000000036274937e-15;q=q/r;r=T/r;n=0;while(1){if((n|0)>=(j|0)){s=0;o=0;break b}S=h+(n<<2)|0;g[S>>2]=q*+g[S>>2]+r*+g[i+(n<<2)>>2];n=n+1|0}}}while(0);S=c[Q>>2]|0;Q=32-(aa(S|0)|0)|0;S=S>>>(Q+-16|0);n=(S>>>12)+-8|0;n=(c[N>>2]<<3)-((Q<<3)+(n+(S>>>0>(c[5272+(n<<2)>>2]|0)>>>0&1)))+(R-P)|0;c[k>>2]=(c[k>>2]|0)-n;e:do if((o|0)<16384){switch(o|0){case 0:break;default:break e}c[p>>2]=c[p>>2]&(1<>2]=s;p=f+4|0;c[p>>2]=l;p=f+8|0;c[p>>2]=j;p=f+12|0;c[p>>2]=k;p=f+16|0;c[p>>2]=o;f=f+20|0;c[f>>2]=n;return}else{switch(o|0){case 16384:break;default:break e}c[p>>2]=c[p>>2]&(1< >2]=s;p=f+4|0;c[p>>2]=l;p=f+8|0;c[p>>2]=j;p=f+12|0;c[p>>2]=k;p=f+16|0;c[p>>2]=o;f=f+20|0;c[f>>2]=n;return}while(0);R=o<<16>>16;R=((_(R,R)|0)+4096|0)>>>13;l=R<<16>>16;l=(32767-R+(((_(l,(((_(l,(((_(l,-626)|0)+16384|0)>>>15<<16)+542441472>>16)|0)+16384|0)>>>15<<16)+-501415936>>16)|0)+16384|0)>>>15)<<16)+65536>>16;R=16384-o<<16>>16;R=((_(R,R)|0)+4096|0)>>>13;p=R<<16>>16;p=(32767-R+(((_(p,(((_(p,(((_(p,-626)|0)+16384|0)>>>15<<16)+542441472>>16)|0)+16384|0)>>>15<<16)+-501415936>>16)|0)+16384|0)>>>15)<<16)+65536>>16;R=32-(aa(l|0)|0)|0;Q=32-(aa(p|0)|0)|0;S=p<<15-Q<<16>>16;k=l<<15-R<<16>>16;k=(_((j<<23)+-8388608>>16,(Q-R<<11)+(((_(S,(((_(S,-2597)|0)+16384|0)>>>15<<16)+519831552>>16)|0)+16384|0)>>>15)-(((_(k,(((_(k,-2597)|0)+16384|0)>>>15<<16)+519831552>>16)|0)+16384|0)>>>15)<<16>>16)|0)+16384>>15;j=p;c[f>>2]=s;p=f+4|0;c[p>>2]=l;p=f+8|0;c[p>>2]=j;p=f+12|0;c[p>>2]=k;p=f+16|0;c[p>>2]=o;f=f+20|0;c[f>>2]=n;return}function be(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;j=_(b,d)|0;k=i;i=i+((1*(j<<2)|0)+15&-16)|0;if(!e){f=0;while(1){if((f|0)>=(d|0))break;e=_(f,b)|0;g=0;while(1){if((g|0)>=(b|0))break;c[k+((_(g,d)|0)+f<<2)>>2]=c[a+(e+g<<2)>>2];g=g+1|0}f=f+1|0}d=j<<2;rf(a|0,k|0,d|0)|0;i=l;return}e=17628+(d<<2)+-8|0;g=0;while(1){if((g|0)>=(d|0))break;f=e+(g<<2)|0;h=0;while(1){if((h|0)>=(b|0))break;c[k+((_(h,d)|0)+g<<2)>>2]=c[a+((_(c[f>>2]|0,b)|0)+h<<2)>>2];h=h+1|0}g=g+1|0}d=j<<2;rf(a|0,k|0,d|0)|0;i=l;return}function ce(b,e,f,h,j,k,l,m,n,o,p){b=b|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0,M=0,N=0.0;M=i;i=i+32|0;q=M+28|0;x=M+24|0;u=M;c[q>>2]=j;c[x>>2]=p;w=c[b>>2]|0;L=c[b+28>>2]|0;if((h|0)==1){l=b+32|0;k=(w|0)==0;m=L+12|0;D=L+16|0;E=L+20|0;F=L+8|0;G=L+4|0;H=L+24|0;p=L+44|0;z=b+4|0;A=f|0?2:1;B=0;C=e;while(1){if((c[l>>2]|0)>7){if(k){q=c[m>>2]|0;j=c[D>>2]|0;if(!j){v=c[G>>2]|0;u=c[F>>2]|0;w=0;do{if(u>>>0 >>0){j=u+1|0;c[F>>2]=j;u=j;j=d[(c[L>>2]|0)+(v-j)>>0]|0}else j=0;q=q|j< >>1}else{y=+g[C>>2]<0.0&1;q=c[m>>2]|0;v=c[D>>2]|0;if((v+1|0)>>>0>32){w=7-v|0;w=v+((w|0)>-8?w:-8)&-8;x=v;do{j=c[F>>2]|0;u=c[G>>2]|0;if(((c[H>>2]|0)+j|0)>>>0