uranium.js 987 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. var b4w="object"===typeof b4w?b4w:function(g){var B={};g.module=B;var p={};g.sa=function(g,C){var N=B[g];N&&(N.P=null);p[C||"__b4w_default"]=null};g.register=function(g,p){B[g]||(B[g]=p)};g.require=function(g,C){if(!B[g])throw Error('Module "'+g+'" not found');C=C||"__b4w_default";p[C]||(p[C]=function(g){return function(C){var D=B[C];if(!D)throw Error('Module "'+C+'" not found');D.P||(D.P={});D.P[g]||(D.P[g]={},D(D.P[g],p[g]));return D.P[g]}}(C));return p[C](g)};g.module_check=function(g){return B[g]?
  2. !0:!1};g.get_namespace=function(g){for(var C in p)if(p[C]==g)return C;return""};g.worker_listeners=[];g.worker_namespaces=[];return g}({});
  3. b4w.module.__ipc=function(g,B){function p(g,p,l){for(var f=0;f<q.length;f+=2)q[f+1]==g&&(Y[f+Number(!p)]=l)}function Ga(g){for(var p=0;p<g.length;p++){var l=g[p],f=0,q;for(q in l){var m=l[q];switch(m.constructor){case Float32Array:f+=m.length;break;case Number:f+=1}}--f;l.i=f}}var C=!0;g.ib=0;var N=g.Ha=1,ea=g.Ia=2;g.bb=3;g.eb=4;g.fb=5;g.gb=6;g.jb=7;var D=g.da=8,Z=g.Ja=9,O=g.Ka=10;g.Jc=11;var fa=g.La=12;g.Ma=13;g.kb=14;g.hb=15;g.cb=16;g.Lb=100;g.lb=101;g.mb=102;g.nb=103;g.ob=104;g.rb=105;g.qb=106;
  4. g.sb=107;g.tb=108;g.ub=109;g.vb=110;g.wb=111;g.xb=112;g.zb=113;g.Ab=114;g.Ob=115;g.Bb=116;g.Cb=117;g.Db=118;g.Fb=119;g.Gb=120;g.Hb=121;g.Jb=122;g.Kb=123;g.Mb=124;g.yb=125;g.Rb=126;g.Eb=127;g.Pb=128;g.Qb=129;g.Sb=130;g.Tb=131;g.Ub=132;g.Vb=133;g.Wb=134;g.Xb=135;g.Yb=136;g.Zb=137;g.$b=138;g.ac=139;g.bc=140;var ga=g.cc=141;g.dc=142;g.pb=143;g.ec=144;g.fc=145;g.Nb=146;g.Ib=147;g.gc=148;var Y=b4w.worker_listeners,q=b4w.worker_namespaces,ha={j:fa,D:0,time:0,c:new Float32Array(3),b:new Float32Array(4),g:new Float32Array(3),
  5. f:new Float32Array(3),i:0},ia={j:D,ga:0,na:0,c:new Float32Array(3),b:new Float32Array(4),i:0},ja={j:Z,id:0,F:0,K:0,N:0,i:0},aa={j:O,id:0,F:0,K:0,N:0,M:new Float32Array(3),L:new Float32Array(3),i:0},ba={j:N,p:0,q:0,result:0,i:0},ka={j:ea,p:0,q:0,result:0,I:new Float32Array(3),H:new Float32Array(3),va:0,i:0},la={j:ga,D:0,c:new Float32Array(3),b:new Float32Array(4),i:0},Xa=[ha,ia,ja,aa,ba,ka,la];g.rc=function(g){var u={ka:!1,C:null,t:[],m:""};if(g)if(u.C={addEventListener:function(f,g){"message"!=f&&
  6. panic("Wrong web worker event");p(u.m,u.ka,g)},removeEventListener:function(f){"message"!=f&&panic("Wrong web worker event");p(u.m,u.ka,null)},postMessage:function(f){var g;a:{for(g=0;g<q.length;g+=2)if(q[g+1]==u.m){g=Y[g+Number(!!u.ka)];break a}g=null}g({data:f})},terminate:function(){for(var f=0;f<q.length;f+=2)if(q[f+1]==u.m){Y.splice(f,2);q.splice(f,2);break}}},u.ka){var l=B("__util");g=B("__container");var f=b4w.get_namespace(B),l=l.kd(f+"_worker");q.push(f);q.push(l);Y.push(null);Y.push(null);
  7. u.m=l;(g=g.Uc(""))?C?g.addEventListener("load",function(){b4w.require("__bindings",u.m)},!1):(b4w.sa("__bindings",u.m),b4w.sa("__ipc",u.m),b4w.require("__bindings",u.m)):(g=document.createElement("script"),g.src="",g.defer="defer",g.async="async",g.addEventListener("load",function(){C=!1;b4w.require("__bindings",u.m)},!1),document.head.appendChild(g))}else u.m=b4w.get_namespace(B);else u.C=self;return u};g.lc=function(g,p){function l(f){if(f.constructor==ArrayBuffer)f=new Float32Array(f);else if(f[0].constructor==
  8. ArrayBuffer){for(var q=0;q<f.length;q++)l(f[q]);return}q=f[0]|0;switch(q){case fa:var m=ha;m.D=f[1]|0;m.time=f[2];m.c[0]=f[3];m.c[1]=f[4];m.c[2]=f[5];m.b[0]=f[6];m.b[1]=f[7];m.b[2]=f[8];m.b[3]=f[9];m.g[0]=f[10];m.g[1]=f[11];m.g[2]=f[12];m.f[0]=f[13];m.f[1]=f[14];m.f[2]=f[15];break;case D:m=ia;m.ga=f[1]|0;m.na=f[2]|0;m.c[0]=f[3];m.c[1]=f[4];m.c[2]=f[5];m.b[0]=f[6];m.b[1]=f[7];m.b[2]=f[8];m.b[3]=f[9];break;case Z:m=ja;m.id=f[1]|0;m.F=f[2]|0;m.K=f[3];m.N=f[4];break;case O:m=aa;m.id=f[1]|0;m.F=f[2]|0;
  9. m.K=f[3];m.N=f[4];m.M[0]=f[5];m.M[1]=f[6];m.M[2]=f[7];m.L[0]=f[8];m.L[1]=f[9];m.L[2]=f[10];break;case N:m=ba;m.p=f[1]|0;m.q=f[2]|0;m.result=!!f[3];break;case ea:m=ka;m.p=f[1]|0;m.q=f[2]|0;m.result=!!f[3];m.I[0]=f[4];m.I[1]=f[5];m.I[2]=f[6];m.H[0]=f[7];m.H[1]=f[8];m.H[2]=f[9];m.va=f[10];break;case ga:m=la;m.D=f[1]|0;m.c[0]=f[2];m.c[1]=f[3];m.c[2]=f[4];m.b[0]=f[5];m.b[1]=f[6];m.b[2]=f[7];m.b[3]=f[8];break;default:m=f}p(g,q,m)}Ga(Xa);g.C.addEventListener("message",function(f){l(f.data)},!1)};g.sa=function(){};
  10. g.h=function(g,p){if(g)switch(p){case fa:var l=ha,f=new Float32Array(l.i);f[0]=l.j;f[1]=l.D;f[2]=l.time;f[3]=l.c[0];f[4]=l.c[1];f[5]=l.c[2];f[6]=l.b[0];f[7]=l.b[1];f[8]=l.b[2];f[9]=l.b[3];f[10]=l.g[0];f[11]=l.g[1];f[12]=l.g[2];f[13]=l.f[0];f[14]=l.f[1];f[15]=l.f[2];g.t.push(f.buffer);break;case D:l=ia;f=new Float32Array(l.i);f[0]=l.j;f[1]=l.ga;f[2]=l.na;f[3]=l.c[0];f[4]=l.c[1];f[5]=l.c[2];f[6]=l.b[0];f[7]=l.b[1];f[8]=l.b[2];f[9]=l.b[3];g.t.push(f.buffer);break;case Z:l=ja;f=new Float32Array(l.i);
  11. f[0]=l.j;f[1]=l.id;f[2]=l.F;f[3]=l.K;f[4]=l.N;g.t.push(f.buffer);break;case O:l=aa;f=new Float32Array(l.i);f[0]=l.j;f[1]=l.id;f[2]=l.F;f[3]=l.K;f[4]=l.N;f[5]=l.M[0];f[6]=l.M[1];f[7]=l.M[2];f[8]=l.L[0];f[9]=l.L[1];f[10]=l.L[2];g.t.push(f.buffer);break;case N:l=ba;f=new Float32Array(l.i);f[0]=l.j;f[1]=l.p;f[2]=l.q;f[3]=l.result;g.t.push(f.buffer);break;case ea:l=ka;f=new Float32Array(l.i);f[0]=l.j;f[1]=l.p;f[2]=l.q;f[3]=l.result;f[4]=l.I[0];f[5]=l.I[1];f[6]=l.I[2];f[7]=l.H[0];f[8]=l.H[1];f[9]=l.H[2];
  12. f[10]=l.va;g.t.push(f.buffer);break;case ga:l=la;f=new Float32Array(l.i);f[0]=l.j;f[1]=l.D;f[2]=l.c[0];f[3]=l.c[1];f[4]=l.c[2];f[5]=l.b[0];f[6]=l.b[1];f[7]=l.b[2];f[8]=l.b[3];g.t.push(f.buffer);break;default:f=[];for(l=1;l<arguments.length;l++)f.push(arguments[l]);g.C.postMessage(f)}};g.Fc=function(g){g&&g.t.length&&(g.C.postMessage(g.t),g.t.length=0)};g.J=function(g){switch(g){case fa:return ha;case D:return ia;case Z:return ja;case O:return aa;case N:return ba;case ea:return ka;case ga:return la;
  13. default:return null}};g.terminate=function(g){g.C.terminate();g.C=null};g.cd=function(g){return!!g.C};g.dd=function(g){return!!g.m}};
  14. b4w.module.__bindings=function(g,B){function p(){if(t)return t;throw"No active world";}function Ga(a,d,c,b,r,h,Ac,e,f,g){var k=N(d,c);b=E(b[0],b[1],b[2]);k=qb(k.Ya,k.Xa,k.$a,k.Za);Ia(k,e);r=Bc(k,b,r,h);Ya(r,Ac);C(a,r,!1,f,g).Aa=c?c.length/3:d.length/9}function C(a,d,c,b,r){c={id:a,a:d,Ca:!0,xc:c,Pa:b,Qa:r,c:new Float32Array([0,0,0]),b:new Float32Array([0,0,0,1]),g:new Float32Array([0,0,0]),f:new Float32Array([0,0,0]),r:E(0,0,0),l:U(0,0,0,1),Z:E(0,0,0),Y:E(0,0,0),v:null,ta:!1,ua:-1,Aa:0};var h=p();
  15. h.k[a]=c;h.o.push(c);rb(d,b,r);return c}function N(a,d){var c=a.length,b=sb(c);v.set(a,b>>2);if(d){var r=d.length,h=tb(r);A.set(d,h>>2)}else for(var r=a.length/3,h=tb(r),e=h>>2,f=0;f<r;f++)A[e+f]=f;return{Xa:h,Ya:r,Za:b,$a:c}}function ea(a,d,c,b,r,h,e,f){var g=N(d,c);b=E(b[0],b[1],b[2]);g=qb(g.Ya,g.Xa,g.$a,g.Za);Ia(g,h);h=Cc(g,b);a=C(a,h,!1,e,f);Ya(h,r);a.Aa=c?c.length/3:d.length/9}function D(a,d,c,b,r,h,e,f,g,k,l,m,p,n,q,t,v,A,u,G,B,x){if(B.length)for(f=Dc(),g=0;g<B.length;g++){x=B[g];var z=x.trans;
  16. v=x.quat;t=x.bounding_type;x=x.worker_bounding;z=E(z[0],z[1],z[2]);v=v?U(v[0],v[1],v[2],v[3]):0;t=Z(t,x,!1);Ia(t,p);Ec(f,z,v,t)}else f=Z(t,v,x),Ia(f,p);switch(b){case "STATIC":e=0;var D=1,F=1,H=1;break;case "DYNAMIC":H=F=D=0;break;case "RIGID_BODY":H=F=D=1;break;case "NO_COLLISION":r=!0;break;default:return console.error("Unsupported physics type: "+b),null}d=E(d[0],d[1],d[2]);c=c?U(c[0],c[1],c[2],c[3]):0;k=r?Fc(f,d,c):Gc(f,e,d,c,k,l,A,D,F,H,u,G);Ya(k,m);h&&Hc(k);"RIGID_BODY"!=b&&"DYNAMIC"!=b||!e||
  17. r?C(a,k,!1,n,q):C(a,k,!0,n,q)}function Z(a,d,c){if("BOX"==a){a=(d.max_x-d.min_x)/2;var b=(d.max_y-d.min_y)/2,r=(d.max_z-d.min_z)/2,h=(d.max_x+d.min_x)/2,e=(d.max_y+d.min_y)/2,f=(d.max_z+d.min_z)/2;O(c,a,b,r,h,e,f)&&(f=e=h=0);d=Ic(a,b,r,h,e,f)}else if("CYLINDER"==a)b=a=d.radius,r=d.height/2,h=d.center[0],e=d.center[1],f=d.center[2],O(c,a,b,r,h,e,f)&&(f=e=h=0),d=Jc(a,b,r,h,e,f);else if("CONE"==a)b=a=d.radius,r=d.height/2,h=d.center[0],e=d.center[1],f=d.center[2],O(c,a,b,r,h,e,f)&&(f=e=h=0),d=Kc(d.radius,
  18. d.height,h,e,f);else if("SPHERE"==a)a=b=r=d.radius,h=d.center[0],e=d.center[1],f=d.center[2],O(c,a,b,r,h,e,f)&&(f=e=h=0),d=Lc(d.radius,h,e,f);else if("CAPSULE"==a)b=a=d.radius,r=d.height+2*d.height,h=d.center[0],e=d.center[1],f=d.center[2],O(c,a,b,r,h,e,f)&&(f=e=h=0),d=Mc(d.radius,d.height,h,e,f);else if("EMPTY"==a)d=Nc();else throw"Wrong collision bounds type: "+a;return d}function O(a,d,c,b,r,h,e){return"OFF"==a||"AUTO"==a&&Math.abs(r)<.1*d&&Math.abs(h)<.1*c&&Math.abs(e)<.1*b?!0:!1}function fa(a){var d=
  19. t.k[a];if(!d)throw"Wrong body id";ub(a);var c=Za(t,a);c&&Oc(c);Pc(d.a);delete t.k[a];t.o.splice(t.o.indexOf(d),1)}function ga(a,d,c,b,r,h,e,f,g,k,l){b=q(b);r=E(r[0],r[1],r[2]);h=U(h[0],h[1],h[2],h[3]);e=q(e);f=E(f[0],f[1],f[2]);g=U(g[0],g[1],g[2],g[3]);switch(d){case "GENERIC_6_DOF":l=vb(b,r,h,e,f,g);break;case "GENERIC_6_DOF_SPRING":k=k?Ja(k[0],k[1],k[2],k[3],k[4],k[5]):Ja(0,0,0,0,0,0);l=l?Ja(l[0],l[1],l[2],l[3],l[4],l[5]):Ja(1,1,1,1,1,1);l=Qc(b,r,h,e,f,g,k,l);break;case "HINGE":c.use_limit_x=!0;
  20. c.use_limit_y=!0;c.use_limit_z=!0;c.use_angular_limit_y=!0;c.use_angular_limit_z=!0;c.limit_max_x=0;c.limit_min_x=0;c.limit_max_y=0;c.limit_min_y=0;c.limit_max_z=0;c.limit_min_z=0;c.limit_angle_max_y=0;c.limit_angle_min_y=0;c.limit_angle_max_z=0;c.limit_angle_min_z=0;d="GENERIC_6_DOF";l=vb(b,r,h,e,f,g);break;case "BALL":l=Rc(b,r,e,f);break;case "CONE_TWIST":l=Sc(b,r,h,e,f,g);break;default:l=null}if(l){b=l;k=d;switch(k){case "GENERIC_6_DOF":case "GENERIC_6_DOF_SPRING":k=[!1,!1,!1,!1,!1,!1];c.use_limit_x&&
  21. (k[0]=[c.limit_min_x,c.limit_max_x]);c.use_limit_y&&(k[1]=[c.limit_min_y,c.limit_max_y]);c.use_limit_z&&(k[2]=[c.limit_min_z,c.limit_max_z]);c.use_angular_limit_x&&(k[3]=[c.limit_angle_min_x,c.limit_angle_max_x]);c.use_angular_limit_y&&(k[4]=[c.limit_angle_min_y,c.limit_angle_max_y]);c.use_angular_limit_z&&(k[5]=[c.limit_angle_min_z,c.limit_angle_max_z]);for(c=0;c<k.length;c++)k[c]?wb(b,c,k[c][0],k[c][1]):wb(b,c,1,-1);break;case "HINGE":c.use_angular_limit_x&&Tc(b,c.limit_angle_min_x,c.limit_angle_max_x);
  22. break;case "BALL":break;case "CONE_TWIST":c.use_angular_limit_x&&$a(b,3,c.limit_angle_max_x);c.use_angular_limit_y&&$a(b,4,c.limit_angle_max_y);c.use_angular_limit_z&&$a(b,5,c.limit_angle_min_z);break;default:throw"Wrong constraint pivot type: "+k;}c=l;switch(d){case "GENERIC_6_DOF":case "GENERIC_6_DOF_SPRING":d=[0,1,2,3,4,5];break;case "HINGE":d=[-1];break;case "BALL":d=[-1];break;case "CONE_TWIST":d=[3,4,5];break;default:throw"Wrong constraint pivot type: "+d;}for(b=0;b<d.length;b++)k=d[b],xb(c,
  23. Uc(),0,k),xb(c,Vc(),.5,k);Wc(l,!0);p().ia[a]=l}}function Y(a){var d=p(),c=d.ia[a];if(c)Xc(c),delete d.ia[a];else throw"Wrong constraint";}function q(a){if(a=p().k[a])return a.a;throw"Wrong body ID";}function ha(a,d,c,b,r,h){var e=q(a);d=Yc(d,c,b,r,h);e=Zc(e,d);d={a:e,wc:d,ab:[]};p().G[a]=d;ua(e)}function ia(a,d,c,b){var r=q(a);d=$c(r,d,c,b);c={a:d,W:[]};p().n[a]=c;ua(d);if(a=p().u)for(yb(d,a.a),c=0;c<a.B.length;c++)a.B[c]&&zb(d,c)}function ja(a,d,c,b){var r=q(a);d=ad(r,d,c,b);c={a:d,W:[]};p().s[a]=
  24. c;ua(d);if(a=p().u)for(Ab(d,a.a),c=0;c<a.B.length;c++)a.B[c]&&Bb(d,c)}function aa(a){if(a=p().G[a])return a;throw"Wrong car body ID";}function ba(a){if(a=p().n[a])return a;throw"Wrong boat body ID";}function ka(a,d,c,b,r,h){a=aa(a);d=E(d[0],d[1],d[2]);bd(a.a,a.wc,d,c,b,r,h);c={c:new Float32Array(3),b:new Float32Array(4),r:E(0,0,0),l:U(0,0,0,1)};a.ab.push(c)}function la(a,d,c){a=ba(a);d=E(d[0],d[1],d[2]);cd(a.a,d);c&&(c={c:new Float32Array(3),b:new Float32Array(4),r:E(0,0,0),l:U(0,0,0,1)},a.W.push(c))}
  25. function Xa(a,d,c){a=p().s[a];if(!a)throw"Wrong floater body ID";d=E(d[0],d[1],d[2]);dd(a.a,d);c&&(c={c:new Float32Array(3),b:new Float32Array(4),r:E(0,0,0),l:U(0,0,0,1)},a.W.push(c))}function yc(a,d,c,b,r,h,e,f,g,k){var l=q(a);g=p().k[a];k=g.Qa;g=g.Pa;d=ed(l,d,c,b,r,h,e,f,g,k);c={a:d};p().d[a]=c;ua(d);if(a=p().u)for(Cb(d,a.a),c=0;c<a.B.length;c++)a.B[c]&&Db(d,c)}function u(a,d,c){var b=p().d[a].a;a=q(a);J(a);fd(b,c,-d,0)}function l(a,d){var c=p().d[a].a;gd(c,d)}function f(a,d){var c=p().d[a].a;hd(c,
  26. d)}function zc(a,d){var c=p().d[a].a;id(c,d)}function m(a,d){var c=p().d[a].a;jd(c,d)}function kd(a){var d=p().d[a].a;a=q(a);J(a);ld(d)}function Eb(a,d,c){var b=p().d[a].a;a=q(a);J(a);md(b,d,c)}function nd(a,d){var c=p().d[a].a,b=q(a);J(b);od(c,d)}function pd(a,d){var c=p().d[a].a,b=q(a);J(b);qd(c,d)}function rd(a,d,c){var b=p().d[a].a;a=q(a);J(a);sd(b,d,c)}function td(a,d){for(var c=p().X,b=0;b<a.length;b++){for(var r=a[b],h=!1,e=0;e<c.length;e++)if(c[e].p===r[0]&&c[e].q===r[1]){h=!0;break}if(!h){r=
  27. {p:r[0],q:r[1],wa:q(r[0]),xa:q(r[1]),ma:!1,S:new Float32Array(3),za:new Float32Array(3),fa:d};h=r.wa;e=r.xa;p();var f=p().ha;f.V=ud(f.V,f.size,h,e);f.size+=1;c.push(r)}}}function vd(a){for(var d=p().X,c=0;c<a.length;c++)for(var b=a[c],e=0;e<d.length;e++){var h=d[e];if(h.p===b[0]&&h.q===b[1]){var f=h.wa,h=h.xa,g=p().ha;g.V=wd(g.V,g.size,f,h);--g.size;d.splice(e,1);e--}}}function xd(a){if(a=p().k[a])a.ta=!0,a.ua=-1;else throw"Wrong body ID";}function yd(a){if(a=p().k[a])a.ta=!1;else throw"Wrong body ID";
  28. }function zd(a,d,c,b,e,h,f,g,k){t.O[a]&&ab(a,t);d={id:a,Pc:d,yc:c,Ic:b,ma:1,qc:e,mc:h,nc:f,fa:g,Ec:k,sc:d?q(d):0,Ta:E(c[0],c[1],c[2]),Ua:E(b[0],b[1],b[2]),uc:E(0,0,0),tc:E(0,0,0),vc:Ad(g)};t.O[a]=d;t.T.push(d)}function ab(a,d){var c=d.O[a];delete d.O[a];d.T.splice(d.T.indexOf(c),1)}function Bd(a){t.O[a]&&ab(a,t)}function Cd(a,d,c){t.O[a]&&(a=t.O[a],a.yc.set(d),a.Ic.set(c),Fb(d,a.Ta),Fb(c,a.Ua))}function Dd(a){world=p();if(!world.u){a=Ed(a);world.u={a:a,B:[]};for(var d in world.s)Ab(world.s[d].a,a);
  29. for(var c in world.n)yb(world.n[c].a,a);for(var b in world.d)Cb(world.d[b].a,a)}}function Fd(a,d,c,b,e,h,f,g,k,l){world=p();if(world.u){var m=a.dst_noise_scale0,n=a.dst_noise_scale1,q=a.dst_noise_freq0,w=a.dst_noise_freq1,t=a.dir_min_shore_fac,x=a.dir_freq,z=a.dir_noise_scale,A=a.dir_noise_freq,B=a.dir_min_noise_fac,C=a.dst_min_fac;a=a.waves_hor_fac;if(l){var u=l.length;u?(u=sb(u),v.set(l,u>>2)):u=null}else u=null;world.u.B.push(u);water_du_id=world.u.a;Gd(water_du_id,m,n,q,w,t,x,z,A,B,C,a,d,c,b,
  30. e,h,f,g,k,u);if(u){d=world.u.B.length-1;for(var D in world.s)Bb(world.s[D].a,d);for(var E in world.n)zb(world.n[E].a,d);for(var F in world.d)Db(world.d[F].a,d)}}}function Hd(a){var d=p().u;d?Id(d.a,a):console.error("No water added for physics world")}function Jd(a){var d=p(),c=d.k[a];if(!c)throw"Wrong body ID";c.Ca=!0;Gb(a,c.c,c.b);rb(c.a,c.Pa,c.Qa);(a=Za(d,a))&&ua(a)}function Za(a,d){return a.G[d]?a.G[d].a:a.n[d]?a.n[d].a:a.s[d]?a.s[d].a:a.d[d]?a.d[d].a:null}function ub(a){var d=p(),c=d.k[a];if(!c)throw"Wrong body ID";
  31. c.Ca=!1;(a=Za(d,a))&&Kd(a);Ld(c.a)}function Md(a){a=q(a);J(a)}function Gb(a,d,c){var b=t.k[a],e=b.a,h=d[0],f=d[1];d=d[2];var g=c[0],k=c[1],l=c[2],m=c[3];b.c[0]=h;b.c[1]=f;b.c[2]=d;b.b[0]=g;b.b[1]=k;b.b[2]=l;b.b[3]=m;if(t.d[a]){Nd(e,h,f,d);b=bb;b[0]=0;b[1]=0;b[2]=1;d=b[0];g=b[1];k=b[2];e=c[0];h=c[1];f=c[2];c=c[3];var l=c*d+h*k-f*g,m=c*g+f*d-e*k,p=c*k+e*g-h*d;d=-e*d-h*g-f*k;b[0]=l*c+d*-e+m*-f-p*-h;b[1]=m*c+d*-h+p*-e-l*-f;b[2]=p*c+d*-f+l*-h-m*-e;c=Hb;c[0]=b[0];c[1]=0;c[2]=b[2];e=c[0];h=c[1];f=c[2];d=
  32. Math.sqrt(e*e+h*h+f*f);d?1!==d&&(d=1/d,c[0]=e*d,c[1]=h*d,c[2]=f*d):(c[0]=0,c[1]=0,c[2]=0);e=c[0]*b[0]+c[2]*b[2];b=0>b[1]?1:-1;h=bb;h[0]=0;h[1]=0;h[2]=1;Eb(a,Math.acos(c[2]*h[2])*(0<-c[0]*h[2]?-1:1),Math.acos(e)*b)}else J(e),Od(e,h,f,d,g,k,l,m)}function Pd(a,d,c,b){a=q(a);J(a);Qd(a,d,c,b)}function Rd(a,d,c,b){var e=p().k[a];e.v=e.v||new Float32Array(3);e.v[0]=d;e.v[1]=c;e.v[2]=b;a=q(a);J(a)}function Sd(a,d,c,b){var e=p().k[a];e.A=e.A||new Float32Array(3);e.A[0]=d;e.A[1]=c;e.A[2]=b;a=q(a);J(a)}function Td(a,
  33. d,c,b){var e=aa(a);a=q(a);J(a);Ud(e.a,d,c,b)}function Vd(a,d,c,b){var e=ba(a);a=q(a);J(a);Wd(e.a,d,c,b)}function Xd(a,d){var c=q(a);Yd(c,d)}function Zd(a,d,c){a=q(a);$d(a,d,c)}function ae(){var a=cb();if(a){var d=self.console;self.console={};console.log=function(){for(var a=[k.jb],d=0;d<arguments.length;d++)a.push(arguments[d]);self.postMessage(a)};console.error=function(){for(var a=[k.eb],d=0;d<arguments.length;d++)a.push(arguments[d]);self.postMessage(a)};console.profile=function(){d.profile.apply(d,
  34. arguments)};console.profileEnd=function(){d.profileEnd.apply(d,arguments)};fbmsg=function(){for(var a=[k.fb],d=0;d<arguments.length;d++)a.push(arguments[d]);self.postMessage(a)}}db=be(0);eb=E(0,0,0);fb=E(0,0,0);ce();x=k.rc(!a);k.lc(x,de);k.h(x,k.ib)}function ce(){Ib(60,0);var a=new Float32Array([0,0,0,1]);D(0,new Float32Array([1,1,0]),a,"RIGID_BODY",!1,!0,3,0,0,.04,.1,0,0,1,255,"BOX",{min_x:-1,min_y:-1,min_z:-1,max_x:1,max_y:1,max_z:1},2,.5,1,[],!1);var d={center:new Float32Array([0,0,0]),radius:2};
  35. D(1,new Float32Array([-1,1,0]),a,"RIGID_BODY",!1,!0,3,0,0,.04,.1,0,0,1,255,"SPHERE",d,2,.5,1,[],!1);a=new Float32Array([-5,0,-5,5,0,-5,0,0,5]);Ga(10,a,null,new Float32Array([0,0,0]),0,0,0,0,1,255);for(d=a=0;100>d;d++)Jb(t,a,ca),a+=ca;ee();t=null;Ka=0}function Jb(a,d,c){if(c=Kb(c,3,ca))for(var b=0;b<c;b++){var e=Lb(d,b,c);Mb(a);Nb(ca);b==c-1&&Ob(a,e)}Pb()}function Ib(a,d){ca=1/a;gb=d;fe();t={k:{},o:[],ia:{},G:{},n:{},X:[],ha:{V:null,size:0},O:{},T:[],d:{},s:{},u:null}}function Qb(){if(0==ma){var a=
  36. performance.now()/1E3;va||(va=a);var d=a-va;if(hb&&t){if(d&&gb){var c=Math.exp(-d/gb);Ka=1/d*(1-c)+c*Ka;k.h(x,k.hb,Math.round(Ka))}ma=Kb(d,3,ca);La=0}va=a}else a=Lb(va,La,ma),Mb(t),Nb(ca),Ob(t,a),La==ma-1?(Pb(),ma=0):La++;self.setTimeout(Qb,ma?0:10)}function Mb(a){for(var d=0;d<a.o.length;d++){var c=a.o[d];c.v&&ge(c.a,c.v[0],c.v[1],c.v[2]);c.A&&he(c.a,c.A[0],c.A[1],c.A[2])}}function Ob(a,d){for(var c=0;c<a.o.length;c++){var b=a.o[c],e=b.id;if(b.xc&&b.Ca){a.d[e]?ie(a.d[e].a,b.a,b.r,b.l,b.Z,b.Y):je(b.a,
  37. b.r,b.l,b.Z,b.Y);var h;h=b;var f=v[h.Z/4],g=v[h.Z/4+1],l=v[h.Z/4+2],m=v[h.Y/4],n=v[h.Y/4+1],q=v[h.Y/4+2];Ma(h)||h.g[0]!=f||h.g[1]!=g||h.g[2]!=l||h.f[0]!=m||h.f[1]!=n||h.f[2]!=q?(h.g[0]=f,h.g[1]=g,h.g[2]=l,h.f[0]=m,h.f[1]=n,h.f[2]=q,h=!0):h=!1;h&&(h=k.J(k.La),h.D=e,h.time=d,h.c=b.c,h.b=b.b,h.g=b.g,h.f=b.f,k.h(x,k.La));b.ta&&(h=ke(b.a),h!=b.ua&&k.h(x,k.bb,e,h),b.ua=h)}}for(var y in a.G){c=a.G[y];b=c.ab;for(e=0;e<b.length;e++)h=b[e],le(c.a,e,h.r,h.l),Ma(h)&&(f=k.J(k.da),f.ga=y,f.na=e,f.c=h.c,f.b=h.b,
  38. k.h(x,k.da));c=me(c.a);k.h(x,k.Ma,y,c)}for(var w in a.n){y=a.n[w];c=y.W;for(b=0;b<c.length;b++)e=c[b],ne(y.a,b,e.r,e.l),Ma(e)&&(h=k.J(k.da),h.ga=w,h.na=b,h.c=e.c,h.b=e.b,k.h(x,k.da));y=oe(y.a);k.h(x,k.Ma,w,y)}for(var t in a.s)for(w=a.s[t],y=w.W,c=0;c<y.length;c++)b=y[c],pe(w.a,c,b.r,b.l),Ma(b)&&k.h(x,k.gb,t,c,b.c,b.b);t=a.ha.V;w=a.ha.size;t&&qe(t,w);for(y=0;y<a.X.length;y++)c=a.X[y],b=c.wa,e=c.xa,h=re(t,w,b,e,eb,fb,db),f=c.p,g=c.q,l=bb,m=Hb,c.fa?(n=k.J(k.Ia),Na(eb,l),Na(fb,m),Rb(c,h,l,m)&&(q=v[db>>
  39. 2],b<e&&f>g?Sb(l,m,q):b>e&&f<g&&Sb(l,m,q),n.p=f,n.q=g,n.result=h,n.I=l,n.H=m,n.va=q,k.h(x,k.Ia)),c.S[0]=l[0],c.S[1]=l[1],c.S[2]=l[2]):(n=k.J(k.Ha),Rb(c,h,l,m)&&(n.p=f,n.q=g,n.result=h,k.h(x,k.Ha))),c.ma=h;for(t=0;t<a.T.length;t++){w=a.T[t];y=w.vc;c=w.fa;b=se(w.sc,w.Ta,w.Ua,w.qc,w.nc,c,w.Ec,y);for(e=0;e<b;e++){a:{h=te(y,e);f=p();for(g=0;g<f.o.length;g++)if(l=f.o[g],l.a==h){f=l.id;break a}f=null}g=ue(y,e);c?(h=k.J(k.Ka),h.id=w.id,h.F=f,h.K=g,h.N=d,f=w.uc,ve(y,e,f),Na(f,h.M),f=w.tc,we(y,e,f),Na(f,h.L),
  40. k.h(x,k.Ka)):(h=k.J(k.Ja),h.id=w.id,h.F=f,h.K=g,h.N=d,k.h(x,k.Ja))}w.mc&&(ab(w.id,a),t--)}k.Fc(x)}function Sb(a,d,c){a[0]+=d[0]*c;a[1]+=d[1]*c;a[2]+=d[2]*c;d[0]*=-1;d[1]*=-1;d[2]*=-1}function Rb(a,d,c,b){return a.fa?d!=a.ma||c[0]!=a.S[0]||c[1]!=a.S[1]||c[2]!=a.S[2]||b[0]!=a.za[2]||b[1]!=a.za[2]||b[2]!=a.za[2]:d!=a.ma}function Na(a,d){for(var c=0;c<d.length;c++)d[c]=v[(a>>2)+c]}function Fb(a,d){for(var c=0;c<a.length;c++)v[(d>>2)+c]=a[c]}function Ma(a){var d=v[a.r/4],c=v[a.r/4+1],b=v[a.r/4+2],e=v[a.l/
  41. 4],f=v[a.l/4+1],g=v[a.l/4+2],k=v[a.l/4+3];if(a.c[0]==d&&a.c[1]==c&&a.c[2]==b&&a.b[0]==e&&a.b[1]==f&&a.b[2]==g&&a.b[3]==k)return!1;a.c[0]=d;a.c[1]=c;a.c[2]=b;a.b[0]=e;a.b[1]=f;a.b[2]=g;a.b[3]=k;return!0}function xe(){function a(a){v=v+a+"\n"}for(var d=p(),c=wa(d.ia),b=wa(d.G),e=wa(d.n),f=wa(d.d),g=d.X.length,l=d.T.length,m=wa(d.s),n=d.o.length,q=0,t={},y=0;y<n;y++){var w=d.o[y],u=na(ye(w.a));t[u]=t[u]||0;t[u]++;q+=w.Aa}var v="";a("Bodies: "+n+" "+JSON.stringify(t).replace("{","(").replace("}",")").replace(/\"/g,
  42. "").toLowerCase());a("Triangles: "+q);a("Characters: "+f);a("Cars: "+b);a("Boats: "+e);a("Floaters: "+m);a("Constraints: "+c);a("Collision Tests: "+g);a("Ray Tests: "+l);k.h(x,k.cb,v)}function wa(a){var d=0,c;for(c in a)d++;return d}function de(a,d,c){switch(d){case k.Lb:self.performance||(self.performance={});if(!self.performance.now){var b=c[1];self.performance.now=function(){return Date.now()-b}}Ib(c[2],c[3]);cb()&&Qb();break;case k.gc:Jb(t,c[1],c[2]);break;case k.Nb:k.h(x,k.kb,c[1],performance.now());
  43. break;case k.Kc:set_active_world(c[1]);break;case k.Mb:hb=!1;break;case k.Sb:hb=!0;break;case k.zb:Ga.apply(this,c.slice(1));break;case k.xb:ea.apply(this,c.slice(1));break;case k.rb:D.apply(this,c.slice(1));break;case k.Ob:fa(c[1]);break;case k.vb:ga.apply(this,c.slice(1));break;case k.Qb:Y(c[1]);break;case k.sb:ha(c[1],c[2],c[3],c[4],c[5],c[6]);break;case k.qb:ia(c[1],c[2],c[3],c[4]);break;case k.wb:ja(c[1],c[2],c[3],c[4]);break;case k.nb:ka.apply(this,c.slice(1));break;case k.mb:la.apply(this,
  44. c.slice(1));break;case k.ob:Xa.apply(this,c.slice(1));break;case k.tb:yc.apply(this,c.slice(1));break;case k.ub:td(c[1],c[2]);break;case k.Pb:vd(c[1]);break;case k.Cb:xd(c[1]);break;case k.Hb:yd(c[1]);break;case k.yb:zd(c[1],c[2],c[3],c[4],c[5],c[6],c[7],c[8],c[9]);break;case k.Eb:Cd(c[1],c[2],c[3]);break;case k.Rb:Bd(c[1]);break;case k.Kb:Jd(c[1]);break;case k.Jb:ub(c[1]);break;case k.lb:Md(c[1]);break;case k.cc:Gb(c.D,c.c,c.b);break;case k.bc:Pd(c[1],c[2],c[3],c[4]);break;case k.Bb:Rd(c[1],c[2],
  45. c[3],c[4]);break;case k.Db:Sd(c[1],c[2],c[3],c[4]);break;case k.Vb:u(c[1],c[2],c[3]);break;case k.Wb:l(c[1],c[2]);break;case k.$b:f(c[1],c[2]);break;case k.Yb:zc(c[1],c[2]);break;case k.Tb:m(c[1],c[2]);break;case k.Fb:kd(c[1]);break;case k.Xb:Eb(c[1],c[2],c[3]);break;case k.Ub:nd(c[1],c[2]);break;case k.Zb:pd(c[1],c[2]);break;case k.Gb:rd(c[1],c[2],c[3]);break;case k.fc:Td(c[1],c[2],c[3],c[4]);break;case k.ec:Vd(c[1],c[2],c[3],c[4]);break;case k.ac:Xd(c[1],c[2]);break;case k.Lc:Zd(c[1],c[2],c[3]);
  46. break;case k.Ab:Dd.apply(this,c.slice(1));break;case k.pb:Fd.apply(this,c.slice(1));break;case k.dc:Hd(c[1]);break;case k.Ib:xe();break;default:throw"Unknown message "+d;}}function cb(){return"function"===typeof importScripts}function Tb(a){eval.call(null,a)}function F(a,d){a||L("Assertion failed: "+d)}function Ub(a){var d=b["_"+a];if(!d)try{d=eval("_"+a)}catch(c){}F(d,"Cannot call unknown function "+a+" (perhaps LLVM optimizations or closure removed it?)");return d}function Vb(a,d,c){c=c||"i8";"*"===
  47. c.charAt(c.length-1)&&(c="i32");switch(c){case "i1":I[a>>0]=d;break;case "i8":I[a>>0]=d;break;case "i16":Oa[a>>1]=d;break;case "i32":A[a>>2]=d;break;case "i64":tempI64=[d>>>0,(tempDouble=d,1<=+Wb(tempDouble)?0<tempDouble?(ze(+Ae(tempDouble/4294967296),4294967295)|0)>>>0:~~+Be((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)];A[a>>2]=tempI64[0];A[a+4>>2]=tempI64[1];break;case "float":v[a>>2]=d;break;case "double":Pa[a>>3]=d;break;default:L("invalid type for setValue: "+c)}}function Xb(a,d){d=d||
  48. "i8";"*"===d.charAt(d.length-1)&&(d="i32");switch(d){case "i1":return I[a>>0];case "i8":return I[a>>0];case "i16":return Oa[a>>1];case "i32":return A[a>>2];case "i64":return A[a>>2];case "float":return v[a>>2];case "double":return Pa[a>>3];default:L("invalid type for setValue: "+d)}return null}function xa(a,d,c,b){var e,f;"number"===typeof a?(e=!0,f=a):(e=!1,f=a.length);var g="string"===typeof d?d:null;c=4==c?b:["function"===typeof S?S:n.Ea,n.oa,n.Ea,n.R][void 0===c?2:c](Math.max(f,g?1:d.length));
  49. if(e){b=c;F(0==(c&3));for(a=c+(f&-4);b<a;b+=4)A[b>>2]=0;for(a=c+f;b<a;)I[b++>>0]=0;return c}if("i8"===g)return a.subarray||a.slice?H.set(a,c):H.set(new Uint8Array(a),c),c;b=0;for(var k,l;b<f;){var m=a[b];"function"===typeof m&&(m=n.Zc(m));e=g||d[b];0===e?b++:("i64"==e&&(e="i32"),Vb(c+b,m,e),l!==e&&(k=n.Wa(e),l=e),b+=k)}return c}function na(a,d){if(0===d||!a)return"";for(var c=0,e,f=0;;){e=H[a+f>>0];c|=e;if(0==e&&!d)break;f++;if(d&&f==d)break}d||(d=f);e="";if(128>c){for(;0<d;)c=String.fromCharCode.apply(String,
  50. H.subarray(a,a+Math.min(d,1024))),e=e?e+c:c,a+=1024,d-=1024;return e}return b.UTF8ToString(a)}function ib(a,b){for(var c,e,f,h,g,k,l="";;){c=a[b++];if(!c)return l;c&128?(e=a[b++]&63,192==(c&224)?l+=String.fromCharCode((c&31)<<6|e):(f=a[b++]&63,224==(c&240)?c=(c&15)<<12|e<<6|f:(h=a[b++]&63,240==(c&248)?c=(c&7)<<18|e<<12|f<<6|h:(g=a[b++]&63,248==(c&252)?c=(c&3)<<24|e<<18|f<<12|h<<6|g:(k=a[b++]&63,c=(c&1)<<30|e<<24|f<<18|h<<12|g<<6|k))),65536>c?l+=String.fromCharCode(c):(c-=65536,l+=String.fromCharCode(55296|
  51. c>>10,56320|c&1023)))):l+=String.fromCharCode(c)}}function jb(a,b,c,e){if(!(0<e))return 0;var f=c;e=c+e-1;for(var h=0;h<a.length;++h){var g=a.charCodeAt(h);55296<=g&&57343>=g&&(g=65536+((g&1023)<<10)|a.charCodeAt(++h)&1023);if(127>=g){if(c>=e)break;b[c++]=g}else{if(2047>=g){if(c+1>=e)break;b[c++]=192|g>>6}else{if(65535>=g){if(c+2>=e)break;b[c++]=224|g>>12}else{if(2097151>=g){if(c+3>=e)break;b[c++]=240|g>>18}else{if(67108863>=g){if(c+4>=e)break;b[c++]=248|g>>24}else{if(c+5>=e)break;b[c++]=252|g>>30;
  52. b[c++]=128|g>>24&63}b[c++]=128|g>>18&63}b[c++]=128|g>>12&63}b[c++]=128|g>>6&63}b[c++]=128|g&63}}b[c]=0;return c-f}function Yb(a){for(var b=0,c=0;c<a.length;++c){var e=a.charCodeAt(c);55296<=e&&57343>=e&&(e=65536+((e&1023)<<10)|a.charCodeAt(++c)&1023);127>=e?++b:b=2047>=e?b+2:65535>=e?b+3:2097151>=e?b+4:67108863>=e?b+5:b+6}return b}function Ce(a){return a.replace(/__Z[\w\d_]+/g,function(a){var c;a:{if(b.___cxa_demangle)try{var e=S(a.length);kb(a.substr(1),e);var f=S(4),g=b.___cxa_demangle(e,0,0,f);
  53. if(0===Xb(f,"i32")&&g){c=na(g);break a}}catch(k){c=a;break a}finally{e&&lb(e),f&&lb(f),g&&lb(g)}n.ba("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");c=a}return a===c?a:a+" ["+c+"]"})}function Zb(){var a=Ce,b;a:{b=Error();if(!b.stack){try{throw Error(0);}catch(c){b=c}if(!b.stack){b="(no stack trace available)";break a}}b=b.stack.toString()}return a(b)}function De(a){0<a%4096&&(a+=4096-a%4096);return a}function oa(a){for(;0<a.length;){var b=a.shift();if("function"==typeof b)b();
  54. else{var c=b.zc;"number"===typeof c?void 0===b.ra?n.Q("v",c):n.Q("vi",c,[b.ra]):c(void 0===b.ra?null:b.ra)}}}function $b(a){ac.unshift(a)}function bc(a){cc.unshift(a)}function Qa(a,b,c){c=Array(0<c?c:Yb(a)+1);a=jb(a,c,0,c.length);b&&(c.length=a);return c}function kb(a,b,c){a=Qa(a,c);for(c=0;c<a.length;)I[b+c>>0]=a[c],c+=1}function dc(a,b){for(var c=0;c<a.length;c++)I[b++>>0]=a[c]}function ec(a,b,c){for(var e=0;e<a.length;++e)I[b++>>0]=a.charCodeAt(e);c||(I[b>>0]=0)}function fc(){da++;b.monitorRunDependencies&&
  55. b.monitorRunDependencies(da)}function gc(){da--;b.monitorRunDependencies&&b.monitorRunDependencies(da);if(0==da&&(null!==mb&&(clearInterval(mb),mb=null),ya)){var a=ya;ya=null;a()}}function hc(a){b.___errno_location&&(A[b.___errno_location()>>2]=a);return a}function pa(){return!!pa.e}function za(){var a=z.la;if(!a)return(e.setTempRet0(0),0)|0;var d=z.w[a],c=d.type;if(!c)return(e.setTempRet0(0),a)|0;var f=Array.prototype.slice.call(arguments);b.___cxa_is_pointer_type(c);za.buffer||(za.buffer=S(4));
  56. A[za.buffer>>2]=a;for(var a=za.buffer,g=0;g<f.length;g++)if(f[g]&&b.___cxa_can_catch(f[g],c,a))return a=A[a>>2],d.Na=a,(e.setTempRet0(f[g]),a)|0;a=A[a>>2];return(e.setTempRet0(c),a)|0}function Aa(a,b){Aa.e||(Aa.e={});a in Aa.e||(n.Q("v",b),Aa.e[a]=1)}function S(a){return n.R(a+8)+8&4294967288}function Ra(a,b){V.push(function(){n.Q("vi",a,[b])});Ra.level=V.length}function Sa(a){var b=Sa;b.e||(M=De(M),b.e=!0,F(n.R),b.ea=n.R,n.R=function(){L("cannot dynamically allocate, sbrk now has control")});var c=
  57. M;return 0==a||b.ea(a)?c:4294967295}function W(a,d){G.U=d;try{var c=G.get(),e=G.get(),f=G.get(),g=0;W.buffer||(W.e=[null,[],[]],W.ea=function(a,c){var d=W.e[a];F(d);0===c||10===c?((1===a?b.print:b.printErr)(ib(d,0)),d.length=0):d.push(c)});for(var k=0;k<f;k++){for(var l=A[e+8*k>>2],m=A[e+(8*k+4)>>2],n=0;n<m;n++)W.ea(c,H[l+n]);g+=m}return g}catch(p){return"undefined"!==typeof FS&&p instanceof FS.Fa||L(p),-p.Va}}function qa(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";
  58. this.status=a}function nb(a){function d(){if(!b.calledRun&&(b.calledRun=!0,!Ba)){Ca||(Ca=!0,oa(Ta));oa(ic);if(b.onRuntimeInitialized)b.onRuntimeInitialized();b._main&&jc&&b.callMain(a);if(b.postRun)for("function"==typeof b.postRun&&(b.postRun=[b.postRun]);b.postRun.length;)bc(b.postRun.shift());oa(cc)}}a=a||b.arguments;null===kc&&(kc=Date.now());if(!(0<da)){if(b.preRun)for("function"==typeof b.preRun&&(b.preRun=[b.preRun]);b.preRun.length;)$b(b.preRun.shift());oa(ac);0<da||b.calledRun||(b.setStatus?
  59. (b.setStatus("Running..."),setTimeout(function(){setTimeout(function(){b.setStatus("")},1);d()},1)):d())}}function lc(a,d){if(!d||!b.noExitRuntime){if(!b.noExitRuntime&&(Ba=!0,P=Ee,oa(V),b.onExit))b.onExit(a);ra?process.exit(a):Da&&"function"===typeof quit&&quit(a);throw new qa(a);}}function L(a){void 0!==a?(b.print(a),b.Ba(a),a=JSON.stringify(a)):a="";Ba=!0;var d="abort("+a+") at "+Zb()+"\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";mc&&mc.forEach(function(b){d=
  60. b(d,a)});throw d;}var k=B("__ipc"),ca=1/60,hb=!0,ma=0,La=0,va=0,gb=0,t=null,x=null,Ka=0,bb=new Float32Array(3),Hb=new Float32Array(3),db=null,eb=null,fb=null,b={onRuntimeInitialized:function(){ae()}};b.locateFile=cb()?null:function(){for(var a=b4w.get_namespace(B),b=0;b<b4w.worker_namespaces.length;b+=2)if(b4w.worker_namespaces[b+1]==a)return b4w.require("config",b4w.worker_namespaces[b]).get("physics_uranium_path")+".mem";return"NOT_FOUND"};b||(b=eval("(function() { try { return Module || {} } catch(e) { return {} } })()"));
  61. var Ea={},X;for(X in b)b.hasOwnProperty(X)&&(Ea[X]=b[X]);var Fa=!1,sa=!1,ra=!1,Da=!1;if(b.ENVIRONMENT)if("WEB"===b.ENVIRONMENT)Fa=!0;else if("WORKER"===b.ENVIRONMENT)sa=!0;else if("NODE"===b.ENVIRONMENT)ra=!0;else if("SHELL"===b.ENVIRONMENT)Da=!0;else throw Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.");else Fa="object"===typeof window,sa="function"===typeof importScripts,ra="object"===typeof process&&"function"===typeof B&&!Fa&&!sa,Da=!Fa&&
  62. !ra&&!sa;if(ra){b.print||(b.print=console.log);b.printErr||(b.printErr=console.warn);var Ua,Va;b.read=function(a,b){Ua||(Ua=B("fs"));Va||(Va=B("path"));a=Va.normalize(a);var c=Ua.readFileSync(a);c||a==Va.resolve(a)||(a=path.join(__dirname,"..","src",a),c=Ua.readFileSync(a));c&&!b&&(c=c.toString());return c};b.readBinary=function(a){a=b.read(a,!0);a.buffer||(a=new Uint8Array(a));F(a.buffer);return a};b.load=function(a){Tb(read(a))};b.thisProgram||(b.thisProgram=1<process.argv.length?process.argv[1].replace(/\\/g,
  63. "/"):"unknown-program");b.arguments=process.argv.slice(2);"undefined"!==typeof module&&(module.exports=b);process.on("uncaughtException",function(a){if(!(a instanceof qa))throw a;});b.inspect=function(){return"[Emscripten Module object]"}}else if(Da)b.print||(b.print=print),"undefined"!=typeof printErr&&(b.printErr=printErr),b.read="undefined"!=typeof read?read:function(){throw"no read() available (jsc?)";},b.readBinary=function(a){if("function"===typeof readbuffer)return new Uint8Array(readbuffer(a));
  64. a=read(a,"binary");F("object"===typeof a);return a},"undefined"!=typeof scriptArgs?b.arguments=scriptArgs:"undefined"!=typeof arguments&&(b.arguments=arguments),eval("if (typeof gc === 'function' && gc.toString().indexOf('[native code]') > 0) var gc = undefined");else if(Fa||sa)b.read=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.send(null);return b.responseText},b.readAsync=function(a,b,c){var e=new XMLHttpRequest;e.open("GET",a,!0);e.responseType="arraybuffer";e.onload=function(){200==
  65. e.status||0==e.status&&e.response?b(e.response):c()};e.onerror=c;e.send(null)},"undefined"!=typeof arguments&&(b.arguments=arguments),"undefined"!==typeof console?(b.print||(b.print=function(a){console.log(a)}),b.printErr||(b.printErr=function(a){console.warn(a)})):b.print||(b.print=function(){}),sa&&(b.load=importScripts),"undefined"===typeof b.setWindowTitle&&(b.setWindowTitle=function(a){document.title=a});else throw"Unknown runtime environment. Where are we?";!b.load&&b.read&&(b.load=function(a){Tb(b.read(a))});
  66. b.print||(b.print=function(){});b.printErr||(b.printErr=b.print);b.arguments||(b.arguments=[]);b.thisProgram||(b.thisProgram="./this.program");b.print=b.print;b.Ba=b.printErr;b.preRun=[];b.postRun=[];for(X in Ea)Ea.hasOwnProperty(X)&&(b[X]=Ea[X]);var Ea=void 0,n={Hc:function(a){tempRet0=a},Cc:function(){return tempRet0},Da:function(){return P},pa:function(a){P=a},Wa:function(a){switch(a){case "i1":case "i8":return 1;case "i16":return 2;case "i32":return 4;case "i64":return 8;case "float":return 4;
  67. case "double":return 8;default:return"*"===a[a.length-1]?n.qa:"i"===a[0]?(a=parseInt(a.substr(1)),F(0===a%8),a/8):0}},Ac:function(a){return Math.max(n.Wa(a),n.qa)},Mc:16,hd:function(a,b){"double"===b||"i64"===b?a&7&&(F(4===(a&7)),a+=4):F(0===(a&3));return a},Wc:function(a,b,c){return c||"i64"!=a&&"double"!=a?a?Math.min(b||(a?n.Ac(a):0),n.qa):Math.min(b,8):8},Q:function(a,d,c){return c&&c.length?(c.splice||(c=Array.prototype.slice.call(c)),c.splice(0,0,d),b["dynCall_"+a].apply(null,c)):b["dynCall_"+
  68. a].call(null,d)},ja:[],hc:function(a){for(var b=0;b<n.ja.length;b++)if(!n.ja[b])return n.ja[b]=a,2*(1+b);throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.";},Gc:function(a){n.ja[(a-2)/2]=null},ba:function(a){n.ba.e||(n.ba.e={});n.ba.e[a]||(n.ba.e[a]=1,b.Ba(a))},ya:{},Yc:function(a,b){F(b);n.ya[b]||(n.ya[b]={});var c=n.ya[b];c[a]||(c[a]=function(){return n.Q(b,a,arguments)});return c[a]},Xc:function(){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work";
  69. },oa:function(a){var b=P;P=P+a|0;P=P+15&-16;return b},Ea:function(a){var b=Q;Q=Q+a|0;Q=Q+15&-16;return b},R:function(a){var b=M;M=M+a|0;M=M+15&-16;if(a=M>=ta)L("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+ta+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 "),
  70. a=!0;return a?(M=b,0):b},Oa:function(a,b){return Math.ceil(a/(b?b:16))*(b?b:16)},gd:function(a,b,c){return c?+(a>>>0)+4294967296*+(b>>>0):+(a>>>0)+4294967296*+(b|0)},Ga:8,qa:4,Nc:0};b.Runtime=n;n.addFunction=n.hc;n.removeFunction=n.Gc;var Ba=!1,nc,oc;(function(){function a(a){a=a.toString().match(f).slice(1);return{arguments:a[0],body:a[1],returnValue:a[2]}}function b(){if(!g){g={};for(var d in c)c.hasOwnProperty(d)&&(g[d]=a(c[d]))}}var c={stackSave:function(){n.Da()},stackRestore:function(){n.pa()},
  71. arrayToC:function(a){var b=n.oa(a.length);dc(a,b);return b},stringToC:function(a){var b=0;null!==a&&void 0!==a&&0!==a&&(b=n.oa((a.length<<2)+1),kb(a,b));return b}},e={string:c.stringToC,array:c.arrayToC};oc=function(a,b,c,d,f){a=Ub(a);var g=[],h=0;if(d)for(var k=0;k<d.length;k++){var l=e[c[k]];l?(0===h&&(h=n.Da()),g[k]=l(d[k])):g[k]=d[k]}c=a.apply(null,g);"string"===b&&(c=na(c));if(0!==h){if(f&&f.async){EmterpreterAsync.Oc.push(function(){n.pa(h)});return}n.pa(h)}return c};var f=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/,
  72. g=null;nc=function(c,e,f){f=f||[];var k=Ub(c);c=f.every(function(a){return"number"===a});var l="string"!==e;if(l&&c)return k;var r=f.map(function(a,b){return"$"+b});e="(function("+r.join(",")+") {";var m=f.length;if(!c){b();e+="var stack = "+g.stackSave.body+";";for(var Ha=0;Ha<m;Ha++){var n=r[Ha],p=f[Ha];"number"!==p&&(p=g[p+"ToC"],e+="var "+p.arguments+" = "+n+";",e+=p.body+";",e+=n+"=("+p.returnValue+");")}}f=a(function(){return k}).returnValue;e+="var ret = "+f+"("+r.join(",")+");";l||(f=a(function(){return na}).returnValue,
  73. e+="ret = "+f+"(ret);");c||(b(),e+=g.stackRestore.body.replace("()","(stack)")+";");return eval(e+"return ret})")}})();b.ccall=oc;b.cwrap=nc;b.setValue=Vb;b.getValue=Xb;b.ALLOC_NORMAL=0;b.ALLOC_STACK=1;b.ALLOC_STATIC=2;b.ALLOC_DYNAMIC=3;b.ALLOC_NONE=4;b.allocate=xa;b.getMemory=function(a){return pc?"undefined"!==typeof Sa&&!Sa.e||!Ca?n.R(a):S(a):n.Ea(a)};b.Pointer_stringify=na;b.AsciiToString=function(a){for(var b="";;){var c=I[a++>>0];if(!c)return b;b+=String.fromCharCode(c)}};b.stringToAscii=function(a,
  74. b){return ec(a,b,!1)};b.UTF8ArrayToString=ib;b.UTF8ToString=function(a){return ib(H,a)};b.stringToUTF8Array=jb;b.stringToUTF8=function(a,b,c){return jb(a,H,b,c)};b.lengthBytesUTF8=Yb;b.stackTrace=Zb;for(var K,I,H,Oa,qc,A,rc,v,Pa,sc=0,Q=0,pc=!1,tc=0,P=0,ob=0,M=0,uc=b.TOTAL_STACK||5242880,ta=b.TOTAL_MEMORY||67108864,T=65536;T<ta||T<2*uc;)T=16777216>T?2*T:T+16777216;T!==ta&&(ta=T);b.buffer?K=b.buffer:K=new ArrayBuffer(ta);b.HEAP8=I=new Int8Array(K);b.HEAP16=Oa=new Int16Array(K);b.HEAP32=A=new Int32Array(K);
  75. b.HEAPU8=H=new Uint8Array(K);b.HEAPU16=qc=new Uint16Array(K);b.HEAPU32=rc=new Uint32Array(K);b.HEAPF32=v=new Float32Array(K);b.HEAPF64=Pa=new Float64Array(K);A[0]=255;if(255!==H[0]||0!==H[3])throw"Typed arrays 2 must be run on a little-endian system";b.HEAP=void 0;b.buffer=K;b.HEAP8=I;b.HEAP16=Oa;b.HEAP32=A;b.HEAPU8=H;b.HEAPU16=qc;b.HEAPU32=rc;b.HEAPF32=v;b.HEAPF64=Pa;var ac=[],Ta=[],ic=[],V=[],cc=[],Ca=!1;b.addOnPreRun=$b;b.addOnInit=function(a){Ta.unshift(a)};b.addOnPreMain=function(a){ic.unshift(a)};
  76. b.addOnExit=function(a){V.unshift(a)};b.addOnPostRun=bc;b.intArrayFromString=Qa;b.intArrayToString=function(a){for(var b=[],c=0;c<a.length;c++){var e=a[c];255<e&&(e&=255);b.push(String.fromCharCode(e))}return b.join("")};b.writeStringToMemory=kb;b.writeArrayToMemory=dc;b.writeAsciiToMemory=ec;Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(a,b){var c=a&65535,e=b&65535;return c*e+((a>>>16)*e+c*(b>>>16)<<16)|0});Math.bd=Math.imul;Math.clz32||(Math.clz32=function(a){a=a>>>0;for(var b=0;32>
  77. b;b++)if(a&1<<31-b)return b;return 32});Math.Rc=Math.clz32;var Wb=Math.abs,Be=Math.ceil,Ae=Math.floor,Fe=Math.pow,ze=Math.min,da=0,mb=null,ya=null;b.addRunDependency=fc;b.removeRunDependency=gc;b.preloadedImages={};b.preloadedAudios={};var R=null,sc=8,Q=sc+17936;Ta.push({zc:function(){Ge()}});var R="uranium.js.mem",He=Q,Q=Q+16;b._i64Subtract=Ie;var z={la:0,oc:[],w:{},Ra:function(a){if(!a||z.w[a])return a;for(var b in z.w)if(z.w[b].Na===a)return b;return a},ic:function(a){a&&z.w[a].aa++},Sc:function(a){if(a){var b=
  78. z.w[a];F(0<b.aa);b.aa--;0===b.aa&&(b.Sa&&n.Q("vi",b.Sa,[a]),delete z.w[a],___cxa_free_exception(a))}},pc:function(a){a&&(z.w[a].aa=0)}};b._memset=Je;b._bitshift64Shl=Ke;var Wa={};b._i64Add=Le;var pb=1,Me=Fe;b._malloc=S;b._bitshift64Ashr=Ne;b._bitshift64Lshr=Oe;b._memcpy=Pe;var G={U:0,get:function(){G.U+=4;return A[G.U-4>>2]},$c:function(){return na(G.get())},Vc:function(){var a=G.get(),b=G.get();0<=a?F(0===b):F(-1===b);return a},ad:function(){F(0===G.get())}};b._memmove=Qe;var Re=Wb;b._llvm_bswap_i32=
  79. Se;V.push(function(){var a=b._fflush;a&&a(0);if(a=W.ea){var d=W.e;d[1].length&&a(1,10);d[2].length&&a(2,10)}});var tc=P=n.Oa(Q),pc=!0,ob=tc+uc,M=n.Oa(ob),Te=xa([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,
  80. 1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",3);b.jc={Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array,NaN:NaN,Infinity:Infinity};b.kc={abort:L,assert:F,invoke_viiiii:function(a,d,c,f,g,h){try{b.dynCall_viiiii(a,d,c,f,g,h)}catch(k){if("number"!==
  81. typeof k&&"longjmp"!==k)throw k;e.setThrew(1,0)}},invoke_vid:function(a,d,c){try{b.dynCall_vid(a,d,c)}catch(f){if("number"!==typeof f&&"longjmp"!==f)throw f;e.setThrew(1,0)}},invoke_vi:function(a,d){try{b.dynCall_vi(a,d)}catch(c){if("number"!==typeof c&&"longjmp"!==c)throw c;e.setThrew(1,0)}},invoke_viiidii:function(a,d,c,f,g,h,k){try{b.dynCall_viiidii(a,d,c,f,g,h,k)}catch(l){if("number"!==typeof l&&"longjmp"!==l)throw l;e.setThrew(1,0)}},invoke_vii:function(a,d,c){try{b.dynCall_vii(a,d,c)}catch(f){if("number"!==
  82. typeof f&&"longjmp"!==f)throw f;e.setThrew(1,0)}},invoke_iiiiiiiiiii:function(a,d,c,f,g,h,k,l,m,n,p){try{return b.dynCall_iiiiiiiiiii(a,d,c,f,g,h,k,l,m,n,p)}catch(q){if("number"!==typeof q&&"longjmp"!==q)throw q;e.setThrew(1,0)}},invoke_ii:function(a,d){try{return b.dynCall_ii(a,d)}catch(c){if("number"!==typeof c&&"longjmp"!==c)throw c;e.setThrew(1,0)}},invoke_viidi:function(a,d,c,f,g){try{b.dynCall_viidi(a,d,c,f,g)}catch(h){if("number"!==typeof h&&"longjmp"!==h)throw h;e.setThrew(1,0)}},invoke_viddiii:function(a,
  83. d,c,f,g,h,k){try{b.dynCall_viddiii(a,d,c,f,g,h,k)}catch(l){if("number"!==typeof l&&"longjmp"!==l)throw l;e.setThrew(1,0)}},invoke_vidii:function(a,d,c,f,g){try{b.dynCall_vidii(a,d,c,f,g)}catch(h){if("number"!==typeof h&&"longjmp"!==h)throw h;e.setThrew(1,0)}},invoke_iiiii:function(a,d,c,f,g){try{return b.dynCall_iiiii(a,d,c,f,g)}catch(h){if("number"!==typeof h&&"longjmp"!==h)throw h;e.setThrew(1,0)}},invoke_vidi:function(a,d,c,f){try{b.dynCall_vidi(a,d,c,f)}catch(g){if("number"!==typeof g&&"longjmp"!==
  84. g)throw g;e.setThrew(1,0)}},invoke_viiiiddddiid:function(a,d,c,f,g,h,k,l,m,n,p,q){try{b.dynCall_viiiiddddiid(a,d,c,f,g,h,k,l,m,n,p,q)}catch(t){if("number"!==typeof t&&"longjmp"!==t)throw t;e.setThrew(1,0)}},invoke_diiiii:function(a,d,c,f,g,h){try{return b.dynCall_diiiii(a,d,c,f,g,h)}catch(k){if("number"!==typeof k&&"longjmp"!==k)throw k;e.setThrew(1,0)}},invoke_iiii:function(a,d,c,f){try{return b.dynCall_iiii(a,d,c,f)}catch(g){if("number"!==typeof g&&"longjmp"!==g)throw g;e.setThrew(1,0)}},invoke_viiiiii:function(a,
  85. d,c,f,g,h,k){try{b.dynCall_viiiiii(a,d,c,f,g,h,k)}catch(l){if("number"!==typeof l&&"longjmp"!==l)throw l;e.setThrew(1,0)}},invoke_iiid:function(a,d,c,f){try{return b.dynCall_iiid(a,d,c,f)}catch(g){if("number"!==typeof g&&"longjmp"!==g)throw g;e.setThrew(1,0)}},invoke_di:function(a,d){try{return b.dynCall_di(a,d)}catch(c){if("number"!==typeof c&&"longjmp"!==c)throw c;e.setThrew(1,0)}},invoke_iiiiiii:function(a,d,c,f,g,h,k){try{return b.dynCall_iiiiiii(a,d,c,f,g,h,k)}catch(l){if("number"!==typeof l&&
  86. "longjmp"!==l)throw l;e.setThrew(1,0)}},invoke_diiidii:function(a,d,c,f,g,h,k){try{return b.dynCall_diiidii(a,d,c,f,g,h,k)}catch(l){if("number"!==typeof l&&"longjmp"!==l)throw l;e.setThrew(1,0)}},invoke_viidii:function(a,d,c,f,g,h){try{b.dynCall_viidii(a,d,c,f,g,h)}catch(k){if("number"!==typeof k&&"longjmp"!==k)throw k;e.setThrew(1,0)}},invoke_didii:function(a,d,c,f,g){try{return b.dynCall_didii(a,d,c,f,g)}catch(h){if("number"!==typeof h&&"longjmp"!==h)throw h;e.setThrew(1,0)}},invoke_viiiiiiiii:function(a,
  87. d,c,f,g,h,k,l,m,n){try{b.dynCall_viiiiiiiii(a,d,c,f,g,h,k,l,m,n)}catch(p){if("number"!==typeof p&&"longjmp"!==p)throw p;e.setThrew(1,0)}},invoke_viiiiiiiiii:function(a,d,c,f,g,h,k,l,m,n,p){try{b.dynCall_viiiiiiiiii(a,d,c,f,g,h,k,l,m,n,p)}catch(q){if("number"!==typeof q&&"longjmp"!==q)throw q;e.setThrew(1,0)}},invoke_iii:function(a,d,c){try{return b.dynCall_iii(a,d,c)}catch(f){if("number"!==typeof f&&"longjmp"!==f)throw f;e.setThrew(1,0)}},invoke_diii:function(a,d,c,f){try{return b.dynCall_diii(a,
  88. d,c,f)}catch(g){if("number"!==typeof g&&"longjmp"!==g)throw g;e.setThrew(1,0)}},invoke_diiiiiiiiii:function(a,d,c,f,g,h,k,l,m,n,p){try{return b.dynCall_diiiiiiiiii(a,d,c,f,g,h,k,l,m,n,p)}catch(q){if("number"!==typeof q&&"longjmp"!==q)throw q;e.setThrew(1,0)}},invoke_viiiid:function(a,d,c,f,g,h){try{b.dynCall_viiiid(a,d,c,f,g,h)}catch(k){if("number"!==typeof k&&"longjmp"!==k)throw k;e.setThrew(1,0)}},invoke_diiiiiiiii:function(a,d,c,f,g,h,k,l,m,n){try{return b.dynCall_diiiiiiiii(a,d,c,f,g,h,k,l,m,
  89. n)}catch(p){if("number"!==typeof p&&"longjmp"!==p)throw p;e.setThrew(1,0)}},invoke_did:function(a,d,c){try{return b.dynCall_did(a,d,c)}catch(f){if("number"!==typeof f&&"longjmp"!==f)throw f;e.setThrew(1,0)}},invoke_viiiidddddidi:function(a,d,c,f,g,h,k,l,m,p,n,q,t){try{b.dynCall_viiiidddddidi(a,d,c,f,g,h,k,l,m,p,n,q,t)}catch(u){if("number"!==typeof u&&"longjmp"!==u)throw u;e.setThrew(1,0)}},invoke_diidii:function(a,d,c,f,g,h){try{return b.dynCall_diidii(a,d,c,f,g,h)}catch(k){if("number"!==typeof k&&
  90. "longjmp"!==k)throw k;e.setThrew(1,0)}},invoke_diiii:function(a,d,c,f,g){try{return b.dynCall_diiii(a,d,c,f,g)}catch(h){if("number"!==typeof h&&"longjmp"!==h)throw h;e.setThrew(1,0)}},invoke_iiiiiiiiii:function(a,d,c,f,g,h,k,l,m,p){try{return b.dynCall_iiiiiiiiii(a,d,c,f,g,h,k,l,m,p)}catch(n){if("number"!==typeof n&&"longjmp"!==n)throw n;e.setThrew(1,0)}},invoke_viiid:function(a,d,c,f,g){try{b.dynCall_viiid(a,d,c,f,g)}catch(h){if("number"!==typeof h&&"longjmp"!==h)throw h;e.setThrew(1,0)}},invoke_viii:function(a,
  91. d,c,f){try{b.dynCall_viii(a,d,c,f)}catch(g){if("number"!==typeof g&&"longjmp"!==g)throw g;e.setThrew(1,0)}},invoke_v:function(a){try{b.dynCall_v(a)}catch(d){if("number"!==typeof d&&"longjmp"!==d)throw d;e.setThrew(1,0)}},invoke_viid:function(a,d,c,f){try{b.dynCall_viid(a,d,c,f)}catch(g){if("number"!==typeof g&&"longjmp"!==g)throw g;e.setThrew(1,0)}},invoke_iidid:function(a,d,c,f,g){try{return b.dynCall_iidid(a,d,c,f,g)}catch(h){if("number"!==typeof h&&"longjmp"!==h)throw h;e.setThrew(1,0)}},invoke_viiii:function(a,
  92. d,c,f,g){try{b.dynCall_viiii(a,d,c,f,g)}catch(h){if("number"!==typeof h&&"longjmp"!==h)throw h;e.setThrew(1,0)}},_pthread_cleanup_pop:function(){F(Ra.level==V.length,"cannot pop if something else added meanwhile!");V.pop();Ra.level=V.length},_abort:function(){b.abort()},___cxa_guard_acquire:function(a){return I[a>>0]?0:I[a>>0]=1},___gxx_personality_v0:function(){},___cxa_allocate_exception:function(a){return S(a)},__ZSt18uncaught_exceptionv:pa,___cxa_guard_release:function(){},___setErrNo:hc,_sbrk:Sa,
  93. _llvm_pow_f32:Me,___cxa_begin_catch:function(a){pa.e--;z.oc.push(a);z.ic(z.Ra(a));return a},_emscripten_memcpy_big:function(a,b,c){H.set(H.subarray(b,b+c),a);return a},___resumeException:function(a){z.la||(z.la=a);z.pc(z.Ra(a));throw a+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.";},___cxa_find_matching_catch:za,_sysconf:function(a){switch(a){case 30:return 4096;case 85:return T/4096;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;
  94. case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;
  95. case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1E3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return"object"===typeof navigator?navigator.hardwareConcurrency||1:1}hc(22);return-1},
  96. _pthread_getspecific:function(a){return Wa[a]||0},_pthread_self:function(){return 0},_llvm_fabs_f32:Re,_pthread_once:Aa,_llvm_trap:function(){L("trap!")},_pthread_key_create:function(a){if(0==a)return 22;A[a>>2]=pb;Wa[pb]=0;pb++;return 0},_pthread_setspecific:function(a,b){if(!(a in Wa))return 22;Wa[a]=b;return 0},___cxa_throw:function(a,b,c){z.w[a]={jd:a,Na:a,type:b,Sa:c,aa:0};z.la=a;"uncaught_exception"in pa?pa.e++:pa.e=1;throw a+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.";
  97. },___syscall6:function(a,b){G.U=b;try{var c=G.Bc();FS.close(c);return 0}catch(e){return"undefined"!==typeof FS&&e instanceof FS.Fa||L(e),-e.Va}},_pthread_cleanup_push:Ra,_time:function(a){var b=Date.now()/1E3|0;a&&(A[a>>2]=b);return b},___syscall140:function(a,b){G.U=b;try{var c=G.Bc(),e=G.get(),f=G.get(),g=G.get(),k=G.get();F(0===e);FS.ed(c,f,k);A[g>>2]=c.position;c.Dc&&0===f&&0===k&&(c.Dc=null);return 0}catch(l){return"undefined"!==typeof FS&&l instanceof FS.Fa||L(l),-l.Va}},___cxa_pure_virtual:function(){Ba=
  98. !0;throw"Pure virtual function called!";},___syscall146:W,STACKTOP:P,STACK_MAX:ob,tempDoublePtr:He,ABORT:Ba,cttz_i8:Te};// EMSCRIPTEN_START_ASM
  99. var e=(function(global,env,buffer) {
  100. "use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.0;var C=0;var D=0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=global.Math.floor;var N=global.Math.abs;var O=global.Math.sqrt;var P=global.Math.pow;var Q=global.Math.cos;var R=global.Math.sin;var S=global.Math.tan;var T=global.Math.acos;var U=global.Math.asin;var V=global.Math.atan;var W=global.Math.atan2;var X=global.Math.exp;var Y=global.Math.log;var Z=global.Math.ceil;var _=global.Math.imul;var $=global.Math.min;var aa=global.Math.clz32;var ba=env.abort;var ca=env.assert;var da=env.invoke_viiiii;var ea=env.invoke_vid;var fa=env.invoke_vi;var ga=env.invoke_viiidii;var ha=env.invoke_vii;var ia=env.invoke_iiiiiiiiiii;var ja=env.invoke_ii;var ka=env.invoke_viidi;var la=env.invoke_viddiii;var ma=env.invoke_vidii;var na=env.invoke_iiiii;var oa=env.invoke_vidi;var pa=env.invoke_viiiiddddiid;var qa=env.invoke_diiiii;var ra=env.invoke_iiii;var sa=env.invoke_viiiiii;var ta=env.invoke_iiid;var ua=env.invoke_di;var va=env.invoke_iiiiiii;var wa=env.invoke_diiidii;var xa=env.invoke_viidii;var ya=env.invoke_didii;var za=env.invoke_viiiiiiiii;var Aa=env.invoke_viiiiiiiiii;var Ba=env.invoke_iii;var Ca=env.invoke_diii;var Da=env.invoke_diiiiiiiiii;var Ea=env.invoke_viiiid;var Fa=env.invoke_diiiiiiiii;var Ga=env.invoke_did;var Ha=env.invoke_viiiidddddidi;var Ia=env.invoke_diidii;var Ja=env.invoke_diiii;var Ka=env.invoke_iiiiiiiiii;var La=env.invoke_viiid;var Ma=env.invoke_viii;var Na=env.invoke_v;var Oa=env.invoke_viid;var Pa=env.invoke_iidid;var Qa=env.invoke_viiii;var Ra=env._pthread_cleanup_pop;var Sa=env._abort;var Ta=env.___cxa_guard_acquire;var Ua=env.___gxx_personality_v0;var Va=env.___cxa_allocate_exception;var Wa=env.__ZSt18uncaught_exceptionv;var Xa=env.___cxa_guard_release;var Ya=env.___setErrNo;var Za=env._sbrk;var _a=env._llvm_pow_f32;var $a=env.___cxa_begin_catch;var ab=env._emscripten_memcpy_big;var bb=env.___resumeException;var cb=env.___cxa_find_matching_catch;var db=env._sysconf;var eb=env._pthread_getspecific;var fb=env._pthread_self;var gb=env._llvm_fabs_f32;var hb=env._pthread_once;var ib=env._llvm_trap;var jb=env._pthread_key_create;var kb=env._pthread_setspecific;var lb=env.___cxa_throw;var mb=env.___syscall6;var nb=env._pthread_cleanup_push;var ob=env._time;var pb=env.___syscall140;var qb=env.___cxa_pure_virtual;var rb=env.___syscall146;var sb=0.0;
  101. // EMSCRIPTEN_START_FUNCS
  102. function fc(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function gc(){return i|0}function hc(a){a=a|0;i=a}function ic(a,b){a=a|0;b=b|0;i=a;j=b}function jc(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function kc(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0]}function lc(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0];a[k+4>>0]=a[b+4>>0];a[k+5>>0]=a[b+5>>0];a[k+6>>0]=a[b+6>>0];a[k+7>>0]=a[b+7>>0]}function mc(a){a=a|0;C=a}function nc(){return C|0}function oc(){var b=0,d=0,e=0,f=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,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0;b=i;i=i+16|0;d=b;while(1){e=Tr(196)|0;if(e|0)break;f=c[4479]|0;c[4479]=f+0;if(!f){h=5;break}bc[f&3]()}if((h|0)==5){f=Va(4)|0;c[f>>2]=6852;lb(f|0,2112,190)}c[e>>2]=3300;a[e+40>>0]=1;c[e+36>>2]=0;c[e+28>>2]=0;c[e+32>>2]=0;a[e+60>>0]=1;c[e+56>>2]=0;c[e+48>>2]=0;c[e+52>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=-1;c[e+16>>2]=0;c[e+20>>2]=0;a[e+100>>0]=1;c[e+96>>2]=0;c[e+88>>2]=0;c[e+92>>2]=0;a[e+120>>0]=1;c[e+116>>2]=0;c[e+108>>2]=0;c[e+112>>2]=0;c[e+64>>2]=0;c[e+68>>2]=0;c[e+72>>2]=-1;c[e+76>>2]=0;c[e+80>>2]=0;a[e+193>>0]=0;a[e+194>>0]=1;a[e+192>>0]=1;g[e+140>>2]=0.0;c[e+144>>2]=0;c[e+164>>2]=0;c[e+148>>2]=1;c[e+152>>2]=0;c[e+156>>2]=10;c[e+160>>2]=1;c[e+168>>2]=0;c[e+172>>2]=0;g[e+176>>2]=0.0;c[4350]=(c[4350]|0)+1;f=Tr(95)|0;if(!f)j=0;else{k=f+4+15&-16;c[k+-4>>2]=f;j=k}c[j>>2]=3472;k=j+20|0;a[k>>0]=1;f=j+16|0;c[f>>2]=0;l=j+8|0;c[l>>2]=0;m=j+12|0;c[m>>2]=0;c[j+24>>2]=0;a[j+28>>0]=0;a[j+48>>0]=1;c[j+44>>2]=0;c[j+36>>2]=0;c[j+40>>2]=0;a[j+68>>0]=1;c[j+64>>2]=0;c[j+56>>2]=0;c[j+60>>2]=0;c[j+72>>2]=0;c[4350]=(c[4350]|0)+1;n=Tr(51)|0;if(!n)o=0;else{p=n+4+15&-16;c[p+-4>>2]=n;o=p}p=c[l>>2]|0;if((p|0)>0){l=0;do{n=c[f>>2]|0;c[o+(l<<4)>>2]=c[n+(l<<4)>>2];c[o+(l<<4)+4>>2]=c[n+(l<<4)+4>>2];c[o+(l<<4)+8>>2]=c[n+(l<<4)+8>>2];c[o+(l<<4)+12>>2]=c[n+(l<<4)+12>>2];l=l+1|0}while((l|0)!=(p|0))}p=c[f>>2]|0;if(p|0){if(a[k>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[p+-4>>2]|0)}c[f>>2]=0}a[k>>0]=1;c[f>>2]=o;c[m>>2]=2;Oi(j);c[e+136>>2]=j;c[e+188>>2]=0;c[e+180>>2]=0;c[e+184>>2]=0;j=e+124|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[4350]=(c[4350]|0)+1;j=Tr(223)|0;if(!j)q=0;else{m=j+4+15&-16;c[m+-4>>2]=j;q=m}c[q>>2]=2864;a[q+20>>0]=1;c[q+16>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;a[q+40>>0]=1;c[q+36>>2]=0;c[q+28>>2]=0;c[q+32>>2]=0;a[q+60>>0]=1;c[q+56>>2]=0;c[q+48>>2]=0;c[q+52>>2]=0;a[q+80>>0]=1;c[q+76>>2]=0;c[q+68>>2]=0;c[q+72>>2]=0;a[q+100>>0]=1;c[q+96>>2]=0;c[q+88>>2]=0;c[q+92>>2]=0;a[q+120>>0]=1;c[q+116>>2]=0;c[q+108>>2]=0;c[q+112>>2]=0;a[q+140>>0]=1;c[q+136>>2]=0;c[q+128>>2]=0;c[q+132>>2]=0;a[q+160>>0]=1;c[q+156>>2]=0;c[q+148>>2]=0;c[q+152>>2]=0;a[q+180>>0]=1;c[q+176>>2]=0;c[q+168>>2]=0;c[q+172>>2]=0;c[q+192>>2]=12;c[q+196>>2]=13;c[q+200>>2]=0;while(1){r=Tr(92)|0;if(r|0)break;m=c[4479]|0;c[4479]=m+0;if(!m){h=22;break}bc[m&3]()}if((h|0)==22){m=Va(4)|0;c[m>>2]=6852;lb(m|0,2112,190)}c[r>>2]=4068;c[4350]=(c[4350]|0)+1;m=Tr(379)|0;if(!m)s=0;else{j=m+4+15&-16;c[j+-4>>2]=m;s=j}g[s+308>>2]=9.999999747378752e-05;j=s+332|0;a[j>>0]=a[j>>0]&-16;j=r+24|0;c[j>>2]=s;c[4350]=(c[4350]|0)+1;s=Tr(23)|0;if(!s)t=0;else{m=s+4+15&-16;c[m+-4>>2]=s;t=m}c[t>>2]=5924;m=r+28|0;c[m>>2]=t;c[4350]=(c[4350]|0)+1;t=Tr(43)|0;if(!t)u=0;else{s=t+4+15&-16;c[s+-4>>2]=t;u=s}s=c[j>>2]|0;j=c[m>>2]|0;a[u+4>>0]=0;c[u>>2]=6428;c[u+16>>2]=0;c[u+20>>2]=3;c[u+12>>2]=s;c[u+8>>2]=j;c[r+32>>2]=u;c[4350]=(c[4350]|0)+1;u=Tr(27)|0;if(!u)v=0;else{j=u+4+15&-16;c[j+-4>>2]=u;v=j}a[v+4>>0]=0;c[v>>2]=4100;c[r+36>>2]=v;c[4350]=(c[4350]|0)+1;v=Tr(27)|0;if(!v)w=0;else{j=v+4+15&-16;c[j+-4>>2]=v;w=j}a[w+4>>0]=0;c[w>>2]=4120;c[r+40>>2]=w;c[4350]=(c[4350]|0)+1;w=Tr(27)|0;if(!w)x=0;else{j=w+4+15&-16;c[j+-4>>2]=w;x=j}a[x+4>>0]=0;c[x>>2]=4140;c[r+44>>2]=x;c[4350]=(c[4350]|0)+1;x=Tr(27)|0;if(!x)y=0;else{j=x+4+15&-16;c[j+-4>>2]=x;y=j}a[y+4>>0]=0;c[y>>2]=4160;c[r+48>>2]=y;c[4350]=(c[4350]|0)+1;y=Tr(27)|0;if(!y)z=0;else{j=y+4+15&-16;c[j+-4>>2]=y;z=j}a[z+4>>0]=0;c[z>>2]=4180;c[r+52>>2]=z;c[4350]=(c[4350]|0)+1;z=Tr(27)|0;if(!z)A=0;else{j=z+4+15&-16;c[j+-4>>2]=z;A=j}a[A+4>>0]=0;c[A>>2]=4200;c[r+56>>2]=A;c[4350]=(c[4350]|0)+1;A=Tr(27)|0;if(!A)B=0;else{j=A+4+15&-16;c[j+-4>>2]=A;B=j}a[B+4>>0]=0;c[B>>2]=4220;c[r+60>>2]=B;c[4350]=(c[4350]|0)+1;B=Tr(27)|0;if(!B)C=0;else{j=B+4+15&-16;c[j+-4>>2]=B;C=j}a[C+4>>0]=0;c[C>>2]=4240;c[r+76>>2]=C;c[4350]=(c[4350]|0)+1;C=Tr(27)|0;if(!C)D=0;else{j=C+4+15&-16;c[j+-4>>2]=C;D=j}c[D>>2]=4240;c[r+80>>2]=D;a[D+4>>0]=1;c[4350]=(c[4350]|0)+1;D=Tr(27)|0;if(!D)E=0;else{j=D+4+15&-16;c[j+-4>>2]=D;E=j}a[E+4>>0]=0;c[E>>2]=4260;c[r+72>>2]=E;c[4350]=(c[4350]|0)+1;E=Tr(35)|0;if(!E)F=0;else{j=E+4+15&-16;c[j+-4>>2]=E;F=j}a[F+4>>0]=0;c[F>>2]=4280;c[F+8>>2]=1;c[F+12>>2]=0;c[r+88>>2]=F;c[4350]=(c[4350]|0)+1;F=Tr(35)|0;if(!F)G=0;else{j=F+4+15&-16;c[j+-4>>2]=F;G=j}c[G>>2]=4280;c[G+8>>2]=1;c[G+12>>2]=0;c[r+84>>2]=G;a[G+4>>0]=1;a[r+12>>0]=1;c[4350]=(c[4350]|0)+1;G=Tr(39)|0;if(!G)H=0;else{j=G+4+15&-16;c[j+-4>>2]=G;H=j}c[H>>2]=772;j=H+4|0;c[j>>2]=4096;c[4350]=(c[4350]|0)+1;G=Tr(3162131)|0;if(!G)I=0;else{F=G+4+15&-16;c[F+-4>>2]=G;I=F}c[H+16>>2]=I;c[H+12>>2]=I;F=c[j>>2]|0;c[H+8>>2]=F;j=F+-1|0;if(!j)J=I;else{F=c[H>>2]|0;G=j;E=I;do{D=E;E=E+F|0;c[D>>2]=E;G=G+-1|0}while((G|0)!=0);J=I+(_(F,j)|0)|0}c[J>>2]=0;c[r+8>>2]=H;a[r+20>>0]=1;c[4350]=(c[4350]|0)+1;H=Tr(39)|0;if(!H)K=0;else{J=H+4+15&-16;c[J+-4>>2]=H;K=J}c[K>>2]=80;J=K+4|0;c[J>>2]=4096;c[4350]=(c[4350]|0)+1;H=Tr(327699)|0;if(!H)L=0;else{j=H+4+15&-16;c[j+-4>>2]=H;L=j}c[K+16>>2]=L;c[K+12>>2]=L;j=c[J>>2]|0;c[K+8>>2]=j;J=j+-1|0;if(!J)M=L;else{j=c[K>>2]|0;H=J;F=L;do{I=F;F=F+j|0;c[I>>2]=F;H=H+-1|0}while((H|0)!=0);M=L+(_(j,J)|0)|0}c[M>>2]=0;c[r+16>>2]=K;while(1){N=Tr(5260)|0;if(N|0)break;K=c[4479]|0;c[4479]=K+0;if(!K){h=73;break}bc[K&3]()}if((h|0)==73){h=Va(4)|0;c[h>>2]=6852;lb(h|0,2112,190)}c[N>>2]=3588;c[N+4>>2]=2;a[N+24>>0]=1;c[N+20>>2]=0;c[N+12>>2]=0;c[N+16>>2]=0;c[N+28>>2]=4372;h=N+5256|0;c[h>>2]=r;c[N+60>>2]=53;c[N+64>>2]=zb[c[(c[r>>2]|0)+12>>2]&127](r)|0;c[N+68>>2]=zb[c[(c[r>>2]|0)+8>>2]&127](r)|0;r=0;do{K=0;do{M=c[h>>2]|0;c[N+72+(r*144|0)+(K<<2)>>2]=Hb[c[(c[M>>2]|0)+16>>2]&31](M,r,K)|0;K=K+1|0}while((K|0)<36);r=r+1|0}while((r|0)<36);c[4350]=(c[4350]|0)+1;r=Tr(351)|0;if(!r)O=0;else{h=r+4+15&-16;c[h+-4>>2]=r;O=h}c[O>>2]=3716;a[O+20>>0]=1;c[O+16>>2]=0;c[O+8>>2]=0;c[O+12>>2]=0;c[O+24>>2]=N;g[O+28>>2]=0.0;c[O+32>>2]=0;c[O+36>>2]=1;g[O+40>>2]=1.0;a[O+44>>0]=1;c[O+48>>2]=0;a[O+52>>0]=0;a[O+53>>0]=1;a[O+54>>0]=1;g[O+56>>2]=.03999999910593033;a[O+60>>0]=0;g[O+64>>2]=0.0;c[O+68>>2]=e;c[O+72>>2]=0;a[O+76>>0]=1;c[O+80>>2]=0;c[O+84>>2]=0;c[O+88>>2]=0;g[O+92>>2]=.6000000238418579;g[O+96>>2]=1.0;g[O+100>>2]=.30000001192092896;g[O+104>>2]=.01666666753590107;g[O+108>>2]=0.0;g[O+116>>2]=20.0;c[O+112>>2]=10;g[O+124>>2]=.20000000298023224;g[O+128>>2]=.800000011920929;g[O+132>>2]=0.0;g[O+120>>2]=1.0;c[O+136>>2]=1;g[O+140>>2]=-.03999999910593033;g[O+144>>2]=.10000000149011612;g[O+148>>2]=0.0;g[O+152>>2]=.8500000238418579;c[O+156>>2]=260;c[O+160>>2]=2;c[O+164>>2]=128;g[O+168>>2]=100.0;g[O+172>>2]=1000000015047466219876688.0e6;c[O>>2]=2924;a[O+192>>0]=1;c[O+188>>2]=0;c[O+180>>2]=0;c[O+184>>2]=0;e=O+196|0;c[e>>2]=0;h=O+200|0;c[h>>2]=q;a[O+224>>0]=1;c[O+220>>2]=0;c[O+212>>2]=0;c[O+216>>2]=0;a[O+244>>0]=1;c[O+240>>2]=0;c[O+232>>2]=0;c[O+236>>2]=0;c[O+248>>2]=0;c[O+252>>2]=-1054867456;r=O+256|0;a[O+274>>0]=0;a[O+275>>0]=0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;a[O+292>>0]=1;c[O+288>>2]=0;c[O+280>>2]=0;c[O+284>>2]=0;c[O+296>>2]=0;a[O+300>>0]=1;a[O+320>>0]=1;c[O+316>>2]=0;c[O+308>>2]=0;c[O+312>>2]=0;if(!q){c[4350]=(c[4350]|0)+1;q=Tr(223)|0;if(!q)P=0;else{r=q+4+15&-16;c[r+-4>>2]=q;P=r}c[P>>2]=2864;a[P+20>>0]=1;c[P+16>>2]=0;c[P+8>>2]=0;c[P+12>>2]=0;a[P+40>>0]=1;c[P+36>>2]=0;c[P+28>>2]=0;c[P+32>>2]=0;a[P+60>>0]=1;c[P+56>>2]=0;c[P+48>>2]=0;c[P+52>>2]=0;a[P+80>>0]=1;c[P+76>>2]=0;c[P+68>>2]=0;c[P+72>>2]=0;a[P+100>>0]=1;c[P+96>>2]=0;c[P+88>>2]=0;c[P+92>>2]=0;a[P+120>>0]=1;c[P+116>>2]=0;c[P+108>>2]=0;c[P+112>>2]=0;a[P+140>>0]=1;c[P+136>>2]=0;c[P+128>>2]=0;c[P+132>>2]=0;a[P+160>>0]=1;c[P+156>>2]=0;c[P+148>>2]=0;c[P+152>>2]=0;a[P+180>>0]=1;c[P+176>>2]=0;c[P+168>>2]=0;c[P+172>>2]=0;c[P+192>>2]=12;c[P+196>>2]=13;c[P+200>>2]=0;c[h>>2]=P;a[O+273>>0]=1}else a[O+273>>0]=0;c[4350]=(c[4350]|0)+1;P=Tr(87)|0;if(!P)Q=0;else{r=P+4+15&-16;c[r+-4>>2]=P;Q=r}c[Q>>2]=4400;a[Q+20>>0]=1;c[Q+16>>2]=0;c[Q+8>>2]=0;c[Q+12>>2]=0;a[Q+40>>0]=1;c[Q+36>>2]=0;c[Q+28>>2]=0;c[Q+32>>2]=0;a[Q+60>>0]=1;c[Q+56>>2]=0;c[Q+48>>2]=0;c[Q+52>>2]=0;a[Q+64>>0]=1;c[O+204>>2]=Q;a[O+272>>0]=1;c[4350]=(c[4350]|0)+1;Q=Tr(107)|0;if(!Q){R=0;S=c[h>>2]|0;c[R>>2]=3164;T=R+4|0;c[T>>2]=0;U=R+8|0;c[U>>2]=S;V=R+12|0;c[V>>2]=0;W=R+16|0;c[W>>2]=0;X=R+20|0;c[X>>2]=0;Y=R+24|0;c[Y>>2]=N;Z=R+44|0;a[Z>>0]=1;$=R+40|0;c[$>>2]=0;aa=R+32|0;c[aa>>2]=0;ba=R+36|0;c[ba>>2]=0;ca=R+64|0;a[ca>>0]=1;da=R+60|0;c[da>>2]=0;ea=R+52|0;c[ea>>2]=0;fa=R+56|0;c[fa>>2]=0;ga=R+84|0;a[ga>>0]=1;ha=R+80|0;c[ha>>2]=0;ia=R+72|0;c[ia>>2]=0;ja=R+76|0;c[ja>>2]=0;c[e>>2]=R;c[O>>2]=2328;c[4168]=O;c[d>>2]=0;ka=d+4|0;c[ka>>2]=0;la=d+8|0;c[la>>2]=-1054867456;ma=d+12|0;g[ma>>2]=0.0;$g(O,d);i=b;return}r=Q+4+15&-16;c[r+-4>>2]=Q;R=r;S=c[h>>2]|0;c[R>>2]=3164;T=R+4|0;c[T>>2]=0;U=R+8|0;c[U>>2]=S;V=R+12|0;c[V>>2]=0;W=R+16|0;c[W>>2]=0;X=R+20|0;c[X>>2]=0;Y=R+24|0;c[Y>>2]=N;Z=R+44|0;a[Z>>0]=1;$=R+40|0;c[$>>2]=0;aa=R+32|0;c[aa>>2]=0;ba=R+36|0;c[ba>>2]=0;ca=R+64|0;a[ca>>0]=1;da=R+60|0;c[da>>2]=0;ea=R+52|0;c[ea>>2]=0;fa=R+56|0;c[fa>>2]=0;ga=R+84|0;a[ga>>0]=1;ha=R+80|0;c[ha>>2]=0;ia=R+72|0;c[ia>>2]=0;ja=R+76|0;c[ja>>2]=0;c[e>>2]=R;c[O>>2]=2328;c[4168]=O;c[d>>2]=0;ka=d+4|0;c[ka>>2]=0;la=d+8|0;c[la>>2]=-1054867456;ma=d+12|0;g[ma>>2]=0.0;$g(O,d);i=b;return}function pc(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+32|0;d=b+16|0;e=b+8|0;$a(a|0)|0;if(hb(17908,3)|0)_r(16159,b);b=eb(c[4478]|0)|0;if((b|0?(a=c[b>>2]|0,a|0):0)?(b=a+48|0,(c[b>>2]&-256|0)==1126902528?(c[b+4>>2]|0)==1129074247:0):0){bc[c[a+12>>2]&3]();_r(16483,e)}e=c[1690]|0;c[1690]=e+0;bc[e&3]();_r(16483,d)}function qc(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0;a=c[4168]|0;b=zb[c[(c[a>>2]|0)+104>>2]&127](a)|0;if((b|0)>0){a=b;do{b=a;a=a+-1|0;d=c[4168]|0;e=Rb[c[(c[d>>2]|0)+108>>2]&31](d,a)|0;d=c[4168]|0;xb[c[(c[d>>2]|0)+60>>2]&127](d,e);if(e|0)vb[c[(c[e>>2]|0)+4>>2]&255](e)}while((b|0)>1)}a=c[4168]|0;b=c[a+8>>2]|0;if((b|0)>0){e=a;d=b;while(1){b=d;d=d+-1|0;f=c[(c[e+16>>2]|0)+(d<<2)>>2]|0;rc(c[f+192>>2]|0);g=c[4168]|0;xb[c[(c[g>>2]|0)+40>>2]&127](g,f);if(f|0)vb[c[(c[f>>2]|0)+4>>2]&255](f);f=c[4168]|0;if((b|0)<=1){h=f;break}else e=f}}else h=a;a=c[h+68>>2]|0;e=zb[c[(c[h>>2]|0)+100>>2]&127](h)|0;h=c[4168]|0;d=c[h+24>>2]|0;f=c[d+5256>>2]|0;if(h|0)vb[c[(c[h>>2]|0)+4>>2]&255](h);if(d|0)vb[c[(c[d>>2]|0)+4>>2]&255](d);if(f|0)vb[c[(c[f>>2]|0)+4>>2]&255](f);if(e|0)vb[c[(c[e>>2]|0)+4>>2]&255](e);if(!a){c[4168]=0;return}vb[c[(c[a>>2]|0)+4>>2]&255](a);c[4168]=0;return}function rc(a){a=a|0;var b=0,d=0,e=0,f=0;if((c[a+4>>2]|0)==31?(b=c[a+20>>2]|0,(b|0)>0):0){d=a+28|0;e=b;do{b=e;e=e+-1|0;f=c[(c[d>>2]|0)+(e*80|0)+64>>2]|0;xb[c[(c[a>>2]|0)+64>>2]&127](a,f);rc(f)}while((b|0)>1)}vb[c[(c[a>>2]|0)+4>>2]&255](a);return}function sc(a){a=a|0;return Tr(a<<2)|0}function tc(a){a=a|0;return Tr(a<<2)|0}function uc(a){a=a|0;return Tr(a<<2)|0}function vc(a,b,d){a=a|0;b=b|0;d=d|0;c[a+(d<<2)>>2]=b;return}function wc(a){a=a|0;Ur(a);return}function xc(){var a=0,b=0,d=0;while(1){a=Tr(4)|0;if(a|0){b=6;break}d=c[4479]|0;c[4479]=d+0;if(!d){b=5;break}bc[d&3]()}if((b|0)==5){d=Va(4)|0;c[d>>2]=6852;lb(d|0,2112,190)}else if((b|0)==6)return a|0;return 0}function yc(a){a=a|0;return c[a>>2]|0}function zc(a){a=+a;var b=0;b=Tr(4)|0;g[b>>2]=a;return b|0}function Ac(a,b,c){a=+a;b=+b;c=+c;var d=0;d=Tr(12)|0;g[d>>2]=a;g[d+4>>2]=b;g[d+8>>2]=c;return d|0}function Bc(a,b,c,d){a=+a;b=+b;c=+c;d=+d;var e=0;e=Tr(16)|0;g[e>>2]=a;g[e+4>>2]=b;g[e+8>>2]=c;g[e+12>>2]=d;return e|0}function Cc(a,b,c,d,e,f){a=+a;b=+b;c=+c;d=+d;e=+e;f=+f;var h=0;h=Tr(24)|0;g[h>>2]=a;g[h+4>>2]=b;g[h+8>>2]=c;g[h+12>>2]=d;g[h+16>>2]=e;g[h+20>>2]=f;return h|0}function Dc(b,d,e,f){b=b|0;d=d|0;e=+e;f=+f;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i;i=i+160|0;j=h+144|0;k=h;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;l=c[d>>2]|0;m=c[d+4>>2]|0;n=c[d+8>>2]|0;g[k>>2]=0.0;c[k+4>>2]=0;c[k+72>>2]=b;b=k+76|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;g[k+100>>2]=.5;g[k+104>>2]=0.0;g[k+108>>2]=0.0;g[k+112>>2]=.800000011920929;g[k+116>>2]=1.0;a[k+120>>0]=0;g[k+124>>2]=.004999999888241291;g[k+128>>2]=.009999999776482582;g[k+132>>2]=.009999999776482582;g[k+136>>2]=.009999999776482582;c[k+8>>2]=1065353216;b=k+12|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[k+28>>2]=1065353216;b=k+32|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[k+48>>2]=1065353216;b=k+52|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[4350]=(c[4350]|0)+1;b=Tr(659)|0;if(!b)o=0;else{d=b+4+15&-16;c[d+-4>>2]=b;o=d}Qh(o,k);k=o+284|0;d=c[k>>2]|0;g[o+224>>2]=e;g[o+228>>2]=f;c[k>>2]=d+3;c[o+4>>2]=1065353216;d=o+8|0;c[d>>2]=c[j>>2];c[d+4>>2]=c[j+4>>2];c[d+8>>2]=c[j+8>>2];c[o+20>>2]=0;c[o+24>>2]=1065353216;j=o+28|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[o+44>>2]=1065353216;g[o+48>>2]=0.0;c[o+52>>2]=l;c[o+56>>2]=m;c[o+60>>2]=n;g[o+64>>2]=0.0;i=h;return o|0}function Ec(d,e,f,h){d=d|0;e=e|0;f=f|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;j=i;i=i+48|0;k=j+32|0;l=j+16|0;m=j;n=(d|0)/3|0;d=(f|0)/3|0;c[4350]=(c[4350]|0)+1;f=Tr(103)|0;if(!f)o=0;else{p=f+4+15&-16;c[p+-4>>2]=f;o=p}c[o+4>>2]=1065353216;c[o+8>>2]=1065353216;c[o+12>>2]=1065353216;g[o+16>>2]=0.0;c[o>>2]=5664;p=o+36|0;a[p>>0]=1;f=o+32|0;c[f>>2]=0;q=o+24|0;c[q>>2]=0;r=o+28|0;c[r>>2]=0;c[o+48>>2]=0;c[4350]=(c[4350]|0)+1;s=Tr(51)|0;if(!s)t=0;else{u=s+4+15&-16;c[u+-4>>2]=s;t=u}u=c[q>>2]|0;if((u|0)>0){s=0;do{v=t+(s<<5)|0;w=(c[f>>2]|0)+(s<<5)|0;c[v>>2]=c[w>>2];c[v+4>>2]=c[w+4>>2];c[v+8>>2]=c[w+8>>2];c[v+12>>2]=c[w+12>>2];c[v+16>>2]=c[w+16>>2];c[v+20>>2]=c[w+20>>2];c[v+24>>2]=c[w+24>>2];c[v+28>>2]=c[w+28>>2];s=s+1|0}while((s|0)!=(u|0))}u=c[f>>2]|0;if(u|0){if(a[p>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[u+-4>>2]|0)}c[f>>2]=0}a[p>>0]=1;c[f>>2]=t;c[r>>2]=1;r=c[q>>2]|0;c[t+(r<<5)>>2]=n;c[t+(r<<5)+4>>2]=e;c[t+(r<<5)+8>>2]=12;c[t+(r<<5)+12>>2]=d;c[t+(r<<5)+16>>2]=h;c[t+(r<<5)+20>>2]=12;c[t+(r<<5)+24>>2]=2;c[t+(r<<5)+28>>2]=0;r=c[q>>2]|0;c[q>>2]=r+1;c[(c[f>>2]|0)+(r<<5)+24>>2]=2;c[4350]=(c[4350]|0)+1;r=Tr(99)|0;if(!r)x=0;else{f=r+4+15&-16;c[f+-4>>2]=r;x=f}f=x+4|0;c[x+8>>2]=0;c[x+12>>2]=-1;r=x+16|0;g[r>>2]=0.0;c[x>>2]=5732;q=x+20|0;t=x+36|0;h=x+52|0;c[h>>2]=o;c[f>>2]=21;if(zb[c[(c[o>>2]|0)+40>>2]&127](o)|0)ac[c[(c[o>>2]|0)+48>>2]&63](o,q,t);else{o=k+4|0;d=k+8|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;g[k>>2]=1.0;ac[c[(c[x>>2]|0)+68>>2]&63](l,x,k);g[t>>2]=+g[l>>2]+ +g[r>>2];g[k>>2]=-1.0;ac[c[(c[x>>2]|0)+68>>2]&63](m,x,k);c[l>>2]=c[m>>2];c[l+4>>2]=c[m+4>>2];c[l+8>>2]=c[m+8>>2];c[l+12>>2]=c[m+12>>2];g[q>>2]=+g[l>>2]-+g[r>>2];c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;g[o>>2]=1.0;ac[c[(c[x>>2]|0)+68>>2]&63](l,x,k);e=l+4|0;g[x+40>>2]=+g[e>>2]+ +g[r>>2];g[o>>2]=-1.0;ac[c[(c[x>>2]|0)+68>>2]&63](m,x,k);c[l>>2]=c[m>>2];c[l+4>>2]=c[m+4>>2];c[l+8>>2]=c[m+8>>2];c[l+12>>2]=c[m+12>>2];g[x+24>>2]=+g[e>>2]-+g[r>>2];c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;g[d>>2]=1.0;ac[c[(c[x>>2]|0)+68>>2]&63](l,x,k);e=l+8|0;g[x+44>>2]=+g[e>>2]+ +g[r>>2];g[d>>2]=-1.0;ac[c[(c[x>>2]|0)+68>>2]&63](m,x,k);c[l>>2]=c[m>>2];c[l+4>>2]=c[m+4>>2];c[l+8>>2]=c[m+8>>2];c[l+12>>2]=c[m+12>>2];g[x+28>>2]=+g[e>>2]-+g[r>>2]}c[x>>2]=4636;r=x+56|0;c[r>>2]=0;c[r+4>>2]=0;b[r+8>>1]=0;c[f>>2]=21;c[4350]=(c[4350]|0)+1;f=Tr(191)|0;if(!f)y=0;else{e=f+4+15&-16;c[e+-4>>2]=f;y=e}c[y+52>>2]=283;a[y+60>>0]=0;a[y+80>>0]=1;c[y+76>>2]=0;c[y+68>>2]=0;c[y+72>>2]=0;a[y+100>>0]=1;c[y+96>>2]=0;c[y+88>>2]=0;c[y+92>>2]=0;a[y+120>>0]=1;c[y+116>>2]=0;c[y+108>>2]=0;c[y+112>>2]=0;a[y+140>>0]=1;c[y+136>>2]=0;c[y+128>>2]=0;c[y+132>>2]=0;c[y+144>>2]=0;a[y+164>>0]=1;c[y+160>>2]=0;c[y+152>>2]=0;c[y+156>>2]=0;c[y+168>>2]=0;c[y+4>>2]=-8388609;c[y+8>>2]=-8388609;c[y+12>>2]=-8388609;g[y+16>>2]=0.0;c[y+20>>2]=2139095039;c[y+24>>2]=2139095039;c[y+28>>2]=2139095039;g[y+32>>2]=0.0;c[y>>2]=5352;c[r>>2]=y;Zn(y,c[h>>2]|0,(a[x+64>>0]|0)!=0,q,t);a[x+65>>0]=1;i=j;return x|0}function Fc(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=i;i=i+16|0;f=e;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;h=c[d>>2]|0;j=c[d+4>>2]|0;k=c[d+8>>2]|0;c[4350]=(c[4350]|0)+1;d=Tr(327)|0;if(!d)l=0;else{m=d+4+15&-16;c[m+-4>>2]=d;l=m}c[l+164>>2]=1065353216;c[l+168>>2]=1065353216;c[l+172>>2]=1065353216;g[l+176>>2]=0.0;c[l+180>>2]=0;g[l+184>>2]=999999984306749440.0;m=l+188|0;d=l+204|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[d>>2]=1;c[l+208>>2]=-1;c[l+212>>2]=-1;c[l+216>>2]=1;g[l+220>>2]=0.0;g[l+224>>2]=.5;g[l+228>>2]=0.0;g[l+232>>2]=0.0;c[l+240>>2]=0;c[l+244>>2]=-1;g[l+248>>2]=1.0;g[l+252>>2]=0.0;g[l+256>>2]=0.0;c[l+260>>2]=0;a[l+280>>0]=1;c[l+276>>2]=0;c[l+268>>2]=0;c[l+272>>2]=0;m=l+8|0;n=l+24|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[n>>2]=1065353216;o=l+28|0;p=l+44|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[p>>2]=1065353216;q=l+48|0;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[l>>2]=4328;a[l+304>>0]=1;c[l+300>>2]=0;c[l+292>>2]=0;c[l+296>>2]=0;c[l+236>>2]=4;c[l+284>>2]=1;c[l+4>>2]=1065353216;c[m>>2]=c[f>>2];c[m+4>>2]=c[f+4>>2];c[m+8>>2]=c[f+8>>2];c[l+20>>2]=0;c[n>>2]=1065353216;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[p>>2]=1065353216;g[q>>2]=0.0;c[l+52>>2]=h;c[l+56>>2]=j;c[l+60>>2]=k;g[l+64>>2]=0.0;Lh(l,b);c[d>>2]=4;i=e;return l|0}function Gc(a,b,d,e,f,h){a=+a;b=+b;d=+d;e=+e;f=+f;h=+h;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0.0,v=0,w=0,x=0.0,y=0;j=i;i=i+16|0;k=j;c[4350]=(c[4350]|0)+1;l=Tr(79)|0;if(!l)m=0;else{n=l+4+15&-16;c[n+-4>>2]=l;m=n}g[k>>2]=a;n=k+4|0;g[n>>2]=b;l=k+8|0;g[l>>2]=d;g[k+12>>2]=0.0;c[m+8>>2]=0;c[m+12>>2]=-1;o=m+16|0;c[o>>2]=1065353216;p=m+20|0;c[p>>2]=1065353216;q=m+24|0;c[q>>2]=1065353216;g[m+28>>2]=0.0;r=m+48|0;g[r>>2]=.03999999910593033;c[m+56>>2]=0;c[m>>2]=4500;c[m+4>>2]=0;d=+g[k>>2];b=+g[n>>2];a=+g[l>>2];s=+g[k+((d<b?(d<a?0:2):b<a?1:2)<<2)>>2]*.10000000149011612;if(s<.03999999910593033){a=+Ol(m);b=+Kb[c[(c[m>>2]|0)+48>>2]&7](m);d=+Kb[c[(c[m>>2]|0)+48>>2]&7](m);t=m+32|0;u=a+ +g[t>>2];v=m+36|0;a=b+ +g[v>>2];w=m+40|0;b=d+ +g[w>>2];g[r>>2]=s;s=+Kb[c[(c[m>>2]|0)+48>>2]&7](m);d=+Kb[c[(c[m>>2]|0)+48>>2]&7](m);x=b-+Kb[c[(c[m>>2]|0)+48>>2]&7](m);g[t>>2]=u-s;g[v>>2]=a-d;g[w>>2]=x;g[m+44>>2]=0.0;y=c[m>>2]|0}else y=4500;x=+Kb[c[y+48>>2]&7](m);d=+Kb[c[(c[m>>2]|0)+48>>2]&7](m);a=+Kb[c[(c[m>>2]|0)+48>>2]&7](m);s=+g[n>>2]*+g[p>>2]-d;d=+g[l>>2]*+g[q>>2]-a;g[m+32>>2]=+g[k>>2]*+g[o>>2]-x;g[m+36>>2]=s;g[m+40>>2]=d;g[m+44>>2]=0.0;o=Hc(m,e,f,h)|0;i=j;return o|0}function Hc(a,b,d,e){a=a|0;b=+b;d=+d;e=+e;var f=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+64|0;h=f;if((!(+N(+b)>.01)?!(+N(+d)>.01):0)?!(+N(+e)>.01):0){j=a;i=f;return j|0}c[4350]=(c[4350]|0)+1;k=Tr(115)|0;if(!k)l=0;else{m=k+4+15&-16;c[m+-4>>2]=k;l=m}$m(l,1);c[h>>2]=1065353216;m=h+4|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[h+20>>2]=1065353216;m=h+24|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[h+40>>2]=1065353216;m=h+44|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;g[h+48>>2]=b;g[h+52>>2]=d;g[h+56>>2]=e;g[h+60>>2]=0.0;an(l,h,a);j=l;i=f;return j|0}function Ic(){var a=0,b=0,d=0;c[4350]=(c[4350]|0)+1;a=Tr(115)|0;if(!a)b=0;else{d=a+4+15&-16;c[d+-4>>2]=a;b=d}$m(b,1);return b|0}function Jc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=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,y=0.0,z=0.0,A=0.0;f=i;i=i+64|0;h=f;c[h>>2]=1065353216;j=h+4|0;k=h+20|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[k>>2]=1065353216;l=h+24|0;m=h+40|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[m>>2]=1065353216;n=h+44|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;o=c[b+4>>2]|0;p=c[b+8>>2]|0;c[h+48>>2]=c[b>>2];c[h+52>>2]=o;c[h+56>>2]=p;g[h+60>>2]=0.0;if(!d){an(a,h,e);i=f;return}q=+g[d>>2];r=+g[d+4>>2];s=+g[d+8>>2];t=+g[d+12>>2];u=2.0/(q*q+r*r+s*s+t*t);v=q*u;w=r*u;x=s*u;u=t*v;y=t*w;z=t*x;t=q*v;v=q*w;A=q*x;q=r*w;w=r*x;r=s*x;g[h>>2]=1.0-(q+r);g[j>>2]=v-z;g[h+8>>2]=A+y;g[h+12>>2]=0.0;g[h+16>>2]=v+z;g[k>>2]=1.0-(t+r);g[l>>2]=w-u;g[h+28>>2]=0.0;g[h+32>>2]=A-y;g[h+36>>2]=w+u;g[m>>2]=1.0-(t+q);g[n>>2]=0.0;an(a,h,e);i=f;return}function Kc(a,b,d,e,f,h){a=+a;b=+b;d=+d;e=+e;f=+f;h=+h;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.0,v=0,w=0.0,x=0,y=0,z=0.0,A=0;j=i;i=i+16|0;k=j;c[4350]=(c[4350]|0)+1;l=Tr(79)|0;if(!l)m=0;else{n=l+4+15&-16;c[n+-4>>2]=l;m=n}g[k>>2]=a;n=k+4|0;g[n>>2]=b;l=k+8|0;g[l>>2]=d;g[k+12>>2]=0.0;o=m+4|0;c[o>>2]=35;c[m+8>>2]=0;c[m+12>>2]=-1;p=m+16|0;c[p>>2]=1065353216;q=m+20|0;c[q>>2]=1065353216;r=m+24|0;c[r>>2]=1065353216;g[m+28>>2]=0.0;s=m+48|0;g[s>>2]=.03999999910593033;c[m>>2]=5068;t=m+56|0;c[t>>2]=1;d=+g[k>>2];b=+g[n>>2];a=+g[l>>2];u=+g[k+((d<b?(d<a?0:2):b<a?1:2)<<2)>>2]*.10000000149011612;if(u<.03999999910593033){a=+Ol(m);b=+Kb[c[(c[m>>2]|0)+48>>2]&7](m);d=+Kb[c[(c[m>>2]|0)+48>>2]&7](m);v=m+32|0;w=a+ +g[v>>2];x=m+36|0;a=b+ +g[x>>2];y=m+40|0;b=d+ +g[y>>2];g[s>>2]=u;u=+Kb[c[(c[m>>2]|0)+48>>2]&7](m);d=+Kb[c[(c[m>>2]|0)+48>>2]&7](m);z=b-+Kb[c[(c[m>>2]|0)+48>>2]&7](m);g[v>>2]=w-u;g[x>>2]=a-d;g[y>>2]=z;g[m+44>>2]=0.0;A=c[m>>2]|0}else A=5068;z=+Kb[c[A+48>>2]&7](m);d=+Kb[c[(c[m>>2]|0)+48>>2]&7](m);a=+Kb[c[(c[m>>2]|0)+48>>2]&7](m);u=+g[n>>2]*+g[q>>2]-d;d=+g[l>>2]*+g[r>>2]-a;g[m+32>>2]=+g[k>>2]*+g[p>>2]-z;g[m+36>>2]=u;g[m+40>>2]=d;g[m+44>>2]=0.0;c[o>>2]=13;c[m>>2]=5172;c[t>>2]=2;t=Hc(m,e,f,h)|0;i=j;return t|0}function Lc(a,b,d,e,f){a=+a;b=+b;d=+d;e=+e;f=+f;var h=0,i=0,j=0;c[4350]=(c[4350]|0)+1;h=Tr(99)|0;if(!h)i=0;else{j=h+4+15&-16;c[j+-4>>2]=h;i=j}c[i+8>>2]=0;c[i+12>>2]=-1;c[i+16>>2]=1065353216;c[i+20>>2]=1065353216;c[i+24>>2]=1065353216;g[i+28>>2]=0.0;g[i+48>>2]=.03999999910593033;g[i+60>>2]=a;g[i+64>>2]=b;c[i+4>>2]=11;g[i+56>>2]=a/+O(+(a*a+b*b));c[i>>2]=4968;c[i+68>>2]=0;c[i+72>>2]=2;c[i+76>>2]=1;g[i+32>>2]=a;g[i+40>>2]=b;g[i+36>>2]=a;return Hc(i,d,e,f)|0}function Mc(a,b,d,e){a=+a;b=+b;d=+d;e=+e;var f=0,h=0,i=0;c[4350]=(c[4350]|0)+1;f=Tr(75)|0;if(!f)h=0;else{i=f+4+15&-16;c[i+-4>>2]=f;h=i}c[h+8>>2]=0;c[h+12>>2]=-1;c[h+16>>2]=1065353216;c[h+20>>2]=1065353216;c[h+24>>2]=1065353216;g[h+28>>2]=0.0;c[h>>2]=5564;c[h+4>>2]=8;g[h+32>>2]=a;g[h+48>>2]=a;return Hc(h,b,d,e)|0}function Nc(a,b,d,e,f){a=+a;b=+b;d=+d;e=+e;f=+f;var h=0,i=0,j=0;c[4350]=(c[4350]|0)+1;h=Tr(79)|0;if(!h)i=0;else{j=h+4+15&-16;c[j+-4>>2]=h;i=j}c[i+8>>2]=0;c[i+12>>2]=-1;c[i+16>>2]=1065353216;c[i+20>>2]=1065353216;c[i+24>>2]=1065353216;g[i+28>>2]=0.0;g[i+48>>2]=.03999999910593033;c[i+4>>2]=10;c[i>>2]=4788;c[i+56>>2]=2;g[i+32>>2]=a;g[i+36>>2]=a;g[i+40>>2]=b*.5;g[i+44>>2]=0.0;return Hc(i,d,e,f)|0}function Oc(){var a=0,b=0,d=0;c[4350]=(c[4350]|0)+1;a=Tr(55)|0;if(!a)b=0;else{d=a+4+15&-16;c[d+-4>>2]=a;b=d}c[b+8>>2]=0;c[b+12>>2]=-1;g[b+16>>2]=0.0;c[b>>2]=5276;c[b+4>>2]=27;return b|0}function Pc(a){a=a|0;var b=0;switch(c[(c[a+192>>2]|0)+4>>2]|0){case 0:{b=6904;break}case 8:{b=11908;break}case 10:{b=6908;break}case 11:{b=6916;break}case 13:{b=6921;break}case 21:{b=6930;break}case 27:{b=6944;break}case 31:{b=6950;break}default:b=6959}return b|0}function Qc(a,b,d,e){a=a|0;b=+b;d=+d;e=+e;var f=0;f=a+284|0;c[f>>2]=(c[f>>2]|0)+1;g[a+52>>2]=b;g[a+56>>2]=d;g[a+60>>2]=e;g[a+64>>2]=0.0;return}function Rc(a,b,d,e,f){a=a|0;b=+b;d=+d;e=+e;f=+f;var h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0;h=2.0/(b*b+d*d+e*e+f*f);i=h*b;j=h*d;k=h*e;h=i*f;l=j*f;m=k*f;f=i*b;i=j*b;n=k*b;b=j*d;j=k*d;d=k*e;o=a+284|0;c[o>>2]=(c[o>>2]|0)+1;g[a+4>>2]=1.0-(b+d);g[a+8>>2]=i-m;g[a+12>>2]=n+l;g[a+16>>2]=0.0;g[a+20>>2]=i+m;g[a+24>>2]=1.0-(f+d);g[a+28>>2]=j-h;g[a+32>>2]=0.0;g[a+36>>2]=n-l;g[a+40>>2]=j+h;g[a+44>>2]=1.0-(f+b);g[a+48>>2]=0.0;return}function Sc(a,b,d,e,f,h,i,j){a=a|0;b=+b;d=+d;e=+e;f=+f;h=+h;i=+i;j=+j;var k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0;k=2.0/(f*f+h*h+i*i+j*j);l=k*f;m=k*h;n=k*i;k=l*j;o=m*j;p=n*j;j=l*f;l=m*f;q=n*f;f=m*h;m=n*h;h=n*i;r=a+284|0;c[r>>2]=(c[r>>2]|0)+1;g[a+4>>2]=1.0-(f+h);g[a+8>>2]=l-p;g[a+12>>2]=q+o;g[a+16>>2]=0.0;g[a+20>>2]=l+p;g[a+24>>2]=1.0-(j+h);g[a+28>>2]=m-k;g[a+32>>2]=0.0;g[a+36>>2]=q-o;g[a+40>>2]=m+k;g[a+44>>2]=1.0-(j+f);g[a+48>>2]=0.0;g[a+52>>2]=b;g[a+56>>2]=d;g[a+60>>2]=e;g[a+64>>2]=0.0;return}function Tc(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+56>>2]|0;e=c[a+60>>2]|0;c[b>>2]=c[a+52>>2];c[b+4>>2]=d;c[b+8>>2]=e;return}function Uc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+80|0;f=e+16|0;g=e;h=a+4|0;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];h=f+16|0;j=a+20|0;c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];c[h+8>>2]=c[j+8>>2];c[h+12>>2]=c[j+12>>2];j=f+32|0;h=a+36|0;c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];c[j+8>>2]=c[h+8>>2];c[j+12>>2]=c[h+12>>2];h=f+48|0;j=a+52|0;c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];c[h+8>>2]=c[j+8>>2];c[h+12>>2]=c[j+12>>2];j=c[f+52>>2]|0;a=c[f+56>>2]|0;c[b>>2]=c[h>>2];c[b+4>>2]=j;c[b+8>>2]=a;Ae(f,g);c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2];i=e;return}function Vc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+80|0;h=g+16|0;j=g;k=a+68|0;c[h>>2]=c[k>>2];c[h+4>>2]=c[k+4>>2];c[h+8>>2]=c[k+8>>2];c[h+12>>2]=c[k+12>>2];k=h+16|0;l=a+84|0;c[k>>2]=c[l>>2];c[k+4>>2]=c[l+4>>2];c[k+8>>2]=c[l+8>>2];c[k+12>>2]=c[l+12>>2];l=h+32|0;k=a+100|0;c[l>>2]=c[k>>2];c[l+4>>2]=c[k+4>>2];c[l+8>>2]=c[k+8>>2];c[l+12>>2]=c[k+12>>2];k=h+48|0;l=a+116|0;c[k>>2]=c[l>>2];c[k+4>>2]=c[l+4>>2];c[k+8>>2]=c[l+8>>2];c[k+12>>2]=c[l+12>>2];l=c[h+52>>2]|0;m=c[h+56>>2]|0;c[b>>2]=c[k>>2];c[b+4>>2]=l;c[b+8>>2]=m;Ae(h,j);c[d>>2]=c[j>>2];c[d+4>>2]=c[j+4>>2];c[d+8>>2]=c[j+8>>2];c[d+12>>2]=c[j+12>>2];j=c[a+136>>2]|0;d=c[a+140>>2]|0;c[e>>2]=c[a+132>>2];c[e+4>>2]=j;c[e+8>>2]=d;d=c[a+152>>2]|0;e=c[a+156>>2]|0;c[f>>2]=c[a+148>>2];c[f+4>>2]=d;c[f+8>>2]=e;i=g;return}function Wc(a,b){a=a|0;b=+b;ub[c[(c[a>>2]|0)+44>>2]&31](a,b);return}function Xc(a){a=a|0;return +(+Kb[c[(c[a>>2]|0)+48>>2]&7](a))}function Yc(a,b){a=a|0;b=b|0;c[a+244>>2]=b;return}function Zc(a){a=a|0;return c[a+244>>2]|0}function _c(b,d,e,f,h,j,l,m,n,o,p,q){b=b|0;d=+d;e=e|0;f=f|0;h=+h;j=+j;l=+l;m=+m;n=+n;o=+o;p=+p;q=+q;var 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.0,G=0.0,H=0.0,I=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.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0;r=i;i=i+192|0;s=r+180|0;t=r+176|0;u=r+172|0;v=r+168|0;w=r+164|0;x=r+160|0;y=r+144|0;z=r;c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;c[y+12>>2]=0;A=c[e>>2]|0;B=c[e+4>>2]|0;C=c[e+8>>2]|0;if(!f){D=1065353216;E=1065353216;F=0.0;G=0.0;H=0.0;I=1065353216;J=0.0;K=0.0;L=0.0}else{M=+g[f>>2];N=+g[f+4>>2];O=+g[f+8>>2];P=+g[f+12>>2];Q=2.0/(M*M+N*N+O*O+P*P);R=M*Q;S=N*Q;T=O*Q;Q=P*R;U=P*S;V=P*T;P=M*R;R=M*S;W=M*T;M=N*S;S=N*T;N=O*T;f=(g[k>>2]=1.0-(M+N),c[k>>2]|0);e=(g[k>>2]=1.0-(P+N),c[k>>2]|0);D=f;E=e;F=S-Q;G=W-U;H=S+Q;I=(g[k>>2]=1.0-(P+M),c[k>>2]|0);J=R-V;K=W+U;L=R+V}if(d>0.0)Eb[c[(c[b>>2]|0)+32>>2]&15](b,d,y);g[z>>2]=d;c[z+4>>2]=0;c[z+72>>2]=b;b=z+76|0;c[b>>2]=c[y>>2];c[b+4>>2]=c[y+4>>2];c[b+8>>2]=c[y+8>>2];c[b+12>>2]=c[y+12>>2];g[z+92>>2]=0.0;g[z+96>>2]=0.0;g[z+100>>2]=.5;g[z+104>>2]=0.0;g[z+108>>2]=0.0;g[z+112>>2]=.800000011920929;g[z+116>>2]=1.0;a[z+120>>0]=0;g[z+124>>2]=.004999999888241291;g[z+128>>2]=.009999999776482582;g[z+132>>2]=.009999999776482582;g[z+136>>2]=.009999999776482582;c[z+8>>2]=1065353216;y=z+12|0;c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;c[y+12>>2]=0;c[z+28>>2]=1065353216;y=z+32|0;c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;c[y+12>>2]=0;c[z+48>>2]=1065353216;y=z+52|0;c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;c[y+12>>2]=0;c[y+16>>2]=0;c[4350]=(c[4350]|0)+1;y=Tr(659)|0;if(!y)X=0;else{b=y+4+15&-16;c[b+-4>>2]=y;X=b}Qh(X,z);g[X+496>>2]=.800000011920929;g[X+500>>2]=.5;g[s>>2]=h;g[t>>2]=j;g[u>>2]=0.0;g[v>>2]=1.0;c[X+468>>2]=c[(h<0.0?u:h>1.0?v:s)>>2];g[w>>2]=0.0;g[x>>2]=1.0;c[X+472>>2]=c[(j<0.0?w:j>1.0?x:t)>>2];t=X+284|0;x=c[t>>2]|0;g[X+568>>2]=m;g[X+572>>2]=n;g[X+576>>2]=o;g[X+580>>2]=0.0;g[X+224>>2]=p;c[t>>2]=x+3;g[X+228>>2]=q;if(!(l<.5)){Y=x+4|0;c[t>>2]=Y;Z=X+4|0;c[Z>>2]=D;_=X+8|0;g[_>>2]=J;$=X+12|0;g[$>>2]=K;aa=X+16|0;g[aa>>2]=0.0;ba=X+20|0;g[ba>>2]=L;ca=X+24|0;c[ca>>2]=E;da=X+28|0;g[da>>2]=F;ea=X+32|0;g[ea>>2]=0.0;fa=X+36|0;g[fa>>2]=G;ga=X+40|0;g[ga>>2]=H;ha=X+44|0;c[ha>>2]=I;ia=X+48|0;g[ia>>2]=0.0;ja=X+52|0;c[ja>>2]=A;ka=X+56|0;c[ka>>2]=B;la=X+60|0;c[la>>2]=C;ma=X+64|0;g[ma>>2]=0.0;i=r;return X|0}g[X+256>>2]=.03999999910593033;g[X+252>>2]=l*.5;Y=x+4|0;c[t>>2]=Y;Z=X+4|0;c[Z>>2]=D;_=X+8|0;g[_>>2]=J;$=X+12|0;g[$>>2]=K;aa=X+16|0;g[aa>>2]=0.0;ba=X+20|0;g[ba>>2]=L;ca=X+24|0;c[ca>>2]=E;da=X+28|0;g[da>>2]=F;ea=X+32|0;g[ea>>2]=0.0;fa=X+36|0;g[fa>>2]=G;ga=X+40|0;g[ga>>2]=H;ha=X+44|0;c[ha>>2]=I;ia=X+48|0;g[ia>>2]=0.0;ja=X+52|0;c[ja>>2]=A;ka=X+56|0;c[ka>>2]=B;la=X+60|0;c[la>>2]=C;ma=X+64|0;g[ma>>2]=0.0;i=r;return X|0}function $c(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=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,x=0.0,y=0.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.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0;c[4350]=(c[4350]|0)+1;f=Tr(327)|0;if(!f)h=0;else{i=f+4+15&-16;c[i+-4>>2]=f;h=i}i=h+4|0;c[h+164>>2]=1065353216;c[h+168>>2]=1065353216;c[h+172>>2]=1065353216;g[h+176>>2]=0.0;c[h+180>>2]=0;g[h+184>>2]=999999984306749440.0;f=h+188|0;j=h+204|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[j>>2]=1;c[h+208>>2]=-1;c[h+212>>2]=-1;c[h+216>>2]=1;g[h+220>>2]=0.0;g[h+224>>2]=.5;g[h+228>>2]=0.0;g[h+232>>2]=0.0;c[h+240>>2]=0;c[h+244>>2]=-1;g[h+248>>2]=1.0;g[h+252>>2]=0.0;g[h+256>>2]=0.0;c[h+260>>2]=0;a[h+280>>0]=1;c[h+276>>2]=0;c[h+268>>2]=0;c[h+272>>2]=0;f=h+284|0;c[f>>2]=0;c[i>>2]=1065353216;l=h+8|0;m=h+24|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[m>>2]=1065353216;n=h+28|0;o=h+44|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[o>>2]=1065353216;p=h+48|0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[h>>2]=4328;a[h+304>>0]=1;c[h+300>>2]=0;c[h+292>>2]=0;c[h+296>>2]=0;c[h+236>>2]=4;Lh(h,b);c[j>>2]=4;j=c[d>>2]|0;b=c[d+4>>2]|0;q=c[d+8>>2]|0;if(!e){r=1065353216;s=1065353216;t=0.0;u=0.0;v=0.0;w=1065353216;x=0.0;y=0.0;z=0.0;A=c[f>>2]|0;B=A+1|0;c[f>>2]=B;c[i>>2]=r;g[l>>2]=x;C=h+12|0;g[C>>2]=y;D=h+16|0;g[D>>2]=0.0;E=h+20|0;g[E>>2]=z;c[m>>2]=s;g[n>>2]=t;F=h+32|0;g[F>>2]=0.0;G=h+36|0;g[G>>2]=u;H=h+40|0;g[H>>2]=v;c[o>>2]=w;g[p>>2]=0.0;I=h+52|0;c[I>>2]=j;J=h+56|0;c[J>>2]=b;K=h+60|0;c[K>>2]=q;L=h+64|0;g[L>>2]=0.0;return h|0}M=+g[e>>2];N=+g[e+4>>2];O=+g[e+8>>2];P=+g[e+12>>2];Q=2.0/(M*M+N*N+O*O+P*P);R=M*Q;S=N*Q;T=O*Q;Q=P*R;U=P*S;V=P*T;P=M*R;R=M*S;W=M*T;M=N*S;S=N*T;N=O*T;e=(g[k>>2]=1.0-(M+N),c[k>>2]|0);d=(g[k>>2]=1.0-(P+N),c[k>>2]|0);r=e;s=d;t=S-Q;u=W-U;v=S+Q;w=(g[k>>2]=1.0-(P+M),c[k>>2]|0);x=R-V;y=W+U;z=R+V;A=c[f>>2]|0;B=A+1|0;c[f>>2]=B;c[i>>2]=r;g[l>>2]=x;C=h+12|0;g[C>>2]=y;D=h+16|0;g[D>>2]=0.0;E=h+20|0;g[E>>2]=z;c[m>>2]=s;g[n>>2]=t;F=h+32|0;g[F>>2]=0.0;G=h+36|0;g[G>>2]=u;H=h+40|0;g[H>>2]=v;c[o>>2]=w;g[p>>2]=0.0;I=h+52|0;c[I>>2]=j;J=h+56|0;c[J>>2]=b;K=h+60|0;c[K>>2]=q;L=h+64|0;g[L>>2]=0.0;return h|0}function ad(a){a=a|0;rc(c[a+192>>2]|0);if(!a)return;vb[c[(c[a>>2]|0)+4>>2]&255](a);return}function bd(a,b,d){a=+a;b=+b;d=+d;var e=0;e=c[4168]|0;return dc[c[(c[e>>2]|0)+184>>2]&3](e,a,~~b,d)|0}function cd(a,b,d){a=+a;b=b|0;d=d|0;var e=0;e=c[4168]|0;return +(+Ob[c[(c[e>>2]|0)+188>>2]&1](e,a,b,d))}function dd(a){a=+a;var b=0;b=c[4168]|0;ub[c[(c[b>>2]|0)+192>>2]&31](b,a);return}function ed(){var a=0;a=c[4168]|0;vb[c[(c[a>>2]|0)+196>>2]&255](a);return}function fd(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,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,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0;j=i;i=i+128|0;k=j+64|0;l=j;c[k>>2]=1065353216;m=k+4|0;n=k+20|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[n>>2]=1065353216;o=k+24|0;p=k+40|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[p>>2]=1065353216;q=k+44|0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;r=c[b+4>>2]|0;s=c[b+8>>2]|0;c[k+48>>2]=c[b>>2];c[k+52>>2]=r;c[k+56>>2]=s;g[k+60>>2]=0.0;if(d|0){t=+g[d>>2];u=+g[d+4>>2];v=+g[d+8>>2];w=+g[d+12>>2];x=2.0/(t*t+u*u+v*v+w*w);y=t*x;z=u*x;A=v*x;x=w*y;B=w*z;C=w*A;w=t*y;y=t*z;D=t*A;t=u*z;z=u*A;u=v*A;g[k>>2]=1.0-(t+u);g[m>>2]=y-C;g[k+8>>2]=D+B;g[k+12>>2]=0.0;g[k+16>>2]=y+C;g[n>>2]=1.0-(w+u);g[o>>2]=z-x;g[k+28>>2]=0.0;g[k+32>>2]=D-B;g[k+36>>2]=z+x;g[p>>2]=1.0-(w+t);g[q>>2]=0.0}c[l>>2]=1065353216;q=l+4|0;p=l+20|0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[p>>2]=1065353216;o=l+24|0;n=l+40|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[n>>2]=1065353216;m=l+44|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;d=c[f+4>>2]|0;s=c[f+8>>2]|0;c[l+48>>2]=c[f>>2];c[l+52>>2]=d;c[l+56>>2]=s;g[l+60>>2]=0.0;if(h|0){t=+g[h>>2];w=+g[h+4>>2];x=+g[h+8>>2];z=+g[h+12>>2];B=2.0/(t*t+w*w+x*x+z*z);D=t*B;u=w*B;C=x*B;B=z*D;y=z*u;A=z*C;z=t*D;D=t*u;v=t*C;t=w*u;u=w*C;w=x*C;g[l>>2]=1.0-(t+w);g[q>>2]=D-A;g[l+8>>2]=v+y;g[l+12>>2]=0.0;g[l+16>>2]=D+A;g[p>>2]=1.0-(z+w);g[o>>2]=u-B;g[l+28>>2]=0.0;g[l+32>>2]=v-y;g[l+36>>2]=u+B;g[n>>2]=1.0-(z+t);g[m>>2]=0.0}c[4350]=(c[4350]|0)+1;m=Tr(1331)|0;if(!m){E=0;Yf(E,a,e,k,l,1);i=j;return E|0}n=m+4+15&-16;c[n+-4>>2]=m;E=n;Yf(E,a,e,k,l,1);i=j;return E|0}function gd(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|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.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0;m=i;i=i+128|0;n=m+64|0;o=m;c[n>>2]=1065353216;p=n+4|0;q=n+20|0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[q>>2]=1065353216;r=n+24|0;s=n+40|0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[s>>2]=1065353216;t=n+44|0;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;u=c[d+4>>2]|0;v=c[d+8>>2]|0;c[n+48>>2]=c[d>>2];c[n+52>>2]=u;c[n+56>>2]=v;g[n+60>>2]=0.0;if(e|0){w=+g[e>>2];x=+g[e+4>>2];y=+g[e+8>>2];z=+g[e+12>>2];A=2.0/(w*w+x*x+y*y+z*z);B=w*A;C=x*A;D=y*A;A=z*B;E=z*C;F=z*D;z=w*B;B=w*C;G=w*D;w=x*C;C=x*D;x=y*D;g[n>>2]=1.0-(w+x);g[p>>2]=B-F;g[n+8>>2]=G+E;g[n+12>>2]=0.0;g[n+16>>2]=B+F;g[q>>2]=1.0-(z+x);g[r>>2]=C-A;g[n+28>>2]=0.0;g[n+32>>2]=G-E;g[n+36>>2]=C+A;g[s>>2]=1.0-(z+w);g[t>>2]=0.0}c[o>>2]=1065353216;t=o+4|0;s=o+20|0;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[s>>2]=1065353216;r=o+24|0;q=o+40|0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[q>>2]=1065353216;p=o+44|0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;e=c[h+4>>2]|0;v=c[h+8>>2]|0;c[o+48>>2]=c[h>>2];c[o+52>>2]=e;c[o+56>>2]=v;g[o+60>>2]=0.0;if(j|0){w=+g[j>>2];z=+g[j+4>>2];A=+g[j+8>>2];C=+g[j+12>>2];E=2.0/(w*w+z*z+A*A+C*C);G=w*E;x=z*E;F=A*E;E=C*G;B=C*x;D=C*F;C=w*G;G=w*x;y=w*F;w=z*x;x=z*F;z=A*F;g[o>>2]=1.0-(w+z);g[t>>2]=G-D;g[o+8>>2]=y+B;g[o+12>>2]=0.0;g[o+16>>2]=G+D;g[s>>2]=1.0-(C+z);g[r>>2]=x-E;g[o+28>>2]=0.0;g[o+32>>2]=y-B;g[o+36>>2]=x+E;g[q>>2]=1.0-(C+w);g[p>>2]=0.0}c[4350]=(c[4350]|0)+1;p=Tr(1407)|0;if(!p)H=0;else{q=p+4+15&-16;c[q+-4>>2]=p;H=q}Yf(H,b,f,n,o,1);c[H>>2]=2700;c[H+4>>2]=9;g[H+1316>>2]=0.0;o=H+1340|0;g[o>>2]=0.0;n=H+1364|0;g[n>>2]=1.0;g[H+1320>>2]=0.0;f=H+1344|0;g[f>>2]=0.0;b=H+1368|0;g[b>>2]=1.0;g[H+1324>>2]=0.0;q=H+1348|0;g[q>>2]=0.0;p=H+1372|0;g[p>>2]=1.0;g[H+1328>>2]=0.0;r=H+1352|0;g[r>>2]=0.0;s=H+1376|0;g[s>>2]=1.0;g[H+1332>>2]=0.0;t=H+1356|0;g[t>>2]=0.0;j=H+1380|0;g[j>>2]=1.0;g[H+1336>>2]=0.0;v=H+1360|0;g[v>>2]=0.0;e=H+1384|0;g[e>>2]=1.0;a[H+1309>>0]=1;a[H+788>>0]=1;c[o>>2]=c[k>>2];c[n>>2]=c[l>>2];a[H+1310>>0]=1;a[H+789>>0]=1;c[f>>2]=c[k+4>>2];c[b>>2]=c[l+4>>2];a[H+1311>>0]=1;a[H+790>>0]=1;c[q>>2]=c[k+8>>2];c[p>>2]=c[l+8>>2];a[H+1312>>0]=1;a[H+912>>0]=1;c[r>>2]=c[k+12>>2];c[s>>2]=c[l+12>>2];a[H+1313>>0]=1;a[H+976>>0]=1;c[t>>2]=c[k+16>>2];c[j>>2]=c[l+16>>2];a[H+1314>>0]=1;a[H+1040>>0]=1;c[v>>2]=c[k+20>>2];c[e>>2]=c[l+20>>2];i=m;return H|0}function hd(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0,I=0,J=0,K=0.0,L=0.0,M=0.0,N=0,O=0.0,P=0.0,Q=0.0,R=0;j=c[d>>2]|0;l=c[d+4>>2]|0;m=c[d+8>>2]|0;if(!e){n=1065353216;o=1065353216;p=0.0;q=0.0;r=0.0;s=1065353216;t=0.0;u=0.0;v=0.0}else{w=+g[e>>2];x=+g[e+4>>2];y=+g[e+8>>2];z=+g[e+12>>2];A=2.0/(w*w+x*x+y*y+z*z);B=w*A;C=x*A;D=y*A;A=z*B;E=z*C;F=z*D;z=w*B;B=w*C;G=w*D;w=x*C;C=x*D;x=y*D;e=(g[k>>2]=1.0-(w+x),c[k>>2]|0);d=(g[k>>2]=1.0-(z+x),c[k>>2]|0);n=e;o=d;p=C-A;q=G-E;r=C+A;s=(g[k>>2]=1.0-(z+w),c[k>>2]|0);t=B-F;u=G+E;v=B+F}d=c[h>>2]|0;e=c[h+4>>2]|0;H=c[h+8>>2]|0;if(!i){I=1065353216;J=1065353216;K=0.0;L=0.0;M=0.0;N=1065353216;O=0.0;P=0.0;Q=0.0}else{F=+g[i>>2];B=+g[i+4>>2];E=+g[i+8>>2];G=+g[i+12>>2];w=2.0/(F*F+B*B+E*E+G*G);z=F*w;A=B*w;C=E*w;w=G*z;x=G*A;D=G*C;G=F*z;z=F*A;y=F*C;F=B*A;A=B*C;B=E*C;i=(g[k>>2]=1.0-(F+B),c[k>>2]|0);h=(g[k>>2]=1.0-(G+B),c[k>>2]|0);I=i;J=h;K=A-w;L=y-x;M=A+w;N=(g[k>>2]=1.0-(G+F),c[k>>2]|0);O=z-D;P=y+x;Q=z+D}c[4350]=(c[4350]|0)+1;h=Tr(787)|0;if(!h)R=0;else{i=h+4+15&-16;c[i+-4>>2]=h;R=i}c[R+4>>2]=4;c[R+8>>2]=-1;c[R+12>>2]=-1;g[R+16>>2]=3402823466385288598117041.0e14;a[R+20>>0]=1;a[R+21>>0]=0;c[R+24>>2]=-1;c[R+28>>2]=b;c[R+32>>2]=f;g[R+36>>2]=0.0;g[R+40>>2]=.30000001192092896;c[R+44>>2]=0;c[R>>2]=2760;c[R+552>>2]=n;g[R+556>>2]=t;g[R+560>>2]=u;g[R+564>>2]=0.0;g[R+568>>2]=v;c[R+572>>2]=o;g[R+576>>2]=p;g[R+580>>2]=0.0;g[R+584>>2]=q;g[R+588>>2]=r;c[R+592>>2]=s;g[R+596>>2]=0.0;c[R+600>>2]=j;c[R+604>>2]=l;c[R+608>>2]=m;g[R+612>>2]=0.0;c[R+616>>2]=I;g[R+620>>2]=O;g[R+624>>2]=P;g[R+628>>2]=0.0;g[R+632>>2]=Q;c[R+636>>2]=J;g[R+640>>2]=K;g[R+644>>2]=0.0;g[R+648>>2]=L;g[R+652>>2]=M;c[R+656>>2]=N;g[R+660>>2]=0.0;c[R+664>>2]=d;c[R+668>>2]=e;c[R+672>>2]=H;g[R+676>>2]=0.0;g[R+688>>2]=0.0;g[R+692>>2]=-1.0;g[R+696>>2]=.8999999761581421;g[R+700>>2]=.30000001192092896;g[R+704>>2]=1.0;g[R+708>>2]=0.0;g[R+712>>2]=0.0;a[R+716>>0]=0;a[R+736>>0]=0;a[R+737>>0]=0;a[R+738>>0]=0;a[R+739>>0]=1;a[R+740>>0]=1;H=R+748|0;c[H>>2]=0;c[H+4>>2]=0;c[H+8>>2]=0;c[H+12>>2]=0;c[H+16>>2]=0;g[R+732>>2]=-1.0;return R|0}function id(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=c[d>>2]|0;i=c[d+4>>2]|0;j=c[d+8>>2]|0;d=c[f>>2]|0;k=c[f+4>>2]|0;l=c[f+8>>2]|0;c[4350]=(c[4350]|0)+1;f=Tr(379)|0;if(!f)m=0;else{n=f+4+15&-16;c[n+-4>>2]=f;m=n}c[m+4>>2]=3;c[m+8>>2]=-1;c[m+12>>2]=-1;g[m+16>>2]=3402823466385288598117041.0e14;a[m+20>>0]=1;a[m+21>>0]=0;c[m+24>>2]=-1;c[m+28>>2]=b;c[m+32>>2]=e;g[m+36>>2]=0.0;g[m+40>>2]=.30000001192092896;c[m+44>>2]=0;c[m>>2]=2812;c[m+300>>2]=h;c[m+304>>2]=i;c[m+308>>2]=j;g[m+312>>2]=0.0;c[m+316>>2]=d;c[m+320>>2]=k;c[m+324>>2]=l;g[m+328>>2]=0.0;c[m+332>>2]=0;a[m+344>>0]=0;g[m+348>>2]=.30000001192092896;g[m+352>>2]=1.0;g[m+356>>2]=0.0;return m|0}function jd(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0,I=0,J=0,K=0.0,L=0.0,M=0.0,N=0,O=0.0,P=0.0,Q=0.0,R=0;j=c[d>>2]|0;l=c[d+4>>2]|0;m=c[d+8>>2]|0;if(!e){n=1065353216;o=1065353216;p=0.0;q=0.0;r=0.0;s=1065353216;t=0.0;u=0.0;v=0.0}else{w=+g[e>>2];x=+g[e+4>>2];y=+g[e+8>>2];z=+g[e+12>>2];A=2.0/(w*w+x*x+y*y+z*z);B=w*A;C=x*A;D=y*A;A=z*B;E=z*C;F=z*D;z=w*B;B=w*C;G=w*D;w=x*C;C=x*D;x=y*D;e=(g[k>>2]=1.0-(w+x),c[k>>2]|0);d=(g[k>>2]=1.0-(z+x),c[k>>2]|0);n=e;o=d;p=C-A;q=G-E;r=C+A;s=(g[k>>2]=1.0-(z+w),c[k>>2]|0);t=B-F;u=G+E;v=B+F}d=c[h>>2]|0;e=c[h+4>>2]|0;H=c[h+8>>2]|0;if(!i){I=1065353216;J=1065353216;K=0.0;L=0.0;M=0.0;N=1065353216;O=0.0;P=0.0;Q=0.0}else{F=+g[i>>2];B=+g[i+4>>2];E=+g[i+8>>2];G=+g[i+12>>2];w=2.0/(F*F+B*B+E*E+G*G);z=F*w;A=B*w;C=E*w;w=G*z;x=G*A;D=G*C;G=F*z;z=F*A;y=F*C;F=B*A;A=B*C;B=E*C;i=(g[k>>2]=1.0-(F+B),c[k>>2]|0);h=(g[k>>2]=1.0-(G+B),c[k>>2]|0);I=i;J=h;K=A-w;L=y-x;M=A+w;N=(g[k>>2]=1.0-(G+F),c[k>>2]|0);O=z-D;P=y+x;Q=z+D}c[4350]=(c[4350]|0)+1;h=Tr(627)|0;if(!h)R=0;else{i=h+4+15&-16;c[i+-4>>2]=h;R=i}c[R+4>>2]=5;c[R+8>>2]=-1;c[R+12>>2]=-1;g[R+16>>2]=3402823466385288598117041.0e14;a[R+20>>0]=1;a[R+21>>0]=0;c[R+24>>2]=-1;c[R+28>>2]=b;c[R+32>>2]=f;g[R+36>>2]=0.0;g[R+40>>2]=.30000001192092896;c[R+44>>2]=0;c[R>>2]=2536;c[R+300>>2]=n;g[R+304>>2]=t;g[R+308>>2]=u;g[R+312>>2]=0.0;g[R+316>>2]=v;c[R+320>>2]=o;g[R+324>>2]=p;g[R+328>>2]=0.0;g[R+332>>2]=q;g[R+336>>2]=r;c[R+340>>2]=s;g[R+344>>2]=0.0;c[R+348>>2]=j;c[R+352>>2]=l;c[R+356>>2]=m;g[R+360>>2]=0.0;c[R+364>>2]=I;g[R+368>>2]=O;g[R+372>>2]=P;g[R+376>>2]=0.0;g[R+380>>2]=Q;c[R+384>>2]=J;g[R+388>>2]=K;g[R+392>>2]=0.0;g[R+396>>2]=L;g[R+400>>2]=M;c[R+404>>2]=N;g[R+408>>2]=0.0;c[R+412>>2]=d;c[R+416>>2]=e;c[R+420>>2]=H;g[R+424>>2]=0.0;a[R+552>>0]=0;c[R+524>>2]=0;g[R+572>>2]=-1.0;g[R+444>>2]=999999984306749440.0;g[R+448>>2]=999999984306749440.0;g[R+452>>2]=999999984306749440.0;g[R+428>>2]=1.0;g[R+432>>2]=.30000001192092896;g[R+436>>2]=1.0;g[R+440>>2]=.009999999776482582;g[R+456>>2]=.05000000074505806;c[R+592>>2]=0;g[R+596>>2]=0.0;g[R+600>>2]=.699999988079071;g[R+604>>2]=0.0;return R|0}function kd(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;var e=0.0,f=0.0,h=0.0,i=0;if((b|0)<3){g[a+680+(b<<2)>>2]=c;g[a+696+(b<<2)>>2]=d;return}e=+Sr(c);if(!(e<-3.1415927410125732))if(e>3.1415927410125732)f=e+-6.2831854820251465;else f=e;else f=e+6.2831854820251465;e=+Sr(d);if(!(e<-3.1415927410125732))if(e>3.1415927410125732)h=e+-6.2831854820251465;else h=e;else h=e+6.2831854820251465;i=b+-3|0;g[a+868+(i<<6)>>2]=f;g[a+868+(i<<6)+4>>2]=h;return}function ld(a,b,c){a=a|0;b=+b;c=+c;var d=0,e=0.0,f=0.0;d=a+688|0;e=(c-b)*.5;g[a+692>>2]=e;c=+Sr(e+b);if(!(c<-3.1415927410125732))if(c>3.1415927410125732)f=c+-6.2831854820251465;else f=c;else f=c+6.2831854820251465;g[d>>2]=f;g[a+696>>2]=.8999999761581421;g[a+700>>2]=.30000001192092896;g[a+704>>2]=1.0;return}function md(a,b,c){a=a|0;b=b|0;c=+c;switch(b|0){case 3:{g[a+452>>2]=c;return}case 4:{g[a+448>>2]=c;return}case 5:{g[a+444>>2]=c;return}default:return}}function nd(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;Ab[c[(c[a>>2]|0)+28>>2]&7](a,b,d,e);return}function od(){return 4}function pd(){return 2}function qd(a,b){a=a|0;b=b|0;var d=0;d=c[4168]|0;ac[c[(c[d>>2]|0)+56>>2]&63](d,a,b);return}function rd(a){a=a|0;var b=0;b=c[4168]|0;xb[c[(c[b>>2]|0)+60>>2]&127](b,a);return}function sd(a,b,d,e,f){a=+a;b=+b;d=+d;e=+e;f=+f;var h=0,i=0,j=0;while(1){h=Tr(24)|0;if(h|0){i=6;break}j=c[4479]|0;c[4479]=j+0;if(!j){i=5;break}bc[j&3]()}if((i|0)==5){j=Va(4)|0;c[j>>2]=6852;lb(j|0,2112,190)}else if((i|0)==6){g[h+20>>2]=6.0e3;g[h>>2]=b;g[h+8>>2]=d;g[h+4>>2]=a;g[h+16>>2]=e;g[h+12>>2]=f;return h|0}return 0}function td(b,d){b=b|0;d=d|0;var e=0,f=0,h=0;while(1){e=Tr(8)|0;if(e|0)break;d=c[4479]|0;c[4479]=d+0;if(!d){f=5;break}bc[d&3]()}if((f|0)==5){d=Va(4)|0;c[d>>2]=6852;lb(d|0,2112,190)}d=c[4168]|0;c[e>>2]=3256;c[e+4>>2]=d;while(1){h=Tr(152)|0;if(h|0){f=11;break}d=c[4479]|0;c[4479]=d+0;if(!d){f=10;break}bc[d&3]()}if((f|0)==10){d=Va(4)|0;c[d>>2]=6852;lb(d|0,2112,190)}else if((f|0)==11){c[h>>2]=3220;a[h+20>>0]=1;c[h+16>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;a[h+40>>0]=1;c[h+36>>2]=0;c[h+28>>2]=0;c[h+32>>2]=0;a[h+60>>0]=1;c[h+56>>2]=0;c[h+48>>2]=0;c[h+52>>2]=0;a[h+80>>0]=1;c[h+76>>2]=0;c[h+68>>2]=0;c[h+72>>2]=0;c[h+100>>2]=e;g[h+104>>2]=0.0;a[h+148>>0]=1;c[h+144>>2]=0;c[h+136>>2]=0;c[h+140>>2]=0;c[h+116>>2]=b;c[h+120>>2]=0;c[h+124>>2]=2;c[h+128>>2]=1;g[h+112>>2]=0.0;g[h+108>>2]=0.0;bi(h,0,2,1);return h|0}return 0}function ud(b,d,e,f){b=b|0;d=+d;e=+e;f=+f;var h=0,i=0,j=0;while(1){h=Tr(80)|0;if(h|0){i=6;break}j=c[4479]|0;c[4479]=j+0;if(!j){i=5;break}bc[j&3]()}if((i|0)==5){j=Va(4)|0;c[j>>2]=6852;lb(j|0,2112,190)}else if((i|0)==6){c[h>>2]=2272;g[h+16>>2]=d;g[h+28>>2]=e;g[h+32>>2]=f;a[h+76>>0]=1;c[h+72>>2]=0;c[h+64>>2]=0;c[h+68>>2]=0;c[h+36>>2]=b;c[h+48>>2]=0;c[h+52>>2]=2;c[h+56>>2]=1;c[h+20>>2]=c[b+468>>2];c[h+24>>2]=c[b+472>>2];Xe(h,0,2,1);return h|0}return 0}function vd(b,d,e,f){b=b|0;d=+d;e=+e;f=+f;var h=0,i=0,j=0;while(1){h=Tr(56)|0;if(h|0){i=6;break}j=c[4479]|0;c[4479]=j+0;if(!j){i=5;break}bc[j&3]()}if((i|0)==5){j=Va(4)|0;c[j>>2]=6852;lb(j|0,2112,190)}else if((i|0)==6){c[h>>2]=2304;g[h+8>>2]=d;g[h+20>>2]=e;g[h+24>>2]=f;a[h+52>>0]=1;c[h+48>>2]=0;c[h+40>>2]=0;c[h+44>>2]=0;c[h+4>>2]=b;c[h+12>>2]=c[b+468>>2];c[h+16>>2]=c[b+472>>2];c[h+32>>2]=0;return h|0}return 0}function wd(a){a=+a;var b=0,d=0,e=0;while(1){b=Tr(12)|0;if(b|0){d=6;break}e=c[4479]|0;c[4479]=e+0;if(!e){d=5;break}bc[e&3]()}if((d|0)==5){e=Va(4)|0;c[e>>2]=6852;lb(e|0,2112,190)}else if((d|0)==6){c[b>>2]=0;g[b+4>>2]=0.0;g[b+8>>2]=a;return b|0}return 0}function xd(a,b,d,e,f,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w){a=a|0;b=+b;d=+d;e=+e;f=+f;h=+h;i=+i;j=+j;k=+k;l=+l;m=+m;n=+n;o=+o;p=+p;q=+q;r=+r;s=+s;t=+t;u=+u;v=+v;w=w|0;var x=0,y=0,z=0,A=0,B=0,C=0,D=0;while(1){x=Tr(44)|0;if(x|0)break;y=c[4479]|0;c[4479]=y+0;if(!y){z=5;break}bc[y&3]()}if((z|0)==5){y=Va(4)|0;c[y>>2]=6852;lb(y|0,2112,190)}y=x;A=y+36|0;do{c[y>>2]=0;y=y+4|0}while((y|0)<(A|0));g[x>>2]=b;g[x+4>>2]=d;g[x+8>>2]=e;g[x+12>>2]=f;g[x+16>>2]=h;g[x+20>>2]=i;g[x+24>>2]=j;g[x+28>>2]=k;g[x+32>>2]=l;g[x+36>>2]=m;g[x+40>>2]=n;y=~~v;while(1){B=Tr(44)|0;if(B|0)break;A=c[4479]|0;c[4479]=A+0;if(!A){z=10;break}bc[A&3]()}if((z|0)==10){z=Va(4)|0;c[z>>2]=6852;lb(z|0,2112,190)}c[B>>2]=w;c[B+4>>2]=0;c[B+40>>2]=x;g[B+8>>2]=o;g[B+12>>2]=p;g[B+16>>2]=q;g[B+20>>2]=r;g[B+24>>2]=s;g[B+28>>2]=t;g[B+32>>2]=u;c[B+36>>2]=y;y=c[a>>2]|0;if(!y){c[a>>2]=B;return}else C=y;do{D=C+4|0;C=c[D>>2]|0}while((C|0)!=0);c[D>>2]=B;return}function yd(a,b){a=a|0;b=+b;g[a+4>>2]=b;return}function zd(d,e,f,h,i,j,k,l,m,n){d=d|0;e=+e;f=+f;h=+h;i=+i;j=+j;k=+k;l=+l;m=m|0;n=n|0;var o=0,p=0,q=0;while(1){o=Tr(148)|0;if(o|0)break;p=c[4479]|0;c[4479]=p+0;if(!p){q=5;break}bc[p&3]()}if((q|0)==5){q=Va(4)|0;c[q>>2]=6852;lb(q|0,2112,190)}c[o>>2]=2224;q=o+4|0;c[q>>2]=d;g[o+8>>2]=f*.5;g[o+12>>2]=j;b[o+16>>1]=0;g[o+36>>2]=e;g[o+40>>2]=0.0;g[o+44>>2]=1.0;c[o+48>>2]=0;c[o+52>>2]=0;g[o+56>>2]=+(m<<16>>16);g[o+60>>2]=+(n<<16>>16);g[o+120>>2]=h;g[o+124>>2]=h;g[o+128>>2]=i;g[o+132>>2]=25.0;g[o+136>>2]=k;g[o+140>>2]=l;a[o+144>>0]=0;g[o+112>>2]=1.0;g[o+116>>2]=1.0;l=+g[d+368>>2];if(l!=0.0){k=1.0/l*0.0;g[d+388>>2]=k;g[d+392>>2]=k;g[d+396>>2]=k;g[d+400>>2]=0.0}n=d+404|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;n=c[q>>2]|0;q=n+284|0;c[q>>2]=(c[q>>2]|0)+1;q=n+568|0;d=o+20|0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[n+468>>2]=1036831949;c[n+472>>2]=1036831949;return o|0}function Ad(b,d,e,f,h,j,k){b=b|0;d=d|0;e=e|0;f=+f;h=+h;j=+j;k=k|0;var 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;l=i;i=i+192|0;m=l;n=l+144|0;o=l+128|0;p=l+112|0;q=l+96|0;r=l+160|0;s=c[e>>2]|0;t=c[e+4>>2]|0;u=c[e+8>>2]|0;e=c[d>>2]|0;v=c[d+4>>2]|0;w=c[d+8>>2]|0;x=c[d+16>>2]|0;y=k&1;k=c[d+12>>2]|0;z=c[d+20>>2]|0;d=b+136|0;A=c[d>>2]|0;B=b+140|0;if((A|0)==(c[B>>2]|0)?(C=A|0?A<<1:1,(A|0)<(C|0)):0){if(!C){D=0;E=A}else{c[4350]=(c[4350]|0)+1;F=Tr((C*284|3)+16|0)|0;if(!F)G=0;else{H=F+4+15&-16;c[H+-4>>2]=F;G=H}D=G;E=c[d>>2]|0}G=b+144|0;if((E|0)>0){H=0;do{F=c[G>>2]|0;I=D+(H*284|0)|0;J=F+(H*284|0)|0;K=I+92|0;do{c[I>>2]=c[J>>2];I=I+4|0;J=J+4|0}while((I|0)<(K|0));L=D+(H*284|0)+92|0;M=F+(H*284|0)+92|0;c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];M=D+(H*284|0)+108|0;L=F+(H*284|0)+108|0;c[M>>2]=c[L>>2];c[M+4>>2]=c[L+4>>2];c[M+8>>2]=c[L+8>>2];c[M+12>>2]=c[L+12>>2];L=D+(H*284|0)+124|0;M=F+(H*284|0)+124|0;c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];M=D+(H*284|0)+140|0;L=F+(H*284|0)+140|0;c[M>>2]=c[L>>2];c[M+4>>2]=c[L+4>>2];c[M+8>>2]=c[L+8>>2];c[M+12>>2]=c[L+12>>2];I=D+(H*284|0)+156|0;J=F+(H*284|0)+156|0;K=I+128|0;do{c[I>>2]=c[J>>2];I=I+4|0;J=J+4|0}while((I|0)<(K|0));H=H+1|0}while((H|0)!=(E|0))}E=c[G>>2]|0;H=b+148|0;if(E|0){if(a[H>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[E+-4>>2]|0)}c[G>>2]=0}a[H>>0]=1;c[G>>2]=D;c[B>>2]=C;N=c[d>>2]|0}else N=A;A=b+144|0;C=c[A>>2]|0;I=C+(N*284|0)|0;J=m;K=I+92|0;do{c[I>>2]=c[J>>2];I=I+4|0;J=J+4|0}while((I|0)<(K|0));m=C+(N*284|0)+92|0;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];n=C+(N*284|0)+108|0;c[n>>2]=c[o>>2];c[n+4>>2]=c[o+4>>2];c[n+8>>2]=c[o+8>>2];c[n+12>>2]=c[o+12>>2];o=C+(N*284|0)+124|0;c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2];p=C+(N*284|0)+140|0;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];q=C+(N*284|0)+156|0;c[q>>2]=s;c[C+(N*284|0)+160>>2]=t;c[C+(N*284|0)+164>>2]=u;g[C+(N*284|0)+168>>2]=0.0;c[q+16>>2]=0;c[q+20>>2]=0;c[q+24>>2]=-1082130432;g[q+28>>2]=0.0;c[q+32>>2]=1065353216;c[q+36>>2]=0;c[q+40>>2]=0;g[q+44>>2]=0.0;g[q+48>>2]=f;c[q+52>>2]=k;g[q+56>>2]=j;c[q+60>>2]=e;c[q+64>>2]=v;c[q+68>>2]=w;c[q+72>>2]=x;g[q+76>>2]=0.0;g[q+80>>2]=0.0;g[q+84>>2]=0.0;g[q+88>>2]=.10000000149011612;c[q+92>>2]=z;g[q+96>>2]=0.0;g[q+100>>2]=0.0;a[q+104>>0]=y;I=q+105|0;J=r;K=I+23|0;do{a[I>>0]=a[J>>0]|0;I=I+1|0;J=J+1|0}while((I|0)<(K|0));J=c[d>>2]|0;c[d>>2]=J+1;I=b+116|0;$h(c[I>>2]|0,(c[A>>2]|0)+(J*284|0)|0,0);_h(c[I>>2]|0,c[A>>2]|0,(c[d>>2]|0)+-1|0,0);g[(c[A>>2]|0)+(((c[d>>2]|0)+-1|0)*284|0)+244>>2]=h;i=l;return}function Bd(b,d){b=b|0;d=d|0;var e=0,f=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.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0;e=i;i=i+128|0;f=e+104|0;h=e+88|0;j=e+72|0;k=e+56|0;l=e;m=c[d>>2]|0;n=c[d+4>>2]|0;o=c[d+8>>2]|0;d=b+64|0;p=c[d>>2]|0;q=b+68|0;if((p|0)==(c[q>>2]|0)?(r=p|0?p<<1:1,(p|0)<(r|0)):0){if(!r){s=0;t=p}else{c[4350]=(c[4350]|0)+1;u=Tr((r*172|3)+16|0)|0;if(!u)v=0;else{w=u+4+15&-16;c[w+-4>>2]=u;v=w}s=v;t=c[d>>2]|0}v=b+72|0;if((t|0)>0){w=0;do{u=s+(w*172|0)|0;x=c[v>>2]|0;y=x+(w*172|0)|0;c[u>>2]=c[y>>2];c[u+4>>2]=c[y+4>>2];c[u+8>>2]=c[y+8>>2];c[u+12>>2]=c[y+12>>2];y=s+(w*172|0)+16|0;u=x+(w*172|0)+16|0;c[y>>2]=c[u>>2];c[y+4>>2]=c[u+4>>2];c[y+8>>2]=c[u+8>>2];c[y+12>>2]=c[u+12>>2];u=s+(w*172|0)+32|0;y=x+(w*172|0)+32|0;c[u>>2]=c[y>>2];c[u+4>>2]=c[y+4>>2];c[u+8>>2]=c[y+8>>2];c[u+12>>2]=c[y+12>>2];y=s+(w*172|0)+48|0;u=x+(w*172|0)+48|0;c[y>>2]=c[u>>2];c[y+4>>2]=c[u+4>>2];c[y+8>>2]=c[u+8>>2];c[y+12>>2]=c[u+12>>2];z=s+(w*172|0)+64|0;A=x+(w*172|0)+64|0;B=z+108|0;do{c[z>>2]=c[A>>2];z=z+4|0;A=A+4|0}while((z|0)<(B|0));w=w+1|0}while((w|0)!=(t|0))}t=c[v>>2]|0;w=b+76|0;if(t|0){if(a[w>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[t+-4>>2]|0)}c[v>>2]=0}a[w>>0]=1;c[v>>2]=s;c[q>>2]=r;C=c[d>>2]|0}else C=p;p=b+72|0;r=c[p>>2]|0;q=r+(C*172|0)|0;c[q>>2]=c[f>>2];c[q+4>>2]=c[f+4>>2];c[q+8>>2]=c[f+8>>2];c[q+12>>2]=c[f+12>>2];f=r+(C*172|0)+16|0;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];h=r+(C*172|0)+32|0;c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];c[h+8>>2]=c[j+8>>2];c[h+12>>2]=c[j+12>>2];j=r+(C*172|0)+48|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];k=r+(C*172|0)+64|0;z=k;A=l;B=z+52|0;do{c[z>>2]=c[A>>2];z=z+4|0;A=A+4|0}while((z|0)<(B|0));c[k+52>>2]=m;c[k+56>>2]=n;c[k+60>>2]=o;g[k+64>>2]=0.0;c[k+68>>2]=0;c[k+72>>2]=0;c[k+76>>2]=-1082130432;g[k+80>>2]=0.0;c[k+84>>2]=-1082130432;o=k+88|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[o+16>>2]=0;o=c[d>>2]|0;c[d>>2]=o+1;k=b+36|0;Ve(c[k>>2]|0,(c[p>>2]|0)+(o*172|0)|0,0);o=(c[d>>2]|0)+-1|0;d=c[p>>2]|0;p=d+(o*172|0)|0;Ve(c[k>>2]|0,p,0);D=-+g[d+(o*172|0)+80>>2];E=-+g[d+(o*172|0)+84>>2];F=-+g[d+(o*172|0)+88>>2];G=+g[d+(o*172|0)+104>>2];H=+g[d+(o*172|0)+100>>2];I=+g[d+(o*172|0)+96>>2];g[p>>2]=I;g[d+(o*172|0)+4>>2]=G*E-H*F;g[d+(o*172|0)+8>>2]=D;g[d+(o*172|0)+12>>2]=0.0;g[d+(o*172|0)+16>>2]=H;g[d+(o*172|0)+20>>2]=I*F-G*D;g[d+(o*172|0)+24>>2]=E;g[d+(o*172|0)+28>>2]=0.0;g[d+(o*172|0)+32>>2]=G;g[d+(o*172|0)+36>>2]=H*D-I*E;g[d+(o*172|0)+40>>2]=F;g[d+(o*172|0)+44>>2]=0.0;p=d+(o*172|0)+64|0;k=d+(o*172|0)+48|0;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];i=e;return}function Cd(b,d){b=b|0;d=d|0;var e=0,f=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.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.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;e=i;i=i+128|0;f=e+104|0;h=e+88|0;j=e+72|0;k=e+56|0;l=e;m=c[d>>2]|0;n=c[d+4>>2]|0;o=c[d+8>>2]|0;d=b+40|0;p=c[d>>2]|0;q=b+44|0;if((p|0)==(c[q>>2]|0)?(r=p|0?p<<1:1,(p|0)<(r|0)):0){if(!r){s=0;t=p}else{c[4350]=(c[4350]|0)+1;u=Tr((r*132|3)+16|0)|0;if(!u)v=0;else{w=u+4+15&-16;c[w+-4>>2]=u;v=w}s=v;t=c[d>>2]|0}v=b+48|0;if((t|0)>0){w=0;do{u=s+(w*132|0)|0;x=c[v>>2]|0;y=x+(w*132|0)|0;c[u>>2]=c[y>>2];c[u+4>>2]=c[y+4>>2];c[u+8>>2]=c[y+8>>2];c[u+12>>2]=c[y+12>>2];y=s+(w*132|0)+16|0;u=x+(w*132|0)+16|0;c[y>>2]=c[u>>2];c[y+4>>2]=c[u+4>>2];c[y+8>>2]=c[u+8>>2];c[y+12>>2]=c[u+12>>2];u=s+(w*132|0)+32|0;y=x+(w*132|0)+32|0;c[u>>2]=c[y>>2];c[u+4>>2]=c[y+4>>2];c[u+8>>2]=c[y+8>>2];c[u+12>>2]=c[y+12>>2];y=s+(w*132|0)+48|0;u=x+(w*132|0)+48|0;c[y>>2]=c[u>>2];c[y+4>>2]=c[u+4>>2];c[y+8>>2]=c[u+8>>2];c[y+12>>2]=c[u+12>>2];z=s+(w*132|0)+64|0;A=x+(w*132|0)+64|0;B=z+68|0;do{c[z>>2]=c[A>>2];z=z+4|0;A=A+4|0}while((z|0)<(B|0));w=w+1|0}while((w|0)!=(t|0))}t=c[v>>2]|0;w=b+52|0;if(t|0){if(a[w>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[t+-4>>2]|0)}c[v>>2]=0}a[w>>0]=1;c[v>>2]=s;c[q>>2]=r;C=c[d>>2]|0}else C=p;p=b+48|0;r=c[p>>2]|0;q=r+(C*132|0)|0;c[q>>2]=c[f>>2];c[q+4>>2]=c[f+4>>2];c[q+8>>2]=c[f+8>>2];c[q+12>>2]=c[f+12>>2];f=r+(C*132|0)+16|0;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];h=r+(C*132|0)+32|0;c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];c[h+8>>2]=c[j+8>>2];c[h+12>>2]=c[j+12>>2];j=r+(C*132|0)+48|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];k=r+(C*132|0)+64|0;z=k;A=l;B=z+52|0;do{c[z>>2]=c[A>>2];z=z+4|0;A=A+4|0}while((z|0)<(B|0));c[k+52>>2]=m;c[k+56>>2]=n;c[k+60>>2]=o;g[k+64>>2]=0.0;k=c[d>>2]|0;c[d>>2]=k+1;o=c[p>>2]|0;a[o+(k*132|0)+112>>0]=0;n=b+4|0;b=c[n>>2]|0;D=+g[b+4>>2];E=+g[b+8>>2];F=+g[b+12>>2];G=+g[b+20>>2];H=+g[b+24>>2];I=+g[b+28>>2];J=+g[b+36>>2];K=+g[b+40>>2];L=+g[b+44>>2];M=+g[o+(k*132|0)+116>>2];N=+g[o+(k*132|0)+120>>2];O=+g[o+(k*132|0)+124>>2];P=+g[b+56>>2]+(G*M+H*N+I*O);Q=+g[b+60>>2]+(J*M+K*N+L*O);g[o+(k*132|0)+64>>2]=+g[b+52>>2]+(D*M+E*N+F*O);g[o+(k*132|0)+68>>2]=P;g[o+(k*132|0)+72>>2]=Q;g[o+(k*132|0)+76>>2]=0.0;Q=F*0.0;F=I*0.0;I=L*0.0;g[o+(k*132|0)+80>>2]=D*0.0+E+Q;g[o+(k*132|0)+84>>2]=G*0.0+H+F;g[o+(k*132|0)+88>>2]=J*0.0+K+I;g[o+(k*132|0)+92>>2]=0.0;g[o+(k*132|0)+96>>2]=D+E*0.0+Q;g[o+(k*132|0)+100>>2]=G+H*0.0+F;g[o+(k*132|0)+104>>2]=J+K*0.0+I;g[o+(k*132|0)+108>>2]=0.0;k=(c[d>>2]|0)+-1|0;d=c[p>>2]|0;a[d+(k*132|0)+112>>0]=0;p=c[n>>2]|0;I=+g[p+4>>2];K=+g[p+8>>2];J=+g[p+12>>2];F=+g[p+20>>2];H=+g[p+24>>2];G=+g[p+28>>2];Q=+g[p+36>>2];E=+g[p+40>>2];D=+g[p+44>>2];L=+g[d+(k*132|0)+116>>2];P=+g[d+(k*132|0)+120>>2];O=+g[d+(k*132|0)+124>>2];N=+g[p+56>>2]+(F*L+H*P+G*O);M=+g[p+60>>2]+(Q*L+E*P+D*O);g[d+(k*132|0)+64>>2]=+g[p+52>>2]+(I*L+K*P+J*O);g[d+(k*132|0)+68>>2]=N;g[d+(k*132|0)+72>>2]=M;g[d+(k*132|0)+76>>2]=0.0;M=J*0.0;J=I*0.0+K+M;N=G*0.0;G=F*0.0+H+N;O=D*0.0;D=Q*0.0+E+O;g[d+(k*132|0)+80>>2]=J;g[d+(k*132|0)+84>>2]=G;g[d+(k*132|0)+88>>2]=D;g[d+(k*132|0)+92>>2]=0.0;P=I+K*0.0+M;M=F+H*0.0+N;N=Q+E*0.0+O;g[d+(k*132|0)+96>>2]=P;g[d+(k*132|0)+100>>2]=M;g[d+(k*132|0)+104>>2]=N;g[d+(k*132|0)+108>>2]=0.0;O=-J;J=-G;G=-D;g[d+(k*132|0)>>2]=P;g[d+(k*132|0)+4>>2]=N*J-M*G;g[d+(k*132|0)+8>>2]=O;g[d+(k*132|0)+12>>2]=0.0;g[d+(k*132|0)+16>>2]=M;g[d+(k*132|0)+20>>2]=P*G-N*O;g[d+(k*132|0)+24>>2]=J;g[d+(k*132|0)+28>>2]=0.0;g[d+(k*132|0)+32>>2]=N;g[d+(k*132|0)+36>>2]=M*O-P*J;g[d+(k*132|0)+40>>2]=G;g[d+(k*132|0)+44>>2]=0.0;p=d+(k*132|0)+64|0;n=d+(k*132|0)+48|0;c[n>>2]=c[p>>2];c[n+4>>2]=c[p+4>>2];c[n+8>>2]=c[p+8>>2];c[n+12>>2]=c[p+12>>2];i=e;return}function Dd(a,b){a=a|0;b=b|0;c[a+32>>2]=b;c[a+28>>2]=0;return}function Ed(a,b){a=a|0;b=b|0;c[a+48>>2]=b;c[a+52>>2]=0;return}function Fd(a,b){a=a|0;b=b|0;c[a+40>>2]=b;c[a+44>>2]=0;return}function Gd(a,b){a=a|0;b=b|0;c[a+28>>2]=b;return}function Hd(a,b){a=a|0;b=b|0;c[a+52>>2]=b;return}function Id(a,b){a=a|0;b=b|0;c[a+44>>2]=b;return}function Jd(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=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.0,G=0.0,H=0.0;if((d|0)>0){e=0;do{a[(c[b+(e<<2)>>2]|0)+8>>0]=0;e=e+1|0}while((e|0)!=(d|0))}e=c[(c[4168]|0)+24>>2]|0;f=zb[c[(c[e>>2]|0)+36>>2]&127](e)|0;if((f|0)<=0)return;h=(d|0)<0;i=0;do{j=Rb[c[(c[e>>2]|0)+40>>2]&31](e,i)|0;l=c[j+748>>2]|0;if((l|0)>0){m=j+740|0;n=j+744|0;o=0;do{p=j+4+(o*184|0)+80|0;a:do if(+g[p>>2]<.2?(q=c[m>>2]|0,r=c[n>>2]|0,s=q>>>0<r>>>0?q:r,!h):0){t=d;u=0;while(1){v=t;while(1){w=v-u|0;x=((w|0)/2|0)+u|0;y=c[b+(x<<2)>>2]|0;z=c[y>>2]|0;if(z>>>0<=s>>>0)break;if((w|0)<2)break a;else v=x+-1|0}if(z>>>0>=s>>>0)break;if((v|0)>(x|0)){t=v;u=x+1|0}else break a}if((x|0)!=-1){u=q>>>0>r>>>0?q:r;t=y;w=x;while(1){if((c[t+4>>2]|0)==(u|0)){A=w;break}w=w+-1|0;t=c[b+(w<<2)>>2]|0;if((c[t>>2]|0)!=(z|0)){B=y;C=x;D=20;break}}b:do if((D|0)==20)while(1){D=0;if((c[B+4>>2]|0)==(u|0)){A=C;break b}C=C+1|0;B=c[b+(C<<2)>>2]|0;if((c[B>>2]|0)!=(z|0))break a;else D=20}while(0);if((A|0)!=-1){u=c[b+(A<<2)>>2]|0;a[u+8>>0]=1;v=c[j+4+(o*184|0)+64>>2]|0;c[u+24>>2]=v;t=c[j+4+(o*184|0)+68>>2]|0;w=u+28|0;c[w>>2]=t;r=c[j+4+(o*184|0)+72>>2]|0;E=u+32|0;c[E>>2]=r;if((q|0)==(s|0)){c[u+12>>2]=c[j+4+(o*184|0)+32>>2];c[u+16>>2]=c[j+4+(o*184|0)+36>>2];c[u+20>>2]=c[j+4+(o*184|0)+40>>2]}else{F=(c[k>>2]=r,+g[k>>2]);G=(c[k>>2]=t,+g[k>>2]);H=(c[k>>2]=v,+g[k>>2]);c[u+12>>2]=c[j+4+(o*184|0)+48>>2];c[u+16>>2]=c[j+4+(o*184|0)+52>>2];c[u+20>>2]=c[j+4+(o*184|0)+56>>2];g[u+24>>2]=-H;g[w>>2]=-G;g[E>>2]=-F}c[u+36>>2]=c[p>>2]}}}while(0);o=o+1|0}while((o|0)!=(l|0))}i=i+1|0}while((i|0)!=(f|0));return}function Kd(a){a=a|0;var b=0,d=0,e=0.0,f=0,h=0.0,i=0,j=0,k=0,l=0.0,m=0.0,n=0.0;b=c[(c[4168]|0)+24>>2]|0;d=zb[c[(c[b>>2]|0)+36>>2]&127](b)|0;if((d|0)<=0){e=0.0;return +e}f=0;h=0.0;while(1){i=Rb[c[(c[b>>2]|0)+40>>2]&31](b,f)|0;j=c[i+748>>2]|0;if((j|0)>0?((a|0)==(c[i+740>>2]|0)?1:(a|0)==(c[i+744>>2]|0)):0){k=0;l=h;while(1){if(+g[i+4+(k*184|0)+80>>2]<.2)m=l+ +g[i+4+(k*184|0)+120>>2];else m=l;k=k+1|0;if((k|0)==(j|0)){n=m;break}else l=m}}else n=h;f=f+1|0;if((f|0)==(d|0)){e=n;break}else h=n}return +e}function Ld(b){b=b|0;var d=0,e=0,f=0;while(1){d=Tr(108)|0;if(d|0){e=6;break}f=c[4479]|0;c[4479]=f+0;if(!f){e=5;break}bc[f&3]()}if((e|0)==5){f=Va(4)|0;c[f>>2]=6852;lb(f|0,2112,190)}else if((e|0)==6){a[d>>0]=b&1;a[d+24>>0]=1;c[d+20>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;a[d+44>>0]=1;c[d+40>>2]=0;c[d+32>>2]=0;c[d+36>>2]=0;a[d+64>>0]=1;c[d+60>>2]=0;c[d+52>>2]=0;c[d+56>>2]=0;a[d+84>>0]=1;c[d+80>>2]=0;c[d+72>>2]=0;c[d+76>>2]=0;a[d+104>>0]=1;c[d+100>>2]=0;c[d+92>>2]=0;c[d+96>>2]=0;return d|0}return 0}function Md(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=b+12|0;e=b+20|0;f=c[e>>2]|0;g=b+24|0;if(f|0){if(a[g>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[f+-4>>2]|0)}c[e>>2]=0}a[g>>0]=1;c[e>>2]=0;c[d>>2]=0;c[b+16>>2]=0;d=b+52|0;f=b+60|0;h=c[f>>2]|0;i=b+64|0;if(h|0){if(a[i>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[h+-4>>2]|0)}c[f>>2]=0}a[i>>0]=1;c[f>>2]=0;c[d>>2]=0;h=b+56|0;c[h>>2]=0;j=b+72|0;k=b+80|0;l=c[k>>2]|0;m=b+84|0;if(l|0){if(a[m>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[l+-4>>2]|0)}c[k>>2]=0}a[m>>0]=1;c[k>>2]=0;c[j>>2]=0;l=b+76|0;c[l>>2]=0;n=b+92|0;o=b+100|0;p=c[o>>2]|0;q=b+104|0;if(p){if(!(a[q>>0]|0))r=0;else{c[4351]=(c[4351]|0)+1;Ur(c[p+-4>>2]|0);r=c[k>>2]|0}c[o>>2]=0;a[q>>0]=1;c[o>>2]=0;c[n>>2]=0;c[b+96>>2]=0;if(r|0){if(a[m>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[r+-4>>2]|0)}c[k>>2]=0}}else{a[q>>0]=1;c[o>>2]=0;c[n>>2]=0;c[b+96>>2]=0}a[m>>0]=1;c[k>>2]=0;c[j>>2]=0;c[l>>2]=0;l=c[f>>2]|0;if(l|0){if(a[i>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[l+-4>>2]|0)}c[f>>2]=0}a[i>>0]=1;c[f>>2]=0;c[d>>2]=0;c[h>>2]=0;h=b+32|0;d=b+40|0;f=c[d>>2]|0;i=b+44|0;if(f|0){if(a[i>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[f+-4>>2]|0)}c[d>>2]=0}a[i>>0]=1;c[d>>2]=0;c[h>>2]=0;c[b+36>>2]=0;h=c[e>>2]|0;if(!h){Ur(b);return}if(!(a[g>>0]|0)){Ur(b);return}c[4351]=(c[4351]|0)+1;Ur(c[h+-4>>2]|0);Ur(b);return}function Nd(e,f,h,j,l,m,n,o){e=e|0;f=f|0;h=h|0;j=j|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.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0,Q=0,R=0,S=0,T=0;p=i;i=i+128|0;q=p+104|0;r=p+88|0;s=p+72|0;t=p;u=c[f>>2]|0;v=c[f+4>>2]|0;w=c[f+8>>2]|0;f=c[h>>2]|0;x=c[h+4>>2]|0;y=c[h+8>>2]|0;do if(e)if(n){z=+g[e+52>>2];A=+g[e+56>>2];B=+g[e+60>>2];C=(c[k>>2]=u,+g[k>>2])+z;D=(c[k>>2]=v,+g[k>>2])+A;E=(c[k>>2]=w,+g[k>>2])+B;g[r>>2]=C;g[r+4>>2]=D;g[r+8>>2]=E;g[r+12>>2]=0.0;E=(c[k>>2]=f,+g[k>>2])+z;z=(c[k>>2]=x,+g[k>>2])+A;A=(c[k>>2]=y,+g[k>>2])+B;g[s>>2]=E;g[s+4>>2]=z;g[s+8>>2]=A;g[s+12>>2]=0.0;F=e;break}else{A=(c[k>>2]=u,+g[k>>2]);z=+g[e+4>>2];E=(c[k>>2]=v,+g[k>>2]);B=+g[e+8>>2];D=(c[k>>2]=w,+g[k>>2]);C=+g[e+12>>2];G=+g[e+20>>2];H=+g[e+24>>2];I=+g[e+28>>2];J=+g[e+36>>2];K=+g[e+40>>2];L=+g[e+44>>2];M=+g[e+52>>2];N=+g[e+56>>2];O=+g[e+60>>2];g[r>>2]=A*z+E*B+D*C+M;g[r+4>>2]=A*G+E*H+D*I+N;g[r+8>>2]=A*J+E*K+D*L+O;g[r+12>>2]=0.0;D=(c[k>>2]=f,+g[k>>2]);E=(c[k>>2]=x,+g[k>>2]);A=(c[k>>2]=y,+g[k>>2]);g[s>>2]=D*z+E*B+A*C+M;g[s+4>>2]=D*G+E*H+A*I+N;g[s+8>>2]=D*J+E*K+A*L+O;g[s+12>>2]=0.0;F=e;break}else{c[r>>2]=u;c[r+4>>2]=v;c[r+8>>2]=w;g[r+12>>2]=0.0;c[s>>2]=f;c[s+4>>2]=x;c[s+8>>2]=y;g[s+12>>2]=0.0;F=0}while(0);g[t+4>>2]=1.0;y=t+8|0;c[y>>2]=0;b[t+12>>1]=1;b[t+14>>1]=-1;c[t+16>>2]=0;c[t>>2]=2184;x=t+36|0;f=t+52|0;c[t+20>>2]=j;a[t+24>>0]=l&1;a[t+25>>0]=m&1;c[t+28>>2]=F;c[x>>2]=c[r>>2];c[x+4>>2]=c[r+4>>2];c[x+8>>2]=c[r+8>>2];c[x+12>>2]=c[r+12>>2];c[f>>2]=c[s>>2];c[f+4>>2]=c[s+4>>2];c[f+8>>2]=c[s+8>>2];c[f+12>>2]=c[s+12>>2];f=t+32|0;c[f>>2]=o;x=c[o+12>>2]|0;if((x|0)>0){F=o;m=0;l=x;while(1){x=F+40|0;if(!(a[(c[x>>2]|0)+m>>0]|0)){j=l+-1|0;w=F+20|0;v=c[w>>2]|0;u=v+(m<<2)|0;e=d[u>>0]|d[u+1>>0]<<8|d[u+2>>0]<<16|d[u+3>>0]<<24;c[u>>2]=c[v+(j<<2)>>2];v=(c[w>>2]|0)+(j<<2)|0;a[v>>0]=e;a[v+1>>0]=e>>8;a[v+2>>0]=e>>16;a[v+3>>0]=e>>24;e=c[x>>2]|0;v=e+m|0;w=a[v>>0]|0;a[v>>0]=a[e+j>>0]|0;a[(c[x>>2]|0)+j>>0]=w;w=F+60|0;x=c[w>>2]|0;e=x+(m<<2)|0;v=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;c[e>>2]=c[x+(j<<2)>>2];x=(c[w>>2]|0)+(j<<2)|0;a[x>>0]=v;a[x+1>>0]=v>>8;a[x+2>>0]=v>>16;a[x+3>>0]=v>>24;if(a[F>>0]|0){v=F+80|0;x=c[v>>2]|0;w=x+(m<<4)|0;e=q;u=w;n=e+16|0;do{a[e>>0]=a[u>>0]|0;e=e+1|0;u=u+1|0}while((e|0)<(n|0));h=x+(j<<4)|0;c[w>>2]=c[h>>2];c[w+4>>2]=c[h+4>>2];c[w+8>>2]=c[h+8>>2];c[w+12>>2]=c[h+12>>2];e=(c[v>>2]|0)+(j<<4)|0;u=q;n=e+16|0;do{a[e>>0]=a[u>>0]|0;e=e+1|0;u=u+1|0}while((e|0)<(n|0));v=F+100|0;w=c[v>>2]|0;x=w+(m<<4)|0;e=q;u=x;n=e+16|0;do{a[e>>0]=a[u>>0]|0;e=e+1|0;u=u+1|0}while((e|0)<(n|0));h=w+(j<<4)|0;c[x>>2]=c[h>>2];c[x+4>>2]=c[h+4>>2];c[x+8>>2]=c[h+8>>2];c[x+12>>2]=c[h+12>>2];e=(c[v>>2]|0)+(j<<4)|0;u=q;n=e+16|0;do{a[e>>0]=a[u>>0]|0;e=e+1|0;u=u+1|0}while((e|0)<(n|0))}u=c[f>>2]|0;e=u+12|0;c[e>>2]=(c[e>>2]|0)+-1;e=u+32|0;c[e>>2]=(c[e>>2]|0)+-1;e=u+52|0;c[e>>2]=(c[e>>2]|0)+-1;if(a[u>>0]|0){e=u+72|0;c[e>>2]=(c[e>>2]|0)+-1;e=u+92|0;c[e>>2]=(c[e>>2]|0)+-1}P=u;Q=m+-1|0;R=j}else{P=F;Q=m;R=l}m=Q+1|0;if((m|0)>=(R|0))break;else{F=P;l=R}}if((c[P+12>>2]|0)>0){R=c[f>>2]|0;l=c[R+12>>2]|0;F=P;m=0;while(1){a[(c[F+40>>2]|0)+m>>0]=0;m=m+1|0;if((m|0)>=(l|0)){S=R;break}else F=R}}else S=P}else S=o;c[S+4>>2]=0;S=c[4168]|0;ec[c[(c[S>>2]|0)+32>>2]&63](S,r,s,t);if(!(c[y>>2]|0)){T=c[(c[f>>2]|0)+12>>2]|0;i=p;return T|0}else{T=Od(t)|0;i=p;return T|0}return 0}function Od(b){b=b|0;var e=0,f=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;e=i;i=i+16|0;f=e;h=b+32|0;j=c[h>>2]|0;k=c[j+12>>2]|0;if(a[b+24>>0]|0){l=k-(c[j+4>>2]|0)|0;i=e;return l|0}b=j+40|0;m=k+-1|0;k=j+20|0;n=c[k>>2]|0;if(a[c[b>>2]>>0]|0){o=d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24;c[n>>2]=c[n+(m<<2)>>2];p=(c[k>>2]|0)+(m<<2)|0;a[p>>0]=o;a[p+1>>0]=o>>8;a[p+2>>0]=o>>16;a[p+3>>0]=o>>24;o=c[b>>2]|0;p=a[o>>0]|0;a[o>>0]=a[o+m>>0]|0;a[(c[b>>2]|0)+m>>0]=p;p=j+60|0;o=c[p>>2]|0;q=d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24;c[o>>2]=c[o+(m<<2)>>2];o=(c[p>>2]|0)+(m<<2)|0;a[o>>0]=q;a[o+1>>0]=q>>8;a[o+2>>0]=q>>16;a[o+3>>0]=q>>24;if(a[j>>0]|0){q=j+80|0;o=c[q>>2]|0;r=f;s=o;t=r+16|0;do{a[r>>0]=a[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));p=o+(m<<4)|0;c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2];r=(c[q>>2]|0)+(m<<4)|0;s=f;t=r+16|0;do{a[r>>0]=a[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));q=j+100|0;p=c[q>>2]|0;r=f;s=p;t=r+16|0;do{a[r>>0]=a[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));o=p+(m<<4)|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];r=(c[q>>2]|0)+(m<<4)|0;s=f;t=r+16|0;do{a[r>>0]=a[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0))}Ie(c[h>>2]|0,1);l=1;i=e;return l|0}q=n+4|0;o=d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24;c[q>>2]=c[n+(m<<2)>>2];n=(c[k>>2]|0)+(m<<2)|0;a[n>>0]=o;a[n+1>>0]=o>>8;a[n+2>>0]=o>>16;a[n+3>>0]=o>>24;o=c[b>>2]|0;n=o+1|0;k=a[n>>0]|0;a[n>>0]=a[o+m>>0]|0;a[(c[b>>2]|0)+m>>0]=k;k=j+60|0;b=c[k>>2]|0;o=b+4|0;n=d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24;c[o>>2]=c[b+(m<<2)>>2];b=(c[k>>2]|0)+(m<<2)|0;a[b>>0]=n;a[b+1>>0]=n>>8;a[b+2>>0]=n>>16;a[b+3>>0]=n>>24;if(a[j>>0]|0){n=j+80|0;b=c[n>>2]|0;k=b+16|0;r=f;s=k;t=r+16|0;do{a[r>>0]=a[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));o=b+(m<<4)|0;c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];c[k+12>>2]=c[o+12>>2];r=(c[n>>2]|0)+(m<<4)|0;s=f;t=r+16|0;do{a[r>>0]=a[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));n=j+100|0;j=c[n>>2]|0;o=j+16|0;r=f;s=o;t=r+16|0;do{a[r>>0]=a[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));k=j+(m<<4)|0;c[o>>2]=c[k>>2];c[o+4>>2]=c[k+4>>2];c[o+8>>2]=c[k+8>>2];c[o+12>>2]=c[k+12>>2];r=(c[n>>2]|0)+(m<<4)|0;s=f;t=r+16|0;do{a[r>>0]=a[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0))}Ie(c[h>>2]|0,2);m=c[h>>2]|0;h=m+20|0;n=c[h>>2]|0;k=c[n>>2]|0;o=c[n+4>>2]|0;j=k;b=o;if((k|0)!=(o|0)){l=2;i=e;return l|0}o=m+60|0;k=c[o>>2]|0;if(+g[k>>2]==+g[k+4>>2]){if(!(a[m>>0]|0)){l=0;i=e;return l|0}k=c[m+80>>2]|0;if(((((((+g[k+12>>2]==+g[k+28>>2]?+g[k+8>>2]==+g[k+24>>2]:0)?+g[k+4>>2]==+g[k+20>>2]:0)?+g[k>>2]==+g[k+16>>2]:0)?(k=c[m+100>>2]|0,+g[k+12>>2]==+g[k+28>>2]):0)?+g[k+8>>2]==+g[k+24>>2]:0)?+g[k+4>>2]==+g[k+20>>2]:0)?+g[k>>2]==+g[k+16>>2]:0){l=0;i=e;return l|0}}c[n>>2]=b;b=(c[h>>2]|0)+4|0;a[b>>0]=j;a[b+1>>0]=j>>8;a[b+2>>0]=j>>16;a[b+3>>0]=j>>24;j=m+40|0;b=c[j>>2]|0;h=a[b>>0]|0;a[b>>0]=a[b+1>>0]|0;a[(c[j>>2]|0)+1>>0]=h;h=c[o>>2]|0;j=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;c[h>>2]=c[h+4>>2];h=(c[o>>2]|0)+4|0;a[h>>0]=j;a[h+1>>0]=j>>8;a[h+2>>0]=j>>16;a[h+3>>0]=j>>24;if(!(a[m>>0]|0)){l=1;i=e;return l|0}j=m+80|0;h=c[j>>2]|0;r=f;s=h;t=r+16|0;do{a[r>>0]=a[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));o=h+16|0;c[h>>2]=c[o>>2];c[h+4>>2]=c[o+4>>2];c[h+8>>2]=c[o+8>>2];c[h+12>>2]=c[o+12>>2];r=(c[j>>2]|0)+16|0;s=f;t=r+16|0;do{a[r>>0]=a[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));j=m+100|0;m=c[j>>2]|0;r=f;s=m;t=r+16|0;do{a[r>>0]=a[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));o=m+16|0;c[m>>2]=c[o>>2];c[m+4>>2]=c[o+4>>2];c[m+8>>2]=c[o+8>>2];c[m+12>>2]=c[o+12>>2];r=(c[j>>2]|0)+16|0;s=f;t=r+16|0;do{a[r>>0]=a[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));l=1;i=e;return l|0}function Pd(a){a=a|0;return c[(c[a+32>>2]|0)+12>>2]|0}function Qd(a){a=a|0;return}function Rd(a,b){a=a|0;b=b|0;return c[(c[a+20>>2]|0)+(b<<2)>>2]|0}function Sd(b,d){b=b|0;d=d|0;var e=0.0;if(!(a[(c[b+40>>2]|0)+d>>0]|0)){e=-1.0;return +e}e=+g[(c[b+60>>2]|0)+(d<<2)>>2];return +e}function Td(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0;f=c[b+80>>2]|0;if(!(a[(c[b+40>>2]|0)+d>>0]|0)){g[e>>2]=0.0;g[e+4>>2]=0.0;g[e+8>>2]=0.0;return}else{b=c[f+(d<<4)+8>>2]|0;h=c[f+(d<<4)+4>>2]|0;c[e>>2]=c[f+(d<<4)>>2];c[e+4>>2]=h;c[e+8>>2]=b;return}}function Ud(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0;f=c[b+100>>2]|0;if(!(a[(c[b+40>>2]|0)+d>>0]|0)){g[e>>2]=0.0;g[e+4>>2]=0.0;g[e+8>>2]=0.0;return}else{b=c[f+(d<<4)+8>>2]|0;h=c[f+(d<<4)+4>>2]|0;c[e>>2]=c[f+(d<<4)>>2];c[e+4>>2]=h;c[e+8>>2]=b;return}}function Vd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(b|0)==0?1:b;b=(d|0)==0?-1:d;d=c[4168]|0;if((a|0)==0?1:(c[a+236>>2]&2|0)==0){ec[c[(c[d>>2]|0)+36>>2]&63](d,a,e&65535,b&65535);return}else{ec[c[(c[d>>2]|0)+88>>2]&63](d,a,e&65535,b&65535);return}}function Wd(a){a=a|0;var b=0;b=c[4168]|0;xb[c[(c[b>>2]|0)+40>>2]&127](b,a);return}function Xd(a){a=a|0;var b=0;b=c[4168]|0;xb[c[(c[b>>2]|0)+64>>2]&127](b,a);return}function Yd(a){a=a|0;var b=0;b=c[4168]|0;xb[c[(c[b>>2]|0)+68>>2]&127](b,a);return}function Zd(a){a=a|0;var b=0;if(c[a+204>>2]&3|0)return;b=a+216|0;if((c[b>>2]&-2|0)!=4)c[b>>2]=1;g[a+220>>2]=0.0;return}function _d(a){a=a|0;var b=0;b=a+216|0;if((c[b>>2]&-2|0)==4)return;c[b>>2]=4;return}function $d(a,b,d,e){a=a|0;b=+b;d=+d;e=+e;var f=0;f=a+284|0;c[f>>2]=(c[f>>2]|0)+1;g[a+336>>2]=b;g[a+340>>2]=d;g[a+344>>2]=e;g[a+348>>2]=0.0;return}function ae(a,b,d,e){a=a|0;b=+b;d=+d;e=+e;var f=0,h=0.0;f=a+436|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;h=+g[a+376>>2]*d;d=+g[a+380>>2]*e;g[f>>2]=+g[a+372>>2]*b+0.0;g[a+440>>2]=h+0.0;g[a+444>>2]=d+0.0;return}function be(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0.0,f=0;e=+g[a+572>>2]*c;c=+g[a+576>>2]*d;f=a+452|0;g[f>>2]=+g[a+568>>2]*b+ +g[f>>2];f=a+456|0;g[f>>2]=e+ +g[f>>2];f=a+460|0;g[f>>2]=c+ +g[f>>2];return}function ce(a,b,d,e){a=a|0;b=+b;d=+d;e=+e;var f=0.0,h=0;f=-b;h=c[a+144>>2]|0;g[h+820>>2]=f;g[h+1104>>2]=f;g[h+824>>2]=d;g[h+1108>>2]=d;g[h+232>>2]=e;g[h+516>>2]=e;return}function de(a,b,d,e){a=a|0;b=+b;d=+d;e=+e;var f=0;g[a+8>>2]=b;f=c[a+72>>2]|0;g[f+168>>2]=d;g[f+340>>2]=d;g[f+512>>2]=d;g[f+684>>2]=d;g[a+4>>2]=e;return}function ee(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.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,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0;f=i;i=i+80|0;h=f+16|0;j=f;k=a+116|0;l=a+144|0;_h(c[k>>2]|0,c[l>>2]|0,b,1);a=c[k>>2]|0;m=+g[a+4>>2];n=+g[a+20>>2];o=+g[a+36>>2];p=+g[a+8>>2];q=+g[a+24>>2];r=+g[a+40>>2];s=+g[a+12>>2];t=+g[a+28>>2];u=+g[a+44>>2];v=-+g[a+52>>2];w=-+g[a+56>>2];x=-+g[a+60>>2];a=c[l>>2]|0;y=+g[a+(b*284|0)+92>>2];z=+g[a+(b*284|0)+108>>2];A=+g[a+(b*284|0)+124>>2];B=+g[a+(b*284|0)+96>>2];C=+g[a+(b*284|0)+112>>2];D=+g[a+(b*284|0)+128>>2];E=+g[a+(b*284|0)+100>>2];F=+g[a+(b*284|0)+116>>2];G=+g[a+(b*284|0)+132>>2];H=+g[a+(b*284|0)+140>>2];I=+g[a+(b*284|0)+144>>2];J=+g[a+(b*284|0)+148>>2];K=m*v+n*w+o*x+(m*H+n*I+o*J);L=p*v+q*w+r*x+(p*H+q*I+r*J);M=s*v+t*w+u*x+(s*H+t*I+u*J);g[h>>2]=m*y+n*z+o*A;g[h+4>>2]=m*B+n*C+o*D;g[h+8>>2]=m*E+n*F+o*G;g[h+12>>2]=0.0;g[h+16>>2]=p*y+q*z+r*A;g[h+20>>2]=p*B+q*C+r*D;g[h+24>>2]=p*E+q*F+r*G;g[h+28>>2]=0.0;g[h+32>>2]=s*y+t*z+u*A;g[h+36>>2]=s*B+t*C+u*D;g[h+40>>2]=s*E+t*F+u*G;g[h+44>>2]=0.0;g[h+48>>2]=K;g[h+52>>2]=L;g[h+56>>2]=M;g[h+60>>2]=0.0;g[d>>2]=K;g[d+4>>2]=L;g[d+8>>2]=M;Ae(h,j);c[e>>2]=c[j>>2];c[e+4>>2]=c[j+4>>2];c[e+8>>2]=c[j+8>>2];c[e+12>>2]=c[j+12>>2];i=f;return}function fe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0.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,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0;f=i;i=i+80|0;h=f+16|0;j=f;k=a+72|0;l=c[k>>2]|0;m=l+(b*172|0)|0;n=a+36|0;Ve(c[n>>2]|0,m,1);o=-+g[l+(b*172|0)+80>>2];p=-+g[l+(b*172|0)+84>>2];q=-+g[l+(b*172|0)+88>>2];r=+g[l+(b*172|0)+104>>2];s=+g[l+(b*172|0)+100>>2];t=+g[l+(b*172|0)+96>>2];g[m>>2]=t;g[l+(b*172|0)+4>>2]=r*p-s*q;g[l+(b*172|0)+8>>2]=o;g[l+(b*172|0)+12>>2]=0.0;g[l+(b*172|0)+16>>2]=s;g[l+(b*172|0)+20>>2]=t*q-r*o;g[l+(b*172|0)+24>>2]=p;g[l+(b*172|0)+28>>2]=0.0;g[l+(b*172|0)+32>>2]=r;g[l+(b*172|0)+36>>2]=s*o-t*p;g[l+(b*172|0)+40>>2]=q;g[l+(b*172|0)+44>>2]=0.0;m=l+(b*172|0)+64|0;a=l+(b*172|0)+48|0;c[a>>2]=c[m>>2];c[a+4>>2]=c[m+4>>2];c[a+8>>2]=c[m+8>>2];c[a+12>>2]=c[m+12>>2];m=c[n>>2]|0;q=+g[m+4>>2];p=+g[m+20>>2];t=+g[m+36>>2];o=+g[m+8>>2];s=+g[m+24>>2];r=+g[m+40>>2];u=+g[m+12>>2];v=+g[m+28>>2];w=+g[m+44>>2];x=-+g[m+52>>2];y=-+g[m+56>>2];z=-+g[m+60>>2];m=c[k>>2]|0;A=+g[m+(b*172|0)>>2];B=+g[m+(b*172|0)+16>>2];C=+g[m+(b*172|0)+32>>2];D=+g[m+(b*172|0)+4>>2];E=+g[m+(b*172|0)+20>>2];F=+g[m+(b*172|0)+36>>2];G=+g[m+(b*172|0)+8>>2];H=+g[m+(b*172|0)+24>>2];I=+g[m+(b*172|0)+40>>2];J=+g[m+(b*172|0)+48>>2];K=+g[m+(b*172|0)+52>>2];L=+g[m+(b*172|0)+56>>2];M=q*x+p*y+t*z+(q*J+p*K+t*L);N=o*x+s*y+r*z+(o*J+s*K+r*L);O=u*x+v*y+w*z+(u*J+v*K+w*L);g[h>>2]=q*A+p*B+t*C;g[h+4>>2]=q*D+p*E+t*F;g[h+8>>2]=q*G+p*H+t*I;g[h+12>>2]=0.0;g[h+16>>2]=o*A+s*B+r*C;g[h+20>>2]=o*D+s*E+r*F;g[h+24>>2]=o*G+s*H+r*I;g[h+28>>2]=0.0;g[h+32>>2]=u*A+v*B+w*C;g[h+36>>2]=u*D+v*E+w*F;g[h+40>>2]=u*G+v*H+w*I;g[h+44>>2]=0.0;g[h+48>>2]=M;g[h+52>>2]=N;g[h+56>>2]=O;g[h+60>>2]=0.0;g[d>>2]=M;g[d+4>>2]=N;g[d+8>>2]=O;Ae(h,j);c[e>>2]=c[j>>2];c[e+4>>2]=c[j+4>>2];c[e+8>>2]=c[j+8>>2];c[e+12>>2]=c[j+12>>2];i=f;return}function ge(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.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,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0,F=0;h=i;i=i+80|0;j=h+16|0;k=h;l=b+48|0;m=c[l>>2]|0;a[m+(d*132|0)+112>>0]=0;n=c[b+4>>2]|0;b=n+4|0;c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];b=j+16|0;o=n+20|0;c[b>>2]=c[o>>2];c[b+4>>2]=c[o+4>>2];c[b+8>>2]=c[o+8>>2];c[b+12>>2]=c[o+12>>2];o=j+32|0;b=n+36|0;c[o>>2]=c[b>>2];c[o+4>>2]=c[b+4>>2];c[o+8>>2]=c[b+8>>2];c[o+12>>2]=c[b+12>>2];b=j+48|0;o=n+52|0;c[b>>2]=c[o>>2];c[b+4>>2]=c[o+4>>2];c[b+8>>2]=c[o+8>>2];c[b+12>>2]=c[o+12>>2];o=c[n+504>>2]|0;if(o|0)xb[c[(c[o>>2]|0)+8>>2]&127](o,j);p=+g[m+(d*132|0)+116>>2];q=+g[j>>2];r=+g[m+(d*132|0)+120>>2];s=+g[j+4>>2];t=+g[m+(d*132|0)+124>>2];u=+g[j+8>>2];v=+g[j+16>>2];w=+g[j+20>>2];x=+g[j+24>>2];y=+g[j+32>>2];z=+g[j+36>>2];A=+g[j+40>>2];B=p*v+r*w+t*x+ +g[j+52>>2];C=p*y+r*z+t*A+ +g[j+56>>2];g[m+(d*132|0)+64>>2]=p*q+r*s+t*u+ +g[j+48>>2];g[m+(d*132|0)+68>>2]=B;g[m+(d*132|0)+72>>2]=C;g[m+(d*132|0)+76>>2]=0.0;C=u*0.0;u=x*0.0;x=A*0.0;o=m+(d*132|0)+80|0;g[o>>2]=q*0.0+s+C;n=m+(d*132|0)+84|0;g[n>>2]=v*0.0+w+u;b=m+(d*132|0)+88|0;g[b>>2]=y*0.0+z+x;g[m+(d*132|0)+92>>2]=0.0;D=m+(d*132|0)+96|0;g[D>>2]=q+s*0.0+C;E=m+(d*132|0)+100|0;g[E>>2]=v+w*0.0+u;F=m+(d*132|0)+104|0;g[F>>2]=y+z*0.0+x;g[m+(d*132|0)+108>>2]=0.0;x=-+g[o>>2];z=-+g[n>>2];y=-+g[b>>2];u=+g[F>>2];w=+g[E>>2];v=+g[D>>2];g[m+(d*132|0)>>2]=v;g[m+(d*132|0)+4>>2]=u*z-w*y;g[m+(d*132|0)+8>>2]=x;g[m+(d*132|0)+12>>2]=0.0;g[m+(d*132|0)+16>>2]=w;g[m+(d*132|0)+20>>2]=v*y-u*x;g[m+(d*132|0)+24>>2]=z;g[m+(d*132|0)+28>>2]=0.0;g[m+(d*132|0)+32>>2]=u;g[m+(d*132|0)+36>>2]=w*x-v*z;g[m+(d*132|0)+40>>2]=y;g[m+(d*132|0)+44>>2]=0.0;D=m+(d*132|0)+64|0;E=m+(d*132|0)+48|0;c[E>>2]=c[D>>2];c[E+4>>2]=c[D+4>>2];c[E+8>>2]=c[D+8>>2];c[E+12>>2]=c[D+12>>2];D=c[l>>2]|0;l=D+(d*132|0)|0;c[j>>2]=c[l>>2];c[j+4>>2]=c[l+4>>2];c[j+8>>2]=c[l+8>>2];c[j+12>>2]=c[l+12>>2];l=j+16|0;E=D+(d*132|0)+16|0;c[l>>2]=c[E>>2];c[l+4>>2]=c[E+4>>2];c[l+8>>2]=c[E+8>>2];c[l+12>>2]=c[E+12>>2];E=j+32|0;l=D+(d*132|0)+32|0;c[E>>2]=c[l>>2];c[E+4>>2]=c[l+4>>2];c[E+8>>2]=c[l+8>>2];c[E+12>>2]=c[l+12>>2];l=j+48|0;E=D+(d*132|0)+48|0;c[l>>2]=c[E>>2];c[l+4>>2]=c[E+4>>2];c[l+8>>2]=c[E+8>>2];c[l+12>>2]=c[E+12>>2];E=c[j+52>>2]|0;d=c[j+56>>2]|0;c[e>>2]=c[l>>2];c[e+4>>2]=E;c[e+8>>2]=d;Ae(j,k);c[f>>2]=c[k>>2];c[f+4>>2]=c[k+4>>2];c[f+8>>2]=c[k+8>>2];c[f+12>>2]=c[k+12>>2];i=h;return}function he(a){a=a|0;return +-+g[a+112>>2]}function ie(a){a=a|0;return +(+g[a+12>>2])}function je(a){a=a|0;var b=0.0,c=0.0,d=0.0;b=+g[a+336>>2];c=+g[a+340>>2];d=+g[a+344>>2];return +(+O(+(b*b+c*c+d*d))*3.6)}function ke(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;g[a+20>>2]=+(b|0);g[a+24>>2]=+(c|0);g[a+28>>2]=+(d|0);g[a+32>>2]=0.0;return}function le(a,d){a=a|0;d=d|0;switch(d<<16>>16|0){case 0:{c[a+120>>2]=c[a+124>>2];break}case 1:{c[a+120>>2]=c[a+128>>2];break}case 3:{c[a+120>>2]=c[a+132>>2];break}default:{}}b[a+16>>1]=d;return}function me(a,c){a=a|0;c=+c;g[a+124>>2]=c;if(b[a+16>>1]|0)return;g[a+120>>2]=c;return}function ne(a,c){a=a|0;c=+c;g[a+128>>2]=c;if((b[a+16>>1]|0)!=1)return;g[a+120>>2]=c;return}function oe(a,c){a=a|0;c=+c;g[a+132>>2]=c;if((b[a+16>>1]|0)!=3)return;g[a+120>>2]=c;return}function pe(a,b,c){a=a|0;b=+b;c=+c;g[a+36>>2]=b;g[a+40>>2]=c;return}function qe(a,b){a=a|0;b=+b;g[a+36>>2]=b;return}function re(a,b){a=a|0;b=+b;g[a+40>>2]=b;return}function se(a,b,c){a=a|0;b=+b;c=+c;var d=0;d=a+36|0;g[d>>2]=+g[d>>2]+b;d=a+40|0;g[d>>2]=+g[d>>2]+c;return}function te(b){b=b|0;var d=0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;if(!(+g[b+112>>2]<1.0))return;d=b+144|0;if(a[d>>0]|0)return;a[d>>0]=1;d=c[b+4>>2]|0;e=+g[d+368>>2];f=+g[b+136>>2]/e;h=f*0.0;i=e*(h*+g[d+376>>2]);j=e*(f*+g[d+380>>2]);b=d+336|0;g[b>>2]=e*(+g[d+372>>2]*h)+ +g[b>>2];b=d+340|0;g[b>>2]=i+ +g[b>>2];b=d+344|0;g[b>>2]=j+ +g[b>>2];return}function ue(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 i=0,j=0,k=0.0;i=c[b+120>>2]|0;j=c[b+124>>2]|0;c[d>>2]=c[b+116>>2];c[d+4>>2]=i;c[d+8>>2]=j;k=+g[a+36>>2]*.5;g[e>>2]=0.0;g[e+4>>2]=0.0;g[e+8>>2]=+R(+k);g[e+12>>2]=+Q(+k);e=c[b+136>>2]|0;a=c[b+140>>2]|0;c[f>>2]=c[b+132>>2];c[f+4>>2]=e;c[f+8>>2]=a;a=c[b+152>>2]|0;f=c[b+156>>2]|0;c[h>>2]=c[b+148>>2];c[h+4>>2]=a;c[h+8>>2]=f;return}function ve(a,b){a=a|0;b=+b;var d=0.0,e=0.0;d=-b;b=+g[a+368>>2];if(b!=0.0){e=1.0/b;b=e*0.0;g[a+388>>2]=b;g[a+392>>2]=b;g[a+396>>2]=e*d;g[a+400>>2]=0.0}c[a+404>>2]=0;c[a+408>>2]=0;g[a+412>>2]=d;g[a+416>>2]=0.0;return}function we(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0,h=0,j=0,k=0,l=0,m=0;e=i;i=i+32|0;f=e+20|0;h=e+16|0;j=e+12|0;k=e+8|0;l=e+4|0;m=e;g[f>>2]=b;g[h>>2]=d;g[j>>2]=0.0;g[k>>2]=1.0;c[a+468>>2]=c[(b<0.0?j:b>1.0?k:f)>>2];g[l>>2]=0.0;g[m>>2]=1.0;c[a+472>>2]=c[(d<0.0?l:d>1.0?m:h)>>2];i=e;return}function xe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;while(1){g=Tr(40)|0;if(g|0)break;h=c[4479]|0;c[4479]=h+0;if(!h){i=5;break}bc[h&3]()}if((i|0)==5){i=Va(4)|0;c[i>>2]=6852;lb(i|0,2112,190)};c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g>>2]=e>>>0<f>>>0?e:f;c[g+4>>2]=e>>>0>f>>>0?e:f;a[g+8>>0]=0;f=g+12|0;e=d+1|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;f=Vr(b,e<<2)|0;c[f+(d<<2)>>2]=g;if((d|0)>0){j=1;k=e}else return f|0;while(1){if(j)l=~~+M(+(+(k|0)/1.247330950103979));else l=k;if((l|0)>(d|0))m=0;else{g=e-l|0;b=l;i=0;h=0;while(1){n=f+(i<<2)|0;o=c[n>>2]|0;p=f+(b<<2)|0;q=c[p>>2]|0;if(((c[o>>2]|0)-(c[q>>2]|0)|0)>0){c[n>>2]=q;c[p>>2]=o;r=1}else r=h;o=i+1|0;if((o|0)==(g|0)){m=r;break}else{b=o+l|0;i=o;h=r}}}j=(l|0)>1;if(!(j|(m&1)!=0))break;else k=l}return f|0}function ye(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,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=d>>>0<e>>>0?d:e;a:do if((b|0)>=0){g=b;h=0;while(1){i=g;while(1){j=i-h|0;k=((j|0)/2|0)+h|0;l=c[a+(k<<2)>>2]|0;m=c[l>>2]|0;if(m>>>0<=f>>>0)break;if((j|0)<2){n=-1;break a}else i=k+-1|0}if(m>>>0>=f>>>0)break;if((i|0)>(k|0)){g=i;h=k+1|0}else{n=-1;break a}}if((k|0)!=-1){h=d>>>0>e>>>0?d:e;g=l;j=k;while(1){if((c[g+4>>2]|0)==(h|0)){n=j;break a}j=j+-1|0;g=c[a+(j<<2)>>2]|0;if((c[g>>2]|0)!=(m|0)){o=l;p=k;break}}while(1){if((c[o+4>>2]|0)==(h|0)){n=p;break a}p=p+1|0;o=c[a+(p<<2)>>2]|0;if((c[o>>2]|0)!=(m|0)){n=-1;break}}}else n=-1}else n=-1;while(0);m=c[a+(n<<2)>>2]|0;if((n|0)<(b|0))q=n;else{Ur(m);r=b<<2;s=r+-4|0;t=Vr(a,s)|0;return t|0}do{n=q;q=q+1|0;c[a+(n<<2)>>2]=c[a+(q<<2)>>2]}while((q|0)!=(b|0));Ur(m);r=b<<2;s=r+-4|0;t=Vr(a,s)|0;return t|0}function ze(b,d,e,f,h,i,j){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,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;k=e>>>0<f>>>0?e:f;a:do if((d|0)>=0){l=d;m=0;while(1){n=l;while(1){o=n-m|0;p=((o|0)/2|0)+m|0;q=c[b+(p<<2)>>2]|0;r=c[q>>2]|0;if(r>>>0<=k>>>0)break;if((o|0)<2){s=-1;break a}else n=p+-1|0}if(r>>>0>=k>>>0)break;if((n|0)>(p|0)){l=n;m=p+1|0}else{s=-1;break a}}if((p|0)!=-1){m=e>>>0>f>>>0?e:f;l=q;o=p;while(1){if((c[l+4>>2]|0)==(m|0)){s=o;break a}o=o+-1|0;l=c[b+(o<<2)>>2]|0;if((c[l>>2]|0)!=(r|0)){t=q;u=p;break}}while(1){if((c[t+4>>2]|0)==(m|0)){s=u;break a}u=u+1|0;t=c[b+(u<<2)>>2]|0;if((c[t>>2]|0)!=(r|0)){s=-1;break}}}else s=-1}else s=-1;while(0);r=c[b+(s<<2)>>2]|0;s=a[r+8>>0]|0;do if(h|0)if(!(s<<24>>24)){g[h>>2]=0.0;g[h+4>>2]=0.0;g[h+8>>2]=0.0;break}else{c[h>>2]=c[r+12>>2];c[h+4>>2]=c[r+16>>2];c[h+8>>2]=c[r+20>>2];break}while(0);do if(i|0)if(!(s<<24>>24)){g[i>>2]=0.0;g[i+4>>2]=0.0;g[i+8>>2]=0.0;break}else{c[i>>2]=c[r+24>>2];c[i+4>>2]=c[r+28>>2];c[i+8>>2]=c[r+32>>2];break}while(0);if(!j){v=s<<24>>24!=0;return v|0}if(!(s<<24>>24)){g[j>>2]=0.0;v=s<<24>>24!=0;return v|0}else{c[j>>2]=c[r+36>>2];v=s<<24>>24!=0;return v|0}return 0}function Ae(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,h=0.0,j=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;d=i;i=i+16|0;e=d;f=+g[a>>2];h=+g[a+20>>2];j=+g[a+40>>2];l=f+h+j;if(l>0.0){m=+O(+(l+1.0));l=m*.5;g[e+12>>2]=l;n=.5/m;m=n*(+g[a+36>>2]-+g[a+24>>2]);g[e>>2]=m;o=n*(+g[a+8>>2]-+g[a+32>>2]);g[e+4>>2]=o;p=n*(+g[a+16>>2]-+g[a+4>>2]);g[e+8>>2]=p;q=(g[k>>2]=m,c[k>>2]|0);r=(g[k>>2]=o,c[k>>2]|0);s=(g[k>>2]=p,c[k>>2]|0);t=q;u=r;v=s;w=(g[k>>2]=l,c[k>>2]|0);c[b>>2]=t;x=b+4|0;c[x>>2]=u;y=b+8|0;c[y>>2]=v;z=b+12|0;c[z>>2]=w;i=d;return}else{s=f<h?(h<j?2:1):f<j?2:0;r=((s+1|0)>>>0)%3|0;q=((s+2|0)>>>0)%3|0;j=+O(+(+g[a+(s<<4)+(s<<2)>>2]-+g[a+(r<<4)+(r<<2)>>2]-+g[a+(q<<4)+(q<<2)>>2]+1.0));g[e+(s<<2)>>2]=j*.5;f=.5/j;A=e+12|0;g[A>>2]=f*(+g[a+(q<<4)+(r<<2)>>2]-+g[a+(r<<4)+(q<<2)>>2]);g[e+(r<<2)>>2]=f*(+g[a+(r<<4)+(s<<2)>>2]+ +g[a+(s<<4)+(r<<2)>>2]);g[e+(q<<2)>>2]=f*(+g[a+(q<<4)+(s<<2)>>2]+ +g[a+(s<<4)+(q<<2)>>2]);t=c[e>>2]|0;u=c[e+4>>2]|0;v=c[e+8>>2]|0;w=c[A>>2]|0;c[b>>2]=t;x=b+4|0;c[x>>2]=u;y=b+8|0;c[y>>2]=v;z=b+12|0;c[z>>2]=w;i=d;return}}function Be(a){a=a|0;Ur(a);return}function Ce(a,d){a=a|0;d=d|0;var e=0,f=0;e=c[d+4>>2]|0;if(!((b[a+14>>1]&(e&65535))<<16>>16)){f=0;return f|0}if(!((e>>>16&65535&b[a+12>>1])<<16>>16)){f=0;return f|0}e=c[a+20>>2]|0;if(!e){f=1;return f|0}f=(c[(c[d>>2]|0)+244>>2]|0)==(e|0);return f|0}function De(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=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,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0;f=i;i=i+96|0;h=f+80|0;j=f+64|0;k=f+48|0;l=f+32|0;m=f+16|0;n=f;o=c[d>>2]|0;if((o|0)==(c[a+28>>2]|0)){p=1.0;i=f;return +p}c[a+8>>2]=o;q=b[a+24>>1]|0;r=(q&255)<<24>>24==0;if(r)c[a+4>>2]=c[d+24>>2];s=+g[d+24>>2];do if((q&65535)>=256){t=1.0-s;u=t*+g[a+36>>2]+s*+g[a+52>>2];v=t*+g[a+40>>2]+s*+g[a+56>>2];w=t*+g[a+44>>2]+s*+g[a+60>>2];t=+g[d+8>>2];x=+g[d+12>>2];y=+g[d+16>>2];if(e){z=t;A=x;B=y;C=+g[d+20>>2];D=u;E=v;F=w;break}else{z=+g[o+4>>2]*t+ +g[o+8>>2]*x+ +g[o+12>>2]*y;A=t*+g[o+20>>2]+x*+g[o+24>>2]+y*+g[o+28>>2];B=t*+g[o+36>>2]+x*+g[o+40>>2]+y*+g[o+44>>2];C=0.0;D=u;E=v;F=w;break}}else{z=0.0;A=0.0;B=0.0;C=0.0;D=0.0;E=0.0;F=0.0}while(0);d=c[a>>2]|0;if(r){r=c[d+24>>2]|0;g[m>>2]=D;g[m+4>>2]=E;g[m+8>>2]=F;g[n>>2]=z;g[n+4>>2]=A;g[n+8>>2]=B;g[n+12>>2]=C;c[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];c[j+8>>2]=c[m+8>>2];c[j+12>>2]=c[m+12>>2];c[h>>2]=c[n>>2];c[h+4>>2]=c[n+4>>2];c[h+8>>2]=c[n+8>>2];c[h+12>>2]=c[n+12>>2];Nb[r&3](a,o,s,j,h)}else{r=c[d+28>>2]|0;g[k>>2]=D;g[k+4>>2]=E;g[k+8>>2]=F;g[l>>2]=z;g[l+4>>2]=A;g[l+8>>2]=B;g[l+12>>2]=C;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];c[h>>2]=c[l>>2];c[h+4>>2]=c[l+4>>2];c[h+8>>2]=c[l+8>>2];c[h+12>>2]=c[l+12>>2];Nb[r&3](a,o,s,j,h)}p=+g[a+4>>2];i=f;return +p}function Ee(b,d,e,f,g){b=b|0;d=d|0;e=+e;f=f|0;g=g|0;var h=0,j=0,k=0,l=0;h=i;i=i+32|0;j=h+16|0;k=h;l=c[b+32>>2]|0;if(!(a[b+25>>0]|0)){He(l,d,e);i=h;return}else{c[k>>2]=c[f>>2];c[k+4>>2]=c[f+4>>2];c[k+8>>2]=c[f+8>>2];c[k+12>>2]=c[f+12>>2];c[j>>2]=c[g>>2];c[j+4>>2]=c[g+4>>2];c[j+8>>2]=c[g+8>>2];c[j+12>>2]=c[g+12>>2];Ge(l,d,e,k,j);i=h;return}}function Fe(b,e,f,h,j){b=b|0;e=e|0;f=+f;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,G=0;k=i;i=i+32|0;l=k+16|0;m=k;n=b+32|0;o=c[n>>2]|0;p=c[o+12>>2]|0;a:do if((p|0)>0){q=o+20|0;r=c[q>>2]|0;s=0;while(1){t=r+(s<<2)|0;if((c[t>>2]|0)==(e|0))break;u=s+1|0;if((u|0)<(p|0))s=u;else break a}if((s|0)<(p|0)){u=o+40|0;a[(c[u>>2]|0)+s>>0]=1;v=o+60|0;w=(c[v>>2]|0)+(s<<2)|0;x=a[b+25>>0]|0;b:do if(!(+g[w>>2]==f)){g[w>>2]=f;if(!(x<<24>>24)){i=k;return}else{y=c[o+80>>2]|0;break}}else{do if(x<<24>>24){z=c[o+80>>2]|0;if(((((((+g[z+(s<<4)+12>>2]==+g[h+12>>2]?+g[z+(s<<4)+8>>2]==+g[h+8>>2]:0)?+g[z+(s<<4)+4>>2]==+g[h+4>>2]:0)?+g[z+(s<<4)>>2]==+g[h>>2]:0)?(A=c[o+100>>2]|0,+g[A+(s<<4)+12>>2]==+g[j+12>>2]):0)?+g[A+(s<<4)+8>>2]==+g[j+8>>2]:0)?+g[A+(s<<4)+4>>2]==+g[j+4>>2]:0)?+g[A+(s<<4)>>2]==+g[j>>2]:0)break;g[w>>2]=f;y=z;break b}while(0);z=p-(c[o+4>>2]|0)+-1|0;A=d[t>>0]|d[t+1>>0]<<8|d[t+2>>0]<<16|d[t+3>>0]<<24;c[t>>2]=c[r+(z<<2)>>2];B=(c[q>>2]|0)+(z<<2)|0;a[B>>0]=A;a[B+1>>0]=A>>8;a[B+2>>0]=A>>16;a[B+3>>0]=A>>24;A=c[u>>2]|0;B=A+s|0;C=a[B>>0]|0;a[B>>0]=a[A+z>>0]|0;a[(c[u>>2]|0)+z>>0]=C;C=c[v>>2]|0;A=C+(s<<2)|0;B=d[A>>0]|d[A+1>>0]<<8|d[A+2>>0]<<16|d[A+3>>0]<<24;c[A>>2]=c[C+(z<<2)>>2];C=(c[v>>2]|0)+(z<<2)|0;a[C>>0]=B;a[C+1>>0]=B>>8;a[C+2>>0]=B>>16;a[C+3>>0]=B>>24;if(a[o>>0]|0){B=o+80|0;C=c[B>>2]|0;A=C+(s<<4)|0;D=l;E=A;F=D+16|0;do{a[D>>0]=a[E>>0]|0;D=D+1|0;E=E+1|0}while((D|0)<(F|0));G=C+(z<<4)|0;c[A>>2]=c[G>>2];c[A+4>>2]=c[G+4>>2];c[A+8>>2]=c[G+8>>2];c[A+12>>2]=c[G+12>>2];D=(c[B>>2]|0)+(z<<4)|0;E=l;F=D+16|0;do{a[D>>0]=a[E>>0]|0;D=D+1|0;E=E+1|0}while((D|0)<(F|0));B=o+100|0;A=c[B>>2]|0;C=A+(s<<4)|0;D=l;E=C;F=D+16|0;do{a[D>>0]=a[E>>0]|0;D=D+1|0;E=E+1|0}while((D|0)<(F|0));G=A+(z<<4)|0;c[C>>2]=c[G>>2];c[C+4>>2]=c[G+4>>2];c[C+8>>2]=c[G+8>>2];c[C+12>>2]=c[G+12>>2];D=(c[B>>2]|0)+(z<<4)|0;E=l;F=D+16|0;do{a[D>>0]=a[E>>0]|0;D=D+1|0;E=E+1|0}while((D|0)<(F|0))}E=(c[n>>2]|0)+4|0;c[E>>2]=(c[E>>2]|0)+1;i=k;return}while(0);v=y+(s<<4)|0;c[v>>2]=c[h>>2];c[v+4>>2]=c[h+4>>2];c[v+8>>2]=c[h+8>>2];c[v+12>>2]=c[h+12>>2];v=(c[(c[n>>2]|0)+100>>2]|0)+(s<<4)|0;c[v>>2]=c[j>>2];c[v+4>>2]=c[j+4>>2];c[v+8>>2]=c[j+8>>2];c[v+12>>2]=c[j+12>>2];i=k;return}}while(0);if(!(a[b+25>>0]|0)){He(o,e,f);i=k;return}else{c[m>>2]=c[h>>2];c[m+4>>2]=c[h+4>>2];c[m+8>>2]=c[h+8>>2];c[m+12>>2]=c[h+12>>2];c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];c[l+12>>2]=c[j+12>>2];Ge(o,e,f,m,l);i=k;return}}function Ge(b,d,e,f,h){b=b|0;d=d|0;e=+e;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;i=d;d=b+12|0;j=c[d>>2]|0;k=b+16|0;if((j|0)==(c[k>>2]|0)?(l=j|0?j<<1:1,(j|0)<(l|0)):0){if(!l){m=0;n=j}else{c[4350]=(c[4350]|0)+1;o=Tr((l<<2|3)+16|0)|0;if(!o)p=0;else{q=o+4+15&-16;c[q+-4>>2]=o;p=q}m=p;n=c[d>>2]|0}p=b+20|0;if((n|0)>0){q=0;do{c[m+(q<<2)>>2]=c[(c[p>>2]|0)+(q<<2)>>2];q=q+1|0}while((q|0)!=(n|0))}q=c[p>>2]|0;o=b+24|0;if(!q)r=n;else{if(!(a[o>>0]|0))s=n;else{c[4351]=(c[4351]|0)+1;Ur(c[q+-4>>2]|0);s=c[d>>2]|0}c[p>>2]=0;r=s}a[o>>0]=1;c[p>>2]=m;c[k>>2]=l;t=r}else t=j;c[(c[b+20>>2]|0)+(t<<2)>>2]=i;c[d>>2]=t+1;t=b+32|0;d=c[t>>2]|0;i=b+36|0;if((d|0)==(c[i>>2]|0)?(j=d|0?d<<1:1,(d|0)<(j|0)):0){if(!j){u=0;v=d}else{c[4350]=(c[4350]|0)+1;r=Tr(j+19|0)|0;if(!r)w=0;else{l=r+4+15&-16;c[l+-4>>2]=r;w=l}u=w;v=c[t>>2]|0}w=b+40|0;l=c[w>>2]|0;if((v|0)<=0)if(!l)x=b+44|0;else y=24;else{r=0;do{a[u+r>>0]=a[l+r>>0]|0;r=r+1|0}while((r|0)!=(v|0));y=24}if((y|0)==24){v=b+44|0;if(a[v>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[l+-4>>2]|0)}c[w>>2]=0;x=v}a[x>>0]=1;c[w>>2]=u;c[i>>2]=j;z=c[t>>2]|0}else z=d;a[(c[b+40>>2]|0)+z>>0]=1;c[t>>2]=z+1;z=b+52|0;t=c[z>>2]|0;d=b+56|0;if((t|0)==(c[d>>2]|0)?(j=t|0?t<<1:1,(t|0)<(j|0)):0){if(!j){A=0;B=t}else{c[4350]=(c[4350]|0)+1;i=Tr((j<<2|3)+16|0)|0;if(!i)C=0;else{u=i+4+15&-16;c[u+-4>>2]=i;C=u}A=C;B=c[z>>2]|0}C=b+60|0;u=c[C>>2]|0;if((B|0)<=0)if(!u)D=b+64|0;else y=38;else{i=0;do{c[A+(i<<2)>>2]=c[u+(i<<2)>>2];i=i+1|0}while((i|0)!=(B|0));y=38}if((y|0)==38){y=b+64|0;if(a[y>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[u+-4>>2]|0)}c[C>>2]=0;D=y}a[D>>0]=1;c[C>>2]=A;c[d>>2]=j;E=c[z>>2]|0}else E=t;g[(c[b+60>>2]|0)+(E<<2)>>2]=e;c[z>>2]=E+1;E=b+72|0;z=c[E>>2]|0;t=b+76|0;if((z|0)==(c[t>>2]|0)?(j=z|0?z<<1:1,(z|0)<(j|0)):0){if(!j){F=0;G=z}else{c[4350]=(c[4350]|0)+1;d=Tr((j<<4|3)+16|0)|0;if(!d)H=0;else{A=d+4+15&-16;c[A+-4>>2]=d;H=A}F=H;G=c[E>>2]|0}H=b+80|0;if((G|0)>0){A=0;do{d=F+(A<<4)|0;C=(c[H>>2]|0)+(A<<4)|0;c[d>>2]=c[C>>2];c[d+4>>2]=c[C+4>>2];c[d+8>>2]=c[C+8>>2];c[d+12>>2]=c[C+12>>2];A=A+1|0}while((A|0)!=(G|0))}G=c[H>>2]|0;A=b+84|0;if(G|0){if(a[A>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[G+-4>>2]|0)}c[H>>2]=0}a[A>>0]=1;c[H>>2]=F;c[t>>2]=j;I=c[E>>2]|0}else I=z;z=(c[b+80>>2]|0)+(I<<4)|0;c[z>>2]=c[f>>2];c[z+4>>2]=c[f+4>>2];c[z+8>>2]=c[f+8>>2];c[z+12>>2]=c[f+12>>2];c[E>>2]=(c[E>>2]|0)+1;E=b+92|0;f=c[E>>2]|0;z=b+96|0;if((f|0)!=(c[z>>2]|0)){J=f;K=b+100|0;L=c[K>>2]|0;M=L+(J<<4)|0;c[M>>2]=c[h>>2];c[M+4>>2]=c[h+4>>2];c[M+8>>2]=c[h+8>>2];c[M+12>>2]=c[h+12>>2];N=c[E>>2]|0;O=N+1|0;c[E>>2]=O;return}I=f|0?f<<1:1;if((f|0)>=(I|0)){J=f;K=b+100|0;L=c[K>>2]|0;M=L+(J<<4)|0;c[M>>2]=c[h>>2];c[M+4>>2]=c[h+4>>2];c[M+8>>2]=c[h+8>>2];c[M+12>>2]=c[h+12>>2];N=c[E>>2]|0;O=N+1|0;c[E>>2]=O;return}if(!I){P=0;Q=f}else{c[4350]=(c[4350]|0)+1;f=Tr((I<<4|3)+16|0)|0;if(!f)R=0;else{j=f+4+15&-16;c[j+-4>>2]=f;R=j}P=R;Q=c[E>>2]|0}R=b+100|0;if((Q|0)>0){j=0;do{f=P+(j<<4)|0;t=(c[R>>2]|0)+(j<<4)|0;c[f>>2]=c[t>>2];c[f+4>>2]=c[t+4>>2];c[f+8>>2]=c[t+8>>2];c[f+12>>2]=c[t+12>>2];j=j+1|0}while((j|0)!=(Q|0))}Q=c[R>>2]|0;j=b+104|0;if(Q|0){if(a[j>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[Q+-4>>2]|0)}c[R>>2]=0}a[j>>0]=1;c[R>>2]=P;c[z>>2]=I;J=c[E>>2]|0;K=b+100|0;L=c[K>>2]|0;M=L+(J<<4)|0;c[M>>2]=c[h>>2];c[M+4>>2]=c[h+4>>2];c[M+8>>2]=c[h+8>>2];c[M+12>>2]=c[h+12>>2];N=c[E>>2]|0;O=N+1|0;c[E>>2]=O;return}function He(b,d,e){b=b|0;d=d|0;e=+e;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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;f=d;d=b+12|0;h=c[d>>2]|0;i=b+16|0;if((h|0)==(c[i>>2]|0)?(j=h|0?h<<1:1,(h|0)<(j|0)):0){if(!j){k=0;l=h}else{c[4350]=(c[4350]|0)+1;m=Tr((j<<2|3)+16|0)|0;if(!m)n=0;else{o=m+4+15&-16;c[o+-4>>2]=m;n=o}k=n;l=c[d>>2]|0}n=b+20|0;if((l|0)>0){o=0;do{c[k+(o<<2)>>2]=c[(c[n>>2]|0)+(o<<2)>>2];o=o+1|0}while((o|0)!=(l|0))}o=c[n>>2]|0;m=b+24|0;if(!o)p=l;else{if(!(a[m>>0]|0))q=l;else{c[4351]=(c[4351]|0)+1;Ur(c[o+-4>>2]|0);q=c[d>>2]|0}c[n>>2]=0;p=q}a[m>>0]=1;c[n>>2]=k;c[i>>2]=j;r=p}else r=h;c[(c[b+20>>2]|0)+(r<<2)>>2]=f;c[d>>2]=r+1;r=b+32|0;d=c[r>>2]|0;f=b+36|0;if((d|0)==(c[f>>2]|0)?(h=d|0?d<<1:1,(d|0)<(h|0)):0){if(!h){s=0;t=d}else{c[4350]=(c[4350]|0)+1;p=Tr(h+19|0)|0;if(!p)u=0;else{j=p+4+15&-16;c[j+-4>>2]=p;u=j}s=u;t=c[r>>2]|0}u=b+40|0;j=c[u>>2]|0;if((t|0)<=0)if(!j)v=b+44|0;else w=24;else{p=0;do{a[s+p>>0]=a[j+p>>0]|0;p=p+1|0}while((p|0)!=(t|0));w=24}if((w|0)==24){t=b+44|0;if(a[t>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[j+-4>>2]|0)}c[u>>2]=0;v=t}a[v>>0]=1;c[u>>2]=s;c[f>>2]=h;x=c[r>>2]|0}else x=d;a[(c[b+40>>2]|0)+x>>0]=1;c[r>>2]=x+1;x=b+52|0;r=c[x>>2]|0;d=b+56|0;if((r|0)!=(c[d>>2]|0)){y=r;z=b+60|0;A=c[z>>2]|0;B=A+(y<<2)|0;g[B>>2]=e;C=y+1|0;c[x>>2]=C;return}h=r|0?r<<1:1;if((r|0)>=(h|0)){y=r;z=b+60|0;A=c[z>>2]|0;B=A+(y<<2)|0;g[B>>2]=e;C=y+1|0;c[x>>2]=C;return}if(!h){D=0;E=r}else{c[4350]=(c[4350]|0)+1;r=Tr((h<<2|3)+16|0)|0;if(!r)F=0;else{f=r+4+15&-16;c[f+-4>>2]=r;F=f}D=F;E=c[x>>2]|0}F=b+60|0;f=c[F>>2]|0;if((E|0)<=0)if(!f)G=b+64|0;else w=38;else{r=0;do{c[D+(r<<2)>>2]=c[f+(r<<2)>>2];r=r+1|0}while((r|0)!=(E|0));w=38}if((w|0)==38){w=b+64|0;if(a[w>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[f+-4>>2]|0)}c[F>>2]=0;G=w}a[G>>0]=1;c[F>>2]=D;c[d>>2]=h;y=c[x>>2]|0;z=b+60|0;A=c[z>>2]|0;B=A+(y<<2)|0;g[B>>2]=e;C=y+1|0;c[x>>2]=C;return}function Ie(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,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;e=i;i=i+32|0;f=e+16|0;g=e;h=b+12|0;j=c[h>>2]|0;if((j|0)<(d|0)){k=b+16|0;if((c[k>>2]|0)<(d|0)){if(!d){l=0;m=j}else{c[4350]=(c[4350]|0)+1;n=Tr((d<<2|3)+16|0)|0;if(!n)o=0;else{p=n+4+15&-16;c[p+-4>>2]=n;o=p}l=o;m=c[h>>2]|0}o=b+20|0;if((m|0)>0){p=0;do{c[l+(p<<2)>>2]=c[(c[o>>2]|0)+(p<<2)>>2];p=p+1|0}while((p|0)!=(m|0))}m=c[o>>2]|0;p=b+24|0;if(m|0){if(a[p>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[m+-4>>2]|0)}c[o>>2]=0}a[p>>0]=1;c[o>>2]=l;c[k>>2]=d;q=o}else q=b+20|0;o=j;do{c[(c[q>>2]|0)+(o<<2)>>2]=0;o=o+1|0}while((o|0)!=(d|0))}c[h>>2]=d;h=b+32|0;o=c[h>>2]|0;if((o|0)<(d|0)){q=b+36|0;do if((c[q>>2]|0)<(d|0)){if(!d){r=0;s=o}else{c[4350]=(c[4350]|0)+1;j=Tr(d+19|0)|0;if(!j)t=0;else{k=j+4+15&-16;c[k+-4>>2]=j;t=k}r=t;s=c[h>>2]|0}k=b+40|0;j=c[k>>2]|0;if((s|0)<=0){if(!j){a[b+44>>0]=1;c[k>>2]=r;c[q>>2]=d;u=r;break}}else{l=0;do{a[r+l>>0]=a[j+l>>0]|0;l=l+1|0}while((l|0)!=(s|0))}l=b+44|0;if(a[l>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[j+-4>>2]|0)}a[l>>0]=1;c[k>>2]=r;c[q>>2]=d;u=r}else u=c[b+40>>2]|0;while(0);Bs(u+o|0,0,d-o|0)|0}c[h>>2]=d;h=b+52|0;o=c[h>>2]|0;if((o|0)<(d|0)){u=b+56|0;do if((c[u>>2]|0)<(d|0)){if(!d){v=0;w=o}else{c[4350]=(c[4350]|0)+1;r=Tr((d<<2|3)+16|0)|0;if(!r)x=0;else{q=r+4+15&-16;c[q+-4>>2]=r;x=q}v=x;w=c[h>>2]|0}q=b+60|0;r=c[q>>2]|0;if((w|0)<=0){if(!r){a[b+64>>0]=1;c[q>>2]=v;c[u>>2]=d;y=v;break}}else{s=0;do{c[v+(s<<2)>>2]=c[r+(s<<2)>>2];s=s+1|0}while((s|0)!=(w|0))}s=b+64|0;if(a[s>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[r+-4>>2]|0)}a[s>>0]=1;c[q>>2]=v;c[u>>2]=d;y=v}else y=c[b+60>>2]|0;while(0);Bs(y+(o<<2)|0,0,d-o<<2|0)|0}c[h>>2]=d;if(!(a[b>>0]|0)){i=e;return}h=b+72|0;o=c[h>>2]|0;if((o|0)<(d|0)){y=b+76|0;if((c[y>>2]|0)<(d|0)){if(!d){z=0;A=o}else{c[4350]=(c[4350]|0)+1;v=Tr((d<<4|3)+16|0)|0;if(!v)B=0;else{u=v+4+15&-16;c[u+-4>>2]=v;B=u}z=B;A=c[h>>2]|0}B=b+80|0;if((A|0)>0){u=0;do{v=z+(u<<4)|0;w=(c[B>>2]|0)+(u<<4)|0;c[v>>2]=c[w>>2];c[v+4>>2]=c[w+4>>2];c[v+8>>2]=c[w+8>>2];c[v+12>>2]=c[w+12>>2];u=u+1|0}while((u|0)!=(A|0))}A=c[B>>2]|0;u=b+84|0;if(A|0){if(a[u>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[A+-4>>2]|0)}c[B>>2]=0}a[u>>0]=1;c[B>>2]=z;c[y>>2]=d;C=B}else C=b+80|0;B=o;do{o=(c[C>>2]|0)+(B<<4)|0;c[o>>2]=c[f>>2];c[o+4>>2]=c[f+4>>2];c[o+8>>2]=c[f+8>>2];c[o+12>>2]=c[f+12>>2];B=B+1|0}while((B|0)!=(d|0))}c[h>>2]=d;h=b+92|0;B=c[h>>2]|0;if((B|0)<(d|0)){f=b+96|0;if((c[f>>2]|0)<(d|0)){if(!d){D=0;E=B}else{c[4350]=(c[4350]|0)+1;C=Tr((d<<4|3)+16|0)|0;if(!C)F=0;else{o=C+4+15&-16;c[o+-4>>2]=C;F=o}D=F;E=c[h>>2]|0}F=b+100|0;if((E|0)>0){o=0;do{C=D+(o<<4)|0;y=(c[F>>2]|0)+(o<<4)|0;c[C>>2]=c[y>>2];c[C+4>>2]=c[y+4>>2];c[C+8>>2]=c[y+8>>2];c[C+12>>2]=c[y+12>>2];o=o+1|0}while((o|0)!=(E|0))}E=c[F>>2]|0;o=b+104|0;if(E|0){if(a[o>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[E+-4>>2]|0)}c[F>>2]=0}a[o>>0]=1;c[F>>2]=D;c[f>>2]=d;G=F}else G=b+100|0;b=B;do{B=(c[G>>2]|0)+(b<<4)|0;c[B>>2]=c[g>>2];c[B+4>>2]=c[g+4>>2];c[B+8>>2]=c[g+8>>2];c[B+12>>2]=c[g+12>>2];b=b+1|0}while((b|0)!=(d|0))}c[h>>2]=d;i=e;return}function Je(a){a=a|0;return}function Ke(a){a=a|0;Ur(a);return}function Le(d,f,h){d=d|0;f=f|0;h=+h;var j=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0.0,v=0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0,M=0,P=0,S=0,T=0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;j=i;i=i+96|0;l=j;m=d+4|0;n=c[m>>2]|0;o=d+64|0;Hs(o|0,n+52|0,16)|0;p=+g[d+8>>2];q=p+ +g[d+12>>2];r=q*0.0;s=+g[o>>2];t=d+68|0;u=+g[t>>2];v=d+72|0;w=+g[v>>2];g[d+80>>2]=s+r;g[d+84>>2]=u+r;g[d+88>>2]=w-q;g[d+92>>2]=0.0;q=p*0.0*1.100000023841858;g[d+96>>2]=s+q;g[d+100>>2]=u-p*1.100000023841858;g[d+104>>2]=q+w;g[d+108>>2]=0.0;x=n;n=d+56|0;y=d+60|0;z=l+4|0;A=l+8|0;c[A>>2]=0;B=l+12|0;C=l+14|0;D=l+16|0;E=D+36|0;do{c[D>>2]=0;D=D+4|0}while((D|0)<(E|0));c[l>>2]=2248;c[l+84>>2]=x;b[B>>1]=~~+g[n>>2];b[C>>1]=~~+g[y>>2];g[z>>2]=1.0;ec[c[(c[f>>2]|0)+32>>2]&63](f,o,d+80|0,l);if(!(c[A>>2]|0))g[d+112>>2]=1.0;else c[d+112>>2]=c[z>>2];g[z>>2]=1.0;ec[c[(c[f>>2]|0)+32>>2]&63](f,o,d+96|0,l);if(!(c[A>>2]|0))g[d+116>>2]=1.0;else c[d+116>>2]=c[z>>2];z=c[d+48>>2]|0;if(z|0){w=+af(z,+g[o>>2],-+g[t>>2],c[d+52>>2]|0);g[d+44>>2]=+g[v>>2]-w}v=d+16|0;if((e[v>>1]|0)<2){t=c[m>>2]|0;o=t+336|0;z=o;A=c[z>>2]|0;f=c[z+4>>2]|0;z=t+344|0;w=+g[z>>2];y=t+348|0;C=c[y>>2]|0;n=d+140|0;q=+g[n>>2];B=d+44|0;p=+g[B>>2];u=q-p;s=+g[d+112>>2];do if(!(p<q&p>-1.5)){if(s<.9?(a[d+144>>0]|0)==0:0){r=(.8999999761581421-s)*(+g[d+120>>2]*4.0);F=+N(+r);if((g[k>>2]=F,c[k>>2]|0)>>>0<=2139095040)if(((g[k>>2]=r,c[k>>2]|0)|0)<0)G=r;else G=r<5.0?r:5.0;else G=5.0;x=t+284|0;c[x>>2]=(c[x>>2]|0)+1;g[z>>2]=G;break}if(w<0.0&s<=.949999988079071){a[d+144>>0]=0;x=t+284|0;c[x>>2]=(c[x>>2]|0)+1;x=o;c[x>>2]=A;c[x+4>>2]=f;g[z>>2]=0.0;c[y>>2]=C;break}if(s<1.0?(a[d+144>>0]|0)==0:0){r=(s+-.949999988079071)*(+g[d+120>>2]*-13.0);x=t+284|0;c[x>>2]=(c[x>>2]|0)+1;g[z>>2]=r}}else{r=+g[t+368>>2];F=1.0/r;H=u<.20000000298023224?u:.20000000298023224;I=H*(F*0.0*h);J=r*(+g[t+376>>2]*I);K=r*(+g[t+380>>2]*(H*(F*10.0*h)));g[t+336>>2]=(c[k>>2]=A,+g[k>>2])+r*(+g[t+372>>2]*I);x=t+340|0;g[x>>2]=J+ +g[x>>2];g[z>>2]=K+w}while(0);z=c[m>>2]|0;w=+g[z+368>>2];if(w!=0.0){s=1.0/w*0.0;g[z+388>>2]=s;g[z+392>>2]=s;g[z+396>>2]=s;g[z+400>>2]=0.0}t=z+404|0;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;if(+g[B>>2]>+g[n>>2]?(b[v>>1]&-2)<<16>>16!=2:0){t=c[m>>2]|0;s=+g[t+368>>2];w=1.0/s;G=u*-2.0;u=G<1.0?G:1.0;G=u*(w*0.0*h);p=s*(+g[t+376>>2]*G);q=s*(+g[t+380>>2]*(u*(w*-10.0*h)));z=t+336|0;g[z>>2]=+g[z>>2]+s*(+g[t+372>>2]*G);z=t+340|0;g[z>>2]=p+ +g[z>>2];z=t+344|0;g[z>>2]=q+ +g[z>>2];L=n;M=B}else{L=n;M=B}}else{L=d+140|0;M=d+44|0}B=c[m>>2]|0;n=B+336|0;q=+g[n>>2];z=B+340|0;p=+g[z>>2];t=B+344|0;A=c[t>>2]|0;C=B+348|0;G=(c[k>>2]=A,+g[k>>2]);s=+O(+(q*q+p*p+G*G));y=d+20|0;f=c[y>>2]|0;o=d+24|0;x=c[o>>2]|0;D=c[d+28>>2]|0;E=+g[M>>2]<+g[L>>2];w=(c[k>>2]=f,+g[k>>2]);u=(c[k>>2]=x,+g[k>>2]);if(!E?(b[v>>1]|0)!=3:0){P=f;S=x;T=D}else{K=+g[d+40>>2]*.5;J=+R(+K);I=J*0.0;r=+Q(+K);K=(c[k>>2]=D,+g[k>>2]);F=K*I-u*I;H=w*I;U=H-K*J;V=u*J-H;H=I*F;W=r*2.0;D=(g[k>>2]=w+W*F+(I*V-I*U)*2.0,c[k>>2]|0);x=(g[k>>2]=u+W*U+(H-J*V)*2.0,c[k>>2]|0);P=D;S=x;T=(g[k>>2]=K+W*V+(J*U-H)*2.0,c[k>>2]|0)}H=+g[d+36>>2]*.5;U=+R(+H);J=U*0.0;V=+Q(+H);H=(c[k>>2]=T,+g[k>>2]);W=H*J;K=(c[k>>2]=S,+g[k>>2]);I=W-K*U;F=(c[k>>2]=P,+g[k>>2]);r=F*U-W;W=K*J-F*J;X=J*W;Y=V*2.0;V=F+Y*I+(X-U*r)*2.0;F=K+Y*r+(U*I-X)*2.0;X=H+Y*W+(J*r-J*I)*2.0;I=+N(+V);J=+N(+F);r=+N(+X);g[l>>2]=I;g[l+4>>2]=J;g[l+8>>2]=r;g[l+12>>2]=0.0;W=+g[l+((I<J?(J<r?2:1):I<r?2:0)<<2)>>2];if(W>0.0){r=1.0/W;W=V*r;V=F*r;F=X*r;r=1.0/+O(+(F*F+(V*V+W*W)));Z=W*r;_=V*r;$=F*r}else{Z=1.0;_=0.0;$=0.0}switch(b[v>>1]|0){case 1:case 0:{if(+g[d+112>>2]<1.0|E){r=1.0/+O(+(Z*Z+_*_+0.0));F=Z*r;V=_*r;W=r*0.0*0.0+(q*F+p*V);r=1.0-h*10.0;X=+N(+r);v=(g[k>>2]=X,c[k>>2]|0)>>>0>2139095040;X=v|((g[k>>2]=r,c[k>>2]|0)|0)<0|r<0.0?0.0:r;v=w!=0.0|u!=0.0;r=v?F*W:q*X;q=v?V*W:p*X;v=d+120|0;l=s>+g[v>>2];P=E?(g[k>>2]=G*X,c[k>>2]|0):A;A=B+284|0;c[A>>2]=(c[A>>2]|0)+1;g[n>>2]=l?X*r:r;g[z>>2]=l?X*q:q;c[t>>2]=P;aa=v}else aa=d+120|0;if(!(s<+g[aa>>2])){i=j;return}if(!(+g[y>>2]!=0.0)?!(+g[o>>2]!=0.0):0){i=j;return}o=c[m>>2]|0;s=+g[o+368>>2];q=1.0/s;X=s*(+g[o+376>>2]*(_*30.0*q*h));r=s*((+g[M>>2]<+g[L>>2]?$*30.0:0.0)*q*h*+g[o+380>>2]);L=o+336|0;g[L>>2]=+g[L>>2]+s*(+g[o+372>>2]*(Z*30.0*q*h));L=o+340|0;g[L>>2]=X+ +g[L>>2];L=o+344|0;g[L>>2]=r+ +g[L>>2];i=j;return}case 2:{r=+g[d+124>>2];if(w!=0.0|u!=0.0){L=(g[k>>2]=Z*.20000000298023224*r,c[k>>2]|0);ba=L;ca=(g[k>>2]=_*.20000000298023224*r,c[k>>2]|0)}else{ba=0;ca=0}X=-(u*r*(+g[d+40>>2]<0.0?1.0:-1.0));L=B+284|0;c[L>>2]=(c[L>>2]|0)+1;c[B+336>>2]=ba;c[z>>2]=ca;g[t>>2]=X;g[C>>2]=0.0;i=j;return}case 3:{if(w!=0.0|u!=0.0){u=+g[d+120>>2];d=(g[k>>2]=Z*u,c[k>>2]|0);ca=(g[k>>2]=_*u,c[k>>2]|0);da=d;ea=ca;fa=(g[k>>2]=$*u,c[k>>2]|0)}else{da=0;ea=0;fa=0}ca=B+284|0;c[ca>>2]=(c[ca>>2]|0)+1;c[B+336>>2]=da;c[z>>2]=ea;c[t>>2]=fa;g[C>>2]=0.0;i=j;return}default:{i=j;return}}}function Me(a){a=a|0;Ur(a);return}function Ne(a,d){a=a|0;d=d|0;var e=0,f=0;e=c[d+4>>2]|0;if(!((b[a+14>>1]&(e&65535))<<16>>16)){f=0;return f|0}f=(e>>>16&65535&b[a+12>>1])<<16>>16!=0;return f|0}function Oe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0;e=c[b>>2]|0;if((e|0)==(c[a+84>>2]|0)){f=1.0;return +f}h=b+24|0;c[a+4>>2]=c[h>>2];c[a+8>>2]=e;if(d){d=a+52|0;i=b+8|0;c[d>>2]=c[i>>2];c[d+4>>2]=c[i+4>>2];c[d+8>>2]=c[i+8>>2];c[d+12>>2]=c[i+12>>2]}else{j=+g[b+8>>2];k=+g[b+12>>2];l=+g[b+16>>2];m=j*+g[e+20>>2]+k*+g[e+24>>2]+l*+g[e+28>>2];n=j*+g[e+36>>2]+k*+g[e+40>>2]+l*+g[e+44>>2];g[a+52>>2]=+g[e+4>>2]*j+ +g[e+8>>2]*k+ +g[e+12>>2]*l;g[a+56>>2]=m;g[a+60>>2]=n;g[a+64>>2]=0.0}n=+g[h>>2];m=1.0-n;g[a+68>>2]=m*+g[a+20>>2]+n*+g[a+36>>2];g[a+72>>2]=m*+g[a+24>>2]+n*+g[a+40>>2];g[a+76>>2]=m*+g[a+28>>2]+n*+g[a+44>>2];f=+g[h>>2];return +f}function Pe(a,b){a=a|0;b=b|0;return}function Qe(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=2272;d=b+64|0;e=b+72|0;f=c[e>>2]|0;g=b+76|0;if(f|0){if(a[g>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[f+-4>>2]|0)}c[e>>2]=0}a[g>>0]=1;c[e>>2]=0;c[d>>2]=0;c[b+68>>2]=0;return}function Re(b){b=b|0;var d=0;c[b>>2]=2272;d=c[b+72>>2]|0;if(!d){Ur(b);return}if(!(a[b+76>>0]|0)){Ur(b);return}c[4351]=(c[4351]|0)+1;Ur(c[d+-4>>2]|0);Ur(b);return}function Se(a,b,d){a=a|0;b=b|0;d=+d;ub[c[(c[a>>2]|0)+16>>2]&31](a,d);return}function Te(a,b){a=a|0;b=b|0;return}function Ue(b,d){b=b|0;d=+d;var e=0,f=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.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0,F=0.0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,S=0.0,T=0,U=0,V=0.0,W=0,X=0.0,Y=0.0;e=i;i=i+80|0;f=e+64|0;h=e+48|0;j=e+44|0;k=e+40|0;l=e+36|0;m=e+32|0;n=e+16|0;o=e;p=b+64|0;q=c[p>>2]|0;if((q|0)>0){r=b+72|0;s=b+36|0;t=0;do{u=c[r>>2]|0;v=u+(t*172|0)|0;Ve(c[s>>2]|0,v,0);w=-+g[u+(t*172|0)+80>>2];x=-+g[u+(t*172|0)+84>>2];y=-+g[u+(t*172|0)+88>>2];z=+g[u+(t*172|0)+104>>2];A=+g[u+(t*172|0)+100>>2];B=+g[u+(t*172|0)+96>>2];g[v>>2]=B;g[u+(t*172|0)+4>>2]=z*x-A*y;g[u+(t*172|0)+8>>2]=w;g[u+(t*172|0)+12>>2]=0.0;g[u+(t*172|0)+16>>2]=A;g[u+(t*172|0)+20>>2]=B*y-z*w;g[u+(t*172|0)+24>>2]=x;g[u+(t*172|0)+28>>2]=0.0;g[u+(t*172|0)+32>>2]=z;g[u+(t*172|0)+36>>2]=A*w-B*x;g[u+(t*172|0)+40>>2]=y;g[u+(t*172|0)+44>>2]=0.0;v=u+(t*172|0)+64|0;C=u+(t*172|0)+48|0;c[C>>2]=c[v>>2];c[C+4>>2]=c[v+4>>2];c[C+8>>2]=c[v+8>>2];c[C+12>>2]=c[v+12>>2];t=t+1|0;v=c[p>>2]|0}while((t|0)<(v|0));D=s;E=v}else{D=b+36|0;E=q}q=c[D>>2]|0;s=c[b+56>>2]|0;y=+g[q+4+(s<<2)>>2];x=+g[q+20+(s<<2)>>2];B=+g[q+36+(s<<2)>>2];s=q+336|0;w=+g[s>>2];t=q+340|0;A=+g[t>>2];r=q+344|0;z=+g[r>>2];F=+O(+(w*w+A*A+z*z))*3.5999999046325684;v=b+12|0;g[v>>2]=F;if(y*+g[s>>2]+x*+g[t>>2]+B*+g[r>>2]<0.0)g[v>>2]=-F;do if((E|0)>0){v=b+72|0;r=b+40|0;t=b+16|0;s=f+4|0;C=f+8|0;u=f+12|0;G=h+4|0;H=h+8|0;I=h+12|0;J=b+44|0;K=E;L=0;M=0;while(1){N=c[v>>2]|0;P=c[r>>2]|0;if(!P)S=-1.0;else{F=+g[N+(L*172|0)+56>>2];z=+af(P,+g[N+(L*172|0)+48>>2],-+g[N+(L*172|0)+52>>2],c[J>>2]|0);if(F<=z)a[N+(L*172|0)+112>>0]=1;S=z-F}if(!(a[N+(L*172|0)+112>>0]|0)){T=K;U=M}else{F=1.0/+(K|0);P=c[D>>2]|0;z=1.0/+g[P+368>>2];A=S<.5?S:.5;w=+g[t>>2];V=w*(A*(F*0.0*z*10.0*d));g[f>>2]=V;g[s>>2]=V;g[C>>2]=w*(A*(F*z*10.0*d));g[u>>2]=0.0;z=+g[N+(L*172|0)+68>>2]-+g[P+56>>2];F=+g[N+(L*172|0)+72>>2]-+g[P+60>>2];g[h>>2]=+g[N+(L*172|0)+64>>2]-+g[P+52>>2];g[G>>2]=z;g[H>>2]=F;g[I>>2]=0.0;We(P,f,h);T=c[p>>2]|0;U=M+1|0}L=L+1|0;if((L|0)>=(T|0))break;else{K=T;M=U}}if((U|0)<=0){W=c[D>>2]|0;break}F=+g[b+8>>2]*d*+(T|0);z=y*F*10.0;A=x*F*10.0;w=B*F*10.0;F=+g[b+4>>2];V=+Q(+F);X=+R(+-F);F=V*0.0;Y=X*0.0;g[n>>2]=V*z+(F*0.0-X)*A+(F+Y)*w;g[n+4>>2]=(Y-F)*w+(X*z+A*(V+Y*0.0));g[n+8>>2]=w+(A*0.0-z*0.0);g[n+12>>2]=0.0;g[o>>2]=-y;g[o+4>>2]=-x;g[o+8>>2]=-B;g[o+12>>2]=0.0;We(c[D>>2]|0,n,o);M=c[D>>2]|0;z=+g[b+28>>2];A=+g[b+32>>2];g[f>>2]=z;g[h>>2]=A;g[j>>2]=0.0;g[k>>2]=1.0;c[M+468>>2]=c[(z<0.0?j:z>1.0?k:f)>>2];g[l>>2]=0.0;g[m>>2]=1.0;c[M+472>>2]=c[(A<0.0?l:A>1.0?m:h)>>2];i=e;return}else W=q;while(0);B=+g[b+20>>2];x=+g[b+24>>2];g[f>>2]=B;g[h>>2]=x;g[j>>2]=0.0;g[k>>2]=1.0;c[W+468>>2]=c[(B<0.0?j:B>1.0?k:f)>>2];g[l>>2]=0.0;g[m>>2]=1.0;c[W+472>>2]=c[(x<0.0?l:x>1.0?m:h)>>2];i=e;return}function Ve(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.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,y=0.0;f=i;i=i+64|0;h=f;a[d+112>>0]=0;j=b+4|0;c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];c[h+8>>2]=c[j+8>>2];c[h+12>>2]=c[j+12>>2];j=h+16|0;k=b+20|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];k=h+32|0;j=b+36|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];j=h+48|0;k=b+52|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];if(e?(e=c[b+504>>2]|0,e|0):0)xb[c[(c[e>>2]|0)+8>>2]&127](e,h);l=+g[d+116>>2];m=+g[h>>2];n=+g[d+120>>2];o=+g[h+4>>2];p=+g[d+124>>2];q=+g[h+8>>2];r=+g[h+16>>2];s=+g[h+20>>2];t=+g[h+24>>2];u=+g[h+32>>2];v=+g[h+36>>2];w=+g[h+40>>2];x=l*r+n*s+p*t+ +g[h+52>>2];y=l*u+n*v+p*w+ +g[h+56>>2];g[d+64>>2]=l*m+n*o+p*q+ +g[h+48>>2];g[d+68>>2]=x;g[d+72>>2]=y;g[d+76>>2]=0.0;y=+g[d+132>>2];x=+g[d+136>>2];p=+g[d+140>>2];g[d+80>>2]=m*y+o*x+q*p;g[d+84>>2]=y*r+x*s+p*t;g[d+88>>2]=y*u+x*v+p*w;g[d+92>>2]=0.0;p=+g[d+148>>2];x=+g[d+152>>2];y=+g[d+156>>2];g[d+96>>2]=m*p+o*x+q*y;g[d+100>>2]=p*r+x*s+y*t;g[d+104>>2]=p*u+x*v+y*w;g[d+108>>2]=0.0;i=f;return}function We(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0,h=0.0,i=0,j=0.0,k=0.0,l=0.0,m=0,n=0.0,o=0.0;d=+g[a+368>>2];if(!(d!=0.0))return;e=+g[a+372>>2];f=b+4|0;h=+g[a+376>>2];i=b+8|0;j=+g[a+380>>2];k=d*(+g[f>>2]*h);l=d*(+g[i>>2]*j);m=a+336|0;g[m>>2]=d*(+g[b>>2]*e)+ +g[m>>2];m=a+340|0;g[m>>2]=k+ +g[m>>2];m=a+344|0;g[m>>2]=l+ +g[m>>2];l=+g[b>>2]*e;e=+g[f>>2]*h;h=+g[i>>2]*j;j=+g[c+4>>2];k=+g[c+8>>2];d=j*h-e*k;n=+g[c>>2];o=l*k-h*n;h=e*n-l*j;j=(d*+g[a+304>>2]+o*+g[a+308>>2]+h*+g[a+312>>2])*+g[a+572>>2];l=(d*+g[a+320>>2]+o*+g[a+324>>2]+h*+g[a+328>>2])*+g[a+576>>2];c=a+352|0;g[c>>2]=(+g[a+288>>2]*d+ +g[a+292>>2]*o+h*+g[a+296>>2])*+g[a+568>>2]+ +g[c>>2];c=a+356|0;g[c>>2]=j+ +g[c>>2];c=a+360|0;g[c>>2]=l+ +g[c>>2];return}function Xe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a+48>>2]=b;c[a+52>>2]=d;c[a+56>>2]=e;return}function Ye(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=2304;d=b+40|0;e=b+48|0;f=c[e>>2]|0;g=b+52|0;if(f|0){if(a[g>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[f+-4>>2]|0)}c[e>>2]=0}a[g>>0]=1;c[e>>2]=0;c[d>>2]=0;c[b+44>>2]=0;return}function Ze(b){b=b|0;var d=0;c[b>>2]=2304;d=c[b+48>>2]|0;if(!d){Ur(b);return}if(!(a[b+52>>0]|0)){Ur(b);return}c[4351]=(c[4351]|0)+1;Ur(c[d+-4>>2]|0);Ur(b);return}function _e(b,d,e){b=b|0;d=d|0;e=+e;var f=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.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.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.0,T=0,U=0,V=0,W=0,X=0;d=i;i=i+48|0;f=d+32|0;h=d+16|0;j=d+12|0;k=d+8|0;l=d+4|0;m=d;n=b+40|0;if((c[n>>2]|0)>0){o=b+48|0;p=b+4|0;q=0;do{r=c[o>>2]|0;a[r+(q*132|0)+112>>0]=0;s=c[p>>2]|0;t=+g[s+4>>2];u=+g[s+8>>2];v=+g[s+12>>2];w=+g[s+20>>2];x=+g[s+24>>2];y=+g[s+28>>2];z=+g[s+36>>2];A=+g[s+40>>2];B=+g[s+44>>2];C=+g[r+(q*132|0)+116>>2];D=+g[r+(q*132|0)+120>>2];E=+g[r+(q*132|0)+124>>2];F=+g[s+56>>2]+(w*C+x*D+y*E);G=+g[s+60>>2]+(z*C+A*D+B*E);g[r+(q*132|0)+64>>2]=+g[s+52>>2]+(t*C+u*D+v*E);g[r+(q*132|0)+68>>2]=F;g[r+(q*132|0)+72>>2]=G;g[r+(q*132|0)+76>>2]=0.0;G=v*0.0;v=t*0.0+u+G;F=y*0.0;y=w*0.0+x+F;E=B*0.0;B=z*0.0+A+E;g[r+(q*132|0)+80>>2]=v;g[r+(q*132|0)+84>>2]=y;g[r+(q*132|0)+88>>2]=B;g[r+(q*132|0)+92>>2]=0.0;D=t+u*0.0+G;G=w+x*0.0+F;F=z+A*0.0+E;g[r+(q*132|0)+96>>2]=D;g[r+(q*132|0)+100>>2]=G;g[r+(q*132|0)+104>>2]=F;g[r+(q*132|0)+108>>2]=0.0;E=-v;v=-y;y=-B;g[r+(q*132|0)>>2]=D;g[r+(q*132|0)+4>>2]=F*v-G*y;g[r+(q*132|0)+8>>2]=E;g[r+(q*132|0)+12>>2]=0.0;g[r+(q*132|0)+16>>2]=G;g[r+(q*132|0)+20>>2]=D*y-F*E;g[r+(q*132|0)+24>>2]=v;g[r+(q*132|0)+28>>2]=0.0;g[r+(q*132|0)+32>>2]=F;g[r+(q*132|0)+36>>2]=G*E-D*v;g[r+(q*132|0)+40>>2]=y;g[r+(q*132|0)+44>>2]=0.0;s=r+(q*132|0)+64|0;H=r+(q*132|0)+48|0;c[H>>2]=c[s>>2];c[H+4>>2]=c[s+4>>2];c[H+8>>2]=c[s+8>>2];c[H+12>>2]=c[s+12>>2];q=q+1|0;I=c[n>>2]|0}while((q|0)<(I|0));if((I|0)>0){q=b+32|0;s=b+8|0;H=f+4|0;r=f+8|0;J=f+12|0;K=h+4|0;L=h+8|0;M=h+12|0;N=b+28|0;O=I;I=0;P=0;while(1){Q=c[o>>2]|0;R=c[q>>2]|0;if(!R)S=-1.0;else{y=+g[Q+(I*132|0)+56>>2];v=+af(R,+g[Q+(I*132|0)+48>>2],-+g[Q+(I*132|0)+52>>2],c[N>>2]|0);if(y<=v)a[Q+(I*132|0)+112>>0]=1;S=v-y}if(!(a[Q+(I*132|0)+112>>0]|0)){T=O;U=P}else{y=1.0/+(O|0);R=c[p>>2]|0;v=1.0/+g[R+368>>2];D=S<1.0?S:1.0;E=+g[s>>2];G=E*(D*(y*0.0*v*10.0*e));g[f>>2]=G;g[H>>2]=G;g[r>>2]=E*(D*(y*v*10.0*e));g[J>>2]=0.0;v=+g[Q+(I*132|0)+68>>2]-+g[R+56>>2];y=+g[Q+(I*132|0)+72>>2]-+g[R+60>>2];g[h>>2]=+g[Q+(I*132|0)+64>>2]-+g[R+52>>2];g[K>>2]=v;g[L>>2]=y;g[M>>2]=0.0;We(R,f,h);T=c[n>>2]|0;U=P+1|0}I=I+1|0;if((I|0)>=(T|0))break;else{O=T;P=U}}P=c[p>>2]|0;if((U|0)>0){e=+g[b+20>>2];S=+g[b+24>>2];g[f>>2]=e;g[h>>2]=S;g[j>>2]=0.0;g[k>>2]=1.0;c[P+468>>2]=c[(e<0.0?j:e>1.0?k:f)>>2];g[l>>2]=0.0;g[m>>2]=1.0;c[P+472>>2]=c[(S<0.0?l:S>1.0?m:h)>>2];i=d;return}else V=P}else{W=p;X=5}}else{W=b+4|0;X=5}if((X|0)==5)V=c[W>>2]|0;S=+g[b+12>>2];e=+g[b+16>>2];g[f>>2]=S;g[h>>2]=e;g[j>>2]=0.0;g[k>>2]=1.0;c[V+468>>2]=c[(S<0.0?j:S>1.0?k:f)>>2];g[l>>2]=0.0;g[m>>2]=1.0;c[V+472>>2]=c[(e<0.0?l:e>1.0?m:h)>>2];i=d;return}function $e(a,b){a=a|0;b=b|0;return}function af(a,b,d,e){a=a|0;b=+b;d=+d;e=e|0;var f=0,i=0,j=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0.0,x=0,y=0,z=0,A=0,B=0,D=0.0,E=0,F=0,G=0.0,H=0.0,I=0.0,J=0.0;f=c[a>>2]|0;if(!e)i=f;else{j=0;l=f;while(1){j=j+1|0;f=c[l+4>>2]|0;if((j|0)==(e|0)){i=f;break}else l=f}}if(i|0?(m=+g[i+28>>2],m!=0.0):0){n=+g[a+4>>2];l=c[i+40>>2]|0;o=+g[l>>2];p=n*+g[l+8>>2];q=+bf(o*(p+b),o*(p+d));p=+g[l+4>>2];o=n*+g[l+12>>2];r=+bf(p*(d-o),p*(b-o))*(q*m);e=c[i>>2]|0;if((e|0)!=0?(q=(b-+g[i+16>>2])/+g[i+8>>2]+.5,o=(+g[i+20>>2]+d)/+g[i+12>>2]+.5,!(o<0.0|(q>1.0|q<0.0|o>1.0))):0){j=c[i+36>>2]|0;p=+(j|0)+-.5;s=q*p;q=o*p;h[k>>3]=s;f=c[k>>2]|0;t=c[k+4>>2]|0;u=Fs(f|0,t|0,52)|0;v=u&2047;u=v+-1023|0;do if((u|0)>51)if((f|0)==0&(t&1048575|0)==0|(u|0)!=1024){c[k>>2]=0;c[k+4>>2]=t&-2147483648;w=+h[k>>3];x=t;y=f}else{w=s;x=t;y=f}else{if(v>>>0<1023){w=s;x=t&-2147483648;y=0;break}z=Fs(-1,1048575,u|0)|0;A=C;if((z&f|0)==0&(A&t|0)==0){c[k>>2]=0;c[k+4>>2]=t&-2147483648;w=+h[k>>3];x=t;y=f;break}else{B=f&~z;z=t&~A;c[k>>2]=B;c[k+4>>2]=z;w=s-+h[k>>3];x=z;y=B;break}}while(0);s=w;h[k>>3]=q;t=c[k>>2]|0;f=c[k+4>>2]|0;u=Fs(t|0,f|0,52)|0;v=u&2047;u=v+-1023|0;do if((u|0)>51)if((t|0)==0&(f&1048575|0)==0|(u|0)!=1024){c[k>>2]=0;c[k+4>>2]=f&-2147483648;D=+h[k>>3];E=f;F=t}else{D=q;E=f;F=t}else{if(v>>>0<1023){D=q;E=f&-2147483648;F=0;break}B=Fs(-1,1048575,u|0)|0;z=C;if((B&t|0)==0&(z&f|0)==0){c[k>>2]=0;c[k+4>>2]=f&-2147483648;D=+h[k>>3];E=f;F=t;break}else{A=t&~B;B=f&~z;c[k>>2]=A;c[k+4>>2]=B;D=q-+h[k>>3];E=B;F=A;break}}while(0);q=D;c[k>>2]=y;c[k+4>>2]=x;x=~~+h[k>>3];c[k>>2]=F;c[k+4>>2]=E;E=~~+h[k>>3];F=j+-1|0;y=_(E,j)|0;f=x+1|0;t=(f|0)<(F|0)?f:F;f=E+1|0;E=_((f|0)<(F|0)?f:F,j)|0;D=1.0-s;w=(1.0-q)*(D*+g[e+(y+x<<2)>>2]+s*+g[e+(t+y<<2)>>2])+q*(D*+g[e+(E+x<<2)>>2]+s*+g[e+(E+t<<2)>>2]);s=+g[i+32>>2]/+g[i+24>>2]/3.141592653589793;D=+g[l+24>>2];q=n*+g[l+28>>2];p=D*(q+b);b=D*(q+d);d=+O(+w);q=m;m=+g[l+16>>2];i=(g[k>>2]=w,c[k>>2]|0);D=+N(+w);do if((g[k>>2]=D,c[k>>2]|0)>>>0<=2139095040){o=+N(+m);if((g[k>>2]=o,c[k>>2]|0)>>>0<=2139095040)if(((g[k>>2]=m,c[k>>2]|0)^i|0)<0){G=(i|0)<0?m:w;break}else{G=w<m?m:w;break}else G=w}else G=m;while(0);m=q*G*+R(+(d/s+n*+g[l+20>>2]));n=+bf(p,b);b=+g[l+32>>2];i=(g[k>>2]=n,c[k>>2]|0);p=+N(+n);do if((g[k>>2]=p,c[k>>2]|0)>>>0<=2139095040){s=+N(+b);if((g[k>>2]=s,c[k>>2]|0)>>>0<=2139095040)if(((g[k>>2]=b,c[k>>2]|0)^i|0)<0){H=(i|0)<0?b:n;break}else{H=n<b?b:n;break}else H=n}else H=b;while(0);b=+g[l+36>>2];n=d>b?d:b;I=r*n+m*H*(1.0-n)}else I=r;J=I+ +g[a+8>>2];return +J}J=+g[a+8>>2];return +J}function bf(a,b){a=+a;b=+b;var d=0.0,e=0,f=0,i=0.0,j=0.0,l=0.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,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;d=a*.3660254180431366+b*.3660254180431366;e=~~+M(+(d+a));f=~~+M(+(d+b));d=+(e|0);i=+(f|0);j=d*.21132487058639526+i*.21132487058639526;l=a-d+j;d=b-i+j;m=l>d;n=m&1;o=n^1;j=l+.21132487058639526-+(m&1);i=d+.21132487058639526-+(o|0);b=l+-.5773502588272095;a=d+-.5773502588272095;m=(e|0)%289|0;e=(f|0)%289|0;f=((_(e*34|1,e)|0)%289|0)+m|0;p=(_(f*34|1,f)|0)%289|0;f=o+e|0;o=n+m+((_(f*34|1,f)|0)%289|0)|0;f=(_(o*34|1,o)|0)%289|0;o=e+1|0;e=m+1+((_(o*34|1,o)|0)%289|0)|0;o=(_(e*34|1,e)|0)%289|0;q=.5-(l*l+d*d);r=+N(+q);e=(g[k>>2]=r,c[k>>2]|0)>>>0>2139095040;r=e|((g[k>>2]=q,c[k>>2]|0)|0)<0|q<0.0?0.0:q;q=.5-(j*j+i*i);s=+N(+q);e=(g[k>>2]=s,c[k>>2]|0)>>>0>2139095040;s=e|((g[k>>2]=q,c[k>>2]|0)|0)<0|q<0.0?0.0:q;q=.5-(b*b+a*a);t=+N(+q);e=(g[k>>2]=t,c[k>>2]|0)>>>0>2139095040;t=e|((g[k>>2]=q,c[k>>2]|0)|0)<0|q<0.0?0.0:q;q=r*(r*(r*r));r=s*(s*(s*s));s=t*(t*(t*t));t=+(p|0)*.024390242993831635;h[k>>3]=t;p=c[k>>2]|0;e=c[k+4>>2]|0;m=Fs(p|0,e|0,52)|0;n=m&2047;m=n+-1023|0;do if((m|0)>51)if((p|0)==0&(e&1048575|0)==0|(m|0)!=1024){c[k>>2]=0;c[k+4>>2]=e&-2147483648;u=+h[k>>3]}else u=t;else if(n>>>0>=1023){v=Fs(-1,1048575,m|0)|0;w=C;if((v&p|0)==0&(w&e|0)==0){c[k>>2]=0;c[k+4>>2]=e&-2147483648;u=+h[k>>3];break}else{c[k>>2]=p&~v;c[k+4>>2]=e&~w;u=t-+h[k>>3];break}}else u=t;while(0);t=u*2.0+-1.0;u=+(f|0)*.024390242993831635;h[k>>3]=u;f=c[k>>2]|0;e=c[k+4>>2]|0;p=Fs(f|0,e|0,52)|0;m=p&2047;p=m+-1023|0;do if((p|0)>51)if((f|0)==0&(e&1048575|0)==0|(p|0)!=1024){c[k>>2]=0;c[k+4>>2]=e&-2147483648;x=+h[k>>3]}else x=u;else if(m>>>0>=1023){n=Fs(-1,1048575,p|0)|0;w=C;if((n&f|0)==0&(w&e|0)==0){c[k>>2]=0;c[k+4>>2]=e&-2147483648;x=+h[k>>3];break}else{c[k>>2]=f&~n;c[k+4>>2]=e&~w;x=u-+h[k>>3];break}}else x=u;while(0);u=x*2.0+-1.0;x=+(o|0)*.024390242993831635;h[k>>3]=x;o=c[k>>2]|0;e=c[k+4>>2]|0;f=Fs(o|0,e|0,52)|0;p=f&2047;f=p+-1023|0;do if((f|0)>51)if((o|0)==0&(e&1048575|0)==0|(f|0)!=1024){c[k>>2]=0;c[k+4>>2]=e&-2147483648;y=+h[k>>3]}else y=x;else if(p>>>0>=1023){m=Fs(-1,1048575,f|0)|0;w=C;if((m&o|0)==0&(w&e|0)==0){c[k>>2]=0;c[k+4>>2]=e&-2147483648;y=+h[k>>3];break}else{c[k>>2]=o&~m;c[k+4>>2]=e&~w;y=x-+h[k>>3];break}}else y=x;while(0);x=y*2.0+-1.0;y=+N(+t)+-.5;z=+N(+u)+-.5;A=+N(+x)+-.5;B=t-+M(+(t+.5));t=u-+M(+(u+.5));u=x-+M(+(x+.5));return +(((d*y+l*B)*(q*(1.79284291400159-(y*y+B*B)*.85373472095314))+(z*i+j*t)*(r*(1.79284291400159-(z*z+t*t)*.85373472095314))+(a*A+b*u)*(s*(1.79284291400159-(A*A+u*u)*.85373472095314)))*130.0)}function cf(a){a=a|0;Qg(a);return}function df(a){a=a|0;Qg(a);if(!a)return;c[4351]=(c[4351]|0)+1;Ur(c[a+-4>>2]|0);return}function ef(a,b){a=a|0;b=b|0;c[a+72>>2]=b;return}function ff(a){a=a|0;return c[a+72>>2]|0}function gf(a){a=a|0;return 2}function hf(a,b){a=a|0;b=b|0;return}function jf(a,b){a=a|0;b=+b;var d=0,e=0,f=0,g=0;d=a+280|0;if((c[d>>2]|0)<=0)return;e=a+288|0;f=0;do{g=c[(c[e>>2]|0)+(f<<2)>>2]|0;cc[c[(c[g>>2]|0)+8>>2]&7](g,a,b);f=f+1|0}while((f|0)<(c[d>>2]|0));return}function kf(b,d,e,f){b=b|0;d=+d;e=e|0;f=+f;var h=0,i=0.0,j=0,k=0.0,l=0,m=0,n=0,o=0;if(e){g[b+268>>2]=f;h=b+264|0;i=+g[h>>2]+d;g[h>>2]=i;if(i>=f){j=~~(i/f);g[h>>2]=i-+(j|0)*f;k=f;l=e;m=j;n=5}}else{g[b+264>>2]=a[b+300>>0]|0?0.0:d;g[b+268>>2]=0.0;j=!(+N(+d)<1.1920928955078125e-07)&1;k=d;l=j;m=j;n=5}if((n|0)==5?m|0:0){n=(m|0)>(l|0)?l:m;ub[c[(c[b>>2]|0)+164>>2]&31](b,k*+(n|0));o=n;return o|0}vb[c[(c[b>>2]|0)+80>>2]&255](b);o=0;return o|0}function lf(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;return +(b-+g[a+264>>2]-+(~c+d|0)*+g[a+268>>2])}function mf(a,b){a=a|0;b=+b;vb[c[(c[a>>2]|0)+172>>2]&255](a);ub[c[(c[a>>2]|0)+160>>2]&31](a,b);return}function nf(a){a=a|0;vb[c[(c[a>>2]|0)+120>>2]&255](a);return}function of(a){a=a|0;c[a>>2]=2592;return}function pf(a){a=a|0;c[a>>2]=2592;if(!a)return;c[4351]=(c[4351]|0)+1;Ur(c[a+-4>>2]|0);return}function qf(a){a=a|0;return}function rf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return}function sf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return}function tf(a){a=a|0;return 52}function uf(a){a=a|0;c[a>>2]=2592;if(!a)return;c[4351]=(c[4351]|0)+1;Ur(c[a+-4>>2]|0);return}function vf(b){b=b|0;var d=0,e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=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,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;d=i;i=i+176|0;e=d+128|0;f=d+80|0;h=d+32|0;j=d+16|0;k=d;if(!(a[b+527>>0]|0)){i=d;return}g[b+36>>2]=0.0;g[b+520>>2]=0.0;g[b+516>>2]=0.0;l=b+576|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;l=b+28|0;if(!(a[b+524>>0]|0)){m=c[l>>2]|0;n=+g[b+348>>2];o=+g[b+352>>2];p=+g[b+356>>2];q=n*+g[m+20>>2]+o*+g[m+24>>2]+p*+g[m+28>>2]+ +g[m+56>>2];r=b+32|0;s=c[r>>2]|0;t=+g[b+412>>2];u=+g[b+416>>2];v=+g[b+420>>2];w=+g[s+52>>2];x=+g[s+56>>2];y=t*+g[s+20>>2]+u*+g[s+24>>2]+v*+g[s+28>>2]+x;z=t*+g[s+36>>2]+u*+g[s+40>>2]+v*+g[s+44>>2]+ +g[s+60>>2];A=y-q;B=n*+g[m+4>>2]+o*+g[m+8>>2]+p*+g[m+12>>2]+ +g[m+52>>2];C=n*+g[m+36>>2]+o*+g[m+40>>2]+p*+g[m+44>>2]+ +g[m+60>>2];p=t*+g[s+4>>2]+u*+g[s+8>>2]+v*+g[s+12>>2]+w;v=p-B;u=z-C;t=v*v+A*A+u*u;if(t>1.1920928955078125e-07){o=1.0/+O(+t);t=v*o;v=A*o;A=u*o;g[e>>2]=t;g[e+4>>2]=v;g[e+8>>2]=A;c[e+12>>2]=0;D=A;E=v;F=t}else{c[e>>2]=1065353216;c[e+4>>2]=0;c[e+8>>2]=0;g[e+12>>2]=0.0;D=0.0;E=0.0;F=1.0}if(+N(+D)>.7071067690849304){t=D*D+E*E;v=1.0/+O(+t);A=-(v*D);o=v*E;G=-(o*F);H=F*A;I=A;J=t*v;K=o;L=0.0}else{o=F*F+E*E;v=1.0/+O(+o);t=-(E*v);E=v*F;G=D*t;H=o*v;I=E;J=-(E*D);K=0.0;L=t}g[e+16>>2]=L;g[e+20>>2]=I;g[e+24>>2]=K;g[e+32>>2]=J;g[e+36>>2]=G;g[e+40>>2]=H;m=f+4|0;M=f+8|0;P=f+12|0;Q=f+16|0;R=f+20|0;S=f+24|0;T=f+28|0;U=f+32|0;V=f+36|0;W=f+40|0;X=f+44|0;Y=h+4|0;Z=h+8|0;_=h+12|0;$=h+16|0;aa=h+20|0;ba=h+24|0;ca=h+28|0;da=h+32|0;ea=h+36|0;fa=h+40|0;ga=h+44|0;ha=j+4|0;ia=j+8|0;ja=j+12|0;ka=k+4|0;la=k+8|0;ma=k+12|0;na=s;H=w;w=x;s=0;while(1){oa=c[l>>2]|0;c[f>>2]=c[oa+4>>2];c[m>>2]=c[oa+20>>2];c[M>>2]=c[oa+36>>2];g[P>>2]=0.0;c[Q>>2]=c[oa+8>>2];c[R>>2]=c[oa+24>>2];c[S>>2]=c[oa+40>>2];g[T>>2]=0.0;c[U>>2]=c[oa+12>>2];c[V>>2]=c[oa+28>>2];c[W>>2]=c[oa+44>>2];g[X>>2]=0.0;c[h>>2]=c[na+4>>2];c[Y>>2]=c[na+20>>2];c[Z>>2]=c[na+36>>2];g[_>>2]=0.0;c[$>>2]=c[na+8>>2];c[aa>>2]=c[na+24>>2];c[ba>>2]=c[na+40>>2];g[ca>>2]=0.0;c[da>>2]=c[na+12>>2];c[ea>>2]=c[na+28>>2];c[fa>>2]=c[na+44>>2];g[ga>>2]=0.0;x=q-+g[oa+56>>2];G=C-+g[oa+60>>2];g[j>>2]=B-+g[oa+52>>2];g[ha>>2]=x;g[ia>>2]=G;g[ja>>2]=0.0;G=z-+g[na+60>>2];g[k>>2]=p-H;g[ka>>2]=y-w;g[la>>2]=G;g[ma>>2]=0.0;oa=c[l>>2]|0;pa=c[r>>2]|0;wf(b+48+(s*84|0)|0,f,h,j,k,e+(s<<4)|0,oa+420|0,+g[oa+368>>2],pa+420|0,+g[pa+368>>2]);pa=s+1|0;if((pa|0)==3)break;oa=c[r>>2]|0;na=oa;H=+g[oa+52>>2];w=+g[oa+56>>2];s=pa}qa=r}else qa=b+32|0;r=c[l>>2]|0;l=c[qa>>2]|0;xf(b,r+4|0,l+4|0,r+288|0,l+288|0);i=d;return}function wf(a,b,d,e,f,h,i,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=+j;k=k|0;l=+l;var m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0;c[a>>2]=c[h>>2];c[a+4>>2]=c[h+4>>2];c[a+8>>2]=c[h+8>>2];c[a+12>>2]=c[h+12>>2];m=+g[e+4>>2];n=+g[a+8>>2];o=+g[e+8>>2];p=+g[a+4>>2];q=m*n-o*p;r=+g[a>>2];s=+g[e>>2];t=o*r-n*s;o=p*s-m*r;m=q*+g[b>>2]+ +g[b+4>>2]*t+o*+g[b+8>>2];s=q*+g[b+16>>2]+t*+g[b+20>>2]+o*+g[b+24>>2];u=q*+g[b+32>>2]+t*+g[b+36>>2]+o*+g[b+40>>2];b=a+16|0;g[b>>2]=m;e=a+20|0;g[e>>2]=s;h=a+24|0;g[h>>2]=u;g[a+28>>2]=0.0;o=-r;r=-p;p=-n;n=+g[f+4>>2];t=+g[f+8>>2];q=n*p-t*r;v=+g[f>>2];w=t*o-v*p;p=v*r-n*o;o=+g[d>>2]*q+ +g[d+4>>2]*w+p*+g[d+8>>2];n=q*+g[d+16>>2]+w*+g[d+20>>2]+p*+g[d+24>>2];r=q*+g[d+32>>2]+w*+g[d+36>>2]+p*+g[d+40>>2];g[a+32>>2]=o;g[a+36>>2]=n;g[a+40>>2]=r;g[a+44>>2]=0.0;p=+g[i>>2]*m;m=+g[i+4>>2]*s;s=+g[i+8>>2]*u;g[a+48>>2]=p;g[a+52>>2]=m;g[a+56>>2]=s;g[a+60>>2]=0.0;u=+g[k>>2]*o;w=+g[k+4>>2]*n;q=+g[k+8>>2]*r;g[a+64>>2]=u;g[a+68>>2]=w;g[a+72>>2]=q;g[a+76>>2]=0.0;g[a+80>>2]=p*+g[b>>2]+m*+g[e>>2]+s*+g[h>>2]+j+l+(u*o+w*n+q*r);return}
  103. function Fh(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,j=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.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0,N=0,O=0,P=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,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.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.0,wa=0.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.0,Pa=0.0,Qa=0.0,Ra=0.0,Sa=0.0,Ta=0.0,Ua=0.0,Va=0.0,Wa=0.0,Xa=0.0,Ya=0.0,Za=0.0;e=i;i=i+384|0;f=e+320|0;h=e+304|0;j=e+272|0;l=e+288|0;m=e+256|0;n=e+240|0;o=e+208|0;p=e+176|0;q=e+224|0;r=e+192|0;s=e+160|0;t=e+144|0;u=e+96|0;v=e+64|0;w=e+128|0;x=e+112|0;y=e+80|0;z=e+48|0;A=e+32|0;B=e+16|0;C=e;D=zb[c[(c[b>>2]|0)+20>>2]&127](b)|0;E=(zb[c[(c[D>>2]|0)+48>>2]&127](D)|0)>>>11;D=zb[c[(c[b>>2]|0)+20>>2]&127](b)|0;F=(zb[c[(c[D>>2]|0)+48>>2]&127](D)|0)>>>12;G=+g[d+40>>2];if(G<=0.0){i=e;return}switch(c[d+4>>2]|0){case 3:{c[f>>2]=1065353216;D=f+4|0;c[D>>2]=0;c[D+4>>2]=0;c[D+8>>2]=0;c[D+12>>2]=0;c[f+20>>2]=1065353216;D=f+24|0;c[D>>2]=0;c[D+4>>2]=0;c[D+8>>2]=0;c[D+12>>2]=0;c[f+40>>2]=1065353216;D=f+44|0;c[D>>2]=0;c[D+4>>2]=0;c[D+8>>2]=0;c[D+12>>2]=0;c[D+16>>2]=0;H=+g[d+300>>2];I=+g[d+304>>2];J=+g[d+308>>2];D=c[d+28>>2]|0;K=H*+g[D+20>>2]+I*+g[D+24>>2]+J*+g[D+28>>2]+ +g[D+56>>2];L=H*+g[D+36>>2]+I*+g[D+40>>2]+J*+g[D+44>>2]+ +g[D+60>>2];M=f+48|0;g[M>>2]=H*+g[D+4>>2]+I*+g[D+8>>2]+J*+g[D+12>>2]+ +g[D+52>>2];D=f+52|0;g[D>>2]=K;N=f+56|0;g[N>>2]=L;O=f+60|0;g[O>>2]=0.0;P=zb[c[(c[b>>2]|0)+20>>2]&127](b)|0;cc[c[(c[P>>2]|0)+56>>2]&7](P,f,G);L=+g[d+316>>2];K=+g[d+320>>2];J=+g[d+324>>2];P=c[d+32>>2]|0;I=L*+g[P+20>>2]+K*+g[P+24>>2]+J*+g[P+28>>2]+ +g[P+56>>2];H=L*+g[P+36>>2]+K*+g[P+40>>2]+J*+g[P+44>>2]+ +g[P+60>>2];g[M>>2]=L*+g[P+4>>2]+K*+g[P+8>>2]+J*+g[P+12>>2]+ +g[P+52>>2];g[D>>2]=I;g[N>>2]=H;g[O>>2]=0.0;if(E&1|0){O=zb[c[(c[b>>2]|0)+20>>2]&127](b)|0;cc[c[(c[O>>2]|0)+56>>2]&7](O,f,G)}i=e;return}case 4:{O=c[d+28>>2]|0;N=d+552|0;H=+g[N>>2];I=+g[O+4>>2];J=+g[N+16>>2];K=+g[O+8>>2];L=+g[N+32>>2];S=+g[O+12>>2];T=+g[N+4>>2];U=+g[N+20>>2];V=+g[N+36>>2];W=+g[N+8>>2];X=+g[N+24>>2];Y=+g[N+40>>2];Z=+g[O+20>>2];_=+g[O+24>>2];$=+g[O+28>>2];aa=+g[O+36>>2];ba=+g[O+40>>2];ca=+g[O+44>>2];da=+g[N+48>>2];ea=+g[N+52>>2];fa=+g[N+56>>2];ga=+g[O+52>>2]+(I*da+K*ea+S*fa);ha=Z*da+_*ea+$*fa+ +g[O+56>>2];ia=aa*da+ba*ea+ca*fa+ +g[O+60>>2];g[f>>2]=H*I+J*K+L*S;O=f+4|0;g[O>>2]=I*T+K*U+S*V;N=f+8|0;g[N>>2]=I*W+K*X+S*Y;D=f+12|0;g[D>>2]=0.0;P=f+16|0;g[P>>2]=H*Z+J*_+L*$;M=f+20|0;g[M>>2]=T*Z+U*_+V*$;ja=f+24|0;g[ja>>2]=W*Z+X*_+Y*$;ka=f+28|0;g[ka>>2]=0.0;la=f+32|0;g[la>>2]=H*aa+J*ba+L*ca;ma=f+36|0;g[ma>>2]=T*aa+U*ba+V*ca;na=f+40|0;g[na>>2]=W*aa+X*ba+Y*ca;oa=f+44|0;g[oa>>2]=0.0;pa=f+48|0;g[pa>>2]=ga;qa=f+52|0;g[qa>>2]=ha;ra=f+56|0;g[ra>>2]=ia;sa=f+60|0;g[sa>>2]=0.0;if(!(E&1)){ta=c[d+32>>2]|0;ua=d+616|0;ia=+g[ua>>2];ha=+g[ta+4>>2];ga=+g[ua+16>>2];ca=+g[ta+8>>2];Y=+g[ua+32>>2];ba=+g[ta+12>>2];X=+g[ua+4>>2];aa=+g[ua+20>>2];W=+g[ua+36>>2];V=+g[ua+8>>2];U=+g[ua+24>>2];T=+g[ua+40>>2];L=+g[ta+20>>2];J=+g[ta+24>>2];H=+g[ta+28>>2];$=+g[ta+36>>2];_=+g[ta+40>>2];Z=+g[ta+44>>2];S=+g[ua+48>>2];K=+g[ua+52>>2];I=+g[ua+56>>2];fa=+g[ta+52>>2]+(ha*S+ca*K+ba*I);ea=L*S+J*K+H*I+ +g[ta+56>>2];da=$*S+_*K+Z*I+ +g[ta+60>>2];g[f>>2]=ia*ha+ga*ca+Y*ba;g[O>>2]=ha*X+ca*aa+ba*W;g[N>>2]=ha*V+ca*U+ba*T;g[D>>2]=0.0;g[P>>2]=ia*L+ga*J+Y*H;g[M>>2]=X*L+aa*J+W*H;g[ja>>2]=V*L+U*J+T*H;g[ka>>2]=0.0;g[la>>2]=ia*$+ga*_+Y*Z;g[ma>>2]=X*$+aa*_+W*Z;g[na>>2]=V*$+U*_+T*Z;g[oa>>2]=0.0;g[pa>>2]=fa;g[qa>>2]=ea;g[ra>>2]=da;g[sa>>2]=0.0}else{ta=zb[c[(c[b>>2]|0)+20>>2]&127](b)|0;cc[c[(c[ta>>2]|0)+56>>2]&7](ta,f,G);ta=c[d+32>>2]|0;ua=d+616|0;da=+g[ua>>2];ea=+g[ta+4>>2];fa=+g[ua+16>>2];Z=+g[ta+8>>2];T=+g[ua+32>>2];_=+g[ta+12>>2];U=+g[ua+4>>2];$=+g[ua+20>>2];V=+g[ua+36>>2];W=+g[ua+8>>2];aa=+g[ua+24>>2];X=+g[ua+40>>2];Y=+g[ta+20>>2];ga=+g[ta+24>>2];ia=+g[ta+28>>2];H=+g[ta+36>>2];J=+g[ta+40>>2];L=+g[ta+44>>2];ba=+g[ua+48>>2];ca=+g[ua+52>>2];ha=+g[ua+56>>2];I=+g[ta+52>>2]+(ea*ba+Z*ca+_*ha);K=Y*ba+ga*ca+ia*ha+ +g[ta+56>>2];S=H*ba+J*ca+L*ha+ +g[ta+60>>2];g[f>>2]=da*ea+fa*Z+T*_;g[O>>2]=ea*U+Z*$+_*V;g[N>>2]=ea*W+Z*aa+_*X;g[D>>2]=0.0;g[P>>2]=da*Y+fa*ga+T*ia;g[M>>2]=U*Y+$*ga+V*ia;g[ja>>2]=W*Y+aa*ga+X*ia;g[ka>>2]=0.0;g[la>>2]=da*H+fa*J+T*L;g[ma>>2]=U*H+$*J+V*L;g[na>>2]=W*H+aa*J+X*L;g[oa>>2]=0.0;g[pa>>2]=I;g[qa>>2]=K;g[ra>>2]=S;g[sa>>2]=0.0;sa=zb[c[(c[b>>2]|0)+20>>2]&127](b)|0;cc[c[(c[sa>>2]|0)+56>>2]&7](sa,f,G)}sa=d+688|0;S=+g[sa>>2];K=+g[sa+4>>2];I=+Sr(S-K);if(!(I<-3.1415927410125732))if(I>3.1415927410125732)va=I+-6.2831854820251465;else va=I;else va=I+6.2831854820251465;I=+Sr(S+K);if(!(I<-3.1415927410125732))if(I>3.1415927410125732)wa=I+-6.2831854820251465;else wa=I;else wa=I+6.2831854820251465;if(!(va==wa)?(sa=K>0.0,F&1|0):0){c[h>>2]=c[N>>2];c[h+4>>2]=c[ja>>2];c[h+8>>2]=c[na>>2];g[h+12>>2]=0.0;c[j>>2]=c[f>>2];c[j+4>>2]=c[P>>2];c[j+8>>2]=c[la>>2];g[j+12>>2]=0.0;la=zb[c[(c[b>>2]|0)+20>>2]&127](b)|0;P=c[(c[la>>2]|0)+60>>2]|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;Fb[P&0](la,f+48|0,h,j,G,G,sa?va:0.0,sa?wa:6.2831854820251465,l,sa,10.0)}i=e;return}case 5:{sa=d+28|0;l=c[sa>>2]|0;la=d+300|0;wa=+g[la>>2];va=+g[l+4>>2];P=la+16|0;K=+g[P>>2];I=+g[l+8>>2];na=la+32|0;S=+g[na>>2];L=+g[l+12>>2];ja=la+4|0;X=+g[ja>>2];N=la+20|0;J=+g[N>>2];ra=la+36|0;aa=+g[ra>>2];qa=la+8|0;H=+g[qa>>2];pa=la+24|0;W=+g[pa>>2];oa=la+40|0;V=+g[oa>>2];$=+g[l+20>>2];U=+g[l+24>>2];T=+g[l+28>>2];fa=+g[l+36>>2];da=+g[l+40>>2];ia=+g[l+44>>2];ma=la+48|0;ga=+g[ma>>2];ka=la+52|0;Y=+g[ka>>2];M=la+56|0;_=+g[M>>2];Z=+g[l+52>>2]+(va*ga+I*Y+L*_);ea=$*ga+U*Y+T*_+ +g[l+56>>2];ha=fa*ga+da*Y+ia*_+ +g[l+60>>2];g[f>>2]=wa*va+K*I+S*L;l=f+4|0;g[l>>2]=va*X+I*J+L*aa;D=f+8|0;g[D>>2]=va*H+I*W+L*V;O=f+12|0;g[O>>2]=0.0;ta=f+16|0;g[ta>>2]=wa*$+K*U+S*T;ua=f+20|0;g[ua>>2]=X*$+J*U+aa*T;xa=f+24|0;g[xa>>2]=H*$+W*U+V*T;ya=f+28|0;g[ya>>2]=0.0;za=f+32|0;g[za>>2]=wa*fa+K*da+S*ia;Aa=f+36|0;g[Aa>>2]=X*fa+J*da+aa*ia;Ba=f+40|0;g[Ba>>2]=H*fa+W*da+V*ia;Ca=f+44|0;g[Ca>>2]=0.0;Da=f+48|0;g[Da>>2]=Z;Ea=f+52|0;g[Ea>>2]=ea;Fa=f+56|0;g[Fa>>2]=ha;Ga=f+60|0;g[Ga>>2]=0.0;if(!(E&1)){Ha=c[d+32>>2]|0;Ia=d+364|0;ha=+g[Ia>>2];ea=+g[Ha+4>>2];Z=+g[Ia+16>>2];ia=+g[Ha+8>>2];V=+g[Ia+32>>2];da=+g[Ha+12>>2];W=+g[Ia+4>>2];fa=+g[Ia+20>>2];H=+g[Ia+36>>2];aa=+g[Ia+8>>2];J=+g[Ia+24>>2];X=+g[Ia+40>>2];S=+g[Ha+20>>2];K=+g[Ha+24>>2];wa=+g[Ha+28>>2];T=+g[Ha+36>>2];U=+g[Ha+40>>2];$=+g[Ha+44>>2];L=+g[Ia+48>>2];I=+g[Ia+52>>2];va=+g[Ia+56>>2];_=+g[Ha+52>>2]+(ea*L+ia*I+da*va);Y=S*L+K*I+wa*va+ +g[Ha+56>>2];ga=T*L+U*I+$*va+ +g[Ha+60>>2];g[f>>2]=ha*ea+Z*ia+V*da;g[l>>2]=ea*W+ia*fa+da*H;g[D>>2]=ea*aa+ia*J+da*X;g[O>>2]=0.0;g[ta>>2]=ha*S+Z*K+V*wa;g[ua>>2]=W*S+fa*K+H*wa;g[xa>>2]=aa*S+J*K+X*wa;g[ya>>2]=0.0;g[za>>2]=ha*T+Z*U+V*$;g[Aa>>2]=W*T+fa*U+H*$;g[Ba>>2]=aa*T+J*U+X*$;g[Ca>>2]=0.0;g[Da>>2]=_;g[Ea>>2]=Y;g[Fa>>2]=ga;g[Ga>>2]=0.0}else{Ha=zb[c[(c[b>>2]|0)+20>>2]&127](b)|0;cc[c[(c[Ha>>2]|0)+56>>2]&7](Ha,f,G);Ha=c[d+32>>2]|0;Ia=d+364|0;ga=+g[Ia>>2];Y=+g[Ha+4>>2];_=+g[Ia+16>>2];$=+g[Ha+8>>2];X=+g[Ia+32>>2];U=+g[Ha+12>>2];J=+g[Ia+4>>2];T=+g[Ia+20>>2];aa=+g[Ia+36>>2];H=+g[Ia+8>>2];fa=+g[Ia+24>>2];W=+g[Ia+40>>2];V=+g[Ha+20>>2];Z=+g[Ha+24>>2];ha=+g[Ha+28>>2];wa=+g[Ha+36>>2];K=+g[Ha+40>>2];S=+g[Ha+44>>2];da=+g[Ia+48>>2];ia=+g[Ia+52>>2];ea=+g[Ia+56>>2];va=+g[Ha+52>>2]+(Y*da+$*ia+U*ea);I=V*da+Z*ia+ha*ea+ +g[Ha+56>>2];L=wa*da+K*ia+S*ea+ +g[Ha+60>>2];g[f>>2]=ga*Y+_*$+X*U;g[l>>2]=Y*J+$*T+U*aa;g[D>>2]=Y*H+$*fa+U*W;g[O>>2]=0.0;g[ta>>2]=ga*V+_*Z+X*ha;g[ua>>2]=J*V+T*Z+aa*ha;g[xa>>2]=H*V+fa*Z+W*ha;g[ya>>2]=0.0;g[za>>2]=ga*wa+_*K+X*S;g[Aa>>2]=J*wa+T*K+aa*S;g[Ba>>2]=H*wa+fa*K+W*S;g[Ca>>2]=0.0;g[Da>>2]=va;g[Ea>>2]=I;g[Fa>>2]=L;g[Ga>>2]=0.0;Ha=zb[c[(c[b>>2]|0)+20>>2]&127](b)|0;cc[c[(c[Ha>>2]|0)+56>>2]&7](Ha,f,G)}if(F&1|0){Jf(h,d,6.0868353843688965,G);L=+g[h>>2];Ha=h+4|0;I=+g[Ha>>2];Ia=h+8|0;va=+g[Ia>>2];S=L*+g[ta>>2]+I*+g[ua>>2]+va*+g[xa>>2]+ +g[Ea>>2];W=L*+g[za>>2]+I*+g[Aa>>2]+va*+g[Ba>>2]+ +g[Fa>>2];g[h>>2]=L*+g[f>>2]+I*+g[l>>2]+va*+g[D>>2]+ +g[Da>>2];g[Ha>>2]=S;g[Ia>>2]=W;g[h+12>>2]=0.0;Ia=j+4|0;Ha=j+8|0;Ja=j+12|0;Ka=f+48|0;La=0;do{Jf(j,d,+(La|0)*6.283185005187988*.03125,G);W=+g[j>>2];S=+g[Ia>>2];va=+g[Ha>>2];I=W*+g[ta>>2]+S*+g[ua>>2]+va*+g[xa>>2]+ +g[Ea>>2];L=W*+g[za>>2]+S*+g[Aa>>2]+va*+g[Ba>>2]+ +g[Fa>>2];g[j>>2]=W*+g[f>>2]+S*+g[l>>2]+va*+g[D>>2]+ +g[Da>>2];g[Ia>>2]=I;g[Ha>>2]=L;g[Ja>>2]=0.0;Ma=zb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Na=c[(c[Ma>>2]|0)+8>>2]|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;ec[Na&63](Ma,h,j,m);if(!(La&3)){Ma=zb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Na=c[(c[Ma>>2]|0)+8>>2]|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;ec[Na&63](Ma,Ka,j,n)};c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];c[h+8>>2]=c[j+8>>2];c[h+12>>2]=c[j+12>>2];La=La+1|0}while((La|0)!=32);L=+g[d+452>>2];I=+g[d+512>>2];La=c[d+32>>2]|0;if(+g[La+368>>2]>0.0){n=d+364|0;va=+g[n>>2];S=+g[La+4>>2];W=+g[n+16>>2];K=+g[La+8>>2];fa=+g[n+32>>2];wa=+g[La+12>>2];H=+g[n+4>>2];aa=+g[n+20>>2];T=+g[n+36>>2];J=+g[n+8>>2];X=+g[n+24>>2];_=+g[n+40>>2];ga=+g[La+20>>2];ha=+g[La+24>>2];Z=+g[La+28>>2];V=+g[La+36>>2];U=+g[La+40>>2];$=+g[La+44>>2];Y=+g[n+48>>2];ea=+g[n+52>>2];ia=+g[n+56>>2];Oa=V*Y+U*ea+$*ia+ +g[La+60>>2];Pa=ga*Y+ha*ea+Z*ia+ +g[La+56>>2];Qa=+g[La+52>>2]+(S*Y+K*ea+wa*ia);Ra=J*V+X*U+_*$;Sa=H*V+aa*U+T*$;Ta=va*V+W*U+fa*$;Ua=J*ga+X*ha+_*Z;Va=H*ga+aa*ha+T*Z;Wa=va*ga+W*ha+fa*Z;Xa=S*J+K*X+wa*_;Ya=S*H+K*aa+wa*T;Za=va*S+W*K+fa*wa}else{La=c[sa>>2]|0;wa=+g[la>>2];fa=+g[La+4>>2];K=+g[P>>2];W=+g[La+8>>2];S=+g[na>>2];va=+g[La+12>>2];T=+g[ja>>2];aa=+g[N>>2];H=+g[ra>>2];_=+g[qa>>2];X=+g[pa>>2];J=+g[oa>>2];Z=+g[La+20>>2];ha=+g[La+24>>2];ga=+g[La+28>>2];$=+g[La+36>>2];U=+g[La+40>>2];V=+g[La+44>>2];ia=+g[ma>>2];ea=+g[ka>>2];Y=+g[M>>2];Oa=$*ia+U*ea+V*Y+ +g[La+60>>2];Pa=Z*ia+ha*ea+ga*Y+ +g[La+56>>2];Qa=+g[La+52>>2]+(fa*ia+W*ea+va*Y);Ra=_*$+X*U+J*V;Sa=T*$+aa*U+H*V;Ta=wa*$+K*U+S*V;Ua=_*Z+X*ha+J*ga;Va=T*Z+aa*ha+H*ga;Wa=wa*Z+K*ha+S*ga;Xa=fa*_+W*X+va*J;Ya=fa*T+W*aa+va*H;Za=wa*fa+K*W+S*va}g[f>>2]=Za;g[l>>2]=Ya;g[D>>2]=Xa;g[O>>2]=0.0;g[ta>>2]=Wa;g[ua>>2]=Va;g[xa>>2]=Ua;g[ya>>2]=0.0;g[za>>2]=Ta;g[Aa>>2]=Sa;g[Ba>>2]=Ra;g[Ca>>2]=0.0;g[Da>>2]=Qa;g[Ea>>2]=Pa;g[Fa>>2]=Oa;g[Ga>>2]=0.0;c[j>>2]=c[Ka>>2];c[j+4>>2]=c[Ka+4>>2];c[j+8>>2]=c[Ka+8>>2];c[j+12>>2]=c[Ka+12>>2];g[o>>2]=Za;g[o+4>>2]=Wa;g[o+8>>2]=Ta;g[o+12>>2]=0.0;g[p>>2]=Ya;g[p+4>>2]=Va;g[p+8>>2]=Sa;g[p+12>>2]=0.0;Ka=zb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Ga=c[(c[Ka>>2]|0)+60>>2]|0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;Fb[Ga&0](Ka,j,o,p,G,G,-I-L,L-I,q,1,10.0)}i=e;return}case 6:case 9:{q=d+1064|0;c[f>>2]=c[q>>2];c[f+4>>2]=c[q+4>>2];c[f+8>>2]=c[q+8>>2];c[f+12>>2]=c[q+12>>2];Ka=f+16|0;Ga=q+16|0;c[Ka>>2]=c[Ga>>2];c[Ka+4>>2]=c[Ga+4>>2];c[Ka+8>>2]=c[Ga+8>>2];c[Ka+12>>2]=c[Ga+12>>2];Fa=f+32|0;Ea=q+32|0;c[Fa>>2]=c[Ea>>2];c[Fa+4>>2]=c[Ea+4>>2];c[Fa+8>>2]=c[Ea+8>>2];c[Fa+12>>2]=c[Ea+12>>2];Da=f+48|0;Ca=q+48|0;c[Da>>2]=c[Ca>>2];c[Da+4>>2]=c[Ca+4>>2];c[Da+8>>2]=c[Ca+8>>2];c[Da+12>>2]=c[Ca+12>>2];if(!(E&1)){Ba=d+1128|0;c[f>>2]=c[Ba>>2];c[f+4>>2]=c[Ba+4>>2];c[f+8>>2]=c[Ba+8>>2];c[f+12>>2]=c[Ba+12>>2];Aa=Ba+16|0;c[Ka>>2]=c[Aa>>2];c[Ka+4>>2]=c[Aa+4>>2];c[Ka+8>>2]=c[Aa+8>>2];c[Ka+12>>2]=c[Aa+12>>2];Aa=Ba+32|0;c[Fa>>2]=c[Aa>>2];c[Fa+4>>2]=c[Aa+4>>2];c[Fa+8>>2]=c[Aa+8>>2];c[Fa+12>>2]=c[Aa+12>>2];Aa=Ba+48|0;c[Da>>2]=c[Aa>>2];c[Da+4>>2]=c[Aa+4>>2];c[Da+8>>2]=c[Aa+8>>2];c[Da+12>>2]=c[Aa+12>>2]}else{Aa=zb[c[(c[b>>2]|0)+20>>2]&127](b)|0;cc[c[(c[Aa>>2]|0)+56>>2]&7](Aa,f,G);Aa=d+1128|0;c[f>>2]=c[Aa>>2];c[f+4>>2]=c[Aa+4>>2];c[f+8>>2]=c[Aa+8>>2];c[f+12>>2]=c[Aa+12>>2];Ba=Aa+16|0;c[Ka>>2]=c[Ba>>2];c[Ka+4>>2]=c[Ba+4>>2];c[Ka+8>>2]=c[Ba+8>>2];c[Ka+12>>2]=c[Ba+12>>2];Ba=Aa+32|0;c[Fa>>2]=c[Ba>>2];c[Fa+4>>2]=c[Ba+4>>2];c[Fa+8>>2]=c[Ba+8>>2];c[Fa+12>>2]=c[Ba+12>>2];Ba=Aa+48|0;c[Da>>2]=c[Ba>>2];c[Da+4>>2]=c[Ba+4>>2];c[Da+8>>2]=c[Ba+8>>2];c[Da+12>>2]=c[Ba+12>>2];Ba=zb[c[(c[b>>2]|0)+20>>2]&127](b)|0;cc[c[(c[Ba>>2]|0)+56>>2]&7](Ba,f,G)}if(F&1|0){c[f>>2]=c[q>>2];c[f+4>>2]=c[q+4>>2];c[f+8>>2]=c[q+8>>2];c[f+12>>2]=c[q+12>>2];c[Ka>>2]=c[Ga>>2];c[Ka+4>>2]=c[Ga+4>>2];c[Ka+8>>2]=c[Ga+8>>2];c[Ka+12>>2]=c[Ga+12>>2];c[Fa>>2]=c[Ea>>2];c[Fa+4>>2]=c[Ea+4>>2];c[Fa+8>>2]=c[Ea+8>>2];c[Fa+12>>2]=c[Ea+12>>2];c[Da>>2]=c[Ca>>2];c[Da+4>>2]=c[Ca+4>>2];c[Da+8>>2]=c[Ca+8>>2];c[Da+12>>2]=c[Ca+12>>2];Ba=d+1128|0;Aa=Ba+48|0;c[h>>2]=c[f+8>>2];c[h+4>>2]=c[f+24>>2];c[h+8>>2]=c[f+40>>2];g[h+12>>2]=0.0;za=f+16|0;ya=f+32|0;c[j>>2]=c[f>>2];xa=j+4|0;c[xa>>2]=c[za>>2];ua=j+8|0;c[ua>>2]=c[ya>>2];ta=j+12|0;g[ta>>2]=0.0;O=d+932|0;I=+g[O>>2];L=+g[O+4>>2];O=d+996|0;Sa=+g[O>>2];Va=+g[O+4>>2];O=zb[c[(c[b>>2]|0)+20>>2]&127](b)|0;D=c[(c[O>>2]|0)+64>>2]|0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;Xb[D&0](O,Aa,h,j,G*.8999999761581421,I,L,Sa,Va,r,10.0,1);r=c[f+4>>2]|0;O=c[f+20>>2]|0;D=c[f+36>>2]|0;c[j>>2]=r;c[xa>>2]=O;c[ua>>2]=D;g[ta>>2]=0.0;Va=+g[d+1196>>2];Sa=+g[d+1200>>2];L=+Q(+Va);I=+R(+Va);Va=+Q(+Sa);Ya=+R(+Sa);Sa=(c[k>>2]=r,+g[k>>2]);Ta=(c[k>>2]=O,+g[k>>2]);Wa=(c[k>>2]=D,+g[k>>2]);g[o>>2]=L*Va*Sa+L*Ya*Ta-I*Wa;g[o+4>>2]=Va*Ta-Ya*Sa;g[o+8>>2]=I*Va*Sa+I*Ya*Ta+L*Wa;c[f>>2]=c[Ba>>2];c[f+4>>2]=c[Ba+4>>2];c[f+8>>2]=c[Ba+8>>2];c[f+12>>2]=c[Ba+12>>2];D=Ba+16|0;c[Ka>>2]=c[D>>2];c[Ka+4>>2]=c[D+4>>2];c[Ka+8>>2]=c[D+8>>2];c[Ka+12>>2]=c[D+12>>2];D=Ba+32|0;c[Fa>>2]=c[D>>2];c[Fa+4>>2]=c[D+4>>2];c[Fa+8>>2]=c[D+8>>2];c[Fa+12>>2]=c[D+12>>2];c[Da>>2]=c[Aa>>2];c[Da+4>>2]=c[Aa+4>>2];c[Da+8>>2]=c[Aa+8>>2];c[Da+12>>2]=c[Aa+12>>2];Wa=-+g[za>>2];L=-+g[ya>>2];g[p>>2]=-+g[f>>2];g[p+4>>2]=Wa;g[p+8>>2]=L;g[p+12>>2]=0.0;ya=d+868|0;L=+g[ya>>2];Wa=+g[ya+4>>2];if(!(L>Wa)){if(L<Wa){ya=zb[c[(c[b>>2]|0)+20>>2]&127](b)|0;za=c[(c[ya>>2]|0)+60>>2]|0;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;Fb[za&0](ya,Aa,p,o,G,G,L,Wa,t,1,10.0)}}else{t=zb[c[(c[b>>2]|0)+20>>2]&127](b)|0;ya=c[(c[t>>2]|0)+60>>2]|0;c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[s+12>>2]=0;Fb[ya&0](t,Aa,p,o,G,G,-3.1415927410125732,3.1415927410125732,s,0,10.0)};c[f>>2]=c[q>>2];c[f+4>>2]=c[q+4>>2];c[f+8>>2]=c[q+8>>2];c[f+12>>2]=c[q+12>>2];c[Ka>>2]=c[Ga>>2];c[Ka+4>>2]=c[Ga+4>>2];c[Ka+8>>2]=c[Ga+8>>2];c[Ka+12>>2]=c[Ga+12>>2];c[Fa>>2]=c[Ea>>2];c[Fa+4>>2]=c[Ea+4>>2];c[Fa+8>>2]=c[Ea+8>>2];c[Fa+12>>2]=c[Ea+12>>2];c[Da>>2]=c[Ca>>2];c[Da+4>>2]=c[Ca+4>>2];c[Da+8>>2]=c[Ca+8>>2];c[Da+12>>2]=c[Ca+12>>2];Ca=d+680|0;c[u>>2]=c[Ca>>2];c[u+4>>2]=c[Ca+4>>2];c[u+8>>2]=c[Ca+8>>2];c[u+12>>2]=c[Ca+12>>2];Da=Ca+16|0;c[v>>2]=c[Da>>2];c[v+4>>2]=c[Da+4>>2];c[v+8>>2]=c[Da+8>>2];c[v+12>>2]=c[Da+12>>2];Da=zb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Ca=c[(c[Da>>2]|0)+72>>2]|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;tb[Ca&31](Da,u,v,f,w)}i=e;return}case 12:{w=d+1204|0;c[f>>2]=c[w>>2];c[f+4>>2]=c[w+4>>2];c[f+8>>2]=c[w+8>>2];c[f+12>>2]=c[w+12>>2];Da=f+16|0;Ca=w+16|0;c[Da>>2]=c[Ca>>2];c[Da+4>>2]=c[Ca+4>>2];c[Da+8>>2]=c[Ca+8>>2];c[Da+12>>2]=c[Ca+12>>2];Ea=f+32|0;Fa=w+32|0;c[Ea>>2]=c[Fa>>2];c[Ea+4>>2]=c[Fa+4>>2];c[Ea+8>>2]=c[Fa+8>>2];c[Ea+12>>2]=c[Fa+12>>2];Ga=f+48|0;Ka=w+48|0;c[Ga>>2]=c[Ka>>2];c[Ga+4>>2]=c[Ka+4>>2];c[Ga+8>>2]=c[Ka+8>>2];c[Ga+12>>2]=c[Ka+12>>2];if(!(E&1)){q=d+1268|0;c[f>>2]=c[q>>2];c[f+4>>2]=c[q+4>>2];c[f+8>>2]=c[q+8>>2];c[f+12>>2]=c[q+12>>2];s=q+16|0;c[Da>>2]=c[s>>2];c[Da+4>>2]=c[s+4>>2];c[Da+8>>2]=c[s+8>>2];c[Da+12>>2]=c[s+12>>2];s=q+32|0;c[Ea>>2]=c[s>>2];c[Ea+4>>2]=c[s+4>>2];c[Ea+8>>2]=c[s+8>>2];c[Ea+12>>2]=c[s+12>>2];s=q+48|0;c[Ga>>2]=c[s>>2];c[Ga+4>>2]=c[s+4>>2];c[Ga+8>>2]=c[s+8>>2];c[Ga+12>>2]=c[s+12>>2]}else{s=zb[c[(c[b>>2]|0)+20>>2]&127](b)|0;cc[c[(c[s>>2]|0)+56>>2]&7](s,f,G);s=d+1268|0;c[f>>2]=c[s>>2];c[f+4>>2]=c[s+4>>2];c[f+8>>2]=c[s+8>>2];c[f+12>>2]=c[s+12>>2];q=s+16|0;c[Da>>2]=c[q>>2];c[Da+4>>2]=c[q+4>>2];c[Da+8>>2]=c[q+8>>2];c[Da+12>>2]=c[q+12>>2];q=s+32|0;c[Ea>>2]=c[q>>2];c[Ea+4>>2]=c[q+4>>2];c[Ea+8>>2]=c[q+8>>2];c[Ea+12>>2]=c[q+12>>2];q=s+48|0;c[Ga>>2]=c[q>>2];c[Ga+4>>2]=c[q+4>>2];c[Ga+8>>2]=c[q+8>>2];c[Ga+12>>2]=c[q+12>>2];q=zb[c[(c[b>>2]|0)+20>>2]&127](b)|0;cc[c[(c[q>>2]|0)+56>>2]&7](q,f,G)}if(F&1|0){c[f>>2]=c[w>>2];c[f+4>>2]=c[w+4>>2];c[f+8>>2]=c[w+8>>2];c[f+12>>2]=c[w+12>>2];c[Da>>2]=c[Ca>>2];c[Da+4>>2]=c[Ca+4>>2];c[Da+8>>2]=c[Ca+8>>2];c[Da+12>>2]=c[Ca+12>>2];c[Ea>>2]=c[Fa>>2];c[Ea+4>>2]=c[Fa+4>>2];c[Ea+8>>2]=c[Fa+8>>2];c[Ea+12>>2]=c[Fa+12>>2];c[Ga>>2]=c[Ka>>2];c[Ga+4>>2]=c[Ka+4>>2];c[Ga+8>>2]=c[Ka+8>>2];c[Ga+12>>2]=c[Ka+12>>2];q=d+1268|0;s=q+48|0;c[h>>2]=c[f+8>>2];c[h+4>>2]=c[f+24>>2];c[h+8>>2]=c[f+40>>2];g[h+12>>2]=0.0;Aa=f+16|0;t=f+32|0;c[j>>2]=c[f>>2];ya=j+4|0;c[ya>>2]=c[Aa>>2];za=j+8|0;c[za>>2]=c[t>>2];D=j+12|0;g[D>>2]=0.0;Ba=d+1040|0;Wa=+g[Ba>>2];L=+g[Ba+4>>2];Ba=d+1120|0;Ta=+g[Ba>>2];Ya=+g[Ba+4>>2];Ba=zb[c[(c[b>>2]|0)+20>>2]&127](b)|0;O=c[(c[Ba>>2]|0)+64>>2]|0;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[x+12>>2]=0;Xb[O&0](Ba,s,h,j,G*.8999999761581421,Wa,L,Ta,Ya,x,10.0,1);x=c[f+4>>2]|0;Ba=c[f+20>>2]|0;O=c[f+36>>2]|0;c[j>>2]=x;c[ya>>2]=Ba;c[za>>2]=O;g[D>>2]=0.0;Ya=+g[d+1336>>2];Ta=+g[d+1340>>2];L=+Q(+Ya);Wa=+R(+Ya);Ya=+Q(+Ta);I=+R(+Ta);Ta=(c[k>>2]=x,+g[k>>2]);Sa=(c[k>>2]=Ba,+g[k>>2]);Va=(c[k>>2]=O,+g[k>>2]);g[o>>2]=L*Ya*Ta+L*I*Sa-Wa*Va;g[o+4>>2]=Ya*Sa-I*Ta;g[o+8>>2]=Wa*Ya*Ta+Wa*I*Sa+L*Va;c[f>>2]=c[q>>2];c[f+4>>2]=c[q+4>>2];c[f+8>>2]=c[q+8>>2];c[f+12>>2]=c[q+12>>2];O=q+16|0;c[Da>>2]=c[O>>2];c[Da+4>>2]=c[O+4>>2];c[Da+8>>2]=c[O+8>>2];c[Da+12>>2]=c[O+12>>2];O=q+32|0;c[Ea>>2]=c[O>>2];c[Ea+4>>2]=c[O+4>>2];c[Ea+8>>2]=c[O+8>>2];c[Ea+12>>2]=c[O+12>>2];c[Ga>>2]=c[s>>2];c[Ga+4>>2]=c[s+4>>2];c[Ga+8>>2]=c[s+8>>2];c[Ga+12>>2]=c[s+12>>2];Va=-+g[Aa>>2];L=-+g[t>>2];g[p>>2]=-+g[f>>2];g[p+4>>2]=Va;g[p+8>>2]=L;g[p+12>>2]=0.0;L=+g[d+960>>2];Va=+g[d+964>>2];if(!(L>Va)){if(L<Va){t=zb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Aa=c[(c[t>>2]|0)+60>>2]|0;c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;Fb[Aa&0](t,s,p,o,G,G,L,Va,z,1,10.0)}}else{z=zb[c[(c[b>>2]|0)+20>>2]&127](b)|0;t=c[(c[z>>2]|0)+60>>2]|0;c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;c[y+12>>2]=0;Fb[t&0](z,s,p,o,G,G,-3.1415927410125732,3.1415927410125732,y,0,10.0)};c[f>>2]=c[w>>2];c[f+4>>2]=c[w+4>>2];c[f+8>>2]=c[w+8>>2];c[f+12>>2]=c[w+12>>2];c[Da>>2]=c[Ca>>2];c[Da+4>>2]=c[Ca+4>>2];c[Da+8>>2]=c[Ca+8>>2];c[Da+12>>2]=c[Ca+12>>2];c[Ea>>2]=c[Fa>>2];c[Ea+4>>2]=c[Fa+4>>2];c[Ea+8>>2]=c[Fa+8>>2];c[Ea+12>>2]=c[Fa+12>>2];c[Ga>>2]=c[Ka>>2];c[Ga+4>>2]=c[Ka+4>>2];c[Ga+8>>2]=c[Ka+8>>2];c[Ga+12>>2]=c[Ka+12>>2];Ka=d+680|0;c[u>>2]=c[Ka>>2];c[u+4>>2]=c[Ka+4>>2];c[u+8>>2]=c[Ka+8>>2];c[u+12>>2]=c[Ka+12>>2];Ga=Ka+16|0;c[v>>2]=c[Ga>>2];c[v+4>>2]=c[Ga+4>>2];c[v+8>>2]=c[Ga+8>>2];c[v+12>>2]=c[Ga+12>>2];Ga=zb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Ka=c[(c[Ga>>2]|0)+72>>2]|0;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;tb[Ka&31](Ga,u,v,f,A)}i=e;return}case 7:{A=d+824|0;c[f>>2]=c[A>>2];c[f+4>>2]=c[A+4>>2];c[f+8>>2]=c[A+8>>2];c[f+12>>2]=c[A+12>>2];v=f+16|0;u=A+16|0;c[v>>2]=c[u>>2];c[v+4>>2]=c[u+4>>2];c[v+8>>2]=c[u+8>>2];c[v+12>>2]=c[u+12>>2];u=f+32|0;Ga=A+32|0;c[u>>2]=c[Ga>>2];c[u+4>>2]=c[Ga+4>>2];c[u+8>>2]=c[Ga+8>>2];c[u+12>>2]=c[Ga+12>>2];Ga=f+48|0;Ka=A+48|0;c[Ga>>2]=c[Ka>>2];c[Ga+4>>2]=c[Ka+4>>2];c[Ga+8>>2]=c[Ka+8>>2];c[Ga+12>>2]=c[Ka+12>>2];if(!(E&1)){E=d+888|0;c[f>>2]=c[E>>2];c[f+4>>2]=c[E+4>>2];c[f+8>>2]=c[E+8>>2];c[f+12>>2]=c[E+12>>2];Ka=E+16|0;c[v>>2]=c[Ka>>2];c[v+4>>2]=c[Ka+4>>2];c[v+8>>2]=c[Ka+8>>2];c[v+12>>2]=c[Ka+12>>2];Ka=E+32|0;c[u>>2]=c[Ka>>2];c[u+4>>2]=c[Ka+4>>2];c[u+8>>2]=c[Ka+8>>2];c[u+12>>2]=c[Ka+12>>2];Ka=E+48|0;c[Ga>>2]=c[Ka>>2];c[Ga+4>>2]=c[Ka+4>>2];c[Ga+8>>2]=c[Ka+8>>2];c[Ga+12>>2]=c[Ka+12>>2]}else{Ka=zb[c[(c[b>>2]|0)+20>>2]&127](b)|0;cc[c[(c[Ka>>2]|0)+56>>2]&7](Ka,f,G);Ka=d+888|0;c[f>>2]=c[Ka>>2];c[f+4>>2]=c[Ka+4>>2];c[f+8>>2]=c[Ka+8>>2];c[f+12>>2]=c[Ka+12>>2];E=Ka+16|0;c[v>>2]=c[E>>2];c[v+4>>2]=c[E+4>>2];c[v+8>>2]=c[E+8>>2];c[v+12>>2]=c[E+12>>2];E=Ka+32|0;c[u>>2]=c[E>>2];c[u+4>>2]=c[E+4>>2];c[u+8>>2]=c[E+8>>2];c[u+12>>2]=c[E+12>>2];E=Ka+48|0;c[Ga>>2]=c[E>>2];c[Ga+4>>2]=c[E+4>>2];c[Ga+8>>2]=c[E+8>>2];c[Ga+12>>2]=c[E+12>>2];E=zb[c[(c[b>>2]|0)+20>>2]&127](b)|0;cc[c[(c[E>>2]|0)+56>>2]&7](E,f,G)}if(F&1|0){F=d+888|0;f=a[d+180>>0]|0?A:F;A=c[f>>2]|0;E=c[f+4>>2]|0;Ga=c[f+16>>2]|0;Ka=c[f+20>>2]|0;u=c[f+32>>2]|0;v=c[f+36>>2]|0;Va=+g[f+48>>2];L=+g[f+52>>2];Sa=+g[f+56>>2];I=+g[d+184>>2];Wa=(c[k>>2]=A,+g[k>>2]);Ta=(c[k>>2]=E,+g[k>>2])*0.0;Ya=+g[f+8>>2]*0.0;Za=(c[k>>2]=Ga,+g[k>>2]);Oa=(c[k>>2]=Ka,+g[k>>2])*0.0;Pa=+g[f+24>>2]*0.0;Qa=(c[k>>2]=u,+g[k>>2]);Ra=(c[k>>2]=v,+g[k>>2])*0.0;Ua=+g[f+40>>2]*0.0;g[h>>2]=Va+(Ya+(Ta+Wa*I));g[h+4>>2]=L+(Pa+(Oa+Za*I));g[h+8>>2]=Sa+(Ua+(Ra+Qa*I));g[h+12>>2]=0.0;I=+g[d+188>>2];g[j>>2]=Va+(Ya+(Ta+Wa*I));g[j+4>>2]=L+(Pa+(Oa+Za*I));g[j+8>>2]=Sa+(Ua+(Ra+Qa*I));g[j+12>>2]=0.0;f=zb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Fa=c[(c[f>>2]|0)+8>>2]|0;c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;c[B+12>>2]=0;ec[Fa&63](f,h,j,B);c[o>>2]=A;c[o+4>>2]=Ga;c[o+8>>2]=u;g[o+12>>2]=0.0;c[p>>2]=E;c[p+4>>2]=Ka;c[p+8>>2]=v;g[p+12>>2]=0.0;I=+g[d+192>>2];Qa=+g[d+196>>2];d=zb[c[(c[b>>2]|0)+20>>2]&127](b)|0;b=c[(c[d>>2]|0)+60>>2]|0;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[C+12>>2]=0;Fb[b&0](d,F+48|0,o,p,G,G,I,Qa,C,1,10.0)}i=e;return}default:{i=e;return}}}function Gh(a){a=a|0;var b=0,d=0,e=0,f=0.0,h=0.0,i=0;b=c[a+232>>2]|0;if((b|0)<=0)return;d=c[a+240>>2]|0;a=0;do{e=c[d+(a<<2)>>2]|0;switch(c[e+216>>2]|0){case 2:case 5:break;default:if(!(c[e+204>>2]&3)){f=+g[e+392>>2]*+g[e+376>>2];h=+g[e+396>>2]*+g[e+380>>2];i=e+436|0;g[i>>2]=+g[e+388>>2]*+g[e+372>>2]+ +g[i>>2];i=e+440|0;g[i>>2]=f+ +g[i>>2];i=e+444|0;g[i>>2]=h+ +g[i>>2]}}a=a+1|0}while((a|0)!=(b|0));return}function Hh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;c[b>>2]=3164;d=b+72|0;e=b+80|0;f=c[e>>2]|0;g=b+84|0;if(f|0){if(a[g>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[f+-4>>2]|0)}c[e>>2]=0}a[g>>0]=1;c[e>>2]=0;c[d>>2]=0;c[b+76>>2]=0;d=b+52|0;e=b+60|0;g=c[e>>2]|0;f=b+64|0;if(g|0){if(a[f>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[g+-4>>2]|0)}c[e>>2]=0}a[f>>0]=1;c[e>>2]=0;c[d>>2]=0;c[b+56>>2]=0;d=b+32|0;e=b+40|0;f=c[e>>2]|0;g=b+44|0;if(!f){a[g>>0]=1;c[e>>2]=0;c[d>>2]=0;h=b+36|0;c[h>>2]=0;return}if(a[g>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[f+-4>>2]|0)}c[e>>2]=0;a[g>>0]=1;c[e>>2]=0;c[d>>2]=0;h=b+36|0;c[h>>2]=0;return}function Ih(a){a=a|0;Hh(a);Ur(a);return}function Jh(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;if((h|0)<0){i=c[b+8>>2]|0;+Tb[c[(c[i>>2]|0)+12>>2]&3](i,d,e,f,g,c[b+12>>2]|0,c[b+16>>2]|0,c[b+4>>2]|0,c[b+20>>2]|0,c[b+24>>2]|0);return}i=c[b+16>>2]|0;a:do if((i|0)>0){j=c[b+12>>2]|0;k=0;while(1){l=j+(k<<2)|0;m=c[l>>2]|0;n=c[(c[m+28>>2]|0)+208>>2]|0;if((n|0)>-1)o=n;else o=c[(c[m+32>>2]|0)+208>>2]|0;if((o|0)==(h|0)){p=k;q=l;break a}l=k+1|0;if((l|0)<(i|0))k=l;else{p=l;q=0;break}}}else{p=0;q=0}while(0);if((p|0)<(i|0)){o=c[b+12>>2]|0;k=p;p=0;while(1){j=c[o+(k<<2)>>2]|0;l=c[(c[j+28>>2]|0)+208>>2]|0;if((l|0)>-1)r=l;else r=c[(c[j+32>>2]|0)+208>>2]|0;j=((r|0)==(h|0)&1)+p|0;k=k+1|0;if((k|0)==(i|0)){s=j;break}else p=j}}else s=0;p=b+4|0;i=c[p>>2]|0;if((c[i+72>>2]|0)<2){k=c[b+8>>2]|0;+Tb[c[(c[k>>2]|0)+12>>2]&3](k,d,e,f,g,q,s,i,c[b+20>>2]|0,c[b+24>>2]|0);return}if((e|0)>0){i=b+32|0;k=b+36|0;h=b+40|0;r=b+44|0;o=c[i>>2]|0;j=c[k>>2]|0;l=0;while(1){m=d+(l<<2)|0;if((o|0)==(j|0)){n=j|0?j<<1:1;if((j|0)<(n|0)){if(!n){t=0;u=j}else{c[4350]=(c[4350]|0)+1;v=Tr((n<<2|3)+16|0)|0;if(!v)w=0;else{x=v+4+15&-16;c[x+-4>>2]=v;w=x}t=w;u=c[i>>2]|0}if((u|0)>0){x=0;do{c[t+(x<<2)>>2]=c[(c[h>>2]|0)+(x<<2)>>2];x=x+1|0}while((x|0)!=(u|0))}x=c[h>>2]|0;if(!x)y=u;else{if(!(a[r>>0]|0))z=u;else{c[4351]=(c[4351]|0)+1;Ur(c[x+-4>>2]|0);z=c[i>>2]|0}c[h>>2]=0;y=z}a[r>>0]=1;c[h>>2]=t;c[k>>2]=n;A=y;B=n}else{A=j;B=j}}else{A=o;B=j}c[(c[h>>2]|0)+(A<<2)>>2]=c[m>>2];o=A+1|0;c[i>>2]=o;l=l+1|0;if((l|0)==(e|0))break;else j=B}}if((g|0)>0){B=b+52|0;j=b+56|0;e=b+60|0;l=b+64|0;o=c[B>>2]|0;i=c[j>>2]|0;A=0;while(1){h=f+(A<<2)|0;if((o|0)==(i|0)){y=i|0?i<<1:1;if((i|0)<(y|0)){if(!y){C=0;D=i}else{c[4350]=(c[4350]|0)+1;k=Tr((y<<2|3)+16|0)|0;if(!k)E=0;else{t=k+4+15&-16;c[t+-4>>2]=k;E=t}C=E;D=c[B>>2]|0}if((D|0)>0){t=0;do{c[C+(t<<2)>>2]=c[(c[e>>2]|0)+(t<<2)>>2];t=t+1|0}while((t|0)!=(D|0))}t=c[e>>2]|0;if(!t)F=D;else{if(!(a[l>>0]|0))G=D;else{c[4351]=(c[4351]|0)+1;Ur(c[t+-4>>2]|0);G=c[B>>2]|0}c[e>>2]=0;F=G}a[l>>0]=1;c[e>>2]=C;c[j>>2]=y;H=F;I=y}else{H=i;I=i}}else{H=o;I=i}c[(c[e>>2]|0)+(H<<2)>>2]=c[h>>2];o=H+1|0;c[B>>2]=o;A=A+1|0;if((A|0)==(g|0))break;else i=I}}I=b+72|0;if((s|0)>0){i=b+76|0;g=b+80|0;A=b+84|0;o=c[I>>2]|0;B=c[i>>2]|0;H=0;while(1){e=q+(H<<2)|0;if((o|0)==(B|0)){F=B|0?B<<1:1;if((B|0)<(F|0)){if(!F){J=0;K=B}else{c[4350]=(c[4350]|0)+1;j=Tr((F<<2|3)+16|0)|0;if(!j)L=0;else{C=j+4+15&-16;c[C+-4>>2]=j;L=C}J=L;K=c[I>>2]|0}if((K|0)>0){C=0;do{c[J+(C<<2)>>2]=c[(c[g>>2]|0)+(C<<2)>>2];C=C+1|0}while((C|0)!=(K|0))}C=c[g>>2]|0;if(!C)M=K;else{if(!(a[A>>0]|0))N=K;else{c[4351]=(c[4351]|0)+1;Ur(c[C+-4>>2]|0);N=c[I>>2]|0}c[g>>2]=0;M=N}a[A>>0]=1;c[g>>2]=J;c[i>>2]=F;O=M;P=F}else{O=B;P=B}}else{O=o;P=B}c[(c[g>>2]|0)+(O<<2)>>2]=c[e>>2];C=O+1|0;c[I>>2]=C;H=H+1|0;if((H|0)==(s|0)){Q=C;break}else{o=C;B=P}}}else Q=c[I>>2]|0;if(((c[b+52>>2]|0)+Q|0)<=(c[(c[p>>2]|0)+72>>2]|0))return;Bh(b);return}function Kh(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=3184;d=b+512|0;e=b+520|0;f=c[e>>2]|0;g=b+524|0;if(f|0){if(a[g>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[f+-4>>2]|0)}c[e>>2]=0}a[g>>0]=1;c[e>>2]=0;c[d>>2]=0;c[b+516>>2]=0;c[b>>2]=3680;d=b+268|0;e=b+276|0;g=c[e>>2]|0;f=b+280|0;if(g|0){if(a[f>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[g+-4>>2]|0)}c[e>>2]=0}a[f>>0]=1;c[e>>2]=0;c[d>>2]=0;c[b+272>>2]=0;c[4351]=(c[4351]|0)+1;Ur(c[b+-4>>2]|0);return}function Lh(a,b){a=a|0;b=b|0;var d=0;d=a+284|0;c[d>>2]=(c[d>>2]|0)+1;c[a+192>>2]=b;c[a+200>>2]=b;return}function Mh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=c[a+268>>2]|0;a:do if((d|0)>0){e=c[a+276>>2]|0;f=0;while(1){if((c[e+(f<<2)>>2]|0)==(b|0)){g=f;break a}f=f+1|0;if((f|0)>=(d|0)){g=d;break}}}else g=d;while(0);return (g|0)>=(d|0)|0}function Nh(a){a=a|0;return 488}function Oh(a,b,e){a=a|0;b=b|0;e=e|0;Cj(a,b,e)|0;c[b+256>>2]=c[a+288>>2];c[b+260>>2]=c[a+292>>2];c[b+264>>2]=c[a+296>>2];c[b+268>>2]=c[a+300>>2];c[b+272>>2]=c[a+304>>2];c[b+276>>2]=c[a+308>>2];c[b+280>>2]=c[a+312>>2];c[b+284>>2]=c[a+316>>2];c[b+288>>2]=c[a+320>>2];c[b+292>>2]=c[a+324>>2];c[b+296>>2]=c[a+328>>2];c[b+300>>2]=c[a+332>>2];c[b+304>>2]=c[a+336>>2];c[b+308>>2]=c[a+340>>2];c[b+312>>2]=c[a+344>>2];c[b+316>>2]=c[a+348>>2];c[b+320>>2]=c[a+352>>2];c[b+324>>2]=c[a+356>>2];c[b+328>>2]=c[a+360>>2];c[b+332>>2]=c[a+364>>2];c[b+448>>2]=c[a+368>>2];c[b+336>>2]=c[a+568>>2];c[b+340>>2]=c[a+572>>2];c[b+344>>2]=c[a+576>>2];c[b+348>>2]=c[a+580>>2];c[b+352>>2]=c[a+372>>2];c[b+356>>2]=c[a+376>>2];c[b+360>>2]=c[a+380>>2];c[b+364>>2]=c[a+384>>2];c[b+368>>2]=c[a+388>>2];c[b+372>>2]=c[a+392>>2];c[b+376>>2]=c[a+396>>2];c[b+380>>2]=c[a+400>>2];c[b+384>>2]=c[a+404>>2];c[b+388>>2]=c[a+408>>2];c[b+392>>2]=c[a+412>>2];c[b+396>>2]=c[a+416>>2];c[b+400>>2]=c[a+420>>2];c[b+404>>2]=c[a+424>>2];c[b+408>>2]=c[a+428>>2];c[b+412>>2]=c[a+432>>2];c[b+416>>2]=c[a+436>>2];c[b+420>>2]=c[a+440>>2];c[b+424>>2]=c[a+444>>2];c[b+428>>2]=c[a+448>>2];c[b+432>>2]=c[a+452>>2];c[b+436>>2]=c[a+456>>2];c[b+440>>2]=c[a+460>>2];c[b+444>>2]=c[a+464>>2];c[b+452>>2]=c[a+468>>2];c[b+456>>2]=c[a+472>>2];c[b+484>>2]=d[a+476>>0];c[b+460>>2]=c[a+480>>2];c[b+464>>2]=c[a+484>>2];c[b+468>>2]=c[a+488>>2];c[b+472>>2]=c[a+492>>2];c[b+476>>2]=c[a+496>>2];c[b+480>>2]=c[a+500>>2];return 7891}function Ph(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[(c[b>>2]|0)+16>>2]|0;e=zb[c[(c[a>>2]|0)+16>>2]&127](a)|0;f=Hb[d&31](b,e,1)|0;e=Hb[c[(c[a>>2]|0)+20>>2]&31](a,c[f+8>>2]|0,b)|0;tb[c[(c[b>>2]|0)+20>>2]&31](b,f,e,1497645650,a);return}function Qh(b,d){b=b|0;d=d|0;var e=0;c[b+164>>2]=1065353216;c[b+168>>2]=1065353216;c[b+172>>2]=1065353216;g[b+176>>2]=0.0;c[b+180>>2]=0;g[b+184>>2]=999999984306749440.0;e=b+188|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[b+204>>2]=1;c[b+208>>2]=-1;c[b+212>>2]=-1;c[b+216>>2]=1;g[b+220>>2]=0.0;g[b+224>>2]=.5;g[b+228>>2]=0.0;g[b+232>>2]=0.0;c[b+236>>2]=1;c[b+240>>2]=0;c[b+244>>2]=-1;g[b+248>>2]=1.0;g[b+252>>2]=0.0;g[b+256>>2]=0.0;c[b+260>>2]=0;a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;c[b+272>>2]=0;c[b+284>>2]=0;c[b+4>>2]=1065353216;e=b+8|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[b+24>>2]=1065353216;e=b+28|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[b+44>>2]=1065353216;e=b+48|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[b>>2]=3184;a[b+524>>0]=1;c[b+520>>2]=0;c[b+512>>2]=0;c[b+516>>2]=0;Rh(b,d);return}function Rh(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,j=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.0,B=0.0,C=0,D=0,E=0,F=0,G=0.0,H=0.0,I=0.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.0,T=0.0,U=0.0,V=0.0,W=0.0;e=i;i=i+32|0;f=e+20|0;h=e+16|0;j=e+12|0;l=e+8|0;m=e+4|0;n=e;c[b+236>>2]=2;o=b+336|0;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;c[b+568>>2]=1065353216;c[b+572>>2]=1065353216;c[b+576>>2]=1065353216;g[b+580>>2]=0.0;o=b+372|0;c[o>>2]=1065353216;p=b+376|0;c[p>>2]=1065353216;q=b+380|0;c[q>>2]=1065353216;r=b+392|0;s=b+396|0;t=b+400|0;u=b+408|0;v=b+412|0;w=b+436|0;x=d+92|0;y=b+384|0;z=y+36|0;do{c[y>>2]=0;y=y+4|0}while((y|0)<(z|0));c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;c[w+16>>2]=0;c[w+20>>2]=0;c[w+24>>2]=0;c[w+28>>2]=0;A=+g[x>>2];B=+g[d+96>>2];g[f>>2]=A;g[h>>2]=B;g[j>>2]=0.0;g[l>>2]=1.0;c[b+468>>2]=c[(A<0.0?j:A>1.0?l:f)>>2];g[m>>2]=0.0;g[n>>2]=1.0;c[b+472>>2]=c[(B<0.0?m:B>1.0?n:h)>>2];c[b+496>>2]=c[d+112>>2];c[b+500>>2]=c[d+116>>2];h=c[d+4>>2]|0;c[b+504>>2]=h;c[b+632>>2]=0;c[b+636>>2]=0;a[b+476>>0]=a[d+120>>0]|0;c[b+480>>2]=c[d+124>>2];c[b+484>>2]=c[d+128>>2];c[b+488>>2]=c[d+132>>2];c[b+492>>2]=c[d+136>>2];if(!h){n=b+4|0;m=d+8|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];c[n+8>>2]=c[m+8>>2];c[n+12>>2]=c[m+12>>2];m=b+20|0;f=d+24|0;c[m>>2]=c[f>>2];c[m+4>>2]=c[f+4>>2];c[m+8>>2]=c[f+8>>2];c[m+12>>2]=c[f+12>>2];f=b+36|0;l=d+40|0;c[f>>2]=c[l>>2];c[f+4>>2]=c[l+4>>2];c[f+8>>2]=c[l+8>>2];c[f+12>>2]=c[l+12>>2];l=b+52|0;j=d+56|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];c[l+12>>2]=c[j+12>>2];C=n;D=m;E=f;F=l}else{l=b+4|0;xb[c[(c[h>>2]|0)+8>>2]&127](h,l);C=l;D=b+20|0;E=b+36|0;F=b+52|0}l=b+68|0;c[l>>2]=c[C>>2];c[l+4>>2]=c[C+4>>2];c[l+8>>2]=c[C+8>>2];c[l+12>>2]=c[C+12>>2];C=b+84|0;c[C>>2]=c[D>>2];c[C+4>>2]=c[D+4>>2];c[C+8>>2]=c[D+8>>2];c[C+12>>2]=c[D+12>>2];D=b+100|0;c[D>>2]=c[E>>2];c[D+4>>2]=c[E+4>>2];c[D+8>>2]=c[E+8>>2];c[D+12>>2]=c[E+12>>2];E=b+116|0;c[E>>2]=c[F>>2];c[E+4>>2]=c[F+4>>2];c[E+8>>2]=c[F+8>>2];c[E+12>>2]=c[F+12>>2];F=b+132|0;c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;c[F+12>>2]=0;c[F+16>>2]=0;c[F+20>>2]=0;c[F+24>>2]=0;c[F+28>>2]=0;c[b+224>>2]=c[d+100>>2];c[b+232>>2]=c[d+104>>2];c[b+228>>2]=c[d+108>>2];xb[c[(c[b>>2]|0)+8>>2]&127](b,c[d+72>>2]|0);F=c[4175]|0;c[4175]=F+1;c[b+532>>2]=F;B=+g[d>>2];F=b+204|0;E=c[F>>2]|0;if(B==0.0){c[F>>2]=E|1;G=0.0}else{c[F>>2]=E&-2;G=1.0/B}E=b+368|0;g[E>>2]=G;A=B*+g[u>>2];H=B*+g[v>>2];g[b+388>>2]=B*+g[b+404>>2];g[r>>2]=A;g[s>>2]=H;g[t>>2]=0.0;H=+g[d+76>>2];t=H!=0.0?(g[k>>2]=1.0/H,c[k>>2]|0):0;H=+g[d+80>>2];s=H!=0.0?(g[k>>2]=1.0/H,c[k>>2]|0):0;H=+g[d+84>>2];d=H!=0.0?(g[k>>2]=1.0/H,c[k>>2]|0):0;c[b+420>>2]=t;c[b+424>>2]=s;c[b+428>>2]=d;g[b+432>>2]=0.0;H=G*+g[p>>2];A=G*+g[q>>2];r=b+584|0;g[r>>2]=G*+g[b+372>>2];v=b+588|0;g[v>>2]=H;u=b+592|0;g[u>>2]=A;F=b+596|0;g[F>>2]=0.0;A=+g[b+4>>2];H=(c[k>>2]=t,+g[k>>2]);G=A*H;B=+g[b+8>>2];I=(c[k>>2]=s,+g[k>>2]);J=B*I;K=+g[b+12>>2];L=(c[k>>2]=d,+g[k>>2]);M=K*L;N=+g[b+20>>2];O=H*N;P=+g[b+24>>2];Q=I*P;R=+g[b+28>>2];S=L*R;T=+g[b+36>>2];U=H*T;H=+g[b+40>>2];V=I*H;I=+g[b+44>>2];W=L*I;g[b+288>>2]=A*G+B*J+K*M;g[b+292>>2]=G*N+J*P+M*R;g[b+296>>2]=G*T+J*H+M*I;g[b+300>>2]=0.0;g[b+304>>2]=A*O+B*Q+K*S;g[b+308>>2]=N*O+P*Q+R*S;g[b+312>>2]=O*T+Q*H+S*I;g[b+316>>2]=0.0;g[b+320>>2]=A*U+B*V+K*W;g[b+324>>2]=N*U+P*V+R*W;g[b+328>>2]=T*U+H*V+I*W;g[b+332>>2]=0.0;c[b+528>>2]=8;d=b+536|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=0;c[d+28>>2]=0;W=+g[E>>2];I=W*+g[p>>2];V=W*+g[q>>2];g[r>>2]=+g[o>>2]*W;g[v>>2]=I;g[u>>2]=V;y=F;z=y+36|0;do{c[y>>2]=0;y=y+4|0}while((y|0)<(z|0));i=e;return}function Sh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=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,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0;d=a+68|0;if(!(c[a+204>>2]&2)){c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];e=a+84|0;f=b+16|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];e=a+100|0;h=b+32|0;c[e>>2]=c[h>>2];c[e+4>>2]=c[h+4>>2];c[e+8>>2]=c[h+8>>2];c[e+12>>2]=c[h+12>>2];e=a+116|0;i=b+48|0;c[e>>2]=c[i>>2];c[e+4>>2]=c[i+4>>2];c[e+8>>2]=c[i+8>>2];c[e+12>>2]=c[i+12>>2];j=a+20|0;k=f;l=a+36|0;m=a+4|0;n=h;o=a+52|0;p=i;q=b}else{i=a+4|0;c[d>>2]=c[i>>2];c[d+4>>2]=c[i+4>>2];c[d+8>>2]=c[i+8>>2];c[d+12>>2]=c[i+12>>2];d=a+84|0;h=a+20|0;c[d>>2]=c[h>>2];c[d+4>>2]=c[h+4>>2];c[d+8>>2]=c[h+8>>2];c[d+12>>2]=c[h+12>>2];d=a+100|0;f=a+36|0;c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];d=a+116|0;e=a+52|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];j=h;k=b+16|0;l=f;m=i;n=b+32|0;o=e;p=b+48|0;q=b}b=a+132|0;e=a+336|0;c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];e=a+148|0;b=a+352|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[m>>2]=c[q>>2];c[m+4>>2]=c[q+4>>2];c[m+8>>2]=c[q+8>>2];c[m+12>>2]=c[q+12>>2];c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];c[l>>2]=c[n>>2];c[l+4>>2]=c[n+4>>2];c[l+8>>2]=c[n+8>>2];c[l+12>>2]=c[n+12>>2];c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2];r=+g[a+4>>2];s=+g[a+420>>2];t=r*s;u=+g[a+8>>2];v=+g[a+424>>2];w=u*v;x=+g[a+12>>2];y=+g[a+428>>2];z=x*y;A=+g[a+20>>2];B=s*A;C=+g[a+24>>2];D=v*C;E=+g[a+28>>2];F=y*E;G=+g[a+36>>2];H=s*G;s=+g[a+40>>2];I=v*s;v=+g[a+44>>2];J=y*v;g[a+288>>2]=r*t+u*w+x*z;g[a+292>>2]=t*A+w*C+z*E;g[a+296>>2]=t*G+w*s+z*v;g[a+300>>2]=0.0;g[a+304>>2]=r*B+u*D+x*F;g[a+308>>2]=A*B+C*D+E*F;g[a+312>>2]=B*G+D*s+F*v;g[a+316>>2]=0.0;g[a+320>>2]=r*H+u*I+x*J;g[a+324>>2]=A*H+C*I+E*J;g[a+328>>2]=G*H+s*I+v*J;g[a+332>>2]=0.0;return}function Th(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,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=d;f=b+512|0;g=c[f>>2]|0;a:do if((g|0)>0){h=c[b+520>>2]|0;i=0;while(1){if((c[h+(i<<2)>>2]|0)==(d|0))break;j=i+1|0;if((j|0)<(g|0))i=j;else break a}if((i|0)!=(g|0))return}while(0);h=b+516|0;if((g|0)==(c[h>>2]|0)?(j=g|0?g<<1:1,(g|0)<(j|0)):0){if(!j){k=0;l=g}else{c[4350]=(c[4350]|0)+1;m=Tr((j<<2|3)+16|0)|0;if(!m)n=0;else{o=m+4+15&-16;c[o+-4>>2]=m;n=o}k=n;l=c[f>>2]|0}n=b+520|0;if((l|0)>0){o=0;do{c[k+(o<<2)>>2]=c[(c[n>>2]|0)+(o<<2)>>2];o=o+1|0}while((o|0)!=(l|0))}o=c[n>>2]|0;m=b+524|0;if(!o)p=l;else{if(!(a[m>>0]|0))q=l;else{c[4351]=(c[4351]|0)+1;Ur(c[o+-4>>2]|0);q=c[f>>2]|0}c[n>>2]=0;p=q}a[m>>0]=1;c[n>>2]=k;c[h>>2]=j;r=p}else r=g;c[(c[b+520>>2]|0)+(r<<2)>>2]=e;c[f>>2]=r+1;r=c[d+28>>2]|0;f=c[d+32>>2]|0;if((r|0)==(b|0)){d=f;e=b+268|0;g=c[e>>2]|0;p=b+272|0;if((g|0)==(c[p>>2]|0)?(j=g|0?g<<1:1,(g|0)<(j|0)):0){if(!j){s=0;t=g}else{c[4350]=(c[4350]|0)+1;h=Tr((j<<2|3)+16|0)|0;if(!h)u=0;else{k=h+4+15&-16;c[k+-4>>2]=h;u=k}s=u;t=c[e>>2]|0}u=b+276|0;if((t|0)>0){k=0;do{c[s+(k<<2)>>2]=c[(c[u>>2]|0)+(k<<2)>>2];k=k+1|0}while((k|0)!=(t|0))}k=c[u>>2]|0;h=b+280|0;if(!k)v=t;else{if(!(a[h>>0]|0))w=t;else{c[4351]=(c[4351]|0)+1;Ur(c[k+-4>>2]|0);w=c[e>>2]|0}c[u>>2]=0;v=w}a[h>>0]=1;c[u>>2]=s;c[p>>2]=j;x=v}else x=g;c[(c[b+276>>2]|0)+(x<<2)>>2]=d;c[e>>2]=x+1;c[b+260>>2]=x>>>31^1;return}else{x=r;r=f+268|0;b=c[r>>2]|0;e=f+272|0;if((b|0)==(c[e>>2]|0)?(d=b|0?b<<1:1,(b|0)<(d|0)):0){if(!d){y=0;z=b}else{c[4350]=(c[4350]|0)+1;g=Tr((d<<2|3)+16|0)|0;if(!g)A=0;else{v=g+4+15&-16;c[v+-4>>2]=g;A=v}y=A;z=c[r>>2]|0}A=f+276|0;if((z|0)>0){v=0;do{c[y+(v<<2)>>2]=c[(c[A>>2]|0)+(v<<2)>>2];v=v+1|0}while((v|0)!=(z|0))}v=c[A>>2]|0;g=f+280|0;if(!v)B=z;else{if(!(a[g>>0]|0))C=z;else{c[4351]=(c[4351]|0)+1;Ur(c[v+-4>>2]|0);C=c[r>>2]|0}c[A>>2]=0;B=C}a[g>>0]=1;c[A>>2]=y;c[e>>2]=d;D=B}else D=b;c[(c[f+276>>2]|0)+(D<<2)>>2]=x;c[r>>2]=D+1;c[f+260>>2]=D>>>31^1;return}}function Uh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=b+512|0;f=c[e>>2]|0;if((f|0)<=0)return;g=b+520|0;h=c[g>>2]|0;i=0;while(1){if((c[h+(i<<2)>>2]|0)==(d|0))break;j=i+1|0;if((j|0)<(f|0))i=j;else{k=25;break}}if((k|0)==25)return;if((i|0)<(f|0))l=0;else return;while(1){m=h+(l<<2)|0;if((c[m>>2]|0)==(d|0)){k=8;break}i=l+1|0;if((i|0)<(f|0))l=i;else break}if((k|0)==8?(l|0)<(f|0):0){l=d;k=f+-1|0;c[m>>2]=c[h+(k<<2)>>2];h=(c[g>>2]|0)+(k<<2)|0;a[h>>0]=l;a[h+1>>0]=l>>8;a[h+2>>0]=l>>16;a[h+3>>0]=l>>24;c[e>>2]=(c[e>>2]|0)+-1}e=c[d+28>>2]|0;l=c[d+32>>2]|0;if((e|0)==(b|0)){d=b+268|0;h=c[d>>2]|0;a:do if((h|0)>0){k=b+276|0;g=c[k>>2]|0;m=0;while(1){n=g+(m<<2)|0;if((c[n>>2]|0)==(l|0))break;f=m+1|0;if((f|0)<(h|0))m=f;else{o=h;break a}}if((m|0)<(h|0)){f=l;i=h+-1|0;c[n>>2]=c[g+(i<<2)>>2];j=(c[k>>2]|0)+(i<<2)|0;a[j>>0]=f;a[j+1>>0]=f>>8;a[j+2>>0]=f>>16;a[j+3>>0]=f>>24;f=(c[d>>2]|0)+-1|0;c[d>>2]=f;o=f}else o=h}else o=h;while(0);c[b+260>>2]=(o|0)>0&1;return}else{o=l+268|0;b=c[o>>2]|0;b:do if((b|0)>0){h=l+276|0;d=c[h>>2]|0;n=0;while(1){p=d+(n<<2)|0;if((c[p>>2]|0)==(e|0))break;f=n+1|0;if((f|0)<(b|0))n=f;else{q=b;break b}}if((n|0)<(b|0)){k=e;g=b+-1|0;c[p>>2]=c[d+(g<<2)>>2];m=(c[h>>2]|0)+(g<<2)|0;a[m>>0]=k;a[m+1>>0]=k>>8;a[m+2>>0]=k>>16;a[m+3>>0]=k>>24;k=(c[o>>2]|0)+-1|0;c[o>>2]=k;q=k}else q=b}else q=b;while(0);c[l+260>>2]=(q|0)>0&1;return}}function Vh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;c[b>>2]=3220;d=b+136|0;e=b+144|0;f=c[e>>2]|0;g=b+148|0;if(f|0){if(a[g>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[f+-4>>2]|0)}c[e>>2]=0}a[g>>0]=1;c[e>>2]=0;c[d>>2]=0;c[b+140>>2]=0;d=b+68|0;e=b+76|0;g=c[e>>2]|0;f=b+80|0;if(g|0){if(a[f>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[g+-4>>2]|0)}c[e>>2]=0}a[f>>0]=1;c[e>>2]=0;c[d>>2]=0;c[b+72>>2]=0;d=b+48|0;e=b+56|0;f=c[e>>2]|0;g=b+60|0;if(f|0){if(a[g>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[f+-4>>2]|0)}c[e>>2]=0}a[g>>0]=1;c[e>>2]=0;c[d>>2]=0;c[b+52>>2]=0;d=b+28|0;e=b+36|0;g=c[e>>2]|0;f=b+40|0;if(g|0){if(a[f>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[g+-4>>2]|0)}c[e>>2]=0}a[f>>0]=1;c[e>>2]=0;c[d>>2]=0;c[b+32>>2]=0;d=b+8|0;e=b+16|0;f=c[e>>2]|0;g=b+20|0;if(!f){a[g>>0]=1;c[e>>2]=0;c[d>>2]=0;h=b+12|0;c[h>>2]=0;return}if(a[g>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[f+-4>>2]|0)}c[e>>2]=0;a[g>>0]=1;c[e>>2]=0;c[d>>2]=0;h=b+12|0;c[h>>2]=0;return}function Wh(a){a=a|0;Vh(a);Ur(a);return}function Xh(a,b,d){a=a|0;b=b|0;d=+d;ub[c[(c[a>>2]|0)+16>>2]&31](a,d);return}function Yh(b,d){b=b|0;d=d|0;var e=0,f=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.0,z=0.0;e=i;i=i+48|0;f=e+32|0;h=e+16|0;j=e;k=b+136|0;if((c[k>>2]|0)<=0){i=e;return}l=f+4|0;m=f+8|0;n=f+12|0;o=b+144|0;p=b+120|0;b=h+4|0;q=h+8|0;r=j+4|0;s=j+8|0;t=j+12|0;u=0;do{v=c[o>>2]|0;c[f>>2]=(a[v+(u*284|0)+84>>0]|0)==0?1065353216:0;c[l>>2]=0;c[m>>2]=1065353216;g[n>>2]=0.0;w=v+(u*284|0)+140|0;c[h>>2]=c[w>>2];c[h+4>>2]=c[w+4>>2];c[h+8>>2]=c[w+8>>2];c[h+12>>2]=c[w+12>>2];w=c[p>>2]|0;x=c[(c[d>>2]|0)+8>>2]|0;y=+g[v+(u*284|0)+108+(w<<2)>>2]+ +g[b>>2];z=+g[v+(u*284|0)+124+(w<<2)>>2]+ +g[q>>2];g[j>>2]=+g[v+(u*284|0)+92+(w<<2)>>2]+ +g[h>>2];g[r>>2]=y;g[s>>2]=z;g[t>>2]=0.0;ec[x&63](d,h,j,f);ec[c[(c[d>>2]|0)+8>>2]&63](d,h,(c[o>>2]|0)+(u*284|0)+16|0,f);u=u+1|0}while((u|0)<(c[k>>2]|0));i=e;return}function Zh(b,d){b=b|0;d=+d;var e=0,f=0,h=0,j=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,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,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0,ka=0.0,la=0,ma=0,na=0.0;e=i;i=i+176|0;f=e+36|0;h=e;j=b+136|0;k=c[j>>2]|0;l=b+116|0;if((k|0)>0){m=b+144|0;n=0;do{_h(c[l>>2]|0,c[m>>2]|0,n,0);n=n+1|0;o=c[j>>2]|0}while((n|0)<(o|0));p=o}else p=k;k=c[l>>2]|0;n=k+336|0;q=+g[n>>2];m=k+340|0;r=+g[m>>2];o=k+344|0;s=+g[o>>2];t=+O(+(q*q+r*r+s*s))*3.5999999046325684;u=b+112|0;g[u>>2]=t;v=b+128|0;w=c[v>>2]|0;if(+g[k+4+(w<<2)>>2]*+g[n>>2]+ +g[k+20+(w<<2)>>2]*+g[m>>2]+ +g[k+36+(w<<2)>>2]*+g[o>>2]<0.0)g[u>>2]=-t;if((p|0)>0){p=b+144|0;u=h+32|0;o=b+100|0;w=h+16|0;m=f+4|0;n=f+8|0;x=f+72|0;y=f+100|0;z=f+104|0;A=f+108|0;B=f+112|0;C=f+116|0;D=f+120|0;E=f+124|0;F=f+128|0;G=f+132|0;H=f+136|0;I=f+12|0;J=f+28|0;K=f+32|0;L=f+48|0;M=f+52|0;N=0;P=k;do{k=c[p>>2]|0;Q=k+(N*284|0)|0;$h(P,Q,0);R=k+(N*284|0)+204|0;S=k+(N*284|0)+212|0;t=+g[R>>2]+ +g[S>>2];T=k+(N*284|0)+52|0;U=k+(N*284|0)+56|0;V=k+(N*284|0)+60|0;W=k+(N*284|0)+36|0;X=k+(N*284|0)+16|0;s=t*+g[U>>2]+ +g[k+(N*284|0)+40>>2];r=t*+g[V>>2]+ +g[k+(N*284|0)+44>>2];g[k+(N*284|0)+16>>2]=+g[T>>2]*t+ +g[W>>2];Y=k+(N*284|0)+20|0;g[Y>>2]=s;Z=k+(N*284|0)+24|0;g[Z>>2]=r;g[k+(N*284|0)+28>>2]=0.0;g[u>>2]=-1.0;_=c[o>>2]|0;$=Db[c[(c[_>>2]|0)+8>>2]&31](_,W,X,h)|0;W=k+(N*284|0)+88|0;c[W>>2]=0;do if($){r=t*+g[u>>2];c[Q>>2]=c[w>>2];c[Q+4>>2]=c[w+4>>2];c[Q+8>>2]=c[w+8>>2];c[Q+12>>2]=c[w+12>>2];a[k+(N*284|0)+84>>0]=1;if((a[16664]|0)==0?Ta(16664)|0:0){c[4217]=1065353216;c[4218]=1065353216;c[4219]=1065353216;g[4220]=0.0;c[4221]=0;g[4222]=999999984306749440.0;c[4223]=0;c[4224]=0;c[4225]=0;c[4226]=0;c[4227]=1;c[4228]=-1;c[4229]=-1;c[4230]=1;g[4231]=0.0;g[4232]=.5;g[4233]=0.0;g[4234]=0.0;c[4235]=1;c[4236]=0;c[4237]=-1;g[4238]=1.0;g[4239]=0.0;g[4240]=0.0;c[4241]=0;a[16984]=1;c[4245]=0;c[4243]=0;c[4244]=0;c[4247]=0;c[4177]=1065353216;c[4178]=0;c[4179]=0;c[4180]=0;c[4181]=0;c[4182]=1065353216;c[4183]=0;c[4184]=0;c[4185]=0;c[4186]=0;c[4187]=1065353216;c[4188]=0;c[4189]=0;c[4190]=0;c[4191]=0;c[4192]=0;c[4176]=3184;a[17228]=1;c[4306]=0;c[4304]=0;c[4305]=0;g[f>>2]=0.0;c[m>>2]=0;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[x+12>>2]=0;c[x+16>>2]=0;c[x+20>>2]=0;c[x+24>>2]=0;g[y>>2]=.5;g[z>>2]=0.0;g[A>>2]=0.0;g[B>>2]=.800000011920929;g[C>>2]=1.0;a[D>>0]=0;g[E>>2]=.004999999888241291;g[F>>2]=.009999999776482582;g[G>>2]=.009999999776482582;g[H>>2]=.009999999776482582;c[n>>2]=1065353216;c[I>>2]=0;c[I+4>>2]=0;c[I+8>>2]=0;c[I+12>>2]=0;c[J>>2]=1065353216;c[K>>2]=0;c[K+4>>2]=0;c[K+8>>2]=0;c[K+12>>2]=0;c[L>>2]=1065353216;c[M>>2]=0;c[M+4>>2]=0;c[M+8>>2]=0;c[M+12>>2]=0;c[M+16>>2]=0;Rh(16704,f);Xa(16664)}c[4227]=c[4227]|1;g[4268]=0.0;s=+g[4278]*0.0;q=+g[4279]*0.0;g[4273]=+g[4277]*0.0;g[4274]=s;g[4275]=q;g[4276]=0.0;c[4281]=0;c[4282]=0;c[4283]=0;c[4284]=0;q=+g[4270]*0.0;s=+g[4271]*0.0;g[4322]=+g[4269]*0.0;g[4323]=q;g[4324]=s;g[4325]=0.0;c[W>>2]=16704;s=r-+g[S>>2];_=k+(N*284|0)+32|0;g[_>>2]=s;r=+g[R>>2];q=+g[k+(N*284|0)+208>>2]*.009999999776482582;aa=r-q;ba=r+q;if(s<aa){g[_>>2]=aa;ca=aa}else ca=s;if(ca>ba)g[_>>2]=ba;c[X>>2]=c[h>>2];c[X+4>>2]=c[h+4>>2];c[X+8>>2]=c[h+8>>2];c[X+12>>2]=c[h+12>>2];ba=+g[Q>>2];s=+g[k+(N*284|0)+4>>2];aa=+g[k+(N*284|0)+8>>2];q=ba*+g[T>>2]+s*+g[U>>2]+aa*+g[V>>2];_=c[l>>2]|0;r=+g[X>>2]-+g[_+52>>2];da=+g[Y>>2]-+g[_+56>>2];ea=+g[Z>>2]-+g[_+60>>2];fa=+g[_+356>>2];ga=+g[_+360>>2];ha=+g[_+352>>2];if(!(q>=-.10000000149011612)){ia=-1.0/q;g[k+(N*284|0)+272>>2]=ia*(ba*(fa*ea-da*ga+ +g[_+336>>2])+s*(r*ga-ea*ha+ +g[_+340>>2])+aa*(da*ha-r*fa+ +g[_+344>>2]));g[k+(N*284|0)+268>>2]=ia;break}else{g[k+(N*284|0)+272>>2]=0.0;g[k+(N*284|0)+268>>2]=10.0;break}}else{c[k+(N*284|0)+32>>2]=c[R>>2];g[k+(N*284|0)+272>>2]=0.0;ia=-+g[U>>2];fa=-+g[V>>2];g[Q>>2]=-+g[T>>2];g[k+(N*284|0)+4>>2]=ia;g[k+(N*284|0)+8>>2]=fa;g[k+(N*284|0)+12>>2]=0.0;g[k+(N*284|0)+268>>2]=1.0}while(0);N=N+1|0;ja=c[j>>2]|0;P=c[l>>2]|0}while((N|0)<(ja|0));ca=1.0/+g[P+368>>2];if((ja|0)>0){ja=0;do{P=c[p>>2]|0;if(!(a[P+(ja*284|0)+84>>0]|0))ka=0.0;else{t=+g[P+(ja*284|0)+272>>2];fa=ca*(+g[P+(ja*284|0)+216>>2]*(+g[P+(ja*284|0)+204>>2]-+g[P+(ja*284|0)+32>>2])*+g[P+(ja*284|0)+268>>2]-t*+g[(t<0.0?P+(ja*284|0)+220|0:P+(ja*284|0)+224|0)>>2]);ka=fa<0.0?0.0:fa}g[P+(ja*284|0)+276>>2]=ka;ja=ja+1|0;la=c[j>>2]|0}while((ja|0)<(la|0));if((la|0)>0){la=f+4|0;ja=f+8|0;P=f+12|0;N=h+4|0;M=h+8|0;L=h+12|0;K=0;do{J=c[p>>2]|0;ka=+g[J+(K*284|0)+276>>2];ca=+g[J+(K*284|0)+248>>2];fa=ka>ca?ca:ka;ka=fa*+g[J+(K*284|0)+4>>2]*d;ca=fa*+g[J+(K*284|0)+8>>2]*d;g[f>>2]=+g[J+(K*284|0)>>2]*fa*d;g[la>>2]=ka;g[ja>>2]=ca;g[P>>2]=0.0;I=c[l>>2]|0;ca=+g[J+(K*284|0)+20>>2]-+g[I+56>>2];ka=+g[J+(K*284|0)+24>>2]-+g[I+60>>2];g[h>>2]=+g[J+(K*284|0)+16>>2]-+g[I+52>>2];g[N>>2]=ca;g[M>>2]=ka;g[L>>2]=0.0;We(I,f,h);K=K+1|0}while((K|0)<(c[j>>2]|0))}}}ub[c[(c[b>>2]|0)+20>>2]&31](b,d);K=c[j>>2]|0;if((K|0)<=0){i=e;return}j=c[b+144>>2]|0;b=c[l>>2]|0;l=b+52|0;h=b+56|0;f=b+60|0;L=b+356|0;M=b+360|0;N=b+352|0;P=b+344|0;ja=b+340|0;la=b+336|0;p=0;do{ka=+g[j+(p*284|0)+36>>2]-+g[l>>2];ca=+g[j+(p*284|0)+40>>2]-+g[h>>2];fa=+g[j+(p*284|0)+44>>2]-+g[f>>2];t=+g[L>>2];ia=+g[M>>2];r=+g[N>>2];if(!(a[j+(p*284|0)+84>>0]|0)){I=j+(p*284|0)+240|0;ha=+g[I>>2];J=j+(p*284|0)+236|0;g[J>>2]=ha+ +g[J>>2];ma=I;na=ha}else{I=c[v>>2]|0;ha=+g[b+4+(I<<2)>>2];da=+g[b+20+(I<<2)>>2];aa=+g[b+36+(I<<2)>>2];ea=+g[j+(p*284|0)>>2];ga=+g[j+(p*284|0)+4>>2];s=+g[j+(p*284|0)+8>>2];ba=ha*ea+da*ga+aa*s;q=((ca*r-ka*t+ +g[P>>2])*(aa-s*ba)+((t*fa-ca*ia+ +g[la>>2])*(ha-ea*ba)+(ka*ia-fa*r+ +g[ja>>2])*(da-ga*ba)))*d/+g[j+(p*284|0)+212>>2];I=j+(p*284|0)+240|0;g[I>>2]=q;J=j+(p*284|0)+236|0;g[J>>2]=+g[J>>2]+q;ma=I;na=q}g[ma>>2]=na*.9900000095367432;p=p+1|0}while((p|0)!=(K|0));i=e;return}function _h(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0,k=0.0,l=0.0,m=0,n=0.0,o=0,p=0.0,q=0.0,r=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,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0;$h(a,b+(c*284|0)|0,d);d=b+(c*284|0)+52|0;e=+g[d>>2];f=-e;a=b+(c*284|0)+56|0;h=+g[a>>2];i=-h;j=b+(c*284|0)+60|0;k=+g[j>>2];l=-k;m=b+(c*284|0)+76|0;n=+g[m>>2];o=b+(c*284|0)+72|0;p=+g[o>>2];q=n*i-p*l;r=b+(c*284|0)+68|0;s=+g[r>>2];t=s*l-n*f;u=p*f-s*i;v=1.0/+O(+(u*u+(q*q+t*t)));w=q*v;q=v*t;t=v*u;u=+g[b+(c*284|0)+232>>2]*.5;v=+R(+u)/+O(+(e*e+h*h+k*k));k=v*f;h=v*i;e=v*l;v=+Q(+u);u=2.0/(v*v+(e*e+(k*k+h*h)));x=k*u;y=h*u;z=e*u;u=v*x;A=v*y;B=v*z;v=k*x;x=k*y;C=k*z;k=h*y;y=h*z;h=e*z;z=1.0-(k+h);e=x-B;D=C+A;E=x+B;B=1.0-(v+h);h=y-u;x=C-A;A=y+u;u=1.0-(v+k);k=+g[b+(c*284|0)+236>>2]*-.5;v=+R(+k)/+O(+(n*n+(p*p+s*s)));y=s*v;s=p*v;p=n*v;v=+Q(+k);k=2.0/(v*v+(p*p+(y*y+s*s)));n=y*k;C=s*k;F=p*k;k=v*n;G=v*C;H=v*F;v=y*n;n=y*C;I=y*F;y=s*C;C=s*F;s=p*F;F=1.0-(y+s);p=n-H;J=I+G;K=n+H;H=1.0-(v+s);s=C-k;n=I-G;G=C+k;k=1.0-(v+y);y=+g[r>>2];v=+g[o>>2];C=+g[m>>2];I=D*n+(e*K+z*F);L=D*G+(z*p+e*H);M=z*J+e*s+D*k;D=h*n+(B*K+E*F);e=h*G+(E*p+B*H);z=E*J+B*s+h*k;h=u*n+(A*K+x*F);F=u*G+(x*p+A*H);H=x*J+A*s+u*k;g[b+(c*284|0)+92>>2]=C*M+(y*I+v*L);g[b+(c*284|0)+96>>2]=t*M+(w*I+q*L);g[b+(c*284|0)+100>>2]=M*l+(I*f+L*i);g[b+(c*284|0)+104>>2]=0.0;g[b+(c*284|0)+108>>2]=C*z+(y*D+v*e);g[b+(c*284|0)+112>>2]=t*z+(w*D+q*e);g[b+(c*284|0)+116>>2]=z*l+(D*f+e*i);g[b+(c*284|0)+120>>2]=0.0;g[b+(c*284|0)+124>>2]=C*H+(y*h+v*F);g[b+(c*284|0)+128>>2]=t*H+(w*h+q*F);g[b+(c*284|0)+132>>2]=H*l+(h*f+F*i);g[b+(c*284|0)+136>>2]=0.0;i=+g[b+(c*284|0)+32>>2];F=i*+g[a>>2]+ +g[b+(c*284|0)+40>>2];f=i*+g[j>>2]+ +g[b+(c*284|0)+44>>2];g[b+(c*284|0)+140>>2]=+g[d>>2]*i+ +g[b+(c*284|0)+36>>2];g[b+(c*284|0)+144>>2]=F;g[b+(c*284|0)+148>>2]=f;g[b+(c*284|0)+152>>2]=0.0;return}function $h(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.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,y=0.0;f=i;i=i+64|0;h=f;a[d+84>>0]=0;j=b+4|0;c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];c[h+8>>2]=c[j+8>>2];c[h+12>>2]=c[j+12>>2];j=h+16|0;k=b+20|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];k=h+32|0;j=b+36|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];j=h+48|0;k=b+52|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];if(e?(e=c[b+504>>2]|0,e|0):0)xb[c[(c[e>>2]|0)+8>>2]&127](e,h);l=+g[d+156>>2];m=+g[h>>2];n=+g[d+160>>2];o=+g[h+4>>2];p=+g[d+164>>2];q=+g[h+8>>2];r=+g[h+16>>2];s=+g[h+20>>2];t=+g[h+24>>2];u=+g[h+32>>2];v=+g[h+36>>2];w=+g[h+40>>2];x=l*r+n*s+p*t+ +g[h+52>>2];y=l*u+n*v+p*w+ +g[h+56>>2];g[d+36>>2]=l*m+n*o+p*q+ +g[h+48>>2];g[d+40>>2]=x;g[d+44>>2]=y;g[d+48>>2]=0.0;y=+g[d+172>>2];x=+g[d+176>>2];p=+g[d+180>>2];g[d+52>>2]=m*y+o*x+q*p;g[d+56>>2]=y*r+x*s+p*t;g[d+60>>2]=y*u+x*v+p*w;g[d+64>>2]=0.0;p=+g[d+188>>2];x=+g[d+192>>2];y=+g[d+196>>2];g[d+68>>2]=m*p+o*x+q*y;g[d+72>>2]=p*r+x*s+y*t;g[d+76>>2]=p*u+x*v+y*w;g[d+80>>2]=0.0;i=f;return}function ai(b,d){b=b|0;d=+d;var e=0,f=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.0,K=0.0,L=0.0,M=0.0,N=0,P=0.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,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0,ja=0.0,ka=0.0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0;e=i;i=i+144|0;f=e+80|0;h=e+64|0;j=e+96|0;k=e+16|0;l=e+48|0;m=e+32|0;n=e;o=b+136|0;p=c[o>>2]|0;if(!p){i=e;return}q=b+8|0;r=c[q>>2]|0;if((r|0)<(p|0)){s=b+12|0;if((c[s>>2]|0)<(p|0)){c[4350]=(c[4350]|0)+1;t=Tr((p<<4|3)+16|0)|0;if(!t)u=0;else{v=t+4+15&-16;c[v+-4>>2]=t;u=v}v=c[q>>2]|0;t=b+16|0;if((v|0)>0){w=0;do{x=u+(w<<4)|0;y=(c[t>>2]|0)+(w<<4)|0;c[x>>2]=c[y>>2];c[x+4>>2]=c[y+4>>2];c[x+8>>2]=c[y+8>>2];c[x+12>>2]=c[y+12>>2];w=w+1|0}while((w|0)!=(v|0))}v=c[t>>2]|0;w=b+20|0;if(v|0){if(a[w>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[v+-4>>2]|0)}c[t>>2]=0}a[w>>0]=1;c[t>>2]=u;c[s>>2]=p;z=t}else z=b+16|0;t=r;do{r=(c[z>>2]|0)+(t<<4)|0;c[r>>2]=c[f>>2];c[r+4>>2]=c[f+4>>2];c[r+8>>2]=c[f+8>>2];c[r+12>>2]=c[f+12>>2];t=t+1|0}while((t|0)!=(p|0))}c[q>>2]=p;q=b+28|0;t=c[q>>2]|0;if((t|0)<(p|0)){f=b+32|0;if((c[f>>2]|0)<(p|0)){c[4350]=(c[4350]|0)+1;z=Tr((p<<4|3)+16|0)|0;if(!z)A=0;else{r=z+4+15&-16;c[r+-4>>2]=z;A=r}r=c[q>>2]|0;z=b+36|0;if((r|0)>0){s=0;do{u=A+(s<<4)|0;w=(c[z>>2]|0)+(s<<4)|0;c[u>>2]=c[w>>2];c[u+4>>2]=c[w+4>>2];c[u+8>>2]=c[w+8>>2];c[u+12>>2]=c[w+12>>2];s=s+1|0}while((s|0)!=(r|0))}r=c[z>>2]|0;s=b+40|0;if(r|0){if(a[s>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[r+-4>>2]|0)}c[z>>2]=0}a[s>>0]=1;c[z>>2]=A;c[f>>2]=p;B=z}else B=b+36|0;z=t;do{t=(c[B>>2]|0)+(z<<4)|0;c[t>>2]=c[h>>2];c[t+4>>2]=c[h+4>>2];c[t+8>>2]=c[h+8>>2];c[t+12>>2]=c[h+12>>2];z=z+1|0}while((z|0)!=(p|0))}c[q>>2]=p;q=b+48|0;z=c[q>>2]|0;if((z|0)<(p|0)){h=b+52|0;do if((c[h>>2]|0)<(p|0)){B=p<<2;c[4350]=(c[4350]|0)+1;t=Tr((B|3)+16|0)|0;if(!t)C=0;else{f=t+4+15&-16;c[f+-4>>2]=t;C=f}f=c[q>>2]|0;t=b+56|0;A=c[t>>2]|0;if((f|0)<=0){if(!A){a[b+60>>0]=1;c[t>>2]=C;c[h>>2]=p;D=B;E=C;break}}else{s=0;do{c[C+(s<<2)>>2]=c[A+(s<<2)>>2];s=s+1|0}while((s|0)!=(f|0))}f=b+60|0;if(a[f>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[A+-4>>2]|0)}a[f>>0]=1;c[t>>2]=C;c[h>>2]=p;D=B;E=C}else{D=p<<2;E=c[b+56>>2]|0}while(0);Bs(E+(z<<2)|0,0,D-(z<<2)|0)|0}c[q>>2]=p;q=b+68|0;z=c[q>>2]|0;if((z|0)<(p|0)){D=b+72|0;do if((c[D>>2]|0)<(p|0)){E=p<<2;c[4350]=(c[4350]|0)+1;C=Tr((E|3)+16|0)|0;if(!C)F=0;else{h=C+4+15&-16;c[h+-4>>2]=C;F=h}h=c[q>>2]|0;C=b+76|0;f=c[C>>2]|0;if((h|0)<=0){if(!f){a[b+80>>0]=1;c[C>>2]=F;c[D>>2]=p;G=E;H=F;break}}else{s=0;do{c[F+(s<<2)>>2]=c[f+(s<<2)>>2];s=s+1|0}while((s|0)!=(h|0))}h=b+80|0;if(a[h>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[f+-4>>2]|0)}a[h>>0]=1;c[C>>2]=F;c[D>>2]=p;G=E;H=F}else{G=p<<2;H=c[b+76>>2]|0}while(0);Bs(H+(z<<2)|0,0,G-(z<<2)|0)|0}c[q>>2]=p;p=c[o>>2]|0;if((p|0)<=0){i=e;return}q=b+76|0;z=c[q>>2]|0;G=b+56|0;H=c[G>>2]|0;F=0;do{g[z+(F<<2)>>2]=0.0;g[H+(F<<2)>>2]=0.0;F=F+1|0}while((F|0)!=(p|0));F=b+144|0;H=j+16|0;z=j+32|0;D=b+36|0;h=b+120|0;s=b+16|0;B=b+116|0;t=p;p=0;while(1){A=c[F>>2]|0;r=c[A+(p*284|0)+88>>2]|0;if(!r)I=t;else{w=A+(p*284|0)+92|0;c[j>>2]=c[w>>2];c[j+4>>2]=c[w+4>>2];c[j+8>>2]=c[w+8>>2];c[j+12>>2]=c[w+12>>2];w=A+(p*284|0)+108|0;c[H>>2]=c[w>>2];c[H+4>>2]=c[w+4>>2];c[H+8>>2]=c[w+8>>2];c[H+12>>2]=c[w+12>>2];w=A+(p*284|0)+124|0;c[z>>2]=c[w>>2];c[z+4>>2]=c[w+4>>2];c[z+8>>2]=c[w+8>>2];c[z+12>>2]=c[w+12>>2];w=c[D>>2]|0;u=c[h>>2]|0;v=c[j+16+(u<<2)>>2]|0;y=c[j+32+(u<<2)>>2]|0;c[w+(p<<4)>>2]=c[j+(u<<2)>>2];c[w+(p<<4)+4>>2]=v;c[w+(p<<4)+8>>2]=y;g[w+(p<<4)+12>>2]=0.0;w=c[D>>2]|0;y=w+(p<<4)|0;J=+g[y>>2];v=A+(p*284|0)|0;K=+g[v>>2];u=w+(p<<4)+4|0;L=+g[u>>2];x=A+(p*284|0)+4|0;M=+g[x>>2];N=w+(p<<4)+8|0;P=+g[N>>2];w=A+(p*284|0)+8|0;Q=+g[w>>2];R=J*K+L*M+P*Q;S=J-K*R;K=L-M*R;M=P-Q*R;R=1.0/+O(+(S*S+K*K+M*M));Q=S*R;g[y>>2]=Q;S=K*R;g[u>>2]=S;K=M*R;g[N>>2]=K;N=c[s>>2]|0;R=+g[x>>2];M=+g[w>>2];P=+g[v>>2];g[N+(p<<4)>>2]=R*K-M*S;g[N+(p<<4)+4>>2]=M*Q-K*P;g[N+(p<<4)+8>>2]=S*P-R*Q;g[N+(p<<4)+12>>2]=0.0;N=c[s>>2]|0;v=N+(p<<4)|0;Q=+g[v>>2];w=N+(p<<4)+4|0;R=+g[w>>2];x=N+(p<<4)+8|0;P=+g[x>>2];S=1.0/+O(+(Q*Q+R*R+P*P));g[v>>2]=Q*S;g[w>>2]=R*S;g[x>>2]=P*S;x=c[B>>2]|0;w=c[D>>2]|0;S=+g[w+(p<<4)>>2];P=+g[w+(p<<4)+4>>2];R=+g[w+(p<<4)+8>>2];if(S*S+P*P+R*R>1.100000023841858)T=0.0;else{Q=+g[A+(p*284|0)+16>>2];K=Q-+g[x+52>>2];M=+g[A+(p*284|0)+20>>2];L=M-+g[x+56>>2];J=+g[A+(p*284|0)+24>>2];U=J-+g[x+60>>2];V=Q-+g[r+52>>2];Q=M-+g[r+56>>2];M=J-+g[r+60>>2];J=+g[x+356>>2];W=+g[x+360>>2];X=+g[x+352>>2];Y=+g[r+356>>2];Z=+g[r+360>>2];_=+g[r+352>>2];$=R*L-P*U;aa=S*U-R*K;ba=P*K-S*L;ca=$*+g[x+4>>2]+aa*+g[x+20>>2]+ba*+g[x+36>>2];da=$*+g[x+8>>2]+aa*+g[x+24>>2]+ba*+g[x+40>>2];ea=$*+g[x+12>>2]+aa*+g[x+28>>2]+ba*+g[x+44>>2];ba=-S;aa=-P;$=-R;fa=Q*$-M*aa;ga=M*ba-V*$;$=V*aa-Q*ba;ba=fa*+g[r+4>>2]+ga*+g[r+20>>2]+$*+g[r+36>>2];aa=fa*+g[r+8>>2]+ga*+g[r+24>>2]+$*+g[r+40>>2];ha=fa*+g[r+12>>2]+ga*+g[r+28>>2]+$*+g[r+44>>2];T=(S*(U*J-L*W+ +g[x+336>>2]-(M*Y-Q*Z+ +g[r+336>>2]))+P*(+g[x+340>>2]+(K*W-U*X)-(+g[r+340>>2]+(V*Z-M*_)))+R*(L*X-K*J+ +g[x+344>>2]-(Q*_-V*Y+ +g[r+344>>2])))*-.20000000298023224*(1.0/(+g[r+368>>2]+(+g[x+368>>2]+(ca*(ca*+g[x+420>>2])+da*(da*+g[x+424>>2])+ea*(ea*+g[x+428>>2])))+(ba*(ba*+g[r+420>>2])+aa*(aa*+g[r+424>>2])+ha*(ha*+g[r+428>>2]))))}g[(c[q>>2]|0)+(p<<2)>>2]=T;I=c[o>>2]|0}p=p+1|0;if((p|0)>=(I|0))break;else t=I}if((I|0)<=0){i=e;return}I=c[F>>2]|0;t=0;p=0;while(1){h=c[I+(p*284|0)+88>>2]|0;if(h){T=+g[I+(p*284|0)+252>>2];if(T!=0.0){ia=I;ja=T*d}else{T=+g[I+(p*284|0)+256>>2];ha=T==0.0?0.0:T;z=c[B>>2]|0;H=c[s>>2]|0;T=+g[I+(p*284|0)+16>>2];aa=+g[I+(p*284|0)+20>>2];ba=+g[I+(p*284|0)+24>>2];ea=+g[H+(p<<4)>>2];da=+g[H+(p<<4)+4>>2];ca=+g[H+(p<<4)+8>>2];H=z+52|0;Y=T-+g[H>>2];r=z+56|0;V=aa-+g[r>>2];x=z+60|0;_=ba-+g[x>>2];Q=V*ca-_*da;J=_*ea-Y*ca;K=Y*da-V*ea;X=+g[z+288>>2]*Q+ +g[z+304>>2]*J+K*+g[z+320>>2];L=Q*+g[z+292>>2]+J*+g[z+308>>2]+K*+g[z+324>>2];R=Q*+g[z+296>>2]+J*+g[z+312>>2]+K*+g[z+328>>2];K=T-+g[h+52>>2];J=aa-+g[h+56>>2];Q=ba-+g[h+60>>2];M=ca*J-da*Q;Z=ea*Q-ca*K;U=da*K-ea*J;W=U*+g[h+320>>2]+(+g[h+288>>2]*M+ +g[h+304>>2]*Z);P=M*+g[h+292>>2]+Z*+g[h+308>>2]+U*+g[h+324>>2];S=M*+g[h+296>>2]+Z*+g[h+312>>2]+U*+g[h+328>>2];U=T-+g[H>>2];T=aa-+g[r>>2];aa=ba-+g[x>>2];ba=+g[z+356>>2];Z=+g[z+360>>2];M=+g[z+352>>2];$=+g[h+356>>2];ga=+g[h+360>>2];fa=+g[h+352>>2];ka=-(1.0/(+g[z+368>>2]+(ca*(V*X-Y*L)+(ea*(_*L-V*R)+da*(Y*R-_*X)))+(+g[h+368>>2]+(ca*(J*W-K*P)+(ea*(Q*P-J*S)+da*(K*S-Q*W)))))*((aa*ba-T*Z+ +g[z+336>>2]-(Q*$-J*ga+ +g[h+336>>2]))*ea+(+g[z+340>>2]+(U*Z-aa*M)-(+g[h+340>>2]+(K*ga-Q*fa)))*da+(T*M-U*ba+ +g[z+344>>2]-(J*fa-K*$+ +g[h+344>>2]))*ca));ca=ha<ka?ha:ka;ka=-ha;ia=c[F>>2]|0;ja=ca<ka?ka:ca}h=c[G>>2]|0;z=h+(p<<2)|0;g[z>>2]=0.0;x=ia+(p*284|0)+280|0;g[x>>2]=1.0;ca=+g[I+(p*284|0)+276>>2]*d*+g[I+(p*284|0)+228>>2];g[z>>2]=ja;ka=ja*.5;ha=+g[(c[q>>2]|0)+(p<<2)>>2];$=ka*ka+ha*ha;if($>ca*ca){ha=ca/+O(+$);g[x>>2]=ha*+g[x>>2];la=ia;ma=h;na=1}else{la=ia;ma=h;na=t}}else{h=c[G>>2]|0;g[h+(p<<2)>>2]=0.0;g[I+(p*284|0)+280>>2]=1.0;la=I;ma=h;na=t}p=p+1|0;oa=c[o>>2]|0;if((p|0)>=(oa|0))break;else{I=la;t=na}}if(na){if((oa|0)<=0){i=e;return}na=c[q>>2]|0;t=0;do{if(+g[na+(t<<2)>>2]!=0.0?(I=la+(t*284|0)+280|0,ja=+g[I>>2],ja<1.0):0){p=ma+(t<<2)|0;g[p>>2]=ja*+g[p>>2];p=(c[q>>2]|0)+(t<<2)|0;g[p>>2]=+g[I>>2]*+g[p>>2]}t=t+1|0}while((t|0)!=(oa|0))}if((oa|0)<=0){i=e;return}oa=j+4|0;t=j+8|0;na=j+12|0;p=k+4|0;I=k+8|0;ia=k+12|0;h=l+4|0;x=l+8|0;z=l+12|0;r=m+4|0;H=m+8|0;A=m+12|0;w=b+124|0;b=n+4|0;v=n+8|0;N=n+12|0;u=la;la=ma;ma=0;while(1){y=c[B>>2]|0;pa=u+(ma*284|0)+16|0;ja=+g[pa>>2]-+g[y+52>>2];qa=u+(ma*284|0)+20|0;d=+g[qa>>2]-+g[y+56>>2];ra=u+(ma*284|0)+24|0;ha=+g[ra>>2]-+g[y+60>>2];g[j>>2]=ja;g[oa>>2]=d;g[t>>2]=ha;g[na>>2]=0.0;$=+g[la+(ma<<2)>>2];if($!=0.0){sa=c[s>>2]|0;ca=$*+g[sa+(ma<<4)+4>>2];ka=$*+g[sa+(ma<<4)+8>>2];g[k>>2]=$*+g[sa+(ma<<4)>>2];g[p>>2]=ca;g[I>>2]=ka;g[ia>>2]=0.0;We(y,k,j)}ka=+g[(c[q>>2]|0)+(ma<<2)>>2];if(ka!=0.0){y=c[(c[F>>2]|0)+(ma*284|0)+88>>2]|0;ca=+g[qa>>2]-+g[y+56>>2];$=+g[ra>>2]-+g[y+60>>2];g[l>>2]=+g[pa>>2]-+g[y+52>>2];g[h>>2]=ca;g[x>>2]=$;g[z>>2]=0.0;pa=c[D>>2]|0;$=+g[pa+(ma<<4)>>2]*ka;ca=ka*+g[pa+(ma<<4)+4>>2];K=ka*+g[pa+(ma<<4)+8>>2];g[m>>2]=$;g[r>>2]=ca;g[H>>2]=K;g[A>>2]=0.0;pa=c[B>>2]|0;ra=c[w>>2]|0;ka=+g[pa+4+(ra<<2)>>2];fa=+g[pa+20+(ra<<2)>>2];J=+g[pa+36+(ra<<2)>>2];ba=(ka*ja+fa*d+J*ha)*(1.0-+g[u+(ma*284|0)+244>>2]);g[j>>2]=ja-ka*ba;g[oa>>2]=d-fa*ba;g[t>>2]=ha-J*ba;We(pa,m,j);g[n>>2]=-$;g[b>>2]=-ca;g[v>>2]=-K;g[N>>2]=0.0;We(y,n,l)}y=ma+1|0;if((y|0)>=(c[o>>2]|0))break;u=c[F>>2]|0;la=c[G>>2]|0;ma=y}i=e;return}function bi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a+120>>2]=b;c[a+124>>2]=d;c[a+128>>2]=e;return}function ci(a){a=a|0;return}function di(a){a=a|0;Ur(a);return}function ei(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0;h=i;i=i+96|0;j=h;k=j+4|0;g[k>>2]=1.0;l=j+8|0;c[l>>2]=0;b[j+12>>1]=1;b[j+14>>1]=-1;c[j+16>>2]=0;c[j>>2]=3276;m=j+20|0;c[m>>2]=c[d>>2];c[m+4>>2]=c[d+4>>2];c[m+8>>2]=c[d+8>>2];c[m+12>>2]=c[d+12>>2];m=j+36|0;c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];m=c[a+4>>2]|0;ec[c[(c[m>>2]|0)+32>>2]&63](m,d,e,j);e=c[l>>2]|0;if(!e){n=0;i=h;return n|0}if(!(c[e+236>>2]&2)){n=0;i=h;return n|0}if(c[e+204>>2]&4|0){n=0;i=h;return n|0}l=j+68|0;c[f>>2]=c[l>>2];c[f+4>>2]=c[l+4>>2];c[f+8>>2]=c[l+8>>2];c[f+12>>2]=c[l+12>>2];l=f+16|0;d=j+52|0;c[l>>2]=c[d>>2];c[l+4>>2]=c[d+4>>2];c[l+8>>2]=c[d+8>>2];c[l+12>>2]=c[d+12>>2];o=+g[l>>2];d=f+20|0;p=+g[d>>2];j=f+24|0;q=+g[j>>2];r=1.0/+O(+(o*o+p*p+q*q));g[l>>2]=o*r;g[d>>2]=p*r;g[j>>2]=q*r;c[f+32>>2]=c[k>>2];n=e;i=h;return n|0}function fi(a){a=a|0;Ur(a);return}function gi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0;e=b+24|0;c[a+4>>2]=c[e>>2];f=c[b>>2]|0;c[a+8>>2]=f;if(d){d=a+52|0;h=b+8|0;c[d>>2]=c[h>>2];c[d+4>>2]=c[h+4>>2];c[d+8>>2]=c[h+8>>2];c[d+12>>2]=c[h+12>>2]}else{i=+g[b+8>>2];j=+g[b+12>>2];k=+g[b+16>>2];l=i*+g[f+20>>2]+j*+g[f+24>>2]+k*+g[f+28>>2];m=i*+g[f+36>>2]+j*+g[f+40>>2]+k*+g[f+44>>2];g[a+52>>2]=+g[f+4>>2]*i+ +g[f+8>>2]*j+ +g[f+12>>2]*k;g[a+56>>2]=l;g[a+60>>2]=m;g[a+64>>2]=0.0}m=+g[e>>2];l=1.0-m;g[a+68>>2]=l*+g[a+20>>2]+m*+g[a+36>>2];g[a+72>>2]=l*+g[a+24>>2]+m*+g[a+40>>2];g[a+76>>2]=l*+g[a+28>>2]+m*+g[a+44>>2];return +(+g[e>>2])}function hi(b){b=b|0;var d=0,e=0;c[b>>2]=3300;if(a[b+192>>0]|0?(d=b+136|0,e=c[d>>2]|0,vb[c[c[e>>2]>>2]&255](e),e=c[d>>2]|0,e|0):0){c[4351]=(c[4351]|0)+1;Ur(c[e+-4>>2]|0)}Jp(b+64|0);Jp(b+4|0);return}function ii(a){a=a|0;hi(a);Ur(a);return}function ji(d,e,f,g,h,j,k,l,m){d=d|0;e=e|0;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;m=i;i=i+48|0;l=m+16|0;g=m;c[4350]=(c[4350]|0)+1;n=Tr(83)|0;if(!n)o=0;else{p=n+4+15&-16;c[p+-4>>2]=n;o=p}c[o>>2]=h;b[o+4>>1]=j;b[o+6>>1]=k;k=o+16|0;c[k>>2]=c[e>>2];c[k+4>>2]=c[e+4>>2];c[k+8>>2]=c[e+8>>2];c[k+12>>2]=c[e+12>>2];k=o+32|0;c[k>>2]=c[f>>2];c[k+4>>2]=c[f+4>>2];c[k+8>>2]=c[f+8>>2];c[k+12>>2]=c[f+12>>2];c[o+8>>2]=0;k=o+56|0;c[k>>2]=0;j=o+52|0;c[j>>2]=0;c[l>>2]=c[e>>2];c[l+4>>2]=c[e+4>>2];c[l+8>>2]=c[e+8>>2];c[l+12>>2]=c[e+12>>2];e=l+16|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];f=d+144|0;c[o+60>>2]=c[f>>2];e=d+188|0;h=(c[e>>2]|0)+1|0;c[e>>2]=h;c[o+12>>2]=h;h=d+4|0;e=d+8|0;p=c[e>>2]|0;if(!p){c[4350]=(c[4350]|0)+1;n=Tr(63)|0;if(!n)q=0;else{r=n+4+15&-16;c[r+-4>>2]=n;q=r}r=q;n=r+44|0;do{c[r>>2]=0;r=r+4|0}while((r|0)<(n|0));s=q}else{c[e>>2]=0;s=p}c[s+32>>2]=0;c[s+36>>2]=o;c[s+40>>2]=0;c[s>>2]=c[l>>2];c[s+4>>2]=c[l+4>>2];c[s+8>>2]=c[l+8>>2];c[s+12>>2]=c[l+12>>2];c[s+16>>2]=c[l+16>>2];c[s+20>>2]=c[l+20>>2];c[s+24>>2]=c[l+24>>2];c[s+28>>2]=c[l+28>>2];Np(h,c[h>>2]|0,s);p=d+16|0;c[p>>2]=(c[p>>2]|0)+1;c[o+48>>2]=s;s=d+124+(c[f>>2]<<2)|0;c[j>>2]=0;c[k>>2]=c[s>>2];k=c[s>>2]|0;if(k|0)c[k+52>>2]=o;c[s>>2]=o;if(a[d+193>>0]|0){i=m;return o|0}c[g>>2]=3364;c[g+4>>2]=d;c[g+8>>2]=o;ri(c[h>>2]|0,l,g);ri(c[d+64>>2]|0,l,g);i=m;return o|0}function ki(a){a=a|0;return}function li(a){a=a|0;Ur(a);return}function mi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((b|0)==(d|0))return;e=a+4|0;a=c[(c[e>>2]|0)+136>>2]|0;Hb[c[(c[a>>2]|0)+8>>2]&31](a,c[b+36>>2]|0,c[d+36>>2]|0)|0;d=(c[e>>2]|0)+160|0;c[d>>2]=(c[d>>2]|0)+1;return}function ni(a,b){a=a|0;b=b|0;ac[c[(c[a>>2]|0)+8>>2]&63](a,b,c[(c[a+8>>2]|0)+48>>2]|0);return}function oi(a,b,d){a=a|0;b=b|0;d=+d;xb[c[(c[a>>2]|0)+12>>2]&127](a,b);return}function pi(a,b){a=a|0;b=b|0;return 1}function qi(a,b){a=a|0;b=b|0;return 1}function ri(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=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,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;if(!a)return;e=+g[b>>2];f=+g[b+4>>2];h=+g[b+8>>2];i=+g[b+16>>2];j=+g[b+20>>2];k=+g[b+24>>2];c[4350]=(c[4350]|0)+1;b=Tr(275)|0;l=b+4+15&-16;c[l+-4>>2]=b;c[l>>2]=a;a=1;b=64;m=l;while(1){l=a+-1|0;n=c[m+(l<<2)>>2]|0;do if(((((+g[n>>2]<=i?+g[n+16>>2]>=e:0)?+g[n+4>>2]<=j:0)?+g[n+20>>2]>=f:0)?+g[n+8>>2]<=k:0)?+g[n+24>>2]>=h:0){o=n+40|0;if(!(c[o>>2]|0)){xb[c[(c[d>>2]|0)+12>>2]&127](d,n);p=l;q=b;r=m;break}s=c[n+36>>2]|0;do if((l|0)==(b|0)?(t=b|0?b<<1:1,(a|0)<=(t|0)):0){if((t|0)!=0?(c[4350]=(c[4350]|0)+1,u=Tr((t<<2|3)+16|0)|0,(u|0)!=0):0){v=u+4+15&-16;c[v+-4>>2]=u;w=v}else w=0;if((a|0)<=1){if(!m){x=t;y=w;break}}else{v=0;do{c[w+(v<<2)>>2]=c[m+(v<<2)>>2];v=v+1|0}while((v|0)!=(b|0))}c[4351]=(c[4351]|0)+1;Ur(c[m+-4>>2]|0);x=t;y=w}else{x=b;y=m}while(0);c[y+(l<<2)>>2]=s;v=c[o>>2]|0;do if((a|0)==(x|0)){u=a|0?a<<1:1;if((a|0)<(u|0)){if((u|0)!=0?(c[4350]=(c[4350]|0)+1,z=Tr((u<<2|3)+16|0)|0,(z|0)!=0):0){A=z+4+15&-16;c[A+-4>>2]=z;B=A}else B=0;if((a|0)<=0){if(!y){C=u;D=B;break}}else{A=0;do{c[B+(A<<2)>>2]=c[y+(A<<2)>>2];A=A+1|0}while((A|0)!=(a|0))}c[4351]=(c[4351]|0)+1;Ur(c[y+-4>>2]|0);C=u;D=B}else{C=a;D=y}}else{C=x;D=y}while(0);c[D+(a<<2)>>2]=v;p=a+1|0;q=C;r=D}else{p=l;q=b;r=m}while(0);if((p|0)>0){a=p;b=q;m=r}else break}if(!r)return;c[4351]=(c[4351]|0)+1;Ur(c[r+-4>>2]|0);return}function si(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=d+60|0;if((c[f>>2]|0)==2){g=c[d+48>>2]|0;Mp(b+64|0,g)|0;h=b+68|0;i=c[h>>2]|0;if(i|0){c[4351]=(c[4351]|0)+1;Ur(c[i+-4>>2]|0)}c[h>>2]=g;g=b+76|0;c[g>>2]=(c[g>>2]|0)+-1}else{g=c[d+48>>2]|0;Mp(b+4|0,g)|0;h=b+8|0;i=c[h>>2]|0;if(i|0){c[4351]=(c[4351]|0)+1;Ur(c[i+-4>>2]|0)}c[h>>2]=g;g=b+16|0;c[g>>2]=(c[g>>2]|0)+-1}g=d+52|0;h=c[g>>2]|0;i=d+56|0;j=c[i>>2]|0;if(!h)c[b+124+(c[f>>2]<<2)>>2]=j;else c[h+56>>2]=j;j=c[i>>2]|0;if(j|0)c[j+52>>2]=c[g>>2];g=c[b+136>>2]|0;ac[c[(c[g>>2]|0)+16>>2]&63](g,d,e);c[4351]=(c[4351]|0)+1;Ur(c[d+-4>>2]|0);a[b+194>>0]=1;return}function ti(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0.0,l=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0.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.0,D=0.0,E=0,F=0.0,G=0,H=0.0,I=0,J=0.0,K=0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;h=i;i=i+16|0;j=h;k=+g[e>>2];l=+g[e+4>>2];m=+g[e+8>>2];n=c[e+12>>2]|0;o=+g[f>>2];p=+g[f+4>>2];q=+g[f+8>>2];r=c[f+12>>2]|0;s=d+60|0;do if((c[s>>2]|0)==2){t=d+48|0;u=c[t>>2]|0;Mp(b+64|0,u)|0;v=b+68|0;w=c[v>>2]|0;if(w|0){c[4351]=(c[4351]|0)+1;Ur(c[w+-4>>2]|0)}c[v>>2]=u;u=b+76|0;c[u>>2]=(c[u>>2]|0)+-1;u=b+4|0;v=b+8|0;w=c[v>>2]|0;if(!w){c[4350]=(c[4350]|0)+1;x=Tr(63)|0;if(!x)y=0;else{z=x+4+15&-16;c[z+-4>>2]=x;y=z}z=y;x=z+44|0;do{c[z>>2]=0;z=z+4|0}while((z|0)<(x|0));A=y}else{c[v>>2]=0;A=w}c[A+32>>2]=0;c[A+36>>2]=d;c[A+40>>2]=0;g[A>>2]=k;g[A+4>>2]=l;g[A+8>>2]=m;c[A+12>>2]=n;g[A+16>>2]=o;g[A+20>>2]=p;g[A+24>>2]=q;c[A+28>>2]=r;Np(u,c[u>>2]|0,A);z=b+16|0;c[z>>2]=(c[z>>2]|0)+1;c[t>>2]=A;B=1}else{z=b+168|0;c[z>>2]=(c[z>>2]|0)+1;z=c[d+48>>2]|0;C=+g[z>>2];if(((((C<=o?(x=z+16|0,D=+g[x>>2],D>=k):0)?(E=z+4|0,F=+g[E>>2],F<=p):0)?(G=z+20|0,H=+g[G>>2],H>=l):0)?(I=z+8|0,J=+g[I>>2],J<=q):0)?(K=z+24|0,L=+g[K>>2],L>=m):0){M=+g[d+16>>2];N=+g[d+20>>2];O=+g[d+24>>2];P=+g[b+140>>2];Q=(+g[d+32>>2]-M)*.5*P;R=(+g[d+36>>2]-N)*.5*P;S=P*((+g[d+40>>2]-O)*.5);P=k-M<0.0?-Q:Q;Q=l-N<0.0?-R:R;R=m-O<0.0?-S:S;T=b+4|0;if(!(!(C<=k)|!(F<=l)|!(J<=m)|!(D>=o)|!(H>=p)|!(L>=q))){B=0;break}L=k+-.05000000074505806;H=l+-.05000000074505806;D=m+-.05000000074505806;J=o+.05000000074505806;F=p+.05000000074505806;C=q+.05000000074505806;U=P>0.0;S=U?P+J:J;J=U?L:P+L;U=Q>0.0;L=U?Q+F:F;F=U?H:Q+H;U=R>0.0;H=U?R+C:C;C=U?D:R+D;U=Mp(T,z)|0;a:do if(U){V=c[b+12>>2]|0;if((V|0)<=-1){W=c[T>>2]|0;break}if((V|0)>0){X=0;Y=U;while(1){Z=c[Y+32>>2]|0;X=X+1|0;if(!Z){W=Y;break a}if((X|0)>=(V|0)){W=Z;break}else Y=Z}}else W=U}else W=0;while(0);g[z>>2]=J;g[E>>2]=F;g[I>>2]=C;c[z+12>>2]=n;g[x>>2]=S;g[G>>2]=L;g[K>>2]=H;c[z+28>>2]=r;Np(T,W,z);U=b+172|0;c[U>>2]=(c[U>>2]|0)+1;B=1;break}U=b+4|0;t=Mp(U,z)|0;b:do if(t){u=c[b+12>>2]|0;if((u|0)<=-1){_=c[U>>2]|0;break}if((u|0)>0){w=0;v=t;while(1){Y=c[v+32>>2]|0;w=w+1|0;if(!Y){_=v;break b}if((w|0)>=(u|0)){_=Y;break}else v=Y}}else _=t}else _=0;while(0);g[z>>2]=k;g[z+4>>2]=l;g[z+8>>2]=m;c[z+12>>2]=n;g[z+16>>2]=o;g[z+20>>2]=p;g[z+24>>2]=q;c[z+28>>2]=r;Np(U,_,z);t=b+172|0;c[t>>2]=(c[t>>2]|0)+1;B=1}while(0);_=d+52|0;r=c[_>>2]|0;n=d+56|0;W=c[n>>2]|0;if(!r)c[b+124+(c[s>>2]<<2)>>2]=W;else c[r+56>>2]=W;W=c[n>>2]|0;if(W|0)c[W+52>>2]=c[_>>2];W=d+16|0;c[W>>2]=c[e>>2];c[W+4>>2]=c[e+4>>2];c[W+8>>2]=c[e+8>>2];c[W+12>>2]=c[e+12>>2];e=d+32|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];f=c[b+144>>2]|0;c[s>>2]=f;s=b+124+(f<<2)|0;c[_>>2]=0;c[n>>2]=c[s>>2];n=c[s>>2]|0;if(n|0)c[n+52>>2]=d;c[s>>2]=d;if(!B){i=h;return}a[b+194>>0]=1;if(a[b+193>>0]|0){i=h;return}c[j>>2]=3364;c[j+4>>2]=b;B=b+64|0;s=d+48|0;ui(B,c[B>>2]|0,c[s>>2]|0,j);B=b+4|0;ui(B,c[B>>2]|0,c[s>>2]|0,j);i=h;return}function ui(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!((d|0)!=0&(e|0)!=0))return;h=b+24|0;i=b+28|0;if((c[h>>2]|0)<128?(c[i>>2]|0)<128:0){c[4350]=(c[4350]|0)+1;j=Tr(1043)|0;if(!j)k=0;else{l=j+4+15&-16;c[l+-4>>2]=j;k=l}l=c[h>>2]|0;j=b+32|0;if((l|0)>0){m=0;do{n=(c[j>>2]|0)+(m<<3)|0;o=c[n+4>>2]|0;p=k+(m<<3)|0;c[p>>2]=c[n>>2];c[p+4>>2]=o;m=m+1|0}while((m|0)!=(l|0))}l=c[j>>2]|0;m=b+36|0;if(l|0){if(a[m>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[l+-4>>2]|0)}c[j>>2]=0}a[m>>0]=1;c[j>>2]=k;c[i>>2]=128}c[h>>2]=128;k=b+32|0;j=c[k>>2]|0;c[j>>2]=d;c[j+4>>2]=e;e=b+36|0;b=1;j=124;while(1){d=b+-1|0;m=c[k>>2]|0;l=c[m+(d<<3)>>2]|0;o=c[m+(d<<3)+4>>2]|0;if((d|0)>(j|0)){p=c[h>>2]|0;n=p<<1;if((p|0)<(n|0)?(c[i>>2]|0)<(n|0):0){if(p){c[4350]=(c[4350]|0)+1;q=Tr((p<<4|3)+16|0)|0;if(!q)r=0;else{p=q+4+15&-16;c[p+-4>>2]=q;r=p}p=c[h>>2]|0;if((p|0)>0){q=0;do{s=(c[k>>2]|0)+(q<<3)|0;t=c[s+4>>2]|0;u=r+(q<<3)|0;c[u>>2]=c[s>>2];c[u+4>>2]=t;q=q+1|0}while((q|0)!=(p|0));v=r}else v=r}else v=0;p=c[k>>2]|0;if(p|0){if(a[e>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[p+-4>>2]|0)}c[k>>2]=0}a[e>>0]=1;c[k>>2]=v;c[i>>2]=n;w=v}else w=m;c[h>>2]=n;x=w;y=n+-4|0}else{x=m;y=j}do if((l|0)==(o|0)){p=l+40|0;if(!(c[p>>2]|0))z=d;else{q=l+36|0;t=c[q>>2]|0;c[x+(d<<3)>>2]=t;c[x+(d<<3)+4>>2]=t;t=b+1|0;u=c[k>>2]|0;s=c[p>>2]|0;c[u+(b<<3)>>2]=s;c[u+(b<<3)+4>>2]=s;s=c[k>>2]|0;u=c[p>>2]|0;c[s+(t<<3)>>2]=c[q>>2];c[s+(t<<3)+4>>2]=u;z=b+2|0}}else if(((((+g[l>>2]<=+g[o+16>>2]?+g[l+16>>2]>=+g[o>>2]:0)?+g[l+4>>2]<=+g[o+20>>2]:0)?+g[l+20>>2]>=+g[o+4>>2]:0)?+g[l+8>>2]<=+g[o+24>>2]:0)?+g[l+24>>2]>=+g[o+8>>2]:0){u=l+40|0;t=o+40|0;s=(c[t>>2]|0)!=0;if(!(c[u>>2]|0))if(s){q=c[o+36>>2]|0;p=l;c[x+(d<<3)>>2]=p;c[x+(d<<3)+4>>2]=q;q=c[k>>2]|0;A=c[t>>2]|0;c[q+(b<<3)>>2]=p;c[q+(b<<3)+4>>2]=A;z=b+1|0;break}else{ac[c[(c[f>>2]|0)+8>>2]&63](f,l,o);z=d;break}else{A=x+(d<<3)|0;q=l+36|0;p=c[q>>2]|0;if(s){s=o+36|0;B=c[s>>2]|0;c[A>>2]=p;c[x+(d<<3)+4>>2]=B;B=b+1|0;C=c[k>>2]|0;D=c[s>>2]|0;c[C+(b<<3)>>2]=c[u>>2];c[C+(b<<3)+4>>2]=D;D=b+2|0;C=c[k>>2]|0;s=c[t>>2]|0;c[C+(B<<3)>>2]=c[q>>2];c[C+(B<<3)+4>>2]=s;s=c[k>>2]|0;B=c[t>>2]|0;c[s+(D<<3)>>2]=c[u>>2];c[s+(D<<3)+4>>2]=B;z=b+3|0;break}else{B=o;c[A>>2]=p;c[x+(d<<3)+4>>2]=B;p=c[k>>2]|0;c[p+(b<<3)>>2]=c[u>>2];c[p+(b<<3)+4>>2]=B;z=b+1|0;break}}}else z=d;while(0);if(!z)break;else{b=z;j=y}}return}function vi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=b+16|0;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];a=b+32|0;c[e>>2]=c[a>>2];c[e+4>>2]=c[a+4>>2];c[e+8>>2]=c[a+8>>2];c[e+12>>2]=c[a+12>>2];return}function wi(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,k=0,l=0,m=0,n=0;d=i;i=i+16|0;j=d;c[j>>2]=3400;c[j+4>>2]=e;k=a+4|0;l=e+4|0;m=e+20|0;n=e+32|0;Ai(k,c[k>>2]|0,b,l,m,+g[n>>2],f,h,j);k=a+64|0;Ai(k,c[k>>2]|0,b,l,m,+g[n>>2],f,h,j);i=d;return}function xi(a){a=a|0;Ur(a);return}function yi(a,b,c){a=a|0;b=b|0;c=c|0;return}function zi(a,b){a=a|0;b=b|0;var d=0;d=c[a+4>>2]|0;Rb[c[(c[d>>2]|0)+8>>2]&31](d,c[b+36>>2]|0)|0;return}function Ai(b,d,e,f,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=+j;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.0,O=0.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,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;n=i;i=i+32|0;o=n;if(!d){i=n;return}p=b+44|0;q=c[p>>2]|0;if((q|0)<128){r=b+48|0;if((c[r>>2]|0)<128){c[4350]=(c[4350]|0)+1;s=Tr(531)|0;if(!s)t=0;else{u=s+4+15&-16;c[u+-4>>2]=s;t=u}u=c[p>>2]|0;s=b+52|0;if((u|0)>0){v=0;do{c[t+(v<<2)>>2]=c[(c[s>>2]|0)+(v<<2)>>2];v=v+1|0}while((v|0)!=(u|0))}u=c[s>>2]|0;v=b+56|0;if(u|0){if(a[v>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[u+-4>>2]|0)}c[s>>2]=0}a[v>>0]=1;c[s>>2]=t;c[r>>2]=128;w=s}else w=b+52|0;s=q;do{c[(c[w>>2]|0)+(s<<2)>>2]=0;s=s+1|0}while((s|0)!=128);x=w;y=r}else{x=b+52|0;y=b+48|0}c[p>>2]=128;c[c[x>>2]>>2]=d;d=l+4|0;r=l+8|0;w=o+4|0;s=o+8|0;q=o+12|0;t=k+4|0;v=k+8|0;u=o+16|0;z=o+20|0;A=o+24|0;B=o+28|0;C=h+4|0;D=e+4|0;E=f+4|0;F=h+8|0;G=e+8|0;H=f+8|0;I=b+56|0;b=1;J=126;while(1){K=b+-1|0;L=c[x>>2]|0;M=c[L+(K<<2)>>2]|0;N=+g[M+4>>2]-+g[d>>2];O=+g[M+8>>2]-+g[r>>2];g[o>>2]=+g[M>>2]-+g[l>>2];g[w>>2]=N;g[s>>2]=O;g[q>>2]=0.0;O=+g[M+20>>2]-+g[t>>2];N=+g[M+24>>2]-+g[v>>2];g[u>>2]=+g[M+16>>2]-+g[k>>2];g[z>>2]=O;g[A>>2]=N;g[B>>2]=0.0;P=c[h>>2]|0;N=+g[e>>2];O=+g[f>>2];Q=(+g[o+(P<<4)>>2]-N)*O;R=O*(+g[o+(1-P<<4)>>2]-N);P=c[C>>2]|0;N=+g[D>>2];O=+g[E>>2];S=(+g[o+(P<<4)+4>>2]-N)*O;T=O*(+g[o+(1-P<<4)+4>>2]-N);do if((!(S>R|Q>T)?(N=S>Q?S:Q,O=T<R?T:R,P=c[F>>2]|0,U=+g[G>>2],V=+g[H>>2],W=(+g[o+(P<<4)+8>>2]-U)*V,X=V*(+g[o+(1-P<<4)+8>>2]-U),!(W>O|N>X)):0)?((X<O?X:O)>0.0?(W>N?W:N)<j:0):0){P=M+40|0;if(!(c[P>>2]|0)){xb[c[(c[m>>2]|0)+12>>2]&127](m,M);Y=K;Z=J;break}if((K|0)>(J|0)){_=c[p>>2]|0;$=_<<1;if((_|0)<($|0)){if((c[y>>2]|0)<($|0)){if(_){c[4350]=(c[4350]|0)+1;aa=Tr((_<<3|3)+16|0)|0;if(!aa)ba=0;else{ca=aa+4+15&-16;c[ca+-4>>2]=aa;ba=ca}ca=c[p>>2]|0;if((ca|0)>0){aa=0;do{c[ba+(aa<<2)>>2]=c[(c[x>>2]|0)+(aa<<2)>>2];aa=aa+1|0}while((aa|0)!=(ca|0));da=ba}else da=ba}else da=0;ca=c[x>>2]|0;if(ca|0){if(a[I>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[ca+-4>>2]|0)}c[x>>2]=0}a[I>>0]=1;c[x>>2]=da;c[y>>2]=$;ea=da;fa=_}else{ea=L;fa=_}while(1){c[ea+(fa<<2)>>2]=0;fa=fa+1|0;ca=c[x>>2]|0;if((fa|0)==($|0)){ga=ca;break}else ea=ca}}else ga=L;c[p>>2]=$;ha=ga;ia=$+-2|0}else{ha=L;ia=J}c[ha+(K<<2)>>2]=c[M+36>>2];c[(c[x>>2]|0)+(b<<2)>>2]=c[P>>2];Y=b+1|0;Z=ia}else{Y=K;Z=J}while(0);if(!Y)break;else{b=Y;J=Z}}i=n;return}function Bi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+48|0;g=f+32|0;h=f;c[g>>2]=3436;c[g+4>>2]=e;c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];c[h+12>>2]=c[b+12>>2];b=h+16|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];ri(c[a+4>>2]|0,h,g);ri(c[a+64>>2]|0,h,g);i=f;return}function Ci(a){a=a|0;Ur(a);return}function Di(a,b){a=a|0;b=b|0;var d=0;d=c[a+4>>2]|0;Rb[c[(c[d>>2]|0)+8>>2]&31](d,c[b+36>>2]|0)|0;return}function Ei(b,d){b=b|0;d=d|0;var e=0,f=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.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;e=i;i=i+32|0;f=e;h=b+4|0;j=b+16|0;Lp(h,((_(c[b+152>>2]|0,c[j>>2]|0)|0)/100|0)+1|0);k=b+164|0;if(c[k>>2]|0){l=((_(c[b+148>>2]|0,c[b+76>>2]|0)|0)/100|0)+1|0;Lp(b+64|0,l);m=(c[k>>2]|0)-l|0;c[k>>2]=(m|0)<0?0:m}m=b+144|0;l=((c[m>>2]|0)+1|0)%2|0;c[m>>2]=l;m=c[b+124+(l<<2)>>2]|0;if(m|0){l=b+132|0;n=f+16|0;o=b+64|0;p=b+8|0;q=b+68|0;r=b+76|0;s=m;do{m=s+56|0;t=s;s=c[m>>2]|0;u=t+60|0;v=t+52|0;w=c[v>>2]|0;x=s;if(!w)c[b+124+(c[u>>2]<<2)>>2]=x;else c[w+56>>2]=x;x=c[m>>2]|0;if(x|0)c[x+52>>2]=c[v>>2];c[v>>2]=0;c[m>>2]=c[l>>2];m=c[l>>2]|0;if(m|0)c[m+52>>2]=t;c[l>>2]=t;m=t+48|0;v=c[m>>2]|0;Mp(h,v)|0;x=c[p>>2]|0;if(x|0){c[4351]=(c[4351]|0)+1;Ur(c[x+-4>>2]|0)}c[p>>2]=v;c[j>>2]=(c[j>>2]|0)+-1;v=t+16|0;x=t+32|0;c[f>>2]=c[v>>2];c[f+4>>2]=c[v+4>>2];c[f+8>>2]=c[v+8>>2];c[f+12>>2]=c[v+12>>2];c[n>>2]=c[x>>2];c[n+4>>2]=c[x+4>>2];c[n+8>>2]=c[x+8>>2];c[n+12>>2]=c[x+12>>2];x=c[q>>2]|0;if(!x){c[4350]=(c[4350]|0)+1;v=Tr(63)|0;if(!v)y=0;else{w=v+4+15&-16;c[w+-4>>2]=v;y=w}w=y;v=w+44|0;do{c[w>>2]=0;w=w+4|0}while((w|0)<(v|0));z=y}else{c[q>>2]=0;z=x}c[z+32>>2]=0;c[z+36>>2]=t;c[z+40>>2]=0;c[z>>2]=c[f>>2];c[z+4>>2]=c[f+4>>2];c[z+8>>2]=c[f+8>>2];c[z+12>>2]=c[f+12>>2];c[z+16>>2]=c[f+16>>2];c[z+20>>2]=c[f+20>>2];c[z+24>>2]=c[f+24>>2];c[z+28>>2]=c[f+28>>2];Np(o,c[o>>2]|0,z);A=(c[r>>2]|0)+1|0;c[r>>2]=A;c[m>>2]=z;c[u>>2]=2}while((s|0)!=0);c[k>>2]=A;a[b+194>>0]=1}c[f>>2]=3364;c[f+4>>2]=b;A=b+193|0;if(a[A>>0]|0?(ui(h,c[h>>2]|0,c[b+64>>2]|0,f),a[A>>0]|0):0){A=c[h>>2]|0;ui(h,A,A,f)}f=b+194|0;if(a[f>>0]|0?(A=b+136|0,h=c[A>>2]|0,k=zb[c[(c[h>>2]|0)+28>>2]&127](h)|0,h=k+4|0,s=c[h>>2]|0,(s|0)>0):0){z=(_(c[b+156>>2]|0,s)|0)/100|0;r=c[b+160>>2]|0;o=(r|0)>(z|0)?r:z;z=(s|0)<(o|0)?s:o;o=b+184|0;if((z|0)>0){r=k+12|0;k=s;q=0;y=z;while(1){n=((c[o>>2]|0)+q|0)%(k|0)|0;j=c[r>>2]|0;p=c[j+(n<<4)>>2]|0;l=c[j+(n<<4)+4>>2]|0;n=c[p+48>>2]|0;j=c[l+48>>2]|0;if(((((+g[n>>2]<=+g[j+16>>2]?+g[n+16>>2]>=+g[j>>2]:0)?+g[n+4>>2]<=+g[j+20>>2]:0)?+g[n+20>>2]>=+g[j+4>>2]:0)?+g[n+8>>2]<=+g[j+24>>2]:0)?+g[n+24>>2]>=+g[j+8>>2]:0){B=k;C=q;D=y}else{j=c[A>>2]|0;Db[c[(c[j>>2]|0)+12>>2]&31](j,p,l,d)|0;B=c[h>>2]|0;C=q+-1|0;D=y+-1|0}q=C+1|0;if((q|0)>=(D|0))break;else{k=B;y=D}}if((B|0)>0){E=B;F=D;G=37}else H=0}else{E=s;F=z;G=37}if((G|0)==37)H=((c[o>>2]|0)+F|0)%(E|0)|0;c[o>>2]=H}H=b+180|0;c[H>>2]=(c[H>>2]|0)+1;c[b+160>>2]=1;a[f>>0]=0;f=b+168|0;H=c[f>>2]|0;o=b+172|0;E=c[o>>2]|0;if(!H)I=0.0;else I=+(E>>>0)/+(H>>>0);g[b+176>>2]=I;c[o>>2]=E>>>1;c[f>>2]=H>>>1;H=b+136|0;b=c[H>>2]|0;if(!(zb[c[(c[b>>2]|0)+56>>2]&127](b)|0)){i=e;return}b=c[H>>2]|0;f=zb[c[(c[b>>2]|0)+28>>2]&127](b)|0;b=f+4|0;E=c[b>>2]|0;if((E|0)>1){Fi(f,0,E+-1|0);J=0;K=0;L=0;M=0;G=44}else{N=E;O=0;P=0;Q=0;R=0}while(1){if((G|0)==44){G=0;N=c[b>>2]|0;O=J;P=K;Q=L;R=M}if((O|0)>=(N|0))break;E=c[f+12>>2]|0;o=E+(O<<4)|0;F=c[o>>2]|0;z=E+(O<<4)+4|0;E=c[z>>2]|0;if(!((F|0)==(Q|0)&(E|0)==(R|0))){s=c[F+48>>2]|0;D=c[E+48>>2]|0;if(((((+g[s>>2]<=+g[D+16>>2]?+g[s+16>>2]>=+g[D>>2]:0)?+g[s+4>>2]<=+g[D+20>>2]:0)?+g[s+20>>2]>=+g[D+4>>2]:0)?+g[s+8>>2]<=+g[D+24>>2]:0)?+g[s+24>>2]>=+g[D+8>>2]:0){S=E;T=P}else{U=E;G=53}}else{U=R;G=53}if((G|0)==53){G=0;E=c[H>>2]|0;ac[c[(c[E>>2]|0)+32>>2]&63](E,o,d);c[o>>2]=0;c[z>>2]=0;S=U;T=P+1|0}J=O+1|0;K=T;L=F;M=S;G=44}if((N|0)>1){Fi(f,0,N+-1|0);V=c[b>>2]|0}else V=N;N=V-P|0;if((P|0)<0){G=f+8|0;if((c[G>>2]|0)<(N|0)){if((V|0)!=(P|0)){c[4350]=(c[4350]|0)+1;P=Tr((N<<4|3)+16|0)|0;if(!P)W=0;else{S=P+4+15&-16;c[S+-4>>2]=P;W=S}S=c[b>>2]|0;P=f+12|0;if((S|0)>0){M=0;do{L=c[P>>2]|0;c[W+(M<<4)>>2]=c[L+(M<<4)>>2];c[W+(M<<4)+4>>2]=c[L+(M<<4)+4>>2];c[W+(M<<4)+8>>2]=c[L+(M<<4)+8>>2];c[W+(M<<4)+12>>2]=c[L+(M<<4)+12>>2];M=M+1|0}while((M|0)!=(S|0));X=W;Y=P}else{X=W;Y=P}}else{X=0;Y=f+12|0}P=c[Y>>2]|0;W=f+16|0;if(P|0){if(a[W>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[P+-4>>2]|0)}c[Y>>2]=0}a[W>>0]=1;c[Y>>2]=X;c[G>>2]=N;Z=Y}else Z=f+12|0;f=V;do{V=(c[Z>>2]|0)+(f<<4)|0;f=f+1|0;c[V>>2]=0;c[V+4>>2]=0;c[V+8>>2]=0;c[V+12>>2]=0}while((f|0)!=(N|0))}c[b>>2]=N;i=e;return}function Fi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,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;f=i;i=i+16|0;g=f;h=(e+d|0)/2|0;j=b+12|0;k=c[j>>2]|0;l=c[k+(h<<4)>>2]|0;m=c[k+(h<<4)+4>>2]|0;n=c[k+(h<<4)+8>>2]|0;h=(l|0)==0;o=(m|0)==0;p=m+12|0;q=l+12|0;r=k;k=d;s=e;while(1){a:do if(h){t=k;while(1){u=c[r+(t<<4)>>2]|0;v=(u|0)==0;if(v)w=-1;else w=c[u+12>>2]|0;u=c[r+(t<<4)+4>>2]|0;if(!u)x=-1;else x=c[u+12>>2]|0;if(o)y=-1;else y=c[p>>2]|0;do if((w|0)<=-1){z=(x|0)>(y|0);if(z|v^1)if(v&z)break;else{A=t;break a}if((u|0)!=(m|0)){A=t;break a}if((c[r+(t<<4)+8>>2]|0)>>>0<=n>>>0){A=t;break a}}while(0);t=t+1|0}}else{t=c[q>>2]|0;if(o){u=k;while(1){v=c[r+(u<<4)>>2]|0;if(!v)B=-1;else B=c[v+12>>2]|0;z=c[r+(u<<4)+4>>2]|0;C=(z|0)==0;if(C)D=-1;else D=c[z+12>>2]|0;do if((B|0)<=(t|0)){z=(v|0)==(l|0);E=(D|0)>-1;if(E|z^1)if(z&E)break;else{A=u;break a}if(!C){A=u;break a}if((c[r+(u<<4)+8>>2]|0)>>>0<=n>>>0){A=u;break a}}while(0);u=u+1|0}}u=c[p>>2]|0;C=k;while(1){v=c[r+(C<<4)>>2]|0;if(!v)F=-1;else F=c[v+12>>2]|0;E=c[r+(C<<4)+4>>2]|0;if(!E)G=-1;else G=c[E+12>>2]|0;do if((F|0)<=(t|0)){z=(v|0)==(l|0);H=(G|0)>(u|0);if(H|z^1)if(z&H)break;else{A=C;break a}if((E|0)!=(m|0)){A=C;break a}if((c[r+(C<<4)+8>>2]|0)>>>0<=n>>>0){A=C;break a}}while(0);C=C+1|0}}while(0);b:do if(h){C=s;while(1){u=c[r+(C<<4)>>2]|0;t=(u|0)==0;if(t)I=-1;else I=c[u+12>>2]|0;if(o)J=-1;else J=c[p>>2]|0;u=c[r+(C<<4)+4>>2]|0;if(!u)K=-1;else K=c[u+12>>2]|0;do if((I|0)>=-1){E=(J|0)>(K|0);if(E|t^1)if(t&E)break;else{L=C;break b}if((m|0)!=(u|0)){L=C;break b}if(n>>>0<=(c[r+(C<<4)+8>>2]|0)>>>0){L=C;break b}}while(0);C=C+-1|0}}else{C=c[q>>2]|0;if(o){u=s;while(1){t=c[r+(u<<4)>>2]|0;if(!t)M=-1;else M=c[t+12>>2]|0;E=c[r+(u<<4)+4>>2]|0;v=(E|0)==0;if(v)N=-1;else N=c[E+12>>2]|0;do if((C|0)<=(M|0)){E=(l|0)==(t|0);H=(N|0)<-1;if(H|E^1)if(E&H)break;else{L=u;break b}if(!v){L=u;break b}if(n>>>0<=(c[r+(u<<4)+8>>2]|0)>>>0){L=u;break b}}while(0);u=u+-1|0}}u=c[p>>2]|0;v=s;while(1){t=c[r+(v<<4)>>2]|0;if(!t)O=-1;else O=c[t+12>>2]|0;H=c[r+(v<<4)+4>>2]|0;if(!H)P=-1;else P=c[H+12>>2]|0;do if((C|0)<=(O|0)){E=(l|0)==(t|0);z=(u|0)>(P|0);if(z|E^1)if(E&z)break;else{L=v;break b}if((m|0)!=(H|0)){L=v;break b}if(n>>>0<=(c[r+(v<<4)+8>>2]|0)>>>0){L=v;break b}}while(0);v=v+-1|0}}while(0);if((A|0)>(L|0)){Q=A;R=L}else{v=r+(A<<4)|0;u=g;C=v;H=u+16|0;do{a[u>>0]=a[C>>0]|0;u=u+1|0;C=C+1|0}while((u|0)<(H|0));t=r+(L<<4)|0;c[v>>2]=c[t>>2];c[v+4>>2]=c[t+4>>2];c[v+8>>2]=c[t+8>>2];c[v+12>>2]=c[t+12>>2];u=(c[j>>2]|0)+(L<<4)|0;C=g;H=u+16|0;do{a[u>>0]=a[C>>0]|0;u=u+1|0;C=C+1|0}while((u|0)<(H|0));Q=A+1|0;R=L+-1|0}if((Q|0)>(R|0))break;r=c[j>>2]|0;k=Q;s=R}if((R|0)>(d|0))Fi(b,d,R);if((Q|0)>=(e|0)){i=f;return}Fi(b,Q,e);i=f;return}function Gi(a){a=a|0;return c[a+136>>2]|0}function Hi(a){a=a|0;return c[a+136>>2]|0}function Ii(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0.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.0,t=0.0,u=0.0,v=0.0;e=c[a+4>>2]|0;f=c[a+64>>2]|0;a=(f|0)==0;do if(!e)if(a){h=0.0;i=0.0;j=0.0;k=0.0;l=0.0;m=0.0;n=0.0;o=0.0}else{h=+g[f>>2];i=+g[f+12>>2];j=+g[f+16>>2];k=+g[f+20>>2];l=+g[f+24>>2];m=+g[f+28>>2];n=+g[f+4>>2];o=+g[f+8>>2]}else{p=+g[e>>2];if(a){h=p;i=+g[e+12>>2];j=+g[e+16>>2];k=+g[e+20>>2];l=+g[e+24>>2];m=+g[e+28>>2];n=+g[e+4>>2];o=+g[e+8>>2];break}q=+g[f>>2];r=p<q?p:q;q=+g[e+16>>2];p=+g[f+16>>2];s=q>p?q:p;p=+g[e+4>>2];q=+g[f+4>>2];t=p<q?p:q;q=+g[e+20>>2];p=+g[f+20>>2];u=q>p?q:p;p=+g[e+8>>2];q=+g[f+8>>2];v=p<q?p:q;q=+g[e+24>>2];p=+g[f+24>>2];if(q>p){h=r;i=0.0;j=s;k=u;l=q;m=0.0;n=t;o=v}else{h=r;i=0.0;j=s;k=u;l=p;m=0.0;n=t;o=v}}while(0);g[b>>2]=h;g[b+4>>2]=n;g[b+8>>2]=o;g[b+12>>2]=i;g[d>>2]=j;g[d+4>>2]=k;g[d+8>>2]=l;g[d+12>>2]=m;return}function Ji(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;if((c[b+16>>2]|0)!=(0-(c[b+76>>2]|0)|0))return;d=b+64|0;e=b+4|0;f=c[e>>2]|0;if(f|0)Kp(e,f);f=b+8|0;e=c[f>>2]|0;if(e|0){c[4351]=(c[4351]|0)+1;Ur(c[e+-4>>2]|0)}c[f>>2]=0;c[b+12>>2]=-1;f=b+28|0;e=b+36|0;g=c[e>>2]|0;h=b+40|0;if(g|0){if(a[h>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[g+-4>>2]|0)}c[e>>2]=0}a[h>>0]=1;c[e>>2]=0;c[f>>2]=0;c[b+32>>2]=0;c[b+20>>2]=0;f=c[d>>2]|0;if(f|0)Kp(d,f);f=b+68|0;d=c[f>>2]|0;if(d|0){c[4351]=(c[4351]|0)+1;Ur(c[d+-4>>2]|0)}c[f>>2]=0;c[b+72>>2]=-1;f=b+88|0;d=b+96|0;e=c[d>>2]|0;h=b+100|0;if(e|0){if(a[h>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[e+-4>>2]|0)}c[d>>2]=0}a[h>>0]=1;c[d>>2]=0;c[f>>2]=0;c[b+92>>2]=0;c[b+80>>2]=0;a[b+193>>0]=0;a[b+194>>0]=1;c[b+144>>2]=0;c[b+164>>2]=0;c[b+148>>2]=1;c[b+152>>2]=0;c[b+156>>2]=10;c[b+160>>2]=1;f=b+168|0;d=b+124|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;return}function Ki(a){a=a|0;return}function Li(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;c[b>>2]=3472;d=b+56|0;e=b+64|0;f=c[e>>2]|0;g=b+68|0;if(f|0){if(a[g>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[f+-4>>2]|0)}c[e>>2]=0}a[g>>0]=1;c[e>>2]=0;c[d>>2]=0;c[b+60>>2]=0;d=b+36|0;e=b+44|0;g=c[e>>2]|0;f=b+48|0;if(g|0){if(a[f>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[g+-4>>2]|0)}c[e>>2]=0}a[f>>0]=1;c[e>>2]=0;c[d>>2]=0;c[b+40>>2]=0;d=b+8|0;e=b+16|0;f=c[e>>2]|0;g=b+20|0;if(!f){a[g>>0]=1;c[e>>2]=0;c[d>>2]=0;h=b+12|0;c[h>>2]=0;return}if(a[g>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[f+-4>>2]|0)}c[e>>2]=0;a[g>>0]=1;c[e>>2]=0;c[d>>2]=0;h=b+12|0;c[h>>2]=0;return}function Mi(a){a=a|0;Li(a);Ur(a);return}function Ni(d,e,f){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,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;c[4338]=(c[4338]|0)+1;g=c[d+24>>2]|0;if(!g){h=c[e+4>>2]|0;if(!((b[f+6>>1]&(h&65535))<<16>>16)){i=0;return i|0}if(!((b[f+4>>1]&(h>>>16&65535))<<16>>16)){i=0;return i|0}}else if(!(Hb[c[(c[g>>2]|0)+8>>2]&31](g,e,f)|0)){i=0;return i|0}g=e;h=f;j=(c[e+12>>2]|0)>(c[f+12>>2]|0);f=j?h:g;e=f+12|0;k=c[e>>2]|0;l=j?g:h;h=l+12|0;g=c[h>>2]|0;j=g<<16|k;m=j+~(j<<15)|0;j=(m>>10^m)*9|0;m=j>>6^j;j=m+~(m<<11)|0;m=j>>16^j;j=d+12|0;n=c[j>>2]|0;o=m&n+-1;p=d+44|0;q=c[(c[p>>2]|0)+(o<<2)>>2]|0;a:do if((q|0)!=-1){r=c[d+16>>2]|0;s=d+64|0;t=q;while(1){if((c[(c[r+(t<<4)>>2]|0)+12>>2]|0)==(k|0)?(c[(c[r+(t<<4)+4>>2]|0)+12>>2]|0)==(g|0):0)break;u=c[(c[s>>2]|0)+(t<<2)>>2]|0;if((u|0)==-1)break a;else t=u}s=r+(t<<4)|0;if(s|0){i=s;return i|0}}while(0);g=d+8|0;k=c[g>>2]|0;if((k|0)==(n|0)){q=n|0?n<<1:1;if((n|0)<(q|0)){if(!q){v=0;w=n}else{c[4350]=(c[4350]|0)+1;s=Tr((q<<4|3)+16|0)|0;if(!s)x=0;else{u=s+4+15&-16;c[u+-4>>2]=s;x=u}v=x;w=c[g>>2]|0}x=d+16|0;if((w|0)>0){u=0;do{s=c[x>>2]|0;c[v+(u<<4)>>2]=c[s+(u<<4)>>2];c[v+(u<<4)+4>>2]=c[s+(u<<4)+4>>2];c[v+(u<<4)+8>>2]=c[s+(u<<4)+8>>2];c[v+(u<<4)+12>>2]=c[s+(u<<4)+12>>2];u=u+1|0}while((u|0)!=(w|0))}u=c[x>>2]|0;s=d+20|0;if(!u)y=w;else{if(!(a[s>>0]|0))z=w;else{c[4351]=(c[4351]|0)+1;Ur(c[u+-4>>2]|0);z=c[g>>2]|0}c[x>>2]=0;y=z}a[s>>0]=1;c[x>>2]=v;c[j>>2]=q;A=y;B=q}else{A=n;B=n}}else{A=k;B=n}c[g>>2]=A+1;A=c[d+16>>2]|0;g=A+(k<<4)|0;q=c[d+72>>2]|0;if(!q)C=B;else{Hb[c[(c[q>>2]|0)+8>>2]&31](q,f,l)|0;C=c[j>>2]|0}if((n|0)<(C|0)){Oi(d);D=(c[j>>2]|0)+-1&m}else D=o;o=(c[e>>2]|0)<(c[h>>2]|0);c[g>>2]=o?f:l;c[A+(k<<4)+4>>2]=o?l:f;f=A+(k<<4)+8|0;c[f>>2]=0;c[f+4>>2]=0;f=(c[p>>2]|0)+(D<<2)|0;c[(c[d+64>>2]|0)+(k<<2)>>2]=c[f>>2];c[f>>2]=k;i=g;return i|0}function Oi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=b+12|0;e=c[d>>2]|0;f=b+36|0;g=c[f>>2]|0;if((e|0)<=(g|0))return;if((e|0)>=(g|0)){h=b+40|0;do if((c[h>>2]|0)<(e|0)){if(!e){i=0;j=g}else{c[4350]=(c[4350]|0)+1;k=Tr((e<<2|3)+16|0)|0;if(!k)l=0;else{m=k+4+15&-16;c[m+-4>>2]=k;l=m}i=l;j=c[f>>2]|0}m=b+44|0;k=c[m>>2]|0;if((j|0)<=0){if(!k){a[b+48>>0]=1;c[m>>2]=i;c[h>>2]=e;n=i;break}}else{o=0;do{c[i+(o<<2)>>2]=c[k+(o<<2)>>2];o=o+1|0}while((o|0)!=(j|0))}o=b+48|0;if(a[o>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[k+-4>>2]|0)}a[o>>0]=1;c[m>>2]=i;c[h>>2]=e;n=i}else n=c[b+44>>2]|0;while(0);Bs(n+(g<<2)|0,0,e-g<<2|0)|0}c[f>>2]=e;f=b+56|0;n=c[f>>2]|0;if((e|0)>(n|0)){i=b+60|0;do if((c[i>>2]|0)<(e|0)){if(!e){p=0;q=n}else{c[4350]=(c[4350]|0)+1;h=Tr((e<<2|3)+16|0)|0;if(!h)r=0;else{j=h+4+15&-16;c[j+-4>>2]=h;r=j}p=r;q=c[f>>2]|0}j=b+64|0;h=c[j>>2]|0;if((q|0)<=0){if(!h){a[b+68>>0]=1;c[j>>2]=p;c[i>>2]=e;s=p;break}}else{l=0;do{c[p+(l<<2)>>2]=c[h+(l<<2)>>2];l=l+1|0}while((l|0)!=(q|0))}l=b+68|0;if(a[l>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[h+-4>>2]|0)}a[l>>0]=1;c[j>>2]=p;c[i>>2]=e;s=p}else s=c[b+64>>2]|0;while(0);Bs(s+(n<<2)|0,0,e-n<<2|0)|0}c[f>>2]=e;if((e|0)>0){f=e<<2;Bs(c[b+44>>2]|0,-1,f|0)|0;Bs(c[b+64>>2]|0,-1,f|0)|0}if((g|0)<=0)return;f=c[b+16>>2]|0;e=c[b+44>>2]|0;n=c[b+64>>2]|0;b=0;do{s=c[(c[f+(b<<4)+4>>2]|0)+12>>2]<<16|c[(c[f+(b<<4)>>2]|0)+12>>2];p=s+~(s<<15)|0;s=(p>>10^p)*9|0;p=s>>6^s;s=p+~(p<<11)|0;p=e+(((s>>16^s)&(c[d>>2]|0)+-1)<<2)|0;c[n+(b<<2)>>2]=c[p>>2];c[p>>2]=b;b=b+1|0}while((b|0)!=(g|0));return}function Pi(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,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;f=b;g=d;c[4337]=(c[4337]|0)+1;h=(c[b+12>>2]|0)>(c[d+12>>2]|0);d=h?g:f;b=c[d+12>>2]|0;i=h?f:g;g=c[i+12>>2]|0;f=g<<16|b;h=f+~(f<<15)|0;f=(h>>10^h)*9|0;h=f>>6^f;f=h+~(h<<11)|0;h=a+12|0;j=(f>>16^f)&(c[h>>2]|0)+-1;f=a+44|0;k=c[(c[f>>2]|0)+(j<<2)>>2]|0;if((k|0)==-1){l=0;return l|0}m=a+16|0;n=c[m>>2]|0;o=a+64|0;p=k;while(1){if((c[(c[n+(p<<4)>>2]|0)+12>>2]|0)==(b|0)?(c[(c[n+(p<<4)+4>>2]|0)+12>>2]|0)==(g|0):0)break;k=c[(c[o>>2]|0)+(p<<2)>>2]|0;if((k|0)==-1){l=0;q=24;break}else p=k}if((q|0)==24)return l|0;g=n+(p<<4)|0;if(!g){l=0;return l|0}ac[c[(c[a>>2]|0)+32>>2]&63](a,g,e);b=c[n+(p<<4)+12>>2]|0;p=g-(c[m>>2]|0)>>4;g=(c[f>>2]|0)+(j<<2)|0;j=c[g>>2]|0;n=c[o>>2]|0;if((j|0)!=(p|0)){k=j;while(1){r=n+(k<<2)|0;j=c[r>>2]|0;if((j|0)==(p|0))break;else k=j}j=c[n+(p<<2)>>2]|0;if((k|0)==-1){s=j;q=12}else c[r>>2]=j}else{s=c[n+(p<<2)>>2]|0;q=12}if((q|0)==12)c[g>>2]=s;s=a+8|0;g=(c[s>>2]|0)+-1|0;n=c[a+72>>2]|0;if(n|0)Db[c[(c[n>>2]|0)+12>>2]&31](n,d,i,e)|0;if((g|0)==(p|0)){c[s>>2]=(c[s>>2]|0)+-1;l=b;return l|0}e=c[m>>2]|0;m=c[(c[e+(g<<4)+4>>2]|0)+12>>2]<<16|c[(c[e+(g<<4)>>2]|0)+12>>2];i=m+~(m<<15)|0;m=(i>>10^i)*9|0;i=m>>6^m;m=i+~(i<<11)|0;i=(m>>16^m)&(c[h>>2]|0)+-1;h=(c[f>>2]|0)+(i<<2)|0;m=c[h>>2]|0;d=c[o>>2]|0;if((m|0)!=(g|0)){n=m;while(1){t=d+(n<<2)|0;m=c[t>>2]|0;if((m|0)==(g|0))break;else n=m}m=c[d+(g<<2)>>2]|0;if((n|0)==-1){u=m;q=22}else c[t>>2]=m}else{u=c[d+(g<<2)>>2]|0;q=22}if((q|0)==22)c[h>>2]=u;u=e+(p<<4)|0;h=e+(g<<4)|0;c[u>>2]=c[h>>2];c[u+4>>2]=c[h+4>>2];c[u+8>>2]=c[h+8>>2];c[u+12>>2]=c[h+12>>2];h=(c[f>>2]|0)+(i<<2)|0;c[(c[o>>2]|0)+(p<<2)>>2]=c[h>>2];c[h>>2]=p;c[s>>2]=(c[s>>2]|0)+-1;l=b;return l|0}function Qi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=3548;c[f+4>>2]=b;ac[c[(c[a>>2]|0)+48>>2]&63](a,f,d);i=e;return}function Ri(a){a=a|0;return}function Si(a){a=a|0;Ur(a);return}function Ti(a,b){a=a|0;b=b|0;var d=0;d=c[a+4>>2]|0;return ((c[b>>2]|0)==(d|0)?1:(c[b+4>>2]|0)==(d|0))|0}function Ui(a){a=a|0;return c[a+16>>2]|0}function Vi(a){a=a|0;return c[a+16>>2]|0}function Wi(a){a=a|0;return a+4|0}function Xi(a,b,d){a=a|0;b=b|0;d=d|0;a=b+8|0;b=c[a>>2]|0;if(!((d|0)!=0&(b|0)!=0))return;vb[c[c[b>>2]>>2]&255](b);xb[c[(c[d>>2]|0)+60>>2]&127](d,c[a>>2]|0);c[a>>2]=0;return}function Yi(a){a=a|0;return c[a+8>>2]|0}function Zi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=3568;c[f+4>>2]=b;c[f+8>>2]=a;c[f+12>>2]=d;ac[c[(c[a>>2]|0)+48>>2]&63](a,f,d);i=e;return}function _i(a){a=a|0;Ur(a);return}function $i(a,b){a=a|0;b=b|0;var d=0;d=c[a+4>>2]|0;if((c[b>>2]|0)!=(d|0)?(c[b+4>>2]|0)!=(d|0):0)return 0;d=c[a+8>>2]|0;ac[c[(c[d>>2]|0)+32>>2]&63](d,b,c[a+12>>2]|0);return 0}function aj(a,b){a=a|0;b=b|0;c[a+24>>2]=b;return}function bj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=a+8|0;if((c[e>>2]|0)<=0)return;f=a+16|0;g=0;a:while(1){while(1){h=c[f>>2]|0;i=h+(g<<4)|0;if(!(Rb[c[(c[b>>2]|0)+8>>2]&31](b,i)|0))break;Db[c[(c[a>>2]|0)+12>>2]&31](a,c[i>>2]|0,c[h+(g<<4)+4>>2]|0,d)|0;c[4336]=(c[4336]|0)+-1;if((g|0)>=(c[e>>2]|0)){j=7;break a}}g=g+1|0;if((g|0)>=(c[e>>2]|0)){j=7;break}}if((j|0)==7)return}function cj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=b;f=d;c[4339]=(c[4339]|0)+1;g=(c[b+12>>2]|0)>(c[d+12>>2]|0);d=c[(g?f:e)+12>>2]|0;b=c[(g?e:f)+12>>2]|0;f=b<<16|d;e=f+~(f<<15)|0;f=(e>>10^e)*9|0;e=f>>6^f;f=e+~(e<<11)|0;e=(f>>16^f)&(c[a+12>>2]|0)+-1;if((e|0)>=(c[a+36>>2]|0)){h=0;return h|0}f=c[(c[a+44>>2]|0)+(e<<2)>>2]|0;if((f|0)==-1){h=0;return h|0}e=c[a+16>>2]|0;g=a+64|0;a=f;while(1){if((c[(c[e+(a<<4)>>2]|0)+12>>2]|0)==(d|0)?(c[(c[e+(a<<4)+4>>2]|0)+12>>2]|0)==(b|0):0)break;f=c[(c[g>>2]|0)+(a<<2)>>2]|0;if((f|0)==-1){h=0;i=8;break}else a=f}if((i|0)==8)return h|0;h=e+(a<<4)|0;return h|0}function dj(a){a=a|0;return 0}function ej(a,b){a=a|0;b=b|0;c[a+72>>2]=b;return}function fj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,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;e=i;i=i+32|0;f=e;g=f+16|0;a[g>>0]=1;h=f+12|0;c[h>>2]=0;j=f+4|0;c[j>>2]=0;k=f+8|0;c[k>>2]=0;l=b+8|0;m=c[l>>2]|0;if((m|0)>0){n=b+16|0;o=m;m=0;p=0;q=0;while(1){r=c[n>>2]|0;s=r+(q<<4)|0;if((m|0)==(p|0)){t=p|0?p<<1:1;if((p|0)<(t|0)){if(!t){u=0;v=p}else{c[4350]=(c[4350]|0)+1;w=Tr((t<<4|3)+16|0)|0;if(!w)x=0;else{y=w+4+15&-16;c[y+-4>>2]=w;x=y}u=x;v=c[j>>2]|0}if((v|0)>0){y=0;do{w=c[h>>2]|0;c[u+(y<<4)>>2]=c[w+(y<<4)>>2];c[u+(y<<4)+4>>2]=c[w+(y<<4)+4>>2];c[u+(y<<4)+8>>2]=c[w+(y<<4)+8>>2];c[u+(y<<4)+12>>2]=c[w+(y<<4)+12>>2];y=y+1|0}while((y|0)!=(v|0))}y=c[h>>2]|0;if(!y)z=v;else{if(!(a[g>>0]|0))A=v;else{c[4351]=(c[4351]|0)+1;Ur(c[y+-4>>2]|0);A=c[j>>2]|0}c[h>>2]=0;z=A}a[g>>0]=1;c[h>>2]=u;c[k>>2]=t;B=t;C=c[l>>2]|0;D=z}else{B=p;C=o;D=p}}else{B=p;C=o;D=m}y=c[h>>2]|0;c[y+(D<<4)>>2]=c[s>>2];c[y+(D<<4)+4>>2]=c[r+(q<<4)+4>>2];c[y+(D<<4)+8>>2]=c[r+(q<<4)+8>>2];c[y+(D<<4)+12>>2]=c[r+(q<<4)+12>>2];m=D+1|0;c[j>>2]=m;q=q+1|0;if((q|0)>=(C|0))break;else{o=C;p=B}}if((D|0)>-1){D=0;do{B=c[h>>2]|0;Db[c[(c[b>>2]|0)+12>>2]&31](b,c[B+(D<<4)>>2]|0,c[B+(D<<4)+4>>2]|0,d)|0;D=D+1|0;B=c[j>>2]|0}while((D|0)<(B|0));E=B}else E=m}else E=0;m=b+56|0;if((c[m>>2]|0)>0){D=c[b+64>>2]|0;d=0;do{c[D+(d<<2)>>2]=-1;d=d+1|0}while((d|0)<(c[m>>2]|0));F=c[j>>2]|0}else F=E;if((F|0)>1){Fi(f,0,F+-1|0);G=c[j>>2]|0}else G=F;if((G|0)>0){G=0;do{F=c[h>>2]|0;Hb[c[(c[b>>2]|0)+8>>2]&31](b,c[F+(G<<4)>>2]|0,c[F+(G<<4)+4>>2]|0)|0;G=G+1|0}while((G|0)<(c[j>>2]|0))}j=c[h>>2]|0;if(!j){i=e;return}if(a[g>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[j+-4>>2]|0)}c[h>>2]=0;i=e;return}function gj(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=3588;d=b+12|0;e=b+20|0;f=c[e>>2]|0;g=b+24|0;if(f|0){if(a[g>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[f+-4>>2]|0)}c[e>>2]=0}a[g>>0]=1;c[e>>2]=0;c[d>>2]=0;c[b+16>>2]=0;return}function hj(b){b=b|0;var d=0;c[b>>2]=3588;d=c[b+20>>2]|0;if(!d){Ur(b);return}if(!(a[b+24>>0]|0)){Ur(b);return}c[4351]=(c[4351]|0)+1;Ur(c[d+-4>>2]|0);Ur(b);return}function ij(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=a;c[g+4>>2]=e;e=c[a+72+((c[(c[b+4>>2]|0)+4>>2]|0)*144|0)+(c[(c[d+4>>2]|0)+4>>2]<<2)>>2]|0;a=Db[c[(c[e>>2]|0)+8>>2]&31](e,g,b,d)|0;i=f;return a|0}function jj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;f=i;i=i+16|0;h=f+4|0;j=f;c[4340]=(c[4340]|0)+1;k=b+4|0;if(!(c[k>>2]&2))l=5956;else{m=c[d+192>>2]|0;n=+Wb[c[(c[m>>2]|0)+20>>2]&1](m,.019999999552965164);g[h>>2]=n;m=c[e+192>>2]|0;o=+Wb[c[(c[m>>2]|0)+20>>2]&1](m,.019999999552965164);g[j>>2]=o;l=n<o?h:j}j=c[l>>2]|0;o=+g[d+184>>2];n=+g[e+184>>2];p=o<n?o:n;l=c[b+68>>2]|0;h=l+8|0;m=c[h>>2]|0;if(!m){if(c[k>>2]&4|0){q=0;i=f;return q|0}c[4350]=(c[4350]|0)+1;k=Tr(791)|0;if(!k)r=0;else{s=k+4+15&-16;c[s+-4>>2]=k;r=s}}else{s=l+12|0;l=c[s>>2]|0;c[s>>2]=c[l>>2];c[h>>2]=m+-1;r=l}c[r>>2]=1025;c[r+116>>2]=0;a[r+120>>0]=0;l=r+124|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;c[l+20>>2]=0;c[l+24>>2]=0;c[l+28>>2]=0;c[r+300>>2]=0;a[r+304>>0]=0;l=r+308|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;c[l+20>>2]=0;c[l+24>>2]=0;c[l+28>>2]=0;c[r+484>>2]=0;a[r+488>>0]=0;l=r+492|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;c[l+20>>2]=0;c[l+24>>2]=0;c[l+28>>2]=0;c[r+668>>2]=0;a[r+672>>0]=0;l=r+676|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;c[l+20>>2]=0;c[l+24>>2]=0;c[l+28>>2]=0;c[r+740>>2]=d;c[r+744>>2]=e;c[r+748>>2]=0;c[r+752>>2]=j;g[r+756>>2]=p;j=r;e=b+12|0;d=c[e>>2]|0;c[r+768>>2]=d;l=b+16|0;if((d|0)==(c[l>>2]|0)?(m=d|0?d<<1:1,(d|0)<(m|0)):0){if(!m){t=0;u=d}else{c[4350]=(c[4350]|0)+1;h=Tr((m<<2|3)+16|0)|0;if(!h)v=0;else{s=h+4+15&-16;c[s+-4>>2]=h;v=s}t=v;u=c[e>>2]|0}v=b+20|0;if((u|0)>0){s=0;do{c[t+(s<<2)>>2]=c[(c[v>>2]|0)+(s<<2)>>2];s=s+1|0}while((s|0)!=(u|0))}s=c[v>>2]|0;h=b+24|0;if(!s)w=u;else{if(!(a[h>>0]|0))x=u;else{c[4351]=(c[4351]|0)+1;Ur(c[s+-4>>2]|0);x=c[e>>2]|0}c[v>>2]=0;w=x}a[h>>0]=1;c[v>>2]=t;c[l>>2]=m;y=w}else y=d;c[(c[b+20>>2]|0)+(y<<2)>>2]=j;c[e>>2]=y+1;q=r;i=f;return q|0}function kj(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;c[4340]=(c[4340]|0)+-1;xb[c[(c[b>>2]|0)+20>>2]&127](b,e);f=c[e+768>>2]|0;g=b+12|0;h=(c[g>>2]|0)+-1|0;i=b+20|0;j=c[i>>2]|0;k=j+(f<<2)|0;l=d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24;c[k>>2]=c[j+(h<<2)>>2];j=(c[i>>2]|0)+(h<<2)|0;a[j>>0]=l;a[j+1>>0]=l>>8;a[j+2>>0]=l>>16;a[j+3>>0]=l>>24;c[(c[(c[i>>2]|0)+(f<<2)>>2]|0)+768>>2]=f;c[g>>2]=(c[g>>2]|0)+-1;g=c[b+68>>2]|0;if(!e)return;b=c[g+16>>2]|0;if(b>>>0<=e>>>0?(b+(_(c[g>>2]|0,c[g+4>>2]|0)|0)|0)>>>0>e>>>0:0){b=g+12|0;c[e>>2]=c[b>>2];c[b>>2]=e;b=g+8|0;c[b>>2]=(c[b>>2]|0)+1;return}c[4351]=(c[4351]|0)+1;Ur(c[e+-4>>2]|0);return}function lj(a,b){a=a|0;b=b|0;c[b+748>>2]=0;return}function mj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a:do switch(c[b+216>>2]|0){case 2:case 5:{switch(c[d+216>>2]|0){case 2:case 5:{e=0;break}default:break a}return e|0}default:{}}while(0);if(!((c[b+260>>2]|0)!=0?!(Rb[c[(c[b>>2]|0)+12>>2]&31](b,d)|0):0)){if(!(c[d+260>>2]|0)){e=1;return e|0}if(Rb[c[(c[d>>2]|0)+12>>2]&31](d,b)|0){e=1;return e|0}}e=0;return e|0}function nj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a=c[b+204>>2]|0;if(a&4|0){e=0;return e|0}b=c[d+204>>2]|0;if(b&4|0){e=0;return e|0}if(!(a&3)){e=1;return e|0}e=(b&3|0)==0;return e|0}function oj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=3660;c[g+4>>2]=d;c[g+8>>2]=a;ac[c[(c[b>>2]|0)+48>>2]&63](b,g,e);i=f;return}function pj(a){a=a|0;Ur(a);return}function qj(a,b){a=a|0;b=b|0;var d=0;d=c[a+8>>2]|0;ac[c[d+60>>2]&63](b,d,c[a+4>>2]|0);return 0}function rj(a){a=a|0;return c[a+12>>2]|0}function sj(a,b){a=a|0;b=b|0;return c[(c[a+20>>2]|0)+(b<<2)>>2]|0}function tj(a){a=a|0;var b=0;if(!(c[a+12>>2]|0)){b=0;return b|0}b=c[a+20>>2]|0;return b|0}function uj(a){a=a|0;return c[a+68>>2]|0}function vj(a){a=a|0;return c[a+68>>2]|0}function wj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=c[a+64>>2]|0;a=d+8|0;e=c[a>>2]|0;if(e|0){f=d+12|0;d=c[f>>2]|0;c[f>>2]=c[d>>2];c[a>>2]=e+-1;g=d;return g|0}c[4350]=(c[4350]|0)+1;d=Tr(b+19|0)|0;if(!d){g=0;return g|0}b=d+4+15&-16;c[b+-4>>2]=d;g=b;return g|0}function xj(a,b){a=a|0;b=b|0;var d=0;d=c[a+64>>2]|0;if(!b)return;a=c[d+16>>2]|0;if(a>>>0<=b>>>0?(a+(_(c[d>>2]|0,c[d+4>>2]|0)|0)|0)>>>0>b>>>0:0){a=d+12|0;c[b>>2]=c[a>>2];c[a>>2]=b;a=d+8|0;c[a>>2]=(c[a>>2]|0)+1;return}c[4351]=(c[4351]|0)+1;Ur(c[b+-4>>2]|0);return}function yj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0;e=i;i=i+80|0;f=e+56|0;h=e+32|0;j=e;k=c[c[a>>2]>>2]|0;l=c[c[a+4>>2]>>2]|0;if(!(Hb[c[(c[b>>2]|0)+24>>2]&31](b,k,l)|0)){i=e;return}m=c[k+192>>2]|0;c[f>>2]=0;c[f+4>>2]=m;c[f+8>>2]=k;c[f+12>>2]=k+4;c[f+16>>2]=-1;c[f+20>>2]=-1;m=c[l+192>>2]|0;c[h>>2]=0;c[h+4>>2]=m;c[h+8>>2]=l;c[h+12>>2]=l+4;c[h+16>>2]=-1;c[h+20>>2]=-1;m=a+8|0;a=c[m>>2]|0;if(!a){n=Db[c[(c[b>>2]|0)+8>>2]&31](b,f,h,0)|0;c[m>>2]=n;if(n|0){o=n;p=4}}else{o=a;p=4}if((p|0)==4){c[j>>2]=4372;c[j+4>>2]=0;c[j+8>>2]=f;c[j+12>>2]=h;if((c[d+8>>2]|0)!=1){q=+Gb[c[(c[o>>2]|0)+12>>2]&15](o,k,l,d,j);l=d+12|0;if(+g[l>>2]>q)g[l>>2]=q}else tb[c[(c[o>>2]|0)+8>>2]&31](o,f,h,d,j)}i=e;return}function zj(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=3680;d=b+268|0;e=b+276|0;f=c[e>>2]|0;g=b+280|0;if(f|0){if(a[g>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[f+-4>>2]|0)}c[e>>2]=0}a[g>>0]=1;c[e>>2]=0;c[d>>2]=0;c[b+272>>2]=0;return}function Aj(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=3680;d=b+268|0;e=b+276|0;f=c[e>>2]|0;g=b+280|0;if(f|0){if(a[g>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[f+-4>>2]|0)}c[e>>2]=0}a[g>>0]=1;c[e>>2]=0;c[d>>2]=0;c[b+272>>2]=0;c[4351]=(c[4351]|0)+1;Ur(c[b+-4>>2]|0);return}function Bj(a){a=a|0;return 256}function Cj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c[b+16>>2]=c[a+4>>2];c[b+20>>2]=c[a+8>>2];c[b+24>>2]=c[a+12>>2];c[b+28>>2]=c[a+16>>2];c[b+32>>2]=c[a+20>>2];c[b+36>>2]=c[a+24>>2];c[b+40>>2]=c[a+28>>2];c[b+44>>2]=c[a+32>>2];c[b+48>>2]=c[a+36>>2];c[b+52>>2]=c[a+40>>2];c[b+56>>2]=c[a+44>>2];c[b+60>>2]=c[a+48>>2];c[b+64>>2]=c[a+52>>2];c[b+68>>2]=c[a+56>>2];c[b+72>>2]=c[a+60>>2];c[b+76>>2]=c[a+64>>2];c[b+80>>2]=c[a+68>>2];c[b+84>>2]=c[a+72>>2];c[b+88>>2]=c[a+76>>2];c[b+92>>2]=c[a+80>>2];c[b+96>>2]=c[a+84>>2];c[b+100>>2]=c[a+88>>2];c[b+104>>2]=c[a+92>>2];c[b+108>>2]=c[a+96>>2];c[b+112>>2]=c[a+100>>2];c[b+116>>2]=c[a+104>>2];c[b+120>>2]=c[a+108>>2];c[b+124>>2]=c[a+112>>2];c[b+128>>2]=c[a+116>>2];c[b+132>>2]=c[a+120>>2];c[b+136>>2]=c[a+124>>2];c[b+140>>2]=c[a+128>>2];c[b+144>>2]=c[a+132>>2];c[b+148>>2]=c[a+136>>2];c[b+152>>2]=c[a+140>>2];c[b+156>>2]=c[a+144>>2];c[b+160>>2]=c[a+148>>2];c[b+164>>2]=c[a+152>>2];c[b+168>>2]=c[a+156>>2];c[b+172>>2]=c[a+160>>2];c[b+176>>2]=c[a+164>>2];c[b+180>>2]=c[a+168>>2];c[b+184>>2]=c[a+172>>2];c[b+188>>2]=c[a+176>>2];c[b+224>>2]=c[a+180>>2];c[b+192>>2]=c[a+184>>2];c[b>>2]=0;c[b+4>>2]=Rb[c[(c[d>>2]|0)+28>>2]&31](d,c[a+192>>2]|0)|0;c[b+8>>2]=0;c[b+228>>2]=c[a+204>>2];c[b+232>>2]=c[a+208>>2];c[b+236>>2]=c[a+212>>2];c[b+240>>2]=c[a+216>>2];c[b+196>>2]=c[a+220>>2];c[b+200>>2]=c[a+224>>2];c[b+204>>2]=c[a+232>>2];c[b+208>>2]=c[a+228>>2];c[b+244>>2]=c[a+236>>2];e=Rb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=Rb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b+12>>2]=f;if(!f){g=a+248|0;h=c[g>>2]|0;i=b+212|0;c[i>>2]=h;j=a+252|0;k=c[j>>2]|0;l=b+216|0;c[l>>2]=k;m=a+256|0;n=c[m>>2]|0;o=b+220|0;c[o>>2]=n;p=a+260|0;q=c[p>>2]|0;r=b+248|0;c[r>>2]=q;return 8521}xb[c[(c[d>>2]|0)+48>>2]&127](d,e);g=a+248|0;h=c[g>>2]|0;i=b+212|0;c[i>>2]=h;j=a+252|0;k=c[j>>2]|0;l=b+216|0;c[l>>2]=k;m=a+256|0;n=c[m>>2]|0;o=b+220|0;c[o>>2]=n;p=a+260|0;q=c[p>>2]|0;r=b+248|0;c[r>>2]=q;return 8521}function Dj(a,b){a=a|0;b=b|0;var d=0,e=0;d=zb[c[(c[a>>2]|0)+16>>2]&127](a)|0;e=Hb[c[(c[b>>2]|0)+16>>2]&31](b,d,1)|0;d=Hb[c[(c[a>>2]|0)+20>>2]&31](a,c[e+8>>2]|0,b)|0;tb[c[(c[b>>2]|0)+20>>2]&31](b,e,d,1245859651,a);return}function Ej(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;c[b>>2]=3716;d=b+8|0;e=c[d>>2]|0;f=b+16|0;g=c[f>>2]|0;if((e|0)>0){h=b+68|0;i=b+24|0;j=e;e=g;k=0;while(1){l=(c[e+(k<<2)>>2]|0)+188|0;m=c[l>>2]|0;if(!m){n=j;o=e}else{p=c[h>>2]|0;q=zb[c[(c[p>>2]|0)+36>>2]&127](p)|0;ac[c[(c[q>>2]|0)+40>>2]&63](q,m,c[i>>2]|0);q=c[h>>2]|0;ac[c[(c[q>>2]|0)+12>>2]&63](q,m,c[i>>2]|0);c[l>>2]=0;n=c[d>>2]|0;o=c[f>>2]|0}k=k+1|0;if((k|0)>=(n|0)){r=o;break}else{j=n;e=o}}}else r=g;g=b+20|0;if(!r){a[g>>0]=1;c[f>>2]=0;c[d>>2]=0;s=b+12|0;c[s>>2]=0;return}if(a[g>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[r+-4>>2]|0)}c[f>>2]=0;a[g>>0]=1;c[f>>2]=0;c[d>>2]=0;s=b+12|0;c[s>>2]=0;return}function Fj(a){a=a|0;Ej(a);Ur(a);return}function Gj(b){b=b|0;var d=0,e=0,f=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.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.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0;d=i;i=i+64|0;e=d+48|0;f=d+32|0;h=d+16|0;j=d;k=b+8|0;l=c[k>>2]|0;if((l|0)<=0){i=d;return}m=b+16|0;n=b+76|0;o=e+4|0;p=e+8|0;q=f+4|0;r=f+8|0;s=b+44|0;t=b+68|0;u=b+72|0;v=b+24|0;b=h+4|0;w=h+8|0;x=j+4|0;y=j+8|0;z=e+12|0;A=h+12|0;B=f+12|0;C=j+12|0;D=l;l=0;while(1){E=c[(c[m>>2]|0)+(l<<2)>>2]|0;if(!(a[n>>0]|0))switch(c[E+216>>2]|0){case 2:case 5:{F=D;break}default:G=6}else G=6;if((G|0)==6){G=0;H=E+192|0;I=c[H>>2]|0;ec[c[(c[I>>2]|0)+8>>2]&63](I,E+4|0,e,f);J=+g[e>>2]+-.019999999552965164;g[e>>2]=J;K=+g[o>>2]+-.019999999552965164;g[o>>2]=K;L=+g[p>>2]+-.019999999552965164;g[p>>2]=L;M=+g[f>>2]+.019999999552965164;g[f>>2]=M;N=+g[q>>2]+.019999999552965164;g[q>>2]=N;O=+g[r>>2]+.019999999552965164;g[r>>2]=O;if(((a[s>>0]|0)!=0?(c[E+236>>2]|0)==2:0)?(c[E+204>>2]&3|0)==0:0){I=c[H>>2]|0;ec[c[(c[I>>2]|0)+8>>2]&63](I,E+68|0,h,j);P=+g[h>>2]+-.019999999552965164;g[h>>2]=P;Q=+g[b>>2]+-.019999999552965164;g[b>>2]=Q;R=+g[w>>2]+-.019999999552965164;g[w>>2]=R;S=+g[j>>2]+.019999999552965164;g[j>>2]=S;T=+g[x>>2]+.019999999552965164;g[x>>2]=T;U=+g[y>>2]+.019999999552965164;g[y>>2]=U;V=+g[e>>2];if(P<V){g[e>>2]=P;W=P}else W=V;V=+g[o>>2];if(Q<V){g[o>>2]=Q;X=Q}else X=V;V=+g[p>>2];if(R<V){g[p>>2]=R;Y=R}else Y=V;V=+g[A>>2];if(V<+g[z>>2])g[z>>2]=V;V=+g[f>>2];if(V<S){g[f>>2]=S;Z=S}else Z=V;V=+g[q>>2];if(V<T){g[q>>2]=T;_=T}else _=V;V=+g[r>>2];if(V<U){g[r>>2]=U;$=U}else $=V;V=+g[C>>2];if(+g[B>>2]<V)g[B>>2]=V;aa=_;ba=Y;ca=$;da=W;ea=Z;fa=X}else{aa=N;ba=L;ca=O;da=J;ea=M;fa=K}I=c[t>>2]|0;if((c[E+204>>2]&1|0)==0?(K=ea-da,M=aa-fa,J=ca-ba,!(K*K+M*M+J*J<999999995904.0)):0){H=E+216|0;if((c[H>>2]&-2|0)!=4)c[H>>2]=5;if(a[8567]|0?(H=c[u>>2]|0,H|0):0){a[8567]=0;xb[c[(c[H>>2]|0)+36>>2]&127](H,8568);H=c[u>>2]|0;xb[c[(c[H>>2]|0)+36>>2]&127](H,8617);H=c[u>>2]|0;xb[c[(c[H>>2]|0)+36>>2]&127](H,8685);H=c[u>>2]|0;xb[c[(c[H>>2]|0)+36>>2]&127](H,8750)}}else tb[c[(c[I>>2]|0)+16>>2]&31](I,c[E+188>>2]|0,e,f,c[v>>2]|0);F=c[k>>2]|0}l=l+1|0;if((l|0)>=(F|0))break;else D=F}i=d;return}function Hj(a){a=a|0;var b=0;b=c[a+68>>2]|0;xb[c[(c[b>>2]|0)+32>>2]&127](b,c[a+24>>2]|0);return}function Ij(b){b=b|0;var d=0,e=0,f=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.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0;d=i;i=i+80|0;e=d+64|0;f=d+48|0;h=d+32|0;j=d+16|0;k=d;if(((zb[c[(c[b>>2]|0)+20>>2]&127](b)|0?(l=zb[c[(c[b>>2]|0)+20>>2]&127](b)|0,(zb[c[(c[l>>2]|0)+48>>2]&127](l)|0)&8|0):0)?(l=b+24|0,m=c[l>>2]|0,m|0):0)?(n=zb[c[(c[m>>2]|0)+36>>2]&127](m)|0,c[e>>2]=1065353216,c[e+4>>2]=1065353216,c[e+8>>2]=0,g[e+12>>2]=0.0,(n|0)>0):0){m=0;do{o=c[l>>2]|0;p=Rb[c[(c[o>>2]|0)+40>>2]&31](o,m)|0;o=c[p+748>>2]|0;if((o|0)>0){q=0;do{r=zb[c[(c[b>>2]|0)+20>>2]&127](b)|0;wb[c[(c[r>>2]|0)+32>>2]&0](r,p+4+(q*184|0)+32|0,p+4+(q*184|0)+64|0,+g[p+4+(q*184|0)+80>>2],c[p+4+(q*184|0)+148>>2]|0,e);q=q+1|0}while((q|0)!=(o|0))}m=m+1|0}while((m|0)!=(n|0))}if(!(zb[c[(c[b>>2]|0)+20>>2]&127](b)|0)){i=d;return}n=zb[c[(c[b>>2]|0)+20>>2]&127](b)|0;if(!((zb[c[(c[n>>2]|0)+48>>2]&127](n)|0)&3)){i=d;return}n=b+8|0;if((c[n>>2]|0)<=0){i=d;return}m=b+16|0;l=b+72|0;o=h+4|0;q=h+8|0;p=h+12|0;r=e+4|0;s=e+8|0;t=f+4|0;u=f+8|0;v=b+44|0;w=j+4|0;x=j+8|0;y=k+4|0;z=k+8|0;A=e+12|0;B=j+12|0;C=f+12|0;D=k+12|0;E=e+4|0;F=e+8|0;G=e+12|0;H=0;do{I=c[(c[m>>2]|0)+(H<<2)>>2]|0;J=I+204|0;if(!(c[J>>2]&32)){if(zb[c[(c[b>>2]|0)+20>>2]&127](b)|0?(K=zb[c[(c[b>>2]|0)+20>>2]&127](b)|0,(zb[c[(c[K>>2]|0)+48>>2]&127](K)|0)&1|0):0){c[e>>2]=1065353216;c[E>>2]=1065353216;c[F>>2]=1065353216;g[G>>2]=0.0;switch(c[I+216>>2]|0){case 1:{c[e>>2]=1065353216;c[E>>2]=1065353216;c[F>>2]=1065353216;g[G>>2]=0.0;break}case 2:{c[e>>2]=0;c[E>>2]=1065353216;c[F>>2]=0;g[G>>2]=0.0;break}case 3:{c[e>>2]=0;c[E>>2]=1065353216;c[F>>2]=1065353216;g[G>>2]=0.0;break}case 4:{c[e>>2]=1065353216;c[E>>2]=0;c[F>>2]=0;g[G>>2]=0.0;break}case 5:{c[e>>2]=1065353216;c[E>>2]=1065353216;c[F>>2]=0;g[G>>2]=0.0;break}default:{c[e>>2]=1065353216;c[E>>2]=0;c[F>>2]=0;g[G>>2]=0.0}}ec[c[(c[b>>2]|0)+28>>2]&63](b,I+4|0,c[I+192>>2]|0,e)}K=c[l>>2]|0;if(K|0?(zb[c[(c[K>>2]|0)+48>>2]&127](K)|0)&2|0:0){c[h>>2]=1065353216;c[o>>2]=0;c[q>>2]=0;g[p>>2]=0.0;K=I+192|0;L=c[K>>2]|0;ec[c[(c[L>>2]|0)+8>>2]&63](L,I+4|0,e,f);g[e>>2]=+g[e>>2]+-.019999999552965164;g[r>>2]=+g[r>>2]+-.019999999552965164;g[s>>2]=+g[s>>2]+-.019999999552965164;g[f>>2]=+g[f>>2]+.019999999552965164;g[t>>2]=+g[t>>2]+.019999999552965164;g[u>>2]=+g[u>>2]+.019999999552965164;do if((a[v>>0]|0?(c[I+236>>2]|0)==2:0)?(c[J>>2]&3|0)==0:0){L=c[K>>2]|0;ec[c[(c[L>>2]|0)+8>>2]&63](L,I+68|0,j,k);M=+g[j>>2]+-.019999999552965164;g[j>>2]=M;N=+g[w>>2]+-.019999999552965164;g[w>>2]=N;O=+g[x>>2]+-.019999999552965164;g[x>>2]=O;P=+g[k>>2]+.019999999552965164;g[k>>2]=P;Q=+g[y>>2]+.019999999552965164;g[y>>2]=Q;R=+g[z>>2]+.019999999552965164;g[z>>2]=R;if(M<+g[e>>2])g[e>>2]=M;if(N<+g[r>>2])g[r>>2]=N;if(O<+g[s>>2])g[s>>2]=O;O=+g[B>>2];if(O<+g[A>>2])g[A>>2]=O;if(+g[f>>2]<P)g[f>>2]=P;if(+g[t>>2]<Q)g[t>>2]=Q;if(+g[u>>2]<R)g[u>>2]=R;R=+g[D>>2];if(!(+g[C>>2]<R))break;g[C>>2]=R}while(0);I=c[l>>2]|0;ec[c[(c[I>>2]|0)+52>>2]&63](I,e,f,h)}}H=H+1|0}while((H|0)<(c[n>>2]|0));i=d;return}function Jj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=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,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0,ma=0.0,na=0.0,oa=0.0,pa=0.0,qa=0.0,ra=0.0,sa=0.0,ta=0.0,ua=0.0,va=0.0,wa=0.0,xa=0.0,ya=0.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;f=i;i=i+368|0;h=f+288|0;j=f+352|0;l=f+272|0;m=f+192|0;n=f+80|0;o=f+48|0;p=f+32|0;q=f+16|0;r=f;s=f+256|0;t=f+96|0;u=f+64|0;if(zb[c[(c[a>>2]|0)+20>>2]&127](a)|0?(v=zb[c[(c[a>>2]|0)+20>>2]&127](a)|0,(zb[c[(c[v>>2]|0)+48>>2]&127](v)|0)&32768|0):0){v=zb[c[(c[a>>2]|0)+20>>2]&127](a)|0;cc[c[(c[v>>2]|0)+56>>2]&7](v,b,1.0)}v=d+4|0;w=c[v>>2]|0;switch(w|0){case 31:{x=c[d+20>>2]|0;if((x|0)<=0){i=f;return}y=d+28|0;z=b+4|0;A=b+8|0;B=b+16|0;C=b+20|0;D=b+24|0;E=b+32|0;F=b+36|0;G=b+40|0;H=b+48|0;I=b+52|0;J=b+56|0;K=h+4|0;L=h+8|0;M=h+12|0;N=h+16|0;O=h+20|0;P=h+24|0;Q=h+28|0;R=h+32|0;S=h+36|0;T=h+40|0;U=h+44|0;V=h+48|0;W=h+52|0;X=h+56|0;Y=h+60|0;Z=x;do{x=Z;Z=Z+-1|0;_=c[y>>2]|0;$=+g[_+(Z*80|0)>>2];aa=+g[_+(Z*80|0)+4>>2];ba=+g[_+(Z*80|0)+8>>2];ca=+g[_+(Z*80|0)+16>>2];da=+g[_+(Z*80|0)+20>>2];ea=+g[_+(Z*80|0)+24>>2];fa=+g[_+(Z*80|0)+32>>2];ga=+g[_+(Z*80|0)+36>>2];ha=+g[_+(Z*80|0)+40>>2];ia=+g[_+(Z*80|0)+48>>2];ja=+g[_+(Z*80|0)+52>>2];ka=+g[_+(Z*80|0)+56>>2];la=c[_+(Z*80|0)+64>>2]|0;_=c[(c[a>>2]|0)+28>>2]|0;ma=+g[b>>2];na=+g[z>>2];oa=+g[A>>2];pa=+g[B>>2];qa=+g[C>>2];ra=+g[D>>2];sa=+g[E>>2];ta=+g[F>>2];ua=+g[G>>2];va=ia*ma+ja*na+ka*oa+ +g[H>>2];wa=ia*pa+ja*qa+ka*ra+ +g[I>>2];xa=ia*sa+ja*ta+ka*ua+ +g[J>>2];g[h>>2]=$*ma+ca*na+fa*oa;g[K>>2]=aa*ma+da*na+ga*oa;g[L>>2]=ba*ma+ea*na+ha*oa;g[M>>2]=0.0;g[N>>2]=$*pa+ca*qa+fa*ra;g[O>>2]=aa*pa+da*qa+ga*ra;g[P>>2]=ba*pa+ea*qa+ha*ra;g[Q>>2]=0.0;g[R>>2]=$*sa+ca*ta+fa*ua;g[S>>2]=aa*sa+da*ta+ga*ua;g[T>>2]=ba*sa+ea*ta+ha*ua;g[U>>2]=0.0;g[V>>2]=va;g[W>>2]=wa;g[X>>2]=xa;g[Y>>2]=0.0;ec[_&63](a,h,la,e)}while((x|0)>1);i=f;return}case 0:{h=d+32|0;c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];c[j+8>>2]=c[h+8>>2];c[j+12>>2]=c[h+12>>2];xa=+Kb[c[(c[d>>2]|0)+48>>2]&7](d);wa=+Kb[c[(c[d>>2]|0)+48>>2]&7](d);va=+Kb[c[(c[d>>2]|0)+48>>2]&7](d);ua=xa+ +g[j>>2];g[j>>2]=ua;h=j+4|0;xa=wa+ +g[h>>2];g[h>>2]=xa;h=j+8|0;wa=va+ +g[h>>2];g[h>>2]=wa;h=zb[c[(c[a>>2]|0)+20>>2]&127](a)|0;Y=c[(c[h>>2]|0)+72>>2]|0;g[l>>2]=-ua;g[l+4>>2]=-xa;g[l+8>>2]=-wa;g[l+12>>2]=0.0;tb[Y&31](h,l,j,b,e);i=f;return}case 8:{wa=+Kb[c[(c[d>>2]|0)+48>>2]&7](d);l=zb[c[(c[a>>2]|0)+20>>2]&127](a)|0;Cb[c[(c[l>>2]|0)+16>>2]&0](l,wa,b,e);i=f;return}case 9:{l=c[d+96>>2]|0;if((l|0)<=0){i=f;return}h=d+104|0;Y=d+124|0;X=b+4|0;W=b+8|0;V=b+16|0;U=b+20|0;T=b+24|0;S=b+32|0;R=b+36|0;Q=b+40|0;P=b+48|0;O=b+52|0;N=b+56|0;M=m+4|0;L=m+8|0;K=m+12|0;J=m+16|0;I=m+20|0;H=m+24|0;G=m+28|0;F=m+32|0;E=m+36|0;D=m+40|0;C=m+44|0;B=m+48|0;A=m+52|0;z=m+56|0;Z=m+60|0;y=l;do{l=y;y=y+-1|0;x=c[h>>2]|0;wa=+g[x+(y<<4)>>2];xa=+g[x+(y<<4)+4>>2];ua=+g[x+(y<<4)+8>>2];x=zb[c[(c[a>>2]|0)+20>>2]&127](a)|0;la=c[(c[x>>2]|0)+16>>2]|0;va=+g[(c[Y>>2]|0)+(y<<2)>>2];ha=+g[b>>2];ta=+g[X>>2];ea=ta*0.0;sa=+g[W>>2];ba=sa*0.0;ga=ha*0.0;da=+g[V>>2];aa=+g[U>>2];fa=aa*0.0;ca=+g[T>>2];$=ca*0.0;ra=da*0.0;qa=+g[S>>2];pa=+g[R>>2];oa=pa*0.0;na=+g[Q>>2];ma=na*0.0;ka=qa*0.0;ja=wa*ha+xa*ta+ua*sa+ +g[P>>2];ia=wa*da+xa*aa+ua*ca+ +g[O>>2];ya=wa*qa+xa*pa+ua*na+ +g[N>>2];g[m>>2]=ha+ea+ba;g[M>>2]=ga+ta+ba;g[L>>2]=sa+(ga+ea);g[K>>2]=0.0;g[J>>2]=da+fa+$;g[I>>2]=ra+aa+$;g[H>>2]=ca+(ra+fa);g[G>>2]=0.0;g[F>>2]=qa+oa+ma;g[E>>2]=ka+pa+ma;g[D>>2]=na+(ka+oa);g[C>>2]=0.0;g[B>>2]=ja;g[A>>2]=ia;g[z>>2]=ya;g[Z>>2]=0.0;Cb[la&0](x,va,m,e)}while((l|0)>1);i=f;return}case 10:{m=c[d+56>>2]|0;va=+g[d+32+(((m+2|0)%3|0)<<2)>>2];ya=+g[d+32+(m<<2)>>2];Z=zb[c[(c[a>>2]|0)+20>>2]&127](a)|0;Bb[c[(c[Z>>2]|0)+76>>2]&0](Z,va,ya,m,b,e);i=f;return}case 11:{ya=+g[d+60>>2];va=+g[d+64>>2];m=c[d+72>>2]|0;Z=zb[c[(c[a>>2]|0)+20>>2]&127](a)|0;Bb[c[(c[Z>>2]|0)+84>>2]&0](Z,ya,va,m,b,e);i=f;return}case 13:{m=c[d+56>>2]|0;va=+Kb[c[(c[d>>2]|0)+92>>2]&7](d);Z=d+32|0;c[n>>2]=c[Z>>2];c[n+4>>2]=c[Z+4>>2];c[n+8>>2]=c[Z+8>>2];c[n+12>>2]=c[Z+12>>2];ya=+Kb[c[(c[d>>2]|0)+48>>2]&7](d);ia=+Kb[c[(c[d>>2]|0)+48>>2]&7](d);ja=+Kb[c[(c[d>>2]|0)+48>>2]&7](d);g[n>>2]=ya+ +g[n>>2];Z=n+4|0;g[Z>>2]=ia+ +g[Z>>2];Z=n+8|0;g[Z>>2]=ja+ +g[Z>>2];ja=+g[n+(m<<2)>>2];n=zb[c[(c[a>>2]|0)+20>>2]&127](a)|0;Bb[c[(c[n>>2]|0)+80>>2]&0](n,va,ja,m,b,e);i=f;return}case 28:{ja=+g[d+68>>2];m=zb[c[(c[a>>2]|0)+20>>2]&127](a)|0;Nb[c[(c[m>>2]|0)+88>>2]&3](m,d+52|0,ja,b,e);i=f;return}default:{a:do if((w|0)<7){m=c[d+56>>2]|0;if(!m){if((zb[c[(c[d>>2]|0)+100>>2]&127](d)|0)<=0)break;n=j+4|0;Z=b+4|0;z=j+8|0;A=b+8|0;B=b+16|0;C=b+20|0;D=b+24|0;E=b+32|0;F=b+36|0;G=b+40|0;H=b+48|0;I=b+52|0;J=b+56|0;K=t+4|0;L=t+8|0;M=t+12|0;N=s+4|0;O=s+8|0;P=u+4|0;Q=u+8|0;R=u+12|0;S=0;while(1){ec[c[(c[d>>2]|0)+104>>2]&63](d,S,j,s);ja=+g[j>>2];va=+g[b>>2];ia=+g[n>>2];ya=+g[Z>>2];oa=+g[z>>2];ka=+g[A>>2];na=+g[B>>2];ma=+g[C>>2];pa=+g[D>>2];qa=+g[E>>2];fa=+g[F>>2];ra=+g[G>>2];ca=+g[H>>2];$=+g[I>>2];aa=+g[J>>2];g[t>>2]=ja*va+ia*ya+oa*ka+ca;g[K>>2]=ja*na+ia*ma+oa*pa+$;g[L>>2]=ja*qa+ia*fa+oa*ra+aa;g[M>>2]=0.0;oa=+g[s>>2];ia=+g[N>>2];ja=+g[O>>2];g[u>>2]=oa*va+ia*ya+ja*ka+ca;g[P>>2]=oa*na+ia*ma+ja*pa+$;g[Q>>2]=oa*qa+ia*fa+ja*ra+aa;g[R>>2]=0.0;T=zb[c[(c[a>>2]|0)+20>>2]&127](a)|0;ec[c[(c[T>>2]|0)+8>>2]&63](T,t,u,e);S=S+1|0;if((S|0)>=(zb[c[(c[d>>2]|0)+100>>2]&127](d)|0))break a}}S=m+28|0;if((c[S>>2]|0)>0){R=m+36|0;Q=j+4|0;P=j+8|0;O=j+12|0;N=b+4|0;M=b+8|0;L=b+16|0;K=b+20|0;J=b+24|0;I=b+32|0;H=b+36|0;G=b+40|0;F=b+48|0;E=b+52|0;D=b+56|0;C=q+4|0;B=q+8|0;A=q+12|0;z=r+4|0;Z=r+8|0;n=r+12|0;T=m+16|0;U=o+4|0;V=o+8|0;W=o+12|0;X=p+4|0;y=p+8|0;Y=p+12|0;h=0;do{l=c[R>>2]|0;x=c[l+(h*36|0)+4>>2]|0;b:do if((x|0)!=0?(la=c[l+(h*36|0)+12>>2]|0,(x|0)>0):0){_=la;za=0;Aa=0;Ba=0;Ca=c[la+(x+-1<<2)>>2]|0;la=0;while(1){Da=c[_+(la<<2)>>2]|0;Ea=c[T>>2]|0;Fa=(g[k>>2]=(c[k>>2]=za,+g[k>>2])+ +g[Ea+(Da<<4)>>2],c[k>>2]|0);Ga=(g[k>>2]=(c[k>>2]=Ba,+g[k>>2])+ +g[Ea+(Da<<4)+4>>2],c[k>>2]|0);Ha=(g[k>>2]=(c[k>>2]=Aa,+g[k>>2])+ +g[Ea+(Da<<4)+8>>2],c[k>>2]|0);Ea=zb[c[(c[a>>2]|0)+20>>2]&127](a)|0;Ia=c[(c[Ea>>2]|0)+8>>2]|0;Ja=c[T>>2]|0;aa=+g[Ja+(Ca<<4)>>2];ra=+g[b>>2];ja=+g[Ja+(Ca<<4)+4>>2];fa=+g[N>>2];ia=+g[Ja+(Ca<<4)+8>>2];qa=+g[M>>2];oa=+g[L>>2];$=+g[K>>2];pa=+g[J>>2];ma=+g[I>>2];na=+g[H>>2];ca=+g[G>>2];ka=+g[F>>2];ya=+g[E>>2];va=+g[D>>2];g[o>>2]=aa*ra+ja*fa+ia*qa+ka;g[U>>2]=aa*oa+ja*$+ia*pa+ya;g[V>>2]=aa*ma+ja*na+ia*ca+va;g[W>>2]=0.0;ia=+g[Ja+(Da<<4)>>2];ja=+g[Ja+(Da<<4)+4>>2];aa=+g[Ja+(Da<<4)+8>>2];g[p>>2]=ia*ra+ja*fa+aa*qa+ka;g[X>>2]=ia*oa+ja*$+aa*pa+ya;g[y>>2]=ia*ma+ja*na+aa*ca+va;g[Y>>2]=0.0;ec[Ia&63](Ea,o,p,e);Ea=la+1|0;Ia=c[R>>2]|0;if((Ea|0)>=(c[Ia+(h*36|0)+4>>2]|0)){Ka=Fa;La=Ha;Ma=Ga;break b}_=c[Ia+(h*36|0)+12>>2]|0;za=Fa;Aa=Ha;Ba=Ga;Ca=Da;la=Ea}}else{Ka=0;La=0;Ma=0}while(0);va=1.0/+(x|0);l=zb[c[(c[a>>2]|0)+20>>2]&127](a)|0;if((zb[c[(c[l>>2]|0)+48>>2]&127](l)|0)&16384|0){ca=va*(c[k>>2]=La,+g[k>>2]);aa=va*(c[k>>2]=Ma,+g[k>>2]);na=va*(c[k>>2]=Ka,+g[k>>2]);c[j>>2]=1065353216;c[Q>>2]=1065353216;c[P>>2]=0;g[O>>2]=0.0;l=c[R>>2]|0;va=+g[l+(h*36|0)+20>>2];ja=+g[l+(h*36|0)+24>>2];ma=+g[l+(h*36|0)+28>>2];l=zb[c[(c[a>>2]|0)+20>>2]&127](a)|0;la=c[(c[l>>2]|0)+8>>2]|0;ia=+g[b>>2];ya=+g[N>>2];pa=+g[M>>2];$=+g[L>>2];oa=+g[K>>2];ka=+g[J>>2];qa=+g[I>>2];fa=+g[H>>2];ra=+g[G>>2];da=+g[F>>2];ea=+g[E>>2];ga=+g[D>>2];g[q>>2]=na*ia+aa*ya+ca*pa+da;g[C>>2]=na*$+aa*oa+ca*ka+ea;g[B>>2]=na*qa+aa*fa+ca*ra+ga;g[A>>2]=0.0;sa=na+va;va=aa+ja;ja=ca+ma;g[r>>2]=sa*ia+va*ya+ja*pa+da;g[z>>2]=sa*$+va*oa+ja*ka+ea;g[Z>>2]=sa*qa+va*fa+ja*ra+ga;g[n>>2]=0.0;ec[la&63](l,q,r,j)}h=h+1|0}while((h|0)<(c[S>>2]|0))}}while(0);r=c[v>>2]|0;if((r+-21|0)>>>0<9){c[j>>2]=1566444395;c[j+4>>2]=1566444395;c[j+8>>2]=1566444395;g[j+12>>2]=0.0;c[s>>2]=-581039253;c[s+4>>2]=-581039253;c[s+8>>2]=-581039253;g[s+12>>2]=0.0;q=zb[c[(c[a>>2]|0)+20>>2]&127](a)|0;c[t>>2]=3776;c[t+4>>2]=3800;c[t+8>>2]=q;q=t+12|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];q=t+28|0;c[q>>2]=c[b>>2];c[q+4>>2]=c[b+4>>2];c[q+8>>2]=c[b+8>>2];c[q+12>>2]=c[b+12>>2];q=t+44|0;Ka=b+16|0;c[q>>2]=c[Ka>>2];c[q+4>>2]=c[Ka+4>>2];c[q+8>>2]=c[Ka+8>>2];c[q+12>>2]=c[Ka+12>>2];Ka=t+60|0;q=b+32|0;c[Ka>>2]=c[q>>2];c[Ka+4>>2]=c[q+4>>2];c[Ka+8>>2]=c[q+8>>2];c[Ka+12>>2]=c[q+12>>2];q=t+76|0;Ka=b+48|0;c[q>>2]=c[Ka>>2];c[q+4>>2]=c[Ka+4>>2];c[q+8>>2]=c[Ka+8>>2];c[q+12>>2]=c[Ka+12>>2];ec[c[(c[d>>2]|0)+64>>2]&63](d,t,s,j);Na=c[v>>2]|0}else Na=r;if((Na|0)!=3){i=f;return}c[j>>2]=1566444395;c[j+4>>2]=1566444395;c[j+8>>2]=1566444395;g[j+12>>2]=0.0;c[s>>2]=-581039253;c[s+4>>2]=-581039253;c[s+8>>2]=-581039253;g[s+12>>2]=0.0;Na=zb[c[(c[a>>2]|0)+20>>2]&127](a)|0;c[t>>2]=3776;c[t+4>>2]=3800;c[t+8>>2]=Na;Na=t+12|0;c[Na>>2]=c[e>>2];c[Na+4>>2]=c[e+4>>2];c[Na+8>>2]=c[e+8>>2];c[Na+12>>2]=c[e+12>>2];e=t+28|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];e=t+44|0;Na=b+16|0;c[e>>2]=c[Na>>2];c[e+4>>2]=c[Na+4>>2];c[e+8>>2]=c[Na+8>>2];c[e+12>>2]=c[Na+12>>2];Na=t+60|0;e=b+32|0;c[Na>>2]=c[e>>2];c[Na+4>>2]=c[e+4>>2];c[Na+8>>2]=c[e+8>>2];c[Na+12>>2]=c[e+12>>2];e=t+76|0;Na=b+48|0;c[e>>2]=c[Na>>2];c[e+4>>2]=c[Na+4>>2];c[e+8>>2]=c[Na+8>>2];c[e+12>>2]=c[Na+12>>2];Na=c[d+96>>2]|0;ec[c[(c[Na>>2]|0)+8>>2]&63](Na,t+4|0,s,j);i=f;return}}}function Kj(a){a=a|0;return}function Lj(a){a=a|0;Ur(a);return}function Mj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.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,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.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,X=0;e=i;i=i+96|0;d=e+80|0;f=e+64|0;h=e+48|0;j=e+32|0;k=e+16|0;l=e;m=+g[b>>2];n=+g[a+28>>2];o=+g[b+4>>2];p=+g[a+32>>2];q=+g[b+8>>2];r=+g[a+36>>2];s=+g[a+44>>2];t=+g[a+48>>2];u=+g[a+52>>2];v=+g[a+60>>2];w=+g[a+64>>2];x=+g[a+68>>2];y=+g[a+76>>2];z=m*n+o*p+q*r+y;A=+g[a+80>>2];B=m*s+o*t+q*u+A;C=+g[a+84>>2];D=m*v+o*w+q*x+C;g[d>>2]=z;g[d+4>>2]=B;g[d+8>>2]=D;g[d+12>>2]=0.0;q=+g[b+16>>2];o=+g[b+20>>2];m=+g[b+24>>2];E=q*n+o*p+m*r+y;F=q*s+o*t+m*u+A;G=q*v+o*w+m*x+C;g[f>>2]=E;g[f+4>>2]=F;g[f+8>>2]=G;g[f+12>>2]=0.0;m=+g[b+32>>2];o=+g[b+36>>2];q=+g[b+40>>2];H=m*n+o*p+q*r+y;y=m*s+o*t+q*u+A;A=m*v+o*w+q*x+C;g[h>>2]=H;g[h+4>>2]=y;g[h+8>>2]=A;g[h+12>>2]=0.0;C=(z+E+H)*.3333333432674408;z=(B+F+y)*.3333333432674408;x=(D+G+A)*.3333333432674408;g[j>>2]=C;g[j+4>>2]=z;g[j+8>>2]=x;g[j+12>>2]=0.0;b=a+8|0;I=c[b>>2]|0;if(!((zb[c[(c[I>>2]|0)+48>>2]&127](I)|0)&16384)){J=c[b>>2]|0;K=c[J>>2]|0;L=K+8|0;M=c[L>>2]|0;N=a+12|0;ec[M&63](J,d,f,N);P=c[b>>2]|0;Q=c[P>>2]|0;R=Q+8|0;S=c[R>>2]|0;ec[S&63](P,f,h,N);T=c[b>>2]|0;U=c[T>>2]|0;V=U+8|0;W=c[V>>2]|0;ec[W&63](T,h,d,N);i=e;return}q=+g[d>>2];w=E-q;E=F-B;F=G-D;G=H-q;q=y-B;B=A-D;D=E*B-F*q;A=F*G-w*B;B=w*q-E*G;G=1.0/+O(+(B*B+(D*D+A*A)));c[k>>2]=1065353216;c[k+4>>2]=1065353216;c[k+8>>2]=0;g[k+12>>2]=0.0;I=c[b>>2]|0;X=c[(c[I>>2]|0)+8>>2]|0;g[l>>2]=G*D+C;g[l+4>>2]=G*A+z;g[l+8>>2]=G*B+x;g[l+12>>2]=0.0;ec[X&63](I,j,l,k);J=c[b>>2]|0;K=c[J>>2]|0;L=K+8|0;M=c[L>>2]|0;N=a+12|0;ec[M&63](J,d,f,N);P=c[b>>2]|0;Q=c[P>>2]|0;R=Q+8|0;S=c[R>>2]|0;ec[S&63](P,f,h,N);T=c[b>>2]|0;U=c[T>>2]|0;V=U+8|0;W=c[V>>2]|0;ec[W&63](T,h,d,N);i=e;return}function Nj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;ec[c[(c[a>>2]|0)+8>>2]&63](a,b,d,e);return}function Oj(a){a=a|0;return}function Pj(a){a=a|0;Ur(a+-4|0);return}function Qj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+-4|0;ec[c[(c[f>>2]|0)+8>>2]&63](f,b,d,e);return}function Rj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0;f=i;i=i+256|0;h=f+32|0;j=f+16|0;k=f;c[h>>2]=3820;l=h+36|0;c[l>>2]=c[b>>2];c[l+4>>2]=c[b+4>>2];c[l+8>>2]=c[b+8>>2];c[l+12>>2]=c[b+12>>2];m=h+52|0;c[m>>2]=c[d>>2];c[m+4>>2]=c[d+4>>2];c[m+8>>2]=c[d+8>>2];c[m+12>>2]=c[d+12>>2];c[h+212>>2]=a;c[h+216>>2]=e;c[h+68>>2]=1065353216;e=h+72|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[h+88>>2]=1065353216;e=h+92|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[h+108>>2]=1065353216;c[h+112>>2]=0;e=h+116|0;c[e>>2]=c[l>>2];c[e+4>>2]=c[l+4>>2];c[e+8>>2]=c[l+8>>2];c[e+12>>2]=c[l+12>>2];c[h+132>>2]=1065353216;e=h+136|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[h+152>>2]=1065353216;e=h+156|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[h+172>>2]=1065353216;c[h+176>>2]=0;e=h+180|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];n=+g[d>>2]-+g[b>>2];o=+g[d+4>>2]-+g[b+4>>2];p=+g[d+8>>2]-+g[b+8>>2];q=1.0/+O(+(n*n+o*o+p*p));r=n*q;n=o*q;o=p*q;q=r==0.0?999999984306749440.0:1.0/r;g[h+4>>2]=q;p=n==0.0?999999984306749440.0:1.0/n;g[h+8>>2]=p;s=o==0.0?999999984306749440.0:1.0/o;g[h+12>>2]=s;c[h+20>>2]=q<0.0&1;c[h+24>>2]=p<0.0&1;c[h+28>>2]=s<0.0&1;g[h+32>>2]=r*(+g[m>>2]-+g[l>>2])+n*(+g[h+56>>2]-+g[h+40>>2])+o*(+g[h+60>>2]-+g[h+44>>2]);l=c[a+68>>2]|0;a=c[(c[l>>2]|0)+24>>2]|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;Ib[a&7](l,b,d,h,j,k);i=f;return}function Sj(a){a=a|0;return}function Tj(a){a=a|0;Ur(a);return}function Uj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,j=0,k=0;d=i;i=i+32|0;e=d;f=a+216|0;h=c[f>>2]|0;if(+g[h+4>>2]==0.0){j=0;i=d;return j|0}k=c[b>>2]|0;if(!(Rb[c[(c[h>>2]|0)+8>>2]&31](h,c[k+188>>2]|0)|0)){j=1;i=d;return j|0}h=c[k+192>>2]|0;b=c[f>>2]|0;c[e>>2]=0;c[e+4>>2]=h;c[e+8>>2]=k;c[e+12>>2]=k+4;c[e+16>>2]=-1;c[e+20>>2]=-1;Vj(a+68|0,a+132|0,e,b);j=1;i=d;return j|0}
  104. function Vj(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var 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.0,w=0,x=0.0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,P=0.0,Q=0.0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;h=i;i=i+752|0;j=h+568|0;k=h+208|0;l=h+192|0;m=h+136|0;n=h+120|0;o=h;c[m+8>>2]=0;c[m+12>>2]=-1;c[m+16>>2]=1065353216;c[m+20>>2]=1065353216;c[m+24>>2]=1065353216;g[m+28>>2]=0.0;c[m>>2]=5564;c[m+4>>2]=8;g[m+32>>2]=0.0;g[m+48>>2]=0.0;p=c[e+4>>2]|0;q=c[e+12>>2]|0;r=p+4|0;s=c[r>>2]|0;if((s|0)<20){c[j>>2]=3840;t=j+164|0;c[j+168>>2]=0;g[j+172>>2]=0.0;u=f+4|0;c[t>>2]=c[u>>2];g[k+308>>2]=9.999999747378752e-05;a[k+332>>0]=0;c[l>>2]=6128;c[l+4>>2]=k;c[l+8>>2]=m;c[l+12>>2]=p;c[n>>2]=5904;c[n+4>>2]=k;c[n+8>>2]=m;c[n+12>>2]=p;m=(c[f+16>>2]&8|0)==0?l:n;if((Lb[c[(c[m>>2]|0)+8>>2]&3](m,b,d,q,q,j)|0?(m=j+132|0,v=+g[m>>2],w=j+136|0,x=+g[w>>2],y=j+140|0,z=+g[y>>2],A=v*v+x*x+z*z,A>9.999999747378752e-05):0)?(B=+g[t>>2],B<+g[u>>2]):0){C=1.0/+O(+A);g[m>>2]=v*C;g[w>>2]=x*C;g[y>>2]=z*C;c[o>>2]=c[e+8>>2];c[o+4>>2]=0;y=o+8|0;c[y>>2]=c[m>>2];c[y+4>>2]=c[m+4>>2];c[y+8>>2]=c[m+8>>2];c[y+12>>2]=c[m+12>>2];g[o+24>>2]=B;+Sb[c[(c[f>>2]|0)+12>>2]&15](f,o,1)}i=h;return}if((s+-21|0)>>>0<9){m=q+16|0;y=q+32|0;B=+g[q>>2];C=+g[m>>2];z=+g[y>>2];x=+g[q+4>>2];v=+g[q+20>>2];A=+g[q+36>>2];D=+g[q+8>>2];E=+g[q+24>>2];F=+g[q+40>>2];G=-+g[q+48>>2];H=-+g[q+52>>2];I=-+g[q+56>>2];J=B*G+C*H+z*I;K=x*G+v*H+A*I;L=D*G+E*H+F*I;I=+g[b+48>>2];H=+g[b+52>>2];G=+g[b+56>>2];M=J+(B*I+C*H+z*G);N=K+(x*I+v*H+A*G);P=L+(D*I+E*H+F*G);g[n>>2]=M;g[n+4>>2]=N;g[n+8>>2]=P;g[n+12>>2]=0.0;G=+g[d+48>>2];H=+g[d+52>>2];I=+g[d+56>>2];Q=J+(B*G+C*H+z*I);z=K+(x*G+v*H+A*I);A=L+(D*G+E*H+F*I);if((c[r>>2]|0)==21){r=c[e+8>>2]|0;w=c[f+16>>2]|0;u=o+4|0;c[u>>2]=c[n>>2];c[u+4>>2]=c[n+4>>2];c[u+8>>2]=c[n+8>>2];c[u+12>>2]=c[n+12>>2];g[o+20>>2]=Q;g[o+24>>2]=z;g[o+28>>2]=A;g[o+32>>2]=0.0;c[o+36>>2]=w;w=o+40|0;g[w>>2]=1.0;c[o>>2]=3868;c[o+44>>2]=f;c[o+48>>2]=r;c[o+52>>2]=p;r=o+56|0;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];c[r+8>>2]=c[q+8>>2];c[r+12>>2]=c[q+12>>2];r=o+72|0;c[r>>2]=c[m>>2];c[r+4>>2]=c[m+4>>2];c[r+8>>2]=c[m+8>>2];c[r+12>>2]=c[m+12>>2];r=o+88|0;c[r>>2]=c[y>>2];c[r+4>>2]=c[y+4>>2];c[r+8>>2]=c[y+8>>2];c[r+12>>2]=c[y+12>>2];r=o+104|0;u=q+48|0;c[r>>2]=c[u>>2];c[r+4>>2]=c[u+4>>2];c[r+8>>2]=c[u+8>>2];c[r+12>>2]=c[u+12>>2];c[w>>2]=c[f+4>>2];w=c[p+52>>2]|0;c[l>>2]=4748;c[l+4>>2]=w;c[l+8>>2]=o;o=c[p+56>>2]|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;if(!(a[o+60>>0]|0))Wp(o,l,n,Q,z,A,j,k);else Xp(o,l,n,Q,z,A,j,k,c[o+56>>2]|0)}else{o=c[e+8>>2]|0;n=c[f+16>>2]|0;g[j+4>>2]=M;g[j+8>>2]=N;g[j+12>>2]=P;g[j+16>>2]=0.0;g[j+20>>2]=Q;g[j+24>>2]=z;g[j+28>>2]=A;g[j+32>>2]=0.0;c[j+36>>2]=n;n=j+40|0;g[n>>2]=1.0;c[j>>2]=3892;c[j+44>>2]=f;c[j+48>>2]=o;c[j+52>>2]=p;o=j+56|0;c[o>>2]=c[q>>2];c[o+4>>2]=c[q+4>>2];c[o+8>>2]=c[q+8>>2];c[o+12>>2]=c[q+12>>2];o=j+72|0;c[o>>2]=c[m>>2];c[o+4>>2]=c[m+4>>2];c[o+8>>2]=c[m+8>>2];c[o+12>>2]=c[m+12>>2];m=j+88|0;c[m>>2]=c[y>>2];c[m+4>>2]=c[y+4>>2];c[m+8>>2]=c[y+8>>2];c[m+12>>2]=c[y+12>>2];y=j+104|0;m=q+48|0;c[y>>2]=c[m>>2];c[y+4>>2]=c[m+4>>2];c[y+8>>2]=c[m+8>>2];c[y+12>>2]=c[m+12>>2];c[n>>2]=c[f+4>>2];g[k>>2]=M;n=k+4|0;g[n>>2]=N;m=k+8|0;g[m>>2]=P;g[k+12>>2]=0.0;if(Q<M)g[k>>2]=Q;if(z<N)g[n>>2]=z;if(A<P)g[m>>2]=A;g[l>>2]=M;m=l+4|0;g[m>>2]=N;n=l+8|0;g[n>>2]=P;g[l+12>>2]=0.0;if(M<Q)g[l>>2]=Q;if(N<z)g[m>>2]=z;if(P<A)g[n>>2]=A;ec[c[(c[p>>2]|0)+64>>2]&63](p,j,k,l)}i=h;return}if((s|0)!=31){i=h;return}s=c[p+68>>2]|0;l=c[e+8>>2]|0;c[k>>2]=3916;c[k+4>>2]=l;c[k+8>>2]=p;c[k+12>>2]=q;c[k+16>>2]=b;c[k+20>>2]=d;c[k+24>>2]=f;if(!s){f=c[p+20>>2]|0;if((f|0)>0){p=0;do{fk(k,p);p=p+1|0}while((p|0)<(f|0))}}else{A=+g[q+48>>2];P=+g[b+48>>2]-A;z=+g[q+52>>2];N=+g[b+52>>2]-z;Q=+g[q+56>>2];M=+g[b+56>>2]-Q;I=+g[q>>2];F=+g[q+16>>2];H=+g[q+32>>2];E=+g[q+4>>2];G=+g[q+20>>2];D=+g[q+36>>2];L=+g[q+8>>2];v=+g[q+24>>2];x=+g[q+40>>2];K=P*I+N*F+M*H;C=P*E+N*G+M*D;B=P*L+N*v+M*x;M=+g[d+48>>2]-A;A=+g[d+52>>2]-z;z=+g[d+56>>2]-Q;d=c[s>>2]|0;if(d|0){Q=M*I+A*F+z*H-K;H=M*E+A*G+z*D-C;D=M*L+A*v+z*x-B;x=1.0/+O(+(Q*Q+H*H+D*D));z=Q*x;v=H*x;A=D*x;x=z==0.0?999999984306749440.0:1.0/z;L=v==0.0?999999984306749440.0:1.0/v;M=A==0.0?999999984306749440.0:1.0/A;c[4350]=(c[4350]|0)+1;s=Tr(531)|0;if(!s)R=0;else{q=s+4+15&-16;c[q+-4>>2]=s;R=q}Bs(R|0,0,512)|0;q=x<0.0&1;s=L<0.0&1;b=M<0.0&1;G=z*Q+v*H+A*D;c[R>>2]=d;d=j+16|0;f=j+(q<<4)|0;p=j+((q^1)<<4)|0;q=j+(s<<4)+4|0;l=j+((s^1)<<4)+4|0;s=j+(b<<4)+8|0;e=j+((b^1)<<4)+8|0;b=1;n=128;m=128;y=R;R=126;while(1){o=b+-1|0;w=c[y+(o<<2)>>2]|0;c[j>>2]=c[w>>2];c[j+4>>2]=c[w+4>>2];c[j+8>>2]=c[w+8>>2];c[j+12>>2]=c[w+12>>2];u=w+16|0;c[d>>2]=c[u>>2];c[d+4>>2]=c[u+4>>2];c[d+8>>2]=c[u+8>>2];c[d+12>>2]=c[u+12>>2];D=x*(+g[f>>2]-K);A=x*(+g[p>>2]-K);H=L*(+g[q>>2]-C);v=L*(+g[l>>2]-C);do if((!(H>A|D>v)?(Q=H>D?H:D,z=v<A?v:A,E=M*(+g[s>>2]-B),F=M*(+g[e>>2]-B),!(E>z|Q>F)):0)?((F<z?F:z)>0.0?(E>Q?E:Q)<G:0):0){u=w+40|0;if(!(c[u>>2]|0)){xb[c[(c[k>>2]|0)+12>>2]&127](k,w);S=o;T=n;U=m;V=y;W=R;break}if((o|0)>(R|0)){r=m<<1;if((m|0)<(r|0)){do if((n|0)<(r|0)){do if(!m){X=0;Y=45}else{c[4350]=(c[4350]|0)+1;t=Tr((m<<3|3)+16|0)|0;if(!t)Z=0;else{_=t+4+15&-16;c[_+-4>>2]=t;Z=_}if((m|0)>0)$=0;else{X=Z;Y=45;break}do{c[Z+($<<2)>>2]=c[y+($<<2)>>2];$=$+1|0}while(($|0)!=(m|0));aa=Z}while(0);if((Y|0)==45){Y=0;if(!y){ba=r;ca=X;break}else aa=X}c[4351]=(c[4351]|0)+1;Ur(c[y+-4>>2]|0);ba=r;ca=aa}else{ba=n;ca=y}while(0);Bs(ca+(m<<2)|0,0,m<<2|0)|0;da=ba;ea=ca}else{da=n;ea=y}fa=da;ga=r;ha=ea;ia=r+-2|0}else{fa=n;ga=m;ha=y;ia=R}c[ha+(o<<2)>>2]=c[w+36>>2];c[ha+(b<<2)>>2]=c[u>>2];S=b+1|0;T=fa;U=ga;V=ha;W=ia}else{S=o;T=n;U=m;V=y;W=R}while(0);if(!S)break;else{b=S;n=T;m=U;y=V;R=W}}if(V|0){c[4351]=(c[4351]|0)+1;Ur(c[V+-4>>2]|0)}}}i=h;return}function Wj(a,b){a=a|0;b=+b;return}function Xj(a,b){a=a|0;b=b|0;return}function Yj(a,b,c){a=a|0;b=b|0;c=c|0;return}function Zj(a){a=a|0;return}function _j(a){a=a|0;Ur(a);return}function $j(a){a=a|0;Ur(a);return}function ak(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var h=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;h=i;i=i+48|0;j=h+32|0;k=h;c[j>>2]=e;c[j+4>>2]=f;l=+g[b>>2];m=+g[b+4>>2];n=+g[b+8>>2];o=+g[a+56>>2]*l+ +g[a+60>>2]*m+ +g[a+64>>2]*n;p=l*+g[a+72>>2]+m*+g[a+76>>2]+n*+g[a+80>>2];q=l*+g[a+88>>2]+m*+g[a+92>>2]+n*+g[a+96>>2];c[k>>2]=c[a+48>>2];c[k+4>>2]=j;g[k+8>>2]=o;g[k+12>>2]=p;g[k+16>>2]=q;g[k+20>>2]=0.0;g[k+24>>2]=d;j=c[a+44>>2]|0;d=+Sb[c[(c[j>>2]|0)+12>>2]&15](j,k,1);i=h;return +d}function bk(a){a=a|0;Ur(a);return}function ck(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var h=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;h=i;i=i+48|0;j=h+32|0;k=h;c[j>>2]=e;c[j+4>>2]=f;l=+g[b>>2];m=+g[b+4>>2];n=+g[b+8>>2];o=+g[a+56>>2]*l+ +g[a+60>>2]*m+ +g[a+64>>2]*n;p=l*+g[a+72>>2]+m*+g[a+76>>2]+n*+g[a+80>>2];q=l*+g[a+88>>2]+m*+g[a+92>>2]+n*+g[a+96>>2];c[k>>2]=c[a+48>>2];c[k+4>>2]=j;g[k+8>>2]=o;g[k+12>>2]=p;g[k+16>>2]=q;g[k+20>>2]=0.0;g[k+24>>2]=d;j=c[a+44>>2]|0;d=+Sb[c[(c[j>>2]|0)+12>>2]&15](j,k,1);i=h;return +d}function dk(a){a=a|0;Ur(a);return}function ek(a,b){a=a|0;b=b|0;fk(a,c[b+36>>2]|0);return}function fk(a,d){a=a|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.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,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0;e=i;i=i+128|0;f=e+56|0;h=e+32|0;j=e;k=c[(c[a+8>>2]|0)+28>>2]|0;l=c[k+(d*80|0)+64>>2]|0;m=c[a+12>>2]|0;n=+g[k+(d*80|0)>>2];o=+g[m>>2];p=+g[k+(d*80|0)+16>>2];q=+g[m+4>>2];r=+g[k+(d*80|0)+32>>2];s=+g[m+8>>2];t=+g[k+(d*80|0)+4>>2];u=+g[k+(d*80|0)+20>>2];v=+g[k+(d*80|0)+36>>2];w=+g[k+(d*80|0)+8>>2];x=+g[k+(d*80|0)+24>>2];y=+g[k+(d*80|0)+40>>2];z=+g[m+16>>2];A=+g[m+20>>2];B=+g[m+24>>2];C=+g[m+32>>2];D=+g[m+36>>2];E=+g[m+40>>2];F=+g[k+(d*80|0)+48>>2];G=+g[k+(d*80|0)+52>>2];H=+g[k+(d*80|0)+56>>2];I=+g[m+48>>2]+(o*F+q*G+s*H);J=z*F+A*G+B*H+ +g[m+52>>2];K=C*F+D*G+E*H+ +g[m+56>>2];g[f>>2]=n*o+p*q+r*s;g[f+4>>2]=o*t+q*u+s*v;g[f+8>>2]=o*w+q*x+s*y;g[f+12>>2]=0.0;g[f+16>>2]=n*z+p*A+r*B;g[f+20>>2]=t*z+u*A+v*B;g[f+24>>2]=w*z+x*A+y*B;g[f+28>>2]=0.0;g[f+32>>2]=n*C+p*D+r*E;g[f+36>>2]=t*C+u*D+v*E;g[f+40>>2]=w*C+x*D+y*E;g[f+44>>2]=0.0;g[f+48>>2]=I;g[f+52>>2]=J;g[f+56>>2]=K;g[f+60>>2]=0.0;m=c[a+4>>2]|0;c[h>>2]=0;c[h+4>>2]=l;c[h+8>>2]=m;c[h+12>>2]=f;c[h+16>>2]=-1;c[h+20>>2]=d;f=c[a+24>>2]|0;m=j+4|0;g[m>>2]=1.0;c[j+8>>2]=0;b[j+12>>1]=1;b[j+14>>1]=-1;l=j+16|0;c[l>>2]=0;c[j>>2]=3952;c[j+20>>2]=f;c[j+24>>2]=d;c[m>>2]=c[f+4>>2];c[l>>2]=c[f+16>>2];Vj(c[a+16>>2]|0,c[a+20>>2]|0,h,j);i=e;return}function gk(a){a=a|0;Ur(a);return}function hk(a,b){a=a|0;b=b|0;var d=0;d=c[a+20>>2]|0;return Rb[c[(c[d>>2]|0)+8>>2]&31](d,b)|0}function ik(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0.0;e=i;i=i+16|0;f=e;c[f>>2]=-1;c[f+4>>2]=c[a+24>>2];g=b+4|0;if(!(c[g>>2]|0))c[g>>2]=f;f=a+20|0;g=c[f>>2]|0;h=+Sb[c[(c[g>>2]|0)+12>>2]&15](g,b,d);c[a+4>>2]=c[(c[f>>2]|0)+4>>2];i=e;return +h}function jk(b,d,e,f){b=b|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;g=i;i=i+96|0;h=g+32|0;j=g+16|0;k=g;l=d;m=b+8|0;n=c[m>>2]|0;o=b+12|0;if((n|0)==(c[o>>2]|0)?(p=n|0?n<<1:1,(n|0)<(p|0)):0){if(!p){q=0;r=n}else{c[4350]=(c[4350]|0)+1;s=Tr((p<<2|3)+16|0)|0;if(!s)t=0;else{u=s+4+15&-16;c[u+-4>>2]=s;t=u}q=t;r=c[m>>2]|0}t=b+16|0;if((r|0)>0){u=0;do{c[q+(u<<2)>>2]=c[(c[t>>2]|0)+(u<<2)>>2];u=u+1|0}while((u|0)!=(r|0))}u=c[t>>2]|0;s=b+20|0;if(!u)v=r;else{if(!(a[s>>0]|0))w=r;else{c[4351]=(c[4351]|0)+1;Ur(c[u+-4>>2]|0);w=c[m>>2]|0}c[t>>2]=0;v=w}a[s>>0]=1;c[t>>2]=q;c[o>>2]=p;x=v}else x=n;c[(c[b+16>>2]|0)+(x<<2)>>2]=l;c[m>>2]=x+1;x=d+4|0;c[h>>2]=c[x>>2];c[h+4>>2]=c[x+4>>2];c[h+8>>2]=c[x+8>>2];c[h+12>>2]=c[x+12>>2];x=h+16|0;m=d+20|0;c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];c[x+8>>2]=c[m+8>>2];c[x+12>>2]=c[m+12>>2];m=h+32|0;x=d+36|0;c[m>>2]=c[x>>2];c[m+4>>2]=c[x+4>>2];c[m+8>>2]=c[x+8>>2];c[m+12>>2]=c[x+12>>2];x=h+48|0;m=d+52|0;c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];c[x+8>>2]=c[m+8>>2];c[x+12>>2]=c[m+12>>2];m=d+192|0;x=c[m>>2]|0;ec[c[(c[x>>2]|0)+8>>2]&63](x,h,j,k);h=c[b+68>>2]|0;c[d+188>>2]=_b[c[(c[h>>2]|0)+8>>2]&1](h,j,k,c[(c[m>>2]|0)+4>>2]|0,d,e,f,c[b+24>>2]|0,0)|0;i=g;return}function kk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=d+188|0;f=c[e>>2]|0;if(f|0){g=b+68|0;h=c[g>>2]|0;i=zb[c[(c[h>>2]|0)+36>>2]&127](h)|0;h=b+24|0;ac[c[(c[i>>2]|0)+40>>2]&63](i,f,c[h>>2]|0);i=c[g>>2]|0;ac[c[(c[i>>2]|0)+12>>2]&63](i,f,c[h>>2]|0);c[e>>2]=0}e=b+8|0;h=c[e>>2]|0;if((h|0)<=0)return;f=b+16|0;b=c[f>>2]|0;i=0;while(1){j=b+(i<<2)|0;if((c[j>>2]|0)==(d|0))break;g=i+1|0;if((g|0)<(h|0))i=g;else{k=9;break}}if((k|0)==9)return;if((i|0)>=(h|0))return;i=d;d=h+-1|0;c[j>>2]=c[b+(d<<2)>>2];b=(c[f>>2]|0)+(d<<2)|0;a[b>>0]=i;a[b+1>>0]=i>>8;a[b+2>>0]=i>>16;a[b+3>>0]=i>>24;c[e>>2]=(c[e>>2]|0)+-1;return}function lk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;vb[c[(c[a>>2]|0)+8>>2]&255](a);vb[c[(c[a>>2]|0)+12>>2]&255](a);b=a+24|0;d=c[b>>2]|0;if(!d)return;e=c[(c[d>>2]|0)+32>>2]|0;f=c[a+68>>2]|0;g=zb[c[(c[f>>2]|0)+36>>2]&127](f)|0;ec[e&63](d,g,a+28|0,c[b>>2]|0);return}function mk(a,b){a=a|0;b=b|0;vb[c[(c[b>>2]|0)+32>>2]&255](b);nk(a,b);vb[c[(c[b>>2]|0)+36>>2]&255](b);return}function nk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,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,$=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;e=i;i=i+80|0;f=e;g=f+16|0;a[g>>0]=1;h=f+12|0;c[h>>2]=0;j=f+4|0;c[j>>2]=0;k=f+8|0;c[k>>2]=0;l=f+36|0;a[l>>0]=1;m=f+32|0;c[m>>2]=0;n=f+24|0;c[n>>2]=0;o=f+28|0;c[o>>2]=0;p=f+56|0;a[p>>0]=1;q=f+52|0;c[q>>2]=0;r=f+44|0;c[r>>2]=0;s=f+48|0;c[s>>2]=0;t=f+76|0;a[t>>0]=1;u=f+72|0;c[u>>2]=0;v=f+64|0;c[v>>2]=0;w=f+68|0;c[w>>2]=0;x=b+8|0;y=c[x>>2]|0;if((y|0)<=0){ok(f);i=e;return}z=b+16|0;b=y;y=0;A=0;B=0;C=0;D=0;while(1){E=c[(c[(c[z>>2]|0)+(D<<2)>>2]|0)+192>>2]|0;F=E;G=F+~(F<<15)|0;H=(G>>10^G)*9|0;G=H>>6^H;H=G+~(G<<11)|0;G=H>>16^H;H=G&y+-1;I=H>>>0<A>>>0;a:do if(I){J=c[B+(H<<2)>>2]|0;if((J|0)!=-1){K=c[u>>2]|0;L=J;while(1){if((E|0)==(c[K+(L<<3)>>2]|0)){M=9;break}J=c[C+(L<<2)>>2]|0;if((J|0)==-1)break;else L=J}if((M|0)==9?(M=0,(c[q>>2]|0)+(L<<2)|0):0){N=y;O=b;P=C;Q=B;break}if(!I){M=16;break}}K=c[B+(H<<2)>>2]|0;if((K|0)!=-1){J=c[u>>2]|0;R=K;while(1){if((E|0)==(c[J+(R<<3)>>2]|0))break;K=c[C+(R<<2)>>2]|0;if((K|0)==-1){M=16;break a}else R=K}c[(c[q>>2]|0)+(R<<2)>>2]=F;S=y;T=C;U=B;M=78}else M=16}else M=16;while(0);if((M|0)==16){M=0;I=c[r>>2]|0;if((I|0)==(y|0)){J=y|0?y<<1:1;if((y|0)<(J|0)){if((J|0)!=0?(c[4350]=(c[4350]|0)+1,L=Tr((J<<2|3)+16|0)|0,(L|0)!=0):0){K=L+4+15&-16;c[K+-4>>2]=L;V=K}else V=0;if((y|0)>0){K=0;do{c[V+(K<<2)>>2]=c[(c[q>>2]|0)+(K<<2)>>2];K=K+1|0}while((K|0)!=(y|0))}K=c[q>>2]|0;if(K|0){if(a[p>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[K+-4>>2]|0)}c[q>>2]=0}a[p>>0]=1;c[q>>2]=V;c[s>>2]=J;W=y;X=J}else{W=y;X=y}}else{W=I;X=y}c[(c[q>>2]|0)+(W<<2)>>2]=F;c[r>>2]=W+1;K=c[v>>2]|0;if((K|0)==(c[w>>2]|0)?(L=K|0?K<<1:1,(K|0)<(L|0)):0){if((L|0)!=0?(c[4350]=(c[4350]|0)+1,Y=Tr((L<<3|3)+16|0)|0,(Y|0)!=0):0){Z=Y+4+15&-16;c[Z+-4>>2]=Y;_=Z}else _=0;if((K|0)>0){Z=0;do{Y=(c[u>>2]|0)+(Z<<3)|0;$=c[Y+4>>2]|0;aa=_+(Z<<3)|0;c[aa>>2]=c[Y>>2];c[aa+4>>2]=$;Z=Z+1|0}while((Z|0)!=(K|0))}Z=c[u>>2]|0;if(Z|0){if(a[t>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[Z+-4>>2]|0)}c[u>>2]=0}a[t>>0]=1;c[u>>2]=_;c[w>>2]=L;ba=c[v>>2]|0;ca=c[s>>2]|0}else{ba=K;ca=X}Z=(c[u>>2]|0)+(ba<<3)|0;c[Z>>2]=F;c[Z+4>>2]=0;c[v>>2]=ba+1;if((y|0)<(ca|0)){Z=c[j>>2]|0;do if((ca|0)>(Z|0)){if((ca|0)>=(Z|0)){do if((c[k>>2]|0)<(ca|0)){if((ca|0)!=0?(c[4350]=(c[4350]|0)+1,J=Tr((ca<<2|3)+16|0)|0,(J|0)!=0):0){$=J+4+15&-16;c[$+-4>>2]=J;da=$}else da=0;$=c[h>>2]|0;if((Z|0)<=0){if(!$){a[g>>0]=1;c[h>>2]=da;c[k>>2]=ca;ea=da;break}}else{J=0;do{c[da+(J<<2)>>2]=c[$+(J<<2)>>2];J=J+1|0}while((J|0)!=(Z|0))}if(a[g>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[$+-4>>2]|0)}a[g>>0]=1;c[h>>2]=da;c[k>>2]=ca;ea=da}else ea=c[h>>2]|0;while(0);Bs(ea+(Z<<2)|0,0,ca-Z<<2|0)|0}c[j>>2]=ca;R=c[n>>2]|0;if((ca|0)>(R|0)){do if((c[o>>2]|0)<(ca|0)){if((ca|0)!=0?(c[4350]=(c[4350]|0)+1,J=Tr((ca<<2|3)+16|0)|0,(J|0)!=0):0){aa=J+4+15&-16;c[aa+-4>>2]=J;fa=aa}else fa=0;aa=c[m>>2]|0;if((R|0)<=0){if(!aa){a[l>>0]=1;c[m>>2]=fa;c[o>>2]=ca;ga=fa;break}}else{J=0;do{c[fa+(J<<2)>>2]=c[aa+(J<<2)>>2];J=J+1|0}while((J|0)!=(R|0))}if(a[l>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[aa+-4>>2]|0)}a[l>>0]=1;c[m>>2]=fa;c[o>>2]=ca;ga=fa}else ga=c[m>>2]|0;while(0);Bs(ga+(R<<2)|0,0,ca-R<<2|0)|0}c[n>>2]=ca;if((ca|0)>0){J=ca<<2;Bs(c[h>>2]|0,-1,J|0)|0;Bs(c[m>>2]|0,-1,J|0)|0}if((Z|0)<=0){ha=c[s>>2]|0;break}J=c[u>>2]|0;$=c[h>>2]|0;Y=c[m>>2]|0;ia=c[s>>2]|0;ja=0;do{ka=c[J+(ja<<3)>>2]|0;la=ka+~(ka<<15)|0;ka=(la>>10^la)*9|0;la=ka>>6^ka;ka=la+~(la<<11)|0;la=$+(((ka>>16^ka)&ia+-1)<<2)|0;c[Y+(ja<<2)>>2]=c[la>>2];c[la>>2]=ja;ja=ja+1|0}while((ja|0)!=(Z|0));ha=ia}else ha=ca;while(0);ma=ha;na=G&ha+-1}else{ma=ca;na=H}Z=c[h>>2]|0;F=Z+(na<<2)|0;K=c[m>>2]|0;c[K+(I<<2)>>2]=c[F>>2];c[F>>2]=I;S=ma;T=K;U=Z;M=78}if((M|0)==78){M=0;xb[c[(c[E>>2]|0)+60>>2]&127](E,d);N=S;O=c[x>>2]|0;P=T;Q=U}Z=D+1|0;if((Z|0)>=(O|0))break;b=O;y=N;A=c[j>>2]|0;B=Q;C=P;D=Z}if((O|0)>0){oa=O;pa=0}else{ok(f);i=e;return}while(1){O=c[(c[z>>2]|0)+(pa<<2)>>2]|0;if((c[O+236>>2]|0)==1){xb[c[(c[O>>2]|0)+24>>2]&127](O,d);qa=c[x>>2]|0}else qa=oa;pa=pa+1|0;if((pa|0)>=(qa|0))break;else oa=qa}ok(f);i=e;return}function ok(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=b+64|0;e=b+72|0;f=c[e>>2]|0;g=b+76|0;if(f|0){if(a[g>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[f+-4>>2]|0)}c[e>>2]=0}a[g>>0]=1;c[e>>2]=0;c[d>>2]=0;c[b+68>>2]=0;d=b+44|0;e=b+52|0;g=c[e>>2]|0;f=b+56|0;if(g|0){if(a[f>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[g+-4>>2]|0)}c[e>>2]=0}a[f>>0]=1;c[e>>2]=0;c[d>>2]=0;c[b+48>>2]=0;d=b+24|0;e=b+32|0;f=c[e>>2]|0;g=b+36|0;if(f|0){if(a[g>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[f+-4>>2]|0)}c[e>>2]=0}a[g>>0]=1;c[e>>2]=0;c[d>>2]=0;c[b+28>>2]=0;d=b+4|0;e=b+12|0;g=c[e>>2]|0;f=b+16|0;if(!g){a[f>>0]=1;c[e>>2]=0;c[d>>2]=0;h=b+8|0;c[h>>2]=0;return}if(a[f>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[g+-4>>2]|0)}c[e>>2]=0;a[f>>0]=1;c[e>>2]=0;c[d>>2]=0;h=b+8|0;c[h>>2]=0;return}function pk(d,e,f,h,j,k){d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=+k;var 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.0,z=0,A=0.0,B=0,C=0.0,D=0.0,E=0.0,F=0.0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0.0,ra=0.0,sa=0.0,ta=0.0,ua=0.0,va=0.0,wa=0,xa=0.0,ya=0.0,za=0.0,Aa=0.0,Ba=0.0,Ca=0.0,Da=0.0,Ea=0.0,Fa=0.0,Ga=0.0,Ha=0.0,Ia=0.0,Ja=0.0,Ka=0.0,La=0.0,Ma=0.0,Na=0.0,Oa=0.0;l=i;i=i+896|0;m=l+712|0;n=l+352|0;o=l+288|0;p=l+64|0;q=l+16|0;r=l;s=c[h+4>>2]|0;t=c[h+12>>2]|0;u=c[s+4>>2]|0;if((u|0)<20){c[m>>2]=3840;v=m+164|0;c[m+168>>2]=0;g[m+172>>2]=k;w=j+4|0;c[v>>2]=c[w>>2];g[n+308>>2]=9.999999747378752e-05;a[n+332>>0]=0;c[o>>2]=5924;c[p>>2]=5856;c[p+4>>2]=n;c[p+8>>2]=o;c[p+12>>2]=d;c[p+16>>2]=s;c[p+20>>2]=0;if((Yo(p,e,f,t,t,m)|0?(x=m+132|0,y=+g[x>>2],z=m+136|0,A=+g[z>>2],B=m+140|0,C=+g[B>>2],D=y*y+A*A+C*C,D>9.999999747378752e-05):0)?(E=+g[v>>2],E<+g[w>>2]):0){F=1.0/+O(+D);g[x>>2]=y*F;g[z>>2]=A*F;g[B>>2]=C*F;B=m+148|0;c[q>>2]=c[h+8>>2];c[q+4>>2]=0;z=q+8|0;c[z>>2]=c[x>>2];c[z+4>>2]=c[x+4>>2];c[z+8>>2]=c[x+8>>2];c[z+12>>2]=c[x+12>>2];x=q+24|0;c[x>>2]=c[B>>2];c[x+4>>2]=c[B+4>>2];c[x+8>>2]=c[B+8>>2];c[x+12>>2]=c[B+12>>2];g[q+40>>2]=E;+Sb[c[(c[j>>2]|0)+12>>2]&15](j,q,1)}i=l;return}if((u+-21|0)>>>0>=9){if((u|0)!=31){i=l;return}B=s+20|0;if((c[B>>2]|0)<=0){i=l;return}x=s+28|0;z=t+4|0;w=t+8|0;v=t+16|0;G=t+20|0;H=t+24|0;I=t+32|0;J=t+36|0;K=t+40|0;L=t+48|0;M=t+52|0;N=t+56|0;P=m+4|0;Q=m+8|0;R=m+12|0;S=m+16|0;T=m+20|0;U=m+24|0;V=m+28|0;W=m+32|0;X=m+36|0;Y=m+40|0;Z=m+44|0;_=m+48|0;$=m+52|0;aa=m+56|0;ba=m+60|0;ca=n+4|0;da=n+8|0;ea=n+10|0;fa=n+12|0;ga=n+16|0;ha=j+4|0;ia=h+8|0;ja=o+4|0;ka=o+8|0;la=o+12|0;ma=o+16|0;na=o+20|0;oa=0;do{pa=c[x>>2]|0;E=+g[pa+(oa*80|0)>>2];F=+g[pa+(oa*80|0)+4>>2];C=+g[pa+(oa*80|0)+8>>2];A=+g[pa+(oa*80|0)+16>>2];y=+g[pa+(oa*80|0)+20>>2];D=+g[pa+(oa*80|0)+24>>2];qa=+g[pa+(oa*80|0)+32>>2];ra=+g[pa+(oa*80|0)+36>>2];sa=+g[pa+(oa*80|0)+40>>2];ta=+g[pa+(oa*80|0)+48>>2];ua=+g[pa+(oa*80|0)+52>>2];va=+g[pa+(oa*80|0)+56>>2];wa=c[pa+(oa*80|0)+64>>2]|0;xa=+g[t>>2];ya=+g[z>>2];za=+g[w>>2];Aa=+g[v>>2];Ba=+g[G>>2];Ca=+g[H>>2];Da=+g[I>>2];Ea=+g[J>>2];Fa=+g[K>>2];Ga=ta*xa+ua*ya+va*za+ +g[L>>2];Ha=ta*Aa+ua*Ba+va*Ca+ +g[M>>2];Ia=ta*Da+ua*Ea+va*Fa+ +g[N>>2];g[m>>2]=E*xa+A*ya+qa*za;g[P>>2]=F*xa+y*ya+ra*za;g[Q>>2]=C*xa+D*ya+sa*za;g[R>>2]=0.0;g[S>>2]=E*Aa+A*Ba+qa*Ca;g[T>>2]=F*Aa+y*Ba+ra*Ca;g[U>>2]=C*Aa+D*Ba+sa*Ca;g[V>>2]=0.0;g[W>>2]=E*Da+A*Ea+qa*Fa;g[X>>2]=F*Da+y*Ea+ra*Fa;g[Y>>2]=C*Da+D*Ea+sa*Fa;g[Z>>2]=0.0;g[_>>2]=Ga;g[$>>2]=Ha;g[aa>>2]=Ia;g[ba>>2]=0.0;b[da>>1]=1;b[ea>>1]=-1;c[n>>2]=4024;c[fa>>2]=j;c[ga>>2]=oa;c[ca>>2]=c[ha>>2];pa=c[ia>>2]|0;c[o>>2]=h;c[ja>>2]=wa;c[ka>>2]=pa;c[la>>2]=m;c[ma>>2]=-1;c[na>>2]=oa;pk(d,e,f,o,n,k);oa=oa+1|0}while((oa|0)<(c[B>>2]|0));i=l;return}switch(u|0){case 21:{Ia=+g[t>>2];Ha=+g[t+16>>2];Ga=+g[t+32>>2];Fa=+g[t+4>>2];sa=+g[t+20>>2];Ea=+g[t+36>>2];D=+g[t+8>>2];Da=+g[t+24>>2];C=+g[t+40>>2];ra=-+g[t+48>>2];y=-+g[t+52>>2];F=-+g[t+56>>2];qa=Ia*ra+Ha*y+Ga*F;A=Fa*ra+sa*y+Ea*F;E=D*ra+Da*y+C*F;F=+g[e+48>>2];y=+g[e+52>>2];ra=+g[e+56>>2];g[n>>2]=qa+(Ia*F+Ha*y+Ga*ra);g[n+4>>2]=A+(Fa*F+sa*y+Ea*ra);g[n+8>>2]=E+(D*F+Da*y+C*ra);g[n+12>>2]=0.0;ra=+g[f+48>>2];y=+g[f+52>>2];F=+g[f+56>>2];Ca=qa+(Ia*ra+Ha*y+Ga*F);qa=A+(Fa*ra+sa*y+Ea*F);A=E+(D*ra+Da*y+C*F);F=+g[f>>2];y=+g[f+16>>2];ra=+g[f+32>>2];E=+g[f+4>>2];Ba=+g[f+20>>2];Aa=+g[f+36>>2];za=+g[f+8>>2];ya=+g[f+24>>2];xa=+g[f+40>>2];g[o>>2]=Ia*F+Ha*y+Ga*ra;g[o+4>>2]=Ia*E+Ha*Ba+Ga*Aa;g[o+8>>2]=Ia*za+Ha*ya+Ga*xa;g[o+12>>2]=0.0;g[o+16>>2]=Fa*F+sa*y+Ea*ra;g[o+20>>2]=Fa*E+sa*Ba+Ea*Aa;g[o+24>>2]=Fa*za+sa*ya+Ea*xa;g[o+28>>2]=0.0;g[o+32>>2]=D*F+Da*y+C*ra;g[o+36>>2]=D*E+Da*Ba+C*Aa;g[o+40>>2]=D*za+Da*ya+C*xa;u=o+44|0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;u=c[h+8>>2]|0;xa=+Kb[c[(c[s>>2]|0)+48>>2]&7](s);c[p>>2]=5968;B=p+8|0;oa=p+72|0;na=p+136|0;c[p+4>>2]=d;c[B>>2]=c[e>>2];c[B+4>>2]=c[e+4>>2];c[B+8>>2]=c[e+8>>2];c[B+12>>2]=c[e+12>>2];B=p+24|0;ma=e+16|0;c[B>>2]=c[ma>>2];c[B+4>>2]=c[ma+4>>2];c[B+8>>2]=c[ma+8>>2];c[B+12>>2]=c[ma+12>>2];ma=p+40|0;B=e+32|0;c[ma>>2]=c[B>>2];c[ma+4>>2]=c[B+4>>2];c[ma+8>>2]=c[B+8>>2];c[ma+12>>2]=c[B+12>>2];B=p+56|0;ma=e+48|0;c[B>>2]=c[ma>>2];c[B+4>>2]=c[ma+4>>2];c[B+8>>2]=c[ma+8>>2];c[B+12>>2]=c[ma+12>>2];c[oa>>2]=c[f>>2];c[oa+4>>2]=c[f+4>>2];c[oa+8>>2]=c[f+8>>2];c[oa+12>>2]=c[f+12>>2];oa=p+88|0;ma=f+16|0;c[oa>>2]=c[ma>>2];c[oa+4>>2]=c[ma+4>>2];c[oa+8>>2]=c[ma+8>>2];c[oa+12>>2]=c[ma+12>>2];ma=p+104|0;oa=f+32|0;c[ma>>2]=c[oa>>2];c[ma+4>>2]=c[oa+4>>2];c[ma+8>>2]=c[oa+8>>2];c[ma+12>>2]=c[oa+12>>2];oa=p+120|0;ma=f+48|0;c[oa>>2]=c[ma>>2];c[oa+4>>2]=c[ma+4>>2];c[oa+8>>2]=c[ma+8>>2];c[oa+12>>2]=c[ma+12>>2];c[na>>2]=c[t>>2];c[na+4>>2]=c[t+4>>2];c[na+8>>2]=c[t+8>>2];c[na+12>>2]=c[t+12>>2];na=p+152|0;ma=t+16|0;c[na>>2]=c[ma>>2];c[na+4>>2]=c[ma+4>>2];c[na+8>>2]=c[ma+8>>2];c[na+12>>2]=c[ma+12>>2];ma=p+168|0;na=t+32|0;c[ma>>2]=c[na>>2];c[ma+4>>2]=c[na+4>>2];c[ma+8>>2]=c[na+8>>2];c[ma+12>>2]=c[na+12>>2];na=p+184|0;ma=t+48|0;c[na>>2]=c[ma>>2];c[na+4>>2]=c[ma+4>>2];c[na+8>>2]=c[ma+8>>2];c[na+12>>2]=c[ma+12>>2];g[p+204>>2]=xa;c[p>>2]=3976;c[p+212>>2]=j;c[p+216>>2]=u;c[p+220>>2]=s;c[p+200>>2]=c[j+4>>2];g[p+208>>2]=k;ec[c[(c[d>>2]|0)+8>>2]&63](d,o,q,r);u=c[s+52>>2]|0;c[m>>2]=4768;c[m+4>>2]=u;c[m+8>>2]=p;u=c[s+56>>2]|0;if(!(a[u+60>>0]|0))Wp(u,m,n,Ca,qa,A,q,r);else Xp(u,m,n,Ca,qa,A,q,r,c[u+56>>2]|0);i=l;return}case 28:{c[m>>2]=3840;u=m+164|0;c[m+168>>2]=0;g[m+172>>2]=k;ma=j+4|0;c[u>>2]=c[ma>>2];c[n>>2]=5856;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=d;c[n+16>>2]=0;c[n+20>>2]=s;if((Yo(n,e,f,t,t,m)|0?(na=m+132|0,A=+g[na>>2],oa=m+136|0,qa=+g[oa>>2],B=m+140|0,Ca=+g[B>>2],xa=A*A+qa*qa+Ca*Ca,xa>9.999999747378752e-05):0)?(C=+g[u>>2],C<+g[ma>>2]):0){ya=1.0/+O(+xa);g[na>>2]=A*ya;g[oa>>2]=qa*ya;g[B>>2]=Ca*ya;B=m+148|0;c[o>>2]=c[h+8>>2];c[o+4>>2]=0;oa=o+8|0;c[oa>>2]=c[na>>2];c[oa+4>>2]=c[na+4>>2];c[oa+8>>2]=c[na+8>>2];c[oa+12>>2]=c[na+12>>2];na=o+24|0;c[na>>2]=c[B>>2];c[na+4>>2]=c[B+4>>2];c[na+8>>2]=c[B+8>>2];c[na+12>>2]=c[B+12>>2];g[o+40>>2]=C;+Sb[c[(c[j>>2]|0)+12>>2]&15](j,o,1)}i=l;return}default:{C=+g[t>>2];ya=+g[t+16>>2];Ca=+g[t+32>>2];qa=+g[t+4>>2];A=+g[t+20>>2];xa=+g[t+36>>2];Da=+g[t+8>>2];za=+g[t+24>>2];D=+g[t+40>>2];Aa=-+g[t+48>>2];Ba=-+g[t+52>>2];E=-+g[t+56>>2];ra=C*Aa+ya*Ba+Ca*E;y=qa*Aa+A*Ba+xa*E;F=Da*Aa+za*Ba+D*E;E=+g[e+48>>2];Ba=+g[e+52>>2];Aa=+g[e+56>>2];Ea=ra+(C*E+ya*Ba+Ca*Aa);sa=y+(qa*E+A*Ba+xa*Aa);Fa=F+(Da*E+za*Ba+D*Aa);Aa=+g[f+48>>2];Ba=+g[f+52>>2];E=+g[f+56>>2];Ga=ra+(C*Aa+ya*Ba+Ca*E);ra=y+(qa*Aa+A*Ba+xa*E);y=F+(Da*Aa+za*Ba+D*E);E=+g[f>>2];Ba=+g[f+16>>2];Aa=+g[f+32>>2];F=+g[f+4>>2];Ha=+g[f+20>>2];Ia=+g[f+36>>2];va=+g[f+8>>2];ua=+g[f+24>>2];ta=+g[f+40>>2];g[m>>2]=C*E+ya*Ba+Ca*Aa;g[m+4>>2]=C*F+ya*Ha+Ca*Ia;g[m+8>>2]=C*va+ya*ua+Ca*ta;g[m+12>>2]=0.0;g[m+16>>2]=qa*E+A*Ba+xa*Aa;g[m+20>>2]=qa*F+A*Ha+xa*Ia;g[m+24>>2]=qa*va+A*ua+xa*ta;g[m+28>>2]=0.0;g[m+32>>2]=Da*E+za*Ba+D*Aa;g[m+36>>2]=Da*F+za*Ha+D*Ia;g[m+40>>2]=Da*va+za*ua+D*ta;B=m+44|0;c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;c[B+12>>2]=0;c[B+16>>2]=0;B=c[h+8>>2]|0;ta=+Kb[c[(c[s>>2]|0)+48>>2]&7](s);c[n>>2]=5968;h=n+8|0;na=n+72|0;oa=n+136|0;c[n+4>>2]=d;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];h=n+24|0;ma=e+16|0;c[h>>2]=c[ma>>2];c[h+4>>2]=c[ma+4>>2];c[h+8>>2]=c[ma+8>>2];c[h+12>>2]=c[ma+12>>2];ma=n+40|0;h=e+32|0;c[ma>>2]=c[h>>2];c[ma+4>>2]=c[h+4>>2];c[ma+8>>2]=c[h+8>>2];c[ma+12>>2]=c[h+12>>2];h=n+56|0;ma=e+48|0;c[h>>2]=c[ma>>2];c[h+4>>2]=c[ma+4>>2];c[h+8>>2]=c[ma+8>>2];c[h+12>>2]=c[ma+12>>2];c[na>>2]=c[f>>2];c[na+4>>2]=c[f+4>>2];c[na+8>>2]=c[f+8>>2];c[na+12>>2]=c[f+12>>2];na=n+88|0;ma=f+16|0;c[na>>2]=c[ma>>2];c[na+4>>2]=c[ma+4>>2];c[na+8>>2]=c[ma+8>>2];c[na+12>>2]=c[ma+12>>2];ma=n+104|0;na=f+32|0;c[ma>>2]=c[na>>2];c[ma+4>>2]=c[na+4>>2];c[ma+8>>2]=c[na+8>>2];c[ma+12>>2]=c[na+12>>2];na=n+120|0;ma=f+48|0;c[na>>2]=c[ma>>2];c[na+4>>2]=c[ma+4>>2];c[na+8>>2]=c[ma+8>>2];c[na+12>>2]=c[ma+12>>2];c[oa>>2]=c[t>>2];c[oa+4>>2]=c[t+4>>2];c[oa+8>>2]=c[t+8>>2];c[oa+12>>2]=c[t+12>>2];oa=n+152|0;ma=t+16|0;c[oa>>2]=c[ma>>2];c[oa+4>>2]=c[ma+4>>2];c[oa+8>>2]=c[ma+8>>2];c[oa+12>>2]=c[ma+12>>2];ma=n+168|0;oa=t+32|0;c[ma>>2]=c[oa>>2];c[ma+4>>2]=c[oa+4>>2];c[ma+8>>2]=c[oa+8>>2];c[ma+12>>2]=c[oa+12>>2];oa=n+184|0;ma=t+48|0;c[oa>>2]=c[ma>>2];c[oa+4>>2]=c[ma+4>>2];c[oa+8>>2]=c[ma+8>>2];c[oa+12>>2]=c[ma+12>>2];g[n+204>>2]=ta;c[n>>2]=4e3;c[n+212>>2]=j;c[n+216>>2]=B;c[n+220>>2]=s;c[n+200>>2]=c[j+4>>2];g[n+208>>2]=k;ec[c[(c[d>>2]|0)+8>>2]&63](d,m,o,p);g[q>>2]=Ea;m=q+4|0;g[m>>2]=sa;d=q+8|0;g[d>>2]=Fa;g[q+12>>2]=0.0;if(Ga<Ea){g[q>>2]=Ga;Ja=Ga}else Ja=Ea;if(ra<sa){g[m>>2]=ra;Ka=ra}else Ka=sa;if(y<Fa){g[d>>2]=y;La=y}else La=Fa;g[r>>2]=Ea;j=r+4|0;g[j>>2]=sa;B=r+8|0;g[B>>2]=Fa;g[r+12>>2]=0.0;if(Ea<Ga){g[r>>2]=Ga;Ma=Ga}else Ma=Ea;if(sa<ra){g[j>>2]=ra;Na=ra}else Na=sa;if(Fa<y){g[B>>2]=y;Oa=y}else Oa=Fa;g[q>>2]=+g[o>>2]+Ja;g[m>>2]=+g[o+4>>2]+Ka;g[d>>2]=+g[o+8>>2]+La;g[r>>2]=+g[p>>2]+Ma;g[j>>2]=+g[p+4>>2]+Na;g[B>>2]=+g[p+8>>2]+Oa;ec[c[(c[s>>2]|0)+64>>2]&63](s,n,q,r);i=l;return}}}function qk(a){a=a|0;Ur(a);return}function rk(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;h=h|0;var j=0,k=0,l=0,m=0.0;j=i;i=i+64|0;k=j+48|0;l=j;c[k>>2]=f;c[k+4>>2]=h;h=c[a+212>>2]|0;if(!(+g[h+4>>2]>=e)){m=e;i=j;return +m}c[l>>2]=c[a+216>>2];c[l+4>>2]=k;k=l+8|0;c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];b=l+24|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];g[l+40>>2]=e;m=+Sb[c[(c[h>>2]|0)+12>>2]&15](h,l,1);i=j;return +m}function sk(a){a=a|0;Ur(a);return}function tk(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;h=h|0;var j=0,k=0,l=0,m=0.0;j=i;i=i+64|0;k=j+48|0;l=j;c[k>>2]=f;c[k+4>>2]=h;h=c[a+212>>2]|0;if(!(+g[h+4>>2]>=e)){m=e;i=j;return +m}c[l>>2]=c[a+216>>2];c[l+4>>2]=k;k=l+8|0;c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];b=l+24|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];g[l+40>>2]=e;m=+Sb[c[(c[h>>2]|0)+12>>2]&15](h,l,1);i=j;return +m}function uk(a){a=a|0;Ur(a);return}function vk(a,b){a=a|0;b=b|0;var d=0;d=c[a+12>>2]|0;return Rb[c[(c[d>>2]|0)+8>>2]&31](d,b)|0}function wk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0.0;e=i;i=i+16|0;f=e;c[f>>2]=-1;c[f+4>>2]=c[a+16>>2];g=b+4|0;if(!(c[g>>2]|0))c[g>>2]=f;f=a+12|0;g=c[f>>2]|0;h=+Sb[c[(c[g>>2]|0)+12>>2]&15](g,b,d);c[a+4>>2]=c[(c[f>>2]|0)+4>>2];i=e;return +h}function xk(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,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.0,z=0.0,A=0.0,B=0.0,C=0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0;h=i;i=i+384|0;j=h+180|0;k=h+176|0;l=h+112|0;m=h+48|0;n=h+32|0;o=h+16|0;p=h;c[l>>2]=c[d>>2];c[l+4>>2]=c[d+4>>2];c[l+8>>2]=c[d+8>>2];c[l+12>>2]=c[d+12>>2];q=l+16|0;r=d+16|0;c[q>>2]=c[r>>2];c[q+4>>2]=c[r+4>>2];c[q+8>>2]=c[r+8>>2];c[q+12>>2]=c[r+12>>2];q=l+32|0;s=d+32|0;c[q>>2]=c[s>>2];c[q+4>>2]=c[s+4>>2];c[q+8>>2]=c[s+8>>2];c[q+12>>2]=c[s+12>>2];q=l+48|0;t=d+48|0;c[q>>2]=c[t>>2];c[q+4>>2]=c[t+4>>2];c[q+8>>2]=c[t+8>>2];c[q+12>>2]=c[t+12>>2];c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];u=m+16|0;v=e+16|0;c[u>>2]=c[v>>2];c[u+4>>2]=c[v+4>>2];c[u+8>>2]=c[v+8>>2];c[u+12>>2]=c[v+12>>2];u=m+32|0;w=e+32|0;c[u>>2]=c[w>>2];c[u+4>>2]=c[w+4>>2];c[u+8>>2]=c[w+8>>2];c[u+12>>2]=c[w+12>>2];u=m+48|0;x=e+48|0;c[u>>2]=c[x>>2];c[u+4>>2]=c[x+4>>2];c[u+8>>2]=c[x+8>>2];c[u+12>>2]=c[x+12>>2];Cf(l,m,j,k);y=+g[k>>2];z=+g[j>>2]*y;A=y*+g[j+4>>2];B=y*+g[j+8>>2];k=j+4|0;m=k;c[m>>2]=0;c[m+4>>2]=0;m=j+24|0;C=m;c[C>>2]=0;c[C+4>>2]=0;C=j+44|0;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[C+12>>2]=0;c[C+16>>2]=0;Ae(l,p);y=+g[p>>2];D=+g[p+4>>2];E=+g[p+8>>2];F=+g[p+12>>2];G=2.0/(y*y+D*D+E*E+F*F);H=y*G;I=D*G;J=E*G;G=F*H;K=F*I;L=F*J;F=y*H;H=y*I;M=y*J;y=D*I;I=D*J;D=E*J;g[j>>2]=1.0-(y+D);g[k>>2]=H-L;g[j+8>>2]=M+K;g[j+12>>2]=0.0;g[j+16>>2]=H+L;g[j+20>>2]=1.0-(F+D);g[m>>2]=I-G;g[j+28>>2]=0.0;g[j+32>>2]=M-K;g[j+36>>2]=I+G;g[j+40>>2]=1.0-(F+y);g[C>>2]=0.0;ec[c[(c[b>>2]|0)+8>>2]&63](b,j,n,o);y=+g[o>>2];C=o+4|0;F=+g[C>>2];m=o+8|0;G=+g[m>>2];k=n+4|0;p=n+8|0;I=+g[n>>2]+0.0;K=+g[k>>2]+0.0;M=+g[p>>2]+0.0;D=+O(+(z*z+A*A+B*B));B=D*+Kb[c[(c[b>>2]|0)+16>>2]&7](b);g[n+12>>2]=0.0;g[o+12>>2]=0.0;g[n>>2]=I-B;g[k>>2]=K-B;g[p>>2]=M-B;g[o>>2]=B+y;g[C>>2]=B+F;g[m>>2]=B+G;c[j>>2]=4048;m=j+36|0;c[m>>2]=c[d>>2];c[m+4>>2]=c[d+4>>2];c[m+8>>2]=c[d+8>>2];c[m+12>>2]=c[d+12>>2];d=j+52|0;c[d>>2]=c[r>>2];c[d+4>>2]=c[r+4>>2];c[d+8>>2]=c[r+8>>2];c[d+12>>2]=c[r+12>>2];r=j+68|0;c[r>>2]=c[s>>2];c[r+4>>2]=c[s+4>>2];c[r+8>>2]=c[s+8>>2];c[r+12>>2]=c[s+12>>2];s=j+84|0;c[s>>2]=c[t>>2];c[s+4>>2]=c[t+4>>2];c[s+8>>2]=c[t+8>>2];c[s+12>>2]=c[t+12>>2];t=j+100|0;c[t>>2]=c[e>>2];c[t+4>>2]=c[e+4>>2];c[t+8>>2]=c[e+8>>2];c[t+12>>2]=c[e+12>>2];e=j+116|0;c[e>>2]=c[v>>2];c[e+4>>2]=c[v+4>>2];c[e+8>>2]=c[v+8>>2];c[e+12>>2]=c[v+12>>2];v=j+132|0;c[v>>2]=c[w>>2];c[v+4>>2]=c[w+4>>2];c[v+8>>2]=c[w+8>>2];c[v+12>>2]=c[w+12>>2];w=j+148|0;c[w>>2]=c[x>>2];c[w+4>>2]=c[x+4>>2];c[w+8>>2]=c[x+8>>2];c[w+12>>2]=c[x+12>>2];c[j+180>>2]=a;c[j+184>>2]=f;g[j+188>>2]=0.0;c[j+192>>2]=b;G=+g[w>>2]-+g[s>>2];B=+g[j+152>>2]-+g[j+88>>2];F=+g[j+156>>2]-+g[j+92>>2];y=1.0/+O(+(G*G+B*B+F*F));M=G*y;K=B*y;I=F*y;y=M==0.0?999999984306749440.0:1.0/M;g[j+4>>2]=y;D=K==0.0?999999984306749440.0:1.0/K;g[j+8>>2]=D;A=I==0.0?999999984306749440.0:1.0/I;g[j+12>>2]=A;c[j+20>>2]=y<0.0&1;c[j+24>>2]=D<0.0&1;c[j+28>>2]=A<0.0&1;g[j+32>>2]=F*I+(G*M+B*K);s=c[a+68>>2]|0;Ib[c[(c[s>>2]|0)+24>>2]&7](s,q,u,j,n,o);i=h;return}function yk(a){a=a|0;Ur(a);return}function zk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,j=0,k=0,l=0,m=0.0;d=i;i=i+32|0;e=d;f=a+184|0;h=c[f>>2]|0;if(+g[h+4>>2]==0.0){j=0;i=d;return j|0}k=c[b>>2]|0;if(!(Rb[c[(c[h>>2]|0)+8>>2]&31](h,c[k+188>>2]|0)|0)){j=1;i=d;return j|0}h=c[a+192>>2]|0;b=c[k+192>>2]|0;l=c[f>>2]|0;m=+g[a+188>>2];c[e>>2]=0;c[e+4>>2]=b;c[e+8>>2]=k;c[e+12>>2]=k+4;c[e+16>>2]=-1;c[e+20>>2]=-1;pk(h,a+36|0,a+100|0,e,l,m);j=1;i=d;return j|0}function Ak(a){a=a|0;return}function Bk(a,b,d){a=a|0;b=b|0;d=d|0;c[a+16>>2]=b;c[a+24>>2]=d;return}function Ck(a,b,d){a=a|0;b=b|0;d=d|0;c[a+20>>2]=b;c[a+28>>2]=d;return}function Dk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;c[b>>2]=4068;if(a[b+20>>0]|0){d=b+16|0;e=c[d>>2]|0;f=c[e+16>>2]|0;if(!f)g=e;else{c[4351]=(c[4351]|0)+1;Ur(c[f+-4>>2]|0);g=c[d>>2]|0}if(g|0){c[4351]=(c[4351]|0)+1;Ur(c[g+-4>>2]|0)}}if(a[b+12>>0]|0){g=b+8|0;d=c[g>>2]|0;f=c[d+16>>2]|0;if(!f)h=d;else{c[4351]=(c[4351]|0)+1;Ur(c[f+-4>>2]|0);h=c[g>>2]|0}if(h|0){c[4351]=(c[4351]|0)+1;Ur(c[h+-4>>2]|0)}}h=b+32|0;g=c[h>>2]|0;vb[c[c[g>>2]>>2]&255](g);g=c[h>>2]|0;if(g|0){c[4351]=(c[4351]|0)+1;Ur(c[g+-4>>2]|0)}g=b+36|0;h=c[g>>2]|0;vb[c[c[h>>2]>>2]&255](h);h=c[g>>2]|0;if(h|0){c[4351]=(c[4351]|0)+1;Ur(c[h+-4>>2]|0)}h=b+40|0;g=c[h>>2]|0;vb[c[c[g>>2]>>2]&255](g);g=c[h>>2]|0;if(g|0){c[4351]=(c[4351]|0)+1;Ur(c[g+-4>>2]|0)}g=b+44|0;h=c[g>>2]|0;vb[c[c[h>>2]>>2]&255](h);h=c[g>>2]|0;if(h|0){c[4351]=(c[4351]|0)+1;Ur(c[h+-4>>2]|0)}h=b+48|0;g=c[h>>2]|0;vb[c[c[g>>2]>>2]&255](g);g=c[h>>2]|0;if(g|0){c[4351]=(c[4351]|0)+1;Ur(c[g+-4>>2]|0)}g=b+52|0;h=c[g>>2]|0;vb[c[c[h>>2]>>2]&255](h);h=c[g>>2]|0;if(h|0){c[4351]=(c[4351]|0)+1;Ur(c[h+-4>>2]|0)}h=b+56|0;g=c[h>>2]|0;vb[c[c[g>>2]>>2]&255](g);g=c[h>>2]|0;if(g|0){c[4351]=(c[4351]|0)+1;Ur(c[g+-4>>2]|0)}g=b+60|0;h=c[g>>2]|0;vb[c[c[h>>2]>>2]&255](h);h=c[g>>2]|0;if(h|0){c[4351]=(c[4351]|0)+1;Ur(c[h+-4>>2]|0)}h=b+76|0;g=c[h>>2]|0;vb[c[c[g>>2]>>2]&255](g);g=c[h>>2]|0;if(g|0){c[4351]=(c[4351]|0)+1;Ur(c[g+-4>>2]|0)}g=b+80|0;h=c[g>>2]|0;vb[c[c[h>>2]>>2]&255](h);h=c[g>>2]|0;if(h|0){c[4351]=(c[4351]|0)+1;Ur(c[h+-4>>2]|0)}h=b+72|0;g=c[h>>2]|0;vb[c[c[g>>2]>>2]&255](g);g=c[h>>2]|0;if(g|0){c[4351]=(c[4351]|0)+1;Ur(c[g+-4>>2]|0)}g=b+88|0;h=c[g>>2]|0;vb[c[c[h>>2]>>2]&255](h);h=c[g>>2]|0;if(h|0){c[4351]=(c[4351]|0)+1;Ur(c[h+-4>>2]|0)}h=b+84|0;g=c[h>>2]|0;vb[c[c[g>>2]>>2]&255](g);g=c[h>>2]|0;if(g|0){c[4351]=(c[4351]|0)+1;Ur(c[g+-4>>2]|0)}g=c[b+24>>2]|0;if(g|0){c[4351]=(c[4351]|0)+1;Ur(c[g+-4>>2]|0)}g=b+28|0;b=c[g>>2]|0;vb[c[c[b>>2]>>2]&255](b);b=c[g>>2]|0;if(!b)return;c[4351]=(c[4351]|0)+1;Ur(c[b+-4>>2]|0);return}function Ek(a){a=a|0;Dk(a);Ur(a);return}function Fk(a){a=a|0;return c[a+8>>2]|0}function Gk(a){a=a|0;return c[a+16>>2]|0}function Hk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=(b|0)==8;f=(d|0)==8;do if(!(e&f)){if(e&(d|0)==1){g=a+76|0;break}if((b|0)==1&f){g=a+80|0;break}if(!(d|b)){g=a+72|0;break}h=(b|0)<20;if(h&(d|0)==28){g=a+88|0;break}i=(d|0)<20;if((b|0)==28&i){g=a+84|0;break}if(h){if(i){g=a+32|0;break}if((d+-21|0)>>>0<9){g=a+36|0;break}}else{if(i&(b+-21|0)>>>0<9){g=a+40|0;break}if((b|0)==31)if((d|0)==31){g=a+48|0;break}else{g=a+44|0;break}}if((d|0)==31){g=a+52|0;break}else{g=a+56|0;break}}else g=a+60|0;while(0);return c[g>>2]|0}function Ik(a){a=a|0;return c[a+24>>2]|0}function Jk(a){a=a|0;return}function Kk(a){a=a|0;Ur(a);return}function Lk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;b=c[d>>2]|0;g=Rb[c[(c[b>>2]|0)+56>>2]&31](b,80)|0;b=c[d>>2]|0;c[g+4>>2]=b;c[g>>2]=6360;a[g+8>>0]=0;d=b;c[g+12>>2]=6388;h=g+60|0;c[h>>2]=d;c[g+64>>2]=0;c[g+16>>2]=e;c[g+20>>2]=f;i=Hb[c[(c[b>>2]|0)+12>>2]&31](d,c[e+8>>2]|0,c[f+8>>2]|0)|0;c[g+76>>2]=i;f=c[h>>2]|0;xb[c[(c[f>>2]|0)+20>>2]&127](f,i);return g|0}function Mk(a){a=a|0;Ur(a);return}function Nk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;b=c[d>>2]|0;g=Rb[c[(c[b>>2]|0)+56>>2]&31](b,80)|0;b=c[d>>2]|0;c[g+4>>2]=b;c[g>>2]=6360;a[g+8>>0]=1;d=b;c[g+12>>2]=6388;h=g+60|0;c[h>>2]=d;c[g+64>>2]=0;c[g+16>>2]=f;c[g+20>>2]=e;i=Hb[c[(c[b>>2]|0)+12>>2]&31](d,c[f+8>>2]|0,c[e+8>>2]|0)|0;c[g+76>>2]=i;e=c[h>>2]|0;xb[c[(c[e>>2]|0)+20>>2]&127](e,i);return g|0}function Ok(a){a=a|0;Ur(a);return}function Pk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;a=c[b>>2]|0;f=Rb[c[(c[a>>2]|0)+56>>2]&31](a,44)|0;mq(f,b,d,e,0);return f|0}function Qk(a){a=a|0;Ur(a);return}function Rk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,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;b=c[d>>2]|0;g=Rb[c[(c[b>>2]|0)+56>>2]&31](b,76)|0;mq(g,d,e,f,0);c[g>>2]=6296;a[g+64>>0]=1;c[g+60>>2]=0;c[g+52>>2]=0;c[g+56>>2]=0;c[4350]=(c[4350]|0)+1;d=Tr(87)|0;if(!d)h=0;else{b=d+4+15&-16;c[b+-4>>2]=d;h=b}c[h>>2]=6588;b=h+20|0;a[b>>0]=1;d=h+16|0;c[d>>2]=0;i=h+8|0;c[i>>2]=0;j=h+12|0;c[j>>2]=0;a[h+24>>0]=0;a[h+44>>0]=1;c[h+40>>2]=0;c[h+32>>2]=0;c[h+36>>2]=0;a[h+64>>0]=1;c[h+60>>2]=0;c[h+52>>2]=0;c[h+56>>2]=0;c[4350]=(c[4350]|0)+1;k=Tr(43)|0;if(!k)l=0;else{m=k+4+15&-16;c[m+-4>>2]=k;l=m}m=c[i>>2]|0;if((m|0)>0){i=0;do{k=l+(i*12|0)|0;n=(c[d>>2]|0)+(i*12|0)|0;c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];i=i+1|0}while((i|0)!=(m|0))}m=c[d>>2]|0;if(!m){a[b>>0]=1;c[d>>2]=l;c[j>>2]=2;er(h);o=g+44|0;c[o>>2]=h;p=e+4|0;q=c[p>>2]|0;r=q+72|0;s=c[r>>2]|0;t=g+68|0;c[t>>2]=s;u=f+4|0;v=c[u>>2]|0;w=v+72|0;x=c[w>>2]|0;y=g+72|0;c[y>>2]=x;return g|0}if(a[b>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[m+-4>>2]|0)}c[d>>2]=0;a[b>>0]=1;c[d>>2]=l;c[j>>2]=2;er(h);o=g+44|0;c[o>>2]=h;p=e+4|0;q=c[p>>2]|0;r=q+72|0;s=c[r>>2]|0;t=g+68|0;c[t>>2]=s;u=f+4|0;v=c[u>>2]|0;w=v+72|0;x=c[w>>2]|0;y=g+72|0;c[y>>2]=x;return g|0}function Sk(a){a=a|0;Ur(a);return}function Tk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;a=c[b>>2]|0;f=Rb[c[(c[a>>2]|0)+56>>2]&31](a,44)|0;mq(f,b,d,e,1);return f|0}function Uk(a){a=a|0;Ur(a);return}function Vk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=c[b>>2]|0;d=Rb[c[(c[e>>2]|0)+56>>2]&31](e,8)|0;c[d+4>>2]=c[b>>2];c[d>>2]=4300;return d|0}function Wk(a){a=a|0;Ur(a);return}function Xk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;b=c[d>>2]|0;g=Rb[c[(c[b>>2]|0)+56>>2]&31](b,16)|0;b=c[d>>2]|0;c[g+4>>2]=b;c[g>>2]=4424;d=g+8|0;a[d>>0]=0;h=g+12|0;c[h>>2]=0;c[h>>2]=Hb[c[(c[b>>2]|0)+12>>2]&31](b,c[e+8>>2]|0,c[f+8>>2]|0)|0;a[d>>0]=1;return g|0}function Yk(a){a=a|0;Ur(a);return}function Zk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=c[d>>2]|0;h=Rb[c[(c[g>>2]|0)+56>>2]&31](g,20)|0;g=c[d+4>>2]|0;i=a[b+4>>0]|0;b=c[d>>2]|0;c[h+4>>2]=b;c[h>>2]=4452;d=h+8|0;a[d>>0]=0;j=h+12|0;c[j>>2]=g;a[h+16>>0]=i;if(g|0)return h|0;c[j>>2]=Hb[c[(c[b>>2]|0)+12>>2]&31](b,c[e+8>>2]|0,c[f+8>>2]|0)|0;a[d>>0]=1;return h|0}function _k(a){a=a|0;Ur(a);return}function $k(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;b=c[d>>2]|0;g=Rb[c[(c[b>>2]|0)+56>>2]&31](b,16)|0;b=c[d>>2]|0;d=g+4|0;c[d>>2]=b;c[g>>2]=6184;h=g+8|0;a[h>>0]=0;i=g+12|0;c[i>>2]=0;j=e+8|0;e=f+8|0;if(!(Hb[c[(c[b>>2]|0)+24>>2]&31](b,c[j>>2]|0,c[e>>2]|0)|0))return g|0;b=c[d>>2]|0;c[i>>2]=Hb[c[(c[b>>2]|0)+12>>2]&31](b,c[j>>2]|0,c[e>>2]|0)|0;a[h>>0]=1;return g|0}function al(a){a=a|0;Ur(a);return}function bl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=c[d>>2]|0;h=Rb[c[(c[g>>2]|0)+56>>2]&31](g,28)|0;g=(a[b+4>>0]|0)==0;i=c[b+8>>2]|0;j=c[b+12>>2]|0;b=c[d>>2]|0;d=h+4|0;c[d>>2]=b;c[h>>2]=6560;k=h+8|0;a[k>>0]=0;l=h+12|0;c[l>>2]=0;m=h+16|0;if(g){a[m>>0]=0;c[h+20>>2]=i;c[h+24>>2]=j;g=e+8|0;n=f+8|0;if(!(Hb[c[(c[b>>2]|0)+24>>2]&31](b,c[g>>2]|0,c[n>>2]|0)|0))return h|0;o=c[d>>2]|0;c[l>>2]=Hb[c[(c[o>>2]|0)+12>>2]&31](o,c[g>>2]|0,c[n>>2]|0)|0;a[k>>0]=1;return h|0}else{a[m>>0]=1;c[h+20>>2]=i;c[h+24>>2]=j;j=f+8|0;f=e+8|0;if(!(Hb[c[(c[b>>2]|0)+24>>2]&31](b,c[j>>2]|0,c[f>>2]|0)|0))return h|0;b=c[d>>2]|0;c[l>>2]=Hb[c[(c[b>>2]|0)+12>>2]&31](b,c[j>>2]|0,c[f>>2]|0)|0;a[k>>0]=1;return h|0}return 0}function cl(a){a=a|0;return}function dl(a){a=a|0;Ur(a);return}function el(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return}function fl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 1.0}function gl(a,b){a=a|0;b=b|0;return}function hl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;c[b>>2]=4328;d=b+292|0;e=b+300|0;f=c[e>>2]|0;g=b+304|0;if(f|0){if(a[g>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[f+-4>>2]|0)}c[e>>2]=0}a[g>>0]=1;c[e>>2]=0;c[d>>2]=0;c[b+296>>2]=0;c[b>>2]=3680;d=b+268|0;e=b+276|0;g=c[e>>2]|0;f=b+280|0;if(!g){a[f>>0]=1;c[e>>2]=0;c[d>>2]=0;h=b+272|0;c[h>>2]=0;return}if(a[f>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[g+-4>>2]|0)}c[e>>2]=0;a[f>>0]=1;c[e>>2]=0;c[d>>2]=0;h=b+272|0;c[h>>2]=0;return}function il(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=4328;d=b+292|0;e=b+300|0;f=c[e>>2]|0;g=b+304|0;if(f|0){if(a[g>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[f+-4>>2]|0)}c[e>>2]=0}a[g>>0]=1;c[e>>2]=0;c[d>>2]=0;c[b+296>>2]=0;c[b>>2]=3680;d=b+268|0;e=b+276|0;g=c[e>>2]|0;f=b+280|0;if(g|0){if(a[f>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[g+-4>>2]|0)}c[e>>2]=0}a[f>>0]=1;c[e>>2]=0;c[d>>2]=0;c[b+272>>2]=0;c[4351]=(c[4351]|0)+1;Ur(c[b+-4>>2]|0);return}function jl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=c[d>>2]|0;d=b+292|0;f=c[d>>2]|0;a:do if((f|0)>0){g=c[b+300>>2]|0;h=e;i=0;while(1){if((c[g+(i<<2)>>2]|0)==(h|0))break;j=i+1|0;if((j|0)<(f|0))i=j;else break a}if((i|0)!=(f|0))return}while(0);h=b+296|0;if((f|0)==(c[h>>2]|0)?(g=f|0?f<<1:1,(f|0)<(g|0)):0){if(!g){k=0;l=f}else{c[4350]=(c[4350]|0)+1;j=Tr((g<<2|3)+16|0)|0;if(!j)m=0;else{n=j+4+15&-16;c[n+-4>>2]=j;m=n}k=m;l=c[d>>2]|0}m=b+300|0;if((l|0)>0){n=0;do{c[k+(n<<2)>>2]=c[(c[m>>2]|0)+(n<<2)>>2];n=n+1|0}while((n|0)!=(l|0))}n=c[m>>2]|0;j=b+304|0;if(!n)o=l;else{if(!(a[j>>0]|0))p=l;else{c[4351]=(c[4351]|0)+1;Ur(c[n+-4>>2]|0);p=c[d>>2]|0}c[m>>2]=0;o=p}a[j>>0]=1;c[m>>2]=k;c[h>>2]=g;q=o}else q=f;c[(c[b+300>>2]|0)+(q<<2)>>2]=e;c[d>>2]=q+1;return}function kl(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;e=a+292|0;d=c[e>>2]|0;if((d|0)<=0)return;f=c[b>>2]|0;b=c[a+300>>2]|0;a=0;while(1){g=b+(a<<2)|0;if((c[g>>2]|0)==(f|0))break;h=a+1|0;if((h|0)<(d|0))a=h;else{i=7;break}}if((i|0)==7)return;if((a|0)>=(d|0))return;a=d+-1|0;c[g>>2]=c[b+(a<<2)>>2];c[e>>2]=a;return}function ll(a){a=a|0;Ur(a);return}function ml(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var h=0,j=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,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0,P=0,Q=0,R=0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0;h=i;i=i+192|0;j=h;k=c[b+4>>2]|0;l=k+752|0;if(+g[l>>2]<f){i=h;return}m=c[k+740>>2]|0;n=(c[b+8>>2]|0)+8|0;o=c[n>>2]|0;p=(m|0)!=(o|0);q=+g[e>>2];r=+g[d>>2]*f+q;s=+g[e+4>>2];t=+g[d+4>>2]*f+s;u=+g[e+8>>2];v=+g[d+8>>2]*f+u;w=(c[b+12>>2]|0)+8|0;x=c[w>>2]|0;y=+g[x+52>>2];z=+g[x+56>>2];if(p){A=r-y;B=t-z;C=v-+g[x+60>>2];D=q-+g[o+52>>2];E=s-+g[o+56>>2];F=u-+g[o+60>>2];G=A*+g[x+4>>2]+B*+g[x+20>>2]+C*+g[x+36>>2];H=A*+g[x+8>>2]+B*+g[x+24>>2]+C*+g[x+40>>2];I=A*+g[x+12>>2]+B*+g[x+28>>2]+C*+g[x+44>>2];J=D*+g[o+4>>2]+E*+g[o+20>>2]+F*+g[o+36>>2];K=D*+g[o+8>>2]+E*+g[o+24>>2]+F*+g[o+40>>2];L=D*+g[o+12>>2]+E*+g[o+28>>2]+F*+g[o+44>>2]}else{F=r-+g[m+52>>2];E=t-+g[m+56>>2];D=v-+g[m+60>>2];C=q-y;y=s-z;z=u-+g[x+60>>2];G=F*+g[m+4>>2]+E*+g[m+20>>2]+D*+g[m+36>>2];H=F*+g[m+8>>2]+E*+g[m+24>>2]+D*+g[m+40>>2];I=F*+g[m+12>>2]+E*+g[m+28>>2]+D*+g[m+44>>2];J=C*+g[x+4>>2]+y*+g[x+20>>2]+z*+g[x+36>>2];K=C*+g[x+8>>2]+y*+g[x+24>>2]+z*+g[x+40>>2];L=C*+g[x+12>>2]+y*+g[x+28>>2]+z*+g[x+44>>2]}g[j>>2]=G;g[j+4>>2]=H;g[j+8>>2]=I;g[j+12>>2]=0.0;g[j+16>>2]=J;g[j+20>>2]=K;g[j+24>>2]=L;g[j+28>>2]=0.0;x=j+64|0;c[x>>2]=c[d>>2];c[x+4>>2]=c[d+4>>2];c[x+8>>2]=c[d+8>>2];c[x+12>>2]=c[d+12>>2];g[j+80>>2]=f;d=j+84|0;g[d>>2]=0.0;m=j+88|0;g[m>>2]=0.0;o=j+92|0;g[o>>2]=0.0;c[j+112>>2]=0;a[j+116>>0]=0;M=j+120|0;c[M>>2]=0;c[M+4>>2]=0;c[M+8>>2]=0;c[M+12>>2]=0;c[M+16>>2]=0;c[M+20>>2]=0;c[M+24>>2]=0;c[M+28>>2]=0;g[j+48>>2]=r;g[j+52>>2]=t;g[j+56>>2]=v;g[j+60>>2]=0.0;M=j+32|0;c[M>>2]=c[e>>2];c[M+4>>2]=c[e+4>>2];c[M+8>>2]=c[e+8>>2];c[M+12>>2]=c[e+12>>2];v=+g[l>>2];l=c[k+748>>2]|0;if((l|0)>0){e=0;M=-1;t=v*v;while(1){v=+g[k+4+(e*184|0)>>2]-G;r=+g[k+4+(e*184|0)+4>>2]-H;f=+g[k+4+(e*184|0)+8>>2]-I;L=v*v+r*r+f*f;P=L<t;Q=P?e:M;e=e+1|0;if((e|0)==(l|0)){R=Q;break}else{M=Q;t=P?L:t}}}else R=-1;M=c[n>>2]|0;n=c[w>>2]|0;t=+g[M+224>>2]*+g[n+224>>2];I=t<-10.0?-10.0:t;g[d>>2]=I>10.0?10.0:I;g[o>>2]=+g[M+228>>2]*+g[n+228>>2];I=+g[M+232>>2]*+g[n+232>>2];t=I<-10.0?-10.0:I;g[m>>2]=t>10.0?10.0:t;t=+g[j+72>>2];m=+N(+t)>.7071067690849304;I=+g[j+68>>2];if(m){H=t*t+I*I;G=1.0/+O(+H);L=-(G*t);f=G*I;r=+g[x>>2];S=-(f*r);T=r*L;U=L;V=H*G;W=0.0;X=f}else{f=+g[x>>2];G=f*f+I*I;H=1.0/+O(+G);L=-(I*H);I=H*f;S=t*L;T=G*H;U=I;V=-(I*t);W=L;X=0.0}g[j+152>>2]=W;g[j+156>>2]=U;g[j+160>>2]=X;g[j+168>>2]=V;g[j+172>>2]=S;g[j+176>>2]=T;x=c[b+20>>2]|0;m=c[b+16>>2]|0;n=c[b+28>>2]|0;M=c[b+24>>2]|0;c[j+96>>2]=p?x:m;c[j+100>>2]=p?m:x;c[j+104>>2]=p?n:M;c[j+108>>2]=p?M:n;if((R|0)>-1){n=k+4+(R*184|0)+148|0;M=c[n>>2]|0;p=k+4+(R*184|0)+120|0;x=c[p>>2]|0;m=k+4+(R*184|0)+124|0;b=c[m>>2]|0;o=k+4+(R*184|0)+128|0;d=c[o>>2]|0;w=k+4+(R*184|0)+112|0;l=c[w>>2]|0;Gs(k+4+(R*184|0)|0,j|0,184)|0;c[w>>2]=l;c[p>>2]=x;c[m>>2]=b;c[o>>2]=d;c[n>>2]=M}else kp(k,j)|0;i=h;return}function nl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;c[b>>2]=4400;d=b+48|0;e=b+56|0;f=c[e>>2]|0;g=b+60|0;if(f|0){if(a[g>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[f+-4>>2]|0)}c[e>>2]=0}a[g>>0]=1;c[e>>2]=0;c[d>>2]=0;c[b+52>>2]=0;d=b+28|0;e=b+36|0;g=c[e>>2]|0;f=b+40|0;if(g|0){if(a[f>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[g+-4>>2]|0)}c[e>>2]=0}a[f>>0]=1;c[e>>2]=0;c[d>>2]=0;c[b+32>>2]=0;d=b+8|0;e=b+16|0;f=c[e>>2]|0;g=b+20|0;if(!f){h=b+12|0;a[g>>0]=1;c[e>>2]=0;c[d>>2]=0;c[h>>2]=0;return}if(a[g>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[f+-4>>2]|0)}c[e>>2]=0;h=b+12|0;a[g>>0]=1;c[e>>2]=0;c[d>>2]=0;c[h>>2]=0;return}function ol(a){a=a|0;nl(a);Ur(a);return}function pl(b,d,e){b=b|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;e=c[d+8>>2]|0;if((e|0)>0){f=c[d+16>>2]|0;h=0;i=0;while(1){j=c[f+(h<<2)>>2]|0;if(!(c[j+204>>2]&3)){c[j+208>>2]=i;k=i+1|0}else k=i;c[j+212>>2]=-1;g[j+248>>2]=1.0;h=h+1|0;if((h|0)==(e|0)){l=k;break}else i=k}}else l=0;k=b+8|0;i=c[k>>2]|0;if((i|0)<(l|0)){e=b+12|0;if((c[e>>2]|0)<(l|0)){if(!l){m=0;n=i}else{c[4350]=(c[4350]|0)+1;h=Tr((l<<3|3)+16|0)|0;if(!h)o=0;else{f=h+4+15&-16;c[f+-4>>2]=h;o=f}m=o;n=c[k>>2]|0}o=b+16|0;if((n|0)>0){f=0;do{h=(c[o>>2]|0)+(f<<3)|0;j=c[h+4>>2]|0;p=m+(f<<3)|0;c[p>>2]=c[h>>2];c[p+4>>2]=j;f=f+1|0}while((f|0)!=(n|0))}n=c[o>>2]|0;f=b+20|0;if(n|0){if(a[f>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[n+-4>>2]|0)}c[o>>2]=0}a[f>>0]=1;c[o>>2]=m;c[e>>2]=l;q=o}else q=b+16|0;o=i;do{i=(c[q>>2]|0)+(o<<3)|0;c[i>>2]=0;c[i+4>>2]=0;o=o+1|0}while((o|0)!=(l|0))}c[k>>2]=l;if((l|0)>0){k=c[b+16>>2]|0;o=0;do{c[k+(o<<3)>>2]=o;c[k+(o<<3)+4>>2]=1;o=o+1|0}while((o|0)!=(l|0))}l=c[d+68>>2]|0;d=zb[c[(c[l>>2]|0)+36>>2]&127](l)|0;l=zb[c[(c[d>>2]|0)+36>>2]&127](d)|0;if(!l)return;o=zb[c[(c[d>>2]|0)+20>>2]&127](d)|0;if((l|0)<=0)return;d=b+16|0;b=0;do{k=c[c[o+(b<<4)>>2]>>2]|0;q=c[c[o+(b<<4)+4>>2]>>2]|0;if((k|0?(q|0?(c[k+204>>2]&7|0)==0:0):0)?(c[q+204>>2]&7|0)==0:0){i=c[k+208>>2]|0;k=c[q+208>>2]|0;q=c[d>>2]|0;e=q+(i<<3)|0;m=c[e>>2]|0;if((m|0)==(i|0))r=i;else{i=m;m=e;do{e=q+(i<<3)|0;c[m>>2]=c[e>>2];f=c[e>>2]|0;m=q+(f<<3)|0;i=c[m>>2]|0}while((f|0)!=(i|0));r=f}i=q+(k<<3)|0;m=c[i>>2]|0;if((m|0)==(k|0))s=k;else{f=m;m=i;do{i=q+(f<<3)|0;c[m>>2]=c[i>>2];e=c[i>>2]|0;m=q+(e<<3)|0;f=c[m>>2]|0}while((e|0)!=(f|0));s=e}if((r|0)!=(s|0)){c[q+(r<<3)>>2]=s;f=q+(s<<3)+4|0;c[f>>2]=(c[f>>2]|0)+(c[q+(r<<3)+4>>2]|0)}}b=b+1|0}while((b|0)!=(l|0));return}function ql(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=c[b+8>>2]|0;if((d|0)<=0)return;e=c[b+16>>2]|0;b=a+16|0;a=0;f=0;while(1){g=c[e+(a<<2)>>2]|0;if(!(c[g+204>>2]&3)){h=c[b>>2]|0;i=h+(f<<3)|0;j=c[i>>2]|0;if((j|0)==(f|0))k=f;else{l=j;j=i;do{i=h+(l<<3)|0;c[j>>2]=c[i>>2];m=c[i>>2]|0;j=h+(m<<3)|0;l=c[j>>2]|0}while((m|0)!=(l|0));k=m}c[g+208>>2]=k;c[h+(f<<3)+4>>2]=a;c[g+212>>2]=-1;n=f+1|0}else{c[g+208>>2]=-1;c[g+212>>2]=-2;n=f}a=a+1|0;if((a|0)==(d|0))break;else f=n}return}function rl(b,e,f){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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;g=b+12|0;h=e;while(1){e=c[g>>2]|0;i=c[e+(((h+f|0)/2|0)<<2)>>2]|0;j=i+740|0;k=i+744|0;i=e;e=h;l=f;while(1){m=c[(c[j>>2]|0)+208>>2]|0;n=(m|0)>-1;if(n){o=e;while(1){p=c[i+(o<<2)>>2]|0;q=c[(c[p+740>>2]|0)+208>>2]|0;if((q|0)>-1)r=q;else r=c[(c[p+744>>2]|0)+208>>2]|0;if((r|0)<(m|0))o=o+1|0;else{s=o;break}}}else{o=c[(c[k>>2]|0)+208>>2]|0;p=e;while(1){q=c[i+(p<<2)>>2]|0;t=c[(c[q+740>>2]|0)+208>>2]|0;if((t|0)>-1)u=t;else u=c[(c[q+744>>2]|0)+208>>2]|0;if((u|0)<(o|0))p=p+1|0;else{s=p;break}}}if(n){p=l;while(1){o=c[i+(p<<2)>>2]|0;q=c[(c[o+740>>2]|0)+208>>2]|0;if((q|0)>-1)v=q;else v=c[(c[o+744>>2]|0)+208>>2]|0;if((m|0)<(v|0))p=p+-1|0;else{w=p;break}}}else{p=c[(c[k>>2]|0)+208>>2]|0;m=l;while(1){n=c[i+(m<<2)>>2]|0;o=c[(c[n+740>>2]|0)+208>>2]|0;if((o|0)>-1)x=o;else x=c[(c[n+744>>2]|0)+208>>2]|0;if((p|0)<(x|0))m=m+-1|0;else{w=m;break}}}if((s|0)>(w|0)){y=s;z=w}else{m=i+(s<<2)|0;p=d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24;c[m>>2]=c[i+(w<<2)>>2];m=(c[g>>2]|0)+(w<<2)|0;a[m>>0]=p;a[m+1>>0]=p>>8;a[m+2>>0]=p>>16;a[m+3>>0]=p>>24;y=s+1|0;z=w+-1|0}if((y|0)>(z|0))break;i=c[g>>2]|0;e=y;l=z}if((z|0)>(h|0))rl(b,h,z);if((y|0)<(f|0))h=y;else break}return}function sl(b){b=b|0;var d=0,e=0;c[b>>2]=4424;if(!(a[b+8>>0]|0))return;d=c[b+12>>2]|0;if(!d)return;e=c[b+4>>2]|0;xb[c[(c[e>>2]|0)+16>>2]&127](e,d);return}function tl(b){b=b|0;var d=0,e=0;c[b>>2]=4424;if(!(a[b+8>>0]|0)){Ur(b);return}d=c[b+12>>2]|0;if(!d){Ur(b);return}e=c[b+4>>2]|0;xb[c[(c[e>>2]|0)+16>>2]&127](e,d);Ur(b);return}function ul(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,l=0,m=0,n=0,o=0.0,p=0,q=0.0,r=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,A=0.0;e=i;i=i+32|0;h=e+16|0;j=e;k=c[a+12>>2]|0;if(!k){i=e;return}a=f+4|0;c[a>>2]=k;l=c[b+4>>2]|0;m=c[d+4>>2]|0;n=c[b+12>>2]|0;b=c[d+12>>2]|0;d=b+48|0;o=+g[n+48>>2]-+g[d>>2];p=b+52|0;q=+g[n+52>>2]-+g[p>>2];r=b+56|0;s=+g[n+56>>2]-+g[r>>2];t=+O(+(o*o+q*q+s*s));u=+g[m+32>>2]*+g[m+16>>2];v=+g[l+32>>2]*+g[l+16>>2]+u;if(t>v){if(!(c[k+748>>2]|0)){i=e;return}l=c[k+740>>2]|0;m=c[(c[f+8>>2]|0)+8>>2]|0;n=c[(c[f+12>>2]|0)+8>>2]|0;if((l|0)==(m|0)){lp(k,l+4|0,n+4|0);i=e;return}else{lp(k,n+4|0,m+4|0);i=e;return}}c[h>>2]=1065353216;m=h+4|0;c[m>>2]=0;n=h+8|0;c[n>>2]=0;k=h+12|0;g[k>>2]=0.0;if(t>1.1920928955078125e-07){w=1.0/t;x=o*w;o=q*w;q=s*w;g[h>>2]=x;g[m>>2]=o;g[n>>2]=q;g[k>>2]=0.0;y=x;z=o;A=q}else{y=1.0;z=0.0;A=0.0}q=u*z+ +g[p>>2];z=u*A+ +g[r>>2];g[j>>2]=u*y+ +g[d>>2];g[j+4>>2]=q;g[j+8>>2]=z;g[j+12>>2]=0.0;$b[c[(c[f>>2]|0)+16>>2]&7](f,h,j,t-v);j=c[a>>2]|0;do if(c[j+748>>2]|0){a=c[j+740>>2]|0;h=c[(c[f+8>>2]|0)+8>>2]|0;d=c[(c[f+12>>2]|0)+8>>2]|0;if((a|0)==(h|0)){lp(j,a+4|0,d+4|0);break}else{lp(j,d+4|0,h+4|0);break}}while(0);i=e;return}function vl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 1.0}function wl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=b+12|0;f=c[e>>2]|0;g=f;if(!f)return;if(!(a[b+8>>0]|0))return;b=d+4|0;f=c[b>>2]|0;h=d+8|0;if((f|0)==(c[h>>2]|0)?(i=f|0?f<<1:1,(f|0)<(i|0)):0){if(!i){j=0;k=f}else{c[4350]=(c[4350]|0)+1;l=Tr((i<<2|3)+16|0)|0;if(!l)m=0;else{n=l+4+15&-16;c[n+-4>>2]=l;m=n}j=m;k=c[b>>2]|0}m=d+12|0;if((k|0)>0){n=0;do{c[j+(n<<2)>>2]=c[(c[m>>2]|0)+(n<<2)>>2];n=n+1|0}while((n|0)!=(k|0))}n=c[m>>2]|0;l=d+16|0;if(!n)o=k;else{if(!(a[l>>0]|0))p=k;else{c[4351]=(c[4351]|0)+1;Ur(c[n+-4>>2]|0);p=c[b>>2]|0}c[m>>2]=0;o=p}a[l>>0]=1;c[m>>2]=j;c[h>>2]=i;q=o;r=c[e>>2]|0}else{q=f;r=g}c[(c[d+12>>2]|0)+(q<<2)>>2]=r;c[b>>2]=q+1;return}function xl(b){b=b|0;var d=0,e=0;c[b>>2]=4452;if(!(a[b+8>>0]|0))return;d=c[b+12>>2]|0;if(!d)return;e=c[b+4>>2]|0;xb[c[(c[e>>2]|0)+16>>2]&127](e,d);return}function yl(b){b=b|0;var d=0,e=0;c[b>>2]=4452;if(!(a[b+8>>0]|0)){Ur(b);return}d=c[b+12>>2]|0;if(!d){Ur(b);return}e=c[b+4>>2]|0;xb[c[(c[e>>2]|0)+16>>2]&127](e,d);Ur(b);return}function zl(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;j=i;i=i+160|0;k=j+136|0;l=j;m=c[b+12>>2]|0;if(!m){i=j;return}n=(a[b+16>>0]|0)!=0;o=n?e:d;p=n?d:e;e=c[o+4>>2]|0;d=c[p+4>>2]|0;q=h+4|0;c[q>>2]=m;r=c[m+752>>2]|0;c[k>>2]=4480;c[k+4>>2]=e;c[k+8>>2]=d;c[k+12>>2]=r;g[l+128>>2]=999999984306749440.0;r=c[o+12>>2]|0;c[l>>2]=c[r>>2];c[l+4>>2]=c[r+4>>2];c[l+8>>2]=c[r+8>>2];c[l+12>>2]=c[r+12>>2];o=l+16|0;d=r+16|0;c[o>>2]=c[d>>2];c[o+4>>2]=c[d+4>>2];c[o+8>>2]=c[d+8>>2];c[o+12>>2]=c[d+12>>2];d=l+32|0;o=r+32|0;c[d>>2]=c[o>>2];c[d+4>>2]=c[o+4>>2];c[d+8>>2]=c[o+8>>2];c[d+12>>2]=c[o+12>>2];o=l+48|0;d=r+48|0;c[o>>2]=c[d>>2];c[o+4>>2]=c[d+4>>2];c[o+8>>2]=c[d+8>>2];c[o+12>>2]=c[d+12>>2];d=l+64|0;o=c[p+12>>2]|0;c[d>>2]=c[o>>2];c[d+4>>2]=c[o+4>>2];c[d+8>>2]=c[o+8>>2];c[d+12>>2]=c[o+12>>2];d=l+80|0;p=o+16|0;c[d>>2]=c[p>>2];c[d+4>>2]=c[p+4>>2];c[d+8>>2]=c[p+8>>2];c[d+12>>2]=c[p+12>>2];p=l+96|0;d=o+32|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];c[p+12>>2]=c[d+12>>2];d=l+112|0;p=o+48|0;c[d>>2]=c[p>>2];c[d+4>>2]=c[p+4>>2];c[d+8>>2]=c[p+8>>2];c[d+12>>2]=c[p+12>>2];Fl(k,l,h,c[f+20>>2]|0,n);do if(a[b+8>>0]|0?(n=c[q>>2]|0,c[n+748>>2]|0):0){f=c[n+740>>2]|0;l=c[(c[h+8>>2]|0)+8>>2]|0;k=c[(c[h+12>>2]|0)+8>>2]|0;if((f|0)==(l|0)){lp(n,f+4|0,k+4|0);break}else{lp(n,k+4|0,l+4|0);break}}while(0);i=j;return}function Al(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 1.0}function Bl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=b+12|0;f=c[e>>2]|0;g=f;if(!f)return;if(!(a[b+8>>0]|0))return;b=d+4|0;f=c[b>>2]|0;h=d+8|0;if((f|0)==(c[h>>2]|0)?(i=f|0?f<<1:1,(f|0)<(i|0)):0){if(!i){j=0;k=f}else{c[4350]=(c[4350]|0)+1;l=Tr((i<<2|3)+16|0)|0;if(!l)m=0;else{n=l+4+15&-16;c[n+-4>>2]=l;m=n}j=m;k=c[b>>2]|0}m=d+12|0;if((k|0)>0){n=0;do{c[j+(n<<2)>>2]=c[(c[m>>2]|0)+(n<<2)>>2];n=n+1|0}while((n|0)!=(k|0))}n=c[m>>2]|0;l=d+16|0;if(!n)o=k;else{if(!(a[l>>0]|0))p=k;else{c[4351]=(c[4351]|0)+1;Ur(c[n+-4>>2]|0);p=c[b>>2]|0}c[m>>2]=0;o=p}a[l>>0]=1;c[m>>2]=j;c[h>>2]=i;q=o;r=c[e>>2]|0}else{q=f;r=g}c[(c[d+12>>2]|0)+(q<<2)>>2]=r;c[b>>2]=q+1;return}function Cl(b,e,f){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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;g=b+12|0;h=e;while(1){e=c[g>>2]|0;i=c[e+(((h+f|0)/2|0)<<3)>>2]|0;j=e;e=h;k=f;while(1){l=e;while(1){m=l+1|0;if((c[j+(l<<3)>>2]|0)<(i|0))l=m;else{n=k;break}}while(1){o=j+(n<<3)|0;p=n+-1|0;if((i|0)<(c[o>>2]|0))n=p;else break}if((l|0)>(n|0)){q=l;r=n}else{s=j+(l<<3)|0;t=s;u=t;v=d[u>>0]|d[u+1>>0]<<8|d[u+2>>0]<<16|d[u+3>>0]<<24;u=t+4|0;t=d[u>>0]|d[u+1>>0]<<8|d[u+2>>0]<<16|d[u+3>>0]<<24;u=o;w=c[u+4>>2]|0;x=s;c[x>>2]=c[u>>2];c[x+4>>2]=w;w=(c[g>>2]|0)+(n<<3)|0;x=w;a[x>>0]=v;a[x+1>>0]=v>>8;a[x+2>>0]=v>>16;a[x+3>>0]=v>>24;v=w+4|0;a[v>>0]=t;a[v+1>>0]=t>>8;a[v+2>>0]=t>>16;a[v+3>>0]=t>>24;q=m;r=p}if((q|0)>(r|0))break;j=c[g>>2]|0;e=q;k=r}if((r|0)>(h|0))Cl(b,h,r);if((q|0)<(f|0))h=q;else break}return}function Dl(a){a=a|0;return}function El(a){a=a|0;Ur(a);return}function Fl(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,l=0,m=0,n=0.0,o=0,p=0.0,q=0,r=0.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.0,E=0,F=0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,P=0.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,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0,ca=0,da=0,ea=0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0,na=0.0,oa=0.0,pa=0.0,qa=0.0,ra=0.0,sa=0.0,ta=0.0,ua=0.0;e=i;i=i+64|0;h=e+48|0;j=e+32|0;k=e+16|0;l=e;m=b+112|0;n=+g[b+48>>2]-+g[m>>2];o=b+116|0;p=+g[b+52>>2]-+g[o>>2];q=b+120|0;r=+g[b+56>>2]-+g[q>>2];s=b+64|0;t=b+80|0;u=b+96|0;v=b+68|0;w=b+84|0;x=b+100|0;y=b+72|0;z=b+88|0;A=b+104|0;B=n*+g[s>>2]+p*+g[t>>2]+r*+g[u>>2];C=n*+g[v>>2]+p*+g[w>>2]+r*+g[x>>2];D=n*+g[y>>2]+p*+g[z>>2]+r*+g[A>>2];b=a+8|0;E=c[b>>2]|0;F=c[a+4>>2]|0;r=+g[F+32>>2]*+g[F+16>>2];p=r+ +g[a+12>>2];n=+g[E+76>>2];G=+g[E+60>>2];H=n-G;I=+g[E+80>>2];J=+g[E+64>>2];K=I-J;L=+g[E+84>>2];M=+g[E+68>>2];N=L-M;P=+g[E+92>>2];Q=P-G;R=+g[E+96>>2];S=R-J;T=+g[E+100>>2];U=T-M;V=K*U-N*S;W=N*Q-H*U;U=H*S-K*Q;Q=1.0/+O(+(U*U+(V*V+W*W)));S=Q*V;V=Q*W;W=Q*U;U=B-G;Q=C-J;X=D-M;Y=U*S+Q*V+W*X;if(Y<0.0){Z=-Y;_=-S;$=-V;aa=-W}else{Z=Y;_=S;$=V;aa=W}if(!(Z<p)){i=e;return}W=P-n;V=R-I;S=T-L;Y=G-P;G=J-R;J=M-T;M=X*(H*$-K*_)+(U*(K*aa-N*$)+Q*(N*_-H*aa));H=(D-L)*(W*$-V*_)+((B-n)*(V*aa-S*$)+(C-I)*(S*_-W*aa));W=(D-T)*(Y*$-G*_)+((B-P)*(G*aa-J*$)+(C-R)*(J*_-Y*aa));if(!(W>0.0&(M>0.0&H>0.0))?!(W<=0.0&(M<=0.0&H<=0.0)):0){H=p*p;if((zb[c[(c[E>>2]|0)+100>>2]&127](E)|0)<=0){i=e;return}E=h+4|0;a=h+8|0;F=j+4|0;ba=j+8|0;M=0.0;W=0.0;Y=0.0;ca=0;da=0;while(1){ea=c[b>>2]|0;ec[c[(c[ea>>2]|0)+104>>2]&63](ea,da,h,j);J=+g[h>>2];R=B-J;G=+g[E>>2];P=C-G;T=+g[a>>2];S=D-T;I=+g[j>>2]-J;V=+g[F>>2]-G;n=+g[ba>>2]-T;L=R*I+P*V+S*n;do if(L>0.0){N=I*I+V*V+n*n;if(L<N){Q=L/N;fa=R-I*Q;ga=P-V*Q;ha=S-n*Q;ia=Q;break}else{fa=R-I;ga=P-V;ha=S-n;ia=1.0;break}}else{fa=R;ga=P;ha=S;ia=0.0}while(0);if(fa*fa+ga*ga+ha*ha<H){ja=J+I*ia;ka=T+n*ia;la=G+V*ia;ma=1}else{ja=M;ka=W;la=Y;ma=ca}da=da+1|0;ea=c[b>>2]|0;if((da|0)>=(zb[c[(c[ea>>2]|0)+100>>2]&127](ea)|0))break;else{M=ja;W=ka;Y=la;ca=ma}}if(!(ma&1)){i=e;return}else{na=H;oa=ja;pa=ka;qa=la}}else{na=p*p;oa=B-Z*_;pa=D-Z*aa;qa=C-Z*$}Z=B-oa;B=C-qa;C=D-pa;D=Z*Z+B*B+C*C;if(!(D<na)){i=e;return}if(D>1.1920928955078125e-07){na=+O(+D);D=1.0/na;ra=r-na;sa=Z*D;ta=C*D;ua=B*D}else{ra=r;sa=_;ta=aa;ua=$}$=-ra;if(f){ra=+g[s>>2];aa=+g[v>>2];_=+g[y>>2];r=ra*sa+aa*ua+_*ta;D=+g[t>>2];B=+g[w>>2];C=+g[z>>2];Z=sa*D+ua*B+ta*C;na=+g[u>>2];p=+g[x>>2];la=+g[A>>2];ka=sa*na+ua*p+ta*la;g[h>>2]=-r;g[h+4>>2]=-Z;g[h+8>>2]=-ka;g[h+12>>2]=0.0;ja=oa*D+qa*B+pa*C+ +g[o>>2]+Z*$;Z=oa*na+qa*p+pa*la+ +g[q>>2]+ka*$;g[j>>2]=oa*ra+qa*aa+pa*_+ +g[m>>2]+r*$;g[j+4>>2]=ja;g[j+8>>2]=Z;g[j+12>>2]=0.0;$b[c[(c[d>>2]|0)+16>>2]&7](d,h,j,$);i=e;return}else{j=c[(c[d>>2]|0)+16>>2]|0;Z=+g[s>>2];ja=+g[v>>2];r=+g[y>>2];_=+g[t>>2];aa=+g[w>>2];ra=+g[z>>2];ka=+g[u>>2];la=+g[x>>2];p=+g[A>>2];g[k>>2]=Z*sa+ja*ua+r*ta;g[k+4>>2]=sa*_+ua*aa+ta*ra;g[k+8>>2]=sa*ka+ua*la+ta*p;g[k+12>>2]=0.0;ta=oa*_+qa*aa+pa*ra+ +g[o>>2];ra=oa*ka+qa*la+pa*p+ +g[q>>2];g[l>>2]=oa*Z+qa*ja+pa*r+ +g[m>>2];g[l+4>>2]=ta;g[l+8>>2]=ra;g[l+12>>2]=0.0;$b[j&7](d,k,l,$);i=e;return}}function Gl(a){a=a|0;var b=0,d=0;c[a>>2]=5432;b=a+56|0;d=c[b>>2]|0;if(d|0?(vb[c[c[d>>2]>>2]&255](d),d=c[b>>2]|0,d|0):0){c[4351]=(c[4351]|0)+1;Ur(c[d+-4>>2]|0)}c[4351]=(c[4351]|0)+1;Ur(c[a+-4>>2]|0);return}function Hl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.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.0,t=0.0,u=0.0,v=0.0;f=+Kb[c[(c[a>>2]|0)+48>>2]&7](a);h=f+ +g[a+32>>2];i=f+ +g[a+36>>2];j=f+ +g[a+40>>2];f=+N(+(+g[b>>2]));k=+N(+(+g[b+4>>2]));l=+N(+(+g[b+8>>2]));m=+N(+(+g[b+16>>2]));n=+N(+(+g[b+20>>2]));o=+N(+(+g[b+24>>2]));p=+N(+(+g[b+32>>2]));q=+N(+(+g[b+36>>2]));r=+N(+(+g[b+40>>2]));s=+g[b+48>>2];t=+g[b+52>>2];u=+g[b+56>>2];v=h*f+i*k+j*l;l=h*m+i*n+j*o;o=h*p+i*q+j*r;g[d>>2]=s-v;g[d+4>>2]=t-l;g[d+8>>2]=u-o;g[d+12>>2]=0.0;g[e>>2]=v+s;g[e+4>>2]=l+t;g[e+8>>2]=o+u;g[e+12>>2]=0.0;return}function Il(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,h=0,i=0,j=0,k=0,l=0.0,m=0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0;d=+Kb[c[(c[a>>2]|0)+48>>2]&7](a);e=+Kb[c[(c[a>>2]|0)+48>>2]&7](a);f=+Kb[c[(c[a>>2]|0)+48>>2]&7](a);h=a+32|0;i=a+36|0;j=a+40|0;k=a+16|0;l=(d+ +g[h>>2])/+g[k>>2];m=a+20|0;n=(e+ +g[i>>2])/+g[m>>2];o=a+24|0;p=(f+ +g[j>>2])/+g[o>>2];q=+N(+(+g[b>>2]));r=+N(+(+g[b+4>>2]));s=+N(+(+g[b+8>>2]));g[k>>2]=q;g[m>>2]=r;g[o>>2]=s;g[a+28>>2]=0.0;g[h>>2]=l*q-d;g[i>>2]=n*r-e;g[j>>2]=p*s-f;g[a+44>>2]=0.0;return}function Jl(a){a=a|0;return a+16|0}function Kl(a,b,d){a=a|0;b=+b;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;e=+g[a+32>>2];f=+g[a+36>>2];h=+g[a+40>>2];i=+Kb[c[(c[a>>2]|0)+48>>2]&7](a);j=+Kb[c[(c[a>>2]|0)+48>>2]&7](a);k=(e+i)*2.0;i=(f+j)*2.0;j=(h+ +Kb[c[(c[a>>2]|0)+48>>2]&7](a))*2.0;h=b/12.0;b=i*i;i=j*j;j=k*k;g[d>>2]=h*(b+i);g[d+4>>2]=h*(j+i);g[d+8>>2]=h*(j+b);g[d+12>>2]=0.0;return}function Ll(a){a=a|0;return 10848}function Ml(a,b){a=a|0;b=b|0;c[a>>2]=1065353216;c[a+4>>2]=1065353216;c[a+8>>2]=1065353216;g[a+12>>2]=0.0;return}function Nl(a,b){a=a|0;b=+b;var d=0.0,e=0.0,f=0.0,h=0,i=0.0,j=0,k=0,l=0.0;d=+Kb[c[(c[a>>2]|0)+48>>2]&7](a);e=+Kb[c[(c[a>>2]|0)+48>>2]&7](a);f=+Kb[c[(c[a>>2]|0)+48>>2]&7](a);h=a+32|0;i=d+ +g[h>>2];j=a+36|0;d=e+ +g[j>>2];k=a+40|0;e=f+ +g[k>>2];g[a+48>>2]=b;b=+Kb[c[(c[a>>2]|0)+48>>2]&7](a);f=+Kb[c[(c[a>>2]|0)+48>>2]&7](a);l=e-+Kb[c[(c[a>>2]|0)+48>>2]&7](a);g[h>>2]=i-b;g[j>>2]=d-f;g[k>>2]=l;g[a+44>>2]=0.0;return}function Ol(a){a=a|0;return +(+g[a+48>>2])}function Pl(a){a=a|0;return 52}function Ql(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Rb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=Rb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)xb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+28>>2]=c[a+32>>2];c[b+32>>2]=c[a+36>>2];c[b+36>>2]=c[a+40>>2];c[b+40>>2]=c[a+44>>2];c[b+12>>2]=c[a+16>>2];c[b+16>>2]=c[a+20>>2];c[b+20>>2]=c[a+24>>2];c[b+24>>2]=c[a+28>>2];c[b+44>>2]=c[a+48>>2];return 10852}function Rl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;e=+g[b+32>>2];f=+g[b+36>>2];h=+g[b+40>>2];i=+Kb[c[(c[b>>2]|0)+48>>2]&7](b);j=+Kb[c[(c[b>>2]|0)+48>>2]&7](b);k=e+i;i=f+j;j=h+ +Kb[c[(c[b>>2]|0)+48>>2]&7](b);h=+g[d+4>>2]>=0.0?i:-i;i=+g[d+8>>2]>=0.0?j:-j;g[a>>2]=+g[d>>2]>=0.0?k:-k;g[a+4>>2]=h;g[a+8>>2]=i;g[a+12>>2]=0.0;return}function Sl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0;d=+g[b+32>>2];e=+g[b+36>>2];f=+g[c+4>>2]>=0.0?e:-e;e=+g[b+40>>2];h=+g[c+8>>2]>=0.0?e:-e;g[a>>2]=+g[c>>2]>=0.0?d:-d;g[a+4>>2]=f;g[a+8>>2]=h;g[a+12>>2]=0.0;return}function Tl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,h=0,i=0.0,j=0.0,k=0.0,l=0.0;if((d|0)<=0)return;e=a+32|0;f=a+36|0;h=a+40|0;a=0;do{i=+g[e>>2];j=+g[f>>2];k=+g[b+(a<<4)+4>>2]>=0.0?j:-j;j=+g[h>>2];l=+g[b+(a<<4)+8>>2]>=0.0?j:-j;g[c+(a<<4)>>2]=+g[b+(a<<4)>>2]>=0.0?i:-i;g[c+(a<<4)+4>>2]=k;g[c+(a<<4)+8>>2]=l;g[c+(a<<4)+12>>2]=0.0;a=a+1|0}while((a|0)!=(d|0));return}function Ul(a){a=a|0;return 6}function Vl(a,b,d){a=a|0;b=b|0;d=d|0;switch(b|0){case 0:{c[d>>2]=1065353216;c[d+4>>2]=0;c[d+8>>2]=0;g[d+12>>2]=0.0;return}case 1:{c[d>>2]=-1082130432;c[d+4>>2]=0;c[d+8>>2]=0;g[d+12>>2]=0.0;return}case 2:{c[d>>2]=0;c[d+4>>2]=1065353216;c[d+8>>2]=0;g[d+12>>2]=0.0;return}case 3:{c[d>>2]=0;c[d+4>>2]=-1082130432;c[d+8>>2]=0;g[d+12>>2]=0.0;return}case 4:{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=1065353216;g[d+12>>2]=0.0;return}case 5:{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=-1082130432;g[d+12>>2]=0.0;return}default:return}}function Wl(a){a=a|0;return 8}function Xl(a){a=a|0;return 12}function Yl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;do switch(b|0){case 0:{f=0;g=1;break}case 1:{f=0;g=2;break}case 2:{f=1;g=3;break}case 3:{f=2;g=b;break}case 4:{f=0;g=b;break}case 5:{f=1;g=b;break}case 6:{f=2;g=b;break}case 7:{f=3;g=b;break}case 8:{f=4;g=5;break}case 9:{f=4;g=6;break}case 10:{f=5;g=7;break}case 11:{f=6;g=7;break}default:{f=0;g=0}}while(0);ac[c[(c[a>>2]|0)+108>>2]&63](a,f,d);ac[c[(c[a>>2]|0)+108>>2]&63](a,g,e);return}function Zl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0,m=0;e=+g[a+32>>2];f=+g[a+36>>2];h=+g[a+40>>2];i=+Kb[c[(c[a>>2]|0)+48>>2]&7](a);j=+Kb[c[(c[a>>2]|0)+48>>2]&7](a);k=e+i;i=f+j;j=h+ +Kb[c[(c[a>>2]|0)+48>>2]&7](a);a=b&1;l=b>>>1&1;m=b>>>2&1;g[d>>2]=+(a^1|0)*k-+(a|0)*k;g[d+4>>2]=+(l^1|0)*i-+(l|0)*i;g[d+8>>2]=+(m^1|0)*j-+(m|0)*j;g[d+12>>2]=0.0;return}function _l(a){a=a|0;return 6}function $l(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,l=0,m=0,n=0,o=0.0,p=0.0,q=0.0;f=i;i=i+48|0;h=f+32|0;j=f+16|0;l=f;ac[c[(c[a>>2]|0)+124>>2]&63](a,h,e);e=c[h>>2]|0;m=c[h+4>>2]|0;n=c[h+8>>2]|0;c[b>>2]=e;c[b+4>>2]=m;c[b+8>>2]=n;g[b+12>>2]=0.0;b=c[(c[a>>2]|0)+64>>2]|0;o=-(c[k>>2]=e,+g[k>>2]);p=-(c[k>>2]=m,+g[k>>2]);q=-(c[k>>2]=n,+g[k>>2]);g[l>>2]=o;g[l+4>>2]=p;g[l+8>>2]=q;g[l+12>>2]=0.0;ac[b&63](j,a,l);c[d>>2]=c[j>>2];c[d+4>>2]=c[j+4>>2];c[d+8>>2]=c[j+8>>2];c[d+12>>2]=c[j+12>>2];i=f;return}function am(a,b,c){a=a|0;b=b|0;c=+c;var d=0.0,e=0.0,f=0.0,h=0.0,i=0;d=+g[a+32>>2];e=+g[a+36>>2];f=+g[a+40>>2];h=+g[b>>2];if(!(h<=d+c)){i=0;return i|0}if(!(h>=-d-c)){i=0;return i|0}d=+g[b+4>>2];if(!(d<=e+c)){i=0;return i|0}if(!(d>=-e-c)){i=0;return i|0}e=+g[b+8>>2];if(!(e<=f+c)){i=0;return i|0}i=e>=-f-c;return i|0}function bm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0;e=+g[a+32>>2];f=+g[a+36>>2];h=+g[a+40>>2];switch(d|0){case 0:{c[b>>2]=1065353216;c[b+4>>2]=0;c[b+8>>2]=0;g[b+12>>2]=-e;return}case 1:{c[b>>2]=-1082130432;c[b+4>>2]=0;c[b+8>>2]=0;g[b+12>>2]=-e;return}case 2:{c[b>>2]=0;c[b+4>>2]=1065353216;c[b+8>>2]=0;g[b+12>>2]=-f;return}case 3:{c[b>>2]=0;c[b+4>>2]=-1082130432;c[b+8>>2]=0;g[b+12>>2]=-f;return}case 4:{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=1065353216;g[b+12>>2]=-h;return}case 5:{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=-1082130432;g[b+12>>2]=-h;return}default:return}}function cm(b){b=b|0;var d=0;c[b>>2]=4636;if(!(a[b+65>>0]|0))return;d=b+56|0;b=c[d>>2]|0;vb[c[c[b>>2]>>2]&255](b);b=c[d>>2]|0;if(!b)return;c[4351]=(c[4351]|0)+1;Ur(c[b+-4>>2]|0);return}function dm(b){b=b|0;var d=0,e=0;c[b>>2]=4636;if(a[b+65>>0]|0?(d=b+56|0,e=c[d>>2]|0,vb[c[c[e>>2]>>2]&255](e),e=c[d>>2]|0,e|0):0){c[4351]=(c[4351]|0)+1;Ur(c[e+-4>>2]|0)}c[4351]=(c[4351]|0)+1;Ur(c[b+-4>>2]|0);return}function em(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0,k=0,l=0;e=zb[c[(c[b>>2]|0)+28>>2]&127](b)|0;f=+g[e>>2]-+g[d>>2];h=+g[e+4>>2]-+g[d+4>>2];i=+g[e+8>>2]-+g[d+8>>2];if(!(f*f+h*h+i*i>1.1920928955078125e-07))return;No(b,d);d=b+65|0;e=b+56|0;if((a[d>>0]|0)!=0?(j=c[e>>2]|0,vb[c[c[j>>2]>>2]&255](j),j=c[e>>2]|0,(j|0)!=0):0){c[4351]=(c[4351]|0)+1;Ur(c[j+-4>>2]|0);k=e}else k=e;c[4350]=(c[4350]|0)+1;e=Tr(191)|0;if(!e)l=0;else{j=e+4+15&-16;c[j+-4>>2]=e;l=j}c[l+52>>2]=283;a[l+60>>0]=0;a[l+80>>0]=1;c[l+76>>2]=0;c[l+68>>2]=0;c[l+72>>2]=0;a[l+100>>0]=1;c[l+96>>2]=0;c[l+88>>2]=0;c[l+92>>2]=0;a[l+120>>0]=1;c[l+116>>2]=0;c[l+108>>2]=0;c[l+112>>2]=0;a[l+140>>0]=1;c[l+136>>2]=0;c[l+128>>2]=0;c[l+132>>2]=0;c[l+144>>2]=0;a[l+164>>0]=1;c[l+160>>2]=0;c[l+152>>2]=0;c[l+156>>2]=0;c[l+168>>2]=0;c[l+4>>2]=-8388609;c[l+8>>2]=-8388609;c[l+12>>2]=-8388609;g[l+16>>2]=0.0;c[l+20>>2]=2139095039;c[l+24>>2]=2139095039;c[l+28>>2]=2139095039;g[l+32>>2]=0.0;c[l>>2]=5352;c[k>>2]=l;Zn(l,c[b+52>>2]|0,(a[b+64>>0]|0)!=0,b+20|0,b+36|0);a[d>>0]=1;return}function fm(a){a=a|0;return 10903}function gm(a,b){a=a|0;b=+b;g[a+16>>2]=b;return}function hm(a){a=a|0;return +(+g[a+16>>2])}function im(a){a=a|0;return 60}function jm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=Rb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=Rb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)xb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];e=c[a+52>>2]|0;Hb[c[(c[e>>2]|0)+56>>2]&31](e,b+12|0,d)|0;c[b+52>>2]=c[a+16>>2];e=a+56|0;do if((c[e>>2]|0)!=0?((zb[c[(c[d>>2]|0)+52>>2]&127](d)|0)&1|0)==0:0){f=Rb[c[(c[d>>2]|0)+24>>2]&31](d,c[e>>2]|0)|0;if(!f){c[b+40>>2]=Rb[c[(c[d>>2]|0)+28>>2]&31](d,c[e>>2]|0)|0;c[b+44>>2]=0;g=c[e>>2]|0;h=zb[c[(c[g>>2]|0)+12>>2]&127](g)|0;g=Hb[c[(c[d>>2]|0)+16>>2]&31](d,h,1)|0;h=c[e>>2]|0;i=Hb[c[(c[h>>2]|0)+16>>2]&31](h,c[g+8>>2]|0,d)|0;tb[c[(c[d>>2]|0)+20>>2]&31](d,g,i,1213612625,c[e>>2]|0);break}else{c[b+40>>2]=f;c[b+44>>2]=0;break}}else j=8;while(0);if((j|0)==8){c[b+40>>2]=0;c[b+44>>2]=0}j=a+60|0;if(c[j>>2]|0?((zb[c[(c[d>>2]|0)+52>>2]&127](d)|0)&2|0)==0:0){a=Rb[c[(c[d>>2]|0)+24>>2]&31](d,c[j>>2]|0)|0;if(!a){c[b+48>>2]=Rb[c[(c[d>>2]|0)+28>>2]&31](d,c[j>>2]|0)|0;e=c[j>>2]|0;f=zb[c[(c[e>>2]|0)+8>>2]&127](e)|0;e=Hb[c[(c[d>>2]|0)+16>>2]&31](d,f,1)|0;f=c[j>>2]|0;i=Hb[c[(c[f>>2]|0)+12>>2]&31](f,c[e+8>>2]|0,d)|0;tb[c[(c[d>>2]|0)+20>>2]&31](d,e,i,1346456916,c[j>>2]|0);return 10919}else{c[b+48>>2]=a;return 10919}}c[b+48>>2]=0;return 10919}function km(d,f,h,j){d=d|0;f=f|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,G=0,H=0,I=0,J=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.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0,Y=0,Z=0,_=0,$=0,aa=0;k=i;i=i+80|0;l=k+66|0;m=k+60|0;n=k;o=c[d+52>>2]|0;c[n>>2]=4728;c[n+4>>2]=o;c[n+8>>2]=f;f=c[d+56>>2]|0;if(!(a[f+60>>0]|0)){d=f+56|0;o=c[d>>2]|0;if((o|0)>0){p=h+8|0;q=h+4|0;r=j+4|0;s=j+8|0;t=o;o=0;u=c[f+96>>2]|0;v=0;while(1){w=v+1|0;if(!(+g[h>>2]>+g[u+16>>2])?!(+g[j>>2]<+g[u>>2]):0)x=1;else x=0;if(!(+g[p>>2]>+g[u+24>>2])?!(+g[s>>2]<+g[u+8>>2]):0)y=x;else y=0;if(!(+g[q>>2]>+g[u+20>>2])?!(+g[r>>2]<+g[u+4>>2]):0){z=c[u+32>>2]|0;A=(z|0)==-1;if(y&A){ac[c[(c[n>>2]|0)+8>>2]&63](n,c[u+36>>2]|0,c[u+40>>2]|0);B=c[d>>2]|0;C=43}else{D=y;E=A;F=z;C=42}}else{z=c[u+32>>2]|0;D=0;E=(z|0)==-1;F=z;C=42}if((C|0)==42){C=0;if(E|D){B=t;C=43}else{G=t;H=F+o|0;I=u+(F<<6)|0}}if((C|0)==43){C=0;G=B;H=o+1|0;I=u+64|0}if((H|0)<(G|0)){t=G;o=H;u=I;v=w}else{J=w;break}}}else J=0;if((c[4343]|0)>=(J|0)){i=k;return}c[4343]=J;i=k;return}K=+g[h>>2];L=+g[h+4>>2];M=+g[h+8>>2];N=+g[f+4>>2];O=K<N?N:K;K=+g[f+8>>2];P=L<K?K:L;L=+g[f+12>>2];Q=M<L?L:M;M=+g[f+20>>2];R=+g[f+24>>2];S=+g[f+28>>2];T=+g[f+36>>2];U=+g[f+40>>2];V=+g[f+44>>2];h=~~(((M<O?M:O)-N)*T)&65534;b[l>>1]=h;J=~~(((S<Q?S:Q)-L)*V)&65534;v=~~(((R<P?R:P)-K)*U)&65534;b[l+2>>1]=v;b[l+4>>1]=J;P=+g[j>>2];Q=+g[j+4>>2];O=+g[j+8>>2];W=P<N?N:P;P=Q<K?K:Q;Q=O<L?L:O;j=(~~(((M<W?M:W)-N)*T+1.0)&65535|1)&65535;b[m>>1]=j;I=(~~(((S<Q?S:Q)-L)*V+1.0)&65535|1)&65535;u=(~~(((R<P?R:P)-K)*U+1.0)&65535|1)&65535;b[m+2>>1]=u;b[m+4>>1]=I;switch(c[f+144>>2]|0){case 0:{H=c[f+56>>2]|0;if((H|0)>0){o=0;G=c[f+136>>2]|0;t=0;while(1){B=t+1|0;C=((j&65535)>=(e[G>>1]|0)?(h&65535)<=(e[G+6>>1]|0):0)&(J&65535)<=(e[G+10>>1]|0)&(I&65535)>=(e[G+4>>1]|0)&(v&65535)<=(e[G+8>>1]|0)&(u&65535)>=(e[G+2>>1]|0);F=G+12|0;D=c[F>>2]|0;E=(D|0)>-1;if(E&C)ac[c[(c[n>>2]|0)+8>>2]&63](n,D>>21,D&2097151);if(C|E){X=o+1|0;Y=G+16|0}else{E=c[F>>2]|0;X=o-E|0;Y=G+(0-E<<4)|0}if((X|0)<(H|0)){o=X;G=Y;t=B}else{Z=B;break}}}else Z=0;if((c[4343]|0)<(Z|0))c[4343]=Z;break}case 1:{Z=f+152|0;if((c[Z>>2]|0)>0){t=f+160|0;Y=f+136|0;G=0;do{X=c[t>>2]|0;if(((j&65535)>=(e[X+(G<<5)>>1]|0)?(h&65535)<=(e[X+(G<<5)+6>>1]|0):0)&(J&65535)<=(e[X+(G<<5)+10>>1]|0)&(I&65535)>=(e[X+(G<<5)+4>>1]|0)&(v&65535)<=(e[X+(G<<5)+8>>1]|0)&(u&65535)>=(e[X+(G<<5)+2>>1]|0)){o=c[X+(G<<5)+12>>2]|0;H=c[X+(G<<5)+16>>2]|0;X=H+o|0;if((H|0)>0){H=o;B=(c[Y>>2]|0)+(o<<4)|0;o=0;while(1){E=o+1|0;F=((j&65535)>=(e[B>>1]|0)?(h&65535)<=(e[B+6>>1]|0):0)&(J&65535)<=(e[B+10>>1]|0)&(I&65535)>=(e[B+4>>1]|0)&(v&65535)<=(e[B+8>>1]|0)&(u&65535)>=(e[B+2>>1]|0);C=B+12|0;D=c[C>>2]|0;y=(D|0)>-1;if(y&F)ac[c[(c[n>>2]|0)+8>>2]&63](n,D>>21,D&2097151);if(F|y){_=H+1|0;$=B+16|0}else{y=c[C>>2]|0;_=H-y|0;$=B+(0-y<<4)|0}if((_|0)<(X|0)){H=_;B=$;o=E}else{aa=E;break}}}else aa=0;if((c[4343]|0)<(aa|0))c[4343]=aa}G=G+1|0}while((G|0)<(c[Z>>2]|0))}break}case 2:{Vp(c[f+136>>2]|0,n,l,m);break}default:{}}i=k;return}function lm(a){a=a|0;return}function mm(a){a=a|0;Ur(a);return}function nm(a,b,f){a=a|0;b=b|0;f=f|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.0,w=0.0,x=0.0,y=0,z=0.0,A=0.0,B=0.0,C=0,D=0.0,E=0.0,F=0.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;j=i;i=i+32|0;k=j+28|0;l=j+20|0;m=j+16|0;n=j+12|0;o=j+8|0;p=j;q=a+4|0;r=c[q>>2]|0;Qb[c[(c[r>>2]|0)+16>>2]&3](r,k,j+24|0,l,m,n,o,j+4|0,p,b);r=(c[n>>2]|0)+(_(c[o>>2]|0,f)|0)|0;o=c[q>>2]|0;n=o+4|0;s=o+8|0;t=o+12|0;o=c[p>>2]|0;switch(o|0){case 3:{u=e[r+4>>1]|0;break}case 2:{u=c[r+8>>2]|0;break}default:u=d[r+2>>0]|0}p=(c[l>>2]|0)==0;l=c[k>>2]|0;k=c[m>>2]|0;m=l+(_(k,u)|0)|0;if(p){v=+g[m+8>>2]*+g[t>>2];w=+g[m+4>>2]*+g[s>>2];x=+g[m>>2]*+g[n>>2]}else{v=+h[m+16>>3]*+g[t>>2];w=+h[m+8>>3]*+g[s>>2];x=+h[m>>3]*+g[n>>2]}g[a+44>>2]=x;g[a+48>>2]=w;g[a+52>>2]=v;g[a+56>>2]=0.0;switch(o|0){case 3:{y=e[r+2>>1]|0;break}case 2:{y=c[r+4>>2]|0;break}default:y=d[r+1>>0]|0}m=l+(_(k,y)|0)|0;if(p){z=+g[m+8>>2]*+g[t>>2];A=+g[m+4>>2]*+g[s>>2];B=+g[m>>2]*+g[n>>2]}else{z=+h[m+16>>3]*+g[t>>2];A=+h[m+8>>3]*+g[s>>2];B=+h[m>>3]*+g[n>>2]}g[a+28>>2]=B;g[a+32>>2]=A;g[a+36>>2]=z;g[a+40>>2]=0.0;switch(o|0){case 3:{C=e[r>>1]|0;break}case 2:{C=c[r>>2]|0;break}default:C=d[r>>0]|0}r=l+(_(k,C)|0)|0;if(p){D=+g[r+8>>2]*+g[t>>2];E=+g[r+4>>2]*+g[s>>2];F=+g[r>>2]*+g[n>>2];G=a+12|0;g[G>>2]=F;H=a+16|0;g[H>>2]=E;I=a+20|0;g[I>>2]=D;J=a+24|0;g[J>>2]=0.0;K=a+8|0;L=c[K>>2]|0;M=c[L>>2]|0;N=M+8|0;O=c[N>>2]|0;P=a+12|0;ec[O&63](L,P,b,f);Q=c[q>>2]|0;R=c[Q>>2]|0;S=R+24|0;T=c[S>>2]|0;xb[T&127](Q,b);i=j;return}else{D=+h[r+16>>3]*+g[t>>2];E=+h[r+8>>3]*+g[s>>2];F=+h[r>>3]*+g[n>>2];G=a+12|0;g[G>>2]=F;H=a+16|0;g[H>>2]=E;I=a+20|0;g[I>>2]=D;J=a+24|0;g[J>>2]=0.0;K=a+8|0;L=c[K>>2]|0;M=c[L>>2]|0;N=M+8|0;O=c[N>>2]|0;P=a+12|0;ec[O&63](L,P,b,f);Q=c[q>>2]|0;R=c[Q>>2]|0;S=R+24|0;T=c[S>>2]|0;xb[T&127](Q,b);i=j;return}}function om(a,b,d){a=a|0;b=b|0;d=d|0;ac[c[(c[b>>2]|0)+68>>2]&63](a,b,d);return}function pm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+56|0;a=c[d>>2]|0;if(!a)return;e=zb[c[(c[a>>2]|0)+12>>2]&127](a)|0;a=Hb[c[(c[b>>2]|0)+16>>2]&31](b,e,1)|0;e=c[d>>2]|0;f=Hb[c[(c[e>>2]|0)+16>>2]&31](e,c[a+8>>2]|0,b)|0;tb[c[(c[b>>2]|0)+20>>2]&31](b,a,f,1213612625,c[d>>2]|0);return}function qm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+60|0;a=c[d>>2]|0;if(!a)return;e=zb[c[(c[a>>2]|0)+8>>2]&127](a)|0;a=Hb[c[(c[b>>2]|0)+16>>2]&31](b,e,1)|0;e=c[d>>2]|0;f=Hb[c[(c[e>>2]|0)+12>>2]&31](e,c[a+8>>2]|0,b)|0;tb[c[(c[b>>2]|0)+20>>2]&31](b,a,f,1346456916,c[d>>2]|0);return}function rm(a){a=a|0;Ur(a);return}function sm(a,b,d){a=a|0;b=b|0;d=d|0;var f=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.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0;f=i;i=i+80|0;j=f+32|0;k=f+28|0;l=f+20|0;m=f+16|0;n=f+12|0;o=f+8|0;p=f;q=a+4|0;r=c[q>>2]|0;Qb[c[(c[r>>2]|0)+16>>2]&3](r,k,f+24|0,l,m,n,o,f+4|0,p,b);r=(c[n>>2]|0)+(_(c[o>>2]|0,d)|0)|0;o=c[q>>2]|0;n=(c[l>>2]|0)==0;l=c[k>>2]|0;k=o+4|0;s=o+8|0;t=o+12|0;if((c[p>>2]|0)==3){p=c[m>>2]|0;o=l+(_(p,e[r+4>>1]|0)|0)|0;if(n){u=+g[o+8>>2]*+g[t>>2];v=+g[o+4>>2]*+g[s>>2];w=+g[o>>2]*+g[k>>2]}else{u=+h[o+16>>3]*+g[t>>2];v=+h[o+8>>3]*+g[s>>2];w=+h[o>>3]*+g[k>>2]}g[j+32>>2]=w;g[j+36>>2]=v;g[j+40>>2]=u;g[j+44>>2]=0.0;o=l+(_(p,e[r+2>>1]|0)|0)|0;if(n){x=+g[o+8>>2]*+g[t>>2];y=+g[o+4>>2]*+g[s>>2];z=+g[o>>2]*+g[k>>2]}else{x=+h[o+16>>3]*+g[t>>2];y=+h[o+8>>3]*+g[s>>2];z=+h[o>>3]*+g[k>>2]}g[j+16>>2]=z;g[j+20>>2]=y;g[j+24>>2]=x;g[j+28>>2]=0.0;o=l+(_(p,e[r>>1]|0)|0)|0;if(n){A=+g[o+8>>2]*+g[t>>2];B=+g[o+4>>2]*+g[s>>2];C=+g[o>>2]*+g[k>>2]}else{A=+h[o+16>>3]*+g[t>>2];B=+h[o+8>>3]*+g[s>>2];C=+h[o>>3]*+g[k>>2]}g[j>>2]=C;g[j+4>>2]=B;g[j+8>>2]=A;g[j+12>>2]=0.0;D=a+8|0;E=c[D>>2]|0;F=c[E>>2]|0;G=F+8|0;H=c[G>>2]|0;ec[H&63](E,j,b,d);I=c[q>>2]|0;J=c[I>>2]|0;K=J+24|0;L=c[K>>2]|0;xb[L&127](I,b);i=f;return}else{o=c[m>>2]|0;m=l+(_(o,c[r+8>>2]|0)|0)|0;if(n){M=+g[m+8>>2]*+g[t>>2];N=+g[m+4>>2]*+g[s>>2];O=+g[m>>2]*+g[k>>2]}else{M=+h[m+16>>3]*+g[t>>2];N=+h[m+8>>3]*+g[s>>2];O=+h[m>>3]*+g[k>>2]}g[j+32>>2]=O;g[j+36>>2]=N;g[j+40>>2]=M;g[j+44>>2]=0.0;m=l+(_(o,c[r+4>>2]|0)|0)|0;if(n){P=+g[m+8>>2]*+g[t>>2];Q=+g[m+4>>2]*+g[s>>2];R=+g[m>>2]*+g[k>>2]}else{P=+h[m+16>>3]*+g[t>>2];Q=+h[m+8>>3]*+g[s>>2];R=+h[m>>3]*+g[k>>2]}g[j+16>>2]=R;g[j+20>>2]=Q;g[j+24>>2]=P;g[j+28>>2]=0.0;m=l+(_(o,c[r>>2]|0)|0)|0;if(n){S=+g[m+8>>2]*+g[t>>2];T=+g[m+4>>2]*+g[s>>2];U=+g[m>>2]*+g[k>>2]}else{S=+h[m+16>>3]*+g[t>>2];T=+h[m+8>>3]*+g[s>>2];U=+h[m>>3]*+g[k>>2]}g[j>>2]=U;g[j+4>>2]=T;g[j+8>>2]=S;g[j+12>>2]=0.0;D=a+8|0;E=c[D>>2]|0;F=c[E>>2]|0;G=F+8|0;H=c[G>>2]|0;ec[H&63](E,j,b,d);I=c[q>>2]|0;J=c[I>>2]|0;K=J+24|0;L=c[K>>2]|0;xb[L&127](I,b);i=f;return}}function tm(a){a=a|0;Ur(a);return}function um(a,b,d){a=a|0;b=b|0;d=d|0;var f=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.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0;f=i;i=i+80|0;j=f+32|0;k=f+28|0;l=f+20|0;m=f+16|0;n=f+12|0;o=f+8|0;p=f;q=a+4|0;r=c[q>>2]|0;Qb[c[(c[r>>2]|0)+16>>2]&3](r,k,f+24|0,l,m,n,o,f+4|0,p,b);r=(c[n>>2]|0)+(_(c[o>>2]|0,d)|0)|0;o=c[q>>2]|0;n=(c[l>>2]|0)==0;l=c[k>>2]|0;k=o+4|0;s=o+8|0;t=o+12|0;if((c[p>>2]|0)==3){p=c[m>>2]|0;o=l+(_(p,e[r+4>>1]|0)|0)|0;if(n){u=+g[o+8>>2]*+g[t>>2];v=+g[o+4>>2]*+g[s>>2];w=+g[o>>2]*+g[k>>2]}else{u=+h[o+16>>3]*+g[t>>2];v=+h[o+8>>3]*+g[s>>2];w=+h[o>>3]*+g[k>>2]}g[j+32>>2]=w;g[j+36>>2]=v;g[j+40>>2]=u;g[j+44>>2]=0.0;o=l+(_(p,e[r+2>>1]|0)|0)|0;if(n){x=+g[o+8>>2]*+g[t>>2];y=+g[o+4>>2]*+g[s>>2];z=+g[o>>2]*+g[k>>2]}else{x=+h[o+16>>3]*+g[t>>2];y=+h[o+8>>3]*+g[s>>2];z=+h[o>>3]*+g[k>>2]}g[j+16>>2]=z;g[j+20>>2]=y;g[j+24>>2]=x;g[j+28>>2]=0.0;o=l+(_(p,e[r>>1]|0)|0)|0;if(n){A=+g[o+8>>2]*+g[t>>2];B=+g[o+4>>2]*+g[s>>2];C=+g[o>>2]*+g[k>>2]}else{A=+h[o+16>>3]*+g[t>>2];B=+h[o+8>>3]*+g[s>>2];C=+h[o>>3]*+g[k>>2]}g[j>>2]=C;g[j+4>>2]=B;g[j+8>>2]=A;g[j+12>>2]=0.0;D=a+8|0;E=c[D>>2]|0;F=c[E>>2]|0;G=F+8|0;H=c[G>>2]|0;ec[H&63](E,j,b,d);I=c[q>>2]|0;J=c[I>>2]|0;K=J+24|0;L=c[K>>2]|0;xb[L&127](I,b);i=f;return}else{o=c[m>>2]|0;m=l+(_(o,c[r+8>>2]|0)|0)|0;if(n){M=+g[m+8>>2]*+g[t>>2];N=+g[m+4>>2]*+g[s>>2];O=+g[m>>2]*+g[k>>2]}else{M=+h[m+16>>3]*+g[t>>2];N=+h[m+8>>3]*+g[s>>2];O=+h[m>>3]*+g[k>>2]}g[j+32>>2]=O;g[j+36>>2]=N;g[j+40>>2]=M;g[j+44>>2]=0.0;m=l+(_(o,c[r+4>>2]|0)|0)|0;if(n){P=+g[m+8>>2]*+g[t>>2];Q=+g[m+4>>2]*+g[s>>2];R=+g[m>>2]*+g[k>>2]}else{P=+h[m+16>>3]*+g[t>>2];Q=+h[m+8>>3]*+g[s>>2];R=+h[m>>3]*+g[k>>2]}g[j+16>>2]=R;g[j+20>>2]=Q;g[j+24>>2]=P;g[j+28>>2]=0.0;m=l+(_(o,c[r>>2]|0)|0)|0;if(n){S=+g[m+8>>2]*+g[t>>2];T=+g[m+4>>2]*+g[s>>2];U=+g[m>>2]*+g[k>>2]}else{S=+h[m+16>>3]*+g[t>>2];T=+h[m+8>>3]*+g[s>>2];U=+h[m>>3]*+g[k>>2]}g[j>>2]=U;g[j+4>>2]=T;g[j+8>>2]=S;g[j+12>>2]=0.0;D=a+8|0;E=c[D>>2]|0;F=c[E>>2]|0;G=F+8|0;H=c[G>>2]|0;ec[H&63](E,j,b,d);I=c[q>>2]|0;J=c[I>>2]|0;K=J+24|0;L=c[K>>2]|0;xb[L&127](I,b);i=f;return}}function vm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,l=0,m=0,n=0,o=0.0,p=0.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,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0;f=i;i=i+16|0;h=f;j=c[a+56>>2]|0;l=c[a+32+(((j+2|0)%3|0)<<2)>>2]|0;c[h>>2]=l;m=h+4|0;c[m>>2]=l;n=h+8|0;c[n>>2]=l;g[h+12>>2]=0.0;g[h+(j<<2)>>2]=(c[k>>2]=l,+g[k>>2])+ +g[a+32+(j<<2)>>2];o=+Kb[c[(c[a>>2]|0)+48>>2]&7](a);p=+Kb[c[(c[a>>2]|0)+48>>2]&7](a);q=+Kb[c[(c[a>>2]|0)+48>>2]&7](a);r=o+ +g[h>>2];g[h>>2]=r;o=p+ +g[m>>2];g[m>>2]=o;p=q+ +g[n>>2];q=+N(+(+g[b>>2]));s=+N(+(+g[b+4>>2]));t=+N(+(+g[b+8>>2]));u=+N(+(+g[b+16>>2]));v=+N(+(+g[b+20>>2]));w=+N(+(+g[b+24>>2]));x=+N(+(+g[b+32>>2]));y=+N(+(+g[b+36>>2]));z=+N(+(+g[b+40>>2]));A=+g[b+48>>2];B=+g[b+52>>2];C=+g[b+56>>2];D=p*t+(q*r+s*o);s=p*w+(u*r+v*o);v=p*z+(x*r+y*o);g[d>>2]=A-D;g[d+4>>2]=B-s;g[d+8>>2]=C-v;g[d+12>>2]=0.0;g[e>>2]=A+D;g[e+4>>2]=B+s;g[e+8>>2]=C+v;g[e+12>>2]=0.0;i=f;return}function wm(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,h=0,i=0,j=0,k=0,l=0.0,m=0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0;d=+Kb[c[(c[a>>2]|0)+48>>2]&7](a);e=+Kb[c[(c[a>>2]|0)+48>>2]&7](a);f=+Kb[c[(c[a>>2]|0)+48>>2]&7](a);h=a+32|0;i=a+36|0;j=a+40|0;k=a+16|0;l=(d+ +g[h>>2])/+g[k>>2];m=a+20|0;n=(e+ +g[i>>2])/+g[m>>2];o=a+24|0;p=(f+ +g[j>>2])/+g[o>>2];q=+N(+(+g[b>>2]));r=+N(+(+g[b+4>>2]));s=+N(+(+g[b+8>>2]));g[k>>2]=q;g[m>>2]=r;g[o>>2]=s;g[a+28>>2]=0.0;g[h>>2]=l*q-d;g[i>>2]=n*r-e;g[j>>2]=p*s-f;g[a+44>>2]=0.0;return}function xm(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0;e=i;i=i+16|0;f=e;h=c[a+56>>2]|0;j=c[a+32+(((h+2|0)%3|0)<<2)>>2]|0;c[f>>2]=j;k=f+4|0;c[k>>2]=j;l=f+8|0;c[l>>2]=j;g[f+12>>2]=0.0;j=f+(h<<2)|0;g[j>>2]=+g[a+32+(h<<2)>>2]+ +g[j>>2];m=(+g[f>>2]+.03999999910593033)*2.0;n=(+g[k>>2]+.03999999910593033)*2.0;o=(+g[l>>2]+.03999999910593033)*2.0;p=m*m;m=n*n;n=o*o;o=b*.0833333283662796;g[d>>2]=o*(m+n);g[d+4>>2]=o*(p+n);g[d+8>>2]=o*(p+m);i=e;return}function ym(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;g[a+(c[b+56>>2]<<2)>>2]=1.0;return}function zm(a,b){a=a|0;b=+b;var d=0.0,e=0.0,f=0.0,h=0,i=0.0,j=0,k=0,l=0.0;d=+Kb[c[(c[a>>2]|0)+48>>2]&7](a);e=+Kb[c[(c[a>>2]|0)+48>>2]&7](a);f=+Kb[c[(c[a>>2]|0)+48>>2]&7](a);h=a+32|0;i=d+ +g[h>>2];j=a+36|0;d=e+ +g[j>>2];k=a+40|0;e=f+ +g[k>>2];g[a+48>>2]=b;b=+Kb[c[(c[a>>2]|0)+48>>2]&7](a);f=+Kb[c[(c[a>>2]|0)+48>>2]&7](a);l=e-+Kb[c[(c[a>>2]|0)+48>>2]&7](a);g[h>>2]=i-b;g[j>>2]=d-f;g[k>>2]=l;g[a+44>>2]=0.0;return}function Am(a){a=a|0;return 60}function Bm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Rb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=Rb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)xb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+28>>2]=c[a+32>>2];c[b+32>>2]=c[a+36>>2];c[b+36>>2]=c[a+40>>2];c[b+40>>2]=c[a+44>>2];c[b+12>>2]=c[a+16>>2];c[b+16>>2]=c[a+20>>2];c[b+20>>2]=c[a+24>>2];c[b+24>>2]=c[a+28>>2];c[b+44>>2]=c[a+48>>2];c[b+52>>2]=c[a+56>>2];return 11311}function Cm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0.0,v=0.0,w=0.0,x=0.0;e=i;i=i+16|0;f=e;h=a+4|0;j=a+8|0;k=a+12|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;l=+g[d>>2];m=+g[d+4>>2];n=+g[d+8>>2];o=l*l+m*m+n*n;if(o<9.999999747378752e-05){p=1.0;q=0.0;r=0.0}else{s=1.0/+O(+o);p=l*s;q=m*s;r=n*s}d=b+56|0;t=c[d>>2]|0;s=+g[b+32+(((t+2|0)%3|0)<<2)>>2];c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+(t<<2)>>2]=c[b+32+(t<<2)>>2];n=p*s;m=q*s;l=r*s;s=n+ +g[f>>2];o=m+ +g[f+4>>2];u=l+ +g[f+8>>2];v=+Kb[c[(c[b>>2]|0)+48>>2]&7](b);w=s-p*v;s=o-q*v;o=u-r*v;v=r*o+(p*w+q*s);if(v>-999999984306749440.0){g[a>>2]=w;g[h>>2]=s;g[j>>2]=o;g[k>>2]=0.0;x=v}else x=-999999984306749440.0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;t=c[d>>2]|0;g[f+(t<<2)>>2]=-+g[b+32+(t<<2)>>2];v=n+ +g[f>>2];n=m+ +g[f+4>>2];m=l+ +g[f+8>>2];l=+Kb[c[(c[b>>2]|0)+48>>2]&7](b);o=v-p*l;v=n-q*l;n=m-r*l;if(!(r*n+(p*o+q*v)>x)){i=e;return}g[a>>2]=o;g[h>>2]=v;g[j>>2]=n;g[k>>2]=0.0;i=e;return}function Dm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var 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.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0;f=i;i=i+16|0;h=f;j=a+56|0;k=c[j>>2]|0;l=+g[a+32+(((k+2|0)%3|0)<<2)>>2];if((e|0)<=0){i=f;return}m=h+4|0;n=h+8|0;o=h+4|0;p=h+8|0;q=k;k=0;while(1){c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+(q<<2)>>2]=c[a+32+(q<<2)>>2];r=b+(k<<4)|0;s=b+(k<<4)+4|0;t=b+(k<<4)+8|0;u=l*+g[r>>2]+ +g[h>>2];v=l*+g[s>>2]+ +g[m>>2];w=l*+g[t>>2]+ +g[n>>2];x=+Kb[c[(c[a>>2]|0)+48>>2]&7](a);y=+g[r>>2];z=+g[s>>2];A=+g[t>>2];B=u-x*y;u=v-x*z;v=w-x*A;x=y*B+z*u+A*v;if(x>-999999984306749440.0){g[d+(k<<4)>>2]=B;g[d+(k<<4)+4>>2]=u;g[d+(k<<4)+8>>2]=v;g[d+(k<<4)+12>>2]=0.0;C=+g[r>>2];D=+g[s>>2];E=+g[t>>2];F=x}else{C=y;D=z;E=A;F=-999999984306749440.0};c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;G=c[j>>2]|0;g[h+(G<<2)>>2]=-+g[a+32+(G<<2)>>2];A=l*C+ +g[h>>2];z=l*D+ +g[o>>2];y=l*E+ +g[p>>2];x=+Kb[c[(c[a>>2]|0)+48>>2]&7](a);v=+g[r>>2];u=+g[s>>2];B=+g[t>>2];w=A-x*v;A=z-x*u;z=y-x*B;if(v*w+u*A+B*z>F){g[d+(k<<4)>>2]=w;g[d+(k<<4)+4>>2]=A;g[d+(k<<4)+8>>2]=z;g[d+(k<<4)+12>>2]=0.0}t=k+1|0;if((t|0)==(e|0))break;q=c[j>>2]|0;k=t}i=f;return}function Em(a){a=a|0;return 0}function Fm(a,b,c){a=a|0;b=b|0;c=c|0;return}function Gm(a){a=a|0;if(!a)return;c[4351]=(c[4351]|0)+1;Ur(c[a+-4>>2]|0);return}function Hm(a){a=a|0;return 11348}function Im(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0;e=i;i=i+96|0;f=e+32|0;h=e+16|0;j=e;c[f>>2]=1065353216;k=f+4|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[f+20>>2]=1065353216;k=f+24|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[f+40>>2]=1065353216;k=f+44|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;ec[c[(c[a>>2]|0)+8>>2]&63](a,f,h,j);l=+g[j>>2];m=+g[h>>2];n=l-m;o=+g[j+4>>2];p=+g[h+4>>2];q=o-p;r=+g[j+8>>2];s=+g[h+8>>2];t=r-s;g[d>>2]=+O(+(n*n+q*q+t*t))*.5;g[b>>2]=(m+l)*.5;g[b+4>>2]=(p+o)*.5;g[b+8>>2]=(s+r)*.5;g[b+12>>2]=0.0;i=e;return}function Jm(a){a=a|0;var b=0,d=0,e=0,f=0.0,h=0.0,j=0.0,k=0.0;b=i;i=i+32|0;d=b+8|0;e=b;ac[c[(c[a>>2]|0)+12>>2]&63](a,d,e);f=+g[d>>2];h=+g[d+4>>2];j=+g[d+8>>2];k=+O(+(f*f+h*h+j*j));i=b;return +(k+ +g[e>>2])}function Km(a,b){a=a|0;b=+b;return +(+Kb[c[(c[a>>2]|0)+16>>2]&7](a)*b)}function Lm(a){a=a|0;return 12}function Mm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Rb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=Rb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)xb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];return 11376}function Nm(a,b){a=a|0;b=b|0;var d=0,e=0;d=zb[c[(c[a>>2]|0)+52>>2]&127](a)|0;e=Hb[c[(c[b>>2]|0)+16>>2]&31](b,d,1)|0;d=Hb[c[(c[a>>2]|0)+56>>2]&31](a,c[e+8>>2]|0,b)|0;tb[c[(c[b>>2]|0)+20>>2]&31](b,e,d,1346455635,a);return}function Om(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;c[b>>2]=4888;d=b+68|0;e=c[d>>2]|0;if(e|0?(Jp(e),e=c[d>>2]|0,e|0):0){c[4351]=(c[4351]|0)+1;Ur(c[e+-4>>2]|0)}e=b+20|0;d=b+28|0;f=c[d>>2]|0;g=b+32|0;if(!f){a[g>>0]=1;c[d>>2]=0;c[e>>2]=0;h=b+24|0;c[h>>2]=0;return}if(a[g>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[f+-4>>2]|0)}c[d>>2]=0;a[g>>0]=1;c[d>>2]=0;c[e>>2]=0;h=b+24|0;c[h>>2]=0;return}function Pm(a){a=a|0;Om(a);if(!a)return;c[4351]=(c[4351]|0)+1;Ur(c[a+-4>>2]|0);return}function Qm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0,n=0.0,o=0.0,p=0.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,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0;f=+g[a+52>>2];h=+g[a+36>>2];i=+g[a+56>>2];j=+g[a+40>>2];k=+g[a+60>>2];l=+g[a+44>>2];m=(c[a+20>>2]|0)==0;n=+Kb[c[(c[a>>2]|0)+48>>2]&7](a);o=+Kb[c[(c[a>>2]|0)+48>>2]&7](a);p=+Kb[c[(c[a>>2]|0)+48>>2]&7](a);q=(m?0.0:(f-h)*.5)+n;n=(m?0.0:(i-j)*.5)+o;o=(m?0.0:(k-l)*.5)+p;p=+g[b>>2];r=+N(+p);s=+g[b+4>>2];t=+N(+s);u=+g[b+8>>2];v=+N(+u);w=+g[b+16>>2];x=+N(+w);y=+g[b+20>>2];z=+N(+y);A=+g[b+24>>2];B=+N(+A);C=+g[b+32>>2];D=+N(+C);E=+g[b+36>>2];F=+N(+E);G=+g[b+40>>2];H=+N(+G);I=m?0.0:(f+h)*.5;h=m?0.0:(i+j)*.5;j=m?0.0:(k+l)*.5;l=I*p+h*s+j*u+ +g[b+48>>2];u=I*w+h*y+j*A+ +g[b+52>>2];A=I*C+h*E+j*G+ +g[b+56>>2];G=q*r+n*t+o*v;v=q*x+n*z+o*B;B=q*D+n*F+o*H;g[d>>2]=l-G;g[d+4>>2]=u-v;g[d+8>>2]=A-B;g[d+12>>2]=0.0;g[e>>2]=G+l;g[e+4>>2]=v+u;g[e+8>>2]=B+A;g[e+12>>2]=0.0;return}function Rm(a,b){a=a|0;b=b|0;var d=0,e=0,f=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.0,M=0.0,N=0,O=0,P=0,Q=0,R=0,S=0;d=i;i=i+144|0;e=d+128|0;f=d+112|0;h=d+80|0;j=d+16|0;k=d;l=a+20|0;if((c[l>>2]|0)<=0){m=a+80|0;c[m>>2]=c[b>>2];c[m+4>>2]=c[b+4>>2];c[m+8>>2]=c[b+8>>2];c[m+12>>2]=c[b+12>>2];n=c[a>>2]|0;o=n+68|0;p=c[o>>2]|0;vb[p&255](a);i=d;return}q=a+28|0;r=j+16|0;s=j+32|0;t=j+48|0;u=k+4|0;v=b+4|0;w=k+8|0;x=b+8|0;y=a+80|0;z=a+84|0;A=a+88|0;B=k+12|0;C=j+52|0;D=j+56|0;E=j+48|0;F=j+60|0;G=a+68|0;H=h+16|0;I=0;do{J=c[q>>2]|0;K=J+(I*80|0)|0;c[j>>2]=c[K>>2];c[j+4>>2]=c[K+4>>2];c[j+8>>2]=c[K+8>>2];c[j+12>>2]=c[K+12>>2];K=J+(I*80|0)+16|0;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];K=J+(I*80|0)+32|0;c[s>>2]=c[K>>2];c[s+4>>2]=c[K+4>>2];c[s+8>>2]=c[K+8>>2];c[s+12>>2]=c[K+12>>2];K=J+(I*80|0)+48|0;c[t>>2]=c[K>>2];c[t+4>>2]=c[K+4>>2];c[t+8>>2]=c[K+8>>2];c[t+12>>2]=c[K+12>>2];K=c[J+(I*80|0)+64>>2]|0;J=zb[c[(c[K>>2]|0)+28>>2]&127](K)|0;c[k>>2]=c[J>>2];c[k+4>>2]=c[J+4>>2];c[k+8>>2]=c[J+8>>2];L=+g[u>>2]*+g[v>>2]/+g[z>>2];M=+g[w>>2]*+g[x>>2]/+g[A>>2];g[k>>2]=+g[k>>2]*+g[b>>2]/+g[y>>2];g[u>>2]=L;g[w>>2]=M;g[B>>2]=0.0;J=c[(c[q>>2]|0)+(I*80|0)+64>>2]|0;xb[c[(c[J>>2]|0)+24>>2]&127](J,k);M=+g[C>>2]*+g[v>>2]/+g[z>>2];L=+g[D>>2]*+g[x>>2]/+g[A>>2];g[E>>2]=+g[t>>2]*+g[b>>2]/+g[y>>2];g[C>>2]=M;g[D>>2]=L;g[F>>2]=0.0;J=c[q>>2]|0;K=J+(I*80|0)|0;c[K>>2]=c[j>>2];c[K+4>>2]=c[j+4>>2];c[K+8>>2]=c[j+8>>2];c[K+12>>2]=c[j+12>>2];K=J+(I*80|0)+16|0;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];K=J+(I*80|0)+32|0;c[K>>2]=c[s>>2];c[K+4>>2]=c[s+4>>2];c[K+8>>2]=c[s+8>>2];c[K+12>>2]=c[s+12>>2];K=J+(I*80|0)+48|0;c[K>>2]=c[t>>2];c[K+4>>2]=c[t+4>>2];c[K+8>>2]=c[t+8>>2];c[K+12>>2]=c[t+12>>2];if(c[G>>2]|0){K=c[(c[q>>2]|0)+(I*80|0)+64>>2]|0;ec[c[(c[K>>2]|0)+8>>2]&63](K,j,e,f);c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];c[H>>2]=c[f>>2];c[H+4>>2]=c[f+4>>2];c[H+8>>2]=c[f+8>>2];c[H+12>>2]=c[f+12>>2];K=c[G>>2]|0;J=c[(c[q>>2]|0)+(I*80|0)+76>>2]|0;N=Mp(K,J)|0;a:do if(N){O=c[K+8>>2]|0;if((O|0)<=-1){P=c[K>>2]|0;break}if((O|0)>0){Q=0;R=N;while(1){S=c[R+32>>2]|0;Q=Q+1|0;if(!S){P=R;break a}if((Q|0)>=(O|0)){P=S;break}else R=S}}else P=N}else P=0;while(0);c[J>>2]=c[h>>2];c[J+4>>2]=c[h+4>>2];c[J+8>>2]=c[h+8>>2];c[J+12>>2]=c[h+12>>2];c[J+16>>2]=c[h+16>>2];c[J+20>>2]=c[h+20>>2];c[J+24>>2]=c[h+24>>2];c[J+28>>2]=c[h+28>>2];Np(K,P,J)}I=I+1|0}while((I|0)<(c[l>>2]|0));m=a+80|0;c[m>>2]=c[b>>2];c[m+4>>2]=c[b+4>>2];c[m+8>>2]=c[b+8>>2];c[m+12>>2]=c[b+12>>2];n=c[a>>2]|0;o=n+68|0;p=c[o>>2]|0;vb[p&255](a);i=d;return}function Sm(a){a=a|0;return a+80|0}function Tm(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0;e=i;i=i+96|0;f=e+32|0;h=e+16|0;j=e;c[f>>2]=1065353216;k=f+4|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[f+20>>2]=1065353216;k=f+24|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[f+40>>2]=1065353216;k=f+44|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;ec[c[(c[a>>2]|0)+8>>2]&63](a,f,h,j);l=(+g[j>>2]-+g[h>>2])*.5*2.0;m=(+g[j+4>>2]-+g[h+4>>2])*.5*2.0;n=(+g[j+8>>2]-+g[h+8>>2])*.5*2.0;o=b/12.0;b=m*m;m=n*n;g[d>>2]=o*(b+m);n=l*l;g[d+4>>2]=o*(n+m);g[d+8>>2]=o*(n+b);i=e;return}function Um(a){a=a|0;return 11415}function Vm(a,b){a=a|0;b=+b;g[a+76>>2]=b;return}function Wm(a){a=a|0;return +(+g[a+76>>2])}function Xm(a){a=a|0;return 24}function Ym(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=Rb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=Rb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)xb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+20>>2]=c[a+76>>2];e=c[a+20>>2]|0;f=b+16|0;c[f>>2]=e;g=b+12|0;c[g>>2]=0;if(!e)return 11449;b=Hb[c[(c[d>>2]|0)+16>>2]&31](d,76,e)|0;e=b+8|0;h=c[e>>2]|0;c[g>>2]=Rb[c[(c[d>>2]|0)+28>>2]&31](d,h)|0;if((c[f>>2]|0)>0){g=a+28|0;a=0;i=h;while(1){h=c[g>>2]|0;c[i+72>>2]=c[h+(a*80|0)+72>>2];c[i+64>>2]=Rb[c[(c[d>>2]|0)+28>>2]&31](d,c[h+(a*80|0)+64>>2]|0)|0;if(!(Rb[c[(c[d>>2]|0)+24>>2]&31](d,c[(c[g>>2]|0)+(a*80|0)+64>>2]|0)|0)){h=c[(c[d>>2]|0)+16>>2]|0;j=c[(c[g>>2]|0)+(a*80|0)+64>>2]|0;k=zb[c[(c[j>>2]|0)+52>>2]&127](j)|0;j=Hb[h&31](d,k,1)|0;k=c[(c[g>>2]|0)+(a*80|0)+64>>2]|0;h=Hb[c[(c[k>>2]|0)+56>>2]&31](k,c[j+8>>2]|0,d)|0;tb[c[(c[d>>2]|0)+20>>2]&31](d,j,h,1346455635,c[(c[g>>2]|0)+(a*80|0)+64>>2]|0)}h=c[g>>2]|0;c[i+68>>2]=c[h+(a*80|0)+68>>2];c[i>>2]=c[h+(a*80|0)>>2];c[i+4>>2]=c[h+(a*80|0)+4>>2];c[i+8>>2]=c[h+(a*80|0)+8>>2];c[i+12>>2]=c[h+(a*80|0)+12>>2];c[i+16>>2]=c[h+(a*80|0)+16>>2];c[i+20>>2]=c[h+(a*80|0)+20>>2];c[i+24>>2]=c[h+(a*80|0)+24>>2];c[i+28>>2]=c[h+(a*80|0)+28>>2];c[i+32>>2]=c[h+(a*80|0)+32>>2];c[i+36>>2]=c[h+(a*80|0)+36>>2];c[i+40>>2]=c[h+(a*80|0)+40>>2];c[i+44>>2]=c[h+(a*80|0)+44>>2];c[i+48>>2]=c[h+(a*80|0)+48>>2];c[i+52>>2]=c[h+(a*80|0)+52>>2];c[i+56>>2]=c[h+(a*80|0)+56>>2];c[i+60>>2]=c[h+(a*80|0)+60>>2];a=a+1|0;if((a|0)>=(c[f>>2]|0)){l=d;break}else i=i+76|0}}else l=d;tb[c[(c[l>>2]|0)+20>>2]&31](d,b,11424,1497453121,c[e>>2]|0);return 11449}function Zm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=i;i=i+80|0;f=e;g=b+72|0;c[g>>2]=(c[g>>2]|0)+1;h=b+20|0;j=c[h>>2]|0;if((j|0)<=0){k=c[b>>2]|0;l=k+68|0;m=c[l>>2]|0;vb[m&255](b);i=e;return}n=b+28|0;o=b+68|0;p=j;q=j;while(1){j=q;q=q+-1|0;r=c[n>>2]|0;if((c[r+(q*80|0)+64>>2]|0)==(d|0)){c[g>>2]=(c[g>>2]|0)+1;s=c[o>>2]|0;if(!s){t=p;u=r}else{v=c[r+(q*80|0)+76>>2]|0;Mp(s,v)|0;r=s+4|0;w=c[r>>2]|0;if(w|0){c[4351]=(c[4351]|0)+1;Ur(c[w+-4>>2]|0)}c[r>>2]=v;v=s+12|0;c[v>>2]=(c[v>>2]|0)+-1;t=c[h>>2]|0;u=c[n>>2]|0}v=t+-1|0;s=u+(q*80|0)|0;r=f;w=s;x=r+80|0;do{a[r>>0]=a[w>>0]|0;r=r+1|0;w=w+1|0}while((r|0)<(x|0));r=s;w=u+(v*80|0)|0;x=r+80|0;do{c[r>>2]=c[w>>2];r=r+4|0;w=w+4|0}while((r|0)<(x|0));r=(c[n>>2]|0)+(v*80|0)|0;w=f;x=r+80|0;do{a[r>>0]=a[w>>0]|0;r=r+1|0;w=w+1|0}while((r|0)<(x|0));if(c[o>>2]|0)c[(c[(c[n>>2]|0)+(q*80|0)+76>>2]|0)+36>>2]=q;w=(c[h>>2]|0)+-1|0;c[h>>2]=w;y=w}else y=p;if((j|0)<=1)break;else p=y}k=c[b>>2]|0;l=k+68|0;m=c[l>>2]|0;vb[m&255](b);i=e;return}function _m(a){a=a|0;var b=0,d=0,e=0,f=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.0;b=i;i=i+32|0;d=b+16|0;e=b;c[a+36>>2]=1566444395;f=a+40|0;c[f>>2]=1566444395;h=a+44|0;c[h>>2]=1566444395;g[a+48>>2]=0.0;c[a+52>>2]=-581039253;j=a+56|0;c[j>>2]=-581039253;k=a+60|0;c[k>>2]=-581039253;g[a+64>>2]=0.0;l=a+20|0;if((c[l>>2]|0)<=0){i=b;return}m=a+28|0;n=a+36|0;o=a+52|0;a=d+4|0;p=e+4|0;q=d+8|0;r=e+8|0;s=0;do{t=c[m>>2]|0;u=c[t+(s*80|0)+64>>2]|0;ec[c[(c[u>>2]|0)+8>>2]&63](u,t+(s*80|0)|0,d,e);v=+g[d>>2];if(+g[n>>2]>v)g[n>>2]=v;v=+g[e>>2];if(+g[o>>2]<v)g[o>>2]=v;v=+g[a>>2];if(+g[f>>2]>v)g[f>>2]=v;v=+g[p>>2];if(+g[j>>2]<v)g[j>>2]=v;v=+g[q>>2];if(+g[h>>2]>v)g[h>>2]=v;v=+g[r>>2];if(+g[k>>2]<v)g[k>>2]=v;s=s+1|0}while((s|0)<(c[l>>2]|0));i=b;return}function $m(b,d){b=b|0;d=d|0;var e=0,f=0;c[b+8>>2]=0;c[b+12>>2]=-1;c[b>>2]=4888;a[b+32>>0]=1;c[b+28>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+36>>2]=1566444395;c[b+40>>2]=1566444395;c[b+44>>2]=1566444395;g[b+48>>2]=0.0;c[b+52>>2]=-581039253;c[b+56>>2]=-581039253;c[b+60>>2]=-581039253;g[b+64>>2]=0.0;e=b+68|0;c[e>>2]=0;c[b+72>>2]=1;g[b+76>>2]=0.0;c[b+80>>2]=1065353216;c[b+84>>2]=1065353216;c[b+88>>2]=1065353216;g[b+92>>2]=0.0;c[b+4>>2]=31;if(!d)return;c[4350]=(c[4350]|0)+1;d=Tr(79)|0;if(!d)f=0;else{b=d+4+15&-16;c[b+-4>>2]=d;f=b}a[f+36>>0]=1;c[f+32>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;a[f+56>>0]=1;c[f+52>>2]=0;c[f+44>>2]=0;c[f+48>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=-1;c[f+12>>2]=0;c[f+16>>2]=0;c[e>>2]=f;return}function an(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=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,z=0,A=0,B=0,C=0,D=0;f=i;i=i+128|0;h=f;j=f+112|0;k=f+96|0;l=f+64|0;m=b+72|0;c[m>>2]=(c[m>>2]|0)+1;c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];m=d+16|0;n=h+16|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];c[n+8>>2]=c[m+8>>2];c[n+12>>2]=c[m+12>>2];m=d+32|0;o=h+32|0;c[o>>2]=c[m>>2];c[o+4>>2]=c[m+4>>2];c[o+8>>2]=c[m+8>>2];c[o+12>>2]=c[m+12>>2];m=d+48|0;p=h+48|0;c[p>>2]=c[m>>2];c[p+4>>2]=c[m+4>>2];c[p+8>>2]=c[m+8>>2];c[p+12>>2]=c[m+12>>2];m=c[e+4>>2]|0;q=+Kb[c[(c[e>>2]|0)+48>>2]&7](e);ec[c[(c[e>>2]|0)+8>>2]&63](e,d,j,k);d=b+36|0;r=+g[j>>2];if(+g[d>>2]>r)g[d>>2]=r;d=b+52|0;r=+g[k>>2];if(+g[d>>2]<r)g[d>>2]=r;d=b+40|0;r=+g[j+4>>2];if(+g[d>>2]>r)g[d>>2]=r;d=b+56|0;r=+g[k+4>>2];if(+g[d>>2]<r)g[d>>2]=r;d=b+44|0;r=+g[j+8>>2];if(+g[d>>2]>r)g[d>>2]=r;d=b+60|0;r=+g[k+8>>2];if(+g[d>>2]<r)g[d>>2]=r;d=c[b+68>>2]|0;if(!d){s=b+20|0;t=0}else{c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];c[l+12>>2]=c[j+12>>2];j=l+16|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];k=b+20|0;j=c[k>>2]|0;u=d+4|0;v=c[u>>2]|0;if(!v){c[4350]=(c[4350]|0)+1;w=Tr(63)|0;if(!w)x=0;else{y=w+4+15&-16;c[y+-4>>2]=w;x=y}y=x;w=y+44|0;do{c[y>>2]=0;y=y+4|0}while((y|0)<(w|0));z=x}else{c[u>>2]=0;z=v}c[z+32>>2]=0;c[z+36>>2]=j;c[z+40>>2]=0;c[z>>2]=c[l>>2];c[z+4>>2]=c[l+4>>2];c[z+8>>2]=c[l+8>>2];c[z+12>>2]=c[l+12>>2];c[z+16>>2]=c[l+16>>2];c[z+20>>2]=c[l+20>>2];c[z+24>>2]=c[l+24>>2];c[z+28>>2]=c[l+28>>2];Np(d,c[d>>2]|0,z);l=d+12|0;c[l>>2]=(c[l>>2]|0)+1;s=k;t=z}z=c[s>>2]|0;k=b+24|0;if((z|0)==(c[k>>2]|0)?(l=z|0?z<<1:1,(z|0)<(l|0)):0){if(!l){A=0;B=z}else{c[4350]=(c[4350]|0)+1;d=Tr((l*80|3)+16|0)|0;if(!d)C=0;else{j=d+4+15&-16;c[j+-4>>2]=d;C=j}A=C;B=c[s>>2]|0}C=b+28|0;if((B|0)>0){j=0;do{d=A+(j*80|0)|0;v=c[C>>2]|0;u=v+(j*80|0)|0;c[d>>2]=c[u>>2];c[d+4>>2]=c[u+4>>2];c[d+8>>2]=c[u+8>>2];c[d+12>>2]=c[u+12>>2];u=A+(j*80|0)+16|0;d=v+(j*80|0)+16|0;c[u>>2]=c[d>>2];c[u+4>>2]=c[d+4>>2];c[u+8>>2]=c[d+8>>2];c[u+12>>2]=c[d+12>>2];d=A+(j*80|0)+32|0;u=v+(j*80|0)+32|0;c[d>>2]=c[u>>2];c[d+4>>2]=c[u+4>>2];c[d+8>>2]=c[u+8>>2];c[d+12>>2]=c[u+12>>2];u=A+(j*80|0)+48|0;d=v+(j*80|0)+48|0;c[u>>2]=c[d>>2];c[u+4>>2]=c[d+4>>2];c[u+8>>2]=c[d+8>>2];c[u+12>>2]=c[d+12>>2];d=A+(j*80|0)+64|0;u=v+(j*80|0)+64|0;c[d>>2]=c[u>>2];c[d+4>>2]=c[u+4>>2];c[d+8>>2]=c[u+8>>2];c[d+12>>2]=c[u+12>>2];j=j+1|0}while((j|0)!=(B|0))}B=c[C>>2]|0;j=b+32|0;if(B|0){if(a[j>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[B+-4>>2]|0)}c[C>>2]=0}a[j>>0]=1;c[C>>2]=A;c[k>>2]=l;D=c[s>>2]|0}else D=z;z=c[b+28>>2]|0;b=z+(D*80|0)|0;c[b>>2]=c[h>>2];c[b+4>>2]=c[h+4>>2];c[b+8>>2]=c[h+8>>2];c[b+12>>2]=c[h+12>>2];h=z+(D*80|0)+16|0;c[h>>2]=c[n>>2];c[h+4>>2]=c[n+4>>2];c[h+8>>2]=c[n+8>>2];c[h+12>>2]=c[n+12>>2];n=z+(D*80|0)+32|0;c[n>>2]=c[o>>2];c[n+4>>2]=c[o+4>>2];c[n+8>>2]=c[o+8>>2];c[n+12>>2]=c[o+12>>2];o=z+(D*80|0)+48|0;c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2];p=z+(D*80|0)+64|0;c[p>>2]=e;c[p+4>>2]=m;g[p+8>>2]=q;c[p+12>>2]=t;c[s>>2]=(c[s>>2]|0)+1;i=f;return}function bn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;ec[c[(c[a>>2]|0)+80>>2]&63](a,b,d,e);return}function cn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0.0,j=0.0,k=0.0;d=c[a+72>>2]|0;e=c[a+68>>2]|0;f=c[a+76>>2]|0;h=a+64|0;i=+g[h>>2]*(+g[b+(d<<2)>>2]/+g[a+16+(d<<2)>>2]);g[h>>2]=i;h=a+60|0;j=+g[h>>2]*((+g[b+(e<<2)>>2]/+g[a+16+(e<<2)>>2]+ +g[b+(f<<2)>>2]/+g[a+16+(f<<2)>>2])*.5);g[h>>2]=j;g[a+56>>2]=j/+O(+(i*i+j*j));j=+N(+(+g[b>>2]));i=+N(+(+g[b+4>>2]));k=+N(+(+g[b+8>>2]));g[a+16>>2]=j;g[a+20>>2]=i;g[a+24>>2]=k;g[a+28>>2]=0.0;return}function dn(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0;e=i;i=i+96|0;f=e+32|0;h=e+16|0;j=e;c[f>>2]=1065353216;k=f+4|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[f+20>>2]=1065353216;k=f+24|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[f+40>>2]=1065353216;k=f+44|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;ec[c[(c[a>>2]|0)+8>>2]&63](a,f,h,j);l=(+g[j>>2]-+g[h>>2])*.5;m=(+g[j+4>>2]-+g[h+4>>2])*.5;n=(+g[j+8>>2]-+g[h+8>>2])*.5;o=+Kb[c[(c[a>>2]|0)+48>>2]&7](a);p=(l+o)*2.0;l=(m+o)*2.0;m=(n+o)*2.0;o=p*p;p=l*l;l=m*m;m=b*.0833333283662796;g[d>>2]=m*(p+l);g[d+4>>2]=m*(o+l);g[d+8>>2]=m*(o+p);g[d+12>>2]=0.0;i=e;return}function en(a,b){a=a|0;b=+b;g[a+48>>2]=b;return}function fn(a){a=a|0;return 60}function gn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Rb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=Rb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)xb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+28>>2]=c[a+32>>2];c[b+32>>2]=c[a+36>>2];c[b+36>>2]=c[a+40>>2];c[b+40>>2]=c[a+44>>2];c[b+12>>2]=c[a+16>>2];c[b+16>>2]=c[a+20>>2];c[b+20>>2]=c[a+24>>2];c[b+24>>2]=c[a+28>>2];c[b+44>>2]=c[a+48>>2];c[b+52>>2]=c[a+72>>2];return 11483}function hn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0.0,i=0,j=0.0,k=0,l=0.0,m=0.0,n=0,o=0,p=0.0;e=+g[b+64>>2]*.5;f=c[b+72>>2]|0;h=+g[d>>2];i=d+4|0;j=+g[i>>2];k=d+8|0;l=+g[k>>2];m=+O(+(h*h+j*j+l*l));n=c[b+68>>2]|0;do if(!(+g[d+(f<<2)>>2]>m*+g[b+56>>2])){l=+g[d+(n<<2)>>2];o=c[b+76>>2]|0;j=+g[d+(o<<2)>>2];h=+O(+(l*l+j*j));if(h>1.1920928955078125e-07){p=+g[b+60>>2]/h;g[a+(n<<2)>>2]=l*p;g[a+(f<<2)>>2]=-e;g[a+(o<<2)>>2]=j*p;break}else{g[a+(n<<2)>>2]=0.0;g[a+(f<<2)>>2]=-e;g[a+(o<<2)>>2]=0.0;break}}else{g[a+(n<<2)>>2]=0.0;g[a+(f<<2)>>2]=e;g[a+(c[b+76>>2]<<2)>>2]=0.0}while(0);if(!(+Kb[c[(c[b>>2]|0)+48>>2]&7](b)!=0.0))return;e=+g[d>>2];m=+g[i>>2];p=+g[k>>2];k=e*e+m*m+p*p<1.4210854715202004e-14;j=k?-1.0:e;e=k?-1.0:m;m=k?-1.0:p;p=1.0/+O(+(m*m+(j*j+e*e)));l=+Kb[c[(c[b>>2]|0)+48>>2]&7](b);g[a>>2]=+g[a>>2]+l*(p*j);b=a+4|0;g[b>>2]=l*(p*e)+ +g[b>>2];b=a+8|0;g[b>>2]=l*(p*m)+ +g[b>>2];return}function jn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0,m=0;e=+g[b+64>>2]*.5;f=c[b+72>>2]|0;h=+g[d>>2];i=+g[d+4>>2];j=+g[d+8>>2];k=+O(+(h*h+i*i+j*j));l=c[b+68>>2]|0;if(+g[d+(f<<2)>>2]>k*+g[b+56>>2]){g[a+(l<<2)>>2]=0.0;g[a+(f<<2)>>2]=e;g[a+(c[b+76>>2]<<2)>>2]=0.0;return}k=+g[d+(l<<2)>>2];m=c[b+76>>2]|0;j=+g[d+(m<<2)>>2];i=+O(+(k*k+j*j));if(i>1.1920928955078125e-07){h=+g[b+60>>2]/i;g[a+(l<<2)>>2]=k*h;g[a+(f<<2)>>2]=-e;g[a+(m<<2)>>2]=j*h;return}else{g[a+(l<<2)>>2]=0.0;g[a+(f<<2)>>2]=-e;g[a+(m<<2)>>2]=0.0;return}}function kn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0.0;f=i;i=i+16|0;h=f;if((e|0)<=0){i=f;return}j=a+64|0;k=a+72|0;l=a+56|0;m=a+68|0;n=a+76|0;o=a+60|0;a=0;do{p=d+(a<<4)|0;q=+g[j>>2]*.5;r=c[k>>2]|0;s=+g[b+(a<<4)>>2];t=+g[b+(a<<4)+4>>2];u=+g[b+(a<<4)+8>>2];v=+O(+(s*s+t*t+u*u));w=c[m>>2]|0;do if(!(+g[b+(a<<4)+(r<<2)>>2]>v*+g[l>>2])){u=+g[b+(a<<4)+(w<<2)>>2];x=c[n>>2]|0;t=+g[b+(a<<4)+(x<<2)>>2];s=+O(+(u*u+t*t));if(s>1.1920928955078125e-07){y=+g[o>>2]/s;g[h+(w<<2)>>2]=u*y;g[h+(r<<2)>>2]=-q;g[h+(x<<2)>>2]=t*y;break}else{g[h+(w<<2)>>2]=0.0;g[h+(r<<2)>>2]=-q;g[h+(x<<2)>>2]=0.0;break}}else{g[h+(w<<2)>>2]=0.0;g[h+(r<<2)>>2]=q;g[h+(c[n>>2]<<2)>>2]=0.0}while(0);c[p>>2]=c[h>>2];c[p+4>>2]=c[h+4>>2];c[p+8>>2]=c[h+8>>2];c[p+12>>2]=c[h+12>>2];a=a+1|0}while((a|0)!=(e|0));i=f;return}function ln(a){a=a|0;if(!a)return;c[4351]=(c[4351]|0)+1;Ur(c[a+-4>>2]|0);return}function mn(a){a=a|0;return 11514}function nn(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=1065353216;g[a+12>>2]=0.0;return}function on(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0;c=+N(+(+g[b>>2]));d=+N(+(+g[b+4>>2]));e=+N(+(+g[b+8>>2]));g[a+16>>2]=c;g[a+20>>2]=d;g[a+24>>2]=e;g[a+28>>2]=0.0;return}function pn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;ac[c[(c[b>>2]|0)+68>>2]&63](a,b,d);if(!(+Kb[c[(c[b>>2]|0)+48>>2]&7](b)!=0.0))return;e=+g[d>>2];f=+g[d+4>>2];h=+g[d+8>>2];d=e*e+f*f+h*h<1.4210854715202004e-14;i=d?-1.0:e;e=d?-1.0:f;f=d?-1.0:h;h=1.0/+O(+(f*f+(i*i+e*e)));j=+Kb[c[(c[b>>2]|0)+48>>2]&7](b);g[a>>2]=+g[a>>2]+j*(h*i);b=a+4|0;g[b>>2]=j*(h*e)+ +g[b>>2];b=a+8|0;g[b>>2]=j*(h*f)+ +g[b>>2];return}function qn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=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,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.0,T=0.0,U=0.0,V=0.0,W=0.0;f=i;i=i+96|0;h=f+80|0;j=f+64|0;k=f+32|0;l=f+48|0;m=f+16|0;n=f;o=+Kb[c[(c[a>>2]|0)+48>>2]&7](a);p=h+4|0;q=h+8|0;r=b+16|0;s=b+32|0;t=b+4|0;u=b+20|0;v=b+36|0;w=b+8|0;x=b+24|0;y=b+40|0;z=k+4|0;A=k+8|0;B=k+12|0;C=j+4|0;D=j+8|0;E=b+48|0;F=b+52|0;G=b+56|0;H=l+4|0;I=l+8|0;J=l+12|0;K=n+4|0;L=n+8|0;M=n+12|0;N=m+4|0;O=m+8|0;P=0;do{Q=h+(P<<2)|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;g[Q>>2]=1.0;R=c[(c[a>>2]|0)+64>>2]|0;S=+g[h>>2];T=+g[p>>2];U=+g[q>>2];V=S*+g[t>>2]+T*+g[u>>2]+U*+g[v>>2];W=S*+g[w>>2]+T*+g[x>>2]+U*+g[y>>2];g[k>>2]=+g[b>>2]*S+ +g[r>>2]*T+ +g[s>>2]*U;g[z>>2]=V;g[A>>2]=W;g[B>>2]=0.0;ac[R&63](j,a,k);W=+g[j>>2];V=+g[C>>2];U=+g[D>>2];T=W*+g[r>>2]+V*+g[u>>2]+U*+g[x>>2]+ +g[F>>2];S=W*+g[s>>2]+V*+g[v>>2]+U*+g[y>>2]+ +g[G>>2];g[l>>2]=W*+g[b>>2]+V*+g[t>>2]+U*+g[w>>2]+ +g[E>>2];g[H>>2]=T;g[I>>2]=S;g[J>>2]=0.0;R=l+(P<<2)|0;g[e+(P<<2)>>2]=o+ +g[R>>2];g[Q>>2]=-1.0;Q=c[(c[a>>2]|0)+64>>2]|0;S=+g[h>>2];T=+g[p>>2];U=+g[q>>2];V=S*+g[t>>2]+T*+g[u>>2]+U*+g[v>>2];W=S*+g[w>>2]+T*+g[x>>2]+U*+g[y>>2];g[n>>2]=+g[b>>2]*S+ +g[r>>2]*T+ +g[s>>2]*U;g[K>>2]=V;g[L>>2]=W;g[M>>2]=0.0;ac[Q&63](m,a,n);W=+g[m>>2];V=+g[N>>2];U=+g[O>>2];T=W*+g[r>>2]+V*+g[u>>2]+U*+g[x>>2]+ +g[F>>2];S=W*+g[s>>2]+V*+g[v>>2]+U*+g[y>>2]+ +g[G>>2];g[l>>2]=W*+g[b>>2]+V*+g[t>>2]+U*+g[w>>2]+ +g[E>>2];g[H>>2]=T;g[I>>2]=S;g[J>>2]=0.0;g[d+(P<<2)>>2]=+g[R>>2]-o;P=P+1|0}while((P|0)!=3);i=f;return}function rn(a){a=a|0;return}function sn(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,l=0,m=0,n=0.0,o=0,p=0,q=0.0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.0,C=0,D=0,E=0,F=0,G=0.0,H=0,I=0.0,J=0.0,K=0.0;h=i;i=i+64|0;j=h+48|0;k=h+32|0;l=h+16|0;m=h;n=+g[d>>2];o=b+16|0;p=d+4|0;q=+g[p>>2];r=b+32|0;s=d+8|0;t=+g[s>>2];u=b+4|0;v=b+20|0;w=b+36|0;x=n*+g[u>>2]+q*+g[v>>2]+t*+g[w>>2];y=b+8|0;z=b+24|0;A=b+40|0;B=n*+g[y>>2]+q*+g[z>>2]+t*+g[A>>2];g[j>>2]=+g[b>>2]*n+ +g[o>>2]*q+ +g[r>>2]*t;C=j+4|0;g[C>>2]=x;D=j+8|0;g[D>>2]=B;g[j+12>>2]=0.0;ac[c[(c[a>>2]|0)+64>>2]&63](k,a,j);B=+g[k>>2];x=+g[k+4>>2];t=+g[k+8>>2];k=b+48|0;q=B*+g[b>>2]+x*+g[u>>2]+t*+g[y>>2]+ +g[k>>2];E=b+52|0;n=B*+g[o>>2]+x*+g[v>>2]+t*+g[z>>2]+ +g[E>>2];F=b+56|0;G=B*+g[r>>2]+x*+g[w>>2]+t*+g[A>>2]+ +g[F>>2];H=c[(c[a>>2]|0)+64>>2]|0;t=-+g[C>>2];x=-+g[D>>2];g[m>>2]=-+g[j>>2];g[m+4>>2]=t;g[m+8>>2]=x;g[m+12>>2]=0.0;ac[H&63](l,a,m);x=+g[l>>2];t=+g[l+4>>2];B=+g[l+8>>2];I=x*+g[b>>2]+t*+g[u>>2]+B*+g[y>>2]+ +g[k>>2];J=x*+g[o>>2]+t*+g[v>>2]+B*+g[z>>2]+ +g[E>>2];K=x*+g[r>>2]+t*+g[w>>2]+B*+g[A>>2]+ +g[F>>2];g[e>>2]=q*+g[d>>2]+n*+g[p>>2]+G*+g[s>>2];G=I*+g[d>>2]+J*+g[p>>2]+K*+g[s>>2];g[f>>2]=G;K=+g[e>>2];if(!(K>G)){i=h;return}g[e>>2]=G;g[f>>2]=K;i=h;return}function tn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,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.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0;e=i;i=i+48|0;f=e+32|0;h=e+16|0;j=e;switch(c[b+4>>2]|0){case 8:{c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;i=e;return}case 0:{l=+g[b+32>>2];m=+g[b+36>>2];n=+g[d+4>>2]>=0.0?m:-m;m=+g[b+40>>2];o=+g[d+8>>2]>=0.0?m:-m;g[a>>2]=+g[d>>2]>=0.0?l:-l;g[a+4>>2]=n;g[a+8>>2]=o;g[a+12>>2]=0.0;i=e;return}case 1:{o=+g[d>>2];n=+g[d+4>>2];l=+g[d+8>>2];p=b+60|0;m=o*+g[p>>2]+n*+g[p+4>>2]+l*+g[p+8>>2];q=o*+g[p+16>>2]+n*+g[p+20>>2]+l*+g[p+24>>2];r=o*+g[p+32>>2]+n*+g[p+36>>2]+l*+g[p+40>>2];s=m<q?(q<r?2:1):m<r?2:0;t=c[p+(s<<4)+4>>2]|0;u=c[p+(s<<4)+8>>2]|0;c[a>>2]=c[p+(s<<4)>>2];c[a+4>>2]=t;c[a+8>>2]=u;g[a+12>>2]=0.0;i=e;return}case 13:{u=b+32|0;c[f>>2]=c[u>>2];c[f+4>>2]=c[u+4>>2];c[f+8>>2]=c[u+8>>2];c[f+12>>2]=c[u+12>>2];c[h>>2]=c[d>>2];u=c[d+4>>2]|0;c[h+4>>2]=u;t=c[d+8>>2]|0;c[h+8>>2]=t;g[h+12>>2]=0.0;s=c[b+56>>2]|0;r=(c[k>>2]=t,+g[k>>2]);switch(s|0){case 2:{v=(c[k>>2]=u,+g[k>>2]);w=0;x=2;y=1;break}case 1:{v=r;w=0;x=1;y=2;break}default:{v=r;w=1;x=0;y=2}}r=+g[f+(w<<2)>>2];m=+g[f+(s<<2)>>2];q=+g[h+(w<<2)>>2];l=+O(+(q*q+v*v));n=+g[h+(x<<2)>>2];if(l!=0.0){o=r/l;g[j+(w<<2)>>2]=q*o;g[j+(x<<2)>>2]=n<0.0?-m:m;g[j+(y<<2)>>2]=o*v;c[a>>2]=c[j>>2];c[a+4>>2]=c[j+4>>2];c[a+8>>2]=c[j+8>>2]}else{g[j+(w<<2)>>2]=r;g[j+(x<<2)>>2]=n<0.0?-m:m;g[j+(y<<2)>>2]=0.0;c[a>>2]=c[j>>2];c[a+4>>2]=c[j+4>>2];c[a+8>>2]=c[j+8>>2]}g[a+12>>2]=0.0;i=e;return}case 10:{m=+g[d>>2];n=+g[d+4>>2];r=+g[d+8>>2];j=c[b+56>>2]|0;v=+g[b+32+(j<<2)>>2];o=+g[b+32+(((j+2|0)%3|0)<<2)>>2];q=m*m+n*n+r*r;if(q<9.999999747378752e-05){z=1.0;A=0.0;B=0.0}else{l=1.0/+O(+q);z=m*l;A=n*l;B=r*l}c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;g[f+(j<<2)>>2]=v;l=o*z;r=o*A;n=o*B;o=+g[b+48>>2];m=z*o;q=A*o;C=B*o;o=l+ +g[f>>2]-m;D=r+ +g[f+4>>2]-q;E=n+ +g[f+8>>2]-C;F=B*E+(z*o+A*D);if(F>-999999984306749440.0){y=(g[k>>2]=o,c[k>>2]|0);x=(g[k>>2]=D,c[k>>2]|0);G=F;H=y;I=(g[k>>2]=E,c[k>>2]|0);J=x}else{G=-999999984306749440.0;H=0;I=0;J=0}c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;g[f+(j<<2)>>2]=-v;v=l+ +g[f>>2]-m;m=r+ +g[f+4>>2]-q;q=n+ +g[f+8>>2]-C;if(B*q+(z*v+A*m)>G){f=(g[k>>2]=v,c[k>>2]|0);j=(g[k>>2]=m,c[k>>2]|0);K=f;L=(g[k>>2]=q,c[k>>2]|0);M=j}else{K=H;L=I;M=J}c[a>>2]=K;c[a+4>>2]=M;c[a+8>>2]=L;g[a+12>>2]=0.0;i=e;return}case 5:{L=c[b+96>>2]|0;M=c[b+100>>2]|0;q=+g[b+16>>2];m=+g[b+20>>2];v=+g[b+24>>2];G=+g[d>>2]*q;A=+g[d+4>>2]*m;z=+g[d+8>>2]*v;if((M|0)>0){K=0;B=-3402823466385288598117041.0e14;J=-1;while(1){C=G*+g[L+(K<<4)>>2]+A*+g[L+(K<<4)+4>>2]+z*+g[L+(K<<4)+8>>2];I=C>B;H=I?K:J;K=K+1|0;if((K|0)==(M|0)){N=H;break}else{B=I?C:B;J=H}}}else N=-1;B=m*+g[L+(N<<4)+4>>2];m=v*+g[L+(N<<4)+8>>2];g[a>>2]=q*+g[L+(N<<4)>>2];g[a+4>>2]=B;g[a+8>>2]=m;g[a+12>>2]=0.0;i=e;return}case 4:{N=c[b+108>>2]|0;L=c[b+100>>2]|0;m=+g[b+16>>2];B=+g[b+20>>2];q=+g[b+24>>2];v=+g[d>>2]*m;z=+g[d+4>>2]*B;A=+g[d+8>>2]*q;if((L|0)>0){J=0;G=-3402823466385288598117041.0e14;M=-1;while(1){C=v*+g[N+(J<<4)>>2]+z*+g[N+(J<<4)+4>>2]+A*+g[N+(J<<4)+8>>2];K=C>G;H=K?J:M;J=J+1|0;if((J|0)==(L|0)){P=H;break}else{G=K?C:G;M=H}}}else P=-1;G=B*+g[N+(P<<4)+4>>2];B=q*+g[N+(P<<4)+8>>2];g[a>>2]=m*+g[N+(P<<4)>>2];g[a+4>>2]=G;g[a+8>>2]=B;g[a+12>>2]=0.0;i=e;return}default:{ac[c[(c[b>>2]|0)+68>>2]&63](a,b,d);i=e;return}}}function un(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=0.0,k=0.0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;e=i;i=i+32|0;f=e+16|0;h=e;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];j=+g[f>>2];d=f+4|0;k=+g[d>>2];l=f+8|0;m=+g[l>>2];if(j*j+k*k+m*m<1.4210854715202004e-14){c[f>>2]=-1082130432;c[d>>2]=-1082130432;c[l>>2]=-1082130432;g[f+12>>2]=0.0;n=-1.0;o=-1.0;p=-1.0}else{n=j;o=k;p=m}m=1.0/+O(+(n*n+o*o+p*p));g[f>>2]=n*m;g[d>>2]=o*m;g[l>>2]=p*m;tn(h,b,f);switch(c[b+4>>2]|0){case 8:{q=+g[b+32>>2]*+g[b+16>>2];break}case 0:{q=+g[b+48>>2];break}case 1:{q=+g[b+48>>2];break}case 13:{q=+g[b+48>>2];break}case 11:{q=+g[b+48>>2];break}case 10:{q=+g[b+48>>2];break}case 4:case 5:{q=+g[b+48>>2];break}default:q=+Kb[c[(c[b>>2]|0)+48>>2]&7](b)}m=q*+g[d>>2]+ +g[h+4>>2];p=q*+g[l>>2]+ +g[h+8>>2];g[a>>2]=q*+g[f>>2]+ +g[h>>2];g[a+4>>2]=m;g[a+8>>2]=p;g[a+12>>2]=0.0;i=e;return}function vn(a){a=a|0;if(!a)return;c[4351]=(c[4351]|0)+1;Ur(c[a+-4>>2]|0);return}function wn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.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.0,t=0.0,u=0.0,v=0.0;f=+Kb[c[(c[a>>2]|0)+48>>2]&7](a);h=f+ +g[a+32>>2];i=f+ +g[a+36>>2];j=f+ +g[a+40>>2];f=+N(+(+g[b>>2]));k=+N(+(+g[b+4>>2]));l=+N(+(+g[b+8>>2]));m=+N(+(+g[b+16>>2]));n=+N(+(+g[b+20>>2]));o=+N(+(+g[b+24>>2]));p=+N(+(+g[b+32>>2]));q=+N(+(+g[b+36>>2]));r=+N(+(+g[b+40>>2]));s=+g[b+48>>2];t=+g[b+52>>2];u=+g[b+56>>2];v=h*f+i*k+j*l;l=h*m+i*n+j*o;o=h*p+i*q+j*r;g[d>>2]=s-v;g[d+4>>2]=t-l;g[d+8>>2]=u-o;g[d+12>>2]=0.0;g[e>>2]=v+s;g[e+4>>2]=l+t;g[e+8>>2]=o+u;g[e+12>>2]=0.0;return}function xn(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,h=0,i=0,j=0,k=0,l=0.0,m=0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0;d=+Kb[c[(c[a>>2]|0)+48>>2]&7](a);e=+Kb[c[(c[a>>2]|0)+48>>2]&7](a);f=+Kb[c[(c[a>>2]|0)+48>>2]&7](a);h=a+32|0;i=a+36|0;j=a+40|0;k=a+16|0;l=(d+ +g[h>>2])/+g[k>>2];m=a+20|0;n=(e+ +g[i>>2])/+g[m>>2];o=a+24|0;p=(f+ +g[j>>2])/+g[o>>2];q=+N(+(+g[b>>2]));r=+N(+(+g[b+4>>2]));s=+N(+(+g[b+8>>2]));g[k>>2]=q;g[m>>2]=r;g[o>>2]=s;g[a+28>>2]=0.0;g[h>>2]=l*q-d;g[i>>2]=n*r-e;g[j>>2]=p*s-f;g[a+44>>2]=0.0;return}function yn(a,b,d){a=a|0;b=+b;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;e=+g[a+32>>2];f=+g[a+36>>2];h=+g[a+40>>2];i=+Kb[c[(c[a>>2]|0)+48>>2]&7](a);j=+Kb[c[(c[a>>2]|0)+48>>2]&7](a);k=i+e;e=j+f;f=+Kb[c[(c[a>>2]|0)+48>>2]&7](a)+h;h=b/12.0;j=b*.25;i=b*.5;switch(c[a+56>>2]|0){case 0:{b=e*e;l=j*b+h*(k*(k*4.0));g[d>>2]=i*b;g[d+4>>2]=l;g[d+8>>2]=l;g[d+12>>2]=0.0;return}case 2:{l=k*k;b=j*l+h*(f*(f*4.0));g[d>>2]=b;g[d+4>>2]=b;g[d+8>>2]=i*l;g[d+12>>2]=0.0;return}default:{l=k*k;k=j*l+h*(e*(e*4.0));g[d>>2]=k;g[d+4>>2]=i*l;g[d+8>>2]=k;g[d+12>>2]=0.0;return}}}function zn(a){a=a|0;return 11578}function An(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;g[a+(c[b+56>>2]<<2)>>2]=1.0;return}function Bn(a,b){a=a|0;b=+b;var d=0.0,e=0.0,f=0.0,h=0,i=0.0,j=0,k=0,l=0.0;d=+Kb[c[(c[a>>2]|0)+48>>2]&7](a);e=+Kb[c[(c[a>>2]|0)+48>>2]&7](a);f=+Kb[c[(c[a>>2]|0)+48>>2]&7](a);h=a+32|0;i=d+ +g[h>>2];j=a+36|0;d=e+ +g[j>>2];k=a+40|0;e=f+ +g[k>>2];g[a+48>>2]=b;b=+Kb[c[(c[a>>2]|0)+48>>2]&7](a);f=+Kb[c[(c[a>>2]|0)+48>>2]&7](a);l=e-+Kb[c[(c[a>>2]|0)+48>>2]&7](a);g[h>>2]=i-b;g[j>>2]=d-f;g[k>>2]=l;g[a+44>>2]=0.0;return}function Cn(a){a=a|0;return 60}function Dn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Rb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=Rb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)xb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+28>>2]=c[a+32>>2];c[b+32>>2]=c[a+36>>2];c[b+36>>2]=c[a+40>>2];c[b+40>>2]=c[a+44>>2];c[b+12>>2]=c[a+16>>2];c[b+16>>2]=c[a+20>>2];c[b+20>>2]=c[a+24>>2];c[b+24>>2]=c[a+28>>2];c[b+44>>2]=c[a+48>>2];c[b+52>>2]=c[a+56>>2];return 11588}function En(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0.0,j=0.0,k=0.0,l=0.0,m=0.0;e=i;i=i+16|0;f=e;ac[c[(c[b>>2]|0)+68>>2]&63](f,b,d);c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2];if(!(+Kb[c[(c[b>>2]|0)+48>>2]&7](b)!=0.0)){i=e;return}h=+g[d>>2];j=+g[d+4>>2];k=+g[d+8>>2];d=h*h+j*j+k*k<1.4210854715202004e-14;l=d?-1.0:h;h=d?-1.0:j;j=d?-1.0:k;k=1.0/+O(+(j*j+(l*l+h*h)));m=+Kb[c[(c[b>>2]|0)+48>>2]&7](b);g[a>>2]=+g[a>>2]+m*(k*l);b=a+4|0;g[b>>2]=m*(k*h)+ +g[b>>2];b=a+8|0;g[b>>2]=m*(k*j)+ +g[b>>2];i=e;return}function Fn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0;d=+g[b+32>>2];e=+g[b+36>>2];f=+g[c>>2];h=+g[c+8>>2];i=+O(+(f*f+h*h));j=+g[c+4>>2];if(i!=0.0){k=d/i;l=h*k;m=j<0.0?-e:e;n=f*k}else{l=0.0;m=j<0.0?-e:e;n=d}g[a>>2]=n;g[a+4>>2]=m;g[a+8>>2]=l;return}function Gn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,h=0.0,i=0.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;if((d|0)<=0)return;e=a+32|0;f=a+36|0;a=0;do{h=+g[e>>2];i=+g[f>>2];j=+g[b+(a<<4)>>2];k=+g[b+(a<<4)+8>>2];l=+O(+(j*j+k*k));m=+g[b+(a<<4)+4>>2];if(l!=0.0){n=h/l;o=k*n;p=m<0.0?-i:i;q=j*n}else{o=0.0;p=m<0.0?-i:i;q=h}g[c+(a<<4)>>2]=q;g[c+(a<<4)+4>>2]=p;g[c+(a<<4)+8>>2]=o;a=a+1|0}while((a|0)!=(d|0));return}function Hn(a){a=a|0;var b=0.0,d=0.0;b=+g[a+32>>2];d=+Kb[c[(c[a>>2]|0)+48>>2]&7](a);+Kb[c[(c[a>>2]|0)+48>>2]&7](a);+Kb[c[(c[a>>2]|0)+48>>2]&7](a);return +(b+d)}function In(a){a=a|0;if(!a)return;c[4351]=(c[4351]|0)+1;Ur(c[a+-4>>2]|0);return}function Jn(a){a=a|0;return 11627}function Kn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0;d=+g[b+32>>2];e=+g[b+40>>2];f=+g[c>>2];h=+g[c+4>>2];i=+O(+(f*f+h*h));j=+g[c+8>>2];if(i!=0.0){k=d/i;l=h*k;m=j<0.0?-e:e;n=f*k}else{l=0.0;m=j<0.0?-e:e;n=d}g[a>>2]=n;g[a+8>>2]=m;g[a+4>>2]=l;return}function Ln(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,h=0.0,i=0.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;if((d|0)<=0)return;e=a+32|0;f=a+40|0;a=0;do{h=+g[e>>2];i=+g[f>>2];j=+g[b+(a<<4)>>2];k=+g[b+(a<<4)+4>>2];l=+O(+(j*j+k*k));m=+g[b+(a<<4)+8>>2];if(l!=0.0){n=h/l;o=k*n;p=m<0.0?-i:i;q=j*n}else{o=0.0;p=m<0.0?-i:i;q=h}g[c+(a<<4)>>2]=q;g[c+(a<<4)+4>>2]=o;g[c+(a<<4)+8>>2]=p;a=a+1|0}while((a|0)!=(d|0));return}function Mn(a){a=a|0;var b=0.0,d=0.0;b=+g[a+32>>2];d=+Kb[c[(c[a>>2]|0)+48>>2]&7](a);+Kb[c[(c[a>>2]|0)+48>>2]&7](a);+Kb[c[(c[a>>2]|0)+48>>2]&7](a);return +(b+d)}function Nn(a){a=a|0;return}function On(a){a=a|0;if(!a)return;c[4351]=(c[4351]|0)+1;Ur(c[a+-4>>2]|0);return}function Pn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0,k=0.0,l=0,m=0.0;f=+Kb[c[(c[a>>2]|0)+48>>2]&7](a);h=+Kb[c[(c[a>>2]|0)+48>>2]&7](a);i=+Kb[c[(c[a>>2]|0)+48>>2]&7](a);a=b+48|0;j=b+52|0;k=+g[j>>2]-h;l=b+56|0;m=+g[l>>2]-i;g[d>>2]=+g[a>>2]-f;g[d+4>>2]=k;g[d+8>>2]=m;g[d+12>>2]=0.0;m=h+ +g[j>>2];h=i+ +g[l>>2];g[e>>2]=f+ +g[a>>2];g[e+4>>2]=m;g[e+8>>2]=h;g[e+12>>2]=0.0;return}function Qn(a,b){a=a|0;b=b|0;var d=0;d=a+20|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];return}function Rn(a){a=a|0;return a+20|0}function Sn(a,b,c){a=a|0;b=+b;c=c|0;return}function Tn(a){a=a|0;return 11652}function Un(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return}function Vn(a){a=a|0;Op(a);return}function Wn(a){a=a|0;Op(a);if(!a)return;c[4351]=(c[4351]|0)+1;Ur(c[a+-4>>2]|0);return}function Xn(a){a=a|0;return 84}function Yn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Qp(a,b,c,d)|0;return 1}function Zn(d,e,f,h,j){d=d|0;e=e|0;f=f|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.0,t=0.0,u=0.0,v=0,w=0.0,x=0.0,y=0.0,z=0,A=0,B=0.0,C=0.0,D=0.0,E=0,F=0,G=0,H=0,I=0.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,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;k=i;i=i+160|0;l=k+144|0;m=k+128|0;n=k+112|0;o=k+96|0;p=k+32|0;q=k;r=d+60|0;a[r>>0]=f&1;if(f){s=+g[h>>2]+-1.0;t=+g[h+4>>2]+-1.0;u=+g[h+8>>2]+-1.0;h=d+4|0;g[h>>2]=s;f=d+8|0;g[f>>2]=t;v=d+12|0;g[v>>2]=u;g[d+16>>2]=0.0;w=+g[j>>2]+1.0;x=+g[j+4>>2]+1.0;y=+g[j+8>>2]+1.0;j=d+20|0;g[j>>2]=w;z=d+24|0;g[z>>2]=x;A=d+28|0;g[A>>2]=y;g[d+32>>2]=0.0;B=65533.0/(w-s);C=65533.0/(x-t);D=65533.0/(y-u);E=d+36|0;g[E>>2]=B;F=d+40|0;g[F>>2]=C;G=d+44|0;g[G>>2]=D;H=d+48|0;g[H>>2]=0.0;a[r>>0]=1;I=s+ +(~~((s-s)*B)&65534)/B+-1.0;J=t+ +(~~((t-t)*C)&65534)/C+-1.0;K=u+ +(~~((u-u)*D)&65534)/D+-1.0;if(I<s){g[h>>2]=I;L=I}else L=s;if(J<t){g[f>>2]=J;M=J}else M=t;if(K<u){g[v>>2]=K;N=K}else N=u;u=L+ +((~~((w-L)*B+1.0)&65535|1)&65535)/B+1.0;B=M+ +((~~((x-M)*C+1.0)&65535|1)&65535)/C+1.0;C=N+ +((~~((y-N)*D+1.0)&65535|1)&65535)/D+1.0;if(w<u){g[j>>2]=u;O=u}else O=w;if(x<B){g[z>>2]=B;P=B}else P=x;if(y<C){g[A>>2]=C;Q=C}else Q=y;g[E>>2]=65533.0/(O-L);g[F>>2]=65533.0/(P-M);g[G>>2]=65533.0/(Q-N);g[H>>2]=0.0;c[l>>2]=5392;c[l+4>>2]=d+104;c[l+8>>2]=d;ec[c[(c[e>>2]|0)+8>>2]&63](e,l,d+4|0,d+20|0);H=c[d+108>>2]|0;G=H<<1;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;F=d+128|0;E=c[F>>2]|0;if((E|0)<(G|0)){A=d+132|0;if((c[A>>2]|0)<(G|0)){if(!H){R=0;S=E}else{c[4350]=(c[4350]|0)+1;z=Tr(H<<5|19)|0;if(!z)T=0;else{j=z+4+15&-16;c[j+-4>>2]=z;T=j}R=T;S=c[F>>2]|0}T=d+136|0;if((S|0)>0){j=0;do{z=R+(j<<4)|0;v=(c[T>>2]|0)+(j<<4)|0;c[z>>2]=c[v>>2];c[z+4>>2]=c[v+4>>2];c[z+8>>2]=c[v+8>>2];c[z+12>>2]=c[v+12>>2];j=j+1|0}while((j|0)!=(S|0))}S=c[T>>2]|0;j=d+140|0;if(S|0){if(a[j>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[S+-4>>2]|0)}c[T>>2]=0}a[j>>0]=1;c[T>>2]=R;c[A>>2]=G;U=T}else U=d+136|0;T=E;do{E=(c[U>>2]|0)+(T<<4)|0;c[E>>2]=c[m>>2];c[E+4>>2]=c[m+4>>2];c[E+8>>2]=c[m+8>>2];c[E+12>>2]=c[m+12>>2];T=T+1|0}while((T|0)!=(G|0))}c[F>>2]=G;V=H}else{c[l>>2]=5412;c[l+4>>2]=d+64;c[n>>2]=-581039253;c[n+4>>2]=-581039253;c[n+8>>2]=-581039253;g[n+12>>2]=0.0;c[o>>2]=1566444395;c[o+4>>2]=1566444395;c[o+8>>2]=1566444395;g[o+12>>2]=0.0;ec[c[(c[e>>2]|0)+8>>2]&63](e,l,n,o);o=c[d+68>>2]|0;n=p;l=n+64|0;do{c[n>>2]=0;n=n+4|0}while((n|0)<(l|0));e=o<<1;H=d+88|0;G=c[H>>2]|0;if((G|0)<(e|0)){F=d+92|0;if((c[F>>2]|0)<(e|0)){if(!o){W=0;X=G}else{c[4350]=(c[4350]|0)+1;T=Tr(o<<7|19)|0;if(!T)Y=0;else{m=T+4+15&-16;c[m+-4>>2]=T;Y=m}W=Y;X=c[H>>2]|0}Y=d+96|0;if((X|0)>0){m=0;do{n=W+(m<<6)|0;Z=(c[Y>>2]|0)+(m<<6)|0;l=n+64|0;do{c[n>>2]=c[Z>>2];n=n+4|0;Z=Z+4|0}while((n|0)<(l|0));m=m+1|0}while((m|0)!=(X|0))}X=c[Y>>2]|0;m=d+100|0;if(X|0){if(a[m>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[X+-4>>2]|0)}c[Y>>2]=0}a[m>>0]=1;c[Y>>2]=W;c[F>>2]=e;_=Y}else _=d+96|0;Y=G;do{n=(c[_>>2]|0)+(Y<<6)|0;Z=p;l=n+64|0;do{c[n>>2]=c[Z>>2];n=n+4|0;Z=Z+4|0}while((n|0)<(l|0));Y=Y+1|0}while((Y|0)!=(e|0))}c[H>>2]=e;V=o}c[d+56>>2]=0;Up(d,0,V);V=d+152|0;if(a[r>>0]|0?(c[V>>2]|0)==0:0){r=d+156|0;if(!(c[r>>2]|0)){c[4350]=(c[4350]|0)+1;o=Tr(51)|0;if(!o)$=0;else{e=o+4+15&-16;c[e+-4>>2]=o;$=e}e=c[V>>2]|0;o=d+160|0;if((e|0)>0){H=0;do{Y=$+(H<<5)|0;Z=(c[o>>2]|0)+(H<<5)|0;c[Y>>2]=c[Z>>2];c[Y+4>>2]=c[Z+4>>2];c[Y+8>>2]=c[Z+8>>2];c[Y+12>>2]=c[Z+12>>2];c[Y+16>>2]=c[Z+16>>2];c[Y+20>>2]=c[Z+20>>2];c[Y+24>>2]=c[Z+24>>2];c[Y+28>>2]=c[Z+28>>2];H=H+1|0}while((H|0)!=(e|0))}e=c[o>>2]|0;H=d+164|0;if(e|0){if(a[H>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[e+-4>>2]|0)}c[o>>2]=0}a[H>>0]=1;c[o>>2]=$;c[r>>2]=1;aa=o;ba=(c[V>>2]|0)+1|0;ca=$}else{$=d+160|0;aa=$;ba=1;ca=c[$>>2]|0}c[V>>2]=ba;c[ca>>2]=c[q>>2];c[ca+4>>2]=c[q+4>>2];c[ca+8>>2]=c[q+8>>2];c[ca+12>>2]=c[q+12>>2];c[ca+16>>2]=c[q+16>>2];c[ca+20>>2]=c[q+20>>2];c[ca+24>>2]=c[q+24>>2];c[ca+28>>2]=c[q+28>>2];q=c[aa>>2]|0;aa=c[d+136>>2]|0;b[q>>1]=b[aa>>1]|0;b[q+2>>1]=b[aa+2>>1]|0;b[q+4>>1]=b[aa+4>>1]|0;b[q+6>>1]=b[aa+6>>1]|0;b[q+8>>1]=b[aa+8>>1]|0;b[q+10>>1]=b[aa+10>>1]|0;c[q+12>>2]=0;ca=c[aa+12>>2]|0;c[q+16>>2]=(ca|0)>-1?1:0-ca|0}c[d+168>>2]=c[V>>2];V=d+108|0;ca=d+116|0;q=c[ca>>2]|0;aa=d+120|0;if(q|0){if(a[aa>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[q+-4>>2]|0)}c[ca>>2]=0}a[aa>>0]=1;c[ca>>2]=0;c[V>>2]=0;c[d+112>>2]=0;V=d+68|0;ca=d+76|0;aa=c[ca>>2]|0;q=d+80|0;if(!aa){a[q>>0]=1;c[ca>>2]=0;c[V>>2]=0;da=d+72|0;c[da>>2]=0;i=k;return}if(a[q>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[aa+-4>>2]|0)}c[ca>>2]=0;a[q>>0]=1;c[ca>>2]=0;c[V>>2]=0;da=d+72|0;c[da>>2]=0;i=k;return}function _n(a){a=a|0;Ur(a);return}
  105. function $n(d,e,f,h){d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0,l=0,m=0.0,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,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.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;i=+g[e>>2];j=(g[k>>2]=i,c[k>>2]|0);l=i<999999984306749440.0?j:1566444395;m=+g[e+4>>2];n=(g[k>>2]=m,c[k>>2]|0);o=m<999999984306749440.0?n:1566444395;p=+g[e+8>>2];q=(g[k>>2]=p,c[k>>2]|0);r=p<999999984306749440.0?q:1566444395;s=i>-999999984306749440.0?j:-581039253;j=m>-999999984306749440.0?n:-581039253;n=p>-999999984306749440.0?q:-581039253;p=+g[e+16>>2];q=p<(c[k>>2]=l,+g[k>>2]);t=(g[k>>2]=p,c[k>>2]|0);u=q?t:l;m=+g[e+20>>2];l=m<(c[k>>2]=o,+g[k>>2]);q=(g[k>>2]=m,c[k>>2]|0);v=l?q:o;i=+g[e+24>>2];o=i<(c[k>>2]=r,+g[k>>2]);l=(g[k>>2]=i,c[k>>2]|0);w=o?l:r;r=(c[k>>2]=s,+g[k>>2])<p?t:s;s=(c[k>>2]=j,+g[k>>2])<m?q:j;j=(c[k>>2]=n,+g[k>>2])<i?l:n;i=+g[e+32>>2];n=i<(c[k>>2]=u,+g[k>>2]);l=(g[k>>2]=i,c[k>>2]|0);q=n?l:u;m=+g[e+36>>2];u=m<(c[k>>2]=v,+g[k>>2]);n=(g[k>>2]=m,c[k>>2]|0);t=u?n:v;p=+g[e+40>>2];e=p<(c[k>>2]=w,+g[k>>2]);v=(g[k>>2]=p,c[k>>2]|0);u=e?v:w;w=(c[k>>2]=r,+g[k>>2])<i?l:r;r=(c[k>>2]=s,+g[k>>2])<m?n:s;s=(c[k>>2]=j,+g[k>>2])<p?v:j;p=(c[k>>2]=w,+g[k>>2]);m=(c[k>>2]=q,+g[k>>2]);if(p-m<2.0000000949949026e-03){j=(g[k>>2]=p+1.0000000474974513e-03,c[k>>2]|0);x=j;y=(g[k>>2]=m+-1.0000000474974513e-03,c[k>>2]|0)}else{x=w;y=q}m=(c[k>>2]=r,+g[k>>2]);p=(c[k>>2]=t,+g[k>>2]);if(m-p<2.0000000949949026e-03){q=(g[k>>2]=m+1.0000000474974513e-03,c[k>>2]|0);z=q;A=(g[k>>2]=p+-1.0000000474974513e-03,c[k>>2]|0)}else{z=r;A=t}p=(c[k>>2]=s,+g[k>>2]);m=(c[k>>2]=u,+g[k>>2]);if(p-m<2.0000000949949026e-03){t=(g[k>>2]=p+1.0000000474974513e-03,c[k>>2]|0);B=t;C=(g[k>>2]=m+-1.0000000474974513e-03,c[k>>2]|0)}else{B=s;C=u}u=c[d+8>>2]|0;m=+g[u+4>>2];p=(c[k>>2]=y,+g[k>>2])-m;i=+g[u+8>>2];D=(c[k>>2]=A,+g[k>>2])-i;E=+g[u+12>>2];F=+g[u+36>>2];G=+g[u+40>>2];H=+g[u+44>>2];u=~~(p*F)&65534;A=~~(((c[k>>2]=C,+g[k>>2])-E)*H)&65534;C=~~(D*G)&65534;D=(c[k>>2]=x,+g[k>>2])-m;m=(c[k>>2]=z,+g[k>>2])-i;z=(~~(D*F+1.0)&65535|1)&65535;x=(~~(((c[k>>2]=B,+g[k>>2])-E)*H+1.0)&65535|1)&65535;B=(~~(m*G+1.0)&65535|1)&65535;y=f<<21|h;h=c[d+4>>2]|0;d=h+4|0;f=c[d>>2]|0;s=h+8|0;if((f|0)!=(c[s>>2]|0)){I=f;J=h+12|0;K=c[J>>2]|0;L=K+(I<<4)|0;b[L>>1]=u;M=K+(I<<4)+2|0;b[M>>1]=C;N=K+(I<<4)+4|0;b[N>>1]=A;O=K+(I<<4)+6|0;b[O>>1]=z;P=K+(I<<4)+8|0;b[P>>1]=B;Q=K+(I<<4)+10|0;b[Q>>1]=x;R=K+(I<<4)+12|0;c[R>>2]=y;S=c[d>>2]|0;T=S+1|0;c[d>>2]=T;return}t=f|0?f<<1:1;if((f|0)>=(t|0)){I=f;J=h+12|0;K=c[J>>2]|0;L=K+(I<<4)|0;b[L>>1]=u;M=K+(I<<4)+2|0;b[M>>1]=C;N=K+(I<<4)+4|0;b[N>>1]=A;O=K+(I<<4)+6|0;b[O>>1]=z;P=K+(I<<4)+8|0;b[P>>1]=B;Q=K+(I<<4)+10|0;b[Q>>1]=x;R=K+(I<<4)+12|0;c[R>>2]=y;S=c[d>>2]|0;T=S+1|0;c[d>>2]=T;return}if(!t){U=0;V=f}else{c[4350]=(c[4350]|0)+1;f=Tr((t<<4|3)+16|0)|0;if(!f)W=0;else{r=f+4+15&-16;c[r+-4>>2]=f;W=r}U=W;V=c[d>>2]|0}W=h+12|0;if((V|0)>0){r=0;do{f=U+(r<<4)|0;q=(c[W>>2]|0)+(r<<4)|0;c[f>>2]=c[q>>2];c[f+4>>2]=c[q+4>>2];c[f+8>>2]=c[q+8>>2];c[f+12>>2]=c[q+12>>2];r=r+1|0}while((r|0)!=(V|0))}V=c[W>>2]|0;r=h+16|0;if(V|0){if(a[r>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[V+-4>>2]|0)}c[W>>2]=0}a[r>>0]=1;c[W>>2]=U;c[s>>2]=t;I=c[d>>2]|0;J=h+12|0;K=c[J>>2]|0;L=K+(I<<4)|0;b[L>>1]=u;M=K+(I<<4)+2|0;b[M>>1]=C;N=K+(I<<4)+4|0;b[N>>1]=A;O=K+(I<<4)+6|0;b[O>>1]=z;P=K+(I<<4)+8|0;b[P>>1]=B;Q=K+(I<<4)+10|0;b[Q>>1]=x;R=K+(I<<4)+12|0;c[R>>2]=y;S=c[d>>2]|0;T=S+1|0;c[d>>2]=T;return}function ao(a){a=a|0;Ur(a);return}function bo(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,l=0.0,m=0,n=0,o=0.0,p=0,q=0,r=0.0,s=0,t=0,u=0.0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0,E=0,F=0,G=0,H=0,I=0;h=i;i=i+32|0;j=h;l=+g[d>>2];m=(g[k>>2]=l,c[k>>2]|0);n=l<999999984306749440.0?m:1566444395;o=+g[d+4>>2];p=(g[k>>2]=o,c[k>>2]|0);q=o<999999984306749440.0?p:1566444395;r=+g[d+8>>2];s=(g[k>>2]=r,c[k>>2]|0);t=r<999999984306749440.0?s:1566444395;u=+g[d+12>>2];v=u<0.0?u:0.0;w=l>-999999984306749440.0?m:-581039253;m=o>-999999984306749440.0?p:-581039253;p=r>-999999984306749440.0?s:-581039253;r=u>0.0?u:0.0;u=+g[d+16>>2];s=u<(c[k>>2]=n,+g[k>>2]);x=(g[k>>2]=u,c[k>>2]|0);y=s?x:n;o=+g[d+20>>2];n=o<(c[k>>2]=q,+g[k>>2]);s=(g[k>>2]=o,c[k>>2]|0);z=n?s:q;l=+g[d+24>>2];q=l<(c[k>>2]=t,+g[k>>2]);n=(g[k>>2]=l,c[k>>2]|0);A=q?n:t;B=+g[d+28>>2];C=B<v?B:v;t=(c[k>>2]=w,+g[k>>2])<u?x:w;w=(c[k>>2]=m,+g[k>>2])<o?s:m;m=(c[k>>2]=p,+g[k>>2])<l?n:p;l=r<B?B:r;r=+g[d+32>>2];p=r<(c[k>>2]=y,+g[k>>2]);n=(g[k>>2]=r,c[k>>2]|0);s=p?n:y;B=+g[d+36>>2];y=B<(c[k>>2]=z,+g[k>>2]);p=(g[k>>2]=B,c[k>>2]|0);x=y?p:z;o=+g[d+40>>2];z=o<(c[k>>2]=A,+g[k>>2]);y=(g[k>>2]=o,c[k>>2]|0);q=z?y:A;u=+g[d+44>>2];v=u<C?u:C;d=(c[k>>2]=t,+g[k>>2])<r?n:t;t=(c[k>>2]=w,+g[k>>2])<B?p:w;w=(c[k>>2]=m,+g[k>>2])<o?y:m;o=l<u?u:l;m=c[b+4>>2]|0;b=m+4|0;y=c[b>>2]|0;p=m+8|0;if((y|0)==(c[p>>2]|0)?(n=y|0?y<<1:1,(y|0)<(n|0)):0){if(!n){D=0;E=y}else{c[4350]=(c[4350]|0)+1;A=Tr(n<<6|19)|0;if(!A)F=0;else{z=A+4+15&-16;c[z+-4>>2]=A;F=z}D=F;E=c[b>>2]|0}F=m+12|0;if((E|0)>0){z=0;do{A=D+(z<<6)|0;G=(c[F>>2]|0)+(z<<6)|0;H=A+64|0;do{c[A>>2]=c[G>>2];A=A+4|0;G=G+4|0}while((A|0)<(H|0));z=z+1|0}while((z|0)!=(E|0))}E=c[F>>2]|0;z=m+16|0;if(E|0){if(a[z>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[E+-4>>2]|0)}c[F>>2]=0}a[z>>0]=1;c[F>>2]=D;c[p>>2]=n;I=c[b>>2]|0}else I=y;y=c[m+12>>2]|0;c[y+(I<<6)>>2]=s;c[y+(I<<6)+4>>2]=x;c[y+(I<<6)+8>>2]=q;g[y+(I<<6)+12>>2]=v;c[y+(I<<6)+16>>2]=d;c[y+(I<<6)+20>>2]=t;c[y+(I<<6)+24>>2]=w;g[y+(I<<6)+28>>2]=o;c[y+(I<<6)+32>>2]=-1;c[y+(I<<6)+36>>2]=e;c[y+(I<<6)+40>>2]=f;f=y+(I<<6)+44|0;c[f>>2]=c[j>>2];c[f+4>>2]=c[j+4>>2];c[f+8>>2]=c[j+8>>2];c[f+12>>2]=c[j+12>>2];c[f+16>>2]=c[j+16>>2];c[b>>2]=(c[b>>2]|0)+1;i=h;return}function co(a){a=a|0;var b=0;c[a>>2]=5432;b=a+56|0;a=c[b>>2]|0;if(!a)return;vb[c[c[a>>2]>>2]&255](a);a=c[b>>2]|0;if(!a)return;c[4351]=(c[4351]|0)+1;Ur(c[a+-4>>2]|0);return}function eo(a){a=a|0;var b=0,d=0;c[a>>2]=5432;b=a+56|0;d=c[b>>2]|0;if(d|0?(vb[c[c[d>>2]>>2]&255](d),d=c[b>>2]|0,d|0):0){c[4351]=(c[4351]|0)+1;Ur(c[d+-4>>2]|0)}c[4351]=(c[4351]|0)+1;Ur(c[a+-4>>2]|0);return}function fo(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,h=0,j=0,k=0.0,l=0,m=0.0,n=0.0,o=0.0;e=i;i=i+96|0;f=e+32|0;h=e+16|0;j=e;k=+Kb[c[(c[a>>2]|0)+48>>2]&7](a);c[f>>2]=1065353216;l=f+4|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[f+20>>2]=1065353216;l=f+24|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[f+40>>2]=1065353216;l=f+44|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;ec[c[(c[a>>2]|0)+8>>2]&63](a,f,h,j);m=(k+(+g[j>>2]-+g[h>>2])*.5)*2.0;n=(k+(+g[j+4>>2]-+g[h+4>>2])*.5)*2.0;o=(k+(+g[j+8>>2]-+g[h+8>>2])*.5)*2.0;k=m*m;m=n*n;n=o*o;o=b*.0833333283662796;g[d>>2]=o*(m+n);g[d+4>>2]=o*(k+n);g[d+8>>2]=o*(k+m);g[d+12>>2]=0.0;i=e;return}function go(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0.0,x=0,y=0,z=0.0;e=i;i=i+2048|0;f=e;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;h=+g[d>>2];j=+g[d+4>>2];k=+g[d+8>>2];l=h*h+j*j+k*k;if(l<9.999999747378752e-05){m=1.0;n=0.0;o=0.0}else{p=1.0/+O(+l);m=h*p;n=k*p;o=j*p}if((zb[c[(c[b>>2]|0)+96>>2]&127](b)|0)<=0){i=e;return}d=0;p=-999999984306749440.0;while(1){if(((zb[c[(c[b>>2]|0)+96>>2]&127](b)|0)-d|0)<128){q=(zb[c[(c[b>>2]|0)+96>>2]&127](b)|0)-d|0;if((q|0)>0){r=q;s=8}else{t=-3402823466385288598117041.0e14;u=-1}}else{r=128;s=8}if((s|0)==8){s=0;q=0;do{ac[c[(c[b>>2]|0)+108>>2]&63](b,q,f+(q<<4)|0);q=q+1|0}while((q|0)!=(r|0));v=0;w=-3402823466385288598117041.0e14;x=-1;while(1){j=m*+g[f+(v<<4)>>2]+o*+g[f+(v<<4)+4>>2]+n*+g[f+(v<<4)+8>>2];q=j>w;y=q?v:x;k=q?j:w;v=v+1|0;if((v|0)==(r|0)){t=k;u=y;break}else{w=k;x=y}}}if(t>p){y=f+(u<<4)|0;c[a>>2]=c[y>>2];c[a+4>>2]=c[y+4>>2];c[a+8>>2]=c[y+8>>2];c[a+12>>2]=c[y+12>>2];z=t}else z=p;d=d+128|0;if((d|0)>=(zb[c[(c[b>>2]|0)+96>>2]&127](b)|0))break;else p=z}i=e;return}function ho(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=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.0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,A=0.0,B=0,C=0,D=0.0;f=i;i=i+2048|0;h=f;if((e|0)>0)j=0;else{i=f;return}do{g[d+(j<<4)+12>>2]=-999999984306749440.0;j=j+1|0}while((j|0)!=(e|0));j=0;do{if((zb[c[(c[a>>2]|0)+96>>2]&127](a)|0)>0){k=b+(j<<4)|0;l=b+(j<<4)+4|0;m=b+(j<<4)+8|0;n=d+(j<<4)+12|0;o=d+(j<<4)|0;p=0;do{if(((zb[c[(c[a>>2]|0)+96>>2]&127](a)|0)-p|0)<128){q=(zb[c[(c[a>>2]|0)+96>>2]&127](a)|0)-p|0;if((q|0)>0){r=q;s=10}else{t=-3402823466385288598117041.0e14;u=-1}}else{r=128;s=10}if((s|0)==10){s=0;q=0;do{ac[c[(c[a>>2]|0)+108>>2]&63](a,q,h+(q<<4)|0);q=q+1|0}while((q|0)!=(r|0));v=+g[k>>2];w=+g[l>>2];x=+g[m>>2];q=0;y=-3402823466385288598117041.0e14;z=-1;while(1){A=v*+g[h+(q<<4)>>2]+w*+g[h+(q<<4)+4>>2]+x*+g[h+(q<<4)+8>>2];B=A>y;C=B?q:z;D=B?A:y;q=q+1|0;if((q|0)==(r|0)){t=D;u=C;break}else{y=D;z=C}}}if(t>+g[n>>2]){z=h+(u<<4)|0;c[o>>2]=c[z>>2];c[o+4>>2]=c[z+4>>2];c[o+8>>2]=c[z+8>>2];c[o+12>>2]=c[z+12>>2];g[n>>2]=t}p=p+128|0}while((p|0)<(zb[c[(c[a>>2]|0)+96>>2]&127](a)|0))}j=j+1|0}while((j|0)!=(e|0));i=f;return}function io(d,f){d=d|0;f=f|0;var h=0,j=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,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0,ia=0,ja=0,ka=0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0,qa=0,ra=0,sa=0,ta=0.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.0,Ra=0.0,Sa=0.0,Ta=0.0,Ua=0.0,Va=0.0,Wa=0.0,Xa=0.0,Ya=0.0,Za=0.0,_a=0.0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,wb=0,xb=0,yb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0.0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0.0,qc=0.0,rc=0.0,sc=0.0,tc=0.0,uc=0.0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0.0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,$d=0,ae=0,be=0,ce=0,de=0,ee=0,fe=0,ge=0,he=0,ie=0,je=0,ke=0,le=0,me=0,ne=0,oe=0,pe=0,qe=0,re=0,se=0,te=0,ue=0,ve=0,we=0,xe=0,ye=0,ze=0,Ae=0,Be=0,Ce=0.0,De=0,Ee=0,Fe=0,Ge=0.0,He=0,Ie=0,Je=0,Ke=0,Le=0,Me=0,Ne=0,Oe=0,Pe=0,Qe=0.0,Re=0.0,Se=0.0,Te=0.0,Ue=0.0,Ve=0.0,We=0.0,Xe=0.0,Ye=0;h=i;i=i+288|0;j=h+208|0;l=h+192|0;m=h+128|0;n=h+112|0;o=h+92|0;p=h+256|0;q=h+56|0;r=h+72|0;s=h;t=h+20|0;u=d+56|0;v=c[u>>2]|0;if(v|0?(vb[c[c[v>>2]>>2]&255](v),v=c[u>>2]|0,v|0):0){c[4351]=(c[4351]|0)+1;Ur(c[v+-4>>2]|0)}c[4350]=(c[4350]|0)+1;v=Tr(151)|0;if(!v)w=0;else{x=v+4+15&-16;c[x+-4>>2]=v;w=x}c[w>>2]=6616;a[w+20>>0]=1;c[w+16>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;a[w+40>>0]=1;c[w+36>>2]=0;c[w+28>>2]=0;c[w+32>>2]=0;a[w+60>>0]=1;c[w+56>>2]=0;c[w+48>>2]=0;c[w+52>>2]=0;c[u>>2]=w;w=0;x=0;v=0;y=0;while(1){if((w|0)>=(zb[c[(c[d>>2]|0)+96>>2]&127](d)|0))break;do if((y|0)==(x|0)){z=x|0?x<<1:1;if((x|0)<(z|0)){if((z|0)!=0?(c[4350]=(c[4350]|0)+1,A=Tr((z<<4|3)+16|0)|0,(A|0)!=0):0){B=A+4+15&-16;c[B+-4>>2]=A;C=B}else C=0;if((x|0)<=0){if(!v){D=x;E=z;F=C;break}}else{B=0;do{A=C+(B<<4)|0;G=v+(B<<4)|0;c[A>>2]=c[G>>2];c[A+4>>2]=c[G+4>>2];c[A+8>>2]=c[G+8>>2];c[A+12>>2]=c[G+12>>2];B=B+1|0}while((B|0)!=(x|0))}c[4351]=(c[4351]|0)+1;Ur(c[v+-4>>2]|0);D=x;E=z;F=C}else{D=x;E=x;F=v}}else{D=y;E=x;F=v}while(0);B=F+(y<<4)|0;c[B>>2]=c[l>>2];c[B+4>>2]=c[l+4>>2];c[B+8>>2]=c[l+8>>2];c[B+12>>2]=c[l+12>>2];ac[c[(c[d>>2]|0)+108>>2]&63](d,w,B);w=w+1|0;x=E;v=F;y=D+1|0}D=m+16|0;a[D>>0]=1;F=m+12|0;c[F>>2]=0;E=m+4|0;c[E>>2]=0;c[m+8>>2]=0;x=m+36|0;a[x>>0]=1;w=m+32|0;c[w>>2]=0;l=m+24|0;c[l>>2]=0;C=m+28|0;c[C>>2]=0;B=m+56|0;a[B>>0]=1;G=m+52|0;c[G>>2]=0;A=m+44|0;c[A>>2]=0;H=m+48|0;c[H>>2]=0;if(f){if((y|0)>0){f=0;I=0;J=0;K=0;while(1){L=f;f=f+1|0;if((f|0)<(y|0)){M=v+(L<<4)|0;P=v+(L<<4)+4|0;Q=v+(L<<4)+8|0;L=f;R=I;S=J;T=K;while(1){U=L;L=L+1|0;if((L|0)<(y|0)){V=v+(U<<4)|0;W=v+(U<<4)+4|0;X=v+(U<<4)+8|0;U=L;Y=R;Z=S;_=T;while(1){$=+g[M>>2];aa=+g[V>>2]-$;ba=+g[P>>2];ca=+g[W>>2]-ba;da=+g[Q>>2];ea=+g[X>>2]-da;fa=+g[v+(U<<4)>>2]-$;$=+g[v+(U<<4)+4>>2]-ba;ba=+g[v+(U<<4)+8>>2]-da;da=ca*ba-ea*$;ga=ea*fa-aa*ba;ba=aa*$-ca*fa;fa=1.0;ha=Y;ia=Z;ja=_;ka=0;while(1){ca=da*fa;$=ga*fa;aa=ba*fa;ea=aa*aa+(ca*ca+$*$);a:do if(ea>9.999999747378752e-05){la=1.0/+O(+ea);ma=ca*la;na=$*la;oa=aa*la;if((ja|0)>0){pa=0;do{if(ma*+g[ia+(pa<<4)>>2]+na*+g[ia+(pa<<4)+4>>2]+oa*+g[ia+(pa<<4)+8>>2]>.9990000128746033){qa=ha;ra=ia;sa=ja;break a}pa=pa+1|0}while((pa|0)<(ja|0))}la=ma*+g[M>>2]+na*+g[P>>2]+oa*+g[Q>>2];ta=-la;pa=0;do{if(ma*+g[v+(pa<<4)>>2]+na*+g[v+(pa<<4)+4>>2]+oa*+g[v+(pa<<4)+8>>2]-la+-.009999999776482582>0.0){qa=ha;ra=ia;sa=ja;break a}pa=pa+1|0}while((pa|0)<(y|0));do if((ja|0)==(ha|0)){pa=ha|0?ha<<1:1;if((ha|0)<(pa|0)){do if(!pa)ua=0;else{c[4350]=(c[4350]|0)+1;va=Tr((pa<<4|3)+16|0)|0;if(!va){ua=0;break}wa=va+4+15&-16;c[wa+-4>>2]=va;ua=wa}while(0);if((ha|0)<=0){if(!ia){xa=ha;ya=pa;za=ua;break}}else{wa=0;do{va=ua+(wa<<4)|0;Aa=ia+(wa<<4)|0;c[va>>2]=c[Aa>>2];c[va+4>>2]=c[Aa+4>>2];c[va+8>>2]=c[Aa+8>>2];c[va+12>>2]=c[Aa+12>>2];wa=wa+1|0}while((wa|0)!=(ha|0))}c[4351]=(c[4351]|0)+1;Ur(c[ia+-4>>2]|0);xa=ha;ya=pa;za=ua}else{xa=ha;ya=ha;za=ia}}else{xa=ja;ya=ha;za=ia}while(0);g[za+(xa<<4)>>2]=ma;g[za+(xa<<4)+4>>2]=na;g[za+(xa<<4)+8>>2]=oa;g[za+(xa<<4)+12>>2]=ta;qa=ya;ra=za;sa=ja+1|0}else{qa=ha;ra=ia;sa=ja}while(0);ka=ka+1|0;if((ka|0)==2)break;else{fa=-1.0;ha=qa;ia=ra;ja=sa}}U=U+1|0;if((U|0)==(y|0)){Ba=qa;Ca=ra;Da=sa;break}else{Y=qa;Z=ra;_=sa}}}else{Ba=R;Ca=S;Da=T}if((L|0)==(y|0)){Ea=Ba;Fa=Ca;Ga=Da;break}else{R=Ba;S=Ca;T=Da}}}else{Ea=I;Fa=J;Ga=K}if((f|0)==(y|0)){Ha=Fa;Ia=Ga;break}else{I=Ea;J=Fa;K=Ga}}if((Ia|0)>0){Ga=0;K=0;Fa=0;while(1){J=Ha+(Fa<<4)|0;c[j>>2]=c[J>>2];c[j+4>>2]=c[J+4>>2];c[j+8>>2]=c[J+8>>2];fa=+g[Ha+(Fa<<4)+12>>2];ba=fa-+Kb[c[(c[d>>2]|0)+48>>2]&7](d);do if((Fa|0)==(Ga|0)){J=Ga|0?Ga<<1:1;if((Ga|0)<(J|0)){if((J|0)!=0?(c[4350]=(c[4350]|0)+1,Ea=Tr((J<<4|3)+16|0)|0,(Ea|0)!=0):0){I=Ea+4+15&-16;c[I+-4>>2]=Ea;Ja=I}else Ja=0;if((Ga|0)<=0){if(!K){Ka=Ga;La=J;Ma=Ja;break}}else{I=0;do{Ea=Ja+(I<<4)|0;f=K+(I<<4)|0;c[Ea>>2]=c[f>>2];c[Ea+4>>2]=c[f+4>>2];c[Ea+8>>2]=c[f+8>>2];c[Ea+12>>2]=c[f+12>>2];I=I+1|0}while((I|0)!=(Ga|0))}c[4351]=(c[4351]|0)+1;Ur(c[K+-4>>2]|0);Ka=Ga;La=J;Ma=Ja}else{Ka=Ga;La=Ga;Ma=K}}else{Ka=Fa;La=Ga;Ma=K}while(0);I=Ma+(Ka<<4)|0;c[I>>2]=c[j>>2];c[I+4>>2]=c[j+4>>2];c[I+8>>2]=c[j+8>>2];g[Ma+(Ka<<4)+12>>2]=ba;I=Fa+1|0;if((I|0)<(Ia|0)){Ga=La;K=Ma;Fa=I}else{Na=Ha;Oa=Ma;Pa=I;break}}if((Pa|0)>0){Ma=0;Fa=0;K=0;La=0;while(1){Ga=Ma;Ma=Ma+1|0;if((Ma|0)<(Pa|0)){Ia=Oa+(Ga<<4)+8|0;Ka=Oa+(Ga<<4)+4|0;Ja=Oa+(Ga<<4)|0;d=Oa+(Ga<<4)+12|0;Ga=Ma;I=Fa;f=K;Ea=La;while(1){Da=Ga;Ga=Ga+1|0;if((Ga|0)<(Pa|0)){Ca=Oa+(Da<<4)+4|0;Ba=Oa+(Da<<4)+8|0;sa=Oa+(Da<<4)|0;ra=Oa+(Da<<4)+12|0;Da=Ga;qa=I;za=f;ya=Ea;while(1){fa=+g[Ca>>2];ga=+g[Oa+(Da<<4)+8>>2];da=+g[Ba>>2];aa=+g[Oa+(Da<<4)+4>>2];$=fa*ga-da*aa;ca=+g[Oa+(Da<<4)>>2];ea=+g[sa>>2];la=da*ca-ga*ea;Qa=aa*ea-fa*ca;Ra=+g[Ia>>2];Sa=+g[Ka>>2];Ta=aa*Ra-ga*Sa;Ua=+g[Ja>>2];Va=ga*Ua-ca*Ra;ga=ca*Sa-aa*Ua;aa=da*Sa-fa*Ra;ca=ea*Ra-da*Ua;da=fa*Ua-ea*Sa;b:do if(((Qa*Qa+($*$+la*la)>9.999999747378752e-05?ga*ga+(Ta*Ta+Va*Va)>9.999999747378752e-05:0)?da*da+(aa*aa+ca*ca)>9.999999747378752e-05:0)?(ea=Ra*Qa+(Sa*la+$*Ua),+N(+ea)>9.999999974752427e-07):0){fa=-1.0/ea;ea=+g[d>>2];Wa=+g[ra>>2];Xa=+g[Oa+(Da<<4)+12>>2];Ya=fa*(aa*Xa+($*ea+Ta*Wa));Za=fa*(ca*Xa+(la*ea+Va*Wa));_a=fa*(da*Xa+(Qa*ea+ga*Wa));xa=0;do{if(+g[Oa+(xa<<4)+12>>2]+(Ya*+g[Oa+(xa<<4)>>2]+Za*+g[Oa+(xa<<4)+4>>2]+_a*+g[Oa+(xa<<4)+8>>2])+-.009999999776482582>0.0){$a=qa;ab=za;bb=ya;break b}xa=xa+1|0}while((xa|0)<(Pa|0));do if((ya|0)==(qa|0)){xa=qa|0?qa<<1:1;if((qa|0)>=(xa|0)){cb=qa;db=qa;eb=za;break}do if(!xa)fb=0;else{c[4350]=(c[4350]|0)+1;ua=Tr((xa<<4|3)+16|0)|0;if(!ua){fb=0;break}T=ua+4+15&-16;c[T+-4>>2]=ua;fb=T}while(0);if((qa|0)<=0){if(!za){cb=qa;db=xa;eb=fb;break}}else{T=0;do{ua=fb+(T<<4)|0;S=za+(T<<4)|0;c[ua>>2]=c[S>>2];c[ua+4>>2]=c[S+4>>2];c[ua+8>>2]=c[S+8>>2];c[ua+12>>2]=c[S+12>>2];T=T+1|0}while((T|0)!=(qa|0))}c[4351]=(c[4351]|0)+1;Ur(c[za+-4>>2]|0);cb=qa;db=xa;eb=fb}else{cb=ya;db=qa;eb=za}while(0);g[eb+(cb<<4)>>2]=Ya;g[eb+(cb<<4)+4>>2]=Za;g[eb+(cb<<4)+8>>2]=_a;g[eb+(cb<<4)+12>>2]=0.0;$a=db;ab=eb;bb=ya+1|0}else{$a=qa;ab=za;bb=ya}while(0);Da=Da+1|0;if((Da|0)==(Pa|0)){gb=$a;hb=ab;jb=bb;break}else{qa=$a;za=ab;ya=bb}}}else{gb=I;hb=f;jb=Ea}if((Ga|0)==(Pa|0)){kb=gb;lb=hb;mb=jb;break}else{I=gb;f=hb;Ea=jb}}}else{kb=Fa;lb=K;mb=La}if((Ma|0)==(Pa|0)){nb=Na;ob=Oa;pb=lb;qb=mb;break}else{Fa=kb;K=lb;La=mb}}}else{nb=Na;ob=Oa;pb=0;qb=0}}else{nb=Ha;ob=0;pb=0;qb=0}}else{nb=0;ob=0;pb=0;qb=0}Cr(m,pb,qb);if(pb|0){c[4351]=(c[4351]|0)+1;Ur(c[pb+-4>>2]|0)}if(ob|0){c[4351]=(c[4351]|0)+1;Ur(c[ob+-4>>2]|0)}if(nb|0){c[4351]=(c[4351]|0)+1;Ur(c[nb+-4>>2]|0)}}else Cr(m,v,y);y=c[A>>2]|0;m=(y|0)>0;if(m){c[4350]=(c[4350]|0)+1;nb=Tr((y<<4|3)+16|0)|0;if(!nb)rb=0;else{ob=nb+4+15&-16;c[ob+-4>>2]=nb;rb=ob}ob=0;do{nb=rb+(ob<<4)|0;c[nb>>2]=c[n>>2];c[nb+4>>2]=c[n+4>>2];c[nb+8>>2]=c[n+8>>2];c[nb+12>>2]=c[n+12>>2];ob=ob+1|0}while((ob|0)!=(y|0));sb=rb}else sb=0;rb=o+16|0;a[rb>>0]=1;ob=o+12|0;c[ob>>2]=0;n=o+4|0;c[n>>2]=0;c[o+8>>2]=0;nb=p;pb=nb+19|0;do{a[nb>>0]=0;nb=nb+1|0}while((nb|0)<(pb|0));if((y|0)<0)ib();if(m){jo(o,y);o=p+3|0;p=c[ob>>2]|0;qb=0;do{Ha=p+(qb*36|0)|0;a[Ha+16>>0]=1;Oa=Ha+4|0;c[Oa>>2]=0;c[Oa+4>>2]=0;c[Oa+8>>2]=0;nb=Ha+20|0;tb=o;pb=nb+16|0;do{a[nb>>0]=a[tb>>0]|0;nb=nb+1|0;tb=tb+1|0}while((nb|0)<(pb|0));qb=qb+1|0}while((qb|0)!=(y|0))}c[n>>2]=y;qb=c[E>>2]|0;E=c[u>>2]|0;o=E+8|0;p=c[o>>2]|0;if((p|0)<(qb|0)){Ha=E+12|0;if((c[Ha>>2]|0)<(qb|0)){if(!qb){ub=0;wb=p}else{c[4350]=(c[4350]|0)+1;Oa=Tr((qb<<4|3)+16|0)|0;if(!Oa)xb=0;else{Na=Oa+4+15&-16;c[Na+-4>>2]=Oa;xb=Na}ub=xb;wb=c[o>>2]|0}xb=E+16|0;if((wb|0)>0){Na=0;do{Oa=ub+(Na<<4)|0;mb=(c[xb>>2]|0)+(Na<<4)|0;c[Oa>>2]=c[mb>>2];c[Oa+4>>2]=c[mb+4>>2];c[Oa+8>>2]=c[mb+8>>2];c[Oa+12>>2]=c[mb+12>>2];Na=Na+1|0}while((Na|0)!=(wb|0))}wb=c[xb>>2]|0;Na=E+20|0;if(wb|0){if(a[Na>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[wb+-4>>2]|0)}c[xb>>2]=0}a[Na>>0]=1;c[xb>>2]=ub;c[Ha>>2]=qb;yb=xb}else yb=E+16|0;E=p;do{p=(c[yb>>2]|0)+(E<<4)|0;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];E=E+1|0}while((E|0)!=(qb|0))}c[o>>2]=qb;if((qb|0)>0){o=0;do{E=(c[(c[u>>2]|0)+16>>2]|0)+(o<<4)|0;q=(c[F>>2]|0)+(o<<4)|0;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];o=o+1|0}while((o|0)!=(qb|0))}if(m){m=j+4|0;qb=j+24|0;o=j+8|0;q=j+20|0;E=j+16|0;yb=0;do{p=(c[w>>2]|0)+((c[(c[G>>2]|0)+(yb<<2)>>2]|0)*12|0)|0;xb=p;Ha=0;while(1){ub=xb+4|0;Na=c[xb+((c[ub>>2]|0)*12|0)+8>>2]|0;wb=c[ob>>2]|0;mb=wb+(yb*36|0)+4|0;Oa=c[mb>>2]|0;La=wb+(yb*36|0)+8|0;if((Oa|0)==(c[La>>2]|0)?(lb=Oa|0?Oa<<1:1,(Oa|0)<(lb|0)):0){if(!lb){Ab=0;Bb=Oa}else{c[4350]=(c[4350]|0)+1;K=Tr((lb<<2|3)+16|0)|0;if(!K)Cb=0;else{kb=K+4+15&-16;c[kb+-4>>2]=K;Cb=kb}Ab=Cb;Bb=c[mb>>2]|0}kb=wb+(yb*36|0)+12|0;K=c[kb>>2]|0;if((Bb|0)<=0)if(!K){Db=wb+(yb*36|0)+16|0;Eb=Bb}else Fb=132;else{Fa=0;do{c[Ab+(Fa<<2)>>2]=c[K+(Fa<<2)>>2];Fa=Fa+1|0}while((Fa|0)!=(Bb|0));Fb=132}if((Fb|0)==132){Fb=0;Fa=wb+(yb*36|0)+16|0;if(a[Fa>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[K+-4>>2]|0)}c[kb>>2]=0;Db=Fa;Eb=c[mb>>2]|0}a[Db>>0]=1;c[kb>>2]=Ab;c[La>>2]=lb;Gb=Eb}else Gb=Oa;c[(c[wb+(yb*36|0)+12>>2]|0)+(Gb<<2)>>2]=Na;c[mb>>2]=(c[mb>>2]|0)+1;Fa=c[xb+8>>2]|0;Pa=c[F>>2]|0;ba=+g[Pa+(Fa<<4)>>2]-+g[Pa+(Na<<4)>>2];ga=+g[Pa+(Fa<<4)+4>>2]-+g[Pa+(Na<<4)+4>>2];Qa=+g[Pa+(Fa<<4)+8>>2]-+g[Pa+(Na<<4)+8>>2];da=1.0/+O(+(ba*ba+ga*ga+Qa*Qa));if((Ha|0)<2){g[j+(Ha<<4)>>2]=ba*da;g[j+(Ha<<4)+4>>2]=ga*da;g[j+(Ha<<4)+8>>2]=Qa*da;g[j+(Ha<<4)+12>>2]=0.0;Hb=Ha+1|0}else Hb=Ha;Pa=xb+((c[ub>>2]|0)*12|0)|0;xb=Pa+((c[Pa>>2]|0)*12|0)|0;if((xb|0)==(p|0))break;else Ha=Hb}Ha=sb+(yb<<4)|0;if((Hb|0)==2){da=+g[m>>2];Qa=+g[qb>>2];ga=+g[o>>2];ba=+g[q>>2];Va=da*Qa-ga*ba;la=+g[E>>2];ca=+g[j>>2];Ta=ga*la-Qa*ca;Qa=ba*ca-da*la;p=sb+(yb<<4)+4|0;xb=sb+(yb<<4)+8|0;g[sb+(yb<<4)+12>>2]=0.0;la=1.0/+O(+(Va*Va+Ta*Ta+Qa*Qa));da=Va*la;g[Ha>>2]=da;g[p>>2]=Ta*la;g[xb>>2]=Qa*la;Pa=c[ob>>2]|0;g[Pa+(yb*36|0)+20>>2]=da;c[Pa+(yb*36|0)+24>>2]=c[p>>2];c[Pa+(yb*36|0)+28>>2]=c[xb>>2];g[Pa+(yb*36|0)+32>>2]=1000000015047466219876688.0e6;Ib=Pa}else{c[Ha>>2]=0;c[Ha+4>>2]=0;c[Ha+8>>2]=0;c[Ha+12>>2]=0;Ib=c[ob>>2]|0}Pa=c[Ib+(yb*36|0)+4>>2]|0;if((Pa|0)>0){xb=c[(c[u>>2]|0)+16>>2]|0;da=+g[Ha>>2];la=+g[sb+(yb<<4)+4>>2];Qa=+g[sb+(yb<<4)+8>>2];Ha=c[Ib+(yb*36|0)+12>>2]|0;Ta=1000000015047466219876688.0e6;p=0;while(1){Fa=c[Ha+(p<<2)>>2]|0;Va=+g[xb+(Fa<<4)>>2]*da+ +g[xb+(Fa<<4)+4>>2]*la+ +g[xb+(Fa<<4)+8>>2]*Qa;ca=Ta>Va?Va:Ta;p=p+1|0;if((p|0)==(Pa|0)){Jb=ca;break}else Ta=ca}}else Jb=1000000015047466219876688.0e6;g[Ib+(yb*36|0)+32>>2]=-Jb;yb=yb+1|0}while((yb|0)!=(y|0))}if((c[n>>2]|0)>0){y=0;yb=0;Ib=0;while(1){do if((y|0)==(yb|0)){E=y|0?y<<1:1;if((y|0)<(E|0)){if((E|0)!=0?(c[4350]=(c[4350]|0)+1,q=Tr((E<<2|3)+16|0)|0,(q|0)!=0):0){o=q+4+15&-16;c[o+-4>>2]=q;Lb=o}else Lb=0;if((y|0)<=0){if(!Ib){Mb=E;Nb=Lb;break}}else{o=0;do{c[Lb+(o<<2)>>2]=c[Ib+(o<<2)>>2];o=o+1|0}while((o|0)!=(y|0))}c[4351]=(c[4351]|0)+1;Ur(c[Ib+-4>>2]|0);Mb=E;Nb=Lb}else{Mb=y;Nb=Ib}}else{Mb=yb;Nb=Ib}while(0);c[Nb+(y<<2)>>2]=y;y=y+1|0;if((y|0)>=(c[n>>2]|0))break;else{yb=Mb;Ib=Nb}}Ib=r+16|0;Mb=r+12|0;yb=r+4|0;Lb=r+8|0;o=t+16|0;ub=t+12|0;Na=t+4|0;mb=t+8|0;wb=j+16|0;Oa=j+12|0;lb=j+4|0;La=j+8|0;kb=j+20|0;K=t+20|0;q=y;while(1){y=q+-1|0;qb=c[Nb+(y<<2)>>2]|0;c[4350]=(c[4350]|0)+1;m=Tr(23)|0;if(!m)Ob=0;else{Hb=m+4+15&-16;c[Hb+-4>>2]=m;Ob=Hb}c[Ob>>2]=qb;Hb=c[ob>>2]|0;Jb=+g[Hb+(qb*36|0)+20>>2];Ta=+g[Hb+(qb*36|0)+24>>2];Qa=+g[Hb+(qb*36|0)+28>>2];c:do if((q|0)>1){qb=1;Hb=1;m=Ob;Gb=y;Eb=y;while(1){Ab=qb;Db=Hb;Bb=m;Cb=Gb;d:while(1){Pa=c[ob>>2]|0;Pb=Cb;do{p=Pb;Pb=Pb+-1|0;if((p|0)<=0){Qb=Pa;Rb=Db;Sb=Bb;Tb=Eb;break c}Ub=c[Nb+(Pb<<2)>>2]|0}while(!(Jb*+g[Pa+(Ub*36|0)+20>>2]+Ta*+g[Pa+(Ub*36|0)+24>>2]+Qa*+g[Pa+(Ub*36|0)+28>>2]>.9990000128746033));do if((Db|0)==(Ab|0)){Pa=Db|0?Db<<1:1;if((Db|0)<(Pa|0)){do if(!Pa)Vb=0;else{c[4350]=(c[4350]|0)+1;p=Tr((Pa<<2|3)+16|0)|0;if(!p){Vb=0;break}xb=p+4+15&-16;c[xb+-4>>2]=p;Vb=xb}while(0);if((Db|0)<=0){if(!Bb){Wb=Pa;Xb=Vb;break}}else{xa=0;do{c[Vb+(xa<<2)>>2]=c[Bb+(xa<<2)>>2];xa=xa+1|0}while((xa|0)!=(Db|0))}c[4351]=(c[4351]|0)+1;Ur(c[Bb+-4>>2]|0);Wb=Pa;Xb=Vb}else{Wb=Db;Xb=Bb}}else{Wb=Ab;Xb=Bb}while(0);c[Xb+(Db<<2)>>2]=Ub;xa=Db;Db=Db+1|0;xa=0;while(1){Yb=Nb+(xa<<2)|0;if((c[Yb>>2]|0)==(Ub|0))break;xb=xa+1|0;if((xb|0)<(Eb|0))xa=xb;else{Ab=Wb;Db=Db;Bb=Xb;Cb=Pb;continue d}}if((xa|0)<(Eb|0))break;else{Ab=Wb;Bb=Xb;Cb=Pb}}Cb=Eb+-1|0;Bb=Nb+(Cb<<2)|0;c[Yb>>2]=c[Bb>>2];a[Bb>>0]=Ub;a[Bb+1>>0]=Ub>>8;a[Bb+2>>0]=Ub>>16;a[Bb+3>>0]=Ub>>24;if((Eb|0)>1){qb=Wb;Hb=Db;m=Xb;Gb=Pb;Eb=Cb}else{Zb=Wb;_b=Db;$b=Xb;bc=Pb;cc=Cb;Fb=161;break}}}else{Zb=1;_b=1;$b=Ob;bc=y;cc=y;Fb=161}while(0);e:do if((Fb|0)==161){Fb=0;y=Zb;Eb=_b;Gb=$b;m=bc;while(1){Hb=c[ob>>2]|0;qb=m;do{E=qb;qb=qb+-1|0;if((E|0)<=0){Qb=Hb;Rb=Eb;Sb=Gb;Tb=cc;break e}dc=c[Nb+(qb<<2)>>2]|0}while(!(Jb*+g[Hb+(dc*36|0)+20>>2]+Ta*+g[Hb+(dc*36|0)+24>>2]+Qa*+g[Hb+(dc*36|0)+28>>2]>.9990000128746033));do if((Eb|0)==(y|0)){Hb=Eb|0?Eb<<1:1;if((Eb|0)<(Hb|0)){do if(!Hb)ec=0;else{c[4350]=(c[4350]|0)+1;Db=Tr((Hb<<2|3)+16|0)|0;if(!Db){ec=0;break}E=Db+4+15&-16;c[E+-4>>2]=Db;ec=E}while(0);if((Eb|0)<=0){if(!Gb){fc=Hb;gc=ec;break}}else{xa=0;do{c[ec+(xa<<2)>>2]=c[Gb+(xa<<2)>>2];xa=xa+1|0}while((xa|0)!=(Eb|0))}c[4351]=(c[4351]|0)+1;Ur(c[Gb+-4>>2]|0);fc=Hb;gc=ec}else{fc=Eb;gc=Gb}}else{fc=y;gc=Gb}while(0);c[gc+(Eb<<2)>>2]=dc;y=fc;Eb=Eb+1|0;Gb=gc;m=qb}}while(0);if((Rb|0)>1){a[Ib>>0]=1;c[Mb>>2]=0;c[yb>>2]=0;c[Lb>>2]=0;m=Qb;Qa=0.0;Ta=0.0;Jb=0.0;Gb=0;Eb=0;while(1){y=c[Sb+(Eb<<2)>>2]|0;Qa=+g[m+(y*36|0)+20>>2]+Qa;Ta=+g[m+(y*36|0)+24>>2]+Ta;Jb=+g[m+(y*36|0)+28>>2]+Jb;xa=m+(y*36|0)+4|0;if((c[xa>>2]|0)>0){E=m+(y*36|0)+12|0;y=Gb;Db=0;while(1){Cb=c[(c[E>>2]|0)+(Db<<2)>>2]|0;Bb=(c[(c[u>>2]|0)+16>>2]|0)+(Cb<<4)|0;c[j>>2]=c[Bb>>2];c[j+4>>2]=c[Bb+4>>2];c[j+8>>2]=c[Bb+8>>2];c[j+12>>2]=c[Bb+12>>2];f:do if((y|0)>0){Bb=c[Mb>>2]|0;Ab=0;while(1){if((c[Bb+(Ab*24|0)+20>>2]|0)==(Cb|0)){hc=y;break f}Ab=Ab+1|0;if((Ab|0)>=(y|0)){Fb=263;break}}}else Fb=263;while(0);if((Fb|0)==263){Fb=0;c[s>>2]=c[j>>2];c[s+4>>2]=c[j+4>>2];c[s+8>>2]=c[j+8>>2];c[s+12>>2]=c[j+12>>2];do if((y|0)==(c[Lb>>2]|0)){qb=y|0?y<<1:1;if((y|0)>=(qb|0)){ic=y;break}if(!qb){jc=0;kc=y}else{c[4350]=(c[4350]|0)+1;Ab=Tr((qb*24|3)+16|0)|0;if(!Ab)lc=0;else{Bb=Ab+4+15&-16;c[Bb+-4>>2]=Ab;lc=Bb}jc=lc;kc=c[yb>>2]|0}Bb=c[Mb>>2]|0;if((kc|0)<=0)if(!Bb)mc=kc;else Fb=272;else{Ab=0;do{Hb=jc+(Ab*24|0)|0;xb=Bb+(Ab*24|0)|0;c[Hb>>2]=c[xb>>2];c[Hb+4>>2]=c[xb+4>>2];c[Hb+8>>2]=c[xb+8>>2];c[Hb+12>>2]=c[xb+12>>2];c[Hb+16>>2]=c[xb+16>>2];c[Hb+20>>2]=c[xb+20>>2];Ab=Ab+1|0}while((Ab|0)!=(kc|0));Fb=272}if((Fb|0)==272){Fb=0;if(!(a[Ib>>0]|0))nc=kc;else{c[4351]=(c[4351]|0)+1;Ur(c[Bb+-4>>2]|0);nc=c[yb>>2]|0}c[Mb>>2]=0;mc=nc}a[Ib>>0]=1;c[Mb>>2]=jc;c[Lb>>2]=qb;ic=mc}else ic=y;while(0);Ab=c[Mb>>2]|0;xb=Ab+(ic*24|0)|0;c[xb>>2]=c[s>>2];c[xb+4>>2]=c[s+4>>2];c[xb+8>>2]=c[s+8>>2];c[xb+12>>2]=c[s+12>>2];c[xb+16>>2]=c[s+16>>2];c[Ab+(ic*24|0)+20>>2]=Cb;Ab=(c[yb>>2]|0)+1|0;c[yb>>2]=Ab;hc=Ab}Db=Db+1|0;if((Db|0)>=(c[xa>>2]|0)){oc=hc;break}else y=hc}}else oc=Gb;Eb=Eb+1|0;m=c[ob>>2]|0;if((Eb|0)>=(Rb|0))break;else Gb=oc}a[o>>0]=1;c[ub>>2]=0;c[Na>>2]=0;c[mb>>2]=0;Gb=m+20+((c[Sb>>2]|0)*9<<2)|0;c[K>>2]=c[Gb>>2];c[K+4>>2]=c[Gb+4>>2];c[K+8>>2]=c[Gb+8>>2];c[K+12>>2]=c[Gb+12>>2];_a=1.0/+O(+(Qa*Qa+Ta*Ta+Jb*Jb));Za=Qa*_a;Ya=Ta*_a;la=Jb*_a;if(+N(+la)>.7071067690849304){_a=la*la+Ya*Ya;da=1.0/+O(+_a);ca=-(la*da);Va=Ya*da;pc=Za*ca;qc=0.0;rc=Va;sc=ca;tc=_a*da;uc=-(Za*Va)}else{Va=Za*Za+Ya*Ya;da=1.0/+O(+Va);_a=-(Ya*da);ca=Za*da;pc=Va*da;qc=_a;rc=0.0;sc=ca;tc=-(la*ca);uc=la*_a}if((oc|0)<2)if((oc|0)>0){Gb=oc;Eb=0;y=0;xa=0;while(1){Db=c[Mb>>2]|0;do if((Eb|0)==(y|0)){E=y|0?y<<1:1;if((y|0)>=(E|0)){vc=y;wc=Gb;xc=y;yc=xa;break}do if(!E){zc=0;Ac=y}else{c[4350]=(c[4350]|0)+1;Ab=Tr((E*24|3)+16|0)|0;if(!Ab){zc=0;Ac=Eb;break}xb=Ab+4+15&-16;c[xb+-4>>2]=Ab;zc=xb;Ac=Eb}while(0);if((Ac|0)<=0){if(xa|0)Fb=209}else{Cb=0;do{xb=zc+(Cb*24|0)|0;Ab=xa+(Cb*24|0)|0;c[xb>>2]=c[Ab>>2];c[xb+4>>2]=c[Ab+4>>2];c[xb+8>>2]=c[Ab+8>>2];c[xb+12>>2]=c[Ab+12>>2];c[xb+16>>2]=c[Ab+16>>2];c[xb+20>>2]=c[Ab+20>>2];Cb=Cb+1|0}while((Cb|0)!=(Ac|0));Fb=209}if((Fb|0)==209){Fb=0;c[4351]=(c[4351]|0)+1;Ur(c[xa+-4>>2]|0)}vc=Eb;wc=c[yb>>2]|0;xc=E;yc=zc}else{vc=Eb;wc=Gb;xc=y;yc=xa}while(0);Cb=yc+(vc*24|0)|0;c[Cb>>2]=c[Db>>2];c[Cb+4>>2]=c[Db+4>>2];c[Cb+8>>2]=c[Db+8>>2];c[Cb+12>>2]=c[Db+12>>2];c[Cb+16>>2]=c[Db+16>>2];c[Cb+20>>2]=c[Db+20>>2];Cb=Eb+1|0;if((Cb|0)<(wc|0)){Gb=wc;Eb=Cb;y=xc;xa=yc}else{Bc=wc;Cc=Cb;Dc=yc;Fb=278;break}}}else{Ec=0;Fc=0;Fb=307}else{xa=c[Mb>>2]|0;y=oc;Eb=0;while(1){if(qc*+g[xa+(Eb*24|0)>>2]+sc*+g[xa+(Eb*24|0)+4>>2]+rc*+g[xa+(Eb*24|0)+8>>2]<qc*+g[xa>>2]+sc*+g[xa+4>>2]+rc*+g[xa+8>>2]){nb=j;tb=xa;pb=nb+24|0;do{a[nb>>0]=a[tb>>0]|0;nb=nb+1|0;tb=tb+1|0}while((nb|0)<(pb|0));Db=xa+(Eb*24|0)|0;c[xa>>2]=c[Db>>2];c[xa+4>>2]=c[Db+4>>2];c[xa+8>>2]=c[Db+8>>2];c[xa+12>>2]=c[Db+12>>2];c[xa+16>>2]=c[Db+16>>2];c[xa+20>>2]=c[Db+20>>2];nb=xa+(Eb*24|0)|0;tb=j;pb=nb+24|0;do{a[nb>>0]=a[tb>>0]|0;nb=nb+1|0;tb=tb+1|0}while((nb|0)<(pb|0));Gc=oc}else Gc=y;Eb=Eb+1|0;if((Eb|0)>=(Gc|0))break;else y=Gc}g[xa+16>>2]=-1000000015047466219876688.0e6;if((Gc|0)>1){y=c[Mb>>2]|0;Eb=y+8|0;Db=c[yb>>2]|0;Jb=+g[y+4>>2];Gb=1;do{Ta=+g[y+(Gb*24|0)>>2]-+g[y>>2];Qa=+g[y+(Gb*24|0)+4>>2]-Jb;_a=+g[y+(Gb*24|0)+8>>2]-+g[Eb>>2];ca=tc*Ta+uc*Qa+pc*_a;da=qc*Ta+sc*Qa+rc*_a;if(ca*ca+da*da<1.1920928955078125e-07)g[y+(Gb*24|0)+16>>2]=0.0;else{_a=+N(+ca);if(!(da>=0.0))Hc=2.356194496154785-(da+_a)/(_a-da)*.7853981852531433;else Hc=.7853981852531433-(da-_a)/(da+_a)*.7853981852531433;g[y+(Gb*24|0)+16>>2]=ca<0.0?-Hc:Hc}Gb=Gb+1|0}while((Gb|0)<(Db|0));Ic=y}else Ic=xa;c[j>>2]=c[Ic>>2];c[j+4>>2]=c[Ic+4>>2];c[j+8>>2]=c[Ic+8>>2];c[j+12>>2]=c[Ic+12>>2];ko(r,j,1,(c[yb>>2]|0)+-1|0);y=c[Mb>>2]|0;c[4350]=(c[4350]|0)+1;Db=Tr(43)|0;if(!Db)Jc=0;else{Gb=Db+4+15&-16;c[Gb+-4>>2]=Db;Jc=Gb}Gb=c[Mb>>2]|0;c[Jc>>2]=c[y>>2];c[Jc+4>>2]=c[y+4>>2];c[Jc+8>>2]=c[y+8>>2];c[Jc+12>>2]=c[y+12>>2];c[Jc+16>>2]=c[y+16>>2];c[Jc+20>>2]=c[y+20>>2];y=Gb+24|0;c[4350]=(c[4350]|0)+1;Gb=Tr(67)|0;if(!Gb)Kc=0;else{Db=Gb+4+15&-16;c[Db+-4>>2]=Gb;Kc=Db};c[Kc>>2]=c[Jc>>2];c[Kc+4>>2]=c[Jc+4>>2];c[Kc+8>>2]=c[Jc+8>>2];c[Kc+12>>2]=c[Jc+12>>2];c[Kc+16>>2]=c[Jc+16>>2];c[Kc+20>>2]=c[Jc+20>>2];if(Jc|0){c[4351]=(c[4351]|0)+1;Ur(c[Jc+-4>>2]|0)}Db=Kc+24|0;c[Db>>2]=c[y>>2];c[Db+4>>2]=c[y+4>>2];c[Db+8>>2]=c[y+8>>2];c[Db+12>>2]=c[y+12>>2];c[Db+16>>2]=c[y+16>>2];c[Db+20>>2]=c[y+20>>2];if((c[yb>>2]|0)==2){Lc=2;Mc=2;Nc=Kc}else{y=2;Db=2;Gb=2;Eb=Kc;m=2;while(1){g:do if((y|0)>1){Cb=c[Mb>>2]|0;Ab=Cb+(m*24|0)|0;Jb=+g[Ab>>2];ca=+g[Cb+(m*24|0)+4>>2];_a=+g[Cb+(m*24|0)+8>>2];Cb=y;xb=Db;while(1){Hb=Cb+-2|0;p=Cb+-1|0;da=+g[Eb+(Hb*24|0)>>2];Qa=da-+g[Eb+(p*24|0)>>2];Ta=+g[Eb+(Hb*24|0)+4>>2];Va=Ta-+g[Eb+(p*24|0)+4>>2];ba=+g[Eb+(Hb*24|0)+8>>2];ga=ba-+g[Eb+(p*24|0)+8>>2];$=da-Jb;da=Ta-ca;Ta=ba-_a;if((Qa*da-Va*$)*la+(Za*(Va*Ta-ga*da)+Ya*(ga*$-Qa*Ta))>0.0)break;if((p|0)>1){Cb=p;xb=p}else{Oc=p;Pc=p;Qc=Gb;Rc=Eb;break g}}do if((Cb|0)==(Gb|0)){E=Gb<<1;if((Gb|0)>=(E|0)){Sc=Gb;Tc=Gb;Uc=Eb;break}if(Gb){c[4350]=(c[4350]|0)+1;p=Tr((Gb*48|3)+16|0)|0;if(!p)Vc=0;else{Hb=p+4+15&-16;c[Hb+-4>>2]=p;Vc=Hb}if((xb|0)>0){Wc=Vc;Xc=Vc;Yc=xb;Fb=236}else Zc=Vc}else{Wc=0;Xc=0;Yc=0;Fb=236}if((Fb|0)==236){Fb=0;Hb=0;do{p=Xc+(Hb*24|0)|0;Ha=Eb+(Hb*24|0)|0;c[p>>2]=c[Ha>>2];c[p+4>>2]=c[Ha+4>>2];c[p+8>>2]=c[Ha+8>>2];c[p+12>>2]=c[Ha+12>>2];c[p+16>>2]=c[Ha+16>>2];c[p+20>>2]=c[Ha+20>>2];Hb=Hb+1|0}while((Hb|0)!=(Yc|0));Zc=Wc}c[4351]=(c[4351]|0)+1;Ur(c[Eb+-4>>2]|0);Sc=xb;Tc=E;Uc=Zc}else{Sc=Cb;Tc=Gb;Uc=Eb}while(0);Cb=Uc+(Sc*24|0)|0;c[Cb>>2]=c[Ab>>2];c[Cb+4>>2]=c[Ab+4>>2];c[Cb+8>>2]=c[Ab+8>>2];c[Cb+12>>2]=c[Ab+12>>2];c[Cb+16>>2]=c[Ab+16>>2];c[Cb+20>>2]=c[Ab+20>>2];Cb=xb+1|0;Oc=Cb;Pc=Cb;Qc=Tc;Rc=Uc}else{Oc=y;Pc=Db;Qc=Gb;Rc=Eb}while(0);if((Oc|0)==1){Cb=(c[Mb>>2]|0)+(m*24|0)|0;do if((Qc|0)==1){c[4350]=(c[4350]|0)+1;Hb=Tr(67)|0;if(!Hb)_c=0;else{qb=Hb+4+15&-16;c[qb+-4>>2]=Hb;_c=qb}if((Pc|0)<=0){if(!Rc){$c=Pc;ad=2;bd=_c;break}}else{qb=0;do{Hb=_c+(qb*24|0)|0;Bb=Rc+(qb*24|0)|0;c[Hb>>2]=c[Bb>>2];c[Hb+4>>2]=c[Bb+4>>2];c[Hb+8>>2]=c[Bb+8>>2];c[Hb+12>>2]=c[Bb+12>>2];c[Hb+16>>2]=c[Bb+16>>2];c[Hb+20>>2]=c[Bb+20>>2];qb=qb+1|0}while((qb|0)!=(Pc|0))}c[4351]=(c[4351]|0)+1;Ur(c[Rc+-4>>2]|0);$c=Pc;ad=2;bd=_c}else{$c=1;ad=Qc;bd=Rc}while(0);qb=bd+($c*24|0)|0;c[qb>>2]=c[Cb>>2];c[qb+4>>2]=c[Cb+4>>2];c[qb+8>>2]=c[Cb+8>>2];c[qb+12>>2]=c[Cb+12>>2];c[qb+16>>2]=c[Cb+16>>2];c[qb+20>>2]=c[Cb+20>>2];qb=Pc+1|0;cd=qb;dd=qb;ed=ad;fd=bd}else{cd=Oc;dd=Pc;ed=Qc;fd=Rc}qb=m+1|0;if((qb|0)==(c[yb>>2]|0)){Lc=qb;Mc=dd;Nc=fd;break}else{y=cd;Db=dd;Gb=ed;Eb=fd;m=qb}}}Bc=Lc;Cc=Mc;Dc=Nc;Fb=278}h:do if((Fb|0)==278){Fb=0;if((Cc|0)>0){m=0;Eb=0;Gb=0;Db=0;y=0;while(1){xa=Dc+(y*24|0)+20|0;do if((m|0)==(Eb|0)){qb=Eb|0?Eb<<1:1;if((Eb|0)>=(qb|0)){gd=Gb;hd=Db;id=Eb;break}do if(!qb)jd=0;else{c[4350]=(c[4350]|0)+1;xb=Tr((qb<<2|3)+16|0)|0;if(!xb){jd=0;break}Ab=xb+4+15&-16;c[Ab+-4>>2]=xb;jd=Ab}while(0);if((Eb|0)<=0){if(Gb|0)Fb=299}else{E=0;do{c[jd+(E<<2)>>2]=c[Gb+(E<<2)>>2];E=E+1|0}while((E|0)!=(Eb|0));Fb=299}if((Fb|0)==299){Fb=0;c[4351]=(c[4351]|0)+1;Ur(c[Gb+-4>>2]|0);c[ub>>2]=0}a[o>>0]=1;c[ub>>2]=jd;c[mb>>2]=qb;gd=jd;hd=jd;id=qb}else{gd=Gb;hd=Db;id=Eb}while(0);c[gd+(m<<2)>>2]=c[xa>>2];m=(c[Na>>2]|0)+1|0;c[Na>>2]=m;E=c[yb>>2]|0;i:do if((E|0)>0){Ab=c[Mb>>2]|0;xb=c[xa>>2]|0;Bb=0;while(1){kd=Ab+(Bb*24|0)+20|0;Bb=Bb+1|0;if((c[kd>>2]|0)==(xb|0))break;if((Bb|0)>=(E|0))break i}c[kd>>2]=-1}while(0);y=y+1|0;if((y|0)>=(Cc|0)){ld=E;md=hd;nd=Dc;break}else{Eb=id;Gb=gd;Db=hd}}}else{ld=Bc;md=0;nd=Dc}if((ld|0)<=0){Ec=md;Fc=nd;Fb=307;break}Db=c[Mb>>2]|0;Gb=c[n>>2]|0;Eb=c[ob>>2]|0;if((Gb|0)>0)od=0;else{Ec=md;Fc=nd;Fb=307;break}while(1){y=c[Db+(od*24|0)+20>>2]|0;if((y|0)!=-1){m=0;do{Cb=0;while(1){if((c[Sb+(Cb<<2)>>2]|0)==(m|0))break;Cb=Cb+1|0;if((Cb|0)>=(Rb|0)){Fb=285;break}}do if((Fb|0)==285){Fb=0;Cb=c[Eb+(m*36|0)+4>>2]|0;if((Cb|0)<=0)break;xa=c[Eb+(m*36|0)+12>>2]|0;Bb=0;do{if((c[xa+(Bb<<2)>>2]|0)==(y|0)){pd=md;qd=1;rd=nd;break h}Bb=Bb+1|0}while((Bb|0)<(Cb|0))}while(0);m=m+1|0}while((m|0)<(Gb|0))}od=od+1|0;if((od|0)>=(ld|0)){Ec=md;Fc=nd;Fb=307;break}}}while(0);if((Fb|0)==307){Fb=0;lo((c[u>>2]|0)+24|0,t);pd=Ec;qd=0;rd=Fc}if(rd|0){c[4351]=(c[4351]|0)+1;Ur(c[rd+-4>>2]|0)}if(pd|0){c[4351]=(c[4351]|0)+1;Ur(c[pd+-4>>2]|0);c[ub>>2]=0}Gb=c[Mb>>2]|0;if(Gb|0){if(a[Ib>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[Gb+-4>>2]|0)}c[Mb>>2]=0}if(qd&(Rb|0)>0){sd=0;Fb=317}}else if((Rb|0)>0){sd=0;Fb=317}if((Fb|0)==317)while(1){Fb=0;Gb=c[Sb+(sd<<2)>>2]|0;Eb=c[ob>>2]|0;a[wb>>0]=1;c[Oa>>2]=0;c[lb>>2]=0;c[La>>2]=0;Db=c[Eb+(Gb*36|0)+4>>2]|0;if((Db|0)>0){m=Db<<2;c[4350]=(c[4350]|0)+1;y=Tr((m|3)+16|0)|0;if(!y)td=0;else{E=y+4+15&-16;c[E+-4>>2]=y;td=E}a[wb>>0]=1;c[Oa>>2]=td;c[La>>2]=Db;Bs(td|0,0,m|0)|0;m=c[Eb+(Gb*36|0)+12>>2]|0;c[lb>>2]=Db;E=0;do{c[td+(E<<2)>>2]=c[m+(E<<2)>>2];E=E+1|0}while((E|0)!=(Db|0));ud=td}else{c[lb>>2]=Db;ud=0}E=Eb+(Gb*36|0)+20|0;c[kb>>2]=c[E>>2];c[kb+4>>2]=c[E+4>>2];c[kb+8>>2]=c[E+8>>2];c[kb+12>>2]=c[E+12>>2];lo((c[u>>2]|0)+24|0,j);if(ud|0){c[4351]=(c[4351]|0)+1;Ur(c[ud+-4>>2]|0);c[Oa>>2]=0}sd=sd+1|0;if((sd|0)>=(Rb|0))break;else Fb=317}if(Sb|0){c[4351]=(c[4351]|0)+1;Ur(c[Sb+-4>>2]|0)}if(!Tb){vd=Nb;break}else q=Tb}}else vd=0;Tb=c[u>>2]|0;u=Tb+64|0;q=Tb+68|0;Nb=Tb+72|0;Sb=Tb+28|0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;Rb=c[Sb>>2]|0;if((Rb|0)>0){sd=Tb+36|0;Oa=Tb+16|0;ud=Tb+48|0;j=Tb+52|0;kb=Tb+56|0;lb=Tb+60|0;td=Rb;La=0;wb=0;qd=0;Mb=0;Ib=0;ub=0;pd=0;rd=0;Fc=0;Ec=0;t=0;nd=0;md=0;while(1){ld=c[sd>>2]|0;od=c[ld+(md*36|0)+4>>2]|0;if((od|0)>0){Dc=md&65535;Bc=md|-65536;hd=ld;ld=La;gd=wb;id=qd;Cc=Mb;kd=Ib;yb=ub;Na=pd;jd=rd;mb=Fc;o=Ec;Nc=t;Mc=nd;Lc=0;while(1){fd=Lc+1|0;ed=c[hd+(md*36|0)+12>>2]|0;dd=c[ed+(Lc<<2)>>2]&65535;cd=c[ed+(((fd|0)==(od|0)?0:fd)<<2)>>2]&65535;ed=cd<<16>>16>dd<<16>>16;Rc=ed?dd:cd;Qc=ed?cd:dd;Pc=ed?dd:cd;Oc=ed?cd:dd;dd=Oc<<16>>16;cd=mb+-1|0;ed=((Pc&65535)<<16)+dd&cd;j:do if(ed>>>0<Cc>>>0?(bd=c[id+(ed<<2)>>2]|0,(bd|0)!=-1):0){ad=bd;while(1){if(Oc<<16>>16==(b[gd+(ad<<2)>>1]|0)?Pc<<16>>16==(b[gd+(ad<<2)+2>>1]|0):0)break;bd=c[Na+(ad<<2)>>2]|0;if((bd|0)==-1){wd=0;break j}else ad=bd}wd=o+(ad<<2)|0}else wd=0;while(0);Oc=Pc<<16>>16;ed=c[Oa>>2]|0;Hc=+g[ed+(Oc<<4)>>2]-+g[ed+(dd<<4)>>2];rc=+g[ed+(Oc<<4)+4>>2]-+g[ed+(dd<<4)+4>>2];sc=+g[ed+(Oc<<4)+8>>2]-+g[ed+(dd<<4)+8>>2];qc=1.0/+O(+(Hc*Hc+rc*rc+sc*sc));pc=Hc*qc;Hc=rc*qc;rc=sc*qc;ed=c[ud>>2]|0;k:do if((ed|0)>0){Oc=c[kb>>2]|0;Gb=0;while(1){qc=+g[Oc+(Gb<<4)>>2];sc=+g[Oc+(Gb<<4)+8>>2];uc=sc-rc;do if(!(+N(+(qc-pc))>1.0e-06)){if(+N(+(+g[Oc+(Gb<<4)+4>>2]-Hc))>1.0e-06)break;if(!(+N(+uc)>1.0e-06))break k}while(0);uc=rc+sc;do if(!(+N(+(pc+qc))>1.0e-06)){if(+N(+(Hc+ +g[Oc+(Gb<<4)+4>>2]))>1.0e-06)break;if(!(+N(+uc)>1.0e-06))break k}while(0);Gb=Gb+1|0;if((Gb|0)>=(ed|0)){Fb=353;break}}}else Fb=353;while(0);if((Fb|0)==353){Fb=0;do if((ed|0)==(c[j>>2]|0)){dd=ed|0?ed<<1:1;if((ed|0)>=(dd|0)){xd=ed;break}if(!dd){yd=0;zd=ed}else{c[4350]=(c[4350]|0)+1;Pc=Tr((dd<<4|3)+16|0)|0;if(!Pc)Ad=0;else{Gb=Pc+4+15&-16;c[Gb+-4>>2]=Pc;Ad=Gb}yd=Ad;zd=c[ud>>2]|0}if((zd|0)>0){Gb=0;do{Pc=yd+(Gb<<4)|0;Oc=(c[kb>>2]|0)+(Gb<<4)|0;c[Pc>>2]=c[Oc>>2];c[Pc+4>>2]=c[Oc+4>>2];c[Pc+8>>2]=c[Oc+8>>2];c[Pc+12>>2]=c[Oc+12>>2];Gb=Gb+1|0}while((Gb|0)!=(zd|0))}Gb=c[kb>>2]|0;if(Gb|0){if(a[lb>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[Gb+-4>>2]|0)}c[kb>>2]=0}a[lb>>0]=1;c[kb>>2]=yd;c[j>>2]=dd;xd=c[ud>>2]|0}else xd=ed;while(0);ed=c[kb>>2]|0;g[ed+(xd<<4)>>2]=pc;g[ed+(xd<<4)+4>>2]=Hc;g[ed+(xd<<4)+8>>2]=rc;g[ed+(xd<<4)+12>>2]=0.0;c[ud>>2]=(c[ud>>2]|0)+1}l:do if(!wd){ed=(Rc&65535)<<16;Gb=ed+(Qc<<16>>16)|0;Oc=Gb&cd;m:do if(Oc>>>0<Cc>>>0){Pc=c[id+(Oc<<2)>>2]|0;if((Pc|0)==-1)break;else Bd=Pc;while(1){if(Qc<<16>>16==(b[gd+(Bd<<2)>>1]|0)?Rc<<16>>16==(b[gd+(Bd<<2)+2>>1]|0):0)break;Pc=c[Na+(Bd<<2)>>2]|0;if((Pc|0)==-1)break m;else Bd=Pc}Pc=o+(Bd<<2)|0;b[Pc>>1]=Bc;b[Pc+2>>1]=Bc>>>16;Cd=ld;Dd=gd;Ed=id;Fd=Cc;Gd=kd;Hd=yb;Id=Na;Jd=jd;Kd=mb;Ld=o;Md=Nc;Nd=Mc;break l}while(0);do if((jd|0)==(mb|0)){dd=jd|0?jd<<1:1;if((jd|0)>=(dd|0)){Od=jd;Pd=o;break}do if(!dd)Qd=0;else{c[4350]=(c[4350]|0)+1;Pc=Tr((dd<<2|3)+16|0)|0;if(!Pc){Qd=0;break}ad=Pc+4+15&-16;c[ad+-4>>2]=Pc;Qd=ad}while(0);if((jd|0)<=0){if(!o){Od=dd;Pd=Qd;break}}else{ad=0;do{Pc=Qd+(ad<<2)|0;Eb=o+(ad<<2)|0;Db=e[Eb>>1]|e[Eb+2>>1]<<16;b[Pc>>1]=Db;b[Pc+2>>1]=Db>>>16;ad=ad+1|0}while((ad|0)!=(jd|0))}c[4351]=(c[4351]|0)+1;Ur(c[o+-4>>2]|0);Od=dd;Pd=Qd}else{Od=mb;Pd=o}while(0);ad=Pd+(jd<<2)|0;b[ad>>1]=Bc;b[ad+2>>1]=Bc>>>16;ad=jd+1|0;do if((Mc|0)==(ld|0)){Db=Mc|0?Mc<<1:1;if((Mc|0)>=(Db|0)){Rd=Mc;Sd=gd;break}do if(!Db)Td=0;else{c[4350]=(c[4350]|0)+1;Pc=Tr((Db<<2|3)+16|0)|0;if(!Pc){Td=0;break}Eb=Pc+4+15&-16;c[Eb+-4>>2]=Pc;Td=Eb}while(0);if((Mc|0)<=0){if(!gd){Rd=Db;Sd=Td;break}}else{dd=0;do{Eb=Td+(dd<<2)|0;Pc=gd+(dd<<2)|0;bd=e[Pc>>1]|e[Pc+2>>1]<<16;b[Eb>>1]=bd;b[Eb+2>>1]=bd>>>16;dd=dd+1|0}while((dd|0)!=(Mc|0))}c[4351]=(c[4351]|0)+1;Ur(c[gd+-4>>2]|0);Rd=Db;Sd=Td}else{Rd=ld;Sd=gd}while(0);dd=Sd+(Mc<<2)|0;bd=ed|Qc&65535;b[dd>>1]=bd;b[dd+2>>1]=bd>>>16;bd=Mc+1|0;if((mb|0)<(Od|0)){do if((Od|0)>(Cc|0)){if((Od|0)<(Cc|0)){Ud=id;Vd=Nc}else{do if((Nc|0)<(Od|0)){do if(!Od)Wd=0;else{c[4350]=(c[4350]|0)+1;dd=Tr((Od<<2|3)+16|0)|0;if(!dd){Wd=0;break}Eb=dd+4+15&-16;c[Eb+-4>>2]=dd;Wd=Eb}while(0);if((Cc|0)<=0){if(!id){Xd=Wd;Yd=Od;break}}else{Eb=0;do{c[Wd+(Eb<<2)>>2]=c[id+(Eb<<2)>>2];Eb=Eb+1|0}while((Eb|0)!=(Cc|0))}c[4351]=(c[4351]|0)+1;Ur(c[id+-4>>2]|0);Xd=Wd;Yd=Od}else{Xd=id;Yd=Nc}while(0);Bs(Xd+(Cc<<2)|0,0,Od-Cc<<2|0)|0;Ud=Xd;Vd=Yd}if((Od|0)>(kd|0)){do if((yb|0)<(Od|0)){do if(!Od)Zd=0;else{c[4350]=(c[4350]|0)+1;Db=Tr((Od<<2|3)+16|0)|0;if(!Db){Zd=0;break}Eb=Db+4+15&-16;c[Eb+-4>>2]=Db;Zd=Eb}while(0);if((kd|0)<=0){if(!Na){_d=Od;$d=Zd;break}}else{Eb=0;do{c[Zd+(Eb<<2)>>2]=c[Na+(Eb<<2)>>2];Eb=Eb+1|0}while((Eb|0)!=(kd|0))}c[4351]=(c[4351]|0)+1;Ur(c[Na+-4>>2]|0);_d=Od;$d=Zd}else{_d=yb;$d=Na}while(0);Bs($d+(kd<<2)|0,0,Od-kd<<2|0)|0;ae=_d;be=$d}else{ae=yb;be=Na}if((Od|0)>0){Eb=Od<<2;Bs(Ud|0,-1,Eb|0)|0;Bs(be|0,-1,Eb|0)|0}if((Cc|0)<=0){ce=Ud;de=Od;ee=Od;fe=ae;ge=be;he=Vd;break}Eb=Od+-1|0;Db=0;do{dd=Ud+(((e[Sd+(Db<<2)+2>>1]<<16)+(b[Sd+(Db<<2)>>1]|0)&Eb)<<2)|0;c[be+(Db<<2)>>2]=c[dd>>2];c[dd>>2]=Db;Db=Db+1|0}while((Db|0)!=(Cc|0));ce=Ud;de=Od;ee=Od;fe=ae;ge=be;he=Vd}else{ce=id;de=Cc;ee=kd;fe=yb;ge=Na;he=Nc}while(0);ie=ce;je=de;ke=ee;le=fe;me=ge;ne=he;oe=Gb&Od+-1}else{ie=id;je=Cc;ke=kd;le=yb;me=Na;ne=Nc;oe=Oc}ed=ie+(oe<<2)|0;c[me+(jd<<2)>>2]=c[ed>>2];c[ed>>2]=jd;Cd=Rd;Dd=Sd;Ed=ie;Fd=je;Gd=ke;Hd=le;Id=me;Jd=ad;Kd=Od;Ld=Pd;Md=ne;Nd=bd}else{b[wd+2>>1]=Dc;Cd=ld;Dd=gd;Ed=id;Fd=Cc;Gd=kd;Hd=yb;Id=Na;Jd=jd;Kd=mb;Ld=o;Md=Nc;Nd=Mc}while(0);if((fd|0)>=(od|0))break;hd=c[sd>>2]|0;ld=Cd;gd=Dd;id=Ed;Cc=Fd;kd=Gd;yb=Hd;Na=Id;jd=Jd;mb=Kd;o=Ld;Nc=Md;Mc=Nd;Lc=fd}pe=c[Sb>>2]|0;qe=Cd;re=Dd;se=Ed;te=Fd;ue=Gd;ve=Hd;we=Id;xe=Jd;ye=Kd;ze=Ld;Ae=Md;Be=Nd}else{pe=td;qe=La;re=wb;se=qd;te=Mb;ue=Ib;ve=ub;we=pd;xe=rd;ye=Fc;ze=Ec;Ae=t;Be=nd}md=md+1|0;if((md|0)>=(pe|0))break;else{td=pe;La=qe;wb=re;qd=se;Mb=te;Ib=ue;ub=ve;pd=we;rd=xe;Fc=ye;Ec=ze;t=Ae;nd=Be}}if((pe|0)>0){Be=c[sd>>2]|0;sd=c[Oa>>2]|0;rc=0.0;Oa=0;while(1){nd=c[Be+(Oa*36|0)+4>>2]|0;Ae=c[Be+(Oa*36|0)+12>>2]|0;t=c[Ae>>2]|0;if((nd+-2|0)<1)Ce=rc;else{Ec=sd+(t<<4)|0;ye=sd+(t<<4)+4|0;Fc=sd+(t<<4)+8|0;t=nd+-1|0;Hc=+g[u>>2];pc=+g[q>>2];uc=+g[Nb>>2];qc=rc;xe=1;while(1){rd=c[Ae+(xe<<2)>>2]|0;xe=xe+1|0;pd=c[Ae+(((xe|0)%(nd|0)|0)<<2)>>2]|0;sc=+g[Ec>>2];tc=+g[sd+(rd<<4)>>2];Ya=sc-tc;Za=+g[ye>>2];la=+g[sd+(rd<<4)+4>>2];_a=Za-la;ca=+g[Fc>>2];Jb=+g[sd+(rd<<4)+8>>2];Ta=ca-Jb;Qa=+g[sd+(pd<<4)>>2];$=sc-Qa;ga=+g[sd+(pd<<4)+4>>2];da=Za-ga;Va=+g[sd+(pd<<4)+8>>2];ba=ca-Va;aa=_a*ba-Ta*da;Ua=Ta*$-Ya*ba;ba=Ya*da-_a*$;$=+O(+(ba*ba+(aa*aa+Ua*Ua)))*.5;Hc=Hc+(sc+tc+Qa)*.3333333432674408*$;g[u>>2]=Hc;pc=(Za+la+ga)*.3333333432674408*$+pc;g[q>>2]=pc;uc=$*((ca+Jb+Va)*.3333333432674408)+uc;g[Nb>>2]=uc;Va=qc+$;if((xe|0)==(t|0)){Ce=Va;break}else qc=Va}}Oa=Oa+1|0;if((Oa|0)==(pe|0)){De=u;Ee=pe;Fe=1;Ge=Ce;He=re;Ie=se;Je=we;Ke=ze;break}else rc=Ce}}else{Le=pe;Me=re;Ne=se;Oe=we;Pe=ze;Fb=332}}else{Le=Rb;Me=0;Ne=0;Oe=0;Pe=0;Fb=332}if((Fb|0)==332){De=u;Ee=Le;Fe=0;Ge=0.0;He=Me;Ie=Ne;Je=Oe;Ke=Pe}Ce=1.0/Ge;Ge=Ce*+g[De>>2];g[De>>2]=Ge;rc=Ce*+g[q>>2];g[q>>2]=rc;qc=Ce*+g[Nb>>2];g[Nb>>2]=qc;Nb=Tb+96|0;g[Nb>>2]=3402823466385288598117041.0e14;if(Fe){Fe=c[Tb+36>>2]|0;Ce=3402823466385288598117041.0e14;q=0;while(1){uc=+N(+(+g[Fe+(q*36|0)+32>>2]+(+g[Fe+(q*36|0)+20>>2]*Ge+ +g[Fe+(q*36|0)+24>>2]*rc+ +g[Fe+(q*36|0)+28>>2]*qc)));if(uc<Ce){g[Nb>>2]=uc;Qe=uc}else Qe=Ce;q=q+1|0;if((q|0)>=(Ee|0)){Re=Qe;break}else Ce=Qe}}else Re=3402823466385288598117041.0e14;Ee=c[Tb+8>>2]|0;if((Ee|0)>0){q=c[Tb+16>>2]|0;Qe=-3402823466385288598117041.0e14;Ce=-3402823466385288598117041.0e14;qc=-3402823466385288598117041.0e14;rc=3402823466385288598117041.0e14;Ge=3402823466385288598117041.0e14;uc=3402823466385288598117041.0e14;Fe=0;while(1){pc=+g[q+(Fe<<4)>>2];Hc=pc<rc?pc:rc;Va=pc>Qe?pc:Qe;pc=+g[q+(Fe<<4)+4>>2];$=pc<Ge?pc:Ge;Jb=pc>Ce?pc:Ce;pc=+g[q+(Fe<<4)+8>>2];ca=pc<uc?pc:uc;ga=pc>qc?pc:qc;Fe=Fe+1|0;if((Fe|0)==(Ee|0)){Se=Va;Te=Jb;Ue=ga;Ve=Hc;We=$;Xe=ca;break}else{Qe=Va;Ce=Jb;qc=ga;rc=Hc;Ge=$;uc=ca}}}else{Se=-3402823466385288598117041.0e14;Te=-3402823466385288598117041.0e14;Ue=-3402823466385288598117041.0e14;Ve=3402823466385288598117041.0e14;We=3402823466385288598117041.0e14;Xe=3402823466385288598117041.0e14}g[Tb+100>>2]=Se+Ve;g[Tb+104>>2]=We+Te;g[Tb+108>>2]=Xe+Ue;g[Tb+112>>2]=0.0;uc=Se-Ve;Ve=Te-We;We=Ue-Xe;g[Tb+116>>2]=uc;g[Tb+120>>2]=Ve;g[Tb+124>>2]=We;g[Tb+128>>2]=0.0;Xe=Re/1.7320507764816284;Ee=uc<Ve?(Ve<We?2:1):uc<We?2:0;Fe=Tb+116+(Ee<<2)|0;We=(+g[Fe>>2]*.5-Xe)*.0009765625;q=Tb+80|0;De=Tb+88|0;g[De>>2]=Xe;Pe=Tb+84|0;g[Pe>>2]=Xe;g[q>>2]=Xe;uc=+g[Fe>>2]*.5;Fe=Tb+80+(Ee<<2)|0;g[Fe>>2]=uc;Ve=uc;Oe=0;while(1){if(jr(Tb)|0){Fb=440;break}Ve=Ve-We;g[Fe>>2]=Ve;Oe=Oe+1|0;if((Oe|0)>=1024){Fb=439;break}}n:do if((Fb|0)==439){g[De>>2]=Xe;g[Pe>>2]=Xe;g[q>>2]=Xe}else if((Fb|0)==440){Ve=(+g[Nb>>2]-Xe)*.0009765625;Oe=1<<Ee&3;Fe=Tb+80+(Oe<<2)|0;Ne=Tb+80+((1<<Oe&3)<<2)|0;Oe=c[Ne>>2]|0;Me=0;while(1){Ye=c[Fe>>2]|0;g[Fe>>2]=Ve+(c[k>>2]=Ye,+g[k>>2]);We=Ve+ +g[Ne>>2];g[Ne>>2]=We;Me=Me+1|0;if(!(jr(Tb)|0))break;if((Me|0)>=1024)break n;else Oe=(g[k>>2]=We,c[k>>2]|0)}c[Fe>>2]=Ye;c[Ne>>2]=Oe}while(0);if(He|0){c[4351]=(c[4351]|0)+1;Ur(c[He+-4>>2]|0)}if(Ke|0){c[4351]=(c[4351]|0)+1;Ur(c[Ke+-4>>2]|0)}if(Je|0){c[4351]=(c[4351]|0)+1;Ur(c[Je+-4>>2]|0)}if(Ie|0){c[4351]=(c[4351]|0)+1;Ur(c[Ie+-4>>2]|0)}if(vd|0){c[4351]=(c[4351]|0)+1;Ur(c[vd+-4>>2]|0)}vd=c[n>>2]|0;n=c[ob>>2]|0;if((vd|0)<=0){if(n|0)Fb=461}else{Ie=0;do{Je=n+(Ie*36|0)+4|0;Ke=n+(Ie*36|0)+12|0;He=c[Ke>>2]|0;Ye=n+(Ie*36|0)+16|0;if(He|0){if(a[Ye>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[He+-4>>2]|0)}c[Ke>>2]=0}a[Ye>>0]=1;c[Ke>>2]=0;c[Je>>2]=0;c[n+(Ie*36|0)+8>>2]=0;Ie=Ie+1|0}while((Ie|0)!=(vd|0));Fb=461}if((Fb|0)==461){if(a[rb>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[n+-4>>2]|0)}c[ob>>2]=0}if(sb|0){c[4351]=(c[4351]|0)+1;Ur(c[sb+-4>>2]|0)}sb=c[G>>2]|0;if(sb|0){if(a[B>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[sb+-4>>2]|0)}c[G>>2]=0}a[B>>0]=1;c[G>>2]=0;c[A>>2]=0;c[H>>2]=0;H=c[w>>2]|0;if(H|0){if(a[x>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[H+-4>>2]|0)}c[w>>2]=0}a[x>>0]=1;c[w>>2]=0;c[l>>2]=0;c[C>>2]=0;C=c[F>>2]|0;if(C|0){if(a[D>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[C+-4>>2]|0)}c[F>>2]=0}if(!v){i=h;return 1}c[4351]=(c[4351]|0)+1;Ur(c[v+-4>>2]|0);i=h;return 1}function jo(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;e=b+8|0;if((c[e>>2]|0)>=(d|0))return;if((d|0)!=0?(c[4350]=(c[4350]|0)+1,f=Tr((d*36|3)+16|0)|0,(f|0)!=0):0){g=f+4+15&-16;c[g+-4>>2]=f;h=g}else h=0;g=b+4|0;f=c[g>>2]|0;i=b+12|0;if((f|0)>0){j=0;do{k=h+(j*36|0)|0;l=c[i>>2]|0;m=k+16|0;a[m>>0]=1;n=k+12|0;c[n>>2]=0;o=k+4|0;c[o>>2]=0;p=k+8|0;c[p>>2]=0;q=c[l+(j*36|0)+4>>2]|0;if((q|0)>0){r=q<<2;c[4350]=(c[4350]|0)+1;s=Tr((r|3)+16|0)|0;if(!s)t=0;else{u=s+4+15&-16;c[u+-4>>2]=s;t=u}u=c[o>>2]|0;s=c[n>>2]|0;if((u|0)<=0)if(!s){a[m>>0]=1;c[n>>2]=t;c[p>>2]=q;Bs(t|0,0,r|0)|0}else v=14;else{w=0;do{c[t+(w<<2)>>2]=c[s+(w<<2)>>2];w=w+1|0}while((w|0)!=(u|0));v=14}if((v|0)==14){v=0;if(a[m>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[s+-4>>2]|0)}a[m>>0]=1;c[n>>2]=t;c[p>>2]=q;Bs(t|0,0,r|0)|0}u=c[n>>2]|0;c[o>>2]=q;w=c[l+(j*36|0)+12>>2]|0;x=0;do{c[u+(x<<2)>>2]=c[w+(x<<2)>>2];x=x+1|0}while((x|0)!=(q|0))}else c[o>>2]=q;x=k+20|0;w=l+(j*36|0)+20|0;c[x>>2]=c[w>>2];c[x+4>>2]=c[w+4>>2];c[x+8>>2]=c[w+8>>2];c[x+12>>2]=c[w+12>>2];j=j+1|0}while((j|0)!=(f|0));f=c[g>>2]|0;if((f|0)>0){g=0;do{j=c[i>>2]|0;t=j+(g*36|0)+4|0;v=j+(g*36|0)+12|0;w=c[v>>2]|0;x=j+(g*36|0)+16|0;if(w|0){if(a[x>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[w+-4>>2]|0)}c[v>>2]=0}a[x>>0]=1;c[v>>2]=0;c[t>>2]=0;c[j+(g*36|0)+8>>2]=0;g=g+1|0}while((g|0)!=(f|0))}}f=c[i>>2]|0;g=b+16|0;if(f|0){if(a[g>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[f+-4>>2]|0)}c[i>>2]=0}a[g>>0]=1;c[i>>2]=h;c[e>>2]=d;return}function ko(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0.0,F=0.0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;h=i;i=i+32|0;j=h;k=(f+e|0)/2|0;l=b+12|0;m=c[l>>2]|0;n=+g[m+(k*24|0)>>2];o=+g[m+(k*24|0)+4>>2];p=+g[m+(k*24|0)+8>>2];q=+g[m+(k*24|0)+16>>2];r=c[m+(k*24|0)+20>>2]|0;k=d+4|0;s=d+8|0;t=m;m=e;u=f;while(1){v=+g[d>>2];w=+g[k>>2];x=+g[s>>2];y=n-v;z=o-w;A=p-x;B=y*y+z*z+A*A;C=m;a:while(1){A=+g[t+(C*24|0)+16>>2];do if(A!=q){if(!(A<q)){D=u;break a}}else{z=+g[t+(C*24|0)>>2]-v;y=+g[t+(C*24|0)+4>>2]-w;E=+g[t+(C*24|0)+8>>2]-x;F=z*z+y*y+E*E;if(F!=B)if(F<B)break;else{D=u;break a}else if((c[t+(C*24|0)+20>>2]|0)<(r|0))break;else{D=u;break a}}while(0);C=C+1|0}b:while(1){A=+g[t+(D*24|0)+16>>2];do if(q!=A){if(!(q<A))break b}else{F=+g[t+(D*24|0)>>2]-v;E=+g[t+(D*24|0)+4>>2]-w;y=+g[t+(D*24|0)+8>>2]-x;z=F*F+E*E+y*y;if(B!=z)if(B<z)break;else break b;else if((r|0)<(c[t+(D*24|0)+20>>2]|0))break;else break b}while(0);D=D+-1|0}if((C|0)>(D|0)){G=C;H=D}else{I=t+(C*24|0)|0;J=j;K=I;L=J+24|0;do{a[J>>0]=a[K>>0]|0;J=J+1|0;K=K+1|0}while((J|0)<(L|0));M=t+(D*24|0)|0;c[I>>2]=c[M>>2];c[I+4>>2]=c[M+4>>2];c[I+8>>2]=c[M+8>>2];c[I+12>>2]=c[M+12>>2];c[I+16>>2]=c[M+16>>2];c[I+20>>2]=c[M+20>>2];J=(c[l>>2]|0)+(D*24|0)|0;K=j;L=J+24|0;do{a[J>>0]=a[K>>0]|0;J=J+1|0;K=K+1|0}while((J|0)<(L|0));G=C+1|0;H=D+-1|0}if((G|0)>(H|0))break;t=c[l>>2]|0;m=G;u=H}if((H|0)>(e|0))ko(b,d,e,H);if((G|0)>=(f|0)){i=h;return}ko(b,d,G,f);i=h;return}function lo(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=b+4|0;f=c[e>>2]|0;if((f|0)==(c[b+8>>2]|0)){jo(b,f|0?f<<1:1);g=c[e>>2]|0}else g=f;f=(c[b+12>>2]|0)+(g*36|0)|0;g=f+16|0;a[g>>0]=1;b=f+12|0;c[b>>2]=0;h=f+4|0;c[h>>2]=0;i=f+8|0;c[i>>2]=0;j=c[d+4>>2]|0;if((j|0)<=0){c[h>>2]=j;k=f+20|0;l=d+20|0;c[k>>2]=c[l>>2];c[k+4>>2]=c[l+4>>2];c[k+8>>2]=c[l+8>>2];c[k+12>>2]=c[l+12>>2];m=c[e>>2]|0;n=m+1|0;c[e>>2]=n;return}o=j<<2;c[4350]=(c[4350]|0)+1;p=Tr((o|3)+16|0)|0;if(!p)q=0;else{r=p+4+15&-16;c[r+-4>>2]=p;q=r}r=c[h>>2]|0;p=c[b>>2]|0;if((r|0)<=0)if(!p){a[g>>0]=1;c[b>>2]=q;c[i>>2]=j;Bs(q|0,0,o|0)|0}else s=11;else{t=0;do{c[q+(t<<2)>>2]=c[p+(t<<2)>>2];t=t+1|0}while((t|0)!=(r|0));s=11}if((s|0)==11){if(a[g>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[p+-4>>2]|0)}a[g>>0]=1;c[b>>2]=q;c[i>>2]=j;Bs(q|0,0,o|0)|0}o=c[b>>2]|0;c[h>>2]=j;h=c[d+12>>2]|0;b=0;do{c[o+(b<<2)>>2]=c[h+(b<<2)>>2];b=b+1|0}while((b|0)!=(j|0));k=f+20|0;l=d+20|0;c[k>>2]=c[l>>2];c[k+4>>2]=c[l+4>>2];c[k+8>>2]=c[l+8>>2];c[k+12>>2]=c[l+12>>2];m=c[e>>2]|0;n=m+1|0;c[e>>2]=n;return}function mo(a){a=a|0;if(!a)return;c[4351]=(c[4351]|0)+1;Ur(c[a+-4>>2]|0);return}function no(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0,k=0.0,l=0,m=0.0;f=+Kb[c[(c[a>>2]|0)+48>>2]&7](a);h=+Kb[c[(c[a>>2]|0)+48>>2]&7](a);i=+Kb[c[(c[a>>2]|0)+48>>2]&7](a);a=b+48|0;j=b+52|0;k=+g[j>>2]-h;l=b+56|0;m=+g[l>>2]-i;g[d>>2]=+g[a>>2]-f;g[d+4>>2]=k;g[d+8>>2]=m;g[d+12>>2]=0.0;m=h+ +g[j>>2];h=i+ +g[l>>2];g[e>>2]=f+ +g[a>>2];g[e+4>>2]=m;g[e+8>>2]=h;g[e+12>>2]=0.0;return}function oo(a,b,d){a=a|0;b=+b;d=d|0;var e=0.0;e=b*.4000000059604645*+Kb[c[(c[a>>2]|0)+48>>2]&7](a);b=e*+Kb[c[(c[a>>2]|0)+48>>2]&7](a);g[d>>2]=b;g[d+4>>2]=b;g[d+8>>2]=b;g[d+12>>2]=0.0;return}function po(a){a=a|0;return 11908}function qo(a,b){a=a|0;b=+b;g[a+48>>2]=b;return}function ro(a){a=a|0;return +(+g[a+32>>2]*+g[a+16>>2])}function so(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0.0,j=0.0,k=0.0,l=0.0,m=0.0;e=i;i=i+16|0;f=e;ac[c[(c[b>>2]|0)+68>>2]&63](f,b,d);c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2];h=+g[d>>2];j=+g[d+4>>2];k=+g[d+8>>2];d=h*h+j*j+k*k<1.4210854715202004e-14;l=d?-1.0:h;h=d?-1.0:j;j=d?-1.0:k;k=1.0/+O(+(j*j+(l*l+h*h)));m=+Kb[c[(c[b>>2]|0)+48>>2]&7](b);g[a>>2]=+g[a>>2]+m*(k*l);b=a+4|0;g[b>>2]=m*(k*h)+ +g[b>>2];b=a+8|0;g[b>>2]=m*(k*j)+ +g[b>>2];i=e;return}function to(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;return}function uo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>0)f=0;else return;do{b=d+(f<<4)|0;f=f+1|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0}while((f|0)!=(e|0));return}function vo(a){a=a|0;return}function wo(a){a=a|0;return}function xo(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=5664;d=b+24|0;e=b+32|0;f=c[e>>2]|0;g=b+36|0;if(f|0){if(a[g>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[f+-4>>2]|0)}c[e>>2]=0}a[g>>0]=1;c[e>>2]=0;c[d>>2]=0;c[b+28>>2]=0;return}function yo(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=5664;d=b+24|0;e=b+32|0;f=c[e>>2]|0;g=b+36|0;if(f|0){if(a[g>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[f+-4>>2]|0)}c[e>>2]=0}a[g>>0]=1;c[e>>2]=0;c[d>>2]=0;c[b+28>>2]=0;c[4351]=(c[4351]|0)+1;Ur(c[b+-4>>2]|0);return}function zo(a,b,d,e,f,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0;l=c[a+32>>2]|0;c[d>>2]=c[l+(k<<5)+12>>2];c[b>>2]=c[l+(k<<5)+16>>2];c[e>>2]=c[l+(k<<5)+28>>2];c[f>>2]=c[l+(k<<5)+20>>2];c[i>>2]=c[l+(k<<5)>>2];c[g>>2]=c[l+(k<<5)+4>>2];c[h>>2]=c[l+(k<<5)+8>>2];c[j>>2]=c[l+(k<<5)+24>>2];return}function Ao(a,b,d,e,f,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0;l=c[a+32>>2]|0;c[d>>2]=c[l+(k<<5)+12>>2];c[b>>2]=c[l+(k<<5)+16>>2];c[e>>2]=c[l+(k<<5)+28>>2];c[f>>2]=c[l+(k<<5)+20>>2];c[i>>2]=c[l+(k<<5)>>2];c[g>>2]=c[l+(k<<5)+4>>2];c[h>>2]=c[l+(k<<5)+8>>2];c[j>>2]=c[l+(k<<5)+24>>2];return}function Bo(a,b){a=a|0;b=b|0;return}function Co(a,b){a=a|0;b=b|0;return}function Do(a){a=a|0;return c[a+24>>2]|0}function Eo(a,b){a=a|0;b=b|0;return}function Fo(a,b){a=a|0;b=b|0;return}function Go(a){a=a|0;return (c[a+48>>2]|0)==1|0}function Ho(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+52|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];b=a+68|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[a+48>>2]=1;return}function Io(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+52|0;c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];e=a+68|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];return}function Jo(a){a=a|0;return 28}function Ko(a){a=a|0;return}function Lo(a){a=a|0;if(!a)return;c[4351]=(c[4351]|0)+1;Ur(c[a+-4>>2]|0);return}function Mo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.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,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0;f=a+36|0;h=a+20|0;i=a+40|0;j=a+24|0;k=a+44|0;l=a+28|0;m=(+g[f>>2]-+g[h>>2])*.5;n=(+g[i>>2]-+g[j>>2])*.5;o=(+g[k>>2]-+g[l>>2])*.5;p=+Kb[c[(c[a>>2]|0)+48>>2]&7](a);q=+Kb[c[(c[a>>2]|0)+48>>2]&7](a);r=m+p;p=n+q;q=o+ +Kb[c[(c[a>>2]|0)+48>>2]&7](a);o=(+g[f>>2]+ +g[h>>2])*.5;n=(+g[i>>2]+ +g[j>>2])*.5;m=(+g[k>>2]+ +g[l>>2])*.5;s=+g[b>>2];t=+N(+s);u=+g[b+4>>2];v=+N(+u);w=+g[b+8>>2];x=+N(+w);y=+g[b+16>>2];z=+N(+y);A=+g[b+20>>2];B=+N(+A);C=+g[b+24>>2];D=+N(+C);E=+g[b+32>>2];F=+N(+E);G=+g[b+36>>2];H=+N(+G);I=+g[b+40>>2];J=+N(+I);K=o*s+n*u+m*w+ +g[b+48>>2];w=o*y+n*A+m*C+ +g[b+52>>2];C=o*E+n*G+m*I+ +g[b+56>>2];I=r*t+p*v+q*x;x=r*z+p*B+q*D;D=r*F+p*H+q*J;g[d>>2]=K-I;g[d+4>>2]=w-x;g[d+8>>2]=C-D;g[d+12>>2]=0.0;g[e>>2]=I+K;g[e+4>>2]=x+w;g[e+8>>2]=D+C;g[e+12>>2]=0.0;return}function No(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,j=0,k=0,l=0;d=i;i=i+48|0;e=d+32|0;f=d+16|0;h=d;j=(c[a+52>>2]|0)+4|0;c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];b=e+4|0;j=e+8|0;k=a+16|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;g[e>>2]=1.0;ac[c[(c[a>>2]|0)+68>>2]&63](f,a,e);g[a+36>>2]=+g[f>>2]+ +g[k>>2];g[e>>2]=-1.0;ac[c[(c[a>>2]|0)+68>>2]&63](h,a,e);c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];g[a+20>>2]=+g[f>>2]-+g[k>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;g[b>>2]=1.0;ac[c[(c[a>>2]|0)+68>>2]&63](f,a,e);l=f+4|0;g[a+40>>2]=+g[l>>2]+ +g[k>>2];g[b>>2]=-1.0;ac[c[(c[a>>2]|0)+68>>2]&63](h,a,e);c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];g[a+24>>2]=+g[l>>2]-+g[k>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;g[j>>2]=1.0;ac[c[(c[a>>2]|0)+68>>2]&63](f,a,e);l=f+8|0;g[a+44>>2]=+g[l>>2]+ +g[k>>2];g[j>>2]=-1.0;ac[c[(c[a>>2]|0)+68>>2]&63](h,a,e);c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];g[a+28>>2]=+g[l>>2]-+g[k>>2];i=d;return}function Oo(a){a=a|0;return (c[a+52>>2]|0)+4|0}function Po(a,b,d){a=a|0;b=+b;d=d|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;return}function Qo(a){a=a|0;return 12021}function Ro(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+48|0;g=f;c[g>>2]=5816;c[g+4>>2]=b;b=g+8|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];b=g+24|0;c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];b=c[a+52>>2]|0;ec[c[(c[b>>2]|0)+8>>2]&63](b,g,d,e);i=f;return}function So(a){a=a|0;Ur(a);return}function To(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0,j=0,k=0.0,l=0.0,m=0,n=0;f=b+16|0;h=+g[b>>2];i=+g[f>>2];j=b+32|0;k=h<i?h:i;l=+g[j>>2];if((k<l?k:l)>+g[a+24>>2])return;m=h>i?b:f;if(+g[(+g[m>>2]>l?m:j)>>2]<+g[a+8>>2])return;j=b+8|0;m=b+24|0;l=+g[j>>2];i=+g[m>>2];f=b+40|0;h=l<i?l:i;k=+g[f>>2];if((h<k?h:k)>+g[a+32>>2])return;n=l>i?j:m;if(+g[(+g[n>>2]>k?n:f)>>2]<+g[a+16>>2])return;f=b+4|0;n=b+20|0;k=+g[f>>2];i=+g[n>>2];m=b+36|0;l=k<i?k:i;h=+g[m>>2];if((l<h?l:h)>+g[a+28>>2])return;j=k>i?f:n;if(+g[(+g[j>>2]>h?j:m)>>2]<+g[a+12>>2])return;m=c[a+4>>2]|0;ec[c[(c[m>>2]|0)+8>>2]&63](m,b,d,e);return}function Uo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0;e=i;i=i+160|0;f=e+136|0;h=e+32|0;j=e+16|0;k=e;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[h>>2]=5836;l=h+4|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[h+20>>2]=1065353216;m=h+24|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[h+40>>2]=1065353216;m=h+44|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[h+60>>2]=1065353216;c[h+64>>2]=0;m=h+68|0;n=f+4|0;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];g[h+84>>2]=-999999984306749440.0;o=+g[d>>2];p=+g[d+4>>2];q=p*0.0;r=+g[d+8>>2];s=r*0.0;t=o*0.0;g[h+88>>2]=o+q+s;g[h+92>>2]=t+p+s;g[h+96>>2]=t+q+r;g[h+100>>2]=0.0;c[j>>2]=1566444395;c[j+4>>2]=1566444395;c[j+8>>2]=1566444395;g[j+12>>2]=0.0;d=c[(c[b>>2]|0)+64>>2]|0;g[k>>2]=-999999984306749440.0;g[k+4>>2]=-999999984306749440.0;g[k+8>>2]=-999999984306749440.0;g[k+12>>2]=0.0;ec[d&63](b,h,k,j);c[a>>2]=c[l>>2];c[a+4>>2]=c[l+4>>2];c[a+8>>2]=c[l+8>>2];c[a+12>>2]=c[l+12>>2];i=e;return}function Vo(a){a=a|0;Ur(a);return}function Wo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0;e=a+84|0;d=a+4|0;f=+g[a+88>>2];h=+g[a+92>>2];i=+g[a+96>>2];j=f*+g[b>>2]+h*+g[b+4>>2]+i*+g[b+8>>2];k=+g[e>>2];if(j>k){g[e>>2]=j;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];l=j}else l=k;a=b+16|0;k=f*+g[a>>2]+h*+g[b+20>>2]+i*+g[b+24>>2];if(k>l){g[e>>2]=k;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];m=k}else m=l;a=b+32|0;l=f*+g[a>>2]+h*+g[b+36>>2]+i*+g[b+40>>2];if(!(l>m))return;g[e>>2]=l;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function Xo(a){a=a|0;Ur(a);return}function Yo(b,d,e,f,h,j){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var 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,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.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,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0.0,ka=0,la=0,ma=0.0,na=0,oa=0,pa=0.0,qa=0,ra=0,sa=0.0,ta=0;l=i;i=i+304|0;m=l+288|0;n=l+240|0;o=l+208|0;p=l+192|0;q=l+224|0;r=l+112|0;s=l+48|0;t=l+176|0;u=l;v=+g[e+48>>2]-+g[d+48>>2];w=+g[e+52>>2]-+g[d+52>>2];x=+g[e+56>>2]-+g[d+56>>2];Cf(d,e,m,n);y=+g[n>>2];z=+g[m>>2]*y;A=y*+g[m+4>>2];B=y*+g[m+8>>2];g[o>>2]=z;g[o+4>>2]=A;g[o+8>>2]=B;g[o+12>>2]=0.0;y=+g[h+48>>2]-+g[f+48>>2];C=+g[h+52>>2]-+g[f+52>>2];D=+g[h+56>>2]-+g[f+56>>2];Cf(f,h,m,n);E=+g[n>>2];F=+g[m>>2]*E;G=E*+g[m+4>>2];H=E*+g[m+8>>2];g[p>>2]=F;g[p+4>>2]=G;g[p+8>>2]=H;g[p+12>>2]=0.0;h=c[b+12>>2]|0;E=+Kb[c[(c[h>>2]|0)+16>>2]&7](h);h=c[b+16>>2]|0;if(!h)I=0.0;else I=+Kb[c[(c[h>>2]|0)+16>>2]&7](h);J=E*+O(+(z*z+A*A+B*B))+I*+O(+(F*F+G*G+H*H));H=y-v;G=C-w;F=D-x;if(J+ +O(+(H*H+G*G+F*F))==0.0){K=0;i=l;return K|0}c[n>>2]=5876;h=n+36|0;g[h>>2]=999999984306749440.0;e=n+40|0;a[e>>0]=0;bp(b,d,f,n);L=(a[e>>0]|0)==0;e=n+20|0;c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];a:do if(!L?(e=j+172|0,M=c[n+4>>2]|0,N=c[n+8>>2]|0,P=c[n+12>>2]|0,I=H*(c[k>>2]=M,+g[k>>2]),B=I+G*(c[k>>2]=N,+g[k>>2]),!(J+(B+F*(c[k>>2]=P,+g[k>>2]))<=1.1920928955078125e-07)):0){B=+g[n+16>>2];I=+g[h>>2]+ +g[e>>2];Q=j+168|0;R=u+36|0;S=u+40|0;T=u+20|0;U=u+4|0;V=u+8|0;W=u+12|0;X=u+16|0;Y=r+48|0;Z=t+4|0;_=t+8|0;$=t+12|0;aa=q+4|0;ba=q+8|0;ca=q+12|0;b:do if(I>1.0000000474974513e-03){A=I;z=0.0;da=M;ea=P;fa=N;ga=0;while(1){ha=c[Q>>2]|0;if(ha|0){ia=c[(c[ha>>2]|0)+20>>2]|0;c[q>>2]=1065353216;c[aa>>2]=1065353216;c[ba>>2]=1065353216;g[ca>>2]=0.0;Ab[ia&7](ha,m,.20000000298023224,q)}E=H*(c[k>>2]=da,+g[k>>2]);ja=E+G*(c[k>>2]=fa,+g[k>>2]);E=J+(ja+F*(c[k>>2]=ea,+g[k>>2]));if(E<=1.1920928955078125e-07){ka=0;break a}ja=z+A/E;if(!(!(ja<=z)&(!(ja<0.0)&!(ja>1.0)))){ka=0;break a}Bf(d,v,w,x,o,ja,r);Bf(f,y,C,D,p,ja,s);ha=c[Q>>2]|0;if(ha|0){ia=c[(c[ha>>2]|0)+20>>2]|0;c[t>>2]=1065353216;c[Z>>2]=0;c[_>>2]=0;g[$>>2]=0.0;Ab[ia&7](ha,Y,.20000000298023224,t)}ub[c[c[j>>2]>>2]&31](j,ja);c[u>>2]=5876;g[R>>2]=999999984306749440.0;a[S>>0]=0;bp(b,r,s,u);if(!(a[S>>0]|0)){la=15;break}E=+g[R>>2];ma=+g[e>>2];c[m>>2]=c[T>>2];c[m+4>>2]=c[T+4>>2];c[m+8>>2]=c[T+8>>2];c[m+12>>2]=c[T+12>>2];na=ga+1|0;if((ga|0)>63){la=16;break}ha=c[W>>2]|0;ia=c[V>>2]|0;oa=c[U>>2]|0;A=E+ma;if(!(A>1.0000000474974513e-03)){pa=ja;qa=oa;ra=ha;sa=+g[X>>2];ta=ia;break b}else{z=ja;da=oa;ea=ha;fa=ia;ga=na}}if((la|0)==15)ac[c[(c[j>>2]|0)+8>>2]&63](j,-1,ga);else if((la|0)==16)ac[c[(c[j>>2]|0)+8>>2]&63](j,-2,na);ka=0;break a}else{pa=0.0;qa=M;ra=P;sa=B;ta=N}while(0);g[j+164>>2]=pa;c[j+132>>2]=qa;c[j+136>>2]=ta;c[j+140>>2]=ra;g[j+144>>2]=sa;N=j+148|0;c[N>>2]=c[m>>2];c[N+4>>2]=c[m+4>>2];c[N+8>>2]=c[m+8>>2];c[N+12>>2]=c[m+12>>2];ka=1}else ka=0;while(0);K=ka;i=l;return K|0}function Zo(a){a=a|0;Ur(a);return}function _o(a,b,c){a=a|0;b=b|0;c=c|0;return}function $o(a,b,c){a=a|0;b=b|0;c=c|0;return}function ap(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0;h=b+36|0;if(!(+g[h>>2]>f))return;a[b+40>>0]=1;i=b+4|0;c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];d=b+20|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];g[h>>2]=f;return}function bp(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=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,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0,K=0.0,L=0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0,U=0.0,V=0,W=0.0,X=0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0,fa=0,ga=0,ha=0;h=i;i=i+256|0;j=h+168|0;k=h+32|0;l=h+16|0;m=h;n=b+16|0;if(!(c[n>>2]|0)){o=c[b+12>>2]|0;p=c[b+20>>2]|0;q=+g[d>>2];r=+g[d+4>>2];s=+g[d+8>>2];t=+g[d+16>>2];u=+g[d+20>>2];v=+g[d+24>>2];w=+g[d+32>>2];x=+g[d+36>>2];y=+g[d+40>>2];z=+g[d+48>>2];A=+g[d+52>>2];B=+g[d+56>>2];C=e+4|0;D=e+20|0;E=e+36|0;F=e+8|0;G=e+24|0;H=e+40|0;I=+g[e>>2];J=e+16|0;K=+g[J>>2];L=e+32|0;M=+g[L>>2];N=+g[C>>2];O=+g[D>>2];P=+g[E>>2];Q=+g[F>>2];R=+g[G>>2];S=+g[H>>2];T=e+48|0;U=-+g[T>>2];V=e+52|0;W=-+g[V>>2];X=e+56|0;Y=-+g[X>>2];Z=q*I+t*K+w*M;_=r*I+u*K+x*M;$=s*I+v*K+y*M;aa=q*N+t*O+w*P;ba=r*N+u*O+x*P;ca=s*N+v*O+y*P;da=q*Q+t*R+w*S;w=r*Q+u*R+x*S;x=s*Q+v*R+y*S;ea=c[(c[o>>2]|0)+64>>2]|0;fa=p+52|0;y=-+g[fa>>2];ga=p+56|0;v=-+g[ga>>2];ha=p+60|0;s=-+g[ha>>2];g[l>>2]=Z*y+aa*v+da*s;g[l+4>>2]=_*y+ba*v+w*s;g[l+8>>2]=$*y+ca*v+x*s;g[l+12>>2]=0.0;ac[ea&63](j,o,l);s=+g[j>>2];v=+g[j+4>>2];y=+g[j+8>>2];u=z*I+A*K+B*M+(I*U+K*W+M*Y)+(Z*s+_*v+$*y);$=z*N+A*O+B*P+(N*U+O*W+P*Y)+(aa*s+ba*v+ca*y);ca=z*Q+A*R+B*S+(Q*U+R*W+S*Y)+(da*s+w*v+x*y);y=+g[fa>>2];x=+g[ga>>2];v=+g[ha>>2];w=v*ca+(y*u+x*$)-+g[p+68>>2];s=u-y*w;y=$-x*w;x=ca-v*w;v=+g[e>>2];ca=+g[C>>2];$=+g[F>>2];u=+g[J>>2];da=+g[D>>2];Y=+g[G>>2];S=+g[L>>2];W=+g[E>>2];R=+g[H>>2];U=s*u+y*da+x*Y+ +g[V>>2];Q=s*S+y*W+x*R+ +g[X>>2];g[k>>2]=$*x+(v*s+ca*y)+ +g[T>>2];g[k+4>>2]=U;g[k+8>>2]=Q;g[k+12>>2]=0.0;Q=+g[fa>>2];U=+g[ga>>2];y=+g[ha>>2];g[m>>2]=v*Q+ca*U+$*y;g[m+4>>2]=Q*u+U*da+y*Y;g[m+8>>2]=Q*S+U*W+y*R;g[m+12>>2]=0.0;$b[c[(c[f>>2]|0)+16>>2]&7](f,m,k,w);i=h;return}else{m=b+4|0;ha=c[m>>2]|0;a[ha+312>>0]=0;c[ha>>2]=0;a[ha+356>>0]=1;c[ha+292>>2]=1566444395;c[ha+296>>2]=1566444395;c[ha+300>>2]=1566444395;g[ha+304>>2]=0.0;ga=ha+336|0;fa=ha+332|0;c[ga>>2]=0;c[ga+4>>2]=0;c[ga+8>>2]=0;c[ga+12>>2]=0;a[ga+16>>0]=0;a[fa>>0]=a[fa>>0]&-16;fa=c[b+12>>2]|0;ga=c[n>>2]|0;ha=c[fa+4>>2]|0;T=c[ga+4>>2]|0;w=+Kb[c[(c[fa>>2]|0)+48>>2]&7](fa);X=c[n>>2]|0;R=+Kb[c[(c[X>>2]|0)+48>>2]&7](X);X=c[m>>2]|0;m=c[b+8>>2]|0;c[j>>2]=5944;c[j+4>>2]=0;c[j+8>>2]=1065353216;c[j+12>>2]=0;g[j+16>>2]=0.0;c[j+20>>2]=m;c[j+24>>2]=X;c[j+28>>2]=fa;c[j+32>>2]=ga;c[j+36>>2]=ha;c[j+40>>2]=T;g[j+44>>2]=w;g[j+48>>2]=R;a[j+52>>0]=0;c[j+60>>2]=-1;c[j+72>>2]=1;c[j+76>>2]=1;g[k+128>>2]=999999984306749440.0;c[k>>2]=c[d>>2];c[k+4>>2]=c[d+4>>2];c[k+8>>2]=c[d+8>>2];c[k+12>>2]=c[d+12>>2];T=k+16|0;ha=d+16|0;c[T>>2]=c[ha>>2];c[T+4>>2]=c[ha+4>>2];c[T+8>>2]=c[ha+8>>2];c[T+12>>2]=c[ha+12>>2];ha=k+32|0;T=d+32|0;c[ha>>2]=c[T>>2];c[ha+4>>2]=c[T+4>>2];c[ha+8>>2]=c[T+8>>2];c[ha+12>>2]=c[T+12>>2];T=k+48|0;ha=d+48|0;c[T>>2]=c[ha>>2];c[T+4>>2]=c[ha+4>>2];c[T+8>>2]=c[ha+8>>2];c[T+12>>2]=c[ha+12>>2];ha=k+64|0;c[ha>>2]=c[e>>2];c[ha+4>>2]=c[e+4>>2];c[ha+8>>2]=c[e+8>>2];c[ha+12>>2]=c[e+12>>2];ha=k+80|0;T=e+16|0;c[ha>>2]=c[T>>2];c[ha+4>>2]=c[T+4>>2];c[ha+8>>2]=c[T+8>>2];c[ha+12>>2]=c[T+12>>2];T=k+96|0;ha=e+32|0;c[T>>2]=c[ha>>2];c[T+4>>2]=c[ha+4>>2];c[T+8>>2]=c[ha+8>>2];c[T+12>>2]=c[ha+12>>2];ha=k+112|0;T=e+48|0;c[ha>>2]=c[T>>2];c[ha+4>>2]=c[T+4>>2];c[ha+8>>2]=c[T+8>>2];c[ha+12>>2]=c[T+12>>2];jp(j,k,f,0,0);i=h;return}}function cp(a){a=a|0;return}function dp(a){a=a|0;Ur(a);return}function ep(b,d,e,f,h,j){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var 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.0,C=0.0,D=0.0,E=0,F=0,G=0,H=0,I=0,J=0.0,K=0,L=0.0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0.0,U=0.0,V=0,W=0,X=0,Y=0,Z=0,_=0.0,$=0.0,aa=0.0,ba=0,ca=0,da=0,ea=0.0;l=i;i=i+288|0;m=l+264|0;n=l+216|0;o=l+136|0;p=l;q=b+4|0;r=c[q>>2]|0;a[r+312>>0]=0;c[r>>2]=0;a[r+356>>0]=1;c[r+292>>2]=1566444395;c[r+296>>2]=1566444395;c[r+300>>2]=1566444395;g[r+304>>2]=0.0;s=r+336|0;t=r+332|0;c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[s+12>>2]=0;a[s+16>>0]=0;a[t>>0]=a[t>>0]&-16;t=d+48|0;s=e+48|0;r=e+52|0;u=d+52|0;v=e+56|0;e=d+56|0;w=f+48|0;x=h+48|0;y=h+52|0;z=f+52|0;A=h+56|0;h=f+56|0;B=+g[s>>2]-+g[t>>2]-(+g[x>>2]-+g[w>>2]);C=+g[r>>2]-+g[u>>2]-(+g[y>>2]-+g[z>>2]);D=+g[v>>2]-+g[e>>2]-(+g[A>>2]-+g[h>>2]);c[n>>2]=5876;E=n+36|0;g[E>>2]=999999984306749440.0;F=n+40|0;a[F>>0]=0;G=c[b+8>>2]|0;H=c[b+12>>2]|0;b=c[q>>2]|0;c[o>>2]=5944;c[o+4>>2]=0;c[o+8>>2]=1065353216;c[o+12>>2]=0;g[o+16>>2]=0.0;c[o+20>>2]=0;c[o+24>>2]=b;c[o+28>>2]=G;c[o+32>>2]=H;c[o+36>>2]=c[G+4>>2];c[o+40>>2]=c[H+4>>2];g[o+44>>2]=+Kb[c[(c[G>>2]|0)+48>>2]&7](G);g[o+48>>2]=+Kb[c[(c[H>>2]|0)+48>>2]&7](H);a[o+52>>0]=0;c[o+60>>2]=-1;c[o+72>>2]=1;c[o+76>>2]=1;g[p+128>>2]=999999984306749440.0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];c[p+12>>2]=c[d+12>>2];H=p+16|0;G=d+16|0;c[H>>2]=c[G>>2];c[H+4>>2]=c[G+4>>2];c[H+8>>2]=c[G+8>>2];c[H+12>>2]=c[G+12>>2];G=p+32|0;H=d+32|0;c[G>>2]=c[H>>2];c[G+4>>2]=c[H+4>>2];c[G+8>>2]=c[H+8>>2];c[G+12>>2]=c[H+12>>2];H=p+48|0;c[H>>2]=c[t>>2];c[H+4>>2]=c[t+4>>2];c[H+8>>2]=c[t+8>>2];c[H+12>>2]=c[t+12>>2];G=p+64|0;c[G>>2]=c[f>>2];c[G+4>>2]=c[f+4>>2];c[G+8>>2]=c[f+8>>2];c[G+12>>2]=c[f+12>>2];G=p+80|0;d=f+16|0;c[G>>2]=c[d>>2];c[G+4>>2]=c[d+4>>2];c[G+8>>2]=c[d+8>>2];c[G+12>>2]=c[d+12>>2];d=p+96|0;G=f+32|0;c[d>>2]=c[G>>2];c[d+4>>2]=c[G+4>>2];c[d+8>>2]=c[G+8>>2];c[d+12>>2]=c[G+12>>2];G=p+112|0;c[G>>2]=c[w>>2];c[G+4>>2]=c[w+4>>2];c[G+8>>2]=c[w+8>>2];c[G+12>>2]=c[w+12>>2];jp(o,p,n,0,0);d=(a[F>>0]|0)==0;f=n+20|0;c[m>>2]=c[f>>2];c[m+4>>2]=c[f+4>>2];c[m+8>>2]=c[f+8>>2];c[m+12>>2]=c[f+12>>2];if(d){I=0;i=l;return I|0}J=+g[E>>2];d=n+4|0;b=n+8|0;q=n+12|0;K=n+16|0;L=+g[K>>2];M=c[q>>2]|0;N=c[b>>2]|0;O=c[d>>2]|0;do if(J>1.0000000474974513e-03){P=p+52|0;Q=p+56|0;R=p+116|0;S=p+120|0;T=J;U=0.0;V=O;W=N;X=M;Y=0;while(1){if((Y|0)>31){I=0;Z=13;break}_=B*(c[k>>2]=V,+g[k>>2]);$=C*(c[k>>2]=W,+g[k>>2])+_;_=U;U=U-T/(D*(c[k>>2]=X,+g[k>>2])+$);if(!(!(U<=_)&(!(U<0.0)&!(U>1.0)))){I=0;Z=13;break}ub[c[c[j>>2]>>2]&31](j,U);_=1.0-U;g[H>>2]=_*+g[t>>2]+U*+g[s>>2];g[P>>2]=_*+g[u>>2]+U*+g[r>>2];g[Q>>2]=_*+g[e>>2]+U*+g[v>>2];g[G>>2]=_*+g[w>>2]+U*+g[x>>2];g[R>>2]=_*+g[z>>2]+U*+g[y>>2];g[S>>2]=_*+g[h>>2]+U*+g[A>>2];jp(o,p,n,0,0);if(!(a[F>>0]|0)){I=0;Z=13;break}T=+g[E>>2];if(T<0.0){Z=8;break};c[m>>2]=c[f>>2];c[m+4>>2]=c[f+4>>2];c[m+8>>2]=c[f+8>>2];c[m+12>>2]=c[f+12>>2];X=c[q>>2]|0;W=c[b>>2]|0;V=c[d>>2]|0;if(!(T>1.0000000474974513e-03)){Z=10;break}else Y=Y+1|0}if((Z|0)==8){g[j+164>>2]=U;Y=c[b>>2]|0;S=c[q>>2]|0;R=c[K>>2]|0;c[j+132>>2]=c[d>>2];c[j+136>>2]=Y;c[j+140>>2]=S;c[j+144>>2]=R;R=j+148|0;c[R>>2]=c[f>>2];c[R+4>>2]=c[f+4>>2];c[R+8>>2]=c[f+8>>2];c[R+12>>2]=c[f+12>>2];I=1;i=l;return I|0}else if((Z|0)==10){aa=U;ba=V;ca=W;da=X;ea=+g[K>>2];break}else if((Z|0)==13){i=l;return I|0}}else{aa=0.0;ba=O;ca=N;da=M;ea=L}while(0);L=B*(c[k>>2]=ba,+g[k>>2]);B=C*(c[k>>2]=ca,+g[k>>2])+L;if(D*(c[k>>2]=da,+g[k>>2])+B>=-+g[j+172>>2]){I=0;i=l;return I|0}g[j+164>>2]=aa;c[j+132>>2]=ba;c[j+136>>2]=ca;c[j+140>>2]=da;g[j+144>>2]=ea;da=j+148|0;c[da>>2]=c[m>>2];c[da+4>>2]=c[m+4>>2];c[da+8>>2]=c[m+8>>2];c[da+12>>2]=c[m+12>>2];I=1;i=l;return I|0}function fp(a){a=a|0;return}function gp(a){a=a|0;Ur(a);return}function hp(b,e,f,h,j,l,m,n,o,p){b=b|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;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0,B=0,C=0.0,D=0,E=0,F=0,G=0.0,H=0,I=0.0,J=0,K=0.0,L=0,M=0.0,N=0,P=0.0,Q=0,R=0.0,S=0,T=0.0,U=0,V=0.0,W=0,X=0.0,Y=0,Z=0.0,_=0,$=0.0,aa=0,ba=0.0,ca=0,da=0.0,ea=0,fa=0.0,ga=0,ha=0.0,ia=0,ja=0.0,ka=0.0,la=0.0,ma=0.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.0,Ua=0,Va=0,Wa=0,Xa=0.0,Ya=0.0,Za=0.0,_a=0,$a=0.0,ab=0.0,bb=0.0,cb=0,db=0,eb=0.0,fb=0.0,gb=0.0,hb=0.0,ib=0.0,jb=0.0,kb=0.0,lb=0.0,mb=0.0,nb=0,ob=0.0,pb=0.0,qb=0.0,rb=0.0,sb=0.0,tb=0,ub=0.0,vb=0.0,wb=0.0,xb=0.0,yb=0.0,zb=0.0,Ab=0,Bb=0;p=i;i=i+10240|0;e=p+10216|0;b=p+10088|0;q=p+9708|0;r=p+9328|0;s=p+32|0;t=p+16|0;u=p;v=l+48|0;w=j+48|0;x=l+52|0;y=j+52|0;z=+g[x>>2]-+g[y>>2];A=l+56|0;B=j+56|0;C=+g[A>>2]-+g[B>>2];g[u>>2]=+g[v>>2]-+g[w>>2];D=u+4|0;g[D>>2]=z;E=u+8|0;g[E>>2]=C;g[u+12>>2]=0.0;c[b>>2]=f;c[b+4>>2]=h;C=+g[l>>2];z=+g[j>>2];F=l+16|0;G=+g[F>>2];H=j+16|0;I=+g[H>>2];J=l+32|0;K=+g[J>>2];L=j+32|0;M=+g[L>>2];N=j+4|0;P=+g[N>>2];Q=j+20|0;R=+g[Q>>2];S=j+36|0;T=+g[S>>2];U=j+8|0;V=+g[U>>2];W=j+24|0;X=+g[W>>2];Y=j+40|0;Z=+g[Y>>2];_=l+4|0;$=+g[_>>2];aa=l+20|0;ba=+g[aa>>2];ca=l+36|0;da=+g[ca>>2];ea=l+8|0;fa=+g[ea>>2];ga=l+24|0;ha=+g[ga>>2];ia=l+40|0;ja=+g[ia>>2];g[b+8>>2]=C*z+G*I+K*M;g[b+12>>2]=C*P+G*R+K*T;g[b+16>>2]=C*V+G*X+K*Z;g[b+20>>2]=0.0;g[b+24>>2]=z*$+I*ba+M*da;g[b+28>>2]=P*$+R*ba+T*da;g[b+32>>2]=V*$+X*ba+Z*da;g[b+36>>2]=0.0;g[b+40>>2]=z*fa+I*ha+M*ja;g[b+44>>2]=P*fa+R*ha+T*ja;g[b+48>>2]=V*fa+X*ha+Z*ja;g[b+52>>2]=0.0;Z=+g[v>>2]-+g[w>>2];X=+g[x>>2]-+g[y>>2];V=+g[A>>2]-+g[B>>2];T=+g[j>>2];R=+g[l>>2];P=+g[H>>2];M=+g[F>>2];I=+g[L>>2];z=+g[J>>2];K=+g[N>>2];G=+g[Q>>2];C=+g[S>>2];ka=+g[U>>2];la=+g[W>>2];ma=+g[Y>>2];g[b+56>>2]=T*R+P*M+I*z;g[b+60>>2]=T*$+P*ba+I*da;g[b+64>>2]=T*fa+P*ha+I*ja;g[b+68>>2]=0.0;g[b+72>>2]=R*K+M*G+z*C;g[b+76>>2]=$*K+ba*G+da*C;g[b+80>>2]=fa*K+ha*G+ja*C;g[b+84>>2]=0.0;g[b+88>>2]=R*ka+M*la+z*ma;g[b+92>>2]=$*ka+ba*la+da*ma;g[b+96>>2]=fa*ka+ha*la+ja*ma;g[b+100>>2]=0.0;g[b+104>>2]=Z*T+X*P+V*I;g[b+108>>2]=Z*K+X*G+V*C;g[b+112>>2]=Z*ka+X*la+V*ma;g[b+116>>2]=0.0;na=b+120|0;c[na>>2]=54;oa=b+124|0;c[oa>>2]=0;pa=q+128|0;c[q+364>>2]=0;c[pa>>2]=0;c[pa+4>>2]=0;c[pa+8>>2]=0;c[pa+12>>2]=0;c[q+376>>2]=2;c[q+368>>2]=0;g[q+144>>2]=0.0;ma=+g[u>>2];V=+g[D>>2];la=+g[E>>2];g[r>>2]=-ma;g[r+4>>2]=-V;g[r+8>>2]=-la;g[r+12>>2]=0.0;a:do if((nr(q,b,r)|0)==1){E=s+9280|0;D=s+9288|0;pa=s+9292|0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[E+12>>2]=0;c[s>>2]=9;qa=s+40|0;ra=s+9276|0;c[ra>>2]=0;c[qa>>2]=0;c[qa+4>>2]=0;c[qa+8>>2]=0;c[qa+12>>2]=0;c[qa+16>>2]=0;sa=0;do{ta=128-sa+-1|0;ua=s+2108+(ta*56|0)|0;c[s+2108+(ta*56|0)+44>>2]=0;va=c[D>>2]|0;c[s+2108+(ta*56|0)+48>>2]=va;if(va|0)c[va+44>>2]=ua;c[D>>2]=ua;c[pa>>2]=(c[pa>>2]|0)+1;sa=sa+1|0}while((sa|0)!=128);sa=c[q+372>>2]|0;do if((c[sa+32>>2]|0)>>>0>1?qr(q)|0:0){ua=s+9280|0;va=c[ua>>2]|0;if(va|0){ta=s+9284|0;wa=va;va=c[ta>>2]|0;xa=c[pa>>2]|0;do{ya=wa+44|0;za=wa+48|0;Aa=c[za>>2]|0;if(Aa|0)c[Aa+44>>2]=c[ya>>2];Aa=c[ya>>2]|0;if(Aa|0)c[Aa+48>>2]=c[za>>2];if((c[ua>>2]|0)==(wa|0))c[ua>>2]=c[za>>2];va=va+-1|0;c[wa+44>>2]=0;c[za>>2]=c[D>>2];za=c[D>>2]|0;if(za|0)c[za+44>>2]=wa;c[D>>2]=wa;xa=xa+1|0;wa=c[ua>>2]|0}while((wa|0)!=0);c[ta>>2]=va;c[pa>>2]=xa}c[s>>2]=0;c[ra>>2]=0;wa=c[sa>>2]|0;za=sa+12|0;Aa=c[za>>2]|0;X=+g[Aa+16>>2];ka=+g[wa+16>>2]-X;Z=+g[Aa+20>>2];C=+g[wa+20>>2]-Z;G=+g[Aa+24>>2];K=+g[wa+24>>2]-G;Aa=sa+4|0;ya=c[Aa>>2]|0;I=+g[ya+16>>2]-X;P=+g[ya+20>>2]-Z;T=+g[ya+24>>2]-G;Ba=sa+8|0;Ca=c[Ba>>2]|0;ja=+g[Ca+16>>2]-X;X=+g[Ca+20>>2]-Z;Z=+g[Ca+24>>2]-G;if(ka*P*Z+(C*T*ja+K*I*X-ka*T*X-C*I*Z)-K*P*ja<0.0){c[sa>>2]=ya;c[Aa>>2]=wa;Da=sa+16|0;Ea=sa+20|0;Fa=c[Da>>2]|0;c[Da>>2]=c[Ea>>2];c[Ea>>2]=Fa;Ga=ya;Ha=wa}else{Ga=wa;Ha=ya}ya=rr(s,Ga,Ha,Ca,1)|0;Ca=rr(s,c[Aa>>2]|0,c[sa>>2]|0,c[za>>2]|0,1)|0;wa=rr(s,c[Ba>>2]|0,c[Aa>>2]|0,c[za>>2]|0,1)|0;Aa=rr(s,c[sa>>2]|0,c[Ba>>2]|0,c[za>>2]|0,1)|0;za=s+9284|0;if((c[za>>2]|0)==4){Ba=c[E>>2]|0;ja=+g[Ba+16>>2];Fa=c[Ba+48>>2]|0;if(!Fa)Ia=Ba;else{Ea=Fa;P=ja*ja;Fa=Ba;while(1){ja=+g[Ea+16>>2];K=ja*ja;Ba=K<P;Da=Ba?Ea:Fa;Ea=c[Ea+48>>2]|0;if(!Ea){Ia=Da;break}else{P=Ba?K:P;Fa=Da}}}P=+g[Ia>>2];K=+g[Ia+4>>2];ja=+g[Ia+8>>2];Z=+g[Ia+12>>2];Fa=c[Ia+16>>2]|0;Ea=c[Ia+20>>2]|0;xa=c[Ia+24>>2]|0;va=c[Ia+28>>2]|0;a[ya+52>>0]=0;c[ya+32>>2]=Ca;a[Ca+52>>0]=0;c[Ca+32>>2]=ya;a[ya+53>>0]=0;c[ya+36>>2]=wa;a[wa+52>>0]=1;c[wa+32>>2]=ya;a[ya+54>>0]=0;c[ya+40>>2]=Aa;a[Aa+52>>0]=2;c[Aa+32>>2]=ya;a[Ca+53>>0]=2;c[Ca+36>>2]=Aa;a[Aa+54>>0]=1;c[Aa+40>>2]=Ca;a[Ca+54>>0]=1;c[Ca+40>>2]=wa;a[wa+53>>0]=2;c[wa+36>>2]=Ca;a[wa+54>>0]=1;c[wa+40>>2]=Aa;a[Aa+53>>0]=2;c[Aa+36>>2]=wa;c[s>>2]=0;ta=e+4|0;Da=e+8|0;Ba=Ia;I=P;Ja=Ea;Ea=xa;xa=va;P=K;K=ja;ja=Z;va=Fa;Fa=0;while(1){Ka=c[ra>>2]|0;if(Ka>>>0>=64){La=43;break}c[e>>2]=0;c[ta>>2]=0;c[Da>>2]=0;c[ra>>2]=Ka+1;Ma=s+60+(Ka<<5)|0;Fa=Fa+1|0;a[Ba+55>>0]=Fa;Na=Ba+4|0;Oa=Ba+8|0;or(q,+g[Ba>>2],+g[Na>>2],+g[Oa>>2],Ma);if(+g[Ba>>2]*+g[s+60+(Ka<<5)+16>>2]+ +g[Na>>2]*+g[s+60+(Ka<<5)+20>>2]+ +g[Oa>>2]*+g[s+60+(Ka<<5)+24>>2]-+g[Ba+16>>2]>9.999999747378752e-05)Pa=0;else{Qa=7;La=42;break}do{Ra=tr(s,Fa,Ma,c[Ba+32+(Pa<<2)>>2]|0,d[Ba+52+Pa>>0]|0,e)|0;Pa=Pa+1|0}while(Ra&Pa>>>0<3);if(!(Ra&(c[Da>>2]|0)>>>0>2)){Qa=4;La=42;break}Ma=c[e>>2]|0;Ka=c[ta>>2]|0;a[Ma+53>>0]=2;c[Ma+36>>2]=Ka;a[Ka+54>>0]=1;c[Ka+40>>2]=Ma;Ma=Ba+44|0;Ka=Ba+48|0;Oa=c[Ka>>2]|0;if(Oa|0)c[Oa+44>>2]=c[Ma>>2];Oa=c[Ma>>2]|0;if(Oa|0)c[Oa+48>>2]=c[Ka>>2];if((c[ua>>2]|0)==(Ba|0))c[ua>>2]=c[Ka>>2];c[za>>2]=(c[za>>2]|0)+-1;c[Ba+44>>2]=0;c[Ka>>2]=c[D>>2];Ka=c[D>>2]|0;if(Ka|0)c[Ka+44>>2]=Ba;c[D>>2]=Ba;c[pa>>2]=(c[pa>>2]|0)+1;Ka=c[E>>2]|0;Z=+g[Ka+16>>2];Oa=c[Ka+48>>2]|0;if(!Oa)Sa=Ka;else{Ma=Oa;C=Z*Z;Oa=Ka;while(1){Z=+g[Ma+16>>2];X=Z*Z;Ka=X<C;Na=Ka?Ma:Oa;Ma=c[Ma+48>>2]|0;if(!Ma){Sa=Na;break}else{C=Ka?X:C;Oa=Na}}}C=+g[Sa>>2];X=+g[Sa+4>>2];Z=+g[Sa+8>>2];T=+g[Sa+12>>2];Oa=c[Sa+16>>2]|0;Ma=c[Sa+20>>2]|0;Na=c[Sa+24>>2]|0;Ka=c[Sa+28>>2]|0;if(Fa>>>0>=255){Ta=C;Ua=Ma;Va=Na;Wa=Ka;Xa=X;Ya=Z;Za=T;_a=Oa;break}else{Ba=Sa;I=C;Ja=Ma;Ea=Na;xa=Ka;P=X;K=Z;ja=T;va=Oa}}if((La|0)==42){c[s>>2]=Qa;Ta=I;Ua=Ja;Va=Ea;Wa=xa;Xa=P;Ya=K;Za=ja;_a=va}else if((La|0)==43){c[s>>2]=6;Ta=I;Ua=Ja;Va=Ea;Wa=xa;Xa=P;Ya=K;Za=ja;_a=va}T=(c[k>>2]=_a,+g[k>>2]);Z=Ta*T;X=Xa*T;C=Ya*T;g[s+40>>2]=Ta;g[s+44>>2]=Xa;g[s+48>>2]=Ya;g[s+52>>2]=Za;c[s+56>>2]=_a;Ba=s+36|0;c[Ba>>2]=3;c[s+4>>2]=Ua;c[s+8>>2]=Va;c[s+12>>2]=Wa;Fa=Va;za=Fa+16|0;T=+g[za>>2]-Z;ua=Fa+20|0;ka=+g[ua>>2]-X;ta=Fa+24|0;G=+g[ta>>2]-C;Fa=Wa;Da=Fa+16|0;ha=+g[Da>>2]-Z;wa=Fa+20|0;fa=+g[wa>>2]-X;Aa=Fa+24|0;da=+g[Aa>>2]-C;ba=ka*da-G*fa;$=G*ha-T*da;da=T*fa-ka*ha;ha=+O(+(da*da+(ba*ba+$*$)));Fa=s+20|0;g[Fa>>2]=ha;$=+g[Da>>2]-Z;ba=+g[wa>>2]-X;da=+g[Aa>>2]-C;Aa=Ua;wa=Aa+16|0;ka=+g[wa>>2]-Z;Da=Aa+20|0;fa=+g[Da>>2]-X;Ca=Aa+24|0;T=+g[Ca>>2]-C;G=ba*T-da*fa;z=da*ka-$*T;T=$*fa-ba*ka;ka=+O(+(T*T+(G*G+z*z)));Aa=s+24|0;g[Aa>>2]=ka;z=+g[wa>>2]-Z;G=+g[Da>>2]-X;T=+g[Ca>>2]-C;ba=+g[za>>2]-Z;Z=+g[ua>>2]-X;X=+g[ta>>2]-C;C=G*X-T*Z;fa=T*ba-z*X;X=z*Z-G*ba;ba=+O(+(X*X+(C*C+fa*fa)));fa=ba+(ha+ka);g[Fa>>2]=ha/fa;g[Aa>>2]=ka/fa;g[s+28>>2]=ba/fa;if((c[s>>2]|0)!=9)if(!(c[Ba>>2]|0)){$a=0.0;ab=0.0;bb=0.0;break}else{cb=Ba;La=51;break}else{db=0;eb=0.0;fb=0.0;gb=0.0;hb=0.0;ib=0.0;jb=0.0;kb=0.0;lb=0.0;mb=0.0;break a}}else La=45}else La=45;while(0);if((La|0)==45){c[s>>2]=8;E=s+40|0;g[E>>2]=ma;pa=s+44|0;g[pa>>2]=V;D=s+48|0;g[D>>2]=la;ra=s+52|0;g[ra>>2]=0.0;fa=+O(+(ma*ma+V*V+la*la));if(fa>0.0){ba=1.0/fa;g[E>>2]=ba*ma;g[pa>>2]=ba*V;g[D>>2]=ba*la}else{c[qa>>2]=1065353216;c[pa>>2]=0;c[D>>2]=0}g[ra>>2]=0.0;g[s+56>>2]=0.0;ra=s+36|0;c[ra>>2]=1;c[s+4>>2]=c[sa>>2];g[s+20>>2]=1.0;cb=ra;La=51}if((La|0)==51){ra=t+4|0;D=t+8|0;pa=0;ba=0.0;fa=0.0;ka=0.0;while(1){E=c[na>>2]|0;Ba=c[oa>>2]|0;Aa=(c[b>>2]|0)+(Ba>>1)|0;if(!(Ba&1))nb=E;else nb=c[(c[Aa>>2]|0)+E>>2]|0;ac[nb&63](t,Aa,c[s+4+(pa<<2)>>2]|0);ha=+g[s+20+(pa<<2)>>2];C=ba+ +g[t>>2]*ha;X=ka+ha*+g[ra>>2];G=fa+ha*+g[D>>2];pa=pa+1|0;if(pa>>>0>=(c[cb>>2]|0)>>>0){$a=C;ab=G;bb=X;break}else{ba=C;fa=G;ka=X}}}ka=+g[j>>2];fa=+g[N>>2];ba=+g[U>>2];X=+g[H>>2];G=+g[Q>>2];C=+g[W>>2];ha=+g[L>>2];Z=+g[S>>2];z=+g[Y>>2];T=+g[w>>2];$=+g[y>>2];da=+g[B>>2];M=+g[qa>>2];R=+g[s+56>>2];ob=+g[s+44>>2];pb=+g[s+48>>2];qb=$a-M*R;rb=bb-R*ob;sb=ab-R*pb;db=1;eb=$a*X+bb*G+ab*C+$;fb=$a*ha+bb*Z+ab*z+da;gb=qb*ka+rb*fa+sb*ba+T;hb=qb*X+rb*G+sb*C+$;ib=qb*ha+rb*Z+sb*z+da;jb=-M;kb=-ob;lb=-pb;mb=$a*ka+bb*fa+ab*ba+T}else{db=0;eb=0.0;fb=0.0;gb=0.0;hb=0.0;ib=0.0;jb=0.0;kb=0.0;lb=0.0;mb=0.0}while(0);if(db){g[n>>2]=mb;g[n+4>>2]=eb;g[n+8>>2]=fb;g[n+12>>2]=0.0;g[o>>2]=gb;g[o+4>>2]=hb;g[o+8>>2]=ib;g[o+12>>2]=0.0;g[m>>2]=jb;g[m+4>>2]=kb;g[m+8>>2]=lb;g[m+12>>2]=0.0;tb=1;i=p;return tb|0}c[q>>2]=f;f=q+4|0;c[f>>2]=h;lb=+g[l>>2];kb=+g[j>>2];jb=+g[F>>2];ib=+g[H>>2];hb=+g[J>>2];gb=+g[L>>2];fb=lb*kb+jb*ib+hb*gb;eb=+g[N>>2];mb=+g[Q>>2];ab=+g[S>>2];bb=lb*eb+jb*mb+hb*ab;$a=+g[U>>2];la=+g[W>>2];V=+g[Y>>2];ma=lb*$a+jb*la+hb*V;hb=+g[_>>2];jb=+g[aa>>2];lb=+g[ca>>2];Za=kb*hb+ib*jb+gb*lb;Ya=eb*hb+mb*jb+ab*lb;Xa=$a*hb+la*jb+V*lb;lb=+g[ea>>2];jb=+g[ga>>2];hb=+g[ia>>2];Ta=kb*lb+ib*jb+gb*hb;T=eb*lb+mb*jb+ab*hb;ba=$a*lb+la*jb+V*hb;ia=q+8|0;g[ia>>2]=fb;ga=q+12|0;g[ga>>2]=bb;ea=q+16|0;g[ea>>2]=ma;g[q+20>>2]=0.0;ca=q+24|0;g[ca>>2]=Za;aa=q+28|0;g[aa>>2]=Ya;_=q+32|0;g[_>>2]=Xa;g[q+36>>2]=0.0;J=q+40|0;g[J>>2]=Ta;F=q+44|0;g[F>>2]=T;l=q+48|0;g[l>>2]=ba;g[q+52>>2]=0.0;hb=+g[v>>2]-+g[w>>2];jb=+g[x>>2]-+g[y>>2];lb=+g[A>>2]-+g[B>>2];A=q+56|0;g[A>>2]=fb;x=q+60|0;g[x>>2]=Za;v=q+64|0;g[v>>2]=Ta;g[q+68>>2]=0.0;h=q+72|0;g[h>>2]=bb;db=q+76|0;g[db>>2]=Ya;cb=q+80|0;g[cb>>2]=T;g[q+84>>2]=0.0;t=q+88|0;g[t>>2]=ma;nb=q+92|0;g[nb>>2]=Xa;oa=q+96|0;g[oa>>2]=ba;g[q+100>>2]=0.0;na=q+104|0;g[na>>2]=hb*kb+jb*ib+lb*gb;La=q+108|0;g[La>>2]=hb*eb+jb*mb+lb*ab;Ua=q+112|0;g[Ua>>2]=hb*$a+jb*la+lb*V;g[q+116>>2]=0.0;Wa=q+120|0;c[Wa>>2]=55;Va=q+124|0;c[Va>>2]=0;_a=r+128|0;c[r+364>>2]=0;c[_a>>2]=0;c[_a+4>>2]=0;c[_a+8>>2]=0;c[_a+12>>2]=0;c[r+376>>2]=2;c[r+368>>2]=0;g[r+144>>2]=0.0;if(nr(r,q,u)|0){tb=0;i=p;return tb|0}u=r+372|0;r=c[u>>2]|0;if(!(c[r+32>>2]|0)){ub=0.0;vb=0.0;wb=0.0;xb=0.0;yb=0.0;zb=0.0}else{_a=s+4|0;Qa=s+8|0;Sa=b+4|0;Ra=b+8|0;Pa=b+12|0;Ia=e+4|0;Ha=e+8|0;Ga=r;r=0;V=0.0;lb=0.0;la=0.0;jb=0.0;$a=0.0;hb=0.0;while(1){ab=+g[Ga+16+(r<<2)>>2];pa=c[Wa>>2]|0;D=c[Va>>2]|0;ra=(c[q>>2]|0)+(D>>1)|0;if(!(D&1))Ab=pa;else Ab=c[(c[ra>>2]|0)+pa>>2]|0;ac[Ab&63](s,ra,c[Ga+(r<<2)>>2]|0);mb=V+ab*+g[s>>2];eb=la+ab*+g[_a>>2];gb=lb+ab*+g[Qa>>2];ra=c[(c[u>>2]|0)+(r<<2)>>2]|0;ib=-+g[ra>>2];kb=-+g[ra+4>>2];ba=-+g[ra+8>>2];ra=c[Wa>>2]|0;pa=c[Va>>2]|0;D=(c[f>>2]|0)+(pa>>1)|0;if(!(pa&1))Bb=ra;else Bb=c[(c[D>>2]|0)+ra>>2]|0;Xa=+g[ca>>2]*ib+ +g[aa>>2]*kb+ +g[_>>2]*ba;ma=+g[J>>2]*ib+ +g[F>>2]*kb+ +g[l>>2]*ba;g[b>>2]=+g[ia>>2]*ib+ +g[ga>>2]*kb+ +g[ea>>2]*ba;g[Sa>>2]=Xa;g[Ra>>2]=ma;g[Pa>>2]=0.0;ac[Bb&63](e,D,b);ma=+g[e>>2];Xa=+g[Ia>>2];ba=+g[Ha>>2];kb=jb+ab*(ma*+g[A>>2]+Xa*+g[x>>2]+ba*+g[v>>2]+ +g[na>>2]);ib=hb+ab*(ma*+g[h>>2]+Xa*+g[db>>2]+ba*+g[cb>>2]+ +g[La>>2]);T=$a+ab*(ma*+g[t>>2]+Xa*+g[nb>>2]+ba*+g[oa>>2]+ +g[Ua>>2]);r=r+1|0;Ga=c[u>>2]|0;if(r>>>0>=(c[Ga+32>>2]|0)>>>0){ub=mb;vb=gb;wb=eb;xb=kb;yb=T;zb=ib;break}else{V=mb;lb=gb;la=eb;jb=kb;$a=T;hb=ib}}}hb=+g[j>>2];$a=+g[N>>2];jb=+g[U>>2];la=+g[H>>2];lb=+g[Q>>2];V=+g[W>>2];ib=+g[L>>2];T=+g[S>>2];kb=+g[Y>>2];eb=+g[w>>2];gb=+g[y>>2];mb=+g[B>>2];ba=ub-xb;Xa=wb-zb;ma=vb-yb;ab=+O(+(ba*ba+Xa*Xa+ma*ma));Ya=ab>9.999999747378752e-05?1.0/ab:1.0;g[n>>2]=ub*hb+wb*$a+vb*jb+eb;g[n+4>>2]=ub*la+wb*lb+vb*V+gb;g[n+8>>2]=ub*ib+wb*T+vb*kb+mb;g[n+12>>2]=0.0;g[o>>2]=xb*hb+zb*$a+yb*jb+eb;g[o+4>>2]=xb*la+zb*lb+yb*V+gb;g[o+8>>2]=xb*ib+zb*T+yb*kb+mb;g[o+12>>2]=0.0;g[m>>2]=Ya*ba;g[m+4>>2]=Ya*Xa;g[m+8>>2]=Ya*ma;g[m+12>>2]=0.0;tb=0;i=p;return tb|0}function ip(a){a=a|0;Ur(a);return}function jp(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|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.0,A=0.0,B=0.0,C=0,D=0.0,E=0,F=0.0,G=0,H=0.0,I=0.0,J=0.0,K=0.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,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,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,Qa=0.0,Ra=0.0,Sa=0.0,Ta=0.0,Ua=0.0,Va=0.0,Wa=0.0,Xa=0,Ya=0,Za=0.0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0.0,eb=0.0,fb=0.0,gb=0,hb=0,ib=0.0,jb=0,kb=0.0,lb=0.0,mb=0.0,nb=0,ob=0.0,pb=0.0,qb=0.0,rb=0.0,sb=0.0,tb=0.0,ub=0.0,vb=0.0,wb=0.0,xb=0;h=i;i=i+224|0;j=h+208|0;k=h+144|0;l=h+80|0;m=h+64|0;n=h+48|0;o=h+32|0;p=h+16|0;q=h;r=b+56|0;g[r>>2]=0.0;s=j+4|0;t=j+8|0;u=j+12|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[k>>2]=c[d>>2];c[k+4>>2]=c[d+4>>2];c[k+8>>2]=c[d+8>>2];c[k+12>>2]=c[d+12>>2];v=k+16|0;w=d+16|0;c[v>>2]=c[w>>2];c[v+4>>2]=c[w+4>>2];c[v+8>>2]=c[w+8>>2];c[v+12>>2]=c[w+12>>2];w=k+32|0;v=d+32|0;c[w>>2]=c[v>>2];c[w+4>>2]=c[v+4>>2];c[w+8>>2]=c[v+8>>2];c[w+12>>2]=c[v+12>>2];v=k+48|0;w=d+48|0;c[v>>2]=c[w>>2];c[v+4>>2]=c[w+4>>2];c[v+8>>2]=c[w+8>>2];c[v+12>>2]=c[w+12>>2];w=d+64|0;c[l>>2]=c[w>>2];c[l+4>>2]=c[w+4>>2];c[l+8>>2]=c[w+8>>2];c[l+12>>2]=c[w+12>>2];x=l+16|0;y=d+80|0;c[x>>2]=c[y>>2];c[x+4>>2]=c[y+4>>2];c[x+8>>2]=c[y+8>>2];c[x+12>>2]=c[y+12>>2];y=l+32|0;x=d+96|0;c[y>>2]=c[x>>2];c[y+4>>2]=c[x+4>>2];c[y+8>>2]=c[x+8>>2];c[y+12>>2]=c[x+12>>2];x=l+48|0;y=d+112|0;c[x>>2]=c[y>>2];c[x+4>>2]=c[y+4>>2];c[x+8>>2]=c[y+8>>2];c[x+12>>2]=c[y+12>>2];z=+g[v>>2];A=+g[x>>2];y=k+52|0;B=+g[y>>2];C=l+52|0;D=+g[C>>2];E=k+56|0;F=+g[E>>2];G=l+56|0;H=+g[G>>2];I=(z+A)*.5;J=(B+D)*.5;K=(F+H)*.5;g[v>>2]=z-I;g[y>>2]=B-J;g[E>>2]=F-K;g[x>>2]=A-I;g[C>>2]=D-J;g[G>>2]=H-K;x=b+28|0;v=b+32|0;if(((c[(c[x>>2]|0)+4>>2]|0)+-17|0)>>>0<2)L=((c[(c[v>>2]|0)+4>>2]|0)+-17|0)>>>0<2;else L=0;H=+g[b+44>>2];D=+g[b+48>>2];c[4342]=(c[4342]|0)+1;M=a[b+52>>0]|0;N=b+64|0;c[N>>2]=0;P=b+4|0;c[P>>2]=0;Q=b+8|0;c[Q>>2]=1065353216;R=b+12|0;c[R>>2]=0;S=b+16|0;g[S>>2]=0.0;T=b+68|0;c[T>>2]=0;U=b+60|0;c[U>>2]=-1;V=b+24|0;W=c[V>>2]|0;a[W+312>>0]=0;c[W>>2]=0;a[W+356>>0]=1;c[W+292>>2]=1566444395;c[W+296>>2]=1566444395;c[W+300>>2]=1566444395;g[W+304>>2]=0.0;X=W+336|0;Y=W+332|0;c[X>>2]=0;c[X+4>>2]=0;c[X+8>>2]=0;c[X+12>>2]=0;a[X+16>>0]=0;a[Y>>0]=a[Y>>0]&-16;Y=d+16|0;X=d+32|0;W=d+4|0;Z=d+20|0;_=d+36|0;$=d+8|0;aa=d+24|0;ba=d+40|0;ca=m+4|0;da=m+8|0;ea=m+12|0;fa=d+80|0;ga=d+96|0;ha=d+68|0;ia=d+84|0;ja=d+100|0;ka=d+72|0;la=d+88|0;ma=d+104|0;na=n+4|0;oa=n+8|0;pa=n+12|0;qa=o+4|0;ra=k+4|0;sa=o+8|0;ta=k+8|0;ua=k+16|0;va=k+20|0;wa=k+24|0;xa=k+32|0;ya=k+36|0;za=k+40|0;Aa=k+48|0;Ba=p+4|0;Ca=l+4|0;Da=p+8|0;Ea=l+8|0;Fa=l+16|0;Ga=l+20|0;Ha=l+24|0;Ia=l+32|0;Ja=l+36|0;Ka=l+40|0;La=l+48|0;Ma=d+128|0;Na=b+4|0;Oa=0;A=999999984306749440.0;while(1){F=+g[P>>2];B=-F;z=+g[Q>>2];Pa=-z;Qa=+g[R>>2];Ra=-Qa;Sa=+g[W>>2]*B+ +g[Z>>2]*Pa+ +g[_>>2]*Ra;Ta=+g[$>>2]*B+ +g[aa>>2]*Pa+ +g[ba>>2]*Ra;g[m>>2]=+g[d>>2]*B+ +g[Y>>2]*Pa+ +g[X>>2]*Ra;g[ca>>2]=Sa;g[da>>2]=Ta;g[ea>>2]=0.0;Ta=F*+g[ha>>2]+z*+g[ia>>2]+Qa*+g[ja>>2];Sa=F*+g[ka>>2]+z*+g[la>>2]+Qa*+g[ma>>2];g[n>>2]=+g[w>>2]*F+ +g[fa>>2]*z+ +g[ga>>2]*Qa;g[na>>2]=Ta;g[oa>>2]=Sa;g[pa>>2]=0.0;tn(o,c[x>>2]|0,m);tn(p,c[v>>2]|0,n);Sa=+g[o>>2];Ta=+g[qa>>2];Qa=+g[sa>>2];z=Sa*+g[k>>2]+Ta*+g[ra>>2]+Qa*+g[ta>>2]+ +g[Aa>>2];F=Sa*+g[ua>>2]+Ta*+g[va>>2]+Qa*+g[wa>>2]+ +g[y>>2];Ra=Sa*+g[xa>>2]+Ta*+g[ya>>2]+Qa*+g[za>>2]+ +g[E>>2];Qa=+g[p>>2];Ta=+g[Ba>>2];Sa=+g[Da>>2];Pa=Qa*+g[l>>2]+Ta*+g[Ca>>2]+Sa*+g[Ea>>2]+ +g[La>>2];B=Qa*+g[Fa>>2]+Ta*+g[Ga>>2]+Sa*+g[Ha>>2]+ +g[C>>2];Ua=Qa*+g[Ia>>2]+Ta*+g[Ja>>2]+Sa*+g[Ka>>2]+ +g[G>>2];Sa=L?0.0:Ua;Ta=L?0.0:Ra;Qa=z-Pa;Va=F-B;Wa=(L?0.0:Ra)-(L?0.0:Ua);Ua=+g[P>>2]*Qa+ +g[Q>>2]*Va+ +g[R>>2]*Wa;if(Ua>0.0?Ua*Ua>A*+g[Ma>>2]:0){c[T>>2]=10;Xa=0;Ya=1;Za=A}else _a=7;do if((_a|0)==7){_a=0;$a=c[V>>2]|0;ab=c[$a>>2]|0;if((ab|0)>0){Ra=+g[$a+308>>2];bb=0;cb=0;while(1){db=Qa-+g[$a+4+(cb<<4)>>2];eb=Va-+g[$a+4+(cb<<4)+4>>2];fb=Wa-+g[$a+4+(cb<<4)+8>>2];gb=bb|db*db+eb*eb+fb*fb<=Ra;cb=cb+1|0;if((cb|0)==(ab|0)){hb=gb;break}else bb=gb}}else hb=0;bb=$a+304|0;if((+g[bb>>2]==0.0?Wa==+g[$a+300>>2]:0)?Va==+g[$a+296>>2]:0){if(Qa==+g[$a+292>>2]|hb)_a=15}else _a=14;if((_a|0)==14?(_a=0,hb):0)_a=15;if((_a|0)==15){_a=0;c[T>>2]=1;Xa=0;Ya=1;Za=A;break}Ra=A-Ua;if(Ra<=A*9.999999974752427e-07){c[T>>2]=!(Ra<=0.0)?11:2;Xa=0;Ya=1;Za=A;break}g[$a+292>>2]=Qa;g[$a+296>>2]=Va;g[$a+300>>2]=Wa;g[bb>>2]=0.0;a[$a+356>>0]=1;g[$a+4+(ab<<4)>>2]=Qa;g[$a+4+(ab<<4)+4>>2]=Va;g[$a+4+(ab<<4)+8>>2]=Wa;g[$a+4+(ab<<4)+12>>2]=0.0;bb=c[$a>>2]|0;g[$a+84+(bb<<4)>>2]=z;g[$a+84+(bb<<4)+4>>2]=F;g[$a+84+(bb<<4)+8>>2]=Ta;g[$a+84+(bb<<4)+12>>2]=0.0;bb=c[$a>>2]|0;g[$a+164+(bb<<4)>>2]=Pa;g[$a+164+(bb<<4)+4>>2]=B;g[$a+164+(bb<<4)+8>>2]=Sa;g[$a+164+(bb<<4)+12>>2]=0.0;c[$a>>2]=(c[$a>>2]|0)+1;bb=c[V>>2]|0;cb=Hp(bb)|0;Ra=+g[bb+276>>2];fb=+g[bb+280>>2];eb=+g[bb+284>>2];gb=c[bb+288>>2]|0;if(!cb){c[T>>2]=3;Xa=0;Ya=1;Za=A;break}db=Ra*Ra+fb*fb+eb*eb;if(db<9.999999974752427e-07){g[Na>>2]=Ra;g[Q>>2]=fb;g[R>>2]=eb;c[S>>2]=gb;c[T>>2]=6;Xa=0;Ya=1;Za=A;break}if(A-db<=A*1.1920928955078125e-07){c[T>>2]=12;Xa=0;Ya=1;Za=db;break}g[Na>>2]=Ra;g[Q>>2]=fb;g[R>>2]=eb;c[S>>2]=gb;gb=c[N>>2]|0;c[N>>2]=gb+1;if((gb|0)<=1e3)if((c[c[V>>2]>>2]|0)==4){c[T>>2]=13;Xa=0;Ya=Oa;Za=db}else{Xa=1;Ya=Oa;Za=db}else{Xa=0;Ya=Oa;Za=db}}while(0);if(Xa){Oa=Ya;A=Za}else break}Oa=M<<24>>24==0;A=Oa?D:0.0;D=(Oa?H:0.0)+A;do if(Ya){Oa=c[V>>2]|0;Hp(Oa)|0;H=+g[Oa+260>>2];Sa=+g[Oa+264>>2];B=+g[Oa+268>>2];c[j>>2]=c[P>>2];c[j+4>>2]=c[P+4>>2];c[j+8>>2]=c[P+8>>2];c[j+12>>2]=c[P+12>>2];Pa=+g[P>>2];Ta=+g[Q>>2];F=+g[R>>2];z=Pa*Pa+Ta*Ta+F*F;if(z<.0001)c[T>>2]=5;if(z>1.4210854715202004e-14){Wa=1.0/+O(+z);g[j>>2]=Wa*+g[j>>2];g[s>>2]=Wa*+g[s>>2];g[t>>2]=Wa*+g[t>>2];z=A/+O(+Za);c[U>>2]=1;ib=1.0/Wa-D;jb=1;kb=z*Pa+H;lb=z*Ta+Sa;mb=z*F+B;break}else{c[U>>2]=2;ib=0.0;jb=0;kb=H;lb=Sa;mb=B;break}}else{ib=0.0;jb=0;kb=0.0;lb=0.0;mb=0.0}while(0);if(((c[b+72>>2]|0)!=0?(c[b+20>>2]|0)!=0:0)?(c[T>>2]|0)!=0:0)nb=D+ib<.01;else nb=0;T=jb^1;do if(nb|T?(Ya=c[b+20>>2]|0,(Ya|0)!=0):0){c[4341]=(c[4341]|0)+1;c[P>>2]=0;c[P+4>>2]=0;c[P+8>>2]=0;c[P+12>>2]=0;if(yb[c[(c[Ya>>2]|0)+8>>2]&1](Ya,c[V>>2]|0,c[x>>2]|0,c[v>>2]|0,k,l,P,m,n,f)|0){Za=+g[n>>2];B=+g[m>>2];Sa=Za-B;H=+g[n+4>>2];F=+g[m+4>>2];z=H-F;Ta=+g[n+8>>2];Pa=+g[m+8>>2];Wa=Ta-Pa;Va=Sa*Sa+z*z+Wa*Wa;if(!(Va<=1.4210854715202004e-14)){ob=Va;pb=Sa;qb=Wa;rb=0.0;sb=z}else{z=+g[Na>>2];Wa=+g[Q>>2];Sa=+g[R>>2];ob=z*z+Wa*Wa+Sa*Sa;pb=z;qb=Sa;rb=+g[S>>2];sb=Wa}if(ob>1.4210854715202004e-14){Wa=1.0/+O(+ob);Sa=B-Za;B=F-H;F=Pa-Ta;Pa=-+O(+(Sa*Sa+B*B+F*F));if(ib>Pa|T){g[j>>2]=pb*Wa;g[s>>2]=sb*Wa;g[t>>2]=qb*Wa;g[u>>2]=rb;c[U>>2]=3;tb=Pa;ub=Za;vb=H;wb=Ta;break}else xb=8}else xb=9;c[U>>2]=xb;if(jb){tb=ib;ub=kb;vb=lb;wb=mb;break}i=h;return}else{Ta=+g[P>>2];H=+g[Q>>2];Za=+g[R>>2];if(!(Ta*Ta+H*H+Za*Za>0.0)){if(jb){tb=ib;ub=kb;vb=lb;wb=mb;break}i=h;return}Pa=+g[n>>2];Wa=+g[m>>2]-Pa;F=+g[n+4>>2];B=+g[m+4>>2]-F;Sa=+g[n+8>>2];z=+g[m+8>>2]-Sa;Va=+O(+(Wa*Wa+B*B+z*z))-D;if(Va<ib|T){c[j>>2]=c[P>>2];c[j+4>>2]=c[P+4>>2];c[j+8>>2]=c[P+8>>2];c[j+12>>2]=c[P+12>>2];z=+g[j>>2];B=+g[s>>2];Wa=+g[t>>2];Qa=1.0/+O(+(z*z+B*B+Wa*Wa));g[j>>2]=z*Qa;g[s>>2]=B*Qa;g[t>>2]=Wa*Qa;c[U>>2]=6;tb=Va;ub=A*Ta+Pa;vb=A*H+F;wb=A*Za+Sa;break}c[U>>2]=5;if(jb){tb=ib;ub=kb;vb=lb;wb=mb;break}i=h;return}}else _a=52;while(0);if((_a|0)==52)if(jb){tb=ib;ub=kb;vb=lb;wb=mb}else{i=h;return}if(!(tb<0.0)?!(tb*tb<+g[Ma>>2]):0){i=h;return};c[P>>2]=c[j>>2];c[P+4>>2]=c[j+4>>2];c[P+8>>2]=c[j+8>>2];c[P+12>>2]=c[j+12>>2];g[r>>2]=tb;r=c[(c[e>>2]|0)+16>>2]|0;g[q>>2]=I+ub;g[q+4>>2]=J+vb;g[q+8>>2]=K+wb;g[q+12>>2]=0.0;$b[r&7](e,j,q,tb);i=h;return}function kp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,l=0.0,m=0.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,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0,Y=0,Z=0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0.0,qa=0.0,ra=0.0,sa=0.0,ta=0.0,ua=0.0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0.0;d=a+748|0;e=c[d>>2]|0;if((e|0)!=4){c[d>>2]=e+1;f=e;h=(f|0)<0;i=h?0:f;j=a+4+(i*184|0)|0;Gs(j|0,b|0,184)|0;return i|0}l=+g[b+80>>2];m=+g[a+84>>2];e=m<l;n=e?m:l;l=+g[a+268>>2];d=l<n;m=d?l:n;n=+g[a+452>>2];o=n<m;p=+g[a+636>>2]<(o?n:m);q=p?3:o?2:d?1:(e^1)<<31>>31;m=+g[b>>2];if(q){n=+g[a+188>>2];l=m-n;r=+g[b+4>>2];s=+g[a+192>>2];t=r-s;u=+g[b+8>>2];v=+g[a+196>>2];w=u-v;x=+g[a+556>>2];y=+g[a+372>>2];z=x-y;A=+g[a+560>>2];B=+g[a+376>>2];C=A-B;D=+g[a+564>>2];E=+g[a+380>>2];F=D-E;G=t*F-w*C;H=w*z-l*F;F=l*C-t*z;e=(g[k>>2]=F*F+(G*G+H*H),c[k>>2]|0);if((q|0)==1){I=r;J=+g[a+12>>2];K=u;L=n;M=x;O=s;P=A;Q=v;R=D;S=E;T=B;U=y;V=+g[a+4>>2];W=+g[a+8>>2];X=e;Y=0;Z=7}else{_=n;$=s;aa=v;ba=r;ca=u;da=y;ea=x;fa=B;ga=A;ha=E;ia=D;ja=e;Z=6}}else{_=+g[a+188>>2];$=+g[a+192>>2];aa=+g[a+196>>2];ba=+g[b+4>>2];ca=+g[b+8>>2];da=+g[a+372>>2];ea=+g[a+556>>2];fa=+g[a+376>>2];ga=+g[a+560>>2];ha=+g[a+380>>2];ia=+g[a+564>>2];ja=0;Z=6}if((Z|0)==6){D=+g[a+4>>2];E=m-D;A=+g[a+8>>2];B=ba-A;x=+g[a+12>>2];y=ca-x;u=ea-da;r=ga-fa;v=ia-ha;s=B*v-y*r;n=y*u-E*v;v=E*r-B*u;e=(g[k>>2]=v*v+(s*s+n*n),c[k>>2]|0);if((q|0)==2){ka=D;la=A;ma=ba;na=x;oa=ca;pa=_;qa=da;ra=$;sa=fa;ta=aa;ua=ha;va=ja;wa=e;xa=0;Z=8}else{I=ba;J=x;K=ca;L=_;M=ea;O=$;P=ga;Q=aa;R=ia;S=ha;T=fa;U=da;V=D;W=A;X=ja;Y=e;Z=7}}if((Z|0)==7){A=m-V;D=I-W;da=K-J;fa=M-L;M=P-O;P=R-Q;R=D*P-da*M;ha=da*fa-A*P;P=A*M-D*fa;e=(g[k>>2]=P*P+(R*R+ha*ha),c[k>>2]|0);if(p){ya=X;za=Y;Aa=e;Ba=0.0}else{ka=V;la=W;ma=I;na=J;oa=K;pa=L;qa=U;ra=O;sa=T;ta=Q;ua=S;va=X;wa=Y;xa=e;Z=8}}if((Z|0)==8){S=m-ka;ka=ma-la;la=oa-na;na=qa-pa;pa=sa-ra;ra=ua-ta;ta=ka*ra-la*pa;ua=la*na-S*ra;ra=S*pa-ka*na;ya=va;za=wa;Aa=xa;Ba=ra*ra+(ta*ta+ua*ua)}ua=+N(+(c[k>>2]=ya,+g[k>>2]));ta=+N(+(c[k>>2]=za,+g[k>>2]));ra=+N(+(c[k>>2]=Aa,+g[k>>2]));na=+N(+Ba);Aa=ua>-999999984306749440.0;Ba=Aa?ua:-999999984306749440.0;za=ta>Ba;ua=za?ta:Ba;ya=ra>ua;f=na>(ya?ra:ua)?3:ya?2:za?1:(Aa^1)<<31>>31;h=(f|0)<0;i=h?0:f;j=a+4+(i*184|0)|0;Gs(j|0,b|0,184)|0;return i|0}function lp(b,d,e){b=b|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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0,P=0,Q=0,R=0;f=b+748|0;h=c[f>>2]|0;if((h|0)<=0)return;i=d+4|0;j=d+8|0;k=d+16|0;l=d+20|0;m=d+24|0;n=d+32|0;o=d+36|0;p=d+40|0;q=d+48|0;r=d+52|0;s=d+56|0;t=e+4|0;u=e+8|0;v=e+16|0;w=e+20|0;x=e+24|0;y=e+32|0;z=e+36|0;A=e+40|0;B=e+48|0;C=e+52|0;D=e+56|0;E=h;do{h=E;E=E+-1|0;F=+g[b+4+(E*184|0)>>2];G=+g[b+4+(E*184|0)+4>>2];H=+g[b+4+(E*184|0)+8>>2];I=F*+g[d>>2]+G*+g[i>>2]+H*+g[j>>2]+ +g[q>>2];J=F*+g[k>>2]+G*+g[l>>2]+H*+g[m>>2]+ +g[r>>2];K=F*+g[n>>2]+G*+g[o>>2]+H*+g[p>>2]+ +g[s>>2];g[b+4+(E*184|0)+48>>2]=I;g[b+4+(E*184|0)+52>>2]=J;g[b+4+(E*184|0)+56>>2]=K;g[b+4+(E*184|0)+60>>2]=0.0;H=+g[b+4+(E*184|0)+16>>2];G=+g[b+4+(E*184|0)+20>>2];F=+g[b+4+(E*184|0)+24>>2];L=H*+g[e>>2]+G*+g[t>>2]+F*+g[u>>2]+ +g[B>>2];M=H*+g[v>>2]+G*+g[w>>2]+F*+g[x>>2]+ +g[C>>2];N=H*+g[y>>2]+G*+g[z>>2]+F*+g[A>>2]+ +g[D>>2];g[b+4+(E*184|0)+32>>2]=L;g[b+4+(E*184|0)+36>>2]=M;g[b+4+(E*184|0)+40>>2]=N;g[b+4+(E*184|0)+44>>2]=0.0;g[b+4+(E*184|0)+80>>2]=(I-L)*+g[b+4+(E*184|0)+64>>2]+(J-M)*+g[b+4+(E*184|0)+68>>2]+(K-N)*+g[b+4+(E*184|0)+72>>2];O=b+4+(E*184|0)+148|0;c[O>>2]=(c[O>>2]|0)+1}while((h|0)>1);E=c[f>>2]|0;if((E|0)<=0)return;D=b+752|0;A=E;z=E;while(1){E=z;z=z+-1|0;y=b+4+(z*184|0)|0;N=+g[b+4+(z*184|0)+80>>2];K=+g[D>>2];if(N<=K){M=+g[b+4+(z*184|0)+32>>2]-(+g[b+4+(z*184|0)+48>>2]-+g[b+4+(z*184|0)+64>>2]*N);J=+g[b+4+(z*184|0)+36>>2]-(+g[b+4+(z*184|0)+52>>2]-N*+g[b+4+(z*184|0)+68>>2]);L=+g[b+4+(z*184|0)+40>>2]-(+g[b+4+(z*184|0)+56>>2]-N*+g[b+4+(z*184|0)+72>>2]);if(M*M+J*J+L*L>K*K){C=A+-1|0;if((C|0)==(z|0))P=A;else{Gs(y|0,b+4+(C*184|0)|0,184)|0;c[b+4+(C*184|0)+112>>2]=0;g[b+4+(C*184|0)+120>>2]=0.0;a[b+4+(C*184|0)+116>>0]=0;g[b+4+(C*184|0)+124>>2]=0.0;g[b+4+(C*184|0)+128>>2]=0.0;c[b+4+(C*184|0)+148>>2]=0;P=c[f>>2]|0}C=P+-1|0;c[f>>2]=C;Q=C}else Q=A}else{C=A+-1|0;if((C|0)==(z|0))R=A;else{Gs(y|0,b+4+(C*184|0)|0,184)|0;c[b+4+(C*184|0)+112>>2]=0;g[b+4+(C*184|0)+120>>2]=0.0;a[b+4+(C*184|0)+116>>0]=0;g[b+4+(C*184|0)+124>>2]=0.0;g[b+4+(C*184|0)+128>>2]=0.0;c[b+4+(C*184|0)+148>>2]=0;R=c[f>>2]|0}C=R+-1|0;c[f>>2]=C;Q=C}if((E|0)<=1)break;else A=Q}return}function mp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=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.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0,C=0.0,D=0.0,E=0.0,F=0.0,G=0,H=0,I=0,J=0.0,K=0.0;f=i;i=i+32|0;h=f+16|0;j=f;k=+g[b+16>>2];l=+g[b>>2];m=k-l;n=+g[b+20>>2];o=+g[b+4>>2];p=n-o;q=+g[b+24>>2];r=+g[b+8>>2];s=q-r;t=+g[b+32>>2];u=t-l;v=+g[b+36>>2];w=v-o;x=+g[b+40>>2];y=x-r;z=p*y-s*w;A=s*u-m*y;y=m*w-p*u;g[h>>2]=z;b=h+4|0;g[b>>2]=A;B=h+8|0;g[B>>2]=y;g[h+12>>2]=0.0;u=l*z+o*A+r*y;p=+g[a+4>>2];w=+g[a+8>>2];m=+g[a+12>>2];s=z*p+A*w+y*m-u;C=+g[a+20>>2];D=+g[a+24>>2];E=+g[a+28>>2];F=z*C+A*D+y*E-u;if(s*F>=0.0){i=f;return}G=c[a+36>>2]|0;H=s<=0.0;if(H&(G&1|0)!=0){i=f;return}u=s/(s-F);I=a+40|0;if(!(u<+g[I>>2])){i=f;return}F=z*z+A*A+y*y;s=F*-9.999999747378752e-05;J=1.0-u;K=C*u+p*J;p=D*u+w*J;w=E*u+m*J;J=l-K;l=o-p;o=r-w;r=k-K;k=n-p;n=q-w;if(!(y*(J*k-l*r)+(z*(l*n-o*k)+A*(o*r-J*n))>=s)){i=f;return}q=t-K;K=v-p;p=x-w;if(!(y*(r*K-k*q)+(z*(k*p-n*K)+A*(n*q-r*p))>=s)){i=f;return}if(!(y*(l*q-J*K)+(z*(o*K-l*p)+A*(J*p-o*q))>=s)){i=f;return}s=1.0/+O(+F);F=z*s;g[h>>2]=F;z=A*s;g[b>>2]=z;A=y*s;g[B>>2]=A;B=c[(c[a>>2]|0)+12>>2]|0;if(H&(G&2|0)==0){g[j>>2]=-F;g[j+4>>2]=-z;g[j+8>>2]=-A;g[j+12>>2]=0.0;g[I>>2]=+Yb[B&3](a,j,u,d,e);i=f;return}else{g[I>>2]=+Yb[B&3](a,h,u,d,e);i=f;return}}function np(a){a=a|0;Ur(a);return}function op(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0;h=i;i=i+688|0;j=h+568|0;k=h+208|0;l=h+200|0;m=h+176|0;n=h;o=d+16|0;p=d+32|0;c[j+8>>2]=0;c[j+12>>2]=-1;c[j+16>>2]=1065353216;c[j+20>>2]=1065353216;c[j+24>>2]=1065353216;g[j+28>>2]=0.0;q=j+56|0;c[q>>2]=0;c[j>>2]=5992;r=j+60|0;c[j+4>>2]=1;c[r>>2]=c[d>>2];c[r+4>>2]=c[d+4>>2];c[r+8>>2]=c[d+8>>2];c[r+12>>2]=c[d+12>>2];d=j+76|0;c[d>>2]=c[o>>2];c[d+4>>2]=c[o+4>>2];c[d+8>>2]=c[o+8>>2];c[d+12>>2]=c[o+12>>2];o=j+92|0;c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2];c[j+48>>2]=c[b+204>>2];g[k+308>>2]=9.999999747378752e-05;a[k+332>>0]=0;c[l>>2]=5924;p=c[b+4>>2]|0;c[m>>2]=5856;c[m+4>>2]=k;c[m+8>>2]=l;c[m+12>>2]=p;c[m+16>>2]=j;c[m+20>>2]=0;c[n>>2]=3840;p=n+164|0;c[n+168>>2]=0;g[p>>2]=1.0;c[n+172>>2]=c[b+208>>2];l=b+136|0;if((Yo(m,b+8|0,b+72|0,l,l,n)|0?(l=n+132|0,s=+g[l>>2],m=n+136|0,t=+g[m>>2],k=n+140|0,u=+g[k>>2],v=s*s+t*t+u*u,v>9.999999747378752e-05):0)?(w=+g[p>>2],w<+g[b+200>>2]):0){x=1.0/+O(+v);g[l>>2]=s*x;g[m>>2]=t*x;g[k>>2]=u*x;+Mb[c[(c[b>>2]|0)+12>>2]&3](b,l,n+148|0,w,e,f)}c[j>>2]=5432;j=c[q>>2]|0;if(!j){i=h;return}vb[c[c[j>>2]>>2]&255](j);j=c[q>>2]|0;if(!j){i=h;return}c[4351]=(c[4351]|0)+1;Ur(c[j+-4>>2]|0);i=h;return}function pp(a){a=a|0;var b=0,d=0;c[a>>2]=5432;b=a+56|0;d=c[b>>2]|0;if(d|0?(vb[c[c[d>>2]>>2]&255](d),d=c[b>>2]|0,d|0):0){c[4351]=(c[4351]|0)+1;Ur(c[d+-4>>2]|0)}c[4351]=(c[4351]|0)+1;Ur(c[a+-4>>2]|0);return}function qp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;ec[c[(c[a>>2]|0)+80>>2]&63](a,b,d,e);return}function rp(a,b,d){a=a|0;b=+b;d=d|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;return}function sp(a){a=a|0;return 12405}function tp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;e=+g[d>>2];f=+g[d+4>>2];h=+g[d+8>>2];i=e*+g[b+60>>2]+f*+g[b+64>>2]+h*+g[b+68>>2];j=e*+g[b+76>>2]+f*+g[b+80>>2]+h*+g[b+84>>2];k=e*+g[b+92>>2]+f*+g[b+96>>2]+h*+g[b+100>>2];d=b+60+((i<j?(j<k?2:1):i<k?2:0)<<4)|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];return}function up(a,b,d,e){a=a|0;b=b|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.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0;if((e|0)<=0)return;f=a+60|0;h=a+64|0;i=a+68|0;j=a+76|0;k=a+80|0;l=a+84|0;m=a+92|0;n=a+96|0;o=a+100|0;p=0;do{q=+g[b+(p<<4)>>2];r=+g[b+(p<<4)+4>>2];s=+g[b+(p<<4)+8>>2];t=q*+g[f>>2]+r*+g[h>>2]+s*+g[i>>2];u=q*+g[j>>2]+r*+g[k>>2]+s*+g[l>>2];v=q*+g[m>>2]+r*+g[n>>2]+s*+g[o>>2];w=d+(p<<4)|0;x=a+60+((t<u?(u<v?2:1):t<v?2:0)<<4)|0;c[w>>2]=c[x>>2];c[w+4>>2]=c[x+4>>2];c[w+8>>2]=c[x+8>>2];c[w+12>>2]=c[x+12>>2];p=p+1|0}while((p|0)!=(e|0));return}function vp(a){a=a|0;return 2}function wp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0;d=+g[a+60>>2];e=+g[a+76>>2]-d;f=+g[a+64>>2];h=+g[a+80>>2]-f;i=+g[a+68>>2];j=+g[a+84>>2]-i;k=+g[a+92>>2]-d;d=+g[a+96>>2]-f;f=+g[a+100>>2]-i;i=h*f-j*d;l=j*k-e*f;f=e*d-h*k;a=c+4|0;m=c+8|0;g[c+12>>2]=0.0;k=1.0/+O(+(f*f+(i*i+l*l)));h=i*k;g[c>>2]=h;i=l*k;g[a>>2]=i;l=f*k;g[m>>2]=l;if(!b)return;g[c>>2]=-h;g[a>>2]=-i;g[m>>2]=-l;return}function xp(a){a=a|0;return 3}function yp(a){a=a|0;return 3}function zp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;ac[c[(c[a>>2]|0)+108>>2]&63](a,b,d);ac[c[(c[a>>2]|0)+108>>2]&63](a,(b+1|0)%3|0,e);return}function Ap(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+60+(b<<4)|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];return}function Bp(a){a=a|0;return 1}function Cp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;ec[c[(c[a>>2]|0)+124>>2]&63](a,e,b,d);return}function Dp(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=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.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;e=i;i=i+32|0;f=e+16|0;h=e;j=+g[a+60>>2];k=+g[a+76>>2]-j;l=+g[a+64>>2];m=+g[a+80>>2]-l;n=+g[a+68>>2];o=+g[a+84>>2]-n;p=+g[a+92>>2]-j;q=+g[a+96>>2]-l;r=+g[a+100>>2]-n;s=m*r-o*q;t=o*p-k*r;r=k*q-m*p;p=1.0/+O(+(r*r+(s*s+t*t)));m=p*s;s=p*t;t=r*p;u=b+4|0;v=b+8|0;p=t*+g[v>>2]+(+g[b>>2]*m+ +g[u>>2]*s)-(m*j+s*l+t*n);n=-d;if(!(p>=n)|!(p<=d)){w=0;i=e;return w|0}x=h+4|0;y=f+4|0;z=h+8|0;A=f+8|0;B=0;while(1){ec[c[(c[a>>2]|0)+104>>2]&63](a,B,f,h);d=+g[f>>2];p=+g[h>>2]-d;l=+g[y>>2];j=+g[x>>2]-l;r=+g[A>>2];q=+g[z>>2]-r;k=t*j-s*q;o=m*q-t*p;q=s*p-m*j;j=1.0/+O(+(q*q+(k*k+o*o)));p=j*k;k=j*o;o=q*j;B=B+1|0;if(o*+g[v>>2]+(+g[b>>2]*p+ +g[u>>2]*k)-(r*o+(d*p+l*k))<n){w=0;C=5;break}if((B|0)>=3){w=1;C=5;break}}if((C|0)==5){i=e;return w|0}return 0}function Ep(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0;f=+g[a+60>>2];h=+g[a+76>>2]-f;i=+g[a+64>>2];j=+g[a+80>>2]-i;k=+g[a+68>>2];l=+g[a+84>>2]-k;m=+g[a+92>>2]-f;f=+g[a+96>>2]-i;i=+g[a+100>>2]-k;k=j*i-l*f;n=l*m-h*i;i=h*f-j*m;g[d+12>>2]=0.0;m=1.0/+O(+(i*i+(k*k+n*n)));g[d>>2]=k*m;g[d+4>>2]=n*m;g[d+8>>2]=i*m;d=a+60|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];return}function Fp(a){a=a|0;Ur(a);return}function Gp(b,d,e,f,h,j){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var 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.0,z=0,A=0.0,B=0,C=0.0,D=0,E=0,F=0.0,G=0,H=0,I=0.0,J=0,K=0.0,L=0.0,M=0,N=0.0,P=0,Q=0.0,R=0,S=0.0,T=0,U=0.0,V=0,W=0.0,X=0,Y=0.0,Z=0,_=0.0,$=0,aa=0.0,ba=0.0,ca=0,da=0.0,ea=0,fa=0.0,ga=0,ha=0.0,ia=0,ja=0.0,ka=0,la=0.0,ma=0,na=0.0,oa=0,pa=0.0,qa=0,ra=0.0,sa=0.0,ta=0.0,ua=0.0,va=0,wa=0,xa=0,ya=0.0,za=0.0,Aa=0.0,Ba=0.0,Ca=0.0,Da=0.0,Ea=0.0,Fa=0.0,Ga=0.0,Ha=0.0,Ia=0.0,Ja=0.0,Ka=0.0,La=0.0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0.0,Ra=0.0,Sa=0.0,Ta=0.0,Ua=0.0,Va=0.0,Wa=0.0,Xa=0.0,Ya=0.0,Za=0.0,_a=0,$a=0,ab=0.0,bb=0.0,cb=0.0,db=0.0,eb=0.0,fb=0.0,gb=0.0,hb=0.0,ib=0.0,jb=0,kb=0,lb=0,mb=0,nb=0.0,ob=0,pb=0,qb=0.0,rb=0.0,sb=0.0;l=i;i=i+128|0;m=l+112|0;n=l+96|0;o=l+80|0;p=l+64|0;q=l+48|0;r=l+32|0;s=l+16|0;t=l;u=b+4|0;v=c[u>>2]|0;a[v+312>>0]=0;c[v>>2]=0;a[v+356>>0]=1;c[v+292>>2]=1566444395;c[v+296>>2]=1566444395;c[v+300>>2]=1566444395;g[v+304>>2]=0.0;w=v+336|0;x=v+332|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;a[w+16>>0]=0;a[x>>0]=a[x>>0]&-16;x=e+48|0;w=d+48|0;y=+g[w>>2];v=e+52|0;z=d+52|0;A=+g[z>>2];B=e+56|0;e=d+56|0;C=+g[e>>2];D=h+48|0;E=f+48|0;F=+g[E>>2];G=h+52|0;H=f+52|0;I=+g[H>>2];J=h+56|0;h=f+56|0;K=+g[h>>2];L=+g[d>>2];M=d+4|0;N=+g[M>>2];P=d+8|0;Q=+g[P>>2];R=d+16|0;S=+g[R>>2];T=d+20|0;U=+g[T>>2];V=d+24|0;W=+g[V>>2];X=d+32|0;Y=+g[X>>2];Z=d+36|0;_=+g[Z>>2];$=d+40|0;aa=+g[$>>2];ba=+g[f>>2];ca=f+4|0;da=+g[ca>>2];ea=f+8|0;fa=+g[ea>>2];ga=f+16|0;ha=+g[ga>>2];ia=f+20|0;ja=+g[ia>>2];ka=f+24|0;la=+g[ka>>2];ma=f+32|0;na=+g[ma>>2];oa=f+36|0;pa=+g[oa>>2];qa=f+40|0;ra=+g[qa>>2];sa=+g[x>>2]-y-(+g[D>>2]-F);ta=+g[v>>2]-A-(+g[G>>2]-I);ua=+g[B>>2]-C-(+g[J>>2]-K);va=b+8|0;wa=c[va>>2]|0;xa=c[(c[wa>>2]|0)+64>>2]|0;ya=-sa;za=-ta;Aa=-ua;g[n>>2]=L*ya+S*za+Y*Aa;g[n+4>>2]=N*ya+U*za+_*Aa;g[n+8>>2]=Q*ya+W*za+aa*Aa;g[n+12>>2]=0.0;ac[xa&63](m,wa,n);Aa=+g[m>>2];za=+g[m+4>>2];ya=+g[m+8>>2];Ba=Aa*+g[d>>2]+za*+g[M>>2]+ya*+g[P>>2]+ +g[w>>2];Ca=Aa*+g[R>>2]+za*+g[T>>2]+ya*+g[V>>2]+ +g[z>>2];Da=Aa*+g[X>>2]+za*+g[Z>>2]+ya*+g[$>>2]+ +g[e>>2];$=b+12|0;b=c[$>>2]|0;Z=c[(c[b>>2]|0)+64>>2]|0;ya=sa*+g[ca>>2]+ta*+g[ia>>2]+ua*+g[oa>>2];za=sa*+g[ea>>2]+ta*+g[ka>>2]+ua*+g[qa>>2];g[p>>2]=sa*+g[f>>2]+ta*+g[ga>>2]+ua*+g[ma>>2];g[p+4>>2]=ya;g[p+8>>2]=za;g[p+12>>2]=0.0;ac[Z&63](o,b,p);za=+g[o>>2];ya=+g[o+4>>2];Aa=+g[o+8>>2];Ea=Ba-(za*+g[f>>2]+ya*+g[ca>>2]+Aa*+g[ea>>2]+ +g[E>>2]);Ba=Ca-(za*+g[ga>>2]+ya*+g[ia>>2]+Aa*+g[ka>>2]+ +g[H>>2]);Ca=Da-(za*+g[ma>>2]+ya*+g[oa>>2]+Aa*+g[qa>>2]+ +g[h>>2]);a:do if(Ea*Ea+Ba*Ba+Ca*Ca>9.999999747378752e-05){qa=r+4|0;oa=r+8|0;ma=r+12|0;ka=q+4|0;ia=q+8|0;ga=t+4|0;ea=t+8|0;ca=t+12|0;f=s+4|0;o=s+8|0;Aa=y;ya=A;za=C;Da=F;Fa=I;Ga=K;Ha=0.0;p=32;b=0;Z=0;X=0;V=0;Ia=Ea;Ja=Ca;T=0;Ka=Ba;while(1){if(!p){La=Ha;Ma=b;Na=Z;Oa=X;Pa=V;break a}p=p+-1|0;R=c[va>>2]|0;P=c[(c[R>>2]|0)+64>>2]|0;Qa=-Ia;Ra=-Ka;Sa=-Ja;g[r>>2]=L*Qa+S*Ra+Y*Sa;g[qa>>2]=N*Qa+U*Ra+_*Sa;g[oa>>2]=Q*Qa+W*Ra+aa*Sa;g[ma>>2]=0.0;ac[P&63](q,R,r);Sa=+g[q>>2];Ra=+g[ka>>2];Qa=+g[ia>>2];Ta=Aa+(L*Sa+N*Ra+Q*Qa);Ua=ya+(S*Sa+U*Ra+W*Qa);Va=za+(Y*Sa+_*Ra+aa*Qa);R=c[$>>2]|0;P=c[(c[R>>2]|0)+64>>2]|0;g[t>>2]=ba*Ia+ha*Ka+na*Ja;g[ga>>2]=da*Ia+ja*Ka+pa*Ja;g[ea>>2]=fa*Ia+la*Ka+ra*Ja;g[ca>>2]=0.0;ac[P&63](s,R,t);Qa=+g[s>>2];Ra=+g[f>>2];Sa=+g[o>>2];Wa=Da+(ba*Qa+da*Ra+fa*Sa);Xa=Fa+(ha*Qa+ja*Ra+la*Sa);Ya=Ga+(na*Qa+pa*Ra+ra*Sa);Sa=Ta-Wa;Ra=Ua-Xa;Qa=Va-Ya;Za=Ia*Sa+Ka*Ra+Ja*Qa;R=(g[k>>2]=Ia,c[k>>2]|0);P=(g[k>>2]=Ka,c[k>>2]|0);M=(g[k>>2]=Ja,c[k>>2]|0);if(Ha>1.0){_a=0;$a=24;break}if(Za>0.0){ab=sa*Ia+ta*Ka+ua*Ja;if(ab>=-1.4210854715202004e-14){_a=0;$a=24;break}bb=Ha-Za/ab;ab=1.0-bb;cb=ab*+g[w>>2]+bb*+g[x>>2];db=ab*+g[z>>2]+bb*+g[v>>2];eb=ab*+g[e>>2]+bb*+g[B>>2];fb=ab*+g[E>>2]+bb*+g[D>>2];gb=ab*+g[H>>2]+bb*+g[G>>2];hb=ab*+g[h>>2]+bb*+g[J>>2];ib=bb;jb=R;kb=T;lb=P;mb=M}else{cb=Aa;db=ya;eb=za;fb=Da;gb=Fa;hb=Ga;ib=Ha;jb=b;kb=Z;lb=X;mb=V}M=c[u>>2]|0;P=c[M>>2]|0;if((P|0)>0){bb=+g[M+308>>2];R=0;d=0;while(1){ab=Sa-+g[M+4+(d<<4)>>2];Za=Ra-+g[M+4+(d<<4)+4>>2];nb=Qa-+g[M+4+(d<<4)+8>>2];m=R|ab*ab+Za*Za+nb*nb<=bb;d=d+1|0;if((d|0)==(P|0)){ob=m;break}else R=m}}else ob=0;R=M+304|0;if((+g[R>>2]==0.0?Qa==+g[M+300>>2]:0)?Ra==+g[M+296>>2]:0)if(Sa==+g[M+292>>2]|ob)pb=M;else $a=16;else if(ob)pb=M;else $a=16;if(($a|0)==16){$a=0;g[M+292>>2]=Sa;g[M+296>>2]=Ra;g[M+300>>2]=Qa;g[R>>2]=0.0;a[M+356>>0]=1;g[M+4+(P<<4)>>2]=Sa;g[M+4+(P<<4)+4>>2]=Ra;g[M+4+(P<<4)+8>>2]=Qa;g[M+4+(P<<4)+12>>2]=0.0;R=c[M>>2]|0;g[M+84+(R<<4)>>2]=Ta;g[M+84+(R<<4)+4>>2]=Ua;g[M+84+(R<<4)+8>>2]=Va;g[M+84+(R<<4)+12>>2]=0.0;R=c[M>>2]|0;g[M+164+(R<<4)>>2]=Wa;g[M+164+(R<<4)+4>>2]=Xa;g[M+164+(R<<4)+8>>2]=Ya;g[M+164+(R<<4)+12>>2]=0.0;c[M>>2]=(c[M>>2]|0)+1;pb=c[u>>2]|0}R=Hp(pb)|0;Ia=+g[pb+276>>2];Ka=+g[pb+280>>2];Ja=+g[pb+284>>2];if(!R){La=ib;Ma=jb;Na=kb;Oa=lb;Pa=mb;break a}if(!(Ia*Ia+Ka*Ka+Ja*Ja>9.999999747378752e-05)){La=ib;Ma=jb;Na=kb;Oa=lb;Pa=mb;break a}else{Aa=cb;ya=db;za=eb;Da=fb;Fa=gb;Ga=hb;Ha=ib;b=jb;Z=kb;X=lb;V=mb;T=c[pb+288>>2]|0}}if(($a|0)==24){i=l;return _a|0}}else{La=0.0;Ma=0;Na=0;Oa=0;Pa=0}while(0);g[j+164>>2]=La;La=(c[k>>2]=Ma,+g[k>>2]);ib=(c[k>>2]=Oa,+g[k>>2]);hb=(c[k>>2]=Pa,+g[k>>2]);gb=La*La+ib*ib+hb*hb;if(!(gb>=1.4210854715202004e-14)){Pa=j+132|0;c[Pa>>2]=0;c[Pa+4>>2]=0;c[Pa+8>>2]=0;c[Pa+12>>2]=0;qb=0.0;rb=0.0;sb=0.0}else{fb=1.0/+O(+gb);gb=La*fb;La=ib*fb;ib=hb*fb;g[j+132>>2]=gb;g[j+136>>2]=La;g[j+140>>2]=ib;c[j+144>>2]=Na;qb=gb;rb=La;sb=ib}if(sa*qb+ta*rb+ua*sb>=-+g[j+172>>2]){_a=0;i=l;return _a|0}Na=c[u>>2]|0;Hp(Na)|0;Hs(j+148|0,Na+260|0,16)|0;_a=1;i=l;return _a|0}function Hp(b){b=b|0;var d=0,e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,A=0.0,B=0.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.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0,ma=0,na=0.0,oa=0.0,pa=0.0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0;d=i;i=i+64|0;e=d+16|0;f=d;h=b+356|0;if(!(a[h>>0]|0)){j=a[b+312>>0]|0;k=j<<24>>24!=0;i=d;return k|0}l=b+316|0;m=b+336|0;n=b+332|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;a[m+16>>0]=0;o=a[n>>0]|0;p=o&-16;a[n>>0]=p;a[h>>0]=0;switch(c[b>>2]|0){case 0:{a[b+312>>0]=0;j=0;k=j<<24>>24!=0;i=d;return k|0}case 1:{h=b+244|0;q=b+84|0;c[h>>2]=c[q>>2];c[h+4>>2]=c[q+4>>2];c[h+8>>2]=c[q+8>>2];c[h+12>>2]=c[q+12>>2];q=b+260|0;r=b+164|0;c[q>>2]=c[r>>2];c[q+4>>2]=c[r+4>>2];c[q+8>>2]=c[r+8>>2];c[q+12>>2]=c[r+12>>2];s=+g[b+248>>2]-+g[b+264>>2];t=+g[b+252>>2]-+g[b+268>>2];g[b+276>>2]=+g[h>>2]-+g[q>>2];g[b+280>>2]=s;g[b+284>>2]=t;g[b+288>>2]=0.0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;a[m+16>>0]=0;a[n>>0]=p;g[m>>2]=1.0;g[b+340>>2]=0.0;g[b+344>>2]=0.0;g[b+348>>2]=0.0;a[b+312>>0]=1;j=1;k=j<<24>>24!=0;i=d;return k|0}case 2:{q=b+4|0;t=+g[q>>2];s=+g[b+8>>2];u=+g[b+12>>2];v=+g[b+20>>2]-t;w=+g[b+24>>2]-s;x=+g[b+28>>2]-u;y=(0.0-t)*v+(0.0-s)*w+(0.0-u)*x;do if(y>0.0){u=v*v+w*w+x*x;if(y<u){h=p|3;a[n>>0]=h;z=h;A=y/u;break}else{h=p|2;a[n>>0]=h;z=h;A=1.0;break}}else{h=p|1;a[n>>0]=h;z=h;A=0.0}while(0);y=1.0-A;g[m>>2]=y;g[b+340>>2]=A;g[b+344>>2]=0.0;g[b+348>>2]=0.0;p=b+84|0;x=+g[p>>2];w=+g[b+88>>2];v=+g[b+92>>2];u=x+A*(+g[b+100>>2]-x);x=w+A*(+g[b+104>>2]-w);w=v+A*(+g[b+108>>2]-v);g[b+244>>2]=u;g[b+248>>2]=x;g[b+252>>2]=w;g[b+256>>2]=0.0;h=b+164|0;v=+g[h>>2];s=+g[b+168>>2];t=+g[b+172>>2];B=v+A*(+g[b+180>>2]-v);v=s+A*(+g[b+184>>2]-s);s=t+A*(+g[b+188>>2]-t);g[b+260>>2]=B;g[b+264>>2]=v;g[b+268>>2]=s;g[b+272>>2]=0.0;g[b+276>>2]=u-B;g[b+280>>2]=x-v;g[b+284>>2]=w-s;g[b+288>>2]=0.0;if(!(z&2)){c[b>>2]=1;C=0}else C=1;if(!(z&1)){c[b>>2]=C;z=b+4+(C<<4)|0;c[q>>2]=c[z>>2];c[q+4>>2]=c[z+4>>2];c[q+8>>2]=c[z+8>>2];c[q+12>>2]=c[z+12>>2];z=b+84+(C<<4)|0;c[p>>2]=c[z>>2];c[p+4>>2]=c[z+4>>2];c[p+8>>2]=c[z+8>>2];c[p+12>>2]=c[z+12>>2];z=b+164+(C<<4)|0;c[h>>2]=c[z>>2];c[h+4>>2]=c[z+4>>2];c[h+8>>2]=c[z+8>>2];c[h+12>>2]=c[z+12>>2]}z=(!(y>=0.0)|!(A>=0.0))&1^1;a[b+312>>0]=z;j=z;k=j<<24>>24!=0;i=d;return k|0}case 3:{z=b+4|0;h=b+20|0;C=b+36|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;Ip(e,z,h,C,l);p=b+84|0;A=+g[m>>2];q=b+100|0;y=+g[b+340>>2];r=b+116|0;s=+g[b+344>>2];w=+g[p>>2]*A+ +g[q>>2]*y+ +g[r>>2]*s;v=A*+g[b+88>>2]+y*+g[b+104>>2]+s*+g[b+120>>2];x=A*+g[b+92>>2]+y*+g[b+108>>2]+s*+g[b+124>>2];g[b+244>>2]=w;g[b+248>>2]=v;g[b+252>>2]=x;g[b+256>>2]=0.0;D=b+164|0;E=b+180|0;F=b+196|0;B=+g[D>>2]*A+ +g[E>>2]*y+ +g[F>>2]*s;u=A*+g[b+168>>2]+y*+g[b+184>>2]+s*+g[b+200>>2];t=A*+g[b+172>>2]+y*+g[b+188>>2]+s*+g[b+204>>2];g[b+260>>2]=B;g[b+264>>2]=u;g[b+268>>2]=t;g[b+272>>2]=0.0;g[b+276>>2]=w-B;g[b+280>>2]=v-u;g[b+284>>2]=x-t;g[b+288>>2]=0.0;G=b+332|0;H=c[b>>2]|0;do if((H|0)>3){I=a[G>>0]|0;if(!(I&8)){J=H+-1|0;c[b>>2]=J;K=b+52|0;L=b+4+(J<<4)|0;c[K>>2]=c[L>>2];c[K+4>>2]=c[L+4>>2];c[K+8>>2]=c[L+8>>2];c[K+12>>2]=c[L+12>>2];L=b+132|0;K=b+84+(J<<4)|0;c[L>>2]=c[K>>2];c[L+4>>2]=c[K+4>>2];c[L+8>>2]=c[K+8>>2];c[L+12>>2]=c[K+12>>2];K=b+212|0;L=b+164+(J<<4)|0;c[K>>2]=c[L>>2];c[K+4>>2]=c[L+4>>2];c[K+8>>2]=c[L+8>>2];c[K+12>>2]=c[L+12>>2];M=I;N=J;O=21}else{M=I;N=H;O=21}}else{if((H|0)>2){M=a[G>>0]|0;N=3;O=21;break}if((H|0)>1){P=a[G>>0]|0;Q=2;O=25;break}if((H|0)>0){R=a[G>>0]|0;S=1;O=29}}while(0);if((O|0)==21)if(!(M&4)){G=N+-1|0;c[b>>2]=G;H=b+4+(G<<4)|0;c[C>>2]=c[H>>2];c[C+4>>2]=c[H+4>>2];c[C+8>>2]=c[H+8>>2];c[C+12>>2]=c[H+12>>2];H=b+84+(G<<4)|0;c[r>>2]=c[H>>2];c[r+4>>2]=c[H+4>>2];c[r+8>>2]=c[H+8>>2];c[r+12>>2]=c[H+12>>2];H=b+164+(G<<4)|0;c[F>>2]=c[H>>2];c[F+4>>2]=c[H+4>>2];c[F+8>>2]=c[H+8>>2];c[F+12>>2]=c[H+12>>2];P=M;Q=G;O=25}else{P=M;Q=N;O=25}if((O|0)==25)if(!(P&2)){N=Q+-1|0;c[b>>2]=N;M=b+4+(N<<4)|0;c[h>>2]=c[M>>2];c[h+4>>2]=c[M+4>>2];c[h+8>>2]=c[M+8>>2];c[h+12>>2]=c[M+12>>2];M=b+84+(N<<4)|0;c[q>>2]=c[M>>2];c[q+4>>2]=c[M+4>>2];c[q+8>>2]=c[M+8>>2];c[q+12>>2]=c[M+12>>2];M=b+164+(N<<4)|0;c[E>>2]=c[M>>2];c[E+4>>2]=c[M+4>>2];c[E+8>>2]=c[M+8>>2];c[E+12>>2]=c[M+12>>2];R=P;S=N;O=29}else{R=P;S=Q;O=29}if((O|0)==29?(R&1)==0:0){R=S+-1|0;c[b>>2]=R;S=b+4+(R<<4)|0;c[z>>2]=c[S>>2];c[z+4>>2]=c[S+4>>2];c[z+8>>2]=c[S+8>>2];c[z+12>>2]=c[S+12>>2];S=b+84+(R<<4)|0;c[p>>2]=c[S>>2];c[p+4>>2]=c[S+4>>2];c[p+8>>2]=c[S+8>>2];c[p+12>>2]=c[S+12>>2];S=b+164+(R<<4)|0;c[D>>2]=c[S>>2];c[D+4>>2]=c[S+4>>2];c[D+8>>2]=c[S+8>>2];c[D+12>>2]=c[S+12>>2]}if(!(+g[m>>2]>=0.0)|!(y>=0.0)|!(s>=0.0))T=0;else T=+g[b+348>>2]>=0.0&1;a[b+312>>0]=T;j=T;k=j<<24>>24!=0;i=d;return k|0}case 4:{T=b+4|0;S=b+20|0;D=b+36|0;R=b+52|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;p=e+16|0;a[p>>0]=0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;a[n>>0]=o|15;s=+g[S>>2];y=+g[T>>2];t=s-y;x=+g[b+24>>2];u=+g[b+8>>2];v=x-u;B=+g[b+28>>2];w=+g[b+12>>2];A=B-w;U=+g[D>>2];V=U-y;W=+g[b+40>>2];X=W-u;Y=+g[b+44>>2];Z=Y-w;_=v*Z-A*X;$=A*V-t*Z;aa=t*X-v*V;ba=0.0-y;o=f+4|0;ca=0.0-u;z=f+8|0;da=0.0-w;ea=+g[R>>2];fa=ea-y;ga=+g[b+56>>2];ha=ga-u;ia=+g[b+60>>2];ja=ia-w;ka=_*fa+$*ha+aa*ja;Q=ka*ka<9.99999905104687e-09?-1:(ba*_+ca*$+aa*da)*ka<0.0&1;ka=X*ja-Z*ha;aa=Z*fa-V*ja;$=V*ha-X*fa;_=A*$+(t*ka+v*aa);P=_*_<9.99999905104687e-09?-1:(da*$+(ba*ka+ca*aa))*_<0.0&1;_=A*ha-v*ja;aa=t*ja-A*fa;A=v*fa-t*ha;ha=Z*A+(V*_+X*aa);N=ha*ha<9.99999905104687e-09?-1:(da*A+(ba*_+ca*aa))*ha<0.0&1;ha=ea-s;ea=ga-x;ga=ia-B;ia=U-s;U=W-x;W=Y-B;Y=W*ea-U*ga;aa=ia*ga-W*ha;W=U*ha-ia*ea;ea=(w-B)*W+((y-s)*Y+(u-x)*aa);M=ea*ea<9.99999905104687e-09?-1:((0.0-B)*W+((0.0-s)*Y+(0.0-x)*aa))*ea<0.0&1;E=P|Q|N|M;do if((E|0)<0){a[b+352>>0]=1;la=b+312|0;O=70}else{q=(P|0)==0;h=(N|0)==0;G=(M|0)==0;if(!E){H=b+312|0;if(a[b+352>>0]|0){la=H;O=70;break}a[H>>0]=1;H=b+276|0;c[H>>2]=0;c[H+4>>2]=0;c[H+8>>2]=0;c[H+12>>2]=0;ma=1;break}if((Q|0)!=0?(Ip(f,T,S,D,e),ea=+g[e>>2],aa=+g[e+4>>2],x=+g[e+8>>2],Y=ea-+g[f>>2],s=aa-+g[o>>2],W=x-+g[z>>2],B=Y*Y+s*s+W*W,B<3402823466385288598117041.0e14):0){H=c[e+12>>2]|0;g[l>>2]=ea;g[b+320>>2]=aa;g[b+324>>2]=x;c[b+328>>2]=H;H=a[p>>0]|0;a[n>>0]=H&1|a[n>>0]&-16|H&2|H&4;H=c[e+24>>2]|0;F=c[e+28>>2]|0;c[m>>2]=c[e+20>>2];c[b+340>>2]=H;c[b+344>>2]=F;g[b+348>>2]=0.0;na=B}else na=3402823466385288598117041.0e14;if(!q?(Ip(f,T,D,R,e),B=+g[e>>2],x=+g[e+4>>2],aa=+g[e+8>>2],ea=B-+g[f>>2],W=x-+g[o>>2],s=aa-+g[z>>2],Y=ea*ea+W*W+s*s,Y<na):0){q=c[e+12>>2]|0;g[l>>2]=B;g[b+320>>2]=x;g[b+324>>2]=aa;c[b+328>>2]=q;q=a[p>>0]|0;F=q<<1&255;a[n>>0]=F&8|(q&1|a[n>>0]&-16|F&4);F=c[e+24>>2]|0;q=c[e+28>>2]|0;c[m>>2]=c[e+20>>2];g[b+340>>2]=0.0;c[b+344>>2]=F;c[b+348>>2]=q;oa=Y}else oa=na;if(!h?(Ip(f,T,R,S,e),Y=+g[e>>2],aa=+g[e+4>>2],x=+g[e+8>>2],B=Y-+g[f>>2],s=aa-+g[o>>2],W=x-+g[z>>2],ea=B*B+s*s+W*W,ea<oa):0){h=c[e+12>>2]|0;g[l>>2]=Y;g[b+320>>2]=aa;g[b+324>>2]=x;c[b+328>>2]=h;h=a[p>>0]|0;a[n>>0]=h<<2&8|(h&1|a[n>>0]&-16|(h&255)>>>1&2);h=c[e+28>>2]|0;q=c[e+24>>2]|0;c[m>>2]=c[e+20>>2];c[b+340>>2]=h;g[b+344>>2]=0.0;c[b+348>>2]=q;pa=ea}else pa=oa;if(!G?(Ip(f,S,R,D,e),ea=+g[e>>2],x=+g[e+4>>2],aa=+g[e+8>>2],Y=ea-+g[f>>2],W=x-+g[o>>2],s=aa-+g[z>>2],Y*Y+W*W+s*s<pa):0){G=c[e+12>>2]|0;g[l>>2]=ea;g[b+320>>2]=x;g[b+324>>2]=aa;c[b+328>>2]=G;G=a[p>>0]|0;a[n>>0]=G&4|a[n>>0]&-16|G<<1&2|G<<2&8;G=c[e+20>>2]|0;q=c[e+28>>2]|0;h=c[e+24>>2]|0;g[m>>2]=0.0;c[b+340>>2]=G;c[b+344>>2]=q;c[b+348>>2]=h}h=b+84|0;aa=+g[m>>2];q=b+100|0;G=b+340|0;x=+g[G>>2];F=b+116|0;H=b+344|0;ea=+g[H>>2];r=b+132|0;s=+g[b+348>>2];W=+g[h>>2]*aa+ +g[q>>2]*x+ +g[F>>2]*ea+ +g[r>>2]*s;Y=aa*+g[b+88>>2]+x*+g[b+104>>2]+ea*+g[b+120>>2]+s*+g[b+136>>2];B=aa*+g[b+92>>2]+x*+g[b+108>>2]+ea*+g[b+124>>2]+s*+g[b+140>>2];g[b+244>>2]=W;g[b+248>>2]=Y;g[b+252>>2]=B;g[b+256>>2]=0.0;C=b+164|0;I=b+180|0;J=b+196|0;L=b+212|0;u=+g[C>>2]*aa+ +g[I>>2]*x+ +g[J>>2]*ea+ +g[L>>2]*s;y=aa*+g[b+168>>2]+x*+g[b+184>>2]+ea*+g[b+200>>2]+s*+g[b+216>>2];w=aa*+g[b+172>>2]+x*+g[b+188>>2]+ea*+g[b+204>>2]+s*+g[b+220>>2];g[b+260>>2]=u;g[b+264>>2]=y;g[b+268>>2]=w;g[b+272>>2]=0.0;g[b+276>>2]=W-u;g[b+280>>2]=Y-y;g[b+284>>2]=B-w;g[b+288>>2]=0.0;K=b+332|0;qa=c[b>>2]|0;do if((qa|0)>3){ra=a[K>>0]|0;if(!(ra&8)){sa=qa+-1|0;c[b>>2]=sa;ta=b+4+(sa<<4)|0;c[R>>2]=c[ta>>2];c[R+4>>2]=c[ta+4>>2];c[R+8>>2]=c[ta+8>>2];c[R+12>>2]=c[ta+12>>2];ta=b+84+(sa<<4)|0;c[r>>2]=c[ta>>2];c[r+4>>2]=c[ta+4>>2];c[r+8>>2]=c[ta+8>>2];c[r+12>>2]=c[ta+12>>2];ta=b+164+(sa<<4)|0;c[L>>2]=c[ta>>2];c[L+4>>2]=c[ta+4>>2];c[L+8>>2]=c[ta+8>>2];c[L+12>>2]=c[ta+12>>2];ua=ra;va=sa;O=54}else{ua=ra;va=qa;O=54}}else{if((qa|0)>2){ua=a[K>>0]|0;va=3;O=54;break}if((qa|0)>1){wa=a[K>>0]|0;xa=2;O=58;break}if((qa|0)>0){ya=a[K>>0]|0;za=1;O=62}}while(0);if((O|0)==54)if(!(ua&4)){K=va+-1|0;c[b>>2]=K;qa=b+4+(K<<4)|0;c[D>>2]=c[qa>>2];c[D+4>>2]=c[qa+4>>2];c[D+8>>2]=c[qa+8>>2];c[D+12>>2]=c[qa+12>>2];qa=b+84+(K<<4)|0;c[F>>2]=c[qa>>2];c[F+4>>2]=c[qa+4>>2];c[F+8>>2]=c[qa+8>>2];c[F+12>>2]=c[qa+12>>2];qa=b+164+(K<<4)|0;c[J>>2]=c[qa>>2];c[J+4>>2]=c[qa+4>>2];c[J+8>>2]=c[qa+8>>2];c[J+12>>2]=c[qa+12>>2];wa=ua;xa=K;O=58}else{wa=ua;xa=va;O=58}if((O|0)==58)if(!(wa&2)){K=xa+-1|0;c[b>>2]=K;qa=b+4+(K<<4)|0;c[S>>2]=c[qa>>2];c[S+4>>2]=c[qa+4>>2];c[S+8>>2]=c[qa+8>>2];c[S+12>>2]=c[qa+12>>2];qa=b+84+(K<<4)|0;c[q>>2]=c[qa>>2];c[q+4>>2]=c[qa+4>>2];c[q+8>>2]=c[qa+8>>2];c[q+12>>2]=c[qa+12>>2];qa=b+164+(K<<4)|0;c[I>>2]=c[qa>>2];c[I+4>>2]=c[qa+4>>2];c[I+8>>2]=c[qa+8>>2];c[I+12>>2]=c[qa+12>>2];ya=wa;za=K;O=62}else{ya=wa;za=xa;O=62}if((O|0)==62?(ya&1)==0:0){K=za+-1|0;c[b>>2]=K;qa=b+4+(K<<4)|0;c[T>>2]=c[qa>>2];c[T+4>>2]=c[qa+4>>2];c[T+8>>2]=c[qa+8>>2];c[T+12>>2]=c[qa+12>>2];qa=b+84+(K<<4)|0;c[h>>2]=c[qa>>2];c[h+4>>2]=c[qa+4>>2];c[h+8>>2]=c[qa+8>>2];c[h+12>>2]=c[qa+12>>2];qa=b+164+(K<<4)|0;c[C>>2]=c[qa>>2];c[C+4>>2]=c[qa+4>>2];c[C+8>>2]=c[qa+8>>2];c[C+12>>2]=c[qa+12>>2]}if((+g[m>>2]>=0.0?+g[G>>2]>=0.0:0)?+g[H>>2]>=0.0:0)Aa=s>=0.0&1;else Aa=0;a[b+312>>0]=Aa;ma=Aa}while(0);if((O|0)==70){a[la>>0]=0;ma=0}j=ma;k=j<<24>>24!=0;i=d;return k|0}default:{a[b+312>>0]=0;j=0;k=j<<24>>24!=0;i=d;return k|0}}return 0}function Ip(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=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.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0;i=h+16|0;j=a[i>>0]&-16;a[i>>0]=j;k=+g[e>>2];l=+g[d>>2];m=k-l;n=+g[e+4>>2];o=+g[d+4>>2];p=n-o;q=+g[e+8>>2];r=+g[d+8>>2];s=q-r;t=+g[f>>2];u=t-l;v=+g[f+4>>2];w=v-o;x=+g[f+8>>2];y=x-r;z=+g[b>>2];A=z-l;B=+g[b+4>>2];C=B-o;D=+g[b+8>>2];E=D-r;F=m*A+p*C+s*E;G=u*A+w*C+y*E;if(F<=0.0&G<=0.0){c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];a[i>>0]=j|1;g[h+20>>2]=1.0;g[h+24>>2]=0.0;g[h+28>>2]=0.0;g[h+32>>2]=0.0;return}E=z-k;C=B-n;A=D-q;H=m*E+p*C+s*A;I=u*E+w*C+y*A;if(!(!(H>=0.0)|!(I<=H))){c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];a[i>>0]=j|2;g[h+20>>2]=0.0;g[h+24>>2]=1.0;g[h+28>>2]=0.0;g[h+32>>2]=0.0;return}A=F*I-H*G;if(H<=0.0&(F>=0.0&A<=0.0)){C=F/(F-H);g[h>>2]=l+m*C;g[h+4>>2]=o+p*C;g[h+8>>2]=r+s*C;g[h+12>>2]=0.0;a[i>>0]=j|3;g[h+20>>2]=1.0-C;g[h+24>>2]=C;g[h+28>>2]=0.0;g[h+32>>2]=0.0;return}C=z-t;z=B-v;B=D-x;D=m*C+p*z+s*B;E=u*C+w*z+y*B;if(!(!(E>=0.0)|!(D<=E))){c[h>>2]=c[f>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=c[f+8>>2];c[h+12>>2]=c[f+12>>2];a[i>>0]=j|4;g[h+20>>2]=0.0;g[h+24>>2]=0.0;g[h+28>>2]=1.0;g[h+32>>2]=0.0;return}B=D*G-F*E;if(E<=0.0&(G>=0.0&B<=0.0)){F=G/(G-E);g[h>>2]=l+u*F;g[h+4>>2]=o+w*F;g[h+8>>2]=r+y*F;g[h+12>>2]=0.0;a[i>>0]=j|5;g[h+20>>2]=1.0-F;g[h+24>>2]=0.0;g[h+28>>2]=F;g[h+32>>2]=0.0;return}F=H*E-D*I;if((F<=0.0?(G=I-H,G>=0.0):0)?(H=D-E,H>=0.0):0){E=G/(G+H);g[h>>2]=k+(t-k)*E;g[h+4>>2]=n+(v-n)*E;g[h+8>>2]=q+(x-q)*E;g[h+12>>2]=0.0;a[i>>0]=j|6;g[h+20>>2]=0.0;g[h+24>>2]=1.0-E;g[h+28>>2]=E;g[h+32>>2]=0.0;return}E=1.0/(A+(F+B));F=B*E;B=A*E;g[h>>2]=u*B+(m*F+l);g[h+4>>2]=w*B+(p*F+o);g[h+8>>2]=y*B+(s*F+r);g[h+12>>2]=0.0;a[i>>0]=j|7;g[h+20>>2]=1.0-F-B;g[h+24>>2]=F;g[h+28>>2]=B;g[h+32>>2]=0.0;return}
  106. function Ag(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=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,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0.0,ba=0.0,ca=0.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,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0.0,Fb=0.0,Gb=0.0,Hb=0,Ib=0,Jb=0,Kb=0.0,Lb=0.0,Mb=0.0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0.0,Tb=0.0,Ub=0,Vb=0.0,Wb=0.0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0.0,bc=0.0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0.0,kc=0.0,lc=0.0,mc=0,nc=0,oc=0.0,pc=0.0,qc=0.0,rc=0.0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0.0,yc=0.0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0.0,Ec=0.0,Fc=0.0,Gc=0.0,Hc=0.0,Ic=0.0,Jc=0,Kc=0.0,Lc=0.0,Mc=0.0,Nc=0.0,Oc=0.0,Pc=0.0,Qc=0.0,Rc=0.0,Sc=0.0,Tc=0.0,Uc=0.0,Vc=0.0,Wc=0.0,Xc=0.0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0.0,dd=0.0,ed=0.0,fd=0.0,gd=0.0,hd=0.0,id=0.0,jd=0.0,kd=0,ld=0.0,md=0.0,nd=0.0,od=0.0,pd=0.0,qd=0.0,rd=0.0,sd=0.0,td=0.0,ud=0.0,vd=0.0,wd=0.0,xd=0.0,yd=0.0,zd=0.0,Ad=0.0,Bd=0.0,Cd=0.0,Dd=0.0,Ed=0.0,Fd=0.0,Gd=0.0,Hd=0.0,Id=0.0,Jd=0.0,Kd=0.0,Ld=0.0,Md=0.0,Nd=0.0,Od=0.0,Pd=0.0,Qd=0.0,Rd=0.0,Sd=0;h=i;i=i+80|0;j=h+64|0;l=h+48|0;m=h+32|0;n=h+16|0;o=h;if((e|0)<=0){i=h;return}p=f+12|0;q=b+16|0;r=b+28|0;s=b+32|0;t=b+36|0;u=b+40|0;v=j+4|0;w=j+8|0;x=j+12|0;y=l+4|0;z=l+8|0;A=l+12|0;B=b+68|0;C=m+4|0;D=m+8|0;E=m+12|0;F=f+80|0;G=n+4|0;H=n+8|0;I=o+4|0;J=o+8|0;K=o+12|0;L=n+12|0;M=f+64|0;P=f+56|0;Q=f+44|0;R=f+32|0;S=b+76|0;T=f+60|0;U=f+48|0;V=f+36|0;f=0;do{W=c[d+(f<<2)>>2]|0;X=c[W+740>>2]|0;Y=c[W+744>>2]|0;Z=Bg(b,X,+g[p>>2])|0;_=Bg(b,Y,+g[p>>2])|0;$=c[q>>2]|0;aa=+g[$+(Z*244|0)+128>>2];ba=+g[$+(Z*244|0)+132>>2];ca=+g[$+(Z*244|0)+136>>2];if(!(aa*aa+ba*ba+ca*ca<1.4210854715202004e-14?(ca=+g[$+(_*244|0)+128>>2],ba=+g[$+(_*244|0)+132>>2],aa=+g[$+(_*244|0)+136>>2],ca*ca+ba*ba+aa*aa<1.4210854715202004e-14):0))da=5;if((da|0)==5?(da=0,ea=W+748|0,fa=c[ea>>2]|0,(fa|0)>0):0){ga=W+756|0;ha=X+236|0;ia=Y+236|0;ja=X+52|0;ka=X+56|0;la=X+60|0;ma=Y+52|0;na=Y+56|0;oa=Y+60|0;pa=$+(Z*244|0)+240|0;qa=$+(_*244|0)+240|0;ra=(X|0)==0;sa=(Y|0)==0;ta=Y+180|0;ua=Y+4|0;va=Y+20|0;wa=Y+36|0;xa=Y+8|0;ya=Y+24|0;za=Y+40|0;Aa=Y+12|0;Ba=Y+28|0;Ca=Y+44|0;Da=Y+164|0;Ea=Y+168|0;Fa=Y+172|0;Ga=X+180|0;Ha=X+4|0;Ia=X+20|0;Ja=X+36|0;Ka=X+8|0;La=X+24|0;Ma=X+40|0;Na=X+12|0;Oa=X+28|0;Pa=X+44|0;Qa=X+164|0;Ra=X+168|0;Sa=X+172|0;Ta=$+(_*244|0)+176|0;Ua=$+(_*244|0)+208|0;Va=$+(_*244|0)+180|0;Wa=$+(_*244|0)+212|0;Xa=$+(_*244|0)+184|0;Ya=$+(_*244|0)+216|0;Za=$+(_*244|0)+192|0;_a=$+(_*244|0)+224|0;$a=$+(_*244|0)+196|0;ab=$+(_*244|0)+228|0;bb=$+(_*244|0)+200|0;cb=$+(_*244|0)+232|0;db=$+(Z*244|0)+176|0;eb=$+(Z*244|0)+208|0;fb=$+(Z*244|0)+180|0;gb=$+(Z*244|0)+212|0;hb=$+(Z*244|0)+184|0;ib=$+(Z*244|0)+216|0;jb=$+(Z*244|0)+192|0;kb=$+(Z*244|0)+224|0;lb=$+(Z*244|0)+196|0;mb=$+(Z*244|0)+228|0;nb=$+(Z*244|0)+200|0;ob=$+(Z*244|0)+232|0;$=fa;fa=0;pb=1;while(1){qb=W+4+(fa*184|0)|0;rb=W+4+(fa*184|0)+80|0;if(!(+g[rb>>2]<=+g[ga>>2])){sb=$;tb=pb}else{ub=c[r>>2]|0;if((ub|0)==(c[s>>2]|0)?(vb=ub|0?ub<<1:1,(ub|0)<(vb|0)):0){if(!vb){wb=0;xb=ub}else{c[4350]=(c[4350]|0)+1;yb=Tr((vb*152|3)+16|0)|0;if(!yb)zb=0;else{Ab=yb+4+15&-16;c[Ab+-4>>2]=yb;zb=Ab}wb=zb;xb=c[r>>2]|0}if((xb|0)>0){Ab=0;do{Gs(wb+(Ab*152|0)|0,(c[t>>2]|0)+(Ab*152|0)|0,152)|0;Ab=Ab+1|0}while((Ab|0)!=(xb|0))}Ab=c[t>>2]|0;if(Ab|0){if(a[u>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[Ab+-4>>2]|0)}c[t>>2]=0}a[u>>0]=1;c[t>>2]=wb;c[s>>2]=vb;Bb=c[r>>2]|0}else Bb=ub;c[r>>2]=Bb+1;Ab=c[t>>2]|0;yb=Ab+(ub*152|0)|0;Cb=(c[ha>>2]&2|0)==0?0:X;Db=(c[ia>>2]&2|0)==0?0:Y;c[Ab+(ub*152|0)+144>>2]=Z;c[Ab+(ub*152|0)+148>>2]=_;c[Ab+(ub*152|0)+132>>2]=qb;aa=+g[W+4+(fa*184|0)+48>>2]-+g[ja>>2];ba=+g[W+4+(fa*184|0)+52>>2]-+g[ka>>2];ca=+g[W+4+(fa*184|0)+56>>2]-+g[la>>2];g[j>>2]=aa;g[v>>2]=ba;g[w>>2]=ca;g[x>>2]=0.0;Eb=+g[W+4+(fa*184|0)+32>>2]-+g[ma>>2];Fb=+g[W+4+(fa*184|0)+36>>2]-+g[na>>2];Gb=+g[W+4+(fa*184|0)+40>>2]-+g[oa>>2];g[l>>2]=Eb;g[y>>2]=Fb;g[z>>2]=Gb;g[A>>2]=0.0;if(!(c[pa>>2]|0)){Hb=0;Ib=0;Jb=0}else{Kb=+g[jb>>2]+ +g[kb>>2];Lb=+g[lb>>2]+ +g[mb>>2];Mb=+g[nb>>2]+ +g[ob>>2];Nb=(g[k>>2]=+g[db>>2]+ +g[eb>>2]+(Lb*ca-Mb*ba),c[k>>2]|0);Ob=(g[k>>2]=+g[fb>>2]+ +g[gb>>2]+(Mb*aa-Kb*ca),c[k>>2]|0);Hb=Nb;Ib=Ob;Jb=(g[k>>2]=+g[hb>>2]+ +g[ib>>2]+(Kb*ba-Lb*aa),c[k>>2]|0)}if(!(c[qa>>2]|0)){Pb=0;Qb=0;Rb=0}else{Lb=+g[Za>>2]+ +g[_a>>2];Kb=+g[$a>>2]+ +g[ab>>2];Mb=+g[bb>>2]+ +g[cb>>2];Ob=(g[k>>2]=+g[Ta>>2]+ +g[Ua>>2]+(Kb*Gb-Mb*Fb),c[k>>2]|0);Nb=(g[k>>2]=+g[Va>>2]+ +g[Wa>>2]+(Mb*Eb-Lb*Gb),c[k>>2]|0);Pb=Ob;Qb=Nb;Rb=(g[k>>2]=+g[Xa>>2]+ +g[Ya>>2]+(Lb*Fb-Kb*Eb),c[k>>2]|0)}Kb=(c[k>>2]=Hb,+g[k>>2]);Lb=Kb-(c[k>>2]=Pb,+g[k>>2]);Kb=(c[k>>2]=Ib,+g[k>>2]);Mb=Kb-(c[k>>2]=Qb,+g[k>>2]);Kb=(c[k>>2]=Jb,+g[k>>2]);Sb=Kb-(c[k>>2]=Rb,+g[k>>2]);Nb=W+4+(fa*184|0)+64|0;Kb=+g[Nb>>2];Ob=W+4+(fa*184|0)+68|0;Tb=+g[Ob>>2];Ub=W+4+(fa*184|0)+72|0;Vb=+g[Ub>>2];Wb=Lb*Kb+Mb*Tb+Sb*Vb;Xb=c[q>>2]|0;Yb=Xb+(Z*244|0)+240|0;Zb=c[Yb>>2]|0;_b=Xb+(_*244|0)+240|0;$b=c[_b>>2]|0;ac=ba*Vb-ca*Tb;bc=ca*Kb-Vb*aa;Vb=Tb*aa-ba*Kb;cc=Ab+(ub*152|0)+64|0;dc=(Zb|0)!=0;if(dc){ec=(g[k>>2]=(ac*+g[Zb+288>>2]+bc*+g[Zb+292>>2]+Vb*+g[Zb+296>>2])*+g[Zb+568>>2],c[k>>2]|0);fc=(g[k>>2]=(ac*+g[Zb+304>>2]+bc*+g[Zb+308>>2]+Vb*+g[Zb+312>>2])*+g[Zb+572>>2],c[k>>2]|0);gc=ec;hc=fc;ic=(g[k>>2]=(ac*+g[Zb+320>>2]+bc*+g[Zb+324>>2]+Vb*+g[Zb+328>>2])*+g[Zb+576>>2],c[k>>2]|0)}else{gc=0;hc=0;ic=0}c[cc>>2]=gc;fc=Ab+(ub*152|0)+68|0;c[fc>>2]=hc;ec=Ab+(ub*152|0)+72|0;c[ec>>2]=ic;g[Ab+(ub*152|0)+76>>2]=0.0;Kb=+g[Ub>>2];Tb=+g[Ob>>2];jc=Fb*Kb-Gb*Tb;kc=+g[Nb>>2];lc=Gb*kc-Kb*Eb;Kb=Tb*Eb-Fb*kc;mc=Ab+(ub*152|0)+80|0;nc=($b|0)!=0;kc=(c[k>>2]=hc,+g[k>>2]);Tb=(c[k>>2]=ic,+g[k>>2]);oc=(c[k>>2]=gc,+g[k>>2]);if(nc){pc=-jc;qc=-lc;rc=-Kb;sc=(g[k>>2]=(+g[$b+288>>2]*pc+ +g[$b+292>>2]*qc+ +g[$b+296>>2]*rc)*+g[$b+568>>2],c[k>>2]|0);tc=(g[k>>2]=(+g[$b+304>>2]*pc+ +g[$b+308>>2]*qc+ +g[$b+312>>2]*rc)*+g[$b+572>>2],c[k>>2]|0);uc=sc;vc=tc;wc=(g[k>>2]=(+g[$b+320>>2]*pc+ +g[$b+324>>2]*qc+ +g[$b+328>>2]*rc)*+g[$b+576>>2],c[k>>2]|0)}else{uc=0;vc=0;wc=0}c[mc>>2]=uc;tc=Ab+(ub*152|0)+84|0;c[tc>>2]=vc;sc=Ab+(ub*152|0)+88|0;c[sc>>2]=wc;g[Ab+(ub*152|0)+92>>2]=0.0;rc=(c[k>>2]=uc,+g[k>>2]);qc=(c[k>>2]=vc,+g[k>>2]);if(dc)xc=+g[Zb+368>>2]+((kc*ca-Tb*ba)*+g[Nb>>2]+(Tb*aa-ca*oc)*+g[Ob>>2]+(ba*oc-kc*aa)*+g[Ub>>2]);else xc=0.0;if(nc){kc=-rc;rc=-qc;qc=-(c[k>>2]=wc,+g[k>>2]);yc=+g[$b+368>>2]+((Gb*rc-Fb*qc)*+g[Nb>>2]+(Eb*qc-Gb*kc)*+g[Ob>>2]+(Fb*kc-Eb*rc)*+g[Ub>>2])}else yc=0.0;zc=Ab+(ub*152|0)+108|0;g[zc>>2]=1.0/(xc+yc);Ac=Ab+(ub*152|0)+16|0;if(dc){c[Ac>>2]=c[Nb>>2];c[Ac+4>>2]=c[Nb+4>>2];c[Ac+8>>2]=c[Nb+8>>2];c[Ac+12>>2]=c[Nb+12>>2];g[yb>>2]=ac;g[Ab+(ub*152|0)+4>>2]=bc;g[Ab+(ub*152|0)+8>>2]=Vb;g[Ab+(ub*152|0)+12>>2]=0.0}else{c[yb>>2]=0;c[yb+4>>2]=0;c[yb+8>>2]=0;c[yb+12>>2]=0;c[yb+16>>2]=0;c[yb+20>>2]=0;c[yb+24>>2]=0;c[yb+28>>2]=0}Bc=Ab+(ub*152|0)+48|0;if(nc){Vb=-+g[Ob>>2];bc=-+g[Ub>>2];g[Ab+(ub*152|0)+48>>2]=-+g[Nb>>2];g[Ab+(ub*152|0)+52>>2]=Vb;g[Ab+(ub*152|0)+56>>2]=bc;g[Ab+(ub*152|0)+60>>2]=0.0;g[Ab+(ub*152|0)+32>>2]=-jc;g[Ab+(ub*152|0)+36>>2]=-lc;g[Ab+(ub*152|0)+40>>2]=-Kb;g[Ab+(ub*152|0)+44>>2]=0.0}else{Cc=Ab+(ub*152|0)+32|0;c[Cc>>2]=0;c[Cc+4>>2]=0;c[Cc+8>>2]=0;c[Cc+12>>2]=0;c[Cc+16>>2]=0;c[Cc+20>>2]=0;c[Cc+24>>2]=0;c[Cc+28>>2]=0}Kb=+g[rb>>2]+ +g[P>>2];if(dc){lc=+g[Zb+356>>2];jc=+g[Zb+360>>2];bc=+g[Zb+352>>2];Dc=lc*ca-jc*ba+ +g[Zb+336>>2];Ec=+g[Zb+340>>2]+(jc*aa-ca*bc);Fc=ba*bc-lc*aa+ +g[Zb+344>>2]}else{Dc=0.0;Ec=0.0;Fc=0.0}if(nc){aa=+g[$b+356>>2];lc=+g[$b+360>>2];bc=+g[$b+352>>2];Gc=aa*Gb-lc*Fb+ +g[$b+336>>2];Hc=+g[$b+340>>2]+(lc*Eb-Gb*bc);Ic=Fb*bc-aa*Eb+ +g[$b+344>>2]}else{Gc=0.0;Hc=0.0;Ic=0.0}Eb=(Dc-Gc)*+g[Nb>>2]+(Ec-Hc)*+g[Ob>>2]+(Fc-Ic)*+g[Ub>>2];c[Ab+(ub*152|0)+104>>2]=c[W+4+(fa*184|0)+84>>2];aa=-(Eb*+g[W+4+(fa*184|0)+92>>2]);Eb=aa<=0.0?0.0:aa;do if(!(c[M>>2]&4))g[Ab+(ub*152|0)+100>>2]=0.0;else{aa=+g[W+4+(fa*184|0)+120>>2]*+g[T>>2];Cc=Ab+(ub*152|0)+100|0;g[Cc>>2]=aa;do if(dc){if(!(c[Yb>>2]|0))break;bc=aa*(+g[Ab+(ub*152|0)+20>>2]*+g[Xb+(Z*244|0)+132>>2]*+g[Zb+376>>2])*+g[Xb+(Z*244|0)+116>>2];Fb=aa*(+g[Ab+(ub*152|0)+24>>2]*+g[Xb+(Z*244|0)+136>>2]*+g[Zb+380>>2])*+g[Xb+(Z*244|0)+120>>2];Jc=Xb+(Z*244|0)+64|0;g[Jc>>2]=+g[Xb+(Z*244|0)+112>>2]*(aa*(+g[Ac>>2]*+g[Xb+(Z*244|0)+128>>2]*+g[Zb+372>>2]))+ +g[Jc>>2];Jc=Xb+(Z*244|0)+68|0;g[Jc>>2]=bc+ +g[Jc>>2];Jc=Xb+(Z*244|0)+72|0;g[Jc>>2]=Fb+ +g[Jc>>2];Fb=aa*+g[Xb+(Z*244|0)+100>>2]*+g[fc>>2];bc=aa*+g[Xb+(Z*244|0)+104>>2]*+g[ec>>2];Jc=Xb+(Z*244|0)+80|0;g[Jc>>2]=aa*+g[Xb+(Z*244|0)+96>>2]*+g[cc>>2]+ +g[Jc>>2];Jc=Xb+(Z*244|0)+84|0;g[Jc>>2]=Fb+ +g[Jc>>2];Jc=Xb+(Z*244|0)+88|0;g[Jc>>2]=bc+ +g[Jc>>2]}while(0);if(!nc)break;aa=+g[Cc>>2];bc=-aa;if(!(c[_b>>2]|0))break;Fb=+g[sc>>2];Gb=+g[tc>>2];lc=+g[mc>>2];ba=aa*(+g[Ab+(ub*152|0)+52>>2]*+g[Xb+(_*244|0)+132>>2]*+g[$b+376>>2])*+g[Xb+(_*244|0)+116>>2];ca=aa*(+g[Ab+(ub*152|0)+56>>2]*+g[Xb+(_*244|0)+136>>2]*+g[$b+380>>2])*+g[Xb+(_*244|0)+120>>2];Jc=Xb+(_*244|0)+64|0;g[Jc>>2]=+g[Xb+(_*244|0)+112>>2]*(aa*(+g[Bc>>2]*+g[Xb+(_*244|0)+128>>2]*+g[$b+372>>2]))+ +g[Jc>>2];Jc=Xb+(_*244|0)+68|0;g[Jc>>2]=ba+ +g[Jc>>2];Jc=Xb+(_*244|0)+72|0;g[Jc>>2]=ca+ +g[Jc>>2];ca=Gb*(+g[Xb+(_*244|0)+100>>2]*bc);Gb=Fb*(+g[Xb+(_*244|0)+104>>2]*bc);Jc=Xb+(_*244|0)+80|0;g[Jc>>2]=+g[Jc>>2]-lc*(+g[Xb+(_*244|0)+96>>2]*bc);Jc=Xb+(_*244|0)+84|0;g[Jc>>2]=+g[Jc>>2]-ca;Jc=Xb+(_*244|0)+88|0;g[Jc>>2]=+g[Jc>>2]-Gb}while(0);g[Ab+(ub*152|0)+96>>2]=0.0;if(!(c[Yb>>2]|0)){Kc=0.0;Lc=0.0;Mc=0.0;Nc=0.0;Oc=0.0;Pc=0.0}else{Kc=+g[Xb+(Z*244|0)+208>>2];Lc=+g[Xb+(Z*244|0)+212>>2];Mc=+g[Xb+(Z*244|0)+216>>2];Nc=+g[Xb+(Z*244|0)+224>>2];Oc=+g[Xb+(Z*244|0)+228>>2];Pc=+g[Xb+(Z*244|0)+232>>2]}if(!(c[_b>>2]|0)){Qc=0.0;Rc=0.0;Sc=0.0;Tc=0.0;Uc=0.0;Vc=0.0}else{Qc=+g[Xb+(_*244|0)+208>>2];Rc=+g[Xb+(_*244|0)+212>>2];Sc=+g[Xb+(_*244|0)+216>>2];Tc=+g[Xb+(_*244|0)+224>>2];Uc=+g[Xb+(_*244|0)+228>>2];Vc=+g[Xb+(_*244|0)+232>>2]}Gb=Eb-((Kc+ +g[Xb+(Z*244|0)+176>>2])*+g[Ac>>2]+(Lc+ +g[Xb+(Z*244|0)+180>>2])*+g[Ab+(ub*152|0)+20>>2]+(Mc+ +g[Xb+(Z*244|0)+184>>2])*+g[Ab+(ub*152|0)+24>>2]+((Nc+ +g[Xb+(Z*244|0)+192>>2])*+g[yb>>2]+(Oc+ +g[Xb+(Z*244|0)+196>>2])*+g[Ab+(ub*152|0)+4>>2]+(Pc+ +g[Xb+(Z*244|0)+200>>2])*+g[Ab+(ub*152|0)+8>>2])+((Qc+ +g[Xb+(_*244|0)+176>>2])*+g[Bc>>2]+(Rc+ +g[Xb+(_*244|0)+180>>2])*+g[Ab+(ub*152|0)+52>>2]+(Sc+ +g[Xb+(_*244|0)+184>>2])*+g[Ab+(ub*152|0)+56>>2]+((Tc+ +g[Xb+(_*244|0)+192>>2])*+g[Ab+(ub*152|0)+32>>2]+(Uc+ +g[Xb+(_*244|0)+196>>2])*+g[Ab+(ub*152|0)+36>>2]+(Vc+ +g[Xb+(_*244|0)+200>>2])*+g[Ab+(ub*152|0)+40>>2])));$b=(c[Q>>2]|0)==0;ca=+g[p>>2];if(Kb>0.0){Wc=0.0;Xc=Gb-Kb/ca}else{Wc=-(Kb*+g[($b|Kb>+g[U>>2]?R:V)>>2])/ca;Xc=Gb}Gb=+g[zc>>2];ca=Wc*Gb;bc=Xc*Gb;if($b|Kb>+g[U>>2]){g[Ab+(ub*152|0)+112>>2]=ca+bc;g[Ab+(ub*152|0)+128>>2]=0.0}else{g[Ab+(ub*152|0)+112>>2]=bc;g[Ab+(ub*152|0)+128>>2]=ca}g[Ab+(ub*152|0)+116>>2]=0.0;g[Ab+(ub*152|0)+120>>2]=0.0;g[Ab+(ub*152|0)+124>>2]=1.0e10;$b=Ab+(ub*152|0)+140|0;c[$b>>2]=c[B>>2];if(!Cb){Yc=0;Zc=0;_c=0}else{Yc=c[Cb+352>>2]|0;Zc=c[Cb+356>>2]|0;_c=c[Cb+360>>2]|0}if(!Db){$c=0;ad=0;bd=0}else{$c=c[Db+352>>2]|0;ad=c[Db+356>>2]|0;bd=c[Db+360>>2]|0}ca=(c[k>>2]=$c,+g[k>>2]);bc=ca-(c[k>>2]=Yc,+g[k>>2]);ca=(c[k>>2]=ad,+g[k>>2]);Gb=ca-(c[k>>2]=Zc,+g[k>>2]);ca=(c[k>>2]=bd,+g[k>>2]);lc=ca-(c[k>>2]=_c,+g[k>>2]);g[m>>2]=bc;g[C>>2]=Gb;g[D>>2]=lc;g[E>>2]=0.0;do if((pb|0)>0?+g[W+4+(fa*184|0)+88>>2]>0.0:0){mc=pb+-1|0;ca=+O(+(bc*bc+Gb*Gb+lc*lc));if(ca>+g[F>>2]){Fb=1.0/ca;ca=bc*Fb;g[m>>2]=ca;ba=Gb*Fb;g[C>>2]=ba;aa=lc*Fb;g[D>>2]=aa;if(!(c[Ga>>2]&2)){cd=ca;dd=ba;ed=aa}else{Fb=+g[Ha>>2];jc=+g[Ia>>2];Vb=+g[Ja>>2];ac=+g[Ka>>2];rc=+g[La>>2];kc=+g[Ma>>2];qc=+g[Na>>2];oc=+g[Oa>>2];Tb=+g[Pa>>2];pc=(Fb*ca+jc*ba+aa*Vb)*+g[Qa>>2];fd=(ca*ac+ba*rc+aa*kc)*+g[Ra>>2];gd=(ca*qc+ba*oc+aa*Tb)*+g[Sa>>2];aa=Fb*pc+ac*fd+qc*gd;qc=jc*pc+rc*fd+oc*gd;oc=Vb*pc+kc*fd+Tb*gd;g[m>>2]=aa;g[C>>2]=qc;g[D>>2]=oc;g[E>>2]=0.0;cd=aa;dd=qc;ed=oc}if(!(c[ta>>2]&2)){hd=dd;id=ed;jd=cd}else{oc=+g[ua>>2];qc=+g[va>>2];aa=+g[wa>>2];gd=+g[xa>>2];Tb=+g[ya>>2];fd=+g[za>>2];kc=+g[Aa>>2];pc=+g[Ba>>2];Vb=+g[Ca>>2];rc=(oc*cd+qc*dd+aa*ed)*+g[Da>>2];jc=(cd*gd+dd*Tb+ed*fd)*+g[Ea>>2];ac=(cd*kc+dd*pc+ed*Vb)*+g[Fa>>2];Fb=oc*rc+gd*jc+kc*ac;kc=qc*rc+Tb*jc+pc*ac;pc=aa*rc+fd*jc+Vb*ac;g[m>>2]=Fb;g[C>>2]=kc;g[D>>2]=pc;g[E>>2]=0.0;hd=kc;id=pc;jd=Fb}if(!(+O(+(jd*jd+hd*hd+id*id))>.001)){kd=mc;break}Eg(b,m,Z,_,ub,qb);kd=mc;break}Eg(b,Nb,Z,_,ub,qb);Fb=+g[Ub>>2];if(+N(+Fb)>.7071067690849304){pc=+g[Ob>>2];kc=Fb*Fb+pc*pc;ac=1.0/+O(+kc);g[n>>2]=0.0;Vb=-(ac*Fb);g[G>>2]=Vb;jc=ac*pc;g[H>>2]=jc;pc=kc*ac;g[o>>2]=pc;ac=+g[Nb>>2];kc=-(jc*ac);g[I>>2]=kc;ld=ac*Vb;md=0.0;nd=Vb;od=jc;pd=pc;qd=kc}else{kc=+g[Nb>>2];pc=+g[Ob>>2];jc=kc*kc+pc*pc;Vb=1.0/+O(+jc);ac=-(pc*Vb);g[n>>2]=ac;pc=Vb*kc;g[G>>2]=pc;g[H>>2]=0.0;kc=-(pc*Fb);g[o>>2]=kc;fd=Fb*ac;g[I>>2]=fd;ld=jc*Vb;md=ac;nd=pc;od=0.0;pd=kc;qd=fd}g[J>>2]=ld;tc=(c[Ga>>2]&2|0)==0;if(tc){rd=md;sd=nd;td=od}else{fd=+g[Ha>>2];kc=+g[Ia>>2];pc=+g[Ja>>2];ac=+g[Ka>>2];Vb=+g[La>>2];jc=+g[Ma>>2];Fb=+g[Na>>2];rc=+g[Oa>>2];aa=+g[Pa>>2];Tb=(fd*md+kc*nd+pc*od)*+g[Qa>>2];qc=(md*ac+nd*Vb+od*jc)*+g[Ra>>2];gd=(md*Fb+nd*rc+od*aa)*+g[Sa>>2];oc=fd*Tb+ac*qc+Fb*gd;Fb=kc*Tb+Vb*qc+rc*gd;rc=pc*Tb+jc*qc+aa*gd;g[n>>2]=oc;g[G>>2]=Fb;g[H>>2]=rc;g[L>>2]=0.0;rd=oc;sd=Fb;td=rc}sc=(c[ta>>2]&2|0)==0;if(sc){ud=rd;vd=sd;wd=td}else{rc=+g[ua>>2];Fb=+g[va>>2];oc=+g[wa>>2];gd=+g[xa>>2];aa=+g[ya>>2];qc=+g[za>>2];jc=+g[Aa>>2];Tb=+g[Ba>>2];pc=+g[Ca>>2];Vb=(rc*rd+Fb*sd+oc*td)*+g[Da>>2];kc=(rd*gd+sd*aa+td*qc)*+g[Ea>>2];ac=(rd*jc+sd*Tb+td*pc)*+g[Fa>>2];fd=rc*Vb+gd*kc+jc*ac;jc=Fb*Vb+aa*kc+Tb*ac;Tb=oc*Vb+qc*kc+pc*ac;g[n>>2]=fd;g[G>>2]=jc;g[H>>2]=Tb;g[L>>2]=0.0;ud=fd;vd=jc;wd=Tb}if(tc){xd=pd;yd=qd;zd=ld}else{Tb=+g[Ha>>2];jc=+g[Ia>>2];fd=+g[Ja>>2];ac=+g[Ka>>2];pc=+g[La>>2];kc=+g[Ma>>2];qc=+g[Na>>2];Vb=+g[Oa>>2];oc=+g[Pa>>2];aa=(Tb*pd+jc*qd+fd*ld)*+g[Qa>>2];Fb=(pd*ac+qd*pc+ld*kc)*+g[Ra>>2];gd=(pd*qc+qd*Vb+ld*oc)*+g[Sa>>2];rc=Tb*aa+ac*Fb+qc*gd;qc=jc*aa+pc*Fb+Vb*gd;Vb=fd*aa+kc*Fb+oc*gd;g[o>>2]=rc;g[I>>2]=qc;g[J>>2]=Vb;g[K>>2]=0.0;xd=rc;yd=qc;zd=Vb}if(sc){Ad=xd;Bd=yd;Cd=zd}else{Vb=+g[ua>>2];qc=+g[va>>2];rc=+g[wa>>2];gd=+g[xa>>2];oc=+g[ya>>2];Fb=+g[za>>2];kc=+g[Aa>>2];aa=+g[Ba>>2];fd=+g[Ca>>2];pc=(Vb*xd+qc*yd+rc*zd)*+g[Da>>2];jc=(xd*gd+yd*oc+zd*Fb)*+g[Ea>>2];ac=(xd*kc+yd*aa+zd*fd)*+g[Fa>>2];Tb=Vb*pc+gd*jc+kc*ac;kc=qc*pc+oc*jc+aa*ac;aa=rc*pc+Fb*jc+fd*ac;g[o>>2]=Tb;g[I>>2]=kc;g[J>>2]=aa;g[K>>2]=0.0;Ad=Tb;Bd=kc;Cd=aa}if(+O(+(ud*ud+vd*vd+wd*wd))>.001)Eg(b,n,Z,_,ub,qb);if(+O(+(Ad*Ad+Bd*Bd+Cd*Cd))>.001)Eg(b,o,Z,_,ub,qb);kd=mc}else kd=pb;while(0);do if(!(c[M>>2]&32))da=91;else{if(!(a[W+4+(fa*184|0)+116>>0]|0)){da=91;break}Fg(b,W+4+(fa*184|0)+152|0,Z,_,ub,qb,j,l,1.0,+g[W+4+(fa*184|0)+132>>2],+g[W+4+(fa*184|0)+140>>2]);if(!(c[M>>2]&16))break;Fg(b,W+4+(fa*184|0)+168|0,Z,_,ub,qb,j,l,1.0,+g[W+4+(fa*184|0)+136>>2],+g[W+4+(fa*184|0)+144>>2])}while(0);do if((da|0)==91){da=0;Db=W+4+(fa*184|0)+152|0;lc=+g[Nb>>2];Gb=+g[Ob>>2];bc=+g[Ub>>2];Kb=Lb-Wb*lc;Eb=Mb-Wb*Gb;aa=Sb-Wb*bc;g[W+4+(fa*184|0)+152>>2]=Kb;Cb=W+4+(fa*184|0)+156|0;g[Cb>>2]=Eb;Ab=W+4+(fa*184|0)+160|0;g[Ab>>2]=aa;zc=W+4+(fa*184|0)+164|0;g[zc>>2]=0.0;kc=Kb*Kb+Eb*Eb+aa*aa;if((c[M>>2]&64|0)==0&kc>1.1920928955078125e-07){Tb=1.0/+O(+kc);kc=Kb*Tb;g[Db>>2]=kc;Kb=Tb*Eb;g[Cb>>2]=Kb;Eb=Tb*aa;g[Ab>>2]=Eb;do if(ra){Dd=kc;Ed=Kb;Fd=Eb}else{if(!(c[Ga>>2]&1)){Dd=kc;Ed=Kb;Fd=Eb;break}aa=+g[Ha>>2];Tb=+g[Ia>>2];ac=+g[Ja>>2];fd=+g[Ka>>2];jc=+g[La>>2];Fb=+g[Ma>>2];pc=+g[Na>>2];rc=+g[Oa>>2];oc=+g[Pa>>2];qc=(aa*kc+Tb*Kb+Eb*ac)*+g[Qa>>2];gd=(kc*fd+Kb*jc+Eb*Fb)*+g[Ra>>2];Vb=(kc*pc+Kb*rc+Eb*oc)*+g[Sa>>2];ba=aa*qc+fd*gd+pc*Vb;pc=Tb*qc+jc*gd+rc*Vb;rc=ac*qc+Fb*gd+oc*Vb;g[Db>>2]=ba;g[Cb>>2]=pc;g[Ab>>2]=rc;g[zc>>2]=0.0;Dd=ba;Ed=pc;Fd=rc}while(0);do if(!sa){if(!(c[ta>>2]&1))break;Eb=+g[ua>>2];Kb=+g[va>>2];kc=+g[wa>>2];rc=+g[xa>>2];pc=+g[ya>>2];ba=+g[za>>2];Vb=+g[Aa>>2];oc=+g[Ba>>2];gd=+g[Ca>>2];Fb=(Eb*Dd+Kb*Ed+kc*Fd)*+g[Da>>2];qc=(Dd*rc+Ed*pc+Fd*ba)*+g[Ea>>2];ac=(Dd*Vb+Ed*oc+Fd*gd)*+g[Fa>>2];g[Db>>2]=Eb*Fb+rc*qc+Vb*ac;g[Cb>>2]=Kb*Fb+pc*qc+oc*ac;g[Ab>>2]=kc*Fb+ba*qc+gd*ac;g[zc>>2]=0.0}while(0);Fg(b,Db,Z,_,ub,qb,j,l,1.0,0.0,0.0);if(!(c[M>>2]&16))break;Cc=W+4+(fa*184|0)+168|0;ac=+g[Cb>>2];gd=+g[Ub>>2];qc=+g[Ab>>2];ba=+g[Ob>>2];Fb=ac*gd-qc*ba;kc=+g[Nb>>2];oc=+g[Db>>2];pc=qc*kc-gd*oc;gd=ba*oc-ac*kc;g[W+4+(fa*184|0)+168>>2]=Fb;Xb=W+4+(fa*184|0)+172|0;Bc=W+4+(fa*184|0)+176|0;yb=W+4+(fa*184|0)+180|0;g[yb>>2]=0.0;kc=1.0/+O(+(Fb*Fb+pc*pc+gd*gd));ac=Fb*kc;g[Cc>>2]=ac;Fb=pc*kc;g[Xb>>2]=Fb;pc=gd*kc;g[Bc>>2]=pc;do if(ra){Gd=ac;Hd=Fb;Id=pc}else{if(!(c[Ga>>2]&1)){Gd=ac;Hd=Fb;Id=pc;break}kc=+g[Ha>>2];gd=+g[Ia>>2];oc=+g[Ja>>2];ba=+g[Ka>>2];qc=+g[La>>2];Kb=+g[Ma>>2];Vb=+g[Na>>2];rc=+g[Oa>>2];Eb=+g[Pa>>2];jc=(kc*ac+gd*Fb+pc*oc)*+g[Qa>>2];Tb=(ac*ba+Fb*qc+pc*Kb)*+g[Ra>>2];fd=(ac*Vb+Fb*rc+pc*Eb)*+g[Sa>>2];aa=kc*jc+ba*Tb+Vb*fd;Vb=gd*jc+qc*Tb+rc*fd;rc=oc*jc+Kb*Tb+Eb*fd;g[Cc>>2]=aa;g[Xb>>2]=Vb;g[Bc>>2]=rc;g[yb>>2]=0.0;Gd=aa;Hd=Vb;Id=rc}while(0);do if(!sa){if(!(c[ta>>2]&1))break;pc=+g[ua>>2];Fb=+g[va>>2];ac=+g[wa>>2];rc=+g[xa>>2];Vb=+g[ya>>2];aa=+g[za>>2];fd=+g[Aa>>2];Eb=+g[Ba>>2];Tb=+g[Ca>>2];Kb=(pc*Gd+Fb*Hd+ac*Id)*+g[Da>>2];jc=(Gd*rc+Hd*Vb+Id*aa)*+g[Ea>>2];oc=(Gd*fd+Hd*Eb+Id*Tb)*+g[Fa>>2];g[Cc>>2]=pc*Kb+rc*jc+fd*oc;g[Xb>>2]=Fb*Kb+Vb*jc+Eb*oc;g[Bc>>2]=ac*Kb+aa*jc+Tb*oc;g[yb>>2]=0.0}while(0);Fg(b,Cc,Z,_,ub,qb,j,l,1.0,0.0,0.0);break}yb=W+4+(fa*184|0)+168|0;if(+N(+bc)>.7071067690849304){oc=bc*bc+Gb*Gb;Tb=1.0/+O(+oc);g[Db>>2]=0.0;jc=-(Tb*bc);g[Cb>>2]=jc;aa=Tb*Gb;g[Ab>>2]=aa;Jd=-(aa*lc);Kd=lc*jc;Ld=oc*Tb;Md=0.0;Nd=jc;Od=aa}else{aa=lc*lc+Gb*Gb;jc=1.0/+O(+aa);Tb=-(Gb*jc);g[Db>>2]=Tb;oc=jc*lc;g[Cb>>2]=oc;g[Ab>>2]=0.0;Jd=bc*Tb;Kd=aa*jc;Ld=-(oc*bc);Md=Tb;Nd=oc;Od=0.0}g[yb>>2]=Ld;Bc=W+4+(fa*184|0)+172|0;g[Bc>>2]=Jd;Xb=W+4+(fa*184|0)+176|0;g[Xb>>2]=Kd;do if(ra){Pd=Md;Qd=Nd;Rd=Od}else{if(!(c[Ga>>2]&1)){Pd=Md;Qd=Nd;Rd=Od;break}oc=+g[Ha>>2];Tb=+g[Ia>>2];jc=+g[Ja>>2];aa=+g[Ka>>2];Kb=+g[La>>2];ac=+g[Ma>>2];Eb=+g[Na>>2];Vb=+g[Oa>>2];Fb=+g[Pa>>2];fd=(oc*Md+Tb*Nd+jc*Od)*+g[Qa>>2];rc=(Md*aa+Nd*Kb+Od*ac)*+g[Ra>>2];pc=(Md*Eb+Nd*Vb+Od*Fb)*+g[Sa>>2];qc=oc*fd+aa*rc+Eb*pc;Eb=Tb*fd+Kb*rc+Vb*pc;Vb=jc*fd+ac*rc+Fb*pc;g[Db>>2]=qc;g[Cb>>2]=Eb;g[Ab>>2]=Vb;g[zc>>2]=0.0;Pd=qc;Qd=Eb;Rd=Vb}while(0);do if(!sa){if(!(c[ta>>2]&1))break;bc=+g[ua>>2];lc=+g[va>>2];Gb=+g[wa>>2];Vb=+g[xa>>2];Eb=+g[ya>>2];qc=+g[za>>2];pc=+g[Aa>>2];Fb=+g[Ba>>2];rc=+g[Ca>>2];ac=(bc*Pd+lc*Qd+Gb*Rd)*+g[Da>>2];fd=(Pd*Vb+Qd*Eb+Rd*qc)*+g[Ea>>2];jc=(Pd*pc+Qd*Fb+Rd*rc)*+g[Fa>>2];g[Db>>2]=bc*ac+Vb*fd+pc*jc;g[Cb>>2]=lc*ac+Eb*fd+Fb*jc;g[Ab>>2]=Gb*ac+qc*fd+rc*jc;g[zc>>2]=0.0}while(0);Fg(b,Db,Z,_,ub,qb,j,l,1.0,0.0,0.0);zc=c[M>>2]|0;if(!(zc&16))Sd=zc;else{do if(!ra){if(!(c[Ga>>2]&1))break;jc=+g[Ha>>2];rc=+g[yb>>2];fd=+g[Ia>>2];qc=+g[Bc>>2];ac=+g[Ja>>2];Gb=+g[Xb>>2];Fb=+g[Ka>>2];Eb=+g[La>>2];lc=+g[Ma>>2];pc=+g[Na>>2];Vb=+g[Oa>>2];bc=+g[Pa>>2];Kb=(jc*rc+fd*qc+ac*Gb)*+g[Qa>>2];Tb=(rc*Fb+qc*Eb+Gb*lc)*+g[Ra>>2];aa=(rc*pc+qc*Vb+Gb*bc)*+g[Sa>>2];g[yb>>2]=jc*Kb+Fb*Tb+pc*aa;g[Bc>>2]=fd*Kb+Eb*Tb+Vb*aa;g[Xb>>2]=ac*Kb+lc*Tb+bc*aa;g[W+4+(fa*184|0)+180>>2]=0.0}while(0);do if(!sa){if(!(c[ta>>2]&1))break;aa=+g[ua>>2];bc=+g[yb>>2];Tb=+g[va>>2];lc=+g[Bc>>2];Kb=+g[wa>>2];ac=+g[Xb>>2];Vb=+g[xa>>2];Eb=+g[ya>>2];fd=+g[za>>2];pc=+g[Aa>>2];Fb=+g[Ba>>2];jc=+g[Ca>>2];Gb=(aa*bc+Tb*lc+Kb*ac)*+g[Da>>2];qc=(bc*Vb+lc*Eb+ac*fd)*+g[Ea>>2];rc=(bc*pc+lc*Fb+ac*jc)*+g[Fa>>2];g[yb>>2]=aa*Gb+Vb*qc+pc*rc;g[Bc>>2]=Tb*Gb+Eb*qc+Fb*rc;g[Xb>>2]=Kb*Gb+fd*qc+jc*rc;g[W+4+(fa*184|0)+180>>2]=0.0}while(0);Fg(b,yb,Z,_,ub,qb,j,l,1.0,0.0,0.0);Sd=c[M>>2]|0}if((Sd&80|0)!=80)break;a[W+4+(fa*184|0)+116>>0]=1}while(0);qb=c[q>>2]|0;ub=qb+(Z*244|0)+240|0;Nb=c[ub>>2]|0;Ob=qb+(_*244|0)+240|0;Ub=c[Ob>>2]|0;Xb=c[$b>>2]|0;Bc=c[S>>2]|0;Db=c[M>>2]|0;zc=(Db&4|0)==0;do if(zc)g[Bc+(Xb*152|0)+100>>2]=0.0;else{Wb=+g[W+4+(fa*184|0)+124>>2]*+g[T>>2];Ab=Bc+(Xb*152|0)+100|0;g[Ab>>2]=Wb;if(Nb|0){Sb=+g[Nb+368>>2];Mb=Wb*(Sb*+g[Bc+(Xb*152|0)+20>>2]*+g[Nb+376>>2])*+g[qb+(Z*244|0)+116>>2];Lb=Wb*(Sb*+g[Bc+(Xb*152|0)+24>>2]*+g[Nb+380>>2])*+g[qb+(Z*244|0)+120>>2];Cb=qb+(Z*244|0)+64|0;g[Cb>>2]=+g[qb+(Z*244|0)+112>>2]*(Wb*(Sb*+g[Bc+(Xb*152|0)+16>>2]*+g[Nb+372>>2]))+ +g[Cb>>2];Cb=qb+(Z*244|0)+68|0;g[Cb>>2]=Mb+ +g[Cb>>2];Cb=qb+(Z*244|0)+72|0;g[Cb>>2]=Lb+ +g[Cb>>2];Lb=Wb*+g[qb+(Z*244|0)+100>>2]*+g[Bc+(Xb*152|0)+68>>2];Mb=Wb*+g[qb+(Z*244|0)+104>>2]*+g[Bc+(Xb*152|0)+72>>2];Cb=qb+(Z*244|0)+80|0;g[Cb>>2]=Wb*+g[qb+(Z*244|0)+96>>2]*+g[Bc+(Xb*152|0)+64>>2]+ +g[Cb>>2];Cb=qb+(Z*244|0)+84|0;g[Cb>>2]=Lb+ +g[Cb>>2];Cb=qb+(Z*244|0)+88|0;g[Cb>>2]=Mb+ +g[Cb>>2]}if(!Ub)break;Mb=+g[Ub+368>>2];Lb=+g[Ab>>2];Wb=-Lb;if(!(c[Ob>>2]|0))break;Sb=+g[Bc+(Xb*152|0)+88>>2];rc=+g[Bc+(Xb*152|0)+84>>2];jc=+g[Bc+(Xb*152|0)+80>>2];qc=Lb*(Mb*+g[Bc+(Xb*152|0)+52>>2]*+g[Ub+376>>2])*+g[qb+(_*244|0)+116>>2];fd=Lb*(Mb*+g[Bc+(Xb*152|0)+56>>2]*+g[Ub+380>>2])*+g[qb+(_*244|0)+120>>2];Ab=qb+(_*244|0)+64|0;g[Ab>>2]=+g[qb+(_*244|0)+112>>2]*(Lb*(Mb*+g[Bc+(Xb*152|0)+48>>2]*+g[Ub+372>>2]))+ +g[Ab>>2];Ab=qb+(_*244|0)+68|0;g[Ab>>2]=qc+ +g[Ab>>2];Ab=qb+(_*244|0)+72|0;g[Ab>>2]=fd+ +g[Ab>>2];fd=rc*(+g[qb+(_*244|0)+100>>2]*Wb);rc=Sb*(+g[qb+(_*244|0)+104>>2]*Wb);Ab=qb+(_*244|0)+80|0;g[Ab>>2]=+g[Ab>>2]-jc*(+g[qb+(_*244|0)+96>>2]*Wb);Ab=qb+(_*244|0)+84|0;g[Ab>>2]=+g[Ab>>2]-fd;Ab=qb+(_*244|0)+88|0;g[Ab>>2]=+g[Ab>>2]-rc}while(0);do if(Db&16|0){$b=Xb+1|0;if(zc){g[Bc+($b*152|0)+100>>2]=0.0;break}rc=+g[W+4+(fa*184|0)+128>>2]*+g[T>>2];Ab=Bc+($b*152|0)+100|0;g[Ab>>2]=rc;do if(Nb|0){fd=+g[Nb+368>>2];if(!(c[ub>>2]|0))break;Wb=rc*(fd*+g[Bc+($b*152|0)+20>>2])*+g[qb+(Z*244|0)+116>>2];jc=rc*(fd*+g[Bc+($b*152|0)+24>>2])*+g[qb+(Z*244|0)+120>>2];Cb=qb+(Z*244|0)+64|0;g[Cb>>2]=+g[qb+(Z*244|0)+112>>2]*(rc*(fd*+g[Bc+($b*152|0)+16>>2]))+ +g[Cb>>2];Cb=qb+(Z*244|0)+68|0;g[Cb>>2]=Wb+ +g[Cb>>2];Cb=qb+(Z*244|0)+72|0;g[Cb>>2]=jc+ +g[Cb>>2];jc=rc*+g[qb+(Z*244|0)+100>>2]*+g[Bc+($b*152|0)+68>>2];Wb=rc*+g[qb+(Z*244|0)+104>>2]*+g[Bc+($b*152|0)+72>>2];Cb=qb+(Z*244|0)+80|0;g[Cb>>2]=rc*+g[qb+(Z*244|0)+96>>2]*+g[Bc+($b*152|0)+64>>2]+ +g[Cb>>2];Cb=qb+(Z*244|0)+84|0;g[Cb>>2]=jc+ +g[Cb>>2];Cb=qb+(Z*244|0)+88|0;g[Cb>>2]=Wb+ +g[Cb>>2]}while(0);if(!Ub)break;rc=+g[Ub+368>>2];Wb=+g[Ab>>2];jc=-Wb;if(!(c[Ob>>2]|0))break;fd=+g[Bc+($b*152|0)+88>>2];Sb=+g[Bc+($b*152|0)+84>>2];qc=+g[Bc+($b*152|0)+80>>2];Mb=Wb*(rc*+g[Bc+($b*152|0)+52>>2])*+g[qb+(_*244|0)+116>>2];Lb=Wb*(rc*+g[Bc+($b*152|0)+56>>2])*+g[qb+(_*244|0)+120>>2];yb=qb+(_*244|0)+64|0;g[yb>>2]=+g[qb+(_*244|0)+112>>2]*(Wb*(rc*+g[Bc+($b*152|0)+48>>2]))+ +g[yb>>2];yb=qb+(_*244|0)+68|0;g[yb>>2]=Mb+ +g[yb>>2];yb=qb+(_*244|0)+72|0;g[yb>>2]=Lb+ +g[yb>>2];Lb=Sb*(+g[qb+(_*244|0)+100>>2]*jc);Sb=fd*(+g[qb+(_*244|0)+104>>2]*jc);yb=qb+(_*244|0)+80|0;g[yb>>2]=+g[yb>>2]-qc*(+g[qb+(_*244|0)+96>>2]*jc);yb=qb+(_*244|0)+84|0;g[yb>>2]=+g[yb>>2]-Lb;yb=qb+(_*244|0)+88|0;g[yb>>2]=+g[yb>>2]-Sb}while(0);sb=c[ea>>2]|0;tb=kd}fa=fa+1|0;if((fa|0)>=(sb|0))break;else{$=sb;pb=tb}}}f=f+1|0}while((f|0)!=(e|0));i=h;return}function Bg(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0;e=i;i=i+496|0;f=e+244|0;h=e;j=b+212|0;k=c[j>>2]|0;if((k|0)>-1){l=k;i=e;return l|0}k=(c[b+236>>2]&2|0)==0;m=k?0:b;do if(!k){if(!(+g[m+368>>2]!=0.0)?(c[m+204>>2]&2|0)==0:0)break;n=c[a+8>>2]|0;Bs(f|0,0,244)|0;Dg(Cg(a+4|0,f)|0,b,d);c[j>>2]=n;l=n;i=e;return l|0}while(0);j=a+188|0;b=c[j>>2]|0;if((b|0)>=0){l=b;i=e;return l|0}c[j>>2]=c[a+8>>2];Bs(h|0,0,244)|0;Dg(Cg(a+4|0,h)|0,0,d);l=c[j>>2]|0;i=e;return l|0}function Cg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=b+4|0;f=c[e>>2]|0;g=b+8|0;if((f|0)==(c[g>>2]|0)?(h=f|0?f<<1:1,(f|0)<(h|0)):0){if(!h){i=0;j=f}else{c[4350]=(c[4350]|0)+1;k=Tr((h*244|3)+16|0)|0;if(!k)l=0;else{m=k+4+15&-16;c[m+-4>>2]=k;l=m}i=l;j=c[e>>2]|0}l=b+12|0;if((j|0)>0){m=0;do{k=i+(m*244|0)|0;n=c[l>>2]|0;o=n+(m*244|0)|0;c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];c[k+12>>2]=c[o+12>>2];o=i+(m*244|0)+16|0;k=n+(m*244|0)+16|0;c[o>>2]=c[k>>2];c[o+4>>2]=c[k+4>>2];c[o+8>>2]=c[k+8>>2];c[o+12>>2]=c[k+12>>2];k=i+(m*244|0)+32|0;o=n+(m*244|0)+32|0;c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];c[k+12>>2]=c[o+12>>2];o=i+(m*244|0)+48|0;k=n+(m*244|0)+48|0;c[o>>2]=c[k>>2];c[o+4>>2]=c[k+4>>2];c[o+8>>2]=c[k+8>>2];c[o+12>>2]=c[k+12>>2];Gs(i+(m*244|0)+64|0,n+(m*244|0)+64|0,180)|0;m=m+1|0}while((m|0)!=(j|0))}j=c[l>>2]|0;m=b+16|0;if(j|0){if(a[m>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[j+-4>>2]|0)}c[l>>2]=0}a[m>>0]=1;c[l>>2]=i;c[g>>2]=h;p=c[e>>2]|0}else p=f;c[e>>2]=p+1;p=b+12|0;b=c[p>>2]|0;e=b+(f*244|0)|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];e=b+(f*244|0)+16|0;h=d+16|0;c[e>>2]=c[h>>2];c[e+4>>2]=c[h+4>>2];c[e+8>>2]=c[h+8>>2];c[e+12>>2]=c[h+12>>2];h=b+(f*244|0)+32|0;e=d+32|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];e=b+(f*244|0)+48|0;h=d+48|0;c[e>>2]=c[h>>2];c[e+4>>2]=c[h+4>>2];c[e+8>>2]=c[h+8>>2];c[e+12>>2]=c[h+12>>2];Gs(b+(f*244|0)+64|0,d+64|0,180)|0;return (c[p>>2]|0)+(f*244|0)|0}function Dg(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,h=0,i=0.0,j=0.0,k=0.0,l=0,m=0,n=0.0,o=0.0;if(!b)e=0;else e=(c[b+236>>2]&2|0)==0?0:b;b=a+64|0;f=a+144|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;if(!e){c[a>>2]=1065353216;f=a+4|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[a+20>>2]=1065353216;f=a+24|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[a+40>>2]=1065353216;f=a+44|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;f=a+128|0;c[a+240>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[a+96>>2]=1065353216;c[a+100>>2]=1065353216;c[a+104>>2]=1065353216;g[a+108>>2]=0.0;c[a+112>>2]=1065353216;c[a+116>>2]=1065353216;c[a+120>>2]=1065353216;g[a+124>>2]=0.0;f=a+176|0;b=f+60|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(b|0));h=a+236|0;g[h>>2]=0.0;return}else{f=e+4|0;c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2];f=a+16|0;b=e+20|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];b=a+32|0;f=e+36|0;c[b>>2]=c[f>>2];c[b+4>>2]=c[f+4>>2];c[b+8>>2]=c[f+8>>2];c[b+12>>2]=c[f+12>>2];f=a+48|0;b=e+52|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];b=e+368|0;i=+g[b>>2];f=e+372|0;j=i*+g[e+376>>2];k=i*+g[e+380>>2];g[a+128>>2]=i*+g[f>>2];g[a+132>>2]=j;g[a+136>>2]=k;g[a+140>>2]=0.0;c[a+240>>2]=e;l=a+96|0;m=e+568|0;c[l>>2]=c[m>>2];c[l+4>>2]=c[m+4>>2];c[l+8>>2]=c[m+8>>2];c[l+12>>2]=c[m+12>>2];m=a+112|0;c[m>>2]=c[f>>2];c[m+4>>2]=c[f+4>>2];c[m+8>>2]=c[f+8>>2];c[m+12>>2]=c[f+12>>2];f=a+176|0;m=e+336|0;c[f>>2]=c[m>>2];c[f+4>>2]=c[m+4>>2];c[f+8>>2]=c[m+8>>2];c[f+12>>2]=c[m+12>>2];m=a+192|0;f=e+352|0;c[m>>2]=c[f>>2];c[m+4>>2]=c[f+4>>2];c[m+8>>2]=c[f+8>>2];c[m+12>>2]=c[f+12>>2];k=+g[b>>2];j=k*+g[e+440>>2]*d;i=k*+g[e+444>>2]*d;g[a+208>>2]=k*+g[e+436>>2]*d;g[a+212>>2]=j;g[a+216>>2]=i;g[a+220>>2]=0.0;i=+g[e+452>>2];j=+g[e+456>>2];k=+g[e+460>>2];n=(i*+g[e+292>>2]+j*+g[e+308>>2]+k*+g[e+324>>2])*d;o=(i*+g[e+296>>2]+j*+g[e+312>>2]+k*+g[e+328>>2])*d;g[a+224>>2]=(+g[e+288>>2]*i+ +g[e+304>>2]*j+ +g[e+320>>2]*k)*d;g[a+228>>2]=n;g[a+232>>2]=o;h=a+236|0;g[h>>2]=0.0;return}}function Eg(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,l=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.0,y=0,z=0,A=0,B=0.0,C=0.0,D=0.0,E=0,F=0,G=0,H=0.0,I=0.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.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0,ea=0,fa=0.0,ga=0,ha=0;j=b+88|0;l=c[j>>2]|0;m=b+92|0;if((l|0)==(c[m>>2]|0)?(n=l|0?l<<1:1,(l|0)<(n|0)):0){if(!n){o=0;p=l}else{c[4350]=(c[4350]|0)+1;q=Tr((n*152|3)+16|0)|0;if(!q)r=0;else{s=q+4+15&-16;c[s+-4>>2]=q;r=s}o=r;p=c[j>>2]|0}r=b+96|0;if((p|0)>0){s=0;do{Gs(o+(s*152|0)|0,(c[r>>2]|0)+(s*152|0)|0,152)|0;s=s+1|0}while((s|0)!=(p|0))}p=c[r>>2]|0;s=b+100|0;if(p|0){if(a[s>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[p+-4>>2]|0)}c[r>>2]=0}a[s>>0]=1;c[r>>2]=o;c[m>>2]=n;t=c[j>>2]|0}else t=l;c[j>>2]=t+1;t=c[b+96>>2]|0;c[t+(l*152|0)+140>>2]=h;h=t+(l*152|0)+16|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;g[t+(l*152|0)+48>>2]=-0.0;g[t+(l*152|0)+52>>2]=-0.0;g[t+(l*152|0)+56>>2]=-0.0;g[t+(l*152|0)+60>>2]=0.0;h=c[b+16>>2]|0;b=c[h+(e*244|0)+240>>2]|0;j=c[h+(f*244|0)+240>>2]|0;c[t+(l*152|0)+144>>2]=e;c[t+(l*152|0)+148>>2]=f;n=c[i+88>>2]|0;c[t+(l*152|0)+104>>2]=n;c[t+(l*152|0)+132>>2]=0;g[t+(l*152|0)+100>>2]=0.0;g[t+(l*152|0)+96>>2]=0.0;u=-+g[d>>2];i=d+4|0;v=-+g[i>>2];m=d+8|0;w=-+g[m>>2];g[t+(l*152|0)>>2]=u;g[t+(l*152|0)+4>>2]=v;g[t+(l*152|0)+8>>2]=w;g[t+(l*152|0)+12>>2]=0.0;o=(b|0)!=0;x=(c[k>>2]=n,+g[k>>2]);if(o){r=(g[k>>2]=(+g[b+288>>2]*u+ +g[b+292>>2]*v+ +g[b+296>>2]*w)*+g[b+568>>2],c[k>>2]|0);s=(g[k>>2]=(+g[b+304>>2]*u+ +g[b+308>>2]*v+ +g[b+312>>2]*w)*+g[b+572>>2],c[k>>2]|0);y=r;z=s;A=(g[k>>2]=(+g[b+320>>2]*u+ +g[b+324>>2]*v+ +g[b+328>>2]*w)*+g[b+576>>2],c[k>>2]|0)}else{y=0;z=0;A=0}c[t+(l*152|0)+64>>2]=y;c[t+(l*152|0)+68>>2]=z;c[t+(l*152|0)+72>>2]=A;g[t+(l*152|0)+76>>2]=0.0;B=+g[d>>2];C=+g[i>>2];D=+g[m>>2];m=c[d+12>>2]|0;g[t+(l*152|0)+32>>2]=B;g[t+(l*152|0)+36>>2]=C;g[t+(l*152|0)+40>>2]=D;c[t+(l*152|0)+44>>2]=m;m=(j|0)!=0;if(m){d=(g[k>>2]=(B*+g[j+288>>2]+C*+g[j+292>>2]+D*+g[j+296>>2])*+g[j+568>>2],c[k>>2]|0);i=(g[k>>2]=(B*+g[j+304>>2]+C*+g[j+308>>2]+D*+g[j+312>>2])*+g[j+572>>2],c[k>>2]|0);E=d;F=i;G=(g[k>>2]=(B*+g[j+320>>2]+C*+g[j+324>>2]+D*+g[j+328>>2])*+g[j+576>>2],c[k>>2]|0)}else{E=0;F=0;G=0}c[t+(l*152|0)+80>>2]=E;c[t+(l*152|0)+84>>2]=F;c[t+(l*152|0)+88>>2]=G;g[t+(l*152|0)+92>>2]=0.0;if(o){H=+g[b+288>>2]*u+ +g[b+292>>2]*v+ +g[b+296>>2]*w;I=+g[b+304>>2]*u+ +g[b+308>>2]*v+ +g[b+312>>2]*w;J=+g[b+320>>2]*u+ +g[b+324>>2]*v+ +g[b+328>>2]*w}else{H=0.0;I=0.0;J=0.0}if(m){K=+g[j+288>>2]*B+ +g[j+292>>2]*C+ +g[j+296>>2]*D;L=B*+g[j+304>>2]+C*+g[j+308>>2]+D*+g[j+312>>2];M=B*+g[j+320>>2]+C*+g[j+324>>2]+D*+g[j+328>>2]}else{K=0.0;L=0.0;M=0.0}N=1.0/(H*u+I*v+J*w+0.0+(K*B+L*C+M*D));g[t+(l*152|0)+108>>2]=N;if(o){O=+g[h+(e*244|0)+192>>2];P=+g[h+(e*244|0)+196>>2];Q=+g[h+(e*244|0)+200>>2];R=(+g[h+(e*244|0)+176>>2]+ +g[h+(e*244|0)+208>>2])*0.0+(+g[h+(e*244|0)+180>>2]+ +g[h+(e*244|0)+212>>2])*0.0+(+g[h+(e*244|0)+184>>2]+ +g[h+(e*244|0)+216>>2])*0.0}else{O=0.0;P=0.0;Q=0.0;R=0.0}M=R+(O*u+P*v+Q*w);if(!m){S=0.0;T=0.0;U=0.0;V=-0.0;W=S*B;X=T*C;Y=W+X;Z=U*D;_=Y+Z;$=V+_;aa=M+$;ba=0.0-aa;ca=N*ba;da=t+(l*152|0)+112|0;g[da>>2]=ca;ea=t+(l*152|0)+116|0;g[ea>>2]=0.0;fa=-x;ga=t+(l*152|0)+120|0;g[ga>>2]=fa;ha=t+(l*152|0)+124|0;c[ha>>2]=n;return}S=+g[h+(f*244|0)+192>>2];T=+g[h+(f*244|0)+196>>2];U=+g[h+(f*244|0)+200>>2];V=(+g[h+(f*244|0)+176>>2]+ +g[h+(f*244|0)+208>>2])*-0.0+(+g[h+(f*244|0)+180>>2]+ +g[h+(f*244|0)+212>>2])*-0.0+(+g[h+(f*244|0)+184>>2]+ +g[h+(f*244|0)+216>>2])*-0.0;W=S*B;X=T*C;Y=W+X;Z=U*D;_=Y+Z;$=V+_;aa=M+$;ba=0.0-aa;ca=N*ba;da=t+(l*152|0)+112|0;g[da>>2]=ca;ea=t+(l*152|0)+116|0;g[ea>>2]=0.0;fa=-x;ga=t+(l*152|0)+120|0;g[ga>>2]=fa;ha=t+(l*152|0)+124|0;c[ha>>2]=n;return}function Fg(b,d,e,f,h,i,j,l,m,n,o){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;l=l|0;m=+m;n=+n;o=+o;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.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.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0.0,qa=0.0,ra=0.0,sa=0,ta=0,ua=0,va=0.0,wa=0,xa=0;p=b+68|0;q=c[p>>2]|0;r=b+72|0;if((q|0)==(c[r>>2]|0)?(s=q|0?q<<1:1,(q|0)<(s|0)):0){if(!s){t=0;u=q}else{c[4350]=(c[4350]|0)+1;v=Tr((s*152|3)+16|0)|0;if(!v)w=0;else{x=v+4+15&-16;c[x+-4>>2]=v;w=x}t=w;u=c[p>>2]|0}w=b+76|0;if((u|0)>0){x=0;do{Gs(t+(x*152|0)|0,(c[w>>2]|0)+(x*152|0)|0,152)|0;x=x+1|0}while((x|0)!=(u|0))}u=c[w>>2]|0;x=b+80|0;if(u|0){if(a[x>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[u+-4>>2]|0)}c[w>>2]=0}a[x>>0]=1;c[w>>2]=t;c[r>>2]=s;y=c[p>>2]|0}else y=q;c[p>>2]=y+1;y=c[b+76>>2]|0;p=y+(q*152|0)|0;c[y+(q*152|0)+140>>2]=h;h=c[b+16>>2]|0;b=c[h+(e*244|0)+240>>2]|0;s=c[h+(f*244|0)+240>>2]|0;c[y+(q*152|0)+144>>2]=e;c[y+(q*152|0)+148>>2]=f;r=c[i+84>>2]|0;c[y+(q*152|0)+104>>2]=r;c[y+(q*152|0)+132>>2]=0;g[y+(q*152|0)+100>>2]=0.0;g[y+(q*152|0)+96>>2]=0.0;i=(b|0)!=0;t=y+(q*152|0)+16|0;z=(c[k>>2]=r,+g[k>>2]);if(i){c[t>>2]=c[d>>2];c[t+4>>2]=c[d+4>>2];c[t+8>>2]=c[d+8>>2];c[t+12>>2]=c[d+12>>2];A=+g[j+4>>2];B=+g[y+(q*152|0)+24>>2];C=+g[j+8>>2];D=+g[y+(q*152|0)+20>>2];E=A*B-C*D;F=+g[t>>2];G=+g[j>>2];H=C*F-B*G;C=D*G-A*F;g[p>>2]=E;g[y+(q*152|0)+4>>2]=H;g[y+(q*152|0)+8>>2]=C;g[y+(q*152|0)+12>>2]=0.0;A=(E*+g[b+288>>2]+H*+g[b+292>>2]+C*+g[b+296>>2])*+g[b+568>>2];G=(E*+g[b+304>>2]+H*+g[b+308>>2]+C*+g[b+312>>2])*+g[b+572>>2];I=(E*+g[b+320>>2]+H*+g[b+324>>2]+C*+g[b+328>>2])*+g[b+576>>2];g[y+(q*152|0)+64>>2]=A;g[y+(q*152|0)+68>>2]=G;g[y+(q*152|0)+72>>2]=I;g[y+(q*152|0)+76>>2]=0.0;J=G;K=I;L=A;M=F;N=D;O=B;P=E;Q=H;R=C}else{t=y+(q*152|0)+64|0;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p+20>>2]=0;c[p+24>>2]=0;c[p+28>>2]=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}p=(s|0)!=0;if(p){C=-+g[d>>2];H=-+g[d+4>>2];E=-+g[d+8>>2];g[y+(q*152|0)+48>>2]=C;g[y+(q*152|0)+52>>2]=H;g[y+(q*152|0)+56>>2]=E;g[y+(q*152|0)+60>>2]=0.0;B=+g[l+4>>2];D=+g[l+8>>2];F=B*E-D*H;A=+g[l>>2];I=D*C-A*E;D=A*H-B*C;g[y+(q*152|0)+32>>2]=F;g[y+(q*152|0)+36>>2]=I;g[y+(q*152|0)+40>>2]=D;g[y+(q*152|0)+44>>2]=0.0;B=(F*+g[s+288>>2]+I*+g[s+292>>2]+D*+g[s+296>>2])*+g[s+568>>2];A=(F*+g[s+304>>2]+I*+g[s+308>>2]+D*+g[s+312>>2])*+g[s+572>>2];G=(F*+g[s+320>>2]+I*+g[s+324>>2]+D*+g[s+328>>2])*+g[s+576>>2];g[y+(q*152|0)+80>>2]=B;g[y+(q*152|0)+84>>2]=A;g[y+(q*152|0)+88>>2]=G;g[y+(q*152|0)+92>>2]=0.0;S=B;T=A;U=G;V=C;W=H;X=E;Y=F;Z=I;_=D}else{t=y+(q*152|0)+32|0;w=y+(q*152|0)+80|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;c[t+20>>2]=0;c[t+24>>2]=0;c[t+28>>2]=0;S=0.0;T=0.0;U=0.0;V=0.0;W=0.0;X=0.0;Y=0.0;Z=0.0;_=0.0}if(i){D=+g[j+8>>2];I=+g[j+4>>2];F=+g[j>>2];$=+g[b+368>>2]+((J*D-K*I)*+g[d>>2]+(K*F-D*L)*+g[d+4>>2]+(I*L-J*F)*+g[d+8>>2])}else $=0.0;if(p){F=-S;S=-T;T=-U;U=+g[l+8>>2];J=+g[l+4>>2];L=+g[l>>2];aa=+g[s+368>>2]+((U*S-J*T)*+g[d>>2]+(L*T-U*F)*+g[d+4>>2]+(J*F-L*S)*+g[d+8>>2])}else aa=0.0;S=m/($+aa);g[y+(q*152|0)+108>>2]=S;if(i){ba=+g[h+(e*244|0)+192>>2];ca=+g[h+(e*244|0)+196>>2];da=+g[h+(e*244|0)+200>>2];ea=(+g[h+(e*244|0)+176>>2]+ +g[h+(e*244|0)+208>>2])*M+(+g[h+(e*244|0)+180>>2]+ +g[h+(e*244|0)+212>>2])*N+(+g[h+(e*244|0)+184>>2]+ +g[h+(e*244|0)+216>>2])*O}else{ba=0.0;ca=0.0;da=0.0;ea=M*0.0+N*0.0+O*0.0}O=ea+(ba*P+ca*Q+da*R);if(p){fa=+g[h+(f*244|0)+192>>2];ga=+g[h+(f*244|0)+196>>2];ha=+g[h+(f*244|0)+200>>2];ia=(+g[h+(f*244|0)+176>>2]+ +g[h+(f*244|0)+208>>2])*V+(+g[h+(f*244|0)+180>>2]+ +g[h+(f*244|0)+212>>2])*W+(+g[h+(f*244|0)+184>>2]+ +g[h+(f*244|0)+216>>2])*X;ja=fa*Y;ka=ga*Z;la=ja+ka;ma=ha*_;na=la+ma;oa=ia+na;pa=O+oa;qa=n-pa;ra=S*qa;sa=y+(q*152|0)+112|0;g[sa>>2]=ra;ta=y+(q*152|0)+128|0;g[ta>>2]=0.0;ua=y+(q*152|0)+116|0;g[ua>>2]=o;va=-z;wa=y+(q*152|0)+120|0;g[wa>>2]=va;xa=y+(q*152|0)+124|0;c[xa>>2]=r;return}else{fa=0.0;ga=0.0;ha=0.0;ia=V*0.0+W*0.0+X*0.0;ja=fa*Y;ka=ga*Z;la=ja+ka;ma=ha*_;na=la+ma;oa=ia+na;pa=O+oa;qa=n-pa;ra=S*qa;sa=y+(q*152|0)+112|0;g[sa>>2]=ra;ta=y+(q*152|0)+128|0;g[ta>>2]=0.0;ua=y+(q*152|0)+116|0;g[ua>>2]=o;va=-z;wa=y+(q*152|0)+120|0;g[wa>>2]=va;xa=y+(q*152|0)+124|0;c[xa>>2]=r;return}}function Gg(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|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;if(!(c[i+44>>2]|0))return;j=i+20|0;h=c[j>>2]|0;g=(h|0)>0;if(!(c[i+64>>2]&256)){if(!g)return;i=a+28|0;f=a+116|0;e=a+36|0;d=a+16|0;b=h;k=0;while(1){l=c[i>>2]|0;if((l|0)>0){m=0;do{n=c[(c[f>>2]|0)+(m<<2)>>2]|0;o=c[e>>2]|0;p=c[d>>2]|0;Hg(p+((c[o+(n*152|0)+144>>2]|0)*244|0)|0,p+((c[o+(n*152|0)+148>>2]|0)*244|0)|0,o+(n*152|0)|0);m=m+1|0}while((m|0)!=(l|0));q=c[j>>2]|0}else q=b;k=k+1|0;if((k|0)>=(q|0))break;else b=q}return}else{if(!g)return;g=a+28|0;q=a+116|0;b=a+36|0;k=a+16|0;a=h;h=0;while(1){d=c[g>>2]|0;if((d|0)>0){e=0;do{f=c[(c[q>>2]|0)+(e<<2)>>2]|0;i=c[b>>2]|0;l=c[k>>2]|0;Hg(l+((c[i+(f*152|0)+144>>2]|0)*244|0)|0,l+((c[i+(f*152|0)+148>>2]|0)*244|0)|0,i+(f*152|0)|0);e=e+1|0}while((e|0)!=(d|0));r=c[j>>2]|0}else r=a;h=h+1|0;if((h|0)>=(r|0))break;else a=r}return}}function Hg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0.0,i=0.0,j=0,k=0.0,l=0,m=0.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.0,B=0.0,C=0,D=0.0;e=+g[d+128>>2];if(!(e!=0.0))return;c[4173]=(c[4173]|0)+1;f=d+96|0;h=+g[f>>2];i=+g[d+16>>2];j=a+144|0;k=+g[d+20>>2];l=a+148|0;m=+g[d+24>>2];n=a+152|0;o=a+160|0;p=a+164|0;q=a+168|0;r=d+48|0;s=b+144|0;t=d+52|0;u=b+148|0;v=d+56|0;w=b+152|0;x=b+160|0;y=b+164|0;z=b+168|0;A=+g[d+108>>2];B=e-h*+g[d+116>>2]-(i*+g[j>>2]+k*+g[l>>2]+m*+g[n>>2]+(+g[d>>2]*+g[o>>2]+ +g[d+4>>2]*+g[p>>2]+ +g[d+8>>2]*+g[q>>2]))*A-A*(+g[r>>2]*+g[s>>2]+ +g[t>>2]*+g[u>>2]+ +g[v>>2]*+g[w>>2]+(+g[d+32>>2]*+g[x>>2]+ +g[d+36>>2]*+g[y>>2]+ +g[d+40>>2]*+g[z>>2]));A=h+B;e=+g[d+120>>2];C=A<e;D=C?e-h:B;g[f>>2]=C?e:A;if(c[a+240>>2]|0){A=D*(k*+g[a+132>>2])*+g[a+116>>2];k=D*(m*+g[a+136>>2])*+g[a+120>>2];g[j>>2]=+g[a+112>>2]*(D*(i*+g[a+128>>2]))+ +g[j>>2];g[l>>2]=A+ +g[l>>2];g[n>>2]=k+ +g[n>>2];k=D*+g[a+100>>2]*+g[d+68>>2];A=D*+g[a+104>>2]*+g[d+72>>2];g[o>>2]=D*+g[a+96>>2]*+g[d+64>>2]+ +g[o>>2];g[p>>2]=k+ +g[p>>2];g[q>>2]=A+ +g[q>>2]}if(!(c[b+240>>2]|0))return;A=D*(+g[t>>2]*+g[b+132>>2])*+g[b+116>>2];k=D*(+g[v>>2]*+g[b+136>>2])*+g[b+120>>2];g[s>>2]=+g[b+112>>2]*(D*(+g[r>>2]*+g[b+128>>2]))+ +g[s>>2];g[u>>2]=A+ +g[u>>2];g[w>>2]=k+ +g[w>>2];k=D*+g[b+100>>2]*+g[d+84>>2];A=D*+g[b+104>>2]*+g[d+88>>2];g[x>>2]=D*+g[b+96>>2]*+g[d+80>>2]+ +g[x>>2];g[y>>2]=k+ +g[y>>2];g[z>>2]=A+ +g[z>>2];return}function Ig(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,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.0,y=0.0,z=0.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,M=0,O=0,P=0.0,Q=0.0;e=i;i=i+80|0;d=e+16|0;h=e;j=b+28|0;l=c[j>>2]|0;m=c[f+64>>2]|0;a:do if((m&4|0)!=0&(l|0)>0){n=c[b+36>>2]|0;o=b+76|0;p=c[o>>2]|0;if(!(m&16)){q=0;while(1){r=c[n+(q*152|0)+132>>2]|0;c[r+120>>2]=c[n+(q*152|0)+100>>2];c[r+124>>2]=c[p+((c[n+(q*152|0)+140>>2]|0)*152|0)+100>>2];q=q+1|0;if((q|0)==(l|0))break a}}else{s=p;t=0}while(1){q=c[n+(t*152|0)+132>>2]|0;c[q+120>>2]=c[n+(t*152|0)+100>>2];r=c[n+(t*152|0)+140>>2]|0;c[q+124>>2]=c[p+(r*152|0)+100>>2];c[q+128>>2]=c[s+((r+1|0)*152|0)+100>>2];r=t+1|0;if((r|0)==(l|0))break a;s=c[o>>2]|0;t=r}}while(0);t=b+48|0;s=c[t>>2]|0;if((s|0)>0){l=b+56|0;m=f+12|0;o=0;do{p=c[l>>2]|0;n=c[p+(o*152|0)+132>>2]|0;r=c[n+44>>2]|0;q=p+(o*152|0)+100|0;if(r|0){u=+g[q>>2];v=n+28|0;w=c[v>>2]|0;x=1.0/+g[m>>2];y=u*+g[p+(o*152|0)+20>>2]*+g[w+376>>2]*x;z=u*+g[p+(o*152|0)+24>>2]*+g[w+380>>2]*x;g[r>>2]=+g[r>>2]+ +g[p+(o*152|0)+16>>2]*u*+g[w+372>>2]*x;w=r+4|0;g[w>>2]=y+ +g[w>>2];w=r+8|0;g[w>>2]=z+ +g[w>>2];z=+g[q>>2];w=n+32|0;A=c[w>>2]|0;y=1.0/+g[m>>2];x=z*+g[p+(o*152|0)+52>>2]*+g[A+376>>2]*y;u=z*+g[p+(o*152|0)+56>>2]*+g[A+380>>2]*y;B=r+32|0;g[B>>2]=+g[B>>2]+ +g[p+(o*152|0)+48>>2]*z*+g[A+372>>2]*y;A=r+36|0;g[A>>2]=x+ +g[A>>2];A=r+40|0;g[A>>2]=u+ +g[A>>2];A=c[v>>2]|0;u=+g[q>>2];x=1.0/+g[m>>2];y=+g[p+(o*152|0)+4>>2]*+g[A+572>>2]*u*x;z=u*(+g[p+(o*152|0)+8>>2]*+g[A+576>>2])*x;v=r+16|0;g[v>>2]=+g[v>>2]+ +g[p+(o*152|0)>>2]*+g[A+568>>2]*u*x;A=r+20|0;g[A>>2]=y+ +g[A>>2];A=r+24|0;g[A>>2]=z+ +g[A>>2];A=c[w>>2]|0;z=+g[q>>2];y=1.0/+g[m>>2];x=+g[p+(o*152|0)+36>>2]*+g[A+572>>2]*z*y;u=z*(+g[p+(o*152|0)+40>>2]*+g[A+576>>2])*y;w=r+48|0;g[w>>2]=+g[w>>2]+ +g[p+(o*152|0)+32>>2]*+g[A+568>>2]*z*y;A=r+52|0;g[A>>2]=x+ +g[A>>2];A=r+56|0;g[A>>2]=u+ +g[A>>2]}A=c[q>>2]|0;c[n+36>>2]=A;u=+N(+(c[k>>2]=A,+g[k>>2]));if(u>=+g[n+16>>2])a[n+20>>0]=0;o=o+1|0}while((o|0)!=(s|0))}s=b+8|0;o=c[s>>2]|0;if((o|0)>0){m=b+16|0;l=f+44|0;n=f+12|0;A=f+52|0;f=h+4|0;q=h+8|0;r=h+12|0;p=d+16|0;w=d+32|0;v=d+48|0;B=o;o=0;while(1){C=c[m>>2]|0;D=C+(o*244|0)|0;E=c[C+(o*244|0)+240>>2]|0;if(!E)F=B;else{if(!(c[l>>2]|0)){G=C+(o*244|0)+176|0;u=+g[C+(o*244|0)+64>>2]+ +g[G>>2];g[G>>2]=u;G=C+(o*244|0)+180|0;x=+g[C+(o*244|0)+68>>2]+ +g[G>>2];g[G>>2]=x;G=C+(o*244|0)+184|0;y=+g[C+(o*244|0)+72>>2]+ +g[G>>2];g[G>>2]=y;G=C+(o*244|0)+192|0;g[G>>2]=+g[C+(o*244|0)+80>>2]+ +g[G>>2];G=C+(o*244|0)+196|0;g[G>>2]=+g[C+(o*244|0)+84>>2]+ +g[G>>2];G=C+(o*244|0)+200|0;g[G>>2]=+g[C+(o*244|0)+88>>2]+ +g[G>>2];H=C;I=u;J=x;K=y;L=E}else{y=+g[n>>2];x=+g[A>>2];G=C+(o*244|0)+176|0;g[G>>2]=+g[C+(o*244|0)+64>>2]+ +g[G>>2];G=C+(o*244|0)+180|0;g[G>>2]=+g[C+(o*244|0)+68>>2]+ +g[G>>2];G=C+(o*244|0)+184|0;g[G>>2]=+g[C+(o*244|0)+72>>2]+ +g[G>>2];G=C+(o*244|0)+192|0;g[G>>2]=+g[C+(o*244|0)+80>>2]+ +g[G>>2];G=C+(o*244|0)+196|0;g[G>>2]=+g[C+(o*244|0)+84>>2]+ +g[G>>2];G=C+(o*244|0)+200|0;g[G>>2]=+g[C+(o*244|0)+88>>2]+ +g[G>>2];u=+g[C+(o*244|0)+144>>2];z=+g[C+(o*244|0)+148>>2];if((((!(u!=0.0|z!=0.0)?!(+g[C+(o*244|0)+152>>2]!=0.0):0)?!(+g[C+(o*244|0)+160>>2]!=0.0):0)?!(+g[C+(o*244|0)+164>>2]!=0.0):0)?!(+g[C+(o*244|0)+168>>2]!=0.0):0){M=C;O=E}else{P=+g[C+(o*244|0)+164>>2]*x;Q=+g[C+(o*244|0)+168>>2]*x;g[h>>2]=+g[C+(o*244|0)+160>>2]*x;g[f>>2]=P;g[q>>2]=Q;g[r>>2]=0.0;Bf(D,u,z,+g[C+(o*244|0)+152>>2],h,y,d);c[D>>2]=c[d>>2];c[D+4>>2]=c[d+4>>2];c[D+8>>2]=c[d+8>>2];c[D+12>>2]=c[d+12>>2];D=C+(o*244|0)+16|0;c[D>>2]=c[p>>2];c[D+4>>2]=c[p+4>>2];c[D+8>>2]=c[p+8>>2];c[D+12>>2]=c[p+12>>2];D=C+(o*244|0)+32|0;c[D>>2]=c[w>>2];c[D+4>>2]=c[w+4>>2];c[D+8>>2]=c[w+8>>2];c[D+12>>2]=c[w+12>>2];D=C+(o*244|0)+48|0;c[D>>2]=c[v>>2];c[D+4>>2]=c[v+4>>2];c[D+8>>2]=c[v+8>>2];c[D+12>>2]=c[v+12>>2];D=c[m>>2]|0;M=D;O=c[D+(o*244|0)+240>>2]|0}H=M;I=+g[M+(o*244|0)+176>>2];J=+g[M+(o*244|0)+180>>2];K=+g[M+(o*244|0)+184>>2];L=O}y=I+ +g[H+(o*244|0)+208>>2];z=J+ +g[H+(o*244|0)+212>>2];u=K+ +g[H+(o*244|0)+216>>2];D=L+284|0;c[D>>2]=(c[D>>2]|0)+1;g[L+336>>2]=y;g[L+340>>2]=z;g[L+344>>2]=u;g[L+348>>2]=0.0;D=c[m>>2]|0;C=c[D+(o*244|0)+240>>2]|0;u=+g[D+(o*244|0)+192>>2]+ +g[D+(o*244|0)+224>>2];z=+g[D+(o*244|0)+196>>2]+ +g[D+(o*244|0)+228>>2];y=+g[D+(o*244|0)+200>>2]+ +g[D+(o*244|0)+232>>2];D=C+284|0;c[D>>2]=(c[D>>2]|0)+1;g[C+352>>2]=u;g[C+356>>2]=z;g[C+360>>2]=y;g[C+364>>2]=0.0;if(c[l>>2]|0){C=c[m>>2]|0;D=c[C+(o*244|0)+240>>2]|0;E=C+(o*244|0)|0;G=D+284|0;c[G>>2]=(c[G>>2]|0)+1;G=D+4|0;c[G>>2]=c[E>>2];c[G+4>>2]=c[E+4>>2];c[G+8>>2]=c[E+8>>2];c[G+12>>2]=c[E+12>>2];E=D+20|0;G=C+(o*244|0)+16|0;c[E>>2]=c[G>>2];c[E+4>>2]=c[G+4>>2];c[E+8>>2]=c[G+8>>2];c[E+12>>2]=c[G+12>>2];G=D+36|0;E=C+(o*244|0)+32|0;c[G>>2]=c[E>>2];c[G+4>>2]=c[E+4>>2];c[G+8>>2]=c[E+8>>2];c[G+12>>2]=c[E+12>>2];E=D+52|0;D=C+(o*244|0)+48|0;c[E>>2]=c[D>>2];c[E+4>>2]=c[D+4>>2];c[E+8>>2]=c[D+8>>2];c[E+12>>2]=c[D+12>>2]}c[(c[(c[m>>2]|0)+(o*244|0)+240>>2]|0)+212>>2]=-1;F=c[s>>2]|0}o=o+1|0;if((o|0)>=(F|0))break;else B=F}}if((c[j>>2]|0)<0?(F=b+32|0,(c[F>>2]|0)<0):0){B=b+36|0;o=c[B>>2]|0;m=b+40|0;if(o|0){if(a[m>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[o+-4>>2]|0)}c[B>>2]=0}a[m>>0]=1;c[B>>2]=0;c[F>>2]=0}c[j>>2]=0;if((c[t>>2]|0)<0?(j=b+52|0,(c[j>>2]|0)<0):0){F=b+56|0;B=c[F>>2]|0;m=b+60|0;if(B|0){if(a[m>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[B+-4>>2]|0)}c[F>>2]=0}a[m>>0]=1;c[F>>2]=0;c[j>>2]=0}c[t>>2]=0;t=b+68|0;if((c[t>>2]|0)<0?(j=b+72|0,(c[j>>2]|0)<0):0){F=b+76|0;m=c[F>>2]|0;B=b+80|0;if(m|0){if(a[B>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[m+-4>>2]|0)}c[F>>2]=0}a[B>>0]=1;c[F>>2]=0;c[j>>2]=0}c[t>>2]=0;t=b+88|0;if((c[t>>2]|0)<0?(j=b+92|0,(c[j>>2]|0)<0):0){F=b+96|0;B=c[F>>2]|0;m=b+100|0;if(B|0){if(a[m>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[B+-4>>2]|0)}c[F>>2]=0}a[m>>0]=1;c[F>>2]=0;c[j>>2]=0}c[t>>2]=0;if((c[s>>2]|0)>=0){c[s>>2]=0;i=e;return 0.0}t=b+12|0;if((c[t>>2]|0)>=0){c[s>>2]=0;i=e;return 0.0}j=b+16|0;F=c[j>>2]|0;m=b+20|0;if(F|0){if(a[m>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[F+-4>>2]|0)}c[j>>2]=0}a[m>>0]=1;c[j>>2]=0;c[t>>2]=0;c[s>>2]=0;i=e;return 0.0}function Jg(b,d,e,f,h,i,j,k,l,m){b=b|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;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.0,E=0.0,F=0.0,G=0;m=b+48|0;i=c[m>>2]|0;h=b+28|0;f=c[h>>2]|0;e=b+68|0;n=c[e>>2]|0;o=l+64|0;if(c[o>>2]&1|0){if((i|0)>0){p=c[b+136>>2]|0;q=b+200|0;r=c[q>>2]|0;s=0;do{t=p+(s<<2)|0;u=c[t>>2]|0;s=s+1|0;r=(_(r,1664525)|0)+1013904223|0;if(s>>>0<65537){v=r>>>16^r;if(s>>>0<257){w=v>>>8^v;if(s>>>0<17){x=w>>>4^w;if(s>>>0<5){y=x>>>2^x;if(s>>>0<3)z=y>>>1^y;else z=y}else z=x}else z=w}else z=v}else z=r;v=p+(((z>>>0)%(s>>>0)|0)<<2)|0;c[t>>2]=c[v>>2];c[v>>2]=u}while((s|0)!=(i|0));c[q>>2]=r}if((c[l+20>>2]|0)>(d|0)){if((f|0)>0){r=c[b+116>>2]|0;q=b+200|0;i=c[q>>2]|0;s=0;do{z=r+(s<<2)|0;p=c[z>>2]|0;s=s+1|0;i=(_(i,1664525)|0)+1013904223|0;if(s>>>0<65537){u=i>>>16^i;if(s>>>0<257){v=u>>>8^u;if(s>>>0<17){t=v>>>4^v;if(s>>>0<5){w=t>>>2^t;if(s>>>0<3)A=w>>>1^w;else A=w}else A=t}else A=v}else A=u}else A=i;u=r+(((A>>>0)%(s>>>0)|0)<<2)|0;c[z>>2]=c[u>>2];c[u>>2]=p}while((s|0)!=(f|0));c[q>>2]=i}if((n|0)>0){i=c[b+156>>2]|0;q=b+200|0;f=c[q>>2]|0;s=0;do{A=i+(s<<2)|0;r=c[A>>2]|0;s=s+1|0;f=(_(f,1664525)|0)+1013904223|0;if(s>>>0<65537){p=f>>>16^f;if(s>>>0<257){u=p>>>8^p;if(s>>>0<17){z=u>>>4^u;if(s>>>0<5){v=z>>>2^z;if(s>>>0<3)B=v>>>1^v;else B=v}else B=z}else B=u}else B=p}else B=f;p=i+(((B>>>0)%(s>>>0)|0)<<2)|0;c[A>>2]=c[p>>2];c[p>>2]=r}while((s|0)!=(n|0));c[q>>2]=f}}}f=c[m>>2]|0;q=(f|0)>0;if(!(c[o>>2]&256)){if(q){n=b+136|0;s=b+56|0;B=b+16|0;i=f;r=0;while(1){p=c[(c[n>>2]|0)+(r<<2)>>2]|0;A=c[s>>2]|0;if((c[A+(p*152|0)+136>>2]|0)>(d|0)){u=c[B>>2]|0;+Kg(u+((c[A+(p*152|0)+144>>2]|0)*244|0)|0,u+((c[A+(p*152|0)+148>>2]|0)*244|0)|0,A+(p*152|0)|0);C=c[m>>2]|0}else C=i;r=r+1|0;if((r|0)>=(C|0))break;else i=C}}if((c[l+20>>2]|0)<=(d|0))return 0.0;if((k|0)>0){C=l+12|0;i=b+16|0;r=0;do{B=j+(r<<2)|0;s=c[B>>2]|0;if(a[s+20>>0]|0){n=Bg(b,c[s+28>>2]|0,+g[C>>2])|0;s=Bg(b,c[(c[B>>2]|0)+32>>2]|0,+g[C>>2])|0;p=c[i>>2]|0;A=c[B>>2]|0;$b[c[(c[A>>2]|0)+24>>2]&7](A,p+(n*244|0)|0,p+(s*244|0)|0,+g[C>>2])}r=r+1|0}while((r|0)!=(k|0))}r=c[h>>2]|0;if((r|0)>0){C=b+116|0;i=b+36|0;s=b+16|0;p=0;do{n=c[(c[C>>2]|0)+(p<<2)>>2]|0;A=c[i>>2]|0;B=c[s>>2]|0;+Lg(B+((c[A+(n*152|0)+144>>2]|0)*244|0)|0,B+((c[A+(n*152|0)+148>>2]|0)*244|0)|0,A+(n*152|0)|0);p=p+1|0}while((p|0)!=(r|0))}r=c[e>>2]|0;if((r|0)>0){p=b+156|0;s=b+76|0;i=b+36|0;C=b+16|0;n=0;do{A=c[(c[p>>2]|0)+(n<<2)>>2]|0;B=c[s>>2]|0;D=+g[(c[i>>2]|0)+((c[B+(A*152|0)+140>>2]|0)*152|0)+100>>2];if(D>0.0){E=D*+g[B+(A*152|0)+104>>2];g[B+(A*152|0)+120>>2]=-E;g[B+(A*152|0)+124>>2]=E;u=c[C>>2]|0;+Kg(u+((c[B+(A*152|0)+144>>2]|0)*244|0)|0,u+((c[B+(A*152|0)+148>>2]|0)*244|0)|0,B+(A*152|0)|0)}n=n+1|0}while((n|0)!=(r|0))}r=c[b+88>>2]|0;if((r|0)<=0)return 0.0;n=b+96|0;C=b+36|0;i=b+16|0;s=0;do{p=c[n>>2]|0;E=+g[(c[C>>2]|0)+((c[p+(s*152|0)+140>>2]|0)*152|0)+100>>2];if(E>0.0){D=+g[p+(s*152|0)+104>>2];F=E*D;E=F>D?D:F;g[p+(s*152|0)+120>>2]=-E;g[p+(s*152|0)+124>>2]=E;A=c[i>>2]|0;+Kg(A+((c[p+(s*152|0)+144>>2]|0)*244|0)|0,A+((c[p+(s*152|0)+148>>2]|0)*244|0)|0,p+(s*152|0)|0)}s=s+1|0}while((s|0)!=(r|0));return 0.0}if(q){q=b+136|0;r=b+56|0;s=b+16|0;i=f;f=0;while(1){C=c[(c[q>>2]|0)+(f<<2)>>2]|0;n=c[r>>2]|0;if((c[n+(C*152|0)+136>>2]|0)>(d|0)){p=c[s>>2]|0;+Kg(p+((c[n+(C*152|0)+144>>2]|0)*244|0)|0,p+((c[n+(C*152|0)+148>>2]|0)*244|0)|0,n+(C*152|0)|0);G=c[m>>2]|0}else G=i;f=f+1|0;if((f|0)>=(G|0))break;else i=G}}if((c[l+20>>2]|0)<=(d|0))return 0.0;if((k|0)>0){d=l+12|0;l=b+16|0;G=0;do{i=j+(G<<2)|0;f=c[i>>2]|0;if(a[f+20>>0]|0){m=Bg(b,c[f+28>>2]|0,+g[d>>2])|0;f=Bg(b,c[(c[i>>2]|0)+32>>2]|0,+g[d>>2])|0;s=c[l>>2]|0;r=c[i>>2]|0;$b[c[(c[r>>2]|0)+24>>2]&7](r,s+(m*244|0)|0,s+(f*244|0)|0,+g[d>>2])}G=G+1|0}while((G|0)!=(k|0))}k=c[o>>2]|0;G=c[h>>2]|0;if(k&512|0){h=(k>>>4&1)+1|0;if((G|0)<=0)return 0.0;k=b+116|0;d=b+36|0;l=b+16|0;j=b+156|0;f=b+76|0;s=0;do{m=c[(c[k>>2]|0)+(s<<2)>>2]|0;r=c[d>>2]|0;i=c[l>>2]|0;+Lg(i+((c[r+(m*152|0)+144>>2]|0)*244|0)|0,i+((c[r+(m*152|0)+148>>2]|0)*244|0)|0,r+(m*152|0)|0);E=+g[r+(m*152|0)+100>>2];m=_(s,h)|0;r=c[(c[j>>2]|0)+(m<<2)>>2]|0;i=c[f>>2]|0;q=E>0.0;if(q){F=E*+g[i+(r*152|0)+104>>2];g[i+(r*152|0)+120>>2]=-F;g[i+(r*152|0)+124>>2]=F;C=c[l>>2]|0;+Kg(C+((c[i+(r*152|0)+144>>2]|0)*244|0)|0,C+((c[i+(r*152|0)+148>>2]|0)*244|0)|0,i+(r*152|0)|0)}if(c[o>>2]&16|0?(r=c[(c[j>>2]|0)+(m+1<<2)>>2]|0,m=c[f>>2]|0,q):0){F=E*+g[m+(r*152|0)+104>>2];g[m+(r*152|0)+120>>2]=-F;g[m+(r*152|0)+124>>2]=F;q=c[l>>2]|0;+Kg(q+((c[m+(r*152|0)+144>>2]|0)*244|0)|0,q+((c[m+(r*152|0)+148>>2]|0)*244|0)|0,m+(r*152|0)|0)}s=s+1|0}while((s|0)!=(G|0));return 0.0}if((G|0)>0){s=b+116|0;l=b+36|0;f=b+16|0;j=0;do{o=c[(c[s>>2]|0)+(j<<2)>>2]|0;h=c[l>>2]|0;d=c[f>>2]|0;+Lg(d+((c[h+(o*152|0)+144>>2]|0)*244|0)|0,d+((c[h+(o*152|0)+148>>2]|0)*244|0)|0,h+(o*152|0)|0);j=j+1|0}while((j|0)!=(G|0))}G=c[e>>2]|0;if((G|0)>0){e=b+156|0;j=b+76|0;f=b+36|0;l=b+16|0;s=0;do{o=c[(c[e>>2]|0)+(s<<2)>>2]|0;h=c[j>>2]|0;F=+g[(c[f>>2]|0)+((c[h+(o*152|0)+140>>2]|0)*152|0)+100>>2];if(F>0.0){E=F*+g[h+(o*152|0)+104>>2];g[h+(o*152|0)+120>>2]=-E;g[h+(o*152|0)+124>>2]=E;d=c[l>>2]|0;+Kg(d+((c[h+(o*152|0)+144>>2]|0)*244|0)|0,d+((c[h+(o*152|0)+148>>2]|0)*244|0)|0,h+(o*152|0)|0)}s=s+1|0}while((s|0)!=(G|0))}G=c[b+88>>2]|0;if((G|0)<=0)return 0.0;s=b+96|0;l=b+36|0;f=b+16|0;b=0;do{j=c[s>>2]|0;E=+g[(c[l>>2]|0)+((c[j+(b*152|0)+140>>2]|0)*152|0)+100>>2];if(E>0.0){F=+g[j+(b*152|0)+104>>2];D=E*F;E=D>F?F:D;g[j+(b*152|0)+120>>2]=-E;g[j+(b*152|0)+124>>2]=E;e=c[f>>2]|0;+Kg(e+((c[j+(b*152|0)+144>>2]|0)*244|0)|0,e+((c[j+(b*152|0)+148>>2]|0)*244|0)|0,j+(b*152|0)|0)}b=b+1|0}while((b|0)!=(G|0));return 0.0}function Kg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0,j=0.0,k=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.0,A=0.0,B=0.0,C=0.0,D=0.0;e=d+100|0;f=+g[e>>2];h=+g[d+16>>2];i=a+64|0;j=+g[d+20>>2];k=a+68|0;l=+g[d+24>>2];m=a+72|0;n=a+80|0;o=a+84|0;p=a+88|0;q=d+48|0;r=b+64|0;s=d+52|0;t=b+68|0;u=d+56|0;v=b+72|0;w=b+80|0;x=b+84|0;y=b+88|0;z=+g[d+108>>2];A=+g[d+112>>2]-f*+g[d+116>>2]-(h*+g[i>>2]+j*+g[k>>2]+l*+g[m>>2]+(+g[d>>2]*+g[n>>2]+ +g[d+4>>2]*+g[o>>2]+ +g[d+8>>2]*+g[p>>2]))*z-z*(+g[q>>2]*+g[r>>2]+ +g[s>>2]*+g[t>>2]+ +g[u>>2]*+g[v>>2]+(+g[d+32>>2]*+g[w>>2]+ +g[d+36>>2]*+g[x>>2]+ +g[d+40>>2]*+g[y>>2]));z=f+A;B=+g[d+120>>2];do if(!(z<B)){C=+g[d+124>>2];if(z>C){g[e>>2]=C;D=C-f;break}else{g[e>>2]=z;D=A;break}}else{g[e>>2]=B;D=B-f}while(0);if(c[a+240>>2]|0){f=D*(j*+g[a+132>>2])*+g[a+116>>2];j=D*(l*+g[a+136>>2])*+g[a+120>>2];g[i>>2]=+g[a+112>>2]*(D*(h*+g[a+128>>2]))+ +g[i>>2];g[k>>2]=f+ +g[k>>2];g[m>>2]=j+ +g[m>>2];j=D*+g[a+100>>2]*+g[d+68>>2];f=D*+g[a+104>>2]*+g[d+72>>2];g[n>>2]=D*+g[a+96>>2]*+g[d+64>>2]+ +g[n>>2];g[o>>2]=j+ +g[o>>2];g[p>>2]=f+ +g[p>>2]}if(!(c[b+240>>2]|0))return +D;f=D*(+g[s>>2]*+g[b+132>>2])*+g[b+116>>2];j=D*(+g[u>>2]*+g[b+136>>2])*+g[b+120>>2];g[r>>2]=+g[b+112>>2]*(D*(+g[q>>2]*+g[b+128>>2]))+ +g[r>>2];g[t>>2]=f+ +g[t>>2];g[v>>2]=j+ +g[v>>2];j=D*+g[b+100>>2]*+g[d+84>>2];f=D*+g[b+104>>2]*+g[d+88>>2];g[w>>2]=D*+g[b+96>>2]*+g[d+80>>2]+ +g[w>>2];g[x>>2]=j+ +g[x>>2];g[y>>2]=f+ +g[y>>2];return +D}function Lg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0,j=0.0,k=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.0,A=0.0,B=0.0,C=0,D=0.0;e=d+100|0;f=+g[e>>2];h=+g[d+16>>2];i=a+64|0;j=+g[d+20>>2];k=a+68|0;l=+g[d+24>>2];m=a+72|0;n=a+80|0;o=a+84|0;p=a+88|0;q=d+48|0;r=b+64|0;s=d+52|0;t=b+68|0;u=d+56|0;v=b+72|0;w=b+80|0;x=b+84|0;y=b+88|0;z=+g[d+108>>2];A=+g[d+112>>2]-f*+g[d+116>>2]-(h*+g[i>>2]+j*+g[k>>2]+l*+g[m>>2]+(+g[d>>2]*+g[n>>2]+ +g[d+4>>2]*+g[o>>2]+ +g[d+8>>2]*+g[p>>2]))*z-z*(+g[q>>2]*+g[r>>2]+ +g[s>>2]*+g[t>>2]+ +g[u>>2]*+g[v>>2]+(+g[d+32>>2]*+g[w>>2]+ +g[d+36>>2]*+g[x>>2]+ +g[d+40>>2]*+g[y>>2]));z=f+A;B=+g[d+120>>2];C=z<B;D=C?B-f:A;g[e>>2]=C?B:z;if(c[a+240>>2]|0){z=D*(j*+g[a+132>>2])*+g[a+116>>2];j=D*(l*+g[a+136>>2])*+g[a+120>>2];g[i>>2]=+g[a+112>>2]*(D*(h*+g[a+128>>2]))+ +g[i>>2];g[k>>2]=z+ +g[k>>2];g[m>>2]=j+ +g[m>>2];j=D*+g[a+100>>2]*+g[d+68>>2];z=D*+g[a+104>>2]*+g[d+72>>2];g[n>>2]=D*+g[a+96>>2]*+g[d+64>>2]+ +g[n>>2];g[o>>2]=j+ +g[o>>2];g[p>>2]=z+ +g[p>>2]}if(!(c[b+240>>2]|0))return +D;z=D*(+g[s>>2]*+g[b+132>>2])*+g[b+116>>2];j=D*(+g[u>>2]*+g[b+136>>2])*+g[b+120>>2];g[r>>2]=+g[b+112>>2]*(D*(+g[q>>2]*+g[b+128>>2]))+ +g[r>>2];g[t>>2]=z+ +g[t>>2];g[v>>2]=j+ +g[v>>2];j=D*+g[b+100>>2]*+g[d+84>>2];z=D*+g[b+104>>2]*+g[d+88>>2];g[w>>2]=D*+g[b+96>>2]*+g[d+80>>2]+ +g[w>>2];g[x>>2]=j+ +g[x>>2];g[y>>2]=z+ +g[y>>2];return +D}function Mg(b,d,e,f,h,j,l,m,n){b=b|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;var 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.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,P=0.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,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.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,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,wb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0;n=i;i=i+304|0;o=n+248|0;p=n;c[b+188>>2]=-1;q=b+184|0;c[q>>2]=0;r=(e|0)>0;if(r){s=0;do{c[(c[d+(s<<2)>>2]|0)+212>>2]=-1;s=s+1|0}while((s|0)!=(e|0))}s=e+1|0;t=b+12|0;u=c[t>>2]|0;if((u|0)>(e|0)){v=b+8|0;w=u}else{if((s|0)!=0?(c[4350]=(c[4350]|0)+1,u=Tr((s*244|3)+16|0)|0,(u|0)!=0):0){x=u+4+15&-16;c[x+-4>>2]=u;y=x}else y=0;x=b+8|0;u=c[x>>2]|0;z=b+16|0;if((u|0)>0){A=0;do{B=y+(A*244|0)|0;C=c[z>>2]|0;D=C+(A*244|0)|0;c[B>>2]=c[D>>2];c[B+4>>2]=c[D+4>>2];c[B+8>>2]=c[D+8>>2];c[B+12>>2]=c[D+12>>2];D=y+(A*244|0)+16|0;B=C+(A*244|0)+16|0;c[D>>2]=c[B>>2];c[D+4>>2]=c[B+4>>2];c[D+8>>2]=c[B+8>>2];c[D+12>>2]=c[B+12>>2];B=y+(A*244|0)+32|0;D=C+(A*244|0)+32|0;c[B>>2]=c[D>>2];c[B+4>>2]=c[D+4>>2];c[B+8>>2]=c[D+8>>2];c[B+12>>2]=c[D+12>>2];D=y+(A*244|0)+48|0;B=C+(A*244|0)+48|0;c[D>>2]=c[B>>2];c[D+4>>2]=c[B+4>>2];c[D+8>>2]=c[B+8>>2];c[D+12>>2]=c[B+12>>2];Gs(y+(A*244|0)+64|0,C+(A*244|0)+64|0,180)|0;A=A+1|0}while((A|0)!=(u|0))}u=c[z>>2]|0;A=b+20|0;if(u|0){if(a[A>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[u+-4>>2]|0)}c[z>>2]=0}a[A>>0]=1;c[z>>2]=y;c[t>>2]=s;v=x;w=s}Bs(p|0,0,244)|0;s=c[v>>2]|0;if((s|0)<0){x=b+16|0;if((w|0)<0){w=c[x>>2]|0;y=b+20|0;if(w|0){if(a[y>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[w+-4>>2]|0)}c[x>>2]=0}a[y>>0]=1;c[x>>2]=0;c[t>>2]=0}t=p+16|0;y=p+32|0;w=p+48|0;z=p+64|0;A=s;do{s=c[x>>2]|0;u=s+(A*244|0)|0;c[u>>2]=c[p>>2];c[u+4>>2]=c[p+4>>2];c[u+8>>2]=c[p+8>>2];c[u+12>>2]=c[p+12>>2];u=s+(A*244|0)+16|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2];u=s+(A*244|0)+32|0;c[u>>2]=c[y>>2];c[u+4>>2]=c[y+4>>2];c[u+8>>2]=c[y+8>>2];c[u+12>>2]=c[y+12>>2];u=s+(A*244|0)+48|0;c[u>>2]=c[w>>2];c[u+4>>2]=c[w+4>>2];c[u+8>>2]=c[w+8>>2];c[u+12>>2]=c[w+12>>2];Gs(s+(A*244|0)+64|0,z|0,180)|0;A=A+1|0}while((A|0)!=0)}c[v>>2]=0;if(r){r=m+12|0;v=b+16|0;A=m+76|0;z=o+4|0;w=o+8|0;y=o+12|0;t=0;do{p=d+(t<<2)|0;x=Bg(b,c[p>>2]|0,+g[r>>2])|0;s=c[p>>2]|0;if(!((s|0)==0?1:(c[s+236>>2]&2|0)==0)?+g[s+368>>2]!=0.0:0){p=c[v>>2]|0;u=s+528|0;C=c[u>>2]|0;if(!(C&2))E=C;else{F=+g[A>>2];G=+g[s+420>>2];H=+g[s+424>>2];I=+g[s+428>>2];J=+g[s+4>>2];K=G!=0.0?1.0/G:0.0;G=K*J;L=+g[s+8>>2];M=H!=0.0?1.0/H:0.0;H=M*L;P=+g[s+12>>2];Q=I!=0.0?1.0/I:0.0;I=Q*P;R=+g[s+20>>2];S=K*R;T=+g[s+24>>2];U=M*T;V=+g[s+28>>2];W=Q*V;X=+g[s+36>>2];Y=K*X;K=+g[s+40>>2];Z=M*K;M=+g[s+44>>2];_=Q*M;Q=+g[s+352>>2];$=+g[s+356>>2];aa=+g[s+360>>2];ba=(G*J+H*L+I*P)*Q+(G*R+H*T+I*V)*$+(G*X+H*K+I*M)*aa;I=(S*J+U*L+W*P)*Q+(S*R+U*T+W*V)*$+(S*X+U*K+W*M)*aa;W=(Y*J+Z*L+_*P)*Q+(Y*R+Z*T+_*V)*$+(Y*X+Z*K+_*M)*aa;M=$*W-aa*I;_=aa*ba-Q*W;W=Q*I-$*ba;ba=M*M+_*_+W*W;if(ba>F*F){$=1.0/+O(+ba)*F;ca=M*$;da=$*_;ea=$*W}else{ca=M;da=_;ea=W}W=+g[r>>2];_=(ca*+g[s+292>>2]+da*+g[s+308>>2]+ea*+g[s+324>>2])*W;M=W*(ca*+g[s+296>>2]+da*+g[s+312>>2]+ea*+g[s+328>>2]);C=p+(x*244|0)+224|0;g[C>>2]=+g[C>>2]-(ca*+g[s+288>>2]+da*+g[s+304>>2]+ea*+g[s+320>>2])*W;C=p+(x*244|0)+228|0;g[C>>2]=+g[C>>2]-_;C=p+(x*244|0)+232|0;g[C>>2]=+g[C>>2]-M;E=c[u>>2]|0}if(!(E&4))fa=E;else{M=+g[r>>2];_=+g[s+420>>2];W=+g[s+424>>2];$=+g[s+428>>2];F=+g[s+352>>2];ba=+g[s+356>>2];I=+g[s+360>>2];Q=+g[s+4>>2];aa=_!=0.0?1.0/_:0.0;_=aa*Q;K=+g[s+8>>2];Z=W!=0.0?1.0/W:0.0;W=Z*K;X=+g[s+12>>2];Y=$!=0.0?1.0/$:0.0;$=Y*X;V=+g[s+20>>2];T=aa*V;R=+g[s+24>>2];P=Z*R;L=+g[s+28>>2];J=Y*L;U=+g[s+36>>2];S=aa*U;aa=+g[s+40>>2];H=Z*aa;Z=+g[s+44>>2];G=Y*Z;Y=_*Q+W*K+$*X;ga=_*V+W*R+$*L;ha=_*U+W*aa+$*Z;$=T*Q+P*K+J*X;W=T*V+P*R+J*L;_=T*U+P*aa+J*Z;J=S*Q+H*K+G*X;X=S*V+H*R+G*L;L=S*U+H*aa+G*Z;Z=I*ha;G=F*Y+ba*ga+Z;aa=F*$;H=aa+ba*W+I*_;U=ba*X;S=F*J+U+I*L;R=M*0.0;V=G+(ba*S-I*H)*M-(R+G);K=H+(I*G-F*S)*M-(R+H);Q=S+(F*H-ba*G)*M-(R+S);R=-I;P=-F;T=-ba;ia=Y+(ba*J+(Y*0.0+$*R))*M;ja=ga+(S+(U+(ga*0.0+W*R)))*M;U=ha+(ba*L+(ha*0.0+_*R)-H)*M;R=$+(J*P+($*0.0+I*Y)-S)*M;S=W+(X*P+(W*0.0+I*ga))*M;$=_+(G+(L*P+(_*0.0+Z)))*M;Z=J+(J*0.0+(Y*T+aa)+H)*M;H=X+(X*0.0+(ga*T+F*W)-G)*M;G=L+(L*0.0+(ha*T+F*_))*M;M=S*G-H*$;_=H*U-ja*G;T=ja*$-S*U;ha=Z*T+(ia*M+R*_);C=+N(+ha)>1.1920928955078125e-07;L=C?1.0/ha:ha;C=p+(x*244|0)+224|0;g[C>>2]=F-(Q*T+(V*M+K*_))*L-F+ +g[C>>2];C=p+(x*244|0)+228|0;g[C>>2]=ba-(Z*($*V-U*K)+(ia*(G*K-$*Q)+R*(U*Q-G*V)))*L-ba+ +g[C>>2];C=p+(x*244|0)+232|0;g[C>>2]=I-(Z*(ja*K-S*V)+(ia*(S*Q-H*K)+R*(H*V-ja*Q)))*L-I+ +g[C>>2];fa=c[u>>2]|0}if(fa&8|0){I=+g[r>>2];L=+g[s+420>>2];Q=+g[s+424>>2];ja=+g[s+428>>2];V=+g[s+352>>2];H=+g[s+356>>2];R=+g[s+360>>2];Ae(s+4|0,o);K=+g[o>>2];S=-K;ia=+g[z>>2];Z=-ia;ba=+g[w>>2];G=-ba;U=+g[y>>2];$=R*Z+V*U-H*G;F=V*G+H*U-R*S;_=H*S+R*U-V*Z;M=-(V*S)-H*Z-R*G;T=ba*F+(K*M+U*$)-ia*_;ha=K*_+(ia*M+U*F)-ba*$;W=ia*$+(ba*M+U*_)-K*F;F=L!=0.0?1.0/L:0.0;L=ha*0.0;_=W*0.0;U=_+(F*T+L);M=T*0.0;$=Q!=0.0?1.0/Q:0.0;Q=_+(M+$*ha);ga=ja!=0.0?1.0/ja:0.0;ja=ga*W+(M+L);X=(ha*ja-W*Q)*I;aa=(W*U-T*ja)*I;Y=(T*Q-ha*U)*I;J=W*-0.0;P=T*-0.0;ka=ha*-0.0;la=F+(L+(F*0.0+J))*I;ma=(L+(0.0-$*W)+ja)*I+0.0;L=(ga*ha+(J+0.0)-Q)*I+0.0;J=(P+(F*W+0.0)-ja)*I+0.0;ja=$+(P+($*0.0+_))*I;P=(_+0.0-ga*T+U)*I+0.0;_=(M-F*ha+0.0+Q)*I+0.0;Q=(ka+$*T+0.0-U)*I+0.0;U=ga+(ga*0.0+(ka+M))*I;I=ja*U-Q*P;M=Q*L-U*ma;ka=ma*P-ja*L;ga=_*ka+(la*I+J*M);s=+N(+ga)>1.1920928955078125e-07;$=s?1.0/ga:ga;ga=T-(Y*ka+(X*I+aa*M))*$;M=ha-(_*(P*X-L*aa)+(la*(U*aa-P*Y)+J*(L*Y-U*X)))*$;U=W-(_*(ma*aa-ja*X)+(la*(ja*Y-Q*aa)+J*(Q*X-ma*Y)))*$;$=+g[y>>2];Y=$*ga+ia*U-ba*M;ma=ba*ga+$*M-K*U;X=$*U+K*M-ia*ga;Q=-(K*ga)-ia*M-ba*U;s=p+(x*244|0)+224|0;g[s>>2]=ma*G+($*Y+Q*S)-X*Z-V+ +g[s>>2];s=p+(x*244|0)+228|0;g[s>>2]=X*S+($*ma+Q*Z)-Y*G-H+ +g[s>>2];s=p+(x*244|0)+232|0;g[s>>2]=Y*Z+(Q*G+$*X)-ma*S-R+ +g[s>>2]}}t=t+1|0}while((t|0)!=(e|0))}e=(l|0)>0;if(e){t=0;do{y=c[j+(t<<2)>>2]|0;vb[c[(c[y>>2]|0)+8>>2]&255](y);g[y+36>>2]=0.0;t=t+1|0}while((t|0)!=(l|0))}t=b+168|0;y=c[t>>2]|0;if((y|0)<(l|0)?(w=b+172|0,(c[w>>2]|0)<(l|0)):0){if(!l){na=0;oa=y}else{c[4350]=(c[4350]|0)+1;y=Tr((l<<3|3)+16|0)|0;if(!y)pa=0;else{z=y+4+15&-16;c[z+-4>>2]=y;pa=z}na=pa;oa=c[t>>2]|0}pa=b+176|0;if((oa|0)>0){z=0;do{y=(c[pa>>2]|0)+(z<<3)|0;r=c[y+4>>2]|0;fa=na+(z<<3)|0;c[fa>>2]=c[y>>2];c[fa+4>>2]=r;z=z+1|0}while((z|0)!=(oa|0))}oa=c[pa>>2]|0;z=b+180|0;if(oa|0){if(a[z>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[oa+-4>>2]|0)}c[pa>>2]=0}a[z>>0]=1;c[pa>>2]=na;c[w>>2]=l}c[t>>2]=l;if(e){t=b+176|0;w=0;na=0;while(1){pa=c[t>>2]|0;z=pa+(w<<3)|0;oa=j+(w<<2)|0;r=c[oa>>2]|0;fa=c[r+44>>2]|0;if(!fa)qa=r;else{r=fa;fa=r+64|0;do{c[r>>2]=0;r=r+4|0}while((r|0)<(fa|0));qa=c[oa>>2]|0}if(!(a[qa+20>>0]|0)){c[z>>2]=0;c[pa+(w<<3)+4>>2]=0;ra=0}else{xb[c[(c[qa>>2]|0)+16>>2]&127](qa,z);ra=c[z>>2]|0}r=ra+na|0;w=w+1|0;if((w|0)==(l|0)){sa=r;break}else na=r}}else sa=0;na=b+48|0;w=c[na>>2]|0;if((w|0)<(sa|0)?(ra=b+52|0,(c[ra>>2]|0)<(sa|0)):0){if(!sa){ta=0;ua=w}else{c[4350]=(c[4350]|0)+1;w=Tr((sa*152|3)+16|0)|0;if(!w)va=0;else{qa=w+4+15&-16;c[qa+-4>>2]=w;va=qa}ta=va;ua=c[na>>2]|0}va=b+56|0;if((ua|0)>0){qa=0;do{Gs(ta+(qa*152|0)|0,(c[va>>2]|0)+(qa*152|0)|0,152)|0;qa=qa+1|0}while((qa|0)!=(ua|0))}ua=c[va>>2]|0;qa=b+60|0;if(ua|0){if(a[qa>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[ua+-4>>2]|0)}c[va>>2]=0}a[qa>>0]=1;c[va>>2]=ta;c[ra>>2]=sa}c[na>>2]=sa;if(e){e=b+176|0;sa=b+56|0;ra=m+12|0;ta=b+16|0;va=m+20|0;qa=m+32|0;ua=o+4|0;w=o+8|0;t=o+12|0;r=o+16|0;fa=o+20|0;y=o+24|0;E=o+28|0;A=m+40|0;v=m+4|0;d=o+52|0;s=o+32|0;x=o+36|0;p=o+40|0;u=o+48|0;C=c[e>>2]|0;B=0;D=0;while(1){wa=C+(D<<3)|0;if(!(c[wa>>2]|0)){xa=0;ya=C}else{za=c[sa>>2]|0;Aa=za+(B*152|0)|0;Ba=j+(D<<2)|0;Ca=c[Ba>>2]|0;Da=Ca+28|0;Ea=c[Da>>2]|0;Fa=Ca+32|0;Ga=c[Fa>>2]|0;Ha=Bg(b,Ea,+g[ra>>2])|0;Ia=Bg(b,Ga,+g[ra>>2])|0;Ja=c[ta>>2]|0;Ka=c[Ca+24>>2]|0;La=(Ka|0)>0?Ka:c[va>>2]|0;if((La|0)>(c[q>>2]|0))c[q>>2]=La;if((c[wa>>2]|0)>0){Ka=0;do{Bs(Aa+(Ka*152|0)|0,0,152)|0;g[Aa+(Ka*152|0)+120>>2]=-3402823466385288598117041.0e14;g[Aa+(Ka*152|0)+124>>2]=3402823466385288598117041.0e14;g[Aa+(Ka*152|0)+100>>2]=0.0;g[Aa+(Ka*152|0)+96>>2]=0.0;c[Aa+(Ka*152|0)+144>>2]=Ha;c[Aa+(Ka*152|0)+148>>2]=Ia;c[Aa+(Ka*152|0)+136>>2]=La;Ka=Ka+1|0}while((Ka|0)<(c[wa>>2]|0))}Ka=Ja+(Ha*244|0)+64|0;La=Ja+(Ha*244|0)+144|0;z=Ja+(Ia*244|0)+64|0;c[Ka>>2]=0;c[Ka+4>>2]=0;c[Ka+8>>2]=0;c[Ka+12>>2]=0;c[Ka+16>>2]=0;c[Ka+20>>2]=0;c[Ka+24>>2]=0;c[Ka+28>>2]=0;c[La>>2]=0;c[La+4>>2]=0;c[La+8>>2]=0;c[La+12>>2]=0;c[La+16>>2]=0;c[La+20>>2]=0;c[La+24>>2]=0;c[La+28>>2]=0;La=Ja+(Ia*244|0)+144|0;c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;c[z+16>>2]=0;c[z+20>>2]=0;c[z+24>>2]=0;c[z+28>>2]=0;c[La>>2]=0;c[La+4>>2]=0;c[La+8>>2]=0;c[La+12>>2]=0;c[La+16>>2]=0;c[La+20>>2]=0;c[La+24>>2]=0;c[La+28>>2]=0;g[o>>2]=1.0/+g[ra>>2];c[ua>>2]=c[qa>>2];c[w>>2]=za+(B*152|0)+16;c[t>>2]=Aa;c[r>>2]=za+(B*152|0)+48;c[fa>>2]=za+(B*152|0)+32;c[y>>2]=38;c[E>>2]=za+(B*152|0)+112;La=za+(B*152|0)+116|0;c[La>>2]=c[A>>2];c[d>>2]=c[v>>2];c[s>>2]=La;c[x>>2]=za+(B*152|0)+120;c[p>>2]=za+(B*152|0)+124;c[u>>2]=c[va>>2];La=c[Ba>>2]|0;xb[c[(c[La>>2]|0)+20>>2]&127](La,o);if((c[wa>>2]|0)>0){La=Ea+368|0;z=Ea+288|0;Ka=Ea+292|0;pa=Ea+296|0;oa=Ea+304|0;Ma=Ea+308|0;Na=Ea+312|0;Oa=Ea+320|0;Pa=Ea+324|0;Qa=Ea+328|0;Ra=Ga+368|0;Sa=Ga+288|0;Ta=Ga+292|0;Ua=Ga+296|0;Va=Ga+304|0;Wa=Ga+308|0;Xa=Ga+312|0;Ya=Ga+320|0;Za=Ga+324|0;_a=Ga+328|0;$a=Ja+(Ha*244|0)+240|0;ab=Ja+(Ia*244|0)+240|0;bb=Ea+336|0;cb=Ea+340|0;db=Ea+344|0;eb=Ea+352|0;fb=Ea+356|0;gb=Ea+360|0;hb=Ga+336|0;ib=Ga+340|0;jb=Ga+344|0;kb=Ga+352|0;lb=Ga+356|0;mb=Ga+360|0;nb=Ja+(Ia*244|0)+208|0;ob=Ja+(Ia*244|0)+212|0;pb=Ja+(Ia*244|0)+216|0;qb=Ja+(Ia*244|0)+224|0;rb=Ja+(Ia*244|0)+228|0;sb=Ja+(Ia*244|0)+232|0;tb=Ja+(Ha*244|0)+208|0;ub=Ja+(Ha*244|0)+212|0;wb=Ja+(Ha*244|0)+216|0;yb=Ja+(Ha*244|0)+224|0;zb=Ja+(Ha*244|0)+228|0;Ab=Ja+(Ha*244|0)+232|0;Bb=0;do{Cb=Aa+(Bb*152|0)+124|0;ea=+g[(c[Ba>>2]|0)+16>>2];if(+g[Cb>>2]>=ea)g[Cb>>2]=ea;Cb=Aa+(Bb*152|0)+120|0;da=-ea;if(+g[Cb>>2]<=da)g[Cb>>2]=da;c[Aa+(Bb*152|0)+132>>2]=Ca;Cb=Aa+(Bb*152|0)|0;Db=Aa+(Bb*152|0)+64|0;Eb=c[Da>>2]|0;da=+g[Cb>>2];Fb=Cb+4|0;ea=+g[Fb>>2];Gb=Cb+8|0;ca=+g[Gb>>2];R=(da*+g[Eb+304>>2]+ea*+g[Eb+308>>2]+ca*+g[Eb+312>>2])*+g[Eb+572>>2];S=(da*+g[Eb+320>>2]+ea*+g[Eb+324>>2]+ca*+g[Eb+328>>2])*+g[Eb+576>>2];g[Db>>2]=(+g[Eb+288>>2]*da+ +g[Eb+292>>2]*ea+ +g[Eb+296>>2]*ca)*+g[Eb+568>>2];g[Db+4>>2]=R;g[Db+8>>2]=S;g[Db+12>>2]=0.0;Db=Aa+(Bb*152|0)+32|0;Eb=Aa+(Bb*152|0)+80|0;Hb=c[Fa>>2]|0;S=+g[Db>>2];Ib=Db+4|0;R=+g[Ib>>2];Jb=Db+8|0;ca=+g[Jb>>2];ea=(S*+g[Hb+304>>2]+R*+g[Hb+308>>2]+ca*+g[Hb+312>>2])*+g[Hb+572>>2];da=(S*+g[Hb+320>>2]+R*+g[Hb+324>>2]+ca*+g[Hb+328>>2])*+g[Hb+576>>2];g[Eb>>2]=(+g[Hb+288>>2]*S+ +g[Hb+292>>2]*R+ +g[Hb+296>>2]*ca)*+g[Hb+568>>2];g[Eb+4>>2]=ea;g[Eb+8>>2]=da;g[Eb+12>>2]=0.0;Eb=Aa+(Bb*152|0)+16|0;da=+g[La>>2];ea=+g[Eb>>2];Hb=Eb+4|0;R=+g[Hb>>2];S=+g[Eb+8>>2];ma=+g[Cb>>2];X=+g[Fb>>2];$=+g[Gb>>2];Gb=Aa+(Bb*152|0)+48|0;G=+g[Ra>>2];Q=+g[Gb>>2];Z=+g[Gb+4>>2];Y=+g[Gb+8>>2];H=+g[Db>>2];V=+g[Ib>>2];U=ea*(da*ea)+R*(da*R)+S*(da*S)+(ma*(+g[z>>2]*ma+ +g[Ka>>2]*X+ +g[pa>>2]*$)+X*(ma*+g[oa>>2]+X*+g[Ma>>2]+$*+g[Na>>2])+$*(ma*+g[Oa>>2]+X*+g[Pa>>2]+$*+g[Qa>>2]))+(Q*(G*Q)+Z*(G*Z)+Y*(G*Y))+(H*(+g[Sa>>2]*H+ +g[Ta>>2]*V+ +g[Ua>>2]*ca)+V*(H*+g[Va>>2]+V*+g[Wa>>2]+ca*+g[Xa>>2])+ca*(H*+g[Ya>>2]+V*+g[Za>>2]+ca*+g[_a>>2]));Ib=+N(+U)>1.1920928955078125e-07;ca=Ib?1.0/U:0.0;g[Aa+(Bb*152|0)+108>>2]=ca;if(!(c[$a>>2]|0)){Kb=0;Lb=0;Mb=0;Nb=0;Ob=0;Pb=0}else{Kb=c[tb>>2]|0;Lb=c[ub>>2]|0;Mb=c[wb>>2]|0;Nb=c[yb>>2]|0;Ob=c[zb>>2]|0;Pb=c[Ab>>2]|0}if(!(c[ab>>2]|0)){Qb=0;Rb=0;Sb=0;Tb=0;Ub=0;Vb=0}else{Qb=c[nb>>2]|0;Rb=c[ob>>2]|0;Sb=c[pb>>2]|0;Tb=c[qb>>2]|0;Ub=c[rb>>2]|0;Vb=c[sb>>2]|0}U=(c[k>>2]=Kb,+g[k>>2])+ +g[bb>>2];G=(c[k>>2]=Lb,+g[k>>2])+ +g[cb>>2];da=U*+g[Eb>>2]+G*+g[Hb>>2]+((c[k>>2]=Mb,+g[k>>2])+ +g[db>>2])*S;S=(c[k>>2]=Nb,+g[k>>2])+ +g[eb>>2];G=(c[k>>2]=Ob,+g[k>>2])+ +g[fb>>2];U=da+(S*ma+G*X+((c[k>>2]=Pb,+g[k>>2])+ +g[gb>>2])*$);$=(c[k>>2]=Qb,+g[k>>2])+ +g[hb>>2];X=(c[k>>2]=Rb,+g[k>>2])+ +g[ib>>2];G=$*Q+X*Z+((c[k>>2]=Sb,+g[k>>2])+ +g[jb>>2])*Y;Y=(c[k>>2]=Tb,+g[k>>2])+ +g[kb>>2];Z=(c[k>>2]=Ub,+g[k>>2])+ +g[lb>>2];Hb=Aa+(Bb*152|0)+112|0;g[Hb>>2]=+g[Hb>>2]*ca+ca*(0.0-+g[d>>2]*(U+(G+(Y*H+Z*V+((c[k>>2]=Vb,+g[k>>2])+ +g[mb>>2])*+g[Jb>>2]))));g[Aa+(Bb*152|0)+100>>2]=0.0;Bb=Bb+1|0}while((Bb|0)<(c[wa>>2]|0))}wa=c[e>>2]|0;xa=c[wa+(D<<3)>>2]|0;ya=wa}D=D+1|0;if((D|0)==(l|0))break;else{C=ya;B=xa+B|0}}}ec[c[(c[b>>2]|0)+28>>2]&63](b,f,h,m);h=c[na>>2]|0;na=c[b+28>>2]|0;f=c[b+68>>2]|0;B=b+128|0;xa=c[B>>2]|0;if((xa|0)<(h|0)?(ya=b+132|0,(c[ya>>2]|0)<(h|0)):0){if(!h){Wb=0;Xb=xa}else{c[4350]=(c[4350]|0)+1;xa=Tr((h<<2|3)+16|0)|0;if(!xa)Yb=0;else{C=xa+4+15&-16;c[C+-4>>2]=xa;Yb=C}Wb=Yb;Xb=c[B>>2]|0}Yb=b+136|0;C=c[Yb>>2]|0;if((Xb|0)<=0)if(!C)Zb=b+140|0;else _b=103;else{xa=0;do{c[Wb+(xa<<2)>>2]=c[C+(xa<<2)>>2];xa=xa+1|0}while((xa|0)!=(Xb|0));_b=103}if((_b|0)==103){Xb=b+140|0;if(a[Xb>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[C+-4>>2]|0)}c[Yb>>2]=0;Zb=Xb}a[Zb>>0]=1;c[Yb>>2]=Wb;c[ya>>2]=h}c[B>>2]=h;if(!(c[m+64>>2]&16)){m=b+108|0;B=c[m>>2]|0;if((B|0)<(na|0)?(ya=b+112|0,(c[ya>>2]|0)<(na|0)):0){if(!na){$b=0;ac=B}else{c[4350]=(c[4350]|0)+1;B=Tr((na<<2|3)+16|0)|0;if(!B)bc=0;else{Wb=B+4+15&-16;c[Wb+-4>>2]=B;bc=Wb}$b=bc;ac=c[m>>2]|0}bc=b+116|0;Wb=c[bc>>2]|0;if((ac|0)<=0)if(!Wb)cc=b+120|0;else _b=133;else{B=0;do{c[$b+(B<<2)>>2]=c[Wb+(B<<2)>>2];B=B+1|0}while((B|0)!=(ac|0));_b=133}if((_b|0)==133){ac=b+120|0;if(a[ac>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[Wb+-4>>2]|0)}c[bc>>2]=0;cc=ac}a[cc>>0]=1;c[bc>>2]=$b;c[ya>>2]=na}c[m>>2]=na}else{m=na<<1;ya=b+108|0;$b=c[ya>>2]|0;if(($b|0)<(m|0)?(bc=b+112|0,(c[bc>>2]|0)<(m|0)):0){if(!na){dc=0;fc=$b}else{c[4350]=(c[4350]|0)+1;$b=Tr((na<<3|3)+16|0)|0;if(!$b)gc=0;else{cc=$b+4+15&-16;c[cc+-4>>2]=$b;gc=cc}dc=gc;fc=c[ya>>2]|0}gc=b+116|0;cc=c[gc>>2]|0;if((fc|0)<=0)if(!cc)hc=b+120|0;else _b=118;else{$b=0;do{c[dc+($b<<2)>>2]=c[cc+($b<<2)>>2];$b=$b+1|0}while(($b|0)!=(fc|0));_b=118}if((_b|0)==118){fc=b+120|0;if(a[fc>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[cc+-4>>2]|0)}c[gc>>2]=0;hc=fc}a[hc>>0]=1;c[gc>>2]=dc;c[bc>>2]=m}c[ya>>2]=m}m=b+148|0;ya=c[m>>2]|0;if((ya|0)<(f|0)?(bc=b+152|0,(c[bc>>2]|0)<(f|0)):0){if(!f){ic=0;jc=ya}else{c[4350]=(c[4350]|0)+1;ya=Tr((f<<2|3)+16|0)|0;if(!ya)kc=0;else{dc=ya+4+15&-16;c[dc+-4>>2]=ya;kc=dc}ic=kc;jc=c[m>>2]|0}kc=b+156|0;dc=c[kc>>2]|0;if((jc|0)<=0)if(!dc)lc=b+160|0;else _b=148;else{ya=0;do{c[ic+(ya<<2)>>2]=c[dc+(ya<<2)>>2];ya=ya+1|0}while((ya|0)!=(jc|0));_b=148}if((_b|0)==148){_b=b+160|0;if(a[_b>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[dc+-4>>2]|0)}c[kc>>2]=0;lc=_b}a[lc>>0]=1;c[kc>>2]=ic;c[bc>>2]=f}c[m>>2]=f;if((h|0)>0){m=c[b+136>>2]|0;bc=0;do{c[m+(bc<<2)>>2]=bc;bc=bc+1|0}while((bc|0)!=(h|0))}if((na|0)>0){h=c[b+116>>2]|0;bc=0;do{c[h+(bc<<2)>>2]=bc;bc=bc+1|0}while((bc|0)!=(na|0))}if((f|0)<=0){i=n;return 0.0}na=c[b+156>>2]|0;b=0;do{c[na+(b<<2)>>2]=b;b=b+1|0}while((b|0)!=(f|0));i=n;return 0.0}function Ng(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;Pb[c[(c[a>>2]|0)+32>>2]&1](a,b,d,e,f,g,h,i,j);k=c[a+184>>2]|0;l=c[i+20>>2]|0;m=(k|0)>(l|0)?k:l;if((m|0)<=0)return 0.0;l=0;do{+Tb[c[(c[a>>2]|0)+40>>2]&3](a,l,b,d,e,f,g,h,i,j);l=l+1|0}while((l|0)<(m|0));return 0.0}function Og(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;c[b>>2]=3184;d=b+512|0;e=b+520|0;f=c[e>>2]|0;g=b+524|0;if(f|0){if(a[g>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[f+-4>>2]|0)}c[e>>2]=0}a[g>>0]=1;c[e>>2]=0;c[d>>2]=0;c[b+516>>2]=0;c[b>>2]=3680;d=b+268|0;e=b+276|0;g=c[e>>2]|0;f=b+280|0;if(!g){a[f>>0]=1;c[e>>2]=0;c[d>>2]=0;h=b+272|0;c[h>>2]=0;return}if(a[f>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[g+-4>>2]|0)}c[e>>2]=0;a[f>>0]=1;c[e>>2]=0;c[d>>2]=0;h=b+272|0;c[h>>2]=0;return}function Pg(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=a+28|0;c[b>>2]=Rb[c[(c[e>>2]|0)+28>>2]&31](e,c[f>>2]|0)|0;g=a+32|0;c[b+4>>2]=Rb[c[(c[e>>2]|0)+28>>2]&31](e,c[g>>2]|0)|0;h=Rb[c[(c[e>>2]|0)+40>>2]&31](e,a)|0;i=Rb[c[(c[e>>2]|0)+28>>2]&31](e,h)|0;c[b+8>>2]=i;if(i|0)xb[c[(c[e>>2]|0)+48>>2]&127](e,h);c[b+12>>2]=c[a+4>>2];c[b+24>>2]=d[a+21>>0];c[b+40>>2]=c[a+24>>2];c[b+44>>2]=c[a+16>>2];c[b+48>>2]=d[a+20>>0];c[b+20>>2]=c[a+12>>2];c[b+16>>2]=c[a+8>>2];c[b+28>>2]=c[a+36>>2];c[b+32>>2]=c[a+40>>2];h=b+36|0;c[h>>2]=0;b=c[f>>2]|0;if((c[b+512>>2]|0)>0){e=b;b=0;while(1){if((c[(c[e+520>>2]|0)+(b<<2)>>2]|0)==(a|0)){c[h>>2]=1;j=c[f>>2]|0}else j=e;b=b+1|0;if((b|0)>=(c[j+512>>2]|0))break;else e=j}}j=c[g>>2]|0;if((c[j+512>>2]|0)>0){k=j;l=0}else return 7575;while(1){if((c[(c[k+520>>2]|0)+(l<<2)>>2]|0)==(a|0)){c[h>>2]=1;m=c[g>>2]|0}else m=k;l=l+1|0;if((l|0)>=(c[m+512>>2]|0))break;else k=m}return 7575}function Qg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;c[b>>2]=2924;if(a[b+272>>0]|0?(d=b+204|0,e=c[d>>2]|0,vb[c[c[e>>2]>>2]&255](e),e=c[d>>2]|0,e|0):0){c[4351]=(c[4351]|0)+1;Ur(c[e+-4>>2]|0)}e=b+196|0;d=c[e>>2]|0;if(d|0?(vb[c[c[d>>2]>>2]&255](d),d=c[e>>2]|0,d|0):0){c[4351]=(c[4351]|0)+1;Ur(c[d+-4>>2]|0)}if(a[b+273>>0]|0?(d=b+200|0,e=c[d>>2]|0,vb[c[c[e>>2]>>2]&255](e),e=c[d>>2]|0,e|0):0){c[4351]=(c[4351]|0)+1;Ur(c[e+-4>>2]|0)}e=b+308|0;d=b+316|0;f=c[d>>2]|0;g=b+320|0;if(f|0){if(a[g>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[f+-4>>2]|0)}c[d>>2]=0}a[g>>0]=1;c[d>>2]=0;c[e>>2]=0;c[b+312>>2]=0;e=b+280|0;d=b+288|0;g=c[d>>2]|0;f=b+292|0;if(g|0){if(a[f>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[g+-4>>2]|0)}c[d>>2]=0}a[f>>0]=1;c[d>>2]=0;c[e>>2]=0;c[b+284>>2]=0;e=b+232|0;d=b+240|0;f=c[d>>2]|0;g=b+244|0;if(f|0){if(a[g>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[f+-4>>2]|0)}c[d>>2]=0}a[g>>0]=1;c[d>>2]=0;c[e>>2]=0;c[b+236>>2]=0;e=b+212|0;d=b+220|0;g=c[d>>2]|0;f=b+224|0;if(g|0){if(a[f>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[g+-4>>2]|0)}c[d>>2]=0}a[f>>0]=1;c[d>>2]=0;c[e>>2]=0;c[b+216>>2]=0;e=b+180|0;d=b+188|0;f=c[d>>2]|0;g=b+192|0;if(!f){a[g>>0]=1;c[d>>2]=0;c[e>>2]=0;h=b+184|0;c[h>>2]=0;Ej(b);return}if(a[g>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[f+-4>>2]|0)}c[d>>2]=0;a[g>>0]=1;c[d>>2]=0;c[e>>2]=0;h=b+184|0;c[h>>2]=0;Ej(b);return}function Rg(a){a=a|0;Qg(a);if(!a)return;c[4351]=(c[4351]|0)+1;Ur(c[a+-4>>2]|0);return}function Sg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;Ij(a);if((zb[c[(c[a>>2]|0)+20>>2]&127](a)|0?(b=zb[c[(c[a>>2]|0)+20>>2]&127](a)|0,(zb[c[(c[b>>2]|0)+48>>2]&127](b)|0)&6144|0):0)?(b=zb[c[(c[a>>2]|0)+104>>2]&127](a)|0,(b|0)>0):0){d=b;do{b=d;d=d+-1|0;e=Rb[c[(c[a>>2]|0)+108>>2]&31](a,d)|0;xb[c[(c[a>>2]|0)+168>>2]&127](a,e)}while((b|0)>1)}if((((zb[c[(c[a>>2]|0)+20>>2]&127](a)|0?(d=zb[c[(c[a>>2]|0)+20>>2]&127](a)|0,(zb[c[(c[d>>2]|0)+48>>2]&127](d)|0)&16387|0):0)?zb[c[(c[a>>2]|0)+20>>2]&127](a)|0:0)?(d=zb[c[(c[a>>2]|0)+20>>2]&127](a)|0,zb[c[(c[d>>2]|0)+48>>2]&127](d)|0):0)?(d=a+280|0,(c[d>>2]|0)>0):0){b=a+288|0;e=a+72|0;f=0;do{g=c[(c[b>>2]|0)+(f<<2)>>2]|0;xb[c[(c[g>>2]|0)+12>>2]&127](g,c[e>>2]|0);f=f+1|0}while((f|0)<(c[d>>2]|0))}if(!(zb[c[(c[a>>2]|0)+20>>2]&127](a)|0))return;d=zb[c[(c[a>>2]|0)+20>>2]&127](a)|0;vb[c[(c[d>>2]|0)+92>>2]&255](d);return}function Tg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;jk(a,b,c,d);return}function Ug(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(!((d|0)==0?1:(c[d+236>>2]&2|0)==0)){xb[c[(c[b>>2]|0)+92>>2]&127](b,d);return}e=d+188|0;f=c[e>>2]|0;if(f|0){g=b+68|0;h=c[g>>2]|0;i=zb[c[(c[h>>2]|0)+36>>2]&127](h)|0;h=b+24|0;ac[c[(c[i>>2]|0)+40>>2]&63](i,f,c[h>>2]|0);i=c[g>>2]|0;ac[c[(c[i>>2]|0)+12>>2]&63](i,f,c[h>>2]|0);c[e>>2]=0}e=b+8|0;h=c[e>>2]|0;if((h|0)<=0)return;f=b+16|0;b=c[f>>2]|0;i=0;while(1){j=b+(i<<2)|0;if((c[j>>2]|0)==(d|0))break;g=i+1|0;if((g|0)<(h|0))i=g;else{k=11;break}}if((k|0)==11)return;if((i|0)>=(h|0))return;i=d;d=h+-1|0;c[j>>2]=c[b+(d<<2)>>2];b=(c[f>>2]|0)+(d<<2)|0;a[b>>0]=i;a[b+1>>0]=i>>8;a[b+2>>0]=i>>16;a[b+3>>0]=i>>24;c[e>>2]=(c[e>>2]|0)+-1;return}function Vg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;vb[c[(c[b>>2]|0)+32>>2]&255](b);d=Hb[c[(c[b>>2]|0)+16>>2]&31](b,104,1)|0;e=c[d+8>>2]|0;f=e;g=f+104|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[e+88>>2]=c[a+248>>2];c[e+92>>2]=c[a+252>>2];c[e+96>>2]=c[a+256>>2];c[e+100>>2]=c[a+260>>2];c[e>>2]=c[a+92>>2];c[e+4>>2]=c[a+96>>2];c[e+8>>2]=c[a+100>>2];c[e+12>>2]=c[a+104>>2];c[e+16>>2]=c[a+108>>2];c[e+20>>2]=c[a+116>>2];c[e+24>>2]=c[a+120>>2];c[e+28>>2]=c[a+124>>2];c[e+32>>2]=c[a+128>>2];c[e+36>>2]=c[a+132>>2];c[e+40>>2]=c[a+140>>2];c[e+44>>2]=c[a+144>>2];c[e+48>>2]=c[a+148>>2];c[e+52>>2]=c[a+152>>2];c[e+56>>2]=c[a+168>>2];c[e+60>>2]=c[a+172>>2];c[e+64>>2]=c[a+112>>2];c[e+68>>2]=c[a+156>>2];c[e+72>>2]=c[a+160>>2];c[e+76>>2]=c[a+164>>2];c[e+80>>2]=c[a+136>>2];tb[c[(c[b>>2]|0)+20>>2]&31](b,d,7646,1145853764,e);nk(a,b);e=a+8|0;d=c[e>>2]|0;if((d|0)>0){f=a+16|0;g=d;d=0;while(1){h=c[(c[f>>2]|0)+(d<<2)>>2]|0;if(!(c[h+236>>2]&2))i=g;else{j=zb[c[(c[h>>2]|0)+16>>2]&127](h)|0;k=Hb[c[(c[b>>2]|0)+16>>2]&31](b,j,1)|0;j=Hb[c[(c[h>>2]|0)+20>>2]&31](h,c[k+8>>2]|0,b)|0;tb[c[(c[b>>2]|0)+20>>2]&31](b,k,j,1497645650,h);i=c[e>>2]|0}d=d+1|0;if((d|0)>=(i|0))break;else g=i}}i=a+212|0;if((c[i>>2]|0)<=0){l=c[b>>2]|0;m=l+36|0;n=c[m>>2]|0;vb[n&255](b);return}g=a+220|0;a=0;do{d=c[(c[g>>2]|0)+(a<<2)>>2]|0;e=zb[c[(c[d>>2]|0)+36>>2]&127](d)|0;f=Hb[c[(c[b>>2]|0)+16>>2]&31](b,e,1)|0;e=Hb[c[(c[d>>2]|0)+40>>2]&31](d,c[f+8>>2]|0,b)|0;tb[c[(c[b>>2]|0)+20>>2]&31](b,f,e,1397641027,d);a=a+1|0}while((a|0)<(c[i>>2]|0));l=c[b>>2]|0;m=l+36|0;n=c[m>>2]|0;vb[n&255](b);return}function Wg(b,d,e,f){b=b|0;d=+d;e=e|0;f=+f;var h=0,i=0.0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if(e){g[b+268>>2]=f;h=b+264|0;i=+g[h>>2]+d;g[h>>2]=i;if(!(i>=f)){j=e;k=f;l=0}else{m=~~(i/f);g[h>>2]=i-+(m|0)*f;j=e;k=f;l=m}}else{g[b+264>>2]=a[b+300>>0]|0?0.0:d;g[b+268>>2]=0.0;m=!(+N(+d)<1.1920928955078125e-07)&1;j=m;k=d;l=m}if(zb[c[(c[b>>2]|0)+20>>2]&127](b)|0){m=zb[c[(c[b>>2]|0)+20>>2]&127](b)|0;a[17920]=(zb[c[(c[m>>2]|0)+48>>2]&127](m)|0)>>>4&1}if(!l){vb[c[(c[b>>2]|0)+80>>2]&255](b);n=b;o=c[n>>2]|0;p=o+120|0;q=c[p>>2]|0;vb[q&255](b);return l|0}m=(l|0)>(j|0)?j:l;ub[c[(c[b>>2]|0)+164>>2]&31](b,k*+(m|0));vb[c[(c[b>>2]|0)+172>>2]&255](b);if((m|0)>0)r=0;else{n=b;o=c[n>>2]|0;p=o+120|0;q=c[p>>2]|0;vb[q&255](b);return l|0}do{ub[c[(c[b>>2]|0)+160>>2]&31](b,k);vb[c[(c[b>>2]|0)+80>>2]&255](b);r=r+1|0}while((r|0)<(m|0));n=b;o=c[n>>2]|0;p=o+120|0;q=c[p>>2]|0;vb[q&255](b);return l|0}function Xg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=d;g=b+212|0;h=c[g>>2]|0;i=b+216|0;if((h|0)==(c[i>>2]|0)?(j=h|0?h<<1:1,(h|0)<(j|0)):0){if(!j){k=0;l=h}else{c[4350]=(c[4350]|0)+1;m=Tr((j<<2|3)+16|0)|0;if(!m)n=0;else{o=m+4+15&-16;c[o+-4>>2]=m;n=o}k=n;l=c[g>>2]|0}n=b+220|0;if((l|0)>0){o=0;do{c[k+(o<<2)>>2]=c[(c[n>>2]|0)+(o<<2)>>2];o=o+1|0}while((o|0)!=(l|0))}o=c[n>>2]|0;m=b+224|0;if(!o)p=l;else{if(!(a[m>>0]|0))q=l;else{c[4351]=(c[4351]|0)+1;Ur(c[o+-4>>2]|0);q=c[g>>2]|0}c[n>>2]=0;p=q}a[m>>0]=1;c[n>>2]=k;c[i>>2]=j;r=p}else r=h;c[(c[b+220>>2]|0)+(r<<2)>>2]=f;c[g>>2]=r+1;if(!e)return;Th(c[d+28>>2]|0,d);Th(c[d+32>>2]|0,d);return}function Yg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=b+212|0;f=c[e>>2]|0;a:do if((f|0)>0){g=b+220|0;h=c[g>>2]|0;i=0;while(1){j=h+(i<<2)|0;if((c[j>>2]|0)==(d|0))break;k=i+1|0;if((k|0)<(f|0))i=k;else break a}if((i|0)<(f|0)){k=d;l=f+-1|0;c[j>>2]=c[h+(l<<2)>>2];m=(c[g>>2]|0)+(l<<2)|0;a[m>>0]=k;a[m+1>>0]=k>>8;a[m+2>>0]=k>>16;a[m+3>>0]=k>>24;c[e>>2]=(c[e>>2]|0)+-1}}while(0);Uh(c[d+28>>2]|0,d);Uh(c[d+32>>2]|0,d);return}function Zg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=d;d=b+280|0;f=c[d>>2]|0;g=b+284|0;if((f|0)==(c[g>>2]|0)?(h=f|0?f<<1:1,(f|0)<(h|0)):0){if(!h){i=0;j=f}else{c[4350]=(c[4350]|0)+1;k=Tr((h<<2|3)+16|0)|0;if(!k)l=0;else{m=k+4+15&-16;c[m+-4>>2]=k;l=m}i=l;j=c[d>>2]|0}l=b+288|0;if((j|0)>0){m=0;do{c[i+(m<<2)>>2]=c[(c[l>>2]|0)+(m<<2)>>2];m=m+1|0}while((m|0)!=(j|0))}m=c[l>>2]|0;k=b+292|0;if(!m)n=j;else{if(!(a[k>>0]|0))o=j;else{c[4351]=(c[4351]|0)+1;Ur(c[m+-4>>2]|0);o=c[d>>2]|0}c[l>>2]=0;n=o}a[k>>0]=1;c[l>>2]=i;c[g>>2]=h;p=n}else p=f;c[(c[b+288>>2]|0)+(p<<2)>>2]=e;c[d>>2]=p+1;return}function _g(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=b+280|0;f=c[e>>2]|0;if((f|0)<=0)return;g=b+288|0;b=c[g>>2]|0;h=0;while(1){i=b+(h<<2)|0;if((c[i>>2]|0)==(d|0))break;j=h+1|0;if((j|0)<(f|0))h=j;else{k=7;break}}if((k|0)==7)return;if((h|0)>=(f|0))return;h=d;d=f+-1|0;c[i>>2]=c[b+(d<<2)>>2];b=(c[g>>2]|0)+(d<<2)|0;a[b>>0]=h;a[b+1>>0]=h>>8;a[b+2>>0]=h>>16;a[b+3>>0]=h>>24;c[e>>2]=(c[e>>2]|0)+-1;return}function $g(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0;d=a+248|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];d=a+232|0;e=c[d>>2]|0;if((e|0)<=0)return;f=a+240|0;a=b+4|0;h=b+8|0;i=e;e=0;while(1){j=c[(c[f>>2]|0)+(e<<2)>>2]|0;switch(c[j+216>>2]|0){case 2:case 5:{k=i;break}default:if(!(c[j+528>>2]&1)){l=+g[j+368>>2];if(l!=0.0){m=1.0/l;l=m*+g[a>>2];n=m*+g[h>>2];g[j+388>>2]=m*+g[b>>2];g[j+392>>2]=l;g[j+396>>2]=n;g[j+400>>2]=0.0}o=j+404|0;c[o>>2]=c[b>>2];c[o+4>>2]=c[b+4>>2];c[o+8>>2]=c[b+8>>2];c[o+12>>2]=c[b+12>>2];k=c[d>>2]|0}else k=i}e=e+1|0;if((e|0)>=(k|0))break;else i=k}return}function ah(a,b){a=a|0;b=b|0;var d=0;d=b+248|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];return}function bh(b){b=b|0;var d=0,e=0,f=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.0,u=0.0,v=0.0,w=0;d=i;i=i+64|0;e=d;if(!(a[b+274>>0]|0)){f=b+232|0;h=c[f>>2]|0;if((h|0)<=0){i=d;return}j=b+240|0;k=b+300|0;l=b+264|0;m=b+268|0;n=h;h=0;while(1){o=c[(c[j>>2]|0)+(h<<2)>>2]|0;switch(c[o+216>>2]|0){case 2:case 5:{p=n;break}default:{q=o+504|0;if((c[q>>2]|0)!=0?(c[o+204>>2]&3|0)==0:0){r=o+68|0;s=o+148|0;if((a[k>>0]|0)!=0?(t=+g[m>>2],t!=0.0):0)u=+g[l>>2]-t;else u=+g[l>>2]*+g[o+248>>2];Bf(r,+g[o+132>>2],+g[o+136>>2],+g[o+140>>2],s,u,e);s=c[q>>2]|0;xb[c[(c[s>>2]|0)+12>>2]&127](s,e);p=c[f>>2]|0}else p=n}}h=h+1|0;if((h|0)>=(p|0))break;else n=p}i=d;return}else{p=b+8|0;n=c[p>>2]|0;if((n|0)<=0){i=d;return}h=b+16|0;f=b+300|0;l=b+264|0;m=b+268|0;b=n;n=0;while(1){k=c[(c[h>>2]|0)+(n<<2)>>2]|0;if((!((k|0)==0?1:(c[k+236>>2]&2|0)==0)?(j=k+504|0,(c[j>>2]|0)!=0):0)?(c[k+204>>2]&3|0)==0:0){s=k+68|0;q=k+148|0;if((a[f>>0]|0)!=0?(u=+g[m>>2],u!=0.0):0)v=+g[l>>2]-u;else v=+g[l>>2]*+g[k+248>>2];Bf(s,+g[k+132>>2],+g[k+136>>2],+g[k+140>>2],q,v,e);q=c[j>>2]|0;xb[c[(c[q>>2]|0)+12>>2]&127](q,e);w=c[p>>2]|0}else w=b;n=n+1|0;if((n|0)>=(w|0))break;else b=w}i=d;return}}function ch(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0.0,k=0.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;e=d;f=d+204|0;h=c[f>>2]|0;if((h&3|0)==0?(c[d+528>>2]&1|0)==0:0){i=b+248|0;j=+g[d+368>>2];if(j!=0.0){k=1.0/j;j=k*+g[b+252>>2];l=k*+g[b+256>>2];g[d+388>>2]=k*+g[i>>2];g[d+392>>2]=j;g[d+396>>2]=l;g[d+400>>2]=0.0}m=d+404|0;c[m>>2]=c[i>>2];c[m+4>>2]=c[i+4>>2];c[m+8>>2]=c[i+8>>2];c[m+12>>2]=c[i+12>>2]}if(!(c[d+192>>2]|0))return;if(h&1){i=d+216|0;if((c[i>>2]&-2|0)==4)n=h;else{c[i>>2]=2;n=h}}else{i=b+232|0;m=c[i>>2]|0;o=b+236|0;if((m|0)==(c[o>>2]|0)?(p=m|0?m<<1:1,(m|0)<(p|0)):0){if(!p){q=0;r=m}else{c[4350]=(c[4350]|0)+1;s=Tr((p<<2|3)+16|0)|0;if(!s)t=0;else{u=s+4+15&-16;c[u+-4>>2]=s;t=u}q=t;r=c[i>>2]|0}t=b+240|0;if((r|0)>0){u=0;do{c[q+(u<<2)>>2]=c[(c[t>>2]|0)+(u<<2)>>2];u=u+1|0}while((u|0)!=(r|0))}u=c[t>>2]|0;s=b+244|0;if(!u)v=r;else{if(!(a[s>>0]|0))w=r;else{c[4351]=(c[4351]|0)+1;Ur(c[u+-4>>2]|0);w=c[i>>2]|0}c[t>>2]=0;v=w}a[s>>0]=1;c[t>>2]=q;c[o>>2]=p;x=c[f>>2]|0;y=v}else{x=h;y=m}c[(c[b+240>>2]|0)+(y<<2)>>2]=e;c[i>>2]=y+1;n=x}x=(n&3|0)==0;ec[c[(c[b>>2]|0)+36>>2]&63](b,d,x?1:2,x?-1:-3);return}function dh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;h=d;i=c[d+204>>2]|0;if((i&3|0)==0?(c[d+528>>2]&1|0)==0:0){j=b+248|0;k=+g[d+368>>2];if(k!=0.0){l=1.0/k;k=l*+g[b+252>>2];m=l*+g[b+256>>2];g[d+388>>2]=l*+g[j>>2];g[d+392>>2]=k;g[d+396>>2]=m;g[d+400>>2]=0.0}n=d+404|0;c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];c[n+8>>2]=c[j+8>>2];c[n+12>>2]=c[j+12>>2]}if(!(c[d+192>>2]|0))return;if(i&1){i=d+216|0;if((c[i>>2]&-2|0)!=4)c[i>>2]=2}else{i=b+232|0;j=c[i>>2]|0;n=b+236|0;if((j|0)==(c[n>>2]|0)?(o=j|0?j<<1:1,(j|0)<(o|0)):0){if(!o){p=0;q=j}else{c[4350]=(c[4350]|0)+1;r=Tr((o<<2|3)+16|0)|0;if(!r)s=0;else{t=r+4+15&-16;c[t+-4>>2]=r;s=t}p=s;q=c[i>>2]|0}s=b+240|0;if((q|0)>0){t=0;do{c[p+(t<<2)>>2]=c[(c[s>>2]|0)+(t<<2)>>2];t=t+1|0}while((t|0)!=(q|0))}t=c[s>>2]|0;r=b+244|0;if(!t)u=q;else{if(!(a[r>>0]|0))v=q;else{c[4351]=(c[4351]|0)+1;Ur(c[t+-4>>2]|0);v=c[i>>2]|0}c[s>>2]=0;u=v}a[r>>0]=1;c[s>>2]=p;c[n>>2]=o;w=u}else w=j;c[(c[b+240>>2]|0)+(w<<2)>>2]=h;c[i>>2]=w+1}ec[c[(c[b>>2]|0)+36>>2]&63](b,d,e,f);return}function eh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=b+232|0;f=c[e>>2]|0;a:do if((f|0)>0){g=b+240|0;h=c[g>>2]|0;i=0;while(1){j=h+(i<<2)|0;if((c[j>>2]|0)==(d|0))break;k=i+1|0;if((k|0)<(f|0))i=k;else break a}if((i|0)<(f|0)){k=d;l=f+-1|0;c[j>>2]=c[h+(l<<2)>>2];m=(c[g>>2]|0)+(l<<2)|0;a[m>>0]=k;a[m+1>>0]=k>>8;a[m+2>>0]=k>>16;a[m+3>>0]=k>>24;c[e>>2]=(c[e>>2]|0)+-1}}while(0);e=d+188|0;j=c[e>>2]|0;if(j|0){f=b+68|0;k=c[f>>2]|0;m=zb[c[(c[k>>2]|0)+36>>2]&127](k)|0;k=b+24|0;ac[c[(c[m>>2]|0)+40>>2]&63](m,j,c[k>>2]|0);m=c[f>>2]|0;ac[c[(c[m>>2]|0)+12>>2]&63](m,j,c[k>>2]|0);c[e>>2]=0}e=b+8|0;k=c[e>>2]|0;if((k|0)<=0)return;j=b+16|0;b=c[j>>2]|0;m=0;while(1){n=b+(m<<2)|0;if((c[n>>2]|0)==(d|0))break;f=m+1|0;if((f|0)<(k|0))m=f;else{o=15;break}}if((o|0)==15)return;if((m|0)>=(k|0))return;m=d;d=k+-1|0;c[n>>2]=c[b+(d<<2)>>2];b=(c[j>>2]|0)+(d<<2)|0;a[b>>0]=m;a[b+1>>0]=m>>8;a[b+2>>0]=m>>16;a[b+3>>0]=m>>24;c[e>>2]=(c[e>>2]|0)+-1;return}function fh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=b+273|0;f=b+200|0;if(a[e>>0]|0?(g=c[f>>2]|0,g|0):0){c[4351]=(c[4351]|0)+1;Ur(c[g+-4>>2]|0)}a[e>>0]=0;c[f>>2]=d;c[(c[b+196>>2]|0)+8>>2]=d;return}function gh(a){a=a|0;return c[a+200>>2]|0}function hh(a){a=a|0;return c[a+212>>2]|0}function ih(a,b){a=a|0;b=b|0;return c[(c[a+220>>2]|0)+(b<<2)>>2]|0}function jh(a,b){a=a|0;b=b|0;return c[(c[a+220>>2]|0)+(b<<2)>>2]|0}function kh(a){a=a|0;var b=0,d=0,e=0;b=a+232|0;if((c[b>>2]|0)<=0)return;d=a+240|0;a=0;do{e=(c[(c[d>>2]|0)+(a<<2)>>2]|0)+436|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;a=a+1|0}while((a|0)<(c[b>>2]|0));return}function lh(a,b){a=a|0;b=b|0;xb[c[(c[a>>2]|0)+64>>2]&127](a,b);return}function mh(a,b){a=a|0;b=b|0;xb[c[(c[a>>2]|0)+68>>2]&127](a,b);return}function nh(a,b){a=a|0;b=b|0;xb[c[(c[a>>2]|0)+64>>2]&127](a,b);return}function oh(a,b){a=a|0;b=b|0;xb[c[(c[a>>2]|0)+68>>2]&127](a,b);return}function ph(b,d){b=b|0;d=+d;var e=0,f=0,h=0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0,o=0.0,p=0,q=0.0,r=0,s=0.0,t=0.0,u=0,v=0.0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,Q=0.0,R=0.0,S=0;e=b+232|0;f=c[e>>2]|0;if((f|0)<=0)return;h=b+240|0;b=f;f=0;while(1){i=c[(c[h>>2]|0)+(f<<2)>>2]|0;if(!(c[i+204>>2]&3)){j=i+336|0;k=+g[i+468>>2];l=+P(+(1.0-k),+d);m=l*+g[j>>2];g[j>>2]=m;n=i+340|0;o=l*+g[n>>2];g[n>>2]=o;p=i+344|0;q=l*+g[p>>2];g[p>>2]=q;r=i+352|0;l=+g[i+472>>2];s=+P(+(1.0-l),+d);t=s*+g[r>>2];g[r>>2]=t;u=i+356|0;v=s*+g[u>>2];g[u>>2]=v;w=i+360|0;x=s*+g[w>>2];g[w>>2]=x;do if(a[i+476>>0]|0){if(x*x+(t*t+v*v)<+g[i+488>>2]?m*m+o*o+q*q<+g[i+484>>2]:0){s=+g[i+480>>2];y=t*s;g[r>>2]=y;z=s*v;g[u>>2]=z;A=s*x;g[w>>2]=A;B=s*m;g[j>>2]=B;C=s*o;g[n>>2]=C;D=s*q;g[p>>2]=D;E=B;F=C;G=D;H=y;I=z;J=A}else{E=m;F=o;G=q;H=t;I=v;J=x}A=+O(+(E*E+F*F+G*G));do if(A<k)if(A>.004999999888241291){z=1.0/A;y=E-E*z*.004999999888241291;g[j>>2]=y;D=F-F*z*.004999999888241291;g[n>>2]=D;C=G-G*z*.004999999888241291;g[p>>2]=C;K=y;L=D;M=C;break}else{c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;K=0.0;L=0.0;M=0.0;break}else{K=E;L=F;M=G}while(0);A=+O(+(H*H+I*I+J*J));if(A<l)if(A>.004999999888241291){C=1.0/A;g[r>>2]=H-H*C*.004999999888241291;g[u>>2]=I-I*C*.004999999888241291;g[w>>2]=J-J*C*.004999999888241291;N=K;Q=L;R=M;break}else{c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;N=K;Q=L;R=M;break}else{N=K;Q=L;R=M}}else{N=m;Q=o;R=q}while(0);Bf(i+4|0,N,Q,R,r,d,i+68|0);S=c[e>>2]|0}else S=b;f=f+1|0;if((f|0)>=(S|0))break;else b=S}return}function qh(d,e){d=d|0;e=+e;var f=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,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0,fa=0,ga=0,ha=0;f=i;i=i+304|0;h=f+232|0;j=f+136|0;k=f+80|0;l=f+16|0;m=f;n=d+232|0;a:do if((c[n>>2]|0)>0){o=d+240|0;p=h+48|0;q=h+52|0;r=h+56|0;s=d+44|0;t=d+68|0;u=d+24|0;v=j+4|0;w=j+8|0;x=j+10|0;y=j+12|0;z=j+28|0;A=j+76|0;B=j+80|0;C=j+84|0;D=j+88|0;E=j+92|0;F=k+4|0;G=k+32|0;H=k+48|0;I=d+56|0;J=l+16|0;K=l+32|0;L=l+48|0;M=k+8|0;N=k+12|0;O=k+16|0;P=k+20|0;Q=k+24|0;R=k+28|0;S=0;while(1){T=c[(c[o>>2]|0)+(S<<2)>>2]|0;U=T+248|0;g[U>>2]=1.0;b:do switch(c[T+216>>2]|0){case 2:case 5:break;default:if(!(c[T+204>>2]&3)){V=T+4|0;W=T+352|0;X=T+336|0;Y=T+340|0;Z=T+344|0;Bf(V,+g[X>>2],+g[Y>>2],+g[Z>>2],W,e,h);_=T+52|0;$=+g[p>>2]-+g[_>>2];aa=+g[q>>2]-+g[T+56>>2];ba=+g[r>>2]-+g[T+60>>2];do if((a[s>>0]|0?(ca=+g[T+256>>2],da=ca*ca,da!=0.0?da<$*$+aa*aa+ba*ba:0):0)?(c[(c[T+192>>2]|0)+4>>2]|0)<20:0){c[4174]=(c[4174]|0)+1;ea=c[t>>2]|0;fa=zb[c[(c[ea>>2]|0)+36>>2]&127](ea)|0;ea=c[u>>2]|0;g[v>>2]=1.0;b[w>>1]=1;b[x>>1]=-1;c[j>>2]=3116;c[y>>2]=c[_>>2];c[y+4>>2]=c[_+4>>2];c[y+8>>2]=c[_+8>>2];c[y+12>>2]=c[_+12>>2];c[z>>2]=c[p>>2];c[z+4>>2]=c[p+4>>2];c[z+8>>2]=c[p+8>>2];c[z+12>>2]=c[p+12>>2];c[A>>2]=0;c[j>>2]=3140;c[B>>2]=T;c[D>>2]=fa;c[E>>2]=ea;ea=c[T+252>>2]|0;c[M>>2]=0;c[N>>2]=-1;c[O>>2]=1065353216;c[P>>2]=1065353216;c[Q>>2]=1065353216;g[R>>2]=0.0;c[k>>2]=5564;c[F>>2]=8;c[G>>2]=ea;c[H>>2]=ea;c[C>>2]=c[I>>2];ea=c[(c[T+188>>2]|0)+4>>2]|0;b[w>>1]=ea;b[x>>1]=ea>>>16;c[L>>2]=c[p>>2];c[L+4>>2]=c[p+4>>2];c[L+8>>2]=c[p+8>>2];c[L+12>>2]=c[p+12>>2];c[l>>2]=c[V>>2];c[l+4>>2]=c[V+4>>2];c[l+8>>2]=c[V+8>>2];c[l+12>>2]=c[V+12>>2];ea=T+20|0;c[J>>2]=c[ea>>2];c[J+4>>2]=c[ea+4>>2];c[J+8>>2]=c[ea+8>>2];c[J+12>>2]=c[ea+12>>2];ea=T+36|0;c[K>>2]=c[ea>>2];c[K+4>>2]=c[ea+4>>2];c[K+8>>2]=c[ea+8>>2];c[K+12>>2]=c[ea+12>>2];xk(d,k,V,l,j);da=+g[v>>2];if(da<1.0){g[U>>2]=da;Bf(V,+g[X>>2],+g[Y>>2],+g[Z>>2],W,da*e,h);g[U>>2]=0.0;Sh(T,h);break b}else break}while(0);Sh(T,h)}}while(0);S=S+1|0;if((S|0)>=(c[n>>2]|0))break a}}while(0);if(!(a[d+275>>0]|0)){i=f;return}n=d+308|0;if((c[n>>2]|0)<=0){i=f;return}h=d+316|0;d=j+4|0;S=j+8|0;v=j+12|0;K=k+4|0;J=k+8|0;p=k+12|0;L=l+4|0;x=l+8|0;w=l+12|0;I=m+4|0;C=m+8|0;H=m+12|0;G=0;do{F=c[(c[h>>2]|0)+(G<<2)>>2]|0;R=c[F+740>>2]|0;Q=(c[R+236>>2]&2|0)==0?0:R;R=c[F+744>>2]|0;P=(c[R+236>>2]&2|0)==0?0:R;R=F+748|0;O=c[R>>2]|0;if((O|0)>0){N=Q+52|0;M=Q+56|0;E=Q+60|0;D=P+52|0;B=P+56|0;A=P+60|0;if(!Q){z=P+228|0;y=O;u=0;while(1){e=+g[57]*+g[z>>2];if(e>0.0?(ba=+g[F+4+(u*184|0)+120>>2],ba!=0.0):0){aa=e*(+g[F+4+(u*184|0)+64>>2]*ba);$=e*(+g[F+4+(u*184|0)+68>>2]*ba);da=e*(+g[F+4+(u*184|0)+72>>2]*ba);ba=+g[F+4+(u*184|0)+36>>2]-+g[B>>2];e=+g[F+4+(u*184|0)+40>>2]-+g[A>>2];g[l>>2]=+g[F+4+(u*184|0)+32>>2]-+g[D>>2];g[L>>2]=ba;g[x>>2]=e;g[w>>2]=0.0;g[m>>2]=aa;g[I>>2]=$;g[C>>2]=da;g[H>>2]=0.0;We(P,m,l);ga=c[R>>2]|0}else ga=y;u=u+1|0;if((u|0)>=(ga|0))break;else y=ga}}else{y=Q+228|0;u=P+228|0;z=O;t=0;while(1){da=+g[y>>2]*+g[u>>2];if(da>0.0?($=+g[F+4+(t*184|0)+120>>2],$!=0.0):0){aa=da*(+g[F+4+(t*184|0)+64>>2]*$);e=da*(+g[F+4+(t*184|0)+68>>2]*$);ba=da*(+g[F+4+(t*184|0)+72>>2]*$);g[j>>2]=-aa;g[d>>2]=-e;g[S>>2]=-ba;g[v>>2]=0.0;$=+g[F+4+(t*184|0)+52>>2]-+g[M>>2];da=+g[F+4+(t*184|0)+56>>2]-+g[E>>2];g[k>>2]=+g[F+4+(t*184|0)+48>>2]-+g[N>>2];g[K>>2]=$;g[J>>2]=da;g[p>>2]=0.0;da=+g[F+4+(t*184|0)+36>>2]-+g[B>>2];$=+g[F+4+(t*184|0)+40>>2]-+g[A>>2];g[l>>2]=+g[F+4+(t*184|0)+32>>2]-+g[D>>2];g[L>>2]=da;g[x>>2]=$;g[w>>2]=0.0;We(Q,j,k);g[m>>2]=aa;g[I>>2]=e;g[C>>2]=ba;g[H>>2]=0.0;We(P,m,l);ha=c[R>>2]|0}else ha=z;t=t+1|0;if((t|0)>=(ha|0))break;else z=ha}}}G=G+1|0}while((G|0)<(c[n>>2]|0));i=f;return}function rh(a){a=a|0;return}function sh(a){a=a|0;Ur(a);return}function th(a,d){a=a|0;d=d|0;var e=0,f=0;e=c[d+4>>2]|0;if(!((b[a+10>>1]&(e&65535))<<16>>16)){f=0;return f|0}f=(e>>>16&65535&b[a+8>>1])<<16>>16!=0;return f|0}function uh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0;e=b+40|0;c[a+4>>2]=c[e>>2];f=c[b>>2]|0;c[a+76>>2]=f;if(d){d=a+44|0;h=b+8|0;c[d>>2]=c[h>>2];c[d+4>>2]=c[h+4>>2];c[d+8>>2]=c[h+8>>2];c[d+12>>2]=c[h+12>>2];i=a+60|0;j=b+24|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];k=+g[e>>2];return +k}else{l=+g[b+8>>2];m=+g[b+12>>2];n=+g[b+16>>2];o=l*+g[f+20>>2]+m*+g[f+24>>2]+n*+g[f+28>>2];p=l*+g[f+36>>2]+m*+g[f+40>>2]+n*+g[f+44>>2];g[a+44>>2]=+g[f+4>>2]*l+ +g[f+8>>2]*m+ +g[f+12>>2]*n;g[a+48>>2]=o;g[a+52>>2]=p;g[a+56>>2]=0.0;i=a+60|0;j=b+24|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];k=+g[e>>2];return +k}return +(0.0)}function vh(a){a=a|0;Ur(a);return}function wh(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[d>>2]|0;f=c[a+80>>2]|0;if((e|0)==(f|0)){g=0;return g|0}h=c[d+4>>2]|0;if(!((b[a+10>>1]&(h&65535))<<16>>16)){g=0;return g|0}if(!((b[a+8>>1]&(h>>>16&65535))<<16>>16)){g=0;return g|0}h=c[a+92>>2]|0;g=Hb[c[(c[h>>2]|0)+28>>2]&31](h,f,e)|0;return g|0}function xh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0;e=c[b>>2]|0;if((e|0)==(c[a+80>>2]|0)){f=1.0;return +f}if(c[e+204>>2]&4|0){f=1.0;return +f}h=b+8|0;i=b+12|0;j=b+16|0;if((+g[a+28>>2]-+g[a+12>>2])*+g[h>>2]+(+g[a+32>>2]-+g[a+16>>2])*+g[i>>2]+(+g[a+36>>2]-+g[a+20>>2])*+g[j>>2]>=-+g[a+84>>2]){f=1.0;return +f}k=b+40|0;c[a+4>>2]=c[k>>2];c[a+76>>2]=e;if(d){d=a+44|0;c[d>>2]=c[h>>2];c[d+4>>2]=c[h+4>>2];c[d+8>>2]=c[h+8>>2];c[d+12>>2]=c[h+12>>2]}else{l=+g[b+8>>2];m=+g[i>>2];n=+g[j>>2];o=l*+g[e+20>>2]+m*+g[e+24>>2]+n*+g[e+28>>2];p=l*+g[e+36>>2]+m*+g[e+40>>2]+n*+g[e+44>>2];g[a+44>>2]=+g[e+4>>2]*l+ +g[e+8>>2]*m+ +g[e+12>>2]*n;g[a+48>>2]=o;g[a+52>>2]=p;g[a+56>>2]=0.0}e=a+60|0;a=b+24|0;c[e>>2]=c[a>>2];c[e+4>>2]=c[a+4>>2];c[e+8>>2]=c[a+8>>2];c[e+12>>2]=c[a+12>>2];f=+g[k>>2];return +f}function yh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=b+204|0;e=c[d>>2]|0;ac[c[(c[e>>2]|0)+8>>2]&63](e,b,c[b+24>>2]|0);e=c[b+308>>2]|0;if((e|0)>0){f=c[b+316>>2]|0;g=0;do{h=c[f+(g<<2)>>2]|0;i=c[h+740>>2]|0;j=c[h+744>>2]|0;if((i|0?(j|0?(c[i+204>>2]&3|0)==0:0):0)?(c[j+204>>2]&3|0)==0:0){h=c[i+208>>2]|0;i=c[j+208>>2]|0;j=c[(c[d>>2]|0)+16>>2]|0;k=j+(h<<3)|0;l=c[k>>2]|0;if((l|0)==(h|0))m=h;else{h=l;l=k;do{k=j+(h<<3)|0;c[l>>2]=c[k>>2];n=c[k>>2]|0;l=j+(n<<3)|0;h=c[l>>2]|0}while((n|0)!=(h|0));m=n}h=j+(i<<3)|0;l=c[h>>2]|0;if((l|0)==(i|0))o=i;else{n=l;l=h;do{h=j+(n<<3)|0;c[l>>2]=c[h>>2];k=c[h>>2]|0;l=j+(k<<3)|0;n=c[l>>2]|0}while((k|0)!=(n|0));o=k}if((m|0)!=(o|0)){c[j+(m<<3)>>2]=o;n=j+(o<<3)+4|0;c[n>>2]=(c[n>>2]|0)+(c[j+(m<<3)+4>>2]|0)}}g=g+1|0}while((g|0)!=(e|0))}e=c[b+212>>2]|0;if((e|0)<=0){p=c[d>>2]|0;q=c[p>>2]|0;r=q+12|0;s=c[r>>2]|0;xb[s&127](p,b);return}g=c[b+220>>2]|0;m=0;do{o=c[g+(m<<2)>>2]|0;if((a[o+20>>0]|0?(f=c[o+28>>2]|0,(c[f+204>>2]&3|0)==0):0)?(n=c[o+32>>2]|0,(c[n+204>>2]&3|0)==0):0){o=c[f+208>>2]|0;f=c[n+208>>2]|0;n=c[(c[d>>2]|0)+16>>2]|0;l=n+(o<<3)|0;i=c[l>>2]|0;if((i|0)==(o|0))t=o;else{o=i;i=l;do{l=n+(o<<3)|0;c[i>>2]=c[l>>2];k=c[l>>2]|0;i=n+(k<<3)|0;o=c[i>>2]|0}while((k|0)!=(o|0));t=k}o=n+(f<<3)|0;i=c[o>>2]|0;if((i|0)==(f|0))u=f;else{j=i;i=o;do{o=n+(j<<3)|0;c[i>>2]=c[o>>2];k=c[o>>2]|0;i=n+(k<<3)|0;j=c[i>>2]|0}while((k|0)!=(j|0));u=k}if((t|0)!=(u|0)){c[n+(t<<3)>>2]=u;j=n+(u<<3)+4|0;c[j>>2]=(c[j>>2]|0)+(c[n+(t<<3)+4>>2]|0)}}m=m+1|0}while((m|0)!=(e|0));p=c[d>>2]|0;q=c[p>>2]|0;r=q+12|0;s=c[r>>2]|0;xb[s&127](p,b);return}function zh(b,d){b=b|0;d=d|0;var e=0,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,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,$=0,aa=0,ba=0,ca=0,da=0;e=b+176|0;f=c[b+212>>2]|0;h=b+180|0;i=c[h>>2]|0;if((i|0)<(f|0)){j=b+184|0;if((c[j>>2]|0)<(f|0)){if(!f){k=0;l=i}else{c[4350]=(c[4350]|0)+1;m=Tr((f<<2|3)+16|0)|0;if(!m)n=0;else{o=m+4+15&-16;c[o+-4>>2]=m;n=o}k=n;l=c[h>>2]|0}n=b+188|0;if((l|0)>0){o=0;do{c[k+(o<<2)>>2]=c[(c[n>>2]|0)+(o<<2)>>2];o=o+1|0}while((o|0)!=(l|0))}l=c[n>>2]|0;o=b+192|0;if(l|0){if(a[o>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[l+-4>>2]|0)}c[n>>2]=0}a[o>>0]=1;c[n>>2]=k;c[j>>2]=f;p=n}else p=b+188|0;n=i;do{c[(c[p>>2]|0)+(n<<2)>>2]=0;n=n+1|0}while((n|0)!=(f|0))}c[h>>2]=f;if((zb[c[(c[b>>2]|0)+104>>2]&127](b)|0)>0){f=b+220|0;n=b+188|0;p=0;do{c[(c[n>>2]|0)+(p<<2)>>2]=c[(c[f>>2]|0)+(p<<2)>>2];p=p+1|0}while((p|0)<(zb[c[(c[b>>2]|0)+104>>2]&127](b)|0))}p=c[h>>2]|0;if((p|0)>1)Ah(e,0,p+-1|0);if(!(zb[c[(c[b>>2]|0)+104>>2]&127](b)|0))q=0;else q=c[b+188>>2]|0;p=b+196|0;e=c[p>>2]|0;f=c[h>>2]|0;h=zb[c[(c[b>>2]|0)+20>>2]&127](b)|0;c[e+4>>2]=d;c[e+12>>2]=q;c[e+16>>2]=f;c[e+20>>2]=h;h=e+32|0;f=c[h>>2]|0;if((f|0)<0){q=e+36|0;n=e+40|0;if((c[q>>2]|0)<0){i=c[n>>2]|0;j=e+44|0;if(i|0){if(a[j>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[i+-4>>2]|0)}c[n>>2]=0}a[j>>0]=1;c[n>>2]=0;c[q>>2]=0;r=f}else r=f;do{c[(c[n>>2]|0)+(r<<2)>>2]=0;r=r+1|0}while((r|0)!=0)}c[h>>2]=0;h=e+52|0;r=c[h>>2]|0;if((r|0)<0){n=e+56|0;f=e+60|0;if((c[n>>2]|0)<0){q=c[f>>2]|0;j=e+64|0;if(q|0){if(a[j>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[q+-4>>2]|0)}c[f>>2]=0}a[j>>0]=1;c[f>>2]=0;c[n>>2]=0;s=r}else s=r;do{c[(c[f>>2]|0)+(s<<2)>>2]=0;s=s+1|0}while((s|0)!=0)}c[h>>2]=0;h=e+72|0;s=c[h>>2]|0;if((s|0)<0){f=e+76|0;r=e+80|0;if((c[f>>2]|0)<0){n=c[r>>2]|0;j=e+84|0;if(n|0){if(a[j>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[n+-4>>2]|0)}c[r>>2]=0}a[j>>0]=1;c[r>>2]=0;c[f>>2]=0;t=s}else t=s;do{c[(c[r>>2]|0)+(t<<2)>>2]=0;t=t+1|0}while((t|0)!=0)}c[h>>2]=0;h=b+200|0;t=c[h>>2]|0;r=c[(c[t>>2]|0)+8>>2]|0;s=b+8|0;f=c[s>>2]|0;j=b+24|0;n=c[j>>2]|0;e=zb[c[(c[n>>2]|0)+36>>2]&127](n)|0;ac[r&63](t,f,e);e=c[b+204>>2]|0;f=c[j>>2]|0;j=c[p>>2]|0;t=e+28|0;r=c[t>>2]|0;if((r|0)<0){n=e+32|0;q=e+36|0;if((c[n>>2]|0)<0){i=c[q>>2]|0;k=e+40|0;if(i|0){if(a[k>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[i+-4>>2]|0)}c[q>>2]=0}a[k>>0]=1;c[q>>2]=0;c[n>>2]=0;u=r}else u=r;do{c[(c[q>>2]|0)+(u<<2)>>2]=0;u=u+1|0}while((u|0)!=0)}c[t>>2]=0;u=e+4|0;q=e+8|0;r=c[q>>2]|0;if((r|0)>0){n=c[e+16>>2]|0;k=0;do{i=n+(k<<3)|0;o=c[i>>2]|0;if((o|0)==(k|0))v=k;else{l=o;o=i;do{m=n+(l<<3)|0;c[o>>2]=c[m>>2];w=c[m>>2]|0;o=n+(w<<3)|0;l=c[o>>2]|0}while((w|0)!=(l|0));v=w}c[i>>2]=v;k=k+1|0}while((k|0)!=(r|0));if((r|0)>1){Cl(u,0,r+-1|0);x=c[q>>2]|0}else x=r;if((x|0)>0){r=e+16|0;u=b+16|0;k=c[r>>2]|0;v=0;while(1){n=c[k+(v<<3)>>2]|0;l=v;while(1){y=l+1|0;if((y|0)>=(x|0)){z=0;break}if((c[k+(y<<3)>>2]|0)==(n|0))l=y;else{z=1;break}}a:do if((v|0)<=(l|0)){i=c[u>>2]|0;o=1;w=v;while(1){m=c[i+(c[k+(w<<3)+4>>2]<<2)>>2]|0;if((c[m+208>>2]|0)==(n|0)){A=c[m+216>>2]|0;B=(A|0)!=4&(o&(A|0)!=1)}else B=o;if((w|0)<(l|0)){o=B;w=w+1|0}else break}if(B){w=k;o=v;while(1){A=c[i+(c[w+(o<<3)+4>>2]<<2)>>2]|0;do if((c[A+208>>2]|0)==(n|0)){m=A+216|0;if((c[m>>2]&-2|0)==4)break;c[m>>2]=2}while(0);if((o|0)>=(l|0))break a;w=c[r>>2]|0;o=o+1|0}}else{o=k;w=v;while(1){A=c[i+(c[o+(w<<3)+4>>2]<<2)>>2]|0;do if((c[A+208>>2]|0)==(n|0)){m=A+216|0;if((c[m>>2]|0)!=2)break;c[m>>2]=3;g[A+220>>2]=0.0}while(0);if((w|0)>=(l|0))break a;o=c[r>>2]|0;w=w+1|0}}}while(0);if(z)v=y;else break}}}y=zb[c[(c[f>>2]|0)+36>>2]&127](f)|0;if((y|0)>0){v=e+64|0;z=e+32|0;r=e+36|0;k=e+40|0;B=0;do{u=Rb[c[(c[f>>2]|0)+40>>2]&31](f,B)|0;x=u;l=c[u+740>>2]|0;n=c[u+744>>2]|0;if((l|0)!=0?(c[l+216>>2]|0)!=2:0)C=92;else C=90;if(((C|0)==90?(C=0,n|0):0)?(c[n+216>>2]|0)!=2:0)C=92;if((C|0)==92){C=0;u=c[l+204>>2]|0;if((u&2|0?((u&4|0)==0?(c[l+216>>2]|0)!=2:0):0)?(c[n+204>>2]&3|0)==0:0){w=n+216|0;if((c[w>>2]&-2|0)!=4)c[w>>2]=1;g[n+220>>2]=0.0}w=c[n+204>>2]|0;if(w&2|0?((w&4|u&3|0)==0?(c[n+216>>2]|0)!=2:0):0){u=l+216|0;if((c[u>>2]&-2|0)!=4)c[u>>2]=1;g[l+220>>2]=0.0}if(a[v>>0]|0?Hb[c[(c[f>>2]|0)+28>>2]&31](f,l,n)|0:0){n=c[t>>2]|0;do if((n|0)==(c[z>>2]|0)){l=n|0?n<<1:1;if((n|0)>=(l|0)){D=n;break}if(!l){E=0;F=n}else{c[4350]=(c[4350]|0)+1;u=Tr((l<<2|3)+16|0)|0;if(!u)G=0;else{w=u+4+15&-16;c[w+-4>>2]=u;G=w}E=G;F=c[t>>2]|0}if((F|0)>0){w=0;do{c[E+(w<<2)>>2]=c[(c[r>>2]|0)+(w<<2)>>2];w=w+1|0}while((w|0)!=(F|0))}w=c[r>>2]|0;if(!w)H=F;else{if(!(a[k>>0]|0))I=F;else{c[4351]=(c[4351]|0)+1;Ur(c[w+-4>>2]|0);I=c[t>>2]|0}c[r>>2]=0;H=I}a[k>>0]=1;c[r>>2]=E;c[z>>2]=l;D=H}else D=n;while(0);c[(c[r>>2]|0)+(D<<2)>>2]=x;c[t>>2]=D+1}}B=B+1|0}while((B|0)!=(y|0));J=v}else J=e+64|0;v=c[q>>2]|0;if(!(a[J>>0]|0)){J=zb[c[(c[f>>2]|0)+44>>2]&127](f)|0;q=zb[c[(c[f>>2]|0)+36>>2]&127](f)|0;Ib[c[(c[j>>2]|0)+8>>2]&7](j,c[b+16>>2]|0,c[s>>2]|0,J,q,-1);K=c[p>>2]|0;Bh(K);L=c[h>>2]|0;M=c[L>>2]|0;N=M+16|0;O=c[N>>2]|0;P=b+72|0;Q=c[P>>2]|0;ac[O&63](L,d,Q);return}q=c[t>>2]|0;if((q|0)>1)rl(e+24|0,0,q+-1|0);if((v|0)<=0){K=c[p>>2]|0;Bh(K);L=c[h>>2]|0;M=c[L>>2]|0;N=M+16|0;O=c[N>>2]|0;P=b+72|0;Q=c[P>>2]|0;ac[O&63](L,d,Q);return}t=e+16|0;J=e+36|0;s=e+48|0;f=e+52|0;y=e+56|0;B=e+60|0;e=b+16|0;D=1;r=0;H=0;while(1){z=c[t>>2]|0;E=c[z+(r<<3)>>2]|0;b:do if((r|0)<(v|0)){k=z;I=c[s>>2]|0;F=c[f>>2]|0;G=r;C=1;while(1){n=c[(c[e>>2]|0)+(c[k+(G<<3)+4>>2]<<2)>>2]|0;if((I|0)==(F|0)){w=F|0?F<<1:1;if((F|0)<(w|0)){if(!w){R=0;S=F}else{c[4350]=(c[4350]|0)+1;u=Tr((w<<2|3)+16|0)|0;if(!u)T=0;else{o=u+4+15&-16;c[o+-4>>2]=u;T=o}R=T;S=c[s>>2]|0}if((S|0)>0){o=0;do{c[R+(o<<2)>>2]=c[(c[y>>2]|0)+(o<<2)>>2];o=o+1|0}while((o|0)!=(S|0))}o=c[y>>2]|0;if(!o)U=S;else{if(!(a[B>>0]|0))V=S;else{c[4351]=(c[4351]|0)+1;Ur(c[o+-4>>2]|0);V=c[s>>2]|0}c[y>>2]=0;U=V}a[B>>0]=1;c[y>>2]=R;c[f>>2]=w;W=U;X=w}else{W=F;X=F}}else{W=I;X=F}c[(c[y>>2]|0)+(W<<2)>>2]=n;I=W+1|0;c[s>>2]=I;o=c[n+216>>2]|0;u=C&((o|0)==2|(o|0)==5);o=G+1|0;if((o|0)>=(v|0)){Y=o;Z=u;break b}k=c[t>>2]|0;if((c[k+(o<<3)>>2]|0)!=(E|0)){Y=o;Z=u;break}else{F=X;G=o;C=u}}}else{Y=r;Z=1}while(0);if((H|0)<(q|0)){z=c[J>>2]|0;x=z+(H<<2)|0;C=c[x>>2]|0;G=c[(c[C+740>>2]|0)+208>>2]|0;if((G|0)>-1)_=G;else _=c[(c[C+744>>2]|0)+208>>2]|0;if((_|0)==(E|0)){C=H;do{C=C+1|0;if((C|0)>=(q|0))break;G=c[z+(C<<2)>>2]|0;F=c[(c[G+740>>2]|0)+208>>2]|0;if((F|0)>-1)$=F;else $=c[(c[G+744>>2]|0)+208>>2]|0}while((E|0)==($|0));aa=C;ba=C-H|0;ca=x}else{aa=D;ba=0;ca=0}}else{aa=D;ba=0;ca=0}if(!Z)Ib[c[(c[j>>2]|0)+8>>2]&7](j,c[y>>2]|0,c[s>>2]|0,ca,ba,E);H=(ba|0)==0?H:aa;z=c[s>>2]|0;if((z|0)<0){if((c[f>>2]|0)<0){G=c[y>>2]|0;if(G|0){if(a[B>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[G+-4>>2]|0)}c[y>>2]=0}a[B>>0]=1;c[y>>2]=0;c[f>>2]=0;da=z}else da=z;do{c[(c[y>>2]|0)+(da<<2)>>2]=0;da=da+1|0}while((da|0)!=0)}c[s>>2]=0;if((Y|0)>=(v|0))break;else{D=aa;r=Y}}K=c[p>>2]|0;Bh(K);L=c[h>>2]|0;M=c[L>>2]|0;N=M+16|0;O=c[N>>2]|0;P=b+72|0;Q=c[P>>2]|0;ac[O&63](L,d,Q);return}function Ah(b,e,f){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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;g=b+12|0;h=e;while(1){e=c[g>>2]|0;i=c[e+(((h+f|0)/2|0)<<2)>>2]|0;j=i+28|0;k=i+32|0;i=e;e=h;l=f;while(1){m=c[(c[j>>2]|0)+208>>2]|0;n=(m|0)>-1;if(n){o=e;while(1){p=c[i+(o<<2)>>2]|0;q=c[(c[p+28>>2]|0)+208>>2]|0;if((q|0)>-1)r=q;else r=c[(c[p+32>>2]|0)+208>>2]|0;if((r|0)<(m|0))o=o+1|0;else{s=o;break}}}else{o=c[(c[k>>2]|0)+208>>2]|0;p=e;while(1){q=c[i+(p<<2)>>2]|0;t=c[(c[q+28>>2]|0)+208>>2]|0;if((t|0)>-1)u=t;else u=c[(c[q+32>>2]|0)+208>>2]|0;if((u|0)<(o|0))p=p+1|0;else{s=p;break}}}if(n){p=l;while(1){o=c[i+(p<<2)>>2]|0;q=c[(c[o+28>>2]|0)+208>>2]|0;if((q|0)>-1)v=q;else v=c[(c[o+32>>2]|0)+208>>2]|0;if((m|0)<(v|0))p=p+-1|0;else{w=p;break}}}else{p=c[(c[k>>2]|0)+208>>2]|0;m=l;while(1){n=c[i+(m<<2)>>2]|0;o=c[(c[n+28>>2]|0)+208>>2]|0;if((o|0)>-1)x=o;else x=c[(c[n+32>>2]|0)+208>>2]|0;if((p|0)<(x|0))m=m+-1|0;else{w=m;break}}}if((s|0)>(w|0)){y=s;z=w}else{m=i+(s<<2)|0;p=d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24;c[m>>2]=c[i+(w<<2)>>2];m=(c[g>>2]|0)+(w<<2)|0;a[m>>0]=p;a[m+1>>0]=p>>8;a[m+2>>0]=p>>16;a[m+3>>0]=p>>24;y=s+1|0;z=w+-1|0}if((y|0)>(z|0))break;i=c[g>>2]|0;e=y;l=z}if((z|0)>(h|0))Ah(b,h,z);if((y|0)<(f|0))h=y;else break}return}function Bh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=b+32|0;e=c[d>>2]|0;if(!e)f=0;else f=c[b+40>>2]|0;g=b+52|0;h=c[g>>2]|0;if(!h)i=0;else i=c[b+60>>2]|0;j=b+72|0;k=c[j>>2]|0;if(!k)l=0;else l=c[b+80>>2]|0;m=c[b+8>>2]|0;+Tb[c[(c[m>>2]|0)+12>>2]&3](m,f,e,i,h,l,k,c[b+4>>2]|0,c[b+20>>2]|0,c[b+24>>2]|0);k=c[d>>2]|0;if((k|0)<0){l=b+36|0;h=b+40|0;if((c[l>>2]|0)<0){i=c[h>>2]|0;e=b+44|0;if(i|0){if(a[e>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[i+-4>>2]|0)}c[h>>2]=0}a[e>>0]=1;c[h>>2]=0;c[l>>2]=0;n=k}else n=k;do{c[(c[h>>2]|0)+(n<<2)>>2]=0;n=n+1|0}while((n|0)!=0)}c[d>>2]=0;d=c[g>>2]|0;if((d|0)<0){n=b+56|0;h=b+60|0;if((c[n>>2]|0)<0){k=c[h>>2]|0;l=b+64|0;if(k|0){if(a[l>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[k+-4>>2]|0)}c[h>>2]=0}a[l>>0]=1;c[h>>2]=0;c[n>>2]=0;o=d}else o=d;do{c[(c[h>>2]|0)+(o<<2)>>2]=0;o=o+1|0}while((o|0)!=0)}c[g>>2]=0;g=c[j>>2]|0;if((g|0)>=0){c[j>>2]=0;return}o=b+76|0;h=b+80|0;if((c[o>>2]|0)<0){d=c[h>>2]|0;n=b+84|0;if(d|0){if(a[n>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[d+-4>>2]|0)}c[h>>2]=0}a[n>>0]=1;c[h>>2]=0;c[o>>2]=0;p=g}else p=g;do{c[(c[h>>2]|0)+(p<<2)>>2]=0;p=p+1|0}while((p|0)!=0);c[j>>2]=0;return}function Ch(b,d){b=b|0;d=+d;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0;e=b+232|0;f=c[e>>2]|0;if((f|0)<=0)return;h=b+240|0;b=(a[17920]|0)==0;i=f;f=0;while(1){j=c[(c[h>>2]|0)+(f<<2)>>2]|0;a:do if(j){k=j+216|0;l=c[k>>2]|0;b:do switch(l|0){case 4:case 2:{m=l;if((m|0)==4){n=i;break a}else o=m;break}default:{p=+g[j+336>>2];q=+g[j+340>>2];r=+g[j+344>>2];s=+g[j+496>>2];if(p*p+q*q+r*r<s*s?(s=+g[j+352>>2],r=+g[j+356>>2],q=+g[j+360>>2],p=+g[j+500>>2],s*s+r*r+q*q<p*p):0){m=j+220|0;g[m>>2]=+g[m>>2]+d;o=l;break b}g[j+220>>2]=0.0;if((l&-2|0)==4)o=l;else{c[k>>2]=0;o=0}}}while(0);l=o&-2;do if(b){if((l|0)!=2?!(+g[j+220>>2]>2.0):0)break;if(c[j+204>>2]&3|0){if((l|0)==4){n=i;break a}c[k>>2]=2;n=i;break a}if((o|0)==1){if((l|0)==4){n=i;break a}c[k>>2]=3;n=i;break a}else{if((o|0)!=2){n=i;break a}m=j+284|0;t=j+352|0;u=(c[m>>2]|0)+2|0;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[m>>2]=u;u=j+336|0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;n=c[e>>2]|0;break a}}while(0);if((l|0)!=4){c[k>>2]=1;n=i}else n=i}else n=i;while(0);f=f+1|0;if((f|0)>=(n|0))break;else i=n}return}function Dh(d,e){d=d|0;e=+e;var f=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,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0.0,oa=0.0,pa=0.0,qa=0,ra=0.0,sa=0.0,ta=0,ua=0.0,va=0.0,wa=0.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.0,Ja=0.0,Ka=0.0,La=0.0,Ma=0.0,Na=0.0,Oa=0.0,Pa=0.0,Qa=0.0,Ra=0.0,Sa=0.0;f=i;i=i+464|0;h=f+400|0;j=f+304|0;k=f+248|0;l=f+184|0;m=f;n=c[d+84>>2]|0;if(n|0)ub[n&31](d,e);ub[c[(c[d>>2]|0)+140>>2]&31](d,e);g[d+28>>2]=e;c[d+32>>2]=0;c[d+48>>2]=zb[c[(c[d>>2]|0)+20>>2]&127](d)|0;n=d+308|0;o=d+316|0;p=c[o>>2]|0;if((c[n>>2]|0)>0){q=d+24|0;r=p;s=0;while(1){t=c[q>>2]|0;xb[c[(c[t>>2]|0)+16>>2]&127](t,c[r+(s<<2)>>2]|0);s=s+1|0;t=c[o>>2]|0;if((s|0)>=(c[n>>2]|0)){u=t;break}else r=t}}else u=p;p=d+320|0;if(u|0){if(a[p>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[u+-4>>2]|0)}c[o>>2]=0}a[p>>0]=1;c[o>>2]=0;c[n>>2]=0;u=d+312|0;c[u>>2]=0;r=d+232|0;a:do if((c[r>>2]|0)>0){s=d+240|0;q=h+48|0;t=h+52|0;v=h+56|0;w=d+44|0;x=d+68|0;y=d+24|0;z=j+4|0;A=j+8|0;B=j+10|0;C=j+12|0;D=j+28|0;E=j+76|0;F=j+80|0;G=j+84|0;H=j+88|0;I=j+92|0;J=k+4|0;K=k+32|0;L=k+48|0;M=d+56|0;N=l+16|0;O=l+32|0;P=l+48|0;Q=j+44|0;R=j+48|0;S=j+52|0;T=m+16|0;U=m+20|0;V=m+24|0;W=m+28|0;X=m+64|0;Y=m+80|0;Z=m+84|0;_=m+88|0;$=m+92|0;aa=m+112|0;ba=m+116|0;ca=m+120|0;da=k+8|0;ea=k+12|0;fa=k+16|0;ga=k+20|0;ha=k+24|0;ia=k+28|0;ja=0;while(1){ka=c[(c[s>>2]|0)+(ja<<2)>>2]|0;g[ka+248>>2]=1.0;switch(c[ka+216>>2]|0){case 2:case 5:break;default:if(((((c[ka+204>>2]&3|0)==0?(la=ka+4|0,Bf(la,+g[ka+336>>2],+g[ka+340>>2],+g[ka+344>>2],ka+352|0,e,h),ma=ka+52|0,na=+g[q>>2],oa=na-+g[ma>>2],pa=+g[t>>2],qa=ka+56|0,ra=pa-+g[qa>>2],sa=+g[v>>2],ta=ka+60|0,ua=sa-+g[ta>>2],a[w>>0]|0):0)?(va=+g[ka+256>>2],wa=va*va,wa!=0.0?wa<oa*oa+ra*ra+ua*ua:0):0)?(c[(c[ka+192>>2]|0)+4>>2]|0)<20:0)?(c[4174]=(c[4174]|0)+1,xa=c[x>>2]|0,ya=zb[c[(c[xa>>2]|0)+36>>2]&127](xa)|0,xa=c[y>>2]|0,g[z>>2]=1.0,b[A>>1]=1,b[B>>1]=-1,c[j>>2]=3116,c[C>>2]=c[ma>>2],c[C+4>>2]=c[ma+4>>2],c[C+8>>2]=c[ma+8>>2],c[C+12>>2]=c[ma+12>>2],c[D>>2]=c[q>>2],c[D+4>>2]=c[q+4>>2],c[D+8>>2]=c[q+8>>2],c[D+12>>2]=c[q+12>>2],c[E>>2]=0,c[j>>2]=3140,c[F>>2]=ka,c[H>>2]=ya,c[I>>2]=xa,xa=c[ka+252>>2]|0,c[da>>2]=0,c[ea>>2]=-1,c[fa>>2]=1065353216,c[ga>>2]=1065353216,c[ha>>2]=1065353216,g[ia>>2]=0.0,c[k>>2]=5564,c[J>>2]=8,c[K>>2]=xa,c[L>>2]=xa,c[G>>2]=c[M>>2],xa=c[(c[ka+188>>2]|0)+4>>2]|0,b[A>>1]=xa,b[B>>1]=xa>>>16,c[P>>2]=c[q>>2],c[P+4>>2]=c[q+4>>2],c[P+8>>2]=c[q+8>>2],c[P+12>>2]=c[q+12>>2],c[l>>2]=c[la>>2],c[l+4>>2]=c[la+4>>2],c[l+8>>2]=c[la+8>>2],c[l+12>>2]=c[la+12>>2],xa=ka+20|0,c[N>>2]=c[xa>>2],c[N+4>>2]=c[xa+4>>2],c[N+8>>2]=c[xa+8>>2],c[N+12>>2]=c[xa+12>>2],xa=ka+36|0,c[O>>2]=c[xa>>2],c[O+4>>2]=c[xa+4>>2],c[O+8>>2]=c[xa+8>>2],c[O+12>>2]=c[xa+12>>2],xk(d,k,la,l,j),ua=+g[z>>2],ua<1.0):0){ra=ua*(na-+g[ma>>2]);na=ua*(pa-+g[qa>>2]);pa=ua*(sa-+g[ta>>2]);sa=-(na*+g[R>>2])-ra*+g[Q>>2]-pa*+g[S>>2];la=c[y>>2]|0;xa=Hb[c[(c[la>>2]|0)+12>>2]&31](la,ka,c[E>>2]|0)|0;la=xa;ya=c[n>>2]|0;if((ya|0)==(c[u>>2]|0)?(za=ya|0?ya<<1:1,(ya|0)<(za|0)):0){if(!za){Aa=0;Ba=ya}else{c[4350]=(c[4350]|0)+1;Ca=Tr((za<<2|3)+16|0)|0;if(!Ca)Da=0;else{Ea=Ca+4+15&-16;c[Ea+-4>>2]=Ca;Da=Ea}Aa=Da;Ba=c[n>>2]|0}if((Ba|0)>0){Ea=0;do{c[Aa+(Ea<<2)>>2]=c[(c[o>>2]|0)+(Ea<<2)>>2];Ea=Ea+1|0}while((Ea|0)!=(Ba|0))}Ea=c[o>>2]|0;if(!Ea)Fa=Ba;else{if(!(a[p>>0]|0))Ga=Ba;else{c[4351]=(c[4351]|0)+1;Ur(c[Ea+-4>>2]|0);Ga=c[n>>2]|0}c[o>>2]=0;Fa=Ga}a[p>>0]=1;c[o>>2]=Aa;c[u>>2]=za;Ha=Fa}else Ha=ya;c[(c[o>>2]|0)+(Ha<<2)>>2]=la;c[n>>2]=Ha+1;ua=ra+ +g[ma>>2];oa=na+ +g[qa>>2];wa=pa+ +g[ta>>2];Ea=c[E>>2]|0;va=+g[Ea+4>>2];Ia=+g[Ea+20>>2];Ja=+g[Ea+36>>2];Ka=+g[Ea+8>>2];La=+g[Ea+24>>2];Ma=+g[Ea+40>>2];Na=+g[Ea+12>>2];Oa=+g[Ea+28>>2];Pa=+g[Ea+44>>2];Qa=-+g[Ea+52>>2];Ra=-+g[Ea+56>>2];Sa=-+g[Ea+60>>2];c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;g[T>>2]=ua*va+oa*Ia+wa*Ja+(va*Qa+Ia*Ra+Ja*Sa);g[U>>2]=ua*Ka+oa*La+wa*Ma+(Ka*Qa+La*Ra+Ma*Sa);g[V>>2]=ua*Na+oa*Oa+wa*Pa+(Na*Qa+Oa*Ra+Pa*Sa);g[W>>2]=0.0;c[X>>2]=c[Q>>2];c[X+4>>2]=c[Q+4>>2];c[X+8>>2]=c[Q+8>>2];c[X+12>>2]=c[Q+12>>2];g[Y>>2]=sa;g[Z>>2]=0.0;g[_>>2]=0.0;g[$>>2]=0.0;c[aa>>2]=0;a[ba>>0]=0;c[ca>>2]=0;c[ca+4>>2]=0;c[ca+8>>2]=0;c[ca+12>>2]=0;c[ca+16>>2]=0;c[ca+20>>2]=0;c[ca+24>>2]=0;c[ca+28>>2]=0;Ea=kp(xa,m)|0;g[xa+4+(Ea*184|0)+92>>2]=0.0;Sa=+g[ka+224>>2]*+g[(c[E>>2]|0)+224>>2];Pa=Sa<-10.0?-10.0:Sa;g[xa+4+(Ea*184|0)+84>>2]=Pa>10.0?10.0:Pa;Ca=xa+4+(Ea*184|0)+48|0;c[Ca>>2]=c[ma>>2];c[Ca+4>>2]=c[ma+4>>2];c[Ca+8>>2]=c[ma+8>>2];c[Ca+12>>2]=c[ma+12>>2];g[xa+4+(Ea*184|0)+32>>2]=ua;g[xa+4+(Ea*184|0)+36>>2]=oa;g[xa+4+(Ea*184|0)+40>>2]=wa;g[xa+4+(Ea*184|0)+44>>2]=0.0}}ja=ja+1|0;if((ja|0)>=(c[r>>2]|0))break a}}while(0);vb[c[(c[d>>2]|0)+44>>2]&255](d);vb[c[(c[d>>2]|0)+148>>2]&255](d);g[d+104>>2]=e;xb[c[(c[d>>2]|0)+152>>2]&127](d,d+92|0);ub[c[(c[d>>2]|0)+144>>2]&31](d,e);r=d+280|0;if((c[r>>2]|0)>0){m=d+288|0;Ha=0;do{n=c[(c[m>>2]|0)+(Ha<<2)>>2]|0;cc[c[(c[n>>2]|0)+8>>2]&7](n,d,e);Ha=Ha+1|0}while((Ha|0)<(c[r>>2]|0))}ub[c[(c[d>>2]|0)+156>>2]&31](d,e);r=c[d+80>>2]|0;if(!r){i=f;return}ub[r&31](d,e);i=f;return}function Eh(a,b){a=a|0;b=+b;var d=0,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.0,u=0.0,v=0.0,w=0,x=0;d=i;i=i+32|0;e=d+8|0;f=d;h=a+8|0;j=c[h>>2]|0;if((j|0)<=0){i=d;return}k=a+16|0;l=1.0/b;a=e+4|0;m=e+8|0;n=j;j=0;while(1){o=c[(c[k>>2]|0)+(j<<2)>>2]|0;if((!((o|0)==0?1:(c[o+236>>2]&2|0)==0)?(c[o+216>>2]|0)!=2:0)?!(b==0.0?1:(c[o+204>>2]&2|0)==0):0){p=c[o+504>>2]|0;if(!p)q=o+4|0;else{r=o+4|0;xb[c[(c[p>>2]|0)+8>>2]&127](p,r);q=r}r=o+68|0;p=o+336|0;s=o+352|0;t=l*(+g[o+56>>2]-+g[o+120>>2]);u=l*(+g[o+60>>2]-+g[o+124>>2]);g[p>>2]=l*(+g[o+52>>2]-+g[o+116>>2]);g[o+340>>2]=t;g[o+344>>2]=u;g[o+348>>2]=0.0;Cf(r,q,e,f);u=+g[f>>2];t=l*(u*+g[a>>2]);v=l*(u*+g[m>>2]);g[s>>2]=l*(+g[e>>2]*u);g[o+356>>2]=t;g[o+360>>2]=v;g[o+364>>2]=0.0;w=o+132|0;c[w>>2]=c[p>>2];c[w+4>>2]=c[p+4>>2];c[w+8>>2]=c[p+8>>2];c[w+12>>2]=c[p+12>>2];p=o+148|0;c[p>>2]=c[s>>2];c[p+4>>2]=c[s+4>>2];c[p+8>>2]=c[s+8>>2];c[p+12>>2]=c[s+12>>2];c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];c[r+8>>2]=c[q+8>>2];c[r+12>>2]=c[q+12>>2];r=o+84|0;s=o+20|0;c[r>>2]=c[s>>2];c[r+4>>2]=c[s+4>>2];c[r+8>>2]=c[s+8>>2];c[r+12>>2]=c[s+12>>2];s=o+100|0;r=o+36|0;c[s>>2]=c[r>>2];c[s+4>>2]=c[r+4>>2];c[s+8>>2]=c[r+8>>2];c[s+12>>2]=c[r+12>>2];r=o+116|0;s=o+52|0;c[r>>2]=c[s>>2];c[r+4>>2]=c[s+4>>2];c[r+8>>2]=c[s+8>>2];c[r+12>>2]=c[s+12>>2];x=c[h>>2]|0}else x=n;j=j+1|0;if((j|0)>=(x|0))break;else n=x}i=d;return}
  107. function yr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,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,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,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0;g=c[e>>2]|0;h=c[f>>2]|0;i=(g|0)!=0;if(i)j=c[g+12>>2]|0;else j=b;k=c[j+88>>2]|0;l=c[j+92>>2]|0;m=c[j+96>>2]|0;if(!h)n=d;else n=c[h+12>>2]|0;j=c[n+88>>2]|0;o=c[n+92>>2]|0;p=c[n+96>>2]|0;n=c[b+88>>2]|0;q=(c[d+88>>2]|0)-n|0;r=c[b+92>>2]|0;s=(c[d+92>>2]|0)-r|0;t=c[b+96>>2]|0;b=(c[d+96>>2]|0)-t|0;d=c[(i?g:h)+12>>2]|0;i=(c[d+88>>2]|0)-n|0;u=(c[d+92>>2]|0)-r|0;v=(c[d+96>>2]|0)-t|0;d=(_(u,b)|0)-(_(v,s)|0)|0;w=((d|0)<0)<<31>>31;x=(_(v,q)|0)-(_(i,b)|0)|0;v=((x|0)<0)<<31>>31;y=(_(i,s)|0)-(_(u,q)|0)|0;u=((y|0)<0)<<31>>31;i=Ns(d|0,w|0,n|0,((n|0)<0)<<31>>31|0)|0;n=C;z=Ns(x|0,v|0,r|0,((r|0)<0)<<31>>31|0)|0;r=C;A=Ns(y|0,u|0,t|0,((t|0)<0)<<31>>31|0)|0;t=Ds(i|0,n|0,A|0,C|0)|0;A=Ds(t|0,C|0,z|0,r|0)|0;r=C;z=((s|0)<0)<<31>>31;t=Ns(y|0,u|0,s|0,z|0)|0;n=C;i=((b|0)<0)<<31>>31;B=Ns(x|0,v|0,b|0,i|0)|0;D=As(t|0,n|0,B|0,C|0)|0;B=C;n=Ns(d|0,w|0,b|0,i|0)|0;i=C;t=((q|0)<0)<<31>>31;E=Ns(y|0,u|0,q|0,t|0)|0;F=As(n|0,i|0,E|0,C|0)|0;E=C;i=Ns(x|0,v|0,q|0,t|0)|0;t=C;n=Ns(d|0,w|0,s|0,z|0)|0;z=As(i|0,t|0,n|0,C|0)|0;n=C;t=Ns(D|0,B|0,k|0,((k|0)<0)<<31>>31|0)|0;i=C;G=Ns(F|0,E|0,l|0,((l|0)<0)<<31>>31|0)|0;H=Ds(G|0,C|0,t|0,i|0)|0;i=C;t=Ns(z|0,n|0,m|0,((m|0)<0)<<31>>31|0)|0;G=Ds(H|0,i|0,t|0,C|0)|0;t=C;if((g|0)!=0?(c[g+12>>2]|0)!=0:0){i=a+100|0;H=g;I=t;J=G;K=k;L=l;M=m;while(1){H=c[(c[H+8>>2]|0)+4>>2]|0;N=H+12|0;O=c[N>>2]|0;P=c[O+88>>2]|0;Q=((P|0)<0)<<31>>31;R=Ns(P|0,Q|0,d|0,w|0)|0;S=C;T=c[O+92>>2]|0;U=((T|0)<0)<<31>>31;V=Ns(T|0,U|0,x|0,v|0)|0;W=Ds(V|0,C|0,R|0,S|0)|0;S=C;R=c[O+96>>2]|0;O=((R|0)<0)<<31>>31;V=Ns(R|0,O|0,y|0,u|0)|0;X=Ds(W|0,S|0,V|0,C|0)|0;V=C;if((V|0)<(r|0)|(V|0)==(r|0)&X>>>0<A>>>0){Y=J;Z=I;$=K;aa=L;ba=M;break}if((c[H+20>>2]|0)==(c[i>>2]|0)){Y=J;Z=I;$=K;aa=L;ba=M;break}X=Ns(P|0,Q|0,D|0,B|0)|0;Q=C;P=Ns(T|0,U|0,F|0,E|0)|0;U=Ds(P|0,C|0,X|0,Q|0)|0;Q=C;X=Ns(R|0,O|0,z|0,n|0)|0;O=Ds(U|0,Q|0,X|0,C|0)|0;X=C;if(!((X|0)>(I|0)|(X|0)==(I|0)&O>>>0>J>>>0)){Y=J;Z=I;$=K;aa=L;ba=M;break}c[e>>2]=H;Q=c[N>>2]|0;N=c[Q+88>>2]|0;U=c[Q+92>>2]|0;R=c[Q+96>>2]|0;if(!Q){Y=O;Z=X;$=N;aa=U;ba=R;break}else{I=X;J=O;K=N;L=U;M=R}}ca=c[f>>2]|0;da=Y;ea=Z;fa=$;ga=aa;ha=ba}else{ca=h;da=G;ea=t;fa=k;ga=l;ha=m}m=Ns(D|0,B|0,j|0,((j|0)<0)<<31>>31|0)|0;l=C;k=Ns(F|0,E|0,o|0,((o|0)<0)<<31>>31|0)|0;t=Ds(k|0,C|0,m|0,l|0)|0;l=C;m=Ns(z|0,n|0,p|0,((p|0)<0)<<31>>31|0)|0;k=Ds(t|0,l|0,m|0,C|0)|0;m=C;a:do if(ca)if(!(c[ca+12>>2]|0)){ia=ca;ja=k;ka=m;la=j;ma=o;na=p}else{l=a+100|0;t=ca;G=m;ba=k;aa=j;$=o;Z=p;while(1){Y=c[c[t+8>>2]>>2]|0;M=Y+12|0;L=c[M>>2]|0;K=c[L+88>>2]|0;J=((K|0)<0)<<31>>31;I=Ns(K|0,J|0,d|0,w|0)|0;H=C;i=c[L+92>>2]|0;R=((i|0)<0)<<31>>31;U=Ns(i|0,R|0,x|0,v|0)|0;N=Ds(U|0,C|0,I|0,H|0)|0;H=C;I=c[L+96>>2]|0;L=((I|0)<0)<<31>>31;U=Ns(I|0,L|0,y|0,u|0)|0;O=Ds(N|0,H|0,U|0,C|0)|0;U=C;if((U|0)<(r|0)|(U|0)==(r|0)&O>>>0<A>>>0){ia=t;ja=ba;ka=G;la=aa;ma=$;na=Z;break a}if((c[Y+20>>2]|0)==(c[l>>2]|0)){ia=t;ja=ba;ka=G;la=aa;ma=$;na=Z;break a}O=Ns(K|0,J|0,D|0,B|0)|0;J=C;K=Ns(i|0,R|0,F|0,E|0)|0;R=Ds(K|0,C|0,O|0,J|0)|0;J=C;O=Ns(I|0,L|0,z|0,n|0)|0;L=Ds(R|0,J|0,O|0,C|0)|0;O=C;if(!((O|0)>(G|0)|(O|0)==(G|0)&L>>>0>ba>>>0)){ia=t;ja=ba;ka=G;la=aa;ma=$;na=Z;break a}c[f>>2]=Y;J=c[M>>2]|0;M=c[J+88>>2]|0;R=c[J+92>>2]|0;I=c[J+96>>2]|0;if(!J){ia=Y;ja=L;ka=O;la=M;ma=R;na=I;break}else{t=Y;G=O;ba=L;aa=M;$=R;Z=I}}}else{ia=0;ja=k;ka=m;la=j;ma=o;na=p}while(0);p=As(ja|0,ka|0,da|0,ea|0)|0;ea=C;if((ea|0)>0|(ea|0)==0&p>>>0>0){da=a+100|0;ka=As(0,0,y|0,u|0)|0;ja=C;o=ia;j=p;m=ea;k=fa;A=ga;r=ha;ca=la;Z=ma;$=na;while(1){aa=(_(Z-A|0,s)|0)+(_(ca-k|0,q)|0)+(_($-r|0,b)|0)|0;ba=((aa|0)<0)<<31>>31;G=c[e>>2]|0;if(!G){oa=aa;pa=o;qa=aa;ra=ba;sa=m;ta=j;ua=k;va=A;wa=r}else{t=G;G=aa;l=aa;aa=ba;ba=m;I=j;R=k;M=A;L=r;b:while(1){if(!(c[t+12>>2]|0)){xa=G;ya=l;za=aa;Aa=I;Ba=ba;Ca=R;Da=M;Ea=L;break}O=c[(c[t>>2]|0)+8>>2]|0;if((c[O+20>>2]|0)<=(c[da>>2]|0)){xa=G;ya=l;za=aa;Aa=I;Ba=ba;Ca=R;Da=M;Ea=L;break}Y=c[O+12>>2]|0;J=c[Y+88>>2]|0;K=J-R|0;i=c[Y+92>>2]|0;U=i-M|0;H=c[Y+96>>2]|0;Y=H-L|0;N=Ns(K|0,((K|0)<0)<<31>>31|0,D|0,B|0)|0;X=C;Q=Ns(U|0,((U|0)<0)<<31>>31|0,F|0,E|0)|0;P=Ds(Q|0,C|0,N|0,X|0)|0;X=C;N=Ns(Y|0,((Y|0)<0)<<31>>31|0,z|0,n|0)|0;Q=Ds(P|0,X|0,N|0,C|0)|0;N=C;X=(_(U,s)|0)+(_(K,q)|0)+(_(Y,b)|0)|0;Y=((X|0)<0)<<31>>31;do if((Q|0)==0&(N|0)==0){if((X|0)>=0){xa=G;ya=l;za=aa;Aa=I;Ba=ba;Ca=R;Da=M;Ea=L;break b}}else{if((N|0)>=0){xa=G;ya=l;za=aa;Aa=I;Ba=ba;Ca=R;Da=M;Ea=L;break b}if((X|0)>0){Fa=1;Ga=X;Ha=Y}else{K=(X|0)<0;U=As(0,0,X|0,Y|0)|0;Fa=X>>31;Ga=K?U:0;Ha=K?C:0}K=0-Fa|0;U=As(0,0,Q|0,N|0)|0;P=C;if((G|0)>0){Ia=1;Ja=l;Ka=aa}else{T=(G|0)<0;V=As(0,0,l|0,aa|0)|0;Ia=G>>31;Ja=T?V:0;Ka=T?C:0}if(!((ba|0)>0|(ba|0)==0&I>>>0>0))if((ba|0)<0){T=As(0,0,I|0,ba|0)|0;La=0-Ia|0;Ma=T;Na=C}else{La=Ia;Ma=0;Na=0}else{La=Ia;Ma=I;Na=ba}if((La|0)==(K|0)){if(!Fa)break;T=Ns(Ma|0,0,Ga|0,0)|0;V=C;S=Ns(Na|0,0,Ga|0,0)|0;W=C;Oa=Ns(Ma|0,0,Ha|0,0)|0;Pa=C;Qa=Ns(Na|0,0,Ha|0,0)|0;Ra=C;Sa=Ds(S|0,0,Oa|0,0)|0;Oa=C;S=Ds(W|0,0,Qa|0,Ra|0)|0;Ra=Ds(S|0,C|0,Pa|0,0)|0;Pa=Ds(Ra|0,C|0,Oa|0,0)|0;Oa=C;Ra=Ds(0,Sa|0,T|0,V|0)|0;V=C;T=Ds(Pa|0,Oa|0,(V>>>0<Sa>>>0|(V|0)==(Sa|0)&Ra>>>0<0)&1|0,0)|0;Sa=C;Oa=Ns(Ja|0,0,U|0,0)|0;Pa=C;S=Ns(Ka|0,0,U|0,0)|0;U=C;Qa=Ns(Ja|0,0,P|0,0)|0;W=C;Ta=Ns(Ka|0,0,P|0,0)|0;P=C;Ua=Ds(S|0,0,Qa|0,0)|0;Qa=C;S=Ds(U|0,0,Ta|0,P|0)|0;P=Ds(S|0,C|0,W|0,0)|0;W=Ds(P|0,C|0,Qa|0,0)|0;Qa=C;P=Ds(0,Ua|0,Oa|0,Pa|0)|0;Pa=C;Oa=Ds(W|0,Qa|0,(Pa>>>0<Ua>>>0|(Pa|0)==(Ua|0)&P>>>0<0)&1|0,0)|0;Ua=C;do if(Sa>>>0<Ua>>>0|(Sa|0)==(Ua|0)&T>>>0<Oa>>>0)Va=-1;else{if(Sa>>>0>Ua>>>0|(Sa|0)==(Ua|0)&T>>>0>Oa>>>0){Va=1;break}if(V>>>0<Pa>>>0|(V|0)==(Pa|0)&Ra>>>0<P>>>0){Va=-1;break}Va=(V>>>0>Pa>>>0|(V|0)==(Pa|0)&Ra>>>0>P>>>0)&1}while(0);Wa=_(Va,K)|0}else Wa=K-La|0;if((Wa|0)<=-1){xa=G;ya=l;za=aa;Aa=I;Ba=ba;Ca=R;Da=M;Ea=L;break b}}while(0);N=ca-J|0;Q=Z-i|0;X=$-H|0;Y=Ns(N|0,((N|0)<0)<<31>>31|0,D|0,B|0)|0;P=C;Ra=Ns(Q|0,((Q|0)<0)<<31>>31|0,F|0,E|0)|0;Pa=Ds(Ra|0,C|0,Y|0,P|0)|0;P=C;Y=Ns(X|0,((X|0)<0)<<31>>31|0,z|0,n|0)|0;Ra=Ds(Pa|0,P|0,Y|0,C|0)|0;Y=C;t=(t|0)==(g|0)?0:O;c[e>>2]=t;P=(_(Q,s)|0)+(_(N,q)|0)+(_(X,b)|0)|0;X=((P|0)<0)<<31>>31;if(!t){xa=P;ya=P;za=X;Aa=Ra;Ba=Y;Ca=J;Da=i;Ea=H;break}else{G=P;l=P;aa=X;ba=Y;I=Ra;R=J;M=i;L=H}}oa=xa;pa=c[f>>2]|0;qa=ya;ra=za;sa=Ba;ta=Aa;ua=Ca;va=Da;wa=Ea}if(!pa){Xa=122;break}if(!(c[pa+12>>2]|0)){Xa=122;break}L=c[c[pa+8>>2]>>2]|0;if((c[L+20>>2]|0)<=(c[da>>2]|0)){Xa=122;break}M=L+12|0;R=c[M>>2]|0;I=c[R+88>>2]|0;ba=I-ca|0;aa=c[R+92>>2]|0;l=aa-Z|0;G=c[R+96>>2]|0;R=G-$|0;t=((ba|0)<0)<<31>>31;Ra=Ns(ba|0,t|0,d|0,w|0)|0;Y=C;X=((l|0)<0)<<31>>31;P=Ns(l|0,X|0,x|0,v|0)|0;N=Ds(P|0,C|0,Ra|0,Y|0)|0;Y=C;Ra=((R|0)<0)<<31>>31;P=Ns(R|0,Ra|0,ka|0,ja|0)|0;if(!((N|0)==(P|0)&(Y|0)==(C|0))){Xa=122;break}Y=Ns(ba|0,t|0,D|0,B|0)|0;t=C;P=Ns(l|0,X|0,F|0,E|0)|0;X=Ds(P|0,C|0,Y|0,t|0)|0;t=C;Y=Ns(R|0,Ra|0,z|0,n|0)|0;Ra=Ds(X|0,t|0,Y|0,C|0)|0;Y=C;t=(_(l,s)|0)+(_(ba,q)|0)+(_(R,b)|0)|0;R=((t|0)<0)<<31>>31;ba=I-ua|0;I=aa-va|0;aa=G-wa|0;G=Ns(ba|0,((ba|0)<0)<<31>>31|0,D|0,B|0)|0;ba=C;l=Ns(I|0,((I|0)<0)<<31>>31|0,F|0,E|0)|0;I=Ds(l|0,C|0,G|0,ba|0)|0;ba=C;G=Ns(aa|0,((aa|0)<0)<<31>>31|0,z|0,n|0)|0;aa=Ds(I|0,ba|0,G|0,C|0)|0;G=C;if(!((G|0)>0|(G|0)==0&aa>>>0>0)){Xa=122;break}if((Ra|0)==0&(Y|0)==0){if((t|0)>=0){Xa=122;break}}else{if((Y|0)>=0){Xa=122;break}if((t|0)>0){Ya=1;Za=t;_a=R}else{ba=(t|0)<0;I=As(0,0,t|0,R|0)|0;Ya=t>>31;Za=ba?I:0;_a=ba?C:0}ba=0-Ya|0;I=As(0,0,Ra|0,Y|0)|0;Y=C;if((oa|0)>0){$a=1;ab=qa;bb=ra}else{Ra=(oa|0)<0;t=As(0,0,qa|0,ra|0)|0;$a=oa>>31;ab=Ra?t:0;bb=Ra?C:0}do if((sa|0)>0|(sa|0)==0&ta>>>0>0){cb=$a;db=ta;eb=sa}else{if((sa|0)>=0){cb=$a;db=0;eb=0;break}Ra=As(0,0,ta|0,sa|0)|0;cb=0-$a|0;db=Ra;eb=C}while(0);if((cb|0)==(ba|0)){if(!Ya){Xa=122;break}Ra=Ns(db|0,0,Za|0,0)|0;t=C;R=Ns(eb|0,0,Za|0,0)|0;l=C;X=Ns(db|0,0,_a|0,0)|0;P=C;N=Ns(eb|0,0,_a|0,0)|0;Q=C;Pa=Ds(R|0,0,X|0,0)|0;X=C;R=Ds(l|0,0,N|0,Q|0)|0;Q=Ds(R|0,C|0,P|0,0)|0;P=Ds(Q|0,C|0,X|0,0)|0;X=C;Q=Ds(0,Pa|0,Ra|0,t|0)|0;t=C;Ra=Ds(P|0,X|0,(t>>>0<Pa>>>0|(t|0)==(Pa|0)&Q>>>0<0)&1|0,0)|0;Pa=C;X=Ns(ab|0,0,I|0,0)|0;P=C;R=Ns(bb|0,0,I|0,0)|0;N=C;l=Ns(ab|0,0,Y|0,0)|0;V=C;Oa=Ns(bb|0,0,Y|0,0)|0;T=C;Ua=Ds(R|0,0,l|0,0)|0;l=C;R=Ds(N|0,0,Oa|0,T|0)|0;T=Ds(R|0,C|0,V|0,0)|0;V=Ds(T|0,C|0,l|0,0)|0;l=C;T=Ds(0,Ua|0,X|0,P|0)|0;P=C;X=Ds(V|0,l|0,(P>>>0<Ua>>>0|(P|0)==(Ua|0)&T>>>0<0)&1|0,0)|0;Ua=C;do if(Pa>>>0<Ua>>>0|(Pa|0)==(Ua|0)&Ra>>>0<X>>>0)fb=-1;else{if(Pa>>>0>Ua>>>0|(Pa|0)==(Ua|0)&Ra>>>0>X>>>0){fb=1;break}if(t>>>0<P>>>0|(t|0)==(P|0)&Q>>>0<T>>>0){fb=-1;break}fb=(t>>>0>P>>>0|(t|0)==(P|0)&Q>>>0>T>>>0)&1}while(0);gb=_(fb,ba)|0}else gb=ba-cb|0;if((gb|0)<=0){Xa=122;break}}c[f>>2]=L;T=c[M>>2]|0;o=L;j=aa;m=G;k=ua;A=va;r=wa;ca=c[T+88>>2]|0;Z=c[T+92>>2]|0;$=c[T+96>>2]|0}if((Xa|0)==122)return}if((ea|0)>=0)return;$=a+100|0;a=As(0,0,y|0,u|0)|0;u=C;y=ia;ia=p;p=ea;ea=fa;fa=ga;ga=ha;ha=la;la=ma;ma=na;c:while(1){na=y;Z=p;ca=ia;wa=ea;r=fa;va=ga;d:while(1){A=(_(la-r|0,s)|0)+(_(ha-wa|0,q)|0)+(_(ma-va|0,b)|0)|0;ua=((A|0)<0)<<31>>31;do if((na|0?c[na+12>>2]|0:0)?(hb=c[(c[na+4>>2]|0)+8>>2]|0,(c[hb+20>>2]|0)>(c[$>>2]|0)):0){k=c[hb+12>>2]|0;ib=c[k+88>>2]|0;m=ib-ha|0;jb=c[k+92>>2]|0;j=jb-la|0;kb=c[k+96>>2]|0;k=kb-ma|0;o=Ns(m|0,((m|0)<0)<<31>>31|0,D|0,B|0)|0;gb=C;cb=Ns(j|0,((j|0)<0)<<31>>31|0,F|0,E|0)|0;fb=Ds(cb|0,C|0,o|0,gb|0)|0;gb=C;o=Ns(k|0,((k|0)<0)<<31>>31|0,z|0,n|0)|0;cb=Ds(fb|0,gb|0,o|0,C|0)|0;o=C;gb=(_(j,s)|0)+(_(m,q)|0)+(_(k,b)|0)|0;k=((gb|0)<0)<<31>>31;if((cb|0)==0&(o|0)==0)if((gb|0)>0)break d;else break;if((o|0)<0){if((gb|0)>0){lb=1;mb=gb;nb=k}else{m=(gb|0)<0;j=As(0,0,gb|0,k|0)|0;lb=gb>>31;mb=m?j:0;nb=m?C:0}m=0-lb|0;j=As(0,0,cb|0,o|0)|0;o=C;if((A|0)>0){ob=1;pb=A;qb=ua}else{cb=(A|0)<0;gb=As(0,0,A|0,ua|0)|0;ob=A>>31;pb=cb?gb:0;qb=cb?C:0}if(!((Z|0)>0|(Z|0)==0&ca>>>0>0))if((Z|0)<0){cb=As(0,0,ca|0,Z|0)|0;rb=0-ob|0;sb=cb;tb=C}else{rb=ob;sb=0;tb=0}else{rb=ob;sb=ca;tb=Z}if((rb|0)==(m|0)){if(!lb)break d;cb=Ns(sb|0,0,mb|0,0)|0;gb=C;k=Ns(tb|0,0,mb|0,0)|0;fb=C;bb=Ns(sb|0,0,nb|0,0)|0;ab=C;_a=Ns(tb|0,0,nb|0,0)|0;eb=C;db=Ds(k|0,0,bb|0,0)|0;bb=C;k=Ds(fb|0,0,_a|0,eb|0)|0;eb=Ds(k|0,C|0,ab|0,0)|0;ab=Ds(eb|0,C|0,bb|0,0)|0;bb=C;eb=Ds(0,db|0,cb|0,gb|0)|0;gb=C;cb=Ds(ab|0,bb|0,(gb>>>0<db>>>0|(gb|0)==(db|0)&eb>>>0<0)&1|0,0)|0;db=C;bb=Ns(pb|0,0,j|0,0)|0;ab=C;k=Ns(qb|0,0,j|0,0)|0;j=C;_a=Ns(pb|0,0,o|0,0)|0;fb=C;Za=Ns(qb|0,0,o|0,0)|0;o=C;Ya=Ds(k|0,0,_a|0,0)|0;_a=C;k=Ds(j|0,0,Za|0,o|0)|0;o=Ds(k|0,C|0,fb|0,0)|0;fb=Ds(o|0,C|0,_a|0,0)|0;_a=C;o=Ds(0,Ya|0,bb|0,ab|0)|0;ab=C;bb=Ds(fb|0,_a|0,(ab>>>0<Ya>>>0|(ab|0)==(Ya|0)&o>>>0<0)&1|0,0)|0;Ya=C;do if(db>>>0<Ya>>>0|(db|0)==(Ya|0)&cb>>>0<bb>>>0)ub=-1;else{if(db>>>0>Ya>>>0|(db|0)==(Ya|0)&cb>>>0>bb>>>0){ub=1;break}if(gb>>>0<ab>>>0|(gb|0)==(ab|0)&eb>>>0<o>>>0){ub=-1;break}ub=(gb>>>0>ab>>>0|(gb|0)==(ab|0)&eb>>>0>o>>>0)&1}while(0);vb=_(ub,m)|0}else vb=m-rb|0;if((vb|0)<1)break d}}while(0);H=c[e>>2]|0;if(!H){Xa=122;break c}if(!(c[H+12>>2]|0)){Xa=122;break c}i=c[(c[H+8>>2]|0)+4>>2]|0;if((c[i+20>>2]|0)<=(c[$>>2]|0)){Xa=122;break c}H=i+12|0;J=c[H>>2]|0;O=c[J+88>>2]|0;o=O-wa|0;eb=c[J+92>>2]|0;ab=eb-r|0;gb=c[J+96>>2]|0;J=gb-va|0;bb=((o|0)<0)<<31>>31;cb=Ns(o|0,bb|0,d|0,w|0)|0;Ya=C;db=((ab|0)<0)<<31>>31;K=Ns(ab|0,db|0,x|0,v|0)|0;_a=Ds(K|0,C|0,cb|0,Ya|0)|0;Ya=C;cb=((J|0)<0)<<31>>31;K=Ns(J|0,cb|0,a|0,u|0)|0;if(!((_a|0)==(K|0)&(Ya|0)==(C|0))){Xa=122;break c}Ya=Ns(o|0,bb|0,D|0,B|0)|0;bb=C;K=Ns(ab|0,db|0,F|0,E|0)|0;db=Ds(K|0,C|0,Ya|0,bb|0)|0;bb=C;Ya=Ns(J|0,cb|0,z|0,n|0)|0;cb=Ds(db|0,bb|0,Ya|0,C|0)|0;Ya=C;bb=(_(ab,s)|0)+(_(o,q)|0)+(_(J,b)|0)|0;J=((bb|0)<0)<<31>>31;o=ha-O|0;O=la-eb|0;eb=ma-gb|0;gb=Ns(o|0,((o|0)<0)<<31>>31|0,D|0,B|0)|0;o=C;ab=Ns(O|0,((O|0)<0)<<31>>31|0,F|0,E|0)|0;O=Ds(ab|0,C|0,gb|0,o|0)|0;o=C;gb=Ns(eb|0,((eb|0)<0)<<31>>31|0,z|0,n|0)|0;eb=Ds(O|0,o|0,gb|0,C|0)|0;gb=C;if((gb|0)>=0){Xa=122;break c}if((cb|0)==0&(Ya|0)==0){if((bb|0)<=0){Xa=122;break c}}else{if((Ya|0)>=0){Xa=122;break c}if((bb|0)>0){wb=bb;xb=J;yb=1}else{o=(bb|0)<0;O=As(0,0,bb|0,J|0)|0;wb=o?O:0;xb=o?C:0;yb=bb>>31}bb=0-yb|0;o=As(0,0,cb|0,Ya|0)|0;Ya=C;if((A|0)>0){zb=1;Ab=A;Bb=ua}else{cb=(A|0)<0;O=As(0,0,A|0,ua|0)|0;zb=A>>31;Ab=cb?O:0;Bb=cb?C:0}do if((Z|0)>0|(Z|0)==0&ca>>>0>0){Cb=zb;Db=ca;Eb=Z}else{if((Z|0)>=0){Cb=zb;Db=0;Eb=0;break}cb=As(0,0,ca|0,Z|0)|0;Cb=0-zb|0;Db=cb;Eb=C}while(0);if((Cb|0)==(bb|0)){if(!yb){Xa=122;break c}A=Ns(Db|0,0,wb|0,0)|0;ua=C;cb=Ns(Eb|0,0,wb|0,0)|0;O=C;J=Ns(Db|0,0,xb|0,0)|0;ab=C;db=Ns(Eb|0,0,xb|0,0)|0;K=C;_a=Ds(cb|0,0,J|0,0)|0;J=C;cb=Ds(O|0,0,db|0,K|0)|0;K=Ds(cb|0,C|0,ab|0,0)|0;ab=Ds(K|0,C|0,J|0,0)|0;J=C;K=Ds(0,_a|0,A|0,ua|0)|0;ua=C;A=Ds(ab|0,J|0,(ua>>>0<_a>>>0|(ua|0)==(_a|0)&K>>>0<0)&1|0,0)|0;_a=C;J=Ns(Ab|0,0,o|0,0)|0;ab=C;cb=Ns(Bb|0,0,o|0,0)|0;db=C;O=Ns(Ab|0,0,Ya|0,0)|0;fb=C;k=Ns(Bb|0,0,Ya|0,0)|0;Za=C;j=Ds(cb|0,0,O|0,0)|0;O=C;cb=Ds(db|0,0,k|0,Za|0)|0;Za=Ds(cb|0,C|0,fb|0,0)|0;fb=Ds(Za|0,C|0,O|0,0)|0;O=C;Za=Ds(0,j|0,J|0,ab|0)|0;ab=C;J=Ds(fb|0,O|0,(ab>>>0<j>>>0|(ab|0)==(j|0)&Za>>>0<0)&1|0,0)|0;j=C;do if(_a>>>0<j>>>0|(_a|0)==(j|0)&A>>>0<J>>>0)Fb=-1;else{if(_a>>>0>j>>>0|(_a|0)==(j|0)&A>>>0>J>>>0){Fb=1;break}if(ua>>>0<ab>>>0|(ua|0)==(ab|0)&K>>>0<Za>>>0){Fb=-1;break}Fb=(ua>>>0>ab>>>0|(ua|0)==(ab|0)&K>>>0>Za>>>0)&1}while(0);Gb=_(Fb,bb)|0}else Gb=bb-Cb|0;if((Gb|0)>=0){Xa=122;break c}}c[e>>2]=i;Za=c[H>>2]|0;na=c[f>>2]|0;Z=gb;ca=eb;wa=c[Za+88>>2]|0;r=c[Za+92>>2]|0;va=c[Za+96>>2]|0}ca=ib-wa|0;Z=jb-r|0;G=kb-va|0;aa=Ns(ca|0,((ca|0)<0)<<31>>31|0,D|0,B|0)|0;ca=C;L=Ns(Z|0,((Z|0)<0)<<31>>31|0,F|0,E|0)|0;Z=Ds(L|0,C|0,aa|0,ca|0)|0;ca=C;aa=Ns(G|0,((G|0)<0)<<31>>31|0,z|0,n|0)|0;G=Ds(Z|0,ca|0,aa|0,C|0)|0;aa=(na|0)==(h|0)?0:hb;c[f>>2]=aa;y=aa;ia=G;p=C;ea=wa;fa=r;ga=va;ha=ib;la=jb;ma=kb}if((Xa|0)==122)return}function zr(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0;i=d+8|0;j=c[i>>2]|0;if(!j){k=0;return k|0}l=a+100|0;a=d+88|0;m=d+92|0;n=d+96|0;d=g+8|0;o=g+16|0;p=f+8|0;q=f+16|0;r=e+8|0;s=e+4|0;t=h+8|0;u=h+16|0;v=j;w=j;j=0;while(1){if((c[w+20>>2]|0)>(c[l>>2]|0)){x=c[w+12>>2]|0;y=c[x+88>>2]|0;z=y-(c[a>>2]|0)|0;A=c[x+92>>2]|0;B=A-(c[m>>2]|0)|0;D=c[x+96>>2]|0;x=D-(c[n>>2]|0)|0;E=((z|0)<0)<<31>>31;F=g;G=Ns(c[F>>2]|0,c[F+4>>2]|0,z|0,E|0)|0;F=C;H=((B|0)<0)<<31>>31;I=d;J=Ns(c[I>>2]|0,c[I+4>>2]|0,B|0,H|0)|0;I=Ds(J|0,C|0,G|0,F|0)|0;F=C;G=((x|0)<0)<<31>>31;J=o;K=Ns(c[J>>2]|0,c[J+4>>2]|0,x|0,G|0)|0;J=Ds(I|0,F|0,K|0,C|0)|0;K=C;F=f;I=Ns(c[F>>2]|0,c[F+4>>2]|0,z|0,E|0)|0;E=C;F=p;L=Ns(c[F>>2]|0,c[F+4>>2]|0,B|0,H|0)|0;H=Ds(L|0,C|0,I|0,E|0)|0;E=C;I=q;L=Ns(c[I>>2]|0,c[I+4>>2]|0,x|0,G|0)|0;G=Ds(H|0,E|0,L|0,C|0)|0;L=C;if((K|0)>0|(K|0)==0&J>>>0>0){M=J;N=K;O=1}else{E=(K|0)<0;H=As(0,0,J|0,K|0)|0;I=C;F=Es(J|0,K|0,63)|0;M=E?H:0;N=E?I:0;O=F}if(!((L|0)>0|(L|0)==0&G>>>0>0)){F=(L|0)<0;I=As(0,0,G|0,L|0)|0;E=F?0-O|0:O;H=F?I:0;I=F?C:0;if((E|0)==0&((H|0)==0&(I|0)==0))P=j;else{Q=H;R=I;S=E;T=8}}else{Q=G;R=L;S=O;T=8}a:do if((T|0)==8){T=0;if(!j){L=h;c[L>>2]=M;c[L+4>>2]=N;L=t;c[L>>2]=Q;c[L+4>>2]=R;c[u>>2]=S;P=w;break}L=c[u>>2]|0;if((S|0)==(L|0)){if(S|0){G=t;E=c[G>>2]|0;I=c[G+4>>2]|0;G=Ns(E|0,0,M|0,0)|0;H=C;F=Ns(I|0,0,M|0,0)|0;K=C;J=Ns(E|0,0,N|0,0)|0;E=C;U=Ns(I|0,0,N|0,0)|0;I=C;V=Ds(F|0,0,J|0,0)|0;J=C;F=Ds(K|0,0,U|0,I|0)|0;I=Ds(F|0,C|0,E|0,0)|0;E=Ds(I|0,C|0,J|0,0)|0;J=C;I=Ds(0,V|0,G|0,H|0)|0;H=C;G=Ds(E|0,J|0,(H>>>0<V>>>0|(H|0)==(V|0)&I>>>0<0)&1|0,0)|0;V=C;J=h;E=c[J>>2]|0;F=c[J+4>>2]|0;J=Ns(E|0,0,Q|0,0)|0;U=C;K=Ns(F|0,0,Q|0,0)|0;W=C;X=Ns(E|0,0,R|0,0)|0;E=C;Y=Ns(F|0,0,R|0,0)|0;F=C;Z=Ds(K|0,0,X|0,0)|0;X=C;K=Ds(W|0,0,Y|0,F|0)|0;F=Ds(K|0,C|0,E|0,0)|0;E=Ds(F|0,C|0,X|0,0)|0;X=C;F=Ds(0,Z|0,J|0,U|0)|0;U=C;J=Ds(E|0,X|0,(U>>>0<Z>>>0|(U|0)==(Z|0)&F>>>0<0)&1|0,0)|0;Z=C;if(!(V>>>0<Z>>>0|(V|0)==(Z|0)&G>>>0<J>>>0))if(!(V>>>0>Z>>>0|(V|0)==(Z|0)&G>>>0>J>>>0))if(H>>>0<U>>>0|(H|0)==(U|0)&I>>>0<F>>>0)$=-1;else $=(H>>>0>U>>>0|(H|0)==(U|0)&I>>>0>F>>>0)&1;else $=1;else $=-1;aa=_($,S)|0;T=18}}else{aa=S-L|0;T=18}do if((T|0)==18){T=0;if((aa|0)>=0)if(!aa)break;else{P=j;break a}else{L=h;c[L>>2]=M;c[L+4>>2]=N;L=t;c[L>>2]=Q;c[L+4>>2]=R;c[u>>2]=S;P=w;break a}}while(0);L=(c[j+4>>2]|0)==(w|0);if((c[j>>2]|0)==(w|0))if(L){F=c[r>>2]|0;I=_(F,B)|0;U=c[s>>2]|0;H=I-(_(U,x)|0)|0;I=c[e>>2]|0;J=(_(I,x)|0)-(_(F,z)|0)|0;F=(_(U,z)|0)-(_(I,B)|0)|0;I=c[j+12>>2]|0;U=c[(c[w+8>>2]|0)+12>>2]|0;G=c[U+88>>2]|0;Z=(c[I+88>>2]|0)-G|0;V=c[U+92>>2]|0;X=(c[I+92>>2]|0)-V|0;E=c[U+96>>2]|0;U=(c[I+96>>2]|0)-E|0;I=y-G|0;G=A-V|0;V=D-E|0;E=(_(V,X)|0)-(_(G,U)|0)|0;K=(_(I,U)|0)-(_(V,Z)|0)|0;V=(_(G,Z)|0)-(_(I,X)|0)|0;X=Ns(E|0,((E|0)<0)<<31>>31|0,H|0,((H|0)<0)<<31>>31|0)|0;H=C;E=Ns(K|0,((K|0)<0)<<31>>31|0,J|0,((J|0)<0)<<31>>31|0)|0;J=C;K=Ns(V|0,((V|0)<0)<<31>>31|0,F|0,((F|0)<0)<<31>>31|0)|0;F=Ds(X|0,H|0,K|0,C|0)|0;K=Ds(F|0,C|0,E|0,J|0)|0;J=C;ba=(J|0)>0|(J|0)==0&K>>>0>0?2:1}else ba=2;else ba=L&1;P=(ba|0)==2^b?j:w}while(0);ca=c[i>>2]|0;da=P}else{ca=v;da=j}w=c[w>>2]|0;if((w|0)==(ca|0)){k=da;break}else{v=ca;j=da}}return k|0}function Ar(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;f=i;i=i+16|0;g=f;h=(e+d|0)/2|0;j=b+12|0;k=c[j>>2]|0;l=c[k+(h<<4)>>2]|0;m=c[k+(h<<4)+4>>2]|0;n=c[k+(h<<4)+8>>2]|0;h=k;k=d;o=e;while(1){p=k;while(1){q=c[h+(p<<4)+4>>2]|0;if((q|0)>=(m|0)){if((q|0)!=(m|0)){r=o;break}q=c[h+(p<<4)>>2]|0;if((q|0)>=(l|0)){if((q|0)!=(l|0)){r=o;break}if((c[h+(p<<4)+8>>2]|0)>=(n|0)){r=o;break}}}p=p+1|0}while(1){q=c[h+(r<<4)+4>>2]|0;if((m|0)>=(q|0)){if((m|0)!=(q|0))break;q=c[h+(r<<4)>>2]|0;if((l|0)>=(q|0)){if((l|0)!=(q|0))break;if((n|0)>=(c[h+(r<<4)+8>>2]|0))break}}r=r+-1|0}if((p|0)>(r|0)){s=p;t=r}else{q=h+(p<<4)|0;u=g;v=q;w=u+16|0;do{a[u>>0]=a[v>>0]|0;u=u+1|0;v=v+1|0}while((u|0)<(w|0));x=h+(r<<4)|0;c[q>>2]=c[x>>2];c[q+4>>2]=c[x+4>>2];c[q+8>>2]=c[x+8>>2];c[q+12>>2]=c[x+12>>2];u=(c[j>>2]|0)+(r<<4)|0;v=g;w=u+16|0;do{a[u>>0]=a[v>>0]|0;u=u+1|0;v=v+1|0}while((u|0)<(w|0));s=p+1|0;t=r+-1|0}if((s|0)>(t|0))break;h=c[j>>2]|0;k=s;o=t}if((t|0)>(d|0))Ar(b,d,t);if((s|0)>=(e|0)){i=f;return}Ar(b,s,e);i=f;return}function Br(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0,g=0,h=0;if((d|0)>-1|(d|0)==-1&c>>>0>4294967295){e=(+(c>>>0)+4294967296.0*+(d>>>0))*18446744073709551616.0+(+(a>>>0)+4294967296.0*+(b>>>0));return +e}else{f=As(0,0,a|0,b|0)|0;g=C;h=Ds((a|0)==0&(b|0)==0&1|0,0,~c|0,~d|0)|0;e=-+Br(f,g,h,C);return +e}return +(0.0)}function Cr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,j=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.0,K=0.0,L=0.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,X=0.0,Y=0.0,Z=0.0,$=0.0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0.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;f=i;i=i+240|0;h=f+216|0;j=f+200|0;l=f+184|0;m=f+24|0;n=f+168|0;o=f+152|0;p=f+12|0;q=f;if((e|0)<1){r=b+4|0;s=b+12|0;t=c[s>>2]|0;u=b+16|0;if(t|0){if(a[u>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[t+-4>>2]|0)}c[s>>2]=0}a[u>>0]=1;c[s>>2]=0;c[r>>2]=0;c[b+8>>2]=0;r=b+24|0;s=b+32|0;u=c[s>>2]|0;t=b+36|0;if(u|0){if(a[t>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[u+-4>>2]|0)}c[s>>2]=0}a[t>>0]=1;c[s>>2]=0;c[r>>2]=0;c[b+28>>2]=0;r=b+44|0;s=b+52|0;t=c[s>>2]|0;u=b+56|0;if(t|0){if(a[u>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[t+-4>>2]|0)}c[s>>2]=0}a[u>>0]=1;c[s>>2]=0;c[r>>2]=0;c[b+48>>2]=0;i=f;return}c[m+32>>2]=0;r=m+36|0;c[r>>2]=0;s=m+40|0;c[s>>2]=0;u=m+44|0;c[u>>2]=256;c[m+48>>2]=0;t=m+52|0;c[t>>2]=0;v=m+56|0;c[v>>2]=0;w=m+60|0;c[w>>2]=256;c[m+64>>2]=0;c[m+68>>2]=0;c[m+72>>2]=0;c[m+76>>2]=256;x=m+96|0;a[x>>0]=1;y=m+92|0;c[y>>2]=0;z=m+84|0;c[z>>2]=0;A=m+88|0;c[A>>2]=0;B=0;C=-246811958;D=-246811958;E=-246811958;F=1900671690;G=1900671690;H=1900671690;I=d;while(1){J=+g[I>>2];K=+g[I+4>>2];L=+g[I+8>>2];M=J<(c[k>>2]=F,+g[k>>2]);N=(g[k>>2]=J,c[k>>2]|0);F=M?N:F;M=K<(c[k>>2]=H,+g[k>>2]);O=(g[k>>2]=K,c[k>>2]|0);H=M?O:H;M=L<(c[k>>2]=G,+g[k>>2]);P=(g[k>>2]=L,c[k>>2]|0);G=M?P:G;C=(c[k>>2]=C,+g[k>>2])<J?N:C;E=(c[k>>2]=E,+g[k>>2])<K?O:E;D=(c[k>>2]=D,+g[k>>2])<L?P:D;B=B+1|0;if((B|0)==(e|0))break;else I=I+16|0}L=(c[k>>2]=C,+g[k>>2]);K=(c[k>>2]=F,+g[k>>2]);J=L-K;Q=(c[k>>2]=E,+g[k>>2]);R=(c[k>>2]=H,+g[k>>2]);S=Q-R;T=(c[k>>2]=D,+g[k>>2]);U=(c[k>>2]=G,+g[k>>2]);V=T-U;G=J<S;D=S<V;H=J<V;E=G?(D?2:1):H?2:0;F=m+112|0;c[F>>2]=E;C=G?(H?0:2):D?1:2;D=m+104|0;if((C|0)==(E|0))W=((E+1|0)>>>0)%3|0;else W=C;c[D>>2]=W;C=(E^3)-W|0;W=m+108|0;c[W>>2]=C;X=J*9.788566967472434e-05;J=S*9.788566967472434e-05;S=V*9.788566967472434e-05;if(((C+1|0)%3|0|0)==(E|0)){Y=X;Z=J;$=S}else{Y=-X;Z=-J;$=-S}g[m>>2]=Y;E=m+4|0;g[E>>2]=Z;C=m+8|0;g[C>>2]=$;g[m+12>>2]=0.0;S=Y!=0.0?1.0/Y:Y;Y=Z!=0.0?1.0/Z:Z;Z=$!=0.0?1.0/$:$;H=m+16|0;g[H>>2]=(L+K)*.5;G=m+20|0;g[G>>2]=(Q+R)*.5;I=m+24|0;g[I>>2]=(T+U)*.5;g[m+28>>2]=0.0;B=h+16|0;a[B>>0]=1;P=h+12|0;c[P>>2]=0;O=h+4|0;c[O>>2]=0;N=h+8|0;c[N>>2]=0;c[4350]=(c[4350]|0)+1;M=Tr((e<<4|3)+16|0)|0;if(!M)aa=0;else{ba=M+4+15&-16;c[ba+-4>>2]=M;aa=ba}ba=c[O>>2]|0;M=c[P>>2]|0;if((ba|0)<=0){if(M|0)ca=26}else{da=0;do{ea=aa+(da<<4)|0;fa=M+(da<<4)|0;c[ea>>2]=c[fa>>2];c[ea+4>>2]=c[fa+4>>2];c[ea+8>>2]=c[fa+8>>2];c[ea+12>>2]=c[fa+12>>2];da=da+1|0}while((da|0)!=(ba|0));ca=26}if((ca|0)==26){if(a[B>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[M+-4>>2]|0)}c[P>>2]=0}a[B>>0]=1;c[P>>2]=aa;c[N>>2]=e;c[aa>>2]=c[j>>2];c[aa+4>>2]=c[j+4>>2];c[aa+8>>2]=c[j+8>>2];c[aa+12>>2]=c[j+12>>2];if((e|0)!=1){aa=1;do{M=(c[P>>2]|0)+(aa<<4)|0;c[M>>2]=c[j>>2];c[M+4>>2]=c[j+4>>2];c[M+8>>2]=c[j+8>>2];c[M+12>>2]=c[j+12>>2];aa=aa+1|0}while((aa|0)!=(e|0))}c[O>>2]=e;aa=l+4|0;j=l+8|0;M=l+12|0;ba=l+(c[W>>2]<<2)|0;da=c[P>>2]|0;fa=l+(c[F>>2]<<2)|0;ea=l+(c[D>>2]<<2)|0;U=+g[H>>2];T=+g[G>>2];R=+g[I>>2];ga=0;ha=d;while(1){d=c[ha>>2]|0;c[l>>2]=d;ia=c[ha+4>>2]|0;c[aa>>2]=ia;Q=(c[k>>2]=d,+g[k>>2])-U;K=Y*((c[k>>2]=ia,+g[k>>2])-T);L=Z*(+g[ha+8>>2]-R);g[l>>2]=S*Q;g[aa>>2]=K;g[j>>2]=L;g[M>>2]=0.0;c[da+(ga<<4)>>2]=~~+g[ba>>2];c[da+(ga<<4)+4>>2]=~~+g[fa>>2];c[da+(ga<<4)+8>>2]=~~+g[ea>>2];c[da+(ga<<4)+12>>2]=ga;ga=ga+1|0;if((ga|0)==(e|0))break;else ha=ha+16|0}if((e|0)>1)Ar(h,0,e+-1|0);ha=m+32|0;c[r>>2]=c[ha>>2];c[s>>2]=0;c[u>>2]=e;ga=c[z>>2]|0;if((ga|0)<(e|0)){if((c[A>>2]|0)<(e|0)){if(!e){ja=0;ka=ga}else{c[4350]=(c[4350]|0)+1;da=Tr((e<<2|3)+16|0)|0;if(!da)la=0;else{ea=da+4+15&-16;c[ea+-4>>2]=da;la=ea}ja=la;ka=c[z>>2]|0}if((ka|0)>0){la=0;do{c[ja+(la<<2)>>2]=c[(c[y>>2]|0)+(la<<2)>>2];la=la+1|0}while((la|0)!=(ka|0))}ka=c[y>>2]|0;if(ka|0){if(a[x>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[ka+-4>>2]|0)}c[y>>2]=0}a[x>>0]=1;c[y>>2]=ja;c[A>>2]=e;ma=ga}else ma=ga;do{c[(c[y>>2]|0)+(ma<<2)>>2]=0;ma=ma+1|0}while((ma|0)!=(e|0))}c[z>>2]=e;z=0;do{ma=c[s>>2]|0;if(!ma){ga=c[r>>2]|0;if(!ga){c[4350]=(c[4350]|0)+1;A=Tr(31)|0;if(!A)na=0;else{ja=A+4+15&-16;c[ja+-4>>2]=A;na=ja}ja=c[u>>2]|0;c[na+4>>2]=ja;A=na+8|0;c[A>>2]=0;c[4350]=(c[4350]|0)+1;x=Tr((ja*112|3)+16|0)|0;if(!x)oa=0;else{ja=x+4+15&-16;c[ja+-4>>2]=x;oa=ja}c[na>>2]=oa;c[A>>2]=c[ha>>2];c[ha>>2]=na;pa=na}else{c[r>>2]=c[ga+8>>2];pa=ga}ga=c[pa+4>>2]|0;A=c[pa>>2]|0;if((ga|0)>0){ja=0;x=A;do{ja=ja+1|0;ka=x;x=x+112|0;c[ka>>2]=(ja|0)<(ga|0)?x:0}while((ja|0)!=(ga|0));qa=A}else qa=A}else qa=ma;c[s>>2]=c[qa>>2];ga=qa+104|0;c[qa>>2]=0;c[qa+4>>2]=0;c[qa+8>>2]=0;c[qa+12>>2]=0;c[qa+16>>2]=0;c[ga>>2]=-1;c[qa+8>>2]=0;ja=qa+88|0;x=(c[P>>2]|0)+(z<<4)|0;c[ja>>2]=c[x>>2];c[ja+4>>2]=c[x+4>>2];c[ja+8>>2]=c[x+8>>2];c[ja+12>>2]=c[x+12>>2];c[ga>>2]=-1;c[(c[y>>2]|0)+(z<<2)>>2]=qa;z=z+1|0}while((z|0)<(e|0));z=c[P>>2]|0;if(z|0){if(a[B>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[z+-4>>2]|0)}c[P>>2]=0}a[B>>0]=1;c[P>>2]=0;c[O>>2]=0;c[N>>2]=0;c[t>>2]=c[m+48>>2];c[v>>2]=0;c[w>>2]=e*6;c[m+116>>2]=0;c[m+120>>2]=0;c[m+100>>2]=-3;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;xr(m,0,e,l);e=m+124|0;c[e>>2]=c[l>>2];l=c[P>>2]|0;if(l|0){if(a[B>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[l+-4>>2]|0)}c[P>>2]=0}P=b+4|0;l=c[P>>2]|0;if((l|0)<0){B=b+8|0;w=b+12|0;if((c[B>>2]|0)<0){v=c[w>>2]|0;t=b+16|0;if(v|0){if(a[t>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[v+-4>>2]|0)}c[w>>2]=0}a[t>>0]=1;c[w>>2]=0;c[B>>2]=0}B=l;do{l=(c[w>>2]|0)+(B<<4)|0;c[l>>2]=c[n>>2];c[l+4>>2]=c[n+4>>2];c[l+8>>2]=c[n+8>>2];c[l+12>>2]=c[n+12>>2];B=B+1|0}while((B|0)!=0)}c[P>>2]=0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;B=b+24|0;n=c[B>>2]|0;if((n|0)<0){w=b+28|0;l=b+32|0;if((c[w>>2]|0)<0){t=c[l>>2]|0;v=b+36|0;if(t|0){if(a[v>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[t+-4>>2]|0)}c[l>>2]=0}a[v>>0]=1;c[l>>2]=0;c[w>>2]=0;ra=n}else ra=n;do{n=(c[l>>2]|0)+(ra*12|0)|0;c[n>>2]=c[o>>2];c[n+4>>2]=c[o+4>>2];c[n+8>>2]=c[o+8>>2];ra=ra+1|0}while((ra|0)!=0)}c[B>>2]=0;ra=b+44|0;o=c[ra>>2]|0;if((o|0)<0){l=b+48|0;n=b+52|0;w=c[n>>2]|0;do if((c[l>>2]|0)<0){v=b+56|0;if(!w){a[v>>0]=1;c[n>>2]=0;c[l>>2]=0;sa=0;break}if(a[v>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[w+-4>>2]|0)}a[v>>0]=1;c[n>>2]=0;c[l>>2]=0;sa=0}else sa=w;while(0);Bs(sa+(o<<2)|0,0,_(o,-4)|0)|0}c[ra>>2]=0;o=c[e>>2]|0;e=o+104|0;if((c[e>>2]|0)<0){c[e>>2]=0;c[4350]=(c[4350]|0)+1;e=Tr(23)|0;sa=e+4+15&-16;c[sa+-4>>2]=e;c[sa>>2]=o;e=b+8|0;w=b+12|0;l=b+16|0;n=b+28|0;v=b+32|0;t=b+36|0;N=h+4|0;O=h+8|0;z=o;o=0;qa=1;y=1;s=sa;while(1){if((c[z+100>>2]|0)>-1){g[h+(c[W>>2]<<2)>>2]=+(c[z+88>>2]|0);g[h+(c[F>>2]<<2)>>2]=+(c[z+92>>2]|0);ta=+(c[z+96>>2]|0)}else{sa=z+24|0;pa=z+32|0;S=+Br(c[sa>>2]|0,c[sa+4>>2]|0,c[pa>>2]|0,c[pa+4>>2]|0);pa=z+72|0;sa=pa;r=z+80|0;na=c[r>>2]|0;ha=c[r+4>>2]|0;R=S/+Br(c[sa>>2]|0,c[sa+4>>2]|0,na,ha);g[h+(c[W>>2]<<2)>>2]=R;sa=z+40|0;r=z+48|0;R=+Br(c[sa>>2]|0,c[sa+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0);r=pa;S=R/+Br(c[r>>2]|0,c[r+4>>2]|0,na,ha);g[h+(c[F>>2]<<2)>>2]=S;r=z+56|0;sa=z+64|0;S=+Br(c[r>>2]|0,c[r+4>>2]|0,c[sa>>2]|0,c[sa+4>>2]|0);sa=pa;ta=S/+Br(c[sa>>2]|0,c[sa+4>>2]|0,na,ha)}g[h+(c[D>>2]<<2)>>2]=ta;S=+g[h>>2]*+g[m>>2]+ +g[H>>2];R=+g[N>>2]*+g[E>>2]+ +g[G>>2];Z=+g[O>>2]*+g[C>>2]+ +g[I>>2];ha=c[P>>2]|0;if((ha|0)==(c[e>>2]|0)?(na=ha|0?ha<<1:1,(ha|0)<(na|0)):0){if(!na){ua=0;va=ha}else{c[4350]=(c[4350]|0)+1;sa=Tr((na<<4|3)+16|0)|0;if(!sa)wa=0;else{pa=sa+4+15&-16;c[pa+-4>>2]=sa;wa=pa}ua=wa;va=c[P>>2]|0}if((va|0)>0){pa=0;do{sa=ua+(pa<<4)|0;r=(c[w>>2]|0)+(pa<<4)|0;c[sa>>2]=c[r>>2];c[sa+4>>2]=c[r+4>>2];c[sa+8>>2]=c[r+8>>2];c[sa+12>>2]=c[r+12>>2];pa=pa+1|0}while((pa|0)!=(va|0))}pa=c[w>>2]|0;if(pa|0){if(a[l>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[pa+-4>>2]|0)}c[w>>2]=0}a[l>>0]=1;c[w>>2]=ua;c[e>>2]=na;xa=c[P>>2]|0}else xa=ha;pa=c[w>>2]|0;g[pa+(xa<<4)>>2]=S;g[pa+(xa<<4)+4>>2]=R;g[pa+(xa<<4)+8>>2]=Z;g[pa+(xa<<4)+12>>2]=0.0;c[P>>2]=(c[P>>2]|0)+1;pa=c[z+8>>2]|0;if(!pa){ya=qa;za=y;Aa=s}else{ma=pa;A=-1;r=qa;sa=y;oa=s;u=-1;while(1){ga=ma+20|0;x=c[ga>>2]|0;if((x|0)<0){ja=c[B>>2]|0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;do if((ja|0)==(c[n>>2]|0)){ka=ja|0?ja<<1:1;if((ja|0)>=(ka|0)){Ba=ja;break}if(!ka){Ca=0;Da=ja}else{c[4350]=(c[4350]|0)+1;la=Tr((ka*12|3)+16|0)|0;if(!la)Ea=0;else{ea=la+4+15&-16;c[ea+-4>>2]=la;Ea=ea}Ca=Ea;Da=c[B>>2]|0}if((Da|0)>0){ea=0;do{la=Ca+(ea*12|0)|0;da=(c[v>>2]|0)+(ea*12|0)|0;c[la>>2]=c[da>>2];c[la+4>>2]=c[da+4>>2];c[la+8>>2]=c[da+8>>2];ea=ea+1|0}while((ea|0)!=(Da|0))}ea=c[v>>2]|0;if(ea|0){if(a[t>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[ea+-4>>2]|0)}c[v>>2]=0}a[t>>0]=1;c[v>>2]=Ca;c[n>>2]=ka;Ba=c[B>>2]|0}else Ba=ja;while(0);ea=(c[v>>2]|0)+(Ba*12|0)|0;c[ea>>2]=c[p>>2];c[ea+4>>2]=c[p+4>>2];c[ea+8>>2]=c[p+8>>2];ea=(c[B>>2]|0)+1|0;c[B>>2]=ea;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;do if((ea|0)==(c[n>>2]|0)){da=ea|0?ea<<1:1;if((ea|0)>=(da|0)){Fa=ea;break}if(!da){Ga=0;Ha=ea}else{c[4350]=(c[4350]|0)+1;la=Tr((da*12|3)+16|0)|0;if(!la)Ia=0;else{fa=la+4+15&-16;c[fa+-4>>2]=la;Ia=fa}Ga=Ia;Ha=c[B>>2]|0}if((Ha|0)>0){fa=0;do{la=Ga+(fa*12|0)|0;ba=(c[v>>2]|0)+(fa*12|0)|0;c[la>>2]=c[ba>>2];c[la+4>>2]=c[ba+4>>2];c[la+8>>2]=c[ba+8>>2];fa=fa+1|0}while((fa|0)!=(Ha|0))}fa=c[v>>2]|0;if(fa|0){if(a[t>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[fa+-4>>2]|0)}c[v>>2]=0}a[t>>0]=1;c[v>>2]=Ga;c[n>>2]=da;Fa=c[B>>2]|0}else Fa=ea;while(0);ea=(c[v>>2]|0)+(Fa*12|0)|0;c[ea>>2]=c[q>>2];c[ea+4>>2]=c[q+4>>2];c[ea+8>>2]=c[q+8>>2];c[B>>2]=(c[B>>2]|0)+1;ea=c[v>>2]|0;fa=ja+1|0;c[ga>>2]=ja;c[(c[ma+8>>2]|0)+20>>2]=fa;c[ea+(ja*12|0)+4>>2]=1;c[ea+(fa*12|0)+4>>2]=-1;ka=c[ma+12>>2]|0;ba=ka;la=ka+104|0;ka=c[la>>2]|0;if((ka|0)<0){c[la>>2]=sa;do if((sa|0)==(r|0)){la=r|0?r<<1:1;if((r|0)>=(la|0)){Ja=r;Ka=oa;break}do if(!la)La=0;else{c[4350]=(c[4350]|0)+1;M=Tr((la<<2|3)+16|0)|0;if(!M){La=0;break}j=M+4+15&-16;c[j+-4>>2]=M;La=j}while(0);if((r|0)<=0){if(!oa){Ja=la;Ka=La;break}}else{da=0;do{c[La+(da<<2)>>2]=c[oa+(da<<2)>>2];da=da+1|0}while((da|0)!=(r|0))}c[4351]=(c[4351]|0)+1;Ur(c[oa+-4>>2]|0);Ja=la;Ka=La}else{Ja=r;Ka=oa}while(0);c[Ka+(sa<<2)>>2]=ba;Ma=sa;Na=Ja;Oa=sa+1|0;Pa=Ka}else{Ma=ka;Na=r;Oa=sa;Pa=oa}c[ea+(ja*12|0)+8>>2]=Ma;c[ea+(fa*12|0)+8>>2]=o;Qa=c[ga>>2]|0;Ra=Na;Sa=Oa;Ta=Pa}else{Qa=x;Ra=r;Sa=sa;Ta=oa}if((u|0)>-1){c[(c[v>>2]|0)+(Qa*12|0)>>2]=u-Qa;Ua=A}else Ua=Qa;ma=c[ma>>2]|0;if((ma|0)==(pa|0))break;else{A=Ua;r=Ra;sa=Sa;oa=Ta;u=Qa}}c[(c[v>>2]|0)+(Ua*12|0)>>2]=Qa-Ua;ya=Ra;za=Sa;Aa=Ta}u=o+1|0;if((u|0)>=(za|0))break;z=c[Aa+(u<<2)>>2]|0;o=u;qa=ya;y=za;s=Aa}if((o|0)>-1){s=b+48|0;za=b+52|0;y=b+56|0;b=0;while(1){ya=c[(c[Aa+(b<<2)>>2]|0)+8>>2]|0;if(ya|0){qa=ya;do{z=qa+20|0;Ta=c[z>>2]|0;if((Ta|0)>-1){Sa=c[ra>>2]|0;do if((Sa|0)==(c[s>>2]|0)){Ra=Sa|0?Sa<<1:1;if((Sa|0)>=(Ra|0)){Va=Sa;Wa=Ta;break}if(!Ra){Xa=0;Ya=Sa}else{c[4350]=(c[4350]|0)+1;Ua=Tr((Ra<<2|3)+16|0)|0;if(!Ua)Za=0;else{Qa=Ua+4+15&-16;c[Qa+-4>>2]=Ua;Za=Qa}Xa=Za;Ya=c[ra>>2]|0}Qa=c[za>>2]|0;if((Ya|0)<=0)if(!Qa)_a=Ya;else ca=173;else{Ua=0;do{c[Xa+(Ua<<2)>>2]=c[Qa+(Ua<<2)>>2];Ua=Ua+1|0}while((Ua|0)!=(Ya|0));ca=173}if((ca|0)==173){ca=0;if(a[y>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[Qa+-4>>2]|0)}c[za>>2]=0;_a=c[ra>>2]|0}a[y>>0]=1;c[za>>2]=Xa;c[s>>2]=Ra;Va=_a;Wa=c[z>>2]|0}else{Va=Sa;Wa=Ta}while(0);c[(c[za>>2]|0)+(Va<<2)>>2]=Wa;c[ra>>2]=(c[ra>>2]|0)+1;Ta=qa;do{c[Ta+20>>2]=-1;Ta=c[(c[Ta+8>>2]|0)+4>>2]|0}while((Ta|0)!=(qa|0))}qa=c[qa>>2]|0}while((qa|0)!=(ya|0))}if((b|0)==(o|0))break;else b=b+1|0}}if(Aa|0){c[4351]=(c[4351]|0)+1;Ur(c[Aa+-4>>2]|0)}}Dr(m);i=f;return}function Dr(b){b=b|0;var d=0,e=0,f=0,g=0;d=b+84|0;e=b+92|0;f=c[e>>2]|0;g=b+96|0;if(f|0){if(a[g>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[f+-4>>2]|0)}c[e>>2]=0}a[g>>0]=1;c[e>>2]=0;c[d>>2]=0;c[b+88>>2]=0;d=b+64|0;e=c[d>>2]|0;if(e|0){g=e;do{c[d>>2]=c[g+8>>2];e=c[g>>2]|0;if(e|0){c[4351]=(c[4351]|0)+1;Ur(c[e+-4>>2]|0)}c[4351]=(c[4351]|0)+1;Ur(c[g+-4>>2]|0);g=c[d>>2]|0}while((g|0)!=0)}g=b+48|0;d=c[g>>2]|0;if(d|0){e=d;do{c[g>>2]=c[e+8>>2];d=c[e>>2]|0;if(d|0){c[4351]=(c[4351]|0)+1;Ur(c[d+-4>>2]|0)}c[4351]=(c[4351]|0)+1;Ur(c[e+-4>>2]|0);e=c[g>>2]|0}while((e|0)!=0)}e=b+32|0;b=c[e>>2]|0;if(!b)return;g=b;do{c[e>>2]=c[g+8>>2];b=c[g>>2]|0;if(b|0){c[4351]=(c[4351]|0)+1;Ur(c[b+-4>>2]|0)}c[4351]=(c[4351]|0)+1;Ur(c[g+-4>>2]|0);g=c[e>>2]|0}while((g|0)!=0);return}function Er(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b;c[d>>2]=c[a+60>>2];a=mb(6,d|0)|0;if(a>>>0>4294963200){if(!0)e=17408;else e=c[(fb()|0)+64>>2]|0;c[e>>2]=0-a;f=-1}else f=a;i=b;return f|0}function Fr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;e=i;i=i+48|0;f=e+16|0;g=e;h=e+32|0;j=a+28|0;k=c[j>>2]|0;c[h>>2]=k;l=a+20|0;m=(c[l>>2]|0)-k|0;c[h+4>>2]=m;c[h+8>>2]=b;c[h+12>>2]=d;b=a+60|0;k=a+44|0;n=h;h=2;o=m+d|0;while(1){if(!0){c[f>>2]=c[b>>2];c[f+4>>2]=n;c[f+8>>2]=h;m=rb(146,f|0)|0;if(m>>>0>4294963200){if(!0)p=17408;else p=c[(fb()|0)+64>>2]|0;c[p>>2]=0-m;q=-1}else q=m}else{nb(193,a|0);c[g>>2]=c[b>>2];c[g+4>>2]=n;c[g+8>>2]=h;m=rb(146,g|0)|0;if(m>>>0>4294963200){if(!0)r=17408;else r=c[(fb()|0)+64>>2]|0;c[r>>2]=0-m;s=-1}else s=m;Ra(0);q=s}if((o|0)==(q|0)){t=13;break}if((q|0)<0){t=15;break}m=o-q|0;u=c[n+4>>2]|0;if(q>>>0<=u>>>0)if((h|0)==2){c[j>>2]=(c[j>>2]|0)+q;v=u;w=q;x=n;y=2}else{v=u;w=q;x=n;y=h}else{z=c[k>>2]|0;c[j>>2]=z;c[l>>2]=z;v=c[n+12>>2]|0;w=q-u|0;x=n+8|0;y=h+-1|0}c[x>>2]=(c[x>>2]|0)+w;c[x+4>>2]=v-w;n=x;h=y;o=m}if((t|0)==13){o=c[k>>2]|0;c[a+16>>2]=o+(c[a+48>>2]|0);k=o;c[j>>2]=k;c[l>>2]=k;A=d}else if((t|0)==15){c[a+16>>2]=0;c[j>>2]=0;c[l>>2]=0;c[a>>2]=c[a>>2]|32;if((h|0)==2)A=0;else A=d-(c[n+4>>2]|0)|0}i=e;return A|0}function Gr(a){a=a|0;return}function Hr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;f=e;g=e+20|0;c[f>>2]=c[a+60>>2];c[f+4>>2]=0;c[f+8>>2]=b;c[f+12>>2]=g;c[f+16>>2]=d;d=pb(140,f|0)|0;if(d>>>0<=4294963200)if((d|0)<0)h=7;else j=c[g>>2]|0;else{if(!0)k=17408;else k=c[(fb()|0)+64>>2]|0;c[k>>2]=0-d;h=7}if((h|0)==7){c[g>>2]=-1;j=-1}i=e;return j|0}function Ir(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;f=d&255;g=(e|0)!=0;a:do if(g&(b&3|0)!=0){h=d&255;i=e;j=b;while(1){if((a[j>>0]|0)==h<<24>>24){k=i;l=j;break a}m=j+1|0;n=i+-1|0;o=(n|0)!=0;if(o&(m&3|0)!=0){i=n;j=m}else{p=n;q=o;r=m;s=5;break}}}else{p=e;q=g;r=b;s=5}while(0);b:do if((s|0)==5)if(q){b=d&255;if((a[r>>0]|0)==b<<24>>24){k=p;l=r}else{g=_(f,16843009)|0;c:do if(p>>>0>3){e=p;j=r;while(1){i=c[j>>2]^g;if((i&-2139062144^-2139062144)&i+-16843009|0)break;i=j+4|0;h=e+-4|0;if(h>>>0>3){e=h;j=i}else{t=h;u=i;s=11;break c}}v=e;w=j}else{t=p;u=r;s=11}while(0);if((s|0)==11)if(!t){k=0;l=u;break}else{v=t;w=u}while(1){if((a[w>>0]|0)==b<<24>>24){k=v;l=w;break b}g=w+1|0;v=v+-1|0;if(!v){k=0;l=g;break}else w=g}}}else{k=0;l=r}while(0);return (k|0?l:0)|0}function Jr(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;f=i;i=i+16|0;g=f;h=e&255;a[g>>0]=h;j=b+16|0;k=c[j>>2]|0;if(!k)if(!(Kr(b)|0)){l=c[j>>2]|0;m=4}else n=-1;else{l=k;m=4}do if((m|0)==4){k=b+20|0;j=c[k>>2]|0;if(j>>>0<l>>>0?(o=e&255,(o|0)!=(a[b+75>>0]|0)):0){c[k>>2]=j+1;a[j>>0]=h;n=o;break}if((Hb[c[b+36>>2]&31](b,g,1)|0)==1)n=d[g>>0]|0;else n=-1}while(0);i=f;return n|0}function Kr(b){b=b|0;var d=0,e=0,f=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;e=c[b>>2]|0;if(!(e&8)){c[b+8>>2]=0;c[b+4>>2]=0;d=c[b+44>>2]|0;c[b+28>>2]=d;c[b+20>>2]=d;c[b+16>>2]=d+(c[b+48>>2]|0);f=0}else{c[b>>2]=e|32;f=-1}return f|0}function Lr(b,d){b=b|0;d=d|0;var e=0,f=0;do if(!b)e=0;else{if(d>>>0<128){a[b>>0]=d;e=1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;e=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;e=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;e=4;break}if(!0)f=17408;else f=c[(fb()|0)+64>>2]|0;c[f>>2]=84;e=-1}while(0);return e|0}function Mr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=e+16|0;g=c[f>>2]|0;if(!g){if(!(Kr(e)|0)){h=c[f>>2]|0;i=5}}else{h=g;i=5}a:do if((i|0)==5){g=e+20|0;f=c[g>>2]|0;j=f;if((h-f|0)>>>0<d>>>0){Hb[c[e+36>>2]&31](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){k=d;l=b;m=j;break b}n=f+-1|0;if((a[b+n>>0]|0)==10)break;else f=n}if((Hb[c[e+36>>2]&31](e,b,f)|0)>>>0<f>>>0)break a;k=d-f|0;l=b+f|0;m=c[g>>2]|0}else{k=d;l=b;m=j}while(0);Gs(m|0,l|0,k|0)|0;c[g>>2]=(c[g>>2]|0)+k}while(0);return}function Nr(e,f,g,j,l){e=e|0;f=f|0;g=g|0;j=j|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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,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.0,db=0.0,eb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0.0,mb=0.0,nb=0,ob=0.0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0.0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0.0,Vb=0.0,Wb=0.0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0;m=i;i=i+624|0;n=m+24|0;o=m+16|0;p=m+588|0;q=m+576|0;r=m;s=m+536|0;t=m+8|0;u=m+528|0;v=(e|0)!=0;w=s+40|0;x=w;y=s+39|0;s=t+4|0;z=p;A=0-z|0;B=q+12|0;D=q+11|0;q=B;E=q-z|0;F=-2-z|0;G=q+2|0;H=n+288|0;I=p+9|0;J=I;K=p+8|0;L=0;M=0;N=0;O=f;a:while(1){do if((L|0)>-1){if((M|0)<=(2147483647-L|0)){P=M+L|0;break}if(!0)Q=17408;else Q=c[(fb()|0)+64>>2]|0;c[Q>>2]=75;P=-1}else P=L;while(0);f=a[O>>0]|0;if(!(f<<24>>24)){R=254;break}else{S=f;T=O}b:while(1){switch(S<<24>>24){case 37:{U=T;V=T;R=11;break b;break}case 0:{W=T;X=T;break b;break}default:{}}f=T+1|0;S=a[f>>0]|0;T=f}c:do if((R|0)==11)while(1){R=0;if((a[U+1>>0]|0)!=37){W=U;X=V;break c}f=V+1|0;Y=U+2|0;if((a[Y>>0]|0)==37){U=Y;V=f;R=11}else{W=Y;X=f;break}}while(0);f=X-O|0;if(v?(c[e>>2]&32|0)==0:0)Mr(O,f,e);if((X|0)!=(O|0)){L=P;M=f;O=W;continue}Y=W+1|0;Z=a[Y>>0]|0;$=(Z<<24>>24)+-48|0;if($>>>0<10){aa=(a[W+2>>0]|0)==36;ba=aa?W+3|0:Y;ca=a[ba>>0]|0;da=aa?$:-1;ea=aa?1:N;fa=ba}else{ca=Z;da=-1;ea=N;fa=Y}Y=ca<<24>>24;d:do if((Y&-32|0)==32){Z=Y;ba=ca;aa=0;$=fa;while(1){if(!(1<<Z+-32&75913)){ga=ba;ha=aa;ia=$;break d}ja=1<<(ba<<24>>24)+-32|aa;ka=$+1|0;la=a[ka>>0]|0;Z=la<<24>>24;if((Z&-32|0)!=32){ga=la;ha=ja;ia=ka;break}else{ba=la;aa=ja;$=ka}}}else{ga=ca;ha=0;ia=fa}while(0);do if(ga<<24>>24==42){Y=ia+1|0;$=(a[Y>>0]|0)+-48|0;if($>>>0<10?(a[ia+2>>0]|0)==36:0){c[l+($<<2)>>2]=10;ma=1;na=ia+3|0;oa=c[j+((a[Y>>0]|0)+-48<<3)>>2]|0}else{if(ea|0){pa=-1;break a}if(!v){qa=ha;ra=0;sa=Y;ta=0;break}$=(c[g>>2]|0)+(4-1)&~(4-1);aa=c[$>>2]|0;c[g>>2]=$+4;ma=0;na=Y;oa=aa}if((oa|0)<0){qa=ha|8192;ra=ma;sa=na;ta=0-oa|0}else{qa=ha;ra=ma;sa=na;ta=oa}}else{aa=(ga<<24>>24)+-48|0;if(aa>>>0<10){Y=ia;$=0;ba=aa;do{$=($*10|0)+ba|0;Y=Y+1|0;ba=(a[Y>>0]|0)+-48|0}while(ba>>>0<10);if(($|0)<0){pa=-1;break a}else{qa=ha;ra=ea;sa=Y;ta=$}}else{qa=ha;ra=ea;sa=ia;ta=0}}while(0);e:do if((a[sa>>0]|0)==46){ba=sa+1|0;aa=a[ba>>0]|0;if(aa<<24>>24!=42){Z=(aa<<24>>24)+-48|0;if(Z>>>0<10){ua=ba;va=0;wa=Z}else{xa=0;ya=ba;break}while(1){ba=(va*10|0)+wa|0;Z=ua+1|0;wa=(a[Z>>0]|0)+-48|0;if(wa>>>0>=10){xa=ba;ya=Z;break e}else{ua=Z;va=ba}}}$=sa+2|0;Y=(a[$>>0]|0)+-48|0;if(Y>>>0<10?(a[sa+3>>0]|0)==36:0){c[l+(Y<<2)>>2]=10;xa=c[j+((a[$>>0]|0)+-48<<3)>>2]|0;ya=sa+4|0;break}if(ra|0){pa=-1;break a}if(v){Y=(c[g>>2]|0)+(4-1)&~(4-1);ba=c[Y>>2]|0;c[g>>2]=Y+4;xa=ba;ya=$}else{xa=0;ya=$}}else{xa=-1;ya=sa}while(0);$=ya;ba=0;while(1){Y=(a[$>>0]|0)+-65|0;if(Y>>>0>57){pa=-1;break a}za=$+1|0;Aa=a[13630+(ba*58|0)+Y>>0]|0;Ba=Aa&255;if((Ba+-1|0)>>>0<8){$=za;ba=Ba}else break}if(!(Aa<<24>>24)){pa=-1;break}Y=(da|0)>-1;do if(Aa<<24>>24==19)if(Y){pa=-1;break a}else R=54;else{if(Y){c[l+(da<<2)>>2]=Ba;Z=j+(da<<3)|0;aa=c[Z+4>>2]|0;ka=r;c[ka>>2]=c[Z>>2];c[ka+4>>2]=aa;R=54;break}if(!v){pa=0;break a}Or(r,Ba,g)}while(0);if((R|0)==54?(R=0,!v):0){L=P;M=f;N=ra;O=za;continue}Y=a[$>>0]|0;aa=(ba|0)!=0&(Y&15|0)==3?Y&-33:Y;Y=qa&-65537;ka=(qa&8192|0)==0?qa:Y;f:do switch(aa|0){case 110:{switch(ba|0){case 0:{c[c[r>>2]>>2]=P;L=P;M=f;N=ra;O=za;continue a;break}case 1:{c[c[r>>2]>>2]=P;L=P;M=f;N=ra;O=za;continue a;break}case 2:{Z=c[r>>2]|0;c[Z>>2]=P;c[Z+4>>2]=((P|0)<0)<<31>>31;L=P;M=f;N=ra;O=za;continue a;break}case 3:{b[c[r>>2]>>1]=P;L=P;M=f;N=ra;O=za;continue a;break}case 4:{a[c[r>>2]>>0]=P;L=P;M=f;N=ra;O=za;continue a;break}case 6:{c[c[r>>2]>>2]=P;L=P;M=f;N=ra;O=za;continue a;break}case 7:{Z=c[r>>2]|0;c[Z>>2]=P;c[Z+4>>2]=((P|0)<0)<<31>>31;L=P;M=f;N=ra;O=za;continue a;break}default:{L=P;M=f;N=ra;O=za;continue a}}break}case 112:{Ca=ka|8;Da=xa>>>0>8?xa:8;Ea=120;R=66;break}case 88:case 120:{Ca=ka;Da=xa;Ea=aa;R=66;break}case 111:{Z=r;ja=c[Z>>2]|0;la=c[Z+4>>2]|0;if((ja|0)==0&(la|0)==0)Fa=w;else{Z=w;Ga=ja;ja=la;while(1){la=Z+-1|0;a[la>>0]=Ga&7|48;Ga=Fs(Ga|0,ja|0,3)|0;ja=C;if((Ga|0)==0&(ja|0)==0){Fa=la;break}else Z=la}}if(!(ka&8)){Ha=Fa;Ia=ka;Ja=xa;Ka=0;La=14110;R=79}else{Z=x-Fa|0;Ha=Fa;Ia=ka;Ja=(xa|0)>(Z|0)?xa:Z+1|0;Ka=0;La=14110;R=79}break}case 105:case 100:{Z=r;ja=c[Z>>2]|0;Ga=c[Z+4>>2]|0;if((Ga|0)<0){Z=As(0,0,ja|0,Ga|0)|0;la=C;Ma=r;c[Ma>>2]=Z;c[Ma+4>>2]=la;Na=Z;Oa=la;Pa=1;Qa=14110;R=78;break f}if(!(ka&2048)){la=ka&1;Na=ja;Oa=Ga;Pa=la;Qa=(la|0)==0?14110:14112;R=78}else{Na=ja;Oa=Ga;Pa=1;Qa=14111;R=78}break}case 117:{Ga=r;Na=c[Ga>>2]|0;Oa=c[Ga+4>>2]|0;Pa=0;Qa=14110;R=78;break}case 99:{a[y>>0]=c[r>>2];Ra=y;Sa=Y;Ta=1;Ua=0;Va=14110;Wa=w;break}case 109:{if(!0)Xa=17408;else Xa=c[(fb()|0)+64>>2]|0;Ga=c[Xa>>2]|0;ja=0;while(1){if((d[14120+ja>>0]|0)==(Ga|0)){R=85;break}la=ja+1|0;if((la|0)==87){Ya=87;Za=14208;break}else ja=la}if((R|0)==85){R=0;if(!ja){_a=14208;R=92;break f}else{Ya=ja;Za=14208}}while(1){Ga=Za;do{la=Ga;Ga=Ga+1|0}while((a[la>>0]|0)!=0);Ya=Ya+-1|0;if(!Ya){_a=Ga;R=92;break}else Za=Ga}break}case 115:{ja=c[r>>2]|0;_a=ja|0?ja:16012;R=92;break}case 67:{c[t>>2]=c[r>>2];c[s>>2]=0;c[r>>2]=t;$a=t;ab=-1;R=96;break}case 83:{ja=c[r>>2]|0;if(!xa){Qr(e,32,ta,0,ka);bb=0;R=107}else{$a=ja;ab=xa;R=96}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{cb=+h[r>>3];c[o>>2]=0;h[k>>3]=cb;if((c[k+4>>2]|0)>=0)if(!(ka&2048)){ja=ka&1;db=cb;eb=ja;gb=(ja|0)==0?16020:16025}else{db=cb;eb=1;gb=16022}else{db=-cb;eb=1;gb=16019}h[k>>3]=db;ja=c[k+4>>2]&2146435072;do if(ja>>>0<2146435072|(ja|0)==2146435072&0<0){cb=+Rr(db,o)*2.0;la=cb!=0.0;if(la)c[o>>2]=(c[o>>2]|0)+-1;Z=aa|32;if((Z|0)==97){Ma=aa&32;hb=(Ma|0)==0?gb:gb+9|0;ib=eb|2;jb=12-xa|0;do if(!(xa>>>0>11|(jb|0)==0)){kb=jb;lb=8.0;do{kb=kb+-1|0;lb=lb*16.0}while((kb|0)!=0);if((a[hb>>0]|0)==45){mb=-(lb+(-cb-lb));break}else{mb=cb+lb-lb;break}}else mb=cb;while(0);jb=c[o>>2]|0;Ga=(jb|0)<0?0-jb|0:jb;kb=Pr(Ga,((Ga|0)<0)<<31>>31,B)|0;if((kb|0)==(B|0)){a[D>>0]=48;nb=D}else nb=kb;a[nb+-1>>0]=(jb>>31&2)+43;jb=nb+-2|0;a[jb>>0]=aa+15;kb=(xa|0)<1;Ga=(ka&8|0)==0;ob=mb;pb=p;while(1){qb=~~ob;rb=pb+1|0;a[pb>>0]=d[14094+qb>>0]|Ma;ob=(ob-+(qb|0))*16.0;do if((rb-z|0)==1){if(Ga&(kb&ob==0.0)){sb=rb;break}a[rb>>0]=46;sb=pb+2|0}else sb=rb;while(0);if(!(ob!=0.0))break;else pb=sb}pb=sb;kb=jb;Ga=(xa|0)!=0&(F+pb|0)<(xa|0)?G+xa-kb|0:E-kb+pb|0;Ma=Ga+ib|0;Qr(e,32,ta,Ma,ka);if(!(c[e>>2]&32))Mr(hb,ib,e);Qr(e,48,ta,Ma,ka^65536);rb=pb-z|0;if(!(c[e>>2]&32))Mr(p,rb,e);pb=q-kb|0;Qr(e,48,Ga-(rb+pb)|0,0,0);if(!(c[e>>2]&32))Mr(jb,pb,e);Qr(e,32,ta,Ma,ka^8192);tb=(Ma|0)<(ta|0)?ta:Ma;break}Ma=(xa|0)<0?6:xa;if(la){pb=(c[o>>2]|0)+-28|0;c[o>>2]=pb;ub=cb*268435456.0;vb=pb}else{ub=cb;vb=c[o>>2]|0}pb=(vb|0)<0?n:H;rb=pb;ob=ub;Ga=pb;do{kb=~~ob>>>0;c[Ga>>2]=kb;Ga=Ga+4|0;ob=(ob-+(kb>>>0))*1.0e9}while(ob!=0.0);la=c[o>>2]|0;if((la|0)>0){jb=la;ib=pb;hb=Ga;while(1){kb=(jb|0)>29?29:jb;qb=hb+-4|0;do if(qb>>>0<ib>>>0)wb=ib;else{xb=0;yb=qb;do{zb=Cs(c[yb>>2]|0,0,kb|0)|0;Ab=Ds(zb|0,C|0,xb|0,0)|0;zb=C;Bb=Ps(Ab|0,zb|0,1e9,0)|0;c[yb>>2]=Bb;xb=Os(Ab|0,zb|0,1e9,0)|0;yb=yb+-4|0}while(yb>>>0>=ib>>>0);if(!xb){wb=ib;break}yb=ib+-4|0;c[yb>>2]=xb;wb=yb}while(0);qb=hb;while(1){if(qb>>>0<=wb>>>0)break;yb=qb+-4|0;if(!(c[yb>>2]|0))qb=yb;else break}yb=(c[o>>2]|0)-kb|0;c[o>>2]=yb;if((yb|0)>0){jb=yb;ib=wb;hb=qb}else{Cb=yb;Db=wb;Eb=qb;break}}}else{Cb=la;Db=pb;Eb=Ga}if((Cb|0)<0){hb=((Ma+25|0)/9|0)+1|0;ib=(Z|0)==102;jb=Cb;yb=Db;zb=Eb;while(1){Ab=0-jb|0;Bb=(Ab|0)>9?9:Ab;do if(yb>>>0<zb>>>0){Ab=(1<<Bb)+-1|0;Fb=1e9>>>Bb;Gb=0;Hb=yb;do{Ib=c[Hb>>2]|0;c[Hb>>2]=(Ib>>>Bb)+Gb;Gb=_(Ib&Ab,Fb)|0;Hb=Hb+4|0}while(Hb>>>0<zb>>>0);Hb=(c[yb>>2]|0)==0?yb+4|0:yb;if(!Gb){Jb=Hb;Kb=zb;break}c[zb>>2]=Gb;Jb=Hb;Kb=zb+4|0}else{Jb=(c[yb>>2]|0)==0?yb+4|0:yb;Kb=zb}while(0);qb=ib?pb:Jb;kb=(Kb-qb>>2|0)>(hb|0)?qb+(hb<<2)|0:Kb;jb=(c[o>>2]|0)+Bb|0;c[o>>2]=jb;if((jb|0)>=0){Lb=Jb;Mb=kb;break}else{yb=Jb;zb=kb}}}else{Lb=Db;Mb=Eb}do if(Lb>>>0<Mb>>>0){zb=(rb-Lb>>2)*9|0;yb=c[Lb>>2]|0;if(yb>>>0<10){Nb=zb;break}else{Ob=zb;Pb=10}while(1){Pb=Pb*10|0;zb=Ob+1|0;if(yb>>>0<Pb>>>0){Nb=zb;break}else Ob=zb}}else Nb=0;while(0);yb=(Z|0)==103;Bb=(Ma|0)!=0;zb=Ma-((Z|0)!=102?Nb:0)+((Bb&yb)<<31>>31)|0;if((zb|0)<(((Mb-rb>>2)*9|0)+-9|0)){jb=zb+9216|0;zb=pb+4+(((jb|0)/9|0)+-1024<<2)|0;hb=((jb|0)%9|0)+1|0;if((hb|0)<9){jb=10;ib=hb;while(1){hb=jb*10|0;ib=ib+1|0;if((ib|0)==9){Qb=hb;break}else jb=hb}}else Qb=10;jb=c[zb>>2]|0;ib=(jb>>>0)%(Qb>>>0)|0;Z=(zb+4|0)==(Mb|0);do if(Z&(ib|0)==0){Rb=Lb;Sb=zb;Tb=Nb}else{ob=(((jb>>>0)/(Qb>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;hb=(Qb|0)/2|0;if(ib>>>0<hb>>>0)Ub=.5;else Ub=Z&(ib|0)==(hb|0)?1.0:1.5;do if(!eb){Vb=ob;Wb=Ub}else{if((a[gb>>0]|0)!=45){Vb=ob;Wb=Ub;break}Vb=-ob;Wb=-Ub}while(0);hb=jb-ib|0;c[zb>>2]=hb;if(!(Vb+Wb!=Vb)){Rb=Lb;Sb=zb;Tb=Nb;break}Ga=hb+Qb|0;c[zb>>2]=Ga;if(Ga>>>0>999999999){Ga=Lb;hb=zb;while(1){la=hb+-4|0;c[hb>>2]=0;if(la>>>0<Ga>>>0){kb=Ga+-4|0;c[kb>>2]=0;Xb=kb}else Xb=Ga;kb=(c[la>>2]|0)+1|0;c[la>>2]=kb;if(kb>>>0>999999999){Ga=Xb;hb=la}else{Yb=Xb;Zb=la;break}}}else{Yb=Lb;Zb=zb}hb=(rb-Yb>>2)*9|0;Ga=c[Yb>>2]|0;if(Ga>>>0<10){Rb=Yb;Sb=Zb;Tb=hb;break}else{_b=hb;$b=10}while(1){$b=$b*10|0;hb=_b+1|0;if(Ga>>>0<$b>>>0){Rb=Yb;Sb=Zb;Tb=hb;break}else _b=hb}}while(0);zb=Sb+4|0;ac=Rb;bc=Tb;cc=Mb>>>0>zb>>>0?zb:Mb}else{ac=Lb;bc=Nb;cc=Mb}zb=0-bc|0;ib=cc;while(1){if(ib>>>0<=ac>>>0){dc=0;break}jb=ib+-4|0;if(!(c[jb>>2]|0))ib=jb;else{dc=1;break}}do if(yb){jb=(Bb&1^1)+Ma|0;if((jb|0)>(bc|0)&(bc|0)>-5){ec=aa+-1|0;fc=jb+-1-bc|0}else{ec=aa+-2|0;fc=jb+-1|0}jb=ka&8;if(jb|0){gc=ec;hc=fc;ic=jb;break}do if(dc){jb=c[ib+-4>>2]|0;if(!jb){jc=9;break}if(!((jb>>>0)%10|0)){kc=10;lc=0}else{jc=0;break}while(1){kc=kc*10|0;Z=lc+1|0;if((jb>>>0)%(kc>>>0)|0|0){jc=Z;break}else lc=Z}}else jc=9;while(0);jb=((ib-rb>>2)*9|0)+-9|0;if((ec|32|0)==102){Gb=jb-jc|0;Z=(Gb|0)<0?0:Gb;gc=ec;hc=(fc|0)<(Z|0)?fc:Z;ic=0;break}else{Z=jb+bc-jc|0;jb=(Z|0)<0?0:Z;gc=ec;hc=(fc|0)<(jb|0)?fc:jb;ic=0;break}}else{gc=aa;hc=Ma;ic=ka&8}while(0);Ma=hc|ic;rb=(Ma|0)!=0&1;Bb=(gc|32|0)==102;if(Bb){mc=(bc|0)>0?bc:0;nc=0}else{yb=(bc|0)<0?zb:bc;jb=Pr(yb,((yb|0)<0)<<31>>31,B)|0;if((q-jb|0)<2){yb=jb;while(1){Z=yb+-1|0;a[Z>>0]=48;if((q-Z|0)<2)yb=Z;else{oc=Z;break}}}else oc=jb;a[oc+-1>>0]=(bc>>31&2)+43;yb=oc+-2|0;a[yb>>0]=gc;mc=q-yb|0;nc=yb}yb=eb+1+hc+rb+mc|0;Qr(e,32,ta,yb,ka);if(!(c[e>>2]&32))Mr(gb,eb,e);Qr(e,48,ta,yb,ka^65536);do if(Bb){zb=ac>>>0>pb>>>0?pb:ac;Z=zb;do{Gb=Pr(c[Z>>2]|0,0,I)|0;do if((Z|0)==(zb|0)){if((Gb|0)!=(I|0)){pc=Gb;break}a[K>>0]=48;pc=K}else{if(Gb>>>0<=p>>>0){pc=Gb;break}Bs(p|0,48,Gb-z|0)|0;Ga=Gb;while(1){hb=Ga+-1|0;if(hb>>>0>p>>>0)Ga=hb;else{pc=hb;break}}}while(0);if(!(c[e>>2]&32))Mr(pc,J-pc|0,e);Z=Z+4|0}while(Z>>>0<=pb>>>0);do if(Ma|0){if(c[e>>2]&32|0)break;Mr(16054,1,e)}while(0);if((hc|0)>0&Z>>>0<ib>>>0){zb=hc;Gb=Z;while(1){Ga=Pr(c[Gb>>2]|0,0,I)|0;if(Ga>>>0>p>>>0){Bs(p|0,48,Ga-z|0)|0;hb=Ga;while(1){la=hb+-1|0;if(la>>>0>p>>>0)hb=la;else{qc=la;break}}}else qc=Ga;if(!(c[e>>2]&32))Mr(qc,(zb|0)>9?9:zb,e);Gb=Gb+4|0;hb=zb+-9|0;if(!((zb|0)>9&Gb>>>0<ib>>>0)){rc=hb;break}else zb=hb}}else rc=hc;Qr(e,48,rc+9|0,9,0)}else{zb=dc?ib:ac+4|0;if((hc|0)>-1){Gb=(ic|0)==0;Z=hc;hb=ac;while(1){la=Pr(c[hb>>2]|0,0,I)|0;if((la|0)==(I|0)){a[K>>0]=48;sc=K}else sc=la;do if((hb|0)==(ac|0)){la=sc+1|0;if(!(c[e>>2]&32))Mr(sc,1,e);if(Gb&(Z|0)<1){tc=la;break}if(c[e>>2]&32|0){tc=la;break}Mr(16054,1,e);tc=la}else{if(sc>>>0<=p>>>0){tc=sc;break}Bs(p|0,48,sc+A|0)|0;la=sc;while(1){kb=la+-1|0;if(kb>>>0>p>>>0)la=kb;else{tc=kb;break}}}while(0);Ga=J-tc|0;if(!(c[e>>2]&32))Mr(tc,(Z|0)>(Ga|0)?Ga:Z,e);la=Z-Ga|0;hb=hb+4|0;if(!(hb>>>0<zb>>>0&(la|0)>-1)){uc=la;break}else Z=la}}else uc=hc;Qr(e,48,uc+18|0,18,0);if(c[e>>2]&32|0)break;Mr(nc,q-nc|0,e)}while(0);Qr(e,32,ta,yb,ka^8192);tb=(yb|0)<(ta|0)?ta:yb}else{ib=(aa&32|0)!=0;Ma=db!=db|0.0!=0.0;pb=Ma?0:eb;Bb=pb+3|0;Qr(e,32,ta,Bb,Y);rb=c[e>>2]|0;if(!(rb&32)){Mr(gb,pb,e);vc=c[e>>2]|0}else vc=rb;if(!(vc&32))Mr(Ma?(ib?16046:16050):ib?16038:16042,3,e);Qr(e,32,ta,Bb,ka^8192);tb=(Bb|0)<(ta|0)?ta:Bb}while(0);L=P;M=tb;N=ra;O=za;continue a;break}default:{Ra=O;Sa=ka;Ta=xa;Ua=0;Va=14110;Wa=w}}while(0);g:do if((R|0)==66){R=0;aa=r;f=c[aa>>2]|0;ba=c[aa+4>>2]|0;aa=Ea&32;if(!((f|0)==0&(ba|0)==0)){$=w;ja=f;f=ba;do{$=$+-1|0;a[$>>0]=d[14094+(ja&15)>>0]|aa;ja=Fs(ja|0,f|0,4)|0;f=C}while(!((ja|0)==0&(f|0)==0));f=r;if((Ca&8|0)==0|(c[f>>2]|0)==0&(c[f+4>>2]|0)==0){Ha=$;Ia=Ca;Ja=Da;Ka=0;La=14110;R=79}else{Ha=$;Ia=Ca;Ja=Da;Ka=2;La=14110+(Ea>>4)|0;R=79}}else{Ha=w;Ia=Ca;Ja=Da;Ka=0;La=14110;R=79}}else if((R|0)==78){R=0;Ha=Pr(Na,Oa,w)|0;Ia=ka;Ja=xa;Ka=Pa;La=Qa;R=79}else if((R|0)==92){R=0;f=Ir(_a,0,xa)|0;ja=(f|0)==0;Ra=_a;Sa=Y;Ta=ja?xa:f-_a|0;Ua=0;Va=14110;Wa=ja?_a+xa|0:f}else if((R|0)==96){R=0;f=0;ja=0;aa=$a;while(1){ba=c[aa>>2]|0;if(!ba){wc=f;xc=ja;break}Bb=Lr(u,ba)|0;if((Bb|0)<0|Bb>>>0>(ab-f|0)>>>0){wc=f;xc=Bb;break}ba=Bb+f|0;if(ab>>>0>ba>>>0){f=ba;ja=Bb;aa=aa+4|0}else{wc=ba;xc=Bb;break}}if((xc|0)<0){pa=-1;break a}Qr(e,32,ta,wc,ka);if(!wc){bb=0;R=107}else{aa=0;ja=$a;while(1){f=c[ja>>2]|0;if(!f){bb=wc;R=107;break g}$=Lr(u,f)|0;aa=$+aa|0;if((aa|0)>(wc|0)){bb=wc;R=107;break g}if(!(c[e>>2]&32))Mr(u,$,e);if(aa>>>0>=wc>>>0){bb=wc;R=107;break}else ja=ja+4|0}}}while(0);if((R|0)==107){R=0;Qr(e,32,ta,bb,ka^8192);L=P;M=(ta|0)>(bb|0)?ta:bb;N=ra;O=za;continue}if((R|0)==79){R=0;Y=(Ja|0)>-1?Ia&-65537:Ia;ja=r;aa=(c[ja>>2]|0)!=0|(c[ja+4>>2]|0)!=0;if((Ja|0)!=0|aa){ja=(aa&1^1)+(x-Ha)|0;Ra=Ha;Sa=Y;Ta=(Ja|0)>(ja|0)?Ja:ja;Ua=Ka;Va=La;Wa=w}else{Ra=w;Sa=Y;Ta=0;Ua=Ka;Va=La;Wa=w}}Y=Wa-Ra|0;ja=(Ta|0)<(Y|0)?Y:Ta;aa=Ua+ja|0;$=(ta|0)<(aa|0)?aa:ta;Qr(e,32,$,aa,Sa);if(!(c[e>>2]&32))Mr(Va,Ua,e);Qr(e,48,$,aa,Sa^65536);Qr(e,48,ja,Y,0);if(!(c[e>>2]&32))Mr(Ra,Y,e);Qr(e,32,$,aa,Sa^8192);L=P;M=$;N=ra;O=za}h:do if((R|0)==254)if(!e)if(!N)pa=0;else{za=1;while(1){O=c[l+(za<<2)>>2]|0;if(!O){yc=0;zc=za;break}Or(j+(za<<3)|0,O,g);za=za+1|0;if((za|0)>=10){pa=1;break h}}while(1){za=zc+1|0;if(yc|0){pa=-1;break h}if((za|0)>=10){pa=1;break h}yc=c[l+(za<<2)>>2]|0;zc=za}}else pa=P;while(0);i=m;return pa|0}function Or(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=f;break a;break}case 10:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a;break}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=f;c[e+4>>2]=0;break a;break}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);f=e;g=c[f>>2]|0;i=c[f+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=g;c[e+4>>2]=i;break a;break}case 13:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=(e&65535)<<16>>16;e=a;c[e>>2]=i;c[e+4>>2]=((i|0)<0)<<31>>31;break a;break}case 14:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=a;c[i>>2]=e&65535;c[i+4>>2]=0;break a;break}case 15:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=(e&255)<<24>>24;e=a;c[e>>2]=i;c[e+4>>2]=((i|0)<0)<<31>>31;break a;break}case 16:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=a;c[i>>2]=e&255;c[i+4>>2]=0;break a;break}case 17:{i=(c[d>>2]|0)+(8-1)&~(8-1);j=+h[i>>3];c[d>>2]=i+8;h[a>>3]=j;break a;break}case 18:{i=(c[d>>2]|0)+(8-1)&~(8-1);j=+h[i>>3];c[d>>2]=i+8;h[a>>3]=j;break a;break}default:break a}while(0);while(0);return}function Pr(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){e=d;f=b;g=c;while(1){c=Ps(f|0,g|0,10,0)|0;e=e+-1|0;a[e>>0]=c|48;c=f;f=Os(f|0,g|0,10,0)|0;if(!(g>>>0>9|(g|0)==9&c>>>0>4294967295))break;else g=C}h=e;i=f}else{h=d;i=b}if(!i)j=h;else{b=h;h=i;while(1){i=b+-1|0;a[i>>0]=(h>>>0)%10|0|48;if(h>>>0<10){j=i;break}else{b=i;h=(h>>>0)/10|0}}}return j|0}function Qr(a,b,d,e,f){a=a|0;b=b|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;g=i;i=i+256|0;h=g;do if((d|0)>(e|0)&(f&73728|0)==0){j=d-e|0;Bs(h|0,b|0,(j>>>0>256?256:j)|0)|0;k=c[a>>2]|0;l=(k&32|0)==0;if(j>>>0>255){m=j;n=k;k=l;while(1){if(k){Mr(h,256,a);o=c[a>>2]|0}else o=n;m=m+-256|0;k=(o&32|0)==0;if(m>>>0<=255)break;else n=o}if(k)p=j&255;else break}else if(l)p=j;else break;Mr(h,p,a)}while(0);i=g;return}function Rr(a,b){a=+a;b=b|0;var d=0,e=0,f=0,g=0,i=0.0,j=0.0,l=0,m=0.0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=Fs(d|0,e|0,52)|0;g=f&2047;switch(g|0){case 0:{if(a!=0.0){i=+Rr(a*18446744073709551616.0,b);j=i;l=(c[b>>2]|0)+-64|0}else{j=a;l=0}c[b>>2]=l;m=j;break}case 2047:{m=a;break}default:{c[b>>2]=g+-1022;c[k>>2]=d;c[k+4>>2]=e&-2146435073|1071644672;m=+h[k>>3]}}return +m}function Sr(a){a=+a;var b=0,d=0,e=0,f=0.0,h=0.0,i=0,j=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;b=(g[k>>2]=a,c[k>>2]|0);d=b>>>23&255;e=b&-2147483648;a:do if((d|0)==255){f=a*6.2831854820251465;h=f/f}else{i=b<<1;if(i>>>0<=2173837238)return +((i|0)==-2121130058?a*0.0:a);if(!d){i=b<<9;if((i|0)>-1){j=0;l=i;while(1){i=j+-1|0;l=l<<1;if((l|0)<=-1){m=i;break}else j=i}}else m=0;n=m;o=b<<1-m}else{n=d;o=b&8388607|8388608}j=o+-13176795|0;l=(j|0)>-1;b:do if((n|0)>129){i=l;p=j;q=n;r=o;while(1){if(i)if((r|0)==13176795)break;else s=p;else s=r;t=s<<1;u=q+-1|0;v=t+-13176795|0;w=(v|0)>-1;if((u|0)>129){i=w;p=v;q=u;r=t}else{x=v;y=w;z=u;A=t;break b}}h=a*0.0;break a}else{x=j;y=l;z=n;A=o}while(0);if(y)if((A|0)==13176795){h=a*0.0;break}else B=x;else B=A;if(B>>>0<8388608){l=z;j=B;while(1){r=j<<1;q=l+-1|0;if(r>>>0<8388608){l=q;j=r}else{C=q;D=r;break}}}else{C=z;D=B}if((C|0)>0)E=D+-8388608|C<<23;else E=D>>>(1-C|0);h=(c[k>>2]=E|e,+g[k>>2])}while(0);return +h}function Tr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,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,$=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;do if(a>>>0<245){b=a>>>0<11?16:a+11&-8;d=b>>>3;e=c[4353]|0;f=e>>>d;if(f&3|0){g=(f&1^1)+d|0;h=17452+(g<<1<<2)|0;i=h+8|0;j=c[i>>2]|0;k=j+8|0;l=c[k>>2]|0;do if((h|0)!=(l|0)){if(l>>>0<(c[4357]|0)>>>0)Sa();m=l+12|0;if((c[m>>2]|0)==(j|0)){c[m>>2]=h;c[i>>2]=l;break}else Sa()}else c[4353]=e&~(1<<g);while(0);l=g<<3;c[j+4>>2]=l|3;i=j+l+4|0;c[i>>2]=c[i>>2]|1;n=k;return n|0}i=c[4355]|0;if(b>>>0>i>>>0){if(f|0){l=2<<d;h=f<<d&(l|0-l);l=(h&0-h)+-1|0;h=l>>>12&16;m=l>>>h;l=m>>>5&8;o=m>>>l;m=o>>>2&4;p=o>>>m;o=p>>>1&2;q=p>>>o;p=q>>>1&1;r=(l|h|m|o|p)+(q>>>p)|0;p=17452+(r<<1<<2)|0;q=p+8|0;o=c[q>>2]|0;m=o+8|0;h=c[m>>2]|0;do if((p|0)!=(h|0)){if(h>>>0<(c[4357]|0)>>>0)Sa();l=h+12|0;if((c[l>>2]|0)==(o|0)){c[l>>2]=p;c[q>>2]=h;s=c[4355]|0;break}else Sa()}else{c[4353]=e&~(1<<r);s=i}while(0);i=(r<<3)-b|0;c[o+4>>2]=b|3;e=o+b|0;c[e+4>>2]=i|1;c[e+i>>2]=i;if(s|0){h=c[4358]|0;q=s>>>3;p=17452+(q<<1<<2)|0;d=c[4353]|0;f=1<<q;if(d&f){q=p+8|0;k=c[q>>2]|0;if(k>>>0<(c[4357]|0)>>>0)Sa();else{t=q;u=k}}else{c[4353]=d|f;t=p+8|0;u=p}c[t>>2]=h;c[u+12>>2]=h;c[h+8>>2]=u;c[h+12>>2]=p}c[4355]=i;c[4358]=e;n=m;return n|0}e=c[4354]|0;if(e){i=(e&0-e)+-1|0;e=i>>>12&16;p=i>>>e;i=p>>>5&8;h=p>>>i;p=h>>>2&4;f=h>>>p;h=f>>>1&2;d=f>>>h;f=d>>>1&1;k=c[17716+((i|e|p|h|f)+(d>>>f)<<2)>>2]|0;f=(c[k+4>>2]&-8)-b|0;d=k;h=k;while(1){k=c[d+16>>2]|0;if(!k){p=c[d+20>>2]|0;if(!p)break;else v=p}else v=k;k=(c[v+4>>2]&-8)-b|0;p=k>>>0<f>>>0;f=p?k:f;d=v;h=p?v:h}d=c[4357]|0;if(h>>>0<d>>>0)Sa();m=h+b|0;if(h>>>0>=m>>>0)Sa();o=c[h+24>>2]|0;r=c[h+12>>2]|0;do if((r|0)==(h|0)){p=h+20|0;k=c[p>>2]|0;if(!k){e=h+16|0;i=c[e>>2]|0;if(!i){w=0;break}else{x=i;y=e}}else{x=k;y=p}while(1){p=x+20|0;k=c[p>>2]|0;if(k|0){x=k;y=p;continue}p=x+16|0;k=c[p>>2]|0;if(!k)break;else{x=k;y=p}}if(y>>>0<d>>>0)Sa();else{c[y>>2]=0;w=x;break}}else{p=c[h+8>>2]|0;if(p>>>0<d>>>0)Sa();k=p+12|0;if((c[k>>2]|0)!=(h|0))Sa();e=r+8|0;if((c[e>>2]|0)==(h|0)){c[k>>2]=r;c[e>>2]=p;w=r;break}else Sa()}while(0);do if(o|0){r=c[h+28>>2]|0;d=17716+(r<<2)|0;if((h|0)==(c[d>>2]|0)){c[d>>2]=w;if(!w){c[4354]=c[4354]&~(1<<r);break}}else{if(o>>>0<(c[4357]|0)>>>0)Sa();r=o+16|0;if((c[r>>2]|0)==(h|0))c[r>>2]=w;else c[o+20>>2]=w;if(!w)break}r=c[4357]|0;if(w>>>0<r>>>0)Sa();c[w+24>>2]=o;d=c[h+16>>2]|0;do if(d|0)if(d>>>0<r>>>0)Sa();else{c[w+16>>2]=d;c[d+24>>2]=w;break}while(0);d=c[h+20>>2]|0;if(d|0)if(d>>>0<(c[4357]|0)>>>0)Sa();else{c[w+20>>2]=d;c[d+24>>2]=w;break}}while(0);if(f>>>0<16){o=f+b|0;c[h+4>>2]=o|3;d=h+o+4|0;c[d>>2]=c[d>>2]|1}else{c[h+4>>2]=b|3;c[m+4>>2]=f|1;c[m+f>>2]=f;d=c[4355]|0;if(d|0){o=c[4358]|0;r=d>>>3;d=17452+(r<<1<<2)|0;p=c[4353]|0;e=1<<r;if(p&e){r=d+8|0;k=c[r>>2]|0;if(k>>>0<(c[4357]|0)>>>0)Sa();else{z=r;A=k}}else{c[4353]=p|e;z=d+8|0;A=d}c[z>>2]=o;c[A+12>>2]=o;c[o+8>>2]=A;c[o+12>>2]=d}c[4355]=f;c[4358]=m}n=h+8|0;return n|0}else B=b}else B=b}else if(a>>>0<=4294967231){d=a+11|0;o=d&-8;e=c[4354]|0;if(e){p=0-o|0;k=d>>>8;if(k)if(o>>>0>16777215)C=31;else{d=(k+1048320|0)>>>16&8;r=k<<d;k=(r+520192|0)>>>16&4;i=r<<k;r=(i+245760|0)>>>16&2;q=14-(k|d|r)+(i<<r>>>15)|0;C=o>>>(q+7|0)&1|q<<1}else C=0;q=c[17716+(C<<2)>>2]|0;a:do if(!q){D=p;E=0;F=0;G=86}else{r=p;i=0;d=o<<((C|0)==31?0:25-(C>>>1)|0);k=q;j=0;while(1){g=c[k+4>>2]&-8;l=g-o|0;if(l>>>0<r>>>0)if((g|0)==(o|0)){H=l;I=k;J=k;G=90;break a}else{K=l;L=k}else{K=r;L=j}l=c[k+20>>2]|0;k=c[k+16+(d>>>31<<2)>>2]|0;g=(l|0)==0|(l|0)==(k|0)?i:l;l=(k|0)==0;if(l){D=K;E=g;F=L;G=86;break}else{r=K;i=g;d=d<<(l&1^1);j=L}}}while(0);if((G|0)==86){if((E|0)==0&(F|0)==0){q=2<<C;p=e&(q|0-q);if(!p){B=o;break}q=(p&0-p)+-1|0;p=q>>>12&16;b=q>>>p;q=b>>>5&8;h=b>>>q;b=h>>>2&4;m=h>>>b;h=m>>>1&2;f=m>>>h;m=f>>>1&1;M=c[17716+((q|p|b|h|m)+(f>>>m)<<2)>>2]|0}else M=E;if(!M){N=D;O=F}else{H=D;I=M;J=F;G=90}}if((G|0)==90)while(1){G=0;m=(c[I+4>>2]&-8)-o|0;f=m>>>0<H>>>0;h=f?m:H;m=f?I:J;f=c[I+16>>2]|0;if(f|0){H=h;I=f;J=m;G=90;continue}I=c[I+20>>2]|0;if(!I){N=h;O=m;break}else{H=h;J=m;G=90}}if((O|0)!=0?N>>>0<((c[4355]|0)-o|0)>>>0:0){e=c[4357]|0;if(O>>>0<e>>>0)Sa();m=O+o|0;if(O>>>0>=m>>>0)Sa();h=c[O+24>>2]|0;f=c[O+12>>2]|0;do if((f|0)==(O|0)){b=O+20|0;p=c[b>>2]|0;if(!p){q=O+16|0;j=c[q>>2]|0;if(!j){P=0;break}else{Q=j;R=q}}else{Q=p;R=b}while(1){b=Q+20|0;p=c[b>>2]|0;if(p|0){Q=p;R=b;continue}b=Q+16|0;p=c[b>>2]|0;if(!p)break;else{Q=p;R=b}}if(R>>>0<e>>>0)Sa();else{c[R>>2]=0;P=Q;break}}else{b=c[O+8>>2]|0;if(b>>>0<e>>>0)Sa();p=b+12|0;if((c[p>>2]|0)!=(O|0))Sa();q=f+8|0;if((c[q>>2]|0)==(O|0)){c[p>>2]=f;c[q>>2]=b;P=f;break}else Sa()}while(0);do if(h|0){f=c[O+28>>2]|0;e=17716+(f<<2)|0;if((O|0)==(c[e>>2]|0)){c[e>>2]=P;if(!P){c[4354]=c[4354]&~(1<<f);break}}else{if(h>>>0<(c[4357]|0)>>>0)Sa();f=h+16|0;if((c[f>>2]|0)==(O|0))c[f>>2]=P;else c[h+20>>2]=P;if(!P)break}f=c[4357]|0;if(P>>>0<f>>>0)Sa();c[P+24>>2]=h;e=c[O+16>>2]|0;do if(e|0)if(e>>>0<f>>>0)Sa();else{c[P+16>>2]=e;c[e+24>>2]=P;break}while(0);e=c[O+20>>2]|0;if(e|0)if(e>>>0<(c[4357]|0)>>>0)Sa();else{c[P+20>>2]=e;c[e+24>>2]=P;break}}while(0);do if(N>>>0>=16){c[O+4>>2]=o|3;c[m+4>>2]=N|1;c[m+N>>2]=N;h=N>>>3;if(N>>>0<256){e=17452+(h<<1<<2)|0;f=c[4353]|0;b=1<<h;if(f&b){h=e+8|0;q=c[h>>2]|0;if(q>>>0<(c[4357]|0)>>>0)Sa();else{S=h;T=q}}else{c[4353]=f|b;S=e+8|0;T=e}c[S>>2]=m;c[T+12>>2]=m;c[m+8>>2]=T;c[m+12>>2]=e;break}e=N>>>8;if(e)if(N>>>0>16777215)U=31;else{b=(e+1048320|0)>>>16&8;f=e<<b;e=(f+520192|0)>>>16&4;q=f<<e;f=(q+245760|0)>>>16&2;h=14-(e|b|f)+(q<<f>>>15)|0;U=N>>>(h+7|0)&1|h<<1}else U=0;h=17716+(U<<2)|0;c[m+28>>2]=U;f=m+16|0;c[f+4>>2]=0;c[f>>2]=0;f=c[4354]|0;q=1<<U;if(!(f&q)){c[4354]=f|q;c[h>>2]=m;c[m+24>>2]=h;c[m+12>>2]=m;c[m+8>>2]=m;break}q=N<<((U|0)==31?0:25-(U>>>1)|0);f=c[h>>2]|0;while(1){if((c[f+4>>2]&-8|0)==(N|0)){G=148;break}V=f+16+(q>>>31<<2)|0;h=c[V>>2]|0;if(!h){G=145;break}else{q=q<<1;f=h}}if((G|0)==145)if(V>>>0<(c[4357]|0)>>>0)Sa();else{c[V>>2]=m;c[m+24>>2]=f;c[m+12>>2]=m;c[m+8>>2]=m;break}else if((G|0)==148){q=f+8|0;h=c[q>>2]|0;b=c[4357]|0;if(h>>>0>=b>>>0&f>>>0>=b>>>0){c[h+12>>2]=m;c[q>>2]=m;c[m+8>>2]=h;c[m+12>>2]=f;c[m+24>>2]=0;break}else Sa()}}else{h=N+o|0;c[O+4>>2]=h|3;q=O+h+4|0;c[q>>2]=c[q>>2]|1}while(0);n=O+8|0;return n|0}else B=o}else B=o}else B=-1;while(0);O=c[4355]|0;if(O>>>0>=B>>>0){N=O-B|0;V=c[4358]|0;if(N>>>0>15){U=V+B|0;c[4358]=U;c[4355]=N;c[U+4>>2]=N|1;c[U+N>>2]=N;c[V+4>>2]=B|3}else{c[4355]=0;c[4358]=0;c[V+4>>2]=O|3;N=V+O+4|0;c[N>>2]=c[N>>2]|1}n=V+8|0;return n|0}V=c[4356]|0;if(V>>>0>B>>>0){N=V-B|0;c[4356]=N;V=c[4359]|0;O=V+B|0;c[4359]=O;c[O+4>>2]=N|1;c[V+4>>2]=B|3;n=V+8|0;return n|0}do if(!(c[4471]|0)){V=db(30)|0;if(!(V+-1&V)){c[4473]=V;c[4472]=V;c[4474]=-1;c[4475]=-1;c[4476]=0;c[4464]=0;c[4471]=(ob(0)|0)&-16^1431655768;break}else Sa()}while(0);V=B+48|0;N=c[4473]|0;O=B+47|0;U=N+O|0;T=0-N|0;N=U&T;if(N>>>0<=B>>>0){n=0;return n|0}S=c[4463]|0;if(S|0?(P=c[4461]|0,Q=P+N|0,Q>>>0<=P>>>0|Q>>>0>S>>>0):0){n=0;return n|0}b:do if(!(c[4464]&4)){S=c[4359]|0;c:do if(S){Q=17860;while(1){P=c[Q>>2]|0;if(P>>>0<=S>>>0?(W=Q+4|0,(P+(c[W>>2]|0)|0)>>>0>S>>>0):0)break;P=c[Q+8>>2]|0;if(!P){G=173;break c}else Q=P}f=U-(c[4356]|0)&T;if(f>>>0<2147483647){P=Za(f|0)|0;if((P|0)==((c[Q>>2]|0)+(c[W>>2]|0)|0)){if((P|0)!=(-1|0)){X=P;Y=f;G=193;break b}}else{Z=P;_=f;G=183}}}else G=173;while(0);do if((G|0)==173?(S=Za(0)|0,(S|0)!=(-1|0)):0){o=S;f=c[4472]|0;P=f+-1|0;if(!(P&o))$=N;else $=N-o+(P+o&0-f)|0;f=c[4461]|0;o=f+$|0;if($>>>0>B>>>0&$>>>0<2147483647){P=c[4463]|0;if(P|0?o>>>0<=f>>>0|o>>>0>P>>>0:0)break;P=Za($|0)|0;if((P|0)==(S|0)){X=S;Y=$;G=193;break b}else{Z=P;_=$;G=183}}}while(0);d:do if((G|0)==183){P=0-_|0;do if(V>>>0>_>>>0&(_>>>0<2147483647&(Z|0)!=(-1|0))?(S=c[4473]|0,o=O-_+S&0-S,o>>>0<2147483647):0)if((Za(o|0)|0)==(-1|0)){Za(P|0)|0;break d}else{aa=o+_|0;break}else aa=_;while(0);if((Z|0)!=(-1|0)){X=Z;Y=aa;G=193;break b}}while(0);c[4464]=c[4464]|4;G=190}else G=190;while(0);if((((G|0)==190?N>>>0<2147483647:0)?(aa=Za(N|0)|0,N=Za(0)|0,aa>>>0<N>>>0&((aa|0)!=(-1|0)&(N|0)!=(-1|0))):0)?(Z=N-aa|0,Z>>>0>(B+40|0)>>>0):0){X=aa;Y=Z;G=193}if((G|0)==193){Z=(c[4461]|0)+Y|0;c[4461]=Z;if(Z>>>0>(c[4462]|0)>>>0)c[4462]=Z;Z=c[4359]|0;do if(Z){aa=17860;while(1){ba=c[aa>>2]|0;ca=aa+4|0;da=c[ca>>2]|0;if((X|0)==(ba+da|0)){G=203;break}N=c[aa+8>>2]|0;if(!N)break;else aa=N}if(((G|0)==203?(c[aa+12>>2]&8|0)==0:0)?Z>>>0<X>>>0&Z>>>0>=ba>>>0:0){c[ca>>2]=da+Y;N=Z+8|0;_=(N&7|0)==0?0:0-N&7;N=Z+_|0;O=Y-_+(c[4356]|0)|0;c[4359]=N;c[4356]=O;c[N+4>>2]=O|1;c[N+O+4>>2]=40;c[4360]=c[4475];break}O=c[4357]|0;if(X>>>0<O>>>0){c[4357]=X;ea=X}else ea=O;O=X+Y|0;N=17860;while(1){if((c[N>>2]|0)==(O|0)){G=211;break}_=c[N+8>>2]|0;if(!_){fa=17860;break}else N=_}if((G|0)==211)if(!(c[N+12>>2]&8)){c[N>>2]=X;aa=N+4|0;c[aa>>2]=(c[aa>>2]|0)+Y;aa=X+8|0;_=X+((aa&7|0)==0?0:0-aa&7)|0;aa=O+8|0;V=O+((aa&7|0)==0?0:0-aa&7)|0;aa=_+B|0;$=V-_-B|0;c[_+4>>2]=B|3;do if((V|0)!=(Z|0)){if((V|0)==(c[4358]|0)){W=(c[4355]|0)+$|0;c[4355]=W;c[4358]=aa;c[aa+4>>2]=W|1;c[aa+W>>2]=W;break}W=c[V+4>>2]|0;if((W&3|0)==1){T=W&-8;U=W>>>3;e:do if(W>>>0>=256){P=c[V+24>>2]|0;Q=c[V+12>>2]|0;do if((Q|0)==(V|0)){o=V+16|0;S=o+4|0;f=c[S>>2]|0;if(!f){R=c[o>>2]|0;if(!R){ga=0;break}else{ha=R;ia=o}}else{ha=f;ia=S}while(1){S=ha+20|0;f=c[S>>2]|0;if(f|0){ha=f;ia=S;continue}S=ha+16|0;f=c[S>>2]|0;if(!f)break;else{ha=f;ia=S}}if(ia>>>0<ea>>>0)Sa();else{c[ia>>2]=0;ga=ha;break}}else{S=c[V+8>>2]|0;if(S>>>0<ea>>>0)Sa();f=S+12|0;if((c[f>>2]|0)!=(V|0))Sa();o=Q+8|0;if((c[o>>2]|0)==(V|0)){c[f>>2]=Q;c[o>>2]=S;ga=Q;break}else Sa()}while(0);if(!P)break;Q=c[V+28>>2]|0;S=17716+(Q<<2)|0;do if((V|0)!=(c[S>>2]|0)){if(P>>>0<(c[4357]|0)>>>0)Sa();o=P+16|0;if((c[o>>2]|0)==(V|0))c[o>>2]=ga;else c[P+20>>2]=ga;if(!ga)break e}else{c[S>>2]=ga;if(ga|0)break;c[4354]=c[4354]&~(1<<Q);break e}while(0);Q=c[4357]|0;if(ga>>>0<Q>>>0)Sa();c[ga+24>>2]=P;S=V+16|0;o=c[S>>2]|0;do if(o|0)if(o>>>0<Q>>>0)Sa();else{c[ga+16>>2]=o;c[o+24>>2]=ga;break}while(0);o=c[S+4>>2]|0;if(!o)break;if(o>>>0<(c[4357]|0)>>>0)Sa();else{c[ga+20>>2]=o;c[o+24>>2]=ga;break}}else{o=c[V+8>>2]|0;Q=c[V+12>>2]|0;P=17452+(U<<1<<2)|0;do if((o|0)!=(P|0)){if(o>>>0<ea>>>0)Sa();if((c[o+12>>2]|0)==(V|0))break;Sa()}while(0);if((Q|0)==(o|0)){c[4353]=c[4353]&~(1<<U);break}do if((Q|0)==(P|0))ja=Q+8|0;else{if(Q>>>0<ea>>>0)Sa();S=Q+8|0;if((c[S>>2]|0)==(V|0)){ja=S;break}Sa()}while(0);c[o+12>>2]=Q;c[ja>>2]=o}while(0);ka=V+T|0;la=T+$|0}else{ka=V;la=$}U=ka+4|0;c[U>>2]=c[U>>2]&-2;c[aa+4>>2]=la|1;c[aa+la>>2]=la;U=la>>>3;if(la>>>0<256){W=17452+(U<<1<<2)|0;P=c[4353]|0;S=1<<U;do if(!(P&S)){c[4353]=P|S;ma=W+8|0;na=W}else{U=W+8|0;f=c[U>>2]|0;if(f>>>0>=(c[4357]|0)>>>0){ma=U;na=f;break}Sa()}while(0);c[ma>>2]=aa;c[na+12>>2]=aa;c[aa+8>>2]=na;c[aa+12>>2]=W;break}S=la>>>8;do if(!S)oa=0;else{if(la>>>0>16777215){oa=31;break}P=(S+1048320|0)>>>16&8;T=S<<P;f=(T+520192|0)>>>16&4;U=T<<f;T=(U+245760|0)>>>16&2;R=14-(f|P|T)+(U<<T>>>15)|0;oa=la>>>(R+7|0)&1|R<<1}while(0);S=17716+(oa<<2)|0;c[aa+28>>2]=oa;W=aa+16|0;c[W+4>>2]=0;c[W>>2]=0;W=c[4354]|0;R=1<<oa;if(!(W&R)){c[4354]=W|R;c[S>>2]=aa;c[aa+24>>2]=S;c[aa+12>>2]=aa;c[aa+8>>2]=aa;break}R=la<<((oa|0)==31?0:25-(oa>>>1)|0);W=c[S>>2]|0;while(1){if((c[W+4>>2]&-8|0)==(la|0)){G=281;break}pa=W+16+(R>>>31<<2)|0;S=c[pa>>2]|0;if(!S){G=278;break}else{R=R<<1;W=S}}if((G|0)==278)if(pa>>>0<(c[4357]|0)>>>0)Sa();else{c[pa>>2]=aa;c[aa+24>>2]=W;c[aa+12>>2]=aa;c[aa+8>>2]=aa;break}else if((G|0)==281){R=W+8|0;S=c[R>>2]|0;T=c[4357]|0;if(S>>>0>=T>>>0&W>>>0>=T>>>0){c[S+12>>2]=aa;c[R>>2]=aa;c[aa+8>>2]=S;c[aa+12>>2]=W;c[aa+24>>2]=0;break}else Sa()}}else{S=(c[4356]|0)+$|0;c[4356]=S;c[4359]=aa;c[aa+4>>2]=S|1}while(0);n=_+8|0;return n|0}else fa=17860;while(1){aa=c[fa>>2]|0;if(aa>>>0<=Z>>>0?(qa=aa+(c[fa+4>>2]|0)|0,qa>>>0>Z>>>0):0)break;fa=c[fa+8>>2]|0}_=qa+-47|0;aa=_+8|0;$=_+((aa&7|0)==0?0:0-aa&7)|0;aa=Z+16|0;_=$>>>0<aa>>>0?Z:$;$=_+8|0;V=X+8|0;O=(V&7|0)==0?0:0-V&7;V=X+O|0;N=Y+-40-O|0;c[4359]=V;c[4356]=N;c[V+4>>2]=N|1;c[V+N+4>>2]=40;c[4360]=c[4475];N=_+4|0;c[N>>2]=27;c[$>>2]=c[4465];c[$+4>>2]=c[4466];c[$+8>>2]=c[4467];c[$+12>>2]=c[4468];c[4465]=X;c[4466]=Y;c[4468]=0;c[4467]=$;$=_+24|0;do{$=$+4|0;c[$>>2]=7}while(($+4|0)>>>0<qa>>>0);if((_|0)!=(Z|0)){$=_-Z|0;c[N>>2]=c[N>>2]&-2;c[Z+4>>2]=$|1;c[_>>2]=$;V=$>>>3;if($>>>0<256){O=17452+(V<<1<<2)|0;S=c[4353]|0;R=1<<V;if(S&R){V=O+8|0;T=c[V>>2]|0;if(T>>>0<(c[4357]|0)>>>0)Sa();else{ra=V;sa=T}}else{c[4353]=S|R;ra=O+8|0;sa=O}c[ra>>2]=Z;c[sa+12>>2]=Z;c[Z+8>>2]=sa;c[Z+12>>2]=O;break}O=$>>>8;if(O)if($>>>0>16777215)ta=31;else{R=(O+1048320|0)>>>16&8;S=O<<R;O=(S+520192|0)>>>16&4;T=S<<O;S=(T+245760|0)>>>16&2;V=14-(O|R|S)+(T<<S>>>15)|0;ta=$>>>(V+7|0)&1|V<<1}else ta=0;V=17716+(ta<<2)|0;c[Z+28>>2]=ta;c[Z+20>>2]=0;c[aa>>2]=0;S=c[4354]|0;T=1<<ta;if(!(S&T)){c[4354]=S|T;c[V>>2]=Z;c[Z+24>>2]=V;c[Z+12>>2]=Z;c[Z+8>>2]=Z;break}T=$<<((ta|0)==31?0:25-(ta>>>1)|0);S=c[V>>2]|0;while(1){if((c[S+4>>2]&-8|0)==($|0)){G=307;break}ua=S+16+(T>>>31<<2)|0;V=c[ua>>2]|0;if(!V){G=304;break}else{T=T<<1;S=V}}if((G|0)==304)if(ua>>>0<(c[4357]|0)>>>0)Sa();else{c[ua>>2]=Z;c[Z+24>>2]=S;c[Z+12>>2]=Z;c[Z+8>>2]=Z;break}else if((G|0)==307){T=S+8|0;$=c[T>>2]|0;aa=c[4357]|0;if($>>>0>=aa>>>0&S>>>0>=aa>>>0){c[$+12>>2]=Z;c[T>>2]=Z;c[Z+8>>2]=$;c[Z+12>>2]=S;c[Z+24>>2]=0;break}else Sa()}}}else{$=c[4357]|0;if(($|0)==0|X>>>0<$>>>0)c[4357]=X;c[4465]=X;c[4466]=Y;c[4468]=0;c[4362]=c[4471];c[4361]=-1;$=0;do{T=17452+($<<1<<2)|0;c[T+12>>2]=T;c[T+8>>2]=T;$=$+1|0}while(($|0)!=32);$=X+8|0;S=($&7|0)==0?0:0-$&7;$=X+S|0;T=Y+-40-S|0;c[4359]=$;c[4356]=T;c[$+4>>2]=T|1;c[$+T+4>>2]=40;c[4360]=c[4475]}while(0);Y=c[4356]|0;if(Y>>>0>B>>>0){X=Y-B|0;c[4356]=X;Y=c[4359]|0;Z=Y+B|0;c[4359]=Z;c[Z+4>>2]=X|1;c[Y+4>>2]=B|3;n=Y+8|0;return n|0}}if(!0)va=17408;else va=c[(fb()|0)+64>>2]|0;c[va>>2]=12;n=0;return n|0}function Ur(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,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;if(!a)return;b=a+-8|0;d=c[4357]|0;if(b>>>0<d>>>0)Sa();e=c[a+-4>>2]|0;a=e&3;if((a|0)==1)Sa();f=e&-8;g=b+f|0;do if(!(e&1)){h=c[b>>2]|0;if(!a)return;i=b+(0-h)|0;j=h+f|0;if(i>>>0<d>>>0)Sa();if((i|0)==(c[4358]|0)){k=g+4|0;l=c[k>>2]|0;if((l&3|0)!=3){m=i;n=j;break}c[4355]=j;c[k>>2]=l&-2;c[i+4>>2]=j|1;c[i+j>>2]=j;return}l=h>>>3;if(h>>>0<256){h=c[i+8>>2]|0;k=c[i+12>>2]|0;o=17452+(l<<1<<2)|0;if((h|0)!=(o|0)){if(h>>>0<d>>>0)Sa();if((c[h+12>>2]|0)!=(i|0))Sa()}if((k|0)==(h|0)){c[4353]=c[4353]&~(1<<l);m=i;n=j;break}if((k|0)!=(o|0)){if(k>>>0<d>>>0)Sa();o=k+8|0;if((c[o>>2]|0)==(i|0))p=o;else Sa()}else p=k+8|0;c[h+12>>2]=k;c[p>>2]=h;m=i;n=j;break}h=c[i+24>>2]|0;k=c[i+12>>2]|0;do if((k|0)==(i|0)){o=i+16|0;l=o+4|0;q=c[l>>2]|0;if(!q){r=c[o>>2]|0;if(!r){s=0;break}else{t=r;u=o}}else{t=q;u=l}while(1){l=t+20|0;q=c[l>>2]|0;if(q|0){t=q;u=l;continue}l=t+16|0;q=c[l>>2]|0;if(!q)break;else{t=q;u=l}}if(u>>>0<d>>>0)Sa();else{c[u>>2]=0;s=t;break}}else{l=c[i+8>>2]|0;if(l>>>0<d>>>0)Sa();q=l+12|0;if((c[q>>2]|0)!=(i|0))Sa();o=k+8|0;if((c[o>>2]|0)==(i|0)){c[q>>2]=k;c[o>>2]=l;s=k;break}else Sa()}while(0);if(h){k=c[i+28>>2]|0;l=17716+(k<<2)|0;if((i|0)==(c[l>>2]|0)){c[l>>2]=s;if(!s){c[4354]=c[4354]&~(1<<k);m=i;n=j;break}}else{if(h>>>0<(c[4357]|0)>>>0)Sa();k=h+16|0;if((c[k>>2]|0)==(i|0))c[k>>2]=s;else c[h+20>>2]=s;if(!s){m=i;n=j;break}}k=c[4357]|0;if(s>>>0<k>>>0)Sa();c[s+24>>2]=h;l=i+16|0;o=c[l>>2]|0;do if(o|0)if(o>>>0<k>>>0)Sa();else{c[s+16>>2]=o;c[o+24>>2]=s;break}while(0);o=c[l+4>>2]|0;if(o)if(o>>>0<(c[4357]|0)>>>0)Sa();else{c[s+20>>2]=o;c[o+24>>2]=s;m=i;n=j;break}else{m=i;n=j}}else{m=i;n=j}}else{m=b;n=f}while(0);if(m>>>0>=g>>>0)Sa();f=g+4|0;b=c[f>>2]|0;if(!(b&1))Sa();if(!(b&2)){if((g|0)==(c[4359]|0)){s=(c[4356]|0)+n|0;c[4356]=s;c[4359]=m;c[m+4>>2]=s|1;if((m|0)!=(c[4358]|0))return;c[4358]=0;c[4355]=0;return}if((g|0)==(c[4358]|0)){s=(c[4355]|0)+n|0;c[4355]=s;c[4358]=m;c[m+4>>2]=s|1;c[m+s>>2]=s;return}s=(b&-8)+n|0;d=b>>>3;do if(b>>>0>=256){t=c[g+24>>2]|0;u=c[g+12>>2]|0;do if((u|0)==(g|0)){p=g+16|0;a=p+4|0;e=c[a>>2]|0;if(!e){o=c[p>>2]|0;if(!o){v=0;break}else{w=o;x=p}}else{w=e;x=a}while(1){a=w+20|0;e=c[a>>2]|0;if(e|0){w=e;x=a;continue}a=w+16|0;e=c[a>>2]|0;if(!e)break;else{w=e;x=a}}if(x>>>0<(c[4357]|0)>>>0)Sa();else{c[x>>2]=0;v=w;break}}else{a=c[g+8>>2]|0;if(a>>>0<(c[4357]|0)>>>0)Sa();e=a+12|0;if((c[e>>2]|0)!=(g|0))Sa();p=u+8|0;if((c[p>>2]|0)==(g|0)){c[e>>2]=u;c[p>>2]=a;v=u;break}else Sa()}while(0);if(t|0){u=c[g+28>>2]|0;j=17716+(u<<2)|0;if((g|0)==(c[j>>2]|0)){c[j>>2]=v;if(!v){c[4354]=c[4354]&~(1<<u);break}}else{if(t>>>0<(c[4357]|0)>>>0)Sa();u=t+16|0;if((c[u>>2]|0)==(g|0))c[u>>2]=v;else c[t+20>>2]=v;if(!v)break}u=c[4357]|0;if(v>>>0<u>>>0)Sa();c[v+24>>2]=t;j=g+16|0;i=c[j>>2]|0;do if(i|0)if(i>>>0<u>>>0)Sa();else{c[v+16>>2]=i;c[i+24>>2]=v;break}while(0);i=c[j+4>>2]|0;if(i|0)if(i>>>0<(c[4357]|0)>>>0)Sa();else{c[v+20>>2]=i;c[i+24>>2]=v;break}}}else{i=c[g+8>>2]|0;u=c[g+12>>2]|0;t=17452+(d<<1<<2)|0;if((i|0)!=(t|0)){if(i>>>0<(c[4357]|0)>>>0)Sa();if((c[i+12>>2]|0)!=(g|0))Sa()}if((u|0)==(i|0)){c[4353]=c[4353]&~(1<<d);break}if((u|0)!=(t|0)){if(u>>>0<(c[4357]|0)>>>0)Sa();t=u+8|0;if((c[t>>2]|0)==(g|0))y=t;else Sa()}else y=u+8|0;c[i+12>>2]=u;c[y>>2]=i}while(0);c[m+4>>2]=s|1;c[m+s>>2]=s;if((m|0)==(c[4358]|0)){c[4355]=s;return}else z=s}else{c[f>>2]=b&-2;c[m+4>>2]=n|1;c[m+n>>2]=n;z=n}n=z>>>3;if(z>>>0<256){b=17452+(n<<1<<2)|0;f=c[4353]|0;s=1<<n;if(f&s){n=b+8|0;y=c[n>>2]|0;if(y>>>0<(c[4357]|0)>>>0)Sa();else{A=n;B=y}}else{c[4353]=f|s;A=b+8|0;B=b}c[A>>2]=m;c[B+12>>2]=m;c[m+8>>2]=B;c[m+12>>2]=b;return}b=z>>>8;if(b)if(z>>>0>16777215)C=31;else{B=(b+1048320|0)>>>16&8;A=b<<B;b=(A+520192|0)>>>16&4;s=A<<b;A=(s+245760|0)>>>16&2;f=14-(b|B|A)+(s<<A>>>15)|0;C=z>>>(f+7|0)&1|f<<1}else C=0;f=17716+(C<<2)|0;c[m+28>>2]=C;c[m+20>>2]=0;c[m+16>>2]=0;A=c[4354]|0;s=1<<C;do if(A&s){B=z<<((C|0)==31?0:25-(C>>>1)|0);b=c[f>>2]|0;while(1){if((c[b+4>>2]&-8|0)==(z|0)){D=130;break}E=b+16+(B>>>31<<2)|0;y=c[E>>2]|0;if(!y){D=127;break}else{B=B<<1;b=y}}if((D|0)==127)if(E>>>0<(c[4357]|0)>>>0)Sa();else{c[E>>2]=m;c[m+24>>2]=b;c[m+12>>2]=m;c[m+8>>2]=m;break}else if((D|0)==130){B=b+8|0;j=c[B>>2]|0;y=c[4357]|0;if(j>>>0>=y>>>0&b>>>0>=y>>>0){c[j+12>>2]=m;c[B>>2]=m;c[m+8>>2]=j;c[m+12>>2]=b;c[m+24>>2]=0;break}else Sa()}}else{c[4354]=A|s;c[f>>2]=m;c[m+24>>2]=f;c[m+12>>2]=m;c[m+8>>2]=m}while(0);m=(c[4361]|0)+-1|0;c[4361]=m;if(!m)F=17868;else return;while(1){m=c[F>>2]|0;if(!m)break;else F=m+8|0}c[4361]=-1;return}function Vr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,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;if(!a){d=Tr(b)|0;return d|0}if(b>>>0>4294967231){if(!0)e=17408;else e=c[(fb()|0)+64>>2]|0;c[e>>2]=12;d=0;return d|0}e=b>>>0<11?16:b+11&-8;f=a+-8|0;g=a+-4|0;h=c[g>>2]|0;i=h&-8;j=f+i|0;k=c[4357]|0;l=h&3;if(!((l|0)!=1&f>>>0>=k>>>0&(i|0)>0))Sa();m=c[j+4>>2]|0;if(!(m&1))Sa();do if(!l){if(!(e>>>0<256|i>>>0<(e|4)>>>0)?(i-e|0)>>>0<=c[4473]<<1>>>0:0){d=a;return d|0}}else{if(i>>>0>=e>>>0){n=i-e|0;if(n>>>0<=15){d=a;return d|0}o=f+e|0;c[g>>2]=h&1|e|2;c[o+4>>2]=n|3;p=o+n+4|0;c[p>>2]=c[p>>2]|1;Wr(o,n);d=a;return d|0}if((j|0)==(c[4359]|0)){n=(c[4356]|0)+i|0;if(n>>>0<=e>>>0)break;o=n-e|0;n=f+e|0;c[g>>2]=h&1|e|2;c[n+4>>2]=o|1;c[4359]=n;c[4356]=o;d=a;return d|0}if((j|0)==(c[4358]|0)){o=(c[4355]|0)+i|0;if(o>>>0<e>>>0)break;n=o-e|0;if(n>>>0>15){p=f+e|0;q=p+n|0;c[g>>2]=h&1|e|2;c[p+4>>2]=n|1;c[q>>2]=n;r=q+4|0;c[r>>2]=c[r>>2]&-2;s=p;t=n}else{c[g>>2]=h&1|o|2;n=f+o+4|0;c[n>>2]=c[n>>2]|1;s=0;t=0}c[4355]=t;c[4358]=s;d=a;return d|0}if((m&2|0)==0?(n=(m&-8)+i|0,n>>>0>=e>>>0):0){o=n-e|0;p=m>>>3;do if(m>>>0>=256){r=c[j+24>>2]|0;q=c[j+12>>2]|0;do if((q|0)==(j|0)){u=j+16|0;v=u+4|0;w=c[v>>2]|0;if(!w){x=c[u>>2]|0;if(!x){y=0;break}else{z=x;A=u}}else{z=w;A=v}while(1){v=z+20|0;w=c[v>>2]|0;if(w|0){z=w;A=v;continue}v=z+16|0;w=c[v>>2]|0;if(!w)break;else{z=w;A=v}}if(A>>>0<k>>>0)Sa();else{c[A>>2]=0;y=z;break}}else{v=c[j+8>>2]|0;if(v>>>0<k>>>0)Sa();w=v+12|0;if((c[w>>2]|0)!=(j|0))Sa();u=q+8|0;if((c[u>>2]|0)==(j|0)){c[w>>2]=q;c[u>>2]=v;y=q;break}else Sa()}while(0);if(r|0){q=c[j+28>>2]|0;v=17716+(q<<2)|0;if((j|0)==(c[v>>2]|0)){c[v>>2]=y;if(!y){c[4354]=c[4354]&~(1<<q);break}}else{if(r>>>0<(c[4357]|0)>>>0)Sa();q=r+16|0;if((c[q>>2]|0)==(j|0))c[q>>2]=y;else c[r+20>>2]=y;if(!y)break}q=c[4357]|0;if(y>>>0<q>>>0)Sa();c[y+24>>2]=r;v=j+16|0;u=c[v>>2]|0;do if(u|0)if(u>>>0<q>>>0)Sa();else{c[y+16>>2]=u;c[u+24>>2]=y;break}while(0);u=c[v+4>>2]|0;if(u|0)if(u>>>0<(c[4357]|0)>>>0)Sa();else{c[y+20>>2]=u;c[u+24>>2]=y;break}}}else{u=c[j+8>>2]|0;q=c[j+12>>2]|0;r=17452+(p<<1<<2)|0;if((u|0)!=(r|0)){if(u>>>0<k>>>0)Sa();if((c[u+12>>2]|0)!=(j|0))Sa()}if((q|0)==(u|0)){c[4353]=c[4353]&~(1<<p);break}if((q|0)!=(r|0)){if(q>>>0<k>>>0)Sa();r=q+8|0;if((c[r>>2]|0)==(j|0))B=r;else Sa()}else B=q+8|0;c[u+12>>2]=q;c[B>>2]=u}while(0);if(o>>>0<16){c[g>>2]=n|h&1|2;p=f+n+4|0;c[p>>2]=c[p>>2]|1;d=a;return d|0}else{p=f+e|0;c[g>>2]=h&1|e|2;c[p+4>>2]=o|3;u=p+o+4|0;c[u>>2]=c[u>>2]|1;Wr(p,o);d=a;return d|0}}}while(0);e=Tr(b)|0;if(!e){d=0;return d|0}h=c[g>>2]|0;g=(h&-8)-((h&3|0)==0?8:4)|0;Gs(e|0,a|0,(g>>>0<b>>>0?g:b)|0)|0;Ur(a);d=e;return d|0}function Wr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,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;d=a+b|0;e=c[a+4>>2]|0;do if(!(e&1)){f=c[a>>2]|0;if(!(e&3))return;g=a+(0-f)|0;h=f+b|0;i=c[4357]|0;if(g>>>0<i>>>0)Sa();if((g|0)==(c[4358]|0)){j=d+4|0;k=c[j>>2]|0;if((k&3|0)!=3){l=g;m=h;break}c[4355]=h;c[j>>2]=k&-2;c[g+4>>2]=h|1;c[g+h>>2]=h;return}k=f>>>3;if(f>>>0<256){f=c[g+8>>2]|0;j=c[g+12>>2]|0;n=17452+(k<<1<<2)|0;if((f|0)!=(n|0)){if(f>>>0<i>>>0)Sa();if((c[f+12>>2]|0)!=(g|0))Sa()}if((j|0)==(f|0)){c[4353]=c[4353]&~(1<<k);l=g;m=h;break}if((j|0)!=(n|0)){if(j>>>0<i>>>0)Sa();n=j+8|0;if((c[n>>2]|0)==(g|0))o=n;else Sa()}else o=j+8|0;c[f+12>>2]=j;c[o>>2]=f;l=g;m=h;break}f=c[g+24>>2]|0;j=c[g+12>>2]|0;do if((j|0)==(g|0)){n=g+16|0;k=n+4|0;p=c[k>>2]|0;if(!p){q=c[n>>2]|0;if(!q){r=0;break}else{s=q;t=n}}else{s=p;t=k}while(1){k=s+20|0;p=c[k>>2]|0;if(p|0){s=p;t=k;continue}k=s+16|0;p=c[k>>2]|0;if(!p)break;else{s=p;t=k}}if(t>>>0<i>>>0)Sa();else{c[t>>2]=0;r=s;break}}else{k=c[g+8>>2]|0;if(k>>>0<i>>>0)Sa();p=k+12|0;if((c[p>>2]|0)!=(g|0))Sa();n=j+8|0;if((c[n>>2]|0)==(g|0)){c[p>>2]=j;c[n>>2]=k;r=j;break}else Sa()}while(0);if(f){j=c[g+28>>2]|0;i=17716+(j<<2)|0;if((g|0)==(c[i>>2]|0)){c[i>>2]=r;if(!r){c[4354]=c[4354]&~(1<<j);l=g;m=h;break}}else{if(f>>>0<(c[4357]|0)>>>0)Sa();j=f+16|0;if((c[j>>2]|0)==(g|0))c[j>>2]=r;else c[f+20>>2]=r;if(!r){l=g;m=h;break}}j=c[4357]|0;if(r>>>0<j>>>0)Sa();c[r+24>>2]=f;i=g+16|0;k=c[i>>2]|0;do if(k|0)if(k>>>0<j>>>0)Sa();else{c[r+16>>2]=k;c[k+24>>2]=r;break}while(0);k=c[i+4>>2]|0;if(k)if(k>>>0<(c[4357]|0)>>>0)Sa();else{c[r+20>>2]=k;c[k+24>>2]=r;l=g;m=h;break}else{l=g;m=h}}else{l=g;m=h}}else{l=a;m=b}while(0);b=c[4357]|0;if(d>>>0<b>>>0)Sa();a=d+4|0;r=c[a>>2]|0;if(!(r&2)){if((d|0)==(c[4359]|0)){s=(c[4356]|0)+m|0;c[4356]=s;c[4359]=l;c[l+4>>2]=s|1;if((l|0)!=(c[4358]|0))return;c[4358]=0;c[4355]=0;return}if((d|0)==(c[4358]|0)){s=(c[4355]|0)+m|0;c[4355]=s;c[4358]=l;c[l+4>>2]=s|1;c[l+s>>2]=s;return}s=(r&-8)+m|0;t=r>>>3;do if(r>>>0>=256){o=c[d+24>>2]|0;e=c[d+12>>2]|0;do if((e|0)==(d|0)){k=d+16|0;j=k+4|0;f=c[j>>2]|0;if(!f){n=c[k>>2]|0;if(!n){u=0;break}else{v=n;w=k}}else{v=f;w=j}while(1){j=v+20|0;f=c[j>>2]|0;if(f|0){v=f;w=j;continue}j=v+16|0;f=c[j>>2]|0;if(!f)break;else{v=f;w=j}}if(w>>>0<b>>>0)Sa();else{c[w>>2]=0;u=v;break}}else{j=c[d+8>>2]|0;if(j>>>0<b>>>0)Sa();f=j+12|0;if((c[f>>2]|0)!=(d|0))Sa();k=e+8|0;if((c[k>>2]|0)==(d|0)){c[f>>2]=e;c[k>>2]=j;u=e;break}else Sa()}while(0);if(o|0){e=c[d+28>>2]|0;h=17716+(e<<2)|0;if((d|0)==(c[h>>2]|0)){c[h>>2]=u;if(!u){c[4354]=c[4354]&~(1<<e);break}}else{if(o>>>0<(c[4357]|0)>>>0)Sa();e=o+16|0;if((c[e>>2]|0)==(d|0))c[e>>2]=u;else c[o+20>>2]=u;if(!u)break}e=c[4357]|0;if(u>>>0<e>>>0)Sa();c[u+24>>2]=o;h=d+16|0;g=c[h>>2]|0;do if(g|0)if(g>>>0<e>>>0)Sa();else{c[u+16>>2]=g;c[g+24>>2]=u;break}while(0);g=c[h+4>>2]|0;if(g|0)if(g>>>0<(c[4357]|0)>>>0)Sa();else{c[u+20>>2]=g;c[g+24>>2]=u;break}}}else{g=c[d+8>>2]|0;e=c[d+12>>2]|0;o=17452+(t<<1<<2)|0;if((g|0)!=(o|0)){if(g>>>0<b>>>0)Sa();if((c[g+12>>2]|0)!=(d|0))Sa()}if((e|0)==(g|0)){c[4353]=c[4353]&~(1<<t);break}if((e|0)!=(o|0)){if(e>>>0<b>>>0)Sa();o=e+8|0;if((c[o>>2]|0)==(d|0))x=o;else Sa()}else x=e+8|0;c[g+12>>2]=e;c[x>>2]=g}while(0);c[l+4>>2]=s|1;c[l+s>>2]=s;if((l|0)==(c[4358]|0)){c[4355]=s;return}else y=s}else{c[a>>2]=r&-2;c[l+4>>2]=m|1;c[l+m>>2]=m;y=m}m=y>>>3;if(y>>>0<256){r=17452+(m<<1<<2)|0;a=c[4353]|0;s=1<<m;if(a&s){m=r+8|0;x=c[m>>2]|0;if(x>>>0<(c[4357]|0)>>>0)Sa();else{z=m;A=x}}else{c[4353]=a|s;z=r+8|0;A=r}c[z>>2]=l;c[A+12>>2]=l;c[l+8>>2]=A;c[l+12>>2]=r;return}r=y>>>8;if(r)if(y>>>0>16777215)B=31;else{A=(r+1048320|0)>>>16&8;z=r<<A;r=(z+520192|0)>>>16&4;s=z<<r;z=(s+245760|0)>>>16&2;a=14-(r|A|z)+(s<<z>>>15)|0;B=y>>>(a+7|0)&1|a<<1}else B=0;a=17716+(B<<2)|0;c[l+28>>2]=B;c[l+20>>2]=0;c[l+16>>2]=0;z=c[4354]|0;s=1<<B;if(!(z&s)){c[4354]=z|s;c[a>>2]=l;c[l+24>>2]=a;c[l+12>>2]=l;c[l+8>>2]=l;return}s=y<<((B|0)==31?0:25-(B>>>1)|0);B=c[a>>2]|0;while(1){if((c[B+4>>2]&-8|0)==(y|0)){C=127;break}D=B+16+(s>>>31<<2)|0;a=c[D>>2]|0;if(!a){C=124;break}else{s=s<<1;B=a}}if((C|0)==124){if(D>>>0<(c[4357]|0)>>>0)Sa();c[D>>2]=l;c[l+24>>2]=B;c[l+12>>2]=l;c[l+8>>2]=l;return}else if((C|0)==127){C=B+8|0;D=c[C>>2]|0;s=c[4357]|0;if(!(D>>>0>=s>>>0&B>>>0>=s>>>0))Sa();c[D+12>>2]=l;c[C>>2]=l;c[l+8>>2]=D;c[l+12>>2]=B;c[l+24>>2]=0;return}}function Xr(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;a=i;i=i+48|0;b=a+40|0;d=a+32|0;e=a+24|0;f=a+8|0;g=a+44|0;if(hb(17908,3)|0)_r(16159,a);a=eb(c[4478]|0)|0;if(a|0?(h=c[a>>2]|0,h|0):0){a=h+48|0;j=c[a>>2]|0;k=c[a+4>>2]|0;if(!((j&-256|0)==1126902528&(k|0)==1129074247)){c[d>>2]=16338;_r(16433,d)}if((j|0)==1126902529&(k|0)==1129074247)l=c[h+44>>2]|0;else l=h+80|0;c[g>>2]=l;l=c[h>>2]|0;h=c[l+4>>2]|0;if(ds(2048,l,g)|0){l=c[g>>2]|0;g=zb[c[(c[l>>2]|0)+8>>2]&127](l)|0;c[f>>2]=16338;c[f+4>>2]=h;c[f+8>>2]=g;_r(16347,f)}else{c[e>>2]=16338;c[e+4>>2]=h;_r(16392,e)}}_r(16471,b)}function Yr(){var a=0;a=i;i=i+16|0;if(!(jb(17912,194)|0)){i=a;return}else _r(16109,a)}function Zr(a){a=a|0;var b=0;b=i;i=i+16|0;Ur(a);if(!(kb(c[4478]|0,0)|0)){i=b;return}else _r(16056,b)}function _r(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+240|0;f=e+136|0;g=e+96|0;h=e;j=e+152|0;k=e+80|0;c[k>>2]=d;d=g;e=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));c[f>>2]=c[k>>2];if((Nr(0,b,f,h,g)|0)>=0){k=c[1662]|0;d=k&32;if((a[6722]|0)<1)c[1662]=k&-33;if(!(c[1674]|0)){k=c[1673]|0;c[1673]=j;c[1669]=j;c[1667]=j;c[1674]=80;c[1666]=j+80;Nr(6648,b,f,h,g)|0;if(k|0){Hb[c[6684>>2]&31](6648,0,0)|0;c[1673]=k;c[1674]=0;c[1666]=0;c[1669]=0;c[1667]=0}}else Nr(6648,b,f,h,g)|0;c[1662]=c[1662]|d}d=(a[6723]|0)==10;do if((c[1681]|0)<0){if(!d?(g=c[1667]|0,g>>>0<(c[1666]|0)>>>0):0){c[1667]=g+1;a[g>>0]=10;break}Jr(6648,10)|0}else{if(!d?(g=c[1667]|0,g>>>0<(c[1666]|0)>>>0):0){c[1667]=g+1;a[g>>0]=10;break}Jr(6648,10)|0}while(0);Sa()}function $r(a){a=a|0;return}function as(a){a=a|0;Ur(a);return}function bs(a){a=a|0;return}function cs(a){a=a|0;return}function ds(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+64|0;f=e;if((a|0)!=(b|0))if((b|0)!=0?(g=es(b,2056)|0,(g|0)!=0):0){b=f;h=b+56|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(h|0));c[f>>2]=g;c[f+8>>2]=a;c[f+12>>2]=-1;c[f+48>>2]=1;ec[c[(c[g>>2]|0)+28>>2]&63](g,f,c[d>>2]|0,1);if((c[f+24>>2]|0)==1){c[d>>2]=c[f+16>>2];j=1}else j=0;k=j}else k=0;else k=1;i=e;return k|0}function es(d,e){d=d|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;f=i;i=i+64|0;g=f;h=c[d>>2]|0;j=d+(c[h+-8>>2]|0)|0;k=c[h+-4>>2]|0;c[g>>2]=e;c[g+4>>2]=d;c[g+8>>2]=2088;d=g+12|0;h=g+16|0;l=g+20|0;m=g+24|0;n=g+28|0;o=g+32|0;p=g+40|0;q=(k|0)==(e|0);r=d;s=r+40|0;do{c[r>>2]=0;r=r+4|0}while((r|0)<(s|0));b[d+40>>1]=0;a[d+42>>0]=0;a:do if(q){c[g+48>>2]=1;Ib[c[(c[e>>2]|0)+20>>2]&7](e,g,j,j,1,0);t=(c[m>>2]|0)==1?j:0}else{tb[c[(c[k>>2]|0)+24>>2]&31](k,g,j,1,0);switch(c[g+36>>2]|0){case 0:{t=(c[p>>2]|0)==1&(c[n>>2]|0)==1&(c[o>>2]|0)==1?c[l>>2]|0:0;break a;break}case 1:break;default:{t=0;break a}}if((c[m>>2]|0)!=1?!((c[p>>2]|0)==0&(c[n>>2]|0)==1&(c[o>>2]|0)==1):0){t=0;break}t=c[h>>2]|0}while(0);i=f;return t|0}function fs(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;if((a|0)==(c[b+8>>2]|0))gs(b,d,e,f);else{h=c[a+8>>2]|0;Ib[c[(c[h>>2]|0)+20>>2]&7](h,b,d,e,f,g)}return}function gs(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a[b+53>>0]=1;do if((c[b+4>>2]|0)==(e|0)){a[b+52>>0]=1;g=b+16|0;h=c[g>>2]|0;if(!h){c[g>>2]=d;c[b+24>>2]=f;c[b+36>>2]=1;if(!((f|0)==1?(c[b+48>>2]|0)==1:0))break;a[b+54>>0]=1;break}if((h|0)!=(d|0)){h=b+36|0;c[h>>2]=(c[h>>2]|0)+1;a[b+54>>0]=1;break}h=b+24|0;g=c[h>>2]|0;if((g|0)==2){c[h>>2]=f;i=f}else i=g;if((i|0)==1?(c[b+48>>2]|0)==1:0)a[b+54>>0]=1}while(0);return}function hs(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;do if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(h=d+28|0,(c[h>>2]|0)!=1):0)c[h>>2]=f}else{if((b|0)!=(c[d>>2]|0)){h=c[b+8>>2]|0;tb[c[(c[h>>2]|0)+24>>2]&31](h,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;i=d+44|0;if((c[i>>2]|0)==4)break;j=d+52|0;a[j>>0]=0;k=d+53|0;a[k>>0]=0;l=c[b+8>>2]|0;Ib[c[(c[l>>2]|0)+20>>2]&7](l,d,e,e,1,g);if(a[k>>0]|0)if(!(a[j>>0]|0)){m=1;n=13}else n=17;else{m=0;n=13}do if((n|0)==13){c[h>>2]=e;j=d+40|0;c[j>>2]=(c[j>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0){a[d+54>>0]=1;if(m){n=17;break}else{o=4;break}}if(m)n=17;else o=4}while(0);if((n|0)==17)o=3;c[i>>2]=o;break}if((f|0)==1)c[d+32>>2]=1}while(0);return}function is(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;do if((b|0)==(c[d+8>>2]|0)){g=d+16|0;h=c[g>>2]|0;if(!h){c[g>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1;break}if((h|0)!=(e|0)){h=d+36|0;c[h>>2]=(c[h>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}h=d+24|0;if((c[h>>2]|0)==2)c[h>>2]=f}else{h=c[b+8>>2]|0;ec[c[(c[h>>2]|0)+28>>2]&63](h,d,e,f)}while(0);return}function js(a){a=a|0;Ur(a);return}function ks(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if((a|0)==(c[b+8>>2]|0))gs(b,d,e,f);return}function ls(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;do if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(g=d+28|0,(c[g>>2]|0)!=1):0)c[g>>2]=f}else if((b|0)==(c[d>>2]|0)){if((c[d+16>>2]|0)!=(e|0)?(g=d+20|0,(c[g>>2]|0)!=(e|0)):0){c[d+32>>2]=f;c[g>>2]=e;g=d+40|0;c[g>>2]=(c[g>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}while(0);return}function ms(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;do if((b|0)==(c[d+8>>2]|0)){g=d+16|0;h=c[g>>2]|0;if(!h){c[g>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1;break}if((h|0)!=(e|0)){h=d+36|0;c[h>>2]=(c[h>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}h=d+24|0;if((c[h>>2]|0)==2)c[h>>2]=f}while(0);return}function ns(a){a=a|0;return}function os(a){a=a|0;Ur(a);return}function ps(a){a=a|0;return 16536}function qs(a){a=a|0;Ur(a);return}function rs(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;if((d|0)==(c[e+8>>2]|0))gs(e,f,g,h);else{j=e+52|0;k=b[j>>1]|0;l=k&255;m=e+53|0;n=(k&65535)>>>8&255;k=c[d+12>>2]|0;o=d+16+(k<<3)|0;a[j>>0]=0;a[m>>0]=0;ss(d+16|0,e,f,g,h,i);a:do if((k|0)>1){p=e+24|0;q=d+8|0;r=e+54|0;s=d+24|0;do{if(a[r>>0]|0)break a;t=b[j>>1]|0;if(!((t&255)<<24>>24)){if((t&65535)>=256?(c[q>>2]&1|0)==0:0)break a}else{if((c[p>>2]|0)==1)break a;if(!(c[q>>2]&2))break a}a[j>>0]=0;a[m>>0]=0;ss(s,e,f,g,h,i);s=s+8|0}while(s>>>0<o>>>0)}while(0);a[j>>0]=l;a[m>>0]=n}return}function ss(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=c[a+4>>2]|0;i=h>>8;if(!(h&1))j=i;else j=c[(c[e>>2]|0)+i>>2]|0;i=c[a>>2]|0;Ib[c[(c[i>>2]|0)+20>>2]&7](i,b,d,e+j|0,h&2|0?f:2,g);return}function ts(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var 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;a:do if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(h=d+28|0,(c[h>>2]|0)!=1):0)c[h>>2]=f}else{if((b|0)!=(c[d>>2]|0)){h=c[b+12>>2]|0;i=b+16+(h<<3)|0;us(b+16|0,d,e,f,g);j=b+24|0;if((h|0)<=1)break;h=c[b+8>>2]|0;if((h&2|0)==0?(k=d+36|0,(c[k>>2]|0)!=1):0){if(!(h&1)){h=d+54|0;l=j;while(1){if(a[h>>0]|0)break a;if((c[k>>2]|0)==1)break a;us(l,d,e,f,g);l=l+8|0;if(l>>>0>=i>>>0)break a}}l=d+24|0;h=d+54|0;m=j;while(1){if(a[h>>0]|0)break a;if((c[k>>2]|0)==1?(c[l>>2]|0)==1:0)break a;us(m,d,e,f,g);m=m+8|0;if(m>>>0>=i>>>0)break a}}m=d+54|0;l=j;while(1){if(a[m>>0]|0)break a;us(l,d,e,f,g);l=l+8|0;if(l>>>0>=i>>>0)break a}}if((c[d+16>>2]|0)!=(e|0)?(i=d+20|0,(c[i>>2]|0)!=(e|0)):0){c[d+32>>2]=f;l=d+44|0;if((c[l>>2]|0)==4)break;m=b+16+(c[b+12>>2]<<3)|0;j=d+52|0;k=d+53|0;h=d+54|0;n=b+8|0;o=d+24|0;p=0;q=0;r=b+16|0;b:while(1){if(r>>>0>=m>>>0){s=q;t=20;break}a[j>>0]=0;a[k>>0]=0;ss(r,d,e,e,1,g);if(a[h>>0]|0){s=q;t=20;break}do if(a[k>>0]|0){if(!(a[j>>0]|0))if(!(c[n>>2]&1)){s=1;t=20;break b}else{u=p;v=1;break}if((c[o>>2]|0)==1){t=25;break b}if(!(c[n>>2]&2)){t=25;break b}else{u=1;v=1}}else{u=p;v=q}while(0);p=u;q=v;r=r+8|0}do if((t|0)==20){if((!p?(c[i>>2]=e,r=d+40|0,c[r>>2]=(c[r>>2]|0)+1,(c[d+36>>2]|0)==1):0)?(c[o>>2]|0)==2:0){a[h>>0]=1;if(s){t=25;break}else{w=4;break}}if(s)t=25;else w=4}while(0);if((t|0)==25)w=3;c[l>>2]=w;break}if((f|0)==1)c[d+32>>2]=1}while(0);return}function us(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=c[a+4>>2]|0;h=g>>8;if(!(g&1))i=h;else i=c[(c[d>>2]|0)+h>>2]|0;h=c[a>>2]|0;tb[c[(c[h>>2]|0)+24>>2]&31](h,b,d+i|0,g&2|0?e:2,f);return}function vs(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a:do if((b|0)==(c[d+8>>2]|0)){g=d+16|0;h=c[g>>2]|0;if(!h){c[g>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1;break}if((h|0)!=(e|0)){h=d+36|0;c[h>>2]=(c[h>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}h=d+24|0;if((c[h>>2]|0)==2)c[h>>2]=f}else{h=c[b+12>>2]|0;g=b+16+(h<<3)|0;ws(b+16|0,d,e,f);if((h|0)>1){h=d+54|0;i=b+24|0;do{ws(i,d,e,f);if(a[h>>0]|0)break a;i=i+8|0}while(i>>>0<g>>>0)}}while(0);return}function ws(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=c[a+4>>2]|0;g=f>>8;if(!(f&1))h=g;else h=c[(c[d>>2]|0)+g>>2]|0;g=c[a>>2]|0;ec[c[(c[g>>2]|0)+28>>2]&63](g,b,d+h|0,f&2|0?e:2);return}function xs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e;c[f>>2]=c[d>>2];g=Hb[c[(c[a>>2]|0)+16>>2]&31](a,b,f)|0;if(g)c[d>>2]=c[f>>2];i=e;return g&1|0}function ys(a){a=a|0;var b=0;if(!a)b=0;else b=(es(a,2144)|0)!=0;return b&1|0}function zs(){}function As(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=b-d>>>0;e=b-d-(c>>>0>a>>>0|0)>>>0;return (C=e,a-c>>>0|0)|0}function Bs(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;if((e|0)>=20){d=d&255;g=b&3;h=d|d<<8|d<<16|d<<24;i=f&~3;if(g){g=b+4-g|0;while((b|0)<(g|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(i|0)){c[b>>2]=h;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function Cs(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}C=a<<c-32;return 0}function Ds(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=a+c>>>0;return (C=b+d+(e>>>0<a>>>0|0)>>>0,e|0)|0}function Es(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=(b|0)<0?-1:0;return b>>c-32|0}function Fs(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=0;return b>>>c-32|0}function Gs(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return ab(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}while((e|0)>=4){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0;e=e-4|0}}while((e|0)>0){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function Hs(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else Gs(b,c,d)|0;return b|0}function Is(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Js(b){b=b|0;var c=0;c=a[m+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[m+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[m+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[m+(b>>>24)>>0]|0)+24|0}function Ks(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=a&65535;d=b&65535;e=_(d,c)|0;f=a>>>16;a=(e>>>16)+(_(d,f)|0)|0;d=b>>>16;b=_(d,c)|0;return (C=(a>>>16)+(_(d,f)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|e&65535|0)|0}function Ls(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;g=d>>31|((d|0)<0?-1:0)<<1;h=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;i=As(e^a|0,f^b|0,e|0,f|0)|0;b=C;a=g^e;e=h^f;return As((Qs(i,b,As(g^c|0,h^d|0,g|0,h|0)|0,C,0)|0)^a|0,C^e|0,a|0,e|0)|0}function Ms(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,m=0;f=i;i=i+16|0;g=f|0;h=b>>31|((b|0)<0?-1:0)<<1;j=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;k=e>>31|((e|0)<0?-1:0)<<1;l=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;m=As(h^a|0,j^b|0,h|0,j|0)|0;b=C;Qs(m,b,As(k^d|0,l^e|0,k|0,l|0)|0,C,g)|0;l=As(c[g>>2]^h|0,c[g+4>>2]^j|0,h|0,j|0)|0;j=C;i=f;return (C=j,l)|0}function Ns(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;a=c;c=Ks(e,a)|0;f=C;return (C=(_(b,a)|0)+(_(d,e)|0)+f|f&0,c|0|0)|0}function Os(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Qs(a,b,c,d,0)|0}function Ps(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f|0;Qs(a,b,d,e,g)|0;i=f;return (C=c[g+4>>2]|0,c[g>>2]|0)|0}function Qs(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0;g=a;h=b;i=h;j=d;k=e;l=k;if(!i){m=(f|0)!=0;if(!l){if(m){c[f>>2]=(g>>>0)%(j>>>0);c[f+4>>2]=0}n=0;o=(g>>>0)/(j>>>0)>>>0;return (C=n,o)|0}else{if(!m){n=0;o=0;return (C=n,o)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;o=0;return (C=n,o)|0}}m=(l|0)==0;do if(j){if(!m){p=(aa(l|0)|0)-(aa(i|0)|0)|0;if(p>>>0<=31){q=p+1|0;r=31-p|0;s=p-31>>31;t=q;u=g>>>(q>>>0)&s|i<<r;v=i>>>(q>>>0)&s;w=0;x=g<<r;break}if(!f){n=0;o=0;return (C=n,o)|0}c[f>>2]=a|0;c[f+4>>2]=h|b&0;n=0;o=0;return (C=n,o)|0}r=j-1|0;if(r&j|0){s=(aa(j|0)|0)+33-(aa(i|0)|0)|0;q=64-s|0;p=32-s|0;y=p>>31;z=s-32|0;A=z>>31;t=s;u=p-1>>31&i>>>(z>>>0)|(i<<p|g>>>(s>>>0))&A;v=A&i>>>(s>>>0);w=g<<q&y;x=(i<<q|g>>>(z>>>0))&y|g<<p&s-33>>31;break}if(f|0){c[f>>2]=r&g;c[f+4>>2]=0}if((j|0)==1){n=h|b&0;o=a|0|0;return (C=n,o)|0}else{r=Js(j|0)|0;n=i>>>(r>>>0)|0;o=i<<32-r|g>>>(r>>>0)|0;return (C=n,o)|0}}else{if(m){if(f|0){c[f>>2]=(i>>>0)%(j>>>0);c[f+4>>2]=0}n=0;o=(i>>>0)/(j>>>0)>>>0;return (C=n,o)|0}if(!g){if(f|0){c[f>>2]=0;c[f+4>>2]=(i>>>0)%(l>>>0)}n=0;o=(i>>>0)/(l>>>0)>>>0;return (C=n,o)|0}r=l-1|0;if(!(r&l)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=r&i|b&0}n=0;o=i>>>((Js(l|0)|0)>>>0);return (C=n,o)|0}r=(aa(l|0)|0)-(aa(i|0)|0)|0;if(r>>>0<=30){s=r+1|0;p=31-r|0;t=s;u=i<<p|g>>>(s>>>0);v=i>>>(s>>>0);w=0;x=g<<p;break}if(!f){n=0;o=0;return (C=n,o)|0}c[f>>2]=a|0;c[f+4>>2]=h|b&0;n=0;o=0;return (C=n,o)|0}while(0);if(!t){B=x;D=w;E=v;F=u;G=0;H=0}else{b=d|0|0;d=k|e&0;e=Ds(b|0,d|0,-1,-1)|0;k=C;h=x;x=w;w=v;v=u;u=t;t=0;do{a=h;h=x>>>31|h<<1;x=t|x<<1;g=v<<1|a>>>31|0;a=v>>>31|w<<1|0;As(e|0,k|0,g|0,a|0)|0;i=C;l=i>>31|((i|0)<0?-1:0)<<1;t=l&1;v=As(g|0,a|0,l&b|0,(((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1)&d|0)|0;w=C;u=u-1|0}while((u|0)!=0);B=h;D=x;E=w;F=v;G=0;H=t}t=D;D=0;if(f|0){c[f>>2]=F;c[f+4>>2]=E}n=(t|0)>>>31|(B|D)<<1|(D<<1|t>>>31)&0|G;o=(t<<1|0>>>31)&-2|H;return (C=n,o)|0}function Rs(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;tb[a&31](b|0,c|0,d|0,e|0,f|0)}function Ss(a,b,c){a=a|0;b=b|0;c=+c;ub[a&31](b|0,+c)}function Ts(a,b){a=a|0;b=b|0;vb[a&255](b|0)}function Us(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;wb[a&0](b|0,c|0,d|0,+e,f|0,g|0)}function Vs(a,b,c){a=a|0;b=b|0;c=c|0;xb[a&127](b|0,c|0)}function Ws(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return yb[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)|0}function Xs(a,b){a=a|0;b=b|0;return zb[a&127](b|0)|0}function Ys(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;Ab[a&7](b|0,c|0,+d,e|0)}function Zs(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=+d;e=e|0;f=f|0;g=g|0;Bb[a&0](b|0,+c,+d,e|0,f|0,g|0)}function _s(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;Cb[a&0](b|0,+c,d|0,e|0)}function $s(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Db[a&31](b|0,c|0,d|0,e|0)|0}function at(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;Eb[a&15](b|0,+c,d|0)}function bt(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=+g;h=+h;i=+i;j=j|0;k=k|0;l=+l;Fb[a&0](b|0,c|0,d|0,e|0,+f,+g,+h,+i,j|0,k|0,+l)}function ct(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return +Gb[a&15](b|0,c|0,d|0,e|0,f|0)}function dt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Hb[a&31](b|0,c|0,d|0)|0}function et(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;Ib[a&7](b|0,c|0,d|0,e|0,f|0,g|0)}function ft(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return Jb[a&3](b|0,c|0,+d)|0}function gt(a,b){a=a|0;b=b|0;return +Kb[a&7](b|0)}function ht(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Lb[a&3](b|0,c|0,d|0,e|0,f|0,g|0)|0}function it(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;return +Mb[a&3](b|0,c|0,d|0,+e,f|0,g|0)}function jt(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;Nb[a&3](b|0,c|0,+d,e|0,f|0)}function kt(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;return +Ob[a&1](b|0,+c,d|0,e|0)}function lt(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;Pb[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function mt(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;Qb[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function nt(a,b,c){a=a|0;b=b|0;c=c|0;return Rb[a&31](b|0,c|0)|0}function ot(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +Sb[a&15](b|0,c|0,d|0)}function pt(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return +Tb[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function qt(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;Ub[a&1](b|0,c|0,d|0,e|0,+f)}function rt(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return +Vb[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function st(a,b,c){a=a|0;b=b|0;c=+c;return +Wb[a&1](b|0,+c)}function tt(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=+g;h=+h;i=+i;j=+j;k=k|0;l=+l;m=m|0;Xb[a&0](b|0,c|0,d|0,e|0,+f,+g,+h,+i,+j,k|0,+l,m|0)}function ut(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;return +Yb[a&3](b|0,c|0,+d,e|0,f|0)}function vt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return +Zb[a&1](b|0,c|0,d|0,e|0)}function wt(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return _b[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)|0}function xt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;$b[a&7](b|0,c|0,d|0,+e)}function yt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ac[a&63](b|0,c|0,d|0)}function zt(a){a=a|0;bc[a&3]()}function At(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;cc[a&7](b|0,c|0,+d)}function Bt(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=+e;return dc[a&3](b|0,+c,d|0,+e)|0}function Ct(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ec[a&63](b|0,c|0,d|0,e|0)}function Dt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(0)}function Et(a,b){a=a|0;b=+b;ba(1)}function Ft(a){a=a|0;ba(2)}function Gt(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;ba(3)}function Ht(a,b){a=a|0;b=b|0;ba(4)}function It(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;ba(5);return 0}function Jt(a){a=a|0;ba(6);return 0}function Kt(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;ba(7)}function Lt(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;ba(8)}function Mt(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;ba(9)}function Nt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(10);return 0}function Ot(a,b,c){a=a|0;b=+b;c=c|0;ba(11)}function Pt(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;k=+k;ba(12)}function Qt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(13);return 0.0}function Rt(a,b,c){a=a|0;b=b|0;c=c|0;ba(14);return 0}function St(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(15)}function Tt(a,b,c){a=a|0;b=b|0;c=+c;ba(16);return 0}function Ut(a){a=a|0;ba(17);return 0.0}function Vt(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(18);return 0}function Wt(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;ba(19);return 0.0}function Xt(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ba(20)}function Yt(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;ba(21);return 0.0}function Zt(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;ba(22)}function _t(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;ba(23)}function $t(a,b){a=a|0;b=b|0;ba(24);return 0}function au(a,b,c){a=a|0;b=b|0;c=c|0;ba(25);return 0.0}function bu(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;ba(26);return 0.0}function cu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;ba(27)}function du(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;ba(28);return 0.0}function eu(a,b){a=a|0;b=+b;ba(29);return 0.0}function fu(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;k=+k;l=l|0;ba(30)}function gu(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ba(31);return 0.0}function hu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(32);return 0.0}function iu(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;ba(33);return 0}function ju(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;ba(34)}function ku(a,b,c){a=a|0;b=b|0;c=c|0;ba(35)}function lu(){ba(36)}function mu(){qb()}function nu(a,b,c){a=a|0;b=b|0;c=+c;ba(37)}function ou(a,b,c,d){a=a|0;b=+b;c=c|0;d=+d;ba(38);return 0}function pu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(39)}
  108. function Kq(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=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.0,K=0,L=0.0,M=0.0,P=0,S=0.0,T=0.0,U=0,V=0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0.0,qa=0,ra=0,sa=0.0,ta=0.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.0,Sa=0.0,Ta=0.0,Ua=0,Va=0.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,kb=0.0,lb=0.0,mb=0.0,nb=0.0,ob=0.0,pb=0.0,qb=0,rb=0.0,sb=0.0,tb=0.0,ub=0.0,vb=0.0,wb=0.0,xb=0.0,yb=0.0,zb=0.0,Ab=0.0,Bb=0.0,Cb=0.0,Db=0.0,Eb=0.0,Fb=0.0,Gb=0.0,Ib=0.0,Jb=0,Lb=0.0,Mb=0.0,Nb=0.0,Ob=0.0,Pb=0.0,Qb=0.0,Rb=0.0,Sb=0.0,Tb=0.0,Ub=0.0,Vb=0.0,Wb=0.0,Xb=0.0,Yb=0.0,Zb=0,_b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0.0,Pc=0.0,Qc=0.0,Rc=0.0,Sc=0.0,Tc=0.0,Uc=0,Vc=0,Wc=0.0,Xc=0.0,Yc=0.0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0.0,kd=0.0,ld=0.0,md=0.0,nd=0.0,od=0.0,pd=0.0,qd=0.0,rd=0.0,sd=0.0,td=0.0,ud=0.0,vd=0.0,wd=0.0,xd=0.0,yd=0,zd=0.0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0.0,Kd=0.0,Ld=0,Md=0,Nd=0.0,Od=0.0,Pd=0.0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,$d=0,ae=0.0,be=0.0,ce=0.0,de=0.0,ee=0.0,fe=0.0,ge=0,he=0,ie=0.0,je=0.0,ke=0.0,le=0,me=0,ne=0,oe=0,pe=0,qe=0,re=0.0,se=0.0,te=0.0,ue=0.0,ve=0.0,we=0.0,xe=0.0,ye=0.0,ze=0.0,Ae=0,Be=0,Ce=0,De=0,Ee=0,Fe=0,Ge=0,He=0.0,Ie=0.0,Je=0.0,Ke=0;j=i;i=i+688|0;l=j+624|0;m=j+384|0;n=j+380|0;o=j+376|0;p=j+360|0;q=j+344|0;r=j+328|0;s=j+312|0;t=j+296|0;u=j+280|0;v=j+264|0;w=j+128|0;x=j+48|0;y=j+40|0;z=j;A=b+20|0;B=c[A>>2]|0;if(!B){C=c[b+4>>2]|0;D=Hb[c[(c[C>>2]|0)+12>>2]&31](C,c[d+8>>2]|0,c[e+8>>2]|0)|0;c[A>>2]=D;a[b+16>>0]=1;E=D}else E=B;B=h+4|0;c[B>>2]=E;D=c[d+4>>2]|0;C=c[e+4>>2]|0;F=D+4|0;G=c[F>>2]|0;H=C+4|0;I=c[H>>2]|0;if((G|0)==10&(I|0)==10){J=+g[E+752>>2];K=c[D+56>>2]|0;L=+g[D+32+(K<<2)>>2];M=+g[D+32+(((K+2|0)%3|0)<<2)>>2];P=c[C+56>>2]|0;S=+g[C+32+(P<<2)>>2];T=+g[C+32+(((P+2|0)%3|0)<<2)>>2];U=c[d+12>>2]|0;V=c[e+12>>2]|0;W=+g[U+(K<<2)>>2];X=+g[U+16+(K<<2)>>2];Y=+g[U+32+(K<<2)>>2];Z=+g[V+(P<<2)>>2];_=+g[V+16+(P<<2)>>2];$=+g[V+32+(P<<2)>>2];P=V+48|0;K=V+52|0;aa=V+56|0;ba=+g[P>>2]-+g[U+48>>2];ca=+g[K>>2]-+g[U+52>>2];da=+g[aa>>2]-+g[U+56>>2];ea=W*Z+X*_+Y*$;fa=W*ba+X*ca+Y*da;ga=Z*ba+_*ca+$*da;ha=1.0-ea*ea;if(!(ha==0.0)){ia=(fa-ea*ga)/ha;ha=-L;if(!(ia<ha))if(ia>L)ja=L;else ja=ia;else ja=ha}else ja=0.0;ha=ea*ja-ga;ga=-S;if(ha<ga){ia=ea*ga+fa;ka=-L;if(!(ia<ka))if(ia>L){la=L;ma=ga}else{la=ia;ma=ga}else{la=ka;ma=ga}}else if(ha>S){ga=S*ea+fa;fa=-L;if(!(ga<fa))if(ga>L){la=L;ma=S}else{la=ga;ma=S}else{la=fa;ma=S}}else{la=ja;ma=ha}ha=Z*ma;Z=_*ma;_=$*ma;ma=ha+(ba-W*la);ba=Z+(ca-X*la);ca=_+(da-Y*la);la=ca*ca+(ma*ma+ba*ba);da=+O(+la);$=da-M-T;if(!($>J)){do if(la<=1.4210854715202004e-14)if(+N(+Y)>.7071067690849304){M=1.0/+O(+(X*X+Y*Y));g[u>>2]=0.0;ja=-(Y*M);g[u+4>>2]=ja;S=X*M;g[u+8>>2]=S;na=0.0;oa=ja;pa=S;break}else{S=1.0/+O(+(W*W+X*X));ja=-(X*S);g[u>>2]=ja;M=W*S;g[u+4>>2]=M;g[u+8>>2]=0.0;na=ja;oa=M;pa=0.0;break}else{M=-(1.0/da);ja=ma*M;S=ba*M;fa=ca*M;g[u>>2]=ja;g[u+4>>2]=S;g[u+8>>2]=fa;g[u+12>>2]=0.0;na=ja;oa=S;pa=fa}while(0);ca=T*oa+(Z+ +g[K>>2]);Z=T*pa+(_+ +g[aa>>2]);g[v>>2]=T*na+(ha+ +g[P>>2]);g[v+4>>2]=ca;g[v+8>>2]=Z;g[v+12>>2]=0.0}if($<J){$b[c[(c[h>>2]|0)+16>>2]&7](h,u,v,$);qa=c[B>>2]|0}else qa=E;if(!(c[qa+748>>2]|0)){i=j;return}E=c[qa+740>>2]|0;v=c[(c[h+8>>2]|0)+8>>2]|0;u=c[(c[h+12>>2]|0)+8>>2]|0;if((E|0)==(v|0)){lp(qa,E+4|0,u+4|0);i=j;return}else{lp(qa,u+4|0,v+4|0);i=j;return}}v=w+128|0;g[v>>2]=999999984306749440.0;u=c[b+8>>2]|0;qa=c[b+12>>2]|0;c[x>>2]=5944;c[x+4>>2]=0;E=x+8|0;c[E>>2]=1065353216;P=x+12|0;c[P>>2]=0;g[x+16>>2]=0.0;c[x+20>>2]=qa;c[x+24>>2]=u;u=x+28|0;c[u>>2]=D;qa=x+32|0;c[qa>>2]=C;c[x+36>>2]=G;c[x+40>>2]=I;g[x+44>>2]=+Kb[c[(c[D>>2]|0)+48>>2]&7](D);g[x+48>>2]=+Kb[c[(c[C>>2]|0)+48>>2]&7](C);a[x+52>>0]=0;c[x+60>>2]=-1;c[x+72>>2]=1;c[x+76>>2]=1;c[u>>2]=D;c[qa>>2]=C;$=+Kb[c[(c[D>>2]|0)+48>>2]&7](D);J=+Kb[c[(c[C>>2]|0)+48>>2]&7](C);Z=$+J+ +g[(c[A>>2]|0)+752>>2];g[v>>2]=Z*Z;v=d+12|0;d=c[v>>2]|0;c[w>>2]=c[d>>2];c[w+4>>2]=c[d+4>>2];c[w+8>>2]=c[d+8>>2];c[w+12>>2]=c[d+12>>2];qa=w+16|0;u=d+16|0;c[qa>>2]=c[u>>2];c[qa+4>>2]=c[u+4>>2];c[qa+8>>2]=c[u+8>>2];c[qa+12>>2]=c[u+12>>2];u=w+32|0;I=d+32|0;c[u>>2]=c[I>>2];c[u+4>>2]=c[I+4>>2];c[u+8>>2]=c[I+8>>2];c[u+12>>2]=c[I+12>>2];I=w+48|0;G=d+48|0;c[I>>2]=c[G>>2];c[I+4>>2]=c[G+4>>2];c[I+8>>2]=c[G+8>>2];c[I+12>>2]=c[G+12>>2];G=w+64|0;d=e+12|0;e=c[d>>2]|0;c[G>>2]=c[e>>2];c[G+4>>2]=c[e+4>>2];c[G+8>>2]=c[e+8>>2];c[G+12>>2]=c[e+12>>2];aa=w+80|0;K=e+16|0;c[aa>>2]=c[K>>2];c[aa+4>>2]=c[K+4>>2];c[aa+8>>2]=c[K+8>>2];c[aa+12>>2]=c[K+12>>2];K=w+96|0;U=e+32|0;c[K>>2]=c[U>>2];c[K+4>>2]=c[U+4>>2];c[K+8>>2]=c[U+8>>2];c[K+12>>2]=c[U+12>>2];U=w+112|0;V=e+48|0;c[U>>2]=c[V>>2];c[U+4>>2]=c[V+4>>2];c[U+8>>2]=c[V+8>>2];c[U+12>>2]=c[V+12>>2];V=c[F>>2]|0;if((V|0)<7?(F=c[H>>2]|0,(F|0)<7):0){c[y>>2]=6476;if(!V){ra=F;sa=0.0}else{Z=+Kb[c[(c[D>>2]|0)+48>>2]&7](D);ra=c[H>>2]|0;sa=Z}if(!ra)ta=0.0;else ta=+Kb[c[(c[C>>2]|0)+48>>2]&7](C);c[z>>2]=6504;c[z+4>>2]=h;g[z+24>>2]=sa;g[z+28>>2]=ta;ra=z+36|0;a[ra>>0]=0;F=D+56|0;V=c[F>>2]|0;a:do if(V|0){e=C+56|0;ua=c[e>>2]|0;do if(!ua){if((c[H>>2]|0)!=1)break a;va=l+16|0;a[va>>0]=1;wa=l+12|0;c[wa>>2]=0;xa=l+4|0;c[xa>>2]=0;ya=l+8|0;c[ya>>2]=0;za=c[d>>2]|0;Aa=C+60|0;ta=+g[Aa>>2];sa=+g[Aa+4>>2];Z=+g[Aa+8>>2];J=ta*+g[za>>2]+sa*+g[za+4>>2]+Z*+g[za+8>>2]+ +g[za+48>>2];$=ta*+g[za+16>>2]+sa*+g[za+20>>2]+Z*+g[za+24>>2]+ +g[za+52>>2];ca=ta*+g[za+32>>2]+sa*+g[za+36>>2]+Z*+g[za+40>>2]+ +g[za+56>>2];c[4350]=(c[4350]|0)+1;za=Tr(35)|0;if(!za)Ba=0;else{Ca=za+4+15&-16;c[Ca+-4>>2]=za;Ba=Ca}Ca=c[wa>>2]|0;if(!Ca)Da=0;else{c[4351]=(c[4351]|0)+1;Ur(c[Ca+-4>>2]|0);Ca=c[xa>>2]|0;c[wa>>2]=0;Da=Ca}a[va>>0]=1;c[wa>>2]=Ba;c[ya>>2]=1;g[Ba+(Da<<4)>>2]=J;g[Ba+(Da<<4)+4>>2]=$;g[Ba+(Da<<4)+8>>2]=ca;g[Ba+(Da<<4)+12>>2]=0.0;Ca=(c[xa>>2]|0)+1|0;c[xa>>2]=Ca;za=c[d>>2]|0;ca=+g[Aa+16>>2];$=+g[Aa+20>>2];J=+g[Aa+24>>2];Z=ca*+g[za>>2]+$*+g[za+4>>2]+J*+g[za+8>>2]+ +g[za+48>>2];sa=ca*+g[za+16>>2]+$*+g[za+20>>2]+J*+g[za+24>>2]+ +g[za+52>>2];ta=ca*+g[za+32>>2]+$*+g[za+36>>2]+J*+g[za+40>>2]+ +g[za+56>>2];if((Ca|0)==(c[ya>>2]|0)?(za=Ca|0?Ca<<1:1,(Ca|0)<(za|0)):0){if(!za){Ea=0;Fa=Ca}else{c[4350]=(c[4350]|0)+1;Ga=Tr((za<<4|3)+16|0)|0;if(!Ga)Ha=0;else{Ia=Ga+4+15&-16;c[Ia+-4>>2]=Ga;Ha=Ia}Ea=Ha;Fa=c[xa>>2]|0}if((Fa|0)>0){Ia=0;do{Ga=Ea+(Ia<<4)|0;Ja=(c[wa>>2]|0)+(Ia<<4)|0;c[Ga>>2]=c[Ja>>2];c[Ga+4>>2]=c[Ja+4>>2];c[Ga+8>>2]=c[Ja+8>>2];c[Ga+12>>2]=c[Ja+12>>2];Ia=Ia+1|0}while((Ia|0)!=(Fa|0))}Ia=c[wa>>2]|0;if(Ia|0){if(a[va>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[Ia+-4>>2]|0)}c[wa>>2]=0}a[va>>0]=1;c[wa>>2]=Ea;c[ya>>2]=za;Ka=c[xa>>2]|0}else Ka=Ca;Ia=c[wa>>2]|0;g[Ia+(Ka<<4)>>2]=Z;g[Ia+(Ka<<4)+4>>2]=sa;g[Ia+(Ka<<4)+8>>2]=ta;g[Ia+(Ka<<4)+12>>2]=0.0;Ia=(c[xa>>2]|0)+1|0;c[xa>>2]=Ia;Ja=c[d>>2]|0;J=+g[Aa+32>>2];$=+g[Aa+36>>2];ca=+g[Aa+40>>2];ha=J*+g[Ja>>2]+$*+g[Ja+4>>2]+ca*+g[Ja+8>>2]+ +g[Ja+48>>2];na=J*+g[Ja+16>>2]+$*+g[Ja+20>>2]+ca*+g[Ja+24>>2]+ +g[Ja+52>>2];T=J*+g[Ja+32>>2]+$*+g[Ja+36>>2]+ca*+g[Ja+40>>2]+ +g[Ja+56>>2];if((Ia|0)==(c[ya>>2]|0)?(Ja=Ia|0?Ia<<1:1,(Ia|0)<(Ja|0)):0){if(!Ja){La=0;Ma=Ia}else{c[4350]=(c[4350]|0)+1;Ga=Tr((Ja<<4|3)+16|0)|0;if(!Ga)Na=0;else{Oa=Ga+4+15&-16;c[Oa+-4>>2]=Ga;Na=Oa}La=Na;Ma=c[xa>>2]|0}if((Ma|0)>0){Oa=0;do{Ga=La+(Oa<<4)|0;Pa=(c[wa>>2]|0)+(Oa<<4)|0;c[Ga>>2]=c[Pa>>2];c[Ga+4>>2]=c[Pa+4>>2];c[Ga+8>>2]=c[Pa+8>>2];c[Ga+12>>2]=c[Pa+12>>2];Oa=Oa+1|0}while((Oa|0)!=(Ma|0))}Oa=c[wa>>2]|0;if(Oa|0){if(a[va>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[Oa+-4>>2]|0)}c[wa>>2]=0}a[va>>0]=1;c[wa>>2]=La;c[ya>>2]=Ja;Qa=c[xa>>2]|0}else Qa=Ia;Oa=c[wa>>2]|0;g[Oa+(Qa<<4)>>2]=ha;g[Oa+(Qa<<4)+4>>2]=na;g[Oa+(Qa<<4)+8>>2]=T;g[Oa+(Qa<<4)+12>>2]=0.0;c[xa>>2]=(c[xa>>2]|0)+1;ta=+g[(c[A>>2]|0)+752>>2];jp(x,w,y,c[f+20>>2]|0,0);sa=+g[x+4>>2];Z=+g[E>>2];ca=+g[P>>2];$=sa*sa+Z*Z+ca*ca;if($>1.1920928955078125e-07){J=1.0/$;g[m>>2]=sa*J;g[m+4>>2]=Z*J;g[m+8>>2]=ca*J;g[m+12>>2]=0.0;J=+g[x+56>>2];ca=+Kb[c[(c[D>>2]|0)+48>>2]&7](D);Z=J-ca-+Kb[c[(c[C>>2]|0)+48>>2]&7](C);vr(m,c[F>>2]|0,c[v>>2]|0,l,Z-ta,ta,h)}do if(a[b+16>>0]|0?(Oa=c[B>>2]|0,c[Oa+748>>2]|0):0){Aa=c[Oa+740>>2]|0;Ca=c[(c[h+8>>2]|0)+8>>2]|0;za=c[(c[h+12>>2]|0)+8>>2]|0;if((Aa|0)==(Ca|0)){lp(Oa,Aa+4|0,za+4|0);break}else{lp(Oa,za+4|0,Ca+4|0);break}}while(0);xa=c[wa>>2]|0;if(xa|0){if(a[va>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[xa+-4>>2]|0)}c[wa>>2]=0}}else{T=+g[(c[A>>2]|0)+752>>2];b:do if(!(a[f+24>>0]|0)){jp(x,w,z,c[f+20>>2]|0,0);na=+g[z+32>>2];if(na<0.0&(a[ra>>0]|0)!=0){Ra=na;Sa=+g[z+8>>2];Ta=+g[z+16>>2];Ua=c[z+20>>2]|0;Va=+g[z+12>>2];Wa=111}}else{xa=c[v>>2]|0;Ia=c[d>>2]|0;c[4349]=(c[4349]|0)+1;na=+g[V+64>>2];ha=+g[V+68>>2];Ja=xa+4|0;ta=+g[Ja>>2];Z=+g[V+72>>2];ya=xa+8|0;ca=+g[ya>>2];Ca=xa+16|0;J=+g[Ca>>2];za=xa+20|0;sa=+g[za>>2];Oa=xa+24|0;$=+g[Oa>>2];Aa=xa+32|0;_=+g[Aa>>2];Pa=xa+36|0;pa=+g[Pa>>2];Ga=xa+40|0;oa=+g[Ga>>2];ba=+g[ua+64>>2];ma=+g[ua+68>>2];Xa=Ia+4|0;da=+g[ua+72>>2];Ya=Ia+8|0;Za=Ia+16|0;_a=Ia+20|0;$a=Ia+24|0;ab=Ia+32|0;bb=Ia+36|0;cb=Ia+40|0;W=na*+g[xa>>2]+ha*ta+Z*ca+ +g[xa+48>>2]-(ba*+g[Ia>>2]+ma*+g[Xa>>2]+da*+g[Ya>>2]+ +g[Ia+48>>2]);X=na*J+ha*sa+Z*$+ +g[xa+52>>2]-(ba*+g[Za>>2]+ma*+g[_a>>2]+da*+g[$a>>2]+ +g[Ia+52>>2]);Y=na*_+ha*pa+Z*oa+ +g[xa+56>>2]-(ba*+g[ab>>2]+ma*+g[bb>>2]+da*+g[cb>>2]+ +g[Ia+56>>2]);db=c[V+28>>2]|0;c:do if((db|0)>0){eb=V+36|0;fb=t+4|0;gb=t+8|0;hb=t+12|0;da=ta;ma=ca;ba=J;Z=sa;ha=$;na=_;la=pa;fa=oa;S=0.0;ja=3402823466385288598117041.0e14;ib=0;M=0.0;ga=0.0;L=0.0;while(1){jb=c[eb>>2]|0;ea=+g[jb+(ib*36|0)+20>>2];ka=+g[jb+(ib*36|0)+24>>2];ia=+g[jb+(ib*36|0)+28>>2];kb=ea*+g[xa>>2]+ka*da+ia*ma;lb=ea*ba+ka*Z+ia*ha;mb=ea*na+ka*la+ia*fa;g[t>>2]=kb;g[fb>>2]=lb;g[gb>>2]=mb;g[hb>>2]=0.0;if(W*kb+X*lb+Y*mb<0.0){ia=-kb;g[t>>2]=ia;ka=-lb;g[fb>>2]=ka;ea=-mb;g[gb>>2]=ea;nb=ia;ob=ka;pb=ea}else{nb=kb;ob=lb;pb=mb}c[4347]=(c[4347]|0)+1;if(ur(xa,Ia,W,X,Y,nb,ob,pb,V,ua,ja)|0){c[4348]=(c[4348]|0)+1;kr(V,xa,t,l,m,p,q);kr(ua,Ia,t,n,o,r,s);mb=+g[m>>2];lb=+g[n>>2];do if(mb<lb){qb=0;rb=S}else{kb=+g[o>>2];ea=+g[l>>2];if(kb<ea){qb=0;rb=S;break}ka=mb-lb;ia=kb-ea;qb=1;rb=ka<ia?ka:ia}while(0);if(!qb)break;if(rb<ja){sb=rb;tb=nb;ub=pb;vb=ob}else{sb=ja;tb=M;ub=ga;vb=L}wb=rb;xb=sb;yb=tb;zb=ub;Ab=vb}else{wb=S;xb=ja;yb=M;zb=ga;Ab=L}jb=ib+1|0;if((jb|0)>=(db|0)){Bb=xb;Cb=yb;Db=zb;Eb=Ab;break c}da=+g[Ja>>2];ma=+g[ya>>2];ba=+g[Ca>>2];Z=+g[za>>2];ha=+g[Oa>>2];na=+g[Aa>>2];la=+g[Pa>>2];fa=+g[Ga>>2];S=wb;ja=xb;ib=jb;M=yb;ga=zb;L=Ab}break b}else{Bb=3402823466385288598117041.0e14;Cb=0.0;Db=0.0;Eb=0.0}while(0);db=c[ua+28>>2]|0;d:do if((db|0)>0){ib=ua+36|0;gb=t+4|0;fb=t+8|0;hb=t+12|0;oa=0.0;pa=Bb;eb=0;_=Cb;$=Db;sa=Eb;while(1){jb=c[ib>>2]|0;J=+g[jb+(eb*36|0)+20>>2];ca=+g[jb+(eb*36|0)+24>>2];ta=+g[jb+(eb*36|0)+28>>2];L=J*+g[Ia>>2]+ca*+g[Xa>>2]+ta*+g[Ya>>2];ga=J*+g[Za>>2]+ca*+g[_a>>2]+ta*+g[$a>>2];M=J*+g[ab>>2]+ca*+g[bb>>2]+ta*+g[cb>>2];g[t>>2]=L;g[gb>>2]=ga;g[fb>>2]=M;g[hb>>2]=0.0;if(W*L+X*ga+Y*M<0.0){ta=-L;g[t>>2]=ta;ca=-ga;g[gb>>2]=ca;J=-M;g[fb>>2]=J;Fb=ta;Gb=ca;Ib=J}else{Fb=L;Gb=ga;Ib=M}c[4347]=(c[4347]|0)+1;if(ur(xa,Ia,W,X,Y,Fb,Gb,Ib,V,ua,pa)|0){c[4348]=(c[4348]|0)+1;kr(V,xa,t,l,m,p,q);kr(ua,Ia,t,n,o,r,s);M=+g[m>>2];ga=+g[n>>2];do if(M<ga){Jb=0;Lb=oa}else{L=+g[o>>2];J=+g[l>>2];if(L<J){Jb=0;Lb=oa;break}ca=M-ga;ta=L-J;Jb=1;Lb=ca<ta?ca:ta}while(0);if(!Jb)break;if(Lb<pa){Mb=Lb;Nb=Fb;Ob=Ib;Pb=Gb}else{Mb=pa;Nb=_;Ob=$;Pb=sa}Qb=Lb;Rb=Mb;Sb=Nb;Tb=Ob;Ub=Pb}else{Qb=oa;Rb=pa;Sb=_;Tb=$;Ub=sa}eb=eb+1|0;if((eb|0)>=(db|0)){Vb=Rb;Wb=Sb;Xb=Tb;Yb=Ub;break d}else{oa=Qb;pa=Rb;_=Sb;$=Tb;sa=Ub}}break b}else{Vb=Bb;Wb=Cb;Xb=Db;Yb=Eb}while(0);db=V+48|0;eb=c[db>>2]|0;e:do if((eb|0)>0){fb=V+56|0;gb=ua+48|0;hb=ua+56|0;ib=t+4|0;jb=t+8|0;Zb=t+12|0;_b=q+4|0;ac=q+8|0;bc=r+4|0;cc=r+8|0;dc=p+4|0;ec=p+8|0;fc=s+4|0;gc=s+8|0;hc=eb;ic=c[gb>>2]|0;sa=0.0;$=Vb;jc=0;kc=-1;lc=-1;_=Wb;pa=Xb;oa=Yb;mc=0;nc=0;oc=0;pc=0;qc=0;rc=0;sc=0;tc=0;uc=0;vc=0;wc=0;xc=0;ga=0.0;M=0.0;ta=0.0;ca=0.0;J=0.0;L=0.0;f:while(1){yc=c[fb>>2]|0;ja=+g[yc+(jc<<4)>>2];S=+g[yc+(jc<<4)+4>>2];fa=+g[yc+(jc<<4)+8>>2];la=ja*+g[xa>>2]+S*+g[Ja>>2]+fa*+g[ya>>2];na=ja*+g[Ca>>2]+S*+g[za>>2]+fa*+g[Oa>>2];ha=ja*+g[Aa>>2]+S*+g[Pa>>2]+fa*+g[Ga>>2];if((ic|0)>0){fa=sa;S=$;yc=0;zc=kc;Ac=lc;ja=_;Z=pa;ba=oa;Bc=mc;Cc=nc;Dc=oc;Ec=pc;Fc=qc;Gc=rc;Hc=sc;Ic=tc;Jc=uc;Kc=vc;Lc=wc;Mc=xc;ma=ga;da=M;lb=ta;mb=ca;ia=J;ka=L;while(1){Nc=c[hb>>2]|0;ea=+g[Nc+(yc<<4)>>2];kb=+g[Nc+(yc<<4)+4>>2];Oc=+g[Nc+(yc<<4)+8>>2];Pc=ea*+g[Ia>>2]+kb*+g[Xa>>2]+Oc*+g[Ya>>2];Qc=ea*+g[Za>>2]+kb*+g[_a>>2]+Oc*+g[$a>>2];Rc=ea*+g[ab>>2]+kb*+g[bb>>2]+Oc*+g[cb>>2];Oc=na*Rc-ha*Qc;kb=ha*Pc-la*Rc;ea=la*Qc-na*Pc;g[t>>2]=Oc;g[ib>>2]=kb;g[jb>>2]=ea;g[Zb>>2]=0.0;do if(!(+N(+Oc)>1.0e-06)){if(+N(+kb)>1.0e-06){Wa=75;break}if(!(+N(+ea)>1.0e-06)){Sc=fa;Tc=S;Uc=zc;Vc=Ac;Wc=ja;Xc=Z;Yc=ba;Zc=Bc;_c=Cc;$c=Dc;ad=Ec;bd=Fc;cd=Gc;dd=Hc;ed=Ic;fd=Jc;gd=Kc;hd=Lc;id=Mc;jd=ma;kd=da;ld=lb;md=mb;nd=ia;od=ka}else Wa=75}else Wa=75;while(0);do if((Wa|0)==75){Wa=0;pd=1.0/+O(+(Oc*Oc+kb*kb+ea*ea));qd=Oc*pd;g[t>>2]=qd;rd=kb*pd;g[ib>>2]=rd;sd=ea*pd;g[jb>>2]=sd;if(qd*W+rd*X+Y*sd<0.0){pd=-qd;g[t>>2]=pd;td=-rd;g[ib>>2]=td;ud=-sd;g[jb>>2]=ud;vd=pd;wd=td;xd=ud}else{vd=qd;wd=rd;xd=sd}c[4347]=(c[4347]|0)+1;if(!(ur(xa,Ia,W,X,Y,vd,wd,xd,V,ua,S)|0)){Sc=fa;Tc=S;Uc=zc;Vc=Ac;Wc=ja;Xc=Z;Yc=ba;Zc=Bc;_c=Cc;$c=Dc;ad=Ec;bd=Fc;cd=Gc;dd=Hc;ed=Ic;fd=Jc;gd=Kc;hd=Lc;id=Mc;jd=ma;kd=da;ld=lb;md=mb;nd=ia;od=ka;break}c[4348]=(c[4348]|0)+1;kr(V,xa,t,l,m,p,q);kr(ua,Ia,t,n,o,r,s);sd=+g[m>>2];rd=+g[n>>2];do if(!(sd<rd)){qd=+g[o>>2];ud=+g[l>>2];if(qd<ud){yd=0;zd=fa;Ad=Bc;Bd=Cc;Cd=Dc;Dd=Ec;Ed=Fc;Fd=Gc;break}td=sd-rd;pd=qd-ud;if(td<pd){yd=1;zd=td;Ad=c[q>>2]|0;Bd=c[_b>>2]|0;Cd=c[ac>>2]|0;Dd=c[r>>2]|0;Ed=c[bc>>2]|0;Fd=c[cc>>2]|0;break}else{yd=1;zd=pd;Ad=c[p>>2]|0;Bd=c[dc>>2]|0;Cd=c[ec>>2]|0;Dd=c[s>>2]|0;Ed=c[fc>>2]|0;Fd=c[gc>>2]|0;break}}else{yd=0;zd=fa;Ad=Bc;Bd=Cc;Cd=Dc;Dd=Ec;Ed=Fc;Fd=Gc}while(0);if(!yd)break f;if(!(zd<S)){Sc=zd;Tc=S;Uc=zc;Vc=Ac;Wc=ja;Xc=Z;Yc=ba;Zc=Ad;_c=Bd;$c=Cd;ad=Dd;bd=Ed;cd=Fd;dd=Hc;ed=Ic;fd=Jc;gd=Kc;hd=Lc;id=Mc;jd=ma;kd=da;ld=lb;md=mb;nd=ia;od=ka;break}Sc=zd;Tc=zd;Uc=jc;Vc=yc;Wc=vd;Xc=xd;Yc=wd;Zc=Ad;_c=Bd;$c=Cd;ad=Dd;bd=Ed;cd=Fd;dd=Ad;ed=Bd;fd=Cd;gd=Dd;hd=Ed;id=Fd;jd=la;kd=na;ld=ha;md=Pc;nd=Qc;od=Rc}while(0);yc=yc+1|0;Gd=c[gb>>2]|0;if((yc|0)>=(Gd|0))break;else{fa=Sc;S=Tc;zc=Uc;Ac=Vc;ja=Wc;Z=Xc;ba=Yc;Bc=Zc;Cc=_c;Dc=$c;Ec=ad;Fc=bd;Gc=cd;Hc=dd;Ic=ed;Jc=fd;Kc=gd;Lc=hd;Mc=id;ma=jd;da=kd;lb=ld;mb=md;ia=nd;ka=od}}Hd=Gd;Id=c[db>>2]|0;Jd=Sc;Kd=Tc;Ld=Uc;Md=Vc;Nd=Wc;Od=Xc;Pd=Yc;Qd=Zc;Rd=_c;Sd=$c;Td=ad;Ud=bd;Vd=cd;Wd=dd;Xd=ed;Yd=fd;Zd=gd;_d=hd;$d=id;ae=jd;be=kd;ce=ld;de=md;ee=nd;fe=od}else{Hd=ic;Id=hc;Jd=sa;Kd=$;Ld=kc;Md=lc;Nd=_;Od=pa;Pd=oa;Qd=mc;Rd=nc;Sd=oc;Td=pc;Ud=qc;Vd=rc;Wd=sc;Xd=tc;Yd=uc;Zd=vc;_d=wc;$d=xc;ae=ga;be=M;ce=ta;de=ca;ee=J;fe=L}jc=jc+1|0;if((jc|0)>=(Id|0)){ge=Ld;he=Md;ie=Nd;je=Od;ke=Pd;le=Wd;me=Xd;ne=Yd;oe=Zd;pe=_d;qe=$d;re=ae;se=be;te=ce;ue=de;ve=ee;we=fe;break e}else{hc=Id;ic=Hd;sa=Jd;$=Kd;kc=Ld;lc=Md;_=Nd;pa=Od;oa=Pd;mc=Qd;nc=Rd;oc=Sd;pc=Td;qc=Ud;rc=Vd;sc=Wd;tc=Xd;uc=Yd;vc=Zd;wc=_d;xc=$d;ga=ae;M=be;ta=ce;ca=de;J=ee;L=fe}}break b}else{ge=-1;he=-1;ie=Wb;je=Xb;ke=Yb;le=0;me=0;ne=0;oe=0;pe=0;qe=0;re=0.0;se=0.0;te=0.0;ue=0.0;ve=0.0;we=0.0}while(0);if((he|ge|0)>-1){L=(c[k>>2]=oe,+g[k>>2]);J=L-(c[k>>2]=le,+g[k>>2]);ca=(c[k>>2]=pe,+g[k>>2]);ta=ca-(c[k>>2]=me,+g[k>>2]);M=(c[k>>2]=qe,+g[k>>2]);ga=M-(c[k>>2]=ne,+g[k>>2]);oa=ue*re+ve*se+we*te;pa=J*re+ta*se+ga*te;_=J*ue+ta*ve+ga*we;$=1.0-oa*oa;do if($==0.0)xe=0.0;else{sa=(pa-_*oa)/$;if(sa<-1000000015047466219876688.0e6){xe=-1000000015047466219876688.0e6;break}if(!(sa>1000000015047466219876688.0e6)){xe=sa;break}xe=1000000015047466219876688.0e6}while(0);$=oa*xe-_;do if($<-1000000015047466219876688.0e6){sa=pa-oa*1000000015047466219876688.0e6;if(sa<-1000000015047466219876688.0e6){ye=-1000000015047466219876688.0e6;ze=-1000000015047466219876688.0e6;break}if(!(sa>1000000015047466219876688.0e6)){ye=sa;ze=-1000000015047466219876688.0e6;break}ye=1000000015047466219876688.0e6;ze=-1000000015047466219876688.0e6}else{if(!($>1000000015047466219876688.0e6)){ye=xe;ze=$;break}sa=pa+oa*1000000015047466219876688.0e6;if(sa<-1000000015047466219876688.0e6){ye=-1000000015047466219876688.0e6;ze=1000000015047466219876688.0e6;break}if(!(sa>1000000015047466219876688.0e6)){ye=sa;ze=1000000015047466219876688.0e6;break}ye=1000000015047466219876688.0e6;ze=1000000015047466219876688.0e6}while(0);oa=ue*ze;pa=ve*ze;$=we*ze;_=oa+(J-re*ye);sa=pa+(ta-se*ye);ka=$+(ga-te*ye);g[l>>2]=_;db=l+4|0;g[db>>2]=sa;Ia=l+8|0;g[Ia>>2]=ka;g[l+12>>2]=0.0;ia=_*_+sa*sa+ka*ka;if(ia>1.1920928955078125e-07){mb=+O(+ia);ia=1.0/mb;lb=_*ia;g[l>>2]=lb;_=ia*sa;g[db>>2]=_;sa=ia*ka;g[Ia>>2]=sa;if(lb*W+_*X+sa*Y<0.0){g[l>>2]=-lb;g[db>>2]=-_;g[Ia>>2]=-sa}g[m>>2]=L+oa;g[m+4>>2]=ca+pa;g[m+8>>2]=M+$;g[m+12>>2]=0.0;$b[c[(c[h>>2]|0)+16>>2]&7](h,l,m,-mb)}}if(W*ie+X*ke+Y*je<0.0){Ra=-1000000015047466219876688.0e6;Sa=-ie;Ta=-je;Ua=0;Va=-ke;Wa=111}else{Ra=-1000000015047466219876688.0e6;Sa=ie;Ta=je;Ua=0;Va=ke;Wa=111}}while(0);if((Wa|0)==111){wa=c[F>>2]|0;va=c[e>>2]|0;Ia=c[v>>2]|0;db=c[d>>2]|0;mb=Ra-T;$=1.0/+O(+(Sa*Sa+Va*Va+Ta*Ta));pa=Sa*$;oa=Va*$;sa=Ta*$;g[l>>2]=pa;g[l+4>>2]=oa;g[l+8>>2]=sa;c[l+12>>2]=Ua;xa=c[va+28>>2]|0;cb=c[va+36>>2]|0;if((xa|0)>0){$=+g[db>>2];_=+g[db+4>>2];lb=+g[db+8>>2];ka=+g[db+16>>2];ia=+g[db+20>>2];da=+g[db+24>>2];ma=+g[db+32>>2];ba=+g[db+36>>2];Z=+g[db+40>>2];bb=-1;ja=-3402823466385288598117041.0e14;ab=0;while(1){S=+g[cb+(ab*36|0)+20>>2];fa=+g[cb+(ab*36|0)+24>>2];ha=+g[cb+(ab*36|0)+28>>2];na=(S*$+fa*_+ha*lb)*pa+(S*ka+fa*ia+ha*da)*oa+(S*ma+fa*ba+ha*Z)*sa;$a=na>ja;_a=$a?ab:bb;ab=ab+1|0;if((ab|0)==(xa|0)){Ae=_a;break}else{bb=_a;ja=$a?na:ja}}}else Ae=-1;bb=m+16|0;a[bb>>0]=1;xa=m+12|0;c[xa>>2]=0;ab=m+4|0;c[ab>>2]=0;$a=m+8|0;c[$a>>2]=0;_a=c[cb+(Ae*36|0)+4>>2]|0;g:do if((_a|0)>0){Za=cb+(Ae*36|0)+12|0;Ya=va+16|0;Xa=db+4|0;Ga=db+8|0;Pa=db+16|0;Aa=db+20|0;Oa=db+24|0;za=db+32|0;Ca=db+36|0;ya=db+40|0;Ja=db+48|0;eb=db+52|0;xc=db+56|0;wc=0;vc=0;uc=0;while(1){tc=c[(c[Za>>2]|0)+(uc<<2)>>2]|0;sc=c[Ya>>2]|0;ja=+g[sc+(tc<<4)>>2];sa=+g[sc+(tc<<4)+4>>2];Z=+g[sc+(tc<<4)+8>>2];ba=ja*+g[db>>2]+sa*+g[Xa>>2]+Z*+g[Ga>>2]+ +g[Ja>>2];ma=ja*+g[Pa>>2]+sa*+g[Aa>>2]+Z*+g[Oa>>2]+ +g[eb>>2];oa=ja*+g[za>>2]+sa*+g[Ca>>2]+Z*+g[ya>>2]+ +g[xc>>2];if((wc|0)==(vc|0)){tc=vc|0?vc<<1:1;if((vc|0)<(tc|0)){if(!tc){Be=0;Ce=vc}else{c[4350]=(c[4350]|0)+1;sc=Tr((tc<<4|3)+16|0)|0;if(!sc)De=0;else{rc=sc+4+15&-16;c[rc+-4>>2]=sc;De=rc}Be=De;Ce=c[ab>>2]|0}rc=c[xa>>2]|0;if((Ce|0)<=0)if(!rc)Ee=Ce;else Wa=126;else{sc=0;do{qc=Be+(sc<<4)|0;pc=rc+(sc<<4)|0;c[qc>>2]=c[pc>>2];c[qc+4>>2]=c[pc+4>>2];c[qc+8>>2]=c[pc+8>>2];c[qc+12>>2]=c[pc+12>>2];sc=sc+1|0}while((sc|0)!=(Ce|0));Wa=126}if((Wa|0)==126){Wa=0;if(!(a[bb>>0]|0))Fe=Ce;else{c[4351]=(c[4351]|0)+1;Ur(c[rc+-4>>2]|0);Fe=c[ab>>2]|0}c[xa>>2]=0;Ee=Fe}a[bb>>0]=1;c[xa>>2]=Be;c[$a>>2]=tc;Ge=Ee}else Ge=vc}else Ge=wc;sc=c[xa>>2]|0;g[sc+(Ge<<4)>>2]=ba;g[sc+(Ge<<4)+4>>2]=ma;g[sc+(Ge<<4)+8>>2]=oa;g[sc+(Ge<<4)+12>>2]=0.0;sc=(c[ab>>2]|0)+1|0;c[ab>>2]=sc;pc=uc+1|0;if((pc|0)>=(_a|0))break g;wc=sc;vc=c[$a>>2]|0;uc=pc}}while(0);if((Ae|0)>-1)vr(l,wa,Ia,m,mb,T,h);$a=c[xa>>2]|0;if($a|0){if(a[bb>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[$a+-4>>2]|0)}c[xa>>2]=0}}if(a[b+16>>0]|0?($a=c[B>>2]|0,c[$a+748>>2]|0):0){_a=c[$a+740>>2]|0;ab=c[(c[h+8>>2]|0)+8>>2]|0;db=c[(c[h+12>>2]|0)+8>>2]|0;if((_a|0)==(ab|0)){lp($a,_a+4|0,db+4|0);break}else{lp($a,db+4|0,ab+4|0);break}}}while(0);i=j;return}while(0)}Ae=f+20|0;jp(x,w,h,c[Ae>>2]|0,0);f=b+28|0;if((c[f>>2]|0?(c[(c[B>>2]|0)+748>>2]|0)<(c[b+32>>2]|0):0)?(Ta=+g[x+4>>2],Va=+g[E>>2],Sa=+g[P>>2],Ra=Ta*Ta+Va*Va+Sa*Sa,Ra>1.1920928955078125e-07):0){ke=1.0/Ra;Ra=Ta*ke;Ta=Va*ke;Va=Sa*ke;if(+N(+Va)>.7071067690849304){ke=1.0/+O(+(Va*Va+Ta*Ta));He=0.0;Ie=Ta*ke;Je=-(Va*ke)}else{ke=1.0/+O(+(Ra*Ra+Ta*Ta));He=-(Ta*ke);Ie=0.0;Je=Ra*ke}ke=+Kb[c[(c[D>>2]|0)+16>>2]&7](D);Sa=+Kb[c[(c[C>>2]|0)+16>>2]&7](C);C=ke<Sa;je=.019999999552965164/(C?ke:Sa);if(C){c[l>>2]=c[w>>2];c[l+4>>2]=c[w+4>>2];c[l+8>>2]=c[w+8>>2];c[l+12>>2]=c[w+12>>2];D=l+16|0;c[D>>2]=c[qa>>2];c[D+4>>2]=c[qa+4>>2];c[D+8>>2]=c[qa+8>>2];c[D+12>>2]=c[qa+12>>2];D=l+32|0;c[D>>2]=c[u>>2];c[D+4>>2]=c[u+4>>2];c[D+8>>2]=c[u+8>>2];c[D+12>>2]=c[u+12>>2];D=l+48|0;c[D>>2]=c[I>>2];c[D+4>>2]=c[I+4>>2];c[D+8>>2]=c[I+8>>2];c[D+12>>2]=c[I+12>>2]}else{c[l>>2]=c[G>>2];c[l+4>>2]=c[G+4>>2];c[l+8>>2]=c[G+8>>2];c[l+12>>2]=c[G+12>>2];D=l+16|0;c[D>>2]=c[aa>>2];c[D+4>>2]=c[aa+4>>2];c[D+8>>2]=c[aa+8>>2];c[D+12>>2]=c[aa+12>>2];D=l+32|0;c[D>>2]=c[K>>2];c[D+4>>2]=c[K+4>>2];c[D+8>>2]=c[K+8>>2];c[D+12>>2]=c[K+12>>2];D=l+48|0;c[D>>2]=c[U>>2];c[D+4>>2]=c[U+4>>2];c[D+8>>2]=c[U+8>>2];c[D+12>>2]=c[U+12>>2]}D=c[f>>2]|0;if((D|0)>0){Sa=He*He+Je*Je+Ie*Ie;P=Sa>1.1920928955078125e-07;ke=(je>.39269909262657166?.39269909262657166:je)*.5;je=Va*Va+(Ra*Ra+Ta*Ta);E=w+4|0;Ge=w+8|0;Ee=w+12|0;Be=w+16|0;Fe=w+20|0;Ce=w+24|0;Wa=w+28|0;De=w+32|0;Ua=w+36|0;F=w+40|0;ne=w+44|0;qe=m+32|0;me=m+36|0;pe=m+52|0;le=m+68|0;oe=m+84|0;ge=m+100|0;he=m+116|0;$d=m+132|0;_d=m+148|0;Zd=m+164|0;Yd=m+180|0;Xd=l+16|0;Wd=m+196|0;Vd=l+32|0;Ud=m+212|0;Td=l+48|0;Sd=m+228|0;Rd=C&1;Qd=m+232|0;Md=w+64|0;Ld=w+68|0;Hd=w+72|0;Id=w+76|0;id=w+80|0;hd=w+84|0;gd=w+88|0;fd=w+92|0;ed=w+96|0;dd=w+100|0;cd=w+104|0;bd=w+108|0;ad=D;D=0;while(1){if(P){ie=+R(+ke)/+O(+Sa);ye=He*ie;te=Je*ie;se=Ie*ie;ie=+Q(+ke);re=+(D|0)*(6.2831854820251465/+(ad|0))*.5;ze=+R(+re)/+O(+je);we=Ra*ze;ve=Ta*ze;ue=Va*ze;ze=+Q(+re);if(C){re=-we;xe=-ve;Yb=-ue;Xb=se*xe+(ye*ze+ie*re)-te*Yb;Wb=ye*Yb+(te*ze+ie*xe)-se*re;fe=te*re+(se*ze+ie*Yb)-ye*xe;ee=ie*ze-ye*re-te*xe-se*Yb;Yb=ue*Wb+(we*ee+ze*Xb)-ve*fe;xe=we*fe+(ze*Wb+ve*ee)-ue*Xb;re=ve*Xb+(ue*ee+ze*fe)-we*Wb;de=ze*ee-we*Xb-ve*Wb-ue*fe;fe=2.0/(de*de+(re*re+(Yb*Yb+xe*xe)));Wb=Yb*fe;Xb=xe*fe;ee=re*fe;fe=de*Wb;ce=de*Xb;be=de*ee;de=Yb*Wb;Wb=Yb*Xb;ae=Yb*ee;Yb=xe*Xb;Xb=xe*ee;xe=re*ee;ee=1.0-(Yb+xe);re=Wb-be;Pd=ae+ce;Od=Wb+be;be=1.0-(de+xe);xe=Xb-fe;Wb=ae-ce;ce=Xb+fe;fe=1.0-(de+Yb);$c=c[v>>2]|0;Yb=+g[$c>>2];de=+g[$c+16>>2];Xb=+g[$c+32>>2];ae=+g[$c+4>>2];Nd=+g[$c+20>>2];Kd=+g[$c+36>>2];Jd=+g[$c+8>>2];od=+g[$c+24>>2];nd=+g[$c+40>>2];g[w>>2]=ee*Yb+re*de+Pd*Xb;g[E>>2]=ee*ae+re*Nd+Pd*Kd;g[Ge>>2]=ee*Jd+re*od+Pd*nd;g[Ee>>2]=0.0;g[Be>>2]=Od*Yb+be*de+xe*Xb;g[Fe>>2]=Od*ae+be*Nd+xe*Kd;g[Ce>>2]=Od*Jd+be*od+xe*nd;g[Wa>>2]=0.0;g[De>>2]=Wb*Yb+ce*de+fe*Xb;g[Ua>>2]=Wb*ae+ce*Nd+fe*Kd;g[F>>2]=Wb*Jd+ce*od+fe*nd;g[ne>>2]=0.0;$c=c[d>>2]|0;c[G>>2]=c[$c>>2];c[G+4>>2]=c[$c+4>>2];c[G+8>>2]=c[$c+8>>2];c[G+12>>2]=c[$c+12>>2];_c=$c+16|0;c[aa>>2]=c[_c>>2];c[aa+4>>2]=c[_c+4>>2];c[aa+8>>2]=c[_c+8>>2];c[aa+12>>2]=c[_c+12>>2];_c=$c+32|0;c[K>>2]=c[_c>>2];c[K+4>>2]=c[_c+4>>2];c[K+8>>2]=c[_c+8>>2];c[K+12>>2]=c[_c+12>>2];_c=$c+48|0;c[U>>2]=c[_c>>2];c[U+4>>2]=c[_c+4>>2];c[U+8>>2]=c[_c+8>>2];c[U+12>>2]=c[_c+12>>2]}else{_c=c[v>>2]|0;c[w>>2]=c[_c>>2];c[w+4>>2]=c[_c+4>>2];c[w+8>>2]=c[_c+8>>2];c[w+12>>2]=c[_c+12>>2];$c=_c+16|0;c[qa>>2]=c[$c>>2];c[qa+4>>2]=c[$c+4>>2];c[qa+8>>2]=c[$c+8>>2];c[qa+12>>2]=c[$c+12>>2];$c=_c+32|0;c[u>>2]=c[$c>>2];c[u+4>>2]=c[$c+4>>2];c[u+8>>2]=c[$c+8>>2];c[u+12>>2]=c[$c+12>>2];$c=_c+48|0;c[I>>2]=c[$c>>2];c[I+4>>2]=c[$c+4>>2];c[I+8>>2]=c[$c+8>>2];c[I+12>>2]=c[$c+12>>2];nd=-we;fe=-ve;od=-ue;ce=se*fe+(ye*ze+ie*nd)-te*od;Jd=ye*od+(te*ze+ie*fe)-se*nd;Wb=te*nd+(se*ze+ie*od)-ye*fe;Kd=ie*ze-ye*nd-te*fe-se*od;od=ue*Jd+(we*Kd+ze*ce)-ve*Wb;se=we*Wb+(ze*Jd+ve*Kd)-ue*ce;fe=ve*ce+(ue*Kd+ze*Wb)-we*Jd;te=ze*Kd-we*ce-ve*Jd-ue*Wb;Wb=2.0/(te*te+(fe*fe+(od*od+se*se)));ue=od*Wb;Jd=se*Wb;ve=fe*Wb;Wb=te*ue;ce=te*Jd;we=te*ve;te=od*ue;ue=od*Jd;Kd=od*ve;od=se*Jd;Jd=se*ve;se=fe*ve;ve=1.0-(od+se);fe=ue-we;ze=Kd+ce;nd=ue+we;we=1.0-(te+se);se=Jd-Wb;ue=Kd-ce;ce=Jd+Wb;Wb=1.0-(te+od);$c=c[d>>2]|0;od=+g[$c>>2];te=+g[$c+16>>2];Jd=+g[$c+32>>2];Kd=+g[$c+4>>2];ye=+g[$c+20>>2];ie=+g[$c+36>>2];Nd=+g[$c+8>>2];ae=+g[$c+24>>2];Xb=+g[$c+40>>2];g[Md>>2]=ve*od+fe*te+ze*Jd;g[Ld>>2]=ve*Kd+fe*ye+ze*ie;g[Hd>>2]=ve*Nd+fe*ae+ze*Xb;g[Id>>2]=0.0;g[id>>2]=nd*od+we*te+se*Jd;g[hd>>2]=nd*Kd+we*ye+se*ie;g[gd>>2]=nd*Nd+we*ae+se*Xb;g[fd>>2]=0.0;g[ed>>2]=ue*od+ce*te+Wb*Jd;g[dd>>2]=ue*Kd+ce*ye+Wb*ie;g[cd>>2]=ue*Nd+ce*ae+Wb*Xb;g[bd>>2]=0.0}$c=c[Ae>>2]|0;c[m>>2]=6532;c[qe>>2]=h;c[me>>2]=c[w>>2];c[me+4>>2]=c[w+4>>2];c[me+8>>2]=c[w+8>>2];c[me+12>>2]=c[w+12>>2];c[pe>>2]=c[qa>>2];c[pe+4>>2]=c[qa+4>>2];c[pe+8>>2]=c[qa+8>>2];c[pe+12>>2]=c[qa+12>>2];c[le>>2]=c[u>>2];c[le+4>>2]=c[u+4>>2];c[le+8>>2]=c[u+8>>2];c[le+12>>2]=c[u+12>>2];c[oe>>2]=c[I>>2];c[oe+4>>2]=c[I+4>>2];c[oe+8>>2]=c[I+8>>2];c[oe+12>>2]=c[I+12>>2];c[ge>>2]=c[G>>2];c[ge+4>>2]=c[G+4>>2];c[ge+8>>2]=c[G+8>>2];c[ge+12>>2]=c[G+12>>2];c[he>>2]=c[aa>>2];c[he+4>>2]=c[aa+4>>2];c[he+8>>2]=c[aa+8>>2];c[he+12>>2]=c[aa+12>>2];c[$d>>2]=c[K>>2];c[$d+4>>2]=c[K+4>>2];c[$d+8>>2]=c[K+8>>2];c[$d+12>>2]=c[K+12>>2];c[_d>>2]=c[U>>2];c[_d+4>>2]=c[U+4>>2];c[_d+8>>2]=c[U+8>>2];c[_d+12>>2]=c[U+12>>2];c[Zd>>2]=c[l>>2];c[Zd+4>>2]=c[l+4>>2];c[Zd+8>>2]=c[l+8>>2];c[Zd+12>>2]=c[l+12>>2];c[Yd>>2]=c[Xd>>2];c[Yd+4>>2]=c[Xd+4>>2];c[Yd+8>>2]=c[Xd+8>>2];c[Yd+12>>2]=c[Xd+12>>2];c[Wd>>2]=c[Vd>>2];c[Wd+4>>2]=c[Vd+4>>2];c[Wd+8>>2]=c[Vd+8>>2];c[Wd+12>>2]=c[Vd+12>>2];c[Ud>>2]=c[Td>>2];c[Ud+4>>2]=c[Td+4>>2];c[Ud+8>>2]=c[Td+8>>2];c[Ud+12>>2]=c[Td+12>>2];a[Sd>>0]=Rd;c[Qd>>2]=$c;jp(x,w,m,$c,0);Ke=c[f>>2]|0}else Ke=ad;D=D+1|0;if((D|0)>=(Ke|0))break;else ad=Ke}}}if(!(a[b+16>>0]|0)){i=j;return}b=c[B>>2]|0;if(!(c[b+748>>2]|0)){i=j;return}B=c[b+740>>2]|0;Ke=c[(c[h+8>>2]|0)+8>>2]|0;ad=c[(c[h+12>>2]|0)+8>>2]|0;if((B|0)==(Ke|0)){lp(b,B+4|0,ad+4|0);i=j;return}else{lp(b,ad+4|0,Ke+4|0);i=j;return}}function Lq(a){a=a|0;Ur(a);return}function Mq(a,b,c){a=a|0;b=b|0;c=c|0;return}function Nq(a,b,c){a=a|0;b=b|0;c=c|0;return}function Oq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return}function Pq(a){a=a|0;Ur(a);return}function Qq(a,b,c){a=a|0;b=b|0;c=c|0;return}function Rq(a,b,c){a=a|0;b=b|0;c=c|0;return}function Sq(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var h=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0;h=i;i=i+16|0;j=h;k=b+32|0;g[k>>2]=f;l=b+8|0;c[l>>2]=c[d>>2];c[l+4>>2]=c[d+4>>2];c[l+8>>2]=c[d+8>>2];c[l+12>>2]=c[d+12>>2];m=+g[b+28>>2];n=+g[e+4>>2]-m*+g[d+4>>2];o=+g[e+8>>2]-m*+g[d+8>>2];g[j>>2]=+g[e>>2]-+g[d>>2]*m;g[j+4>>2]=n;g[j+8>>2]=o;g[j+12>>2]=0.0;o=+g[b+24>>2]+m+f;g[k>>2]=o;if(!(o<0.0)){p=b+4|0;q=c[p>>2]|0;r=c[q>>2]|0;s=r+16|0;t=c[s>>2]|0;$b[t&7](q,d,j,o);i=h;return}a[b+36>>0]=1;p=b+4|0;q=c[p>>2]|0;r=c[q>>2]|0;s=r+16|0;t=c[s>>2]|0;$b[t&7](q,d,j,o);i=h;return}function Tq(a){a=a|0;Ur(a);return}function Uq(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var h=0,j=0,k=0.0,l=0,m=0.0,n=0,o=0.0,p=0.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,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.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,Y=0;h=i;i=i+16|0;j=h;k=+g[d>>2];l=d+4|0;m=+g[l>>2];n=d+8|0;o=+g[n>>2];p=+g[e>>2];q=k*f+p;r=+g[e+4>>2];s=m*f+r;t=+g[e+8>>2];u=o*f+t;e=b+164|0;if(!(a[b+228>>0]|0)){f=+g[b+100>>2];v=+g[b+116>>2];w=+g[b+132>>2];x=+g[b+104>>2];y=+g[b+120>>2];z=+g[b+136>>2];A=+g[b+108>>2];B=+g[b+124>>2];C=+g[b+140>>2];D=-+g[b+148>>2];E=-+g[b+152>>2];F=-+g[b+156>>2];G=f*D+v*E+w*F;H=x*D+y*E+z*F;I=A*D+B*E+C*F;F=+g[e>>2];E=+g[b+168>>2];D=+g[b+172>>2];J=+g[b+180>>2];K=+g[b+184>>2];L=+g[b+188>>2];M=+g[b+196>>2];N=+g[b+200>>2];O=+g[b+204>>2];P=t*(w*F+z*E+C*D)+(p*(f*F+x*E+A*D)+r*(v*F+y*E+B*D))+(F*G+H*E+I*D+ +g[b+212>>2]);D=t*(w*J+z*K+C*L)+(p*(f*J+x*K+A*L)+r*(v*J+y*K+B*L))+(G*J+H*K+I*L+ +g[b+216>>2]);L=G*M+H*N+I*O+ +g[b+220>>2]+(t*(w*M+z*N+C*O)+(p*(f*M+x*N+A*O)+r*(v*M+y*N+B*O)));g[j>>2]=P;g[j+4>>2]=D;Q=L;R=(q-P)*+g[d>>2]+(s-D)*+g[l>>2]+(u-L)*+g[n>>2];S=j+8|0;g[S>>2]=Q;T=j+12|0;g[T>>2]=0.0;U=b+32|0;V=c[U>>2]|0;W=c[V>>2]|0;X=W+16|0;Y=c[X>>2]|0;$b[Y&7](V,d,j,R);i=h;return}else{L=+g[b+36>>2];D=+g[b+52>>2];P=+g[b+68>>2];O=+g[b+40>>2];B=+g[b+56>>2];N=+g[b+72>>2];y=+g[b+44>>2];M=+g[b+60>>2];v=+g[b+76>>2];A=-+g[b+84>>2];x=-+g[b+88>>2];f=-+g[b+92>>2];C=L*A+D*x+P*f;z=O*A+B*x+N*f;w=y*A+M*x+v*f;f=+g[e>>2];x=+g[b+168>>2];A=+g[b+172>>2];I=+g[b+180>>2];H=+g[b+184>>2];G=+g[b+188>>2];K=+g[b+196>>2];J=+g[b+200>>2];E=+g[b+204>>2];F=u*(P*f+N*x+v*A)+(q*(L*f+O*x+y*A)+s*(D*f+B*x+M*A))+(f*C+z*x+w*A+ +g[b+212>>2]);A=u*(P*I+N*H+v*G)+(q*(L*I+O*H+y*G)+s*(D*I+B*H+M*G))+(C*I+z*H+w*G+ +g[b+216>>2]);G=C*K+z*J+w*E+ +g[b+220>>2]+(u*(P*K+N*J+v*E)+(q*(L*K+O*J+y*E)+s*(D*K+B*J+M*E)));E=k*(F-p)+m*(A-r)+o*(G-t);g[j>>2]=F+k*E;g[j+4>>2]=A+m*E;Q=G+o*E;R=E;S=j+8|0;g[S>>2]=Q;T=j+12|0;g[T>>2]=0.0;U=b+32|0;V=c[U>>2]|0;W=c[V>>2]|0;X=W+16|0;Y=c[X>>2]|0;$b[Y&7](V,d,j,R);i=h;return}}function Vq(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0.0,A=0.0;h=i;i=i+608|0;f=h+552|0;b=h+376|0;j=h+16|0;k=h;l=d+68|0;m=d+4|0;n=+g[d+116>>2]-+g[d+52>>2];o=+g[d+120>>2]-+g[d+56>>2];p=+g[d+124>>2]-+g[d+60>>2];q=e+68|0;r=e+4|0;s=+g[e+116>>2]-+g[e+52>>2];t=+g[e+120>>2]-+g[e+56>>2];u=+g[e+124>>2]-+g[e+60>>2];v=+g[d+256>>2];if(n*n+o*o+p*p<v*v?(v=+g[e+256>>2],s*s+t*t+u*u<v*v):0){w=1.0;i=h;return +w}x=c[d+192>>2]|0;y=c[e+252>>2]|0;c[f+8>>2]=0;c[f+12>>2]=-1;c[f+16>>2]=1065353216;c[f+20>>2]=1065353216;c[f+24>>2]=1065353216;g[f+28>>2]=0.0;c[f>>2]=5564;c[f+4>>2]=8;c[f+32>>2]=y;c[f+48>>2]=y;c[b>>2]=3840;y=b+164|0;g[y>>2]=999999984306749440.0;c[b+168>>2]=0;g[b+172>>2]=0.0;g[j+308>>2]=9.999999747378752e-05;a[j+332>>0]=0;c[k>>2]=5904;c[k+4>>2]=j;c[k+8>>2]=x;c[k+12>>2]=f;if(ep(k,m,l,r,q,b)|0){x=d+248|0;v=+g[y>>2];if(+g[x>>2]>v)g[x>>2]=v;x=e+248|0;if(+g[x>>2]>v)g[x>>2]=v;if(v<1.0)z=v;else z=1.0}else z=1.0;x=c[e+192>>2]|0;y=c[d+252>>2]|0;c[f+8>>2]=0;c[f+12>>2]=-1;c[f+16>>2]=1065353216;c[f+20>>2]=1065353216;c[f+24>>2]=1065353216;g[f+28>>2]=0.0;c[f>>2]=5564;c[f+4>>2]=8;c[f+32>>2]=y;c[f+48>>2]=y;c[b>>2]=3840;y=b+164|0;g[y>>2]=999999984306749440.0;c[b+168>>2]=0;g[b+172>>2]=0.0;g[j+308>>2]=9.999999747378752e-05;a[j+332>>0]=0;c[k>>2]=5904;c[k+4>>2]=j;c[k+8>>2]=f;c[k+12>>2]=x;if(ep(k,m,l,r,q,b)|0){b=d+248|0;v=+g[y>>2];if(+g[b>>2]>v)g[b>>2]=v;b=e+248|0;if(+g[b>>2]>v)g[b>>2]=v;if(z>v)A=v;else A=z}else A=z;w=A;i=h;return +w}function Wq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=b+20|0;f=c[e>>2]|0;g=f;if(!f)return;if(!(a[b+16>>0]|0))return;b=d+4|0;f=c[b>>2]|0;h=d+8|0;if((f|0)==(c[h>>2]|0)?(i=f|0?f<<1:1,(f|0)<(i|0)):0){if(!i){j=0;k=f}else{c[4350]=(c[4350]|0)+1;l=Tr((i<<2|3)+16|0)|0;if(!l)m=0;else{n=l+4+15&-16;c[n+-4>>2]=l;m=n}j=m;k=c[b>>2]|0}m=d+12|0;if((k|0)>0){n=0;do{c[j+(n<<2)>>2]=c[(c[m>>2]|0)+(n<<2)>>2];n=n+1|0}while((n|0)!=(k|0))}n=c[m>>2]|0;l=d+16|0;if(!n)o=k;else{if(!(a[l>>0]|0))p=k;else{c[4351]=(c[4351]|0)+1;Ur(c[n+-4>>2]|0);p=c[b>>2]|0}c[m>>2]=0;o=p}a[l>>0]=1;c[m>>2]=j;c[h>>2]=i;q=o;r=c[e>>2]|0}else{q=f;r=g}c[(c[d+12>>2]|0)+(q<<2)>>2]=r;c[b>>2]=q+1;return}function Xq(b){b=b|0;var d=0,e=0;c[b>>2]=6560;if(!(a[b+8>>0]|0))return;d=c[b+12>>2]|0;if(!d)return;e=c[b+4>>2]|0;xb[c[(c[e>>2]|0)+16>>2]&127](e,d);return}function Yq(b){b=b|0;var d=0,e=0;c[b>>2]=6560;if(!(a[b+8>>0]|0)){Ur(b);return}d=c[b+12>>2]|0;if(!d){Ur(b);return}e=c[b+4>>2]|0;xb[c[(c[e>>2]|0)+16>>2]&127](e,d);Ur(b);return}function Zq(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|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.0,C=0,D=0.0,E=0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,P=0.0,S=0.0,T=0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0.0,qa=0.0,ra=0.0,sa=0.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.0,Ja=0.0,Ka=0.0,La=0.0,Ma=0.0,Na=0.0,Oa=0.0,Pa=0.0,Qa=0.0,Ra=0.0;f=i;i=i+96|0;j=f+80|0;k=f+64|0;l=f+48|0;m=f+32|0;n=f+16|0;o=f;p=b+12|0;if(!(c[p>>2]|0)){i=f;return}q=b+16|0;r=(a[q>>0]|0)!=0;s=r?e:d;t=r?d:e;r=c[s+4>>2]|0;u=c[t+4>>2]|0;v=c[s+12>>2]|0;s=v+4|0;w=v+20|0;x=v+36|0;y=v+8|0;z=v+24|0;A=v+40|0;B=+g[v>>2];C=v+16|0;D=+g[C>>2];E=v+32|0;F=+g[E>>2];G=+g[s>>2];H=+g[w>>2];I=+g[x>>2];J=+g[y>>2];K=+g[z>>2];L=+g[A>>2];M=+g[v+48>>2];P=+g[v+52>>2];S=+g[v+56>>2];T=t+12|0;t=c[T>>2]|0;U=+g[t>>2];V=+g[t+16>>2];W=+g[t+32>>2];X=+g[t+4>>2];Y=+g[t+20>>2];Z=+g[t+36>>2];_=+g[t+8>>2];$=+g[t+24>>2];aa=+g[t+40>>2];ba=-+g[t+48>>2];ca=-+g[t+52>>2];da=-+g[t+56>>2];ea=+g[v>>2];fa=+g[C>>2];ga=+g[E>>2];ha=+g[s>>2];ia=+g[w>>2];ja=+g[x>>2];ka=+g[y>>2];la=+g[z>>2];ma=+g[A>>2];A=c[(c[r>>2]|0)+64>>2]|0;z=u+52|0;na=-+g[z>>2];y=u+56|0;oa=-+g[y>>2];x=u+60|0;pa=-+g[x>>2];g[o>>2]=(B*U+D*V+F*W)*na+(B*X+D*Y+F*Z)*oa+(B*_+D*$+F*aa)*pa;g[o+4>>2]=(G*U+H*V+I*W)*na+(G*X+H*Y+I*Z)*oa+(G*_+H*$+I*aa)*pa;g[o+8>>2]=(J*U+K*V+L*W)*na+(J*X+K*Y+L*Z)*oa+(J*_+K*$+L*aa)*pa;g[o+12>>2]=0.0;ac[A&63](n,r,o);pa=+g[n>>2];L=+g[n+4>>2];K=+g[n+8>>2];J=M*U+P*V+S*W+(U*ba+V*ca+W*da)+((U*ea+V*fa+W*ga)*pa+(U*ha+V*ia+W*ja)*L+(U*ka+V*la+W*ma)*K);W=M*X+P*Y+S*Z+(X*ba+Y*ca+Z*da)+((X*ea+Y*fa+Z*ga)*pa+(X*ha+Y*ia+Z*ja)*L+(X*ka+Y*la+Z*ma)*K);Z=M*_+P*$+S*aa+(_*ba+$*ca+aa*da)+((_*ea+$*fa+aa*ga)*pa+(_*ha+$*ia+aa*ja)*L+(_*ka+$*la+aa*ma)*K);K=+g[z>>2];ma=+g[y>>2];aa=+g[x>>2];la=aa*Z+(K*J+ma*W)-+g[u+68>>2];$=J-K*la;J=W-ma*la;W=Z-aa*la;u=c[T>>2]|0;Z=+g[u>>2];ka=+g[u+4>>2];_=+g[u+8>>2];L=+g[u+16>>2];ja=+g[u+20>>2];ia=+g[u+24>>2];ha=+g[u+32>>2];pa=+g[u+36>>2];ga=+g[u+40>>2];fa=+g[u+48>>2];ea=+g[u+52>>2];da=+g[u+56>>2];u=c[p>>2]|0;n=la<+g[u+752>>2];o=h+4|0;c[o>>2]=u;if(n){n=c[T>>2]|0;ca=K*+g[n+16>>2]+ma*+g[n+20>>2]+aa*+g[n+24>>2];ba=K*+g[n+32>>2]+ma*+g[n+36>>2]+aa*+g[n+40>>2];g[j>>2]=+g[n>>2]*K+ +g[n+4>>2]*ma+ +g[n+8>>2]*aa;g[j+4>>2]=ca;g[j+8>>2]=ba;g[j+12>>2]=0.0;g[k>>2]=_*W+(Z*$+ka*J)+fa;g[k+4>>2]=$*L+J*ja+W*ia+ea;g[k+8>>2]=$*ha+J*pa+W*ga+da;g[k+12>>2]=0.0;$b[c[(c[h>>2]|0)+16>>2]&7](h,j,k,la)}if((c[r+4>>2]|0)<7?(c[(c[o>>2]|0)+748>>2]|0)<(c[b+24>>2]|0):0){la=+g[x>>2];if(+N(+la)>.7071067690849304){da=+g[y>>2];ga=1.0/+O(+(la*la+da*da));qa=0.0;ra=da*ga;sa=-(la*ga)}else{ga=+g[z>>2];la=+g[y>>2];da=1.0/+O(+(ga*ga+la*la));qa=-(la*da);ra=0.0;sa=ga*da}da=.019999999552965164/+Kb[c[(c[r>>2]|0)+16>>2]&7](r);ga=(da>.39269909262657166?.39269909262657166:da)*.5;da=+R(+ga)/+O(+(qa*qa+sa*sa+ra*ra));la=qa*da;qa=sa*da;sa=ra*da;da=+Q(+ga);r=b+20|0;n=c[r>>2]|0;if((n|0)>0){T=k+4|0;u=k+8|0;A=k+12|0;w=j+4|0;s=j+8|0;E=l+4|0;C=l+8|0;v=l+12|0;t=m+4|0;ta=m+8|0;ua=m+12|0;va=n;n=0;do{ga=+g[z>>2];ra=+g[y>>2];W=+g[x>>2];pa=+(n|0)*(6.2831854820251465/+(va|0))*.5;J=+R(+pa)/+O(+(ga*ga+ra*ra+W*W));ha=ga*J;ga=ra*J;ra=W*J;J=+Q(+pa);pa=-ha;W=-ga;$=-ra;ea=sa*W+(la*J+da*pa)-qa*$;ia=la*$+(qa*J+da*W)-sa*pa;ja=qa*pa+(sa*J+da*$)-la*W;L=da*J-la*pa-qa*W-sa*$;$=ra*ia+(ha*L+J*ea)-ga*ja;W=ha*ja+(J*ia+ga*L)-ra*ea;pa=ga*ea+(ra*L+J*ja)-ha*ia;fa=J*L-ha*ea-ga*ia-ra*ja;wa=(a[q>>0]|0)!=0;xa=wa?e:d;ya=wa?d:e;wa=c[xa+4>>2]|0;za=c[ya+4>>2]|0;Aa=c[xa+12>>2]|0;ja=+g[Aa>>2];ra=+g[Aa+4>>2];ia=+g[Aa+8>>2];ga=+g[Aa+16>>2];ea=+g[Aa+20>>2];ha=+g[Aa+24>>2];L=+g[Aa+32>>2];J=+g[Aa+36>>2];ka=+g[Aa+40>>2];Z=+g[Aa+48>>2];_=+g[Aa+52>>2];ba=+g[Aa+56>>2];Aa=ya+12|0;ya=c[Aa>>2]|0;xa=ya+4|0;Ba=ya+20|0;Ca=ya+36|0;Da=ya+8|0;Ea=ya+24|0;Fa=ya+40|0;ca=+g[ya>>2];Ga=ya+16|0;aa=+g[Ga>>2];Ha=ya+32|0;ma=+g[Ha>>2];K=+g[xa>>2];S=+g[Ba>>2];P=+g[Ca>>2];M=+g[Da>>2];Y=+g[Ea>>2];X=+g[Fa>>2];V=-+g[ya+48>>2];U=-+g[ya+52>>2];oa=-+g[ya+56>>2];na=2.0/($*$+W*W+pa*pa+fa*fa);I=$*na;H=W*na;G=pa*na;na=fa*I;F=fa*H;D=fa*G;fa=$*I;I=$*H;B=$*G;$=W*H;H=W*G;W=pa*G;G=1.0-($+W);pa=I-D;Ia=B+F;Ja=I+D;D=1.0-(fa+W);W=H-na;I=B-F;F=H+na;na=1.0-(fa+$);$=ia*I+(ra*Ja+ja*G);fa=ia*F+(ja*pa+ra*D);H=ja*Ia+ra*W+ia*na;B=ha*I+(ea*Ja+ga*G);Ka=ha*F+(ga*pa+ea*D);La=ga*Ia+ea*W+ha*na;Ma=ka*I+(J*Ja+L*G);G=ka*F+(L*pa+J*D);D=L*Ia+J*W+ka*na;na=+g[ya>>2];W=+g[Ga>>2];Ia=+g[Ha>>2];pa=+g[xa>>2];F=+g[Ba>>2];Ja=+g[Ca>>2];I=+g[Da>>2];Na=+g[Ea>>2];Oa=+g[Fa>>2];Fa=c[(c[wa>>2]|0)+64>>2]|0;Ea=za+52|0;Pa=-+g[Ea>>2];Da=za+56|0;Qa=-+g[Da>>2];Ca=za+60|0;Ra=-+g[Ca>>2];g[k>>2]=(Ia*Ma+(na*$+W*B))*Pa+(Ja*Ma+(pa*$+F*B))*Qa+(Oa*Ma+(I*$+Na*B))*Ra;g[T>>2]=(Ia*G+(na*fa+W*Ka))*Pa+(Ja*G+(pa*fa+F*Ka))*Qa+(Oa*G+(I*fa+Na*Ka))*Ra;g[u>>2]=(Ia*D+(na*H+W*La))*Pa+(Ja*D+(pa*H+F*La))*Qa+(Oa*D+(I*H+Na*La))*Ra;g[A>>2]=0.0;ac[Fa&63](j,wa,k);Ra=+g[j>>2];La=+g[w>>2];Na=+g[s>>2];H=Z*ca+_*aa+ba*ma+(ca*V+aa*U+ma*oa)+((ja*ca+ga*aa+L*ma)*Ra+(ra*ca+ea*aa+J*ma)*La+(ia*ca+ha*aa+ka*ma)*Na);ma=Z*K+_*S+ba*P+(K*V+S*U+P*oa)+((ja*K+ga*S+L*P)*Ra+(ra*K+ea*S+J*P)*La+(ia*K+ha*S+ka*P)*Na);P=Z*M+_*Y+ba*X+(M*V+Y*U+X*oa)+((ja*M+ga*Y+L*X)*Ra+(ra*M+ea*Y+J*X)*La+(ia*M+ha*Y+ka*X)*Na);Na=+g[Ea>>2];X=+g[Da>>2];ka=+g[Ca>>2];Y=ka*P+(Na*H+X*ma)-+g[za+68>>2];ha=H-Na*Y;H=ma-X*Y;ma=P-ka*Y;za=c[Aa>>2]|0;P=+g[za>>2];M=+g[za+4>>2];ia=+g[za+8>>2];La=+g[za+16>>2];J=+g[za+20>>2];ea=+g[za+24>>2];ra=+g[za+32>>2];Ra=+g[za+36>>2];L=+g[za+40>>2];ga=+g[za+48>>2];ja=+g[za+52>>2];oa=+g[za+56>>2];za=c[p>>2]|0;Ca=Y<+g[za+752>>2];c[o>>2]=za;if(Ca){Ca=c[Aa>>2]|0;U=Na*+g[Ca+16>>2]+X*+g[Ca+20>>2]+ka*+g[Ca+24>>2];V=Na*+g[Ca+32>>2]+X*+g[Ca+36>>2]+ka*+g[Ca+40>>2];g[l>>2]=+g[Ca>>2]*Na+ +g[Ca+4>>2]*X+ +g[Ca+8>>2]*ka;g[E>>2]=U;g[C>>2]=V;g[v>>2]=0.0;g[m>>2]=ia*ma+(P*ha+M*H)+ga;g[t>>2]=ha*La+H*J+ma*ea+ja;g[ta>>2]=ha*ra+H*Ra+ma*L+oa;g[ua>>2]=0.0;$b[c[(c[h>>2]|0)+16>>2]&7](h,l,m,Y)}n=n+1|0;va=c[r>>2]|0}while((n|0)<(va|0))}}do if((a[b+8>>0]|0?c[(c[p>>2]|0)+748>>2]|0:0)?(va=c[o>>2]|0,c[va+748>>2]|0):0){n=c[va+740>>2]|0;r=c[(c[h+8>>2]|0)+8>>2]|0;m=c[(c[h+12>>2]|0)+8>>2]|0;if((n|0)==(r|0)){lp(va,n+4|0,m+4|0);break}else{lp(va,m+4|0,r+4|0);break}}while(0);i=f;return}function _q(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 1.0}function $q(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=b+12|0;f=c[e>>2]|0;g=f;if(!f)return;if(!(a[b+8>>0]|0))return;b=d+4|0;f=c[b>>2]|0;h=d+8|0;if((f|0)==(c[h>>2]|0)?(i=f|0?f<<1:1,(f|0)<(i|0)):0){if(!i){j=0;k=f}else{c[4350]=(c[4350]|0)+1;l=Tr((i<<2|3)+16|0)|0;if(!l)m=0;else{n=l+4+15&-16;c[n+-4>>2]=l;m=n}j=m;k=c[b>>2]|0}m=d+12|0;if((k|0)>0){n=0;do{c[j+(n<<2)>>2]=c[(c[m>>2]|0)+(n<<2)>>2];n=n+1|0}while((n|0)!=(k|0))}n=c[m>>2]|0;l=d+16|0;if(!n)o=k;else{if(!(a[l>>0]|0))p=k;else{c[4351]=(c[4351]|0)+1;Ur(c[n+-4>>2]|0);p=c[b>>2]|0}c[m>>2]=0;o=p}a[l>>0]=1;c[m>>2]=j;c[h>>2]=i;q=o;r=c[e>>2]|0}else{q=f;r=g}c[(c[d+12>>2]|0)+(q<<2)>>2]=r;c[b>>2]=q+1;return}function ar(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;c[b>>2]=6588;d=b+52|0;e=b+60|0;f=c[e>>2]|0;g=b+64|0;if(f|0){if(a[g>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[f+-4>>2]|0)}c[e>>2]=0}a[g>>0]=1;c[e>>2]=0;c[d>>2]=0;c[b+56>>2]=0;d=b+32|0;e=b+40|0;g=c[e>>2]|0;f=b+44|0;if(g|0){if(a[f>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[g+-4>>2]|0)}c[e>>2]=0}a[f>>0]=1;c[e>>2]=0;c[d>>2]=0;c[b+36>>2]=0;d=b+8|0;e=b+16|0;f=c[e>>2]|0;g=b+20|0;if(!f){a[g>>0]=1;c[e>>2]=0;c[d>>2]=0;h=b+12|0;c[h>>2]=0;return}if(a[g>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[f+-4>>2]|0)}c[e>>2]=0;a[g>>0]=1;c[e>>2]=0;c[d>>2]=0;h=b+12|0;c[h>>2]=0;return}function br(a){a=a|0;ar(a);Ur(a);return}function cr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;c[4344]=(c[4344]|0)+1;e=d<<16|b;f=e+~(e<<15)|0;e=(f>>10^f)*9|0;f=e>>6^e;e=f+~(f<<11)|0;f=a+12|0;g=a+40|0;h=c[g>>2]|0;i=h+(((c[f>>2]|0)+-1&(e>>16^e))<<2)|0;e=c[i>>2]|0;if((e|0)==-1){j=0;return j|0}k=c[a+16>>2]|0;l=a+60|0;m=e;while(1){n=k+(m*12|0)|0;if((c[n>>2]|0)==(b|0)?(c[k+(m*12|0)+4>>2]|0)==(d|0):0)break;o=c[(c[l>>2]|0)+(m<<2)>>2]|0;if((o|0)==-1){j=0;p=21;break}else m=o}if((p|0)==21)return j|0;if(!n){j=0;return j|0}d=c[k+(m*12|0)+8>>2]|0;b=(m*12|0)/12|0;m=c[l>>2]|0;if((e|0)!=(b|0)){o=e;while(1){q=m+(o<<2)|0;r=c[q>>2]|0;if((r|0)==(b|0))break;else o=r}r=c[m+(b<<2)>>2]|0;if((o|0)==-1){s=r;p=11}else c[q>>2]=r}else{s=c[m+(e<<2)>>2]|0;p=11}if((p|0)==11)c[i>>2]=s;s=a+8|0;a=(c[s>>2]|0)+-1|0;if((a|0)==(b|0)){c[s>>2]=b;j=d;return j|0}i=c[k+(a*12|0)+4>>2]<<16|c[k+(a*12|0)>>2];e=i+~(i<<15)|0;i=(e>>10^e)*9|0;e=i>>6^i;i=e+~(e<<11)|0;e=(i>>16^i)&(c[f>>2]|0)+-1;f=h+(e<<2)|0;h=c[f>>2]|0;i=c[l>>2]|0;if((h|0)!=(a|0)){m=h;while(1){t=i+(m<<2)|0;h=c[t>>2]|0;if((h|0)==(a|0))break;else m=h}h=c[i+(a<<2)>>2]|0;if((m|0)==-1){u=h;p=19}else c[t>>2]=h}else{u=c[i+(a<<2)>>2]|0;p=19}if((p|0)==19)c[f>>2]=u;u=k+(a*12|0)|0;c[n>>2]=c[u>>2];c[n+4>>2]=c[u+4>>2];c[n+8>>2]=c[u+8>>2];u=(c[g>>2]|0)+(e<<2)|0;c[(c[l>>2]|0)+(b<<2)>>2]=c[u>>2];c[u>>2]=b;c[s>>2]=(c[s>>2]|0)+-1;j=d;return j|0}function dr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;c[4345]=(c[4345]|0)+1;f=e<<16|d;g=f+~(f<<15)|0;f=(g>>10^g)*9|0;g=f>>6^f;f=g+~(g<<11)|0;g=f>>16^f;f=b+12|0;h=c[f>>2]|0;i=h+-1&g;j=b+40|0;k=c[(c[j>>2]|0)+(i<<2)>>2]|0;a:do if((k|0)!=-1){l=c[b+16>>2]|0;m=b+60|0;n=k;while(1){o=l+(n*12|0)|0;if((c[o>>2]|0)==(d|0)?(c[l+(n*12|0)+4>>2]|0)==(e|0):0)break;n=c[(c[m>>2]|0)+(n<<2)>>2]|0;if((n|0)==-1)break a}if(o|0){p=o;return p|0}}while(0);o=b+8|0;k=c[o>>2]|0;if((k|0)==(h|0)){n=h|0?h<<1:1;if((h|0)<(n|0)){if(!n){q=0;r=h}else{c[4350]=(c[4350]|0)+1;m=Tr((n*12|3)+16|0)|0;if(!m)s=0;else{l=m+4+15&-16;c[l+-4>>2]=m;s=l}q=s;r=c[o>>2]|0}s=b+16|0;if((r|0)>0){l=0;do{m=q+(l*12|0)|0;t=(c[s>>2]|0)+(l*12|0)|0;c[m>>2]=c[t>>2];c[m+4>>2]=c[t+4>>2];c[m+8>>2]=c[t+8>>2];l=l+1|0}while((l|0)!=(r|0))}r=c[s>>2]|0;l=b+20|0;if(r|0){if(a[l>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[r+-4>>2]|0)}c[s>>2]=0}a[l>>0]=1;c[s>>2]=q;c[f>>2]=n;u=c[o>>2]|0;v=n}else{u=h;v=h}}else{u=k;v=h}c[o>>2]=u+1;u=c[b+16>>2]|0;o=u+(k*12|0)|0;if((h|0)<(v|0)){er(b);w=(c[f>>2]|0)+-1&g}else w=i;c[o>>2]=d;c[u+(k*12|0)+4>>2]=e;c[u+(k*12|0)+8>>2]=0;u=(c[j>>2]|0)+(w<<2)|0;c[(c[b+60>>2]|0)+(k<<2)>>2]=c[u>>2];c[u>>2]=k;p=o;return p|0}function er(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=b+12|0;e=c[d>>2]|0;f=b+32|0;g=c[f>>2]|0;if((e|0)<=(g|0))return;if((e|0)>=(g|0)){h=b+36|0;do if((c[h>>2]|0)<(e|0)){if(!e){i=0;j=g}else{c[4350]=(c[4350]|0)+1;k=Tr((e<<2|3)+16|0)|0;if(!k)l=0;else{m=k+4+15&-16;c[m+-4>>2]=k;l=m}i=l;j=c[f>>2]|0}m=b+40|0;k=c[m>>2]|0;if((j|0)<=0){if(!k){a[b+44>>0]=1;c[m>>2]=i;c[h>>2]=e;n=i;break}}else{o=0;do{c[i+(o<<2)>>2]=c[k+(o<<2)>>2];o=o+1|0}while((o|0)!=(j|0))}o=b+44|0;if(a[o>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[k+-4>>2]|0)}a[o>>0]=1;c[m>>2]=i;c[h>>2]=e;n=i}else n=c[b+40>>2]|0;while(0);Bs(n+(g<<2)|0,0,e-g<<2|0)|0}c[f>>2]=e;f=b+52|0;n=c[f>>2]|0;if((e|0)>(n|0)){i=b+56|0;do if((c[i>>2]|0)<(e|0)){if(!e){p=0;q=n}else{c[4350]=(c[4350]|0)+1;h=Tr((e<<2|3)+16|0)|0;if(!h)r=0;else{j=h+4+15&-16;c[j+-4>>2]=h;r=j}p=r;q=c[f>>2]|0}j=b+60|0;h=c[j>>2]|0;if((q|0)<=0){if(!h){a[b+64>>0]=1;c[j>>2]=p;c[i>>2]=e;s=p;break}}else{l=0;do{c[p+(l<<2)>>2]=c[h+(l<<2)>>2];l=l+1|0}while((l|0)!=(q|0))}l=b+64|0;if(a[l>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[h+-4>>2]|0)}a[l>>0]=1;c[j>>2]=p;c[i>>2]=e;s=p}else s=c[b+60>>2]|0;while(0);Bs(s+(n<<2)|0,0,e-n<<2|0)|0}c[f>>2]=e;if((e|0)>0){f=e<<2;Bs(c[b+40>>2]|0,-1,f|0)|0;Bs(c[b+60>>2]|0,-1,f|0)|0}if((g|0)<=0)return;f=c[b+16>>2]|0;e=c[b+40>>2]|0;n=c[b+60>>2]|0;b=0;do{s=c[f+(b*12|0)+4>>2]<<16|c[f+(b*12|0)>>2];p=s+~(s<<15)|0;s=(p>>10^p)*9|0;p=s>>6^s;s=p+~(p<<11)|0;p=e+(((s>>16^s)&(c[d>>2]|0)+-1)<<2)|0;c[n+(b<<2)>>2]=c[p>>2];c[p>>2]=b;b=b+1|0}while((b|0)!=(g|0));return}function fr(a){a=a|0;return c[a+16>>2]|0}function gr(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=b+8|0;e=b+16|0;f=c[e>>2]|0;g=b+20|0;if(f|0){if(a[g>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[f+-4>>2]|0)}c[e>>2]=0}a[g>>0]=1;c[e>>2]=0;c[d>>2]=0;f=b+12|0;c[f>>2]=0;h=b+32|0;i=b+40|0;j=c[i>>2]|0;k=b+44|0;if(j|0){if(a[k>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[j+-4>>2]|0)}c[i>>2]=0}a[k>>0]=1;c[i>>2]=0;c[h>>2]=0;c[b+36>>2]=0;h=b+52|0;i=b+60|0;k=c[i>>2]|0;j=b+64|0;if(k|0){if(a[j>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[k+-4>>2]|0)}c[i>>2]=0}a[j>>0]=1;c[i>>2]=0;c[h>>2]=0;c[b+56>>2]=0;if((c[f>>2]|0)>=2){er(b);return}c[4350]=(c[4350]|0)+1;h=Tr(43)|0;if(!h)l=0;else{i=h+4+15&-16;c[i+-4>>2]=h;l=i}i=c[d>>2]|0;if((i|0)>0){d=0;do{h=l+(d*12|0)|0;j=(c[e>>2]|0)+(d*12|0)|0;c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];c[h+8>>2]=c[j+8>>2];d=d+1|0}while((d|0)!=(i|0))}i=c[e>>2]|0;if(i|0){if(a[g>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[i+-4>>2]|0)}c[e>>2]=0}a[g>>0]=1;c[e>>2]=l;c[f>>2]=2;er(b);return}function hr(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c[b>>2]=6616;d=b+48|0;e=b+56|0;f=c[e>>2]|0;g=b+60|0;if(f|0){if(a[g>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[f+-4>>2]|0)}c[e>>2]=0}a[g>>0]=1;c[e>>2]=0;c[d>>2]=0;c[b+52>>2]=0;d=b+28|0;e=c[d>>2]|0;g=b+36|0;if((e|0)>0){f=0;do{h=c[g>>2]|0;i=h+(f*36|0)+4|0;j=h+(f*36|0)+12|0;k=c[j>>2]|0;l=h+(f*36|0)+16|0;if(k|0){if(a[l>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[k+-4>>2]|0)}c[j>>2]=0}a[l>>0]=1;c[j>>2]=0;c[i>>2]=0;c[h+(f*36|0)+8>>2]=0;f=f+1|0}while((f|0)!=(e|0))}e=c[g>>2]|0;f=b+40|0;if(e|0){if(a[f>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[e+-4>>2]|0)}c[g>>2]=0}a[f>>0]=1;c[g>>2]=0;c[d>>2]=0;c[b+32>>2]=0;d=b+8|0;g=b+16|0;f=c[g>>2]|0;e=b+20|0;if(!f){a[e>>0]=1;c[g>>2]=0;c[d>>2]=0;m=b+12|0;c[m>>2]=0;return}if(a[e>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[f+-4>>2]|0)}c[g>>2]=0;a[e>>0]=1;c[g>>2]=0;c[d>>2]=0;m=b+12|0;c[m>>2]=0;return}function ir(a){a=a|0;hr(a);if(!a)return;c[4351]=(c[4351]|0)+1;Ur(c[a+-4>>2]|0);return}function jr(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=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;b=a+80|0;d=a+84|0;e=a+88|0;f=a+64|0;h=a+68|0;i=a+72|0;j=c[a+28>>2]|0;k=(j|0)>0;l=a+36|0;m=0.0;n=0.0;o=0.0;a=0;a:while(1){switch(a|0){case 0:{p=+g[b>>2]+ +g[f>>2];q=+g[d>>2]+ +g[h>>2];r=+g[e>>2]+ +g[i>>2];break}case 1:{p=+g[b>>2]+ +g[f>>2];q=+g[d>>2]+ +g[h>>2];r=+g[i>>2]-+g[e>>2];break}case 2:{p=+g[b>>2]+ +g[f>>2];q=+g[h>>2]-+g[d>>2];r=+g[e>>2]+ +g[i>>2];break}case 3:{p=+g[b>>2]+ +g[f>>2];q=+g[h>>2]-+g[d>>2];r=+g[i>>2]-+g[e>>2];break}case 4:{p=+g[f>>2]-+g[b>>2];q=+g[d>>2]+ +g[h>>2];r=+g[e>>2]+ +g[i>>2];break}case 5:{p=+g[f>>2]-+g[b>>2];q=+g[d>>2]+ +g[h>>2];r=+g[i>>2]-+g[e>>2];break}case 6:{p=+g[f>>2]-+g[b>>2];q=+g[h>>2]-+g[d>>2];r=+g[e>>2]+ +g[i>>2];break}case 7:{p=+g[f>>2]-+g[b>>2];q=+g[h>>2]-+g[d>>2];r=+g[i>>2]-+g[e>>2];break}default:{p=m;q=n;r=o}}if(k){s=c[l>>2]|0;t=0;do{if(+g[s+(t*36|0)+32>>2]+(p*+g[s+(t*36|0)+20>>2]+q*+g[s+(t*36|0)+24>>2]+r*+g[s+(t*36|0)+28>>2])>0.0){u=0;v=16;break a}t=t+1|0}while((t|0)<(j|0))}a=a+1|0;if((a|0)>=8){u=1;v=16;break}else{m=p;n=q;o=r}}if((v|0)==16)return u|0;return 0}function kr(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|0;var 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.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0;l=i;i=i+16|0;m=l;g[e>>2]=3402823466385288598117041.0e14;g[f>>2]=-3402823466385288598117041.0e14;n=c[a+8>>2]|0;if((n|0)>0){o=a+16|0;a=b+4|0;p=b+8|0;q=b+16|0;r=b+20|0;s=b+24|0;t=b+32|0;u=b+36|0;v=b+40|0;w=b+48|0;x=b+52|0;y=b+56|0;z=d+4|0;A=d+8|0;B=h+4|0;C=h+8|0;D=h+12|0;E=j+4|0;F=j+8|0;G=j+12|0;H=0;do{I=c[o>>2]|0;J=+g[I+(H<<4)>>2];K=+g[I+(H<<4)+4>>2];L=+g[I+(H<<4)+8>>2];M=J*+g[b>>2]+K*+g[a>>2]+L*+g[p>>2]+ +g[w>>2];N=J*+g[q>>2]+K*+g[r>>2]+L*+g[s>>2]+ +g[x>>2];O=J*+g[t>>2]+K*+g[u>>2]+L*+g[v>>2]+ +g[y>>2];L=M*+g[d>>2]+N*+g[z>>2]+O*+g[A>>2];if(L<+g[e>>2]){g[e>>2]=L;g[h>>2]=M;g[B>>2]=N;g[C>>2]=O;g[D>>2]=0.0}if(L>+g[f>>2]){g[f>>2]=L;g[j>>2]=M;g[E>>2]=N;g[F>>2]=O;g[G>>2]=0.0}H=H+1|0}while((H|0)!=(n|0));O=+g[f>>2];P=O;Q=(g[k>>2]=O,c[k>>2]|0)}else{P=-3402823466385288598117041.0e14;Q=-8388609}O=+g[e>>2];if(!(O>P)){i=l;return}c[e>>2]=Q;g[f>>2]=O;c[m>>2]=c[h>>2];c[m+4>>2]=c[h+4>>2];c[m+8>>2]=c[h+8>>2];c[m+12>>2]=c[h+12>>2];c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];c[h+8>>2]=c[j+8>>2];c[h+12>>2]=c[j+12>>2];c[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];c[j+8>>2]=c[m+8>>2];c[j+12>>2]=c[m+12>>2];i=l;return}function lr(a,b,f,j){a=a|0;b=b|0;f=f|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,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.0,O=0.0,P=0,Q=0,R=0,S=0,T=0;j=i;i=i+80|0;f=j+76|0;k=j+72|0;l=j+68|0;m=j+64|0;n=j+60|0;o=j+56|0;p=j+52|0;q=j+48|0;r=j;s=zb[c[(c[a>>2]|0)+28>>2]&127](a)|0;t=+g[a+4>>2];u=+g[a+8>>2];v=+g[a+12>>2];if((s|0)<=0){i=j;return}w=r+4|0;x=r+8|0;y=r+12|0;z=r+16|0;A=r+20|0;B=r+24|0;C=r+28|0;D=r+32|0;E=r+36|0;F=r+40|0;G=r+44|0;H=0;do{Qb[c[(c[a>>2]|0)+16>>2]&3](a,f,p,m,o,k,l,q,n,H);a:do switch(c[m>>2]|0){case 0:{switch(c[n>>2]|0){case 2:{if((c[q>>2]|0)>0)I=0;else break a;do{J=(c[k>>2]|0)+(_(c[l>>2]|0,I)|0)|0;K=c[f>>2]|0;L=c[o>>2]|0;M=K+(_(L,c[J>>2]|0)|0)|0;N=u*+g[M+4>>2];O=v*+g[M+8>>2];g[r>>2]=t*+g[M>>2];g[w>>2]=N;g[x>>2]=O;g[y>>2]=0.0;M=K+(_(L,c[J+4>>2]|0)|0)|0;O=u*+g[M+4>>2];N=v*+g[M+8>>2];g[z>>2]=t*+g[M>>2];g[A>>2]=O;g[B>>2]=N;g[C>>2]=0.0;M=K+(_(L,c[J+8>>2]|0)|0)|0;N=u*+g[M+4>>2];O=v*+g[M+8>>2];g[D>>2]=t*+g[M>>2];g[E>>2]=N;g[F>>2]=O;g[G>>2]=0.0;ec[c[(c[b>>2]|0)+8>>2]&63](b,r,H,I);I=I+1|0}while((I|0)<(c[q>>2]|0));break}case 3:{if((c[q>>2]|0)>0)P=0;else break a;do{M=(c[k>>2]|0)+(_(c[l>>2]|0,P)|0)|0;J=c[f>>2]|0;L=c[o>>2]|0;K=J+(_(e[M>>1]|0,L)|0)|0;O=u*+g[K+4>>2];N=v*+g[K+8>>2];g[r>>2]=t*+g[K>>2];g[w>>2]=O;g[x>>2]=N;g[y>>2]=0.0;K=J+(_(e[M+2>>1]|0,L)|0)|0;N=u*+g[K+4>>2];O=v*+g[K+8>>2];g[z>>2]=t*+g[K>>2];g[A>>2]=N;g[B>>2]=O;g[C>>2]=0.0;K=J+(_(e[M+4>>1]|0,L)|0)|0;O=u*+g[K+4>>2];N=v*+g[K+8>>2];g[D>>2]=t*+g[K>>2];g[E>>2]=O;g[F>>2]=N;g[G>>2]=0.0;ec[c[(c[b>>2]|0)+8>>2]&63](b,r,H,P);P=P+1|0}while((P|0)<(c[q>>2]|0));break}case 5:{if((c[q>>2]|0)>0)Q=0;else break a;do{K=(c[k>>2]|0)+(_(c[l>>2]|0,Q)|0)|0;L=c[f>>2]|0;M=c[o>>2]|0;J=L+(_(d[K>>0]|0,M)|0)|0;N=u*+g[J+4>>2];O=v*+g[J+8>>2];g[r>>2]=t*+g[J>>2];g[w>>2]=N;g[x>>2]=O;g[y>>2]=0.0;J=L+(_(d[K+1>>0]|0,M)|0)|0;O=u*+g[J+4>>2];N=v*+g[J+8>>2];g[z>>2]=t*+g[J>>2];g[A>>2]=O;g[B>>2]=N;g[C>>2]=0.0;J=L+(_(d[K+2>>0]|0,M)|0)|0;N=u*+g[J+4>>2];O=v*+g[J+8>>2];g[D>>2]=t*+g[J>>2];g[E>>2]=N;g[F>>2]=O;g[G>>2]=0.0;ec[c[(c[b>>2]|0)+8>>2]&63](b,r,H,Q);Q=Q+1|0}while((Q|0)<(c[q>>2]|0));break}default:break a}break}case 1:{switch(c[n>>2]|0){case 2:{if((c[q>>2]|0)>0)R=0;else break a;do{J=(c[k>>2]|0)+(_(c[l>>2]|0,R)|0)|0;M=c[f>>2]|0;K=c[o>>2]|0;L=M+(_(K,c[J>>2]|0)|0)|0;O=u*+h[L+8>>3];N=v*+h[L+16>>3];g[r>>2]=t*+h[L>>3];g[w>>2]=O;g[x>>2]=N;g[y>>2]=0.0;L=M+(_(K,c[J+4>>2]|0)|0)|0;N=u*+h[L+8>>3];O=v*+h[L+16>>3];g[z>>2]=t*+h[L>>3];g[A>>2]=N;g[B>>2]=O;g[C>>2]=0.0;L=M+(_(K,c[J+8>>2]|0)|0)|0;O=u*+h[L+8>>3];N=v*+h[L+16>>3];g[D>>2]=t*+h[L>>3];g[E>>2]=O;g[F>>2]=N;g[G>>2]=0.0;ec[c[(c[b>>2]|0)+8>>2]&63](b,r,H,R);R=R+1|0}while((R|0)<(c[q>>2]|0));break}case 3:{if((c[q>>2]|0)>0)S=0;else break a;do{L=(c[k>>2]|0)+(_(c[l>>2]|0,S)|0)|0;J=c[f>>2]|0;K=c[o>>2]|0;M=J+(_(e[L>>1]|0,K)|0)|0;N=u*+h[M+8>>3];O=v*+h[M+16>>3];g[r>>2]=t*+h[M>>3];g[w>>2]=N;g[x>>2]=O;g[y>>2]=0.0;M=J+(_(e[L+2>>1]|0,K)|0)|0;O=u*+h[M+8>>3];N=v*+h[M+16>>3];g[z>>2]=t*+h[M>>3];g[A>>2]=O;g[B>>2]=N;g[C>>2]=0.0;M=J+(_(e[L+4>>1]|0,K)|0)|0;N=u*+h[M+8>>3];O=v*+h[M+16>>3];g[D>>2]=t*+h[M>>3];g[E>>2]=N;g[F>>2]=O;g[G>>2]=0.0;ec[c[(c[b>>2]|0)+8>>2]&63](b,r,H,S);S=S+1|0}while((S|0)<(c[q>>2]|0));break}case 5:{if((c[q>>2]|0)>0)T=0;else break a;do{M=(c[k>>2]|0)+(_(c[l>>2]|0,T)|0)|0;K=c[f>>2]|0;L=c[o>>2]|0;J=K+(_(d[M>>0]|0,L)|0)|0;O=u*+h[J+8>>3];N=v*+h[J+16>>3];g[r>>2]=t*+h[J>>3];g[w>>2]=O;g[x>>2]=N;g[y>>2]=0.0;J=K+(_(d[M+1>>0]|0,L)|0)|0;N=u*+h[J+8>>3];O=v*+h[J+16>>3];g[z>>2]=t*+h[J>>3];g[A>>2]=N;g[B>>2]=O;g[C>>2]=0.0;J=K+(_(d[M+2>>0]|0,L)|0)|0;O=u*+h[J+8>>3];N=v*+h[J+16>>3];g[D>>2]=t*+h[J>>3];g[E>>2]=O;g[F>>2]=N;g[G>>2]=0.0;ec[c[(c[b>>2]|0)+8>>2]&63](b,r,H,T);T=T+1|0}while((T|0)<(c[q>>2]|0));break}default:break a}break}default:{}}while(0);xb[c[(c[a>>2]|0)+24>>2]&127](a,H);H=H+1|0}while((H|0)!=(s|0));i=j;return}function mr(d,e,f){d=d|0;e=e|0;f=f|0;var g=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,T=0,U=0,V=0,W=0;g=i;i=i+32|0;j=g+28|0;k=g+24|0;l=g+20|0;m=g+16|0;n=g+12|0;o=g+8|0;p=g+4|0;q=g;r=zb[c[(c[d>>2]|0)+28>>2]&127](d)|0;c[e+20>>2]=r;c[e>>2]=0;if(!r){s=d+4|0;t=e+4|0;u=c[s>>2]|0;c[t>>2]=u;v=d+8|0;w=c[v>>2]|0;x=e+8|0;c[x>>2]=w;y=d+12|0;z=c[y>>2]|0;A=e+12|0;c[A>>2]=z;B=d+16|0;C=c[B>>2]|0;D=e+16|0;c[D>>2]=C;i=g;return 13602}E=Hb[c[(c[f>>2]|0)+16>>2]&31](f,32,r)|0;r=E+8|0;F=c[r>>2]|0;c[e>>2]=Rb[c[(c[f>>2]|0)+28>>2]&31](f,F)|0;G=zb[c[(c[d>>2]|0)+28>>2]&127](d)|0;a:do if((G|0)>0){H=F;I=0;while(1){Qb[c[(c[d>>2]|0)+16>>2]&3](d,j,p,m,o,k,l,q,n,I);c[H+24>>2]=c[q>>2];c[H+28>>2]=c[p>>2];J=H+12|0;K=H+16|0;L=H+4|0;c[H>>2]=0;c[H+4>>2]=0;c[H+8>>2]=0;c[H+12>>2]=0;c[H+16>>2]=0;c[H+20>>2]=0;switch(c[n>>2]|0){case 2:{M=c[q>>2]|0;if(M|0){N=Hb[c[(c[f>>2]|0)+16>>2]&31](f,4,M*3|0)|0;M=N+8|0;O=c[M>>2]|0;c[H+8>>2]=Rb[c[(c[f>>2]|0)+28>>2]&31](f,O)|0;if((c[q>>2]|0)>0){P=c[k>>2]|0;Q=0;do{R=P+(_(c[l>>2]|0,Q)|0)|0;S=Q*3|0;c[O+(S<<2)>>2]=c[R>>2];c[O+(S+1<<2)>>2]=c[R+4>>2];c[O+(S+2<<2)>>2]=c[R+8>>2];Q=Q+1|0}while((Q|0)<(c[q>>2]|0))}tb[c[(c[f>>2]|0)+20>>2]&31](f,N,13483,1497453121,c[M>>2]|0)}break}case 3:{Q=c[q>>2]|0;if(Q|0){O=Hb[c[(c[f>>2]|0)+16>>2]&31](f,8,Q)|0;Q=O+8|0;P=c[Q>>2]|0;c[J>>2]=Rb[c[(c[f>>2]|0)+28>>2]&31](f,P)|0;R=c[q>>2]|0;if((R|0)>0){S=c[k>>2]|0;T=c[l>>2]|0;U=0;do{V=S+(_(T,U)|0)|0;b[P+(U<<3)>>1]=b[V>>1]|0;b[P+(U<<3)+2>>1]=b[V+2>>1]|0;b[P+(U<<3)+4>>1]=b[V+4>>1]|0;U=U+1|0}while((U|0)!=(R|0))}tb[c[(c[f>>2]|0)+20>>2]&31](f,O,13498,1497453121,c[Q>>2]|0)}break}case 5:{R=c[q>>2]|0;if(R|0){U=Hb[c[(c[f>>2]|0)+16>>2]&31](f,4,R)|0;R=U+8|0;P=c[R>>2]|0;c[K>>2]=Rb[c[(c[f>>2]|0)+28>>2]&31](f,P)|0;if((c[q>>2]|0)>0){T=0;do{S=(c[k>>2]|0)+(_(c[l>>2]|0,T)|0)|0;a[P+(T<<2)>>0]=a[S>>0]|0;a[P+(T<<2)+1>>0]=a[S+1>>0]|0;a[P+(T<<2)+2>>0]=a[S+2>>0]|0;T=T+1|0}while((T|0)<(c[q>>2]|0))}tb[c[(c[f>>2]|0)+20>>2]&31](f,U,13525,1497453121,c[R>>2]|0)}break}default:{}}switch(c[m>>2]|0){case 0:{T=c[p>>2]|0;if(T|0){P=Hb[c[(c[f>>2]|0)+16>>2]&31](f,16,T)|0;T=P+8|0;K=c[T>>2]|0;c[H>>2]=Rb[c[(c[f>>2]|0)+28>>2]&31](f,K)|0;Q=c[p>>2]|0;if((Q|0)>0){O=c[j>>2]|0;S=c[o>>2]|0;J=0;do{M=O+(_(S,J)|0)|0;c[K+(J<<4)>>2]=c[M>>2];c[K+(J<<4)+4>>2]=c[M+4>>2];c[K+(J<<4)+8>>2]=c[M+8>>2];J=J+1|0}while((J|0)!=(Q|0))}tb[c[(c[f>>2]|0)+20>>2]&31](f,P,13548,1497453121,c[T>>2]|0)}break}case 1:{Q=c[p>>2]|0;if(Q|0){J=Hb[c[(c[f>>2]|0)+16>>2]&31](f,32,Q)|0;Q=J+8|0;K=c[Q>>2]|0;c[L>>2]=Rb[c[(c[f>>2]|0)+28>>2]&31](f,K)|0;S=c[p>>2]|0;if((S|0)>0){O=c[j>>2]|0;R=c[o>>2]|0;U=0;do{M=O+(_(R,U)|0)|0;h[K+(U<<5)>>3]=+h[M>>3];h[K+(U<<5)+8>>3]=+h[M+8>>3];h[K+(U<<5)+16>>3]=+h[M+16>>3];U=U+1|0}while((U|0)!=(S|0))}tb[c[(c[f>>2]|0)+20>>2]&31](f,J,13567,1497453121,c[Q>>2]|0)}break}default:{}}xb[c[(c[d>>2]|0)+24>>2]&127](d,I);I=I+1|0;if((I|0)==(G|0)){W=f;break a}else H=H+32|0}}else W=f;while(0);tb[c[(c[W>>2]|0)+20>>2]&31](f,E,13587,1497453121,c[r>>2]|0);s=d+4|0;t=e+4|0;u=c[s>>2]|0;c[t>>2]=u;v=d+8|0;w=c[v>>2]|0;x=e+8|0;c[x>>2]=w;y=d+12|0;z=c[y>>2]|0;A=e+12|0;c[A>>2]=z;B=d+16|0;C=c[B>>2]|0;D=e+16|0;c[D>>2]=C;i=g;return 13602}function nr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=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.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,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0.0,ha=0.0,ia=0,ja=0,ka=0,la=0,ma=0,na=0.0,oa=0.0,pa=0.0,qa=0.0,ra=0.0,sa=0.0,ta=0.0,ua=0.0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0.0,Fa=0.0,Ga=0,Ha=0.0,Ia=0.0,Ja=0.0,Ka=0.0,La=0.0,Ma=0.0,Na=0,Oa=0.0,Pa=0.0,Qa=0.0,Ra=0.0,Sa=0,Ta=0,Ua=0.0,Va=0.0,Wa=0,Xa=0;e=i;i=i+176|0;f=e+152|0;h=e+104|0;j=e+92|0;l=e+88|0;m=e+24|0;n=e+8|0;o=e;c[a+348>>2]=a+220;c[a+352>>2]=a+252;c[a+356>>2]=a+284;p=a+316|0;c[a+360>>2]=p;q=a+364|0;c[q>>2]=4;r=a+368|0;c[r>>2]=0;s=a+376|0;c[s>>2]=0;t=b;u=c[t+4>>2]|0;v=a;c[v>>2]=c[t>>2];c[v+4>>2]=u;u=a+8|0;v=b+8|0;c[u>>2]=c[v>>2];c[u+4>>2]=c[v+4>>2];c[u+8>>2]=c[v+8>>2];c[u+12>>2]=c[v+12>>2];v=a+24|0;u=b+24|0;c[v>>2]=c[u>>2];c[v+4>>2]=c[u+4>>2];c[v+8>>2]=c[u+8>>2];c[v+12>>2]=c[u+12>>2];u=a+40|0;v=b+40|0;c[u>>2]=c[v>>2];c[u+4>>2]=c[v+4>>2];c[u+8>>2]=c[v+8>>2];c[u+12>>2]=c[v+12>>2];v=a+56|0;u=b+56|0;c[v>>2]=c[u>>2];c[v+4>>2]=c[u+4>>2];c[v+8>>2]=c[u+8>>2];c[v+12>>2]=c[u+12>>2];u=a+72|0;v=b+72|0;c[u>>2]=c[v>>2];c[u+4>>2]=c[v+4>>2];c[u+8>>2]=c[v+8>>2];c[u+12>>2]=c[v+12>>2];v=a+88|0;u=b+88|0;c[v>>2]=c[u>>2];c[v+4>>2]=c[u+4>>2];c[v+8>>2]=c[u+8>>2];c[v+12>>2]=c[u+12>>2];u=a+104|0;v=b+104|0;c[u>>2]=c[v>>2];c[u+4>>2]=c[v+4>>2];c[u+8>>2]=c[v+8>>2];c[u+12>>2]=c[v+12>>2];v=c[b+124>>2]|0;c[a+120>>2]=c[b+120>>2];c[a+124>>2]=v;v=a+144|0;g[v>>2]=0.0;b=a+180|0;c[b>>2]=0;u=a+128|0;c[u>>2]=c[d>>2];c[u+4>>2]=c[d+4>>2];c[u+8>>2]=c[d+8>>2];c[u+12>>2]=c[d+12>>2];w=+g[u>>2];d=a+132|0;x=+g[d>>2];t=a+136|0;y=+g[t>>2];z=w*w+x*x+y*y;if(z>0.0){A=(g[k>>2]=-w,c[k>>2]|0);B=(g[k>>2]=-x,c[k>>2]|0);C=A;D=B;E=(g[k>>2]=-y,c[k>>2]|0)}else{C=1065353216;D=0;E=0}B=a+164|0;g[B>>2]=0.0;c[q>>2]=3;A=a+148|0;c[A>>2]=p;c[b>>2]=1;y=(c[k>>2]=C,+g[k>>2]);x=(c[k>>2]=D,+g[k>>2]);or(a,y,x,(c[k>>2]=E,+g[k>>2]),p);g[B>>2]=1.0;B=(c[A>>2]|0)+16|0;c[u>>2]=c[B>>2];c[u+4>>2]=c[B+4>>2];c[u+8>>2]=c[B+8>>2];c[u+12>>2]=c[B+12>>2];A=m+16|0;p=m+32|0;E=m+48|0;c[E>>2]=c[B>>2];c[E+4>>2]=c[B+4>>2];c[E+8>>2]=c[B+8>>2];c[E+12>>2]=c[B+12>>2];c[p>>2]=c[B>>2];c[p+4>>2]=c[B+4>>2];c[p+8>>2]=c[B+8>>2];c[p+12>>2]=c[B+12>>2];c[A>>2]=c[B>>2];c[A+4>>2]=c[B+4>>2];c[A+8>>2]=c[B+8>>2];c[A+12>>2]=c[B+12>>2];c[m>>2]=c[B>>2];c[m+4>>2]=c[B+4>>2];c[m+8>>2]=c[B+8>>2];c[m+12>>2]=c[B+12>>2];B=n+4|0;A=m+4|0;p=m+8|0;E=m+16|0;D=m+20|0;C=m+24|0;b=m+32|0;F=m+36|0;G=m+40|0;H=m+48|0;I=m+52|0;J=m+56|0;K=f+4|0;L=f+8|0;M=f+12|0;N=h+4|0;P=h+8|0;Q=h+12|0;R=h+16|0;S=h+20|0;T=h+24|0;U=h+28|0;V=h+32|0;W=h+36|0;X=h+40|0;Y=h+44|0;Z=j+4|0;_=j+8|0;$=n+12|0;aa=n+8|0;x=0.0;ba=0;ca=0;y=z;a:while(1){da=c[r>>2]|0;ea=1-da|0;fa=a+148+(da*36|0)|0;z=+g[u>>2];w=+g[d>>2];ga=+g[t>>2];ha=+O(+(z*z+w*w+ga*ga));if(ha<9.999999747378752e-05){ia=5;break}ja=a+148+(da*36|0)+32|0;g[a+148+(da*36|0)+16+(c[ja>>2]<<2)>>2]=0.0;ka=(c[q>>2]|0)+-1|0;c[q>>2]=ka;c[a+148+(da*36|0)+(c[ja>>2]<<2)>>2]=c[a+348+(ka<<2)>>2];ka=c[ja>>2]|0;c[ja>>2]=ka+1;or(a,-z,-w,-ga,c[a+148+(da*36|0)+(ka<<2)>>2]|0);ka=c[ja>>2]|0;la=c[a+148+(da*36|0)+(ka+-1<<2)>>2]|0;ma=la+16|0;ga=+g[ma>>2];w=+g[la+20>>2];z=+g[la+24>>2];na=ga-+g[m>>2];oa=w-+g[A>>2];pa=z-+g[p>>2];if(na*na+oa*oa+pa*pa<9.999999747378752e-05){ia=8;break}pa=ga-+g[E>>2];oa=w-+g[D>>2];na=z-+g[C>>2];if(pa*pa+oa*oa+na*na<9.999999747378752e-05){ia=8;break}na=ga-+g[b>>2];oa=w-+g[F>>2];pa=z-+g[G>>2];if(na*na+oa*oa+pa*pa<9.999999747378752e-05){ia=8;break}pa=ga-+g[H>>2];oa=w-+g[I>>2];na=z-+g[J>>2];if(pa*pa+oa*oa+na*na<9.999999747378752e-05){ia=8;break}ba=ba+1&3;la=m+(ba<<4)|0;c[la>>2]=c[ma>>2];c[la+4>>2]=c[ma+4>>2];c[la+8>>2]=c[ma+8>>2];c[la+12>>2]=c[ma+12>>2];na=(+g[u>>2]*ga+ +g[d>>2]*w+ +g[t>>2]*z)/ha;x=na>x?na:x;if(ha-x-ha*9.999999747378752e-05<=0.0){ia=9;break}c[o>>2]=0;b:do switch(ka|0){case 2:{ma=c[fa>>2]|0;la=c[a+148+(da*36|0)+4>>2]|0;ha=+g[la+16>>2];na=+g[ma+16>>2];z=ha-na;w=+g[la+20>>2];ga=+g[ma+20>>2];oa=w-ga;pa=+g[la+24>>2];qa=+g[ma+24>>2];ra=pa-qa;sa=z*z+oa*oa+ra*ra;if(!(sa>0.0)){ia=39;break a}ta=-(na*z+ga*oa+qa*ra)/sa;if(ta>=1.0){g[n>>2]=0.0;g[B>>2]=1.0;c[o>>2]=2;ua=ha*ha+w*w+pa*pa;break b}if(!(ta<=0.0)){g[B>>2]=ta;g[n>>2]=1.0-ta;c[o>>2]=3;pa=z*ta+na;z=oa*ta+ga;oa=ra*ta+qa;ua=pa*pa+z*z+oa*oa;break b}else{g[n>>2]=1.0;g[B>>2]=0.0;c[o>>2]=1;ua=na*na+ga*ga+qa*qa;break b}break}case 3:{ua=+pr((c[fa>>2]|0)+16|0,(c[a+148+(da*36|0)+4>>2]|0)+16|0,(c[a+148+(da*36|0)+8>>2]|0)+16|0,n,o);break}case 4:{ma=c[fa>>2]|0;la=ma+16|0;va=c[a+148+(da*36|0)+4>>2]|0;wa=va+16|0;xa=c[a+148+(da*36|0)+8>>2]|0;ya=xa+16|0;za=c[a+148+(da*36|0)+12>>2]|0;Aa=za+16|0;c[f>>2]=la;c[K>>2]=wa;c[L>>2]=ya;c[M>>2]=Aa;qa=+g[la>>2];ga=+g[Aa>>2];na=qa-ga;Ba=ma+20|0;oa=+g[Ba>>2];Ca=za+20|0;z=+g[Ca>>2];pa=oa-z;Da=ma+24|0;ta=+g[Da>>2];ma=za+24|0;ra=+g[ma>>2];w=ta-ra;g[h>>2]=na;g[N>>2]=pa;g[P>>2]=w;g[Q>>2]=0.0;ha=+g[wa>>2];sa=ha-ga;za=va+20|0;Ea=+g[za>>2];Fa=Ea-z;Ga=va+24|0;Ha=+g[Ga>>2];Ia=Ha-ra;g[R>>2]=sa;g[S>>2]=Fa;g[T>>2]=Ia;g[U>>2]=0.0;Ja=+g[ya>>2];Ka=Ja-ga;va=xa+20|0;La=+g[va>>2];Ma=La-z;Na=xa+24|0;Oa=+g[Na>>2];Pa=Oa-ra;g[V>>2]=Ka;g[W>>2]=Ma;g[X>>2]=Pa;g[Y>>2]=0.0;Qa=pa*Ia*Ka+w*sa*Ma-Ma*(Ia*na)-pa*sa*Pa+Pa*(na*Fa)-Ka*(w*Fa);Fa=ha-Ja;Ja=Ea-La;La=Ha-Oa;Oa=qa-ha;ha=oa-Ea;Ea=ta-Ha;if(Qa!=Qa|0.0!=0.0|Qa==0.0|!(Qa*(ta*(Fa*ha-Ja*Oa)+(qa*(Ja*Ea-La*ha)+oa*(La*Oa-Fa*Ea)))<=0.0))Ra=-1.0;else{c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[l>>2]=0;Ea=pa;pa=w;w=na;na=ga;ga=z;z=ra;xa=0;ra=-1.0;while(1){Sa=c[6624+(xa<<2)>>2]|0;Fa=+g[h+(Sa<<4)+8>>2];Oa=+g[h+(Sa<<4)+4>>2];La=+g[h+(Sa<<4)>>2];if(Qa*((Ea*Fa-pa*Oa)*na+ga*(pa*La-Fa*w)+(Oa*w-Ea*La)*z)>0.0?(La=+pr(c[f+(xa<<2)>>2]|0,c[f+(Sa<<2)>>2]|0,Aa,j,l),ra<0.0|La<ra):0){Ta=c[l>>2]|0;c[o>>2]=(Ta&2|0?1<<Sa:0)+(Ta<<1&8)+(Ta&1|0?1<<xa:0);c[n+(xa<<2)>>2]=c[j>>2];c[n+(Sa<<2)>>2]=c[Z>>2];g[n+(c[6624+(Sa<<2)>>2]<<2)>>2]=0.0;c[$>>2]=c[_>>2];Ua=La}else Ua=ra;Sa=xa+1|0;if((Sa|0)==3)break;Ea=+g[h+(Sa<<4)+4>>2];pa=+g[h+(Sa<<4)+8>>2];w=+g[h+(Sa<<4)>>2];na=+g[Aa>>2];ga=+g[Ca>>2];z=+g[ma>>2];xa=Sa;ra=Ua}if(Ua<0.0){c[o>>2]=15;ra=+g[va>>2];z=+g[Ga>>2];ga=+g[Aa>>2];na=+g[Na>>2];w=+g[wa>>2];pa=+g[Ca>>2];Ea=+g[ya>>2];La=+g[ma>>2];Oa=+g[za>>2];Fa=(ra*z*ga+na*w*pa-pa*(z*Ea)-ra*w*La+La*(Ea*Oa)-ga*(na*Oa))/Qa;g[n>>2]=Fa;oa=+g[Ba>>2];ha=+g[Da>>2];Ja=+g[la>>2];qa=(oa*na*ga+ha*Ea*pa-pa*(na*Ja)-oa*Ea*La+La*(Ja*ra)-ga*(ha*ra))/Qa;g[B>>2]=qa;ra=(Oa*ha*ga+z*Ja*pa-pa*(ha*w)-Oa*Ja*La+La*(w*oa)-ga*(z*oa))/Qa;g[aa>>2]=ra;g[$>>2]=1.0-(Fa+qa+ra);Va=0.0}else Va=Ua;Ra=Va}ua=Ra;break}default:ua=y}while(0);if(!(ua>=0.0)){ia=39;break}fa=a+148+(ea*36|0)+32|0;c[fa>>2]=0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[r>>2]=ea;ka=c[ja>>2]|0;xa=c[o>>2]|0;if(ka|0){Sa=0;do{Ta=a+148+(da*36|0)+(Sa<<2)|0;Wa=c[Ta>>2]|0;if(!(xa&1<<Sa)){Xa=c[q>>2]|0;c[q>>2]=Xa+1;c[a+348+(Xa<<2)>>2]=Wa}else{c[a+148+(ea*36|0)+(c[fa>>2]<<2)>>2]=Wa;Wa=c[n+(Sa<<2)>>2]|0;Xa=c[fa>>2]|0;c[fa>>2]=Xa+1;c[a+148+(ea*36|0)+16+(Xa<<2)>>2]=Wa;Xa=c[Ta>>2]|0;ra=(c[k>>2]=Wa,+g[k>>2]);qa=ra*+g[Xa+20>>2];Fa=ra*+g[Xa+24>>2];g[u>>2]=+g[Xa+16>>2]*ra+ +g[u>>2];g[d>>2]=qa+ +g[d>>2];g[t>>2]=Fa+ +g[t>>2]}Sa=Sa+1|0}while((Sa|0)!=(ka|0))}if((xa|0)==15)c[s>>2]=1;ca=ca+1|0;if(ca>>>0>=128){ia=38;break}if(c[s>>2]|0)break;else y=ua}if((ia|0)==5)c[s>>2]=1;else if((ia|0)==8){ca=c[r>>2]|0;n=a+148+(ca*36|0)+32|0;o=(c[n>>2]|0)+-1|0;c[n>>2]=o;n=c[a+148+(ca*36|0)+(o<<2)>>2]|0;o=c[q>>2]|0;c[q>>2]=o+1;c[a+348+(o<<2)>>2]=n}else if((ia|0)==9){n=c[r>>2]|0;o=a+148+(n*36|0)+32|0;ca=(c[o>>2]|0)+-1|0;c[o>>2]=ca;o=c[a+148+(n*36|0)+(ca<<2)>>2]|0;ca=c[q>>2]|0;c[q>>2]=ca+1;c[a+348+(ca<<2)>>2]=o}else if((ia|0)==38)c[s>>2]=2;else if((ia|0)==39){ia=c[r>>2]|0;o=a+148+(ia*36|0)+32|0;ca=(c[o>>2]|0)+-1|0;c[o>>2]=ca;o=c[a+148+(ia*36|0)+(ca<<2)>>2]|0;ca=c[q>>2]|0;c[q>>2]=ca+1;c[a+348+(ca<<2)>>2]=o}c[a+372>>2]=a+148+((c[r>>2]|0)*36|0);r=c[s>>2]|0;switch(r|0){case 0:{ua=+g[u>>2];y=+g[d>>2];Ra=+g[t>>2];g[v>>2]=+O(+(ua*ua+y*y+Ra*Ra));i=e;return r|0}case 1:{g[v>>2]=0.0;i=e;return r|0}default:{i=e;return r|0}}return 0}function or(a,b,d,e,f){a=a|0;b=+b;d=+d;e=+e;f=f|0;var h=0,j=0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0;h=i;i=i+48|0;j=h+32|0;k=h+16|0;l=h;m=1.0/+O(+(b*b+d*d+e*e));g[f>>2]=m*b;n=f+4|0;g[n>>2]=m*d;o=f+8|0;g[o>>2]=m*e;g[f+12>>2]=0.0;p=a+120|0;q=c[p>>2]|0;r=a+124|0;s=c[r>>2]|0;t=(c[a>>2]|0)+(s>>1)|0;if(!(s&1))u=q;else u=c[(c[t>>2]|0)+q>>2]|0;ac[u&63](l,t,f);e=-+g[f>>2];m=-+g[n>>2];d=-+g[o>>2];o=c[p>>2]|0;p=c[r>>2]|0;r=(c[a+4>>2]|0)+(p>>1)|0;if(!(p&1))v=o;else v=c[(c[r>>2]|0)+o>>2]|0;b=+g[a+24>>2]*e+ +g[a+28>>2]*m+ +g[a+32>>2]*d;w=+g[a+40>>2]*e+ +g[a+44>>2]*m+ +g[a+48>>2]*d;g[k>>2]=+g[a+8>>2]*e+ +g[a+12>>2]*m+ +g[a+16>>2]*d;g[k+4>>2]=b;g[k+8>>2]=w;g[k+12>>2]=0.0;ac[v&63](j,r,k);w=+g[j>>2];b=+g[j+4>>2];d=+g[j+8>>2];m=+g[l+4>>2]-(w*+g[a+72>>2]+b*+g[a+76>>2]+d*+g[a+80>>2]+ +g[a+108>>2]);e=+g[l+8>>2]-(w*+g[a+88>>2]+b*+g[a+92>>2]+d*+g[a+96>>2]+ +g[a+112>>2]);g[f+16>>2]=+g[l>>2]-(w*+g[a+56>>2]+b*+g[a+60>>2]+d*+g[a+64>>2]+ +g[a+104>>2]);g[f+20>>2]=m;g[f+24>>2]=e;g[f+28>>2]=0.0;i=h;return}function pr(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,l=0,m=0.0,n=0.0,o=0.0,p=0,q=0.0,r=0,s=0.0,t=0.0,u=0,v=0.0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=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.0,M=0.0,N=0.0,P=0,Q=0.0,R=0,S=0,T=0,U=0.0,V=0,W=0,X=0.0,Y=0.0,Z=0.0,_=0,$=0,aa=0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0,ga=0,ha=0,ia=0;h=i;i=i+64|0;j=h+48|0;l=h;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;m=+g[a>>2];n=+g[b>>2];o=m-n;p=a+4|0;q=+g[p>>2];r=b+4|0;s=+g[r>>2];t=q-s;u=a+8|0;v=+g[u>>2];w=b+8|0;x=+g[w>>2];y=v-x;g[l>>2]=o;g[l+4>>2]=t;g[l+8>>2]=y;g[l+12>>2]=0.0;z=+g[d>>2];A=n-z;B=d+4|0;n=+g[B>>2];C=s-n;D=d+8|0;s=+g[D>>2];E=x-s;g[l+16>>2]=A;g[l+20>>2]=C;g[l+24>>2]=E;g[l+28>>2]=0.0;x=z-m;z=n-q;n=s-v;g[l+32>>2]=x;g[l+36>>2]=z;g[l+40>>2]=n;g[l+44>>2]=0.0;s=t*E-y*C;F=y*A-E*o;G=C*o-t*A;H=G*G+(s*s+F*F);if(H>0.0){I=t;J=y;K=o;L=m;M=q;N=v;P=0;Q=-1.0;R=0;S=0;T=0}else{U=-1.0;i=h;return +U}while(1){if(L*(G*I-F*J)+M*(s*J-G*K)+(F*K-s*I)*N>0.0){V=c[6624+(P<<2)>>2]|0;W=c[j+(V<<2)>>2]|0;v=+g[W>>2];q=v-L;m=+g[W+4>>2];o=m-M;y=+g[W+8>>2];t=y-N;X=q*q+o*o+t*t;do if(X>0.0){Y=-(L*q+M*o+N*t)/X;if(Y>=1.0){Z=v*v+m*m+y*y;_=2;$=0;aa=1065353216;break}if(!(Y<=0.0)){W=(g[k>>2]=Y,c[k>>2]|0);ba=L+q*Y;ca=M+o*Y;da=N+t*Y;Z=da*da+(ba*ba+ca*ca);_=3;$=(g[k>>2]=1.0-Y,c[k>>2]|0);aa=W;break}else{Z=L*L+M*M+N*N;_=1;$=1065353216;aa=0;break}}else{Z=-1.0;_=R;$=S;aa=T}while(0);if(Q<0.0|Z<Q){c[f>>2]=(_&1|0?1<<P:0)+(_&2|0?1<<V:0);c[e+(P<<2)>>2]=$;c[e+(V<<2)>>2]=aa;g[e+(c[6624+(V<<2)>>2]<<2)>>2]=0.0;ea=Z;fa=_;ga=$;ha=aa}else{ea=Q;fa=_;ga=$;ha=aa}}else{ea=Q;fa=R;ga=S;ha=T}W=P+1|0;if((W|0)==3)break;ia=c[j+(W<<2)>>2]|0;I=+g[l+(W<<4)+4>>2];J=+g[l+(W<<4)+8>>2];K=+g[l+(W<<4)>>2];L=+g[ia>>2];M=+g[ia+4>>2];N=+g[ia+8>>2];P=W;Q=ea;R=fa;S=ga;T=ha}if(!(ea<0.0)){U=ea;i=h;return +U}ea=+O(+H);Q=(s*+g[a>>2]+F*+g[p>>2]+G*+g[u>>2])/H;H=s*Q;s=F*Q;F=G*Q;c[f>>2]=7;Q=+g[b>>2]-H;G=+g[r>>2]-s;N=+g[w>>2]-F;M=C*N-G*E;L=Q*E-N*A;N=G*A-Q*C;C=+O(+(N*N+(M*M+L*L)))/ea;g[e>>2]=C;L=+g[d>>2]-H;M=+g[B>>2]-s;N=+g[D>>2]-F;Q=z*N-M*n;A=L*n-N*x;N=M*x-L*z;z=+O(+(N*N+(Q*Q+A*A)))/ea;g[e+4>>2]=z;g[e+8>>2]=1.0-(z+C);U=F*F+(H*H+s*s);i=h;return +U}function qr(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,j=0,k=0,l=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.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0;b=i;i=i+16|0;d=b;e=a+372|0;f=c[e>>2]|0;h=f+32|0;a:do switch(c[h>>2]|0){case 1:{j=d+4|0;k=d+8|0;l=a+364|0;m=1;n=f;o=0;while(1){c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;g[d+(o<<2)>>2]=1.0;p=n+32|0;g[n+16+(m<<2)>>2]=0.0;q=(c[l>>2]|0)+-1|0;c[l>>2]=q;c[n+(c[p>>2]<<2)>>2]=c[a+348+(q<<2)>>2];q=c[p>>2]|0;c[p>>2]=q+1;r=+g[d>>2];s=+g[j>>2];t=+g[k>>2];or(a,r,s,t,c[n+(q<<2)>>2]|0);if(qr(a)|0)break;q=c[e>>2]|0;p=q+32|0;u=(c[p>>2]|0)+-1|0;c[p>>2]=u;p=c[q+(u<<2)>>2]|0;u=c[l>>2]|0;c[l>>2]=u+1;c[a+348+(u<<2)>>2]=p;p=c[e>>2]|0;u=p+32|0;g[p+16+(c[u>>2]<<2)>>2]=0.0;q=(c[l>>2]|0)+-1|0;c[l>>2]=q;c[p+(c[u>>2]<<2)>>2]=c[a+348+(q<<2)>>2];q=c[u>>2]|0;c[u>>2]=q+1;or(a,-r,-s,-t,c[p+(q<<2)>>2]|0);if(qr(a)|0)break;q=c[e>>2]|0;p=q+32|0;u=(c[p>>2]|0)+-1|0;c[p>>2]=u;p=c[q+(u<<2)>>2]|0;u=c[l>>2]|0;c[l>>2]=u+1;c[a+348+(u<<2)>>2]=p;p=o+1|0;if(p>>>0>=3)break a;u=c[e>>2]|0;m=c[u+32>>2]|0;n=u;o=p}v=1;i=b;return v|0}case 2:{o=c[f+4>>2]|0;n=c[f>>2]|0;t=+g[o+16>>2]-+g[n+16>>2];s=+g[o+20>>2]-+g[n+20>>2];r=+g[o+24>>2]-+g[n+24>>2];n=d+4|0;o=d+8|0;m=a+364|0;l=0;while(1){c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;g[d+(l<<2)>>2]=1.0;w=+g[o>>2];x=+g[n>>2];y=s*w-r*x;z=+g[d>>2];A=r*z-t*w;w=t*x-s*z;if(y*y+A*A+w*w>0.0){k=c[e>>2]|0;j=k+32|0;g[k+16+(c[j>>2]<<2)>>2]=0.0;p=(c[m>>2]|0)+-1|0;c[m>>2]=p;c[k+(c[j>>2]<<2)>>2]=c[a+348+(p<<2)>>2];p=c[j>>2]|0;c[j>>2]=p+1;or(a,y,A,w,c[k+(p<<2)>>2]|0);if(qr(a)|0)break;p=c[e>>2]|0;k=p+32|0;j=(c[k>>2]|0)+-1|0;c[k>>2]=j;k=c[p+(j<<2)>>2]|0;j=c[m>>2]|0;c[m>>2]=j+1;c[a+348+(j<<2)>>2]=k;k=c[e>>2]|0;j=k+32|0;g[k+16+(c[j>>2]<<2)>>2]=0.0;p=(c[m>>2]|0)+-1|0;c[m>>2]=p;c[k+(c[j>>2]<<2)>>2]=c[a+348+(p<<2)>>2];p=c[j>>2]|0;c[j>>2]=p+1;or(a,-y,-A,-w,c[k+(p<<2)>>2]|0);if(qr(a)|0)break;p=c[e>>2]|0;k=p+32|0;j=(c[k>>2]|0)+-1|0;c[k>>2]=j;k=c[p+(j<<2)>>2]|0;j=c[m>>2]|0;c[m>>2]=j+1;c[a+348+(j<<2)>>2]=k}l=l+1|0;if(l>>>0>=3)break a}v=1;i=b;return v|0}case 3:{l=c[f+4>>2]|0;m=c[f>>2]|0;s=+g[m+16>>2];t=+g[l+16>>2]-s;r=+g[m+20>>2];w=+g[l+20>>2]-r;A=+g[m+24>>2];y=+g[l+24>>2]-A;l=c[f+8>>2]|0;z=+g[l+16>>2]-s;s=+g[l+20>>2]-r;r=+g[l+24>>2]-A;A=w*r-y*s;x=y*z-t*r;r=t*s-w*z;if(A*A+x*x+r*r>0.0){g[f+28>>2]=0.0;l=a+364|0;m=(c[l>>2]|0)+-1|0;c[l>>2]=m;c[f+12>>2]=c[a+348+(m<<2)>>2];m=c[h>>2]|0;c[h>>2]=m+1;or(a,A,x,r,c[f+(m<<2)>>2]|0);if(qr(a)|0){v=1;i=b;return v|0}m=c[e>>2]|0;n=m+32|0;o=(c[n>>2]|0)+-1|0;c[n>>2]=o;n=c[m+(o<<2)>>2]|0;o=c[l>>2]|0;c[l>>2]=o+1;c[a+348+(o<<2)>>2]=n;n=c[e>>2]|0;o=n+32|0;g[n+16+(c[o>>2]<<2)>>2]=0.0;m=(c[l>>2]|0)+-1|0;c[l>>2]=m;c[n+(c[o>>2]<<2)>>2]=c[a+348+(m<<2)>>2];m=c[o>>2]|0;c[o>>2]=m+1;or(a,-A,-x,-r,c[n+(m<<2)>>2]|0);if(qr(a)|0){v=1;i=b;return v|0}else{m=c[e>>2]|0;n=m+32|0;o=(c[n>>2]|0)+-1|0;c[n>>2]=o;n=c[m+(o<<2)>>2]|0;o=c[l>>2]|0;c[l>>2]=o+1;c[a+348+(o<<2)>>2]=n;break a}}break}case 4:{n=c[f>>2]|0;o=c[f+12>>2]|0;r=+g[o+16>>2];x=+g[n+16>>2]-r;A=+g[o+20>>2];z=+g[n+20>>2]-A;w=+g[o+24>>2];s=+g[n+24>>2]-w;n=c[f+4>>2]|0;t=+g[n+16>>2]-r;y=+g[n+20>>2]-A;B=+g[n+24>>2]-w;n=c[f+8>>2]|0;C=+g[n+16>>2]-r;r=+g[n+20>>2]-A;A=+g[n+24>>2]-w;w=x*y*A+(z*B*C+s*t*r-x*B*r-z*t*A)-s*y*C;if(!(w!=w|0.0!=0.0|w==0.0)){v=1;i=b;return v|0}break}default:{}}while(0);v=0;i=b;return v|0}function rr(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var 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,u=0.0,v=0,w=0,x=0.0,y=0.0,z=0,A=0.0,B=0.0,C=0.0,D=0,E=0,F=0.0,G=0,H=0;i=b+9288|0;j=c[i>>2]|0;if(!j){c[b>>2]=5;k=0;return k|0}l=j+44|0;m=j+48|0;n=c[m>>2]|0;if(n|0)c[n+44>>2]=c[l>>2];n=c[l>>2]|0;if(n|0)c[n+48>>2]=c[m>>2];if((c[i>>2]|0)==(j|0))c[i>>2]=c[m>>2];n=b+9292|0;c[n>>2]=(c[n>>2]|0)+-1;o=b+9280|0;p=j+44|0;c[p>>2]=0;c[m>>2]=c[o>>2];q=c[o>>2]|0;if(q|0)c[q+44>>2]=j;c[o>>2]=j;q=b+9284|0;c[q>>2]=(c[q>>2]|0)+1;a[j+55>>0]=0;c[j+20>>2]=d;c[j+24>>2]=e;c[j+28>>2]=f;r=e+16|0;s=d+16|0;t=+g[s>>2];u=+g[r>>2]-t;v=e+20|0;w=d+20|0;x=+g[w>>2];y=+g[v>>2]-x;z=e+24|0;e=d+24|0;A=+g[e>>2];B=+g[z>>2]-A;d=f+16|0;C=+g[d>>2]-t;D=f+20|0;t=+g[D>>2]-x;E=f+24|0;x=+g[E>>2]-A;A=y*x-B*t;F=B*C-u*x;x=u*t-y*C;g[j>>2]=A;f=j+4|0;g[f>>2]=F;G=j+8|0;g[G>>2]=x;g[j+12>>2]=0.0;C=+O(+(A*A+F*F+x*x));do if(C>9.999999747378752e-05){H=j+16|0;if((!(sr(A,F,x,+g[s>>2],+g[w>>2],+g[e>>2],+g[r>>2],+g[v>>2],+g[z>>2],H)|0)?!(sr(+g[j>>2],+g[f>>2],+g[G>>2],+g[r>>2],+g[v>>2],+g[z>>2],+g[d>>2],+g[D>>2],+g[E>>2],H)|0):0)?!(sr(+g[j>>2],+g[f>>2],+g[G>>2],+g[d>>2],+g[D>>2],+g[E>>2],+g[s>>2],+g[w>>2],+g[e>>2],H)|0):0)g[H>>2]=(+g[s>>2]*+g[j>>2]+ +g[w>>2]*+g[f>>2]+ +g[e>>2]*+g[G>>2])/C;y=1.0/C;g[j>>2]=y*+g[j>>2];g[f>>2]=y*+g[f>>2];g[G>>2]=y*+g[G>>2];if(h){k=j;return k|0}if(!(+g[H>>2]>=-9.999999747378752e-06)){c[b>>2]=3;break}else{k=j;return k|0}}else c[b>>2]=2;while(0);b=c[m>>2]|0;if(b|0)c[b+44>>2]=c[l>>2];b=c[l>>2]|0;if(b|0)c[b+48>>2]=c[m>>2];if((c[o>>2]|0)==(j|0))c[o>>2]=c[m>>2];c[q>>2]=(c[q>>2]|0)+-1;c[p>>2]=0;c[m>>2]=c[i>>2];m=c[i>>2]|0;if(m|0)c[m+44>>2]=j;c[i>>2]=j;c[n>>2]=(c[n>>2]|0)+1;k=0;return k|0}function sr(a,b,c,d,e,f,h,i,j,k){a=+a;b=+b;c=+c;d=+d;e=+e;f=+f;h=+h;i=+i;j=+j;k=k|0;var l=0.0,m=0.0,n=0.0,o=0;l=h-d;m=i-e;n=j-f;if(!((l*b-m*a)*f+((m*c-n*b)*d+(n*a-l*c)*e)<0.0)){o=0;return o|0}if(l*d+m*e+n*f>0.0){g[k>>2]=+O(+(d*d+e*e+f*f));o=1;return o|0}if(l*h+m*i+n*j<0.0){g[k>>2]=+O(+(h*h+i*i+j*j));o=1;return o|0}else{c=h*d+i*e+j*f;a=((h*h+i*i+j*j)*(d*d+e*e+f*f)-c*c)/(l*l+m*m+n*n);g[k>>2]=+O(+(a>0.0?a:0.0));o=1;return o|0}return 0}function tr(b,e,f,h,i,j){b=b|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;k=h+55|0;if((d[k>>0]|0|0)==(e|0)){l=0;return l|0}m=c[6624+(i<<2)>>2]|0;if(+g[h>>2]*+g[f+16>>2]+ +g[h+4>>2]*+g[f+20>>2]+ +g[h+8>>2]*+g[f+24>>2]-+g[h+16>>2]<-9.999999747378752e-06){n=rr(b,c[h+20+(m<<2)>>2]|0,c[h+20+(i<<2)>>2]|0,f,0)|0;if(!n){l=0;return l|0}a[n+52>>0]=i;c[n+32>>2]=h;a[h+52+i>>0]=0;c[h+32+(i<<2)>>2]=n;o=c[j>>2]|0;if(!o)c[j+4>>2]=n;else{a[o+53>>0]=2;c[o+36>>2]=n;a[n+54>>0]=1;c[n+40>>2]=o}c[j>>2]=n;n=j+8|0;c[n>>2]=(c[n>>2]|0)+1;l=1;return l|0}n=c[6636+(i<<2)>>2]|0;a[k>>0]=e;if(!(tr(b,e,f,c[h+32+(m<<2)>>2]|0,d[h+52+m>>0]|0,j)|0)){l=0;return l|0}if(!(tr(b,e,f,c[h+32+(n<<2)>>2]|0,d[h+52+n>>0]|0,j)|0)){l=0;return l|0}j=b+9280|0;n=h+44|0;f=h+48|0;e=c[f>>2]|0;if(e|0)c[e+44>>2]=c[n>>2];e=c[n>>2]|0;if(e|0)c[e+48>>2]=c[f>>2];if((c[j>>2]|0)==(h|0))c[j>>2]=c[f>>2];j=b+9284|0;c[j>>2]=(c[j>>2]|0)+-1;j=b+9288|0;c[h+44>>2]=0;c[f>>2]=c[j>>2];f=c[j>>2]|0;if(f|0)c[f+44>>2]=h;c[j>>2]=h;h=b+9292|0;c[h>>2]=(c[h>>2]|0)+1;l=1;return l|0}function ur(a,b,c,d,e,f,h,i,j,k,l){a=a|0;b=b|0;c=+c;d=+d;e=+e;f=+f;h=+h;i=+i;j=j|0;k=k|0;l=+l;var m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0;m=c*f+d*h+e*i;e=+g[a>>2]*f+ +g[a+16>>2]*h+ +g[a+32>>2]*i;d=+g[a+4>>2]*f+ +g[a+20>>2]*h+ +g[a+36>>2]*i;c=+g[a+8>>2]*f+ +g[a+24>>2]*h+ +g[a+40>>2]*i;n=+g[b>>2]*f+ +g[b+16>>2]*h+ +g[b+32>>2]*i;o=+g[b+4>>2]*f+ +g[b+20>>2]*h+ +g[b+36>>2]*i;p=+g[b+8>>2]*f+ +g[b+24>>2]*h+ +g[b+40>>2]*i;i=+g[j+80>>2];h=+g[j+84>>2];f=+g[j+88>>2];q=+g[k+80>>2];r=+g[k+84>>2];s=+g[k+88>>2];t=e*(e<0.0?-i:i)+d*(d<0.0?-h:h)+c*(c<0.0?-f:f);f=n*(n<0.0?-q:q)+o*(o<0.0?-r:r)+p*(p<0.0?-s:s);s=+g[j+96>>2];p=+g[k+96>>2];r=(t>s?t:s)+(f>p?f:p);p=m+r;f=r-m;return !((p<f?p:f)>l)|0}function vr(b,d,e,f,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;h=+h;j=+j;k=k|0;var 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.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0,F=0.0,G=0,H=0.0,I=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.0,S=0.0,T=0.0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0.0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0.0,qa=0.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.0,Ka=0.0,La=0.0,Ma=0.0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0.0,Ua=0.0,Va=0.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.0,lb=0.0,mb=0.0,nb=0.0,ob=0.0,pb=0.0,qb=0.0,rb=0.0,sb=0,tb=0;l=i;i=i+64|0;m=l+32|0;n=l;o=l+16|0;p=m+16|0;a[p>>0]=1;q=m+12|0;c[q>>2]=0;r=m+4|0;c[r>>2]=0;s=m+8|0;c[s>>2]=0;t=f;u=m;m=c[f+4>>2]|0;if((m|0)>0){c[4350]=(c[4350]|0)+1;f=Tr((m<<4|3)+16|0)|0;if(!f)v=0;else{w=f+4+15&-16;c[w+-4>>2]=f;v=w}w=c[r>>2]|0;if((w|0)>0){r=0;do{f=v+(r<<4)|0;x=(c[q>>2]|0)+(r<<4)|0;c[f>>2]=c[x>>2];c[f+4>>2]=c[x+4>>2];c[f+8>>2]=c[x+8>>2];c[f+12>>2]=c[x+12>>2];r=r+1|0}while((r|0)!=(w|0))}w=c[q>>2]|0;if(w|0){if(a[p>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[w+-4>>2]|0)}c[q>>2]=0}a[p>>0]=1;c[q>>2]=v;c[s>>2]=m}m=c[d+28>>2]|0;if((m|0)>0){s=c[d+36>>2]|0;y=+g[e>>2];v=e+4|0;z=+g[v>>2];w=e+8|0;A=+g[w>>2];r=e+16|0;B=+g[r>>2];x=e+20|0;C=+g[x>>2];f=e+24|0;D=+g[f>>2];E=e+32|0;F=+g[E>>2];G=e+36|0;H=+g[G>>2];I=e+40|0;J=+g[I>>2];K=+g[b>>2];L=+g[b+4>>2];M=+g[b+8>>2];N=-1;O=3402823466385288598117041.0e14;P=0;while(1){Q=+g[s+(P*36|0)+20>>2];R=+g[s+(P*36|0)+24>>2];S=+g[s+(P*36|0)+28>>2];T=(Q*y+R*z+S*A)*K+(Q*B+R*C+S*D)*L+(Q*F+R*H+S*J)*M;U=T<O;N=U?P:N;P=P+1|0;if((P|0)==(m|0))break;else O=U?T:O}if((N|0)>=0){m=c[s+(N*36|0)+4>>2]|0;if((m|0)>0){P=s+(N*36|0)+12|0;U=d+16|0;d=s+(N*36|0)+20|0;V=s+(N*36|0)+24|0;W=s+(N*36|0)+28|0;X=e+48|0;Y=e+52|0;Z=e+56|0;O=y;M=z;L=A;K=B;T=C;S=D;R=F;Q=H;_=J;$=0;aa=t;ba=u;while(1){u=c[P>>2]|0;ca=c[u+($<<2)>>2]|0;da=c[U>>2]|0;$=$+1|0;ea=c[u+((($|0)==(m|0)?0:$)<<2)>>2]|0;fa=+g[da+(ca<<4)>>2];ga=fa-+g[da+(ea<<4)>>2];ha=+g[da+(ca<<4)+4>>2];ia=ha-+g[da+(ea<<4)+4>>2];ja=+g[da+(ca<<4)+8>>2];ka=ja-+g[da+(ea<<4)+8>>2];la=ga*O+ia*M+ka*L;ma=ga*K+ia*T+ka*S;na=ga*R+ia*Q+ka*_;ka=+g[d>>2];ia=+g[V>>2];ga=+g[W>>2];oa=O*ka+M*ia+L*ga;pa=K*ka+T*ia+S*ga;qa=R*ka+Q*ia+_*ga;ga=-(ma*qa-na*pa);ia=-(na*oa-la*qa);qa=-(la*pa-ma*oa);oa=(fa*O+ha*M+ja*L+ +g[X>>2])*ga+(fa*K+ha*T+ja*S+ +g[Y>>2])*ia+(fa*R+ha*Q+ja*_+ +g[Z>>2])*qa;ea=aa;da=ba;ca=ea+4|0;u=c[ca>>2]|0;if((u|0)<2)ra=u;else{sa=u+-1|0;ta=ea+12|0;ua=c[ta>>2]|0;ja=+g[ua+(sa<<4)>>2];ha=+g[ua+(sa<<4)+4>>2];fa=+g[ua+(sa<<4)+8>>2];sa=da+4|0;va=da+8|0;wa=da+12|0;xa=da+16|0;da=ua;ma=ja*ga+ha*ia+fa*qa-oa;pa=ja;ja=fa;fa=ha;ua=0;while(1){ha=+g[da+(ua<<4)>>2];la=+g[da+(ua<<4)+4>>2];na=+g[da+(ua<<4)+8>>2];ya=c[da+(ua<<4)+12>>2]|0;ka=ha*ga+la*ia+na*qa-oa;za=ka<0.0;do if(ma<0.0)if(za){Aa=c[sa>>2]|0;if((Aa|0)==(c[va>>2]|0)?(Ba=Aa|0?Aa<<1:1,(Aa|0)<(Ba|0)):0){if(!Ba){Ca=0;Da=Aa}else{c[4350]=(c[4350]|0)+1;Ea=Tr((Ba<<4|3)+16|0)|0;if(!Ea)Fa=0;else{Ga=Ea+4+15&-16;c[Ga+-4>>2]=Ea;Fa=Ga}Ca=Fa;Da=c[sa>>2]|0}if((Da|0)>0){Ga=0;do{Ea=Ca+(Ga<<4)|0;Ha=(c[wa>>2]|0)+(Ga<<4)|0;c[Ea>>2]=c[Ha>>2];c[Ea+4>>2]=c[Ha+4>>2];c[Ea+8>>2]=c[Ha+8>>2];c[Ea+12>>2]=c[Ha+12>>2];Ga=Ga+1|0}while((Ga|0)!=(Da|0))}Ga=c[wa>>2]|0;if(Ga|0){if(a[xa>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[Ga+-4>>2]|0)}c[wa>>2]=0}a[xa>>0]=1;c[wa>>2]=Ca;c[va>>2]=Ba;Ia=c[sa>>2]|0}else Ia=Aa;Ga=c[wa>>2]|0;g[Ga+(Ia<<4)>>2]=ha;g[Ga+(Ia<<4)+4>>2]=la;g[Ga+(Ia<<4)+8>>2]=na;c[Ga+(Ia<<4)+12>>2]=ya;c[sa>>2]=(c[sa>>2]|0)+1;break}else{Ja=ma/(ma-ka);Ka=pa+(ha-pa)*Ja;La=fa+(la-fa)*Ja;Ma=ja+(na-ja)*Ja;Ga=c[sa>>2]|0;if((Ga|0)==(c[va>>2]|0)?(Ha=Ga|0?Ga<<1:1,(Ga|0)<(Ha|0)):0){if(!Ha){Na=0;Oa=Ga}else{c[4350]=(c[4350]|0)+1;Ea=Tr((Ha<<4|3)+16|0)|0;if(!Ea)Pa=0;else{Qa=Ea+4+15&-16;c[Qa+-4>>2]=Ea;Pa=Qa}Na=Pa;Oa=c[sa>>2]|0}if((Oa|0)>0){Qa=0;do{Ea=Na+(Qa<<4)|0;Ra=(c[wa>>2]|0)+(Qa<<4)|0;c[Ea>>2]=c[Ra>>2];c[Ea+4>>2]=c[Ra+4>>2];c[Ea+8>>2]=c[Ra+8>>2];c[Ea+12>>2]=c[Ra+12>>2];Qa=Qa+1|0}while((Qa|0)!=(Oa|0))}Qa=c[wa>>2]|0;if(Qa|0){if(a[xa>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[Qa+-4>>2]|0)}c[wa>>2]=0}a[xa>>0]=1;c[wa>>2]=Na;c[va>>2]=Ha;Sa=c[sa>>2]|0}else Sa=Ga;Qa=c[wa>>2]|0;g[Qa+(Sa<<4)>>2]=Ka;g[Qa+(Sa<<4)+4>>2]=La;g[Qa+(Sa<<4)+8>>2]=Ma;g[Qa+(Sa<<4)+12>>2]=0.0;c[sa>>2]=(c[sa>>2]|0)+1;break}else if(za){Ja=ma/(ma-ka);Ta=pa+(ha-pa)*Ja;Ua=fa+(la-fa)*Ja;Va=ja+(na-ja)*Ja;Qa=c[sa>>2]|0;if((Qa|0)==(c[va>>2]|0)?(Aa=Qa|0?Qa<<1:1,(Qa|0)<(Aa|0)):0){if(!Aa){Wa=0;Xa=Qa}else{c[4350]=(c[4350]|0)+1;Ba=Tr((Aa<<4|3)+16|0)|0;if(!Ba)Ya=0;else{Ra=Ba+4+15&-16;c[Ra+-4>>2]=Ba;Ya=Ra}Wa=Ya;Xa=c[sa>>2]|0}if((Xa|0)>0){Ra=0;do{Ba=Wa+(Ra<<4)|0;Ea=(c[wa>>2]|0)+(Ra<<4)|0;c[Ba>>2]=c[Ea>>2];c[Ba+4>>2]=c[Ea+4>>2];c[Ba+8>>2]=c[Ea+8>>2];c[Ba+12>>2]=c[Ea+12>>2];Ra=Ra+1|0}while((Ra|0)!=(Xa|0))}Ra=c[wa>>2]|0;if(Ra|0){if(a[xa>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[Ra+-4>>2]|0)}c[wa>>2]=0}a[xa>>0]=1;c[wa>>2]=Wa;c[va>>2]=Aa;Za=c[sa>>2]|0}else Za=Qa;Ra=c[wa>>2]|0;g[Ra+(Za<<4)>>2]=Ta;g[Ra+(Za<<4)+4>>2]=Ua;g[Ra+(Za<<4)+8>>2]=Va;g[Ra+(Za<<4)+12>>2]=0.0;Ra=(c[sa>>2]|0)+1|0;c[sa>>2]=Ra;if((Ra|0)==(c[va>>2]|0)?(Ga=Ra|0?Ra<<1:1,(Ra|0)<(Ga|0)):0){if(!Ga){_a=0;$a=Ra}else{c[4350]=(c[4350]|0)+1;Ha=Tr((Ga<<4|3)+16|0)|0;if(!Ha)ab=0;else{Ea=Ha+4+15&-16;c[Ea+-4>>2]=Ha;ab=Ea}_a=ab;$a=c[sa>>2]|0}if(($a|0)>0){Ea=0;do{Ha=_a+(Ea<<4)|0;Ba=(c[wa>>2]|0)+(Ea<<4)|0;c[Ha>>2]=c[Ba>>2];c[Ha+4>>2]=c[Ba+4>>2];c[Ha+8>>2]=c[Ba+8>>2];c[Ha+12>>2]=c[Ba+12>>2];Ea=Ea+1|0}while((Ea|0)!=($a|0))}Ea=c[wa>>2]|0;if(Ea|0){if(a[xa>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[Ea+-4>>2]|0)}c[wa>>2]=0}a[xa>>0]=1;c[wa>>2]=_a;c[va>>2]=Ga;bb=c[sa>>2]|0}else bb=Ra;Ea=c[wa>>2]|0;g[Ea+(bb<<4)>>2]=ha;g[Ea+(bb<<4)+4>>2]=la;g[Ea+(bb<<4)+8>>2]=na;c[Ea+(bb<<4)+12>>2]=ya;c[sa>>2]=(c[sa>>2]|0)+1}while(0);ya=ua+1|0;if((ya|0)==(u|0))break;da=c[ta>>2]|0;ma=ka;pa=ha;ja=na;fa=la;ua=ya}ra=c[ca>>2]|0}if((ra|0)<0){ua=ea+8|0;ta=ea+12|0;if((c[ua>>2]|0)<0){da=c[ta>>2]|0;u=ea+16|0;if(da|0){if(a[u>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[da+-4>>2]|0)}c[ta>>2]=0}a[u>>0]=1;c[ta>>2]=0;c[ua>>2]=0;cb=ra}else cb=ra;do{ua=(c[ta>>2]|0)+(cb<<4)|0;c[ua>>2]=c[n>>2];c[ua+4>>2]=c[n+4>>2];c[ua+8>>2]=c[n+8>>2];c[ua+12>>2]=c[n+12>>2];cb=cb+1|0}while((cb|0)!=0)}c[ca>>2]=0;fa=+g[e>>2];ja=+g[v>>2];pa=+g[w>>2];ma=+g[r>>2];oa=+g[x>>2];qa=+g[f>>2];ia=+g[E>>2];ga=+g[G>>2];Va=+g[I>>2];if(($|0)>=(m|0)){db=d;eb=V;fb=W;gb=X;hb=Y;ib=Z;jb=fa;kb=ja;lb=pa;mb=ma;nb=oa;ob=qa;pb=ia;qb=ga;rb=Va;sb=ba;break}else{ta=ba;O=fa;M=ja;L=pa;K=ma;T=oa;S=qa;R=ia;Q=ga;_=Va;ba=aa;aa=ta}}}else{db=s+(N*36|0)+20|0;eb=s+(N*36|0)+24|0;fb=s+(N*36|0)+28|0;gb=e+48|0;hb=e+52|0;ib=e+56|0;jb=y;kb=z;lb=A;mb=B;nb=C;ob=D;pb=F;qb=H;rb=J;sb=t}J=+g[db>>2];H=+g[eb>>2];F=+g[fb>>2];D=J*jb+H*kb+F*lb;lb=J*mb+H*nb+F*ob;ob=J*pb+H*qb+F*rb;rb=+g[s+(N*36|0)+32>>2]-(D*+g[gb>>2]+lb*+g[hb>>2]+ob*+g[ib>>2]);ib=sb;sb=ib+4|0;hb=c[sb>>2]|0;if((hb|0)>0){gb=ib+12|0;ib=hb;hb=0;while(1){N=c[gb>>2]|0;F=rb+(D*+g[N+(hb<<4)>>2]+lb*+g[N+(hb<<4)+4>>2]+ob*+g[N+(hb<<4)+8>>2]);qb=F<=h?h:F;if(!(qb<=j))tb=ib;else{s=N+(hb<<4)|0;c[o>>2]=c[s>>2];c[o+4>>2]=c[s+4>>2];c[o+8>>2]=c[s+8>>2];c[o+12>>2]=c[s+12>>2];$b[c[(c[k>>2]|0)+16>>2]&7](k,b,o,qb);tb=c[sb>>2]|0}hb=hb+1|0;if((hb|0)>=(tb|0))break;else ib=tb}}}}tb=c[q>>2]|0;if(!tb){i=l;return}if(a[p>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[tb+-4>>2]|0)}c[q>>2]=0;i=l;return}function wr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=a+48|0;f=a+56|0;g=c[f>>2]|0;if(!g){h=a+52|0;i=c[h>>2]|0;if(!i){c[4350]=(c[4350]|0)+1;j=Tr(31)|0;if(!j)k=0;else{l=j+4+15&-16;c[l+-4>>2]=j;k=l}l=c[a+60>>2]|0;c[k+4>>2]=l;j=k+8|0;c[j>>2]=0;c[4350]=(c[4350]|0)+1;m=Tr((l*24|3)+16|0)|0;if(!m)n=0;else{l=m+4+15&-16;c[l+-4>>2]=m;n=l}c[k>>2]=n;c[j>>2]=c[e>>2];c[e>>2]=k;o=k}else{c[h>>2]=c[i+8>>2];o=i}i=c[o+4>>2]|0;h=c[o>>2]|0;if((i|0)>0){o=0;k=h;do{o=o+1|0;j=k;k=k+24|0;c[j>>2]=(o|0)<(i|0)?k:0}while((o|0)!=(i|0));p=h}else p=h}else p=g;c[f>>2]=c[p>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p+20>>2]=0;g=c[f>>2]|0;if(!g){h=a+52|0;i=c[h>>2]|0;if(!i){c[4350]=(c[4350]|0)+1;o=Tr(31)|0;if(!o)q=0;else{k=o+4+15&-16;c[k+-4>>2]=o;q=k}k=c[a+60>>2]|0;c[q+4>>2]=k;o=q+8|0;c[o>>2]=0;c[4350]=(c[4350]|0)+1;j=Tr((k*24|3)+16|0)|0;if(!j)r=0;else{k=j+4+15&-16;c[k+-4>>2]=j;r=k}c[q>>2]=r;c[o>>2]=c[e>>2];c[e>>2]=q;s=q}else{c[h>>2]=c[i+8>>2];s=i}i=c[s+4>>2]|0;h=c[s>>2]|0;if((i|0)>0){s=0;q=h;do{s=s+1|0;e=q;q=q+24|0;c[e>>2]=(s|0)<(i|0)?q:0}while((s|0)!=(i|0));t=h}else t=h}else t=g;c[f>>2]=c[t>>2];c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[p+8>>2]=t;c[t+8>>2]=p;f=c[a+100>>2]|0;c[p+20>>2]=f;c[t+20>>2]=f;c[p+12>>2]=d;c[t+12>>2]=b;c[p+16>>2]=0;c[t+16>>2]=0;t=a+116|0;b=c[t>>2]|0;d=b+1|0;c[t>>2]=d;t=a+120|0;if((b|0)<(c[t>>2]|0))return p|0;c[t>>2]=d;return p|0}function xr(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,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,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,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,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0;f=i;i=i+144|0;g=f+120|0;h=f+72|0;j=f+48|0;k=f+24|0;l=f;m=f+116|0;n=f+112|0;o=f+96|0;p=d-b|0;a:do switch(p|0){case 0:{c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;i=f;return}case 2:{q=c[(c[a+92>>2]|0)+(b<<2)>>2]|0;r=q+112|0;s=c[q+88>>2]|0;t=c[q+200>>2]|0;u=(s|0)==(t|0);v=c[q+92>>2]|0;w=c[q+204>>2]|0;x=(v|0)==(w|0);if(u){if(x)if((c[q+96>>2]|0)==(c[q+208>>2]|0)){y=q;break a}else z=v;else z=w;if((v|0)==(z|0)){A=(c[q+96>>2]|0)>(c[q+208>>2]|0);B=A?r:q;c[B>>2]=B;c[B+4>>2]=B;c[e>>2]=B;c[e+4>>2]=B;c[e+8>>2]=B;c[e+12>>2]=B;D=B;E=A?q:r}else{F=z;G=0;H=9}}else{F=w;G=x;H=9}do if((H|0)==9){c[q>>2]=r;c[q+4>>2]=r;c[r>>2]=q;c[q+116>>2]=q;x=(s|0)<(t|0);w=(v|0)<(F|0);A=x|u&w;c[e>>2]=A?q:r;c[e+4>>2]=A?r:q;A=e+8|0;if(w|x&G){c[A>>2]=q;c[e+12>>2]=r;D=q;E=r;break}else{c[A>>2]=r;c[e+12>>2]=q;D=q;E=r;break}}while(0);r=wr(a,D,E)|0;c[r>>2]=r;c[r+4>>2]=r;c[D+8>>2]=r;q=c[r+8>>2]|0;c[q>>2]=q;c[q+4>>2]=q;c[E+8>>2]=q;i=f;return}case 1:{y=c[(c[a+92>>2]|0)+(b<<2)>>2]|0;break}default:{q=((p|0)/2|0)+b|0;r=c[a+92>>2]|0;u=c[r+(q+-1<<2)>>2]|0;v=c[u+88>>2]|0;t=c[u+92>>2]|0;s=c[u+96>>2]|0;b:do if((q|0)<(d|0)){u=q;while(1){A=c[r+(u<<2)>>2]|0;if((c[A+88>>2]|0)!=(v|0)){I=u;break b}if((c[A+92>>2]|0)!=(t|0)){I=u;break b}if((c[A+96>>2]|0)!=(s|0)){I=u;break b}A=u+1|0;if((A|0)<(d|0))u=A;else{I=A;break}}}else I=q;while(0);xr(a,b,q,e);c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;xr(a,I,d,o);s=o+4|0;t=c[s>>2]|0;c:do if(t|0){v=e+4|0;r=c[v>>2]|0;if(!r){c[e>>2]=c[o>>2];c[e+4>>2]=c[o+4>>2];c[e+8>>2]=c[o+8>>2];c[e+12>>2]=c[o+12>>2];break}u=a+100|0;c[u>>2]=(c[u>>2]|0)+-1;u=e+12|0;A=c[u>>2]|0;x=c[o+8>>2]|0;w=c[A+88>>2]|0;d:do if((w|0)==(c[x+88>>2]|0)?(B=c[A+92>>2]|0,(B|0)==(c[x+92>>2]|0)):0){J=c[x+4>>2]|0;if((J|0)==(x|0)){K=c[x+8>>2]|0;if(!K){L=B;M=w;N=x}else{B=c[K+12>>2]|0;L=c[B+92>>2]|0;M=c[B+88>>2]|0;N=B}O=A;P=N;Q=A;R=N;S=M+1|0;T=c[N+96>>2]|0;U=L;break}B=c[x>>2]|0;c[J>>2]=B;c[B+4>>2]=J;e:do if((x|0)==(c[o>>2]|0)){K=c[B+88>>2]|0;V=c[J+88>>2]|0;do if((K|0)>=(V|0)){if((K|0)==(V|0)?(c[B+92>>2]|0)<(c[J+92>>2]|0):0)break;c[o>>2]=J;break e}while(0);c[o>>2]=B}while(0);if((x|0)==(t|0)){V=c[B+88>>2]|0;K=c[J+88>>2]|0;do if((V|0)<=(K|0)){if((V|0)==(K|0)?(c[B+92>>2]|0)>(c[J+92>>2]|0):0)break;c[s>>2]=J;W=J;H=39;break d}while(0);c[s>>2]=B;W=B;H=39}else{W=t;H=39}}else{W=t;H=39}while(0);if((H|0)==39){x=c[e>>2]|0;A=c[o>>2]|0;w=0;J=1;K=r;V=0;X=W;Y=0;while(1){Z=c[X+88>>2]|0;$=c[K+88>>2]|0;aa=_(Z-$|0,J)|0;f:do if((aa|0)<=0){if((aa|0)<0){ba=(w|0)!=0;ca=c[K+92>>2]|0;da=Z;ea=c[X+92>>2]|0;fa=aa;ga=K;ha=X;while(1){ia=c[(ba?ha+4|0:ha)>>2]|0;ja=(ia|0)==(ha|0);ka=ha+88|0;la=ia+88|0;ma=ia+92|0;na=ca;oa=da;pa=fa;qa=ga;while(1){ra=qa+88|0;sa=ea-na|0;if(!ja?(ta=c[la>>2]|0,ua=_(ta-oa|0,J)|0,va=c[ma>>2]|0,wa=va-ea|0,(wa|0)>-1):0){if(!ua)break;if((ua|0)<0?(_(wa,pa)|0)<=(_(ua,sa)|0):0)break}ua=c[(ba?qa+4|0:qa)>>2]|0;if((ua|0)==(qa|0)){xa=qa;ya=ha;break f}wa=c[ua+88>>2]|0;za=_(wa-(c[ra>>2]|0)|0,J)|0;Aa=c[ua+92>>2]|0;Ba=Aa-na|0;Ca=oa;oa=c[ka>>2]|0;Ca=pa;pa=_(oa-wa|0,J)|0;if(!((Ba|0)>0&(pa|0)<0)){xa=qa;ya=ha;break f}if(!za){na=Aa;oa=oa;pa=pa;qa=ua;continue}if((za|0)>=0){xa=qa;ya=ha;break f}if((_(Ba,Ca)|0)>=(_(za,sa)|0)){xa=qa;ya=ha;break f}else{na=Aa;qa=ua}}ca=na;da=ta;ea=va;fa=_(ta-(c[ra>>2]|0)|0,J)|0;ga=qa;ha=ia}}ha=c[K+92>>2]|0;ga=(w|0)!=0;g:do if(ga){fa=K;ea=ha;while(1){da=c[fa>>2]|0;if((da|0)==(K|0)){Da=fa;break g}if((c[da+88>>2]|0)!=($|0)){Da=fa;break g}ca=ea;ea=c[da+92>>2]|0;if((ea|0)>(ca|0)){Da=fa;break}else fa=da}}else{fa=K;ea=ha;while(1){ia=c[fa+4>>2]|0;if((ia|0)==(K|0)){Da=fa;break g}if((c[ia+88>>2]|0)!=($|0)){Da=fa;break g}qa=ea;ea=c[ia+92>>2]|0;if((ea|0)>(qa|0)){Da=fa;break}else fa=ia}}while(0);ha=c[X+92>>2]|0;if(ga){fa=X;ea=ha;while(1){ia=c[fa+4>>2]|0;if((ia|0)==(X|0)){xa=Da;ya=fa;break f}if((c[ia+88>>2]|0)!=($|0)){xa=Da;ya=fa;break f}qa=ea;ea=c[ia+92>>2]|0;if((ea|0)<(qa|0)){xa=Da;ya=fa;break}else fa=ia}}else{fa=X;ea=ha;while(1){ga=c[fa>>2]|0;if((ga|0)==(X|0)){xa=Da;ya=fa;break f}if((c[ga+88>>2]|0)!=($|0)){xa=Da;ya=fa;break f}ia=ea;ea=c[ga+92>>2]|0;if((ea|0)<(ia|0)){xa=Da;ya=fa;break}else fa=ga}}}else{fa=(w|0)!=0;ea=$;ha=c[X+92>>2]|0;ga=aa;ia=K;qa=X;while(1){na=qa+88|0;da=c[ia+92>>2]|0;ca=ha-da|0;ba=c[(fa?ia:ia+4|0)>>2]|0;h:do if((ba|0)!=(ia|0))if(fa){pa=ba;oa=ea;ka=da;ma=ca;la=ga;ja=ia;while(1){ua=oa;oa=c[pa+88>>2]|0;Aa=_(oa-ua|0,J)|0;ua=ka;ka=c[pa+92>>2]|0;sa=ka-ua|0;if((sa|0)>=1){Ea=ma;Fa=la;Ga=ja;break h}if(Aa|0){if((Aa|0)>=0){Ea=ma;Fa=la;Ga=ja;break h}if((_(sa,la)|0)>(_(Aa,ma)|0)){Ea=ma;Fa=la;Ga=ja;break h}}Aa=_((c[na>>2]|0)-oa|0,J)|0;sa=ha-ka|0;ua=c[pa>>2]|0;if((ua|0)==(pa|0)){Ea=sa;Fa=Aa;Ga=pa;break}else{za=pa;pa=ua;ma=sa;la=Aa;ja=za}}}else{ja=ba;la=ea;ma=da;pa=ca;ka=ga;oa=ia;while(1){za=la;la=c[ja+88>>2]|0;Aa=_(la-za|0,J)|0;za=ma;ma=c[ja+92>>2]|0;sa=ma-za|0;if((sa|0)>=1){Ea=pa;Fa=ka;Ga=oa;break h}if(Aa|0){if((Aa|0)>=0){Ea=pa;Fa=ka;Ga=oa;break h}if((_(sa,ka)|0)>(_(Aa,pa)|0)){Ea=pa;Fa=ka;Ga=oa;break h}}Aa=_((c[na>>2]|0)-la|0,J)|0;sa=ha-ma|0;za=c[ja+4>>2]|0;if((za|0)==(ja|0)){Ea=sa;Fa=Aa;Ga=ja;break}else{ua=ja;ja=za;pa=sa;ka=Aa;oa=ua}}}else{Ea=ca;Fa=ga;Ga=ia}while(0);ca=c[(fa?qa:qa+4|0)>>2]|0;if((ca|0)==(qa|0)){xa=Ga;ya=qa;break f}da=c[ca+88>>2]|0;ba=_(da-(c[na>>2]|0)|0,J)|0;oa=ha;ha=c[ca+92>>2]|0;ka=ha-oa|0;oa=ea;ea=c[Ga+88>>2]|0;oa=ga;ga=_(da-ea|0,J)|0;if(!((ka|0)<0&(ga|0)>0)){xa=Ga;ya=qa;break f}if(!ba){ea=ea;ha=ha;ga=ga;ia=Ga;qa=ca;continue}if((ba|0)>=0){xa=Ga;ya=qa;break f}if((_(ka,Fa)|0)>=(_(ba,Ea)|0)){xa=Ga;ya=qa;break}else{ia=Ga;qa=ca}}}while(0);aa=(w|0)==0;Y=aa?ya:Y;V=aa?xa:V;X=aa?A:ya;K=aa?x:xa;w=w+1|0;if((w|0)==2)break;else J=aa?-1:J}c[K+4>>2]=X;c[X>>2]=K;c[V>>2]=Y;c[Y+4>>2]=V;if((c[A+88>>2]|0)<(c[x+88>>2]|0))c[e>>2]=A;if((c[W+88>>2]|0)>=(c[r+88>>2]|0))c[v>>2]=W;c[u>>2]=c[o+12>>2];J=V;w=Y;aa=c[Y+88>>2]|0;$=c[V+88>>2]|0;Z=aa-$|0;B=c[Y+92>>2]|0;qa=c[V+92>>2]|0;ia=B-qa|0;ga=c[Y+96>>2]|0;ha=c[V+96>>2]|0;ea=ga-ha|0;fa=((ia|0)<0)<<31>>31;ca=0-Z|0;ba=((ca|0)<0)<<31>>31;ka=((ea|0)<0)<<31>>31;da=As(0,0,ca|0,ba|0)|0;oa=Ns(ea|0,ka|0,da|0,C|0)|0;da=C;pa=Ns(ea|0,ka|0,ia|0,fa|0)|0;ka=C;ea=Ns(Z|0,((Z|0)<0)<<31>>31|0,ca|0,ba|0)|0;Z=C;ja=Ns(ia|0,fa|0,ia|0,fa|0)|0;ma=As(ea|0,Z|0,ja|0,C|0)|0;ja=C;Z=c[V+8>>2]|0;c[g>>2]=0;if(!Z)Ha=0;else{ea=As(0,0,ia|0,fa|0)|0;la=C;ua=0;Aa=Z;while(1){sa=c[Aa+12>>2]|0;za=c[sa+88>>2]|0;Ca=za-$|0;Ba=c[sa+92>>2]|0;wa=Ba-qa|0;Ia=c[sa+96>>2]|0;sa=((Ca|0)<0)<<31>>31;Ja=((wa|0)<0)<<31>>31;Ka=Ns(wa|0,Ja|0,ca|0,ba|0)|0;La=C;Ma=Ns(Ca|0,sa|0,ea|0,la|0)|0;i:do if((Ka|0)==(Ma|0)&(La|0)==(C|0)?(Na=Ia-ha|0,Oa=Ns(Ca|0,sa|0,oa|0,da|0)|0,Pa=C,Qa=Ns(wa|0,Ja|0,pa|0,ka|0)|0,Ra=Ds(Qa|0,C|0,Oa|0,Pa|0)|0,Pa=C,Oa=Ns(Na|0,((Na|0)<0)<<31>>31|0,ma|0,ja|0)|0,Na=Ds(Ra|0,Pa|0,Oa|0,C|0)|0,Oa=C,(Oa|0)>0|(Oa|0)==0&Na>>>0>0):0){do if(ua|0){Na=(c[ua+4>>2]|0)==(Aa|0);if((c[ua>>2]|0)!=(Aa|0))if(Na)break;else{Sa=ua;break i}if(!Na){Sa=ua;break i}Na=c[ua+12>>2]|0;Oa=c[(c[Aa+8>>2]|0)+12>>2]|0;Pa=c[Oa+88>>2]|0;Ra=c[Oa+92>>2]|0;Qa=c[Oa+96>>2]|0;Oa=(c[Na+96>>2]|0)-Qa|0;Ta=Ia-Qa|0;Qa=(_(Ta,(c[Na+92>>2]|0)-Ra|0)|0)-(_(Oa,Ba-Ra|0)|0)|0;Ra=(_(Oa,za-Pa|0)|0)-(_(Ta,(c[Na+88>>2]|0)-Pa|0)|0)|0;Pa=Ns(Qa|0,((Qa|0)<0)<<31>>31|0,ia|0,fa|0)|0;Qa=C;Na=Ns(Ra|0,((Ra|0)<0)<<31>>31|0,ca|0,ba|0)|0;Ra=Ds(Pa|0,Qa|0,Na|0,C|0)|0;Na=C;if((Na|0)>0|(Na|0)==0&Ra>>>0>0){Sa=ua;break i}}while(0);c[g>>2]=Aa;Sa=Aa}else Sa=ua;while(0);Aa=c[Aa>>2]|0;if((Aa|0)==(Z|0)){Ha=Sa;break}else ua=Sa}}ua=c[Y+8>>2]|0;c[h>>2]=0;if(!ua)Ua=0;else{Z=As(0,0,ia|0,fa|0)|0;Aa=C;ha=0;la=ua;while(1){ea=c[la+12>>2]|0;qa=c[ea+88>>2]|0;$=qa-aa|0;u=c[ea+92>>2]|0;v=u-B|0;r=c[ea+96>>2]|0;ea=(($|0)<0)<<31>>31;A=((v|0)<0)<<31>>31;x=Ns(v|0,A|0,ca|0,ba|0)|0;K=C;X=Ns($|0,ea|0,Z|0,Aa|0)|0;do if((x|0)==(X|0)&(K|0)==(C|0)?(za=r-ga|0,Ba=Ns($|0,ea|0,oa|0,da|0)|0,Ia=C,Ja=Ns(v|0,A|0,pa|0,ka|0)|0,wa=Ds(Ja|0,C|0,Ba|0,Ia|0)|0,Ia=C,Ba=Ns(za|0,((za|0)<0)<<31>>31|0,ma|0,ja|0)|0,za=Ds(wa|0,Ia|0,Ba|0,C|0)|0,Ba=C,(Ba|0)>0|(Ba|0)==0&za>>>0>0):0){if(ha|0){if((c[ha>>2]|0)!=(la|0)){Va=ha;break}if((c[ha+4>>2]|0)==(la|0)?(za=c[ha+12>>2]|0,Ba=c[(c[la+8>>2]|0)+12>>2]|0,Ia=c[Ba+88>>2]|0,wa=c[Ba+92>>2]|0,Ja=c[Ba+96>>2]|0,Ba=(c[za+96>>2]|0)-Ja|0,sa=r-Ja|0,Ja=(_(sa,(c[za+92>>2]|0)-wa|0)|0)-(_(Ba,u-wa|0)|0)|0,wa=(_(Ba,qa-Ia|0)|0)-(_(sa,(c[za+88>>2]|0)-Ia|0)|0)|0,Ia=Ns(Ja|0,((Ja|0)<0)<<31>>31|0,ia|0,fa|0)|0,Ja=C,za=Ns(wa|0,((wa|0)<0)<<31>>31|0,ca|0,ba|0)|0,wa=Ds(Ia|0,Ja|0,za|0,C|0)|0,za=C,!((za|0)>0|(za|0)==0&wa>>>0>0)):0){Va=ha;break}}c[h>>2]=la;Va=la}else Va=ha;while(0);la=c[la>>2]|0;if((la|0)==(ua|0)){Ua=Va;break}else ha=Va}}if((Ha|0)!=0|(Ua|0)!=0){yr(a,V,Y,g,h);ha=c[g>>2]|0;if(!ha){Wa=V;Xa=J}else{ua=c[ha+12>>2]|0;Wa=ua;Xa=ua}ua=c[h>>2]|0;if(!ua){Ya=Wa;Za=Y;_a=Xa;$a=w}else{ha=c[ua+12>>2]|0;Ya=Wa;Za=ha;_a=Xa;$a=ha}}else{Ya=V;Za=Y;_a=J;$a=w}O=Ya;P=Za;Q=_a;R=$a;S=c[Za+88>>2]|0;T=(c[Za+96>>2]|0)+1|0;U=c[Za+92>>2]|0}ha=g+4|0;ua=g+8|0;la=g+12|0;ba=h+8|0;ca=h+16|0;fa=j+8|0;ia=j+16|0;ja=k+16|0;ma=k+8|0;ka=l+16|0;pa=l+8|0;da=a+56|0;oa=a+116|0;ga=P;Aa=O;Z=Q;B=R;aa=0;qa=0;u=1;r=0;A=0;v=0;ea=0;$=S;K=T;X=U;x=0;wa=0;while(1){za=Aa+88|0;Ja=(c[ga+88>>2]|0)-(c[za>>2]|0)|0;Ia=Aa+92|0;sa=(c[ga+92>>2]|0)-(c[Ia>>2]|0)|0;Ba=Aa+96|0;Ca=(c[ga+96>>2]|0)-(c[Ba>>2]|0)|0;c[g>>2]=Ja;c[ha>>2]=sa;c[ua>>2]=Ca;c[la>>2]=-1;La=$-(c[za>>2]|0)|0;za=X-(c[Ia>>2]|0)|0;Ia=K-(c[Ba>>2]|0)|0;Ba=(_(Ca,za)|0)-(_(sa,Ia)|0)|0;Ma=((Ba|0)<0)<<31>>31;Ka=(_(Ja,Ia)|0)-(_(Ca,La)|0)|0;Ia=((Ka|0)<0)<<31>>31;Ra=(_(sa,La)|0)-(_(Ja,za)|0)|0;za=((Ra|0)<0)<<31>>31;La=h;c[La>>2]=Ba;c[La+4>>2]=Ma;La=ba;c[La>>2]=Ka;c[La+4>>2]=Ia;La=ca;c[La>>2]=Ra;c[La+4>>2]=za;La=((sa|0)<0)<<31>>31;Na=Ns(sa|0,La|0,Ra|0,za|0)|0;Qa=C;Pa=((Ca|0)<0)<<31>>31;Ta=Ns(Ca|0,Pa|0,Ka|0,Ia|0)|0;Oa=As(Na|0,Qa|0,Ta|0,C|0)|0;Ta=C;Qa=Ns(Ba|0,Ma|0,Ca|0,Pa|0)|0;Pa=C;Ca=((Ja|0)<0)<<31>>31;Na=Ns(Ja|0,Ca|0,Ra|0,za|0)|0;za=As(Qa|0,Pa|0,Na|0,C|0)|0;Na=C;Pa=Ns(Ja|0,Ca|0,Ka|0,Ia|0)|0;Ia=C;Ka=Ns(Ba|0,Ma|0,sa|0,La|0)|0;La=As(Pa|0,Ia|0,Ka|0,C|0)|0;Ka=j;c[Ka>>2]=Oa;c[Ka+4>>2]=Ta;Ta=fa;c[Ta>>2]=za;c[Ta+4>>2]=Na;Na=ia;c[Na>>2]=La;c[Na+4>>2]=C;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;Na=zr(a,0,Aa,g,h,j,k)|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;La=zr(a,1,ga,g,h,j,l)|0;Ta=(Na|0)!=0;za=(La|0)!=0;do if(Ta|za){Ka=Ta?-1:1;do if(Ta&za){Oa=c[ja>>2]|0;Ia=c[ka>>2]|0;if((Oa|0)!=(Ia|0)){ab=Oa-Ia|0;break}if(!Oa)ab=0;else{Ia=k;Pa=c[Ia>>2]|0;sa=c[Ia+4>>2]|0;Ia=pa;Ma=c[Ia>>2]|0;Ba=c[Ia+4>>2]|0;Ia=Ns(Ma|0,0,Pa|0,0)|0;Ca=C;Ja=Ns(Ba|0,0,Pa|0,0)|0;Pa=C;Qa=Ns(Ma|0,0,sa|0,0)|0;Ma=C;Ra=Ns(Ba|0,0,sa|0,0)|0;sa=C;Ba=Ds(Ja|0,0,Qa|0,0)|0;Qa=C;Ja=Ds(Pa|0,0,Ra|0,sa|0)|0;sa=Ds(Ja|0,C|0,Ma|0,0)|0;Ma=Ds(sa|0,C|0,Qa|0,0)|0;Qa=C;sa=Ds(0,Ba|0,Ia|0,Ca|0)|0;Ca=C;Ia=Ds(Ma|0,Qa|0,(Ca>>>0<Ba>>>0|(Ca|0)==(Ba|0)&sa>>>0<0)&1|0,0)|0;Ba=C;Qa=ma;Ma=c[Qa>>2]|0;Ja=c[Qa+4>>2]|0;Qa=l;Ra=c[Qa>>2]|0;Pa=c[Qa+4>>2]|0;Qa=Ns(Ra|0,0,Ma|0,0)|0;bb=C;cb=Ns(Pa|0,0,Ma|0,0)|0;Ma=C;db=Ns(Ra|0,0,Ja|0,0)|0;Ra=C;eb=Ns(Pa|0,0,Ja|0,0)|0;Ja=C;Pa=Ds(cb|0,0,db|0,0)|0;db=C;cb=Ds(Ma|0,0,eb|0,Ja|0)|0;Ja=Ds(cb|0,C|0,Ra|0,0)|0;Ra=Ds(Ja|0,C|0,db|0,0)|0;db=C;Ja=Ds(0,Pa|0,Qa|0,bb|0)|0;bb=C;Qa=Ds(Ra|0,db|0,(bb>>>0<Pa>>>0|(bb|0)==(Pa|0)&Ja>>>0<0)&1|0,0)|0;Pa=C;if(!(Ba>>>0<Pa>>>0|(Ba|0)==(Pa|0)&Ia>>>0<Qa>>>0))if(!(Ba>>>0>Pa>>>0|(Ba|0)==(Pa|0)&Ia>>>0>Qa>>>0))if(Ca>>>0<bb>>>0|(Ca|0)==(bb|0)&sa>>>0<Ja>>>0)fb=-1;else fb=(Ca>>>0>bb>>>0|(Ca|0)==(bb|0)&sa>>>0>Ja>>>0)&1;else fb=1;else fb=-1;ab=_(fb,Oa)|0}}else ab=Ka;while(0);do if(!u)if((ab|0)>-1){Ka=pa;if((c[ka>>2]|0)<0&((c[Ka>>2]|0)==0&(c[Ka+4>>2]|0)==0)){gb=r;hb=A;ib=v;jb=ea;break}else{H=136;break}}else{Ka=ma;if((c[ja>>2]|0)<0&((c[Ka>>2]|0)==0&(c[Ka+4>>2]|0)==0)){gb=r;hb=A;ib=v;jb=ea;break}else{H=136;break}}else H=136;while(0);if((H|0)==136){H=0;Ka=wr(a,Aa,ga)|0;if(!v)kb=Ka;else{c[v+4>>2]=Ka;kb=r}c[Ka>>2]=v;Oa=c[Ka+8>>2]|0;if(!ea)lb=Oa;else{c[ea>>2]=Oa;lb=A}c[Oa+4>>2]=ea;gb=kb;hb=lb;ib=Ka;jb=Oa}c[m>>2]=Na;c[n>>2]=La;if(!ab){yr(a,Z,B,m,n);mb=c[n>>2]|0}else mb=La;if((ab|0)>-1&(mb|0)!=0){Oa=(wa|0)!=0;if(Oa?(Ka=c[wa>>2]|0,(Ka|0)!=(La|0)):0){Ja=Ka;do{Ka=Ja;Ja=c[Ja>>2]|0;sa=c[Ka+8>>2]|0;bb=c[sa+12>>2]|0;if((Ja|0)==(Ka|0))nb=0;else{Ca=Ka+4|0;c[Ja+4>>2]=c[Ca>>2];c[c[Ca>>2]>>2]=Ja;nb=Ja}c[bb+8>>2]=nb;bb=c[sa>>2]|0;Ca=c[Ka+12>>2]|0;if((bb|0)==(sa|0))ob=0;else{Qa=sa+4|0;c[bb+4>>2]=c[Qa>>2];c[c[Qa>>2]>>2]=bb;ob=bb}c[Ca+8>>2]=ob;c[Ka>>2]=0;c[Ka+4>>2]=0;c[Ka+8>>2]=0;c[Ka+12>>2]=0;c[Ka+16>>2]=0;c[Ka>>2]=c[da>>2];c[da>>2]=Ka;c[sa>>2]=0;c[sa+4>>2]=0;c[sa+8>>2]=0;c[sa+12>>2]=0;c[sa+16>>2]=0;c[sa>>2]=c[da>>2];c[da>>2]=sa;c[oa>>2]=(c[oa>>2]|0)+-1}while((Ja|0)!=(La|0))}if(!jb){pb=mb;qb=Oa?qa:La;rb=hb}else{if(Oa){c[wa>>2]=hb;sb=La+4|0;tb=qa;ub=wa}else{Ja=La+4|0;sa=c[Ja>>2]|0;c[sa>>2]=hb;sb=Ja;tb=hb;ub=sa}c[hb+4>>2]=ub;c[jb>>2]=La;c[sb>>2]=jb;pb=c[n>>2]|0;qb=tb;rb=0}sa=B;vb=c[pb+12>>2]|0;wb=qb;xb=rb;yb=0;zb=c[sa+88>>2]|0;Ab=c[sa+96>>2]|0;Bb=c[sa+92>>2]|0;Cb=c[pb+8>>2]|0}else{vb=B;wb=qa;xb=hb;yb=jb;zb=$;Ab=K;Bb=X;Cb=wa}sa=c[m>>2]|0;if((ab|0)<1&(sa|0)!=0){Ja=(x|0)!=0;if(Ja?(Ka=c[x+4>>2]|0,(Ka|0)!=(Na|0)):0){Ca=Ka;do{Ka=Ca+4|0;bb=Ca;Ca=c[Ka>>2]|0;Qa=c[bb>>2]|0;Ia=c[bb+8>>2]|0;Pa=c[Ia+12>>2]|0;if((Qa|0)==(bb|0))Db=0;else{c[Qa+4>>2]=Ca;c[c[Ka>>2]>>2]=Qa;Db=Qa}c[Pa+8>>2]=Db;Pa=c[Ia>>2]|0;Qa=c[bb+12>>2]|0;if((Pa|0)==(Ia|0))Eb=0;else{Ka=Ia+4|0;c[Pa+4>>2]=c[Ka>>2];c[c[Ka>>2]>>2]=Pa;Eb=Pa}c[Qa+8>>2]=Eb;c[bb>>2]=0;c[bb+4>>2]=0;c[bb+8>>2]=0;c[bb+12>>2]=0;c[bb+16>>2]=0;c[bb>>2]=c[da>>2];c[da>>2]=bb;c[Ia>>2]=0;c[Ia+4>>2]=0;c[Ia+8>>2]=0;c[Ia+12>>2]=0;c[Ia+16>>2]=0;c[Ia>>2]=c[da>>2];c[da>>2]=Ia;c[oa>>2]=(c[oa>>2]|0)+-1}while((Ca|0)!=(Na|0))}if(!ib){Fb=sa;Gb=Ja?aa:Na;Hb=gb}else{if(Ja){c[x+4>>2]=gb;Ib=Na;Jb=aa;Kb=x}else{Ca=c[Na>>2]|0;c[Ca+4>>2]=gb;Ib=Na;Jb=gb;Kb=Ca}c[gb>>2]=Kb;c[Ib>>2]=ib;c[ib+4>>2]=Na;Fb=c[m>>2]|0;Gb=Jb;Hb=0}Ca=Z;Lb=c[Fb+12>>2]|0;Mb=Gb;Nb=Hb;Ob=0;Pb=c[Ca+88>>2]|0;Qb=c[Ca+96>>2]|0;Rb=c[Ca+92>>2]|0;Sb=c[Fb+8>>2]|0}else{Lb=Z;Mb=aa;Nb=gb;Ob=ib;Pb=zb;Qb=Ab;Rb=Bb;Sb=x}if((Lb|0)==(O|0)&(vb|0)==(P|0)){if(Sb){Ca=Sb+4|0;Oa=c[Ca>>2]|0;if((Oa|0)!=(Mb|0)){Ia=Oa;do{Oa=Ia+4|0;bb=Ia;Ia=c[Oa>>2]|0;Qa=c[bb>>2]|0;Pa=c[bb+8>>2]|0;Ka=c[Pa+12>>2]|0;if((Qa|0)==(bb|0))Tb=0;else{c[Qa+4>>2]=Ia;c[c[Oa>>2]>>2]=Qa;Tb=Qa}c[Ka+8>>2]=Tb;Ka=c[Pa>>2]|0;Qa=c[bb+12>>2]|0;if((Ka|0)==(Pa|0))Ub=0;else{Oa=Pa+4|0;c[Ka+4>>2]=c[Oa>>2];c[c[Oa>>2]>>2]=Ka;Ub=Ka}c[Qa+8>>2]=Ub;c[bb>>2]=0;c[bb+4>>2]=0;c[bb+8>>2]=0;c[bb+12>>2]=0;c[bb+16>>2]=0;c[bb>>2]=c[da>>2];c[da>>2]=bb;c[Pa>>2]=0;c[Pa+4>>2]=0;c[Pa+8>>2]=0;c[Pa+12>>2]=0;c[Pa+16>>2]=0;c[Pa>>2]=c[da>>2];c[da>>2]=Pa;c[oa>>2]=(c[oa>>2]|0)+-1}while((Ia|0)!=(Mb|0))}if(Ob|0){c[Nb>>2]=Sb;c[Ca>>2]=Nb;c[Mb>>2]=Ob;c[Ob+4>>2]=Mb}}else{c[Nb>>2]=Ob;c[Ob+4>>2]=Nb;c[Lb+8>>2]=Ob}if(!Cb){c[yb>>2]=xb;c[xb+4>>2]=yb;c[P+8>>2]=yb;Vb=0;Wb=Lb;Xb=vb;Yb=Mb;Zb=wb;_b=u;$b=Nb;ac=xb;bc=Ob;cc=yb;dc=Pb;ec=Qb;fc=Rb;gc=Sb;hc=0;break}Ia=c[Cb>>2]|0;if((Ia|0)!=(wb|0)){Ja=Ia;do{Ia=Ja;Ja=c[Ja>>2]|0;sa=c[Ia+8>>2]|0;Pa=c[sa+12>>2]|0;if((Ja|0)==(Ia|0))ic=0;else{bb=Ia+4|0;c[Ja+4>>2]=c[bb>>2];c[c[bb>>2]>>2]=Ja;ic=Ja}c[Pa+8>>2]=ic;Pa=c[sa>>2]|0;bb=c[Ia+12>>2]|0;if((Pa|0)==(sa|0))jc=0;else{Qa=sa+4|0;c[Pa+4>>2]=c[Qa>>2];c[c[Qa>>2]>>2]=Pa;jc=Pa}c[bb+8>>2]=jc;c[Ia>>2]=0;c[Ia+4>>2]=0;c[Ia+8>>2]=0;c[Ia+12>>2]=0;c[Ia+16>>2]=0;c[Ia>>2]=c[da>>2];c[da>>2]=Ia;c[sa>>2]=0;c[sa+4>>2]=0;c[sa+8>>2]=0;c[sa+12>>2]=0;c[sa+16>>2]=0;c[sa>>2]=c[da>>2];c[da>>2]=sa;c[oa>>2]=(c[oa>>2]|0)+-1}while((Ja|0)!=(wb|0))}if(!yb){Vb=0;Wb=Lb;Xb=vb;Yb=Mb;Zb=wb;_b=u;$b=Nb;ac=xb;bc=Ob;cc=0;dc=Pb;ec=Qb;fc=Rb;gc=Sb;hc=Cb}else{c[Cb>>2]=xb;c[xb+4>>2]=Cb;c[yb>>2]=wb;c[wb+4>>2]=yb;Vb=0;Wb=Lb;Xb=vb;Yb=Mb;Zb=wb;_b=u;$b=Nb;ac=xb;bc=Ob;cc=yb;dc=Pb;ec=Qb;fc=Rb;gc=Sb;hc=Cb}}else{Vb=1;Wb=Lb;Xb=vb;Yb=Mb;Zb=wb;_b=0;$b=Nb;ac=xb;bc=Ob;cc=yb;dc=Pb;ec=Qb;fc=Rb;gc=Sb;hc=Cb}}else{Ja=wr(a,Aa,ga)|0;c[Ja>>2]=Ja;c[Ja+4>>2]=Ja;c[Aa+8>>2]=Ja;Ca=c[Ja+8>>2]|0;c[Ca>>2]=Ca;c[Ca+4>>2]=Ca;c[B+8>>2]=Ca;Vb=0;Wb=Z;Xb=B;Yb=aa;Zb=qa;_b=u;$b=r;ac=A;bc=v;cc=ea;dc=$;ec=K;fc=X;gc=x;hc=wa}while(0);if(!Vb)break c;ga=Xb;Aa=Wb;Z=Wb;B=Xb;aa=Yb;qa=Zb;u=_b;r=$b;A=ac;v=bc;ea=cc;$=dc;K=ec;X=fc;x=gc;wa=hc}}while(0);i=f;return}}while(0);c[y+8>>2]=0;c[y>>2]=y;c[y+4>>2]=y;c[e>>2]=y;c[e+4>>2]=y;c[e+8>>2]=y;c[e+12>>2]=y;i=f;return}
  109. function Jp(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=c[b>>2]|0;if(d|0)Kp(b,d);d=b+4|0;e=c[d>>2]|0;if(e|0){c[4351]=(c[4351]|0)+1;Ur(c[e+-4>>2]|0)}c[d>>2]=0;c[b+8>>2]=-1;d=b+24|0;e=b+32|0;f=c[e>>2]|0;g=b+36|0;if(f|0){if(a[g>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[f+-4>>2]|0)}c[e>>2]=0}a[g>>0]=1;c[e>>2]=0;c[d>>2]=0;f=b+28|0;c[f>>2]=0;c[b+16>>2]=0;h=b+44|0;i=b+52|0;j=c[i>>2]|0;k=b+56|0;if(!j){a[k>>0]=1;c[i>>2]=0;c[h>>2]=0;c[b+48>>2]=0;a[g>>0]=1;c[e>>2]=0;c[d>>2]=0;c[f>>2]=0;return}if(!(a[k>>0]|0)){a[k>>0]=1;c[i>>2]=0;c[h>>2]=0;c[b+48>>2]=0;a[g>>0]=1;c[e>>2]=0;c[d>>2]=0;c[f>>2]=0;return}c[4351]=(c[4351]|0)+1;Ur(c[j+-4>>2]|0);j=c[e>>2]|0;a[k>>0]=1;c[i>>2]=0;c[h>>2]=0;c[b+48>>2]=0;if(!j){a[g>>0]=1;c[e>>2]=0;c[d>>2]=0;c[f>>2]=0;return}if(a[g>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[j+-4>>2]|0)}c[e>>2]=0;a[g>>0]=1;c[e>>2]=0;c[d>>2]=0;c[f>>2]=0;return}function Kp(a,b){a=a|0;b=b|0;var d=0;d=b+40|0;if(c[d>>2]|0){Kp(a,c[b+36>>2]|0);Kp(a,c[d>>2]|0)}if((c[a>>2]|0)==(b|0))c[a>>2]=0;d=a+4|0;a=c[d>>2]|0;if(!a){c[d>>2]=b;return}c[4351]=(c[4351]|0)+1;Ur(c[a+-4>>2]|0);c[d>>2]=b;return}function Lp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;d=i;i=i+32|0;e=d;if((b|0)<0)f=c[a+12>>2]|0;else f=b;b=c[a>>2]|0;if(!((f|0)>0&(b|0)!=0)){i=d;return}g=a+16|0;h=f;f=b;while(1){b=f+40|0;if(!(c[b>>2]|0))j=f;else{k=b;b=0;l=f;while(1){m=(c[g>>2]|0)>>>b&1;n=l+32|0;o=c[n>>2]|0;if(o>>>0>l>>>0){p=o+40|0;q=(c[p>>2]|0)==(l|0)&1;r=q^1;s=c[o+36+(r<<2)>>2]|0;t=o+32|0;u=c[t>>2]|0;if(!u)c[a>>2]=l;else c[u+36+(((c[u+40>>2]|0)==(o|0)&1)<<2)>>2]=l;c[s+32>>2]=l;c[t>>2]=l;c[n>>2]=u;u=l+36|0;c[o+36>>2]=c[u>>2];c[p>>2]=c[k>>2];c[(c[u>>2]|0)+32>>2]=o;c[(c[k>>2]|0)+32>>2]=o;c[l+36+(q<<2)>>2]=o;c[l+36+(r<<2)>>2]=s;c[e>>2]=c[o>>2];c[e+4>>2]=c[o+4>>2];c[e+8>>2]=c[o+8>>2];c[e+12>>2]=c[o+12>>2];c[e+16>>2]=c[o+16>>2];c[e+20>>2]=c[o+20>>2];c[e+24>>2]=c[o+24>>2];c[e+28>>2]=c[o+28>>2];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];c[o+24>>2]=c[l+24>>2];c[o+28>>2]=c[l+28>>2];c[l>>2]=c[e>>2];c[l+4>>2]=c[e+4>>2];c[l+8>>2]=c[e+8>>2];c[l+12>>2]=c[e+12>>2];c[l+16>>2]=c[e+16>>2];c[l+20>>2]=c[e+20>>2];c[l+24>>2]=c[e+24>>2];c[l+28>>2]=c[e+28>>2];v=o}else v=l;o=c[v+36+(m<<2)>>2]|0;k=o+40|0;if(!(c[k>>2]|0)){j=o;break}else{b=b+1&31;l=o}}}if(!(Mp(a,j)|0))w=0;else w=c[a>>2]|0;Np(a,w,j);c[g>>2]=(c[g>>2]|0)+1;l=h+-1|0;if(!l)break;h=l;f=c[a>>2]|0}i=d;return}function Mp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=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,A=0;if((c[a>>2]|0)==(b|0)){c[a>>2]=0;d=0;return d|0}e=c[b+32>>2]|0;f=c[e+32>>2]|0;h=c[e+36+(((c[e+40>>2]|0)!=(b|0)&1)<<2)>>2]|0;if(!f){c[a>>2]=h;c[h+32>>2]=0;b=a+4|0;i=c[b>>2]|0;if(!i)j=h;else{c[4351]=(c[4351]|0)+1;Ur(c[i+-4>>2]|0);j=c[a>>2]|0}c[b>>2]=e;d=j;return d|0}c[f+36+(((c[f+40>>2]|0)==(e|0)&1)<<2)>>2]=h;c[h+32>>2]=f;h=a+4|0;j=c[h>>2]|0;if(j|0){c[4351]=(c[4351]|0)+1;Ur(c[j+-4>>2]|0)}c[h>>2]=e;e=f;do{k=+g[e>>2];f=e+4|0;l=+g[f>>2];h=e+8|0;m=+g[h>>2];j=e+16|0;n=+g[j>>2];b=e+20|0;o=+g[b>>2];i=e+24|0;p=+g[i>>2];q=c[e+36>>2]|0;r=c[e+40>>2]|0;s=+g[q>>2];t=+g[r>>2];u=s<t?s:t;g[e>>2]=u;t=+g[q+16>>2];s=+g[r+16>>2];v=t>s?t:s;g[j>>2]=v;s=+g[q+4>>2];t=+g[r+4>>2];w=s<t?s:t;g[f>>2]=w;t=+g[q+20>>2];s=+g[r+20>>2];x=t>s?t:s;g[b>>2]=x;s=+g[q+8>>2];t=+g[r+8>>2];y=s<t?s:t;g[h>>2]=y;t=+g[q+24>>2];s=+g[r+24>>2];z=t>s?t:s;g[i>>2]=z;if(!(k!=u|l!=w|m!=y|n!=v)?!(p!=z|o!=x):0){d=e;A=14;break}e=c[e+32>>2]|0}while((e|0)!=0);if((A|0)==14)return d|0;d=c[a>>2]|0;return d|0}function Np(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0.0,j=0.0,k=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.0,v=0;if(!(c[a>>2]|0)){c[a>>2]=d;c[d+32>>2]=0;return}e=c[b+40>>2]|0;if(!e)f=b;else{h=+g[d>>2]+ +g[d+16>>2];i=+g[d+4>>2]+ +g[d+20>>2];j=+g[d+8>>2]+ +g[d+24>>2];k=b;b=e;while(1){e=c[k+36>>2]|0;l=+N(+(h-(+g[e>>2]+ +g[e+16>>2])))+ +N(+(i-(+g[e+4>>2]+ +g[e+20>>2])))+ +N(+(j-(+g[e+8>>2]+ +g[e+24>>2])));e=c[k+36+((!(l<+N(+(h-(+g[b>>2]+ +g[b+16>>2])))+ +N(+(i-(+g[b+4>>2]+ +g[b+20>>2])))+ +N(+(j-(+g[b+8>>2]+ +g[b+24>>2]))))&1)<<2)>>2]|0;b=c[e+40>>2]|0;if(!b){f=e;break}else k=e}}k=f+32|0;b=c[k>>2]|0;e=a+4|0;m=c[e>>2]|0;if(!m){c[4350]=(c[4350]|0)+1;n=Tr(63)|0;if(!n)o=0;else{p=n+4+15&-16;c[p+-4>>2]=n;o=p}p=o;n=p+44|0;do{c[p>>2]=0;p=p+4|0}while((p|0)<(n|0));q=o}else{c[e>>2]=0;q=m}c[q+32>>2]=b;c[q+36>>2]=0;m=q+40|0;c[m>>2]=0;j=+g[d>>2];i=+g[f>>2];h=j<i?j:i;g[q>>2]=h;i=+g[d+16>>2];j=+g[f+16>>2];l=i>j?i:j;g[q+16>>2]=l;j=+g[d+4>>2];i=+g[f+4>>2];r=j<i?j:i;g[q+4>>2]=r;i=+g[d+20>>2];j=+g[f+20>>2];s=i>j?i:j;g[q+20>>2]=s;j=+g[d+8>>2];i=+g[f+8>>2];t=j<i?j:i;g[q+8>>2]=t;i=+g[d+24>>2];j=+g[f+24>>2];u=i>j?i:j;g[q+24>>2]=u;if(!b){c[q+36>>2]=f;c[k>>2]=q;c[m>>2]=d;c[d+32>>2]=q;c[a>>2]=q;return}c[b+36+(((c[(c[k>>2]|0)+40>>2]|0)==(f|0)&1)<<2)>>2]=q;c[q+36>>2]=f;c[k>>2]=q;c[m>>2]=d;c[d+32>>2]=q;j=h;h=r;r=t;t=l;l=s;s=u;q=b;while(1){b=q+4|0;if(((((+g[q>>2]<=j?+g[b>>2]<=h:0)?+g[q+8>>2]<=r:0)?+g[q+16>>2]>=t:0)?+g[q+20>>2]>=l:0)?+g[q+24>>2]>=s:0){v=21;break}d=c[q+36>>2]|0;m=c[q+40>>2]|0;u=+g[d>>2];i=+g[m>>2];j=u<i?u:i;g[q>>2]=j;i=+g[d+16>>2];u=+g[m+16>>2];t=i>u?i:u;g[q+16>>2]=t;u=+g[d+4>>2];i=+g[m+4>>2];h=u<i?u:i;g[b>>2]=h;i=+g[d+20>>2];u=+g[m+20>>2];l=i>u?i:u;g[q+20>>2]=l;u=+g[d+8>>2];i=+g[m+8>>2];r=u<i?u:i;g[q+8>>2]=r;i=+g[d+24>>2];u=+g[m+24>>2];s=i>u?i:u;g[q+24>>2]=s;q=c[q+32>>2]|0;if(!q){v=21;break}}if((v|0)==21)return}function Op(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;c[b>>2]=6148;d=b+152|0;e=b+160|0;f=c[e>>2]|0;g=b+164|0;if(f|0){if(a[g>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[f+-4>>2]|0)}c[e>>2]=0}a[g>>0]=1;c[e>>2]=0;c[d>>2]=0;c[b+156>>2]=0;d=b+128|0;e=b+136|0;g=c[e>>2]|0;f=b+140|0;if(g|0){if(a[f>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[g+-4>>2]|0)}c[e>>2]=0}a[f>>0]=1;c[e>>2]=0;c[d>>2]=0;c[b+132>>2]=0;d=b+108|0;e=b+116|0;f=c[e>>2]|0;g=b+120|0;if(f|0){if(a[g>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[f+-4>>2]|0)}c[e>>2]=0}a[g>>0]=1;c[e>>2]=0;c[d>>2]=0;c[b+112>>2]=0;d=b+88|0;e=b+96|0;g=c[e>>2]|0;f=b+100|0;if(g|0){if(a[f>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[g+-4>>2]|0)}c[e>>2]=0}a[f>>0]=1;c[e>>2]=0;c[d>>2]=0;c[b+92>>2]=0;d=b+68|0;e=b+76|0;f=c[e>>2]|0;g=b+80|0;if(!f){a[g>>0]=1;c[e>>2]=0;c[d>>2]=0;h=b+72|0;c[h>>2]=0;return}if(a[g>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[f+-4>>2]|0)}c[e>>2]=0;a[g>>0]=1;c[e>>2]=0;c[d>>2]=0;h=b+72|0;c[h>>2]=0;return}function Pp(a){a=a|0;Op(a);if(!a)return;c[4351]=(c[4351]|0)+1;Ur(c[a+-4>>2]|0);return}function Qp(d,f,h,i){d=d|0;f=f|0;h=h|0;i=i|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;h=d+168|0;c[h>>2]=c[d+152>>2];c[f>>2]=6148;j=f+4|0;k=f+20|0;c[f+52>>2]=283;l=f+60|0;a[l>>0]=0;a[f+80>>0]=1;c[f+76>>2]=0;c[f+68>>2]=0;c[f+72>>2]=0;m=f+100|0;a[m>>0]=1;n=f+96|0;c[n>>2]=0;o=f+88|0;c[o>>2]=0;p=f+92|0;c[p>>2]=0;a[f+120>>0]=1;c[f+116>>2]=0;c[f+108>>2]=0;c[f+112>>2]=0;q=f+140|0;a[q>>0]=1;r=f+136|0;c[r>>2]=0;s=f+128|0;c[s>>2]=0;t=f+132|0;c[t>>2]=0;u=f+144|0;c[u>>2]=0;v=f+164|0;a[v>>0]=1;w=f+160|0;c[w>>2]=0;x=f+152|0;c[x>>2]=0;y=f+156|0;c[y>>2]=0;z=f+168|0;c[z>>2]=0;c[j>>2]=-8388609;A=f+8|0;c[A>>2]=-8388609;B=f+12|0;c[B>>2]=-8388609;C=f+16|0;g[C>>2]=0.0;c[k>>2]=2139095039;D=f+24|0;c[D>>2]=2139095039;E=f+28|0;c[E>>2]=2139095039;F=f+32|0;g[F>>2]=0.0;G=d+56|0;H=c[G>>2]|0;if(i){c[f+56>>2]=Is(H|0)|0;I=d+4|0;a[j>>0]=a[I+3>>0]|0;a[f+5>>0]=a[I+2>>0]|0;a[f+6>>0]=a[I+1>>0]|0;a[f+7>>0]=a[I>>0]|0;I=d+8|0;a[A>>0]=a[I+3>>0]|0;a[f+9>>0]=a[I+2>>0]|0;a[f+10>>0]=a[I+1>>0]|0;a[f+11>>0]=a[I>>0]|0;I=d+12|0;a[B>>0]=a[I+3>>0]|0;a[f+13>>0]=a[I+2>>0]|0;a[f+14>>0]=a[I+1>>0]|0;a[f+15>>0]=a[I>>0]|0;I=d+16|0;a[C>>0]=a[I+3>>0]|0;a[f+17>>0]=a[I+2>>0]|0;a[f+18>>0]=a[I+1>>0]|0;a[f+19>>0]=a[I>>0]|0;I=d+20|0;a[k>>0]=a[I+3>>0]|0;a[f+21>>0]=a[I+2>>0]|0;a[f+22>>0]=a[I+1>>0]|0;a[f+23>>0]=a[I>>0]|0;I=d+24|0;a[D>>0]=a[I+3>>0]|0;a[f+25>>0]=a[I+2>>0]|0;a[f+26>>0]=a[I+1>>0]|0;a[f+27>>0]=a[I>>0]|0;I=d+28|0;a[E>>0]=a[I+3>>0]|0;a[f+29>>0]=a[I+2>>0]|0;a[f+30>>0]=a[I+1>>0]|0;a[f+31>>0]=a[I>>0]|0;I=d+32|0;a[F>>0]=a[I+3>>0]|0;a[f+33>>0]=a[I+2>>0]|0;a[f+34>>0]=a[I+1>>0]|0;a[f+35>>0]=a[I>>0]|0;I=d+36|0;a[f+36>>0]=a[I+3>>0]|0;a[f+37>>0]=a[I+2>>0]|0;a[f+38>>0]=a[I+1>>0]|0;a[f+39>>0]=a[I>>0]|0;I=d+40|0;a[f+40>>0]=a[I+3>>0]|0;a[f+41>>0]=a[I+2>>0]|0;a[f+42>>0]=a[I+1>>0]|0;a[f+43>>0]=a[I>>0]|0;I=d+44|0;a[f+44>>0]=a[I+3>>0]|0;a[f+45>>0]=a[I+2>>0]|0;a[f+46>>0]=a[I+1>>0]|0;a[f+47>>0]=a[I>>0]|0;I=d+48|0;a[f+48>>0]=a[I+3>>0]|0;a[f+49>>0]=a[I+2>>0]|0;a[f+50>>0]=a[I+1>>0]|0;a[f+51>>0]=a[I>>0]|0;c[u>>2]=Is(c[d+144>>2]|0)|0;J=Is(c[h>>2]|0)|0}else{c[f+56>>2]=H;H=d+4|0;c[j>>2]=c[H>>2];c[j+4>>2]=c[H+4>>2];c[j+8>>2]=c[H+8>>2];c[j+12>>2]=c[H+12>>2];H=d+20|0;c[k>>2]=c[H>>2];c[k+4>>2]=c[H+4>>2];c[k+8>>2]=c[H+8>>2];c[k+12>>2]=c[H+12>>2];H=f+36|0;k=d+36|0;c[H>>2]=c[k>>2];c[H+4>>2]=c[k+4>>2];c[H+8>>2]=c[k+8>>2];c[H+12>>2]=c[k+12>>2];c[u>>2]=c[d+144>>2];J=c[h>>2]|0}c[z>>2]=J;J=d+60|0;a[l>>0]=a[J>>0]|0;l=f+172|0;z=c[G>>2]|0;if(!(a[J>>0]|0)){J=c[n>>2]|0;if(J|0){if(a[m>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[J+-4>>2]|0)}c[n>>2]=0};c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;a[o+12>>0]=0;c[n>>2]=l;c[o>>2]=z;c[p>>2]=z;p=(z|0)>0;if(i)if(p){J=d+96|0;G=c[J>>2]|0;u=l;k=0;while(1){H=G+(k<<6)|0;j=u+(k<<6)|0;a[j>>0]=a[H+3>>0]|0;a[j+1>>0]=a[H+2>>0]|0;a[j+2>>0]=a[H+1>>0]|0;a[j+3>>0]=a[H>>0]|0;H=G+(k<<6)+4|0;j=u+(k<<6)+4|0;a[j>>0]=a[H+3>>0]|0;a[j+1>>0]=a[H+2>>0]|0;a[j+2>>0]=a[H+1>>0]|0;a[j+3>>0]=a[H>>0]|0;H=G+(k<<6)+8|0;j=u+(k<<6)+8|0;a[j>>0]=a[H+3>>0]|0;a[j+1>>0]=a[H+2>>0]|0;a[j+2>>0]=a[H+1>>0]|0;a[j+3>>0]=a[H>>0]|0;H=G+(k<<6)+12|0;j=u+(k<<6)+12|0;a[j>>0]=a[H+3>>0]|0;a[j+1>>0]=a[H+2>>0]|0;a[j+2>>0]=a[H+1>>0]|0;a[j+3>>0]=a[H>>0]|0;H=c[J>>2]|0;j=H+(k<<6)+16|0;I=c[n>>2]|0;F=I+(k<<6)+16|0;a[F>>0]=a[j+3>>0]|0;a[F+1>>0]=a[j+2>>0]|0;a[F+2>>0]=a[j+1>>0]|0;a[F+3>>0]=a[j>>0]|0;j=H+(k<<6)+20|0;F=I+(k<<6)+20|0;a[F>>0]=a[j+3>>0]|0;a[F+1>>0]=a[j+2>>0]|0;a[F+2>>0]=a[j+1>>0]|0;a[F+3>>0]=a[j>>0]|0;j=H+(k<<6)+24|0;F=I+(k<<6)+24|0;a[F>>0]=a[j+3>>0]|0;a[F+1>>0]=a[j+2>>0]|0;a[F+2>>0]=a[j+1>>0]|0;a[F+3>>0]=a[j>>0]|0;j=H+(k<<6)+28|0;H=I+(k<<6)+28|0;a[H>>0]=a[j+3>>0]|0;a[H+1>>0]=a[j+2>>0]|0;a[H+2>>0]=a[j+1>>0]|0;a[H+3>>0]=a[j>>0]|0;G=c[J>>2]|0;j=Is(c[G+(k<<6)+32>>2]|0)|0;H=c[n>>2]|0;c[H+(k<<6)+32>>2]=j;c[H+(k<<6)+36>>2]=Is(c[G+(k<<6)+36>>2]|0)|0;c[H+(k<<6)+40>>2]=Is(c[G+(k<<6)+40>>2]|0)|0;k=k+1|0;if((k|0)==(z|0)){K=H;break}else u=H}}else K=l;else if(p){p=d+96|0;u=l;k=c[p>>2]|0;G=0;while(1){J=u+(G<<6)|0;H=k+(G<<6)|0;c[J>>2]=c[H>>2];c[J+4>>2]=c[H+4>>2];c[J+8>>2]=c[H+8>>2];c[J+12>>2]=c[H+12>>2];H=(c[n>>2]|0)+(G<<6)+16|0;J=(c[p>>2]|0)+(G<<6)+16|0;c[H>>2]=c[J>>2];c[H+4>>2]=c[J+4>>2];c[H+8>>2]=c[J+8>>2];c[H+12>>2]=c[J+12>>2];k=c[p>>2]|0;J=c[n>>2]|0;c[J+(G<<6)+32>>2]=c[k+(G<<6)+32>>2];c[J+(G<<6)+36>>2]=c[k+(G<<6)+36>>2];c[J+(G<<6)+40>>2]=c[k+(G<<6)+40>>2];G=G+1|0;if((G|0)==(z|0)){K=J;break}else u=J}}else K=l;u=z<<6;if(K|0){if(a[m>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[K+-4>>2]|0)}c[n>>2]=0};c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;a[o+12>>0]=0;L=u}else{u=c[r>>2]|0;if(u|0){if(a[q>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[u+-4>>2]|0)}c[r>>2]=0};c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;a[s+12>>0]=0;c[r>>2]=l;c[s>>2]=z;c[t>>2]=z;t=(z|0)>0;if(i){if(t){u=c[d+136>>2]|0;q=0;do{o=e[u+(q<<4)>>1]|0;b[l+(q<<4)>>1]=o>>>8|o<<8;o=e[u+(q<<4)+2>>1]|0;b[l+(q<<4)+2>>1]=o>>>8|o<<8;o=e[u+(q<<4)+4>>1]|0;b[l+(q<<4)+4>>1]=o>>>8|o<<8;o=e[u+(q<<4)+6>>1]|0;b[l+(q<<4)+6>>1]=o>>>8|o<<8;o=e[u+(q<<4)+8>>1]|0;b[l+(q<<4)+8>>1]=o>>>8|o<<8;o=e[u+(q<<4)+10>>1]|0;b[l+(q<<4)+10>>1]=o>>>8|o<<8;c[l+(q<<4)+12>>2]=Is(c[u+(q<<4)+12>>2]|0)|0;q=q+1|0}while((q|0)!=(z|0))}}else if(t){t=c[d+136>>2]|0;q=0;do{b[l+(q<<4)>>1]=b[t+(q<<4)>>1]|0;b[l+(q<<4)+2>>1]=b[t+(q<<4)+2>>1]|0;b[l+(q<<4)+4>>1]=b[t+(q<<4)+4>>1]|0;b[l+(q<<4)+6>>1]=b[t+(q<<4)+6>>1]|0;b[l+(q<<4)+8>>1]=b[t+(q<<4)+8>>1]|0;b[l+(q<<4)+10>>1]=b[t+(q<<4)+10>>1]|0;c[l+(q<<4)+12>>2]=c[t+(q<<4)+12>>2];q=q+1|0}while((q|0)!=(z|0))}if(c[r>>2]|0)c[r>>2]=0;c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;a[s+12>>0]=0;L=z<<4}z=l+L|0;L=c[h>>2]|0;l=c[w>>2]|0;if(l|0){if(a[v>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[l+-4>>2]|0)}c[w>>2]=0};c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;a[x+12>>0]=0;c[w>>2]=z;c[x>>2]=L;c[y>>2]=L;L=c[h>>2]|0;y=(L|0)>0;if(i){if(y){i=c[d+160>>2]|0;l=0;do{v=e[i+(l<<5)>>1]|0;b[z+(l<<5)>>1]=v>>>8|v<<8;v=e[i+(l<<5)+2>>1]|0;b[z+(l<<5)+2>>1]=v>>>8|v<<8;v=e[i+(l<<5)+4>>1]|0;b[z+(l<<5)+4>>1]=v>>>8|v<<8;v=e[i+(l<<5)+6>>1]|0;b[z+(l<<5)+6>>1]=v>>>8|v<<8;v=e[i+(l<<5)+8>>1]|0;b[z+(l<<5)+8>>1]=v>>>8|v<<8;v=e[i+(l<<5)+10>>1]|0;b[z+(l<<5)+10>>1]=v>>>8|v<<8;c[z+(l<<5)+12>>2]=Is(c[i+(l<<5)+12>>2]|0)|0;c[z+(l<<5)+16>>2]=Is(c[i+(l<<5)+16>>2]|0)|0;l=l+1|0}while((l|0)!=(L|0))}}else if(y){y=c[d+160>>2]|0;d=0;do{b[z+(d<<5)>>1]=b[y+(d<<5)>>1]|0;b[z+(d<<5)+2>>1]=b[y+(d<<5)+2>>1]|0;b[z+(d<<5)+4>>1]=b[y+(d<<5)+4>>1]|0;b[z+(d<<5)+6>>1]=b[y+(d<<5)+6>>1]|0;b[z+(d<<5)+8>>1]=b[y+(d<<5)+8>>1]|0;b[z+(d<<5)+10>>1]=b[y+(d<<5)+10>>1]|0;c[z+(d<<5)+12>>2]=c[y+(d<<5)+12>>2];c[z+(d<<5)+16>>2]=c[y+(d<<5)+16>>2];c[z+(d<<5)+20>>2]=0;c[z+(d<<5)+24>>2]=0;c[z+(d<<5)+28>>2]=0;d=d+1|0}while((d|0)<(c[h>>2]|0))}if(!(c[w>>2]|0)){c[f>>2]=0;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;a[x+12>>0]=0;return 1}c[w>>2]=0;c[f>>2]=0;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;a[x+12>>0]=0;return 1}function Rp(a,e,f){a=a|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;c[e+16>>2]=c[a+20>>2];c[e+20>>2]=c[a+24>>2];c[e+24>>2]=c[a+28>>2];c[e+28>>2]=c[a+32>>2];c[e>>2]=c[a+4>>2];c[e+4>>2]=c[a+8>>2];c[e+8>>2]=c[a+12>>2];c[e+12>>2]=c[a+16>>2];c[e+32>>2]=c[a+36>>2];c[e+36>>2]=c[a+40>>2];c[e+40>>2]=c[a+44>>2];c[e+44>>2]=c[a+48>>2];c[e+48>>2]=c[a+56>>2];c[e+52>>2]=d[a+60>>0];g=a+88|0;h=c[g>>2]|0;c[e+56>>2]=h;if(h){h=a+96|0;i=Rb[c[(c[f>>2]|0)+28>>2]&31](f,c[h>>2]|0)|0;c[e+64>>2]=i;if(i|0){i=c[g>>2]|0;g=Hb[c[(c[f>>2]|0)+16>>2]&31](f,48,i)|0;if((i|0)>0){j=c[h>>2]|0;k=0;l=c[g+8>>2]|0;while(1){c[l+16>>2]=c[j+(k<<6)+16>>2];c[l+20>>2]=c[j+(k<<6)+20>>2];c[l+24>>2]=c[j+(k<<6)+24>>2];c[l+28>>2]=c[j+(k<<6)+28>>2];c[l>>2]=c[j+(k<<6)>>2];c[l+4>>2]=c[j+(k<<6)+4>>2];c[l+8>>2]=c[j+(k<<6)+8>>2];c[l+12>>2]=c[j+(k<<6)+12>>2];c[l+32>>2]=c[j+(k<<6)+32>>2];c[l+36>>2]=c[j+(k<<6)+36>>2];c[l+40>>2]=c[j+(k<<6)+40>>2];k=k+1|0;if((k|0)==(i|0))break;else l=l+48|0}m=j}else m=c[h>>2]|0;tb[c[(c[f>>2]|0)+20>>2]&31](f,g,12471,1497453121,m)}}else c[e+64>>2]=0;m=a+128|0;g=c[m>>2]|0;c[e+60>>2]=g;if(g){g=a+136|0;h=Rb[c[(c[f>>2]|0)+28>>2]&31](f,c[g>>2]|0)|0;c[e+68>>2]=h;if(h|0){h=c[m>>2]|0;m=Hb[c[(c[f>>2]|0)+16>>2]&31](f,16,h)|0;if((h|0)>0){j=c[g>>2]|0;l=0;i=c[m+8>>2]|0;while(1){c[i+12>>2]=c[j+(l<<4)+12>>2];b[i+6>>1]=b[j+(l<<4)+6>>1]|0;b[i+8>>1]=b[j+(l<<4)+8>>1]|0;b[i+10>>1]=b[j+(l<<4)+10>>1]|0;b[i>>1]=b[j+(l<<4)>>1]|0;b[i+2>>1]=b[j+(l<<4)+2>>1]|0;b[i+4>>1]=b[j+(l<<4)+4>>1]|0;l=l+1|0;if((l|0)==(h|0))break;else i=i+16|0}n=j}else n=c[g>>2]|0;tb[c[(c[f>>2]|0)+20>>2]&31](f,m,12494,1497453121,n)}}else c[e+68>>2]=0;c[e+76>>2]=c[a+144>>2];n=a+152|0;m=c[n>>2]|0;c[e+80>>2]=m;if(!m){c[e+72>>2]=0;return 12538}m=a+160|0;a=Rb[c[(c[f>>2]|0)+28>>2]&31](f,c[m>>2]|0)|0;c[e+72>>2]=a;if(!a)return 12538;a=c[n>>2]|0;n=Hb[c[(c[f>>2]|0)+16>>2]&31](f,20,a)|0;if((a|0)>0){e=c[m>>2]|0;g=0;j=c[n+8>>2]|0;while(1){b[j+14>>1]=b[e+(g<<5)+6>>1]|0;b[j+16>>1]=b[e+(g<<5)+8>>1]|0;b[j+18>>1]=b[e+(g<<5)+10>>1]|0;b[j+8>>1]=b[e+(g<<5)>>1]|0;b[j+10>>1]=b[e+(g<<5)+2>>1]|0;b[j+12>>1]=b[e+(g<<5)+4>>1]|0;c[j>>2]=c[e+(g<<5)+12>>2];c[j+4>>2]=c[e+(g<<5)+16>>2];g=g+1|0;if((g|0)==(a|0))break;else j=j+20|0}o=e}else o=c[m>>2]|0;tb[c[(c[f>>2]|0)+20>>2]&31](f,n,12517,1497453121,o);return 12538}function Sp(d,e){d=d|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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;f=i;i=i+112|0;g=f+48|0;h=f+32|0;j=f;c[d+20>>2]=c[e+16>>2];c[d+24>>2]=c[e+20>>2];c[d+28>>2]=c[e+24>>2];c[d+32>>2]=c[e+28>>2];c[d+4>>2]=c[e>>2];c[d+8>>2]=c[e+4>>2];c[d+12>>2]=c[e+8>>2];c[d+16>>2]=c[e+12>>2];c[d+36>>2]=c[e+32>>2];c[d+40>>2]=c[e+36>>2];c[d+44>>2]=c[e+40>>2];c[d+48>>2]=c[e+44>>2];c[d+56>>2]=c[e+48>>2];a[d+60>>0]=(c[e+52>>2]|0)!=0&1;k=c[e+56>>2]|0;l=g;m=l+64|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));n=d+88|0;o=c[n>>2]|0;if((o|0)<(k|0)){p=d+92|0;if((c[p>>2]|0)<(k|0)){if(!k){q=0;r=o}else{c[4350]=(c[4350]|0)+1;s=Tr(k<<6|19)|0;if(!s)t=0;else{u=s+4+15&-16;c[u+-4>>2]=s;t=u}q=t;r=c[n>>2]|0}t=d+96|0;if((r|0)>0){u=0;do{l=q+(u<<6)|0;v=(c[t>>2]|0)+(u<<6)|0;m=l+64|0;do{c[l>>2]=c[v>>2];l=l+4|0;v=v+4|0}while((l|0)<(m|0));u=u+1|0}while((u|0)!=(r|0))}r=c[t>>2]|0;u=d+100|0;if(r|0){if(a[u>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[r+-4>>2]|0)}c[t>>2]=0}a[u>>0]=1;c[t>>2]=q;c[p>>2]=k;w=t}else w=d+96|0;t=o;do{l=(c[w>>2]|0)+(t<<6)|0;v=g;m=l+64|0;do{c[l>>2]=c[v>>2];l=l+4|0;v=v+4|0}while((l|0)<(m|0));t=t+1|0}while((t|0)!=(k|0))}c[n>>2]=k;if((k|0)>0){n=c[d+96>>2]|0;t=0;v=c[e+64>>2]|0;while(1){c[n+(t<<6)+16>>2]=c[v+16>>2];c[n+(t<<6)+20>>2]=c[v+20>>2];c[n+(t<<6)+24>>2]=c[v+24>>2];c[n+(t<<6)+28>>2]=c[v+28>>2];c[n+(t<<6)>>2]=c[v>>2];c[n+(t<<6)+4>>2]=c[v+4>>2];c[n+(t<<6)+8>>2]=c[v+8>>2];c[n+(t<<6)+12>>2]=c[v+12>>2];c[n+(t<<6)+32>>2]=c[v+32>>2];c[n+(t<<6)+36>>2]=c[v+36>>2];c[n+(t<<6)+40>>2]=c[v+40>>2];t=t+1|0;if((t|0)==(k|0))break;else v=v+48|0}}v=c[e+60>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;k=d+128|0;t=c[k>>2]|0;if((t|0)<(v|0)){n=d+132|0;if((c[n>>2]|0)<(v|0)){if(!v){x=0;y=t}else{c[4350]=(c[4350]|0)+1;l=Tr((v<<4|3)+16|0)|0;if(!l)z=0;else{m=l+4+15&-16;c[m+-4>>2]=l;z=m}x=z;y=c[k>>2]|0}z=d+136|0;if((y|0)>0){m=0;do{l=x+(m<<4)|0;g=(c[z>>2]|0)+(m<<4)|0;c[l>>2]=c[g>>2];c[l+4>>2]=c[g+4>>2];c[l+8>>2]=c[g+8>>2];c[l+12>>2]=c[g+12>>2];m=m+1|0}while((m|0)!=(y|0))}y=c[z>>2]|0;m=d+140|0;if(y|0){if(a[m>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[y+-4>>2]|0)}c[z>>2]=0}a[m>>0]=1;c[z>>2]=x;c[n>>2]=v;A=z}else A=d+136|0;z=t;do{t=(c[A>>2]|0)+(z<<4)|0;c[t>>2]=c[h>>2];c[t+4>>2]=c[h+4>>2];c[t+8>>2]=c[h+8>>2];c[t+12>>2]=c[h+12>>2];z=z+1|0}while((z|0)!=(v|0))}c[k>>2]=v;if((v|0)>0){k=c[d+136>>2]|0;z=0;h=c[e+68>>2]|0;while(1){c[k+(z<<4)+12>>2]=c[h+12>>2];b[k+(z<<4)+6>>1]=b[h+6>>1]|0;b[k+(z<<4)+8>>1]=b[h+8>>1]|0;b[k+(z<<4)+10>>1]=b[h+10>>1]|0;b[k+(z<<4)>>1]=b[h>>1]|0;b[k+(z<<4)+2>>1]=b[h+2>>1]|0;b[k+(z<<4)+4>>1]=b[h+4>>1]|0;z=z+1|0;if((z|0)==(v|0))break;else h=h+16|0}}c[d+144>>2]=c[e+76>>2];h=c[e+80>>2]|0;v=d+152|0;z=c[v>>2]|0;if((z|0)<(h|0)){k=d+156|0;if((c[k>>2]|0)<(h|0)){if(!h){B=0;C=z}else{c[4350]=(c[4350]|0)+1;A=Tr(h<<5|19)|0;if(!A)D=0;else{t=A+4+15&-16;c[t+-4>>2]=A;D=t}B=D;C=c[v>>2]|0}D=d+160|0;if((C|0)>0){t=0;do{A=B+(t<<5)|0;n=(c[D>>2]|0)+(t<<5)|0;c[A>>2]=c[n>>2];c[A+4>>2]=c[n+4>>2];c[A+8>>2]=c[n+8>>2];c[A+12>>2]=c[n+12>>2];c[A+16>>2]=c[n+16>>2];c[A+20>>2]=c[n+20>>2];c[A+24>>2]=c[n+24>>2];c[A+28>>2]=c[n+28>>2];t=t+1|0}while((t|0)!=(C|0))}C=c[D>>2]|0;t=d+164|0;if(C|0){if(a[t>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[C+-4>>2]|0)}c[D>>2]=0}a[t>>0]=1;c[D>>2]=B;c[k>>2]=h;E=D}else E=d+160|0;D=z;do{z=(c[E>>2]|0)+(D<<5)|0;c[z>>2]=c[j>>2];c[z+4>>2]=c[j+4>>2];c[z+8>>2]=c[j+8>>2];c[z+12>>2]=c[j+12>>2];c[z+16>>2]=c[j+16>>2];c[z+20>>2]=c[j+20>>2];c[z+24>>2]=c[j+24>>2];c[z+28>>2]=c[j+28>>2];D=D+1|0}while((D|0)!=(h|0))}c[v>>2]=h;if((h|0)<=0){i=f;return}v=c[d+160>>2]|0;d=0;D=c[e+72>>2]|0;while(1){b[v+(d<<5)+6>>1]=b[D+14>>1]|0;b[v+(d<<5)+8>>1]=b[D+16>>1]|0;b[v+(d<<5)+10>>1]=b[D+18>>1]|0;b[v+(d<<5)>>1]=b[D+8>>1]|0;b[v+(d<<5)+2>>1]=b[D+10>>1]|0;b[v+(d<<5)+4>>1]=b[D+12>>1]|0;c[v+(d<<5)+12>>2]=c[D>>2];c[v+(d<<5)+16>>2]=c[D+4>>2];d=d+1|0;if((d|0)==(h|0))break;else D=D+20|0}i=f;return}function Tp(d,e){d=d|0;e=e|0;var f=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;f=i;i=i+112|0;j=f+48|0;k=f+32|0;l=f;g[d+20>>2]=+h[e+32>>3];g[d+24>>2]=+h[e+40>>3];g[d+28>>2]=+h[e+48>>3];g[d+32>>2]=+h[e+56>>3];g[d+4>>2]=+h[e>>3];g[d+8>>2]=+h[e+8>>3];g[d+12>>2]=+h[e+16>>3];g[d+16>>2]=+h[e+24>>3];g[d+36>>2]=+h[e+64>>3];g[d+40>>2]=+h[e+72>>3];g[d+44>>2]=+h[e+80>>3];g[d+48>>2]=+h[e+88>>3];c[d+56>>2]=c[e+96>>2];a[d+60>>0]=(c[e+100>>2]|0)!=0&1;m=c[e+104>>2]|0;n=j;o=n+64|0;do{c[n>>2]=0;n=n+4|0}while((n|0)<(o|0));p=d+88|0;q=c[p>>2]|0;if((q|0)<(m|0)){r=d+92|0;if((c[r>>2]|0)<(m|0)){if(!m){s=0;t=q}else{c[4350]=(c[4350]|0)+1;u=Tr(m<<6|19)|0;if(!u)v=0;else{w=u+4+15&-16;c[w+-4>>2]=u;v=w}s=v;t=c[p>>2]|0}v=d+96|0;if((t|0)>0){w=0;do{n=s+(w<<6)|0;x=(c[v>>2]|0)+(w<<6)|0;o=n+64|0;do{c[n>>2]=c[x>>2];n=n+4|0;x=x+4|0}while((n|0)<(o|0));w=w+1|0}while((w|0)!=(t|0))}t=c[v>>2]|0;w=d+100|0;if(t|0){if(a[w>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[t+-4>>2]|0)}c[v>>2]=0}a[w>>0]=1;c[v>>2]=s;c[r>>2]=m;y=v}else y=d+96|0;v=q;do{n=(c[y>>2]|0)+(v<<6)|0;x=j;o=n+64|0;do{c[n>>2]=c[x>>2];n=n+4|0;x=x+4|0}while((n|0)<(o|0));v=v+1|0}while((v|0)!=(m|0))}c[p>>2]=m;if((m|0)>0){p=c[d+96>>2]|0;v=0;x=c[e+112>>2]|0;while(1){g[p+(v<<6)+16>>2]=+h[x+32>>3];g[p+(v<<6)+20>>2]=+h[x+40>>3];g[p+(v<<6)+24>>2]=+h[x+48>>3];g[p+(v<<6)+28>>2]=+h[x+56>>3];g[p+(v<<6)>>2]=+h[x>>3];g[p+(v<<6)+4>>2]=+h[x+8>>3];g[p+(v<<6)+8>>2]=+h[x+16>>3];g[p+(v<<6)+12>>2]=+h[x+24>>3];c[p+(v<<6)+32>>2]=c[x+64>>2];c[p+(v<<6)+36>>2]=c[x+68>>2];c[p+(v<<6)+40>>2]=c[x+72>>2];v=v+1|0;if((v|0)==(m|0))break;else x=x+80|0}}x=c[e+108>>2]|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;m=d+128|0;v=c[m>>2]|0;if((v|0)<(x|0)){p=d+132|0;if((c[p>>2]|0)<(x|0)){if(!x){z=0;A=v}else{c[4350]=(c[4350]|0)+1;n=Tr((x<<4|3)+16|0)|0;if(!n)B=0;else{o=n+4+15&-16;c[o+-4>>2]=n;B=o}z=B;A=c[m>>2]|0}B=d+136|0;if((A|0)>0){o=0;do{n=z+(o<<4)|0;j=(c[B>>2]|0)+(o<<4)|0;c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];c[n+8>>2]=c[j+8>>2];c[n+12>>2]=c[j+12>>2];o=o+1|0}while((o|0)!=(A|0))}A=c[B>>2]|0;o=d+140|0;if(A|0){if(a[o>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[A+-4>>2]|0)}c[B>>2]=0}a[o>>0]=1;c[B>>2]=z;c[p>>2]=x;C=B}else C=d+136|0;B=v;do{v=(c[C>>2]|0)+(B<<4)|0;c[v>>2]=c[k>>2];c[v+4>>2]=c[k+4>>2];c[v+8>>2]=c[k+8>>2];c[v+12>>2]=c[k+12>>2];B=B+1|0}while((B|0)!=(x|0))}c[m>>2]=x;if((x|0)>0){m=c[d+136>>2]|0;B=0;k=c[e+116>>2]|0;while(1){c[m+(B<<4)+12>>2]=c[k+12>>2];b[m+(B<<4)+6>>1]=b[k+6>>1]|0;b[m+(B<<4)+8>>1]=b[k+8>>1]|0;b[m+(B<<4)+10>>1]=b[k+10>>1]|0;b[m+(B<<4)>>1]=b[k>>1]|0;b[m+(B<<4)+2>>1]=b[k+2>>1]|0;b[m+(B<<4)+4>>1]=b[k+4>>1]|0;B=B+1|0;if((B|0)==(x|0))break;else k=k+16|0}}c[d+144>>2]=c[e+120>>2];k=c[e+124>>2]|0;x=d+152|0;B=c[x>>2]|0;if((B|0)<(k|0)){m=d+156|0;if((c[m>>2]|0)<(k|0)){if(!k){D=0;E=B}else{c[4350]=(c[4350]|0)+1;C=Tr(k<<5|19)|0;if(!C)F=0;else{v=C+4+15&-16;c[v+-4>>2]=C;F=v}D=F;E=c[x>>2]|0}F=d+160|0;if((E|0)>0){v=0;do{C=D+(v<<5)|0;p=(c[F>>2]|0)+(v<<5)|0;c[C>>2]=c[p>>2];c[C+4>>2]=c[p+4>>2];c[C+8>>2]=c[p+8>>2];c[C+12>>2]=c[p+12>>2];c[C+16>>2]=c[p+16>>2];c[C+20>>2]=c[p+20>>2];c[C+24>>2]=c[p+24>>2];c[C+28>>2]=c[p+28>>2];v=v+1|0}while((v|0)!=(E|0))}E=c[F>>2]|0;v=d+164|0;if(E|0){if(a[v>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[E+-4>>2]|0)}c[F>>2]=0}a[v>>0]=1;c[F>>2]=D;c[m>>2]=k;G=F}else G=d+160|0;F=B;do{B=(c[G>>2]|0)+(F<<5)|0;c[B>>2]=c[l>>2];c[B+4>>2]=c[l+4>>2];c[B+8>>2]=c[l+8>>2];c[B+12>>2]=c[l+12>>2];c[B+16>>2]=c[l+16>>2];c[B+20>>2]=c[l+20>>2];c[B+24>>2]=c[l+24>>2];c[B+28>>2]=c[l+28>>2];F=F+1|0}while((F|0)!=(k|0))}c[x>>2]=k;if((k|0)<=0){i=f;return}x=c[d+160>>2]|0;d=0;F=c[e+128>>2]|0;while(1){b[x+(d<<5)+6>>1]=b[F+14>>1]|0;b[x+(d<<5)+8>>1]=b[F+16>>1]|0;b[x+(d<<5)+10>>1]=b[F+18>>1]|0;b[x+(d<<5)>>1]=b[F+8>>1]|0;b[x+(d<<5)+2>>1]=b[F+10>>1]|0;b[x+(d<<5)+4>>1]=b[F+12>>1]|0;c[x+(d<<5)+12>>2]=c[F>>2];c[x+(d<<5)+16>>2]=c[F+4>>2];d=d+1|0;if((d|0)==(k|0))break;else F=F+20|0}i=f;return}function Up(d,f,h){d=d|0;f=f|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.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.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.0,V=0.0,W=0.0,X=0,Y=0.0,Z=0.0,_=0.0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0.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;j=i;i=i+112|0;k=j+48|0;l=j+16|0;m=j;n=h-f|0;o=d+56|0;p=c[o>>2]|0;if((n|0)==1){if(!(a[d+60>>0]|0)){q=(c[d+96>>2]|0)+(p<<6)|0;r=(c[d+76>>2]|0)+(f<<6)|0;s=q+64|0;do{c[q>>2]=c[r>>2];q=q+4|0;r=r+4|0}while((q|0)<(s|0))}else{t=(c[d+136>>2]|0)+(p<<4)|0;u=(c[d+116>>2]|0)+(f<<4)|0;c[t>>2]=c[u>>2];c[t+4>>2]=c[u+4>>2];c[t+8>>2]=c[u+8>>2];c[t+12>>2]=c[u+12>>2]}c[o>>2]=(c[o>>2]|0)+1;i=j;return}u=(h|0)>(f|0);if(u){t=(a[d+60>>0]|0)==0;if(t){v=c[d+76>>2]|0;w=f;x=0.0;y=0.0;z=0.0;while(1){A=x+(+g[v+(w<<6)+16>>2]+ +g[v+(w<<6)>>2])*.5;B=z+(+g[v+(w<<6)+20>>2]+ +g[v+(w<<6)+4>>2])*.5;C=y+(+g[v+(w<<6)+24>>2]+ +g[v+(w<<6)+8>>2])*.5;w=w+1|0;if((w|0)==(h|0)){D=A;E=C;F=B;break}else{x=A;y=C;z=B}}}else{w=c[d+116>>2]|0;z=+g[d+36>>2];y=+g[d+40>>2];x=+g[d+44>>2];B=+g[d+4>>2];C=+g[d+8>>2];A=+g[d+12>>2];v=f;G=0.0;H=0.0;I=0.0;while(1){J=G+(+(e[w+(v<<4)+6>>1]|0)/z+B+(+(e[w+(v<<4)>>1]|0)/z+B))*.5;K=I+(+(e[w+(v<<4)+8>>1]|0)/y+C+(+(e[w+(v<<4)+2>>1]|0)/y+C))*.5;L=H+(+(e[w+(v<<4)+10>>1]|0)/x+A+(+(e[w+(v<<4)+4>>1]|0)/x+A))*.5;v=v+1|0;if((v|0)==(h|0)){D=J;E=L;F=K;break}else{G=J;H=L;I=K}}}I=+(n|0);H=1.0/I;G=H*D;D=H*F;F=H*E;if(t){t=c[d+76>>2]|0;v=f;E=0.0;H=0.0;A=0.0;while(1){x=(+g[t+(v<<6)+16>>2]+ +g[t+(v<<6)>>2])*.5-G;C=(+g[t+(v<<6)+20>>2]+ +g[t+(v<<6)+4>>2])*.5-D;y=(+g[t+(v<<6)+24>>2]+ +g[t+(v<<6)+8>>2])*.5-F;B=E+x*x;x=A+C*C;C=H+y*y;v=v+1|0;if((v|0)==(h|0)){M=I;N=B;O=C;P=x;break}else{E=B;H=C;A=x}}}else{v=c[d+116>>2]|0;A=+g[d+36>>2];H=+g[d+40>>2];E=+g[d+44>>2];x=+g[d+4>>2];C=+g[d+8>>2];B=+g[d+12>>2];t=f;y=0.0;z=0.0;K=0.0;while(1){L=(+(e[v+(t<<4)+6>>1]|0)/A+x+(+(e[v+(t<<4)>>1]|0)/A+x))*.5-G;J=(+(e[v+(t<<4)+8>>1]|0)/H+C+(+(e[v+(t<<4)+2>>1]|0)/H+C))*.5-D;Q=(+(e[v+(t<<4)+10>>1]|0)/E+B+(+(e[v+(t<<4)+4>>1]|0)/E+B))*.5-F;R=y+L*L;L=K+J*J;J=z+Q*Q;t=t+1|0;if((t|0)==(h|0)){M=I;N=R;O=J;P=L;break}else{y=R;z=J;K=L}}}}else{M=+(n|0);N=0.0;O=0.0;P=0.0}K=1.0/(M+-1.0);M=K*N;N=K*P;P=K*O;t=M<N?(N<P?2:1):M<P?2:0;v=l+4|0;w=l+8|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;if(u){if(!(a[d+60>>0]|0)){S=c[d+76>>2]|0;P=0.0;M=0.0;N=0.0;T=f;while(1){O=(+g[S+(T<<6)+16>>2]+ +g[S+(T<<6)>>2])*.5+P;K=(+g[S+(T<<6)+20>>2]+ +g[S+(T<<6)+4>>2])*.5+M;z=(+g[S+(T<<6)+24>>2]+ +g[S+(T<<6)+8>>2])*.5+N;T=T+1|0;if((T|0)==(h|0)){U=O;V=K;W=z;break}else{P=O;M=K;N=z}}}else{T=c[d+116>>2]|0;N=+g[d+36>>2];M=+g[d+40>>2];P=+g[d+44>>2];z=+g[d+4>>2];K=+g[d+8>>2];O=+g[d+12>>2];y=0.0;I=0.0;F=0.0;S=f;while(1){B=(+(e[T+(S<<4)+6>>1]|0)/N+z+(+(e[T+(S<<4)>>1]|0)/N+z))*.5+y;E=(+(e[T+(S<<4)+8>>1]|0)/M+K+(+(e[T+(S<<4)+2>>1]|0)/M+K))*.5+I;D=(+(e[T+(S<<4)+10>>1]|0)/P+O+(+(e[T+(S<<4)+4>>1]|0)/P+O))*.5+F;S=S+1|0;if((S|0)==(h|0)){U=B;V=E;W=D;break}else{y=B;I=E;F=D}}}g[l>>2]=U;g[v>>2]=V;g[w>>2]=W;X=l;Y=U;Z=V;_=W}else{X=l;Y=0.0;Z=0.0;_=0.0}W=1.0/+(n|0);g[X>>2]=W*Y;g[v>>2]=W*Z;g[w>>2]=W*_;_=+g[l+(t<<2)>>2];if(u){w=d+60|0;v=d+76|0;X=m+4|0;S=m+8|0;T=m+12|0;$=m+(t<<2)|0;t=d+116|0;aa=d+36|0;ba=d+40|0;ca=d+44|0;da=d+4|0;ea=d+8|0;fa=d+12|0;ga=f;ha=f;while(1){ia=(a[w>>0]|0)==0;if(ia){ja=c[v>>2]|0;ka=+g[ja+(ga<<6)>>2];la=+g[ja+(ga<<6)+16>>2];ma=+g[ja+(ga<<6)+4>>2];na=+g[ja+(ga<<6)+20>>2];oa=+g[ja+(ga<<6)+8>>2];pa=+g[ja+(ga<<6)+24>>2]}else{ja=c[t>>2]|0;W=+g[aa>>2];Z=+g[ba>>2];Y=+g[ca>>2];V=+g[da>>2];U=+g[ea>>2];F=+g[fa>>2];ka=+(e[ja+(ga<<4)>>1]|0)/W+V;la=+(e[ja+(ga<<4)+6>>1]|0)/W+V;ma=+(e[ja+(ga<<4)+2>>1]|0)/Z+U;na=+(e[ja+(ga<<4)+8>>1]|0)/Z+U;oa=+(e[ja+(ga<<4)+4>>1]|0)/Y+F;pa=+(e[ja+(ga<<4)+10>>1]|0)/Y+F}g[m>>2]=(la+ka)*.5;g[X>>2]=(na+ma)*.5;g[S>>2]=(pa+oa)*.5;g[T>>2]=0.0;if(+g[$>>2]>_){if(ia){ia=c[v>>2]|0;ja=ia+(ga<<6)|0;q=k;r=ja;s=q+64|0;do{c[q>>2]=c[r>>2];q=q+4|0;r=r+4|0}while((q|0)<(s|0));q=ja;r=ia+(ha<<6)|0;s=q+64|0;do{c[q>>2]=c[r>>2];q=q+4|0;r=r+4|0}while((q|0)<(s|0));q=(c[v>>2]|0)+(ha<<6)|0;r=k;s=q+64|0;do{c[q>>2]=c[r>>2];q=q+4|0;r=r+4|0}while((q|0)<(s|0))}else{ia=c[t>>2]|0;ja=ia+(ga<<4)|0;c[k>>2]=c[ja>>2];c[k+4>>2]=c[ja+4>>2];c[k+8>>2]=c[ja+8>>2];c[k+12>>2]=c[ja+12>>2];qa=ia+(ha<<4)|0;c[ja>>2]=c[qa>>2];c[ja+4>>2]=c[qa+4>>2];c[ja+8>>2]=c[qa+8>>2];c[ja+12>>2]=c[qa+12>>2];qa=(c[t>>2]|0)+(ha<<4)|0;c[qa>>2]=c[k>>2];c[qa+4>>2]=c[k+4>>2];c[qa+8>>2]=c[k+8>>2];c[qa+12>>2]=c[k+12>>2]}ra=ha+1|0}else ra=ha;ga=ga+1|0;if((ga|0)==(h|0)){sa=ra;break}else ha=ra}}else sa=f;ra=(n|0)/3|0;if((sa|0)>(ra+f|0)?(sa|0)<(h+-1-ra|0):0)ta=sa;else ta=(n>>1)+f|0;n=c[o>>2]|0;sa=d+20|0;ra=d+60|0;if(!(a[ra>>0]|0)){ha=(c[d+96>>2]|0)+(n<<6)|0;c[ha>>2]=c[sa>>2];c[ha+4>>2]=c[sa+4>>2];c[ha+8>>2]=c[sa+8>>2];c[ha+12>>2]=c[sa+12>>2]}else{ha=c[d+136>>2]|0;_=(+g[d+24>>2]-+g[d+8>>2])*+g[d+40>>2];oa=(+g[d+28>>2]-+g[d+12>>2])*+g[d+44>>2];b[ha+(n<<4)>>1]=~~((+g[sa>>2]-+g[d+4>>2])*+g[d+36>>2])&65534;b[ha+(n<<4)+2>>1]=~~_&65534;b[ha+(n<<4)+4>>1]=~~oa&65534}ha=c[o>>2]|0;sa=d+4|0;if(!(a[ra>>0]|0)){ga=(c[d+96>>2]|0)+(ha<<6)+16|0;c[ga>>2]=c[sa>>2];c[ga+4>>2]=c[sa+4>>2];c[ga+8>>2]=c[sa+8>>2];c[ga+12>>2]=c[sa+12>>2]}else{ga=c[d+136>>2]|0;oa=+g[sa>>2];_=+g[d+8>>2];pa=+g[d+12>>2];ma=(_-_)*+g[d+40>>2];_=(pa-pa)*+g[d+44>>2];b[ga+(ha<<4)+6>>1]=~~((oa-oa)*+g[d+36>>2]+1.0)&65535|1;b[ga+(ha<<4)+8>>1]=~~(ma+1.0)&65535|1;b[ga+(ha<<4)+10>>1]=~~(_+1.0)&65535|1}ha=c[o>>2]|0;if(u){u=d+76|0;ga=d+116|0;sa=d+36|0;t=d+40|0;r=d+44|0;q=d+4|0;s=d+8|0;v=d+12|0;$=d+96|0;T=d+136|0;S=a[ra>>0]|0;X=f;do{if(!(S<<24>>24)){m=c[u>>2]|0;_=+g[m+(X<<6)>>2];ma=+g[m+(X<<6)+4>>2];oa=+g[m+(X<<6)+8>>2];pa=+g[m+(X<<6)+12>>2];na=+g[m+(X<<6)+16>>2];ka=+g[m+(X<<6)+20>>2];la=+g[m+(X<<6)+24>>2];F=+g[m+(X<<6)+28>>2];m=c[$>>2]|0;fa=m+(ha<<6)|0;if(_<+g[fa>>2])g[fa>>2]=_;fa=m+(ha<<6)+4|0;if(ma<+g[fa>>2])g[fa>>2]=ma;fa=m+(ha<<6)+8|0;if(oa<+g[fa>>2])g[fa>>2]=oa;fa=m+(ha<<6)+12|0;if(pa<+g[fa>>2])g[fa>>2]=pa;fa=m+(ha<<6)+16|0;if(+g[fa>>2]<na)g[fa>>2]=na;fa=m+(ha<<6)+20|0;if(+g[fa>>2]<ka)g[fa>>2]=ka;fa=m+(ha<<6)+24|0;if(+g[fa>>2]<la)g[fa>>2]=la;fa=m+(ha<<6)+28|0;if(+g[fa>>2]<F)g[fa>>2]=F}else{fa=c[ga>>2]|0;F=+g[sa>>2];la=+g[t>>2];ka=+g[r>>2];na=+g[q>>2];pa=+g[s>>2];oa=+g[v>>2];ma=+g[q>>2];_=+g[s>>2];Y=+g[v>>2];U=+g[sa>>2];Z=+g[t>>2];V=+g[r>>2];m=~~((+(e[fa+(X<<4)>>1]|0)/F+na-ma)*U)&65534;ea=~~((+(e[fa+(X<<4)+4>>1]|0)/ka+oa-Y)*V)&65534;da=~~((+(e[fa+(X<<4)+2>>1]|0)/la+pa-_)*Z)&65534;ca=(~~((+(e[fa+(X<<4)+6>>1]|0)/F+na-ma)*U+1.0)&65535|1)&65535;ba=(~~((+(e[fa+(X<<4)+10>>1]|0)/ka+oa-Y)*V+1.0)&65535|1)&65535;aa=(~~((+(e[fa+(X<<4)+8>>1]|0)/la+pa-_)*Z+1.0)&65535|1)&65535;fa=c[T>>2]|0;w=fa+(ha<<4)|0;if((e[w>>1]|0)>(m&65535))b[w>>1]=m;m=fa+(ha<<4)+6|0;if((e[m>>1]|0)<(ca&65535))b[m>>1]=ca;ca=fa+(ha<<4)+2|0;if((e[ca>>1]|0)>(da&65535))b[ca>>1]=da;da=fa+(ha<<4)+8|0;if((e[da>>1]|0)<(aa&65535))b[da>>1]=aa;aa=fa+(ha<<4)+4|0;if((e[aa>>1]|0)>(ea&65535))b[aa>>1]=ea;ea=fa+(ha<<4)+10|0;if((e[ea>>1]|0)<(ba&65535))b[ea>>1]=ba}X=X+1|0}while((X|0)!=(h|0))}X=ha+1|0;c[o>>2]=X;Up(d,f,ta);f=c[o>>2]|0;Up(d,ta,h);h=(c[o>>2]|0)-p|0;p=a[ra>>0]|0;if(p<<24>>24!=0&(h<<4|0)>2048){o=c[d+136>>2]|0;ta=c[o+(X<<4)+12>>2]|0;ha=(ta|0)>-1?1:0-ta|0;ta=c[o+(f<<4)+12>>2]|0;T=(ta|0)>-1?1:0-ta|0;ta=T<<4;r=d+152|0;if((ha<<4|0)<2049){t=c[r>>2]|0;sa=d+156|0;if((t|0)==(c[sa>>2]|0)?(v=t|0?t<<1:1,(t|0)<(v|0)):0){if(!v){ua=0;va=t}else{c[4350]=(c[4350]|0)+1;s=Tr(v<<5|19)|0;if(!s)wa=0;else{q=s+4+15&-16;c[q+-4>>2]=s;wa=q}ua=wa;va=c[r>>2]|0}wa=d+160|0;if((va|0)>0){q=0;do{s=ua+(q<<5)|0;ga=(c[wa>>2]|0)+(q<<5)|0;c[s>>2]=c[ga>>2];c[s+4>>2]=c[ga+4>>2];c[s+8>>2]=c[ga+8>>2];c[s+12>>2]=c[ga+12>>2];c[s+16>>2]=c[ga+16>>2];c[s+20>>2]=c[ga+20>>2];c[s+24>>2]=c[ga+24>>2];c[s+28>>2]=c[ga+28>>2];q=q+1|0}while((q|0)!=(va|0))}va=c[wa>>2]|0;q=d+164|0;if(va|0){if(a[q>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[va+-4>>2]|0)}c[wa>>2]=0}a[q>>0]=1;c[wa>>2]=ua;c[sa>>2]=v;xa=c[r>>2]|0}else xa=t;c[r>>2]=xa+1;xa=d+160|0;v=(c[xa>>2]|0)+(t<<5)|0;c[v>>2]=c[k>>2];c[v+4>>2]=c[k+4>>2];c[v+8>>2]=c[k+8>>2];c[v+12>>2]=c[k+12>>2];c[v+16>>2]=c[k+16>>2];c[v+20>>2]=c[k+20>>2];c[v+24>>2]=c[k+24>>2];c[v+28>>2]=c[k+28>>2];k=c[xa>>2]|0;b[k+(t<<5)>>1]=b[o+(X<<4)>>1]|0;b[k+(t<<5)+2>>1]=b[o+(X<<4)+2>>1]|0;b[k+(t<<5)+4>>1]=b[o+(X<<4)+4>>1]|0;b[k+(t<<5)+6>>1]=b[o+(X<<4)+6>>1]|0;b[k+(t<<5)+8>>1]=b[o+(X<<4)+8>>1]|0;b[k+(t<<5)+10>>1]=b[o+(X<<4)+10>>1]|0;c[k+(t<<5)+12>>2]=X;c[k+(t<<5)+16>>2]=ha}if((ta|0)<2049){ta=c[r>>2]|0;ha=d+156|0;if((ta|0)==(c[ha>>2]|0)?(t=ta|0?ta<<1:1,(ta|0)<(t|0)):0){if(!t){ya=0;za=ta}else{c[4350]=(c[4350]|0)+1;k=Tr(t<<5|19)|0;if(!k)Aa=0;else{X=k+4+15&-16;c[X+-4>>2]=k;Aa=X}ya=Aa;za=c[r>>2]|0}Aa=d+160|0;if((za|0)>0){X=0;do{k=ya+(X<<5)|0;xa=(c[Aa>>2]|0)+(X<<5)|0;c[k>>2]=c[xa>>2];c[k+4>>2]=c[xa+4>>2];c[k+8>>2]=c[xa+8>>2];c[k+12>>2]=c[xa+12>>2];c[k+16>>2]=c[xa+16>>2];c[k+20>>2]=c[xa+20>>2];c[k+24>>2]=c[xa+24>>2];c[k+28>>2]=c[xa+28>>2];X=X+1|0}while((X|0)!=(za|0))}za=c[Aa>>2]|0;X=d+164|0;if(za|0){if(a[X>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[za+-4>>2]|0)}c[Aa>>2]=0}a[X>>0]=1;c[Aa>>2]=ya;c[ha>>2]=t;Ba=c[r>>2]|0}else Ba=ta;c[r>>2]=Ba+1;Ba=d+160|0;t=(c[Ba>>2]|0)+(ta<<5)|0;c[t>>2]=c[l>>2];c[t+4>>2]=c[l+4>>2];c[t+8>>2]=c[l+8>>2];c[t+12>>2]=c[l+12>>2];c[t+16>>2]=c[l+16>>2];c[t+20>>2]=c[l+20>>2];c[t+24>>2]=c[l+24>>2];c[t+28>>2]=c[l+28>>2];l=c[Ba>>2]|0;b[l+(ta<<5)>>1]=b[o+(f<<4)>>1]|0;b[l+(ta<<5)+2>>1]=b[o+(f<<4)+2>>1]|0;b[l+(ta<<5)+4>>1]=b[o+(f<<4)+4>>1]|0;b[l+(ta<<5)+6>>1]=b[o+(f<<4)+6>>1]|0;b[l+(ta<<5)+8>>1]=b[o+(f<<4)+8>>1]|0;b[l+(ta<<5)+10>>1]=b[o+(f<<4)+10>>1]|0;c[l+(ta<<5)+12>>2]=f;c[l+(ta<<5)+16>>2]=T}c[d+168>>2]=c[r>>2];Ca=a[ra>>0]|0}else Ca=p;if(!(Ca<<24>>24)){c[(c[d+96>>2]|0)+(n<<6)+32>>2]=h;i=j;return}else{c[(c[d+136>>2]|0)+(n<<4)+12>>2]=0-h;i=j;return}}function Vp(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=d+4|0;h=f+4|0;i=d+2|0;j=f+2|0;k=a;while(1){l=c[k+12>>2]|0;if(!(((e[f>>1]|0)>=(e[k>>1]|0)?(e[d>>1]|0)<=(e[k+6>>1]|0):0)&(e[g>>1]|0)<=(e[k+10>>1]|0)&(e[h>>1]|0)>=(e[k+4>>1]|0)&(e[i>>1]|0)<=(e[k+8>>1]|0)&(e[j>>1]|0)>=(e[k+2>>1]|0))){m=6;break}if((l|0)>-1)break;a=k+16|0;Vp(a,b,d,f);n=c[k+28>>2]|0;k=(n|0)>-1?k+32|0:a+(0-n<<4)|0}if((m|0)==6)return;ac[c[(c[b>>2]|0)+8>>2]&63](b,l>>21,l&2097151);return}function Wp(a,b,d,e,f,h,j,k){a=a|0;b=b|0;d=d|0;e=+e;f=+f;h=+h;j=j|0;k=k|0;var l=0,m=0,n=0.0,o=0,p=0.0,q=0,r=0.0,s=0.0,t=0,u=0.0,v=0,w=0.0,x=0.0,y=0,z=0.0,A=0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,P=0.0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0.0,na=0.0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0;l=i;i=i+32|0;m=l;n=+g[d>>2];o=d+4|0;p=+g[o>>2];q=d+8|0;r=+g[q>>2];s=+g[j>>2];t=j+4|0;u=+g[t>>2];v=j+8|0;w=+g[v>>2];x=+g[k>>2];y=k+4|0;z=+g[y>>2];A=k+8|0;B=+g[A>>2];C=e-n;D=f-p;E=h-r;F=1.0/+O(+(C*C+D*D+E*E));G=C*F;H=D*F;I=E*F;F=G==0.0?999999984306749440.0:1.0/G;J=H==0.0?999999984306749440.0:1.0/H;K=I==0.0?999999984306749440.0:1.0/I;L=(n>e?e:n)+s;M=(p>f?f:p)+u;N=(r>h?h:r)+w;P=(n<e?e:n)+x;n=(p<f?f:p)+z;p=(r<h?h:r)+B;r=E*I+(C*G+D*H);Q=F<0.0&1;R=J<0.0&1;S=K<0.0&1;T=a+56|0;U=c[T>>2]|0;a:do if((U|0)>0){V=m+16|0;W=m+4|0;X=m+8|0;Y=m+20|0;Z=m+24|0;_=m+(Q<<4)|0;$=m+((Q^1)<<4)|0;aa=m+(R<<4)+4|0;ba=m+((R^1)<<4)+4|0;ca=m+(S<<4)+8|0;da=m+((S^1)<<4)+8|0;ea=U;H=x;D=z;G=B;C=s;I=u;E=w;fa=0;ga=c[a+96>>2]|0;ha=0;while(1){ia=ha+1|0;c[m>>2]=c[ga>>2];c[m+4>>2]=c[ga+4>>2];c[m+8>>2]=c[ga+8>>2];c[m+12>>2]=c[ga+12>>2];ja=ga+16|0;c[V>>2]=c[ja>>2];c[V+4>>2]=c[ja+4>>2];c[V+8>>2]=c[ja+8>>2];c[V+12>>2]=c[ja+12>>2];g[m>>2]=+g[m>>2]-H;g[W>>2]=+g[W>>2]-D;g[X>>2]=+g[X>>2]-G;g[V>>2]=+g[V>>2]-C;g[Y>>2]=+g[Y>>2]-I;g[Z>>2]=+g[Z>>2]-E;if(!(L>+g[ja>>2])?!(P<+g[ga>>2]):0)ka=1;else ka=0;if(!(N>+g[ga+24>>2])?!(p<+g[ga+8>>2]):0)la=ka;else la=0;if(((!(M>+g[ga+20>>2])?!(n<+g[ga+4>>2]|la^1):0)?(h=+g[d>>2],f=F*(+g[_>>2]-h),e=F*(+g[$>>2]-h),h=+g[o>>2],ma=J*(+g[aa>>2]-h),na=J*(+g[ba>>2]-h),!(ma>e|f>na)):0)?(h=ma>f?ma:f,f=na<e?na:e,e=+g[q>>2],na=K*(+g[ca>>2]-e),ma=K*(+g[da>>2]-e),!(na>f|h>ma)):0){ja=(ma<f?ma:f)>0.0?(na>h?na:h)<r:0;oa=c[ga+32>>2]|0;pa=(oa|0)==-1;if(ja&pa){ac[c[(c[b>>2]|0)+8>>2]&63](b,c[ga+36>>2]|0,c[ga+40>>2]|0);qa=c[T>>2]|0;ra=17}else{sa=ja;ta=pa;ua=oa;ra=16}}else{oa=c[ga+32>>2]|0;sa=0;ta=(oa|0)==-1;ua=oa;ra=16}if((ra|0)==16){ra=0;if(ta|sa){qa=ea;ra=17}else{va=ea;wa=ua+fa|0;xa=ga+(ua<<6)|0}}if((ra|0)==17){ra=0;va=qa;wa=fa+1|0;xa=ga+64|0}if((wa|0)>=(va|0)){ya=ia;break a}ea=va;H=+g[k>>2];D=+g[y>>2];G=+g[A>>2];C=+g[j>>2];I=+g[t>>2];E=+g[v>>2];fa=wa;ga=xa;ha=ia}}else ya=0;while(0);if((c[4343]|0)>=(ya|0)){i=l;return}c[4343]=ya;i=l;return}function Xp(a,d,f,h,j,k,l,m,n){a=a|0;d=d|0;f=f|0;h=+h;j=+j;k=+k;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0.0,r=0.0,s=0,t=0.0,u=0.0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0,F=0,G=0,H=0.0,I=0,J=0,K=0,L=0,M=0,N=0.0,P=0.0,Q=0,R=0.0,S=0,T=0.0,U=0,V=0.0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0;o=i;i=i+32|0;p=o;q=+g[f>>2];r=h-q;s=f+4|0;t=+g[s>>2];u=j-t;v=f+8|0;w=+g[v>>2];x=k-w;y=1.0/+O(+(r*r+u*u+x*x));z=r*y;A=u*y;B=x*y;y=x*B+(r*z+u*A);u=z==0.0?999999984306749440.0:1.0/z;z=A==0.0?999999984306749440.0:1.0/A;A=B==0.0?999999984306749440.0:1.0/B;C=u<0.0&1;D=z<0.0&1;E=A<0.0&1;B=(q>h?h:q)+ +g[l>>2];F=l+4|0;r=(t>j?j:t)+ +g[F>>2];G=l+8|0;x=(w>k?k:w)+ +g[G>>2];H=(q<h?h:q)+ +g[m>>2];I=m+4|0;q=(t<j?j:t)+ +g[I>>2];J=m+8|0;t=(w<k?k:w)+ +g[J>>2];K=a+4|0;w=+g[K>>2];k=B<w?w:B;L=a+8|0;B=+g[L>>2];j=r<B?B:r;M=a+12|0;r=+g[M>>2];h=x<r?r:x;x=+g[a+20>>2];N=+g[a+24>>2];P=+g[a+28>>2];Q=a+36|0;R=+g[Q>>2];S=a+40|0;T=+g[S>>2];U=a+44|0;V=+g[U>>2];W=~~(((x<k?x:k)-w)*R)&65534;X=~~(((P<h?P:h)-r)*V)&65534;Y=~~(((N<j?N:j)-B)*T)&65534;j=H<w?w:H;H=q<B?B:q;q=t<r?r:t;Z=(~~(((x<j?x:j)-w)*R+1.0)&65535|1)&65535;_=(~~(((P<q?P:q)-r)*V+1.0)&65535|1)&65535;$=(~~(((N<H?N:H)-B)*T+1.0)&65535|1)&65535;if((n|0)>0){aa=p+4|0;ba=p+8|0;ca=p+12|0;da=p+16|0;ea=p+20|0;fa=p+24|0;ga=p+28|0;ha=p+(C<<4)|0;ia=p+((C^1)<<4)|0;C=p+(D<<4)+4|0;ja=p+((D^1)<<4)+4|0;D=p+(E<<4)+8|0;ka=p+((E^1)<<4)+8|0;E=0;la=c[a+136>>2]|0;a=0;while(1){ma=a+1|0;na=la+6|0;oa=b[la>>1]|0;pa=la+10|0;qa=b[la+4>>1]|0;ra=la+8|0;sa=b[la+2>>1]|0;ta=la+12|0;ua=(c[ta>>2]|0)>-1;do if(((Z&65535)>=(oa&65535)?(W&65535)<=(e[na>>1]|0):0)&(X&65535)<=(e[pa>>1]|0)&(_&65535)>=(qa&65535)&(Y&65535)<=(e[ra>>1]|0)&($&65535)>=(sa&65535)){T=+g[Q>>2];B=+g[S>>2];H=+g[U>>2];N=+g[K>>2];V=+g[L>>2];r=+g[M>>2];g[ca>>2]=0.0;q=+(e[na>>1]|0)/T+N;P=+(e[ra>>1]|0)/B+V;R=+(e[pa>>1]|0)/H+r;g[ga>>2]=0.0;g[p>>2]=+(oa&65535)/T+N-+g[m>>2];g[aa>>2]=+(sa&65535)/B+V-+g[I>>2];g[ba>>2]=+(qa&65535)/H+r-+g[J>>2];g[da>>2]=q-+g[l>>2];g[ea>>2]=P-+g[F>>2];g[fa>>2]=R-+g[G>>2];R=+g[f>>2];P=u*(+g[ha>>2]-R);q=u*(+g[ia>>2]-R);R=+g[s>>2];r=z*(+g[C>>2]-R);H=z*(+g[ja>>2]-R);if(!(r>q|P>H)?(R=r>P?r:P,P=H<q?H:q,q=+g[v>>2],H=A*(+g[D>>2]-q),r=A*(+g[ka>>2]-q),!(H>P|R>r)):0){va=(r<P?r:P)>0.0?(H>R?H:R)<y:0;if(!(ua&va)){wa=va;xa=9;break}va=c[ta>>2]|0;ac[c[(c[d>>2]|0)+8>>2]&63](d,va>>21,va&2097151);xa=10;break}wa=0;xa=9}else{wa=0;xa=9}while(0);if((xa|0)==9){xa=0;if(ua|wa)xa=10;else{qa=c[ta>>2]|0;ya=E-qa|0;za=la+(0-qa<<4)|0}}if((xa|0)==10){xa=0;ya=E+1|0;za=la+16|0}if((ya|0)<(n|0)){E=ya;la=za;a=ma}else{Aa=ma;break}}}else Aa=0;if((c[4343]|0)>=(Aa|0)){i=o;return}c[4343]=Aa;i=o;return}function Yp(b){b=b|0;var d=0,e=0;c[b>>2]=6184;if(!(a[b+8>>0]|0))return;d=c[b+12>>2]|0;if(!d)return;e=c[b+4>>2]|0;xb[c[(c[e>>2]|0)+16>>2]&127](e,d);return}function Zp(b){b=b|0;var d=0,e=0;c[b>>2]=6184;if(!(a[b+8>>0]|0)){Ur(b);return}d=c[b+12>>2]|0;if(!d){Ur(b);return}e=c[b+4>>2]|0;xb[c[(c[e>>2]|0)+16>>2]&127](e,d);Ur(b);return}function _p(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=i;i=i+144|0;k=j+12|0;l=j;m=c[b+12>>2]|0;if(!m){i=j;return}n=c[d+4>>2]|0;o=c[e+4>>2]|0;p=h+4|0;c[p>>2]=m;g[k+128>>2]=999999984306749440.0;m=c[d+12>>2]|0;c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];d=k+16|0;q=m+16|0;c[d>>2]=c[q>>2];c[d+4>>2]=c[q+4>>2];c[d+8>>2]=c[q+8>>2];c[d+12>>2]=c[q+12>>2];q=k+32|0;d=m+32|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];c[q+12>>2]=c[d+12>>2];d=k+48|0;q=m+48|0;c[d>>2]=c[q>>2];c[d+4>>2]=c[q+4>>2];c[d+8>>2]=c[q+8>>2];c[d+12>>2]=c[q+12>>2];q=k+64|0;d=c[e+12>>2]|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];c[q+12>>2]=c[d+12>>2];q=k+80|0;e=d+16|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];e=k+96|0;q=d+32|0;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];q=k+112|0;e=d+48|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[l>>2]=6212;c[l+4>>2]=n;c[l+8>>2]=o;cq(l,k,h,c[f+20>>2]|0,0);do if(a[b+8>>0]|0?(f=c[p>>2]|0,c[f+748>>2]|0):0){k=c[f+740>>2]|0;l=c[(c[h+8>>2]|0)+8>>2]|0;o=c[(c[h+12>>2]|0)+8>>2]|0;if((k|0)==(l|0)){lp(f,k+4|0,o+4|0);break}else{lp(f,o+4|0,l+4|0);break}}while(0);i=j;return}function $p(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 1.0}function aq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=b+12|0;f=c[e>>2]|0;g=f;if(!f)return;if(!(a[b+8>>0]|0))return;b=d+4|0;f=c[b>>2]|0;h=d+8|0;if((f|0)==(c[h>>2]|0)?(i=f|0?f<<1:1,(f|0)<(i|0)):0){if(!i){j=0;k=f}else{c[4350]=(c[4350]|0)+1;l=Tr((i<<2|3)+16|0)|0;if(!l)m=0;else{n=l+4+15&-16;c[n+-4>>2]=l;m=n}j=m;k=c[b>>2]|0}m=d+12|0;if((k|0)>0){n=0;do{c[j+(n<<2)>>2]=c[(c[m>>2]|0)+(n<<2)>>2];n=n+1|0}while((n|0)!=(k|0))}n=c[m>>2]|0;l=d+16|0;if(!n)o=k;else{if(!(a[l>>0]|0))p=k;else{c[4351]=(c[4351]|0)+1;Ur(c[n+-4>>2]|0);p=c[b>>2]|0}c[m>>2]=0;o=p}a[l>>0]=1;c[m>>2]=j;c[h>>2]=i;q=o;r=c[e>>2]|0}else{q=f;r=g}c[(c[d+12>>2]|0)+(q<<2)>>2]=r;c[b>>2]=q+1;return}function bq(a){a=a|0;Ur(a);return}function cq(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,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,P=0,Q=0,R=0,S=0,T=0,U=0.0,V=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0.0,qa=0.0,ra=0.0,sa=0.0,ta=0.0,ua=0.0,va=0.0,wa=0.0,xa=0.0,ya=0.0,za=0.0,Aa=0.0,Ba=0.0,Ca=0.0,Da=0.0,Ea=0.0,Fa=0.0,Ga=0.0,Ha=0.0,Ia=0.0,Ja=0.0,Ka=0.0,La=0.0,Ma=0,Na=0,Oa=0,Pa=0.0,Qa=0,Ra=0,Sa=0,Ta=0.0,Ua=0,Va=0,Wa=0,Xa=0.0,Ya=0,Za=0,_a=0,$a=0.0,ab=0,bb=0,cb=0,db=0.0,eb=0,fb=0,gb=0,hb=0.0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0.0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0.0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0.0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0.0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0.0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0.0,Zb=0,_b=0,ac=0,bc=0,cc=0,dc=0,ec=0.0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0.0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0.0,tc=0.0,uc=0.0,vc=0.0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0.0,Cc=0,Dc=0,Ec=0,Fc=0.0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0.0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0.0,Qc=0.0,Rc=0.0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0.0,Xc=0.0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0.0,dd=0.0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0.0,rd=0.0,sd=0,td=0.0,ud=0,vd=0,wd=0,xd=0,yd=0.0,zd=0.0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0.0;f=i;i=i+592|0;e=f+528|0;h=f+496|0;j=f+484|0;l=f+472|0;m=f+456|0;n=f+440|0;o=f+408|0;p=f+400|0;q=f+336|0;r=f+240|0;s=f+208|0;t=f+192|0;u=f+176|0;v=f+144|0;w=f+128|0;x=f+112|0;y=f+96|0;z=f+48|0;A=f;c[z>>2]=c[b>>2];c[A>>2]=c[b+64>>2];B=z+4|0;c[B>>2]=c[b+4>>2];C=A+4|0;c[C>>2]=c[b+68>>2];D=z+8|0;c[D>>2]=c[b+8>>2];E=A+8|0;c[E>>2]=c[b+72>>2];F=z+16|0;c[F>>2]=c[b+16>>2];G=A+16|0;c[G>>2]=c[b+80>>2];H=z+20|0;c[H>>2]=c[b+20>>2];I=A+20|0;c[I>>2]=c[b+84>>2];J=z+24|0;c[J>>2]=c[b+24>>2];K=A+24|0;c[K>>2]=c[b+88>>2];L=z+32|0;c[L>>2]=c[b+32>>2];M=A+32|0;c[M>>2]=c[b+96>>2];P=z+36|0;c[P>>2]=c[b+36>>2];Q=A+36|0;c[Q>>2]=c[b+100>>2];R=z+40|0;c[R>>2]=c[b+40>>2];S=A+40|0;c[S>>2]=c[b+104>>2];T=c[a+4>>2]|0;U=+g[T+32>>2];V=+g[T+36>>2];X=+g[T+40>>2];Y=+Kb[c[(c[T>>2]|0)+48>>2]&7](T);Z=+Kb[c[(c[T>>2]|0)+48>>2]&7](T);_=(X+ +Kb[c[(c[T>>2]|0)+48>>2]&7](T))*2.0;T=b+112|0;$=c[a+8>>2]|0;X=+g[$+32>>2];aa=+g[$+36>>2];ba=+g[$+40>>2];ca=+Kb[c[(c[$>>2]|0)+48>>2]&7]($);da=+Kb[c[(c[$>>2]|0)+48>>2]&7]($);ea=(ba+ +Kb[c[(c[$>>2]|0)+48>>2]&7]($))*2.0;$=b+48|0;ba=+g[T>>2]-+g[$>>2];a=b+52|0;fa=+g[b+116>>2]-+g[a>>2];ga=b+56|0;ha=+g[b+120>>2]-+g[ga>>2];ia=+g[z>>2];ja=+g[F>>2];ka=+g[L>>2];la=ba*ia+fa*ja+ha*ka;ma=+g[B>>2];na=+g[H>>2];oa=+g[P>>2];pa=ba*ma+fa*na+ha*oa;qa=+g[D>>2];ra=+g[J>>2];sa=+g[R>>2];ta=ba*qa+fa*ra+ha*sa;ua=(U+Y)*2.0*.5;g[j>>2]=ua;Y=(V+Z)*2.0*.5;g[j+4>>2]=Y;Z=_*.5;g[j+8>>2]=Z;_=(X+ca)*2.0*.5;g[l>>2]=_;ca=(aa+da)*2.0*.5;g[l+4>>2]=ca;da=ea*.5;g[l+8>>2]=da;ea=+g[A>>2];aa=+g[G>>2];X=+g[M>>2];V=ia*ea+ja*aa+ka*X;U=+g[C>>2];va=+g[I>>2];wa=+g[Q>>2];xa=ia*U+ja*va+ka*wa;ya=+g[E>>2];za=+g[K>>2];Aa=+g[S>>2];Ba=ia*ya+ja*za+ka*Aa;ka=ea*ma+aa*na+X*oa;ja=U*ma+va*na+wa*oa;ia=ya*ma+za*na+Aa*oa;oa=ea*qa+aa*ra+X*sa;na=U*qa+va*ra+wa*sa;ma=ya*qa+za*ra+Aa*sa;Ca=+N(+V);Da=+N(+xa);Ea=+N(+Ba);Fa=+N(+ka);Ga=+N(+ja);Ha=+N(+ia);Ia=+N(+oa);Ja=+N(+na);Ka=+N(+ma);La=+N(+la)-(da*Ea+(ua+Ca*_+Da*ca));if(La>0.0){i=f;return}if(La>-3402823466385288598117041.0e14){Ma=1;Na=la<0.0&1;Oa=z;Pa=La}else{Ma=0;Na=0;Oa=0;Pa=-3402823466385288598117041.0e14}La=+N(+pa)-(Y+Fa*_+Ga*ca+Ha*da);if(La>0.0){i=f;return}if(La>Pa){Qa=2;Ra=pa<0.0&1;Sa=B;Ta=La}else{Qa=Ma;Ra=Na;Sa=Oa;Ta=Pa}Pa=+N(+ta)-(Z+Ia*_+Ja*ca+Ka*da);if(Pa>0.0){i=f;return}if(Pa>Ta){Ua=3;Va=ta<0.0&1;Wa=D;Xa=Pa}else{Ua=Qa;Va=Ra;Wa=Sa;Xa=Ta}Ta=ba*ea+fa*aa+ha*X;Pa=+N(+Ta)-(_+(Ca*ua+Fa*Y+Ia*Z));if(Pa>0.0){i=f;return}if(Pa>Xa){Ya=4;Za=Ta<0.0&1;_a=A;$a=Pa}else{Ya=Ua;Za=Va;_a=Wa;$a=Xa}Xa=ba*U+fa*va+ha*wa;Pa=+N(+Xa)-(ca+(Da*ua+Ga*Y+Ja*Z));if(Pa>0.0){i=f;return}if(Pa>$a){ab=5;bb=Xa<0.0&1;cb=C;db=Pa}else{ab=Ya;bb=Za;cb=_a;db=$a}$a=ba*ya+fa*za+ha*Aa;ha=+N(+$a)-(da+(Ea*ua+Ha*Y+Ka*Z));if(ha>0.0){i=f;return}if(ha>db){eb=6;fb=$a<0.0&1;gb=E;hb=ha}else{eb=ab;fb=bb;gb=cb;hb=db}db=Ca+9.999999747378752e-06;Ca=Da+9.999999747378752e-06;Da=Ea+9.999999747378752e-06;Ea=Fa+9.999999747378752e-06;Fa=Ga+9.999999747378752e-06;Ga=Ha+9.999999747378752e-06;Ha=Ia+9.999999747378752e-06;Ia=Ja+9.999999747378752e-06;Ja=Ka+9.999999747378752e-06;Ka=ta*ka-pa*oa;ha=+N(+Ka)-(Ha*Y+Ea*Z+Da*ca+Ca*da);if(ha>1.1920928955078125e-07){i=f;return}$a=-oa;fa=oa*oa+0.0;ba=ka*ka;Pa=+O(+(ba+fa));if(Pa>1.1920928955078125e-07?(Xa=ha/Pa,Xa*1.0499999523162842>hb):0){cb=(g[k>>2]=0.0/Pa,c[k>>2]|0);bb=(g[k>>2]=$a/Pa,c[k>>2]|0);ib=7;jb=Ka<0.0&1;kb=cb;lb=bb;mb=(g[k>>2]=ka/Pa,c[k>>2]|0);nb=0;ob=Xa}else{ib=eb;jb=fb;kb=0;lb=0;mb=0;nb=gb;ob=hb}hb=ta*ja-pa*na;Xa=+N(+hb)-(Ia*Y+Fa*Z+Da*_+db*da);if(Xa>1.1920928955078125e-07){i=f;return}Pa=-na;Ka=na*na+0.0;$a=ja*ja;ha=+O(+($a+Ka));if(ha>1.1920928955078125e-07?(Ta=Xa/ha,Ta*1.0499999523162842>ob):0){gb=(g[k>>2]=0.0/ha,c[k>>2]|0);fb=(g[k>>2]=Pa/ha,c[k>>2]|0);pb=8;qb=hb<0.0&1;rb=gb;sb=fb;tb=(g[k>>2]=ja/ha,c[k>>2]|0);ub=0;vb=Ta}else{pb=ib;qb=jb;rb=kb;sb=lb;tb=mb;ub=nb;vb=ob}ob=ta*ia-pa*ma;Ta=+N(+ob)-(Ja*Y+Ga*Z+Ca*_+db*ca);if(Ta>1.1920928955078125e-07){i=f;return}ha=-ma;hb=ma*ma+0.0;Pa=ia*ia;Xa=+O(+(Pa+hb));if(Xa>1.1920928955078125e-07?(La=Ta/Xa,La*1.0499999523162842>vb):0){nb=(g[k>>2]=0.0/Xa,c[k>>2]|0);mb=(g[k>>2]=ha/Xa,c[k>>2]|0);wb=9;xb=ob<0.0&1;yb=nb;zb=mb;Ab=(g[k>>2]=ia/Xa,c[k>>2]|0);Bb=0;Cb=La}else{wb=pb;xb=qb;yb=rb;zb=sb;Ab=tb;Bb=ub;Cb=vb}vb=la*oa-ta*V;La=+N(+vb)-(Ha*ua+db*Z+Ga*ca+Fa*da);if(La>1.1920928955078125e-07){i=f;return}Xa=-V;ob=V*V;ha=+O(+(ob+fa));do if(ha>1.1920928955078125e-07){fa=La/ha;if(!(fa*1.0499999523162842>Cb)){Db=wb;Eb=xb;Fb=yb;Gb=zb;Hb=Ab;Ib=Bb;Jb=Cb;break}ub=(g[k>>2]=oa/ha,c[k>>2]|0);tb=(g[k>>2]=0.0/ha,c[k>>2]|0);Db=10;Eb=vb<0.0&1;Fb=ub;Gb=tb;Hb=(g[k>>2]=Xa/ha,c[k>>2]|0);Ib=0;Jb=fa}else{Db=wb;Eb=xb;Fb=yb;Gb=zb;Hb=Ab;Ib=Bb;Jb=Cb}while(0);Cb=la*na-ta*xa;ha=+N(+Cb)-(Ia*ua+Ca*Z+Ga*_+Ea*da);if(ha>1.1920928955078125e-07){i=f;return}Xa=-xa;vb=xa*xa;oa=+O(+(vb+Ka));do if(oa>1.1920928955078125e-07){Ka=ha/oa;if(!(Ka*1.0499999523162842>Jb)){Lb=Db;Mb=Eb;Nb=Fb;Ob=Gb;Pb=Hb;Qb=Ib;Rb=Jb;break}Bb=(g[k>>2]=na/oa,c[k>>2]|0);Ab=(g[k>>2]=0.0/oa,c[k>>2]|0);Lb=11;Mb=Cb<0.0&1;Nb=Bb;Ob=Ab;Pb=(g[k>>2]=Xa/oa,c[k>>2]|0);Qb=0;Rb=Ka}else{Lb=Db;Mb=Eb;Nb=Fb;Ob=Gb;Pb=Hb;Qb=Ib;Rb=Jb}while(0);Jb=la*ma-ta*Ba;ta=+N(+Jb)-(Ja*ua+Da*Z+Fa*_+Ea*ca);if(ta>1.1920928955078125e-07){i=f;return}oa=-Ba;Xa=Ba*Ba;Cb=+O(+(Xa+hb));do if(Cb>1.1920928955078125e-07){hb=ta/Cb;if(!(hb*1.0499999523162842>Rb)){Sb=Lb;Tb=Mb;Ub=Nb;Vb=Ob;Wb=Pb;Xb=Qb;Yb=Rb;break}Ib=(g[k>>2]=ma/Cb,c[k>>2]|0);Hb=(g[k>>2]=0.0/Cb,c[k>>2]|0);Sb=12;Tb=Jb<0.0&1;Ub=Ib;Vb=Hb;Wb=(g[k>>2]=oa/Cb,c[k>>2]|0);Xb=0;Yb=hb}else{Sb=Lb;Tb=Mb;Ub=Nb;Vb=Ob;Wb=Pb;Xb=Qb;Yb=Rb}while(0);Rb=pa*V-la*ka;Cb=+N(+Rb)-(Ea*ua+db*Y+Ja*ca+Ia*da);if(Cb>1.1920928955078125e-07){i=f;return}db=-ka;ka=+O(+(ob+ba+0.0));do if(ka>1.1920928955078125e-07){ba=Cb/ka;if(!(ba*1.0499999523162842>Yb)){Zb=Sb;_b=Tb;ac=Ub;bc=Vb;cc=Wb;dc=Xb;ec=Yb;break}Qb=(g[k>>2]=db/ka,c[k>>2]|0);Pb=(g[k>>2]=V/ka,c[k>>2]|0);Zb=13;_b=Rb<0.0&1;ac=Qb;bc=Pb;cc=(g[k>>2]=0.0/ka,c[k>>2]|0);dc=0;ec=ba}else{Zb=Sb;_b=Tb;ac=Ub;bc=Vb;cc=Wb;dc=Xb;ec=Yb}while(0);Yb=pa*xa-la*ja;ka=+N(+Yb)-(Fa*ua+Ca*Y+Ja*_+Ha*da);if(ka>1.1920928955078125e-07){i=f;return}Ja=-ja;ja=+O(+(vb+$a+0.0));do if(ja>1.1920928955078125e-07){$a=ka/ja;if(!($a*1.0499999523162842>ec)){fc=Zb;gc=_b;hc=ac;ic=bc;jc=cc;kc=dc;lc=ec;break}Xb=(g[k>>2]=Ja/ja,c[k>>2]|0);Wb=(g[k>>2]=xa/ja,c[k>>2]|0);fc=14;gc=Yb<0.0&1;hc=Xb;ic=Wb;jc=(g[k>>2]=0.0/ja,c[k>>2]|0);kc=0;lc=$a}else{fc=Zb;gc=_b;hc=ac;ic=bc;jc=cc;kc=dc;lc=ec}while(0);ec=pa*Ba-la*ia;la=+N(+ec)-(Ga*ua+Da*Y+Ia*_+Ha*ca);if(la>1.1920928955078125e-07){i=f;return}Ha=-ia;ia=+O(+(Xa+Pa+0.0));do if(ia>1.1920928955078125e-07){Pa=la/ia;if(!(Pa*1.0499999523162842>lc)){mc=55;break}dc=(g[k>>2]=Ha/ia,c[k>>2]|0);cc=(g[k>>2]=Ba/ia,c[k>>2]|0);nc=15;oc=ec<0.0&1;pc=dc;qc=cc;rc=(g[k>>2]=0.0/ia,c[k>>2]|0);sc=Pa;mc=58}else mc=55;while(0);do if((mc|0)==55){if(!fc){i=f;return}if(!kc){nc=fc;oc=gc;pc=hc;qc=ic;rc=jc;sc=lc;mc=58;break}cc=c[kc>>2]|0;dc=c[kc+16>>2]|0;bc=c[kc+32>>2]|0;ia=(c[k>>2]=cc,+g[k>>2]);ec=(c[k>>2]=dc,+g[k>>2]);tc=ia;uc=ec;vc=(c[k>>2]=bc,+g[k>>2]);wc=fc;xc=gc;yc=cc;zc=dc;Ac=bc;Bc=lc}while(0);if((mc|0)==58){lc=(c[k>>2]=pc,+g[k>>2]);ec=(c[k>>2]=qc,+g[k>>2]);ia=(c[k>>2]=rc,+g[k>>2]);Ba=lc*+g[z>>2]+ec*+g[B>>2]+ia*qa;rc=(g[k>>2]=Ba,c[k>>2]|0);Ha=lc*+g[F>>2]+ec*+g[H>>2]+ia*ra;qc=(g[k>>2]=Ha,c[k>>2]|0);la=lc*+g[L>>2]+ec*+g[P>>2]+ia*sa;tc=Ba;uc=Ha;vc=la;wc=nc;xc=oc;yc=rc;zc=qc;Ac=(g[k>>2]=la,c[k>>2]|0);Bc=sc}if(!xc){Cc=yc;Dc=zc;Ec=Ac}else{Ac=(g[k>>2]=-tc,c[k>>2]|0);zc=(g[k>>2]=-uc,c[k>>2]|0);Cc=Ac;Dc=zc;Ec=(g[k>>2]=-vc,c[k>>2]|0)}if((wc|0)>6){vc=(c[k>>2]=Cc,+g[k>>2]);uc=(c[k>>2]=Dc,+g[k>>2]);tc=(c[k>>2]=Ec,+g[k>>2]);sc=+g[z>>2];la=+g[F>>2];Ha=+g[L>>2];Ba=(vc*sc+uc*la+tc*Ha>0.0?1.0:-1.0)*ua;ua=+g[B>>2];ia=+g[H>>2];ec=+g[P>>2];lc=(vc*ua+uc*ia+tc*ec>0.0?1.0:-1.0)*Y;Y=(vc*qa+uc*ra+tc*sa>0.0?1.0:-1.0)*Z;Z=+g[b+48>>2]+Ba*sc+lc*ua+Y*qa;qa=+g[a>>2]+Ba*la+lc*ia+Y*ra;ra=+g[ga>>2]+Ba*Ha+lc*ec+Y*sa;c[e>>2]=c[T>>2];c[e+4>>2]=c[T+4>>2];c[e+8>>2]=c[T+8>>2];sa=(vc*ea+uc*aa+tc*X>0.0?-1.0:1.0)*_;ga=e+4|0;a=e+8|0;_=(vc*U+uc*va+tc*wa>0.0?-1.0:1.0)*ca;ca=+g[ga>>2]+sa*aa+_*va;va=+g[a>>2]+sa*X+_*wa;wa=(vc*ya+uc*za+tc*Aa>0.0?-1.0:1.0)*da;da=+g[e>>2]+sa*ea+_*U+wa*ya;g[e>>2]=da;ya=ca+wa*za;g[ga>>2]=ya;za=va+wa*Aa;g[a>>2]=za;b=wc+-7|0;P=(b|0)/3|0;Aa=+g[z+(P<<2)>>2];wa=+g[z+(P+4<<2)>>2];va=+g[z+(P+8<<2)>>2];P=(b|0)%3|0;ca=+g[A+(P<<2)>>2];U=+g[A+(P+4<<2)>>2];_=+g[A+(P+8<<2)>>2];ea=da-Z;Z=ya-qa;qa=za-ra;ra=Aa*ca+wa*U+va*_;sa=1.0-ra*ra;if(!(sa<=9.999999747378752e-05))Fc=((ea*Aa+Z*wa+qa*va)*ra-(ea*ca+Z*U+qa*_))*(1.0/sa);else Fc=0.0;g[e>>2]=da+Fc*ca;g[ga>>2]=ya+Fc*U;g[a>>2]=za+Fc*_;a=c[(c[d>>2]|0)+16>>2]|0;g[m>>2]=-vc;g[m+4>>2]=-uc;g[m+8>>2]=-tc;g[m+12>>2]=0.0;$b[a&7](d,m,e,Bc);i=f;return}m=(wc|0)<4;Bc=(c[k>>2]=Cc,+g[k>>2]);if(m){Gc=z;Hc=A;Ic=j;Jc=l;Kc=Bc;Lc=Ec;Mc=Dc;Nc=$;Oc=T}else{Cc=(g[k>>2]=-(c[k>>2]=Dc,+g[k>>2]),c[k>>2]|0);Gc=A;Hc=z;Ic=l;Jc=j;Kc=-Bc;Lc=(g[k>>2]=-(c[k>>2]=Ec,+g[k>>2]),c[k>>2]|0);Mc=Cc;Nc=T;Oc=$}tc=(c[k>>2]=Mc,+g[k>>2]);uc=(c[k>>2]=Lc,+g[k>>2]);vc=Kc*+g[Hc>>2]+tc*+g[Hc+16>>2]+uc*+g[Hc+32>>2];g[n>>2]=vc;_=Kc*+g[Hc+4>>2]+tc*+g[Hc+20>>2]+uc*+g[Hc+36>>2];g[n+4>>2]=_;Fc=Kc*+g[Hc+8>>2]+tc*+g[Hc+24>>2]+uc*+g[Hc+40>>2];g[n+8>>2]=Fc;za=+N(+vc);vc=+N(+_);_=+N(+Fc);Lc=vc>za;Mc=vc>_;$=za>_;T=Lc?(Mc?1:2):$?0:2;Cc=Lc?0:$&1;j=(Lc?Mc:$)?2:1;_=+g[Jc+(T<<2)>>2];za=+g[Oc>>2]-+g[Nc>>2];vc=_*+g[Hc+(T<<2)>>2];Fc=+g[Oc+4>>2];$=Nc+4|0;U=+g[$>>2];if(+g[n+(T<<2)>>2]<0.0){Pc=za+vc;Qc=Fc-U+_*+g[Hc+((T|4)<<2)>>2];Rc=+g[Oc+8>>2]-+g[Nc+8>>2]+_*+g[Hc+((T|8)<<2)>>2]}else{Pc=za-vc;Qc=Fc-U-_*+g[Hc+((T|4)<<2)>>2];Rc=+g[Oc+8>>2]-+g[Nc+8>>2]-_*+g[Hc+((T|8)<<2)>>2]}T=(m?-1:-4)+wc|0;switch(T|0){case 0:{Sc=1;Tc=2;break}case 1:{Sc=0;Tc=2;break}default:{Sc=0;Tc=1}}wc=Gc+(Sc<<2)|0;_=+g[wc>>2];U=+g[wc+16>>2];Fc=+g[wc+32>>2];vc=Pc*_+Qc*U+Rc*Fc;wc=Gc+(Tc<<2)|0;za=+g[wc>>2];ya=+g[wc+16>>2];ca=+g[wc+32>>2];da=Pc*za+Qc*ya+Rc*ca;wc=Hc+(Cc<<2)|0;sa=+g[wc>>2];qa=+g[wc+16>>2];Z=+g[wc+32>>2];ea=_*sa+U*qa+Fc*Z;Gc=Hc+(j<<2)|0;ra=+g[Gc>>2];va=+g[Gc+16>>2];wa=+g[Gc+32>>2];Aa=_*ra+U*va+Fc*wa;Fc=za*sa+ya*qa+ca*Z;Z=za*ra+ya*va+ca*wa;wa=+g[Jc+(Cc<<2)>>2];ca=ea*wa;va=Fc*wa;wa=+g[Jc+(j<<2)>>2];ya=Aa*wa;ra=Z*wa;wa=vc-ca;g[o>>2]=wa-ya;za=da-va;g[o+4>>2]=za-ra;g[o+8>>2]=wa+ya;g[o+12>>2]=za+ra;za=vc+ca;g[o+16>>2]=za+ya;ca=da+va;g[o+20>>2]=ca+ra;g[o+24>>2]=za-ya;g[o+28>>2]=ca-ra;c[p>>2]=c[Ic+(Sc<<2)>>2];c[p+4>>2]=c[Ic+(Tc<<2)>>2];Tc=0;Sc=4;Jc=o;o=q;a:while(1){Oc=p+(Tc<<2)|0;n=1-Tc|0;do if((Sc|0)>0){Mc=Sc;Lc=0;l=Jc;z=o;while(1){A=l+(Tc<<2)|0;ra=+g[A>>2];ca=+g[Oc>>2];if(ca>-ra){c[z>>2]=c[l>>2];c[z+4>>2]=c[l+4>>2];a=Lc+1|0;if(a&8|0){Uc=a;Vc=o;break a}Wc=+g[A>>2];Xc=+g[Oc>>2];Yc=a;Zc=z+8|0}else{Wc=ra;Xc=ca;Yc=Lc;Zc=z}a=(Mc|0)>1;A=l;l=l+8|0;ga=a?l:Jc;ca=+g[ga+(Tc<<2)>>2];if(Xc>-Wc^Xc>-ca){ra=+g[A+(n<<2)>>2];g[Zc+(n<<2)>>2]=ra+(-Xc-Wc)*((+g[ga+(n<<2)>>2]-ra)/(ca-Wc));g[Zc+(Tc<<2)>>2]=-+g[Oc>>2];ga=Yc+1|0;if(!(ga&8)){_c=ga;$c=Zc+8|0}else{Uc=ga;Vc=o;break a}}else{_c=Yc;$c=Zc}if(!a)break;else{Mc=Mc+-1|0;Lc=_c;z=$c}}z=(o|0)==(q|0)?e:q;if((_c|0)<=0){ad=z;bd=0;break}Lc=_c;Mc=0;l=o;a=z;while(1){ga=l+(Tc<<2)|0;ca=+g[ga>>2];ra=+g[Oc>>2];if(ca<ra){c[a>>2]=c[l>>2];c[a+4>>2]=c[l+4>>2];A=Mc+1|0;if(A&8|0){Uc=A;Vc=z;break a}cd=+g[Oc>>2];dd=+g[ga>>2];ed=A;fd=a+8|0}else{cd=ra;dd=ca;ed=Mc;fd=a}A=(Lc|0)>1;ga=l;l=l+8|0;P=A?l:o;ca=+g[P+(Tc<<2)>>2];if(dd<cd^ca<cd){ra=+g[ga+(n<<2)>>2];g[fd+(n<<2)>>2]=ra+(cd-dd)*((+g[P+(n<<2)>>2]-ra)/(ca-dd));c[fd+(Tc<<2)>>2]=c[Oc>>2];P=ed+1|0;if(!(P&8)){gd=P;hd=fd+8|0}else{Uc=P;Vc=z;break a}}else{gd=ed;hd=fd}if(!A){ad=z;bd=gd;break}else{Lc=Lc+-1|0;Mc=gd;a=hd}}}else{ad=(o|0)==(q|0)?e:q;bd=0}while(0);Tc=Tc+1|0;if((Tc|0)>=2){Uc=bd;Vc=ad;break}else{Sc=bd;Jc=ad;o=(ad|0)==(q|0)?e:q}}if((Vc|0)!=(q|0))Gs(q|0,Vc|0,Uc<<3|0)|0;if((Uc|0)>=1){dd=1.0/(ea*Z-Fc*Aa);cd=ea*dd;ea=Aa*dd;Aa=Fc*dd;Fc=Z*dd;dd=+g[Ic+(T<<2)>>2];Z=+g[wc>>2];Wc=+g[Gc>>2];Xc=+g[Hc+((Cc|4)<<2)>>2];ca=+g[Hc+((j|4)<<2)>>2];ra=+g[Hc+((Cc|8)<<2)>>2];ya=+g[Hc+((j|8)<<2)>>2];j=0;Hc=0;while(1){Cc=Hc<<1;za=+g[q+(Cc<<2)>>2];va=za-vc;wa=+g[q+((Cc|1)<<2)>>2];qa=wa-da;sa=Fc*va-ea*qa;U=cd*qa-Aa*va;Cc=j*3|0;va=Pc+sa*Z+U*Wc;g[r+(Cc<<2)>>2]=va;qa=Qc+sa*Xc+U*ca;g[r+(Cc+1<<2)>>2]=qa;_=Rc+sa*ra+U*ya;g[r+(Cc+2<<2)>>2]=_;U=dd-(Kc*va+tc*qa+uc*_);g[s+(j<<2)>>2]=U;if(!(U>=0.0))id=j;else{Cc=j<<1;g[q+(Cc<<2)>>2]=za;g[q+((Cc|1)<<2)>>2]=wa;id=j+1|0}Hc=Hc+1|0;if((Hc|0)==(Uc|0))break;else j=id}b:do if((id|0)>=1){j=(id|0)<4?id:4;Uc=(j|0)<1?1:j;if((id|0)<=(Uc|0))if(m){j=t+4|0;Hc=t+8|0;Cc=t+12|0;Gc=e+4|0;wc=Nc+8|0;T=e+8|0;uc=-Bc;tc=-(c[k>>2]=Dc,+g[k>>2]);Kc=-(c[k>>2]=Ec,+g[k>>2]);Ic=0;while(1){Vc=Ic*3|0;g[e>>2]=+g[r+(Vc<<2)>>2]+ +g[Nc>>2];g[Gc>>2]=+g[r+(Vc+1<<2)>>2]+ +g[$>>2];g[T>>2]=+g[r+(Vc+2<<2)>>2]+ +g[wc>>2];Vc=c[(c[d>>2]|0)+16>>2]|0;g[t>>2]=uc;g[j>>2]=tc;g[Hc>>2]=Kc;g[Cc>>2]=0.0;$b[Vc&7](d,t,e,-+g[s+(Ic<<2)>>2]);Ic=Ic+1|0;if((Ic|0)==(id|0))break b}}else{Ic=u+4|0;Cc=u+8|0;Hc=u+12|0;j=e+4|0;wc=Nc+8|0;T=e+8|0;Kc=(c[k>>2]=Dc,+g[k>>2]);tc=(c[k>>2]=Ec,+g[k>>2]);uc=-Bc;dd=-Kc;ya=-tc;Gc=0;while(1){Vc=Gc*3|0;ra=+g[s+(Gc<<2)>>2];g[e>>2]=+g[r+(Vc<<2)>>2]+ +g[Nc>>2]-Bc*ra;g[j>>2]=+g[r+(Vc+1<<2)>>2]+ +g[$>>2]-Kc*ra;g[T>>2]=+g[r+(Vc+2<<2)>>2]+ +g[wc>>2]-tc*ra;Vc=c[(c[d>>2]|0)+16>>2]|0;g[u>>2]=uc;g[Ic>>2]=dd;g[Cc>>2]=ya;g[Hc>>2]=0.0;$b[Vc&7](d,u,e,-ra);Gc=Gc+1|0;if((Gc|0)==(id|0))break b}}c:do if((id|0)>1){Gc=1;Hc=0;ya=+g[s>>2];while(1){dd=+g[s+(Gc<<2)>>2];Cc=dd>ya;Hc=Cc?Gc:Hc;Gc=Gc+1|0;if((Gc|0)==(id|0))break;else ya=Cc?dd:ya}switch(id|0){case 1:{jd=v;kd=v;ld=1;md=Hc;mc=111;break c;break}case 2:{nd=v;od=v;pd=2;qd=(+g[q>>2]+ +g[q+8>>2])*.5;rd=(+g[q+4>>2]+ +g[q+12>>2])*.5;sd=Hc;mc=116;break c;break}default:{}}Gc=id+-1|0;ya=0.0;dd=0.0;uc=0.0;Cc=0;do{Ic=Cc<<1;tc=+g[q+(Ic<<2)>>2];Kc=+g[q+(Ic+3<<2)>>2];ra=+g[q+(Ic+2<<2)>>2];Rc=+g[q+((Ic|1)<<2)>>2];ca=tc*Kc-ra*Rc;ya=ya+ca;dd=dd+(tc+ra)*ca;uc=uc+(Kc+Rc)*ca;Cc=Cc+1|0}while((Cc|0)!=(Gc|0));Gc=id<<1;ca=+g[q+(Gc+-2<<2)>>2];Rc=+g[q+4>>2];Kc=+g[q>>2];ra=+g[q+(Gc+-1<<2)>>2];tc=ca*Rc-Kc*ra;Xc=ya+tc;if(+N(+Xc)>1.1920928955078125e-07)td=1.0/(Xc*3.0);else td=999999984306749440.0;if((id|0)>0){ud=v;vd=v;wd=e;xd=id;yd=td*(dd+tc*(ca+Kc));zd=td*(uc+tc*(ra+Rc));Ad=Hc;mc=119;break}Bd=v;Cd=v;Dd=h;Ed=e;Fd=0;Gd=id;Hd=Hc}else{jd=v;kd=v;ld=id;md=0;mc=111}while(0);if((mc|0)==111){nd=jd;od=kd;pd=ld;qd=+g[q>>2];rd=+g[q+4>>2];sd=md;mc=116}if((mc|0)==116){ud=nd;vd=od;wd=e;xd=pd;yd=qd;zd=rd;Ad=sd;mc=119}if((mc|0)==119){Gc=0;do{Cc=Gc<<1;g[e+(Gc<<2)>>2]=+W(+(+g[q+((Cc|1)<<2)>>2]-zd),+(+g[q+(Cc<<2)>>2]-yd));Gc=Gc+1|0}while((Gc|0)!=(xd|0));Gc=0;do{c[h+(Gc<<2)>>2]=1;Gc=Gc+1|0}while((Gc|0)!=(xd|0));Bd=ud;Cd=vd;Dd=h;Ed=wd;Fd=1;Gd=xd;Hd=Ad}Gc=h+(Hd<<2)|0;c[Gc>>2]=0;c[Bd>>2]=Hd;Cc=v+4|0;d:do if((Uc|0)>1){Rc=6.2831854820251465/+(Uc|0);ra=+g[e+(Hd<<2)>>2];if(Fd){Id=Cc;Jd=1}else{Ic=Cc;wc=1;while(1){c[Ic>>2]=Hd;c[Gc>>2]=0;wc=wc+1|0;if((wc|0)==(Uc|0))break d;else Ic=Ic+4|0}}while(1){uc=Rc*+(Jd|0)+ra;dd=uc>3.1415927410125732?uc+-6.2831854820251465:uc;c[Id>>2]=Hd;Ic=Hd;wc=0;uc=1.0e9;while(1){do if(!(c[h+(wc<<2)>>2]|0)){Kd=Ic;Ld=uc}else{ya=+N(+(+g[e+(wc<<2)>>2]-dd));tc=ya>3.1415927410125732?6.2831854820251465-ya:ya;if(!(tc<uc)){Kd=Ic;Ld=uc;break}c[Id>>2]=wc;Kd=wc;Ld=tc}while(0);wc=wc+1|0;if((wc|0)==(Gd|0))break;else{Ic=Kd;uc=Ld}}c[h+(Kd<<2)>>2]=0;Jd=Jd+1|0;if((Jd|0)==(Uc|0))break;else Id=Id+4|0}}while(0);if((Uc|0)>0){Gc=w+4|0;Cc=w+8|0;Ic=w+12|0;wc=x+4|0;Hc=x+8|0;T=x+12|0;j=e+4|0;Vc=e+8|0;ad=y+4|0;o=y+8|0;Jc=y+12|0;bd=Nc+8|0;ra=-Bc;Rc=(c[k>>2]=Dc,+g[k>>2]);uc=-Rc;dd=(c[k>>2]=Ec,+g[k>>2]);tc=-dd;if(m){Sc=0;do{Tc=c[v+(Sc<<2)>>2]|0;hd=Tc*3|0;g[e>>2]=+g[r+(hd<<2)>>2]+ +g[Nc>>2];g[j>>2]=+g[r+(hd+1<<2)>>2]+ +g[$>>2];g[Vc>>2]=+g[r+(hd+2<<2)>>2]+ +g[bd>>2];hd=c[(c[d>>2]|0)+16>>2]|0;g[w>>2]=ra;g[Gc>>2]=uc;g[Cc>>2]=tc;g[Ic>>2]=0.0;$b[hd&7](d,w,e,-+g[s+(Tc<<2)>>2]);Sc=Sc+1|0}while((Sc|0)<(Uc|0))}else{Sc=0;do{Ic=c[v+(Sc<<2)>>2]|0;Cc=Ic*3|0;ya=+g[r+(Cc<<2)>>2]+ +g[Nc>>2];g[e>>2]=ya;Kc=+g[r+(Cc+1<<2)>>2]+ +g[$>>2];g[j>>2]=Kc;ca=+g[r+(Cc+2<<2)>>2]+ +g[bd>>2];g[Vc>>2]=ca;Cc=c[(c[d>>2]|0)+16>>2]|0;g[x>>2]=ra;g[wc>>2]=uc;g[Hc>>2]=tc;g[T>>2]=0.0;Xc=+g[s+(Ic<<2)>>2];g[y>>2]=ya-Bc*Xc;g[ad>>2]=Kc-Xc*Rc;g[o>>2]=ca-Xc*dd;g[Jc>>2]=0.0;$b[Cc&7](d,x,y,-Xc);Sc=Sc+1|0}while((Sc|0)<(Uc|0))}}}while(0)}i=f;return}function dq(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;c[b>>2]=6232;d=b+12|0;e=c[d>>2]|0;f=b+20|0;if((e|0)>0){g=b+4|0;h=0;do{i=c[(c[f>>2]|0)+(h<<2)>>2]|0;if(i|0){vb[c[c[i>>2]>>2]&255](i);i=c[g>>2]|0;xb[c[(c[i>>2]|0)+60>>2]&127](i,c[(c[f>>2]|0)+(h<<2)>>2]|0)}h=h+1|0}while((h|0)!=(e|0))}e=c[f>>2]|0;h=b+24|0;if(!e){a[h>>0]=1;c[f>>2]=0;c[d>>2]=0;j=b+16|0;c[j>>2]=0;return}if(a[h>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[e+-4>>2]|0)}c[f>>2]=0;a[h>>0]=1;c[f>>2]=0;c[d>>2]=0;j=b+16|0;c[j>>2]=0;return}function eq(a){a=a|0;dq(a);Ur(a);return}function fq(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|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.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,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0,ma=0,na=0,oa=0,pa=0;j=i;i=i+224|0;k=j+192|0;l=j+128|0;m=j+112|0;n=j+48|0;o=j+16|0;p=j;q=(a[b+28>>0]|0)!=0;r=q?e:d;s=q?d:e;q=c[r+4>>2]|0;t=q+72|0;u=b+40|0;v=b+12|0;if((c[t>>2]|0)!=(c[u>>2]|0)){w=c[v>>2]|0;if((w|0)>0){x=b+20|0;y=b+4|0;z=0;do{A=c[(c[x>>2]|0)+(z<<2)>>2]|0;if(A|0){vb[c[c[A>>2]>>2]&255](A);A=c[y>>2]|0;xb[c[(c[A>>2]|0)+60>>2]&127](A,c[(c[x>>2]|0)+(z<<2)>>2]|0)}z=z+1|0}while((z|0)!=(w|0))}gq(b,d,e);c[u>>2]=c[t>>2]}t=c[v>>2]|0;if(!t){i=j;return}u=c[q+68>>2]|0;e=b+4|0;d=c[e>>2]|0;w=b+20|0;z=c[w>>2]|0;x=c[b+32>>2]|0;c[k>>2]=6260;c[k+4>>2]=r;c[k+8>>2]=s;c[k+12>>2]=d;c[k+16>>2]=f;c[k+20>>2]=h;c[k+24>>2]=z;c[k+28>>2]=x;x=l+16|0;a[x>>0]=1;f=l+12|0;c[f>>2]=0;d=l+4|0;c[d>>2]=0;b=l+8|0;c[b>>2]=0;if((t|0)>0){y=h+4|0;A=h+8|0;B=h+12|0;h=t;t=z;z=0;while(1){C=c[t+(z<<2)>>2]|0;if(!C)D=h;else{xb[c[(c[C>>2]|0)+16>>2]&127](C,l);C=c[d>>2]|0;if((C|0)>0){E=C;F=0;while(1){G=c[(c[f>>2]|0)+(F<<2)>>2]|0;if(!(c[G+748>>2]|0))H=E;else{c[y>>2]=G;I=c[G+740>>2]|0;J=c[(c[A>>2]|0)+8>>2]|0;K=c[(c[B>>2]|0)+8>>2]|0;if((I|0)==(J|0))lp(G,I+4|0,K+4|0);else lp(G,K+4|0,J+4|0);c[y>>2]=0;H=c[d>>2]|0}F=F+1|0;if((F|0)>=(H|0)){L=H;break}else E=H}}else L=C;if((L|0)<0){if((c[b>>2]|0)<0){E=c[f>>2]|0;if(E|0){if(a[x>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[E+-4>>2]|0)}c[f>>2]=0}a[x>>0]=1;c[f>>2]=0;c[b>>2]=0;M=L}else M=L;do{c[(c[f>>2]|0)+(M<<2)>>2]=0;M=M+1|0}while((M|0)!=0)}c[d>>2]=0;D=c[v>>2]|0}C=z+1|0;if((C|0)>=(D|0))break;h=D;t=c[w>>2]|0;z=C}z=c[f>>2]|0;if(z|0){if(a[x>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[z+-4>>2]|0)}c[f>>2]=0}}if(!u){f=c[v>>2]|0;if((f|0)>0){z=q+28|0;x=0;do{jq(k,c[(c[z>>2]|0)+(x*80|0)+64>>2]|0,x);x=x+1|0}while((x|0)<(f|0));N=39}else O=f}else{f=c[r+12>>2]|0;P=+g[f>>2];Q=+g[f+16>>2];R=+g[f+32>>2];S=+g[f+4>>2];T=+g[f+20>>2];U=+g[f+36>>2];V=+g[f+8>>2];W=+g[f+24>>2];X=+g[f+40>>2];Y=-+g[f+48>>2];Z=-+g[f+52>>2];_=-+g[f+56>>2];f=c[s+12>>2]|0;$=+g[f>>2];aa=+g[f+16>>2];ba=+g[f+32>>2];ca=+g[f+4>>2];da=+g[f+20>>2];ea=+g[f+36>>2];fa=+g[f+8>>2];ga=+g[f+24>>2];ha=+g[f+40>>2];ia=+g[f+48>>2];ja=+g[f+52>>2];ka=+g[f+56>>2];g[n>>2]=P*$+Q*aa+R*ba;g[n+4>>2]=P*ca+Q*da+R*ea;g[n+8>>2]=P*fa+Q*ga+R*ha;g[n+12>>2]=0.0;g[n+16>>2]=S*$+T*aa+U*ba;g[n+20>>2]=S*ca+T*da+U*ea;g[n+24>>2]=S*fa+T*ga+U*ha;g[n+28>>2]=0.0;g[n+32>>2]=V*$+W*aa+X*ba;g[n+36>>2]=V*ca+W*da+X*ea;g[n+40>>2]=V*fa+W*ga+X*ha;g[n+44>>2]=0.0;g[n+48>>2]=P*Y+Q*Z+R*_+(P*ia+Q*ja+R*ka);g[n+52>>2]=S*Y+T*Z+U*_+(S*ia+T*ja+U*ka);g[n+56>>2]=V*Y+W*Z+X*_+(V*ia+W*ja+X*ka);g[n+60>>2]=0.0;f=c[s+4>>2]|0;ec[c[(c[f>>2]|0)+8>>2]&63](f,n,l,m);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];f=o+16|0;c[f>>2]=c[m>>2];c[f+4>>2]=c[m+4>>2];c[f+8>>2]=c[m+8>>2];c[f+12>>2]=c[m+12>>2];ri(c[u>>2]|0,o,k);N=39}if((N|0)==39)O=c[v>>2]|0;if((O|0)>0){v=q+28|0;q=r+12|0;r=l+4|0;N=l+8|0;k=l+12|0;u=l+16|0;f=l+20|0;x=l+24|0;z=l+28|0;t=l+32|0;D=l+36|0;h=l+40|0;d=l+44|0;M=l+48|0;L=l+52|0;b=l+56|0;H=l+60|0;y=s+4|0;B=s+12|0;s=m+8|0;A=p+8|0;C=m+4|0;E=p+4|0;F=n+4|0;J=o+4|0;K=n+8|0;G=o+8|0;I=0;do{do if(c[(c[w>>2]|0)+(I<<2)>>2]|0){la=c[v>>2]|0;ma=c[la+(I*80|0)+64>>2]|0;na=c[q>>2]|0;ka=+g[na>>2];X=+g[na+4>>2];ja=+g[na+8>>2];W=+g[na+16>>2];ia=+g[na+20>>2];V=+g[na+24>>2];_=+g[na+32>>2];Z=+g[na+36>>2];Y=+g[na+40>>2];U=+g[la+(I*80|0)>>2];T=+g[la+(I*80|0)+16>>2];S=+g[la+(I*80|0)+32>>2];R=+g[la+(I*80|0)+4>>2];Q=+g[la+(I*80|0)+20>>2];P=+g[la+(I*80|0)+36>>2];ha=+g[la+(I*80|0)+8>>2];ga=+g[la+(I*80|0)+24>>2];fa=+g[la+(I*80|0)+40>>2];ea=+g[la+(I*80|0)+48>>2];da=+g[la+(I*80|0)+52>>2];ca=+g[la+(I*80|0)+56>>2];ba=+g[na+48>>2]+(ka*ea+X*da+ja*ca);aa=+g[na+52>>2]+(W*ea+ia*da+V*ca);$=+g[na+56>>2]+(_*ea+Z*da+Y*ca);g[l>>2]=ka*U+X*T+ja*S;g[r>>2]=ka*R+X*Q+ja*P;g[N>>2]=ka*ha+X*ga+ja*fa;g[k>>2]=0.0;g[u>>2]=W*U+ia*T+V*S;g[f>>2]=W*R+ia*Q+V*P;g[x>>2]=W*ha+ia*ga+V*fa;g[z>>2]=0.0;g[t>>2]=_*U+Z*T+Y*S;g[D>>2]=_*R+Z*Q+Y*P;g[h>>2]=_*ha+Z*ga+Y*fa;g[d>>2]=0.0;g[M>>2]=ba;g[L>>2]=aa;g[b>>2]=$;g[H>>2]=0.0;ec[c[(c[ma>>2]|0)+8>>2]&63](ma,l,m,n);ma=c[y>>2]|0;ec[c[(c[ma>>2]|0)+8>>2]&63](ma,c[B>>2]|0,o,p);if(!(+g[m>>2]>+g[p>>2])?!(+g[n>>2]<+g[o>>2]):0)oa=1;else oa=0;if(!(+g[s>>2]>+g[A>>2])?!(+g[K>>2]<+g[G>>2]):0)pa=oa;else pa=0;if(!(+g[C>>2]>+g[E>>2])?!(+g[F>>2]<+g[J>>2]|pa^1):0)break;ma=c[(c[w>>2]|0)+(I<<2)>>2]|0;vb[c[c[ma>>2]>>2]&255](ma);ma=c[e>>2]|0;xb[c[(c[ma>>2]|0)+60>>2]&127](ma,c[(c[w>>2]|0)+(I<<2)>>2]|0);c[(c[w>>2]|0)+(I<<2)>>2]=0}while(0);I=I+1|0}while((I|0)<(O|0))}i=j;return}function gq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;f=i;i=i+32|0;g=f;h=(a[b+28>>0]|0)!=0;j=h?e:d;k=h?d:e;e=c[j+4>>2]|0;d=c[e+20>>2]|0;h=b+12|0;l=c[h>>2]|0;if((l|0)<(d|0)){m=b+16|0;if((c[m>>2]|0)<(d|0)){if(!d){n=0;o=l}else{c[4350]=(c[4350]|0)+1;p=Tr((d<<2|3)+16|0)|0;if(!p)q=0;else{r=p+4+15&-16;c[r+-4>>2]=p;q=r}n=q;o=c[h>>2]|0}q=b+20|0;if((o|0)>0){r=0;do{c[n+(r<<2)>>2]=c[(c[q>>2]|0)+(r<<2)>>2];r=r+1|0}while((r|0)!=(o|0))}o=c[q>>2]|0;r=b+24|0;if(o|0){if(a[r>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[o+-4>>2]|0)}c[q>>2]=0}a[r>>0]=1;c[q>>2]=n;c[m>>2]=d;s=q}else s=b+20|0;q=l;do{c[(c[s>>2]|0)+(q<<2)>>2]=0;q=q+1|0}while((q|0)!=(d|0))}c[h>>2]=d;if((d|0)<=0){i=f;return}h=e+68|0;q=e+28|0;e=j+8|0;s=j+12|0;l=g+4|0;m=g+8|0;n=g+12|0;r=g+16|0;o=g+20|0;p=b+4|0;t=b+32|0;u=b+20|0;b=0;do{if(!(c[h>>2]|0)){v=c[(c[q>>2]|0)+(b*80|0)+64>>2]|0;w=c[e>>2]|0;x=c[s>>2]|0;c[g>>2]=j;c[l>>2]=v;c[m>>2]=w;c[n>>2]=x;c[r>>2]=-1;c[o>>2]=b;x=c[p>>2]|0;w=Db[c[(c[x>>2]|0)+8>>2]&31](x,g,k,c[t>>2]|0)|0;c[(c[u>>2]|0)+(b<<2)>>2]=w}else c[(c[u>>2]|0)+(b<<2)>>2]=0;b=b+1|0}while((b|0)!=(d|0));i=f;return}function hq(a){a=a|0;Ur(a);return}function iq(a,b){a=a|0;b=b|0;var d=0;d=c[b+36>>2]|0;jq(a,c[(c[(c[(c[a+4>>2]|0)+4>>2]|0)+28>>2]|0)+(d*80|0)+64>>2]|0,d);return}function jq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=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,y=0.0,z=0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0,Q=0,R=0,S=0;e=i;i=i+160|0;f=e+88|0;h=e+72|0;j=e+56|0;k=e+40|0;l=e+24|0;m=e;n=a+4|0;o=c[n>>2]|0;p=c[o+12>>2]|0;q=+g[p>>2];r=+g[p+4>>2];s=+g[p+8>>2];t=+g[p+16>>2];u=+g[p+20>>2];v=+g[p+24>>2];w=+g[p+32>>2];x=+g[p+36>>2];y=+g[p+40>>2];z=c[(c[o+4>>2]|0)+28>>2]|0;A=+g[z+(d*80|0)>>2];B=+g[z+(d*80|0)+16>>2];C=+g[z+(d*80|0)+32>>2];D=+g[z+(d*80|0)+4>>2];E=+g[z+(d*80|0)+20>>2];F=+g[z+(d*80|0)+36>>2];G=+g[z+(d*80|0)+8>>2];H=+g[z+(d*80|0)+24>>2];I=+g[z+(d*80|0)+40>>2];J=+g[z+(d*80|0)+48>>2];K=+g[z+(d*80|0)+52>>2];L=+g[z+(d*80|0)+56>>2];M=+g[p+48>>2]+(q*J+r*K+s*L);N=+g[p+52>>2]+(t*J+u*K+v*L);O=+g[p+56>>2]+(w*J+x*K+y*L);g[f>>2]=q*A+r*B+s*C;g[f+4>>2]=q*D+r*E+s*F;g[f+8>>2]=q*G+r*H+s*I;g[f+12>>2]=0.0;g[f+16>>2]=t*A+u*B+v*C;g[f+20>>2]=t*D+u*E+v*F;g[f+24>>2]=t*G+u*H+v*I;g[f+28>>2]=0.0;g[f+32>>2]=w*A+x*B+y*C;g[f+36>>2]=w*D+x*E+y*F;g[f+40>>2]=w*G+x*H+y*I;g[f+44>>2]=0.0;g[f+48>>2]=M;g[f+52>>2]=N;g[f+56>>2]=O;g[f+60>>2]=0.0;ec[c[(c[b>>2]|0)+8>>2]&63](b,f,h,j);p=a+8|0;z=c[p>>2]|0;o=c[z+4>>2]|0;ec[c[(c[o>>2]|0)+8>>2]&63](o,c[z+12>>2]|0,k,l);if(!(+g[h>>2]>+g[l>>2])?!(+g[j>>2]<+g[k>>2]):0)P=1;else P=0;if(!(+g[h+8>>2]>+g[l+8>>2])?!(+g[j+8>>2]<+g[k+8>>2]):0)Q=P;else Q=0;if(+g[h+4>>2]>+g[l+4>>2]){i=e;return}if(+g[j+4>>2]<+g[k+4>>2]|Q^1){i=e;return}Q=c[n>>2]|0;k=c[Q+8>>2]|0;c[m>>2]=Q;c[m+4>>2]=b;c[m+8>>2]=k;c[m+12>>2]=f;c[m+16>>2]=-1;c[m+20>>2]=d;f=a+24|0;if(!(c[(c[f>>2]|0)+(d<<2)>>2]|0)){k=c[a+12>>2]|0;b=Db[c[(c[k>>2]|0)+8>>2]&31](k,m,c[p>>2]|0,c[a+28>>2]|0)|0;c[(c[f>>2]|0)+(d<<2)>>2]=b;R=c[n>>2]|0}else R=Q;Q=a+20|0;b=c[Q>>2]|0;k=b+8|0;j=c[k>>2]|0;if((c[j+8>>2]|0)==(c[R+8>>2]|0)){c[k>>2]=m;ac[c[(c[b>>2]|0)+8>>2]&63](b,-1,d);S=j}else{j=b+12|0;k=c[j>>2]|0;c[j>>2]=m;ac[c[(c[b>>2]|0)+12>>2]&63](b,-1,d);S=k}k=c[(c[f>>2]|0)+(d<<2)>>2]|0;tb[c[(c[k>>2]|0)+8>>2]&31](k,m,c[p>>2]|0,c[a+16>>2]|0,c[Q>>2]|0);a=c[Q>>2]|0;Q=a+8|0;if((c[(c[Q>>2]|0)+8>>2]|0)==(c[(c[n>>2]|0)+8>>2]|0))c[Q>>2]=S;else c[a+12>>2]=S;i=e;return}function kq(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0,K=0.0,L=0.0,M=0.0,N=0,O=0.0,P=0.0,Q=0.0,R=0,S=0,T=0.0,U=0,V=0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0;i=(a[b+28>>0]|0)!=0;j=i?e:d;k=i?d:e;e=c[b+12>>2]|0;if((e|0)<=0){l=1.0;return +l}d=j+4|0;i=j+8|0;m=j+12|0;n=j+16|0;o=j+20|0;p=j+24|0;q=j+28|0;r=j+32|0;s=j+36|0;t=j+40|0;u=j+44|0;v=j+48|0;w=j+52|0;x=j+56|0;y=j+60|0;z=j+64|0;A=(c[j+192>>2]|0)+28|0;B=j+284|0;C=b+20|0;D=+g[d>>2];E=+g[i>>2];F=+g[m>>2];b=c[n>>2]|0;G=+g[o>>2];H=+g[p>>2];I=+g[q>>2];J=c[r>>2]|0;K=+g[s>>2];L=+g[t>>2];M=+g[u>>2];N=c[v>>2]|0;O=+g[w>>2];P=+g[x>>2];Q=+g[y>>2];R=c[z>>2]|0;S=c[B>>2]|0;T=1.0;U=0;while(1){V=c[A>>2]|0;W=+g[V+(U*80|0)>>2];X=+g[V+(U*80|0)+16>>2];Y=+g[V+(U*80|0)+32>>2];Z=+g[V+(U*80|0)+4>>2];_=+g[V+(U*80|0)+20>>2];$=+g[V+(U*80|0)+36>>2];aa=+g[V+(U*80|0)+8>>2];ba=+g[V+(U*80|0)+24>>2];ca=+g[V+(U*80|0)+40>>2];da=+g[V+(U*80|0)+48>>2];ea=+g[V+(U*80|0)+52>>2];fa=+g[V+(U*80|0)+56>>2];c[B>>2]=S+1;g[d>>2]=D*W+E*X+F*Y;g[i>>2]=D*Z+E*_+F*$;g[m>>2]=D*aa+E*ba+F*ca;g[n>>2]=0.0;g[o>>2]=G*W+H*X+I*Y;g[p>>2]=G*Z+H*_+I*$;g[q>>2]=G*aa+H*ba+I*ca;g[r>>2]=0.0;g[s>>2]=K*W+L*X+M*Y;g[t>>2]=K*Z+L*_+M*$;g[u>>2]=K*aa+L*ba+M*ca;g[v>>2]=0.0;g[w>>2]=O+(D*da+E*ea+F*fa);g[x>>2]=P+(G*da+H*ea+I*fa);g[y>>2]=Q+(K*da+L*ea+M*fa);g[z>>2]=0.0;V=c[(c[C>>2]|0)+(U<<2)>>2]|0;fa=+Gb[c[(c[V>>2]|0)+12>>2]&15](V,j,k,f,h);ea=fa<T?fa:T;S=(c[B>>2]|0)+1|0;c[B>>2]=S;g[d>>2]=D;g[i>>2]=E;g[m>>2]=F;c[n>>2]=b;g[o>>2]=G;g[p>>2]=H;g[q>>2]=I;c[r>>2]=J;g[s>>2]=K;g[t>>2]=L;g[u>>2]=M;c[v>>2]=N;g[w>>2]=O;g[x>>2]=P;g[y>>2]=Q;c[z>>2]=R;U=U+1|0;if((U|0)==(e|0)){l=ea;break}else T=ea}return +l}function lq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=a+12|0;e=c[d>>2]|0;if((e|0)<=0)return;f=a+20|0;a=e;e=0;while(1){g=c[(c[f>>2]|0)+(e<<2)>>2]|0;if(!g)h=a;else{xb[c[(c[g>>2]|0)+16>>2]&127](g,b);h=c[d>>2]|0}e=e+1|0;if((e|0)>=(h|0))break;else a=h}return}function mq(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;c[b+4>>2]=c[d>>2];c[b>>2]=6232;a[b+24>>0]=1;c[b+20>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;a[b+28>>0]=g&1;c[b+32>>2]=c[d+4>>2];a[b+36>>0]=0;c[b+40>>2]=c[(c[(g?f:e)+4>>2]|0)+72>>2];gq(b,e,f);return}function nq(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c[b>>2]=6296;d=b+44|0;e=c[d>>2]|0;f=c[e+8>>2]|0;if((f|0)>0){g=e+16|0;h=b+4|0;i=0;do{j=c[(c[g>>2]|0)+(i*12|0)+8>>2]|0;if(j|0){vb[c[c[j>>2]>>2]&255](j);k=c[h>>2]|0;xb[c[(c[k>>2]|0)+60>>2]&127](k,j)}i=i+1|0}while((i|0)!=(f|0));l=c[d>>2]|0}else l=e;gr(l);l=c[d>>2]|0;vb[c[c[l>>2]>>2]&255](l);l=c[d>>2]|0;if(l|0){c[4351]=(c[4351]|0)+1;Ur(c[l+-4>>2]|0)}l=b+52|0;d=b+60|0;e=c[d>>2]|0;f=b+64|0;if(!e){a[f>>0]=1;c[d>>2]=0;c[l>>2]=0;m=b+56|0;c[m>>2]=0;dq(b);return}if(a[f>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[e+-4>>2]|0)}c[d>>2]=0;a[f>>0]=1;c[d>>2]=0;c[l>>2]=0;m=b+56|0;c[m>>2]=0;dq(b);return}function oq(a){a=a|0;nq(a);Ur(a);return}function pq(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|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,O=0,P=0,Q=0,R=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,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0.0,qa=0.0,ra=0.0,sa=0,ta=0.0,ua=0.0,va=0.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;j=i;i=i+176|0;k=j+128|0;l=j+112|0;m=j+96|0;n=j+80|0;o=j+64|0;p=j;q=c[d+4>>2]|0;r=c[e+4>>2]|0;s=c[q+68>>2]|0;t=c[r+68>>2]|0;if(!((s|0)!=0&(t|0)!=0)){fq(b,d,e,f,h);i=j;return}u=q+72|0;v=b+68|0;if((c[u>>2]|0)==(c[v>>2]|0)?(c[r+72>>2]|0)==(c[b+72>>2]|0):0)w=b+44|0;else{x=b+44|0;y=c[x>>2]|0;z=c[y+8>>2]|0;if((z|0)>0){A=y+16|0;B=b+4|0;C=0;do{D=c[(c[A>>2]|0)+(C*12|0)+8>>2]|0;if(D|0){vb[c[c[D>>2]>>2]&255](D);E=c[B>>2]|0;xb[c[(c[E>>2]|0)+60>>2]&127](E,D)}C=C+1|0}while((C|0)!=(z|0));F=c[x>>2]|0}else F=y;gr(F);c[v>>2]=c[u>>2];c[b+72>>2]=c[r+72>>2];w=x}x=k+16|0;a[x>>0]=1;u=k+12|0;c[u>>2]=0;v=k+4|0;c[v>>2]=0;F=k+8|0;c[F>>2]=0;y=c[w>>2]|0;z=y+8|0;C=c[z>>2]|0;if((C|0)>0){B=y+16|0;y=h+4|0;A=h+8|0;D=h+12|0;E=C;C=0;while(1){G=c[(c[B>>2]|0)+(C*12|0)+8>>2]|0;if(!G)H=E;else{xb[c[(c[G>>2]|0)+16>>2]&127](G,k);G=c[v>>2]|0;if((G|0)>0){I=G;J=0;while(1){K=c[(c[u>>2]|0)+(J<<2)>>2]|0;if(!(c[K+748>>2]|0))L=I;else{c[y>>2]=K;M=c[K+740>>2]|0;O=c[(c[A>>2]|0)+8>>2]|0;P=c[(c[D>>2]|0)+8>>2]|0;if((M|0)==(O|0))lp(K,M+4|0,P+4|0);else lp(K,P+4|0,O+4|0);c[y>>2]=0;L=c[v>>2]|0}J=J+1|0;if((J|0)>=(L|0)){Q=L;break}else I=L}}else Q=G;if((Q|0)<0){if((c[F>>2]|0)<0){I=c[u>>2]|0;if(I|0){if(a[x>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[I+-4>>2]|0)}c[u>>2]=0}a[x>>0]=1;c[u>>2]=0;c[F>>2]=0;R=Q}else R=Q;do{c[(c[u>>2]|0)+(R<<2)>>2]=0;R=R+1|0}while((R|0)!=0)}c[v>>2]=0;H=c[z>>2]|0}C=C+1|0;if((C|0)>=(H|0))break;else E=H}H=c[u>>2]|0;if(H|0){if(a[x>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[H+-4>>2]|0)}c[u>>2]=0}}u=b+4|0;H=c[u>>2]|0;x=c[w>>2]|0;E=c[b+32>>2]|0;c[k>>2]=6324;c[k+4>>2]=0;c[k+8>>2]=d;c[k+12>>2]=e;c[k+16>>2]=H;c[k+20>>2]=f;c[k+24>>2]=h;c[k+28>>2]=x;c[k+32>>2]=E;E=d+12|0;d=c[E>>2]|0;S=+g[d>>2];T=+g[d+16>>2];U=+g[d+32>>2];V=+g[d+4>>2];W=+g[d+20>>2];X=+g[d+36>>2];Y=+g[d+8>>2];Z=+g[d+24>>2];_=+g[d+40>>2];$=-+g[d+48>>2];aa=-+g[d+52>>2];ba=-+g[d+56>>2];d=e+12|0;e=c[d>>2]|0;ca=+g[e>>2];da=+g[e+16>>2];ea=+g[e+32>>2];fa=S*ca+T*da+U*ea;ga=+g[e+4>>2];ha=+g[e+20>>2];ia=+g[e+36>>2];ja=S*ga+T*ha+U*ia;ka=+g[e+8>>2];la=+g[e+24>>2];ma=+g[e+40>>2];na=S*ka+T*la+U*ma;oa=V*ca+W*da+X*ea;pa=V*ga+W*ha+X*ia;qa=V*ka+W*la+X*ma;ra=Y*ca+Z*da+_*ea;ea=Y*ga+Z*ha+_*ia;ia=Y*ka+Z*la+_*ma;ma=+g[e+48>>2];la=+g[e+52>>2];ka=+g[e+56>>2];ha=S*$+T*aa+U*ba+(S*ma+T*la+U*ka);U=V*$+W*aa+X*ba+(V*ma+W*la+X*ka);X=Y*$+Z*aa+_*ba+(Y*ma+Z*la+_*ka);e=c[s>>2]|0;s=c[t>>2]|0;if((e|0)!=0&(s|0)!=0){c[4350]=(c[4350]|0)+1;t=Tr(1043)|0;if(!t)sa=0;else{x=t+4+15&-16;c[x+-4>>2]=t;sa=x}c[sa>>2]=e;c[sa+4>>2]=s;ka=+N(+fa);_=+N(+ja);la=+N(+na);Z=+N(+oa);ma=+N(+pa);Y=+N(+qa);ba=+N(+ra);aa=+N(+ea);$=+N(+ia);s=1;e=128;x=128;t=sa;sa=124;while(1){h=s+-1|0;f=c[t+(h<<3)>>2]|0;H=c[t+(h<<3)+4>>2]|0;W=+g[H+16>>2];V=+g[H>>2];T=+g[H+20>>2];S=+g[H+4>>2];ga=+g[H+24>>2];da=+g[H+8>>2];ca=(W-V)*.5+0.0;ta=(T-S)*.5+0.0;ua=(ga-da)*.5+0.0;va=(W+V)*.5;V=(T+S)*.5;S=(ga+da)*.5;da=ha+(fa*va+ja*V+na*S);ga=U+(oa*va+pa*V+qa*S);T=X+(ra*va+ea*V+ia*S);S=ca*ka+ta*_+ua*la;V=ca*Z+ta*ma+ua*Y;va=ca*ba+ta*aa+ua*$;ua=ga-V;ta=T-va;ca=ga+V;V=T+va;do if(((((+g[f>>2]<=S+da?+g[f+16>>2]>=da-S:0)?+g[f+4>>2]<=ca:0)?+g[f+20>>2]>=ua:0)?+g[f+8>>2]<=V:0)?+g[f+24>>2]>=ta:0){if((h|0)>(sa|0)){C=x<<1;do if((x|0)<(C|0)&(e|0)<(C|0)){do if(!x){wa=0;xa=54}else{c[4350]=(c[4350]|0)+1;z=Tr((x<<4|3)+16|0)|0;if(!z)ya=0;else{v=z+4+15&-16;c[v+-4>>2]=z;ya=v}if((x|0)>0)za=0;else{wa=ya;xa=54;break}do{v=t+(za<<3)|0;z=c[v+4>>2]|0;R=ya+(za<<3)|0;c[R>>2]=c[v>>2];c[R+4>>2]=z;za=za+1|0}while((za|0)!=(x|0));Aa=ya}while(0);if((xa|0)==54){xa=0;if(!t){Ba=C;Ca=wa;break}else Aa=wa}c[4351]=(c[4351]|0)+1;Ur(c[t+-4>>2]|0);Ba=C;Ca=Aa}else{Ba=e;Ca=t}while(0);Da=Ba;Ea=C;Fa=Ca;Ga=C+-4|0}else{Da=e;Ea=x;Fa=t;Ga=sa}z=f+40|0;R=H+40|0;v=(c[R>>2]|0)!=0;if(!(c[z>>2]|0))if(v){Q=c[H+36>>2]|0;F=f;c[Fa+(h<<3)>>2]=F;c[Fa+(h<<3)+4>>2]=Q;Q=c[R>>2]|0;c[Fa+(s<<3)>>2]=F;c[Fa+(s<<3)+4>>2]=Q;Ha=s+1|0;Ia=Da;Ja=Ea;Ka=Fa;La=Ga;break}else{ac[c[(c[k>>2]|0)+8>>2]&63](k,f,H);Ha=h;Ia=Da;Ja=Ea;Ka=Fa;La=Ga;break}else{Q=Fa+(h<<3)|0;F=f+36|0;L=c[F>>2]|0;if(v){v=H+36|0;y=c[v>>2]|0;c[Q>>2]=L;c[Fa+(h<<3)+4>>2]=y;y=s+1|0;D=c[v>>2]|0;c[Fa+(s<<3)>>2]=c[z>>2];c[Fa+(s<<3)+4>>2]=D;D=s+2|0;v=c[R>>2]|0;c[Fa+(y<<3)>>2]=c[F>>2];c[Fa+(y<<3)+4>>2]=v;v=c[R>>2]|0;c[Fa+(D<<3)>>2]=c[z>>2];c[Fa+(D<<3)+4>>2]=v;Ha=s+3|0;Ia=Da;Ja=Ea;Ka=Fa;La=Ga;break}else{v=H;c[Q>>2]=L;c[Fa+(h<<3)+4>>2]=v;c[Fa+(s<<3)>>2]=c[z>>2];c[Fa+(s<<3)+4>>2]=v;Ha=s+1|0;Ia=Da;Ja=Ea;Ka=Fa;La=Ga;break}}}else{Ha=h;Ia=e;Ja=x;Ka=t;La=sa}while(0);if(!Ha)break;else{s=Ha;e=Ia;x=Ja;t=Ka;sa=La}}if(Ka|0){c[4351]=(c[4351]|0)+1;Ur(c[Ka+-4>>2]|0)}}Ka=c[w>>2]|0;La=Ka+8|0;if((c[La>>2]|0)>0){sa=Ka+16|0;Ka=q+28|0;q=p+4|0;t=p+8|0;Ja=p+12|0;x=p+16|0;Ia=p+20|0;e=p+24|0;Ha=p+28|0;s=p+32|0;Ga=p+36|0;Fa=p+40|0;Ea=p+44|0;Da=p+48|0;k=p+52|0;Ca=p+56|0;Ba=p+60|0;Aa=r+28|0;r=p+4|0;wa=p+8|0;xa=p+12|0;ya=p+16|0;za=p+20|0;h=p+24|0;H=p+28|0;f=p+32|0;v=p+36|0;z=p+40|0;L=p+44|0;Q=p+48|0;D=p+52|0;R=p+56|0;y=p+60|0;F=l+8|0;A=o+8|0;B=l+4|0;G=o+4|0;I=b+52|0;J=b+56|0;O=b+60|0;P=b+64|0;K=m+4|0;M=n+4|0;Ma=m+8|0;Na=n+8|0;Oa=0;do{Pa=c[sa>>2]|0;Qa=c[Pa+(Oa*12|0)+8>>2]|0;do if(Qa|0){Ra=c[Pa+(Oa*12|0)>>2]|0;Sa=c[Ka>>2]|0;Ta=c[Sa+(Ra*80|0)+64>>2]|0;Ua=c[E>>2]|0;$=+g[Ua>>2];aa=+g[Ua+4>>2];ba=+g[Ua+8>>2];Y=+g[Ua+16>>2];ma=+g[Ua+20>>2];Z=+g[Ua+24>>2];la=+g[Ua+32>>2];_=+g[Ua+36>>2];ka=+g[Ua+40>>2];ia=+g[Sa+(Ra*80|0)>>2];ea=+g[Sa+(Ra*80|0)+16>>2];ra=+g[Sa+(Ra*80|0)+32>>2];X=+g[Sa+(Ra*80|0)+4>>2];qa=+g[Sa+(Ra*80|0)+20>>2];pa=+g[Sa+(Ra*80|0)+36>>2];oa=+g[Sa+(Ra*80|0)+8>>2];U=+g[Sa+(Ra*80|0)+24>>2];na=+g[Sa+(Ra*80|0)+40>>2];ja=+g[Sa+(Ra*80|0)+48>>2];fa=+g[Sa+(Ra*80|0)+52>>2];ha=+g[Sa+(Ra*80|0)+56>>2];ta=+g[Ua+48>>2]+($*ja+aa*fa+ba*ha);V=+g[Ua+52>>2]+(Y*ja+ma*fa+Z*ha);ua=+g[Ua+56>>2]+(la*ja+_*fa+ka*ha);g[p>>2]=$*ia+aa*ea+ba*ra;g[q>>2]=$*X+aa*qa+ba*pa;g[t>>2]=$*oa+aa*U+ba*na;g[Ja>>2]=0.0;g[x>>2]=Y*ia+ma*ea+Z*ra;g[Ia>>2]=Y*X+ma*qa+Z*pa;g[e>>2]=Y*oa+ma*U+Z*na;g[Ha>>2]=0.0;g[s>>2]=la*ia+_*ea+ka*ra;g[Ga>>2]=la*X+_*qa+ka*pa;g[Fa>>2]=la*oa+_*U+ka*na;g[Ea>>2]=0.0;g[Da>>2]=ta;g[k>>2]=V;g[Ca>>2]=ua;g[Ba>>2]=0.0;ec[c[(c[Ta>>2]|0)+8>>2]&63](Ta,p,l,m);Ta=c[(c[sa>>2]|0)+(Oa*12|0)+4>>2]|0;Ua=c[Aa>>2]|0;Ra=c[Ua+(Ta*80|0)+64>>2]|0;Sa=c[d>>2]|0;ua=+g[Sa>>2];V=+g[Sa+4>>2];ta=+g[Sa+8>>2];na=+g[Sa+16>>2];ka=+g[Sa+20>>2];U=+g[Sa+24>>2];_=+g[Sa+32>>2];oa=+g[Sa+36>>2];la=+g[Sa+40>>2];pa=+g[Ua+(Ta*80|0)>>2];qa=+g[Ua+(Ta*80|0)+16>>2];X=+g[Ua+(Ta*80|0)+32>>2];ra=+g[Ua+(Ta*80|0)+4>>2];ea=+g[Ua+(Ta*80|0)+20>>2];ia=+g[Ua+(Ta*80|0)+36>>2];Z=+g[Ua+(Ta*80|0)+8>>2];ma=+g[Ua+(Ta*80|0)+24>>2];Y=+g[Ua+(Ta*80|0)+40>>2];ba=+g[Ua+(Ta*80|0)+48>>2];aa=+g[Ua+(Ta*80|0)+52>>2];$=+g[Ua+(Ta*80|0)+56>>2];ha=+g[Sa+48>>2]+(ua*ba+V*aa+ta*$);fa=+g[Sa+52>>2]+(na*ba+ka*aa+U*$);ja=+g[Sa+56>>2]+(_*ba+oa*aa+la*$);g[p>>2]=ua*pa+V*qa+ta*X;g[r>>2]=ua*ra+V*ea+ta*ia;g[wa>>2]=ua*Z+V*ma+ta*Y;g[xa>>2]=0.0;g[ya>>2]=na*pa+ka*qa+U*X;g[za>>2]=na*ra+ka*ea+U*ia;g[h>>2]=na*Z+ka*ma+U*Y;g[H>>2]=0.0;g[f>>2]=_*pa+oa*qa+la*X;g[v>>2]=_*ra+oa*ea+la*ia;g[z>>2]=_*Z+oa*ma+la*Y;g[L>>2]=0.0;g[Q>>2]=ha;g[D>>2]=fa;g[R>>2]=ja;g[y>>2]=0.0;ec[c[(c[Ra>>2]|0)+8>>2]&63](Ra,p,n,o);if(!(+g[l>>2]>+g[o>>2])?!(+g[m>>2]<+g[n>>2]):0)Va=1;else Va=0;if(!(+g[F>>2]>+g[A>>2])?!(+g[Ma>>2]<+g[Na>>2]):0)Wa=Va;else Wa=0;if(!(+g[B>>2]>+g[G>>2])?!(+g[K>>2]<+g[M>>2]|Wa^1):0)break;vb[c[c[Qa>>2]>>2]&255](Qa);Ra=c[u>>2]|0;xb[c[(c[Ra>>2]|0)+60>>2]&127](Ra,Qa);Ra=c[sa>>2]|0;Sa=c[Ra+(Oa*12|0)>>2]|0;Ta=c[Ra+(Oa*12|0)+4>>2]|0;Ra=c[I>>2]|0;if((Ra|0)==(c[J>>2]|0)?(Ua=Ra|0?Ra<<1:1,(Ra|0)<(Ua|0)):0){if(!Ua){Xa=0;Ya=Ra}else{c[4350]=(c[4350]|0)+1;Za=Tr((Ua*12|3)+16|0)|0;if(!Za)_a=0;else{$a=Za+4+15&-16;c[$a+-4>>2]=Za;_a=$a}Xa=_a;Ya=c[I>>2]|0}if((Ya|0)>0){$a=0;do{Za=Xa+($a*12|0)|0;ab=(c[O>>2]|0)+($a*12|0)|0;c[Za>>2]=c[ab>>2];c[Za+4>>2]=c[ab+4>>2];c[Za+8>>2]=c[ab+8>>2];$a=$a+1|0}while(($a|0)!=(Ya|0))}$a=c[O>>2]|0;if($a|0){if(a[P>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[$a+-4>>2]|0)}c[O>>2]=0}a[P>>0]=1;c[O>>2]=Xa;c[J>>2]=Ua;bb=c[I>>2]|0}else bb=Ra;$a=c[O>>2]|0;c[$a+(bb*12|0)>>2]=Sa;c[$a+(bb*12|0)+4>>2]=Ta;c[$a+(bb*12|0)+8>>2]=0;c[I>>2]=(c[I>>2]|0)+1}while(0);Oa=Oa+1|0}while((Oa|0)<(c[La>>2]|0));cb=O;db=I}else{cb=b+60|0;db=b+52|0}if((c[db>>2]|0)>0){I=0;do{O=c[w>>2]|0;La=c[cb>>2]|0;Hb[c[(c[O>>2]|0)+8>>2]&31](O,c[La+(I*12|0)>>2]|0,c[La+(I*12|0)+4>>2]|0)|0;I=I+1|0}while((I|0)<(c[db>>2]|0))}I=c[cb>>2]|0;w=b+64|0;if(I|0){if(a[w>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[I+-4>>2]|0)}c[cb>>2]=0}a[w>>0]=1;c[cb>>2]=0;c[db>>2]=0;c[b+56>>2]=0;i=j;return}function qq(a){a=a|0;Ur(a);return}function rq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=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.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.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.0,T=0.0,U=0.0,V=0,W=0,X=0,Y=0,Z=0;e=i;i=i+240|0;f=e+176|0;h=e+112|0;j=e+96|0;k=e+80|0;l=e+64|0;m=e+48|0;n=e+24|0;o=e;p=a+4|0;c[p>>2]=(c[p>>2]|0)+1;p=c[b+36>>2]|0;b=c[d+36>>2]|0;d=a+8|0;q=c[d>>2]|0;r=a+12|0;s=c[(c[q+4>>2]|0)+28>>2]|0;t=c[s+(p*80|0)+64>>2]|0;u=(c[(c[r>>2]|0)+4>>2]|0)+28|0;v=c[(c[u>>2]|0)+(b*80|0)+64>>2]|0;w=c[q+12>>2]|0;x=+g[w>>2];y=+g[w+4>>2];z=+g[w+8>>2];A=+g[w+16>>2];B=+g[w+20>>2];C=+g[w+24>>2];D=+g[w+32>>2];E=+g[w+36>>2];F=+g[w+40>>2];G=+g[s+(p*80|0)>>2];H=+g[s+(p*80|0)+16>>2];I=+g[s+(p*80|0)+32>>2];J=+g[s+(p*80|0)+4>>2];K=+g[s+(p*80|0)+20>>2];L=+g[s+(p*80|0)+36>>2];M=+g[s+(p*80|0)+8>>2];N=+g[s+(p*80|0)+24>>2];O=+g[s+(p*80|0)+40>>2];P=+g[s+(p*80|0)+48>>2];Q=+g[s+(p*80|0)+52>>2];R=+g[s+(p*80|0)+56>>2];S=+g[w+48>>2]+(x*P+y*Q+z*R);T=+g[w+52>>2]+(A*P+B*Q+C*R);U=+g[w+56>>2]+(D*P+E*Q+F*R);g[f>>2]=x*G+y*H+z*I;g[f+4>>2]=x*J+y*K+z*L;g[f+8>>2]=x*M+y*N+z*O;g[f+12>>2]=0.0;g[f+16>>2]=A*G+B*H+C*I;g[f+20>>2]=A*J+B*K+C*L;g[f+24>>2]=A*M+B*N+C*O;g[f+28>>2]=0.0;g[f+32>>2]=D*G+E*H+F*I;g[f+36>>2]=D*J+E*K+F*L;g[f+40>>2]=D*M+E*N+F*O;g[f+44>>2]=0.0;g[f+48>>2]=S;g[f+52>>2]=T;g[f+56>>2]=U;g[f+60>>2]=0.0;w=c[(c[r>>2]|0)+12>>2]|0;U=+g[w>>2];T=+g[w+4>>2];S=+g[w+8>>2];O=+g[w+16>>2];F=+g[w+20>>2];N=+g[w+24>>2];E=+g[w+32>>2];M=+g[w+36>>2];D=+g[w+40>>2];s=c[u>>2]|0;L=+g[s+(b*80|0)>>2];K=+g[s+(b*80|0)+16>>2];J=+g[s+(b*80|0)+32>>2];I=+g[s+(b*80|0)+4>>2];H=+g[s+(b*80|0)+20>>2];G=+g[s+(b*80|0)+36>>2];C=+g[s+(b*80|0)+8>>2];B=+g[s+(b*80|0)+24>>2];A=+g[s+(b*80|0)+40>>2];z=+g[s+(b*80|0)+48>>2];y=+g[s+(b*80|0)+52>>2];x=+g[s+(b*80|0)+56>>2];R=+g[w+48>>2]+(U*z+T*y+S*x);Q=+g[w+52>>2]+(O*z+F*y+N*x);P=+g[w+56>>2]+(E*z+M*y+D*x);g[h>>2]=U*L+T*K+S*J;g[h+4>>2]=U*I+T*H+S*G;g[h+8>>2]=U*C+T*B+S*A;g[h+12>>2]=0.0;g[h+16>>2]=O*L+F*K+N*J;g[h+20>>2]=O*I+F*H+N*G;g[h+24>>2]=O*C+F*B+N*A;g[h+28>>2]=0.0;g[h+32>>2]=E*L+M*K+D*J;g[h+36>>2]=E*I+M*H+D*G;g[h+40>>2]=E*C+M*B+D*A;g[h+44>>2]=0.0;g[h+48>>2]=R;g[h+52>>2]=Q;g[h+56>>2]=P;g[h+60>>2]=0.0;ec[c[(c[t>>2]|0)+8>>2]&63](t,f,j,k);ec[c[(c[v>>2]|0)+8>>2]&63](v,h,l,m);if(!(+g[j>>2]>+g[m>>2])?!(+g[k>>2]<+g[l>>2]):0)V=1;else V=0;if(!(+g[j+8>>2]>+g[m+8>>2])?!(+g[k+8>>2]<+g[l+8>>2]):0)W=V;else W=0;if(+g[j+4>>2]>+g[m+4>>2]){i=e;return}if(+g[k+4>>2]<+g[l+4>>2]|W^1){i=e;return}W=c[d>>2]|0;d=c[W+8>>2]|0;c[n>>2]=W;c[n+4>>2]=t;c[n+8>>2]=d;c[n+12>>2]=f;c[n+16>>2]=-1;c[n+20>>2]=p;f=c[r>>2]|0;r=c[f+8>>2]|0;c[o>>2]=f;c[o+4>>2]=v;c[o+8>>2]=r;c[o+12>>2]=h;c[o+16>>2]=-1;c[o+20>>2]=b;h=a+28|0;r=c[h>>2]|0;c[4346]=(c[4346]|0)+1;v=b<<16|p;f=v+~(v<<15)|0;v=(f>>10^f)*9|0;f=v>>6^v;v=f+~(f<<11)|0;f=(c[r+12>>2]|0)+-1&(v>>16^v);a:do if((f|0)<(c[r+32>>2]|0)?(v=c[(c[r+40>>2]|0)+(f<<2)>>2]|0,(v|0)!=-1):0){d=c[r+16>>2]|0;t=r+60|0;W=v;while(1){X=d+(W*12|0)|0;if((c[X>>2]|0)==(p|0)?(c[d+(W*12|0)+4>>2]|0)==(b|0):0)break;v=c[(c[t>>2]|0)+(W<<2)>>2]|0;if((v|0)==-1){Y=16;break a}else W=v}if(X)Z=c[d+(W*12|0)+8>>2]|0;else Y=16}else Y=16;while(0);if((Y|0)==16){Y=c[a+16>>2]|0;X=Db[c[(c[Y>>2]|0)+8>>2]&31](Y,n,o,c[a+32>>2]|0)|0;Y=c[h>>2]|0;c[(Hb[c[(c[Y>>2]|0)+12>>2]&31](Y,p,b)|0)+8>>2]=X;Z=X}X=a+24|0;Y=c[X>>2]|0;h=Y+8|0;r=c[h>>2]|0;f=Y+12|0;t=c[f>>2]|0;c[h>>2]=n;c[f>>2]=o;ac[c[(c[Y>>2]|0)+8>>2]&63](Y,-1,p);p=c[X>>2]|0;ac[c[(c[p>>2]|0)+12>>2]&63](p,-1,b);tb[c[(c[Z>>2]|0)+8>>2]&31](Z,n,o,c[a+20>>2]|0,c[X>>2]|0);a=c[X>>2]|0;c[a+8>>2]=r;c[a+12>>2]=t;i=e;return}function sq(a,b){a=a|0;b=b|0;return}function tq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 0.0}function uq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[a+44>>2]|0;a=d+8|0;e=c[a>>2]|0;if((e|0)<=0)return;f=d+16|0;d=e;e=0;while(1){g=c[(c[f>>2]|0)+(e*12|0)+8>>2]|0;if(!g)h=d;else{xb[c[(c[g>>2]|0)+16>>2]&127](g,b);h=c[a>>2]|0}e=e+1|0;if((e|0)>=(h|0))break;else d=h}return}function vq(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=6360;c[a+12>>2]=6388;b=a+60|0;d=c[b>>2]|0;e=a+76|0;xb[c[(c[d>>2]|0)+20>>2]&127](d,c[e>>2]|0);d=c[b>>2]|0;xb[c[(c[d>>2]|0)+16>>2]&127](d,c[e>>2]|0);return}function wq(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=6388;b=a+48|0;d=c[b>>2]|0;e=a+64|0;xb[c[(c[d>>2]|0)+20>>2]&127](d,c[e>>2]|0);d=c[b>>2]|0;xb[c[(c[d>>2]|0)+16>>2]&127](d,c[e>>2]|0);return}function xq(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=6388;b=a+48|0;d=c[b>>2]|0;e=a+64|0;xb[c[(c[d>>2]|0)+20>>2]&127](d,c[e>>2]|0);d=c[b>>2]|0;xb[c[(c[d>>2]|0)+16>>2]&127](d,c[e>>2]|0);Ur(a);return}function yq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;f=i;i=i+144|0;h=f+24|0;j=f;k=b+16|0;l=+g[b>>2];m=+g[k>>2];n=b+32|0;o=l<m?l:m;p=+g[n>>2];if((o<p?o:p)>+g[a+28>>2]){i=f;return}q=l>m?b:k;if(+g[(+g[q>>2]>p?q:n)>>2]<+g[a+12>>2]){i=f;return}n=b+8|0;q=b+24|0;p=+g[n>>2];m=+g[q>>2];k=b+40|0;l=p<m?p:m;o=+g[k>>2];if((l<o?l:o)>+g[a+36>>2]){i=f;return}r=p>m?n:q;if(+g[(+g[r>>2]>o?r:k)>>2]<+g[a+20>>2]){i=f;return}k=b+4|0;r=b+20|0;o=+g[k>>2];m=+g[r>>2];q=b+36|0;p=o<m?o:m;l=+g[q>>2];if((p<l?p:l)>+g[a+32>>2]){i=f;return}n=o>m?k:r;if(+g[(+g[n>>2]>l?n:q)>>2]<+g[a+16>>2]){i=f;return}q=c[a+48>>2]|0;n=a+4|0;r=c[n>>2]|0;if((c[(c[r+4>>2]|0)+4>>2]|0)>=20){i=f;return}k=b+16|0;s=b+32|0;c[h+8>>2]=0;c[h+12>>2]=-1;c[h+16>>2]=1065353216;c[h+20>>2]=1065353216;c[h+24>>2]=1065353216;g[h+28>>2]=0.0;t=h+56|0;c[t>>2]=0;c[h>>2]=5992;u=h+60|0;c[h+4>>2]=1;c[u>>2]=c[b>>2];c[u+4>>2]=c[b+4>>2];c[u+8>>2]=c[b+8>>2];c[u+12>>2]=c[b+12>>2];b=h+76|0;c[b>>2]=c[k>>2];c[b+4>>2]=c[k+4>>2];c[b+8>>2]=c[k+8>>2];c[b+12>>2]=c[k+12>>2];k=h+92|0;c[k>>2]=c[s>>2];c[k+4>>2]=c[s+4>>2];c[k+8>>2]=c[s+8>>2];c[k+12>>2]=c[s+12>>2];c[h+48>>2]=c[a+56>>2];s=a+8|0;k=c[s>>2]|0;b=c[k+8>>2]|0;u=c[k+12>>2]|0;c[j>>2]=k;c[j+4>>2]=h;c[j+8>>2]=b;c[j+12>>2]=u;c[j+16>>2]=d;c[j+20>>2]=e;u=Db[c[(c[q>>2]|0)+8>>2]&31](q,r,j,c[a+64>>2]|0)|0;r=a+44|0;b=c[r>>2]|0;k=b+8|0;v=c[k>>2]|0;if((c[v+8>>2]|0)==(c[(c[s>>2]|0)+8>>2]|0)){c[k>>2]=j;ac[c[(c[b>>2]|0)+8>>2]&63](b,d,e);w=v}else{v=b+12|0;k=c[v>>2]|0;c[v>>2]=j;ac[c[(c[b>>2]|0)+12>>2]&63](b,d,e);w=k}tb[c[(c[u>>2]|0)+8>>2]&31](u,c[n>>2]|0,j,c[a+52>>2]|0,c[r>>2]|0);a=c[r>>2]|0;r=a+8|0;if((c[(c[r>>2]|0)+8>>2]|0)==(c[(c[s>>2]|0)+8>>2]|0))c[r>>2]=w;else c[a+12>>2]=w;vb[c[c[u>>2]>>2]&255](u);xb[c[(c[q>>2]|0)+60>>2]&127](q,u);c[h>>2]=5432;h=c[t>>2]|0;if(h|0?(vb[c[c[h>>2]>>2]&255](h),h=c[t>>2]|0,h|0):0){c[4351]=(c[4351]|0)+1;Ur(c[h+-4>>2]|0)}i=f;return}function zq(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=6360;c[a+12>>2]=6388;b=a+60|0;d=c[b>>2]|0;e=a+76|0;xb[c[(c[d>>2]|0)+20>>2]&127](d,c[e>>2]|0);d=c[b>>2]|0;xb[c[(c[d>>2]|0)+16>>2]&127](d,c[e>>2]|0);Ur(a);return}function Aq(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0.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,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0,Q=0;j=i;i=i+64|0;k=j;l=(a[b+8>>0]|0)!=0;m=l?e:d;n=l?d:e;e=c[n+4>>2]|0;if(((c[e+4>>2]|0)+-21|0)>>>0>=9){i=j;return}if((c[(c[m+4>>2]|0)+4>>2]|0)>=20){i=j;return}o=+Kb[c[(c[e>>2]|0)+48>>2]&7](e);d=b+76|0;l=h+4|0;c[l>>2]=c[d>>2];p=b+16|0;c[p>>2]=m;q=b+20|0;c[q>>2]=n;c[b+64>>2]=f;g[b+68>>2]=o;c[b+56>>2]=h;f=c[n+12>>2]|0;r=+g[f>>2];s=+g[f+16>>2];t=+g[f+32>>2];u=+g[f+4>>2];v=+g[f+20>>2];w=+g[f+36>>2];x=+g[f+8>>2];y=+g[f+24>>2];z=+g[f+40>>2];A=-+g[f+48>>2];B=-+g[f+52>>2];C=-+g[f+56>>2];f=c[m+12>>2]|0;D=+g[f>>2];E=+g[f+16>>2];F=+g[f+32>>2];G=+g[f+4>>2];H=+g[f+20>>2];I=+g[f+36>>2];J=+g[f+8>>2];K=+g[f+24>>2];L=+g[f+40>>2];M=+g[f+48>>2];N=+g[f+52>>2];O=+g[f+56>>2];g[k>>2]=r*D+s*E+t*F;g[k+4>>2]=r*G+s*H+t*I;g[k+8>>2]=r*J+s*K+t*L;g[k+12>>2]=0.0;g[k+16>>2]=u*D+v*E+w*F;g[k+20>>2]=u*G+v*H+w*I;g[k+24>>2]=u*J+v*K+w*L;g[k+28>>2]=0.0;g[k+32>>2]=x*D+y*E+z*F;g[k+36>>2]=x*G+y*H+z*I;g[k+40>>2]=x*J+y*K+z*L;g[k+44>>2]=0.0;g[k+48>>2]=r*A+s*B+t*C+(r*M+s*N+t*O);g[k+52>>2]=u*A+v*B+w*C+(u*M+v*N+w*O);g[k+56>>2]=x*A+y*B+z*C+(x*M+y*N+z*O);g[k+60>>2]=0.0;f=c[(c[p>>2]|0)+4>>2]|0;P=b+24|0;Q=b+40|0;ec[c[(c[f>>2]|0)+8>>2]&63](f,k,P,Q);g[Q>>2]=+g[Q>>2]+o;k=b+44|0;g[k>>2]=+g[k>>2]+o;k=b+48|0;g[k>>2]=+g[k>>2]+o;g[P>>2]=+g[P>>2]-o;k=b+28|0;g[k>>2]=+g[k>>2]-o;k=b+32|0;g[k>>2]=+g[k>>2]-o;k=c[d>>2]|0;d=c[n+8>>2]|0;c[k+740>>2]=c[m+8>>2];c[k+744>>2]=d;ec[c[(c[e>>2]|0)+64>>2]&63](e,b+12|0,P,Q);Q=c[l>>2]|0;do if(c[Q+748>>2]|0){l=c[Q+740>>2]|0;P=c[(c[h+8>>2]|0)+8>>2]|0;b=c[(c[h+12>>2]|0)+8>>2]|0;if((l|0)==(P|0)){lp(Q,l+4|0,b+4|0);break}else{lp(Q,b+4|0,P+4|0);break}}while(0);c[p>>2]=0;c[q>>2]=0;i=j;return}function Bq(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0,m=0,n=0.0,o=0,p=0.0,q=0,r=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,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.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.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0;h=i;i=i+240|0;f=h+224|0;j=h+208|0;k=h;l=(a[b+8>>0]|0)!=0;b=l?e:d;m=l?d:e;e=b+116|0;d=b+52|0;n=+g[e>>2]-+g[d>>2];l=b+120|0;o=b+56|0;p=+g[l>>2]-+g[o>>2];q=b+124|0;r=b+60|0;s=+g[q>>2]-+g[r>>2];t=+g[b+256>>2];if(n*n+p*p+s*s<t*t){u=1.0;i=h;return +u}t=+g[m+4>>2];s=+g[m+20>>2];p=+g[m+36>>2];n=+g[m+8>>2];v=+g[m+24>>2];w=+g[m+40>>2];x=+g[m+12>>2];y=+g[m+28>>2];z=+g[m+44>>2];A=-+g[m+52>>2];B=-+g[m+56>>2];C=-+g[m+60>>2];D=t*A+s*B+p*C;E=n*A+v*B+w*C;F=x*A+y*B+z*C;C=+g[b+4>>2];B=+g[b+20>>2];A=+g[b+36>>2];G=+g[b+8>>2];H=+g[b+24>>2];I=+g[b+40>>2];J=+g[b+12>>2];K=+g[b+28>>2];L=+g[b+44>>2];M=+g[d>>2];N=+g[o>>2];O=+g[r>>2];P=D+(t*M+s*N+p*O);Q=E+(n*M+v*N+w*O);R=F+(x*M+y*N+z*O);O=+g[b+68>>2];N=+g[b+84>>2];M=+g[b+100>>2];S=+g[b+72>>2];T=+g[b+88>>2];U=+g[b+104>>2];V=+g[b+76>>2];W=+g[b+92>>2];X=+g[b+108>>2];Y=+g[e>>2];Z=+g[l>>2];_=+g[q>>2];$=D+(t*Y+s*Z+p*_);D=E+(n*Y+v*Z+w*_);E=F+(x*Y+y*Z+z*_);q=c[m+192>>2]|0;if(((c[q+4>>2]|0)+-21|0)>>>0>=9){u=1.0;i=h;return +u}g[f>>2]=P;m=f+4|0;g[m>>2]=Q;l=f+8|0;g[l>>2]=R;g[f+12>>2]=0.0;if($<P){g[f>>2]=$;aa=$}else aa=P;if(D<Q){g[m>>2]=D;ba=D}else ba=Q;if(E<R){g[l>>2]=E;ca=E}else ca=R;g[j>>2]=P;e=j+4|0;g[e>>2]=Q;r=j+8|0;g[r>>2]=R;g[j+12>>2]=0.0;if(P<$){g[j>>2]=$;da=$}else da=P;if(Q<D){g[e>>2]=D;ea=D}else ea=Q;if(R<E){g[r>>2]=E;fa=E}else fa=R;_=+g[b+252>>2];g[f>>2]=aa-_;g[m>>2]=ba-_;g[l>>2]=ca-_;g[j>>2]=_+da;g[e>>2]=_+ea;g[r>>2]=_+fa;c[k>>2]=6408;g[k+4>>2]=t*C+s*B+p*A;g[k+8>>2]=t*G+s*H+p*I;g[k+12>>2]=t*J+s*K+p*L;g[k+16>>2]=0.0;g[k+20>>2]=n*C+v*B+w*A;g[k+24>>2]=n*G+v*H+w*I;g[k+28>>2]=n*J+v*K+w*L;g[k+32>>2]=0.0;g[k+36>>2]=x*C+y*B+z*A;g[k+40>>2]=x*G+y*H+z*I;g[k+44>>2]=x*J+y*K+z*L;g[k+48>>2]=0.0;g[k+52>>2]=P;g[k+56>>2]=Q;g[k+60>>2]=R;g[k+64>>2]=0.0;g[k+68>>2]=t*O+s*N+p*M;g[k+72>>2]=t*S+s*T+p*U;g[k+76>>2]=t*V+s*W+p*X;g[k+80>>2]=0.0;g[k+84>>2]=n*O+v*N+w*M;g[k+88>>2]=n*S+v*T+w*U;g[k+92>>2]=n*V+v*W+w*X;g[k+96>>2]=0.0;g[k+100>>2]=x*O+y*N+z*M;g[k+104>>2]=x*S+y*T+z*U;g[k+108>>2]=x*V+y*W+z*X;g[k+112>>2]=0.0;g[k+116>>2]=$;g[k+120>>2]=D;g[k+124>>2]=E;g[k+128>>2]=0.0;g[k+196>>2]=_;r=k+200|0;e=b+248|0;c[r>>2]=c[e>>2];if(q|0?(ec[c[(c[q>>2]|0)+64>>2]&63](q,k,f,j),_=+g[r>>2],_<+g[e>>2]):0){g[e>>2]=_;u=_;i=h;return +u}u=1.0;i=h;return +u}function Cq(a){a=a|0;Ur(a);return}function Dq(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;f=i;i=i+784|0;e=f+720|0;h=f+544|0;j=f+488|0;k=f+376|0;l=f+16|0;m=f;c[e>>2]=1065353216;n=e+4|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[e+20>>2]=1065353216;n=e+24|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[e+40>>2]=1065353216;n=e+44|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;c[h>>2]=3840;n=h+164|0;c[h+168>>2]=0;g[h+172>>2]=0.0;o=b+200|0;c[n>>2]=c[o>>2];p=c[b+196>>2]|0;c[j+8>>2]=0;c[j+12>>2]=-1;c[j+16>>2]=1065353216;c[j+20>>2]=1065353216;c[j+24>>2]=1065353216;g[j+28>>2]=0.0;c[j>>2]=5564;c[j+4>>2]=8;c[j+32>>2]=p;c[j+48>>2]=p;c[k+8>>2]=0;c[k+12>>2]=-1;c[k+16>>2]=1065353216;c[k+20>>2]=1065353216;c[k+24>>2]=1065353216;g[k+28>>2]=0.0;g[k+48>>2]=.03999999910593033;p=k+56|0;c[p>>2]=0;q=d+32|0;r=d+16|0;c[k>>2]=5992;s=k+60|0;c[k+4>>2]=1;c[s>>2]=c[d>>2];c[s+4>>2]=c[d+4>>2];c[s+8>>2]=c[d+8>>2];c[s+12>>2]=c[d+12>>2];d=k+76|0;c[d>>2]=c[r>>2];c[d+4>>2]=c[r+4>>2];c[d+8>>2]=c[r+8>>2];c[d+12>>2]=c[r+12>>2];r=k+92|0;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];c[r+8>>2]=c[q+8>>2];c[r+12>>2]=c[q+12>>2];g[l+308>>2]=9.999999747378752e-05;a[l+332>>0]=0;c[m>>2]=6128;c[m+4>>2]=l;c[m+8>>2]=j;c[m+12>>2]=k;if(Gp(m,b+4|0,b+68|0,e,e,h)|0?(t=+g[n>>2],+g[o>>2]>t):0)g[o>>2]=t;c[k>>2]=5432;k=c[p>>2]|0;if(!k){i=f;return}vb[c[c[k>>2]>>2]&255](k);k=c[p>>2]|0;if(!k){i=f;return}c[4351]=(c[4351]|0)+1;Ur(c[k+-4>>2]|0);i=f;return}function Eq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=b+76|0;b=c[e>>2]|0;f=b;if(!b)return;b=d+4|0;g=c[b>>2]|0;h=d+8|0;if((g|0)==(c[h>>2]|0)?(i=g|0?g<<1:1,(g|0)<(i|0)):0){if(!i){j=0;k=g}else{c[4350]=(c[4350]|0)+1;l=Tr((i<<2|3)+16|0)|0;if(!l)m=0;else{n=l+4+15&-16;c[n+-4>>2]=l;m=n}j=m;k=c[b>>2]|0}m=d+12|0;if((k|0)>0){n=0;do{c[j+(n<<2)>>2]=c[(c[m>>2]|0)+(n<<2)>>2];n=n+1|0}while((n|0)!=(k|0))}n=c[m>>2]|0;l=d+16|0;if(!n)o=k;else{if(!(a[l>>0]|0))p=k;else{c[4351]=(c[4351]|0)+1;Ur(c[n+-4>>2]|0);p=c[b>>2]|0}c[m>>2]=0;o=p}a[l>>0]=1;c[m>>2]=j;c[h>>2]=i;q=o;r=c[e>>2]|0}else{q=g;r=f}c[(c[d+12>>2]|0)+(q<<2)>>2]=r;c[b>>2]=q+1;return}function Fq(a){a=a|0;return}function Gq(a){a=a|0;Ur(a);return}function Hq(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;f=c[d>>2]|0;e=Rb[c[(c[f>>2]|0)+56>>2]&31](f,36)|0;f=c[d+4>>2]|0;g=c[b+12>>2]|0;h=c[b+8>>2]|0;i=c[b+16>>2]|0;j=c[b+20>>2]|0;c[e+4>>2]=c[d>>2];c[e>>2]=6448;c[e+8>>2]=g;c[e+12>>2]=h;a[e+16>>0]=0;c[e+20>>2]=f;a[e+24>>0]=0;c[e+28>>2]=i;c[e+32>>2]=j;return e|0}function Iq(b){b=b|0;var d=0,e=0;c[b>>2]=6448;if(!(a[b+16>>0]|0))return;d=c[b+20>>2]|0;if(!d)return;e=c[b+4>>2]|0;xb[c[(c[e>>2]|0)+16>>2]&127](e,d);return}function Jq(b){b=b|0;var d=0,e=0;c[b>>2]=6448;if(!(a[b+16>>0]|0)){Ur(b);return}d=c[b+20>>2]|0;if(!d){Ur(b);return}e=c[b+4>>2]|0;xb[c[(c[e>>2]|0)+16>>2]&127](e,d);Ur(b);return}
  110. function xf(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,l=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.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,P=0.0,S=0.0,U=0.0,V=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0.0,qa=0.0,ra=0.0,sa=0.0,ta=0.0,ua=0.0,va=0.0,wa=0.0,xa=0.0,ya=0.0,za=0.0,Aa=0.0,Ba=0.0,Ca=0.0,Da=0.0,Ea=0,Fa=0,Ga=0,Ha=0.0,Ia=0.0,Ja=0.0,Ka=0.0,La=0,Ma=0.0,Na=0.0,Oa=0.0,Pa=0.0,Qa=0,Ra=0.0,Sa=0.0,Ta=0.0,Ua=0.0,Va=0.0,Wa=0.0,Xa=0.0,Ya=0.0,Za=0.0,_a=0.0,$a=0.0;j=i;i=i+144|0;l=j+80|0;m=j+64|0;n=j+48|0;o=j+32|0;p=j+16|0;q=j;r=b+504|0;g[r>>2]=0.0;g[b+500>>2]=0.0;s=b+525|0;a[s>>0]=0;t=b+526|0;a[t>>0]=0;if(a[b+552>>0]|0?(a[b+527>>0]|0)==0:0){u=+g[b+556>>2];v=+g[b+560>>2];w=+g[b+564>>2];x=+g[b+568>>2];y=2.0/(u*u+v*v+w*w+x*x);z=u*y;A=v*y;B=w*y;y=x*z;C=x*A;D=x*B;x=u*z;z=u*A;E=u*B;u=v*A;A=v*B;v=w*B;B=1.0-(u+v);w=z-D;F=E+C;G=z+D;D=1.0-(x+v);v=A-y;z=E-C;C=A+y;y=1.0-(x+u);u=+g[b+300>>2];x=+g[d>>2];A=+g[b+316>>2];E=+g[d+4>>2];H=+g[b+332>>2];I=+g[d+8>>2];J=u*x+A*E+H*I;K=+g[b+304>>2];L=+g[b+320>>2];M=+g[b+336>>2];P=x*K+E*L+I*M;S=+g[b+308>>2];U=+g[b+324>>2];V=+g[b+340>>2];X=x*S+E*U+I*V;Y=+g[d+16>>2];Z=+g[d+20>>2];_=+g[d+24>>2];$=u*Y+A*Z+H*_;aa=K*Y+L*Z+M*_;ba=S*Y+U*Z+V*_;ca=+g[d+32>>2];da=+g[d+36>>2];ea=+g[d+40>>2];fa=u*ca+A*da+H*ea;H=K*ca+L*da+M*ea;M=S*ca+U*da+V*ea;V=+g[b+348>>2];U=+g[b+352>>2];S=+g[b+356>>2];L=+g[b+364>>2];K=+g[e>>2];A=+g[b+380>>2];u=+g[e+4>>2];ga=+g[b+396>>2];ha=+g[e+8>>2];ia=L*K+A*u+ga*ha;ja=+g[b+368>>2];ka=+g[b+384>>2];la=+g[b+400>>2];ma=K*ja+u*ka+ha*la;na=+g[b+372>>2];oa=+g[b+388>>2];pa=+g[b+404>>2];qa=K*na+u*oa+ha*pa;ra=+g[e+16>>2];sa=+g[e+20>>2];ta=+g[e+24>>2];ua=L*ra+A*sa+ga*ta;va=ja*ra+ka*sa+la*ta;wa=na*ra+oa*sa+pa*ta;xa=+g[e+32>>2];ya=+g[e+36>>2];za=+g[e+40>>2];Aa=L*xa+A*ya+ga*za;ga=ja*xa+ka*ya+la*za;la=na*xa+oa*ya+pa*za;pa=+g[b+412>>2];oa=+g[b+416>>2];na=+g[b+420>>2];ka=B*ia+G*ma+z*qa;ja=w*ia+D*ma+C*qa;A=F*ia+v*ma+y*qa;L=z*wa+(B*ua+G*va);Ba=C*wa+(w*ua+D*va);Ca=y*wa+(F*ua+v*va);Da=z*la+(B*Aa+G*ga);G=C*la+(w*Aa+D*ga);D=y*la+(F*Aa+v*ga);v=-(+g[d+48>>2]+(x*V+E*U+I*S));I=-(Y*V+Z*U+_*S+ +g[d+52>>2]);_=-(ca*V+da*U+ea*S+ +g[d+56>>2]);S=J*v+$*I+fa*_;ea=P*v+aa*I+H*_;U=X*v+ba*I+M*_;_=U*A+(S*ka+ea*ja)+(ia*0.0+ma*0.0+qa*0.0+(+g[e+48>>2]+(K*pa+u*oa+ha*na)));ha=U*Ca+(S*L+ea*Ba)+(wa*0.0+(ua*0.0+va*0.0)+(ra*pa+sa*oa+ta*na+ +g[e+52>>2]));ta=U*D+(S*Da+ea*G)+(la*0.0+(Aa*0.0+ga*0.0)+(xa*pa+ya*oa+za*na+ +g[e+56>>2]));g[l>>2]=X*A+(J*ka+P*ja);g[l+4>>2]=ba*A+($*ka+aa*ja);g[l+8>>2]=M*A+(fa*ka+H*ja);g[l+12>>2]=0.0;g[l+16>>2]=X*Ca+(J*L+P*Ba);g[l+20>>2]=ba*Ca+($*L+aa*Ba);g[l+24>>2]=M*Ca+(fa*L+H*Ba);g[l+28>>2]=0.0;g[l+32>>2]=X*D+(J*Da+P*G);g[l+36>>2]=ba*D+($*Da+aa*G);g[l+40>>2]=M*D+(fa*Da+H*G);g[l+44>>2]=0.0;g[l+48>>2]=_;g[l+52>>2]=ha;g[l+56>>2]=ta;g[l+60>>2]=0.0;Ae(l,m);ta=+g[m>>2];ha=+g[m+4>>2];_=+g[m+8>>2];G=ta*ta+ha*ha+_*_;if(!(+N(+G)<1.1920928955078125e-07)?(g[b+472>>2]=0.0,H=1.0/+O(+G),g[b+460>>2]=ta*H,g[b+464>>2]=ha*H,g[b+468>>2]=_*H,H=+g[m+12>>2],_=H<-1.0?-1.0:H,H=+T(+(_>1.0?1.0:_))*2.0,g[r>>2]=H,!(+N(+H)<1.1920928955078125e-07)):0)a[t>>0]=1;i=j;return}Ae(d,n);m=b+300|0;Ae(m,o);H=+g[n+12>>2];_=+g[o>>2];ha=+g[n>>2];ta=+g[o+12>>2];G=+g[n+4>>2];Da=+g[o+8>>2];fa=+g[n+8>>2];D=+g[o+4>>2];M=H*_+ha*ta+G*Da-fa*D;aa=_*fa+(ta*G+H*D)-ha*Da;$=H*Da+ta*fa+ha*D-_*G;ba=H*ta-_*ha-G*D-Da*fa;Ae(e,p);o=b+364|0;Ae(o,q);fa=+g[p+12>>2];Da=+g[q>>2];D=+g[p>>2];G=+g[q+12>>2];ha=+g[p+4>>2];_=+g[q+8>>2];ta=+g[p+8>>2];H=+g[q+4>>2];P=fa*Da+D*G+ha*_-ta*H;J=Da*ta+(G*ha+fa*H)-D*_;X=fa*_+G*ta+D*H-Da*ha;Ba=fa*G-Da*D-ha*H-_*ta;ta=-P;_=-J;H=-X;ha=ba*ta+M*Ba+$*_-aa*H;D=M*H+(aa*Ba+ba*_)-$*ta;Da=aa*ta+($*Ba+ba*H)-M*_;G=ba*Ba-M*ta-aa*_-$*H;fa=+g[4169];L=+g[4171];Ca=+g[4170];ja=fa*G+L*D-Ca*Da;ka=fa*Da+Ca*G-L*ha;A=L*G+Ca*ha-fa*D;na=-(fa*ha)-Ca*D-L*Da;za=-ha;oa=-D;ya=-Da;pa=ka*ya+(G*ja+na*za)-A*oa;xa=A*za+(G*ka+na*oa)-ja*ya;ga=ja*oa+(G*A+na*ya)-ka*za;za=1.0/+O(+(ga*ga+(pa*pa+xa*xa)));ka=za*pa;pa=za*xa;xa=za*ga;ga=L*xa+(Ca*pa+fa*ka);do if(ga<-.9999998807907104)if(+N(+L)>.7071067690849304){za=1.0/+O(+(L*L+Ca*Ca));Ea=0;Fa=(g[k>>2]=Ca*za,c[k>>2]|0);Ga=0;Ha=-(L*za);break}else{za=1.0/+O(+(fa*fa+Ca*Ca));Ea=(g[k>>2]=-(Ca*za),c[k>>2]|0);Fa=0;Ga=0;Ha=fa*za;break}else{za=+O(+((ga+1.0)*2.0));ya=1.0/za;q=(g[k>>2]=(Ca*xa-L*pa)*ya,c[k>>2]|0);p=(g[k>>2]=(fa*pa-Ca*ka)*ya,c[k>>2]|0);Ea=q;Fa=p;Ga=(g[k>>2]=za*.5,c[k>>2]|0);Ha=(L*ka-fa*xa)*ya}while(0);xa=(c[k>>2]=Ea,+g[k>>2]);fa=(c[k>>2]=Fa,+g[k>>2]);ka=(c[k>>2]=Ga,+g[k>>2]);L=1.0/+O(+(xa*xa+Ha*Ha+fa*fa+ka*ka));Ca=xa*L;xa=Ha*L;Ha=fa*L;fa=ka*L;L=-Ca;ka=-xa;pa=-Ha;ga=Da*ka+(ha*fa+G*L)-D*pa;ya=ha*pa+(G*ka+D*fa)-Da*L;za=D*L+(Da*fa+G*pa)-ha*ka;na=G*fa-ha*L-D*ka-Da*pa;pa=1.0/+O(+(na*na+(za*za+(ga*ga+ya*ya))));Da=pa*ga;ga=pa*ya;ya=pa*za;za=pa*na;Ga=b+444|0;na=+g[Ga>>2];Fa=b+456|0;pa=+g[Fa>>2];Ea=(g[k>>2]=na,c[k>>2]|0);if(na>=pa?(ka=+g[b+448>>2],ka>=pa):0){pa=fa<-1.0?-1.0:fa;fa=+T(+(pa>1.0?1.0:pa))*2.0;if(fa>1.1920928955078125e-07){pa=1.0/+O(+(Ha*Ha+(Ca*Ca+xa*xa)));D=Ca*pa;Ca=xa*pa;xa=Ha*pa;if(+N(+Ca)>1.1920928955078125e-07){pa=xa*xa/(Ca*Ca);Ha=+O(+((pa+1.0)/(1.0/(ka*ka)+pa/(na*na))));Ia=D;Ja=xa;Ka=Ca;La=(g[k>>2]=Ha,c[k>>2]|0)}else{Ia=D;Ja=xa;Ka=Ca;La=Ea}}else{Ia=0.0;Ja=0.0;Ka=0.0;La=0}Ca=(c[k>>2]=La,+g[k>>2]);xa=+g[b+428>>2];D=Ca*xa;if(fa>D){a[t>>0]=1;Ha=fa-D;if(fa<Ca&xa<.9999998807907104)Ma=Ha/(Ca-D);else Ma=1.0;g[b+528>>2]=Ma;g[r>>2]=Ha;if(+N(+Ka)>1.1920928955078125e-07){Ha=+N(+(Ka*(-Ja/Ka*(ka/na))));na=Ja<-0.0?Ha:-Ha;Ha=1.0/+O(+(Ia*Ia+Ka*Ka+na*na));Na=Ia*Ha;Oa=-(na*Ha);Pa=Ka*Ha}else{Na=Ia;Oa=Ja;Pa=Ka}Ka=-Na;Na=-Pa;Pa=-Oa;Oa=Ba*Ka+J*Pa-X*Na;Ja=X*Ka+Ba*Na-P*Pa;Ia=P*Na+Ba*Pa-J*Ka;Ha=-(P*Ka)-J*Na-X*Pa;Pa=Ja*H+(Ha*ta+Ba*Oa)-Ia*_;Na=Ia*ta+(Ba*Ja+Ha*_)-Oa*H;Ka=Oa*_+(Ha*H+Ba*Ia)-Ja*ta;g[b+460>>2]=Pa;g[b+464>>2]=Na;g[b+468>>2]=Ka;g[b+472>>2]=0.0;La=b+536|0;c[La>>2]=0;c[La+4>>2]=0;c[La+8>>2]=0;c[La+12>>2]=0;g[b+492>>2]=1.0/(Pa*(+g[f>>2]*Pa+ +g[f+16>>2]*Na+ +g[f+32>>2]*Ka)+Na*(Pa*+g[f+4>>2]+Na*+g[f+20>>2]+Ka*+g[f+36>>2])+Ka*(Pa*+g[f+8>>2]+Na*+g[f+24>>2]+Ka*+g[f+40>>2])+(Pa*(Pa*+g[h>>2]+Na*+g[h+16>>2]+Ka*+g[h+32>>2])+Na*(Pa*+g[h+4>>2]+Na*+g[h+20>>2]+Ka*+g[h+36>>2])+Ka*(Pa*+g[h+8>>2]+Na*+g[h+24>>2]+Ka*+g[h+40>>2])))}}else Qa=23;a:do if((Qa|0)==23){Ka=+g[m>>2];Na=+g[b+316>>2];Pa=+g[b+332>>2];Ja=+g[d>>2];Ia=+g[d+4>>2];Ha=+g[d+8>>2];Oa=Ka*Ja+Na*Ia+Pa*Ha;na=+g[d+16>>2];ka=+g[d+20>>2];Ma=+g[d+24>>2];D=Ka*na+Na*ka+Pa*Ma;Ca=+g[d+32>>2];xa=+g[d+36>>2];fa=+g[d+40>>2];pa=Ka*Ca+Na*xa+Pa*fa;Pa=+g[b+304>>2];Na=+g[b+320>>2];Ka=+g[b+336>>2];L=Ja*Pa+Ia*Na+Ha*Ka;ha=na*Pa+ka*Na+Ma*Ka;G=Ca*Pa+xa*Na+fa*Ka;Ka=+g[b+308>>2];Na=+g[b+324>>2];Pa=+g[b+340>>2];A=Ja*Ka+Ia*Na+Ha*Pa;Ha=na*Ka+ka*Na+Ma*Pa;Ma=Ca*Ka+xa*Na+fa*Pa;Pa=+g[o>>2];fa=+g[b+380>>2];Na=+g[b+396>>2];xa=Pa*+g[e>>2]+fa*+g[e+4>>2]+Na*+g[e+8>>2];Ka=Pa*+g[e+16>>2]+fa*+g[e+20>>2]+Na*+g[e+24>>2];Ca=Pa*+g[e+32>>2]+fa*+g[e+36>>2]+Na*+g[e+40>>2];Na=Oa*xa+D*Ka+pa*Ca;fa=L*xa+ha*Ka+G*Ca;Pa=A*xa+Ha*Ka+Ma*Ca;ka=+g[Ga>>2];na=+g[Fa>>2];do if(ka<na){Ia=+g[b+448>>2];if(Ia<na){if(+N(+fa)<1.1920928955078125e-07?+N(+Pa)<1.1920928955078125e-07:0)break a;a[t>>0]=1;g[b+460>>2]=-(pa*Ka-D*Ca);g[b+464>>2]=-(Oa*Ca-pa*xa);g[b+468>>2]=-(D*xa-Oa*Ka);g[b+472>>2]=0.0;break a}if(+N(+Na)<1.1920928955078125e-07?+N(+Pa)<1.1920928955078125e-07:0){Ra=Na;Sa=fa;Ta=Pa;break}a[t>>0]=1;if(Ia>=na){Ja=+W(+Pa,+Na);if(Ja>Ia){Ra=+Q(+Ia);Sa=0.0;Ta=+R(+Ia);break}if(Ja<-Ia){Ra=+Q(+Ia);Sa=0.0;Ta=-+R(+Ia)}else{Ra=Na;Sa=0.0;Ta=Pa}}else{Ra=Na;Sa=fa;Ta=Pa}}else{if(+N(+Na)<1.1920928955078125e-07?+N(+fa)<1.1920928955078125e-07:0){Ra=Na;Sa=fa;Ta=Pa;break}a[t>>0]=1;if(ka>=na){Ia=+W(+fa,+Na);if(Ia>ka){Ra=+Q(+ka);Sa=+R(+ka);Ta=0.0;break}if(Ia<-ka){Ra=+Q(+ka);Sa=-+R(+ka);Ta=0.0}else{Ra=Na;Sa=fa;Ta=0.0}}else{Ra=Na;Sa=fa;Ta=Pa}}while(0);Pa=A*Ta+(L*Sa+Oa*Ra);fa=Ha*Ta+(ha*Sa+D*Ra);Na=Ma*Ta+(G*Sa+pa*Ra);ka=1.0/+O(+(Na*Na+(Pa*Pa+fa*fa)));na=ka*Pa;Pa=ka*fa;fa=ka*Na;Na=Ka*fa-Ca*Pa;ka=Ca*na-xa*fa;fa=xa*Pa-Ka*na;na=-Na;Pa=-ka;Ia=-fa;La=b+460|0;g[La>>2]=na;Ea=b+464|0;g[Ea>>2]=Pa;p=b+468|0;g[p>>2]=Ia;g[b+472>>2]=0.0;Ja=+O(+(Na*Na+ka*ka+fa*fa));g[r>>2]=Ja;if(!(+N(+Ja)<1.1920928955078125e-07)){fa=1.0/Ja;g[La>>2]=fa*na;g[Ea>>2]=fa*Pa;g[p>>2]=fa*Ia}}while(0);Ra=+g[b+452>>2];r=b+512|0;if(!(Ra>=0.0)){g[r>>2]=0.0;i=j;return}Sa=za<-1.0?-1.0:za;Ta=+T(+(Sa>1.0?1.0:Sa))*2.0;if(Ta>3.1415927410125732){Sa=-za;za=Sa<-1.0?-1.0:Sa;Ua=+T(+(za>1.0?1.0:za))*2.0;Va=-Da;Wa=-ga;Xa=-ya}else{Ua=Ta;Va=Da;Wa=ga;Xa=ya}g[r>>2]=Ua;if(Ua>1.1920928955078125e-07){ya=1.0/+O(+(Va*Va+Wa*Wa+Xa*Xa));Ya=Va*ya;Za=Xa*ya;_a=Wa*ya}else{Ya=Va;Za=Xa;_a=Wa}Wa=+g[b+428>>2];Xa=Ra*Wa;if(Ua>Xa){a[s>>0]=1;Va=Ua-Xa;if(Ua<Ra&Wa<.9999998807907104)$a=Va/(Ra-Xa);else $a=1.0;g[b+532>>2]=$a;g[b+508>>2]=Va;Va=-Ya;$a=-_a;Xa=-Za;Ra=Ba*Va+J*Xa-X*$a;Wa=X*Va+Ba*$a-P*Xa;Ua=P*$a+Ba*Xa-J*Va;ya=-(P*Va)-J*$a-X*Xa;Xa=Wa*H+(ya*ta+Ba*Ra)-Ua*_;X=Ua*ta+(Ba*Wa+ya*_)-Ra*H;$a=Ra*_+(ya*H+Ba*Ua)-Wa*ta;g[b+476>>2]=Xa;g[b+480>>2]=X;g[b+484>>2]=$a;g[b+488>>2]=0.0;g[b+496>>2]=1.0/(Xa*(+g[f>>2]*Xa+ +g[f+16>>2]*X+ +g[f+32>>2]*$a)+X*(Xa*+g[f+4>>2]+X*+g[f+20>>2]+$a*+g[f+36>>2])+$a*(Xa*+g[f+8>>2]+X*+g[f+24>>2]+$a*+g[f+40>>2])+(Xa*(Xa*+g[h>>2]+X*+g[h+16>>2]+$a*+g[h+32>>2])+X*(Xa*+g[h+4>>2]+X*+g[h+20>>2]+$a*+g[h+36>>2])+$a*(Xa*+g[h+8>>2]+X*+g[h+24>>2]+$a*+g[h+40>>2])))}if(!(a[t>>0]|0)){i=j;return}$a=-Ya;Ya=-_a;_a=-Za;Za=ba*$a+aa*_a-$*Ya;X=$*$a+ba*Ya-M*_a;Xa=M*Ya+ba*_a-aa*$a;ta=-(M*$a)-aa*Ya-$*_a;_a=-M;M=-aa;aa=-$;g[b+536>>2]=X*aa+(ta*_a+ba*Za)-Xa*M;g[b+540>>2]=Xa*_a+(ba*X+ta*M)-Za*aa;g[b+544>>2]=Za*M+(ta*aa+ba*Xa)-X*_a;g[b+548>>2]=0.0;i=j;return}function yf(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0.0;if(a[b+527>>0]|0){c[d>>2]=0;c[d+4>>2]=0;return}c[d>>2]=3;e=d+4|0;c[e>>2]=3;f=c[b+28>>2]|0;h=c[b+32>>2]|0;xf(b,f+4|0,h+4|0,f+288|0,h+288|0);if((a[b+526>>0]|0?(h=c[d>>2]|0,c[d>>2]=h+1,f=c[e>>2]|0,c[e>>2]=f+-1,i=+g[b+456>>2],+g[b+444>>2]<i):0)?+g[b+448>>2]<i:0){c[d>>2]=h+2;c[e>>2]=f+-2}if(!(a[b+525>>0]|0))return;c[d>>2]=(c[d>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+-1;return}function zf(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0,s=0.0,t=0.0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.0,C=0,D=0,E=0,F=0.0,G=0.0,H=0.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.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0,_=0;e=c[b+28>>2]|0;f=e+4|0;h=c[b+32>>2]|0;i=h+4|0;xf(b,f,i,e+288|0,h+288|0);j=c[d+8>>2]|0;g[j>>2]=1.0;k=d+24|0;l=c[k>>2]|0;m=l+1|0;g[j+(m<<2)>>2]=1.0;n=l<<1;o=n+2|0;g[j+(o<<2)>>2]=1.0;p=+g[b+348>>2];j=e+8|0;q=+g[b+352>>2];r=e+12|0;s=+g[b+356>>2];t=+g[f>>2]*p+ +g[j>>2]*q+ +g[r>>2]*s;u=e+20|0;v=e+24|0;w=e+28|0;x=p*+g[u>>2]+q*+g[v>>2]+s*+g[w>>2];y=e+36|0;z=e+40|0;A=e+44|0;B=p*+g[y>>2]+q*+g[z>>2]+s*+g[A>>2];C=d+12|0;D=c[C>>2]|0;E=D+(l<<2)|0;l=D+(n<<2)|0;c[D>>2]=0;g[D+4>>2]=B;g[D+8>>2]=-x;g[D+12>>2]=0.0;g[E>>2]=-B;c[E+4>>2]=0;g[E+8>>2]=t;g[E+12>>2]=0.0;g[l>>2]=x;g[l+4>>2]=-t;c[l+8>>2]=0;g[l+12>>2]=0.0;l=c[d+16>>2]|0;g[l>>2]=-1.0;g[l+(m<<2)>>2]=-1.0;g[l+(o<<2)>>2]=-1.0;s=+g[b+412>>2];q=+g[b+416>>2];p=+g[b+420>>2];F=+g[i>>2]*s+ +g[h+8>>2]*q+ +g[h+12>>2]*p;G=s*+g[h+20>>2]+q*+g[h+24>>2]+p*+g[h+28>>2];H=s*+g[h+36>>2]+q*+g[h+40>>2]+p*+g[h+44>>2];i=d+20|0;o=c[i>>2]|0;l=c[k>>2]|0;m=o+(l<<2)|0;E=o+(l<<1<<2)|0;c[o>>2]=0;g[o+4>>2]=-H;g[o+8>>2]=G;g[o+12>>2]=0.0;g[m>>2]=H;c[m+4>>2]=0;g[m+8>>2]=-F;g[m+12>>2]=0.0;g[E>>2]=-G;g[E+4>>2]=F;c[E+8>>2]=0;g[E+12>>2]=0.0;E=b+592|0;m=c[E>>2]|0;p=+g[((m&2|0)==0?d+4|0:b+600|0)>>2]*+g[d>>2];l=c[k>>2]|0;D=d+28|0;n=c[D>>2]|0;I=d+36|0;J=c[I>>2]|0;K=d+40|0;L=c[K>>2]|0;M=b+596|0;N=d+32|0;g[n>>2]=p*(F+ +g[h+52>>2]-t-+g[e+52>>2]);g[J>>2]=-3402823466385288598117041.0e14;g[L>>2]=3402823466385288598117041.0e14;if(!(m&1)){g[n+(l<<2)>>2]=p*(G+ +g[h+56>>2]-x-+g[e+56>>2]);g[J+(l<<2)>>2]=-3402823466385288598117041.0e14;g[L+(l<<2)>>2]=3402823466385288598117041.0e14;O=l<<1;g[n+(O<<2)>>2]=p*(H+ +g[h+60>>2]-B-+g[e+60>>2]);g[J+(O<<2)>>2]=-3402823466385288598117041.0e14;g[L+(O<<2)>>2]=3402823466385288598117041.0e14}else{O=c[N>>2]|0;c[O>>2]=c[M>>2];g[n+(l<<2)>>2]=p*(G+ +g[h+56>>2]-x-+g[e+56>>2]);g[J+(l<<2)>>2]=-3402823466385288598117041.0e14;g[L+(l<<2)>>2]=3402823466385288598117041.0e14;c[O+(l<<2)>>2]=c[M>>2];P=l<<1;g[n+(P<<2)>>2]=p*(H+ +g[h+60>>2]-B-+g[e+60>>2]);g[J+(P<<2)>>2]=-3402823466385288598117041.0e14;g[L+(P<<2)>>2]=3402823466385288598117041.0e14;c[O+(P<<2)>>2]=c[M>>2]}M=l*3|0;do if(!(a[b+526>>0]|0)){Q=n;R=J;S=L;T=M}else{P=c[C>>2]|0;B=+g[b+456>>2];if(+g[b+444>>2]<B?+g[b+448>>2]<B:0){B=+g[f>>2];H=+g[j>>2];p=+g[r>>2];x=+g[b+304>>2];G=+g[b+320>>2];t=+g[b+336>>2];F=B*x+H*G+p*t;q=+g[b+308>>2];s=+g[b+324>>2];U=+g[b+340>>2];V=B*q+H*s+p*U;p=+g[u>>2];H=+g[v>>2];B=+g[w>>2];W=x*p+G*H+t*B;X=q*p+s*H+U*B;B=+g[y>>2];H=+g[z>>2];p=+g[A>>2];Y=x*B+G*H+t*p;t=q*B+s*H+U*p;O=l<<2;g[P+(M<<2)>>2]=F;e=M+1|0;g[P+(e<<2)>>2]=W;h=M+2|0;g[P+(h<<2)>>2]=Y;g[P+(O<<2)>>2]=V;Z=O|1;g[P+(Z<<2)>>2]=X;_=O|2;g[P+(_<<2)>>2]=t;g[o+(M<<2)>>2]=-F;g[o+(e<<2)>>2]=-W;g[o+(h<<2)>>2]=-Y;g[o+(O<<2)>>2]=-V;g[o+(Z<<2)>>2]=-X;g[o+(_<<2)>>2]=-t;p=+g[d>>2]*+g[b+436>>2];_=b+460|0;Z=b+464|0;h=b+468|0;e=c[D>>2]|0;g[e+(M<<2)>>2]=p*(F*+g[_>>2]+W*+g[Z>>2]+Y*+g[h>>2]);g[e+(O<<2)>>2]=p*(V*+g[_>>2]+X*+g[Z>>2]+t*+g[h>>2]);h=c[I>>2]|0;g[h+(M<<2)>>2]=-3402823466385288598117041.0e14;Z=c[K>>2]|0;g[Z+(M<<2)>>2]=3402823466385288598117041.0e14;g[h+(O<<2)>>2]=-3402823466385288598117041.0e14;g[Z+(O<<2)>>2]=3402823466385288598117041.0e14;Q=e;R=h;S=Z;T=(c[k>>2]|0)+O|0;break}t=+g[b+436>>2];X=t*(+g[b+460>>2]*t);V=t*(t*+g[b+464>>2]);p=t*(t*+g[b+468>>2]);g[P+(M<<2)>>2]=X;O=M+1|0;g[P+(O<<2)>>2]=V;Z=M+2|0;g[P+(Z<<2)>>2]=p;g[o+(M<<2)>>2]=-X;g[o+(O<<2)>>2]=-V;g[o+(Z<<2)>>2]=-p;g[n+(M<<2)>>2]=+g[d>>2]*+g[b+432>>2]*+g[b+504>>2];if(m&4|0)c[(c[N>>2]|0)+(M<<2)>>2]=c[b+604>>2];g[J+(M<<2)>>2]=0.0;g[L+(M<<2)>>2]=3402823466385288598117041.0e14;Q=n;R=J;S=L;T=l<<2}while(0);if(!(a[b+525>>0]|0))return;p=+g[b+436>>2];V=p*(+g[b+476>>2]*p);X=p*(p*+g[b+480>>2]);t=p*(p*+g[b+484>>2]);l=c[C>>2]|0;C=c[i>>2]|0;g[l+(T<<2)>>2]=V;i=T+1|0;g[l+(i<<2)>>2]=X;L=T+2|0;g[l+(L<<2)>>2]=t;g[C+(T<<2)>>2]=-V;g[C+(i<<2)>>2]=-X;g[C+(L<<2)>>2]=-t;L=b+508|0;g[Q+(T<<2)>>2]=+g[d>>2]*+g[b+432>>2]*+g[L>>2];if(c[E>>2]&4|0)c[(c[N>>2]|0)+(T<<2)>>2]=c[b+604>>2];if(!(+g[b+452>>2]>0.0)){g[R+(T<<2)>>2]=-3402823466385288598117041.0e14;g[S+(T<<2)>>2]=3402823466385288598117041.0e14;return}S=R+(T<<2)|0;R=c[K>>2]|0;if(+g[L>>2]>0.0){g[S>>2]=0.0;g[R+(T<<2)>>2]=3402823466385288598117041.0e14;return}else{g[S>>2]=-3402823466385288598117041.0e14;g[R+(T<<2)>>2]=0.0;return}}function Af(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var 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.0,x=0,y=0.0,z=0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0,I=0,J=0,K=0,L=0.0,M=0.0,N=0.0,P=0.0,Q=0.0,R=0.0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0.0,aa=0,ba=0.0,ca=0,da=0.0,ea=0.0,fa=0.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.0,Aa=0.0,Ba=0,Ca=0.0,Da=0.0,Ea=0.0,Fa=0.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.0,Ua=0.0,Va=0.0,Wa=0.0,Xa=0.0,Ya=0.0,Za=0.0,_a=0.0,$a=0.0,ab=0.0,bb=0.0,cb=0.0,db=0.0,eb=0.0,fb=0.0,gb=0.0,hb=0.0,ib=0.0,jb=0.0,kb=0.0,lb=0.0,mb=0.0,nb=0.0,ob=0.0,pb=0.0,qb=0,rb=0.0,sb=0.0,tb=0.0,ub=0.0,vb=0.0;h=i;i=i+448|0;j=h+424|0;k=h+416|0;l=h+352|0;m=h+288|0;n=h+272|0;o=h+256|0;p=h+192|0;q=h+128|0;r=h+64|0;s=h;if(!(a[b+527>>0]|0)){i=h;return}t=b+28|0;u=c[t>>2]|0;v=b+348|0;w=+g[v>>2];x=b+352|0;y=+g[x>>2];z=b+356|0;A=+g[z>>2];B=+g[u+52>>2];C=w*+g[u+4>>2]+y*+g[u+8>>2]+A*+g[u+12>>2]+B;D=+g[u+56>>2];E=w*+g[u+20>>2]+y*+g[u+24>>2]+A*+g[u+28>>2]+D;F=+g[u+60>>2];G=w*+g[u+36>>2]+y*+g[u+40>>2]+A*+g[u+44>>2]+F;u=b+32|0;H=c[u>>2]|0;I=b+412|0;A=+g[I>>2];J=b+416|0;y=+g[J>>2];K=b+420|0;w=+g[K>>2];L=+g[H+52>>2];M=A*+g[H+4>>2]+y*+g[H+8>>2]+w*+g[H+12>>2]+L;N=+g[H+56>>2];P=A*+g[H+20>>2]+y*+g[H+24>>2]+w*+g[H+28>>2]+N;Q=+g[H+60>>2];R=A*+g[H+36>>2]+y*+g[H+40>>2]+w*+g[H+44>>2]+Q;if(!(a[b+524>>0]|0)){w=C-B;B=E-D;D=G-F;F=M-L;L=P-N;N=R-Q;H=d+64|0;S=d+68|0;T=d+72|0;U=d+80|0;Q=+g[d+192>>2]+ +g[U>>2];V=d+84|0;y=+g[d+196>>2]+ +g[V>>2];W=d+88|0;A=+g[d+200>>2]+ +g[W>>2];X=e+64|0;Y=e+68|0;Z=e+72|0;_=e+80|0;$=+g[e+192>>2]+ +g[_>>2];aa=e+84|0;ba=+g[e+196>>2]+ +g[aa>>2];ca=e+88|0;da=+g[e+200>>2]+ +g[ca>>2];ea=+g[d+176>>2]+ +g[H>>2]+(D*y-B*A)-(+g[e+176>>2]+ +g[X>>2]+(N*ba-L*da));fa=+g[d+180>>2]+ +g[S>>2]+(w*A-D*Q)-(+g[e+180>>2]+ +g[Y>>2]+(F*da-N*$));da=+g[d+184>>2]+ +g[T>>2]+(B*Q-w*y)-(+g[e+184>>2]+ +g[Z>>2]+(L*$-F*ba));ba=C-M;M=E-P;P=G-R;ga=b+36|0;ha=e+240|0;ia=e+112|0;ja=e+116|0;ka=e+120|0;la=e+96|0;ma=e+100|0;na=e+104|0;oa=d+112|0;pa=d+116|0;qa=d+120|0;ra=d+96|0;sa=d+100|0;ta=d+104|0;ua=(c[d+240>>2]|0)==0;va=0;do{R=1.0/+g[b+48+(va*84|0)+80>>2];wa=b+48+(va*84|0)|0;G=+g[wa>>2];xa=b+48+(va*84|0)+4|0;E=+g[xa>>2];ya=b+48+(va*84|0)+8|0;C=+g[ya>>2];$=R*((ba*G+M*E+P*C)*-.30000001192092896/f)-R*(ea*G+fa*E+da*C);g[ga>>2]=+g[ga>>2]+$;C=+g[ya>>2];E=+g[xa>>2];G=B*C-D*E;R=+g[wa>>2];y=D*R-w*C;Q=w*E-B*R;A=L*C-N*E;za=N*R-F*C;Aa=F*E-L*R;Ba=c[t>>2]|0;Ca=+g[Ba+368>>2];if(!ua){Da=G*+g[Ba+320>>2]+y*+g[Ba+324>>2]+Q*+g[Ba+328>>2];Ea=G*+g[Ba+304>>2]+y*+g[Ba+308>>2]+Q*+g[Ba+312>>2];Fa=G*+g[Ba+288>>2]+y*+g[Ba+292>>2]+Q*+g[Ba+296>>2];Q=$*(E*Ca)*+g[pa>>2];E=$*(C*Ca)*+g[qa>>2];g[H>>2]=$*(R*Ca)*+g[oa>>2]+ +g[H>>2];g[S>>2]=Q+ +g[S>>2];g[T>>2]=E+ +g[T>>2];E=Ea*($*+g[sa>>2]);Ea=Da*($*+g[ta>>2]);g[U>>2]=Fa*($*+g[ra>>2])+ +g[U>>2];g[V>>2]=E+ +g[V>>2];g[W>>2]=Ea+ +g[W>>2]}Ba=c[u>>2]|0;Ea=+g[Ba+368>>2];E=-$;if(c[ha>>2]|0){$=A*+g[Ba+320>>2]+za*+g[Ba+324>>2]+Aa*+g[Ba+328>>2];Fa=A*+g[Ba+304>>2]+za*+g[Ba+308>>2]+Aa*+g[Ba+312>>2];Da=A*+g[Ba+288>>2]+za*+g[Ba+292>>2]+Aa*+g[Ba+296>>2];Aa=Ea*+g[xa>>2]*E*+g[ja>>2];za=Ea*+g[ya>>2]*E*+g[ka>>2];g[X>>2]=+g[ia>>2]*(Ea*+g[wa>>2]*E)+ +g[X>>2];g[Y>>2]=Aa+ +g[Y>>2];g[Z>>2]=za+ +g[Z>>2];za=Fa*(+g[ma>>2]*E);Fa=$*(+g[na>>2]*E);g[_>>2]=Da*(+g[la>>2]*E)+ +g[_>>2];g[aa>>2]=za+ +g[aa>>2];g[ca>>2]=Fa+ +g[ca>>2]}va=va+1|0}while((va|0)!=3)}do if(!(a[b+552>>0]|0)){L=+g[b+440>>2];va=d+192|0;if(!(L>1.1920928955078125e-07)){Ga=d+80|0;Ha=d+196|0;Ia=d+84|0;Ja=d+200|0;Ka=d+88|0;La=e+192|0;Ma=e+80|0;Na=e+196|0;Oa=e+84|0;Pa=e+200|0;Qa=e+88|0;Ra=va;break}ca=d+80|0;aa=d+196|0;_=d+84|0;la=d+200|0;na=d+88|0;ma=e+192|0;Z=e+80|0;Y=e+196|0;X=e+84|0;ia=e+200|0;ka=e+88|0;F=+g[ma>>2]+ +g[Z>>2]-(+g[va>>2]+ +g[ca>>2]);N=+g[Y>>2]+ +g[X>>2]-(+g[aa>>2]+ +g[_>>2]);B=+g[ia>>2]+ +g[ka>>2]-(+g[la>>2]+ +g[na>>2]);w=F*F+N*N+B*B;if(w>1.1920928955078125e-07){D=1.0/+O(+w);w=F*D;da=N*D;fa=B*D;ja=c[t>>2]|0;D=+g[ja+288>>2];ea=+g[ja+304>>2];P=+g[ja+320>>2];M=+g[ja+292>>2];ba=+g[ja+308>>2];Fa=+g[ja+324>>2];za=+g[ja+296>>2];E=+g[ja+312>>2];Da=+g[ja+328>>2];ja=c[u>>2]|0;$=L*(1.0/(w*(D*w+da*ea+fa*P)+da*(w*M+da*ba+fa*Fa)+fa*(w*za+da*E+fa*Da)+(w*(w*+g[ja+288>>2]+da*+g[ja+304>>2]+fa*+g[ja+320>>2])+da*(w*+g[ja+292>>2]+da*+g[ja+308>>2]+fa*+g[ja+324>>2])+fa*(w*+g[ja+296>>2]+da*+g[ja+312>>2]+fa*+g[ja+328>>2]))));fa=F*$;F=N*$;N=B*$;$=+O(+(N*N+(fa*fa+F*F)));B=1.0/$;da=B*fa;fa=B*F;F=B*N;if(!(c[d+240>>2]|0))Sa=ja;else{N=$*0.0;B=N*+g[d+116>>2];w=N*+g[d+120>>2];ja=d+64|0;g[ja>>2]=N*+g[d+112>>2]+ +g[ja>>2];ja=d+68|0;g[ja>>2]=B+ +g[ja>>2];ja=d+72|0;g[ja>>2]=w+ +g[ja>>2];w=(da*ea+fa*ba+F*E)*($*+g[d+100>>2]);E=(da*P+fa*Fa+F*Da)*($*+g[d+104>>2]);g[ca>>2]=(da*D+fa*M+F*za)*($*+g[d+96>>2])+ +g[ca>>2];g[_>>2]=w+ +g[_>>2];g[na>>2]=E+ +g[na>>2];Sa=c[u>>2]|0}E=-$;if(c[e+240>>2]|0){w=da*+g[Sa+320>>2]+fa*+g[Sa+324>>2]+F*+g[Sa+328>>2];za=da*+g[Sa+304>>2]+fa*+g[Sa+308>>2]+F*+g[Sa+312>>2];M=da*+g[Sa+288>>2]+fa*+g[Sa+292>>2]+F*+g[Sa+296>>2];F=$*-0.0;$=F*+g[e+116>>2];fa=F*+g[e+120>>2];ja=e+64|0;g[ja>>2]=F*+g[e+112>>2]+ +g[ja>>2];ja=e+68|0;g[ja>>2]=$+ +g[ja>>2];ja=e+72|0;g[ja>>2]=fa+ +g[ja>>2];fa=za*(+g[e+100>>2]*E);za=w*(+g[e+104>>2]*E);g[Z>>2]=M*(+g[e+96>>2]*E)+ +g[Z>>2];g[X>>2]=fa+ +g[X>>2];g[ka>>2]=za+ +g[ka>>2];Ga=ca;Ha=aa;Ia=_;Ja=la;Ka=na;La=ma;Ma=Z;Na=Y;Oa=X;Pa=ia;Qa=ka;Ra=va}else{Ga=ca;Ha=aa;Ia=_;Ja=la;Ka=na;La=ma;Ma=Z;Na=Y;Oa=X;Pa=ia;Qa=ka;Ra=va}}else{Ga=ca;Ha=aa;Ia=_;Ja=la;Ka=na;La=ma;Ma=Z;Na=Y;Oa=X;Pa=ia;Qa=ka;Ra=va}}else{va=c[t>>2]|0;ka=va+4|0;c[l>>2]=c[ka>>2];c[l+4>>2]=c[ka+4>>2];c[l+8>>2]=c[ka+8>>2];c[l+12>>2]=c[ka+12>>2];ka=l+16|0;ia=va+20|0;c[ka>>2]=c[ia>>2];c[ka+4>>2]=c[ia+4>>2];c[ka+8>>2]=c[ia+8>>2];c[ka+12>>2]=c[ia+12>>2];ia=l+32|0;ka=va+36|0;c[ia>>2]=c[ka>>2];c[ia+4>>2]=c[ka+4>>2];c[ia+8>>2]=c[ka+8>>2];c[ia+12>>2]=c[ka+12>>2];ka=l+48|0;ia=va+52|0;c[ka>>2]=c[ia>>2];c[ka+4>>2]=c[ia+4>>2];c[ka+8>>2]=c[ia+8>>2];c[ka+12>>2]=c[ia+12>>2];ia=c[u>>2]|0;ka=ia+4|0;c[m>>2]=c[ka>>2];c[m+4>>2]=c[ka+4>>2];c[m+8>>2]=c[ka+8>>2];c[m+12>>2]=c[ka+12>>2];ka=m+16|0;va=ia+20|0;c[ka>>2]=c[va>>2];c[ka+4>>2]=c[va+4>>2];c[ka+8>>2]=c[va+8>>2];c[ka+12>>2]=c[va+12>>2];va=m+32|0;ka=ia+36|0;c[va>>2]=c[ka>>2];c[va+4>>2]=c[ka+4>>2];c[va+8>>2]=c[ka+8>>2];c[va+12>>2]=c[ka+12>>2];ka=m+48|0;va=ia+52|0;c[ka>>2]=c[va>>2];c[ka+4>>2]=c[va+4>>2];c[ka+8>>2]=c[va+8>>2];c[ka+12>>2]=c[va+12>>2];va=d+192|0;ka=d+80|0;ia=d+196|0;X=d+84|0;za=+g[ia>>2]+ +g[X>>2];Y=d+200|0;Z=d+88|0;fa=+g[Y>>2]+ +g[Z>>2];g[n>>2]=+g[va>>2]+ +g[ka>>2];ma=n+4|0;g[ma>>2]=za;na=n+8|0;g[na>>2]=fa;g[n+12>>2]=0.0;la=e+192|0;_=e+80|0;aa=e+196|0;ca=e+84|0;fa=+g[aa>>2]+ +g[ca>>2];ja=e+200|0;ha=e+88|0;za=+g[ja>>2]+ +g[ha>>2];g[o>>2]=+g[la>>2]+ +g[_>>2];W=o+4|0;g[W>>2]=fa;V=o+8|0;g[V>>2]=za;g[o+12>>2]=0.0;c[p>>2]=1065353216;U=p+4|0;ra=p+20|0;c[U>>2]=0;c[U+4>>2]=0;c[U+8>>2]=0;c[U+12>>2]=0;c[ra>>2]=1065353216;ta=p+24|0;sa=p+40|0;c[ta>>2]=0;c[ta+4>>2]=0;c[ta+8>>2]=0;c[ta+12>>2]=0;c[sa>>2]=1065353216;T=p+44|0;c[T>>2]=0;c[T+4>>2]=0;c[T+8>>2]=0;c[T+12>>2]=0;c[T+16>>2]=0;Bf(l,0.0,0.0,0.0,n,f,p);c[q>>2]=1065353216;T=q+4|0;S=q+20|0;c[T>>2]=0;c[T+4>>2]=0;c[T+8>>2]=0;c[T+12>>2]=0;c[S>>2]=1065353216;H=q+24|0;oa=q+40|0;c[H>>2]=0;c[H+4>>2]=0;c[H+8>>2]=0;c[H+12>>2]=0;c[oa>>2]=1065353216;qa=q+44|0;c[qa>>2]=0;c[qa+4>>2]=0;c[qa+8>>2]=0;c[qa+12>>2]=0;c[qa+16>>2]=0;Bf(m,0.0,0.0,0.0,o,f,q);za=+g[b+556>>2];fa=+g[b+560>>2];E=+g[b+564>>2];M=+g[b+568>>2];w=2.0/(za*za+fa*fa+E*E+M*M);$=za*w;F=fa*w;da=E*w;w=M*$;D=M*F;Da=M*da;M=za*$;$=za*F;Fa=za*da;za=fa*F;F=fa*da;fa=E*da;da=1.0-(za+fa);E=$-Da;P=Fa+D;ba=$+Da;Da=1.0-(M+fa);fa=F-w;$=Fa-D;D=F+w;w=1.0-(M+za);za=+g[b+364>>2];M=+g[b+368>>2];F=+g[b+372>>2];Fa=F*$+(M*ba+za*da);ea=F*D+(za*E+M*Da);B=za*P+M*fa+F*w;N=+g[b+380>>2];L=+g[b+384>>2];Aa=+g[b+388>>2];Ea=$*Aa+(L*ba+N*da);A=D*Aa+(N*E+L*Da);Q=N*P+L*fa+Aa*w;Ca=+g[b+396>>2];R=+g[b+400>>2];C=+g[b+404>>2];y=da*Ca+ba*R+$*C;$=E*Ca+Da*R+D*C;D=P*Ca+fa*R+w*C;w=+g[b+300>>2];fa=+g[b+316>>2];P=+g[b+332>>2];Da=+g[b+304>>2];E=+g[b+320>>2];ba=+g[b+336>>2];da=+g[b+308>>2];G=+g[b+324>>2];Ta=+g[b+340>>2];Ua=-+g[v>>2];Va=-+g[x>>2];Wa=-+g[z>>2];Xa=w*Ua+fa*Va+P*Wa;Ya=Da*Ua+E*Va+ba*Wa;Za=da*Ua+G*Va+Ta*Wa;Wa=Fa*w+ea*Da+B*da;Va=Fa*fa+ea*E+B*G;Ua=Fa*P+ea*ba+B*Ta;_a=Ea*w+A*Da+Q*da;$a=Ea*fa+A*E+Q*G;ab=Ea*P+A*ba+Q*Ta;bb=y*w+$*Da+D*da;da=y*fa+$*E+D*G;G=y*P+$*ba+D*Ta;Ta=za*0.0+M*0.0+F*0.0+ +g[I>>2]+(B*Za+(Fa*Xa+ea*Ya));ea=N*0.0+L*0.0+Aa*0.0+ +g[J>>2]+(Q*Za+(Ea*Xa+A*Ya));A=Ca*0.0+R*0.0+C*0.0+ +g[K>>2]+(D*Za+(y*Xa+$*Ya));Ya=+g[q>>2];$=+g[T>>2];Xa=+g[q+8>>2];y=+g[q+16>>2];Za=+g[S>>2];D=+g[H>>2];C=+g[q+32>>2];R=+g[q+36>>2];Ca=+g[oa>>2];Ea=Xa*A+(Ya*Ta+$*ea)+ +g[q+48>>2];Q=y*Ta+ea*Za+A*D+ +g[q+52>>2];Aa=Ta*C+ea*R+A*Ca+ +g[q+56>>2];g[r>>2]=Wa*Ya+_a*$+bb*Xa;g[r+4>>2]=Va*Ya+$a*$+da*Xa;g[r+8>>2]=Ua*Ya+ab*$+G*Xa;g[r+12>>2]=0.0;g[r+16>>2]=Wa*y+_a*Za+bb*D;g[r+20>>2]=Va*y+$a*Za+da*D;g[r+24>>2]=Ua*y+ab*Za+G*D;g[r+28>>2]=0.0;g[r+32>>2]=Wa*C+_a*R+bb*Ca;g[r+36>>2]=Va*C+$a*R+da*Ca;g[r+40>>2]=Ua*C+ab*R+G*Ca;g[r+44>>2]=0.0;g[r+48>>2]=Ea;g[r+52>>2]=Q;g[r+56>>2]=Aa;g[r+60>>2]=0.0;Aa=-Ta;Ta=-ea;ea=-A;A=bb*ea+(Wa*Aa+_a*Ta);Q=da*ea+(Va*Aa+$a*Ta);Ea=G*ea+(Ua*Aa+ab*Ta);Ta=+g[p>>2];Aa=+g[U>>2];ea=+g[p+8>>2];Ca=+g[p+16>>2];R=+g[ra>>2];C=+g[ta>>2];D=+g[p+32>>2];Za=+g[p+36>>2];y=+g[sa>>2];Xa=A*Ta+Q*Aa+Ea*ea+ +g[p+48>>2];$=A*Ca+Q*R+Ea*C+ +g[p+52>>2];Ya=A*D+Q*Za+Ea*y+ +g[p+56>>2];g[s>>2]=Wa*Ta+Va*Aa+Ua*ea;g[s+4>>2]=_a*Ta+$a*Aa+ab*ea;g[s+8>>2]=bb*Ta+da*Aa+G*ea;g[s+12>>2]=0.0;g[s+16>>2]=Wa*Ca+Va*R+Ua*C;g[s+20>>2]=_a*Ca+$a*R+ab*C;g[s+24>>2]=bb*Ca+da*R+G*C;g[s+28>>2]=0.0;g[s+32>>2]=Wa*D+Va*Za+Ua*y;g[s+36>>2]=_a*D+$a*Za+ab*y;g[s+40>>2]=bb*D+da*Za+G*y;g[s+44>>2]=0.0;g[s+48>>2]=Xa;g[s+52>>2]=$;g[s+56>>2]=Ya;g[s+60>>2]=0.0;Ya=1.0/f;Cf(l,r,j,k);$=+g[k>>2];Xa=Ya*(+g[j>>2]*$);y=Ya*($*+g[j+4>>2]);G=Ya*($*+g[j+8>>2]);Cf(m,s,j,k);$=+g[k>>2];Za=Xa-+g[n>>2];Xa=y-+g[ma>>2];y=G-+g[na>>2];G=Ya*(+g[j>>2]*$)-+g[o>>2];da=Ya*($*+g[j+4>>2])-+g[W>>2];D=Ya*($*+g[j+8>>2])-+g[V>>2];$=Za*Za+Xa*Xa+y*y;if($>1.1920928955078125e-07){Ya=1.0/+O(+$);$=Za*Ya;bb=Xa*Ya;ab=y*Ya;V=c[t>>2]|0;cb=$;db=bb;eb=ab;fb=$*(+g[V+288>>2]*$+bb*+g[V+304>>2]+ab*+g[V+320>>2])+bb*($*+g[V+292>>2]+bb*+g[V+308>>2]+ab*+g[V+324>>2])+ab*($*+g[V+296>>2]+bb*+g[V+312>>2]+ab*+g[V+328>>2])}else{cb=0.0;db=0.0;eb=0.0;fb=0.0}ab=G*G+da*da+D*D;if(ab>1.1920928955078125e-07){bb=1.0/+O(+ab);ab=G*bb;$=da*bb;Ya=D*bb;V=c[u>>2]|0;gb=ab;hb=$;ib=Ya;jb=ab*(+g[V+288>>2]*ab+$*+g[V+304>>2]+Ya*+g[V+320>>2])+$*(ab*+g[V+292>>2]+$*+g[V+308>>2]+Ya*+g[V+324>>2])+Ya*(ab*+g[V+296>>2]+$*+g[V+312>>2]+Ya*+g[V+328>>2])}else{gb=0.0;hb=0.0;ib=0.0;jb=0.0}Ya=fb*cb+jb*gb;$=fb*db+jb*hb;ab=fb*eb+jb*ib;bb=Ya*Ya+$*$+ab*ab;if(bb>1.1920928955078125e-07){$a=1.0/+O(+bb);bb=Ya*$a;Ya=$*$a;$=ab*$a;V=c[t>>2]|0;W=V+288|0;na=V+304|0;ma=V+320|0;sa=V+292|0;ta=V+308|0;ra=V+324|0;U=V+296|0;oa=V+312|0;H=V+328|0;$a=bb*(+g[W>>2]*bb+Ya*+g[na>>2]+$*+g[ma>>2])+Ya*(bb*+g[sa>>2]+Ya*+g[ta>>2]+$*+g[ra>>2])+$*(bb*+g[U>>2]+Ya*+g[oa>>2]+$*+g[H>>2]);V=c[u>>2]|0;ab=bb*(bb*+g[V+288>>2]+Ya*+g[V+304>>2]+$*+g[V+320>>2])+Ya*(bb*+g[V+292>>2]+Ya*+g[V+308>>2]+$*+g[V+324>>2])+$*(bb*+g[V+296>>2]+Ya*+g[V+312>>2]+$*+g[V+328>>2]);$=$a+ab;Ya=1.0/($*$);$=(Za*$a-G*ab)*Ya;G=(Xa*$a-da*ab)*Ya;da=(y*$a-D*ab)*Ya;Ya=+g[b+572>>2];if(!(Ya>=0.0)){kb=$;lb=da;mb=G}else{ab=(a[b+553>>0]|0)==0?Ya:Ya/$a;S=b+576|0;$a=+g[S>>2];Ya=$+$a;T=b+580|0;D=+g[T>>2];y=G+D;qa=b+584|0;Xa=+g[qa>>2];Za=da+Xa;bb=+O(+(Ya*Ya+y*y+Za*Za));if(bb>ab){_a=1.0/bb;nb=ab*(Ya*_a)-$a;ob=ab*(Za*_a)-Xa;pb=ab*(y*_a)-D}else{nb=$;ob=da;pb=G}g[S>>2]=nb+$a;g[T>>2]=pb+D;g[qa>>2]=ob+Xa;kb=nb;lb=ob;mb=pb}Xa=+O(+(kb*kb+mb*mb+lb*lb));D=1.0/Xa;$a=kb*D;G=mb*D;da=lb*D;if(!(c[d+240>>2]|0))qb=V;else{D=$a*+g[ma>>2]+G*+g[ra>>2]+da*+g[H>>2];$=$a*+g[na>>2]+G*+g[ta>>2]+da*+g[oa>>2];_a=$a*+g[W>>2]+G*+g[sa>>2]+da*+g[U>>2];y=Xa*0.0;ab=y*+g[d+116>>2];Za=y*+g[d+120>>2];U=d+64|0;g[U>>2]=y*+g[d+112>>2]+ +g[U>>2];U=d+68|0;g[U>>2]=ab+ +g[U>>2];U=d+72|0;g[U>>2]=Za+ +g[U>>2];Za=$*(Xa*+g[d+100>>2]);$=D*(Xa*+g[d+104>>2]);g[ka>>2]=_a*(Xa*+g[d+96>>2])+ +g[ka>>2];g[X>>2]=Za+ +g[X>>2];g[Z>>2]=$+ +g[Z>>2];qb=c[u>>2]|0}$=-Xa;if(c[e+240>>2]|0){Za=$a*+g[qb+320>>2]+G*+g[qb+324>>2]+da*+g[qb+328>>2];_a=$a*+g[qb+304>>2]+G*+g[qb+308>>2]+da*+g[qb+312>>2];D=$a*+g[qb+288>>2]+G*+g[qb+292>>2]+da*+g[qb+296>>2];da=Xa*-0.0;Xa=da*+g[e+116>>2];G=da*+g[e+120>>2];U=e+64|0;g[U>>2]=da*+g[e+112>>2]+ +g[U>>2];U=e+68|0;g[U>>2]=Xa+ +g[U>>2];U=e+72|0;g[U>>2]=G+ +g[U>>2];G=_a*(+g[e+100>>2]*$);_a=Za*(+g[e+104>>2]*$);g[_>>2]=D*(+g[e+96>>2]*$)+ +g[_>>2];g[ca>>2]=G+ +g[ca>>2];g[ha>>2]=_a+ +g[ha>>2]}}Ga=ka;Ha=ia;Ia=X;Ja=Y;Ka=Z;La=la;Ma=_;Na=aa;Oa=ca;Pa=ja;Qa=ha;Ra=va}while(0);lb=+g[Ra>>2]+ +g[Ga>>2];mb=+g[Ha>>2]+ +g[Ia>>2];kb=+g[Ja>>2]+ +g[Ka>>2];pb=+g[La>>2]+ +g[Ma>>2];ob=+g[Na>>2]+ +g[Oa>>2];nb=+g[Pa>>2]+ +g[Qa>>2];if(a[b+526>>0]|0){ib=+g[b+528>>2];jb=ib*+g[b+504>>2]*+g[b+432>>2]/f;eb=+g[b+460>>2];fb=+g[b+464>>2];hb=+g[b+468>>2];db=(pb-lb)*eb+(ob-mb)*fb+(nb-kb)*hb;if(db>0.0)rb=jb+ib*db*+g[b+436>>2];else rb=jb;Pa=b+516|0;jb=+g[Pa>>2];db=jb+rb*+g[b+492>>2];rb=db>0.0?db:0.0;g[Pa>>2]=rb;db=rb-jb;jb=eb*db;eb=fb*db;fb=db*hb;hb=+g[b+536>>2];db=+g[b+540>>2];rb=+g[b+544>>2];ib=jb*hb+eb*db+fb*rb;gb=jb-hb*ib;hb=eb-db*ib;db=fb-rb*ib;ib=+O(+(db*db+(gb*gb+hb*hb)));rb=1.0/ib;fb=rb*gb;gb=rb*hb;hb=rb*db;Pa=c[t>>2]|0;if(c[d+240>>2]|0){db=fb*+g[Pa+320>>2]+gb*+g[Pa+324>>2]+hb*+g[Pa+328>>2];rb=fb*+g[Pa+304>>2]+gb*+g[Pa+308>>2]+hb*+g[Pa+312>>2];eb=fb*+g[Pa+288>>2]+gb*+g[Pa+292>>2]+hb*+g[Pa+296>>2];jb=ib*0.0;cb=jb*+g[d+116>>2];_a=jb*+g[d+120>>2];Pa=d+64|0;g[Pa>>2]=jb*+g[d+112>>2]+ +g[Pa>>2];Pa=d+68|0;g[Pa>>2]=cb+ +g[Pa>>2];Pa=d+72|0;g[Pa>>2]=_a+ +g[Pa>>2];_a=rb*(ib*+g[d+100>>2]);rb=db*(ib*+g[d+104>>2]);g[Ga>>2]=eb*(ib*+g[d+96>>2])+ +g[Ga>>2];g[Ia>>2]=_a+ +g[Ia>>2];g[Ka>>2]=rb+ +g[Ka>>2]}Pa=c[u>>2]|0;rb=-ib;if(c[e+240>>2]|0){_a=fb*+g[Pa+320>>2]+gb*+g[Pa+324>>2]+hb*+g[Pa+328>>2];eb=fb*+g[Pa+304>>2]+gb*+g[Pa+308>>2]+hb*+g[Pa+312>>2];db=fb*+g[Pa+288>>2]+gb*+g[Pa+292>>2]+hb*+g[Pa+296>>2];hb=ib*-0.0;ib=hb*+g[e+116>>2];gb=hb*+g[e+120>>2];Pa=e+64|0;g[Pa>>2]=hb*+g[e+112>>2]+ +g[Pa>>2];Pa=e+68|0;g[Pa>>2]=ib+ +g[Pa>>2];Pa=e+72|0;g[Pa>>2]=gb+ +g[Pa>>2];gb=eb*(+g[e+100>>2]*rb);eb=_a*(+g[e+104>>2]*rb);g[Ma>>2]=db*(+g[e+96>>2]*rb)+ +g[Ma>>2];g[Oa>>2]=gb+ +g[Oa>>2];g[Qa>>2]=eb+ +g[Qa>>2]}}if(!(a[b+525>>0]|0)){i=h;return}eb=+g[b+532>>2];gb=eb*+g[b+508>>2]*+g[b+432>>2]/f;Pa=b+476|0;f=+g[Pa>>2];Na=b+480|0;rb=+g[Na>>2];La=b+484|0;db=+g[La>>2];_a=(pb-lb)*f+(ob-mb)*rb+(nb-kb)*db;if(_a>0.0)sb=gb+eb*_a*+g[b+436>>2];else sb=gb;Ja=b+520|0;gb=+g[Ja>>2];_a=gb+sb*+g[b+496>>2];sb=_a>0.0?_a:0.0;g[Ja>>2]=sb;_a=sb-gb;Ja=c[t>>2]|0;if(!(c[d+240>>2]|0)){tb=f;ub=rb;vb=db}else{gb=f*+g[Ja+320>>2]+rb*+g[Ja+324>>2]+db*+g[Ja+328>>2];sb=f*+g[Ja+304>>2]+rb*+g[Ja+308>>2]+db*+g[Ja+312>>2];eb=f*+g[Ja+288>>2]+rb*+g[Ja+292>>2]+db*+g[Ja+296>>2];db=_a*0.0;rb=db*+g[d+116>>2];f=db*+g[d+120>>2];Ja=d+64|0;g[Ja>>2]=db*+g[d+112>>2]+ +g[Ja>>2];Ja=d+68|0;g[Ja>>2]=rb+ +g[Ja>>2];Ja=d+72|0;g[Ja>>2]=f+ +g[Ja>>2];f=sb*(_a*+g[d+100>>2]);sb=gb*(_a*+g[d+104>>2]);g[Ga>>2]=eb*(_a*+g[d+96>>2])+ +g[Ga>>2];g[Ia>>2]=f+ +g[Ia>>2];g[Ka>>2]=sb+ +g[Ka>>2];tb=+g[Pa>>2];ub=+g[Na>>2];vb=+g[La>>2]}La=c[u>>2]|0;sb=-_a;if(!(c[e+240>>2]|0)){i=h;return}f=tb*+g[La+320>>2]+ub*+g[La+324>>2]+vb*+g[La+328>>2];eb=tb*+g[La+304>>2]+ub*+g[La+308>>2]+vb*+g[La+312>>2];gb=tb*+g[La+288>>2]+ub*+g[La+292>>2]+vb*+g[La+296>>2];vb=_a*-0.0;_a=vb*+g[e+116>>2];ub=vb*+g[e+120>>2];La=e+64|0;g[La>>2]=vb*+g[e+112>>2]+ +g[La>>2];La=e+68|0;g[La>>2]=_a+ +g[La>>2];La=e+72|0;g[La>>2]=ub+ +g[La>>2];ub=eb*(+g[e+100>>2]*sb);eb=f*(+g[e+104>>2]*sb);g[Ma>>2]=gb*(+g[e+96>>2]*sb)+ +g[Ma>>2];g[Oa>>2]=ub+ +g[Oa>>2];g[Qa>>2]=eb+ +g[Qa>>2];i=h;return}function Bf(a,b,c,d,e,f,h){a=a|0;b=+b;c=+c;d=+d;e=e|0;f=+f;h=h|0;var j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0;j=i;i=i+16|0;k=j;l=c*f+ +g[a+52>>2];c=d*f+ +g[a+56>>2];g[h+48>>2]=b*f+ +g[a+48>>2];g[h+52>>2]=l;g[h+56>>2]=c;g[h+60>>2]=0.0;c=+g[e>>2];l=+g[e+4>>2];b=+g[e+8>>2];d=+O(+(c*c+l*l+b*b));m=d*f>.7853981852531433?.7853981852531433/f:d;if(m<1.0000000474974513e-03)n=f*.5-m*(f*f*f*.02083333395421505*m);else n=+R(+(m*.5*f))/m;d=c*n;c=l*n;l=b*n;n=+Q(+(m*f*.5));Ae(a,k);f=+g[k>>2];m=+g[k+12>>2];b=+g[k+8>>2];o=+g[k+4>>2];p=n*f+d*m+c*b-l*o;q=l*f+(c*m+n*o)-d*b;r=l*m+n*b+d*o-c*f;s=n*m-d*f-c*o-l*b;b=1.0/+O(+(s*s+(r*r+(p*p+q*q))));l=p*b;p=b*q;q=b*r;r=b*s;s=2.0/(r*r+(q*q+(l*l+p*p)));b=l*s;o=p*s;c=q*s;s=r*b;f=r*o;d=r*c;r=l*b;b=l*o;m=l*c;l=p*o;o=p*c;p=q*c;g[h>>2]=1.0-(l+p);g[h+4>>2]=b-d;g[h+8>>2]=m+f;g[h+12>>2]=0.0;g[h+16>>2]=b+d;g[h+20>>2]=1.0-(r+p);g[h+24>>2]=o-s;g[h+28>>2]=0.0;g[h+32>>2]=m-f;g[h+36>>2]=o+s;g[h+40>>2]=1.0-(r+l);g[h+44>>2]=0.0;i=j;return}function Cf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=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.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;f=i;i=i+64|0;h=f+16|0;j=f;k=+g[a+20>>2];l=+g[a+40>>2];m=+g[a+24>>2];n=+g[a+36>>2];o=k*l-m*n;p=+g[a+32>>2];q=+g[a+16>>2];r=m*p-l*q;s=n*q-k*p;t=+g[a>>2];u=+g[a+4>>2];v=+g[a+8>>2];w=1.0/(o*t+u*r+s*v);x=o*w;o=(n*v-l*u)*w;y=(m*u-k*v)*w;z=r*w;r=(l*t-p*v)*w;l=(q*v-m*t)*w;m=s*w;s=(p*u-n*t)*w;n=(k*t-q*u)*w;w=+g[b>>2];u=+g[b+4>>2];q=+g[b+8>>2];t=+g[b+16>>2];k=+g[b+20>>2];p=+g[b+24>>2];v=+g[b+32>>2];A=+g[b+36>>2];B=+g[b+40>>2];g[h>>2]=q*m+(w*x+u*z);g[h+4>>2]=q*s+(w*o+u*r);g[h+8>>2]=q*n+(w*y+u*l);g[h+12>>2]=0.0;g[h+16>>2]=x*t+z*k+m*p;g[h+20>>2]=o*t+r*k+s*p;g[h+24>>2]=y*t+l*k+n*p;g[h+28>>2]=0.0;g[h+32>>2]=x*v+z*A+m*B;g[h+36>>2]=o*v+r*A+s*B;g[h+40>>2]=y*v+l*A+n*B;g[h+44>>2]=0.0;Ae(h,j);B=+g[j>>2];h=j+4|0;n=+g[h>>2];b=j+8|0;A=+g[b>>2];a=j+12|0;l=+g[a>>2];v=1.0/+O(+(B*B+n*n+A*A+l*l));y=B*v;g[j>>2]=y;B=n*v;g[h>>2]=B;n=A*v;g[b>>2]=n;A=l*v;g[a>>2]=A;v=A<-1.0?-1.0:A;g[e>>2]=+T(+(v>1.0?1.0:v))*2.0;g[d>>2]=y;e=d+4|0;g[e>>2]=B;a=d+8|0;g[a>>2]=n;b=d+12|0;g[b>>2]=0.0;v=y*y+B*B+n*n;if(v<1.4210854715202004e-14){c[d>>2]=1065353216;c[e>>2]=0;c[a>>2]=0;g[b>>2]=0.0;i=f;return}else{A=1.0/+O(+v);g[d>>2]=y*A;g[e>>2]=A*B;g[a>>2]=A*n;i=f;return}}function Df(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;switch(b|0){case 2:case 1:{if(e>>>0<3){g[a+600>>2]=d;b=a+592|0;c[b>>2]=c[b>>2]|2;return}else{g[a+432>>2]=d;return}break}case 4:case 3:{if(e>>>0<3){g[a+596>>2]=d;e=a+592|0;c[e>>2]=c[e>>2]|1;return}else{g[a+604>>2]=d;e=a+592|0;c[e>>2]=c[e>>2]|4;return}break}default:return}}function Ef(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;a:do switch(b|0){case 2:case 1:{if(c>>>0<3){d=+g[a+600>>2];break a}if((c+-3|0)>>>0<3)d=+g[a+432>>2];else d=0.0;break}case 4:case 3:{if(c>>>0<3){d=+g[a+596>>2];break a}if((c+-3|0)>>>0<3)d=+g[a+604>>2];else d=0.0;break}default:d=0.0}while(0);return +d}function Ff(a){a=a|0;return 212}function Gf(a,b,d){a=a|0;b=b|0;d=d|0;Pg(a,b,d)|0;c[b+52>>2]=c[a+300>>2];c[b+56>>2]=c[a+304>>2];c[b+60>>2]=c[a+308>>2];c[b+64>>2]=c[a+312>>2];c[b+68>>2]=c[a+316>>2];c[b+72>>2]=c[a+320>>2];c[b+76>>2]=c[a+324>>2];c[b+80>>2]=c[a+328>>2];c[b+84>>2]=c[a+332>>2];c[b+88>>2]=c[a+336>>2];c[b+92>>2]=c[a+340>>2];c[b+96>>2]=c[a+344>>2];c[b+100>>2]=c[a+348>>2];c[b+104>>2]=c[a+352>>2];c[b+108>>2]=c[a+356>>2];c[b+112>>2]=c[a+360>>2];c[b+116>>2]=c[a+364>>2];c[b+120>>2]=c[a+368>>2];c[b+124>>2]=c[a+372>>2];c[b+128>>2]=c[a+376>>2];c[b+132>>2]=c[a+380>>2];c[b+136>>2]=c[a+384>>2];c[b+140>>2]=c[a+388>>2];c[b+144>>2]=c[a+392>>2];c[b+148>>2]=c[a+396>>2];c[b+152>>2]=c[a+400>>2];c[b+156>>2]=c[a+404>>2];c[b+160>>2]=c[a+408>>2];c[b+164>>2]=c[a+412>>2];c[b+168>>2]=c[a+416>>2];c[b+172>>2]=c[a+420>>2];c[b+176>>2]=c[a+424>>2];c[b+180>>2]=c[a+444>>2];c[b+184>>2]=c[a+448>>2];c[b+188>>2]=c[a+452>>2];c[b+192>>2]=c[a+428>>2];c[b+196>>2]=c[a+432>>2];c[b+200>>2]=c[a+436>>2];c[b+204>>2]=c[a+440>>2];return 7264}function Hf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+300|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];e=a+316|0;f=b+16|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];f=a+332|0;e=b+32|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];e=a+348|0;f=b+48|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];f=a+364|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];f=a+380|0;e=d+16|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];e=a+396|0;f=d+32|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];f=a+412|0;e=d+48|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];vb[c[(c[a>>2]|0)+8>>2]&255](a);return}function If(){c[4169]=1065353216;c[4170]=0;c[4171]=0;g[4172]=0.0;return}function Jf(a,b,d,e){a=a|0;b=b|0;d=+d;e=+e;var f=0.0,h=0.0,i=0,j=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.0;f=+Q(+d);h=+R(+d);i=c[b+444>>2]|0;j=+N(+f)>1.1920928955078125e-07;d=(c[k>>2]=i,+g[k>>2]);if(j){l=h*h;m=f*f;n=l/m;o=+g[b+448>>2];p=+O(+((n+1.0)/(1.0/(o*o)+n/(d*d))));q=l;r=m;s=(g[k>>2]=p,c[k>>2]|0)}else{q=h*h;r=f*f;s=i}p=+O(+(r+0.0+q));q=(c[k>>2]=s,+g[k>>2])*.5;r=+R(+q)/p;p=r*0.0;m=f*r;f=h*r;r=+Q(+q);q=m*0.0;h=f*-0.0;l=r*e+q-h;d=r*0.0;n=p*0.0;o=d-f*e-n;t=d+n-m*e;n=-(p*e)-q-h;h=-p;p=-m;g[a>>2]=f*o+(r*l+n*h)-t*p;g[a+4>>2]=t*h+(r*o+n*p)-f*l;g[a+8>>2]=l*p+(f*n+r*t)-o*h;g[a+12>>2]=0.0;return}function Kf(a){a=a|0;c[a>>2]=2592;if(!a)return;c[4351]=(c[4351]|0)+1;Ur(c[a+-4>>2]|0);return}function Lf(b){b=b|0;var d=0,e=0,f=0,h=0,j=0.0,k=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0;d=i;i=i+16|0;e=d;if(!(a[b+1308>>0]|0)){i=d;return}f=b+712|0;g[b+928>>2]=0.0;g[b+992>>2]=0.0;g[b+1056>>2]=0.0;h=b+28|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;f=b+32|0;Mf(b,(c[h>>2]|0)+4|0,(c[f>>2]|0)+4|0);vb[c[(c[b>>2]|0)+44>>2]&255](b);j=+g[b+1284>>2];k=+g[b+1288>>2];l=+g[b+1292>>2];m=b+1300|0;n=e+4|0;o=e+8|0;p=e+12|0;if(+g[b+696>>2]>=+g[b+680>>2]){q=(a[m>>0]|0)==0;r=c[(q?b+1160|0:b+1096|0)>>2]|0;s=c[(q?b+1144|0:b+1080|0)>>2]|0;c[e>>2]=c[(q?b+1128|0:b+1064|0)>>2];c[n>>2]=s;c[o>>2]=r;g[p>>2]=0.0;Nf(c[h>>2]|0,c[f>>2]|0,b+176|0,e,j,k,l,j,k,l)}if(+g[b+700>>2]>=+g[b+684>>2]){r=(a[m>>0]|0)==0;s=c[(r?b+1164|0:b+1100|0)>>2]|0;q=c[(r?b+1148|0:b+1084|0)>>2]|0;c[e>>2]=c[(r?b+1132|0:b+1068|0)>>2];c[n>>2]=q;c[o>>2]=s;g[p>>2]=0.0;Nf(c[h>>2]|0,c[f>>2]|0,b+260|0,e,j,k,l,j,k,l)}if(+g[b+704>>2]>=+g[b+688>>2]){s=(a[m>>0]|0)==0;m=c[(s?b+1168|0:b+1104|0)>>2]|0;q=c[(s?b+1152|0:b+1088|0)>>2]|0;c[e>>2]=c[(s?b+1136|0:b+1072|0)>>2];c[n>>2]=q;c[o>>2]=m;g[p>>2]=0.0;Nf(c[h>>2]|0,c[f>>2]|0,b+344|0,e,j,k,l,j,k,l)}p=0;do{l=+g[b+868+(p<<6)>>2];k=+g[b+868+(p<<6)+4>>2];j=+Of(+g[b+1192+(p<<2)>>2],l,k);g[b+868+(p<<6)+52>>2]=j;do if(!(l>k)){if(l>j){c[b+868+(p<<6)+56>>2]=1;t=j-l;m=b+868+(p<<6)+48|0;g[m>>2]=t;if(t>3.1415927410125732){g[m>>2]=t+-6.2831854820251465;u=19;break}if(!(t<-3.1415927410125732)){u=19;break}g[m>>2]=t+6.2831854820251465;u=19;break}m=b+868+(p<<6)+56|0;if(!(k<j)){c[m>>2]=0;u=18;break}c[m>>2]=2;t=j-k;m=b+868+(p<<6)+48|0;g[m>>2]=t;if(t>3.1415927410125732){g[m>>2]=t+-6.2831854820251465;u=19;break}if(t<-3.1415927410125732){g[m>>2]=t+6.2831854820251465;u=19}else u=19}else{c[b+868+(p<<6)+56>>2]=0;u=18}while(0);if((u|0)==18?(u=0,a[b+868+(p<<6)+44>>0]|0):0)u=19;if((u|0)==19){u=0;m=b+1208+(p<<4)|0;c[e>>2]=c[m>>2];c[e+4>>2]=c[m+4>>2];c[e+8>>2]=c[m+8>>2];c[e+12>>2]=c[m+12>>2];m=b+428+(p*84|0)|0;q=c[h>>2]|0;k=+g[q+4>>2];j=+g[q+20>>2];l=+g[q+36>>2];t=+g[q+8>>2];v=+g[q+24>>2];w=+g[q+40>>2];x=+g[q+12>>2];y=+g[q+28>>2];z=+g[q+44>>2];s=c[f>>2]|0;A=+g[s+4>>2];B=+g[s+20>>2];C=+g[s+36>>2];D=+g[s+8>>2];E=+g[s+24>>2];F=+g[s+40>>2];G=+g[s+12>>2];H=+g[s+28>>2];I=+g[s+44>>2];c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;J=+g[e>>2];K=+g[n>>2];L=+g[o>>2];M=k*J+j*K+l*L;l=t*J+v*K+w*L;w=x*J+y*K+z*L;g[b+428+(p*84|0)+16>>2]=M;g[b+428+(p*84|0)+20>>2]=l;g[b+428+(p*84|0)+24>>2]=w;g[b+428+(p*84|0)+28>>2]=0.0;z=-J;J=-K;K=-L;L=A*z+B*J+C*K;C=D*z+E*J+F*K;F=G*z+H*J+I*K;g[b+428+(p*84|0)+32>>2]=L;g[b+428+(p*84|0)+36>>2]=C;g[b+428+(p*84|0)+40>>2]=F;g[b+428+(p*84|0)+44>>2]=0.0;K=M*+g[q+420>>2];I=l*+g[q+424>>2];J=w*+g[q+428>>2];g[b+428+(p*84|0)+48>>2]=K;g[b+428+(p*84|0)+52>>2]=I;g[b+428+(p*84|0)+56>>2]=J;g[b+428+(p*84|0)+60>>2]=0.0;H=L*+g[s+420>>2];z=C*+g[s+424>>2];G=F*+g[s+428>>2];g[b+428+(p*84|0)+64>>2]=H;g[b+428+(p*84|0)+68>>2]=z;g[b+428+(p*84|0)+72>>2]=G;g[b+428+(p*84|0)+76>>2]=0.0;g[b+428+(p*84|0)+80>>2]=M*K+l*I+w*J+(L*H+C*z+F*G)}p=p+1|0}while((p|0)!=3);i=d;return}function Mf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.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.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0.0,R=0,S=0,T=0,V=0,X=0,Y=0,Z=0;f=+g[b+48>>2];h=+g[d>>2];i=+g[b+64>>2];j=+g[d+4>>2];k=+g[b+80>>2];l=+g[d+8>>2];m=+g[b+52>>2];n=+g[b+68>>2];o=+g[b+84>>2];p=+g[b+56>>2];q=+g[b+72>>2];r=+g[b+88>>2];s=+g[d+16>>2];t=+g[d+20>>2];u=+g[d+24>>2];v=+g[d+32>>2];w=+g[d+36>>2];x=+g[d+40>>2];y=+g[b+96>>2];z=+g[b+100>>2];A=+g[b+104>>2];B=+g[d+48>>2]+(h*y+j*z+l*A);C=s*y+t*z+u*A+ +g[d+52>>2];D=v*y+w*z+x*A+ +g[d+56>>2];d=b+1064|0;g[d>>2]=f*h+i*j+k*l;E=b+1068|0;g[E>>2]=h*m+j*n+l*o;F=b+1072|0;g[F>>2]=h*p+j*q+l*r;g[b+1076>>2]=0.0;G=b+1080|0;g[G>>2]=f*s+i*t+k*u;H=b+1084|0;g[H>>2]=m*s+n*t+o*u;I=b+1088|0;g[I>>2]=p*s+q*t+r*u;g[b+1092>>2]=0.0;J=b+1096|0;g[J>>2]=f*v+i*w+k*x;K=b+1100|0;g[K>>2]=m*v+n*w+o*x;L=b+1104|0;g[L>>2]=p*v+q*w+r*x;g[b+1108>>2]=0.0;M=b+1112|0;g[M>>2]=B;N=b+1116|0;g[N>>2]=C;P=b+1120|0;g[P>>2]=D;g[b+1124>>2]=0.0;D=+g[b+112>>2];C=+g[e>>2];B=+g[b+128>>2];x=+g[e+4>>2];r=+g[b+144>>2];w=+g[e+8>>2];q=+g[b+116>>2];v=+g[b+132>>2];p=+g[b+148>>2];o=+g[b+120>>2];n=+g[b+136>>2];m=+g[b+152>>2];k=+g[e+16>>2];i=+g[e+20>>2];f=+g[e+24>>2];u=+g[e+32>>2];t=+g[e+36>>2];s=+g[e+40>>2];l=o*u+n*t+m*s;j=+g[b+160>>2];h=+g[b+164>>2];A=+g[b+168>>2];z=+g[e+48>>2]+(C*j+x*h+w*A);y=k*j+i*h+f*A+ +g[e+52>>2];Q=u*j+t*h+s*A+ +g[e+56>>2];e=b+1128|0;g[e>>2]=D*C+B*x+r*w;R=b+1132|0;g[R>>2]=C*q+x*v+w*p;S=b+1136|0;g[S>>2]=C*o+x*n+w*m;g[b+1140>>2]=0.0;T=b+1144|0;g[T>>2]=D*k+B*i+r*f;V=b+1148|0;g[V>>2]=q*k+v*i+p*f;X=b+1152|0;g[X>>2]=o*k+n*i+m*f;g[b+1156>>2]=0.0;Y=b+1160|0;g[Y>>2]=D*u+B*t+r*s;Z=b+1164|0;g[Z>>2]=q*u+v*t+p*s;g[b+1168>>2]=l;g[b+1172>>2]=0.0;g[b+1176>>2]=z;g[b+1180>>2]=y;g[b+1184>>2]=Q;g[b+1188>>2]=0.0;s=z-+g[M>>2];z=y-+g[N>>2];y=Q-+g[P>>2];Q=+g[H>>2];p=+g[L>>2];t=+g[I>>2];v=+g[K>>2];u=Q*p-t*v;q=+g[J>>2];r=+g[G>>2];B=t*q-p*r;D=v*r-Q*q;f=+g[d>>2];m=+g[E>>2];i=+g[F>>2];n=1.0/(u*f+m*B+D*i);k=u*n;u=(v*i-p*m)*n;o=(t*m-Q*i)*n;w=B*n;B=(p*f-q*i)*n;x=(r*i-t*f)*n;C=D*n;D=(q*m-v*f)*n;v=(Q*f-r*m)*n;n=y*o+(s*k+z*u);m=y*x+(s*w+z*B);r=y*v+(s*C+z*D);g[b+1256>>2]=n;g[b+1260>>2]=m;g[b+1264>>2]=r;g[b+1268>>2]=0.0;g[b+840>>2]=n;z=+g[b+680>>2];s=+g[b+696>>2];do if(!(z>s)){if(z>n){c[b+856>>2]=2;g[b+824>>2]=n-z;break}F=b+856|0;if(s<n){c[F>>2]=1;g[b+824>>2]=n-s;break}else{c[F>>2]=0;g[b+824>>2]=0.0;break}}else{c[b+856>>2]=0;g[b+824>>2]=0.0}while(0);g[b+844>>2]=m;s=+g[b+684>>2];n=+g[b+700>>2];do if(!(s>n)){if(s>m){c[b+860>>2]=2;g[b+828>>2]=m-s;break}F=b+860|0;if(n<m){c[F>>2]=1;g[b+828>>2]=m-n;break}else{c[F>>2]=0;g[b+828>>2]=0.0;break}}else{c[b+860>>2]=0;g[b+828>>2]=0.0}while(0);g[b+848>>2]=r;n=+g[b+688>>2];m=+g[b+704>>2];do if(!(n>m)){if(n>r){c[b+864>>2]=2;g[b+832>>2]=r-n;break}F=b+864|0;if(m<r){c[F>>2]=1;g[b+832>>2]=r-m;break}else{c[F>>2]=0;g[b+832>>2]=0.0;break}}else{c[b+864>>2]=0;g[b+832>>2]=0.0}while(0);m=+g[e>>2];r=+g[T>>2];n=+g[Y>>2];s=n*o+(m*k+r*u);z=+g[R>>2];y=+g[V>>2];f=+g[Z>>2];Q=k*z+u*y+o*f;o=n*x+(m*w+r*B);u=z*w+B*y+x*f;x=n*v+(m*C+r*D);B=z*C+D*y+v*f;f=C*+g[S>>2]+D*+g[X>>2]+v*l;X=b+1192|0;do if(x<1.0)if(x>-1.0){g[X>>2]=+W(+-B,+f);l=x<-1.0?-1.0:x;g[b+1196>>2]=+U(+(l>1.0?1.0:l));g[b+1200>>2]=+W(+-o,+s);break}else{g[X>>2]=-+W(+Q,+u);g[b+1196>>2]=-1.5707963705062866;g[b+1200>>2]=0.0;break}else{g[X>>2]=+W(+Q,+u);g[b+1196>>2]=1.5707963705062866;g[b+1200>>2]=0.0}while(0);u=n*t-r*p;Q=m*p-n*i;s=r*i-m*t;g[b+1236>>2]=0.0;o=p*Q-t*s;x=i*s-p*u;p=t*u-i*Q;g[b+1220>>2]=0.0;i=r*s-n*Q;t=n*u-m*s;n=m*Q-r*u;g[b+1252>>2]=0.0;r=1.0/+O(+(o*o+x*x+p*p));g[b+1208>>2]=o*r;g[b+1212>>2]=x*r;g[b+1216>>2]=p*r;r=1.0/+O(+(u*u+Q*Q+s*s));g[b+1224>>2]=u*r;g[b+1228>>2]=Q*r;g[b+1232>>2]=s*r;r=1.0/+O(+(i*i+t*t+n*n));g[b+1240>>2]=i*r;g[b+1244>>2]=t*r;g[b+1248>>2]=n*r;if(!(a[b+1301>>0]|0))return;r=+g[(c[b+28>>2]|0)+368>>2];n=+g[(c[b+32>>2]|0)+368>>2];a[b+1280>>0]=(r<1.1920928955078125e-07|n<1.1920928955078125e-07)&1;t=r+n;r=t>0.0?n/t:.5;g[b+1272>>2]=r;g[b+1276>>2]=1.0-r;return}function Nf(a,b,d,e,f,h,j,k,l,m){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;h=+h;j=+j;k=+k;l=+l;m=+m;var n=0,o=0,p=0,q=0,r=0,s=0.0;n=i;i=i+128|0;o=n+80|0;p=n+32|0;q=n+16|0;r=n;c[o>>2]=c[a+4>>2];c[o+4>>2]=c[a+20>>2];c[o+8>>2]=c[a+36>>2];g[o+12>>2]=0.0;c[o+16>>2]=c[a+8>>2];c[o+20>>2]=c[a+24>>2];c[o+24>>2]=c[a+40>>2];g[o+28>>2]=0.0;c[o+32>>2]=c[a+12>>2];c[o+36>>2]=c[a+28>>2];c[o+40>>2]=c[a+44>>2];g[o+44>>2]=0.0;c[p>>2]=c[b+4>>2];c[p+4>>2]=c[b+20>>2];c[p+8>>2]=c[b+36>>2];g[p+12>>2]=0.0;c[p+16>>2]=c[b+8>>2];c[p+20>>2]=c[b+24>>2];c[p+24>>2]=c[b+40>>2];g[p+28>>2]=0.0;c[p+32>>2]=c[b+12>>2];c[p+36>>2]=c[b+28>>2];c[p+40>>2]=c[b+44>>2];g[p+44>>2]=0.0;s=h-+g[a+56>>2];h=j-+g[a+60>>2];g[q>>2]=f-+g[a+52>>2];g[q+4>>2]=s;g[q+8>>2]=h;g[q+12>>2]=0.0;h=l-+g[b+56>>2];l=m-+g[b+60>>2];g[r>>2]=k-+g[b+52>>2];g[r+4>>2]=h;g[r+8>>2]=l;g[r+12>>2]=0.0;wf(d,o,p,q,r,e,a+420|0,+g[a+368>>2],b+420|0,+g[b+368>>2]);i=n;return}function Of(a,b,c){a=+a;b=+b;c=+c;var d=0.0,e=0.0,f=0.0,g=0.0,h=0,i=0.0,j=0.0;if(b>=c){d=a;return +d}if(a<b){e=+Sr(b-a);if(!(e<-3.1415927410125732))if(e>3.1415927410125732)f=e+-6.2831854820251465;else f=e;else f=e+6.2831854820251465;e=+N(+f);f=+Sr(c-a);if(!(f<-3.1415927410125732))if(f>3.1415927410125732)g=f+-6.2831854820251465;else g=f;else g=f+6.2831854820251465;h=e<+N(+g);d=h?a:a+6.2831854820251465;return +d}if(!(a>c)){d=a;return +d}g=+Sr(a-c);if(!(g<-3.1415927410125732))if(g>3.1415927410125732)i=g+-6.2831854820251465;else i=g;else i=g+6.2831854820251465;g=+N(+i);i=+Sr(a-b);if(!(i<-3.1415927410125732))if(i>3.1415927410125732)j=i+-6.2831854820251465;else j=i;else j=i+6.2831854820251465;h=+N(+j)<g;d=h?a+-6.2831854820251465:a;return +d}function Pf(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0;if(a[b+1308>>0]|0){c[d>>2]=0;c[d+4>>2]=0;return}Mf(b,(c[b+28>>2]|0)+4|0,(c[b+32>>2]|0)+4|0);c[d>>2]=0;e=d+4|0;c[e>>2]=6;if((c[b+856>>2]|0)==0?(a[b+788>>0]|0)==0:0){f=0;h=6}else{c[d>>2]=1;c[e>>2]=5;f=1;h=5}if((c[b+860>>2]|0)==0?(a[b+789>>0]|0)==0:0){i=f;j=h}else{k=f+1|0;c[d>>2]=k;f=h+-1|0;c[e>>2]=f;i=k;j=f}if((c[b+864>>2]|0)==0?(a[b+790>>0]|0)==0:0){l=i;m=j;n=0}else{f=i+1|0;c[d>>2]=f;i=j+-1|0;c[e>>2]=i;l=f;m=i;n=0}while(1){o=+g[b+868+(n<<6)>>2];p=+g[b+868+(n<<6)+4>>2];q=+Of(+g[b+1192+(n<<2)>>2],o,p);g[b+868+(n<<6)+52>>2]=q;do if(!(o>p)){if(o>q){c[b+868+(n<<6)+56>>2]=1;r=q-o;i=b+868+(n<<6)+48|0;g[i>>2]=r;if(r>3.1415927410125732){g[i>>2]=r+-6.2831854820251465;s=21;break}if(!(r<-3.1415927410125732)){s=21;break}g[i>>2]=r+6.2831854820251465;s=21;break}i=b+868+(n<<6)+56|0;if(!(p<q)){c[i>>2]=0;s=20;break}c[i>>2]=2;r=q-p;i=b+868+(n<<6)+48|0;g[i>>2]=r;if(r>3.1415927410125732){g[i>>2]=r+-6.2831854820251465;s=21;break}if(r<-3.1415927410125732){g[i>>2]=r+6.2831854820251465;s=21}else s=21}else{c[b+868+(n<<6)+56>>2]=0;s=20}while(0);if((s|0)==20){s=0;if(!(a[b+868+(n<<6)+44>>0]|0)){t=m;u=l}else s=21}if((s|0)==21){s=0;i=l+1|0;c[d>>2]=i;f=m+-1|0;c[e>>2]=f;t=f;u=i}n=n+1|0;if((n|0)==3)break;else{l=u;m=t}}return}function Qf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=i;i=i+16|0;f=e;g=c[b+28>>2]|0;h=g+4|0;j=c[b+32>>2]|0;k=j+4|0;l=g+336|0;m=j+336|0;n=g+352|0;g=j+352|0;if(!(a[b+1301>>0]|0)){j=b+1304|0;o=d+32|0;p=d+4|0;q=0;r=Sf(b,d,0,h,k,l,m,n,g)|0;while(1){s=b+868+(q<<6)|0;if((c[b+868+(q<<6)+56>>2]|0)==0?(a[b+868+(q<<6)+44>>0]|0)==0:0)t=r;else{u=b+1208+(q<<4)|0;c[f>>2]=c[u>>2];c[f+4>>2]=c[u+4>>2];c[f+8>>2]=c[u+8>>2];c[f+12>>2]=c[u+12>>2];u=c[j>>2]>>(q*3|0)+9;if(!(u&1))c[b+868+(q<<6)+28>>2]=c[c[o>>2]>>2];if(!(u&2))c[b+868+(q<<6)+36>>2]=c[c[o>>2]>>2];if(!(u&4))c[b+868+(q<<6)+32>>2]=c[p>>2];t=(Rf(b,s,h,k,l,m,n,g,d,r,f,1,0)|0)+r|0}q=q+1|0;if((q|0)==3)break;else r=t}i=e;return}t=b+1304|0;r=d+32|0;q=d+4|0;p=0;o=0;while(1){j=b+868+(p<<6)|0;if((c[b+868+(p<<6)+56>>2]|0)==0?(a[b+868+(p<<6)+44>>0]|0)==0:0)v=o;else{s=b+1208+(p<<4)|0;c[f>>2]=c[s>>2];c[f+4>>2]=c[s+4>>2];c[f+8>>2]=c[s+8>>2];c[f+12>>2]=c[s+12>>2];s=c[t>>2]>>(p*3|0)+9;if(!(s&1))c[b+868+(p<<6)+28>>2]=c[c[r>>2]>>2];if(!(s&2))c[b+868+(p<<6)+36>>2]=c[c[r>>2]>>2];if(!(s&4))c[b+868+(p<<6)+32>>2]=c[q>>2];v=(Rf(b,j,h,k,l,m,n,g,d,o,f,1,0)|0)+o|0}p=p+1|0;if((p|0)==3)break;else o=v}Sf(b,d,v,h,k,l,m,n,g)|0;i=e;return}function Rf(b,d,e,f,h,i,j,k,l,m,n,o,p){b=b|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;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.0,D=0.0,E=0.0,F=0,G=0.0,H=0.0,I=0.0,J=0.0,K=0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.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,Y=0.0,Z=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0,ea=0.0,fa=0,ga=0,ha=0.0,ia=0.0;q=_(c[l+24>>2]|0,m)|0;m=a[d+44>>0]|0;r=c[d+56>>2]|0;s=(r|0)!=0;if(!(m<<24>>24!=0|s)){t=0;return t|0}u=(o|0)!=0;o=l+12|0;v=c[(u?o:l+8|0)>>2]|0;w=l+20|0;x=c[(u?w:l+16|0)>>2]|0;c[v+(q<<2)>>2]=c[n>>2];y=n+4|0;z=q+1|0;c[v+(z<<2)>>2]=c[y>>2];A=n+8|0;B=q+2|0;c[v+(B<<2)>>2]=c[A>>2];g[x+(q<<2)>>2]=-+g[n>>2];g[x+(z<<2)>>2]=-+g[y>>2];g[x+(B<<2)>>2]=-+g[A>>2];do if(!u){x=b+1176|0;C=+g[x>>2];if(!(a[b+1301>>0]|0)){D=C-+g[e+48>>2];v=b+1180|0;E=+g[v>>2]-+g[e+52>>2];F=b+1184|0;G=+g[F>>2]-+g[e+56>>2];H=+g[A>>2];I=+g[y>>2];J=+g[n>>2];K=c[o>>2]|0;g[K+(q<<2)>>2]=E*H-G*I;g[K+(z<<2)>>2]=G*J-D*H;g[K+(B<<2)>>2]=D*I-E*J;J=+g[x>>2]-+g[f+48>>2];E=+g[v>>2]-+g[f+52>>2];I=+g[F>>2]-+g[f+56>>2];D=+g[A>>2];H=+g[y>>2];G=+g[n>>2];F=c[w>>2]|0;g[F+(q<<2)>>2]=-(E*D-I*H);g[F+(z<<2)>>2]=-(I*G-J*D);g[F+(B<<2)>>2]=-(J*H-E*G);break}G=C-+g[f+48>>2];C=+g[b+1180>>2]-+g[f+52>>2];E=+g[b+1184>>2]-+g[f+56>>2];H=+g[n>>2];J=+g[y>>2];D=+g[A>>2];I=G*H+C*J+E*D;L=H*I;M=J*I;N=D*I;I=+g[b+1112>>2]-+g[e+48>>2];O=+g[b+1116>>2]-+g[e+52>>2];P=+g[b+1120>>2]-+g[e+56>>2];Q=H*I+J*O+D*P;R=H*Q;S=J*Q;T=D*Q;Q=+g[d+52>>2]-+g[d+48>>2];U=R+H*Q-L;V=S+J*Q-M;W=T+D*Q-N;Q=+g[b+1272>>2];X=I-R+Q*U;R=O-S+Q*V;S=P-T+Q*W;T=+g[b+1276>>2];P=G-L-T*U;U=C-M-T*V;V=E-N-T*W;W=D*R-J*S;N=H*S-D*X;S=J*X-H*R;R=U*D-V*J;X=V*H-P*D;D=P*J-U*H;if((p|0)!=0|(a[b+1280>>0]|0)==0){Y=R;Z=X;$=D;aa=W;ba=N;ca=S}else{Y=T*R;Z=T*X;$=T*D;aa=Q*W;ba=Q*N;ca=Q*S}F=(c[o>>2]|0)+(q<<2)|0;g[F>>2]=aa;g[F+4>>2]=ba;g[F+8>>2]=ca;F=c[w>>2]|0;g[F+(q<<2)>>2]=-Y;g[F+(z<<2)>>2]=-Z;g[F+(B<<2)>>2]=-$}while(0);if(s?+g[d>>2]==+g[d+4>>2]:0){B=l+28|0;z=c[B>>2]|0;g[z+(q<<2)>>2]=0.0;da=z;ea=0.0;fa=B}else ga=11;do if((ga|0)==11){B=l+28|0;z=c[B>>2]|0;w=z+(q<<2)|0;g[w>>2]=0.0;if(!(m<<24>>24)){if(s){da=z;ea=0.0;fa=B;break}else t=1;return t|0}c[(c[l+32>>2]|0)+(q<<2)>>2]=c[d+28>>2];if(s){da=z;ea=+g[w>>2];fa=B;break}$=+g[d+8>>2];Z=u?$:-$;Y=+g[d+52>>2];ca=+g[d>>2];ba=+g[d+4>>2];aa=+g[l>>2]*+g[d+32>>2];do if(!(ca>ba))if(!(ca==ba)){S=Z/aa;if(S<0.0)if(Y>=ca&ca-S>Y){ha=(ca-Y)/S;break}else{ha=Y<ca?0.0:1.0;break}if(S>0.0)if(Y<=ba&ba-S<Y){ha=(ba-Y)/S;break}else{ha=Y>ba?0.0:1.0;break}else ha=0.0}else ha=0.0;else ha=1.0;while(0);g[w>>2]=ha*$+ +g[w>>2];B=d+12|0;g[(c[l+36>>2]|0)+(q<<2)>>2]=-+g[B>>2];c[(c[l+40>>2]|0)+(q<<2)>>2]=c[B>>2];t=1;return t|0}while(0);ha=+g[l>>2]*+g[d+32>>2]*+g[d+48>>2];g[da+(q<<2)>>2]=ea+(u?-ha:ha);c[(c[l+32>>2]|0)+(q<<2)>>2]=c[d+36>>2];if(+g[d>>2]==+g[d+4>>2]){g[(c[l+36>>2]|0)+(q<<2)>>2]=-3402823466385288598117041.0e14;g[(c[l+40>>2]|0)+(q<<2)>>2]=3402823466385288598117041.0e14;t=1;return t|0}da=(r|0)==1;r=c[l+40>>2]|0;g[(c[l+36>>2]|0)+(q<<2)>>2]=da?0.0:-3402823466385288598117041.0e14;g[r+(q<<2)>>2]=da?3402823466385288598117041.0e14:0.0;ha=+g[d+40>>2];if(!(ha>0.0)){t=1;return t|0}if(u){ea=+g[n>>2];ba=+g[y>>2];Y=+g[A>>2];ia=+g[j>>2]*ea+ +g[j+4>>2]*ba+ +g[j+8>>2]*Y-(ea*+g[k>>2]+ba*+g[k+4>>2]+Y*+g[k+8>>2])}else{Y=+g[n>>2];ba=+g[y>>2];ea=+g[A>>2];ia=+g[h>>2]*Y+ +g[h+4>>2]*ba+ +g[h+8>>2]*ea-(Y*+g[i>>2]+ba*+g[i+4>>2]+ea*+g[i+8>>2])}if(da){if(!(ia<0.0)){t=1;return t|0}ea=-(ia*ha);da=(c[fa>>2]|0)+(q<<2)|0;if(!(+g[da>>2]<ea)){t=1;return t|0}g[da>>2]=ea;t=1;return t|0}else{if(!(ia>0.0)){t=1;return t|0}ea=-(ia*ha);da=(c[fa>>2]|0)+(q<<2)|0;if(!(+g[da>>2]>ea)){t=1;return t|0}g[da>>2]=ea;t=1;return t|0}return 0}function Sf(b,d,e,f,h,j,k,l,m){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;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;n=i;i=i+80|0;o=n+16|0;p=n;g[o+60>>2]=0.0;q=o+8|0;g[q>>2]=0.0;r=o+12|0;g[r>>2]=.10000000149011612;s=o+16|0;g[s>>2]=300.0;g[o>>2]=1.0;t=o+4|0;g[t>>2]=-1.0;u=o+28|0;g[u>>2]=0.0;v=o+32|0;g[v>>2]=.20000000298023224;w=o+36|0;g[w>>2]=0.0;x=o+40|0;g[x>>2]=0.0;y=o+20|0;g[y>>2]=1.0;z=o+24|0;g[z>>2]=.5;A=o+56|0;c[A>>2]=0;B=o+48|0;g[B>>2]=0.0;C=o+44|0;a[C>>0]=0;D=o+52|0;E=b+732|0;F=b+728|0;G=p+4|0;H=p+8|0;I=p+12|0;J=b+1304|0;K=d+32|0;L=d+4|0;M=b+1301|0;N=e;e=0;while(1){O=c[b+856+(e<<2)>>2]|0;P=a[b+788+e>>0]|0;if((O|0)==0&P<<24>>24==0)Q=N;else{g[x>>2]=0.0;c[A>>2]=O;c[D>>2]=c[b+840+(e<<2)>>2];c[B>>2]=c[b+824+(e<<2)>>2];c[y>>2]=c[E>>2];a[C>>0]=P;c[t>>2]=c[b+696+(e<<2)>>2];c[z>>2]=c[F>>2];c[o>>2]=c[b+680+(e<<2)>>2];g[s>>2]=0.0;c[r>>2]=c[b+808+(e<<2)>>2];c[q>>2]=c[b+792+(e<<2)>>2];c[p>>2]=c[b+1064+(e<<2)>>2];c[G>>2]=c[b+1080+(e<<2)>>2];c[H>>2]=c[b+1096+(e<<2)>>2];g[I>>2]=0.0;P=c[J>>2]>>e*3;if(!(P&1))R=c[K>>2]|0;else R=b+740+(e<<2)|0;c[u>>2]=c[R>>2];if(!(P&2))S=c[K>>2]|0;else S=b+772+(e<<2)|0;c[w>>2]=c[S>>2];c[v>>2]=c[((P&4|0)==0?L:b+756+(e<<2)|0)>>2];if(!(a[M>>0]|0))T=Rf(b,o,f,h,j,k,l,m,d,N,p,0,0)|0;else{P=e+1|0;if(!(c[b+868+(((P|0)==3?0:P)<<6)+56>>2]|0))U=1;else U=(c[b+868+(((e+2|0)%3|0)<<6)+56>>2]|0)==0&1;T=Rf(b,o,f,h,j,k,l,m,d,N,p,0,U)|0}Q=T+N|0}e=e+1|0;if((e|0)==3)break;else N=Q}i=n;return Q|0}function Tf(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0;if(e>>>0<3)switch(b|0){case 2:{g[a+756+(e<<2)>>2]=d;f=a+1304|0;c[f>>2]=c[f>>2]|4<<e*3;return}case 4:{g[a+772+(e<<2)>>2]=d;f=a+1304|0;c[f>>2]=c[f>>2]|2<<e*3;return}case 3:{g[a+740+(e<<2)>>2]=d;f=a+1304|0;c[f>>2]=c[f>>2]|1<<e*3;return}default:return}f=e+-3|0;if(f>>>0>=3)return;switch(b|0){case 2:{g[a+868+(f<<6)+32>>2]=d;b=a+1304|0;c[b>>2]=c[b>>2]|4<<e*3;return}case 4:{g[a+868+(f<<6)+36>>2]=d;b=a+1304|0;c[b>>2]=c[b>>2]|2<<e*3;return}case 3:{g[a+868+(f<<6)+28>>2]=d;f=a+1304|0;c[f>>2]=c[f>>2]|1<<e*3;return}default:return}}function Uf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0;a:do if(c>>>0>=3){d=c+-3|0;if(d>>>0<3)switch(b|0){case 2:{e=+g[a+868+(d<<6)+32>>2];break a;break}case 4:{e=+g[a+868+(d<<6)+36>>2];break a;break}case 3:{e=+g[a+868+(d<<6)+28>>2];break a;break}default:{e=0.0;break a}}else e=0.0}else switch(b|0){case 2:{e=+g[a+756+(c<<2)>>2];break a;break}case 4:{e=+g[a+772+(c<<2)>>2];break a;break}case 3:{e=+g[a+740+(c<<2)>>2];break a;break}default:{e=0.0;break a}}while(0);return +e}function Vf(a){a=a|0;return 252}function Wf(a,d,e){a=a|0;d=d|0;e=e|0;Pg(a,d,e)|0;c[d+52>>2]=c[a+48>>2];c[d+56>>2]=c[a+52>>2];c[d+60>>2]=c[a+56>>2];c[d+64>>2]=c[a+60>>2];c[d+68>>2]=c[a+64>>2];c[d+72>>2]=c[a+68>>2];c[d+76>>2]=c[a+72>>2];c[d+80>>2]=c[a+76>>2];c[d+84>>2]=c[a+80>>2];c[d+88>>2]=c[a+84>>2];c[d+92>>2]=c[a+88>>2];c[d+96>>2]=c[a+92>>2];c[d+100>>2]=c[a+96>>2];c[d+104>>2]=c[a+100>>2];c[d+108>>2]=c[a+104>>2];c[d+112>>2]=c[a+108>>2];c[d+116>>2]=c[a+112>>2];c[d+120>>2]=c[a+116>>2];c[d+124>>2]=c[a+120>>2];c[d+128>>2]=c[a+124>>2];c[d+132>>2]=c[a+128>>2];c[d+136>>2]=c[a+132>>2];c[d+140>>2]=c[a+136>>2];c[d+144>>2]=c[a+140>>2];c[d+148>>2]=c[a+144>>2];c[d+152>>2]=c[a+148>>2];c[d+156>>2]=c[a+152>>2];c[d+160>>2]=c[a+156>>2];c[d+164>>2]=c[a+160>>2];c[d+168>>2]=c[a+164>>2];c[d+172>>2]=c[a+168>>2];c[d+176>>2]=c[a+172>>2];c[d+228>>2]=c[a+868>>2];c[d+212>>2]=c[a+872>>2];c[d+196>>2]=c[a+680>>2];c[d+180>>2]=c[a+696>>2];c[d+232>>2]=c[a+932>>2];c[d+216>>2]=c[a+936>>2];c[d+200>>2]=c[a+684>>2];c[d+184>>2]=c[a+700>>2];c[d+236>>2]=c[a+996>>2];c[d+220>>2]=c[a+1e3>>2];c[d+204>>2]=c[a+688>>2];c[d+188>>2]=c[a+704>>2];e=b[a+1300>>1]|0;c[d+244>>2]=e&255;c[d+248>>2]=(e&65535)>>>8&65535;return 7316}function Xf(a){a=a|0;var b=0.0,d=0.0,e=0.0,f=0.0;b=+g[(c[a+28>>2]|0)+368>>2];d=+g[(c[a+32>>2]|0)+368>>2];if(d==0.0)e=1.0;else e=b/(b+d);d=1.0-e;b=e*+g[a+1116>>2]+d*+g[a+1180>>2];f=e*+g[a+1120>>2]+d*+g[a+1184>>2];g[a+1284>>2]=e*+g[a+1112>>2]+d*+g[a+1176>>2];g[a+1288>>2]=b;g[a+1292>>2]=f;g[a+1296>>2]=0.0;return}function Yf(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0;c[b+4>>2]=6;c[b+8>>2]=-1;c[b+12>>2]=-1;g[b+16>>2]=3402823466385288598117041.0e14;a[b+20>>0]=1;a[b+21>>0]=0;c[b+24>>2]=-1;j=b+28|0;c[j>>2]=d;d=b+32|0;c[d>>2]=e;g[b+36>>2]=0.0;g[b+40>>2]=.30000001192092896;c[b+44>>2]=0;c[b>>2]=2644;e=b+48|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];e=b+64|0;k=f+16|0;c[e>>2]=c[k>>2];c[e+4>>2]=c[k+4>>2];c[e+8>>2]=c[k+8>>2];c[e+12>>2]=c[k+12>>2];k=b+80|0;e=f+32|0;c[k>>2]=c[e>>2];c[k+4>>2]=c[e+4>>2];c[k+8>>2]=c[e+8>>2];c[k+12>>2]=c[e+12>>2];e=b+96|0;k=f+48|0;c[e>>2]=c[k>>2];c[e+4>>2]=c[k+4>>2];c[e+8>>2]=c[k+8>>2];c[e+12>>2]=c[k+12>>2];k=b+112|0;c[k>>2]=c[h>>2];c[k+4>>2]=c[h+4>>2];c[k+8>>2]=c[h+8>>2];c[k+12>>2]=c[h+12>>2];k=b+128|0;e=h+16|0;c[k>>2]=c[e>>2];c[k+4>>2]=c[e+4>>2];c[k+8>>2]=c[e+8>>2];c[k+12>>2]=c[e+12>>2];e=b+144|0;k=h+32|0;c[e>>2]=c[k>>2];c[e+4>>2]=c[k+4>>2];c[e+8>>2]=c[k+8>>2];c[e+12>>2]=c[k+12>>2];k=b+160|0;e=h+48|0;c[k>>2]=c[e>>2];c[k+4>>2]=c[e+4>>2];c[k+8>>2]=c[e+8>>2];c[k+12>>2]=c[e+12>>2];e=b+740|0;k=b+756|0;h=b+680|0;f=h+48|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(f|0));c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[k>>2]=1045220557;c[b+760>>2]=1045220557;c[b+764>>2]=1045220557;k=b+768|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;g[b+728>>2]=.699999988079071;g[b+732>>2]=1.0;g[b+736>>2]=.5;a[b+788>>0]=0;g[b+792>>2]=0.0;g[b+808>>2]=0.0;a[b+789>>0]=0;g[b+796>>2]=0.0;g[b+812>>2]=0.0;a[b+790>>0]=0;g[b+800>>2]=0.0;g[b+816>>2]=0.0;g[b+928>>2]=0.0;g[b+876>>2]=0.0;g[b+880>>2]=.10000000149011612;g[b+884>>2]=300.0;g[b+868>>2]=1.0;g[b+872>>2]=-1.0;g[b+896>>2]=0.0;g[b+900>>2]=.20000000298023224;g[b+904>>2]=0.0;g[b+908>>2]=0.0;g[b+888>>2]=1.0;g[b+892>>2]=.5;c[b+924>>2]=0;g[b+916>>2]=0.0;a[b+912>>0]=0;g[b+992>>2]=0.0;g[b+940>>2]=0.0;g[b+944>>2]=.10000000149011612;g[b+948>>2]=300.0;g[b+932>>2]=1.0;g[b+936>>2]=-1.0;g[b+960>>2]=0.0;g[b+964>>2]=.20000000298023224;g[b+968>>2]=0.0;g[b+972>>2]=0.0;g[b+952>>2]=1.0;g[b+956>>2]=.5;c[b+988>>2]=0;g[b+980>>2]=0.0;a[b+976>>0]=0;g[b+1056>>2]=0.0;g[b+1004>>2]=0.0;g[b+1008>>2]=.10000000149011612;g[b+1012>>2]=300.0;g[b+996>>2]=1.0;g[b+1e3>>2]=-1.0;g[b+1024>>2]=0.0;g[b+1028>>2]=.20000000298023224;g[b+1032>>2]=0.0;g[b+1036>>2]=0.0;g[b+1016>>2]=1.0;g[b+1020>>2]=.5;c[b+1052>>2]=0;g[b+1044>>2]=0.0;a[b+1040>>0]=0;a[b+1300>>0]=i&1;a[b+1301>>0]=1;c[b+1304>>2]=0;a[b+1308>>0]=0;Mf(b,(c[j>>2]|0)+4|0,(c[d>>2]|0)+4|0);return}function Zf(a){a=a|0;c[a>>2]=2592;if(!a)return;c[4351]=(c[4351]|0)+1;Ur(c[a+-4>>2]|0);return}function _f(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0.0;e=d+48|0;if(a[b+1309>>0]|0){f=(+g[b+1256>>2]-+g[b+1316>>2])*+g[b+1340>>2];g[b+792>>2]=f*(+g[d>>2]*+g[b+1364>>2]/+(c[e>>2]|0));h=+N(+f);g[b+808>>2]=h/+g[d>>2]}if(a[b+1310>>0]|0){h=(+g[b+1260>>2]-+g[b+1320>>2])*+g[b+1344>>2];g[b+796>>2]=h*(+g[d>>2]*+g[b+1368>>2]/+(c[e>>2]|0));f=+N(+h);g[b+812>>2]=f/+g[d>>2]}if(a[b+1311>>0]|0){f=(+g[b+1264>>2]-+g[b+1324>>2])*+g[b+1348>>2];g[b+800>>2]=f*(+g[d>>2]*+g[b+1372>>2]/+(c[e>>2]|0));h=+N(+f);g[b+816>>2]=h/+g[d>>2]}if(a[b+1312>>0]|0){h=-((+g[b+1192>>2]-+g[b+1328>>2])*+g[b+1352>>2]);f=+g[d>>2];g[b+876>>2]=f*+g[b+1376>>2]/+(c[e>>2]|0)*h;g[b+880>>2]=+N(+h)/f}if(a[b+1313>>0]|0){f=-((+g[b+1196>>2]-+g[b+1332>>2])*+g[b+1356>>2]);h=+g[d>>2];g[b+940>>2]=h*+g[b+1380>>2]/+(c[e>>2]|0)*f;g[b+944>>2]=+N(+f)/h}if(!(a[b+1314>>0]|0)){Qf(b,d);return}h=-((+g[b+1200>>2]-+g[b+1336>>2])*+g[b+1360>>2]);f=+g[d>>2];g[b+1004>>2]=f*+g[b+1384>>2]/+(c[e>>2]|0)*h;g[b+1008>>2]=+N(+h)/f;Qf(b,d);return}function $f(a){a=a|0;return 348}function ag(a,b,e){a=a|0;b=b|0;e=e|0;Wf(a,b,e)|0;c[b+276>>2]=c[a+1316>>2];c[b+324>>2]=c[a+1364>>2];c[b+252>>2]=d[a+1309>>0];c[b+300>>2]=c[a+1340>>2];c[b+280>>2]=c[a+1320>>2];c[b+328>>2]=c[a+1368>>2];c[b+256>>2]=d[a+1310>>0];c[b+304>>2]=c[a+1344>>2];c[b+284>>2]=c[a+1324>>2];c[b+332>>2]=c[a+1372>>2];c[b+260>>2]=d[a+1311>>0];c[b+308>>2]=c[a+1348>>2];c[b+288>>2]=c[a+1328>>2];c[b+336>>2]=c[a+1376>>2];c[b+264>>2]=d[a+1312>>0];c[b+312>>2]=c[a+1352>>2];c[b+292>>2]=c[a+1332>>2];c[b+340>>2]=c[a+1380>>2];c[b+268>>2]=d[a+1313>>0];c[b+316>>2]=c[a+1356>>2];c[b+296>>2]=c[a+1336>>2];c[b+344>>2]=c[a+1384>>2];c[b+272>>2]=d[a+1314>>0];c[b+320>>2]=c[a+1360>>2];return 7376}function bg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.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.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0;e=+g[b>>2];f=+g[b+4>>2];h=+g[b+8>>2];i=1.0/+O(+(e*e+f*f+h*h));j=e*i;e=f*i;f=h*i;i=+g[d>>2];h=+g[d+4>>2];k=+g[d+8>>2];l=1.0/+O(+(i*i+h*h+k*k));m=i*l;i=h*l;h=k*l;l=f*i-e*h;k=j*h-f*m;n=e*m-j*i;d=a+28|0;b=c[d>>2]|0;o=+g[b+4>>2];p=+g[b+20>>2];q=+g[b+36>>2];r=+g[b+8>>2];s=+g[b+24>>2];t=+g[b+40>>2];u=+g[b+12>>2];v=+g[b+28>>2];w=+g[b+44>>2];x=-+g[b+52>>2];y=-+g[b+56>>2];z=-+g[b+60>>2];g[a+48>>2]=n*q+(o*l+p*k);g[a+52>>2]=o*m+i*p+h*q;g[a+56>>2]=j*o+e*p+f*q;g[a+60>>2]=0.0;g[a+64>>2]=l*r+k*s+n*t;g[a+68>>2]=m*r+i*s+h*t;g[a+72>>2]=j*r+e*s+f*t;g[a+76>>2]=0.0;g[a+80>>2]=l*u+k*v+n*w;g[a+84>>2]=m*u+i*v+h*w;g[a+88>>2]=j*u+e*v+f*w;g[a+92>>2]=0.0;g[a+96>>2]=o*0.0+p*0.0+q*0.0+(o*x+p*y+q*z);g[a+100>>2]=r*0.0+s*0.0+t*0.0+(r*x+s*y+t*z);g[a+104>>2]=u*0.0+v*0.0+w*0.0+(u*x+v*y+w*z);g[a+108>>2]=0.0;b=a+32|0;A=c[b>>2]|0;z=+g[A+4>>2];w=+g[A+20>>2];y=+g[A+36>>2];v=+g[A+8>>2];x=+g[A+24>>2];u=+g[A+40>>2];t=+g[A+12>>2];s=+g[A+28>>2];r=+g[A+44>>2];q=-+g[A+52>>2];p=-+g[A+56>>2];o=-+g[A+60>>2];g[a+112>>2]=l*z+k*w+n*y;g[a+116>>2]=m*z+i*w+h*y;g[a+120>>2]=j*z+e*w+f*y;g[a+124>>2]=0.0;g[a+128>>2]=l*v+k*x+n*u;g[a+132>>2]=m*v+i*x+h*u;g[a+136>>2]=j*v+e*x+f*u;g[a+140>>2]=0.0;g[a+144>>2]=l*t+k*s+n*r;g[a+148>>2]=m*t+i*s+h*r;g[a+152>>2]=j*t+e*s+f*r;g[a+156>>2]=0.0;g[a+160>>2]=z*0.0+w*0.0+y*0.0+(z*q+w*p+y*o);g[a+164>>2]=v*0.0+x*0.0+u*0.0+(v*q+x*p+u*o);g[a+168>>2]=t*0.0+s*0.0+r*0.0+(t*q+s*p+r*o);g[a+172>>2]=0.0;Mf(a,(c[d>>2]|0)+4|0,(c[b>>2]|0)+4|0);return}function cg(a){a=a|0;c[a>>2]=2592;if(!a)return;c[4351]=(c[4351]|0)+1;Ur(c[a+-4>>2]|0);return}function dg(b){b=b|0;var d=0,e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=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,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.0,ra=0.0,sa=0.0,ta=0.0,ua=0.0,va=0.0,wa=0.0;d=i;i=i+176|0;e=d+128|0;f=d+80|0;h=d+32|0;j=d+16|0;k=d;if(!(a[b+738>>0]|0)){i=d;return}g[b+36>>2]=0.0;g[b+744>>2]=0.0;if(!(a[b+736>>0]|0)){l=b+28|0;m=c[l>>2]|0;n=+g[b+600>>2];o=+g[b+604>>2];p=+g[b+608>>2];q=n*+g[m+20>>2]+o*+g[m+24>>2]+p*+g[m+28>>2]+ +g[m+56>>2];r=b+32|0;s=c[r>>2]|0;t=+g[b+664>>2];u=+g[b+668>>2];v=+g[b+672>>2];w=+g[s+52>>2];x=+g[s+56>>2];y=t*+g[s+20>>2]+u*+g[s+24>>2]+v*+g[s+28>>2]+x;z=t*+g[s+36>>2]+u*+g[s+40>>2]+v*+g[s+44>>2]+ +g[s+60>>2];A=y-q;B=n*+g[m+4>>2]+o*+g[m+8>>2]+p*+g[m+12>>2]+ +g[m+52>>2];C=n*+g[m+36>>2]+o*+g[m+40>>2]+p*+g[m+44>>2]+ +g[m+60>>2];p=t*+g[s+4>>2]+u*+g[s+8>>2]+v*+g[s+12>>2]+w;v=p-B;u=z-C;t=v*v+A*A+u*u;if(t>1.1920928955078125e-07){o=1.0/+O(+t);t=v*o;v=A*o;A=u*o;g[e>>2]=t;g[e+4>>2]=v;g[e+8>>2]=A;c[e+12>>2]=0;D=A;E=v;F=t}else{c[e>>2]=1065353216;c[e+4>>2]=0;c[e+8>>2]=0;g[e+12>>2]=0.0;D=0.0;E=0.0;F=1.0}if(+N(+D)>.7071067690849304){t=D*D+E*E;v=1.0/+O(+t);A=-(v*D);o=v*E;G=-(o*F);H=F*A;I=A;J=0.0;K=t*v;L=o}else{o=F*F+E*E;v=1.0/+O(+o);t=-(E*v);E=v*F;G=D*t;H=o*v;I=E;J=t;K=-(E*D);L=0.0}g[e+16>>2]=J;g[e+20>>2]=I;g[e+24>>2]=L;g[e+32>>2]=K;g[e+36>>2]=G;g[e+40>>2]=H;m=f+4|0;M=f+8|0;P=f+12|0;Q=f+16|0;R=f+20|0;S=f+24|0;T=f+28|0;U=f+32|0;V=f+36|0;W=f+40|0;X=f+44|0;Y=h+4|0;Z=h+8|0;_=h+12|0;$=h+16|0;aa=h+20|0;ba=h+24|0;ca=h+28|0;da=h+32|0;ea=h+36|0;fa=h+40|0;ga=h+44|0;ha=j+4|0;ia=j+8|0;ja=j+12|0;ka=k+4|0;la=k+8|0;ma=k+12|0;na=s;H=w;w=x;s=0;while(1){oa=c[l>>2]|0;c[f>>2]=c[oa+4>>2];c[m>>2]=c[oa+20>>2];c[M>>2]=c[oa+36>>2];g[P>>2]=0.0;c[Q>>2]=c[oa+8>>2];c[R>>2]=c[oa+24>>2];c[S>>2]=c[oa+40>>2];g[T>>2]=0.0;c[U>>2]=c[oa+12>>2];c[V>>2]=c[oa+28>>2];c[W>>2]=c[oa+44>>2];g[X>>2]=0.0;c[h>>2]=c[na+4>>2];c[Y>>2]=c[na+20>>2];c[Z>>2]=c[na+36>>2];g[_>>2]=0.0;c[$>>2]=c[na+8>>2];c[aa>>2]=c[na+24>>2];c[ba>>2]=c[na+40>>2];g[ca>>2]=0.0;c[da>>2]=c[na+12>>2];c[ea>>2]=c[na+28>>2];c[fa>>2]=c[na+44>>2];g[ga>>2]=0.0;x=q-+g[oa+56>>2];G=C-+g[oa+60>>2];g[j>>2]=B-+g[oa+52>>2];g[ha>>2]=x;g[ia>>2]=G;g[ja>>2]=0.0;G=z-+g[na+60>>2];g[k>>2]=p-H;g[ka>>2]=y-w;g[la>>2]=G;g[ma>>2]=0.0;oa=c[l>>2]|0;pa=c[r>>2]|0;wf(b+48+(s*84|0)|0,f,h,j,k,e+(s<<4)|0,oa+420|0,+g[oa+368>>2],pa+420|0,+g[pa+368>>2]);pa=s+1|0;if((pa|0)==3)break;oa=c[r>>2]|0;na=oa;H=+g[oa+52>>2];w=+g[oa+56>>2];s=pa}}s=b+560|0;na=b+576|0;r=b+592|0;w=+g[s>>2];H=+g[na>>2];y=+g[r>>2];if(+N(+y)>.7071067690849304){p=y*y+H*H;z=1.0/+O(+p);B=-(y*z);C=H*z;qa=w*B;ra=0.0;sa=C;ta=B;ua=p*z;va=-(w*C)}else{C=w*w+H*H;z=1.0/+O(+C);p=-(H*z);B=w*z;qa=C*z;ra=p;sa=0.0;ta=B;ua=-(y*B);va=y*p}e=b+28|0;k=c[e>>2]|0;p=+g[k+4>>2];B=+g[k+8>>2];z=+g[k+12>>2];C=ra*p+ta*B+sa*z;q=+g[k+20>>2];G=+g[k+24>>2];x=+g[k+28>>2];K=ra*q+ta*G+sa*x;L=+g[k+36>>2];I=+g[k+40>>2];J=+g[k+44>>2];D=ra*L+ta*I+sa*J;sa=ua*p+va*B+qa*z;ta=ua*q+va*G+qa*x;ra=ua*L+va*I+qa*J;qa=p*w+B*H+z*y;va=q*w+G*H+x*y;ua=L*w+I*H+J*y;j=b+300|0;h=b+32|0;f=c[h>>2]|0;y=+g[f+4>>2];H=+g[f+20>>2];w=+g[f+36>>2];E=+g[f+8>>2];t=+g[f+24>>2];v=+g[f+40>>2];o=+g[f+12>>2];F=+g[f+28>>2];A=+g[f+44>>2];c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;u=C*p+K*q+D*L;L=C*B+K*G+D*I;I=C*z+K*x+D*J;g[b+316>>2]=u;g[b+320>>2]=L;g[b+324>>2]=I;g[b+328>>2]=0.0;J=-C;C=-K;K=-D;D=y*J+H*C+w*K;w=E*J+t*C+v*K;v=o*J+F*C+A*K;g[b+332>>2]=D;g[b+336>>2]=w;g[b+340>>2]=v;g[b+344>>2]=0.0;K=u*+g[k+420>>2];A=L*+g[k+424>>2];C=I*+g[k+428>>2];g[b+348>>2]=K;g[b+352>>2]=A;g[b+356>>2]=C;g[b+360>>2]=0.0;F=D*+g[f+420>>2];J=w*+g[f+424>>2];o=v*+g[f+428>>2];g[b+364>>2]=F;g[b+368>>2]=J;g[b+372>>2]=o;g[b+376>>2]=0.0;g[b+380>>2]=u*K+L*A+I*C+(D*F+w*J+v*o);f=b+384|0;k=c[e>>2]|0;o=+g[k+4>>2];v=+g[k+20>>2];J=+g[k+36>>2];w=+g[k+8>>2];F=+g[k+24>>2];D=+g[k+40>>2];C=+g[k+12>>2];I=+g[k+28>>2];A=+g[k+44>>2];j=c[h>>2]|0;L=+g[j+4>>2];K=+g[j+20>>2];u=+g[j+36>>2];t=+g[j+8>>2];E=+g[j+24>>2];H=+g[j+40>>2];y=+g[j+12>>2];x=+g[j+28>>2];z=+g[j+44>>2];c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;G=sa*o+ta*v+ra*J;J=sa*w+ta*F+ra*D;D=sa*C+ta*I+ra*A;g[b+400>>2]=G;g[b+404>>2]=J;g[b+408>>2]=D;g[b+412>>2]=0.0;A=-sa;sa=-ta;ta=-ra;ra=L*A+K*sa+u*ta;u=t*A+E*sa+H*ta;H=y*A+x*sa+z*ta;g[b+416>>2]=ra;g[b+420>>2]=u;g[b+424>>2]=H;g[b+428>>2]=0.0;ta=G*+g[k+420>>2];z=J*+g[k+424>>2];sa=D*+g[k+428>>2];g[b+432>>2]=ta;g[b+436>>2]=z;g[b+440>>2]=sa;g[b+444>>2]=0.0;x=ra*+g[j+420>>2];A=u*+g[j+424>>2];y=H*+g[j+428>>2];g[b+448>>2]=x;g[b+452>>2]=A;g[b+456>>2]=y;g[b+460>>2]=0.0;g[b+464>>2]=G*ta+J*z+D*sa+(ra*x+u*A+H*y);j=b+468|0;k=c[e>>2]|0;y=+g[k+4>>2];H=+g[k+20>>2];A=+g[k+36>>2];u=+g[k+8>>2];x=+g[k+24>>2];ra=+g[k+40>>2];sa=+g[k+12>>2];D=+g[k+28>>2];z=+g[k+44>>2];f=c[h>>2]|0;J=+g[f+4>>2];ta=+g[f+20>>2];G=+g[f+36>>2];E=+g[f+8>>2];t=+g[f+24>>2];K=+g[f+40>>2];L=+g[f+12>>2];I=+g[f+28>>2];C=+g[f+44>>2];c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;F=qa*y+va*H+ua*A;A=qa*u+va*x+ua*ra;ra=qa*sa+va*D+ua*z;g[b+484>>2]=F;g[b+488>>2]=A;g[b+492>>2]=ra;g[b+496>>2]=0.0;z=-qa;qa=-va;va=-ua;ua=J*z+ta*qa+G*va;G=E*z+t*qa+K*va;K=L*z+I*qa+C*va;g[b+500>>2]=ua;g[b+504>>2]=G;g[b+508>>2]=K;g[b+512>>2]=0.0;va=F*+g[k+420>>2];C=A*+g[k+424>>2];qa=ra*+g[k+428>>2];g[b+516>>2]=va;g[b+520>>2]=C;g[b+524>>2]=qa;g[b+528>>2]=0.0;I=ua*+g[f+420>>2];z=G*+g[f+424>>2];L=K*+g[f+428>>2];g[b+532>>2]=I;g[b+536>>2]=z;g[b+540>>2]=L;g[b+544>>2]=0.0;g[b+548>>2]=F*va+A*C+ra*qa+(ua*I+G*z+K*L);g[b+724>>2]=0.0;f=c[e>>2]|0;e=c[h>>2]|0;L=+eg(b,f+4|0,e+4|0);g[b+728>>2]=L;h=b+708|0;g[h>>2]=0.0;k=b+712|0;g[k>>2]=0.0;j=b+716|0;a[j>>0]=0;K=+g[b+692>>2];do if(K>=0.0){z=+Sr(L-+g[b+688>>2]);if(!(z<-3.1415927410125732))if(z>3.1415927410125732)wa=z+-6.2831854820251465;else wa=z;else wa=z+6.2831854820251465;if(wa<-K){a[j>>0]=1;g[h>>2]=-(wa+K);g[k>>2]=1.0;break}if(wa>K){a[j>>0]=1;g[h>>2]=K-wa;g[k>>2]=-1.0}}while(0);wa=+g[s>>2];K=+g[na>>2];L=+g[r>>2];z=wa*+g[f+4>>2]+K*+g[f+8>>2]+L*+g[f+12>>2];G=wa*+g[f+20>>2]+K*+g[f+24>>2]+L*+g[f+28>>2];I=wa*+g[f+36>>2]+K*+g[f+40>>2]+L*+g[f+44>>2];g[b+720>>2]=1.0/(z*(z*+g[f+288>>2]+G*+g[f+304>>2]+I*+g[f+320>>2])+G*(z*+g[f+292>>2]+G*+g[f+308>>2]+I*+g[f+324>>2])+I*(z*+g[f+296>>2]+G*+g[f+312>>2]+I*+g[f+328>>2])+(z*(z*+g[e+288>>2]+G*+g[e+304>>2]+I*+g[e+320>>2])+G*(z*+g[e+292>>2]+G*+g[e+308>>2]+I*+g[e+324>>2])+I*(z*+g[e+296>>2]+G*+g[e+312>>2]+I*+g[e+328>>2])));i=d;return}function eg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.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.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0;d=+g[a+552>>2];e=+g[a+568>>2];f=+g[a+584>>2];h=+g[b>>2];i=+g[b+4>>2];j=+g[b+8>>2];k=+g[b+16>>2];l=+g[b+20>>2];m=+g[b+24>>2];n=+g[b+32>>2];o=+g[b+36>>2];p=+g[b+40>>2];q=+g[a+556>>2];r=+g[a+572>>2];s=+g[a+588>>2];t=+g[a+620>>2];u=+g[a+636>>2];v=+g[a+652>>2];w=t*+g[c>>2]+u*+g[c+4>>2]+v*+g[c+8>>2];x=t*+g[c+16>>2]+u*+g[c+20>>2]+v*+g[c+24>>2];y=t*+g[c+32>>2]+u*+g[c+36>>2]+v*+g[c+40>>2];v=+W(+((d*h+e*i+f*j)*w+(d*k+e*l+f*m)*x+(d*n+e*o+f*p)*y),+((h*q+i*r+j*s)*w+(k*q+l*r+m*s)*x+(n*q+o*r+p*s)*y));return +(v*+g[a+732>>2])}function fg(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0;if(a[b+738>>0]|0){c[d>>2]=0;c[d+4>>2]=0;return}c[d>>2]=5;e=d+4|0;c[e>>2]=1;f=+eg(b,(c[b+28>>2]|0)+4|0,(c[b+32>>2]|0)+4|0);g[b+728>>2]=f;h=b+708|0;g[h>>2]=0.0;i=b+712|0;g[i>>2]=0.0;j=b+716|0;a[j>>0]=0;k=+g[b+692>>2];do if(k>=0.0){l=+Sr(f-+g[b+688>>2]);if(!(l<-3.1415927410125732))if(l>3.1415927410125732)m=l+-6.2831854820251465;else m=l;else m=l+6.2831854820251465;if(m<-k){a[j>>0]=1;g[h>>2]=-(m+k);g[i>>2]=1.0;break}if(m>k){a[j>>0]=1;g[h>>2]=k-m;g[i>>2]=-1.0}else n=12}else n=12;while(0);if((n|0)==12?(a[b+737>>0]|0)==0:0)return;c[d>>2]=6;c[e>>2]=0;return}function gg(d,e){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.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,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,P=0.0,Q=0,R=0,S=0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0,Z=0.0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0.0,ia=0.0,ja=0.0,ka=0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0.0,qa=0.0,ra=0.0,sa=0.0,ta=0.0,ua=0.0,va=0.0,wa=0.0,xa=0.0,ya=0.0,za=0.0,Aa=0.0,Ba=0.0,Ca=0.0,Da=0.0,Ea=0.0,Fa=0.0,Ga=0.0,Ha=0.0,Ia=0.0,Ja=0,Ka=0,La=0,Ma=0.0,Na=0.0,Oa=0.0,Pa=0.0,Qa=0.0;f=d+28|0;h=c[f>>2]|0;i=h+4|0;j=d+32|0;k=c[j>>2]|0;l=k+4|0;m=h+352|0;n=k+352|0;o=e+24|0;p=c[o>>2]|0;if(!(a[d+739>>0]|0)){q=+g[d+552>>2];r=+g[i>>2];s=+g[d+568>>2];t=+g[h+8>>2];u=+g[d+584>>2];v=+g[h+12>>2];w=q*r+s*t+u*v;x=+g[d+556>>2];y=+g[d+572>>2];z=+g[d+588>>2];A=r*x+t*y+v*z;B=+g[d+560>>2];C=+g[d+576>>2];D=+g[d+592>>2];E=r*B+t*C+v*D;F=+g[h+20>>2];G=+g[h+24>>2];H=+g[h+28>>2];I=q*F+s*G+u*H;J=x*F+y*G+z*H;K=B*F+C*G+D*H;L=+g[h+36>>2];M=+g[h+40>>2];N=+g[h+44>>2];P=q*L+s*M+u*N;u=x*L+y*M+z*N;z=B*L+C*M+D*N;D=+g[d+600>>2];C=+g[d+604>>2];B=+g[d+608>>2];Q=h+52|0;y=+g[Q>>2];x=y+(r*D+t*C+v*B);R=h+56|0;v=+g[R>>2];t=F*D+G*C+H*B+v;S=h+60|0;H=+g[S>>2];G=L*D+M*C+N*B+H;B=+g[l>>2];N=+g[k+8>>2];C=+g[k+12>>2];M=+g[d+624>>2];D=+g[d+640>>2];L=+g[d+656>>2];F=B*M+N*D+C*L;r=+g[k+20>>2];s=+g[k+24>>2];q=+g[k+28>>2];T=M*r+D*s+L*q;U=+g[k+36>>2];V=+g[k+40>>2];W=+g[k+44>>2];X=M*U+D*V+L*W;L=+g[d+664>>2];D=+g[d+668>>2];M=+g[d+672>>2];Y=k+52|0;Z=+g[Y>>2]+(B*L+N*D+C*M);_=k+56|0;C=r*L+s*D+q*M+ +g[_>>2];$=k+60|0;q=U*L+V*D+W*M+ +g[$>>2];aa=b[d+736>>1]|0;ba=(aa&255)<<24>>24==0;ca=(aa&65535)>>>8;if(ba){aa=c[e+8>>2]|0;g[aa>>2]=1.0;da=p+1|0;g[aa+(da<<2)>>2]=1.0;ea=p<<1;fa=ea+2|0;g[aa+(fa<<2)>>2]=1.0;aa=c[e+16>>2]|0;g[aa>>2]=-1.0;g[aa+(da<<2)>>2]=-1.0;g[aa+(fa<<2)>>2]=-1.0;ga=ea;ha=+g[Q>>2];ia=+g[R>>2];ja=+g[S>>2]}else{ga=p<<1;ha=y;ia=v;ja=H}H=x-ha;ha=t-ia;ia=G-ja;S=c[e+12>>2]|0;R=S+(p<<2)|0;Q=S+(ga<<2)|0;c[S>>2]=0;g[S+4>>2]=ia;g[S+8>>2]=-ha;g[S+12>>2]=0.0;g[R>>2]=-ia;c[R+4>>2]=0;g[R+8>>2]=H;g[R+12>>2]=0.0;g[Q>>2]=ha;g[Q+4>>2]=-H;c[Q+8>>2]=0;g[Q+12>>2]=0.0;H=Z-+g[Y>>2];ha=C-+g[_>>2];ia=q-+g[$>>2];$=c[e+20>>2]|0;_=$+(p<<2)|0;Y=$+(ga<<2)|0;c[$>>2]=0;g[$+4>>2]=-ia;g[$+8>>2]=ha;g[$+12>>2]=0.0;g[_>>2]=ia;c[_+4>>2]=0;g[_+8>>2]=-H;g[_+12>>2]=0.0;g[Y>>2]=-ha;g[Y+4>>2]=H;c[Y+8>>2]=0;g[Y+12>>2]=0.0;Y=c[d+748>>2]|0;H=+g[((Y&8|0)==0?e+4|0:d+756|0)>>2];ha=H*+g[e>>2];_=c[e+28>>2]|0;if(ba){g[_>>2]=ha*(Z-x);g[_+(p<<2)>>2]=ha*(C-t);g[_+(p<<1<<2)>>2]=ha*(q-G)}ba=c[o>>2]|0;ga=ba*3|0;Q=ba<<2;g[S+(ga<<2)>>2]=w;R=ga+1|0;g[S+(R<<2)>>2]=I;ea=ga+2|0;g[S+(ea<<2)>>2]=P;g[S+(Q<<2)>>2]=A;fa=Q|1;g[S+(fa<<2)>>2]=J;aa=Q|2;g[S+(aa<<2)>>2]=u;g[$+(ga<<2)>>2]=-w;g[$+(R<<2)>>2]=-I;g[$+(ea<<2)>>2]=-P;g[$+(Q<<2)>>2]=-A;g[$+(fa<<2)>>2]=-J;g[$+(aa<<2)>>2]=-u;G=K*X-z*T;q=z*F-E*X;X=E*T-K*F;g[_+(ga<<2)>>2]=(P*X+(w*G+I*q))*ha;g[_+(Q<<2)>>2]=(u*X+(A*G+J*q))*ha;if(!(a[d+716>>0]|0)){ka=0;la=0.0}else{ha=+g[d+708>>2]*+g[d+732>>2];ka=ha>0.0?1:2;la=ha}Q=(ka|0)!=0;if(!(ca&65535|ka))return;ga=ba*5|0;g[S+(ga<<2)>>2]=E;ba=ga+1|0;g[S+(ba<<2)>>2]=K;aa=ga+2|0;g[S+(aa<<2)>>2]=z;g[$+(ga<<2)>>2]=-E;g[$+(ba<<2)>>2]=-K;g[$+(aa<<2)>>2]=-z;ha=+g[d+688>>2];q=+g[d+692>>2];J=+Sr(ha-q);if(!(J<-3.1415927410125732))if(J>3.1415927410125732)ma=J+-6.2831854820251465;else ma=J;else ma=J+6.2831854820251465;J=+Sr(ha+q);if(!(J<-3.1415927410125732))if(J>3.1415927410125732)na=J+-6.2831854820251465;else na=J;else na=J+6.2831854820251465;aa=ma==na;$=_+(ga<<2)|0;g[$>>2]=0.0;if(!(Y&2))oa=H;else oa=+g[d+764>>2];if(!(ca<<16>>16==0|Q&aa)){if(Y&4|0)c[(c[e+32>>2]|0)+(ga<<2)>>2]=c[d+752>>2];H=+g[d+728>>2];J=+g[d+680>>2];q=ma>na?1.0:0.0;do if(!(ma>=na)){ha=J/(oa*+g[e>>2]);if(ha<0.0)if(H>=ma&ma-ha>H){pa=(ma-H)/ha;break}else{pa=H<ma?0.0:1.0;break}if(ha>0.0)if(H<=na&na-ha<H){pa=(na-H)/ha;break}else{pa=H>na?0.0:1.0;break}else pa=0.0}else pa=q;while(0);g[$>>2]=pa*J*+g[d+732>>2]+ +g[$>>2];ca=d+684|0;g[(c[e+36>>2]|0)+(ga<<2)>>2]=-+g[ca>>2];c[(c[e+40>>2]|0)+(ga<<2)>>2]=c[ca>>2]}if(!Q)return;g[$>>2]=+g[$>>2]+la*(oa*+g[e>>2]);if(Y&1|0)c[(c[e+32>>2]|0)+(ga<<2)>>2]=c[d+760>>2];do if(!aa){Y=(c[e+36>>2]|0)+(ga<<2)|0;Q=c[e+40>>2]|0;if((ka|0)==1){g[Y>>2]=0.0;g[Q+(ga<<2)>>2]=3402823466385288598117041.0e14;break}else{g[Y>>2]=-3402823466385288598117041.0e14;g[Q+(ga<<2)>>2]=0.0;break}}else{g[(c[e+36>>2]|0)+(ga<<2)>>2]=-3402823466385288598117041.0e14;g[(c[e+40>>2]|0)+(ga<<2)>>2]=3402823466385288598117041.0e14}while(0);oa=+g[d+704>>2];do if(oa>0.0){la=E*+g[m>>2]+K*+g[h+356>>2]+z*+g[h+360>>2]-(E*+g[n>>2]+K*+g[k+356>>2]+z*+g[k+360>>2]);if((ka|0)==1){if(!(la<0.0))break;J=-(oa*la);if(!(+g[$>>2]<J))break;g[$>>2]=J;break}else{if(!(la>0.0))break;J=-(oa*la);if(!(+g[$>>2]>J))break;g[$>>2]=J;break}}while(0);g[$>>2]=+g[d+700>>2]*+g[$>>2];return}oa=+g[i>>2];z=+g[h+8>>2];K=+g[h+12>>2];E=+g[d+556>>2];J=+g[d+572>>2];la=+g[d+588>>2];pa=+g[d+560>>2];q=+g[d+576>>2];na=+g[d+592>>2];H=oa*pa+z*q+K*na;ma=+g[h+20>>2];ha=+g[h+24>>2];G=+g[h+28>>2];A=pa*ma+q*ha+na*G;X=+g[h+36>>2];u=+g[h+40>>2];I=+g[h+44>>2];w=pa*X+q*u+na*I;na=+g[d+600>>2];q=+g[d+604>>2];pa=+g[d+608>>2];i=h+52|0;P=+g[i>>2]+(oa*na+z*q+K*pa);$=h+56|0;F=ma*na+ha*q+G*pa+ +g[$>>2];ka=h+60|0;T=X*na+u*q+I*pa+ +g[ka>>2];pa=+g[l>>2];q=+g[k+8>>2];na=+g[k+12>>2];t=+g[d+624>>2];C=+g[d+640>>2];x=+g[d+656>>2];Z=pa*t+q*C+na*x;ia=+g[k+20>>2];ja=+g[k+24>>2];v=+g[k+28>>2];y=t*ia+C*ja+x*v;M=+g[k+36>>2];W=+g[k+40>>2];D=+g[k+44>>2];V=t*M+C*W+x*D;x=+g[d+664>>2];C=+g[d+668>>2];t=+g[d+672>>2];L=+g[k+52>>2];U=L+(pa*x+q*C+na*t);na=+g[k+56>>2];q=ia*x+ja*C+v*t+na;v=+g[k+60>>2];ja=M*x+W*C+D*t+v;t=U-P;D=q-F;C=ja-T;W=+g[(c[f>>2]|0)+368>>2];x=+g[(c[j>>2]|0)+368>>2];j=W<1.1920928955078125e-07|x<1.1920928955078125e-07;M=W+x;W=M>0.0?x/M:.5;M=1.0-W;x=H*W+Z*M;ia=A*W+y*M;pa=w*W+V*M;s=1.0/+O(+(x*x+ia*ia+pa*pa));r=x*s;x=ia*s;ia=pa*s;f=p<<1;s=U-L;L=q-na;na=ja-v;v=s*r+L*x+na*ia;ja=r*v;q=x*v;U=ia*v;v=s-ja;s=L-q;L=na-U;na=P-+g[i>>2];P=F-+g[$>>2];F=T-+g[ka>>2];T=na*r+P*x+F*ia;pa=r*T;N=x*T;B=ia*T;T=na-pa;na=P-N;P=F-B;F=pa-ja;ja=N-q;q=B-U;U=T+W*F;B=na+W*ja;N=P+W*q;pa=v-M*F;F=s-M*ja;ja=L-M*q;q=W*v+M*T;T=W*s+M*na;na=W*L+M*P;P=q*q+T*T+na*na;if(P>1.1920928955078125e-07){L=1.0/+O(+P);qa=q*L;ra=L*na;sa=L*T}else{qa=oa*E+z*J+K*la;ra=E*X+J*u+la*I;sa=E*ma+J*ha+la*G}G=x*ra-ia*sa;la=ia*qa-ra*r;ha=sa*r-x*qa;ka=e+12|0;$=c[ka>>2]|0;g[$>>2]=B*ra-N*sa;g[$+4>>2]=N*qa-U*ra;g[$+8>>2]=U*sa-B*qa;$=e+20|0;i=c[$>>2]|0;g[i>>2]=-(F*ra-ja*sa);g[i+4>>2]=-(ja*qa-pa*ra);g[i+8>>2]=-(pa*sa-F*qa);J=B*ha-N*la;ma=N*G-U*ha;E=U*la-B*G;I=F*ha-ja*la;u=ja*G-pa*ha;X=pa*la-F*G;if(j?(a[d+716>>0]|0)!=0:0){ta=M*I;ua=M*u;va=M*X;wa=W*J;xa=W*ma;ya=W*E}else{ta=I;ua=u;va=X;wa=J;xa=ma;ya=E}i=(c[ka>>2]|0)+(p<<2)|0;g[i>>2]=wa;g[i+4>>2]=xa;g[i+8>>2]=ya;i=c[$>>2]|0;g[i+(p<<2)>>2]=-ta;l=p+1|0;g[i+(l<<2)>>2]=-ua;ga=p+2|0;g[i+(ga<<2)>>2]=-va;va=B*ia-N*x;ua=N*r-U*ia;N=U*x-B*r;B=F*ia-ja*x;U=ja*r-pa*ia;ja=pa*x-F*r;if(j){za=M*B;Aa=M*U;Ba=M*ja;Ca=W*va;Da=W*ua;Ea=W*N}else{za=B;Aa=U;Ba=ja;Ca=va;Da=ua;Ea=N}j=(c[ka>>2]|0)+(f<<2)|0;g[j>>2]=Ca;g[j+4>>2]=Da;g[j+8>>2]=Ea;j=c[$>>2]|0;g[j+(f<<2)>>2]=-za;i=f|1;g[j+(i<<2)>>2]=-Aa;aa=f+2|0;g[j+(aa<<2)>>2]=-Ba;Q=d+748|0;Ba=+g[((c[Q>>2]&8|0)==0?e+4|0:d+756|0)>>2];Aa=Ba*+g[e>>2];if(!(a[d+736>>0]|0)){Y=e+8|0;ca=c[Y>>2]|0;g[ca>>2]=qa;g[ca+4>>2]=sa;g[ca+8>>2]=ra;ca=(c[Y>>2]|0)+(p<<2)|0;g[ca>>2]=G;g[ca+4>>2]=la;g[ca+8>>2]=ha;ca=(c[Y>>2]|0)+(f<<2)|0;g[ca>>2]=r;g[ca+4>>2]=x;g[ca+8>>2]=ia;ca=e+16|0;Y=c[ca>>2]|0;za=-qa;g[Y>>2]=za;g[Y+4>>2]=-sa;g[Y+8>>2]=-ra;Y=c[ca>>2]|0;Ea=-G;g[Y+(p<<2)>>2]=Ea;Da=-la;g[Y+(l<<2)>>2]=Da;Ca=-ha;g[Y+(ga<<2)>>2]=Ca;ga=c[ca>>2]|0;g[ga+(f<<2)>>2]=-r;g[ga+(i<<2)>>2]=-x;g[ga+(aa<<2)>>2]=-ia;aa=c[e+28>>2]|0;g[aa>>2]=Aa*(t*qa+D*sa+C*ra);g[aa+(p<<2)>>2]=Aa*(t*G+D*la+C*ha);g[aa+(f<<2)>>2]=Aa*(t*r+D*x+C*ia);Fa=za;Ga=Ea;Ha=Da;Ia=Ca;Ja=c[$>>2]|0;Ka=aa}else{Fa=-qa;Ga=-G;Ha=-la;Ia=-ha;Ja=j;Ka=c[e+28>>2]|0}j=p*3|0;aa=p<<2;p=c[ka>>2]|0;g[p+(j<<2)>>2]=qa;ka=j+1|0;g[p+(ka<<2)>>2]=sa;$=j+2|0;g[p+($<<2)>>2]=ra;g[p+(aa<<2)>>2]=G;f=aa|1;g[p+(f<<2)>>2]=la;ga=aa|2;g[p+(ga<<2)>>2]=ha;g[Ja+(j<<2)>>2]=Fa;g[Ja+(ka<<2)>>2]=-sa;g[Ja+($<<2)>>2]=-ra;g[Ja+(aa<<2)>>2]=Ga;g[Ja+(f<<2)>>2]=Ha;g[Ja+(ga<<2)>>2]=Ia;Ia=Ba*+g[e>>2];Ha=A*V-w*y;Ga=w*Z-H*V;V=H*y-A*Z;g[Ka+(j<<2)>>2]=Ia*(Ha*qa+Ga*sa+V*ra);g[Ka+(aa<<2)>>2]=Ia*(Ha*G+Ga*la+V*ha);if(!(a[d+716>>0]|0)){La=0;Ma=0.0}else{ha=+g[d+708>>2]*+g[d+732>>2];La=ha>0.0?1:2;Ma=ha}aa=a[d+737>>0]|0;j=(La|0)!=0;if(!(aa&255|La))return;ga=(c[o>>2]|0)*5|0;g[p+(ga<<2)>>2]=r;o=ga+1|0;g[p+(o<<2)>>2]=x;f=ga+2|0;g[p+(f<<2)>>2]=ia;g[Ja+(ga<<2)>>2]=-r;g[Ja+(o<<2)>>2]=-x;g[Ja+(f<<2)>>2]=-ia;ha=+g[d+688>>2];V=+g[d+692>>2];la=+Sr(ha-V);if(!(la<-3.1415927410125732))if(la>3.1415927410125732)Na=la+-6.2831854820251465;else Na=la;else Na=la+6.2831854820251465;la=+Sr(ha+V);if(!(la<-3.1415927410125732))if(la>3.1415927410125732)Oa=la+-6.2831854820251465;else Oa=la;else Oa=la+6.2831854820251465;f=Na==Oa;Ja=Ka+(ga<<2)|0;g[Ja>>2]=0.0;Ka=c[Q>>2]|0;if(!(Ka&2))Pa=Ba;else Pa=+g[d+764>>2];if(!(aa<<24>>24==0|j&f)){if(Ka&4|0)c[(c[e+32>>2]|0)+(ga<<2)>>2]=c[d+752>>2];Ba=+g[d+728>>2];la=+g[d+680>>2];V=Na>Oa?1.0:0.0;do if(!(Na>=Oa)){ha=la/(Pa*+g[e>>2]);if(ha<0.0)if(Ba>=Na&Na-ha>Ba){Qa=(Na-Ba)/ha;break}else{Qa=Ba<Na?0.0:1.0;break}if(ha>0.0)if(Ba<=Oa&Oa-ha<Ba){Qa=(Oa-Ba)/ha;break}else{Qa=Ba>Oa?0.0:1.0;break}else Qa=0.0}else Qa=V;while(0);g[Ja>>2]=Qa*la*+g[d+732>>2]+ +g[Ja>>2];aa=d+684|0;g[(c[e+36>>2]|0)+(ga<<2)>>2]=-+g[aa>>2];c[(c[e+40>>2]|0)+(ga<<2)>>2]=c[aa>>2]}if(!j)return;g[Ja>>2]=+g[Ja>>2]+Ma*(Pa*+g[e>>2]);if(Ka&1|0)c[(c[e+32>>2]|0)+(ga<<2)>>2]=c[d+760>>2];do if(!f){Ka=(c[e+36>>2]|0)+(ga<<2)|0;j=c[e+40>>2]|0;if((La|0)==1){g[Ka>>2]=0.0;g[j+(ga<<2)>>2]=3402823466385288598117041.0e14;break}else{g[Ka>>2]=-3402823466385288598117041.0e14;g[j+(ga<<2)>>2]=0.0;break}}else{g[(c[e+36>>2]|0)+(ga<<2)>>2]=-3402823466385288598117041.0e14;g[(c[e+40>>2]|0)+(ga<<2)>>2]=3402823466385288598117041.0e14}while(0);Pa=+g[d+704>>2];do if(Pa>0.0){Ma=+g[m>>2]*r+ +g[h+356>>2]*x+ +g[h+360>>2]*ia-(r*+g[n>>2]+x*+g[k+356>>2]+ia*+g[k+360>>2]);if((La|0)==1){if(!(Ma<0.0))break;la=-(Pa*Ma);if(!(+g[Ja>>2]<la))break;g[Ja>>2]=la;break}else{if(!(Ma>0.0))break;la=-(Pa*Ma);if(!(+g[Ja>>2]>la))break;g[Ja>>2]=la;break}}while(0);g[Ja>>2]=+g[d+700>>2]*+g[Ja>>2];return}function hg(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;switch(e|0){case 5:case -1:break;default:return}switch(b|0){case 2:{g[a+764>>2]=d;b=a+748|0;c[b>>2]=c[b>>2]|2;return}case 4:{g[a+760>>2]=d;b=a+748|0;c[b>>2]=c[b>>2]|1;return}case 3:{g[a+752>>2]=d;b=a+748|0;c[b>>2]=c[b>>2]|4;return}case 1:{g[a+756>>2]=d;b=a+748|0;c[b>>2]=c[b>>2]|8;return}default:return}}function ig(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;a:do switch(c|0){case 5:case -1:{switch(b|0){case 2:{d=+g[a+764>>2];break a;break}case 4:{d=+g[a+760>>2];break a;break}case 3:{d=+g[a+752>>2];break a;break}case 1:{d=+g[a+756>>2];break a;break}default:{d=0.0;break a}}break}default:d=0.0}while(0);return +d}function jg(a){a=a|0;return 220}function kg(a,e,f){a=a|0;e=e|0;f=f|0;var h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;Pg(a,e,f)|0;c[e+52>>2]=c[a+552>>2];c[e+56>>2]=c[a+556>>2];c[e+60>>2]=c[a+560>>2];c[e+64>>2]=c[a+564>>2];c[e+68>>2]=c[a+568>>2];c[e+72>>2]=c[a+572>>2];c[e+76>>2]=c[a+576>>2];c[e+80>>2]=c[a+580>>2];c[e+84>>2]=c[a+584>>2];c[e+88>>2]=c[a+588>>2];c[e+92>>2]=c[a+592>>2];c[e+96>>2]=c[a+596>>2];c[e+100>>2]=c[a+600>>2];c[e+104>>2]=c[a+604>>2];c[e+108>>2]=c[a+608>>2];c[e+112>>2]=c[a+612>>2];c[e+116>>2]=c[a+616>>2];c[e+120>>2]=c[a+620>>2];c[e+124>>2]=c[a+624>>2];c[e+128>>2]=c[a+628>>2];c[e+132>>2]=c[a+632>>2];c[e+136>>2]=c[a+636>>2];c[e+140>>2]=c[a+640>>2];c[e+144>>2]=c[a+644>>2];c[e+148>>2]=c[a+648>>2];c[e+152>>2]=c[a+652>>2];c[e+156>>2]=c[a+656>>2];c[e+160>>2]=c[a+660>>2];c[e+164>>2]=c[a+664>>2];c[e+168>>2]=c[a+668>>2];c[e+172>>2]=c[a+672>>2];c[e+176>>2]=c[a+676>>2];f=b[a+736>>1]|0;c[e+184>>2]=f&255;c[e+188>>2]=(f&65535)>>>8&65535;c[e+196>>2]=c[a+684>>2];c[e+192>>2]=c[a+680>>2];c[e+180>>2]=d[a+740>>0];h=+g[a+688>>2];i=+g[a+692>>2];j=+Sr(h-i);if(!(j<-3.1415927410125732))if(j>3.1415927410125732)k=j+-6.2831854820251465;else k=j;else k=j+6.2831854820251465;g[e+200>>2]=k;k=+Sr(h+i);if(k<-3.1415927410125732){l=k+6.2831854820251465;m=e+204|0;g[m>>2]=l;n=a+696|0;o=c[n>>2]|0;p=e+208|0;c[p>>2]=o;q=a+700|0;r=c[q>>2]|0;s=e+212|0;c[s>>2]=r;t=a+704|0;u=c[t>>2]|0;v=e+216|0;c[v>>2]=u;return 7430}if(!(k>3.1415927410125732)){l=k;m=e+204|0;g[m>>2]=l;n=a+696|0;o=c[n>>2]|0;p=e+208|0;c[p>>2]=o;q=a+700|0;r=c[q>>2]|0;s=e+212|0;c[s>>2]=r;t=a+704|0;u=c[t>>2]|0;v=e+216|0;c[v>>2]=u;return 7430}l=k+-6.2831854820251465;m=e+204|0;g[m>>2]=l;n=a+696|0;o=c[n>>2]|0;p=e+208|0;c[p>>2]=o;q=a+700|0;r=c[q>>2]|0;s=e+212|0;c[s>>2]=r;t=a+704|0;u=c[t>>2]|0;v=e+216|0;c[v>>2]=u;return 7430}function lg(a){a=a|0;c[a>>2]=2592;if(!a)return;c[4351]=(c[4351]|0)+1;Ur(c[a+-4>>2]|0);return}function mg(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,j=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,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0.0,qa=0.0,ra=0.0,sa=0.0,ta=0.0,ua=0.0,va=0.0,wa=0.0;b=i;i=i+144|0;d=b+128|0;e=b+80|0;f=b+32|0;h=b+16|0;j=b;g[a+36>>2]=0.0;l=a+28|0;m=e+4|0;n=e+8|0;o=e+12|0;p=e+16|0;q=e+20|0;r=e+24|0;s=e+28|0;t=e+32|0;u=e+36|0;v=e+40|0;w=e+44|0;x=a+32|0;y=f+4|0;z=f+8|0;A=f+12|0;B=f+16|0;C=f+20|0;D=f+24|0;E=f+28|0;F=f+32|0;G=f+36|0;H=f+40|0;I=f+44|0;J=a+300|0;K=a+304|0;L=a+308|0;M=h+4|0;N=h+8|0;O=h+12|0;P=a+316|0;Q=a+320|0;R=a+324|0;S=j+4|0;T=j+8|0;U=j+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;V=0;do{W=d+(V<<2)|0;g[W>>2]=1.0;X=c[l>>2]|0;Y=c[X+4>>2]|0;c[e>>2]=Y;Z=c[X+20>>2]|0;c[m>>2]=Z;_=c[X+36>>2]|0;c[n>>2]=_;g[o>>2]=0.0;$=c[X+8>>2]|0;c[p>>2]=$;aa=c[X+24>>2]|0;c[q>>2]=aa;ba=c[X+40>>2]|0;c[r>>2]=ba;g[s>>2]=0.0;ca=c[X+12>>2]|0;c[t>>2]=ca;da=c[X+28>>2]|0;c[u>>2]=da;ea=c[X+44>>2]|0;c[v>>2]=ea;g[w>>2]=0.0;fa=c[x>>2]|0;ga=c[fa+4>>2]|0;c[f>>2]=ga;ha=c[fa+20>>2]|0;c[y>>2]=ha;ia=c[fa+36>>2]|0;c[z>>2]=ia;g[A>>2]=0.0;ja=c[fa+8>>2]|0;c[B>>2]=ja;ka=c[fa+24>>2]|0;c[C>>2]=ka;la=c[fa+40>>2]|0;c[D>>2]=la;g[E>>2]=0.0;ma=c[fa+12>>2]|0;c[F>>2]=ma;na=c[fa+28>>2]|0;c[G>>2]=na;oa=c[fa+44>>2]|0;c[H>>2]=oa;g[I>>2]=0.0;pa=+g[J>>2];qa=pa*(c[k>>2]=Y,+g[k>>2]);ra=+g[K>>2];sa=qa+ra*(c[k>>2]=$,+g[k>>2]);qa=+g[L>>2];ta=sa+qa*(c[k>>2]=ca,+g[k>>2]);sa=pa*(c[k>>2]=Z,+g[k>>2]);ua=sa+ra*(c[k>>2]=aa,+g[k>>2]);sa=ua+qa*(c[k>>2]=da,+g[k>>2]);ua=pa*(c[k>>2]=_,+g[k>>2]);pa=ua+ra*(c[k>>2]=ba,+g[k>>2]);ra=+g[X+52>>2];ua=+g[X+56>>2];va=+g[X+60>>2];wa=pa+qa*(c[k>>2]=ea,+g[k>>2])+va-va;g[h>>2]=ta+ra-ra;g[M>>2]=sa+ua-ua;g[N>>2]=wa;g[O>>2]=0.0;wa=+g[P>>2];ua=wa*(c[k>>2]=ga,+g[k>>2]);sa=+g[Q>>2];ra=ua+sa*(c[k>>2]=ja,+g[k>>2]);ua=+g[R>>2];ta=ra+ua*(c[k>>2]=ma,+g[k>>2]);ra=wa*(c[k>>2]=ha,+g[k>>2]);va=ra+sa*(c[k>>2]=ka,+g[k>>2]);ra=va+ua*(c[k>>2]=na,+g[k>>2]);va=wa*(c[k>>2]=ia,+g[k>>2]);wa=va+sa*(c[k>>2]=la,+g[k>>2]);sa=+g[fa+52>>2];va=+g[fa+56>>2];qa=+g[fa+60>>2];pa=wa+ua*(c[k>>2]=oa,+g[k>>2])+qa-qa;g[j>>2]=ta+sa-sa;g[S>>2]=ra+va-va;g[T>>2]=pa;g[U>>2]=0.0;oa=c[l>>2]|0;fa=c[x>>2]|0;wf(a+48+(V*84|0)|0,e,f,h,j,d,oa+420|0,+g[oa+368>>2],fa+420|0,+g[fa+368>>2]);g[W>>2]=0.0;V=V+1|0}while((V|0)!=3);i=b;return}function ng(b,d){b=b|0;d=d|0;var e=0;e=(a[b+344>>0]|0)==0?3:0;c[d>>2]=e;c[d+4>>2]=e;return}function og(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0,z=0,A=0;d=c[a+28>>2]|0;e=c[a+32>>2]|0;f=c[b+8>>2]|0;g[f>>2]=1.0;h=b+24|0;i=c[h>>2]|0;j=i+1|0;g[f+(j<<2)>>2]=1.0;k=i<<1;l=k+2|0;g[f+(l<<2)>>2]=1.0;m=+g[a+300>>2];n=+g[a+304>>2];o=+g[a+308>>2];p=+g[d+4>>2]*m+ +g[d+8>>2]*n+ +g[d+12>>2]*o;q=m*+g[d+20>>2]+n*+g[d+24>>2]+o*+g[d+28>>2];r=m*+g[d+36>>2]+n*+g[d+40>>2]+o*+g[d+44>>2];f=c[b+12>>2]|0;s=f+(i<<2)|0;i=f+(k<<2)|0;c[f>>2]=0;g[f+4>>2]=r;g[f+8>>2]=-q;g[f+12>>2]=0.0;g[s>>2]=-r;c[s+4>>2]=0;g[s+8>>2]=p;g[s+12>>2]=0.0;g[i>>2]=q;g[i+4>>2]=-p;c[i+8>>2]=0;g[i+12>>2]=0.0;i=c[b+16>>2]|0;g[i>>2]=-1.0;g[i+(j<<2)>>2]=-1.0;g[i+(l<<2)>>2]=-1.0;o=+g[a+316>>2];n=+g[a+320>>2];m=+g[a+324>>2];t=+g[e+4>>2]*o+ +g[e+8>>2]*n+ +g[e+12>>2]*m;u=o*+g[e+20>>2]+n*+g[e+24>>2]+m*+g[e+28>>2];v=o*+g[e+36>>2]+n*+g[e+40>>2]+m*+g[e+44>>2];l=c[b+20>>2]|0;i=c[h>>2]|0;j=l+(i<<2)|0;s=l+(i<<1<<2)|0;c[l>>2]=0;g[l+4>>2]=-v;g[l+8>>2]=u;g[l+12>>2]=0.0;g[j>>2]=v;c[j+4>>2]=0;g[j+8>>2]=-t;g[j+12>>2]=0.0;g[s>>2]=-u;g[s+4>>2]=t;c[s+8>>2]=0;g[s+12>>2]=0.0;s=c[a+332>>2]|0;m=+g[((s&1|0)==0?b+4|0:a+336|0)>>2]*+g[b>>2];j=c[h>>2]|0;l=c[b+28>>2]|0;g[l>>2]=m*(t+ +g[e+52>>2]-p-+g[d+52>>2]);g[l+(j<<2)>>2]=m*(u+ +g[e+56>>2]-q-+g[d+56>>2]);g[l+(j<<1<<2)>>2]=m*(v+ +g[e+60>>2]-r-+g[d+60>>2]);if(s&2|0){s=a+340|0;d=c[h>>2]|0;e=c[b+32>>2]|0;c[e>>2]=c[s>>2];c[e+(d<<2)>>2]=c[s>>2];c[e+(d<<1<<2)>>2]=c[s>>2]}s=a+356|0;r=+g[s>>2];v=-r;d=b+36|0;e=b+40|0;if(r>0.0){g[c[d>>2]>>2]=v;g[c[e>>2]>>2]=r;w=+g[s>>2]}else w=r;if(w>0.0){j=c[h>>2]|0;g[(c[d>>2]|0)+(j<<2)>>2]=v;g[(c[e>>2]|0)+(j<<2)>>2]=r;x=+g[s>>2]}else x=w;if(!(x>0.0)){y=a+352|0;z=c[y>>2]|0;A=b+52|0;c[A>>2]=z;return}s=c[h>>2]<<1;g[(c[d>>2]|0)+(s<<2)>>2]=v;g[(c[e>>2]|0)+(s<<2)>>2]=r;y=a+352|0;z=c[y>>2]|0;A=b+52|0;c[A>>2]=z;return}function pg(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;if((e|0)!=-1)return;switch(b|0){case 2:case 1:{g[a+336>>2]=d;b=a+332|0;c[b>>2]=c[b>>2]|1;return}case 4:case 3:{g[a+340>>2]=d;b=a+332|0;c[b>>2]=c[b>>2]|2;return}default:return}}function qg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;a:do if((c|0)==-1)switch(b|0){case 2:case 1:{d=+g[a+336>>2];break a;break}case 4:case 3:{d=+g[a+340>>2];break a;break}default:{d=3402823466385288598117041.0e14;break a}}else d=3402823466385288598117041.0e14;while(0);return +d}function rg(a){a=a|0;return 84}function sg(a,b,d){a=a|0;b=b|0;d=d|0;Pg(a,b,d)|0;c[b+52>>2]=c[a+300>>2];c[b+56>>2]=c[a+304>>2];c[b+60>>2]=c[a+308>>2];c[b+64>>2]=c[a+312>>2];c[b+68>>2]=c[a+316>>2];c[b+72>>2]=c[a+320>>2];c[b+76>>2]=c[a+324>>2];c[b+80>>2]=c[a+328>>2];return 7483}function tg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;c[b>>2]=2864;d=b+168|0;e=b+176|0;f=c[e>>2]|0;g=b+180|0;if(f|0){if(a[g>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[f+-4>>2]|0)}c[e>>2]=0}a[g>>0]=1;c[e>>2]=0;c[d>>2]=0;c[b+172>>2]=0;d=b+148|0;e=b+156|0;g=c[e>>2]|0;f=b+160|0;if(g|0){if(a[f>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[g+-4>>2]|0)}c[e>>2]=0}a[f>>0]=1;c[e>>2]=0;c[d>>2]=0;c[b+152>>2]=0;d=b+128|0;e=b+136|0;f=c[e>>2]|0;g=b+140|0;if(f|0){if(a[g>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[f+-4>>2]|0)}c[e>>2]=0}a[g>>0]=1;c[e>>2]=0;c[d>>2]=0;c[b+132>>2]=0;d=b+108|0;e=b+116|0;g=c[e>>2]|0;f=b+120|0;if(g|0){if(a[f>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[g+-4>>2]|0)}c[e>>2]=0}a[f>>0]=1;c[e>>2]=0;c[d>>2]=0;c[b+112>>2]=0;d=b+88|0;e=b+96|0;f=c[e>>2]|0;g=b+100|0;if(f|0){if(a[g>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[f+-4>>2]|0)}c[e>>2]=0}a[g>>0]=1;c[e>>2]=0;c[d>>2]=0;c[b+92>>2]=0;d=b+68|0;e=b+76|0;g=c[e>>2]|0;f=b+80|0;if(g|0){if(a[f>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[g+-4>>2]|0)}c[e>>2]=0}a[f>>0]=1;c[e>>2]=0;c[d>>2]=0;c[b+72>>2]=0;d=b+48|0;e=b+56|0;f=c[e>>2]|0;g=b+60|0;if(f|0){if(a[g>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[f+-4>>2]|0)}c[e>>2]=0}a[g>>0]=1;c[e>>2]=0;c[d>>2]=0;c[b+52>>2]=0;d=b+28|0;e=b+36|0;g=c[e>>2]|0;f=b+40|0;if(g|0){if(a[f>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[g+-4>>2]|0)}c[e>>2]=0}a[f>>0]=1;c[e>>2]=0;c[d>>2]=0;c[b+32>>2]=0;d=b+8|0;e=b+16|0;f=c[e>>2]|0;g=b+20|0;if(!f){a[g>>0]=1;c[e>>2]=0;c[d>>2]=0;h=b+12|0;c[h>>2]=0;return}if(a[g>>0]|0){c[4351]=(c[4351]|0)+1;Ur(c[f+-4>>2]|0)}c[e>>2]=0;a[g>>0]=1;c[e>>2]=0;c[d>>2]=0;h=b+12|0;c[h>>2]=0;return}function ug(a){a=a|0;tg(a);if(!a)return;c[4351]=(c[4351]|0)+1;Ur(c[a+-4>>2]|0);return}function vg(a,b,c){a=a|0;b=b|0;c=c|0;return}function wg(a,b,d,e,f,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;+Vb[c[(c[a>>2]|0)+44>>2]&3](a,b,d,e,f,g,h,i,j);+Vb[c[(c[a>>2]|0)+48>>2]&3](a,b,d,e,f,g,h,i,j);+Zb[c[(c[a>>2]|0)+36>>2]&1](a,b,d,i);return 0.0}function xg(a,b,c){a=a|0;b=b|0;c=c|0;return}function yg(a){a=a|0;c[a+200>>2]=0;return}function zg(a){a=a|0;return 1}
  111. // EMSCRIPTEN_END_FUNCS
  112. var tb=[Dt,ti,el,ul,zl,Fl,sn,jp,_p,cq,fq,pq,Aq,Kq,Zq,ls,hs,ts,Dt,Dt,Dt,Dt,Dt,Dt,Dt,Dt,Dt,Dt,Dt,Dt,Dt,Dt];var ub=[Et,Ue,ph,qh,Ch,Dh,Eh,jf,mf,Zh,ai,Wj,Nl,gm,zm,Vm,en,Bn,qo,Et,Et,Et,Et,Et,Et,Et,Et,Et,Et,Et,Et,Et];var vb=[Ft,Qd,Be,Je,Ke,Me,Qe,Re,Ye,Ze,cf,df,Gj,Hj,Sg,lk,bh,kh,yh,Gh,nf,of,uf,vf,pf,qf,Kf,Lf,Xf,Zf,cg,dg,lg,mg,tg,ug,yg,Qg,Rg,rh,sh,vh,Hh,Ih,Og,Kh,Vh,Wh,ci,di,fi,hi,ii,Ki,ki,li,xi,Ci,Li,Mi,Ri,Si,_i,gj,hj,pj,zj,Aj,Ej,Fj,Ij,Kj,Lj,Oj,Pj,Sj,Tj,Zj,_j,vo,$j,bk,dk,gk,qk,sk,uk,yk,Dk,Ek,Jk,Kk,Mk,Ok,Qk,Sk,Uk,Wk,Yk,_k,al,cl,dl,hl,il,Ak,ll,nl,ol,sl,tl,xl,yl,Dl,El,co,Gl,cm,dm,lm,mm,rm,tm,rn,Gm,Om,Pm,_m,ln,vn,In,Nn,On,Vn,Wn,wo,_n,ao,eo,mo,xo,yo,Ko,Lo,So,Vo,cp,Xo,Zo,dp,fp,gp,ip,np,pp,Fp,Op,Pp,Yp,Zp,bq,dq,eq,hq,nq,oq,qq,vq,zq,wq,xq,Cq,Fq,Gq,Iq,Jq,Lq,Pq,Tq,Xq,Yq,ar,br,hr,ir,$r,js,bs,cs,as,ns,os,qs,Gr,Zr,Ft,Ft,Ft,Ft,Ft,Ft,Ft,Ft,Ft,Ft,Ft,Ft,Ft,Ft,Ft,Ft,Ft,Ft,Ft,Ft,Ft,Ft,Ft,Ft,Ft,Ft,Ft,Ft,Ft,Ft,Ft,Ft,Ft,Ft,Ft,Ft,Ft,Ft,Ft,Ft,Ft,Ft,Ft,Ft,Ft,Ft,Ft,Ft,Ft,Ft,Ft,Ft,Ft,Ft,Ft,Ft,Ft,Ft,Ft,Ft,Ft];var wb=[Gt];var xb=[Ht,Pe,Te,$e,ef,Ug,Vg,Yg,Zg,_g,$g,ah,ch,eh,fh,lh,mh,nh,oh,zh,Fh,hf,yf,zf,Pf,Qf,_f,fg,gg,ng,og,Lh,Ph,Yh,Ei,Ji,ni,zi,Di,aj,ej,fj,kj,lj,xj,Dj,kk,mk,Xj,ek,gl,ql,wl,Bl,Il,Ml,Nm,em,pm,qm,wm,ym,Rm,Zm,cn,nn,xn,An,Qn,Sp,Tp,on,Bo,Co,Eo,Fo,No,aq,lq,iq,uq,sq,Eq,Wq,$q,Ht,Ht,Ht,Ht,Ht,Ht,Ht,Ht,Ht,Ht,Ht,Ht,Ht,Ht,Ht,Ht,Ht,Ht,Ht,Ht,Ht,Ht,Ht,Ht,Ht,Ht,Ht,Ht,Ht,Ht,Ht,Ht,Ht,Ht,Ht,Ht,Ht,Ht,Ht,Ht,Ht,Ht,Ht];var yb=[It,hp];var zb=[Jt,Od,Pd,ff,gh,hh,gf,Ff,tf,Vf,$f,jg,rg,zg,Nh,Gi,Hi,Ui,Vi,Wi,Yi,dj,rj,tj,uj,vj,Bj,Fk,Gk,Ik,Jl,Ll,Pl,Ul,Wl,Xl,_l,Oo,fm,im,Hm,Am,Em,Sm,Um,Xm,mn,fn,zn,Cn,Jn,Rn,Tn,Lm,Xn,po,Do,Go,Jo,Qo,sp,vp,xp,yp,Bp,fr,Er,ps,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt];var Ab=[Kt,Df,Tf,hg,pg,Kt,Kt,Kt];var Bb=[Lt];var Cb=[Mt];var Db=[Nt,ei,Pi,ij,Lk,Nk,Pk,Rk,Tk,Vk,Xk,Zk,$k,bl,Qp,Yn,Hq,Nt,Nt,Nt,Nt,Nt,Nt,Nt,Nt,Nt,Nt,Nt,Nt,Nt,Nt,Nt];var Eb=[Ot,Kl,Po,xm,Tm,dn,yn,Sn,fo,oo,rp,Ot,Ot,Ot,Ot,Ot];var Fb=[Pt];var Gb=[Qt,fl,vl,Al,$p,kq,tq,Bq,Vq,_q,Qt,Qt,Qt,Qt,Qt,Qt];var Hb=[Rt,Gf,Pg,Wf,ag,kg,sg,Oh,Ni,cj,jj,mj,nj,Cj,Hk,Ql,jm,Bm,Ym,gn,Dn,Mm,Rp,mr,cr,dr,Fr,Hr,ds,Rt,Rt,Rt];var Ib=[St,Jh,wi,ks,fs,rs,St,St];var Jb=[Tt,am,Dp,Tt];var Kb=[Ut,Jm,Ol,hm,Wm,Hn,Mn,ro];var Lb=[Vt,Yo,ep,Gp];var Mb=[Wt,rk,tk,Wt];var Nb=[Xt,Ee,Fe,Xt];var Ob=[Yt,lf];var Pb=[Zt,Gg];var Qb=[_t,zo,Ao,_t];var Rb=[$t,Ce,Ne,ih,jh,th,wh,Mh,pi,qi,Ti,$i,sj,wj,qj,Uj,hk,vk,zk,io,$t,$t,$t,$t,$t,$t,$t,$t,$t,$t,$t,$t];var Sb=[au,De,Oe,Ef,Uf,ig,qg,uh,xh,gi,ik,wk,Kg,Lg,au,au];var Tb=[bu,wg,Jg,bu];var Ub=[cu,rf];var Vb=[du,Mg,Ng,du];var Wb=[eu,Km];var Xb=[fu];var Yb=[gu,ak,ck,gu];var Zb=[hu,Ig];var _b=[iu,ji];var $b=[ju,Af,sf,ml,ap,Oq,Sq,Uq];var ac=[ku,Xg,Hf,bg,vg,xg,si,Ii,mi,yi,Qi,Xi,Zi,bj,Yj,jl,Bk,Ck,pl,Im,Rl,Sl,Vl,Zl,bm,Uo,om,nm,sm,um,pn,Cm,Fm,hn,jn,En,Fn,Kn,go,so,to,Ho,Io,_o,$o,tp,wp,Ap,rq,Mq,Nq,Qq,Rq,yj,un,tn,ku,ku,ku,ku,ku,ku,ku,ku];var bc=[lu,mu,Xr,Yr];var cc=[nu,Le,Se,_e,Xh,oi,nu,nu];var dc=[ou,Wg,kf,ou];var ec=[pu,Xe,Jj,Rj,Tg,dh,Ag,bi,vi,Bi,oj,jk,Mj,Nj,Qj,mp,op,kl,Hl,Tl,qn,Yl,$l,Mo,km,vm,Dm,Qm,bn,kn,wn,Gn,Ln,Pn,Un,$n,bo,ho,no,uo,lr,Ro,To,Wo,qp,up,zp,Cp,Ep,yq,Dq,ms,is,vs,pu,pu,pu,pu,pu,pu,pu,pu,pu,pu];return{_du_set_trans_quat:Sc,_du_create_capsule_shape:Nc,_du_alloc_body_id_pointer:xc,_du_calc_sim_time:cd,_du_free:wc,_bitshift64Lshr:Fs,_du_boat_set_water_wrapper_ind:Id,_du_create_boat:ud,_du_get_ray_hit_body:Rd,_du_character_set_water_wrapper_ind:Hd,_du_get_shape_name:Pc,_du_add_collision_result:xe,_du_get_body_id_by_pointer:yc,_bitshift64Ashr:Es,_memcpy:Gs,_du_floater_set_water:Dd,_du_create_vehicle_tuning:sd,_du_delete_body:ad,_du_set_collision_id:Yc,_du_character_jump:te,_du_cons_param_stop_cfm:od,_du_character_rotation_inc:se,___cxa_can_catch:xs,_du_create_static_mesh_body:Dc,_du_activate:Zd,_du_remove_collision_result:ye,_free:Ur,_du_set_damping:we,_du_apply_torque:be,_du_create_sphere_shape:Mc,_du_create_dynamic_bounding_body:_c,___cxa_is_pointer_type:ys,_du_set_linear_velocity:$d,_du_compound_append_child:Jc,_du_cons_param_stop_erp:pd,_du_remove_action:Yd,_du_create_float_pointer:zc,_du_create_ray_test_results:Ld,_du_get_body_speed:je,_du_get_trans_quat:Uc,_du_create_ghost_mesh_body:Fc,_du_update_vehicle_controls:ce,_du_check_collision_impulse:Kd,_du_get_boat_speed:ie,_du_alloc_body_array:uc,_du_set_hinge_limit:ld,_du_create_vec3:Ac,_du_set_character_walk_velocity:me,_du_set_gravity:ve,_du_create_floater:vd,_du_set_character_run_velocity:ne,_du_boat_add_bob:Bd,_du_create_compound:Ic,_du_alloc_float_array:tc,_llvm_bswap_i32:Is,_du_set_water_time:yd,_du_set_constraint_param:nd,_du_vehicle_add_wheel:Ad,_du_set_character_move_type:le,_du_update_boat_controls:de,_du_create_ghost_bounding_body:$c,_du_set_character_move_direction:ke,_du_get_collision_id:Zc,_du_single_step_simulation:dd,_du_remove_body:Wd,_du_append_body:Vd,_du_get_ray_hit_fraction:Sd,_du_floating_body_add_bob:Cd,_du_cleanup_ray_test_results:Md,_du_floater_set_water_wrapper_ind:Gd,_du_get_interp_data:Vc,_du_create_box_shape:Gc,_du_set_character_rotation:pe,_memset:Bs,_du_pre_simulation:bd,_du_get_margin:Xc,_du_add_water_wrapper:xd,_du_get_trans:Tc,_du_set_character_hor_rotation:qe,_du_set_character_fly_velocity:oe,_du_check_collisions:Jd,_du_get_floater_bob_trans_quat:ge,_du_alloc_int_array:sc,_du_create_generic_6dof_spring_constraint:gd,_i64Subtract:As,_du_create_world:oc,_du_get_boat_bob_trans_quat:fe,_du_create_point2point_constraint:id,_du_create_array6:Cc,_du_set_quat:Rc,_du_create_quat:Bc,_du_set_character_vert_rotation:re,_du_get_collision_result:ze,_du_remove_constraint:rd,_du_create_cone_twist_constraint:jd,_du_get_vehicle_speed:he,_malloc:Tr,_du_create_water:wd,_du_create_empty_shape:Oc,_du_create_generic_6dof_constraint:fd,_du_append_action:Xd,_du_store_body:vc,_du_create_vehicle:td,_du_post_simulation:ed,_du_get_vehicle_wheel_trans_quat:ee,_du_get_ray_hit_position:Td,_du_get_ray_hit_normal:Ud,_du_set_trans:Qc,_du_get_character_trans_quat:ue,_bitshift64Shl:Cs,_du_create_mesh_shape:Ec,_du_cleanup_world:qc,_du_boat_set_water:Fd,_du_create_cylinder_shape:Kc,_i64Add:Ds,_du_set_margin:Wc,_du_apply_central_force:ae,_du_append_constraint:qd,_du_character_set_water:Ed,_memmove:Hs,_du_set_cone_twist_limit:md,_du_create_hinge_constraint:hd,_du_disable_deactivation:_d,_du_check_ray_hit:Nd,_du_set_generic_6dof_limit:kd,_du_create_character:zd,_du_create_cone_shape:Lc,__GLOBAL__sub_I_btConeTwistConstraint_cpp:If,runPostSets:zs,stackAlloc:fc,stackSave:gc,stackRestore:hc,establishStackSpace:ic,setThrew:jc,setTempRet0:mc,getTempRet0:nc,dynCall_viiiii:Rs,dynCall_vid:Ss,dynCall_vi:Ts,dynCall_viiidii:Us,dynCall_vii:Vs,dynCall_iiiiiiiiiii:Ws,dynCall_ii:Xs,dynCall_viidi:Ys,dynCall_viddiii:Zs,dynCall_vidii:_s,dynCall_iiiii:$s,dynCall_vidi:at,dynCall_viiiiddddiid:bt,dynCall_diiiii:ct,dynCall_iiii:dt,dynCall_viiiiii:et,dynCall_iiid:ft,dynCall_di:gt,dynCall_iiiiiii:ht,dynCall_diiidii:it,dynCall_viidii:jt,dynCall_didii:kt,dynCall_viiiiiiiii:lt,dynCall_viiiiiiiiii:mt,dynCall_iii:nt,dynCall_diii:ot,dynCall_diiiiiiiiii:pt,dynCall_viiiid:qt,dynCall_diiiiiiiii:rt,dynCall_did:st,dynCall_viiiidddddidi:tt,dynCall_diidii:ut,dynCall_diiii:vt,dynCall_iiiiiiiiii:wt,dynCall_viiid:xt,dynCall_viii:yt,dynCall_v:zt,dynCall_viid:At,dynCall_iidid:Bt,dynCall_viiii:Ct}})
  113. // EMSCRIPTEN_END_ASM
  114. (b.jc,b.kc,K),Od=b._du_set_trans_quat=e._du_set_trans_quat,Mc=b._du_create_capsule_shape=e._du_create_capsule_shape;b._du_alloc_body_id_pointer=e._du_alloc_body_id_pointer;var Oc=b._du_free=e._du_free,Oe=b._bitshift64Lshr=e._bitshift64Lshr,zb=b._du_boat_set_water_wrapper_ind=e._du_boat_set_water_wrapper_ind,$c=b._du_create_boat=
  115. e._du_create_boat,te=b._du_get_ray_hit_body=e._du_get_ray_hit_body,Db=b._du_character_set_water_wrapper_ind=e._du_character_set_water_wrapper_ind,ye=b._du_get_shape_name=e._du_get_shape_name,ud=b._du_add_collision_result=e._du_add_collision_result;b._du_get_body_id_by_pointer=e._du_get_body_id_by_pointer;var Ne=b._bitshift64Ashr=e._bitshift64Ashr,Nc=b._du_create_empty_shape=e._du_create_empty_shape,Pe=b._memcpy=e._memcpy,Ab=b._du_floater_set_water=e._du_floater_set_water,Yc=b._du_create_vehicle_tuning=
  116. e._du_create_vehicle_tuning,Pc=b._du_delete_body=e._du_delete_body,Ya=b._du_set_collision_id=e._du_set_collision_id,ld=b._du_character_jump=e._du_character_jump,Uc=b._du_cons_param_stop_cfm=e._du_cons_param_stop_cfm,sd=b._du_character_rotation_inc=e._du_character_rotation_inc;b.___cxa_can_catch=e.___cxa_can_catch;var Bc=b._du_create_static_mesh_body=e._du_create_static_mesh_body,$a=b._du_set_cone_twist_limit=e._du_set_cone_twist_limit,J=b._du_activate=e._du_activate,wd=b._du_remove_collision_result=
  117. e._du_remove_collision_result,lb=b._free=e._free;b.runPostSets=e.runPostSets;var $d=b._du_set_damping=e._du_set_damping,he=b._du_apply_torque=e._du_apply_torque,Lc=b._du_create_sphere_shape=e._du_create_sphere_shape,Gc=b._du_create_dynamic_bounding_body=e._du_create_dynamic_bounding_body,Qd=b._du_set_linear_velocity=e._du_set_linear_velocity,Ec=b._du_compound_append_child=e._du_compound_append_child,Vc=b._du_cons_param_stop_erp=e._du_cons_param_stop_erp,Lb=b._du_calc_sim_time=e._du_calc_sim_time,
  118. be=b._du_create_float_pointer=e._du_create_float_pointer,Ad=b._du_create_ray_test_results=e._du_create_ray_test_results;b._du_get_body_speed=e._du_get_body_speed;b._du_get_trans_quat=e._du_get_trans_quat;var Cc=b._du_create_ghost_mesh_body=e._du_create_ghost_mesh_body;b.___cxa_is_pointer_type=e.___cxa_is_pointer_type;var ke=b._du_check_collision_impulse=e._du_check_collision_impulse,oe=b._du_get_boat_speed=e._du_get_boat_speed;b._du_alloc_body_array=e._du_alloc_body_array;var Tc=b._du_set_hinge_limit=
  119. e._du_set_hinge_limit,E=b._du_create_vec3=e._du_create_vec3,hd=b._du_set_character_walk_velocity=e._du_set_character_walk_velocity,Yd=b._du_set_gravity=e._du_set_gravity,ad=b._du_create_floater=e._du_create_floater,id=b._du_set_character_run_velocity=e._du_set_character_run_velocity,cd=b._du_boat_add_bob=e._du_boat_add_bob,Dc=b._du_create_compound=e._du_create_compound,sb=b._du_alloc_float_array=e._du_alloc_float_array,Se=b._llvm_bswap_i32=e._llvm_bswap_i32,Id=b._du_set_water_time=e._du_set_water_time,
  120. xb=b._du_set_constraint_param=e._du_set_constraint_param,bd=b._du_vehicle_add_wheel=e._du_vehicle_add_wheel,gd=b._du_set_character_move_type=e._du_set_character_move_type,Wd=b._du_update_boat_controls=e._du_update_boat_controls,Fc=b._du_create_ghost_bounding_body=e._du_create_ghost_bounding_body,Ge=b.__GLOBAL__sub_I_btConeTwistConstraint_cpp=e.__GLOBAL__sub_I_btConeTwistConstraint_cpp,fd=b._du_set_character_move_direction=e._du_set_character_move_direction;b._du_get_collision_id=e._du_get_collision_id;
  121. var Nb=b._du_single_step_simulation=e._du_single_step_simulation,Ld=b._du_remove_body=e._du_remove_body,rb=b._du_append_body=e._du_append_body,ue=b._du_get_ray_hit_fraction=e._du_get_ray_hit_fraction,Kd=b._du_remove_action=e._du_remove_action;b._du_cleanup_ray_test_results=e._du_cleanup_ray_test_results;var Bb=b._du_floater_set_water_wrapper_ind=e._du_floater_set_water_wrapper_ind,je=b._du_get_interp_data=e._du_get_interp_data,Ic=b._du_create_box_shape=e._du_create_box_shape,md=b._du_set_character_rotation=
  122. e._du_set_character_rotation,Je=b._memset=e._memset,Kb=b._du_pre_simulation=e._du_pre_simulation;b._du_get_margin=e._du_get_margin;var Gd=b._du_add_water_wrapper=e._du_add_water_wrapper;b._du_store_body=e._du_store_body;var qd=b._du_set_character_hor_rotation=e._du_set_character_hor_rotation,jd=b._du_set_character_fly_velocity=e._du_set_character_fly_velocity,qe=b._du_check_collisions=e._du_check_collisions,tb=b._du_alloc_int_array=e._du_alloc_int_array,Wc=b._du_append_constraint=e._du_append_constraint,
  123. Ie=b._i64Subtract=e._i64Subtract,fe=b._du_create_world=e._du_create_world,ne=b._du_get_boat_bob_trans_quat=e._du_get_boat_bob_trans_quat,Rc=b._du_create_point2point_constraint=e._du_create_point2point_constraint,Ja=b._du_create_array6=e._du_create_array6;b._du_set_quat=e._du_set_quat;var U=b._du_create_quat=e._du_create_quat,od=b._du_set_character_vert_rotation=e._du_set_character_vert_rotation,re=b._du_get_collision_result=e._du_get_collision_result,Xc=b._du_remove_constraint=e._du_remove_constraint,
  124. Sc=b._du_create_cone_twist_constraint=e._du_create_cone_twist_constraint,me=b._du_get_vehicle_speed=e._du_get_vehicle_speed,S=b._malloc=e._malloc,Ed=b._du_create_water=e._du_create_water,dd=b._du_floating_body_add_bob=e._du_floating_body_add_bob,vb=b._du_create_generic_6dof_constraint=e._du_create_generic_6dof_constraint,ua=b._du_append_action=e._du_append_action;b._du_get_trans=e._du_get_trans;var Zc=b._du_create_vehicle=e._du_create_vehicle,Pb=b._du_post_simulation=e._du_post_simulation,le=b._du_get_vehicle_wheel_trans_quat=
  125. e._du_get_vehicle_wheel_trans_quat,pe=b._du_get_floater_bob_trans_quat=e._du_get_floater_bob_trans_quat,we=b._du_get_ray_hit_normal=e._du_get_ray_hit_normal,ve=b._du_get_ray_hit_position=e._du_get_ray_hit_position,ie=b._du_get_character_trans_quat=e._du_get_character_trans_quat,Ke=b._bitshift64Shl=e._bitshift64Shl,qb=b._du_create_mesh_shape=e._du_create_mesh_shape,ee=b._du_cleanup_world=e._du_cleanup_world,Nd=b._du_set_trans=e._du_set_trans,yb=b._du_boat_set_water=e._du_boat_set_water,Jc=b._du_create_cylinder_shape=
  126. e._du_create_cylinder_shape,Le=b._i64Add=e._i64Add,Ia=b._du_set_margin=e._du_set_margin,ge=b._du_apply_central_force=e._du_apply_central_force,Qc=b._du_create_generic_6dof_spring_constraint=e._du_create_generic_6dof_spring_constraint,Cb=b._du_character_set_water=e._du_character_set_water,Qe=b._memmove=e._memmove,Ud=b._du_update_vehicle_controls=e._du_update_vehicle_controls;b._du_create_hinge_constraint=e._du_create_hinge_constraint;var Hc=b._du_disable_deactivation=e._du_disable_deactivation,se=
  127. b._du_check_ray_hit=e._du_check_ray_hit,wb=b._du_set_generic_6dof_limit=e._du_set_generic_6dof_limit,ed=b._du_create_character=e._du_create_character,Kc=b._du_create_cone_shape=e._du_create_cone_shape;b.dynCall_viiiii=e.dynCall_viiiii;b.dynCall_vid=e.dynCall_vid;b.dynCall_vi=e.dynCall_vi;b.dynCall_viiidii=e.dynCall_viiidii;b.dynCall_vii=e.dynCall_vii;b.dynCall_iiiiiiiiiii=e.dynCall_iiiiiiiiiii;b.dynCall_ii=e.dynCall_ii;b.dynCall_viidi=e.dynCall_viidi;b.dynCall_viddiii=e.dynCall_viddiii;b.dynCall_vidii=
  128. e.dynCall_vidii;b.dynCall_iiiii=e.dynCall_iiiii;b.dynCall_vidi=e.dynCall_vidi;b.dynCall_viiiiddddiid=e.dynCall_viiiiddddiid;b.dynCall_diiiii=e.dynCall_diiiii;b.dynCall_iiii=e.dynCall_iiii;b.dynCall_viiiiii=e.dynCall_viiiiii;b.dynCall_iiid=e.dynCall_iiid;b.dynCall_di=e.dynCall_di;b.dynCall_iiiiiii=e.dynCall_iiiiiii;b.dynCall_diiidii=e.dynCall_diiidii;b.dynCall_viidii=e.dynCall_viidii;b.dynCall_didii=e.dynCall_didii;b.dynCall_viiiiiiiii=e.dynCall_viiiiiiiii;b.dynCall_viiiiiiiiii=e.dynCall_viiiiiiiiii;
  129. b.dynCall_iii=e.dynCall_iii;b.dynCall_diii=e.dynCall_diii;b.dynCall_diiiiiiiiii=e.dynCall_diiiiiiiiii;b.dynCall_viiiid=e.dynCall_viiiid;b.dynCall_diiiiiiiii=e.dynCall_diiiiiiiii;b.dynCall_did=e.dynCall_did;b.dynCall_viiiidddddidi=e.dynCall_viiiidddddidi;b.dynCall_diidii=e.dynCall_diidii;b.dynCall_diiii=e.dynCall_diiii;b.dynCall_iiiiiiiiii=e.dynCall_iiiiiiiiii;b.dynCall_viiid=e.dynCall_viiid;b.dynCall_viii=e.dynCall_viii;b.dynCall_v=e.dynCall_v;b.dynCall_viid=e.dynCall_viid;b.dynCall_iidid=e.dynCall_iidid;
  130. b.dynCall_viiii=e.dynCall_viiii;n.oa=e.stackAlloc;n.Da=e.stackSave;n.pa=e.stackRestore;n.Tc=e.establishStackSpace;n.Hc=e.setTempRet0;n.Cc=e.getTempRet0;if(R)if("function"===typeof b.locateFile?R=b.locateFile(R):b.memoryInitializerPrefixURL&&(R=b.memoryInitializerPrefixURL+R),ra||Da){var Ue=b.readBinary(R);H.set(Ue,n.Ga)}else{var wc=function(){b.readAsync(R,vc,function(){throw"could not load memory initializer "+R;})};fc();var vc=function(a){a.byteLength&&(a=new Uint8Array(a));H.set(a,n.Ga);b.memoryInitializerRequest&&
  131. delete b.memoryInitializerRequest.response;gc()};if(b.memoryInitializerRequest){var xc=function(){var a=b.memoryInitializerRequest;200!==a.status&&0!==a.status?(console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+a.status+", retrying "+R),wc()):vc(a.response)};b.memoryInitializerRequest.response?setTimeout(xc,0):b.memoryInitializerRequest.addEventListener("load",xc)}else wc()}qa.prototype=Error();qa.prototype.constructor=qa;var Ee,kc=null,ya=function d(){b.calledRun||
  132. nb();b.calledRun||(ya=d)};b.callMain=b.Qc=function(d){function c(){for(var b=0;3>b;b++)f.push(0)}d=d||[];Ca||(Ca=!0,oa(Ta));var e=d.length+1,f=[xa(Qa(b.thisProgram),"i8",0)];c();for(var g=0;g<e-1;g+=1)f.push(xa(Qa(d[g]),"i8",0)),c();f.push(0);f=xa(f,"i32",0);try{var k=b._main(e,f,0);lc(k,!0)}catch(l){if(!(l instanceof qa))if("SimulateInfiniteLoop"==l)b.noExitRuntime=!0;else throw l&&"object"===typeof l&&l.stack&&b.Ba("exception thrown: "+[l,l.stack]),l;}finally{}};b.run=b.run=nb;b.exit=b.exit=lc;
  133. var mc=[];b.abort=b.abort=L;if(b.preInit)for("function"==typeof b.preInit&&(b.preInit=[b.preInit]);0<b.preInit.length;)b.preInit.pop()();var jc=!0;b.noInitialRun&&(jc=!1);b.noExitRuntime=!0;nb()};"function"===typeof importScripts&&b4w.require("__bindings");