// This is ammo.js, a port of Bullet Physics to JavaScript. zlib licensed. var Ammo = function(Ammo) { Ammo = Ammo || {}; var c;c||(c=typeof Ammo !== 'undefined' ? Ammo : {});var aa={},ba;for(ba in c)c.hasOwnProperty(ba)&&(aa[ba]=c[ba]);c.arguments=[];c.thisProgram="./this.program";c.quit=function(a,b){throw b;};c.preRun=[];c.postRun=[];var ca=!1,da=!1,ea=!1,fa=!1; if(c.ENVIRONMENT)if("WEB"===c.ENVIRONMENT)ca=!0;else if("WORKER"===c.ENVIRONMENT)da=!0;else if("NODE"===c.ENVIRONMENT)ea=!0;else if("SHELL"===c.ENVIRONMENT)fa=!0;else throw Error("Module['ENVIRONMENT'] value is not valid. must be one of: WEB|WORKER|NODE|SHELL.");else ca="object"===typeof window,da="function"===typeof importScripts,ea="object"===typeof process&&"function"===typeof require&&!ca&&!da,fa=!ca&&!ea&&!da; if(ea){var ha,ia;c.read=function(a,b){var e=ja(a);e||(ha||(ha=require("fs")),ia||(ia=require("path")),a=ia.normalize(a),e=ha.readFileSync(a));return b?e:e.toString()};c.readBinary=function(a){a=c.read(a,!0);a.buffer||(a=new Uint8Array(a));assert(a.buffer);return a};1>2]=a;a=cb.buffer;for(var g=0;g>2],b.m=a,(db(f[g]),a)|0;a=xa[a>>2];return(db(e),a)|0}var fb=0;function gb(){fb+=4;return xa[fb-4>>2]}var hb={}; function ib(a,b){fb=b;try{var e=gb(),f=gb(),g=gb();a=0;ib.g||(ib.g=[null,[],[]],ib.l=function(a,b){var e=ib.g[a];assert(e);if(0===b||10===b){a=1===a?c.print:c.printErr;a:{for(var f=b=0;e[f];)++f;if(16g?f+=String.fromCharCode(g):(g-=65536,f+=String.fromCharCode(55296|g>>10,56320|g&1023))}}else f+=String.fromCharCode(g)}}a(b);e.length=0}else e.push(b)});for(b=0;b>2],k=xa[f+(8*b+4)>>2],m=0;m>2]=0;for(ob=nb+mb;kb>0]=0}else jb.subarray||jb.slice?va.set(jb,nb):va.set(new Uint8Array(jb),nb);var pb={},qb=1;function rb(a,b){rb.h||(rb.h={});a in rb.h||(c.dynCall_v(b),rb.h[a]=1)}Ea=ma(4);Aa=Ba=pa(oa);Ca=Aa+Ha;Da=pa(Ca);xa[Ea>>2]=Da;na=!0;var sb=!1; function la(a){for(var b=[],e=0;e>4; g=(g&15)<<4|h>>2;var m=(h&3)<<6|k;b+=String.fromCharCode(f);64!==h&&(b+=String.fromCharCode(g));64!==k&&(b+=String.fromCharCode(m))}while(e>2]=a);return a},___syscall140:function(a,b){fb=b;try{var e= hb.A();gb();var f=gb(),g=gb(),h=gb();FS.D(e,f,h);xa[g>>2]=e.position;e.B&&0===f&&0===h&&(e.B=null);return 0}catch(k){return"undefined"!==typeof FS&&k instanceof FS.i||sa(k),-k.j}},___syscall146:ib,___syscall6:function(a,b){fb=b;try{var e=hb.A();FS.close(e);return 0}catch(f){return"undefined"!==typeof FS&&f instanceof FS.i||sa(f),-f.j}},_abort:function(){c.abort()},_emscripten_asm_const_diiiiiiii:function(a,b,e,f,g,h,k,m,u){return Wa[a](b,e,f,g,h,k,m,u)},_emscripten_memcpy_big:function(a,b,e){va.set(va.subarray(b, b+e),a);return a},_gettimeofday:function(a){var b=Date.now();xa[a>>2]=b/1E3|0;xa[a+4>>2]=b%1E3*1E3|0;return 0},_llvm_pow_f32:Qa,_llvm_trap:function(){sa("trap!")},_pthread_getspecific:function(a){return pb[a]||0},_pthread_key_create:function(a){if(0==a)return 22;xa[a>>2]=qb;pb[qb]=0;qb++;return 0},_pthread_once:rb,_pthread_setspecific:function(a,b){if(!(a in pb))return 22;pb[a]=b;return 0},flush_NO_FILESYSTEM:function(){var a=c._fflush;a&&a(0);if(a=ib.l){var b=ib.g;b[1].length&&a(1,10);b[2].length&& a(2,10)}},DYNAMICTOP_PTR:Ea,tempDoublePtr:Ya,ABORT:ra,STACKTOP:Ba,STACK_MAX:Ca,cttz_i8:nb};// EMSCRIPTEN_START_ASM var d=(/** @suppress {uselessCode} */ function(global,env,buffer) { "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.DYNAMICTOP_PTR|0;var j=env.tempDoublePtr|0;var k=env.ABORT|0;var l=env.STACKTOP|0;var m=env.STACK_MAX|0;var n=env.cttz_i8|0;var o=0;var p=0;var q=0;var r=0;var s=global.NaN,t=global.Infinity;var u=0,v=0,w=0,x=0,y=0.0;var z=0;var A=global.Math.floor;var B=global.Math.abs;var C=global.Math.sqrt;var D=global.Math.pow;var E=global.Math.cos;var F=global.Math.sin;var G=global.Math.tan;var H=global.Math.acos;var I=global.Math.asin;var J=global.Math.atan;var K=global.Math.atan2;var L=global.Math.exp;var M=global.Math.log;var N=global.Math.ceil;var O=global.Math.imul;var P=global.Math.min;var Q=global.Math.max;var R=global.Math.clz32;var S=env.abort;var T=env.assert;var U=env.enlargeMemory;var V=env.getTotalMemory;var W=env.abortOnCannotGrowMemory;var X=env.invoke_di;var Y=env.invoke_did;var Z=env.invoke_diidii;var _=env.invoke_diii;var $=env.invoke_diiidii;var aa=env.invoke_diiii;var ba=env.invoke_diiiii;var ca=env.invoke_diiiiiiii;var da=env.invoke_diiiiiiiii;var ea=env.invoke_diiiiiiiiii;var fa=env.invoke_ii;var ga=env.invoke_iidid;var ha=env.invoke_iii;var ia=env.invoke_iiid;var ja=env.invoke_iiii;var ka=env.invoke_iiiii;var la=env.invoke_iiiiiii;var ma=env.invoke_iiiiiiiiii;var na=env.invoke_iiiiiiiiiii;var oa=env.invoke_v;var pa=env.invoke_vi;var qa=env.invoke_vid;var ra=env.invoke_vidd;var sa=env.invoke_viddiii;var ta=env.invoke_vidi;var ua=env.invoke_vidii;var va=env.invoke_vii;var wa=env.invoke_viid;var xa=env.invoke_viidi;var ya=env.invoke_viidii;var za=env.invoke_viii;var Aa=env.invoke_viiid;var Ba=env.invoke_viiidii;var Ca=env.invoke_viiii;var Da=env.invoke_viiiid;var Ea=env.invoke_viiiidddddidi;var Fa=env.invoke_viiiiddddiid;var Ga=env.invoke_viiiii;var Ha=env.invoke_viiiiid;var Ia=env.invoke_viiiiii;var Ja=env.invoke_viiiiiii;var Ka=env.invoke_viiiiiiiii;var La=env.invoke_viiiiiiiiii;var Ma=env.__ZSt18uncaught_exceptionv;var Na=env.___cxa_begin_catch;var Oa=env.___cxa_find_matching_catch;var Pa=env.___cxa_pure_virtual;var Qa=env.___gxx_personality_v0;var Ra=env.___resumeException;var Sa=env.___setErrNo;var Ta=env.___syscall140;var Ua=env.___syscall146;var Va=env.___syscall6;var Wa=env._abort;var Xa=env._emscripten_asm_const_diiiiiiii;var Ya=env._emscripten_memcpy_big;var Za=env._gettimeofday;var _a=env._llvm_pow_f32;var $a=env._llvm_trap;var ab=env._pthread_getspecific;var bb=env._pthread_key_create;var cb=env._pthread_once;var db=env._pthread_setspecific;var eb=env.flush_NO_FILESYSTEM;var fb=0.0; // EMSCRIPTEN_START_FUNCS function sf(a,e,f){a=a|0;e=e|0;f=f|0;Zh(a,e,f)|0;c[e+52>>2]=c[a+48>>2];c[e+56>>2]=c[a+52>>2];c[e+60>>2]=c[a+56>>2];c[e+64>>2]=c[a+60>>2];c[e+68>>2]=c[a+64>>2];c[e+72>>2]=c[a+68>>2];c[e+76>>2]=c[a+72>>2];c[e+80>>2]=c[a+76>>2];c[e+84>>2]=c[a+80>>2];c[e+88>>2]=c[a+84>>2];c[e+92>>2]=c[a+88>>2];c[e+96>>2]=c[a+92>>2];c[e+100>>2]=c[a+96>>2];c[e+104>>2]=c[a+100>>2];c[e+108>>2]=c[a+104>>2];c[e+112>>2]=c[a+108>>2];c[e+116>>2]=c[a+112>>2];c[e+120>>2]=c[a+116>>2];c[e+124>>2]=c[a+120>>2];c[e+128>>2]=c[a+124>>2];c[e+132>>2]=c[a+128>>2];c[e+136>>2]=c[a+132>>2];c[e+140>>2]=c[a+136>>2];c[e+144>>2]=c[a+140>>2];c[e+148>>2]=c[a+144>>2];c[e+152>>2]=c[a+148>>2];c[e+156>>2]=c[a+152>>2];c[e+160>>2]=c[a+156>>2];c[e+164>>2]=c[a+160>>2];c[e+168>>2]=c[a+164>>2];c[e+172>>2]=c[a+168>>2];c[e+176>>2]=c[a+172>>2];c[e+228>>2]=c[a+868>>2];c[e+212>>2]=c[a+872>>2];c[e+196>>2]=c[a+680>>2];c[e+180>>2]=c[a+696>>2];c[e+232>>2]=c[a+932>>2];c[e+216>>2]=c[a+936>>2];c[e+200>>2]=c[a+684>>2];c[e+184>>2]=c[a+700>>2];c[e+236>>2]=c[a+996>>2];c[e+220>>2]=c[a+1e3>>2];c[e+204>>2]=c[a+688>>2];c[e+188>>2]=c[a+704>>2];f=b[a+1300>>1]|0;c[e+244>>2]=f&255;c[e+248>>2]=(f&65535)>>>8&65535;c[e+276>>2]=c[a+1316>>2];c[e+324>>2]=c[a+1364>>2];c[e+252>>2]=d[a+1309>>0];c[e+300>>2]=c[a+1340>>2];c[e+280>>2]=c[a+1320>>2];c[e+328>>2]=c[a+1368>>2];c[e+256>>2]=d[a+1310>>0];c[e+304>>2]=c[a+1344>>2];c[e+284>>2]=c[a+1324>>2];c[e+332>>2]=c[a+1372>>2];c[e+260>>2]=d[a+1311>>0];c[e+308>>2]=c[a+1348>>2];c[e+288>>2]=c[a+1328>>2];c[e+336>>2]=c[a+1376>>2];c[e+264>>2]=d[a+1312>>0];c[e+312>>2]=c[a+1352>>2];c[e+292>>2]=c[a+1332>>2];c[e+340>>2]=c[a+1380>>2];c[e+268>>2]=d[a+1313>>0];c[e+316>>2]=c[a+1356>>2];c[e+296>>2]=c[a+1336>>2];c[e+344>>2]=c[a+1384>>2];c[e+272>>2]=d[a+1314>>0];c[e+320>>2]=c[a+1360>>2];return 12711}function tf(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;i=c[b+4>>2]|0;if((i|0)==(c[b+8>>2]|0)?(h=i|0?i<<1:1,(i|0)<(h|0)):0){if(!h){f=i;g=0}else{c[6472]=(c[6472]|0)+1;e=ic((h*244|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[b+4>>2]|0;g=e}if((f|0)>0){e=0;do{k=g+(e*244|0)|0;j=c[b+12>>2]|0;l=j+(e*244|0)|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];k=g+(e*244|0)+16|0;l=j+(e*244|0)+16|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];k=g+(e*244|0)+32|0;l=j+(e*244|0)+32|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];k=g+(e*244|0)+48|0;l=j+(e*244|0)+48|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];_h(g+(e*244|0)+64|0,j+(e*244|0)+64|0,180)|0;e=e+1|0}while((e|0)!=(f|0))}e=c[b+12>>2]|0;if(e|0){if(a[b+16>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[e+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=g;c[b+8>>2]=h;e=c[b+4>>2]|0}else e=i;c[b+4>>2]=e+1;l=c[b+12>>2]|0;c[l+(i*244|0)>>2]=c[d>>2];c[l+(i*244|0)+4>>2]=c[d+4>>2];c[l+(i*244|0)+8>>2]=c[d+8>>2];c[l+(i*244|0)+12>>2]=c[d+12>>2];c[l+(i*244|0)+16>>2]=c[d+16>>2];c[l+(i*244|0)+16+4>>2]=c[d+16+4>>2];c[l+(i*244|0)+16+8>>2]=c[d+16+8>>2];c[l+(i*244|0)+16+12>>2]=c[d+16+12>>2];c[l+(i*244|0)+32>>2]=c[d+32>>2];c[l+(i*244|0)+32+4>>2]=c[d+32+4>>2];c[l+(i*244|0)+32+8>>2]=c[d+32+8>>2];c[l+(i*244|0)+32+12>>2]=c[d+32+12>>2];c[l+(i*244|0)+48>>2]=c[d+48>>2];c[l+(i*244|0)+48+4>>2]=c[d+48+4>>2];c[l+(i*244|0)+48+8>>2]=c[d+48+8>>2];c[l+(i*244|0)+48+12>>2]=c[d+48+12>>2];_h(l+(i*244|0)+64|0,d+64|0,180)|0;return (c[b+12>>2]|0)+(i*244|0)|0}function uf(a,e,f){a=a|0;e=e|0;f=f|0;var h=0.0,i=0.0,j=0.0,k=0;Zh(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];i=+g[a+688>>2];j=+g[a+692>>2];h=+bh(i-j,6.2831854820251465);if(!(h<-3.1415927410125732)){if(h>3.1415927410125732)h=h+-6.2831854820251465}else h=h+6.2831854820251465;g[e+200>>2]=h;h=+bh(i+j,6.2831854820251465);if(h<-3.1415927410125732){j=h+6.2831854820251465;f=e+204|0;g[f>>2]=j;f=a+696|0;f=c[f>>2]|0;k=e+208|0;c[k>>2]=f;k=a+700|0;k=c[k>>2]|0;f=e+212|0;c[f>>2]=k;f=a+704|0;f=c[f>>2]|0;a=e+216|0;c[a>>2]=f;return 12957}if(!(h>3.1415927410125732)){j=h;k=e+204|0;g[k>>2]=j;k=a+696|0;k=c[k>>2]|0;f=e+208|0;c[f>>2]=k;f=a+700|0;f=c[f>>2]|0;k=e+212|0;c[k>>2]=f;a=a+704|0;a=c[a>>2]|0;k=e+216|0;c[k>>2]=a;return 12957}j=h+-6.2831854820251465;k=e+204|0;g[k>>2]=j;k=a+696|0;k=c[k>>2]|0;f=e+208|0;c[f>>2]=k;f=a+700|0;f=c[f>>2]|0;k=e+212|0;c[k>>2]=f;a=a+704|0;a=c[a>>2]|0;k=e+216|0;c[k>>2]=a;return 12957}function vf(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,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;k=l;l=l+64|0;n=+g[a+20>>2];u=+g[a+40>>2];p=+g[a+24>>2];s=+g[a+36>>2];t=+g[a+32>>2];m=+g[a+16>>2];j=+g[a>>2];i=+g[a+4>>2];q=+g[a+8>>2];h=1.0/((n*u-p*s)*j+i*(p*t-u*m)+(s*m-n*t)*q);z=+g[b>>2];y=+g[b+4>>2];A=+g[b+8>>2];x=+g[b+16>>2];w=+g[b+20>>2];v=+g[b+24>>2];r=+g[b+32>>2];o=+g[b+36>>2];f=+g[b+40>>2];g[k+16>>2]=A*(s*m-n*t)*h+(z*(n*u-p*s)*h+y*(p*t-u*m)*h);g[k+16+4>>2]=A*(t*i-s*j)*h+(z*(s*q-u*i)*h+y*(u*j-t*q)*h);g[k+16+8>>2]=A*(n*j-m*i)*h+(z*(p*i-n*q)*h+y*(m*q-p*j)*h);g[k+16+12>>2]=0.0;g[k+16+16>>2]=(n*u-p*s)*h*x+(p*t-u*m)*h*w+(s*m-n*t)*h*v;g[k+16+20>>2]=(s*q-u*i)*h*x+(u*j-t*q)*h*w+(t*i-s*j)*h*v;g[k+16+24>>2]=(p*i-n*q)*h*x+(m*q-p*j)*h*w+(n*j-m*i)*h*v;g[k+16+28>>2]=0.0;g[k+16+32>>2]=(n*u-p*s)*h*r+(p*t-u*m)*h*o+(s*m-n*t)*h*f;g[k+16+36>>2]=(s*q-u*i)*h*r+(u*j-t*q)*h*o+(t*i-s*j)*h*f;g[k+16+40>>2]=(p*i-n*q)*h*r+(m*q-p*j)*h*o+(n*j-m*i)*h*f;g[k+16+44>>2]=0.0;lh(k+16|0,k);f=+g[k>>2];h=+g[k+4>>2];i=+g[k+8>>2];m=+g[k+12>>2];j=1.0/+C(+(f*f+h*h+i*i+m*m));g[k>>2]=f*j;g[k+4>>2]=h*j;g[k+8>>2]=i*j;g[k+12>>2]=m*j;m=m*j<-1.0?-1.0:m*j;g[e>>2]=+H(+(m>1.0?1.0:m))*2.0;g[d>>2]=f*j;g[d+4>>2]=h*j;g[d+8>>2]=i*j;g[d+12>>2]=0.0;if(f*j*f*j+h*j*h*j+i*j*i*j<1.4210854715202004e-14){c[d>>2]=1065353216;c[d+4>>2]=0;c[d+8>>2]=0;g[d+12>>2]=0.0;l=k;return}else{A=1.0/+C(+(f*j*f*j+h*j*h*j+i*j*i*j));g[d>>2]=f*j*A;g[d+4>>2]=A*h*j;g[d+8>>2]=A*i*j;l=k;return}}function wf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=c[b+12>>2]|0;k=c[b+36>>2]|0;if((k|0)>=(j|0))return;do if((c[b+40>>2]|0)<(j|0)){if(!j){g=k;d=0}else{c[6472]=(c[6472]|0)+1;d=ic((j<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}g=c[b+36>>2]|0}e=c[b+44>>2]|0;if((g|0)<=0){if(!e){a[b+48>>0]=1;c[b+44>>2]=d;c[b+40>>2]=j;i=b+44|0;break}}else{f=0;do{c[d+(f<<2)>>2]=c[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(g|0))}if(a[b+48>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[e+-4>>2]|0)}a[b+48>>0]=1;c[b+44>>2]=d;c[b+40>>2]=j;i=b+44|0}else{d=c[b+44>>2]|0;i=b+44|0}while(0);Nk(d+(k<<2)|0,0,(j<<2)-(k<<2)|0)|0;c[b+36>>2]=j;h=c[b+56>>2]|0;if((h|0)<(j|0)){do if((c[b+60>>2]|0)<(j|0)){if(!j){g=h;d=0}else{c[6472]=(c[6472]|0)+1;d=ic((j<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}g=c[b+56>>2]|0}e=c[b+64>>2]|0;if((g|0)<=0){if(!e){a[b+68>>0]=1;c[b+64>>2]=d;c[b+60>>2]=j;break}}else{f=0;do{c[d+(f<<2)>>2]=c[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(g|0))}if(a[b+68>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[e+-4>>2]|0)}a[b+68>>0]=1;c[b+64>>2]=d;c[b+60>>2]=j}else d=c[b+64>>2]|0;while(0);Nk(d+(h<<2)|0,0,(j<<2)-(h<<2)|0)|0}c[b+56>>2]=j;if((j|0)>0){Nk(c[i>>2]|0,-1,j<<2|0)|0;Nk(c[b+64>>2]|0,-1,j<<2|0)|0}if((k|0)<=0)return;g=c[b+16>>2]|0;d=c[i>>2]|0;e=c[b+64>>2]|0;f=0;do{j=c[(c[g+(f<<4)+4>>2]|0)+12>>2]<<16|c[(c[g+(f<<4)>>2]|0)+12>>2];j=(j+~(j<<15)>>10^j+~(j<<15))*9|0;j=d+((((j>>6^j)+~((j>>6^j)<<11)>>16^(j>>6^j)+~((j>>6^j)<<11))&(c[b+12>>2]|0)+-1)<<2)|0;c[e+(f<<2)>>2]=c[j>>2];c[j>>2]=f;f=f+1|0}while((f|0)!=(k|0));return}function xf(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;if((c[b+8>>2]|0)>=(d|0))return;if((d|0)!=0?(c[6472]=(c[6472]|0)+1,e=ic((d*36|3)+16|0)|0,(e|0)!=0):0){c[(e+4+15&-16)+-4>>2]=e;o=e+4+15&-16}else o=0;i=c[b+4>>2]|0;if((i|0)>0){m=0;do{j=o+(m*36|0)|0;k=c[b+12>>2]|0;a[j+16>>0]=1;c[j+12>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;l=c[k+(m*36|0)+4>>2]|0;if((l|0)>0){c[6472]=(c[6472]|0)+1;e=ic((l<<2|3)+16|0)|0;if(!e)h=0;else{c[(e+4+15&-16)+-4>>2]=e;h=e+4+15&-16}f=c[j+4>>2]|0;g=c[j+12>>2]|0;if((f|0)<=0)if(!g){a[j+16>>0]=1;c[j+12>>2]=h;c[j+8>>2]=l;Nk(h|0,0,l<<2|0)|0}else n=14;else{e=0;do{c[h+(e<<2)>>2]=c[g+(e<<2)>>2];e=e+1|0}while((e|0)!=(f|0));n=14}if((n|0)==14){n=0;if(a[j+16>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[g+-4>>2]|0)}a[j+16>>0]=1;c[j+12>>2]=h;c[j+8>>2]=l;Nk(h|0,0,l<<2|0)|0}e=c[j+12>>2]|0;c[j+4>>2]=l;f=c[k+(m*36|0)+12>>2]|0;g=0;do{c[e+(g<<2)>>2]=c[f+(g<<2)>>2];g=g+1|0}while((g|0)!=(l|0))}else c[j+4>>2]=l;l=k+(m*36|0)+20|0;c[j+20>>2]=c[l>>2];c[j+20+4>>2]=c[l+4>>2];c[j+20+8>>2]=c[l+8>>2];c[j+20+12>>2]=c[l+12>>2];m=m+1|0}while((m|0)!=(i|0));e=c[b+4>>2]|0;if((e|0)>0){i=0;do{g=c[b+12>>2]|0;k=g+(i*36|0)+4|0;j=g+(i*36|0)+12|0;h=c[j>>2]|0;f=g+(i*36|0)+16|0;if(h|0){if(a[f>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[h+-4>>2]|0)}c[j>>2]=0}a[f>>0]=1;c[j>>2]=0;c[k>>2]=0;c[g+(i*36|0)+8>>2]=0;i=i+1|0}while((i|0)!=(e|0))}}e=c[b+12>>2]|0;if(e|0){if(a[b+16>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[e+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=o;c[b+8>>2]=d;return}function yf(a,b,d){a=a|0;b=+b;d=+d;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.0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0,y=0,z=0.0;v=c[a+832>>2]|0;if((v|0)<=0)return;a=c[a+840>>2]|0;o=0;do{l=c[a+(o*56|0)>>2]|0;m=c[a+(o*56|0)+4>>2]|0;y=c[m+8>>2]|0;x=c[m+12>>2]|0;w=c[m+16>>2]|0;p=a+(o*56|0)+8|0;j=+g[p>>2];q=a+(o*56|0)+12|0;i=+g[q>>2];r=a+(o*56|0)+16|0;t=+g[r>>2];b=+g[y+8>>2]*j+ +g[x+8>>2]*i+ +g[w+8>>2]*t;e=+g[y+12>>2]*j+ +g[x+12>>2]*i+ +g[w+12>>2]*t;d=+g[y+16>>2]*j+ +g[x+16>>2]*i+ +g[w+16>>2]*t;n=+g[l+8>>2];f=+g[l+12>>2];h=+g[l+16>>2];s=n-+g[l+24>>2]-(b-(j*+g[y+24>>2]+i*+g[x+24>>2]+t*+g[w+24>>2]));u=f-+g[l+28>>2]-(e-(j*+g[y+28>>2]+i*+g[x+28>>2]+t*+g[w+28>>2]));t=h-+g[l+32>>2]-(d-(j*+g[y+32>>2]+i*+g[x+32>>2]+t*+g[w+32>>2]));i=+g[a+(o*56|0)+24>>2];j=+g[a+(o*56|0)+28>>2];k=+g[a+(o*56|0)+32>>2];if(s*i+u*j+t*k<0.0){e=+g[a+(o*56|0)+40>>2]-(n*i+f*j+h*k-(b*i+e*j+d*k));b=i*e+0.0;d=j*e+0.0;e=k*e+0.0}else{b=0.0;d=0.0;e=0.0}z=+g[a+(o*56|0)+44>>2];b=b-z*(s-i*(s*i+u*j+t*k));d=d-z*(u-j*(s*i+u*j+t*k));t=e-z*(t-k*(s*i+u*j+t*k));u=+g[a+(o*56|0)+48>>2];g[l+8>>2]=n+u*b;g[l+12>>2]=f+u*d;g[l+16>>2]=u*t+h;y=c[m+8>>2]|0;x=a+(o*56|0)+52|0;u=+g[x>>2]*+g[p>>2];g[y+8>>2]=+g[y+8>>2]-b*u;g[y+12>>2]=+g[y+12>>2]-d*u;g[y+16>>2]=+g[y+16>>2]-t*u;y=c[m+12>>2]|0;u=+g[x>>2]*+g[q>>2];g[y+8>>2]=+g[y+8>>2]-b*u;g[y+12>>2]=+g[y+12>>2]-d*u;g[y+16>>2]=+g[y+16>>2]-t*u;y=c[m+16>>2]|0;u=+g[x>>2]*+g[r>>2];g[y+8>>2]=+g[y+8>>2]-b*u;g[y+12>>2]=+g[y+12>>2]-d*u;g[y+16>>2]=+g[y+16>>2]-t*u;o=o+1|0}while((o|0)!=(v|0));return}function zf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=c[b+12>>2]|0;k=c[b+32>>2]|0;if((k|0)>=(j|0))return;do if((c[b+36>>2]|0)<(j|0)){if(!j){g=k;d=0}else{c[6472]=(c[6472]|0)+1;d=ic((j<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}g=c[b+32>>2]|0}e=c[b+40>>2]|0;if((g|0)<=0){if(!e){a[b+44>>0]=1;c[b+40>>2]=d;c[b+36>>2]=j;i=b+40|0;break}}else{f=0;do{c[d+(f<<2)>>2]=c[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(g|0))}if(a[b+44>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[e+-4>>2]|0)}a[b+44>>0]=1;c[b+40>>2]=d;c[b+36>>2]=j;i=b+40|0}else{d=c[b+40>>2]|0;i=b+40|0}while(0);Nk(d+(k<<2)|0,0,(j<<2)-(k<<2)|0)|0;c[b+32>>2]=j;h=c[b+52>>2]|0;if((h|0)<(j|0)){do if((c[b+56>>2]|0)<(j|0)){if(!j){g=h;d=0}else{c[6472]=(c[6472]|0)+1;d=ic((j<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}g=c[b+52>>2]|0}e=c[b+60>>2]|0;if((g|0)<=0){if(!e){a[b+64>>0]=1;c[b+60>>2]=d;c[b+56>>2]=j;break}}else{f=0;do{c[d+(f<<2)>>2]=c[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(g|0))}if(a[b+64>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[e+-4>>2]|0)}a[b+64>>0]=1;c[b+60>>2]=d;c[b+56>>2]=j}else d=c[b+60>>2]|0;while(0);Nk(d+(h<<2)|0,0,(j<<2)-(h<<2)|0)|0}c[b+52>>2]=j;if((j|0)>0){Nk(c[i>>2]|0,-1,j<<2|0)|0;Nk(c[b+60>>2]|0,-1,j<<2|0)|0}if((k|0)<=0)return;g=c[b+16>>2]|0;d=c[i>>2]|0;e=c[b+60>>2]|0;f=0;do{j=c[g+(f*12|0)+4>>2]<<16|c[g+(f*12|0)>>2];j=(j+~(j<<15)>>10^j+~(j<<15))*9|0;j=d+((((j>>6^j)+~((j>>6^j)<<11)>>16^(j>>6^j)+~((j>>6^j)<<11))&(c[b+12>>2]|0)+-1)<<2)|0;c[e+(f<<2)>>2]=c[j>>2];c[j>>2]=f;f=f+1|0}while((f|0)!=(k|0));return}function Af(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=sb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;g=sb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=g;if(g|0)Gb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+20>>2]=c[a+72>>2];e=c[a+16>>2]|0;c[b+16>>2]=e;c[b+12>>2]=0;if(!e)return 16564;g=ub[c[(c[d>>2]|0)+16>>2]&63](d,76,e)|0;e=c[g+8>>2]|0;c[b+12>>2]=sb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;if((c[b+16>>2]|0)>0){f=0;while(1){h=c[a+24>>2]|0;c[e+72>>2]=c[h+(f*80|0)+72>>2];c[e+64>>2]=sb[c[(c[d>>2]|0)+28>>2]&31](d,c[h+(f*80|0)+64>>2]|0)|0;if(!(sb[c[(c[d>>2]|0)+24>>2]&31](d,c[(c[a+24>>2]|0)+(f*80|0)+64>>2]|0)|0)){h=c[(c[d>>2]|0)+16>>2]|0;i=c[(c[a+24>>2]|0)+(f*80|0)+64>>2]|0;i=qb[c[(c[i>>2]|0)+52>>2]&127](i)|0;i=ub[h&63](d,i,1)|0;h=c[(c[a+24>>2]|0)+(f*80|0)+64>>2]|0;h=ub[c[(c[h>>2]|0)+56>>2]&63](h,c[i+8>>2]|0,d)|0;Rb[c[(c[d>>2]|0)+20>>2]&31](d,i,h,1346455635,c[(c[a+24>>2]|0)+(f*80|0)+64>>2]|0)}i=c[a+24>>2]|0;c[e+68>>2]=c[i+(f*80|0)+68>>2];c[e>>2]=c[i+(f*80|0)>>2];c[e+4>>2]=c[i+(f*80|0)+4>>2];c[e+8>>2]=c[i+(f*80|0)+8>>2];c[e+12>>2]=c[i+(f*80|0)+12>>2];c[e+16>>2]=c[i+(f*80|0)+16>>2];c[e+20>>2]=c[i+(f*80|0)+20>>2];c[e+24>>2]=c[i+(f*80|0)+24>>2];c[e+28>>2]=c[i+(f*80|0)+28>>2];c[e+32>>2]=c[i+(f*80|0)+32>>2];c[e+36>>2]=c[i+(f*80|0)+36>>2];c[e+40>>2]=c[i+(f*80|0)+40>>2];c[e+44>>2]=c[i+(f*80|0)+44>>2];c[e+48>>2]=c[i+(f*80|0)+48>>2];c[e+52>>2]=c[i+(f*80|0)+52>>2];c[e+56>>2]=c[i+(f*80|0)+56>>2];c[e+60>>2]=c[i+(f*80|0)+60>>2];f=f+1|0;if((f|0)>=(c[b+16>>2]|0)){e=d;break}else e=e+76|0}}else e=d;Rb[c[(c[e>>2]|0)+20>>2]&31](d,g,16539,1497453121,c[g+8>>2]|0);return 16564}function Bf(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.0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0;f=l;l=l+256|0;c[f+32>>2]=5884;k=f+32+36|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];m=f+32+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[f+32+212>>2]=a;c[f+32+216>>2]=e;c[f+32+68>>2]=1065353216;c[f+32+72>>2]=0;c[f+32+72+4>>2]=0;c[f+32+72+8>>2]=0;c[f+32+72+12>>2]=0;c[f+32+88>>2]=1065353216;c[f+32+92>>2]=0;c[f+32+92+4>>2]=0;c[f+32+92+8>>2]=0;c[f+32+92+12>>2]=0;c[f+32+108>>2]=1065353216;c[f+32+112>>2]=0;c[f+32+116>>2]=c[k>>2];c[f+32+116+4>>2]=c[k+4>>2];c[f+32+116+8>>2]=c[k+8>>2];c[f+32+116+12>>2]=c[k+12>>2];c[f+32+132>>2]=1065353216;c[f+32+136>>2]=0;c[f+32+136+4>>2]=0;c[f+32+136+8>>2]=0;c[f+32+136+12>>2]=0;c[f+32+152>>2]=1065353216;c[f+32+156>>2]=0;c[f+32+156+4>>2]=0;c[f+32+156+8>>2]=0;c[f+32+156+12>>2]=0;c[f+32+172>>2]=1065353216;c[f+32+176>>2]=0;c[f+32+180>>2]=c[d>>2];c[f+32+180+4>>2]=c[d+4>>2];c[f+32+180+8>>2]=c[d+8>>2];c[f+32+180+12>>2]=c[d+12>>2];n=+g[d>>2]-+g[b>>2];j=+g[d+4>>2]-+g[b+4>>2];i=+g[d+8>>2]-+g[b+8>>2];h=1.0/+C(+(n*n+j*j+i*i));q=n*h==0.0?999999984306749440.0:1.0/(n*h);g[f+32+4>>2]=q;p=j*h==0.0?999999984306749440.0:1.0/(j*h);g[f+32+8>>2]=p;o=i*h==0.0?999999984306749440.0:1.0/(i*h);g[f+32+12>>2]=o;c[f+32+20>>2]=q<0.0&1;c[f+32+24>>2]=p<0.0&1;c[f+32+28>>2]=o<0.0&1;g[f+32+32>>2]=n*h*(+g[m>>2]-+g[k>>2])+j*h*(+g[f+32+56>>2]-+g[f+32+40>>2])+i*h*(+g[f+32+60>>2]-+g[f+32+44>>2]);a=c[a+68>>2]|0;e=c[(c[a>>2]|0)+24>>2]|0;c[f+16>>2]=0;c[f+16+4>>2]=0;c[f+16+8>>2]=0;c[f+16+12>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;Tb[e&7](a,b,d,f+32|0,f+16|0,f);l=f;return}function Cf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0;h=l;l=l+128|0;if(!b){l=h;return}if(c[b+40>>2]|0){Cf(a,c[b+36>>2]|0,d+1|0,e,f);Cf(a,c[b+40>>2]|0,d+1|0,e,f)}if((d|0)<0){l=h;return}m=+g[b>>2];r=+g[b+16>>2];j=+g[b+4>>2];q=+g[b+20>>2];i=+g[b+8>>2];p=+g[b+24>>2];k=(m+r)*.5-(r-m)*.5;n=(j+q)*.5-(q-j)*.5;o=(i+p)*.5-(p-i)*.5;m=(m+r)*.5+(r-m)*.5;j=(j+q)*.5+(q-j)*.5;i=(i+p)*.5+(p-i)*.5;b=(c[b+40>>2]|0)==0?f:e;g[h>>2]=k;g[h+4>>2]=n;g[h+8>>2]=o;g[h+12>>2]=0.0;g[h+16>>2]=m;g[h+20>>2]=n;g[h+24>>2]=o;g[h+28>>2]=0.0;g[h+32>>2]=m;g[h+36>>2]=j;g[h+40>>2]=o;g[h+44>>2]=0.0;g[h+48>>2]=k;g[h+52>>2]=j;g[h+56>>2]=o;g[h+60>>2]=0.0;g[h+64>>2]=k;g[h+68>>2]=n;g[h+72>>2]=i;g[h+76>>2]=0.0;g[h+80>>2]=m;g[h+84>>2]=n;g[h+88>>2]=i;g[h+92>>2]=0.0;g[h+96>>2]=m;g[h+100>>2]=j;g[h+104>>2]=i;g[h+108>>2]=0.0;g[h+112>>2]=k;g[h+116>>2]=j;g[h+120>>2]=i;g[h+124>>2]=0.0;Nb[c[(c[a>>2]|0)+8>>2]&127](a,h,h+16|0,b);Nb[c[(c[a>>2]|0)+8>>2]&127](a,h+16|0,h+32|0,b);Nb[c[(c[a>>2]|0)+8>>2]&127](a,h+32|0,h+48|0,b);Nb[c[(c[a>>2]|0)+8>>2]&127](a,h+48|0,h,b);Nb[c[(c[a>>2]|0)+8>>2]&127](a,h+64|0,h+80|0,b);Nb[c[(c[a>>2]|0)+8>>2]&127](a,h+80|0,h+96|0,b);Nb[c[(c[a>>2]|0)+8>>2]&127](a,h+96|0,h+112|0,b);Nb[c[(c[a>>2]|0)+8>>2]&127](a,h+112|0,h+64|0,b);Nb[c[(c[a>>2]|0)+8>>2]&127](a,h,h+64|0,b);Nb[c[(c[a>>2]|0)+8>>2]&127](a,h+16|0,h+80|0,b);Nb[c[(c[a>>2]|0)+8>>2]&127](a,h+32|0,h+96|0,b);Nb[c[(c[a>>2]|0)+8>>2]&127](a,h+48|0,h+112|0,b);l=h;return}function Df(a,b,c,d,e,f,h,i){a=a|0;b=+b;c=+c;d=+d;e=e|0;f=+f;h=+h;i=+i;var 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;z=+g[e>>2];y=+g[e+16>>2];x=+g[e+32>>2];w=+g[e+4>>2];v=+g[e+20>>2];u=+g[e+36>>2];t=+g[e+8>>2];s=+g[e+24>>2];r=+g[e+40>>2];j=d-((z*0.0+y*-i+x*h)*0.0+(w*0.0+v*-i+u*h)*i+(t*0.0+s*-i+r*h)*-h)+c;o=0.0-((z*0.0+y*-i+x*h)*-i+(w*0.0+v*-i+u*h)*0.0+(t*0.0+s*-i+r*h)*f)+0.0;l=0.0-((z*0.0+y*-i+x*h)*h+(w*0.0+v*-i+u*h)*-f+(t*0.0+s*-i+r*h)*0.0)+0.0;m=0.0-((z*i+y*0.0+x*-f)*0.0+(w*i+v*0.0+u*-f)*i+(t*i+s*0.0+r*-f)*-h)+0.0;n=d-((z*i+y*0.0+x*-f)*-i+(w*i+v*0.0+u*-f)*0.0+(t*i+s*0.0+r*-f)*f)+c;k=0.0-((z*i+y*0.0+x*-f)*h+(w*i+v*0.0+u*-f)*-f+(t*i+s*0.0+r*-f)*0.0)+0.0;p=0.0-((z*-h+y*f+x*0.0)*0.0+(w*-h+v*f+u*0.0)*i+(t*-h+s*f+r*0.0)*-h)+0.0;q=0.0-((z*-h+y*f+x*0.0)*-i+(w*-h+v*f+u*0.0)*0.0+(t*-h+s*f+r*0.0)*f)+0.0;h=d-((z*-h+y*f+x*0.0)*h+(w*-h+v*f+u*0.0)*-f+(t*-h+s*f+r*0.0)*0.0)+c;i=1.0/(l*(q*m-n*p)+(j*(n*h-k*q)+o*(k*p-h*m)));g[a>>2]=(q*m-n*p)*i*0.0+(1.0/b*(n*h-k*q)*i+(k*p-h*m)*i*0.0);g[a+4>>2]=(p*o-q*j)*i*0.0+(1.0/b*(q*l-h*o)*i+(h*j-p*l)*i*0.0);g[a+8>>2]=(n*j-m*o)*i*0.0+(1.0/b*(k*o-n*l)*i+(m*l-k*j)*i*0.0);g[a+12>>2]=0.0;g[a+16>>2]=(q*m-n*p)*i*0.0+((n*h-k*q)*i*0.0+1.0/b*(k*p-h*m)*i);g[a+20>>2]=(p*o-q*j)*i*0.0+((q*l-h*o)*i*0.0+1.0/b*(h*j-p*l)*i);g[a+24>>2]=(n*j-m*o)*i*0.0+((k*o-n*l)*i*0.0+1.0/b*(m*l-k*j)*i);g[a+28>>2]=0.0;g[a+32>>2]=1.0/b*(q*m-n*p)*i+((n*h-k*q)*i*0.0+(k*p-h*m)*i*0.0);g[a+36>>2]=1.0/b*(p*o-q*j)*i+((q*l-h*o)*i*0.0+(h*j-p*l)*i*0.0);g[a+40>>2]=1.0/b*(n*j-m*o)*i+((k*o-n*l)*i*0.0+(m*l-k*j)*i*0.0);g[a+44>>2]=0.0;return}function Ef(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,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.0,A=0.0;r=l;l=l+96|0;n=r;o=n+96|0;do{c[n>>2]=0;n=n+4|0}while((n|0)<(o|0));if(!i)q=c[c[b+880>>2]>>2]|0;else q=i;i=c[b+772>>2]|0;if((i|0)==(c[b+776>>2]|0)?(p=i|0?i<<1:1,(i|0)<(p|0)):0){if(!p)j=0;else{c[6472]=(c[6472]|0)+1;i=ic((p*104|3)+16|0)|0;if(!i)j=0;else{c[(i+4+15&-16)+-4>>2]=i;j=i+4+15&-16}i=c[b+772>>2]|0}if((i|0)>0){k=0;do{n=j+(k*104|0)|0;m=(c[b+780>>2]|0)+(k*104|0)|0;o=n+104|0;do{c[n>>2]=c[m>>2];n=n+4|0;m=m+4|0}while((n|0)<(o|0));k=k+1|0}while((k|0)!=(i|0))}i=c[b+780>>2]|0;if(i|0){if(a[b+784>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0)}c[b+780>>2]=0}a[b+784>>0]=1;c[b+780>>2]=j;c[b+776>>2]=p;i=c[b+772>>2]|0}n=c[b+780>>2]|0;c[n+(i*104|0)>>2]=0;c[n+(i*104|0)+4>>2]=q;n=n+(i*104|0)+8|0;m=r;o=n+96|0;do{c[n>>2]=c[m>>2];n=n+4|0;m=m+4|0}while((n|0)<(o|0));q=c[b+772>>2]|0;c[b+772>>2]=q+1;p=c[b+780>>2]|0;k=c[b+720>>2]|0;c[p+(q*104|0)+8>>2]=k+(d*104|0);o=c[b+720>>2]|0;c[p+(q*104|0)+12>>2]=o+(e*104|0);m=c[b+720>>2]|0;c[p+(q*104|0)+16>>2]=m+(f*104|0);n=c[b+720>>2]|0;c[p+(q*104|0)+20>>2]=n+(h*104|0);z=+g[k+(d*104|0)+8>>2];w=+g[k+(d*104|0)+12>>2];A=+g[k+(d*104|0)+16>>2];t=+g[m+(f*104|0)+8>>2]-z;y=+g[m+(f*104|0)+12>>2]-w;v=+g[m+(f*104|0)+16>>2]-A;u=+g[n+(h*104|0)+8>>2]-z;x=+g[n+(h*104|0)+12>>2]-w;s=+g[n+(h*104|0)+16>>2]-A;g[p+(q*104|0)+24>>2]=(+g[o+(e*104|0)+16>>2]-A)*(t*x-y*u)+((+g[o+(e*104|0)+8>>2]-z)*(y*s-v*x)+(+g[o+(e*104|0)+12>>2]-w)*(v*u-t*s));a[b+924>>0]=1;l=r;return}function Ff(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0;f=l;l=l+784|0;c[f+712>>2]=1065353216;c[f+712+4>>2]=0;c[f+712+4+4>>2]=0;c[f+712+4+8>>2]=0;c[f+712+4+12>>2]=0;c[f+712+20>>2]=1065353216;c[f+712+24>>2]=0;c[f+712+24+4>>2]=0;c[f+712+24+8>>2]=0;c[f+712+24+12>>2]=0;c[f+712+40>>2]=1065353216;e=f+712+44|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[f+536>>2]=3832;c[f+536+168>>2]=0;g[f+536+172>>2]=0.0;c[f+536+164>>2]=c[b+200>>2];e=c[b+196>>2]|0;c[f+480+8>>2]=0;c[f+480+12>>2]=1065353216;c[f+480+16>>2]=1065353216;c[f+480+20>>2]=1065353216;g[f+480+24>>2]=0.0;c[f+480>>2]=6864;c[f+480+4>>2]=8;c[f+480+28>>2]=e;c[f+480+44>>2]=e;c[f+376+8>>2]=0;c[f+376+12>>2]=1065353216;c[f+376+16>>2]=1065353216;c[f+376+20>>2]=1065353216;g[f+376+24>>2]=0.0;g[f+376+44>>2]=.03999999910593033;c[f+376+52>>2]=0;c[f+376>>2]=3860;c[f+376+4>>2]=1;c[f+376+56>>2]=c[d>>2];c[f+376+56+4>>2]=c[d+4>>2];c[f+376+56+8>>2]=c[d+8>>2];c[f+376+56+12>>2]=c[d+12>>2];c[f+376+72>>2]=c[d+16>>2];c[f+376+72+4>>2]=c[d+16+4>>2];c[f+376+72+8>>2]=c[d+16+8>>2];c[f+376+72+12>>2]=c[d+16+12>>2];c[f+376+88>>2]=c[d+32>>2];c[f+376+88+4>>2]=c[d+32+4>>2];c[f+376+88+8>>2]=c[d+32+8>>2];c[f+376+88+12>>2]=c[d+32+12>>2];g[f+16+308>>2]=9.999999747378752e-05;a[f+16+332>>0]=0;c[f>>2]=5156;c[f+4>>2]=f+16;c[f+8>>2]=f+480;c[f+12>>2]=f+376;if(_c(f,b+4|0,b+68|0,f+712|0,f+712|0,f+536|0)|0?(h=+g[f+536+164>>2],+g[b+200>>2]>h):0)g[b+200>>2]=h;c[f+376>>2]=7316;e=c[f+376+52>>2]|0;if(!e){l=f;return}Ab[c[c[e>>2]>>2]&511](e);e=c[f+376+52>>2]|0;if(!e){l=f;return}c[6473]=(c[6473]|0)+1;nd(c[e+-4>>2]|0);l=f;return}function Gf(d,e,f,g,h,i,j,k,m){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0;o=l;l=l+48|0;c[6472]=(c[6472]|0)+1;g=ic(83)|0;if(!g)n=0;else{c[(g+4+15&-16)+-4>>2]=g;n=g+4+15&-16}c[n>>2]=h;b[n+4>>1]=i;b[n+6>>1]=j;i=n+16|0;c[i>>2]=c[e>>2];c[i+4>>2]=c[e+4>>2];c[i+8>>2]=c[e+8>>2];c[i+12>>2]=c[e+12>>2];i=n+32|0;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];c[n+8>>2]=0;i=n+56|0;c[i>>2]=0;j=n+52|0;c[j>>2]=0;c[o+16>>2]=c[e>>2];c[o+16+4>>2]=c[e+4>>2];c[o+16+8>>2]=c[e+8>>2];c[o+16+12>>2]=c[e+12>>2];c[o+16+16>>2]=c[f>>2];c[o+16+16+4>>2]=c[f+4>>2];c[o+16+16+8>>2]=c[f+8>>2];c[o+16+16+12>>2]=c[f+12>>2];c[n+60>>2]=c[d+144>>2];g=(c[d+188>>2]|0)+1|0;c[d+188>>2]=g;c[n+12>>2]=g;g=c[d+8>>2]|0;if(!g){c[6472]=(c[6472]|0)+1;g=ic(63)|0;if(!g)g=0;else{c[(g+4+15&-16)+-4>>2]=g;g=g+4+15&-16}k=g;m=k+44|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(m|0))}else c[d+8>>2]=0;c[g+32>>2]=0;c[g+36>>2]=n;c[g+40>>2]=0;c[g>>2]=c[o+16>>2];c[g+4>>2]=c[o+16+4>>2];c[g+8>>2]=c[o+16+8>>2];c[g+12>>2]=c[o+16+12>>2];c[g+16>>2]=c[o+16+16>>2];c[g+20>>2]=c[o+16+20>>2];c[g+24>>2]=c[o+16+24>>2];c[g+28>>2]=c[o+16+28>>2];af(d+4|0,c[d+4>>2]|0,g);c[d+16>>2]=(c[d+16>>2]|0)+1;c[n+48>>2]=g;k=d+124+(c[d+144>>2]<<2)|0;c[j>>2]=0;c[i>>2]=c[k>>2];g=c[k>>2]|0;if(g|0)c[g+52>>2]=n;c[k>>2]=n;if(a[d+193>>0]|0){l=o;return n|0}c[o>>2]=9096;c[o+4>>2]=d;c[o+8>>2]=n;Ue(c[d+4>>2]|0,o+16|0,o);Ue(c[d+64>>2]|0,o+16|0,o);l=o;return n|0}function Hf(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0;f=l;l=l+608|0;p=+g[d+116>>2]-+g[d+52>>2];o=+g[d+120>>2]-+g[d+56>>2];n=+g[d+124>>2]-+g[d+60>>2];i=+g[e+116>>2]-+g[e+52>>2];k=+g[e+120>>2]-+g[e+56>>2];j=+g[e+124>>2]-+g[e+60>>2];m=+g[d+252>>2];if(p*p+o*o+n*n>2],i*i+k*k+j*j>2]|0;h=c[e+248>>2]|0;c[f+552+8>>2]=0;c[f+552+12>>2]=1065353216;c[f+552+16>>2]=1065353216;c[f+552+20>>2]=1065353216;g[f+552+24>>2]=0.0;c[f+552>>2]=6864;c[f+552+4>>2]=8;c[f+552+28>>2]=h;c[f+552+44>>2]=h;c[f+376>>2]=3832;g[f+376+164>>2]=999999984306749440.0;c[f+376+168>>2]=0;g[f+376+172>>2]=0.0;g[f+16+308>>2]=9.999999747378752e-05;a[f+16+332>>0]=0;c[f>>2]=9332;c[f+4>>2]=f+16;c[f+8>>2]=b;c[f+12>>2]=f+552;if(od(f,d+4|0,d+68|0,e+4|0,e+68|0,f+376|0)|0){i=+g[f+376+164>>2];if(+g[d+244>>2]>i)g[d+244>>2]=i;if(+g[e+244>>2]>i)g[e+244>>2]=i;if(i<1.0)j=i;else j=1.0}else j=1.0;b=c[e+192>>2]|0;h=c[d+248>>2]|0;c[f+552+8>>2]=0;c[f+552+12>>2]=1065353216;c[f+552+16>>2]=1065353216;c[f+552+20>>2]=1065353216;g[f+552+24>>2]=0.0;c[f+552>>2]=6864;c[f+552+4>>2]=8;c[f+552+28>>2]=h;c[f+552+44>>2]=h;c[f+376>>2]=3832;g[f+376+164>>2]=999999984306749440.0;c[f+376+168>>2]=0;g[f+376+172>>2]=0.0;g[f+16+308>>2]=9.999999747378752e-05;a[f+16+332>>0]=0;c[f>>2]=9332;c[f+4>>2]=f+16;c[f+8>>2]=f+552;c[f+12>>2]=b;if(od(f,d+4|0,d+68|0,e+4|0,e+68|0,f+376|0)|0){i=+g[f+376+164>>2];if(+g[d+244>>2]>i)g[d+244>>2]=i;if(+g[e+244>>2]>i)g[e+244>>2]=i;if(!(j>i))i=j}else i=j;p=i;l=f;return +p}function If(a,d){a=a|0;d=d|0;var e=0,f=0,h=0,i=0.0,j=0.0,k=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;e=l;l=l+128|0;G=c[(c[a+8>>2]|0)+24>>2]|0;h=c[G+(d*80|0)+64>>2]|0;f=c[a+12>>2]|0;x=+g[G+(d*80|0)>>2];D=+g[f>>2];w=+g[G+(d*80|0)+16>>2];C=+g[f+4>>2];v=+g[G+(d*80|0)+32>>2];B=+g[f+8>>2];u=+g[G+(d*80|0)+4>>2];t=+g[G+(d*80|0)+20>>2];s=+g[G+(d*80|0)+36>>2];r=+g[G+(d*80|0)+8>>2];p=+g[G+(d*80|0)+24>>2];n=+g[G+(d*80|0)+40>>2];A=+g[f+16>>2];z=+g[f+20>>2];y=+g[f+24>>2];q=+g[f+32>>2];o=+g[f+36>>2];m=+g[f+40>>2];F=+g[G+(d*80|0)+48>>2];E=+g[G+(d*80|0)+52>>2];i=+g[G+(d*80|0)+56>>2];k=+g[f+48>>2]+(D*F+C*E+B*i);j=A*F+z*E+y*i+ +g[f+52>>2];i=q*F+o*E+m*i+ +g[f+56>>2];g[e+56>>2]=x*D+w*C+v*B;g[e+56+4>>2]=D*u+C*t+B*s;g[e+56+8>>2]=D*r+C*p+B*n;g[e+56+12>>2]=0.0;g[e+56+16>>2]=x*A+w*z+v*y;g[e+56+20>>2]=u*A+t*z+s*y;g[e+56+24>>2]=r*A+p*z+n*y;g[e+56+28>>2]=0.0;g[e+56+32>>2]=x*q+w*o+v*m;g[e+56+36>>2]=u*q+t*o+s*m;g[e+56+40>>2]=r*q+p*o+n*m;g[e+56+44>>2]=0.0;g[e+56+48>>2]=k;g[e+56+52>>2]=j;g[e+56+56>>2]=i;g[e+56+60>>2]=0.0;f=c[a+4>>2]|0;c[e+32>>2]=0;c[e+32+4>>2]=h;c[e+32+8>>2]=f;c[e+32+12>>2]=e+56;c[e+32+16>>2]=-1;c[e+32+20>>2]=d;f=c[a+24>>2]|0;g[e+4>>2]=1.0;c[e+8>>2]=0;b[e+12>>1]=1;b[e+14>>1]=-1;c[e+16>>2]=0;c[e>>2]=5988;c[e+20>>2]=f;c[e+24>>2]=d;c[e+4>>2]=c[f+4>>2];c[e+16>>2]=c[f+16>>2];Kc(c[a+16>>2]|0,c[a+20>>2]|0,e+32|0,e);l=e;return}function Jf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0,i=0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0;i=l;l=l+80|0;f=+gb[c[(c[a>>2]|0)+48>>2]&15](a);h=0;do{q=i+64+(h<<2)|0;c[i+64>>2]=0;c[i+64+4>>2]=0;c[i+64+8>>2]=0;c[i+64+12>>2]=0;g[q>>2]=1.0;j=c[(c[a>>2]|0)+64>>2]|0;k=+g[i+64>>2];m=+g[i+64+4>>2];n=+g[i+64+8>>2];o=k*+g[b+4>>2]+m*+g[b+20>>2]+n*+g[b+36>>2];p=k*+g[b+8>>2]+m*+g[b+24>>2]+n*+g[b+40>>2];g[i+32>>2]=+g[b>>2]*k+ +g[b+16>>2]*m+ +g[b+32>>2]*n;g[i+32+4>>2]=o;g[i+32+8>>2]=p;g[i+32+12>>2]=0.0;Kb[j&127](i+48|0,a,i+32|0);p=+g[i+48>>2];o=+g[i+48+4>>2];n=+g[i+48+8>>2];m=p*+g[b+16>>2]+o*+g[b+20>>2]+n*+g[b+24>>2]+ +g[b+52>>2];k=p*+g[b+32>>2]+o*+g[b+36>>2]+n*+g[b+40>>2]+ +g[b+56>>2];g[i+32>>2]=p*+g[b>>2]+o*+g[b+4>>2]+n*+g[b+8>>2]+ +g[b+48>>2];g[i+32+4>>2]=m;g[i+32+8>>2]=k;g[i+32+12>>2]=0.0;j=i+32+(h<<2)|0;g[e+(h<<2)>>2]=f+ +g[j>>2];g[q>>2]=-1.0;q=c[(c[a>>2]|0)+64>>2]|0;k=+g[i+64>>2];m=+g[i+64+4>>2];n=+g[i+64+8>>2];o=k*+g[b+4>>2]+m*+g[b+20>>2]+n*+g[b+36>>2];p=k*+g[b+8>>2]+m*+g[b+24>>2]+n*+g[b+40>>2];g[i>>2]=+g[b>>2]*k+ +g[b+16>>2]*m+ +g[b+32>>2]*n;g[i+4>>2]=o;g[i+8>>2]=p;g[i+12>>2]=0.0;Kb[q&127](i+16|0,a,i);p=+g[i+16>>2];o=+g[i+16+4>>2];n=+g[i+16+8>>2];m=p*+g[b+16>>2]+o*+g[b+20>>2]+n*+g[b+24>>2]+ +g[b+52>>2];k=p*+g[b+32>>2]+o*+g[b+36>>2]+n*+g[b+40>>2]+ +g[b+56>>2];g[i+32>>2]=p*+g[b>>2]+o*+g[b+4>>2]+n*+g[b+8>>2]+ +g[b+48>>2];g[i+32+4>>2]=m;g[i+32+8>>2]=k;g[i+32+12>>2]=0.0;g[d+(h<<2)>>2]=+g[j>>2]-f;h=h+1|0}while((h|0)!=3);l=i;return}function Kf(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,m=0,n=0,o=0,p=0;k=l;l=l+160|0;i=c[b+12>>2]|0;if(!i){l=k;return}m=(a[b+16>>0]|0)!=0;n=m?e:d;e=m?d:e;p=c[n+4>>2]|0;o=c[e+4>>2]|0;c[h+4>>2]=i;d=c[i+752>>2]|0;c[k+136>>2]=9496;c[k+136+4>>2]=p;c[k+136+8>>2]=o;c[k+136+12>>2]=d;g[k+128>>2]=999999984306749440.0;d=c[n+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];c[k+16>>2]=c[d+16>>2];c[k+16+4>>2]=c[d+16+4>>2];c[k+16+8>>2]=c[d+16+8>>2];c[k+16+12>>2]=c[d+16+12>>2];c[k+32>>2]=c[d+32>>2];c[k+32+4>>2]=c[d+32+4>>2];c[k+32+8>>2]=c[d+32+8>>2];c[k+32+12>>2]=c[d+32+12>>2];c[k+48>>2]=c[d+48>>2];c[k+48+4>>2]=c[d+48+4>>2];c[k+48+8>>2]=c[d+48+8>>2];c[k+48+12>>2]=c[d+48+12>>2];e=c[e+12>>2]|0;c[k+64>>2]=c[e>>2];c[k+64+4>>2]=c[e+4>>2];c[k+64+8>>2]=c[e+8>>2];c[k+64+12>>2]=c[e+12>>2];c[k+80>>2]=c[e+16>>2];c[k+80+4>>2]=c[e+16+4>>2];c[k+80+8>>2]=c[e+16+8>>2];c[k+80+12>>2]=c[e+16+12>>2];c[k+96>>2]=c[e+32>>2];c[k+96+4>>2]=c[e+32+4>>2];c[k+96+8>>2]=c[e+32+8>>2];c[k+96+12>>2]=c[e+32+12>>2];c[k+112>>2]=c[e+48>>2];c[k+112+4>>2]=c[e+48+4>>2];c[k+112+8>>2]=c[e+48+8>>2];c[k+112+12>>2]=c[e+48+12>>2];Md(k+136|0,k,h,c[f+20>>2]|0,m);do if(a[b+8>>0]|0?(j=c[h+4>>2]|0,c[j+748>>2]|0):0){e=c[j+740>>2]|0;d=c[(c[h+8>>2]|0)+8>>2]|0;i=c[(c[h+12>>2]|0)+8>>2]|0;if((e|0)==(d|0)){Oe(j,e+4|0,i+4|0);break}else{Oe(j,i+4|0,d+4|0);break}}while(0);l=k;return}function Lf(a){a=a|0;var b=0,d=0,e=0,f=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,q=0;b=c[a+752>>2]|0;if((b|0)>0){d=c[a+760>>2]|0;e=0;do{f=c[d+(e*44|0)+8>>2]|0;h=c[d+(e*44|0)+12>>2]|0;i=c[d+(e*44|0)+16>>2]|0;l=+g[f+8>>2];n=+g[f+12>>2];j=+g[f+16>>2];k=+g[h+8>>2]-l;o=+g[h+12>>2]-n;m=+g[h+16>>2]-j;l=+g[i+8>>2]-l;n=+g[i+12>>2]-n;j=+g[i+16>>2]-j;g[d+(e*44|0)+36>>2]=+C(+((k*n-o*l)*(k*n-o*l)+((o*j-m*n)*(o*j-m*n)+(m*l-k*j)*(m*l-k*j))));e=e+1|0}while((e|0)!=(b|0))}d=c[a+712>>2]|0;if((d|0)>0){c[6472]=(c[6472]|0)+1;b=ic((d<<2|3)+16|0)|0;if(!b)f=0;else{c[(b+4+15&-16)+-4>>2]=b;f=b+4+15&-16}Nk(f|0,0,d<<2|0)|0;d=c[a+712>>2]|0;if((d|0)>0){b=c[a+720>>2]|0;e=0;do{g[b+(e*104|0)+92>>2]=0.0;e=e+1|0}while((e|0)!=(d|0));i=f;h=f}else{i=f;h=f}}else{i=0;h=0}f=c[a+752>>2]|0;if((f|0)>0){b=c[a+760>>2]|0;d=c[a+720>>2]|0;e=0;do{o=+B(+(+g[b+(e*44|0)+36>>2]));p=c[b+(e*44|0)+8>>2]|0;q=h+(((p-d|0)/104|0)<<2)|0;c[q>>2]=(c[q>>2]|0)+1;g[p+92>>2]=o+ +g[p+92>>2];p=c[b+(e*44|0)+12>>2]|0;q=h+(((p-d|0)/104|0)<<2)|0;c[q>>2]=(c[q>>2]|0)+1;g[p+92>>2]=o+ +g[p+92>>2];p=c[b+(e*44|0)+16>>2]|0;q=h+(((p-d|0)/104|0)<<2)|0;c[q>>2]=(c[q>>2]|0)+1;g[p+92>>2]=o+ +g[p+92>>2];e=e+1|0}while((e|0)!=(f|0));d=c[a+712>>2]|0}if((d|0)>0){e=0;do{b=c[h+(e<<2)>>2]|0;if((b|0)>0){q=(c[a+720>>2]|0)+(e*104|0)+92|0;g[q>>2]=+g[q>>2]/+(b|0)}else g[(c[a+720>>2]|0)+(e*104|0)+92>>2]=0.0;e=e+1|0}while((e|0)!=(d|0));if(!i)return}else if((h|0)==0|(i|0)==0)return;c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0);return}function Mf(b,d){b=b|0;d=+d;var e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0;m=l;l=l+16|0;bj(12232);e=c[b+232>>2]|0;if((e|0)>0){k=(a[26472]|0)==0;j=0;do{i=c[(c[b+240>>2]|0)+(j<<2)>>2]|0;a:do if(i){f=c[i+216>>2]|0;b:do switch(f|0){case 4:case 2:{if((f|0)==4)break a;break}default:{q=+g[i+312>>2];p=+g[i+316>>2];o=+g[i+320>>2];n=+g[i+472>>2];if(q*q+p*p+o*o>2],o=+g[i+332>>2],p=+g[i+336>>2],q=+g[i+476>>2],n*n+o*o+p*p>2]=+g[i+220>>2]+d;break b}g[i+220>>2]=0.0;if((f&-2|0)!=4){c[i+216>>2]=0;f=0}}}while(0);h=f&-2;do if(k){if((h|0)!=2?!(+g[i+220>>2]>2.0):0)break;if(c[i+204>>2]&3|0){if((h|0)==4)break a;c[i+216>>2]=2;break a}if((f|0)==1){if((h|0)==4)break a;c[i+216>>2]=3;break a}else{if((f|0)!=2)break a;e=(c[i+260>>2]|0)+2|0;c[i+328>>2]=0;c[i+328+4>>2]=0;c[i+328+8>>2]=0;c[i+328+12>>2]=0;c[i+260>>2]=e;c[i+312>>2]=0;c[i+312+4>>2]=0;c[i+312+8>>2]=0;c[i+312+12>>2]=0;e=c[b+232>>2]|0;break a}}while(0);if((h|0)!=4)c[i+216>>2]=1}while(0);j=j+1|0}while((j|0)<(e|0))}e=c[2405]|0;k=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=k;if(k|0){l=m;return}do if(c[e+4>>2]|0){Za(m|0,0)|0;k=c[6471]|0;g[e+8>>2]=+g[e+8>>2]+ +(((c[m+4>>2]|0)-(c[k+4>>2]|0)+(((c[m>>2]|0)-(c[k>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[e+16>>2]|0)){e=c[2405]|0;break}else{l=m;return}}while(0);c[2405]=c[e+20>>2];l=m;return}function Nf(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,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,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0;I=l;l=l+32|0;j=+g[b+16>>2];f=+g[b>>2];k=+g[b+20>>2];h=+g[b+4>>2];o=+g[b+24>>2];i=+g[b+8>>2];t=+g[b+32>>2];x=+g[b+36>>2];y=+g[b+40>>2];F=(k-h)*(y-i)-(o-i)*(x-h);G=(o-i)*(t-f)-(j-f)*(y-i);H=(j-f)*(x-h)-(k-h)*(t-f);g[I+16>>2]=F;g[I+16+4>>2]=G;g[I+16+8>>2]=H;g[I+16+12>>2]=0.0;p=+g[a+4>>2];r=+g[a+8>>2];v=+g[a+12>>2];E=F*p+G*r+H*v-(f*F+h*G+i*H);n=+g[a+20>>2];s=+g[a+24>>2];w=+g[a+28>>2];if(E*(F*n+G*s+H*w-(f*F+h*G+i*H))>=0.0){l=I;return}B=c[a+36>>2]|0;if(E<=0.0&(B&1|0)!=0){l=I;return}D=E/(E-(F*n+G*s+H*w-(f*F+h*G+i*H)));if(!(D<+g[a+40>>2])){l=I;return}A=(F*F+G*G+H*H)*-9.999999747378752e-05;z=f-(n*D+p*(1.0-D));u=h-(s*D+r*(1.0-D));q=i-(w*D+v*(1.0-D));m=j-(n*D+p*(1.0-D));k=k-(s*D+r*(1.0-D));j=o-(w*D+v*(1.0-D));if(!(H*(z*k-u*m)+(F*(u*j-q*k)+G*(q*m-z*j))>=A)){l=I;return}i=t-(n*D+p*(1.0-D));h=x-(s*D+r*(1.0-D));f=y-(w*D+v*(1.0-D));if(!(H*(m*h-k*i)+(F*(k*f-j*h)+G*(j*i-m*f))>=A)){l=I;return}if(!(H*(u*i-z*h)+(F*(q*h-u*f)+G*(z*f-q*i))>=A)){l=I;return}f=1.0/+C(+(F*F+G*G+H*H));g[I+16>>2]=F*f;g[I+16+4>>2]=G*f;g[I+16+8>>2]=H*f;b=c[(c[a>>2]|0)+12>>2]|0;if(E<=0.0&(B&2|0)==0){g[I>>2]=-(F*f);g[I+4>>2]=-(G*f);g[I+8>>2]=-(H*f);g[I+12>>2]=0.0;g[a+40>>2]=+ib[b&3](a,I,D,d,e);l=I;return}else{g[a+40>>2]=+ib[b&3](a,I+16|0,D,d,e);l=I;return}}function Of(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,m=0,n=0;k=l;l=l+144|0;i=c[b+12>>2]|0;if(!i){l=k;return}n=c[d+4>>2]|0;m=c[e+4>>2]|0;c[h+4>>2]=i;g[k+12+128>>2]=999999984306749440.0;d=c[d+12>>2]|0;c[k+12>>2]=c[d>>2];c[k+12+4>>2]=c[d+4>>2];c[k+12+8>>2]=c[d+8>>2];c[k+12+12>>2]=c[d+12>>2];c[k+12+16>>2]=c[d+16>>2];c[k+12+16+4>>2]=c[d+16+4>>2];c[k+12+16+8>>2]=c[d+16+8>>2];c[k+12+16+12>>2]=c[d+16+12>>2];c[k+12+32>>2]=c[d+32>>2];c[k+12+32+4>>2]=c[d+32+4>>2];c[k+12+32+8>>2]=c[d+32+8>>2];c[k+12+32+12>>2]=c[d+32+12>>2];c[k+12+48>>2]=c[d+48>>2];c[k+12+48+4>>2]=c[d+48+4>>2];c[k+12+48+8>>2]=c[d+48+8>>2];c[k+12+48+12>>2]=c[d+48+12>>2];e=c[e+12>>2]|0;c[k+12+64>>2]=c[e>>2];c[k+12+64+4>>2]=c[e+4>>2];c[k+12+64+8>>2]=c[e+8>>2];c[k+12+64+12>>2]=c[e+12>>2];c[k+12+80>>2]=c[e+16>>2];c[k+12+80+4>>2]=c[e+16+4>>2];c[k+12+80+8>>2]=c[e+16+8>>2];c[k+12+80+12>>2]=c[e+16+12>>2];c[k+12+96>>2]=c[e+32>>2];c[k+12+96+4>>2]=c[e+32+4>>2];c[k+12+96+8>>2]=c[e+32+8>>2];c[k+12+96+12>>2]=c[e+32+12>>2];c[k+12+112>>2]=c[e+48>>2];c[k+12+112+4>>2]=c[e+48+4>>2];c[k+12+112+8>>2]=c[e+48+8>>2];c[k+12+112+12>>2]=c[e+48+12>>2];c[k>>2]=9476;c[k+4>>2]=n;c[k+8>>2]=m;ec(k,k+12|0,h,c[f+20>>2]|0,0);do if(a[b+8>>0]|0?(j=c[h+4>>2]|0,c[j+748>>2]|0):0){d=c[j+740>>2]|0;e=c[(c[h+8>>2]|0)+8>>2]|0;i=c[(c[h+12>>2]|0)+8>>2]|0;if((d|0)==(e|0)){Oe(j,d+4|0,i+4|0);break}else{Oe(j,i+4|0,e+4|0);break}}while(0);l=k;return}function Pf(b,d,e,f,h,i,j,k,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;m=m|0;var n=0,o=0,p=0,q=0,r=0;r=l;l=l+80|0;g[r+16+60>>2]=0.0;g[r+16+8>>2]=0.0;g[r+16+12>>2]=.10000000149011612;g[r+16+16>>2]=300.0;g[r+16>>2]=1.0;g[r+16+4>>2]=-1.0;g[r+16+28>>2]=0.0;g[r+16+32>>2]=.20000000298023224;g[r+16+36>>2]=0.0;g[r+16+40>>2]=0.0;g[r+16+20>>2]=1.0;g[r+16+24>>2]=.5;c[r+16+56>>2]=0;g[r+16+48>>2]=0.0;a[r+16+44>>0]=0;p=0;do{o=c[b+856+(p<<2)>>2]|0;n=a[b+788+p>>0]|0;if(!o){if(n<<24>>24){n=1;q=5}}else q=5;if((q|0)==5){q=0;g[r+16+40>>2]=0.0;c[r+16+56>>2]=o;c[r+16+52>>2]=c[b+840+(p<<2)>>2];c[r+16+48>>2]=c[b+824+(p<<2)>>2];c[r+16+20>>2]=c[b+732>>2];a[r+16+44>>0]=n;c[r+16+4>>2]=c[b+696+(p<<2)>>2];c[r+16+24>>2]=c[b+728>>2];c[r+16>>2]=c[b+680+(p<<2)>>2];g[r+16+16>>2]=0.0;c[r+16+12>>2]=c[b+808+(p<<2)>>2];c[r+16+8>>2]=c[b+792+(p<<2)>>2];c[r>>2]=c[b+1064+(p<<2)>>2];c[r+4>>2]=c[b+1080+(p<<2)>>2];c[r+8>>2]=c[b+1096+(p<<2)>>2];g[r+12>>2]=0.0;o=c[b+1304>>2]>>p*3;if(!(o&1))n=c[d+32>>2]|0;else n=b+740+(p<<2)|0;c[r+16+28>>2]=c[n>>2];if(!(o&2))n=c[d+32>>2]|0;else n=b+772+(p<<2)|0;c[r+16+36>>2]=c[n>>2];c[r+16+32>>2]=c[((o&4|0)==0?d+4|0:b+756+(p<<2)|0)>>2];if(a[b+1301>>0]|0){o=p+1|0;if(!(c[b+868+(((o|0)==3?0:o)<<6)+56>>2]|0))n=1;else n=(c[b+868+(((p+2|0)%3|0)<<6)+56>>2]|0)==0&1}else n=0;e=(md(b,r+16|0,f,h,i,j,k,m,d,e,r,0,n)|0)+e|0}p=p+1|0}while((p|0)!=3);l=r;return e|0}function Qf(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,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;q=l;l=l+48|0;if((f|0)==(d|0)|((d|0)==(e|0)|(e|0)==(f|0))){l=q;return}m=q;n=m+36|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0));if(!h)p=c[c[b+880>>2]>>2]|0;else p=h;h=c[b+752>>2]|0;if((h|0)==(c[b+756>>2]|0)?(o=h|0?h<<1:1,(h|0)<(o|0)):0){if(!o)i=0;else{c[6472]=(c[6472]|0)+1;h=ic((o*44|3)+16|0)|0;if(!h)i=0;else{c[(h+4+15&-16)+-4>>2]=h;i=h+4+15&-16}h=c[b+752>>2]|0}if((h|0)>0){j=0;do{m=i+(j*44|0)|0;k=(c[b+760>>2]|0)+(j*44|0)|0;n=m+44|0;do{c[m>>2]=c[k>>2];m=m+4|0;k=k+4|0}while((m|0)<(n|0));j=j+1|0}while((j|0)!=(h|0))}h=c[b+760>>2]|0;if(h|0){if(a[b+764>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[h+-4>>2]|0)}c[b+760>>2]=0}a[b+764>>0]=1;c[b+760>>2]=i;c[b+756>>2]=o;h=c[b+752>>2]|0}m=c[b+760>>2]|0;c[m+(h*44|0)>>2]=0;c[m+(h*44|0)+4>>2]=p;m=m+(h*44|0)+8|0;k=q;n=m+36|0;do{c[m>>2]=c[k>>2];m=m+4|0;k=k+4|0}while((m|0)<(n|0));p=c[b+752>>2]|0;c[b+752>>2]=p+1;o=c[b+760>>2]|0;k=c[b+720>>2]|0;c[o+(p*44|0)+8>>2]=k+(d*104|0);m=c[b+720>>2]|0;c[o+(p*44|0)+12>>2]=m+(e*104|0);n=c[b+720>>2]|0;c[o+(p*44|0)+16>>2]=n+(f*104|0);t=+g[k+(d*104|0)+8>>2];v=+g[k+(d*104|0)+12>>2];r=+g[k+(d*104|0)+16>>2];s=+g[m+(e*104|0)+8>>2]-t;w=+g[m+(e*104|0)+12>>2]-v;u=+g[m+(e*104|0)+16>>2]-r;t=+g[n+(f*104|0)+8>>2]-t;v=+g[n+(f*104|0)+12>>2]-v;r=+g[n+(f*104|0)+16>>2]-r;g[o+(p*44|0)+36>>2]=+C(+((s*v-w*t)*(s*v-w*t)+((w*r-u*v)*(w*r-u*v)+(u*t-s*r)*(u*t-s*r))));a[b+924>>0]=1;l=q;return}function Rf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;if((c[b+104>>2]|0)>0){l=0;do{h=c[(c[b+4>>2]|0)+684>>2]|0;k=(c[b+112>>2]|0)+(l<<3)+4|0;d=c[k>>2]|0;if((c[h+60>>2]|0)>0){j=0;do{i=(c[h+68>>2]|0)+(j<<2)|0;e=c[i>>2]|0;a:do if(e|0){f=0;do{g=f+280|0;b:do if(!f)while(1){f=e;e=c[e+280>>2]|0;if((c[f+276>>2]|0)!=(d|0))break b;c[i>>2]=e;_H(f);if(!e)break a}else while(1){f=e;e=c[e+280>>2]|0;if((c[f+276>>2]|0)!=(d|0))break b;c[g>>2]=e;_H(f);if(!e)break a}while(0)}while((e|0)!=0)}while(0);j=j+1|0}while((j|0)<(c[h+60>>2]|0));d=c[k>>2]|0}if(d|0)Ab[c[(c[d>>2]|0)+4>>2]&511](d);l=l+1|0}while((l|0)<(c[b+104>>2]|0))}d=c[b+72>>2]|0;if(d|0){if(a[b+76>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+72>>2]=0}a[b+76>>0]=1;c[b+72>>2]=0;c[b+64>>2]=0;c[b+68>>2]=0;d=c[b+92>>2]|0;if(d|0){if(a[b+96>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+92>>2]=0}a[b+96>>0]=1;c[b+92>>2]=0;c[b+84>>2]=0;c[b+88>>2]=0;d=c[b+112>>2]|0;if(d|0){if(a[b+116>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+112>>2]=0}a[b+116>>0]=1;c[b+112>>2]=0;c[b+104>>2]=0;c[b+108>>2]=0;d=c[b+132>>2]|0;if(!d){a[b+136>>0]=1;c[b+132>>2]=0;c[b+124>>2]=0;b=b+128|0;c[b>>2]=0;return}if(a[b+136>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+132>>2]=0;a[b+136>>0]=1;c[b+132>>2]=0;c[b+124>>2]=0;b=b+128|0;c[b>>2]=0;return}function Sf(d,e,f){d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0;c[d+4>>2]=1065353216;c[d+8>>2]=1065353216;c[d+12>>2]=1065353216;g[d+16>>2]=0.0;a[d+36>>0]=1;c[d+32>>2]=0;c[d+24>>2]=0;c[d+28>>2]=0;c[d+48>>2]=0;c[d>>2]=8644;a[d+100>>0]=1;c[d+96>>2]=0;c[d+88>>2]=0;c[d+92>>2]=0;a[d+120>>0]=1;c[d+116>>2]=0;c[d+108>>2]=0;c[d+112>>2]=0;a[d+140>>0]=1;c[d+136>>2]=0;c[d+128>>2]=0;c[d+132>>2]=0;a[d+160>>0]=1;c[d+156>>2]=0;c[d+148>>2]=0;c[d+152>>2]=0;a[d+164>>0]=e&1;a[d+165>>0]=f&1;g[d+168>>2]=0.0;c[6472]=(c[6472]|0)+1;e=ic(51)|0;if(!e)h=0;else{c[(e+4+15&-16)+-4>>2]=e;h=e+4+15&-16}e=c[d+24>>2]|0;if((e|0)>0){f=0;do{i=h+(f<<5)|0;j=(c[d+32>>2]|0)+(f<<5)|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];c[i+16>>2]=c[j+16>>2];c[i+20>>2]=c[j+20>>2];c[i+24>>2]=c[j+24>>2];c[i+28>>2]=c[j+28>>2];f=f+1|0}while((f|0)!=(e|0))}e=c[d+32>>2]|0;if(e|0){if(a[d+36>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[e+-4>>2]|0)}c[d+32>>2]=0}a[d+36>>0]=1;c[d+32>>2]=h;c[d+28>>2]=1;j=c[d+24>>2]|0;c[h+(j<<5)>>2]=0;c[h+(j<<5)+4>>2]=0;c[h+(j<<5)+8>>2]=12;c[h+(j<<5)+12>>2]=0;c[h+(j<<5)+16>>2]=0;c[h+(j<<5)+20>>2]=16;c[h+(j<<5)+24>>2]=2;c[h+(j<<5)+28>>2]=0;c[d+24>>2]=(c[d+24>>2]|0)+1;j=b[d+164>>1]|0;e=c[d+32>>2]|0;c[e>>2]=(c[((j&255)<<24>>24==0?d+148|0:d+128|0)>>2]|0)/3|0;c[e+4>>2]=0;c[e+24>>2]=(j&255)<<24>>24==0?3:2;c[e+8>>2]=(j&255)<<24>>24==0?6:12;if((j&65535)<256){i=12;d=(c[d+108>>2]|0)/3|0;j=e+12|0;c[j>>2]=d;j=e+16|0;c[j>>2]=0;j=e+20|0;c[j>>2]=i;return}else{i=16;d=c[d+88>>2]|0;j=e+12|0;c[j>>2]=d;j=e+16|0;c[j>>2]=0;j=e+20|0;c[j>>2]=i;return}}function Tf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;i=c[b+28>>2]|0;j=c[b+32>>2]|0;if(!(a[b+1301>>0]|0)){h=0;e=Pf(b,d,0,i+4|0,j+4|0,i+312|0,j+312|0,i+328|0,j+328|0)|0;do{f=b+868+(h<<6)|0;if(!((c[b+868+(h<<6)+56>>2]|0)==0?(a[b+868+(h<<6)+44>>0]|0)==0:0)){g=b+1208+(h<<4)|0;c[k>>2]=c[g>>2];c[k+4>>2]=c[g+4>>2];c[k+8>>2]=c[g+8>>2];c[k+12>>2]=c[g+12>>2];g=c[b+1304>>2]>>(h*3|0)+9;if(!(g&1))c[b+868+(h<<6)+28>>2]=c[c[d+32>>2]>>2];if(!(g&2))c[b+868+(h<<6)+36>>2]=c[c[d+32>>2]>>2];if(!(g&4))c[b+868+(h<<6)+32>>2]=c[d+4>>2];e=(md(b,f,i+4|0,j+4|0,i+312|0,j+312|0,i+328|0,j+328|0,d,e,k,1,0)|0)+e|0}h=h+1|0}while((h|0)!=3);l=k;return}h=0;e=0;do{f=b+868+(h<<6)|0;if(!((c[b+868+(h<<6)+56>>2]|0)==0?(a[b+868+(h<<6)+44>>0]|0)==0:0)){g=b+1208+(h<<4)|0;c[k>>2]=c[g>>2];c[k+4>>2]=c[g+4>>2];c[k+8>>2]=c[g+8>>2];c[k+12>>2]=c[g+12>>2];g=c[b+1304>>2]>>(h*3|0)+9;if(!(g&1))c[b+868+(h<<6)+28>>2]=c[c[d+32>>2]>>2];if(!(g&2))c[b+868+(h<<6)+36>>2]=c[c[d+32>>2]>>2];if(!(g&4))c[b+868+(h<<6)+32>>2]=c[d+4>>2];e=(md(b,f,i+4|0,j+4|0,i+312|0,j+312|0,i+328|0,j+328|0,d,e,k,1,0)|0)+e|0}h=h+1|0}while((h|0)!=3);Pf(b,d,e,i+4|0,j+4|0,i+312|0,j+312|0,i+328|0,j+328|0)|0;l=k;return}function Uf(a,b,d){a=a|0;b=+b;d=+d;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0.0,t=0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0.0;v=l;l=l+16|0;k=+g[a+452>>2];q=c[a+192>>2]|0;s=+gb[c[(c[q>>2]|0)+48>>2]&15](q);q=c[a+812>>2]|0;if((q|0)<=0){l=v;return}t=0;do{r=c[a+820>>2]|0;u=c[r+(t*104|0)>>2]|0;u=(c[u+236>>2]&2|0)==0?0:u;if(u|0){p=+g[u+332>>2];e=+g[r+(t*104|0)+84>>2];j=+g[u+336>>2];n=+g[r+(t*104|0)+80>>2];f=+g[r+(t*104|0)+76>>2];o=+g[u+328>>2];d=k*(p*e-j*n+ +g[u+312>>2]);e=k*(+g[u+316>>2]+(j*f-e*o));f=k*(n*o-p*f+ +g[u+320>>2])}else{d=0.0;e=0.0;f=0.0}m=c[r+(t*104|0)+24>>2]|0;n=+g[m+8>>2];o=+g[m+12>>2];p=+g[m+16>>2];j=n-+g[m+24>>2]-d;i=o-+g[m+28>>2]-e;h=p-+g[m+32>>2]-f;d=+g[r+(t*104|0)+4>>2];e=+g[r+(t*104|0)+8>>2];f=+g[r+(t*104|0)+12>>2];if(j*d+i*e+h*f<=1.1920928955078125e-07?(y=n*d+o*e+p*f+ +g[r+(t*104|0)+20>>2],z=+g[r+(t*104|0)+96>>2],y=(y>2],x=(j-(j-d*(j*d+i*e+h*f))*z+d*y)*b,w=(i-(i-e*(j*d+i*e+h*f))*z+y*e)*b,j=(h-(h-f*(j*d+i*e+h*f))*z+y*f)*b,f=+g[r+(t*104|0)+28>>2]*x+ +g[r+(t*104|0)+32>>2]*w+ +g[r+(t*104|0)+36>>2]*j,h=x*+g[r+(t*104|0)+44>>2]+w*+g[r+(t*104|0)+48>>2]+j*+g[r+(t*104|0)+52>>2],j=x*+g[r+(t*104|0)+60>>2]+w*+g[r+(t*104|0)+64>>2]+j*+g[r+(t*104|0)+68>>2],g[v>>2]=f,g[v+4>>2]=h,g[v+8>>2]=j,g[v+12>>2]=0.0,i=+g[r+(t*104|0)+92>>2],g[m+8>>2]=n-f*i,g[m+12>>2]=o-i*h,g[m+16>>2]=p-i*j,u|0):0)Zk(u,v,r+(t*104|0)+76|0);t=t+1|0}while((t|0)!=(q|0));l=v;return}function Vf(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=c[a+56>>2]|0;if(!e){e=c[a+52>>2]|0;if(!e){c[6472]=(c[6472]|0)+1;e=ic(31)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[a+60>>2]|0;c[e+4>>2]=f;g=e+8|0;c[g>>2]=0;c[6472]=(c[6472]|0)+1;f=ic((f*24|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}c[e>>2]=f;c[g>>2]=c[a+48>>2];c[a+48>>2]=e}else c[a+52>>2]=c[e+8>>2];h=c[e+4>>2]|0;e=c[e>>2]|0;if((h|0)>0){f=0;g=e;do{f=f+1|0;i=g;g=g+24|0;c[i>>2]=(f|0)<(h|0)?g:0}while((f|0)!=(h|0));i=e}else i=e}else i=e;c[a+56>>2]=c[i>>2];c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;c[i+20>>2]=0;e=c[a+56>>2]|0;if(!e){e=c[a+52>>2]|0;if(!e){c[6472]=(c[6472]|0)+1;e=ic(31)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[a+60>>2]|0;c[e+4>>2]=f;g=e+8|0;c[g>>2]=0;c[6472]=(c[6472]|0)+1;f=ic((f*24|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}c[e>>2]=f;c[g>>2]=c[a+48>>2];c[a+48>>2]=e}else c[a+52>>2]=c[e+8>>2];h=c[e+4>>2]|0;e=c[e>>2]|0;if((h|0)>0){f=0;g=e;do{f=f+1|0;j=g;g=g+24|0;c[j>>2]=(f|0)<(h|0)?g:0}while((f|0)!=(h|0))}}c[a+56>>2]=c[e>>2];j=e;c[j>>2]=0;c[j+4>>2]=0;c[i+8>>2]=e;c[e+8>>2]=i;j=c[a+100>>2]|0;c[i+20>>2]=j;c[e+20>>2]=j;c[i+12>>2]=d;c[e+12>>2]=b;c[i+16>>2]=0;c[e+16>>2]=0;e=c[a+116>>2]|0;c[a+116>>2]=e+1;if((e|0)<(c[a+120>>2]|0))return i|0;c[a+120>>2]=e+1;return i|0}function Wf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;f=Is()|0;vj(f,4,b);c[f>>2]=4900;c[f+552>>2]=c[d>>2];c[f+552+4>>2]=c[d+4>>2];c[f+552+8>>2]=c[d+8>>2];c[f+552+12>>2]=c[d+12>>2];c[f+568>>2]=c[d+16>>2];c[f+568+4>>2]=c[d+16+4>>2];c[f+568+8>>2]=c[d+16+8>>2];c[f+568+12>>2]=c[d+16+12>>2];c[f+584>>2]=c[d+32>>2];c[f+584+4>>2]=c[d+32+4>>2];c[f+584+8>>2]=c[d+32+8>>2];c[f+584+12>>2]=c[d+32+12>>2];c[f+600>>2]=c[d+48>>2];c[f+600+4>>2]=c[d+48+4>>2];c[f+600+8>>2]=c[d+48+8>>2];c[f+600+12>>2]=c[d+48+12>>2];c[f+616>>2]=c[d>>2];c[f+616+4>>2]=c[d+4>>2];c[f+616+8>>2]=c[d+8>>2];c[f+616+12>>2]=c[d+12>>2];c[f+632>>2]=c[d+16>>2];c[f+632+4>>2]=c[d+16+4>>2];c[f+632+8>>2]=c[d+16+8>>2];c[f+632+12>>2]=c[d+16+12>>2];c[f+648>>2]=c[d+32>>2];c[f+648+4>>2]=c[d+32+4>>2];c[f+648+8>>2]=c[d+32+8>>2];c[f+648+12>>2]=c[d+32+12>>2];c[f+664>>2]=c[d+48>>2];c[f+664+4>>2]=c[d+48+4>>2];c[f+664+8>>2]=c[d+48+8>>2];c[f+664+12>>2]=c[d+48+12>>2];g[f+688>>2]=0.0;g[f+692>>2]=-1.0;g[f+696>>2]=.8999999761581421;g[f+700>>2]=.30000001192092896;g[f+704>>2]=1.0;g[f+708>>2]=0.0;g[f+712>>2]=0.0;a[f+716>>0]=0;a[f+736>>0]=0;a[f+737>>0]=0;a[f+738>>0]=0;a[f+739>>0]=1;a[f+740>>0]=e&1;c[f+748>>2]=0;d=c[f+28>>2]|0;l=+g[f+600>>2];k=+g[f+604>>2];j=+g[f+608>>2];i=l*+g[d+20>>2]+k*+g[d+24>>2]+j*+g[d+28>>2]+ +g[d+56>>2];h=l*+g[d+36>>2]+k*+g[d+40>>2]+j*+g[d+44>>2]+ +g[d+60>>2];g[f+664>>2]=l*+g[d+4>>2]+k*+g[d+8>>2]+j*+g[d+12>>2]+ +g[d+52>>2];g[f+668>>2]=i;g[f+672>>2]=h;g[f+676>>2]=0.0;g[f+732>>2]=e?-1.0:1.0;return f|0}function Xf(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,m=0,n=0,o=0;o=l;l=l+32|0;if((b|0)<0)b=c[a+12>>2]|0;d=c[a>>2]|0;if(!((b|0)>0&(d|0)!=0)){l=o;return}while(1){e=d+40|0;if(c[e>>2]|0){n=0;while(1){m=(c[a+16>>2]|0)>>>n&1;k=d+32|0;f=c[k>>2]|0;if(f>>>0>d>>>0){i=(c[f+40>>2]|0)==(d|0)&1;g=c[f+36+((i^1)<<2)>>2]|0;h=c[f+32>>2]|0;if(!h)j=a;else j=h+36+(((c[h+40>>2]|0)==(f|0)&1)<<2)|0;c[j>>2]=d;c[g+32>>2]=d;c[f+32>>2]=d;c[k>>2]=h;k=d+36|0;c[f+36>>2]=c[k>>2];c[f+40>>2]=c[e>>2];c[(c[k>>2]|0)+32>>2]=f;c[(c[e>>2]|0)+32>>2]=f;c[d+36+(i<<2)>>2]=f;c[d+36+((i^1)<<2)>>2]=g;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];c[o+16>>2]=c[f+16>>2];c[o+20>>2]=c[f+20>>2];c[o+24>>2]=c[f+24>>2];c[o+28>>2]=c[f+28>>2];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];c[f+16>>2]=c[d+16>>2];c[f+20>>2]=c[d+20>>2];c[f+24>>2]=c[d+24>>2];c[f+28>>2]=c[d+28>>2];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];c[d+16>>2]=c[o+16>>2];c[d+20>>2]=c[o+20>>2];c[d+24>>2]=c[o+24>>2];c[d+28>>2]=c[o+28>>2];d=f}d=c[d+36+(m<<2)>>2]|0;e=d+40|0;if(!(c[e>>2]|0))break;else n=n+1&31}}if(!(Sg(a,d)|0))e=0;else e=c[a>>2]|0;af(a,e,d);c[a+16>>2]=(c[a+16>>2]|0)+1;b=b+-1|0;if(!b)break;d=c[a>>2]|0}l=o;return}function Yf(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;e=Is()|0;vj(e,4,b);c[e>>2]=4900;c[e+552>>2]=c[d>>2];c[e+552+4>>2]=c[d+4>>2];c[e+552+8>>2]=c[d+8>>2];c[e+552+12>>2]=c[d+12>>2];c[e+568>>2]=c[d+16>>2];c[e+568+4>>2]=c[d+16+4>>2];c[e+568+8>>2]=c[d+16+8>>2];c[e+568+12>>2]=c[d+16+12>>2];c[e+584>>2]=c[d+32>>2];c[e+584+4>>2]=c[d+32+4>>2];c[e+584+8>>2]=c[d+32+8>>2];c[e+584+12>>2]=c[d+32+12>>2];c[e+600>>2]=c[d+48>>2];c[e+600+4>>2]=c[d+48+4>>2];c[e+600+8>>2]=c[d+48+8>>2];c[e+600+12>>2]=c[d+48+12>>2];c[e+616>>2]=c[d>>2];c[e+616+4>>2]=c[d+4>>2];c[e+616+8>>2]=c[d+8>>2];c[e+616+12>>2]=c[d+12>>2];c[e+632>>2]=c[d+16>>2];c[e+632+4>>2]=c[d+16+4>>2];c[e+632+8>>2]=c[d+16+8>>2];c[e+632+12>>2]=c[d+16+12>>2];c[e+648>>2]=c[d+32>>2];c[e+648+4>>2]=c[d+32+4>>2];c[e+648+8>>2]=c[d+32+8>>2];c[e+648+12>>2]=c[d+32+12>>2];c[e+664>>2]=c[d+48>>2];c[e+664+4>>2]=c[d+48+4>>2];c[e+664+8>>2]=c[d+48+8>>2];c[e+664+12>>2]=c[d+48+12>>2];g[e+688>>2]=0.0;g[e+692>>2]=-1.0;g[e+696>>2]=.8999999761581421;g[e+700>>2]=.30000001192092896;g[e+704>>2]=1.0;g[e+708>>2]=0.0;g[e+712>>2]=0.0;a[e+716>>0]=0;a[e+736>>0]=0;a[e+737>>0]=0;a[e+738>>0]=0;a[e+739>>0]=1;a[e+740>>0]=0;c[e+748>>2]=0;d=c[e+28>>2]|0;k=+g[e+600>>2];j=+g[e+604>>2];i=+g[e+608>>2];h=k*+g[d+20>>2]+j*+g[d+24>>2]+i*+g[d+28>>2]+ +g[d+56>>2];f=k*+g[d+36>>2]+j*+g[d+40>>2]+i*+g[d+44>>2]+ +g[d+60>>2];g[e+664>>2]=k*+g[d+4>>2]+j*+g[d+8>>2]+i*+g[d+12>>2]+ +g[d+52>>2];g[e+668>>2]=h;g[e+672>>2]=f;g[e+676>>2]=0.0;g[e+732>>2]=1.0;return e|0}function Zf(b){b=b|0;var d=0,e=0.0,f=0,h=0,i=0.0,j=0.0,k=0;k=l;l=l+64|0;bj(12402);a:do if(!(a[b+274>>0]|0)){d=c[b+232>>2]|0;if((d|0)>0){h=0;while(1){f=c[(c[b+240>>2]|0)+(h<<2)>>2]|0;switch(c[f+216>>2]|0){case 2:case 5:break;default:if((c[f+480>>2]|0)!=0?(c[f+204>>2]&3|0)==0:0){if((a[b+300>>0]|0)!=0?(j=+g[b+268>>2],j!=0.0):0)e=+g[b+264>>2]-j;else e=+g[b+264>>2]*+g[f+244>>2];Ig(f+68|0,+g[f+132>>2],+g[f+136>>2],+g[f+140>>2],f+148|0,e,k);d=c[f+480>>2]|0;Gb[c[(c[d>>2]|0)+12>>2]&127](d,k);d=c[b+232>>2]|0}}h=h+1|0;if((h|0)>=(d|0))break a}}}else{d=c[b+8>>2]|0;if((d|0)>0){h=0;do{f=c[(c[b+16>>2]|0)+(h<<2)>>2]|0;if((!((f|0)==0?1:(c[f+236>>2]&2|0)==0)?(c[f+480>>2]|0)!=0:0)?(c[f+204>>2]&3|0)==0:0){if((a[b+300>>0]|0)!=0?(i=+g[b+268>>2],i!=0.0):0)e=+g[b+264>>2]-i;else e=+g[b+264>>2]*+g[f+244>>2];Ig(f+68|0,+g[f+132>>2],+g[f+136>>2],+g[f+140>>2],f+148|0,e,k);d=c[f+480>>2]|0;Gb[c[(c[d>>2]|0)+12>>2]&127](d,k);d=c[b+8>>2]|0}h=h+1|0}while((h|0)<(d|0))}}while(0);d=c[2405]|0;b=(c[d+16>>2]|0)+-1|0;c[d+16>>2]=b;if(b|0){l=k;return}do if(c[d+4>>2]|0){Za(k|0,0)|0;b=c[6471]|0;g[d+8>>2]=+g[d+8>>2]+ +(((c[k+4>>2]|0)-(c[b+4>>2]|0)+(((c[k>>2]|0)-(c[b>>2]|0)|0)*1e6|0)-(c[d+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[d+16>>2]|0)){d=c[2405]|0;break}else{l=k;return}}while(0);c[2405]=c[d+20>>2];l=k;return}function _f(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.0,k=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,C=0.0,D=0.0,E=0.0;i=l;l=l+32|0;d=a[b+8>>0]|0?d:e;if(((c[(c[d+4>>2]|0)+4>>2]|0)+-21|0)>>>0>=9){l=i;return}e=c[(c[d+8>>2]|0)+192>>2]|0;y=+gb[c[(c[e>>2]|0)+48>>2]&15](e);c[b+64>>2]=f;g[b+68>>2]=y+.05999999865889549;c[b+56>>2]=h;h=c[b+16>>2]|0;Kb[c[(c[h>>2]|0)+28>>2]&127](h,i+16|0,i);y=+g[i>>2];x=+g[i+16>>2];w=+g[i+4>>2];v=+g[i+16+4>>2];u=+g[i+8>>2];t=+g[i+16+8>>2];h=c[d+12>>2]|0;C=+g[h>>2];o=+g[h+16>>2];D=+g[h+32>>2];z=+g[h+4>>2];m=+g[h+20>>2];A=+g[h+36>>2];q=+g[h+8>>2];j=+g[h+24>>2];r=+g[h+40>>2];E=-+g[h+48>>2];s=-+g[h+52>>2];k=-+g[h+56>>2];p=(y+x)*.5*C+(w+v)*.5*o+(u+t)*.5*D+(C*E+o*s+D*k);n=(y+x)*.5*z+(w+v)*.5*m+(u+t)*.5*A+(z*E+m*s+A*k);k=(y+x)*.5*q+(w+v)*.5*j+(u+t)*.5*r+(q*E+j*s+r*k);s=+g[b+68>>2];o=((y-x)*.5+s)*+B(+(C+o*0.0+D*0.0))+((w-v)*.5+s)*+B(+(C*0.0+o+D*0.0))+((u-t)*.5+s)*+B(+(D+(C*0.0+o*0.0)));m=((y-x)*.5+s)*+B(+(z+m*0.0+A*0.0))+((w-v)*.5+s)*+B(+(z*0.0+m+A*0.0))+((u-t)*.5+s)*+B(+(A+(z*0.0+m*0.0)));j=((y-x)*.5+s)*+B(+(q+j*0.0+r*0.0))+((w-v)*.5+s)*+B(+(q*0.0+j+r*0.0))+((u-t)*.5+s)*+B(+(r+(q*0.0+j*0.0)));g[b+24>>2]=p-o;g[b+28>>2]=n-m;g[b+32>>2]=k-j;g[b+36>>2]=0.0;g[b+40>>2]=p+o;g[b+44>>2]=n+m;g[b+48>>2]=k+j;g[b+52>>2]=0.0;Nb[c[(c[e>>2]|0)+64>>2]&127](e,b+12|0,b+24|0,b+40|0);l=i;return}function $f(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,m=0,n=0;k=l;l=l+16|0;c[b+8>>2]=0;c[b+12>>2]=1065353216;c[b+16>>2]=1065353216;c[b+20>>2]=1065353216;g[b+24>>2]=0.0;g[b+44>>2]=.03999999910593033;c[b+52>>2]=0;c[b+56>>2]=1065353216;c[b+60>>2]=1065353216;c[b+64>>2]=1065353216;g[b+68>>2]=0.0;c[b+72>>2]=-1082130432;c[b+76>>2]=-1082130432;c[b+80>>2]=-1082130432;g[b+84>>2]=0.0;a[b+88>>0]=0;c[b>>2]=7448;a[b+108>>0]=1;c[b+104>>2]=0;c[b+96>>2]=0;c[b+100>>2]=0;c[b+4>>2]=4;if((e|0)<=0){c[b+96>>2]=e;jj(b);l=k;return}c[6472]=(c[6472]|0)+1;h=ic((e<<4|3)+16|0)|0;if(!h)j=0;else{c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}h=c[b+96>>2]|0;if((h|0)>0){i=0;do{m=j+(i<<4)|0;n=(c[b+104>>2]|0)+(i<<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];i=i+1|0}while((i|0)!=(h|0))}h=c[b+104>>2]|0;if(h|0){if(a[b+108>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[h+-4>>2]|0)}c[b+104>>2]=0}a[b+108>>0]=1;c[b+104>>2]=j;c[b+100>>2]=e;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|0)!=1){h=1;do{n=(c[b+104>>2]|0)+(h<<4)|0;c[n>>2]=c[k>>2];c[n+4>>2]=c[k+4>>2];c[n+8>>2]=c[k+8>>2];c[n+12>>2]=c[k+12>>2];h=h+1|0}while((h|0)!=(e|0))}c[b+96>>2]=e;i=0;h=d;while(1){n=c[b+104>>2]|0;d=c[h+4>>2]|0;m=c[h+8>>2]|0;c[n+(i<<4)>>2]=c[h>>2];c[n+(i<<4)+4>>2]=d;c[n+(i<<4)+8>>2]=m;g[n+(i<<4)+12>>2]=0.0;i=i+1|0;if((i|0)==(e|0))break;else h=h+f|0}jj(b);l=k;return}function ag(b){b=b|0;var d=0;c[b>>2]=4952;d=c[b+176>>2]|0;if(d|0){if(a[b+180>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+176>>2]=0}a[b+180>>0]=1;c[b+176>>2]=0;c[b+168>>2]=0;c[b+172>>2]=0;d=c[b+156>>2]|0;if(d|0){if(a[b+160>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+156>>2]=0}a[b+160>>0]=1;c[b+156>>2]=0;c[b+148>>2]=0;c[b+152>>2]=0;d=c[b+136>>2]|0;if(d|0){if(a[b+140>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+136>>2]=0}a[b+140>>0]=1;c[b+136>>2]=0;c[b+128>>2]=0;c[b+132>>2]=0;d=c[b+116>>2]|0;if(d|0){if(a[b+120>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+116>>2]=0}a[b+120>>0]=1;c[b+116>>2]=0;c[b+108>>2]=0;c[b+112>>2]=0;d=c[b+96>>2]|0;if(d|0){if(a[b+100>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=0;c[b+88>>2]=0;c[b+92>>2]=0;d=c[b+76>>2]|0;if(d|0){if(a[b+80>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+76>>2]=0}a[b+80>>0]=1;c[b+76>>2]=0;c[b+68>>2]=0;c[b+72>>2]=0;d=c[b+56>>2]|0;if(d|0){if(a[b+60>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;d=c[b+36>>2]|0;if(d|0){if(a[b+40>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;d=c[b+16>>2]|0;if(!d){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}if(a[b+20>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}function bg(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,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.0;x=l;l=l+48|0;t=+g[e>>2];u=+g[d>>2];v=+g[e+4>>2];w=+g[d+4>>2];s=+g[e+8>>2];h=+g[d+8>>2];k=+C(+((t-u)*.5*(t-u)*.5+(v-w)*.5*(v-w)*.5+(s-h)*.5*(s-h)*.5));i=+g[a+56>>2];d=+B(+i)>.7071067690849304;j=+g[a+52>>2];if(d){r=1.0/+C(+(i*i+j*j));y=+g[a+48>>2];f=y;m=y*-(i*r);n=0.0;o=-(i*r);p=j*r;q=(i*i+j*j)*r;r=-(y*j*r)}else{q=+g[a+48>>2];r=1.0/+C(+(q*q+j*j));f=q;m=(q*q+j*j)*r;n=-(j*r);o=q*r;p=0.0;q=-(i*q*r);r=i*-(j*r)}y=(t+u)*.5*f+(v+w)*.5*j+(s+h)*.5*i-+g[a+64>>2];f=(t+u)*.5-f*y;n=k*n;o=k*o;u=k*p;q=k*q;r=k*r;t=k*m;g[x>>2]=q+(n+f);g[x+4>>2]=r+(o+((v+w)*.5-j*y));g[x+8>>2]=t+(u+((s+h)*.5-i*y));g[x+12>>2]=0.0;g[x+16>>2]=n+f-q;g[x+20>>2]=o+((v+w)*.5-j*y)-r;g[x+24>>2]=u+((s+h)*.5-i*y)-t;g[x+28>>2]=0.0;g[x+32>>2]=f-n-q;g[x+36>>2]=(v+w)*.5-j*y-o-r;g[x+40>>2]=(s+h)*.5-i*y-u-t;g[x+44>>2]=0.0;Nb[c[(c[b>>2]|0)+8>>2]&127](b,x,0,0);g[x>>2]=f-n-q;g[x+4>>2]=(v+w)*.5-j*y-o-r;g[x+8>>2]=(s+h)*.5-i*y-u-t;g[x+12>>2]=0.0;g[x+16>>2]=q+(f-n);g[x+20>>2]=r+((v+w)*.5-j*y-o);g[x+24>>2]=t+((s+h)*.5-i*y-u);g[x+28>>2]=0.0;g[x+32>>2]=q+(n+f);g[x+36>>2]=r+(o+((v+w)*.5-j*y));g[x+40>>2]=t+(u+((s+h)*.5-i*y));g[x+44>>2]=0.0;Nb[c[(c[b>>2]|0)+8>>2]&127](b,x,0,1);l=x;return}function cg(a,b,e){a=a|0;b=b|0;e=e|0;$e(a,b,e)|0;c[b+256>>2]=c[a+264>>2];c[b+260>>2]=c[a+268>>2];c[b+264>>2]=c[a+272>>2];c[b+268>>2]=c[a+276>>2];c[b+272>>2]=c[a+280>>2];c[b+276>>2]=c[a+284>>2];c[b+280>>2]=c[a+288>>2];c[b+284>>2]=c[a+292>>2];c[b+288>>2]=c[a+296>>2];c[b+292>>2]=c[a+300>>2];c[b+296>>2]=c[a+304>>2];c[b+300>>2]=c[a+308>>2];c[b+304>>2]=c[a+312>>2];c[b+308>>2]=c[a+316>>2];c[b+312>>2]=c[a+320>>2];c[b+316>>2]=c[a+324>>2];c[b+320>>2]=c[a+328>>2];c[b+324>>2]=c[a+332>>2];c[b+328>>2]=c[a+336>>2];c[b+332>>2]=c[a+340>>2];c[b+448>>2]=c[a+344>>2];c[b+336>>2]=c[a+544>>2];c[b+340>>2]=c[a+548>>2];c[b+344>>2]=c[a+552>>2];c[b+348>>2]=c[a+556>>2];c[b+352>>2]=c[a+348>>2];c[b+356>>2]=c[a+352>>2];c[b+360>>2]=c[a+356>>2];c[b+364>>2]=c[a+360>>2];c[b+368>>2]=c[a+364>>2];c[b+372>>2]=c[a+368>>2];c[b+376>>2]=c[a+372>>2];c[b+380>>2]=c[a+376>>2];c[b+384>>2]=c[a+380>>2];c[b+388>>2]=c[a+384>>2];c[b+392>>2]=c[a+388>>2];c[b+396>>2]=c[a+392>>2];c[b+400>>2]=c[a+396>>2];c[b+404>>2]=c[a+400>>2];c[b+408>>2]=c[a+404>>2];c[b+412>>2]=c[a+408>>2];c[b+416>>2]=c[a+412>>2];c[b+420>>2]=c[a+416>>2];c[b+424>>2]=c[a+420>>2];c[b+428>>2]=c[a+424>>2];c[b+432>>2]=c[a+428>>2];c[b+436>>2]=c[a+432>>2];c[b+440>>2]=c[a+436>>2];c[b+444>>2]=c[a+440>>2];c[b+452>>2]=c[a+444>>2];c[b+456>>2]=c[a+448>>2];c[b+484>>2]=d[a+452>>0];c[b+460>>2]=c[a+456>>2];c[b+464>>2]=c[a+460>>2];c[b+468>>2]=c[a+464>>2];c[b+472>>2]=c[a+468>>2];c[b+476>>2]=c[a+472>>2];c[b+480>>2]=c[a+476>>2];return 12028}function dg(b,d,e,f,h){b=b|0;d=+d;e=e|0;f=f|0;h=h|0;var i=0;i=l;l=l+144|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;c[b+188>>2]=0;c[b+188+4>>2]=0;c[b+188+8>>2]=0;c[b+188+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;g[b+244>>2]=1.0;c[b+248>>2]=0;c[b+248+4>>2]=0;c[b+248+8>>2]=0;c[b+248+12>>2]=0;c[b+4>>2]=1065353216;c[b+8>>2]=0;c[b+8+4>>2]=0;c[b+8+8>>2]=0;c[b+8+12>>2]=0;c[b+24>>2]=1065353216;c[b+28>>2]=0;c[b+28+4>>2]=0;c[b+28+8>>2]=0;c[b+28+12>>2]=0;c[b+44>>2]=1065353216;c[b+48>>2]=0;c[b+48+4>>2]=0;c[b+48+8>>2]=0;c[b+48+12>>2]=0;c[b+48+16>>2]=0;c[b>>2]=4252;a[b+500>>0]=1;c[b+496>>2]=0;c[b+488>>2]=0;c[b+492>>2]=0;g[i>>2]=d;c[i+4>>2]=e;c[i+72>>2]=f;c[i+76>>2]=c[h>>2];c[i+76+4>>2]=c[h+4>>2];c[i+76+8>>2]=c[h+8>>2];c[i+76+12>>2]=c[h+12>>2];g[i+92>>2]=0.0;g[i+96>>2]=0.0;g[i+100>>2]=.5;g[i+104>>2]=0.0;g[i+108>>2]=0.0;g[i+112>>2]=.800000011920929;g[i+116>>2]=1.0;a[i+120>>0]=0;g[i+124>>2]=.004999999888241291;g[i+128>>2]=.009999999776482582;g[i+132>>2]=.009999999776482582;g[i+136>>2]=.009999999776482582;c[i+8>>2]=1065353216;c[i+12>>2]=0;c[i+12+4>>2]=0;c[i+12+8>>2]=0;c[i+12+12>>2]=0;c[i+28>>2]=1065353216;c[i+32>>2]=0;c[i+32+4>>2]=0;c[i+32+8>>2]=0;c[i+32+12>>2]=0;c[i+48>>2]=1065353216;c[i+52>>2]=0;c[i+52+4>>2]=0;c[i+52+8>>2]=0;c[i+52+12>>2]=0;c[i+52+16>>2]=0;xd(b,i);l=i;return}function eg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;Yd(b,d);c[b>>2]=3212;c[6472]=(c[6472]|0)+1;e=ic(27)|0;i=e+4+15&-16;c[i+-4>>2]=e;a[i+4>>0]=0;c[(e+4+15&-16)>>2]=3244;c[b+92>>2]=i;c[6472]=(c[6472]|0)+1;i=ic(27)|0;e=i+4+15&-16;c[e+-4>>2]=i;a[e+4>>0]=0;c[(i+4+15&-16)>>2]=3264;c[b+96>>2]=e;c[6472]=(c[6472]|0)+1;e=ic(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[e>>2]=3264;c[b+100>>2]=e;a[e+4>>0]=1;c[6472]=(c[6472]|0)+1;i=ic(27)|0;e=i+4+15&-16;c[e+-4>>2]=i;a[e+4>>0]=0;c[(i+4+15&-16)>>2]=3284;c[b+104>>2]=e;c[6472]=(c[6472]|0)+1;e=ic(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[e>>2]=3304;c[b+108>>2]=e;a[e+4>>0]=1;if(!(a[b+20>>0]|0))return;e=c[b+16>>2]|0;if(!e)return;if((c[e>>2]|0)>=156)return;f=c[e+16>>2]|0;if(f){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0);e=c[b+16>>2]|0;if(!e)i=b+16|0;else{f=b+16|0;g=11}}else{f=b+16|0;g=11}if((g|0)==11){c[6473]=(c[6473]|0)+1;nd(c[e+-4>>2]|0);i=f}c[6472]=(c[6472]|0)+1;e=ic(39)|0;if(!e)h=0;else{c[(e+4+15&-16)+-4>>2]=e;h=e+4+15&-16}e=c[d+12>>2]|0;c[h>>2]=156;f=h+4|0;c[f>>2]=e;c[6472]=(c[6472]|0)+1;e=ic((e*156|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[h+16>>2]=e;c[h+12>>2]=e;f=c[f>>2]|0;c[h+8>>2]=f;if(f+-1|0){b=c[h>>2]|0;g=f+-1|0;d=e;do{j=d;d=d+b|0;c[j>>2]=d;g=g+-1|0}while((g|0)!=0);e=e+(O(b,f+-1|0)|0)|0}c[e>>2]=0;c[i>>2]=h;return}function fg(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;l=c[d>>2]|0;l=sb[c[(c[l>>2]|0)+56>>2]&31](l,48)|0;c[l+4>>2]=c[d>>2];c[l>>2]=6420;a[l+28>>0]=1;c[l+24>>2]=0;c[l+16>>2]=0;c[l+20>>2]=0;c[l+32>>2]=c[d+4>>2];a[l+36>>0]=0;c[6472]=(c[6472]|0)+1;b=ic(87)|0;if(!b)k=0;else{c[(b+4+15&-16)+-4>>2]=b;k=b+4+15&-16}c[k>>2]=9516;h=k+20|0;a[h>>0]=1;j=k+16|0;c[j>>2]=0;d=k+8|0;c[d>>2]=0;i=k+12|0;c[i>>2]=0;a[k+24>>0]=0;a[k+44>>0]=1;c[k+40>>2]=0;c[k+32>>2]=0;c[k+36>>2]=0;a[k+64>>0]=1;c[k+60>>2]=0;c[k+52>>2]=0;c[k+56>>2]=0;c[6472]=(c[6472]|0)+1;b=ic(43)|0;if(!b)g=0;else{c[(b+4+15&-16)+-4>>2]=b;g=b+4+15&-16}b=c[d>>2]|0;if((b|0)>0){d=0;do{m=g+(d*12|0)|0;n=(c[j>>2]|0)+(d*12|0)|0;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];d=d+1|0}while((d|0)!=(b|0))}b=c[j>>2]|0;if(!b){a[h>>0]=1;c[j>>2]=g;c[i>>2]=2;zf(k);n=l+8|0;c[n>>2]=k;n=e+4|0;n=c[n>>2]|0;n=n+68|0;n=c[n>>2]|0;m=l+40|0;c[m>>2]=n;m=f+4|0;m=c[m>>2]|0;m=m+68|0;m=c[m>>2]|0;n=l+44|0;c[n>>2]=m;return l|0}if(a[h>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[b+-4>>2]|0)}c[j>>2]=0;a[h>>0]=1;c[j>>2]=g;c[i>>2]=2;zf(k);n=l+8|0;c[n>>2]=k;n=e+4|0;n=c[n>>2]|0;n=n+68|0;n=c[n>>2]|0;m=l+40|0;c[m>>2]=n;m=f+4|0;m=c[m>>2]|0;m=m+68|0;m=c[m>>2]|0;n=l+44|0;c[n>>2]=m;return l|0}function gg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;Ab[c[(c[b>>2]|0)+32>>2]&511](b);e=ub[c[(c[b>>2]|0)+16>>2]&63](b,104,1)|0;d=c[e+8>>2]|0;f=d;g=f+104|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[d+88>>2]=c[a+248>>2];c[d+92>>2]=c[a+252>>2];c[d+96>>2]=c[a+256>>2];c[d+100>>2]=c[a+260>>2];c[d>>2]=c[a+92>>2];c[d+4>>2]=c[a+96>>2];c[d+8>>2]=c[a+100>>2];c[d+12>>2]=c[a+104>>2];c[d+16>>2]=c[a+108>>2];c[d+20>>2]=c[a+116>>2];c[d+24>>2]=c[a+120>>2];c[d+28>>2]=c[a+124>>2];c[d+32>>2]=c[a+128>>2];c[d+36>>2]=c[a+132>>2];c[d+40>>2]=c[a+140>>2];c[d+44>>2]=c[a+144>>2];c[d+48>>2]=c[a+148>>2];c[d+52>>2]=c[a+152>>2];c[d+56>>2]=c[a+168>>2];c[d+60>>2]=c[a+172>>2];c[d+64>>2]=c[a+112>>2];c[d+68>>2]=c[a+156>>2];c[d+72>>2]=c[a+160>>2];c[d+76>>2]=c[a+164>>2];c[d+80>>2]=c[a+136>>2];Rb[c[(c[b>>2]|0)+20>>2]&31](b,e,12441,1145853764,d);d=c[a+8>>2]|0;if((d|0)<=0){Ti(a,b);cd(a,b);a=c[b>>2]|0;a=a+36|0;a=c[a>>2]|0;Ab[a&511](b);return}f=0;do{e=c[(c[a+16>>2]|0)+(f<<2)>>2]|0;if(c[e+236>>2]&8){g=qb[c[(c[e>>2]|0)+16>>2]&127](e)|0;g=ub[c[(c[b>>2]|0)+16>>2]&63](b,g,1)|0;d=ub[c[(c[e>>2]|0)+20>>2]&63](e,c[g+8>>2]|0,b)|0;Rb[c[(c[b>>2]|0)+20>>2]&31](b,g,d,1497645651,e);d=c[a+8>>2]|0}f=f+1|0}while((f|0)<(d|0));Ti(a,b);cd(a,b);a=c[b>>2]|0;a=a+36|0;a=c[a>>2]|0;Ab[a&511](b);return}function hg(a,b){a=a|0;b=+b;var d=0,e=0,f=0,h=0,i=0.0,j=0.0,k=0.0;h=l;l=l+32|0;d=c[a+8>>2]|0;if((d|0)<=0){l=h;return}f=0;do{e=c[(c[a+16>>2]|0)+(f<<2)>>2]|0;if((!((e|0)==0?1:(c[e+236>>2]&2|0)==0)?(c[e+216>>2]|0)!=2:0)?!(b==0.0?1:(c[e+204>>2]&2|0)==0):0){d=c[e+480>>2]|0;if(!d)d=e+4|0;else{Gb[c[(c[d>>2]|0)+8>>2]&127](d,e+4|0);d=e+4|0}j=1.0/b*(+g[e+56>>2]-+g[e+120>>2]);k=1.0/b*(+g[e+60>>2]-+g[e+124>>2]);g[e+312>>2]=1.0/b*(+g[e+52>>2]-+g[e+116>>2]);g[e+316>>2]=j;g[e+320>>2]=k;g[e+324>>2]=0.0;vf(e+68|0,d,h+8|0,h);k=+g[h>>2];j=1.0/b*k*+g[h+8+4>>2];i=1.0/b*k*+g[h+8+8>>2];g[e+328>>2]=1.0/b*+g[h+8>>2]*k;g[e+332>>2]=j;g[e+336>>2]=i;g[e+340>>2]=0.0;c[e+132>>2]=c[e+312>>2];c[e+132+4>>2]=c[e+312+4>>2];c[e+132+8>>2]=c[e+312+8>>2];c[e+132+12>>2]=c[e+312+12>>2];c[e+148>>2]=c[e+328>>2];c[e+148+4>>2]=c[e+328+4>>2];c[e+148+8>>2]=c[e+328+8>>2];c[e+148+12>>2]=c[e+328+12>>2];c[e+68>>2]=c[d>>2];c[e+68+4>>2]=c[d+4>>2];c[e+68+8>>2]=c[d+8>>2];c[e+68+12>>2]=c[d+12>>2];c[e+84>>2]=c[e+20>>2];c[e+84+4>>2]=c[e+20+4>>2];c[e+84+8>>2]=c[e+20+8>>2];c[e+84+12>>2]=c[e+20+12>>2];c[e+100>>2]=c[e+36>>2];c[e+100+4>>2]=c[e+36+4>>2];c[e+100+8>>2]=c[e+36+8>>2];c[e+100+12>>2]=c[e+36+12>>2];c[e+116>>2]=c[e+52>>2];c[e+116+4>>2]=c[e+52+4>>2];c[e+116+8>>2]=c[e+52+8>>2];c[e+116+12>>2]=c[e+52+12>>2];d=c[a+8>>2]|0}f=f+1|0}while((f|0)<(d|0));l=h;return}function ig(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;if(!(a[d+164>>0]|0)){f=c[d+148>>2]|0;if((f|0)==(c[d+152>>2]|0)?(k=f|0?f<<1:1,(f|0)<(k|0)):0){if(!k)g=0;else{c[6472]=(c[6472]|0)+1;f=ic((k<<1)+19|0)|0;if(!f)g=0;else{c[(f+4+15&-16)+-4>>2]=f;g=f+4+15&-16}f=c[d+148>>2]|0}i=c[d+156>>2]|0;if((f|0)<=0)if(!i)f=d+160|0;else h=27;else{h=0;do{b[g+(h<<1)>>1]=b[i+(h<<1)>>1]|0;h=h+1|0}while((h|0)!=(f|0));h=27}if((h|0)==27){if(a[d+160>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0)}c[d+156>>2]=0;f=d+160|0}a[f>>0]=1;c[d+156>>2]=g;c[d+152>>2]=k;f=c[d+148>>2]|0}k=c[d+156>>2]|0;b[k+(f<<1)>>1]=e;c[d+148>>2]=f+1;e=k;d=d+32|0;d=c[d>>2]|0;d=d+4|0;c[d>>2]=e;return}else{f=c[d+128>>2]|0;if((f|0)==(c[d+132>>2]|0)?(j=f|0?f<<1:1,(f|0)<(j|0)):0){if(!j)g=0;else{c[6472]=(c[6472]|0)+1;f=ic((j<<2|3)+16|0)|0;if(!f)g=0;else{c[(f+4+15&-16)+-4>>2]=f;g=f+4+15&-16}f=c[d+128>>2]|0}i=c[d+136>>2]|0;if((f|0)<=0)if(!i)f=d+140|0;else h=12;else{h=0;do{c[g+(h<<2)>>2]=c[i+(h<<2)>>2];h=h+1|0}while((h|0)!=(f|0));h=12}if((h|0)==12){if(a[d+140>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0)}c[d+136>>2]=0;f=d+140|0}a[f>>0]=1;c[d+136>>2]=g;c[d+132>>2]=j;f=c[d+128>>2]|0}k=c[d+136>>2]|0;c[k+(f<<2)>>2]=e;c[d+128>>2]=(c[d+128>>2]|0)+1;e=k;d=d+32|0;d=c[d>>2]|0;d=d+4|0;c[d>>2]=e;return}}function jg(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;c[6458]=(c[6458]|0)+1;g=((d<<16|b)+~((d<<16|b)<<15)>>10^(d<<16|b)+~((d<<16|b)<<15))*9|0;l=c[a+40>>2]|0;g=l+(((c[a+12>>2]|0)+-1&((g>>6^g)+~((g>>6^g)<<11)>>16^(g>>6^g)+~((g>>6^g)<<11)))<<2)|0;f=c[g>>2]|0;if((f|0)==-1){n=0;return n|0}m=c[a+16>>2]|0;e=f;while(1){k=m+(e*12|0)|0;if((c[k>>2]|0)==(b|0)?(c[m+(e*12|0)+4>>2]|0)==(d|0):0)break;e=c[(c[a+60>>2]|0)+(e<<2)>>2]|0;if((e|0)==-1){e=0;n=21;break}}if((n|0)==21)return e|0;if(!k){n=0;return n|0}j=c[m+(e*12|0)+8>>2]|0;i=(e*12|0)/12|0;h=c[a+60>>2]|0;if((f|0)!=(i|0)){d=f;while(1){b=h+(d<<2)|0;e=c[b>>2]|0;if((e|0)==(i|0))break;else d=e}e=c[h+(i<<2)>>2]|0;if((d|0)==-1)n=11;else c[b>>2]=e}else{e=c[h+(f<<2)>>2]|0;n=11}if((n|0)==11)c[g>>2]=e;g=(c[a+8>>2]|0)+-1|0;if((g|0)==(i|0)){c[a+8>>2]=i;n=j;return n|0}f=c[m+(g*12|0)+4>>2]<<16|c[m+(g*12|0)>>2];f=(f+~(f<<15)>>10^f+~(f<<15))*9|0;f=((f>>6^f)+~((f>>6^f)<<11)>>16^(f>>6^f)+~((f>>6^f)<<11))&(c[a+12>>2]|0)+-1;e=c[l+(f<<2)>>2]|0;if((e|0)!=(g|0)){d=e;while(1){b=h+(d<<2)|0;e=c[b>>2]|0;if((e|0)==(g|0))break;else d=e}e=c[h+(g<<2)>>2]|0;if((d|0)==-1)n=19;else c[b>>2]=e}else{e=c[h+(g<<2)>>2]|0;n=19}if((n|0)==19)c[l+(f<<2)>>2]=e;c[k>>2]=c[m+(g*12|0)>>2];c[k+4>>2]=c[m+(g*12|0)+4>>2];c[k+8>>2]=c[m+(g*12|0)+8>>2];n=(c[a+40>>2]|0)+(f<<2)|0;c[(c[a+60>>2]|0)+(i<<2)>>2]=c[n>>2];c[n>>2]=i;c[a+8>>2]=(c[a+8>>2]|0)+-1;n=j;return n|0}function kg(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0,h=0,i=0,j=0,k=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0.0,v=0.0,w=0,x=0.0,y=0.0,z=0.0,A=0.0;h=l;l=l+16|0;b=+g[a+336>>2]*b;d=+g[a+452>>2];e=c[a+792>>2]|0;if((e|0)<=0){l=h;return}f=0;do{t=c[a+800>>2]|0;j=t+(f*96|0)+20|0;w=c[j>>2]|0;o=c[t+(f*96|0)>>2]|0;z=+g[t+(f*96|0)+4>>2];y=+g[t+(f*96|0)+8>>2];x=+g[t+(f*96|0)+12>>2];i=t+(f*96|0)+76|0;v=+g[w+332>>2];q=+g[t+(f*96|0)+84>>2];A=+g[w+336>>2];m=+g[t+(f*96|0)+80>>2];k=+g[i>>2];n=+g[w+328>>2];s=+g[o+8>>2];r=+g[o+12>>2];p=+g[o+16>>2];u=b*(z*+g[w+4>>2]+y*+g[w+8>>2]+x*+g[w+12>>2]+ +g[w+52>>2]-s)+(d*(v*q-A*m+ +g[w+312>>2])-(s-+g[o+24>>2]));q=b*(z*+g[w+20>>2]+y*+g[w+24>>2]+x*+g[w+28>>2]+ +g[w+56>>2]-r)+(d*(+g[w+316>>2]+(A*k-q*n))-(r-+g[o+28>>2]));k=b*(z*+g[w+36>>2]+y*+g[w+40>>2]+x*+g[w+44>>2]+ +g[w+60>>2]-p)+(d*(m*n-v*k+ +g[w+320>>2])-(p-+g[o+32>>2]));v=+g[t+(f*96|0)+24>>2];n=(u*+g[t+(f*96|0)+28>>2]+q*+g[t+(f*96|0)+32>>2]+ +g[t+(f*96|0)+36>>2]*k)*v;m=(u*+g[t+(f*96|0)+44>>2]+q*+g[t+(f*96|0)+48>>2]+k*+g[t+(f*96|0)+52>>2])*v;k=v*(u*+g[t+(f*96|0)+60>>2]+q*+g[t+(f*96|0)+64>>2]+k*+g[t+(f*96|0)+68>>2]);q=+g[t+(f*96|0)+92>>2];g[o+8>>2]=s+n*q;g[o+12>>2]=q*m+r;g[o+16>>2]=q*k+p;j=c[j>>2]|0;g[h>>2]=-n;g[h+4>>2]=-m;g[h+8>>2]=-k;g[h+12>>2]=0.0;Zk(j,h,i);f=f+1|0}while((f|0)!=(e|0));l=h;return}function lg(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,h=0.0,i=0,j=0.0,k=0,l=0,m=0.0,n=0.0,o=0,p=0.0;b=c[a+712>>2]|0;if((b|0)>0){d=0;do{l=(c[a+720>>2]|0)+(d*104|0)+72|0;d=d+1|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0}while((d|0)!=(b|0))}b=c[a+752>>2]|0;if((b|0)>0){d=0;do{o=c[a+760>>2]|0;k=c[o+(d*44|0)+12>>2]|0;i=c[o+(d*44|0)+8>>2]|0;j=+g[i+8>>2];e=+g[k+8>>2]-j;f=+g[i+12>>2];h=+g[k+12>>2]-f;m=+g[i+16>>2];n=+g[k+16>>2]-m;l=c[o+(d*44|0)+16>>2]|0;j=+g[l+8>>2]-j;f=+g[l+12>>2]-f;m=+g[l+16>>2]-m;p=1.0/+C(+((e*f-h*j)*(e*f-h*j)+((h*m-n*f)*(h*m-n*f)+(n*j-e*m)*(n*j-e*m))));g[o+(d*44|0)+20>>2]=p*(h*m-n*f);g[o+(d*44|0)+24>>2]=p*(n*j-e*m);g[o+(d*44|0)+28>>2]=(e*f-h*j)*p;c[o+(d*44|0)+32>>2]=0;g[i+72>>2]=h*m-n*f+ +g[i+72>>2];g[i+76>>2]=n*j-e*m+ +g[i+76>>2];g[i+80>>2]=e*f-h*j+ +g[i+80>>2];g[k+72>>2]=h*m-n*f+ +g[k+72>>2];g[k+76>>2]=n*j-e*m+ +g[k+76>>2];g[k+80>>2]=e*f-h*j+ +g[k+80>>2];g[l+72>>2]=h*m-n*f+ +g[l+72>>2];g[l+76>>2]=n*j-e*m+ +g[l+76>>2];g[l+80>>2]=e*f-h*j+ +g[l+80>>2];d=d+1|0}while((d|0)!=(b|0))}l=c[a+712>>2]|0;if((l|0)<=0)return;b=c[a+720>>2]|0;k=0;do{d=b+(k*104|0)+72|0;e=+g[d>>2];i=b+(k*104|0)+76|0;f=+g[i>>2];a=b+(k*104|0)+80|0;h=+g[a>>2];j=+C(+(e*e+f*f+h*h));if(j>1.1920928955078125e-07){g[d>>2]=e*(1.0/j);g[i>>2]=1.0/j*f;g[a>>2]=1.0/j*h}k=k+1|0}while((k|0)!=(l|0));return}function mg(b,d,e,f){b=b|0;d=+d;e=e|0;f=+f;var h=0,i=0.0,j=0,k=0;k=l;l=l+16|0;Za(c[6471]|0,0)|0;or(25844);c[6462]=(c[6462]|0)+1;j=c[6465]|0;c[6465]=j+1;if(!j){Za(k|0,0)|0;j=c[6471]|0;c[6464]=(c[k+4>>2]|0)-(c[j+4>>2]|0)+(((c[k>>2]|0)-(c[j>>2]|0)|0)*1e6|0)}c[6470]=0;Za(k|0,0)|0;bj(12426);if(e){g[b+268>>2]=f;i=+g[b+264>>2]+d;g[b+264>>2]=i;if(!(i>=f)){d=f;j=0}else{g[b+264>>2]=i-+(~~(i/f)|0)*f;d=f;j=~~(i/f)}}else{g[b+264>>2]=a[b+300>>0]|0?0.0:d;g[b+268>>2]=0.0;j=!(+B(+d)<1.1920928955078125e-07)&1;e=j}if(qb[c[(c[b>>2]|0)+20>>2]&127](b)|0){h=qb[c[(c[b>>2]|0)+20>>2]&127](b)|0;a[26472]=(qb[c[(c[h>>2]|0)+48>>2]&127](h)|0)>>>4&1}if(j){e=(j|0)>(e|0)?e:j;Bb[c[(c[b>>2]|0)+164>>2]&31](b,d*+(e|0));Ab[c[(c[b>>2]|0)+168>>2]&511](b);if((e|0)>0){h=0;do{Bb[c[(c[b>>2]|0)+160>>2]&31](b,d);Ab[c[(c[b>>2]|0)+80>>2]&511](b);h=h+1|0}while((h|0)<(e|0));e=b}else e=b}else{Ab[c[(c[b>>2]|0)+80>>2]&511](b);e=b}Ab[c[(c[e>>2]|0)+120>>2]&511](b);c[6470]=(c[6470]|0)+1;e=c[2405]|0;b=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=b;if(b|0){l=k;return j|0}do if(c[e+4>>2]|0){Za(k|0,0)|0;b=c[6471]|0;g[e+8>>2]=+g[e+8>>2]+ +(((c[k+4>>2]|0)-(c[b+4>>2]|0)+(((c[k>>2]|0)-(c[b>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[e+16>>2]|0)){e=c[2405]|0;break}else{l=k;return j|0}}while(0);c[2405]=c[e+20>>2];l=k;return j|0}function ng(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0;h=zs()|0;c[h+4>>2]=5;c[h+8>>2]=-1;c[h+12>>2]=-1;g[h+16>>2]=3402823466385288598117041.0e14;a[h+20>>0]=1;a[h+21>>0]=0;c[h+24>>2]=-1;c[h+28>>2]=b;c[h+32>>2]=d;g[h+36>>2]=0.0;g[h+40>>2]=.30000001192092896;c[h+44>>2]=0;c[h>>2]=4844;c[h+300>>2]=c[e>>2];c[h+300+4>>2]=c[e+4>>2];c[h+300+8>>2]=c[e+8>>2];c[h+300+12>>2]=c[e+12>>2];c[h+316>>2]=c[e+16>>2];c[h+316+4>>2]=c[e+16+4>>2];c[h+316+8>>2]=c[e+16+8>>2];c[h+316+12>>2]=c[e+16+12>>2];c[h+332>>2]=c[e+32>>2];c[h+332+4>>2]=c[e+32+4>>2];c[h+332+8>>2]=c[e+32+8>>2];c[h+332+12>>2]=c[e+32+12>>2];c[h+348>>2]=c[e+48>>2];c[h+348+4>>2]=c[e+48+4>>2];c[h+348+8>>2]=c[e+48+8>>2];c[h+348+12>>2]=c[e+48+12>>2];c[h+364>>2]=c[f>>2];c[h+364+4>>2]=c[f+4>>2];c[h+364+8>>2]=c[f+8>>2];c[h+364+12>>2]=c[f+12>>2];c[h+380>>2]=c[f+16>>2];c[h+380+4>>2]=c[f+16+4>>2];c[h+380+8>>2]=c[f+16+8>>2];c[h+380+12>>2]=c[f+16+12>>2];c[h+396>>2]=c[f+32>>2];c[h+396+4>>2]=c[f+32+4>>2];c[h+396+8>>2]=c[f+32+8>>2];c[h+396+12>>2]=c[f+32+12>>2];c[h+412>>2]=c[f+48>>2];c[h+412+4>>2]=c[f+48+4>>2];c[h+412+8>>2]=c[f+48+8>>2];c[h+412+12>>2]=c[f+48+12>>2];a[h+552>>0]=0;c[h+524>>2]=0;g[h+572>>2]=-1.0;g[h+444>>2]=999999984306749440.0;g[h+448>>2]=999999984306749440.0;g[h+452>>2]=999999984306749440.0;g[h+428>>2]=1.0;g[h+432>>2]=.30000001192092896;g[h+436>>2]=1.0;g[h+440>>2]=.009999999776482582;g[h+456>>2]=.05000000074505806;c[h+592>>2]=0;g[h+596>>2]=0.0;g[h+600>>2]=.699999988079071;g[h+604>>2]=0.0;return h|0}function og(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0.0,j=0.0,k=0.0,m=0,n=0.0;m=l;l=l+672|0;c[m+568+8>>2]=0;c[m+568+12>>2]=1065353216;c[m+568+16>>2]=1065353216;c[m+568+20>>2]=1065353216;g[m+568+24>>2]=0.0;c[m+568+52>>2]=0;c[m+568>>2]=3860;c[m+568+4>>2]=1;c[m+568+56>>2]=c[d>>2];c[m+568+56+4>>2]=c[d+4>>2];c[m+568+56+8>>2]=c[d+8>>2];c[m+568+56+12>>2]=c[d+12>>2];c[m+568+72>>2]=c[d+16>>2];c[m+568+72+4>>2]=c[d+16+4>>2];c[m+568+72+8>>2]=c[d+16+8>>2];c[m+568+72+12>>2]=c[d+16+12>>2];c[m+568+88>>2]=c[d+32>>2];c[m+568+88+4>>2]=c[d+32+4>>2];c[m+568+88+8>>2]=c[d+32+8>>2];c[m+568+88+12>>2]=c[d+32+12>>2];c[m+568+44>>2]=c[b+204>>2];g[m+208+308>>2]=9.999999747378752e-05;a[m+208+332>>0]=0;c[m+200>>2]=9312;d=c[b+4>>2]|0;c[m+176>>2]=9380;c[m+176+4>>2]=m+208;c[m+176+8>>2]=m+200;c[m+176+12>>2]=d;c[m+176+16>>2]=m+568;c[m+176+20>>2]=0;c[m>>2]=3832;c[m+168>>2]=0;g[m+164>>2]=1.0;c[m+172>>2]=c[b+208>>2];if((Jd(m+176|0,b+8|0,b+72|0,b+136|0,b+136|0,m)|0?(j=+g[m+132>>2],k=+g[m+136>>2],h=+g[m+140>>2],j*j+k*k+h*h>9.999999747378752e-05):0)?(i=+g[m+164>>2],i<+g[b+200>>2]):0){n=1.0/+C(+(j*j+k*k+h*h));g[m+132>>2]=j*n;g[m+136>>2]=k*n;g[m+140>>2]=h*n;+kb[c[(c[b>>2]|0)+12>>2]&3](b,m+132|0,m+148|0,i,e,f)}c[m+568>>2]=7316;e=c[m+568+52>>2]|0;if(!e){l=m;return}Ab[c[c[e>>2]>>2]&511](e);e=c[m+568+52>>2]|0;if(!e){l=m;return}c[6473]=(c[6473]|0)+1;nd(c[e+-4>>2]|0);l=m;return}function pg(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;h=+g[d+100>>2];j=+g[d+16>>2];k=+g[d+20>>2];l=+g[d+24>>2];e=+g[d+108>>2];e=+g[d+112>>2]-h*+g[d+116>>2]-(j*+g[a+64>>2]+k*+g[a+68>>2]+l*+g[a+72>>2]+(+g[d>>2]*+g[a+80>>2]+ +g[d+4>>2]*+g[a+84>>2]+ +g[d+8>>2]*+g[a+88>>2]))*e-e*(+g[d+48>>2]*+g[b+64>>2]+ +g[d+52>>2]*+g[b+68>>2]+ +g[d+56>>2]*+g[b+72>>2]+(+g[d+32>>2]*+g[b+80>>2]+ +g[d+36>>2]*+g[b+84>>2]+ +g[d+40>>2]*+g[b+88>>2]));f=+g[d+120>>2];if(!(h+e>2];if(h+e>f){i=f;e=f-h}else i=h+e}else{i=f;e=f-h}g[d+100>>2]=i;if(c[a+240>>2]|0){i=e*k*+g[a+132>>2]*+g[a+116>>2];k=e*l*+g[a+136>>2]*+g[a+120>>2];g[a+64>>2]=+g[a+112>>2]*e*j*+g[a+128>>2]+ +g[a+64>>2];g[a+68>>2]=i+ +g[a+68>>2];g[a+72>>2]=k+ +g[a+72>>2];k=e*+g[a+100>>2]*+g[d+68>>2];l=e*+g[a+104>>2]*+g[d+72>>2];g[a+80>>2]=e*+g[a+96>>2]*+g[d+64>>2]+ +g[a+80>>2];g[a+84>>2]=k+ +g[a+84>>2];g[a+88>>2]=l+ +g[a+88>>2]}if(!(c[b+240>>2]|0))return;l=e*+g[d+52>>2]*+g[b+132>>2]*+g[b+116>>2];k=e*+g[d+56>>2]*+g[b+136>>2]*+g[b+120>>2];g[b+64>>2]=+g[b+112>>2]*e*+g[d+48>>2]*+g[b+128>>2]+ +g[b+64>>2];g[b+68>>2]=l+ +g[b+68>>2];g[b+72>>2]=k+ +g[b+72>>2];k=e*+g[b+100>>2]*+g[d+84>>2];l=e*+g[b+104>>2]*+g[d+88>>2];g[b+80>>2]=e*+g[b+96>>2]*+g[d+80>>2]+ +g[b+80>>2];g[b+84>>2]=k+ +g[b+84>>2];g[b+88>>2]=l+ +g[b+88>>2];return}function qg(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;e=+g[d+128>>2];if(!(e!=0.0))return;c[6008]=(c[6008]|0)+1;k=+g[d+96>>2];f=+g[d+16>>2];h=+g[d+20>>2];i=+g[d+24>>2];j=+g[d+108>>2];j=e-k*+g[d+116>>2]-(f*+g[a+144>>2]+h*+g[a+148>>2]+i*+g[a+152>>2]+(+g[d>>2]*+g[a+160>>2]+ +g[d+4>>2]*+g[a+164>>2]+ +g[d+8>>2]*+g[a+168>>2]))*j-j*(+g[d+48>>2]*+g[b+144>>2]+ +g[d+52>>2]*+g[b+148>>2]+ +g[d+56>>2]*+g[b+152>>2]+(+g[d+32>>2]*+g[b+160>>2]+ +g[d+36>>2]*+g[b+164>>2]+ +g[d+40>>2]*+g[b+168>>2]));l=+g[d+120>>2];e=k+j>2]=k+j>2]|0){l=e*h*+g[a+132>>2]*+g[a+116>>2];k=e*i*+g[a+136>>2]*+g[a+120>>2];g[a+144>>2]=+g[a+112>>2]*e*f*+g[a+128>>2]+ +g[a+144>>2];g[a+148>>2]=l+ +g[a+148>>2];g[a+152>>2]=k+ +g[a+152>>2];k=e*+g[a+100>>2]*+g[d+68>>2];l=e*+g[a+104>>2]*+g[d+72>>2];g[a+160>>2]=e*+g[a+96>>2]*+g[d+64>>2]+ +g[a+160>>2];g[a+164>>2]=k+ +g[a+164>>2];g[a+168>>2]=l+ +g[a+168>>2]}if(!(c[b+240>>2]|0))return;l=e*+g[d+52>>2]*+g[b+132>>2]*+g[b+116>>2];k=e*+g[d+56>>2]*+g[b+136>>2]*+g[b+120>>2];g[b+144>>2]=+g[b+112>>2]*e*+g[d+48>>2]*+g[b+128>>2]+ +g[b+144>>2];g[b+148>>2]=l+ +g[b+148>>2];g[b+152>>2]=k+ +g[b+152>>2];k=e*+g[b+100>>2]*+g[d+84>>2];l=e*+g[b+104>>2]*+g[d+88>>2];g[b+160>>2]=e*+g[b+96>>2]*+g[d+80>>2]+ +g[b+160>>2];g[b+164>>2]=k+ +g[b+164>>2];g[b+168>>2]=l+ +g[b+168>>2];return}function rg(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0;t=l;l=l+32|0;s=c[a+12>>2]|0;if(!s){l=t;return}c[f+4>>2]=s;a=c[b+4>>2]|0;e=c[d+4>>2]|0;b=c[b+12>>2]|0;d=c[d+12>>2]|0;m=+g[d+48>>2];h=+g[b+48>>2]-m;n=+g[d+52>>2];i=+g[b+52>>2]-n;o=+g[d+56>>2];k=+g[b+56>>2]-o;q=+C(+(h*h+i*i+k*k));r=+g[e+28>>2]*+g[e+12>>2];p=+g[a+28>>2]*+g[a+12>>2]+r;if(q>p){if(!(c[s+748>>2]|0)){l=t;return}a=c[s+740>>2]|0;b=c[(c[f+8>>2]|0)+8>>2]|0;e=c[(c[f+12>>2]|0)+8>>2]|0;if((a|0)==(b|0)){Oe(s,a+4|0,e+4|0);l=t;return}else{Oe(s,e+4|0,b+4|0);l=t;return}}c[t+16>>2]=1065353216;c[t+16+4>>2]=0;c[t+16+8>>2]=0;g[t+16+12>>2]=0.0;if(q>1.1920928955078125e-07){g[t+16>>2]=h*(1.0/q);g[t+16+4>>2]=i*(1.0/q);g[t+16+8>>2]=k*(1.0/q);g[t+16+12>>2]=0.0;j=h*(1.0/q);i=i*(1.0/q);h=k*(1.0/q)}else{j=1.0;i=0.0;h=0.0}g[t>>2]=r*j+m;g[t+4>>2]=r*i+n;g[t+8>>2]=r*h+o;g[t+12>>2]=0.0;Lb[c[(c[f>>2]|0)+16>>2]&15](f,t+16|0,t,q-p);a=c[f+4>>2]|0;do if(c[a+748>>2]|0){b=c[a+740>>2]|0;d=c[(c[f+8>>2]|0)+8>>2]|0;e=c[(c[f+12>>2]|0)+8>>2]|0;if((b|0)==(d|0)){Oe(a,b+4|0,e+4|0);break}else{Oe(a,e+4|0,d+4|0);break}}while(0);l=t;return}function sg(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;c[6459]=(c[6459]|0)+1;l=((e<<16|d)+~((e<<16|d)<<15)>>10^(e<<16|d)+~((e<<16|d)<<15))*9|0;l=(l>>6^l)+~((l>>6^l)<<11)>>16^(l>>6^l)+~((l>>6^l)<<11);k=c[b+12>>2]|0;f=c[(c[b+40>>2]|0)+((k+-1&l)<<2)>>2]|0;a:do if((f|0)!=-1){h=c[b+16>>2]|0;while(1){g=h+(f*12|0)|0;if((c[g>>2]|0)==(d|0)?(c[h+(f*12|0)+4>>2]|0)==(e|0):0)break;f=c[(c[b+60>>2]|0)+(f<<2)>>2]|0;if((f|0)==-1)break a}if(g|0){b=g;return b|0}}while(0);j=c[b+8>>2]|0;if((j|0)==(k|0)){h=k|0?k<<1:1;if((k|0)<(h|0)){if(!h){g=k;i=0}else{c[6472]=(c[6472]|0)+1;f=ic((h*12|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}g=c[b+8>>2]|0;i=f}if((g|0)>0){f=0;do{m=i+(f*12|0)|0;n=(c[b+16>>2]|0)+(f*12|0)|0;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];f=f+1|0}while((f|0)!=(g|0))}f=c[b+16>>2]|0;if(f|0){if(a[b+20>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=i;c[b+12>>2]=h;f=c[b+8>>2]|0}else{f=k;h=k}}else{f=j;h=k}c[b+8>>2]=f+1;g=c[b+16>>2]|0;if((k|0)<(h|0)){zf(b);f=(c[b+12>>2]|0)+-1&l}else f=k+-1&l;c[g+(j*12|0)>>2]=d;c[g+(j*12|0)+4>>2]=e;c[g+(j*12|0)+8>>2]=0;n=(c[b+40>>2]|0)+(f<<2)|0;c[(c[b+60>>2]|0)+(j<<2)>>2]=c[n>>2];c[n>>2]=j;n=g+(j*12|0)|0;return n|0}function tg(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0;i=Is()|0;c[i+4>>2]=4;c[i+8>>2]=-1;c[i+12>>2]=-1;g[i+16>>2]=3402823466385288598117041.0e14;a[i+20>>0]=1;a[i+21>>0]=0;c[i+24>>2]=-1;c[i+28>>2]=b;c[i+32>>2]=d;g[i+36>>2]=0.0;g[i+40>>2]=.30000001192092896;c[i+44>>2]=0;c[i>>2]=4900;c[i+552>>2]=c[e>>2];c[i+552+4>>2]=c[e+4>>2];c[i+552+8>>2]=c[e+8>>2];c[i+552+12>>2]=c[e+12>>2];c[i+568>>2]=c[e+16>>2];c[i+568+4>>2]=c[e+16+4>>2];c[i+568+8>>2]=c[e+16+8>>2];c[i+568+12>>2]=c[e+16+12>>2];c[i+584>>2]=c[e+32>>2];c[i+584+4>>2]=c[e+32+4>>2];c[i+584+8>>2]=c[e+32+8>>2];c[i+584+12>>2]=c[e+32+12>>2];c[i+600>>2]=c[e+48>>2];c[i+600+4>>2]=c[e+48+4>>2];c[i+600+8>>2]=c[e+48+8>>2];c[i+600+12>>2]=c[e+48+12>>2];c[i+616>>2]=c[f>>2];c[i+616+4>>2]=c[f+4>>2];c[i+616+8>>2]=c[f+8>>2];c[i+616+12>>2]=c[f+12>>2];c[i+632>>2]=c[f+16>>2];c[i+632+4>>2]=c[f+16+4>>2];c[i+632+8>>2]=c[f+16+8>>2];c[i+632+12>>2]=c[f+16+12>>2];c[i+648>>2]=c[f+32>>2];c[i+648+4>>2]=c[f+32+4>>2];c[i+648+8>>2]=c[f+32+8>>2];c[i+648+12>>2]=c[f+32+12>>2];c[i+664>>2]=c[f+48>>2];c[i+664+4>>2]=c[f+48+4>>2];c[i+664+8>>2]=c[f+48+8>>2];c[i+664+12>>2]=c[f+48+12>>2];g[i+688>>2]=0.0;g[i+692>>2]=-1.0;g[i+696>>2]=.8999999761581421;g[i+700>>2]=.30000001192092896;g[i+704>>2]=1.0;g[i+708>>2]=0.0;g[i+712>>2]=0.0;a[i+716>>0]=0;a[i+736>>0]=0;a[i+737>>0]=0;a[i+738>>0]=0;a[i+739>>0]=1;a[i+740>>0]=h&1;c[i+748>>2]=0;g[i+732>>2]=h?-1.0:1.0;return i|0}function ug(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=sb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;g=sb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=g;if(g|0)Gb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];g=c[a+48>>2]|0;ub[c[(c[g>>2]|0)+56>>2]&63](g,b+12|0,d)|0;c[b+52>>2]=c[a+12>>2];do if((c[a+52>>2]|0)!=0?((qb[c[(c[d>>2]|0)+52>>2]&127](d)|0)&1|0)==0:0){e=sb[c[(c[d>>2]|0)+24>>2]&31](d,c[a+52>>2]|0)|0;if(!e){c[b+40>>2]=sb[c[(c[d>>2]|0)+28>>2]&31](d,c[a+52>>2]|0)|0;c[b+44>>2]=0;e=c[a+52>>2]|0;e=qb[c[(c[e>>2]|0)+12>>2]&127](e)|0;e=ub[c[(c[d>>2]|0)+16>>2]&63](d,e,1)|0;g=c[a+52>>2]|0;g=ub[c[(c[g>>2]|0)+16>>2]&63](g,c[e+8>>2]|0,d)|0;Rb[c[(c[d>>2]|0)+20>>2]&31](d,e,g,1213612625,c[a+52>>2]|0);break}else{c[b+40>>2]=e;c[b+44>>2]=0;break}}else f=8;while(0);if((f|0)==8){c[b+40>>2]=0;c[b+44>>2]=0}if(c[a+56>>2]|0?((qb[c[(c[d>>2]|0)+52>>2]&127](d)|0)&2|0)==0:0){e=sb[c[(c[d>>2]|0)+24>>2]&31](d,c[a+56>>2]|0)|0;if(!e){c[b+48>>2]=sb[c[(c[d>>2]|0)+28>>2]&31](d,c[a+56>>2]|0)|0;b=c[a+56>>2]|0;b=qb[c[(c[b>>2]|0)+8>>2]&127](b)|0;b=ub[c[(c[d>>2]|0)+16>>2]&63](d,b,1)|0;g=c[a+56>>2]|0;g=ub[c[(c[g>>2]|0)+12>>2]&63](g,c[b+8>>2]|0,d)|0;Rb[c[(c[d>>2]|0)+20>>2]&31](d,b,g,1346456916,c[a+56>>2]|0);return 16845}else{c[b+48>>2]=e;return 16845}}c[b+48>>2]=0;return 16845}function vg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0;h=Is()|0;c[h+4>>2]=4;c[h+8>>2]=-1;c[h+12>>2]=-1;g[h+16>>2]=3402823466385288598117041.0e14;a[h+20>>0]=1;a[h+21>>0]=0;c[h+24>>2]=-1;c[h+28>>2]=b;c[h+32>>2]=d;g[h+36>>2]=0.0;g[h+40>>2]=.30000001192092896;c[h+44>>2]=0;c[h>>2]=4900;c[h+552>>2]=c[e>>2];c[h+552+4>>2]=c[e+4>>2];c[h+552+8>>2]=c[e+8>>2];c[h+552+12>>2]=c[e+12>>2];c[h+568>>2]=c[e+16>>2];c[h+568+4>>2]=c[e+16+4>>2];c[h+568+8>>2]=c[e+16+8>>2];c[h+568+12>>2]=c[e+16+12>>2];c[h+584>>2]=c[e+32>>2];c[h+584+4>>2]=c[e+32+4>>2];c[h+584+8>>2]=c[e+32+8>>2];c[h+584+12>>2]=c[e+32+12>>2];c[h+600>>2]=c[e+48>>2];c[h+600+4>>2]=c[e+48+4>>2];c[h+600+8>>2]=c[e+48+8>>2];c[h+600+12>>2]=c[e+48+12>>2];c[h+616>>2]=c[f>>2];c[h+616+4>>2]=c[f+4>>2];c[h+616+8>>2]=c[f+8>>2];c[h+616+12>>2]=c[f+12>>2];c[h+632>>2]=c[f+16>>2];c[h+632+4>>2]=c[f+16+4>>2];c[h+632+8>>2]=c[f+16+8>>2];c[h+632+12>>2]=c[f+16+12>>2];c[h+648>>2]=c[f+32>>2];c[h+648+4>>2]=c[f+32+4>>2];c[h+648+8>>2]=c[f+32+8>>2];c[h+648+12>>2]=c[f+32+12>>2];c[h+664>>2]=c[f+48>>2];c[h+664+4>>2]=c[f+48+4>>2];c[h+664+8>>2]=c[f+48+8>>2];c[h+664+12>>2]=c[f+48+12>>2];g[h+688>>2]=0.0;g[h+692>>2]=-1.0;g[h+696>>2]=.8999999761581421;g[h+700>>2]=.30000001192092896;g[h+704>>2]=1.0;g[h+708>>2]=0.0;g[h+712>>2]=0.0;a[h+716>>0]=0;a[h+736>>0]=0;a[h+737>>0]=0;a[h+738>>0]=0;a[h+739>>0]=1;a[h+740>>0]=0;c[h+748>>2]=0;g[h+732>>2]=1.0;return h|0}function wg(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,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0;c[6472]=(c[6472]|0)+1;b=ic((h+2|0)>>>0>268435455?18:(h+2<<4|3)+16|0)|0;if(!b)k=0;else{c[(b+4+15&-16)+-4>>2]=b;k=b+4+15&-16}j=XH((h+2|0)>>>0>1073741823?-1:h+2<<2)|0;if((h|0)>-2){b=0;do{p=+(b|0)/+(h+1|0);o=+g[e>>2];n=+g[e+4>>2];n=n+p*(+g[f+4>>2]-n);m=+g[e+8>>2];m=m+p*(+g[f+8>>2]-m);g[k+(b<<4)>>2]=o+p*(+g[f>>2]-o);g[k+(b<<4)+4>>2]=n;g[k+(b<<4)+8>>2]=m;g[k+(b<<4)+12>>2]=0.0;g[j+(b<<2)>>2]=1.0;b=b+1|0}while((b|0)<(h+2|0))}c[6472]=(c[6472]|0)+1;b=ic(1271)|0;if(!b)l=0;else{c[(b+4+15&-16)+-4>>2]=b;l=b+4+15&-16}qc(l,d,h+2|0,k,j);if(i&1|0){g[(c[l+720>>2]|0)+88>>2]=0.0;a[l+924>>0]=1}if(i&2|0){g[(c[l+720>>2]|0)+((h+1|0)*104|0)+88>>2]=0.0;a[l+924>>0]=1}if(k|0){c[6473]=(c[6473]|0)+1;nd(c[k+-4>>2]|0)}YH(j);if((h+2|0)<=1)return l|0;j=l+720|0;k=l+732|0;f=l+740|0;b=l+924|0;e=1;do{r=e+-1|0;q=c[j>>2]|0;Rh(l,0);i=(c[k>>2]|0)+-1|0;d=c[f>>2]|0;c[d+(i*52|0)+8>>2]=q+(r*104|0);c[d+(i*52|0)+12>>2]=q+(e*104|0);n=+g[q+(r*104|0)+8>>2]-+g[q+(e*104|0)+8>>2];o=+g[q+(r*104|0)+12>>2]-+g[q+(e*104|0)+12>>2];p=+g[q+(r*104|0)+16>>2]-+g[q+(e*104|0)+16>>2];g[d+(i*52|0)+16>>2]=+C(+(n*n+o*o+p*p));a[b>>0]=1;e=e+1|0}while((e|0)!=(h+2|0));return l|0}function xg(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;k=+g[d+100>>2];e=+g[d+16>>2];f=+g[d+20>>2];h=+g[d+24>>2];j=+g[d+108>>2];j=+g[d+112>>2]-k*+g[d+116>>2]-(e*+g[a+64>>2]+f*+g[a+68>>2]+h*+g[a+72>>2]+(+g[d>>2]*+g[a+80>>2]+ +g[d+4>>2]*+g[a+84>>2]+ +g[d+8>>2]*+g[a+88>>2]))*j-j*(+g[d+48>>2]*+g[b+64>>2]+ +g[d+52>>2]*+g[b+68>>2]+ +g[d+56>>2]*+g[b+72>>2]+(+g[d+32>>2]*+g[b+80>>2]+ +g[d+36>>2]*+g[b+84>>2]+ +g[d+40>>2]*+g[b+88>>2]));l=+g[d+120>>2];i=k+j>2]=k+j>2]|0){l=i*f*+g[a+132>>2]*+g[a+116>>2];k=i*h*+g[a+136>>2]*+g[a+120>>2];g[a+64>>2]=+g[a+112>>2]*i*e*+g[a+128>>2]+ +g[a+64>>2];g[a+68>>2]=l+ +g[a+68>>2];g[a+72>>2]=k+ +g[a+72>>2];k=i*+g[a+100>>2]*+g[d+68>>2];l=i*+g[a+104>>2]*+g[d+72>>2];g[a+80>>2]=i*+g[a+96>>2]*+g[d+64>>2]+ +g[a+80>>2];g[a+84>>2]=k+ +g[a+84>>2];g[a+88>>2]=l+ +g[a+88>>2]}if(!(c[b+240>>2]|0))return;l=i*+g[d+52>>2]*+g[b+132>>2]*+g[b+116>>2];k=i*+g[d+56>>2]*+g[b+136>>2]*+g[b+120>>2];g[b+64>>2]=+g[b+112>>2]*i*+g[d+48>>2]*+g[b+128>>2]+ +g[b+64>>2];g[b+68>>2]=l+ +g[b+68>>2];g[b+72>>2]=k+ +g[b+72>>2];k=i*+g[b+100>>2]*+g[d+84>>2];l=i*+g[b+104>>2]*+g[d+88>>2];g[b+80>>2]=i*+g[b+96>>2]*+g[d+80>>2]+ +g[b+80>>2];g[b+84>>2]=k+ +g[b+84>>2];g[b+88>>2]=l+ +g[b+88>>2];return}function yg(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,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;J=+g[a+4>>2];I=+g[a+20>>2];H=+g[a+36>>2];F=+g[a+8>>2];E=+g[a+24>>2];D=+g[a+40>>2];B=+g[a+12>>2];z=+g[a+28>>2];x=+g[a+44>>2];u=+g[b+4>>2];t=+g[b+20>>2];s=+g[b+36>>2];q=+g[b+8>>2];p=+g[b+24>>2];o=+g[b+40>>2];m=+g[b+12>>2];k=+g[b+28>>2];i=+g[b+44>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;A=+g[e>>2];y=+g[e+4>>2];w=+g[e+8>>2];g[d+16>>2]=J*A+I*y+H*w;g[d+20>>2]=F*A+E*y+D*w;g[d+24>>2]=B*A+z*y+x*w;g[d+28>>2]=0.0;l=-+g[e>>2];j=-+g[e+4>>2];h=-+g[e+8>>2];g[d+32>>2]=u*l+t*j+s*h;g[d+36>>2]=q*l+p*j+o*h;g[d+40>>2]=m*l+k*j+i*h;g[d+44>>2]=0.0;G=(J*A+I*y+H*w)*+g[a+396>>2];C=(F*A+E*y+D*w)*+g[a+400>>2];v=(B*A+z*y+x*w)*+g[a+404>>2];g[d+48>>2]=G;g[d+52>>2]=C;g[d+56>>2]=v;g[d+60>>2]=0.0;r=(u*l+t*j+s*h)*+g[b+396>>2];n=(q*l+p*j+o*h)*+g[b+400>>2];f=(m*l+k*j+i*h)*+g[b+404>>2];g[d+64>>2]=r;g[d+68>>2]=n;g[d+72>>2]=f;g[d+76>>2]=0.0;g[d+80>>2]=(J*A+I*y+H*w)*G+(F*A+E*y+D*w)*C+(B*A+z*y+x*w)*v+((u*l+t*j+s*h)*r+(q*l+p*j+o*h)*n+(m*l+k*j+i*h)*f);return}function zg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0.0,j=0.0,k=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.0,x=0,y=0;x=l;l=l+16|0;f=c[a+52>>2]|0;w=+g[a+28+(((f+2|0)%3|0)<<2)>>2];if((e|0)<=0){l=x;return}h=0;while(1){c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[x+12>>2]=0;c[x+(f<<2)>>2]=c[a+28+(f<<2)>>2];f=b+(h<<4)|0;u=b+(h<<4)+4|0;v=b+(h<<4)+8|0;m=w*+g[f>>2]+ +g[x>>2];o=w*+g[u>>2]+ +g[x+4>>2];n=w*+g[v>>2]+ +g[x+8>>2];p=+gb[c[(c[a>>2]|0)+48>>2]&15](a);i=+g[f>>2];j=+g[u>>2];k=+g[v>>2];if(i*(m-p*i)+j*(o-p*j)+k*(n-p*k)>-999999984306749440.0){g[d+(h<<4)>>2]=m-p*i;g[d+(h<<4)+4>>2]=o-p*j;g[d+(h<<4)+8>>2]=n-p*k;g[d+(h<<4)+12>>2]=0.0;q=+g[f>>2];s=+g[u>>2];t=+g[v>>2];r=i*(m-p*i)+j*(o-p*j)+k*(n-p*k)}else{q=i;s=j;t=k;r=-999999984306749440.0}c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[x+12>>2]=0;y=c[a+52>>2]|0;g[x+(y<<2)>>2]=-+g[a+28+(y<<2)>>2];p=w*q+ +g[x>>2];o=w*s+ +g[x+4>>2];m=w*t+ +g[x+8>>2];n=+gb[c[(c[a>>2]|0)+48>>2]&15](a);k=+g[f>>2];j=+g[u>>2];i=+g[v>>2];if(k*(p-n*k)+j*(o-n*j)+i*(m-n*i)>r){g[d+(h<<4)>>2]=p-n*k;g[d+(h<<4)+4>>2]=o-n*j;g[d+(h<<4)+8>>2]=m-n*i;g[d+(h<<4)+12>>2]=0.0}h=h+1|0;if((h|0)==(e|0))break;f=c[a+52>>2]|0}l=x;return}function Ag(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];s=+g[e+4>>2];v=+g[a+8>>2];w=+g[e+8>>2];p=+g[a+4>>2];m=+g[a>>2];r=+g[e>>2];u=(s*v-w*p)*+g[b>>2]+ +g[b+4>>2]*(w*m-v*r)+(p*r-s*m)*+g[b+8>>2];t=(s*v-w*p)*+g[b+16>>2]+(w*m-v*r)*+g[b+20>>2]+(p*r-s*m)*+g[b+24>>2];s=(s*v-w*p)*+g[b+32>>2]+(w*m-v*r)*+g[b+36>>2]+(p*r-s*m)*+g[b+40>>2];g[a+16>>2]=u;g[a+20>>2]=t;g[a+24>>2]=s;g[a+28>>2]=0.0;r=+g[f+4>>2];w=+g[f+8>>2];n=+g[f>>2];q=+g[d>>2]*(r*-v-w*-p)+ +g[d+4>>2]*(w*-m-n*-v)+(n*-p-r*-m)*+g[d+8>>2];o=(r*-v-w*-p)*+g[d+16>>2]+(w*-m-n*-v)*+g[d+20>>2]+(n*-p-r*-m)*+g[d+24>>2];m=(r*-v-w*-p)*+g[d+32>>2]+(w*-m-n*-v)*+g[d+36>>2]+(n*-p-r*-m)*+g[d+40>>2];g[a+32>>2]=q;g[a+36>>2]=o;g[a+40>>2]=m;g[a+44>>2]=0.0;u=+g[i>>2]*u;t=+g[i+4>>2]*t;s=+g[i+8>>2]*s;g[a+48>>2]=u;g[a+52>>2]=t;g[a+56>>2]=s;g[a+60>>2]=0.0;r=+g[k>>2]*q;p=+g[k+4>>2]*o;n=+g[k+8>>2]*m;g[a+64>>2]=r;g[a+68>>2]=p;g[a+72>>2]=n;g[a+76>>2]=0.0;g[a+80>>2]=u*+g[a+16>>2]+t*+g[a+20>>2]+s*+g[a+24>>2]+j+l+(r*q+p*o+n*m);return}function Bg(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;k=l;l=l+96|0;g=c[b+8>>2]|0;if((g|0)==(c[b+12>>2]|0)?(j=g|0?g<<1:1,(g|0)<(j|0)):0){if(!j)h=0;else{c[6472]=(c[6472]|0)+1;g=ic((j<<2|3)+16|0)|0;if(!g)h=0;else{c[(g+4+15&-16)+-4>>2]=g;h=g+4+15&-16}g=c[b+8>>2]|0}if((g|0)>0){i=0;do{c[h+(i<<2)>>2]=c[(c[b+16>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(g|0))}i=c[b+16>>2]|0;if(i){if(a[b+20>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0);g=c[b+8>>2]|0}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=h;c[b+12>>2]=j}c[(c[b+16>>2]|0)+(g<<2)>>2]=d;c[b+8>>2]=g+1;c[k+32>>2]=c[d+4>>2];c[k+32+4>>2]=c[d+4+4>>2];c[k+32+8>>2]=c[d+4+8>>2];c[k+32+12>>2]=c[d+4+12>>2];c[k+32+16>>2]=c[d+20>>2];c[k+32+16+4>>2]=c[d+20+4>>2];c[k+32+16+8>>2]=c[d+20+8>>2];c[k+32+16+12>>2]=c[d+20+12>>2];c[k+32+32>>2]=c[d+36>>2];c[k+32+32+4>>2]=c[d+36+4>>2];c[k+32+32+8>>2]=c[d+36+8>>2];c[k+32+32+12>>2]=c[d+36+12>>2];c[k+32+48>>2]=c[d+52>>2];c[k+32+48+4>>2]=c[d+52+4>>2];c[k+32+48+8>>2]=c[d+52+8>>2];c[k+32+48+12>>2]=c[d+52+12>>2];j=c[d+192>>2]|0;Nb[c[(c[j>>2]|0)+8>>2]&127](j,k+32|0,k+16|0,k);j=c[b+68>>2]|0;c[d+188>>2]=xb[c[(c[j>>2]|0)+8>>2]&3](j,k+16|0,k,c[(c[d+192>>2]|0)+4>>2]|0,d,e,f,c[b+24>>2]|0,0)|0;l=k;return}function Cg(b){b=b|0;var d=0,e=0,f=0;c[b>>2]=4288;if(a[b+272>>0]|0?(d=c[b+204>>2]|0,Ab[c[c[d>>2]>>2]&511](d),d=c[b+204>>2]|0,d|0):0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}d=c[b+196>>2]|0;if(d|0?(Ab[c[c[d>>2]>>2]&511](d),f=c[b+196>>2]|0,f|0):0){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0)}if(a[b+273>>0]|0?(e=c[b+200>>2]|0,Ab[c[c[e>>2]>>2]&511](e),e=c[b+200>>2]|0,e|0):0){c[6473]=(c[6473]|0)+1;nd(c[e+-4>>2]|0)}d=c[b+316>>2]|0;if(d|0){if(a[b+320>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+316>>2]=0}a[b+320>>0]=1;c[b+316>>2]=0;c[b+308>>2]=0;c[b+312>>2]=0;d=c[b+288>>2]|0;if(d|0){if(a[b+292>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+288>>2]=0}a[b+292>>0]=1;c[b+288>>2]=0;c[b+280>>2]=0;c[b+284>>2]=0;d=c[b+240>>2]|0;if(d|0){if(a[b+244>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+240>>2]=0}a[b+244>>0]=1;c[b+240>>2]=0;c[b+232>>2]=0;c[b+236>>2]=0;d=c[b+220>>2]|0;if(d|0){if(a[b+224>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+220>>2]=0}a[b+224>>0]=1;c[b+220>>2]=0;c[b+212>>2]=0;c[b+216>>2]=0;d=c[b+188>>2]|0;if(!d){a[b+192>>0]=1;c[b+188>>2]=0;c[b+180>>2]=0;f=b+184|0;c[f>>2]=0;Aj(b);return}if(a[b+192>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+188>>2]=0;a[b+192>>0]=1;c[b+188>>2]=0;c[b+180>>2]=0;f=b+184|0;c[f>>2]=0;Aj(b);return}function Dg(b,d,e,f,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=+f;h=+h;i=+i;j=j|0;k=k|0;l=l|0;var m=0.0,n=0.0,o=0.0,p=0;p=qs()|0;c[p+8>>2]=0;g[p+12>>2]=0.0;c[p>>2]=8252;c[p+4>>2]=24;c[p+64>>2]=b;c[p+68>>2]=d;g[p+72>>2]=h;g[p+76>>2]=i;g[p+80>>2]=+(b+-1|0);g[p+84>>2]=+(d+-1|0);g[p+88>>2]=f;c[p+92>>2]=e;c[p+96>>2]=k;a[p+100>>0]=l&1;a[p+101>>0]=0;a[p+102>>0]=0;c[p+104>>2]=j;c[p+108>>2]=1065353216;c[p+112>>2]=1065353216;c[p+116>>2]=1065353216;g[p+120>>2]=0.0;switch(j|0){case 0:{g[p+16>>2]=h;c[p+20>>2]=0;c[p+24>>2]=0;g[p+28>>2]=0.0;g[p+32>>2]=i;g[p+36>>2]=+(b+-1|0);g[p+40>>2]=+(d+-1|0);g[p+44>>2]=0.0;f=0.0;m=+(d+-1|0);n=0.0;o=i;i=+(b+-1|0);break}case 1:{c[p+16>>2]=0;g[p+20>>2]=h;c[p+24>>2]=0;g[p+28>>2]=0.0;g[p+32>>2]=+(b+-1|0);g[p+36>>2]=i;g[p+40>>2]=+(d+-1|0);g[p+44>>2]=0.0;f=h;m=+(d+-1|0);n=0.0;o=+(b+-1|0);h=0.0;break}case 2:{c[p+16>>2]=0;c[p+20>>2]=0;g[p+24>>2]=h;g[p+28>>2]=0.0;g[p+32>>2]=+(b+-1|0);g[p+36>>2]=+(d+-1|0);g[p+40>>2]=i;g[p+44>>2]=0.0;f=0.0;m=i;n=h;o=+(b+-1|0);h=0.0;i=+(d+-1|0);break}default:{f=+g[p+20>>2];m=+g[p+40>>2];n=+g[p+24>>2];o=+g[p+32>>2];h=+g[p+16>>2];i=+g[p+36>>2]}}g[p+48>>2]=(h+o)*.5;g[p+52>>2]=(f+i)*.5;g[p+56>>2]=(n+m)*.5;g[p+60>>2]=0.0;return p|0}function Eg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0.0,j=0.0,k=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;h=l;l=l+64|0;a[d+84>>0]=0;c[h>>2]=c[b+4>>2];c[h+4>>2]=c[b+4+4>>2];c[h+8>>2]=c[b+4+8>>2];c[h+12>>2]=c[b+4+12>>2];c[h+16>>2]=c[b+20>>2];c[h+16+4>>2]=c[b+20+4>>2];c[h+16+8>>2]=c[b+20+8>>2];c[h+16+12>>2]=c[b+20+12>>2];c[h+32>>2]=c[b+36>>2];c[h+32+4>>2]=c[b+36+4>>2];c[h+32+8>>2]=c[b+36+8>>2];c[h+32+12>>2]=c[b+36+12>>2];c[h+48>>2]=c[b+52>>2];c[h+48+4>>2]=c[b+52+4>>2];c[h+48+8>>2]=c[b+52+8>>2];c[h+48+12>>2]=c[b+52+12>>2];if(e?(f=c[b+480>>2]|0,f|0):0)Gb[c[(c[f>>2]|0)+8>>2]&127](f,h);w=+g[d+156>>2];u=+g[h>>2];v=+g[d+160>>2];t=+g[h+4>>2];o=+g[d+164>>2];s=+g[h+8>>2];r=+g[h+16>>2];q=+g[h+20>>2];p=+g[h+24>>2];n=+g[h+32>>2];k=+g[h+36>>2];i=+g[h+40>>2];m=w*r+v*q+o*p+ +g[h+52>>2];j=w*n+v*k+o*i+ +g[h+56>>2];g[d+36>>2]=w*u+v*t+o*s+ +g[h+48>>2];g[d+40>>2]=m;g[d+44>>2]=j;g[d+48>>2]=0.0;j=+g[d+172>>2];m=+g[d+176>>2];o=+g[d+180>>2];g[d+52>>2]=u*j+t*m+s*o;g[d+56>>2]=j*r+m*q+o*p;g[d+60>>2]=j*n+m*k+o*i;g[d+64>>2]=0.0;o=+g[d+188>>2];m=+g[d+192>>2];j=+g[d+196>>2];g[d+68>>2]=u*o+t*m+s*j;g[d+72>>2]=o*r+m*q+j*p;g[d+76>>2]=o*n+m*k+j*i;g[d+80>>2]=0.0;l=h;return}function Fg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=b;break a}case 10:{b=(c[d>>2]|0)+(4-1)&~(4-1);e=c[b>>2]|0;c[d>>2]=b+4;c[a>>2]=e;c[a+4>>2]=((e|0)<0)<<31>>31;break a}case 11:{b=(c[d>>2]|0)+(4-1)&~(4-1);e=c[b>>2]|0;c[d>>2]=b+4;c[a>>2]=e;c[a+4>>2]=0;break a}case 12:{f=(c[d>>2]|0)+(8-1)&~(8-1);b=c[f>>2]|0;e=c[f+4>>2]|0;c[d>>2]=f+8;c[a>>2]=b;c[a+4>>2]=e;break a}case 13:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=(f&65535)<<16>>16;c[a+4>>2]=(((f&65535)<<16>>16|0)<0)<<31>>31;break a}case 14:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=f&65535;c[a+4>>2]=0;break a}case 15:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=(f&255)<<24>>24;c[a+4>>2]=(((f&255)<<24>>24|0)<0)<<31>>31;break a}case 16:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=f&255;c[a+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}case 18:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}default:break a}while(0);while(0);return}function Gg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0.0,j=0.0,k=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,x=0.0,y=0;w=l;l=l+2048|0;if((e|0)>0)f=0;else{l=w;return}do{g[d+(f<<4)+12>>2]=-999999984306749440.0;f=f+1|0}while((f|0)!=(e|0));t=0;do{if((qb[c[(c[a>>2]|0)+96>>2]&127](a)|0)>0){p=b+(t<<4)|0;s=b+(t<<4)+4|0;o=b+(t<<4)+8|0;r=d+(t<<4)+12|0;q=d+(t<<4)|0;u=0;do{if(((qb[c[(c[a>>2]|0)+96>>2]&127](a)|0)-u|0)<128){f=(qb[c[(c[a>>2]|0)+96>>2]&127](a)|0)-u|0;if((f|0)>0)v=10;else{i=-3402823466385288598117041.0e14;f=-1}}else{f=128;v=10}if((v|0)==10){v=0;h=0;do{Kb[c[(c[a>>2]|0)+108>>2]&127](a,h,w+(h<<4)|0);h=h+1|0}while((h|0)!=(f|0));j=+g[p>>2];k=+g[s>>2];m=+g[o>>2];n=0;i=-3402823466385288598117041.0e14;h=-1;do{x=j*+g[w+(n<<4)>>2]+k*+g[w+(n<<4)+4>>2]+m*+g[w+(n<<4)+8>>2];y=x>i;h=y?n:h;i=y?x:i;n=n+1|0}while((n|0)!=(f|0));f=h}if(i>+g[r>>2]){y=w+(f<<4)|0;c[q>>2]=c[y>>2];c[q+4>>2]=c[y+4>>2];c[q+8>>2]=c[y+8>>2];c[q+12>>2]=c[y+12>>2];g[r>>2]=i}u=u+128|0}while((u|0)<(qb[c[(c[a>>2]|0)+96>>2]&127](a)|0))}t=t+1|0}while((t|0)!=(e|0));l=w;return}function Hg(b,d){b=b|0;d=d|0;var e=0;e=zs()|0;vj(e,5,b);c[e>>2]=4844;c[e+300>>2]=c[d>>2];c[e+300+4>>2]=c[d+4>>2];c[e+300+8>>2]=c[d+8>>2];c[e+300+12>>2]=c[d+12>>2];c[e+316>>2]=c[d+16>>2];c[e+316+4>>2]=c[d+16+4>>2];c[e+316+8>>2]=c[d+16+8>>2];c[e+316+12>>2]=c[d+16+12>>2];c[e+332>>2]=c[d+32>>2];c[e+332+4>>2]=c[d+32+4>>2];c[e+332+8>>2]=c[d+32+8>>2];c[e+332+12>>2]=c[d+32+12>>2];c[e+348>>2]=c[d+48>>2];c[e+348+4>>2]=c[d+48+4>>2];c[e+348+8>>2]=c[d+48+8>>2];c[e+348+12>>2]=c[d+48+12>>2];a[e+527>>0]=0;c[e+364>>2]=c[e+300>>2];c[e+364+4>>2]=c[e+300+4>>2];c[e+364+8>>2]=c[e+300+8>>2];c[e+364+12>>2]=c[e+300+12>>2];c[e+380>>2]=c[e+316>>2];c[e+380+4>>2]=c[e+316+4>>2];c[e+380+8>>2]=c[e+316+8>>2];c[e+380+12>>2]=c[e+316+12>>2];c[e+396>>2]=c[e+332>>2];c[e+396+4>>2]=c[e+332+4>>2];c[e+396+8>>2]=c[e+332+8>>2];c[e+396+12>>2]=c[e+332+12>>2];a[e+524>>0]=0;a[e+525>>0]=0;a[e+526>>0]=0;a[e+552>>0]=0;c[e+412>>2]=0;c[e+412+4>>2]=0;c[e+412+8>>2]=0;c[e+412+12>>2]=0;g[e+572>>2]=-1.0;g[e+444>>2]=999999984306749440.0;g[e+448>>2]=999999984306749440.0;g[e+452>>2]=999999984306749440.0;g[e+428>>2]=1.0;g[e+432>>2]=.30000001192092896;g[e+436>>2]=1.0;g[e+440>>2]=.009999999776482582;g[e+456>>2]=.05000000074505806;c[e+592>>2]=0;g[e+596>>2]=0.0;g[e+600>>2]=.699999988079071;g[e+604>>2]=0.0;return e|0}function Ig(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 i=0.0,j=0.0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0;k=l;l=l+16|0;j=c*f+ +g[a+52>>2];i=d*f+ +g[a+56>>2];g[h+48>>2]=b*f+ +g[a+48>>2];g[h+52>>2]=j;g[h+56>>2]=i;g[h+60>>2]=0.0;i=+g[e>>2];j=+g[e+4>>2];b=+g[e+8>>2];c=+C(+(i*i+j*j+b*b));c=c*f>.7853981852531433?.7853981852531433/f:c;if(c<1.0000000474974513e-03)d=f*.5-c*f*f*f*.02083333395421505*c;else d=+F(+(c*.5*f))/c;o=i*d;n=j*d;i=b*d;q=+E(+(c*f*.5));lh(a,k);b=+g[k>>2];p=+g[k+12>>2];c=+g[k+8>>2];f=+g[k+4>>2];r=1.0/+C(+((q*p-o*b-n*f-i*c)*(q*p-o*b-n*f-i*c)+((i*p+q*c+o*f-n*b)*(i*p+q*c+o*f-n*b)+((q*b+o*p+n*c-i*f)*(q*b+o*p+n*c-i*f)+(i*b+(n*p+q*f)-o*c)*(i*b+(n*p+q*f)-o*c)))));d=(q*b+o*p+n*c-i*f)*r;j=r*(i*b+(n*p+q*f)-o*c);m=r*(i*p+q*c+o*f-n*b);c=r*(q*p-o*b-n*f-i*c);i=d*(2.0/(c*c+(m*m+(d*d+j*j))));f=j*(2.0/(c*c+(m*m+(d*d+j*j))));b=m*(2.0/(c*c+(m*m+(d*d+j*j))));g[h>>2]=1.0-(j*f+m*b);g[h+4>>2]=d*f-c*b;g[h+8>>2]=d*b+c*f;g[h+12>>2]=0.0;g[h+16>>2]=d*f+c*b;g[h+20>>2]=1.0-(d*i+m*b);g[h+24>>2]=j*b-c*i;g[h+28>>2]=0.0;g[h+32>>2]=d*b-c*f;g[h+36>>2]=j*b+c*i;g[h+40>>2]=1.0-(d*i+j*f);g[h+44>>2]=0.0;l=k;return}function Jg(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var k=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0.0,t=0;r=l;l=l+16|0;g[e>>2]=3402823466385288598117041.0e14;g[f>>2]=-3402823466385288598117041.0e14;m=c[a+96>>2]|0;if((m|0)>0){q=0;do{t=c[a+104>>2]|0;s=+g[t+(q<<4)>>2]*+g[a+12>>2];n=+g[t+(q<<4)+4>>2]*+g[a+16>>2];o=+g[t+(q<<4)+8>>2]*+g[a+20>>2];k=s*+g[b>>2]+n*+g[b+4>>2]+o*+g[b+8>>2]+ +g[b+48>>2];p=s*+g[b+16>>2]+n*+g[b+20>>2]+o*+g[b+24>>2]+ +g[b+52>>2];o=s*+g[b+32>>2]+n*+g[b+36>>2]+o*+g[b+40>>2]+ +g[b+56>>2];n=k*+g[d>>2]+p*+g[d+4>>2]+o*+g[d+8>>2];if(n<+g[e>>2]){g[e>>2]=n;g[h>>2]=k;g[h+4>>2]=p;g[h+8>>2]=o;g[h+12>>2]=0.0}if(n>+g[f>>2]){g[f>>2]=n;g[i>>2]=k;g[i+4>>2]=p;g[i+8>>2]=o;g[i+12>>2]=0.0}q=q+1|0}while((q|0)!=(m|0));n=+g[f>>2];m=(g[j>>2]=n,c[j>>2]|0)}else{m=-8388609;n=-3402823466385288598117041.0e14}k=+g[e>>2];if(!(k>n)){l=r;return}c[e>>2]=m;g[f>>2]=k;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];c[h>>2]=c[i>>2];c[h+4>>2]=c[i+4>>2];c[h+8>>2]=c[i+8>>2];c[h+12>>2]=c[i+12>>2];c[i>>2]=c[r>>2];c[i+4>>2]=c[r+4>>2];c[i+8>>2]=c[r+8>>2];c[i+12>>2]=c[r+12>>2];l=r;return}function Kg(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+48|0;e=(c[a+48>>2]|0)+4|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=d+32+4|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;g[d+32>>2]=1.0;Kb[c[(c[a>>2]|0)+68>>2]&127](d+16|0,a,d+32|0);g[a+32>>2]=+g[d+16>>2]+ +g[a+12>>2];g[d+32>>2]=-1.0;Kb[c[(c[a>>2]|0)+68>>2]&127](d,a,d+32|0);c[d+16>>2]=c[d>>2];c[d+16+4>>2]=c[d+4>>2];c[d+16+8>>2]=c[d+8>>2];c[d+16+12>>2]=c[d+12>>2];g[a+16>>2]=+g[d+16>>2]-+g[a+12>>2];c[d+32>>2]=0;c[d+32+4>>2]=0;c[d+32+8>>2]=0;c[d+32+12>>2]=0;g[b>>2]=1.0;Kb[c[(c[a>>2]|0)+68>>2]&127](d+16|0,a,d+32|0);g[a+36>>2]=+g[d+16+4>>2]+ +g[a+12>>2];g[b>>2]=-1.0;Kb[c[(c[a>>2]|0)+68>>2]&127](d,a,d+32|0);c[d+16>>2]=c[d>>2];c[d+16+4>>2]=c[d+4>>2];c[d+16+8>>2]=c[d+8>>2];c[d+16+12>>2]=c[d+12>>2];g[a+20>>2]=+g[d+16+4>>2]-+g[a+12>>2];c[d+32>>2]=0;c[d+32+4>>2]=0;c[d+32+8>>2]=0;c[d+32+12>>2]=0;g[d+32+8>>2]=1.0;Kb[c[(c[a>>2]|0)+68>>2]&127](d+16|0,a,d+32|0);g[a+40>>2]=+g[d+16+8>>2]+ +g[a+12>>2];g[d+32+8>>2]=-1.0;Kb[c[(c[a>>2]|0)+68>>2]&127](d,a,d+32|0);c[d+16>>2]=c[d>>2];c[d+16+4>>2]=c[d+4>>2];c[d+16+8>>2]=c[d+8>>2];c[d+16+12>>2]=c[d+12>>2];g[a+24>>2]=+g[d+16+8>>2]-+g[a+12>>2];l=d;return}function Lg(b,d,e){b=b|0;d=+d;e=e|0;var f=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;f=c[b+8>>2]|0;if(f|0?(c[f+204>>2]&3|0)==0:0){if((c[f+216>>2]&-2|0)!=4)c[f+216>>2]=1;g[f+220>>2]=0.0}f=c[b+12>>2]|0;if(f|0?(c[f+204>>2]&3|0)==0:0){if((c[f+216>>2]&-2|0)!=4)c[f+216>>2]=1;g[f+220>>2]=0.0}f=c[b+20>>2]|0;if(f|0?(c[f+204>>2]&3|0)==0:0){if((c[f+216>>2]&-2|0)!=4)c[f+216>>2]=1;g[f+220>>2]=0.0}f=c[b+24>>2]|0;if(f|0?(c[f+204>>2]&3|0)==0:0){if((c[f+216>>2]&-2|0)!=4)c[f+216>>2]=1;g[f+220>>2]=0.0}f=c[b+156>>2]|0;c[b+156>>2]=f+1;a[b+152>>0]=(f|0)>=(c[b+160>>2]|0)&1;if(f|0){c[b+72>>2]=0;c[b+72+4>>2]=0;c[b+72+8>>2]=0;c[b+72+12>>2]=0;c[b+72+16>>2]=0;c[b+72+20>>2]=0;c[b+72+24>>2]=0;c[b+72+28>>2]=0;return}j=+g[b+64>>2];i=1.0/d*+g[b+72>>2]*j;h=1.0/d*j*+g[b+76>>2];d=1.0/d*j*+g[b+80>>2];g[b+72>>2]=i;g[b+76>>2]=h;g[b+80>>2]=d;g[b+84>>2]=0.0;j=+g[b+68>>2];if(j>0.0){l=j*i*+g[b+120>>2]+j*h*+g[b+124>>2]+j*d*+g[b+128>>2];k=j*i*+g[b+136>>2]+j*h*+g[b+140>>2]+j*d*+g[b+144>>2];g[b+88>>2]=j*i*+g[b+104>>2]+j*h*+g[b+108>>2]+j*d*+g[b+112>>2];g[b+92>>2]=l;g[b+96>>2]=k;g[b+100>>2]=0.0;g[b+72>>2]=(1.0-j)*i;g[b+76>>2]=(1.0-j)*h;g[b+80>>2]=(1.0-j)*d;i=(1.0-j)*i;h=(1.0-j)*h;d=(1.0-j)*d}g[b+72>>2]=1.0/+(e|0)*i;g[b+76>>2]=1.0/+(e|0)*h;g[b+80>>2]=1.0/+(e|0)*d;return}function Mg(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;while(1){l=c[a+12>>2]|0;k=c[l+(((b+d|0)/2|0)<<2)>>2]|0;e=b;f=d;while(1){j=c[(c[k+740>>2]|0)+208>>2]|0;if((j|0)>-1)while(1){h=c[l+(e<<2)>>2]|0;g=c[(c[h+740>>2]|0)+208>>2]|0;if((g|0)<=-1)g=c[(c[h+744>>2]|0)+208>>2]|0;if((g|0)<(j|0))e=e+1|0;else break}else{i=c[(c[k+744>>2]|0)+208>>2]|0;while(1){h=c[l+(e<<2)>>2]|0;g=c[(c[h+740>>2]|0)+208>>2]|0;if((g|0)<=-1)g=c[(c[h+744>>2]|0)+208>>2]|0;if((g|0)<(i|0))e=e+1|0;else break}}if((j|0)>-1)while(1){h=c[l+(f<<2)>>2]|0;g=c[(c[h+740>>2]|0)+208>>2]|0;if((g|0)<=-1)g=c[(c[h+744>>2]|0)+208>>2]|0;if((j|0)<(g|0))f=f+-1|0;else break}else{i=c[(c[k+744>>2]|0)+208>>2]|0;while(1){h=c[l+(f<<2)>>2]|0;g=c[(c[h+740>>2]|0)+208>>2]|0;if((g|0)<=-1)g=c[(c[h+744>>2]|0)+208>>2]|0;if((i|0)<(g|0))f=f+-1|0;else break}}if((e|0)<=(f|0)){i=l+(e<<2)|0;j=c[i>>2]|0;c[i>>2]=c[l+(f<<2)>>2];c[(c[a+12>>2]|0)+(f<<2)>>2]=j;e=e+1|0;f=f+-1|0}if((e|0)>(f|0))break;l=c[a+12>>2]|0}if((f|0)>(b|0))Mg(a,b,f);if((e|0)<(d|0))b=e;else break}return}function Ng(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0;o=l;l=l+16|0;if((f|0)>-3&(f+3|0)>-1){c[6472]=(c[6472]|0)+1;a=ic((f+3<<4|3)+16|0)|0;if(!a)h=0;else{c[(a+4+15&-16)+-4>>2]=a;h=a+4+15&-16}a=0;do{n=h+(a<<4)|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];a=a+1|0}while((a|0)!=(f+3|0));n=h;m=h}else{n=0;m=0}if((f|0)>-3){h=0;k=m;while(1){if(!h)i=0.0;else{a=h;j=.5;i=0.0;while(1){i=(a&1|0)==0?i:i+j;a=a>>1;if(!a)break;else j=j*.5}}j=i*2.0+-1.0;p=(+(h<<1|0)*3.1415927410125732+3.1415927410125732)/+(f+3|0);q=+C(+(1.0-j*j));i=q*+F(+p);g[k>>2]=q*+E(+p);g[k+4>>2]=i;g[k+8>>2]=j;g[k+12>>2]=0.0;h=h+1|0;if((h|0)==(f+3|0))break;else k=k+16|0}a=0;do{r=m+(a<<4)|0;h=m+(a<<4)+4|0;k=m+(a<<4)+8|0;p=+g[h>>2]*+g[e+4>>2]+ +g[d+4>>2];q=+g[k>>2]*+g[e+8>>2]+ +g[d+8>>2];g[r>>2]=+g[r>>2]*+g[e>>2]+ +g[d>>2];g[h>>2]=p;g[k>>2]=q;g[m+(a<<4)+12>>2]=0.0;a=a+1|0}while((a|0)<(f+3|0))}a=_b(b,m,f+3|0,1)|0;if((m|0)==0|(n|0)==0){l=o;return a|0}c[6473]=(c[6473]|0)+1;nd(c[n+-4>>2]|0);l=o;return a|0}function Og(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0.0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0;j=l;l=l+48|0;n=+g[d>>2];o=+g[d+4>>2];m=+g[d+8>>2];p=n*+g[b+4>>2]+o*+g[b+20>>2]+m*+g[b+36>>2];q=n*+g[b+8>>2]+o*+g[b+24>>2]+m*+g[b+40>>2];g[j+32>>2]=+g[b>>2]*n+ +g[b+16>>2]*o+ +g[b+32>>2]*m;g[j+32+4>>2]=p;g[j+32+8>>2]=q;g[j+32+12>>2]=0.0;Kb[c[(c[a>>2]|0)+64>>2]&127](j+16|0,a,j+32|0);q=+g[j+16>>2];p=+g[j+16+4>>2];m=+g[j+16+8>>2];o=q*+g[b>>2]+p*+g[b+4>>2]+m*+g[b+8>>2]+ +g[b+48>>2];n=q*+g[b+16>>2]+p*+g[b+20>>2]+m*+g[b+24>>2]+ +g[b+52>>2];m=q*+g[b+32>>2]+p*+g[b+36>>2]+m*+g[b+40>>2]+ +g[b+56>>2];r=c[(c[a>>2]|0)+64>>2]|0;p=-+g[j+32+4>>2];q=-+g[j+32+8>>2];g[j>>2]=-+g[j+32>>2];g[j+4>>2]=p;g[j+8>>2]=q;g[j+12>>2]=0.0;Kb[r&127](j+16|0,a,j);q=+g[j+16>>2];p=+g[j+16+4>>2];i=+g[j+16+8>>2];k=q*+g[b>>2]+p*+g[b+4>>2]+i*+g[b+8>>2]+ +g[b+48>>2];h=q*+g[b+16>>2]+p*+g[b+20>>2]+i*+g[b+24>>2]+ +g[b+52>>2];i=q*+g[b+32>>2]+p*+g[b+36>>2]+i*+g[b+40>>2]+ +g[b+56>>2];g[e>>2]=o*+g[d>>2]+n*+g[d+4>>2]+m*+g[d+8>>2];i=k*+g[d>>2]+h*+g[d+4>>2]+i*+g[d+8>>2];g[f>>2]=i;h=+g[e>>2];if(!(h>i)){l=j;return}g[e>>2]=i;g[f>>2]=h;l=j;return}function Pg(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;while(1){l=c[a+12>>2]|0;k=c[l+(((b+d|0)/2|0)<<2)>>2]|0;e=b;f=d;while(1){j=c[(c[k+28>>2]|0)+208>>2]|0;if((j|0)>-1)while(1){h=c[l+(e<<2)>>2]|0;g=c[(c[h+28>>2]|0)+208>>2]|0;if((g|0)<=-1)g=c[(c[h+32>>2]|0)+208>>2]|0;if((g|0)<(j|0))e=e+1|0;else break}else{i=c[(c[k+32>>2]|0)+208>>2]|0;while(1){h=c[l+(e<<2)>>2]|0;g=c[(c[h+28>>2]|0)+208>>2]|0;if((g|0)<=-1)g=c[(c[h+32>>2]|0)+208>>2]|0;if((g|0)<(i|0))e=e+1|0;else break}}if((j|0)>-1)while(1){h=c[l+(f<<2)>>2]|0;g=c[(c[h+28>>2]|0)+208>>2]|0;if((g|0)<=-1)g=c[(c[h+32>>2]|0)+208>>2]|0;if((j|0)<(g|0))f=f+-1|0;else break}else{i=c[(c[k+32>>2]|0)+208>>2]|0;while(1){h=c[l+(f<<2)>>2]|0;g=c[(c[h+28>>2]|0)+208>>2]|0;if((g|0)<=-1)g=c[(c[h+32>>2]|0)+208>>2]|0;if((i|0)<(g|0))f=f+-1|0;else break}}if((e|0)<=(f|0)){i=l+(e<<2)|0;j=c[i>>2]|0;c[i>>2]=c[l+(f<<2)>>2];c[(c[a+12>>2]|0)+(f<<2)>>2]=j;e=e+1|0;f=f+-1|0}if((e|0)>(f|0))break;l=c[a+12>>2]|0}if((f|0)>(b|0))Pg(a,b,f);if((e|0)<(d|0))b=e;else break}return}function Qg(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,m=0;m=l;l=l+16|0;h=c[a+12>>2]|0;i=c[h+(((d+b|0)/2|0)<<4)>>2]|0;j=c[h+(((d+b|0)/2|0)<<4)+4>>2]|0;k=c[h+(((d+b|0)/2|0)<<4)+8>>2]|0;e=b;f=d;while(1){g=e;while(1){e=c[h+(g<<4)+4>>2]|0;if((e|0)>=(j|0)){if((e|0)!=(j|0))break;e=c[h+(g<<4)>>2]|0;if((e|0)>=(i|0)){if((e|0)!=(i|0))break;if((c[h+(g<<4)+8>>2]|0)>=(k|0))break}}g=g+1|0}while(1){e=c[h+(f<<4)+4>>2]|0;if((j|0)>=(e|0)){if((j|0)!=(e|0))break;e=c[h+(f<<4)>>2]|0;if((i|0)>=(e|0)){if((i|0)!=(e|0))break;if((k|0)>=(c[h+(f<<4)+8>>2]|0))break}}f=f+-1|0}if((g|0)>(f|0))e=g;else{e=h+(g<<4)|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];h=h+(f<<4)|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=(c[a+12>>2]|0)+(f<<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];e=g+1|0;f=f+-1|0}if((e|0)>(f|0))break;h=c[a+12>>2]|0}if((f|0)>(b|0))Qg(a,b,f);if((e|0)>=(d|0)){l=m;return}Qg(a,e,d);l=m;return}function Rg(a){a=a|0;var b=0,d=0,e=0,f=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0;tm(a+988|0);if((c[a+752>>2]|0)<=0)return;o=0;do{f=c[a+760>>2]|0;n=f+(o*44|0)|0;d=c[f+(o*44|0)+8>>2]|0;e=c[f+(o*44|0)+12>>2]|0;b=c[f+(o*44|0)+16>>2]|0;k=+g[d+8>>2];m=+g[d+12>>2];l=+g[d+16>>2];q=+g[d+20>>2];u=+g[e+8>>2];h=u>2];i=r>2];j=s>2];p=t>2];h=t>2];i=s>2];j=r>2];p=u>2]|0;if(!b){c[6472]=(c[6472]|0)+1;b=ic(63)|0;if(!b)b=0;else{c[(b+4+15&-16)+-4>>2]=b;b=b+4+15&-16}d=b;e=d+44|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0))}else c[a+992>>2]=0;c[b+32>>2]=0;c[b+36>>2]=n;c[b+40>>2]=0;g[b>>2]=h;g[b+4>>2]=i;g[b+8>>2]=j;g[b+12>>2]=p;g[b+16>>2]=k;g[b+20>>2]=m;g[b+24>>2]=l;g[b+28>>2]=q;af(a+988|0,c[a+988>>2]|0,b);c[a+1e3>>2]=(c[a+1e3>>2]|0)+1;c[f+(o*44|0)+40>>2]=b;o=o+1|0}while((o|0)<(c[a+752>>2]|0));return}function Sg(a,b){a=a|0;b=b|0;var d=0,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,v=0,w=0,x=0,y=0;if((c[a>>2]|0)==(b|0)){c[a>>2]=0;a=0;return a|0}e=c[b+32>>2]|0;d=c[e+32>>2]|0;b=c[e+36+(((c[e+40>>2]|0)!=(b|0)&1)<<2)>>2]|0;if(!d){c[a>>2]=b;c[b+32>>2]=0;d=c[a+4>>2]|0;if(!d)d=b;else{c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0);d=c[a>>2]|0}c[a+4>>2]=e;a=d;return a|0}c[d+36+(((c[d+40>>2]|0)==(e|0)&1)<<2)>>2]=b;c[b+32>>2]=d;b=c[a+4>>2]|0;if(b|0){c[6473]=(c[6473]|0)+1;nd(c[b+-4>>2]|0)}c[a+4>>2]=e;do{s=+g[d>>2];x=d+4|0;q=+g[x>>2];v=d+8|0;o=+g[v>>2];y=d+16|0;m=+g[y>>2];w=d+20|0;i=+g[w>>2];e=d+24|0;k=+g[e>>2];u=c[d+36>>2]|0;b=c[d+40>>2]|0;t=+g[u>>2];r=+g[b>>2];r=t>2]=r;t=+g[u+16>>2];l=+g[b+16>>2];l=t>l?t:l;g[y>>2]=l;t=+g[u+4>>2];p=+g[b+4>>2];p=t>2]=p;t=+g[u+20>>2];h=+g[b+20>>2];h=t>h?t:h;g[w>>2]=h;t=+g[u+8>>2];n=+g[b+8>>2];n=t>2]=n;t=+g[u+24>>2];j=+g[b+24>>2];j=t>j?t:j;g[e>>2]=j;if(!(s!=r|q!=p|o!=n|m!=l)?!(k!=j|i!=h):0){f=14;break}d=c[d+32>>2]|0}while((d|0)!=0);if((f|0)==14)return d|0;y=c[a>>2]|0;return y|0}function Tg(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,h=0.0,i=0,j=0;i=c[a+28>>2]|0;e=0.0;f=0.0;h=0.0;j=0;a:while(1){switch(j|0){case 0:{e=+g[a+80>>2]+ +g[a+64>>2];f=+g[a+84>>2]+ +g[a+68>>2];h=+g[a+88>>2]+ +g[a+72>>2];break}case 1:{e=+g[a+80>>2]+ +g[a+64>>2];f=+g[a+84>>2]+ +g[a+68>>2];h=+g[a+72>>2]-+g[a+88>>2];break}case 2:{e=+g[a+80>>2]+ +g[a+64>>2];f=+g[a+68>>2]-+g[a+84>>2];h=+g[a+88>>2]+ +g[a+72>>2];break}case 3:{e=+g[a+80>>2]+ +g[a+64>>2];f=+g[a+68>>2]-+g[a+84>>2];h=+g[a+72>>2]-+g[a+88>>2];break}case 4:{e=+g[a+64>>2]-+g[a+80>>2];f=+g[a+84>>2]+ +g[a+68>>2];h=+g[a+88>>2]+ +g[a+72>>2];break}case 5:{e=+g[a+64>>2]-+g[a+80>>2];f=+g[a+84>>2]+ +g[a+68>>2];h=+g[a+72>>2]-+g[a+88>>2];break}case 6:{e=+g[a+64>>2]-+g[a+80>>2];f=+g[a+68>>2]-+g[a+84>>2];h=+g[a+88>>2]+ +g[a+72>>2];break}case 7:{e=+g[a+64>>2]-+g[a+80>>2];f=+g[a+68>>2]-+g[a+84>>2];h=+g[a+72>>2]-+g[a+88>>2];break}default:{}}if((i|0)>0){b=c[a+36>>2]|0;d=0;do{if(+g[b+(d*36|0)+32>>2]+(e*+g[b+(d*36|0)+20>>2]+f*+g[b+(d*36|0)+24>>2]+h*+g[b+(d*36|0)+28>>2])>0.0){b=0;d=16;break a}d=d+1|0}while((d|0)<(i|0))}j=j+1|0;if((j|0)>=8){b=1;d=16;break}}if((d|0)==16)return b|0;return 0}function Ug(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var k=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0.0,t=0;r=l;l=l+16|0;g[e>>2]=3402823466385288598117041.0e14;g[f>>2]=-3402823466385288598117041.0e14;m=c[a+8>>2]|0;if((m|0)>0){q=0;do{t=c[a+16>>2]|0;s=+g[t+(q<<4)>>2];n=+g[t+(q<<4)+4>>2];o=+g[t+(q<<4)+8>>2];k=s*+g[b>>2]+n*+g[b+4>>2]+o*+g[b+8>>2]+ +g[b+48>>2];p=s*+g[b+16>>2]+n*+g[b+20>>2]+o*+g[b+24>>2]+ +g[b+52>>2];o=s*+g[b+32>>2]+n*+g[b+36>>2]+o*+g[b+40>>2]+ +g[b+56>>2];n=k*+g[d>>2]+p*+g[d+4>>2]+o*+g[d+8>>2];if(n<+g[e>>2]){g[e>>2]=n;g[h>>2]=k;g[h+4>>2]=p;g[h+8>>2]=o;g[h+12>>2]=0.0}if(n>+g[f>>2]){g[f>>2]=n;g[i>>2]=k;g[i+4>>2]=p;g[i+8>>2]=o;g[i+12>>2]=0.0}q=q+1|0}while((q|0)!=(m|0));n=+g[f>>2];m=(g[j>>2]=n,c[j>>2]|0)}else{m=-8388609;n=-3402823466385288598117041.0e14}k=+g[e>>2];if(!(k>n)){l=r;return}c[e>>2]=m;g[f>>2]=k;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];c[h>>2]=c[i>>2];c[h+4>>2]=c[i+4>>2];c[h+8>>2]=c[i+8>>2];c[h+12>>2]=c[i+12>>2];c[i>>2]=c[r>>2];c[i+4>>2]=c[r+4>>2];c[i+8>>2]=c[r+8>>2];c[i+12>>2]=c[r+12>>2];l=r;return}function Vg(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,m=0;m=l;l=l+32|0;j=(a[b+28>>0]|0)!=0;k=j?e:d;j=j?d:e;h=c[k+4>>2]|0;i=c[h+16>>2]|0;g=c[b+12>>2]|0;if((g|0)<(i|0)){if((c[b+16>>2]|0)<(i|0)){if(!i){e=g;f=0}else{c[6472]=(c[6472]|0)+1;d=ic((i<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}e=c[b+12>>2]|0;f=d}if((e|0)>0){d=0;do{c[f+(d<<2)>>2]=c[(c[b+20>>2]|0)+(d<<2)>>2];d=d+1|0}while((d|0)!=(e|0))}d=c[b+20>>2]|0;if(d|0){if(a[b+24>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+20>>2]=0}a[b+24>>0]=1;c[b+20>>2]=f;c[b+16>>2]=i;e=b+20|0}else e=b+20|0;d=g;do{c[(c[e>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(i|0))}c[b+12>>2]=i;if((i|0)<=0){l=m;return}d=0;do{if(!(c[h+64>>2]|0)){e=c[(c[h+24>>2]|0)+(d*80|0)+64>>2]|0;f=c[k+8>>2]|0;g=c[k+12>>2]|0;c[m>>2]=k;c[m+4>>2]=e;c[m+8>>2]=f;c[m+12>>2]=g;c[m+16>>2]=-1;c[m+20>>2]=d;g=c[b+4>>2]|0;g=vb[c[(c[g>>2]|0)+8>>2]&31](g,m,j,c[b+32>>2]|0)|0;c[(c[b+20>>2]|0)+(d<<2)>>2]=g}else c[(c[b+20>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(i|0));l=m;return}function Wg(a,d,e){a=a|0;d=d|0;e=e|0;Zh(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];a=b[a+1300>>1]|0;c[d+244>>2]=a&255;c[d+248>>2]=(a&65535)>>>8&65535;return 12657}function Xg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=c[b+32>>2]|0;if(!d)g=0;else g=c[b+40>>2]|0;e=c[b+52>>2]|0;if(!e)h=0;else h=c[b+60>>2]|0;f=c[b+72>>2]|0;if(!f)i=0;else i=c[b+80>>2]|0;j=c[b+8>>2]|0;+pb[c[(c[j>>2]|0)+12>>2]&3](j,g,d,h,e,i,f,c[b+4>>2]|0,c[b+20>>2]|0,c[b+24>>2]|0);d=c[b+32>>2]|0;if((d|0)<0){if((c[b+36>>2]|0)<0){e=c[b+40>>2]|0;if(e|0){if(a[b+44>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[e+-4>>2]|0)}c[b+40>>2]=0}a[b+44>>0]=1;c[b+40>>2]=0;c[b+36>>2]=0}do{c[(c[b+40>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=0)}c[b+32>>2]=0;d=c[b+52>>2]|0;if((d|0)<0){if((c[b+56>>2]|0)<0){e=c[b+60>>2]|0;if(e|0){if(a[b+64>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[e+-4>>2]|0)}c[b+60>>2]=0}a[b+64>>0]=1;c[b+60>>2]=0;c[b+56>>2]=0}do{c[(c[b+60>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=0)}c[b+52>>2]=0;d=c[b+72>>2]|0;if((d|0)>=0){c[b+72>>2]=0;return}if((c[b+76>>2]|0)<0){e=c[b+80>>2]|0;if(e|0){if(a[b+84>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[e+-4>>2]|0)}c[b+80>>2]=0}a[b+84>>0]=1;c[b+80>>2]=0;c[b+76>>2]=0}do{c[(c[b+80>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=0);c[b+72>>2]=0;return}function Yg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;c[6472]=(c[6472]|0)+1;d=ic(39)|0;if(!d)i=0;else{c[(d+4+15&-16)+-4>>2]=d;i=d+4+15&-16}g=i;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;if((c[b+872>>2]|0)>0){h=c[c[b+880>>2]>>2]|0;c[i>>2]=c[h>>2];c[i+4>>2]=c[h+4>>2];c[i+8>>2]=c[h+8>>2];c[i+12>>2]=c[h+12>>2];c[i+16>>2]=c[h+16>>2]}else{c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0}d=c[b+872>>2]|0;if((d|0)!=(c[b+876>>2]|0)){h=d;f=b+880|0;f=c[f>>2]|0;f=f+(h<<2)|0;c[f>>2]=g;h=h+1|0;c[b+872>>2]=h;return i|0}h=d|0?d<<1:1;if((d|0)>=(h|0)){h=d;f=b+880|0;f=c[f>>2]|0;f=f+(h<<2)|0;c[f>>2]=g;h=h+1|0;c[b+872>>2]=h;return i|0}if(!h)e=0;else{c[6472]=(c[6472]|0)+1;d=ic((h<<2|3)+16|0)|0;if(!d)e=0;else{c[(d+4+15&-16)+-4>>2]=d;e=d+4+15&-16}d=c[b+872>>2]|0}if((d|0)>0){f=0;do{c[e+(f<<2)>>2]=c[(c[b+880>>2]|0)+(f<<2)>>2];f=f+1|0}while((f|0)!=(d|0))}f=c[b+880>>2]|0;if(f){if(a[b+884>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0);d=c[b+872>>2]|0}c[b+880>>2]=0}a[b+884>>0]=1;c[b+880>>2]=e;c[b+876>>2]=h;h=d;f=b+880|0;f=c[f>>2]|0;f=f+(h<<2)|0;c[f>>2]=g;h=h+1|0;c[b+872>>2]=h;return i|0}function Zg(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0.0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;l=+g[d>>2];if(+g[b>>2]<=l){i=+g[d+4>>2];if((((+g[b+4>>2]<=i?+g[b+8>>2]<=+g[d+8>>2]:0)?+g[b+16>>2]>=+g[d+16>>2]:0)?+g[b+20>>2]>=+g[d+20>>2]:0)?+g[b+24>>2]>=+g[d+24>>2]:0){d=0;return d|0}else h=d+4|0}else{i=+g[d+4>>2];h=d+4|0}g[d>>2]=l-f;n=i-f;g[h>>2]=n;i=+g[d+8>>2]-f;g[d+8>>2]=i;q=+g[d+16>>2]+f;g[d+16>>2]=q;o=+g[d+20>>2]+f;g[d+20>>2]=o;m=+g[d+24>>2]+f;g[d+24>>2]=m;p=+g[e>>2];g[(p>0.0?d+16|0:d)>>2]=p+(p>0.0?q:l-f);f=+g[e+4>>2];g[(f>0.0?d+20|0:h)>>2]=f+(f>0.0?o:n);f=+g[e+8>>2];g[(f>0.0?d+24|0:d+8|0)>>2]=f+(f>0.0?m:i);h=Sg(a,b)|0;a:do if(h){j=c[a+8>>2]|0;if((j|0)<=-1){h=c[a>>2]|0;break}if(j){k=0;e=h;while(1){h=c[e+32>>2]|0;k=k+1|0;if(!h){h=e;break a}if((k|0)>=(j|0))break;else e=h}}}else h=0;while(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[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];af(a,h,b);d=1;return d|0}function _g(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,k=0,l=0,m=0,n=0.0,o=0,p=0.0,q=0.0;Nb[c[(c[a>>2]|0)+8>>2]&127](a,b,f,h);l=c[h>>2]|0;o=c[h+4>>2]|0;i=c[h+8>>2]|0;m=c[f>>2]|0;k=c[f+4>>2]|0;b=c[f+8>>2]|0;n=+g[d>>2];p=+g[d+4>>2];q=+g[d+8>>2];if(n>0.0)l=(g[j>>2]=(c[j>>2]=l,+g[j>>2])+n,c[j>>2]|0);else m=(g[j>>2]=(c[j>>2]=m,+g[j>>2])+n,c[j>>2]|0);if(p>0.0)d=(g[j>>2]=(c[j>>2]=o,+g[j>>2])+p,c[j>>2]|0);else{d=o;k=(g[j>>2]=(c[j>>2]=k,+g[j>>2])+p,c[j>>2]|0)}if(q>0.0)i=(g[j>>2]=(c[j>>2]=i,+g[j>>2])+q,c[j>>2]|0);else b=(g[j>>2]=(c[j>>2]=b,+g[j>>2])+q,c[j>>2]|0);n=+g[e>>2];p=+g[e+4>>2];q=+g[e+8>>2];q=+C(+(n*n+p*p+q*q));q=q*+gb[c[(c[a>>2]|0)+16>>2]&15](a);c[f>>2]=m;c[f+4>>2]=k;c[f+8>>2]=b;g[f+12>>2]=0.0;c[h>>2]=l;c[h+4>>2]=d;c[h+8>>2]=i;g[h+12>>2]=0.0;g[f>>2]=+g[f>>2]-q;g[f+4>>2]=+g[f+4>>2]-q;g[f+8>>2]=+g[f+8>>2]-q;g[h>>2]=q+ +g[h>>2];g[h+4>>2]=q+ +g[h+4>>2];g[h+8>>2]=q+ +g[h+8>>2];return}function $g(b,d,e){b=b|0;d=+d;e=e|0;var f=0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0;j=c[b+712>>2]|0;if(e){if((j|0)>0){e=c[b+720>>2]|0;f=0;do{g[e+(f*104|0)+88>>2]=0.0;f=f+1|0}while((f|0)!=(j|0))}e=c[b+752>>2]|0;if((e|0)>0){f=c[b+760>>2]|0;i=0;do{m=c[f+(i*44|0)+8>>2]|0;l=c[f+(i*44|0)+12>>2]|0;k=c[f+(i*44|0)+16>>2]|0;o=+g[m+8>>2];q=+g[m+12>>2];h=+g[m+16>>2];n=+g[l+8>>2]-o;r=+g[l+12>>2]-q;p=+g[l+16>>2]-h;o=+g[k+8>>2]-o;q=+g[k+12>>2]-q;h=+g[k+16>>2]-h;h=+C(+((n*q-r*o)*(n*q-r*o)+((r*h-p*q)*(r*h-p*q)+(p*o-n*h)*(p*o-n*h))));g[m+88>>2]=h+ +g[m+88>>2];g[l+88>>2]=h+ +g[l+88>>2];g[k+88>>2]=h+ +g[k+88>>2];i=i+1|0}while((i|0)!=(e|0))}if((j|0)<=0){m=b+924|0;a[m>>0]=1;return}e=c[b+720>>2]|0;f=0;do{m=e+(f*104|0)+88|0;g[m>>2]=1.0/+g[m>>2];f=f+1|0}while((f|0)!=(j|0))}if((j|0)<=0){m=b+924|0;a[m>>0]=1;return}f=c[b+720>>2]|0;e=0;h=0.0;do{r=+g[f+(e*104|0)+88>>2];h=h+(r>0.0?1.0/r:0.0);e=e+1|0}while((e|0)!=(j|0));h=1.0/h*d;e=0;do{m=f+(e*104|0)+88|0;g[m>>2]=+g[m>>2]/h;e=e+1|0}while((e|0)!=(j|0));m=b+924|0;a[m>>0]=1;return}function ah(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=c[b+4>>2]|0;if((e|0)==(c[b+8>>2]|0)){xf(b,e|0?e<<1:1);e=c[b+4>>2]|0}j=(c[b+12>>2]|0)+(e*36|0)|0;a[j+16>>0]=1;c[j+12>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;k=c[d+4>>2]|0;if((k|0)<=0){c[j+4>>2]=k;k=j+20|0;d=d+20|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];d=c[b+4>>2]|0;d=d+1|0;c[b+4>>2]=d;return}c[6472]=(c[6472]|0)+1;e=ic((k<<2|3)+16|0)|0;if(!e)h=0;else{c[(e+4+15&-16)+-4>>2]=e;h=e+4+15&-16}f=c[j+4>>2]|0;g=c[j+12>>2]|0;if((f|0)<=0)if(!g){a[j+16>>0]=1;c[j+12>>2]=h;c[j+8>>2]=k;Nk(h|0,0,k<<2|0)|0}else i=11;else{e=0;do{c[h+(e<<2)>>2]=c[g+(e<<2)>>2];e=e+1|0}while((e|0)!=(f|0));i=11}if((i|0)==11){if(a[j+16>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[g+-4>>2]|0)}a[j+16>>0]=1;c[j+12>>2]=h;c[j+8>>2]=k;Nk(h|0,0,k<<2|0)|0}e=c[j+12>>2]|0;c[j+4>>2]=k;f=c[d+12>>2]|0;g=0;do{c[e+(g<<2)>>2]=c[f+(g<<2)>>2];g=g+1|0}while((g|0)!=(k|0));k=j+20|0;d=d+20|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];d=c[b+4>>2]|0;d=d+1|0;c[b+4>>2]=d;return}function bh(a,b){a=+a;b=+b;var d=0,e=0,f=0,h=0,i=0,k=0,l=0,m=0;l=(g[j>>2]=a,c[j>>2]|0);i=(g[j>>2]=b,c[j>>2]|0);a:do if((i<<1|0)!=0?!((l>>>23&255|0)==255|((YC(b)|0)&2147483647)>>>0>2139095040):0){if(l<<1>>>0<=i<<1>>>0)return +((l<<1|0)==(i<<1|0)?a*0.0:a);if(!(l>>>23&255)){if((l<<9|0)>-1){d=0;e=l<<9;do{d=d+-1|0;e=e<<1}while((e|0)>-1);e=d}else e=0;d=e;f=l<<1-e}else{d=l>>>23&255;f=l&8388607|8388608}if(!(i>>>23&255)){if((i<<9|0)>-1){e=0;h=i<<9;do{e=e+-1|0;h=h<<1}while((h|0)>-1)}else e=0;k=e;i=i<<1-e}else{k=i>>>23&255;i=i&8388607|8388608}e=f-i|0;b:do if((d|0)>(k|0)){h=(e|0)>-1;while(1){if(h){if(!e)break}else e=f;f=e<<1;d=d+-1|0;e=f-i|0;if((d|0)>(k|0))h=(e|0)>-1;else{h=(e|0)>-1;break b}}b=a*0.0;break a}else h=(e|0)>-1;while(0);if(h){if(!e){b=a*0.0;break}}else e=f;if(e>>>0<8388608)do{e=e<<1;d=d+-1|0}while(e>>>0<8388608);if((d|0)>0)d=e+-8388608|d<<23;else d=e>>>(1-d|0);b=(c[j>>2]=d|l&-2147483648,+g[j>>2])}else m=3;while(0);if((m|0)==3)b=a*b/(a*b);return +b}function ch(a,b,d,e,f,h,i,j,k,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0.0,o=0.0;m=l;l=l+80|0;o=+g[h+52>>2]-+g[f+52>>2];n=+g[h+56>>2]-+g[f+56>>2];g[m+56>>2]=+g[h+48>>2]-+g[f+48>>2];g[m+56+4>>2]=o;g[m+56+8>>2]=n;g[m+56+12>>2]=0.0;if(wc(d,f,e,h,m+56|0,m,1)|0){c[j>>2]=c[m+4>>2];c[j+4>>2]=c[m+4+4>>2];c[j+8>>2]=c[m+4+8>>2];c[j+12>>2]=c[m+4+12>>2];c[k>>2]=c[m+20>>2];c[k+4>>2]=c[m+20+4>>2];c[k+8>>2]=c[m+20+8>>2];c[k+12>>2]=c[m+20+12>>2];c[i>>2]=c[m+36>>2];c[i+4>>2]=c[m+36+4>>2];c[i+8>>2]=c[m+36+8>>2];c[i+12>>2]=c[m+36+12>>2];k=1;l=m;return k|0}if(!(ud(d,f,e,h,m+56|0,m)|0)){k=0;l=m;return k|0}c[j>>2]=c[m+4>>2];c[j+4>>2]=c[m+4+4>>2];c[j+8>>2]=c[m+4+8>>2];c[j+12>>2]=c[m+4+12>>2];c[k>>2]=c[m+20>>2];c[k+4>>2]=c[m+20+4>>2];c[k+8>>2]=c[m+20+8>>2];c[k+12>>2]=c[m+20+12>>2];c[i>>2]=c[m+36>>2];c[i+4>>2]=c[m+36+4>>2];c[i+8>>2]=c[m+36+8>>2];c[i+12>>2]=c[m+36+12>>2];k=0;l=m;return k|0}function dh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0,j=0,k=0,m=0.0,n=0.0,o=0,p=0,q=0.0,r=0;p=l;l=l+2048|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;e=+g[d>>2];h=+g[d+4>>2];f=+g[d+8>>2];if(e*e+h*h+f*f<9.999999747378752e-05){n=1.0;m=0.0;h=0.0}else{q=1.0/+C(+(e*e+h*h+f*f));n=e*q;m=f*q;h=h*q}if((qb[c[(c[b>>2]|0)+96>>2]&127](b)|0)<=0){l=p;return}k=0;f=-999999984306749440.0;while(1){if(((qb[c[(c[b>>2]|0)+96>>2]&127](b)|0)-k|0)<128){d=(qb[c[(c[b>>2]|0)+96>>2]&127](b)|0)-k|0;if((d|0)>0)o=8;else{e=-3402823466385288598117041.0e14;d=-1}}else{d=128;o=8}if((o|0)==8){o=0;i=0;do{Kb[c[(c[b>>2]|0)+108>>2]&127](b,i,p+(i<<4)|0);i=i+1|0}while((i|0)!=(d|0));j=0;e=-3402823466385288598117041.0e14;i=-1;do{q=n*+g[p+(j<<4)>>2]+h*+g[p+(j<<4)+4>>2]+m*+g[p+(j<<4)+8>>2];r=q>e;i=r?j:i;e=r?q:e;j=j+1|0}while((j|0)!=(d|0));d=i}if(e>f){r=p+(d<<4)|0;c[a>>2]=c[r>>2];c[a+4>>2]=c[r+4>>2];c[a+8>>2]=c[r+8>>2];c[a+12>>2]=c[r+12>>2]}else e=f;k=k+128|0;if((k|0)>=(qb[c[(c[b>>2]|0)+96>>2]&127](b)|0))break;else f=e}l=p;return}function eh(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;if((d[h+55>>0]|0|0)==(e|0)){h=0;return h|0}k=c[5168+(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){k=cf(b,c[h+20+(k<<2)>>2]|0,c[h+20+(i<<2)>>2]|0,f,0)|0;if(!k){h=0;return h|0}a[k+52>>0]=i;c[k+32>>2]=h;a[h+52+i>>0]=0;c[h+32+(i<<2)>>2]=k;i=c[j>>2]|0;if(!i)c[j+4>>2]=k;else{a[i+53>>0]=2;c[i+36>>2]=k;a[k+54>>0]=1;c[k+40>>2]=i}c[j>>2]=k;c[j+8>>2]=(c[j+8>>2]|0)+1;h=1;return h|0}i=c[5180+(i<<2)>>2]|0;a[h+55>>0]=e;if(!(eh(b,e,f,c[h+32+(k<<2)>>2]|0,d[h+52+k>>0]|0,j)|0)){h=0;return h|0}if(!(eh(b,e,f,c[h+32+(i<<2)>>2]|0,d[h+52+i>>0]|0,j)|0)){h=0;return h|0}i=c[h+48>>2]|0;if(i|0)c[i+44>>2]=c[h+44>>2];i=c[h+44>>2]|0;if(i|0)c[i+48>>2]=c[h+48>>2];if((c[b+9280>>2]|0)==(h|0))c[b+9280>>2]=c[h+48>>2];c[b+9284>>2]=(c[b+9284>>2]|0)+-1;c[h+44>>2]=0;c[h+48>>2]=c[b+9288>>2];i=c[b+9288>>2]|0;if(i|0)c[i+44>>2]=h;c[b+9288>>2]=h;c[b+9292>>2]=(c[b+9292>>2]|0)+1;h=1;return h|0}function fh(b,d){b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0,j=0,k=0.0,l=0.0;e=c[d+204>>2]|0;if((e&3|0)==0?(c[d+504>>2]&1|0)==0:0){h=+g[d+344>>2];if(h!=0.0){l=1.0/h*+g[b+252>>2];k=1.0/h*+g[b+256>>2];g[d+364>>2]=1.0/h*+g[b+248>>2];g[d+368>>2]=l;g[d+372>>2]=k;g[d+376>>2]=0.0}c[d+380>>2]=c[b+248>>2];c[d+380+4>>2]=c[b+248+4>>2];c[d+380+8>>2]=c[b+248+8>>2];c[d+380+12>>2]=c[b+248+12>>2]}if(!(c[d+192>>2]|0))return;if(e&1){if((c[d+216>>2]&-2|0)!=4)c[d+216>>2]=2}else{f=c[b+232>>2]|0;if((f|0)==(c[b+236>>2]|0)?(j=f|0?f<<1:1,(f|0)<(j|0)):0){if(!j)e=0;else{c[6472]=(c[6472]|0)+1;e=ic((j<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[b+232>>2]|0}if((f|0)>0){i=0;do{c[e+(i<<2)>>2]=c[(c[b+240>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(f|0))}i=c[b+240>>2]|0;if(i){if(a[b+244>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0);f=c[b+232>>2]|0}c[b+240>>2]=0}a[b+244>>0]=1;c[b+240>>2]=e;c[b+236>>2]=j;e=c[d+204>>2]|0}c[(c[b+240>>2]|0)+(f<<2)>>2]=d;c[b+232>>2]=f+1}j=(e&3|0)==0;Nb[c[(c[b>>2]|0)+36>>2]&127](b,d,j?1:2,j?-1:-3);return}function gh(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=c[a+68+(d<<2)>>2]|0;h=b[i+((f&65535)<<2)+-4>>1]|0;if((e[i+((f&65535)<<2)>>1]|0)>=(h&65535))return;j=c[a+60>>2]|0;o=j+((e[i+((f&65535)<<2)+2>>1]|0)<<6)+54+(d<<1)|0;k=i+((f&65535)<<2)|0;f=i+((f&65535)<<2)+-4|0;while(1){i=e[k+-2>>1]|0;if(!(h&1)){h=e[k+2>>1]|0;if(((((e[j+(h<<6)+54+((1<>1]|0)>=(e[j+(i<<6)+48+((1<>1]|0)?(e[j+(i<<6)+54+((1<>1]|0)>=(e[j+(h<<6)+48+((1<>1]|0):0)?(e[j+(h<<6)+54+((1<<(1<>1]|0)>=(e[j+(i<<6)+48+((1<<(1<>1]|0):0)?(e[j+(i<<6)+54+((1<<(1<>1]|0)>=(e[j+(h<<6)+48+((1<<(1<>1]|0):0)?(n=c[a+92>>2]|0,l=j+(h<<6)|0,m=j+(i<<6)|0,vb[c[(c[n>>2]|0)+12>>2]&31](n,l,m,g)|0,n=c[a+96>>2]|0,n|0):0)vb[c[(c[n>>2]|0)+12>>2]&31](n,l,m,g)|0;h=j+(i<<6)+48+(d<<1)|0}else h=j+(i<<6)+54+(d<<1)|0;b[h>>1]=(b[h>>1]|0)+1<<16>>16;b[o>>1]=(b[o>>1]|0)+-1<<16>>16;i=e[k>>1]|e[k+2>>1]<<16;h=e[f>>1]|e[f+2>>1]<<16;b[k>>1]=h;b[k+2>>1]=h>>>16;b[f>>1]=i;b[f+2>>1]=i>>>16;i=k+-4|0;f=f+-4|0;h=b[f>>1]|0;if((e[i>>1]|0)>=(h&65535))break;j=c[a+60>>2]|0;k=i}return}function hh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0.0,j=0,k=0,l=0,m=0.0,n=0.0;h=c[d+204>>2]|0;if((h&3|0)==0?(c[d+504>>2]&1|0)==0:0){i=+g[d+344>>2];if(i!=0.0){n=1.0/i*+g[b+252>>2];m=1.0/i*+g[b+256>>2];g[d+364>>2]=1.0/i*+g[b+248>>2];g[d+368>>2]=n;g[d+372>>2]=m;g[d+376>>2]=0.0}c[d+380>>2]=c[b+248>>2];c[d+380+4>>2]=c[b+248+4>>2];c[d+380+8>>2]=c[b+248+8>>2];c[d+380+12>>2]=c[b+248+12>>2]}if(!(c[d+192>>2]|0))return;if(h&1){if((c[d+216>>2]&-2|0)!=4)c[d+216>>2]=2}else{h=c[b+232>>2]|0;if((h|0)==(c[b+236>>2]|0)?(l=h|0?h<<1:1,(h|0)<(l|0)):0){if(!l)j=0;else{c[6472]=(c[6472]|0)+1;h=ic((l<<2|3)+16|0)|0;if(!h)j=0;else{c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}h=c[b+232>>2]|0}if((h|0)>0){k=0;do{c[j+(k<<2)>>2]=c[(c[b+240>>2]|0)+(k<<2)>>2];k=k+1|0}while((k|0)!=(h|0))}k=c[b+240>>2]|0;if(k){if(a[b+244>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[k+-4>>2]|0);h=c[b+232>>2]|0}c[b+240>>2]=0}a[b+244>>0]=1;c[b+240>>2]=j;c[b+236>>2]=l}c[(c[b+240>>2]|0)+(h<<2)>>2]=d;c[b+232>>2]=h+1}Nb[c[(c[b>>2]|0)+36>>2]&127](b,d,e,f);return}function ih(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,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0;o=(+g[a+32>>2]-+g[a+16>>2])*.5;l=(+g[a+36>>2]-+g[a+20>>2])*.5;i=(+g[a+40>>2]-+g[a+24>>2])*.5;n=+gb[c[(c[a>>2]|0)+48>>2]&15](a);k=+gb[c[(c[a>>2]|0)+48>>2]&15](a);i=i+ +gb[c[(c[a>>2]|0)+48>>2]&15](a);C=(+g[a+32>>2]+ +g[a+16>>2])*.5;z=(+g[a+36>>2]+ +g[a+20>>2])*.5;x=(+g[a+40>>2]+ +g[a+24>>2])*.5;G=+g[b>>2];w=+B(+G);F=+g[b+4>>2];v=+B(+F);t=+g[b+8>>2];u=+B(+t);E=+g[b+16>>2];s=+B(+E);D=+g[b+20>>2];r=+B(+D);p=+g[b+24>>2];q=+B(+p);A=+g[b+32>>2];m=+B(+A);y=+g[b+36>>2];j=+B(+y);f=+g[b+40>>2];h=+B(+f);t=C*G+z*F+x*t+ +g[b+48>>2];p=C*E+z*D+x*p+ +g[b+52>>2];f=C*A+z*y+x*f+ +g[b+56>>2];g[d>>2]=t-((o+n)*w+(l+k)*v+i*u);g[d+4>>2]=p-((o+n)*s+(l+k)*r+i*q);g[d+8>>2]=f-((o+n)*m+(l+k)*j+i*h);g[d+12>>2]=0.0;g[e>>2]=(o+n)*w+(l+k)*v+i*u+t;g[e+4>>2]=(o+n)*s+(l+k)*r+i*q+p;g[e+8>>2]=(o+n)*m+(l+k)*j+i*h+f;g[e+12>>2]=0.0;return}function jh(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,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0,H=0.0,I=0.0;I=+g[a+48>>2];z=+g[a+32>>2];H=+g[a+52>>2];x=+g[a+36>>2];F=+g[a+56>>2];v=+g[a+40>>2];G=(c[a+16>>2]|0)==0;m=+gb[c[(c[a>>2]|0)+48>>2]&15](a);k=+gb[c[(c[a>>2]|0)+48>>2]&15](a);i=+gb[c[(c[a>>2]|0)+48>>2]&15](a);m=(G?0.0:(I-z)*.5)+m;k=(G?0.0:(H-x)*.5)+k;i=(G?0.0:(F-v)*.5)+i;E=+g[b>>2];u=+B(+E);D=+g[b+4>>2];t=+B(+D);r=+g[b+8>>2];s=+B(+r);C=+g[b+16>>2];q=+B(+C);A=+g[b+20>>2];p=+B(+A);n=+g[b+24>>2];o=+B(+n);y=+g[b+32>>2];l=+B(+y);w=+g[b+36>>2];j=+B(+w);f=+g[b+40>>2];h=+B(+f);z=G?0.0:(I+z)*.5;x=G?0.0:(H+x)*.5;v=G?0.0:(F+v)*.5;r=z*E+x*D+v*r+ +g[b+48>>2];n=z*C+x*A+v*n+ +g[b+52>>2];f=z*y+x*w+v*f+ +g[b+56>>2];g[d>>2]=r-(m*u+k*t+i*s);g[d+4>>2]=n-(m*q+k*p+i*o);g[d+8>>2]=f-(m*l+k*j+i*h);g[d+12>>2]=0.0;g[e>>2]=m*u+k*t+i*s+r;g[e+4>>2]=m*q+k*p+i*o+n;g[e+8>>2]=m*l+k*j+i*h+f;g[e+12>>2]=0.0;return}function kh(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=c[a+68+(d<<2)>>2]|0;l=c[a+60>>2]|0;n=e[h+((f&65535)<<2)+2>>1]|0;g=b[h+((f&65535)<<2)+-4>>1]|0;if((e[h+((f&65535)<<2)>>1]|0)>=(g&65535))return;i=l;j=h+((f&65535)<<2)|0;f=h+((f&65535)<<2)+-4|0;while(1){h=e[j+-2>>1]|0;if(!(g&1))g=i+(h<<6)+48+(d<<1)|0;else{if(((((e[l+(n<<6)+54+((1<>1]|0)>=(e[i+(h<<6)+48+((1<>1]|0)?(e[i+(h<<6)+54+((1<>1]|0)>=(e[l+(n<<6)+48+((1<>1]|0):0)?(e[l+(n<<6)+54+((1<<(1<>1]|0)>=(e[i+(h<<6)+48+((1<<(1<>1]|0):0)?(e[i+(h<<6)+54+((1<<(1<>1]|0)>=(e[l+(n<<6)+48+((1<<(1<>1]|0):0)?(m=c[a+92>>2]|0,k=i+(h<<6)|0,ub[c[(c[m>>2]|0)+8>>2]&63](m,l+(n<<6)|0,k)|0,m=c[a+96>>2]|0,m|0):0)ub[c[(c[m>>2]|0)+8>>2]&63](m,l+(n<<6)|0,k)|0;g=i+(h<<6)+54+(d<<1)|0}b[g>>1]=(b[g>>1]|0)+1<<16>>16;b[l+(n<<6)+48+(d<<1)>>1]=(b[l+(n<<6)+48+(d<<1)>>1]|0)+-1<<16>>16;h=e[j>>1]|e[j+2>>1]<<16;g=e[f>>1]|e[f+2>>1]<<16;b[j>>1]=g;b[j+2>>1]=g>>>16;b[f>>1]=h;b[f+2>>1]=h>>>16;h=j+-4|0;f=f+-4|0;g=b[f>>1]|0;if((e[h>>1]|0)>=(g&65535))break;i=c[a+60>>2]|0;j=h}return}function lh(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0,h=0,i=0,j=0;f=l;l=l+16|0;c=+g[(bI(a)|0)>>2];d=+g[(KH(a+16|0)|0)>>2];e=+g[(JH(a+32|0)|0)>>2];if(c+d+e>0.0){e=+RH(c+d+e+1.0);g[f+12>>2]=e*.5;d=+g[(KH(a+32|0)|0)>>2];g[f>>2]=(d-+g[(JH(a+16|0)|0)>>2])*(.5/e);d=+g[(JH(a)|0)>>2];g[f+4>>2]=(d-+g[(bI(a+32|0)|0)>>2])*(.5/e);d=+g[(bI(a+16|0)|0)>>2];g[f+8>>2]=(d-+g[(KH(a)|0)>>2])*(.5/e);j=f;i=f+4|0;h=f+8|0;a=f+12|0;Ar(b,j,i,h,a);l=f;return}else{h=(c>2];j=bI(a+((((h+1|0)>>>0)%3|0)<<4)|0)|0;e=e-+g[j+((((h+1|0)>>>0)%3|0)<<2)>>2];a=bI(a+((((h+2|0)>>>0)%3|0)<<4)|0)|0;e=+RH(e-+g[a+((((h+2|0)>>>0)%3|0)<<2)>>2]+1.0);g[f+(h<<2)>>2]=e*.5;g[f+12>>2]=(+g[a+((((h+1|0)>>>0)%3|0)<<2)>>2]-+g[j+((((h+2|0)>>>0)%3|0)<<2)>>2])*(.5/e);g[f+((((h+1|0)>>>0)%3|0)<<2)>>2]=(+g[j+(h<<2)>>2]+ +g[i+((((h+1|0)>>>0)%3|0)<<2)>>2])*(.5/e);g[f+((((h+2|0)>>>0)%3|0)<<2)>>2]=(+g[a+(h<<2)>>2]+ +g[i+((((h+2|0)>>>0)%3|0)<<2)>>2])*(.5/e);a=f;h=f+4|0;i=f+8|0;j=f+12|0;Ar(b,a,h,i,j);l=f;return}}function mh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a+212>>2]|0;a:do if((f|0)>0){g=c[a+220>>2]|0;d=0;while(1){e=g+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(f|0))break a}if((d|0)<(f|0)){c[e>>2]=c[g+(f+-1<<2)>>2];c[(c[a+220>>2]|0)+(f+-1<<2)>>2]=b;c[a+212>>2]=f+-1}}while(0);a=c[b+28>>2]|0;d=c[a+488>>2]|0;b:do if((d|0)>0){g=c[a+496>>2]|0;e=0;while(1){f=g+(e<<2)|0;if((c[f>>2]|0)==(b|0))break;e=e+1|0;if((e|0)>=(d|0))break b}if((e|0)<(d|0)){c[f>>2]=c[g+(d+-1<<2)>>2];c[(c[a+496>>2]|0)+(d+-1<<2)>>2]=b;c[a+488>>2]=d+-1;d=d+-1|0}}while(0);c[a+256>>2]=(d|0)>0&1;a=c[b+32>>2]|0;d=c[a+488>>2]|0;if((d|0)<=0){b=d;b=(b|0)>0;b=b&1;h=a+256|0;c[h>>2]=b;return}g=c[a+496>>2]|0;e=0;while(1){f=g+(e<<2)|0;if((c[f>>2]|0)==(b|0))break;e=e+1|0;if((e|0)>=(d|0)){h=19;break}}if((h|0)==19){b=(d|0)>0;b=b&1;h=a+256|0;c[h>>2]=b;return}if((e|0)>=(d|0)){b=d;b=(b|0)>0;b=b&1;h=a+256|0;c[h>>2]=b;return}c[f>>2]=c[g+(d+-1<<2)>>2];c[(c[a+496>>2]|0)+(d+-1<<2)>>2]=b;c[a+488>>2]=d+-1;b=d+-1|0;b=(b|0)>0;b=b&1;h=a+256|0;c[h>>2]=b;return}function nh(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0;j=qb[c[(c[b>>2]|0)+28>>2]&127](b)|0;i=+g[j>>2]-+g[d>>2];h=+g[j+4>>2]-+g[d+4>>2];f=+g[j+8>>2]-+g[d+8>>2];if(!(i*i+h*h+f*f>1.1920928955078125e-07))return;Kg(b,d);if((a[b+61>>0]|0)!=0?(e=c[b+52>>2]|0,Ab[c[c[e>>2]>>2]&511](e),e=c[b+52>>2]|0,(e|0)!=0):0){c[6473]=(c[6473]|0)+1;nd(c[e+-4>>2]|0);d=b+52|0}else d=b+52|0;c[6472]=(c[6472]|0)+1;e=ic(191)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[e+52>>2]=282;a[e+60>>0]=0;a[e+80>>0]=1;c[e+76>>2]=0;c[e+68>>2]=0;c[e+72>>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;a[e+140>>0]=1;c[e+136>>2]=0;c[e+128>>2]=0;c[e+132>>2]=0;c[e+144>>2]=0;a[e+164>>0]=1;c[e+160>>2]=0;c[e+152>>2]=0;c[e+156>>2]=0;c[e+168>>2]=0;c[e+4>>2]=-8388609;c[e+8>>2]=-8388609;c[e+12>>2]=-8388609;g[e+16>>2]=0.0;c[e+20>>2]=2139095039;c[e+24>>2]=2139095039;c[e+28>>2]=2139095039;g[e+32>>2]=0.0;c[e>>2]=8172;c[d>>2]=e;Zc(e,c[b+48>>2]|0,(a[b+60>>0]|0)!=0,b+16|0,b+32|0);a[b+61>>0]=1;return}function oh(b,d){b=b|0;d=d|0;var e=0.0,f=0.0;if(a[b+1309>>0]|0){e=(+g[b+1256>>2]-+g[b+1316>>2])*+g[b+1340>>2];g[b+792>>2]=e*(+g[d>>2]*+g[b+1364>>2]/+(c[d+48>>2]|0));e=+B(+e);g[b+808>>2]=e/+g[d>>2]}if(a[b+1310>>0]|0){e=(+g[b+1260>>2]-+g[b+1320>>2])*+g[b+1344>>2];g[b+796>>2]=e*(+g[d>>2]*+g[b+1368>>2]/+(c[d+48>>2]|0));e=+B(+e);g[b+812>>2]=e/+g[d>>2]}if(a[b+1311>>0]|0){e=(+g[b+1264>>2]-+g[b+1324>>2])*+g[b+1348>>2];g[b+800>>2]=e*(+g[d>>2]*+g[b+1372>>2]/+(c[d+48>>2]|0));e=+B(+e);g[b+816>>2]=e/+g[d>>2]}if(a[b+1312>>0]|0){f=-((+g[b+1192>>2]-+g[b+1328>>2])*+g[b+1352>>2]);e=+g[d>>2];g[b+876>>2]=e*+g[b+1376>>2]/+(c[d+48>>2]|0)*f;g[b+880>>2]=+B(+f)/e}if(a[b+1313>>0]|0){e=-((+g[b+1196>>2]-+g[b+1332>>2])*+g[b+1356>>2]);f=+g[d>>2];g[b+940>>2]=f*+g[b+1380>>2]/+(c[d+48>>2]|0)*e;g[b+944>>2]=+B(+e)/f}if(!(a[b+1314>>0]|0)){Tf(b,d);return}e=-((+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[d+48>>2]|0)*e;g[b+1008>>2]=+B(+e)/f;Tf(b,d);return}function ph(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,k=0,l=0.0,m=0.0;if(a[b+48>>0]|0){c[d>>2]=0;c[d+4>>2]=0;return}c[d>>2]=4;c[d+4>>2]=2;Tc(b,(c[b+28>>2]|0)+4|0,(c[b+32>>2]|0)+4|0);g[b+1088>>2]=0.0;a[b+297>>0]=0;f=+g[b+192>>2];h=+g[b+196>>2];do if(f<=h){m=+g[b+892>>2];l=+g[b+908>>2];i=+g[b+924>>2];i=+Lj(+K(+(+g[b+832>>2]*m+ +g[b+848>>2]*l+ +g[b+864>>2]*i),+(+g[b+828>>2]*m+ +g[b+844>>2]*l+ +g[b+860>>2]*i)),f,h);g[b+1084>>2]=i;if(i>2]=i-f;a[b+297>>0]=1;k=1;break}if(i>h){g[b+1088>>2]=i-h;a[b+297>>0]=1;k=1}else k=0}else k=0;while(0);a[b+296>>0]=0;e=c[b+1032>>2]|0;c[b+1080>>2]=e;f=+g[b+184>>2];h=+g[b+188>>2];i=(c[j>>2]=e,+g[j>>2]);do if(!(f<=h))e=11;else{if(!(i>h)){if(!(i>2]=i-f;a[b+296>>0]=1;e=13}while(0);if((e|0)==11?(g[b+1032>>2]=0.0,a[b+1096>>0]|0):0)e=13;if((e|0)==13){c[d>>2]=(c[d>>2]|0)+1;c[d+4>>2]=(c[d+4>>2]|0)+-1}if(k<<24>>24==0?(a[b+1112>>0]|0)==0:0)return;c[d>>2]=(c[d>>2]|0)+1;c[d+4>>2]=(c[d+4>>2]|0)+-1;return}function qh(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;e=l;l=l+160|0;c[e+136>>2]=0;c[e+136+4>>2]=0;c[e+136+8>>2]=0;c[e+136+12>>2]=0;c[e+136+16>>2]=0;c[e+32>>2]=7200;f=e+32+4|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[e+32+20>>2]=1065353216;c[e+32+24>>2]=0;c[e+32+24+4>>2]=0;c[e+32+24+8>>2]=0;c[e+32+24+12>>2]=0;c[e+32+40>>2]=1065353216;c[e+32+44>>2]=0;c[e+32+44+4>>2]=0;c[e+32+44+8>>2]=0;c[e+32+44+12>>2]=0;c[e+32+60>>2]=1065353216;c[e+32+64>>2]=0;c[e+32+68>>2]=c[e+136+4>>2];c[e+32+68+4>>2]=c[e+136+4+4>>2];c[e+32+68+8>>2]=c[e+136+4+8>>2];c[e+32+68+12>>2]=c[e+136+4+12>>2];g[e+32+84>>2]=-999999984306749440.0;j=+g[d>>2];i=+g[d+4>>2];h=+g[d+8>>2];g[e+32+88>>2]=j+i*0.0+h*0.0;g[e+32+92>>2]=j*0.0+i+h*0.0;g[e+32+96>>2]=j*0.0+i*0.0+h;g[e+32+100>>2]=0.0;c[e+16>>2]=1566444395;c[e+16+4>>2]=1566444395;c[e+16+8>>2]=1566444395;g[e+16+12>>2]=0.0;d=c[(c[b>>2]|0)+64>>2]|0;g[e>>2]=-999999984306749440.0;g[e+4>>2]=-999999984306749440.0;g[e+8>>2]=-999999984306749440.0;g[e+12>>2]=0.0;Nb[d&127](b,e+32|0,e,e+16|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];l=e;return}function rh(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,m=0.0,n=0.0,o=0.0,p=0.0,q=0;q=l;l=l+16|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;e=+g[d>>2];f=+g[d+4>>2];h=+g[d+8>>2];if(e*e+f*f+h*h<9.999999747378752e-05){p=1.0;o=0.0;n=0.0}else{n=1.0/+C(+(e*e+f*f+h*h));p=e*n;o=f*n;n=h*n}d=c[b+52>>2]|0;m=+g[b+28+(((d+2|0)%3|0)<<2)>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+(d<<2)>>2]=c[b+28+(d<<2)>>2];j=p*m;k=o*m;m=n*m;f=j+ +g[q>>2];i=k+ +g[q+4>>2];e=m+ +g[q+8>>2];h=+gb[c[(c[b>>2]|0)+48>>2]&15](b);f=f-p*h;i=i-o*h;h=e-n*h;e=n*h+(p*f+o*i);if(e>-999999984306749440.0){g[a>>2]=f;g[a+4>>2]=i;g[a+8>>2]=h;g[a+12>>2]=0.0;i=e}else i=-999999984306749440.0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;d=c[b+52>>2]|0;g[q+(d<<2)>>2]=-+g[b+28+(d<<2)>>2];e=j+ +g[q>>2];h=k+ +g[q+4>>2];m=m+ +g[q+8>>2];f=+gb[c[(c[b>>2]|0)+48>>2]&15](b);e=e-p*f;h=h-o*f;f=m-n*f;if(!(n*f+(p*e+o*h)>i)){l=q;return}g[a>>2]=e;g[a+4>>2]=h;g[a+8>>2]=f;g[a+12>>2]=0.0;l=q;return}function sh(a,b,d,e,f,h,i,j,k,m){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;h=+h;i=+i;j=+j;k=+k;m=+m;var n=0;n=l;l=l+128|0;c[n+80>>2]=c[a+4>>2];c[n+80+4>>2]=c[a+20>>2];c[n+80+8>>2]=c[a+36>>2];g[n+80+12>>2]=0.0;c[n+80+16>>2]=c[a+8>>2];c[n+80+20>>2]=c[a+24>>2];c[n+80+24>>2]=c[a+40>>2];g[n+80+28>>2]=0.0;c[n+80+32>>2]=c[a+12>>2];c[n+80+36>>2]=c[a+28>>2];c[n+80+40>>2]=c[a+44>>2];g[n+80+44>>2]=0.0;c[n+32>>2]=c[b+4>>2];c[n+32+4>>2]=c[b+20>>2];c[n+32+8>>2]=c[b+36>>2];g[n+32+12>>2]=0.0;c[n+32+16>>2]=c[b+8>>2];c[n+32+20>>2]=c[b+24>>2];c[n+32+24>>2]=c[b+40>>2];g[n+32+28>>2]=0.0;c[n+32+32>>2]=c[b+12>>2];c[n+32+36>>2]=c[b+28>>2];c[n+32+40>>2]=c[b+44>>2];g[n+32+44>>2]=0.0;h=h-+g[a+56>>2];i=i-+g[a+60>>2];g[n+16>>2]=f-+g[a+52>>2];g[n+16+4>>2]=h;g[n+16+8>>2]=i;g[n+16+12>>2]=0.0;k=k-+g[b+56>>2];m=m-+g[b+60>>2];g[n>>2]=j-+g[b+52>>2];g[n+4>>2]=k;g[n+8>>2]=m;g[n+12>>2]=0.0;Ag(d,n+80|0,n+32|0,n+16|0,n,e,a+396|0,+g[a+344>>2],b+396|0,+g[b+344>>2]);l=n;return}function th(a,b,c,d,e,f,h,i,j,k,l,m,n,o){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;h=+h;i=+i;j=+j;k=+k;l=+l;m=+m;n=+n;o=+o;var p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0;q=(j-f)*(n-h)-(k-h)*(m-f);r=(k-h)*(l-e)-(i-e)*(n-h);s=(i-e)*(m-f)-(j-f)*(l-e);if(+B(+(s*d+(q*b+r*c)))<1.1920928955078125e-07){s=-1.0;return +s}t=+g[a>>2];v=+g[a+4>>2];u=+g[a+8>>2];p=-(q*t+r*v+s*u-(s*h+(q*e+r*f)))/(s*d+(q*b+r*c));if(((p>1.1920928955078125e-06&p-1.1920928955078125e-06:0)?s*((m-(v+p*c))*(i-(t+p*b))-(j-(v+p*c))*(l-(t+p*b)))+(q*((j-(v+p*c))*(n-(u+p*d))-(k-(u+p*d))*(m-(v+p*c)))+r*((k-(u+p*d))*(l-(t+p*b))-(n-(u+p*d))*(i-(t+p*b))))>-1.1920928955078125e-06:0)?s*((f-(v+p*c))*(l-(t+p*b))-(m-(v+p*c))*(e-(t+p*b)))+(q*((m-(v+p*c))*(h-(u+p*d))-(n-(u+p*d))*(f-(v+p*c)))+r*((n-(u+p*d))*(e-(t+p*b))-(h-(u+p*d))*(l-(t+p*b))))>-1.1920928955078125e-06:0){v=p;return +v}v=-1.0;return +v}function uh(a,b,d,e,f){a=a|0;b=+b;d=+d;e=+e;f=f|0;var h=0,i=0,j=0,k=0,m=0.0,n=0.0;j=l;l=l+48|0;m=1.0/+C(+(b*b+d*d+e*e));g[f>>2]=m*b;g[f+4>>2]=m*d;g[f+8>>2]=m*e;g[f+12>>2]=0.0;h=c[a+120>>2]|0;k=c[a+124>>2]|0;i=(c[a>>2]|0)+(k>>1)|0;if(k&1)h=c[(c[i>>2]|0)+h>>2]|0;Kb[h&127](j,i,f);b=-+g[f>>2];d=-+g[f+4>>2];e=-+g[f+8>>2];h=c[a+120>>2]|0;k=c[a+124>>2]|0;i=(c[a+4>>2]|0)+(k>>1)|0;if(k&1)h=c[(c[i>>2]|0)+h>>2]|0;m=+g[a+24>>2]*b+ +g[a+28>>2]*d+ +g[a+32>>2]*e;n=+g[a+40>>2]*b+ +g[a+44>>2]*d+ +g[a+48>>2]*e;g[j+16>>2]=+g[a+8>>2]*b+ +g[a+12>>2]*d+ +g[a+16>>2]*e;g[j+16+4>>2]=m;g[j+16+8>>2]=n;g[j+16+12>>2]=0.0;Kb[h&127](j+32|0,i,j+16|0);n=+g[j+32>>2];b=+g[j+32+4>>2];d=+g[j+32+8>>2];e=+g[j+4>>2]-(n*+g[a+72>>2]+b*+g[a+76>>2]+d*+g[a+80>>2]+ +g[a+108>>2]);m=+g[j+8>>2]-(n*+g[a+88>>2]+b*+g[a+92>>2]+d*+g[a+96>>2]+ +g[a+112>>2]);g[f+16>>2]=+g[j>>2]-(n*+g[a+56>>2]+b*+g[a+60>>2]+d*+g[a+64>>2]+ +g[a+104>>2]);g[f+20>>2]=e;g[f+24>>2]=m;g[f+28>>2]=0.0;l=j;return}function vh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if(a[b+165>>0]|0){if((c[b+92>>2]|0)>=(d|0))return;if((d|0)!=0?(c[6472]=(c[6472]|0)+1,f=ic((d<<4|3)+16|0)|0,(f|0)!=0):0){c[(f+4+15&-16)+-4>>2]=f;g=f+4+15&-16}else g=0;e=c[b+88>>2]|0;if((e|0)>0){f=0;do{i=g+(f<<4)|0;h=(c[b+96>>2]|0)+(f<<4)|0;c[i>>2]=c[h>>2];c[i+4>>2]=c[h+4>>2];c[i+8>>2]=c[h+8>>2];c[i+12>>2]=c[h+12>>2];f=f+1|0}while((f|0)!=(e|0))}e=c[b+96>>2]|0;if(e|0){if(a[b+100>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[e+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=g;c[b+92>>2]=d;return}if((c[b+112>>2]|0)>=(d|0))return;if((d|0)!=0?(c[6472]=(c[6472]|0)+1,e=ic((d<<2|3)+16|0)|0,(e|0)!=0):0){c[(e+4+15&-16)+-4>>2]=e;h=e+4+15&-16}else h=0;f=c[b+108>>2]|0;g=c[b+116>>2]|0;if((f|0)<=0)if(!g)e=b+120|0;else i=21;else{e=0;do{c[h+(e<<2)>>2]=c[g+(e<<2)>>2];e=e+1|0}while((e|0)!=(f|0));i=21}if((i|0)==21){if(a[b+120>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[g+-4>>2]|0)}c[b+116>>2]=0;e=b+120|0}a[e>>0]=1;c[b+116>>2]=h;c[b+112>>2]=d;return}function wh(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;if(!(c[i+44>>2]|0))return;b=c[i+20>>2]|0;if(!(c[i+64>>2]&256)){if((b|0)<=0)return;j=0;do{g=c[a+28>>2]|0;if((g|0)>0){b=0;do{f=c[(c[a+116>>2]|0)+(b<<2)>>2]|0;h=c[a+36>>2]|0;d=c[a+16>>2]|0;qg(d+((c[h+(f*152|0)+144>>2]|0)*244|0)|0,d+((c[h+(f*152|0)+148>>2]|0)*244|0)|0,h+(f*152|0)|0);b=b+1|0}while((b|0)!=(g|0));b=c[i+20>>2]|0}j=j+1|0}while((j|0)<(b|0));return}else{if((b|0)<=0)return;j=0;do{g=c[a+28>>2]|0;if((g|0)>0){b=0;do{f=c[(c[a+116>>2]|0)+(b<<2)>>2]|0;h=c[a+36>>2]|0;d=c[a+16>>2]|0;qg(d+((c[h+(f*152|0)+144>>2]|0)*244|0)|0,d+((c[h+(f*152|0)+148>>2]|0)*244|0)|0,h+(f*152|0)|0);b=b+1|0}while((b|0)!=(g|0));b=c[i+20>>2]|0}j=j+1|0}while((j|0)<(b|0));return}}function xh(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;if(!(a[d+164>>0]|0)){if((c[d+152>>2]|0)>=(e|0))return;if((e|0)!=0?(c[6472]=(c[6472]|0)+1,f=ic((e<<1)+19|0)|0,(f|0)!=0):0){c[(f+4+15&-16)+-4>>2]=f;i=f+4+15&-16}else i=0;g=c[d+148>>2]|0;h=c[d+156>>2]|0;if((g|0)<=0)if(!h)f=d+160|0;else j=22;else{f=0;do{b[i+(f<<1)>>1]=b[h+(f<<1)>>1]|0;f=f+1|0}while((f|0)!=(g|0));j=22}if((j|0)==22){if(a[d+160>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[h+-4>>2]|0)}c[d+156>>2]=0;f=d+160|0}a[f>>0]=1;c[d+156>>2]=i;c[d+152>>2]=e;return}else{if((c[d+132>>2]|0)>=(e|0))return;if((e|0)!=0?(c[6472]=(c[6472]|0)+1,g=ic((e<<2|3)+16|0)|0,(g|0)!=0):0){c[(g+4+15&-16)+-4>>2]=g;i=g+4+15&-16}else i=0;g=c[d+128>>2]|0;h=c[d+136>>2]|0;if((g|0)<=0)if(!h)f=d+140|0;else j=10;else{f=0;do{c[i+(f<<2)>>2]=c[h+(f<<2)>>2];f=f+1|0}while((f|0)!=(g|0));j=10}if((j|0)==10){if(a[d+140>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[h+-4>>2]|0)}c[d+136>>2]=0;f=d+140|0}a[f>>0]=1;c[d+136>>2]=i;c[d+132>>2]=e;return}}function yh(a,b,d){a=a|0;b=b|0;d=d|0;Zh(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 12907}function zh(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0.0,h=0.0,i=0.0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0;j=l;l=l+32|0;n=+g[a+56>>2];r=+g[a+72>>2]-n;m=+g[a+60>>2];p=+g[a+76>>2]-m;k=+g[a+64>>2];s=+g[a+80>>2]-k;o=+g[a+88>>2]-n;q=+g[a+92>>2]-m;h=+g[a+96>>2]-k;i=1.0/+C(+((r*q-p*o)*(r*q-p*o)+((p*h-s*q)*(p*h-s*q)+(s*o-r*h)*(s*o-r*h))));f=i*(p*h-s*q);h=i*(s*o-r*h);i=(r*q-p*o)*i;k=i*+g[b+8>>2]+(+g[b>>2]*f+ +g[b+4>>2]*h)-(f*n+h*m+i*k);if(!(k>=-d)|!(k<=d)){a=0;l=j;return a|0}e=0;while(1){Nb[c[(c[a>>2]|0)+104>>2]&127](a,e,j+16|0,j);n=+g[j+16>>2];s=+g[j>>2]-n;p=+g[j+16+4>>2];o=+g[j+4>>2]-p;m=+g[j+16+8>>2];r=+g[j+8>>2]-m;q=1.0/+C(+((h*s-f*o)*(h*s-f*o)+((i*o-h*r)*(i*o-h*r)+(f*r-i*s)*(f*r-i*s))));e=e+1|0;if((h*s-f*o)*q*+g[b+8>>2]+(+g[b>>2]*q*(i*o-h*r)+ +g[b+4>>2]*q*(f*r-i*s))-(m*(h*s-f*o)*q+(n*q*(i*o-h*r)+p*q*(f*r-i*s)))<-d){e=0;b=5;break}if((e|0)>=3){e=1;b=5;break}}if((b|0)==5){l=j;return e|0}return 0}function Ah(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0;c[6472]=(c[6472]|0)+1;h=ic(55)|0;if(!h)j=0;else{c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}c[j>>2]=d;c[j+4>>2]=e;c[j+8>>2]=f;c[j+12>>2]=-1;c[j+16>>2]=-1;c[j+20>>2]=-1;c[j+28>>2]=-1;g[j+32>>2]=0.0;f=j;h=c[b+4>>2]|0;c[j+24>>2]=h;if((h|0)!=(c[b+8>>2]|0)){i=h;e=b+12|0;e=c[e>>2]|0;e=e+(i<<2)|0;c[e>>2]=f;i=i+1|0;c[b+4>>2]=i;return j|0}i=h|0?h<<1:1;if((h|0)>=(i|0)){i=h;e=b+12|0;e=c[e>>2]|0;e=e+(i<<2)|0;c[e>>2]=f;i=i+1|0;c[b+4>>2]=i;return j|0}if(!i)d=0;else{c[6472]=(c[6472]|0)+1;h=ic((i<<2|3)+16|0)|0;if(!h)d=0;else{c[(h+4+15&-16)+-4>>2]=h;d=h+4+15&-16}h=c[b+4>>2]|0}if((h|0)>0){e=0;do{c[d+(e<<2)>>2]=c[(c[b+12>>2]|0)+(e<<2)>>2];e=e+1|0}while((e|0)!=(h|0))}e=c[b+12>>2]|0;if(e){if(a[b+16>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[e+-4>>2]|0);h=c[b+4>>2]|0}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=d;c[b+8>>2]=i;i=h;e=b+12|0;e=c[e>>2]|0;e=e+(i<<2)|0;c[e>>2]=f;i=i+1|0;c[b+4>>2]=i;return j|0}function Bh(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,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,C=0.0,D=0.0,E=0.0,F=0.0;o=+gb[c[(c[a>>2]|0)+48>>2]&15](a);u=+g[a+72>>2];t=+g[a+56>>2];r=+g[a+76>>2];q=+g[a+60>>2];n=+g[a+80>>2];m=+g[a+64>>2];F=+g[b>>2];y=+B(+F);E=+g[b+4>>2];x=+B(+E);k=+g[b+8>>2];l=+B(+k);D=+g[b+16>>2];w=+B(+D);C=+g[b+20>>2];v=+B(+C);i=+g[b+24>>2];j=+B(+i);A=+g[b+32>>2];s=+B(+A);z=+g[b+36>>2];p=+B(+z);f=+g[b+40>>2];h=+B(+f);k=(u+t)*.5*F+(r+q)*.5*E+(n+m)*.5*k+ +g[b+48>>2];i=(u+t)*.5*D+(r+q)*.5*C+(n+m)*.5*i+ +g[b+52>>2];f=(u+t)*.5*A+(r+q)*.5*z+(n+m)*.5*f+ +g[b+56>>2];l=(o+(u-t)*.5)*y+(o+(r-q)*.5)*x+(o+(n-m)*.5)*l;j=(o+(u-t)*.5)*w+(o+(r-q)*.5)*v+(o+(n-m)*.5)*j;h=(o+(u-t)*.5)*s+(o+(r-q)*.5)*p+(o+(n-m)*.5)*h;g[d>>2]=k-l;g[d+4>>2]=i-j;g[d+8>>2]=f-h;g[d+12>>2]=0.0;g[e>>2]=l+k;g[e+4>>2]=j+i;g[e+8>>2]=h+f;g[e+12>>2]=0.0;return}function Ch(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,k=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,z=0;f=l;l=l+16|0;y=c[a+52>>2]|0;z=c[a+28+(((y+2|0)%3|0)<<2)>>2]|0;c[f>>2]=z;c[f+4>>2]=z;c[f+8>>2]=z;g[f+12>>2]=0.0;g[f+(y<<2)>>2]=(c[j>>2]=z,+g[j>>2])+ +g[a+28+(y<<2)>>2];k=+gb[c[(c[a>>2]|0)+48>>2]&15](a);h=+gb[c[(c[a>>2]|0)+48>>2]&15](a);o=+gb[c[(c[a>>2]|0)+48>>2]&15](a);k=k+ +g[f>>2];g[f>>2]=k;h=h+ +g[f+4>>2];g[f+4>>2]=h;o=o+ +g[f+8>>2];v=+B(+(+g[b>>2]));u=+B(+(+g[b+4>>2]));w=+B(+(+g[b+8>>2]));r=+B(+(+g[b+16>>2]));q=+B(+(+g[b+20>>2]));s=+B(+(+g[b+24>>2]));m=+B(+(+g[b+32>>2]));i=+B(+(+g[b+36>>2]));n=+B(+(+g[b+40>>2]));x=+g[b+48>>2];t=+g[b+52>>2];p=+g[b+56>>2];g[d>>2]=x-(o*w+(v*k+u*h));g[d+4>>2]=t-(o*s+(r*k+q*h));g[d+8>>2]=p-(o*n+(m*k+i*h));g[d+12>>2]=0.0;g[e>>2]=x+(o*w+(v*k+u*h));g[e+4>>2]=t+(o*s+(r*k+q*h));g[e+8>>2]=p+(o*n+(m*k+i*h));g[e+12>>2]=0.0;l=f;return}function Dh(b,d,e){b=b|0;d=d|0;e=e|0;var 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;if(a[d+32>>0]&1){f=c[b+4>>2]|0;if(f|0)Zk(f,d,e);f=c[b>>2]|0;if(f|0){n=+g[d>>2];l=+g[f+128>>2];m=+g[d+4>>2];k=+g[d+8>>2];h=+g[e+4>>2];p=+g[e+8>>2];o=+g[e>>2];j=+g[f+180>>2]*(k*h-m*p)+ +g[f+184>>2]*(n*p-k*o)+(m*o-n*h)*+g[f+188>>2];i=(k*h-m*p)*+g[f+196>>2]+(n*p-k*o)*+g[f+200>>2]+(m*o-n*h)*+g[f+204>>2];h=(k*h-m*p)*+g[f+212>>2]+(n*p-k*o)*+g[f+216>>2]+(m*o-n*h)*+g[f+220>>2];g[f+244>>2]=n*l+ +g[f+244>>2];g[f+248>>2]=l*m+ +g[f+248>>2];g[f+252>>2]=l*k+ +g[f+252>>2];g[f+316>>2]=n*l+ +g[f+316>>2];g[f+320>>2]=l*m+ +g[f+320>>2];g[f+324>>2]=l*k+ +g[f+324>>2];g[f+260>>2]=j+ +g[f+260>>2];g[f+264>>2]=i+ +g[f+264>>2];g[f+268>>2]=h+ +g[f+268>>2];g[f+332>>2]=j+ +g[f+332>>2];g[f+336>>2]=i+ +g[f+336>>2];g[f+340>>2]=h+ +g[f+340>>2];c[f+308>>2]=(c[f+308>>2]|0)+1}}if(!(a[d+32>>0]&2))return;Pi(b,d+16|0,e);return}function Eh(a){a=a|0;var b=0,d=0,e=0,f=0;d=l;l=l+16|0;bj(14480);Ab[c[(c[a>>2]|0)+8>>2]&511](a);Ab[c[(c[a>>2]|0)+12>>2]&511](a);b=c[a+24>>2]|0;bj(14514);if(b|0){f=c[(c[b>>2]|0)+32>>2]|0;e=c[a+68>>2]|0;e=qb[c[(c[e>>2]|0)+36>>2]&127](e)|0;Nb[f&127](b,e,a+28|0,c[a+24>>2]|0)}a=c[2405]|0;f=(c[a+16>>2]|0)+-1|0;c[a+16>>2]=f;do if(!f){if(c[a+4>>2]|0){Za(d|0,0)|0;b=c[6471]|0;g[a+8>>2]=+g[a+8>>2]+ +(((c[d+4>>2]|0)-(c[b+4>>2]|0)+(((c[d>>2]|0)-(c[b>>2]|0)|0)*1e6|0)-(c[a+12>>2]|0)|0)>>>0)/1.0e3;b=c[2405]|0;if(c[a+16>>2]|0)break}else b=a;b=c[b+20>>2]|0;c[2405]=b}else b=a;while(0);a=b+16|0;f=(c[a>>2]|0)+-1|0;c[a>>2]=f;if(f|0){l=d;return}do if(c[b+4>>2]|0){Za(d|0,0)|0;e=c[6471]|0;f=b+8|0;g[f>>2]=+g[f>>2]+ +(((c[d+4>>2]|0)-(c[e+4>>2]|0)+(((c[d>>2]|0)-(c[e>>2]|0)|0)*1e6|0)-(c[b+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[a>>2]|0)){b=c[2405]|0;break}else{l=d;return}}while(0);c[2405]=c[b+20>>2];l=d;return}function Fh(b,d){b=b|0;d=d|0;var e=0;c[b>>2]=9032;a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=-1;c[b+16>>2]=0;c[b+20>>2]=0;a[b+100>>0]=1;c[b+96>>2]=0;c[b+88>>2]=0;c[b+92>>2]=0;a[b+120>>0]=1;c[b+116>>2]=0;c[b+108>>2]=0;c[b+112>>2]=0;c[b+64>>2]=0;c[b+68>>2]=0;c[b+72>>2]=-1;c[b+76>>2]=0;c[b+80>>2]=0;a[b+193>>0]=0;a[b+194>>0]=1;a[b+192>>0]=((d|0)!=0^1)&1;g[b+140>>2]=0.0;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;c[b+168>>2]=0;c[b+172>>2]=0;g[b+176>>2]=0.0;if(d|0){e=d;d=b+136|0;c[d>>2]=e;d=b+188|0;c[d>>2]=0;d=b+180|0;c[d>>2]=0;d=b+184|0;c[d>>2]=0;b=b+124|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;return}c[6472]=(c[6472]|0)+1;d=ic(95)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}si(d);e=b+136|0;c[e>>2]=d;e=b+188|0;c[e>>2]=0;e=b+180|0;c[e>>2]=0;e=b+184|0;c[e>>2]=0;e=b+124|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;return}function Gh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0,j=0.0,k=0.0;i=c[b>>2]|0;if((i|0)==(c[a+80>>2]|0)){k=1.0;return +k}if(c[i+204>>2]&4|0){k=1.0;return +k}f=+g[b+8>>2];h=+g[b+12>>2];e=+g[b+16>>2];if(d){j=f;k=h}else{j=+g[i+4>>2]*f+ +g[i+8>>2]*h+ +g[i+12>>2]*e;k=f*+g[i+20>>2]+h*+g[i+24>>2]+e*+g[i+28>>2];e=f*+g[i+36>>2]+h*+g[i+40>>2]+e*+g[i+44>>2]}if(j*+g[a+84>>2]+k*+g[a+88>>2]+e*+g[a+92>>2]<+g[a+100>>2]){k=1.0;return +k}c[a+4>>2]=c[b+40>>2];c[a+76>>2]=i;if(d){c[a+44>>2]=c[b+8>>2];c[a+44+4>>2]=c[b+8+4>>2];c[a+44+8>>2]=c[b+8+8>>2];c[a+44+12>>2]=c[b+8+12>>2]}else{e=+g[b+8>>2];f=+g[b+12>>2];h=+g[b+16>>2];j=e*+g[i+20>>2]+f*+g[i+24>>2]+h*+g[i+28>>2];k=e*+g[i+36>>2]+f*+g[i+40>>2]+h*+g[i+44>>2];g[a+44>>2]=+g[i+4>>2]*e+ +g[i+8>>2]*f+ +g[i+12>>2]*h;g[a+48>>2]=j;g[a+52>>2]=k;g[a+56>>2]=0.0}c[a+60>>2]=c[b+24>>2];c[a+60+4>>2]=c[b+24+4>>2];c[a+60+8>>2]=c[b+24+8>>2];c[a+60+12>>2]=c[b+24+12>>2];k=+g[b+40>>2];return +k}function Hh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[b+16>>2]|0;if(d|0){if(a[b+20>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;d=c[b+40>>2]|0;if(d|0){if(a[b+44>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+40>>2]=0}a[b+44>>0]=1;c[b+40>>2]=0;c[b+32>>2]=0;c[b+36>>2]=0;d=c[b+60>>2]|0;if(d|0){if(a[b+64>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+60>>2]=0}a[b+64>>0]=1;c[b+60>>2]=0;c[b+52>>2]=0;c[b+56>>2]=0;if((c[b+12>>2]|0)>=2){zf(b);return}c[6472]=(c[6472]|0)+1;d=ic(43)|0;if(!d)f=0;else{c[(d+4+15&-16)+-4>>2]=d;f=d+4+15&-16}d=c[b+8>>2]|0;if((d|0)>0){e=0;do{g=f+(e*12|0)|0;h=(c[b+16>>2]|0)+(e*12|0)|0;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];e=e+1|0}while((e|0)!=(d|0))}d=c[b+16>>2]|0;if(d|0){if(a[b+20>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=f;c[b+12>>2]=2;zf(b);return}function Ih(a,b,e){a=a|0;b=b|0;e=e|0;Zh(a,b,e)|0;c[b+52>>2]=c[a+52>>2];c[b+56>>2]=c[a+56>>2];c[b+60>>2]=c[a+60>>2];c[b+64>>2]=c[a+64>>2];c[b+68>>2]=c[a+68>>2];c[b+72>>2]=c[a+72>>2];c[b+76>>2]=c[a+76>>2];c[b+80>>2]=c[a+80>>2];c[b+84>>2]=c[a+84>>2];c[b+88>>2]=c[a+88>>2];c[b+92>>2]=c[a+92>>2];c[b+96>>2]=c[a+96>>2];c[b+100>>2]=c[a+100>>2];c[b+104>>2]=c[a+104>>2];c[b+108>>2]=c[a+108>>2];c[b+112>>2]=c[a+112>>2];c[b+116>>2]=c[a+116>>2];c[b+120>>2]=c[a+120>>2];c[b+124>>2]=c[a+124>>2];c[b+128>>2]=c[a+128>>2];c[b+132>>2]=c[a+132>>2];c[b+136>>2]=c[a+136>>2];c[b+140>>2]=c[a+140>>2];c[b+144>>2]=c[a+144>>2];c[b+148>>2]=c[a+148>>2];c[b+152>>2]=c[a+152>>2];c[b+156>>2]=c[a+156>>2];c[b+160>>2]=c[a+160>>2];c[b+164>>2]=c[a+164>>2];c[b+168>>2]=c[a+168>>2];c[b+172>>2]=c[a+172>>2];c[b+176>>2]=c[a+176>>2];c[b+180>>2]=c[a+188>>2];c[b+184>>2]=c[a+184>>2];c[b+188>>2]=c[a+196>>2];c[b+192>>2]=c[a+192>>2];c[b+196>>2]=d[a+180>>0];c[b+200>>2]=d[a+49>>0];return 12863}function Jh(){var b=0,d=0,e=0;b=js(288)|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;c[b+188>>2]=0;c[b+188+4>>2]=0;c[b+188+8>>2]=0;c[b+188+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+240>>2]=0;g[b+244>>2]=1.0;c[b+248>>2]=0;c[b+248+4>>2]=0;c[b+248+8>>2]=0;c[b+248+12>>2]=0;c[b+4>>2]=1065353216;c[b+8>>2]=0;c[b+8+4>>2]=0;c[b+8+8>>2]=0;c[b+8+12>>2]=0;c[b+24>>2]=1065353216;c[b+28>>2]=0;c[b+28+4>>2]=0;c[b+28+8>>2]=0;c[b+28+12>>2]=0;c[b+44>>2]=1065353216;c[b+48>>2]=0;c[b+48+4>>2]=0;c[b+48+8>>2]=0;c[b+48+12>>2]=0;c[b+48+16>>2]=0;a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;c[b+272>>2]=0;c[b+236>>2]=4;c[b>>2]=5280;c[6472]=(c[6472]|0)+1;d=ic(95)|0;if(!d){e=0;si(e);d=b+284|0;c[d>>2]=e;return b|0}c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16;si(d);e=b+284|0;c[e>>2]=d;return b|0}function Kh(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var h=0,i=0.0,j=0.0,k=0.0,m=0.0;h=l;l=l+96|0;g[h+4>>2]=1.0;c[h+8>>2]=0;b[h+12>>1]=1;b[h+14>>1]=-1;c[h+16>>2]=0;c[h>>2]=2920;c[h+20>>2]=c[d>>2];c[h+20+4>>2]=c[d+4>>2];c[h+20+8>>2]=c[d+8>>2];c[h+20+12>>2]=c[d+12>>2];c[h+36>>2]=c[e>>2];c[h+36+4>>2]=c[e+4>>2];c[h+36+8>>2]=c[e+8>>2];c[h+36+12>>2]=c[e+12>>2];a=c[a+4>>2]|0;Nb[c[(c[a>>2]|0)+32>>2]&127](a,d,e,h);d=c[h+8>>2]|0;if(!d){f=0;l=h;return f|0}if(!(c[d+236>>2]&2)){f=0;l=h;return f|0}if(c[d+204>>2]&4|0){f=0;l=h;return f|0}c[f>>2]=c[h+68>>2];c[f+4>>2]=c[h+68+4>>2];c[f+8>>2]=c[h+68+8>>2];c[f+12>>2]=c[h+68+12>>2];c[f+16>>2]=c[h+52>>2];c[f+16+4>>2]=c[h+52+4>>2];c[f+16+8>>2]=c[h+52+8>>2];c[f+16+12>>2]=c[h+52+12>>2];m=+g[f+16>>2];k=+g[f+20>>2];j=+g[f+24>>2];i=1.0/+C(+(m*m+k*k+j*j));g[f+16>>2]=m*i;g[f+20>>2]=k*i;g[f+24>>2]=j*i;c[f+32>>2]=c[h+4>>2];f=d;l=h;return f|0}function Lh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;Ab[c[(c[b>>2]|0)+32>>2]&511](b);e=ub[c[(c[b>>2]|0)+16>>2]&63](b,104,1)|0;d=c[e+8>>2]|0;f=d;g=f+104|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[d+88>>2]=c[a+248>>2];c[d+92>>2]=c[a+252>>2];c[d+96>>2]=c[a+256>>2];c[d+100>>2]=c[a+260>>2];c[d>>2]=c[a+92>>2];c[d+4>>2]=c[a+96>>2];c[d+8>>2]=c[a+100>>2];c[d+12>>2]=c[a+104>>2];c[d+16>>2]=c[a+108>>2];c[d+20>>2]=c[a+116>>2];c[d+24>>2]=c[a+120>>2];c[d+28>>2]=c[a+124>>2];c[d+32>>2]=c[a+128>>2];c[d+36>>2]=c[a+132>>2];c[d+40>>2]=c[a+140>>2];c[d+44>>2]=c[a+144>>2];c[d+48>>2]=c[a+148>>2];c[d+52>>2]=c[a+152>>2];c[d+56>>2]=c[a+168>>2];c[d+60>>2]=c[a+172>>2];c[d+64>>2]=c[a+112>>2];c[d+68>>2]=c[a+156>>2];c[d+72>>2]=c[a+160>>2];c[d+76>>2]=c[a+164>>2];c[d+80>>2]=c[a+136>>2];Rb[c[(c[b>>2]|0)+20>>2]&31](b,e,12441,1145853764,d);Ti(a,b);cd(a,b);Ab[c[(c[b>>2]|0)+36>>2]&511](b);return}function Mh(a){a=a|0;var b=0.0,d=0,e=0,f=0.0,h=0.0,i=0.0,j=0.0;e=ct()|0;c[e+8>>2]=0;c[e+12>>2]=1065353216;c[e+16>>2]=1065353216;c[e+20>>2]=1065353216;g[e+24>>2]=0.0;g[e+44>>2]=.03999999910593033;c[e+52>>2]=0;c[e>>2]=8036;c[e+4>>2]=0;h=+g[a>>2];f=+g[a+4>>2];b=+g[a+8>>2];b=+g[a+((h>2]*.10000000149011612;if(b<.03999999910593033){j=+DF(e);i=+gb[c[(c[e>>2]|0)+48>>2]&15](e);h=+gb[c[(c[e>>2]|0)+48>>2]&15](e);j=j+ +g[e+28>>2];i=i+ +g[e+32>>2];h=h+ +g[e+36>>2];g[e+44>>2]=b;b=+gb[c[(c[e>>2]|0)+48>>2]&15](e);f=+gb[c[(c[e>>2]|0)+48>>2]&15](e);h=h-+gb[c[(c[e>>2]|0)+48>>2]&15](e);g[e+28>>2]=j-b;g[e+32>>2]=i-f;g[e+36>>2]=h;g[e+40>>2]=0.0;d=c[e>>2]|0}else d=8036;h=+gb[c[d+48>>2]&15](e);i=+gb[c[(c[e>>2]|0)+48>>2]&15](e);j=+gb[c[(c[e>>2]|0)+48>>2]&15](e);i=+g[a+4>>2]*+g[e+16>>2]-i;j=+g[a+8>>2]*+g[e+20>>2]-j;g[e+28>>2]=+g[a>>2]*+g[e+12>>2]-h;g[e+32>>2]=i;g[e+36>>2]=j;g[e+40>>2]=0.0;return e|0}function Nh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0;e=l;l=l+32|0;d=c[b+388>>2]|0;switch(c[a+388>>2]&48&d&63){case 32:{if((a|0)==(b|0)&(d&64|0)==0){l=e;return}g[e+4>>2]=1.0;c[e+8+4>>2]=0;c[e+8+4+4>>2]=0;c[e+8+4+8>>2]=0;c[e>>2]=3684;c[e+8>>2]=c[a+456>>2];d=c[a+192>>2]|0;f=+gb[c[(c[d>>2]|0)+48>>2]&15](d);d=c[b+192>>2]|0;g[e+12>>2]=f+ +gb[c[(c[d>>2]|0)+48>>2]&15](d);c[e+16>>2]=c[(+g[a+316>>2]<+g[b+316>>2]?a+316|0:b+316|0)>>2];c[e+24>>2]=a;c[e+28>>2]=b;se(c[a+1048>>2]|0,c[b+1048>>2]|0,e);l=e;return}case 16:{if((a|0)==(b|0)){l=e;return}c[e>>2]=3720;d=c[a+192>>2]|0;f=+gb[c[(c[d>>2]|0)+48>>2]&15](d);d=c[b+192>>2]|0;g[e+12>>2]=f+ +gb[c[(c[d>>2]|0)+48>>2]&15](d);c[e+4>>2]=a;c[e+8>>2]=b;se(c[a+928>>2]|0,c[b+988>>2]|0,e);c[e+4>>2]=b;c[e+8>>2]=a;se(c[b+928>>2]|0,c[a+988>>2]|0,e);l=e;return}default:{l=e;return}}}function Oh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0,j=0.0;i=l;l=l+32|0;c[i+16>>2]=c[d>>2];c[i+16+4>>2]=c[d+4>>2];c[i+16+8>>2]=c[d+8>>2];c[i+16+12>>2]=c[d+12>>2];e=+g[i+16>>2];h=+g[i+16+4>>2];f=+g[i+16+8>>2];if(e*e+h*h+f*f<1.4210854715202004e-14){c[i+16>>2]=-1082130432;c[i+16+4>>2]=-1082130432;c[i+16+8>>2]=-1082130432;g[i+16+12>>2]=0.0;e=-1.0;h=-1.0;f=-1.0}j=1.0/+C(+(e*e+h*h+f*f));g[i+16>>2]=e*j;g[i+16+4>>2]=h*j;g[i+16+8>>2]=f*j;wd(i,b,i+16|0);switch(c[b+4>>2]|0){case 8:{e=+g[b+28>>2]*+g[b+12>>2];break}case 0:{e=+g[b+44>>2];break}case 1:{e=+g[b+44>>2];break}case 13:{e=+g[b+44>>2];break}case 11:{e=+g[b+44>>2];break}case 10:{e=+g[b+44>>2];break}case 4:case 5:{e=+g[b+44>>2];break}default:e=+gb[c[(c[b>>2]|0)+48>>2]&15](b)}h=e*+g[i+16+4>>2]+ +g[i+4>>2];j=e*+g[i+16+8>>2]+ +g[i+8>>2];g[a>>2]=e*+g[i+16>>2]+ +g[i>>2];g[a+4>>2]=h;g[a+8>>2]=j;g[a+12>>2]=0.0;l=i;return}function Ph(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.0,h=0.0,i=0.0,j=0.0;c[a+4>>2]=35;c[a+8>>2]=0;c[a+12>>2]=1065353216;c[a+16>>2]=1065353216;c[a+20>>2]=1065353216;g[a+24>>2]=0.0;g[a+44>>2]=.03999999910593033;c[a>>2]=8332;c[a+52>>2]=1;h=+g[b>>2];f=+g[b+4>>2];d=+g[b+8>>2];d=+g[b+((h>2]*.10000000149011612;if(d<.03999999910593033){j=+DF(a);i=+gb[c[(c[a>>2]|0)+48>>2]&15](a);h=+gb[c[(c[a>>2]|0)+48>>2]&15](a);j=j+ +g[a+28>>2];i=i+ +g[a+32>>2];h=h+ +g[a+36>>2];g[a+44>>2]=d;d=+gb[c[(c[a>>2]|0)+48>>2]&15](a);f=+gb[c[(c[a>>2]|0)+48>>2]&15](a);h=h-+gb[c[(c[a>>2]|0)+48>>2]&15](a);g[a+28>>2]=j-d;g[a+32>>2]=i-f;g[a+36>>2]=h;g[a+40>>2]=0.0;e=c[a>>2]|0}else e=8332;h=+gb[c[e+48>>2]&15](a);i=+gb[c[(c[a>>2]|0)+48>>2]&15](a);j=+gb[c[(c[a>>2]|0)+48>>2]&15](a);i=+g[b+4>>2]*+g[a+16>>2]-i;j=+g[b+8>>2]*+g[a+20>>2]-j;g[a+28>>2]=+g[b>>2]*+g[a+12>>2]-h;g[a+32>>2]=i;g[a+36>>2]=j;g[a+40>>2]=0.0;c[a+4>>2]=13;return}function Qh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0,i=0.0,k=0,m=0,n=0,o=0.0;m=l;l=l+80|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;e=+g[d>>2];f=+g[d+4>>2];i=+g[d+8>>2];if(e*e+f*f+i*i<9.999999747378752e-05){k=1065353216;h=0;e=0.0;d=0}else{o=1.0/+C(+(e*e+f*f+i*i));k=(g[j>>2]=e*o,c[j>>2]|0);n=(g[j>>2]=f*o,c[j>>2]|0);h=(g[j>>2]=i*o,c[j>>2]|0);e=+g[d+12>>2];d=n}c[m+32>>2]=8016;n=m+32+4|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;g[m+32+20>>2]=-999999984306749440.0;c[m+32+24>>2]=k;c[m+32+28>>2]=d;c[m+32+32>>2]=h;g[m+32+36>>2]=e;c[m+16>>2]=1566444395;c[m+16+4>>2]=1566444395;c[m+16+8>>2]=1566444395;g[m+16+12>>2]=0.0;b=c[b+92>>2]|0;k=c[(c[b>>2]|0)+8>>2]|0;g[m>>2]=-999999984306749440.0;g[m+4>>2]=-999999984306749440.0;g[m+8>>2]=-999999984306749440.0;g[m+12>>2]=0.0;Nb[k&127](b,m+32|0,m,m+16|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];l=m;return}function Rh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+48|0;h=m;i=h+44|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));if(!d)k=c[c[b+880>>2]>>2]|0;else k=d;d=c[b+732>>2]|0;if((d|0)==(c[b+736>>2]|0)?(j=d|0?d<<1:1,(d|0)<(j|0)):0){if(!j)e=0;else{c[6472]=(c[6472]|0)+1;d=ic((j*52|3)+16|0)|0;if(!d)e=0;else{c[(d+4+15&-16)+-4>>2]=d;e=d+4+15&-16}d=c[b+732>>2]|0}if((d|0)>0){f=0;do{h=e+(f*52|0)|0;g=(c[b+740>>2]|0)+(f*52|0)|0;i=h+52|0;do{c[h>>2]=c[g>>2];h=h+4|0;g=g+4|0}while((h|0)<(i|0));f=f+1|0}while((f|0)!=(d|0))}d=c[b+740>>2]|0;if(d|0){if(a[b+744>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+740>>2]=0}a[b+744>>0]=1;c[b+740>>2]=e;c[b+736>>2]=j;d=c[b+732>>2]|0}h=c[b+740>>2]|0;c[h+(d*52|0)>>2]=0;c[h+(d*52|0)+4>>2]=k;h=h+(d*52|0)+8|0;g=m;i=h+44|0;do{c[h>>2]=c[g>>2];h=h+4|0;g=g+4|0}while((h|0)<(i|0));c[b+732>>2]=(c[b+732>>2]|0)+1;l=m;return}function Sh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=sb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;g=sb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=g;if(g|0)Gb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+28>>2]=c[a+28>>2];c[b+32>>2]=c[a+32>>2];c[b+36>>2]=c[a+36>>2];c[b+40>>2]=c[a+40>>2];c[b+12>>2]=c[a+12>>2];c[b+16>>2]=c[a+16>>2];c[b+20>>2]=c[a+20>>2];c[b+24>>2]=c[a+24>>2];c[b+44>>2]=c[a+44>>2];f=c[a+96>>2]|0;c[b+60>>2]=f;if(!f){c[b+52>>2]=0;c[b+56>>2]=0;return 17487}c[b+52>>2]=sb[c[(c[d>>2]|0)+28>>2]&31](d,c[a+104>>2]|0)|0;c[b+56>>2]=0;g=ub[c[(c[d>>2]|0)+16>>2]&63](d,16,f)|0;if((f|0)>0){e=c[a+104>>2]|0;b=0;a=c[g+8>>2]|0;while(1){c[a>>2]=c[e+(b<<4)>>2];c[a+4>>2]=c[e+(b<<4)+4>>2];c[a+8>>2]=c[e+(b<<4)+8>>2];c[a+12>>2]=c[e+(b<<4)+12>>2];b=b+1|0;if((b|0)==(f|0))break;else a=a+16|0}}else e=c[a+104>>2]|0;Rb[c[(c[d>>2]|0)+20>>2]&31](d,g,19486,1497453121,e);return 17487}function Th(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;l=+g[b+60>>2]*.5;h=c[b+68>>2]|0;f=+g[d>>2];j=+g[d+4>>2];k=+g[d+8>>2];k=+C(+(f*f+j*j+k*k));i=c[b+64>>2]|0;do if(!(+g[d+(h<<2)>>2]>k*+g[b+52>>2])){j=+g[d+(i<<2)>>2];e=c[b+72>>2]|0;f=+g[d+(e<<2)>>2];k=+C(+(j*j+f*f));if(k>1.1920928955078125e-07){k=+g[b+56>>2]/k;g[a+(i<<2)>>2]=j*k;g[a+(h<<2)>>2]=-l;f=f*k;break}else{g[a+(i<<2)>>2]=0.0;g[a+(h<<2)>>2]=-l;f=0.0;break}}else{g[a+(i<<2)>>2]=0.0;g[a+(h<<2)>>2]=l;f=0.0;e=c[b+72>>2]|0}while(0);g[a+(e<<2)>>2]=f;if(!(+gb[c[(c[b>>2]|0)+48>>2]&15](b)!=0.0))return;j=+g[d>>2];k=+g[d+4>>2];l=+g[d+8>>2];m=j*j+k*k+l*l<1.4210854715202004e-14?-1.0:j;f=j*j+k*k+l*l<1.4210854715202004e-14?-1.0:k;l=j*j+k*k+l*l<1.4210854715202004e-14?-1.0:l;k=1.0/+C(+(l*l+(m*m+f*f)));j=+gb[c[(c[b>>2]|0)+48>>2]&15](b);g[a>>2]=+g[a>>2]+j*k*m;g[a+4>>2]=j*k*f+ +g[a+4>>2];g[a+8>>2]=j*k*l+ +g[a+8>>2];return}function Uh(a,b,d){a=a|0;b=b|0;d=d|0;c[a+300>>2]=c[b>>2];c[a+300+4>>2]=c[b+4>>2];c[a+300+8>>2]=c[b+8>>2];c[a+300+12>>2]=c[b+12>>2];c[a+316>>2]=c[b+16>>2];c[a+316+4>>2]=c[b+16+4>>2];c[a+316+8>>2]=c[b+16+8>>2];c[a+316+12>>2]=c[b+16+12>>2];c[a+332>>2]=c[b+32>>2];c[a+332+4>>2]=c[b+32+4>>2];c[a+332+8>>2]=c[b+32+8>>2];c[a+332+12>>2]=c[b+32+12>>2];c[a+348>>2]=c[b+48>>2];c[a+348+4>>2]=c[b+48+4>>2];c[a+348+8>>2]=c[b+48+8>>2];c[a+348+12>>2]=c[b+48+12>>2];c[a+364>>2]=c[d>>2];c[a+364+4>>2]=c[d+4>>2];c[a+364+8>>2]=c[d+8>>2];c[a+364+12>>2]=c[d+12>>2];c[a+380>>2]=c[d+16>>2];c[a+380+4>>2]=c[d+16+4>>2];c[a+380+8>>2]=c[d+16+8>>2];c[a+380+12>>2]=c[d+16+12>>2];c[a+396>>2]=c[d+32>>2];c[a+396+4>>2]=c[d+32+4>>2];c[a+396+8>>2]=c[d+32+8>>2];c[a+396+12>>2]=c[d+32+12>>2];c[a+412>>2]=c[d+48>>2];c[a+412+4>>2]=c[d+48+4>>2];c[a+412+8>>2]=c[d+48+8>>2];c[a+412+12>>2]=c[d+48+12>>2];Ab[c[(c[a>>2]|0)+8>>2]&511](a);return}function Vh(b){b=b|0;var d=0;d=c[b>>2]|0;if(d|0)dn(b,d);d=c[b+4>>2]|0;if(d|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+4>>2]=0;c[b+8>>2]=-1;d=c[b+32>>2]|0;if(d|0){if(a[b+36>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+16>>2]=0;d=c[b+52>>2]|0;if(!d){a[b+56>>0]=1;c[b+52>>2]=0;c[b+44>>2]=0;c[b+48>>2]=0;a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;return}if(!(a[b+56>>0]|0)){a[b+56>>0]=1;c[b+52>>2]=0;c[b+44>>2]=0;c[b+48>>2]=0;a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;return}c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0);d=c[b+32>>2]|0;a[b+56>>0]=1;c[b+52>>2]=0;c[b+44>>2]=0;c[b+48>>2]=0;if(!d){a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;return}if(!((a[b+36>>0]|0)==0|(d|0)==0)){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+32>>2]=0;a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;return}function Wh(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,n=0.0;m=c[a+4>>2]|0;a=c[a+64>>2]|0;do if(!m)if(!a){e=0.0;n=0.0;j=0.0;l=0.0;h=0.0;k=0.0;i=0.0;f=0.0}else{e=+g[a>>2];n=+g[a+12>>2];j=+g[a+16>>2];l=+g[a+20>>2];h=+g[a+24>>2];k=+g[a+28>>2];i=+g[a+4>>2];f=+g[a+8>>2]}else{e=+g[m>>2];if(!a){n=+g[m+12>>2];j=+g[m+16>>2];l=+g[m+20>>2];h=+g[m+24>>2];k=+g[m+28>>2];i=+g[m+4>>2];f=+g[m+8>>2];break}k=+g[a>>2];e=e>2];j=+g[a+16>>2];j=k>j?k:j;k=+g[m+4>>2];i=+g[a+4>>2];i=k>2];l=+g[a+20>>2];l=k>l?k:l;k=+g[m+8>>2];f=+g[a+8>>2];f=k>2];h=+g[a+24>>2];if(k>h){n=0.0;h=k;k=0.0}else{n=0.0;k=0.0}}while(0);g[b>>2]=e;g[b+4>>2]=i;g[b+8>>2]=f;g[b+12>>2]=n;g[d>>2]=j;g[d+4>>2]=l;g[d+8>>2]=h;g[d+12>>2]=k;return}function Xh(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;c=l;l=l+48|0;lh(a+364|0,c+16|0);h=-+g[c+16>>2];e=-+g[c+16+4>>2];m=-+g[c+16+8>>2];k=+g[c+16+12>>2];f=+g[b>>2];n=+g[b+12>>2];j=+g[b+8>>2];i=+g[b+4>>2];lh(a+300|0,c);p=+g[c>>2];q=+g[c+12>>2];d=+g[c+8>>2];o=+g[c+4>>2];g[c+32>>2]=(k*n-f*h-i*e-j*m)*p+(k*f+n*h+j*e-i*m)*q+(f*m+(n*e+k*i)-j*h)*d-(n*m+k*j+i*h-f*e)*o;g[c+32+4>>2]=p*(n*m+k*j+i*h-f*e)+(q*(f*m+(n*e+k*i)-j*h)+(k*n-f*h-i*e-j*m)*o)-(k*f+n*h+j*e-i*m)*d;g[c+32+8>>2]=(n*m+k*j+i*h-f*e)*q+(k*n-f*h-i*e-j*m)*d+(k*f+n*h+j*e-i*m)*o-p*(f*m+(n*e+k*i)-j*h);g[c+32+12>>2]=(k*n-f*h-i*e-j*m)*q-(k*f+n*h+j*e-i*m)*p-(f*m+(n*e+k*i)-j*h)*o-(n*m+k*j+i*h-f*e)*d;Je(a,c+32|0);l=c;return}function Yh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0;i=l;l=l+32|0;h=Hs()|0;c[h+4>>2]=11;c[h+8>>2]=-1;c[h+12>>2]=-1;g[h+16>>2]=3402823466385288598117041.0e14;a[h+20>>0]=1;a[h+21>>0]=0;c[h+24>>2]=-1;c[h+28>>2]=b;c[h+32>>2]=d;g[h+36>>2]=0.0;g[h+40>>2]=.30000001192092896;c[h+44>>2]=0;c[h>>2]=4520;c[h+48>>2]=c[e+48>>2];c[h+48+4>>2]=c[e+48+4>>2];c[h+48+8>>2]=c[e+48+8>>2];c[h+48+12>>2]=c[e+48+12>>2];c[h+64>>2]=c[f+48>>2];c[h+64+4>>2]=c[f+48+4>>2];c[h+64+8>>2]=c[f+48+8>>2];c[h+64+12>>2]=c[f+48+12>>2];lh(e,i+16|0);lh(f,i);o=-+g[i>>2];m=-+g[i+4>>2];j=-+g[i+8>>2];r=+g[i+12>>2];q=+g[i+16+12>>2];p=+g[i+16>>2];n=+g[i+16+4>>2];k=+g[i+16+8>>2];g[h+80>>2]=q*o+r*p+n*j-k*m;g[h+84>>2]=k*o+(q*m+r*n)-p*j;g[h+88>>2]=p*m+(q*j+r*k)-n*o;g[h+92>>2]=r*q-p*o-n*m-k*j;l=i;return h|0}function Zh(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0;c[b>>2]=sb[c[(c[e>>2]|0)+28>>2]&31](e,c[a+28>>2]|0)|0;c[b+4>>2]=sb[c[(c[e>>2]|0)+28>>2]&31](e,c[a+32>>2]|0)|0;f=sb[c[(c[e>>2]|0)+40>>2]&31](e,a)|0;g=sb[c[(c[e>>2]|0)+28>>2]&31](e,f)|0;c[b+8>>2]=g;if(g|0)Gb[c[(c[e>>2]|0)+48>>2]&127](e,f);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];c[b+36>>2]=0;f=c[a+28>>2]|0;if((c[f+488>>2]|0)>0){e=0;do{if((c[(c[f+496>>2]|0)+(e<<2)>>2]|0)==(a|0)){c[b+36>>2]=1;f=c[a+28>>2]|0}e=e+1|0}while((e|0)<(c[f+488>>2]|0))}f=c[a+32>>2]|0;if((c[f+488>>2]|0)>0)e=0;else return 12836;do{if((c[(c[f+496>>2]|0)+(e<<2)>>2]|0)==(a|0)){c[b+36>>2]=1;f=c[a+32>>2]|0}e=e+1|0}while((e|0)<(c[f+488>>2]|0));return 12836}function _h(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192)return Ya(b|0,d|0,e|0)|0;h=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return h|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}e=g&-4|0;f=e-64|0;while((b|0)<=(f|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[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(e|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{e=g-4|0;while((b|0)<(e|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return h|0}function $h(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;if(!e)e=c[b+188>>2]|0;i=c[d>>2]|0;f=c[b+268>>2]|0;a:do if((f|0)>0){h=c[b+276>>2]|0;g=0;while(1){if((c[h+(g<<2)>>2]|0)==(i|0))break;g=g+1|0;if((g|0)>=(f|0))break a}if((g|0)!=(f|0))return}while(0);if((f|0)==(c[b+272>>2]|0)?(j=f|0?f<<1:1,(f|0)<(j|0)):0){if(!j)g=0;else{c[6472]=(c[6472]|0)+1;f=ic((j<<2|3)+16|0)|0;if(!f)g=0;else{c[(f+4+15&-16)+-4>>2]=f;g=f+4+15&-16}f=c[b+268>>2]|0}if((f|0)>0){h=0;do{c[g+(h<<2)>>2]=c[(c[b+276>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(f|0))}h=c[b+276>>2]|0;if(h){if(a[b+280>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[h+-4>>2]|0);f=c[b+268>>2]|0}c[b+276>>2]=0}a[b+280>>0]=1;c[b+276>>2]=g;c[b+272>>2]=j}c[(c[b+276>>2]|0)+(f<<2)>>2]=i;c[b+268>>2]=f+1;b=c[b+284>>2]|0;ub[c[(c[b>>2]|0)+8>>2]&63](b,e,d)|0;return}function ai(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;if(qb[c[(c[d>>2]|0)+16>>2]&127](d)|0)return;j=c[b+712>>2]|0;i=qb[c[(c[d>>2]|0)+36>>2]&127](d)|0;if(qb[c[(c[d>>2]|0)+8>>2]&127](d)|0?(f=qb[c[(c[d>>2]|0)+20>>2]&127](d)|0,h=qb[c[(c[d>>2]|0)+24>>2]&127](d)|0,(j|0)>0):0){e=c[b+720>>2]|0;g=0;a=i+(f<<2)|0;while(1){k=c[e+(g*104|0)+12>>2]|0;f=c[e+(g*104|0)+16>>2]|0;c[a>>2]=c[e+(g*104|0)+8>>2];c[a+4>>2]=k;c[a+8>>2]=f;g=g+1|0;if((g|0)==(j|0))break;else a=a+(h<<2)|0}}if(!(qb[c[(c[d>>2]|0)+12>>2]&127](d)|0))return;a=qb[c[(c[d>>2]|0)+28>>2]&127](d)|0;g=qb[c[(c[d>>2]|0)+32>>2]&127](d)|0;if((j|0)<=0)return;f=c[b+720>>2]|0;a=i+(a<<2)|0;e=0;while(1){b=c[f+(e*104|0)+76>>2]|0;k=c[f+(e*104|0)+80>>2]|0;c[a>>2]=c[f+(e*104|0)+72>>2];c[a+4>>2]=b;c[a+8>>2]=k;e=e+1|0;if((e|0)==(j|0))break;else a=a+(g<<2)|0}return}function bi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;c[b>>2]=9544;d=c[b+56>>2]|0;if(d|0){if(a[b+60>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;e=c[b+28>>2]|0;if((e|0)>0){h=0;do{f=c[b+36>>2]|0;j=f+(h*36|0)+4|0;i=f+(h*36|0)+12|0;g=c[i>>2]|0;d=f+(h*36|0)+16|0;if(g|0){if(a[d>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[g+-4>>2]|0)}c[i>>2]=0}a[d>>0]=1;c[i>>2]=0;c[j>>2]=0;c[f+(h*36|0)+8>>2]=0;h=h+1|0}while((h|0)!=(e|0))}d=c[b+36>>2]|0;if(d|0){if(a[b+40>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;d=c[b+16>>2]|0;if(!d){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}if(a[b+20>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}function ci(b){b=b|0;var d=0;c[b>>2]=8644;d=c[b+156>>2]|0;if(d|0){if(a[b+160>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+156>>2]=0}a[b+160>>0]=1;c[b+156>>2]=0;c[b+148>>2]=0;c[b+152>>2]=0;d=c[b+136>>2]|0;if(d|0){if(a[b+140>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+136>>2]=0}a[b+140>>0]=1;c[b+136>>2]=0;c[b+128>>2]=0;c[b+132>>2]=0;d=c[b+116>>2]|0;if(d|0){if(a[b+120>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+116>>2]=0}a[b+120>>0]=1;c[b+116>>2]=0;c[b+108>>2]=0;c[b+112>>2]=0;d=c[b+96>>2]|0;if(d|0){if(a[b+100>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=0;c[b+88>>2]=0;c[b+92>>2]=0;c[b>>2]=9560;d=c[b+32>>2]|0;if(!d){a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;b=b+28|0;c[b>>2]=0;return}if(a[b+36>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+32>>2]=0;a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;b=b+28|0;c[b>>2]=0;return}function di(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;if((b|0)==0?1:(c[b+236>>2]|0)!=8){Ej(a,b);return}f=c[a+328>>2]|0;a:do if((f|0)>0){g=c[a+336>>2]|0;d=0;while(1){e=g+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(f|0))break a}if((d|0)<(f|0)){c[e>>2]=c[g+(f+-1<<2)>>2];c[(c[a+336>>2]|0)+(f+-1<<2)>>2]=b;c[a+328>>2]=f+-1}}while(0);d=c[b+188>>2]|0;if(d|0){g=c[a+68>>2]|0;g=qb[c[(c[g>>2]|0)+36>>2]&127](g)|0;Kb[c[(c[g>>2]|0)+40>>2]&127](g,d,c[a+24>>2]|0);g=c[a+68>>2]|0;Kb[c[(c[g>>2]|0)+12>>2]&127](g,d,c[a+24>>2]|0);c[b+188>>2]=0}f=c[a+8>>2]|0;if((f|0)<=0)return;g=c[a+16>>2]|0;d=0;while(1){e=g+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(f|0)){h=17;break}}if((h|0)==17)return;if((d|0)>=(f|0))return;c[e>>2]=c[g+(f+-1<<2)>>2];c[(c[a+16>>2]|0)+(f+-1<<2)>>2]=b;c[a+8>>2]=f+-1;return}function ei(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0,j=0,k=0.0,m=0.0,n=0.0,o=0,p=0,q=0;q=l;l=l+16|0;if((e|0)<=0){l=q;return}p=0;do{o=d+(p<<4)|0;n=+g[a+60>>2]*.5;i=c[a+68>>2]|0;h=+g[b+(p<<4)>>2];k=+g[b+(p<<4)+4>>2];m=+g[b+(p<<4)+8>>2];m=+C(+(h*h+k*k+m*m));j=c[a+64>>2]|0;do if(!(+g[b+(p<<4)+(i<<2)>>2]>m*+g[a+52>>2])){k=+g[b+(p<<4)+(j<<2)>>2];f=c[a+72>>2]|0;h=+g[b+(p<<4)+(f<<2)>>2];m=+C(+(k*k+h*h));if(m>1.1920928955078125e-07){m=+g[a+56>>2]/m;g[q+(j<<2)>>2]=k*m;g[q+(i<<2)>>2]=-n;h=h*m;break}else{g[q+(j<<2)>>2]=0.0;g[q+(i<<2)>>2]=-n;h=0.0;break}}else{g[q+(j<<2)>>2]=0.0;g[q+(i<<2)>>2]=n;h=0.0;f=c[a+72>>2]|0}while(0);g[q+(f<<2)>>2]=h;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];p=p+1|0}while((p|0)!=(e|0));l=q;return}function fi(b){b=b|0;var d=0;c[b>>2]=9204;d=c[b+160>>2]|0;if(d|0){if(a[b+164>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+160>>2]=0}a[b+164>>0]=1;c[b+160>>2]=0;c[b+152>>2]=0;c[b+156>>2]=0;d=c[b+136>>2]|0;if(d|0){if(a[b+140>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+136>>2]=0}a[b+140>>0]=1;c[b+136>>2]=0;c[b+128>>2]=0;c[b+132>>2]=0;d=c[b+116>>2]|0;if(d|0){if(a[b+120>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+116>>2]=0}a[b+120>>0]=1;c[b+116>>2]=0;c[b+108>>2]=0;c[b+112>>2]=0;d=c[b+96>>2]|0;if(d|0){if(a[b+100>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=0;c[b+88>>2]=0;c[b+92>>2]=0;d=c[b+76>>2]|0;if(!d){a[b+80>>0]=1;c[b+76>>2]=0;c[b+68>>2]=0;b=b+72|0;c[b>>2]=0;return}if(a[b+80>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+76>>2]=0;a[b+80>>0]=1;c[b+76>>2]=0;c[b+68>>2]=0;b=b+72|0;c[b>>2]=0;return}function gi(b){b=b|0;var d=0;c[b>>2]=5012;d=c[b+144>>2]|0;if(d|0){if(a[b+148>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+144>>2]=0}a[b+148>>0]=1;c[b+144>>2]=0;c[b+136>>2]=0;c[b+140>>2]=0;d=c[b+76>>2]|0;if(d|0){if(a[b+80>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+76>>2]=0}a[b+80>>0]=1;c[b+76>>2]=0;c[b+68>>2]=0;c[b+72>>2]=0;d=c[b+56>>2]|0;if(d|0){if(a[b+60>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;d=c[b+36>>2]|0;if(d|0){if(a[b+40>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;d=c[b+16>>2]|0;if(!d){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}if(a[b+20>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}function hi(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,w=0.0;o=(+g[a+32>>2]-+g[a+16>>2])*+g[a+108>>2]*.5;m=(+g[a+36>>2]-+g[a+20>>2])*+g[a+112>>2]*.5;k=(+g[a+40>>2]-+g[a+24>>2])*+g[a+116>>2]*.5;t=+B(+(+g[b>>2]));s=+B(+(+g[b+4>>2]));r=+B(+(+g[b+8>>2]));n=+B(+(+g[b+16>>2]));l=+B(+(+g[b+20>>2]));j=+B(+(+g[b+24>>2]));w=+B(+(+g[b+32>>2]));v=+B(+(+g[b+36>>2]));f=+B(+(+g[b+40>>2]));u=+g[b+48>>2];p=+g[b+52>>2];h=+g[b+56>>2];q=+gb[c[(c[a>>2]|0)+48>>2]&15](a);i=+gb[c[(c[a>>2]|0)+48>>2]&15](a);f=o*w+m*v+k*f+ +gb[c[(c[a>>2]|0)+48>>2]&15](a);g[d>>2]=u-(o*t+m*s+k*r+q);g[d+4>>2]=p-(o*n+m*l+k*j+i);g[d+8>>2]=h-f;g[d+12>>2]=0.0;g[e>>2]=u+(o*t+m*s+k*r+q);g[e+4>>2]=p+(o*n+m*l+k*j+i);g[e+8>>2]=h+f;g[e+12>>2]=0.0;return}function ii(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;i=l;l=l+48|0;g=c[a+28>>2]|0;c[i+32>>2]=g;g=(c[a+20>>2]|0)-g|0;c[i+32+4>>2]=g;c[i+32+8>>2]=b;c[i+32+12>>2]=d;c[i>>2]=c[a+60>>2];c[i+4>>2]=i+32;c[i+8>>2]=2;b=aC(Ua(146,i|0)|0)|0;a:do if((g+d|0)!=(b|0)){e=i+32|0;f=2;g=g+d|0;while(1){if((b|0)<0)break;g=g-b|0;j=c[e+4>>2]|0;k=b>>>0>j>>>0;e=k?e+8|0:e;f=(k<<31>>31)+f|0;j=b-(k?j:0)|0;c[e>>2]=(c[e>>2]|0)+j;c[e+4>>2]=(c[e+4>>2]|0)-j;c[i+16>>2]=c[a+60>>2];c[i+16+4>>2]=e;c[i+16+8>>2]=f;b=aC(Ua(146,i+16|0)|0)|0;if((g|0)==(b|0)){h=3;break a}}c[a+16>>2]=0;c[a+28>>2]=0;c[a+20>>2]=0;c[a>>2]=c[a>>2]|32;if((f|0)==2)d=0;else d=d-(c[e+4>>2]|0)|0}else h=3;while(0);if((h|0)==3){k=c[a+44>>2]|0;c[a+16>>2]=k+(c[a+48>>2]|0);c[a+28>>2]=k;c[a+20>>2]=k}l=i;return d|0}function ji(b){b=b|0;var d=0;if((a[22712]|0)==0?Yy(22712)|0:0){if((a[22664]|0)==0?Yy(22664)|0:0){if((a[22672]|0)==0?Yy(22672)|0:0){c[5768]=1065353216;c[5769]=0;c[5770]=0;c[5771]=0;c[5772]=0;c[5773]=1065353216;c[5774]=0;c[5775]=0;c[5776]=0;c[5777]=0;c[5778]=1065353216;g[5779]=0.0}c[5752]=c[5768];c[5753]=c[5769];c[5754]=c[5770];c[5755]=c[5771];c[5756]=c[5772];c[5757]=c[5773];c[5758]=c[5774];c[5759]=c[5775];c[5760]=c[5776];c[5761]=c[5777];c[5762]=c[5778];c[5763]=c[5779];c[5764]=0;c[5765]=0;c[5766]=0;c[5767]=0}c[5804]=c[5752];c[5805]=c[5753];c[5806]=c[5754];c[5807]=c[5755];c[5808]=c[5756];c[5809]=c[5757];c[5810]=c[5758];c[5811]=c[5759];c[5812]=c[5760];c[5813]=c[5761];c[5814]=c[5762];c[5815]=c[5763];c[5816]=c[5764];c[5817]=c[5765];c[5818]=c[5766];c[5819]=c[5767]}d=c[b+8>>2]|0;if(!d){b=c[b>>2]|0;return ((b|0)==0?23216:b+60|0)|0}else return d+4|0;return 0}function ki(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=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}if((+g[a+28>>2]-+g[a+12>>2])*+g[b+8>>2]+(+g[a+32>>2]-+g[a+16>>2])*+g[b+12>>2]+(+g[a+36>>2]-+g[a+20>>2])*+g[b+16>>2]>=-+g[a+84>>2]){f=1.0;return +f}c[a+4>>2]=c[b+40>>2];c[a+76>>2]=e;if(d){c[a+44>>2]=c[b+8>>2];c[a+44+4>>2]=c[b+8+4>>2];c[a+44+8>>2]=c[b+8+8>>2];c[a+44+12>>2]=c[b+8+12>>2]}else{k=+g[b+8>>2];j=+g[b+12>>2];i=+g[b+16>>2];h=k*+g[e+20>>2]+j*+g[e+24>>2]+i*+g[e+28>>2];f=k*+g[e+36>>2]+j*+g[e+40>>2]+i*+g[e+44>>2];g[a+44>>2]=+g[e+4>>2]*k+ +g[e+8>>2]*j+ +g[e+12>>2]*i;g[a+48>>2]=h;g[a+52>>2]=f;g[a+56>>2]=0.0}c[a+60>>2]=c[b+24>>2];c[a+60+4>>2]=c[b+24+4>>2];c[a+60+8>>2]=c[b+24+8>>2];c[a+60+12>>2]=c[b+24+12>>2];k=+g[b+40>>2];return +k}function li(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;i=l;l=l+80|0;if((e|0)>0)f=0;else{l=i;return}do{g[d+(f<<4)+12>>2]=-999999984306749440.0;f=f+1|0}while((f|0)!=(e|0));h=i+32+4|0;f=0;do{j=b+(f<<4)|0;c[i+32>>2]=8016;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;g[i+32+20>>2]=-999999984306749440.0;c[i+32+24>>2]=c[j>>2];c[i+32+24+4>>2]=c[j+4>>2];c[i+32+24+8>>2]=c[j+8>>2];c[i+32+24+12>>2]=c[j+12>>2];c[i+16>>2]=1566444395;c[i+16+4>>2]=1566444395;c[i+16+8>>2]=1566444395;g[i+16+12>>2]=0.0;j=c[a+92>>2]|0;k=c[(c[j>>2]|0)+8>>2]|0;g[i>>2]=-999999984306749440.0;g[i+4>>2]=-999999984306749440.0;g[i+8>>2]=-999999984306749440.0;g[i+12>>2]=0.0;Nb[k&127](j,i+32|0,i,i+16|0);j=d+(f<<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];f=f+1|0}while((f|0)<(e|0));l=i;return}function mi(b){b=b|0;var d=0,e=0,f=0,h=0;c[b+32>>2]=262144;h=c[b+4>>2]|0;if((h|0)<2383){if((c[b+8>>2]|0)<2383){c[6472]=(c[6472]|0)+1;d=ic(9551)|0;if(!d)f=0;else{c[(d+4+15&-16)+-4>>2]=d;f=d+4+15&-16}d=c[b+4>>2]|0;if((d|0)>0){e=0;do{c[f+(e<<2)>>2]=c[(c[b+12>>2]|0)+(e<<2)>>2];e=e+1|0}while((e|0)!=(d|0))}d=c[b+12>>2]|0;if(d|0){if(a[b+16>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=f;c[b+8>>2]=2383;e=b+12|0}else e=b+12|0;d=h;do{c[(c[e>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=2383)}c[b+4>>2]=2383;e=0;do{h=(c[b+12>>2]|0)+(e<<2)|0;d=c[h>>2]|0;c[h>>2]=0;if(d|0)do{h=d;d=c[d+280>>2]|0;_H(h)}while((d|0)!=0);e=e+1|0}while((e|0)!=2383);g[b+20>>2]=.25;c[b+24>>2]=0;c[b+28>>2]=0;c[b+36>>2]=1;c[b+40>>2]=1;return}function ni(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;f=c[b+96>>2]|0;if((f|0)==(c[b+100>>2]|0)?(i=f|0?f<<1:1,(f|0)<(i|0)):0){if(!i)g=0;else{c[6472]=(c[6472]|0)+1;f=ic((i<<4|3)+16|0)|0;if(!f)g=0;else{c[(f+4+15&-16)+-4>>2]=f;g=f+4+15&-16}f=c[b+96>>2]|0}if((f|0)>0){h=0;do{j=g+(h<<4)|0;k=(c[b+104>>2]|0)+(h<<4)|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];h=h+1|0}while((h|0)!=(f|0))}f=c[b+104>>2]|0;if(f|0){if(a[b+108>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0)}c[b+104>>2]=0}a[b+108>>0]=1;c[b+104>>2]=g;c[b+100>>2]=i;f=c[b+96>>2]|0}k=(c[b+104>>2]|0)+(f<<4)|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];c[b+96>>2]=(c[b+96>>2]|0)+1;if(!e)return;jj(b);return}function oi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=c[d+4>>2]|0;f=c[b+24>>2]|0;if((f|0)<(i|0)){if((c[b+28>>2]|0)<(i|0)){if(!i){g=f;h=0}else{c[6472]=(c[6472]|0)+1;e=ic((i<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}g=c[b+24>>2]|0;h=e}if((g|0)>0){e=0;do{c[h+(e<<2)>>2]=c[(c[b+32>>2]|0)+(e<<2)>>2];e=e+1|0}while((e|0)!=(g|0))}e=c[b+32>>2]|0;if(e|0){if(a[b+36>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[e+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=h;c[b+28>>2]=i;e=b+32|0}else e=b+32|0;do{c[(c[e>>2]|0)+(f<<2)>>2]=0;f=f+1|0}while((f|0)!=(i|0))}else e=b+32|0;c[b+24>>2]=i;e=c[e>>2]|0;if((i|0)<=0)return;f=0;do{c[e+(f<<2)>>2]=c[(c[d+12>>2]|0)+(f<<2)>>2];f=f+1|0}while((f|0)!=(i|0));return}function pi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+96|0;b=c[b>>2]|0;if((b|0)==(c[a+4>>2]|0)){l=d;return 1}e=c[a+12>>2]|0;if(!(sb[c[(c[e>>2]|0)+8>>2]&31](e,c[b+188>>2]|0)|0)){l=d;return 1}e=c[a+4>>2]|0;f=c[e+192>>2]|0;c[d+64>>2]=0;c[d+64+4>>2]=f;c[d+64+8>>2]=e;c[d+64+12>>2]=e+4;c[d+64+16>>2]=-1;c[d+64+20>>2]=-1;e=c[b+192>>2]|0;c[d+40>>2]=0;c[d+40+4>>2]=e;c[d+40+8>>2]=b;c[d+40+12>>2]=b+4;c[d+40+16>>2]=-1;c[d+40+20>>2]=-1;b=c[(c[a+8>>2]|0)+24>>2]|0;b=vb[c[(c[b>>2]|0)+8>>2]&31](b,d+64|0,d+40|0,0)|0;if(b|0){f=c[a+12>>2]|0;c[d+4>>2]=0;c[d+8>>2]=d+64;c[d+12>>2]=d+40;c[d>>2]=6168;c[d+32>>2]=f;Rb[c[(c[b>>2]|0)+8>>2]&31](b,d+64|0,d+40|0,(c[a+8>>2]|0)+28|0,d);Ab[c[c[b>>2]>>2]&511](b);f=c[(c[a+8>>2]|0)+24>>2]|0;Gb[c[(c[f>>2]|0)+60>>2]&127](f,b)}l=d;return 1}function qi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0,i=0,j=0,k=0;k=l;l=l+80|0;h=c[c[a>>2]>>2]|0;i=c[c[a+4>>2]>>2]|0;if(!(ub[c[(c[b>>2]|0)+24>>2]&63](b,h,i)|0)){l=k;return}f=c[h+192>>2]|0;c[k+56>>2]=0;c[k+56+4>>2]=f;c[k+56+8>>2]=h;c[k+56+12>>2]=h+4;c[k+56+16>>2]=-1;c[k+56+20>>2]=-1;f=c[i+192>>2]|0;c[k+32>>2]=0;c[k+32+4>>2]=f;c[k+32+8>>2]=i;c[k+32+12>>2]=i+4;c[k+32+16>>2]=-1;c[k+32+20>>2]=-1;f=c[a+8>>2]|0;if(!f){f=vb[c[(c[b>>2]|0)+8>>2]&31](b,k+56|0,k+32|0,0)|0;c[a+8>>2]=f;if(f|0)j=4}else j=4;if((j|0)==4){c[k>>2]=5796;c[k+4>>2]=0;c[k+8>>2]=k+56;c[k+12>>2]=k+32;if((c[d+8>>2]|0)!=1){e=+mb[c[(c[f>>2]|0)+12>>2]&15](f,h,i,d,k);if(+g[d+12>>2]>e)g[d+12>>2]=e}else Rb[c[(c[f>>2]|0)+8>>2]&31](f,k+56|0,k+32|0,d,k)}l=k;return}function ri(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,u=0.0,v=0.0,w=0.0,x=0.0;x=+g[a>>2]*f+ +g[a+16>>2]*h+ +g[a+32>>2]*i;v=+g[a+4>>2]*f+ +g[a+20>>2]*h+ +g[a+36>>2]*i;t=+g[a+8>>2]*f+ +g[a+24>>2]*h+ +g[a+40>>2]*i;s=+g[b>>2]*f+ +g[b+16>>2]*h+ +g[b+32>>2]*i;q=+g[b+4>>2]*f+ +g[b+20>>2]*h+ +g[b+36>>2]*i;o=+g[b+8>>2]*f+ +g[b+24>>2]*h+ +g[b+40>>2]*i;w=+g[j+80>>2];u=+g[j+84>>2];p=+g[j+88>>2];r=+g[k+80>>2];m=+g[k+84>>2];n=+g[k+88>>2];p=x*(x<0.0?-w:w)+v*(v<0.0?-u:u)+t*(t<0.0?-p:p);n=s*(s<0.0?-r:r)+q*(q<0.0?-m:m)+o*(o<0.0?-n:n);o=+g[j+96>>2];m=+g[k+96>>2];m=(p>o?p:o)+(n>m?n:m);return !((c*f+d*h+e*i+ml)|0}function si(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=8916;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+24>>2]=0;a[b+28>>0]=0;a[b+48>>0]=1;c[b+44>>2]=0;c[b+36>>2]=0;c[b+40>>2]=0;a[b+68>>0]=1;c[b+64>>2]=0;c[b+56>>2]=0;c[b+60>>2]=0;c[b+72>>2]=0;c[6472]=(c[6472]|0)+1;d=ic(51)|0;if(!d)f=0;else{c[(d+4+15&-16)+-4>>2]=d;f=d+4+15&-16}d=c[b+8>>2]|0;if((d|0)>0){e=0;do{g=c[b+16>>2]|0;c[f+(e<<4)>>2]=c[g+(e<<4)>>2];c[f+(e<<4)+4>>2]=c[g+(e<<4)+4>>2];c[f+(e<<4)+8>>2]=c[g+(e<<4)+8>>2];c[f+(e<<4)+12>>2]=c[g+(e<<4)+12>>2];e=e+1|0}while((e|0)!=(d|0))}d=c[b+16>>2]|0;if(!d){a[b+20>>0]=1;c[b+16>>2]=f;c[b+12>>2]=2;wf(b);return}if(a[b+20>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=f;c[b+12>>2]=2;wf(b);return}function ti(a,b,d){a=a|0;b=b|0;d=d|0;do if(!((b|0)==32&(d|0)==32)){if((b|0)==32){if((d|0)<20){b=a+96|0;break}if((d+-21|0)>>>0<9){b=a+104|0;break}}else{if((b|0)<20&(d|0)==32){b=a+100|0;break}if((b+-21|0)>>>0<9&(d|0)==32){b=a+108|0;break}if((b|0)==8&(d|0)==8){b=a+60|0;break}if((b|0)==8&(d|0)==1){b=a+76|0;break}if((b|0)==1&(d|0)==8){b=a+80|0;break}}if(!(d|b)){b=a+72|0;break}if((b|0)<20&(d|0)==28){b=a+88|0;break}if((b|0)==28&(d|0)<20){b=a+84|0;break}if((b|0)<20){if((d|0)<20){b=a+32|0;break}if((d+-21|0)>>>0<9){b=a+36|0;break}}else{if((d|0)<20&(b+-21|0)>>>0<9){b=a+40|0;break}if((b|0)==31)if((d|0)==31){b=a+48|0;break}else{b=a+44|0;break}}if((d|0)==31){b=a+52|0;break}else{b=a+56|0;break}}else b=a+92|0;while(0);return c[b>>2]|0}function ui(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[b+488>>2]|0;a:do if((e|0)>0){g=c[b+496>>2]|0;f=0;while(1){if((c[g+(f<<2)>>2]|0)==(d|0))break;f=f+1|0;if((f|0)>=(e|0))break a}if((f|0)!=(e|0)){b=b+256|0;c[b>>2]=1;return}}while(0);if((e|0)==(c[b+492>>2]|0)?(h=e|0?e<<1:1,(e|0)<(h|0)):0){if(!h)f=0;else{c[6472]=(c[6472]|0)+1;e=ic((h<<2|3)+16|0)|0;if(!e)f=0;else{c[(e+4+15&-16)+-4>>2]=e;f=e+4+15&-16}e=c[b+488>>2]|0}if((e|0)>0){g=0;do{c[f+(g<<2)>>2]=c[(c[b+496>>2]|0)+(g<<2)>>2];g=g+1|0}while((g|0)!=(e|0))}g=c[b+496>>2]|0;if(g){if(a[b+500>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[g+-4>>2]|0);e=c[b+488>>2]|0}c[b+496>>2]=0}a[b+500>>0]=1;c[b+496>>2]=f;c[b+492>>2]=h}c[(c[b+496>>2]|0)+(e<<2)>>2]=d;c[b+488>>2]=e+1;b=b+256|0;c[b>>2]=1;return}function vi(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.0,k=0.0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0.0,t=0;if((e|0)>0)f=0;else return;do{g[d+(f<<4)+12>>2]=-999999984306749440.0;f=f+1|0}while((f|0)!=(e|0));r=0;do{i=+g[a+12>>2];n=+g[b+(r<<4)>>2]*i;j=+g[a+16>>2];p=+g[b+(r<<4)+4>>2]*j;k=+g[a+20>>2];o=+g[b+(r<<4)+8>>2]*k;f=c[a+96>>2]|0;if((f|0)>0){l=c[a+104>>2]|0;m=0;h=-3402823466385288598117041.0e14;q=-1;do{s=n*+g[l+(m<<4)>>2]+p*+g[l+(m<<4)+4>>2]+o*+g[l+(m<<4)+8>>2];t=s>h;q=t?m:q;h=t?s:h;m=m+1|0}while((m|0)!=(f|0));p=+g[l+(q<<4)+4>>2]*j;s=+g[l+(q<<4)+8>>2]*k;g[d+(r<<4)>>2]=+g[l+(q<<4)>>2]*i;g[d+(r<<4)+4>>2]=p;g[d+(r<<4)+8>>2]=s}else h=-999999984306749440.0;g[d+(r<<4)+12>>2]=h;r=r+1|0}while((r|0)!=(e|0));return}function wi(b){b=b|0;var d=0;d=js(616)|0;c[d+164>>2]=1065353216;c[d+168>>2]=1065353216;c[d+172>>2]=1065353216;g[d+176>>2]=0.0;c[d+180>>2]=0;g[d+184>>2]=999999984306749440.0;c[d+188>>2]=0;c[d+188+4>>2]=0;c[d+188+8>>2]=0;c[d+188+12>>2]=0;c[d+204>>2]=1;c[d+208>>2]=-1;c[d+212>>2]=-1;c[d+216>>2]=1;g[d+220>>2]=0.0;g[d+224>>2]=.5;g[d+228>>2]=0.0;g[d+232>>2]=0.0;c[d+236>>2]=1;c[d+240>>2]=0;g[d+244>>2]=1.0;c[d+248>>2]=0;c[d+248+4>>2]=0;c[d+248+8>>2]=0;c[d+248+12>>2]=0;c[d+4>>2]=1065353216;c[d+8>>2]=0;c[d+8+4>>2]=0;c[d+8+8>>2]=0;c[d+8+12>>2]=0;c[d+24>>2]=1065353216;c[d+28>>2]=0;c[d+28+4>>2]=0;c[d+28+8>>2]=0;c[d+28+12>>2]=0;c[d+44>>2]=1065353216;c[d+48>>2]=0;c[d+48+4>>2]=0;c[d+48+8>>2]=0;c[d+48+12>>2]=0;c[d+48+16>>2]=0;c[d>>2]=4252;a[d+500>>0]=1;c[d+496>>2]=0;c[d+488>>2]=0;c[d+492>>2]=0;xd(d,b);return d|0}function xi(a,b,d,e,f,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0;o=l;l=l+16|0;bj(13004);Vb[c[(c[a>>2]|0)+32>>2]&1](a,b,d,e,f,h,i,j,k);n=c[a+184>>2]|0;m=c[j+20>>2]|0;m=(n|0)>(m|0)?n:m;if((m|0)>0){n=0;do{+pb[c[(c[a>>2]|0)+40>>2]&3](a,n,b,d,e,f,h,i,j,k);n=n+1|0}while((n|0)<(m|0))}m=c[2405]|0;a=(c[m+16>>2]|0)+-1|0;c[m+16>>2]=a;if(a|0){l=o;return 0.0}do if(c[m+4>>2]|0){Za(o|0,0)|0;a=c[6471]|0;g[m+8>>2]=+g[m+8>>2]+ +(((c[o+4>>2]|0)-(c[a+4>>2]|0)+(((c[o>>2]|0)-(c[a>>2]|0)|0)*1e6|0)-(c[m+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[m+16>>2]|0)){m=c[2405]|0;break}else{l=o;return 0.0}}while(0);c[2405]=c[m+20>>2];l=o;return 0.0}function yi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a+232>>2]|0;a:do if((f|0)>0){g=c[a+240>>2]|0;d=0;while(1){e=g+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(f|0))break a}if((d|0)<(f|0)){c[e>>2]=c[g+(f+-1<<2)>>2];c[(c[a+240>>2]|0)+(f+-1<<2)>>2]=b;c[a+232>>2]=f+-1}}while(0);d=c[b+188>>2]|0;if(d|0){g=c[a+68>>2]|0;g=qb[c[(c[g>>2]|0)+36>>2]&127](g)|0;Kb[c[(c[g>>2]|0)+40>>2]&127](g,d,c[a+24>>2]|0);g=c[a+68>>2]|0;Kb[c[(c[g>>2]|0)+12>>2]&127](g,d,c[a+24>>2]|0);c[b+188>>2]=0}f=c[a+8>>2]|0;if((f|0)<=0)return;g=c[a+16>>2]|0;d=0;while(1){e=g+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(f|0)){h=15;break}}if((h|0)==15)return;if((d|0)>=(f|0))return;c[e>>2]=c[g+(f+-1<<2)>>2];c[(c[a+16>>2]|0)+(f+-1<<2)>>2]=b;c[a+8>>2]=f+-1;return}function zi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a+328>>2]|0;a:do if((f|0)>0){g=c[a+336>>2]|0;d=0;while(1){e=g+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(f|0))break a}if((d|0)<(f|0)){c[e>>2]=c[g+(f+-1<<2)>>2];c[(c[a+336>>2]|0)+(f+-1<<2)>>2]=b;c[a+328>>2]=f+-1}}while(0);d=c[b+188>>2]|0;if(d|0){g=c[a+68>>2]|0;g=qb[c[(c[g>>2]|0)+36>>2]&127](g)|0;Kb[c[(c[g>>2]|0)+40>>2]&127](g,d,c[a+24>>2]|0);g=c[a+68>>2]|0;Kb[c[(c[g>>2]|0)+12>>2]&127](g,d,c[a+24>>2]|0);c[b+188>>2]=0}f=c[a+8>>2]|0;if((f|0)<=0)return;g=c[a+16>>2]|0;d=0;while(1){e=g+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(f|0)){h=15;break}}if((h|0)==15)return;if((d|0)>=(f|0))return;c[e>>2]=c[g+(f+-1<<2)>>2];c[(c[a+16>>2]|0)+(f+-1<<2)>>2]=b;c[a+8>>2]=f+-1;return}function Ai(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=c[d>>2]|0;d=c[b+268>>2]|0;a:do if((d|0)>0){f=c[b+276>>2]|0;e=0;while(1){if((c[f+(e<<2)>>2]|0)==(g|0))break;e=e+1|0;if((e|0)>=(d|0))break a}if((e|0)!=(d|0))return}while(0);if((d|0)==(c[b+272>>2]|0)?(h=d|0?d<<1:1,(d|0)<(h|0)):0){if(!h)e=0;else{c[6472]=(c[6472]|0)+1;d=ic((h<<2|3)+16|0)|0;if(!d)e=0;else{c[(d+4+15&-16)+-4>>2]=d;e=d+4+15&-16}d=c[b+268>>2]|0}if((d|0)>0){f=0;do{c[e+(f<<2)>>2]=c[(c[b+276>>2]|0)+(f<<2)>>2];f=f+1|0}while((f|0)!=(d|0))}f=c[b+276>>2]|0;if(f){if(a[b+280>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0);d=c[b+268>>2]|0}c[b+276>>2]=0}a[b+280>>0]=1;c[b+276>>2]=e;c[b+272>>2]=h}c[(c[b+276>>2]|0)+(d<<2)>>2]=g;c[b+268>>2]=d+1;return}function Bi(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;do if(!(GC(b,c[d+8>>2]|0)|0)){if(!(GC(b,c[d>>2]|0)|0)){h=c[b+8>>2]|0;Rb[c[(c[h>>2]|0)+24>>2]&31](h,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(c[d+20>>2]|0)!=(e|0):0){c[d+32>>2]=f;if((c[d+44>>2]|0)==4)break;a[d+52>>0]=0;a[d+53>>0]=0;b=c[b+8>>2]|0;Tb[c[(c[b>>2]|0)+20>>2]&7](b,d,e,e,1,g);if(a[d+53>>0]|0)if(!(a[d+52>>0]|0)){f=3;h=11}else f=3;else{f=4;h=11}if((h|0)==11){c[d+20>>2]=e;c[d+40>>2]=(c[d+40>>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]=f;break}if((f|0)==1)c[d+32>>2]=1}else Kr(d,e,f);while(0);return}function Ci(b){b=b|0;var d=0,e=0;d=c[b+92>>2]|0;if(d|0){if(a[b+96>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+92>>2]=0}a[b+96>>0]=1;c[b+92>>2]=0;c[b+84>>2]=0;c[b+88>>2]=0;d=c[b+64>>2]|0;if(d|0)do{c[b+64>>2]=c[d+8>>2];e=c[d>>2]|0;if(e|0){c[6473]=(c[6473]|0)+1;nd(c[e+-4>>2]|0)}c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0);d=c[b+64>>2]|0}while((d|0)!=0);d=c[b+48>>2]|0;if(d|0)do{c[b+48>>2]=c[d+8>>2];e=c[d>>2]|0;if(e|0){c[6473]=(c[6473]|0)+1;nd(c[e+-4>>2]|0)}c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0);d=c[b+48>>2]|0}while((d|0)!=0);d=c[b+32>>2]|0;if(!d)return;do{c[b+32>>2]=c[d+8>>2];e=c[d>>2]|0;if(e|0){c[6473]=(c[6473]|0)+1;nd(c[e+-4>>2]|0)}c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0);d=c[b+32>>2]|0}while((d|0)!=0);return}function Di(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;i=c[d>>2]|0;i=sb[c[(c[i>>2]|0)+56>>2]&31](i,28)|0;j=(a[b+4>>0]|0)==0;h=c[b+8>>2]|0;g=c[b+12>>2]|0;b=c[d>>2]|0;c[i+4>>2]=b;c[i>>2]=5672;a[i+8>>0]=0;c[i+12>>2]=0;if(j){a[i+16>>0]=0;c[i+20>>2]=h;c[i+24>>2]=g;if(!(ub[c[(c[b>>2]|0)+24>>2]&63](b,c[e+8>>2]|0,c[f+8>>2]|0)|0))return i|0;j=c[i+4>>2]|0;c[i+12>>2]=ub[c[(c[j>>2]|0)+12>>2]&63](j,c[e+8>>2]|0,c[f+8>>2]|0)|0;a[i+8>>0]=1;return i|0}else{a[i+16>>0]=1;c[i+20>>2]=h;c[i+24>>2]=g;if(!(ub[c[(c[b>>2]|0)+24>>2]&63](b,c[f+8>>2]|0,c[e+8>>2]|0)|0))return i|0;j=c[i+4>>2]|0;c[i+12>>2]=ub[c[(c[j>>2]|0)+12>>2]&63](j,c[f+8>>2]|0,c[e+8>>2]|0)|0;a[i+8>>0]=1;return i|0}return 0}function Ei(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;if(GC(b,c[d+8>>2]|0)|0)al(d,e,f,g);else{i=a[d+52>>0]|0;j=a[d+53>>0]|0;k=c[b+12>>2]|0;a[d+52>>0]=0;a[d+53>>0]=0;Cn(b+16|0,d,e,f,g,h);a:do if((k|0)>1){l=b+24|0;do{if(a[d+54>>0]|0)break a;if(!(a[d+52>>0]|0)){if(a[d+53>>0]|0?(c[b+8>>2]&1|0)==0:0)break a}else{if((c[d+24>>2]|0)==1)break a;if(!(c[b+8>>2]&2))break a}a[d+52>>0]=0;a[d+53>>0]=0;Cn(l,d,e,f,g,h);l=l+8|0}while(l>>>0<(b+16+(k<<3)|0)>>>0)}while(0);a[d+52>>0]=i;a[d+53>>0]=j}return}function Fi(){var b=0;b=js(284)|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;c[b+188>>2]=0;c[b+188+4>>2]=0;c[b+188+8>>2]=0;c[b+188+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+240>>2]=0;g[b+244>>2]=1.0;c[b+248>>2]=0;c[b+248+4>>2]=0;c[b+248+8>>2]=0;c[b+248+12>>2]=0;c[b+4>>2]=1065353216;c[b+8>>2]=0;c[b+8+4>>2]=0;c[b+8+8>>2]=0;c[b+8+12>>2]=0;c[b+24>>2]=1065353216;c[b+28>>2]=0;c[b+28+4>>2]=0;c[b+28+8>>2]=0;c[b+28+12>>2]=0;c[b+44>>2]=1065353216;c[b+48>>2]=0;c[b+48+4>>2]=0;c[b+48+8>>2]=0;c[b+48+12>>2]=0;c[b+48+16>>2]=0;c[b>>2]=5236;a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;c[b+272>>2]=0;c[b+236>>2]=4;return b|0}function Gi(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;n=(c[b>>2]|0)+1794895138|0;f=uA(c[b+8>>2]|0,n)|0;l=uA(c[b+12>>2]|0,n)|0;m=uA(c[b+16>>2]|0,n)|0;a:do if((f>>>0>>2>>>0?l>>>0<(d-(f<<2)|0)>>>0&m>>>0<(d-(f<<2)|0)>>>0:0)?((m|l)&3|0)==0:0){k=0;while(1){i=f>>>1;j=k+i|0;g=uA(c[b+((j<<1)+(l>>>2)<<2)>>2]|0,n)|0;h=uA(c[b+((j<<1)+(l>>>2)+1<<2)>>2]|0,n)|0;if(!(h>>>0>>0&g>>>0<(d-h|0)>>>0)){f=0;break a}if(a[b+(h+g)>>0]|0){f=0;break a}g=Eo(e,b+h|0)|0;if(!g)break;if((f|0)==1){f=0;break a}else{k=(g|0)<0?k:j;f=(g|0)<0?i:f-i|0}}g=uA(c[b+((j<<1)+(m>>>2)<<2)>>2]|0,n)|0;f=uA(c[b+((j<<1)+(m>>>2)+1<<2)>>2]|0,n)|0;if(f>>>0>>0&g>>>0<(d-f|0)>>>0)f=(a[b+(f+g)>>0]|0)==0?b+f|0:0;else f=0}else f=0;while(0);return f|0}function Hi(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0.0,j=0.0,k=0,m=0;f=l;l=l+48|0;if((c[b+136>>2]|0)<=0){l=f;return}e=0;do{m=c[b+144>>2]|0;c[f+32>>2]=(a[m+(e*284|0)+84>>0]|0)==0?1065353216:0;c[f+32+4>>2]=0;c[f+32+8>>2]=1065353216;g[f+32+12>>2]=0.0;k=m+(e*284|0)+140|0;c[f+16>>2]=c[k>>2];c[f+16+4>>2]=c[k+4>>2];c[f+16+8>>2]=c[k+8>>2];c[f+16+12>>2]=c[k+12>>2];k=c[b+120>>2]|0;h=c[(c[d>>2]|0)+8>>2]|0;j=+g[m+(e*284|0)+108+(k<<2)>>2]+ +g[f+16+4>>2];i=+g[m+(e*284|0)+124+(k<<2)>>2]+ +g[f+16+8>>2];g[f>>2]=+g[m+(e*284|0)+92+(k<<2)>>2]+ +g[f+16>>2];g[f+4>>2]=j;g[f+8>>2]=i;g[f+12>>2]=0.0;Nb[h&127](d,f+16|0,f,f+32|0);Nb[c[(c[d>>2]|0)+8>>2]&127](d,f+16|0,(c[b+144>>2]|0)+(e*284|0)+16|0,f+32|0);e=e+1|0}while((e|0)<(c[b+136>>2]|0));l=f;return}function Ii(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;switch(b|0){case 2:{if((e|0)<1){g[a+232>>2]=d;c[a+300>>2]=c[a+300>>2]|512;return}if((e|0)<3){g[a+264>>2]=d;c[a+300>>2]=c[a+300>>2]|32;return}if((e|0)==3){g[a+248>>2]=d;c[a+300>>2]=c[a+300>>2]|2048;return}if((e|0)>=6)return;g[a+280>>2]=d;c[a+300>>2]=c[a+300>>2]|128;return}case 3:{if((e|0)<1){g[a+212>>2]=d;c[a+300>>2]=c[a+300>>2]|1;return}if((e|0)!=3)return;g[a+228>>2]=d;c[a+300>>2]=c[a+300>>2]|4;return}case 4:{if((e|0)<1){g[a+244>>2]=d;c[a+300>>2]=c[a+300>>2]|256;return}if((e|0)<3){g[a+276>>2]=d;c[a+300>>2]=c[a+300>>2]|16;return}if((e|0)==3){g[a+260>>2]=d;c[a+300>>2]=c[a+300>>2]|1024;return}if((e|0)>=6)return;g[a+292>>2]=d;c[a+300>>2]=c[a+300>>2]|64;return}default:return}}function Ji(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0;e=l;l=l+96|0;c[e+32>>2]=1065353216;c[e+32+4>>2]=0;c[e+32+4+4>>2]=0;c[e+32+4+8>>2]=0;c[e+32+4+12>>2]=0;c[e+32+20>>2]=1065353216;c[e+32+24>>2]=0;c[e+32+24+4>>2]=0;c[e+32+24+8>>2]=0;c[e+32+24+12>>2]=0;c[e+32+40>>2]=1065353216;k=e+32+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;Nb[c[(c[a>>2]|0)+8>>2]&127](a,e+32|0,e+16|0,e);i=(+g[e>>2]-+g[e+16>>2])*.5;h=(+g[e+4>>2]-+g[e+16+4>>2])*.5;j=(+g[e+8>>2]-+g[e+16+8>>2])*.5;f=+gb[c[(c[a>>2]|0)+48>>2]&15](a);g[d>>2]=b*.0833333283662796*((h+f)*2.0*(h+f)*2.0+(j+f)*2.0*(j+f)*2.0);g[d+4>>2]=b*.0833333283662796*((i+f)*2.0*(i+f)*2.0+(j+f)*2.0*(j+f)*2.0);g[d+8>>2]=b*.0833333283662796*((i+f)*2.0*(i+f)*2.0+(h+f)*2.0*(h+f)*2.0);g[d+12>>2]=0.0;l=e;return}function Ki(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.0,n=0.0,o=0.0;l=c[b+720>>2]|0;a:do if(h?(k=c[b+732>>2]|0,(k|0)>0):0){h=c[b+740>>2]|0;j=0;while(1){i=c[h+(j*52|0)+8>>2]|0;if((i|0)==(l+(d*104|0)|0)?(c[h+(j*52|0)+12>>2]|0)==(l+(e*104|0)|0):0){h=10;break}if((i|0)==(l+(e*104|0)|0)?(c[h+(j*52|0)+12>>2]|0)==(l+(d*104|0)|0):0){h=10;break}j=j+1|0;if((j|0)>=(k|0))break a}if((h|0)==10)return}while(0);Rh(b,f);f=(c[b+732>>2]|0)+-1|0;k=c[b+740>>2]|0;c[k+(f*52|0)+8>>2]=l+(d*104|0);c[k+(f*52|0)+12>>2]=l+(e*104|0);o=+g[l+(d*104|0)+8>>2]-+g[l+(e*104|0)+8>>2];n=+g[l+(d*104|0)+12>>2]-+g[l+(e*104|0)+12>>2];m=+g[l+(d*104|0)+16>>2]-+g[l+(e*104|0)+16>>2];g[k+(f*52|0)+16>>2]=+C(+(o*o+n*n+m*m));a[b+924>>0]=1;return}function Li(){var b=0;b=Bs()|0;c[b>>2]=1025;c[b+116>>2]=0;a[b+120>>0]=0;c[b+124>>2]=0;c[b+124+4>>2]=0;c[b+124+8>>2]=0;c[b+124+12>>2]=0;c[b+124+16>>2]=0;c[b+124+20>>2]=0;c[b+124+24>>2]=0;c[b+124+28>>2]=0;c[b+300>>2]=0;a[b+304>>0]=0;c[b+308>>2]=0;c[b+308+4>>2]=0;c[b+308+8>>2]=0;c[b+308+12>>2]=0;c[b+308+16>>2]=0;c[b+308+20>>2]=0;c[b+308+24>>2]=0;c[b+308+28>>2]=0;c[b+484>>2]=0;a[b+488>>0]=0;c[b+492>>2]=0;c[b+492+4>>2]=0;c[b+492+8>>2]=0;c[b+492+12>>2]=0;c[b+492+16>>2]=0;c[b+492+20>>2]=0;c[b+492+24>>2]=0;c[b+492+28>>2]=0;c[b+668>>2]=0;a[b+672>>0]=0;c[b+676>>2]=0;c[b+676+4>>2]=0;c[b+676+8>>2]=0;c[b+676+12>>2]=0;c[b+676+16>>2]=0;c[b+676+20>>2]=0;c[b+676+24>>2]=0;c[b+676+28>>2]=0;c[b+740>>2]=0;c[b+744>>2]=0;c[b+748>>2]=0;c[b+768>>2]=0;return b|0}function Mi(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;if(!(a[b+84>>0]|0)){c[b+32>>2]=c[b+204>>2];g[b+272>>2]=0.0;o=-+g[b+56>>2];p=-+g[b+60>>2];g[b>>2]=-+g[b+52>>2];g[b+4>>2]=o;g[b+8>>2]=p;g[b+12>>2]=0.0;p=1.0;b=b+268|0;g[b>>2]=p;return}f=+g[b>>2];k=+g[b+4>>2];l=+g[b+8>>2];m=f*+g[b+52>>2]+k*+g[b+56>>2]+l*+g[b+60>>2];n=+g[b+16>>2]-+g[d+52>>2];p=+g[b+20>>2]-+g[d+56>>2];o=+g[b+24>>2]-+g[d+60>>2];h=+g[d+332>>2];i=+g[d+336>>2];j=+g[d+328>>2];if(!(m>=-.10000000149011612)){g[b+272>>2]=-1.0/m*(f*(h*o-p*i+ +g[d+312>>2])+k*(n*i-o*j+ +g[d+316>>2])+l*(p*j-n*h+ +g[d+320>>2]));p=-1.0/m;b=b+268|0;g[b>>2]=p;return}else{g[b+272>>2]=0.0;p=10.0;b=b+268|0;g[b>>2]=p;return}}function Ni(a,b,d,e,f,h,i,j,k,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0;n=l;l=l+16|0;bj(13067);+ob[c[(c[a>>2]|0)+44>>2]&3](a,b,d,e,f,h,i,j,k);+ob[c[(c[a>>2]|0)+48>>2]&3](a,b,d,e,f,h,i,j,k);+lb[c[(c[a>>2]|0)+36>>2]&1](a,b,d,j);m=c[2405]|0;a=(c[m+16>>2]|0)+-1|0;c[m+16>>2]=a;if(a|0){l=n;return 0.0}do if(c[m+4>>2]|0){Za(n|0,0)|0;a=c[6471]|0;g[m+8>>2]=+g[m+8>>2]+ +(((c[n+4>>2]|0)-(c[a+4>>2]|0)+(((c[n>>2]|0)-(c[a>>2]|0)|0)*1e6|0)-(c[m+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[m+16>>2]|0)){m=c[2405]|0;break}else{l=n;return 0.0}}while(0);c[2405]=c[m+20>>2];l=n;return 0.0}function Oi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0;e=l;l=l+96|0;j=+g[c>>2];k=+g[c+4>>2];m=+g[c+8>>2];kq(e+80|0,j,k,m,+Sx(j,k,m,+g[b>>2],+g[b+4>>2],+g[b+8>>2]));m=+g[e+80>>2];k=+g[e+80+4>>2];j=+g[e+80+8>>2];Jp(e+64|0,+g[b>>2],+g[b+4>>2],+g[b+8>>2],m,k,j);Xo(e+48|0,+g[c>>2],+g[c+4>>2],+g[c+8>>2],+g[b>>2],+g[b+4>>2],+g[b+8>>2]);i=+g[e+48>>2];h=+g[e+48+4>>2];f=+g[e+48+8>>2];n=+TH(d);kq(e+16|0,+g[e+64>>2],+g[e+64+4>>2],+g[e+64+8>>2],n);Hp(e+32|0,m,k,j,+g[e+16>>2],+g[e+16+4>>2],+g[e+16+8>>2]);kq(e,i,h,f,+SH(d));Hp(a,+g[e+32>>2],+g[e+32+4>>2],+g[e+32+8>>2],+g[e>>2],+g[e+4>>2],+g[e+8>>2]);l=e;return}function Pi(a,b,d){a=a|0;b=b|0;d=d|0;var e=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;e=c[a+4>>2]|0;if(e|0)Zk(e,b,d);e=c[a>>2]|0;if(!e)return;m=+g[b>>2];k=+g[e+128>>2];l=+g[b+4>>2];j=+g[b+8>>2];f=+g[d+4>>2];o=+g[d+8>>2];n=+g[d>>2];i=+g[e+180>>2]*(j*f-l*o)+ +g[e+184>>2]*(m*o-j*n)+(l*n-m*f)*+g[e+188>>2];h=(j*f-l*o)*+g[e+196>>2]+(m*o-j*n)*+g[e+200>>2]+(l*n-m*f)*+g[e+204>>2];f=(j*f-l*o)*+g[e+212>>2]+(m*o-j*n)*+g[e+216>>2]+(l*n-m*f)*+g[e+220>>2];g[e+276>>2]=m*k+ +g[e+276>>2];g[e+280>>2]=k*l+ +g[e+280>>2];g[e+284>>2]=k*j+ +g[e+284>>2];g[e+292>>2]=i+ +g[e+292>>2];g[e+296>>2]=h+ +g[e+296>>2];g[e+300>>2]=f+ +g[e+300>>2];c[e+312>>2]=(c[e+312>>2]|0)+1;return}function Qi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=c[b+212>>2]|0;if((f|0)==(c[b+216>>2]|0)?(i=f|0?f<<1:1,(f|0)<(i|0)):0){if(!i)g=0;else{c[6472]=(c[6472]|0)+1;f=ic((i<<2|3)+16|0)|0;if(!f)g=0;else{c[(f+4+15&-16)+-4>>2]=f;g=f+4+15&-16}f=c[b+212>>2]|0}if((f|0)>0){h=0;do{c[g+(h<<2)>>2]=c[(c[b+220>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(f|0))}h=c[b+220>>2]|0;if(h){if(a[b+224>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[h+-4>>2]|0);f=c[b+212>>2]|0}c[b+220>>2]=0}a[b+224>>0]=1;c[b+220>>2]=g;c[b+216>>2]=i}c[(c[b+220>>2]|0)+(f<<2)>>2]=d;c[b+212>>2]=f+1;if(!e)return;ui(c[d+28>>2]|0,d);ui(c[d+32>>2]|0,d);return}function Ri(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;v=+g[a+552>>2];u=+g[a+568>>2];t=+g[a+584>>2];s=+g[b>>2];r=+g[b+4>>2];q=+g[b+8>>2];o=+g[b+16>>2];n=+g[b+20>>2];m=+g[b+24>>2];k=+g[b+32>>2];i=+g[b+36>>2];f=+g[b+40>>2];j=+g[a+556>>2];h=+g[a+572>>2];e=+g[a+588>>2];x=+g[a+620>>2];w=+g[a+636>>2];d=+g[a+652>>2];p=x*+g[c>>2]+w*+g[c+4>>2]+d*+g[c+8>>2];l=x*+g[c+16>>2]+w*+g[c+20>>2]+d*+g[c+24>>2];d=x*+g[c+32>>2]+w*+g[c+36>>2]+d*+g[c+40>>2];d=+K(+((v*s+u*r+t*q)*p+(v*o+u*n+t*m)*l+(v*k+u*i+t*f)*d),+((s*j+r*h+q*e)*p+(o*j+n*h+m*e)*l+(k*j+i*h+f*e)*d));return +(d*+g[a+732>>2])}function Si(b){b=b|0;var d=0,e=0,f=0,h=0,i=0;i=l;l=l+16|0;bj(15163);d=c[b+8>>2]|0;if((d|0)>0){f=0;do{e=c[(c[b+16>>2]|0)+(f<<2)>>2]|0;if(!(a[b+76>>0]|0))switch(c[e+216>>2]|0){case 2:case 5:break;default:h=11}else h=11;if((h|0)==11){h=0;pf(b,e);d=c[b+8>>2]|0}f=f+1|0}while((f|0)<(d|0))}d=c[2405]|0;h=(c[d+16>>2]|0)+-1|0;c[d+16>>2]=h;if(h|0){l=i;return}do if(c[d+4>>2]|0){Za(i|0,0)|0;h=c[6471]|0;g[d+8>>2]=+g[d+8>>2]+ +(((c[i+4>>2]|0)-(c[h+4>>2]|0)+(((c[i>>2]|0)-(c[h>>2]|0)|0)*1e6|0)-(c[d+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[d+16>>2]|0)){d=c[2405]|0;break}else{l=i;return}}while(0);c[2405]=c[d+20>>2];l=i;return}function Ti(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=c[a+8>>2]|0;if((d|0)>0){f=0;do{e=c[(c[a+16>>2]|0)+(f<<2)>>2]|0;if(c[e+236>>2]&2){g=qb[c[(c[e>>2]|0)+16>>2]&127](e)|0;g=ub[c[(c[b>>2]|0)+16>>2]&63](b,g,1)|0;d=ub[c[(c[e>>2]|0)+20>>2]&63](e,c[g+8>>2]|0,b)|0;Rb[c[(c[b>>2]|0)+20>>2]&31](b,g,d,1497645650,e);d=c[a+8>>2]|0}f=f+1|0}while((f|0)<(d|0))}if((c[a+212>>2]|0)<=0)return;d=0;do{g=c[(c[a+220>>2]|0)+(d<<2)>>2]|0;e=qb[c[(c[g>>2]|0)+36>>2]&127](g)|0;e=ub[c[(c[b>>2]|0)+16>>2]&63](b,e,1)|0;f=ub[c[(c[g>>2]|0)+40>>2]&63](g,c[e+8>>2]|0,b)|0;Rb[c[(c[b>>2]|0)+20>>2]&31](b,e,f,1397641027,g);d=d+1|0}while((d|0)<(c[a+212>>2]|0));return}function Ui(a){a=a|0;var b=0.0,d=0,e=0,f=0,h=0;e=l;l=l+32|0;c[a+32>>2]=1566444395;c[a+36>>2]=1566444395;c[a+40>>2]=1566444395;g[a+44>>2]=0.0;c[a+48>>2]=-581039253;c[a+52>>2]=-581039253;c[a+56>>2]=-581039253;g[a+60>>2]=0.0;if((c[a+16>>2]|0)<=0){l=e;return}d=0;do{f=c[a+24>>2]|0;h=c[f+(d*80|0)+64>>2]|0;Nb[c[(c[h>>2]|0)+8>>2]&127](h,f+(d*80|0)|0,e+16|0,e);b=+g[e+16>>2];if(+g[a+32>>2]>b)g[a+32>>2]=b;b=+g[e>>2];if(+g[a+48>>2]>2]=b;b=+g[e+16+4>>2];if(+g[a+36>>2]>b)g[a+36>>2]=b;b=+g[e+4>>2];if(+g[a+52>>2]>2]=b;b=+g[e+16+8>>2];if(+g[a+40>>2]>b)g[a+40>>2]=b;b=+g[e+8>>2];if(+g[a+56>>2]>2]=b;d=d+1|0}while((d|0)<(c[a+16>>2]|0));l=e;return}function Vi(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+64|0;g=c[d>>2]|0;h=d+(c[g+-8>>2]|0)|0;g=c[g+-4>>2]|0;c[i>>2]=e;c[i+4>>2]=d;c[i+8>>2]=2776;e=GC(g,e)|0;d=i+12|0;f=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(f|0));b[i+12+40>>1]=0;a[i+12+42>>0]=0;a:do if(e){c[i+48>>2]=1;Tb[c[(c[g>>2]|0)+20>>2]&7](g,i,h,h,1,0);e=(c[i+24>>2]|0)==1?h:0}else{Rb[c[(c[g>>2]|0)+24>>2]&31](g,i,h,1,0);switch(c[i+36>>2]|0){case 0:{e=((c[i+40>>2]|0)==1?(c[i+28>>2]|0)==1:0)&(c[i+32>>2]|0)==1?c[i+20>>2]|0:0;break a}case 1:break;default:{e=0;break a}}if((c[i+24>>2]|0)!=1?!(((c[i+40>>2]|0)==0?(c[i+28>>2]|0)==1:0)&(c[i+32>>2]|0)==1):0){e=0;break}e=c[i+16>>2]|0}while(0);l=i;return e|0}function Wi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[b+12>>2]|0;if(!e)return;if(!(a[b+8>>0]|0))return;f=c[d+4>>2]|0;if((f|0)==(c[d+8>>2]|0)?(h=f|0?f<<1:1,(f|0)<(h|0)):0){if(!h){e=f;f=0}else{c[6472]=(c[6472]|0)+1;e=ic((h<<2|3)+16|0)|0;if(!e)f=0;else{c[(e+4+15&-16)+-4>>2]=e;f=e+4+15&-16}e=c[d+4>>2]|0}if((e|0)>0){g=0;do{c[f+(g<<2)>>2]=c[(c[d+12>>2]|0)+(g<<2)>>2];g=g+1|0}while((g|0)!=(e|0))}g=c[d+12>>2]|0;if(g){if(a[d+16>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[g+-4>>2]|0);e=c[d+4>>2]|0}c[d+12>>2]=0}a[d+16>>0]=1;c[d+12>>2]=f;c[d+8>>2]=h;f=e;e=c[b+12>>2]|0}c[(c[d+12>>2]|0)+(f<<2)>>2]=e;c[d+4>>2]=f+1;return}function Xi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[b+20>>2]|0;if(!e)return;if(!(a[b+16>>0]|0))return;f=c[d+4>>2]|0;if((f|0)==(c[d+8>>2]|0)?(h=f|0?f<<1:1,(f|0)<(h|0)):0){if(!h){e=f;f=0}else{c[6472]=(c[6472]|0)+1;e=ic((h<<2|3)+16|0)|0;if(!e)f=0;else{c[(e+4+15&-16)+-4>>2]=e;f=e+4+15&-16}e=c[d+4>>2]|0}if((e|0)>0){g=0;do{c[f+(g<<2)>>2]=c[(c[d+12>>2]|0)+(g<<2)>>2];g=g+1|0}while((g|0)!=(e|0))}g=c[d+12>>2]|0;if(g){if(a[d+16>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[g+-4>>2]|0);e=c[d+4>>2]|0}c[d+12>>2]=0}a[d+16>>0]=1;c[d+12>>2]=f;c[d+8>>2]=h;f=e;e=c[b+20>>2]|0}c[(c[d+12>>2]|0)+(f<<2)>>2]=e;c[d+4>>2]=f+1;return}function Yi(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0;e=l;l=l+96|0;i=+gb[c[(c[a>>2]|0)+48>>2]&15](a);c[e+32>>2]=1065353216;c[e+32+4>>2]=0;c[e+32+4+4>>2]=0;c[e+32+4+8>>2]=0;c[e+32+4+12>>2]=0;c[e+32+20>>2]=1065353216;c[e+32+24>>2]=0;c[e+32+24+4>>2]=0;c[e+32+24+8>>2]=0;c[e+32+24+12>>2]=0;c[e+32+40>>2]=1065353216;j=e+32+44|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;Nb[c[(c[a>>2]|0)+8>>2]&127](a,e+32|0,e+16|0,e);h=(i+(+g[e>>2]-+g[e+16>>2])*.5)*2.0;f=(i+(+g[e+4>>2]-+g[e+16+4>>2])*.5)*2.0;i=(i+(+g[e+8>>2]-+g[e+16+8>>2])*.5)*2.0;g[d>>2]=b*.0833333283662796*(f*f+i*i);g[d+4>>2]=b*.0833333283662796*(h*h+i*i);g[d+8>>2]=b*.0833333283662796*(h*h+f*f);g[d+12>>2]=0.0;l=e;return}function Zi(b){b=b|0;var d=0;d=c[b+72>>2]|0;if(d|0){if(a[b+76>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+72>>2]=0}a[b+76>>0]=1;c[b+72>>2]=0;c[b+64>>2]=0;c[b+68>>2]=0;d=c[b+52>>2]|0;if(d|0){if(a[b+56>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+52>>2]=0}a[b+56>>0]=1;c[b+52>>2]=0;c[b+44>>2]=0;c[b+48>>2]=0;d=c[b+32>>2]|0;if(d|0){if(a[b+36>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;d=c[b+12>>2]|0;if(!d){a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;b=b+8|0;c[b>>2]=0;return}if(a[b+16>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+12>>2]=0;a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;b=b+8|0;c[b>>2]=0;return}function _i(a,b){a=a|0;b=+b;var d=0,e=0,f=0,h=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0;e=c[a+732>>2]|0;if((e|0)<=0)return;a=c[a+740>>2]|0;d=0;do{n=c[a+(d*52|0)+8>>2]|0;f=c[a+(d*52|0)+12>>2]|0;s=+g[n+40>>2];q=+g[n+44>>2];i=+g[n+48>>2];k=a+(d*52|0)+36|0;r=+g[k>>2];m=a+(d*52|0)+40|0;p=+g[m>>2];l=a+(d*52|0)+44|0;o=+g[l>>2];j=-(+g[a+(d*52|0)+32>>2]*((s-+g[f+40>>2])*r+(q-+g[f+44>>2])*p+(i-+g[f+48>>2])*o)*b);h=+g[n+88>>2]*j;g[n+40>>2]=s+r*h;g[n+44>>2]=q+p*h;g[n+48>>2]=o*h+i;j=+g[f+88>>2]*j;i=j*+g[m>>2];h=j*+g[l>>2];g[f+40>>2]=+g[f+40>>2]-+g[k>>2]*j;g[f+44>>2]=+g[f+44>>2]-i;g[f+48>>2]=+g[f+48>>2]-h;d=d+1|0}while((d|0)!=(e|0));return}function $i(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;i=+g[a+24>>2];j=+g[a+28>>2];k=+g[a+32>>2];h=i*+g[b>>2]+j*+g[b+4>>2]+k*+g[b+8>>2];f=+g[a+20>>2];if(h>f){g[a+20>>2]=h;c[a+4>>2]=c[b>>2];c[a+4+4>>2]=c[b+4>>2];c[a+4+8>>2]=c[b+8>>2];c[a+4+12>>2]=c[b+12>>2];f=h}h=i*+g[b+16>>2]+j*+g[b+20>>2]+k*+g[b+24>>2];if(h>f){g[a+20>>2]=h;c[a+4>>2]=c[b+16>>2];c[a+4+4>>2]=c[b+16+4>>2];c[a+4+8>>2]=c[b+16+8>>2];c[a+4+12>>2]=c[b+16+12>>2]}else h=f;f=i*+g[b+32>>2]+j*+g[b+36>>2]+k*+g[b+40>>2];if(!(f>h))return;g[a+20>>2]=f;c[a+4>>2]=c[b+32>>2];c[a+4+4>>2]=c[b+32+4>>2];c[a+4+8>>2]=c[b+32+8>>2];c[a+4+12>>2]=c[b+32+12>>2];return}function aj(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[b+328>>2]|0;if((g|0)==(c[b+332>>2]|0)?(j=g|0?g<<1:1,(g|0)<(j|0)):0){if(!j)h=0;else{c[6472]=(c[6472]|0)+1;g=ic((j<<2|3)+16|0)|0;if(!g)h=0;else{c[(g+4+15&-16)+-4>>2]=g;h=g+4+15&-16}g=c[b+328>>2]|0}if((g|0)>0){i=0;do{c[h+(i<<2)>>2]=c[(c[b+336>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(g|0))}i=c[b+336>>2]|0;if(i){if(a[b+340>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0);g=c[b+328>>2]|0}c[b+336>>2]=0}a[b+340>>0]=1;c[b+336>>2]=h;c[b+332>>2]=j}c[(c[b+336>>2]|0)+(g<<2)>>2]=d;c[b+328>>2]=g+1;c[d+284>>2]=c[b+452>>2];Bg(b,d,e,f);return}function bj(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=c[2405]|0;if((c[b>>2]|0)!=(a|0)){d=c[b+24>>2]|0;a:do if(!d)e=5;else while(1){if((c[d>>2]|0)==(a|0)){b=d;break a}d=c[d+28>>2]|0;if(!d){e=5;break}}while(0);if((e|0)==5){e=Vr(36)|0;c[e>>2]=a;c[e+4>>2]=0;c[e+4+4>>2]=0;c[e+4+8>>2]=0;c[e+4+12>>2]=0;c[e+20>>2]=b;c[e+24>>2]=0;c[e+28>>2]=0;c[e+32>>2]=0;or(e);c[e+28>>2]=c[b+24>>2];c[b+24>>2]=e;b=e}c[2405]=b}a=b+4|0;c[a>>2]=(c[a>>2]|0)+1;a=b+16|0;e=c[a>>2]|0;c[a>>2]=e+1;if(e|0){l=f;return}Za(f|0,0)|0;e=c[6471]|0;c[b+12>>2]=(c[f+4>>2]|0)-(c[e+4>>2]|0)+(((c[f>>2]|0)-(c[e>>2]|0)|0)*1e6|0);l=f;return}function cj(b){b=b|0;var d=0;d=Ms()|0;c[d+8>>2]=0;c[d>>2]=6484;a[d+28>>0]=1;c[d+24>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+32>>2]=1566444395;c[d+36>>2]=1566444395;c[d+40>>2]=1566444395;g[d+44>>2]=0.0;c[d+48>>2]=-581039253;c[d+52>>2]=-581039253;c[d+56>>2]=-581039253;g[d+60>>2]=0.0;c[d+64>>2]=0;c[d+68>>2]=1;g[d+72>>2]=0.0;c[d+76>>2]=1065353216;c[d+80>>2]=1065353216;c[d+84>>2]=1065353216;g[d+88>>2]=0.0;c[d+4>>2]=31;if(!b)return d|0;c[6472]=(c[6472]|0)+1;b=ic(79)|0;if(!b)b=0;else{c[(b+4+15&-16)+-4>>2]=b;b=b+4+15&-16}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;a[b+56>>0]=1;c[b+52>>2]=0;c[b+44>>2]=0;c[b+48>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=-1;c[b+12>>2]=0;c[b+16>>2]=0;c[d+64>>2]=b;return d|0}function dj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[b+76>>2]|0;if(!e)return;f=c[d+4>>2]|0;if((f|0)==(c[d+8>>2]|0)?(h=f|0?f<<1:1,(f|0)<(h|0)):0){if(!h){e=f;f=0}else{c[6472]=(c[6472]|0)+1;e=ic((h<<2|3)+16|0)|0;if(!e)f=0;else{c[(e+4+15&-16)+-4>>2]=e;f=e+4+15&-16}e=c[d+4>>2]|0}if((e|0)>0){g=0;do{c[f+(g<<2)>>2]=c[(c[d+12>>2]|0)+(g<<2)>>2];g=g+1|0}while((g|0)!=(e|0))}g=c[d+12>>2]|0;if(g){if(a[d+16>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[g+-4>>2]|0);e=c[d+4>>2]|0}c[d+12>>2]=0}a[d+16>>0]=1;c[d+12>>2]=f;c[d+8>>2]=h;f=e;e=c[b+76>>2]|0}c[(c[d+12>>2]|0)+(f<<2)>>2]=e;c[d+4>>2]=f+1;return}function ej(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;while(1){k=c[a+12>>2]|0;j=c[k+(((b+d|0)/2|0)<<3)>>2]|0;e=b;f=d;while(1){while(1){h=e+1|0;if((c[k+(e<<3)>>2]|0)<(j|0))e=h;else{i=f;break}}while(1){g=k+(i<<3)|0;f=i+-1|0;if((j|0)<(c[g>>2]|0))i=f;else break}if((e|0)>(i|0))f=i;else{e=k+(e<<3)|0;l=c[e>>2]|0;k=c[e+4>>2]|0;m=c[g+4>>2]|0;c[e>>2]=c[g>>2];c[e+4>>2]=m;e=(c[a+12>>2]|0)+(i<<3)|0;c[e>>2]=l;c[e+4>>2]=k;e=h}if((e|0)>(f|0))break;k=c[a+12>>2]|0}if((f|0)>(b|0))ej(a,b,f);if((e|0)<(d|0))b=e;else break}return}function fj(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;i=+gb[c[(c[a>>2]|0)+48>>2]&15](a);m=i+ +g[a+28>>2];k=i+ +g[a+32>>2];i=i+ +g[a+36>>2];u=+B(+(+g[b>>2]));t=+B(+(+g[b+4>>2]));s=+B(+(+g[b+8>>2]));q=+B(+(+g[b+16>>2]));p=+B(+(+g[b+20>>2]));o=+B(+(+g[b+24>>2]));l=+B(+(+g[b+32>>2]));j=+B(+(+g[b+36>>2]));h=+B(+(+g[b+40>>2]));r=+g[b+48>>2];n=+g[b+52>>2];f=+g[b+56>>2];g[d>>2]=r-(m*u+k*t+i*s);g[d+4>>2]=n-(m*q+k*p+i*o);g[d+8>>2]=f-(m*l+k*j+i*h);g[d+12>>2]=0.0;g[e>>2]=m*u+k*t+i*s+r;g[e+4>>2]=m*q+k*p+i*o+n;g[e+8>>2]=m*l+k*j+i*h+f;g[e+12>>2]=0.0;return}function gj(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;i=+g[a+88>>2];j=+g[a+92>>2];k=+g[a+96>>2];h=i*+g[b>>2]+j*+g[b+4>>2]+k*+g[b+8>>2];f=+g[a+84>>2];if(h>f){g[a+84>>2]=h;c[a+4>>2]=c[b>>2];c[a+4+4>>2]=c[b+4>>2];c[a+4+8>>2]=c[b+8>>2];c[a+4+12>>2]=c[b+12>>2];f=h}h=i*+g[b+16>>2]+j*+g[b+20>>2]+k*+g[b+24>>2];if(h>f){g[a+84>>2]=h;c[a+4>>2]=c[b+16>>2];c[a+4+4>>2]=c[b+16+4>>2];c[a+4+8>>2]=c[b+16+8>>2];c[a+4+12>>2]=c[b+16+12>>2]}else h=f;f=i*+g[b+32>>2]+j*+g[b+36>>2]+k*+g[b+40>>2];if(!(f>h))return;g[a+84>>2]=f;c[a+4>>2]=c[b+32>>2];c[a+4+4>>2]=c[b+32+4>>2];c[a+4+8>>2]=c[b+32+8>>2];c[a+4+12>>2]=c[b+32+12>>2];return}function hj(a,c,d,e,f,h){a=a|0;c=c|0;d=+d;e=+e;f=+f;h=h|0;var i=0,j=0;d=(d-+g[a+8>>2])*+g[a+40>>2];e=(e-+g[a+12>>2])*+g[a+44>>2];f=(f-+g[a+16>>2])*+g[a+48>>2];do if(!(d<=0.0)){i=b[a+6>>1]|0;j=b[a+4>>1]|0;if(!(d>=+(i&65535))){i=j&(~~d&65535)&65535|h;break}else{i=j&i&65535|h;break}}else i=h;while(0);b[c>>1]=i;do if(!(e<=0.0)){j=b[a+6>>1]|0;i=b[a+4>>1]|0;if(!(e>=+(j&65535))){i=i&(~~e&65535)&65535|h;break}else{i=i&j&65535|h;break}}else i=h;while(0);b[c+2>>1]=i;if(f<=0.0){h=h&65535;c=c+4|0;b[c>>1]=h;return}j=b[a+6>>1]|0;i=b[a+4>>1]|0;if(!(f>=+(j&65535))){h=i&(~~f&65535)&65535|h;h=h&65535;c=c+4|0;b[c>>1]=h;return}else{h=i&j&65535|h;h=h&65535;c=c+4|0;b[c>>1]=h;return}}function ij(b){b=b|0;var d=0;c[b>>2]=8776;if(c[b+108>>2]|0){d=c[b+112>>2]|0;Ab[c[c[d>>2]>>2]&511](d);d=c[b+112>>2]|0;if(d|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}d=c[b+108>>2]|0;Ab[c[c[d>>2]>>2]&511](d);d=c[b+108>>2]|0;if(d|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}}d=c[b+88>>2]|0;if(d|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}d=c[b+84>>2]|0;if(d|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}d=c[b+80>>2]|0;if(d|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}d=c[b+60>>2]|0;if(d|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}if(!(a[b+100>>0]|0))return;d=c[b+92>>2]|0;Ab[c[c[d>>2]>>2]&511](d);d=c[b+92>>2]|0;if(!d)return;c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0);return}function jj(b){b=b|0;var d=0,e=0,f=0,h=0.0;e=l;l=l+96|0;a[b+88>>0]=1;if((a[22776]|0)==0?Yy(22776)|0:0){c[6176]=1065353216;c[6177]=0;c[6178]=0;c[6179]=0;c[6180]=0;c[6181]=1065353216;c[6182]=0;c[6183]=0;c[6184]=0;c[6185]=0;c[6186]=1065353216;g[6187]=0.0;c[6188]=-1082130432;c[6189]=0;c[6190]=0;c[6191]=0;c[6192]=0;c[6193]=-1082130432;c[6194]=0;c[6195]=0;c[6196]=0;c[6197]=0;c[6198]=-1082130432;g[6199]=0.0}d=e;f=d+96|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(f|0));Nb[c[(c[b>>2]|0)+76>>2]&127](b,24704,e,6);h=+g[b+44>>2];g[b+72>>2]=+g[e>>2]+h;g[b+56>>2]=+g[e+48>>2]-h;g[b+76>>2]=+g[e+20>>2]+h;g[b+60>>2]=+g[e+68>>2]-h;g[b+80>>2]=+g[e+40>>2]+h;g[b+64>>2]=+g[e+88>>2]-h;l=e;return}function kj(a,b,d,e){a=a|0;b=b|0;d=+d;e=+e;var f=0,h=0.0,i=0.0,k=0.0,l=0,m=0.0,n=0.0,o=0.0;k=+E(+d);i=+F(+d);f=c[b+444>>2]|0;l=+B(+k)>1.1920928955078125e-07;d=(c[j>>2]=f,+g[j>>2]);if(l){m=+g[b+448>>2];m=+C(+((i*i/(k*k)+1.0)/(1.0/(m*m)+i*i/(k*k)/(d*d))));d=i*i;h=k*k;f=(g[j>>2]=m,c[j>>2]|0)}else{d=i*i;h=k*k}m=+C(+(h+0.0+d));n=(c[j>>2]=f,+g[j>>2])*.5;m=+F(+n)/m;n=+E(+n);o=n*e+k*m*0.0-i*m*-0.0;h=n*0.0-i*m*e-m*0.0*0.0;d=n*0.0+m*0.0*0.0-k*m*e;e=-(m*0.0*e)-k*m*0.0-i*m*-0.0;g[a>>2]=i*m*h+(n*o+e*-(m*0.0))-d*-(k*m);g[a+4>>2]=d*-(m*0.0)+(n*h+e*-(k*m))-i*m*o;g[a+8>>2]=o*-(k*m)+(i*m*e+n*d)-h*-(m*0.0);g[a+12>>2]=0.0;return}function lj(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0,h=0.0,i=0.0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;f=c[a+732>>2]|0;if((f|0)<=0)return;a=c[a+740>>2]|0;e=0;do{d=+g[a+(e*52|0)+24>>2];if(d>0.0?(j=c[a+(e*52|0)+8>>2]|0,k=c[a+(e*52|0)+12>>2]|0,l=+g[j+8>>2],n=+g[k+8>>2]-l,m=+g[j+12>>2],p=+g[k+12>>2]-m,h=+g[j+16>>2],o=+g[k+16>>2]-h,i=+g[a+(e*52|0)+28>>2],i+(n*n+p*p+o*o)>1.1920928955078125e-07):0){d=(i-(n*n+p*p+o*o))/(d*(i+(n*n+p*p+o*o)))*b;q=d*+g[j+88>>2];g[j+8>>2]=l-n*q;g[j+12>>2]=m-p*q;g[j+16>>2]=h-o*q;d=d*+g[k+88>>2];g[k+8>>2]=+g[k+8>>2]+n*d;g[k+12>>2]=p*d+ +g[k+12>>2];g[k+16>>2]=o*d+ +g[k+16>>2]}e=e+1|0}while((e|0)!=(f|0));return}function mj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0;e=l;l=l+96|0;c[e+32>>2]=1065353216;c[e+32+4>>2]=0;c[e+32+4+4>>2]=0;c[e+32+4+8>>2]=0;c[e+32+4+12>>2]=0;c[e+32+20>>2]=1065353216;c[e+32+24>>2]=0;c[e+32+24+4>>2]=0;c[e+32+24+8>>2]=0;c[e+32+24+12>>2]=0;c[e+32+40>>2]=1065353216;n=e+32+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;Nb[c[(c[a>>2]|0)+8>>2]&127](a,e+32|0,e+16|0,e);k=+g[e>>2];m=+g[e+16>>2];i=+g[e+4>>2];j=+g[e+16+4>>2];f=+g[e+8>>2];h=+g[e+16+8>>2];g[d>>2]=+C(+((k-m)*(k-m)+(i-j)*(i-j)+(f-h)*(f-h)))*.5;g[b>>2]=(m+k)*.5;g[b+4>>2]=(j+i)*.5;g[b+8>>2]=(h+f)*.5;g[b+12>>2]=0.0;l=e;return}function nj(){var b=0,d=0;d=Ms()|0;c[d+8>>2]=0;c[d>>2]=6484;a[d+28>>0]=1;c[d+24>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+32>>2]=1566444395;c[d+36>>2]=1566444395;c[d+40>>2]=1566444395;g[d+44>>2]=0.0;c[d+48>>2]=-581039253;c[d+52>>2]=-581039253;c[d+56>>2]=-581039253;g[d+60>>2]=0.0;c[d+64>>2]=0;c[d+68>>2]=1;g[d+72>>2]=0.0;c[d+76>>2]=1065353216;c[d+80>>2]=1065353216;c[d+84>>2]=1065353216;g[d+88>>2]=0.0;c[d+4>>2]=31;c[6472]=(c[6472]|0)+1;b=ic(79)|0;if(!b)b=0;else{c[(b+4+15&-16)+-4>>2]=b;b=b+4+15&-16}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;a[b+56>>0]=1;c[b+52>>2]=0;c[b+44>>2]=0;c[b+48>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=-1;c[b+12>>2]=0;c[b+16>>2]=0;c[d+64>>2]=b;return d|0}function oj(a,d,f,h){a=a|0;d=d|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=c[a+108>>2]|0;if(i|0){Nb[c[(c[i>>2]|0)+28>>2]&127](i,d,f,h);return}i=b[a+56>>1]|0;if(!(i<<16>>16))return;k=1;m=1;do{j=c[a+68>>2]|0;if(b[j+(k<<2)>>1]&1){l=c[a+60>>2]|0;k=e[j+(k<<2)+2>>1]|0;if(!(+g[d>>2]>+g[l+(k<<6)+32>>2])?!(+g[f>>2]<+g[l+(k<<6)+16>>2]):0)j=1;else j=0;if(!(!(+g[d+8>>2]>+g[l+(k<<6)+40>>2])?!(+g[f+8>>2]<+g[l+(k<<6)+24>>2]):0))j=0;if(!(+g[d+4>>2]>+g[l+(k<<6)+36>>2])?!(+g[f+4>>2]<+g[l+(k<<6)+20>>2]|j^1):0){sb[c[(c[h>>2]|0)+8>>2]&31](h,l+(k<<6)|0)|0;i=b[a+56>>1]|0}}m=m+1<<16>>16;k=m&65535}while(k>>>0<((i&65535)<<1|1)>>>0);return}function pj(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;f=+g[b>>2];h=+g[b+16>>2];j=f>2];if((j+g[a+24>>2])return;k=f>h?b:b+16|0;if(+g[(+g[k>>2]>i?k:b+32|0)>>2]<+g[a+8>>2])return;i=+g[b+8>>2];f=+g[b+24>>2];j=i>2];if((j+g[a+32>>2])return;k=i>f?b+8|0:b+24|0;if(+g[(+g[k>>2]>h?k:b+40|0)>>2]<+g[a+16>>2])return;f=+g[b+4>>2];h=+g[b+20>>2];j=f>2];if((j+g[a+28>>2])return;k=f>h?b+4|0:b+20|0;if(+g[(+g[k>>2]>i?k:b+36|0)>>2]<+g[a+12>>2])return;k=c[a+4>>2]|0;Nb[c[(c[k>>2]|0)+8>>2]&127](k,b,d,e);return}function qj(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0;if(!(a[b+738>>0]|0)){c[d>>2]=5;c[d+4>>2]=1;e=+Ri(b,(c[b+28>>2]|0)+4|0,(c[b+32>>2]|0)+4|0);g[b+728>>2]=e;g[b+708>>2]=0.0;g[b+712>>2]=0.0;a[b+716>>0]=0;h=+g[b+692>>2];do if(!(h>=0.0))i=12;else{e=+bh(e-+g[b+688>>2],6.2831854820251465);if(!(e<-3.1415927410125732)){if(e>3.1415927410125732)e=e+-6.2831854820251465}else e=e+6.2831854820251465;if(e<-h){a[b+716>>0]=1;f=1.0;e=-(e+h)}else{if(!(e>h)){i=12;break}a[b+716>>0]=1;f=-1.0;e=h-e}g[b+708>>2]=e;g[b+712>>2]=f}while(0);if((i|0)==12?(a[b+737>>0]|0)==0:0)return;c[d>>2]=6;d=d+4|0}else{c[d>>2]=0;d=d+4|0}c[d>>2]=0;return}function rj(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0.0,j=0.0,k=0.0;h=l;l=l+16|0;g[b+32>>2]=f;c[b+8>>2]=c[d>>2];c[b+8+4>>2]=c[d+4>>2];c[b+8+8>>2]=c[d+8>>2];c[b+8+12>>2]=c[d+12>>2];i=+g[b+28>>2];k=+g[e+4>>2]-i*+g[d+4>>2];j=+g[e+8>>2]-i*+g[d+8>>2];g[h>>2]=+g[e>>2]-+g[d>>2]*i;g[h+4>>2]=k;g[h+8>>2]=j;g[h+12>>2]=0.0;f=+g[b+24>>2]+i+f;g[b+32>>2]=f;if(!(f<0.0)){b=b+4|0;b=c[b>>2]|0;e=c[b>>2]|0;e=e+16|0;e=c[e>>2]|0;Lb[e&15](b,d,h,f);l=h;return}a[b+36>>0]=1;b=b+4|0;b=c[b>>2]|0;e=c[b>>2]|0;e=e+16|0;e=c[e>>2]|0;Lb[e&15](b,d,h,f);l=h;return}function sj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0.0;f=l;l=l+16|0;c[a+4>>2]=c[b+24>>2];e=c[b>>2]|0;c[a+8>>2]=e;if(d){c[a+52>>2]=c[b+8>>2];c[a+52+4>>2]=c[b+8+4>>2];c[a+52+8>>2]=c[b+8+8>>2];c[a+52+12>>2]=c[b+8+12>>2];e=a+68|0;d=a+20|0;a=a+36|0;h=+g[b+24>>2];Gp(e,d,a,h);h=+g[b+24>>2];l=f;return +h}else{e=bI(KH(e)|0)|0;Pl(f,e,+g[b+8>>2],+g[b+12>>2],+g[b+16>>2]);c[a+52>>2]=c[f>>2];c[a+52+4>>2]=c[f+4>>2];c[a+52+8>>2]=c[f+8>>2];c[a+52+12>>2]=c[f+12>>2];e=a+68|0;d=a+20|0;a=a+36|0;h=+g[b+24>>2];Gp(e,d,a,h);h=+g[b+24>>2];l=f;return +h}return 0.0}function tj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;c[b>>2]=6420;d=c[b+8>>2]|0;e=c[d+8>>2]|0;if((e|0)>0){g=0;do{f=c[(c[d+16>>2]|0)+(g*12|0)+8>>2]|0;if(f|0){Ab[c[c[f>>2]>>2]&511](f);h=c[b+4>>2]|0;Gb[c[(c[h>>2]|0)+60>>2]&127](h,f)}g=g+1|0}while((g|0)!=(e|0));d=c[b+8>>2]|0}Hh(d);d=c[b+8>>2]|0;Ab[c[c[d>>2]>>2]&511](d);d=c[b+8>>2]|0;if(d|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}d=c[b+24>>2]|0;if(!d){a[b+28>>0]=1;c[b+24>>2]=0;c[b+16>>2]=0;h=b+20|0;c[h>>2]=0;return}if(a[b+28>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+24>>2]=0;a[b+28>>0]=1;c[b+24>>2]=0;c[b+16>>2]=0;h=b+20|0;c[h>>2]=0;return}function uj(b,d){b=b|0;d=d|0;c[b+204>>2]=c[d+48>>2];c[b+208>>2]=c[d+52>>2];c[b+212>>2]=c[d+56>>2];c[b+216>>2]=c[d+60>>2];c[b+220>>2]=c[d+64>>2];c[b+224>>2]=c[d+68>>2];c[b+156>>2]=c[d>>2];c[b+156+4>>2]=c[d+4>>2];c[b+156+8>>2]=c[d+8>>2];c[b+156+12>>2]=c[d+12>>2];c[b+172>>2]=c[d+16>>2];c[b+172+4>>2]=c[d+16+4>>2];c[b+172+8>>2]=c[d+16+8>>2];c[b+172+12>>2]=c[d+16+12>>2];c[b+188>>2]=c[d+32>>2];c[b+188+4>>2]=c[d+32+4>>2];c[b+188+8>>2]=c[d+32+8>>2];c[b+188+12>>2]=c[d+32+12>>2];c[b+228>>2]=c[d+72>>2];g[b+232>>2]=0.0;g[b+252>>2]=0.0;g[b+236>>2]=0.0;g[b+240>>2]=0.0;g[b+256>>2]=0.0;g[b+244>>2]=.10000000149011612;a[b+260>>0]=a[d+80>>0]&1;c[b+248>>2]=c[d+76>>2];return}function vj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0;f=l;l=l+16|0;c[b+4>>2]=d;c[b>>2]=4572;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;c[b+28>>2]=e;if((a[22752]|0)==0?Yy(22752)|0:0){c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;dg(23416,0.0,0,0,f)}c[5905]=c[5905]|1;g[5940]=0.0;h=+g[5950]*0.0;i=+g[5951]*0.0;g[5945]=+g[5949]*0.0;g[5946]=h;g[5947]=i;g[5948]=0.0;c[5953]=0;c[5954]=0;c[5955]=0;c[5956]=0;i=+g[5942]*0.0;h=+g[5943]*0.0;g[5994]=+g[5941]*0.0;g[5995]=i;g[5996]=h;g[5997]=0.0;c[b+32>>2]=23416;g[b+36>>2]=0.0;g[b+40>>2]=.30000001192092896;c[b+44>>2]=0;l=f;return}function wj(a){a=a|0;var b=0;c[a>>2]=3212;b=c[a+92>>2]|0;Ab[c[c[b>>2]>>2]&511](b);b=c[a+92>>2]|0;if(b|0){c[6473]=(c[6473]|0)+1;nd(c[b+-4>>2]|0)}b=c[a+96>>2]|0;Ab[c[c[b>>2]>>2]&511](b);b=c[a+96>>2]|0;if(b|0){c[6473]=(c[6473]|0)+1;nd(c[b+-4>>2]|0)}b=c[a+100>>2]|0;Ab[c[c[b>>2]>>2]&511](b);b=c[a+100>>2]|0;if(b|0){c[6473]=(c[6473]|0)+1;nd(c[b+-4>>2]|0)}b=c[a+104>>2]|0;Ab[c[c[b>>2]>>2]&511](b);b=c[a+104>>2]|0;if(b|0){c[6473]=(c[6473]|0)+1;nd(c[b+-4>>2]|0)}b=c[a+108>>2]|0;Ab[c[c[b>>2]>>2]&511](b);b=c[a+108>>2]|0;if(!b){Ye(a);return}c[6473]=(c[6473]|0)+1;nd(c[b+-4>>2]|0);Ye(a);return}function xj(b,d){b=b|0;d=d|0;var e=0,f=0;a:do if((d|0)!=0&(b&3|0)!=0){e=d;while(1){if(!(a[b>>0]|0))break a;b=b+1|0;d=e+-1|0;if((d|0)!=0&(b&3|0)!=0)e=d;else{e=d;d=(d|0)!=0;f=4;break}}}else{e=d;d=(d|0)!=0;f=4}while(0);b:do if((f|0)==4)if(d){if(a[b>>0]|0){c:do if(e>>>0>3)while(1){d=c[b>>2]|0;if((d&-2139062144^-2139062144)&d+-16843009|0)break;b=b+4|0;e=e+-4|0;if(e>>>0<=3){f=10;break c}}else f=10;while(0);if((f|0)==10)if(!e){e=0;break}while(1){if(!(a[b>>0]|0))break b;b=b+1|0;e=e+-1|0;if(!e){e=0;break}}}}else e=0;while(0);return (e|0?b:0)|0}function yj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if((c[d+60>>2]|0)==2){f=c[d+48>>2]|0;Sg(b+64|0,f)|0;g=c[b+68>>2]|0;if(g|0){c[6473]=(c[6473]|0)+1;nd(c[g+-4>>2]|0)}c[b+68>>2]=f;f=1}else{f=c[d+48>>2]|0;Sg(b+4|0,f)|0;g=c[b+8>>2]|0;if(g|0){c[6473]=(c[6473]|0)+1;nd(c[g+-4>>2]|0)}c[b+8>>2]=f;f=0}f=b+4+(f*60|0)+12|0;c[f>>2]=(c[f>>2]|0)+-1;f=c[d+52>>2]|0;if(!f)f=b+124+(c[d+60>>2]<<2)|0;else f=f+56|0;c[f>>2]=c[d+56>>2];f=c[d+56>>2]|0;if(f|0)c[f+52>>2]=c[d+52>>2];g=c[b+136>>2]|0;Kb[c[(c[g>>2]|0)+16>>2]&127](g,d,e);c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0);a[b+194>>0]=1;return}function zj(a){a=a|0;var b=0.0,c=0.0,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;n=+g[a+4>>2];h=+g[a+396>>2];m=+g[a+8>>2];e=+g[a+400>>2];l=+g[a+12>>2];c=+g[a+404>>2];k=+g[a+20>>2];j=+g[a+24>>2];i=+g[a+28>>2];f=+g[a+36>>2];d=+g[a+40>>2];b=+g[a+44>>2];g[a+264>>2]=n*h*n+m*e*m+l*c*l;g[a+268>>2]=n*h*k+m*e*j+l*c*i;g[a+272>>2]=n*h*f+m*e*d+l*c*b;g[a+276>>2]=0.0;g[a+280>>2]=h*k*n+e*j*m+c*i*l;g[a+284>>2]=h*k*k+e*j*j+c*i*i;g[a+288>>2]=h*k*f+e*j*d+c*i*b;g[a+292>>2]=0.0;g[a+296>>2]=h*f*n+e*d*m+c*b*l;g[a+300>>2]=h*f*k+e*d*j+c*b*i;g[a+304>>2]=h*f*f+e*d*d+c*b*b;g[a+308>>2]=0.0;return}function Aj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;c[b>>2]=5824;e=c[b+8>>2]|0;d=c[b+16>>2]|0;if((e|0)>0){h=0;do{g=(c[d+(h<<2)>>2]|0)+188|0;f=c[g>>2]|0;if(f){e=c[b+68>>2]|0;e=qb[c[(c[e>>2]|0)+36>>2]&127](e)|0;Kb[c[(c[e>>2]|0)+40>>2]&127](e,f,c[b+24>>2]|0);e=c[b+68>>2]|0;Kb[c[(c[e>>2]|0)+12>>2]&127](e,f,c[b+24>>2]|0);c[g>>2]=0;e=c[b+8>>2]|0;d=c[b+16>>2]|0}h=h+1|0}while((h|0)<(e|0))}if(!d){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}if(a[b+20>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}function Bj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0,i=0.0,j=0,k=0,l=0.0,m=0.0;k=c[b+52>>2]|0;j=c[k+32>>2]|0;b=c[j>>2]|0;k=c[k+24>>2]|0;if((k|0)<=1){k=b;k=k+8|0;c[a>>2]=c[k>>2];c[a+4>>2]=c[k+4>>2];c[a+8>>2]=c[k+8>>2];c[a+12>>2]=c[k+12>>2];return}l=+g[d>>2];m=+g[d+4>>2];i=+g[d+8>>2];f=l*+g[b+8>>2]+m*+g[b+12>>2]+i*+g[b+16>>2];d=1;h=0;while(1){b=c[j+(d<<2)>>2]|0;e=l*+g[b+8>>2]+m*+g[b+12>>2]+i*+g[b+16>>2];b=e>f;h=b?d:h;d=d+1|0;if((d|0)==(k|0))break;else f=b?e:f}k=c[j+(h<<2)>>2]|0;k=k+8|0;c[a>>2]=c[k>>2];c[a+4>>2]=c[k+4>>2];c[a+8>>2]=c[k+8>>2];c[a+12>>2]=c[k+12>>2];return}function Cj(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,h=0,i=0.0,j=0.0;c[a+248>>2]=c[b>>2];c[a+248+4>>2]=c[b+4>>2];c[a+248+8>>2]=c[b+8>>2];c[a+248+12>>2]=c[b+12>>2];d=c[a+232>>2]|0;if((d|0)<=0)return;h=0;do{f=c[(c[a+240>>2]|0)+(h<<2)>>2]|0;switch(c[f+216>>2]|0){case 2:case 5:break;default:if(!(c[f+504>>2]&1)){e=+g[f+344>>2];if(e!=0.0){j=1.0/e*+g[b+4>>2];i=1.0/e*+g[b+8>>2];g[f+364>>2]=1.0/e*+g[b>>2];g[f+368>>2]=j;g[f+372>>2]=i;g[f+376>>2]=0.0}c[f+380>>2]=c[b>>2];c[f+380+4>>2]=c[b+4>>2];c[f+380+8>>2]=c[b+8>>2];c[f+380+12>>2]=c[b+12>>2];d=c[a+232>>2]|0}}h=h+1|0}while((h|0)<(d|0));return}function Dj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=l;l=l+96|0;g=c[b+192>>2]|0;c[f+64>>2]=0;c[f+64+4>>2]=g;c[f+64+8>>2]=b;c[f+64+12>>2]=b+4;c[f+64+16>>2]=-1;c[f+64+20>>2]=-1;b=c[d+192>>2]|0;c[f+40>>2]=0;c[f+40+4>>2]=b;c[f+40+8>>2]=d;c[f+40+12>>2]=d+4;c[f+40+16>>2]=-1;c[f+40+20>>2]=-1;b=c[a+24>>2]|0;b=vb[c[(c[b>>2]|0)+8>>2]&31](b,f+64|0,f+40|0,0)|0;if(!b){l=f;return}c[f+4>>2]=0;c[f+8>>2]=f+64;c[f+12>>2]=f+40;c[f>>2]=6168;c[f+32>>2]=e;Rb[c[(c[b>>2]|0)+8>>2]&31](b,f+64|0,f+40|0,a+28|0,f);Ab[c[c[b>>2]>>2]&511](b);g=c[a+24>>2]|0;Gb[c[(c[g>>2]|0)+60>>2]&127](g,b);l=f;return}function Ej(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;if(!((b|0)==0?1:(c[b+236>>2]&2|0)==0)){Gb[c[(c[a>>2]|0)+92>>2]&127](a,b);return}d=c[b+188>>2]|0;if(d|0){g=c[a+68>>2]|0;g=qb[c[(c[g>>2]|0)+36>>2]&127](g)|0;Kb[c[(c[g>>2]|0)+40>>2]&127](g,d,c[a+24>>2]|0);g=c[a+68>>2]|0;Kb[c[(c[g>>2]|0)+12>>2]&127](g,d,c[a+24>>2]|0);c[b+188>>2]=0}f=c[a+8>>2]|0;if((f|0)<=0)return;g=c[a+16>>2]|0;d=0;while(1){e=g+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(f|0)){h=11;break}}if((h|0)==11)return;if((d|0)>=(f|0))return;c[e>>2]=c[g+(f+-1<<2)>>2];c[(c[a+16>>2]|0)+(f+-1<<2)>>2]=b;c[a+8>>2]=f+-1;return}function Fj(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,h=0.0,i=0.0,k=0.0;e=c[a+204>>2]|0;if(b==0.0){c[a+204>>2]=e|1;h=0.0}else{c[a+204>>2]=e&-2;h=1.0/b}g[a+344>>2]=h;k=+g[a+384>>2]*b;i=+g[a+388>>2]*b;g[a+364>>2]=+g[a+380>>2]*b;g[a+368>>2]=k;g[a+372>>2]=i;g[a+376>>2]=0.0;b=+g[d>>2];f=b!=0.0?(g[j>>2]=1.0/b,c[j>>2]|0):0;b=+g[d+4>>2];e=b!=0.0?(g[j>>2]=1.0/b,c[j>>2]|0):0;b=+g[d+8>>2];d=b!=0.0?(g[j>>2]=1.0/b,c[j>>2]|0):0;c[a+396>>2]=f;c[a+400>>2]=e;c[a+404>>2]=d;g[a+408>>2]=0.0;i=h*+g[a+352>>2];k=h*+g[a+356>>2];g[a+560>>2]=+g[a+348>>2]*h;g[a+564>>2]=i;g[a+568>>2]=k;g[a+572>>2]=0.0;return}function Gj(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,h=0;f=l;l=l+256|0;e=c[b+212>>2]|0;if((e|0)>-1){a=e;l=f;return a|0}h=(c[b+236>>2]&2|0)==0;e=h?0:b;do if(!h){if(!(+g[e+344>>2]!=0.0)?(c[e+204>>2]&2|0)==0:0)break;h=c[a+8>>2]|0;Nk(f|0,0,244)|0;we(tf(a+4|0,f)|0,b,d);c[b+212>>2]=h;l=f;return h|0}while(0);e=c[a+188>>2]|0;if((e|0)>=0){h=e;l=f;return h|0}c[a+188>>2]=c[a+8>>2];Nk(f|0,0,244)|0;we(tf(a+4|0,f)|0,0,d);h=c[a+188>>2]|0;l=f;return h|0}function Hj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0,i=0,j=0,k=0.0,l=0.0;l=+g[b+60>>2]*.5;h=c[b+68>>2]|0;e=+g[d>>2];f=+g[d+4>>2];k=+g[d+8>>2];k=+C(+(e*e+f*f+k*k));j=c[b+64>>2]|0;if(+g[d+(h<<2)>>2]>k*+g[b+52>>2]){g[a+(j<<2)>>2]=0.0;g[a+(h<<2)>>2]=l;l=0.0;b=c[b+72>>2]|0;b=a+(b<<2)|0;g[b>>2]=l;return}k=+g[d+(j<<2)>>2];i=c[b+72>>2]|0;e=+g[d+(i<<2)>>2];f=+C(+(k*k+e*e));if(f>1.1920928955078125e-07){f=+g[b+56>>2]/f;g[a+(j<<2)>>2]=k*f;g[a+(h<<2)>>2]=-l;l=e*f;b=i;b=a+(b<<2)|0;g[b>>2]=l;return}else{g[a+(j<<2)>>2]=0.0;g[a+(h<<2)>>2]=-l;l=0.0;b=i;b=a+(b<<2)|0;g[b>>2]=l;return}}function Ij(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0;e=l;l=l+96|0;c[e+32>>2]=1065353216;c[e+32+4>>2]=0;c[e+32+4+4>>2]=0;c[e+32+4+8>>2]=0;c[e+32+4+12>>2]=0;c[e+32+20>>2]=1065353216;c[e+32+24>>2]=0;c[e+32+24+4>>2]=0;c[e+32+24+8>>2]=0;c[e+32+24+12>>2]=0;c[e+32+40>>2]=1065353216;j=e+32+44|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;Nb[c[(c[a>>2]|0)+8>>2]&127](a,e+32|0,e+16|0,e);h=(+g[e>>2]-+g[e+16>>2])*.5*2.0;f=(+g[e+4>>2]-+g[e+16+4>>2])*.5*2.0;i=(+g[e+8>>2]-+g[e+16+8>>2])*.5*2.0;g[d>>2]=b/12.0*(f*f+i*i);g[d+4>>2]=b/12.0*(h*h+i*i);g[d+8>>2]=b/12.0*(h*h+f*f);l=e;return}function Jj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[b+280>>2]|0;if((e|0)==(c[b+284>>2]|0)?(h=e|0?e<<1:1,(e|0)<(h|0)):0){if(!h)f=0;else{c[6472]=(c[6472]|0)+1;e=ic((h<<2|3)+16|0)|0;if(!e)f=0;else{c[(e+4+15&-16)+-4>>2]=e;f=e+4+15&-16}e=c[b+280>>2]|0}if((e|0)>0){g=0;do{c[f+(g<<2)>>2]=c[(c[b+288>>2]|0)+(g<<2)>>2];g=g+1|0}while((g|0)!=(e|0))}g=c[b+288>>2]|0;if(g){if(a[b+292>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[g+-4>>2]|0);e=c[b+280>>2]|0}c[b+288>>2]=0}a[b+292>>0]=1;c[b+288>>2]=f;c[b+284>>2]=h}c[(c[b+288>>2]|0)+(e<<2)>>2]=d;c[b+280>>2]=e+1;return}function Kj(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;e=ws()|0;vj(e,3,b);c[e>>2]=4740;c[e+300>>2]=c[d>>2];c[e+300+4>>2]=c[d+4>>2];c[e+300+8>>2]=c[d+8>>2];c[e+300+12>>2]=c[d+12>>2];k=+g[d>>2];j=+g[d+4>>2];i=+g[d+8>>2];h=k*+g[b+20>>2]+j*+g[b+24>>2]+i*+g[b+28>>2]+ +g[b+56>>2];f=k*+g[b+36>>2]+j*+g[b+40>>2]+i*+g[b+44>>2]+ +g[b+60>>2];g[e+316>>2]=k*+g[b+4>>2]+j*+g[b+8>>2]+i*+g[b+12>>2]+ +g[b+52>>2];g[e+320>>2]=h;g[e+324>>2]=f;g[e+328>>2]=0.0;c[e+332>>2]=0;a[e+344>>0]=0;g[e+348>>2]=.30000001192092896;g[e+352>>2]=1.0;g[e+356>>2]=0.0;return e|0}function Lj(a,b,c){a=+a;b=+b;c=+c;var d=0.0,e=0.0,f=0;if(b>=c)return +a;if(a3.1415927410125732)d=d+-6.2831854820251465}else d=d+6.2831854820251465;e=+B(+d);d=+bh(c-a,6.2831854820251465);if(!(d<-3.1415927410125732)){if(d>3.1415927410125732)d=d+-6.2831854820251465}else d=d+6.2831854820251465;f=e<+B(+d);a=f?a:a+6.2831854820251465;return +a}if(!(a>c))return +a;d=+bh(a-c,6.2831854820251465);if(!(d<-3.1415927410125732)){if(d>3.1415927410125732)d=d+-6.2831854820251465}else d=d+6.2831854820251465;e=+B(+d);d=+bh(a-b,6.2831854820251465);if(!(d<-3.1415927410125732)){if(d>3.1415927410125732)d=d+-6.2831854820251465}else d=d+6.2831854820251465;f=+B(+d)>2]|0)+68>>2]&127](e,b,d);c[a>>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];if(!(+gb[c[(c[b>>2]|0)+48>>2]&15](b)!=0.0)){l=e;return}i=+g[d>>2];h=+g[d+4>>2];f=+g[d+8>>2];k=i*i+h*h+f*f<1.4210854715202004e-14?-1.0:i;j=i*i+h*h+f*f<1.4210854715202004e-14?-1.0:h;f=i*i+h*h+f*f<1.4210854715202004e-14?-1.0:f;h=1.0/+C(+(f*f+(k*k+j*j)));i=+gb[c[(c[b>>2]|0)+48>>2]&15](b);g[a>>2]=+g[a>>2]+i*h*k;g[a+4>>2]=i*h*j+ +g[a+4>>2];g[a+8>>2]=i*h*f+ +g[a+8>>2];l=e;return}function Nj(a,b,d){a=a|0;b=+b;d=+d;var e=0.0,f=0.0,h=0.0;f=+g[a+692>>2];do if(f>0.0){h=+g[a+688>>2];e=+bh(b-h,6.2831854820251465);if(!(e<-3.1415927410125732)){if(e>3.1415927410125732)e=e+-6.2831854820251465}else e=e+6.2831854820251465;if(!(!(e<-f)&e<=f))if(e>0.0){b=+bh(f+h,6.2831854820251465);if(b<-3.1415927410125732){b=b+6.2831854820251465;break}if(!(b>3.1415927410125732))break;b=b+-6.2831854820251465;break}else{b=+bh(h-f,6.2831854820251465);if(b<-3.1415927410125732){b=b+6.2831854820251465;break}if(!(b>3.1415927410125732))break;b=b+-6.2831854820251465;break}}while(0);g[a+680>>2]=(b-+Ri(a,(c[a+28>>2]|0)+4|0,(c[a+32>>2]|0)+4|0))/d;return}function Oj(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.0,o=0.0,p=0.0;k=c[b+96>>2]|0;if((k|0)<=0){c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;return}l=+g[b+12>>2];o=+g[d>>2]*l;m=+g[b+16>>2];p=+g[d+4>>2]*m;n=+g[b+20>>2];j=+g[d+8>>2]*n;d=c[b+104>>2]|0;f=0;h=-3402823466385288598117041.0e14;i=-1;while(1){e=o*+g[d+(f<<4)>>2]+p*+g[d+(f<<4)+4>>2]+j*+g[d+(f<<4)+8>>2];b=e>h;i=b?f:i;f=f+1|0;if((f|0)==(k|0))break;else h=b?e:h}o=+g[d+(i<<4)+4>>2]*m;p=+g[d+(i<<4)+8>>2]*n;g[a>>2]=+g[d+(i<<4)>>2]*l;g[a+4>>2]=o;g[a+8>>2]=p;g[a+12>>2]=0.0;return}function Pj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;a:do switch(b|0){case 2:{if((c|0)<1){d=+g[a+232>>2];break a}if((c|0)<3){d=+g[a+264>>2];break a}if((c|0)==3){d=+g[a+248>>2];break a}if((c|0)<6)d=+g[a+280>>2];else d=3402823466385288598117041.0e14;break}case 3:{if((c|0)<1){d=+g[a+212>>2];break a}if((c|0)==3)d=+g[a+228>>2];else d=3402823466385288598117041.0e14;break}case 4:{if((c|0)<1){d=+g[a+244>>2];break a}if((c|0)<3){d=+g[a+276>>2];break a}if((c|0)==3){d=+g[a+260>>2];break a}if((c|0)<6)d=+g[a+292>>2];else d=3402823466385288598117041.0e14;break}default:d=3402823466385288598117041.0e14}while(0);return +d}function Qj(){var b=0;b=es()|0;c[b>>2]=4952;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;a[b+80>>0]=1;c[b+76>>2]=0;c[b+68>>2]=0;c[b+72>>2]=0;a[b+100>>0]=1;c[b+96>>2]=0;c[b+88>>2]=0;c[b+92>>2]=0;a[b+120>>0]=1;c[b+116>>2]=0;c[b+108>>2]=0;c[b+112>>2]=0;a[b+140>>0]=1;c[b+136>>2]=0;c[b+128>>2]=0;c[b+132>>2]=0;a[b+160>>0]=1;c[b+156>>2]=0;c[b+148>>2]=0;c[b+152>>2]=0;a[b+180>>0]=1;c[b+176>>2]=0;c[b+168>>2]=0;c[b+172>>2]=0;c[b+192>>2]=0;return b|0}function Rj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;c[6203]=(c[6203]|0)+1;e=(c[b+12>>2]|0)>(c[d+12>>2]|0);f=c[(e?d:b)+12>>2]|0;e=c[(e?b:d)+12>>2]|0;b=((e<<16|f)+~((e<<16|f)<<15)>>10^(e<<16|f)+~((e<<16|f)<<15))*9|0;b=((b>>6^b)+~((b>>6^b)<<11)>>16^(b>>6^b)+~((b>>6^b)<<11))&(c[a+12>>2]|0)+-1;if((b|0)>=(c[a+36>>2]|0)){g=0;return g|0}b=c[(c[a+44>>2]|0)+(b<<2)>>2]|0;if((b|0)==-1){g=0;return g|0}d=c[a+16>>2]|0;while(1){if((c[(c[d+(b<<4)>>2]|0)+12>>2]|0)==(f|0)?(c[(c[d+(b<<4)+4>>2]|0)+12>>2]|0)==(e|0):0)break;b=c[(c[a+64>>2]|0)+(b<<2)>>2]|0;if((b|0)==-1){b=0;g=8;break}}if((g|0)==8)return b|0;g=d+(b<<4)|0;return g|0}function Sj(b){b=b|0;var d=0;c[b>>2]=4016;if(a[b+456>>0]|0?(d=c[b+452>>2]|0,Ab[c[c[d>>2]>>2]&511](d),d=c[b+452>>2]|0,d|0):0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}d=c[b+420>>2]|0;if(d|0){if(a[b+424>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+420>>2]=0}a[b+424>>0]=1;c[b+420>>2]=0;c[b+412>>2]=0;c[b+416>>2]=0;d=c[b+336>>2]|0;if(!d){a[b+340>>0]=1;c[b+336>>2]=0;c[b+328>>2]=0;d=b+332|0;c[d>>2]=0;Cg(b);return}if(a[b+340>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+336>>2]=0;a[b+340>>0]=1;c[b+336>>2]=0;c[b+328>>2]=0;d=b+332|0;c[d>>2]=0;Cg(b);return}function Tj(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,m=0.0;d=l;l=l+64|0;c[d+48>>2]=0;c[d+48+4>>2]=0;c[d+48+8>>2]=0;c[d+48+12>>2]=0;i=+g[b>>2];f=+g[b+4>>2];m=+g[b+8>>2];j=+g[b+12>>2];h=i*(2.0/(i*i+f*f+m*m+j*j));e=f*(2.0/(i*i+f*f+m*m+j*j));k=m*(2.0/(i*i+f*f+m*m+j*j));g[d>>2]=1.0-(f*e+m*k);g[d+4>>2]=i*e-j*k;g[d+8>>2]=i*k+j*e;g[d+12>>2]=0.0;g[d+16>>2]=i*e+j*k;g[d+20>>2]=1.0-(i*h+m*k);g[d+24>>2]=f*k-j*h;g[d+28>>2]=0.0;g[d+32>>2]=i*k-j*e;g[d+36>>2]=f*k+j*h;g[d+40>>2]=1.0-(i*h+f*e);g[d+44>>2]=0.0;Bd(a,d);l=d;return}function Uj(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;k=+g[a+28>>2];f=+g[a+32>>2];i=+g[a+36>>2];j=+gb[c[(c[a>>2]|0)+48>>2]&15](a);e=+gb[c[(c[a>>2]|0)+48>>2]&15](a);i=+gb[c[(c[a>>2]|0)+48>>2]&15](a)+i;switch(c[a+52>>2]|0){case 0:{k=b*.25*(e+f)*(e+f)+b/12.0*(j+k)*(j+k)*4.0;h=k;f=b*.5*(e+f)*(e+f);e=k;break}case 2:{h=b*.5*(j+k)*(j+k);f=b*.25*(j+k)*(j+k)+b/12.0*i*i*4.0;e=b*.25*(j+k)*(j+k)+b/12.0*i*i*4.0;break}default:{f=b*.25*(j+k)*(j+k)+b/12.0*(e+f)*(e+f)*4.0;h=f;e=b*.5*(j+k)*(j+k)}}g[d>>2]=f;g[d+4>>2]=e;g[d+8>>2]=h;g[d+12>>2]=0.0;return}function Vj(a,b){a=a|0;b=+b;var d=0,e=0,f=0;e=l;l=l+16|0;bj(12092);if((c[a+280>>2]|0)>0){d=0;do{f=c[(c[a+288>>2]|0)+(d<<2)>>2]|0;Hb[c[(c[f>>2]|0)+8>>2]&7](f,a,b);d=d+1|0}while((d|0)<(c[a+280>>2]|0))}d=c[2405]|0;f=(c[d+16>>2]|0)+-1|0;c[d+16>>2]=f;if(f|0){l=e;return}do if(c[d+4>>2]|0){Za(e|0,0)|0;f=c[6471]|0;g[d+8>>2]=+g[d+8>>2]+ +(((c[e+4>>2]|0)-(c[f+4>>2]|0)+(((c[e>>2]|0)-(c[f>>2]|0)|0)*1e6|0)-(c[d+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[d+16>>2]|0)){d=c[2405]|0;break}else{l=e;return}}while(0);c[2405]=c[d+20>>2];l=e;return} function yd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0.0,j=0.0,k=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,J=0.0,K=0,L=0,M=0,N=0,O=0;h=l;l=l+240|0;if(!(c[b+16>>2]|0)){K=c[b+12>>2]|0;b=c[b+20>>2]|0;x=+g[d>>2];q=+g[d+4>>2];u=+g[d+8>>2];j=+g[d+16>>2];r=+g[d+20>>2];i=+g[d+24>>2];m=+g[d+32>>2];s=+g[d+36>>2];n=+g[d+40>>2];F=+g[d+48>>2];E=+g[d+52>>2];D=+g[d+56>>2];J=+g[e>>2];I=+g[e+16>>2];z=+g[e+32>>2];H=+g[e+4>>2];G=+g[e+20>>2];y=+g[e+36>>2];v=+g[e+8>>2];k=+g[e+24>>2];p=+g[e+40>>2];C=-+g[e+48>>2];B=-+g[e+52>>2];w=-+g[e+56>>2];d=c[(c[K>>2]|0)+64>>2]|0;A=-+g[b+48>>2];t=-+g[b+52>>2];o=-+g[b+56>>2];g[h+16>>2]=(x*J+j*I+m*z)*A+(x*H+j*G+m*y)*t+(x*v+j*k+m*p)*o;g[h+16+4>>2]=(q*J+r*I+s*z)*A+(q*H+r*G+s*y)*t+(q*v+r*k+s*p)*o;g[h+16+8>>2]=(u*J+i*I+n*z)*A+(u*H+i*G+n*y)*t+(u*v+i*k+n*p)*o;g[h+16+12>>2]=0.0;Kb[d&127](h+152|0,K,h+16|0);o=+g[h+152>>2];t=+g[h+152+4>>2];A=+g[h+152+8>>2];z=F*J+E*I+D*z+(J*C+I*B+z*w)+((x*J+j*I+m*z)*o+(q*J+r*I+s*z)*t+(u*J+i*I+n*z)*A);y=F*H+E*G+D*y+(H*C+G*B+y*w)+((x*H+j*G+m*y)*o+(q*H+r*G+s*y)*t+(u*H+i*G+n*y)*A);A=F*v+E*k+D*p+(v*C+k*B+p*w)+((x*v+j*k+m*p)*o+(q*v+r*k+s*p)*t+(u*v+i*k+n*p)*A);p=+g[b+48>>2];n=+g[b+52>>2];k=+g[b+56>>2];i=k*A+(p*z+n*y)-+g[b+64>>2];v=+g[e>>2];u=+g[e+4>>2];t=+g[e+8>>2];s=+g[e+16>>2];r=+g[e+20>>2];q=+g[e+24>>2];o=+g[e+32>>2];m=+g[e+36>>2];j=+g[e+40>>2];x=(z-p*i)*s+(y-n*i)*r+(A-k*i)*q+ +g[e+52>>2];w=(z-p*i)*o+(y-n*i)*m+(A-k*i)*j+ +g[e+56>>2];g[h+16>>2]=t*(A-k*i)+(v*(z-p*i)+u*(y-n*i))+ +g[e+48>>2];g[h+16+4>>2]=x;g[h+16+8>>2]=w;g[h+16+12>>2]=0.0;g[h>>2]=v*p+u*n+t*k;g[h+4>>2]=p*s+n*r+k*q;g[h+8>>2]=p*o+n*m+k*j;g[h+12>>2]=0.0;Lb[c[(c[f>>2]|0)+16>>2]&15](f,h,h+16|0,i);l=h;return}else{N=c[b+4>>2]|0;a[N+312>>0]=0;c[N>>2]=0;a[N+356>>0]=1;c[N+292>>2]=1566444395;c[N+296>>2]=1566444395;c[N+300>>2]=1566444395;g[N+304>>2]=0.0;c[N+336>>2]=0;c[N+336+4>>2]=0;c[N+336+8>>2]=0;c[N+336+12>>2]=0;a[N+336+16>>0]=0;a[N+332>>0]=a[N+332>>0]&-16;N=c[b+12>>2]|0;M=c[b+16>>2]|0;L=c[N+4>>2]|0;K=c[M+4>>2]|0;I=+gb[c[(c[N>>2]|0)+48>>2]&15](N);O=c[b+16>>2]|0;J=+gb[c[(c[O>>2]|0)+48>>2]&15](O);O=c[b+4>>2]|0;b=c[b+8>>2]|0;c[h+152>>2]=9400;c[h+152+4>>2]=0;c[h+152+8>>2]=1065353216;c[h+152+12>>2]=0;g[h+152+16>>2]=0.0;c[h+152+20>>2]=b;c[h+152+24>>2]=O;c[h+152+28>>2]=N;c[h+152+32>>2]=M;c[h+152+36>>2]=L;c[h+152+40>>2]=K;g[h+152+44>>2]=I;g[h+152+48>>2]=J;a[h+152+52>>0]=0;c[h+152+60>>2]=-1;c[h+152+72>>2]=1;c[h+152+76>>2]=1;g[h+16+128>>2]=999999984306749440.0;c[h+16>>2]=c[d>>2];c[h+16+4>>2]=c[d+4>>2];c[h+16+8>>2]=c[d+8>>2];c[h+16+12>>2]=c[d+12>>2];c[h+16+16>>2]=c[d+16>>2];c[h+16+16+4>>2]=c[d+16+4>>2];c[h+16+16+8>>2]=c[d+16+8>>2];c[h+16+16+12>>2]=c[d+16+12>>2];c[h+16+32>>2]=c[d+32>>2];c[h+16+32+4>>2]=c[d+32+4>>2];c[h+16+32+8>>2]=c[d+32+8>>2];c[h+16+32+12>>2]=c[d+32+12>>2];c[h+16+48>>2]=c[d+48>>2];c[h+16+48+4>>2]=c[d+48+4>>2];c[h+16+48+8>>2]=c[d+48+8>>2];c[h+16+48+12>>2]=c[d+48+12>>2];c[h+16+64>>2]=c[e>>2];c[h+16+64+4>>2]=c[e+4>>2];c[h+16+64+8>>2]=c[e+8>>2];c[h+16+64+12>>2]=c[e+12>>2];c[h+16+80>>2]=c[e+16>>2];c[h+16+80+4>>2]=c[e+16+4>>2];c[h+16+80+8>>2]=c[e+16+8>>2];c[h+16+80+12>>2]=c[e+16+12>>2];c[h+16+96>>2]=c[e+32>>2];c[h+16+96+4>>2]=c[e+32+4>>2];c[h+16+96+8>>2]=c[e+32+8>>2];c[h+16+96+12>>2]=c[e+32+12>>2];c[h+16+112>>2]=c[e+48>>2];c[h+16+112+4>>2]=c[e+48+4>>2];c[h+16+112+8>>2]=c[e+48+8>>2];c[h+16+112+12>>2]=c[e+48+12>>2];Bc(h+152|0,h+16|0,f,0,0);l=h;return}}function zd(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;var i=0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0.0;i=l;l=l+464|0;bj(15915);c[i+128>>2]=c[d>>2];c[i+128+4>>2]=c[d+4>>2];c[i+128+8>>2]=c[d+8>>2];c[i+128+12>>2]=c[d+12>>2];c[i+128+16>>2]=c[d+16>>2];c[i+128+16+4>>2]=c[d+16+4>>2];c[i+128+16+8>>2]=c[d+16+8>>2];c[i+128+16+12>>2]=c[d+16+12>>2];c[i+128+32>>2]=c[d+32>>2];c[i+128+32+4>>2]=c[d+32+4>>2];c[i+128+32+8>>2]=c[d+32+8>>2];c[i+128+32+12>>2]=c[d+32+12>>2];k=i+128+48|0;c[k>>2]=c[d+48>>2];c[k+4>>2]=c[d+48+4>>2];c[k+8>>2]=c[d+48+8>>2];c[k+12>>2]=c[d+48+12>>2];c[i+64>>2]=c[e>>2];c[i+64+4>>2]=c[e+4>>2];c[i+64+8>>2]=c[e+8>>2];c[i+64+12>>2]=c[e+12>>2];c[i+64+16>>2]=c[e+16>>2];c[i+64+16+4>>2]=c[e+16+4>>2];c[i+64+16+8>>2]=c[e+16+8>>2];c[i+64+16+12>>2]=c[e+16+12>>2];c[i+64+32>>2]=c[e+32>>2];c[i+64+32+4>>2]=c[e+32+4>>2];c[i+64+32+8>>2]=c[e+32+8>>2];c[i+64+32+12>>2]=c[e+32+12>>2];j=i+64+48|0;c[j>>2]=c[e+48>>2];c[j+4>>2]=c[e+48+4>>2];c[j+8>>2]=c[e+48+8>>2];c[j+12>>2]=c[e+48+12>>2];vf(i+128|0,i+64|0,i+256|0,i+192|0);t=+g[i+192>>2];m=t*+g[i+256+4>>2];r=t*+g[i+256+8>>2];g[i+16>>2]=+g[i+256>>2]*t;g[i+16+4>>2]=m;g[i+16+8>>2]=r;g[i+16+12>>2]=0.0;c[i+256>>2]=0;c[i+256+4>>2]=0;c[i+256+8>>2]=0;c[i+256+12>>2]=0;c[i+192+48>>2]=0;c[i+192+48+4>>2]=0;c[i+192+48+8>>2]=0;c[i+192+48+12>>2]=0;lh(i+128|0,i);r=+g[i>>2];m=+g[i+4>>2];t=+g[i+8>>2];q=+g[i+12>>2];o=r*(2.0/(r*r+m*m+t*t+q*q));n=m*(2.0/(r*r+m*m+t*t+q*q));p=t*(2.0/(r*r+m*m+t*t+q*q));g[i+192>>2]=1.0-(m*n+t*p);g[i+192+4>>2]=r*n-q*p;g[i+192+8>>2]=r*p+q*n;g[i+192+12>>2]=0.0;g[i+192+16>>2]=r*n+q*p;g[i+192+20>>2]=1.0-(r*o+t*p);g[i+192+24>>2]=m*p-q*o;g[i+192+28>>2]=0.0;g[i+192+32>>2]=r*p-q*n;g[i+192+36>>2]=m*p+q*o;g[i+192+40>>2]=1.0-(r*o+m*n);g[i+192+44>>2]=0.0;_g(b,i+192|0,i+256|0,i+16|0,i+48|0,i+32|0);c[i+256>>2]=6128;c[i+256+36>>2]=c[d>>2];c[i+256+36+4>>2]=c[d+4>>2];c[i+256+36+8>>2]=c[d+8>>2];c[i+256+36+12>>2]=c[d+12>>2];c[i+256+52>>2]=c[d+16>>2];c[i+256+52+4>>2]=c[d+16+4>>2];c[i+256+52+8>>2]=c[d+16+8>>2];c[i+256+52+12>>2]=c[d+16+12>>2];c[i+256+68>>2]=c[d+32>>2];c[i+256+68+4>>2]=c[d+32+4>>2];c[i+256+68+8>>2]=c[d+32+8>>2];c[i+256+68+12>>2]=c[d+32+12>>2];s=i+256+84|0;c[s>>2]=c[d+48>>2];c[s+4>>2]=c[d+48+4>>2];c[s+8>>2]=c[d+48+8>>2];c[s+12>>2]=c[d+48+12>>2];c[i+256+100>>2]=c[e>>2];c[i+256+100+4>>2]=c[e+4>>2];c[i+256+100+8>>2]=c[e+8>>2];c[i+256+100+12>>2]=c[e+12>>2];c[i+256+116>>2]=c[e+16>>2];c[i+256+116+4>>2]=c[e+16+4>>2];c[i+256+116+8>>2]=c[e+16+8>>2];c[i+256+116+12>>2]=c[e+16+12>>2];c[i+256+132>>2]=c[e+32>>2];c[i+256+132+4>>2]=c[e+32+4>>2];c[i+256+132+8>>2]=c[e+32+8>>2];c[i+256+132+12>>2]=c[e+32+12>>2];d=i+256+148|0;c[d>>2]=c[e+48>>2];c[d+4>>2]=c[e+48+4>>2];c[d+8>>2]=c[e+48+8>>2];c[d+12>>2]=c[e+48+12>>2];c[i+256+180>>2]=a;c[i+256+184>>2]=f;g[i+256+188>>2]=h;c[i+256+192>>2]=b;n=+g[d>>2]-+g[s>>2];m=+g[i+256+152>>2]-+g[i+256+88>>2];o=+g[i+256+156>>2]-+g[i+256+92>>2];h=1.0/+C(+(n*n+m*m+o*o));r=n*h==0.0?999999984306749440.0:1.0/(n*h);g[i+256+4>>2]=r;q=m*h==0.0?999999984306749440.0:1.0/(m*h);g[i+256+8>>2]=q;p=o*h==0.0?999999984306749440.0:1.0/(o*h);g[i+256+12>>2]=p;c[i+256+20>>2]=r<0.0&1;c[i+256+24>>2]=q<0.0&1;c[i+256+28>>2]=p<0.0&1;g[i+256+32>>2]=o*o*h+(n*n*h+m*m*h);b=c[a+68>>2]|0;Tb[c[(c[b>>2]|0)+24>>2]&7](b,k,j,i+256|0,i+48|0,i+32|0);b=c[2405]|0;a=(c[b+16>>2]|0)+-1|0;c[b+16>>2]=a;if(a|0){l=i;return}do if(c[b+4>>2]|0){Za(i+256|0,0)|0;s=c[6471]|0;g[b+8>>2]=+g[b+8>>2]+ +(((c[i+256+4>>2]|0)-(c[s+4>>2]|0)+(((c[i+256>>2]|0)-(c[s>>2]|0)|0)*1e6|0)-(c[b+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[b+16>>2]|0)){b=c[2405]|0;break}else{l=i;return}}while(0);c[2405]=c[b+20>>2];l=i;return}function Ad(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=l;l=l+32|0;g=qb[c[(c[d>>2]|0)+28>>2]&127](d)|0;c[e+20>>2]=g;c[e>>2]=0;if(!g){s=d+4|0;f=e+4|0;s=c[s>>2]|0;c[f>>2]=s;f=d+8|0;f=c[f>>2]|0;s=e+8|0;c[s>>2]=f;s=d+12|0;s=c[s>>2]|0;f=e+12|0;c[f>>2]=s;f=d+16|0;f=c[f>>2]|0;d=e+16|0;c[d>>2]=f;l=t;return 19540}s=ub[c[(c[f>>2]|0)+16>>2]&63](f,32,g)|0;g=c[s+8>>2]|0;c[e>>2]=sb[c[(c[f>>2]|0)+28>>2]&31](f,g)|0;r=qb[c[(c[d>>2]|0)+28>>2]&127](d)|0;a:do if((r|0)>0){q=0;while(1){Wb[c[(c[d>>2]|0)+16>>2]&3](d,t+28|0,t+4|0,t+16|0,t+8|0,t+24|0,t+20|0,t,t+12|0,q);i=c[t>>2]|0;c[g+24>>2]=i;c[g+28>>2]=c[t+4>>2];j=g+12|0;m=g+16|0;p=g+4|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;switch(c[t+12>>2]|0){case 2:{if(i|0){k=ub[c[(c[f>>2]|0)+16>>2]&63](f,4,i*3|0)|0;i=c[k+8>>2]|0;c[g+8>>2]=sb[c[(c[f>>2]|0)+28>>2]&31](f,i)|0;if((c[t>>2]|0)>0){j=c[t+24>>2]|0;m=0;do{n=j+(O(c[t+20>>2]|0,m)|0)|0;o=m*3|0;c[i+(o<<2)>>2]=c[n>>2];c[i+(o+1<<2)>>2]=c[n+4>>2];c[i+(o+2<<2)>>2]=c[n+8>>2];m=m+1|0}while((m|0)<(c[t>>2]|0))}Rb[c[(c[f>>2]|0)+20>>2]&31](f,k,19421,1497453121,c[k+8>>2]|0)}break}case 3:{if(i|0){o=ub[c[(c[f>>2]|0)+16>>2]&63](f,8,i)|0;n=c[o+8>>2]|0;c[j>>2]=sb[c[(c[f>>2]|0)+28>>2]&31](f,n)|0;i=c[t>>2]|0;if((i|0)>0){j=c[t+24>>2]|0;k=c[t+20>>2]|0;m=0;do{u=j+(O(k,m)|0)|0;b[n+(m<<3)>>1]=b[u>>1]|0;b[n+(m<<3)+2>>1]=b[u+2>>1]|0;b[n+(m<<3)+4>>1]=b[u+4>>1]|0;m=m+1|0}while((m|0)!=(i|0))}Rb[c[(c[f>>2]|0)+20>>2]&31](f,o,19436,1497453121,c[o+8>>2]|0)}break}case 5:{if(i|0){k=ub[c[(c[f>>2]|0)+16>>2]&63](f,4,i)|0;j=c[k+8>>2]|0;c[m>>2]=sb[c[(c[f>>2]|0)+28>>2]&31](f,j)|0;if((c[t>>2]|0)>0){i=0;do{u=(c[t+24>>2]|0)+(O(c[t+20>>2]|0,i)|0)|0;a[j+(i<<2)>>0]=a[u>>0]|0;a[j+(i<<2)+1>>0]=a[u+1>>0]|0;a[j+(i<<2)+2>>0]=a[u+2>>0]|0;i=i+1|0}while((i|0)<(c[t>>2]|0))}Rb[c[(c[f>>2]|0)+20>>2]&31](f,k,19463,1497453121,c[k+8>>2]|0)}break}default:{}}switch(c[t+16>>2]|0){case 0:{i=c[t+4>>2]|0;if(i|0){n=ub[c[(c[f>>2]|0)+16>>2]&63](f,16,i)|0;i=c[n+8>>2]|0;c[g>>2]=sb[c[(c[f>>2]|0)+28>>2]&31](f,i)|0;j=c[t+4>>2]|0;if((j|0)>0){k=c[t+28>>2]|0;m=c[t+8>>2]|0;o=0;do{u=k+(O(m,o)|0)|0;c[i+(o<<4)>>2]=c[u>>2];c[i+(o<<4)+4>>2]=c[u+4>>2];c[i+(o<<4)+8>>2]=c[u+8>>2];o=o+1|0}while((o|0)!=(j|0))}Rb[c[(c[f>>2]|0)+20>>2]&31](f,n,19486,1497453121,c[n+8>>2]|0)}break}case 1:{i=c[t+4>>2]|0;if(i|0){o=ub[c[(c[f>>2]|0)+16>>2]&63](f,32,i)|0;n=c[o+8>>2]|0;c[p>>2]=sb[c[(c[f>>2]|0)+28>>2]&31](f,n)|0;i=c[t+4>>2]|0;if((i|0)>0){j=c[t+28>>2]|0;k=c[t+8>>2]|0;m=0;do{u=j+(O(k,m)|0)|0;h[n+(m<<5)>>3]=+h[u>>3];h[n+(m<<5)+8>>3]=+h[u+8>>3];h[n+(m<<5)+16>>3]=+h[u+16>>3];m=m+1|0}while((m|0)!=(i|0))}Rb[c[(c[f>>2]|0)+20>>2]&31](f,o,19505,1497453121,c[o+8>>2]|0)}break}default:{}}Gb[c[(c[d>>2]|0)+24>>2]&127](d,q);q=q+1|0;if((q|0)==(r|0)){g=f;break a}else g=g+32|0}}else g=f;while(0);Rb[c[(c[g>>2]|0)+20>>2]&31](f,s,19525,1497453121,c[s+8>>2]|0);f=d+4|0;u=e+4|0;f=c[f>>2]|0;c[u>>2]=f;u=d+8|0;u=c[u>>2]|0;f=e+8|0;c[f>>2]=u;f=d+12|0;f=c[f>>2]|0;u=e+12|0;c[u>>2]=f;d=d+16|0;d=c[d>>2]|0;u=e+16|0;c[u>>2]=d;l=t;return 19540}function Bd(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,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0;i=c[a+192>>2]|0;n=+gb[c[(c[i>>2]|0)+48>>2]&15](i);i=c[a+712>>2]|0;if((i|0)>0){o=0;do{j=c[a+720>>2]|0;f=j+(o*104|0)+8|0;q=+g[f>>2];h=j+(o*104|0)+12|0;p=+g[h>>2];d=j+(o*104|0)+16|0;l=+g[d>>2];k=q*+g[b>>2]+p*+g[b+4>>2]+l*+g[b+8>>2]+ +g[b+48>>2];m=q*+g[b+16>>2]+p*+g[b+20>>2]+l*+g[b+24>>2]+ +g[b+52>>2];l=q*+g[b+32>>2]+p*+g[b+36>>2]+l*+g[b+40>>2]+ +g[b+56>>2];g[f>>2]=k;g[h>>2]=m;g[d>>2]=l;g[j+(o*104|0)+20>>2]=0.0;d=j+(o*104|0)+24|0;p=+g[d>>2];h=j+(o*104|0)+28|0;q=+g[h>>2];f=j+(o*104|0)+32|0;r=+g[f>>2];s=p*+g[b+16>>2]+q*+g[b+20>>2]+r*+g[b+24>>2]+ +g[b+52>>2];t=p*+g[b+32>>2]+q*+g[b+36>>2]+r*+g[b+40>>2]+ +g[b+56>>2];g[d>>2]=p*+g[b>>2]+q*+g[b+4>>2]+r*+g[b+8>>2]+ +g[b+48>>2];g[h>>2]=s;g[f>>2]=t;g[j+(o*104|0)+36>>2]=0.0;f=j+(o*104|0)+72|0;t=+g[f>>2];h=j+(o*104|0)+76|0;s=+g[h>>2];d=j+(o*104|0)+80|0;r=+g[d>>2];q=t*+g[b+16>>2]+s*+g[b+20>>2]+r*+g[b+24>>2];p=t*+g[b+32>>2]+s*+g[b+36>>2]+r*+g[b+40>>2];g[f>>2]=+g[b>>2]*t+ +g[b+4>>2]*s+ +g[b+8>>2]*r;g[h>>2]=q;g[d>>2]=p;g[j+(o*104|0)+84>>2]=0.0;j=c[j+(o*104|0)+96>>2]|0;d=Sg(a+928|0,j)|0;a:do if(d){f=c[a+936>>2]|0;if((f|0)<=-1){d=c[a+928>>2]|0;break}if(f){h=0;e=d;while(1){d=c[e+32>>2]|0;h=h+1|0;if(!d){d=e;break a}if((h|0)>=(f|0))break;else e=d}}}else d=0;while(0);g[j>>2]=k-n;g[j+4>>2]=m-n;g[j+8>>2]=l-n;g[j+12>>2]=0.0;g[j+16>>2]=n+k;g[j+20>>2]=n+m;g[j+24>>2]=n+l;g[j+28>>2]=0.0;af(a+928|0,d,j);o=o+1|0}while((o|0)!=(i|0))}lg(a);d=c[a+928>>2]|0;if(d){o=c[a+192>>2]|0;r=+gb[c[(c[o>>2]|0)+48>>2]&15](o);t=+g[d+4>>2]-r;s=+g[d+8>>2]-r;g[a+892>>2]=+g[d>>2]-r;g[a+896>>2]=t;g[a+900>>2]=s;g[a+904>>2]=0.0;s=r+ +g[d+20>>2];t=r+ +g[d+24>>2];g[a+908>>2]=r+ +g[d+16>>2];g[a+912>>2]=s;g[a+916>>2]=t;g[a+920>>2]=0.0;d=c[a+188>>2]|0;if(d|0){o=c[a+684>>2]|0;j=c[o+32>>2]|0;Rb[c[(c[j>>2]|0)+16>>2]&31](j,d,a+892|0,a+908|0,c[o+36>>2]|0)}}else{c[a+892>>2]=0;c[a+892+4>>2]=0;c[a+892+8>>2]=0;c[a+892+12>>2]=0;c[a+892+16>>2]=0;c[a+892+20>>2]=0;c[a+892+24>>2]=0;c[a+892+28>>2]=0}e=c[a+732>>2]|0;if((e|0)<=0){Lf(a);o=a+1148|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];o=a+1164|0;j=b+16|0;c[o>>2]=c[j>>2];c[o+4>>2]=c[j+4>>2];c[o+8>>2]=c[j+8>>2];c[o+12>>2]=c[j+12>>2];o=a+1180|0;j=b+32|0;c[o>>2]=c[j>>2];c[o+4>>2]=c[j+4>>2];c[o+8>>2]=c[j+8>>2];c[o+12>>2]=c[j+12>>2];a=a+1196|0;b=b+48|0;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];return}f=c[a+740>>2]|0;d=0;do{j=c[f+(d*52|0)+8>>2]|0;o=c[f+(d*52|0)+12>>2]|0;r=+g[j+8>>2]-+g[o+8>>2];s=+g[j+12>>2]-+g[o+12>>2];t=+g[j+16>>2]-+g[o+16>>2];t=+C(+(r*r+s*s+t*t));g[f+(d*52|0)+16>>2]=t;g[f+(d*52|0)+28>>2]=t*t;d=d+1|0}while((d|0)!=(e|0));d=0;do{g[f+(d*52|0)+24>>2]=(+g[(c[f+(d*52|0)+8>>2]|0)+88>>2]+ +g[(c[f+(d*52|0)+12>>2]|0)+88>>2])/+g[(c[f+(d*52|0)+4>>2]|0)+4>>2];d=d+1|0}while((d|0)!=(e|0));Lf(a);o=a+1148|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];o=a+1164|0;j=b+16|0;c[o>>2]=c[j>>2];c[o+4>>2]=c[j+4>>2];c[o+8>>2]=c[j+8>>2];c[o+12>>2]=c[j+12>>2];o=a+1180|0;j=b+32|0;c[o>>2]=c[j>>2];c[o+4>>2]=c[j+4>>2];c[o+8>>2]=c[j+8>>2];c[o+12>>2]=c[j+12>>2];a=a+1196|0;b=b+48|0;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];return}function Cd(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,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;x=l;l=l+64|0;if((h|0)>0){j=0;b=0;do{w=c[f+(j<<2)>>2]|0;b=(w|0)>(b|0)?w:b;j=j+1|0}while((j|0)<(h*3|0))}else b=0;t=b+1|0;k=O(t,t)|0;if(!k)j=0;else{c[6472]=(c[6472]|0)+1;j=ic(k+19|0)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}Nk(j|0,0,k|0)|0}if((b|0)>-1){c[6472]=(c[6472]|0)+1;b=ic((t<<4|3)+16|0)|0;if(!b)m=0;else{c[(b+4+15&-16)+-4>>2]=b;m=b+4+15&-16}b=0;do{w=m+(b<<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];b=b+1|0}while((b|0)!=(t|0));b=0;k=0;while(1){v=c[e+(b+1<<2)>>2]|0;w=c[e+(b+2<<2)>>2]|0;c[m+(k<<4)>>2]=c[e+(b<<2)>>2];c[m+(k<<4)+4>>2]=v;c[m+(k<<4)+8>>2]=w;g[m+(k<<4)+12>>2]=0.0;b=b+3|0;if((b|0)>=(t*3|0)){w=m;v=m;break}else k=k+1|0}}else{w=0;v=0}c[6472]=(c[6472]|0)+1;b=ic(1271)|0;if(!b)u=0;else{c[(b+4+15&-16)+-4>>2]=b;u=b+4+15&-16}qc(u,d,t,v,0);if((h|0)>0){q=u+720|0;s=u+732|0;r=u+740|0;e=u+924|0;p=0;do{d=c[f+(p<<2)>>2]|0;n=c[f+(p+1<<2)>>2]|0;o=c[f+(p+2<<2)>>2]|0;m=O(d,t)|0;b=j+(m+o)|0;if(!(a[b>>0]|0)){a[b>>0]=1;a[j+(d+(O(o,t)|0))>>0]=1;B=c[q>>2]|0;Rh(u,0);k=(c[s>>2]|0)+-1|0;b=c[r>>2]|0;c[b+(k*52|0)+8>>2]=B+(o*104|0);c[b+(k*52|0)+12>>2]=B+(d*104|0);A=+g[B+(o*104|0)+8>>2]-+g[B+(d*104|0)+8>>2];z=+g[B+(o*104|0)+12>>2]-+g[B+(d*104|0)+12>>2];y=+g[B+(o*104|0)+16>>2]-+g[B+(d*104|0)+16>>2];g[b+(k*52|0)+16>>2]=+C(+(A*A+z*z+y*y));a[e>>0]=1}k=O(n,t)|0;b=j+(k+d)|0;if(!(a[b>>0]|0)){a[b>>0]=1;a[j+(n+m)>>0]=1;b=c[q>>2]|0;Rh(u,0);B=(c[s>>2]|0)+-1|0;m=c[r>>2]|0;c[m+(B*52|0)+8>>2]=b+(d*104|0);c[m+(B*52|0)+12>>2]=b+(n*104|0);y=+g[b+(d*104|0)+8>>2]-+g[b+(n*104|0)+8>>2];z=+g[b+(d*104|0)+12>>2]-+g[b+(n*104|0)+12>>2];A=+g[b+(d*104|0)+16>>2]-+g[b+(n*104|0)+16>>2];g[m+(B*52|0)+16>>2]=+C(+(y*y+z*z+A*A));a[e>>0]=1}b=j+((O(o,t)|0)+n)|0;if(!(a[b>>0]|0)){a[b>>0]=1;a[j+(o+k)>>0]=1;k=c[q>>2]|0;Rh(u,0);B=(c[s>>2]|0)+-1|0;m=c[r>>2]|0;c[m+(B*52|0)+8>>2]=k+(n*104|0);c[m+(B*52|0)+12>>2]=k+(o*104|0);y=+g[k+(n*104|0)+8>>2]-+g[k+(o*104|0)+8>>2];z=+g[k+(n*104|0)+12>>2]-+g[k+(o*104|0)+12>>2];A=+g[k+(n*104|0)+16>>2]-+g[k+(o*104|0)+16>>2];g[m+(B*52|0)+16>>2]=+C(+(y*y+z*z+A*A));a[e>>0]=1}Qf(u,d,n,o,0);p=p+3|0}while((p|0)<(h*3|0))}if(i){k=c[u+732>>2]|0;if((k|0)>0){n=u+740|0;d=0;b=243703;do{m=c[n>>2]|0;e=m+(d*52|0)|0;b=(O(b,1664525)|0)+1013904223|0;o=x;p=e;q=o+52|0;do{c[o>>2]=c[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));o=e;p=m+(((b>>>0)%(k>>>0)|0)*52|0)|0;q=o+52|0;do{c[o>>2]=c[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));o=m+(((b>>>0)%(k>>>0)|0)*52|0)|0;p=x;q=o+52|0;do{c[o>>2]=c[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));d=d+1|0}while((d|0)!=(k|0))}else b=243703;e=c[u+752>>2]|0;if((e|0)>0){n=u+760|0;d=0;do{k=c[n>>2]|0;m=k+(d*44|0)|0;b=(O(b,1664525)|0)+1013904223|0;k=k+(((b>>>0)%(e>>>0)|0)*44|0)|0;o=x;p=m;q=o+44|0;do{c[o>>2]=c[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));o=m;p=k;q=o+44|0;do{c[o>>2]=c[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));o=k;p=x;q=o+44|0;do{c[o>>2]=c[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));d=d+1|0}while((d|0)!=(e|0))}}if(!((v|0)==0|(w|0)==0)){c[6473]=(c[6473]|0)+1;nd(c[w+-4>>2]|0)}if(!j){l=x;return u|0}c[6473]=(c[6473]|0)+1;nd(c[j+-4>>2]|0);l=x;return u|0}function Dd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0;if(a[b+165>>0]|0){f=c[b+88>>2]|0;a:do if((f|0)>0&e){h=c[b+96>>2]|0;j=+g[d>>2];k=+g[d+4>>2];l=+g[d+8>>2];m=+g[b+168>>2];e=0;while(1){s=+g[h+(e<<4)>>2]-j;r=+g[h+(e<<4)+4>>2]-k;q=+g[h+(e<<4)+8>>2]-l;if(s*s+r*r+q*q<=m)break;e=e+1|0;if((e|0)>=(f|0))break a}return e|0}while(0);p=(c[b+32>>2]|0)+12|0;c[p>>2]=(c[p>>2]|0)+1;if((f|0)==(c[b+92>>2]|0)?(i=f|0?f<<1:1,(f|0)<(i|0)):0){if(!i)h=0;else{c[6472]=(c[6472]|0)+1;e=ic((i<<4|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[b+88>>2]|0;h=e}if((f|0)>0){e=0;do{p=h+(e<<4)|0;o=(c[b+96>>2]|0)+(e<<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];e=e+1|0}while((e|0)!=(f|0))}e=c[b+96>>2]|0;if(e|0){if(a[b+100>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[e+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=h;c[b+92>>2]=i;e=c[b+88>>2]|0}else e=f;p=(c[b+96>>2]|0)+(e<<4)|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=c[b+88>>2]|0;c[b+88>>2]=d+1;c[(c[b+32>>2]|0)+16>>2]=c[b+96>>2];return d|0}h=c[b+108>>2]|0;b:do if((h|0)>0&e){e=c[b+116>>2]|0;j=+g[d>>2];k=+g[d+4>>2];l=+g[d+8>>2];m=+g[b+168>>2];i=0;while(1){q=+g[e+(i<<2)>>2]-j;r=+g[e+(i+1<<2)>>2]-k;s=+g[e+(i+2<<2)>>2]-l;f=i+3|0;if(q*q+r*r+s*s<=m)break;if((f|0)<(h|0))i=f;else break b}d=(i|0)/3|0;return d|0}while(0);e=c[b+112>>2]|0;if((h|0)==(e|0)){n=h|0?h<<1:1;if((h|0)<(n|0)){if(!n)i=0;else{c[6472]=(c[6472]|0)+1;e=ic((n<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}h=c[b+108>>2]|0;i=e}f=c[b+116>>2]|0;if((h|0)<=0)if(!f)e=b+120|0;else p=34;else{e=0;do{c[i+(e<<2)>>2]=c[f+(e<<2)>>2];e=e+1|0}while((e|0)!=(h|0));p=34}if((p|0)==34){if(a[b+120>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0)}c[b+116>>2]=0;e=b+120|0}a[e>>0]=1;c[b+116>>2]=i;c[b+112>>2]=n;f=c[b+108>>2]|0;e=n}else{f=h;e=h}}else f=h;i=c[b+116>>2]|0;c[i+(f<<2)>>2]=c[d>>2];f=f+1|0;c[b+108>>2]=f;if((f|0)==(e|0)){f=e|0?e<<1:1;if((e|0)<(f|0)){if(!f)n=0;else{c[6472]=(c[6472]|0)+1;e=ic((f<<2|3)+16|0)|0;if(!e)h=0;else{c[(e+4+15&-16)+-4>>2]=e;h=e+4+15&-16}e=c[b+108>>2]|0;i=c[b+116>>2]|0;n=h}if((e|0)<=0)if(!i)e=b+120|0;else p=48;else{h=0;do{c[n+(h<<2)>>2]=c[i+(h<<2)>>2];h=h+1|0}while((h|0)!=(e|0));p=48}if((p|0)==48){if(a[b+120>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0)}c[b+116>>2]=0;e=b+120|0}a[e>>0]=1;c[b+116>>2]=n;c[b+112>>2]=f;o=n;h=c[b+108>>2]|0;e=n}else{o=i;h=e;f=e;e=i}}else{o=i;h=f;f=e;e=i}c[o+(h<<2)>>2]=c[d+4>>2];h=h+1|0;c[b+108>>2]=h;if((h|0)==(f|0)){i=f|0?f<<1:1;if((f|0)<(i|0)){if(!i){h=o;n=0}else{c[6472]=(c[6472]|0)+1;e=ic((i<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[b+108>>2]|0;h=c[b+116>>2]|0;n=e}if((f|0)<=0)if(!h)e=b+120|0;else p=62;else{e=0;do{c[n+(e<<2)>>2]=c[h+(e<<2)>>2];e=e+1|0}while((e|0)!=(f|0));p=62}if((p|0)==62){if(a[b+120>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[h+-4>>2]|0)}c[b+116>>2]=0;e=b+120|0}a[e>>0]=1;c[b+116>>2]=n;c[b+112>>2]=i;i=n;f=c[b+108>>2]|0;e=n}else i=o}else{i=o;f=h}c[i+(f<<2)>>2]=c[d+8>>2];d=f+1|0;c[b+108>>2]=d;b=c[b+32>>2]|0;c[b+12>>2]=(c[b+12>>2]|0)+1;c[b+16>>2]=e;d=((d|0)/3|0)+-1|0;return d|0}function Ed(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,h=0.0,i=0.0,j=0,k=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.0,y=0.0,z=0.0,A=0.0,B=0.0,D=0.0,E=0.0,F=0.0;v=l;l=l+64|0;j=c[a+28>>2]|0;k=c[a+32>>2]|0;e=c[b+8>>2]|0;g[e>>2]=1.0;f=c[b+24>>2]|0;g[e+(f+1<<2)>>2]=1.0;g[e+((f<<1)+2<<2)>>2]=1.0;t=+g[a+48>>2];u=+g[a+52>>2];d=+g[a+56>>2];i=+g[j+4>>2]*t+ +g[j+8>>2]*u+ +g[j+12>>2]*d;h=t*+g[j+20>>2]+u*+g[j+24>>2]+d*+g[j+28>>2];d=t*+g[j+36>>2]+u*+g[j+40>>2]+d*+g[j+44>>2];e=c[b+12>>2]|0;c[e>>2]=0;g[e+4>>2]=d;g[e+8>>2]=-h;g[e+12>>2]=0.0;g[e+(f<<2)>>2]=-d;c[e+(f<<2)+4>>2]=0;g[e+(f<<2)+8>>2]=i;g[e+(f<<2)+12>>2]=0.0;g[e+(f<<1<<2)>>2]=h;g[e+(f<<1<<2)+4>>2]=-i;c[e+(f<<1<<2)+8>>2]=0;g[e+(f<<1<<2)+12>>2]=0.0;e=c[b+16>>2]|0;if(e|0){g[e>>2]=-1.0;g[e+(f+1<<2)>>2]=-1.0;g[e+((f<<1)+2<<2)>>2]=-1.0}q=+g[a+64>>2];u=+g[a+68>>2];t=+g[a+72>>2];r=+g[k+4>>2]*q+ +g[k+8>>2]*u+ +g[k+12>>2]*t;s=q*+g[k+20>>2]+u*+g[k+24>>2]+t*+g[k+28>>2];t=q*+g[k+36>>2]+u*+g[k+40>>2]+t*+g[k+44>>2];e=c[b+20>>2]|0;c[e>>2]=0;g[e+4>>2]=-t;g[e+8>>2]=s;g[e+12>>2]=0.0;g[e+(f<<2)>>2]=t;c[e+(f<<2)+4>>2]=0;g[e+(f<<2)+8>>2]=-r;g[e+(f<<2)+12>>2]=0.0;g[e+(f<<1<<2)>>2]=-s;g[e+(f<<1<<2)+4>>2]=r;c[e+(f<<1<<2)+8>>2]=0;g[e+(f<<1<<2)+12>>2]=0.0;u=+g[b>>2]*+g[b+4>>2];s=u*(s+ +g[k+56>>2]-h-+g[j+56>>2]);t=u*(t+ +g[k+60>>2]-d-+g[j+60>>2]);w=c[b+28>>2]|0;g[w>>2]=u*(r+ +g[k+52>>2]-i-+g[j+52>>2]);g[w+(f<<2)>>2]=s;g[w+(f<<1<<2)>>2]=t;w=c[b+12>>2]|0;g[w+(f*3<<2)>>2]=1.0;g[w+((f<<2|1)<<2)>>2]=1.0;g[w+((f*5|0)+2<<2)>>2]=1.0;if(e|0){g[e+(f*3<<2)>>2]=-1.0;g[e+((f<<2|1)<<2)>>2]=-1.0;g[e+((f*5|0)+2<<2)>>2]=-1.0}i=+g[k+24>>2];y=+g[k+44>>2];m=+g[k+28>>2];n=+g[k+40>>2];x=+g[k+36>>2];h=+g[k+20>>2];t=+g[k+4>>2];s=+g[k+8>>2];p=+g[k+12>>2];d=1.0/((i*y-m*n)*t+s*(m*x-y*h)+(n*h-i*x)*p);E=+g[j+4>>2];D=+g[j+8>>2];F=+g[j+12>>2];B=+g[j+20>>2];A=+g[j+24>>2];z=+g[j+28>>2];o=+g[j+36>>2];q=+g[j+40>>2];r=+g[j+44>>2];g[v+16>>2]=F*(n*h-i*x)*d+(E*(i*y-m*n)*d+D*(m*x-y*h)*d);g[v+16+4>>2]=F*(x*s-n*t)*d+(E*(n*p-y*s)*d+D*(y*t-x*p)*d);g[v+16+8>>2]=F*(i*t-h*s)*d+(E*(m*s-i*p)*d+D*(h*p-m*t)*d);g[v+16+12>>2]=0.0;g[v+16+16>>2]=(i*y-m*n)*d*B+(m*x-y*h)*d*A+(n*h-i*x)*d*z;g[v+16+20>>2]=(n*p-y*s)*d*B+(y*t-x*p)*d*A+(x*s-n*t)*d*z;g[v+16+24>>2]=(m*s-i*p)*d*B+(h*p-m*t)*d*A+(i*t-h*s)*d*z;g[v+16+28>>2]=0.0;g[v+16+32>>2]=(i*y-m*n)*d*o+(m*x-y*h)*d*q+(n*h-i*x)*d*r;g[v+16+36>>2]=(n*p-y*s)*d*o+(y*t-x*p)*d*q+(x*s-n*t)*d*r;g[v+16+40>>2]=(m*s-i*p)*d*o+(h*p-m*t)*d*q+(i*t-h*s)*d*r;g[v+16+44>>2]=0.0;lh(v+16|0,v);r=+g[a+80>>2];d=+g[v>>2];s=+g[a+84>>2];h=+g[v+4>>2];t=+g[a+88>>2];i=+g[v+8>>2];q=+g[a+92>>2];m=+g[v+12>>2];if(!((r-d)*(r-d)+(s-h)*(s-h)+(t-i)*(t-i)+(q-m)*(q-m)<(r+d)*(r+d)+(s+h)*(s+h)+(t+i)*(t+i)+(q+m)*(q+m))){d=-d;h=-h;i=-i;m=-m}n=h*-t+(m*-r+d*q)-i*-s;o=i*-r+(m*-s+h*q)-d*-t;p=d*-s+(m*-t+i*q)-h*-r;d=m*q-d*-r-h*-s-i*-t;d=d<-1.0?-1.0:d;d=+H(+(d>1.0?1.0:d))*2.0;if(n*n+o*o+p*p<1.4210854715202004e-14){D=1.0;E=0.0;B=0.0;F=-d;D=D*F;E=E*F;F=B*F;w=c[b+24>>2]|0;b=c[b+28>>2]|0;D=u*D;a=w*3|0;a=b+(a<<2)|0;g[a>>2]=D;E=u*E;a=w<<2;a=b+(a<<2)|0;g[a>>2]=E;F=u*F;w=w*5|0;w=b+(w<<2)|0;g[w>>2]=F;l=v;return}B=1.0/+C(+(n*n+o*o+p*p));D=n*B;E=B*o;B=B*p;F=-d;D=D*F;E=E*F;F=B*F;w=c[b+24>>2]|0;b=c[b+28>>2]|0;D=u*D;a=w*3|0;a=b+(a<<2)|0;g[a>>2]=D;E=u*E;a=w<<2;a=b+(a<<2)|0;g[a>>2]=E;F=u*F;w=w*5|0;w=b+(w<<2)|0;g[w>>2]=F;l=v;return}function Fd(b){b=b|0;var d=0,e=0.0,f=0.0,h=0.0,i=0,j=0,k=0;j=l;l=l+16|0;if(!(a[b+1308>>0]|0)){l=j;return}g[b+928>>2]=0.0;g[b+992>>2]=0.0;g[b+1056>>2]=0.0;c[b+712>>2]=0;c[b+712+4>>2]=0;c[b+712+8>>2]=0;c[b+712+12>>2]=0;bd(b,(c[b+28>>2]|0)+4|0,(c[b+32>>2]|0)+4|0);Ab[c[(c[b>>2]|0)+44>>2]&511](b);e=+g[b+1284>>2];f=+g[b+1288>>2];h=+g[b+1292>>2];if(+g[b+696>>2]>=+g[b+680>>2]){k=(a[b+1300>>0]|0)==0;i=c[(k?b+1160|0:b+1096|0)>>2]|0;d=c[(k?b+1144|0:b+1080|0)>>2]|0;c[j>>2]=c[(k?b+1128|0:b+1064|0)>>2];c[j+4>>2]=d;c[j+8>>2]=i;g[j+12>>2]=0.0;sh(c[b+28>>2]|0,c[b+32>>2]|0,b+176|0,j,e,f,h,e,f,h)}if(+g[b+700>>2]>=+g[b+684>>2]){d=(a[b+1300>>0]|0)==0;k=c[(d?b+1164|0:b+1100|0)>>2]|0;i=c[(d?b+1148|0:b+1084|0)>>2]|0;c[j>>2]=c[(d?b+1132|0:b+1068|0)>>2];c[j+4>>2]=i;c[j+8>>2]=k;g[j+12>>2]=0.0;sh(c[b+28>>2]|0,c[b+32>>2]|0,b+260|0,j,e,f,h,e,f,h)}if(+g[b+704>>2]>=+g[b+688>>2]){d=(a[b+1300>>0]|0)==0;k=c[(d?b+1168|0:b+1104|0)>>2]|0;i=c[(d?b+1152|0:b+1088|0)>>2]|0;c[j>>2]=c[(d?b+1136|0:b+1072|0)>>2];c[j+4>>2]=i;c[j+8>>2]=k;g[j+12>>2]=0.0;sh(c[b+28>>2]|0,c[b+32>>2]|0,b+344|0,j,e,f,h,e,f,h)}e=+g[b+868>>2];f=+g[b+872>>2];h=+Lj(+g[b+1192>>2],e,f);g[b+920>>2]=h;do if(!(e>f)){if(e>h){c[b+924>>2]=1;g[b+916>>2]=h-e;if(h-e>3.1415927410125732){g[b+916>>2]=h-e+-6.2831854820251465;i=5;break}if(!(h-e<-3.1415927410125732)){i=5;break}g[b+916>>2]=h-e+6.2831854820251465;i=5;break}if(f>2]=2;g[b+916>>2]=h-f;if(h-f>3.1415927410125732){g[b+916>>2]=h-f+-6.2831854820251465;i=5;break}if(h-f<-3.1415927410125732){g[b+916>>2]=h-f+6.2831854820251465;i=5}else i=5}else{d=b+924|0;i=51}}else{d=b+924|0;i=51}while(0);if((i|0)==51?(c[d>>2]=0,a[b+912>>0]|0):0)i=5;if((i|0)==5){c[j>>2]=c[b+1208>>2];c[j+4>>2]=c[b+1208+4>>2];c[j+8>>2]=c[b+1208+8>>2];c[j+12>>2]=c[b+1208+12>>2];yg(c[b+28>>2]|0,c[b+32>>2]|0,b+428|0,j)}e=+g[b+932>>2];f=+g[b+936>>2];h=+Lj(+g[b+1196>>2],e,f);g[b+984>>2]=h;do if(!(e>f)){if(e>h){c[b+988>>2]=1;g[b+980>>2]=h-e;if(h-e>3.1415927410125732){g[b+980>>2]=h-e+-6.2831854820251465;i=20;break}if(!(h-e<-3.1415927410125732)){i=20;break}g[b+980>>2]=h-e+6.2831854820251465;i=20;break}if(f>2]=2;g[b+980>>2]=h-f;if(h-f>3.1415927410125732){g[b+980>>2]=h-f+-6.2831854820251465;i=20;break}if(h-f<-3.1415927410125732){g[b+980>>2]=h-f+6.2831854820251465;i=20}else i=20}else{d=b+988|0;i=18}}else{d=b+988|0;i=18}while(0);if((i|0)==18?(c[d>>2]=0,a[b+976>>0]|0):0)i=20;if((i|0)==20){c[j>>2]=c[b+1224>>2];c[j+4>>2]=c[b+1224+4>>2];c[j+8>>2]=c[b+1224+8>>2];c[j+12>>2]=c[b+1224+12>>2];yg(c[b+28>>2]|0,c[b+32>>2]|0,b+512|0,j)}e=+g[b+996>>2];f=+g[b+1e3>>2];h=+Lj(+g[b+1200>>2],e,f);g[b+1048>>2]=h;do if(!(e>f)){if(e>h){c[b+1052>>2]=1;g[b+1044>>2]=h-e;if(h-e>3.1415927410125732){g[b+1044>>2]=h-e+-6.2831854820251465;i=34;break}if(!(h-e<-3.1415927410125732)){i=34;break}g[b+1044>>2]=h-e+6.2831854820251465;i=34;break}if(f>2]=2;g[b+1044>>2]=h-f;if(h-f>3.1415927410125732){g[b+1044>>2]=h-f+-6.2831854820251465;i=34;break}if(h-f<-3.1415927410125732){g[b+1044>>2]=h-f+6.2831854820251465;i=34}else i=34}else{d=b+1052|0;i=33}}else{d=b+1052|0;i=33}while(0);if((i|0)==33?(c[d>>2]=0,a[b+1040>>0]|0):0)i=34;if((i|0)==34){c[j>>2]=c[b+1240>>2];c[j+4>>2]=c[b+1240+4>>2];c[j+8>>2]=c[b+1240+8>>2];c[j+12>>2]=c[b+1240+12>>2];yg(c[b+28>>2]|0,c[b+32>>2]|0,b+596|0,j)}l=j;return}function Gd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,h=0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0;p=l;l=l+128|0;c[b+68>>2]=(c[b+68>>2]|0)+1;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];c[p+16>>2]=c[d+16>>2];c[p+16+4>>2]=c[d+16+4>>2];c[p+16+8>>2]=c[d+16+8>>2];c[p+16+12>>2]=c[d+16+12>>2];c[p+32>>2]=c[d+32>>2];c[p+32+4>>2]=c[d+32+4>>2];c[p+32+8>>2]=c[d+32+8>>2];c[p+32+12>>2]=c[d+32+12>>2];c[p+48>>2]=c[d+48>>2];c[p+48+4>>2]=c[d+48+4>>2];c[p+48+8>>2]=c[d+48+8>>2];c[p+48+12>>2]=c[d+48+12>>2];n=c[e+4>>2]|0;o=+gb[c[(c[e>>2]|0)+48>>2]&15](e);Nb[c[(c[e>>2]|0)+8>>2]&127](e,d,p+112|0,p+96|0);f=+g[p+112>>2];if(+g[b+32>>2]>f)g[b+32>>2]=f;f=+g[p+96>>2];if(+g[b+48>>2]>2]=f;f=+g[p+112+4>>2];if(+g[b+36>>2]>f)g[b+36>>2]=f;f=+g[p+96+4>>2];if(+g[b+52>>2]>2]=f;f=+g[p+112+8>>2];if(+g[b+40>>2]>f)g[b+40>>2]=f;f=+g[p+96+8>>2];if(+g[b+56>>2]>2]=f;k=c[b+64>>2]|0;if(!k){j=0;k=b+16|0}else{c[p+64>>2]=c[p+112>>2];c[p+64+4>>2]=c[p+112+4>>2];c[p+64+8>>2]=c[p+112+8>>2];c[p+64+12>>2]=c[p+112+12>>2];c[p+64+16>>2]=c[p+96>>2];c[p+64+16+4>>2]=c[p+96+4>>2];c[p+64+16+8>>2]=c[p+96+8>>2];c[p+64+16+12>>2]=c[p+96+12>>2];j=c[b+16>>2]|0;d=c[k+4>>2]|0;if(!d){c[6472]=(c[6472]|0)+1;d=ic(63)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}h=d;i=h+44|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0))}else c[k+4>>2]=0;c[d+32>>2]=0;c[d+36>>2]=j;c[d+40>>2]=0;c[d>>2]=c[p+64>>2];c[d+4>>2]=c[p+64+4>>2];c[d+8>>2]=c[p+64+8>>2];c[d+12>>2]=c[p+64+12>>2];c[d+16>>2]=c[p+64+16>>2];c[d+20>>2]=c[p+64+20>>2];c[d+24>>2]=c[p+64+24>>2];c[d+28>>2]=c[p+64+28>>2];af(k,c[k>>2]|0,d);c[k+12>>2]=(c[k+12>>2]|0)+1;j=d;k=b+16|0}d=c[k>>2]|0;if((d|0)==(c[b+20>>2]|0)?(m=d|0?d<<1:1,(d|0)<(m|0)):0){if(!m)h=0;else{c[6472]=(c[6472]|0)+1;d=ic((m*80|3)+16|0)|0;if(!d)h=0;else{c[(d+4+15&-16)+-4>>2]=d;h=d+4+15&-16}d=c[k>>2]|0}if((d|0)>0){i=0;do{q=h+(i*80|0)|0;r=c[b+24>>2]|0;s=r+(i*80|0)|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=h+(i*80|0)+16|0;s=r+(i*80|0)+16|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=h+(i*80|0)+32|0;s=r+(i*80|0)+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=h+(i*80|0)+48|0;s=r+(i*80|0)+48|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=h+(i*80|0)+64|0;r=r+(i*80|0)+64|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];i=i+1|0}while((i|0)!=(d|0))}d=c[b+24>>2]|0;if(d|0){if(a[b+28>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+24>>2]=0}a[b+28>>0]=1;c[b+24>>2]=h;c[b+20>>2]=m;d=c[k>>2]|0}s=c[b+24>>2]|0;r=s+(d*80|0)|0;c[r>>2]=c[p>>2];c[r+4>>2]=c[p+4>>2];c[r+8>>2]=c[p+8>>2];c[r+12>>2]=c[p+12>>2];r=s+(d*80|0)+16|0;c[r>>2]=c[p+16>>2];c[r+4>>2]=c[p+16+4>>2];c[r+8>>2]=c[p+16+8>>2];c[r+12>>2]=c[p+16+12>>2];r=s+(d*80|0)+32|0;c[r>>2]=c[p+32>>2];c[r+4>>2]=c[p+32+4>>2];c[r+8>>2]=c[p+32+8>>2];c[r+12>>2]=c[p+32+12>>2];r=s+(d*80|0)+48|0;c[r>>2]=c[p+48>>2];c[r+4>>2]=c[p+48+4>>2];c[r+8>>2]=c[p+48+8>>2];c[r+12>>2]=c[p+48+12>>2];s=s+(d*80|0)+64|0;c[s>>2]=e;c[s+4>>2]=n;g[s+8>>2]=o;c[s+12>>2]=j;c[k>>2]=(c[k>>2]|0)+1;l=p;return}function Hd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0;m=l;l=l+384|0;f=c[d+36>>2]|0;d=c[e+36>>2]|0;e=c[b+24>>2]|0;if(((e|0)==(c[b+28>>2]|0)?c[e+1132>>2]|0:0)?(j=(O(c[d+380>>2]|0,c[e+1112>>2]|0)|0)+(c[f+380>>2]|0)|0,a[(c[e+1140>>2]|0)+j>>0]|0):0){c[5839]=(c[5839]|0)+1;l=m;return}c[m+328+4>>2]=35;c[m+328+8>>2]=0;c[m+328+12>>2]=1065353216;c[m+328+16>>2]=1065353216;c[m+328+20>>2]=1065353216;g[m+328+24>>2]=0.0;c[m+328>>2]=3580;c[m+328+52>>2]=f;g[m+328+44>>2]=0.0;c[m+272+4>>2]=35;c[m+272+8>>2]=0;c[m+272+12>>2]=1065353216;c[m+272+16>>2]=1065353216;c[m+272+20>>2]=1065353216;g[m+272+24>>2]=0.0;c[m+272>>2]=3580;c[m+272+52>>2]=d;g[m+272+44>>2]=0.0;if((a[22664]|0)==0?Yy(22664)|0:0){if((a[22672]|0)==0?Yy(22672)|0:0){c[5768]=1065353216;c[5769]=0;c[5770]=0;c[5771]=0;c[5772]=0;c[5773]=1065353216;c[5774]=0;c[5775]=0;c[5776]=0;c[5777]=0;c[5778]=1065353216;g[5779]=0.0}c[5752]=c[5768];c[5753]=c[5769];c[5754]=c[5770];c[5755]=c[5771];c[5756]=c[5772];c[5757]=c[5773];c[5758]=c[5774];c[5759]=c[5775];c[5760]=c[5776];c[5761]=c[5777];c[5762]=c[5778];c[5763]=c[5779];c[5764]=0;c[5765]=0;c[5766]=0;c[5767]=0}if((a[22664]|0)==0?Yy(22664)|0:0){if((a[22672]|0)==0?Yy(22672)|0:0){c[5768]=1065353216;c[5769]=0;c[5770]=0;c[5771]=0;c[5772]=0;c[5773]=1065353216;c[5774]=0;c[5775]=0;c[5776]=0;c[5777]=0;c[5778]=1065353216;g[5779]=0.0}c[5752]=c[5768];c[5753]=c[5769];c[5754]=c[5770];c[5755]=c[5771];c[5756]=c[5772];c[5757]=c[5773];c[5758]=c[5774];c[5759]=c[5775];c[5760]=c[5776];c[5761]=c[5777];c[5762]=c[5778];c[5763]=c[5779];c[5764]=0;c[5765]=0;c[5766]=0;c[5767]=0}o=+g[f+232>>2]-+g[d+232>>2];n=+g[f+236>>2]-+g[d+236>>2];g[m>>2]=+g[f+228>>2]-+g[d+228>>2];g[m+4>>2]=o;g[m+8>>2]=n;g[m+12>>2]=0.0;if(!(!(ud(m+328|0,23008,m+272|0,23008,m,m+216|0)|0)?!(wc(m+328|0,23008,m+272|0,23008,m,m+216|0,0)|0):0))h=19;if((h|0)==19?(c[m+4>>2]=0,c[m+4+4>>2]=0,c[m+4+8>>2]=0,c[m+4+12>>2]=0,c[m+4+16>>2]=0,c[m+4+20>>2]=0,a[m+152>>0]=0,c[m>>2]=3400,Vc(b,m+216|0,f,0,0,d,0,0,m)|0):0){c[6472]=(c[6472]|0)+1;d=ic(235)|0;if(!d)j=0;else{c[(d+4+15&-16)+-4>>2]=d;j=d+4+15&-16}e=j+4|0;d=j+152|0;Nk(e|0,0,212)|0;c[j>>2]=3400;f=m+4|0;h=e+100|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(h|0));e=j+104|0;c[e>>2]=c[m+104>>2];c[e+4>>2]=c[m+104+4>>2];c[e+8>>2]=c[m+104+8>>2];c[e+12>>2]=c[m+104+12>>2];e=j+120|0;c[e>>2]=c[m+120>>2];c[e+4>>2]=c[m+120+4>>2];c[e+8>>2]=c[m+120+8>>2];c[e+12>>2]=c[m+120+12>>2];e=j+136|0;c[e>>2]=c[m+136>>2];c[e+4>>2]=c[m+136+4>>2];c[e+8>>2]=c[m+136+8>>2];c[e+12>>2]=c[m+136+12>>2];a[d>>0]=a[m+152>>0]|0;e=j+156|0;f=m+156|0;h=e+60|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(h|0));h=c[b+24>>2]|0;i=j;d=c[h+852>>2]|0;if((d|0)==(c[h+856>>2]|0)?(k=d|0?d<<1:1,(d|0)<(k|0)):0){if(!k)e=0;else{c[6472]=(c[6472]|0)+1;d=ic((k<<2|3)+16|0)|0;if(!d)e=0;else{c[(d+4+15&-16)+-4>>2]=d;e=d+4+15&-16}d=c[h+852>>2]|0}if((d|0)>0){f=0;do{c[e+(f<<2)>>2]=c[(c[h+860>>2]|0)+(f<<2)>>2];f=f+1|0}while((f|0)!=(d|0))}f=c[h+860>>2]|0;if(f){if(a[h+864>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0);d=c[h+852>>2]|0}c[h+860>>2]=0}a[h+864>>0]=1;c[h+860>>2]=e;c[h+856>>2]=k}c[(c[h+860>>2]|0)+(d<<2)>>2]=i;c[h+852>>2]=d+1;i=c[b+24>>2]|0;k=c[b+28>>2]|0;n=+g[i+348>>2];o=+g[k+348>>2];b=j+64|0;g[b>>2]=+g[b>>2]*(n>o?n:o);b=j+68|0;g[b>>2]=+g[b>>2]*(+g[i+360>>2]+ +g[k+360>>2])*.5}l=m;return}function Id(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;while(1){o=(b+d|0)/2|0;p=c[a+12>>2]|0;m=c[p+(o<<4)>>2]|0;n=c[p+(o<<4)+4>>2]|0;o=c[p+(o<<4)+8>>2]|0;e=b;f=d;while(1){a:do if(!m)while(1){j=c[p+(e<<4)>>2]|0;if(!j)g=-1;else g=c[j+12>>2]|0;k=c[p+(e<<4)+4>>2]|0;if(!k)h=-1;else h=c[k+12>>2]|0;if(!n)i=-1;else i=c[n+12>>2]|0;do if((g|0)<=-1){g=(h|0)>(i|0);if(g|(j|0)==0^1)if((j|0)==0&g)break;else break a;if((k|0)!=(n|0))break a;if((c[p+(e<<4)+8>>2]|0)>>>0<=o>>>0)break a}while(0);e=e+1|0}else{l=c[m+12>>2]|0;if(!n)while(1){i=c[p+(e<<4)>>2]|0;if(!i)g=-1;else g=c[i+12>>2]|0;j=c[p+(e<<4)+4>>2]|0;if(!j)h=-1;else h=c[j+12>>2]|0;do if((g|0)<=(l|0)){g=(h|0)>-1;if(g|(i|0)==(m|0)^1)if((i|0)==(m|0)&g)break;else break a;if(j|0)break a;if((c[p+(e<<4)+8>>2]|0)>>>0<=o>>>0)break a}while(0);e=e+1|0}k=c[n+12>>2]|0;while(1){i=c[p+(e<<4)>>2]|0;if(!i)g=-1;else g=c[i+12>>2]|0;j=c[p+(e<<4)+4>>2]|0;if(!j)h=-1;else h=c[j+12>>2]|0;do if((g|0)<=(l|0)){g=(h|0)>(k|0);if(g|(i|0)==(m|0)^1)if((i|0)==(m|0)&g)break;else break a;if((j|0)!=(n|0))break a;if((c[p+(e<<4)+8>>2]|0)>>>0<=o>>>0)break a}while(0);e=e+1|0}}while(0);b:do if(!m)while(1){j=c[p+(f<<4)>>2]|0;if(!j)g=-1;else g=c[j+12>>2]|0;if(!n)h=-1;else h=c[n+12>>2]|0;k=c[p+(f<<4)+4>>2]|0;if(!k)i=-1;else i=c[k+12>>2]|0;do if((g|0)>=-1){g=(h|0)>(i|0);if(g|(j|0)==0^1)if((j|0)==0&g)break;else break b;if((n|0)!=(k|0))break b;if(o>>>0<=(c[p+(f<<4)+8>>2]|0)>>>0)break b}while(0);f=f+-1|0}else{l=c[m+12>>2]|0;if(!n)while(1){i=c[p+(f<<4)>>2]|0;if(!i)g=-1;else g=c[i+12>>2]|0;j=c[p+(f<<4)+4>>2]|0;if(!j)h=-1;else h=c[j+12>>2]|0;do if((l|0)<=(g|0)){g=(h|0)<-1;if(g|(m|0)==(i|0)^1)if((m|0)==(i|0)&g)break;else break b;if(j|0)break b;if(o>>>0<=(c[p+(f<<4)+8>>2]|0)>>>0)break b}while(0);f=f+-1|0}k=c[n+12>>2]|0;while(1){i=c[p+(f<<4)>>2]|0;if(!i)g=-1;else g=c[i+12>>2]|0;j=c[p+(f<<4)+4>>2]|0;if(!j)h=-1;else h=c[j+12>>2]|0;do if((l|0)<=(g|0)){g=(k|0)>(h|0);if(g|(m|0)==(i|0)^1)if((m|0)==(i|0)&g)break;else break b;if((n|0)!=(j|0))break b;if(o>>>0<=(c[p+(f<<4)+8>>2]|0)>>>0)break b}while(0);f=f+-1|0}}while(0);if((e|0)<=(f|0)){h=p+(e<<4)|0;i=c[h>>2]|0;j=c[p+(e<<4)+4>>2]|0;k=c[p+(e<<4)+8>>2]|0;l=c[p+(e<<4)+12>>2]|0;p=p+(f<<4)|0;c[h>>2]=c[p>>2];c[h+4>>2]=c[p+4>>2];c[h+8>>2]=c[p+8>>2];c[h+12>>2]=c[p+12>>2];p=c[a+12>>2]|0;c[p+(f<<4)>>2]=i;c[p+(f<<4)+4>>2]=j;c[p+(f<<4)+8>>2]=k;c[p+(f<<4)+12>>2]=l;e=e+1|0;f=f+-1|0}if((e|0)>(f|0))break;p=c[a+12>>2]|0}if((f|0)>(b|0))Id(a,b,f);if((e|0)<(d|0))b=e;else break}return}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 k=0,m=0.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,D=0,E=0;D=l;l=l+272|0;z=+g[e+48>>2]-+g[d+48>>2];B=+g[e+52>>2]-+g[d+52>>2];A=+g[e+56>>2]-+g[d+56>>2];vf(d,e,D+256|0,D+208|0);v=+g[D+208>>2];t=+g[D+256>>2]*v;u=v*+g[D+256+4>>2];v=v*+g[D+256+8>>2];g[D+192>>2]=t;g[D+192+4>>2]=u;g[D+192+8>>2]=v;g[D+192+12>>2]=0.0;w=+g[h+48>>2]-+g[f+48>>2];y=+g[h+52>>2]-+g[f+52>>2];x=+g[h+56>>2]-+g[f+56>>2];vf(f,h,D+256|0,D+208|0);s=+g[D+208>>2];q=+g[D+256>>2]*s;r=s*+g[D+256+4>>2];s=s*+g[D+256+8>>2];g[D+176>>2]=q;g[D+176+4>>2]=r;g[D+176+8>>2]=s;g[D+176+12>>2]=0.0;e=c[b+12>>2]|0;p=+gb[c[(c[e>>2]|0)+16>>2]&15](e);e=c[b+16>>2]|0;if(!e)m=0.0;else m=+gb[c[(c[e>>2]|0)+16>>2]&15](e);s=p*+C(+(t*t+u*u+v*v))+m*+C(+(q*q+r*r+s*s));if(s+ +C(+((w-z)*(w-z)+(y-B)*(y-B)+(x-A)*(x-A)))==0.0){i=0;l=D;return i|0}c[D+208>>2]=9352;g[D+208+36>>2]=999999984306749440.0;a[D+208+40>>0]=0;yd(b,d,f,D+208|0);h=(a[D+208+40>>0]|0)==0;c[D+256>>2]=c[D+208+20>>2];c[D+256+4>>2]=c[D+208+20+4>>2];c[D+256+8>>2]=c[D+208+20+8>>2];c[D+256+12>>2]=c[D+208+20+12>>2];a:do if(!h?(o=c[D+208+4>>2]|0,k=c[D+208+8>>2]|0,n=c[D+208+12>>2]|0,v=(w-z)*(c[j>>2]=o,+g[j>>2]),v=v+(y-B)*(c[j>>2]=k,+g[j>>2]),!(s+(v+(x-A)*(c[j>>2]=n,+g[j>>2]))<=1.1920928955078125e-07)):0){m=+g[D+208+16>>2];p=+g[D+208+36>>2]+ +g[i+172>>2];b:do if(p>1.0000000474974513e-03){q=p;r=0.0;h=0;while(1){e=c[i+168>>2]|0;if(e|0){E=c[(c[e>>2]|0)+20>>2]|0;c[D+112>>2]=1065353216;c[D+112+4>>2]=1065353216;c[D+112+8>>2]=1065353216;g[D+112+12>>2]=0.0;Ib[E&7](e,D+256|0,.20000000298023224,D+112|0)}m=(w-z)*(c[j>>2]=o,+g[j>>2]);m=m+(y-B)*(c[j>>2]=k,+g[j>>2]);m=s+(m+(x-A)*(c[j>>2]=n,+g[j>>2]));if(m<=1.1920928955078125e-07){k=0;break a}p=r+q/m;if(!(!(p<=r)&(!(p<0.0)&!(p>1.0)))){k=0;break a}Ig(d,z,B,A,D+192|0,p,D+112|0);Ig(f,w,y,x,D+176|0,p,D+48|0);k=c[i+168>>2]|0;if(k|0){E=c[(c[k>>2]|0)+20>>2]|0;c[D>>2]=1065353216;c[D+4>>2]=0;c[D+8>>2]=0;g[D+12>>2]=0.0;Ib[E&7](k,D+112+48|0,.20000000298023224,D)}Bb[c[c[i>>2]>>2]&31](i,p);c[D>>2]=9352;g[D+36>>2]=999999984306749440.0;a[D+40>>0]=0;yd(b,D+112|0,D+48|0,D);if(!(a[D+40>>0]|0)){k=15;break}m=+g[D+36>>2];q=+g[i+172>>2];c[D+256>>2]=c[D+20>>2];c[D+256+4>>2]=c[D+20+4>>2];c[D+256+8>>2]=c[D+20+8>>2];c[D+256+12>>2]=c[D+20+12>>2];e=h+1|0;if((h|0)>63){k=16;break}n=c[D+12>>2]|0;k=c[D+8>>2]|0;o=c[D+4>>2]|0;q=m+q;if(!(q>1.0000000474974513e-03)){m=+g[D+16>>2];break b}else{r=p;h=e}}if((k|0)==15)Kb[c[(c[i>>2]|0)+8>>2]&127](i,-1,h);else if((k|0)==16)Kb[c[(c[i>>2]|0)+8>>2]&127](i,-2,e);k=0;break a}else p=0.0;while(0);g[i+164>>2]=p;c[i+132>>2]=o;c[i+136>>2]=k;c[i+140>>2]=n;g[i+144>>2]=m;c[i+148>>2]=c[D+256>>2];c[i+148+4>>2]=c[D+256+4>>2];c[i+148+8>>2]=c[D+256+8>>2];c[i+148+12>>2]=c[D+256+12>>2];k=1}else k=0;while(0);E=k;l=D;return E|0}function Kd(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,h=0,i=0,j=0,k=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,A=0,B=0,C=0,D=0,E=0,F=0,G=0;F=l;l=l+16|0;bj(11238);E=c[a+712>>2]|0;if((E|0)>=1){c[6472]=(c[6472]|0)+1;d=ic((E<<4|3)+16|0)|0;if(!d)h=0;else{c[(d+4+15&-16)+-4>>2]=d;h=d+4+15&-16}Nk(h|0,0,E<<4|0)|0;f=c[a+712>>2]|0;if((f|0)>0){c[6472]=(c[6472]|0)+1;d=ic((f<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}Nk(d|0,0,f<<2|0)|0;C=d;D=h;B=h;A=d}else{C=0;D=h;B=h;A=0}}else{C=0;D=0;B=0;A=0}z=c[a+1112>>2]|0;if(b){if((z|0)>0){h=c[a+1120>>2]|0;i=0;do{d=c[h+(i<<2)>>2]|0;f=c[d+312>>2]|0;if(f|0){g[d+276>>2]=1.0/+(f|0)*+g[d+276>>2];g[d+280>>2]=1.0/+(f|0)*+g[d+280>>2];g[d+284>>2]=1.0/+(f|0)*+g[d+284>>2];g[d+292>>2]=+g[d+292>>2]*(1.0/+(f|0));g[d+296>>2]=1.0/+(f|0)*+g[d+296>>2];g[d+300>>2]=1.0/+(f|0)*+g[d+300>>2]}i=i+1|0}while((i|0)!=(z|0));i=11}}else i=11;if((i|0)==11?(z|0)>0:0){k=c[a+1120>>2]|0;if(b){b=0;do{d=c[k+(b<<2)>>2]|0;if((c[d+312>>2]|0)>0?(w=+g[a+452>>2],q=+g[d+276>>2]*w,u=w*+g[d+280>>2],y=w*+g[d+284>>2],o=w*+g[d+292>>2],s=w*+g[d+296>>2],w=w*+g[d+300>>2],m=c[d+24>>2]|0,(m|0)>0):0){f=c[d+32>>2]|0;h=c[a+720>>2]|0;i=c[d+12>>2]|0;j=0;do{n=c[f+(j<<2)>>2]|0;x=+g[i+(j<<2)>>2];v=+g[n+8>>2]-+g[d+228>>2];t=+g[n+12>>2]-+g[d+232>>2];r=+g[n+16>>2]-+g[d+236>>2];G=B+(((n-h|0)/104|0)<<4)|0;g[G>>2]=+g[G>>2]+x*(q+(s*r-w*t));G=B+(((n-h|0)/104|0)<<4)+4|0;g[G>>2]=+g[G>>2]+x*(u+(w*v-o*r));G=B+(((n-h|0)/104|0)<<4)+8|0;g[G>>2]=x*(y+(o*t-s*v))+ +g[G>>2];n=A+(((n-h|0)/104|0)<<2)|0;g[n>>2]=x+ +g[n>>2];j=j+1|0}while((j|0)!=(m|0))}b=b+1|0}while((b|0)!=(z|0))}else{b=0;do{d=c[k+(b<<2)>>2]|0;if((c[d+308>>2]|0)>0?(v=+g[a+452>>2],p=+g[d+244>>2]*v,t=v*+g[d+248>>2],x=v*+g[d+252>>2],e=v*+g[d+260>>2],r=v*+g[d+264>>2],v=v*+g[d+268>>2],n=c[d+24>>2]|0,(n|0)>0):0){f=c[d+32>>2]|0;h=c[a+720>>2]|0;i=c[d+12>>2]|0;j=0;do{G=c[f+(j<<2)>>2]|0;y=+g[i+(j<<2)>>2];w=+g[G+8>>2]-+g[d+228>>2];u=+g[G+12>>2]-+g[d+232>>2];s=+g[G+16>>2]-+g[d+236>>2];m=B+(((G-h|0)/104|0)<<4)|0;g[m>>2]=+g[m>>2]+y*(p+(r*s-v*u));m=B+(((G-h|0)/104|0)<<4)+4|0;g[m>>2]=+g[m>>2]+y*(t+(v*w-e*s));m=B+(((G-h|0)/104|0)<<4)+8|0;g[m>>2]=y*(x+(e*u-r*w))+ +g[m>>2];G=A+(((G-h|0)/104|0)<<2)|0;g[G>>2]=y+ +g[G>>2];j=j+1|0}while((j|0)!=(n|0))}b=b+1|0}while((b|0)!=(z|0))}}if((E|0)>0){d=0;do{e=+g[A+(d<<2)>>2];if(e>0.0){G=c[a+720>>2]|0;x=1.0/e*+g[B+(d<<4)+4>>2];y=1.0/e*+g[B+(d<<4)+8>>2];z=G+(d*104|0)+8|0;g[z>>2]=1.0/e*+g[B+(d<<4)>>2]+ +g[z>>2];z=G+(d*104|0)+12|0;g[z>>2]=x+ +g[z>>2];G=G+(d*104|0)+16|0;g[G>>2]=y+ +g[G>>2]}d=d+1|0}while((d|0)!=(E|0))}if(!((A|0)==0|(C|0)==0)){c[6473]=(c[6473]|0)+1;nd(c[C+-4>>2]|0)}if(!((B|0)==0|(D|0)==0)){c[6473]=(c[6473]|0)+1;nd(c[D+-4>>2]|0)}d=c[2405]|0;G=(c[d+16>>2]|0)+-1|0;c[d+16>>2]=G;if(G|0){l=F;return}do if(c[d+4>>2]|0){Za(F|0,0)|0;G=c[6471]|0;g[d+8>>2]=+g[d+8>>2]+ +(((c[F+4>>2]|0)-(c[G+4>>2]|0)+(((c[F>>2]|0)-(c[G>>2]|0)|0)*1e6|0)-(c[d+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[d+16>>2]|0)){d=c[2405]|0;break}else{l=F;return}}while(0);c[2405]=c[d+20>>2];l=F;return}function Ld(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=+h;var i=0,j=0,k=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,E=0;D=l;l=l+80|0;o=+g[e+4>>2];u=+g[e+20>>2];v=+g[e+36>>2];w=+g[e+8>>2];x=+g[e+24>>2];y=+g[e+40>>2];z=+g[e+12>>2];p=+g[e+28>>2];q=+g[e+44>>2];A=-+g[e+52>>2];B=-+g[e+56>>2];C=-+g[e+60>>2];k=c[b+720>>2]|0;r=+g[k+(d*104|0)+8>>2];s=+g[k+(d*104|0)+12>>2];t=+g[k+(d*104|0)+16>>2];a:do if(f){f=c[b+268>>2]|0;b:do if((f|0)>0){j=c[b+276>>2]|0;i=0;while(1){if((c[j+(i<<2)>>2]|0)==(e|0))break;i=i+1|0;if((i|0)>=(f|0))break b}if((i|0)!=(f|0)){f=k;break a}}while(0);if((f|0)==(c[b+272>>2]|0)?(m=f|0?f<<1:1,(f|0)<(m|0)):0){if(!m)i=0;else{c[6472]=(c[6472]|0)+1;f=ic((m<<2|3)+16|0)|0;if(!f)i=0;else{c[(f+4+15&-16)+-4>>2]=f;i=f+4+15&-16}f=c[b+268>>2]|0}if((f|0)>0){j=0;do{c[i+(j<<2)>>2]=c[(c[b+276>>2]|0)+(j<<2)>>2];j=j+1|0}while((j|0)!=(f|0))}j=c[b+276>>2]|0;if(j){if(a[b+280>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[j+-4>>2]|0);f=c[b+268>>2]|0}c[b+276>>2]=0}a[b+280>>0]=1;c[b+276>>2]=i;c[b+272>>2]=m}c[(c[b+276>>2]|0)+(f<<2)>>2]=e;c[b+268>>2]=f+1;f=c[b+720>>2]|0}else f=k;while(0);k=f+(d*104|0)|0;f=f+(d*104|0)+100|0;a[f>>0]=a[f>>0]|1;f=c[b+792>>2]|0;if((f|0)==(c[b+796>>2]|0)?(n=f|0?f<<1:1,(f|0)<(n|0)):0){if(!n)i=0;else{c[6472]=(c[6472]|0)+1;f=ic(n*96|19)|0;if(!f)i=0;else{c[(f+4+15&-16)+-4>>2]=f;i=f+4+15&-16}f=c[b+792>>2]|0}if((f|0)>0){j=0;do{d=i+(j*96|0)|0;m=c[b+800>>2]|0;E=m+(j*96|0)|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];c[d+16>>2]=c[E+16>>2];c[d+20>>2]=c[E+20>>2];c[d+24>>2]=c[E+24>>2];d=i+(j*96|0)+28|0;E=m+(j*96|0)+28|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];d=i+(j*96|0)+44|0;E=m+(j*96|0)+44|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];d=i+(j*96|0)+60|0;E=m+(j*96|0)+60|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];d=i+(j*96|0)+76|0;m=m+(j*96|0)+76|0;c[d>>2]=c[m>>2];c[d+4>>2]=c[m+4>>2];c[d+8>>2]=c[m+8>>2];c[d+12>>2]=c[m+12>>2];c[d+16>>2]=c[m+16>>2];j=j+1|0}while((j|0)!=(f|0))}f=c[b+800>>2]|0;if(f|0){if(a[b+804>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0)}c[b+800>>2]=0}a[b+804>>0]=1;c[b+800>>2]=i;c[b+796>>2]=n;f=c[b+792>>2]|0}E=c[b+800>>2]|0;c[E+(f*96|0)>>2]=k;g[E+(f*96|0)+4>>2]=o*A+u*B+v*C+(o*r+u*s+v*t);g[E+(f*96|0)+8>>2]=w*A+x*B+y*C+(w*r+x*s+y*t);g[E+(f*96|0)+12>>2]=z*A+p*B+q*C+(z*r+p*s+q*t);g[E+(f*96|0)+16>>2]=0.0;c[E+(f*96|0)+20>>2]=e;g[E+(f*96|0)+24>>2]=h;e=E+(f*96|0)+28|0;c[e>>2]=c[D+56>>2];c[e+4>>2]=c[D+56+4>>2];c[e+8>>2]=c[D+56+8>>2];c[e+12>>2]=c[D+56+12>>2];e=E+(f*96|0)+44|0;c[e>>2]=c[D+40>>2];c[e+4>>2]=c[D+40+4>>2];c[e+8>>2]=c[D+40+8>>2];c[e+12>>2]=c[D+40+12>>2];e=E+(f*96|0)+60|0;c[e>>2]=c[D+24>>2];c[e+4>>2]=c[D+24+4>>2];c[e+8>>2]=c[D+24+8>>2];c[e+12>>2]=c[D+24+12>>2];E=E+(f*96|0)+76|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[E+16>>2]=c[D+16>>2];c[b+792>>2]=(c[b+792>>2]|0)+1;l=D;return}function Md(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0.0,j=0.0,k=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,A=0.0,B=0.0,D=0.0,E=0.0,F=0,G=0;F=l;l=l+32|0;A=+g[b+48>>2]-+g[b+112>>2];h=+g[b+52>>2]-+g[b+116>>2];E=+g[b+56>>2]-+g[b+120>>2];B=A*+g[b+64>>2]+h*+g[b+80>>2]+E*+g[b+96>>2];D=A*+g[b+68>>2]+h*+g[b+84>>2]+E*+g[b+100>>2];E=A*+g[b+72>>2]+h*+g[b+88>>2]+E*+g[b+104>>2];e=c[a+8>>2]|0;z=c[a+4>>2]|0;h=+g[z+28>>2]*+g[z+12>>2];A=h+ +g[a+12>>2];p=+g[e+72>>2];q=+g[e+56>>2];r=+g[e+76>>2];s=+g[e+60>>2];t=+g[e+80>>2];u=+g[e+64>>2];v=+g[e+88>>2];w=+g[e+92>>2];x=+g[e+96>>2];j=(r-s)*(x-u)-(t-u)*(w-s);m=(t-u)*(v-q)-(p-q)*(x-u);o=(p-q)*(w-s)-(r-s)*(v-q);n=1.0/+C(+(o*o+(j*j+m*m)));i=(B-q)*n*j+(D-s)*n*m+n*o*(E-u);if(i<0.0){y=-i;k=-(n*j);i=-(n*m);j=-(n*o)}else{y=i;k=n*j;i=n*m;j=n*o}if(!(y0.0&(o>0.0&t>0.0))?!(x<=0.0&(o<=0.0&t<=0.0)):0){if((qb[c[(c[e>>2]|0)+100>>2]&127](e)|0)<=0){l=F;return}o=0.0;n=0.0;m=0.0;e=0;z=0;do{G=c[a+8>>2]|0;Nb[c[(c[G>>2]|0)+104>>2]&127](G,z,F+16|0,F);p=+g[F+16>>2];w=+g[F+16+4>>2];u=+g[F+16+8>>2];t=+g[F>>2]-p;x=+g[F+4>>2]-w;v=+g[F+8>>2]-u;do if((B-p)*t+(D-w)*x+(E-u)*v>0.0)if((B-p)*t+(D-w)*x+(E-u)*v>2]|0}while((z|0)<(qb[c[(c[G>>2]|0)+100>>2]&127](G)|0));if(!(e&1)){l=F;return}else{s=o;r=n;q=m;n=A*A}}else{s=B-y*k;r=E-y*j;q=D-y*i;n=A*A}o=B-s;p=D-q;m=E-r;if(!(o*o+p*p+m*m1.1920928955078125e-07){i=+C(+(o*o+p*p+m*m));h=h-i;k=o*(1.0/i);j=m*(1.0/i);i=p*(1.0/i)}h=-h;if(f){x=+g[b+64>>2];y=+g[b+68>>2];A=+g[b+72>>2];B=x*k+y*i+A*j;o=+g[b+80>>2];p=+g[b+84>>2];t=+g[b+88>>2];D=k*o+i*p+j*t;u=+g[b+96>>2];v=+g[b+100>>2];w=+g[b+104>>2];E=k*u+i*v+j*w;g[F+16>>2]=-B;g[F+16+4>>2]=-D;g[F+16+8>>2]=-E;g[F+16+12>>2]=0.0;D=s*o+q*p+r*t+ +g[b+116>>2]+D*h;E=s*u+q*v+r*w+ +g[b+120>>2]+E*h;g[F>>2]=s*x+q*y+r*A+ +g[b+112>>2]+B*h;g[F+4>>2]=D;g[F+8>>2]=E;g[F+12>>2]=0.0;Lb[c[(c[d>>2]|0)+16>>2]&15](d,F+16|0,F,h);l=F;return}else{G=c[(c[d>>2]|0)+16>>2]|0;y=+g[b+64>>2];A=+g[b+68>>2];B=+g[b+72>>2];u=+g[b+80>>2];v=+g[b+84>>2];D=+g[b+88>>2];w=+g[b+96>>2];x=+g[b+100>>2];E=+g[b+104>>2];g[F+16>>2]=y*k+A*i+B*j;g[F+16+4>>2]=k*u+i*v+j*D;g[F+16+8>>2]=k*w+i*x+j*E;g[F+16+12>>2]=0.0;D=s*u+q*v+r*D+ +g[b+116>>2];E=s*w+q*x+r*E+ +g[b+120>>2];g[F>>2]=s*y+q*A+r*B+ +g[b+112>>2];g[F+4>>2]=D;g[F+8>>2]=E;g[F+12>>2]=0.0;Lb[G&15](d,F+16|0,F,h);l=F;return}}function Nd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0.0,k=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;i=l;l=l+16|0;if((a[22752]|0)==0?Yy(22752)|0:0){c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;dg(23416,0.0,0,0,i)}c[5905]=c[5905]|1;g[5940]=0.0;j=+g[5950]*0.0;k=+g[5951]*0.0;g[5945]=+g[5949]*0.0;g[5946]=j;g[5947]=k;g[5948]=0.0;c[5953]=0;c[5954]=0;c[5955]=0;c[5956]=0;k=+g[5942]*0.0;j=+g[5943]*0.0;g[5994]=+g[5941]*0.0;g[5995]=k;g[5996]=j;g[5997]=0.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;c[b+28>>2]=23416;c[b+32>>2]=d;g[b+36>>2]=0.0;g[b+40>>2]=.30000001192092896;c[b+44>>2]=0;c[b>>2]=4624;c[b+112>>2]=c[e>>2];c[b+112+4>>2]=c[e+4>>2];c[b+112+8>>2]=c[e+8>>2];c[b+112+12>>2]=c[e+12>>2];c[b+128>>2]=c[e+16>>2];c[b+128+4>>2]=c[e+16+4>>2];c[b+128+8>>2]=c[e+16+8>>2];c[b+128+12>>2]=c[e+16+12>>2];c[b+144>>2]=c[e+32>>2];c[b+144+4>>2]=c[e+32+4>>2];c[b+144+8>>2]=c[e+32+8>>2];c[b+144+12>>2]=c[e+32+12>>2];c[b+160>>2]=c[e+48>>2];c[b+160+4>>2]=c[e+48+4>>2];c[b+160+8>>2]=c[e+48+8>>2];c[b+160+12>>2]=c[e+48+12>>2];e=b+680|0;h=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(h|0));c[b+740>>2]=0;c[b+740+4>>2]=0;c[b+740+8>>2]=0;c[b+740+12>>2]=0;c[b+756>>2]=1045220557;c[b+760>>2]=1045220557;c[b+764>>2]=1045220557;c[b+768>>2]=0;c[b+768+4>>2]=0;c[b+768+8>>2]=0;c[b+768+12>>2]=0;c[b+768+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]=f&1;a[b+1301>>0]=1;c[b+1304>>2]=0;a[b+1308>>0]=0;y=+g[b+112>>2];E=+g[d+4>>2];x=+g[b+128>>2];D=+g[d+8>>2];w=+g[b+144>>2];C=+g[d+12>>2];v=+g[b+116>>2];u=+g[b+132>>2];t=+g[b+148>>2];s=+g[b+120>>2];q=+g[b+136>>2];o=+g[b+152>>2];B=+g[d+20>>2];A=+g[d+24>>2];z=+g[d+28>>2];r=+g[d+36>>2];p=+g[d+40>>2];n=+g[d+44>>2];G=+g[b+160>>2];F=+g[b+164>>2];k=+g[b+168>>2];m=+g[d+52>>2]+(E*G+D*F+C*k);j=B*G+A*F+z*k+ +g[d+56>>2];k=r*G+p*F+n*k+ +g[d+60>>2];g[b+48>>2]=y*E+x*D+w*C;g[b+52>>2]=E*v+D*u+C*t;g[b+56>>2]=E*s+D*q+C*o;g[b+60>>2]=0.0;g[b+64>>2]=y*B+x*A+w*z;g[b+68>>2]=v*B+u*A+t*z;g[b+72>>2]=s*B+q*A+o*z;g[b+76>>2]=0.0;g[b+80>>2]=y*r+x*p+w*n;g[b+84>>2]=v*r+u*p+t*n;g[b+88>>2]=s*r+q*p+o*n;g[b+92>>2]=0.0;g[b+96>>2]=m;g[b+100>>2]=j;g[b+104>>2]=k;g[b+108>>2]=0.0;bd(b,(c[b+28>>2]|0)+4|0,(c[b+32>>2]|0)+4|0);l=i;return}function Od(b,d,e,f,h,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;h=+h;i=+i;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+288|0;c[w+208>>2]=c[d>>2];c[w+208+4>>2]=c[d+4>>2];c[w+208+8>>2]=c[d+8>>2];c[w+208+12>>2]=c[d+12>>2];o=w+208+16|0;c[o>>2]=c[e>>2];c[o+4>>2]=c[e+4>>2];c[o+8>>2]=c[e+8>>2];c[o+12>>2]=c[e+12>>2];d=w+208+32|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];q=c[j>>2]|0;r=c[j+4>>2]|0;s=c[j+8>>2]|0;t=c[j+16>>2]|0;u=c[j+12>>2]|0;p=c[j+20>>2]|0;c[w+156>>2]=c[w+208>>2];c[w+156+4>>2]=c[w+208+4>>2];c[w+156+8>>2]=c[w+208+8>>2];c[w+156+12>>2]=c[w+208+12>>2];c[w+172>>2]=c[o>>2];c[w+172+4>>2]=c[o+4>>2];c[w+172+8>>2]=c[o+8>>2];c[w+172+12>>2]=c[o+12>>2];c[w+188>>2]=c[d>>2];c[w+188+4>>2]=c[d+4>>2];c[w+188+8>>2]=c[d+8>>2];c[w+188+12>>2]=c[d+12>>2];d=c[b+136>>2]|0;if((d|0)==(c[b+140>>2]|0)?(v=d|0?d<<1:1,(d|0)<(v|0)):0){if(!v)e=0;else{c[6472]=(c[6472]|0)+1;d=ic((v*284|3)+16|0)|0;if(!d)e=0;else{c[(d+4+15&-16)+-4>>2]=d;e=d+4+15&-16}d=c[b+136>>2]|0}if((d|0)>0){j=0;do{f=c[b+144>>2]|0;m=e+(j*284|0)|0;n=f+(j*284|0)|0;o=m+92|0;do{c[m>>2]=c[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));m=e+(j*284|0)+92|0;n=f+(j*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];m=e+(j*284|0)+108|0;n=f+(j*284|0)+108|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];m=e+(j*284|0)+124|0;n=f+(j*284|0)+124|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];m=e+(j*284|0)+140|0;n=f+(j*284|0)+140|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];m=e+(j*284|0)+156|0;n=f+(j*284|0)+156|0;o=m+128|0;do{c[m>>2]=c[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));j=j+1|0}while((j|0)!=(d|0))}d=c[b+144>>2]|0;if(d|0){if(a[b+148>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+144>>2]=0}a[b+148>>0]=1;c[b+144>>2]=e;c[b+140>>2]=v;d=c[b+136>>2]|0}e=c[b+144>>2]|0;m=e+(d*284|0)|0;n=w;o=m+92|0;do{c[m>>2]=c[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));m=e+(d*284|0)+92|0;c[m>>2]=c[w+92>>2];c[m+4>>2]=c[w+92+4>>2];c[m+8>>2]=c[w+92+8>>2];c[m+12>>2]=c[w+92+12>>2];m=e+(d*284|0)+108|0;c[m>>2]=c[w+108>>2];c[m+4>>2]=c[w+108+4>>2];c[m+8>>2]=c[w+108+8>>2];c[m+12>>2]=c[w+108+12>>2];m=e+(d*284|0)+124|0;c[m>>2]=c[w+124>>2];c[m+4>>2]=c[w+124+4>>2];c[m+8>>2]=c[w+124+8>>2];c[m+12>>2]=c[w+124+12>>2];m=e+(d*284|0)+140|0;c[m>>2]=c[w+140>>2];c[m+4>>2]=c[w+140+4>>2];c[m+8>>2]=c[w+140+8>>2];c[m+12>>2]=c[w+140+12>>2];d=e+(d*284|0)+156|0;m=d;n=w+156|0;o=m+48|0;do{c[m>>2]=c[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));g[d+48>>2]=h;c[d+52>>2]=u;g[d+56>>2]=i;c[d+60>>2]=q;c[d+64>>2]=r;c[d+68>>2]=s;c[d+72>>2]=t;g[d+76>>2]=0.0;g[d+80>>2]=0.0;g[d+84>>2]=0.0;g[d+88>>2]=.10000000149011612;c[d+92>>2]=p;g[d+96>>2]=0.0;g[d+100>>2]=0.0;a[d+104>>0]=k&1;m=d+105|0;n=w+256|0;o=m+23|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));k=c[b+136>>2]|0;c[b+136>>2]=k+1;k=(c[b+144>>2]|0)+(k*284|0)|0;Eg(c[b+116>>2]|0,k,0);le(c[b+116>>2]|0,c[b+144>>2]|0,(c[b+136>>2]|0)+-1|0,0);l=w;return k|0}function Pd(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;if((h|0)<0){h=c[b+8>>2]|0;+pb[c[(c[h>>2]|0)+12>>2]&3](h,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}o=c[b+16>>2]|0;a:do if((o|0)>0){l=c[b+12>>2]|0;i=0;while(1){m=l+(i<<2)|0;k=c[m>>2]|0;j=c[(c[k+28>>2]|0)+208>>2]|0;if((j|0)<=-1)j=c[(c[k+32>>2]|0)+208>>2]|0;if((j|0)==(h|0))break a;i=i+1|0;if((i|0)>=(o|0)){m=0;break}}}else{i=0;m=0}while(0);if((i|0)<(o|0)){n=c[b+12>>2]|0;j=0;do{l=c[n+(i<<2)>>2]|0;k=c[(c[l+28>>2]|0)+208>>2]|0;if((k|0)<=-1)k=c[(c[l+32>>2]|0)+208>>2]|0;j=((k|0)==(h|0)&1)+j|0;i=i+1|0}while((i|0)!=(o|0));h=j}else h=0;i=c[b+4>>2]|0;if((c[i+72>>2]|0)<2){o=c[b+8>>2]|0;+pb[c[(c[o>>2]|0)+12>>2]&3](o,d,e,f,g,m,h,i,c[b+20>>2]|0,c[b+24>>2]|0);return}if((e|0)>0){j=c[b+32>>2]|0;i=c[b+36>>2]|0;o=0;do{n=d+(o<<2)|0;if((j|0)==(i|0)){l=i|0?i<<1:1;if((i|0)<(l|0)){if(!l)j=0;else{c[6472]=(c[6472]|0)+1;i=ic((l<<2|3)+16|0)|0;if(!i)j=0;else{c[(i+4+15&-16)+-4>>2]=i;j=i+4+15&-16}i=c[b+32>>2]|0}if((i|0)>0){k=0;do{c[j+(k<<2)>>2]=c[(c[b+40>>2]|0)+(k<<2)>>2];k=k+1|0}while((k|0)!=(i|0))}k=c[b+40>>2]|0;if(k){if(a[b+44>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[k+-4>>2]|0);i=c[b+32>>2]|0}c[b+40>>2]=0}a[b+44>>0]=1;c[b+40>>2]=j;c[b+36>>2]=l;j=i;i=l}else j=i}c[(c[b+40>>2]|0)+(j<<2)>>2]=c[n>>2];j=j+1|0;c[b+32>>2]=j;o=o+1|0}while((o|0)!=(e|0))}if((g|0)>0){j=c[b+52>>2]|0;i=c[b+56>>2]|0;o=0;do{n=f+(o<<2)|0;if((j|0)==(i|0)){l=i|0?i<<1:1;if((i|0)<(l|0)){if(!l)j=0;else{c[6472]=(c[6472]|0)+1;i=ic((l<<2|3)+16|0)|0;if(!i)j=0;else{c[(i+4+15&-16)+-4>>2]=i;j=i+4+15&-16}i=c[b+52>>2]|0}if((i|0)>0){k=0;do{c[j+(k<<2)>>2]=c[(c[b+60>>2]|0)+(k<<2)>>2];k=k+1|0}while((k|0)!=(i|0))}k=c[b+60>>2]|0;if(k){if(a[b+64>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[k+-4>>2]|0);i=c[b+52>>2]|0}c[b+60>>2]=0}a[b+64>>0]=1;c[b+60>>2]=j;c[b+56>>2]=l;j=i;i=l}else j=i}c[(c[b+60>>2]|0)+(j<<2)>>2]=c[n>>2];j=j+1|0;c[b+52>>2]=j;o=o+1|0}while((o|0)!=(g|0))}if((h|0)>0){i=c[b+72>>2]|0;j=c[b+76>>2]|0;o=0;do{n=m+(o<<2)|0;if((i|0)==(j|0)){l=j|0?j<<1:1;if((j|0)<(l|0)){if(!l){i=j;j=0}else{c[6472]=(c[6472]|0)+1;i=ic((l<<2|3)+16|0)|0;if(!i)j=0;else{c[(i+4+15&-16)+-4>>2]=i;j=i+4+15&-16}i=c[b+72>>2]|0}if((i|0)>0){k=0;do{c[j+(k<<2)>>2]=c[(c[b+80>>2]|0)+(k<<2)>>2];k=k+1|0}while((k|0)!=(i|0))}k=c[b+80>>2]|0;if(k){if(a[b+84>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[k+-4>>2]|0);i=c[b+72>>2]|0}c[b+80>>2]=0}a[b+84>>0]=1;c[b+80>>2]=j;c[b+76>>2]=l;j=l}else i=j}c[(c[b+80>>2]|0)+(i<<2)>>2]=c[n>>2];i=i+1|0;c[b+72>>2]=i;o=o+1|0}while((o|0)!=(h|0))}else i=c[b+72>>2]|0;if(((c[b+52>>2]|0)+i|0)<=(c[(c[b+4>>2]|0)+72>>2]|0))return;Xg(b);return}function Qd(d,f,h,i){d=d|0;f=f|0;h=h|0;i=i|0;var j=0,k=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;w=l;l=l+80|0;v=c[d+48>>2]|0;c[w>>2]=7056;c[w+4>>2]=v;c[w+8>>2]=f;v=c[d+52>>2]|0;if(!(a[v+60>>0]|0)){f=c[v+56>>2]|0;if((f|0)>0){d=f;o=0;p=c[v+96>>2]|0;f=0;while(1){f=f+1|0;if(!(+g[h>>2]>+g[p+16>>2])?!(+g[i>>2]<+g[p>>2]):0)j=1;else j=0;if(!(!(+g[h+8>>2]>+g[p+24>>2])?!(+g[i+8>>2]<+g[p+8>>2]):0))j=0;if(!(+g[h+4>>2]>+g[p+20>>2])?!(+g[i+4>>2]<+g[p+4>>2]):0){k=c[p+32>>2]|0;if(j&(k|0)==-1){Kb[c[(c[w>>2]|0)+8>>2]&127](w,c[p+36>>2]|0,c[p+40>>2]|0);d=c[v+56>>2]|0;n=43}else{m=k;k=(k|0)==-1;n=42}}else{k=c[p+32>>2]|0;m=k;k=(k|0)==-1;j=0;n=42}if((n|0)==42){n=0;if(k|j)n=43;else{k=m+o|0;j=p+(m<<6)|0}}if((n|0)==43){k=o+1|0;j=p+64|0}if((k|0)<(d|0)){o=k;p=j}else break}}else f=0;if((c[6204]|0)>=(f|0)){l=w;return}c[6204]=f;l=w;return}z=+g[h>>2];D=+g[h+4>>2];H=+g[h+8>>2];G=+g[v+4>>2];z=z>2];D=D>2];H=H>2];E=+g[v+24>>2];A=+g[v+28>>2];F=+g[v+36>>2];B=+g[v+40>>2];x=+g[v+44>>2];s=~~(((I>1]=s;t=~~(((E>1]=t;b[w+66+4>>1]=u;H=+g[i>>2];D=+g[i+4>>2];z=+g[i+8>>2];H=H>1]=i;q=~~(((E>1]=q;b[w+60+4>>1]=r;switch(c[v+144>>2]|0){case 0:{o=c[v+56>>2]|0;if((o|0)>0){d=0;j=c[v+136>>2]|0;f=0;do{f=f+1|0;m=((i&65535)>=(e[j>>1]|0)?(s&65535)<=(e[j+6>>1]|0):0)&(u&65535)<=(e[j+10>>1]|0)&(r&65535)>=(e[j+4>>1]|0)&(t&65535)<=(e[j+8>>1]|0)&(q&65535)>=(e[j+2>>1]|0);n=j+12|0;k=c[n>>2]|0;if((k|0)>-1&m)Kb[c[(c[w>>2]|0)+8>>2]&127](w,k>>21,k&2097151);if((k|0)>-1|m){d=d+1|0;j=j+16|0}else{v=c[n>>2]|0;d=d-v|0;j=j+(0-v<<4)|0}}while((d|0)<(o|0))}else f=0;if((c[6204]|0)<(f|0))c[6204]=f;break}case 1:{if((c[v+152>>2]|0)>0){h=0;do{f=c[v+160>>2]|0;if(((i&65535)>=(e[f+(h<<5)>>1]|0)?(s&65535)<=(e[f+(h<<5)+6>>1]|0):0)&(u&65535)<=(e[f+(h<<5)+10>>1]|0)&(r&65535)>=(e[f+(h<<5)+4>>1]|0)&(t&65535)<=(e[f+(h<<5)+8>>1]|0)&(q&65535)>=(e[f+(h<<5)+2>>1]|0)){p=c[f+(h<<5)+12>>2]|0;o=c[f+(h<<5)+16>>2]|0;if((o|0)>0){d=p;j=(c[v+136>>2]|0)+(p<<4)|0;f=0;do{f=f+1|0;m=((i&65535)>=(e[j>>1]|0)?(s&65535)<=(e[j+6>>1]|0):0)&(u&65535)<=(e[j+10>>1]|0)&(r&65535)>=(e[j+4>>1]|0)&(t&65535)<=(e[j+8>>1]|0)&(q&65535)>=(e[j+2>>1]|0);n=j+12|0;k=c[n>>2]|0;if((k|0)>-1&m)Kb[c[(c[w>>2]|0)+8>>2]&127](w,k>>21,k&2097151);if((k|0)>-1|m){d=d+1|0;j=j+16|0}else{n=c[n>>2]|0;d=d-n|0;j=j+(0-n<<4)|0}}while((d|0)<(o+p|0))}else f=0;if((c[6204]|0)<(f|0))c[6204]=f}h=h+1|0}while((h|0)<(c[v+152>>2]|0))}break}case 2:{vk(c[v+136>>2]|0,w,w+66|0,w+60|0);break}default:{}}l=w;return}function Rd(d,e,f,h,i){d=d|0;e=e|0;f=+f;h=+h;i=+i;var j=0,k=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;q=l;l=l+240|0;o=+g[d+96>>2]+h;p=+g[d+100>>2]+i;g[d+112>>2]=+g[d+92>>2]+f;g[d+116>>2]=o;g[d+120>>2]=p;g[d+124>>2]=0.0;c[q+168>>2]=1065353216;c[q+168+4>>2]=0;c[q+168+4+4>>2]=0;c[q+168+4+8>>2]=0;c[q+168+4+12>>2]=0;c[q+168+20>>2]=1065353216;c[q+168+24>>2]=0;c[q+168+24+4>>2]=0;c[q+168+24+8>>2]=0;c[q+168+24+12>>2]=0;c[q+168+40>>2]=1065353216;j=q+168+44|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;c[q+104>>2]=1065353216;c[q+104+4>>2]=0;c[q+104+4+4>>2]=0;c[q+104+4+8>>2]=0;c[q+104+4+12>>2]=0;c[q+104+20>>2]=1065353216;c[q+104+24>>2]=0;c[q+104+24+4>>2]=0;c[q+104+24+8>>2]=0;c[q+104+24+12>>2]=0;c[q+104+40>>2]=1065353216;j=q+104+44|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;p=1.0;j=10;while(1){if((j|0)<=0){j=14;break}j=j+-1|0;c[q+168+48>>2]=c[d+92>>2];c[q+168+48+4>>2]=c[d+92+4>>2];c[q+168+48+8>>2]=c[d+92+8>>2];c[q+168+48+12>>2]=c[d+92+12>>2];c[q+104+48>>2]=c[d+112>>2];c[q+104+48+4>>2]=c[d+112+4>>2];c[q+104+48+8>>2]=c[d+112+8>>2];c[q+104+48+12>>2]=c[d+112+12>>2];n=+g[d+92>>2]-+g[d+112>>2];o=+g[d+96>>2]-+g[d+116>>2];f=+g[d+100>>2]-+g[d+120>>2];r=c[d+8>>2]|0;g[q+4>>2]=1.0;b[q+8>>1]=1;b[q+10>>1]=-1;c[q+76>>2]=0;c[q+12>>2]=0;c[q+12+4>>2]=0;c[q+12+8>>2]=0;c[q+12+12>>2]=0;c[q+12+16>>2]=0;c[q+12+20>>2]=0;c[q+12+24>>2]=0;c[q+12+28>>2]=0;c[q>>2]=5132;c[q+80>>2]=r;g[q+84>>2]=n;g[q+88>>2]=o;g[q+92>>2]=f;g[q+96>>2]=0.0;g[q+100>>2]=0.0;r=c[(c[r+188>>2]|0)+4>>2]|0;b[q+8>>1]=r;b[q+10>>1]=r>>>16;r=c[d+12>>2]|0;f=+gb[c[(c[r>>2]|0)+48>>2]&15](r);r=c[d+12>>2]|0;Bb[c[(c[r>>2]|0)+44>>2]&31](r,f+ +g[d+56>>2]);if(!(a[d+170>>0]|0))zd(e,c[d+12>>2]|0,q+168|0,q+104|0,q,+g[e+56>>2]);else gd(c[d+8>>2]|0,c[d+12>>2]|0,q+168|0,q+104|0,q,+g[e+56>>2]);r=c[d+12>>2]|0;Bb[c[(c[r>>2]|0)+44>>2]&31](r,f);o=+g[q+4>>2];p=p-o;if(o<1.0){f=+g[d+112>>2];m=+g[d+92>>2];i=+g[d+116>>2];n=+g[d+96>>2];k=+g[d+120>>2];o=+g[d+100>>2];h=+C(+((f-m)*(f-m)+(i-n)*(i-n)+(k-o)*(k-o)));if(h>1.1920928955078125e-07){v=+g[q+44>>2];t=+g[q+48>>2];x=+g[q+52>>2];w=((f-m)*(1.0/h)*v+(i-n)*(1.0/h)*t+(k-o)*(1.0/h)*x)*2.0;u=(f-m)*(1.0/h)-v*w;s=(i-n)*(1.0/h)-t*w;w=(k-o)*(1.0/h)-x*w;k=1.0/+C(+(w*w+(u*u+s*s)));c[d+112>>2]=c[d+92>>2];c[d+112+4>>2]=c[d+92+4>>2];c[d+112+8>>2]=c[d+92+8>>2];c[d+112+12>>2]=c[d+92+12>>2];f=h*(k*u-v*(x*k*w+(v*k*u+t*k*s)))+ +g[d+112>>2];g[d+112>>2]=f;i=h*(k*s-t*(x*k*w+(v*k*u+t*k*s)))+ +g[d+116>>2];g[d+116>>2]=i;k=h*(k*w-x*(x*k*w+(v*k*u+t*k*s)))+ +g[d+120>>2];g[d+120>>2]=k;h=i}else h=i;i=f-m;h=h-n;f=k-o;if(!(i*i+h*h+f*f>1.1920928955078125e-07)){j=11;break}x=1.0/+C(+(i*i+h*h+f*f));if(+g[d+76>>2]*i*x+h*x*+g[d+80>>2]+f*x*+g[d+84>>2]<=0.0){j=11;break}}else{c[d+92>>2]=c[d+112>>2];c[d+92+4>>2]=c[d+112+4>>2];c[d+92+8>>2]=c[d+112+8>>2];c[d+92+12>>2]=c[d+112+12>>2]}if(!(p>.009999999776482582)){j=14;break}}if((j|0)==11){l=q;return}else if((j|0)==14){l=q;return}}function Sd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+24>>2]=d;g[b+28>>2]=0.0;c[b+32>>2]=0;c[b+36>>2]=1;g[b+40>>2]=1.0;a[b+44>>0]=1;c[b+48>>2]=0;a[b+52>>0]=0;a[b+53>>0]=1;a[b+54>>0]=1;g[b+56>>2]=.03999999910593033;a[b+60>>0]=0;g[b+64>>2]=0.0;c[b+68>>2]=e;c[b+72>>2]=0;a[b+76>>0]=1;c[b+80>>2]=0;c[b+84>>2]=0;c[b+88>>2]=0;g[b+92>>2]=.6000000238418579;g[b+96>>2]=1.0;g[b+100>>2]=.30000001192092896;g[b+104>>2]=.01666666753590107;g[b+108>>2]=0.0;g[b+116>>2]=20.0;c[b+112>>2]=10;g[b+124>>2]=.20000000298023224;g[b+128>>2]=.800000011920929;g[b+132>>2]=0.0;g[b+120>>2]=1.0;c[b+136>>2]=1;g[b+140>>2]=-.03999999910593033;g[b+144>>2]=.10000000149011612;g[b+148>>2]=0.0;g[b+152>>2]=.8500000238418579;c[b+156>>2]=260;c[b+160>>2]=2;c[b+164>>2]=128;g[b+168>>2]=100.0;g[b+172>>2]=1000000015047466219876688.0e6;c[b>>2]=4288;a[b+192>>0]=1;c[b+188>>2]=0;c[b+180>>2]=0;c[b+184>>2]=0;c[b+196>>2]=0;c[b+200>>2]=f;a[b+224>>0]=1;c[b+220>>2]=0;c[b+212>>2]=0;c[b+216>>2]=0;a[b+244>>0]=1;c[b+240>>2]=0;c[b+232>>2]=0;c[b+236>>2]=0;c[b+248>>2]=0;c[b+252>>2]=-1054867456;a[b+274>>0]=0;a[b+275>>0]=0;c[b+256>>2]=0;c[b+256+4>>2]=0;c[b+256+8>>2]=0;c[b+256+12>>2]=0;a[b+292>>0]=1;c[b+288>>2]=0;c[b+280>>2]=0;c[b+284>>2]=0;c[b+296>>2]=0;a[b+300>>0]=1;a[b+320>>0]=1;c[b+316>>2]=0;c[b+308>>2]=0;c[b+312>>2]=0;if(!f){c[6472]=(c[6472]|0)+1;f=ic(215)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}c[f>>2]=4952;a[f+20>>0]=1;c[f+16>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;a[f+40>>0]=1;c[f+36>>2]=0;c[f+28>>2]=0;c[f+32>>2]=0;a[f+60>>0]=1;c[f+56>>2]=0;c[f+48>>2]=0;c[f+52>>2]=0;a[f+80>>0]=1;c[f+76>>2]=0;c[f+68>>2]=0;c[f+72>>2]=0;a[f+100>>0]=1;c[f+96>>2]=0;c[f+88>>2]=0;c[f+92>>2]=0;a[f+120>>0]=1;c[f+116>>2]=0;c[f+108>>2]=0;c[f+112>>2]=0;a[f+140>>0]=1;c[f+136>>2]=0;c[f+128>>2]=0;c[f+132>>2]=0;a[f+160>>0]=1;c[f+156>>2]=0;c[f+148>>2]=0;c[f+152>>2]=0;a[f+180>>0]=1;c[f+176>>2]=0;c[f+168>>2]=0;c[f+172>>2]=0;c[f+192>>2]=0;c[b+200>>2]=f;f=1}else f=0;a[b+273>>0]=f;c[6472]=(c[6472]|0)+1;f=ic(87)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}c[f>>2]=5648;a[f+20>>0]=1;c[f+16>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;a[f+40>>0]=1;c[f+36>>2]=0;c[f+28>>2]=0;c[f+32>>2]=0;a[f+60>>0]=1;c[f+56>>2]=0;c[f+48>>2]=0;c[f+52>>2]=0;a[f+64>>0]=1;c[b+204>>2]=f;a[b+272>>0]=1;c[6472]=(c[6472]|0)+1;f=ic(107)|0;if(!f){e=0;h=c[b+200>>2]|0;c[e>>2]=4500;f=e+4|0;c[f>>2]=0;f=e+8|0;c[f>>2]=h;f=e+12|0;c[f>>2]=0;f=e+16|0;c[f>>2]=0;f=e+20|0;c[f>>2]=0;f=e+24|0;c[f>>2]=d;d=e+44|0;a[d>>0]=1;d=e+40|0;c[d>>2]=0;d=e+32|0;c[d>>2]=0;d=e+36|0;c[d>>2]=0;d=e+64|0;a[d>>0]=1;d=e+60|0;c[d>>2]=0;d=e+52|0;c[d>>2]=0;d=e+56|0;c[d>>2]=0;d=e+84|0;a[d>>0]=1;d=e+80|0;c[d>>2]=0;d=e+72|0;c[d>>2]=0;d=e+76|0;c[d>>2]=0;c[b+196>>2]=e;return}c[(f+4+15&-16)+-4>>2]=f;h=f+4+15&-16;f=c[b+200>>2]|0;c[h>>2]=4500;e=h+4|0;c[e>>2]=0;e=h+8|0;c[e>>2]=f;e=h+12|0;c[e>>2]=0;e=h+16|0;c[e>>2]=0;e=h+20|0;c[e>>2]=0;e=h+24|0;c[e>>2]=d;d=h+44|0;a[d>>0]=1;d=h+40|0;c[d>>2]=0;d=h+32|0;c[d>>2]=0;d=h+36|0;c[d>>2]=0;d=h+64|0;a[d>>0]=1;d=h+60|0;c[d>>2]=0;d=h+52|0;c[d>>2]=0;d=h+56|0;c[d>>2]=0;d=h+84|0;a[d>>0]=1;d=h+80|0;c[d>>2]=0;d=h+72|0;c[d>>2]=0;d=h+76|0;c[d>>2]=0;c[b+196>>2]=h;return}function Td(a,d,f,h,i){a=a|0;d=d|0;f=f|0;h=h|0;i=i|0;var j=0,k=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;I=l;l=l+16|0;c[d+16>>2]=c[f>>2];c[d+16+4>>2]=c[f+4>>2];c[d+16+8>>2]=c[f+8>>2];c[d+16+12>>2]=c[f+12>>2];c[d+32>>2]=c[h>>2];c[d+32+4>>2]=c[h+4>>2];c[d+32+8>>2]=c[h+8>>2];c[d+32+12>>2]=c[h+12>>2];u=c[a+60>>2]|0;F=c[d+12>>2]&65535;hj(a,I+6|0,+g[f>>2],+g[f+4>>2],+g[f+8>>2],0);hj(a,I,+g[h>>2],+g[h+4>>2],+g[h+8>>2],1);E=0;do{t=b[u+(F<<6)+48+(E<<1)>>1]|0;y=b[u+(F<<6)+54+(E<<1)>>1]|0;o=b[I+6+(E<<1)>>1]|0;p=a+68+(E<<2)|0;r=c[p>>2]|0;s=(o&65535)-(e[r+((t&65535)<<2)>>1]|0)|0;q=b[I+(E<<1)>>1]|0;H=(q&65535)-(e[r+((y&65535)<<2)>>1]|0)|0;b[r+((t&65535)<<2)>>1]=o;b[r+((y&65535)<<2)>>1]=q;if((s|0)<0)kh(a,E,t);a:do if((H|0)>0?(D=c[p>>2]|0,v=c[a+60>>2]|0,G=e[D+((y&65535)<<2)+2>>1]|0,w=b[D+((y&65535)<<2)+6>>1]|0,w<<16>>16):0){n=1<>1]|0;if((e[r>>1]|0)<(k&65535))break a;m=c[a+60>>2]|0;j=j&65535;if(!(k&1)){if(((((e[v+(G<<6)+54+(n<<1)>>1]|0)>=(e[m+(j<<6)+48+(n<<1)>>1]|0)?(e[m+(j<<6)+54+(n<<1)>>1]|0)>=(e[v+(G<<6)+48+(n<<1)>>1]|0):0)?(e[v+(G<<6)+54+((1<>1]|0)>=(e[m+(j<<6)+48+((1<>1]|0):0)?(e[m+(j<<6)+54+((1<>1]|0)>=(e[v+(G<<6)+48+((1<>1]|0):0)?(z=c[a+92>>2]|0,x=m+((e[r+2>>1]|0)<<6)|0,ub[c[(c[z>>2]|0)+8>>2]&63](z,x,m+(j<<6)|0)|0,z=c[a+96>>2]|0,z|0):0)ub[c[(c[z>>2]|0)+8>>2]&63](z,x,m+(j<<6)|0)|0;j=m+(j<<6)+48+(E<<1)|0}else j=m+(j<<6)+54+(E<<1)|0;b[j>>1]=(b[j>>1]|0)+-1<<16>>16;b[o>>1]=(b[o>>1]|0)+1<<16>>16;j=e[r>>1]|e[r+2>>1]<<16;m=e[q>>1]|e[q+2>>1]<<16;b[r>>1]=m;b[r+2>>1]=m>>>16;b[q>>1]=j;b[q+2>>1]=j>>>16;j=b[r+10>>1]|0}while(j<<16>>16!=0)}while(0);b:do if((s|0)>0?(A=c[p>>2]|0,B=b[A+((t&65535)<<2)+6>>1]|0,B<<16>>16):0){q=(c[a+60>>2]|0)+((e[A+((t&65535)<<2)+2>>1]|0)<<6)+48+(E<<1)|0;p=1<>1]|0;if((e[o>>1]|0)<(j&65535))break b;m=c[a+60>>2]|0;k=k&65535;if(!(j&1))j=m+(k<<6)+48+(E<<1)|0;else{j=e[o+2>>1]|0;if(((((e[m+(j<<6)+54+(p<<1)>>1]|0)>=(e[m+(k<<6)+48+(p<<1)>>1]|0)?(e[m+(k<<6)+54+(p<<1)>>1]|0)>=(e[m+(j<<6)+48+(p<<1)>>1]|0):0)?(e[m+(j<<6)+54+((1<>1]|0)>=(e[m+(k<<6)+48+((1<>1]|0):0)?(e[m+(k<<6)+54+((1<>1]|0)>=(e[m+(j<<6)+48+((1<>1]|0):0)?(C=c[a+92>>2]|0,vb[c[(c[C>>2]|0)+12>>2]&31](C,m+(j<<6)|0,m+(k<<6)|0,i)|0,C=c[a+96>>2]|0,C|0):0)vb[c[(c[C>>2]|0)+12>>2]&31](C,m+(j<<6)|0,m+(k<<6)|0,i)|0;j=m+(k<<6)+54+(E<<1)|0}b[j>>1]=(b[j>>1]|0)+-1<<16>>16;b[q>>1]=(b[q>>1]|0)+1<<16>>16;k=e[o>>1]|e[o+2>>1]<<16;t=e[n>>1]|e[n+2>>1]<<16;b[o>>1]=t;b[o+2>>1]=t>>>16;b[n>>1]=k;b[n+2>>1]=k>>>16;k=b[o+10>>1]|0}while(k<<16>>16!=0)}while(0);if((H|0)<0)gh(a,E,y,i);E=E+1|0}while((E|0)!=3);j=c[a+108>>2]|0;if(!j){l=I;return}Rb[c[(c[j>>2]|0)+16>>2]&31](j,c[d+60>>2]|0,f,h,i);l=I;return}function Ud(b,d,e){b=b|0;d=+d;e=+e;var f=0,h=0,i=0,j=0.0,k=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,u=0.0,v=0.0,w=0.0;s=l;l=l+80|0;f=c[b+8>>2]|0;if(!f){f=c[b+4>>2]|0;if(!f){k=0.0;o=0.0;m=0.0;d=0.0;j=0.0;n=0.0}else{r=+g[f+336>>2];j=+g[b+172>>2];t=+g[f+340>>2];p=+g[b+168>>2];n=+g[b+164>>2];q=+g[f+332>>2];k=+g[f+316>>2];o=+g[f+320>>2];m=+g[f+324>>2];d=r*j-t*p;j=t*n-j*q;n=p*q-r*n}}else{t=+g[f+332>>2];j=+g[b+172>>2];p=+g[f+336>>2];q=+g[b+168>>2];n=+g[b+164>>2];r=+g[f+328>>2];k=+g[f+312>>2];o=+g[f+316>>2];m=+g[f+320>>2];d=t*j-p*q;j=p*n-j*r;n=q*r-t*n}p=k+d;r=o+j;q=m+n;f=c[b+20>>2]|0;if(!f){f=c[b+16>>2]|0;if(!f){k=0.0;n=0.0;m=0.0;d=0.0;j=0.0;o=0.0}else{t=+g[f+336>>2];j=+g[b+188>>2];w=+g[f+340>>2];v=+g[b+184>>2];o=+g[b+180>>2];u=+g[f+332>>2];k=+g[f+316>>2];n=+g[f+320>>2];m=+g[f+324>>2];d=t*j-w*v;j=w*o-j*u;o=v*u-t*o}}else{w=+g[f+332>>2];j=+g[b+188>>2];t=+g[f+336>>2];u=+g[b+184>>2];o=+g[b+180>>2];v=+g[f+328>>2];k=+g[f+312>>2];n=+g[f+316>>2];m=+g[f+320>>2];d=w*j-t*u;j=t*o-j*v;o=u*v-w*o}p=p-(k+d);n=r-(n+j);m=q-(m+o);d=+g[b+196>>2];j=+g[b+200>>2];k=+g[b+204>>2];a[s+36+32>>0]=1;c[s+36+16>>2]=0;c[s+36+16+4>>2]=0;c[s+36+16+8>>2]=0;c[s+36+16+12>>2]=0;c[s+36>>2]=c[b+72>>2];c[s+36+4>>2]=c[b+72+4>>2];c[s+36+8>>2]=c[b+72+8>>2];c[s+36+12>>2]=c[b+72+12>>2];if(d*p+n*j+m*k<0.0){u=+g[b+212>>2];v=+g[s+36>>2]+((d*p+n*j+m*k)*d+(p-(d*p+n*j+m*k)*d)*u);g[s+36>>2]=v;w=(d*p+n*j+m*k)*j+u*(n-(d*p+n*j+m*k)*j)+ +g[s+36+4>>2];g[s+36+4>>2]=w;k=(d*p+n*j+m*k)*k+u*(m-(d*p+n*j+m*k)*k)+ +g[s+36+8>>2];g[s+36+8>>2]=k;d=v;j=w;f=s+36+8|0;h=s+36|0;i=s+36+4|0}else{d=+g[s+36>>2];j=+g[s+36+4>>2];k=+g[s+36+8>>2];f=s+36+8|0;h=s+36|0;i=s+36+4|0}m=(+g[b+104>>2]*d+ +g[b+108>>2]*j+ +g[b+112>>2]*k)*e;n=(d*+g[b+120>>2]+j*+g[b+124>>2]+k*+g[b+128>>2])*e;d=(d*+g[b+136>>2]+j*+g[b+140>>2]+k*+g[b+144>>2])*e;g[h>>2]=m;g[i>>2]=n;g[f>>2]=d;g[s+36+12>>2]=0.0;f=c[b+4>>2]|0;if((f|0)!=(c[b+16>>2]|0)){f=s;h=s+36|0;i=f+36|0;do{c[f>>2]=c[h>>2];f=f+4|0;h=h+4|0}while((f|0)<(i|0));w=-+g[s+4>>2];v=-+g[s+8>>2];g[s>>2]=-+g[s>>2];g[s+4>>2]=w;g[s+8>>2]=v;g[s+12>>2]=0.0;v=-+g[s+20>>2];w=-+g[s+24>>2];g[s+16>>2]=-+g[s+16>>2];g[s+20>>2]=v;g[s+24>>2]=w;g[s+28>>2]=0.0;Dh(b+4|0,s,b+164|0);Dh(b+16|0,s+36|0,b+180|0);l=s;return}if(!(m==m&n==n&(d==d&0.0==0.0))){l=s;return}w=+C(+(m*m+n*n+d*d));if(w<+g[f+368>>2]){l=s;return}h=c[s+36+32>>2]|0;w=+g[f+372>>2];g[s+12>>2]=0.0;g[s+28>>2]=0.0;c[s+32>>2]=h;g[s>>2]=-(m*w);g[s+4>>2]=-(n*w);g[s+8>>2]=-(d*w);g[s+16>>2]=w*-0.0;g[s+20>>2]=w*-0.0;g[s+24>>2]=w*-0.0;Dh(b+4|0,s,b+164|0);d=+g[(c[b+4>>2]|0)+372>>2];f=s;h=s+36|0;i=f+36|0;do{c[f>>2]=c[h>>2];f=f+4|0;h=h+4|0}while((f|0)<(i|0));g[s>>2]=d*+g[s>>2];g[s+4>>2]=d*+g[s+4>>2];g[s+8>>2]=d*+g[s+8>>2];g[s+16>>2]=d*+g[s+16>>2];g[s+20>>2]=d*+g[s+20>>2];g[s+24>>2]=d*+g[s+24>>2];Dh(b+16|0,s,b+180|0);l=s;return}function Vd(b,d){b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0,j=0.0,k=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0;u=l;l=l+96|0;s=c[b+12>>2]|0;Nb[c[(c[s>>2]|0)+8>>2]&127](s,(c[b+8>>2]|0)+4|0,u+80|0,u+64|0);s=c[d+68>>2]|0;Rb[c[(c[s>>2]|0)+16>>2]&31](s,c[(c[b+8>>2]|0)+188>>2]|0,u+80|0,u+64|0,c[d+24>>2]|0);s=c[d+24>>2]|0;Nb[c[(c[s>>2]|0)+32>>2]&127](s,c[(c[b+8>>2]|0)+284>>2]|0,d+28|0,s);s=c[b+8>>2]|0;c[b+92>>2]=c[s+52>>2];c[b+92+4>>2]=c[s+52+4>>2];c[b+92+8>>2]=c[s+52+8>>2];c[b+92+12>>2]=c[s+52+12>>2];s=c[s+284>>2]|0;if((qb[c[(c[s>>2]|0)+36>>2]&127](s)|0)>0){s=0;h=0.0;d=0;do{e=c[b+132>>2]|0;if((e|0)<0){if((c[b+136>>2]|0)<0){f=c[b+140>>2]|0;if(f|0){if(a[b+144>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0)}c[b+140>>2]=0}a[b+144>>0]=1;c[b+140>>2]=0;c[b+136>>2]=0}do{c[(c[b+140>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=0)}c[b+132>>2]=0;e=c[(c[b+8>>2]|0)+284>>2]|0;e=c[(qb[c[(c[e>>2]|0)+28>>2]&127](e)|0)+12>>2]|0;r=c[c[e+(s<<4)>>2]>>2]|0;f=c[c[e+(s<<4)+4>>2]>>2]|0;if(!((r|0)!=0?(c[r+204>>2]&4|0)!=0:0))t=14;do if((t|0)==14){t=0;if(f|0?c[f+204>>2]&4|0:0)break;e=c[e+(s<<4)+8>>2]|0;if(e|0)Gb[c[(c[e>>2]|0)+16>>2]&127](e,b+128|0);q=c[b+132>>2]|0;if((q|0)>0){o=c[b+140>>2]|0;p=c[b+8>>2]|0;r=0;do{m=c[o+(r<<2)>>2]|0;n=(c[m+740>>2]|0)==(p|0)?-1.0:1.0;e=c[m+748>>2]|0;if((e|0)>0){k=0;do{j=+g[m+4+(k*184|0)+80>>2];if(j<0.0){i=m+4+(k*184|0)+64|0;if(j>2];f=m+4+(k*184|0)+72|0;h=n*+g[f>>2];g[b+152>>2]=n*+g[i>>2];g[b+156>>2]=v;g[b+160>>2]=h;g[b+164>>2]=0.0;e=c[m+748>>2]|0;h=j}else{d=m+4+(k*184|0)+68|0;f=m+4+(k*184|0)+72|0}w=j*n*+g[d>>2]*.20000000298023224;v=j*n*+g[f>>2]*.20000000298023224;g[b+92>>2]=j*n*+g[i>>2]*.20000000298023224+ +g[b+92>>2];g[b+96>>2]=w+ +g[b+96>>2];g[b+100>>2]=v+ +g[b+100>>2];d=1}k=k+1|0}while((k|0)<(e|0))}r=r+1|0}while((r|0)!=(q|0))}}while(0);s=s+1|0;r=c[(c[b+8>>2]|0)+284>>2]|0}while((s|0)<(qb[c[(c[r>>2]|0)+36>>2]&127](r)|0))}else d=0;t=c[b+8>>2]|0;c[u>>2]=c[t+4>>2];c[u+4>>2]=c[t+4+4>>2];c[u+8>>2]=c[t+4+8>>2];c[u+12>>2]=c[t+4+12>>2];c[u+16>>2]=c[t+20>>2];c[u+16+4>>2]=c[t+20+4>>2];c[u+16+8>>2]=c[t+20+8>>2];c[u+16+12>>2]=c[t+20+12>>2];c[u+32>>2]=c[t+36>>2];c[u+32+4>>2]=c[t+36+4>>2];c[u+32+8>>2]=c[t+36+8>>2];c[u+32+12>>2]=c[t+36+12>>2];c[u+48>>2]=c[b+92>>2];c[u+48+4>>2]=c[b+92+4>>2];c[u+48+8>>2]=c[b+92+8>>2];c[u+48+12>>2]=c[b+92+12>>2];c[t+260>>2]=(c[t+260>>2]|0)+1;c[t+4>>2]=c[u>>2];c[t+4+4>>2]=c[u+4>>2];c[t+4+8>>2]=c[u+8>>2];c[t+4+12>>2]=c[u+12>>2];c[t+20>>2]=c[u+16>>2];c[t+20+4>>2]=c[u+16+4>>2];c[t+20+8>>2]=c[u+16+8>>2];c[t+20+12>>2]=c[u+16+12>>2];c[t+36>>2]=c[u+32>>2];c[t+36+4>>2]=c[u+32+4>>2];c[t+36+8>>2]=c[u+32+8>>2];c[t+36+12>>2]=c[u+32+12>>2];c[t+52>>2]=c[u+48>>2];c[t+52+4>>2]=c[u+48+4>>2];c[t+52+8>>2]=c[u+48+8>>2];c[t+52+12>>2]=c[u+48+12>>2];l=u;return d|0}function Wd(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,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0.0,u=0.0;s=l;l=l+48|0;c[s+16>>2]=c[e>>2];c[s+16+4>>2]=c[e+4>>2];c[s+16+8>>2]=c[e+8>>2];c[s+16+12>>2]=c[e+12>>2];c[s+16+16>>2]=c[f>>2];c[s+16+16+4>>2]=c[f+4>>2];c[s+16+16+8>>2]=c[f+8>>2];c[s+16+16+12>>2]=c[f+12>>2];do if((c[d+60>>2]|0)==2){h=c[d+48>>2]|0;Sg(b+64|0,h)|0;i=c[b+68>>2]|0;if(i|0){c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0)}c[b+68>>2]=h;c[b+76>>2]=(c[b+76>>2]|0)+-1;h=c[b+8>>2]|0;if(!h){c[6472]=(c[6472]|0)+1;h=ic(63)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}i=h;j=i+44|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0))}else c[b+8>>2]=0;c[h+32>>2]=0;c[h+36>>2]=d;c[h+40>>2]=0;c[h>>2]=c[s+16>>2];c[h+4>>2]=c[s+16+4>>2];c[h+8>>2]=c[s+16+8>>2];c[h+12>>2]=c[s+16+12>>2];c[h+16>>2]=c[s+16+16>>2];c[h+20>>2]=c[s+16+20>>2];c[h+24>>2]=c[s+16+24>>2];c[h+28>>2]=c[s+16+28>>2];af(b+4|0,c[b+4>>2]|0,h);c[b+16>>2]=(c[b+16>>2]|0)+1;c[d+48>>2]=h;j=1}else{c[b+168>>2]=(c[b+168>>2]|0)+1;r=c[d+48>>2]|0;if(((((+g[r>>2]<=+g[s+16+16>>2]?+g[r+16>>2]>=+g[s+16>>2]:0)?+g[r+4>>2]<=+g[s+16+20>>2]:0)?+g[r+20>>2]>=+g[s+16+4>>2]:0)?+g[r+8>>2]<=+g[s+16+24>>2]:0)?+g[r+24>>2]>=+g[s+16+8>>2]:0){m=+g[d+16>>2];t=+g[e>>2]-m;n=+g[d+20>>2];q=+g[e+4>>2]-n;o=+g[d+24>>2];p=+g[e+8>>2]-o;u=+g[b+140>>2];m=(+g[d+32>>2]-m)*.5*u;n=(+g[d+36>>2]-n)*.5*u;o=u*(+g[d+40>>2]-o)*.5;g[s>>2]=m;g[s+4>>2]=n;g[s+8>>2]=o;g[s+12>>2]=0.0;if(t<0.0)g[s>>2]=-m;if(q<0.0)g[s+4>>2]=-n;if(p<0.0)g[s+8>>2]=-o;if(Zg(b+4|0,r,s+16|0,s,.05000000074505806)|0){c[b+172>>2]=(c[b+172>>2]|0)+1;h=1}else h=0;j=h;break}h=Sg(b+4|0,r)|0;a:do if(h){j=c[b+12>>2]|0;if((j|0)<=-1){h=c[b+4>>2]|0;break}if(j){k=0;i=h;while(1){h=c[i+32>>2]|0;k=k+1|0;if(!h){h=i;break a}if((k|0)>=(j|0))break;else i=h}}}else h=0;while(0);c[r>>2]=c[s+16>>2];c[r+4>>2]=c[s+16+4>>2];c[r+8>>2]=c[s+16+8>>2];c[r+12>>2]=c[s+16+12>>2];c[r+16>>2]=c[s+16+16>>2];c[r+20>>2]=c[s+16+20>>2];c[r+24>>2]=c[s+16+24>>2];c[r+28>>2]=c[s+16+28>>2];af(b+4|0,h,r);c[b+172>>2]=(c[b+172>>2]|0)+1;j=1}while(0);h=c[d+52>>2]|0;if(!h)h=b+124+(c[d+60>>2]<<2)|0;else h=h+56|0;c[h>>2]=c[d+56>>2];h=c[d+56>>2]|0;if(h|0)c[h+52>>2]=c[d+52>>2];c[d+16>>2]=c[e>>2];c[d+16+4>>2]=c[e+4>>2];c[d+16+8>>2]=c[e+8>>2];c[d+16+12>>2]=c[e+12>>2];c[d+32>>2]=c[f>>2];c[d+32+4>>2]=c[f+4>>2];c[d+32+8>>2]=c[f+8>>2];c[d+32+12>>2]=c[f+12>>2];h=c[b+144>>2]|0;c[d+60>>2]=h;c[d+52>>2]=0;c[d+56>>2]=c[b+124+(h<<2)>>2];i=c[b+124+(h<<2)>>2]|0;if(i|0)c[i+52>>2]=d;c[b+124+(h<<2)>>2]=d;if(!j){l=s;return}a[b+194>>0]=1;if(a[b+193>>0]|0){l=s;return}c[s>>2]=9096;c[s+4>>2]=b;he(b+64|0,c[b+64>>2]|0,c[d+48>>2]|0,s);he(b+4|0,c[b+4>>2]|0,c[d+48>>2]|0,s);l=s;return}function Xd(b){b=b|0;var d=0.0,e=0,f=0,h=0,i=0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0;q=l;l=l+80|0;if((qb[c[(c[b>>2]|0)+20>>2]&127](b)|0?(j=qb[c[(c[b>>2]|0)+20>>2]&127](b)|0,(qb[c[(c[j>>2]|0)+48>>2]&127](j)|0)&8|0):0)?(f=c[b+24>>2]|0,f=qb[c[(c[f>>2]|0)+36>>2]&127](f)|0,c[q+64>>2]=1065353216,c[q+64+4>>2]=1065353216,c[q+64+8>>2]=0,g[q+64+12>>2]=0.0,(f|0)>0):0){i=0;do{h=c[b+24>>2]|0;h=sb[c[(c[h>>2]|0)+40>>2]&31](h,i)|0;e=c[h+748>>2]|0;if((e|0)>0){j=0;do{r=qb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Mb[c[(c[r>>2]|0)+32>>2]&0](r,h+4+(j*184|0)+32|0,h+4+(j*184|0)+64|0,+g[h+4+(j*184|0)+80>>2],c[h+4+(j*184|0)+148>>2]|0,q+64|0);j=j+1|0}while((j|0)!=(e|0))}i=i+1|0}while((i|0)!=(f|0))}if(!(qb[c[(c[b>>2]|0)+20>>2]&127](b)|0)){l=q;return}r=qb[c[(c[b>>2]|0)+20>>2]&127](b)|0;if(!((qb[c[(c[r>>2]|0)+48>>2]&127](r)|0)&3)){l=q;return}if((c[b+8>>2]|0)<=0){l=q;return}j=0;do{i=c[(c[b+16>>2]|0)+(j<<2)>>2]|0;if(!(c[i+204>>2]&32)){if(qb[c[(c[b>>2]|0)+20>>2]&127](b)|0?(r=qb[c[(c[b>>2]|0)+20>>2]&127](b)|0,(qb[c[(c[r>>2]|0)+48>>2]&127](r)|0)&1|0):0){c[q+64>>2]=1065353216;c[q+64+4>>2]=1065353216;c[q+64+8>>2]=1065353216;g[q+64+12>>2]=0.0;switch(c[i+216>>2]|0){case 1:{e=1065353216;f=1065353216;h=1065353216;break}case 2:{e=0;f=1065353216;h=0;break}case 3:{e=1065353216;f=1065353216;h=0;break}case 4:{e=0;f=0;h=1065353216;break}case 5:{e=0;f=1065353216;h=1065353216;break}default:{e=0;f=0;h=1065353216}}c[q+64>>2]=h;c[q+64+4>>2]=f;c[q+64+8>>2]=e;g[q+64+12>>2]=0.0;Nb[c[(c[b>>2]|0)+28>>2]&127](b,i+4|0,c[i+192>>2]|0,q+64|0)}e=c[b+72>>2]|0;if(e|0?(qb[c[(c[e>>2]|0)+48>>2]&127](e)|0)&2|0:0){c[q+32>>2]=1065353216;c[q+32+4>>2]=0;c[q+32+8>>2]=0;g[q+32+12>>2]=0.0;r=c[i+192>>2]|0;Nb[c[(c[r>>2]|0)+8>>2]&127](r,i+4|0,q+64|0,q+48|0);g[q+64>>2]=+g[q+64>>2]+-.019999999552965164;g[q+64+4>>2]=+g[q+64+4>>2]+-.019999999552965164;g[q+64+8>>2]=+g[q+64+8>>2]+-.019999999552965164;g[q+48>>2]=+g[q+48>>2]+.019999999552965164;g[q+48+4>>2]=+g[q+48+4>>2]+.019999999552965164;g[q+48+8>>2]=+g[q+48+8>>2]+.019999999552965164;do if((a[b+44>>0]|0?(c[i+236>>2]|0)==2:0)?(c[i+204>>2]&3|0)==0:0){r=c[i+192>>2]|0;Nb[c[(c[r>>2]|0)+8>>2]&127](r,i+68|0,q+16|0,q);d=+g[q+16>>2]+-.019999999552965164;g[q+16>>2]=d;m=+g[q+16+4>>2]+-.019999999552965164;g[q+16+4>>2]=m;k=+g[q+16+8>>2]+-.019999999552965164;g[q+16+8>>2]=k;n=+g[q>>2]+.019999999552965164;g[q>>2]=n;p=+g[q+4>>2]+.019999999552965164;g[q+4>>2]=p;o=+g[q+8>>2]+.019999999552965164;g[q+8>>2]=o;if(d<+g[q+64>>2])g[q+64>>2]=d;if(m<+g[q+64+4>>2])g[q+64+4>>2]=m;if(k<+g[q+64+8>>2])g[q+64+8>>2]=k;d=+g[q+16+12>>2];if(d<+g[q+64+12>>2])g[q+64+12>>2]=d;if(+g[q+48>>2]>2]=n;if(+g[q+48+4>>2]>2]=p;if(+g[q+48+8>>2]>2]=o;d=+g[q+12>>2];if(!(+g[q+48+12>>2]>2]=d}while(0);r=c[b+72>>2]|0;Nb[c[(c[r>>2]|0)+52>>2]&127](r,q+64|0,q+48|0,q+32|0)}}j=j+1|0}while((j|0)<(c[b+8>>2]|0));l=q;return}function Yd(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;c[b>>2]=5416;c[6472]=(c[6472]|0)+1;e=ic(379)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}g[e+308>>2]=9.999999747378752e-05;l=e+332|0;a[l>>0]=a[l>>0]&-16;c[b+24>>2]=e;l=(c[d+20>>2]|0)==0;c[6472]=(c[6472]|0)+1;k=ic(23)|0;e=(l?k+4|0:k+4|0)+15&-16;c[e+-4>>2]=k;c[e>>2]=l?9264:9312;c[b+28>>2]=e;c[6472]=(c[6472]|0)+1;e=ic(43)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}k=c[b+24>>2]|0;l=c[b+28>>2]|0;a[e+4>>0]=0;c[e>>2]=6224;c[e+16>>2]=0;c[e+20>>2]=3;c[e+12>>2]=k;c[e+8>>2]=l;c[b+32>>2]=e;c[6472]=(c[6472]|0)+1;e=ic(27)|0;l=e+4+15&-16;c[l+-4>>2]=e;a[l+4>>0]=0;c[(e+4+15&-16)>>2]=5448;c[b+36>>2]=l;c[6472]=(c[6472]|0)+1;l=ic(27)|0;e=l+4+15&-16;c[e+-4>>2]=l;a[e+4>>0]=0;c[(l+4+15&-16)>>2]=5468;c[b+40>>2]=e;c[6472]=(c[6472]|0)+1;e=ic(27)|0;l=e+4+15&-16;c[l+-4>>2]=e;a[l+4>>0]=0;c[(e+4+15&-16)>>2]=5488;c[b+44>>2]=l;c[6472]=(c[6472]|0)+1;l=ic(27)|0;e=l+4+15&-16;c[e+-4>>2]=l;a[e+4>>0]=0;c[(l+4+15&-16)>>2]=5508;c[b+48>>2]=e;c[6472]=(c[6472]|0)+1;e=ic(27)|0;l=e+4+15&-16;c[l+-4>>2]=e;a[l+4>>0]=0;c[(e+4+15&-16)>>2]=5528;c[b+52>>2]=l;c[6472]=(c[6472]|0)+1;l=ic(27)|0;e=l+4+15&-16;c[e+-4>>2]=l;a[e+4>>0]=0;c[(l+4+15&-16)>>2]=5548;c[b+56>>2]=e;c[6472]=(c[6472]|0)+1;e=ic(27)|0;l=e+4+15&-16;c[l+-4>>2]=e;a[l+4>>0]=0;c[(e+4+15&-16)>>2]=5568;c[b+60>>2]=l;c[6472]=(c[6472]|0)+1;l=ic(27)|0;e=l+4+15&-16;c[e+-4>>2]=l;a[e+4>>0]=0;c[(l+4+15&-16)>>2]=5588;c[b+76>>2]=e;c[6472]=(c[6472]|0)+1;e=ic(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[e>>2]=5588;c[b+80>>2]=e;a[e+4>>0]=1;c[6472]=(c[6472]|0)+1;l=ic(27)|0;e=l+4+15&-16;c[e+-4>>2]=l;a[e+4>>0]=0;c[(l+4+15&-16)>>2]=5608;c[b+72>>2]=e;c[6472]=(c[6472]|0)+1;e=ic(35)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=5628;c[e+8>>2]=1;c[e+12>>2]=0;c[b+88>>2]=e;c[6472]=(c[6472]|0)+1;e=ic(35)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[e>>2]=5628;c[e+8>>2]=1;c[e+12>>2]=0;c[b+84>>2]=e;a[e+4>>0]=1;l=c[d+16>>2]|0;l=(l|0)>80?l:80;e=c[d>>2]|0;if(!e){a[b+12>>0]=1;c[6472]=(c[6472]|0)+1;e=ic(39)|0;if(!e)k=0;else{c[(e+4+15&-16)+-4>>2]=e;k=e+4+15&-16}e=c[d+8>>2]|0;c[k>>2]=772;f=k+4|0;c[f>>2]=e;c[6472]=(c[6472]|0)+1;e=ic((e*772|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[k+16>>2]=e;c[k+12>>2]=e;f=c[f>>2]|0;c[k+8>>2]=f;if(f+-1|0){h=c[k>>2]|0;i=f+-1|0;j=e;do{m=j;j=j+h|0;c[m>>2]=j;i=i+-1|0}while((i|0)!=0);e=e+(O(h,f+-1|0)|0)|0}c[e>>2]=0;c[b+8>>2]=k}else{a[b+12>>0]=0;c[b+8>>2]=e}e=c[d+4>>2]|0;if(e|0){a[b+20>>0]=0;c[b+16>>2]=e;return}a[b+20>>0]=1;c[6472]=(c[6472]|0)+1;e=ic(39)|0;if(!e)k=0;else{c[(e+4+15&-16)+-4>>2]=e;k=e+4+15&-16}e=c[d+12>>2]|0;c[k>>2]=l;f=k+4|0;c[f>>2]=e;e=O(e,l)|0;c[6472]=(c[6472]|0)+1;e=ic(e+19|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[k+16>>2]=e;c[k+12>>2]=e;f=c[f>>2]|0;c[k+8>>2]=f;if(f+-1|0){h=c[k>>2]|0;i=f+-1|0;j=e;do{m=j;j=j+h|0;c[m>>2]=j;i=i+-1|0}while((i|0)!=0);e=e+(O(h,f+-1|0)|0)|0}c[e>>2]=0;c[b+16>>2]=k;return}function Zd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var h=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.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,x=0,y=0,z=0,A=0,D=0,E=0.0,F=0.0,G=0,H=0;D=l;l=l+192|0;y=c[b+4>>2]|0;s=+g[y+752>>2];if(s>2]|0;x=(c[b+8>>2]|0)+8|0;A=c[x>>2]|0;k=+g[e>>2];n=+g[d>>2]*f+k;m=+g[e+4>>2];r=+g[d+4>>2]*f+m;j=+g[e+8>>2];o=+g[d+8>>2]*f+j;w=(c[b+12>>2]|0)+8|0;p=c[w>>2]|0;h=+g[p+52>>2];if((z|0)!=(A|0)){E=r-+g[p+56>>2];t=o-+g[p+60>>2];q=A;i=+g[A+52>>2];u=(n-h)*+g[p+4>>2]+E*+g[p+20>>2]+t*+g[p+36>>2];v=(n-h)*+g[p+8>>2]+E*+g[p+24>>2]+t*+g[p+40>>2];t=(n-h)*+g[p+12>>2]+E*+g[p+28>>2]+t*+g[p+44>>2]}else{F=n-+g[z+52>>2];E=r-+g[z+56>>2];t=o-+g[z+60>>2];q=p;i=h;u=F*+g[z+4>>2]+E*+g[z+20>>2]+t*+g[z+36>>2];v=F*+g[z+8>>2]+E*+g[z+24>>2]+t*+g[z+40>>2];t=F*+g[z+12>>2]+E*+g[z+28>>2]+t*+g[z+44>>2]}i=k-i;k=m-+g[q+56>>2];F=j-+g[q+60>>2];m=i*+g[q+4>>2]+k*+g[q+20>>2]+F*+g[q+36>>2];E=i*+g[q+8>>2]+k*+g[q+24>>2]+F*+g[q+40>>2];F=i*+g[q+12>>2]+k*+g[q+28>>2]+F*+g[q+44>>2];g[D>>2]=u;g[D+4>>2]=v;g[D+8>>2]=t;g[D+12>>2]=0.0;g[D+16>>2]=m;g[D+20>>2]=E;g[D+24>>2]=F;g[D+28>>2]=0.0;c[D+64>>2]=c[d>>2];c[D+64+4>>2]=c[d+4>>2];c[D+64+8>>2]=c[d+8>>2];c[D+64+12>>2]=c[d+12>>2];g[D+80>>2]=f;g[D+84>>2]=0.0;g[D+88>>2]=0.0;g[D+92>>2]=0.0;c[D+112>>2]=0;a[D+116>>0]=0;c[D+120>>2]=0;c[D+120+4>>2]=0;c[D+120+8>>2]=0;c[D+120+12>>2]=0;c[D+120+16>>2]=0;c[D+120+20>>2]=0;c[D+120+24>>2]=0;c[D+120+28>>2]=0;g[D+48>>2]=n;g[D+52>>2]=r;g[D+56>>2]=o;g[D+60>>2]=0.0;c[D+32>>2]=c[e>>2];c[D+32+4>>2]=c[e+4>>2];c[D+32+8>>2]=c[e+8>>2];c[D+32+12>>2]=c[e+12>>2];d=c[y+748>>2]|0;if((d|0)>0){e=0;p=-1;h=s*s;while(1){i=+g[y+4+(e*184|0)>>2]-u;k=+g[y+4+(e*184|0)+4>>2]-v;j=+g[y+4+(e*184|0)+8>>2]-t;q=i*i+k*k+j*j>2]|0;x=c[w>>2]|0;h=+g[e+224>>2]*+g[x+224>>2];h=h<-10.0?-10.0:h;g[D+84>>2]=h>10.0?10.0:h;g[D+92>>2]=+g[e+228>>2]*+g[x+228>>2];h=+g[e+232>>2]*+g[x+232>>2];h=h<-10.0?-10.0:h;g[D+88>>2]=h>10.0?10.0:h;h=+g[D+72>>2];x=+B(+h)>.7071067690849304;i=+g[D+68>>2];if(x){E=1.0/+C(+(h*h+i*i));F=+g[D+64>>2];j=E*i;k=F*-(E*h);m=0.0;n=-(E*h);o=(h*h+i*i)*E;h=-(E*i*F)}else{o=+g[D+64>>2];F=1.0/+C(+(o*o+i*i));j=0.0;k=(o*o+i*i)*F;m=-(i*F);n=F*o;o=-(F*o*h);h=h*-(i*F)}g[D+152>>2]=m;g[D+156>>2]=n;g[D+160>>2]=j;g[D+168>>2]=o;g[D+172>>2]=h;g[D+176>>2]=k;w=c[b+20>>2]|0;e=c[b+16>>2]|0;x=c[b+28>>2]|0;b=c[b+24>>2]|0;c[D+96>>2]=(z|0)!=(A|0)?w:e;c[D+100>>2]=(z|0)!=(A|0)?e:w;c[D+104>>2]=(z|0)!=(A|0)?x:b;c[D+108>>2]=(z|0)!=(A|0)?b:x;if((p|0)>-1){b=y+4+(p*184|0)+148|0;A=c[b>>2]|0;d=y+4+(p*184|0)+120|0;q=c[d>>2]|0;w=y+4+(p*184|0)+124|0;e=c[w>>2]|0;z=y+4+(p*184|0)+128|0;x=c[z>>2]|0;G=y+4+(p*184|0)+112|0;H=c[G>>2]|0;_h(y+4+(p*184|0)|0,D|0,184)|0;c[G>>2]=H;c[d>>2]=q;c[w>>2]=e;c[z>>2]=x;c[b>>2]=A}else _e(y,D)|0;l=D;return}function _d(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0;p=l;l=l+144|0;if((c[a+16>>2]|0)<=0){o=a+76|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=c[a>>2]|0;b=b+68|0;b=c[b>>2]|0;Ab[b&511](a);l=p;return}m=p+16+16|0;k=p+16+32|0;o=p+16+48|0;n=0;do{j=c[a+24>>2]|0;i=j+(n*80|0)|0;c[p+16>>2]=c[i>>2];c[p+16+4>>2]=c[i+4>>2];c[p+16+8>>2]=c[i+8>>2];c[p+16+12>>2]=c[i+12>>2];i=j+(n*80|0)+16|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];i=j+(n*80|0)+32|0;c[k>>2]=c[i>>2];c[k+4>>2]=c[i+4>>2];c[k+8>>2]=c[i+8>>2];c[k+12>>2]=c[i+12>>2];i=j+(n*80|0)+48|0;c[o>>2]=c[i>>2];c[o+4>>2]=c[i+4>>2];c[o+8>>2]=c[i+8>>2];c[o+12>>2]=c[i+12>>2];j=c[j+(n*80|0)+64>>2]|0;j=qb[c[(c[j>>2]|0)+28>>2]&127](j)|0;c[p>>2]=c[j>>2];c[p+4>>2]=c[j+4>>2];c[p+8>>2]=c[j+8>>2];q=+g[p+4>>2]*+g[b+4>>2]/+g[a+80>>2];r=+g[p+8>>2]*+g[b+8>>2]/+g[a+84>>2];g[p>>2]=+g[p>>2]*+g[b>>2]/+g[a+76>>2];g[p+4>>2]=q;g[p+8>>2]=r;g[p+12>>2]=0.0;j=c[(c[a+24>>2]|0)+(n*80|0)+64>>2]|0;Gb[c[(c[j>>2]|0)+24>>2]&127](j,p);r=+g[p+16+52>>2]*+g[b+4>>2]/+g[a+80>>2];q=+g[p+16+56>>2]*+g[b+8>>2]/+g[a+84>>2];g[p+16+48>>2]=+g[o>>2]*+g[b>>2]/+g[a+76>>2];g[p+16+52>>2]=r;g[p+16+56>>2]=q;g[p+16+60>>2]=0.0;j=c[a+24>>2]|0;i=j+(n*80|0)|0;c[i>>2]=c[p+16>>2];c[i+4>>2]=c[p+16+4>>2];c[i+8>>2]=c[p+16+8>>2];c[i+12>>2]=c[p+16+12>>2];i=j+(n*80|0)+16|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];i=j+(n*80|0)+32|0;c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];j=j+(n*80|0)+48|0;c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];c[j+12>>2]=c[o+12>>2];if(c[a+64>>2]|0){i=c[(c[a+24>>2]|0)+(n*80|0)+64>>2]|0;Nb[c[(c[i>>2]|0)+8>>2]&127](i,p+16|0,p+128|0,p+112|0);c[p+80>>2]=c[p+128>>2];c[p+80+4>>2]=c[p+128+4>>2];c[p+80+8>>2]=c[p+128+8>>2];c[p+80+12>>2]=c[p+128+12>>2];c[p+80+16>>2]=c[p+112>>2];c[p+80+16+4>>2]=c[p+112+4>>2];c[p+80+16+8>>2]=c[p+112+8>>2];c[p+80+16+12>>2]=c[p+112+12>>2];i=c[a+64>>2]|0;j=c[(c[a+24>>2]|0)+(n*80|0)+76>>2]|0;d=Sg(i,j)|0;a:do if(d){f=c[i+8>>2]|0;if((f|0)<=-1){d=c[i>>2]|0;break}if(f){h=0;e=d;while(1){d=c[e+32>>2]|0;h=h+1|0;if(!d){d=e;break a}if((h|0)>=(f|0))break;else e=d}}}else d=0;while(0);c[j>>2]=c[p+80>>2];c[j+4>>2]=c[p+80+4>>2];c[j+8>>2]=c[p+80+8>>2];c[j+12>>2]=c[p+80+12>>2];c[j+16>>2]=c[p+80+16>>2];c[j+20>>2]=c[p+80+20>>2];c[j+24>>2]=c[p+80+24>>2];c[j+28>>2]=c[p+80+28>>2];af(i,d,j)}n=n+1|0}while((n|0)<(c[a+16>>2]|0));o=a+76|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=c[a>>2]|0;b=b+68|0;b=c[b>>2]|0;Ab[b&511](a);l=p;return}function $d(d,f,h,i,j,k){d=d|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0.0,m=0.0,n=0.0;c[d>>2]=8776;b[d+4>>1]=-2;b[d+6>>1]=-1;c[d+92>>2]=j;c[d+96>>2]=0;a[d+100>>0]=0;c[d+104>>2]=0;c[d+108>>2]=0;if(!j){c[6472]=(c[6472]|0)+1;j=ic(95)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}si(j);c[d+92>>2]=j;a[d+100>>0]=1}if(!k){c[6472]=(c[6472]|0)+1;j=ic(43)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}k=j+4|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;c[j>>2]=8840;a[j+20>>0]=1;c[j+16>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[d+112>>2]=j;c[6472]=(c[6472]|0)+1;j=ic(215)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}Fh(j,c[d+112>>2]|0);c[d+108>>2]=j;a[j+193>>0]=1}c[d+8>>2]=c[f>>2];c[d+8+4>>2]=c[f+4>>2];c[d+8+8>>2]=c[f+8>>2];c[d+8+12>>2]=c[f+12>>2];c[d+24>>2]=c[h>>2];c[d+24+4>>2]=c[h+4>>2];c[d+24+8>>2]=c[h+8>>2];c[d+24+12>>2]=c[h+12>>2];n=+(e[d+6>>1]|0);m=n/(+g[d+28>>2]-+g[d+12>>2]);l=n/(+g[d+32>>2]-+g[d+16>>2]);g[d+40>>2]=n/(+g[d+24>>2]-+g[d+8>>2]);g[d+44>>2]=m;g[d+48>>2]=l;g[d+52>>2]=0.0;f=(i&65535)+1&65535;c[6472]=(c[6472]|0)+1;j=ic(f<<6|19)|0;if(!j)h=0;else{c[(j+4+15&-16)+-4>>2]=j;h=j+4+15&-16}if(f|0){k=h+(f<<6)|0;j=h;do{c[j>>2]=0;c[j+8>>2]=0;j=j+64|0}while((j|0)!=(k|0))}c[d+60>>2]=h;b[d+58>>1]=(i&65535)+1;b[d+56>>1]=0;b[d+64>>1]=1;if(f>>>0>1){j=1;k=1;do{b[h+(j<<6)+48>>1]=j+1;k=k+1<<16>>16;j=k&65535}while(j>>>0>>0)}b[h+(f+-1<<6)+48>>1]=0;c[6472]=(c[6472]|0)+1;j=ic((f<<3|3)+16|0)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}c[d+80>>2]=j;c[d+68>>2]=j;c[6472]=(c[6472]|0)+1;j=ic((f<<3|3)+16|0)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}c[d+84>>2]=j;c[d+72>>2]=j;c[6472]=(c[6472]|0)+1;j=ic((f<<3|3)+16|0)|0;if(!j){h=0;i=d+88|0;c[i>>2]=h;i=d+76|0;c[i>>2]=h;h=c[d+60>>2]|0;c[h>>2]=0;f=h+48|0;b[f>>1]=0;f=h+54|0;b[f>>1]=1;f=c[d+68>>2]|0;b[f>>1]=0;k=f+2|0;b[k>>1]=0;k=b[d+6>>1]|0;j=f+4|0;b[j>>1]=k;f=f+6|0;b[f>>1]=0;f=h+50|0;b[f>>1]=0;f=h+56|0;b[f>>1]=1;f=c[d+72>>2]|0;b[f>>1]=0;j=f+2|0;b[j>>1]=0;j=b[d+6>>1]|0;k=f+4|0;b[k>>1]=j;f=f+6|0;b[f>>1]=0;f=h+52|0;b[f>>1]=0;h=h+58|0;b[h>>1]=1;i=c[i>>2]|0;b[i>>1]=0;h=i+2|0;b[h>>1]=0;h=b[d+6>>1]|0;f=i+4|0;b[f>>1]=h;i=i+6|0;b[i>>1]=0;c[d>>2]=8712;return}c[(j+4+15&-16)+-4>>2]=j;h=j+4+15&-16;i=d+88|0;c[i>>2]=h;i=d+76|0;c[i>>2]=h;h=c[d+60>>2]|0;c[h>>2]=0;f=h+48|0;b[f>>1]=0;f=h+54|0;b[f>>1]=1;f=c[d+68>>2]|0;b[f>>1]=0;k=f+2|0;b[k>>1]=0;k=b[d+6>>1]|0;j=f+4|0;b[j>>1]=k;f=f+6|0;b[f>>1]=0;f=h+50|0;b[f>>1]=0;f=h+56|0;b[f>>1]=1;f=c[d+72>>2]|0;b[f>>1]=0;j=f+2|0;b[j>>1]=0;j=b[d+6>>1]|0;k=f+4|0;b[k>>1]=j;f=f+6|0;b[f>>1]=0;f=h+52|0;b[f>>1]=0;h=h+58|0;b[h>>1]=1;i=c[i>>2]|0;b[i>>1]=0;h=i+2|0;b[h>>1]=0;h=b[d+6>>1]|0;f=i+4|0;b[f>>1]=h;i=i+6|0;b[i>>1]=0;c[d>>2]=8712;return}function ae(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0.0,k=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,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,X=0.0,Y=0.0;W=l;l=l+240|0;f=(a[b+8>>0]|0)!=0;h=f?e:d;f=f?d:e;S=+g[h+116>>2]-+g[h+52>>2];T=+g[h+120>>2]-+g[h+56>>2];U=+g[h+124>>2]-+g[h+60>>2];V=+g[h+252>>2];if(S*S+T*T+U*U>2];p=+g[f+20>>2];q=+g[f+36>>2];r=+g[f+8>>2];s=+g[f+24>>2];t=+g[f+40>>2];u=+g[f+12>>2];v=+g[f+28>>2];w=+g[f+44>>2];j=-+g[f+52>>2];k=-+g[f+56>>2];m=-+g[f+60>>2];x=+g[h+4>>2];y=+g[h+20>>2];z=+g[h+36>>2];A=+g[h+8>>2];B=+g[h+24>>2];C=+g[h+40>>2];D=+g[h+12>>2];E=+g[h+28>>2];F=+g[h+44>>2];H=+g[h+52>>2];G=+g[h+56>>2];T=+g[h+60>>2];R=P*j+p*k+q*m+(P*H+p*G+q*T);V=r*j+s*k+t*m+(r*H+s*G+t*T);T=u*j+v*k+w*m+(u*H+v*G+w*T);G=+g[h+68>>2];H=+g[h+84>>2];I=+g[h+100>>2];J=+g[h+72>>2];K=+g[h+88>>2];L=+g[h+104>>2];M=+g[h+76>>2];N=+g[h+92>>2];O=+g[h+108>>2];n=+g[h+116>>2];o=+g[h+120>>2];S=+g[h+124>>2];Q=P*j+p*k+q*m+(P*n+p*o+q*S);U=r*j+s*k+t*m+(r*n+s*o+t*S);S=u*j+v*k+w*m+(u*n+v*o+w*S);f=c[f+192>>2]|0;if(((c[f+4>>2]|0)+-21|0)>>>0>=9){X=1.0;l=W;return +X}g[W+224>>2]=R;g[W+224+4>>2]=V;g[W+224+8>>2]=T;g[W+224+12>>2]=0.0;if(Q>2]=Q;i=Q}else i=R;if(U>2]=U;j=U}else j=V;if(S>2]=S;k=S}else k=T;g[W+208>>2]=R;g[W+208+4>>2]=V;g[W+208+8>>2]=T;g[W+208+12>>2]=0.0;if(R>2]=Q;m=Q}else m=R;if(V>2]=U;n=U}else n=V;if(T>2]=S;o=S}else o=T;Y=+g[h+248>>2];g[W+224>>2]=i-Y;g[W+224+4>>2]=j-Y;g[W+224+8>>2]=k-Y;g[W+208>>2]=Y+m;g[W+208+4>>2]=Y+n;g[W+208+8>>2]=Y+o;c[W>>2]=3812;g[W+4>>2]=P*x+p*y+q*z;g[W+8>>2]=P*A+p*B+q*C;g[W+12>>2]=P*D+p*E+q*F;g[W+16>>2]=0.0;g[W+20>>2]=r*x+s*y+t*z;g[W+24>>2]=r*A+s*B+t*C;g[W+28>>2]=r*D+s*E+t*F;g[W+32>>2]=0.0;g[W+36>>2]=u*x+v*y+w*z;g[W+40>>2]=u*A+v*B+w*C;g[W+44>>2]=u*D+v*E+w*F;g[W+48>>2]=0.0;g[W+52>>2]=R;g[W+56>>2]=V;g[W+60>>2]=T;g[W+64>>2]=0.0;g[W+68>>2]=P*G+p*H+q*I;g[W+72>>2]=P*J+p*K+q*L;g[W+76>>2]=P*M+p*N+q*O;g[W+80>>2]=0.0;g[W+84>>2]=r*G+s*H+t*I;g[W+88>>2]=r*J+s*K+t*L;g[W+92>>2]=r*M+s*N+t*O;g[W+96>>2]=0.0;g[W+100>>2]=u*G+v*H+w*I;g[W+104>>2]=u*J+v*K+w*L;g[W+108>>2]=u*M+v*N+w*O;g[W+112>>2]=0.0;g[W+116>>2]=Q;g[W+120>>2]=U;g[W+124>>2]=S;g[W+128>>2]=0.0;g[W+196>>2]=Y;c[W+200>>2]=c[h+244>>2];if(f|0?(Nb[c[(c[f>>2]|0)+64>>2]&127](f,W,W+224|0,W+208|0),X=+g[W+200>>2],X<+g[h+244>>2]):0){g[h+244>>2]=X;Y=X;l=W;return +Y}Y=1.0;l=W;return +Y}function be(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0.0,k=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,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,X=0.0,Y=0.0;W=l;l=l+240|0;f=(a[b+8>>0]|0)!=0;h=f?e:d;f=f?d:e;S=+g[h+116>>2]-+g[h+52>>2];T=+g[h+120>>2]-+g[h+56>>2];U=+g[h+124>>2]-+g[h+60>>2];V=+g[h+252>>2];if(S*S+T*T+U*U>2];p=+g[f+20>>2];q=+g[f+36>>2];r=+g[f+8>>2];s=+g[f+24>>2];t=+g[f+40>>2];u=+g[f+12>>2];v=+g[f+28>>2];w=+g[f+44>>2];j=-+g[f+52>>2];k=-+g[f+56>>2];m=-+g[f+60>>2];x=+g[h+4>>2];y=+g[h+20>>2];z=+g[h+36>>2];A=+g[h+8>>2];B=+g[h+24>>2];C=+g[h+40>>2];D=+g[h+12>>2];E=+g[h+28>>2];F=+g[h+44>>2];H=+g[h+52>>2];G=+g[h+56>>2];T=+g[h+60>>2];R=P*j+p*k+q*m+(P*H+p*G+q*T);V=r*j+s*k+t*m+(r*H+s*G+t*T);T=u*j+v*k+w*m+(u*H+v*G+w*T);G=+g[h+68>>2];H=+g[h+84>>2];I=+g[h+100>>2];J=+g[h+72>>2];K=+g[h+88>>2];L=+g[h+104>>2];M=+g[h+76>>2];N=+g[h+92>>2];O=+g[h+108>>2];n=+g[h+116>>2];o=+g[h+120>>2];S=+g[h+124>>2];Q=P*j+p*k+q*m+(P*n+p*o+q*S);U=r*j+s*k+t*m+(r*n+s*o+t*S);S=u*j+v*k+w*m+(u*n+v*o+w*S);f=c[f+192>>2]|0;if(((c[f+4>>2]|0)+-21|0)>>>0>=9){X=1.0;l=W;return +X}g[W+224>>2]=R;g[W+224+4>>2]=V;g[W+224+8>>2]=T;g[W+224+12>>2]=0.0;if(Q>2]=Q;i=Q}else i=R;if(U>2]=U;j=U}else j=V;if(S>2]=S;k=S}else k=T;g[W+208>>2]=R;g[W+208+4>>2]=V;g[W+208+8>>2]=T;g[W+208+12>>2]=0.0;if(R>2]=Q;m=Q}else m=R;if(V>2]=U;n=U}else n=V;if(T>2]=S;o=S}else o=T;Y=+g[h+248>>2];g[W+224>>2]=i-Y;g[W+224+4>>2]=j-Y;g[W+224+8>>2]=k-Y;g[W+208>>2]=Y+m;g[W+208+4>>2]=Y+n;g[W+208+8>>2]=Y+o;c[W>>2]=5728;g[W+4>>2]=P*x+p*y+q*z;g[W+8>>2]=P*A+p*B+q*C;g[W+12>>2]=P*D+p*E+q*F;g[W+16>>2]=0.0;g[W+20>>2]=r*x+s*y+t*z;g[W+24>>2]=r*A+s*B+t*C;g[W+28>>2]=r*D+s*E+t*F;g[W+32>>2]=0.0;g[W+36>>2]=u*x+v*y+w*z;g[W+40>>2]=u*A+v*B+w*C;g[W+44>>2]=u*D+v*E+w*F;g[W+48>>2]=0.0;g[W+52>>2]=R;g[W+56>>2]=V;g[W+60>>2]=T;g[W+64>>2]=0.0;g[W+68>>2]=P*G+p*H+q*I;g[W+72>>2]=P*J+p*K+q*L;g[W+76>>2]=P*M+p*N+q*O;g[W+80>>2]=0.0;g[W+84>>2]=r*G+s*H+t*I;g[W+88>>2]=r*J+s*K+t*L;g[W+92>>2]=r*M+s*N+t*O;g[W+96>>2]=0.0;g[W+100>>2]=u*G+v*H+w*I;g[W+104>>2]=u*J+v*K+w*L;g[W+108>>2]=u*M+v*N+w*O;g[W+112>>2]=0.0;g[W+116>>2]=Q;g[W+120>>2]=U;g[W+124>>2]=S;g[W+128>>2]=0.0;g[W+196>>2]=Y;c[W+200>>2]=c[h+244>>2];if(f|0?(Nb[c[(c[f>>2]|0)+64>>2]&127](f,W,W+224|0,W+208|0),X=+g[W+200>>2],X<+g[h+244>>2]):0){g[h+244>>2]=X;Y=X;l=W;return +Y}Y=1.0;l=W;return +Y}function ce(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;l=c[b>>2]|0;m=c[b+4>>2]|0;i=c[b+8>>2]|0;n=c[a+4>>2]|0;p=Ah(a,d,m,i)|0;c[p+12>>2]=c[b+12>>2];c[p+16>>2]=n+1;c[p+20>>2]=n+2;h=c[(c[a+12>>2]|0)+(c[b+12>>2]<<2)>>2]|0;e=c[h>>2]|0;f=c[h+4>>2]|0;do if(!((e|0)==(m|0)&(f|0)==(i|0))){if((e|0)==(i|0)?(f|0)==(m|0):0){e=h+12+8|0;break}g=c[h+8>>2]|0;if(!((f|0)==(m|0)&(g|0)==(i|0)))if(!((f|0)==(i|0)&(g|0)==(m|0)))if((g|0)!=(m|0)|(e|0)==(i|0)^1){if((g|0)==(i|0)?(e|0)==(m|0):0){e=h+12+4|0;break}e=9624}else{e=1;o=2}else e=h+12|0;else{e=0;o=2}}else{e=2;o=2}while(0);if((o|0)==2)e=h+12+(e<<2)|0;c[e>>2]=n;k=Ah(a,d,i,l)|0;c[k+12>>2]=c[b+12+4>>2];c[k+16>>2]=n+2;c[k+20>>2]=n;h=c[(c[a+12>>2]|0)+(c[b+12+4>>2]<<2)>>2]|0;e=c[h>>2]|0;f=c[h+4>>2]|0;do if(!((e|0)==(i|0)&(f|0)==(l|0))){if((e|0)==(l|0)?(f|0)==(i|0):0){e=h+12+8|0;break}g=c[h+8>>2]|0;if(!((f|0)==(i|0)&(g|0)==(l|0)))if(!((f|0)==(l|0)&(g|0)==(i|0)))if((g|0)!=(i|0)|(e|0)==(l|0)^1){if((g|0)==(l|0)?(e|0)==(i|0):0){e=h+12+4|0;break}e=9624}else{e=1;o=12}else e=h+12|0;else{e=0;o=12}}else{e=2;o=12}while(0);if((o|0)==12)e=h+12+(e<<2)|0;c[e>>2]=n+1;j=Ah(a,d,l,m)|0;c[j+12>>2]=c[b+12+8>>2];c[j+16>>2]=n;c[j+20>>2]=n+1;e=c[a+12>>2]|0;i=c[e+(c[b+12+8>>2]<<2)>>2]|0;f=c[i>>2]|0;g=c[i+4>>2]|0;do if(!((f|0)==(l|0)&(g|0)==(m|0))){if((f|0)==(m|0)?(g|0)==(l|0):0){f=i+12+8|0;break}h=c[i+8>>2]|0;if(!((g|0)==(l|0)&(h|0)==(m|0)))if(!((g|0)==(m|0)&(h|0)==(l|0)))if((h|0)!=(l|0)|(f|0)==(m|0)^1){if((h|0)==(m|0)?(f|0)==(l|0):0){f=i+12+4|0;break}f=9624}else{f=1;o=22}else f=i+12|0;else{f=0;o=22}}else{f=2;o=22}while(0);if((o|0)==22)f=i+12+(f<<2)|0;c[f>>2]=n+2;f=c[e+(c[p+12>>2]<<2)>>2]|0;if(!(((c[f>>2]|0)!=(d|0)?(c[f+4>>2]|0)!=(d|0):0)?(c[f+8>>2]|0)!=(d|0):0)){ge(e,p,f);c[(c[a+12>>2]|0)+(c[p+24>>2]<<2)>>2]=0;c[6473]=(c[6473]|0)+1;nd(c[p+-4>>2]|0);c[(c[a+12>>2]|0)+(c[f+24>>2]<<2)>>2]=0;if(f|0){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0)}e=c[a+12>>2]|0}f=c[e+(c[k+12>>2]<<2)>>2]|0;if(!(((c[f>>2]|0)!=(d|0)?(c[f+4>>2]|0)!=(d|0):0)?(c[f+8>>2]|0)!=(d|0):0)){ge(e,k,f);c[(c[a+12>>2]|0)+(c[k+24>>2]<<2)>>2]=0;c[6473]=(c[6473]|0)+1;nd(c[k+-4>>2]|0);c[(c[a+12>>2]|0)+(c[f+24>>2]<<2)>>2]=0;if(f|0){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0)}e=c[a+12>>2]|0}f=c[e+(c[j+12>>2]<<2)>>2]|0;if(!(((c[f>>2]|0)!=(d|0)?(c[f+4>>2]|0)!=(d|0):0)?(c[f+8>>2]|0)!=(d|0):0)){ge(e,j,f);c[(c[a+12>>2]|0)+(c[j+24>>2]<<2)>>2]=0;c[6473]=(c[6473]|0)+1;nd(c[j+-4>>2]|0);c[(c[a+12>>2]|0)+(c[f+24>>2]<<2)>>2]=0;if(f|0){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0)}e=c[a+12>>2]|0}c[e+(c[b+24>>2]<<2)>>2]=0;if(!b)return;c[6473]=(c[6473]|0)+1;nd(c[b+-4>>2]|0);return}function de(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+336|0;d=c[d+36>>2]|0;c[m+272+4>>2]=35;c[m+272+8>>2]=0;c[m+272+12>>2]=1065353216;c[m+272+16>>2]=1065353216;c[m+272+20>>2]=1065353216;g[m+272+24>>2]=0.0;c[m+272>>2]=3580;c[m+272+52>>2]=d;g[m+272+44>>2]=0.0;j=c[b+28>>2]|0;e=c[j+4>>2]|0;if(c[(c[j+8>>2]|0)+204>>2]&3|0?a[d+376>>0]|0:0){l=m;return}if((a[22664]|0)==0?Yy(22664)|0:0){if((a[22672]|0)==0?Yy(22672)|0:0){c[5768]=1065353216;c[5769]=0;c[5770]=0;c[5771]=0;c[5772]=0;c[5773]=1065353216;c[5774]=0;c[5775]=0;c[5776]=0;c[5777]=0;c[5778]=1065353216;g[5779]=0.0}c[5752]=c[5768];c[5753]=c[5769];c[5754]=c[5770];c[5755]=c[5771];c[5756]=c[5772];c[5757]=c[5773];c[5758]=c[5774];c[5759]=c[5775];c[5760]=c[5776];c[5761]=c[5777];c[5762]=c[5778];c[5763]=c[5779];c[5764]=0;c[5765]=0;c[5766]=0;c[5767]=0}f=c[(c[b+28>>2]|0)+12>>2]|0;c[m>>2]=1065353216;c[m+4>>2]=0;c[m+8>>2]=0;g[m+12>>2]=0.0;if(!(!(ud(m+272|0,23008,e,f,m,m+216|0)|0)?!(wc(m+272|0,23008,e,f,m,m+216|0,0)|0):0))h=12;if((h|0)==12?(c[m+4>>2]=0,c[m+4+4>>2]=0,c[m+4+8>>2]=0,c[m+4+12>>2]=0,c[m+4+16>>2]=0,c[m+4+20>>2]=0,a[m+152>>0]=0,c[m>>2]=3400,j=c[(c[b+28>>2]|0)+8>>2]|0,Vc(b,m+216|0,d,0,0,0,(c[j+236>>2]&2|0)==0?0:j,j,m)|0):0){c[6472]=(c[6472]|0)+1;d=ic(235)|0;if(!d)j=0;else{c[(d+4+15&-16)+-4>>2]=d;j=d+4+15&-16}e=j+4|0;d=j+152|0;Nk(e|0,0,212)|0;c[j>>2]=3400;f=m+4|0;h=e+100|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(h|0));e=j+104|0;c[e>>2]=c[m+104>>2];c[e+4>>2]=c[m+104+4>>2];c[e+8>>2]=c[m+104+8>>2];c[e+12>>2]=c[m+104+12>>2];e=j+120|0;c[e>>2]=c[m+120>>2];c[e+4>>2]=c[m+120+4>>2];c[e+8>>2]=c[m+120+8>>2];c[e+12>>2]=c[m+120+12>>2];e=j+136|0;c[e>>2]=c[m+136>>2];c[e+4>>2]=c[m+136+4>>2];c[e+8>>2]=c[m+136+8>>2];c[e+12>>2]=c[m+136+12>>2];a[d>>0]=a[m+152>>0]|0;e=j+156|0;f=m+156|0;h=e+60|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(h|0));h=c[b+24>>2]|0;i=j;d=c[h+852>>2]|0;if((d|0)==(c[h+856>>2]|0)?(k=d|0?d<<1:1,(d|0)<(k|0)):0){if(!k)e=0;else{c[6472]=(c[6472]|0)+1;d=ic((k<<2|3)+16|0)|0;if(!d)e=0;else{c[(d+4+15&-16)+-4>>2]=d;e=d+4+15&-16}d=c[h+852>>2]|0}if((d|0)>0){f=0;do{c[e+(f<<2)>>2]=c[(c[h+860>>2]|0)+(f<<2)>>2];f=f+1|0}while((f|0)!=(d|0))}f=c[h+860>>2]|0;if(f){if(a[h+864>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0);d=c[h+852>>2]|0}c[h+860>>2]=0}a[h+864>>0]=1;c[h+860>>2]=e;c[h+856>>2]=k}c[(c[h+860>>2]|0)+(d<<2)>>2]=i;c[h+852>>2]=d+1;d=c[b+24>>2]|0;if(!(c[(c[(c[b+28>>2]|0)+8>>2]|0)+204>>2]&3)){b=j+64|0;g[b>>2]=+g[d+340>>2]*+g[b>>2];d=d+352|0}else{b=j+64|0;g[b>>2]=+g[d+344>>2]*+g[b>>2];d=d+356|0}b=j+68|0;g[b>>2]=+g[d>>2]*+g[b>>2]}l=m;return}function ee(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+16|0;p=c[b+92>>2]|0;if(!(qb[c[(c[p>>2]|0)+56>>2]&127](p)|0)){l=q;return}p=c[b+92>>2]|0;p=qb[c[(c[p>>2]|0)+28>>2]&127](p)|0;f=c[p+4>>2]|0;if((f|0)>1){Id(p,0,f+-1|0);j=c[p+4>>2]|0}else j=f;n=c[b+104>>2]|0;f=j-n|0;if((n|0)<0){if((c[p+8>>2]|0)<(f|0)){if(!f){h=j;i=0}else{c[6472]=(c[6472]|0)+1;g=ic((f<<4|3)+16|0)|0;if(!g)g=0;else{c[(g+4+15&-16)+-4>>2]=g;g=g+4+15&-16}h=c[p+4>>2]|0;i=g}if((h|0)>0){g=0;do{n=c[p+12>>2]|0;c[i+(g<<4)>>2]=c[n+(g<<4)>>2];c[i+(g<<4)+4>>2]=c[n+(g<<4)+4>>2];c[i+(g<<4)+8>>2]=c[n+(g<<4)+8>>2];c[i+(g<<4)+12>>2]=c[n+(g<<4)+12>>2];g=g+1|0}while((g|0)!=(h|0))}g=c[p+12>>2]|0;if(g|0){if(a[p+16>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[g+-4>>2]|0)}c[p+12>>2]=0}a[p+16>>0]=1;c[p+12>>2]=i;c[p+8>>2]=f;h=p+12|0}else h=p+12|0;g=j;do{n=(c[h>>2]|0)+(g<<4)|0;g=g+1|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0}while((g|0)!=(f|0))}c[p+4>>2]=f;c[b+104>>2]=0;if((f|0)>0){g=0;m=0;n=0;i=0;while(1){k=c[p+12>>2]|0;j=k+(m<<4)|0;r=n;n=c[j>>2]|0;k=k+(m<<4)+4|0;h=c[k>>2]|0;if(!((n|0)==(r|0)&(h|0)==(i|0))){r=n+54|0;i=n+48|0;if(!((((((e[r>>1]|0)>=(e[h+48>>1]|0)?(e[h+54>>1]|0)>=(e[i>>1]|0):0)?(e[r+2>>1]|0)>=(e[h+48+2>>1]|0):0)?(e[h+54+2>>1]|0)>=(e[i+2>>1]|0):0)?(e[r+4>>1]|0)>=(e[h+52>>1]|0):0)?(e[h+54+4>>1]|0)>=(e[n+52>>1]|0):0))o=30}else{h=i;o=30}if((o|0)==30){o=0;g=c[b+92>>2]|0;Kb[c[(c[g>>2]|0)+32>>2]&127](g,j,d);c[j>>2]=0;c[k>>2]=0;g=(c[b+104>>2]|0)+1|0;c[b+104>>2]=g;c[6200]=(c[6200]|0)+-1;f=c[p+4>>2]|0}m=m+1|0;if((m|0)>=(f|0))break;else i=h}if((f|0)>1){Id(p,0,f+-1|0);g=c[b+104>>2]|0;f=c[p+4>>2]|0}j=f-g|0;if((g|0)<0){if((c[p+8>>2]|0)<(j|0)){if(!j){h=f;i=0}else{c[6472]=(c[6472]|0)+1;g=ic((j<<4|3)+16|0)|0;if(!g)g=0;else{c[(g+4+15&-16)+-4>>2]=g;g=g+4+15&-16}h=c[p+4>>2]|0;i=g}if((h|0)>0){g=0;do{r=c[p+12>>2]|0;c[i+(g<<4)>>2]=c[r+(g<<4)>>2];c[i+(g<<4)+4>>2]=c[r+(g<<4)+4>>2];c[i+(g<<4)+8>>2]=c[r+(g<<4)+8>>2];c[i+(g<<4)+12>>2]=c[r+(g<<4)+12>>2];g=g+1|0}while((g|0)!=(h|0))}g=c[p+12>>2]|0;if(g|0){if(a[p+16>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[g+-4>>2]|0)}c[p+12>>2]=0}a[p+16>>0]=1;c[p+12>>2]=i;c[p+8>>2]=j;g=p+12|0}else g=p+12|0;do{r=(c[g>>2]|0)+(f<<4)|0;f=f+1|0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0}while((f|0)!=(j|0));f=j}else f=j}c[p+4>>2]=f;c[b+104>>2]=0;l=q;return}function fe(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0.0,j=0.0,k=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;h=l;l=l+16|0;f=Ds()|0;if((a[22752]|0)==0?Yy(22752)|0:0){c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;dg(23416,0.0,0,0,h)}c[5905]=c[5905]|1;g[5940]=0.0;x=+g[5950]*0.0;D=+g[5951]*0.0;g[5945]=+g[5949]*0.0;g[5946]=x;g[5947]=D;g[5948]=0.0;c[5953]=0;c[5954]=0;c[5955]=0;c[5956]=0;D=+g[5942]*0.0;x=+g[5943]*0.0;g[5994]=+g[5941]*0.0;g[5995]=D;g[5996]=x;g[5997]=0.0;c[f+4>>2]=7;c[f+8>>2]=-1;c[f+12>>2]=-1;g[f+16>>2]=3402823466385288598117041.0e14;a[f+20>>0]=1;a[f+21>>0]=0;c[f+24>>2]=-1;c[f+28>>2]=23416;c[f+32>>2]=b;g[f+36>>2]=0.0;g[f+40>>2]=.30000001192092896;c[f+44>>2]=0;c[f>>2]=4792;a[f+48>>0]=0;c[f+116>>2]=c[d>>2];c[f+116+4>>2]=c[d+4>>2];c[f+116+8>>2]=c[d+8>>2];c[f+116+12>>2]=c[d+12>>2];c[f+132>>2]=c[d+16>>2];c[f+132+4>>2]=c[d+16+4>>2];c[f+132+8>>2]=c[d+16+8>>2];c[f+132+12>>2]=c[d+16+12>>2];c[f+148>>2]=c[d+32>>2];c[f+148+4>>2]=c[d+32+4>>2];c[f+148+8>>2]=c[d+32+8>>2];c[f+148+12>>2]=c[d+32+12>>2];c[f+164>>2]=c[d+48>>2];c[f+164+4>>2]=c[d+48+4>>2];c[f+164+8>>2]=c[d+48+8>>2];c[f+164+12>>2]=c[d+48+12>>2];a[f+180>>0]=e&1;x=+g[f+116>>2];D=+g[b+4>>2];w=+g[f+132>>2];C=+g[b+8>>2];v=+g[f+148>>2];B=+g[b+12>>2];u=+g[f+120>>2];t=+g[f+136>>2];s=+g[f+152>>2];r=+g[f+124>>2];p=+g[f+140>>2];n=+g[f+156>>2];A=+g[b+20>>2];z=+g[b+24>>2];y=+g[b+28>>2];q=+g[b+36>>2];o=+g[b+40>>2];m=+g[b+44>>2];F=+g[f+164>>2];E=+g[f+168>>2];i=+g[f+172>>2];k=+g[b+52>>2]+(D*F+C*E+B*i);j=A*F+z*E+y*i+ +g[b+56>>2];i=q*F+o*E+m*i+ +g[b+60>>2];g[f+52>>2]=x*D+w*C+v*B;g[f+56>>2]=D*u+C*t+B*s;g[f+60>>2]=D*r+C*p+B*n;g[f+64>>2]=0.0;g[f+68>>2]=x*A+w*z+v*y;g[f+72>>2]=u*A+t*z+s*y;g[f+76>>2]=r*A+p*z+n*y;g[f+80>>2]=0.0;g[f+84>>2]=x*q+w*o+v*m;g[f+88>>2]=u*q+t*o+s*m;g[f+92>>2]=r*q+p*o+n*m;g[f+96>>2]=0.0;g[f+100>>2]=k;g[f+104>>2]=j;g[f+108>>2]=i;g[f+112>>2]=0.0;g[f+184>>2]=1.0;g[f+188>>2]=-1.0;g[f+192>>2]=0.0;g[f+196>>2]=0.0;g[f+200>>2]=1.0;g[f+204>>2]=.699999988079071;g[f+208>>2]=0.0;g[f+212>>2]=0.0;g[f+216>>2]=1.0;g[f+220>>2]=.699999988079071;g[f+224>>2]=0.0;g[f+228>>2]=0.0;g[f+264>>2]=1.0;g[f+268>>2]=.699999988079071;g[f+272>>2]=1.0;g[f+276>>2]=0.0;g[f+280>>2]=1.0;g[f+284>>2]=.699999988079071;g[f+288>>2]=1.0;g[f+292>>2]=0.0;g[f+232>>2]=1.0;g[f+236>>2]=.699999988079071;g[f+240>>2]=1.0;g[f+244>>2]=0.0;g[f+248>>2]=1.0;g[f+252>>2]=.699999988079071;g[f+256>>2]=1.0;g[f+260>>2]=0.0;a[f+1096>>0]=0;g[f+1116>>2]=0.0;g[f+1120>>2]=0.0;g[f+1124>>2]=0.0;c[f+300>>2]=0;c[f+1100>>2]=0;c[f+1100+4>>2]=0;c[f+1100+8>>2]=0;a[f+1100+12>>0]=0;a[f+49>>0]=1;Tc(f,(c[f+28>>2]|0)+4|0,(c[f+32>>2]|0)+4|0);l=h;return f|0}function ge(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;m=0;do{k=m;m=m+1|0;l=(m|0)==3;j=c[b+((l?0:m)<<2)>>2]|0;k=c[b+(((k+2|0)%3|0)<<2)>>2]|0;e=c[d>>2]|0;f=c[d+4>>2]|0;if(!((e|0)==(k|0)&(f|0)==(j|0)))if(!((e|0)==(j|0)&(f|0)==(k|0))){g=c[d+8>>2]|0;if(!((f|0)==(k|0)&(g|0)==(j|0)))if(!((f|0)==(j|0)&(g|0)==(k|0)))if((g|0)!=(k|0)|(e|0)==(j|0)^1)e=(g|0)!=(j|0)|(e|0)==(k|0)^1?9624:d+12+4|0;else{e=1;n=3}else e=d+12|0;else{e=0;n=3}}else e=d+12+8|0;else{e=2;n=3}if((n|0)==3){n=0;e=d+12+(e<<2)|0}i=c[e>>2]|0;e=c[b>>2]|0;f=c[b+4>>2]|0;if(!((e|0)==(j|0)&(f|0)==(k|0)))if(!((e|0)==(k|0)&(f|0)==(j|0))){g=c[b+8>>2]|0;if(!((f|0)==(j|0)&(g|0)==(k|0)))if(!((f|0)==(k|0)&(g|0)==(j|0)))if((g|0)!=(j|0)|(e|0)==(k|0)^1)e=(g|0)!=(k|0)|(e|0)==(j|0)^1?9624:b+12+4|0;else{e=1;n=10}else e=b+12|0;else{e=0;n=10}}else e=b+12+8|0;else{e=2;n=10}if((n|0)==10){n=0;e=b+12+(e<<2)|0}h=c[a+(c[e>>2]<<2)>>2]|0;e=c[h>>2]|0;f=c[h+4>>2]|0;do if(!((e|0)==(k|0)&(f|0)==(j|0))){if((e|0)==(j|0)?(f|0)==(k|0):0){e=h+12+8|0;break}g=c[h+8>>2]|0;if(!((f|0)==(k|0)&(g|0)==(j|0)))if(!((f|0)==(j|0)&(g|0)==(k|0)))if((g|0)!=(k|0)|(e|0)==(j|0)^1){if((g|0)==(j|0)?(e|0)==(k|0):0){e=h+12+4|0;break}e=9624}else{e=1;n=17}else e=h+12|0;else{e=0;n=17}}else{e=2;n=17}while(0);if((n|0)==17){n=0;e=h+12+(e<<2)|0}c[e>>2]=i;e=c[b>>2]|0;f=c[b+4>>2]|0;if(!((e|0)==(j|0)&(f|0)==(k|0)))if(!((e|0)==(k|0)&(f|0)==(j|0))){g=c[b+8>>2]|0;if(!((f|0)==(j|0)&(g|0)==(k|0)))if(!((f|0)==(k|0)&(g|0)==(j|0)))if((g|0)!=(j|0)|(e|0)==(k|0)^1)e=(g|0)!=(k|0)|(e|0)==(j|0)^1?9624:b+12+4|0;else{e=1;n=27}else e=b+12|0;else{e=0;n=27}}else e=b+12+8|0;else{e=2;n=27}if((n|0)==27){n=0;e=b+12+(e<<2)|0}i=c[e>>2]|0;e=c[d>>2]|0;f=c[d+4>>2]|0;if(!((e|0)==(k|0)&(f|0)==(j|0)))if(!((e|0)==(j|0)&(f|0)==(k|0))){g=c[d+8>>2]|0;if(!((f|0)==(k|0)&(g|0)==(j|0)))if(!((f|0)==(j|0)&(g|0)==(k|0)))if((g|0)!=(k|0)|(e|0)==(j|0)^1)e=(g|0)!=(j|0)|(e|0)==(k|0)^1?9624:d+12+4|0;else{e=1;n=34}else e=d+12|0;else{e=0;n=34}}else e=d+12+8|0;else{e=2;n=34}if((n|0)==34){n=0;e=d+12+(e<<2)|0}h=c[a+(c[e>>2]<<2)>>2]|0;e=c[h>>2]|0;f=c[h+4>>2]|0;do if(!((e|0)==(j|0)&(f|0)==(k|0))){if((e|0)==(k|0)?(f|0)==(j|0):0){e=h+12+8|0;break}g=c[h+8>>2]|0;if(!((f|0)==(j|0)&(g|0)==(k|0)))if(!((f|0)==(k|0)&(g|0)==(j|0)))if((g|0)!=(j|0)|(e|0)==(k|0)^1){if((g|0)==(k|0)?(e|0)==(j|0):0){e=h+12+4|0;break}e=9624}else{e=1;n=41}else e=h+12|0;else{e=0;n=41}}else{e=2;n=41}while(0);if((n|0)==41){n=0;e=h+12+(e<<2)|0}c[e>>2]=i}while(!l);return}function he(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;if(!((d|0)!=0&(e|0)!=0))return;if((c[b+24>>2]|0)<128?(c[b+28>>2]|0)<128:0){c[6472]=(c[6472]|0)+1;h=ic(1043)|0;if(!h)j=0;else{c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}h=c[b+24>>2]|0;if((h|0)>0){i=0;do{l=(c[b+32>>2]|0)+(i<<3)|0;m=c[l+4>>2]|0;n=j+(i<<3)|0;c[n>>2]=c[l>>2];c[n+4>>2]=m;i=i+1|0}while((i|0)!=(h|0))}h=c[b+32>>2]|0;if(h|0){if(a[b+36>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[h+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=j;c[b+28>>2]=128}c[b+24>>2]=128;l=c[b+32>>2]|0;c[l>>2]=d;c[l+4>>2]=e;l=1;j=124;while(1){h=l+-1|0;i=c[b+32>>2]|0;m=c[i+(h<<3)>>2]|0;n=c[i+(h<<3)+4>>2]|0;if((h|0)>(j|0)){e=c[b+24>>2]|0;if((e|0)<(e<<1|0)?(c[b+28>>2]|0)<(e<<1|0):0){if(e){c[6472]=(c[6472]|0)+1;i=ic((e<<4|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}j=c[b+24>>2]|0;if((j|0)>0){d=0;do{p=(c[b+32>>2]|0)+(d<<3)|0;o=c[p+4>>2]|0;k=i+(d<<3)|0;c[k>>2]=c[p>>2];c[k+4>>2]=o;d=d+1|0}while((d|0)!=(j|0))}}else i=0;j=c[b+32>>2]|0;if(j|0){if(a[b+36>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[j+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=i;c[b+28>>2]=e<<1}c[b+24>>2]=e<<1;j=(e<<1)+-4|0}do if((m|0)==(n|0)){if(c[m+40>>2]|0){p=c[m+36>>2]|0;c[i+(h<<3)>>2]=p;c[i+(h<<3)+4>>2]=p;h=l+1|0;p=c[b+32>>2]|0;o=c[m+40>>2]|0;c[p+(l<<3)>>2]=o;c[p+(l<<3)+4>>2]=o;p=c[b+32>>2]|0;o=c[m+40>>2]|0;c[p+(h<<3)>>2]=c[m+36>>2];c[p+(h<<3)+4>>2]=o;h=l+2|0}}else if(((((+g[m>>2]<=+g[n+16>>2]?+g[m+16>>2]>=+g[n>>2]:0)?+g[m+4>>2]<=+g[n+20>>2]:0)?+g[m+20>>2]>=+g[n+4>>2]:0)?+g[m+8>>2]<=+g[n+24>>2]:0)?+g[m+24>>2]>=+g[n+8>>2]:0){k=(c[n+40>>2]|0)!=0;if(!(c[m+40>>2]|0))if(k){p=c[n+36>>2]|0;c[i+(h<<3)>>2]=m;c[i+(h<<3)+4>>2]=p;h=c[b+32>>2]|0;p=c[n+40>>2]|0;c[h+(l<<3)>>2]=m;c[h+(l<<3)+4>>2]=p;h=l+1|0;break}else{Kb[c[(c[f>>2]|0)+8>>2]&127](f,m,n);break}else{e=i+(h<<3)|0;d=c[m+36>>2]|0;if(k){p=c[n+36>>2]|0;c[e>>2]=d;c[i+(h<<3)+4>>2]=p;p=l+1|0;h=c[b+32>>2]|0;o=c[n+36>>2]|0;c[h+(l<<3)>>2]=c[m+40>>2];c[h+(l<<3)+4>>2]=o;h=l+2|0;o=c[b+32>>2]|0;k=c[n+40>>2]|0;c[o+(p<<3)>>2]=c[m+36>>2];c[o+(p<<3)+4>>2]=k;p=c[b+32>>2]|0;o=c[n+40>>2]|0;c[p+(h<<3)>>2]=c[m+40>>2];c[p+(h<<3)+4>>2]=o;h=l+3|0;break}else{c[e>>2]=d;c[i+(h<<3)+4>>2]=n;h=c[b+32>>2]|0;c[h+(l<<3)>>2]=c[m+40>>2];c[h+(l<<3)+4>>2]=n;h=l+1|0;break}}}while(0);if(!h)break;else l=h}return}function ie(b){b=b|0;var d=0,e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=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.0,x=0;v=l;l=l+176|0;if(!(a[b+527>>0]|0)){l=v;return}g[b+36>>2]=0.0;g[b+520>>2]=0.0;g[b+516>>2]=0.0;c[b+576>>2]=0;c[b+576+4>>2]=0;c[b+576+8>>2]=0;c[b+576+12>>2]=0;if(!(a[b+524>>0]|0)){d=c[b+28>>2]|0;k=+g[b+348>>2];m=+g[b+352>>2];r=+g[b+356>>2];t=k*+g[d+20>>2]+m*+g[d+24>>2]+r*+g[d+28>>2]+ +g[d+56>>2];e=c[b+32>>2]|0;n=+g[b+412>>2];o=+g[b+416>>2];q=+g[b+420>>2];u=n*+g[e+20>>2]+o*+g[e+24>>2]+q*+g[e+28>>2]+ +g[e+56>>2];s=n*+g[e+36>>2]+o*+g[e+40>>2]+q*+g[e+44>>2]+ +g[e+60>>2];p=k*+g[d+4>>2]+m*+g[d+8>>2]+r*+g[d+12>>2]+ +g[d+52>>2];r=k*+g[d+36>>2]+m*+g[d+40>>2]+r*+g[d+44>>2]+ +g[d+60>>2];q=n*+g[e+4>>2]+o*+g[e+8>>2]+q*+g[e+12>>2]+ +g[e+52>>2];if((q-p)*(q-p)+(u-t)*(u-t)+(s-r)*(s-r)>1.1920928955078125e-07){j=1.0/+C(+((q-p)*(q-p)+(u-t)*(u-t)+(s-r)*(s-r)));g[v+128>>2]=(q-p)*j;g[v+128+4>>2]=(u-t)*j;g[v+128+8>>2]=(s-r)*j;c[v+128+12>>2]=0;i=(s-r)*j;f=(u-t)*j;j=(q-p)*j}else{c[v+128>>2]=1065353216;c[v+128+4>>2]=0;c[v+128+8>>2]=0;g[v+128+12>>2]=0.0;i=0.0;f=0.0;j=1.0}if(+B(+i)>.7071067690849304){w=i*i+f*f;o=1.0/+C(+w);n=-(o*i);f=o*f;h=f;k=j*n;m=0.0;o=w*o;f=-(f*j)}else{m=j*j+f*f;k=1.0/+C(+m);f=-(f*k);o=k*j;h=0.0;k=m*k;m=f;n=o;o=-(o*i);f=i*f}g[v+128+16>>2]=m;g[v+128+20>>2]=n;g[v+128+24>>2]=h;g[v+128+32>>2]=o;g[v+128+36>>2]=f;g[v+128+40>>2]=k;d=0;while(1){x=c[b+28>>2]|0;c[v+80>>2]=c[x+4>>2];c[v+80+4>>2]=c[x+20>>2];c[v+80+8>>2]=c[x+36>>2];g[v+80+12>>2]=0.0;c[v+80+16>>2]=c[x+8>>2];c[v+80+20>>2]=c[x+24>>2];c[v+80+24>>2]=c[x+40>>2];g[v+80+28>>2]=0.0;c[v+80+32>>2]=c[x+12>>2];c[v+80+36>>2]=c[x+28>>2];c[v+80+40>>2]=c[x+44>>2];g[v+80+44>>2]=0.0;c[v+32>>2]=c[e+4>>2];c[v+32+4>>2]=c[e+20>>2];c[v+32+8>>2]=c[e+36>>2];g[v+32+12>>2]=0.0;c[v+32+16>>2]=c[e+8>>2];c[v+32+20>>2]=c[e+24>>2];c[v+32+24>>2]=c[e+40>>2];g[v+32+28>>2]=0.0;c[v+32+32>>2]=c[e+12>>2];c[v+32+36>>2]=c[e+28>>2];c[v+32+40>>2]=c[e+44>>2];g[v+32+44>>2]=0.0;w=t-+g[x+56>>2];o=r-+g[x+60>>2];g[v+16>>2]=p-+g[x+52>>2];g[v+16+4>>2]=w;g[v+16+8>>2]=o;g[v+16+12>>2]=0.0;o=u-+g[e+56>>2];w=s-+g[e+60>>2];g[v>>2]=q-+g[e+52>>2];g[v+4>>2]=o;g[v+8>>2]=w;g[v+12>>2]=0.0;x=c[b+28>>2]|0;e=c[b+32>>2]|0;Ag(b+48+(d*84|0)|0,v+80|0,v+32|0,v+16|0,v,v+128+(d<<4)|0,x+396|0,+g[x+344>>2],e+396|0,+g[e+344>>2]);d=d+1|0;if((d|0)==3)break;e=c[b+32>>2]|0}d=b+32|0}else d=b+32|0;e=c[b+28>>2]|0;x=c[d>>2]|0;lc(b,e+4|0,x+4|0,e+264|0,x+264|0);l=v;return}function je(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+80|0;c[a+68>>2]=(c[a+68>>2]|0)+1;d=c[a+64>>2]|0;if(d|0){e=c[(c[a+24>>2]|0)+(b*80|0)+76>>2]|0;Sg(d,e)|0;f=c[d+4>>2]|0;if(f|0){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0)}c[d+4>>2]=e;c[d+12>>2]=(c[d+12>>2]|0)+-1}f=(c[a+16>>2]|0)+-1|0;e=c[a+24>>2]|0;c[g>>2]=c[e+(b*80|0)>>2];c[g+4>>2]=c[e+(b*80|0)+4>>2];c[g+8>>2]=c[e+(b*80|0)+8>>2];c[g+12>>2]=c[e+(b*80|0)+12>>2];c[g+16>>2]=c[e+(b*80|0)+16>>2];c[g+16+4>>2]=c[e+(b*80|0)+16+4>>2];c[g+16+8>>2]=c[e+(b*80|0)+16+8>>2];c[g+16+12>>2]=c[e+(b*80|0)+16+12>>2];c[g+32>>2]=c[e+(b*80|0)+32>>2];c[g+32+4>>2]=c[e+(b*80|0)+32+4>>2];c[g+32+8>>2]=c[e+(b*80|0)+32+8>>2];c[g+32+12>>2]=c[e+(b*80|0)+32+12>>2];c[g+48>>2]=c[e+(b*80|0)+48>>2];c[g+48+4>>2]=c[e+(b*80|0)+48+4>>2];c[g+48+8>>2]=c[e+(b*80|0)+48+8>>2];c[g+48+12>>2]=c[e+(b*80|0)+48+12>>2];c[g+64>>2]=c[e+(b*80|0)+64>>2];c[g+64+4>>2]=c[e+(b*80|0)+64+4>>2];c[g+64+8>>2]=c[e+(b*80|0)+64+8>>2];c[g+64+12>>2]=c[e+(b*80|0)+64+12>>2];c[e+(b*80|0)>>2]=c[e+(f*80|0)>>2];c[e+(b*80|0)+4>>2]=c[e+(f*80|0)+4>>2];c[e+(b*80|0)+8>>2]=c[e+(f*80|0)+8>>2];c[e+(b*80|0)+12>>2]=c[e+(f*80|0)+12>>2];c[e+(b*80|0)+16>>2]=c[e+(f*80|0)+16>>2];c[e+(b*80|0)+16+4>>2]=c[e+(f*80|0)+16+4>>2];c[e+(b*80|0)+16+8>>2]=c[e+(f*80|0)+16+8>>2];c[e+(b*80|0)+16+12>>2]=c[e+(f*80|0)+16+12>>2];c[e+(b*80|0)+32>>2]=c[e+(f*80|0)+32>>2];c[e+(b*80|0)+32+4>>2]=c[e+(f*80|0)+32+4>>2];c[e+(b*80|0)+32+8>>2]=c[e+(f*80|0)+32+8>>2];c[e+(b*80|0)+32+12>>2]=c[e+(f*80|0)+32+12>>2];c[e+(b*80|0)+48>>2]=c[e+(f*80|0)+48>>2];c[e+(b*80|0)+48+4>>2]=c[e+(f*80|0)+48+4>>2];c[e+(b*80|0)+48+8>>2]=c[e+(f*80|0)+48+8>>2];c[e+(b*80|0)+48+12>>2]=c[e+(f*80|0)+48+12>>2];c[e+(b*80|0)+64>>2]=c[e+(f*80|0)+64>>2];c[e+(b*80|0)+64+4>>2]=c[e+(f*80|0)+64+4>>2];c[e+(b*80|0)+64+8>>2]=c[e+(f*80|0)+64+8>>2];c[e+(b*80|0)+64+12>>2]=c[e+(f*80|0)+64+12>>2];e=c[a+24>>2]|0;c[e+(f*80|0)>>2]=c[g>>2];c[e+(f*80|0)+4>>2]=c[g+4>>2];c[e+(f*80|0)+8>>2]=c[g+8>>2];c[e+(f*80|0)+12>>2]=c[g+12>>2];c[e+(f*80|0)+16>>2]=c[g+16>>2];c[e+(f*80|0)+16+4>>2]=c[g+16+4>>2];c[e+(f*80|0)+16+8>>2]=c[g+16+8>>2];c[e+(f*80|0)+16+12>>2]=c[g+16+12>>2];c[e+(f*80|0)+32>>2]=c[g+32>>2];c[e+(f*80|0)+32+4>>2]=c[g+32+4>>2];c[e+(f*80|0)+32+8>>2]=c[g+32+8>>2];c[e+(f*80|0)+32+12>>2]=c[g+32+12>>2];c[e+(f*80|0)+48>>2]=c[g+48>>2];c[e+(f*80|0)+48+4>>2]=c[g+48+4>>2];c[e+(f*80|0)+48+8>>2]=c[g+48+8>>2];c[e+(f*80|0)+48+12>>2]=c[g+48+12>>2];c[e+(f*80|0)+64>>2]=c[g+64>>2];c[e+(f*80|0)+64+4>>2]=c[g+64+4>>2];c[e+(f*80|0)+64+8>>2]=c[g+64+8>>2];c[e+(f*80|0)+64+12>>2]=c[g+64+12>>2];if(!(c[a+64>>2]|0)){b=c[a+16>>2]|0;b=b+-1|0;c[a+16>>2]=b;l=g;return}c[(c[(c[a+24>>2]|0)+(b*80|0)+76>>2]|0)+36>>2]=b;b=c[a+16>>2]|0;b=b+-1|0;c[a+16>>2]=b;l=g;return}function ke(a,d,f,h,i,j,k,m,n){a=a|0;d=d|0;f=f|0;h=+h;i=+i;j=+j;k=k|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0.0,F=0.0,G=0,H=0,I=0.0,J=0,K=0,L=0,M=0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.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;V=l;l=l+32|0;E=+g[f>>2];F=+g[f+4>>2];I=+g[f+8>>2];R=1.0/+C(+((h-E)*(h-E)+(i-F)*(i-F)+(j-I)*(j-I)));O=(h-E)*R==0.0?999999984306749440.0:1.0/((h-E)*R);P=(i-F)*R==0.0?999999984306749440.0:1.0/((i-F)*R);Q=(j-I)*R==0.0?999999984306749440.0:1.0/((j-I)*R);ea=(E>h?h:E)+ +g[k>>2];da=(F>i?i:F)+ +g[k+4>>2];ca=(I>j?j:I)+ +g[k+8>>2];aa=(E>2];Y=(F>2];t=(I>2];$=+g[a+4>>2];ea=ea<$?$:ea;X=+g[a+8>>2];da=da>2];ca=ca>2];Z=+g[a+24>>2];s=+g[a+28>>2];_=+g[a+36>>2];W=+g[a+40>>2];v=+g[a+44>>2];G=~~(((ba0){p=0;q=c[a+136>>2]|0;o=0;do{o=o+1|0;y=q+6|0;r=b[q>>1]|0;z=q+10|0;w=b[q+4>>1]|0;A=q+8|0;x=b[q+2>>1]|0;D=q+12|0;B=(c[D>>2]|0)>-1;do if(((K&65535)>=(r&65535)?(G&65535)<=(e[y>>1]|0):0)&(J&65535)<=(e[z>>1]|0)&(M&65535)>=(w&65535)&(H&65535)<=(e[A>>1]|0)&(L&65535)>=(x&65535)){aa=+g[a+36>>2];ca=+g[a+40>>2];ea=+g[a+44>>2];ba=+g[a+4>>2];da=+g[a+8>>2];u=+g[a+12>>2];g[V+12>>2]=0.0;v=+(e[y>>1]|0)/aa+ba;s=+(e[A>>1]|0)/ca+da;t=+(e[z>>1]|0)/ea+u;g[V+28>>2]=0.0;g[V>>2]=+(r&65535)/aa+ba-+g[m>>2];g[V+4>>2]=+(x&65535)/ca+da-+g[m+4>>2];g[V+8>>2]=+(w&65535)/ea+u-+g[m+8>>2];g[V+16>>2]=v-+g[k>>2];g[V+20>>2]=s-+g[k+4>>2];g[V+24>>2]=t-+g[k+8>>2];t=+g[f>>2];s=O*(+g[V+((O<0.0&1)<<4)>>2]-t);t=O*(+g[V+((O<0.0^1)<<4)>>2]-t);v=+g[f+4>>2];u=P*(+g[V+((P<0.0&1)<<4)+4>>2]-v);v=P*(+g[V+((P<0.0^1)<<4)+4>>2]-v);if(!(u>t|s>v)?(N=u>s?u:s,U=v>2],S=Q*(+g[V+((Q<0.0&1)<<4)+8>>2]-T),T=Q*(+g[V+((Q<0.0^1)<<4)+8>>2]-T),!(S>U|N>T)):0){r=(T0.0?(S>N?S:N)<(j-I)*(j-I)*R+((h-E)*(h-E)*R+(i-F)*(i-F)*R):0;if(!(B&r)){w=9;break}w=c[D>>2]|0;Kb[c[(c[d>>2]|0)+8>>2]&127](d,w>>21,w&2097151);w=10;break}r=0;w=9}else{r=0;w=9}while(0);if((w|0)==9){w=0;if(B|r)w=10;else{D=c[D>>2]|0;p=p-D|0;q=q+(0-D<<4)|0}}if((w|0)==10){p=p+1|0;q=q+16|0}}while((p|0)<(n|0))}else o=0;if((c[6204]|0)>=(o|0)){l=V;return}c[6204]=o;l=V;return}function le(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.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,D=0.0,G=0.0,H=0.0,I=0.0,J=0.0;Eg(a,b+(c*284|0)|0,d);m=+g[b+(c*284|0)+52>>2];h=+g[b+(c*284|0)+56>>2];q=+g[b+(c*284|0)+60>>2];J=+g[b+(c*284|0)+76>>2];x=+g[b+(c*284|0)+72>>2];z=+g[b+(c*284|0)+68>>2];w=1.0/+C(+((x*-m-z*-h)*(x*-m-z*-h)+((J*-h-x*-q)*(J*-h-x*-q)+(z*-q-J*-m)*(z*-q-J*-m))));v=(J*-h-x*-q)*w;u=w*(z*-q-J*-m);w=w*(x*-m-z*-h);e=+g[b+(c*284|0)+232>>2]*.5;k=+F(+e)/+C(+(m*m+h*h+q*q));e=+E(+e);l=2.0/(e*e+(k*-q*k*-q+(k*-m*k*-m+k*-h*k*-h)));H=1.0-(k*-h*k*-h*l+k*-q*k*-q*l);G=k*-m*k*-h*l-e*k*-q*l;I=k*-m*k*-q*l+e*k*-h*l;B=k*-m*k*-h*l+e*k*-q*l;A=1.0-(k*-m*k*-m*l+k*-q*k*-q*l);D=k*-h*k*-q*l-e*k*-m*l;j=k*-m*k*-q*l-e*k*-h*l;e=k*-h*k*-q*l+e*k*-m*l;l=1.0-(k*-m*k*-m*l+k*-h*k*-h*l);k=+g[b+(c*284|0)+236>>2]*-.5;y=+F(+k)/+C(+(J*J+(x*x+z*z)));k=+E(+k);r=2.0/(k*k+(J*y*J*y+(z*y*z*y+x*y*x*y)));n=1.0-(x*y*x*y*r+J*y*J*y*r);i=z*y*x*y*r-k*J*y*r;t=z*y*J*y*r+k*x*y*r;o=z*y*x*y*r+k*J*y*r;f=1.0-(z*y*z*y*r+J*y*J*y*r);s=x*y*J*y*r-k*z*y*r;p=z*y*J*y*r-k*x*y*r;k=x*y*J*y*r+k*z*y*r;r=1.0-(z*y*z*y*r+x*y*x*y*r);y=+g[b+(c*284|0)+68>>2];x=+g[b+(c*284|0)+72>>2];z=+g[b+(c*284|0)+76>>2];g[b+(c*284|0)+92>>2]=z*(H*t+G*s+I*r)+(y*(I*p+(G*o+H*n))+x*(I*k+(H*i+G*f)));g[b+(c*284|0)+96>>2]=w*(H*t+G*s+I*r)+(v*(I*p+(G*o+H*n))+u*(I*k+(H*i+G*f)));g[b+(c*284|0)+100>>2]=(H*t+G*s+I*r)*-q+((I*p+(G*o+H*n))*-m+(I*k+(H*i+G*f))*-h);g[b+(c*284|0)+104>>2]=0.0;g[b+(c*284|0)+108>>2]=z*(B*t+A*s+D*r)+(y*(D*p+(A*o+B*n))+x*(D*k+(B*i+A*f)));g[b+(c*284|0)+112>>2]=w*(B*t+A*s+D*r)+(v*(D*p+(A*o+B*n))+u*(D*k+(B*i+A*f)));g[b+(c*284|0)+116>>2]=(B*t+A*s+D*r)*-q+((D*p+(A*o+B*n))*-m+(D*k+(B*i+A*f))*-h);g[b+(c*284|0)+120>>2]=0.0;g[b+(c*284|0)+124>>2]=z*(j*t+e*s+l*r)+(y*(l*p+(e*o+j*n))+x*(l*k+(j*i+e*f)));g[b+(c*284|0)+128>>2]=w*(j*t+e*s+l*r)+(v*(l*p+(e*o+j*n))+u*(l*k+(j*i+e*f)));g[b+(c*284|0)+132>>2]=(j*t+e*s+l*r)*-q+((l*p+(e*o+j*n))*-m+(l*k+(j*i+e*f))*-h);g[b+(c*284|0)+136>>2]=0.0;h=+g[b+(c*284|0)+32>>2];f=h*+g[b+(c*284|0)+56>>2]+ +g[b+(c*284|0)+40>>2];e=h*+g[b+(c*284|0)+60>>2]+ +g[b+(c*284|0)+44>>2];g[b+(c*284|0)+140>>2]=+g[b+(c*284|0)+52>>2]*h+ +g[b+(c*284|0)+36>>2];g[b+(c*284|0)+144>>2]=f;g[b+(c*284|0)+148>>2]=e;g[b+(c*284|0)+152>>2]=0.0;return}function me(b,d,e,f,h,i,j,k,m){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=+i;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0.0;D=l;l=l+32|0;if(!d){l=D;return}q=c[b+44>>2]|0;if((q|0)<128){if((c[b+48>>2]|0)<128){c[6472]=(c[6472]|0)+1;n=ic(531)|0;if(!n)p=0;else{c[(n+4+15&-16)+-4>>2]=n;p=n+4+15&-16}n=c[b+44>>2]|0;if((n|0)>0){o=0;do{c[p+(o<<2)>>2]=c[(c[b+52>>2]|0)+(o<<2)>>2];o=o+1|0}while((o|0)!=(n|0))}n=c[b+52>>2]|0;if(n|0){if(a[b+56>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[n+-4>>2]|0)}c[b+52>>2]=0}a[b+56>>0]=1;c[b+52>>2]=p;c[b+48>>2]=128;o=b+52|0}else o=b+52|0;n=q;do{c[(c[o>>2]|0)+(n<<2)>>2]=0;n=n+1|0}while((n|0)!=128);y=b+48|0}else{y=b+48|0;o=b+52|0}c[b+44>>2]=128;c[c[o>>2]>>2]=d;x=1;n=126;while(1){p=x+-1|0;q=c[o>>2]|0;w=c[q+(p<<2)>>2]|0;s=+g[w+4>>2]-+g[k+4>>2];u=+g[w+8>>2]-+g[k+8>>2];g[D>>2]=+g[w>>2]-+g[k>>2];g[D+4>>2]=s;g[D+8>>2]=u;g[D+12>>2]=0.0;u=+g[w+20>>2]-+g[j+4>>2];s=+g[w+24>>2]-+g[j+8>>2];g[D+16>>2]=+g[w+16>>2]-+g[j>>2];g[D+20>>2]=u;g[D+24>>2]=s;g[D+28>>2]=0.0;v=c[h>>2]|0;s=+g[e>>2];u=+g[f>>2];r=(+g[D+(v<<4)>>2]-s)*u;s=u*(+g[D+(1-v<<4)>>2]-s);v=c[h+4>>2]|0;u=+g[e+4>>2];E=+g[f+4>>2];t=(+g[D+(v<<4)+4>>2]-u)*E;u=E*(+g[D+(1-v<<4)+4>>2]-u);do if((!(t>s|r>u)?(z=t>r?t:r,C=u>2]|0,B=+g[e+8>>2],E=+g[f+8>>2],A=(+g[D+(v<<4)+8>>2]-B)*E,B=E*(+g[D+(1-v<<4)+8>>2]-B),!(A>C|z>B)):0)?((B0.0?(A>z?A:z)>2]|0)){Gb[c[(c[m>>2]|0)+12>>2]&127](m,w);break}if((p|0)>(n|0)){v=c[b+44>>2]|0;if((v|0)<(v<<1|0)){if((c[y>>2]|0)<(v<<1|0)){if(v){c[6472]=(c[6472]|0)+1;n=ic((v<<3|3)+16|0)|0;if(!n)n=0;else{c[(n+4+15&-16)+-4>>2]=n;n=n+4+15&-16}q=c[b+44>>2]|0;if((q|0)>0){d=0;do{c[n+(d<<2)>>2]=c[(c[o>>2]|0)+(d<<2)>>2];d=d+1|0}while((d|0)!=(q|0))}}else n=0;q=c[o>>2]|0;if(q|0){if(a[b+56>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[q+-4>>2]|0)}c[o>>2]=0}a[b+56>>0]=1;c[o>>2]=n;c[y>>2]=v<<1;q=v}else{n=q;q=v}do{c[n+(q<<2)>>2]=0;q=q+1|0;n=c[o>>2]|0}while((q|0)!=(v<<1|0))}else n=q;c[b+44>>2]=v<<1;q=n;n=(v<<1)+-2|0}c[q+(p<<2)>>2]=c[w+36>>2];c[(c[o>>2]|0)+(x<<2)>>2]=c[w+40>>2];p=x+1|0}while(0);if(!p)break;else x=p}l=D;return}function ne(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,k=0,m=0,n=0,o=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.0,z=0,A=0,B=0,C=0,D=0,E=0.0;D=l;l=l+32|0;q=+g[d>>2];i=(g[j>>2]=q,c[j>>2]|0);t=q<999999984306749440.0?i:1566444395;p=+g[d+4>>2];m=(g[j>>2]=p,c[j>>2]|0);u=p<999999984306749440.0?m:1566444395;E=+g[d+8>>2];o=(g[j>>2]=E,c[j>>2]|0);w=E<999999984306749440.0?o:1566444395;s=+g[d+12>>2];y=s<0.0?s:0.0;i=q>-999999984306749440.0?i:-581039253;m=p>-999999984306749440.0?m:-581039253;o=E>-999999984306749440.0?o:-581039253;s=s>0.0?s:0.0;E=+g[d+16>>2];B=E<(c[j>>2]=t,+g[j>>2]);h=(g[j>>2]=E,c[j>>2]|0);t=B?h:t;p=+g[d+20>>2];B=p<(c[j>>2]=u,+g[j>>2]);k=(g[j>>2]=p,c[j>>2]|0);u=B?k:u;q=+g[d+24>>2];B=q<(c[j>>2]=w,+g[j>>2]);n=(g[j>>2]=q,c[j>>2]|0);w=B?n:w;r=+g[d+28>>2];y=r>2]=i,+g[j>>2])>2]=m,+g[j>>2])>2]=o,+g[j>>2])>2];B=E<(c[j>>2]=t,+g[j>>2]);h=(g[j>>2]=E,c[j>>2]|0);B=B?h:t;q=+g[d+36>>2];A=q<(c[j>>2]=u,+g[j>>2]);i=(g[j>>2]=q,c[j>>2]|0);A=A?i:u;r=+g[d+40>>2];z=r<(c[j>>2]=w,+g[j>>2]);k=(g[j>>2]=r,c[j>>2]|0);z=z?k:w;p=+g[d+44>>2];y=p>2]=x,+g[j>>2])>2]=v,+g[j>>2])>2]=m,+g[j>>2])>2]|0;h=c[t+4>>2]|0;if((h|0)==(c[t+8>>2]|0)?(C=h|0?h<<1:1,(h|0)<(C|0)):0){if(!C)i=0;else{c[6472]=(c[6472]|0)+1;h=ic(C<<6|19)|0;if(!h)i=0;else{c[(h+4+15&-16)+-4>>2]=h;i=h+4+15&-16}h=c[t+4>>2]|0}if((h|0)>0){k=0;do{m=i+(k<<6)|0;n=(c[t+12>>2]|0)+(k<<6)|0;o=m+64|0;do{c[m>>2]=c[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));k=k+1|0}while((k|0)!=(h|0))}h=c[t+12>>2]|0;if(h|0){if(a[t+16>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[h+-4>>2]|0)}c[t+12>>2]=0}a[t+16>>0]=1;c[t+12>>2]=i;c[t+8>>2]=C;h=c[t+4>>2]|0}C=c[t+12>>2]|0;c[C+(h<<6)>>2]=B;c[C+(h<<6)+4>>2]=A;c[C+(h<<6)+8>>2]=z;g[C+(h<<6)+12>>2]=y;c[C+(h<<6)+16>>2]=w;c[C+(h<<6)+20>>2]=v;c[C+(h<<6)+24>>2]=u;g[C+(h<<6)+28>>2]=p;c[C+(h<<6)+32>>2]=-1;c[C+(h<<6)+36>>2]=e;c[C+(h<<6)+40>>2]=f;f=C+(h<<6)+44|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];c[f+16>>2]=c[D+16>>2];c[t+4>>2]=(c[t+4>>2]|0)+1;l=D;return}function oe(b,d){b=b|0;d=+d;var e=0,f=0,h=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.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;s=l;l=l+32|0;e=c[b+136>>2]|0;if((e|0)>0){f=0;do{le(c[b+116>>2]|0,c[b+144>>2]|0,f,0);f=f+1|0;e=c[b+136>>2]|0}while((f|0)<(e|0))}r=c[b+116>>2]|0;m=+g[r+312>>2];n=+g[r+316>>2];h=+g[r+320>>2];h=+C(+(m*m+n*n+h*h))*3.5999999046325684;g[b+112>>2]=h;q=c[b+128>>2]|0;if(+g[r+4+(q<<2)>>2]*+g[r+312>>2]+ +g[r+20+(q<<2)>>2]*+g[r+316>>2]+ +g[r+36+(q<<2)>>2]*+g[r+320>>2]<0.0)g[b+112>>2]=-h;if((e|0)>0){e=0;do{+ef(b,(c[b+144>>2]|0)+(e*284|0)|0);e=e+1|0;f=c[b+136>>2]|0}while((e|0)<(f|0));i=1.0/+g[(c[b+116>>2]|0)+344>>2];if((f|0)>0){f=0;do{e=c[b+144>>2]|0;if(!(a[e+(f*284|0)+84>>0]|0))h=0.0;else{h=+g[e+(f*284|0)+272>>2];h=i*(+g[e+(f*284|0)+216>>2]*(+g[e+(f*284|0)+204>>2]-+g[e+(f*284|0)+32>>2])*+g[e+(f*284|0)+268>>2]-h*+g[(h<0.0?e+(f*284|0)+220|0:e+(f*284|0)+224|0)>>2]);h=h<0.0?0.0:h}g[e+(f*284|0)+276>>2]=h;f=f+1|0;e=c[b+136>>2]|0}while((f|0)<(e|0));if((e|0)>0){e=0;do{q=c[b+144>>2]|0;k=+g[q+(e*284|0)+276>>2];n=+g[q+(e*284|0)+248>>2];k=k>n?n:k;n=k*+g[q+(e*284|0)+4>>2]*d;m=k*+g[q+(e*284|0)+8>>2]*d;g[s+16>>2]=+g[q+(e*284|0)>>2]*k*d;g[s+16+4>>2]=n;g[s+16+8>>2]=m;g[s+16+12>>2]=0.0;r=c[b+116>>2]|0;m=+g[q+(e*284|0)+20>>2]-+g[r+56>>2];n=+g[q+(e*284|0)+24>>2]-+g[r+60>>2];g[s>>2]=+g[q+(e*284|0)+16>>2]-+g[r+52>>2];g[s+4>>2]=m;g[s+8>>2]=n;g[s+12>>2]=0.0;Zk(r,s+16|0,s);e=e+1|0}while((e|0)<(c[b+136>>2]|0))}}}Bb[c[(c[b>>2]|0)+20>>2]&31](b,d);o=c[b+136>>2]|0;if((o|0)<=0){l=s;return}p=c[b+144>>2]|0;q=c[b+116>>2]|0;r=0;do{k=+g[p+(r*284|0)+36>>2]-+g[q+52>>2];n=+g[p+(r*284|0)+40>>2]-+g[q+56>>2];m=+g[p+(r*284|0)+44>>2]-+g[q+60>>2];h=+g[q+332>>2];i=+g[q+336>>2];j=+g[q+328>>2];if(!(a[p+(r*284|0)+84>>0]|0)){e=p+(r*284|0)+240|0;j=+g[e>>2];f=p+(r*284|0)+236|0;h=j;i=+g[f>>2]}else{e=c[b+128>>2]|0;y=+g[q+4+(e<<2)>>2];w=+g[q+20+(e<<2)>>2];u=+g[q+36+(e<<2)>>2];x=+g[p+(r*284|0)>>2];v=+g[p+(r*284|0)+4>>2];t=+g[p+(r*284|0)+8>>2];j=((n*j-k*h+ +g[q+320>>2])*(u-t*(y*x+w*v+u*t))+((h*m-n*i+ +g[q+312>>2])*(y-x*(y*x+w*v+u*t))+(k*i-m*j+ +g[q+316>>2])*(w-v*(y*x+w*v+u*t))))*d/+g[p+(r*284|0)+212>>2];e=p+(r*284|0)+240|0;g[e>>2]=j;f=p+(r*284|0)+236|0;h=+g[f>>2];i=j}g[f>>2]=h+i;g[e>>2]=j*.9900000095367432;r=r+1|0}while((r|0)!=(o|0));l=s;return}function pe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var h=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.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.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0;o=l;l=l+16|0;i=+g[d>>2];j=+g[d+4>>2];k=+g[d+8>>2];m=+g[e>>2];n=+g[e+4>>2];h=+g[e+8>>2];if(!(a[b+228>>0]|0)){z=+g[b+100>>2];w=+g[b+116>>2];C=+g[b+132>>2];y=+g[b+104>>2];u=+g[b+120>>2];B=+g[b+136>>2];x=+g[b+108>>2];s=+g[b+124>>2];A=+g[b+140>>2];F=-+g[b+148>>2];E=-+g[b+152>>2];D=-+g[b+156>>2];J=+g[b+164>>2];I=+g[b+168>>2];r=+g[b+172>>2];H=+g[b+180>>2];G=+g[b+184>>2];q=+g[b+188>>2];v=+g[b+196>>2];t=+g[b+200>>2];p=+g[b+204>>2];r=h*(C*J+B*I+A*r)+(m*(z*J+y*I+x*r)+n*(w*J+u*I+s*r))+(J*(z*F+w*E+C*D)+(y*F+u*E+B*D)*I+(x*F+s*E+A*D)*r+ +g[b+212>>2]);q=h*(C*H+B*G+A*q)+(m*(z*H+y*G+x*q)+n*(w*H+u*G+s*q))+((z*F+w*E+C*D)*H+(y*F+u*E+B*D)*G+(x*F+s*E+A*D)*q+ +g[b+216>>2]);p=(z*F+w*E+C*D)*v+(y*F+u*E+B*D)*t+(x*F+s*E+A*D)*p+ +g[b+220>>2]+(h*(C*v+B*t+A*p)+(m*(z*v+y*t+x*p)+n*(w*v+u*t+s*p)));g[o>>2]=r;g[o+4>>2]=q;g[o+8>>2]=p;f=(i*f+m-r)*+g[d>>2]+(j*f+n-q)*+g[d+4>>2]+(k*f+h-p)*+g[d+8>>2];e=o+12|0;g[e>>2]=0.0;b=b+32|0;b=c[b>>2]|0;e=c[b>>2]|0;e=e+16|0;e=c[e>>2]|0;Lb[e&15](b,d,o,f);l=o;return}else{z=+g[b+36>>2];C=+g[b+52>>2];w=+g[b+68>>2];A=+g[b+40>>2];E=+g[b+56>>2];x=+g[b+72>>2];B=+g[b+44>>2];G=+g[b+60>>2];y=+g[b+76>>2];t=-+g[b+84>>2];u=-+g[b+88>>2];v=-+g[b+92>>2];p=+g[b+164>>2];q=+g[b+168>>2];H=+g[b+172>>2];r=+g[b+180>>2];s=+g[b+184>>2];I=+g[b+188>>2];D=+g[b+196>>2];F=+g[b+200>>2];J=+g[b+204>>2];H=(k*f+h)*(w*p+x*q+y*H)+((i*f+m)*(z*p+A*q+B*H)+(j*f+n)*(C*p+E*q+G*H))+(p*(z*t+C*u+w*v)+(A*t+E*u+x*v)*q+(B*t+G*u+y*v)*H+ +g[b+212>>2]);I=(k*f+h)*(w*r+x*s+y*I)+((i*f+m)*(z*r+A*s+B*I)+(j*f+n)*(C*r+E*s+G*I))+((z*t+C*u+w*v)*r+(A*t+E*u+x*v)*s+(B*t+G*u+y*v)*I+ +g[b+216>>2]);J=(z*t+C*u+w*v)*D+(A*t+E*u+x*v)*F+(B*t+G*u+y*v)*J+ +g[b+220>>2]+((k*f+h)*(w*D+x*F+y*J)+((i*f+m)*(z*D+A*F+B*J)+(j*f+n)*(C*D+E*F+G*J)));g[o>>2]=H+i*(i*(H-m)+j*(I-n)+k*(J-h));g[o+4>>2]=I+j*(i*(H-m)+j*(I-n)+k*(J-h));g[o+8>>2]=J+k*(i*(H-m)+j*(I-n)+k*(J-h));J=i*(H-m)+j*(I-n)+k*(J-h);e=o+12|0;g[e>>2]=0.0;b=b+32|0;b=c[b>>2]|0;e=c[b>>2]|0;e=e+16|0;e=c[e>>2]|0;Lb[e&15](b,d,o,J);l=o;return}}function qe(b,d){b=b|0;d=+d;var e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;o=c[b+452>>2]|0;Kb[c[(c[o>>2]|0)+16>>2]&127](o,b+324|0,0);o=c[b+452>>2]|0;qb[c[(c[o>>2]|0)+12>>2]&127](o)|0;Jc(b,d);bj(11828);o=c[b+328>>2]|0;if((o|0)>0){e=c[b+336>>2]|0;f=0;k=0;do{n=c[(c[e+(f<<2)>>2]|0)+384>>2]|0;k=(k|0)>(n|0)?k:n;f=f+1|0}while((f|0)!=(o|0));f=0;while(1){e=c[e+(f<<2)>>2]|0;if((c[e+852>>2]|0)>0){h=0;do{n=c[(c[e+860>>2]|0)+(h<<2)>>2]|0;Eb[c[(c[n>>2]|0)+8>>2]&15](n,+g[e+452>>2],k);h=h+1|0}while((h|0)<(c[e+852>>2]|0))}f=f+1|0;if((f|0)==(o|0))break;e=c[b+336>>2]|0}if((k|0)>0){i=0;do{j=0;do{f=c[(c[b+336>>2]|0)+(j<<2)>>2]|0;e=c[f+852>>2]|0;if((e|0)>0){h=0;do{n=c[(c[f+860>>2]|0)+(h<<2)>>2]|0;Cb[c[(c[n>>2]|0)+12>>2]&7](n,+g[f+452>>2],1.0);h=h+1|0}while((h|0)!=(e|0))}j=j+1|0}while((j|0)!=(o|0));i=i+1|0}while((i|0)!=(k|0));n=0}else n=0;do{m=c[(c[b+336>>2]|0)+(n<<2)>>2]|0;if((c[m+852>>2]|0)>0){h=0;do{e=c[(c[m+860>>2]|0)+(h<<2)>>2]|0;Bb[c[(c[e>>2]|0)+16>>2]&31](e,+g[m+452>>2]);e=c[m+860>>2]|0;f=c[e+(h<<2)>>2]|0;a:do if(a[f+152>>0]|0){if(!f)k=e;else{c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0);k=c[m+860>>2]|0}e=h+-1|0;f=c[m+852>>2]|0;if((f|0)>0){j=c[k+(h<<2)>>2]|0;h=0;while(1){i=k+(h<<2)|0;if((c[i>>2]|0)==(j|0))break;h=h+1|0;if((h|0)>=(f|0))break a}if((h|0)<(f|0)){c[i>>2]=c[k+(f+-1<<2)>>2];c[(c[m+860>>2]|0)+(f+-1<<2)>>2]=j;c[m+852>>2]=f+-1;f=f+-1|0}}}else{f=c[m+852>>2]|0;e=h}while(0);h=e+1|0}while((h|0)<(f|0))}n=n+1|0}while((n|0)!=(o|0))}e=c[b+452>>2]|0;Bb[c[(c[e>>2]|0)+28>>2]&31](e,+g[e+12>>2]*d);e=c[2405]|0;o=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=o;do if(!o){if(c[e+4>>2]|0){Za(p|0,0)|0;o=c[6471]|0;g[e+8>>2]=+g[e+8>>2]+ +(((c[p+4>>2]|0)-(c[o+4>>2]|0)+(((c[p>>2]|0)-(c[o>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3;if(c[e+16>>2]|0)break;e=c[2405]|0}c[2405]=c[e+20>>2]}while(0);if((c[b+328>>2]|0)<=0){b=c[b+452>>2]|0;o=c[b>>2]|0;o=o+32|0;o=c[o>>2]|0;Ab[o&511](b);l=p;return}e=0;do{o=c[(c[b+336>>2]|0)+(e<<2)>>2]|0;Nh(o,o);e=e+1|0}while((e|0)<(c[b+328>>2]|0));b=c[b+452>>2]|0;o=c[b>>2]|0;o=o+32|0;o=c[o>>2]|0;Ab[o&511](b);l=p;return}function re(b,d,e,f,h,i,k,l){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;k=k|0;l=l|0;var 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.0,z=0.0,A=0.0,D=0.0;c[b+4>>2]=4;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;c[b+28>>2]=d;c[b+32>>2]=e;g[b+36>>2]=0.0;g[b+40>>2]=.30000001192092896;c[b+44>>2]=0;c[b>>2]=4900;g[b+688>>2]=0.0;g[b+692>>2]=-1.0;g[b+696>>2]=.8999999761581421;g[b+700>>2]=.30000001192092896;g[b+704>>2]=1.0;g[b+708>>2]=0.0;g[b+712>>2]=0.0;a[b+716>>0]=0;a[b+736>>0]=0;a[b+737>>0]=0;a[b+738>>0]=0;a[b+739>>0]=1;a[b+740>>0]=l&1;c[b+748>>2]=0;c[b+600>>2]=c[f>>2];c[b+600+4>>2]=c[f+4>>2];c[b+600+8>>2]=c[f+8>>2];c[b+600+12>>2]=c[f+12>>2];o=+g[d+4>>2];p=+g[d+20>>2];m=+g[d+36>>2];q=+g[i>>2];r=+g[i+4>>2];n=+g[i+8>>2];do if(!(o*q+p*r+m*n>=.9999998807907104))if(!(o*q+p*r+m*n<=-.9999998807907104)){s=(g[j>>2]=m*r-p*n,c[j>>2]|0);f=(g[j>>2]=o*n-m*q,c[j>>2]|0);x=n*(o*n-m*q)-r*(p*q-o*r);y=q*(p*q-o*r)-n*(m*r-p*n);w=r*(m*r-p*n)-q*(o*n-m*q);e=(g[j>>2]=p*q-o*r,c[j>>2]|0);break}else{x=+g[d+12>>2];y=+g[d+28>>2];w=+g[d+44>>2];s=c[d+8>>2]|0;e=c[d+40>>2]|0;f=c[d+24>>2]|0;break}else{x=-+g[d+12>>2];y=-+g[d+28>>2];w=-+g[d+44>>2];s=c[d+8>>2]|0;e=c[d+40>>2]|0;f=c[d+24>>2]|0}while(0);g[b+552>>2]=x;c[b+556>>2]=s;c[b+560>>2]=c[i>>2];g[b+564>>2]=0.0;g[b+568>>2]=y;c[b+572>>2]=f;c[b+576>>2]=c[i+4>>2];g[b+580>>2]=0.0;g[b+584>>2]=w;c[b+588>>2]=e;c[b+592>>2]=c[i+8>>2];g[b+596>>2]=0.0;m=+g[i+4>>2];t=+g[k+8>>2];q=+g[i+8>>2];u=+g[k+4>>2];v=+g[k>>2];n=+g[i>>2];do if(t*q+(m*u+v*n)<-.9999998807907104)if(+B(+q)>.7071067690849304){n=1.0/+C(+(m*m+q*q));r=m*n;o=0.0;p=0.0;m=-(q*n);break}else{q=1.0/+C(+(m*m+n*n));r=0.0;o=-(m*q);p=0.0;m=n*q;break}else{z=+C(+((t*q+(m*u+v*n)+1.0)*2.0));r=(u*n-m*v)*(1.0/z);o=(m*t-q*u)*(1.0/z);p=z*.5;m=(q*v-t*n)*(1.0/z)}while(0);D=x*p+w*m-y*r;q=y*p+x*r-w*o;n=w*p+y*o-x*m;A=-(x*o)-y*m-w*r;x=-o;o=-m;w=-r;z=q*w+(p*D+A*x)-n*o;y=n*x+(p*q+A*o)-D*w;x=D*o+(A*w+p*n)-q*x;c[b+664>>2]=c[h>>2];c[b+664+4>>2]=c[h+4>>2];c[b+664+8>>2]=c[h+8>>2];c[b+664+12>>2]=c[h+12>>2];g[b+616>>2]=z;g[b+620>>2]=u*x-t*y;c[b+624>>2]=c[k>>2];g[b+628>>2]=0.0;g[b+632>>2]=y;g[b+636>>2]=t*z-v*x;c[b+640>>2]=c[k+4>>2];g[b+644>>2]=0.0;g[b+648>>2]=x;g[b+652>>2]=v*y-u*z;c[b+656>>2]=c[k+8>>2];g[b+660>>2]=0.0;g[b+732>>2]=l?-1.0:1.0;return}function se(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,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(!((a|0)!=0&(b|0)!=0))return;c[6472]=(c[6472]|0)+1;e=ic(1043)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[e>>2]=a;c[e+4>>2]=b;k=e;f=e;h=e;r=1;b=128;n=e;i=128;e=124;while(1){o=r+-1|0;p=c[n+(o<<3)>>2]|0;q=c[n+(o<<3)+4>>2]|0;if((o|0)>(e|0)){j=i<<1;do if((i|0)<(j|0)&(b|0)<(j|0)){if(i){c[6472]=(c[6472]|0)+1;e=ic((i<<4|3)+16|0)|0;if(!e)a=0;else{c[(e+4+15&-16)+-4>>2]=e;a=e+4+15&-16}if((i|0)>0){e=0;do{h=n+(e<<3)|0;l=c[h+4>>2]|0;m=a+(e<<3)|0;c[m>>2]=c[h>>2];c[m+4>>2]=l;e=e+1|0}while((e|0)!=(i|0));e=a}else{e=a;s=12}}else{e=0;a=0;s=12}if((s|0)==12){s=0;if(!n){f=e;h=e;b=j;break}}if(!k){f=e;h=e;b=j}else{c[6473]=(c[6473]|0)+1;nd(c[k+-4>>2]|0);f=e;h=e;b=j}}else{e=k;a=n}while(0);m=f;k=e;l=b;i=j;j=j+-4|0}else{m=f;l=b;a=n;j=e}do if((p|0)==(q|0))if(!(c[p+40>>2]|0))e=o;else{e=c[p+36>>2]|0;c[a+(o<<3)>>2]=e;c[a+(o<<3)+4>>2]=e;e=r+1|0;q=c[p+40>>2]|0;c[a+(r<<3)>>2]=q;c[a+(r<<3)+4>>2]=q;q=c[p+40>>2]|0;c[a+(e<<3)>>2]=c[p+36>>2];c[a+(e<<3)+4>>2]=q;e=r+2|0}else if(((((+g[p>>2]<=+g[q+16>>2]?+g[p+16>>2]>=+g[q>>2]:0)?+g[p+4>>2]<=+g[q+20>>2]:0)?+g[p+20>>2]>=+g[q+4>>2]:0)?+g[p+8>>2]<=+g[q+24>>2]:0)?+g[p+24>>2]>=+g[q+8>>2]:0){f=(c[q+40>>2]|0)!=0;if(!(c[p+40>>2]|0))if(f){e=c[q+36>>2]|0;c[a+(o<<3)>>2]=p;c[a+(o<<3)+4>>2]=e;e=c[q+40>>2]|0;c[a+(r<<3)>>2]=p;c[a+(r<<3)+4>>2]=e;e=r+1|0;break}else{Kb[c[(c[d>>2]|0)+8>>2]&127](d,p,q);e=o;break}else{b=a+(o<<3)|0;e=c[p+36>>2]|0;if(f){n=c[q+36>>2]|0;c[b>>2]=e;c[a+(o<<3)+4>>2]=n;o=r+1|0;e=c[q+36>>2]|0;c[a+(r<<3)>>2]=c[p+40>>2];c[a+(r<<3)+4>>2]=e;e=r+2|0;n=c[q+40>>2]|0;c[a+(o<<3)>>2]=c[p+36>>2];c[a+(o<<3)+4>>2]=n;q=c[q+40>>2]|0;c[a+(e<<3)>>2]=c[p+40>>2];c[a+(e<<3)+4>>2]=q;e=r+3|0;break}else{c[b>>2]=e;c[a+(o<<3)+4>>2]=q;c[a+(r<<3)>>2]=c[p+40>>2];c[a+(r<<3)+4>>2]=q;e=r+1|0;break}}}else e=o;while(0);if(!e)break;else{f=m;r=e;b=l;n=a;e=j}}if((a|0)==0|(m|0)==0)return;c[6473]=(c[6473]|0)+1;nd(c[m+-4>>2]|0);return}function te(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,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,D=0.0,E=0.0,F=0.0,G=0,H=0.0,I=0.0,J=0.0;d=l;l=l+96|0;k=+g[b>>2];m=+g[a+28>>2];x=+g[b+4>>2];y=+g[a+32>>2];z=+g[b+8>>2];A=+g[a+36>>2];B=+g[a+44>>2];D=+g[a+48>>2];E=+g[a+52>>2];F=+g[a+60>>2];n=+g[a+64>>2];o=+g[a+68>>2];p=+g[a+76>>2];q=+g[a+80>>2];r=+g[a+84>>2];g[d+80>>2]=k*m+x*y+z*A+p;g[d+80+4>>2]=k*B+x*D+z*E+q;g[d+80+8>>2]=k*F+x*n+z*o+r;g[d+80+12>>2]=0.0;s=+g[b+16>>2];t=+g[b+20>>2];u=+g[b+24>>2];g[d+64>>2]=s*m+t*y+u*A+p;g[d+64+4>>2]=s*B+t*D+u*E+q;g[d+64+8>>2]=s*F+t*n+u*o+r;g[d+64+12>>2]=0.0;v=+g[b+32>>2];w=+g[b+36>>2];f=+g[b+40>>2];g[d+48>>2]=v*m+w*y+f*A+p;g[d+48+4>>2]=v*B+w*D+f*E+q;g[d+48+8>>2]=v*F+w*n+f*o+r;g[d+48+12>>2]=0.0;h=(k*m+x*y+z*A+p+(s*m+t*y+u*A+p)+(v*m+w*y+f*A+p))*.3333333432674408;i=(k*B+x*D+z*E+q+(s*B+t*D+u*E+q)+(v*B+w*D+f*E+q))*.3333333432674408;j=(k*F+x*n+z*o+r+(s*F+t*n+u*o+r)+(v*F+w*n+f*o+r))*.3333333432674408;g[d+32>>2]=h;g[d+32+4>>2]=i;g[d+32+8>>2]=j;g[d+32+12>>2]=0.0;b=c[a+8>>2]|0;if(!((qb[c[(c[b>>2]|0)+48>>2]&127](b)|0)&16384)){e=c[a+8>>2]|0;G=c[e>>2]|0;G=G+8|0;G=c[G>>2]|0;b=a+12|0;Nb[G&127](e,d+80|0,d+64|0,b);e=c[a+8>>2]|0;G=c[e>>2]|0;G=G+8|0;G=c[G>>2]|0;Nb[G&127](e,d+64|0,d+48|0,b);a=c[a+8>>2]|0;e=c[a>>2]|0;e=e+8|0;e=c[e>>2]|0;Nb[e&127](a,d+48|0,d+80|0,b);l=d;return}J=+g[d+80>>2];I=s*B+t*D+u*E+q-(k*B+x*D+z*E+q);H=s*F+t*n+u*o+r-(k*F+x*n+z*o+r);B=v*B+w*D+f*E+q-(k*B+x*D+z*E+q);z=v*F+w*n+f*o+r-(k*F+x*n+z*o+r);D=H*(v*m+w*y+f*A+p-J)-(s*m+t*y+u*A+p-J)*z;F=(s*m+t*y+u*A+p-J)*B-I*(v*m+w*y+f*A+p-J);E=1.0/+C(+(F*F+((I*z-H*B)*(I*z-H*B)+D*D)));c[d+16>>2]=1065353216;c[d+16+4>>2]=1065353216;c[d+16+8>>2]=0;g[d+16+12>>2]=0.0;b=c[a+8>>2]|0;e=c[(c[b>>2]|0)+8>>2]|0;g[d>>2]=E*(I*z-H*B)+h;g[d+4>>2]=E*D+i;g[d+8>>2]=E*F+j;g[d+12>>2]=0.0;Nb[e&127](b,d+32|0,d,d+16|0);b=c[a+8>>2]|0;e=c[b>>2]|0;e=e+8|0;e=c[e>>2]|0;G=a+12|0;Nb[e&127](b,d+80|0,d+64|0,G);b=c[a+8>>2]|0;e=c[b>>2]|0;e=e+8|0;e=c[e>>2]|0;Nb[e&127](b,d+64|0,d+48|0,G);a=c[a+8>>2]|0;b=c[a>>2]|0;b=b+8|0;b=c[b>>2]|0;Nb[b&127](a,d+48|0,d+80|0,G);l=d;return}function ue(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0,i=0,j=0.0;a=l;l=l+144|0;switch(c[b+388>>2]&15){case 1:{c[a+112>>2]=3508;h=c[d+8>>2]|0;h=(c[h+236>>2]&2|0)==0?0:h;i=c[d+12>>2]|0;j=+g[i+48>>2];e=+g[i+52>>2];f=+g[i+56>>2];f=+C(+((j-j)*(j-j)+(e-e)*(e-e)+(f-f)*(f-f)));i=c[b+192>>2]|0;e=+gb[c[(c[i>>2]|0)+48>>2]&15](i);i=c[d+4>>2]|0;Nb[c[(c[i>>2]|0)+8>>2]&127](i,c[d+12>>2]|0,a+96|0,a+64|0);c[a>>2]=c[a+96>>2];c[a+4>>2]=c[a+96+4>>2];c[a+8>>2]=c[a+96+8>>2];c[a+12>>2]=c[a+96+12>>2];c[a+16>>2]=c[a+64>>2];c[a+16+4>>2]=c[a+64+4>>2];c[a+16+8>>2]=c[a+64+8>>2];c[a+16+12>>2]=c[a+64+12>>2];c[a+32>>2]=c[a>>2];c[a+32+4>>2]=c[a+4>>2];c[a+32+8>>2]=c[a+8>>2];c[a+32+12>>2]=c[a+12>>2];c[a+32+16>>2]=c[a+16>>2];c[a+32+20>>2]=c[a+20>>2];c[a+32+24>>2]=c[a+24>>2];c[a+32+28>>2]=c[a+28>>2];g[a+32>>2]=+g[a+32>>2]-e;g[a+32+4>>2]=+g[a+32+4>>2]-e;g[a+32+8>>2]=+g[a+32+8>>2]-e;g[a+32+16>>2]=e+ +g[a+32+16>>2];g[a+32+20>>2]=e+ +g[a+32+20>>2];g[a+32+24>>2]=e+ +g[a+32+24>>2];c[a+112+4>>2]=b;c[a+112+8>>2]=d;c[a+112+12>>2]=h;g[a+112+16>>2]=f+e;g[a+112+20>>2]=e;Ue(c[b+928>>2]|0,a+32|0,a+112|0);l=a;return}case 2:{g[a+4>>2]=1.0;c[a+8+4>>2]=0;c[a+8+4+4>>2]=0;c[a+8+4+8>>2]=0;c[a>>2]=3544;c[a+24>>2]=b;c[a+28>>2]=d;c[a+8>>2]=c[b+456>>2];i=c[d+4>>2]|0;j=+gb[c[(c[i>>2]|0)+48>>2]&15](i);i=c[b+192>>2]|0;j=j+ +gb[c[(c[i>>2]|0)+48>>2]&15](i);g[a+12>>2]=j;f=+g[(c[d+8>>2]|0)+224>>2];g[a+112>>2]=f;c[a+16>>2]=c[(+g[b+316>>2]>2];i=c[d+4>>2]|0;Nb[c[(c[i>>2]|0)+8>>2]&127](i,c[d+12>>2]|0,a+112|0,a+96|0);c[a+32>>2]=c[a+112>>2];c[a+32+4>>2]=c[a+112+4>>2];c[a+32+8>>2]=c[a+112+8>>2];c[a+32+12>>2]=c[a+112+12>>2];c[a+32+16>>2]=c[a+96>>2];c[a+32+16+4>>2]=c[a+96+4>>2];c[a+32+16+8>>2]=c[a+96+8>>2];c[a+32+16+12>>2]=c[a+96+12>>2];c[a+64>>2]=c[a+32>>2];c[a+64+4>>2]=c[a+32+4>>2];c[a+64+8>>2]=c[a+32+8>>2];c[a+64+12>>2]=c[a+32+12>>2];c[a+64+16>>2]=c[a+32+16>>2];c[a+64+20>>2]=c[a+32+20>>2];c[a+64+24>>2]=c[a+32+24>>2];c[a+64+28>>2]=c[a+32+28>>2];g[a+64>>2]=+g[a+64>>2]-j;g[a+64+4>>2]=+g[a+64+4>>2]-j;g[a+64+8>>2]=+g[a+64+8>>2]-j;g[a+64+16>>2]=j+ +g[a+64+16>>2];g[a+64+20>>2]=j+ +g[a+64+20>>2];g[a+64+24>>2]=j+ +g[a+64+24>>2];Ue(c[b+1048>>2]|0,a+64|0,a);l=a;return}default:{l=a;return}}}function ve(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|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;c[b+28>>2]=d;c[b+32>>2]=e;g[b+36>>2]=0.0;g[b+40>>2]=.30000001192092896;c[b+44>>2]=0;c[b>>2]=4624;c[b+48>>2]=c[f>>2];c[b+48+4>>2]=c[f+4>>2];c[b+48+8>>2]=c[f+8>>2];c[b+48+12>>2]=c[f+12>>2];c[b+64>>2]=c[f+16>>2];c[b+64+4>>2]=c[f+16+4>>2];c[b+64+8>>2]=c[f+16+8>>2];c[b+64+12>>2]=c[f+16+12>>2];c[b+80>>2]=c[f+32>>2];c[b+80+4>>2]=c[f+32+4>>2];c[b+80+8>>2]=c[f+32+8>>2];c[b+80+12>>2]=c[f+32+12>>2];c[b+96>>2]=c[f+48>>2];c[b+96+4>>2]=c[f+48+4>>2];c[b+96+8>>2]=c[f+48+8>>2];c[b+96+12>>2]=c[f+48+12>>2];c[b+112>>2]=c[h>>2];c[b+112+4>>2]=c[h+4>>2];c[b+112+8>>2]=c[h+8>>2];c[b+112+12>>2]=c[h+12>>2];c[b+128>>2]=c[h+16>>2];c[b+128+4>>2]=c[h+16+4>>2];c[b+128+8>>2]=c[h+16+8>>2];c[b+128+12>>2]=c[h+16+12>>2];c[b+144>>2]=c[h+32>>2];c[b+144+4>>2]=c[h+32+4>>2];c[b+144+8>>2]=c[h+32+8>>2];c[b+144+12>>2]=c[h+32+12>>2];c[b+160>>2]=c[h+48>>2];c[b+160+4>>2]=c[h+48+4>>2];c[b+160+8>>2]=c[h+48+8>>2];c[b+160+12>>2]=c[h+48+12>>2];f=b+680|0;h=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[b+740>>2]=0;c[b+740+4>>2]=0;c[b+740+8>>2]=0;c[b+740+12>>2]=0;c[b+756>>2]=1045220557;c[b+760>>2]=1045220557;c[b+764>>2]=1045220557;c[b+768>>2]=0;c[b+768+4>>2]=0;c[b+768+8>>2]=0;c[b+768+12>>2]=0;c[b+768+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;bd(b,(c[b+28>>2]|0)+4|0,(c[b+32>>2]|0)+4|0);return}function we(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0,m=0;if(!b)b=0;else b=(c[b+236>>2]&2|0)==0?0:b;c[a+64>>2]=0;c[a+64+4>>2]=0;c[a+64+8>>2]=0;c[a+64+12>>2]=0;c[a+64+16>>2]=0;c[a+64+20>>2]=0;c[a+64+24>>2]=0;c[a+64+28>>2]=0;c[a+144>>2]=0;c[a+144+4>>2]=0;c[a+144+8>>2]=0;c[a+144+12>>2]=0;c[a+144+16>>2]=0;c[a+144+20>>2]=0;c[a+144+24>>2]=0;c[a+144+28>>2]=0;if(!b){c[a>>2]=1065353216;c[a+4>>2]=0;c[a+4+4>>2]=0;c[a+4+8>>2]=0;c[a+4+12>>2]=0;c[a+20>>2]=1065353216;c[a+24>>2]=0;c[a+24+4>>2]=0;c[a+24+8>>2]=0;c[a+24+12>>2]=0;c[a+40>>2]=1065353216;c[a+44>>2]=0;c[a+44+4>>2]=0;c[a+44+8>>2]=0;c[a+44+12>>2]=0;c[a+44+16>>2]=0;c[a+240>>2]=0;c[a+128>>2]=0;c[a+128+4>>2]=0;c[a+128+8>>2]=0;c[a+128+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;b=a+176|0;e=b+60|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));a=a+236|0;g[a>>2]=0.0;return}else{e=b+4|0;c[a>>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];e=b+20|0;c[a+16>>2]=c[e>>2];c[a+16+4>>2]=c[e+4>>2];c[a+16+8>>2]=c[e+8>>2];c[a+16+12>>2]=c[e+12>>2];e=b+36|0;c[a+32>>2]=c[e>>2];c[a+32+4>>2]=c[e+4>>2];c[a+32+8>>2]=c[e+8>>2];c[a+32+12>>2]=c[e+12>>2];e=b+52|0;c[a+48>>2]=c[e>>2];c[a+48+4>>2]=c[e+4>>2];c[a+48+8>>2]=c[e+8>>2];c[a+48+12>>2]=c[e+12>>2];e=b+344|0;k=+g[e>>2];l=b+348|0;j=k*+g[b+352>>2];i=k*+g[b+356>>2];g[a+128>>2]=k*+g[l>>2];g[a+132>>2]=j;g[a+136>>2]=i;g[a+140>>2]=0.0;c[a+240>>2]=b;m=b+544|0;c[a+96>>2]=c[m>>2];c[a+96+4>>2]=c[m+4>>2];c[a+96+8>>2]=c[m+8>>2];c[a+96+12>>2]=c[m+12>>2];c[a+112>>2]=c[l>>2];c[a+112+4>>2]=c[l+4>>2];c[a+112+8>>2]=c[l+8>>2];c[a+112+12>>2]=c[l+12>>2];l=b+312|0;c[a+176>>2]=c[l>>2];c[a+176+4>>2]=c[l+4>>2];c[a+176+8>>2]=c[l+8>>2];c[a+176+12>>2]=c[l+12>>2];l=b+328|0;c[a+192>>2]=c[l>>2];c[a+192+4>>2]=c[l+4>>2];c[a+192+8>>2]=c[l+8>>2];c[a+192+12>>2]=c[l+12>>2];i=+g[e>>2];j=i*+g[b+416>>2]*d;k=i*+g[b+420>>2]*d;g[a+208>>2]=i*+g[b+412>>2]*d;g[a+212>>2]=j;g[a+216>>2]=k;g[a+220>>2]=0.0;k=+g[b+428>>2];j=+g[b+432>>2];i=+g[b+436>>2];h=(k*+g[b+268>>2]+j*+g[b+284>>2]+i*+g[b+300>>2])*d;f=(k*+g[b+272>>2]+j*+g[b+288>>2]+i*+g[b+304>>2])*d;g[a+224>>2]=(+g[b+264>>2]*k+ +g[b+280>>2]*j+ +g[b+296>>2]*i)*d;g[a+228>>2]=h;g[a+232>>2]=f;a=a+236|0;g[a>>2]=0.0;return}}function xe(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=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];k=c[a+88>>2]|0;c[e+56>>2]=k;if(k){k=sb[c[(c[f>>2]|0)+28>>2]&31](f,c[a+96>>2]|0)|0;c[e+64>>2]=k;if(k|0){h=c[a+88>>2]|0;k=ub[c[(c[f>>2]|0)+16>>2]&63](f,48,h)|0;if((h|0)>0){g=c[a+96>>2]|0;i=0;j=c[k+8>>2]|0;while(1){c[j+16>>2]=c[g+(i<<6)+16>>2];c[j+20>>2]=c[g+(i<<6)+20>>2];c[j+24>>2]=c[g+(i<<6)+24>>2];c[j+28>>2]=c[g+(i<<6)+28>>2];c[j>>2]=c[g+(i<<6)>>2];c[j+4>>2]=c[g+(i<<6)+4>>2];c[j+8>>2]=c[g+(i<<6)+8>>2];c[j+12>>2]=c[g+(i<<6)+12>>2];c[j+32>>2]=c[g+(i<<6)+32>>2];c[j+36>>2]=c[g+(i<<6)+36>>2];c[j+40>>2]=c[g+(i<<6)+40>>2];i=i+1|0;if((i|0)==(h|0))break;else j=j+48|0}}else g=c[a+96>>2]|0;Rb[c[(c[f>>2]|0)+20>>2]&31](f,k,18648,1497453121,g)}}else c[e+64>>2]=0;k=c[a+128>>2]|0;c[e+60>>2]=k;if(k){k=sb[c[(c[f>>2]|0)+28>>2]&31](f,c[a+136>>2]|0)|0;c[e+68>>2]=k;if(k|0){h=c[a+128>>2]|0;k=ub[c[(c[f>>2]|0)+16>>2]&63](f,16,h)|0;if((h|0)>0){g=c[a+136>>2]|0;i=0;j=c[k+8>>2]|0;while(1){c[j+12>>2]=c[g+(i<<4)+12>>2];b[j+6>>1]=b[g+(i<<4)+6>>1]|0;b[j+8>>1]=b[g+(i<<4)+8>>1]|0;b[j+10>>1]=b[g+(i<<4)+10>>1]|0;b[j>>1]=b[g+(i<<4)>>1]|0;b[j+2>>1]=b[g+(i<<4)+2>>1]|0;b[j+4>>1]=b[g+(i<<4)+4>>1]|0;i=i+1|0;if((i|0)==(h|0))break;else j=j+16|0}}else g=c[a+136>>2]|0;Rb[c[(c[f>>2]|0)+20>>2]&31](f,k,18671,1497453121,g)}}else c[e+68>>2]=0;c[e+76>>2]=c[a+144>>2];k=c[a+152>>2]|0;c[e+80>>2]=k;if(!k){c[e+72>>2]=0;return 18715}k=sb[c[(c[f>>2]|0)+28>>2]&31](f,c[a+160>>2]|0)|0;c[e+72>>2]=k;if(!k)return 18715;j=c[a+152>>2]|0;k=ub[c[(c[f>>2]|0)+16>>2]&63](f,20,j)|0;if((j|0)>0){g=c[a+160>>2]|0;h=0;i=c[k+8>>2]|0;while(1){b[i+14>>1]=b[g+(h<<5)+6>>1]|0;b[i+16>>1]=b[g+(h<<5)+8>>1]|0;b[i+18>>1]=b[g+(h<<5)+10>>1]|0;b[i+8>>1]=b[g+(h<<5)>>1]|0;b[i+10>>1]=b[g+(h<<5)+2>>1]|0;b[i+12>>1]=b[g+(h<<5)+4>>1]|0;c[i>>2]=c[g+(h<<5)+12>>2];c[i+4>>2]=c[g+(h<<5)+16>>2];h=h+1|0;if((h|0)==(j|0))break;else i=i+20|0}}else g=c[a+160>>2]|0;Rb[c[(c[f>>2]|0)+20>>2]&31](f,k,18694,1497453121,g);return 18715}function ye(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,k=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,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=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,N=0;M=l;l=l+64|0;c[M+48>>2]=a;c[M+48+4>>2]=b;c[M+48+8>>2]=d;z=+g[a>>2];A=+g[b>>2];B=+g[a+4>>2];D=+g[b+4>>2];E=+g[a+8>>2];F=+g[b+8>>2];g[M>>2]=z-A;g[M+4>>2]=B-D;g[M+8>>2]=E-F;g[M+12>>2]=0.0;G=+g[d>>2];H=+g[d+4>>2];I=+g[d+8>>2];g[M+16>>2]=A-G;g[M+20>>2]=D-H;g[M+24>>2]=F-I;g[M+28>>2]=0.0;g[M+32>>2]=G-z;g[M+36>>2]=H-B;g[M+40>>2]=I-E;g[M+44>>2]=0.0;J=(B-D)*(F-I)-(E-F)*(D-H);K=(E-F)*(A-G)-(F-I)*(z-A);L=(D-H)*(z-A)-(B-D)*(A-G);if(L*L+(J*J+K*K)>0.0){o=B-D;p=E-F;q=z-A;v=z;w=B;x=E;k=0;y=-1.0;n=0;h=0;i=0}else{L=-1.0;l=M;return +L}while(1){if(v*(L*o-K*p)+w*(J*p-L*q)+(K*q-J*o)*x>0.0){u=c[5168+(k<<2)>>2]|0;N=c[M+48+(u<<2)>>2]|0;m=+g[N>>2];r=m-v;p=+g[N+4>>2];t=p-w;q=+g[N+8>>2];s=q-x;do if(r*r+t*t+s*s>0.0){o=-(v*r+w*t+x*s)/(r*r+t*t+s*s);if(o>=1.0){m=m*m+p*p+q*q;n=2;h=0;i=1065353216;break}if(!(o<=0.0)){i=(g[j>>2]=o,c[j>>2]|0);v=v+r*o;m=w+t*o;x=x+s*o;m=x*x+(v*v+m*m);n=3;h=(g[j>>2]=1.0-o,c[j>>2]|0);break}else{m=v*v+w*w+x*x;n=1;h=1065353216;i=0;break}}else m=-1.0;while(0);if(y<0.0|m>2]=(n&1|0?1<>2]=h;c[e+(u<<2)>>2]=i;g[e+(c[5168+(u<<2)>>2]<<2)>>2]=0.0}else m=y}else m=y;k=k+1|0;if((k|0)==3)break;N=c[M+48+(k<<2)>>2]|0;o=+g[M+(k<<4)+4>>2];p=+g[M+(k<<4)+8>>2];q=+g[M+(k<<4)>>2];v=+g[N>>2];w=+g[N+4>>2];x=+g[N+8>>2];y=m}if(!(m<0.0)){L=m;l=M;return +L}x=+C(+(L*L+(J*J+K*K)));y=(J*+g[a>>2]+K*+g[a+4>>2]+L*+g[a+8>>2])/(L*L+(J*J+K*K));c[f>>2]=7;v=+g[b>>2]-J*y;t=+g[b+4>>2]-K*y;w=+g[b+8>>2]-L*y;F=+C(+((t*(A-G)-v*(D-H))*(t*(A-G)-v*(D-H))+(((D-H)*w-t*(F-I))*((D-H)*w-t*(F-I))+(v*(F-I)-w*(A-G))*(v*(F-I)-w*(A-G)))))/x;g[e>>2]=F;A=+g[d>>2]-J*y;w=+g[d+4>>2]-K*y;D=+g[d+8>>2]-L*y;I=+C(+((w*(G-z)-A*(H-B))*(w*(G-z)-A*(H-B))+(((H-B)*D-w*(I-E))*((H-B)*D-w*(I-E))+(A*(I-E)-D*(G-z))*(A*(I-E)-D*(G-z)))))/x;g[e+4>>2]=I;g[e+8>>2]=1.0-(I+F);L=L*y*L*y+(J*y*J*y+K*y*K*y);l=M;return +L}function ze(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,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,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0,J=0;J=l;l=l+32|0;if(!a){l=J;return}F=+g[d>>2]-+g[b>>2];G=+g[d+4>>2]-+g[b+4>>2];A=+g[d+8>>2]-+g[b+8>>2];z=1.0/+C(+(F*F+G*G+A*A));w=F*z==0.0?999999984306749440.0:1.0/(F*z);x=G*z==0.0?999999984306749440.0:1.0/(G*z);y=A*z==0.0?999999984306749440.0:1.0/(A*z);c[6472]=(c[6472]|0)+1;d=ic(531)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}Nk(d+4|0,0,508)|0;c[d>>2]=a;k=d;o=d;q=d;v=1;r=128;u=d;n=128;m=126;while(1){p=v+-1|0;t=c[u+(p<<2)>>2]|0;c[J>>2]=c[t>>2];c[J+4>>2]=c[t+4>>2];c[J+8>>2]=c[t+8>>2];c[J+12>>2]=c[t+12>>2];c[J+16>>2]=c[t+16>>2];c[J+16+4>>2]=c[t+16+4>>2];c[J+16+8>>2]=c[t+16+8>>2];c[J+16+12>>2]=c[t+16+12>>2];h=+g[b>>2];f=w*(+g[J+((w<0.0&1)<<4)>>2]-h);h=w*(+g[J+((w<0.0^1)<<4)>>2]-h);j=+g[b+4>>2];i=x*(+g[J+((x<0.0&1)<<4)+4>>2]-j);j=x*(+g[J+((x<0.0^1)<<4)+4>>2]-j);do if((!(i>h|f>j)?(B=i>f?i:f,H=j>2],D=y*(+g[J+((y<0.0&1)<<4)+8>>2]-E),E=y*(+g[J+((y<0.0^1)<<4)+8>>2]-E),!(D>H|B>E)):0)?((E0.0?(D>B?D:B)>2]|0)){Gb[c[(c[e>>2]|0)+12>>2]&127](e,t);d=r;a=u;break}if((p|0)>(m|0)){s=n<<1;if((n|0)<(s|0)){do if((r|0)<(s|0)){if(n){c[6472]=(c[6472]|0)+1;d=ic((n<<3|3)+16|0)|0;if(!d)a=0;else{c[(d+4+15&-16)+-4>>2]=d;a=d+4+15&-16}if((n|0)>0){d=0;do{c[a+(d<<2)>>2]=c[u+(d<<2)>>2];d=d+1|0}while((d|0)!=(n|0));d=a}else{d=a;I=17}}else{d=0;a=0;I=17}if((I|0)==17){I=0;if(!u){o=d;m=d;k=d;d=s;break}}if(!k){o=d;m=d;k=d;d=s}else{c[6473]=(c[6473]|0)+1;nd(c[k+-4>>2]|0);o=d;m=d;k=d;d=s}}else{m=q;d=r;a=u}while(0);Nk(a+(n<<2)|0,0,n<<2|0)|0;n=o}else{n=o;m=q;d=r;a=u}o=n;q=m;n=s;m=s+-2|0}else{d=r;a=u}c[a+(p<<2)>>2]=c[t+36>>2];c[a+(v<<2)>>2]=c[t+40>>2];p=v+1|0}else{d=r;a=u}while(0);if(!p)break;else{v=p;r=d;u=a}}if((a|0)==0|(o|0)==0){l=J;return}c[6473]=(c[6473]|0)+1;nd(c[o+-4>>2]|0);l=J;return}function Ae(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0.0,j=0.0,k=0.0,l=0,m=0;if(a[b+1308>>0]|0){c[d>>2]=0;c[d+4>>2]=0;return}bd(b,(c[b+28>>2]|0)+4|0,(c[b+32>>2]|0)+4|0);c[d>>2]=0;c[d+4>>2]=6;if((c[b+856>>2]|0)==0?(a[b+788>>0]|0)==0:0){e=0;f=6}else{c[d>>2]=1;c[d+4>>2]=5;e=1;f=5}if(!((c[b+860>>2]|0)==0?(a[b+789>>0]|0)==0:0)){e=e+1|0;c[d>>2]=e;f=f+-1|0;c[d+4>>2]=f}if(!((c[b+864>>2]|0)==0?(a[b+790>>0]|0)==0:0)){e=e+1|0;c[d>>2]=e;f=f+-1|0;c[d+4>>2]=f}i=+g[b+868>>2];j=+g[b+872>>2];k=+Lj(+g[b+1192>>2],i,j);g[b+920>>2]=k;do if(!(i>j)){if(i>k){c[b+924>>2]=1;g[b+916>>2]=k-i;if(k-i>3.1415927410125732){g[b+916>>2]=k-i+-6.2831854820251465;l=7;break}if(!(k-i<-3.1415927410125732)){l=7;break}g[b+916>>2]=k-i+6.2831854820251465;l=7;break}if(j>2]=2;g[b+916>>2]=k-j;if(k-j>3.1415927410125732){g[b+916>>2]=k-j+-6.2831854820251465;l=7;break}if(k-j<-3.1415927410125732){g[b+916>>2]=k-j+6.2831854820251465;l=7}else l=7}else{h=b+924|0;l=54}}else{h=b+924|0;l=54}while(0);if((l|0)==54){c[h>>2]=0;if(a[b+912>>0]|0)l=7}if((l|0)==7){e=e+1|0;c[d>>2]=e;f=f+-1|0;c[d+4>>2]=f}i=+g[b+932>>2];j=+g[b+936>>2];k=+Lj(+g[b+1196>>2],i,j);g[b+984>>2]=k;do if(!(i>j)){if(i>k){c[b+988>>2]=1;g[b+980>>2]=k-i;if(k-i>3.1415927410125732){g[b+980>>2]=k-i+-6.2831854820251465;l=22;break}if(!(k-i<-3.1415927410125732)){l=22;break}g[b+980>>2]=k-i+6.2831854820251465;l=22;break}if(j>2]=2;g[b+980>>2]=k-j;if(k-j>3.1415927410125732){g[b+980>>2]=k-j+-6.2831854820251465;l=22;break}if(k-j<-3.1415927410125732){g[b+980>>2]=k-j+6.2831854820251465;l=22}else l=22}else{h=b+988|0;l=20}}else{h=b+988|0;l=20}while(0);if((l|0)==20){c[h>>2]=0;if(a[b+976>>0]|0)l=22}if((l|0)==22){e=e+1|0;c[d>>2]=e;f=f+-1|0;c[d+4>>2]=f}i=+g[b+996>>2];j=+g[b+1e3>>2];k=+Lj(+g[b+1200>>2],i,j);g[b+1048>>2]=k;do if(!(i>j)){if(i>k){c[b+1052>>2]=1;g[b+1044>>2]=k-i;if(k-i>3.1415927410125732){g[b+1044>>2]=k-i+-6.2831854820251465;break}if(!(k-i<-3.1415927410125732))break;g[b+1044>>2]=k-i+6.2831854820251465;break}if(j>2]=2;g[b+1044>>2]=k-j;if(k-j>3.1415927410125732){g[b+1044>>2]=k-j+-6.2831854820251465;break}if(k-j<-3.1415927410125732)g[b+1044>>2]=k-j+6.2831854820251465}else{m=b+1052|0;l=35}}else{m=b+1052|0;l=35}while(0);if((l|0)==35?(c[m>>2]=0,(a[b+1040>>0]|0)==0):0)return;c[d>>2]=e+1;c[d+4>>2]=f+-1;return}function Be(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,i=0.0,k=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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;d=l;l=l+144|0;g[a+36>>2]=0.0;c[d+128>>2]=0;c[d+128+4>>2]=0;c[d+128+8>>2]=0;c[d+128+12>>2]=0;b=0;do{e=d+128+(b<<2)|0;g[e>>2]=1.0;A=c[a+28>>2]|0;I=c[A+4>>2]|0;c[d+80>>2]=I;F=c[A+20>>2]|0;c[d+80+4>>2]=F;C=c[A+36>>2]|0;c[d+80+8>>2]=C;g[d+80+12>>2]=0.0;H=c[A+8>>2]|0;c[d+80+16>>2]=H;E=c[A+24>>2]|0;c[d+80+20>>2]=E;B=c[A+40>>2]|0;c[d+80+24>>2]=B;g[d+80+28>>2]=0.0;G=c[A+12>>2]|0;c[d+80+32>>2]=G;D=c[A+28>>2]|0;c[d+80+36>>2]=D;z=c[A+44>>2]|0;c[d+80+40>>2]=z;g[d+80+44>>2]=0.0;f=c[a+32>>2]|0;y=c[f+4>>2]|0;c[d+32>>2]=y;v=c[f+20>>2]|0;c[d+32+4>>2]=v;s=c[f+36>>2]|0;c[d+32+8>>2]=s;g[d+32+12>>2]=0.0;x=c[f+8>>2]|0;c[d+32+16>>2]=x;u=c[f+24>>2]|0;c[d+32+20>>2]=u;r=c[f+40>>2]|0;c[d+32+24>>2]=r;g[d+32+28>>2]=0.0;w=c[f+12>>2]|0;c[d+32+32>>2]=w;t=c[f+28>>2]|0;c[d+32+36>>2]=t;h=c[f+44>>2]|0;c[d+32+40>>2]=h;g[d+32+44>>2]=0.0;p=+g[a+300>>2];m=p*(c[j>>2]=I,+g[j>>2]);i=+g[a+304>>2];m=m+i*(c[j>>2]=H,+g[j>>2]);k=+g[a+308>>2];m=m+k*(c[j>>2]=G,+g[j>>2]);q=p*(c[j>>2]=F,+g[j>>2]);q=q+i*(c[j>>2]=E,+g[j>>2]);q=q+k*(c[j>>2]=D,+g[j>>2]);p=p*(c[j>>2]=C,+g[j>>2]);i=p+i*(c[j>>2]=B,+g[j>>2]);p=+g[A+52>>2];o=+g[A+56>>2];n=+g[A+60>>2];n=i+k*(c[j>>2]=z,+g[j>>2])+n-n;g[d+16>>2]=m+p-p;g[d+16+4>>2]=q+o-o;g[d+16+8>>2]=n;g[d+16+12>>2]=0.0;n=+g[a+316>>2];o=n*(c[j>>2]=y,+g[j>>2]);q=+g[a+320>>2];o=o+q*(c[j>>2]=x,+g[j>>2]);p=+g[a+324>>2];o=o+p*(c[j>>2]=w,+g[j>>2]);m=n*(c[j>>2]=v,+g[j>>2]);m=m+q*(c[j>>2]=u,+g[j>>2]);m=m+p*(c[j>>2]=t,+g[j>>2]);n=n*(c[j>>2]=s,+g[j>>2]);q=n+q*(c[j>>2]=r,+g[j>>2]);n=+g[f+52>>2];k=+g[f+56>>2];i=+g[f+60>>2];i=q+p*(c[j>>2]=h,+g[j>>2])+i-i;g[d>>2]=o+n-n;g[d+4>>2]=m+k-k;g[d+8>>2]=i;g[d+12>>2]=0.0;h=c[a+28>>2]|0;f=c[a+32>>2]|0;Ag(a+48+(b*84|0)|0,d+80|0,d+32|0,d+16|0,d,d+128|0,h+396|0,+g[h+344>>2],f+396|0,+g[f+344>>2]);g[e>>2]=0.0;b=b+1|0}while((b|0)!=3);l=d;return}function Ce(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0.0,i=0.0,k=0.0,l=0.0,m=0.0,n=0.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,D=0.0,E=0;y=+g[a+452>>2];t=+g[a+304>>2];r=+g[a+300>>2];if(t>0.0|r>0.0)f=(c[a+288>>2]|0)<4;else f=0;E=c[a+720>>2]|0;B=+g[E+(d*104|0)+88>>2];if(!(B>0.0))return;o=c[c[a+684>>2]>>2]|0;if(!f)return;D=+g[E+(d*104|0)+40>>2];m=D-+g[b>>2];z=+g[E+(d*104|0)+44>>2];n=z-+g[b+4>>2];A=+g[E+(d*104|0)+48>>2];l=A-+g[b+8>>2];k=+C(+(m*m+n*n+l*l));if(!(m*m+n*n+l*l>1.1920928955078125e-07))return;u=m*(1.0/k);w=n*(1.0/k);x=l*(1.0/k);q=+g[E+(d*104|0)+72>>2];s=+g[E+(d*104|0)+76>>2];v=+g[E+(d*104|0)+80>>2];switch(c[a+288>>2]|0){case 2:{p=m*q+n*s+l*v<0.0?-1.0:1.0;h=x*v*p+(u*q*p+w*s*p);i=+g[E+(d*104|0)+92>>2]*.5;e=(c[j>>2]=o,+g[j>>2]);n=h*r*.5*e*(m*m+n*n+l*l)*i;if(h>0.0&h<.9847999811172485){k=t*.5*e*k*i*+C(+(1.0-h*h));l=(x*(u*v*p-x*q*p)-w*(w*q*p-u*s*p))*k;m=(u*(w*q*p-u*s*p)-x*(x*s*p-w*v*p))*k;k=(w*(x*s*p-w*v*p)-u*(u*v*p-x*q*p))*k}else{l=0.0;m=0.0;k=0.0}e=y*B*-(x*n)*y*B*-(x*n)+(B*-(u*n)*y*B*-(u*n)*y+y*B*-(w*n)*y*B*-(w*n));if(e>0.0?e>=D*D+z*z+A*A:0){e=+C(+(D*D+z*z+A*A))/+C(+e)*.800000011920929;i=e*-(u*n);h=e*-(x*n);e=e*-(w*n)}else{i=-(u*n);h=-(x*n);e=-(w*n)}B=e+ +g[E+(d*104|0)+60>>2];D=h+ +g[E+(d*104|0)+64>>2];g[E+(d*104|0)+56>>2]=l+(i+ +g[E+(d*104|0)+56>>2]);g[E+(d*104|0)+60>>2]=m+B;g[E+(d*104|0)+64>>2]=k+D;return}case 1:case 3:case 0:{e=m*q+n*s+l*v<0.0?-1.0:1.0;if(!(l*v*e+(m*q*e+n*s*e)>0.0))return;p=-((c[j>>2]=o,+g[j>>2])*(m*m+n*n+l*l)*(l*v*e+(m*q*e+n*s*e))*+g[E+(d*104|0)+92>>2]*.5);i=u*r*p+(q*e*t*p+0.0);h=w*r*p+(s*e*t*p+0.0);e=x*r*p+(v*e*t*p+0.0);if(y*B*e*y*B*e+(y*B*i*y*B*i+y*B*h*y*B*h)>D*D+z*z+A*A){x=1.0/+C(+(e*e+(i*i+h*h)));g[E+(d*104|0)+56>>2]=+g[E+(d*104|0)+56>>2]-1.0/(y*B)*i*x*(A*e*x+(D*i*x+z*h*x));g[E+(d*104|0)+60>>2]=+g[E+(d*104|0)+60>>2]-1.0/(y*B)*h*x*(A*e*x+(D*i*x+z*h*x));g[E+(d*104|0)+64>>2]=+g[E+(d*104|0)+64>>2]-1.0/(y*B)*e*x*(A*e*x+(D*i*x+z*h*x));return}else{g[E+(d*104|0)+56>>2]=i+ +g[E+(d*104|0)+56>>2];g[E+(d*104|0)+60>>2]=h+ +g[E+(d*104|0)+60>>2];g[E+(d*104|0)+64>>2]=e+ +g[E+(d*104|0)+64>>2];return}}default:return}}function De(a,b,d,e,f,h,i,j){a=a|0;b=b|0;d=d|0;e=+e;f=+f;h=+h;i=i|0;j=j|0;var k=0,m=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.0,x=0,y=0,z=0.0,A=0.0,B=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;V=l;l=l+32|0;R=+g[d>>2];T=+g[d+4>>2];S=+g[d+8>>2];r=+g[i>>2];s=+g[i+4>>2];t=+g[i+8>>2];w=+g[j>>2];o=+g[j+4>>2];q=+g[j+8>>2];K=1.0/+C(+((e-R)*(e-R)+(f-T)*(f-T)+(h-S)*(h-S)));H=(e-R)*K==0.0?999999984306749440.0:1.0/((e-R)*K);I=(f-T)*K==0.0?999999984306749440.0:1.0/((f-T)*K);J=(h-S)*K==0.0?999999984306749440.0:1.0/((h-S)*K);B=(R>e?e:R)+r;G=(T>f?f:T)+s;E=(S>h?h:S)+t;A=(R>2]|0;a:do if((m|0)>0){x=0;y=c[a+96>>2]|0;k=0;while(1){k=k+1|0;c[V>>2]=c[y>>2];c[V+4>>2]=c[y+4>>2];c[V+8>>2]=c[y+8>>2];c[V+12>>2]=c[y+12>>2];v=y+16|0;c[V+16>>2]=c[v>>2];c[V+16+4>>2]=c[v+4>>2];c[V+16+8>>2]=c[v+8>>2];c[V+16+12>>2]=c[v+12>>2];g[V>>2]=+g[V>>2]-w;g[V+4>>2]=+g[V+4>>2]-o;g[V+8>>2]=+g[V+8>>2]-q;g[V+16>>2]=+g[V+16>>2]-r;g[V+20>>2]=+g[V+20>>2]-s;g[V+24>>2]=+g[V+24>>2]-t;if(!(B>+g[v>>2])?!(A<+g[y>>2]):0)n=1;else n=0;if(!(!(E>+g[y+24>>2])?!(D<+g[y+8>>2]):0))n=0;if(((!(G>+g[y+20>>2])?!(F<+g[y+4>>2]|n^1):0)?(M=+g[d>>2],L=H*(+g[V+((H<0.0&1)<<4)>>2]-M),M=H*(+g[V+((H<0.0^1)<<4)>>2]-M),O=+g[d+4>>2],N=I*(+g[V+((I<0.0&1)<<4)+4>>2]-O),O=I*(+g[V+((I<0.0^1)<<4)+4>>2]-O),!(N>M|L>O)):0)?(z=N>L?N:L,U=O>2],P=J*(+g[V+((J<0.0&1)<<4)+8>>2]-Q),Q=J*(+g[V+((J<0.0^1)<<4)+8>>2]-Q),!(P>U|z>Q)):0){p=(Q0.0?(P>z?P:z)<(h-S)*(h-S)*K+((e-R)*(e-R)*K+(f-T)*(f-T)*K):0;n=c[y+32>>2]|0;if(p&(n|0)==-1){Kb[c[(c[b>>2]|0)+8>>2]&127](b,c[y+36>>2]|0,c[y+40>>2]|0);m=c[a+56>>2]|0;v=17}else{u=n;n=(n|0)==-1;v=16}}else{n=c[y+32>>2]|0;u=n;n=(n|0)==-1;p=0;v=16}if((v|0)==16){v=0;if(n|p)v=17;else{p=u+x|0;n=y+(u<<6)|0}}if((v|0)==17){p=x+1|0;n=y+64|0}if((p|0)>=(m|0))break a;o=+g[j+4>>2];q=+g[j+8>>2];r=+g[i>>2];s=+g[i+4>>2];t=+g[i+8>>2];w=+g[j>>2];x=p;y=n}}else k=0;while(0);if((c[6204]|0)>=(k|0)){l=V;return}c[6204]=k;l=V;return}function Ee(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.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;if(!(c[a+204>>2]&2)){c[a+68>>2]=c[b>>2];c[a+68+4>>2]=c[b+4>>2];c[a+68+8>>2]=c[b+8>>2];c[a+68+12>>2]=c[b+12>>2];c[a+84>>2]=c[b+16>>2];c[a+84+4>>2]=c[b+16+4>>2];c[a+84+8>>2]=c[b+16+8>>2];c[a+84+12>>2]=c[b+16+12>>2];c[a+100>>2]=c[b+32>>2];c[a+100+4>>2]=c[b+32+4>>2];c[a+100+8>>2]=c[b+32+8>>2];c[a+100+12>>2]=c[b+32+12>>2];c[a+116>>2]=c[b+48>>2];c[a+116+4>>2]=c[b+48+4>>2];c[a+116+8>>2]=c[b+48+8>>2];c[a+116+12>>2]=c[b+48+12>>2];e=b;f=a+20|0;h=b+16|0;i=a+36|0;j=b+32|0;k=a+52|0;b=b+48|0;d=a+4|0}else{c[a+68>>2]=c[a+4>>2];c[a+68+4>>2]=c[a+4+4>>2];c[a+68+8>>2]=c[a+4+8>>2];c[a+68+12>>2]=c[a+4+12>>2];c[a+84>>2]=c[a+20>>2];c[a+84+4>>2]=c[a+20+4>>2];c[a+84+8>>2]=c[a+20+8>>2];c[a+84+12>>2]=c[a+20+12>>2];c[a+100>>2]=c[a+36>>2];c[a+100+4>>2]=c[a+36+4>>2];c[a+100+8>>2]=c[a+36+8>>2];c[a+100+12>>2]=c[a+36+12>>2];c[a+116>>2]=c[a+52>>2];c[a+116+4>>2]=c[a+52+4>>2];c[a+116+8>>2]=c[a+52+8>>2];c[a+116+12>>2]=c[a+52+12>>2];e=b;f=a+20|0;h=b+16|0;i=a+36|0;j=b+32|0;k=a+52|0;b=b+48|0;d=a+4|0}c[a+132>>2]=c[a+312>>2];c[a+132+4>>2]=c[a+312+4>>2];c[a+132+8>>2]=c[a+312+8>>2];c[a+132+12>>2]=c[a+312+12>>2];c[a+148>>2]=c[a+328>>2];c[a+148+4>>2]=c[a+328+4>>2];c[a+148+8>>2]=c[a+328+8>>2];c[a+148+12>>2]=c[a+328+12>>2];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];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];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];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];w=+g[a+4>>2];q=+g[a+396>>2];v=+g[a+8>>2];o=+g[a+400>>2];u=+g[a+12>>2];m=+g[a+404>>2];t=+g[a+20>>2];s=+g[a+24>>2];r=+g[a+28>>2];p=+g[a+36>>2];n=+g[a+40>>2];l=+g[a+44>>2];g[a+264>>2]=w*w*q+v*v*o+u*u*m;g[a+268>>2]=w*q*t+v*o*s+u*m*r;g[a+272>>2]=w*q*p+v*o*n+u*m*l;g[a+276>>2]=0.0;g[a+280>>2]=w*q*t+v*o*s+u*m*r;g[a+284>>2]=t*q*t+s*o*s+r*m*r;g[a+288>>2]=q*t*p+o*s*n+m*r*l;g[a+292>>2]=0.0;g[a+296>>2]=w*q*p+v*o*n+u*m*l;g[a+300>>2]=t*q*p+s*o*n+r*m*l;g[a+304>>2]=p*q*p+n*o*n+l*m*l;g[a+308>>2]=0.0;return}function Fe(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,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;h=l;l=l+160|0;e=c[a+4>>2]|0;f=c[e+12>>2]|0;D=+g[f>>2];C=+g[f+4>>2];B=+g[f+8>>2];A=+g[f+16>>2];z=+g[f+20>>2];y=+g[f+24>>2];r=+g[f+32>>2];p=+g[f+36>>2];n=+g[f+40>>2];e=c[(c[e+4>>2]|0)+24>>2]|0;x=+g[e+(d*80|0)>>2];w=+g[e+(d*80|0)+16>>2];v=+g[e+(d*80|0)+32>>2];u=+g[e+(d*80|0)+4>>2];t=+g[e+(d*80|0)+20>>2];s=+g[e+(d*80|0)+36>>2];q=+g[e+(d*80|0)+8>>2];o=+g[e+(d*80|0)+24>>2];m=+g[e+(d*80|0)+40>>2];F=+g[e+(d*80|0)+48>>2];E=+g[e+(d*80|0)+52>>2];i=+g[e+(d*80|0)+56>>2];k=+g[f+48>>2]+(D*F+C*E+B*i);j=+g[f+52>>2]+(A*F+z*E+y*i);i=+g[f+56>>2]+(r*F+p*E+n*i);g[h+88>>2]=D*x+C*w+B*v;g[h+88+4>>2]=D*u+C*t+B*s;g[h+88+8>>2]=D*q+C*o+B*m;g[h+88+12>>2]=0.0;g[h+88+16>>2]=A*x+z*w+y*v;g[h+88+20>>2]=A*u+z*t+y*s;g[h+88+24>>2]=A*q+z*o+y*m;g[h+88+28>>2]=0.0;g[h+88+32>>2]=r*x+p*w+n*v;g[h+88+36>>2]=r*u+p*t+n*s;g[h+88+40>>2]=r*q+p*o+n*m;g[h+88+44>>2]=0.0;g[h+88+48>>2]=k;g[h+88+52>>2]=j;g[h+88+56>>2]=i;g[h+88+60>>2]=0.0;Nb[c[(c[b>>2]|0)+8>>2]&127](b,h+88|0,h+72|0,h+56|0);f=c[a+8>>2]|0;e=c[f+4>>2]|0;Nb[c[(c[e>>2]|0)+8>>2]&127](e,c[f+12>>2]|0,h+40|0,h+24|0);if(!(+g[h+72>>2]>+g[h+24>>2])?!(+g[h+56>>2]<+g[h+40>>2]):0)e=1;else e=0;if(!(!(+g[h+72+8>>2]>+g[h+24+8>>2])?!(+g[h+56+8>>2]<+g[h+40+8>>2]):0))e=0;if(+g[h+72+4>>2]>+g[h+24+4>>2]){l=h;return}if(+g[h+56+4>>2]<+g[h+40+4>>2]|e^1){l=h;return}e=c[a+4>>2]|0;f=c[e+8>>2]|0;c[h>>2]=e;c[h+4>>2]=b;c[h+8>>2]=f;c[h+12>>2]=h+88;c[h+16>>2]=-1;c[h+20>>2]=d;if(!(c[(c[a+24>>2]|0)+(d<<2)>>2]|0)){f=c[a+12>>2]|0;f=vb[c[(c[f>>2]|0)+8>>2]&31](f,h,c[a+8>>2]|0,c[a+28>>2]|0)|0;c[(c[a+24>>2]|0)+(d<<2)>>2]=f;f=c[a+4>>2]|0}else f=e;b=c[a+20>>2]|0;e=c[b+8>>2]|0;if((c[e+8>>2]|0)==(c[f+8>>2]|0)){c[b+8>>2]=h;Kb[c[(c[b>>2]|0)+8>>2]&127](b,-1,d)}else{e=c[b+12>>2]|0;c[b+12>>2]=h;Kb[c[(c[b>>2]|0)+12>>2]&127](b,-1,d)}d=c[(c[a+24>>2]|0)+(d<<2)>>2]|0;Rb[c[(c[d>>2]|0)+8>>2]&31](d,h,c[a+8>>2]|0,c[a+16>>2]|0,c[a+20>>2]|0);d=c[a+20>>2]|0;c[((c[(c[d+8>>2]|0)+8>>2]|0)==(c[(c[a+4>>2]|0)+8>>2]|0)?d+8|0:d+12|0)>>2]=e;l=h;return}function Ge(){if(a[22784]|0)return;if(!(Yy(22784)|0))return;c[6205]=0;c[6206]=-2147483648;c[6207]=-1082130432;g[6208]=0.0;c[6209]=1060716128;c[6210]=-1090087446;c[6211]=-1092290076;g[6212]=0.0;c[6213]=-1098022214;c[6214]=-1084636126;c[6215]=-1092290076;g[6216]=0.0;c[6217]=-1083901670;c[6218]=-2147483648;c[6219]=-1092290177;g[6220]=0.0;c[6221]=-1098022214;c[6222]=1062847522;c[6223]=-1092290043;g[6224]=0.0;c[6225]=1060716128;c[6226]=1057396202;c[6227]=-1092290076;g[6228]=0.0;c[6229]=1049461434;c[6230]=-1084636126;c[6231]=1055193605;g[6232]=0.0;c[6233]=-1086767520;c[6234]=-1090087446;c[6235]=1055193572;g[6236]=0.0;c[6237]=-1086767520;c[6238]=1057396202;c[6239]=1055193572;g[6240]=0.0;c[6241]=1049461434;c[6242]=1062847522;c[6243]=1055193572;g[6244]=0.0;c[6245]=1063581978;c[6246]=0;c[6247]=1055193471;g[6248]=0.0;c[6249]=-2147483648;c[6250]=0;c[6251]=1065353216;g[6252]=0.0;c[6253]=1054458864;c[6254]=-1096927567;c[6255]=-1084636042;g[6256]=0.0;c[6257]=-1104782626;c[6258]=-1090519208;c[6259]=-1084636042;g[6260]=0.0;c[6261]=1049007812;c[6262]=-1085334679;c[6263]=-1090087228;g[6264]=0.0;c[6265]=1054458864;c[6266]=1050556081;c[6267]=-1084636042;g[6268]=0.0;c[6269]=1062847505;c[6270]=-2147483648;c[6271]=-1090087262;g[6272]=0.0;c[6273]=-1090087362;c[6274]=-2147483648;c[6275]=-1084636076;g[6276]=0.0;c[6277]=-1087361736;c[6278]=-1090519141;c[6279]=-1090087262;g[6280]=0.0;c[6281]=-1104782626;c[6282]=1056964440;c[6283]=-1084636042;g[6284]=0.0;c[6285]=-1087361736;c[6286]=1056964507;c[6287]=-1090087262;g[6288]=0.0;c[6289]=1049007812;c[6290]=1062148969;c[6291]=-1090087228;g[6292]=0.0;c[6293]=1064532105;c[6294]=1050556148;c[6295]=0;g[6296]=0.0;c[6297]=1064532105;c[6298]=-1096927500;c[6299]=0;g[6300]=0.0;c[6301]=1058437413;c[6302]=-1085334595;c[6303]=0;g[6304]=0.0;c[6305]=0;c[6306]=-1082130432;c[6307]=0;g[6308]=0.0;c[6309]=-1089046235;c[6310]=-1085334595;c[6311]=0;g[6312]=0.0;c[6313]=-1082951543;c[6314]=-1096927500;c[6315]=-2147483648;g[6316]=0.0;c[6317]=-1082951543;c[6318]=1050556148;c[6319]=-2147483648;g[6320]=0.0;c[6321]=-1089046235;c[6322]=1062149053;c[6323]=-2147483648;g[6324]=0.0;c[6325]=-2147483648;c[6326]=1065353216;c[6327]=-2147483648;g[6328]=0.0;c[6329]=1058437413;c[6330]=1062149053;c[6331]=-2147483648;g[6332]=0.0;c[6333]=1060121912;c[6334]=-1090519141;c[6335]=1057396386;g[6336]=0.0;c[6337]=-1098475836;c[6338]=-1085334679;c[6339]=1057396420;g[6340]=0.0;c[6341]=-1084636143;c[6342]=0;c[6343]=1057396386;g[6344]=0.0;c[6345]=-1098475836;c[6346]=1062148969;c[6347]=1057396420;g[6348]=0.0;c[6349]=1060121912;c[6350]=1056964507;c[6351]=1057396386;g[6352]=0.0;c[6353]=1057396286;c[6354]=0;c[6355]=1062847572;g[6356]=0.0;c[6357]=1042701022;c[6358]=-1090519208;c[6359]=1062847606;g[6360]=0.0;c[6361]=-1093024784;c[6362]=-1096927567;c[6363]=1062847606;g[6364]=0.0;c[6365]=-1093024784;c[6366]=1050556081;c[6367]=1062847606;g[6368]=0.0;c[6369]=1042701022;c[6370]=1056964440;c[6371]=1062847606;g[6372]=0.0;return}function He(a,b,d,e,f,h){a=a|0;b=b|0;d=+d;e=+e;f=+f;h=h|0;var i=0,j=0,k=0.0,l=0.0,m=0,n=0,o=0.0,p=0,q=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.0,A=0.0,B=0,D=0.0;a:while(1){if((b|0)>0){j=0;i=-1;do{do if(c[h+(j<<2)>>2]|0){if((i|0)!=-1?!(+g[a+(j<<4)>>2]*d+ +g[a+(j<<4)+4>>2]*e+ +g[a+(j<<4)+8>>2]*f>+g[a+(i<<4)>>2]*d+ +g[a+(i<<4)+4>>2]*e+ +g[a+(i<<4)+8>>2]*f):0)break;i=j}while(0);j=j+1|0}while((j|0)!=(b|0))}else i=-1;j=h+(i<<2)|0;if((c[j>>2]|0)==3){B=37;break}l=+C(+((e-f*0.0)*(e-f*0.0)+(f*0.0-d)*(f*0.0-d)+(d*0.0-e*0.0)*(d*0.0-e*0.0)));k=+C(+((d-e*0.0)*(d-e*0.0)+((e*0.0-f)*(e*0.0-f)+(f*0.0-d*0.0)*(f*0.0-d*0.0))));if(l>k){z=(e-f*0.0)*(1.0/l);A=(d*0.0-e*0.0)*(1.0/l);x=(f*0.0-d)*(1.0/l)}else{z=(e*0.0-f)*(1.0/k);A=(d-e*0.0)*(1.0/k);x=(f*0.0-d*0.0)*(1.0/k)}u=x*f-A*e;v=A*d-z*f;w=z*e-x*d;s=(i|0)==-1;m=-1;y=0;while(1){t=+(y|0);r=+F(+(t*.01745329238474369));l=+E(+(t*.01745329238474369));k=(z*r+u*l)*.02500000037252903+d;o=(x*r+v*l)*.02500000037252903+e;l=(A*r+w*l)*.02500000037252903+f;if((b|0)>0){p=0;n=-1;do{do if(c[h+(p<<2)>>2]|0){if((n|0)!=-1?!(k*+g[a+(p<<4)>>2]+o*+g[a+(p<<4)+4>>2]+l*+g[a+(p<<4)+8>>2]>k*+g[a+(n<<4)>>2]+o*+g[a+(n<<4)+4>>2]+l*+g[a+(n<<4)+8>>2]):0)break;n=p}while(0);p=p+1|0}while((p|0)!=(b|0))}else n=-1;if((m|0)==(i|0)&(n|0)==(i|0))break a;b:do if(!((m|0)==-1|(m|0)==(n|0))?t+-40.0<=t:0){if((b|0)>0)r=t+-40.0;else{k=t+-40.0;while(1){if((m|0)==(i|0)&s){i=-1;B=32;break a}k=k+5.0;if(!(k<=t))break b;else m=-1}}while(1){l=r*.01745329238474369;D=+F(+l);l=+E(+l);k=(z*D+u*l)*.02500000037252903+d;o=(x*D+v*l)*.02500000037252903+e;l=(A*D+w*l)*.02500000037252903+f;q=0;p=-1;do{do if(c[h+(q<<2)>>2]|0){if((p|0)!=-1?!(k*+g[a+(q<<4)>>2]+o*+g[a+(q<<4)+4>>2]+l*+g[a+(q<<4)+8>>2]>k*+g[a+(p<<4)>>2]+o*+g[a+(p<<4)+4>>2]+l*+g[a+(p<<4)+8>>2]):0)break;p=q}while(0);q=q+1|0}while((q|0)!=(b|0));if((m|0)==(i|0)&(p|0)==(i|0)){B=32;break a}r=r+5.0;if(!(r<=t))break;else m=p}}while(0);y=y+45|0;if((y|0)>360)break;else m=n}c[j>>2]=0}if((B|0)==32)j=h+(i<<2)|0;else if((B|0)==37)return i|0;c[j>>2]=3;B=i;return B|0}function Ie(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,m=0.0,n=0.0,o=0.0;i=c[a+192>>2]|0;k=+gb[c[(c[i>>2]|0)+48>>2]&15](i);i=c[a+712>>2]|0;if((i|0)>0){l=0;do{j=c[a+720>>2]|0;d=j+(l*104|0)+8|0;m=+g[b>>2]*+g[d>>2];g[d>>2]=m;d=j+(l*104|0)+12|0;o=+g[b+4>>2]*+g[d>>2];g[d>>2]=o;d=j+(l*104|0)+16|0;n=+g[b+8>>2]*+g[d>>2];g[d>>2]=n;d=j+(l*104|0)+24|0;g[d>>2]=+g[b>>2]*+g[d>>2];d=j+(l*104|0)+28|0;g[d>>2]=+g[b+4>>2]*+g[d>>2];d=j+(l*104|0)+32|0;g[d>>2]=+g[b+8>>2]*+g[d>>2];j=c[j+(l*104|0)+96>>2]|0;d=Sg(a+928|0,j)|0;a:do if(d){f=c[a+936>>2]|0;if((f|0)<=-1){d=c[a+928>>2]|0;break}if(f){h=0;e=d;while(1){d=c[e+32>>2]|0;h=h+1|0;if(!d){d=e;break a}if((h|0)>=(f|0))break;else e=d}}}else d=0;while(0);g[j>>2]=m-k;g[j+4>>2]=o-k;g[j+8>>2]=n-k;g[j+12>>2]=0.0;g[j+16>>2]=k+m;g[j+20>>2]=k+o;g[j+24>>2]=k+n;g[j+28>>2]=0.0;af(a+928|0,d,j);l=l+1|0}while((l|0)!=(i|0))}lg(a);d=c[a+928>>2]|0;if(d){l=c[a+192>>2]|0;m=+gb[c[(c[l>>2]|0)+48>>2]&15](l);o=+g[d+4>>2]-m;n=+g[d+8>>2]-m;g[a+892>>2]=+g[d>>2]-m;g[a+896>>2]=o;g[a+900>>2]=n;g[a+904>>2]=0.0;n=m+ +g[d+20>>2];o=m+ +g[d+24>>2];g[a+908>>2]=m+ +g[d+16>>2];g[a+912>>2]=n;g[a+916>>2]=o;g[a+920>>2]=0.0;d=c[a+188>>2]|0;if(d|0){l=c[a+684>>2]|0;b=c[l+32>>2]|0;Rb[c[(c[b>>2]|0)+16>>2]&31](b,d,a+892|0,a+908|0,c[l+36>>2]|0)}}else{c[a+892>>2]=0;c[a+892+4>>2]=0;c[a+892+8>>2]=0;c[a+892+12>>2]=0;c[a+892+16>>2]=0;c[a+892+20>>2]=0;c[a+892+24>>2]=0;c[a+892+28>>2]=0}e=c[a+732>>2]|0;if((e|0)<=0){Lf(a);return}f=c[a+740>>2]|0;d=0;do{b=c[f+(d*52|0)+8>>2]|0;l=c[f+(d*52|0)+12>>2]|0;m=+g[b+8>>2]-+g[l+8>>2];n=+g[b+12>>2]-+g[l+12>>2];o=+g[b+16>>2]-+g[l+16>>2];o=+C(+(m*m+n*n+o*o));g[f+(d*52|0)+16>>2]=o;g[f+(d*52|0)+28>>2]=o*o;d=d+1|0}while((d|0)!=(e|0));d=0;do{g[f+(d*52|0)+24>>2]=(+g[(c[f+(d*52|0)+8>>2]|0)+88>>2]+ +g[(c[f+(d*52|0)+12>>2]|0)+88>>2])/+g[(c[f+(d*52|0)+4>>2]|0)+4>>2];d=d+1|0}while((d|0)!=(e|0));Lf(a);return}function Je(a,b){a=a|0;b=b|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;c[a+556>>2]=c[b>>2];c[a+556+4>>2]=c[b+4>>2];c[a+556+8>>2]=c[b+8>>2];c[a+556+12>>2]=c[b+12>>2];j=+g[a+568>>2];k=+g[a+560>>2];l=+g[a+564>>2];m=+g[a+556>>2];f=-m-k*0.0-l*0.0;e=(l+j*0.0-m*0.0)*-l+(j*(j+k*0.0-l*0.0)+f*-m)-(j*0.0+m*0.0-k)*-k;d=(j*0.0+m*0.0-k)*-m+(j*(l+j*0.0-m*0.0)+f*-k)-(j+k*0.0-l*0.0)*-l;f=(j+k*0.0-l*0.0)*-k+(f*-l+j*(j*0.0+m*0.0-k))-(l+j*0.0-m*0.0)*-m;if(f*0.0+(d*0.0+e)<-.9999998807907104){h=-0.0;i=0.0;d=1.0;e=0.0}else{s=+C(+((f*0.0+(d*0.0+e)+1.0)*2.0));h=(f*0.0-d*0.0)*(1.0/s);i=(d-e*0.0)*(1.0/s);d=(e*0.0-f)*(1.0/s);e=s*.5}n=1.0/+C(+(e*e+(h*h+d*d+i*i)));q=h*n;r=d*n;o=i*n;n=e*n;d=1.0/+C(+((n*j-m*-q-k*-r-l*-o)*(n*j-m*-q-k*-r-l*-o)+((j*-o+n*l+k*-q-m*-r)*(j*-o+n*l+k*-q-m*-r)+((m*n+j*-q+l*-r-k*-o)*(m*n+j*-q+l*-r-k*-o)+(m*-o+(j*-r+n*k)-l*-q)*(m*-o+(j*-r+n*k)-l*-q)))));h=(m*n+j*-q+l*-r-k*-o)*d;s=d*(m*-o+(j*-r+n*k)-l*-q);f=d*(j*-o+n*l+k*-q-m*-r);d=d*(n*j-m*-q-k*-r-l*-o);e=+g[a+444>>2];if(e>=.05000000074505806?(p=+g[a+448>>2],p>=.05000000074505806):0){j=n<-1.0?-1.0:n;j=+H(+(j>1.0?1.0:j))*2.0;if(j>1.1920928955078125e-07){i=1.0/+C(+(o*o+(q*q+r*r)));if(+B(+(r*i))>1.1920928955078125e-07){e=+C(+((o*i*o*i/(r*i*r*i)+1.0)/(1.0/(p*p)+o*i*o*i/(r*i*r*i)/(e*e))));k=q*i;l=r*i;i=o*i}else{k=q*i;l=r*i;i=o*i}}else{e=0.0;k=0.0;l=0.0;i=0.0}if(+B(+j)>1.1920928955078125e-07){if(!(j>e)){e=-e;if(!(j>2];if(l>=.05000000074505806){e=d<-1.0?-1.0:d;e=+H(+(e>1.0?1.0:e))*2.0;if(e>3.1415927410125732){e=-d<-1.0?-1.0:-d;i=-h;j=-s;k=-f;e=+H(+(e>1.0?1.0:e))*2.0}else{i=h;j=s;k=f}if(e>1.1920928955078125e-07){r=1.0/+C(+(i*i+j*j+k*k));i=i*r;j=j*r;k=k*r}if(+B(+e)>1.1920928955078125e-07){if(!(e>l))if(e<-l)d=-l;else d=e;else d=l;d=d*.5;e=+F(+d)/+C(+(k*k+(j*j+i*i)));h=i*e;f=k*e;e=j*e;d=+E(+d)}else e=s}else e=s;g[a+556>>2]=m*f+(n*h+q*d)-o*e;g[a+560>>2]=o*h+(n*e+m*d)-q*f;g[a+564>>2]=q*e+(n*f+o*d)-m*h;g[a+568>>2]=n*d-q*h-m*e-o*f;return}function Ke(a,b,d){a=a|0;b=b|0;d=d|0;var f=0.0,i=0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+80|0;o=c[a+4>>2]|0;Wb[c[(c[o>>2]|0)+16>>2]&3](o,r+28|0,r+24|0,r+20|0,r+16|0,r+12|0,r+8|0,r+4|0,r,b);o=(c[r+12>>2]|0)+(O(c[r+8>>2]|0,d)|0)|0;q=c[a+4>>2]|0;p=(c[r+20>>2]|0)==0;n=c[r+28>>2]|0;do if((c[r>>2]|0)==3){m=c[r+16>>2]|0;i=n+(O(m,e[o+4>>1]|0)|0)|0;if(p){j=+g[i+8>>2];k=+g[i>>2]*+g[q+4>>2];f=+g[i+4>>2]*+g[q+8>>2]}else{j=+h[i+16>>3];k=+h[i>>3]*+g[q+4>>2];f=+h[i+8>>3]*+g[q+8>>2]}j=j*+g[q+12>>2];g[r+32+32>>2]=k;g[r+32+36>>2]=f;g[r+32+40>>2]=j;g[r+32+44>>2]=0.0;i=n+(O(m,e[o+2>>1]|0)|0)|0;if(p){j=+g[i+8>>2];k=+g[i>>2]*+g[q+4>>2];f=+g[i+4>>2]*+g[q+8>>2]}else{j=+h[i+16>>3];k=+h[i>>3]*+g[q+4>>2];f=+h[i+8>>3]*+g[q+8>>2]}j=j*+g[q+12>>2];g[r+32+16>>2]=k;g[r+32+20>>2]=f;g[r+32+24>>2]=j;g[r+32+28>>2]=0.0;i=n+(O(m,e[o>>1]|0)|0)|0;if(p){j=+g[i+8>>2];k=+g[i>>2]*+g[q+4>>2];f=+g[i+4>>2]*+g[q+8>>2];break}else{j=+h[i+16>>3];k=+h[i>>3]*+g[q+4>>2];f=+h[i+8>>3]*+g[q+8>>2];break}}else{m=c[r+16>>2]|0;i=n+(O(m,c[o+8>>2]|0)|0)|0;if(p){j=+g[i+8>>2];k=+g[i>>2]*+g[q+4>>2];f=+g[i+4>>2]*+g[q+8>>2]}else{j=+h[i+16>>3];k=+h[i>>3]*+g[q+4>>2];f=+h[i+8>>3]*+g[q+8>>2]}j=j*+g[q+12>>2];g[r+32+32>>2]=k;g[r+32+36>>2]=f;g[r+32+40>>2]=j;g[r+32+44>>2]=0.0;i=n+(O(m,c[o+4>>2]|0)|0)|0;if(p){j=+g[i+8>>2];k=+g[i>>2]*+g[q+4>>2];f=+g[i+4>>2]*+g[q+8>>2]}else{j=+h[i+16>>3];k=+h[i>>3]*+g[q+4>>2];f=+h[i+8>>3]*+g[q+8>>2]}j=j*+g[q+12>>2];g[r+32+16>>2]=k;g[r+32+20>>2]=f;g[r+32+24>>2]=j;g[r+32+28>>2]=0.0;i=n+(O(m,c[o>>2]|0)|0)|0;if(p){j=+g[i+8>>2];k=+g[i>>2]*+g[q+4>>2];f=+g[i+4>>2]*+g[q+8>>2];break}else{j=+h[i+16>>3];k=+h[i>>3]*+g[q+4>>2];f=+h[i+8>>3]*+g[q+8>>2];break}}while(0);j=j*+g[q+12>>2];g[r+32>>2]=k;g[r+32+4>>2]=f;g[r+32+8>>2]=j;g[r+32+12>>2]=0.0;q=c[a+8>>2]|0;Nb[c[(c[q>>2]|0)+8>>2]&127](q,r+32|0,b,d);a=c[a+4>>2]|0;Gb[c[(c[a>>2]|0)+24>>2]&127](a,b);l=r;return}function Le(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0,j=0,k=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,y=0.0,z=0.0,A=0,B=0;j=l;l=l+192|0;h=c[(c[b+4>>2]|0)+740>>2]|0;i=c[(c[b+8>>2]|0)+8>>2]|0;z=+g[e>>2];n=+g[d>>2]*f+z;y=+g[e+4>>2];m=+g[d+4>>2]*f+y;o=+g[e+8>>2];k=+g[d+8>>2]*f+o;x=c[(c[b+12>>2]|0)+8>>2]|0;t=(h|0)!=(i|0)?x:h;x=(h|0)!=(i|0)?i:x;w=n-+g[t+52>>2];v=m-+g[t+56>>2];u=k-+g[t+60>>2];s=w*+g[t+8>>2]+v*+g[t+24>>2]+u*+g[t+40>>2];r=w*+g[t+12>>2]+v*+g[t+28>>2]+u*+g[t+44>>2];z=z-+g[x+52>>2];y=y-+g[x+56>>2];o=o-+g[x+60>>2];q=z*+g[x+4>>2]+y*+g[x+20>>2]+o*+g[x+36>>2];p=z*+g[x+8>>2]+y*+g[x+24>>2]+o*+g[x+40>>2];o=z*+g[x+12>>2]+y*+g[x+28>>2]+o*+g[x+44>>2];g[j>>2]=w*+g[t+4>>2]+v*+g[t+20>>2]+u*+g[t+36>>2];g[j+4>>2]=s;g[j+8>>2]=r;g[j+12>>2]=0.0;g[j+16>>2]=q;g[j+20>>2]=p;g[j+24>>2]=o;g[j+28>>2]=0.0;c[j+64>>2]=c[d>>2];c[j+64+4>>2]=c[d+4>>2];c[j+64+8>>2]=c[d+8>>2];c[j+64+12>>2]=c[d+12>>2];g[j+80>>2]=f;g[j+84>>2]=0.0;g[j+88>>2]=0.0;g[j+92>>2]=0.0;c[j+112>>2]=0;a[j+116>>0]=0;c[j+120>>2]=0;c[j+120+4>>2]=0;c[j+120+8>>2]=0;c[j+120+12>>2]=0;c[j+120+16>>2]=0;c[j+120+20>>2]=0;c[j+120+24>>2]=0;c[j+120+28>>2]=0;g[j+48>>2]=n;g[j+52>>2]=m;g[j+56>>2]=k;g[j+60>>2]=0.0;c[j+32>>2]=c[e>>2];c[j+32+4>>2]=c[e+4>>2];c[j+32+8>>2]=c[e+8>>2];c[j+32+12>>2]=c[e+12>>2];d=c[b+16>>2]|0;e=c[b+20>>2]|0;if((h|0)!=(i|0)){c[j+96>>2]=e;A=b+28|0;t=d;d=e;x=b+24|0;e=c[A>>2]|0;A=j+100|0;c[A>>2]=t;A=j+104|0;c[A>>2]=e;x=c[x>>2]|0;A=j+108|0;c[A>>2]=x;A=(h|0)!=(i|0)?b+12|0:b+8|0;A=c[A>>2]|0;i=(h|0)!=(i|0)?b+8|0:b+12|0;i=c[i>>2]|0;b=b+32|0;b=c[b>>2]|0;h=c[b>>2]|0;h=h+12|0;h=c[h>>2]|0;+nb[h&1](b,j,A,d,e,i,t,x);l=j;return}else{c[j+96>>2]=d;B=b+24|0;x=e;A=b+28|0;e=c[B>>2]|0;B=j+100|0;c[B>>2]=x;B=j+104|0;c[B>>2]=e;A=c[A>>2]|0;B=j+108|0;c[B>>2]=A;B=(h|0)!=(i|0)?b+12|0:b+8|0;B=c[B>>2]|0;t=(h|0)!=(i|0)?b+8|0:b+12|0;t=c[t>>2]|0;b=b+32|0;b=c[b>>2]|0;i=c[b>>2]|0;i=i+12|0;i=c[i>>2]|0;+nb[i&1](b,j,B,d,e,t,x,A);l=j;return}}function Me(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0;h=l;l=l+48|0;c[b+8>>2]=0;g[b+12>>2]=0.0;c[b>>2]=7116;c[b+48>>2]=d;c[b+4>>2]=21;if(qb[c[(c[d>>2]|0)+40>>2]&127](d)|0)Kb[c[(c[d>>2]|0)+48>>2]&127](d,b+16|0,b+32|0);else{d=h+32+4|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;g[h+32>>2]=1.0;Kb[c[(c[b>>2]|0)+68>>2]&127](h+16|0,b,h+32|0);g[b+32>>2]=+g[h+16>>2]+ +g[b+12>>2];g[h+32>>2]=-1.0;Kb[c[(c[b>>2]|0)+68>>2]&127](h,b,h+32|0);c[h+16>>2]=c[h>>2];c[h+16+4>>2]=c[h+4>>2];c[h+16+8>>2]=c[h+8>>2];c[h+16+12>>2]=c[h+12>>2];g[b+16>>2]=+g[h+16>>2]-+g[b+12>>2];c[h+32>>2]=0;c[h+32+4>>2]=0;c[h+32+8>>2]=0;c[h+32+12>>2]=0;g[d>>2]=1.0;Kb[c[(c[b>>2]|0)+68>>2]&127](h+16|0,b,h+32|0);g[b+36>>2]=+g[h+16+4>>2]+ +g[b+12>>2];g[d>>2]=-1.0;Kb[c[(c[b>>2]|0)+68>>2]&127](h,b,h+32|0);c[h+16>>2]=c[h>>2];c[h+16+4>>2]=c[h+4>>2];c[h+16+8>>2]=c[h+8>>2];c[h+16+12>>2]=c[h+12>>2];g[b+20>>2]=+g[h+16+4>>2]-+g[b+12>>2];c[h+32>>2]=0;c[h+32+4>>2]=0;c[h+32+8>>2]=0;c[h+32+12>>2]=0;g[h+32+8>>2]=1.0;Kb[c[(c[b>>2]|0)+68>>2]&127](h+16|0,b,h+32|0);g[b+40>>2]=+g[h+16+8>>2]+ +g[b+12>>2];g[h+32+8>>2]=-1.0;Kb[c[(c[b>>2]|0)+68>>2]&127](h,b,h+32|0);c[h+16>>2]=c[h>>2];c[h+16+4>>2]=c[h+4>>2];c[h+16+8>>2]=c[h+8>>2];c[h+16+12>>2]=c[h+12>>2];g[b+24>>2]=+g[h+16+8>>2]-+g[b+12>>2]}c[b>>2]=6964;c[b+52>>2]=0;c[b+56>>2]=0;a[b+60>>0]=e&1;a[b+61>>0]=0;c[b+4>>2]=21;if(!f){l=h;return}c[6472]=(c[6472]|0)+1;f=ic(191)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}c[f+52>>2]=282;a[f+60>>0]=0;a[f+80>>0]=1;c[f+76>>2]=0;c[f+68>>2]=0;c[f+72>>2]=0;a[f+100>>0]=1;c[f+96>>2]=0;c[f+88>>2]=0;c[f+92>>2]=0;a[f+120>>0]=1;c[f+116>>2]=0;c[f+108>>2]=0;c[f+112>>2]=0;a[f+140>>0]=1;c[f+136>>2]=0;c[f+128>>2]=0;c[f+132>>2]=0;c[f+144>>2]=0;a[f+164>>0]=1;c[f+160>>2]=0;c[f+152>>2]=0;c[f+156>>2]=0;c[f+168>>2]=0;c[f+4>>2]=-8388609;c[f+8>>2]=-8388609;c[f+12>>2]=-8388609;g[f+16>>2]=0.0;c[f+20>>2]=2139095039;c[f+24>>2]=2139095039;c[f+28>>2]=2139095039;g[f+32>>2]=0.0;c[f>>2]=8172;c[b+52>>2]=f;Zc(f,c[b+48>>2]|0,(a[b+60>>0]|0)!=0,b+16|0,b+32|0);a[b+61>>0]=1;l=h;return}function Ne(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;if(!b)if(!e){if(f|0){c[f>>2]=(a>>>0)%(d>>>0);c[f+4>>2]=0}e=0;f=(a>>>0)/(d>>>0)>>>0;return (z=e,f)|0}else{if(!f){e=0;f=0;return (z=e,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;e=0;f=0;return (z=e,f)|0}do if(d){if(e|0){h=(R(e|0)|0)-(R(b|0)|0)|0;if(h>>>0<=31){n=h+1|0;i=a>>>((h+1|0)>>>0)&h-31>>31|b<<31-h;m=b>>>((h+1|0)>>>0)&h-31>>31;g=0;h=a<<31-h;break}if(!f){e=0;f=0;return (z=e,f)|0}c[f>>2]=a|0;c[f+4>>2]=b|b&0;e=0;f=0;return (z=e,f)|0}if(d-1&d|0){h=(R(d|0)|0)+33-(R(b|0)|0)|0;n=h;i=32-h-1>>31&b>>>((h-32|0)>>>0)|(b<<32-h|a>>>(h>>>0))&h-32>>31;m=h-32>>31&b>>>(h>>>0);g=a<<64-h&32-h>>31;h=(b<<64-h|a>>>((h-32|0)>>>0))&32-h>>31|a<<32-h&h-33>>31;break}if(f|0){c[f>>2]=d-1&a;c[f+4>>2]=0}if((d|0)==1){e=b|b&0;f=a|0|0;return (z=e,f)|0}else{f=Qp(d|0)|0;e=b>>>(f>>>0)|0;f=b<<32-f|a>>>(f>>>0)|0;return (z=e,f)|0}}else{if(!e){if(f|0){c[f>>2]=(b>>>0)%(d>>>0);c[f+4>>2]=0}e=0;f=(b>>>0)/(d>>>0)>>>0;return (z=e,f)|0}if(!a){if(f|0){c[f>>2]=0;c[f+4>>2]=(b>>>0)%(e>>>0)}d=0;f=(b>>>0)/(e>>>0)>>>0;return (z=d,f)|0}if(!(e-1&e)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=e-1&b|b&0}d=0;f=b>>>((Qp(e|0)|0)>>>0);return (z=d,f)|0}h=(R(e|0)|0)-(R(b|0)|0)|0;if(h>>>0<=30){n=h+1|0;i=b<<31-h|a>>>((h+1|0)>>>0);m=b>>>((h+1|0)>>>0);g=0;h=a<<31-h;break}if(!f){e=0;f=0;return (z=e,f)|0}c[f>>2]=a|0;c[f+4>>2]=b|b&0;e=0;f=0;return (z=e,f)|0}while(0);if(!n){j=h;b=m;a=0;h=0}else{k=cw(d|0|0,e|e&0|0,-1,-1)|0;l=z;j=h;b=m;a=n;h=0;do{p=j;j=g>>>31|j<<1;g=h|g<<1;p=i<<1|p>>>31|0;o=i>>>31|b<<1|0;Nv(k|0,l|0,p|0,o|0)|0;n=z;m=n>>31|((n|0)<0?-1:0)<<1;h=m&1;i=Nv(p|0,o|0,m&(d|0)|0,(((n|0)<0?-1:0)>>31|((n|0)<0?-1:0)<<1)&(e|e&0)|0)|0;b=z;a=a-1|0}while((a|0)!=0);a=0}if(f|0){c[f>>2]=i;c[f+4>>2]=b}o=(g|0)>>>31|j<<1|(0<<1|g>>>31)&0|a;p=(g<<1|0>>>31)&-2|h;return (z=o,p)|0}function Oe(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.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;f=c[b+748>>2]|0;if((f|0)<=0)return;do{k=f;f=f+-1|0;q=+g[b+4+(f*184|0)>>2];r=+g[b+4+(f*184|0)+4>>2];h=+g[b+4+(f*184|0)+8>>2];p=q*+g[d>>2]+r*+g[d+4>>2]+h*+g[d+8>>2]+ +g[d+48>>2];n=q*+g[d+16>>2]+r*+g[d+20>>2]+h*+g[d+24>>2]+ +g[d+52>>2];h=q*+g[d+32>>2]+r*+g[d+36>>2]+h*+g[d+40>>2]+ +g[d+56>>2];g[b+4+(f*184|0)+48>>2]=p;g[b+4+(f*184|0)+52>>2]=n;g[b+4+(f*184|0)+56>>2]=h;g[b+4+(f*184|0)+60>>2]=0.0;r=+g[b+4+(f*184|0)+16>>2];q=+g[b+4+(f*184|0)+20>>2];i=+g[b+4+(f*184|0)+24>>2];o=r*+g[e>>2]+q*+g[e+4>>2]+i*+g[e+8>>2]+ +g[e+48>>2];m=r*+g[e+16>>2]+q*+g[e+20>>2]+i*+g[e+24>>2]+ +g[e+52>>2];i=r*+g[e+32>>2]+q*+g[e+36>>2]+i*+g[e+40>>2]+ +g[e+56>>2];g[b+4+(f*184|0)+32>>2]=o;g[b+4+(f*184|0)+36>>2]=m;g[b+4+(f*184|0)+40>>2]=i;g[b+4+(f*184|0)+44>>2]=0.0;g[b+4+(f*184|0)+80>>2]=(p-o)*+g[b+4+(f*184|0)+64>>2]+(n-m)*+g[b+4+(f*184|0)+68>>2]+(h-i)*+g[b+4+(f*184|0)+72>>2];j=b+4+(f*184|0)+148|0;c[j>>2]=(c[j>>2]|0)+1}while((k|0)>1);f=c[b+748>>2]|0;if((f|0)<=0)return;e=f;j=f;while(1){k=j;j=j+-1|0;d=b+4+(j*184|0)|0;h=+g[b+4+(j*184|0)+80>>2];i=+g[b+752>>2];if(!(h<=i)){f=e+-1|0;if((f|0)==(j|0)){f=e;l=12}else{_h(d|0,b+4+(f*184|0)|0,184)|0;c[b+4+(f*184|0)+112>>2]=0;g[b+4+(f*184|0)+120>>2]=0.0;a[b+4+(f*184|0)+116>>0]=0;g[b+4+(f*184|0)+124>>2]=0.0;g[b+4+(f*184|0)+128>>2]=0.0;c[b+4+(f*184|0)+148>>2]=0;f=c[b+748>>2]|0;l=12}}else{p=+g[b+4+(j*184|0)+32>>2]-(+g[b+4+(j*184|0)+48>>2]-+g[b+4+(j*184|0)+64>>2]*h);q=+g[b+4+(j*184|0)+36>>2]-(+g[b+4+(j*184|0)+52>>2]-h*+g[b+4+(j*184|0)+68>>2]);r=+g[b+4+(j*184|0)+40>>2]-(+g[b+4+(j*184|0)+56>>2]-h*+g[b+4+(j*184|0)+72>>2]);if(p*p+q*q+r*r>i*i){f=e+-1|0;if((f|0)==(j|0)){f=e;l=12}else{_h(d|0,b+4+(f*184|0)|0,184)|0;c[b+4+(f*184|0)+112>>2]=0;g[b+4+(f*184|0)+120>>2]=0.0;a[b+4+(f*184|0)+116>>0]=0;g[b+4+(f*184|0)+124>>2]=0.0;g[b+4+(f*184|0)+128>>2]=0.0;c[b+4+(f*184|0)+148>>2]=0;f=c[b+748>>2]|0;l=12}}else f=e}if((l|0)==12){l=0;f=f+-1|0;c[b+748>>2]=f}if((k|0)<=1)break;else e=f}return}function Pe(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,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;k=l;l=l+128|0;a=c[a+16>>2]|0;n=+g[a+892>>2];x=+g[a+896>>2];v=+g[a+900>>2];w=+g[a+908>>2];f=+g[a+912>>2];i=+g[a+916>>2];z=+g[b>>2];m=+g[b+4>>2];p=v*+g[b+8>>2];q=+g[b+16>>2];r=+g[b+20>>2];t=v*+g[b+24>>2];u=+g[b+32>>2];o=+g[b+36>>2];s=+g[b+40>>2];y=+g[b+48>>2];j=+g[b+52>>2];h=+g[b+56>>2];g[k>>2]=n*z+x*m+p+y;g[k+4>>2]=n*q+x*r+t+j;g[k+8>>2]=n*u+x*o+v*s+h;g[k+12>>2]=0.0;g[k+16>>2]=w*z+x*m+p+y;g[k+20>>2]=w*q+x*r+t+j;g[k+24>>2]=w*u+x*o+v*s+h;g[k+28>>2]=0.0;g[k+32>>2]=w*z+f*m+p+y;g[k+36>>2]=w*q+f*r+t+j;g[k+40>>2]=w*u+f*o+v*s+h;g[k+44>>2]=0.0;g[k+48>>2]=n*z+f*m+p+y;g[k+52>>2]=n*q+f*r+t+j;g[k+56>>2]=n*u+f*o+v*s+h;g[k+60>>2]=0.0;v=+g[b>>2];u=+g[b+4>>2];t=i*+g[b+8>>2];r=+g[b+16>>2];q=+g[b+20>>2];p=i*+g[b+24>>2];m=+g[b+32>>2];g[k+64>>2]=n*v+x*u+t+y;g[k+68>>2]=n*r+x*q+p+j;g[k+72>>2]=n*m+x*o+i*s+h;g[k+76>>2]=0.0;h=+g[b+36>>2];i=i*+g[b+40>>2];s=+g[b+48>>2];o=+g[b+52>>2];j=+g[b+56>>2];g[k+80>>2]=w*v+x*u+t+s;g[k+84>>2]=w*r+x*q+p+o;g[k+88>>2]=w*m+x*h+i+j;g[k+92>>2]=0.0;g[k+96>>2]=w*v+f*u+t+s;g[k+100>>2]=w*r+f*q+p+o;g[k+104>>2]=w*m+f*h+i+j;g[k+108>>2]=0.0;g[k+112>>2]=n*v+f*u+t+s;g[k+116>>2]=n*r+f*q+p+o;g[k+120>>2]=n*m+f*h+i+j;g[k+124>>2]=0.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];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];b=1;do{f=+g[k+(b<<4)>>2];if(f<+g[d>>2])g[d>>2]=f;h=+g[k+(b<<4)+4>>2];if(h<+g[d+4>>2])g[d+4>>2]=h;i=+g[k+(b<<4)+8>>2];if(i<+g[d+8>>2])g[d+8>>2]=i;j=+g[k+(b<<4)+12>>2];if(j<+g[d+12>>2])g[d+12>>2]=j;if(+g[e>>2]>2]=f;if(+g[e+4>>2]>2]=h;if(+g[e+8>>2]>2]=i;if(+g[e+12>>2]>2]=j;b=b+1|0}while((b|0)!=8);l=k;return}function Qe(b){b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;bj(12271);j=c[b+204>>2]|0;Kb[c[(c[j>>2]|0)+8>>2]&127](j,b,c[b+24>>2]|0);j=c[b+308>>2]|0;if((j|0)>0){k=c[b+316>>2]|0;m=0;do{e=c[k+(m<<2)>>2]|0;d=c[e+740>>2]|0;e=c[e+744>>2]|0;if((d|0?(e|0?(c[d+204>>2]&3|0)==0:0):0)?(c[e+204>>2]&3|0)==0:0){f=c[d+208>>2]|0;d=c[e+208>>2]|0;i=c[(c[b+204>>2]|0)+16>>2]|0;e=c[i+(f<<3)>>2]|0;if((e|0)!=(f|0)){h=i+(f<<3)|0;do{f=i+(e<<3)|0;c[h>>2]=c[f>>2];f=c[f>>2]|0;h=i+(f<<3)|0;e=c[h>>2]|0}while((f|0)!=(e|0))}e=c[i+(d<<3)>>2]|0;if((e|0)!=(d|0)){h=i+(d<<3)|0;do{d=i+(e<<3)|0;c[h>>2]=c[d>>2];d=c[d>>2]|0;h=i+(d<<3)|0;e=c[h>>2]|0}while((d|0)!=(e|0))}if((f|0)!=(d|0)){c[i+(f<<3)>>2]=d;h=i+(d<<3)+4|0;c[h>>2]=(c[h>>2]|0)+(c[i+(f<<3)+4>>2]|0)}}m=m+1|0}while((m|0)!=(j|0))}k=c[b+212>>2]|0;if((k|0)>0){j=c[b+220>>2]|0;m=0;do{d=c[j+(m<<2)>>2]|0;if((a[d+20>>0]|0?(o=c[d+28>>2]|0,(c[o+204>>2]&3|0)==0):0)?(n=c[d+32>>2]|0,(c[n+204>>2]&3|0)==0):0){f=c[o+208>>2]|0;d=c[n+208>>2]|0;i=c[(c[b+204>>2]|0)+16>>2]|0;e=c[i+(f<<3)>>2]|0;if((e|0)!=(f|0)){h=i+(f<<3)|0;do{f=i+(e<<3)|0;c[h>>2]=c[f>>2];f=c[f>>2]|0;h=i+(f<<3)|0;e=c[h>>2]|0}while((f|0)!=(e|0))}e=c[i+(d<<3)>>2]|0;if((e|0)!=(d|0)){h=i+(d<<3)|0;do{d=i+(e<<3)|0;c[h>>2]=c[d>>2];d=c[d>>2]|0;h=i+(d<<3)|0;e=c[h>>2]|0}while((d|0)!=(e|0))}if((f|0)!=(d|0)){c[i+(f<<3)>>2]=d;h=i+(d<<3)+4|0;c[h>>2]=(c[h>>2]|0)+(c[i+(f<<3)+4>>2]|0)}}m=m+1|0}while((m|0)!=(k|0))}d=c[b+204>>2]|0;Gb[c[(c[d>>2]|0)+12>>2]&127](d,b);d=c[2405]|0;b=(c[d+16>>2]|0)+-1|0;c[d+16>>2]=b;if(b|0){l=p;return}do if(c[d+4>>2]|0){Za(p|0,0)|0;b=c[6471]|0;g[d+8>>2]=+g[d+8>>2]+ +(((c[p+4>>2]|0)-(c[b+4>>2]|0)+(((c[p>>2]|0)-(c[b>>2]|0)|0)*1e6|0)-(c[d+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[d+16>>2]|0)){d=c[2405]|0;break}else{l=p;return}}while(0);c[2405]=c[d+20>>2];l=p;return}function Re(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,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;j=l;l=l+64|0;k=(a[b+8>>0]|0)!=0;i=k?e:d;e=k?d:e;d=c[e+4>>2]|0;if(((c[d+4>>2]|0)+-21|0)>>>0>=9){l=j;return}if((c[(c[i+4>>2]|0)+4>>2]|0)>=20){l=j;return}m=+gb[c[(c[d>>2]|0)+48>>2]&15](d);c[h+4>>2]=c[b+76>>2];c[b+16>>2]=i;c[b+20>>2]=e;c[b+64>>2]=f;g[b+68>>2]=m;c[b+56>>2]=h;k=c[e+12>>2]|0;B=+g[k>>2];A=+g[k+16>>2];z=+g[k+32>>2];y=+g[k+4>>2];x=+g[k+20>>2];w=+g[k+36>>2];s=+g[k+8>>2];q=+g[k+24>>2];o=+g[k+40>>2];v=-+g[k+48>>2];u=-+g[k+52>>2];t=-+g[k+56>>2];k=c[i+12>>2]|0;K=+g[k>>2];J=+g[k+16>>2];I=+g[k+32>>2];H=+g[k+4>>2];G=+g[k+20>>2];F=+g[k+36>>2];E=+g[k+8>>2];D=+g[k+24>>2];C=+g[k+40>>2];r=+g[k+48>>2];p=+g[k+52>>2];n=+g[k+56>>2];g[j>>2]=B*K+A*J+z*I;g[j+4>>2]=B*H+A*G+z*F;g[j+8>>2]=B*E+A*D+z*C;g[j+12>>2]=0.0;g[j+16>>2]=y*K+x*J+w*I;g[j+20>>2]=y*H+x*G+w*F;g[j+24>>2]=y*E+x*D+w*C;g[j+28>>2]=0.0;g[j+32>>2]=s*K+q*J+o*I;g[j+36>>2]=s*H+q*G+o*F;g[j+40>>2]=s*E+q*D+o*C;g[j+44>>2]=0.0;g[j+48>>2]=B*v+A*u+z*t+(B*r+A*p+z*n);g[j+52>>2]=y*v+x*u+w*t+(y*r+x*p+w*n);g[j+56>>2]=s*v+q*u+o*t+(s*r+q*p+o*n);g[j+60>>2]=0.0;k=c[(c[b+16>>2]|0)+4>>2]|0;Nb[c[(c[k>>2]|0)+8>>2]&127](k,j,b+24|0,b+40|0);g[b+40>>2]=+g[b+40>>2]+m;g[b+44>>2]=+g[b+44>>2]+m;g[b+48>>2]=+g[b+48>>2]+m;g[b+24>>2]=+g[b+24>>2]-m;g[b+28>>2]=+g[b+28>>2]-m;g[b+32>>2]=+g[b+32>>2]-m;k=c[b+76>>2]|0;e=c[e+8>>2]|0;c[k+740>>2]=c[i+8>>2];c[k+744>>2]=e;Nb[c[(c[d>>2]|0)+64>>2]&127](d,b+12|0,b+24|0,b+40|0);e=c[h+4>>2]|0;do if(c[e+748>>2]|0){i=c[e+740>>2]|0;f=c[(c[h+8>>2]|0)+8>>2]|0;d=c[(c[h+12>>2]|0)+8>>2]|0;if((i|0)==(f|0)){Oe(e,i+4|0,d+4|0);break}else{Oe(e,d+4|0,f+4|0);break}}while(0);c[b+16>>2]=0;c[b+20>>2]=0;l=j;return}function Se(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.0,k=0,m=0,n=0,o=0,p=0.0,q=0;o=l;l=l+128|0;h=+g[b>>2];i=+g[b+16>>2];p=h>2];if((p+g[a+28>>2]){l=o;return}m=h>i?b:b+16|0;if(+g[(+g[m>>2]>j?m:b+32|0)>>2]<+g[a+12>>2]){l=o;return}j=+g[b+8>>2];h=+g[b+24>>2];p=j>2];if((p+g[a+36>>2]){l=o;return}m=j>h?b+8|0:b+24|0;if(+g[(+g[m>>2]>i?m:b+40|0)>>2]<+g[a+20>>2]){l=o;return}h=+g[b+4>>2];i=+g[b+20>>2];p=h>2];if((p+g[a+32>>2]){l=o;return}m=h>i?b+4|0:b+20|0;if(+g[(+g[m>>2]>j?m:b+36|0)>>2]<+g[a+16>>2]){l=o;return}m=c[a+48>>2]|0;f=c[a+4>>2]|0;if((c[(c[f+4>>2]|0)+4>>2]|0)>=20){l=o;return}c[o+24+8>>2]=0;c[o+24+12>>2]=1065353216;c[o+24+16>>2]=1065353216;c[o+24+20>>2]=1065353216;g[o+24+24>>2]=0.0;c[o+24+52>>2]=0;c[o+24>>2]=3860;c[o+24+4>>2]=1;c[o+24+56>>2]=c[b>>2];c[o+24+56+4>>2]=c[b+4>>2];c[o+24+56+8>>2]=c[b+8>>2];c[o+24+56+12>>2]=c[b+12>>2];c[o+24+72>>2]=c[b+16>>2];c[o+24+72+4>>2]=c[b+16+4>>2];c[o+24+72+8>>2]=c[b+16+8>>2];c[o+24+72+12>>2]=c[b+16+12>>2];c[o+24+88>>2]=c[b+32>>2];c[o+24+88+4>>2]=c[b+32+4>>2];c[o+24+88+8>>2]=c[b+32+8>>2];c[o+24+88+12>>2]=c[b+32+12>>2];c[o+24+44>>2]=c[a+56>>2];q=c[a+8>>2]|0;b=c[q+8>>2]|0;k=c[q+12>>2]|0;c[o>>2]=q;c[o+4>>2]=o+24;c[o+8>>2]=b;c[o+12>>2]=k;c[o+16>>2]=d;c[o+20>>2]=e;k=vb[c[(c[m>>2]|0)+8>>2]&31](m,f,o,c[a+64>>2]|0)|0;b=c[a+44>>2]|0;f=c[b+8>>2]|0;if((c[f+8>>2]|0)==(c[(c[a+8>>2]|0)+8>>2]|0)){c[b+8>>2]=o;Kb[c[(c[b>>2]|0)+8>>2]&127](b,d,e)}else{f=c[b+12>>2]|0;c[b+12>>2]=o;Kb[c[(c[b>>2]|0)+12>>2]&127](b,d,e)}Rb[c[(c[k>>2]|0)+8>>2]&31](k,c[a+4>>2]|0,o,c[a+52>>2]|0,c[a+44>>2]|0);q=c[a+44>>2]|0;c[((c[(c[q+8>>2]|0)+8>>2]|0)==(c[(c[a+8>>2]|0)+8>>2]|0)?q+8|0:q+12|0)>>2]=f;Ab[c[c[k>>2]>>2]&511](k);Gb[c[(c[m>>2]|0)+60>>2]&127](m,k);c[o+24>>2]=7316;f=c[o+24+52>>2]|0;if(f|0?(Ab[c[c[f>>2]>>2]&511](f),n=c[o+24+52>>2]|0,n|0):0){c[6473]=(c[6473]|0)+1;nd(c[n+-4>>2]|0)}l=o;return}function Te(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var 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,y=0.0,z=0.0;x=a[h+16>>0]&-16;a[h+16>>0]=x;n=+g[e>>2];o=+g[d>>2];p=+g[e+4>>2];q=+g[d+4>>2];r=+g[e+8>>2];s=+g[d+8>>2];t=+g[f>>2];u=+g[f+4>>2];v=+g[f+8>>2];l=+g[b>>2];m=+g[b+4>>2];i=+g[b+8>>2];z=(n-o)*(l-o)+(p-q)*(m-q)+(r-s)*(i-s);y=(t-o)*(l-o)+(u-q)*(m-q)+(v-s)*(i-s);do if(z<=0.0&y<=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[h+16>>0]=x|1;j=0.0;k=0.0;i=1.0}else{w=(n-o)*(l-n)+(p-q)*(m-p)+(r-s)*(i-r);k=(t-o)*(l-n)+(u-q)*(m-p)+(v-s)*(i-r);if(!(!(w>=0.0)|!(k<=w))){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[h+16>>0]=x|2;j=0.0;k=1.0;i=0.0;break}if(w<=0.0&(z>=0.0?z*k-w*y<=0.0:0)){g[h>>2]=o+(n-o)*(z/(z-w));g[h+4>>2]=q+(p-q)*(z/(z-w));g[h+8>>2]=s+(r-s)*(z/(z-w));g[h+12>>2]=0.0;a[h+16>>0]=x|3;j=0.0;k=z/(z-w);i=1.0-z/(z-w);break}j=(n-o)*(l-t)+(p-q)*(m-u)+(r-s)*(i-v);i=(t-o)*(l-t)+(u-q)*(m-u)+(v-s)*(i-v);if(!(!(i>=0.0)|!(j<=i))){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[h+16>>0]=x|4;j=1.0;k=0.0;i=0.0;break}if(i<=0.0&(y>=0.0?j*y-z*i<=0.0:0)){g[h>>2]=o+(t-o)*(y/(y-i));g[h+4>>2]=q+(u-q)*(y/(y-i));g[h+8>>2]=s+(v-s)*(y/(y-i));g[h+12>>2]=0.0;a[h+16>>0]=x|5;j=y/(y-i);k=0.0;i=1.0-y/(y-i);break}if((w*i-j*k<=0.0?k-w>=0.0:0)?j-i>=0.0:0){k=(k-w)/(k-w+(j-i));g[h>>2]=n+(t-n)*k;g[h+4>>2]=p+(u-p)*k;g[h+8>>2]=r+(v-r)*k;g[h+12>>2]=0.0;a[h+16>>0]=x|6;j=k;k=1.0-k;i=0.0;break}l=1.0/(z*k-w*y+(w*i-j*k+(j*y-z*i)));m=(j*y-z*i)*l;i=(z*k-w*y)*l;g[h>>2]=(t-o)*i+((n-o)*m+o);g[h+4>>2]=(u-q)*i+((p-q)*m+q);g[h+8>>2]=(v-s)*i+((r-s)*m+s);g[h+12>>2]=0.0;a[h+16>>0]=x|7;j=i;k=m;i=1.0-m-i}while(0);g[h+20>>2]=i;g[h+24>>2]=k;g[h+28>>2]=j;g[h+32>>2]=0.0;return}function Ue(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,l=0,m=0,n=0,o=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;if(!a)return;t=+g[b>>2];u=+g[b+4>>2];v=+g[b+8>>2];w=+g[b+16>>2];x=+g[b+20>>2];p=+g[b+24>>2];c[6472]=(c[6472]|0)+1;n=ic(275)|0;b=n+4+15&-16;c[b+-4>>2]=n;c[(n+4+15&-16)>>2]=a;m=b;j=b;h=b;e=64;o=1;a=n+4+15&-16;while(1){n=o+-1|0;l=c[a+(n<<2)>>2]|0;do if(((((+g[l>>2]<=w?+g[l+16>>2]>=t:0)?+g[l+4>>2]<=x:0)?+g[l+20>>2]>=u:0)?+g[l+8>>2]<=p:0)?+g[l+24>>2]>=v:0){if(!(c[l+40>>2]|0)){Gb[c[(c[d>>2]|0)+12>>2]&127](d,l);i=b;b=m;f=n;break}k=c[l+36>>2]|0;do if((n|0)==(e|0)?(s=e|0?e<<1:1,(o|0)<=(s|0)):0){if((s|0)!=0?(c[6472]=(c[6472]|0)+1,r=ic((s<<2|3)+16|0)|0,(r|0)!=0):0){c[(r+4+15&-16)+-4>>2]=r;f=r+4+15&-16}else f=0;if((o|0)>1){b=0;do{c[f+(b<<2)>>2]=c[a+(b<<2)>>2];b=b+1|0}while((b|0)!=(e|0));if(!m){i=f;j=f;h=f;b=f;e=s;m=f;break}}else if((a|0)==0|(m|0)==0){i=f;j=f;h=f;b=f;e=s;m=f;break}c[6473]=(c[6473]|0)+1;nd(c[m+-4>>2]|0);i=f;j=f;h=f;b=f;e=s;m=f}else{i=b;b=m;m=a}while(0);c[m+(n<<2)>>2]=k;k=c[l+40>>2]|0;do if((o|0)==(e|0)){e=o|0?o<<1:1;if((o|0)<(e|0)){if((e|0)!=0?(c[6472]=(c[6472]|0)+1,q=ic((e<<2|3)+16|0)|0,(q|0)!=0):0){c[(q+4+15&-16)+-4>>2]=q;a=q+4+15&-16}else a=0;if((o|0)>0){b=0;do{c[a+(b<<2)>>2]=c[m+(b<<2)>>2];b=b+1|0}while((b|0)!=(o|0));if(!i){f=a;h=a;i=a;b=a;break}}else if((m|0)==0|(i|0)==0){f=a;h=a;i=a;b=a;break}c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0);f=a;h=a;i=a;b=a}else{f=j;e=o;a=m}}else{f=j;a=m}while(0);c[a+(o<<2)>>2]=k;j=f;f=o+1|0}else{i=b;b=m;f=n}while(0);if((f|0)>0){m=b;b=i;o=f}else break}if((a|0)==0|(j|0)==0)return;c[6473]=(c[6473]|0)+1;nd(c[j+-4>>2]|0);return}function Ve(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.0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0;f=l;l=l+256|0;bj(11883);c[f+32>>2]=4204;k=f+32+36|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];m=f+32+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[f+32+212>>2]=a;c[f+32+216>>2]=e;c[f+32+68>>2]=1065353216;c[f+32+72>>2]=0;c[f+32+72+4>>2]=0;c[f+32+72+8>>2]=0;c[f+32+72+12>>2]=0;c[f+32+88>>2]=1065353216;c[f+32+92>>2]=0;c[f+32+92+4>>2]=0;c[f+32+92+8>>2]=0;c[f+32+92+12>>2]=0;c[f+32+108>>2]=1065353216;c[f+32+112>>2]=0;c[f+32+116>>2]=c[k>>2];c[f+32+116+4>>2]=c[k+4>>2];c[f+32+116+8>>2]=c[k+8>>2];c[f+32+116+12>>2]=c[k+12>>2];c[f+32+132>>2]=1065353216;c[f+32+136>>2]=0;c[f+32+136+4>>2]=0;c[f+32+136+8>>2]=0;c[f+32+136+12>>2]=0;c[f+32+152>>2]=1065353216;c[f+32+156>>2]=0;c[f+32+156+4>>2]=0;c[f+32+156+8>>2]=0;c[f+32+156+12>>2]=0;c[f+32+172>>2]=1065353216;c[f+32+176>>2]=0;c[f+32+180>>2]=c[d>>2];c[f+32+180+4>>2]=c[d+4>>2];c[f+32+180+8>>2]=c[d+8>>2];c[f+32+180+12>>2]=c[d+12>>2];n=+g[d>>2]-+g[b>>2];j=+g[d+4>>2]-+g[b+4>>2];i=+g[d+8>>2]-+g[b+8>>2];h=1.0/+C(+(n*n+j*j+i*i));q=n*h==0.0?1000000015047466219876688.0e6:1.0/(n*h);g[f+32+4>>2]=q;p=j*h==0.0?1000000015047466219876688.0e6:1.0/(j*h);g[f+32+8>>2]=p;o=i*h==0.0?1000000015047466219876688.0e6:1.0/(i*h);g[f+32+12>>2]=o;c[f+32+20>>2]=q<0.0&1;c[f+32+24>>2]=p<0.0&1;c[f+32+28>>2]=o<0.0&1;g[f+32+32>>2]=n*h*(+g[m>>2]-+g[k>>2])+j*h*(+g[f+32+56>>2]-+g[f+32+40>>2])+i*h*(+g[f+32+60>>2]-+g[f+32+44>>2]);a=c[a+68>>2]|0;e=c[(c[a>>2]|0)+24>>2]|0;c[f+16>>2]=0;c[f+16+4>>2]=0;c[f+16+8>>2]=0;c[f+16+12>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;Tb[e&7](a,b,d,f+32|0,f+16|0,f);b=c[2405]|0;a=(c[b+16>>2]|0)+-1|0;c[b+16>>2]=a;if(a|0){l=f;return}do if(c[b+4>>2]|0){Za(f+32|0,0)|0;m=c[6471]|0;g[b+8>>2]=+g[b+8>>2]+ +(((c[f+32+4>>2]|0)-(c[m+4>>2]|0)+(((c[f+32>>2]|0)-(c[m>>2]|0)|0)*1e6|0)-(c[b+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[b+16>>2]|0)){b=c[2405]|0;break}else{l=f;return}}while(0);c[2405]=c[b+20>>2];l=f;return}function We(b,d){b=b|0;d=+d;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0.0;s=l;l=l+16|0;bj(12376);e=c[b+232>>2]|0;if((e|0)>0){r=0;do{q=c[(c[b+240>>2]|0)+(r<<2)>>2]|0;if(!(c[q+204>>2]&3)){n=+g[q+444>>2];f=+D(+(1.0-n),+d);i=f*+g[q+312>>2];g[q+312>>2]=i;h=f*+g[q+316>>2];g[q+316>>2]=h;f=f*+g[q+320>>2];g[q+320>>2]=f;p=+g[q+448>>2];m=+D(+(1.0-p),+d);j=m*+g[q+328>>2];g[q+328>>2]=j;k=m*+g[q+332>>2];g[q+332>>2]=k;m=m*+g[q+336>>2];g[q+336>>2]=m;do if(a[q+452>>0]|0){if(m*m+(j*j+k*k)<+g[q+464>>2]?i*i+h*h+f*f<+g[q+460>>2]:0){t=+g[q+456>>2];g[q+328>>2]=j*t;g[q+332>>2]=t*k;g[q+336>>2]=t*m;g[q+312>>2]=t*i;g[q+316>>2]=t*h;g[q+320>>2]=t*f;i=t*i;h=t*h;f=t*f;o=j*t;k=t*k;m=t*m}else o=j;j=+C(+(i*i+h*h+f*f));do if(j.004999999888241291){i=i-i*(1.0/j)*.004999999888241291;g[q+312>>2]=i;h=h-h*(1.0/j)*.004999999888241291;g[q+316>>2]=h;f=f-f*(1.0/j)*.004999999888241291;g[q+320>>2]=f;break}else{c[q+312>>2]=0;c[q+312+4>>2]=0;c[q+312+8>>2]=0;c[q+312+12>>2]=0;i=0.0;h=0.0;f=0.0;break}while(0);j=+C(+(o*o+k*k+m*m));if(j.004999999888241291){g[q+328>>2]=o-o*(1.0/j)*.004999999888241291;g[q+332>>2]=k-k*(1.0/j)*.004999999888241291;g[q+336>>2]=m-m*(1.0/j)*.004999999888241291;break}else{c[q+328>>2]=0;c[q+328+4>>2]=0;c[q+328+8>>2]=0;c[q+328+12>>2]=0;break}}while(0);Ig(q+4|0,i,h,f,q+328|0,d,q+68|0);e=c[b+232>>2]|0}r=r+1|0}while((r|0)<(e|0))}e=c[2405]|0;b=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=b;if(b|0){l=s;return}do if(c[e+4>>2]|0){Za(s|0,0)|0;b=c[6471]|0;g[e+8>>2]=+g[e+8>>2]+ +(((c[s+4>>2]|0)-(c[b+4>>2]|0)+(((c[s>>2]|0)-(c[b>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[e+16>>2]|0)){e=c[2405]|0;break}else{l=s;return}}while(0);c[2405]=c[e+20>>2];l=s;return}function Xe(b,d){b=b|0;d=d|0;var e=0,f=0;e=c[b>>2]|0;do if((e|0)>3)if(!(a[d>>0]&8)){c[b>>2]=e+-1;f=b+4+(e+-1<<4)|0;c[b+52>>2]=c[f>>2];c[b+52+4>>2]=c[f+4>>2];c[b+52+8>>2]=c[f+8>>2];c[b+52+12>>2]=c[f+12>>2];f=b+84+(e+-1<<4)|0;c[b+132>>2]=c[f>>2];c[b+132+4>>2]=c[f+4>>2];c[b+132+8>>2]=c[f+8>>2];c[b+132+12>>2]=c[f+12>>2];f=b+164+(e+-1<<4)|0;c[b+212>>2]=c[f>>2];c[b+212+4>>2]=c[f+4>>2];c[b+212+8>>2]=c[f+8>>2];c[b+212+12>>2]=c[f+12>>2];e=e+-1|0;f=6}else f=6;else{if((e|0)==3){e=3;f=6;break}if((e|0)>1){e=2;f=10;break}if((e|0)==1){e=1;break}else return}while(0);if((f|0)==6)if(!(a[d>>0]&4)){e=e+-1|0;c[b>>2]=e;c[b+36>>2]=c[b+4+(e<<4)>>2];c[b+36+4>>2]=c[b+4+(e<<4)+4>>2];c[b+36+8>>2]=c[b+4+(e<<4)+8>>2];c[b+36+12>>2]=c[b+4+(e<<4)+12>>2];c[b+116>>2]=c[b+84+(e<<4)>>2];c[b+116+4>>2]=c[b+84+(e<<4)+4>>2];c[b+116+8>>2]=c[b+84+(e<<4)+8>>2];c[b+116+12>>2]=c[b+84+(e<<4)+12>>2];c[b+196>>2]=c[b+164+(e<<4)>>2];c[b+196+4>>2]=c[b+164+(e<<4)+4>>2];c[b+196+8>>2]=c[b+164+(e<<4)+8>>2];c[b+196+12>>2]=c[b+164+(e<<4)+12>>2];f=10}else f=10;if((f|0)==10)if(!(a[d>>0]&2)){e=e+-1|0;c[b>>2]=e;c[b+20>>2]=c[b+4+(e<<4)>>2];c[b+20+4>>2]=c[b+4+(e<<4)+4>>2];c[b+20+8>>2]=c[b+4+(e<<4)+8>>2];c[b+20+12>>2]=c[b+4+(e<<4)+12>>2];c[b+100>>2]=c[b+84+(e<<4)>>2];c[b+100+4>>2]=c[b+84+(e<<4)+4>>2];c[b+100+8>>2]=c[b+84+(e<<4)+8>>2];c[b+100+12>>2]=c[b+84+(e<<4)+12>>2];c[b+180>>2]=c[b+164+(e<<4)>>2];c[b+180+4>>2]=c[b+164+(e<<4)+4>>2];c[b+180+8>>2]=c[b+164+(e<<4)+8>>2];c[b+180+12>>2]=c[b+164+(e<<4)+12>>2]}if(a[d>>0]&1)return;f=e+-1|0;c[b>>2]=f;c[b+4>>2]=c[b+4+(f<<4)>>2];c[b+4+4>>2]=c[b+4+(f<<4)+4>>2];c[b+4+8>>2]=c[b+4+(f<<4)+8>>2];c[b+4+12>>2]=c[b+4+(f<<4)+12>>2];c[b+84>>2]=c[b+84+(f<<4)>>2];c[b+84+4>>2]=c[b+84+(f<<4)+4>>2];c[b+84+8>>2]=c[b+84+(f<<4)+8>>2];c[b+84+12>>2]=c[b+84+(f<<4)+12>>2];c[b+164>>2]=c[b+164+(f<<4)>>2];c[b+164+4>>2]=c[b+164+(f<<4)+4>>2];c[b+164+8>>2]=c[b+164+(f<<4)+8>>2];c[b+164+12>>2]=c[b+164+(f<<4)+12>>2];return}function Ye(b){b=b|0;var d=0,e=0;c[b>>2]=5416;if(a[b+20>>0]|0){d=c[b+16>>2]|0;e=c[d+16>>2]|0;if(e){c[6473]=(c[6473]|0)+1;nd(c[e+-4>>2]|0);d=c[b+16>>2]|0}if(d|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}}if(a[b+12>>0]|0){d=c[b+8>>2]|0;e=c[d+16>>2]|0;if(e){c[6473]=(c[6473]|0)+1;nd(c[e+-4>>2]|0);d=c[b+8>>2]|0}if(d|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}}d=c[b+32>>2]|0;Ab[c[c[d>>2]>>2]&511](d);d=c[b+32>>2]|0;if(d|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}d=c[b+36>>2]|0;Ab[c[c[d>>2]>>2]&511](d);d=c[b+36>>2]|0;if(d|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}d=c[b+40>>2]|0;Ab[c[c[d>>2]>>2]&511](d);d=c[b+40>>2]|0;if(d|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}d=c[b+44>>2]|0;Ab[c[c[d>>2]>>2]&511](d);d=c[b+44>>2]|0;if(d|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}d=c[b+48>>2]|0;Ab[c[c[d>>2]>>2]&511](d);d=c[b+48>>2]|0;if(d|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}d=c[b+52>>2]|0;Ab[c[c[d>>2]>>2]&511](d);d=c[b+52>>2]|0;if(d|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}d=c[b+56>>2]|0;Ab[c[c[d>>2]>>2]&511](d);d=c[b+56>>2]|0;if(d|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}d=c[b+60>>2]|0;Ab[c[c[d>>2]>>2]&511](d);d=c[b+60>>2]|0;if(d|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}d=c[b+76>>2]|0;Ab[c[c[d>>2]>>2]&511](d);d=c[b+76>>2]|0;if(d|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}d=c[b+80>>2]|0;Ab[c[c[d>>2]>>2]&511](d);d=c[b+80>>2]|0;if(d|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}d=c[b+72>>2]|0;Ab[c[c[d>>2]>>2]&511](d);d=c[b+72>>2]|0;if(d|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}d=c[b+88>>2]|0;Ab[c[c[d>>2]>>2]&511](d);d=c[b+88>>2]|0;if(d|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}d=c[b+84>>2]|0;Ab[c[c[d>>2]>>2]&511](d);d=c[b+84>>2]|0;if(d|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}d=c[b+24>>2]|0;if(d|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}d=c[b+28>>2]|0;Ab[c[c[d>>2]>>2]&511](d);d=c[b+28>>2]|0;if(!d)return;c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0);return}function Ze(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;a:do if(!(GC(b,c[d+8>>2]|0)|0)){if(!(GC(b,c[d>>2]|0)|0)){i=c[b+12>>2]|0;Un(b+16|0,d,e,f,g);if((i|0)<=1)break;h=c[b+8>>2]|0;if((h&2|0)==0?(c[d+36>>2]|0)!=1:0){if(!(h&1)){h=b+24|0;while(1){if(a[d+54>>0]|0)break a;if((c[d+36>>2]|0)==1)break a;Un(h,d,e,f,g);h=h+8|0;if(h>>>0>=(b+16+(i<<3)|0)>>>0)break a}}else h=b+24|0;while(1){if(a[d+54>>0]|0)break a;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==1:0)break a;Un(h,d,e,f,g);h=h+8|0;if(h>>>0>=(b+16+(i<<3)|0)>>>0)break a}}else h=b+24|0;while(1){if(a[d+54>>0]|0)break a;Un(h,d,e,f,g);h=h+8|0;if(h>>>0>=(b+16+(i<<3)|0)>>>0)break a}}if((c[d+16>>2]|0)!=(e|0)?(c[d+20>>2]|0)!=(e|0):0){c[d+32>>2]=f;if((c[d+44>>2]|0)==4)break;f=b+16+(c[b+12>>2]<<3)|0;k=0;h=0;j=b+16|0;b:while(1){if(j>>>0>=f>>>0){i=18;break}a[d+52>>0]=0;a[d+53>>0]=0;Cn(j,d,e,e,1,g);if(a[d+54>>0]|0){i=18;break}do if(a[d+53>>0]|0){if(!(a[d+52>>0]|0))if(!(c[b+8>>2]&1)){h=1;i=18;break b}else{i=k;h=1;break}if((c[d+24>>2]|0)==1){i=23;break b}if(!(c[b+8>>2]&2)){i=23;break b}else{i=1;h=1}}else i=k;while(0);k=i;j=j+8|0}do if((i|0)==18){if((!k?(c[d+20>>2]=e,c[d+40>>2]=(c[d+40>>2]|0)+1,(c[d+36>>2]|0)==1):0)?(c[d+24>>2]|0)==2:0){a[d+54>>0]=1;if(h){i=23;break}else{h=4;break}}if(h)i=23;else h=4}while(0);if((i|0)==23)h=3;c[d+44>>2]=h;break}if((f|0)==1)c[d+32>>2]=1}else Kr(d,e,f);while(0);return}function _e(a,b){a=a|0;b=b|0;var d=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,x=0,y=0.0,z=0.0,A=0.0,C=0.0,D=0.0;d=c[a+748>>2]|0;if((d|0)!=4){c[a+748>>2]=d+1;x=d;w=(x|0)>0;x=w?x:0;a=a+4+(x*184|0)|0;_h(a|0,b|0,184)|0;return x|0}y=+g[b+80>>2];v=+g[a+84>>2];u=v>2];s=t>2];w=+g[a+636>>2]<(r>31;y=+g[b>>2];if(d){e=+g[a+188>>2];f=+g[b+4>>2];h=+g[a+192>>2];m=+g[b+8>>2];l=+g[a+196>>2];p=+g[a+556>>2];q=+g[a+372>>2];r=+g[a+560>>2];o=+g[a+376>>2];s=+g[a+564>>2];k=+g[a+380>>2];i=((y-e)*(r-o)-(f-h)*(p-q))*((y-e)*(r-o)-(f-h)*(p-q))+(((f-h)*(s-k)-(m-l)*(r-o))*((f-h)*(s-k)-(m-l)*(r-o))+((m-l)*(p-q)-(y-e)*(s-k))*((m-l)*(p-q)-(y-e)*(s-k)));if((d|0)==1){v=+g[a+4>>2];j=+g[a+8>>2];n=+g[a+12>>2];t=e;u=h;e=s;h=0.0;x=7}else{t=e;u=h;x=6}}else{t=+g[a+188>>2];u=+g[a+192>>2];l=+g[a+196>>2];f=+g[b+4>>2];m=+g[b+8>>2];q=+g[a+372>>2];p=+g[a+556>>2];o=+g[a+376>>2];r=+g[a+560>>2];k=+g[a+380>>2];s=+g[a+564>>2];i=0.0;x=6}if((x|0)==6){e=+g[a+4>>2];j=+g[a+8>>2];C=f-j;n=+g[a+12>>2];z=m-n;v=p-q;A=r-o;h=s-k;h=((y-e)*A-C*v)*((y-e)*A-C*v)+((C*h-z*A)*(C*h-z*A)+(z*v-(y-e)*h)*(z*v-(y-e)*h));if((d|0)==2){s=e;r=t;p=u;e=0.0;x=8}else{v=e;e=s;x=7}}if((x|0)==7){C=y-v;D=f-j;z=m-n;A=p-t;s=r-u;e=e-l;e=(C*s-D*A)*(C*s-D*A)+((D*e-z*s)*(D*e-z*s)+(z*A-C*e)*(z*A-C*e));if(w)f=0.0;else{s=v;r=t;p=u;x=8}}if((x|0)==8){D=y-s;y=f-j;A=m-n;C=q-r;z=o-p;f=k-l;f=(D*z-y*C)*(D*z-y*C)+((y*f-A*z)*(y*f-A*z)+(A*C-D*f)*(A*C-D*f))}D=+B(+i);A=+B(+h);y=+B(+e);v=+B(+f);C=D>-999999984306749440.0?D:-999999984306749440.0;z=A>C?A:C;x=v>(y>z?y:z)?3:y>z?2:A>C?1:(D>-999999984306749440.0^1)<<31>>31;w=(x|0)>0;x=w?x:0;a=a+4+(x*184|0)|0;_h(a|0,b|0,184)|0;return x|0}function $e(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=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]=sb[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=sb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=sb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b+12>>2]=f;if(!f){d=a+244|0;d=c[d>>2]|0;f=b+212|0;c[f>>2]=d;f=a+248|0;f=c[f>>2]|0;d=b+216|0;c[d>>2]=f;d=a+252|0;d=c[d>>2]|0;f=b+220|0;c[f>>2]=d;a=a+256|0;a=c[a>>2]|0;f=b+248|0;c[f>>2]=a;return 13356}Gb[c[(c[d>>2]|0)+48>>2]&127](d,e);d=a+244|0;d=c[d>>2]|0;f=b+212|0;c[f>>2]=d;f=a+248|0;f=c[f>>2]|0;d=b+216|0;c[d>>2]=f;d=a+252|0;d=c[d>>2]|0;f=b+220|0;c[f>>2]=d;a=a+256|0;a=c[a>>2]|0;f=b+248|0;c[f>>2]=a;return 13356}function af(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,n=0.0,o=0,p=0,q=0.0;if(!(c[a>>2]|0)){c[a>>2]=d;c[d+32>>2]=0;return}e=c[b+40>>2]|0;if(e){i=+g[d>>2]+ +g[d+16>>2];k=+g[d+4>>2]+ +g[d+20>>2];j=+g[d+8>>2]+ +g[d+24>>2];do{p=c[b+36>>2]|0;n=+B(+(i-(+g[p>>2]+ +g[p+16>>2])))+ +B(+(k-(+g[p+4>>2]+ +g[p+20>>2])))+ +B(+(j-(+g[p+8>>2]+ +g[p+24>>2])));b=c[b+36+((!(n<+B(+(i-(+g[e>>2]+ +g[e+16>>2])))+ +B(+(k-(+g[e+4>>2]+ +g[e+20>>2])))+ +B(+(j-(+g[e+8>>2]+ +g[e+24>>2]))))&1)<<2)>>2]|0;e=c[b+40>>2]|0}while((e|0)!=0)}o=b+32|0;p=c[o>>2]|0;e=c[a+4>>2]|0;if(!e){c[6472]=(c[6472]|0)+1;e=ic(63)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=e;h=f+44|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0))}else c[a+4>>2]=0;c[e+32>>2]=p;c[e+36>>2]=0;f=e+40|0;c[f>>2]=0;q=+g[d>>2];n=+g[b>>2];n=q>2]=n;q=+g[d+16>>2];k=+g[b+16>>2];k=q>k?q:k;g[e+16>>2]=k;q=+g[d+4>>2];m=+g[b+4>>2];m=q>2]=m;q=+g[d+20>>2];j=+g[b+20>>2];j=q>j?q:j;g[e+20>>2]=j;q=+g[d+8>>2];l=+g[b+8>>2];l=q>2]=l;q=+g[d+24>>2];i=+g[b+24>>2];i=q>i?q:i;g[e+24>>2]=i;if(!p){c[e+36>>2]=b;c[o>>2]=e;c[f>>2]=d;c[d+32>>2]=e;c[a>>2]=e;return}c[p+36+(((c[(c[o>>2]|0)+40>>2]|0)==(b|0)&1)<<2)>>2]=e;c[e+36>>2]=b;c[o>>2]=e;c[f>>2]=d;c[d+32>>2]=e;b=p;while(1){e=b+4|0;if(((((+g[b>>2]<=n?+g[e>>2]<=m:0)?+g[b+8>>2]<=l:0)?+g[b+16>>2]>=k:0)?+g[b+20>>2]>=j:0)?+g[b+24>>2]>=i:0){e=21;break}d=c[b+36>>2]|0;a=c[b+40>>2]|0;q=+g[d>>2];n=+g[a>>2];n=q>2]=n;q=+g[d+16>>2];k=+g[a+16>>2];k=q>k?q:k;g[b+16>>2]=k;q=+g[d+4>>2];m=+g[a+4>>2];m=q>2]=m;q=+g[d+20>>2];j=+g[a+20>>2];j=q>j?q:j;g[b+20>>2]=j;q=+g[d+8>>2];l=+g[a+8>>2];l=q>2]=l;q=+g[d+24>>2];i=+g[a+24>>2];i=q>i?q:i;g[b+24>>2]=i;b=c[b+32>>2]|0;if(!b){e=21;break}}if((e|0)==21)return}function bf(a,b,f){a=a|0;b=b|0;f=f|0;var i=0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0;t=l;l=l+32|0;o=c[a+4>>2]|0;Wb[c[(c[o>>2]|0)+16>>2]&3](o,t+28|0,t+24|0,t+20|0,t+16|0,t+12|0,t+8|0,t+4|0,t,b);o=(c[t+12>>2]|0)+(O(c[t+8>>2]|0,f)|0)|0;r=c[a+4>>2]|0;n=c[t>>2]|0;switch(n|0){case 3:{i=e[o+4>>1]|0;break}case 2:{i=c[o+8>>2]|0;break}default:i=d[o+2>>0]|0}s=(c[t+20>>2]|0)==0;q=c[t+28>>2]|0;p=c[t+16>>2]|0;i=q+(O(p,i)|0)|0;if(s){k=+g[i+8>>2];m=+g[i>>2]*+g[r+4>>2];j=+g[i+4>>2]*+g[r+8>>2]}else{k=+h[i+16>>3];m=+h[i>>3]*+g[r+4>>2];j=+h[i+8>>3]*+g[r+8>>2]}k=k*+g[r+12>>2];g[a+44>>2]=m;g[a+48>>2]=j;g[a+52>>2]=k;g[a+56>>2]=0.0;switch(n|0){case 3:{i=e[o+2>>1]|0;break}case 2:{i=c[o+4>>2]|0;break}default:i=d[o+1>>0]|0}i=q+(O(p,i)|0)|0;if(s){k=+g[i+8>>2];m=+g[i>>2]*+g[r+4>>2];j=+g[i+4>>2]*+g[r+8>>2]}else{k=+h[i+16>>3];m=+h[i>>3]*+g[r+4>>2];j=+h[i+8>>3]*+g[r+8>>2]}k=k*+g[r+12>>2];g[a+28>>2]=m;g[a+32>>2]=j;g[a+36>>2]=k;g[a+40>>2]=0.0;switch(n|0){case 3:{i=e[o>>1]|0;break}case 2:{i=c[o>>2]|0;break}default:i=d[o>>0]|0}i=q+(O(p,i)|0)|0;if(s){u=+g[i+8>>2];j=+g[i>>2]*+g[r+4>>2];k=+g[i+4>>2]*+g[r+8>>2];m=+g[r+12>>2];m=u*m;r=a+12|0;g[r>>2]=j;r=a+16|0;g[r>>2]=k;r=a+20|0;g[r>>2]=m;r=a+24|0;g[r>>2]=0.0;r=a+8|0;r=c[r>>2]|0;q=c[r>>2]|0;q=q+8|0;q=c[q>>2]|0;s=a+12|0;Nb[q&127](r,s,b,f);a=c[a+4>>2]|0;f=c[a>>2]|0;f=f+24|0;f=c[f>>2]|0;Gb[f&127](a,b);l=t;return}else{j=+h[i+16>>3];k=+h[i>>3]*+g[r+4>>2];m=+h[i+8>>3]*+g[r+8>>2];u=+g[r+12>>2];u=j*u;r=a+12|0;g[r>>2]=k;r=a+16|0;g[r>>2]=m;r=a+20|0;g[r>>2]=u;r=a+24|0;g[r>>2]=0.0;r=a+8|0;r=c[r>>2]|0;q=c[r>>2]|0;q=q+8|0;q=c[q>>2]|0;s=a+12|0;Nb[q&127](r,s,b,f);a=c[a+4>>2]|0;f=c[a>>2]|0;f=f+24|0;f=c[f>>2]|0;Gb[f&127](a,b);l=t;return}}function cf(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.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0;q=c[b+9288>>2]|0;if(!q){c[b>>2]=5;b=0;return b|0}i=c[q+48>>2]|0;if(i|0)c[i+44>>2]=c[q+44>>2];i=c[q+44>>2]|0;if(i|0)c[i+48>>2]=c[q+48>>2];if((c[b+9288>>2]|0)==(q|0))c[b+9288>>2]=c[q+48>>2];c[b+9292>>2]=(c[b+9292>>2]|0)+-1;c[q+44>>2]=0;c[q+48>>2]=c[b+9280>>2];i=c[b+9280>>2]|0;if(i|0)c[i+44>>2]=q;c[b+9280>>2]=q;c[b+9284>>2]=(c[b+9284>>2]|0)+1;a[q+55>>0]=0;c[q+20>>2]=d;c[q+24>>2]=e;c[q+28>>2]=f;l=+g[d+16>>2];k=+g[e+16>>2]-l;p=+g[d+20>>2];o=+g[e+20>>2]-p;n=+g[d+24>>2];m=+g[e+24>>2]-n;l=+g[f+16>>2]-l;p=+g[f+20>>2]-p;n=+g[f+24>>2]-n;g[q>>2]=o*n-m*p;g[q+4>>2]=m*l-k*n;g[q+8>>2]=k*p-o*l;g[q+12>>2]=0.0;j=+C(+((o*n-m*p)*(o*n-m*p)+(m*l-k*n)*(m*l-k*n)+(k*p-o*l)*(k*p-o*l)));if(j>9.999999747378752e-05){if((!(Ok(o*n-m*p,m*l-k*n,k*p-o*l,+g[d+16>>2],+g[d+20>>2],+g[d+24>>2],+g[e+16>>2],+g[e+20>>2],+g[e+24>>2],q+16|0)|0)?!(Ok(+g[q>>2],+g[q+4>>2],+g[q+8>>2],+g[e+16>>2],+g[e+20>>2],+g[e+24>>2],+g[f+16>>2],+g[f+20>>2],+g[f+24>>2],q+16|0)|0):0)?!(Ok(+g[q>>2],+g[q+4>>2],+g[q+8>>2],+g[f+16>>2],+g[f+20>>2],+g[f+24>>2],+g[d+16>>2],+g[d+20>>2],+g[d+24>>2],q+16|0)|0):0)g[q+16>>2]=(+g[d+16>>2]*+g[q>>2]+ +g[d+20>>2]*+g[q+4>>2]+ +g[d+24>>2]*+g[q+8>>2])/j;g[q>>2]=1.0/j*+g[q>>2];g[q+4>>2]=1.0/j*+g[q+4>>2];g[q+8>>2]=1.0/j*+g[q+8>>2];if(h){b=q;return b|0}if(!(+g[q+16>>2]>=-9.999999747378752e-06))i=3;else{b=q;return b|0}}else i=2;c[b>>2]=i;i=c[q+48>>2]|0;if(i|0)c[i+44>>2]=c[q+44>>2];i=c[q+44>>2]|0;if(i|0)c[i+48>>2]=c[q+48>>2];if((c[b+9280>>2]|0)==(q|0))c[b+9280>>2]=c[q+48>>2];c[b+9284>>2]=(c[b+9284>>2]|0)+-1;c[q+44>>2]=0;c[q+48>>2]=c[b+9288>>2];i=c[b+9288>>2]|0;if(i|0)c[i+44>>2]=q;c[b+9288>>2]=q;c[b+9292>>2]=(c[b+9292>>2]|0)+1;b=0;return b|0}function df(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;f=c[d+8>>2]|0;if((f|0)>0){h=c[d+16>>2]|0;j=0;e=0;do{i=c[h+(j<<2)>>2]|0;if(!(c[i+204>>2]&3)){c[i+208>>2]=e;e=e+1|0}c[i+212>>2]=-1;g[i+244>>2]=1.0;j=j+1|0}while((j|0)!=(f|0));j=e}else j=0;i=c[b+8>>2]|0;if((i|0)<(j|0)){if((c[b+12>>2]|0)<(j|0)){if(!j){f=i;h=0}else{c[6472]=(c[6472]|0)+1;e=ic((j<<3|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[b+8>>2]|0;h=e}if((f|0)>0){e=0;do{m=(c[b+16>>2]|0)+(e<<3)|0;k=c[m+4>>2]|0;l=h+(e<<3)|0;c[l>>2]=c[m>>2];c[l+4>>2]=k;e=e+1|0}while((e|0)!=(f|0))}e=c[b+16>>2]|0;if(e|0){if(a[b+20>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[e+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=h;c[b+12>>2]=j;f=b+16|0}else f=b+16|0;e=i;do{m=(c[f>>2]|0)+(e<<3)|0;c[m>>2]=0;c[m+4>>2]=0;e=e+1|0}while((e|0)!=(j|0))}c[b+8>>2]=j;if((j|0)>0){e=c[b+16>>2]|0;f=0;do{c[e+(f<<3)>>2]=f;c[e+(f<<3)+4>>2]=1;f=f+1|0}while((f|0)!=(j|0))}e=c[d+68>>2]|0;e=qb[c[(c[e>>2]|0)+36>>2]&127](e)|0;l=qb[c[(c[e>>2]|0)+36>>2]&127](e)|0;if(!l)return;d=qb[c[(c[e>>2]|0)+20>>2]&127](e)|0;if((l|0)<=0)return;k=0;do{e=c[c[d+(k<<4)>>2]>>2]|0;f=c[c[d+(k<<4)+4>>2]>>2]|0;if((e|0?(f|0?(c[e+204>>2]&7|0)==0:0):0)?(c[f+204>>2]&7|0)==0:0){h=c[e+208>>2]|0;e=c[f+208>>2]|0;j=c[b+16>>2]|0;f=c[j+(h<<3)>>2]|0;if((f|0)!=(h|0)){i=j+(h<<3)|0;do{h=j+(f<<3)|0;c[i>>2]=c[h>>2];h=c[h>>2]|0;i=j+(h<<3)|0;f=c[i>>2]|0}while((h|0)!=(f|0))}f=c[j+(e<<3)>>2]|0;if((f|0)!=(e|0)){i=j+(e<<3)|0;do{e=j+(f<<3)|0;c[i>>2]=c[e>>2];e=c[e>>2]|0;i=j+(e<<3)|0;f=c[i>>2]|0}while((e|0)!=(f|0))}if((h|0)!=(e|0)){c[j+(h<<3)>>2]=e;m=j+(e<<3)+4|0;c[m>>2]=(c[m>>2]|0)+(c[j+(h<<3)+4>>2]|0)}}k=k+1|0}while((k|0)!=(l|0));return}function ef(b,d){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,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0;r=l;l=l+64|0;Eg(c[b+116>>2]|0,d,0);e=+g[d+204>>2]+ +g[d+212>>2];p=e*+g[d+56>>2]+ +g[d+40>>2];q=e*+g[d+60>>2]+ +g[d+44>>2];g[d+16>>2]=+g[d+52>>2]*e+ +g[d+36>>2];g[d+20>>2]=p;g[d+24>>2]=q;g[d+28>>2]=0.0;g[r+32>>2]=-1.0;s=c[b+100>>2]|0;s=vb[c[(c[s>>2]|0)+8>>2]&31](s,d+36|0,d+16|0,r)|0;c[d+88>>2]=0;if(!s){c[d+32>>2]=c[d+204>>2];g[d+272>>2]=0.0;q=-+g[d+56>>2];p=-+g[d+60>>2];g[d>>2]=-+g[d+52>>2];g[d+4>>2]=q;g[d+8>>2]=p;g[d+12>>2]=0.0;p=1.0;q=-1.0;s=d+268|0;g[s>>2]=p;l=r;return +q}q=e*+g[r+32>>2];c[d>>2]=c[r+16>>2];c[d+4>>2]=c[r+16+4>>2];c[d+8>>2]=c[r+16+8>>2];c[d+12>>2]=c[r+16+12>>2];a[d+84>>0]=1;if((a[22760]|0)==0?Yy(22760)|0:0){c[r+40>>2]=0;c[r+40+4>>2]=0;c[r+40+8>>2]=0;c[r+40+12>>2]=0;dg(24036,0.0,0,0,r+40|0)}c[6060]=c[6060]|1;g[6095]=0.0;e=+g[6105]*0.0;f=+g[6106]*0.0;g[6100]=+g[6104]*0.0;g[6101]=e;g[6102]=f;g[6103]=0.0;c[6108]=0;c[6109]=0;c[6110]=0;c[6111]=0;f=+g[6097]*0.0;e=+g[6098]*0.0;g[6149]=+g[6096]*0.0;g[6150]=f;g[6151]=e;g[6152]=0.0;c[d+88>>2]=24036;e=q-+g[d+212>>2];g[d+32>>2]=e;f=+g[d+204>>2];h=+g[d+208>>2]*.009999999776482582;if(e>2]=f-h;e=f-h}if(e>f+h)g[d+32>>2]=f+h;c[d+16>>2]=c[r>>2];c[d+16+4>>2]=c[r+4>>2];c[d+16+8>>2]=c[r+8>>2];c[d+16+12>>2]=c[r+12>>2];m=+g[d>>2];n=+g[d+4>>2];o=+g[d+8>>2];p=m*+g[d+52>>2]+n*+g[d+56>>2]+o*+g[d+60>>2];b=c[b+116>>2]|0;i=+g[d+16>>2]-+g[b+52>>2];k=+g[d+20>>2]-+g[b+56>>2];j=+g[d+24>>2]-+g[b+60>>2];e=+g[b+332>>2];f=+g[b+336>>2];h=+g[b+328>>2];if(!(p>=-.10000000149011612)){g[d+272>>2]=-1.0/p*(m*(e*j-k*f+ +g[b+312>>2])+n*(i*f-j*h+ +g[b+316>>2])+o*(k*h-i*e+ +g[b+320>>2]));p=-1.0/p;s=d+268|0;g[s>>2]=p;l=r;return +q}else{g[d+272>>2]=0.0;p=10.0;s=d+268|0;g[s>>2]=p;l=r;return +q}return 0.0}function ff(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;c[6202]=(c[6202]|0)+1;g=c[d+24>>2]|0;if(!g){g=c[e+4>>2]|0;if(!((b[f+6>>1]&(g&65535))<<16>>16)){d=0;return d|0}if(!((b[f+4>>1]&(g>>>16&65535))<<16>>16)){d=0;return d|0}}else if(!(ub[c[(c[g>>2]|0)+8>>2]&63](g,e,f)|0)){d=0;return d|0}l=(c[e+12>>2]|0)>(c[f+12>>2]|0);m=l?f:e;h=c[m+12>>2]|0;l=l?e:f;e=c[l+12>>2]|0;k=((e<<16|h)+~((e<<16|h)<<15)>>10^(e<<16|h)+~((e<<16|h)<<15))*9|0;k=(k>>6^k)+~((k>>6^k)<<11)>>16^(k>>6^k)+~((k>>6^k)<<11);j=c[d+12>>2]|0;g=c[(c[d+44>>2]|0)+((k&j+-1)<<2)>>2]|0;a:do if((g|0)!=-1){f=c[d+16>>2]|0;while(1){if((c[(c[f+(g<<4)>>2]|0)+12>>2]|0)==(h|0)?(c[(c[f+(g<<4)+4>>2]|0)+12>>2]|0)==(e|0):0)break;g=c[(c[d+64>>2]|0)+(g<<2)>>2]|0;if((g|0)==-1)break a}g=f+(g<<4)|0;if(g|0){d=g;return d|0}}while(0);i=c[d+8>>2]|0;if((i|0)==(j|0)){g=j|0?j<<1:1;if((j|0)<(g|0)){if(!g){e=j;f=0}else{c[6472]=(c[6472]|0)+1;e=ic((g<<4|3)+16|0)|0;if(!e)f=0;else{c[(e+4+15&-16)+-4>>2]=e;f=e+4+15&-16}e=c[d+8>>2]|0}if((e|0)>0){h=0;do{n=c[d+16>>2]|0;c[f+(h<<4)>>2]=c[n+(h<<4)>>2];c[f+(h<<4)+4>>2]=c[n+(h<<4)+4>>2];c[f+(h<<4)+8>>2]=c[n+(h<<4)+8>>2];c[f+(h<<4)+12>>2]=c[n+(h<<4)+12>>2];h=h+1|0}while((h|0)!=(e|0))}h=c[d+16>>2]|0;if(h){if(a[d+20>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[h+-4>>2]|0);e=c[d+8>>2]|0}c[d+16>>2]=0}a[d+20>>0]=1;c[d+16>>2]=f;c[d+12>>2]=g}else{e=j;g=j}}else{e=i;g=j}c[d+8>>2]=e+1;f=c[d+16>>2]|0;e=c[d+72>>2]|0;if(e){ub[c[(c[e>>2]|0)+8>>2]&63](e,m,l)|0;g=c[d+12>>2]|0}if((j|0)<(g|0)){wf(d);g=(c[d+12>>2]|0)+-1&k}else g=k&j+-1;n=(c[m+12>>2]|0)<(c[l+12>>2]|0);c[f+(i<<4)>>2]=n?m:l;c[f+(i<<4)+4>>2]=n?l:m;c[f+(i<<4)+8>>2]=0;c[f+(i<<4)+8+4>>2]=0;n=(c[d+44>>2]|0)+(g<<2)|0;c[(c[d+64>>2]|0)+(i<<2)>>2]=c[n>>2];c[n>>2]=i;n=f+(i<<4)|0;return n|0}function gf(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.0,B=0.0;u=+g[b>>2];t=+g[b+4>>2];s=+g[b+8>>2];r=1.0/+C(+(u*u+t*t+s*s));y=+g[d>>2];x=+g[d+4>>2];w=+g[d+8>>2];v=1.0/+C(+(y*y+x*x+w*w));B=s*r*x*v-t*r*w*v;A=u*r*w*v-s*r*y*v;z=t*r*y*v-u*r*x*v;d=c[a+28>>2]|0;e=+g[d+4>>2];h=+g[d+20>>2];j=+g[d+36>>2];f=+g[d+8>>2];i=+g[d+24>>2];k=+g[d+40>>2];l=+g[d+12>>2];n=+g[d+28>>2];p=+g[d+44>>2];m=-+g[d+52>>2];o=-+g[d+56>>2];q=-+g[d+60>>2];g[a+48>>2]=z*j+(e*B+h*A);g[a+52>>2]=e*y*v+x*v*h+w*v*j;g[a+56>>2]=u*r*e+t*r*h+s*r*j;g[a+60>>2]=0.0;g[a+64>>2]=B*f+A*i+z*k;g[a+68>>2]=y*v*f+x*v*i+w*v*k;g[a+72>>2]=u*r*f+t*r*i+s*r*k;g[a+76>>2]=0.0;g[a+80>>2]=B*l+A*n+z*p;g[a+84>>2]=y*v*l+x*v*n+w*v*p;g[a+88>>2]=u*r*l+t*r*n+s*r*p;g[a+92>>2]=0.0;g[a+96>>2]=e*0.0+h*0.0+j*0.0+(e*m+h*o+j*q);g[a+100>>2]=f*0.0+i*0.0+k*0.0+(f*m+i*o+k*q);g[a+104>>2]=l*0.0+n*0.0+p*0.0+(l*m+n*o+p*q);g[a+108>>2]=0.0;d=c[a+32>>2]|0;q=+g[d+4>>2];p=+g[d+20>>2];o=+g[d+36>>2];n=+g[d+8>>2];m=+g[d+24>>2];l=+g[d+40>>2];k=+g[d+12>>2];i=+g[d+28>>2];f=+g[d+44>>2];j=-+g[d+52>>2];h=-+g[d+56>>2];e=-+g[d+60>>2];g[a+112>>2]=B*q+A*p+z*o;g[a+116>>2]=y*v*q+x*v*p+w*v*o;g[a+120>>2]=u*r*q+t*r*p+s*r*o;g[a+124>>2]=0.0;g[a+128>>2]=B*n+A*m+z*l;g[a+132>>2]=y*v*n+x*v*m+w*v*l;g[a+136>>2]=u*r*n+t*r*m+s*r*l;g[a+140>>2]=0.0;g[a+144>>2]=B*k+A*i+z*f;g[a+148>>2]=y*v*k+x*v*i+w*v*f;g[a+152>>2]=u*r*k+t*r*i+s*r*f;g[a+156>>2]=0.0;g[a+160>>2]=q*0.0+p*0.0+o*0.0+(q*j+p*h+o*e);g[a+164>>2]=n*0.0+m*0.0+l*0.0+(n*j+m*h+l*e);g[a+168>>2]=k*0.0+i*0.0+f*0.0+(k*j+i*h+f*e);g[a+172>>2]=0.0;bd(a,(c[a+28>>2]|0)+4|0,(c[a+32>>2]|0)+4|0);return}function hf(a,d,f){a=a|0;d=d|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;g=c[a+108>>2]|0;if(g|0)Kb[c[(c[g>>2]|0)+12>>2]&127](g,c[d+60>>2]|0,f);o=c[d+12>>2]|0;p=c[a+60>>2]|0;n=c[a+92>>2]|0;if(!(qb[c[(c[n>>2]|0)+56>>2]&127](n)|0)){n=c[a+92>>2]|0;Kb[c[(c[n>>2]|0)+16>>2]&127](n,p+((o&65535)<<6)|0,f)}n=e[a+56>>1]|0;g=c[a+60>>2]|0;b[g+54>>1]=(e[g+54>>1]|0)+65534;b[g+56>>1]=(e[g+56>>1]|0)+65534;b[g+58>>1]=(e[g+58>>1]|0)+65534;g=b[a+6>>1]|0;m=0;do{k=a+68+(m<<2)|0;l=c[k>>2]|0;f=e[p+((o&65535)<<6)+54+(m<<1)>>1]|0;b[l+(f<<2)>>1]=g;d=b[l+(f<<2)+6>>1]|0;if(!(d<<16>>16))d=l;else{j=(c[a+60>>2]|0)+((e[l+(f<<2)+2>>1]|0)<<6)+54+(m<<1)|0;h=l+(f<<2)|0;while(1){i=h;h=h+4|0;f=b[h>>1]|0;if((g&65535)<(f&65535))break;q=c[a+60>>2]|0;g=d&65535;g=(f&1)==0?q+(g<<6)+48+(m<<1)|0:q+(g<<6)+54+(m<<1)|0;b[g>>1]=(b[g>>1]|0)+-1<<16>>16;b[j>>1]=(b[j>>1]|0)+1<<16>>16;g=e[i>>1]|e[i+2>>1]<<16;f=e[h>>1]|e[h+2>>1]<<16;b[i>>1]=f;b[i+2>>1]=f>>>16;b[h>>1]=g;b[h+2>>1]=g>>>16;d=b[i+10>>1]|0;if(!(d<<16>>16))break;else g=g&65535}g=b[a+6>>1]|0;d=c[k>>2]|0}f=e[p+((o&65535)<<6)+48+(m<<1)>>1]|0;b[l+(f<<2)>>1]=g;j=d+(f<<2)|0;h=b[j+6>>1]|0;if(h<<16>>16){k=(c[a+60>>2]|0)+((e[d+(f<<2)+2>>1]|0)<<6)+48+(m<<1)|0;i=b[j>>1]|0;d=j;while(1){f=d;d=d+4|0;g=b[d>>1]|0;if((i&65535)<(g&65535))break;j=c[a+60>>2]|0;q=h&65535;g=(g&1)==0?j+(q<<6)+48+(m<<1)|0:j+(q<<6)+54+(m<<1)|0;b[g>>1]=(b[g>>1]|0)+-1<<16>>16;b[k>>1]=(b[k>>1]|0)+1<<16>>16;g=e[f>>1]|e[f+2>>1]<<16;q=e[d>>1]|e[d+2>>1]<<16;b[f>>1]=q;b[f+2>>1]=q>>>16;b[d>>1]=g;b[d+2>>1]=g>>>16;h=b[f+10>>1]|0;if(!(h<<16>>16))break;else i=g&65535}g=b[a+6>>1]|0}b[l+((n<<1)+-1<<2)+2>>1]=0;b[l+((n<<1)+-1<<2)>>1]=g;m=m+1|0}while((m|0)!=3);b[(c[a+60>>2]|0)+((o&65535)<<6)+48>>1]=b[a+64>>1]|0;b[a+64>>1]=o;b[a+56>>1]=(b[a+56>>1]|0)+-1<<16>>16;return}function jf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0.0,s=0,t=0.0,u=0.0,v=0.0,w=0,x=0;w=l;l=l+32|0;q=c[a+12>>2]|0;r=+g[q+(((e+d|0)/2|0)*24|0)>>2];t=+g[q+(((e+d|0)/2|0)*24|0)+4>>2];u=+g[q+(((e+d|0)/2|0)*24|0)+8>>2];v=+g[q+(((e+d|0)/2|0)*24|0)+16>>2];s=c[q+(((e+d|0)/2|0)*24|0)+20>>2]|0;f=d;h=e;while(1){m=+g[b>>2];n=+g[b+4>>2];o=+g[b+8>>2];p=(r-m)*(r-m)+(t-n)*(t-n)+(u-o)*(u-o);a:while(1){i=+g[q+(f*24|0)+16>>2];do if(i!=v){if(!(i>2]-m;k=+g[q+(f*24|0)+4>>2]-n;j=+g[q+(f*24|0)+8>>2]-o;if(i*i+k*k+j*j!=p)if(i*i+k*k+j*j>2]|0)<(s|0))break;else break a}while(0);f=f+1|0}b:while(1){i=+g[q+(h*24|0)+16>>2];do if(v!=i){if(!(v>2]-m;k=+g[q+(h*24|0)+4>>2]-n;j=+g[q+(h*24|0)+8>>2]-o;if(p!=i*i+k*k+j*j)if(p>2]|0))break;else break b}while(0);h=h+-1|0}if((f|0)<=(h|0)){x=q+(f*24|0)|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[w+16>>2]=c[x+16>>2];c[w+20>>2]=c[x+20>>2];q=q+(h*24|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];c[x+16>>2]=c[q+16>>2];c[x+20>>2]=c[q+20>>2];q=(c[a+12>>2]|0)+(h*24|0)|0;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];c[q+16>>2]=c[w+16>>2];c[q+20>>2]=c[w+20>>2];f=f+1|0;h=h+-1|0}if((f|0)>(h|0))break;q=c[a+12>>2]|0}if((h|0)>(d|0))jf(a,b,d,h);if((f|0)>=(e|0)){l=w;return}jf(a,b,f,e);l=w;return}function kf(a,b){a=a|0;b=b|0;var d=0.0,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,q=0.0;j=c[a+28>>2]|0;k=c[a+32>>2]|0;e=c[b+8>>2]|0;g[e>>2]=1.0;h=c[b+24>>2]|0;g[e+(h+1<<2)>>2]=1.0;g[e+((h<<1)+2<<2)>>2]=1.0;l=+g[a+300>>2];q=+g[a+304>>2];f=+g[a+308>>2];o=+g[j+4>>2]*l+ +g[j+8>>2]*q+ +g[j+12>>2]*f;m=l*+g[j+20>>2]+q*+g[j+24>>2]+f*+g[j+28>>2];f=l*+g[j+36>>2]+q*+g[j+40>>2]+f*+g[j+44>>2];e=c[b+12>>2]|0;c[e>>2]=0;g[e+4>>2]=f;g[e+8>>2]=-m;g[e+12>>2]=0.0;g[e+(h<<2)>>2]=-f;c[e+(h<<2)+4>>2]=0;g[e+(h<<2)+8>>2]=o;g[e+(h<<2)+12>>2]=0.0;g[e+(h<<1<<2)>>2]=m;g[e+(h<<1<<2)+4>>2]=-o;c[e+(h<<1<<2)+8>>2]=0;g[e+(h<<1<<2)+12>>2]=0.0;e=c[b+16>>2]|0;g[e>>2]=-1.0;g[e+(h+1<<2)>>2]=-1.0;g[e+((h<<1)+2<<2)>>2]=-1.0;q=+g[a+316>>2];l=+g[a+320>>2];d=+g[a+324>>2];p=+g[k+4>>2]*q+ +g[k+8>>2]*l+ +g[k+12>>2]*d;n=q*+g[k+20>>2]+l*+g[k+24>>2]+d*+g[k+28>>2];d=q*+g[k+36>>2]+l*+g[k+40>>2]+d*+g[k+44>>2];h=c[b+20>>2]|0;e=c[b+24>>2]|0;c[h>>2]=0;g[h+4>>2]=-d;g[h+8>>2]=n;g[h+12>>2]=0.0;g[h+(e<<2)>>2]=d;c[h+(e<<2)+4>>2]=0;g[h+(e<<2)+8>>2]=-p;g[h+(e<<2)+12>>2]=0.0;g[h+(e<<1<<2)>>2]=-n;g[h+(e<<1<<2)+4>>2]=p;c[h+(e<<1<<2)+8>>2]=0;g[h+(e<<1<<2)+12>>2]=0.0;h=c[a+332>>2]|0;l=+g[((h&1|0)==0?b+4|0:a+336|0)>>2]*+g[b>>2];i=c[b+28>>2]|0;g[i>>2]=l*(p+ +g[k+52>>2]-o-+g[j+52>>2]);g[i+(e<<2)>>2]=l*(n+ +g[k+56>>2]-m-+g[j+56>>2]);g[i+(e<<1<<2)>>2]=l*(d+ +g[k+60>>2]-f-+g[j+60>>2]);if(h&2|0){k=c[b+32>>2]|0;c[k>>2]=c[a+340>>2];c[k+(e<<2)>>2]=c[a+340>>2];c[k+(e<<1<<2)>>2]=c[a+340>>2]}f=+g[a+356>>2];if(f>0.0){g[c[b+36>>2]>>2]=-f;g[c[b+40>>2]>>2]=f;d=+g[a+356>>2]}else d=f;if(d>0.0){g[(c[b+36>>2]|0)+(e<<2)>>2]=-f;g[(c[b+40>>2]|0)+(e<<2)>>2]=f;d=+g[a+356>>2]}if(!(d>0.0)){j=a+352|0;j=c[j>>2]|0;k=b+52|0;c[k>>2]=j;return}g[(c[b+36>>2]|0)+(e<<1<<2)>>2]=-f;g[(c[b+40>>2]|0)+(e<<1<<2)>>2]=f;j=a+352|0;j=c[j>>2]|0;k=b+52|0;c[k>>2]=j;return}function lf(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;c[6201]=(c[6201]|0)+1;j=(c[b+12>>2]|0)>(c[d+12>>2]|0);l=j?d:b;h=c[l+12>>2]|0;j=j?b:d;f=c[j+12>>2]|0;i=((f<<16|h)+~((f<<16|h)<<15)>>10^(f<<16|h)+~((f<<16|h)<<15))*9|0;i=((i>>6^i)+~((i>>6^i)<<11)>>16^(i>>6^i)+~((i>>6^i)<<11))&(c[a+12>>2]|0)+-1;b=c[(c[a+44>>2]|0)+(i<<2)>>2]|0;if((b|0)==-1){o=0;return o|0}g=c[a+16>>2]|0;d=b;while(1){if((c[(c[g+(d<<4)>>2]|0)+12>>2]|0)==(h|0)?(c[(c[g+(d<<4)+4>>2]|0)+12>>2]|0)==(f|0):0)break;b=c[(c[a+64>>2]|0)+(d<<2)>>2]|0;if((b|0)==-1){b=0;o=24;break}else d=b}if((o|0)==24)return b|0;b=g+(d<<4)|0;if(!b){o=0;return o|0}Kb[c[(c[a>>2]|0)+32>>2]&127](a,b,e);n=c[g+(d<<4)+12>>2]|0;m=b-(c[a+16>>2]|0)>>4;h=(c[a+44>>2]|0)+(i<<2)|0;b=c[h>>2]|0;d=c[a+64>>2]|0;if((b|0)!=(m|0)){g=b;while(1){f=d+(g<<2)|0;b=c[f>>2]|0;if((b|0)==(m|0))break;else g=b}b=c[d+(m<<2)>>2]|0;if((g|0)==-1)o=12;else c[f>>2]=b}else{b=c[d+(m<<2)>>2]|0;o=12}if((o|0)==12)c[h>>2]=b;k=(c[a+8>>2]|0)+-1|0;b=c[a+72>>2]|0;if(b|0)vb[c[(c[b>>2]|0)+12>>2]&31](b,l,j,e)|0;if((k|0)==(m|0)){c[a+8>>2]=(c[a+8>>2]|0)+-1;o=n;return o|0}h=c[a+16>>2]|0;i=c[(c[h+(k<<4)+4>>2]|0)+12>>2]<<16|c[(c[h+(k<<4)>>2]|0)+12>>2];i=(i+~(i<<15)>>10^i+~(i<<15))*9|0;i=((i>>6^i)+~((i>>6^i)<<11)>>16^(i>>6^i)+~((i>>6^i)<<11))&(c[a+12>>2]|0)+-1;j=(c[a+44>>2]|0)+(i<<2)|0;b=c[j>>2]|0;d=c[a+64>>2]|0;if((b|0)!=(k|0)){g=b;while(1){f=d+(g<<2)|0;b=c[f>>2]|0;if((b|0)==(k|0))break;else g=b}b=c[d+(k<<2)>>2]|0;if((g|0)==-1)o=22;else c[f>>2]=b}else{b=c[d+(k<<2)>>2]|0;o=22}if((o|0)==22)c[j>>2]=b;c[h+(m<<4)>>2]=c[h+(k<<4)>>2];c[h+(m<<4)+4>>2]=c[h+(k<<4)+4>>2];c[h+(m<<4)+8>>2]=c[h+(k<<4)+8>>2];c[h+(m<<4)+12>>2]=c[h+(k<<4)+12>>2];o=(c[a+44>>2]|0)+(i<<2)|0;c[(c[a+64>>2]|0)+(m<<2)>>2]=c[o>>2];c[o>>2]=m;c[a+8>>2]=(c[a+8>>2]|0)+-1;o=n;return o|0}function mf(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0,u=0.0,v=0.0,w=0.0,x=0,y=0.0,z=0.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,N=0.0,O=0.0,P=0.0;j=(a[b+28>>0]|0)!=0;C=j?e:d;j=j?d:e;d=c[b+12>>2]|0;if((d|0)<=0){B=1.0;return +B}l=(c[C+192>>2]|0)+24|0;m=+g[C+4>>2];y=+g[C+8>>2];z=+g[C+12>>2];A=c[C+16>>2]|0;B=+g[C+20>>2];n=+g[C+24>>2];o=+g[C+28>>2];p=c[C+32>>2]|0;q=+g[C+36>>2];r=+g[C+40>>2];s=+g[C+44>>2];t=c[C+48>>2]|0;u=+g[C+52>>2];v=+g[C+56>>2];w=+g[C+60>>2];x=c[C+64>>2]|0;e=c[C+260>>2]|0;i=1.0;k=0;do{E=c[l>>2]|0;P=+g[E+(k*80|0)>>2];O=+g[E+(k*80|0)+16>>2];N=+g[E+(k*80|0)+32>>2];M=+g[E+(k*80|0)+4>>2];L=+g[E+(k*80|0)+20>>2];K=+g[E+(k*80|0)+36>>2];J=+g[E+(k*80|0)+8>>2];I=+g[E+(k*80|0)+24>>2];H=+g[E+(k*80|0)+40>>2];G=+g[E+(k*80|0)+48>>2];F=+g[E+(k*80|0)+52>>2];D=+g[E+(k*80|0)+56>>2];c[C+260>>2]=e+1;g[C+4>>2]=m*P+y*O+z*N;g[C+8>>2]=m*M+y*L+z*K;g[C+12>>2]=m*J+y*I+z*H;g[C+16>>2]=0.0;g[C+20>>2]=B*P+n*O+o*N;g[C+24>>2]=B*M+n*L+o*K;g[C+28>>2]=B*J+n*I+o*H;g[C+32>>2]=0.0;g[C+36>>2]=q*P+r*O+s*N;g[C+40>>2]=q*M+r*L+s*K;g[C+44>>2]=q*J+r*I+s*H;g[C+48>>2]=0.0;g[C+52>>2]=u+(m*G+y*F+z*D);g[C+56>>2]=v+(B*G+n*F+o*D);g[C+60>>2]=w+(q*G+r*F+s*D);g[C+64>>2]=0.0;E=c[(c[b+20>>2]|0)+(k<<2)>>2]|0;D=+mb[c[(c[E>>2]|0)+12>>2]&15](E,C,j,f,h);i=D>2]|0)+1|0;c[C+260>>2]=e;g[C+4>>2]=m;g[C+8>>2]=y;g[C+12>>2]=z;c[C+16>>2]=A;g[C+20>>2]=B;g[C+24>>2]=n;g[C+28>>2]=o;c[C+32>>2]=p;g[C+36>>2]=q;g[C+40>>2]=r;g[C+44>>2]=s;c[C+48>>2]=t;g[C+52>>2]=u;g[C+56>>2]=v;g[C+60>>2]=w;c[C+64>>2]=x;k=k+1|0}while((k|0)!=(d|0));return +i}function nf(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0;i=Ds()|0;c[i+4>>2]=7;c[i+8>>2]=-1;c[i+12>>2]=-1;g[i+16>>2]=3402823466385288598117041.0e14;a[i+20>>0]=1;a[i+21>>0]=0;c[i+24>>2]=-1;c[i+28>>2]=b;c[i+32>>2]=d;g[i+36>>2]=0.0;g[i+40>>2]=.30000001192092896;c[i+44>>2]=0;c[i>>2]=4792;a[i+48>>0]=0;c[i+52>>2]=c[e>>2];c[i+52+4>>2]=c[e+4>>2];c[i+52+8>>2]=c[e+8>>2];c[i+52+12>>2]=c[e+12>>2];c[i+68>>2]=c[e+16>>2];c[i+68+4>>2]=c[e+16+4>>2];c[i+68+8>>2]=c[e+16+8>>2];c[i+68+12>>2]=c[e+16+12>>2];c[i+84>>2]=c[e+32>>2];c[i+84+4>>2]=c[e+32+4>>2];c[i+84+8>>2]=c[e+32+8>>2];c[i+84+12>>2]=c[e+32+12>>2];c[i+100>>2]=c[e+48>>2];c[i+100+4>>2]=c[e+48+4>>2];c[i+100+8>>2]=c[e+48+8>>2];c[i+100+12>>2]=c[e+48+12>>2];c[i+116>>2]=c[f>>2];c[i+116+4>>2]=c[f+4>>2];c[i+116+8>>2]=c[f+8>>2];c[i+116+12>>2]=c[f+12>>2];c[i+132>>2]=c[f+16>>2];c[i+132+4>>2]=c[f+16+4>>2];c[i+132+8>>2]=c[f+16+8>>2];c[i+132+12>>2]=c[f+16+12>>2];c[i+148>>2]=c[f+32>>2];c[i+148+4>>2]=c[f+32+4>>2];c[i+148+8>>2]=c[f+32+8>>2];c[i+148+12>>2]=c[f+32+12>>2];c[i+164>>2]=c[f+48>>2];c[i+164+4>>2]=c[f+48+4>>2];c[i+164+8>>2]=c[f+48+8>>2];c[i+164+12>>2]=c[f+48+12>>2];a[i+180>>0]=h&1;g[i+184>>2]=1.0;g[i+188>>2]=-1.0;g[i+192>>2]=0.0;g[i+196>>2]=0.0;g[i+200>>2]=1.0;g[i+204>>2]=.699999988079071;g[i+208>>2]=0.0;g[i+212>>2]=0.0;g[i+216>>2]=1.0;g[i+220>>2]=.699999988079071;g[i+224>>2]=0.0;g[i+228>>2]=0.0;g[i+264>>2]=1.0;g[i+268>>2]=.699999988079071;g[i+272>>2]=1.0;g[i+276>>2]=0.0;g[i+280>>2]=1.0;g[i+284>>2]=.699999988079071;g[i+288>>2]=1.0;g[i+292>>2]=0.0;g[i+232>>2]=1.0;g[i+236>>2]=.699999988079071;g[i+240>>2]=1.0;g[i+244>>2]=0.0;g[i+248>>2]=1.0;g[i+252>>2]=.699999988079071;g[i+256>>2]=1.0;g[i+260>>2]=0.0;a[i+1096>>0]=0;g[i+1116>>2]=0.0;g[i+1120>>2]=0.0;g[i+1124>>2]=0.0;c[i+300>>2]=0;c[i+1100>>2]=0;c[i+1100+4>>2]=0;c[i+1100+8>>2]=0;a[i+1100+12>>0]=0;a[i+49>>0]=1;Tc(i,(c[i+28>>2]|0)+4|0,(c[i+32>>2]|0)+4|0);return i|0}function of(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;a[q+16>>0]=1;c[q+12>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;e=c[b+8>>2]|0;if((e|0)>0){g=0;h=0;f=0;i=0;o=0;do{m=c[b+16>>2]|0;n=m+(o<<4)|0;if((g|0)==(f|0)){k=f|0?f<<1:1;if((f|0)<(k|0)){if(k){c[6472]=(c[6472]|0)+1;e=ic((k<<4|3)+16|0)|0;if(!e){f=g;h=0}else{c[(e+4+15&-16)+-4>>2]=e;f=g;h=e+4+15&-16}}else h=0;if((f|0)>0){e=0;do{j=c[q+12>>2]|0;c[h+(e<<4)>>2]=c[j+(e<<4)>>2];c[h+(e<<4)+4>>2]=c[j+(e<<4)+4>>2];c[h+(e<<4)+8>>2]=c[j+(e<<4)+8>>2];c[h+(e<<4)+12>>2]=c[j+(e<<4)+12>>2];e=e+1|0}while((e|0)!=(f|0))}e=c[q+12>>2]|0;if(!e)g=f;else{c[6473]=(c[6473]|0)+1;nd(c[e+-4>>2]|0);c[q+12>>2]=0}c[q+12>>2]=h;j=g;e=c[b+8>>2]|0;f=k;i=k}else j=f}else j=g;c[h+(j<<4)>>2]=c[n>>2];c[h+(j<<4)+4>>2]=c[m+(o<<4)+4>>2];c[h+(j<<4)+8>>2]=c[m+(o<<4)+8>>2];c[h+(j<<4)+12>>2]=c[m+(o<<4)+12>>2];g=j+1|0;o=o+1|0}while((o|0)<(e|0));c[q+4>>2]=g;a[q+16>>0]=1;c[q+8>>2]=i;if((j|0)>-1){e=c[q+12>>2]|0;f=0;while(1){vb[c[(c[b>>2]|0)+12>>2]&31](b,c[e+(f<<4)>>2]|0,c[e+(f<<4)+4>>2]|0,d)|0;if((f|0)<(j|0))f=f+1|0;else break}}}else g=0;if((c[b+56>>2]|0)>0){e=c[b+64>>2]|0;f=0;do{c[e+(f<<2)>>2]=-1;f=f+1|0}while((f|0)<(c[b+56>>2]|0))}if((g|0)<=1)if((g|0)<=0){e=c[q+12>>2]|0;if(!e){l=q;return}}else p=23;else{Id(q,0,g+-1|0);p=23}if((p|0)==23){e=c[q+12>>2]|0;f=0;do{ub[c[(c[b>>2]|0)+8>>2]&63](b,c[e+(f<<4)>>2]|0,c[e+(f<<4)+4>>2]|0)|0;f=f+1|0}while((f|0)<(g|0))}c[6473]=(c[6473]|0)+1;nd(c[e+-4>>2]|0);c[q+12>>2]=0;l=q;return}function pf(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0;o=l;l=l+64|0;e=c[d+192>>2]|0;Nb[c[(c[e>>2]|0)+8>>2]&127](e,d+4|0,o+48|0,o+32|0);f=+g[o+48>>2]+-.019999999552965164;g[o+48>>2]=f;h=+g[o+48+4>>2]+-.019999999552965164;g[o+48+4>>2]=h;i=+g[o+48+8>>2]+-.019999999552965164;g[o+48+8>>2]=i;j=+g[o+32>>2]+.019999999552965164;g[o+32>>2]=j;k=+g[o+32+4>>2]+.019999999552965164;g[o+32+4>>2]=k;m=+g[o+32+8>>2]+.019999999552965164;g[o+32+8>>2]=m;if(((a[b+44>>0]|0)!=0?(c[d+236>>2]|0)==2:0)?(c[d+204>>2]&3|0)==0:0){e=c[d+192>>2]|0;Nb[c[(c[e>>2]|0)+8>>2]&127](e,d+68|0,o+16|0,o);h=+g[o+16>>2]+-.019999999552965164;g[o+16>>2]=h;i=+g[o+16+4>>2]+-.019999999552965164;g[o+16+4>>2]=i;j=+g[o+16+8>>2]+-.019999999552965164;g[o+16+8>>2]=j;k=+g[o>>2]+.019999999552965164;g[o>>2]=k;m=+g[o+4>>2]+.019999999552965164;g[o+4>>2]=m;n=+g[o+8>>2]+.019999999552965164;g[o+8>>2]=n;f=+g[o+48>>2];if(h>2]=h;f=h}h=+g[o+48+4>>2];if(i>2]=i;h=i}i=+g[o+48+8>>2];if(j>2]=j;i=j}j=+g[o+16+12>>2];if(j<+g[o+48+12>>2])g[o+48+12>>2]=j;j=+g[o+32>>2];if(j>2]=k;j=k}k=+g[o+32+4>>2];if(k>2]=m;k=m}m=+g[o+32+8>>2];if(m>2]=n;m=n}n=+g[o+12>>2];if(+g[o+32+12>>2]>2]=n}e=c[b+68>>2]|0;if((c[d+204>>2]&1|0)==0?(j=j-f,k=k-h,n=m-i,!(j*j+k*k+n*n<999999995904.0)):0){if((c[d+216>>2]&-2|0)!=4)c[d+216>>2]=5;if(!(a[15175]|0)){l=o;return}e=c[b+72>>2]|0;if(!e){l=o;return}a[15175]=0;Gb[c[(c[e>>2]|0)+36>>2]&127](e,15176);d=c[b+72>>2]|0;Gb[c[(c[d>>2]|0)+36>>2]&127](d,15225);d=c[b+72>>2]|0;Gb[c[(c[d>>2]|0)+36>>2]&127](d,15293);b=c[b+72>>2]|0;Gb[c[(c[b>>2]|0)+36>>2]&127](b,15358);l=o;return}Rb[c[(c[e>>2]|0)+16>>2]&31](e,c[d+188>>2]|0,o+48|0,o+32|0,c[b+24>>2]|0);l=o;return}function qf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0.0;c[6175]=(c[6175]|0)+1;if(!(c[b+4>>2]&2))j=.019999999552965164;else{k=c[d+192>>2]|0;i=+hb[c[(c[k>>2]|0)+20>>2]&1](k,.019999999552965164);k=c[e+192>>2]|0;j=+hb[c[(c[k>>2]|0)+20>>2]&1](k,.019999999552965164);j=i>2];i=+g[e+184>>2];i=m>2]|0;h=c[f+8>>2]|0;if(!h){if(c[b+4>>2]&4|0){b=0;return b|0}c[6472]=(c[6472]|0)+1;f=ic(791)|0;if(!f)k=0;else{c[(f+4+15&-16)+-4>>2]=f;k=f+4+15&-16}}else{k=c[f+12>>2]|0;c[f+12>>2]=c[k>>2];c[f+8>>2]=h+-1}c[k>>2]=1025;c[k+116>>2]=0;a[k+120>>0]=0;f=k+124|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[k+300>>2]=0;a[k+304>>0]=0;f=k+308|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[k+484>>2]=0;a[k+488>>0]=0;f=k+492|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[k+668>>2]=0;a[k+672>>0]=0;f=k+676|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[k+740>>2]=d;c[k+744>>2]=e;c[k+748>>2]=0;g[k+752>>2]=j;g[k+756>>2]=i;e=k;f=c[b+12>>2]|0;c[k+768>>2]=f;if((f|0)==(c[b+16>>2]|0)?(l=f|0?f<<1:1,(f|0)<(l|0)):0){if(!l)h=0;else{c[6472]=(c[6472]|0)+1;f=ic((l<<2|3)+16|0)|0;if(!f)h=0;else{c[(f+4+15&-16)+-4>>2]=f;h=f+4+15&-16}f=c[b+12>>2]|0}if((f|0)>0){d=0;do{c[h+(d<<2)>>2]=c[(c[b+20>>2]|0)+(d<<2)>>2];d=d+1|0}while((d|0)!=(f|0))}d=c[b+20>>2]|0;if(d){if(a[b+24>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0);f=c[b+12>>2]|0}c[b+20>>2]=0}a[b+24>>0]=1;c[b+20>>2]=h;c[b+16>>2]=l}c[(c[b+20>>2]|0)+(f<<2)>>2]=e;c[b+12>>2]=f+1;b=k;return b|0}function rf(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0;i=js(460)|0;Sd(i,b,d,e);c[i>>2]=4016;a[i+340>>0]=1;c[i+336>>2]=0;c[i+328>>2]=0;c[i+332>>2]=0;g[i+352>>2]=1.2000000476837158;g[i+356>>2]=0.0;g[i+360>>2]=0.0;g[i+364>>2]=1.0e3;c[i+368>>2]=0;c[i+368+4>>2]=0;c[i+368+8>>2]=0;c[i+368+12>>2]=0;c[i+368+16>>2]=0;c[i+368+20>>2]=0;c[i+368+24>>2]=0;c[i+396>>2]=-1054867456;c[i+400>>2]=0;g[i+404>>2]=0.0;a[i+424>>0]=1;c[i+420>>2]=0;c[i+412>>2]=0;c[i+416>>2]=0;c[i+452>>2]=h;a[i+456>>0]=0;if(!h){c[6472]=(c[6472]|0)+1;f=ic(59)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}g[f+12>>2]=1.0;c[f+8>>2]=0;c[f+4>>2]=5;c[f>>2]=3140;a[f+36>>0]=1;c[f+32>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;a[f+16>>0]=1;c[i+452>>2]=f;a[i+456>>0]=1}c[i+344>>2]=4302;a[i+348>>0]=1;a[i+349>>0]=0;a[i+350>>0]=0;c[i+384>>2]=d;c[i+388>>2]=b;mi(i+408|0);e=c[i+412>>2]|0;if((e|0)>0)h=0;else{d=i+428|0;g[d>>2]=.25;d=i+432|0;c[d>>2]=0;d=i+436|0;c[d>>2]=0;d=i+444|0;c[d>>2]=1;d=i+448|0;c[d>>2]=1;g[i+352>>2]=1.2000000476837158;g[i+356>>2]=0.0;g[i+360>>2]=0.0;d=i+392|0;c[d>>2]=0;c[i+368>>2]=0;c[i+368+4>>2]=0;c[i+368+8>>2]=0;c[i+368+12>>2]=0;c[i+396>>2]=-1054867456;c[i+400>>2]=0;g[i+404>>2]=0.0;mi(i+408|0);return i|0}do{d=(c[i+420>>2]|0)+(h<<2)|0;f=c[d>>2]|0;c[d>>2]=0;if(f|0)do{d=f;f=c[f+280>>2]|0;_H(d)}while((f|0)!=0);h=h+1|0}while((h|0)!=(e|0));d=i+428|0;g[d>>2]=.25;d=i+432|0;c[d>>2]=0;d=i+436|0;c[d>>2]=0;d=i+444|0;c[d>>2]=1;d=i+448|0;c[d>>2]=1;g[i+352>>2]=1.2000000476837158;g[i+356>>2]=0.0;g[i+360>>2]=0.0;d=i+392|0;c[d>>2]=0;c[i+368>>2]=0;c[i+368+4>>2]=0;c[i+368+8>>2]=0;c[i+368+12>>2]=0;c[i+396>>2]=-1054867456;c[i+400>>2]=0;g[i+404>>2]=0.0;mi(i+408|0);return i|0} function Cc(b,d,e,f,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;h=+h;i=+i;j=j|0;var k=0,m=0,n=0.0,o=0,p=0.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,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,T=0,U=0,V=0,W=0,X=0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0,ba=0;X=l;l=l+48|0;a[X+16+16>>0]=1;W=X+16+12|0;c[W>>2]=0;c[X+16+4>>2]=0;c[X+16+8>>2]=0;q=c[f+4>>2]|0;if((q|0)>0){c[6472]=(c[6472]|0)+1;k=ic((q<<4|3)+16|0)|0;if(!k)o=0;else{c[(k+4+15&-16)+-4>>2]=k;o=k+4+15&-16}k=c[X+16+4>>2]|0;if((k|0)>0){m=0;do{V=o+(m<<4)|0;U=(c[W>>2]|0)+(m<<4)|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];m=m+1|0}while((m|0)!=(k|0))}k=c[W>>2]|0;if(k|0){if(a[X+16+16>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[k+-4>>2]|0)}c[W>>2]=0}a[X+16+16>>0]=1;c[W>>2]=o;c[X+16+8>>2]=q}k=c[d+28>>2]|0;if((k|0)>0){U=c[d+36>>2]|0;n=+g[e>>2];r=+g[e+4>>2];C=+g[e+8>>2];D=+g[e+16>>2];E=+g[e+20>>2];F=+g[e+24>>2];G=+g[e+32>>2];w=+g[e+36>>2];p=+g[e+40>>2];s=+g[b>>2];t=+g[b+4>>2];x=+g[b+8>>2];V=-1;B=3402823466385288598117041.0e14;o=0;while(1){y=+g[U+(o*36|0)+20>>2];z=+g[U+(o*36|0)+24>>2];A=+g[U+(o*36|0)+28>>2];m=(y*n+z*r+A*C)*s+(y*D+z*E+A*F)*t+(y*G+z*w+A*p)*x=0){M=c[U+(V*36|0)+4>>2]|0;if((M|0)>0){N=U+(V*36|0)+12|0;o=U+(V*36|0)+20|0;O=U+(V*36|0)+24|0;P=U+(V*36|0)+28|0;s=C;t=D;z=E;y=F;x=G;L=0;K=f;f=X+16|0;while(1){J=c[N>>2]|0;k=c[J+(L<<2)>>2]|0;I=c[d+16>>2]|0;L=L+1|0;J=c[J+(((L|0)==(M|0)?0:L)<<2)>>2]|0;Z=+g[I+(k<<4)>>2];_=Z-+g[I+(J<<4)>>2];Y=+g[I+(k<<4)+4>>2];$=Y-+g[I+(J<<4)+4>>2];A=+g[I+(k<<4)+8>>2];C=A-+g[I+(J<<4)+8>>2];G=_*n+$*r+C*s;E=_*t+$*z+C*y;C=_*x+$*w+C*p;$=+g[o>>2];_=+g[O>>2];B=+g[P>>2];F=n*$+r*_+s*B;D=t*$+z*_+y*B;B=x*$+w*_+p*B;w=(Z*n+Y*r+A*s+ +g[e+48>>2])*-(E*B-C*D)+(Z*t+Y*z+A*y+ +g[e+52>>2])*-(C*F-G*B)+(Z*x+Y*w+A*p+ +g[e+56>>2])*-(G*D-E*F);J=K;I=f;k=c[J+4>>2]|0;if((k|0)>=2){q=c[J+12>>2]|0;p=+g[q+(k+-1<<4)>>2];r=+g[q+(k+-1<<4)+4>>2];s=+g[q+(k+-1<<4)+8>>2];n=p*-(E*B-C*D)+r*-(C*F-G*B)+s*-(G*D-E*F)-w;H=0;while(1){y=+g[q+(H<<4)>>2];z=+g[q+(H<<4)+4>>2];A=+g[q+(H<<4)+8>>2];v=c[q+(H<<4)+12>>2]|0;x=y*-(E*B-C*D)+z*-(C*F-G*B)+A*-(G*D-E*F)-w;do if(n<0.0)if(x<0.0){m=c[I+4>>2]|0;if((m|0)==(c[I+8>>2]|0)?(R=m|0?m<<1:1,(m|0)<(R|0)):0){if(!R)q=0;else{c[6472]=(c[6472]|0)+1;m=ic((R<<4|3)+16|0)|0;if(!m)q=0;else{c[(m+4+15&-16)+-4>>2]=m;q=m+4+15&-16}m=c[I+4>>2]|0}if((m|0)>0){u=0;do{aa=q+(u<<4)|0;ba=(c[I+12>>2]|0)+(u<<4)|0;c[aa>>2]=c[ba>>2];c[aa+4>>2]=c[ba+4>>2];c[aa+8>>2]=c[ba+8>>2];c[aa+12>>2]=c[ba+12>>2];u=u+1|0}while((u|0)!=(m|0))}m=c[I+12>>2]|0;if(m|0){if(a[I+16>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[m+-4>>2]|0)}c[I+12>>2]=0}a[I+16>>0]=1;c[I+12>>2]=q;c[I+8>>2]=R;m=c[I+4>>2]|0}u=c[I+12>>2]|0;g[u+(m<<4)>>2]=y;g[u+(m<<4)+4>>2]=z;g[u+(m<<4)+8>>2]=A;c[u+(m<<4)+12>>2]=v;u=78;break}else{n=n/(n-x);t=p+(y-p)*n;p=r+(z-r)*n;n=s+(A-s)*n;m=c[I+4>>2]|0;if((m|0)==(c[I+8>>2]|0)?(T=m|0?m<<1:1,(m|0)<(T|0)):0){if(!T)q=0;else{c[6472]=(c[6472]|0)+1;m=ic((T<<4|3)+16|0)|0;if(!m)q=0;else{c[(m+4+15&-16)+-4>>2]=m;q=m+4+15&-16}m=c[I+4>>2]|0}if((m|0)>0){u=0;do{ba=q+(u<<4)|0;aa=(c[I+12>>2]|0)+(u<<4)|0;c[ba>>2]=c[aa>>2];c[ba+4>>2]=c[aa+4>>2];c[ba+8>>2]=c[aa+8>>2];c[ba+12>>2]=c[aa+12>>2];u=u+1|0}while((u|0)!=(m|0))}m=c[I+12>>2]|0;if(m|0){if(a[I+16>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[m+-4>>2]|0)}c[I+12>>2]=0}a[I+16>>0]=1;c[I+12>>2]=q;c[I+8>>2]=T;m=c[I+4>>2]|0}u=c[I+12>>2]|0;g[u+(m<<4)>>2]=t;g[u+(m<<4)+4>>2]=p;g[u+(m<<4)+8>>2]=n;g[u+(m<<4)+12>>2]=0.0;u=78;break}else if(x<0.0){n=n/(n-x);t=p+(y-p)*n;p=r+(z-r)*n;n=s+(A-s)*n;m=c[I+4>>2]|0;if((m|0)==(c[I+8>>2]|0)?(S=m|0?m<<1:1,(m|0)<(S|0)):0){if(!S)q=0;else{c[6472]=(c[6472]|0)+1;m=ic((S<<4|3)+16|0)|0;if(!m)q=0;else{c[(m+4+15&-16)+-4>>2]=m;q=m+4+15&-16}m=c[I+4>>2]|0}if((m|0)>0){u=0;do{ba=q+(u<<4)|0;aa=(c[I+12>>2]|0)+(u<<4)|0;c[ba>>2]=c[aa>>2];c[ba+4>>2]=c[aa+4>>2];c[ba+8>>2]=c[aa+8>>2];c[ba+12>>2]=c[aa+12>>2];u=u+1|0}while((u|0)!=(m|0))}m=c[I+12>>2]|0;if(m|0){if(a[I+16>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[m+-4>>2]|0)}c[I+12>>2]=0}a[I+16>>0]=1;c[I+12>>2]=q;c[I+8>>2]=S;m=c[I+4>>2]|0}ba=c[I+12>>2]|0;g[ba+(m<<4)>>2]=t;g[ba+(m<<4)+4>>2]=p;g[ba+(m<<4)+8>>2]=n;g[ba+(m<<4)+12>>2]=0.0;m=(c[I+4>>2]|0)+1|0;c[I+4>>2]=m;if((m|0)==(c[I+8>>2]|0)?(Q=m|0?m<<1:1,(m|0)<(Q|0)):0){if(!Q)q=0;else{c[6472]=(c[6472]|0)+1;m=ic((Q<<4|3)+16|0)|0;if(!m)q=0;else{c[(m+4+15&-16)+-4>>2]=m;q=m+4+15&-16}m=c[I+4>>2]|0}if((m|0)>0){u=0;do{ba=q+(u<<4)|0;aa=(c[I+12>>2]|0)+(u<<4)|0;c[ba>>2]=c[aa>>2];c[ba+4>>2]=c[aa+4>>2];c[ba+8>>2]=c[aa+8>>2];c[ba+12>>2]=c[aa+12>>2];u=u+1|0}while((u|0)!=(m|0))}m=c[I+12>>2]|0;if(m|0){if(a[I+16>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[m+-4>>2]|0)}c[I+12>>2]=0}a[I+16>>0]=1;c[I+12>>2]=q;c[I+8>>2]=Q;m=c[I+4>>2]|0}u=c[I+12>>2]|0;g[u+(m<<4)>>2]=y;g[u+(m<<4)+4>>2]=z;g[u+(m<<4)+8>>2]=A;c[u+(m<<4)+12>>2]=v;u=78}while(0);if((u|0)==78){u=0;c[I+4>>2]=(c[I+4>>2]|0)+1}m=H+1|0;if((m|0)==(k|0))break;q=c[J+12>>2]|0;n=x;p=y;s=A;r=z;H=m}k=c[J+4>>2]|0}if((k|0)<0){if((c[J+8>>2]|0)<0){m=c[J+12>>2]|0;if(m|0){if(a[J+16>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[m+-4>>2]|0)}c[J+12>>2]=0}a[J+16>>0]=1;c[J+12>>2]=0;c[J+8>>2]=0}do{ba=(c[J+12>>2]|0)+(k<<4)|0;c[ba>>2]=c[X>>2];c[ba+4>>2]=c[X+4>>2];c[ba+8>>2]=c[X+8>>2];c[ba+12>>2]=c[X+12>>2];k=k+1|0}while((k|0)!=0)}c[J+4>>2]=0;n=+g[e>>2];r=+g[e+4>>2];s=+g[e+8>>2];t=+g[e+16>>2];z=+g[e+20>>2];y=+g[e+24>>2];x=+g[e+32>>2];w=+g[e+36>>2];p=+g[e+40>>2];if((L|0)>=(M|0)){A=t;m=O;k=P;u=e+56|0;v=e+48|0;q=e+52|0;break}else{ba=f;f=K;K=ba}}}else{s=C;A=D;z=E;y=F;x=G;o=U+(V*36|0)+20|0;m=U+(V*36|0)+24|0;k=U+(V*36|0)+28|0;u=e+56|0;v=e+48|0;q=e+52|0}Z=+g[o>>2];_=+g[m>>2];$=+g[k>>2];t=Z*n+_*r+$*s;s=Z*A+_*z+$*y;r=Z*x+_*w+$*p;p=+g[U+(V*36|0)+32>>2]-(t*+g[v>>2]+s*+g[q>>2]+r*+g[u>>2]);k=c[f+4>>2]|0;if((k|0)>0){o=0;do{m=c[f+12>>2]|0;n=p+(t*+g[m+(o<<4)>>2]+s*+g[m+(o<<4)+4>>2]+r*+g[m+(o<<4)+8>>2]);n=n<=h?h:n;if(n<=i){k=m+(o<<4)|0;c[X>>2]=c[k>>2];c[X+4>>2]=c[k+4>>2];c[X+8>>2]=c[k+8>>2];c[X+12>>2]=c[k+12>>2];Lb[c[(c[j>>2]|0)+16>>2]&15](j,b,X,n);k=c[f+4>>2]|0}o=o+1|0}while((o|0)<(k|0))}}}k=c[W>>2]|0;if(!k){l=X;return}if(a[X+16+16>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[k+-4>>2]|0)}c[W>>2]=0;l=X;return}function Dc(b){b=b|0;var d=0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0.0,z=0.0,A=0.0,B=0,C=0.0,D=0.0,E=0.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;G=l;l=l+64|0;if(!(a[b+356>>0]|0)){b=a[b+312>>0]|0;b=b<<24>>24!=0;l=G;return b|0}c[b+336>>2]=0;c[b+336+4>>2]=0;c[b+336+8>>2]=0;c[b+336+12>>2]=0;a[b+336+16>>0]=0;m=a[b+332>>0]|0;a[b+332>>0]=m&-16;a[b+356>>0]=0;switch(c[b>>2]|0){case 0:{a[b+312>>0]=0;b=0;b=b<<24>>24!=0;l=G;return b|0}case 1:{c[b+244>>2]=c[b+84>>2];c[b+244+4>>2]=c[b+84+4>>2];c[b+244+8>>2]=c[b+84+8>>2];c[b+244+12>>2]=c[b+84+12>>2];c[b+260>>2]=c[b+164>>2];c[b+260+4>>2]=c[b+164+4>>2];c[b+260+8>>2]=c[b+164+8>>2];c[b+260+12>>2]=c[b+164+12>>2];D=+g[b+248>>2]-+g[b+264>>2];E=+g[b+252>>2]-+g[b+268>>2];g[b+276>>2]=+g[b+244>>2]-+g[b+260>>2];g[b+280>>2]=D;g[b+284>>2]=E;g[b+288>>2]=0.0;a[b+352>>0]=0;a[b+332>>0]=m&-16;g[b+336>>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;b=1;b=b<<24>>24!=0;l=G;return b|0}case 2:{e=+g[b+4>>2];f=+g[b+8>>2];h=+g[b+12>>2];i=+g[b+20>>2]-e;k=+g[b+24>>2]-f;j=+g[b+28>>2]-h;if((0.0-e)*i+(0.0-f)*k+(0.0-h)*j>0.0)if((0.0-e)*i+(0.0-f)*k+(0.0-h)*j>0]=m&-16|d;g[b+336>>2]=1.0-e;g[b+340>>2]=e;g[b+344>>2]=0.0;g[b+348>>2]=0.0;y=+g[b+84>>2];A=+g[b+88>>2];D=+g[b+92>>2];y=y+e*(+g[b+100>>2]-y);A=A+e*(+g[b+104>>2]-A);D=D+e*(+g[b+108>>2]-D);g[b+244>>2]=y;g[b+248>>2]=A;g[b+252>>2]=D;g[b+256>>2]=0.0;z=+g[b+164>>2];C=+g[b+168>>2];E=+g[b+172>>2];z=z+e*(+g[b+180>>2]-z);C=C+e*(+g[b+184>>2]-C);E=E+e*(+g[b+188>>2]-E);g[b+260>>2]=z;g[b+264>>2]=C;g[b+268>>2]=E;g[b+272>>2]=0.0;g[b+276>>2]=y-z;g[b+280>>2]=A-C;g[b+284>>2]=D-E;g[b+288>>2]=0.0;Xe(b,b+332|0);if((+g[b+336>>2]>=0.0?+g[b+340>>2]>=0.0:0)?+g[b+344>>2]>=0.0:0)d=+g[b+348>>2]>=0.0&1;else d=0;a[b+312>>0]=d;b=d;b=b<<24>>24!=0;l=G;return b|0}case 3:{c[G+16>>2]=0;c[G+16+4>>2]=0;c[G+16+8>>2]=0;c[G+16+12>>2]=0;Te(G+16|0,b+4|0,b+20|0,b+36|0,b+316|0);v=+g[b+336>>2];w=+g[b+340>>2];E=+g[b+344>>2];y=+g[b+84>>2]*v+ +g[b+100>>2]*w+ +g[b+116>>2]*E;A=v*+g[b+88>>2]+w*+g[b+104>>2]+E*+g[b+120>>2];D=v*+g[b+92>>2]+w*+g[b+108>>2]+E*+g[b+124>>2];g[b+244>>2]=y;g[b+248>>2]=A;g[b+252>>2]=D;g[b+256>>2]=0.0;z=+g[b+164>>2]*v+ +g[b+180>>2]*w+ +g[b+196>>2]*E;C=v*+g[b+168>>2]+w*+g[b+184>>2]+E*+g[b+200>>2];E=v*+g[b+172>>2]+w*+g[b+188>>2]+E*+g[b+204>>2];g[b+260>>2]=z;g[b+264>>2]=C;g[b+268>>2]=E;g[b+272>>2]=0.0;g[b+276>>2]=y-z;g[b+280>>2]=A-C;g[b+284>>2]=D-E;g[b+288>>2]=0.0;Xe(b,b+332|0);if((+g[b+336>>2]>=0.0?+g[b+340>>2]>=0.0:0)?+g[b+344>>2]>=0.0:0)d=+g[b+348>>2]>=0.0&1;else d=0;a[b+312>>0]=d;b=d;b=b<<24>>24!=0;l=G;return b|0}case 4:{c[G>>2]=0;c[G+4>>2]=0;c[G+8>>2]=0;c[G+12>>2]=0;B=G+16+16|0;a[B>>0]=0;c[b+316>>2]=0;c[b+316+4>>2]=0;c[b+316+8>>2]=0;c[b+316+12>>2]=0;a[b+332>>0]=m|15;I=+g[b+20>>2];R=+g[b+4>>2];O=+g[b+24>>2];H=+g[b+8>>2];K=+g[b+28>>2];S=+g[b+12>>2];N=+g[b+36>>2];P=+g[b+40>>2];L=+g[b+44>>2];J=+g[b+52>>2];Q=+g[b+56>>2];M=+g[b+60>>2];T=((O-H)*(L-S)-(K-S)*(P-H))*(J-R)+((K-S)*(N-R)-(I-R)*(L-S))*(Q-H)+((I-R)*(P-H)-(O-H)*(N-R))*(M-S);d=T*T<9.99999905104687e-09?-1:((0.0-R)*((O-H)*(L-S)-(K-S)*(P-H))+(0.0-H)*((K-S)*(N-R)-(I-R)*(L-S))+((I-R)*(P-H)-(O-H)*(N-R))*(0.0-S))*T<0.0&1;T=(K-S)*((N-R)*(Q-H)-(P-H)*(J-R))+((I-R)*((P-H)*(M-S)-(L-S)*(Q-H))+(O-H)*((L-S)*(J-R)-(N-R)*(M-S)));m=T*T<9.99999905104687e-09?-1:((0.0-S)*((N-R)*(Q-H)-(P-H)*(J-R))+((0.0-R)*((P-H)*(M-S)-(L-S)*(Q-H))+(0.0-H)*((L-S)*(J-R)-(N-R)*(M-S))))*T<0.0&1;T=(L-S)*((O-H)*(J-R)-(I-R)*(Q-H))+((N-R)*((K-S)*(Q-H)-(O-H)*(M-S))+(P-H)*((I-R)*(M-S)-(K-S)*(J-R)));q=T*T<9.99999905104687e-09?-1:((0.0-S)*((O-H)*(J-R)-(I-R)*(Q-H))+((0.0-R)*((K-S)*(Q-H)-(O-H)*(M-S))+(0.0-H)*((I-R)*(M-S)-(K-S)*(J-R))))*T<0.0&1;H=(S-K)*((P-O)*(J-I)-(N-I)*(Q-O))+((R-I)*((L-K)*(Q-O)-(P-O)*(M-K))+(H-O)*((N-I)*(M-K)-(L-K)*(J-I)));x=H*H<9.99999905104687e-09?-1:((0.0-K)*((P-O)*(J-I)-(N-I)*(Q-O))+((0.0-I)*((L-K)*(Q-O)-(P-O)*(M-K))+(0.0-O)*((N-I)*(M-K)-(L-K)*(J-I))))*H<0.0&1;do if((m|d|q|x|0)<0){a[b+352>>0]=1;d=b+312|0;F=40}else{if(!(m|d|q|x)){if(a[b+352>>0]|0){d=b+312|0;F=40;break}a[b+312>>0]=1;c[b+276>>2]=0;c[b+276+4>>2]=0;c[b+276+8>>2]=0;c[b+276+12>>2]=0;d=1;break}if((d|0)!=0?(Te(G,b+4|0,b+20|0,b+36|0,G+16|0),e=+g[G+16>>2],f=+g[G+16+4>>2],h=+g[G+16+8>>2],i=e-+g[G>>2],k=f-+g[G+4>>2],j=h-+g[G+8>>2],i*i+k*k+j*j<3402823466385288598117041.0e14):0){U=c[G+16+12>>2]|0;g[b+316>>2]=e;g[b+320>>2]=f;g[b+324>>2]=h;c[b+328>>2]=U;U=a[B>>0]|0;a[b+332>>0]=U&1|a[b+332>>0]&-16|U&2|U&4;U=c[G+16+24>>2]|0;d=c[G+16+28>>2]|0;c[b+336>>2]=c[G+16+20>>2];c[b+340>>2]=U;c[b+344>>2]=d;g[b+348>>2]=0.0;e=i*i+k*k+j*j}else e=3402823466385288598117041.0e14;if((m|0)!=0?(Te(G,b+4|0,b+36|0,b+52|0,G+16|0),n=+g[G+16>>2],o=+g[G+16+4>>2],p=+g[G+16+8>>2],r=n-+g[G>>2],t=o-+g[G+4>>2],s=p-+g[G+8>>2],r*r+t*t+s*s>2]|0;g[b+316>>2]=n;g[b+320>>2]=o;g[b+324>>2]=p;c[b+328>>2]=m;m=a[B>>0]|0;a[b+332>>0]=m<<1&8|(m&1|a[b+332>>0]&-16|m<<1&4);m=c[G+16+24>>2]|0;U=c[G+16+28>>2]|0;c[b+336>>2]=c[G+16+20>>2];g[b+340>>2]=0.0;c[b+344>>2]=m;c[b+348>>2]=U;e=r*r+t*t+s*s}if((q|0)!=0?(Te(G,b+4|0,b+52|0,b+20|0,G+16|0),u=+g[G+16>>2],v=+g[G+16+4>>2],w=+g[G+16+8>>2],y=u-+g[G>>2],A=v-+g[G+4>>2],z=w-+g[G+8>>2],y*y+A*A+z*z>2]|0;g[b+316>>2]=u;g[b+320>>2]=v;g[b+324>>2]=w;c[b+328>>2]=q;q=a[B>>0]|0;a[b+332>>0]=q<<2&8|(q&1|a[b+332>>0]&-16|(q&255)>>>1&2);q=c[G+16+28>>2]|0;U=c[G+16+24>>2]|0;c[b+336>>2]=c[G+16+20>>2];c[b+340>>2]=q;g[b+344>>2]=0.0;c[b+348>>2]=U;e=y*y+A*A+z*z}if(x|0?(Te(G,b+20|0,b+52|0,b+36|0,G+16|0),C=+g[G+16>>2],D=+g[G+16+4>>2],E=+g[G+16+8>>2],R=C-+g[G>>2],S=D-+g[G+4>>2],T=E-+g[G+8>>2],R*R+S*S+T*T>2]|0;g[b+316>>2]=C;g[b+320>>2]=D;g[b+324>>2]=E;c[b+328>>2]=x;x=a[B>>0]|0;a[b+332>>0]=x&4|a[b+332>>0]&-16|x<<1&2|x<<2&8;x=c[G+16+20>>2]|0;B=c[G+16+28>>2]|0;U=c[G+16+24>>2]|0;g[b+336>>2]=0.0;c[b+340>>2]=x;c[b+344>>2]=B;c[b+348>>2]=U}L=+g[b+336>>2];M=+g[b+340>>2];N=+g[b+344>>2];T=+g[b+348>>2];O=+g[b+84>>2]*L+ +g[b+100>>2]*M+ +g[b+116>>2]*N+ +g[b+132>>2]*T;Q=L*+g[b+88>>2]+M*+g[b+104>>2]+N*+g[b+120>>2]+T*+g[b+136>>2];S=L*+g[b+92>>2]+M*+g[b+108>>2]+N*+g[b+124>>2]+T*+g[b+140>>2];g[b+244>>2]=O;g[b+248>>2]=Q;g[b+252>>2]=S;g[b+256>>2]=0.0;P=+g[b+164>>2]*L+ +g[b+180>>2]*M+ +g[b+196>>2]*N+ +g[b+212>>2]*T;R=L*+g[b+168>>2]+M*+g[b+184>>2]+N*+g[b+200>>2]+T*+g[b+216>>2];T=L*+g[b+172>>2]+M*+g[b+188>>2]+N*+g[b+204>>2]+T*+g[b+220>>2];g[b+260>>2]=P;g[b+264>>2]=R;g[b+268>>2]=T;g[b+272>>2]=0.0;g[b+276>>2]=O-P;g[b+280>>2]=Q-R;g[b+284>>2]=S-T;g[b+288>>2]=0.0;Xe(b,b+332|0);if((+g[b+336>>2]>=0.0?+g[b+340>>2]>=0.0:0)?+g[b+344>>2]>=0.0:0)d=+g[b+348>>2]>=0.0&1;else d=0;a[b+312>>0]=d}while(0);if((F|0)==40){a[d>>0]=0;d=0}U=d;U=U<<24>>24!=0;l=G;return U|0}default:{a[b+312>>0]=0;U=0;U=U<<24>>24!=0;l=G;return U|0}}return 0}function Ec(b){b=b|0;var d=0.0,e=0.0,f=0,h=0,i=0.0,j=0.0,k=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.0,x=0,y=0.0,z=0.0,A=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;v=l;l=l+176|0;if(!(a[b+738>>0]|0)){l=v;return}g[b+36>>2]=0.0;g[b+744>>2]=0.0;if(!(a[b+736>>0]|0)){f=c[b+28>>2]|0;k=+g[b+600>>2];m=+g[b+604>>2];r=+g[b+608>>2];t=k*+g[f+20>>2]+m*+g[f+24>>2]+r*+g[f+28>>2]+ +g[f+56>>2];h=c[b+32>>2]|0;n=+g[b+664>>2];o=+g[b+668>>2];p=+g[b+672>>2];u=n*+g[h+20>>2]+o*+g[h+24>>2]+p*+g[h+28>>2]+ +g[h+56>>2];s=n*+g[h+36>>2]+o*+g[h+40>>2]+p*+g[h+44>>2]+ +g[h+60>>2];q=k*+g[f+4>>2]+m*+g[f+8>>2]+r*+g[f+12>>2]+ +g[f+52>>2];r=k*+g[f+36>>2]+m*+g[f+40>>2]+r*+g[f+44>>2]+ +g[f+60>>2];p=n*+g[h+4>>2]+o*+g[h+8>>2]+p*+g[h+12>>2]+ +g[h+52>>2];if((p-q)*(p-q)+(u-t)*(u-t)+(s-r)*(s-r)>1.1920928955078125e-07){j=1.0/+C(+((p-q)*(p-q)+(u-t)*(u-t)+(s-r)*(s-r)));g[v+128>>2]=(p-q)*j;g[v+128+4>>2]=(u-t)*j;g[v+128+8>>2]=(s-r)*j;c[v+128+12>>2]=0;i=(s-r)*j;d=(u-t)*j;j=(p-q)*j}else{c[v+128>>2]=1065353216;c[v+128+4>>2]=0;c[v+128+8>>2]=0;g[v+128+12>>2]=0.0;i=0.0;d=0.0;j=1.0}if(+B(+i)>.7071067690849304){w=i*i+d*d;o=1.0/+C(+w);n=-(o*i);d=o*d;e=d;k=j*n;m=0.0;o=w*o;d=-(d*j)}else{m=j*j+d*d;k=1.0/+C(+m);d=-(d*k);o=k*j;e=0.0;k=m*k;m=d;n=o;o=-(o*i);d=i*d}g[v+128+16>>2]=m;g[v+128+20>>2]=n;g[v+128+24>>2]=e;g[v+128+32>>2]=o;g[v+128+36>>2]=d;g[v+128+40>>2]=k;f=0;while(1){x=c[b+28>>2]|0;c[v+80>>2]=c[x+4>>2];c[v+80+4>>2]=c[x+20>>2];c[v+80+8>>2]=c[x+36>>2];g[v+80+12>>2]=0.0;c[v+80+16>>2]=c[x+8>>2];c[v+80+20>>2]=c[x+24>>2];c[v+80+24>>2]=c[x+40>>2];g[v+80+28>>2]=0.0;c[v+80+32>>2]=c[x+12>>2];c[v+80+36>>2]=c[x+28>>2];c[v+80+40>>2]=c[x+44>>2];g[v+80+44>>2]=0.0;c[v+32>>2]=c[h+4>>2];c[v+32+4>>2]=c[h+20>>2];c[v+32+8>>2]=c[h+36>>2];g[v+32+12>>2]=0.0;c[v+32+16>>2]=c[h+8>>2];c[v+32+20>>2]=c[h+24>>2];c[v+32+24>>2]=c[h+40>>2];g[v+32+28>>2]=0.0;c[v+32+32>>2]=c[h+12>>2];c[v+32+36>>2]=c[h+28>>2];c[v+32+40>>2]=c[h+44>>2];g[v+32+44>>2]=0.0;w=t-+g[x+56>>2];o=r-+g[x+60>>2];g[v+16>>2]=q-+g[x+52>>2];g[v+16+4>>2]=w;g[v+16+8>>2]=o;g[v+16+12>>2]=0.0;o=u-+g[h+56>>2];w=s-+g[h+60>>2];g[v>>2]=p-+g[h+52>>2];g[v+4>>2]=o;g[v+8>>2]=w;g[v+12>>2]=0.0;x=c[b+28>>2]|0;h=c[b+32>>2]|0;Ag(b+48+(f*84|0)|0,v+80|0,v+32|0,v+16|0,v,v+128+(f<<4)|0,x+396|0,+g[x+344>>2],h+396|0,+g[h+344>>2]);f=f+1|0;if((f|0)==3)break;h=c[b+32>>2]|0}}d=+g[b+560>>2];e=+g[b+576>>2];i=+g[b+592>>2];if(+B(+i)>.7071067690849304){p=1.0/+C(+(i*i+e*e));j=0.0;k=e*p;m=-(i*p);n=(i*i+e*e)*p;o=-(d*e*p);p=d*-(i*p)}else{p=1.0/+C(+(d*d+e*e));j=-(e*p);k=0.0;m=d*p;n=-(i*d*p);o=i*-(e*p);p=(d*d+e*e)*p}h=c[b+28>>2]|0;J=+g[h+4>>2];I=+g[h+8>>2];s=+g[h+12>>2];R=j*J+m*I+k*s;H=+g[h+20>>2];G=+g[h+24>>2];u=+g[h+28>>2];T=j*H+m*G+k*u;q=+g[h+36>>2];A=+g[h+40>>2];E=+g[h+44>>2];W=j*q+m*A+k*E;D=n*J+o*I+p*s;M=n*H+o*G+p*u;N=n*q+o*A+p*E;f=c[b+32>>2]|0;z=+g[f+4>>2];y=+g[f+20>>2];j=+g[f+36>>2];o=+g[f+8>>2];p=+g[f+24>>2];t=+g[f+40>>2];P=+g[f+12>>2];S=+g[f+28>>2];V=+g[f+44>>2];c[b+300>>2]=0;c[b+300+4>>2]=0;c[b+300+8>>2]=0;c[b+300+12>>2]=0;g[b+316>>2]=R*J+T*H+W*q;g[b+320>>2]=R*I+T*G+W*A;g[b+324>>2]=R*s+T*u+W*E;g[b+328>>2]=0.0;g[b+332>>2]=z*-R+y*-T+j*-W;g[b+336>>2]=o*-R+p*-T+t*-W;g[b+340>>2]=P*-R+S*-T+V*-W;g[b+344>>2]=0.0;F=(R*J+T*H+W*q)*+g[h+396>>2];L=(R*I+T*G+W*A)*+g[h+400>>2];K=(R*s+T*u+W*E)*+g[h+404>>2];g[b+348>>2]=F;g[b+352>>2]=L;g[b+356>>2]=K;g[b+360>>2]=0.0;n=(z*-R+y*-T+j*-W)*+g[f+396>>2];w=(o*-R+p*-T+t*-W)*+g[f+400>>2];X=(P*-R+S*-T+V*-W)*+g[f+404>>2];g[b+364>>2]=n;g[b+368>>2]=w;g[b+372>>2]=X;g[b+376>>2]=0.0;g[b+380>>2]=(R*J+T*H+W*q)*F+(R*I+T*G+W*A)*L+(R*s+T*u+W*E)*K+((z*-R+y*-T+j*-W)*n+(o*-R+p*-T+t*-W)*w+(P*-R+S*-T+V*-W)*X);f=c[b+28>>2]|0;X=+g[f+4>>2];W=+g[f+20>>2];V=+g[f+36>>2];T=+g[f+8>>2];S=+g[f+24>>2];R=+g[f+40>>2];P=+g[f+12>>2];w=+g[f+28>>2];t=+g[f+44>>2];h=c[b+32>>2]|0;p=+g[h+4>>2];o=+g[h+20>>2];n=+g[h+36>>2];j=+g[h+8>>2];y=+g[h+24>>2];z=+g[h+40>>2];K=+g[h+12>>2];L=+g[h+28>>2];F=+g[h+44>>2];c[b+384>>2]=0;c[b+384+4>>2]=0;c[b+384+8>>2]=0;c[b+384+12>>2]=0;g[b+400>>2]=D*X+M*W+N*V;g[b+404>>2]=D*T+M*S+N*R;g[b+408>>2]=D*P+M*w+N*t;g[b+412>>2]=0.0;g[b+416>>2]=p*-D+o*-M+n*-N;g[b+420>>2]=j*-D+y*-M+z*-N;g[b+424>>2]=K*-D+L*-M+F*-N;g[b+428>>2]=0.0;U=(D*X+M*W+N*V)*+g[f+396>>2];Q=(D*T+M*S+N*R)*+g[f+400>>2];r=(D*P+M*w+N*t)*+g[f+404>>2];g[b+432>>2]=U;g[b+436>>2]=Q;g[b+440>>2]=r;g[b+444>>2]=0.0;k=(p*-D+o*-M+n*-N)*+g[h+396>>2];m=(j*-D+y*-M+z*-N)*+g[h+400>>2];O=(K*-D+L*-M+F*-N)*+g[h+404>>2];g[b+448>>2]=k;g[b+452>>2]=m;g[b+456>>2]=O;g[b+460>>2]=0.0;g[b+464>>2]=(D*X+M*W+N*V)*U+(D*T+M*S+N*R)*Q+(D*P+M*w+N*t)*r+((p*-D+o*-M+n*-N)*k+(j*-D+y*-M+z*-N)*m+(K*-D+L*-M+F*-N)*O);h=c[b+28>>2]|0;O=+g[h+4>>2];N=+g[h+20>>2];F=+g[h+36>>2];M=+g[h+8>>2];L=+g[h+24>>2];D=+g[h+40>>2];K=+g[h+12>>2];m=+g[h+28>>2];z=+g[h+44>>2];f=c[b+32>>2]|0;y=+g[f+4>>2];j=+g[f+20>>2];k=+g[f+36>>2];n=+g[f+8>>2];o=+g[f+24>>2];p=+g[f+40>>2];r=+g[f+12>>2];t=+g[f+28>>2];w=+g[f+44>>2];c[b+468>>2]=0;c[b+468+4>>2]=0;c[b+468+8>>2]=0;c[b+468+12>>2]=0;F=(J*d+I*e+s*i)*O+(H*d+G*e+u*i)*N+(q*d+A*e+E*i)*F;D=(J*d+I*e+s*i)*M+(H*d+G*e+u*i)*L+(q*d+A*e+E*i)*D;z=(J*d+I*e+s*i)*K+(H*d+G*e+u*i)*m+(q*d+A*e+E*i)*z;g[b+484>>2]=F;g[b+488>>2]=D;g[b+492>>2]=z;g[b+496>>2]=0.0;s=-(J*d+I*e+s*i);u=-(H*d+G*e+u*i);e=-(q*d+A*e+E*i);g[b+500>>2]=y*s+j*u+k*e;g[b+504>>2]=n*s+o*u+p*e;g[b+508>>2]=r*s+t*u+w*e;g[b+512>>2]=0.0;E=F*+g[h+396>>2];A=D*+g[h+400>>2];i=z*+g[h+404>>2];g[b+516>>2]=E;g[b+520>>2]=A;g[b+524>>2]=i;g[b+528>>2]=0.0;m=(y*s+j*u+k*e)*+g[f+396>>2];q=(n*s+o*u+p*e)*+g[f+400>>2];d=(r*s+t*u+w*e)*+g[f+404>>2];g[b+532>>2]=m;g[b+536>>2]=q;g[b+540>>2]=d;g[b+544>>2]=0.0;g[b+548>>2]=F*E+D*A+z*i+((y*s+j*u+k*e)*m+(n*s+o*u+p*e)*q+(r*s+t*u+w*e)*d);g[b+724>>2]=0.0;f=c[b+28>>2]|0;h=c[b+32>>2]|0;d=+Ri(b,f+4|0,h+4|0);g[b+728>>2]=d;g[b+708>>2]=0.0;g[b+712>>2]=0.0;a[b+716>>0]=0;e=+g[b+692>>2];do if(e>=0.0){d=+bh(d-+g[b+688>>2],6.2831854820251465);if(!(d<-3.1415927410125732)){if(d>3.1415927410125732)d=d+-6.2831854820251465}else d=d+6.2831854820251465;if(d<-e){a[b+716>>0]=1;g[b+708>>2]=-(d+e);g[b+712>>2]=1.0;break}if(d>e){a[b+716>>0]=1;g[b+708>>2]=e-d;g[b+712>>2]=-1.0}}while(0);T=+g[b+560>>2];U=+g[b+576>>2];X=+g[b+592>>2];V=T*+g[f+4>>2]+U*+g[f+8>>2]+X*+g[f+12>>2];W=T*+g[f+20>>2]+U*+g[f+24>>2]+X*+g[f+28>>2];X=T*+g[f+36>>2]+U*+g[f+40>>2]+X*+g[f+44>>2];g[b+720>>2]=1.0/(V*(V*+g[f+264>>2]+W*+g[f+280>>2]+X*+g[f+296>>2])+W*(V*+g[f+268>>2]+W*+g[f+284>>2]+X*+g[f+300>>2])+X*(V*+g[f+272>>2]+W*+g[f+288>>2]+X*+g[f+304>>2])+(V*(V*+g[h+264>>2]+W*+g[h+280>>2]+X*+g[h+296>>2])+W*(V*+g[h+268>>2]+W*+g[h+284>>2]+X*+g[h+300>>2])+X*(V*+g[h+272>>2]+W*+g[h+288>>2]+X*+g[h+304>>2])));l=v;return}function Fc(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,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,D=0.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,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.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;M=l;l=l+64|0;if(!(c[b+12>>2]|0)){l=M;return}f=(a[b+16>>0]|0)!=0;P=f?e:d;f=f?d:e;i=c[P+4>>2]|0;j=c[f+4>>2]|0;P=c[P+12>>2]|0;aa=+g[P>>2];$=+g[P+16>>2];_=+g[P+32>>2];Z=+g[P+4>>2];Y=+g[P+20>>2];A=+g[P+36>>2];k=+g[P+8>>2];G=+g[P+24>>2];u=+g[P+40>>2];T=+g[P+48>>2];S=+g[P+52>>2];R=+g[P+56>>2];O=c[f+12>>2]|0;X=+g[O>>2];W=+g[O+16>>2];D=+g[O+32>>2];V=+g[O+4>>2];U=+g[O+20>>2];H=+g[O+36>>2];t=+g[O+8>>2];r=+g[O+24>>2];p=+g[O+40>>2];Q=-+g[O+48>>2];I=-+g[O+52>>2];J=-+g[O+56>>2];K=+g[P>>2];L=+g[P+16>>2];z=+g[P+32>>2];x=+g[P+4>>2];w=+g[P+20>>2];v=+g[P+36>>2];s=+g[P+8>>2];q=+g[P+24>>2];o=+g[P+40>>2];P=c[(c[i>>2]|0)+64>>2]|0;n=-+g[j+48>>2];m=-+g[j+52>>2];y=-+g[j+56>>2];g[M+48>>2]=(aa*X+$*W+_*D)*n+(aa*V+$*U+_*H)*m+(aa*t+$*r+_*p)*y;g[M+48+4>>2]=(Z*X+Y*W+A*D)*n+(Z*V+Y*U+A*H)*m+(Z*t+Y*r+A*p)*y;g[M+48+8>>2]=(k*X+G*W+u*D)*n+(k*V+G*U+u*H)*m+(k*t+G*r+u*p)*y;g[M+48+12>>2]=0.0;Kb[P&127](M,i,M+48|0);y=+g[M>>2];u=+g[M+4>>2];G=+g[M+8>>2];k=+g[j+48>>2];m=+g[j+52>>2];n=+g[j+56>>2];A=n*(T*t+S*r+R*p+(t*Q+r*I+p*J)+((t*K+r*L+p*z)*y+(t*x+r*w+p*v)*u+(t*s+r*q+p*o)*G))+(k*(T*X+S*W+R*D+(X*Q+W*I+D*J)+((X*K+W*L+D*z)*y+(X*x+W*w+D*v)*u+(X*s+W*q+D*o)*G))+m*(T*V+S*U+R*H+(V*Q+U*I+H*J)+((V*K+U*L+H*z)*y+(V*x+U*w+H*v)*u+(V*s+U*q+H*o)*G)))-+g[j+64>>2];D=T*X+S*W+R*D+(X*Q+W*I+D*J)+((X*K+W*L+D*z)*y+(X*x+W*w+D*v)*u+(X*s+W*q+D*o)*G)-k*A;H=T*V+S*U+R*H+(V*Q+U*I+H*J)+((V*K+U*L+H*z)*y+(V*x+U*w+H*v)*u+(V*s+U*q+H*o)*G)-m*A;G=T*t+S*r+R*p+(t*Q+r*I+p*J)+((t*K+r*L+p*z)*y+(t*x+r*w+p*v)*u+(t*s+r*q+p*o)*G)-n*A;P=c[f+12>>2]|0;o=+g[P>>2];p=+g[P+4>>2];q=+g[P+8>>2];r=+g[P+16>>2];s=+g[P+20>>2];t=+g[P+24>>2];u=+g[P+32>>2];v=+g[P+36>>2];w=+g[P+40>>2];x=+g[P+48>>2];y=+g[P+52>>2];z=+g[P+56>>2];P=c[b+12>>2]|0;O=A<+g[P+752>>2];c[h+4>>2]=P;if(O){P=c[f+12>>2]|0;$=k*+g[P+16>>2]+m*+g[P+20>>2]+n*+g[P+24>>2];aa=k*+g[P+32>>2]+m*+g[P+36>>2]+n*+g[P+40>>2];g[M+48>>2]=+g[P>>2]*k+ +g[P+4>>2]*m+ +g[P+8>>2]*n;g[M+48+4>>2]=$;g[M+48+8>>2]=aa;g[M+48+12>>2]=0.0;g[M+32>>2]=q*G+(o*D+p*H)+x;g[M+32+4>>2]=D*r+H*s+G*t+y;g[M+32+8>>2]=D*u+H*v+G*w+z;g[M+32+12>>2]=0.0;Lb[c[(c[h>>2]|0)+16>>2]&15](h,M+48|0,M+32|0,A)}if((c[i+4>>2]|0)<7?(c[(c[h+4>>2]|0)+748>>2]|0)<(c[b+24>>2]|0):0){k=+g[j+56>>2];if(+B(+k)>.7071067690849304){n=+g[j+52>>2];aa=1.0/+C(+(k*k+n*n));m=0.0;n=n*aa;k=-(k*aa)}else{aa=+g[j+48>>2];m=+g[j+52>>2];k=1.0/+C(+(aa*aa+m*m));m=-(m*k);n=0.0;k=aa*k}I=.019999999552965164/+gb[c[(c[i>>2]|0)+16>>2]&15](i);I=(I>.39269909262657166?.39269909262657166:I)*.5;J=+F(+I)/+C(+(m*m+k*k+n*n));L=m*J;K=k*J;J=n*J;I=+E(+I);f=c[b+20>>2]|0;if((f|0)>0){i=0;do{r=+g[j+48>>2];aa=+g[j+52>>2];x=+g[j+56>>2];v=+(i|0)*(6.2831854820251465/+(f|0))*.5;$=+F(+v)/+C(+(r*r+aa*aa+x*x));v=+E(+v);w=J*-(aa*$)+(L*v+I*-(r*$))-K*-(x*$);t=L*-(x*$)+(K*v+I*-(aa*$))-J*-(r*$);da=K*-(r*$)+(J*v+I*-(x*$))-L*-(aa*$);z=I*v-L*-(r*$)-K*-(aa*$)-J*-(x*$);ia=x*$*t+(r*$*z+v*w)-aa*$*da;ha=r*$*da+(v*t+aa*$*z)-x*$*w;la=aa*$*w+(x*$*z+v*da)-r*$*t;da=v*z-r*$*w-aa*$*t-x*$*da;f=(a[b+16>>0]|0)!=0;ba=f?e:d;f=f?d:e;P=c[ba+4>>2]|0;O=c[f+4>>2]|0;ba=c[ba+12>>2]|0;$=+g[ba>>2];x=+g[ba+4>>2];t=+g[ba+8>>2];aa=+g[ba+16>>2];w=+g[ba+20>>2];r=+g[ba+24>>2];z=+g[ba+32>>2];v=+g[ba+36>>2];p=+g[ba+40>>2];V=+g[ba+48>>2];W=+g[ba+52>>2];X=+g[ba+56>>2];ba=c[f+12>>2]|0;R=+g[ba>>2];S=+g[ba+16>>2];A=+g[ba+32>>2];T=+g[ba+4>>2];U=+g[ba+20>>2];H=+g[ba+36>>2];s=+g[ba+8>>2];q=+g[ba+24>>2];o=+g[ba+40>>2];Y=-+g[ba+48>>2];Z=-+g[ba+52>>2];_=-+g[ba+56>>2];ga=ia*(2.0/(ia*ia+ha*ha+la*la+da*da));n=ha*(2.0/(ia*ia+ha*ha+la*la+da*da));ca=la*(2.0/(ia*ia+ha*ha+la*la+da*da));na=t*(ia*ca-da*n)+(x*(ia*n+da*ca)+$*(1.0-(ha*n+la*ca)));ka=t*(ha*ca+da*ga)+($*(ia*n-da*ca)+x*(1.0-(ia*ga+la*ca)));k=$*(ia*ca+da*n)+x*(ha*ca-da*ga)+t*(1.0-(ia*ga+ha*n));ma=r*(ia*ca-da*n)+(w*(ia*n+da*ca)+aa*(1.0-(ha*n+la*ca)));ja=r*(ha*ca+da*ga)+(aa*(ia*n-da*ca)+w*(1.0-(ia*ga+la*ca)));u=aa*(ia*ca+da*n)+w*(ha*ca-da*ga)+r*(1.0-(ia*ga+ha*n));oa=p*(ia*ca-da*n)+(v*(ia*n+da*ca)+z*(1.0-(ha*n+la*ca)));la=p*(ha*ca+da*ga)+(z*(ia*n-da*ca)+v*(1.0-(ia*ga+la*ca)));n=z*(ia*ca+da*n)+v*(ha*ca-da*ga)+p*(1.0-(ia*ga+ha*n));ha=+g[ba>>2];ga=+g[ba+16>>2];ia=+g[ba+32>>2];da=+g[ba+4>>2];ca=+g[ba+20>>2];ea=+g[ba+36>>2];m=+g[ba+8>>2];G=+g[ba+24>>2];D=+g[ba+40>>2];ba=c[(c[P>>2]|0)+64>>2]|0;fa=-+g[O+48>>2];Q=-+g[O+52>>2];y=-+g[O+56>>2];g[M+32>>2]=(ia*oa+(ha*na+ga*ma))*fa+(ea*oa+(da*na+ca*ma))*Q+(D*oa+(m*na+G*ma))*y;g[M+32+4>>2]=(ia*la+(ha*ka+ga*ja))*fa+(ea*la+(da*ka+ca*ja))*Q+(D*la+(m*ka+G*ja))*y;g[M+32+8>>2]=(ia*n+(ha*k+ga*u))*fa+(ea*n+(da*k+ca*u))*Q+(D*n+(m*k+G*u))*y;g[M+32+12>>2]=0.0;Kb[ba&127](M+48|0,P,M+32|0);y=+g[M+48>>2];u=+g[M+48+4>>2];G=+g[M+48+8>>2];k=+g[O+48>>2];m=+g[O+52>>2];n=+g[O+56>>2];D=n*(V*s+W*q+X*o+(s*Y+q*Z+o*_)+(($*s+aa*q+z*o)*y+(x*s+w*q+v*o)*u+(t*s+r*q+p*o)*G))+(k*(V*R+W*S+X*A+(R*Y+S*Z+A*_)+(($*R+aa*S+z*A)*y+(x*R+w*S+v*A)*u+(t*R+r*S+p*A)*G))+m*(V*T+W*U+X*H+(T*Y+U*Z+H*_)+(($*T+aa*U+z*H)*y+(x*T+w*U+v*H)*u+(t*T+r*U+p*H)*G)))-+g[O+64>>2];A=V*R+W*S+X*A+(R*Y+S*Z+A*_)+(($*R+aa*S+z*A)*y+(x*R+w*S+v*A)*u+(t*R+r*S+p*A)*G)-k*D;H=V*T+W*U+X*H+(T*Y+U*Z+H*_)+(($*T+aa*U+z*H)*y+(x*T+w*U+v*H)*u+(t*T+r*U+p*H)*G)-m*D;G=V*s+W*q+X*o+(s*Y+q*Z+o*_)+(($*s+aa*q+z*o)*y+(x*s+w*q+v*o)*u+(t*s+r*q+p*o)*G)-n*D;O=c[f+12>>2]|0;o=+g[O>>2];p=+g[O+4>>2];q=+g[O+8>>2];r=+g[O+16>>2];s=+g[O+20>>2];t=+g[O+24>>2];u=+g[O+32>>2];v=+g[O+36>>2];w=+g[O+40>>2];x=+g[O+48>>2];y=+g[O+52>>2];z=+g[O+56>>2];O=c[b+12>>2]|0;P=D<+g[O+752>>2];c[h+4>>2]=O;if(P){ba=c[f+12>>2]|0;na=k*+g[ba+16>>2]+m*+g[ba+20>>2]+n*+g[ba+24>>2];oa=k*+g[ba+32>>2]+m*+g[ba+36>>2]+n*+g[ba+40>>2];g[M+32>>2]=+g[ba>>2]*k+ +g[ba+4>>2]*m+ +g[ba+8>>2]*n;g[M+32+4>>2]=na;g[M+32+8>>2]=oa;g[M+32+12>>2]=0.0;g[M+16>>2]=q*G+(o*A+p*H)+x;g[M+16+4>>2]=A*r+H*s+G*t+y;g[M+16+8>>2]=A*u+H*v+G*w+z;g[M+16+12>>2]=0.0;Lb[c[(c[h>>2]|0)+16>>2]&15](h,M+32|0,M+16|0,D)}i=i+1|0;f=c[b+20>>2]|0}while((i|0)<(f|0))}}do if((a[b+8>>0]|0?c[(c[b+12>>2]|0)+748>>2]|0:0)?(N=c[h+4>>2]|0,c[N+748>>2]|0):0){i=c[N+740>>2]|0;j=c[(c[h+8>>2]|0)+8>>2]|0;f=c[(c[h+12>>2]|0)+8>>2]|0;if((i|0)==(j|0)){Oe(N,i+4|0,f+4|0);break}else{Oe(N,f+4|0,j+4|0);break}}while(0);l=M;return}function Gc(b){b=b|0;var d=0,e=0.0,f=0.0,h=0.0,i=0,j=0,k=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,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;H=l;l=l+192|0;bj(11202);d=c[b+1112>>2]|0;if((d|0)>0){G=0;do{F=c[(c[b+1120>>2]|0)+(G<<2)>>2]|0;E=c[F+24>>2]|0;if(E){i=H+144+4|0;j=i+44|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));g[H+144>>2]=9.999999747378752e-05;g[H+144+20>>2]=1.9999999494757503e-04;g[H+144+40>>2]=2.9999998514540493e-04;if((E|0)>0){d=c[F+32>>2]|0;i=c[F+12>>2]|0;f=0.0;h=0.0;e=0.0;j=0;do{D=c[d+(j<<2)>>2]|0;C=+g[i+(j<<2)>>2];f=f+ +g[D+8>>2]*C;e=e+C*+g[D+12>>2];h=h+C*+g[D+16>>2];j=j+1|0}while((j|0)!=(E|0))}else{f=0.0;h=0.0;e=0.0}r=+g[F+128>>2];t=f*r;s=e*r;r=h*r;g[F+228>>2]=t;g[F+232>>2]=s;g[F+236>>2]=r;g[F+240>>2]=0.0;if((E|0)>0){d=c[F+32>>2]|0;i=c[F+52>>2]|0;e=9.999999747378752e-05;f=+g[H+144+4>>2];h=+g[H+144+8>>2];k=+g[H+144+16>>2];m=1.9999999494757503e-04;n=+g[H+144+24>>2];o=0.0;p=0.0;q=2.9999998514540493e-04;j=0;do{D=c[d+(j<<2)>>2]|0;x=+g[D+8>>2]-t;y=+g[D+12>>2]-s;B=+g[D+16>>2]-r;z=+g[i+(j<<4)>>2];A=+g[i+(j<<4)+4>>2];C=+g[i+(j<<4)+8>>2];e=x*z+e;f=x*A+f;h=x*C+h;k=y*z+k;m=y*A+m;n=y*C+n;o=B*z+o;p=B*A+p;q=B*C+q;j=j+1|0}while((j|0)!=(E|0));g[H+144>>2]=e;g[H+144+4>>2]=f;g[H+144+8>>2]=h;g[H+144+16>>2]=k;g[H+144+20>>2]=m;g[H+144+24>>2]=n;g[H+144+32>>2]=o;g[H+144+36>>2]=p;g[H+144+40>>2]=q}if((a[22728]|0)==0?Yy(22728)|0:0){g[5824]=9.999999747378752e-05;c[5825]=16}Xc(H+144|0,H+96|0,H+48|0);c[F+108>>2]=c[F+228>>2];c[F+108+4>>2]=c[F+228+4>>2];c[F+108+8>>2]=c[F+228+8>>2];c[F+108+12>>2]=c[F+228+12>>2];c[F+60>>2]=c[H+96>>2];c[F+60+4>>2]=c[H+96+4>>2];c[F+60+8>>2]=c[H+96+8>>2];c[F+60+12>>2]=c[H+96+12>>2];c[F+76>>2]=c[H+96+16>>2];c[F+76+4>>2]=c[H+96+16+4>>2];c[F+76+8>>2]=c[H+96+16+8>>2];c[F+76+12>>2]=c[H+96+16+12>>2];c[F+92>>2]=c[H+96+32>>2];c[F+92+4>>2]=c[H+96+32+4>>2];c[F+92+8>>2]=c[H+96+32+8>>2];c[F+92+12>>2]=c[H+96+32+12>>2];m=+g[F+132>>2];K=+g[F+60>>2];n=+g[F+148>>2];J=+g[F+64>>2];o=+g[F+164>>2];y=+g[F+68>>2];p=+g[F+136>>2];q=+g[F+152>>2];r=+g[F+168>>2];s=+g[F+140>>2];t=+g[F+156>>2];u=+g[F+172>>2];I=+g[F+76>>2];e=+g[F+80>>2];x=+g[F+84>>2];k=+g[F+92>>2];h=+g[F+96>>2];f=+g[F+100>>2];w=(m*K+n*J+o*y)*K+(K*p+J*q+y*r)*J+(K*s+J*t+y*u)*y;v=(m*K+n*J+o*y)*I+(K*p+J*q+y*r)*e+(K*s+J*t+y*u)*x;C=(m*K+n*J+o*y)*k+(K*p+J*q+y*r)*h+(K*s+J*t+y*u)*f;B=(m*I+n*e+o*x)*K+(p*I+q*e+r*x)*J+(s*I+t*e+u*x)*y;A=(m*I+n*e+o*x)*I+(p*I+q*e+r*x)*e+(s*I+t*e+u*x)*x;z=(m*I+n*e+o*x)*k+(p*I+q*e+r*x)*h+(s*I+t*e+u*x)*f;y=K*(m*k+n*h+o*f)+(p*k+q*h+r*f)*J+(s*k+t*h+u*f)*y;x=I*(m*k+n*h+o*f)+(p*k+q*h+r*f)*e+(s*k+t*h+u*f)*x;u=(m*k+n*h+o*f)*k+(p*k+q*h+r*f)*h+(s*k+t*h+u*f)*f;g[F+180>>2]=w;g[F+184>>2]=v;g[F+188>>2]=C;g[F+192>>2]=0.0;g[F+196>>2]=B;g[F+200>>2]=A;g[F+204>>2]=z;g[F+208>>2]=0.0;g[F+212>>2]=y;g[F+216>>2]=x;g[F+220>>2]=u;g[F+224>>2]=0.0;c[F+316>>2]=0;c[F+316+4>>2]=0;c[F+316+8>>2]=0;c[F+316+12>>2]=0;c[F+316+16>>2]=0;c[F+316+20>>2]=0;c[F+316+24>>2]=0;c[F+316+28>>2]=0;if((E|0)>0){d=c[F+32>>2]|0;i=c[F+12>>2]|0;r=+g[F+228>>2];s=+g[F+232>>2];t=+g[F+236>>2];q=0.0;p=0.0;o=0.0;n=0.0;m=0.0;e=0.0;j=0;do{D=c[d+(j<<2)>>2]|0;M=+g[i+(j<<2)>>2];J=+g[D+40>>2]*M;L=M*+g[D+44>>2];M=M*+g[D+48>>2];q=J+q;g[F+316>>2]=q;p=L+p;g[F+320>>2]=p;o=M+o;g[F+324>>2]=o;I=+g[D+8>>2]-r;K=+g[D+12>>2]-s;N=+g[D+16>>2]-t;n=n+(M*K-L*N);g[F+332>>2]=n;m=J*N-M*I+m;g[F+336>>2]=m;e=L*I-J*K+e;g[F+340>>2]=e;j=j+1|0}while((j|0)!=(E|0));D=F+316|0;d=F+332|0}else{q=0.0;p=0.0;o=0.0;n=0.0;m=0.0;e=0.0;D=F+316|0;d=F+332|0}M=+g[F+128>>2];N=1.0-+g[F+356>>2];g[F+316>>2]=q*M*N;g[F+320>>2]=M*p*N;g[F+324>>2]=M*o*N;g[F+328>>2]=0.0;N=1.0-+g[F+360>>2];g[d>>2]=(w*n+v*m+C*e)*N;g[F+336>>2]=(n*B+m*A+e*z)*N;g[F+340>>2]=N*(n*y+m*x+e*u);g[F+344>>2]=0.0;i=F+244|0;j=i+72|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));e=+g[F+364>>2];a:do if(e>0.0?(c[F+24>>2]|0)>0:0){d=0;while(1){j=c[(c[F+32>>2]|0)+(d<<2)>>2]|0;i=c[F+52>>2]|0;I=+g[i+(d<<4)>>2];J=+g[i+(d<<4)+4>>2];K=+g[i+(d<<4)+8>>2];L=+g[j+8>>2];M=+g[j+12>>2];N=+g[j+16>>2];M=M+e*(I*+g[F+76>>2]+J*+g[F+80>>2]+K*+g[F+84>>2]+ +g[F+112>>2]-M);N=N+e*(I*k+J*h+K*f+ +g[F+116>>2]-N);g[j+8>>2]=L+e*(I*+g[F+60>>2]+J*+g[F+64>>2]+K*+g[F+68>>2]+ +g[F+108>>2]-L);g[j+12>>2]=M;g[j+16>>2]=N;g[j+20>>2]=0.0;d=d+1|0;if((d|0)>=(c[F+24>>2]|0))break a;k=+g[F+92>>2];h=+g[F+96>>2];f=+g[F+100>>2];e=+g[F+364>>2]}}while(0);if(a[F+377>>0]|0){d=c[F+32>>2]|0;j=c[d>>2]|0;e=+g[j+8>>2];q=+g[j+12>>2];r=+g[j+16>>2];f=+g[j+20>>2];if((E|0)>1){i=1;o=e;p=r;n=f;m=q;k=e;h=f;f=q;e=r;do{j=c[d+(i<<2)>>2]|0;K=+g[j+8>>2];o=K>2];m=L>2];p=M>2];n=N>2]=o;g[H+16+4>>2]=m;g[H+16+8>>2]=p;g[H+16+12>>2]=n;g[H+16+16>>2]=k;g[H+16+20>>2]=f;g[H+16+24>>2]=e;g[H+16+28>>2]=h;d=c[F+348>>2]|0;if(!d){d=c[b+1052>>2]|0;if(!d){c[6472]=(c[6472]|0)+1;d=ic(63)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}i=d;j=i+44|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0))}else c[b+1052>>2]=0;c[d+32>>2]=0;c[d+36>>2]=F;c[d+40>>2]=0;c[d>>2]=c[H+16>>2];c[d+4>>2]=c[H+16+4>>2];c[d+8>>2]=c[H+16+8>>2];c[d+12>>2]=c[H+16+12>>2];c[d+16>>2]=c[H+16+16>>2];c[d+20>>2]=c[H+16+20>>2];c[d+24>>2]=c[H+16+24>>2];c[d+28>>2]=c[H+16+28>>2];af(b+1048|0,c[b+1048>>2]|0,d);c[b+1060>>2]=(c[b+1060>>2]|0)+1;c[F+348>>2]=d}else{L=+g[b+452>>2];M=L*+g[F+320>>2]*3.0;N=L*+g[F+324>>2]*3.0;g[H>>2]=+g[D>>2]*L*3.0;g[H+4>>2]=M;g[H+8>>2]=N;g[H+12>>2]=0.0;Zg(b+1048|0,d,H+16|0,H,+g[b+464>>2])|0}}d=c[b+1112>>2]|0}G=G+1|0}while((G|0)<(d|0))}d=c[2405]|0;b=(c[d+16>>2]|0)+-1|0;c[d+16>>2]=b;if(b|0){l=H;return}do if(c[d+4>>2]|0){Za(H+144|0,0)|0;b=c[6471]|0;g[d+8>>2]=+g[d+8>>2]+ +(((c[H+144+4>>2]|0)-(c[b+4>>2]|0)+(((c[H+144>>2]|0)-(c[b>>2]|0)|0)*1e6|0)-(c[d+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[d+16>>2]|0)){d=c[2405]|0;break}else{l=H;return}}while(0);c[2405]=c[d+20>>2];l=H;return}function Hc(d,e,f,h){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;c[d+168>>2]=c[d+152>>2];c[e>>2]=9204;c[e+52>>2]=282;a[e+60>>0]=0;a[e+80>>0]=1;c[e+76>>2]=0;c[e+68>>2]=0;c[e+72>>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;a[e+140>>0]=1;c[e+136>>2]=0;c[e+128>>2]=0;c[e+132>>2]=0;c[e+144>>2]=0;a[e+164>>0]=1;c[e+160>>2]=0;c[e+152>>2]=0;c[e+156>>2]=0;c[e+168>>2]=0;c[e+4>>2]=-8388609;c[e+8>>2]=-8388609;c[e+12>>2]=-8388609;g[e+16>>2]=0.0;c[e+20>>2]=2139095039;c[e+24>>2]=2139095039;c[e+28>>2]=2139095039;g[e+32>>2]=0.0;f=c[d+56>>2]|0;if(h){c[e+56>>2]=TA(f|0)|0;a[e+4>>0]=a[d+4+3>>0]|0;a[e+5>>0]=a[d+4+2>>0]|0;a[e+6>>0]=a[d+4+1>>0]|0;a[e+7>>0]=a[d+4>>0]|0;a[e+8>>0]=a[d+8+3>>0]|0;a[e+9>>0]=a[d+8+2>>0]|0;a[e+10>>0]=a[d+8+1>>0]|0;a[e+11>>0]=a[d+8>>0]|0;a[e+12>>0]=a[d+12+3>>0]|0;a[e+13>>0]=a[d+12+2>>0]|0;a[e+14>>0]=a[d+12+1>>0]|0;a[e+15>>0]=a[d+12>>0]|0;a[e+16>>0]=a[d+16+3>>0]|0;a[e+17>>0]=a[d+16+2>>0]|0;a[e+18>>0]=a[d+16+1>>0]|0;a[e+19>>0]=a[d+16>>0]|0;a[e+20>>0]=a[d+20+3>>0]|0;a[e+21>>0]=a[d+20+2>>0]|0;a[e+22>>0]=a[d+20+1>>0]|0;a[e+23>>0]=a[d+20>>0]|0;a[e+24>>0]=a[d+24+3>>0]|0;a[e+25>>0]=a[d+24+2>>0]|0;a[e+26>>0]=a[d+24+1>>0]|0;a[e+27>>0]=a[d+24>>0]|0;a[e+28>>0]=a[d+28+3>>0]|0;a[e+29>>0]=a[d+28+2>>0]|0;a[e+30>>0]=a[d+28+1>>0]|0;a[e+31>>0]=a[d+28>>0]|0;a[e+32>>0]=a[d+32+3>>0]|0;a[e+33>>0]=a[d+32+2>>0]|0;a[e+34>>0]=a[d+32+1>>0]|0;a[e+35>>0]=a[d+32>>0]|0;a[e+36>>0]=a[d+36+3>>0]|0;a[e+37>>0]=a[d+36+2>>0]|0;a[e+38>>0]=a[d+36+1>>0]|0;a[e+39>>0]=a[d+36>>0]|0;a[e+40>>0]=a[d+40+3>>0]|0;a[e+41>>0]=a[d+40+2>>0]|0;a[e+42>>0]=a[d+40+1>>0]|0;a[e+43>>0]=a[d+40>>0]|0;a[e+44>>0]=a[d+44+3>>0]|0;a[e+45>>0]=a[d+44+2>>0]|0;a[e+46>>0]=a[d+44+1>>0]|0;a[e+47>>0]=a[d+44>>0]|0;a[e+48>>0]=a[d+48+3>>0]|0;a[e+49>>0]=a[d+48+2>>0]|0;a[e+50>>0]=a[d+48+1>>0]|0;a[e+51>>0]=a[d+48>>0]|0;c[e+144>>2]=TA(c[d+144>>2]|0)|0;f=TA(c[d+168>>2]|0)|0}else{c[e+56>>2]=f;c[e+4>>2]=c[d+4>>2];c[e+4+4>>2]=c[d+4+4>>2];c[e+4+8>>2]=c[d+4+8>>2];c[e+4+12>>2]=c[d+4+12>>2];c[e+20>>2]=c[d+20>>2];c[e+20+4>>2]=c[d+20+4>>2];c[e+20+8>>2]=c[d+20+8>>2];c[e+20+12>>2]=c[d+20+12>>2];c[e+36>>2]=c[d+36>>2];c[e+36+4>>2]=c[d+36+4>>2];c[e+36+8>>2]=c[d+36+8>>2];c[e+36+12>>2]=c[d+36+12>>2];c[e+144>>2]=c[d+144>>2];f=c[d+168>>2]|0}c[e+168>>2]=f;a[e+60>>0]=a[d+60>>0]|0;k=c[d+56>>2]|0;if(!(a[d+60>>0]|0)){f=c[e+96>>2]|0;if(f|0){if(a[e+100>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0)}c[e+96>>2]=0}a[e+100>>0]=0;c[e+96>>2]=e+172;c[e+88>>2]=k;c[e+92>>2]=k;if(h)if((k|0)>0){i=c[d+96>>2]|0;f=e+172|0;j=0;do{l=i+(j<<6)|0;n=f+(j<<6)|0;a[n>>0]=a[l+3>>0]|0;a[n+1>>0]=a[l+2>>0]|0;a[n+2>>0]=a[l+1>>0]|0;a[n+3>>0]=a[l>>0]|0;n=i+(j<<6)+4|0;l=f+(j<<6)+4|0;a[l>>0]=a[n+3>>0]|0;a[l+1>>0]=a[n+2>>0]|0;a[l+2>>0]=a[n+1>>0]|0;a[l+3>>0]=a[n>>0]|0;l=i+(j<<6)+8|0;n=f+(j<<6)+8|0;a[n>>0]=a[l+3>>0]|0;a[n+1>>0]=a[l+2>>0]|0;a[n+2>>0]=a[l+1>>0]|0;a[n+3>>0]=a[l>>0]|0;n=i+(j<<6)+12|0;f=f+(j<<6)+12|0;a[f>>0]=a[n+3>>0]|0;a[f+1>>0]=a[n+2>>0]|0;a[f+2>>0]=a[n+1>>0]|0;a[f+3>>0]=a[n>>0]|0;f=c[d+96>>2]|0;n=f+(j<<6)+16|0;l=c[e+96>>2]|0;m=l+(j<<6)+16|0;a[m>>0]=a[n+3>>0]|0;a[m+1>>0]=a[n+2>>0]|0;a[m+2>>0]=a[n+1>>0]|0;a[m+3>>0]=a[n>>0]|0;m=f+(j<<6)+20|0;n=l+(j<<6)+20|0;a[n>>0]=a[m+3>>0]|0;a[n+1>>0]=a[m+2>>0]|0;a[n+2>>0]=a[m+1>>0]|0;a[n+3>>0]=a[m>>0]|0;n=f+(j<<6)+24|0;m=l+(j<<6)+24|0;a[m>>0]=a[n+3>>0]|0;a[m+1>>0]=a[n+2>>0]|0;a[m+2>>0]=a[n+1>>0]|0;a[m+3>>0]=a[n>>0]|0;f=f+(j<<6)+28|0;l=l+(j<<6)+28|0;a[l>>0]=a[f+3>>0]|0;a[l+1>>0]=a[f+2>>0]|0;a[l+2>>0]=a[f+1>>0]|0;a[l+3>>0]=a[f>>0]|0;i=c[d+96>>2]|0;l=TA(c[i+(j<<6)+32>>2]|0)|0;f=c[e+96>>2]|0;c[f+(j<<6)+32>>2]=l;c[f+(j<<6)+36>>2]=TA(c[i+(j<<6)+36>>2]|0)|0;c[f+(j<<6)+40>>2]=TA(c[i+(j<<6)+40>>2]|0)|0;j=j+1|0}while((j|0)!=(k|0))}else f=e+172|0;else if((k|0)>0){f=e+172|0;i=c[d+96>>2]|0;j=0;do{f=f+(j<<6)|0;n=i+(j<<6)|0;c[f>>2]=c[n>>2];c[f+4>>2]=c[n+4>>2];c[f+8>>2]=c[n+8>>2];c[f+12>>2]=c[n+12>>2];f=(c[e+96>>2]|0)+(j<<6)+16|0;n=(c[d+96>>2]|0)+(j<<6)+16|0;c[f>>2]=c[n>>2];c[f+4>>2]=c[n+4>>2];c[f+8>>2]=c[n+8>>2];c[f+12>>2]=c[n+12>>2];i=c[d+96>>2]|0;f=c[e+96>>2]|0;c[f+(j<<6)+32>>2]=c[i+(j<<6)+32>>2];c[f+(j<<6)+36>>2]=c[i+(j<<6)+36>>2];c[f+(j<<6)+40>>2]=c[i+(j<<6)+40>>2];j=j+1|0}while((j|0)!=(k|0))}else f=e+172|0;if(f|0){if(a[e+100>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0)}c[e+96>>2]=0}c[e+88>>2]=0;c[e+88+4>>2]=0;c[e+88+8>>2]=0;a[e+88+12>>0]=0;f=k<<6}else{f=c[e+136>>2]|0;if(f|0){if(a[e+140>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0)}c[e+136>>2]=0}a[e+140>>0]=0;c[e+136>>2]=e+172;c[e+128>>2]=k;c[e+132>>2]=k;if(h){if((k|0)>0){f=c[d+136>>2]|0;i=0;do{b[e+172+(i<<4)>>1]=HG(b[f+(i<<4)>>1]|0)|0;b[e+172+(i<<4)+2>>1]=HG(b[f+(i<<4)+2>>1]|0)|0;b[e+172+(i<<4)+4>>1]=HG(b[f+(i<<4)+4>>1]|0)|0;b[e+172+(i<<4)+6>>1]=HG(b[f+(i<<4)+6>>1]|0)|0;b[e+172+(i<<4)+8>>1]=HG(b[f+(i<<4)+8>>1]|0)|0;b[e+172+(i<<4)+10>>1]=HG(b[f+(i<<4)+10>>1]|0)|0;c[e+172+(i<<4)+12>>2]=TA(c[f+(i<<4)+12>>2]|0)|0;i=i+1|0}while((i|0)!=(k|0))}}else if((k|0)>0){f=c[d+136>>2]|0;i=0;do{b[e+172+(i<<4)>>1]=b[f+(i<<4)>>1]|0;b[e+172+(i<<4)+2>>1]=b[f+(i<<4)+2>>1]|0;b[e+172+(i<<4)+4>>1]=b[f+(i<<4)+4>>1]|0;b[e+172+(i<<4)+6>>1]=b[f+(i<<4)+6>>1]|0;b[e+172+(i<<4)+8>>1]=b[f+(i<<4)+8>>1]|0;b[e+172+(i<<4)+10>>1]=b[f+(i<<4)+10>>1]|0;c[e+172+(i<<4)+12>>2]=c[f+(i<<4)+12>>2];i=i+1|0}while((i|0)!=(k|0))}c[e+128>>2]=0;c[e+128+4>>2]=0;c[e+128+8>>2]=0;a[e+128+12>>0]=0;f=k<<4}k=e+172+f|0;f=c[d+168>>2]|0;i=c[e+160>>2]|0;if(i|0){if(a[e+164>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0)}c[e+160>>2]=0}a[e+164>>0]=0;c[e+160>>2]=k;c[e+152>>2]=f;c[e+156>>2]=f;j=c[d+168>>2]|0;if(h){if((j|0)<=0){c[e>>2]=0;c[e+152>>2]=0;c[e+152+4>>2]=0;c[e+152+8>>2]=0;a[e+152+12>>0]=0;return 1}f=c[d+160>>2]|0;i=0;do{b[k+(i<<5)>>1]=HG(b[f+(i<<5)>>1]|0)|0;b[k+(i<<5)+2>>1]=HG(b[f+(i<<5)+2>>1]|0)|0;b[k+(i<<5)+4>>1]=HG(b[f+(i<<5)+4>>1]|0)|0;b[k+(i<<5)+6>>1]=HG(b[f+(i<<5)+6>>1]|0)|0;b[k+(i<<5)+8>>1]=HG(b[f+(i<<5)+8>>1]|0)|0;b[k+(i<<5)+10>>1]=HG(b[f+(i<<5)+10>>1]|0)|0;c[k+(i<<5)+12>>2]=TA(c[f+(i<<5)+12>>2]|0)|0;c[k+(i<<5)+16>>2]=TA(c[f+(i<<5)+16>>2]|0)|0;i=i+1|0}while((i|0)!=(j|0));c[e>>2]=0;c[e+152>>2]=0;c[e+152+4>>2]=0;c[e+152+8>>2]=0;a[e+152+12>>0]=0;return 1}else{if((j|0)<=0){c[e>>2]=0;c[e+152>>2]=0;c[e+152+4>>2]=0;c[e+152+8>>2]=0;a[e+152+12>>0]=0;return 1}f=c[d+160>>2]|0;i=0;do{b[k+(i<<5)>>1]=b[f+(i<<5)>>1]|0;b[k+(i<<5)+2>>1]=b[f+(i<<5)+2>>1]|0;b[k+(i<<5)+4>>1]=b[f+(i<<5)+4>>1]|0;b[k+(i<<5)+6>>1]=b[f+(i<<5)+6>>1]|0;b[k+(i<<5)+8>>1]=b[f+(i<<5)+8>>1]|0;b[k+(i<<5)+10>>1]=b[f+(i<<5)+10>>1]|0;c[k+(i<<5)+12>>2]=c[f+(i<<5)+12>>2];c[k+(i<<5)+16>>2]=c[f+(i<<5)+16>>2];c[k+(i<<5)+20>>2]=0;c[k+(i<<5)+24>>2]=0;c[k+(i<<5)+28>>2]=0;i=i+1|0}while((i|0)<(c[d+168>>2]|0));c[e>>2]=0;c[e+152>>2]=0;c[e+152+4>>2]=0;c[e+152+8>>2]=0;a[e+152+12>>0]=0;return 1}return 0}function Ic(b,d,e,f,h,i,j,k,m,n){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var o=0.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,A=0,B=0.0,C=0,D=0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0;C=l;l=l+4224|0;if(((c[e+4>>2]|0)+-17|0)>>>0<2)A=((c[f+4>>2]|0)+-17|0)>>>0<2;else A=0;b=0;do{Ge();v=+g[24820+(b<<4)>>2];w=+g[24820+(b<<4)+4>>2];x=+g[24820+(b<<4)+8>>2];z=+g[h+4>>2]*-v+ +g[h+20>>2]*-w+ +g[h+36>>2]*-x;y=+g[h+8>>2]*-v+ +g[h+24>>2]*-w+ +g[h+40>>2]*-x;g[C+1248+(b<<4)>>2]=+g[h>>2]*-v+ +g[h+16>>2]*-w+ +g[h+32>>2]*-x;g[C+1248+(b<<4)+4>>2]=z;g[C+1248+(b<<4)+8>>2]=y;g[C+1248+(b<<4)+12>>2]=0.0;y=v*+g[i+4>>2]+w*+g[i+20>>2]+x*+g[i+36>>2];z=v*+g[i+8>>2]+w*+g[i+24>>2]+x*+g[i+40>>2];g[C+256+(b<<4)>>2]=v*+g[i>>2]+w*+g[i+16>>2]+x*+g[i+32>>2];g[C+256+(b<<4)+4>>2]=y;g[C+256+(b<<4)+8>>2]=z;g[C+256+(b<<4)+12>>2]=0.0;b=b+1|0}while((b|0)!=42);b=qb[c[(c[e>>2]|0)+84>>2]&127](e)|0;if((b|0)>0){p=0;q=42;while(1){Kb[c[(c[e>>2]|0)+88>>2]&127](e,p,C+176|0);y=+g[C+176>>2];z=+g[C+176+4>>2];x=+g[C+176+8>>2];w=y*+g[h+16>>2]+z*+g[h+20>>2]+x*+g[h+24>>2];v=y*+g[h+32>>2]+z*+g[h+36>>2]+x*+g[h+40>>2];g[C+176>>2]=+g[h>>2]*y+ +g[h+4>>2]*z+ +g[h+8>>2]*x;g[C+176+4>>2]=w;g[C+176+8>>2]=v;g[C+176+12>>2]=0.0;Ge();r=24820+(q<<4)|0;c[r>>2]=c[C+176>>2];c[r+4>>2]=c[C+176+4>>2];c[r+8>>2]=c[C+176+8>>2];c[r+12>>2]=c[C+176+12>>2];v=+g[C+176>>2];w=+g[C+176+4>>2];x=+g[C+176+8>>2];z=+g[h+4>>2]*-v+ +g[h+20>>2]*-w+ +g[h+36>>2]*-x;y=+g[h+8>>2]*-v+ +g[h+24>>2]*-w+ +g[h+40>>2]*-x;g[C+1248+(q<<4)>>2]=+g[h>>2]*-v+ +g[h+16>>2]*-w+ +g[h+32>>2]*-x;g[C+1248+(q<<4)+4>>2]=z;g[C+1248+(q<<4)+8>>2]=y;g[C+1248+(q<<4)+12>>2]=0.0;y=v*+g[i+4>>2]+w*+g[i+20>>2]+x*+g[i+36>>2];z=v*+g[i+8>>2]+w*+g[i+24>>2]+x*+g[i+40>>2];g[C+256+(q<<4)>>2]=+g[i>>2]*v+ +g[i+16>>2]*w+ +g[i+32>>2]*x;g[C+256+(q<<4)+4>>2]=y;g[C+256+(q<<4)+8>>2]=z;g[C+256+(q<<4)+12>>2]=0.0;p=p+1|0;if((p|0)==(b|0))break;else q=q+1|0}q=b+42|0}else q=42;b=qb[c[(c[f>>2]|0)+84>>2]&127](f)|0;if((b|0)>0){p=0;r=q;while(1){Kb[c[(c[f>>2]|0)+88>>2]&127](f,p,C+176|0);y=+g[C+176>>2];z=+g[C+176+4>>2];x=+g[C+176+8>>2];w=y*+g[i+16>>2]+z*+g[i+20>>2]+x*+g[i+24>>2];v=y*+g[i+32>>2]+z*+g[i+36>>2]+x*+g[i+40>>2];g[C+176>>2]=+g[i>>2]*y+ +g[i+4>>2]*z+ +g[i+8>>2]*x;g[C+176+4>>2]=w;g[C+176+8>>2]=v;g[C+176+12>>2]=0.0;Ge();D=24820+(r<<4)|0;c[D>>2]=c[C+176>>2];c[D+4>>2]=c[C+176+4>>2];c[D+8>>2]=c[C+176+8>>2];c[D+12>>2]=c[C+176+12>>2];v=+g[C+176>>2];w=+g[C+176+4>>2];x=+g[C+176+8>>2];z=+g[h+4>>2]*-v+ +g[h+20>>2]*-w+ +g[h+36>>2]*-x;y=+g[h+8>>2]*-v+ +g[h+24>>2]*-w+ +g[h+40>>2]*-x;g[C+1248+(r<<4)>>2]=+g[h>>2]*-v+ +g[h+16>>2]*-w+ +g[h+32>>2]*-x;g[C+1248+(r<<4)+4>>2]=z;g[C+1248+(r<<4)+8>>2]=y;g[C+1248+(r<<4)+12>>2]=0.0;y=v*+g[i+4>>2]+w*+g[i+20>>2]+x*+g[i+36>>2];z=v*+g[i+8>>2]+w*+g[i+24>>2]+x*+g[i+40>>2];g[C+256+(r<<4)>>2]=+g[i>>2]*v+ +g[i+16>>2]*w+ +g[i+32>>2]*x;g[C+256+(r<<4)+4>>2]=y;g[C+256+(r<<4)+8>>2]=z;g[C+256+(r<<4)+12>>2]=0.0;p=p+1|0;if((p|0)==(b|0))break;else r=r+1|0}q=b+q|0}Nb[c[(c[e>>2]|0)+76>>2]&127](e,C+1248|0,C+3232|0,q);Nb[c[(c[f>>2]|0)+76>>2]&127](f,C+256|0,C+2240|0,q);if((q|0)>0){z=0.0;w=0.0;x=0.0;b=0;u=0.0;s=999999984306749440.0;while(1){Ge();o=+g[24820+(b<<4)>>2];t=+g[24820+(b<<4)+4>>2];y=+g[24820+(b<<4)+12>>2];v=A?0.0:+g[24820+(b<<4)+8>>2];if(o*o+t*t+v*v>.01?(F=+g[C+3232+(b<<4)>>2],E=+g[C+3232+(b<<4)+4>>2],B=+g[C+3232+(b<<4)+8>>2],I=+g[C+2240+(b<<4)>>2],H=+g[C+2240+(b<<4)+4>>2],G=+g[C+2240+(b<<4)+8>>2],B=o*(I*+g[i>>2]+H*+g[i+4>>2]+G*+g[i+8>>2]+ +g[i+48>>2]-(F*+g[h>>2]+E*+g[h+4>>2]+B*+g[h+8>>2]+ +g[h+48>>2]))+t*(I*+g[i+16>>2]+H*+g[i+20>>2]+G*+g[i+24>>2]+ +g[i+52>>2]-(F*+g[h+16>>2]+E*+g[h+20>>2]+B*+g[h+24>>2]+ +g[h+52>>2]))+v*((A?0.0:I*+g[i+32>>2]+H*+g[i+36>>2]+G*+g[i+40>>2]+ +g[i+56>>2])-(A?0.0:F*+g[h+32>>2]+E*+g[h+36>>2]+B*+g[h+40>>2]+ +g[h+56>>2])),B>2]|0){case 4:case 5:case 10:case 11:case 13:case 1:case 0:case 8:break;default:+gb[c[(c[e>>2]|0)+48>>2]&15](e)}switch(c[f+4>>2]|0){case 4:case 5:case 10:case 11:case 13:case 1:case 0:case 8:break;default:+gb[c[(c[f>>2]|0)+48>>2]&15](f)}if(s<0.0){D=0;l=C;return D|0}switch(c[e+4>>2]|0){case 8:{t=+g[e+28>>2]*+g[e+12>>2];break}case 0:{t=+g[e+44>>2];break}case 1:{t=+g[e+44>>2];break}case 13:{t=+g[e+44>>2];break}case 11:{t=+g[e+44>>2];break}case 10:{t=+g[e+44>>2];break}case 4:case 5:{t=+g[e+44>>2];break}default:t=+gb[c[(c[e>>2]|0)+48>>2]&15](e)}b=c[f+4>>2]|0;switch(b|0){case 8:{b=8;o=+g[f+28>>2]*+g[f+12>>2];break}case 0:{b=0;o=+g[f+44>>2];break}case 1:{b=1;o=+g[f+44>>2];break}case 13:{b=13;o=+g[f+44>>2];break}case 11:{b=11;o=+g[f+44>>2];break}case 10:{b=10;o=+g[f+44>>2];break}case 4:case 5:{o=+g[f+44>>2];break}default:{o=+gb[c[(c[f>>2]|0)+48>>2]&15](f);b=c[f+4>>2]|0}}o=s+(t+o+.5);c[C+176>>2]=9400;c[C+176+4>>2]=0;c[C+176+8>>2]=1065353216;c[C+176+12>>2]=0;g[C+176+16>>2]=0.0;c[C+176+20>>2]=0;c[C+176+24>>2]=d;c[C+176+28>>2]=e;c[C+176+32>>2]=f;c[C+176+36>>2]=c[e+4>>2];c[C+176+40>>2]=b;g[C+176+44>>2]=+gb[c[(c[e>>2]|0)+48>>2]&15](e);g[C+176+48>>2]=+gb[c[(c[f>>2]|0)+48>>2]&15](f);a[C+176+52>>0]=0;c[C+176+60>>2]=-1;c[C+176+72>>2]=1;c[C+176+76>>2]=1;G=x*o+ +g[h+48>>2];H=w*o+ +g[h+52>>2];I=v*o+ +g[h+56>>2];c[C+44>>2]=c[h>>2];c[C+44+4>>2]=c[h+4>>2];c[C+44+8>>2]=c[h+8>>2];c[C+44+12>>2]=c[h+12>>2];c[C+44+16>>2]=c[h+16>>2];c[C+44+16+4>>2]=c[h+16+4>>2];c[C+44+16+8>>2]=c[h+16+8>>2];c[C+44+16+12>>2]=c[h+16+12>>2];c[C+44+32>>2]=c[h+32>>2];c[C+44+32+4>>2]=c[h+32+4>>2];c[C+44+32+8>>2]=c[h+32+8>>2];c[C+44+32+12>>2]=c[h+32+12>>2];g[C+44+48>>2]=G;g[C+44+52>>2]=H;g[C+44+56>>2]=I;g[C+44+60>>2]=0.0;c[C+44+64>>2]=c[i>>2];c[C+44+64+4>>2]=c[i+4>>2];c[C+44+64+8>>2]=c[i+8>>2];c[C+44+64+12>>2]=c[i+12>>2];c[C+44+80>>2]=c[i+16>>2];c[C+44+80+4>>2]=c[i+16+4>>2];c[C+44+80+8>>2]=c[i+16+8>>2];c[C+44+80+12>>2]=c[i+16+12>>2];c[C+44+96>>2]=c[i+32>>2];c[C+44+96+4>>2]=c[i+32+4>>2];c[C+44+96+8>>2]=c[i+32+8>>2];c[C+44+96+12>>2]=c[i+32+12>>2];c[C+44+112>>2]=c[i+48>>2];c[C+44+112+4>>2]=c[i+48+4>>2];c[C+44+112+8>>2]=c[i+48+8>>2];c[C+44+112+12>>2]=c[i+48+12>>2];g[C+44+128>>2]=999999984306749440.0;c[C>>2]=9284;a[C+40>>0]=0;g[C+176+4>>2]=-x;g[C+176+8>>2]=-w;g[C+176+12>>2]=-v;g[C+176+16>>2]=0.0;Bc(C+176|0,C+44|0,C,n,0);o=o-+g[C+36>>2];b=a[C+40>>0]|0;if(b<<24>>24){H=+g[C+24>>2]-w*o;I=+g[C+28>>2]-v*o;g[k>>2]=+g[C+20>>2]-x*o;g[k+4>>2]=H;g[k+8>>2]=I;g[k+12>>2]=0.0;c[m>>2]=c[C+20>>2];c[m+4>>2]=c[C+20+4>>2];c[m+8>>2]=c[C+20+8>>2];c[m+12>>2]=c[C+20+12>>2];g[j>>2]=x;g[j+4>>2]=w;g[j+8>>2]=v;g[j+12>>2]=u}D=b<<24>>24!=0;l=C;return D|0}function Jc(d,e){d=d|0;e=+e;var f=0,h=0,i=0,j=0,k=0.0,m=0,n=0.0,o=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,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.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0;B=l;l=l+464|0;bj(12063);f=c[d+84>>2]|0;if(f|0)Bb[f&31](d,e);Bb[c[(c[d>>2]|0)+140>>2]&31](d,e);g[d+28>>2]=e;c[d+32>>2]=0;c[d+48>>2]=qb[c[(c[d>>2]|0)+20>>2]&127](d)|0;bj(12106);bj(12131);f=c[d+316>>2]|0;if((c[d+308>>2]|0)>0){h=0;do{s=c[d+24>>2]|0;Gb[c[(c[s>>2]|0)+16>>2]&127](s,c[f+(h<<2)>>2]|0);h=h+1|0;f=c[d+316>>2]|0}while((h|0)<(c[d+308>>2]|0))}if(f|0){if(a[d+320>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0)}c[d+316>>2]=0}a[d+320>>0]=1;c[d+316>>2]=0;c[d+308>>2]=0;c[d+312>>2]=0;f=c[2405]|0;s=(c[f+16>>2]|0)+-1|0;c[f+16>>2]=s;do if(!s){if(c[f+4>>2]|0){Za(B+368|0,0)|0;s=c[6471]|0;g[f+8>>2]=+g[f+8>>2]+ +(((c[B+368+4>>2]|0)-(c[s+4>>2]|0)+(((c[B+368>>2]|0)-(c[s>>2]|0)|0)*1e6|0)-(c[f+12>>2]|0)|0)>>>0)/1.0e3;if(c[f+16>>2]|0)break;f=c[2405]|0}c[2405]=c[f+20>>2]}while(0);a:do if((c[d+232>>2]|0)>0){s=B+304+48|0;r=B+368+44|0;q=0;while(1){j=c[(c[d+240>>2]|0)+(q<<2)>>2]|0;g[j+244>>2]=1.0;b:do switch(c[j+216>>2]|0){case 2:case 5:break;default:if(((c[j+204>>2]&3|0)==0?(Ig(j+4|0,+g[j+312>>2],+g[j+316>>2],+g[j+320>>2],j+328|0,e,B+304|0),t=+g[s>>2],y=t-+g[j+52>>2],u=+g[B+304+52>>2],A=u-+g[j+56>>2],v=+g[B+304+56>>2],z=v-+g[j+60>>2],a[d+44>>0]|0):0)?(p=+g[j+252>>2],p*p!=0.0?p*p>2]|0)+4>>2]|0)<20?(c[5853]=(c[5853]|0)+1,i=c[d+68>>2]|0,i=qb[c[(c[i>>2]|0)+36>>2]&127](i)|0,m=c[d+24>>2]|0,g[B+368+4>>2]=1.0,b[B+368+8>>1]=1,b[B+368+10>>1]=-1,c[B+368+12>>2]=c[j+52>>2],c[B+368+12+4>>2]=c[j+52+4>>2],c[B+368+12+8>>2]=c[j+52+8>>2],c[B+368+12+12>>2]=c[j+52+12>>2],c[B+368+28>>2]=c[s>>2],c[B+368+28+4>>2]=c[s+4>>2],c[B+368+28+8>>2]=c[s+8>>2],c[B+368+28+12>>2]=c[s+12>>2],c[B+368+76>>2]=0,c[B+368>>2]=4476,c[B+368+80>>2]=j,c[B+368+88>>2]=i,c[B+368+92>>2]=m,m=c[j+248>>2]|0,c[B+248+8>>2]=0,c[B+248+12>>2]=1065353216,c[B+248+16>>2]=1065353216,c[B+248+20>>2]=1065353216,g[B+248+24>>2]=0.0,c[B+248>>2]=6864,c[B+248+4>>2]=8,c[B+248+28>>2]=m,c[B+248+44>>2]=m,c[B+368+84>>2]=c[d+56>>2],m=c[(c[j+188>>2]|0)+4>>2]|0,b[B+368+8>>1]=m,b[B+368+10>>1]=m>>>16,c[B+184+48>>2]=c[s>>2],c[B+184+48+4>>2]=c[s+4>>2],c[B+184+48+8>>2]=c[s+8>>2],c[B+184+48+12>>2]=c[s+12>>2],c[B+184>>2]=c[j+4>>2],c[B+184+4>>2]=c[j+4+4>>2],c[B+184+8>>2]=c[j+4+8>>2],c[B+184+12>>2]=c[j+4+12>>2],c[B+184+16>>2]=c[j+20>>2],c[B+184+16+4>>2]=c[j+20+4>>2],c[B+184+16+8>>2]=c[j+20+8>>2],c[B+184+16+12>>2]=c[j+20+12>>2],c[B+184+32>>2]=c[j+36>>2],c[B+184+32+4>>2]=c[j+36+4>>2],c[B+184+32+8>>2]=c[j+36+8>>2],c[B+184+32+12>>2]=c[j+36+12>>2],zd(d,B+248|0,j+4|0,B+184|0,B+368|0,0.0),w=+g[B+368+4>>2],w<1.0):0){n=w*(t-+g[j+52>>2]);o=w*(u-+g[j+56>>2]);p=w*(v-+g[j+60>>2]);k=-(o*+g[B+368+48>>2])-n*+g[r>>2]-p*+g[B+368+52>>2];m=c[d+24>>2]|0;m=ub[c[(c[m>>2]|0)+12>>2]&63](m,j,c[B+368+76>>2]|0)|0;f=c[d+308>>2]|0;if((f|0)==(c[d+312>>2]|0)?(x=f|0?f<<1:1,(f|0)<(x|0)):0){if(!x)h=0;else{c[6472]=(c[6472]|0)+1;f=ic((x<<2|3)+16|0)|0;if(!f)h=0;else{c[(f+4+15&-16)+-4>>2]=f;h=f+4+15&-16}f=c[d+308>>2]|0}if((f|0)>0){i=0;do{c[h+(i<<2)>>2]=c[(c[d+316>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(f|0))}i=c[d+316>>2]|0;if(i){if(a[d+320>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0);f=c[d+308>>2]|0}c[d+316>>2]=0}a[d+320>>0]=1;c[d+316>>2]=h;c[d+312>>2]=x}c[(c[d+316>>2]|0)+(f<<2)>>2]=m;c[d+308>>2]=f+1;n=n+ +g[j+52>>2];o=o+ +g[j+56>>2];p=p+ +g[j+60>>2];i=c[B+368+76>>2]|0;N=+g[i+4>>2];M=+g[i+20>>2];L=+g[i+36>>2];K=+g[i+8>>2];J=+g[i+24>>2];I=+g[i+40>>2];H=+g[i+12>>2];F=+g[i+28>>2];D=+g[i+44>>2];G=-+g[i+52>>2];E=-+g[i+56>>2];C=-+g[i+60>>2];c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;c[B+12>>2]=0;g[B+16>>2]=n*N+o*M+p*L+(N*G+M*E+L*C);g[B+20>>2]=n*K+o*J+p*I+(K*G+J*E+I*C);g[B+24>>2]=n*H+o*F+p*D+(H*G+F*E+D*C);g[B+28>>2]=0.0;c[B+64>>2]=c[r>>2];c[B+64+4>>2]=c[r+4>>2];c[B+64+8>>2]=c[r+8>>2];c[B+64+12>>2]=c[r+12>>2];g[B+80>>2]=k;g[B+84>>2]=0.0;g[B+88>>2]=0.0;g[B+92>>2]=0.0;c[B+112>>2]=0;a[B+116>>0]=0;c[B+120>>2]=0;c[B+120+4>>2]=0;c[B+120+8>>2]=0;c[B+120+12>>2]=0;c[B+120+16>>2]=0;c[B+120+20>>2]=0;c[B+120+24>>2]=0;c[B+120+28>>2]=0;i=_e(m,B)|0;g[m+4+(i*184|0)+92>>2]=0.0;k=+g[j+224>>2]*+g[(c[B+368+76>>2]|0)+224>>2];k=k<-10.0?-10.0:k;g[m+4+(i*184|0)+84>>2]=k>10.0?10.0:k;c[m+4+(i*184|0)+48>>2]=c[j+52>>2];c[m+4+(i*184|0)+48+4>>2]=c[j+52+4>>2];c[m+4+(i*184|0)+48+8>>2]=c[j+52+8>>2];c[m+4+(i*184|0)+48+12>>2]=c[j+52+12>>2];g[m+4+(i*184|0)+32>>2]=n;g[m+4+(i*184|0)+36>>2]=o;g[m+4+(i*184|0)+40>>2]=p;g[m+4+(i*184|0)+44>>2]=0.0}f=c[2405]|0;m=(c[f+16>>2]|0)+-1|0;c[f+16>>2]=m;if(!m){if(c[f+4>>2]|0){Za(B+368|0,0)|0;m=c[6471]|0;g[f+8>>2]=+g[f+8>>2]+ +(((c[B+368+4>>2]|0)-(c[m+4>>2]|0)+(((c[B+368>>2]|0)-(c[m>>2]|0)|0)*1e6|0)-(c[f+12>>2]|0)|0)>>>0)/1.0e3;if(c[f+16>>2]|0)break b;f=c[2405]|0}c[2405]=c[f+20>>2]}}}while(0);q=q+1|0;if((q|0)>=(c[d+232>>2]|0))break a}}while(0);f=c[2405]|0;x=(c[f+16>>2]|0)+-1|0;c[f+16>>2]=x;do if(!x){if(c[f+4>>2]|0){Za(B+368|0,0)|0;x=c[6471]|0;g[f+8>>2]=+g[f+8>>2]+ +(((c[B+368+4>>2]|0)-(c[x+4>>2]|0)+(((c[B+368>>2]|0)-(c[x>>2]|0)|0)*1e6|0)-(c[f+12>>2]|0)|0)>>>0)/1.0e3;if(c[f+16>>2]|0)break;f=c[2405]|0}c[2405]=c[f+20>>2]}while(0);Ab[c[(c[d>>2]|0)+44>>2]&511](d);Ab[c[(c[d>>2]|0)+148>>2]&511](d);g[d+104>>2]=e;Gb[c[(c[d>>2]|0)+152>>2]&127](d,d+92|0);Bb[c[(c[d>>2]|0)+144>>2]&31](d,e);bj(12092);if((c[d+280>>2]|0)>0){f=0;do{x=c[(c[d+288>>2]|0)+(f<<2)>>2]|0;Hb[c[(c[x>>2]|0)+8>>2]&7](x,d,e);f=f+1|0}while((f|0)<(c[d+280>>2]|0))}f=c[2405]|0;x=(c[f+16>>2]|0)+-1|0;c[f+16>>2]=x;do if(!x){if(c[f+4>>2]|0){Za(B+368|0,0)|0;x=c[6471]|0;g[f+8>>2]=+g[f+8>>2]+ +(((c[B+368+4>>2]|0)-(c[x+4>>2]|0)+(((c[B+368>>2]|0)-(c[x>>2]|0)|0)*1e6|0)-(c[f+12>>2]|0)|0)>>>0)/1.0e3;if(c[f+16>>2]|0)break;f=c[2405]|0}c[2405]=c[f+20>>2]}while(0);Bb[c[(c[d>>2]|0)+156>>2]&31](d,e);f=c[d+80>>2]|0;if(f|0)Bb[f&31](d,e);f=c[2405]|0;d=(c[f+16>>2]|0)+-1|0;c[f+16>>2]=d;if(d|0){l=B;return}do if(c[f+4>>2]|0){Za(B+368|0,0)|0;d=c[6471]|0;g[f+8>>2]=+g[f+8>>2]+ +(((c[B+368+4>>2]|0)-(c[d+4>>2]|0)+(((c[B+368>>2]|0)-(c[d>>2]|0)|0)*1e6|0)-(c[f+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[f+16>>2]|0)){f=c[2405]|0;break}else{l=B;return}}while(0);c[2405]=c[f+20>>2];l=B;return}function Kc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0.0,k=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,D=0,E=0,F=0,G=0.0,H=0.0;F=l;l=l+784|0;c[F+168+8>>2]=0;c[F+168+12>>2]=1065353216;c[F+168+16>>2]=1065353216;c[F+168+20>>2]=1065353216;g[F+168+24>>2]=0.0;c[F+168>>2]=6864;c[F+168+4>>2]=8;g[F+168+28>>2]=0.0;g[F+168+44>>2]=0.0;D=c[e+4>>2]|0;E=c[e+12>>2]|0;h=c[D+4>>2]|0;if((h|0)<20){c[F+600>>2]=3832;c[F+600+168>>2]=0;g[F+600+172>>2]=0.0;c[F+600+164>>2]=c[f+4>>2];g[F+240+308>>2]=9.999999747378752e-05;a[F+240+332>>0]=0;c[F+224>>2]=5156;c[F+224+4>>2]=F+240;c[F+224+8>>2]=F+168;c[F+224+12>>2]=D;c[F+152>>2]=9332;c[F+152+4>>2]=F+240;c[F+152+8>>2]=F+168;c[F+152+12>>2]=D;D=(c[f+16>>2]&8|0)==0?F+224|0:F+152|0;if((wb[c[(c[D>>2]|0)+8>>2]&3](D,b,d,E,E,F+600|0)|0?(i=F+600+132|0,j=+g[i>>2],k=+g[F+600+136>>2],m=+g[F+600+140>>2],j*j+k*k+m*m>9.999999747378752e-05):0)?(n=+g[F+600+164>>2],n<+g[f+4>>2]):0){B=1.0/+C(+(j*j+k*k+m*m));g[i>>2]=j*B;g[F+600+136>>2]=k*B;g[F+600+140>>2]=m*B;c[F+120>>2]=c[e+8>>2];c[F+120+4>>2]=0;c[F+120+8>>2]=c[i>>2];c[F+120+8+4>>2]=c[i+4>>2];c[F+120+8+8>>2]=c[i+8>>2];c[F+120+8+12>>2]=c[i+12>>2];g[F+120+24>>2]=n;+jb[c[(c[f>>2]|0)+12>>2]&15](f,F+120|0,1)}l=F;return}if((h+-21|0)>>>0>=9){if((h|0)!=31){l=F;return}h=c[D+64>>2]|0;e=c[e+8>>2]|0;c[F+600>>2]=5952;c[F+600+4>>2]=e;c[F+600+8>>2]=D;c[F+600+12>>2]=E;c[F+600+16>>2]=b;c[F+600+20>>2]=d;c[F+600+24>>2]=f;if(!h){h=c[D+16>>2]|0;if((h|0)>0){i=0;do{If(F+600|0,i);i=i+1|0}while((i|0)<(h|0))}}else{w=+g[E+48>>2];n=+g[b+48>>2]-w;y=+g[E+52>>2];o=+g[b+52>>2]-y;A=+g[E+56>>2];p=+g[b+56>>2]-A;q=+g[E>>2];r=+g[E+16>>2];s=+g[E+32>>2];t=+g[E+4>>2];u=+g[E+20>>2];v=+g[E+36>>2];x=+g[E+8>>2];z=+g[E+24>>2];B=+g[E+40>>2];g[F+240>>2]=n*q+o*r+p*s;g[F+240+4>>2]=n*t+o*u+p*v;g[F+240+8>>2]=n*x+o*z+p*B;g[F+240+12>>2]=0.0;w=+g[d+48>>2]-w;y=+g[d+52>>2]-y;A=+g[d+56>>2]-A;g[F+224>>2]=w*q+y*r+A*s;g[F+224+4>>2]=w*t+y*u+A*v;g[F+224+8>>2]=w*x+y*z+A*B;g[F+224+12>>2]=0.0;ze(c[h>>2]|0,F+240|0,F+224|0,F+600|0)}l=F;return}o=+g[E>>2];p=+g[E+16>>2];j=+g[E+32>>2];m=+g[E+4>>2];t=+g[E+20>>2];u=+g[E+36>>2];k=+g[E+8>>2];x=+g[E+24>>2];y=+g[E+40>>2];z=-+g[E+48>>2];A=-+g[E+52>>2];B=-+g[E+56>>2];q=+g[b+48>>2];r=+g[b+52>>2];n=+g[b+56>>2];g[F+152>>2]=o*z+p*A+j*B+(o*q+p*r+j*n);g[F+152+4>>2]=m*z+t*A+u*B+(m*q+t*r+u*n);g[F+152+8>>2]=k*z+x*A+y*B+(k*q+x*r+y*n);g[F+152+12>>2]=0.0;v=+g[d+48>>2];w=+g[d+52>>2];s=+g[d+56>>2];j=o*z+p*A+j*B+(o*v+p*w+j*s);m=m*z+t*A+u*B+(m*v+t*w+u*s);k=k*z+x*A+y*B+(k*v+x*w+y*s);g[F+120>>2]=j;g[F+120+4>>2]=m;g[F+120+8>>2]=k;g[F+120+12>>2]=0.0;switch(c[D+4>>2]|0){case 21:{h=c[e+8>>2]|0;e=c[f+16>>2]|0;c[F+4>>2]=c[F+152>>2];c[F+4+4>>2]=c[F+152+4>>2];c[F+4+8>>2]=c[F+152+8>>2];c[F+4+12>>2]=c[F+152+12>>2];c[F+20>>2]=c[F+120>>2];c[F+20+4>>2]=c[F+120+4>>2];c[F+20+8>>2]=c[F+120+8>>2];c[F+20+12>>2]=c[F+120+12>>2];c[F+36>>2]=e;g[F+40>>2]=1.0;c[F>>2]=5904;c[F+44>>2]=f;c[F+48>>2]=h;c[F+52>>2]=D;c[F+56>>2]=c[E>>2];c[F+56+4>>2]=c[E+4>>2];c[F+56+8>>2]=c[E+8>>2];c[F+56+12>>2]=c[E+12>>2];c[F+72>>2]=c[E+16>>2];c[F+72+4>>2]=c[E+16+4>>2];c[F+72+8>>2]=c[E+16+8>>2];c[F+72+12>>2]=c[E+16+12>>2];c[F+88>>2]=c[E+32>>2];c[F+88+4>>2]=c[E+32+4>>2];c[F+88+8>>2]=c[E+32+8>>2];c[F+88+12>>2]=c[E+32+12>>2];c[F+104>>2]=c[E+48>>2];c[F+104+4>>2]=c[E+48+4>>2];c[F+104+8>>2]=c[E+48+8>>2];c[F+104+12>>2]=c[E+48+12>>2];c[F+40>>2]=c[f+4>>2];h=c[D+48>>2]|0;c[F+224>>2]=7076;c[F+224+4>>2]=h;c[F+224+8>>2]=F;h=c[D+52>>2]|0;c[F+600>>2]=0;c[F+600+4>>2]=0;c[F+600+8>>2]=0;c[F+600+12>>2]=0;c[F+240>>2]=0;c[F+240+4>>2]=0;c[F+240+8>>2]=0;c[F+240+12>>2]=0;if(!(a[h+60>>0]|0))De(h,F+224|0,F+152|0,j,m,k,F+600|0,F+240|0);else ke(h,F+224|0,F+152|0,j,m,k,F+600|0,F+240|0,c[h+56>>2]|0);break}case 25:{e=c[e+8>>2]|0;d=c[f+16>>2]|0;c[F+600+4>>2]=c[F+152>>2];c[F+600+4+4>>2]=c[F+152+4>>2];c[F+600+4+8>>2]=c[F+152+8>>2];c[F+600+4+12>>2]=c[F+152+12>>2];c[F+600+20>>2]=c[F+120>>2];c[F+600+20+4>>2]=c[F+120+4>>2];c[F+600+20+8>>2]=c[F+120+8>>2];c[F+600+20+12>>2]=c[F+120+12>>2];c[F+600+36>>2]=d;g[F+600+40>>2]=1.0;c[F+600>>2]=5904;c[F+600+44>>2]=f;c[F+600+48>>2]=e;c[F+600+52>>2]=D;c[F+600+56>>2]=c[E>>2];c[F+600+56+4>>2]=c[E+4>>2];c[F+600+56+8>>2]=c[E+8>>2];c[F+600+56+12>>2]=c[E+12>>2];c[F+600+72>>2]=c[E+16>>2];c[F+600+72+4>>2]=c[E+16+4>>2];c[F+600+72+8>>2]=c[E+16+8>>2];c[F+600+72+12>>2]=c[E+16+12>>2];c[F+600+88>>2]=c[E+32>>2];c[F+600+88+4>>2]=c[E+32+4>>2];c[F+600+88+8>>2]=c[E+32+8>>2];c[F+600+88+12>>2]=c[E+32+12>>2];c[F+600+104>>2]=c[E+48>>2];c[F+600+104+4>>2]=c[E+48+4>>2];c[F+600+104+8>>2]=c[E+48+8>>2];c[F+600+104+12>>2]=c[E+48+12>>2];c[F+600+40>>2]=c[f+4>>2];Nb[c[(c[D>>2]|0)+144>>2]&127](D,F+600|0,F+152|0,F+120|0);break}default:{H=+g[E>>2];G=+g[E+16>>2];m=+g[E+32>>2];k=+g[E+4>>2];j=+g[E+8>>2];o=H*z+G*A+m*B+(H*q+G*r+m*n);p=k*z+t*A+u*B+(k*q+t*r+u*n);n=j*z+x*A+y*B+(j*q+x*r+y*n);m=H*z+G*A+m*B+(H*v+G*w+m*s);k=k*z+t*A+u*B+(k*v+t*w+u*s);j=j*z+x*A+y*B+(j*v+x*w+y*s);e=c[e+8>>2]|0;d=c[f+16>>2]|0;g[F+600+4>>2]=o;g[F+600+8>>2]=p;g[F+600+12>>2]=n;g[F+600+16>>2]=0.0;g[F+600+20>>2]=m;g[F+600+24>>2]=k;g[F+600+28>>2]=j;g[F+600+32>>2]=0.0;c[F+600+36>>2]=d;g[F+600+40>>2]=1.0;c[F+600>>2]=5928;c[F+600+44>>2]=f;c[F+600+48>>2]=e;c[F+600+52>>2]=D;c[F+600+56>>2]=c[E>>2];c[F+600+56+4>>2]=c[E+4>>2];c[F+600+56+8>>2]=c[E+8>>2];c[F+600+56+12>>2]=c[E+12>>2];c[F+600+72>>2]=c[E+16>>2];c[F+600+72+4>>2]=c[E+16+4>>2];c[F+600+72+8>>2]=c[E+16+8>>2];c[F+600+72+12>>2]=c[E+16+12>>2];c[F+600+88>>2]=c[E+32>>2];c[F+600+88+4>>2]=c[E+32+4>>2];c[F+600+88+8>>2]=c[E+32+8>>2];c[F+600+88+12>>2]=c[E+32+12>>2];c[F+600+104>>2]=c[E+48>>2];c[F+600+104+4>>2]=c[E+48+4>>2];c[F+600+104+8>>2]=c[E+48+8>>2];c[F+600+104+12>>2]=c[E+48+12>>2];c[F+600+40>>2]=c[f+4>>2];g[F+240>>2]=o;g[F+240+4>>2]=p;g[F+240+8>>2]=n;g[F+240+12>>2]=0.0;if(m>2]=m;if(k>2]=k;if(j>2]=j;g[F+224>>2]=o;g[F+224+4>>2]=p;g[F+224+8>>2]=n;g[F+224+12>>2]=0.0;if(o>2]=m;if(p>2]=k;if(n>2]=j;Nb[c[(c[D>>2]|0)+64>>2]&127](D,F+600|0,F+240|0,F+224|0)}}l=F;return}function Lc(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.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0;h=c[b+48>>2]|0;q=c[b+28>>2]|0;r=c[b+68>>2]|0;if(c[l+64>>2]&1|0){if((h|0)>0){i=c[b+136>>2]|0;m=c[b+192>>2]|0;p=0;do{o=i+(p<<2)|0;f=c[o>>2]|0;p=p+1|0;m=(O(m,1664525)|0)+1013904223|0;if(p>>>0<65537){e=m>>>16^m;if(p>>>0<257)if(p>>>0<17){e=(e>>>8^e)>>>4^(e>>>8^e);if(p>>>0<5)e=(p>>>0<3?(e>>>2^e)>>>1:0)^(e>>>2^e)}else e=e>>>8^e}else e=m;e=i+(((e>>>0)%(p>>>0)|0)<<2)|0;c[o>>2]=c[e>>2];c[e>>2]=f}while((p|0)!=(h|0));c[b+192>>2]=m}if((c[l+20>>2]|0)>(d|0)){if((q|0)>0){f=c[b+116>>2]|0;i=c[b+192>>2]|0;o=0;do{m=f+(o<<2)|0;h=c[m>>2]|0;o=o+1|0;i=(O(i,1664525)|0)+1013904223|0;if(o>>>0<65537){e=i>>>16^i;if(o>>>0<257)if(o>>>0<17){e=(e>>>8^e)>>>4^(e>>>8^e);if(o>>>0<5)e=(o>>>0<3?(e>>>2^e)>>>1:0)^(e>>>2^e)}else e=e>>>8^e}else e=i;p=f+(((e>>>0)%(o>>>0)|0)<<2)|0;c[m>>2]=c[p>>2];c[p>>2]=h}while((o|0)!=(q|0));c[b+192>>2]=i}if((r|0)>0){f=c[b+156>>2]|0;i=c[b+192>>2]|0;o=0;do{m=f+(o<<2)|0;h=c[m>>2]|0;o=o+1|0;i=(O(i,1664525)|0)+1013904223|0;if(o>>>0<65537){e=i>>>16^i;if(o>>>0<257)if(o>>>0<17){e=(e>>>8^e)>>>4^(e>>>8^e);if(o>>>0<5)e=(o>>>0<3?(e>>>2^e)>>>1:0)^(e>>>2^e)}else e=e>>>8^e}else e=i;q=f+(((e>>>0)%(o>>>0)|0)<<2)|0;c[m>>2]=c[q>>2];c[q>>2]=h}while((o|0)!=(r|0));c[b+192>>2]=i}}}e=c[b+48>>2]|0;if(!(c[l+64>>2]&256)){if((e|0)>0){i=0;do{f=c[(c[b+136>>2]|0)+(i<<2)>>2]|0;h=c[b+56>>2]|0;if((c[h+(f*152|0)+136>>2]|0)>(d|0)){e=c[b+16>>2]|0;pg(e+((c[h+(f*152|0)+144>>2]|0)*244|0)|0,e+((c[h+(f*152|0)+148>>2]|0)*244|0)|0,h+(f*152|0)|0);e=c[b+48>>2]|0}i=i+1|0}while((i|0)<(e|0))}if((c[l+20>>2]|0)<=(d|0))return 0.0;if((k|0)>0){h=0;do{f=j+(h<<2)|0;e=c[f>>2]|0;if(a[e+20>>0]|0){d=Gj(b,c[e+28>>2]|0,+g[l+12>>2])|0;t=Gj(b,c[(c[f>>2]|0)+32>>2]|0,+g[l+12>>2])|0;s=c[b+16>>2]|0;r=c[f>>2]|0;Lb[c[(c[r>>2]|0)+24>>2]&15](r,s+(d*244|0)|0,s+(t*244|0)|0,+g[l+12>>2])}h=h+1|0}while((h|0)!=(k|0))}e=c[b+28>>2]|0;if((e|0)>0){f=0;do{l=c[(c[b+116>>2]|0)+(f<<2)>>2]|0;k=c[b+36>>2]|0;j=c[b+16>>2]|0;xg(j+((c[k+(l*152|0)+144>>2]|0)*244|0)|0,j+((c[k+(l*152|0)+148>>2]|0)*244|0)|0,k+(l*152|0)|0);f=f+1|0}while((f|0)!=(e|0))}e=c[b+68>>2]|0;if((e|0)>0){i=0;do{f=c[(c[b+156>>2]|0)+(i<<2)>>2]|0;h=c[b+76>>2]|0;n=+g[(c[b+36>>2]|0)+((c[h+(f*152|0)+140>>2]|0)*152|0)+100>>2];if(n>0.0){n=n*+g[h+(f*152|0)+104>>2];g[h+(f*152|0)+120>>2]=-n;g[h+(f*152|0)+124>>2]=n;l=c[b+16>>2]|0;pg(l+((c[h+(f*152|0)+144>>2]|0)*244|0)|0,l+((c[h+(f*152|0)+148>>2]|0)*244|0)|0,h+(f*152|0)|0)}i=i+1|0}while((i|0)!=(e|0))}e=c[b+88>>2]|0;if((e|0)<=0)return 0.0;h=0;do{f=c[b+96>>2]|0;n=+g[(c[b+36>>2]|0)+((c[f+(h*152|0)+140>>2]|0)*152|0)+100>>2];if(n>0.0){u=+g[f+(h*152|0)+104>>2];n=n*u>u?u:n*u;g[f+(h*152|0)+120>>2]=-n;g[f+(h*152|0)+124>>2]=n;l=c[b+16>>2]|0;pg(l+((c[f+(h*152|0)+144>>2]|0)*244|0)|0,l+((c[f+(h*152|0)+148>>2]|0)*244|0)|0,f+(h*152|0)|0)}h=h+1|0}while((h|0)!=(e|0));return 0.0}if((e|0)>0){i=0;do{f=c[(c[b+136>>2]|0)+(i<<2)>>2]|0;h=c[b+56>>2]|0;if((c[h+(f*152|0)+136>>2]|0)>(d|0)){e=c[b+16>>2]|0;pg(e+((c[h+(f*152|0)+144>>2]|0)*244|0)|0,e+((c[h+(f*152|0)+148>>2]|0)*244|0)|0,h+(f*152|0)|0);e=c[b+48>>2]|0}i=i+1|0}while((i|0)<(e|0))}if((c[l+20>>2]|0)<=(d|0))return 0.0;if((k|0)>0){h=0;do{f=j+(h<<2)|0;e=c[f>>2]|0;if(a[e+20>>0]|0){q=Gj(b,c[e+28>>2]|0,+g[l+12>>2])|0;d=Gj(b,c[(c[f>>2]|0)+32>>2]|0,+g[l+12>>2])|0;r=c[b+16>>2]|0;p=c[f>>2]|0;Lb[c[(c[p>>2]|0)+24>>2]&15](p,r+(q*244|0)|0,r+(d*244|0)|0,+g[l+12>>2])}h=h+1|0}while((h|0)!=(k|0))}e=c[l+64>>2]|0;o=c[b+28>>2]|0;if(e&512|0){if((o|0)<=0)return 0.0;i=0;do{m=c[(c[b+116>>2]|0)+(i<<2)>>2]|0;f=c[b+36>>2]|0;h=c[b+16>>2]|0;xg(h+((c[f+(m*152|0)+144>>2]|0)*244|0)|0,h+((c[f+(m*152|0)+148>>2]|0)*244|0)|0,f+(m*152|0)|0);n=+g[f+(m*152|0)+100>>2];m=O(i,(e>>>4&1)+1|0)|0;f=c[(c[b+156>>2]|0)+(m<<2)>>2]|0;h=c[b+76>>2]|0;if(n>0.0){u=n*+g[h+(f*152|0)+104>>2];g[h+(f*152|0)+120>>2]=-u;g[h+(f*152|0)+124>>2]=u;k=c[b+16>>2]|0;pg(k+((c[h+(f*152|0)+144>>2]|0)*244|0)|0,k+((c[h+(f*152|0)+148>>2]|0)*244|0)|0,h+(f*152|0)|0)}if(c[l+64>>2]&16|0?(s=c[(c[b+156>>2]|0)+(m+1<<2)>>2]|0,t=c[b+76>>2]|0,n>0.0):0){u=n*+g[t+(s*152|0)+104>>2];g[t+(s*152|0)+120>>2]=-u;g[t+(s*152|0)+124>>2]=u;k=c[b+16>>2]|0;pg(k+((c[t+(s*152|0)+144>>2]|0)*244|0)|0,k+((c[t+(s*152|0)+148>>2]|0)*244|0)|0,t+(s*152|0)|0)}i=i+1|0}while((i|0)!=(o|0));return 0.0}if((o|0)>0){e=0;do{l=c[(c[b+116>>2]|0)+(e<<2)>>2]|0;k=c[b+36>>2]|0;j=c[b+16>>2]|0;xg(j+((c[k+(l*152|0)+144>>2]|0)*244|0)|0,j+((c[k+(l*152|0)+148>>2]|0)*244|0)|0,k+(l*152|0)|0);e=e+1|0}while((e|0)!=(o|0))}e=c[b+68>>2]|0;if((e|0)>0){i=0;do{f=c[(c[b+156>>2]|0)+(i<<2)>>2]|0;h=c[b+76>>2]|0;n=+g[(c[b+36>>2]|0)+((c[h+(f*152|0)+140>>2]|0)*152|0)+100>>2];if(n>0.0){u=n*+g[h+(f*152|0)+104>>2];g[h+(f*152|0)+120>>2]=-u;g[h+(f*152|0)+124>>2]=u;l=c[b+16>>2]|0;pg(l+((c[h+(f*152|0)+144>>2]|0)*244|0)|0,l+((c[h+(f*152|0)+148>>2]|0)*244|0)|0,h+(f*152|0)|0)}i=i+1|0}while((i|0)!=(e|0))}e=c[b+88>>2]|0;if((e|0)<=0)return 0.0;h=0;do{f=c[b+96>>2]|0;n=+g[(c[b+36>>2]|0)+((c[f+(h*152|0)+140>>2]|0)*152|0)+100>>2];if(n>0.0){u=+g[f+(h*152|0)+104>>2];u=n*u>u?u:n*u;g[f+(h*152|0)+120>>2]=-u;g[f+(h*152|0)+124>>2]=u;l=c[b+16>>2]|0;pg(l+((c[f+(h*152|0)+144>>2]|0)*244|0)|0,l+((c[f+(h*152|0)+148>>2]|0)*244|0)|0,f+(h*152|0)|0)}h=h+1|0}while((h|0)!=(e|0));return 0.0}function Mc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0,r=0.0,s=0,t=0.0;q=l;l=l+80|0;e=c[b+28>>2]|0;d=c[f+64>>2]|0;if((d&4|0)!=0&(e|0)>0){h=c[b+36>>2]|0;i=c[b+76>>2]|0;if(!(d&16)){d=0;do{m=c[h+(d*152|0)+132>>2]|0;c[m+120>>2]=c[h+(d*152|0)+100>>2];c[m+124>>2]=c[i+((c[h+(d*152|0)+140>>2]|0)*152|0)+100>>2];d=d+1|0}while((d|0)!=(e|0))}else{d=0;do{m=c[h+(d*152|0)+132>>2]|0;c[m+120>>2]=c[h+(d*152|0)+100>>2];k=c[h+(d*152|0)+140>>2]|0;c[m+124>>2]=c[i+(k*152|0)+100>>2];c[m+128>>2]=c[i+((k+1|0)*152|0)+100>>2];d=d+1|0}while((d|0)!=(e|0))}}e=c[b+48>>2]|0;if((e|0)>0){m=0;do{h=c[b+56>>2]|0;i=c[h+(m*152|0)+132>>2]|0;k=c[i+44>>2]|0;d=h+(m*152|0)+100|0;if(k|0){p=+g[d>>2];s=c[i+28>>2]|0;o=1.0/+g[f+12>>2];n=p*+g[h+(m*152|0)+20>>2]*+g[s+352>>2]*o;r=p*+g[h+(m*152|0)+24>>2]*+g[s+356>>2]*o;g[k>>2]=+g[k>>2]+ +g[h+(m*152|0)+16>>2]*p*+g[s+348>>2]*o;g[k+4>>2]=n+ +g[k+4>>2];g[k+8>>2]=r+ +g[k+8>>2];r=+g[d>>2];s=c[i+32>>2]|0;n=1.0/+g[f+12>>2];o=r*+g[h+(m*152|0)+52>>2]*+g[s+352>>2]*n;p=r*+g[h+(m*152|0)+56>>2]*+g[s+356>>2]*n;g[k+32>>2]=+g[k+32>>2]+ +g[h+(m*152|0)+48>>2]*r*+g[s+348>>2]*n;g[k+36>>2]=o+ +g[k+36>>2];g[k+40>>2]=p+ +g[k+40>>2];s=c[i+28>>2]|0;p=+g[d>>2];o=1.0/+g[f+12>>2];n=+g[h+(m*152|0)+4>>2]*+g[s+548>>2]*p*o;r=p*+g[h+(m*152|0)+8>>2]*+g[s+552>>2]*o;g[k+16>>2]=+g[k+16>>2]+ +g[h+(m*152|0)>>2]*+g[s+544>>2]*p*o;g[k+20>>2]=n+ +g[k+20>>2];g[k+24>>2]=r+ +g[k+24>>2];s=c[i+32>>2]|0;r=+g[d>>2];n=1.0/+g[f+12>>2];o=+g[h+(m*152|0)+36>>2]*+g[s+548>>2]*r*n;p=r*+g[h+(m*152|0)+40>>2]*+g[s+552>>2]*n;g[k+48>>2]=+g[k+48>>2]+ +g[h+(m*152|0)+32>>2]*+g[s+544>>2]*r*n;g[k+52>>2]=o+ +g[k+52>>2];g[k+56>>2]=p+ +g[k+56>>2]}s=c[d>>2]|0;c[i+36>>2]=s;r=+B(+(c[j>>2]=s,+g[j>>2]));if(r>=+g[i+16>>2])a[i+20>>0]=0;m=m+1|0}while((m|0)!=(e|0))}d=c[b+8>>2]|0;if((d|0)>0){e=c[b+16>>2]|0;k=0;do{h=e+(k*244|0)|0;i=c[e+(k*244|0)+240>>2]|0;if(i){if(!(c[f+44>>2]|0)){h=e+(k*244|0)+176|0;o=+g[e+(k*244|0)+64>>2]+ +g[h>>2];g[h>>2]=o;h=e+(k*244|0)+180|0;p=+g[e+(k*244|0)+68>>2]+ +g[h>>2];g[h>>2]=p;h=e+(k*244|0)+184|0;n=+g[e+(k*244|0)+72>>2]+ +g[h>>2];g[h>>2]=n;h=e+(k*244|0)+192|0;g[h>>2]=+g[e+(k*244|0)+80>>2]+ +g[h>>2];h=e+(k*244|0)+196|0;g[h>>2]=+g[e+(k*244|0)+84>>2]+ +g[h>>2];h=e+(k*244|0)+200|0;g[h>>2]=+g[e+(k*244|0)+88>>2]+ +g[h>>2];h=e;d=i}else{n=+g[f+12>>2];o=+g[f+52>>2];d=e+(k*244|0)+176|0;g[d>>2]=+g[e+(k*244|0)+64>>2]+ +g[d>>2];d=e+(k*244|0)+180|0;g[d>>2]=+g[e+(k*244|0)+68>>2]+ +g[d>>2];d=e+(k*244|0)+184|0;g[d>>2]=+g[e+(k*244|0)+72>>2]+ +g[d>>2];d=e+(k*244|0)+192|0;g[d>>2]=+g[e+(k*244|0)+80>>2]+ +g[d>>2];d=e+(k*244|0)+196|0;g[d>>2]=+g[e+(k*244|0)+84>>2]+ +g[d>>2];d=e+(k*244|0)+200|0;g[d>>2]=+g[e+(k*244|0)+88>>2]+ +g[d>>2];p=+g[e+(k*244|0)+144>>2];d=e+(k*244|0)+148|0;if(((((!(p!=0.0)?!(+g[d>>2]!=0.0):0)?!(+g[e+(k*244|0)+152>>2]!=0.0):0)?!(+g[e+(k*244|0)+160>>2]!=0.0):0)?!(+g[e+(k*244|0)+164>>2]!=0.0):0)?!(+g[e+(k*244|0)+168>>2]!=0.0):0)d=i;else{t=+g[e+(k*244|0)+164>>2]*o;r=+g[e+(k*244|0)+168>>2]*o;g[q>>2]=+g[e+(k*244|0)+160>>2]*o;g[q+4>>2]=t;g[q+8>>2]=r;g[q+12>>2]=0.0;Ig(h,p,+g[d>>2],+g[e+(k*244|0)+152>>2],q,n,q+16|0);c[h>>2]=c[q+16>>2];c[h+4>>2]=c[q+16+4>>2];c[h+8>>2]=c[q+16+8>>2];c[h+12>>2]=c[q+16+12>>2];d=e+(k*244|0)+16|0;c[d>>2]=c[q+16+16>>2];c[d+4>>2]=c[q+16+16+4>>2];c[d+8>>2]=c[q+16+16+8>>2];c[d+12>>2]=c[q+16+16+12>>2];d=e+(k*244|0)+32|0;c[d>>2]=c[q+16+32>>2];c[d+4>>2]=c[q+16+32+4>>2];c[d+8>>2]=c[q+16+32+8>>2];c[d+12>>2]=c[q+16+32+12>>2];d=e+(k*244|0)+48|0;c[d>>2]=c[q+16+48>>2];c[d+4>>2]=c[q+16+48+4>>2];c[d+8>>2]=c[q+16+48+8>>2];c[d+12>>2]=c[q+16+48+12>>2];d=c[b+16>>2]|0;e=d;d=c[d+(k*244|0)+240>>2]|0}h=e;o=+g[e+(k*244|0)+176>>2];p=+g[e+(k*244|0)+180>>2];n=+g[e+(k*244|0)+184>>2]}t=o+ +g[h+(k*244|0)+208>>2];r=p+ +g[h+(k*244|0)+212>>2];p=n+ +g[h+(k*244|0)+216>>2];m=d+260|0;c[m>>2]=(c[m>>2]|0)+1;g[d+312>>2]=t;g[d+316>>2]=r;g[d+320>>2]=p;g[d+324>>2]=0.0;m=c[b+16>>2]|0;s=c[m+(k*244|0)+240>>2]|0;p=+g[m+(k*244|0)+192>>2]+ +g[m+(k*244|0)+224>>2];r=+g[m+(k*244|0)+196>>2]+ +g[m+(k*244|0)+228>>2];t=+g[m+(k*244|0)+200>>2]+ +g[m+(k*244|0)+232>>2];c[s+260>>2]=(c[s+260>>2]|0)+1;g[s+328>>2]=p;g[s+332>>2]=r;g[s+336>>2]=t;g[s+340>>2]=0.0;if(c[f+44>>2]|0){m=c[b+16>>2]|0;s=c[m+(k*244|0)+240>>2]|0;i=m+(k*244|0)|0;c[s+260>>2]=(c[s+260>>2]|0)+1;c[s+4>>2]=c[i>>2];c[s+4+4>>2]=c[i+4>>2];c[s+4+8>>2]=c[i+8>>2];c[s+4+12>>2]=c[i+12>>2];i=m+(k*244|0)+16|0;c[s+20>>2]=c[i>>2];c[s+20+4>>2]=c[i+4>>2];c[s+20+8>>2]=c[i+8>>2];c[s+20+12>>2]=c[i+12>>2];i=m+(k*244|0)+32|0;c[s+36>>2]=c[i>>2];c[s+36+4>>2]=c[i+4>>2];c[s+36+8>>2]=c[i+8>>2];c[s+36+12>>2]=c[i+12>>2];m=m+(k*244|0)+48|0;c[s+52>>2]=c[m>>2];c[s+52+4>>2]=c[m+4>>2];c[s+52+8>>2]=c[m+8>>2];c[s+52+12>>2]=c[m+12>>2]}e=c[b+16>>2]|0;c[(c[e+(k*244|0)+240>>2]|0)+212>>2]=-1;d=c[b+8>>2]|0}k=k+1|0}while((k|0)<(d|0))}if((c[b+28>>2]|0)<0?(c[b+32>>2]|0)<0:0){d=c[b+36>>2]|0;if(d|0){if(a[b+40>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=0;c[b+32>>2]=0}c[b+28>>2]=0;if((c[b+48>>2]|0)<0?(c[b+52>>2]|0)<0:0){d=c[b+56>>2]|0;if(d|0){if(a[b+60>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=0;c[b+52>>2]=0}c[b+48>>2]=0;if((c[b+68>>2]|0)<0?(c[b+72>>2]|0)<0:0){d=c[b+76>>2]|0;if(d|0){if(a[b+80>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+76>>2]=0}a[b+80>>0]=1;c[b+76>>2]=0;c[b+72>>2]=0}c[b+68>>2]=0;if((c[b+88>>2]|0)<0?(c[b+92>>2]|0)<0:0){d=c[b+96>>2]|0;if(d|0){if(a[b+100>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=0;c[b+92>>2]=0}c[b+88>>2]=0;if((c[b+8>>2]|0)>=0){c[b+8>>2]=0;l=q;return 0.0}if((c[b+12>>2]|0)>=0){c[b+8>>2]=0;l=q;return 0.0}d=c[b+16>>2]|0;if(d|0){if(a[b+20>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=0;c[b+12>>2]=0;c[b+8>>2]=0;l=q;return 0.0}function Nc(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=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,A=0,B=0,C=0,D=0;D=l;l=l+560|0;C=D+524|0;c[D>>2]=0;B=D+512+12|0;Hv(e)|0;if((z|0)<0){y=1;x=20080;e=-e}else{y=(h&2049|0)!=0&1;x=(h&2048|0)==0?((h&1|0)==0?20081:20086):20083}Hv(e)|0;A=z&2146435072;do if(A>>>0<2146435072|(A|0)==2146435072&0<0){p=+bH(e,D)*2.0;if(p!=0.0)c[D>>2]=(c[D>>2]|0)+-1;if((i|32|0)==97){o=(i&32|0)==0?x:x+9|0;n=y|2;do if(!(g>>>0>11|(12-g|0)==0)){j=12-g|0;e=8.0;do{j=j+-1|0;e=e*16.0}while((j|0)!=0);if((a[o>>0]|0)==45){e=-(e+(-p-e));break}else{e=p+e-e;break}}else e=p;while(0);k=c[D>>2]|0;j=(k|0)<0?0-k|0:k;j=Am(j,((j|0)<0)<<31>>31,B)|0;if((j|0)==(B|0)){a[D+512+11>>0]=48;j=D+512+11|0}a[j+-1>>0]=(k>>31&2)+43;m=j+-2|0;a[m>>0]=i+15;k=D+524|0;while(1){A=~~e;j=k+1|0;a[k>>0]=d[20115+A>>0]|i&32;e=(e-+(A|0))*16.0;if((j-C|0)==1?!((h&8|0)==0&((g|0)<1&e==0.0)):0){a[j>>0]=46;j=k+2|0}if(!(e!=0.0))break;else k=j}C=j-C|0;j=(g|0)!=0&(C+-2|0)<(g|0)?g+2|0:C;_m(b,32,f,B-m+n+j|0,h);jz(b,o,n);_m(b,48,f,B-m+n+j|0,h^65536);jz(b,D+524|0,C);_m(b,48,j-C|0,0,0);jz(b,m,B-m|0);_m(b,32,f,B-m+n+j|0,h^8192);j=B-m+n+j|0;break}k=(g|0)<0?6:g;if(p!=0.0){m=(c[D>>2]|0)+-28|0;c[D>>2]=m;e=p*268435456.0}else{m=c[D>>2]|0;e=p}A=(m|0)<0?D+8|0:D+8+288|0;n=A;do{v=~~e>>>0;c[n>>2]=v;n=n+4|0;e=(e-+(v>>>0))*1.0e9}while(e!=0.0);if((m|0)>0){j=A;do{g=(m|0)<29?m:29;m=n+-4|0;if(m>>>0>=j>>>0){o=0;do{u=Nt(c[m>>2]|0,0,g|0)|0;u=cw(u|0,z|0,o|0,0)|0;v=z;t=Rr(u|0,v|0,1e9,0)|0;c[m>>2]=t;o=AA(u|0,v|0,1e9,0)|0;m=m+-4|0}while(m>>>0>=j>>>0);if(o){j=j+-4|0;c[j>>2]=o}}while(1){if(n>>>0<=j>>>0)break;m=n+-4|0;if(!(c[m>>2]|0))n=m;else break}m=(c[D>>2]|0)-g|0;c[D>>2]=m}while((m|0)>0)}else j=A;if((m|0)<0){do{g=0-m|0;g=(g|0)<9?g:9;if(j>>>0>>0){o=0;m=j;do{v=c[m>>2]|0;c[m>>2]=(v>>>g)+o;o=O(v&(1<>>g)|0;m=m+4|0}while(m>>>0>>0);j=(c[j>>2]|0)==0?j+4|0:j;if(!o)m=n;else{c[n>>2]=o;m=n+4|0}}else{j=(c[j>>2]|0)==0?j+4|0:j;m=n}n=(i|32|0)==102?A:j;n=(m-n>>2|0)>(((k+25|0)/9|0)+1|0)?n+(((k+25|0)/9|0)+1<<2)|0:m;m=(c[D>>2]|0)+g|0;c[D>>2]=m}while((m|0)<0);s=n}else s=n;if(j>>>0>>0){m=(A-j>>2)*9|0;o=c[j>>2]|0;if(o>>>0<10)n=m;else{n=10;do{n=n*10|0;m=m+1|0}while(o>>>0>=n>>>0);n=m}}else n=0;g=k-((i|32|0)!=102?n:0)+(((k|0)!=0&(i|32|0)==103)<<31>>31)|0;if((g|0)<(((s-A>>2)*9|0)+-9|0)){m=A+4+(((g+9216|0)/9|0)+-1024<<2)|0;if((((g+9216|0)%9|0)+1|0)<9){o=10;g=((g+9216|0)%9|0)+1|0;do{o=o*10|0;g=g+1|0}while((g|0)!=9)}else o=10;q=c[m>>2]|0;r=(q>>>0)%(o>>>0)|0;g=(m+4|0)==(s|0);if(!(g&(r|0)==0)){p=(((q>>>0)/(o>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;v=(o|0)/2|0;e=r>>>0>>0?.5:g&(r|0)==(v|0)?1.0:1.5;if(y){v=(a[x>>0]|0)==45;p=v?-p:p;e=v?-e:e}c[m>>2]=q-r;if(p+e!=p){v=q-r+o|0;c[m>>2]=v;if(v>>>0>999999999)while(1){n=m+-4|0;c[m>>2]=0;if(n>>>0>>0){j=j+-4|0;c[j>>2]=0}v=(c[n>>2]|0)+1|0;c[n>>2]=v;if(v>>>0>999999999)m=n;else{m=n;break}}n=(A-j>>2)*9|0;g=c[j>>2]|0;if(g>>>0>=10){o=10;do{o=o*10|0;n=n+1|0}while(g>>>0>=o>>>0)}}}u=m+4|0;v=j;j=s>>>0>u>>>0?u:s}else{v=j;j=s}u=j;while(1){if(u>>>0<=v>>>0){t=0;break}j=u+-4|0;if(!(c[j>>2]|0))u=j;else{t=1;break}}g=0-n|0;do if((i|32|0)==103){if((n|0)>-5?((((k|0)!=0^1)&1)+k|0)>(n|0):0){k=(((k|0)!=0^1)&1)+k+-1-n|0;o=i+-1|0}else{k=(((k|0)!=0^1)&1)+k+-1|0;o=i+-2|0}if(!(h&8)){if(t?(w=c[u+-4>>2]|0,(w|0)!=0):0)if(!((w>>>0)%10|0)){m=10;j=0;do{m=m*10|0;j=j+1|0}while(!((w>>>0)%(m>>>0)|0|0))}else j=0;else j=9;m=((u-A>>2)*9|0)+-9|0;if((o|32|0)==102){m=m-j|0;m=(m|0)>0?m:0;r=0;k=(k|0)<(m|0)?k:m;m=o;break}else{m=m+n-j|0;m=(m|0)>0?m:0;r=0;k=(k|0)<(m|0)?k:m;m=o;break}}else{r=h&8;m=o}}else{r=h&8;m=i}while(0);q=k|r;o=(m|32|0)==102;if(o){s=0;j=(n|0)>0?n:0}else{j=(n|0)<0?g:n;j=Am(j,((j|0)<0)<<31>>31,B)|0;if((B-j|0)<2)do{j=j+-1|0;a[j>>0]=48}while((B-j|0)<2);a[j+-1>>0]=(n>>31&2)+43;j=j+-2|0;a[j>>0]=m;s=j;j=B-j|0}j=y+1+k+((q|0)!=0&1)+j|0;_m(b,32,f,j,h);jz(b,x,y);_m(b,48,f,j,h^65536);if(o){o=v>>>0>A>>>0?A:v;n=o;do{m=Am(c[n>>2]|0,0,D+524+9|0)|0;if((n|0)==(o|0)){if((m|0)==(D+524+9|0)){a[D+524+8>>0]=48;m=D+524+8|0}}else if(m>>>0>(D+524|0)>>>0){Nk(D+524|0,48,m-C|0)|0;do m=m+-1|0;while(m>>>0>(D+524|0)>>>0)}jz(b,m,D+524+9-m|0);n=n+4|0}while(n>>>0<=A>>>0);if(q|0)jz(b,20131,1);if(n>>>0>>0&(k|0)>0)while(1){m=Am(c[n>>2]|0,0,D+524+9|0)|0;if(m>>>0>(D+524|0)>>>0){Nk(D+524|0,48,m-C|0)|0;do m=m+-1|0;while(m>>>0>(D+524|0)>>>0)}jz(b,m,(k|0)<9?k:9);n=n+4|0;m=k+-9|0;if(!(n>>>0>>0&(k|0)>9)){k=m;break}else k=m}_m(b,48,k+9|0,9,0)}else{q=t?u:v+4|0;if((k|0)>-1){g=(r|0)==0;o=v;do{m=Am(c[o>>2]|0,0,D+524+9|0)|0;if((m|0)==(D+524+9|0)){a[D+524+8>>0]=48;m=D+524+8|0}do if((o|0)==(v|0)){n=m+1|0;jz(b,m,1);if(g&(k|0)<1){m=n;break}jz(b,20131,1);m=n}else{if(m>>>0<=(D+524|0)>>>0)break;Nk(D+524|0,48,m+(0-C)|0)|0;do m=m+-1|0;while(m>>>0>(D+524|0)>>>0)}while(0);A=D+524+9-m|0;jz(b,m,(k|0)>(A|0)?A:k);k=k-A|0;o=o+4|0}while(o>>>0>>0&(k|0)>-1)}_m(b,48,k+18|0,18,0);jz(b,s,B-s|0)}_m(b,32,f,j,h^8192)}else{j=y+3|0;_m(b,32,f,j,h&-65537);jz(b,x,y);jz(b,e!=e|0.0!=0.0?(i&32|0?20107:20111):i&32|0?20099:20103,3);_m(b,32,f,j,h^8192)}while(0);l=D;return ((j|0)<(f|0)?f:j)|0}function Oc(d,e,f,g,i){d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=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;y=l;l=l+64|0;c[y+16>>2]=e;x=y+24+40|0;q=e;e=0;j=0;n=0;a:while(1){do if((e|0)>-1)if((j|0)>(2147483647-e|0)){c[6614]=75;e=-1;break}else{e=j+e|0;break}while(0);j=a[q>>0]|0;if(!(j<<24>>24)){w=87;break}else k=q;b:while(1){switch(j<<24>>24){case 37:{j=k;w=9;break b}case 0:{j=k;break b}default:{}}v=k+1|0;c[y+16>>2]=v;j=a[v>>0]|0;k=v}c:do if((w|0)==9)while(1){w=0;if((a[j+1>>0]|0)!=37)break c;k=k+1|0;j=j+2|0;c[y+16>>2]=j;if((a[j>>0]|0)==37)w=9;else break}while(0);k=k-q|0;if(d|0)jz(d,q,k);if(k|0){q=j;j=k;continue}m=j+1|0;k=(a[m>>0]|0)+-48|0;if(k>>>0<10){v=(a[j+2>>0]|0)==36;s=v?k:-1;p=v?1:n;m=v?j+3|0:m}else{s=-1;p=n}c[y+16>>2]=m;j=a[m>>0]|0;d:do if(((j<<24>>24)+-32|0)>>>0<32){o=j;n=0;k=(j<<24>>24)+-32|0;while(1){j=1<>2]=m;j=a[m>>0]|0;k=(j<<24>>24)+-32|0;if(k>>>0>=32){o=n;break}else o=j}}else o=0;while(0);if(j<<24>>24==42){k=m+1|0;j=(a[k>>0]|0)+-48|0;if(j>>>0<10?(a[m+2>>0]|0)==36:0){c[i+(j<<2)>>2]=10;n=1;j=m+3|0;k=c[g+((a[k>>0]|0)+-48<<3)>>2]|0}else{if(p|0){e=-1;break}if(d|0){n=(c[f>>2]|0)+(4-1)&~(4-1);v=c[n>>2]|0;c[f>>2]=n+4;n=0;j=k;k=v}else{n=0;j=k;k=0}}c[y+16>>2]=j;u=(k|0)<0;m=j;r=u?o|8192:o;v=n;u=u?0-k|0:k}else{j=vp(y+16|0)|0;if((j|0)<0){e=-1;break}m=c[y+16>>2]|0;r=o;v=p;u=j}do if((a[m>>0]|0)==46){j=m+1|0;if((a[j>>0]|0)!=42){c[y+16>>2]=j;o=vp(y+16|0)|0;j=c[y+16>>2]|0;break}j=m+2|0;k=(a[j>>0]|0)+-48|0;if(k>>>0<10?(a[m+3>>0]|0)==36:0){c[i+(k<<2)>>2]=10;o=c[g+((a[j>>0]|0)+-48<<3)>>2]|0;j=m+4|0;c[y+16>>2]=j;break}if(v|0){e=-1;break a}if(d|0){t=(c[f>>2]|0)+(4-1)&~(4-1);k=c[t>>2]|0;c[f>>2]=t+4}else k=0;c[y+16>>2]=j;o=k}else{j=m;o=-1}while(0);p=0;while(1){if(((a[j>>0]|0)+-65|0)>>>0>57){e=-1;break a}t=j+1|0;c[y+16>>2]=t;k=a[(a[j>>0]|0)+-65+(19599+(p*58|0))>>0]|0;if(((k&255)+-1|0)>>>0<8){j=t;p=k&255}else break}if(!(k<<24>>24)){e=-1;break}m=(s|0)>-1;do if(k<<24>>24==19)if(m){e=-1;break a}else w=49;else{if(m){c[i+(s<<2)>>2]=k&255;s=g+(s<<3)|0;w=c[s+4>>2]|0;c[y>>2]=c[s>>2];c[y+4>>2]=w;w=49;break}if(!d){e=0;break a}Fg(y,k&255,f)}while(0);if((w|0)==49?(w=0,(d|0)==0):0){q=t;j=0;n=v;continue}n=a[j>>0]|0;n=(p|0)!=0&(n&15|0)==3?n&-33:n;k=r&-65537;s=(r&8192|0)==0?r:k;e:do switch(n|0){case 110:switch((p&255)<<24>>24){case 0:{c[c[y>>2]>>2]=e;q=t;j=0;n=v;continue a}case 1:{c[c[y>>2]>>2]=e;q=t;j=0;n=v;continue a}case 2:{q=c[y>>2]|0;c[q>>2]=e;c[q+4>>2]=((e|0)<0)<<31>>31;q=t;j=0;n=v;continue a}case 3:{b[c[y>>2]>>1]=e;q=t;j=0;n=v;continue a}case 4:{a[c[y>>2]>>0]=e;q=t;j=0;n=v;continue a}case 6:{c[c[y>>2]>>2]=e;q=t;j=0;n=v;continue a}case 7:{q=c[y>>2]|0;c[q>>2]=e;c[q+4>>2]=((e|0)<0)<<31>>31;q=t;j=0;n=v;continue a}default:{q=t;j=0;n=v;continue a}}case 112:{j=s|8;k=o>>>0>8?o:8;n=120;w=61;break}case 88:case 120:{j=s;k=o;w=61;break}case 111:{q=c[y>>2]|0;r=c[y+4>>2]|0;k=Qq(q,r,x)|0;p=k;j=s;k=(s&8|0)==0|(o|0)>(x-k|0)?o:x-k+1|0;m=0;o=20063;w=67;break}case 105:case 100:{j=c[y>>2]|0;k=c[y+4>>2]|0;if((k|0)<0){j=Nv(0,0,j|0,k|0)|0;k=z;c[y>>2]=j;c[y+4>>2]=k;m=1;n=20063;w=66;break e}else{m=(s&2049|0)!=0&1;n=(s&2048|0)==0?((s&1|0)==0?20063:20065):20064;w=66;break e}}case 117:{j=c[y>>2]|0;k=c[y+4>>2]|0;m=0;n=20063;w=66;break}case 99:{a[y+24+39>>0]=c[y>>2];q=y+24+39|0;p=k;n=1;m=0;k=20063;j=x;break}case 109:{j=mH(c[6614]|0)|0;w=71;break}case 115:{j=c[y>>2]|0;j=j|0?j:20073;w=71;break}case 67:{c[y+8>>2]=c[y>>2];c[y+8+4>>2]=0;c[y>>2]=y+8;j=y+8|0;o=-1;w=75;break}case 83:{j=c[y>>2]|0;if(!o){_m(d,32,u,0,s);j=0;w=84}else w=75;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=t;j=Nc(d,+h[y>>3],u,o,s,n)|0;n=v;continue a}default:{p=s;n=o;m=0;k=20063;j=x}}while(0);f:do if((w|0)==61){q=c[y>>2]|0;r=c[y+4>>2]|0;p=Np(q,r,x,n&32)|0;o=(j&8|0)==0|(q|0)==0&(r|0)==0;m=o?0:2;o=o?20063:20063+(n>>4)|0;w=67}else if((w|0)==66){q=j;r=k;p=Am(j,k,x)|0;j=s;k=o;o=n;w=67}else if((w|0)==71){w=0;s=xj(j,o)|0;q=j;p=k;n=(s|0)==0?o:s-j|0;m=0;k=20063;j=(s|0)==0?j+o|0:s}else if((w|0)==75){w=0;m=0;k=0;p=j;while(1){n=c[p>>2]|0;if(!n)break;k=Vz(y+20|0,n)|0;if((k|0)<0|k>>>0>(o-m|0)>>>0)break;m=k+m|0;if(o>>>0>m>>>0)p=p+4|0;else break}if((k|0)<0){e=-1;break a}_m(d,32,u,m,s);if(!m){j=0;w=84}else{n=0;while(1){k=c[j>>2]|0;if(!k){j=m;w=84;break f}k=Vz(y+20|0,k)|0;n=k+n|0;if((n|0)>(m|0)){j=m;w=84;break f}jz(d,y+20|0,k);if(n>>>0>=m>>>0){j=m;w=84;break}else j=j+4|0}}}while(0);if((w|0)==67){w=0;n=(q|0)!=0|(r|0)!=0;s=(k|0)!=0|n;n=((n^1)&1)+(x-p)|0;q=s?p:x;p=(k|0)>-1?j&-65537:j;n=s?((k|0)>(n|0)?k:n):k;k=o;j=x}else if((w|0)==84){w=0;_m(d,32,u,j,s^8192);q=t;j=(u|0)>(j|0)?u:j;n=v;continue}s=j-q|0;r=(n|0)<(s|0)?s:n;n=r+m|0;j=(u|0)<(n|0)?n:u;_m(d,32,j,n,p);jz(d,k,m);_m(d,48,j,n,p^65536);_m(d,48,r,s,0);jz(d,q,s);_m(d,32,j,n,p^8192);q=t;n=v}g:do if((w|0)==87)if(!d)if(!n)e=0;else{e=1;while(1){j=c[i+(e<<2)>>2]|0;if(!j){j=0;break}Fg(g+(e<<3)|0,j,f);e=e+1|0;if((e|0)>=10){e=1;break g}}while(1){e=e+1|0;if(j|0){e=-1;break g}if((e|0)>=10){e=1;break g}j=c[i+(e<<2)>>2]|0}}while(0);l=y;return e|0}function Pc(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,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.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,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0;u=l;l=l+672|0;c[u+448+8>>2]=0;c[u+448+12>>2]=1065353216;c[u+448+16>>2]=1065353216;c[u+448+20>>2]=1065353216;g[u+448+24>>2]=0.0;c[u+448>>2]=6864;c[u+448+4>>2]=8;g[u+448+28>>2]=0.0;g[u+448+44>>2]=0.0;g[u+384>>2]=1.0;m=u+384+4|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;g[u+384+20>>2]=1.0;n=u+384+24|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;g[u+384+40>>2]=1.0;g[u+384+44>>2]=0.0;c[u+384+48>>2]=c[a>>2];c[u+384+48+4>>2]=c[a+4>>2];c[u+384+48+8>>2]=c[a+8>>2];c[u+384+48+12>>2]=c[a+12>>2];a=e;k=a+36|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(k|0));c[u+504>>2]=b;c[u+504+4>>2]=u+448;I=+g[d>>2];H=+g[d+16>>2];G=+g[d+32>>2];F=+g[d+4>>2];E=+g[d+20>>2];D=+g[d+36>>2];s=+g[d+8>>2];q=+g[d+24>>2];o=+g[d+40>>2];g[u+504+8>>2]=I+H*0.0+G*0.0;g[u+504+12>>2]=F+E*0.0+D*0.0;g[u+504+16>>2]=s+q*0.0+o*0.0;g[u+504+20>>2]=0.0;g[u+504+24>>2]=I*0.0+H+G*0.0;g[u+504+28>>2]=F*0.0+E+D*0.0;g[u+504+32>>2]=s*0.0+q+o*0.0;g[u+504+36>>2]=0.0;g[u+504+40>>2]=I*0.0+H*0.0+G;g[u+504+44>>2]=F*0.0+E*0.0+D;g[u+504+48>>2]=s*0.0+q*0.0+o;g[u+504+52>>2]=0.0;o=+g[u+384+48>>2]-+g[d+48>>2];q=+g[u+384+52>>2]-+g[d+52>>2];s=+g[u+384+56>>2]-+g[d+56>>2];B=+g[u+384>>2];A=+g[u+384+16>>2];z=+g[u+384+32>>2];y=+g[m>>2];x=+g[u+384+20>>2];w=+g[u+384+36>>2];v=+g[u+384+8>>2];f=+g[n>>2];h=+g[u+384+40>>2];p=+g[d+8>>2];r=+g[d+24>>2];t=+g[d+40>>2];i=o*+g[d>>2]+q*+g[d+16>>2]+s*+g[d+32>>2];j=o*+g[d+4>>2]+q*+g[d+20>>2]+s*+g[d+36>>2];g[u+504+56>>2]=I*B+H*A+G*z;g[u+504+60>>2]=I*y+H*x+G*w;g[u+504+64>>2]=I*v+H*f+G*h;g[u+504+68>>2]=0.0;g[u+504+72>>2]=B*F+A*E+z*D;g[u+504+76>>2]=y*F+x*E+w*D;g[u+504+80>>2]=v*F+f*E+h*D;g[u+504+84>>2]=0.0;g[u+504+88>>2]=B*p+A*r+z*t;g[u+504+92>>2]=y*p+x*r+w*t;g[u+504+96>>2]=v*p+f*r+h*t;g[u+504+100>>2]=0.0;g[u+504+104>>2]=i;g[u+504+108>>2]=j;g[u+504+112>>2]=o*p+q*r+s*t;g[u+504+116>>2]=0.0;c[u+504+120>>2]=80;c[u+504+124>>2]=0;c[u+364>>2]=0;c[u+128>>2]=0;c[u+128+4>>2]=0;c[u+128+8>>2]=0;c[u+128+12>>2]=0;c[u+376>>2]=2;c[u+368>>2]=0;g[u+144>>2]=0.0;c[u+648>>2]=1065353216;c[u+648+4>>2]=1065353216;c[u+648+8>>2]=1065353216;g[u+648+12>>2]=0.0;switch(Ac(u,u+504|0,u+648|0)|0){case 0:{a=c[u+372>>2]|0;if(!(c[a+32>>2]|0)){j=0.0;i=0.0;f=0.0;r=0.0;q=0.0;h=0.0}else{n=0;j=0.0;i=0.0;f=0.0;r=0.0;q=0.0;h=0.0;do{t=+g[a+16+(n<<2)>>2];k=c[u+504+120>>2]|0;J=c[u+504+124>>2]|0;m=(c[u+504>>2]|0)+(J>>1)|0;if(J&1)k=c[(c[m>>2]|0)+k>>2]|0;Kb[k&127](u+648|0,m,c[a+(n<<2)>>2]|0);j=j+t*+g[u+648>>2];f=f+t*+g[u+648+4>>2];i=i+t*+g[u+648+8>>2];a=c[(c[u+372>>2]|0)+(n<<2)>>2]|0;o=-+g[a>>2];p=-+g[a+4>>2];s=-+g[a+8>>2];a=c[u+504+120>>2]|0;J=c[u+504+124>>2]|0;k=(c[u+504+4>>2]|0)+(J>>1)|0;if(J&1)a=c[(c[k>>2]|0)+a>>2]|0;H=+g[u+504+24>>2]*o+ +g[u+504+28>>2]*p+ +g[u+504+32>>2]*s;G=+g[u+504+40>>2]*o+ +g[u+504+44>>2]*p+ +g[u+504+48>>2]*s;g[u+632>>2]=+g[u+504+8>>2]*o+ +g[u+504+12>>2]*p+ +g[u+504+16>>2]*s;g[u+632+4>>2]=H;g[u+632+8>>2]=G;g[u+632+12>>2]=0.0;Kb[a&127](u+648|0,k,u+632|0);G=+g[u+648>>2];H=+g[u+648+4>>2];I=+g[u+648+8>>2];r=r+t*(G*+g[u+504+56>>2]+H*+g[u+504+60>>2]+I*+g[u+504+64>>2]+ +g[u+504+104>>2]);h=h+t*(G*+g[u+504+72>>2]+H*+g[u+504+76>>2]+I*+g[u+504+80>>2]+ +g[u+504+108>>2]);q=q+t*(G*+g[u+504+88>>2]+H*+g[u+504+92>>2]+I*+g[u+504+96>>2]+ +g[u+504+112>>2]);n=n+1|0;a=c[u+372>>2]|0}while(n>>>0<(c[a+32>>2]|0)>>>0)}s=j*+g[d>>2]+f*+g[d+4>>2]+i*+g[d+8>>2]+ +g[d+48>>2];t=j*+g[d+16>>2]+f*+g[d+20>>2]+i*+g[d+24>>2]+ +g[d+52>>2];o=j*+g[d+32>>2]+f*+g[d+36>>2]+i*+g[d+40>>2]+ +g[d+56>>2];g[e+4>>2]=s;g[e+8>>2]=t;g[e+12>>2]=o;g[e+16>>2]=0.0;j=r*+g[d>>2]+h*+g[d+4>>2]+q*+g[d+8>>2]+ +g[d+48>>2];p=r*+g[d+16>>2]+h*+g[d+20>>2]+q*+g[d+24>>2]+ +g[d+52>>2];i=r*+g[d+32>>2]+h*+g[d+36>>2]+q*+g[d+40>>2]+ +g[d+56>>2];g[e+20>>2]=j;g[e+24>>2]=p;g[e+28>>2]=i;g[e+32>>2]=0.0;switch(c[b+4>>2]|0){case 8:{f=+g[b+28>>2]*+g[b+12>>2];break}case 0:{f=+g[b+44>>2];break}case 1:{f=+g[b+44>>2];break}case 13:{f=+g[b+44>>2];break}case 11:{f=+g[b+44>>2];break}case 10:{f=+g[b+44>>2];break}case 4:case 5:{f=+g[b+44>>2];break}default:f=+gb[c[(c[b>>2]|0)+48>>2]&15](b)}switch(c[u+448+4>>2]|0){case 8:{h=+g[u+448+28>>2]*+g[u+448+12>>2];break}case 0:{h=+g[u+448+44>>2];break}case 1:{h=+g[u+448+44>>2];break}case 13:{h=+g[u+448+44>>2];break}case 11:{h=+g[u+448+44>>2];break}case 10:{h=+g[u+448+44>>2];break}case 4:case 5:{h=+g[u+448+44>>2];break}default:h=+gb[c[(c[u+448>>2]|0)+48>>2]&15](u+448|0)}I=f+h;H=+C(+((j-s)*(j-s)+(p-t)*(p-t)+(i-o)*(i-o)));g[e+36>>2]=(j-s)*(1.0/H);g[e+40>>2]=(p-t)*(1.0/H);g[e+44>>2]=(i-o)*(1.0/H);g[e+48>>2]=0.0;g[e+4>>2]=I*(j-s)*(1.0/H)+ +g[e+4>>2];g[e+8>>2]=I*(p-t)*(1.0/H)+ +g[e+8>>2];g[e+12>>2]=I*(i-o)*(1.0/H)+ +g[e+12>>2];I=H-I;l=u;return +I}case 1:{if(!(wc(b,d,u+448|0,u+384|0,u+128|0,e,1)|0)){I=3402823466385288598117041.0e14;l=u;return +I}h=+g[e+4>>2]-+g[e+20>>2];j=+g[e+8>>2]-+g[e+24>>2];i=+g[e+12>>2]-+g[e+28>>2];f=+C(+(h*h+j*j+i*i));if(f>=1.1920928955078125e-07){g[e+36>>2]=h*(1.0/f);g[e+40>>2]=j*(1.0/f);g[e+44>>2]=i*(1.0/f);g[e+48>>2]=0.0}I=-f;l=u;return +I}default:{I=3402823466385288598117041.0e14;l=u;return +I}}return 0.0}function Qc(a,b){a=a|0;b=+b;var d=0,e=0,f=0,h=0,i=0,j=0,k=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,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;o=l;l=l+48|0;d=c[a+24>>2]|0;if((d|0)<=0){l=o;return}n=0;a:while(1){m=c[(c[a+32>>2]|0)+(n<<2)>>2]|0;switch(c[m+216>>2]|0){case 2:case 5:break;default:{Kd(m,0);d=c[m+732>>2]|0;if((d|0)>0){e=0;do{k=c[m+740>>2]|0;i=c[k+(e*52|0)+12>>2]|0;j=c[k+(e*52|0)+8>>2]|0;y=+g[i+24>>2]-+g[j+24>>2];x=+g[i+28>>2]-+g[j+28>>2];b=+g[i+32>>2]-+g[j+32>>2];g[k+(e*52|0)+36>>2]=y;g[k+(e*52|0)+40>>2]=x;g[k+(e*52|0)+44>>2]=b;g[k+(e*52|0)+48>>2]=0.0;g[k+(e*52|0)+32>>2]=1.0/(+g[k+(e*52|0)+24>>2]*(y*y+x*x+b*b));e=e+1|0}while((e|0)!=(d|0))}d=c[m+792>>2]|0;if((d|0)>0){b=+g[m+452>>2];f=0;do{k=c[m+800>>2]|0;e=k+(f*96|0)+20|0;h=c[e>>2]|0;B=+g[k+(f*96|0)+4>>2];A=+g[k+(f*96|0)+8>>2];y=+g[k+(f*96|0)+12>>2];z=+g[h+4>>2]*B+ +g[h+8>>2]*A+ +g[h+12>>2]*y;x=B*+g[h+20>>2]+A*+g[h+24>>2]+y*+g[h+28>>2];y=B*+g[h+36>>2]+A*+g[h+40>>2]+y*+g[h+44>>2];i=k+(f*96|0)+28|0;j=k+(f*96|0)|0;Df(o,b,+g[(c[j>>2]|0)+88>>2],+g[h+344>>2],h+264|0,z,x,y);c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];c[i+12>>2]=c[o+12>>2];i=k+(f*96|0)+44|0;c[i>>2]=c[o+16>>2];c[i+4>>2]=c[o+16+4>>2];c[i+8>>2]=c[o+16+8>>2];c[i+12>>2]=c[o+16+12>>2];i=k+(f*96|0)+60|0;c[i>>2]=c[o+32>>2];c[i+4>>2]=c[o+32+4>>2];c[i+8>>2]=c[o+32+8>>2];c[i+12>>2]=c[o+32+12>>2];g[k+(f*96|0)+76>>2]=z;g[k+(f*96|0)+80>>2]=x;g[k+(f*96|0)+84>>2]=y;g[k+(f*96|0)+88>>2]=0.0;b=+g[m+452>>2];g[k+(f*96|0)+92>>2]=b*+g[(c[j>>2]|0)+88>>2];e=c[e>>2]|0;if(!(c[e+204>>2]&3)){if((c[e+216>>2]&-2|0)!=4)c[e+216>>2]=1;g[e+220>>2]=0.0}f=f+1|0}while((f|0)!=(d|0))}d=c[m+372>>2]|0;if((d|0)>0){e=c[m+396>>2]|0;f=0;do{if((e|0)>0){d=0;do{Bb[((c[(c[m+404>>2]|0)+(d<<2)>>2]|0)==0?23:0)&31](m,1.0);d=d+1|0;e=c[m+396>>2]|0}while((d|0)<(e|0));d=c[m+372>>2]|0}f=f+1|0}while((f|0)<(d|0));d=c[m+712>>2]|0;if((d|0)>0){e=0;do{k=c[m+720>>2]|0;z=+g[m+452>>2];A=z*+g[k+(e*104|0)+44>>2]+ +g[k+(e*104|0)+28>>2];B=z*+g[k+(e*104|0)+48>>2]+ +g[k+(e*104|0)+32>>2];g[k+(e*104|0)+8>>2]=+g[k+(e*104|0)+40>>2]*z+ +g[k+(e*104|0)+24>>2];g[k+(e*104|0)+12>>2]=A;g[k+(e*104|0)+16>>2]=B;g[k+(e*104|0)+20>>2]=0.0;e=e+1|0}while((e|0)!=(d|0))}}d=c[m+376>>2]|0;if((d|0)>0){e=c[m+416>>2]|0;h=0;do{b=+(h|0)/+(d|0);if((e|0)>0){f=0;do{switch(c[(c[m+424>>2]|0)+(f<<2)>>2]|0){case 1:{d=2;break}case 0:{d=3;break}case 2:{d=4;break}case 3:{d=5;break}default:{w=35;break a}}Cb[d&7](m,1.0,b);f=f+1|0;e=c[m+416>>2]|0}while((f|0)<(e|0));d=c[m+376>>2]|0}h=h+1|0}while((h|0)<(d|0));b=+g[m+456>>2]*(1.0-+g[m+296>>2]);d=c[m+712>>2]|0;if((d|0)>0){e=0;do{k=c[m+720>>2]|0;A=b*(+g[k+(e*104|0)+12>>2]-+g[k+(e*104|0)+28>>2]);B=b*(+g[k+(e*104|0)+16>>2]-+g[k+(e*104|0)+32>>2]);g[k+(e*104|0)+40>>2]=b*(+g[k+(e*104|0)+8>>2]-+g[k+(e*104|0)+24>>2]);g[k+(e*104|0)+44>>2]=A;g[k+(e*104|0)+48>>2]=B;k=k+(e*104|0)+52|0;e=e+1|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}while((e|0)!=(d|0))}}d=c[m+380>>2]|0;if((d|0)>0){b=+g[m+292>>2]*+g[m+456>>2];e=c[m+712>>2]|0;if((e|0)>0){d=0;do{j=c[m+720>>2]|0;k=j+(d*104|0)+24|0;j=j+(d*104|0)+8|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];d=d+1|0}while((d|0)!=(e|0));d=c[m+380>>2]|0;if((d|0)>0)w=42}else w=42;if((w|0)==42){w=0;e=c[m+436>>2]|0;h=0;do{if((e|0)>0){f=0;do{switch(c[(c[m+444>>2]|0)+(f<<2)>>2]|0){case 1:{d=2;break}case 0:{d=3;break}case 2:{d=4;break}case 3:{d=5;break}default:{w=53;break a}}Cb[d&7](m,1.0,0.0);f=f+1|0;e=c[m+436>>2]|0}while((f|0)<(e|0));d=c[m+380>>2]|0}h=h+1|0}while((h|0)<(d|0))}d=c[m+712>>2]|0;if((d|0)>0){e=c[m+720>>2]|0;f=0;do{A=b*(+g[e+(f*104|0)+12>>2]-+g[e+(f*104|0)+28>>2]);B=b*(+g[e+(f*104|0)+16>>2]-+g[e+(f*104|0)+32>>2]);k=e+(f*104|0)+40|0;g[k>>2]=b*(+g[e+(f*104|0)+8>>2]-+g[e+(f*104|0)+24>>2])+ +g[k>>2];k=e+(f*104|0)+44|0;g[k>>2]=A+ +g[k>>2];k=e+(f*104|0)+48|0;g[k>>2]=B+ +g[k>>2];f=f+1|0}while((f|0)!=(d|0))}}f=c[m+1112>>2]|0;if((f|0)>0){h=c[m+1120>>2]|0;j=0;do{i=c[h+(j<<2)>>2]|0;if(+g[i+352>>2]>0.0?(s=c[i+24>>2]|0,(s|0)>0):0){d=c[i+32>>2]|0;k=0;do{e=c[d+(k<<2)>>2]|0;if(+g[e+88>>2]>0.0?(p=+g[e+24>>2]-+g[i+228>>2],r=+g[e+28>>2]-+g[i+232>>2],v=+g[e+32>>2]-+g[i+236>>2],u=+g[i+336>>2],B=+g[i+340>>2],q=+g[i+332>>2],t=+g[i+316>>2]+(u*v-r*B),v=+g[i+320>>2]+(p*B-v*q),u=r*q-p*u+ +g[i+324>>2],p=+g[e+40>>2],q=+g[e+44>>2],r=+g[e+48>>2],t*t+v*v+u*u<=p*p+q*q+r*r):0){B=+g[i+352>>2];g[e+40>>2]=p+(t-p)*B;g[e+44>>2]=(v-q)*B+q;g[e+48>>2]=(u-r)*B+r}k=k+1|0}while((k|0)!=(s|0))}j=j+1|0}while((j|0)!=(f|0))}Kd(m,1);d=c[a+24>>2]|0}}n=n+1|0;if((n|0)>=(d|0)){w=3;break}}if((w|0)==3){l=o;return}}function Rc(d,e){d=d|0;e=+e;var f=0,h=0.0,i=0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0,t=0.0,u=0;s=l;l=l+304|0;bj(12298);a:do if((c[d+232>>2]|0)>0){o=s+136+48|0;n=0;while(1){m=c[(c[d+240>>2]|0)+(n<<2)>>2]|0;g[m+244>>2]=1.0;b:do switch(c[m+216>>2]|0){case 2:case 5:break;default:if(!(c[m+204>>2]&3)){Ig(m+4|0,+g[m+312>>2],+g[m+316>>2],+g[m+320>>2],m+328|0,e,s+136|0);h=+g[o>>2]-+g[m+52>>2];k=+g[s+136+52>>2]-+g[m+56>>2];j=+g[s+136+56>>2]-+g[m+60>>2];if(a[d+44>>0]|0?(t=+g[m+252>>2],t*t!=0.0?t*t>2]|0)+4>>2]|0)<20){c[5853]=(c[5853]|0)+1;f=c[d+68>>2]|0;f=qb[c[(c[f>>2]|0)+36>>2]&127](f)|0;i=c[d+24>>2]|0;g[s+200+4>>2]=1.0;b[s+200+8>>1]=1;b[s+200+10>>1]=-1;c[s+200+12>>2]=c[m+52>>2];c[s+200+12+4>>2]=c[m+52+4>>2];c[s+200+12+8>>2]=c[m+52+8>>2];c[s+200+12+12>>2]=c[m+52+12>>2];c[s+200+28>>2]=c[o>>2];c[s+200+28+4>>2]=c[o+4>>2];c[s+200+28+8>>2]=c[o+8>>2];c[s+200+28+12>>2]=c[o+12>>2];c[s+200+76>>2]=0;c[s+200>>2]=4476;c[s+200+80>>2]=m;c[s+200+88>>2]=f;c[s+200+92>>2]=i;i=c[m+248>>2]|0;c[s+80+8>>2]=0;c[s+80+12>>2]=1065353216;c[s+80+16>>2]=1065353216;c[s+80+20>>2]=1065353216;g[s+80+24>>2]=0.0;c[s+80>>2]=6864;c[s+80+4>>2]=8;c[s+80+28>>2]=i;c[s+80+44>>2]=i;c[s+200+84>>2]=c[d+56>>2];i=c[(c[m+188>>2]|0)+4>>2]|0;b[s+200+8>>1]=i;b[s+200+10>>1]=i>>>16;c[s+16+48>>2]=c[o>>2];c[s+16+48+4>>2]=c[o+4>>2];c[s+16+48+8>>2]=c[o+8>>2];c[s+16+48+12>>2]=c[o+12>>2];c[s+16>>2]=c[m+4>>2];c[s+16+4>>2]=c[m+4+4>>2];c[s+16+8>>2]=c[m+4+8>>2];c[s+16+12>>2]=c[m+4+12>>2];c[s+16+16>>2]=c[m+20>>2];c[s+16+16+4>>2]=c[m+20+4>>2];c[s+16+16+8>>2]=c[m+20+8>>2];c[s+16+16+12>>2]=c[m+20+12>>2];c[s+16+32>>2]=c[m+36>>2];c[s+16+32+4>>2]=c[m+36+4>>2];c[s+16+32+8>>2]=c[m+36+8>>2];c[s+16+32+12>>2]=c[m+36+12>>2];zd(d,s+80|0,m+4|0,s+16|0,s+200|0,0.0);h=+g[s+200+4>>2];if(h<1.0){g[m+244>>2]=h;Ig(m+4|0,+g[m+312>>2],+g[m+316>>2],+g[m+320>>2],m+328|0,h*e,s+136|0);g[m+244>>2]=0.0;Ee(m,s+136|0);f=4}else f=0;if(!f)p=12}else p=12;if((p|0)==12){p=0;f=0}i=c[2405]|0;u=(c[i+16>>2]|0)+-1|0;c[i+16>>2]=u;do if(!u){if(c[i+4>>2]|0){Za(s+200|0,0)|0;u=c[6471]|0;g[i+8>>2]=+g[i+8>>2]+ +(((c[s+200+4>>2]|0)-(c[u+4>>2]|0)+(((c[s+200>>2]|0)-(c[u>>2]|0)|0)*1e6|0)-(c[i+12>>2]|0)|0)>>>0)/1.0e3;if(c[i+16>>2]|0)break;i=c[2405]|0}c[2405]=c[i+20>>2]}while(0);if(f|0)break b}Ee(m,s+136|0)}}while(0);n=n+1|0;if((n|0)>=(c[d+232>>2]|0))break a}}while(0);do if(a[d+275>>0]|0){bj(12338);if((c[d+308>>2]|0)>0){o=0;do{n=c[(c[d+316>>2]|0)+(o<<2)>>2]|0;m=c[n+740>>2]|0;m=(c[m+236>>2]&2|0)==0?0:m;p=c[n+744>>2]|0;p=(c[p+236>>2]&2|0)==0?0:p;f=c[n+748>>2]|0;if((f|0)>0)if(!m){i=0;do{h=+g[57]*+g[p+228>>2];if(h>0.0?(q=+g[n+4+(i*184|0)+120>>2],q!=0.0):0){k=h*+g[n+4+(i*184|0)+64>>2]*q;e=h*+g[n+4+(i*184|0)+68>>2]*q;t=h*+g[n+4+(i*184|0)+72>>2]*q;h=+g[n+4+(i*184|0)+36>>2]-+g[p+56>>2];j=+g[n+4+(i*184|0)+40>>2]-+g[p+60>>2];g[s+16>>2]=+g[n+4+(i*184|0)+32>>2]-+g[p+52>>2];g[s+16+4>>2]=h;g[s+16+8>>2]=j;g[s+16+12>>2]=0.0;g[s>>2]=k;g[s+4>>2]=e;g[s+8>>2]=t;g[s+12>>2]=0.0;Zk(p,s,s+16|0);f=c[n+748>>2]|0}i=i+1|0}while((i|0)<(f|0))}else{i=0;do{h=+g[m+228>>2]*+g[p+228>>2];if(h>0.0?(r=+g[n+4+(i*184|0)+120>>2],r!=0.0):0){k=h*+g[n+4+(i*184|0)+64>>2]*r;e=h*+g[n+4+(i*184|0)+68>>2]*r;t=h*+g[n+4+(i*184|0)+72>>2]*r;g[s+200>>2]=-k;g[s+200+4>>2]=-e;g[s+200+8>>2]=-t;g[s+200+12>>2]=0.0;j=+g[n+4+(i*184|0)+52>>2]-+g[m+56>>2];h=+g[n+4+(i*184|0)+56>>2]-+g[m+60>>2];g[s+80>>2]=+g[n+4+(i*184|0)+48>>2]-+g[m+52>>2];g[s+80+4>>2]=j;g[s+80+8>>2]=h;g[s+80+12>>2]=0.0;h=+g[n+4+(i*184|0)+36>>2]-+g[p+56>>2];j=+g[n+4+(i*184|0)+40>>2]-+g[p+60>>2];g[s+16>>2]=+g[n+4+(i*184|0)+32>>2]-+g[p+52>>2];g[s+16+4>>2]=h;g[s+16+8>>2]=j;g[s+16+12>>2]=0.0;Zk(m,s+200|0,s+80|0);g[s>>2]=k;g[s+4>>2]=e;g[s+8>>2]=t;g[s+12>>2]=0.0;Zk(p,s,s+16|0);f=c[n+748>>2]|0}i=i+1|0}while((i|0)<(f|0))}o=o+1|0}while((o|0)<(c[d+308>>2]|0))}f=c[2405]|0;u=(c[f+16>>2]|0)+-1|0;c[f+16>>2]=u;if(!u){if(c[f+4>>2]|0){Za(s+200|0,0)|0;u=c[6471]|0;g[f+8>>2]=+g[f+8>>2]+ +(((c[s+200+4>>2]|0)-(c[u+4>>2]|0)+(((c[s+200>>2]|0)-(c[u>>2]|0)|0)*1e6|0)-(c[f+12>>2]|0)|0)>>>0)/1.0e3;if(c[f+16>>2]|0)break;f=c[2405]|0}c[2405]=c[f+20>>2]}}while(0);f=c[2405]|0;u=(c[f+16>>2]|0)+-1|0;c[f+16>>2]=u;if(u|0){l=s;return}do if(c[f+4>>2]|0){Za(s+200|0,0)|0;u=c[6471]|0;g[f+8>>2]=+g[f+8>>2]+ +(((c[s+200+4>>2]|0)-(c[u+4>>2]|0)+(((c[s+200>>2]|0)-(c[u>>2]|0)|0)*1e6|0)-(c[f+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[f+16>>2]|0)){f=c[2405]|0;break}else{l=s;return}}while(0);c[2405]=c[f+20>>2];l=s;return}function Sc(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.0,z=0.0,A=0.0;if((d|0)<=1){x=0;return x|0}w=c[b+712>>2]|0;x=O(w,w)|0;x=XH(x>>>0>1073741823?-1:x<<2)|0;if((w|0)>0){j=0;do{k=O(j,w)|0;h=x+(j+k<<2)|0;i=0;do{f=x+((O(i,w)|0)+j<<2)|0;if((i|0)==(j|0)){c[f>>2]=0;c[h>>2]=0}else{c[f>>2]=2147483647;c[x+(i+k<<2)>>2]=2147483647}i=i+1|0}while((i|0)!=(w|0));j=j+1|0}while((j|0)!=(w|0))}f=c[b+732>>2]|0;if((f|0)>0){h=c[b+740>>2]|0;i=c[b+720>>2]|0;j=0;do{p=((c[h+(j*52|0)+8>>2]|0)-i|0)/104|0;t=((c[h+(j*52|0)+12>>2]|0)-i|0)/104|0;c[x+((O(t,w)|0)+p<<2)>>2]=1;c[x+((O(p,w)|0)+t<<2)>>2]=1;j=j+1|0}while((j|0)!=(f|0))}do if((d|0)!=2)if((w|0)>0){m=0;do{n=O(m,w)|0;k=0;do{l=k;k=k+1|0;if((k|0)<(w|0)){o=O(l,w)|0;h=x+(o+m<<2)|0;j=k;do{f=(c[h>>2]|0)+(c[x+(j+n<<2)>>2]|0)|0;i=x+(j+o<<2)|0;if((c[i>>2]|0)>>>0>f>>>0){c[x+((O(j,w)|0)+l<<2)>>2]=f;c[i>>2]=f}j=j+1|0}while((j|0)!=(w|0))}}while((k|0)!=(w|0));m=m+1|0}while((m|0)!=(w|0));q=82}else f=0;else{if((w|0)<0)$a();if((w|0)>0){c[6472]=(c[6472]|0)+1;f=ic((w*20|3)+16|0)|0;if(!f)h=0;else{c[(f+4+15&-16)+-4>>2]=f;h=f+4+15&-16}f=0;do{t=h+(f*20|0)|0;a[t+16>>0]=1;c[t+12>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+4>>2]=0;f=f+1|0}while((f|0)!=(w|0));t=h}else t=0;if((c[b+732>>2]|0)>0){n=0;do{m=c[b+740>>2]|0;p=c[b+720>>2]|0;o=((c[m+(n*52|0)+8>>2]|0)-p|0)/104|0;p=((c[m+(n*52|0)+12>>2]|0)-p|0)/104|0;m=t+(o*20|0)+4|0;f=c[m>>2]|0;a:do if((f|0)>0){i=c[t+(o*20|0)+12>>2]|0;h=0;while(1){if((c[i+(h<<2)>>2]|0)==(p|0))break;h=h+1|0;if((h|0)>=(f|0)){q=37;break a}}if((h|0)==(f|0))q=37}else q=37;while(0);if((q|0)==37){q=0;l=t+(o*20|0)+8|0;if((f|0)==(c[l>>2]|0)?(s=f|0?f<<1:1,(f|0)<(s|0)):0){if(!s)h=0;else{c[6472]=(c[6472]|0)+1;f=ic((s<<2|3)+16|0)|0;if(!f)h=0;else{c[(f+4+15&-16)+-4>>2]=f;h=f+4+15&-16}f=c[m>>2]|0}k=t+(o*20|0)+12|0;j=c[k>>2]|0;if((f|0)<=0)if(!j)i=t+(o*20|0)+16|0;else q=47;else{i=0;do{c[h+(i<<2)>>2]=c[j+(i<<2)>>2];i=i+1|0}while((i|0)!=(f|0));q=47}if((q|0)==47){q=0;i=t+(o*20|0)+16|0;if(a[i>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[j+-4>>2]|0)}c[k>>2]=0;f=c[m>>2]|0}a[i>>0]=1;c[k>>2]=h;c[l>>2]=s}c[(c[t+(o*20|0)+12>>2]|0)+(f<<2)>>2]=p;c[m>>2]=(c[m>>2]|0)+1}m=t+(p*20|0)+4|0;f=c[m>>2]|0;b:do if((f|0)>0){i=c[t+(p*20|0)+12>>2]|0;h=0;while(1){if((c[i+(h<<2)>>2]|0)==(o|0))break;h=h+1|0;if((h|0)>=(f|0)){q=57;break b}}if((h|0)==(f|0))q=57}else q=57;while(0);if((q|0)==57){q=0;l=t+(p*20|0)+8|0;if((f|0)==(c[l>>2]|0)?(r=f|0?f<<1:1,(f|0)<(r|0)):0){if(!r)h=0;else{c[6472]=(c[6472]|0)+1;f=ic((r<<2|3)+16|0)|0;if(!f)h=0;else{c[(f+4+15&-16)+-4>>2]=f;h=f+4+15&-16}f=c[m>>2]|0}k=t+(p*20|0)+12|0;j=c[k>>2]|0;if((f|0)<=0)if(!j)i=t+(p*20|0)+16|0;else q=67;else{i=0;do{c[h+(i<<2)>>2]=c[j+(i<<2)>>2];i=i+1|0}while((i|0)!=(f|0));q=67}if((q|0)==67){q=0;i=t+(p*20|0)+16|0;if(a[i>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[j+-4>>2]|0)}c[k>>2]=0;f=c[m>>2]|0}a[i>>0]=1;c[k>>2]=h;c[l>>2]=r}c[(c[t+(p*20|0)+12>>2]|0)+(f<<2)>>2]=o;c[m>>2]=(c[m>>2]|0)+1}n=n+1|0}while((n|0)<(c[b+732>>2]|0))}if((w|0)<=0){if(!t){f=0;break}}else{p=0;do{q=t+(p*20|0)+4|0;f=c[q>>2]|0;if((f|0)>0){r=O(p,w)|0;o=c[t+(p*20|0)+12>>2]|0;n=0;do{l=c[o+(n<<2)>>2]|0;m=t+(l*20|0)+4|0;h=c[m>>2]|0;if((h|0)>0){k=x+((O(l,w)|0)+p<<2)|0;j=c[t+(l*20|0)+12>>2]|0;i=0;do{f=c[j+(i<<2)>>2]|0;if((p|0)!=(f|0)?(v=O(f,w)|0,u=(c[x+(v+l<<2)>>2]|0)+(c[k>>2]|0)|0,v=x+(v+p<<2)|0,(c[v>>2]|0)>>>0>u>>>0):0){c[x+(f+r<<2)>>2]=u;c[v>>2]=u;h=c[m>>2]|0}i=i+1|0}while((i|0)<(h|0));f=c[q>>2]|0}n=n+1|0}while((n|0)<(f|0))}p=p+1|0}while((p|0)!=(w|0));i=0;do{k=t+(i*20|0)+4|0;j=t+(i*20|0)+12|0;h=c[j>>2]|0;f=t+(i*20|0)+16|0;if(h|0){if(a[f>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[h+-4>>2]|0)}c[j>>2]=0}a[f>>0]=1;c[j>>2]=0;c[k>>2]=0;c[t+(i*20|0)+8>>2]=0;i=i+1|0}while((i|0)!=(w|0))}c[6473]=(c[6473]|0)+1;nd(c[t+-4>>2]|0);q=82}while(0);if((q|0)==82)if((w|0)>0){k=0;f=0;do{i=k;k=k+1|0;if((k|0)<(w|0)){j=O(i,w)|0;h=k;do{if((c[x+(h+j<<2)>>2]|0)==(d|0)){t=c[b+720>>2]|0;Rh(b,e);v=(c[b+732>>2]|0)+-1|0;u=c[b+740>>2]|0;c[u+(v*52|0)+8>>2]=t+(h*104|0);c[u+(v*52|0)+12>>2]=t+(i*104|0);A=+g[t+(h*104|0)+8>>2]-+g[t+(i*104|0)+8>>2];z=+g[t+(h*104|0)+12>>2]-+g[t+(i*104|0)+12>>2];y=+g[t+(h*104|0)+16>>2]-+g[t+(i*104|0)+16>>2];g[u+(v*52|0)+16>>2]=+C(+(A*A+z*z+y*y));a[b+924>>0]=1;v=(c[b+740>>2]|0)+(v*52|0)+20|0;a[v>>0]=a[v>>0]|1;f=f+1|0}h=h+1|0}while((h|0)!=(w|0))}}while((k|0)!=(w|0))}else f=0;YH(x);x=f;return x|0}function Tc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=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,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;if((a[b+180>>0]|0)==0?(a[b+48>>0]|0)!=0:0){s=+g[b+116>>2];v=+g[e>>2];y=+g[b+132>>2];x=+g[e+4>>2];A=+g[b+148>>2];z=+g[e+8>>2];q=+g[b+120>>2];D=+g[b+136>>2];E=+g[b+152>>2];o=+g[b+124>>2];I=+g[b+140>>2];p=+g[b+156>>2];w=+g[e+16>>2];m=+g[e+20>>2];n=+g[e+24>>2];H=+g[e+32>>2];r=+g[e+36>>2];B=+g[e+40>>2];h=+g[b+164>>2];f=+g[b+168>>2];G=+g[b+172>>2];F=+g[e+48>>2]+(v*h+x*f+z*G);C=w*h+m*f+n*G+ +g[e+52>>2];G=H*h+r*f+B*G+ +g[e+56>>2];g[b+824>>2]=s*v+y*x+A*z;g[b+828>>2]=v*q+x*D+z*E;g[b+832>>2]=v*o+x*I+z*p;g[b+836>>2]=0.0;g[b+840>>2]=s*w+y*m+A*n;g[b+844>>2]=q*w+D*m+E*n;g[b+848>>2]=o*w+I*m+p*n;g[b+852>>2]=0.0;g[b+856>>2]=s*H+y*r+A*B;g[b+860>>2]=q*H+D*r+E*B;g[b+864>>2]=o*H+I*r+p*B;g[b+868>>2]=0.0;g[b+872>>2]=F;g[b+876>>2]=C;g[b+880>>2]=G;g[b+884>>2]=0.0;G=+g[b+52>>2];C=+g[d>>2];F=+g[b+68>>2];B=+g[d+4>>2];p=+g[b+84>>2];r=+g[d+8>>2];I=+g[b+56>>2];H=+g[b+72>>2];o=+g[b+88>>2];E=+g[b+60>>2];D=+g[b+76>>2];q=+g[b+92>>2];A=+g[d+16>>2];y=+g[d+20>>2];s=+g[d+24>>2];n=+g[d+32>>2];m=+g[d+36>>2];w=+g[d+40>>2];z=+g[b+100>>2];x=+g[b+104>>2];v=+g[b+108>>2];f=n*z+m*x;h=E*n+D*m+q*w;i=C*I+B*H+r*o;k=G*C+F*B+p*r;l=I*n+H*m+o*w;m=G*n+F*m+p*w;n=E*A+D*y+q*s;o=I*A+H*y+o*s;p=G*A+F*y+p*s;q=C*E+B*D+r*q;r=C*z+B*x+r*v;s=A*z+y*x+s*v;t=b+856|0;u=b+840|0;v=w*v}else{s=+g[b+52>>2];v=+g[d>>2];G=+g[b+68>>2];H=+g[d+4>>2];E=+g[b+84>>2];F=+g[d+8>>2];q=+g[b+56>>2];B=+g[b+72>>2];A=+g[b+88>>2];o=+g[b+60>>2];w=+g[b+76>>2];p=+g[b+92>>2];I=+g[d+16>>2];m=+g[d+20>>2];n=+g[d+24>>2];x=+g[d+32>>2];r=+g[d+36>>2];D=+g[d+40>>2];h=+g[b+100>>2];f=+g[b+104>>2];y=+g[b+108>>2];z=+g[d+48>>2]+(v*h+H*f+F*y);C=I*h+m*f+n*y+ +g[d+52>>2];y=x*h+r*f+D*y+ +g[d+56>>2];g[b+824>>2]=s*v+G*H+E*F;g[b+828>>2]=v*q+H*B+F*A;g[b+832>>2]=v*o+H*w+F*p;g[b+836>>2]=0.0;g[b+840>>2]=s*I+G*m+E*n;g[b+844>>2]=q*I+B*m+A*n;g[b+848>>2]=o*I+w*m+p*n;g[b+852>>2]=0.0;g[b+856>>2]=s*x+G*r+E*D;g[b+860>>2]=q*x+B*r+A*D;g[b+864>>2]=o*x+w*r+p*D;g[b+868>>2]=0.0;g[b+872>>2]=z;g[b+876>>2]=C;g[b+880>>2]=y;g[b+884>>2]=0.0;y=+g[b+116>>2];C=+g[e>>2];z=+g[b+132>>2];D=+g[e+4>>2];p=+g[b+148>>2];r=+g[e+8>>2];w=+g[b+120>>2];x=+g[b+136>>2];o=+g[b+152>>2];A=+g[b+124>>2];B=+g[b+140>>2];q=+g[b+156>>2];E=+g[e+16>>2];G=+g[e+20>>2];s=+g[e+24>>2];n=+g[e+32>>2];m=+g[e+36>>2];I=+g[e+40>>2];F=+g[b+164>>2];H=+g[b+168>>2];v=+g[b+172>>2];f=n*F+m*H;h=A*n+B*m+q*I;i=C*w+D*x+r*o;k=y*C+z*D+p*r;l=w*n+x*m+o*I;m=y*n+z*m+p*I;n=A*E+B*G+q*s;o=w*E+x*G+o*s;p=y*E+z*G+p*s;q=C*A+D*B+r*q;r=C*F+D*H+r*v;s=E*F+G*H+s*v;t=b+856|0;u=b+840|0;v=I*v;d=e}H=+g[d+48>>2]+r;I=s+ +g[d+52>>2];f=f+v+ +g[d+56>>2];g[b+888>>2]=k;g[b+892>>2]=i;g[b+896>>2]=q;g[b+900>>2]=0.0;g[b+904>>2]=p;g[b+908>>2]=o;g[b+912>>2]=n;g[b+916>>2]=0.0;g[b+920>>2]=m;g[b+924>>2]=l;g[b+928>>2]=h;g[b+932>>2]=0.0;g[b+936>>2]=H;g[b+940>>2]=I;g[b+944>>2]=f;g[b+948>>2]=0.0;c[b+968>>2]=c[b+872>>2];c[b+968+4>>2]=c[b+872+4>>2];c[b+968+8>>2]=c[b+872+8>>2];c[b+968+12>>2]=c[b+872+12>>2];c[b+984>>2]=c[b+936>>2];c[b+984+4>>2]=c[b+936+4>>2];c[b+984+8>>2]=c[b+936+8>>2];c[b+984+12>>2]=c[b+936+12>>2];d=c[b+824>>2]|0;e=c[u>>2]|0;u=c[t>>2]|0;c[b+952>>2]=d;c[b+956>>2]=e;c[b+960>>2]=u;g[b+964>>2]=0.0;i=(c[j>>2]=d,+g[j>>2]);f=(c[j>>2]=e,+g[j>>2]);h=(c[j>>2]=u,+g[j>>2]);if((a[b+180>>0]|0)==0?(a[b+48>>0]|0)==0:0){F=+g[b+968>>2];H=+g[b+972>>2];I=+g[b+976>>2];z=F;A=H;B=I;F=F-+g[b+984>>2];I=I-+g[b+992>>2];H=H-+g[b+988>>2];u=b+1016|0;g[u>>2]=F;u=b+1020|0;g[u>>2]=H;u=b+1024|0;g[u>>2]=I;u=b+1028|0;g[u>>2]=0.0;G=i*F;C=f*H;C=G+C;G=h*I;G=C+G;C=i*G;D=f*G;E=h*G;C=z+C;D=A+D;E=B+E;u=b+1e3|0;g[u>>2]=C;u=b+1004|0;g[u>>2]=D;u=b+1008|0;g[u>>2]=E;u=b+1012|0;g[u>>2]=0.0;u=b+1032|0;g[u>>2]=G;u=b+828|0;t=b+844|0;e=b+860|0;G=+g[u>>2];E=+g[t>>2];D=+g[e>>2];G=G*F;E=E*H;E=G+E;D=D*I;D=E+D;e=b+1036|0;g[e>>2]=D;e=b+832|0;t=b+848|0;u=b+864|0;D=+g[e>>2];E=+g[t>>2];G=+g[u>>2];F=D*F;H=E*H;H=F+H;I=G*I;I=H+I;b=b+1040|0;g[b>>2]=I;return}F=+g[b+968>>2];H=+g[b+972>>2];I=+g[b+976>>2];z=F;A=H;B=I;F=+g[b+984>>2]-F;I=+g[b+992>>2]-I;H=+g[b+988>>2]-H;u=b+1016|0;g[u>>2]=F;u=b+1020|0;g[u>>2]=H;u=b+1024|0;g[u>>2]=I;u=b+1028|0;g[u>>2]=0.0;G=i*F;C=f*H;C=G+C;G=h*I;G=C+G;C=i*G;D=f*G;E=h*G;C=z+C;D=A+D;E=B+E;u=b+1e3|0;g[u>>2]=C;u=b+1004|0;g[u>>2]=D;u=b+1008|0;g[u>>2]=E;u=b+1012|0;g[u>>2]=0.0;u=b+1032|0;g[u>>2]=G;u=b+828|0;t=b+844|0;e=b+860|0;G=+g[u>>2];E=+g[t>>2];D=+g[e>>2];G=G*F;E=E*H;E=G+E;D=D*I;D=E+D;e=b+1036|0;g[e>>2]=D;e=b+832|0;t=b+848|0;u=b+864|0;D=+g[e>>2];E=+g[t>>2];G=+g[u>>2];F=D*F;H=E*H;H=F+H;I=G*I;I=H+I;b=b+1040|0;g[b>>2]=I;return}function Uc(b,d,e){b=b|0;d=d|0;e=+e;var f=0,h=0,i=0,j=0,k=0,m=0.0,n=0.0,o=0,p=0.0,q=0,r=0,s=0;s=l;l=l+112|0;q=c[b+716>>2]|0;if((q|0)==(c[b+712>>2]|0)){a:do if(q){j=c[b+720>>2]|0;if((q|0)>0){h=j;i=0;while(1){f=c[h+(i*104|0)+96>>2]|0;if(f|0)c[f+36>>2]=i;f=i+1|0;if((f|0)==(q|0))break a;h=c[b+720>>2]|0;i=f}}}else j=0;while(0);f=c[b+732>>2]|0;if((f|0)>0){h=0;do{o=(c[b+740>>2]|0)+(h*52|0)+8|0;c[o>>2]=((c[o>>2]|0)-j|0)/104|0;o=(c[b+740>>2]|0)+(h*52|0)+12|0;c[o>>2]=((c[o>>2]|0)-j|0)/104|0;h=h+1|0}while((h|0)!=(f|0))}f=c[b+752>>2]|0;if((f|0)>0){i=0;do{h=(c[b+760>>2]|0)+(i*44|0)+8|0;c[h>>2]=((c[h>>2]|0)-j|0)/104|0;h=(c[b+760>>2]|0)+(i*44|0)+12|0;c[h>>2]=((c[h>>2]|0)-j|0)/104|0;h=(c[b+760>>2]|0)+(i*44|0)+16|0;c[h>>2]=((c[h>>2]|0)-j|0)/104|0;h=c[(c[b+760>>2]|0)+(i*44|0)+40>>2]|0;if(h|0)c[h+36>>2]=i;i=i+1|0}while((i|0)!=(f|0))}f=c[b+792>>2]|0;if((f|0)>0){h=c[b+800>>2]|0;i=0;do{o=h+(i*96|0)|0;c[o>>2]=((c[o>>2]|0)-j|0)/104|0;i=i+1|0}while((i|0)!=(f|0))}i=c[b+692>>2]|0;if((i|0)>0){f=c[b+700>>2]|0;k=0;do{if((c[f+(k*60|0)+24>>2]|0)>0){h=0;do{f=f+(k*60|0)+28+(h<<2)|0;c[f>>2]=((c[f>>2]|0)-j|0)/104|0;h=h+1|0;f=c[b+700>>2]|0}while((h|0)<(c[f+(k*60|0)+24>>2]|0))}k=k+1|0}while((k|0)!=(i|0))}if((q|0)<(q<<1|1|0)){c[6472]=(c[6472]|0)+1;f=ic(((q<<1|1)*104|3)+16|0)|0;if(!f)i=0;else{c[(f+4+15&-16)+-4>>2]=f;i=f+4+15&-16}f=c[b+712>>2]|0;if((f|0)>0){h=0;do{k=i+(h*104|0)|0;j=(c[b+720>>2]|0)+(h*104|0)|0;o=k+104|0;do{c[k>>2]=c[j>>2];k=k+4|0;j=j+4|0}while((k|0)<(o|0));h=h+1|0}while((h|0)!=(f|0))}f=c[b+720>>2]|0;if(f|0){if(a[b+724>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0)}c[b+720>>2]=0}a[b+724>>0]=1;c[b+720>>2]=i;c[b+716>>2]=q<<1|1;i=c[b+712>>2]|0}else i=q;b:do if(i){j=c[b+720>>2]|0;if((i|0)>0){k=j;f=0;while(1){h=c[k+(f*104|0)+96>>2]|0;if(h|0)c[h+36>>2]=k+(f*104|0);f=f+1|0;if((f|0)==(i|0)){k=j;break b}k=c[b+720>>2]|0}}else k=j}else k=0;while(0);f=c[b+732>>2]|0;if((f|0)>0){h=0;do{q=(c[b+740>>2]|0)+(h*52|0)+8|0;c[q>>2]=k+((c[q>>2]|0)*104|0);q=(c[b+740>>2]|0)+(h*52|0)+12|0;c[q>>2]=k+((c[q>>2]|0)*104|0);h=h+1|0}while((h|0)!=(f|0))}f=c[b+752>>2]|0;if((f|0)>0){j=0;do{h=(c[b+760>>2]|0)+(j*44|0)+8|0;c[h>>2]=k+((c[h>>2]|0)*104|0);h=(c[b+760>>2]|0)+(j*44|0)+12|0;c[h>>2]=k+((c[h>>2]|0)*104|0);h=(c[b+760>>2]|0)+(j*44|0)+16|0;c[h>>2]=k+((c[h>>2]|0)*104|0);h=c[b+760>>2]|0;i=c[h+(j*44|0)+40>>2]|0;if(i|0)c[i+36>>2]=h+(j*44|0);j=j+1|0}while((j|0)!=(f|0))}f=c[b+792>>2]|0;if((f|0)>0){h=c[b+800>>2]|0;i=0;do{c[h+(i*96|0)>>2]=k+((c[h+(i*96|0)>>2]|0)*104|0);i=i+1|0}while((i|0)!=(f|0))}i=c[b+692>>2]|0;if((i|0)>0){f=c[b+700>>2]|0;j=0;do{if((c[f+(j*60|0)+24>>2]|0)>0){h=0;do{f=f+(j*60|0)+28+(h<<2)|0;c[f>>2]=k+((c[f>>2]|0)*104|0);h=h+1|0;f=c[b+700>>2]|0}while((h|0)<(c[f+(j*60|0)+24>>2]|0))}j=j+1|0}while((j|0)!=(i|0))}}k=c[b+192>>2]|0;p=+gb[c[(c[k>>2]|0)+48>>2]&15](k);k=s;o=k+100|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(o|0));f=c[b+712>>2]|0;if((f|0)==(c[b+716>>2]|0)?(r=f|0?f<<1:1,(f|0)<(r|0)):0){if(!r)h=0;else{c[6472]=(c[6472]|0)+1;f=ic((r*104|3)+16|0)|0;if(!f)h=0;else{c[(f+4+15&-16)+-4>>2]=f;h=f+4+15&-16}f=c[b+712>>2]|0}if((f|0)>0){i=0;do{k=h+(i*104|0)|0;j=(c[b+720>>2]|0)+(i*104|0)|0;o=k+104|0;do{c[k>>2]=c[j>>2];k=k+4|0;j=j+4|0}while((k|0)<(o|0));i=i+1|0}while((i|0)!=(f|0))}f=c[b+720>>2]|0;if(f|0){if(a[b+724>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0)}c[b+720>>2]=0}a[b+724>>0]=1;c[b+720>>2]=h;c[b+716>>2]=r;f=c[b+712>>2]|0}k=c[b+720>>2]|0;c[k+(f*104|0)>>2]=0;k=k+(f*104|0)+4|0;j=s;o=k+100|0;do{c[k>>2]=c[j>>2];k=k+4|0;j=j+4|0}while((k|0)<(o|0));h=c[b+712>>2]|0;c[b+712>>2]=h+1;i=c[b+720>>2]|0;k=i+(h*104|0)|0;o=k+104|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(o|0));c[i+(h*104|0)+8>>2]=c[d>>2];c[i+(h*104|0)+8+4>>2]=c[d+4>>2];c[i+(h*104|0)+8+8>>2]=c[d+8>>2];c[i+(h*104|0)+8+12>>2]=c[d+12>>2];yp(i+(h*104|0)+24|0,d|0,16)|0;g[i+(h*104|0)+88>>2]=e>0.0?1.0/e:0.0;c[i+(h*104|0)+4>>2]=c[c[b+880>>2]>>2];e=+g[i+(h*104|0)+8>>2];m=+g[i+(h*104|0)+12>>2];n=+g[i+(h*104|0)+16>>2];f=c[b+932>>2]|0;if(f|0){c[b+932>>2]=0;d=f;r=d+32|0;c[r>>2]=0;r=d+36|0;c[r>>2]=i+(h*104|0);r=d+40|0;c[r>>2]=0;g[d>>2]=e-p;r=d+4|0;g[r>>2]=m-p;r=d+8|0;g[r>>2]=n-p;r=d+12|0;g[r>>2]=0.0;r=d+16|0;g[r>>2]=p+e;r=d+20|0;g[r>>2]=p+m;r=d+24|0;g[r>>2]=p+n;r=d+28|0;g[r>>2]=0.0;r=c[b+928>>2]|0;af(b+928|0,r,d);b=b+940|0;r=c[b>>2]|0;r=r+1|0;c[b>>2]=r;b=i+(h*104|0)+96|0;c[b>>2]=d;l=s;return}c[6472]=(c[6472]|0)+1;f=ic(63)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}k=f;o=k+44|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(o|0));d=f;r=d+32|0;c[r>>2]=0;r=d+36|0;c[r>>2]=i+(h*104|0);r=d+40|0;c[r>>2]=0;g[d>>2]=e-p;r=d+4|0;g[r>>2]=m-p;r=d+8|0;g[r>>2]=n-p;r=d+12|0;g[r>>2]=0.0;r=d+16|0;g[r>>2]=p+e;r=d+20|0;g[r>>2]=p+m;r=d+24|0;g[r>>2]=p+n;r=d+28|0;g[r>>2]=0.0;r=c[b+928>>2]|0;af(b+928|0,r,d);b=b+940|0;r=c[b>>2]|0;r=r+1|0;c[b>>2]=r;b=i+(h*104|0)+96|0;c[b>>2]=d;l=s;return}function Vc(b,d,e,f,h,i,j,k,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;m=m|0;var 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,D=0.0,E=0.0,F=0.0,G=0.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;I=l;l=l+32|0;c[I+16>>2]=i;c[I+16+4>>2]=j;c[I+16+8>>2]=k;c[I>>2]=e;c[I+4>>2]=f;c[I+8>>2]=h;if(!(+g[d+52>>2]<+g[b+12>>2])){m=0;l=I;return m|0}x=+g[d+36>>2];z=+g[d+40>>2];y=+g[d+44>>2];h=c[d+48>>2]|0;w=1.0/+C(+(x*x+z*z+y*y));k=ji(I)|0;A=+g[d+4>>2]-+g[k+48>>2];F=+g[d+8>>2]-+g[k+52>>2];D=+g[d+12>>2]-+g[k+56>>2];k=ji(I+16|0)|0;B=+g[d+20>>2]-+g[k+48>>2];G=+g[d+24>>2]-+g[k+52>>2];E=+g[d+28>>2]-+g[k+56>>2];if(!f)if(!e){p=0.0;s=0.0;q=0.0;n=0.0;o=0.0;r=0.0}else{r=+g[e+336>>2];o=+g[e+340>>2];v=+g[e+332>>2];p=+g[e+316>>2];s=+g[e+320>>2];q=+g[e+324>>2];n=D*r-F*o;o=A*o-D*v;r=F*v-A*r}else{r=+g[f+332>>2];o=+g[f+336>>2];v=+g[f+328>>2];p=+g[f+312>>2];s=+g[f+316>>2];q=+g[f+320>>2];n=D*r-F*o;o=A*o-D*v;r=F*v-A*r}v=p+n;u=s+o;r=q+r;if(!j)if(!i){s=0.0;t=0.0;n=0.0;o=0.0;p=0.0;q=0.0}else{q=+g[i+336>>2];p=+g[i+340>>2];J=+g[i+332>>2];s=+g[i+316>>2];t=+g[i+320>>2];n=+g[i+324>>2];o=E*q-G*p;p=B*p-E*J;q=G*J-B*q}else{q=+g[j+332>>2];p=+g[j+336>>2];J=+g[j+328>>2];s=+g[j+312>>2];t=+g[j+316>>2];n=+g[j+320>>2];o=E*q-G*p;p=B*p-E*J;q=G*J-B*q}s=v-(s+o);u=u-(t+p);t=r-(n+q);v=y*w*t+(z*w*u+x*w*s);J=+g[d+52>>2]-+g[b+12>>2];c[m+4>>2]=c[I>>2];c[m+4+4>>2]=c[I+4>>2];c[m+4+8>>2]=c[I+8>>2];c[m+16>>2]=c[I+16>>2];c[m+16+4>>2]=c[I+16+4>>2];c[m+16+8>>2]=c[I+16+8>>2];d=ji(I)|0;r=A*+g[d+4>>2]+F*+g[d+20>>2]+D*+g[d+36>>2];q=A*+g[d+8>>2]+F*+g[d+24>>2]+D*+g[d+40>>2];g[m+28>>2]=A*+g[d>>2]+F*+g[d+16>>2]+D*+g[d+32>>2];g[m+32>>2]=r;g[m+36>>2]=q;g[m+40>>2]=0.0;d=ji(I+16|0)|0;q=B*+g[d+4>>2]+G*+g[d+20>>2]+E*+g[d+36>>2];r=B*+g[d+8>>2]+G*+g[d+24>>2]+E*+g[d+40>>2];g[m+44>>2]=B*+g[d>>2]+G*+g[d+16>>2]+E*+g[d+32>>2];g[m+48>>2]=q;g[m+52>>2]=r;g[m+56>>2]=0.0;g[m+164>>2]=A;g[m+168>>2]=F;g[m+172>>2]=D;g[m+176>>2]=0.0;g[m+180>>2]=B;g[m+184>>2]=G;g[m+188>>2]=E;g[m+192>>2]=0.0;g[m+60>>2]=1.0;g[m+64>>2]=1.0;c[m+156>>2]=0;c[m+160>>2]=0;g[m+68>>2]=1.0;g[m+72>>2]=x*w*J;g[m+76>>2]=z*w*J;g[m+80>>2]=y*w*J;g[m+84>>2]=0.0;g[m+196>>2]=x*w;g[m+200>>2]=z*w;g[m+204>>2]=y*w;c[m+208>>2]=h;a[m+152>>0]=0;J=+g[b+16>>2];g[m+212>>2]=(t-y*w*v)*(t-y*w*v)+((s-x*w*v)*(s-x*w*v)+(u-z*w*v)*(u-z*w*v))>2]|0;if(!h){h=c[I>>2]|0;if(!h)o=0.0;else{h=h+128|0;H=14}}else{h=h+344|0;H=14}if((H|0)==14)o=+g[h>>2];if((a[22704]|0)==0?Yy(22704)|0:0){h=23168;k=h+48|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0))}h=c[I+4>>2]|0;if(!h){e=c[I>>2]|0;e=(e|0)==0?23168:e+180|0}else e=h+264|0;h=c[I+16+4>>2]|0;if(!h){h=c[I+16>>2]|0;if(!h)n=0.0;else{h=h+128|0;H=25}}else{h=h+344|0;H=25}if((H|0)==25)n=+g[h>>2];if((a[22704]|0)==0?Yy(22704)|0:0){h=23168;k=h+48|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0))}h=c[I+16+4>>2]|0;if(!h){h=c[I+16>>2]|0;h=(h|0)==0?23168:h+180|0}else h=h+264|0;W=+g[m+172>>2];O=+g[m+168>>2];N=+g[m+164>>2];V=+g[e>>2];U=+g[e+16>>2];T=+g[e+32>>2];S=+g[e+4>>2];R=+g[e+20>>2];Q=+g[e+36>>2];P=+g[e+8>>2];M=+g[e+24>>2];L=+g[e+40>>2];B=+g[m+188>>2];v=+g[m+184>>2];w=+g[m+180>>2];K=+g[h>>2];p=+g[h+16>>2];q=+g[h+32>>2];r=+g[h+4>>2];s=+g[h+20>>2];t=+g[h+36>>2];u=+g[h+8>>2];J=+g[h+24>>2];x=+g[h+40>>2];E=o-((V*0.0+U*-W+O*T)*0.0+W*(S*0.0+R*-W+O*Q)+(P*0.0+M*-W+O*L)*-O)+(n-((K*0.0+p*-B+v*q)*0.0+B*(r*0.0+s*-B+v*t)+(u*0.0+J*-B+v*x)*-v));G=0.0-((V*0.0+U*-W+O*T)*-W+(S*0.0+R*-W+O*Q)*0.0+N*(P*0.0+M*-W+O*L))+(0.0-((K*0.0+p*-B+v*q)*-B+(r*0.0+s*-B+v*t)*0.0+w*(u*0.0+J*-B+v*x)));y=0.0-(O*(V*0.0+U*-W+O*T)+(S*0.0+R*-W+O*Q)*-N+(P*0.0+M*-W+O*L)*0.0)+(0.0-(v*(K*0.0+p*-B+v*q)+(r*0.0+s*-B+v*t)*-w+(u*0.0+J*-B+v*x)*0.0));F=0.0-((W*V+U*0.0+T*-N)*0.0+W*(W*S+R*0.0+Q*-N)+(W*P+M*0.0+L*-N)*-O)+(0.0-((B*K+p*0.0+q*-w)*0.0+B*(B*r+s*0.0+t*-w)+(B*u+J*0.0+x*-w)*-v));D=o-((W*V+U*0.0+T*-N)*-W+(W*S+R*0.0+Q*-N)*0.0+N*(W*P+M*0.0+L*-N))+(n-((B*K+p*0.0+q*-w)*-B+(B*r+s*0.0+t*-w)*0.0+w*(B*u+J*0.0+x*-w)));z=0.0-(O*(W*V+U*0.0+T*-N)+(W*S+R*0.0+Q*-N)*-N+(W*P+M*0.0+L*-N)*0.0)+(0.0-(v*(B*K+p*0.0+q*-w)+(B*r+s*0.0+t*-w)*-w+(B*u+J*0.0+x*-w)*0.0));A=0.0-((V*-O+N*U+T*0.0)*0.0+W*(S*-O+N*R+Q*0.0)+(P*-O+N*M+L*0.0)*-O)+(0.0-((K*-v+w*p+q*0.0)*0.0+B*(r*-v+w*s+t*0.0)+(u*-v+w*J+x*0.0)*-v));B=0.0-((V*-O+N*U+T*0.0)*-W+(S*-O+N*R+Q*0.0)*0.0+N*(P*-O+N*M+L*0.0))+(0.0-((K*-v+w*p+q*0.0)*-B+(r*-v+w*s+t*0.0)*0.0+w*(u*-v+w*J+x*0.0)));x=o-(O*(V*-O+N*U+T*0.0)+(S*-O+N*R+Q*0.0)*-N+(P*-O+N*M+L*0.0)*0.0)+(n-(v*(K*-v+w*p+q*0.0)+(r*-v+w*s+t*0.0)*-w+(u*-v+w*J+x*0.0)*0.0));J=1.0/(y*(B*F-D*A)+(E*(D*x-z*B)+G*(z*A-x*F)));g[m+104>>2]=(D*x-z*B)*J;g[m+108>>2]=(B*y-x*G)*J;g[m+112>>2]=(z*G-D*y)*J;g[m+116>>2]=0.0;g[m+120>>2]=(z*A-x*F)*J;g[m+124>>2]=(x*E-A*y)*J;g[m+128>>2]=(F*y-z*E)*J;g[m+132>>2]=0.0;g[m+136>>2]=(B*F-D*A)*J;g[m+140>>2]=(A*G-B*E)*J;g[m+144>>2]=(D*E-F*G)*J;g[m+148>>2]=0.0;m=1;l=I;return m|0}function Wc(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,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.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;s=l;l=l+224|0;r=(a[b+28>>0]|0)!=0;q=r?e:d;r=r?d:e;p=c[q+4>>2]|0;if((c[p+68>>2]|0)!=(c[b+40>>2]|0)){i=c[b+12>>2]|0;if((i|0)>0){k=0;do{j=c[(c[b+20>>2]|0)+(k<<2)>>2]|0;if(j|0){Ab[c[c[j>>2]>>2]&511](j);n=c[b+4>>2]|0;Gb[c[(c[n>>2]|0)+60>>2]&127](n,c[(c[b+20>>2]|0)+(k<<2)>>2]|0)}k=k+1|0}while((k|0)!=(i|0))}Vg(b,d,e)}n=c[p+64>>2]|0;i=c[b+4>>2]|0;j=c[b+20>>2]|0;m=c[b+32>>2]|0;c[s+192>>2]=6384;c[s+192+4>>2]=q;c[s+192+8>>2]=r;c[s+192+12>>2]=i;c[s+192+16>>2]=f;c[s+192+20>>2]=h;c[s+192+24>>2]=j;c[s+192+28>>2]=m;a[s+128+16>>0]=1;m=s+128+12|0;c[m>>2]=0;c[s+128+4>>2]=0;c[s+128+8>>2]=0;i=c[b+12>>2]|0;if((i|0)>0){d=0;while(1){j=c[j+(d<<2)>>2]|0;if(j){Gb[c[(c[j>>2]|0)+16>>2]&127](j,s+128|0);i=c[s+128+4>>2]|0;if((i|0)>0){f=0;do{k=c[(c[m>>2]|0)+(f<<2)>>2]|0;if(c[k+748>>2]|0){c[h+4>>2]=k;i=c[k+740>>2]|0;j=c[(c[h+8>>2]|0)+8>>2]|0;e=c[(c[h+12>>2]|0)+8>>2]|0;if((i|0)==(j|0))Oe(k,i+4|0,e+4|0);else Oe(k,e+4|0,j+4|0);c[h+4>>2]=0;i=c[s+128+4>>2]|0}f=f+1|0}while((f|0)<(i|0))}if((i|0)<0){if((c[s+128+8>>2]|0)<0){j=c[m>>2]|0;if(j|0){if(a[s+128+16>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[j+-4>>2]|0)}c[m>>2]=0}a[s+128+16>>0]=1;c[m>>2]=0;c[s+128+8>>2]=0}do{c[(c[m>>2]|0)+(i<<2)>>2]=0;i=i+1|0}while((i|0)!=0)}c[s+128+4>>2]=0;i=c[b+12>>2]|0}d=d+1|0;if((d|0)>=(i|0))break;j=c[b+20>>2]|0}i=c[m>>2]|0;if(i|0){if(a[s+128+16>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0)}c[m>>2]=0}}if(!n){j=c[b+12>>2]|0;if((j|0)>0){i=0;do{Fe(s+192|0,c[(c[p+24>>2]|0)+(i*80|0)+64>>2]|0,i);i=i+1|0}while((i|0)<(j|0));o=38}}else{o=c[q+12>>2]|0;H=+g[o>>2];G=+g[o+16>>2];F=+g[o+32>>2];E=+g[o+4>>2];D=+g[o+20>>2];C=+g[o+36>>2];y=+g[o+8>>2];w=+g[o+24>>2];u=+g[o+40>>2];B=-+g[o+48>>2];A=-+g[o+52>>2];z=-+g[o+56>>2];o=c[r+12>>2]|0;Q=+g[o>>2];P=+g[o+16>>2];O=+g[o+32>>2];N=+g[o+4>>2];M=+g[o+20>>2];L=+g[o+36>>2];K=+g[o+8>>2];J=+g[o+24>>2];I=+g[o+40>>2];x=+g[o+48>>2];v=+g[o+52>>2];t=+g[o+56>>2];g[s+48>>2]=H*Q+G*P+F*O;g[s+48+4>>2]=H*N+G*M+F*L;g[s+48+8>>2]=H*K+G*J+F*I;g[s+48+12>>2]=0.0;g[s+48+16>>2]=E*Q+D*P+C*O;g[s+48+20>>2]=E*N+D*M+C*L;g[s+48+24>>2]=E*K+D*J+C*I;g[s+48+28>>2]=0.0;g[s+48+32>>2]=y*Q+w*P+u*O;g[s+48+36>>2]=y*N+w*M+u*L;g[s+48+40>>2]=y*K+w*J+u*I;g[s+48+44>>2]=0.0;g[s+48+48>>2]=H*B+G*A+F*z+(H*x+G*v+F*t);g[s+48+52>>2]=E*B+D*A+C*z+(E*x+D*v+C*t);g[s+48+56>>2]=y*B+w*A+u*z+(y*x+w*v+u*t);g[s+48+60>>2]=0.0;o=c[r+4>>2]|0;Nb[c[(c[o>>2]|0)+8>>2]&127](o,s+48|0,s+128|0,s+112|0);c[s+16>>2]=c[s+128>>2];c[s+16+4>>2]=c[s+128+4>>2];c[s+16+8>>2]=c[s+128+8>>2];c[s+16+12>>2]=c[s+128+12>>2];c[s+16+16>>2]=c[s+112>>2];c[s+16+16+4>>2]=c[s+112+4>>2];c[s+16+16+8>>2]=c[s+112+8>>2];c[s+16+16+12>>2]=c[s+112+12>>2];Ue(c[n>>2]|0,s+16|0,s+192|0);o=38}if((o|0)==38)j=c[b+12>>2]|0;if((j|0)<=0){l=s;return}d=0;do{do if(c[(c[b+20>>2]|0)+(d<<2)>>2]|0){n=c[p+24>>2]|0;o=c[n+(d*80|0)+64>>2]|0;h=c[q+12>>2]|0;w=+g[h>>2];x=+g[h+4>>2];y=+g[h+8>>2];z=+g[h+16>>2];A=+g[h+20>>2];B=+g[h+24>>2];I=+g[h+32>>2];K=+g[h+36>>2];M=+g[h+40>>2];C=+g[n+(d*80|0)>>2];D=+g[n+(d*80|0)+16>>2];E=+g[n+(d*80|0)+32>>2];F=+g[n+(d*80|0)+4>>2];G=+g[n+(d*80|0)+20>>2];H=+g[n+(d*80|0)+36>>2];J=+g[n+(d*80|0)+8>>2];L=+g[n+(d*80|0)+24>>2];N=+g[n+(d*80|0)+40>>2];u=+g[n+(d*80|0)+48>>2];v=+g[n+(d*80|0)+52>>2];Q=+g[n+(d*80|0)+56>>2];O=+g[h+48>>2]+(w*u+x*v+y*Q);P=+g[h+52>>2]+(z*u+A*v+B*Q);Q=+g[h+56>>2]+(I*u+K*v+M*Q);g[s+128>>2]=w*C+x*D+y*E;g[s+128+4>>2]=w*F+x*G+y*H;g[s+128+8>>2]=w*J+x*L+y*N;g[s+128+12>>2]=0.0;g[s+128+16>>2]=z*C+A*D+B*E;g[s+128+20>>2]=z*F+A*G+B*H;g[s+128+24>>2]=z*J+A*L+B*N;g[s+128+28>>2]=0.0;g[s+128+32>>2]=I*C+K*D+M*E;g[s+128+36>>2]=I*F+K*G+M*H;g[s+128+40>>2]=I*J+K*L+M*N;g[s+128+44>>2]=0.0;g[s+128+48>>2]=O;g[s+128+52>>2]=P;g[s+128+56>>2]=Q;g[s+128+60>>2]=0.0;Nb[c[(c[o>>2]|0)+8>>2]&127](o,s+128|0,s+112|0,s+48|0);o=c[r+4>>2]|0;Nb[c[(c[o>>2]|0)+8>>2]&127](o,c[r+12>>2]|0,s+16|0,s);if(!(+g[s+112>>2]>+g[s>>2])?!(+g[s+48>>2]<+g[s+16>>2]):0)i=1;else i=0;if(!(!(+g[s+112+8>>2]>+g[s+8>>2])?!(+g[s+48+8>>2]<+g[s+16+8>>2]):0))i=0;if(!(+g[s+112+4>>2]>+g[s+4>>2])?!(+g[s+48+4>>2]<+g[s+16+4>>2]|i^1):0)break;o=c[(c[b+20>>2]|0)+(d<<2)>>2]|0;Ab[c[c[o>>2]>>2]&511](o);o=c[b+4>>2]|0;Gb[c[(c[o>>2]|0)+60>>2]&127](o,c[(c[b+20>>2]|0)+(d<<2)>>2]|0);c[(c[b+20>>2]|0)+(d<<2)>>2]=0}while(0);d=d+1|0}while((d|0)<(j|0));l=s;return}function Xc(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,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,C=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;c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];c[b+8>>2]=c[a+8>>2];c[b+12>>2]=c[a+12>>2];c[b+16>>2]=c[a+16>>2];c[b+16+4>>2]=c[a+16+4>>2];c[b+16+8>>2]=c[a+16+8>>2];c[b+16+12>>2]=c[a+16+12>>2];c[b+32>>2]=c[a+32>>2];c[b+32+4>>2]=c[a+32+4>>2];c[b+32+8>>2]=c[a+32+8>>2];c[b+32+12>>2]=c[a+32+12>>2];r=+g[a+20>>2];m=+g[a+40>>2];p=+g[a+24>>2];n=+g[a+36>>2];o=+g[a+32>>2];s=+g[a+16>>2];t=+g[a>>2];u=+g[a+4>>2];q=+g[a+8>>2];v=1.0/((r*m-p*n)*t+u*(p*o-m*s)+(n*s-r*o)*q);g[d>>2]=(r*m-p*n)*v;g[d+4>>2]=(n*q-m*u)*v;g[d+8>>2]=(p*u-r*q)*v;g[d+12>>2]=0.0;g[d+16>>2]=(p*o-m*s)*v;g[d+20>>2]=(m*t-o*q)*v;g[d+24>>2]=(s*q-p*t)*v;g[d+28>>2]=0.0;g[d+32>>2]=(n*s-r*o)*v;g[d+36>>2]=(o*u-n*t)*v;g[d+40>>2]=(r*t-s*u)*v;g[d+44>>2]=0.0;a:do if(!(c[5825]|0)){e=b;f=b+40|0;h=b+24|0;i=b+8|0;j=b+36|0;k=b+20|0;l=b+4|0}else{F=(r*m-p*n)*v;G=(p*o-m*s)*v;H=(n*s-r*o)*v;I=(n*q-m*u)*v;E=(m*t-o*q)*v;A=(o*u-n*t)*v;C=(p*u-r*q)*v;z=(s*q-p*t)*v;n=(r*t-s*u)*v;e=0;while(1){p=+B(+F);o=+B(+G);N=+B(+H);W=+B(+I);O=+B(+E);M=+B(+A);Q=+B(+C);P=+B(+z);x=+B(+n);R=p+o+N>W+O+M?p+o+N:W+O+M;O=p+W+Q>o+O+P?p+W+Q:o+O+P;o=+g[b>>2];W=+B(+o);p=+g[b+16>>2];T=+B(+p);q=+g[b+32>>2];K=+B(+q);r=+g[b+4>>2];V=+B(+r);s=+g[b+20>>2];S=+B(+s);t=+g[b+36>>2];J=+B(+t);u=+g[b+8>>2];U=+B(+u);v=+g[b+24>>2];L=+B(+v);w=+g[b+40>>2];y=+B(+w);m=W+T+K>V+S+J?W+T+K:V+S+J;m=m>U+L+y?m:U+L+y;L=W+V+U>T+S+L?W+V+U:T+S+L;x=(R>Q+P+x?R:Q+P+x)*(O>N+M+x?O:N+M+x);y=m*(L>K+J+y?L:K+J+y);if(+B(+x)<1.1920928955078125e-07){e=b;f=b+40|0;h=b+24|0;i=b+8|0;j=b+36|0;k=b+20|0;l=b+4|0;break a}if(+B(+y)<1.1920928955078125e-07){e=b;f=b+40|0;h=b+24|0;i=b+8|0;j=b+36|0;k=b+20|0;l=b+4|0;break a}W=+D(+(x/y),.25);O=(o*(W+-2.0)+F*(1.0/W))*.5;Q=(r*(W+-2.0)+1.0/W*G)*.5;S=(u*(W+-2.0)+1.0/W*H)*.5;P=(p*(W+-2.0)+1.0/W*I)*.5;R=(s*(W+-2.0)+1.0/W*E)*.5;T=(v*(W+-2.0)+1.0/W*A)*.5;U=(q*(W+-2.0)+1.0/W*C)*.5;V=(t*(W+-2.0)+1.0/W*z)*.5;W=(w*(W+-2.0)+1.0/W*n)*.5;g[b>>2]=o+O;g[b+4>>2]=r+Q;g[b+8>>2]=u+S;g[b+12>>2]=0.0;g[b+16>>2]=p+P;g[b+20>>2]=s+R;g[b+24>>2]=v+T;g[b+28>>2]=0.0;g[b+32>>2]=q+U;g[b+36>>2]=t+V;g[b+40>>2]=w+W;g[b+44>>2]=0.0;N=1.0/(((w+W)*(s+R)-(v+T)*(t+V))*(o+O)+(r+Q)*((v+T)*(q+U)-(w+W)*(p+P))+((t+V)*(p+P)-(s+R)*(q+U))*(u+S));F=((w+W)*(s+R)-(v+T)*(t+V))*N;I=((t+V)*(u+S)-(w+W)*(r+Q))*N;C=((v+T)*(r+Q)-(s+R)*(u+S))*N;G=((v+T)*(q+U)-(w+W)*(p+P))*N;E=((w+W)*(o+O)-(q+U)*(u+S))*N;z=((p+P)*(u+S)-(v+T)*(o+O))*N;H=((t+V)*(p+P)-(s+R)*(q+U))*N;A=((q+U)*(r+Q)-(t+V)*(o+O))*N;n=((s+R)*(o+O)-(p+P)*(r+Q))*N;g[d>>2]=F;g[d+4>>2]=I;g[d+8>>2]=C;g[d+12>>2]=0.0;g[d+16>>2]=G;g[d+20>>2]=E;g[d+24>>2]=z;g[d+28>>2]=0.0;g[d+32>>2]=H;g[d+36>>2]=A;g[d+40>>2]=n;g[d+44>>2]=0.0;U=+B(+O)+ +B(+P)+ +B(+U);V=+B(+Q)+ +B(+R)+ +B(+V);W=+B(+S)+ +B(+T)+ +B(+W);V=U>V?U:V;if((V>W?V:W)<=m*+g[5824])break;e=e+1|0;if(e>>>0>=(c[5825]|0)>>>0){e=b;f=b+40|0;h=b+24|0;i=b+8|0;j=b+36|0;k=b+20|0;l=b+4|0;break a}}M=+g[b>>2];O=+g[b+16>>2];Q=+g[b+32>>2];H=+g[b+4>>2];J=+g[b+20>>2];L=+g[b+36>>2];A=+g[b+8>>2];E=+g[b+24>>2];G=+g[b+40>>2];N=+g[a>>2];P=+g[a+16>>2];R=+g[a+32>>2];I=+g[a+4>>2];K=+g[a+20>>2];T=+g[a+36>>2];C=+g[a+8>>2];F=+g[a+24>>2];W=+g[a+40>>2];S=H*N+J*P+L*R+(M*I+O*K+Q*T);U=A*N+E*P+G*R+(M*C+O*F+Q*W);V=A*I+E*K+G*T+(H*C+J*F+L*W);W=A*C+E*F+G*W+(A*C+E*F+G*W);T=H*I+J*K+L*T+(H*I+J*K+L*T);R=M*N+O*P+Q*R+(M*N+O*P+Q*R);S=S*.5;U=U*.5;V=V*.5;R=R*.5;g[d>>2]=R;g[d+4>>2]=S;g[d+8>>2]=U;g[d+12>>2]=0.0;g[d+16>>2]=S;T=T*.5;g[d+20>>2]=T;g[d+24>>2]=V;g[d+28>>2]=0.0;g[d+32>>2]=U;g[d+36>>2]=V;W=W*.5;g[d+40>>2]=W;g[d+44>>2]=0.0;return}while(0);M=+g[e>>2];O=+g[b+16>>2];Q=+g[b+32>>2];H=+g[l>>2];J=+g[k>>2];L=+g[j>>2];A=+g[i>>2];E=+g[h>>2];G=+g[f>>2];N=+g[a>>2];P=+g[a+16>>2];R=+g[a+32>>2];I=+g[a+4>>2];K=+g[a+20>>2];T=+g[a+36>>2];C=+g[a+8>>2];F=+g[a+24>>2];W=+g[a+40>>2];S=H*N+J*P+L*R+(M*I+O*K+Q*T);U=A*N+E*P+G*R+(M*C+O*F+Q*W);V=A*I+E*K+G*T+(H*C+J*F+L*W);W=A*C+E*F+G*W+(A*C+E*F+G*W);T=H*I+J*K+L*T+(H*I+J*K+L*T);R=M*N+O*P+Q*R+(M*N+O*P+Q*R);S=S*.5;U=U*.5;V=V*.5;R=R*.5;g[d>>2]=R;g[d+4>>2]=S;g[d+8>>2]=U;g[d+12>>2]=0.0;g[d+16>>2]=S;T=T*.5;g[d+20>>2]=T;g[d+24>>2]=V;g[d+28>>2]=0.0;g[d+32>>2]=U;g[d+36>>2]=V;W=W*.5;g[d+40>>2]=W;g[d+44>>2]=0.0;return}function Yc(a,b,f,i){a=a|0;b=b|0;f=f|0;i=i|0;var j=0.0,k=0.0,m=0.0,n=0,o=0,p=0.0,q=0.0,r=0,s=0,t=0,u=0;o=l;l=l+80|0;f=qb[c[(c[a>>2]|0)+28>>2]&127](a)|0;j=+g[a+4>>2];k=+g[a+8>>2];m=+g[a+12>>2];if((f|0)<=0){l=o;return}n=0;do{Wb[c[(c[a>>2]|0)+16>>2]&3](a,o+76|0,o+52|0,o+64|0,o+56|0,o+72|0,o+68|0,o+48|0,o+60|0,n);a:do switch(c[o+64>>2]|0){case 0:{switch(c[o+60>>2]|0){case 2:{if((c[o+48>>2]|0)>0)i=0;else break a;do{r=(c[o+72>>2]|0)+(O(c[o+68>>2]|0,i)|0)|0;t=c[o+76>>2]|0;s=c[o+56>>2]|0;u=t+(O(s,c[r>>2]|0)|0)|0;q=k*+g[u+4>>2];p=m*+g[u+8>>2];g[o>>2]=j*+g[u>>2];g[o+4>>2]=q;g[o+8>>2]=p;g[o+12>>2]=0.0;u=t+(O(s,c[r+4>>2]|0)|0)|0;p=k*+g[u+4>>2];q=m*+g[u+8>>2];g[o+16>>2]=j*+g[u>>2];g[o+20>>2]=p;g[o+24>>2]=q;g[o+28>>2]=0.0;r=t+(O(s,c[r+8>>2]|0)|0)|0;q=k*+g[r+4>>2];p=m*+g[r+8>>2];g[o+32>>2]=j*+g[r>>2];g[o+36>>2]=q;g[o+40>>2]=p;g[o+44>>2]=0.0;Nb[c[(c[b>>2]|0)+8>>2]&127](b,o,n,i);i=i+1|0}while((i|0)<(c[o+48>>2]|0));break}case 3:{if((c[o+48>>2]|0)>0)i=0;else break a;do{t=(c[o+72>>2]|0)+(O(c[o+68>>2]|0,i)|0)|0;s=c[o+76>>2]|0;u=c[o+56>>2]|0;r=s+(O(e[t>>1]|0,u)|0)|0;p=k*+g[r+4>>2];q=m*+g[r+8>>2];g[o>>2]=j*+g[r>>2];g[o+4>>2]=p;g[o+8>>2]=q;g[o+12>>2]=0.0;r=s+(O(e[t+2>>1]|0,u)|0)|0;q=k*+g[r+4>>2];p=m*+g[r+8>>2];g[o+16>>2]=j*+g[r>>2];g[o+20>>2]=q;g[o+24>>2]=p;g[o+28>>2]=0.0;u=s+(O(e[t+4>>1]|0,u)|0)|0;p=k*+g[u+4>>2];q=m*+g[u+8>>2];g[o+32>>2]=j*+g[u>>2];g[o+36>>2]=p;g[o+40>>2]=q;g[o+44>>2]=0.0;Nb[c[(c[b>>2]|0)+8>>2]&127](b,o,n,i);i=i+1|0}while((i|0)<(c[o+48>>2]|0));break}case 5:{if((c[o+48>>2]|0)>0)i=0;else break a;do{t=(c[o+72>>2]|0)+(O(c[o+68>>2]|0,i)|0)|0;s=c[o+76>>2]|0;u=c[o+56>>2]|0;r=s+(O(d[t>>0]|0,u)|0)|0;p=k*+g[r+4>>2];q=m*+g[r+8>>2];g[o>>2]=j*+g[r>>2];g[o+4>>2]=p;g[o+8>>2]=q;g[o+12>>2]=0.0;r=s+(O(d[t+1>>0]|0,u)|0)|0;q=k*+g[r+4>>2];p=m*+g[r+8>>2];g[o+16>>2]=j*+g[r>>2];g[o+20>>2]=q;g[o+24>>2]=p;g[o+28>>2]=0.0;u=s+(O(d[t+2>>0]|0,u)|0)|0;p=k*+g[u+4>>2];q=m*+g[u+8>>2];g[o+32>>2]=j*+g[u>>2];g[o+36>>2]=p;g[o+40>>2]=q;g[o+44>>2]=0.0;Nb[c[(c[b>>2]|0)+8>>2]&127](b,o,n,i);i=i+1|0}while((i|0)<(c[o+48>>2]|0));break}default:break a}break}case 1:{switch(c[o+60>>2]|0){case 2:{if((c[o+48>>2]|0)>0)i=0;else break a;do{u=(c[o+72>>2]|0)+(O(c[o+68>>2]|0,i)|0)|0;s=c[o+76>>2]|0;t=c[o+56>>2]|0;r=s+(O(t,c[u>>2]|0)|0)|0;p=k*+h[r+8>>3];q=m*+h[r+16>>3];g[o>>2]=j*+h[r>>3];g[o+4>>2]=p;g[o+8>>2]=q;g[o+12>>2]=0.0;r=s+(O(t,c[u+4>>2]|0)|0)|0;q=k*+h[r+8>>3];p=m*+h[r+16>>3];g[o+16>>2]=j*+h[r>>3];g[o+20>>2]=q;g[o+24>>2]=p;g[o+28>>2]=0.0;u=s+(O(t,c[u+8>>2]|0)|0)|0;p=k*+h[u+8>>3];q=m*+h[u+16>>3];g[o+32>>2]=j*+h[u>>3];g[o+36>>2]=p;g[o+40>>2]=q;g[o+44>>2]=0.0;Nb[c[(c[b>>2]|0)+8>>2]&127](b,o,n,i);i=i+1|0}while((i|0)<(c[o+48>>2]|0));break}case 3:{if((c[o+48>>2]|0)>0)i=0;else break a;do{t=(c[o+72>>2]|0)+(O(c[o+68>>2]|0,i)|0)|0;s=c[o+76>>2]|0;u=c[o+56>>2]|0;r=s+(O(e[t>>1]|0,u)|0)|0;p=k*+h[r+8>>3];q=m*+h[r+16>>3];g[o>>2]=j*+h[r>>3];g[o+4>>2]=p;g[o+8>>2]=q;g[o+12>>2]=0.0;r=s+(O(e[t+2>>1]|0,u)|0)|0;q=k*+h[r+8>>3];p=m*+h[r+16>>3];g[o+16>>2]=j*+h[r>>3];g[o+20>>2]=q;g[o+24>>2]=p;g[o+28>>2]=0.0;u=s+(O(e[t+4>>1]|0,u)|0)|0;p=k*+h[u+8>>3];q=m*+h[u+16>>3];g[o+32>>2]=j*+h[u>>3];g[o+36>>2]=p;g[o+40>>2]=q;g[o+44>>2]=0.0;Nb[c[(c[b>>2]|0)+8>>2]&127](b,o,n,i);i=i+1|0}while((i|0)<(c[o+48>>2]|0));break}case 5:{if((c[o+48>>2]|0)>0)i=0;else break a;do{t=(c[o+72>>2]|0)+(O(c[o+68>>2]|0,i)|0)|0;s=c[o+76>>2]|0;u=c[o+56>>2]|0;r=s+(O(d[t>>0]|0,u)|0)|0;p=k*+h[r+8>>3];q=m*+h[r+16>>3];g[o>>2]=j*+h[r>>3];g[o+4>>2]=p;g[o+8>>2]=q;g[o+12>>2]=0.0;r=s+(O(d[t+1>>0]|0,u)|0)|0;q=k*+h[r+8>>3];p=m*+h[r+16>>3];g[o+16>>2]=j*+h[r>>3];g[o+20>>2]=q;g[o+24>>2]=p;g[o+28>>2]=0.0;u=s+(O(d[t+2>>0]|0,u)|0)|0;p=k*+h[u+8>>3];q=m*+h[u+16>>3];g[o+32>>2]=j*+h[u>>3];g[o+36>>2]=p;g[o+40>>2]=q;g[o+44>>2]=0.0;Nb[c[(c[b>>2]|0)+8>>2]&127](b,o,n,i);i=i+1|0}while((i|0)<(c[o+48>>2]|0));break}default:break a}break}default:{}}while(0);Gb[c[(c[a>>2]|0)+24>>2]&127](a,n);n=n+1|0}while((n|0)!=(f|0));l=o;return}function Zc(d,e,f,h,i){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0.0,k=0.0,m=0,n=0,o=0,p=0.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;A=l;l=l+128|0;a[d+60>>0]=f&1;if(f){r=+g[h>>2]+-1.0;u=+g[h+4>>2]+-1.0;t=+g[h+8>>2]+-1.0;g[d+4>>2]=r;g[d+8>>2]=u;g[d+12>>2]=t;g[d+16>>2]=0.0;w=+g[i>>2]+1.0;z=+g[i+4>>2]+1.0;y=+g[i+8>>2]+1.0;g[d+20>>2]=w;g[d+24>>2]=z;g[d+28>>2]=y;g[d+32>>2]=0.0;g[d+36>>2]=65533.0/(w-r);g[d+40>>2]=65533.0/(z-u);g[d+44>>2]=65533.0/(y-t);g[d+48>>2]=0.0;a[d+60>>0]=1;j=r+ +(~~((r-r)*(65533.0/(w-r)))&65535&-2&65535)/(65533.0/(w-r))+-1.0;k=u+ +(~~((u-u)*(65533.0/(z-u)))&65535&-2&65535)/(65533.0/(z-u))+-1.0;p=t+ +(~~((t-t)*(65533.0/(y-t)))&65535&-2&65535)/(65533.0/(y-t))+-1.0;if(j>2]=j;x=j}else x=r;if(k>2]=k;v=k}else v=u;if(p>2]=p;s=p}else s=t;p=x+ +((~~((w-x)*(65533.0/(w-r))+1.0)&65535|1)&65535)/(65533.0/(w-r))+1.0;k=v+ +((~~((z-v)*(65533.0/(z-u))+1.0)&65535|1)&65535)/(65533.0/(z-u))+1.0;j=s+ +((~~((y-s)*(65533.0/(y-t))+1.0)&65535|1)&65535)/(65533.0/(y-t))+1.0;if(w>2]=p;else p=w;if(z>2]=k;else k=z;if(y>2]=j;else j=y;g[d+36>>2]=65533.0/(p-x);g[d+40>>2]=65533.0/(k-v);g[d+44>>2]=65533.0/(j-s);g[d+48>>2]=0.0;c[A+96>>2]=8212;c[A+96+4>>2]=d+104;c[A+96+8>>2]=d;Nb[c[(c[e>>2]|0)+8>>2]&127](e,A+96|0,d+4|0,d+20|0);f=c[d+108>>2]|0;c[A+80>>2]=0;c[A+80+4>>2]=0;c[A+80+8>>2]=0;c[A+80+12>>2]=0;m=c[d+128>>2]|0;if((m|0)<(f<<1|0)){if((c[d+132>>2]|0)<(f<<1|0)){if(!f){i=m;e=0}else{c[6472]=(c[6472]|0)+1;h=ic(f<<5|19)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}i=c[d+128>>2]|0;e=h}if((i|0)>0){h=0;do{q=e+(h<<4)|0;o=(c[d+136>>2]|0)+(h<<4)|0;c[q>>2]=c[o>>2];c[q+4>>2]=c[o+4>>2];c[q+8>>2]=c[o+8>>2];c[q+12>>2]=c[o+12>>2];h=h+1|0}while((h|0)!=(i|0))}h=c[d+136>>2]|0;if(h|0){if(a[d+140>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[h+-4>>2]|0)}c[d+136>>2]=0}a[d+140>>0]=1;c[d+136>>2]=e;c[d+132>>2]=f<<1;i=d+136|0}else i=d+136|0;h=m;do{q=(c[i>>2]|0)+(h<<4)|0;c[q>>2]=c[A+80>>2];c[q+4>>2]=c[A+80+4>>2];c[q+8>>2]=c[A+80+8>>2];c[q+12>>2]=c[A+80+12>>2];h=h+1|0}while((h|0)!=(f<<1|0))}c[d+128>>2]=f<<1}else{c[A+96>>2]=8232;c[A+96+4>>2]=d+64;c[A+80>>2]=-581039253;c[A+80+4>>2]=-581039253;c[A+80+8>>2]=-581039253;g[A+80+12>>2]=0.0;c[A+64>>2]=1566444395;c[A+64+4>>2]=1566444395;c[A+64+8>>2]=1566444395;g[A+64+12>>2]=0.0;Nb[c[(c[e>>2]|0)+8>>2]&127](e,A+96|0,A+80|0,A+64|0);f=c[d+68>>2]|0;m=A;o=m+64|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(o|0));q=c[d+88>>2]|0;if((q|0)<(f<<1|0)){if((c[d+92>>2]|0)<(f<<1|0)){if(!f){i=q;e=0}else{c[6472]=(c[6472]|0)+1;h=ic(f<<7|19)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}i=c[d+88>>2]|0;e=h}if((i|0)>0){h=0;do{m=e+(h<<6)|0;n=(c[d+96>>2]|0)+(h<<6)|0;o=m+64|0;do{c[m>>2]=c[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));h=h+1|0}while((h|0)!=(i|0))}h=c[d+96>>2]|0;if(h|0){if(a[d+100>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[h+-4>>2]|0)}c[d+96>>2]=0}a[d+100>>0]=1;c[d+96>>2]=e;c[d+92>>2]=f<<1;i=d+96|0}else i=d+96|0;h=q;do{m=(c[i>>2]|0)+(h<<6)|0;n=A;o=m+64|0;do{c[m>>2]=c[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));h=h+1|0}while((h|0)!=(f<<1|0))}c[d+88>>2]=f<<1}c[d+56>>2]=0;rc(d,0,f);if(a[d+60>>0]|0?(c[d+152>>2]|0)==0:0){if(!(c[d+156>>2]|0)){c[6472]=(c[6472]|0)+1;f=ic(51)|0;if(!f)e=0;else{c[(f+4+15&-16)+-4>>2]=f;e=f+4+15&-16}f=c[d+152>>2]|0;if((f|0)>0){h=0;do{q=e+(h<<5)|0;o=(c[d+160>>2]|0)+(h<<5)|0;c[q>>2]=c[o>>2];c[q+4>>2]=c[o+4>>2];c[q+8>>2]=c[o+8>>2];c[q+12>>2]=c[o+12>>2];c[q+16>>2]=c[o+16>>2];c[q+20>>2]=c[o+20>>2];c[q+24>>2]=c[o+24>>2];c[q+28>>2]=c[o+28>>2];h=h+1|0}while((h|0)!=(f|0))}f=c[d+160>>2]|0;if(f|0){if(a[d+164>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0)}c[d+160>>2]=0}a[d+164>>0]=1;c[d+160>>2]=e;c[d+156>>2]=1;i=(c[d+152>>2]|0)+1|0;f=e;h=d+160|0}else{i=1;f=c[d+160>>2]|0;h=d+160|0}c[d+152>>2]=i;c[f>>2]=c[A+96>>2];c[f+4>>2]=c[A+96+4>>2];c[f+8>>2]=c[A+96+8>>2];c[f+12>>2]=c[A+96+12>>2];c[f+16>>2]=c[A+96+16>>2];c[f+20>>2]=c[A+96+20>>2];c[f+24>>2]=c[A+96+24>>2];c[f+28>>2]=c[A+96+28>>2];q=c[h>>2]|0;o=c[d+136>>2]|0;b[q>>1]=b[o>>1]|0;b[q+2>>1]=b[o+2>>1]|0;b[q+4>>1]=b[o+4>>1]|0;b[q+6>>1]=b[o+6>>1]|0;b[q+8>>1]=b[o+8>>1]|0;b[q+10>>1]=b[o+10>>1]|0;c[q+12>>2]=0;o=c[o+12>>2]|0;c[q+16>>2]=(o|0)>-1?1:0-o|0}c[d+168>>2]=c[d+152>>2];f=c[d+116>>2]|0;if(f|0){if(a[d+120>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0)}c[d+116>>2]=0}a[d+120>>0]=1;c[d+116>>2]=0;c[d+108>>2]=0;c[d+112>>2]=0;f=c[d+76>>2]|0;if(!f){a[d+80>>0]=1;c[d+76>>2]=0;c[d+68>>2]=0;d=d+72|0;c[d>>2]=0;l=A;return}if(a[d+80>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0)}c[d+76>>2]=0;a[d+80>>0]=1;c[d+76>>2]=0;c[d+68>>2]=0;d=d+72|0;c[d>>2]=0;l=A;return}function _c(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.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.0,w=0.0,x=0.0,y=0,z=0,A=0,B=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.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,ca=0.0,da=0.0,ea=0.0,fa=0,ga=0.0;fa=l;l=l+32|0;K=c[b+4>>2]|0;a[K+312>>0]=0;c[K>>2]=0;a[K+356>>0]=1;c[K+292>>2]=1566444395;c[K+296>>2]=1566444395;c[K+300>>2]=1566444395;g[K+304>>2]=0.0;c[K+336>>2]=0;c[K+336+4>>2]=0;c[K+336+8>>2]=0;c[K+336+12>>2]=0;a[K+336+16>>0]=0;a[K+332>>0]=a[K+332>>0]&-16;k=+g[d+48>>2];p=+g[d+52>>2];q=+g[d+56>>2];r=+g[f+48>>2];s=+g[f+52>>2];t=+g[f+56>>2];L=+g[d>>2];R=+g[d+4>>2];S=+g[d+8>>2];T=+g[d+16>>2];M=+g[d+20>>2];N=+g[d+24>>2];O=+g[d+32>>2];P=+g[d+36>>2];Q=+g[d+40>>2];U=+g[f>>2];_=+g[f+4>>2];$=+g[f+8>>2];aa=+g[f+16>>2];V=+g[f+20>>2];W=+g[f+24>>2];X=+g[f+32>>2];Y=+g[f+36>>2];Z=+g[f+40>>2];ca=+g[e+48>>2]-k-(+g[h+48>>2]-r);ea=+g[e+52>>2]-p-(+g[h+52>>2]-s);da=+g[e+56>>2]-q-(+g[h+56>>2]-t);K=c[b+8>>2]|0;A=c[(c[K>>2]|0)+64>>2]|0;g[fa>>2]=L*-ca+T*-ea+O*-da;g[fa+4>>2]=R*-ca+M*-ea+P*-da;g[fa+8>>2]=S*-ca+N*-ea+Q*-da;g[fa+12>>2]=0.0;Kb[A&127](fa+16|0,K,fa);I=+g[fa+16>>2];J=+g[fa+16+4>>2];H=+g[fa+16+8>>2];v=I*+g[d>>2]+J*+g[d+4>>2]+H*+g[d+8>>2]+ +g[d+48>>2];x=I*+g[d+16>>2]+J*+g[d+20>>2]+H*+g[d+24>>2]+ +g[d+52>>2];H=I*+g[d+32>>2]+J*+g[d+36>>2]+H*+g[d+40>>2]+ +g[d+56>>2];K=c[b+12>>2]|0;A=c[(c[K>>2]|0)+64>>2]|0;J=ca*+g[f+4>>2]+ea*+g[f+20>>2]+da*+g[f+36>>2];I=ca*+g[f+8>>2]+ea*+g[f+24>>2]+da*+g[f+40>>2];g[fa>>2]=ca*+g[f>>2]+ea*+g[f+16>>2]+da*+g[f+32>>2];g[fa+4>>2]=J;g[fa+8>>2]=I;g[fa+12>>2]=0.0;Kb[A&127](fa+16|0,K,fa);I=+g[fa+16>>2];J=+g[fa+16+4>>2];w=+g[fa+16+8>>2];v=v-(I*+g[f>>2]+J*+g[f+4>>2]+w*+g[f+8>>2]+ +g[f+48>>2]);x=x-(I*+g[f+16>>2]+J*+g[f+20>>2]+w*+g[f+24>>2]+ +g[f+52>>2]);w=H-(I*+g[f+32>>2]+J*+g[f+36>>2]+w*+g[f+40>>2]+ +g[f+56>>2]);a:do if(v*v+x*x+w*w>9.999999747378752e-05){m=0.0;n=0.0;o=0.0;J=k;k=0.0;K=32;j=0;u=0;B=x;while(1){if(!K)break a;K=K+-1|0;A=c[b+8>>2]|0;z=c[(c[A>>2]|0)+64>>2]|0;G=-v;ga=-B;x=-w;g[fa>>2]=L*G+T*ga+O*x;g[fa+4>>2]=R*G+M*ga+P*x;g[fa+8>>2]=S*G+N*ga+Q*x;g[fa+12>>2]=0.0;Kb[z&127](fa+16|0,A,fa);x=+g[fa+16>>2];ga=+g[fa+16+4>>2];G=+g[fa+16+8>>2];E=J+(L*x+R*ga+S*G);I=p+(T*x+M*ga+N*G);G=q+(O*x+P*ga+Q*G);A=c[b+12>>2]|0;z=c[(c[A>>2]|0)+64>>2]|0;g[fa>>2]=U*v+aa*B+X*w;g[fa+4>>2]=_*v+V*B+Y*w;g[fa+8>>2]=$*v+W*B+Z*w;g[fa+12>>2]=0.0;Kb[z&127](fa+16|0,A,fa);ga=+g[fa+16>>2];x=+g[fa+16+4>>2];F=+g[fa+16+8>>2];D=r+(U*ga+_*x+$*F);H=s+(aa*ga+V*x+W*F);F=t+(X*ga+Y*x+Z*F);x=v*(E-D)+B*(I-H)+w*(G-F);if(k>1.0){j=0;ba=24;break}if(x>0.0){m=ca*v+ea*B+da*w;if(m>=-1.4210854715202004e-14){j=0;ba=24;break}k=k-x/m;o=v;n=B;m=w;x=(1.0-k)*+g[d+48>>2]+k*+g[e+48>>2];p=(1.0-k)*+g[d+52>>2]+k*+g[e+52>>2];q=(1.0-k)*+g[d+56>>2]+k*+g[e+56>>2];r=(1.0-k)*+g[f+48>>2]+k*+g[h+48>>2];s=(1.0-k)*+g[f+52>>2]+k*+g[h+52>>2];t=(1.0-k)*+g[f+56>>2]+k*+g[h+56>>2];j=u}else x=J;z=c[b+4>>2]|0;A=c[z>>2]|0;if((A|0)>0){v=+g[z+308>>2];u=0;y=0;do{B=E-D-+g[z+4+(y<<4)>>2];J=I-H-+g[z+4+(y<<4)+4>>2];ga=G-F-+g[z+4+(y<<4)+8>>2];u=u|B*B+J*J+ga*ga<=v;y=y+1|0}while((y|0)!=(A|0))}else u=0;if((+g[z+304>>2]==0.0?G-F==+g[z+300>>2]:0)?I-H==+g[z+296>>2]:0){if(!(E-D==+g[z+292>>2]|u))ba=16}else if(!u)ba=16;if((ba|0)==16){ba=0;g[z+292>>2]=E-D;g[z+296>>2]=I-H;g[z+300>>2]=G-F;g[z+304>>2]=0.0;a[z+356>>0]=1;g[z+4+(A<<4)>>2]=E-D;g[z+4+(A<<4)+4>>2]=I-H;g[z+4+(A<<4)+8>>2]=G-F;g[z+4+(A<<4)+12>>2]=0.0;A=c[z>>2]|0;g[z+84+(A<<4)>>2]=E;g[z+84+(A<<4)+4>>2]=I;g[z+84+(A<<4)+8>>2]=G;g[z+84+(A<<4)+12>>2]=0.0;A=c[z>>2]|0;g[z+164+(A<<4)>>2]=D;g[z+164+(A<<4)+4>>2]=H;g[z+164+(A<<4)+8>>2]=F;g[z+164+(A<<4)+12>>2]=0.0;c[z>>2]=(c[z>>2]|0)+1;z=c[b+4>>2]|0}A=Dc(z)|0;v=+g[z+276>>2];B=+g[z+280>>2];w=+g[z+284>>2];if(!A)break a;if(!(v*v+B*B+w*w>9.999999747378752e-05))break a;else{J=x;u=c[z+288>>2]|0}}if((ba|0)==24){l=fa;return j|0}}else{o=0.0;n=0.0;m=0.0;k=0.0;j=0}while(0);g[i+164>>2]=k;k=o*o+n*n+m*m;if(!(k>=1.4210854715202004e-14)){c[i+132>>2]=0;c[i+132+4>>2]=0;c[i+132+8>>2]=0;c[i+132+12>>2]=0;k=0.0;m=0.0;n=0.0}else{aa=1.0/+C(+k);k=o*aa;ga=n*aa;n=m*aa;g[i+132>>2]=k;g[i+136>>2]=ga;g[i+140>>2]=n;c[i+144>>2]=j;m=ga}if(ca*k+ea*m+da*n>=-+g[i+172>>2]){b=0;l=fa;return b|0}b=c[b+4>>2]|0;Dc(b)|0;yp(i+148|0,b+260|0,16)|0;b=1;l=fa;return b|0}function $c(b,d,e,f,h,i,k,l,m,n,o){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;k=k|0;l=l|0;m=+m;n=+n;o=+o;var p=0,q=0,r=0.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,N=0,O=0.0,P=0.0,Q=0.0,R=0.0;N=c[b+68>>2]|0;if((N|0)==(c[b+72>>2]|0)?(t=N|0?N<<1:1,(N|0)<(t|0)):0){if(!t){q=N;s=0}else{c[6472]=(c[6472]|0)+1;p=ic((t*152|3)+16|0)|0;if(!p)p=0;else{c[(p+4+15&-16)+-4>>2]=p;p=p+4+15&-16}q=c[b+68>>2]|0;s=p}if((q|0)>0){p=0;do{_h(s+(p*152|0)|0,(c[b+76>>2]|0)+(p*152|0)|0,152)|0;p=p+1|0}while((p|0)!=(q|0))}p=c[b+76>>2]|0;if(p|0){if(a[b+80>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[p+-4>>2]|0)}c[b+76>>2]=0}a[b+80>>0]=1;c[b+76>>2]=s;c[b+72>>2]=t;p=c[b+68>>2]|0}else p=N;c[b+68>>2]=p+1;M=c[b+76>>2]|0;c[M+(N*152|0)+140>>2]=h;s=c[b+16>>2]|0;p=c[s+(e*244|0)+240>>2]|0;t=c[s+(f*244|0)+240>>2]|0;c[M+(N*152|0)+144>>2]=e;c[M+(N*152|0)+148>>2]=f;q=c[i+84>>2]|0;c[M+(N*152|0)+104>>2]=q;c[M+(N*152|0)+132>>2]=0;g[M+(N*152|0)+100>>2]=0.0;g[M+(N*152|0)+96>>2]=0.0;F=(c[j>>2]=q,+g[j>>2]);if(p|0){c[M+(N*152|0)+16>>2]=c[d>>2];c[M+(N*152|0)+16+4>>2]=c[d+4>>2];c[M+(N*152|0)+16+8>>2]=c[d+8>>2];c[M+(N*152|0)+16+12>>2]=c[d+12>>2];L=+g[k+4>>2];D=+g[M+(N*152|0)+24>>2];I=+g[k+8>>2];J=+g[M+(N*152|0)+20>>2];E=+g[M+(N*152|0)+16>>2];K=+g[k>>2];g[M+(N*152|0)>>2]=L*D-I*J;g[M+(N*152|0)+4>>2]=I*E-D*K;g[M+(N*152|0)+8>>2]=J*K-L*E;g[M+(N*152|0)+12>>2]=0.0;v=((L*D-I*J)*+g[p+264>>2]+(I*E-D*K)*+g[p+268>>2]+(J*K-L*E)*+g[p+272>>2])*+g[p+544>>2];r=((L*D-I*J)*+g[p+280>>2]+(I*E-D*K)*+g[p+284>>2]+(J*K-L*E)*+g[p+288>>2])*+g[p+548>>2];u=((L*D-I*J)*+g[p+296>>2]+(I*E-D*K)*+g[p+300>>2]+(J*K-L*E)*+g[p+304>>2])*+g[p+552>>2];g[M+(N*152|0)+64>>2]=v;g[M+(N*152|0)+68>>2]=r;g[M+(N*152|0)+72>>2]=u;g[M+(N*152|0)+76>>2]=0.0;z=E;A=J;B=D;C=L*D-I*J;D=I*E-D*K;E=J*K-L*E}else{c[M+(N*152|0)+64>>2]=0;c[M+(N*152|0)+64+4>>2]=0;c[M+(N*152|0)+64+8>>2]=0;c[M+(N*152|0)+64+12>>2]=0;c[M+(N*152|0)>>2]=0;c[M+(N*152|0)+4>>2]=0;c[M+(N*152|0)+8>>2]=0;c[M+(N*152|0)+12>>2]=0;c[M+(N*152|0)+16>>2]=0;c[M+(N*152|0)+20>>2]=0;c[M+(N*152|0)+24>>2]=0;c[M+(N*152|0)+28>>2]=0;r=0.0;u=0.0;v=0.0;z=0.0;A=0.0;B=0.0;C=0.0;D=0.0;E=0.0}if(t|0){L=-+g[d>>2];P=-+g[d+4>>2];K=-+g[d+8>>2];g[M+(N*152|0)+48>>2]=L;g[M+(N*152|0)+52>>2]=P;g[M+(N*152|0)+56>>2]=K;g[M+(N*152|0)+60>>2]=0.0;O=+g[l+4>>2];R=+g[l+8>>2];Q=+g[l>>2];g[M+(N*152|0)+32>>2]=O*K-R*P;g[M+(N*152|0)+36>>2]=R*L-Q*K;g[M+(N*152|0)+40>>2]=Q*P-O*L;g[M+(N*152|0)+44>>2]=0.0;w=((O*K-R*P)*+g[t+264>>2]+(R*L-Q*K)*+g[t+268>>2]+(Q*P-O*L)*+g[t+272>>2])*+g[t+544>>2];x=((O*K-R*P)*+g[t+280>>2]+(R*L-Q*K)*+g[t+284>>2]+(Q*P-O*L)*+g[t+288>>2])*+g[t+548>>2];y=((O*K-R*P)*+g[t+296>>2]+(R*L-Q*K)*+g[t+300>>2]+(Q*P-O*L)*+g[t+304>>2])*+g[t+552>>2];g[M+(N*152|0)+80>>2]=w;g[M+(N*152|0)+84>>2]=x;g[M+(N*152|0)+88>>2]=y;g[M+(N*152|0)+92>>2]=0.0;G=L;H=P;I=K;J=O*K-R*P;K=R*L-Q*K;L=Q*P-O*L}else{c[M+(N*152|0)+80>>2]=0;c[M+(N*152|0)+80+4>>2]=0;c[M+(N*152|0)+80+8>>2]=0;c[M+(N*152|0)+80+12>>2]=0;c[M+(N*152|0)+32>>2]=0;c[M+(N*152|0)+32+4>>2]=0;c[M+(N*152|0)+32+8>>2]=0;c[M+(N*152|0)+32+12>>2]=0;c[M+(N*152|0)+32+16>>2]=0;c[M+(N*152|0)+32+20>>2]=0;c[M+(N*152|0)+32+24>>2]=0;c[M+(N*152|0)+32+28>>2]=0;w=0.0;x=0.0;y=0.0;G=0.0;H=0.0;I=0.0;J=0.0;K=0.0;L=0.0}if(p|0){P=+g[k+8>>2];Q=+g[k+4>>2];R=+g[k>>2];u=+g[p+344>>2]+((r*P-u*Q)*+g[d>>2]+(u*R-P*v)*+g[d+4>>2]+(Q*v-r*R)*+g[d+8>>2])}else u=0.0;if(t|0){Q=-w;r=-x;y=-y;O=+g[l+8>>2];P=+g[l+4>>2];R=+g[l>>2];r=+g[t+344>>2]+((O*r-P*y)*+g[d>>2]+(R*y-O*Q)*+g[d+4>>2]+(P*Q-R*r)*+g[d+8>>2])}else r=0.0;x=m/(u+r);g[M+(N*152|0)+108>>2]=x;if(p|0){u=(+g[s+(e*244|0)+176>>2]+ +g[s+(e*244|0)+208>>2])*z+(+g[s+(e*244|0)+180>>2]+ +g[s+(e*244|0)+212>>2])*A+(+g[s+(e*244|0)+184>>2]+ +g[s+(e*244|0)+216>>2])*B;v=+g[s+(e*244|0)+192>>2];w=+g[s+(e*244|0)+196>>2];r=+g[s+(e*244|0)+200>>2]}else{u=z*0.0+A*0.0+B*0.0;v=0.0;w=0.0;r=0.0}r=u+(v*C+w*D+r*E);if(t|0){Q=(+g[s+(f*244|0)+176>>2]+ +g[s+(f*244|0)+208>>2])*G+(+g[s+(f*244|0)+180>>2]+ +g[s+(f*244|0)+212>>2])*H+(+g[s+(f*244|0)+184>>2]+ +g[s+(f*244|0)+216>>2])*I;O=+g[s+(f*244|0)+192>>2];P=+g[s+(f*244|0)+196>>2];R=+g[s+(f*244|0)+200>>2];O=O*J;P=P*K;P=O+P;R=R*L;R=P+R;R=Q+R;R=r+R;R=n-R;R=x*R;f=M+(N*152|0)+112|0;g[f>>2]=R;f=M+(N*152|0)+116|0;g[f>>2]=o;R=-F;f=M+(N*152|0)+120|0;g[f>>2]=R;f=M+(N*152|0)+124|0;c[f>>2]=q;return}else{Q=G*0.0+H*0.0+I*0.0;O=0.0;P=0.0;R=0.0;O=O*J;P=P*K;P=O+P;R=R*L;R=P+R;R=Q+R;R=r+R;R=n-R;R=x*R;f=M+(N*152|0)+112|0;g[f>>2]=R;f=M+(N*152|0)+116|0;g[f>>2]=o;R=-F;f=M+(N*152|0)+120|0;g[f>>2]=R;f=M+(N*152|0)+124|0;c[f>>2]=q;return}}function ad(b,d,e,f,h,i,j,k,l,m,n){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;var 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,z=0,A=0,B=0,D=0,E=0.0,F=0,G=0,H=0;if((j|0)<2|(k|0)<2){n=0;return n|0}y=O(k,j)|0;c[6472]=(c[6472]|0)+1;b=ic(y>>>0>268435455?18:(y<<4|3)+16|0)|0;if(!b)x=0;else{c[(b+4+15&-16)+-4>>2]=b;x=b+4+15&-16}w=XH(y>>>0>1073741823?-1:y<<2)|0;if((k|0)>0?(j|0)>0:0){o=0;do{E=+(o|0)/+(k+-1|0);q=+g[e>>2];q=q+E*(+g[h>>2]-q);r=+g[e+4>>2];r=r+E*(+g[h+4>>2]-r);s=+g[e+8>>2];s=s+E*(+g[h+8>>2]-s);t=+g[f>>2];u=+g[f+4>>2];v=+g[f+8>>2];p=O(o,j)|0;t=t+E*(+g[i>>2]-t)-q;u=u+E*(+g[i+4>>2]-u)-r;v=v+E*(+g[i+8>>2]-v)-s;b=0;do{E=+(b|0)/+(j+-1|0);D=b+p|0;g[x+(D<<4)>>2]=q+t*E;g[x+(D<<4)+4>>2]=r+u*E;g[x+(D<<4)+8>>2]=s+v*E;g[x+(D<<4)+12>>2]=0.0;g[w+(D<<2)>>2]=1.0;b=b+1|0}while((b|0)!=(j|0));o=o+1|0}while((o|0)!=(k|0))}c[6472]=(c[6472]|0)+1;b=ic(1271)|0;if(!b)b=0;else{c[(b+4+15&-16)+-4>>2]=b;b=b+4+15&-16}qc(b,d,y,x,w);if(l&1|0){g[(c[b+720>>2]|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&2|0){g[(c[b+720>>2]|0)+((j+-1|0)*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&4|0){D=O(k+-1|0,j)|0;g[(c[b+720>>2]|0)+(D*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&8|0){D=j+-1+(O(k+-1|0,j)|0)|0;g[(c[b+720>>2]|0)+(D*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&16|0){g[(c[b+720>>2]|0)+(((j+-1|0)/2|0)*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&32|0){D=O((k+-1|0)/2|0,j)|0;g[(c[b+720>>2]|0)+(D*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&64|0){D=j+-1+(O((k+-1|0)/2|0,j)|0)|0;g[(c[b+720>>2]|0)+(D*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&128|0){D=(O(k+-1|0,j)|0)+((j+-1|0)/2|0)|0;g[(c[b+720>>2]|0)+(D*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&256|0){D=(O((k+-1|0)/2|0,j)|0)+((j+-1|0)/2|0)|0;g[(c[b+720>>2]|0)+(D*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(x|0){c[6473]=(c[6473]|0)+1;nd(c[x+-4>>2]|0)}YH(w);if((k|0)<=0){n=b;return n|0}B=b+720|0;D=b+732|0;A=b+740|0;y=b+924|0;d=j+-1|0;l=(j<<1)+-1|0;z=0;o=0;while(1){p=z;z=z+1|0;a:do if((j|0)>0){x=O(p,j)|0;w=O(z,j)|0;r=1.0/+(k+-1|0)*+(k+-1-p|0);q=1.0/+(k+-1|0)*+(k+-2-p|0);if((z|0)<(k|0)){h=0;i=o}else{p=0;while(1){e=p;p=p+1|0;if((p|0)<(j|0)){h=p+x|0;f=c[B>>2]|0;Rh(b,0);w=(c[D>>2]|0)+-1|0;i=c[A>>2]|0;c[i+(w*52|0)+8>>2]=f+((e+x|0)*104|0);c[i+(w*52|0)+12>>2]=f+(h*104|0);u=+g[f+((e+x|0)*104|0)+8>>2]-+g[f+(h*104|0)+8>>2];v=+g[f+((e+x|0)*104|0)+12>>2]-+g[f+(h*104|0)+12>>2];E=+g[f+((e+x|0)*104|0)+16>>2]-+g[f+(h*104|0)+16>>2];g[i+(w*52|0)+16>>2]=+C(+(u*u+v*v+E*E));a[y>>0]=1}if((p|0)==(j|0))break a}}while(1){p=h+1|0;e=h+x|0;f=h+w|0;if((h|0)==(j+-1|0))break;G=c[B>>2]|0;Rh(b,0);H=(c[D>>2]|0)+-1|0;F=c[A>>2]|0;c[F+(H*52|0)+8>>2]=G+(e*104|0);c[F+(H*52|0)+12>>2]=G+((p+x|0)*104|0);E=+g[G+(e*104|0)+8>>2]-+g[G+((p+x|0)*104|0)+8>>2];v=+g[G+(e*104|0)+12>>2]-+g[G+((p+x|0)*104|0)+12>>2];u=+g[G+(e*104|0)+16>>2]-+g[G+((p+x|0)*104|0)+16>>2];g[F+(H*52|0)+16>>2]=+C(+(E*E+v*v+u*u));a[y>>0]=1;H=c[B>>2]|0;Rh(b,0);F=(c[D>>2]|0)+-1|0;G=c[A>>2]|0;c[G+(F*52|0)+8>>2]=H+(e*104|0);c[G+(F*52|0)+12>>2]=H+(f*104|0);u=+g[H+(e*104|0)+8>>2]-+g[H+(f*104|0)+8>>2];v=+g[H+(e*104|0)+12>>2]-+g[H+(f*104|0)+12>>2];E=+g[H+(e*104|0)+16>>2]-+g[H+(f*104|0)+16>>2];g[G+(F*52|0)+16>>2]=+C(+(u*u+v*v+E*E));a[y>>0]=1;Qf(b,e,f,p+w|0,0);if(!n)Qf(b,p+w|0,p+x|0,e,0);else{E=1.0/+(j+-1|0)*+(h|0);g[n+(i<<2)>>2]=E;g[n+(i+1<<2)>>2]=r;g[n+(i+2<<2)>>2]=E;g[n+(i+3<<2)>>2]=q;v=1.0/+(j+-1|0)*+(p|0);g[n+(i+4<<2)>>2]=v;g[n+(i+5<<2)>>2]=q;Qf(b,p+w|0,p+x|0,e,0);g[n+(i+6<<2)>>2]=v;g[n+(i+7<<2)>>2]=q;g[n+(i+8<<2)>>2]=v;g[n+(i+9<<2)>>2]=r;g[n+(i+10<<2)>>2]=E;g[n+(i+11<<2)>>2]=r}if(m){F=c[B>>2]|0;Rh(b,0);H=(c[D>>2]|0)+-1|0;G=c[A>>2]|0;c[G+(H*52|0)+8>>2]=F+(e*104|0);c[G+(H*52|0)+12>>2]=F+((p+w|0)*104|0);u=+g[F+(e*104|0)+8>>2]-+g[F+((p+w|0)*104|0)+8>>2];v=+g[F+(e*104|0)+12>>2]-+g[F+((p+w|0)*104|0)+12>>2];E=+g[F+(e*104|0)+16>>2]-+g[F+((p+w|0)*104|0)+16>>2];g[G+(H*52|0)+16>>2]=+C(+(u*u+v*v+E*E));a[y>>0]=1}h=p;i=i+12|0}F=c[B>>2]|0;Rh(b,0);H=(c[D>>2]|0)+-1|0;G=c[A>>2]|0;c[G+(H*52|0)+8>>2]=F+(d*104|0);c[G+(H*52|0)+12>>2]=F+(l*104|0);u=+g[F+(d*104|0)+8>>2]-+g[F+(l*104|0)+8>>2];v=+g[F+(d*104|0)+12>>2]-+g[F+(l*104|0)+12>>2];E=+g[F+(d*104|0)+16>>2]-+g[F+(l*104|0)+16>>2];g[G+(H*52|0)+16>>2]=+C(+(u*u+v*v+E*E));a[y>>0]=1;o=(j*12|0)+-12+o|0}while(0);if((z|0)==(k|0))break;else{d=d+j|0;l=l+j|0}}return b|0}function bd(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,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0;A=+g[b+48>>2];h=+g[d>>2];B=+g[b+64>>2];j=+g[d+4>>2];H=+g[b+80>>2];p=+g[d+8>>2];s=+g[b+52>>2];r=+g[b+68>>2];q=+g[b+84>>2];w=+g[b+56>>2];G=+g[b+72>>2];x=+g[b+88>>2];v=+g[d+16>>2];u=+g[d+20>>2];t=+g[d+24>>2];F=+g[d+32>>2];D=+g[d+36>>2];E=+g[d+40>>2];k=+g[b+96>>2];f=+g[b+100>>2];z=+g[b+104>>2];y=+g[d+48>>2]+(h*k+j*f+p*z);i=v*k+u*f+t*z+ +g[d+52>>2];z=F*k+D*f+E*z+ +g[d+56>>2];g[b+1064>>2]=A*h+B*j+H*p;g[b+1068>>2]=h*s+j*r+p*q;g[b+1072>>2]=h*w+j*G+p*x;g[b+1076>>2]=0.0;g[b+1080>>2]=A*v+B*u+H*t;g[b+1084>>2]=s*v+r*u+q*t;g[b+1088>>2]=w*v+G*u+x*t;g[b+1092>>2]=0.0;g[b+1096>>2]=A*F+B*D+H*E;g[b+1100>>2]=s*F+r*D+q*E;g[b+1104>>2]=w*F+G*D+x*E;g[b+1108>>2]=0.0;g[b+1112>>2]=y;g[b+1116>>2]=i;g[b+1120>>2]=z;g[b+1124>>2]=0.0;z=+g[b+112>>2];i=+g[e>>2];y=+g[b+128>>2];E=+g[e+4>>2];x=+g[b+144>>2];D=+g[e+8>>2];G=+g[b+116>>2];F=+g[b+132>>2];w=+g[b+148>>2];q=+g[b+120>>2];r=+g[b+136>>2];s=+g[b+152>>2];H=+g[e+16>>2];B=+g[e+20>>2];A=+g[e+24>>2];t=+g[e+32>>2];u=+g[e+36>>2];v=+g[e+40>>2];p=+g[b+160>>2];j=+g[b+164>>2];h=+g[b+168>>2];f=+g[e+48>>2]+(i*p+E*j+D*h);k=H*p+B*j+A*h+ +g[e+52>>2];h=t*p+u*j+v*h+ +g[e+56>>2];g[b+1128>>2]=z*i+y*E+x*D;g[b+1132>>2]=i*G+E*F+D*w;g[b+1136>>2]=i*q+E*r+D*s;g[b+1140>>2]=0.0;g[b+1144>>2]=z*H+y*B+x*A;g[b+1148>>2]=G*H+F*B+w*A;g[b+1152>>2]=q*H+r*B+s*A;g[b+1156>>2]=0.0;g[b+1160>>2]=z*t+y*u+x*v;g[b+1164>>2]=G*t+F*u+w*v;g[b+1168>>2]=q*t+r*u+s*v;g[b+1172>>2]=0.0;g[b+1176>>2]=f;g[b+1180>>2]=k;g[b+1184>>2]=h;g[b+1188>>2]=0.0;f=f-+g[b+1112>>2];k=k-+g[b+1116>>2];h=h-+g[b+1120>>2];w=+g[b+1084>>2];F=+g[b+1104>>2];G=+g[b+1088>>2];x=+g[b+1100>>2];y=+g[b+1096>>2];z=+g[b+1080>>2];A=+g[b+1064>>2];B=+g[b+1068>>2];H=+g[b+1072>>2];D=1.0/((w*F-G*x)*A+B*(G*y-F*z)+(x*z-w*y)*H);E=(x*z-w*y)*D;i=h*(G*B-w*H)*D+(f*(w*F-G*x)*D+k*(x*H-F*B)*D);j=h*(z*H-G*A)*D+(f*(G*y-F*z)*D+k*(F*A-y*H)*D);k=h*(w*A-z*B)*D+(f*E+k*(y*B-x*A)*D);g[b+1256>>2]=i;g[b+1260>>2]=j;g[b+1264>>2]=k;g[b+1268>>2]=0.0;g[b+840>>2]=i;f=+g[b+680>>2];h=+g[b+696>>2];do if(!(f>h)){if(f>i){c[b+856>>2]=2;f=i-f;break}if(h>2]=1;f=i-h;break}else{c[b+856>>2]=0;f=0.0;break}}else{c[b+856>>2]=0;f=0.0}while(0);g[b+824>>2]=f;g[b+844>>2]=j;f=+g[b+684>>2];h=+g[b+700>>2];do if(!(f>h)){if(f>j){c[b+860>>2]=2;f=j-f;break}if(h>2]=1;f=j-h;break}else{c[b+860>>2]=0;f=0.0;break}}else{c[b+860>>2]=0;f=0.0}while(0);g[b+828>>2]=f;g[b+848>>2]=k;f=+g[b+688>>2];h=+g[b+704>>2];do if(!(f>h)){if(f>k){c[b+864>>2]=2;f=k-f;break}if(h>2]=1;f=k-h;break}else{c[b+864>>2]=0;f=0.0;break}}else{c[b+864>>2]=0;f=0.0}while(0);g[b+832>>2]=f;n=+g[b+1128>>2];o=+g[b+1144>>2];p=+g[b+1160>>2];h=+g[b+1132>>2];i=+g[b+1148>>2];j=+g[b+1164>>2];k=(w*F-G*x)*D*h+(x*H-F*B)*D*i+(G*B-w*H)*D*j;m=h*(G*y-F*z)*D+(F*A-y*H)*D*i+(z*H-G*A)*D*j;l=p*(w*A-z*B)*D+(n*E+o*(y*B-x*A)*D);f=E*+g[b+1136>>2]+(y*B-x*A)*D*+g[b+1152>>2]+(w*A-z*B)*D*(q*t+r*u+s*v);do if(l<1.0)if(l>-1.0){g[b+1192>>2]=+K(+-(h*E+(y*B-x*A)*D*i+(w*A-z*B)*D*j),+f);f=l<-1.0?-1.0:l;g[b+1196>>2]=+I(+(f>1.0?1.0:f));f=+K(+-(p*(z*H-G*A)*D+(n*(G*y-F*z)*D+o*(F*A-y*H)*D)),+(p*(G*B-w*H)*D+(n*(w*F-G*x)*D+o*(x*H-F*B)*D)));break}else{g[b+1192>>2]=-+K(+k,+m);g[b+1196>>2]=-1.5707963705062866;f=0.0;break}else{g[b+1192>>2]=+K(+k,+m);g[b+1196>>2]=1.5707963705062866;f=0.0}while(0);g[b+1200>>2]=f;g[b+1236>>2]=0.0;x=F*(n*F-p*H)-G*(o*H-n*G);y=H*(o*H-n*G)-F*(p*G-o*F);z=G*(p*G-o*F)-H*(n*F-p*H);g[b+1220>>2]=0.0;B=o*(o*H-n*G)-p*(n*F-p*H);D=p*(p*G-o*F)-n*(o*H-n*G);E=n*(n*F-p*H)-o*(p*G-o*F);g[b+1252>>2]=0.0;A=1.0/+C(+(x*x+y*y+z*z));g[b+1208>>2]=x*A;g[b+1212>>2]=y*A;g[b+1216>>2]=z*A;A=1.0/+C(+((p*G-o*F)*(p*G-o*F)+(n*F-p*H)*(n*F-p*H)+(o*H-n*G)*(o*H-n*G)));g[b+1224>>2]=(p*G-o*F)*A;g[b+1228>>2]=(n*F-p*H)*A;g[b+1232>>2]=(o*H-n*G)*A;H=1.0/+C(+(B*B+D*D+E*E));g[b+1240>>2]=B*H;g[b+1244>>2]=D*H;g[b+1248>>2]=E*H;if(!(a[b+1301>>0]|0))return;G=+g[(c[b+28>>2]|0)+344>>2];H=+g[(c[b+32>>2]|0)+344>>2];a[b+1280>>0]=(G<1.1920928955078125e-07|H<1.1920928955078125e-07)&1;H=G+H>0.0?H/(G+H):.5;g[b+1272>>2]=H;g[b+1276>>2]=1.0-H;return}function cd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=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;x=l;l=l+80|0;e=c[b+8>>2]|0;if((e|0)>0){g=0;do{f=c[(c[b+16>>2]|0)+(g<<2)>>2]|0;if((c[f+236>>2]|0)==1){Gb[c[(c[f>>2]|0)+24>>2]&127](f,d);e=c[b+8>>2]|0}g=g+1|0}while((g|0)<(e|0))}a[x+16>>0]=1;c[x+12>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;a[x+36>>0]=1;c[x+32>>2]=0;c[x+24>>2]=0;c[x+28>>2]=0;a[x+56>>0]=1;c[x+52>>2]=0;c[x+44>>2]=0;c[x+48>>2]=0;a[x+76>>0]=1;c[x+72>>2]=0;c[x+64>>2]=0;c[x+68>>2]=0;if((e|0)<=0){Zi(x);l=x;return}i=0;j=0;g=0;f=0;r=0;while(1){q=c[(c[(c[b+16>>2]|0)+(r<<2)>>2]|0)+192>>2]|0;o=(q+~(q<<15)>>10^q+~(q<<15))*9|0;o=(o>>6^o)+~((o>>6^o)<<11)>>16^(o>>6^o)+~((o>>6^o)<<11);n=o&i+-1;m=n>>>0>>0;a:do if(m){h=c[g+(n<<2)>>2]|0;if((h|0)!=-1){k=c[x+72>>2]|0;while(1){if((q|0)==(c[k+(h<<3)>>2]|0)){p=13;break}j=c[f+(h<<2)>>2]|0;if((j|0)==-1)break;else h=j}if((p|0)==13?(p=0,(c[x+52>>2]|0)+(h<<2)|0):0)break;if(!m){p=20;break}}e=c[g+(n<<2)>>2]|0;if((e|0)!=-1){h=c[x+72>>2]|0;while(1){if((q|0)==(c[h+(e<<3)>>2]|0))break;e=c[f+(e<<2)>>2]|0;if((e|0)==-1){p=20;break a}}c[(c[x+52>>2]|0)+(e<<2)>>2]=q;e=i;p=78}else p=20}else p=20;while(0);if((p|0)==20){p=0;m=c[x+44>>2]|0;if((m|0)==(i|0)){e=i|0?i<<1:1;if((i|0)<(e|0)){if((e|0)!=0?(c[6472]=(c[6472]|0)+1,s=ic((e<<2|3)+16|0)|0,(s|0)!=0):0){c[(s+4+15&-16)+-4>>2]=s;g=s+4+15&-16}else g=0;if((i|0)>0){f=0;do{c[g+(f<<2)>>2]=c[(c[x+52>>2]|0)+(f<<2)>>2];f=f+1|0}while((f|0)!=(i|0))}f=c[x+52>>2]|0;if(f|0){if(a[x+56>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0)}c[x+52>>2]=0}a[x+56>>0]=1;c[x+52>>2]=g;c[x+48>>2]=e;f=i}else{e=i;f=i}}else{e=i;f=m}c[(c[x+52>>2]|0)+(f<<2)>>2]=q;c[x+44>>2]=f+1;f=c[x+64>>2]|0;if((f|0)==(c[x+68>>2]|0)?(w=f|0?f<<1:1,(f|0)<(w|0)):0){if((w|0)!=0?(c[6472]=(c[6472]|0)+1,u=ic((w<<3|3)+16|0)|0,(u|0)!=0):0){c[(u+4+15&-16)+-4>>2]=u;g=u+4+15&-16}else g=0;if((f|0)>0){e=0;do{h=(c[x+72>>2]|0)+(e<<3)|0;j=c[h+4>>2]|0;k=g+(e<<3)|0;c[k>>2]=c[h>>2];c[k+4>>2]=j;e=e+1|0}while((e|0)!=(f|0))}e=c[x+72>>2]|0;if(e|0){if(a[x+76>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[e+-4>>2]|0)}c[x+72>>2]=0}a[x+76>>0]=1;c[x+72>>2]=g;c[x+68>>2]=w;f=c[x+64>>2]|0;e=c[x+48>>2]|0}k=(c[x+72>>2]|0)+(f<<3)|0;c[k>>2]=q;c[k+4>>2]=0;c[x+64>>2]=f+1;if((i|0)<(e|0)){k=c[x+4>>2]|0;do if((k|0)<(e|0)){if((c[x+8>>2]|0)<(e|0)){if((e|0)!=0?(c[6472]=(c[6472]|0)+1,t=ic((e<<2|3)+16|0)|0,(t|0)!=0):0){c[(t+4+15&-16)+-4>>2]=t;f=t+4+15&-16}else f=0;g=c[x+12>>2]|0;if((k|0)>0){h=0;do{c[f+(h<<2)>>2]=c[g+(h<<2)>>2];h=h+1|0}while((h|0)!=(k|0));if(a[x+16>>0]|0)p=55}else if(!((g|0)==0|(a[x+16>>0]|0)==0))p=55;if((p|0)==55){p=0;c[6473]=(c[6473]|0)+1;nd(c[g+-4>>2]|0)}a[x+16>>0]=1;c[x+12>>2]=f;c[x+8>>2]=e}else f=c[x+12>>2]|0;j=e<<2;Nk(f+(k<<2)|0,0,j-(k<<2)|0)|0;c[x+4>>2]=e;i=c[x+24>>2]|0;if((i|0)<(e|0)){if((c[x+28>>2]|0)<(e|0)){if((e|0)!=0?(c[6472]=(c[6472]|0)+1,v=ic((j|3)+16|0)|0,(v|0)!=0):0){c[(v+4+15&-16)+-4>>2]=v;f=v+4+15&-16}else f=0;g=c[x+32>>2]|0;if((i|0)>0){h=0;do{c[f+(h<<2)>>2]=c[g+(h<<2)>>2];h=h+1|0}while((h|0)!=(i|0));if(a[x+36>>0]|0)p=67}else if(!((g|0)==0|(a[x+36>>0]|0)==0))p=67;if((p|0)==67){c[6473]=(c[6473]|0)+1;nd(c[g+-4>>2]|0)}a[x+36>>0]=1;c[x+32>>2]=f;c[x+28>>2]=e}else f=c[x+32>>2]|0;Nk(f+(i<<2)|0,0,j-(i<<2)|0)|0}c[x+24>>2]=e;if((e|0)>0){Nk(c[x+12>>2]|0,-1,j|0)|0;Nk(c[x+32>>2]|0,-1,j|0)|0}if((k|0)<=0){e=c[x+48>>2]|0;break}f=c[x+72>>2]|0;g=c[x+12>>2]|0;h=c[x+32>>2]|0;e=c[x+48>>2]|0;i=0;do{p=c[f+(i<<3)>>2]|0;p=(p+~(p<<15)>>10^p+~(p<<15))*9|0;p=g+((((p>>6^p)+~((p>>6^p)<<11)>>16^(p>>6^p)+~((p>>6^p)<<11))&e+-1)<<2)|0;c[h+(i<<2)>>2]=c[p>>2];c[p>>2]=i;i=i+1|0}while((i|0)!=(k|0))}while(0);f=e;e=o&e+-1}else{f=e;e=n}g=c[x+12>>2]|0;e=g+(e<<2)|0;p=c[x+32>>2]|0;c[p+(m<<2)>>2]=c[e>>2];c[e>>2]=m;e=f;f=p;p=78}if((p|0)==78){p=0;Gb[c[(c[q>>2]|0)+60>>2]&127](q,d);i=e;e=c[b+8>>2]|0}h=r+1|0;if((h|0)>=(e|0))break;j=c[x+4>>2]|0;r=h}Zi(x);l=x;return}function dd(b,d){b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+32|0;Xf(b+4|0,((O(c[b+152>>2]|0,c[b+16>>2]|0)|0)/100|0)+1|0);if(c[b+164>>2]|0){p=((O(c[b+148>>2]|0,c[b+76>>2]|0)|0)/100|0)+1|0;Xf(b+64|0,p);p=(c[b+164>>2]|0)-p|0;c[b+164>>2]=(p|0)>0?p:0}e=((c[b+144>>2]|0)+1|0)%2|0;c[b+144>>2]=e;e=c[b+124+(e<<2)>>2]|0;if(e|0){do{j=e+56|0;m=e;e=c[j>>2]|0;i=c[m+52>>2]|0;if(!i)i=b+124+(c[m+60>>2]<<2)|0;else i=i+56|0;c[i>>2]=e;i=c[j>>2]|0;if(i|0)c[i+52>>2]=c[m+52>>2];c[m+52>>2]=0;c[j>>2]=c[b+132>>2];i=c[b+132>>2]|0;if(i|0)c[i+52>>2]=m;c[b+132>>2]=m;i=c[m+48>>2]|0;Sg(b+4|0,i)|0;j=c[b+8>>2]|0;if(j|0){c[6473]=(c[6473]|0)+1;nd(c[j+-4>>2]|0)}c[b+8>>2]=i;c[b+16>>2]=(c[b+16>>2]|0)+-1;c[r>>2]=c[m+16>>2];c[r+4>>2]=c[m+16+4>>2];c[r+8>>2]=c[m+16+8>>2];c[r+12>>2]=c[m+16+12>>2];c[r+16>>2]=c[m+32>>2];c[r+16+4>>2]=c[m+32+4>>2];c[r+16+8>>2]=c[m+32+8>>2];c[r+16+12>>2]=c[m+32+12>>2];i=c[b+68>>2]|0;if(!i){c[6472]=(c[6472]|0)+1;i=ic(63)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}j=i;k=j+44|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0))}else c[b+68>>2]=0;c[i+32>>2]=0;c[i+36>>2]=m;c[i+40>>2]=0;c[i>>2]=c[r>>2];c[i+4>>2]=c[r+4>>2];c[i+8>>2]=c[r+8>>2];c[i+12>>2]=c[r+12>>2];c[i+16>>2]=c[r+16>>2];c[i+20>>2]=c[r+20>>2];c[i+24>>2]=c[r+24>>2];c[i+28>>2]=c[r+28>>2];af(b+64|0,c[b+64>>2]|0,i);j=(c[b+76>>2]|0)+1|0;c[b+76>>2]=j;c[m+48>>2]=i;c[m+60>>2]=2}while((e|0)!=0);c[b+164>>2]=j;a[b+194>>0]=1}c[r>>2]=9096;c[r+4>>2]=b;if(a[b+193>>0]|0?(he(b+4|0,c[b+4>>2]|0,c[b+64>>2]|0,r),a[b+193>>0]|0):0){p=c[b+4>>2]|0;he(b+4|0,p,p,r)}if(a[b+194>>0]|0?(n=c[b+136>>2]|0,n=qb[c[(c[n>>2]|0)+28>>2]&127](n)|0,f=c[n+4>>2]|0,(f|0)>0):0){e=(O(c[b+156>>2]|0,f)|0)/100|0;p=c[b+160>>2]|0;e=(p|0)>(e|0)?p:e;e=(f|0)<(e|0)?f:e;if((e|0)>0){i=0;do{k=((c[b+184>>2]|0)+i|0)%(f|0)|0;o=c[n+12>>2]|0;j=c[o+(k<<4)>>2]|0;k=c[o+(k<<4)+4>>2]|0;o=c[j+48>>2]|0;p=c[k+48>>2]|0;if(!(((((+g[o>>2]<=+g[p+16>>2]?+g[o+16>>2]>=+g[p>>2]:0)?+g[o+4>>2]<=+g[p+20>>2]:0)?+g[o+20>>2]>=+g[p+4>>2]:0)?+g[o+8>>2]<=+g[p+24>>2]:0)?+g[o+24>>2]>=+g[p+8>>2]:0)){f=c[b+136>>2]|0;vb[c[(c[f>>2]|0)+12>>2]&31](f,j,k,d)|0;f=c[n+4>>2]|0;i=i+-1|0;e=e+-1|0}i=i+1|0}while((i|0)<(e|0));if((f|0)>0)q=37;else e=0}else q=37;if((q|0)==37)e=((c[b+184>>2]|0)+e|0)%(f|0)|0;c[b+184>>2]=e}c[b+180>>2]=(c[b+180>>2]|0)+1;c[b+160>>2]=1;a[b+194>>0]=0;f=c[b+168>>2]|0;e=c[b+172>>2]|0;if(!f)h=0.0;else h=+(e>>>0)/+(f>>>0);g[b+176>>2]=h;c[b+172>>2]=e>>>1;c[b+168>>2]=f>>>1;p=c[b+136>>2]|0;if(!(qb[c[(c[p>>2]|0)+56>>2]&127](p)|0)){l=r;return}p=c[b+136>>2]|0;p=qb[c[(c[p>>2]|0)+28>>2]&127](p)|0;e=c[p+4>>2]|0;if((e|0)>1){Id(p,0,e+-1|0);e=c[p+4>>2]|0}if((e|0)>0){n=0;m=0;o=0;i=0;while(1){k=c[p+12>>2]|0;j=k+(n<<4)|0;s=o;o=c[j>>2]|0;k=k+(n<<4)+4|0;f=c[k>>2]|0;if(!((o|0)==(s|0)&(f|0)==(i|0))){i=c[o+48>>2]|0;s=c[f+48>>2]|0;if(((((+g[i>>2]<=+g[s+16>>2]?+g[i+16>>2]>=+g[s>>2]:0)?+g[i+4>>2]<=+g[s+20>>2]:0)?+g[i+20>>2]>=+g[s+4>>2]:0)?+g[i+8>>2]<=+g[s+24>>2]:0)?+g[i+24>>2]>=+g[s+8>>2]:0)i=m;else q=53}else{f=i;q=53}if((q|0)==53){q=0;e=c[b+136>>2]|0;Kb[c[(c[e>>2]|0)+32>>2]&127](e,j,d);c[j>>2]=0;c[k>>2]=0;e=c[p+4>>2]|0;i=m+1|0}n=n+1|0;if((n|0)>=(e|0))break;else{m=i;i=f}}if((e|0)>1){Id(p,0,e+-1|0);e=c[p+4>>2]|0}k=e-i|0;if((i|0)<0){if((c[p+8>>2]|0)<(k|0)){if(!k){i=e;j=0}else{c[6472]=(c[6472]|0)+1;f=ic((k<<4|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}i=c[p+4>>2]|0;j=f}if((i|0)>0){f=0;do{s=c[p+12>>2]|0;c[j+(f<<4)>>2]=c[s+(f<<4)>>2];c[j+(f<<4)+4>>2]=c[s+(f<<4)+4>>2];c[j+(f<<4)+8>>2]=c[s+(f<<4)+8>>2];c[j+(f<<4)+12>>2]=c[s+(f<<4)+12>>2];f=f+1|0}while((f|0)!=(i|0))}f=c[p+12>>2]|0;if(f|0){if(a[p+16>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0)}c[p+12>>2]=0}a[p+16>>0]=1;c[p+12>>2]=j;c[p+8>>2]=k}do{s=(c[p+12>>2]|0)+(e<<4)|0;e=e+1|0;c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[s+12>>2]=0}while((e|0)!=(k|0));e=k}else e=k}c[p+4>>2]=e;l=r;return}function ed(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.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.0,A=0.0,B=0.0,C=0.0,D=0.0;q=c[b+28>>2]|0;j=c[b+32>>2]|0;lc(b,q+4|0,j+4|0,q+264|0,j+264|0);r=c[d+8>>2]|0;g[r>>2]=1.0;o=c[d+24>>2]|0;g[r+(o+1<<2)>>2]=1.0;g[r+((o<<1)+2<<2)>>2]=1.0;n=+g[b+348>>2];u=+g[b+352>>2];k=+g[b+356>>2];s=+g[q+4>>2]*n+ +g[q+8>>2]*u+ +g[q+12>>2]*k;m=n*+g[q+20>>2]+u*+g[q+24>>2]+k*+g[q+28>>2];k=n*+g[q+36>>2]+u*+g[q+40>>2]+k*+g[q+44>>2];r=c[d+12>>2]|0;c[r>>2]=0;g[r+4>>2]=k;g[r+8>>2]=-m;g[r+12>>2]=0.0;g[r+(o<<2)>>2]=-k;c[r+(o<<2)+4>>2]=0;g[r+(o<<2)+8>>2]=s;g[r+(o<<2)+12>>2]=0.0;g[r+(o<<1<<2)>>2]=m;g[r+(o<<1<<2)+4>>2]=-s;c[r+(o<<1<<2)+8>>2]=0;g[r+(o<<1<<2)+12>>2]=0.0;r=c[d+16>>2]|0;g[r>>2]=-1.0;g[r+(o+1<<2)>>2]=-1.0;g[r+((o<<1)+2<<2)>>2]=-1.0;u=+g[b+412>>2];n=+g[b+416>>2];f=+g[b+420>>2];t=+g[j+4>>2]*u+ +g[j+8>>2]*n+ +g[j+12>>2]*f;l=u*+g[j+20>>2]+n*+g[j+24>>2]+f*+g[j+28>>2];f=u*+g[j+36>>2]+n*+g[j+40>>2]+f*+g[j+44>>2];o=c[d+20>>2]|0;r=c[d+24>>2]|0;c[o>>2]=0;g[o+4>>2]=-f;g[o+8>>2]=l;g[o+12>>2]=0.0;g[o+(r<<2)>>2]=f;c[o+(r<<2)+4>>2]=0;g[o+(r<<2)+8>>2]=-t;g[o+(r<<2)+12>>2]=0.0;g[o+(r<<1<<2)>>2]=-l;g[o+(r<<1<<2)+4>>2]=t;c[o+(r<<1<<2)+8>>2]=0;g[o+(r<<1<<2)+12>>2]=0.0;p=c[b+592>>2]|0;n=+g[((p&2|0)==0?d+4|0:b+600|0)>>2]*+g[d>>2];i=c[d+28>>2]|0;h=c[d+36>>2]|0;e=c[d+40>>2]|0;g[i>>2]=n*(t+ +g[j+52>>2]-s-+g[q+52>>2]);g[h>>2]=-3402823466385288598117041.0e14;g[e>>2]=3402823466385288598117041.0e14;if(!(p&1)){g[i+(r<<2)>>2]=n*(l+ +g[j+56>>2]-m-+g[q+56>>2]);g[h+(r<<2)>>2]=-3402823466385288598117041.0e14;g[e+(r<<2)>>2]=3402823466385288598117041.0e14;g[i+(r<<1<<2)>>2]=n*(f+ +g[j+60>>2]-k-+g[q+60>>2]);g[h+(r<<1<<2)>>2]=-3402823466385288598117041.0e14;g[e+(r<<1<<2)>>2]=3402823466385288598117041.0e14}else{v=c[d+32>>2]|0;c[v>>2]=c[b+596>>2];g[i+(r<<2)>>2]=n*(l+ +g[j+56>>2]-m-+g[q+56>>2]);g[h+(r<<2)>>2]=-3402823466385288598117041.0e14;g[e+(r<<2)>>2]=3402823466385288598117041.0e14;c[v+(r<<2)>>2]=c[b+596>>2];g[i+(r<<1<<2)>>2]=n*(f+ +g[j+60>>2]-k-+g[q+60>>2]);g[h+(r<<1<<2)>>2]=-3402823466385288598117041.0e14;g[e+(r<<1<<2)>>2]=3402823466385288598117041.0e14;c[v+(r<<1<<2)>>2]=c[b+596>>2]}do if(!(a[b+526>>0]|0))j=r*3|0;else{j=c[d+12>>2]|0;u=+g[b+456>>2];if(+g[b+444>>2]>2]>2];y=+g[q+8>>2];x=+g[q+12>>2];D=+g[b+304>>2];C=+g[b+320>>2];B=+g[b+336>>2];l=+g[b+308>>2];n=+g[b+324>>2];t=+g[b+340>>2];w=+g[q+20>>2];f=+g[q+24>>2];k=+g[q+28>>2];m=+g[q+36>>2];s=+g[q+40>>2];u=+g[q+44>>2];g[j+(r*3<<2)>>2]=z*D+y*C+x*B;g[j+((r*3|0)+1<<2)>>2]=D*w+C*f+B*k;g[j+((r*3|0)+2<<2)>>2]=D*m+C*s+B*u;g[j+(r<<2<<2)>>2]=z*l+y*n+x*t;g[j+((r<<2|1)<<2)>>2]=l*w+n*f+t*k;g[j+((r<<2|2)<<2)>>2]=l*m+n*s+t*u;g[o+(r*3<<2)>>2]=-(z*D+y*C+x*B);g[o+((r*3|0)+1<<2)>>2]=-(D*w+C*f+B*k);g[o+((r*3|0)+2<<2)>>2]=-(D*m+C*s+B*u);g[o+(r<<2<<2)>>2]=-(z*l+y*n+x*t);g[o+((r<<2|1)<<2)>>2]=-(l*w+n*f+t*k);g[o+((r<<2|2)<<2)>>2]=-(l*m+n*s+t*u);A=+g[d>>2]*+g[b+436>>2];i=c[d+28>>2]|0;g[i+(r*3<<2)>>2]=A*((z*D+y*C+x*B)*+g[b+460>>2]+(D*w+C*f+B*k)*+g[b+464>>2]+(D*m+C*s+B*u)*+g[b+468>>2]);g[i+(r<<2<<2)>>2]=A*((z*l+y*n+x*t)*+g[b+460>>2]+(l*w+n*f+t*k)*+g[b+464>>2]+(l*m+n*s+t*u)*+g[b+468>>2]);h=c[d+36>>2]|0;g[h+(r*3<<2)>>2]=-3402823466385288598117041.0e14;e=c[d+40>>2]|0;g[e+(r*3<<2)>>2]=3402823466385288598117041.0e14;g[h+(r<<2<<2)>>2]=-3402823466385288598117041.0e14;g[e+(r<<2<<2)>>2]=3402823466385288598117041.0e14;j=(c[d+24>>2]|0)+(r<<2)|0;break}D=+g[b+436>>2];B=D*+g[b+460>>2]*D;C=D*D*+g[b+464>>2];D=D*D*+g[b+468>>2];g[j+(r*3<<2)>>2]=B;g[j+((r*3|0)+1<<2)>>2]=C;g[j+((r*3|0)+2<<2)>>2]=D;g[o+(r*3<<2)>>2]=-B;g[o+((r*3|0)+1<<2)>>2]=-C;g[o+((r*3|0)+2<<2)>>2]=-D;g[i+(r*3<<2)>>2]=+g[d>>2]*+g[b+432>>2]*+g[b+504>>2];if(p&4|0)c[(c[d+32>>2]|0)+(r*3<<2)>>2]=c[b+604>>2];g[h+(r*3<<2)>>2]=0.0;g[e+(r*3<<2)>>2]=3402823466385288598117041.0e14;j=r<<2}while(0);if(!(a[b+525>>0]|0))return;D=+g[b+436>>2];B=D*+g[b+476>>2]*D;C=D*D*+g[b+480>>2];D=D*D*+g[b+484>>2];p=c[d+12>>2]|0;r=c[d+20>>2]|0;g[p+(j<<2)>>2]=B;q=j+1|0;g[p+(q<<2)>>2]=C;v=j+2|0;g[p+(v<<2)>>2]=D;g[r+(j<<2)>>2]=-B;g[r+(q<<2)>>2]=-C;g[r+(v<<2)>>2]=-D;g[i+(j<<2)>>2]=+g[d>>2]*+g[b+432>>2]*+g[b+508>>2];if(c[b+592>>2]&4|0)c[(c[d+32>>2]|0)+(j<<2)>>2]=c[b+604>>2];do if(+g[b+452>>2]>0.0){h=h+(j<<2)|0;e=c[d+40>>2]|0;if(+g[b+508>>2]>0.0){g[h>>2]=0.0;f=3402823466385288598117041.0e14;break}else{g[h>>2]=-3402823466385288598117041.0e14;f=0.0;break}}else{g[h+(j<<2)>>2]=-3402823466385288598117041.0e14;f=3402823466385288598117041.0e14}while(0);g[e+(j<<2)>>2]=f;return}function fd(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.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0,D=0;if((j|0)<2|(k|0)<2){m=0;return m|0}r=O(k,j)|0;c[6472]=(c[6472]|0)+1;b=ic(r>>>0>268435455?18:(r<<4|3)+16|0)|0;if(!b)q=0;else{c[(b+4+15&-16)+-4>>2]=b;q=b+4+15&-16}p=XH(r>>>0>1073741823?-1:r<<2)|0;if((k|0)>0?(j|0)>0:0){n=0;do{A=+(n|0)/+(k+-1|0);u=+g[e>>2];u=u+A*(+g[h>>2]-u);v=+g[e+4>>2];v=v+A*(+g[h+4>>2]-v);w=+g[e+8>>2];w=w+A*(+g[h+8>>2]-w);x=+g[f>>2];y=+g[f+4>>2];z=+g[f+8>>2];o=O(n,j)|0;x=x+A*(+g[i>>2]-x)-u;y=y+A*(+g[i+4>>2]-y)-v;z=z+A*(+g[i+8>>2]-z)-w;b=0;do{A=+(b|0)/+(j+-1|0);t=b+o|0;g[q+(t<<4)>>2]=u+x*A;g[q+(t<<4)+4>>2]=v+y*A;g[q+(t<<4)+8>>2]=w+z*A;g[q+(t<<4)+12>>2]=0.0;g[p+(t<<2)>>2]=1.0;b=b+1|0}while((b|0)!=(j|0));n=n+1|0}while((n|0)!=(k|0))}c[6472]=(c[6472]|0)+1;b=ic(1271)|0;if(!b)b=0;else{c[(b+4+15&-16)+-4>>2]=b;b=b+4+15&-16}qc(b,d,r,q,p);if(l&1|0){g[(c[b+720>>2]|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&2|0){g[(c[b+720>>2]|0)+((j+-1|0)*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&4|0){t=O(k+-1|0,j)|0;g[(c[b+720>>2]|0)+(t*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&8|0){t=j+-1+(O(k+-1|0,j)|0)|0;g[(c[b+720>>2]|0)+(t*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(q|0){c[6473]=(c[6473]|0)+1;nd(c[q+-4>>2]|0)}YH(p);if((k|0)<=0){m=b;return m|0}s=b+720|0;t=b+732|0;l=b+740|0;d=b+924|0;p=0;while(1){a:do if((j|0)>0){r=O(p,j)|0;n=p+1|0;q=O(n,j)|0;if((n|0)<(k|0))h=0;else{o=0;while(1){e=o;o=o+1|0;if((o|0)<(j|0)){i=o+r|0;h=c[s>>2]|0;Rh(b,0);q=(c[t>>2]|0)+-1|0;p=c[l>>2]|0;c[p+(q*52|0)+8>>2]=h+((e+r|0)*104|0);c[p+(q*52|0)+12>>2]=h+(i*104|0);y=+g[h+((e+r|0)*104|0)+8>>2]-+g[h+(i*104|0)+8>>2];z=+g[h+((e+r|0)*104|0)+12>>2]-+g[h+(i*104|0)+12>>2];A=+g[h+((e+r|0)*104|0)+16>>2]-+g[h+(i*104|0)+16>>2];g[p+(q*52|0)+16>>2]=+C(+(y*y+z*z+A*A));a[d>>0]=1}if((o|0)==(j|0))break a}}do{o=h+r|0;i=h;h=h+1|0;do if((h|0)<(j|0)){e=h+r|0;B=c[s>>2]|0;Rh(b,0);D=(c[t>>2]|0)+-1|0;f=c[l>>2]|0;c[f+(D*52|0)+8>>2]=B+(o*104|0);c[f+(D*52|0)+12>>2]=B+(e*104|0);A=+g[B+(o*104|0)+8>>2]-+g[B+(e*104|0)+8>>2];z=+g[B+(o*104|0)+12>>2]-+g[B+(e*104|0)+12>>2];y=+g[B+(o*104|0)+16>>2]-+g[B+(e*104|0)+16>>2];g[f+(D*52|0)+16>>2]=+C(+(A*A+z*z+y*y));a[d>>0]=1;D=c[s>>2]|0;Rh(b,0);f=(c[t>>2]|0)+-1|0;B=c[l>>2]|0;c[B+(f*52|0)+8>>2]=D+(o*104|0);c[B+(f*52|0)+12>>2]=D+((i+q|0)*104|0);y=+g[D+(o*104|0)+8>>2]-+g[D+((i+q|0)*104|0)+8>>2];z=+g[D+(o*104|0)+12>>2]-+g[D+((i+q|0)*104|0)+12>>2];A=+g[D+(o*104|0)+16>>2]-+g[D+((i+q|0)*104|0)+16>>2];g[B+(f*52|0)+16>>2]=+C(+(y*y+z*z+A*A));a[d>>0]=1;if(!(i+p&1)){Qf(b,i+q|0,o,e,0);Qf(b,i+q|0,e,h+q|0,0);if(!m)break;f=c[s>>2]|0;Rh(b,0);D=(c[t>>2]|0)+-1|0;B=c[l>>2]|0;c[B+(D*52|0)+8>>2]=f+(e*104|0);c[B+(D*52|0)+12>>2]=f+((i+q|0)*104|0);y=+g[f+(e*104|0)+8>>2]-+g[f+((i+q|0)*104|0)+8>>2];z=+g[f+(e*104|0)+12>>2]-+g[f+((i+q|0)*104|0)+12>>2];A=+g[f+(e*104|0)+16>>2]-+g[f+((i+q|0)*104|0)+16>>2];g[B+(D*52|0)+16>>2]=+C(+(y*y+z*z+A*A));a[d>>0]=1;break}else{f=h+q|0;Qf(b,o,e,f,0);Qf(b,o,f,i+q|0,0);if(!m)break;i=c[s>>2]|0;Rh(b,0);D=(c[t>>2]|0)+-1|0;B=c[l>>2]|0;c[B+(D*52|0)+8>>2]=i+(o*104|0);c[B+(D*52|0)+12>>2]=i+(f*104|0);y=+g[i+(o*104|0)+8>>2]-+g[i+(f*104|0)+8>>2];z=+g[i+(o*104|0)+12>>2]-+g[i+(f*104|0)+12>>2];A=+g[i+(o*104|0)+16>>2]-+g[i+(f*104|0)+16>>2];g[B+(D*52|0)+16>>2]=+C(+(y*y+z*z+A*A));a[d>>0]=1;break}}else{f=c[s>>2]|0;Rh(b,0);D=(c[t>>2]|0)+-1|0;B=c[l>>2]|0;c[B+(D*52|0)+8>>2]=f+(o*104|0);c[B+(D*52|0)+12>>2]=f+((i+q|0)*104|0);y=+g[f+(o*104|0)+8>>2]-+g[f+((i+q|0)*104|0)+8>>2];z=+g[f+(o*104|0)+12>>2]-+g[f+((i+q|0)*104|0)+12>>2];A=+g[f+(o*104|0)+16>>2]-+g[f+((i+q|0)*104|0)+16>>2];g[B+(D*52|0)+16>>2]=+C(+(y*y+z*z+A*A));a[d>>0]=1}while(0)}while((h|0)!=(j|0))}else n=p+1|0;while(0);if((n|0)==(k|0))break;else p=n}return b|0}function gd(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;var i=0.0,j=0.0,k=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.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.0,H=0;B=l;l=l+272|0;c[B+128>>2]=c[d>>2];c[B+128+4>>2]=c[d+4>>2];c[B+128+8>>2]=c[d+8>>2];c[B+128+12>>2]=c[d+12>>2];c[B+128+16>>2]=c[d+16>>2];c[B+128+16+4>>2]=c[d+16+4>>2];c[B+128+16+8>>2]=c[d+16+8>>2];c[B+128+16+12>>2]=c[d+16+12>>2];c[B+128+32>>2]=c[d+32>>2];c[B+128+32+4>>2]=c[d+32+4>>2];c[B+128+32+8>>2]=c[d+32+8>>2];c[B+128+32+12>>2]=c[d+32+12>>2];c[B+128+48>>2]=c[d+48>>2];c[B+128+48+4>>2]=c[d+48+4>>2];c[B+128+48+8>>2]=c[d+48+8>>2];c[B+128+48+12>>2]=c[d+48+12>>2];c[B+64>>2]=c[e>>2];c[B+64+4>>2]=c[e+4>>2];c[B+64+8>>2]=c[e+8>>2];c[B+64+12>>2]=c[e+12>>2];c[B+64+16>>2]=c[e+16>>2];c[B+64+16+4>>2]=c[e+16+4>>2];c[B+64+16+8>>2]=c[e+16+8>>2];c[B+64+16+12>>2]=c[e+16+12>>2];c[B+64+32>>2]=c[e+32>>2];c[B+64+32+4>>2]=c[e+32+4>>2];c[B+64+32+8>>2]=c[e+32+8>>2];c[B+64+32+12>>2]=c[e+32+12>>2];c[B+64+48>>2]=c[e+48>>2];c[B+64+48+4>>2]=c[e+48+4>>2];c[B+64+48+8>>2]=c[e+48+8>>2];c[B+64+48+12>>2]=c[e+48+12>>2];i=+g[B+64+52>>2]-+g[B+128+52>>2];G=+g[B+64+56>>2]-+g[B+128+56>>2];g[B+16>>2]=+g[B+64+48>>2]-+g[B+128+48>>2];g[B+16+4>>2]=i;g[B+16+8>>2]=G;g[B+16+12>>2]=0.0;vf(B+128|0,B+64|0,B+208|0,B+192|0);G=+g[B+192>>2];i=G*+g[B+208+4>>2];D=G*+g[B+208+8>>2];g[B>>2]=+g[B+208>>2]*G;g[B+4>>2]=i;g[B+8>>2]=D;g[B+12>>2]=0.0;c[B+208+48>>2]=0;c[B+208+48+4>>2]=0;c[B+208+48+8>>2]=0;c[B+208+48+12>>2]=0;lh(B+128|0,B+192|0);D=+g[B+192>>2];i=+g[B+192+4>>2];G=+g[B+192+8>>2];E=+g[B+192+12>>2];C=D*(2.0/(D*D+i*i+G*G+E*E));j=i*(2.0/(D*D+i*i+G*G+E*E));F=G*(2.0/(D*D+i*i+G*G+E*E));g[B+208>>2]=1.0-(i*j+G*F);g[B+208+4>>2]=D*j-E*F;g[B+208+8>>2]=D*F+E*j;g[B+208+12>>2]=0.0;g[B+208+16>>2]=D*j+E*F;g[B+208+20>>2]=1.0-(D*C+G*F);g[B+208+24>>2]=i*F-E*C;g[B+208+28>>2]=0.0;g[B+208+32>>2]=D*F-E*j;g[B+208+36>>2]=i*F+E*C;g[B+208+40>>2]=1.0-(D*C+i*j);g[B+208+44>>2]=0.0;_g(b,B+208|0,B+16|0,B,B+48|0,B+32|0);if((c[a+268>>2]|0)<=0){l=B;return}s=0;do{k=c[(c[a+276>>2]|0)+(s<<2)>>2]|0;if(sb[c[(c[f>>2]|0)+8>>2]&31](f,c[k+188>>2]|0)|0?(u=c[k+192>>2]|0,Nb[c[(c[u>>2]|0)+8>>2]&127](u,k+4|0,B+192|0,B+16|0),m=+g[B+192>>2]+ +g[B+48>>2],q=+g[B+192+4>>2]+ +g[B+48+4>>2],o=+g[B+192+8>>2]+ +g[B+48+8>>2],g[B+192>>2]=m,g[B+192+4>>2]=q,g[B+192+8>>2]=o,g[B+192+12>>2]=0.0,n=+g[B+16>>2]+ +g[B+32>>2],r=+g[B+16+4>>2]+ +g[B+32+4>>2],p=+g[B+16+8>>2]+ +g[B+32+8>>2],g[B+16>>2]=n,g[B+16+4>>2]=r,g[B+16+8>>2]=p,g[B+16+12>>2]=0.0,w=+g[d+48>>2]-(n+m)*.5,z=+g[d+52>>2]-(r+q)*.5,x=+g[d+56>>2]-(p+o)*.5,v=+g[e+48>>2]-(n+m)*.5,A=+g[e+52>>2]-(r+q)*.5,y=+g[e+56>>2]-(p+o)*.5,u=w<-((n-m)*.5)|(w>(n-m)*.5?8:0)|(z<-((r-q)*.5)?2:0)|(z>(r-q)*.5?16:0)|(x<-((p-o)*.5)?4:0)|(x>(p-o)*.5?32:0),t=v<-((n-m)*.5)|(v>(n-m)*.5?8:0)|(A<-((r-q)*.5)?2:0)|(A>(r-q)*.5?16:0)|(y<-((p-o)*.5)?4:0)|(y>(p-o)*.5?32:0),(u&t|0)==0):0){if(w<-((n-m)*.5))if(!((-w-(n-m)*.5)/(v-w)>=0.0)){i=1.0;j=0.0}else{i=1.0;j=(-w-(n-m)*.5)/(v-w)}else if(v<-((n-m)*.5)?(-w-(n-m)*.5)/(v-w)<1.0:0){i=(-w-(n-m)*.5)/(v-w);j=0.0}else{i=1.0;j=0.0}if(z<-((r-q)*.5)){if(j<=(-z-(r-q)*.5)/(A-z))j=(-z-(r-q)*.5)/(A-z)}else if(A<-((r-q)*.5)?(-z-(r-q)*.5)/(A-z)(n-m)*.5){if(j<=((n-m)*.5-w)/(v-w))j=((n-m)*.5-w)/(v-w)}else if(v>(n-m)*.5?((n-m)*.5-w)/(v-w)(r-q)*.5){if(j<=((r-q)*.5-z)/(A-z))j=((r-q)*.5-z)/(A-z)}else if(A>(r-q)*.5?((r-q)*.5-z)/(A-z)>2]|0;c[B+208>>2]=0;c[B+208+4>>2]=H;c[B+208+8>>2]=k;c[B+208+12>>2]=k+4;c[B+208+16>>2]=-1;c[B+208+20>>2]=-1;oc(b,B+128|0,B+64|0,B+208|0,f,h)}}s=s+1|0}while((s|0)<(c[a+268>>2]|0));l=B;return}function hd(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,h=0.0,i=0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0.0,q=0.0,r=0.0;n=l;l=l+16|0;b=c[a+372>>2]|0;a:do switch(c[b+32>>2]|0){case 1:{i=b;d=1;b=0;while(1){c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;g[n+(b<<2)>>2]=1.0;o=i+32|0;g[i+16+(d<<2)>>2]=0.0;d=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=d;c[i+(c[o>>2]<<2)>>2]=c[a+348+(d<<2)>>2];d=c[o>>2]|0;c[o>>2]=d+1;e=+g[n>>2];f=+g[n+4>>2];h=+g[n+8>>2];uh(a,e,f,h,c[i+(d<<2)>>2]|0);if(hd(a)|0)break;i=c[a+372>>2]|0;o=(c[i+32>>2]|0)+-1|0;c[i+32>>2]=o;o=c[i+(o<<2)>>2]|0;i=c[a+364>>2]|0;c[a+364>>2]=i+1;c[a+348+(i<<2)>>2]=o;i=c[a+372>>2]|0;g[i+16+(c[i+32>>2]<<2)>>2]=0.0;o=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=o;c[i+(c[i+32>>2]<<2)>>2]=c[a+348+(o<<2)>>2];o=c[i+32>>2]|0;c[i+32>>2]=o+1;uh(a,-e,-f,-h,c[i+(o<<2)>>2]|0);if(hd(a)|0)break;o=c[a+372>>2]|0;i=(c[o+32>>2]|0)+-1|0;c[o+32>>2]=i;i=c[o+(i<<2)>>2]|0;o=c[a+364>>2]|0;c[a+364>>2]=o+1;c[a+348+(o<<2)>>2]=i;b=b+1|0;if(b>>>0>=3)break a;d=c[a+372>>2]|0;i=d;d=c[d+32>>2]|0}o=1;l=n;return o|0}case 2:{o=c[b+4>>2]|0;b=c[b>>2]|0;j=+g[o+16>>2]-+g[b+16>>2];m=+g[o+20>>2]-+g[b+20>>2];k=+g[o+24>>2]-+g[b+24>>2];b=0;while(1){c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;g[n+(b<<2)>>2]=1.0;e=+g[n+8>>2];f=+g[n+4>>2];h=+g[n>>2];if((m*e-k*f)*(m*e-k*f)+(k*h-j*e)*(k*h-j*e)+(j*f-m*h)*(j*f-m*h)>0.0){i=c[a+372>>2]|0;g[i+16+(c[i+32>>2]<<2)>>2]=0.0;o=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=o;c[i+(c[i+32>>2]<<2)>>2]=c[a+348+(o<<2)>>2];o=c[i+32>>2]|0;c[i+32>>2]=o+1;uh(a,m*e-k*f,k*h-j*e,j*f-m*h,c[i+(o<<2)>>2]|0);if(hd(a)|0)break;i=c[a+372>>2]|0;o=(c[i+32>>2]|0)+-1|0;c[i+32>>2]=o;o=c[i+(o<<2)>>2]|0;i=c[a+364>>2]|0;c[a+364>>2]=i+1;c[a+348+(i<<2)>>2]=o;i=c[a+372>>2]|0;g[i+16+(c[i+32>>2]<<2)>>2]=0.0;o=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=o;c[i+(c[i+32>>2]<<2)>>2]=c[a+348+(o<<2)>>2];o=c[i+32>>2]|0;c[i+32>>2]=o+1;uh(a,-(m*e-k*f),-(k*h-j*e),-(j*f-m*h),c[i+(o<<2)>>2]|0);if(hd(a)|0)break;o=c[a+372>>2]|0;i=(c[o+32>>2]|0)+-1|0;c[o+32>>2]=i;i=c[o+(i<<2)>>2]|0;o=c[a+364>>2]|0;c[a+364>>2]=o+1;c[a+348+(o<<2)>>2]=i}b=b+1|0;if(b>>>0>=3)break a}o=1;l=n;return o|0}case 3:{o=c[b+4>>2]|0;i=c[b>>2]|0;e=+g[i+16>>2];f=+g[o+16>>2]-e;k=+g[i+20>>2];m=+g[o+20>>2]-k;h=+g[i+24>>2];j=+g[o+24>>2]-h;o=c[b+8>>2]|0;e=+g[o+16>>2]-e;k=+g[o+20>>2]-k;h=+g[o+24>>2]-h;if((m*h-j*k)*(m*h-j*k)+(j*e-f*h)*(j*e-f*h)+(f*k-m*e)*(f*k-m*e)>0.0){g[b+28>>2]=0.0;o=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=o;c[b+12>>2]=c[a+348+(o<<2)>>2];o=c[b+32>>2]|0;c[b+32>>2]=o+1;uh(a,m*h-j*k,j*e-f*h,f*k-m*e,c[b+(o<<2)>>2]|0);if(hd(a)|0){o=1;l=n;return o|0}i=c[a+372>>2]|0;o=(c[i+32>>2]|0)+-1|0;c[i+32>>2]=o;o=c[i+(o<<2)>>2]|0;i=c[a+364>>2]|0;c[a+364>>2]=i+1;c[a+348+(i<<2)>>2]=o;i=c[a+372>>2]|0;g[i+16+(c[i+32>>2]<<2)>>2]=0.0;o=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=o;c[i+(c[i+32>>2]<<2)>>2]=c[a+348+(o<<2)>>2];o=c[i+32>>2]|0;c[i+32>>2]=o+1;uh(a,-(m*h-j*k),-(j*e-f*h),-(f*k-m*e),c[i+(o<<2)>>2]|0);if(hd(a)|0){o=1;l=n;return o|0}else{o=c[a+372>>2]|0;i=(c[o+32>>2]|0)+-1|0;c[o+32>>2]=i;i=c[o+(i<<2)>>2]|0;o=c[a+364>>2]|0;c[a+364>>2]=o+1;c[a+348+(o<<2)>>2]=i;break a}}break}case 4:{o=c[b>>2]|0;a=c[b+12>>2]|0;m=+g[a+16>>2];r=+g[o+16>>2]-m;p=+g[a+20>>2];e=+g[o+20>>2]-p;h=+g[a+24>>2];j=+g[o+24>>2]-h;o=c[b+4>>2]|0;f=+g[o+16>>2]-m;k=+g[o+20>>2]-p;q=+g[o+24>>2]-h;o=c[b+8>>2]|0;m=+g[o+16>>2]-m;p=+g[o+20>>2]-p;h=+g[o+24>>2]-h;if(!((0.0!=0.0?1:r*k*h+(e*q*m+j*f*p-r*q*p-e*f*h)-j*k*m!=r*k*h+(e*q*m+j*f*p-r*q*p-e*f*h)-j*k*m)|r*k*h+(e*q*m+j*f*p-r*q*p-e*f*h)-j*k*m==0.0)){o=1;l=n;return o|0}break}default:{}}while(0);o=0;l=n;return o|0}function id(d,e){d=d|0;e=e|0;var f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+64|0;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;p=c[e+104>>2]|0;k=q;n=k+64|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(n|0));o=c[d+88>>2]|0;if((o|0)<(p|0)){if((c[d+92>>2]|0)<(p|0)){if(!p){i=o;j=0}else{c[6472]=(c[6472]|0)+1;f=ic(p<<6|19)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}i=c[d+88>>2]|0;j=f}if((i|0)>0){f=0;do{k=j+(f<<6)|0;m=(c[d+96>>2]|0)+(f<<6)|0;n=k+64|0;do{c[k>>2]=c[m>>2];k=k+4|0;m=m+4|0}while((k|0)<(n|0));f=f+1|0}while((f|0)!=(i|0))}f=c[d+96>>2]|0;if(f|0){if(a[d+100>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0)}c[d+96>>2]=0}a[d+100>>0]=1;c[d+96>>2]=j;c[d+92>>2]=p;i=d+96|0}else i=d+96|0;f=o;do{k=(c[i>>2]|0)+(f<<6)|0;m=q;n=k+64|0;do{c[k>>2]=c[m>>2];k=k+4|0;m=m+4|0}while((k|0)<(n|0));f=f+1|0}while((f|0)!=(p|0))}c[d+88>>2]=p;if((p|0)>0){f=c[d+96>>2]|0;i=0;j=c[e+112>>2]|0;while(1){g[f+(i<<6)+16>>2]=+h[j+32>>3];g[f+(i<<6)+20>>2]=+h[j+40>>3];g[f+(i<<6)+24>>2]=+h[j+48>>3];g[f+(i<<6)+28>>2]=+h[j+56>>3];g[f+(i<<6)>>2]=+h[j>>3];g[f+(i<<6)+4>>2]=+h[j+8>>3];g[f+(i<<6)+8>>2]=+h[j+16>>3];g[f+(i<<6)+12>>2]=+h[j+24>>3];c[f+(i<<6)+32>>2]=c[j+64>>2];c[f+(i<<6)+36>>2]=c[j+68>>2];c[f+(i<<6)+40>>2]=c[j+72>>2];i=i+1|0;if((i|0)==(p|0))break;else j=j+80|0}}m=c[e+108>>2]|0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;k=c[d+128>>2]|0;if((k|0)<(m|0)){if((c[d+132>>2]|0)<(m|0)){if(!m){i=k;j=0}else{c[6472]=(c[6472]|0)+1;f=ic((m<<4|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}i=c[d+128>>2]|0;j=f}if((i|0)>0){f=0;do{p=j+(f<<4)|0;o=(c[d+136>>2]|0)+(f<<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];f=f+1|0}while((f|0)!=(i|0))}f=c[d+136>>2]|0;if(f|0){if(a[d+140>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0)}c[d+136>>2]=0}a[d+140>>0]=1;c[d+136>>2]=j;c[d+132>>2]=m;i=d+136|0}else i=d+136|0;f=k;do{p=(c[i>>2]|0)+(f<<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];f=f+1|0}while((f|0)!=(m|0))}c[d+128>>2]=m;if((m|0)>0){f=c[d+136>>2]|0;i=0;j=c[e+116>>2]|0;while(1){c[f+(i<<4)+12>>2]=c[j+12>>2];b[f+(i<<4)+6>>1]=b[j+6>>1]|0;b[f+(i<<4)+8>>1]=b[j+8>>1]|0;b[f+(i<<4)+10>>1]=b[j+10>>1]|0;b[f+(i<<4)>>1]=b[j>>1]|0;b[f+(i<<4)+2>>1]=b[j+2>>1]|0;b[f+(i<<4)+4>>1]=b[j+4>>1]|0;i=i+1|0;if((i|0)==(m|0))break;else j=j+16|0}}c[d+144>>2]=c[e+120>>2];m=c[e+124>>2]|0;k=c[d+152>>2]|0;if((k|0)<(m|0)){if((c[d+156>>2]|0)<(m|0)){if(!m){i=k;j=0}else{c[6472]=(c[6472]|0)+1;f=ic(m<<5|19)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}i=c[d+152>>2]|0;j=f}if((i|0)>0){f=0;do{p=j+(f<<5)|0;o=(c[d+160>>2]|0)+(f<<5)|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];c[p+16>>2]=c[o+16>>2];c[p+20>>2]=c[o+20>>2];c[p+24>>2]=c[o+24>>2];c[p+28>>2]=c[o+28>>2];f=f+1|0}while((f|0)!=(i|0))}f=c[d+160>>2]|0;if(f|0){if(a[d+164>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0)}c[d+160>>2]=0}a[d+164>>0]=1;c[d+160>>2]=j;c[d+156>>2]=m;i=d+160|0}else i=d+160|0;f=k;do{p=(c[i>>2]|0)+(f<<5)|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];c[p+16>>2]=c[q+16>>2];c[p+20>>2]=c[q+20>>2];c[p+24>>2]=c[q+24>>2];c[p+28>>2]=c[q+28>>2];f=f+1|0}while((f|0)!=(m|0))}c[d+152>>2]=m;if((m|0)<=0){l=q;return}i=c[d+160>>2]|0;j=0;f=c[e+128>>2]|0;while(1){b[i+(j<<5)+6>>1]=b[f+14>>1]|0;b[i+(j<<5)+8>>1]=b[f+16>>1]|0;b[i+(j<<5)+10>>1]=b[f+18>>1]|0;b[i+(j<<5)>>1]=b[f+8>>1]|0;b[i+(j<<5)+2>>1]=b[f+10>>1]|0;b[i+(j<<5)+4>>1]=b[f+12>>1]|0;c[i+(j<<5)+12>>2]=c[f>>2];c[i+(j<<5)+16>>2]=c[f+4>>2];j=j+1|0;if((j|0)==(m|0))break;else f=f+20|0}l=q;return}function jd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=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,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,Y=0,Z=0;Y=c[d+36>>2]|0;X=c[e+36>>2]|0;L=+g[Y+8>>2];N=+g[Y+12>>2];M=+g[Y+16>>2];e=c[X+8>>2]|0;U=+g[e+8>>2];V=+g[e+12>>2];W=+g[e+16>>2];f=c[X+12>>2]|0;Q=+g[f+8>>2];O=+g[f+12>>2];P=+g[f+16>>2];d=c[X+16>>2]|0;R=+g[d+8>>2];S=+g[d+12>>2];T=+g[d+16>>2];x=Q-L-(U-L);F=O-N-(V-N);z=P-M-(W-M);w=F*(T-M-(W-M))-z*(S-N-(V-N));E=z*(R-L-(U-L))-x*(T-M-(W-M));B=x*(S-N-(V-N))-F*(R-L-(U-L));do if(B*B+(w*w+E*E)>1.1920928955078125e-07?(I=1.0/+C(+(B*B+(w*w+E*E))),G=(W-M)*B*I+((U-L)*w*I+(V-N)*E*I),G*G<3402823466385288598117041.0e14):0){r=U-L-w*I*G;v=V-N-E*I*G;t=W-M-B*I*G;h=Q-L-w*I*G;u=O-N-E*I*G;s=P-M-B*I*G;if((B*(u*r-v*h)+(w*(v*s-t*u)+E*(t*h-s*r))>0.0?(y=R-L-w*I*G,D=S-N-E*I*G,A=T-M-B*I*G,B*(D*h-u*y)+(w*(u*A-s*D)+E*(s*y-A*h))>0.0):0)?B*(v*y-D*r)+(w*(D*t-A*v)+E*(A*r-t*y))>0.0:0){q=G*G;p=w*I*G;o=B*I*G;m=E*I*G;break}if(x*x+F*F+z*z>1.1920928955078125e-07?(H=-((U-L)*x+(V-N)*F+(W-M)*z)/(x*x+F*F+z*z),H=H<0.0?0.0:H>1.0?1.0:H,q=(W-M+z*H)*(W-M+z*H)+((U-L+x*H)*(U-L+x*H)+(V-N+F*H)*(V-N+F*H)),q<3402823466385288598117041.0e14):0){s=U-L+x*H;t=W-M+z*H;r=V-N+F*H}else{q=3402823466385288598117041.0e14;s=0.0;t=0.0;r=0.0}h=(R-L-(Q-L))*(R-L-(Q-L))+(S-N-(O-N))*(S-N-(O-N))+(T-M-(P-M))*(T-M-(P-M));if(h>1.1920928955078125e-07?(o=-((Q-L)*(R-L-(Q-L))+(O-N)*(S-N-(O-N))+(P-M)*(T-M-(P-M)))/h,o=o<0.0?0.0:o>1.0?1.0:o,p=Q-L+(R-L-(Q-L))*o,k=O-N+(S-N-(O-N))*o,o=P-M+(T-M-(P-M))*o,o*o+(p*p+k*k)1.1920928955078125e-07?(K=-((R-L)*(U-L-(R-L))+(S-N)*(V-N-(S-N))+(T-M)*(W-M-(T-M)))/h,K=K<0.0?0.0:K>1.0?1.0:K,J=R-L+(U-L-(R-L))*K,m=S-N+(V-N-(S-N))*K,K=T-M+(W-M-(T-M))*K,K*K+(J*J+m*m)>2];K=N-+g[Y+28>>2];u=M-+g[Y+32>>2];u=+g[b+12>>2]+ +C(+(J*J+K*K+u*u))*2.0;if(!(q>2];V=+g[e+88>>2];W=+g[f+88>>2];h=+g[d+88>>2];h=!(V<=0.0)&!(W<=0.0)&!(h<=0.0)?V*s*(1.0/(t+s+r))+W*r*(1.0/(t+s+r))+t*(1.0/(t+s+r))*h:0.0;if(!(k+h>0.0))return;W=1.0/-+C(+q);q=p*W;p=m*W;o=o*W;n=c[b+4>>2]|0;d=c[b+8>>2]|0;l=c[(+g[n+316>>2]>+g[d+316>>2]?n+316|0:d+316|0)>>2]|0;m=k/(k+h)*+g[n+332>>2];h=h/(k+h)*+g[d+332>>2];d=c[n+832>>2]|0;if((d|0)==(c[n+836>>2]|0)?(Z=d|0?d<<1:1,(d|0)<(Z|0)):0){if(!Z)e=0;else{c[6472]=(c[6472]|0)+1;d=ic((Z*56|3)+16|0)|0;if(!d)e=0;else{c[(d+4+15&-16)+-4>>2]=d;e=d+4+15&-16}d=c[n+832>>2]|0}if((d|0)>0){f=0;do{b=e+(f*56|0)|0;i=(c[n+840>>2]|0)+(f*56|0)|0;j=b+56|0;do{c[b>>2]=c[i>>2];b=b+4|0;i=i+4|0}while((b|0)<(j|0));f=f+1|0}while((f|0)!=(d|0))}d=c[n+840>>2]|0;if(d|0){if(a[n+844>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[n+840>>2]=0}a[n+844>>0]=1;c[n+840>>2]=e;c[n+836>>2]=Z;d=c[n+832>>2]|0}Z=c[n+840>>2]|0;c[Z+(d*56|0)>>2]=Y;c[Z+(d*56|0)+4>>2]=X;g[Z+(d*56|0)+8>>2]=s*(1.0/(t+s+r));g[Z+(d*56|0)+12>>2]=r*(1.0/(t+s+r));g[Z+(d*56|0)+16>>2]=t*(1.0/(t+s+r));g[Z+(d*56|0)+20>>2]=0.0;g[Z+(d*56|0)+24>>2]=q;g[Z+(d*56|0)+28>>2]=p;g[Z+(d*56|0)+32>>2]=o;g[Z+(d*56|0)+36>>2]=0.0;g[Z+(d*56|0)+40>>2]=u;c[Z+(d*56|0)+44>>2]=l;g[Z+(d*56|0)+48>>2]=m;g[Z+(d*56|0)+52>>2]=h;c[n+832>>2]=(c[n+832>>2]|0)+1;return}function kd(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+64|0;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;n=c[e+56>>2]|0;i=o;k=i+64|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(k|0));m=c[d+88>>2]|0;if((m|0)<(n|0)){if((c[d+92>>2]|0)<(n|0)){if(!n){g=m;h=0}else{c[6472]=(c[6472]|0)+1;f=ic(n<<6|19)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}g=c[d+88>>2]|0;h=f}if((g|0)>0){f=0;do{i=h+(f<<6)|0;j=(c[d+96>>2]|0)+(f<<6)|0;k=i+64|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));f=f+1|0}while((f|0)!=(g|0))}f=c[d+96>>2]|0;if(f|0){if(a[d+100>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0)}c[d+96>>2]=0}a[d+100>>0]=1;c[d+96>>2]=h;c[d+92>>2]=n;g=d+96|0}else g=d+96|0;f=m;do{i=(c[g>>2]|0)+(f<<6)|0;j=o;k=i+64|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));f=f+1|0}while((f|0)!=(n|0))}c[d+88>>2]=n;if((n|0)>0){f=c[d+96>>2]|0;g=0;h=c[e+64>>2]|0;while(1){c[f+(g<<6)+16>>2]=c[h+16>>2];c[f+(g<<6)+20>>2]=c[h+20>>2];c[f+(g<<6)+24>>2]=c[h+24>>2];c[f+(g<<6)+28>>2]=c[h+28>>2];c[f+(g<<6)>>2]=c[h>>2];c[f+(g<<6)+4>>2]=c[h+4>>2];c[f+(g<<6)+8>>2]=c[h+8>>2];c[f+(g<<6)+12>>2]=c[h+12>>2];c[f+(g<<6)+32>>2]=c[h+32>>2];c[f+(g<<6)+36>>2]=c[h+36>>2];c[f+(g<<6)+40>>2]=c[h+40>>2];g=g+1|0;if((g|0)==(n|0))break;else h=h+48|0}}j=c[e+60>>2]|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;i=c[d+128>>2]|0;if((i|0)<(j|0)){if((c[d+132>>2]|0)<(j|0)){if(!j){g=i;h=0}else{c[6472]=(c[6472]|0)+1;f=ic((j<<4|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}g=c[d+128>>2]|0;h=f}if((g|0)>0){f=0;do{n=h+(f<<4)|0;m=(c[d+136>>2]|0)+(f<<4)|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];f=f+1|0}while((f|0)!=(g|0))}f=c[d+136>>2]|0;if(f|0){if(a[d+140>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0)}c[d+136>>2]=0}a[d+140>>0]=1;c[d+136>>2]=h;c[d+132>>2]=j;g=d+136|0}else g=d+136|0;f=i;do{n=(c[g>>2]|0)+(f<<4)|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];f=f+1|0}while((f|0)!=(j|0))}c[d+128>>2]=j;if((j|0)>0){f=c[d+136>>2]|0;g=0;h=c[e+68>>2]|0;while(1){c[f+(g<<4)+12>>2]=c[h+12>>2];b[f+(g<<4)+6>>1]=b[h+6>>1]|0;b[f+(g<<4)+8>>1]=b[h+8>>1]|0;b[f+(g<<4)+10>>1]=b[h+10>>1]|0;b[f+(g<<4)>>1]=b[h>>1]|0;b[f+(g<<4)+2>>1]=b[h+2>>1]|0;b[f+(g<<4)+4>>1]=b[h+4>>1]|0;g=g+1|0;if((g|0)==(j|0))break;else h=h+16|0}}c[d+144>>2]=c[e+76>>2];j=c[e+80>>2]|0;i=c[d+152>>2]|0;if((i|0)<(j|0)){if((c[d+156>>2]|0)<(j|0)){if(!j){g=i;h=0}else{c[6472]=(c[6472]|0)+1;f=ic(j<<5|19)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}g=c[d+152>>2]|0;h=f}if((g|0)>0){f=0;do{n=h+(f<<5)|0;m=(c[d+160>>2]|0)+(f<<5)|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];c[n+16>>2]=c[m+16>>2];c[n+20>>2]=c[m+20>>2];c[n+24>>2]=c[m+24>>2];c[n+28>>2]=c[m+28>>2];f=f+1|0}while((f|0)!=(g|0))}f=c[d+160>>2]|0;if(f|0){if(a[d+164>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0)}c[d+160>>2]=0}a[d+164>>0]=1;c[d+160>>2]=h;c[d+156>>2]=j;g=d+160|0}else g=d+160|0;f=i;do{n=(c[g>>2]|0)+(f<<5)|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];c[n+16>>2]=c[o+16>>2];c[n+20>>2]=c[o+20>>2];c[n+24>>2]=c[o+24>>2];c[n+28>>2]=c[o+28>>2];f=f+1|0}while((f|0)!=(j|0))}c[d+152>>2]=j;if((j|0)<=0){l=o;return}g=c[d+160>>2]|0;h=0;f=c[e+72>>2]|0;while(1){b[g+(h<<5)+6>>1]=b[f+14>>1]|0;b[g+(h<<5)+8>>1]=b[f+16>>1]|0;b[g+(h<<5)+10>>1]=b[f+18>>1]|0;b[g+(h<<5)>>1]=b[f+8>>1]|0;b[g+(h<<5)+2>>1]=b[f+10>>1]|0;b[g+(h<<5)+4>>1]=b[f+12>>1]|0;c[g+(h<<5)+12>>2]=c[f>>2];c[g+(h<<5)+16>>2]=c[f+4>>2];h=h+1|0;if((h|0)==(j|0))break;else f=f+20|0}l=o;return}function ld(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;c[b>>2]=3324;d=c[b+192>>2]|0;if(d|0)Ab[c[(c[d>>2]|0)+4>>2]&511](d);a:do if((c[b+1112>>2]|0)>0)do{h=c[c[b+1120>>2]>>2]|0;d=c[h+348>>2]|0;if(d|0){Sg(b+1048|0,d)|0;e=c[b+1052>>2]|0;if(e|0){c[6473]=(c[6473]|0)+1;nd(c[e+-4>>2]|0)}c[b+1052>>2]=d;c[b+1060>>2]=(c[b+1060>>2]|0)+-1}d=c[h+52>>2]|0;if(d|0){if(a[h+56>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[h+52>>2]=0}a[h+56>>0]=1;c[h+52>>2]=0;c[h+44>>2]=0;c[h+48>>2]=0;d=c[h+32>>2]|0;if(d|0){if(a[h+36>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[h+32>>2]=0}a[h+36>>0]=1;c[h+32>>2]=0;c[h+24>>2]=0;c[h+28>>2]=0;d=c[h+12>>2]|0;if(d|0){if(a[h+16>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[h+12>>2]=0}a[h+16>>0]=1;c[h+12>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[6473]=(c[6473]|0)+1;nd(c[h+-4>>2]|0);d=c[b+1112>>2]|0;if((d|0)<=0)break a;g=c[b+1120>>2]|0;e=0;do{f=g+(e<<2)|0;if((c[f>>2]|0)==(h|0)){i=28;break}e=e+1|0}while((e|0)<(d|0));if((i|0)==28){i=0;if((e|0)<(d|0)){c[f>>2]=c[g+(d+-1<<2)>>2];c[(c[b+1120>>2]|0)+(d+-1<<2)>>2]=h;c[b+1112>>2]=d+-1;d=d+-1|0}}}while((d|0)>0);while(0);d=c[b+872>>2]|0;if((d|0)>0){f=0;do{e=c[(c[b+880>>2]|0)+(f<<2)>>2]|0;if(e){c[6473]=(c[6473]|0)+1;nd(c[e+-4>>2]|0);d=c[b+872>>2]|0}f=f+1|0}while((f|0)<(d|0))}d=c[b+852>>2]|0;if((d|0)>0){f=0;do{e=c[(c[b+860>>2]|0)+(f<<2)>>2]|0;if(e){c[6473]=(c[6473]|0)+1;nd(c[e+-4>>2]|0);d=c[b+852>>2]|0}f=f+1|0}while((f|0)<(d|0))}d=c[b+1244>>2]|0;if(d|0){if(a[b+1248>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+1244>>2]=0}a[b+1248>>0]=1;c[b+1244>>2]=0;c[b+1236>>2]=0;c[b+1240>>2]=0;d=c[b+1140>>2]|0;if(d|0){if(a[b+1144>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+1140>>2]=0}a[b+1144>>0]=1;c[b+1140>>2]=0;c[b+1132>>2]=0;c[b+1136>>2]=0;d=c[b+1120>>2]|0;if(d|0){if(a[b+1124>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+1120>>2]=0}a[b+1124>>0]=1;c[b+1120>>2]=0;c[b+1112>>2]=0;c[b+1116>>2]=0;Vh(b+1048|0);Vh(b+988|0);Vh(b+928|0);d=c[b+880>>2]|0;if(d|0){if(a[b+884>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+880>>2]=0}a[b+884>>0]=1;c[b+880>>2]=0;c[b+872>>2]=0;c[b+876>>2]=0;d=c[b+860>>2]|0;if(d|0){if(a[b+864>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+860>>2]=0}a[b+864>>0]=1;c[b+860>>2]=0;c[b+852>>2]=0;c[b+856>>2]=0;d=c[b+840>>2]|0;if(d|0){if(a[b+844>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+840>>2]=0}a[b+844>>0]=1;c[b+840>>2]=0;c[b+832>>2]=0;c[b+836>>2]=0;d=c[b+820>>2]|0;if(d|0){if(a[b+824>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+820>>2]=0}a[b+824>>0]=1;c[b+820>>2]=0;c[b+812>>2]=0;c[b+816>>2]=0;d=c[b+800>>2]|0;if(d|0){if(a[b+804>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+800>>2]=0}a[b+804>>0]=1;c[b+800>>2]=0;c[b+792>>2]=0;c[b+796>>2]=0;d=c[b+780>>2]|0;if(d|0){if(a[b+784>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+780>>2]=0}a[b+784>>0]=1;c[b+780>>2]=0;c[b+772>>2]=0;c[b+776>>2]=0;d=c[b+760>>2]|0;if(d|0){if(a[b+764>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+760>>2]=0}a[b+764>>0]=1;c[b+760>>2]=0;c[b+752>>2]=0;c[b+756>>2]=0;d=c[b+740>>2]|0;if(d|0){if(a[b+744>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+740>>2]=0}a[b+744>>0]=1;c[b+740>>2]=0;c[b+732>>2]=0;c[b+736>>2]=0;d=c[b+720>>2]|0;if(d|0){if(a[b+724>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+720>>2]=0}a[b+724>>0]=1;c[b+720>>2]=0;c[b+712>>2]=0;c[b+716>>2]=0;d=c[b+700>>2]|0;if(d|0){if(a[b+704>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+700>>2]=0}a[b+704>>0]=1;c[b+700>>2]=0;c[b+692>>2]=0;c[b+696>>2]=0;d=c[b+512>>2]|0;if(d|0){if(a[b+516>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+512>>2]=0}a[b+516>>0]=1;c[b+512>>2]=0;c[b+504>>2]=0;c[b+508>>2]=0;d=c[b+492>>2]|0;if(d|0){if(a[b+496>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+492>>2]=0}a[b+496>>0]=1;c[b+492>>2]=0;c[b+484>>2]=0;c[b+488>>2]=0;Yt(b+288|0);d=c[b+276>>2]|0;if(!d){a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;i=b+272|0;c[i>>2]=0;c[b>>2]=5200;return}if(a[b+280>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+276>>2]=0;a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;i=b+272|0;c[i>>2]=0;c[b>>2]=5200;return}function md(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.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,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;B=O(c[l+24>>2]|0,m)|0;y=a[d+44>>0]|0;A=c[d+56>>2]|0;if(!(y<<24>>24!=0|(A|0)!=0)){B=0;return B|0}C=c[(o|0?l+12|0:l+8|0)>>2]|0;m=c[(o|0?l+20|0:l+16|0)>>2]|0;c[C+(B<<2)>>2]=c[n>>2];c[C+(B+1<<2)>>2]=c[n+4>>2];c[C+(B+2<<2)>>2]=c[n+8>>2];g[m+(B<<2)>>2]=-+g[n>>2];g[m+(B+1<<2)>>2]=-+g[n+4>>2];g[m+(B+2<<2)>>2]=-+g[n+8>>2];if(!o){q=+g[b+1176>>2];if(!(a[b+1301>>0]|0)){q=q-+g[e+48>>2];r=+g[b+1180>>2]-+g[e+52>>2];w=+g[b+1184>>2]-+g[e+56>>2];u=+g[n+8>>2];v=+g[n+4>>2];x=+g[n>>2];e=c[l+12>>2]|0;g[e+(B<<2)>>2]=r*u-w*v;g[e+(B+1<<2)>>2]=w*x-q*u;g[e+(B+2<<2)>>2]=q*v-r*x;x=+g[b+1176>>2]-+g[f+48>>2];r=+g[b+1180>>2]-+g[f+52>>2];v=+g[b+1184>>2]-+g[f+56>>2];q=+g[n+8>>2];u=+g[n+4>>2];w=+g[n>>2];e=c[l+20>>2]|0;g[e+(B<<2)>>2]=-(r*q-v*u);r=x*u-r*w;m=e;q=-(v*w-x*q)}else{I=q-+g[f+48>>2];H=+g[b+1180>>2]-+g[f+52>>2];F=+g[b+1184>>2]-+g[f+56>>2];r=+g[n>>2];G=+g[n+4>>2];E=+g[n+8>>2];K=+g[b+1112>>2]-+g[e+48>>2];u=+g[b+1116>>2]-+g[e+52>>2];q=+g[b+1120>>2]-+g[e+56>>2];w=+g[d+52>>2]-+g[d+48>>2];J=r*(r*K+G*u+E*q)+r*w-r*(I*r+H*G+F*E);D=G*(r*K+G*u+E*q)+G*w-G*(I*r+H*G+F*E);w=E*(r*K+G*u+E*q)+E*w-E*(I*r+H*G+F*E);x=+g[b+1272>>2];v=+g[b+1276>>2];t=E*(u-G*(r*K+G*u+E*q)+x*D)-G*(q-E*(r*K+G*u+E*q)+x*w);s=r*(q-E*(r*K+G*u+E*q)+x*w)-E*(K-r*(r*K+G*u+E*q)+x*J);q=G*(K-r*(r*K+G*u+E*q)+x*J)-r*(u-G*(r*K+G*u+E*q)+x*D);u=(H-G*(I*r+H*G+F*E)-v*D)*E-(F-E*(I*r+H*G+F*E)-v*w)*G;w=(F-E*(I*r+H*G+F*E)-v*w)*r-(I-r*(I*r+H*G+F*E)-v*J)*E;r=(I-r*(I*r+H*G+F*E)-v*J)*G-(H-G*(I*r+H*G+F*E)-v*D)*r;if(!((p|0)!=0|(a[b+1280>>0]|0)==0)){r=v*r;u=v*u;w=v*w;t=x*t;s=x*s;q=x*q}e=(c[l+12>>2]|0)+(B<<2)|0;g[e>>2]=t;g[e+4>>2]=s;g[e+8>>2]=q;e=c[l+20>>2]|0;g[e+(B<<2)>>2]=-u;m=e;q=-w}g[e+(B+1<<2)>>2]=q;g[m+(B+2<<2)>>2]=-r}if(A|0?+g[d>>2]==+g[d+4>>2]:0){m=c[l+28>>2]|0;g[m+(B<<2)>>2]=0.0;q=0.0;e=l+28|0}else z=12;do if((z|0)==12){e=c[l+28>>2]|0;g[e+(B<<2)>>2]=0.0;if(!(y<<24>>24)){if(A|0){m=e;q=0.0;e=l+28|0;break}else k=1;return k|0}c[(c[l+32>>2]|0)+(B<<2)>>2]=c[d+28>>2];if(A|0){m=e;q=+g[e+(B<<2)>>2];e=l+28|0;break}v=+g[d+8>>2];t=o|0?v:-v;q=+g[d+52>>2];r=+g[d>>2];s=+g[d+4>>2];u=+g[l>>2]*+g[d+32>>2];do if(!(r>s))if(!(r==s)){if(t/u<0.0)if(q>=r?r-t/u>q:0){q=(r-q)/(t/u);break}else{q=q0.0)if(q<=s?s-t/us?0.0:1.0;break}else q=0.0}else q=0.0;else q=1.0;while(0);g[e+(B<<2)>>2]=q*v+ +g[e+(B<<2)>>2];g[(c[l+36>>2]|0)+(B<<2)>>2]=-+g[d+12>>2];c[(c[l+40>>2]|0)+(B<<2)>>2]=c[d+12>>2];C=1;return C|0}while(0);K=+g[l>>2]*+g[d+32>>2]*+g[d+48>>2];g[m+(B<<2)>>2]=q+(o|0?-K:K);c[(c[l+32>>2]|0)+(B<<2)>>2]=c[d+36>>2];if(+g[d>>2]==+g[d+4>>2]){g[(c[l+36>>2]|0)+(B<<2)>>2]=-3402823466385288598117041.0e14;g[(c[l+40>>2]|0)+(B<<2)>>2]=3402823466385288598117041.0e14;C=1;return C|0}C=c[l+40>>2]|0;g[(c[l+36>>2]|0)+(B<<2)>>2]=(A|0)==1?0.0:-3402823466385288598117041.0e14;g[C+(B<<2)>>2]=(A|0)==1?3402823466385288598117041.0e14:0.0;v=+g[d+40>>2];if(!(v>0.0)){C=1;return C|0}if(o|0){K=+g[n>>2];u=+g[n+4>>2];q=+g[n+8>>2];r=u;s=K;t=q;u=+g[j>>2]*K+ +g[j+4>>2]*u;q=+g[j+8>>2]*q}else{K=+g[n>>2];u=+g[n+4>>2];q=+g[n+8>>2];r=u;s=K;t=q;u=+g[h>>2]*K+ +g[h+4>>2]*u;k=i;q=+g[h+8>>2]*q}q=u+q-(s*+g[k>>2]+r*+g[k+4>>2]+t*+g[k+8>>2]);if((A|0)==1){if(!(q<0.0)){C=1;return C|0}k=(c[e>>2]|0)+(B<<2)|0;if(!(+g[k>>2]<-(q*v))){C=1;return C|0}g[k>>2]=-(q*v);C=1;return C|0}else{if(!(q>0.0)){C=1;return C|0}k=(c[e>>2]|0)+(B<<2)|0;if(!(+g[k>>2]>-(q*v))){C=1;return C|0}g[k>>2]=-(q*v);C=1;return C|0}return 0}function nd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(!a)return;b=c[6478]|0;d=c[a+-4>>2]|0;k=a+-8+(d&-8)|0;do if(!(d&1)){e=c[a+-8>>2]|0;if(!(d&3))return;g=a+-8+(0-e)|0;h=e+(d&-8)|0;if(g>>>0>>0)return;if((g|0)==(c[6479]|0)){a=c[k+4>>2]|0;if((a&3|0)!=3){i=g;j=g;b=h;break}c[6476]=h;c[k+4>>2]=a&-2;c[g+4>>2]=h|1;c[g+h>>2]=h;return}if(e>>>0<256){a=c[g+8>>2]|0;b=c[g+12>>2]|0;if((b|0)==(a|0)){c[6474]=c[6474]&~(1<<(e>>>3));i=g;j=g;b=h;break}else{c[a+12>>2]=b;c[b+8>>2]=a;i=g;j=g;b=h;break}}f=c[g+24>>2]|0;a=c[g+12>>2]|0;do if((a|0)==(g|0)){a=c[g+16+4>>2]|0;if(!a){a=c[g+16>>2]|0;if(!a){a=0;break}else e=g+16|0}else e=g+16+4|0;while(1){d=a+20|0;b=c[d>>2]|0;if(b|0){a=b;e=d;continue}d=a+16|0;b=c[d>>2]|0;if(!b)break;else{a=b;e=d}}c[e>>2]=0}else{j=c[g+8>>2]|0;c[j+12>>2]=a;c[a+8>>2]=j}while(0);if(f){b=c[g+28>>2]|0;if((g|0)==(c[26200+(b<<2)>>2]|0)){c[26200+(b<<2)>>2]=a;if(!a){c[6475]=c[6475]&~(1<>2]|0)!=(g|0)&1)<<2)>>2]=a;if(!a){i=g;j=g;b=h;break}}c[a+24>>2]=f;b=c[g+16>>2]|0;if(b|0){c[a+16>>2]=b;c[b+24>>2]=a}b=c[g+16+4>>2]|0;if(b){c[a+20>>2]=b;c[b+24>>2]=a;i=g;j=g;b=h}else{i=g;j=g;b=h}}else{i=g;j=g;b=h}}else{i=a+-8|0;j=a+-8|0;b=d&-8}while(0);if(i>>>0>=k>>>0)return;d=c[k+4>>2]|0;if(!(d&1))return;if(!(d&2)){a=c[6479]|0;if((k|0)==(c[6480]|0)){k=(c[6477]|0)+b|0;c[6477]=k;c[6480]=j;c[j+4>>2]=k|1;if((j|0)!=(a|0))return;c[6479]=0;c[6476]=0;return}if((k|0)==(a|0)){k=(c[6476]|0)+b|0;c[6476]=k;c[6479]=i;c[j+4>>2]=k|1;c[i+k>>2]=k;return}f=(d&-8)+b|0;do if(d>>>0<256){b=c[k+8>>2]|0;a=c[k+12>>2]|0;if((a|0)==(b|0)){c[6474]=c[6474]&~(1<<(d>>>3));break}else{c[b+12>>2]=a;c[a+8>>2]=b;break}}else{g=c[k+24>>2]|0;a=c[k+12>>2]|0;do if((a|0)==(k|0)){a=c[k+16+4>>2]|0;if(!a){a=c[k+16>>2]|0;if(!a){b=0;break}else e=k+16|0}else e=k+16+4|0;while(1){d=a+20|0;b=c[d>>2]|0;if(b|0){a=b;e=d;continue}d=a+16|0;b=c[d>>2]|0;if(!b)break;else{a=b;e=d}}c[e>>2]=0;b=a}else{b=c[k+8>>2]|0;c[b+12>>2]=a;c[a+8>>2]=b;b=a}while(0);if(g|0){a=c[k+28>>2]|0;if((k|0)==(c[26200+(a<<2)>>2]|0)){c[26200+(a<<2)>>2]=b;if(!b){c[6475]=c[6475]&~(1<>2]|0)!=(k|0)&1)<<2)>>2]=b;if(!b)break}c[b+24>>2]=g;a=c[k+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[k+16+4>>2]|0;if(a|0){c[b+20>>2]=a;c[a+24>>2]=b}}}while(0);c[j+4>>2]=f|1;c[i+f>>2]=f;if((j|0)==(c[6479]|0)){c[6476]=f;return}}else{c[k+4>>2]=d&-2;c[j+4>>2]=b|1;c[i+b>>2]=b;f=b}d=f>>>3;if(f>>>0<256){a=c[6474]|0;if(!(a&1<>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=25936+(d<<1<<2);return}a=f>>>8;if(a)if(f>>>0>16777215)b=31;else{b=a<<((a+1048320|0)>>>16&8)<<(((a<<((a+1048320|0)>>>16&8))+520192|0)>>>16&4);b=14-(((a<<((a+1048320|0)>>>16&8))+520192|0)>>>16&4|(a+1048320|0)>>>16&8|(b+245760|0)>>>16&2)+(b<<((b+245760|0)>>>16&2)>>>15)|0;b=f>>>(b+7|0)&1|b<<1}else b=0;e=26200+(b<<2)|0;c[j+28>>2]=b;c[j+20>>2]=0;c[j+16>>2]=0;a=c[6475]|0;d=1<>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(f|0)){a=73;break}e=d+16+(b>>>31<<2)|0;a=c[e>>2]|0;if(!a){a=72;break}else{b=b<<1;d=a}}if((a|0)==72){c[e>>2]=j;c[j+24>>2]=d;c[j+12>>2]=j;c[j+8>>2]=j;break}else if((a|0)==73){i=d+8|0;k=c[i>>2]|0;c[k+12>>2]=j;c[i>>2]=j;c[j+8>>2]=k;c[j+12>>2]=d;c[j+24>>2]=0;break}}else{c[6475]=a|d;c[e>>2]=j;c[j+24>>2]=e;c[j+12>>2]=j;c[j+8>>2]=j}while(0);k=(c[6482]|0)+-1|0;c[6482]=k;if(!k)a=26352;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[6482]=-1;return}function od(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 k=0.0,m=0,n=0.0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0.0;u=l;l=l+288|0;q=c[b+4>>2]|0;a[q+312>>0]=0;c[q>>2]=0;a[q+356>>0]=1;c[q+292>>2]=1566444395;c[q+296>>2]=1566444395;c[q+300>>2]=1566444395;g[q+304>>2]=0.0;c[q+336>>2]=0;c[q+336+4>>2]=0;c[q+336+8>>2]=0;c[q+336+12>>2]=0;a[q+336+16>>0]=0;a[q+332>>0]=a[q+332>>0]&-16;r=+g[e+48>>2]-+g[d+48>>2]-(+g[h+48>>2]-+g[f+48>>2]);t=+g[e+52>>2]-+g[d+52>>2]-(+g[h+52>>2]-+g[f+52>>2]);s=+g[e+56>>2]-+g[d+56>>2]-(+g[h+56>>2]-+g[f+56>>2]);c[u+216>>2]=9352;g[u+216+36>>2]=999999984306749440.0;a[u+216+40>>0]=0;q=c[b+8>>2]|0;p=c[b+12>>2]|0;o=c[b+4>>2]|0;c[u+136>>2]=9400;c[u+136+4>>2]=0;c[u+136+8>>2]=1065353216;c[u+136+12>>2]=0;g[u+136+16>>2]=0.0;c[u+136+20>>2]=0;c[u+136+24>>2]=o;c[u+136+28>>2]=q;c[u+136+32>>2]=p;c[u+136+36>>2]=c[q+4>>2];c[u+136+40>>2]=c[p+4>>2];g[u+136+44>>2]=+gb[c[(c[q>>2]|0)+48>>2]&15](q);g[u+136+48>>2]=+gb[c[(c[p>>2]|0)+48>>2]&15](p);a[u+136+52>>0]=0;c[u+136+60>>2]=-1;c[u+136+72>>2]=1;c[u+136+76>>2]=1;g[u+128>>2]=999999984306749440.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];c[u+16>>2]=c[d+16>>2];c[u+16+4>>2]=c[d+16+4>>2];c[u+16+8>>2]=c[d+16+8>>2];c[u+16+12>>2]=c[d+16+12>>2];c[u+32>>2]=c[d+32>>2];c[u+32+4>>2]=c[d+32+4>>2];c[u+32+8>>2]=c[d+32+8>>2];c[u+32+12>>2]=c[d+32+12>>2];c[u+48>>2]=c[d+48>>2];c[u+48+4>>2]=c[d+48+4>>2];c[u+48+8>>2]=c[d+48+8>>2];c[u+48+12>>2]=c[d+48+12>>2];c[u+64>>2]=c[f>>2];c[u+64+4>>2]=c[f+4>>2];c[u+64+8>>2]=c[f+8>>2];c[u+64+12>>2]=c[f+12>>2];c[u+80>>2]=c[f+16>>2];c[u+80+4>>2]=c[f+16+4>>2];c[u+80+8>>2]=c[f+16+8>>2];c[u+80+12>>2]=c[f+16+12>>2];c[u+96>>2]=c[f+32>>2];c[u+96+4>>2]=c[f+32+4>>2];c[u+96+8>>2]=c[f+32+8>>2];c[u+96+12>>2]=c[f+32+12>>2];c[u+112>>2]=c[f+48>>2];c[u+112+4>>2]=c[f+48+4>>2];c[u+112+8>>2]=c[f+48+8>>2];c[u+112+12>>2]=c[f+48+12>>2];Bc(u+136|0,u,u+216|0,0,0);p=(a[u+216+40>>0]|0)==0;q=u+216+20|0;c[u+264>>2]=c[q>>2];c[u+264+4>>2]=c[q+4>>2];c[u+264+8>>2]=c[q+8>>2];c[u+264+12>>2]=c[q+12>>2];if(p){i=0;l=u;return i|0}n=+g[u+216+36>>2];k=+g[u+216+16>>2];b=c[u+216+12>>2]|0;m=c[u+216+8>>2]|0;o=c[u+216+4>>2]|0;do if(n>1.0000000474974513e-03){k=0.0;p=0;while(1){if((p|0)>31){b=0;p=13;break}w=r*(c[j>>2]=o,+g[j>>2]);w=t*(c[j>>2]=m,+g[j>>2])+w;v=k;k=k-n/(s*(c[j>>2]=b,+g[j>>2])+w);if(!(!(k<=v)&(!(k<0.0)&!(k>1.0)))){b=0;p=13;break}Bb[c[c[i>>2]>>2]&31](i,k);w=1.0-k;g[u+48>>2]=w*+g[d+48>>2]+k*+g[e+48>>2];g[u+52>>2]=w*+g[d+52>>2]+k*+g[e+52>>2];g[u+56>>2]=w*+g[d+56>>2]+k*+g[e+56>>2];g[u+112>>2]=w*+g[f+48>>2]+k*+g[h+48>>2];g[u+116>>2]=w*+g[f+52>>2]+k*+g[h+52>>2];g[u+120>>2]=w*+g[f+56>>2]+k*+g[h+56>>2];Bc(u+136|0,u,u+216|0,0,0);if(!(a[u+216+40>>0]|0)){b=0;p=13;break}n=+g[u+216+36>>2];if(n<0.0){p=8;break}c[u+264>>2]=c[q>>2];c[u+264+4>>2]=c[q+4>>2];c[u+264+8>>2]=c[q+8>>2];c[u+264+12>>2]=c[q+12>>2];b=c[u+216+12>>2]|0;m=c[u+216+8>>2]|0;o=c[u+216+4>>2]|0;if(!(n>1.0000000474974513e-03)){p=10;break}else p=p+1|0}if((p|0)==8){g[i+164>>2]=k;f=c[u+216+8>>2]|0;e=c[u+216+12>>2]|0;h=c[u+216+16>>2]|0;c[i+132>>2]=c[u+216+4>>2];c[i+136>>2]=f;c[i+140>>2]=e;c[i+144>>2]=h;c[i+148>>2]=c[q>>2];c[i+148+4>>2]=c[q+4>>2];c[i+148+8>>2]=c[q+8>>2];c[i+148+12>>2]=c[q+12>>2];i=1;l=u;return i|0}else if((p|0)==10){n=k;k=+g[u+216+16>>2];break}else if((p|0)==13){l=u;return b|0}}else n=0.0;while(0);w=r*(c[j>>2]=o,+g[j>>2]);w=t*(c[j>>2]=m,+g[j>>2])+w;if(s*(c[j>>2]=b,+g[j>>2])+w>=-+g[i+172>>2]){i=0;l=u;return i|0}g[i+164>>2]=n;c[i+132>>2]=o;c[i+136>>2]=m;c[i+140>>2]=b;g[i+144>>2]=k;c[i+148>>2]=c[u+264>>2];c[i+148+4>>2]=c[u+264+4>>2];c[i+148+8>>2]=c[u+264+8>>2];c[i+148+12>>2]=c[u+264+12>>2];i=1;l=u;return i|0}function pd(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,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;m=l;l=l+240|0;c[a+4>>2]=(c[a+4>>2]|0)+1;j=c[b+36>>2]|0;i=c[d+36>>2]|0;f=c[a+8>>2]|0;K=c[(c[f+4>>2]|0)+24>>2]|0;d=c[K+(j*80|0)+64>>2]|0;b=(c[(c[a+12>>2]|0)+4>>2]|0)+24|0;e=c[(c[b>>2]|0)+(i*80|0)+64>>2]|0;f=c[f+12>>2]|0;n=+g[f>>2];I=+g[f+4>>2];J=+g[f+8>>2];q=+g[f+16>>2];s=+g[f+20>>2];u=+g[f+24>>2];r=+g[f+32>>2];v=+g[f+36>>2];D=+g[f+40>>2];w=+g[K+(j*80|0)>>2];x=+g[K+(j*80|0)+16>>2];y=+g[K+(j*80|0)+32>>2];z=+g[K+(j*80|0)+4>>2];A=+g[K+(j*80|0)+20>>2];B=+g[K+(j*80|0)+36>>2];t=+g[K+(j*80|0)+8>>2];C=+g[K+(j*80|0)+24>>2];E=+g[K+(j*80|0)+40>>2];o=+g[K+(j*80|0)+48>>2];p=+g[K+(j*80|0)+52>>2];H=+g[K+(j*80|0)+56>>2];F=+g[f+48>>2]+(n*o+I*p+J*H);G=+g[f+52>>2]+(q*o+s*p+u*H);H=+g[f+56>>2]+(r*o+v*p+D*H);g[m+176>>2]=n*w+I*x+J*y;g[m+176+4>>2]=n*z+I*A+J*B;g[m+176+8>>2]=n*t+I*C+J*E;g[m+176+12>>2]=0.0;g[m+176+16>>2]=q*w+s*x+u*y;g[m+176+20>>2]=q*z+s*A+u*B;g[m+176+24>>2]=q*t+s*C+u*E;g[m+176+28>>2]=0.0;g[m+176+32>>2]=r*w+v*x+D*y;g[m+176+36>>2]=r*z+v*A+D*B;g[m+176+40>>2]=r*t+v*C+D*E;g[m+176+44>>2]=0.0;g[m+176+48>>2]=F;g[m+176+52>>2]=G;g[m+176+56>>2]=H;g[m+176+60>>2]=0.0;f=c[(c[a+12>>2]|0)+12>>2]|0;H=+g[f>>2];G=+g[f+4>>2];F=+g[f+8>>2];E=+g[f+16>>2];D=+g[f+20>>2];C=+g[f+24>>2];v=+g[f+32>>2];t=+g[f+36>>2];r=+g[f+40>>2];b=c[b>>2]|0;B=+g[b+(i*80|0)>>2];A=+g[b+(i*80|0)+16>>2];z=+g[b+(i*80|0)+32>>2];y=+g[b+(i*80|0)+4>>2];x=+g[b+(i*80|0)+20>>2];w=+g[b+(i*80|0)+36>>2];u=+g[b+(i*80|0)+8>>2];s=+g[b+(i*80|0)+24>>2];q=+g[b+(i*80|0)+40>>2];J=+g[b+(i*80|0)+48>>2];I=+g[b+(i*80|0)+52>>2];n=+g[b+(i*80|0)+56>>2];p=+g[f+48>>2]+(H*J+G*I+F*n);o=+g[f+52>>2]+(E*J+D*I+C*n);n=+g[f+56>>2]+(v*J+t*I+r*n);g[m+112>>2]=H*B+G*A+F*z;g[m+112+4>>2]=H*y+G*x+F*w;g[m+112+8>>2]=H*u+G*s+F*q;g[m+112+12>>2]=0.0;g[m+112+16>>2]=E*B+D*A+C*z;g[m+112+20>>2]=E*y+D*x+C*w;g[m+112+24>>2]=E*u+D*s+C*q;g[m+112+28>>2]=0.0;g[m+112+32>>2]=v*B+t*A+r*z;g[m+112+36>>2]=v*y+t*x+r*w;g[m+112+40>>2]=v*u+t*s+r*q;g[m+112+44>>2]=0.0;g[m+112+48>>2]=p;g[m+112+52>>2]=o;g[m+112+56>>2]=n;g[m+112+60>>2]=0.0;Nb[c[(c[d>>2]|0)+8>>2]&127](d,m+176|0,m+96|0,m+80|0);Nb[c[(c[e>>2]|0)+8>>2]&127](e,m+112|0,m+64|0,m+48|0);if(!(+g[m+96>>2]>+g[m+48>>2])?!(+g[m+80>>2]<+g[m+64>>2]):0)b=1;else b=0;if(!(!(+g[m+96+8>>2]>+g[m+48+8>>2])?!(+g[m+80+8>>2]<+g[m+64+8>>2]):0))b=0;if(+g[m+96+4>>2]>+g[m+48+4>>2]){l=m;return}if(+g[m+80+4>>2]<+g[m+64+4>>2]|b^1){l=m;return}f=c[a+8>>2]|0;b=c[f+8>>2]|0;c[m+24>>2]=f;c[m+24+4>>2]=d;c[m+24+8>>2]=b;c[m+24+12>>2]=m+176;c[m+24+16>>2]=-1;c[m+24+20>>2]=j;b=c[a+12>>2]|0;f=c[b+8>>2]|0;c[m>>2]=b;c[m+4>>2]=e;c[m+8>>2]=f;c[m+12>>2]=m+112;c[m+16>>2]=-1;c[m+20>>2]=i;f=c[a+28>>2]|0;c[6460]=(c[6460]|0)+1;b=((i<<16|j)+~((i<<16|j)<<15)>>10^(i<<16|j)+~((i<<16|j)<<15))*9|0;b=(c[f+12>>2]|0)+-1&((b>>6^b)+~((b>>6^b)<<11)>>16^(b>>6^b)+~((b>>6^b)<<11));a:do if((b|0)<(c[f+32>>2]|0)?(h=c[(c[f+40>>2]|0)+(b<<2)>>2]|0,(h|0)!=-1):0){e=c[f+16>>2]|0;b=h;while(1){d=e+(b*12|0)|0;if((c[d>>2]|0)==(j|0)?(c[e+(b*12|0)+4>>2]|0)==(i|0):0)break;b=c[(c[f+60>>2]|0)+(b<<2)>>2]|0;if((b|0)==-1){k=16;break a}}if(d)b=c[e+(b*12|0)+8>>2]|0;else k=16}else k=16;while(0);if((k|0)==16){b=c[a+16>>2]|0;b=vb[c[(c[b>>2]|0)+8>>2]&31](b,m+24|0,m,c[a+32>>2]|0)|0;K=c[a+28>>2]|0;c[(ub[c[(c[K>>2]|0)+12>>2]&63](K,j,i)|0)+8>>2]=b}K=c[a+24>>2]|0;h=c[K+8>>2]|0;k=c[K+12>>2]|0;c[K+8>>2]=m+24;c[K+12>>2]=m;Kb[c[(c[K>>2]|0)+8>>2]&127](K,-1,j);K=c[a+24>>2]|0;Kb[c[(c[K>>2]|0)+12>>2]&127](K,-1,i);Rb[c[(c[b>>2]|0)+8>>2]&31](b,m+24|0,m,c[a+20>>2]|0,c[a+24>>2]|0);K=c[a+24>>2]|0;c[K+8>>2]=h;c[K+12>>2]=k;l=m;return}function qd(a,d,f,h,i,j,k,m,n){a=a|0;d=d|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+16|0;hj(a,v+6|0,+g[d>>2],+g[d+4>>2],+g[d+8>>2],0);hj(a,v,+g[f>>2],+g[f+4>>2],+g[f+8>>2],1);u=b[a+64>>1]|0;t=c[a+60>>2]|0;b[a+64>>1]=b[t+((u&65535)<<6)+48>>1]|0;p=(b[a+56>>1]|0)+1<<16>>16;b[a+56>>1]=p;c[t+((u&65535)<<6)+12>>2]=u&65535;c[t+((u&65535)<<6)>>2]=i;b[t+((u&65535)<<6)+4>>1]=j;b[t+((u&65535)<<6)+6>>1]=k;c[t+((u&65535)<<6)+8>>2]=n;r=(p&65535)<<1&65534;b[t+54>>1]=(e[t+54>>1]|0)+2;o=c[a+68>>2]|0;n=e[o+(r+-1<<2)>>1]|e[o+(r+-1<<2)+2>>1]<<16;b[o+((r|1)<<2)>>1]=n;b[o+((r|1)<<2)+2>>1]=n>>>16;o=c[a+68>>2]|0;b[o+(r+-1<<2)>>1]=b[v+6>>1]|0;b[o+(r+-1<<2)+2>>1]=u;b[o+(r<<2)>>1]=b[v>>1]|0;b[o+(r<<2)+2>>1]=u;b[t+((u&65535)<<6)+48>>1]=r+-1;b[t+((u&65535)<<6)+54>>1]=(p&65535)<<1;o=(c[a+60>>2]|0)+56|0;b[o>>1]=(e[o>>1]|0)+2;o=c[a+72>>2]|0;n=e[o+(r+-1<<2)>>1]|e[o+(r+-1<<2)+2>>1]<<16;b[o+((r|1)<<2)>>1]=n;b[o+((r|1)<<2)+2>>1]=n>>>16;o=c[a+72>>2]|0;b[o+(r+-1<<2)>>1]=b[v+6+2>>1]|0;b[o+(r+-1<<2)+2>>1]=u;b[o+(r<<2)>>1]=b[v+2>>1]|0;b[o+(r<<2)+2>>1]=u;b[t+((u&65535)<<6)+50>>1]=r+-1;b[t+((u&65535)<<6)+56>>1]=(p&65535)<<1;o=(c[a+60>>2]|0)+58|0;b[o>>1]=(e[o>>1]|0)+2;o=c[a+76>>2]|0;n=e[o+(r+-1<<2)>>1]|e[o+(r+-1<<2)+2>>1]<<16;b[o+((r|1)<<2)>>1]=n;b[o+((r|1)<<2)+2>>1]=n>>>16;o=c[a+76>>2]|0;b[o+(r+-1<<2)>>1]=b[v+6+4>>1]|0;b[o+(r+-1<<2)+2>>1]=u;b[o+(r<<2)>>1]=b[v+4>>1]|0;b[o+(r<<2)+2>>1]=u;b[t+((u&65535)<<6)+52>>1]=r+-1;b[t+((u&65535)<<6)+58>>1]=(p&65535)<<1;p=c[a+68>>2]|0;r=e[t+((u&65535)<<6)+48>>1]|0;o=c[a+60>>2]|0;n=b[p+(r<<2)+-4>>1]|0;if((e[p+(r<<2)>>1]|0)<(n&65535)){s=o+((e[p+(r<<2)+2>>1]|0)<<6)+48|0;q=p+(r<<2)|0;p=p+(r<<2)+-4|0;while(1){r=e[q+-2>>1]|0;n=(n&1)==0?o+(r<<6)+48|0:o+(r<<6)+54|0;b[n>>1]=(b[n>>1]|0)+1<<16>>16;b[s>>1]=(b[s>>1]|0)+-1<<16>>16;n=e[q>>1]|e[q+2>>1]<<16;r=e[p>>1]|e[p+2>>1]<<16;b[q>>1]=r;b[q+2>>1]=r>>>16;b[p>>1]=n;b[p+2>>1]=n>>>16;q=q+-4|0;p=p+-4|0;n=b[p>>1]|0;if((e[q>>1]|0)>=(n&65535))break;o=c[a+60>>2]|0}n=c[a+68>>2]|0}else n=p;o=e[t+((u&65535)<<6)+54>>1]|0;r=n+(o<<2)|0;p=b[r+-4>>1]|0;a:do if((e[r>>1]|0)<(p&65535)){q=c[a+60>>2]|0;s=q+((e[n+(o<<2)+2>>1]|0)<<6)+54|0;n=p;p=r;o=r+-4|0;while(1){r=e[p+-2>>1]|0;n=(n&1)==0?q+(r<<6)+48|0:q+(r<<6)+54|0;b[n>>1]=(b[n>>1]|0)+1<<16>>16;b[s>>1]=(b[s>>1]|0)+-1<<16>>16;n=e[p>>1]|e[p+2>>1]<<16;r=e[o>>1]|e[o+2>>1]<<16;b[p>>1]=r;b[p+2>>1]=r>>>16;b[o>>1]=n;b[o+2>>1]=n>>>16;p=p+-4|0;o=o+-4|0;n=b[o>>1]|0;if((e[p>>1]|0)>=(n&65535))break a;q=c[a+60>>2]|0}}while(0);p=c[a+72>>2]|0;r=e[t+((u&65535)<<6)+50>>1]|0;o=c[a+60>>2]|0;n=b[p+(r<<2)+-4>>1]|0;if((e[p+(r<<2)>>1]|0)<(n&65535)){s=o+((e[p+(r<<2)+2>>1]|0)<<6)+50|0;q=p+(r<<2)|0;p=p+(r<<2)+-4|0;while(1){r=e[q+-2>>1]|0;n=(n&1)==0?o+(r<<6)+50|0:o+(r<<6)+56|0;b[n>>1]=(b[n>>1]|0)+1<<16>>16;b[s>>1]=(b[s>>1]|0)+-1<<16>>16;n=e[q>>1]|e[q+2>>1]<<16;r=e[p>>1]|e[p+2>>1]<<16;b[q>>1]=r;b[q+2>>1]=r>>>16;b[p>>1]=n;b[p+2>>1]=n>>>16;q=q+-4|0;p=p+-4|0;n=b[p>>1]|0;if((e[q>>1]|0)>=(n&65535))break;o=c[a+60>>2]|0}n=c[a+72>>2]|0}else n=p;o=e[t+((u&65535)<<6)+56>>1]|0;r=n+(o<<2)|0;p=b[r+-4>>1]|0;b:do if((e[r>>1]|0)<(p&65535)){q=c[a+60>>2]|0;s=q+((e[n+(o<<2)+2>>1]|0)<<6)+56|0;n=p;p=r;o=r+-4|0;while(1){r=e[p+-2>>1]|0;n=(n&1)==0?q+(r<<6)+50|0:q+(r<<6)+56|0;b[n>>1]=(b[n>>1]|0)+1<<16>>16;b[s>>1]=(b[s>>1]|0)+-1<<16>>16;n=e[p>>1]|e[p+2>>1]<<16;r=e[o>>1]|e[o+2>>1]<<16;b[p>>1]=r;b[p+2>>1]=r>>>16;b[o>>1]=n;b[o+2>>1]=n>>>16;p=p+-4|0;o=o+-4|0;n=b[o>>1]|0;if((e[p>>1]|0)>=(n&65535))break b;q=c[a+60>>2]|0}}while(0);kh(a,2,b[t+((u&65535)<<6)+52>>1]|0);gh(a,2,b[t+((u&65535)<<6)+58>>1]|0,m);o=c[a+60>>2]|0;n=c[a+108>>2]|0;if(!n){i=o+((u&65535)<<6)|0;l=v;return i|0}c[o+((u&65535)<<6)+60>>2]=xb[c[(c[n>>2]|0)+8>>2]&3](n,d,f,h,i,j,k,m,0)|0;i=o+((u&65535)<<6)|0;l=v;return i|0}function rd(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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;i=c[d+8>>2]|0;if(!i){a=0;return a|0}j=i;D=i;i=0;do{if((c[D+20>>2]|0)>(c[a+100>>2]|0)){y=c[D+12>>2]|0;w=c[y+88>>2]|0;A=w-(c[d+88>>2]|0)|0;x=c[y+92>>2]|0;B=x-(c[d+92>>2]|0)|0;y=c[y+96>>2]|0;C=y-(c[d+96>>2]|0)|0;k=rs(A|0,((A|0)<0)<<31>>31|0,c[g>>2]|0,c[g+4>>2]|0)|0;n=z;j=rs(B|0,((B|0)<0)<<31>>31|0,c[g+8>>2]|0,c[g+8+4>>2]|0)|0;n=cw(j|0,z|0,k|0,n|0)|0;k=z;j=rs(C|0,((C|0)<0)<<31>>31|0,c[g+16>>2]|0,c[g+16+4>>2]|0)|0;j=cw(n|0,k|0,j|0,z|0)|0;k=z;n=rs(c[f>>2]|0,c[f+4>>2]|0,A|0,((A|0)<0)<<31>>31|0)|0;v=z;l=rs(c[f+8>>2]|0,c[f+8+4>>2]|0,B|0,((B|0)<0)<<31>>31|0)|0;v=cw(l|0,z|0,n|0,v|0)|0;n=z;l=rs(c[f+16>>2]|0,c[f+16+4>>2]|0,C|0,((C|0)<0)<<31>>31|0)|0;l=cw(v|0,n|0,l|0,z|0)|0;n=z;if((k|0)>0|(k|0)==0&j>>>0>0){u=j;v=k;j=1}else{u=Nv(0,0,j|0,k|0)|0;u=(j|0)!=0|(k|0)!=0?u:0;v=(j|0)!=0|(k|0)!=0?z:0;j=((j|0)!=0|(k|0)!=0)<<31>>31}if(!((n|0)>0|(n|0)==0&l>>>0>0)){k=Nv(0,0,l|0,n|0)|0;m=(l|0)!=0|(n|0)!=0?0-j|0:j;k=(l|0)!=0|(n|0)!=0?k:0;j=(l|0)!=0|(n|0)!=0?z:0;if(!((m|0)==0&((k|0)==0&(j|0)==0))){n=j;o=8}}else{k=l;m=j;o=8}a:do if((o|0)==8){o=0;if(!i){c[h>>2]=u;c[h+4>>2]=v;c[h+8>>2]=k;c[h+8+4>>2]=n;c[h+16>>2]=m;i=D;break}j=c[h+16>>2]|0;if((m|0)==(j|0)){if(m|0){o=c[h+8>>2]|0;r=c[h+8+4>>2]|0;l=rs(o|0,0,u|0,0)|0;j=z;s=rs(r|0,0,u|0,0)|0;q=z;o=rs(o|0,0,v|0,0)|0;p=z;r=rs(r|0,0,v|0,0)|0;G=z;o=cw(s|0,0,o|0,0)|0;s=z;G=cw(q|0,0,r|0,G|0)|0;p=cw(G|0,z|0,p|0,0)|0;s=cw(p|0,z|0,s|0,0)|0;p=z;j=cw(0,o|0,l|0,j|0)|0;l=z;o=cw(s|0,p|0,(l>>>0>>0|(l|0)==(o|0)&j>>>0<0)&1|0,0)|0;p=z;s=c[h>>2]|0;G=c[h+4>>2]|0;r=rs(s|0,0,k|0,0)|0;q=z;E=rs(G|0,0,k|0,0)|0;H=z;s=rs(s|0,0,n|0,0)|0;t=z;G=rs(G|0,0,n|0,0)|0;F=z;s=cw(E|0,0,s|0,0)|0;E=z;F=cw(H|0,0,G|0,F|0)|0;t=cw(F|0,z|0,t|0,0)|0;E=cw(t|0,z|0,E|0,0)|0;t=z;q=cw(0,s|0,r|0,q|0)|0;r=z;s=cw(E|0,t|0,(r>>>0>>0|(r|0)==(s|0)&q>>>0<0)&1|0,0)|0;t=z;if(!(p>>>0>>0|(p|0)==(t|0)&o>>>0>>0))if(!(p>>>0>t>>>0|(p|0)==(t|0)&o>>>0>s>>>0))if(l>>>0>>0|(l|0)==(r|0)&j>>>0>>0)j=-1;else j=(l>>>0>r>>>0|(l|0)==(r|0)&j>>>0>q>>>0)&1;else j=1;else j=-1;j=O(j,m)|0;o=18}}else{j=m-j|0;o=18}do if((o|0)==18){o=0;if((j|0)>=0)if(!j)break;else break a;else{c[h>>2]=u;c[h+4>>2]=v;c[h+8>>2]=k;c[h+8+4>>2]=n;c[h+16>>2]=m;i=D;break a}}while(0);j=(c[i+4>>2]|0)==(D|0);if((c[i>>2]|0)==(D|0))if(j){H=c[e+8>>2]|0;E=O(H,B)|0;u=c[e+4>>2]|0;E=E-(O(u,C)|0)|0;G=c[e>>2]|0;H=(O(G,C)|0)-(O(A,H)|0)|0;G=(O(A,u)|0)-(O(G,B)|0)|0;u=c[i+12>>2]|0;j=c[(c[D+8>>2]|0)+12>>2]|0;B=c[j+88>>2]|0;A=(c[u+88>>2]|0)-B|0;v=c[j+92>>2]|0;C=(c[u+92>>2]|0)-v|0;j=c[j+96>>2]|0;u=(c[u+96>>2]|0)-j|0;F=(O(y-j|0,C)|0)-(O(x-v|0,u)|0)|0;j=(O(w-B|0,u)|0)-(O(y-j|0,A)|0)|0;C=(O(x-v|0,A)|0)-(O(w-B|0,C)|0)|0;E=rs(F|0,((F|0)<0)<<31>>31|0,E|0,((E|0)<0)<<31>>31|0)|0;F=z;H=rs(j|0,((j|0)<0)<<31>>31|0,H|0,((H|0)<0)<<31>>31|0)|0;j=z;G=rs(C|0,((C|0)<0)<<31>>31|0,G|0,((G|0)<0)<<31>>31|0)|0;G=cw(E|0,F|0,G|0,z|0)|0;j=cw(G|0,z|0,H|0,j|0)|0;H=z;j=(H|0)>0|(H|0)==0&j>>>0>0?2:1}else j=2;else j=j&1;i=(j|0)==2^b?i:D}while(0);j=c[d+8>>2]|0}D=c[D>>2]|0}while((D|0)!=(j|0));return i|0}function sd(d,e,f,h){d=d|0;e=e|0;f=f|0;h=h|0;var i=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.0,v=0.0,w=0,x=0.0,y=0,z=0.0,A=0.0,B=0.0;k=+g[e>>2];m=(g[j>>2]=k,c[j>>2]|0);r=k<999999984306749440.0?m:1566444395;i=+g[e+4>>2];o=(g[j>>2]=i,c[j>>2]|0);t=i<999999984306749440.0?o:1566444395;z=+g[e+8>>2];q=(g[j>>2]=z,c[j>>2]|0);y=z<999999984306749440.0?q:1566444395;m=k>-999999984306749440.0?m:-581039253;o=i>-999999984306749440.0?o:-581039253;q=z>-999999984306749440.0?q:-581039253;z=+g[e+16>>2];w=z<(c[j>>2]=r,+g[j>>2]);l=(g[j>>2]=z,c[j>>2]|0);r=w?l:r;i=+g[e+20>>2];w=i<(c[j>>2]=t,+g[j>>2]);n=(g[j>>2]=i,c[j>>2]|0);t=w?n:t;k=+g[e+24>>2];w=k<(c[j>>2]=y,+g[j>>2]);p=(g[j>>2]=k,c[j>>2]|0);y=w?p:y;w=(c[j>>2]=m,+g[j>>2])>2]=o,+g[j>>2])>2]=q,+g[j>>2])>2];m=z<(c[j>>2]=r,+g[j>>2]);o=(g[j>>2]=z,c[j>>2]|0);r=m?o:r;k=+g[e+36>>2];m=k<(c[j>>2]=t,+g[j>>2]);p=(g[j>>2]=k,c[j>>2]|0);m=m?p:t;i=+g[e+40>>2];l=i<(c[j>>2]=y,+g[j>>2]);n=(g[j>>2]=i,c[j>>2]|0);l=l?n:y;o=(c[j>>2]=w,+g[j>>2])>2]=s,+g[j>>2])>2]=q,+g[j>>2])>2]=o,+g[j>>2]);k=(c[j>>2]=r,+g[j>>2]);if(i-k<2.0000000949949026e-03){o=(g[j>>2]=i+1.0000000474974513e-03,c[j>>2]|0);n=(g[j>>2]=k+-1.0000000474974513e-03,c[j>>2]|0)}else n=r;i=(c[j>>2]=p,+g[j>>2]);k=(c[j>>2]=m,+g[j>>2]);if(i-k<2.0000000949949026e-03){p=(g[j>>2]=i+1.0000000474974513e-03,c[j>>2]|0);m=(g[j>>2]=k+-1.0000000474974513e-03,c[j>>2]|0)}i=(c[j>>2]=q,+g[j>>2]);k=(c[j>>2]=l,+g[j>>2]);if(i-k<2.0000000949949026e-03){q=(g[j>>2]=i+1.0000000474974513e-03,c[j>>2]|0);l=(g[j>>2]=k+-1.0000000474974513e-03,c[j>>2]|0)}r=c[d+8>>2]|0;k=+g[r+4>>2];z=(c[j>>2]=n,+g[j>>2])-k;i=+g[r+8>>2];x=(c[j>>2]=m,+g[j>>2])-i;B=+g[r+12>>2];u=+g[r+36>>2];v=+g[r+40>>2];A=+g[r+44>>2];r=~~(((c[j>>2]=l,+g[j>>2])-B)*A)&65535&-2;k=(c[j>>2]=o,+g[j>>2])-k;i=(c[j>>2]=p,+g[j>>2])-i;q=~~(((c[j>>2]=q,+g[j>>2])-B)*A+1.0)&65535|1;p=c[d+4>>2]|0;l=c[p+4>>2]|0;if((l|0)!=(c[p+8>>2]|0)){d=l;y=p+12|0;y=c[y>>2]|0;w=y+(d<<4)|0;b[w>>1]=~~(z*u)&65535&-2;w=y+(d<<4)+2|0;b[w>>1]=~~(x*v)&65535&-2;w=y+(d<<4)+4|0;b[w>>1]=r;w=y+(d<<4)+6|0;b[w>>1]=~~(k*u+1.0)&65535|1;w=y+(d<<4)+8|0;b[w>>1]=~~(i*v+1.0)&65535|1;w=y+(d<<4)+10|0;b[w>>1]=q;d=y+(d<<4)+12|0;c[d>>2]=f<<21|h;h=c[p+4>>2]|0;h=h+1|0;c[p+4>>2]=h;return}o=l|0?l<<1:1;if((l|0)>=(o|0)){d=l;y=p+12|0;y=c[y>>2]|0;w=y+(d<<4)|0;b[w>>1]=~~(z*u)&65535&-2;w=y+(d<<4)+2|0;b[w>>1]=~~(x*v)&65535&-2;w=y+(d<<4)+4|0;b[w>>1]=r;w=y+(d<<4)+6|0;b[w>>1]=~~(k*u+1.0)&65535|1;w=y+(d<<4)+8|0;b[w>>1]=~~(i*v+1.0)&65535|1;w=y+(d<<4)+10|0;b[w>>1]=q;d=y+(d<<4)+12|0;c[d>>2]=f<<21|h;h=c[p+4>>2]|0;h=h+1|0;c[p+4>>2]=h;return}if(!o)m=0;else{c[6472]=(c[6472]|0)+1;l=ic((o<<4|3)+16|0)|0;if(!l)m=0;else{c[(l+4+15&-16)+-4>>2]=l;m=l+4+15&-16}l=c[p+4>>2]|0}if((l|0)>0){n=0;do{d=m+(n<<4)|0;y=(c[p+12>>2]|0)+(n<<4)|0;c[d>>2]=c[y>>2];c[d+4>>2]=c[y+4>>2];c[d+8>>2]=c[y+8>>2];c[d+12>>2]=c[y+12>>2];n=n+1|0}while((n|0)!=(l|0))}l=c[p+12>>2]|0;if(l|0){if(a[p+16>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[l+-4>>2]|0)}c[p+12>>2]=0}a[p+16>>0]=1;c[p+12>>2]=m;c[p+8>>2]=o;d=c[p+4>>2]|0;y=p+12|0;y=c[y>>2]|0;w=y+(d<<4)|0;b[w>>1]=~~(z*u)&65535&-2;w=y+(d<<4)+2|0;b[w>>1]=~~(x*v)&65535&-2;w=y+(d<<4)+4|0;b[w>>1]=r;w=y+(d<<4)+6|0;b[w>>1]=~~(k*u+1.0)&65535|1;w=y+(d<<4)+8|0;b[w>>1]=~~(i*v+1.0)&65535|1;w=y+(d<<4)+10|0;b[w>>1]=q;d=y+(d<<4)+12|0;c[d>>2]=f<<21|h;h=c[p+4>>2]|0;h=h+1|0;c[p+4>>2]=h;return}function td(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,h=0.0,i=0,k=0,m=0.0,n=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.0,B=0.0,D=0.0,E=0.0,F=0,G=0,H=0,I=0,J=0,K=0;H=l;l=l+96|0;d=c[a+216>>2]|0;if(+g[d+4>>2]==0.0){G=0;l=H;return G|0}G=c[b>>2]|0;if(!(sb[c[(c[d>>2]|0)+8>>2]&31](d,c[G+188>>2]|0)|0)){G=1;l=H;return G|0}b=c[G+192>>2]|0;F=c[a+216>>2]|0;if((c[b+4>>2]|0)!=32){c[H+32>>2]=0;c[H+32+4>>2]=b;c[H+32+8>>2]=G;c[H+32+12>>2]=G+4;c[H+32+16>>2]=-1;c[H+32+20>>2]=-1;Kc(a+68|0,a+132|0,H+32|0,F);G=1;l=H;return G|0}if((G|0)==0?1:(c[G+236>>2]|0)!=8){G=1;l=H;return G|0}if(c[G+752>>2]|0?(c[G+988>>2]|0)==0:0)Rg(G);B=+g[a+180>>2]-+g[a+116>>2];E=+g[a+184>>2]-+g[a+120>>2];D=+g[a+188>>2]-+g[a+124>>2];b=c[G+988>>2]|0;if(!b){i=c[G+752>>2]|0;if((i|0)>0){q=c[G+760>>2]|0;f=1.0;e=1.0;b=0;r=0;k=-1;n=1065353216;d=0;do{K=c[q+(r*44|0)+8>>2]|0;J=c[q+(r*44|0)+12>>2]|0;I=c[q+(r*44|0)+16>>2]|0;h=+th(a+116|0,B,E,D,+g[K+8>>2],+g[K+12>>2],+g[K+16>>2],+g[J+8>>2],+g[J+12>>2],+g[J+16>>2],+g[I+8>>2],+g[I+12>>2],+g[I+16>>2],f);if(h>0.0){e=h;f=h;b=b+1|0;k=r;n=(g[j>>2]=h,c[j>>2]|0);d=3}r=r+1|0}while((r|0)!=(i|0))}else{e=1.0;b=0;k=-1;n=1065353216;d=0}}else{c[H+32>>2]=3364;c[H+32+4>>2]=c[a+116>>2];c[H+32+4+4>>2]=c[a+116+4>>2];c[H+32+4+8>>2]=c[a+116+8>>2];c[H+32+4+12>>2]=c[a+116+12>>2];g[H+32+36>>2]=B;g[H+32+40>>2]=E;g[H+32+44>>2]=D;g[H+32+48>>2]=0.0;c[H+32+20>>2]=c[a+180>>2];c[H+32+20+4>>2]=c[a+180+4>>2];c[H+32+20+8>>2]=c[a+180+8>>2];c[H+32+20+12>>2]=c[a+180+12>>2];c[H+32+52>>2]=1065353216;c[H+32+56>>2]=0;c[H+32+60>>2]=0;ze(b,a+116|0,a+180|0,H+32|0);b=c[H+32+56>>2]|0;if(!b){e=1.0;i=0;k=-1;n=1065353216;d=0}else{n=c[H+32+52>>2]|0;e=(c[j>>2]=n,+g[j>>2]);i=1;k=(b-(c[G+760>>2]|0)|0)/44|0;d=3}b=i}q=c[G+772>>2]|0;if((q|0)>0){r=c[G+780>>2]|0;i=0;do{K=c[r+(i*104|0)+8>>2]|0;v=+g[K+8>>2];w=+g[K+12>>2];x=+g[K+16>>2];K=c[r+(i*104|0)+12>>2]|0;m=+g[K+8>>2];o=+g[K+12>>2];p=+g[K+16>>2];K=c[r+(i*104|0)+16>>2]|0;y=+g[K+8>>2];z=+g[K+12>>2];A=+g[K+16>>2];f=(c[j>>2]=n,+g[j>>2]);h=+th(a+116|0,B,E,D,v,w,x,m,o,p,y,z,A,f);if(h>0.0){f=h;e=h;b=b+1|0;k=i;n=(g[j>>2]=h,c[j>>2]|0);d=4}K=c[r+(i*104|0)+20>>2]|0;s=+g[K+8>>2];t=+g[K+12>>2];u=+g[K+16>>2];f=+th(a+116|0,B,E,D,v,w,x,m,o,p,s,t,u,f);if(f>0.0){h=f;e=f;b=b+1|0;k=i;n=(g[j>>2]=f,c[j>>2]|0);d=4}else h=(c[j>>2]=n,+g[j>>2]);f=+th(a+116|0,B,E,D,m,o,p,y,z,A,s,t,u,h);if(f>0.0){h=f;e=f;b=b+1|0;k=i;n=(g[j>>2]=f,c[j>>2]|0);d=4}else h=(c[j>>2]=n,+g[j>>2]);f=+th(a+116|0,B,E,D,v,w,x,y,z,A,s,t,u,h);if(f>0.0){e=f;b=b+1|0;k=i;n=(g[j>>2]=f,c[j>>2]|0);d=4}i=i+1|0}while((i|0)!=(q|0));s=e}else s=e;if(!b){K=1;l=H;return K|0}if(!(s<=+g[F+4>>2])){K=1;l=H;return K|0}c[H+32>>2]=0;c[H+32+4>>2]=k;m=+g[a+180>>2]-+g[a+116>>2];p=+g[a+184>>2]-+g[a+120>>2];o=+g[a+188>>2]-+g[a+124>>2];e=1.0/+C(+(m*m+p*p+o*o));if((d|0)==3){b=c[G+748+12>>2]|0;e=+g[b+(k*44|0)+20>>2];h=+g[b+(k*44|0)+24>>2];f=+g[b+(k*44|0)+28>>2];if(m*e+p*h+o*f>0.0){m=-e;h=-h;f=-f;e=0.0}else{m=e;e=+g[b+(k*44|0)+32>>2]}}else{m=-(m*e);h=-(p*e);f=-(o*e);e=0.0}c[H>>2]=G;c[H+4>>2]=H+32;g[H+8>>2]=m;g[H+12>>2]=h;g[H+16>>2]=f;g[H+20>>2]=e;g[H+24>>2]=s;+jb[c[(c[F>>2]|0)+12>>2]&15](F,H,1);K=1;l=H;return K|0}function ud(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.0,j=0,k=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.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0;v=l;l=l+544|0;j=h;k=j+36|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));c[v+384>>2]=a;c[v+384+4>>2]=d;o=+g[e>>2];F=+g[b>>2];n=+g[e+16>>2];i=+g[b+16>>2];m=+g[e+32>>2];G=+g[b+32>>2];w=+g[b+4>>2];H=+g[b+20>>2];x=+g[b+36>>2];t=+g[b+8>>2];r=+g[b+24>>2];p=+g[b+40>>2];E=+g[e+4>>2];D=+g[e+20>>2];B=+g[e+36>>2];A=+g[e+8>>2];z=+g[e+24>>2];y=+g[e+40>>2];g[v+384+8>>2]=o*F+n*i+m*G;g[v+384+12>>2]=o*w+n*H+m*x;g[v+384+16>>2]=o*t+n*r+m*p;g[v+384+20>>2]=0.0;g[v+384+24>>2]=F*E+i*D+G*B;g[v+384+28>>2]=w*E+H*D+x*B;g[v+384+32>>2]=t*E+r*D+p*B;g[v+384+36>>2]=0.0;g[v+384+40>>2]=F*A+i*z+G*y;g[v+384+44>>2]=w*A+H*z+x*y;g[v+384+48>>2]=t*A+r*z+p*y;g[v+384+52>>2]=0.0;p=+g[e+48>>2]-+g[b+48>>2];r=+g[e+52>>2]-+g[b+52>>2];t=+g[e+56>>2]-+g[b+56>>2];x=+g[b>>2];H=+g[e>>2];w=+g[b+16>>2];G=+g[e+16>>2];i=+g[b+32>>2];F=+g[e+32>>2];m=+g[b+4>>2];n=+g[b+20>>2];o=+g[b+36>>2];q=+g[b+8>>2];s=+g[b+24>>2];u=+g[b+40>>2];g[v+384+56>>2]=x*H+w*G+i*F;g[v+384+60>>2]=x*E+w*D+i*B;g[v+384+64>>2]=x*A+w*z+i*y;g[v+384+68>>2]=0.0;g[v+384+72>>2]=H*m+G*n+F*o;g[v+384+76>>2]=E*m+D*n+B*o;g[v+384+80>>2]=A*m+z*n+y*o;g[v+384+84>>2]=0.0;g[v+384+88>>2]=H*q+G*s+F*u;g[v+384+92>>2]=E*q+D*s+B*u;g[v+384+96>>2]=A*q+z*s+y*u;g[v+384+100>>2]=0.0;g[v+384+104>>2]=p*x+r*w+t*i;g[v+384+108>>2]=p*m+r*n+t*o;g[v+384+112>>2]=p*q+r*s+t*u;g[v+384+116>>2]=0.0;c[v+384+120>>2]=80;c[v+384+124>>2]=0;c[v+364>>2]=0;c[v+128>>2]=0;c[v+128+4>>2]=0;c[v+128+8>>2]=0;c[v+128+12>>2]=0;c[v+376>>2]=2;c[v+368>>2]=0;g[v+144>>2]=0.0;f=Ac(v,v+384|0,f)|0;if(f|0){c[h>>2]=(f|0)==1?1:2;b=0;l=v;return b|0}f=c[v+372>>2]|0;if(!(c[f+32>>2]|0)){q=0.0;p=0.0;o=0.0;n=0.0;m=0.0;i=0.0}else{e=0;q=0.0;p=0.0;o=0.0;n=0.0;m=0.0;i=0.0;do{u=+g[f+16+(e<<2)>>2];a=c[v+384+120>>2]|0;k=c[v+384+124>>2]|0;d=(c[v+384>>2]|0)+(k>>1)|0;if(k&1)a=c[(c[d>>2]|0)+a>>2]|0;Kb[a&127](v+528|0,d,c[f+(e<<2)>>2]|0);q=q+u*+g[v+528>>2];o=o+u*+g[v+528+4>>2];p=p+u*+g[v+528+8>>2];f=c[(c[v+372>>2]|0)+(e<<2)>>2]|0;r=-+g[f>>2];s=-+g[f+4>>2];t=-+g[f+8>>2];f=c[v+384+120>>2]|0;k=c[v+384+124>>2]|0;a=(c[v+384+4>>2]|0)+(k>>1)|0;if(k&1)f=c[(c[a>>2]|0)+f>>2]|0;G=+g[v+384+24>>2]*r+ +g[v+384+28>>2]*s+ +g[v+384+32>>2]*t;F=+g[v+384+40>>2]*r+ +g[v+384+44>>2]*s+ +g[v+384+48>>2]*t;g[v+512>>2]=+g[v+384+8>>2]*r+ +g[v+384+12>>2]*s+ +g[v+384+16>>2]*t;g[v+512+4>>2]=G;g[v+512+8>>2]=F;g[v+512+12>>2]=0.0;Kb[f&127](v+528|0,a,v+512|0);F=+g[v+528>>2];G=+g[v+528+4>>2];H=+g[v+528+8>>2];n=n+u*(F*+g[v+384+56>>2]+G*+g[v+384+60>>2]+H*+g[v+384+64>>2]+ +g[v+384+104>>2]);i=i+u*(F*+g[v+384+72>>2]+G*+g[v+384+76>>2]+H*+g[v+384+80>>2]+ +g[v+384+108>>2]);m=m+u*(F*+g[v+384+88>>2]+G*+g[v+384+92>>2]+H*+g[v+384+96>>2]+ +g[v+384+112>>2]);e=e+1|0;f=c[v+372>>2]|0}while(e>>>0<(c[f+32>>2]|0)>>>0)}E=q*+g[b+16>>2]+o*+g[b+20>>2]+p*+g[b+24>>2]+ +g[b+52>>2];F=q*+g[b+32>>2]+o*+g[b+36>>2]+p*+g[b+40>>2]+ +g[b+56>>2];g[h+4>>2]=q*+g[b>>2]+o*+g[b+4>>2]+p*+g[b+8>>2]+ +g[b+48>>2];g[h+8>>2]=E;g[h+12>>2]=F;g[h+16>>2]=0.0;F=n*+g[b+16>>2]+i*+g[b+20>>2]+m*+g[b+24>>2]+ +g[b+52>>2];E=n*+g[b+32>>2]+i*+g[b+36>>2]+m*+g[b+40>>2]+ +g[b+56>>2];g[h+20>>2]=n*+g[b>>2]+i*+g[b+4>>2]+m*+g[b+8>>2]+ +g[b+48>>2];g[h+24>>2]=F;g[h+28>>2]=E;g[h+32>>2]=0.0;E=q-n;F=o-i;H=p-m;g[h+48>>2]=0.0;G=+C(+(E*E+F*F+H*H));g[h+52>>2]=G;G=G>9.999999747378752e-05?1.0/G:1.0;g[h+36>>2]=G*E;g[h+40>>2]=G*F;g[h+44>>2]=G*H;b=1;l=v;return b|0}function vd(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 k=0,l=0,m=0.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,C=0,D=0;D=c[b+88>>2]|0;if((D|0)==(c[b+92>>2]|0)?(o=D|0?D<<1:1,(D|0)<(o|0)):0){if(!o){l=D;n=0}else{c[6472]=(c[6472]|0)+1;k=ic((o*152|3)+16|0)|0;if(!k)k=0;else{c[(k+4+15&-16)+-4>>2]=k;k=k+4+15&-16}l=c[b+88>>2]|0;n=k}if((l|0)>0){k=0;do{_h(n+(k*152|0)|0,(c[b+96>>2]|0)+(k*152|0)|0,152)|0;k=k+1|0}while((k|0)!=(l|0))}k=c[b+96>>2]|0;if(k|0){if(a[b+100>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[k+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=n;c[b+92>>2]=o;k=c[b+88>>2]|0}else k=D;c[b+88>>2]=k+1;C=c[b+96>>2]|0;c[C+(D*152|0)+140>>2]=h;c[C+(D*152|0)+16>>2]=0;c[C+(D*152|0)+16+4>>2]=0;c[C+(D*152|0)+16+8>>2]=0;c[C+(D*152|0)+16+12>>2]=0;g[C+(D*152|0)+48>>2]=-0.0;g[C+(D*152|0)+52>>2]=-0.0;g[C+(D*152|0)+56>>2]=-0.0;g[C+(D*152|0)+60>>2]=0.0;b=c[b+16>>2]|0;o=c[b+(e*244|0)+240>>2]|0;B=c[b+(f*244|0)+240>>2]|0;c[C+(D*152|0)+144>>2]=e;c[C+(D*152|0)+148>>2]=f;h=c[i+88>>2]|0;c[C+(D*152|0)+104>>2]=h;c[C+(D*152|0)+132>>2]=0;g[C+(D*152|0)+100>>2]=0.0;g[C+(D*152|0)+96>>2]=0.0;x=-+g[d>>2];y=-+g[d+4>>2];z=-+g[d+8>>2];g[C+(D*152|0)>>2]=x;g[C+(D*152|0)+4>>2]=y;g[C+(D*152|0)+8>>2]=z;g[C+(D*152|0)+12>>2]=0.0;A=(c[j>>2]=h,+g[j>>2]);if(o|0){k=(g[j>>2]=(+g[o+264>>2]*x+ +g[o+268>>2]*y+ +g[o+272>>2]*z)*+g[o+544>>2],c[j>>2]|0);l=(g[j>>2]=(+g[o+280>>2]*x+ +g[o+284>>2]*y+ +g[o+288>>2]*z)*+g[o+548>>2],c[j>>2]|0);n=(g[j>>2]=(+g[o+296>>2]*x+ +g[o+300>>2]*y+ +g[o+304>>2]*z)*+g[o+552>>2],c[j>>2]|0)}else{k=0;l=0;n=0}c[C+(D*152|0)+64>>2]=k;c[C+(D*152|0)+68>>2]=l;c[C+(D*152|0)+72>>2]=n;g[C+(D*152|0)+76>>2]=0.0;u=+g[d>>2];v=+g[d+4>>2];w=+g[d+8>>2];d=c[d+12>>2]|0;g[C+(D*152|0)+32>>2]=u;g[C+(D*152|0)+36>>2]=v;g[C+(D*152|0)+40>>2]=w;c[C+(D*152|0)+44>>2]=d;if(B|0){k=(g[j>>2]=(u*+g[B+264>>2]+v*+g[B+268>>2]+w*+g[B+272>>2])*+g[B+544>>2],c[j>>2]|0);l=(g[j>>2]=(u*+g[B+280>>2]+v*+g[B+284>>2]+w*+g[B+288>>2])*+g[B+548>>2],c[j>>2]|0);n=(g[j>>2]=(u*+g[B+296>>2]+v*+g[B+300>>2]+w*+g[B+304>>2])*+g[B+552>>2],c[j>>2]|0)}else{k=0;l=0;n=0}c[C+(D*152|0)+80>>2]=k;c[C+(D*152|0)+84>>2]=l;c[C+(D*152|0)+88>>2]=n;g[C+(D*152|0)+92>>2]=0.0;if(o|0){m=+g[o+264>>2]*x+ +g[o+268>>2]*y+ +g[o+272>>2]*z;p=+g[o+280>>2]*x+ +g[o+284>>2]*y+ +g[o+288>>2]*z;q=+g[o+296>>2]*x+ +g[o+300>>2]*y+ +g[o+304>>2]*z}else{m=0.0;p=0.0;q=0.0}if(B|0){r=+g[B+264>>2]*u+ +g[B+268>>2]*v+ +g[B+272>>2]*w;s=u*+g[B+280>>2]+v*+g[B+284>>2]+w*+g[B+288>>2];t=u*+g[B+296>>2]+v*+g[B+300>>2]+w*+g[B+304>>2]}else{r=0.0;s=0.0;t=0.0}s=1.0/(m*x+p*y+q*z+0.0+(r*u+s*v+t*w));g[C+(D*152|0)+108>>2]=s;if(o|0){p=(+g[b+(e*244|0)+176>>2]+ +g[b+(e*244|0)+208>>2])*0.0+(+g[b+(e*244|0)+180>>2]+ +g[b+(e*244|0)+212>>2])*0.0+(+g[b+(e*244|0)+184>>2]+ +g[b+(e*244|0)+216>>2])*0.0;q=+g[b+(e*244|0)+192>>2];r=+g[b+(e*244|0)+196>>2];m=+g[b+(e*244|0)+200>>2]}else{p=0.0;q=0.0;r=0.0;m=0.0}m=p+(q*x+r*y+m*z);if(!B){y=-0.0;t=0.0;x=0.0;z=0.0;u=t*u;x=x*v;x=u+x;z=z*w;z=x+z;z=y+z;z=m+z;z=0.0-z;z=s*z;f=C+(D*152|0)+112|0;g[f>>2]=z;f=C+(D*152|0)+116|0;g[f>>2]=0.0;A=-A;f=C+(D*152|0)+120|0;g[f>>2]=A;f=C+(D*152|0)+124|0;c[f>>2]=h;return}y=(+g[b+(f*244|0)+176>>2]+ +g[b+(f*244|0)+208>>2])*-0.0+(+g[b+(f*244|0)+180>>2]+ +g[b+(f*244|0)+212>>2])*-0.0+(+g[b+(f*244|0)+184>>2]+ +g[b+(f*244|0)+216>>2])*-0.0;t=+g[b+(f*244|0)+192>>2];x=+g[b+(f*244|0)+196>>2];z=+g[b+(f*244|0)+200>>2];u=t*u;x=x*v;x=u+x;z=z*w;z=x+z;z=y+z;z=m+z;z=0.0-z;z=s*z;f=C+(D*152|0)+112|0;g[f>>2]=z;f=C+(D*152|0)+116|0;g[f>>2]=0.0;A=-A;f=C+(D*152|0)+120|0;g[f>>2]=A;f=C+(D*152|0)+124|0;c[f>>2]=h;return}function wd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0.0,i=0.0,k=0.0,m=0.0,n=0.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;z=l;l=l+48|0;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;l=z;return}case 0:{w=+g[b+28>>2];x=+g[b+28+4>>2];x=+g[d+4>>2]>=0.0?x:-x;y=+g[b+28+8>>2];y=+g[d+8>>2]>=0.0?y:-y;g[a>>2]=+g[d>>2]>=0.0?w:-w;g[a+4>>2]=x;g[a+8>>2]=y;g[a+12>>2]=0.0;l=z;return}case 1:{u=+g[d>>2];v=+g[d+4>>2];y=+g[d+8>>2];x=u*+g[b+56>>2]+v*+g[b+56+4>>2]+y*+g[b+56+8>>2];w=u*+g[b+56+16>>2]+v*+g[b+56+20>>2]+y*+g[b+56+24>>2];y=u*+g[b+56+32>>2]+v*+g[b+56+36>>2]+y*+g[b+56+40>>2];d=x>2]|0;p=c[b+56+(d<<4)+8>>2]|0;c[a>>2]=c[b+56+(d<<4)>>2];c[a+4>>2]=o;c[a+8>>2]=p;g[a+12>>2]=0.0;l=z;return}case 13:{c[z+32>>2]=c[b+28>>2];c[z+32+4>>2]=c[b+28+4>>2];c[z+32+8>>2]=c[b+28+8>>2];c[z+32+12>>2]=c[b+28+12>>2];c[z+16>>2]=c[d>>2];f=c[d+4>>2]|0;c[z+16+4>>2]=f;p=c[d+8>>2]|0;c[z+16+8>>2]=p;g[z+16+12>>2]=0.0;d=c[b+52>>2]|0;e=(c[j>>2]=p,+g[j>>2]);switch(d|0){case 2:{e=(c[j>>2]=f,+g[j>>2]);f=0;b=2;o=1;break}case 1:{f=0;b=1;o=2;break}default:{f=1;b=0;o=2}}n=+g[z+32+(f<<2)>>2];h=+g[z+32+(d<<2)>>2];i=+g[z+16+(f<<2)>>2];m=+C(+(i*i+e*e));k=+g[z+16+(b<<2)>>2];if(m!=0.0){g[z+(f<<2)>>2]=i*(n/m);g[z+(b<<2)>>2]=k<0.0?-h:h;e=n/m*e}else{g[z+(f<<2)>>2]=n;g[z+(b<<2)>>2]=k<0.0?-h:h;e=0.0}g[z+(o<<2)>>2]=e;c[a>>2]=c[z>>2];c[a+4>>2]=c[z+4>>2];c[a+8>>2]=c[z+8>>2];g[a+12>>2]=0.0;l=z;return}case 10:{e=+g[d>>2];h=+g[d+4>>2];i=+g[d+8>>2];o=c[b+52>>2]|0;v=+g[b+28+(o<<2)>>2];k=+g[b+28+(((o+2|0)%3|0)<<2)>>2];if(e*e+h*h+i*i<9.999999747378752e-05){y=1.0;x=0.0;w=0.0}else{w=1.0/+C(+(e*e+h*h+i*i));y=e*w;x=h*w;w=i*w}c[z+32>>2]=0;c[z+32+4>>2]=0;c[z+32+8>>2]=0;c[z+32+12>>2]=0;g[z+32+(o<<2)>>2]=v;r=k*y;t=k*x;u=k*w;s=+g[b+44>>2];n=y*s;q=x*s;s=w*s;h=r+ +g[z+32>>2]-n;i=t+ +g[z+32+4>>2]-q;k=u+ +g[z+32+8>>2]-s;e=w*k+(y*h+x*i);if(e>-999999984306749440.0){b=(g[j>>2]=h,c[j>>2]|0);f=(g[j>>2]=i,c[j>>2]|0);m=e;d=(g[j>>2]=k,c[j>>2]|0)}else{m=-999999984306749440.0;b=0;d=0;f=0}c[z+32>>2]=0;c[z+32+4>>2]=0;c[z+32+8>>2]=0;c[z+32+12>>2]=0;g[z+32+(o<<2)>>2]=-v;i=r+ +g[z+32>>2]-n;h=t+ +g[z+32+4>>2]-q;e=u+ +g[z+32+8>>2]-s;if(w*e+(y*i+x*h)>m){b=(g[j>>2]=i,c[j>>2]|0);f=(g[j>>2]=h,c[j>>2]|0);d=(g[j>>2]=e,c[j>>2]|0)}c[a>>2]=b;c[a+4>>2]=f;c[a+8>>2]=d;g[a+12>>2]=0.0;l=z;return}case 5:{p=c[b+92>>2]|0;o=c[b+96>>2]|0;q=+g[b+12>>2];r=+g[b+16>>2];n=+g[b+20>>2];k=+g[d>>2]*q;m=+g[d+4>>2]*r;i=+g[d+8>>2]*n;if((o|0)>0){b=0;h=-3402823466385288598117041.0e14;f=-1;while(1){e=k*+g[p+(b<<4)>>2]+m*+g[p+(b<<4)+4>>2]+i*+g[p+(b<<4)+8>>2];d=e>h;f=d?b:f;b=b+1|0;if((b|0)==(o|0))break;else h=d?e:h}}else f=-1;x=r*+g[p+(f<<4)+4>>2];y=n*+g[p+(f<<4)+8>>2];g[a>>2]=q*+g[p+(f<<4)>>2];g[a+4>>2]=x;g[a+8>>2]=y;g[a+12>>2]=0.0;l=z;return}case 4:{p=c[b+104>>2]|0;o=c[b+96>>2]|0;q=+g[b+12>>2];r=+g[b+16>>2];n=+g[b+20>>2];k=+g[d>>2]*q;m=+g[d+4>>2]*r;i=+g[d+8>>2]*n;if((o|0)>0){b=0;h=-3402823466385288598117041.0e14;f=-1;while(1){e=k*+g[p+(b<<4)>>2]+m*+g[p+(b<<4)+4>>2]+i*+g[p+(b<<4)+8>>2];d=e>h;f=d?b:f;b=b+1|0;if((b|0)==(o|0))break;else h=d?e:h}}else f=-1;x=r*+g[p+(f<<4)+4>>2];y=n*+g[p+(f<<4)+8>>2];g[a>>2]=q*+g[p+(f<<4)>>2];g[a+4>>2]=x;g[a+8>>2]=y;g[a+12>>2]=0.0;l=z;return}default:{Kb[c[(c[b>>2]|0)+68>>2]&127](a,b,d);l=z;return}}}function xd(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0,i=0,k=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;n=l;l=l+16|0;c[b+236>>2]=2;c[b+312>>2]=0;c[b+312+4>>2]=0;c[b+312+8>>2]=0;c[b+312+12>>2]=0;c[b+312+16>>2]=0;c[b+312+20>>2]=0;c[b+312+24>>2]=0;c[b+312+28>>2]=0;c[b+544>>2]=1065353216;c[b+548>>2]=1065353216;c[b+552>>2]=1065353216;g[b+556>>2]=0.0;c[b+348>>2]=1065353216;c[b+352>>2]=1065353216;c[b+356>>2]=1065353216;e=b+360|0;h=e+36|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(h|0));c[b+412>>2]=0;c[b+412+4>>2]=0;c[b+412+8>>2]=0;c[b+412+12>>2]=0;c[b+412+16>>2]=0;c[b+412+20>>2]=0;c[b+412+24>>2]=0;c[b+412+28>>2]=0;f=+g[d+92>>2];m=+g[d+96>>2];g[n+12>>2]=f;g[n+8>>2]=m;g[n+4>>2]=0.0;g[n>>2]=1.0;c[b+444>>2]=c[(f<0.0?n+4|0:f>1.0?n:n+12|0)>>2];g[n+4>>2]=0.0;g[n>>2]=1.0;c[b+448>>2]=c[(m<0.0?n+4|0:m>1.0?n:n+8|0)>>2];c[b+472>>2]=c[d+112>>2];c[b+476>>2]=c[d+116>>2];e=c[d+4>>2]|0;c[b+480>>2]=e;c[b+608>>2]=0;c[b+612>>2]=0;a[b+452>>0]=a[d+120>>0]|0;c[b+456>>2]=c[d+124>>2];c[b+460>>2]=c[d+128>>2];c[b+464>>2]=c[d+132>>2];c[b+468>>2]=c[d+136>>2];if(!e){c[b+4>>2]=c[d+8>>2];c[b+4+4>>2]=c[d+8+4>>2];c[b+4+8>>2]=c[d+8+8>>2];c[b+4+12>>2]=c[d+8+12>>2];c[b+20>>2]=c[d+24>>2];c[b+20+4>>2]=c[d+24+4>>2];c[b+20+8>>2]=c[d+24+8>>2];c[b+20+12>>2]=c[d+24+12>>2];c[b+36>>2]=c[d+40>>2];c[b+36+4>>2]=c[d+40+4>>2];c[b+36+8>>2]=c[d+40+8>>2];c[b+36+12>>2]=c[d+40+12>>2];c[b+52>>2]=c[d+56>>2];c[b+52+4>>2]=c[d+56+4>>2];c[b+52+8>>2]=c[d+56+8>>2];c[b+52+12>>2]=c[d+56+12>>2];e=b+20|0;h=b+36|0;i=b+52|0;k=b+4|0}else{Gb[c[(c[e>>2]|0)+8>>2]&127](e,b+4|0);e=b+20|0;h=b+36|0;i=b+52|0;k=b+4|0}c[b+68>>2]=c[k>>2];c[b+68+4>>2]=c[k+4>>2];c[b+68+8>>2]=c[k+8>>2];c[b+68+12>>2]=c[k+12>>2];c[b+84>>2]=c[e>>2];c[b+84+4>>2]=c[e+4>>2];c[b+84+8>>2]=c[e+8>>2];c[b+84+12>>2]=c[e+12>>2];c[b+100>>2]=c[h>>2];c[b+100+4>>2]=c[h+4>>2];c[b+100+8>>2]=c[h+8>>2];c[b+100+12>>2]=c[h+12>>2];c[b+116>>2]=c[i>>2];c[b+116+4>>2]=c[i+4>>2];c[b+116+8>>2]=c[i+8>>2];c[b+116+12>>2]=c[i+12>>2];c[b+132>>2]=0;c[b+132+4>>2]=0;c[b+132+8>>2]=0;c[b+132+12>>2]=0;c[b+132+16>>2]=0;c[b+132+20>>2]=0;c[b+132+24>>2]=0;c[b+132+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];Gb[c[(c[b>>2]|0)+12>>2]&127](b,c[d+72>>2]|0);e=c[5852]|0;c[5852]=e+1;c[b+508>>2]=e;f=+g[d>>2];e=c[b+204>>2]|0;if(f==0.0){c[b+204>>2]=e|1;m=0.0}else{c[b+204>>2]=e&-2;m=1.0/f}g[b+344>>2]=m;p=f*+g[b+384>>2];o=f*+g[b+388>>2];g[b+364>>2]=f*+g[b+380>>2];g[b+368>>2]=p;g[b+372>>2]=o;g[b+376>>2]=0.0;f=+g[d+76>>2];h=f!=0.0?(g[j>>2]=1.0/f,c[j>>2]|0):0;f=+g[d+80>>2];e=f!=0.0?(g[j>>2]=1.0/f,c[j>>2]|0):0;f=+g[d+84>>2];d=f!=0.0?(g[j>>2]=1.0/f,c[j>>2]|0):0;c[b+396>>2]=h;c[b+400>>2]=e;c[b+404>>2]=d;g[b+408>>2]=0.0;r=m*+g[b+352>>2];x=m*+g[b+356>>2];g[b+560>>2]=m*+g[b+348>>2];g[b+564>>2]=r;g[b+568>>2]=x;g[b+572>>2]=0.0;x=+g[b+4>>2];r=(c[j>>2]=h,+g[j>>2]);w=+g[b+8>>2];f=(c[j>>2]=e,+g[j>>2]);v=+g[b+12>>2];o=(c[j>>2]=d,+g[j>>2]);u=+g[b+20>>2];t=+g[b+24>>2];s=+g[b+28>>2];q=+g[b+36>>2];p=+g[b+40>>2];m=+g[b+44>>2];g[b+264>>2]=x*x*r+w*w*f+v*v*o;g[b+268>>2]=x*r*u+w*f*t+v*o*s;g[b+272>>2]=x*r*q+w*f*p+v*o*m;g[b+276>>2]=0.0;g[b+280>>2]=x*r*u+w*f*t+v*o*s;g[b+284>>2]=u*r*u+t*f*t+s*o*s;g[b+288>>2]=r*u*q+f*t*p+o*s*m;g[b+292>>2]=0.0;g[b+296>>2]=x*r*q+w*f*p+v*o*m;g[b+300>>2]=u*r*q+t*f*p+s*o*m;g[b+304>>2]=q*r*q+p*f*p+m*o*m;g[b+308>>2]=0.0;c[b+504>>2]=0;c[b+512>>2]=0;c[b+512+4>>2]=0;c[b+512+8>>2]=0;c[b+512+12>>2]=0;c[b+512+16>>2]=0;c[b+512+20>>2]=0;c[b+512+24>>2]=0;c[b+512+28>>2]=0;m=+g[b+344>>2];o=m*+g[b+352>>2];p=m*+g[b+356>>2];g[b+560>>2]=+g[b+348>>2]*m;g[b+564>>2]=o;g[b+568>>2]=p;e=b+572|0;h=e+36|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(h|0));l=n;return} function fc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0.0,k=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.0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=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,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,_=0.0,$=0.0,aa=0.0,ba=0.0;Q=l;l=l+448|0;if(!(a[b+527>>0]|0)){l=Q;return}P=c[b+28>>2]|0;J=+g[b+348>>2];I=+g[b+352>>2];B=+g[b+356>>2];k=+g[P+52>>2];z=J*+g[P+4>>2]+I*+g[P+8>>2]+B*+g[P+12>>2]+k;m=+g[P+56>>2];E=J*+g[P+20>>2]+I*+g[P+24>>2]+B*+g[P+28>>2]+m;n=+g[P+60>>2];B=J*+g[P+36>>2]+I*+g[P+40>>2]+B*+g[P+44>>2]+n;P=c[b+32>>2]|0;I=+g[b+412>>2];J=+g[b+416>>2];D=+g[b+420>>2];o=+g[P+52>>2];A=I*+g[P+4>>2]+J*+g[P+8>>2]+D*+g[P+12>>2]+o;p=+g[P+56>>2];F=I*+g[P+20>>2]+J*+g[P+24>>2]+D*+g[P+28>>2]+p;q=+g[P+60>>2];D=I*+g[P+36>>2]+J*+g[P+40>>2]+D*+g[P+44>>2]+q;if(!(a[b+524>>0]|0)){x=+g[d+192>>2]+ +g[d+80>>2];y=+g[d+196>>2]+ +g[d+84>>2];v=+g[d+200>>2]+ +g[d+88>>2];I=+g[e+192>>2]+ +g[e+80>>2];H=+g[e+196>>2]+ +g[e+84>>2];J=+g[e+200>>2]+ +g[e+88>>2];G=+g[d+176>>2]+ +g[d+64>>2]+((B-n)*y-(E-m)*v)-(+g[e+176>>2]+ +g[e+64>>2]+((D-q)*H-(F-p)*J));J=+g[d+180>>2]+ +g[d+68>>2]+((z-k)*v-(B-n)*x)-(+g[e+180>>2]+ +g[e+68>>2]+((A-o)*J-(D-q)*I));H=+g[d+184>>2]+ +g[d+72>>2]+((E-m)*x-(z-k)*y)-(+g[e+184>>2]+ +g[e+72>>2]+((F-p)*I-(A-o)*H));w=(c[d+240>>2]|0)==0;u=0;do{y=1.0/+g[b+48+(u*84|0)+80>>2];r=b+48+(u*84|0)|0;x=+g[r>>2];t=b+48+(u*84|0)+4|0;v=+g[t>>2];s=b+48+(u*84|0)+8|0;I=+g[s>>2];I=y*(((z-A)*x+(E-F)*v+(B-D)*I)*-.30000001192092896/f)-y*(G*x+J*v+H*I);g[b+36>>2]=+g[b+36>>2]+I;v=+g[s>>2];x=+g[t>>2];y=+g[r>>2];h=c[b+28>>2]|0;i=+g[h+344>>2];if(!w){T=((E-m)*v-(B-n)*x)*+g[h+296>>2]+((B-n)*y-(z-k)*v)*+g[h+300>>2]+((z-k)*x-(E-m)*y)*+g[h+304>>2];R=((E-m)*v-(B-n)*x)*+g[h+280>>2]+((B-n)*y-(z-k)*v)*+g[h+284>>2]+((z-k)*x-(E-m)*y)*+g[h+288>>2];S=((E-m)*v-(B-n)*x)*+g[h+264>>2]+((B-n)*y-(z-k)*v)*+g[h+268>>2]+((z-k)*x-(E-m)*y)*+g[h+272>>2];V=I*x*i*+g[d+116>>2];U=I*v*i*+g[d+120>>2];g[d+64>>2]=I*y*i*+g[d+112>>2]+ +g[d+64>>2];g[d+68>>2]=V+ +g[d+68>>2];g[d+72>>2]=U+ +g[d+72>>2];R=R*I*+g[d+100>>2];i=T*I*+g[d+104>>2];g[d+80>>2]=S*I*+g[d+96>>2]+ +g[d+80>>2];g[d+84>>2]=R+ +g[d+84>>2];g[d+88>>2]=i+ +g[d+88>>2]}h=c[b+32>>2]|0;i=+g[h+344>>2];if(c[e+240>>2]|0){V=((F-p)*v-(D-q)*x)*+g[h+296>>2]+((D-q)*y-(A-o)*v)*+g[h+300>>2]+((A-o)*x-(F-p)*y)*+g[h+304>>2];U=((F-p)*v-(D-q)*x)*+g[h+280>>2]+((D-q)*y-(A-o)*v)*+g[h+284>>2]+((A-o)*x-(F-p)*y)*+g[h+288>>2];T=((F-p)*v-(D-q)*x)*+g[h+264>>2]+((D-q)*y-(A-o)*v)*+g[h+268>>2]+((A-o)*x-(F-p)*y)*+g[h+272>>2];R=i*+g[t>>2]*-I*+g[e+116>>2];S=i*+g[s>>2]*-I*+g[e+120>>2];g[e+64>>2]=+g[e+112>>2]*i*+g[r>>2]*-I+ +g[e+64>>2];g[e+68>>2]=R+ +g[e+68>>2];g[e+72>>2]=S+ +g[e+72>>2];U=U*+g[e+100>>2]*-I;V=V*+g[e+104>>2]*-I;g[e+80>>2]=T*+g[e+96>>2]*-I+ +g[e+80>>2];g[e+84>>2]=U+ +g[e+84>>2];g[e+88>>2]=V+ +g[e+88>>2]}u=u+1|0}while((u|0)!=3)}do if(!(a[b+552>>0]|0)){i=+g[b+440>>2];if(!(i>1.1920928955078125e-07)){t=e+192|0;h=d+192|0;w=e+200|0;s=d+200|0;N=e+88|0;K=d+88|0;O=e+80|0;L=d+80|0;u=e+196|0;r=d+196|0;P=e+84|0;M=d+84|0;break}k=+g[e+192>>2]+ +g[e+80>>2]-(+g[d+192>>2]+ +g[d+80>>2]);m=+g[e+196>>2]+ +g[e+84>>2]-(+g[d+196>>2]+ +g[d+84>>2]);o=+g[e+200>>2]+ +g[e+88>>2]-(+g[d+200>>2]+ +g[d+88>>2]);if(k*k+m*m+o*o>1.1920928955078125e-07){E=1.0/+C(+(k*k+m*m+o*o));h=c[b+28>>2]|0;p=+g[h+264>>2];q=+g[h+280>>2];v=+g[h+296>>2];x=+g[h+268>>2];y=+g[h+284>>2];z=+g[h+300>>2];A=+g[h+272>>2];B=+g[h+288>>2];D=+g[h+304>>2];h=c[b+32>>2]|0;i=i*(1.0/(k*E*(p*k*E+m*E*q+o*E*v)+m*E*(k*E*x+m*E*y+o*E*z)+o*E*(k*E*A+m*E*B+o*E*D)+(k*E*(k*E*+g[h+264>>2]+m*E*+g[h+280>>2]+o*E*+g[h+296>>2])+m*E*(k*E*+g[h+268>>2]+m*E*+g[h+284>>2]+o*E*+g[h+300>>2])+o*E*(k*E*+g[h+272>>2]+m*E*+g[h+288>>2]+o*E*+g[h+304>>2]))));E=+C(+(o*i*o*i+(k*i*k*i+m*i*m*i)));n=1.0/E*k*i;k=1.0/E*m*i;i=1.0/E*o*i;if(c[d+240>>2]|0){V=E*0.0*+g[d+116>>2];U=E*0.0*+g[d+120>>2];g[d+64>>2]=E*0.0*+g[d+112>>2]+ +g[d+64>>2];g[d+68>>2]=V+ +g[d+68>>2];g[d+72>>2]=U+ +g[d+72>>2];U=(n*q+k*y+i*B)*E*+g[d+100>>2];V=(n*v+k*z+i*D)*E*+g[d+104>>2];g[d+80>>2]=(n*p+k*x+i*A)*E*+g[d+96>>2]+ +g[d+80>>2];g[d+84>>2]=U+ +g[d+84>>2];g[d+88>>2]=V+ +g[d+88>>2];h=c[b+32>>2]|0}if(c[e+240>>2]|0){V=n*+g[h+296>>2]+k*+g[h+300>>2]+i*+g[h+304>>2];U=n*+g[h+280>>2]+k*+g[h+284>>2]+i*+g[h+288>>2];T=n*+g[h+264>>2]+k*+g[h+268>>2]+i*+g[h+272>>2];R=E*-0.0*+g[e+116>>2];S=E*-0.0*+g[e+120>>2];g[e+64>>2]=E*-0.0*+g[e+112>>2]+ +g[e+64>>2];g[e+68>>2]=R+ +g[e+68>>2];g[e+72>>2]=S+ +g[e+72>>2];U=U*+g[e+100>>2]*-E;V=V*+g[e+104>>2]*-E;g[e+80>>2]=T*+g[e+96>>2]*-E+ +g[e+80>>2];g[e+84>>2]=U+ +g[e+84>>2];g[e+88>>2]=V+ +g[e+88>>2];t=e+192|0;h=d+192|0;w=e+200|0;s=d+200|0;N=e+88|0;K=d+88|0;O=e+80|0;L=d+80|0;u=e+196|0;r=d+196|0;P=e+84|0;M=d+84|0}else{t=e+192|0;h=d+192|0;w=e+200|0;s=d+200|0;N=e+88|0;K=d+88|0;O=e+80|0;L=d+80|0;u=e+196|0;r=d+196|0;P=e+84|0;M=d+84|0}}else{t=e+192|0;h=d+192|0;w=e+200|0;s=d+200|0;N=e+88|0;K=d+88|0;O=e+80|0;L=d+80|0;u=e+196|0;r=d+196|0;P=e+84|0;M=d+84|0}}else{O=c[b+28>>2]|0;c[Q+352>>2]=c[O+4>>2];c[Q+352+4>>2]=c[O+4+4>>2];c[Q+352+8>>2]=c[O+4+8>>2];c[Q+352+12>>2]=c[O+4+12>>2];c[Q+352+16>>2]=c[O+20>>2];c[Q+352+16+4>>2]=c[O+20+4>>2];c[Q+352+16+8>>2]=c[O+20+8>>2];c[Q+352+16+12>>2]=c[O+20+12>>2];c[Q+352+32>>2]=c[O+36>>2];c[Q+352+32+4>>2]=c[O+36+4>>2];c[Q+352+32+8>>2]=c[O+36+8>>2];c[Q+352+32+12>>2]=c[O+36+12>>2];c[Q+352+48>>2]=c[O+52>>2];c[Q+352+48+4>>2]=c[O+52+4>>2];c[Q+352+48+8>>2]=c[O+52+8>>2];c[Q+352+48+12>>2]=c[O+52+12>>2];O=c[b+32>>2]|0;c[Q+288>>2]=c[O+4>>2];c[Q+288+4>>2]=c[O+4+4>>2];c[Q+288+8>>2]=c[O+4+8>>2];c[Q+288+12>>2]=c[O+4+12>>2];c[Q+288+16>>2]=c[O+20>>2];c[Q+288+16+4>>2]=c[O+20+4>>2];c[Q+288+16+8>>2]=c[O+20+8>>2];c[Q+288+16+12>>2]=c[O+20+12>>2];c[Q+288+32>>2]=c[O+36>>2];c[Q+288+32+4>>2]=c[O+36+4>>2];c[Q+288+32+8>>2]=c[O+36+8>>2];c[Q+288+32+12>>2]=c[O+36+12>>2];c[Q+288+48>>2]=c[O+52>>2];c[Q+288+48+4>>2]=c[O+52+4>>2];c[Q+288+48+8>>2]=c[O+52+8>>2];c[Q+288+48+12>>2]=c[O+52+12>>2];T=+g[d+196>>2]+ +g[d+84>>2];v=+g[d+200>>2]+ +g[d+88>>2];g[Q+272>>2]=+g[d+192>>2]+ +g[d+80>>2];g[Q+272+4>>2]=T;g[Q+272+8>>2]=v;g[Q+272+12>>2]=0.0;v=+g[e+196>>2]+ +g[e+84>>2];T=+g[e+200>>2]+ +g[e+88>>2];g[Q+256>>2]=+g[e+192>>2]+ +g[e+80>>2];g[Q+256+4>>2]=v;g[Q+256+8>>2]=T;g[Q+256+12>>2]=0.0;c[Q+192>>2]=1065353216;O=Q+192+4|0;c[O>>2]=0;c[O+4>>2]=0;c[O+8>>2]=0;c[O+12>>2]=0;c[Q+192+20>>2]=1065353216;P=Q+192+24|0;c[P>>2]=0;c[P+4>>2]=0;c[P+8>>2]=0;c[P+12>>2]=0;c[Q+192+40>>2]=1065353216;M=Q+192+44|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;Ig(Q+352|0,0.0,0.0,0.0,Q+272|0,f,Q+192|0);c[Q+128>>2]=1065353216;M=Q+128+4|0;c[M>>2]=0;c[M+4>>2]=0;c[M+8>>2]=0;c[M+12>>2]=0;c[Q+128+20>>2]=1065353216;N=Q+128+24|0;c[N>>2]=0;c[N+4>>2]=0;c[N+8>>2]=0;c[N+12>>2]=0;c[Q+128+40>>2]=1065353216;L=Q+128+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;Ig(Q+288|0,0.0,0.0,0.0,Q+256|0,f,Q+128|0);T=+g[b+556>>2];v=+g[b+560>>2];U=+g[b+564>>2];x=+g[b+568>>2];H=T*(2.0/(T*T+v*v+U*U+x*x));A=v*(2.0/(T*T+v*v+U*U+x*x));I=U*(2.0/(T*T+v*v+U*U+x*x));X=+g[b+364>>2];W=+g[b+368>>2];_=+g[b+372>>2];k=_*(T*I-x*A)+(W*(T*A+x*I)+X*(1.0-(v*A+U*I)));m=_*(v*I+x*H)+(X*(T*A-x*I)+W*(1.0-(T*H+U*I)));n=X*(T*I+x*A)+W*(v*I-x*H)+_*(1.0-(T*H+v*A));i=+g[b+380>>2];G=+g[b+384>>2];E=+g[b+388>>2];o=(T*I-x*A)*E+(G*(T*A+x*I)+i*(1.0-(v*A+U*I)));p=(v*I+x*H)*E+(i*(T*A-x*I)+G*(1.0-(T*H+U*I)));q=i*(T*I+x*A)+G*(v*I-x*H)+E*(1.0-(T*H+v*A));R=+g[b+396>>2];D=+g[b+400>>2];B=+g[b+404>>2];S=(1.0-(v*A+U*I))*R+(T*A+x*I)*D+(T*I-x*A)*B;U=(T*A-x*I)*R+(1.0-(T*H+U*I))*D+(v*I+x*H)*B;A=(T*I+x*A)*R+(v*I-x*H)*D+(1.0-(T*H+v*A))*B;v=+g[b+300>>2];H=+g[b+316>>2];T=+g[b+332>>2];x=+g[b+304>>2];I=+g[b+320>>2];V=+g[b+336>>2];F=+g[b+308>>2];J=+g[b+324>>2];y=+g[b+340>>2];z=-+g[b+348>>2];ba=-+g[b+352>>2];Z=-+g[b+356>>2];_=X*0.0+W*0.0+_*0.0+ +g[b+412>>2]+(n*(F*z+J*ba+y*Z)+(k*(v*z+H*ba+T*Z)+m*(x*z+I*ba+V*Z)));E=i*0.0+G*0.0+E*0.0+ +g[b+416>>2]+(q*(F*z+J*ba+y*Z)+(o*(v*z+H*ba+T*Z)+p*(x*z+I*ba+V*Z)));Z=R*0.0+D*0.0+B*0.0+ +g[b+420>>2]+(A*(F*z+J*ba+y*Z)+(S*(v*z+H*ba+T*Z)+U*(x*z+I*ba+V*Z)));ba=+g[Q+128>>2];z=+g[M>>2];B=+g[Q+128+8>>2];D=+g[Q+128+16>>2];R=+g[Q+128+20>>2];G=+g[N>>2];i=+g[Q+128+32>>2];W=+g[Q+128+36>>2];X=+g[Q+128+40>>2];Y=B*Z+(ba*_+z*E)+ +g[Q+128+48>>2];$=D*_+E*R+Z*G+ +g[Q+128+52>>2];aa=_*i+E*W+Z*X+ +g[Q+128+56>>2];g[Q+64>>2]=(k*v+m*x+n*F)*ba+(o*v+p*x+q*F)*z+(S*v+U*x+A*F)*B;g[Q+64+4>>2]=(k*H+m*I+n*J)*ba+(o*H+p*I+q*J)*z+(S*H+U*I+A*J)*B;g[Q+64+8>>2]=(k*T+m*V+n*y)*ba+(o*T+p*V+q*y)*z+(S*T+U*V+A*y)*B;g[Q+64+12>>2]=0.0;g[Q+64+16>>2]=(k*v+m*x+n*F)*D+(o*v+p*x+q*F)*R+(S*v+U*x+A*F)*G;g[Q+64+20>>2]=(k*H+m*I+n*J)*D+(o*H+p*I+q*J)*R+(S*H+U*I+A*J)*G;g[Q+64+24>>2]=(k*T+m*V+n*y)*D+(o*T+p*V+q*y)*R+(S*T+U*V+A*y)*G;g[Q+64+28>>2]=0.0;g[Q+64+32>>2]=(k*v+m*x+n*F)*i+(o*v+p*x+q*F)*W+(S*v+U*x+A*F)*X;g[Q+64+36>>2]=(k*H+m*I+n*J)*i+(o*H+p*I+q*J)*W+(S*H+U*I+A*J)*X;g[Q+64+40>>2]=(k*T+m*V+n*y)*i+(o*T+p*V+q*y)*W+(S*T+U*V+A*y)*X;g[Q+64+44>>2]=0.0;g[Q+64+48>>2]=Y;g[Q+64+52>>2]=$;g[Q+64+56>>2]=aa;g[Q+64+60>>2]=0.0;aa=(S*v+U*x+A*F)*-Z+((k*v+m*x+n*F)*-_+(o*v+p*x+q*F)*-E);$=(S*H+U*I+A*J)*-Z+((k*H+m*I+n*J)*-_+(o*H+p*I+q*J)*-E);E=(S*T+U*V+A*y)*-Z+((k*T+m*V+n*y)*-_+(o*T+p*V+q*y)*-E);_=+g[Q+192>>2];Z=+g[O>>2];Y=+g[Q+192+8>>2];X=+g[Q+192+16>>2];W=+g[Q+192+20>>2];i=+g[P>>2];G=+g[Q+192+32>>2];R=+g[Q+192+36>>2];D=+g[Q+192+40>>2];B=aa*_+$*Z+E*Y+ +g[Q+192+48>>2];z=aa*X+$*W+E*i+ +g[Q+192+52>>2];E=aa*G+$*R+E*D+ +g[Q+192+56>>2];g[Q>>2]=(k*v+m*x+n*F)*_+(k*H+m*I+n*J)*Z+(k*T+m*V+n*y)*Y;g[Q+4>>2]=(o*v+p*x+q*F)*_+(o*H+p*I+q*J)*Z+(o*T+p*V+q*y)*Y;g[Q+8>>2]=(S*v+U*x+A*F)*_+(S*H+U*I+A*J)*Z+(S*T+U*V+A*y)*Y;g[Q+12>>2]=0.0;g[Q+16>>2]=(k*v+m*x+n*F)*X+(k*H+m*I+n*J)*W+(k*T+m*V+n*y)*i;g[Q+20>>2]=(o*v+p*x+q*F)*X+(o*H+p*I+q*J)*W+(o*T+p*V+q*y)*i;g[Q+24>>2]=(S*v+U*x+A*F)*X+(S*H+U*I+A*J)*W+(S*T+U*V+A*y)*i;g[Q+28>>2]=0.0;g[Q+32>>2]=(k*v+m*x+n*F)*G+(k*H+m*I+n*J)*R+(k*T+m*V+n*y)*D;g[Q+36>>2]=(o*v+p*x+q*F)*G+(o*H+p*I+q*J)*R+(o*T+p*V+q*y)*D;g[Q+40>>2]=(S*v+U*x+A*F)*G+(S*H+U*I+A*J)*R+(S*T+U*V+A*y)*D;g[Q+44>>2]=0.0;g[Q+48>>2]=B;g[Q+52>>2]=z;g[Q+56>>2]=E;g[Q+60>>2]=0.0;vf(Q+352|0,Q+64|0,Q+424|0,Q+416|0);E=+g[Q+416>>2];z=1.0/f*+g[Q+424>>2]*E;B=1.0/f*E*+g[Q+424+4>>2];E=1.0/f*E*+g[Q+424+8>>2];vf(Q+288|0,Q,Q+424|0,Q+416|0);D=+g[Q+416>>2];z=z-+g[Q+272>>2];B=B-+g[Q+272+4>>2];E=E-+g[Q+272+8>>2];y=1.0/f*+g[Q+424>>2]*D-+g[Q+256>>2];A=1.0/f*D*+g[Q+424+4>>2]-+g[Q+256+4>>2];D=1.0/f*D*+g[Q+424+8>>2]-+g[Q+256+8>>2];if(z*z+B*B+E*E>1.1920928955078125e-07){q=1.0/+C(+(z*z+B*B+E*E));P=c[b+28>>2]|0;i=z*q;m=B*q;o=E*q;q=z*q*(+g[P+264>>2]*z*q+B*q*+g[P+280>>2]+E*q*+g[P+296>>2])+B*q*(z*q*+g[P+268>>2]+B*q*+g[P+284>>2]+E*q*+g[P+300>>2])+E*q*(z*q*+g[P+272>>2]+B*q*+g[P+288>>2]+E*q*+g[P+304>>2])}else{i=0.0;m=0.0;o=0.0;q=0.0}if(y*y+A*A+D*D>1.1920928955078125e-07){v=1.0/+C(+(y*y+A*A+D*D));P=c[b+32>>2]|0;k=y*v;n=A*v;p=D*v;v=y*v*(+g[P+264>>2]*y*v+A*v*+g[P+280>>2]+D*v*+g[P+296>>2])+A*v*(y*v*+g[P+268>>2]+A*v*+g[P+284>>2]+D*v*+g[P+300>>2])+D*v*(y*v*+g[P+272>>2]+A*v*+g[P+288>>2]+D*v*+g[P+304>>2])}else{k=0.0;n=0.0;p=0.0;v=0.0}x=q*i+v*k;k=q*m+v*n;i=q*o+v*p;if(x*x+k*k+i*i>1.1920928955078125e-07){o=1.0/+C(+(x*x+k*k+i*i));r=c[b+28>>2]|0;m=x*o*(+g[r+264>>2]*x*o+k*o*+g[r+280>>2]+i*o*+g[r+296>>2])+k*o*(x*o*+g[r+268>>2]+k*o*+g[r+284>>2]+i*o*+g[r+300>>2])+i*o*(x*o*+g[r+272>>2]+k*o*+g[r+288>>2]+i*o*+g[r+304>>2]);h=c[b+32>>2]|0;o=x*o*(x*o*+g[h+264>>2]+k*o*+g[h+280>>2]+i*o*+g[h+296>>2])+k*o*(x*o*+g[h+268>>2]+k*o*+g[h+284>>2]+i*o*+g[h+300>>2])+i*o*(x*o*+g[h+272>>2]+k*o*+g[h+288>>2]+i*o*+g[h+304>>2]);k=(z*m-y*o)*(1.0/((m+o)*(m+o)));v=(B*m-A*o)*(1.0/((m+o)*(m+o)));o=(E*m-D*o)*(1.0/((m+o)*(m+o)));i=+g[b+572>>2];if(!(i>=0.0))i=v;else{m=(a[b+553>>0]|0)==0?i:i/m;n=+g[b+576>>2];p=+g[b+580>>2];q=+g[b+584>>2];i=+C(+((k+n)*(k+n)+(v+p)*(v+p)+(o+q)*(o+q)));if(i>m){k=m*(k+n)*(1.0/i)-n;o=m*(o+q)*(1.0/i)-q;i=m*(v+p)*(1.0/i)-p}else i=v;g[b+576>>2]=k+n;g[b+580>>2]=i+p;g[b+584>>2]=o+q}n=+C(+(k*k+i*i+o*o));m=k*(1.0/n);k=i*(1.0/n);i=o*(1.0/n);if(c[d+240>>2]|0){ba=m*+g[r+296>>2]+k*+g[r+300>>2]+i*+g[r+304>>2];aa=m*+g[r+280>>2]+k*+g[r+284>>2]+i*+g[r+288>>2];$=m*+g[r+264>>2]+k*+g[r+268>>2]+i*+g[r+272>>2];Z=n*0.0*+g[d+116>>2];_=n*0.0*+g[d+120>>2];g[d+64>>2]=n*0.0*+g[d+112>>2]+ +g[d+64>>2];g[d+68>>2]=Z+ +g[d+68>>2];g[d+72>>2]=_+ +g[d+72>>2];aa=aa*n*+g[d+100>>2];ba=ba*n*+g[d+104>>2];g[d+80>>2]=$*n*+g[d+96>>2]+ +g[d+80>>2];g[d+84>>2]=aa+ +g[d+84>>2];g[d+88>>2]=ba+ +g[d+88>>2];h=c[b+32>>2]|0}if(c[e+240>>2]|0){ba=m*+g[h+296>>2]+k*+g[h+300>>2]+i*+g[h+304>>2];aa=m*+g[h+280>>2]+k*+g[h+284>>2]+i*+g[h+288>>2];$=m*+g[h+264>>2]+k*+g[h+268>>2]+i*+g[h+272>>2];Z=n*-0.0*+g[e+116>>2];_=n*-0.0*+g[e+120>>2];g[e+64>>2]=n*-0.0*+g[e+112>>2]+ +g[e+64>>2];g[e+68>>2]=Z+ +g[e+68>>2];g[e+72>>2]=_+ +g[e+72>>2];aa=aa*+g[e+100>>2]*-n;ba=ba*+g[e+104>>2]*-n;g[e+80>>2]=$*+g[e+96>>2]*-n+ +g[e+80>>2];g[e+84>>2]=aa+ +g[e+84>>2];g[e+88>>2]=ba+ +g[e+88>>2]}}t=e+192|0;h=d+192|0;w=e+200|0;s=d+200|0;N=e+88|0;K=d+88|0;O=e+80|0;L=d+80|0;u=e+196|0;r=d+196|0;P=e+84|0;M=d+84|0}while(0);z=+g[h>>2]+ +g[L>>2];y=+g[r>>2]+ +g[M>>2];x=+g[s>>2]+ +g[K>>2];v=+g[t>>2]+ +g[O>>2];q=+g[u>>2]+ +g[P>>2];p=+g[w>>2]+ +g[N>>2];if(a[b+526>>0]|0){k=+g[b+528>>2];i=k*+g[b+504>>2]*+g[b+432>>2]/f;m=+g[b+460>>2];n=+g[b+464>>2];o=+g[b+468>>2];if((v-z)*m+(q-y)*n+(p-x)*o>0.0)i=i+k*((v-z)*m+(q-y)*n+(p-x)*o)*+g[b+436>>2];aa=+g[b+516>>2];_=aa+i*+g[b+492>>2];g[Q+424>>2]=_;g[Q+416>>2]=0.0;h=c[(_>0.0?Q+424|0:Q+416|0)>>2]|0;c[b+516>>2]=h;aa=(c[j>>2]=h,+g[j>>2])-aa;_=+g[b+536>>2];$=+g[b+540>>2];i=+g[b+544>>2];k=aa*m-_*(aa*m*_+aa*n*$+aa*o*i);ba=aa*n-$*(aa*m*_+aa*n*$+aa*o*i);n=aa*o-i*(aa*m*_+aa*n*$+aa*o*i);i=+C(+(n*n+(k*k+ba*ba)));k=1.0/i*k;m=1.0/i*ba;n=1.0/i*n;h=c[b+28>>2]|0;if(c[d+240>>2]|0){ba=k*+g[h+296>>2]+m*+g[h+300>>2]+n*+g[h+304>>2];aa=k*+g[h+280>>2]+m*+g[h+284>>2]+n*+g[h+288>>2];$=k*+g[h+264>>2]+m*+g[h+268>>2]+n*+g[h+272>>2];Z=i*0.0*+g[d+116>>2];_=i*0.0*+g[d+120>>2];g[d+64>>2]=i*0.0*+g[d+112>>2]+ +g[d+64>>2];g[d+68>>2]=Z+ +g[d+68>>2];g[d+72>>2]=_+ +g[d+72>>2];aa=aa*i*+g[d+100>>2];ba=ba*i*+g[d+104>>2];g[L>>2]=$*i*+g[d+96>>2]+ +g[L>>2];g[M>>2]=aa+ +g[M>>2];g[K>>2]=ba+ +g[K>>2]}h=c[b+32>>2]|0;if(c[e+240>>2]|0){ba=k*+g[h+296>>2]+m*+g[h+300>>2]+n*+g[h+304>>2];aa=k*+g[h+280>>2]+m*+g[h+284>>2]+n*+g[h+288>>2];$=k*+g[h+264>>2]+m*+g[h+268>>2]+n*+g[h+272>>2];Z=i*-0.0*+g[e+116>>2];_=i*-0.0*+g[e+120>>2];g[e+64>>2]=i*-0.0*+g[e+112>>2]+ +g[e+64>>2];g[e+68>>2]=Z+ +g[e+68>>2];g[e+72>>2]=_+ +g[e+72>>2];aa=aa*+g[e+100>>2]*-i;ba=ba*+g[e+104>>2]*-i;g[O>>2]=$*+g[e+96>>2]*-i+ +g[O>>2];g[P>>2]=aa+ +g[P>>2];g[N>>2]=ba+ +g[N>>2]}}if(!(a[b+525>>0]|0)){l=Q;return}o=+g[b+532>>2];n=o*+g[b+508>>2]*+g[b+432>>2]/f;m=+g[b+476>>2];k=+g[b+480>>2];i=+g[b+484>>2];if((v-z)*m+(q-y)*k+(p-x)*i>0.0)n=n+o*((v-z)*m+(q-y)*k+(p-x)*i)*+g[b+436>>2];ba=+g[b+520>>2];n=ba+n*+g[b+496>>2];g[Q+424>>2]=n;g[Q+416>>2]=0.0;h=c[(n>0.0?Q+424|0:Q+416|0)>>2]|0;c[b+520>>2]=h;n=(c[j>>2]=h,+g[j>>2])-ba;h=c[b+28>>2]|0;if(c[d+240>>2]|0){ba=m*+g[h+296>>2]+k*+g[h+300>>2]+i*+g[h+304>>2];aa=m*+g[h+280>>2]+k*+g[h+284>>2]+i*+g[h+288>>2];i=m*+g[h+264>>2]+k*+g[h+268>>2]+i*+g[h+272>>2];m=n*0.0*+g[d+116>>2];k=n*0.0*+g[d+120>>2];g[d+64>>2]=n*0.0*+g[d+112>>2]+ +g[d+64>>2];g[d+68>>2]=m+ +g[d+68>>2];g[d+72>>2]=k+ +g[d+72>>2];k=aa*n*+g[d+100>>2];m=ba*n*+g[d+104>>2];g[L>>2]=i*n*+g[d+96>>2]+ +g[L>>2];g[M>>2]=k+ +g[M>>2];g[K>>2]=m+ +g[K>>2];m=+g[b+476>>2];k=+g[b+480>>2];i=+g[b+484>>2]}h=c[b+32>>2]|0;if(!(c[e+240>>2]|0)){l=Q;return}ba=m*+g[h+296>>2]+k*+g[h+300>>2]+i*+g[h+304>>2];aa=m*+g[h+280>>2]+k*+g[h+284>>2]+i*+g[h+288>>2];$=m*+g[h+264>>2]+k*+g[h+268>>2]+i*+g[h+272>>2];Z=n*-0.0*+g[e+116>>2];_=n*-0.0*+g[e+120>>2];g[e+64>>2]=n*-0.0*+g[e+112>>2]+ +g[e+64>>2];g[e+68>>2]=Z+ +g[e+68>>2];g[e+72>>2]=_+ +g[e+72>>2];aa=aa*+g[e+100>>2]*-n;ba=ba*+g[e+104>>2]*-n;g[O>>2]=$*+g[e+96>>2]*-n+ +g[O>>2];g[P>>2]=aa+ +g[P>>2];g[N>>2]=ba+ +g[N>>2];l=Q;return}function gc(b,d){b=b|0;d=+d;var e=0,f=0,h=0,i=0.0,k=0.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,y=0.0,z=0.0,A=0.0,D=0.0,E=0.0,F=0,G=0,H=0.0,I=0.0,J=0,K=0,L=0,M=0,N=0.0,O=0,P=0,Q=0.0,R=0,S=0.0,T=0.0,U=0.0,V=0,W=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.0,fa=0.0,ga=0.0,ha=0.0;V=l;l=l+240|0;e=c[b+24>>2]|0;if((e|0)<=0){l=V;return}R=V+128+76|0;P=V+80+16|0;O=V+80+32|0;G=0;do{F=c[(c[b+32>>2]|0)+(G<<2)>>2]|0;switch(c[F+216>>2]|0){case 2:case 5:break;default:{if(a[F+924>>0]|0){a[F+924>>0]=0;f=c[F+732>>2]|0;if((f|0)>0){h=c[F+740>>2]|0;e=0;do{n=c[h+(e*52|0)+8>>2]|0;x=c[h+(e*52|0)+12>>2]|0;A=+g[n+8>>2]-+g[x+8>>2];D=+g[n+12>>2]-+g[x+12>>2];E=+g[n+16>>2]-+g[x+16>>2];E=+C(+(A*A+D*D+E*E));g[h+(e*52|0)+16>>2]=E;g[h+(e*52|0)+28>>2]=E*E;e=e+1|0}while((e|0)!=(f|0));e=0;do{g[h+(e*52|0)+24>>2]=(+g[(c[h+(e*52|0)+8>>2]|0)+88>>2]+ +g[(c[h+(e*52|0)+12>>2]|0)+88>>2])/+g[(c[h+(e*52|0)+4>>2]|0)+4>>2];e=e+1|0}while((e|0)!=(f|0))}Lf(F);tm(F+988|0);if(c[F+388>>2]&16|0)Rg(F)}m=+g[F+368>>2]*d;g[F+452>>2]=m;g[F+456>>2]=1.0/m;g[F+460>>2]=m*3.0;e=c[F+192>>2]|0;m=+gb[c[(c[e>>2]|0)+48>>2]&15](e);g[F+464>>2]=m;g[F+468>>2]=m*.25;e=c[F+684>>2]|0;m=+g[F+452>>2];i=+g[e+40>>2]*m;k=m*+g[e+44>>2];m=m*+g[e+48>>2];e=c[F+712>>2]|0;if((e|0)>0){f=c[F+720>>2]|0;h=0;do{if(+g[f+(h*104|0)+88>>2]>0.0){x=f+(h*104|0)+40|0;g[x>>2]=i+ +g[x>>2];x=f+(h*104|0)+44|0;g[x>>2]=k+ +g[x>>2];x=f+(h*104|0)+48|0;g[x>>2]=m+ +g[x>>2]}h=h+1|0}while((h|0)!=(e|0))}bj(11217);p=+g[F+308>>2];q=+g[F+312>>2];n=+g[F+304>>2]>0.0?1:+g[F+300>>2]>0.0;x=c[F+712>>2]|0;if(p!=0.0|q>0.0){if((x|0)>0){e=c[F+720>>2]|0;k=+g[e+8>>2];m=+g[e+12>>2];o=+g[e+16>>2];e=c[F+752>>2]|0;if((e|0)>0){f=c[F+760>>2]|0;h=0;i=0.0;do{W=c[f+(h*44|0)+8>>2]|0;X=c[f+(h*44|0)+12>>2]|0;D=+g[X+8>>2]-k;w=+g[X+12>>2]-m;z=+g[X+16>>2]-o;X=c[f+(h*44|0)+16>>2]|0;A=+g[X+8>>2]-k;y=+g[X+12>>2]-m;E=+g[X+16>>2]-o;i=i+((+g[W+16>>2]-o)*(D*y-w*A)+((+g[W+8>>2]-k)*(w*E-z*y)+(+g[W+12>>2]-m)*(z*A-D*E)));h=h+1|0}while((h|0)!=(e|0))}else i=0.0;i=i/6.0}else i=0.0;k=p*(1.0/+B(+i));i=q*(+g[F+476>>2]-i)}else{i=0.0;k=0.0}a:do if((x|0)>0){if(n){f=0;while(1){e=c[F+720>>2]|0;if(+g[e+(f*104|0)+88>>2]>0.0){Ce(F,F+1212|0,f);if(p!=0.0){A=k*+g[e+(f*104|0)+92>>2];D=A*+g[e+(f*104|0)+76>>2];E=A*+g[e+(f*104|0)+80>>2];X=e+(f*104|0)+56|0;g[X>>2]=+g[e+(f*104|0)+72>>2]*A+ +g[X>>2];X=e+(f*104|0)+60|0;g[X>>2]=D+ +g[X>>2];X=e+(f*104|0)+64|0;g[X>>2]=E+ +g[X>>2]}if(q>0.0){A=i*+g[e+(f*104|0)+92>>2];D=A*+g[e+(f*104|0)+76>>2];E=A*+g[e+(f*104|0)+80>>2];X=e+(f*104|0)+56|0;g[X>>2]=+g[e+(f*104|0)+72>>2]*A+ +g[X>>2];X=e+(f*104|0)+60|0;g[X>>2]=D+ +g[X>>2];X=e+(f*104|0)+64|0;g[X>>2]=E+ +g[X>>2]}}f=f+1|0;if((f|0)==(x|0))break a}}e=c[F+720>>2]|0;f=0;do{if(+g[e+(f*104|0)+88>>2]>0.0){if(p!=0.0){A=k*+g[e+(f*104|0)+92>>2];D=A*+g[e+(f*104|0)+76>>2];E=A*+g[e+(f*104|0)+80>>2];X=e+(f*104|0)+56|0;g[X>>2]=+g[e+(f*104|0)+72>>2]*A+ +g[X>>2];X=e+(f*104|0)+60|0;g[X>>2]=D+ +g[X>>2];X=e+(f*104|0)+64|0;g[X>>2]=E+ +g[X>>2]}if(q>0.0){A=i*+g[e+(f*104|0)+92>>2];D=A*+g[e+(f*104|0)+76>>2];E=A*+g[e+(f*104|0)+80>>2];X=e+(f*104|0)+56|0;g[X>>2]=+g[e+(f*104|0)+72>>2]*A+ +g[X>>2];X=e+(f*104|0)+60|0;g[X>>2]=D+ +g[X>>2];X=e+(f*104|0)+64|0;g[X>>2]=E+ +g[X>>2]}}f=f+1|0}while((f|0)!=(x|0))}while(0);n=c[F+752>>2]|0;if((n|0)>0){x=0;do{v=+g[F+452>>2];q=+g[F+304>>2];p=+g[F+300>>2];b:do if((q>0.0|p>0.0?(K=c[F+288>>2]|0,(K|0)>3):0)?(L=c[F+760>>2]|0,M=c[L+(x*44|0)+8>>2]|0,W=c[L+(x*44|0)+12>>2]|0,N=+g[M+40>>2],H=+g[M+44>>2],I=+g[M+48>>2],X=c[L+(x*44|0)+16>>2]|0,J=c[c[F+684>>2]>>2]|0,S=(N+ +g[W+40>>2]+ +g[X+40>>2])*.3333333432674408-+g[F+1212>>2],U=(H+ +g[W+44>>2]+ +g[X+44>>2])*.3333333432674408-+g[F+1216>>2],T=(I+ +g[W+48>>2]+ +g[X+48>>2])*.3333333432674408-+g[F+1220>>2],Q=+C(+(S*S+U*U+T*T)),S*S+U*U+T*T>1.1920928955078125e-07):0){t=S*(1.0/Q);w=U*(1.0/Q);y=T*(1.0/Q);r=+g[L+(x*44|0)+20>>2];s=+g[L+(x*44|0)+24>>2];u=+g[L+(x*44|0)+28>>2];switch(K|0){case 5:break;case 4:case 6:{i=S*r+U*s+T*u<0.0?-1.0:1.0;if(!(T*u*i+(S*r*i+U*s*i)>0.0))break b;k=-((c[j>>2]=J,+g[j>>2])*(S*S+U*U+T*T)*(T*u*i+(S*r*i+U*s*i))*+g[L+(x*44|0)+36>>2]);t=(t*p*k+(r*i*q*k+0.0))*.3333333432674408;r=(w*p*k+(s*i*q*k+0.0))*.3333333432674408;p=(y*p*k+(u*i*q*k+0.0))*.3333333432674408;h=M;k=N;m=H;o=I;e=0;while(1){i=v*+g[h+88>>2];f=h+56|0;if(p*i*p*i+(t*i*t*i+r*i*r*i)>k*k+m*m+o*o){D=1.0/+C(+(p*p+(t*t+r*r)));E=o*p*D+(k*t*D+m*r*D);g[f>>2]=+g[f>>2]-1.0/i*t*D*E;X=h+60|0;g[X>>2]=+g[X>>2]-1.0/i*r*D*E;X=h+64|0;g[X>>2]=+g[X>>2]-1.0/i*p*D*E}else{g[f>>2]=t+ +g[f>>2];X=h+60|0;g[X>>2]=r+ +g[X>>2];X=h+64|0;g[X>>2]=p+ +g[X>>2]}e=e+1|0;if((e|0)==3)break b;X=c[L+(x*44|0)+8+(e<<2)>>2]|0;h=X;k=+g[X+40>>2];m=+g[X+44>>2];o=+g[X+48>>2]}}default:break b}o=S*r+U*s+T*u<0.0?-1.0:1.0;k=y*u*o+(t*r*o+w*s*o);m=+g[L+(x*44|0)+36>>2]*.5;i=(c[j>>2]=J,+g[j>>2]);p=k*(S*S+U*U+T*T)*p*.5*i*m;if(k>0.0&k<.9847999811172485){A=Q*q*.5*i*m*+C(+(1.0-k*k));D=(y*(t*u*o-y*r*o)-w*(w*r*o-t*s*o))*A*.3333333432674408;E=(w*(y*s*o-w*u*o)-t*(t*u*o-y*r*o))*A*.3333333432674408;A=(t*(w*r*o-t*s*o)-y*(y*s*o-w*u*o))*A*.3333333432674408}else{D=0.0;E=0.0;A=0.0}f=M;i=t*p*-.3333333432674408;z=w*p*-.3333333432674408;o=y*p*-.3333333432674408;m=y*p*-.3333333432674408;v=w*p*-.3333333432674408;u=t*p*-.3333333432674408;e=0;while(1){k=+g[f+88>>2];if(k>0.0){r=+g[F+452>>2];s=i*k*r;t=z*k*r;r=o*k*r;k=+g[f+40>>2];p=+g[f+44>>2];q=+g[f+48>>2];if(r*r+(s*s+t*t)>0.0?r*r+(s*s+t*t)>=k*k+p*p+q*q:0){p=+C(+(k*k+p*p+q*q))/+C(+(r*r+(s*s+t*t)))*.800000011920929;i=i*p;k=z*p;o=o*p;p=i;q=k;m=o}else{p=u;q=v;k=z}h=f+56|0;W=f+60|0;y=q+ +g[W>>2];X=f+64|0;z=m+ +g[X>>2];g[h>>2]=D+(p+ +g[h>>2]);g[W>>2]=A+y;g[X>>2]=E+z}else{p=u;k=z;q=v}e=e+1|0;if((e|0)==3)break b;f=c[L+(x*44|0)+8+(e<<2)>>2]|0;z=k;v=q;u=p}}while(0);x=x+1|0}while((x|0)!=(n|0))}e=c[2405]|0;X=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=X;do if(!X){if(c[e+4>>2]|0){Za(V+128|0,0)|0;X=c[6471]|0;g[e+8>>2]=+g[e+8>>2]+ +(((c[V+128+4>>2]|0)-(c[X+4>>2]|0)+(((c[V+128>>2]|0)-(c[X>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3;if(c[e+16>>2]|0)break;e=c[2405]|0}c[2405]=c[e+20>>2]}while(0);e=c[F+712>>2]|0;if((e|0)>0){f=0;do{W=c[F+720>>2]|0;X=W+(f*104|0)+24|0;x=W+(f*104|0)+8|0;c[X>>2]=c[x>>2];c[X+4>>2]=c[x+4>>2];c[X+8>>2]=c[x+8>>2];c[X+12>>2]=c[x+12>>2];X=W+(f*104|0)+56|0;D=+g[W+(f*104|0)+88>>2];E=+g[F+452>>2];z=+g[X>>2]*D*E;A=D*+g[W+(f*104|0)+60>>2]*E;D=E*D*+g[W+(f*104|0)+64>>2];E=+g[(c[F+684>>2]|0)+12>>2]/E;z=z>E?E:z;A=A>E?E:A;D=D>E?E:D;n=W+(f*104|0)+40|0;z=(z<-E?-E:z)+ +g[n>>2];g[n>>2]=z;n=W+(f*104|0)+44|0;A=(A<-E?-E:A)+ +g[n>>2];g[n>>2]=A;n=W+(f*104|0)+48|0;D=(D<-E?-E:D)+ +g[n>>2];g[n>>2]=D;E=+g[F+452>>2];g[x>>2]=z*E+ +g[x>>2];x=W+(f*104|0)+12|0;g[x>>2]=E*A+ +g[x>>2];W=W+(f*104|0)+16|0;g[W>>2]=D*E+ +g[W>>2];c[X>>2]=0;c[X+4>>2]=0;c[X+8>>2]=0;c[X+12>>2]=0;f=f+1|0}while((f|0)!=(e|0))}Gc(F);e=c[F+928>>2]|0;if(e){X=c[F+192>>2]|0;A=+gb[c[(c[X>>2]|0)+48>>2]&15](X);E=+g[e+4>>2]-A;D=+g[e+8>>2]-A;g[F+892>>2]=+g[e>>2]-A;g[F+896>>2]=E;g[F+900>>2]=D;g[F+904>>2]=0.0;D=A+ +g[e+20>>2];E=A+ +g[e+24>>2];g[F+908>>2]=A+ +g[e+16>>2];g[F+912>>2]=D;g[F+916>>2]=E;g[F+920>>2]=0.0;e=c[F+188>>2]|0;if(e|0){X=c[F+684>>2]|0;W=c[X+32>>2]|0;Rb[c[(c[W>>2]|0)+16>>2]&31](W,e,F+892|0,F+908|0,c[X+36>>2]|0)}}else{c[F+892>>2]=0;c[F+892+4>>2]=0;c[F+892+8>>2]=0;c[F+892+12>>2]=0;c[F+892+16>>2]=0;c[F+892+20>>2]=0;c[F+892+24>>2]=0;c[F+892+28>>2]=0}e=c[F+712>>2]|0;if((e|0)>0){f=0;do{W=c[F+720>>2]|0;D=+g[F+464>>2];z=+g[W+(f*104|0)+8>>2];E=+g[W+(f*104|0)+12>>2];A=+g[W+(f*104|0)+16>>2];g[V>>2]=z-D;g[V+4>>2]=E-D;g[V+8>>2]=A-D;g[V+12>>2]=0.0;g[V+16>>2]=D+z;g[V+20>>2]=D+E;g[V+24>>2]=D+A;g[V+28>>2]=0.0;X=c[W+(f*104|0)+96>>2]|0;A=+g[F+460>>2];D=A*+g[W+(f*104|0)+44>>2];E=A*+g[W+(f*104|0)+48>>2];g[V+128>>2]=+g[W+(f*104|0)+40>>2]*A;g[V+128+4>>2]=D;g[V+128+8>>2]=E;g[V+128+12>>2]=0.0;Zg(F+928|0,X,V,V+128|0,+g[F+468>>2])|0;f=f+1|0}while((f|0)!=(e|0))}if(c[F+988>>2]|0?(c[F+752>>2]|0)>0:0){e=0;do{X=c[F+760>>2]|0;n=c[X+(e*44|0)+8>>2]|0;x=c[X+(e*44|0)+12>>2]|0;W=c[X+(e*44|0)+16>>2]|0;z=(+g[n+40>>2]+ +g[x+40>>2]+ +g[W+40>>2])*.3333333432674408;A=(+g[n+44>>2]+ +g[x+44>>2]+ +g[W+44>>2])*.3333333432674408;D=(+g[n+48>>2]+ +g[x+48>>2]+ +g[W+48>>2])*.3333333432674408;u=+g[F+464>>2];r=+g[n+8>>2];t=+g[n+12>>2];w=+g[n+16>>2];E=+g[n+20>>2];y=+g[x+8>>2];k=y>2];m=v>2];o=s>2];p=q>2];s=+g[W+12>>2];v=+g[W+16>>2];y=+g[W+20>>2];g[V>>2]=(q>2]=(s>2]=(v>2]=y>2]=u+(r>2]=u+(t>2]=u+(w>2]=E>2]|0;E=+g[F+460>>2];g[V+128>>2]=z*E;g[V+128+4>>2]=A*E;g[V+128+8>>2]=D*E;g[V+128+12>>2]=0.0;Zg(F+988|0,X,V,V+128|0,+g[F+468>>2])|0;e=e+1|0}while((e|0)<(c[F+752>>2]|0))}do if(a[F+473>>0]|0){x=c[F+712>>2]|0;if((x|0)>0){e=c[F+720>>2]|0;f=c[F+512>>2]|0;k=0.0;m=0.0;i=0.0;h=0;do{E=+g[f+(h<<2)>>2];i=i+ +g[e+(h*104|0)+8>>2]*E;k=k+E*+g[e+(h*104|0)+12>>2];m=m+E*+g[e+(h*104|0)+16>>2];h=h+1|0}while((h|0)!=(x|0))}else{i=0.0;k=0.0;m=0.0}g[F+520>>2]=i;g[F+524>>2]=k;g[F+528>>2]=m;g[F+532>>2]=0.0;h=V+128+4|0;n=h+44|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(n|0));g[V+128>>2]=1.1920928955078125e-07;g[V+128+20>>2]=2.384185791015625e-07;g[V+128+40>>2]=3.5762786865234375e-07;if((x|0)>0){e=c[F+512>>2]|0;f=c[F+720>>2]|0;h=c[F+492>>2]|0;o=1.1920928955078125e-07;p=+g[V+128+4>>2];q=+g[V+128+8>>2];r=+g[V+128+16>>2];s=2.384185791015625e-07;t=+g[V+128+24>>2];u=0.0;v=0.0;w=3.5762786865234375e-07;n=0;do{D=+g[e+(n<<2)>>2];Y=(+g[f+(n*104|0)+8>>2]-i)*D;y=(+g[f+(n*104|0)+12>>2]-k)*D;D=D*(+g[f+(n*104|0)+16>>2]-m);z=+g[h+(n<<4)>>2];A=+g[h+(n<<4)+4>>2];E=+g[h+(n<<4)+8>>2];o=Y*z+o;p=Y*A+p;q=Y*E+q;r=y*z+r;s=y*A+s;t=y*E+t;u=D*z+u;v=D*A+v;w=D*E+w;n=n+1|0}while((n|0)!=(x|0));g[V+128>>2]=o;g[V+128+4>>2]=p;g[V+128+8>>2]=q;g[V+128+16>>2]=r;g[V+128+20>>2]=s;g[V+128+24>>2]=t;g[V+128+32>>2]=u;g[V+128+36>>2]=v;g[V+128+40>>2]=w}if((a[22728]|0)==0?Yy(22728)|0:0){g[5824]=9.999999747378752e-05;c[5825]=16}Xc(V+128|0,V+80|0,V+32|0);c[F+536>>2]=c[V+80>>2];c[F+536+4>>2]=c[V+80+4>>2];c[F+536+8>>2]=c[V+80+8>>2];c[F+536+12>>2]=c[V+80+12>>2];c[F+552>>2]=c[P>>2];c[F+552+4>>2]=c[P+4>>2];c[F+552+8>>2]=c[P+8>>2];c[F+552+12>>2]=c[P+12>>2];c[F+568>>2]=c[O>>2];c[F+568+4>>2]=c[O+4>>2];c[F+568+8>>2]=c[O+8>>2];c[F+568+12>>2]=c[O+12>>2];ba=+g[V+80>>2];Z=+g[P>>2];z=+g[O>>2];aa=+g[V+80+4>>2];v=+g[V+80+20>>2];D=+g[V+80+36>>2];$=+g[V+80+8>>2];w=+g[V+80+24>>2];Y=+g[V+80+40>>2];s=+g[F+632>>2];t=+g[F+636>>2];u=+g[F+640>>2];ha=+g[F+648>>2];ga=+g[F+652>>2];r=+g[F+656>>2];A=+g[F+664>>2];E=+g[F+668>>2];i=+g[F+672>>2];fa=+g[V+128>>2];ea=+g[V+128+16>>2];q=+g[V+128+32>>2];o=(ba*s+aa*t+$*u)*fa+(Z*s+v*t+w*u)*ea+(z*s+D*t+Y*u)*q;da=+g[V+128+4>>2];ca=+g[V+128+20>>2];p=+g[V+128+36>>2];m=(ba*s+aa*t+$*u)*da+(Z*s+v*t+w*u)*ca+(z*s+D*t+Y*u)*p;_=+g[V+128+8>>2];y=+g[V+128+24>>2];k=+g[V+128+40>>2];u=(ba*s+aa*t+$*u)*_+(Z*s+v*t+w*u)*y+(z*s+D*t+Y*u)*k;t=(ba*ha+aa*ga+$*r)*fa+(Z*ha+v*ga+w*r)*ea+(z*ha+D*ga+Y*r)*q;s=(ba*ha+aa*ga+$*r)*da+(Z*ha+v*ga+w*r)*ca+(z*ha+D*ga+Y*r)*p;r=(ba*ha+aa*ga+$*r)*_+(Z*ha+v*ga+w*r)*y+(z*ha+D*ga+Y*r)*k;q=fa*(ba*A+aa*E+$*i)+ea*(Z*A+v*E+w*i)+(z*A+D*E+Y*i)*q;p=(ba*A+aa*E+$*i)*da+(Z*A+v*E+w*i)*ca+(z*A+D*E+Y*i)*p;k=(ba*A+aa*E+$*i)*_+(Z*A+v*E+w*i)*y+(z*A+D*E+Y*i)*k;g[F+584>>2]=o;g[F+588>>2]=m;g[F+592>>2]=u;g[F+596>>2]=0.0;g[F+600>>2]=t;g[F+604>>2]=s;g[F+608>>2]=r;g[F+612>>2]=0.0;g[F+616>>2]=q;g[F+620>>2]=p;g[F+624>>2]=k;g[F+628>>2]=0.0;i=+g[F+364>>2];if(i>1.0){ha=1.0/(u*(p*t-s*q)+(o*(s*k-r*p)+m*(r*q-k*t)))<1.0?1.0:i<1.0/(u*(p*t-s*q)+(o*(s*k-r*p)+m*(r*q-k*t)))?i:1.0/(u*(p*t-s*q)+(o*(s*k-r*p)+m*(r*q-k*t)));g[F+584>>2]=o*ha;g[F+588>>2]=m*ha;g[F+592>>2]=u*ha;g[F+596>>2]=0.0;g[F+600>>2]=t*ha;g[F+604>>2]=s*ha;g[F+608>>2]=r*ha;g[F+612>>2]=0.0;g[F+616>>2]=q*ha;g[F+620>>2]=p*ha;g[F+624>>2]=ha*k;g[F+628>>2]=0.0}if(a[F+473>>0]|0){if(!(+g[F+320>>2]>0.0))break;i=+g[F+536>>2];p=+g[F+540>>2];q=+g[F+544>>2];r=+g[F+552>>2];s=+g[F+556>>2];t=+g[F+560>>2];k=+g[F+568>>2];m=+g[F+572>>2];o=+g[F+576>>2];e=c[F+712>>2]|0;if((e|0)<=0)break;h=0;do{f=c[F+720>>2]|0;if(+g[f+(h*104|0)+88>>2]>0.0){x=c[F+492>>2]|0;ca=+g[x+(h<<4)>>2];da=+g[x+(h<<4)+4>>2];ea=+g[x+(h<<4)+8>>2];ba=+g[F+320>>2];x=f+(h*104|0)+8|0;fa=+g[x>>2];W=f+(h*104|0)+12|0;ga=+g[W>>2];X=f+(h*104|0)+16|0;ha=+g[X>>2];ga=ga+ba*(r*ca+s*da+t*ea+ +g[F+524>>2]-ga);ha=ha+ba*(k*ca+m*da+o*ea+ +g[F+528>>2]-ha);g[x>>2]=fa+ba*(+g[F+520>>2]+(i*ca+p*da+q*ea)-fa);g[W>>2]=ga;g[X>>2]=ha;g[f+(h*104|0)+20>>2]=0.0}h=h+1|0}while((h|0)!=(e|0))}}while(0);h=V+128|0;n=h+104|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(n|0));e=c[F+812>>2]|0;if((e|0)<0){if((c[F+816>>2]|0)<0){f=c[F+820>>2]|0;if(f|0){if(a[F+824>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0)}c[F+820>>2]=0}a[F+824>>0]=1;c[F+820>>2]=0;c[F+816>>2]=0}do{X=c[F+820>>2]|0;W=X+(e*104|0)|0;c[W>>2]=c[V+128>>2];c[W+4>>2]=c[V+128+4>>2];c[W+8>>2]=c[V+128+8>>2];c[W+12>>2]=c[V+128+12>>2];c[W+16>>2]=c[V+128+16>>2];c[W+20>>2]=c[V+128+20>>2];c[W+24>>2]=c[V+128+24>>2];W=X+(e*104|0)+28|0;c[W>>2]=c[V+128+28>>2];c[W+4>>2]=c[V+128+28+4>>2];c[W+8>>2]=c[V+128+28+8>>2];c[W+12>>2]=c[V+128+28+12>>2];W=X+(e*104|0)+44|0;c[W>>2]=c[V+128+44>>2];c[W+4>>2]=c[V+128+44+4>>2];c[W+8>>2]=c[V+128+44+8>>2];c[W+12>>2]=c[V+128+44+12>>2];W=X+(e*104|0)+60|0;c[W>>2]=c[V+128+60>>2];c[W+4>>2]=c[V+128+60+4>>2];c[W+8>>2]=c[V+128+60+8>>2];c[W+12>>2]=c[V+128+60+12>>2];X=X+(e*104|0)+76|0;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[X+16>>2]=c[R+16>>2];c[X+20>>2]=c[R+20>>2];c[X+24>>2]=c[R+24>>2];e=e+1|0}while((e|0)!=0)}c[F+812>>2]=0;h=V+128|0;n=h+56|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(n|0));e=c[F+832>>2]|0;if((e|0)<0){if((c[F+836>>2]|0)<0){f=c[F+840>>2]|0;if(f|0){if(a[F+844>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0)}c[F+840>>2]=0}a[F+844>>0]=1;c[F+840>>2]=0;c[F+836>>2]=0}do{h=(c[F+840>>2]|0)+(e*56|0)|0;f=V+128|0;n=h+56|0;do{c[h>>2]=c[f>>2];h=h+4|0;f=f+4|0}while((h|0)<(n|0));e=e+1|0}while((e|0)!=0)}c[F+832>>2]=0;Xf(F+928|0,1);Xf(F+988|0,1);Xf(F+1048|0,1);e=c[b+24>>2]|0}}G=G+1|0}while((G|0)<(e|0));l=V;return}function hc(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,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,ha=0,ia=0,ja=0;V=c[e>>2]|0;fa=c[f>>2]|0;if(V|0)g=c[V+12>>2]|0;else g=b;h=c[g+88>>2]|0;i=c[g+92>>2]|0;m=c[g+96>>2]|0;if(!fa)g=d;else g=c[fa+12>>2]|0;s=c[g+88>>2]|0;n=c[g+92>>2]|0;t=c[g+96>>2]|0;W=c[b+88>>2]|0;da=(c[d+88>>2]|0)-W|0;v=c[b+92>>2]|0;ea=(c[d+92>>2]|0)-v|0;b=c[b+96>>2]|0;ca=(c[d+96>>2]|0)-b|0;ba=c[(V|0?V:fa)+12>>2]|0;X=(c[ba+88>>2]|0)-W|0;U=(c[ba+92>>2]|0)-v|0;ba=(c[ba+96>>2]|0)-b|0;aa=(O(U,ca)|0)-(O(ba,ea)|0)|0;ba=(O(ba,da)|0)-(O(X,ca)|0)|0;U=(O(X,ea)|0)-(O(U,da)|0)|0;W=rs(aa|0,((aa|0)<0)<<31>>31|0,W|0,((W|0)<0)<<31>>31|0)|0;X=z;v=rs(ba|0,((ba|0)<0)<<31>>31|0,v|0,((v|0)<0)<<31>>31|0)|0;u=z;b=rs(U|0,((U|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0;b=cw(W|0,X|0,b|0,z|0)|0;u=cw(b|0,z|0,v|0,u|0)|0;v=z;b=rs(U|0,((U|0)<0)<<31>>31|0,ea|0,((ea|0)<0)<<31>>31|0)|0;X=z;W=rs(ba|0,((ba|0)<0)<<31>>31|0,ca|0,((ca|0)<0)<<31>>31|0)|0;W=Nv(b|0,X|0,W|0,z|0)|0;X=z;b=rs(aa|0,((aa|0)<0)<<31>>31|0,ca|0,((ca|0)<0)<<31>>31|0)|0;Z=z;Y=rs(U|0,((U|0)<0)<<31>>31|0,da|0,((da|0)<0)<<31>>31|0)|0;Y=Nv(b|0,Z|0,Y|0,z|0)|0;Z=z;b=rs(ba|0,((ba|0)<0)<<31>>31|0,da|0,((da|0)<0)<<31>>31|0)|0;$=z;_=rs(aa|0,((aa|0)<0)<<31>>31|0,ea|0,((ea|0)<0)<<31>>31|0)|0;_=Nv(b|0,$|0,_|0,z|0)|0;$=z;b=rs(W|0,X|0,h|0,((h|0)<0)<<31>>31|0)|0;T=z;g=rs(Y|0,Z|0,i|0,((i|0)<0)<<31>>31|0)|0;T=cw(g|0,z|0,b|0,T|0)|0;b=z;g=rs(_|0,$|0,m|0,((m|0)<0)<<31>>31|0)|0;g=cw(T|0,b|0,g|0,z|0)|0;b=z;if((V|0)!=0?(c[V+12>>2]|0)!=0:0){p=V;q=h;o=i;while(1){p=c[(c[p+8>>2]|0)+4>>2]|0;k=p+12|0;i=c[k>>2]|0;d=c[i+88>>2]|0;S=rs(d|0,((d|0)<0)<<31>>31|0,aa|0,((aa|0)<0)<<31>>31|0)|0;R=z;h=c[i+92>>2]|0;T=rs(h|0,((h|0)<0)<<31>>31|0,ba|0,((ba|0)<0)<<31>>31|0)|0;R=cw(T|0,z|0,S|0,R|0)|0;S=z;i=c[i+96>>2]|0;T=rs(i|0,((i|0)<0)<<31>>31|0,U|0,((U|0)<0)<<31>>31|0)|0;T=cw(R|0,S|0,T|0,z|0)|0;S=z;if((S|0)<(v|0)|(S|0)==(v|0)&T>>>0>>0){d=q;i=o;h=m;break}if((c[p+20>>2]|0)==(c[a+100>>2]|0)){d=q;i=o;h=m;break}l=rs(d|0,((d|0)<0)<<31>>31|0,W|0,X|0)|0;T=z;j=rs(h|0,((h|0)<0)<<31>>31|0,Y|0,Z|0)|0;T=cw(j|0,z|0,l|0,T|0)|0;l=z;j=rs(i|0,((i|0)<0)<<31>>31|0,_|0,$|0)|0;j=cw(T|0,l|0,j|0,z|0)|0;l=z;if(!((l|0)>(b|0)|(l|0)==(b|0)&j>>>0>g>>>0)){d=q;i=o;h=m;break}c[e>>2]=p;T=c[k>>2]|0;d=c[T+88>>2]|0;i=c[T+92>>2]|0;h=c[T+96>>2]|0;if(!T){g=j;b=l;break}else{b=l;g=j;q=d;o=i;m=h}}p=c[f>>2]|0;T=d;m=h}else{p=fa;T=h}h=rs(W|0,X|0,s|0,((s|0)<0)<<31>>31|0)|0;S=z;d=rs(Y|0,Z|0,n|0,((n|0)<0)<<31>>31|0)|0;S=cw(d|0,z|0,h|0,S|0)|0;h=z;d=rs(_|0,$|0,t|0,((t|0)<0)<<31>>31|0)|0;d=cw(S|0,h|0,d|0,z|0)|0;h=z;a:do if(p)if(!(c[p+12>>2]|0)){k=s;o=t}else{r=p;q=s;o=t;while(1){p=c[c[r+8>>2]>>2]|0;l=c[p+12>>2]|0;j=c[l+88>>2]|0;R=rs(j|0,((j|0)<0)<<31>>31|0,aa|0,((aa|0)<0)<<31>>31|0)|0;Q=z;k=c[l+92>>2]|0;S=rs(k|0,((k|0)<0)<<31>>31|0,ba|0,((ba|0)<0)<<31>>31|0)|0;Q=cw(S|0,z|0,R|0,Q|0)|0;R=z;l=c[l+96>>2]|0;S=rs(l|0,((l|0)<0)<<31>>31|0,U|0,((U|0)<0)<<31>>31|0)|0;S=cw(Q|0,R|0,S|0,z|0)|0;R=z;if((R|0)<(v|0)|(R|0)==(v|0)&S>>>0>>0){p=r;k=q;break a}if((c[p+20>>2]|0)==(c[a+100>>2]|0)){p=r;k=q;break a}S=rs(j|0,((j|0)<0)<<31>>31|0,W|0,X|0)|0;R=z;j=rs(k|0,((k|0)<0)<<31>>31|0,Y|0,Z|0)|0;R=cw(j|0,z|0,S|0,R|0)|0;S=z;j=rs(l|0,((l|0)<0)<<31>>31|0,_|0,$|0)|0;j=cw(R|0,S|0,j|0,z|0)|0;l=z;if(!((l|0)>(h|0)|(l|0)==(h|0)&j>>>0>d>>>0)){p=r;k=q;break a}c[f>>2]=p;S=c[p+12>>2]|0;k=c[S+88>>2]|0;n=c[S+92>>2]|0;o=c[S+96>>2]|0;if(!S){d=j;h=l;break}else{r=p;h=l;d=j;q=k}}}else{p=0;k=s;o=t}while(0);j=Nv(d|0,h|0,g|0,b|0)|0;b=z;if((b|0)>0|(b|0)==0&j>>>0>0){R=Nv(0,0,U|0,((U|0)<0)<<31>>31|0)|0;S=z;l=p;d=j;h=b;t=T;v=i;x=m;N=k;P=n;Q=o;while(1){r=(O(P-v|0,ea)|0)+(O(N-t|0,da)|0)+(O(Q-x|0,ca)|0)|0;g=c[e>>2]|0;if(!g){w=r;D=((r|0)<0)<<31>>31;E=h;q=d;u=r;I=t;H=v;G=x}else{q=r;s=((r|0)<0)<<31>>31;u=r;J=t;K=v;L=x;b:while(1){if(!(c[g+12>>2]|0)){t=J;r=K;g=L;break}I=c[(c[g>>2]|0)+8>>2]|0;if((c[I+20>>2]|0)<=(c[a+100>>2]|0)){t=J;r=K;g=L;break}M=c[I+12>>2]|0;t=c[M+88>>2]|0;H=t-J|0;r=c[M+92>>2]|0;G=r-K|0;M=c[M+96>>2]|0;l=M-L|0;w=rs(H|0,((H|0)<0)<<31>>31|0,W|0,X|0)|0;F=z;v=rs(G|0,((G|0)<0)<<31>>31|0,Y|0,Z|0)|0;F=cw(v|0,z|0,w|0,F|0)|0;w=z;v=rs(l|0,((l|0)<0)<<31>>31|0,_|0,$|0)|0;v=cw(F|0,w|0,v|0,z|0)|0;w=z;l=(O(G,ea)|0)+(O(H,da)|0)+(O(l,ca)|0)|0;do if((v|0)==0&(w|0)==0){if((l|0)>=0){t=J;r=K;g=L;break b}}else{if((w|0)>=0){t=J;r=K;g=L;break b}if((l|0)>0){y=1;A=l;x=((l|0)<0)<<31>>31}else{A=Nv(0,0,l|0,((l|0)<0)<<31>>31|0)|0;y=((l|0)!=0)<<31>>31;A=l|0?A:0;x=l|0?z:0}H=0-y|0;D=Nv(0,0,v|0,w|0)|0;E=z;if((u|0)>0){F=q;G=s;l=1}else{l=(u|0)!=0;F=Nv(0,0,q|0,s|0)|0;F=l?F:0;G=l?z:0;l=l<<31>>31}if((h|0)>0|(h|0)==0&d>>>0>0){v=d;w=h}else{C=(d|0)!=0|(h|0)!=0;v=Nv(0,0,d|0,h|0)|0;v=C?v:0;w=C?z:0;l=C?0-l|0:l}if((l|0)==(H|0)){if(!y)break;l=rs(v|0,0,A|0,0)|0;y=z;ja=rs(w|0,0,A|0,0)|0;ia=z;B=rs(v|0,0,x|0,0)|0;C=z;ha=rs(w|0,0,x|0,0)|0;A=z;B=cw(ja|0,0,B|0,0)|0;v=z;A=cw(ia|0,0,ha|0,A|0)|0;C=cw(A|0,z|0,C|0,0)|0;v=cw(C|0,z|0,v|0,0)|0;C=z;y=cw(0,B|0,l|0,y|0)|0;A=z;B=cw(v|0,C|0,(A>>>0>>0|(A|0)==(B|0)&y>>>0<0)&1|0,0)|0;C=z;v=rs(F|0,0,D|0,0)|0;l=z;ha=rs(G|0,0,D|0,0)|0;D=z;w=rs(F|0,0,E|0,0)|0;x=z;E=rs(G|0,0,E|0,0)|0;F=z;w=cw(ha|0,0,w|0,0)|0;G=z;F=cw(D|0,0,E|0,F|0)|0;x=cw(F|0,z|0,x|0,0)|0;G=cw(x|0,z|0,G|0,0)|0;x=z;l=cw(0,w|0,v|0,l|0)|0;v=z;w=cw(G|0,x|0,(v>>>0>>0|(v|0)==(w|0)&l>>>0<0)&1|0,0)|0;x=z;do if(C>>>0>>0|(C|0)==(x|0)&B>>>0>>0)l=-1;else{if(C>>>0>x>>>0|(C|0)==(x|0)&B>>>0>w>>>0){l=1;break}if(A>>>0>>0|(A|0)==(v|0)&y>>>0>>0){l=-1;break}l=(A>>>0>v>>>0|(A|0)==(v|0)&y>>>0>l>>>0)&1}while(0);l=O(l,H)|0}else l=H-l|0;if((l|0)<=-1){t=J;r=K;g=L;break b}}while(0);ja=N-t|0;ia=P-r|0;l=Q-M|0;h=rs(ja|0,((ja|0)<0)<<31>>31|0,W|0,X|0)|0;ha=z;d=rs(ia|0,((ia|0)<0)<<31>>31|0,Y|0,Z|0)|0;ha=cw(d|0,z|0,h|0,ha|0)|0;h=z;d=rs(l|0,((l|0)<0)<<31>>31|0,_|0,$|0)|0;d=cw(ha|0,h|0,d|0,z|0)|0;h=z;g=(g|0)==(V|0)?0:I;c[e>>2]=g;l=(O(ia,ea)|0)+(O(ja,da)|0)+(O(l,ca)|0)|0;if(!g){q=l;s=((l|0)<0)<<31>>31;u=l;g=M;break}else{q=l;s=((l|0)<0)<<31>>31;u=l;J=t;K=r;L=M}}l=c[f>>2]|0;w=q;D=s;E=h;q=d;I=t;H=r;G=g}if(!l){g=118;break}if(!(c[l+12>>2]|0)){g=118;break}F=c[c[l+8>>2]>>2]|0;if((c[F+20>>2]|0)<=(c[a+100>>2]|0)){g=118;break}h=c[F+12>>2]|0;s=c[h+88>>2]|0;l=s-N|0;r=c[h+92>>2]|0;d=r-P|0;h=c[h+96>>2]|0;g=h-Q|0;ja=rs(l|0,((l|0)<0)<<31>>31|0,aa|0,((aa|0)<0)<<31>>31|0)|0;ha=z;ia=rs(d|0,((d|0)<0)<<31>>31|0,ba|0,((ba|0)<0)<<31>>31|0)|0;ha=cw(ia|0,z|0,ja|0,ha|0)|0;ja=z;ia=rs(g|0,((g|0)<0)<<31>>31|0,R|0,S|0)|0;if(!((ha|0)==(ia|0)&(ja|0)==(z|0))){g=118;break}v=rs(l|0,((l|0)<0)<<31>>31|0,W|0,X|0)|0;ja=z;t=rs(d|0,((d|0)<0)<<31>>31|0,Y|0,Z|0)|0;ja=cw(t|0,z|0,v|0,ja|0)|0;v=z;t=rs(g|0,((g|0)<0)<<31>>31|0,_|0,$|0)|0;t=cw(ja|0,v|0,t|0,z|0)|0;v=z;g=(O(d,ea)|0)+(O(l,da)|0)+(O(g,ca)|0)|0;ja=s-I|0;ia=r-H|0;d=h-G|0;h=rs(ja|0,((ja|0)<0)<<31>>31|0,W|0,X|0)|0;ja=z;ia=rs(ia|0,((ia|0)<0)<<31>>31|0,Y|0,Z|0)|0;ja=cw(ia|0,z|0,h|0,ja|0)|0;h=z;d=rs(d|0,((d|0)<0)<<31>>31|0,_|0,$|0)|0;d=cw(ja|0,h|0,d|0,z|0)|0;h=z;if(!((h|0)>0|(h|0)==0&d>>>0>0)){g=118;break}if((t|0)==0&(v|0)==0){if((g|0)>=0){g=118;break}}else{if((v|0)>=0){g=118;break}if((g|0)>0){x=1;y=g;s=((g|0)<0)<<31>>31}else{y=Nv(0,0,g|0,((g|0)<0)<<31>>31|0)|0;x=((g|0)!=0)<<31>>31;y=g|0?y:0;s=g|0?z:0}C=0-x|0;A=Nv(0,0,t|0,v|0)|0;B=z;if((u|0)>0){r=D;g=1}else{g=(u|0)!=0;w=Nv(0,0,w|0,D|0)|0;w=g?w:0;r=g?z:0;g=g<<31>>31}if((E|0)>0|(E|0)==0&q>>>0>0)l=E;else{ja=(q|0)!=0|(E|0)!=0;q=Nv(0,0,q|0,E|0)|0;q=ja?q:0;l=ja?z:0;g=ja?0-g|0:g}if((g|0)==(C|0)){if(!x){g=118;break}g=rs(q|0,0,y|0,0)|0;t=z;ia=rs(l|0,0,y|0,0)|0;Q=z;u=rs(q|0,0,s|0,0)|0;v=z;ja=rs(l|0,0,s|0,0)|0;s=z;u=cw(ia|0,0,u|0,0)|0;l=z;s=cw(Q|0,0,ja|0,s|0)|0;v=cw(s|0,z|0,v|0,0)|0;l=cw(v|0,z|0,l|0,0)|0;v=z;s=cw(0,u|0,g|0,t|0)|0;t=z;u=cw(l|0,v|0,(t>>>0>>0|(t|0)==(u|0)&s>>>0<0)&1|0,0)|0;v=z;l=rs(w|0,0,A|0,0)|0;g=z;ja=rs(r|0,0,A|0,0)|0;Q=z;q=rs(w|0,0,B|0,0)|0;ia=z;ha=rs(r|0,0,B|0,0)|0;r=z;q=cw(ja|0,0,q|0,0)|0;ja=z;r=cw(Q|0,0,ha|0,r|0)|0;r=cw(r|0,z|0,ia|0,0)|0;ja=cw(r|0,z|0,ja|0,0)|0;r=z;g=cw(0,q|0,l|0,g|0)|0;l=z;q=cw(ja|0,r|0,(l>>>0>>0|(l|0)==(q|0)&g>>>0<0)&1|0,0)|0;r=z;do if(v>>>0>>0|(v|0)==(r|0)&u>>>0>>0)g=-1;else{if(v>>>0>r>>>0|(v|0)==(r|0)&u>>>0>q>>>0){g=1;break}if(t>>>0>>0|(t|0)==(l|0)&s>>>0>>0){g=-1;break}g=(t>>>0>l>>>0|(t|0)==(l|0)&s>>>0>g>>>0)&1}while(0);g=O(g,C)|0}else g=C-g|0;if((g|0)<=0){g=118;break}}c[f>>2]=F;Q=c[F+12>>2]|0;l=F;t=I;v=H;x=G;N=c[Q+88>>2]|0;P=c[Q+92>>2]|0;Q=c[Q+96>>2]|0}if((g|0)==118)return}if((b|0)>=0)return;F=Nv(0,0,U|0,((U|0)<0)<<31>>31|0)|0;G=z;h=p;d=T;g=m;E=k;c:while(1){x=h;D=b;C=j;y=d;A=g;d:while(1){B=(O(n-i|0,ea)|0)+(O(E-y|0,da)|0)+(O(o-A|0,ca)|0)|0;do if((x|0?c[x+12>>2]|0:0)?(ga=c[(c[x+4>>2]|0)+8>>2]|0,(c[ga+20>>2]|0)>(c[a+100>>2]|0)):0){w=c[ga+12>>2]|0;u=c[w+88>>2]|0;ja=u-E|0;v=c[w+92>>2]|0;ia=v-n|0;w=c[w+96>>2]|0;g=w-o|0;d=rs(ja|0,((ja|0)<0)<<31>>31|0,W|0,X|0)|0;ha=z;b=rs(ia|0,((ia|0)<0)<<31>>31|0,Y|0,Z|0)|0;ha=cw(b|0,z|0,d|0,ha|0)|0;d=z;b=rs(g|0,((g|0)<0)<<31>>31|0,_|0,$|0)|0;b=cw(ha|0,d|0,b|0,z|0)|0;d=z;g=(O(ia,ea)|0)+(O(ja,da)|0)+(O(g,ca)|0)|0;if((b|0)==0&(d|0)==0)if((g|0)>0)break d;else break;if((d|0)<0){if((g|0)>0){j=1;k=g;h=((g|0)<0)<<31>>31}else{k=Nv(0,0,g|0,((g|0)<0)<<31>>31|0)|0;j=((g|0)!=0)<<31>>31;k=g|0?k:0;h=g|0?z:0}t=0-j|0;p=Nv(0,0,b|0,d|0)|0;q=z;if((B|0)>0){r=B;s=((B|0)<0)<<31>>31;g=1}else{r=Nv(0,0,B|0,((B|0)<0)<<31>>31|0)|0;r=B|0?r:0;s=B|0?z:0;g=((B|0)!=0)<<31>>31}if((D|0)>0|(D|0)==0&C>>>0>0){b=C;d=D}else{ja=(C|0)!=0|(D|0)!=0;b=Nv(0,0,C|0,D|0)|0;b=ja?b:0;d=ja?z:0;g=ja?0-g|0:g}if((g|0)==(t|0)){if(!j)break d;g=rs(b|0,0,k|0,0)|0;j=z;ha=rs(d|0,0,k|0,0)|0;V=z;l=rs(b|0,0,h|0,0)|0;m=z;ja=rs(d|0,0,h|0,0)|0;k=z;l=cw(ha|0,0,l|0,0)|0;b=z;k=cw(V|0,0,ja|0,k|0)|0;m=cw(k|0,z|0,m|0,0)|0;b=cw(m|0,z|0,b|0,0)|0;m=z;j=cw(0,l|0,g|0,j|0)|0;k=z;l=cw(b|0,m|0,(k>>>0>>0|(k|0)==(l|0)&j>>>0<0)&1|0,0)|0;m=z;b=rs(r|0,0,p|0,0)|0;g=z;ja=rs(s|0,0,p|0,0)|0;V=z;d=rs(r|0,0,q|0,0)|0;h=z;ha=rs(s|0,0,q|0,0)|0;ia=z;d=cw(ja|0,0,d|0,0)|0;ja=z;ia=cw(V|0,0,ha|0,ia|0)|0;h=cw(ia|0,z|0,h|0,0)|0;ja=cw(h|0,z|0,ja|0,0)|0;h=z;g=cw(0,d|0,b|0,g|0)|0;b=z;d=cw(ja|0,h|0,(b>>>0>>0|(b|0)==(d|0)&g>>>0<0)&1|0,0)|0;h=z;do if(m>>>0>>0|(m|0)==(h|0)&l>>>0>>0)g=-1;else{if(m>>>0>h>>>0|(m|0)==(h|0)&l>>>0>d>>>0){g=1;break}if(k>>>0>>0|(k|0)==(b|0)&j>>>0>>0){g=-1;break}g=(k>>>0>b>>>0|(k|0)==(b|0)&j>>>0>g>>>0)&1}while(0);g=O(g,t)|0}else g=t-g|0;if((g|0)<1)break d}}while(0);g=c[e>>2]|0;if(!g){g=118;break c}if(!(c[g+12>>2]|0)){g=118;break c}v=c[(c[g+8>>2]|0)+4>>2]|0;if((c[v+20>>2]|0)<=(c[a+100>>2]|0)){g=118;break c}d=c[v+12>>2]|0;k=c[d+88>>2]|0;h=k-y|0;j=c[d+92>>2]|0;b=j-i|0;d=c[d+96>>2]|0;g=d-A|0;ja=rs(h|0,((h|0)<0)<<31>>31|0,aa|0,((aa|0)<0)<<31>>31|0)|0;ha=z;ia=rs(b|0,((b|0)<0)<<31>>31|0,ba|0,((ba|0)<0)<<31>>31|0)|0;ha=cw(ia|0,z|0,ja|0,ha|0)|0;ja=z;ia=rs(g|0,((g|0)<0)<<31>>31|0,F|0,G|0)|0;if(!((ha|0)==(ia|0)&(ja|0)==(z|0))){g=118;break c}l=rs(h|0,((h|0)<0)<<31>>31|0,W|0,X|0)|0;u=z;i=rs(b|0,((b|0)<0)<<31>>31|0,Y|0,Z|0)|0;u=cw(i|0,z|0,l|0,u|0)|0;l=z;i=rs(g|0,((g|0)<0)<<31>>31|0,_|0,$|0)|0;i=cw(u|0,l|0,i|0,z|0)|0;l=z;g=(O(b,ea)|0)+(O(h,da)|0)+(O(g,ca)|0)|0;u=E-k|0;ia=n-j|0;t=o-d|0;u=rs(u|0,((u|0)<0)<<31>>31|0,W|0,X|0)|0;ja=z;ia=rs(ia|0,((ia|0)<0)<<31>>31|0,Y|0,Z|0)|0;ja=cw(ia|0,z|0,u|0,ja|0)|0;u=z;t=rs(t|0,((t|0)<0)<<31>>31|0,_|0,$|0)|0;t=cw(ja|0,u|0,t|0,z|0)|0;u=z;if((u|0)>=0){g=118;break c}if((i|0)==0&(l|0)==0){if((g|0)<=0){g=118;break c}}else{if((l|0)>=0){g=118;break c}if((g|0)>0){j=1;k=g;h=((g|0)<0)<<31>>31}else{k=Nv(0,0,g|0,((g|0)<0)<<31>>31|0)|0;j=((g|0)!=0)<<31>>31;k=g|0?k:0;h=g|0?z:0}s=0-j|0;m=Nv(0,0,i|0,l|0)|0;p=z;if((B|0)>0){q=B;r=((B|0)<0)<<31>>31;g=1}else{q=Nv(0,0,B|0,((B|0)<0)<<31>>31|0)|0;q=B|0?q:0;r=B|0?z:0;g=((B|0)!=0)<<31>>31}if((D|0)>0|(D|0)==0&C>>>0>0){d=C;b=D}else{ja=(C|0)!=0|(D|0)!=0;d=Nv(0,0,C|0,D|0)|0;d=ja?d:0;b=ja?z:0;g=ja?0-g|0:g}if((g|0)==(s|0)){if(!j){g=118;break c}j=rs(d|0,0,k|0,0)|0;i=z;ha=rs(b|0,0,k|0,0)|0;V=z;k=rs(d|0,0,h|0,0)|0;l=z;ja=rs(b|0,0,h|0,0)|0;g=z;k=cw(ha|0,0,k|0,0)|0;b=z;g=cw(V|0,0,ja|0,g|0)|0;l=cw(g|0,z|0,l|0,0)|0;b=cw(l|0,z|0,b|0,0)|0;l=z;i=cw(0,k|0,j|0,i|0)|0;j=z;k=cw(b|0,l|0,(j>>>0>>0|(j|0)==(k|0)&i>>>0<0)&1|0,0)|0;l=z;b=rs(q|0,0,m|0,0)|0;g=z;ja=rs(r|0,0,m|0,0)|0;V=z;d=rs(q|0,0,p|0,0)|0;h=z;ha=rs(r|0,0,p|0,0)|0;ia=z;d=cw(ja|0,0,d|0,0)|0;ja=z;ia=cw(V|0,0,ha|0,ia|0)|0;h=cw(ia|0,z|0,h|0,0)|0;ja=cw(h|0,z|0,ja|0,0)|0;h=z;g=cw(0,d|0,b|0,g|0)|0;b=z;d=cw(ja|0,h|0,(b>>>0>>0|(b|0)==(d|0)&g>>>0<0)&1|0,0)|0;h=z;do if(l>>>0>>0|(l|0)==(h|0)&k>>>0>>0)g=-1;else{if(l>>>0>h>>>0|(l|0)==(h|0)&k>>>0>d>>>0){g=1;break}if(j>>>0>>0|(j|0)==(b|0)&i>>>0>>0){g=-1;break}g=(j>>>0>b>>>0|(j|0)==(b|0)&i>>>0>g>>>0)&1}while(0);g=O(g,s)|0}else g=s-g|0;if((g|0)>=0){g=118;break c}}c[e>>2]=v;A=c[v+12>>2]|0;x=c[f>>2]|0;D=u;C=t;y=c[A+88>>2]|0;i=c[A+92>>2]|0;A=c[A+96>>2]|0}h=u-y|0;d=v-i|0;j=w-A|0;h=rs(h|0,((h|0)<0)<<31>>31|0,W|0,X|0)|0;b=z;d=rs(d|0,((d|0)<0)<<31>>31|0,Y|0,Z|0)|0;b=cw(d|0,z|0,h|0,b|0)|0;h=z;j=rs(j|0,((j|0)<0)<<31>>31|0,_|0,$|0)|0;j=cw(b|0,h|0,j|0,z|0)|0;h=(x|0)==(fa|0)?0:ga;c[f>>2]=h;b=z;d=y;g=A;E=u;n=v;o=w}if((g|0)==118)return}function ic(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+16|0;do if(a>>>0<245){n=a>>>0<11?16:a+11&-8;k=c[6474]|0;if(k>>>(n>>>3)&3|0){d=25936+((k>>>(n>>>3)&1^1)+(n>>>3)<<1<<2)|0;a=c[d+8>>2]|0;b=c[a+8>>2]|0;if((d|0)==(b|0))c[6474]=k&~(1<<(k>>>(n>>>3)&1^1)+(n>>>3));else{c[b+12>>2]=d;c[d+8>>2]=b}v=(k>>>(n>>>3)&1^1)+(n>>>3)<<3;c[a+4>>2]=v|3;c[a+v+4>>2]=c[a+v+4>>2]|1;v=a+8|0;l=w;return v|0}m=c[6476]|0;if(n>>>0>m>>>0){if(k>>>(n>>>3)|0){a=k>>>(n>>>3)<<(n>>>3)&(2<<(n>>>3)|0-(2<<(n>>>3)));e=((a&0-a)+-1|0)>>>(((a&0-a)+-1|0)>>>12&16);f=e>>>(e>>>5&8)>>>(e>>>(e>>>5&8)>>>2&4);f=(e>>>5&8|((a&0-a)+-1|0)>>>12&16|e>>>(e>>>5&8)>>>2&4|f>>>1&2|f>>>(f>>>1&2)>>>1&1)+(f>>>(f>>>1&2)>>>(f>>>(f>>>1&2)>>>1&1))|0;e=c[25936+(f<<1<<2)+8>>2]|0;a=c[e+8>>2]|0;if((25936+(f<<1<<2)|0)==(a|0)){c[6474]=k&~(1<>2]=25936+(f<<1<<2);c[25936+(f<<1<<2)+8>>2]=a;a=k}c[e+4>>2]=n|3;c[e+n+4>>2]=(f<<3)-n|1;c[e+n+((f<<3)-n)>>2]=(f<<3)-n;if(m|0){d=c[6479]|0;if(!(a&1<<(m>>>3))){c[6474]=a|1<<(m>>>3);a=25936+(m>>>3<<1<<2)+8|0;b=25936+(m>>>3<<1<<2)|0}else{a=25936+(m>>>3<<1<<2)+8|0;b=c[25936+(m>>>3<<1<<2)+8>>2]|0}c[a>>2]=d;c[b+12>>2]=d;c[d+8>>2]=b;c[d+12>>2]=25936+(m>>>3<<1<<2)}c[6476]=(f<<3)-n;c[6479]=e+n;v=e+8|0;l=w;return v|0}j=c[6475]|0;if(j){b=((j&0-j)+-1|0)>>>(((j&0-j)+-1|0)>>>12&16);d=b>>>(b>>>5&8)>>>(b>>>(b>>>5&8)>>>2&4);d=c[26200+((b>>>5&8|((j&0-j)+-1|0)>>>12&16|b>>>(b>>>5&8)>>>2&4|d>>>1&2|d>>>(d>>>1&2)>>>1&1)+(d>>>(d>>>1&2)>>>(d>>>(d>>>1&2)>>>1&1))<<2)>>2]|0;b=(c[d+4>>2]&-8)-n|0;a=c[d+16+(((c[d+16>>2]|0)==0&1)<<2)>>2]|0;if(!a){i=b;h=d}else{do{h=(c[a+4>>2]&-8)-n|0;i=h>>>0>>0;b=i?h:b;d=i?a:d;a=c[a+16+(((c[a+16>>2]|0)==0&1)<<2)>>2]|0}while((a|0)!=0);i=b;h=d}g=h+n|0;if(h>>>0>>0){f=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){b=h+20|0;a=c[b>>2]|0;if(!a){b=h+16|0;a=c[b>>2]|0;if(!a){b=0;break}}while(1){e=a+20|0;d=c[e>>2]|0;if(d|0){a=d;b=e;continue}e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}c[b>>2]=0;b=a}else{b=c[h+8>>2]|0;c[b+12>>2]=a;c[a+8>>2]=b;b=a}while(0);do if(f|0){a=c[h+28>>2]|0;if((h|0)==(c[26200+(a<<2)>>2]|0)){c[26200+(a<<2)>>2]=b;if(!b){c[6475]=j&~(1<>2]|0)!=(h|0)&1)<<2)>>2]=b;if(!b)break}c[b+24>>2]=f;a=c[h+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[h+20>>2]|0;if(a|0){c[b+20>>2]=a;c[a+24>>2]=b}}while(0);if(i>>>0<16){v=i+n|0;c[h+4>>2]=v|3;v=h+v+4|0;c[v>>2]=c[v>>2]|1}else{c[h+4>>2]=n|3;c[g+4>>2]=i|1;c[g+i>>2]=i;if(m|0){d=c[6479]|0;if(!(k&1<<(m>>>3))){c[6474]=k|1<<(m>>>3);a=25936+(m>>>3<<1<<2)+8|0;b=25936+(m>>>3<<1<<2)|0}else{a=25936+(m>>>3<<1<<2)+8|0;b=c[25936+(m>>>3<<1<<2)+8>>2]|0}c[a>>2]=d;c[b+12>>2]=d;c[d+8>>2]=b;c[d+12>>2]=25936+(m>>>3<<1<<2)}c[6476]=i;c[6479]=g}v=h+8|0;l=w;return v|0}}}}else if(a>>>0<=4294967231){n=a+11&-8;e=c[6475]|0;if(e){if((a+11|0)>>>8)if(n>>>0>16777215)j=31;else{j=(a+11|0)>>>8<<((((a+11|0)>>>8)+1048320|0)>>>16&8);j=14-((j+520192|0)>>>16&4|(((a+11|0)>>>8)+1048320|0)>>>16&8|((j<<((j+520192|0)>>>16&4))+245760|0)>>>16&2)+(j<<((j+520192|0)>>>16&4)<<(((j<<((j+520192|0)>>>16&4))+245760|0)>>>16&2)>>>15)|0;j=n>>>(j+7|0)&1|j<<1}else j=0;a=c[26200+(j<<2)>>2]|0;a:do if(!a){d=0-n|0;a=0;b=0;u=57}else{h=0-n|0;g=0;i=n<<((j|0)==31?0:25-(j>>>1)|0);b=0;while(1){d=(c[a+4>>2]&-8)-n|0;if(d>>>0>>0)if(!d){d=0;f=a;b=a;u=61;break a}else b=a;else d=h;f=c[a+20>>2]|0;a=c[a+16+(i>>>31<<2)>>2]|0;g=(f|0)==0|(f|0)==(a|0)?g:f;f=(a|0)==0;if(f){a=g;u=57;break}else{h=d;i=i<<((f^1)&1)}}}while(0);if((u|0)==57){if((a|0)==0&(b|0)==0){a=2<>>(m>>>12&16)>>>(m>>>(m>>>12&16)>>>5&8);a=b>>>(b>>>2&4)>>>(b>>>(b>>>2&4)>>>1&2);a=c[26200+((m>>>(m>>>12&16)>>>5&8|m>>>12&16|b>>>2&4|b>>>(b>>>2&4)>>>1&2|a>>>1&1)+(a>>>(a>>>1&1))<<2)>>2]|0;b=0}if(!a){i=d;j=b}else{f=a;u=61}}if((u|0)==61)while(1){u=0;a=(c[f+4>>2]&-8)-n|0;m=a>>>0>>0;a=m?a:d;b=m?f:b;f=c[f+16+(((c[f+16>>2]|0)==0&1)<<2)>>2]|0;if(!f){i=a;j=b;break}else{d=a;u=61}}if((j|0)!=0?i>>>0<((c[6476]|0)-n|0)>>>0:0){h=j+n|0;if(j>>>0>=h>>>0){v=0;l=w;return v|0}g=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){b=j+20|0;a=c[b>>2]|0;if(!a){b=j+16|0;a=c[b>>2]|0;if(!a){a=0;break}}while(1){f=a+20|0;d=c[f>>2]|0;if(d|0){a=d;b=f;continue}f=a+16|0;d=c[f>>2]|0;if(!d)break;else{a=d;b=f}}c[b>>2]=0}else{v=c[j+8>>2]|0;c[v+12>>2]=a;c[a+8>>2]=v}while(0);do if(g){b=c[j+28>>2]|0;if((j|0)==(c[26200+(b<<2)>>2]|0)){c[26200+(b<<2)>>2]=a;if(!a){c[6475]=e&~(1<>2]|0)!=(j|0)&1)<<2)>>2]=a;if(!a)break}c[a+24>>2]=g;b=c[j+16>>2]|0;if(b|0){c[a+16>>2]=b;c[b+24>>2]=a}b=c[j+20>>2]|0;if(b){c[a+20>>2]=b;c[b+24>>2]=a}}while(0);do if(i>>>0>=16){c[j+4>>2]=n|3;c[h+4>>2]=i|1;c[h+i>>2]=i;d=i>>>3;if(i>>>0<256){a=c[6474]|0;if(!(a&1<>2]|0}c[a>>2]=h;c[b+12>>2]=h;c[h+8>>2]=b;c[h+12>>2]=25936+(d<<1<<2);break}a=i>>>8;if(a)if(i>>>0>16777215)a=31;else{v=a<<((a+1048320|0)>>>16&8)<<(((a<<((a+1048320|0)>>>16&8))+520192|0)>>>16&4);a=14-(((a<<((a+1048320|0)>>>16&8))+520192|0)>>>16&4|(a+1048320|0)>>>16&8|(v+245760|0)>>>16&2)+(v<<((v+245760|0)>>>16&2)>>>15)|0;a=i>>>(a+7|0)&1|a<<1}else a=0;d=26200+(a<<2)|0;c[h+28>>2]=a;c[h+16+4>>2]=0;c[h+16>>2]=0;b=1<>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;break}b=i<<((a|0)==31?0:25-(a>>>1)|0);d=c[d>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(i|0)){u=97;break}e=d+16+(b>>>31<<2)|0;a=c[e>>2]|0;if(!a){u=96;break}else{b=b<<1;d=a}}if((u|0)==96){c[e>>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;break}else if((u|0)==97){u=d+8|0;v=c[u>>2]|0;c[v+12>>2]=h;c[u>>2]=h;c[h+8>>2]=v;c[h+12>>2]=d;c[h+24>>2]=0;break}}else{v=i+n|0;c[j+4>>2]=v|3;v=j+v+4|0;c[v>>2]=c[v>>2]|1}while(0);v=j+8|0;l=w;return v|0}}}else n=-1;while(0);d=c[6476]|0;if(d>>>0>=n>>>0){b=d-n|0;a=c[6479]|0;if(b>>>0>15){v=a+n|0;c[6479]=v;c[6476]=b;c[v+4>>2]=b|1;c[v+b>>2]=b;c[a+4>>2]=n|3}else{c[6476]=0;c[6479]=0;c[a+4>>2]=d|3;c[a+d+4>>2]=c[a+d+4>>2]|1}v=a+8|0;l=w;return v|0}f=c[6477]|0;if(f>>>0>n>>>0){t=f-n|0;c[6477]=t;v=c[6480]|0;u=v+n|0;c[6480]=u;c[u+4>>2]=t|1;c[v+4>>2]=n|3;v=v+8|0;l=w;return v|0}if(!(c[6592]|0)){c[6594]=4096;c[6593]=4096;c[6595]=-1;c[6596]=-1;c[6597]=0;c[6585]=0;c[w>>2]=w&-16^1431655768;c[6592]=w&-16^1431655768;a=4096}else a=c[6594]|0;g=n+48|0;h=n+47|0;j=a+h|0;i=0-a|0;if((j&i)>>>0<=n>>>0){v=0;l=w;return v|0}a=c[6584]|0;if(a|0?(m=c[6582]|0,(m+(j&i)|0)>>>0<=m>>>0?1:(m+(j&i)|0)>>>0>a>>>0):0){v=0;l=w;return v|0}b:do if(!(c[6585]&4)){b=c[6480]|0;c:do if(b){d=26344;while(1){a=c[d>>2]|0;if(a>>>0<=b>>>0?(p=d+4|0,(a+(c[p>>2]|0)|0)>>>0>b>>>0):0)break;a=c[d+8>>2]|0;if(!a){u=118;break c}else d=a}if((j-f&i)>>>0<2147483647){a=uo(j-f&i|0)|0;if((a|0)==((c[d>>2]|0)+(c[p>>2]|0)|0))if((a|0)==(-1|0))a=j-f&i;else{h=a;g=j-f&i;u=135;break b}else{e=a;d=j-f&i;u=126}}else a=0}else u=118;while(0);do if((u|0)==118){b=uo(0)|0;if((b|0)!=(-1|0)?(q=c[6593]|0,q=((q+-1&b|0)==0?0:(q+-1+b&0-q)-b|0)+(j&i)|0,o=c[6582]|0,q>>>0>n>>>0&q>>>0<2147483647):0){p=c[6584]|0;if(p|0?(q+o|0)>>>0<=o>>>0|(q+o|0)>>>0>p>>>0:0){a=0;break}a=uo(q|0)|0;if((a|0)==(b|0)){h=b;g=q;u=135;break b}else{e=a;d=q;u=126}}else a=0}while(0);do if((u|0)==126){b=0-d|0;if(!(g>>>0>d>>>0&(d>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){a=0;break}else{h=e;g=d;u=135;break b}a=c[6594]|0;a=h-d+a&0-a;if(a>>>0>=2147483647){h=e;g=d;u=135;break b}if((uo(a|0)|0)==(-1|0)){uo(b|0)|0;a=0;break}else{h=e;g=a+d|0;u=135;break b}}while(0);c[6585]=c[6585]|4;u=133}else{a=0;u=133}while(0);if(((u|0)==133?(j&i)>>>0<2147483647:0)?(r=uo(j&i|0)|0,s=uo(0)|0,t=(s-r|0)>>>0>(n+40|0)>>>0,!((r|0)==(-1|0)|t^1|r>>>0>>0&((r|0)!=(-1|0)&(s|0)!=(-1|0))^1)):0){h=r;g=t?s-r|0:a;u=135}if((u|0)==135){a=(c[6582]|0)+g|0;c[6582]=a;if(a>>>0>(c[6583]|0)>>>0)c[6583]=a;j=c[6480]|0;do if(j){f=26344;while(1){a=c[f>>2]|0;e=f+4|0;b=c[e>>2]|0;if((h|0)==(a+b|0)){u=145;break}d=c[f+8>>2]|0;if(!d)break;else f=d}if(((u|0)==145?(c[f+12>>2]&8|0)==0:0)?j>>>0>>0&j>>>0>=a>>>0:0){c[e>>2]=b+g;u=(j+8&7|0)==0?0:0-(j+8)&7;v=(c[6477]|0)+(g-u)|0;c[6480]=j+u;c[6477]=v;c[j+u+4>>2]=v|1;c[j+u+v+4>>2]=40;c[6481]=c[6596];break}if(h>>>0<(c[6478]|0)>>>0)c[6478]=h;d=h+g|0;b=26344;while(1){if((c[b>>2]|0)==(d|0)){u=153;break}a=c[b+8>>2]|0;if(!a)break;else b=a}if((u|0)==153?(c[b+12>>2]&8|0)==0:0){c[b>>2]=h;m=b+4|0;c[m>>2]=(c[m>>2]|0)+g;m=h+8|0;m=h+((m&7|0)==0?0:0-m&7)|0;a=d+((d+8&7|0)==0?0:0-(d+8)&7)|0;k=m+n|0;i=a-m-n|0;c[m+4>>2]=n|3;do if((a|0)!=(j|0)){if((a|0)==(c[6479]|0)){v=(c[6476]|0)+i|0;c[6476]=v;c[6479]=k;c[k+4>>2]=v|1;c[k+v>>2]=v;break}h=c[a+4>>2]|0;if((h&3|0)==1){d:do if(h>>>0<256){b=c[a+8>>2]|0;d=c[a+12>>2]|0;if((d|0)==(b|0)){c[6474]=c[6474]&~(1<<(h>>>3));break}else{c[b+12>>2]=d;c[d+8>>2]=b;break}}else{g=c[a+24>>2]|0;b=c[a+12>>2]|0;do if((b|0)==(a|0)){b=c[a+16+4>>2]|0;if(!b){b=c[a+16>>2]|0;if(!b){b=0;break}else f=a+16|0}else f=a+16+4|0;while(1){e=b+20|0;d=c[e>>2]|0;if(d|0){b=d;f=e;continue}e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;f=e}}c[f>>2]=0}else{v=c[a+8>>2]|0;c[v+12>>2]=b;c[b+8>>2]=v}while(0);if(!g)break;d=c[a+28>>2]|0;do if((a|0)!=(c[26200+(d<<2)>>2]|0)){c[g+16+(((c[g+16>>2]|0)!=(a|0)&1)<<2)>>2]=b;if(!b)break d}else{c[26200+(d<<2)>>2]=b;if(b|0)break;c[6475]=c[6475]&~(1<>2]=g;d=c[a+16>>2]|0;if(d|0){c[b+16>>2]=d;c[d+24>>2]=b}d=c[a+16+4>>2]|0;if(!d)break;c[b+20>>2]=d;c[d+24>>2]=b}while(0);a=a+(h&-8)|0;f=(h&-8)+i|0}else f=i;d=a+4|0;c[d>>2]=c[d>>2]&-2;c[k+4>>2]=f|1;c[k+f>>2]=f;d=f>>>3;if(f>>>0<256){a=c[6474]|0;if(!(a&1<>2]|0}c[a>>2]=k;c[b+12>>2]=k;c[k+8>>2]=b;c[k+12>>2]=25936+(d<<1<<2);break}a=f>>>8;do if(!a)b=0;else{if(f>>>0>16777215){b=31;break}b=a<<((a+1048320|0)>>>16&8)<<(((a<<((a+1048320|0)>>>16&8))+520192|0)>>>16&4);b=14-(((a<<((a+1048320|0)>>>16&8))+520192|0)>>>16&4|(a+1048320|0)>>>16&8|(b+245760|0)>>>16&2)+(b<<((b+245760|0)>>>16&2)>>>15)|0;b=f>>>(b+7|0)&1|b<<1}while(0);e=26200+(b<<2)|0;c[k+28>>2]=b;c[k+16+4>>2]=0;c[k+16>>2]=0;a=c[6475]|0;d=1<>2]=k;c[k+24>>2]=e;c[k+12>>2]=k;c[k+8>>2]=k;break}b=f<<((b|0)==31?0:25-(b>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(f|0)){u=194;break}e=d+16+(b>>>31<<2)|0;a=c[e>>2]|0;if(!a){u=193;break}else{b=b<<1;d=a}}if((u|0)==193){c[e>>2]=k;c[k+24>>2]=d;c[k+12>>2]=k;c[k+8>>2]=k;break}else if((u|0)==194){u=d+8|0;v=c[u>>2]|0;c[v+12>>2]=k;c[u>>2]=k;c[k+8>>2]=v;c[k+12>>2]=d;c[k+24>>2]=0;break}}else{v=(c[6477]|0)+i|0;c[6477]=v;c[6480]=k;c[k+4>>2]=v|1}while(0);v=m+8|0;l=w;return v|0}b=26344;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(v=a+(c[b+4>>2]|0)|0,v>>>0>j>>>0):0)break;b=c[b+8>>2]|0}f=v+-47+((v+-47+8&7|0)==0?0:0-(v+-47+8)&7)|0;f=f>>>0<(j+16|0)>>>0?j:f;a=h+8|0;a=(a&7|0)==0?0:0-a&7;u=h+a|0;a=g+-40-a|0;c[6480]=u;c[6477]=a;c[u+4>>2]=a|1;c[u+a+4>>2]=40;c[6481]=c[6596];c[f+4>>2]=27;c[f+8>>2]=c[6586];c[f+8+4>>2]=c[6587];c[f+8+8>>2]=c[6588];c[f+8+12>>2]=c[6589];c[6586]=h;c[6587]=g;c[6589]=0;c[6588]=f+8;a=f+24|0;do{u=a;a=a+4|0;c[a>>2]=7}while((u+8|0)>>>0>>0);if((f|0)!=(j|0)){c[f+4>>2]=c[f+4>>2]&-2;c[j+4>>2]=f-j|1;c[f>>2]=f-j;if((f-j|0)>>>0<256){d=25936+((f-j|0)>>>3<<1<<2)|0;a=c[6474]|0;if(!(a&1<<((f-j|0)>>>3))){c[6474]=a|1<<((f-j|0)>>>3);a=d+8|0;b=d}else{a=d+8|0;b=c[d+8>>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;break}if((f-j|0)>>>8)if((f-j|0)>>>0>16777215)b=31;else{b=(f-j|0)>>>8<<((((f-j|0)>>>8)+1048320|0)>>>16&8);b=14-((b+520192|0)>>>16&4|(((f-j|0)>>>8)+1048320|0)>>>16&8|((b<<((b+520192|0)>>>16&4))+245760|0)>>>16&2)+(b<<((b+520192|0)>>>16&4)<<(((b<<((b+520192|0)>>>16&4))+245760|0)>>>16&2)>>>15)|0;b=(f-j|0)>>>(b+7|0)&1|b<<1}else b=0;e=26200+(b<<2)|0;c[j+28>>2]=b;c[j+20>>2]=0;c[j+16>>2]=0;a=c[6475]|0;d=1<>2]=j;c[j+24>>2]=e;c[j+12>>2]=j;c[j+8>>2]=j;break}b=f-j<<((b|0)==31?0:25-(b>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(f-j|0)){u=216;break}e=d+16+(b>>>31<<2)|0;a=c[e>>2]|0;if(!a){u=215;break}else{b=b<<1;d=a}}if((u|0)==215){c[e>>2]=j;c[j+24>>2]=d;c[j+12>>2]=j;c[j+8>>2]=j;break}else if((u|0)==216){u=d+8|0;v=c[u>>2]|0;c[v+12>>2]=j;c[u>>2]=j;c[j+8>>2]=v;c[j+12>>2]=d;c[j+24>>2]=0;break}}}else{v=c[6478]|0;if((v|0)==0|h>>>0>>0)c[6478]=h;c[6586]=h;c[6587]=g;c[6589]=0;c[6483]=c[6592];c[6482]=-1;a=0;do{v=25936+(a<<1<<2)|0;c[v+12>>2]=v;c[v+8>>2]=v;a=a+1|0}while((a|0)!=32);v=h+8|0;v=(v&7|0)==0?0:0-v&7;u=h+v|0;v=g+-40-v|0;c[6480]=u;c[6477]=v;c[u+4>>2]=v|1;c[u+v+4>>2]=40;c[6481]=c[6596]}while(0);a=c[6477]|0;if(a>>>0>n>>>0){t=a-n|0;c[6477]=t;v=c[6480]|0;u=v+n|0;c[6480]=u;c[u+4>>2]=t|1;c[v+4>>2]=n|3;v=v+8|0;l=w;return v|0}}c[6614]=12;v=0;l=w;return v|0}function jc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,k=0.0,m=0,n=0.0,o=0,p=0.0,q=0,r=0,s=0.0,t=0,u=0.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,G=0,H=0,I=0,J=0,K=0,L=0,M=0;L=l;l=l+176|0;if((e|0)<1){f=c[b+12>>2]|0;if(f|0){if(a[b+16>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;f=c[b+32>>2]|0;if(f|0){if(a[b+36>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;f=c[b+52>>2]|0;if(f|0){if(a[b+56>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0)}c[b+52>>2]=0}a[b+56>>0]=1;c[b+52>>2]=0;c[b+44>>2]=0;c[b+48>>2]=0;l=L;return}c[L+32>>2]=0;c[L+36>>2]=0;c[L+40>>2]=0;c[L+44>>2]=256;c[L+48>>2]=0;c[L+52>>2]=0;c[L+56>>2]=0;c[L+60>>2]=256;c[L+64>>2]=0;c[L+68>>2]=0;c[L+72>>2]=0;c[L+76>>2]=256;a[L+96>>0]=1;c[L+92>>2]=0;c[L+84>>2]=0;c[L+88>>2]=0;m=0;o=-246811958;t=-246811958;x=-246811958;r=1900671690;v=1900671690;z=1900671690;q=d;while(1){E=+g[q>>2];k=+g[q+4>>2];n=+g[q+8>>2];I=E<(c[j>>2]=r,+g[j>>2]);f=(g[j>>2]=E,c[j>>2]|0);r=I?f:r;I=k<(c[j>>2]=v,+g[j>>2]);h=(g[j>>2]=k,c[j>>2]|0);v=I?h:v;I=n<(c[j>>2]=z,+g[j>>2]);i=(g[j>>2]=n,c[j>>2]|0);z=I?i:z;o=(c[j>>2]=o,+g[j>>2])>2]=t,+g[j>>2])>2]=x,+g[j>>2])>2]=o,+g[j>>2]);A=(c[j>>2]=r,+g[j>>2]);y=(c[j>>2]=t,+g[j>>2]);w=(c[j>>2]=v,+g[j>>2]);u=(c[j>>2]=x,+g[j>>2]);s=(c[j>>2]=z,+g[j>>2]);h=B-A>2]=h;f=B-A>>0)%3|0;c[L+104>>2]=f;I=(h^3)-f|0;c[L+108>>2]=I;if(((I+1|0)%3|0|0)==(h|0)){k=(B-A)*9.788566967472434e-05;n=(y-w)*9.788566967472434e-05;p=(u-s)*9.788566967472434e-05}else{k=-((B-A)*9.788566967472434e-05);n=-((y-w)*9.788566967472434e-05);p=-((u-s)*9.788566967472434e-05)}g[L>>2]=k;g[L+4>>2]=n;g[L+8>>2]=p;g[L+12>>2]=0.0;E=k!=0.0?1.0/k:k;D=n!=0.0?1.0/n:n;C=p!=0.0?1.0/p:p;g[L+16>>2]=(B+A)*.5;g[L+20>>2]=(y+w)*.5;g[L+24>>2]=(u+s)*.5;g[L+28>>2]=0.0;t=L+144+16|0;a[t>>0]=1;r=L+144+12|0;c[r>>2]=0;c[L+144+4>>2]=0;c[L+144+8>>2]=0;c[6472]=(c[6472]|0)+1;f=ic((e<<4|3)+16|0)|0;if(!f)m=0;else{c[(f+4+15&-16)+-4>>2]=f;m=f+4+15&-16}h=c[L+144+4>>2]|0;i=c[r>>2]|0;if((h|0)<=0){if(i|0)K=26}else{f=0;do{K=m+(f<<4)|0;I=i+(f<<4)|0;c[K>>2]=c[I>>2];c[K+4>>2]=c[I+4>>2];c[K+8>>2]=c[I+8>>2];c[K+12>>2]=c[I+12>>2];f=f+1|0}while((f|0)!=(h|0));K=26}if((K|0)==26){if(a[t>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0)}c[r>>2]=0}a[t>>0]=1;c[r>>2]=m;c[L+144+8>>2]=e;c[m>>2]=c[L+128>>2];c[m+4>>2]=c[L+128+4>>2];c[m+8>>2]=c[L+128+8>>2];c[m+12>>2]=c[L+128+12>>2];if((e|0)!=1){f=1;do{I=(c[r>>2]|0)+(f<<4)|0;c[I>>2]=c[L+128>>2];c[I+4>>2]=c[L+128+4>>2];c[I+8>>2]=c[L+128+8>>2];c[I+12>>2]=c[L+128+12>>2];f=f+1|0}while((f|0)!=(e|0))}c[L+144+4>>2]=e;i=L+128+(c[L+108>>2]<<2)|0;h=c[r>>2]|0;m=L+128+(c[L+112>>2]<<2)|0;o=L+128+(c[L+104>>2]<<2)|0;k=+g[L+16>>2];n=+g[L+20>>2];p=+g[L+24>>2];q=0;f=d;while(1){A=D*(+g[f+4>>2]-n);B=C*(+g[f+8>>2]-p);g[L+128>>2]=E*(+g[f>>2]-k);g[L+128+4>>2]=A;g[L+128+8>>2]=B;g[L+128+12>>2]=0.0;c[h+(q<<4)>>2]=~~+g[i>>2];c[h+(q<<4)+4>>2]=~~+g[m>>2];c[h+(q<<4)+8>>2]=~~+g[o>>2];c[h+(q<<4)+12>>2]=q;q=q+1|0;if((q|0)==(e|0))break;else f=f+16|0}if((e|0)>1)Qg(L+144|0,0,e+-1|0);c[L+36>>2]=c[L+32>>2];c[L+40>>2]=0;c[L+44>>2]=e;f=c[L+84>>2]|0;if((f|0)<(e|0)){if((c[L+88>>2]|0)<(e|0)){if(!e){i=f;m=0}else{c[6472]=(c[6472]|0)+1;h=ic((e<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}i=c[L+84>>2]|0;m=h}if((i|0)>0){h=0;do{c[m+(h<<2)>>2]=c[(c[L+92>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(i|0))}h=c[L+92>>2]|0;if(h|0){if(a[L+96>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[h+-4>>2]|0)}c[L+92>>2]=0}a[L+96>>0]=1;c[L+92>>2]=m;c[L+88>>2]=e}do{c[(c[L+92>>2]|0)+(f<<2)>>2]=0;f=f+1|0}while((f|0)!=(e|0))}c[L+84>>2]=e;o=0;do{f=c[L+40>>2]|0;if(!f){f=c[L+36>>2]|0;if(!f){c[6472]=(c[6472]|0)+1;f=ic(31)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[L+44>>2]|0;c[f+4>>2]=h;i=f+8|0;c[i>>2]=0;c[6472]=(c[6472]|0)+1;h=ic((h*112|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}c[f>>2]=h;c[i>>2]=c[L+32>>2];c[L+32>>2]=f}else c[L+36>>2]=c[f+8>>2];m=c[f+4>>2]|0;f=c[f>>2]|0;if((m|0)>0){h=0;i=f;do{h=h+1|0;I=i;i=i+112|0;c[I>>2]=(h|0)<(m|0)?i:0}while((h|0)!=(m|0))}}c[L+40>>2]=c[f>>2];I=f+104|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[I>>2]=-1;c[f+8>>2]=0;H=f+88|0;G=(c[r>>2]|0)+(o<<4)|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];c[I>>2]=-1;c[(c[L+92>>2]|0)+(o<<2)>>2]=f;o=o+1|0}while((o|0)<(e|0));f=c[r>>2]|0;if(f|0){if(a[t>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0)}c[r>>2]=0}a[t>>0]=1;c[r>>2]=0;c[L+144+4>>2]=0;c[L+144+8>>2]=0;c[L+52>>2]=c[L+48>>2];c[L+56>>2]=0;c[L+60>>2]=e*6;c[L+116>>2]=0;c[L+120>>2]=0;c[L+100>>2]=-3;c[L+128>>2]=0;c[L+128+4>>2]=0;c[L+128+8>>2]=0;c[L+128+12>>2]=0;cc(L,0,e,L+128|0);c[L+124>>2]=c[L+128>>2];f=c[r>>2]|0;if(f|0){if(a[t>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0)}c[r>>2]=0}f=c[b+4>>2]|0;if((f|0)<0){if((c[b+8>>2]|0)<0){h=c[b+12>>2]|0;if(h|0){if(a[b+16>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[h+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=0;c[b+8>>2]=0}do{I=(c[b+12>>2]|0)+(f<<4)|0;c[I>>2]=c[L+144>>2];c[I+4>>2]=c[L+144+4>>2];c[I+8>>2]=c[L+144+8>>2];c[I+12>>2]=c[L+144+12>>2];f=f+1|0}while((f|0)!=0)}c[b+4>>2]=0;c[L+144>>2]=0;c[L+144+4>>2]=0;c[L+144+8>>2]=0;f=c[b+24>>2]|0;if((f|0)<0){if((c[b+28>>2]|0)<0){h=c[b+32>>2]|0;if(h|0){if(a[b+36>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[h+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+28>>2]=0}do{I=(c[b+32>>2]|0)+(f*12|0)|0;c[I>>2]=c[L+144>>2];c[I+4>>2]=c[L+144+4>>2];c[I+8>>2]=c[L+144+8>>2];f=f+1|0}while((f|0)!=0)}c[b+24>>2]=0;h=c[b+44>>2]|0;if((h|0)<0){f=c[b+52>>2]|0;if((c[b+48>>2]|0)<0){if(f|0?a[b+56>>0]|0:0){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0)}a[b+56>>0]=1;c[b+52>>2]=0;c[b+48>>2]=0;f=0}Nk(f+(h<<2)|0,0,O(h,-4)|0)|0}c[b+44>>2]=0;f=c[L+124>>2]|0;if((c[f+104>>2]|0)<0){c[f+104>>2]=0;c[6472]=(c[6472]|0)+1;v=ic(23)|0;q=v+4+15&-16;c[q+-4>>2]=v;c[(v+4+15&-16)>>2]=f;r=q;I=0;t=1;v=v+4+15&-16;i=1;while(1){if((c[f+100>>2]|0)>-1){g[L+144+(c[L+108>>2]<<2)>>2]=+(c[f+88>>2]|0);g[L+144+(c[L+112>>2]<<2)>>2]=+(c[f+92>>2]|0);k=+(c[f+96>>2]|0)}else{H=f+24|0;G=f+32|0;E=+Pm(c[H>>2]|0,c[H+4>>2]|0,c[G>>2]|0,c[G+4>>2]|0);G=f+72|0;H=f+80|0;k=+Pm(c[G>>2]|0,c[G+4>>2]|0,c[H>>2]|0,c[H+4>>2]|0);g[L+144+(c[L+108>>2]<<2)>>2]=E/k;H=f+40|0;G=f+48|0;E=+Pm(c[H>>2]|0,c[H+4>>2]|0,c[G>>2]|0,c[G+4>>2]|0)/k;g[L+144+(c[L+112>>2]<<2)>>2]=E;G=f+56|0;H=f+64|0;k=+Pm(c[G>>2]|0,c[G+4>>2]|0,c[H>>2]|0,c[H+4>>2]|0)/k}g[L+144+(c[L+104>>2]<<2)>>2]=k;k=+g[L+144>>2]*+g[L>>2]+ +g[L+16>>2];p=+g[L+144+4>>2]*+g[L+4>>2]+ +g[L+20>>2];n=+g[L+144+8>>2]*+g[L+8>>2]+ +g[L+24>>2];h=c[b+4>>2]|0;if((h|0)==(c[b+8>>2]|0)?(J=h|0?h<<1:1,(h|0)<(J|0)):0){if(!J)m=0;else{c[6472]=(c[6472]|0)+1;h=ic((J<<4|3)+16|0)|0;if(!h)m=0;else{c[(h+4+15&-16)+-4>>2]=h;m=h+4+15&-16}h=c[b+4>>2]|0}if((h|0)>0){o=0;do{H=m+(o<<4)|0;G=(c[b+12>>2]|0)+(o<<4)|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];o=o+1|0}while((o|0)!=(h|0))}h=c[b+12>>2]|0;if(h|0){if(a[b+16>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[h+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=m;c[b+8>>2]=J;h=c[b+4>>2]|0}H=c[b+12>>2]|0;g[H+(h<<4)>>2]=k;g[H+(h<<4)+4>>2]=p;g[H+(h<<4)+8>>2]=n;g[H+(h<<4)+12>>2]=0.0;c[b+4>>2]=(c[b+4>>2]|0)+1;H=c[f+8>>2]|0;if(!H){z=r;o=q;m=t;x=v}else{o=q;x=r;G=H;h=-1;m=t;e=v;F=-1;while(1){d=G+20|0;f=c[d>>2]|0;if((f|0)<0){z=c[b+24>>2]|0;c[L+144>>2]=0;c[L+144+4>>2]=0;c[L+144+8>>2]=0;do if((z|0)==(c[b+28>>2]|0)){t=z|0?z<<1:1;if((z|0)>=(t|0)){f=z;break}if(!t){q=z;r=0}else{c[6472]=(c[6472]|0)+1;f=ic((t*12|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}q=c[b+24>>2]|0;r=f}if((q|0)>0){f=0;do{v=r+(f*12|0)|0;M=(c[b+32>>2]|0)+(f*12|0)|0;c[v>>2]=c[M>>2];c[v+4>>2]=c[M+4>>2];c[v+8>>2]=c[M+8>>2];f=f+1|0}while((f|0)!=(q|0))}f=c[b+32>>2]|0;if(f|0){if(a[b+36>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=r;c[b+28>>2]=t;f=c[b+24>>2]|0}else f=z;while(0);f=(c[b+32>>2]|0)+(f*12|0)|0;c[f>>2]=c[L+144>>2];c[f+4>>2]=c[L+144+4>>2];c[f+8>>2]=c[L+144+8>>2];f=(c[b+24>>2]|0)+1|0;c[b+24>>2]=f;c[L+144>>2]=0;c[L+144+4>>2]=0;c[L+144+8>>2]=0;do if((f|0)==(c[b+28>>2]|0)){t=f|0?f<<1:1;if((f|0)>=(t|0))break;if(!t)q=0;else{c[6472]=(c[6472]|0)+1;f=ic((t*12|3)+16|0)|0;if(!f)q=0;else{c[(f+4+15&-16)+-4>>2]=f;q=f+4+15&-16}f=c[b+24>>2]|0}if((f|0)>0){r=0;do{M=q+(r*12|0)|0;v=(c[b+32>>2]|0)+(r*12|0)|0;c[M>>2]=c[v>>2];c[M+4>>2]=c[v+4>>2];c[M+8>>2]=c[v+8>>2];r=r+1|0}while((r|0)!=(f|0))}f=c[b+32>>2]|0;if(f|0){if(a[b+36>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=q;c[b+28>>2]=t;f=c[b+24>>2]|0}while(0);v=(c[b+32>>2]|0)+(f*12|0)|0;c[v>>2]=c[L+144>>2];c[v+4>>2]=c[L+144+4>>2];c[v+8>>2]=c[L+144+8>>2];c[b+24>>2]=(c[b+24>>2]|0)+1;v=c[b+32>>2]|0;c[d>>2]=z;c[(c[G+8>>2]|0)+20>>2]=z+1;c[v+(z*12|0)+4>>2]=1;c[v+((z+1|0)*12|0)+4>>2]=-1;t=c[G+12>>2]|0;f=c[t+104>>2]|0;if((f|0)<0){c[t+104>>2]=i;do if((i|0)==(m|0)){r=m|0?m<<1:1;if((m|0)>=(r|0)){f=x;q=e;break}do if(!r)q=0;else{c[6472]=(c[6472]|0)+1;f=ic((r<<2|3)+16|0)|0;if(!f){q=0;break}c[(f+4+15&-16)+-4>>2]=f;q=f+4+15&-16}while(0);if((m|0)>0){f=0;do{c[q+(f<<2)>>2]=c[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(m|0));if(!o){f=q;o=q;m=r;break}}else if((e|0)==0|(o|0)==0){f=q;o=q;m=r;break}c[6473]=(c[6473]|0)+1;nd(c[o+-4>>2]|0);f=q;o=q;m=r}else{f=x;q=e}while(0);c[q+(i<<2)>>2]=t;r=f;f=i;i=i+1|0}else{r=x;q=e}c[v+(z*12|0)+8>>2]=f;c[v+((z+1|0)*12|0)+8>>2]=I;f=c[d>>2]|0}else{r=x;q=e}if((F|0)>-1)c[(c[b+32>>2]|0)+(f*12|0)>>2]=F-f;else h=f;G=c[G>>2]|0;if((G|0)==(H|0))break;else{x=r;e=q;F=f}}c[(c[b+32>>2]|0)+(h*12|0)>>2]=f-h;z=r;x=q}h=I+1|0;if((h|0)>=(i|0))break;f=c[x+(h<<2)>>2]|0;r=z;q=o;I=h;t=m;v=x}if((I|0)>-1){v=0;while(1){r=c[(c[x+(v<<2)>>2]|0)+8>>2]|0;if(r|0){t=r;do{q=t+20|0;f=c[q>>2]|0;if((f|0)>-1){h=c[b+44>>2]|0;do if((h|0)==(c[b+48>>2]|0)){o=h|0?h<<1:1;if((h|0)>=(o|0))break;if(!o){f=h;h=0}else{c[6472]=(c[6472]|0)+1;f=ic((o<<2|3)+16|0)|0;if(!f)h=0;else{c[(f+4+15&-16)+-4>>2]=f;h=f+4+15&-16}f=c[b+44>>2]|0}m=c[b+52>>2]|0;if((f|0)<=0){if(m)K=172}else{i=0;do{c[h+(i<<2)>>2]=c[m+(i<<2)>>2];i=i+1|0}while((i|0)!=(f|0));K=172}if((K|0)==172){K=0;if(a[b+56>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[m+-4>>2]|0)}c[b+52>>2]=0;f=c[b+44>>2]|0}a[b+56>>0]=1;c[b+52>>2]=h;c[b+48>>2]=o;h=f;f=c[q>>2]|0}while(0);c[(c[b+52>>2]|0)+(h<<2)>>2]=f;c[b+44>>2]=(c[b+44>>2]|0)+1;f=t;do{c[f+20>>2]=-1;f=c[(c[f+8>>2]|0)+4>>2]|0}while((f|0)!=(t|0))}t=c[t>>2]|0}while((t|0)!=(r|0))}if((v|0)==(I|0))break;else v=v+1|0}}if(!((x|0)==0|(z|0)==0)){c[6473]=(c[6473]|0)+1;nd(c[z+-4>>2]|0)}}Ci(L);l=L;return}function kc(b,d,e,f,h,i,j,k,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;m=m|0;var 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.0,x=0.0,y=0.0,z=0.0,A=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,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;X=l;l=l+256|0;c[b+188>>2]=-1;bj(13038);c[b+184>>2]=0;if((e|0)>0){m=0;do{c[(c[d+(m<<2)>>2]|0)+212>>2]=-1;m=m+1|0}while((m|0)!=(e|0))}m=c[b+12>>2]|0;if((m|0)>(e|0))o=b+8|0;else{if((e+1|0)!=0?(c[6472]=(c[6472]|0)+1,n=ic(((e+1|0)*244|3)+16|0)|0,(n|0)!=0):0){c[(n+4+15&-16)+-4>>2]=n;o=n+4+15&-16}else o=0;m=c[b+8>>2]|0;if((m|0)>0){n=0;do{U=o+(n*244|0)|0;V=c[b+16>>2]|0;T=V+(n*244|0)|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=o+(n*244|0)+16|0;T=V+(n*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=o+(n*244|0)+32|0;T=V+(n*244|0)+32|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=o+(n*244|0)+48|0;T=V+(n*244|0)+48|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];_h(o+(n*244|0)+64|0,V+(n*244|0)+64|0,180)|0;n=n+1|0}while((n|0)!=(m|0))}m=c[b+16>>2]|0;if(m|0){if(a[b+20>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[m+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=o;c[b+12>>2]=e+1;m=e+1|0;o=b+8|0}Nk(X|0,0,244)|0;n=c[o>>2]|0;if((n|0)<0){if((m|0)<0){m=c[b+16>>2]|0;if(m|0){if(a[b+20>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[m+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=0;c[b+12>>2]=0}m=n;do{V=c[b+16>>2]|0;U=V+(m*244|0)|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];U=V+(m*244|0)+16|0;c[U>>2]=c[X+16>>2];c[U+4>>2]=c[X+16+4>>2];c[U+8>>2]=c[X+16+8>>2];c[U+12>>2]=c[X+16+12>>2];U=V+(m*244|0)+32|0;c[U>>2]=c[X+32>>2];c[U+4>>2]=c[X+32+4>>2];c[U+8>>2]=c[X+32+8>>2];c[U+12>>2]=c[X+32+12>>2];U=V+(m*244|0)+48|0;c[U>>2]=c[X+48>>2];c[U+4>>2]=c[X+48+4>>2];c[U+8>>2]=c[X+48+8>>2];c[U+12>>2]=c[X+48+12>>2];_h(V+(m*244|0)+64|0,X+64|0,180)|0;m=m+1|0}while((m|0)!=0)}c[o>>2]=0;if((e|0)>0){o=0;do{m=d+(o<<2)|0;n=Gj(b,c[m>>2]|0,+g[k+12>>2])|0;m=c[m>>2]|0;if((!((m|0)==0?1:(c[m+236>>2]&2|0)==0)?+g[m+344>>2]!=0.0:0)?(p=c[b+16>>2]|0,c[m+504>>2]&2|0):0){q=+g[k+76>>2];L=1.0/+g[m+396>>2];N=1.0/+g[m+400>>2];s=1.0/+g[m+404>>2];F=+g[m+4>>2];G=+g[m+8>>2];H=+g[m+12>>2];I=+g[m+20>>2];J=+g[m+24>>2];K=+g[m+28>>2];M=+g[m+36>>2];O=+g[m+40>>2];u=+g[m+44>>2];w=+g[m+328>>2];x=+g[m+332>>2];t=+g[m+336>>2];z=(L*F*F+N*G*G+s*H*H)*w+(L*F*I+N*G*J+s*H*K)*x+(L*F*M+N*G*O+s*H*u)*t;y=(L*I*F+N*J*G+s*K*H)*w+(L*I*I+N*J*J+s*K*K)*x+(L*I*M+N*J*O+s*K*u)*t;u=(L*M*F+N*O*G+s*u*H)*w+(L*M*I+N*O*J+s*u*K)*x+(L*M*M+N*O*O+s*u*u)*t;s=(x*u-t*y)*(x*u-t*y)+(t*z-w*u)*(t*z-w*u)+(w*y-x*z)*(w*y-x*z);if(s>q*q){q=1.0/+C(+s)*q;v=(x*u-t*y)*q;s=q*(t*z-w*u);q=q*(w*y-x*z)}else{v=x*u-t*y;s=t*z-w*u;q=w*y-x*z}M=+g[k+12>>2];N=(v*+g[m+268>>2]+s*+g[m+284>>2]+q*+g[m+300>>2])*M;O=M*(v*+g[m+272>>2]+s*+g[m+288>>2]+q*+g[m+304>>2]);g[p+(n*244|0)+224>>2]=+g[p+(n*244|0)+224>>2]-(v*+g[m+264>>2]+s*+g[m+280>>2]+q*+g[m+296>>2])*M;g[p+(n*244|0)+228>>2]=+g[p+(n*244|0)+228>>2]-N;g[p+(n*244|0)+232>>2]=+g[p+(n*244|0)+232>>2]-O}o=o+1|0}while((o|0)!=(e|0))}if((j|0)>0){m=0;do{V=c[i+(m<<2)>>2]|0;Ab[c[(c[V>>2]|0)+8>>2]&511](V);g[V+36>>2]=0.0;m=m+1|0}while((m|0)<(j|0))}m=c[b+168>>2]|0;if((m|0)<(j|0)?(c[b+172>>2]|0)<(j|0):0){if(!j)n=0;else{c[6472]=(c[6472]|0)+1;m=ic((j<<3|3)+16|0)|0;if(!m)n=0;else{c[(m+4+15&-16)+-4>>2]=m;n=m+4+15&-16}m=c[b+168>>2]|0}if((m|0)>0){o=0;do{T=(c[b+176>>2]|0)+(o<<3)|0;U=c[T+4>>2]|0;V=n+(o<<3)|0;c[V>>2]=c[T>>2];c[V+4>>2]=U;o=o+1|0}while((o|0)!=(m|0))}m=c[b+176>>2]|0;if(m|0){if(a[b+180>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[m+-4>>2]|0)}c[b+176>>2]=0}a[b+180>>0]=1;c[b+176>>2]=n;c[b+172>>2]=j}c[b+168>>2]=j;if((j|0)>0){r=0;m=0;do{d=c[b+176>>2]|0;e=d+(r<<3)|0;p=i+(r<<2)|0;n=c[p>>2]|0;o=c[n+44>>2]|0;if(o){n=o+64|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(n|0));n=c[p>>2]|0}if(!(a[n+20>>0]|0)){c[e>>2]=0;c[d+(r<<3)+4>>2]=0;n=0}else{Gb[c[(c[n>>2]|0)+16>>2]&127](n,e);n=c[e>>2]|0}m=n+m|0;r=r+1|0}while((r|0)<(j|0));p=m}else p=0;m=c[b+48>>2]|0;if((m|0)<(p|0)?(c[b+52>>2]|0)<(p|0):0){if(!p)n=0;else{c[6472]=(c[6472]|0)+1;m=ic((p*152|3)+16|0)|0;if(!m)n=0;else{c[(m+4+15&-16)+-4>>2]=m;n=m+4+15&-16}m=c[b+48>>2]|0}if((m|0)>0){o=0;do{_h(n+(o*152|0)|0,(c[b+56>>2]|0)+(o*152|0)|0,152)|0;o=o+1|0}while((o|0)!=(m|0))}m=c[b+56>>2]|0;if(m|0){if(a[b+60>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[m+-4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=n;c[b+52>>2]=p}c[b+48>>2]=p;if((j|0)>0){m=c[b+176>>2]|0;U=0;V=0;while(1){T=m+(V<<3)|0;if(!(c[T>>2]|0))n=0;else{m=c[b+56>>2]|0;e=m+(U*152|0)|0;r=i+(V<<2)|0;p=c[r>>2]|0;S=c[p+28>>2]|0;R=c[p+32>>2]|0;P=Gj(b,S,+g[k+12>>2])|0;Q=Gj(b,R,+g[k+12>>2])|0;d=c[b+16>>2]|0;n=c[p+24>>2]|0;n=(n|0)>0?n:c[k+20>>2]|0;if((n|0)>(c[b+184>>2]|0))c[b+184>>2]=n;if((c[T>>2]|0)>0){o=0;do{Nk(e+(o*152|0)|0,0,152)|0;g[e+(o*152|0)+120>>2]=-3402823466385288598117041.0e14;g[e+(o*152|0)+124>>2]=3402823466385288598117041.0e14;g[e+(o*152|0)+100>>2]=0.0;g[e+(o*152|0)+96>>2]=0.0;c[e+(o*152|0)+144>>2]=P;c[e+(o*152|0)+148>>2]=Q;c[e+(o*152|0)+136>>2]=n;o=o+1|0}while((o|0)<(c[T>>2]|0))}c[d+(P*244|0)+64>>2]=0;c[d+(P*244|0)+64+4>>2]=0;c[d+(P*244|0)+64+8>>2]=0;c[d+(P*244|0)+64+12>>2]=0;c[d+(P*244|0)+64+16>>2]=0;c[d+(P*244|0)+64+20>>2]=0;c[d+(P*244|0)+64+24>>2]=0;c[d+(P*244|0)+64+28>>2]=0;c[d+(P*244|0)+144>>2]=0;c[d+(P*244|0)+144+4>>2]=0;c[d+(P*244|0)+144+8>>2]=0;c[d+(P*244|0)+144+12>>2]=0;c[d+(P*244|0)+144+16>>2]=0;c[d+(P*244|0)+144+20>>2]=0;c[d+(P*244|0)+144+24>>2]=0;c[d+(P*244|0)+144+28>>2]=0;c[d+(Q*244|0)+64>>2]=0;c[d+(Q*244|0)+64+4>>2]=0;c[d+(Q*244|0)+64+8>>2]=0;c[d+(Q*244|0)+64+12>>2]=0;c[d+(Q*244|0)+64+16>>2]=0;c[d+(Q*244|0)+64+20>>2]=0;c[d+(Q*244|0)+64+24>>2]=0;c[d+(Q*244|0)+64+28>>2]=0;c[d+(Q*244|0)+144>>2]=0;c[d+(Q*244|0)+144+4>>2]=0;c[d+(Q*244|0)+144+8>>2]=0;c[d+(Q*244|0)+144+12>>2]=0;c[d+(Q*244|0)+144+16>>2]=0;c[d+(Q*244|0)+144+20>>2]=0;c[d+(Q*244|0)+144+24>>2]=0;c[d+(Q*244|0)+144+28>>2]=0;g[X>>2]=1.0/+g[k+12>>2];c[X+4>>2]=c[k+32>>2];c[X+8>>2]=m+(U*152|0)+16;c[X+12>>2]=e;c[X+16>>2]=m+(U*152|0)+48;c[X+20>>2]=m+(U*152|0)+32;c[X+24>>2]=38;c[X+28>>2]=m+(U*152|0)+112;o=m+(U*152|0)+116|0;c[o>>2]=c[k+40>>2];c[X+52>>2]=c[k+4>>2];c[X+32>>2]=o;c[X+36>>2]=m+(U*152|0)+120;c[X+40>>2]=m+(U*152|0)+124;c[X+48>>2]=c[k+20>>2];o=c[r>>2]|0;Gb[c[(c[o>>2]|0)+20>>2]&127](o,X);if((c[T>>2]|0)>0){o=0;do{m=e+(o*152|0)+124|0;q=+g[(c[r>>2]|0)+16>>2];if(+g[m>>2]>=q)g[m>>2]=q;m=e+(o*152|0)+120|0;if(+g[m>>2]<=-q)g[m>>2]=-q;c[e+(o*152|0)+132>>2]=p;Y=e+(o*152|0)|0;n=e+(o*152|0)+64|0;m=c[p+28>>2]|0;M=+g[Y>>2];K=+g[Y+4>>2];O=+g[Y+8>>2];L=(M*+g[m+280>>2]+K*+g[m+284>>2]+O*+g[m+288>>2])*+g[m+548>>2];q=(M*+g[m+296>>2]+K*+g[m+300>>2]+O*+g[m+304>>2])*+g[m+552>>2];g[n>>2]=(+g[m+264>>2]*M+ +g[m+268>>2]*K+ +g[m+272>>2]*O)*+g[m+544>>2];g[n+4>>2]=L;g[n+8>>2]=q;g[n+12>>2]=0.0;n=e+(o*152|0)+32|0;m=e+(o*152|0)+80|0;Z=c[p+32>>2]|0;q=+g[n>>2];L=+g[n+4>>2];O=+g[n+8>>2];K=(q*+g[Z+280>>2]+L*+g[Z+284>>2]+O*+g[Z+288>>2])*+g[Z+548>>2];M=(q*+g[Z+296>>2]+L*+g[Z+300>>2]+O*+g[Z+304>>2])*+g[Z+552>>2];g[m>>2]=(+g[Z+264>>2]*q+ +g[Z+268>>2]*L+ +g[Z+272>>2]*O)*+g[Z+544>>2];g[m+4>>2]=K;g[m+8>>2]=M;g[m+12>>2]=0.0;m=e+(o*152|0)+16|0;M=+g[S+344>>2];K=+g[m>>2];L=+g[m+4>>2];q=+g[m+8>>2];s=+g[Y>>2];t=+g[Y+4>>2];u=+g[Y+8>>2];Y=e+(o*152|0)+48|0;N=+g[R+344>>2];v=+g[Y>>2];w=+g[Y+4>>2];x=+g[Y+8>>2];y=+g[n>>2];z=+g[n+4>>2];O=K*M*K+L*M*L+q*M*q+(s*(+g[S+264>>2]*s+ +g[S+268>>2]*t+ +g[S+272>>2]*u)+t*(s*+g[S+280>>2]+t*+g[S+284>>2]+u*+g[S+288>>2])+u*(s*+g[S+296>>2]+t*+g[S+300>>2]+u*+g[S+304>>2]))+(v*N*v+w*N*w+x*N*x)+(y*(+g[R+264>>2]*y+ +g[R+268>>2]*z+ +g[R+272>>2]*O)+z*(y*+g[R+280>>2]+z*+g[R+284>>2]+O*+g[R+288>>2])+O*(y*+g[R+296>>2]+z*+g[R+300>>2]+O*+g[R+304>>2]));Y=+B(+O)>1.1920928955078125e-07;O=Y?1.0/O:0.0;g[e+(o*152|0)+108>>2]=O;if(!(c[d+(P*244|0)+240>>2]|0)){A=0.0;D=0.0;E=0.0;F=0.0;G=0.0;H=0.0}else{A=+g[d+(P*244|0)+208>>2];D=+g[d+(P*244|0)+212>>2];E=+g[d+(P*244|0)+216>>2];F=+g[d+(P*244|0)+224>>2];G=+g[d+(P*244|0)+228>>2];H=+g[d+(P*244|0)+232>>2]}if(!(c[d+(Q*244|0)+240>>2]|0)){I=0.0;J=0.0;K=0.0;L=0.0;M=0.0;N=0.0}else{I=+g[d+(Q*244|0)+208>>2];J=+g[d+(Q*244|0)+212>>2];K=+g[d+(Q*244|0)+216>>2];L=+g[d+(Q*244|0)+224>>2];M=+g[d+(Q*244|0)+228>>2];N=+g[d+(Q*244|0)+232>>2]}Z=e+(o*152|0)+112|0;g[Z>>2]=+g[Z>>2]*O+O*(0.0-+g[X+52>>2]*((A+ +g[S+312>>2])*+g[m>>2]+(D+ +g[S+316>>2])*+g[m+4>>2]+(E+ +g[S+320>>2])*q+((F+ +g[S+328>>2])*s+(G+ +g[S+332>>2])*t+(H+ +g[S+336>>2])*u)+((I+ +g[R+312>>2])*v+(J+ +g[R+316>>2])*w+(K+ +g[R+320>>2])*x+((L+ +g[R+328>>2])*y+(M+ +g[R+332>>2])*z+(N+ +g[R+336>>2])*+g[n+8>>2]))));g[e+(o*152|0)+100>>2]=0.0;o=o+1|0}while((o|0)<(c[T>>2]|0))}m=c[b+176>>2]|0;n=c[m+(V<<3)>>2]|0}V=V+1|0;if((V|0)>=(j|0))break;else U=n+U|0}}Nb[c[(c[b>>2]|0)+28>>2]&127](b,f,h,k);d=c[b+48>>2]|0;e=c[b+28>>2]|0;r=c[b+68>>2]|0;m=c[b+128>>2]|0;if((m|0)<(d|0)?(c[b+132>>2]|0)<(d|0):0){if(!d)n=0;else{c[6472]=(c[6472]|0)+1;m=ic((d<<2|3)+16|0)|0;if(!m)n=0;else{c[(m+4+15&-16)+-4>>2]=m;n=m+4+15&-16}m=c[b+128>>2]|0}p=c[b+136>>2]|0;if((m|0)<=0)if(!p)m=b+140|0;else W=99;else{o=0;do{c[n+(o<<2)>>2]=c[p+(o<<2)>>2];o=o+1|0}while((o|0)!=(m|0));W=99}if((W|0)==99){if(a[b+140>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[p+-4>>2]|0)}c[b+136>>2]=0;m=b+140|0}a[m>>0]=1;c[b+136>>2]=n;c[b+132>>2]=d}c[b+128>>2]=d;if(!(c[k+64>>2]&16)){m=c[b+108>>2]|0;if((m|0)<(e|0)?(c[b+112>>2]|0)<(e|0):0){if(!e)n=0;else{c[6472]=(c[6472]|0)+1;m=ic((e<<2|3)+16|0)|0;if(!m)n=0;else{c[(m+4+15&-16)+-4>>2]=m;n=m+4+15&-16}m=c[b+108>>2]|0}p=c[b+116>>2]|0;if((m|0)<=0)if(!p)m=b+120|0;else W=129;else{o=0;do{c[n+(o<<2)>>2]=c[p+(o<<2)>>2];o=o+1|0}while((o|0)!=(m|0));W=129}if((W|0)==129){if(a[b+120>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[p+-4>>2]|0)}c[b+116>>2]=0;m=b+120|0}a[m>>0]=1;c[b+116>>2]=n;c[b+112>>2]=e}c[b+108>>2]=e}else{m=c[b+108>>2]|0;if((m|0)<(e<<1|0)?(c[b+112>>2]|0)<(e<<1|0):0){if(!e)n=0;else{c[6472]=(c[6472]|0)+1;m=ic((e<<3|3)+16|0)|0;if(!m)n=0;else{c[(m+4+15&-16)+-4>>2]=m;n=m+4+15&-16}m=c[b+108>>2]|0}p=c[b+116>>2]|0;if((m|0)<=0)if(!p)m=b+120|0;else W=114;else{o=0;do{c[n+(o<<2)>>2]=c[p+(o<<2)>>2];o=o+1|0}while((o|0)!=(m|0));W=114}if((W|0)==114){if(a[b+120>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[p+-4>>2]|0)}c[b+116>>2]=0;m=b+120|0}a[m>>0]=1;c[b+116>>2]=n;c[b+112>>2]=e<<1}c[b+108>>2]=e<<1}m=c[b+148>>2]|0;if((m|0)<(r|0)?(c[b+152>>2]|0)<(r|0):0){if(!r)n=0;else{c[6472]=(c[6472]|0)+1;m=ic((r<<2|3)+16|0)|0;if(!m)n=0;else{c[(m+4+15&-16)+-4>>2]=m;n=m+4+15&-16}m=c[b+148>>2]|0}p=c[b+156>>2]|0;if((m|0)<=0)if(!p)m=b+160|0;else W=144;else{o=0;do{c[n+(o<<2)>>2]=c[p+(o<<2)>>2];o=o+1|0}while((o|0)!=(m|0));W=144}if((W|0)==144){if(a[b+160>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[p+-4>>2]|0)}c[b+156>>2]=0;m=b+160|0}a[m>>0]=1;c[b+156>>2]=n;c[b+152>>2]=r}c[b+148>>2]=r;if((d|0)>0){m=c[b+136>>2]|0;n=0;do{c[m+(n<<2)>>2]=n;n=n+1|0}while((n|0)!=(d|0))}if((e|0)>0){m=c[b+116>>2]|0;n=0;do{c[m+(n<<2)>>2]=n;n=n+1|0}while((n|0)!=(e|0))}if((r|0)>0){m=c[b+156>>2]|0;n=0;do{c[m+(n<<2)>>2]=n;n=n+1|0}while((n|0)!=(r|0))}m=c[2405]|0;Z=(c[m+16>>2]|0)+-1|0;c[m+16>>2]=Z;if(Z|0){l=X;return 0.0}do if(c[m+4>>2]|0){Za(X|0,0)|0;Z=c[6471]|0;g[m+8>>2]=+g[m+8>>2]+ +(((c[X+4>>2]|0)-(c[Z+4>>2]|0)+(((c[X>>2]|0)-(c[Z>>2]|0)|0)*1e6|0)-(c[m+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[m+16>>2]|0)){m=c[2405]|0;break}else{l=X;return 0.0}}while(0);c[2405]=c[m+20>>2];l=X;return 0.0}function lc(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0.0,k=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,D=0.0,G=0.0,I=0.0,J=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.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.0,na=0.0,oa=0.0,pa=0.0,qa=0.0,ra=0.0,sa=0.0;la=l;l=l+80|0;g[b+504>>2]=0.0;g[b+500>>2]=0.0;a[b+525>>0]=0;a[b+526>>0]=0;if(a[b+552>>0]|0?(a[b+527>>0]|0)==0:0){sa=+g[b+556>>2];qa=+g[b+560>>2];ka=+g[b+564>>2];pa=+g[b+568>>2];$=sa*(2.0/(sa*sa+qa*qa+ka*ka+pa*pa));ra=qa*(2.0/(sa*sa+qa*qa+ka*ka+pa*pa));oa=ka*(2.0/(sa*sa+qa*qa+ka*ka+pa*pa));aa=+g[b+300>>2];R=+g[d>>2];ba=+g[b+316>>2];T=+g[d+4>>2];ca=+g[b+332>>2];U=+g[d+8>>2];ea=+g[b+304>>2];ga=+g[b+320>>2];ia=+g[b+336>>2];Y=+g[b+308>>2];Z=+g[b+324>>2];_=+g[b+340>>2];V=+g[d+16>>2];W=+g[d+20>>2];X=+g[d+24>>2];fa=+g[d+32>>2];ha=+g[d+36>>2];ja=+g[d+40>>2];q=+g[b+348>>2];p=+g[b+352>>2];o=+g[b+356>>2];u=+g[b+364>>2];na=+g[e>>2];v=+g[b+380>>2];ma=+g[e+4>>2];w=+g[b+396>>2];k=+g[e+8>>2];x=+g[b+368>>2];y=+g[b+384>>2];z=+g[b+400>>2];r=+g[b+372>>2];s=+g[b+388>>2];t=+g[b+404>>2];m=+g[e+16>>2];n=+g[e+20>>2];j=+g[e+24>>2];A=+g[e+32>>2];G=+g[e+36>>2];J=+g[e+40>>2];D=+g[b+412>>2];I=+g[b+416>>2];i=+g[b+420>>2];M=(1.0-(qa*ra+ka*oa))*(u*na+v*ma+w*k)+(sa*ra+pa*oa)*(na*x+ma*y+k*z)+(sa*oa-pa*ra)*(na*r+ma*s+k*t);N=(sa*ra-pa*oa)*(u*na+v*ma+w*k)+(1.0-(sa*$+ka*oa))*(na*x+ma*y+k*z)+(qa*oa+pa*$)*(na*r+ma*s+k*t);L=(sa*oa+pa*ra)*(u*na+v*ma+w*k)+(qa*oa-pa*$)*(na*x+ma*y+k*z)+(1.0-(sa*$+qa*ra))*(na*r+ma*s+k*t);P=(sa*oa-pa*ra)*(r*m+s*n+t*j)+((1.0-(qa*ra+ka*oa))*(u*m+v*n+w*j)+(sa*ra+pa*oa)*(x*m+y*n+z*j));Q=(qa*oa+pa*$)*(r*m+s*n+t*j)+((sa*ra-pa*oa)*(u*m+v*n+w*j)+(1.0-(sa*$+ka*oa))*(x*m+y*n+z*j));O=(1.0-(sa*$+qa*ra))*(r*m+s*n+t*j)+((sa*oa+pa*ra)*(u*m+v*n+w*j)+(qa*oa-pa*$)*(x*m+y*n+z*j));da=(sa*oa-pa*ra)*(r*A+s*G+t*J)+((1.0-(qa*ra+ka*oa))*(u*A+v*G+w*J)+(sa*ra+pa*oa)*(x*A+y*G+z*J));ka=(qa*oa+pa*$)*(r*A+s*G+t*J)+((sa*ra-pa*oa)*(u*A+v*G+w*J)+(1.0-(sa*$+ka*oa))*(x*A+y*G+z*J));$=(1.0-(sa*$+qa*ra))*(r*A+s*G+t*J)+((sa*oa+pa*ra)*(u*A+v*G+w*J)+(qa*oa-pa*$)*(x*A+y*G+z*J));pa=-(+g[d+48>>2]+(R*q+T*p+U*o));oa=-(V*q+W*p+X*o+ +g[d+52>>2]);o=-(fa*q+ha*p+ja*o+ +g[d+56>>2]);p=(aa*R+ba*T+ca*U)*pa+(aa*V+ba*W+ca*X)*oa+(aa*fa+ba*ha+ca*ja)*o;q=(R*ea+T*ga+U*ia)*pa+(ea*V+ga*W+ia*X)*oa+(ea*fa+ga*ha+ia*ja)*o;o=(R*Y+T*Z+U*_)*pa+(Y*V+Z*W+_*X)*oa+(Y*fa+Z*ha+_*ja)*o;k=o*L+(p*M+q*N)+((u*na+v*ma+w*k)*0.0+(na*x+ma*y+k*z)*0.0+(na*r+ma*s+k*t)*0.0+(+g[e+48>>2]+(na*D+ma*I+k*i)));j=o*O+(p*P+q*Q)+((r*m+s*n+t*j)*0.0+((u*m+v*n+w*j)*0.0+(x*m+y*n+z*j)*0.0)+(m*D+n*I+j*i+ +g[e+52>>2]));i=o*$+(p*da+q*ka)+((r*A+s*G+t*J)*0.0+((u*A+v*G+w*J)*0.0+(x*A+y*G+z*J)*0.0)+(A*D+G*I+J*i+ +g[e+56>>2]));g[la+16>>2]=(R*Y+T*Z+U*_)*L+((aa*R+ba*T+ca*U)*M+(R*ea+T*ga+U*ia)*N);g[la+16+4>>2]=(Y*V+Z*W+_*X)*L+((aa*V+ba*W+ca*X)*M+(ea*V+ga*W+ia*X)*N);g[la+16+8>>2]=(Y*fa+Z*ha+_*ja)*L+((aa*fa+ba*ha+ca*ja)*M+(ea*fa+ga*ha+ia*ja)*N);g[la+16+12>>2]=0.0;g[la+16+16>>2]=(R*Y+T*Z+U*_)*O+((aa*R+ba*T+ca*U)*P+(R*ea+T*ga+U*ia)*Q);g[la+16+20>>2]=(Y*V+Z*W+_*X)*O+((aa*V+ba*W+ca*X)*P+(ea*V+ga*W+ia*X)*Q);g[la+16+24>>2]=(Y*fa+Z*ha+_*ja)*O+((aa*fa+ba*ha+ca*ja)*P+(ea*fa+ga*ha+ia*ja)*Q);g[la+16+28>>2]=0.0;g[la+16+32>>2]=(R*Y+T*Z+U*_)*$+((aa*R+ba*T+ca*U)*da+(R*ea+T*ga+U*ia)*ka);g[la+16+36>>2]=(Y*V+Z*W+_*X)*$+((aa*V+ba*W+ca*X)*da+(ea*V+ga*W+ia*X)*ka);g[la+16+40>>2]=(Y*fa+Z*ha+_*ja)*$+((aa*fa+ba*ha+ca*ja)*da+(ea*fa+ga*ha+ia*ja)*ka);g[la+16+44>>2]=0.0;g[la+16+48>>2]=k;g[la+16+52>>2]=j;g[la+16+56>>2]=i;g[la+16+60>>2]=0.0;lh(la+16|0,la);i=+g[la>>2];j=+g[la+4>>2];k=+g[la+8>>2];if(!(+B(+(i*i+j*j+k*k))<1.1920928955078125e-07)?(g[b+472>>2]=0.0,sa=1.0/+C(+(i*i+j*j+k*k)),g[b+460>>2]=i*sa,g[b+464>>2]=j*sa,g[b+468>>2]=k*sa,sa=+g[la+12>>2],sa=sa<-1.0?-1.0:sa,sa=+H(+(sa>1.0?1.0:sa))*2.0,g[b+504>>2]=sa,!(+B(+sa)<1.1920928955078125e-07)):0)a[b+526>>0]=1;l=la;return}lh(d,la+16|0);lh(b+300|0,la);U=+g[la+16+12>>2];V=+g[la>>2];W=+g[la+16>>2];X=+g[la+12>>2];Y=+g[la+16+4>>2];Z=+g[la+8>>2];_=+g[la+16+8>>2];$=+g[la+4>>2];lh(e,la+16|0);lh(b+364|0,la);aa=+g[la+16+12>>2];ba=+g[la>>2];ca=+g[la+16>>2];da=+g[la+12>>2];ea=+g[la+16+4>>2];fa=+g[la+8>>2];ga=+g[la+16+8>>2];ha=+g[la+4>>2];ia=-(aa*ba+ca*da+ea*fa-ga*ha);ja=-(ba*ga+(da*ea+aa*ha)-ca*fa);ka=-(aa*fa+da*ga+ca*ha-ba*ea);r=(U*X-V*W-Y*$-Z*_)*ia+(U*V+W*X+Y*Z-_*$)*(aa*da-ba*ca-ea*ha-fa*ga)+(U*Z+X*_+W*$-V*Y)*ja-(V*_+(X*Y+U*$)-W*Z)*ka;s=(U*V+W*X+Y*Z-_*$)*ka+((V*_+(X*Y+U*$)-W*Z)*(aa*da-ba*ca-ea*ha-fa*ga)+(U*X-V*W-Y*$-Z*_)*ja)-(U*Z+X*_+W*$-V*Y)*ia;t=(V*_+(X*Y+U*$)-W*Z)*ia+((U*Z+X*_+W*$-V*Y)*(aa*da-ba*ca-ea*ha-fa*ga)+(U*X-V*W-Y*$-Z*_)*ka)-(U*V+W*X+Y*Z-_*$)*ja;u=(U*X-V*W-Y*$-Z*_)*(aa*da-ba*ca-ea*ha-fa*ga)-(U*V+W*X+Y*Z-_*$)*ia-(V*_+(X*Y+U*$)-W*Z)*ja-(U*Z+X*_+W*$-V*Y)*ka;m=-r-s*0.0-t*0.0;k=(t+u*0.0-r*0.0)*-t+(u*(u+s*0.0-t*0.0)+m*-r)-(u*0.0+r*0.0-s)*-s;i=(u*0.0+r*0.0-s)*-r+(u*(t+u*0.0-r*0.0)+m*-s)-(u+s*0.0-t*0.0)*-t;m=(u+s*0.0-t*0.0)*-s+(u*(u*0.0+r*0.0-s)+m*-t)-(t+u*0.0-r*0.0)*-r;j=1.0/+C(+(m*m+(k*k+i*i)));if(j*m*0.0+(j*i*0.0+j*k)<-.9999998807907104){n=-0.0;o=0.0;p=0.0;i=1.0}else{sa=+C(+((j*m*0.0+(j*i*0.0+j*k)+1.0)*2.0));n=(j*m*0.0-j*i*0.0)*(1.0/sa);o=(j*i-j*k*0.0)*(1.0/sa);p=sa*.5;i=(j*k*0.0-j*m)*(1.0/sa)}T=1.0/+C(+(n*n+i*i+o*o+p*p));v=n*T;w=i*T;q=o*T;n=p*T;T=1.0/+C(+((u*n-r*-v-s*-w-t*-q)*(u*n-r*-v-s*-w-t*-q)+((s*-v+(t*n+u*-q)-r*-w)*(s*-v+(t*n+u*-q)-r*-w)+((t*-w+(r*n+u*-v)-s*-q)*(t*-w+(r*n+u*-v)-s*-q)+(r*-q+(u*-w+s*n)-t*-v)*(r*-q+(u*-w+s*n)-t*-v)))));k=T*(t*-w+(r*n+u*-v)-s*-q);m=T*(r*-q+(u*-w+s*n)-t*-v);j=T*(s*-v+(t*n+u*-q)-r*-w);T=T*(u*n-r*-v-s*-w-t*-q);t=+g[b+444>>2];i=+g[b+456>>2];if(t>=i?(x=+g[b+448>>2],x>=i):0){s=n<-1.0?-1.0:n;s=+H(+(s>1.0?1.0:s))*2.0;if(s>1.1920928955078125e-07){i=1.0/+C(+(q*q+(v*v+w*w)));if(+B(+(w*i))>1.1920928955078125e-07){r=+C(+((q*i*q*i/(w*i*w*i)+1.0)/(1.0/(x*x)+q*i*q*i/(w*i*w*i)/(t*t))));o=v*i;n=q*i;i=w*i}else{r=t;o=v*i;n=q*i;i=w*i}}else{r=0.0;o=0.0;n=0.0;i=0.0}p=+g[b+428>>2];q=r*p;if(s>q){a[b+526>>0]=1;if(s>2]=p;g[b+504>>2]=s-q;if(+B(+i)>1.1920928955078125e-07){sa=+B(+(i*-n/i*(x/t)));n=n<-0.0?sa:-sa;sa=1.0/+C(+(o*o+i*i+n*n));o=o*sa;n=-(n*sa);i=i*sa}ra=-o;qa=-i;oa=-n;na=(aa*da-ba*ca-ea*ha-fa*ga)*ra+(ba*ga+(da*ea+aa*ha)-ca*fa)*oa-(aa*fa+da*ga+ca*ha-ba*ea)*qa;sa=(aa*fa+da*ga+ca*ha-ba*ea)*ra+(aa*da-ba*ca-ea*ha-fa*ga)*qa-(aa*ba+ca*da+ea*fa-ga*ha)*oa;pa=(aa*ba+ca*da+ea*fa-ga*ha)*qa+(aa*da-ba*ca-ea*ha-fa*ga)*oa-(ba*ga+(da*ea+aa*ha)-ca*fa)*ra;oa=-((aa*ba+ca*da+ea*fa-ga*ha)*ra)-(ba*ga+(da*ea+aa*ha)-ca*fa)*qa-(aa*fa+da*ga+ca*ha-ba*ea)*oa;qa=sa*ka+(oa*ia+(aa*da-ba*ca-ea*ha-fa*ga)*na)-pa*ja;ra=pa*ia+((aa*da-ba*ca-ea*ha-fa*ga)*sa+oa*ja)-na*ka;sa=na*ja+(oa*ka+(aa*da-ba*ca-ea*ha-fa*ga)*pa)-sa*ia;g[b+460>>2]=qa;g[b+464>>2]=ra;g[b+468>>2]=sa;g[b+472>>2]=0.0;c[b+536>>2]=0;c[b+536+4>>2]=0;c[b+536+8>>2]=0;c[b+536+12>>2]=0;g[b+492>>2]=1.0/(qa*(+g[f>>2]*qa+ +g[f+16>>2]*ra+ +g[f+32>>2]*sa)+ra*(qa*+g[f+4>>2]+ra*+g[f+20>>2]+sa*+g[f+36>>2])+sa*(qa*+g[f+8>>2]+ra*+g[f+24>>2]+sa*+g[f+40>>2])+(qa*(qa*+g[h>>2]+ra*+g[h+16>>2]+sa*+g[h+32>>2])+ra*(qa*+g[h+4>>2]+ra*+g[h+20>>2]+sa*+g[h+36>>2])+sa*(qa*+g[h+8>>2]+ra*+g[h+24>>2]+sa*+g[h+40>>2])))}}else S=20;a:do if((S|0)==20){D=+g[b+300>>2];G=+g[b+316>>2];I=+g[b+332>>2];J=+g[d>>2];L=+g[d+4>>2];M=+g[d+8>>2];N=+g[d+16>>2];O=+g[d+20>>2];P=+g[d+24>>2];Q=+g[d+32>>2];R=+g[d+36>>2];s=+g[d+40>>2];t=+g[b+304>>2];u=+g[b+320>>2];v=+g[b+336>>2];w=+g[b+308>>2];x=+g[b+324>>2];y=+g[b+340>>2];n=+g[b+364>>2];q=+g[b+380>>2];r=+g[b+396>>2];A=n*+g[e>>2]+q*+g[e+4>>2]+r*+g[e+8>>2];z=n*+g[e+16>>2]+q*+g[e+20>>2]+r*+g[e+24>>2];r=n*+g[e+32>>2]+q*+g[e+36>>2]+r*+g[e+40>>2];q=(D*J+G*L+I*M)*A+(D*N+G*O+I*P)*z+(D*Q+G*R+I*s)*r;n=(J*t+L*u+M*v)*A+(N*t+O*u+P*v)*z+(Q*t+R*u+s*v)*r;i=(J*w+L*x+M*y)*A+(N*w+O*x+P*y)*z+(Q*w+R*x+s*y)*r;p=+g[b+444>>2];o=+g[b+456>>2];do if(p>2];if(p>0]=1;g[b+460>>2]=-((D*Q+G*R+I*s)*z-(D*N+G*O+I*P)*r);g[b+464>>2]=-((D*J+G*L+I*M)*r-(D*Q+G*R+I*s)*A);g[b+468>>2]=-((D*N+G*O+I*P)*A-(D*J+G*L+I*M)*z);g[b+472>>2]=0.0;break a}if(+B(+q)<1.1920928955078125e-07?+B(+i)<1.1920928955078125e-07:0){o=q;break}a[b+526>>0]=1;if(p>=o){n=+K(+i,+q);if(n>p){o=+E(+p);n=0.0;i=+F(+p);break}if(n<-p){o=+E(+p);n=0.0;i=-+F(+p)}else{o=q;n=0.0}}else o=q}else{if(+B(+q)<1.1920928955078125e-07?+B(+n)<1.1920928955078125e-07:0){o=q;break}a[b+526>>0]=1;if(p>=o){i=+K(+n,+q);if(i>p){o=+E(+p);n=+F(+p);i=0.0;break}if(i<-p){o=+E(+p);n=-+F(+p);i=0.0}else{o=q;i=0.0}}else o=q}while(0);ra=(J*w+L*x+M*y)*i+((J*t+L*u+M*v)*n+(D*J+G*L+I*M)*o);pa=(N*w+O*x+P*y)*i+((N*t+O*u+P*v)*n+(D*N+G*O+I*P)*o);oa=(Q*w+R*x+s*y)*i+((Q*t+R*u+s*v)*n+(D*Q+G*R+I*s)*o);qa=1.0/+C(+(oa*oa+(ra*ra+pa*pa)));g[b+472>>2]=0.0;sa=+C(+((z*qa*oa-r*qa*pa)*(z*qa*oa-r*qa*pa)+(r*qa*ra-A*qa*oa)*(r*qa*ra-A*qa*oa)+(A*qa*pa-z*qa*ra)*(A*qa*pa-z*qa*ra)));g[b+504>>2]=sa;g[b+460>>2]=-((z*qa*oa-r*qa*pa)*(1.0/sa));g[b+464>>2]=-((r*qa*ra-A*qa*oa)*(1.0/sa));g[b+468>>2]=-((A*qa*pa-z*qa*ra)*(1.0/sa))}while(0);p=+g[b+452>>2];if(!(p>=0.0)){g[b+512>>2]=0.0;l=la;return}i=T<-1.0?-1.0:T;i=+H(+(i>1.0?1.0:i))*2.0;if(i>3.1415927410125732){i=-T<-1.0?-1.0:-T;i=+H(+(i>1.0?1.0:i))*2.0;k=-k;m=-m;j=-j}g[b+512>>2]=i;if(i>1.1920928955078125e-07){sa=1.0/+C(+(k*k+m*m+j*j));o=k*sa;j=j*sa;m=m*sa}else o=k;k=+g[b+428>>2];if(i>p*k){a[b+525>>0]=1;n=i-p*k;if(i>2]=i;g[b+508>>2]=n;ra=-o;qa=-m;oa=-j;na=(aa*da-ba*ca-ea*ha-fa*ga)*ra+(ba*ga+(da*ea+aa*ha)-ca*fa)*oa-(aa*fa+da*ga+ca*ha-ba*ea)*qa;sa=(aa*fa+da*ga+ca*ha-ba*ea)*ra+(aa*da-ba*ca-ea*ha-fa*ga)*qa-(aa*ba+ca*da+ea*fa-ga*ha)*oa;pa=(aa*ba+ca*da+ea*fa-ga*ha)*qa+(aa*da-ba*ca-ea*ha-fa*ga)*oa-(ba*ga+(da*ea+aa*ha)-ca*fa)*ra;oa=-((aa*ba+ca*da+ea*fa-ga*ha)*ra)-(ba*ga+(da*ea+aa*ha)-ca*fa)*qa-(aa*fa+da*ga+ca*ha-ba*ea)*oa;qa=sa*ka+(oa*ia+(aa*da-ba*ca-ea*ha-fa*ga)*na)-pa*ja;ra=pa*ia+((aa*da-ba*ca-ea*ha-fa*ga)*sa+oa*ja)-na*ka;sa=na*ja+(oa*ka+(aa*da-ba*ca-ea*ha-fa*ga)*pa)-sa*ia;g[b+476>>2]=qa;g[b+480>>2]=ra;g[b+484>>2]=sa;g[b+488>>2]=0.0;g[b+496>>2]=1.0/(qa*(+g[f>>2]*qa+ +g[f+16>>2]*ra+ +g[f+32>>2]*sa)+ra*(qa*+g[f+4>>2]+ra*+g[f+20>>2]+sa*+g[f+36>>2])+sa*(qa*+g[f+8>>2]+ra*+g[f+24>>2]+sa*+g[f+40>>2])+(qa*(qa*+g[h>>2]+ra*+g[h+16>>2]+sa*+g[h+32>>2])+ra*(qa*+g[h+4>>2]+ra*+g[h+20>>2]+sa*+g[h+36>>2])+sa*(qa*+g[h+8>>2]+ra*+g[h+24>>2]+sa*+g[h+40>>2])))}if(!(a[b+526>>0]|0)){l=la;return}na=-o;sa=-m;oa=-j;ma=(U*X-V*W-Y*$-Z*_)*na+(V*_+(X*Y+U*$)-W*Z)*oa-(U*Z+X*_+W*$-V*Y)*sa;ra=(U*Z+X*_+W*$-V*Y)*na+(U*X-V*W-Y*$-Z*_)*sa-(U*V+W*X+Y*Z-_*$)*oa;qa=(U*V+W*X+Y*Z-_*$)*sa+(U*X-V*W-Y*$-Z*_)*oa-(V*_+(X*Y+U*$)-W*Z)*na;oa=-((U*V+W*X+Y*Z-_*$)*na)-(V*_+(X*Y+U*$)-W*Z)*sa-(U*Z+X*_+W*$-V*Y)*oa;sa=-(U*V+W*X+Y*Z-_*$);na=-(V*_+(X*Y+U*$)-W*Z);pa=-(U*Z+X*_+W*$-V*Y);g[b+536>>2]=ra*pa+(oa*sa+(U*X-V*W-Y*$-Z*_)*ma)-qa*na;g[b+540>>2]=qa*sa+((U*X-V*W-Y*$-Z*_)*ra+oa*na)-ma*pa;g[b+544>>2]=ma*na+(oa*pa+(U*X-V*W-Y*$-Z*_)*qa)-ra*sa;g[b+548>>2]=0.0;l=la;return}function mc(d,e){d=d|0;e=e|0;var f=0.0,h=0.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,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,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,qa=0;pa=c[d+28>>2]|0;qa=c[d+32>>2]|0;r=c[e+24>>2]|0;if(!(a[d+739>>0]|0)){z=+g[d+552>>2];S=+g[pa+4>>2];A=+g[d+568>>2];T=+g[pa+8>>2];B=+g[d+584>>2];U=+g[pa+12>>2];D=+g[d+556>>2];E=+g[d+572>>2];F=+g[d+588>>2];V=+g[d+560>>2];W=+g[d+576>>2];X=+g[d+592>>2];Y=+g[pa+20>>2];Z=+g[pa+24>>2];_=+g[pa+28>>2];$=+g[pa+36>>2];aa=+g[pa+40>>2];ba=+g[pa+44>>2];l=+g[d+600>>2];m=+g[d+604>>2];o=+g[d+608>>2];q=+g[pa+52>>2];u=+g[pa+56>>2];v=+g[pa+60>>2];G=+g[qa+4>>2];H=+g[qa+8>>2];I=+g[qa+12>>2];J=+g[d+624>>2];K=+g[d+640>>2];L=+g[d+656>>2];M=+g[qa+20>>2];N=+g[qa+24>>2];O=+g[qa+28>>2];P=+g[qa+36>>2];Q=+g[qa+40>>2];R=+g[qa+44>>2];na=+g[d+664>>2];oa=+g[d+668>>2];x=+g[d+672>>2];w=+g[qa+52>>2]+(G*na+H*oa+I*x);y=M*na+N*oa+O*x+ +g[qa+56>>2];x=P*na+Q*oa+R*x+ +g[qa+60>>2];t=b[d+736>>1]|0;if(!((t&255)<<24>>24)){i=c[e+8>>2]|0;g[i>>2]=1.0;g[i+(r+1<<2)>>2]=1.0;g[i+((r<<1)+2<<2)>>2]=1.0;i=c[e+16>>2]|0;g[i>>2]=-1.0;g[i+(r+1<<2)>>2]=-1.0;g[i+((r<<1)+2<<2)>>2]=-1.0;f=+g[pa+52>>2];h=+g[pa+56>>2];k=+g[pa+60>>2];i=r<<1}else{f=q;h=u;k=v;i=r<<1}f=q+(S*l+T*m+U*o)-f;oa=Y*l+Z*m+_*o+u-h;na=$*l+aa*m+ba*o+v-k;j=c[e+12>>2]|0;n=j+(i<<2)|0;c[j>>2]=0;g[j+4>>2]=na;g[j+8>>2]=-oa;g[j+12>>2]=0.0;g[j+(r<<2)>>2]=-na;c[j+(r<<2)+4>>2]=0;g[j+(r<<2)+8>>2]=f;g[j+(r<<2)+12>>2]=0.0;g[n>>2]=oa;g[n+4>>2]=-f;c[n+8>>2]=0;g[n+12>>2]=0.0;f=w-+g[qa+52>>2];oa=y-+g[qa+56>>2];na=x-+g[qa+60>>2];n=c[e+20>>2]|0;i=n+(i<<2)|0;c[n>>2]=0;g[n+4>>2]=-na;g[n+8>>2]=oa;g[n+12>>2]=0.0;g[n+(r<<2)>>2]=na;c[n+(r<<2)+4>>2]=0;g[n+(r<<2)+8>>2]=-f;g[n+(r<<2)+12>>2]=0.0;g[i>>2]=-oa;g[i+4>>2]=f;c[i+8>>2]=0;g[i+12>>2]=0.0;f=+g[e>>2]*+g[e+4>>2];i=c[e+28>>2]|0;if(!((t&255)<<24>>24)){g[i>>2]=f*(w-(q+(S*l+T*m+U*o)));g[i+(r<<2)>>2]=f*(y-(Y*l+Z*m+_*o+u));g[i+(r<<1<<2)>>2]=f*(x-($*l+aa*m+ba*o+v))}s=c[e+24>>2]|0;g[j+(s*3<<2)>>2]=z*S+A*T+B*U;g[j+((s*3|0)+1<<2)>>2]=z*Y+A*Z+B*_;g[j+((s*3|0)+2<<2)>>2]=z*$+A*aa+B*ba;g[j+(s<<2<<2)>>2]=S*D+T*E+U*F;g[j+((s<<2|1)<<2)>>2]=D*Y+E*Z+F*_;g[j+((s<<2|2)<<2)>>2]=D*$+E*aa+F*ba;g[n+(s*3<<2)>>2]=-(z*S+A*T+B*U);g[n+((s*3|0)+1<<2)>>2]=-(z*Y+A*Z+B*_);g[n+((s*3|0)+2<<2)>>2]=-(z*$+A*aa+B*ba);g[n+(s<<2<<2)>>2]=-(S*D+T*E+U*F);g[n+((s<<2|1)<<2)>>2]=-(D*Y+E*Z+F*_);g[n+((s<<2|2)<<2)>>2]=-(D*$+E*aa+F*ba);na=(V*Y+W*Z+X*_)*(J*P+K*Q+L*R)-(V*$+W*aa+X*ba)*(J*M+K*N+L*O);oa=(V*$+W*aa+X*ba)*(G*J+H*K+I*L)-(S*V+T*W+U*X)*(J*P+K*Q+L*R);ma=(S*V+T*W+U*X)*(J*M+K*N+L*O)-(V*Y+W*Z+X*_)*(G*J+H*K+I*L);g[i+(s*3<<2)>>2]=((z*$+A*aa+B*ba)*ma+((z*S+A*T+B*U)*na+(z*Y+A*Z+B*_)*oa))*f;g[i+(s<<2<<2)>>2]=((D*$+E*aa+F*ba)*ma+((S*D+T*E+U*F)*na+(D*Y+E*Z+F*_)*oa))*f;if(!(a[d+716>>0]|0)){r=0;q=0.0}else{q=+g[d+708>>2]*+g[d+732>>2];r=q>0.0?1:2}p=(r|0)!=0;if(!((t&65535)>>>8&65535|r))return;g[j+(s*5<<2)>>2]=S*V+T*W+U*X;g[j+((s*5|0)+1<<2)>>2]=V*Y+W*Z+X*_;g[j+((s*5|0)+2<<2)>>2]=V*$+W*aa+X*ba;g[n+(s*5<<2)>>2]=-(S*V+T*W+U*X);g[n+((s*5|0)+1<<2)>>2]=-(V*Y+W*Z+X*_);g[n+((s*5|0)+2<<2)>>2]=-(V*$+W*aa+X*ba);h=+g[d+688>>2];k=+g[d+692>>2];f=+bh(h-k,6.2831854820251465);if(!(f<-3.1415927410125732))if(f>3.1415927410125732)o=f+-6.2831854820251465;else o=f;else o=f+6.2831854820251465;f=+bh(h+k,6.2831854820251465);if(!(f<-3.1415927410125732)){if(f>3.1415927410125732)f=f+-6.2831854820251465}else f=f+6.2831854820251465;j=o==f;n=i+(s*5<<2)|0;g[n>>2]=0.0;i=c[d+748>>2]|0;m=+g[((i&2|0)==0?e+4|0:d+760|0)>>2];if(!((t&65535)>>>8<<16>>16==0|p&j)){if(i&4|0)c[(c[e+32>>2]|0)+(s*5<<2)>>2]=c[d+752>>2];k=+g[d+728>>2];l=+g[d+680>>2];h=o>f?1.0:0.0;do if(!(o>=f)){h=l/(m*+g[e>>2]);if(h<0.0)if(k>=o&o-h>k){f=(o-k)/h;break}else{f=k0.0)if(k<=f&f-hf?0.0:1.0;break}else f=0.0}else f=h;while(0);g[n>>2]=f*l*+g[d+732>>2]+ +g[n>>2];g[(c[e+36>>2]|0)+(s*5<<2)>>2]=-+g[d+684>>2];c[(c[e+40>>2]|0)+(s*5<<2)>>2]=c[d+684>>2]}if(!p)return;g[n>>2]=+g[n>>2]+q*m*+g[e>>2];if(i&1|0)c[(c[e+32>>2]|0)+(s*5<<2)>>2]=c[d+756>>2];do if(!j){j=(c[e+36>>2]|0)+(s*5<<2)|0;i=c[e+40>>2]|0;if((r|0)==1){g[j>>2]=0.0;f=3402823466385288598117041.0e14;break}else{g[j>>2]=-3402823466385288598117041.0e14;f=0.0;break}}else{g[(c[e+36>>2]|0)+(s*5<<2)>>2]=-3402823466385288598117041.0e14;f=3402823466385288598117041.0e14;i=c[e+40>>2]|0}while(0);g[i+(s*5<<2)>>2]=f;h=+g[d+704>>2];do if(h>0.0){f=(S*V+T*W+U*X)*+g[pa+328>>2]+(V*Y+W*Z+X*_)*+g[pa+332>>2]+(V*$+W*aa+X*ba)*+g[pa+336>>2]-((S*V+T*W+U*X)*+g[qa+328>>2]+(V*Y+W*Z+X*_)*+g[qa+332>>2]+(V*$+W*aa+X*ba)*+g[qa+336>>2]);if((r|0)==1){if(!(f<0.0))break;if(!(+g[n>>2]<-(h*f)))break;g[n>>2]=-(h*f);break}else{if(!(f>0.0))break;if(!(+g[n>>2]>-(h*f)))break;g[n>>2]=-(h*f);break}}while(0);g[n>>2]=+g[d+700>>2]*+g[n>>2];return}W=+g[pa+4>>2];ca=+g[pa+8>>2];ia=+g[pa+12>>2];u=+g[d+556>>2];v=+g[d+572>>2];w=+g[d+588>>2];ja=+g[d+560>>2];ka=+g[d+576>>2];P=+g[d+592>>2];Q=+g[pa+20>>2];R=+g[pa+24>>2];S=+g[pa+28>>2];T=+g[pa+36>>2];U=+g[pa+40>>2];V=+g[pa+44>>2];Y=+g[d+600>>2];X=+g[d+604>>2];o=+g[d+608>>2];k=+g[pa+52>>2]+(W*Y+ca*X+ia*o);y=Q*Y+R*X+S*o+ +g[pa+56>>2];o=T*Y+U*X+V*o+ +g[pa+60>>2];X=+g[qa+4>>2];Y=+g[qa+8>>2];Z=+g[qa+12>>2];_=+g[d+624>>2];$=+g[d+640>>2];aa=+g[d+656>>2];ba=+g[qa+20>>2];da=+g[qa+24>>2];ea=+g[qa+28>>2];fa=+g[qa+36>>2];ga=+g[qa+40>>2];ha=+g[qa+44>>2];m=+g[d+664>>2];x=+g[d+668>>2];h=+g[d+672>>2];l=+g[qa+52>>2];z=+g[qa+56>>2];q=+g[qa+60>>2];L=l+(X*m+Y*x+Z*h)-k;N=ba*m+da*x+ea*h+z-y;M=fa*m+ga*x+ha*h+q-o;A=+g[(c[d+28>>2]|0)+344>>2];B=+g[(c[d+32>>2]|0)+344>>2];J=A+B>0.0?B/(A+B):.5;la=(W*ja+ca*ka+ia*P)*J+(X*_+Y*$+Z*aa)*(1.0-J);na=(ja*Q+ka*R+P*S)*J+(_*ba+$*da+aa*ea)*(1.0-J);ma=(ja*T+ka*U+P*V)*J+(_*fa+$*ga+aa*ha)*(1.0-J);oa=1.0/+C(+(la*la+na*na+ma*ma));D=(l+(X*m+Y*x+Z*h)-l)*la*oa+(ba*m+da*x+ea*h+z-z)*na*oa+(fa*m+ga*x+ha*h+q-q)*ma*oa;l=l+(X*m+Y*x+Z*h)-l-la*oa*D;z=ba*m+da*x+ea*h+z-z-na*oa*D;q=fa*m+ga*x+ha*h+q-q-ma*oa*D;k=k-+g[pa+52>>2];y=y-+g[pa+56>>2];o=o-+g[pa+60>>2];h=la*oa*(k*la*oa+y*na*oa+o*ma*oa);x=na*oa*(k*la*oa+y*na*oa+o*ma*oa);m=ma*oa*(k*la*oa+y*na*oa+o*ma*oa);H=k-h+J*(h-la*oa*D);I=y-x+J*(x-na*oa*D);G=o-m+J*(m-ma*oa*D);E=l-(1.0-J)*(h-la*oa*D);F=z-(1.0-J)*(x-na*oa*D);D=q-(1.0-J)*(m-ma*oa*D);f=(J*l+(1.0-J)*(k-h))*(J*l+(1.0-J)*(k-h))+(J*z+(1.0-J)*(y-x))*(J*z+(1.0-J)*(y-x))+(J*q+(1.0-J)*(o-m))*(J*q+(1.0-J)*(o-m));if(f>1.1920928955078125e-07){w=1.0/+C(+f);O=(J*l+(1.0-J)*(k-h))*w;K=w*(J*q+(1.0-J)*(o-m));q=w*(J*z+(1.0-J)*(y-x))}else{O=W*u+ca*v+ia*w;K=u*T+v*U+w*V;q=u*Q+v*R+w*S}u=na*oa*K-ma*oa*q;v=ma*oa*O-K*la*oa;w=q*la*oa-na*oa*O;t=c[e+12>>2]|0;g[t>>2]=I*K-G*q;g[t+4>>2]=G*O-H*K;g[t+8>>2]=H*q-I*O;t=c[e+20>>2]|0;g[t>>2]=-(F*K-D*q);g[t+4>>2]=-(D*O-E*K);g[t+8>>2]=-(E*q-F*O);if(A<1.1920928955078125e-07|B<1.1920928955078125e-07?(a[d+716>>0]|0)!=0:0){f=(1.0-J)*(F*w-D*v);h=(1.0-J)*(D*u-E*w);k=(1.0-J)*(E*v-F*u);l=J*(I*w-G*v);m=J*(G*u-H*w);o=J*(H*v-I*u)}else{f=F*w-D*v;h=D*u-E*w;k=E*v-F*u;l=I*w-G*v;m=G*u-H*w;o=H*v-I*u}t=(c[e+12>>2]|0)+(r<<2)|0;g[t>>2]=l;g[t+4>>2]=m;g[t+8>>2]=o;t=c[e+20>>2]|0;g[t+(r<<2)>>2]=-f;g[t+(r+1<<2)>>2]=-h;g[t+(r+2<<2)>>2]=-k;if(A<1.1920928955078125e-07|B<1.1920928955078125e-07){o=(1.0-J)*(F*ma*oa-D*na*oa);m=(1.0-J)*(D*la*oa-E*ma*oa);l=(1.0-J)*(E*na*oa-F*la*oa);k=J*(I*ma*oa-G*na*oa);h=J*(G*la*oa-H*ma*oa);f=J*(H*na*oa-I*la*oa)}else{o=F*ma*oa-D*na*oa;m=D*la*oa-E*ma*oa;l=E*na*oa-F*la*oa;k=I*ma*oa-G*na*oa;h=G*la*oa-H*ma*oa;f=H*na*oa-I*la*oa}i=(c[e+12>>2]|0)+(r<<1<<2)|0;g[i>>2]=k;g[i+4>>2]=h;g[i+8>>2]=f;i=c[e+20>>2]|0;g[i+(r<<1<<2)>>2]=-o;g[i+((r<<1|1)<<2)>>2]=-m;g[i+((r<<1)+2<<2)>>2]=-l;f=+g[e>>2]*+g[e+4>>2];if(!(a[d+736>>0]|0)){p=c[e+8>>2]|0;g[p>>2]=O;g[p+4>>2]=q;g[p+8>>2]=K;p=(c[e+8>>2]|0)+(r<<2)|0;g[p>>2]=u;g[p+4>>2]=v;g[p+8>>2]=w;p=(c[e+8>>2]|0)+(r<<1<<2)|0;g[p>>2]=la*oa;g[p+4>>2]=na*oa;g[p+8>>2]=ma*oa;p=c[e+16>>2]|0;h=-O;g[p>>2]=h;g[p+4>>2]=-q;g[p+8>>2]=-K;g[p+(r<<2)>>2]=-u;g[p+(r+1<<2)>>2]=-v;g[p+(r+2<<2)>>2]=-w;g[p+(r<<1<<2)>>2]=-(la*oa);g[p+((r<<1|1)<<2)>>2]=-(na*oa);g[p+((r<<1)+2<<2)>>2]=-(ma*oa);p=c[e+28>>2]|0;g[p>>2]=f*(L*O+N*q+M*K);g[p+(r<<2)>>2]=f*(L*u+N*v+M*w);g[p+(r<<1<<2)>>2]=f*(L*la*oa+N*na*oa+M*ma*oa);i=c[e+20>>2]|0;f=h;h=-u;k=-v;l=-w}else{p=c[e+28>>2]|0;f=-O;h=-u;k=-v;l=-w}j=c[e+12>>2]|0;g[j+(r*3<<2)>>2]=O;g[j+((r*3|0)+1<<2)>>2]=q;g[j+((r*3|0)+2<<2)>>2]=K;g[j+(r<<2<<2)>>2]=u;g[j+((r<<2|1)<<2)>>2]=v;g[j+((r<<2|2)<<2)>>2]=w;g[i+(r*3<<2)>>2]=f;g[i+((r*3|0)+1<<2)>>2]=-q;g[i+((r*3|0)+2<<2)>>2]=-K;g[i+(r<<2<<2)>>2]=h;g[i+((r<<2|1)<<2)>>2]=k;g[i+((r<<2|2)<<2)>>2]=l;M=+g[e>>2]*+g[e+4>>2];N=(ja*Q+ka*R+P*S)*(_*fa+$*ga+aa*ha)-(ja*T+ka*U+P*V)*(_*ba+$*da+aa*ea);ha=(ja*T+ka*U+P*V)*(X*_+Y*$+Z*aa)-(W*ja+ca*ka+ia*P)*(_*fa+$*ga+aa*ha);ka=(W*ja+ca*ka+ia*P)*(_*ba+$*da+aa*ea)-(ja*Q+ka*R+P*S)*(X*_+Y*$+Z*aa);g[p+(r*3<<2)>>2]=M*(N*O+ha*q+ka*K);g[p+(r<<2<<2)>>2]=M*(N*u+ha*v+ka*w);if(!(a[d+716>>0]|0)){t=0;q=0.0}else{q=+g[d+708>>2]*+g[d+732>>2];t=q>0.0?1:2}n=a[d+737>>0]|0;r=(t|0)!=0;if(!(n&255|t))return;s=(c[e+24>>2]|0)*5|0;g[j+(s<<2)>>2]=la*oa;g[j+(s+1<<2)>>2]=na*oa;g[j+(s+2<<2)>>2]=ma*oa;g[i+(s<<2)>>2]=-(la*oa);g[i+(s+1<<2)>>2]=-(na*oa);g[i+(s+2<<2)>>2]=-(ma*oa);h=+g[d+688>>2];k=+g[d+692>>2];f=+bh(h-k,6.2831854820251465);if(!(f<-3.1415927410125732))if(f>3.1415927410125732)o=f+-6.2831854820251465;else o=f;else o=f+6.2831854820251465;f=+bh(h+k,6.2831854820251465);if(!(f<-3.1415927410125732)){if(f>3.1415927410125732)f=f+-6.2831854820251465}else f=f+6.2831854820251465;j=o==f;p=p+(s<<2)|0;g[p>>2]=0.0;i=c[d+748>>2]|0;m=+g[((i&2|0)==0?e+4|0:d+760|0)>>2];if(!(n<<24>>24==0|r&j)){if(i&4|0)c[(c[e+32>>2]|0)+(s<<2)>>2]=c[d+752>>2];k=+g[d+728>>2];l=+g[d+680>>2];h=o>f?1.0:0.0;do if(!(o>=f)){h=l/(m*+g[e>>2]);if(h<0.0)if(k>=o&o-h>k){f=(o-k)/h;break}else{f=k0.0)if(k<=f&f-hf?0.0:1.0;break}else f=0.0}else f=h;while(0);g[p>>2]=f*l*+g[d+732>>2]+ +g[p>>2];g[(c[e+36>>2]|0)+(s<<2)>>2]=-+g[d+684>>2];c[(c[e+40>>2]|0)+(s<<2)>>2]=c[d+684>>2]}if(!r)return;g[p>>2]=+g[p>>2]+q*m*+g[e>>2];if(i&1|0)c[(c[e+32>>2]|0)+(s<<2)>>2]=c[d+756>>2];do if(!j){j=(c[e+36>>2]|0)+(s<<2)|0;i=c[e+40>>2]|0;if((t|0)==1){g[j>>2]=0.0;f=3402823466385288598117041.0e14;break}else{g[j>>2]=-3402823466385288598117041.0e14;f=0.0;break}}else{g[(c[e+36>>2]|0)+(s<<2)>>2]=-3402823466385288598117041.0e14;f=3402823466385288598117041.0e14;i=c[e+40>>2]|0}while(0);g[i+(s<<2)>>2]=f;h=+g[d+704>>2];do if(h>0.0){f=+g[pa+328>>2]*la*oa+ +g[pa+332>>2]*na*oa+ +g[pa+336>>2]*ma*oa-(la*oa*+g[qa+328>>2]+na*oa*+g[qa+332>>2]+ma*oa*+g[qa+336>>2]);if((t|0)==1){if(!(f<0.0))break;if(!(+g[p>>2]<-(h*f)))break;g[p>>2]=-(h*f);break}else{if(!(f>0.0))break;if(!(+g[p>>2]>-(h*f)))break;g[p>>2]=-(h*f);break}}while(0);g[p>>2]=+g[d+700>>2]*+g[p>>2];return}function nc(b,d){b=b|0;d=d|0;var e=0.0,f=0,h=0.0,i=0,k=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,u=0.0,v=0.0,w=0,x=0,y=0,z=0,A=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.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0,$=0,aa=0,ba=0,ca=0.0,da=0,ea=0,fa=0,ga=0;fa=l;l=l+16|0;da=c[b+28>>2]|0;ea=c[b+32>>2]|0;X=+g[da+344>>2];Y=+g[ea+344>>2];T=c[d+24>>2]|0;ca=a[b+180>>0]|0?1.0:-1.0;U=+g[b+936>>2]-+g[b+872>>2];W=+g[b+940>>2]-+g[b+876>>2];V=+g[b+944>>2]-+g[b+880>>2];Z=X+Y>0.0?Y/(X+Y):.5;K=c[b+824>>2]|0;L=c[b+840>>2]|0;M=c[b+856>>2]|0;N=c[b+888>>2]|0;P=c[b+904>>2]|0;Q=c[b+920>>2]|0;R=(a[b+49>>0]|0)==0;if(R){x=c[b+828>>2]|0;p=(c[j>>2]=x,+g[j>>2]);z=c[b+844>>2]|0;y=c[b+860>>2]|0;c[fa+4>>2]=z;f=c[b+832>>2]|0;w=c[b+848>>2]|0;s=c[b+864>>2]|0;c[fa>>2]=f;q=(c[j>>2]=y,+g[j>>2]);r=(c[j>>2]=f,+g[j>>2]);e=(c[j>>2]=w,+g[j>>2]);n=(c[j>>2]=s,+g[j>>2]);$=K;aa=L;ba=M}else{k=Z*(c[j>>2]=K,+g[j>>2]);n=Z*(c[j>>2]=L,+g[j>>2]);e=Z*(c[j>>2]=M,+g[j>>2]);m=(1.0-Z)*(c[j>>2]=N,+g[j>>2]);o=(1.0-Z)*(c[j>>2]=P,+g[j>>2]);e=e+(1.0-Z)*(c[j>>2]=Q,+g[j>>2]);h=1.0/+C(+((k+m)*(k+m)+(n+o)*(n+o)+e*e));i=(g[j>>2]=(k+m)*h,c[j>>2]|0);s=(g[j>>2]=(n+o)*h,c[j>>2]|0);w=(g[j>>2]=e*h,c[j>>2]|0);if(+B(+(e*h))>.7071067690849304){J=1.0/+C(+(e*h*e*h+(n+o)*h*(n+o)*h));g[fa+4>>2]=-(e*h*J);q=(n+o)*h*J;p=0.0;t=(k+m)*h*-(e*h*J);r=(e*h*e*h+(n+o)*h*(n+o)*h)*J;e=-((k+m)*h*(n+o)*h*J);f=0}else{t=(k+m)*h*(k+m)*h+(n+o)*h*(n+o)*h;J=1.0/+C(+t);f=(g[j>>2]=-((n+o)*h*J),c[j>>2]|0);g[fa+4>>2]=(k+m)*h*J;q=0.0;p=-((n+o)*h*J);t=t*J;r=-(e*h*(k+m)*h*J);e=e*h*-((n+o)*h*J)}y=(g[j>>2]=q,c[j>>2]|0);ga=(g[j>>2]=r,c[j>>2]|0);g[fa>>2]=r;S=(g[j>>2]=e,c[j>>2]|0);z=c[fa+4>>2]|0;n=t;$=i;aa=s;ba=w;x=f;f=ga;s=(g[j>>2]=t,c[j>>2]|0);w=S}S=c[d+12>>2]|0;g[S>>2]=p;c[S+4>>2]=z;c[S+8>>2]=y;c[S+(T<<2)>>2]=f;c[S+(T+1<<2)>>2]=w;c[S+(T+2<<2)>>2]=s;m=-p;i=c[d+20>>2]|0;g[i>>2]=m;k=+g[fa+4>>2];g[i+4>>2]=-k;g[i+8>>2]=-q;g[i+(T<<2)>>2]=-r;g[i+(T+1<<2)>>2]=-e;g[i+(T+2<<2)>>2]=-n;f=c[b+300>>2]|0;h=+g[b+280>>2];if(!(f&128))h=h*+g[d+4>>2];D=h*+g[d>>2];I=(c[j>>2]=L,+g[j>>2]);F=(c[j>>2]=Q,+g[j>>2]);E=(c[j>>2]=M,+g[j>>2]);H=(c[j>>2]=P,+g[j>>2]);J=(c[j>>2]=N,+g[j>>2]);G=(c[j>>2]=K,+g[j>>2]);ga=c[d+28>>2]|0;g[ga>>2]=D*((I*F-E*H)*p+(E*J-G*F)*k+(G*H-I*J)*q);g[ga+(T<<2)>>2]=D*((I*F-E*H)*r+(E*J-G*F)*e+(G*H-I*J)*n);if(f&64|0){ga=c[d+32>>2]|0;c[ga>>2]=c[b+292>>2];c[ga+(T<<2)>>2]=c[b+292>>2]}J=+g[da+52>>2];F=+g[da+56>>2];H=+g[da+60>>2];o=+g[ea+52>>2];h=+g[ea+56>>2];k=+g[ea+60>>2];if(R){u=+g[fa+4>>2];G=(h-F)*q-(k-H)*u;t=(k-H)*p-(o-J)*q;q=(o-J)*u-(h-F)*p;g[S+(T<<1<<2)>>2]=Z*G;g[S+((T<<1|1)<<2)>>2]=Z*t;g[S+((T<<1)+2<<2)>>2]=Z*q;g[i+(T<<1<<2)>>2]=(1.0-Z)*G;g[i+((T<<1|1)<<2)>>2]=(1.0-Z)*t;g[i+((T<<1)+2<<2)>>2]=(1.0-Z)*q;q=(h-F)*n-(k-H)*e;t=(k-H)*r-(o-J)*n;n=(o-J)*e-(h-F)*r;g[S+(T*3<<2)>>2]=Z*q;g[S+((T*3|0)+1<<2)>>2]=Z*t;g[S+((T*3|0)+2<<2)>>2]=Z*n;g[i+(T*3<<2)>>2]=(1.0-Z)*q;g[i+((T*3|0)+1<<2)>>2]=(1.0-Z)*t;g[i+((T*3|0)+2<<2)>>2]=(1.0-Z)*n;i=c[d+8>>2]|0;c[i+(T<<1<<2)>>2]=x;c[i+((T<<1|1)<<2)>>2]=z;c[i+((T<<1)+2<<2)>>2]=y;ga=c[fa>>2]|0;c[i+(T*3<<2)>>2]=ga;c[i+((T*3|0)+1<<2)>>2]=w;c[i+((T*3|0)+2<<2)>>2]=s;f=c[d+16>>2]|0;g[f+(T<<1<<2)>>2]=m;n=(c[j>>2]=z,+g[j>>2]);g[f+((T<<1|1)<<2)>>2]=-n;t=(c[j>>2]=y,+g[j>>2]);g[f+((T<<1)+2<<2)>>2]=-t;q=(c[j>>2]=ga,+g[j>>2]);g[f+(T*3<<2)>>2]=-q;r=(c[j>>2]=w,+g[j>>2]);g[f+((T*3|0)+1<<2)>>2]=-r;G=(c[j>>2]=s,+g[j>>2]);s=f;u=0.0;v=0.0;E=0.0;I=0.0;A=0.0;D=0.0;m=h-F;k=k-H;h=o-J;f=f+((T*3|0)+2<<2)|0}else{r=+g[b+936>>2]-o;t=+g[b+940>>2]-h;G=+g[b+944>>2]-k;o=(c[j>>2]=$,+g[j>>2]);p=(c[j>>2]=aa,+g[j>>2]);n=(c[j>>2]=ba,+g[j>>2]);I=+g[b+872>>2]-J;J=+g[b+876>>2]-F;k=+g[b+880>>2]-H;A=+g[b+1080>>2]-+g[b+1032>>2];D=o*(o*I+p*J+n*k)+o*A-o*(o*r+p*t+n*G);F=p*(o*I+p*J+n*k)+p*A-p*(o*r+p*t+n*G);A=n*(o*I+p*J+n*k)+n*A-n*(o*r+p*t+n*G);E=I-o*(o*I+p*J+n*k)+Z*D;u=J-p*(o*I+p*J+n*k)+Z*F;v=k-n*(o*I+p*J+n*k)+Z*A;D=r-o*(o*r+p*t+n*G)-(1.0-Z)*D;F=t-p*(o*r+p*t+n*G)-(1.0-Z)*F;A=G-n*(o*r+p*t+n*G)-(1.0-Z)*A;h=Z*(r-o*(o*r+p*t+n*G))+(1.0-Z)*(I-o*(o*I+p*J+n*k));e=Z*(t-p*(o*r+p*t+n*G))+(1.0-Z)*(J-p*(o*I+p*J+n*k));k=Z*(G-n*(o*r+p*t+n*G))+(1.0-Z)*(k-n*(o*I+p*J+n*k));g[fa+4>>2]=e;if(k*k+(h*h+e*e)>1.1920928955078125e-07){J=1.0/+C(+(k*k+(h*h+e*e)));i=(g[j>>2]=h*J,c[j>>2]|0);g[fa+4>>2]=J*e;t=J*k;m=J*e;e=h*J;f=(g[j>>2]=J*k,c[j>>2]|0)}else{i=c[b+828>>2]|0;ga=c[b+844>>2]|0;f=c[b+860>>2]|0;c[fa+4>>2]=ga;t=(c[j>>2]=f,+g[j>>2]);m=(c[j>>2]=ga,+g[j>>2]);e=(c[j>>2]=i,+g[j>>2])}q=p*t-n*m;r=n*e-o*t;p=o*m-p*e;g[fa>>2]=q;g[S+(T<<1<<2)>>2]=u*t-v*m;g[S+(T<<1<<2)+4>>2]=v*e-E*t;g[S+(T<<1<<2)+8>>2]=E*m-u*e;ga=c[d+20>>2]|0;g[ga+(T<<1<<2)>>2]=-(F*t-A*m);g[ga+((T<<1|1)<<2)>>2]=-(A*e-D*t);g[ga+((T<<1)+2<<2)>>2]=-(D*m-F*e);if(X<1.1920928955078125e-07|Y<1.1920928955078125e-07?(a[b+297>>0]|0)!=0:0){e=(1.0-Z)*(F*p-A*r);h=(1.0-Z)*(A*q-D*p);k=(1.0-Z)*(D*r-F*q);m=Z*(u*p-v*r);n=Z*(E*r-u*q);o=Z*(v*q-E*p)}else{e=F*p-A*r;h=A*q-D*p;k=D*r-F*q;m=u*p-v*r;n=E*r-u*q;o=v*q-E*p}s=(c[d+12>>2]|0)+(T*3<<2)|0;g[s>>2]=m;g[s+4>>2]=o;g[s+8>>2]=n;s=c[d+20>>2]|0;g[s+(T*3<<2)>>2]=-e;g[s+((T*3|0)+1<<2)>>2]=-h;g[s+((T*3|0)+2<<2)>>2]=-k;s=c[d+8>>2]|0;c[s+(T<<1<<2)>>2]=i;c[s+((T<<1|1)<<2)>>2]=c[fa+4>>2];c[s+((T<<1)+2<<2)>>2]=f;g[s+(T*3<<2)>>2]=q;g[s+((T*3|0)+1<<2)>>2]=r;g[s+((T*3|0)+2<<2)>>2]=p;f=c[d+16>>2]|0;I=(c[j>>2]=i,+g[j>>2]);g[f+(T<<1<<2)>>2]=-I;n=+g[fa+4>>2];g[f+((T<<1|1)<<2)>>2]=-n;g[f+((T<<1)+2<<2)>>2]=-t;g[f+(T*3<<2)>>2]=-q;g[f+((T*3|0)+1<<2)>>2]=-r;G=p;p=I;i=s;s=f;I=F;m=0.0;k=0.0;h=0.0;f=f+((T*3|0)+2<<2)|0}g[f>>2]=-G;K=c[b+300>>2]|0;e=+g[b+264>>2];if(!(K&32))e=e*+g[d+4>>2];J=e*+g[d>>2];L=c[d+28>>2]|0;g[L+(T<<1<<2)>>2]=J*(U*p+W*n+V*t);g[L+(T*3<<2)>>2]=J*(U*q+W*r+V*G);if(K&16|0){ga=c[d+32>>2]|0;c[ga+(T<<1<<2)>>2]=c[b+276>>2];c[ga+(T*3<<2)>>2]=c[b+276>>2]}if(!(a[b+296>>0]|0)){y=0;p=0.0}else{p=ca*+g[b+1032>>2];y=p>0.0?2:1}w=a[b+1096>>0]|0;x=(y|0)!=0;if(w&255|y){z=c[d+24>>2]<<2;c[i+(z<<2)>>2]=$;c[i+((z|1)<<2)>>2]=aa;c[i+((z|2)<<2)>>2]=ba;q=(c[j>>2]=$,+g[j>>2]);g[s+(z<<2)>>2]=-q;r=(c[j>>2]=aa,+g[j>>2]);g[s+((z|1)<<2)>>2]=-r;t=(c[j>>2]=ba,+g[j>>2]);g[s+((z|2)<<2)>>2]=-t;if(a[b+49>>0]|0){if(!(X<1.1920928955078125e-07|Y<1.1920928955078125e-07)){f=c[d+12>>2]|0;g[f+(z<<2)>>2]=t*u-r*v;g[f+((z|1)<<2)>>2]=q*v-t*E;g[f+((z|2)<<2)>>2]=r*E-q*u;f=c[d+20>>2]|0;g[f+(z<<2)>>2]=-(t*I-r*A);g[f+((z|1)<<2)>>2]=-(q*A-t*D);e=-(r*D-q*I);_=31}}else{X=t*m-r*k;Y=q*k-t*h;e=r*h-q*m;f=c[d+12>>2]|0;g[f+(z<<2)>>2]=Z*X;g[f+((z|1)<<2)>>2]=Z*Y;g[f+((z|2)<<2)>>2]=Z*e;f=c[d+20>>2]|0;g[f+(z<<2)>>2]=(1.0-Z)*X;g[f+((z|1)<<2)>>2]=(1.0-Z)*Y;e=(1.0-Z)*e;_=31}if((_|0)==31)g[f+((z|2)<<2)>>2]=e;f=+g[b+184>>2]==+g[b+188>>2];g[L+(z<<2)>>2]=0.0;i=(c[d+36>>2]|0)+(z<<2)|0;g[i>>2]=0.0;s=(c[d+40>>2]|0)+(z<<2)|0;g[s>>2]=0.0;o=+g[((K&512|0)==0?d+4|0:b+232|0)>>2];if(!(w<<24>>24==0|x&f)){if(K&1|0)c[(c[d+32>>2]|0)+(z<<2)>>2]=c[b+212>>2];n=+g[b+1100>>2];e=+g[b+1080>>2];h=+g[b+184>>2];k=+g[b+188>>2];m=o*+g[d>>2];do if(!(h>k))if(!(h==k)){if(n/m<0.0)if(e>=h?h-n/m>e:0){e=(h-e)/(n/m);break}else{e=e0.0)if(e<=k?k-n/mk?0.0:1.0;break}else e=0.0}else e=0.0;else e=1.0;while(0);g[L+(z<<2)>>2]=+g[L+(z<<2)>>2]-ca*e*n;g[i>>2]=+g[i>>2]-+g[b+1104>>2]*+g[d>>2];g[s>>2]=+g[b+1104>>2]*+g[d>>2]+ +g[s>>2]}if(x){g[L+(z<<2)>>2]=+g[L+(z<<2)>>2]+p*o*+g[d>>2];if(K&256|0)c[(c[d+32>>2]|0)+(z<<2)>>2]=c[b+244>>2];if(f){e=3402823466385288598117041.0e14;h=-3402823466385288598117041.0e14}else{ga=(y|0)==1;e=ga?0.0:3402823466385288598117041.0e14;h=ga?-3402823466385288598117041.0e14:0.0}g[i>>2]=h;g[s>>2]=e;Z=1.0-+g[b+240>>2];h=+B(+Z);do if(!(Z!=Z|0.0!=0.0|Z==0.0)){e=ca*(q*+g[da+312>>2]+r*+g[da+316>>2]+t*+g[da+320>>2]-(q*+g[ea+312>>2]+r*+g[ea+316>>2]+t*+g[ea+320>>2]));if((y|0)==1){if(!(e<0.0))break;if(!(+g[L+(z<<2)>>2]<-(h*e)))break;g[L+(z<<2)>>2]=-(h*e);break}else{if(!(e>0.0))break;if(!(+g[L+(z<<2)>>2]>-(h*e)))break;g[L+(z<<2)>>2]=-(h*e);break}}while(0);g[L+(z<<2)>>2]=+g[b+232>>2]*+g[L+(z<<2)>>2];f=5}else f=5}else f=4;if(!(a[b+297>>0]|0)){x=0;r=0.0}else{r=+g[b+1088>>2];x=r>0.0?1:2}i=a[b+1112>>0]|0;s=(x|0)!=0;if(!(i&255|x)){l=fa;return}w=O(c[d+24>>2]|0,f)|0;ga=c[d+12>>2]|0;c[ga+(w<<2)>>2]=$;c[ga+(w+1<<2)>>2]=aa;c[ga+(w+2<<2)>>2]=ba;v=(c[j>>2]=$,+g[j>>2]);ga=c[d+20>>2]|0;g[ga+(w<<2)>>2]=-v;u=(c[j>>2]=aa,+g[j>>2]);g[ga+(w+1<<2)>>2]=-u;t=(c[j>>2]=ba,+g[j>>2]);g[ga+(w+2<<2)>>2]=-t;o=+g[b+192>>2];p=+g[b+196>>2];q=+g[((K&2048|0)==0?d+4|0:b+248|0)>>2];if(!(i<<24>>24==0|s&o==p)){if(!(K&4)){h=p;k=o}else{c[(c[d+32>>2]|0)+(w<<2)>>2]=c[b+228>>2];h=+g[b+196>>2];k=+g[b+192>>2]}e=+g[b+1084>>2];n=+g[b+1116>>2];m=q*+g[d>>2];do if(!(k>h))if(!(k==h)){if(n/m<0.0)if(e>=k?k-n/m>e:0){e=(k-e)/(n/m);break}else{e=e0.0)if(e<=h?h-n/mh?0.0:1.0;break}else e=0.0}else e=0.0;else e=1.0;while(0);g[L+(w<<2)>>2]=e*n;g[(c[d+36>>2]|0)+(w<<2)>>2]=-(+g[b+1120>>2]*+g[d>>2]);g[(c[d+40>>2]|0)+(w<<2)>>2]=+g[b+1120>>2]*+g[d>>2]}if(!s){l=fa;return}g[L+(w<<2)>>2]=+g[L+(w<<2)>>2]+r*q*+g[d>>2];if(K&1024|0)c[(c[d+32>>2]|0)+(w<<2)>>2]=c[b+260>>2];do if(!(o==p)){i=(c[d+36>>2]|0)+(w<<2)|0;f=c[d+40>>2]|0;if((x|0)==1){g[i>>2]=0.0;e=3402823466385288598117041.0e14;break}else{g[i>>2]=-3402823466385288598117041.0e14;e=0.0;break}}else{g[(c[d+36>>2]|0)+(w<<2)>>2]=-3402823466385288598117041.0e14;e=3402823466385288598117041.0e14;f=c[d+40>>2]|0}while(0);g[f+(w<<2)>>2]=e;ca=1.0-+g[b+256>>2];h=+B(+ca);do if(!(ca!=ca|0.0!=0.0|ca==0.0)){d=c[b+28>>2]|0;ga=c[b+32>>2]|0;e=v*+g[d+328>>2]+u*+g[d+332>>2]+t*+g[d+336>>2]-(v*+g[ga+328>>2]+u*+g[ga+332>>2]+t*+g[ga+336>>2]);if((x|0)==1){if(!(e<0.0))break;if(!(+g[L+(w<<2)>>2]<-(h*e)))break;g[L+(w<<2)>>2]=-(h*e);break}else{if(!(e>0.0))break;if(!(+g[L+(w<<2)>>2]>-(h*e)))break;g[L+(w<<2)>>2]=-(h*e);break}}while(0);g[L+(w<<2)>>2]=+g[b+248>>2]*+g[L+(w<<2)>>2];l=fa;return}function oc(d,e,f,h,i,j){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=+j;var k=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.0,y=0.0,z=0.0,A=0.0,B=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;G=l;l=l+896|0;F=c[h+4>>2]|0;E=c[h+12>>2]|0;k=c[F+4>>2]|0;if((k|0)<20){c[G+712>>2]=3832;c[G+712+168>>2]=0;g[G+712+172>>2]=j;c[G+712+164>>2]=c[i+4>>2];g[G+352+308>>2]=9.999999747378752e-05;a[G+352+332>>0]=0;c[G+288>>2]=9312;c[G+64>>2]=9380;c[G+64+4>>2]=G+352;c[G+64+8>>2]=G+288;c[G+64+12>>2]=d;c[G+64+16>>2]=F;c[G+64+20>>2]=0;if((Jd(G+64|0,e,f,E,E,G+712|0)|0?(v=G+712+132|0,s=+g[v>>2],t=+g[G+712+136>>2],m=+g[G+712+140>>2],s*s+t*t+m*m>9.999999747378752e-05):0)?(n=+g[G+712+164>>2],n<+g[i+4>>2]):0){j=1.0/+C(+(s*s+t*t+m*m));g[v>>2]=s*j;g[G+712+136>>2]=t*j;g[G+712+140>>2]=m*j;c[G+16>>2]=c[h+8>>2];c[G+16+4>>2]=0;c[G+16+8>>2]=c[v>>2];c[G+16+8+4>>2]=c[v+4>>2];c[G+16+8+8>>2]=c[v+8>>2];c[G+16+8+12>>2]=c[v+12>>2];c[G+16+24>>2]=c[G+712+148>>2];c[G+16+24+4>>2]=c[G+712+148+4>>2];c[G+16+24+8>>2]=c[G+712+148+8>>2];c[G+16+24+12>>2]=c[G+712+148+12>>2];g[G+16+40>>2]=n;+jb[c[(c[i>>2]|0)+12>>2]&15](i,G+16|0,1)}l=G;return}if((k+-21|0)>>>0>=9){if((k|0)!=31){l=G;return}bj(15386);if((c[F+16>>2]|0)>0){k=0;do{v=c[F+24>>2]|0;m=+g[v+(k*80|0)>>2];p=+g[v+(k*80|0)+4>>2];s=+g[v+(k*80|0)+8>>2];n=+g[v+(k*80|0)+16>>2];q=+g[v+(k*80|0)+20>>2];u=+g[v+(k*80|0)+24>>2];o=+g[v+(k*80|0)+32>>2];r=+g[v+(k*80|0)+36>>2];y=+g[v+(k*80|0)+40>>2];O=+g[v+(k*80|0)+48>>2];N=+g[v+(k*80|0)+52>>2];D=+g[v+(k*80|0)+56>>2];v=c[v+(k*80|0)+64>>2]|0;M=+g[E>>2];L=+g[E+4>>2];K=+g[E+8>>2];J=+g[E+16>>2];I=+g[E+20>>2];H=+g[E+24>>2];t=+g[E+32>>2];x=+g[E+36>>2];z=+g[E+40>>2];A=O*M+N*L+D*K+ +g[E+48>>2];B=O*J+N*I+D*H+ +g[E+52>>2];D=O*t+N*x+D*z+ +g[E+56>>2];g[G+712>>2]=m*M+n*L+o*K;g[G+712+4>>2]=p*M+q*L+r*K;g[G+712+8>>2]=s*M+u*L+y*K;g[G+712+12>>2]=0.0;g[G+712+16>>2]=m*J+n*I+o*H;g[G+712+20>>2]=p*J+q*I+r*H;g[G+712+24>>2]=s*J+u*I+y*H;g[G+712+28>>2]=0.0;g[G+712+32>>2]=m*t+n*x+o*z;g[G+712+36>>2]=p*t+q*x+r*z;g[G+712+40>>2]=s*t+u*x+y*z;g[G+712+44>>2]=0.0;g[G+712+48>>2]=A;g[G+712+52>>2]=B;g[G+712+56>>2]=D;g[G+712+60>>2]=0.0;b[G+352+8>>1]=1;b[G+352+10>>1]=-1;c[G+352>>2]=6104;c[G+352+12>>2]=i;c[G+352+16>>2]=k;c[G+352+4>>2]=c[i+4>>2];w=c[h+8>>2]|0;c[G+288>>2]=h;c[G+288+4>>2]=v;c[G+288+8>>2]=w;c[G+288+12>>2]=G+712;c[G+288+16>>2]=-1;c[G+288+20>>2]=k;oc(d,e,f,G+288|0,G+352|0,j);k=k+1|0}while((k|0)<(c[F+16>>2]|0))}k=c[2405]|0;F=(c[k+16>>2]|0)+-1|0;c[k+16>>2]=F;if(F|0){l=G;return}do if(c[k+4>>2]|0){Za(G+712|0,0)|0;F=c[6471]|0;g[k+8>>2]=+g[k+8>>2]+ +(((c[G+712+4>>2]|0)-(c[F+4>>2]|0)+(((c[G+712>>2]|0)-(c[F>>2]|0)|0)*1e6|0)-(c[k+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[k+16>>2]|0)){k=c[2405]|0;break}else{l=G;return}}while(0);c[2405]=c[k+20>>2];l=G;return}switch(k|0){case 21:{m=+g[E>>2];n=+g[E+16>>2];o=+g[E+32>>2];p=+g[E+4>>2];q=+g[E+20>>2];r=+g[E+36>>2];s=+g[E+8>>2];t=+g[E+24>>2];u=+g[E+40>>2];A=-+g[E+48>>2];B=-+g[E+52>>2];D=-+g[E+56>>2];z=+g[e+48>>2];y=+g[e+52>>2];x=+g[e+56>>2];g[G+352>>2]=m*A+n*B+o*D+(m*z+n*y+o*x);g[G+352+4>>2]=p*A+q*B+r*D+(p*z+q*y+r*x);g[G+352+8>>2]=s*A+t*B+u*D+(s*z+t*y+u*x);g[G+352+12>>2]=0.0;x=+g[f+48>>2];y=+g[f+52>>2];z=+g[f+56>>2];P=+g[f>>2];H=+g[f+16>>2];I=+g[f+32>>2];J=+g[f+4>>2];K=+g[f+20>>2];L=+g[f+36>>2];M=+g[f+8>>2];N=+g[f+24>>2];O=+g[f+40>>2];g[G+288>>2]=m*P+n*H+o*I;g[G+288+4>>2]=m*J+n*K+o*L;g[G+288+8>>2]=m*M+n*N+o*O;g[G+288+12>>2]=0.0;g[G+288+16>>2]=p*P+q*H+r*I;g[G+288+20>>2]=p*J+q*K+r*L;g[G+288+24>>2]=p*M+q*N+r*O;g[G+288+28>>2]=0.0;g[G+288+32>>2]=s*P+t*H+u*I;g[G+288+36>>2]=s*J+t*K+u*L;g[G+288+40>>2]=s*M+t*N+u*O;k=G+288+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;k=c[h+8>>2]|0;O=+gb[c[(c[F>>2]|0)+48>>2]&15](F);c[G+64>>2]=9240;c[G+64+4>>2]=d;c[G+64+8>>2]=c[e>>2];c[G+64+8+4>>2]=c[e+4>>2];c[G+64+8+8>>2]=c[e+8>>2];c[G+64+8+12>>2]=c[e+12>>2];c[G+64+24>>2]=c[e+16>>2];c[G+64+24+4>>2]=c[e+16+4>>2];c[G+64+24+8>>2]=c[e+16+8>>2];c[G+64+24+12>>2]=c[e+16+12>>2];c[G+64+40>>2]=c[e+32>>2];c[G+64+40+4>>2]=c[e+32+4>>2];c[G+64+40+8>>2]=c[e+32+8>>2];c[G+64+40+12>>2]=c[e+32+12>>2];c[G+64+56>>2]=c[e+48>>2];c[G+64+56+4>>2]=c[e+48+4>>2];c[G+64+56+8>>2]=c[e+48+8>>2];c[G+64+56+12>>2]=c[e+48+12>>2];c[G+64+72>>2]=c[f>>2];c[G+64+72+4>>2]=c[f+4>>2];c[G+64+72+8>>2]=c[f+8>>2];c[G+64+72+12>>2]=c[f+12>>2];c[G+64+88>>2]=c[f+16>>2];c[G+64+88+4>>2]=c[f+16+4>>2];c[G+64+88+8>>2]=c[f+16+8>>2];c[G+64+88+12>>2]=c[f+16+12>>2];c[G+64+104>>2]=c[f+32>>2];c[G+64+104+4>>2]=c[f+32+4>>2];c[G+64+104+8>>2]=c[f+32+8>>2];c[G+64+104+12>>2]=c[f+32+12>>2];c[G+64+120>>2]=c[f+48>>2];c[G+64+120+4>>2]=c[f+48+4>>2];c[G+64+120+8>>2]=c[f+48+8>>2];c[G+64+120+12>>2]=c[f+48+12>>2];c[G+64+136>>2]=c[E>>2];c[G+64+136+4>>2]=c[E+4>>2];c[G+64+136+8>>2]=c[E+8>>2];c[G+64+136+12>>2]=c[E+12>>2];c[G+64+152>>2]=c[E+16>>2];c[G+64+152+4>>2]=c[E+16+4>>2];c[G+64+152+8>>2]=c[E+16+8>>2];c[G+64+152+12>>2]=c[E+16+12>>2];c[G+64+168>>2]=c[E+32>>2];c[G+64+168+4>>2]=c[E+32+4>>2];c[G+64+168+8>>2]=c[E+32+8>>2];c[G+64+168+12>>2]=c[E+32+12>>2];c[G+64+184>>2]=c[E+48>>2];c[G+64+184+4>>2]=c[E+48+4>>2];c[G+64+184+8>>2]=c[E+48+8>>2];c[G+64+184+12>>2]=c[E+48+12>>2];g[G+64+204>>2]=O;c[G+64>>2]=6056;c[G+64+212>>2]=i;c[G+64+216>>2]=k;c[G+64+220>>2]=F;c[G+64+200>>2]=c[i+4>>2];g[G+64+208>>2]=j;Nb[c[(c[d>>2]|0)+8>>2]&127](d,G+288|0,G+16|0,G);k=c[F+48>>2]|0;c[G+712>>2]=7096;c[G+712+4>>2]=k;c[G+712+8>>2]=G+64;k=c[F+52>>2]|0;if(!(a[k+60>>0]|0))De(k,G+712|0,G+352|0,m*A+n*B+o*D+(m*x+n*y+o*z),p*A+q*B+r*D+(p*x+q*y+r*z),s*A+t*B+u*D+(s*x+t*y+u*z),G+16|0,G);else ke(k,G+712|0,G+352|0,m*A+n*B+o*D+(m*x+n*y+o*z),p*A+q*B+r*D+(p*x+q*y+r*z),s*A+t*B+u*D+(s*x+t*y+u*z),G+16|0,G,c[k+56>>2]|0);l=G;return}case 28:{c[G+712>>2]=3832;c[G+712+168>>2]=0;g[G+712+172>>2]=j;c[G+712+164>>2]=c[i+4>>2];c[G+352>>2]=9380;c[G+352+4>>2]=0;c[G+352+8>>2]=0;c[G+352+12>>2]=d;c[G+352+16>>2]=0;c[G+352+20>>2]=F;if((Jd(G+352|0,e,f,E,E,G+712|0)|0?(w=G+712+132|0,o=+g[w>>2],p=+g[G+712+136>>2],q=+g[G+712+140>>2],o*o+p*p+q*q>9.999999747378752e-05):0)?(r=+g[G+712+164>>2],r<+g[i+4>>2]):0){P=1.0/+C(+(o*o+p*p+q*q));g[w>>2]=o*P;g[G+712+136>>2]=p*P;g[G+712+140>>2]=q*P;c[G+288>>2]=c[h+8>>2];c[G+288+4>>2]=0;c[G+288+8>>2]=c[w>>2];c[G+288+8+4>>2]=c[w+4>>2];c[G+288+8+8>>2]=c[w+8>>2];c[G+288+8+12>>2]=c[w+12>>2];c[G+288+24>>2]=c[G+712+148>>2];c[G+288+24+4>>2]=c[G+712+148+4>>2];c[G+288+24+8>>2]=c[G+712+148+8>>2];c[G+288+24+12>>2]=c[G+712+148+12>>2];g[G+288+40>>2]=r;+jb[c[(c[i>>2]|0)+12>>2]&15](i,G+288|0,1)}l=G;return}default:{p=+g[E>>2];q=+g[E+16>>2];r=+g[E+32>>2];x=+g[E+4>>2];y=+g[E+20>>2];z=+g[E+36>>2];K=+g[E+8>>2];M=+g[E+24>>2];O=+g[E+40>>2];I=-+g[E+48>>2];H=-+g[E+52>>2];D=-+g[E+56>>2];A=+g[e+48>>2];B=+g[e+52>>2];u=+g[e+56>>2];s=p*I+q*H+r*D+(p*A+q*B+r*u);t=x*I+y*H+z*D+(x*A+y*B+z*u);u=K*I+M*H+O*D+(K*A+M*B+O*u);B=+g[f+48>>2];A=+g[f+52>>2];m=+g[f+56>>2];o=p*I+q*H+r*D+(p*B+q*A+r*m);n=x*I+y*H+z*D+(x*B+y*A+z*m);m=K*I+M*H+O*D+(K*B+M*A+O*m);A=+g[f>>2];B=+g[f+16>>2];D=+g[f+32>>2];H=+g[f+4>>2];I=+g[f+20>>2];J=+g[f+36>>2];L=+g[f+8>>2];N=+g[f+24>>2];P=+g[f+40>>2];g[G+712>>2]=p*A+q*B+r*D;g[G+712+4>>2]=p*H+q*I+r*J;g[G+712+8>>2]=p*L+q*N+r*P;g[G+712+12>>2]=0.0;g[G+712+16>>2]=x*A+y*B+z*D;g[G+712+20>>2]=x*H+y*I+z*J;g[G+712+24>>2]=x*L+y*N+z*P;g[G+712+28>>2]=0.0;g[G+712+32>>2]=K*A+M*B+O*D;g[G+712+36>>2]=K*H+M*I+O*J;g[G+712+40>>2]=K*L+M*N+O*P;w=G+712+44|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;h=c[h+8>>2]|0;P=+gb[c[(c[F>>2]|0)+48>>2]&15](F);c[G+352>>2]=9240;c[G+352+4>>2]=d;c[G+352+8>>2]=c[e>>2];c[G+352+8+4>>2]=c[e+4>>2];c[G+352+8+8>>2]=c[e+8>>2];c[G+352+8+12>>2]=c[e+12>>2];c[G+352+24>>2]=c[e+16>>2];c[G+352+24+4>>2]=c[e+16+4>>2];c[G+352+24+8>>2]=c[e+16+8>>2];c[G+352+24+12>>2]=c[e+16+12>>2];c[G+352+40>>2]=c[e+32>>2];c[G+352+40+4>>2]=c[e+32+4>>2];c[G+352+40+8>>2]=c[e+32+8>>2];c[G+352+40+12>>2]=c[e+32+12>>2];c[G+352+56>>2]=c[e+48>>2];c[G+352+56+4>>2]=c[e+48+4>>2];c[G+352+56+8>>2]=c[e+48+8>>2];c[G+352+56+12>>2]=c[e+48+12>>2];c[G+352+72>>2]=c[f>>2];c[G+352+72+4>>2]=c[f+4>>2];c[G+352+72+8>>2]=c[f+8>>2];c[G+352+72+12>>2]=c[f+12>>2];c[G+352+88>>2]=c[f+16>>2];c[G+352+88+4>>2]=c[f+16+4>>2];c[G+352+88+8>>2]=c[f+16+8>>2];c[G+352+88+12>>2]=c[f+16+12>>2];c[G+352+104>>2]=c[f+32>>2];c[G+352+104+4>>2]=c[f+32+4>>2];c[G+352+104+8>>2]=c[f+32+8>>2];c[G+352+104+12>>2]=c[f+32+12>>2];c[G+352+120>>2]=c[f+48>>2];c[G+352+120+4>>2]=c[f+48+4>>2];c[G+352+120+8>>2]=c[f+48+8>>2];c[G+352+120+12>>2]=c[f+48+12>>2];c[G+352+136>>2]=c[E>>2];c[G+352+136+4>>2]=c[E+4>>2];c[G+352+136+8>>2]=c[E+8>>2];c[G+352+136+12>>2]=c[E+12>>2];c[G+352+152>>2]=c[E+16>>2];c[G+352+152+4>>2]=c[E+16+4>>2];c[G+352+152+8>>2]=c[E+16+8>>2];c[G+352+152+12>>2]=c[E+16+12>>2];c[G+352+168>>2]=c[E+32>>2];c[G+352+168+4>>2]=c[E+32+4>>2];c[G+352+168+8>>2]=c[E+32+8>>2];c[G+352+168+12>>2]=c[E+32+12>>2];c[G+352+184>>2]=c[E+48>>2];c[G+352+184+4>>2]=c[E+48+4>>2];c[G+352+184+8>>2]=c[E+48+8>>2];c[G+352+184+12>>2]=c[E+48+12>>2];g[G+352+204>>2]=P;c[G+352>>2]=6080;c[G+352+212>>2]=i;c[G+352+216>>2]=h;c[G+352+220>>2]=F;c[G+352+200>>2]=c[i+4>>2];g[G+352+208>>2]=j;Nb[c[(c[d>>2]|0)+8>>2]&127](d,G+712|0,G+288|0,G+64|0);g[G+16>>2]=s;g[G+16+4>>2]=t;g[G+16+8>>2]=u;g[G+16+12>>2]=0.0;if(o>2]=o;r=o}else r=s;if(n>2]=n;p=n}else p=t;if(m>2]=m;q=m}else q=u;g[G>>2]=s;g[G+4>>2]=t;g[G+8>>2]=u;g[G+12>>2]=0.0;if(s>2]=o;else o=s;if(t>2]=n;else n=t;if(u>2]=m;else m=u;g[G+16>>2]=+g[G+288>>2]+r;g[G+16+4>>2]=+g[G+288+4>>2]+p;g[G+16+8>>2]=+g[G+288+8>>2]+q;g[G>>2]=+g[G+64>>2]+o;g[G+4>>2]=+g[G+64+4>>2]+n;g[G+8>>2]=+g[G+64+8>>2]+m;Nb[c[(c[F>>2]|0)+64>>2]&127](F,G+352|0,G+16|0,G);l=G;return}}}function pc(d,e,f){d=d|0;e=e|0;f=+f;var h=0,i=0.0,j=0.0,k=0,m=0.0,n=0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0,u=0;t=l;l=l+528|0;if((a[d+171>>0]|0)==0?+g[d+172>>2]<=0.0:0){l=t;return}a[d+168>>0]=(qb[c[(c[d>>2]|0)+48>>2]&127](d)|0)&1;j=+g[d+16>>2]-+g[d+44>>2]*f;g[d+16>>2]=j;if(j>0.0?(i=+g[d+28>>2],j>i):0)g[d+16>>2]=i;else i=j;if(i<0.0?(r=+B(+i),m=+B(+(+g[d+24>>2])),r>m):0){g[d+16>>2]=-m;i=-m}g[d+20>>2]=i*f;h=c[d+8>>2]|0;c[t>>2]=c[h+4>>2];c[t+4>>2]=c[h+4+4>>2];c[t+8>>2]=c[h+4+8>>2];c[t+12>>2]=c[h+4+12>>2];c[t+16>>2]=c[h+20>>2];c[t+16+4>>2]=c[h+20+4>>2];c[t+16+8>>2]=c[h+20+8>>2];c[t+16+12>>2]=c[h+20+12>>2];c[t+32>>2]=c[h+36>>2];c[t+32+4>>2]=c[h+36+4>>2];c[t+32+8>>2]=c[h+36+8>>2];c[t+32+12>>2]=c[h+36+12>>2];c[t+48>>2]=c[h+52>>2];c[t+48+4>>2]=c[h+52+4>>2];c[t+48+8>>2]=c[h+52+8>>2];c[t+48+12>>2]=c[h+52+12>>2];h=c[d+176>>2]|0;if((a[22768]|0)==0?Yy(22768)|0:0){c[6163]=1065353216;c[6164]=0;c[6165]=0;c[6166]=0;c[6167]=0;c[6168]=1065353216;c[6169]=0;c[6170]=0;c[6171]=0;c[6172]=0;c[6173]=1065353216;g[6174]=0.0}m=+g[d+20>>2];m=+g[d+52>>2]+(m>0.0?m:0.0);q=+g[24652+(h<<4)+4>>2]*m+ +g[d+96>>2];r=m*+g[24652+(h<<4)+8>>2]+ +g[d+100>>2];g[d+112>>2]=+g[d+92>>2]+ +g[24652+(h<<4)>>2]*m;g[d+116>>2]=q;g[d+120>>2]=r;g[d+124>>2]=0.0;c[t+456>>2]=1065353216;c[t+456+4>>2]=0;c[t+456+4+4>>2]=0;c[t+456+4+8>>2]=0;c[t+456+4+12>>2]=0;c[t+456+20>>2]=1065353216;c[t+456+24>>2]=0;c[t+456+24+4>>2]=0;c[t+456+24+8>>2]=0;c[t+456+24+12>>2]=0;c[t+456+40>>2]=1065353216;h=t+456+44|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[t+392>>2]=1065353216;c[t+392+4>>2]=0;c[t+392+4+4>>2]=0;c[t+392+4+8>>2]=0;c[t+392+4+12>>2]=0;c[t+392+20>>2]=1065353216;c[t+392+24>>2]=0;c[t+392+24+4>>2]=0;c[t+392+24+8>>2]=0;c[t+392+24+12>>2]=0;c[t+392+40>>2]=1065353216;h=t+392+44|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;h=c[d+176>>2]|0;if((a[22768]|0)==0?Yy(22768)|0:0){c[6163]=1065353216;c[6164]=0;c[6165]=0;c[6166]=0;c[6167]=0;c[6168]=1065353216;c[6169]=0;c[6170]=0;c[6171]=0;c[6172]=0;c[6173]=1065353216;g[6174]=0.0}k=c[d+12>>2]|0;m=+gb[c[(c[k>>2]|0)+48>>2]&15](k);m=m+ +g[d+56>>2];q=m*+g[24652+(h<<4)+4>>2]+ +g[d+96>>2];r=m*+g[24652+(h<<4)+8>>2]+ +g[d+100>>2];g[t+456+48>>2]=+g[24652+(h<<4)>>2]*m+ +g[d+92>>2];g[t+456+52>>2]=q;g[t+456+56>>2]=r;g[t+456+60>>2]=0.0;c[t+392+48>>2]=c[d+112>>2];c[t+392+48+4>>2]=c[d+112+4>>2];c[t+392+48+8>>2]=c[d+112+8>>2];c[t+392+48+12>>2]=c[d+112+12>>2];h=c[d+8>>2]|0;k=c[d+176>>2]|0;if((a[22768]|0)==0?Yy(22768)|0:0){c[6163]=1065353216;c[6164]=0;c[6165]=0;c[6166]=0;c[6167]=0;c[6168]=1065353216;c[6169]=0;c[6170]=0;c[6171]=0;c[6172]=0;c[6173]=1065353216;g[6174]=0.0}m=-+g[24652+(k<<4)>>2];q=-+g[24652+(k<<4)+4>>2];r=-+g[24652+(k<<4)+8>>2];g[t+288+4>>2]=1.0;b[t+288+8>>1]=1;b[t+288+10>>1]=-1;p=t+288+12|0;c[t+288+76>>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;c[t+288>>2]=5132;c[t+288+80>>2]=h;g[t+288+84>>2]=m;g[t+288+88>>2]=q;g[t+288+92>>2]=r;g[t+288+96>>2]=0.0;g[t+288+100>>2]=.707099974155426;h=c[d+8>>2]|0;p=c[(c[h+188>>2]|0)+4>>2]|0;b[t+288+8>>1]=p;b[t+288+10>>1]=p>>>16;if(!(a[d+170>>0]|0))zd(e,c[d+12>>2]|0,t+456|0,t+392|0,t+288|0,0.0);else gd(h,c[d+12>>2]|0,t+456|0,t+392|0,t+288|0,+g[e+56>>2]);if(+g[t+288+4>>2]<1.0){h=c[d+176>>2]|0;if((a[22768]|0)==0?Yy(22768)|0:0){c[6163]=1065353216;c[6164]=0;c[6165]=0;c[6166]=0;c[6167]=0;c[6168]=1065353216;c[6169]=0;c[6170]=0;c[6171]=0;c[6172]=0;c[6173]=1065353216;g[6174]=0.0}do if(+g[t+288+44>>2]*+g[24652+(h<<4)>>2]+ +g[t+288+48>>2]*+g[24652+(h<<4)+4>>2]+ +g[t+288+52>>2]*+g[24652+(h<<4)+8>>2]>0.0){i=+g[t+288+4>>2];g[d+108>>2]=+g[d+52>>2]*i;if(!(a[d+180>>0]|0)){c[d+92>>2]=c[d+112>>2];c[d+92+4>>2]=c[d+112+4>>2];c[d+92+8>>2]=c[d+112+8>>2];c[d+92+12>>2]=c[d+112+12>>2];break}else{g[d+92>>2]=(1.0-i)*+g[d+92>>2]+i*+g[d+112>>2];g[d+96>>2]=(1.0-i)*+g[d+96>>2]+i*+g[d+116>>2];g[d+100>>2]=(1.0-i)*+g[d+100>>2]+i*+g[d+120>>2];break}}while(0);g[d+16>>2]=0.0;g[d+20>>2]=0.0}else{c[d+108>>2]=c[d+52>>2];c[d+92>>2]=c[d+112>>2];c[d+92+4>>2]=c[d+112+4>>2];c[d+92+8>>2]=c[d+112+8>>2];c[d+92+12>>2]=c[d+112+12>>2]}if(!(a[d+171>>0]|0)){q=+g[d+172>>2];r=q>f?f:q;g[d+172>>2]=q-f;Rd(d,e,r*+g[d+60>>2],r*+g[d+64>>2],r*+g[d+68>>2])}else Rd(d,e,+g[d+60>>2],+g[d+64>>2],+g[d+68>>2]);c[t+272>>2]=c[d+112>>2];c[t+272+4>>2]=c[d+112+4>>2];c[t+272+8>>2]=c[d+112+8>>2];c[t+272+12>>2]=c[d+112+12>>2];i=+g[d+16>>2];i=(i<0.0?-i:0.0)*f;if(i>0.0?(o=+g[d+24>>2],i>o):0){p=b[d+168>>1]|0;i=(p&255)<<24>>24!=0|(p&65535)<256?o:i}h=c[d+176>>2]|0;if((a[22768]|0)==0?Yy(22768)|0:0){c[6163]=1065353216;c[6164]=0;c[6165]=0;c[6166]=0;c[6167]=0;c[6168]=1065353216;c[6169]=0;c[6170]=0;c[6171]=0;c[6172]=0;c[6173]=1065353216;g[6174]=0.0}o=i+ +g[d+108>>2];q=+g[24652+(h<<4)>>2]*o;r=o*+g[24652+(h<<4)+4>>2];o=o*+g[24652+(h<<4)+8>>2];g[d+112>>2]=+g[d+112>>2]-q;g[d+116>>2]=+g[d+116>>2]-r;g[d+120>>2]=+g[d+120>>2]-o;h=c[d+8>>2]|0;k=c[d+176>>2]|0;if((a[22768]|0)==0?Yy(22768)|0:0){c[6163]=1065353216;c[6164]=0;c[6165]=0;c[6166]=0;c[6167]=0;c[6168]=1065353216;c[6169]=0;c[6170]=0;c[6171]=0;c[6172]=0;c[6173]=1065353216;g[6174]=0.0}n=c[d+40>>2]|0;p=t+168+4|0;g[p>>2]=1.0;b[t+168+8>>1]=1;b[t+168+10>>1]=-1;u=t+168+12|0;c[t+168+76>>2]=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;c[u+20>>2]=0;c[u+24>>2]=0;c[u+28>>2]=0;c[t+168>>2]=5132;c[t+168+80>>2]=h;c[t+168+84>>2]=c[24652+(k<<4)>>2];c[t+168+84+4>>2]=c[24652+(k<<4)+4>>2];c[t+168+84+8>>2]=c[24652+(k<<4)+8>>2];c[t+168+84+12>>2]=c[24652+(k<<4)+12>>2];c[t+168+100>>2]=n;k=c[d+8>>2]|0;h=c[(c[k+188>>2]|0)+4>>2]|0;b[t+168+8>>1]=h;b[t+168+10>>1]=h>>>16;h=c[d+176>>2]|0;if((a[22768]|0)==0?Yy(22768)|0:0){c[6163]=1065353216;c[6164]=0;c[6165]=0;c[6166]=0;c[6167]=0;c[6168]=1065353216;c[6169]=0;c[6170]=0;c[6171]=0;c[6172]=0;c[6173]=1065353216;g[6174]=0.0}u=c[d+40>>2]|0;g[t+64+4>>2]=1.0;b[t+64+8>>1]=1;b[t+64+10>>1]=-1;n=t+64+12|0;c[t+64+76>>2]=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[n+20>>2]=0;c[n+24>>2]=0;c[n+28>>2]=0;c[t+64>>2]=5132;c[t+64+80>>2]=k;c[t+64+84>>2]=c[24652+(h<<4)>>2];c[t+64+84+4>>2]=c[24652+(h<<4)+4>>2];c[t+64+84+8>>2]=c[24652+(h<<4)+8>>2];c[t+64+84+12>>2]=c[24652+(h<<4)+12>>2];c[t+64+100>>2]=u;h=c[(c[(c[d+8>>2]|0)+188>>2]|0)+4>>2]|0;b[t+64+8>>1]=h;b[t+64+10>>1]=h>>>16;i=+g[d+112>>2];j=+g[d+116>>2];m=+g[d+120>>2];h=0;while(1){c[t+456>>2]=1065353216;c[t+456+4>>2]=0;c[t+456+4+4>>2]=0;c[t+456+4+8>>2]=0;c[t+456+4+12>>2]=0;c[t+456+20>>2]=1065353216;c[t+456+24>>2]=0;c[t+456+24+4>>2]=0;c[t+456+24+8>>2]=0;c[t+456+24+12>>2]=0;c[t+456+40>>2]=1065353216;c[t+456+44>>2]=0;c[t+392>>2]=1065353216;c[t+392+4>>2]=0;c[t+392+4+4>>2]=0;c[t+392+4+8>>2]=0;c[t+392+4+12>>2]=0;c[t+392+20>>2]=1065353216;c[t+392+24>>2]=0;c[t+392+24+4>>2]=0;c[t+392+24+8>>2]=0;c[t+392+24+12>>2]=0;c[t+392+40>>2]=1065353216;c[t+392+44>>2]=0;c[t+288>>2]=1065353216;c[t+288+4>>2]=0;c[t+288+4+4>>2]=0;c[t+288+4+8>>2]=0;c[t+288+4+12>>2]=0;c[t+288+20>>2]=1065353216;c[t+288+24>>2]=0;c[t+288+24+4>>2]=0;c[t+288+24+8>>2]=0;c[t+288+24+12>>2]=0;c[t+288+40>>2]=1065353216;c[t+288+44>>2]=0;c[t+456+48>>2]=c[d+92>>2];c[t+456+48+4>>2]=c[d+92+4>>2];c[t+456+48+8>>2]=c[d+92+8>>2];c[t+456+48+12>>2]=c[d+92+12>>2];c[t+392+48>>2]=c[d+112>>2];c[t+392+48+4>>2]=c[d+112+4>>2];c[t+392+48+8>>2]=c[d+112+8>>2];c[t+392+48+12>>2]=c[d+112+12>>2];g[t+288+48>>2]=i-q;g[t+288+52>>2]=j-r;g[t+288+56>>2]=m-o;g[t+288+60>>2]=0.0;if(!(a[d+170>>0]|0)){zd(e,c[d+12>>2]|0,t+456|0,t+392|0,t+168|0,+g[e+56>>2]);if(!(+g[p>>2]<1.0))zd(e,c[d+12>>2]|0,t+456|0,t+288|0,t+64|0,+g[e+56>>2])}else{gd(c[d+8>>2]|0,c[d+12>>2]|0,t+456|0,t+392|0,t+168|0,+g[e+56>>2]);if(!(+g[p>>2]<1.0))gd(c[d+8>>2]|0,c[d+12>>2]|0,t+456|0,t+288|0,t+64|0,+g[e+56>>2])}j=+g[d+16>>2];j=(j<0.0?-j:0.0)*f;n=(a[d+182>>0]|0)==0;if(!n?+g[p>>2]<1.0:0)k=1;else k=+g[t+64+4>>2]<1.0;if(!(j>0.0))break;i=+g[d+52>>2];if(h|(!(j>1]|0;if(!((u&255)<<24>>24!=0|(u&65535)<256)){h=0;break}c[d+112>>2]=c[t+272>>2];c[d+112+4>>2]=c[t+272+4>>2];c[d+112+8>>2]=c[t+272+8>>2];c[d+112+12>>2]=c[t+272+12>>2];h=c[d+176>>2]|0;do if(!(a[22768]|0)){if(!(Yy(22768)|0))break;c[6163]=1065353216;c[6164]=0;c[6165]=0;c[6166]=0;c[6167]=0;c[6168]=1065353216;c[6169]=0;c[6170]=0;c[6171]=0;c[6172]=0;c[6173]=1065353216;g[6174]=0.0}while(0);i=i+ +g[d+108>>2];j=i*+g[24652+(h<<4)+4>>2];m=i*+g[24652+(h<<4)+8>>2];i=+g[d+112>>2]-+g[24652+(h<<4)>>2]*i;g[d+112>>2]=i;j=+g[d+116>>2]-j;g[d+116>>2]=j;m=+g[d+120>>2]-m;g[d+120>>2]=m;h=1}m=+g[p>>2];if(h|m<1.0){i=+g[d+96>>2];j=(i-+g[t+168+64>>2])*.5;do if(!n)if(!(a[d+181>>0]|0)){g[d+92>>2]=(1.0-j)*+g[d+92>>2]+j*+g[d+112>>2];g[d+96>>2]=(1.0-j)*i+j*+g[d+116>>2];g[d+100>>2]=(1.0-j)*+g[d+100>>2]+j*+g[d+120>>2];h=d+181|0;break}else{g[d+92>>2]=(1.0-m)*+g[d+92>>2]+m*+g[d+112>>2];g[d+96>>2]=(1.0-m)*i+m*+g[d+116>>2];g[d+100>>2]=(1.0-m)*+g[d+100>>2]+m*+g[d+120>>2];h=d+181|0;break}else{g[d+92>>2]=(1.0-m)*+g[d+92>>2]+m*+g[d+112>>2];g[d+96>>2]=(1.0-m)*i+m*+g[d+116>>2];g[d+100>>2]=(1.0-m)*+g[d+100>>2]+m*+g[d+120>>2];h=d+181|0}while(0);a[h>>0]=0;g[d+16>>2]=0.0;g[d+20>>2]=0.0;a[d+169>>0]=0}else{a[d+181>>0]=1;if((!n?(s=+g[d+24>>2],j>s):0)?(u=b[d+168>>1]|0,(u&255)<<24>>24!=0|(u&65535)<256):0){g[d+112>>2]=q+ +g[d+112>>2];g[d+116>>2]=r+ +g[d+116>>2];g[d+120>>2]=o+ +g[d+120>>2];h=c[d+176>>2]|0;do if(!(a[22768]|0)){if(!(Yy(22768)|0))break;c[6163]=1065353216;c[6164]=0;c[6165]=0;c[6166]=0;c[6167]=0;c[6168]=1065353216;c[6169]=0;c[6170]=0;c[6171]=0;c[6172]=0;c[6173]=1065353216;g[6174]=0.0}while(0);r=s+ +g[d+108>>2];f=r*+g[24652+(h<<4)+4>>2];s=r*+g[24652+(h<<4)+8>>2];g[d+112>>2]=+g[d+112>>2]-+g[24652+(h<<4)>>2]*r;g[d+116>>2]=+g[d+116>>2]-f;g[d+120>>2]=+g[d+120>>2]-s}c[d+92>>2]=c[d+112>>2];c[d+92+4>>2]=c[d+112+4>>2];c[d+92+8>>2]=c[d+112+8>>2];c[d+92+12>>2]=c[d+112+12>>2]}c[t+48>>2]=c[d+92>>2];c[t+48+4>>2]=c[d+92+4>>2];c[t+48+8>>2]=c[d+92+8>>2];c[t+48+12>>2]=c[d+92+12>>2];u=c[d+8>>2]|0;c[u+260>>2]=(c[u+260>>2]|0)+1;c[u+4>>2]=c[t>>2];c[u+4+4>>2]=c[t+4>>2];c[u+4+8>>2]=c[t+8>>2];c[u+4+12>>2]=c[t+12>>2];c[u+20>>2]=c[t+16>>2];c[u+20+4>>2]=c[t+16+4>>2];c[u+20+8>>2]=c[t+16+8>>2];c[u+20+12>>2]=c[t+16+12>>2];c[u+36>>2]=c[t+32>>2];c[u+36+4>>2]=c[t+32+4>>2];c[u+36+8>>2]=c[t+32+8>>2];c[u+36+12>>2]=c[t+32+12>>2];c[u+52>>2]=c[t+48>>2];c[u+52+4>>2]=c[t+48+4>>2];c[u+52+8>>2]=c[t+48+8>>2];c[u+52+12>>2]=c[t+48+12>>2];l=t;return}function qc(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,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,w=0,x=0,y=0,z=0.0,A=0;A=l;l=l+112|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;c[b+188>>2]=0;c[b+188+4>>2]=0;c[b+188+8>>2]=0;c[b+188+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;g[b+244>>2]=1.0;c[b+248>>2]=0;c[b+248+4>>2]=0;c[b+248+8>>2]=0;c[b+248+12>>2]=0;c[b+4>>2]=1065353216;c[b+8>>2]=0;c[b+8+4>>2]=0;c[b+8+8>>2]=0;c[b+8+12>>2]=0;c[b+24>>2]=1065353216;c[b+28>>2]=0;c[b+28+4>>2]=0;c[b+28+8>>2]=0;c[b+28+12>>2]=0;c[b+44>>2]=1065353216;c[b+48>>2]=0;c[b+48+4>>2]=0;c[b+48+8>>2]=0;c[b+48+12>>2]=0;c[b+48+16>>2]=0;c[b>>2]=3324;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;a[b+408>>0]=1;c[b+404>>2]=0;c[b+396>>2]=0;c[b+400>>2]=0;a[b+428>>0]=1;c[b+424>>2]=0;c[b+416>>2]=0;c[b+420>>2]=0;a[b+448>>0]=1;c[b+444>>2]=0;c[b+436>>2]=0;c[b+440>>2]=0;a[b+496>>0]=1;c[b+492>>2]=0;c[b+484>>2]=0;c[b+488>>2]=0;a[b+516>>0]=1;c[b+512>>2]=0;c[b+504>>2]=0;c[b+508>>2]=0;c[b+684>>2]=d;a[b+704>>0]=1;c[b+700>>2]=0;c[b+692>>2]=0;c[b+696>>2]=0;a[b+724>>0]=1;c[b+720>>2]=0;c[b+712>>2]=0;c[b+716>>2]=0;a[b+744>>0]=1;c[b+740>>2]=0;c[b+732>>2]=0;c[b+736>>2]=0;a[b+764>>0]=1;c[b+760>>2]=0;c[b+752>>2]=0;c[b+756>>2]=0;a[b+784>>0]=1;c[b+780>>2]=0;c[b+772>>2]=0;c[b+776>>2]=0;a[b+804>>0]=1;c[b+800>>2]=0;c[b+792>>2]=0;c[b+796>>2]=0;a[b+824>>0]=1;c[b+820>>2]=0;c[b+812>>2]=0;c[b+816>>2]=0;a[b+844>>0]=1;c[b+840>>2]=0;c[b+832>>2]=0;c[b+836>>2]=0;a[b+864>>0]=1;c[b+860>>2]=0;c[b+852>>2]=0;c[b+856>>2]=0;a[b+884>>0]=1;c[b+880>>2]=0;c[b+872>>2]=0;c[b+876>>2]=0;a[b+964>>0]=1;c[b+960>>2]=0;c[b+952>>2]=0;c[b+956>>2]=0;a[b+984>>0]=1;c[b+980>>2]=0;c[b+972>>2]=0;c[b+976>>2]=0;c[b+928>>2]=0;c[b+932>>2]=0;c[b+936>>2]=-1;c[b+940>>2]=0;c[b+944>>2]=0;a[b+1024>>0]=1;c[b+1020>>2]=0;c[b+1012>>2]=0;c[b+1016>>2]=0;a[b+1044>>0]=1;c[b+1040>>2]=0;c[b+1032>>2]=0;c[b+1036>>2]=0;c[b+988>>2]=0;c[b+992>>2]=0;c[b+996>>2]=-1;c[b+1e3>>2]=0;c[b+1004>>2]=0;a[b+1084>>0]=1;c[b+1080>>2]=0;c[b+1072>>2]=0;c[b+1076>>2]=0;a[b+1104>>0]=1;c[b+1100>>2]=0;c[b+1092>>2]=0;c[b+1096>>2]=0;c[b+1048>>2]=0;c[b+1052>>2]=0;c[b+1056>>2]=-1;c[b+1060>>2]=0;c[b+1064>>2]=0;a[b+1124>>0]=1;c[b+1120>>2]=0;c[b+1112>>2]=0;c[b+1116>>2]=0;a[b+1144>>0]=1;c[b+1140>>2]=0;c[b+1132>>2]=0;c[b+1136>>2]=0;a[b+1248>>0]=1;c[b+1244>>2]=0;c[b+1236>>2]=0;c[b+1240>>2]=0;c[b+236>>2]=8;c[b+288>>2]=0;g[b+292>>2]=1.0;c[b+296>>2]=0;c[b+296+4>>2]=0;c[b+296+8>>2]=0;c[b+296+12>>2]=0;c[b+296+16>>2]=0;g[b+316>>2]=.20000000298023224;g[b+320>>2]=0.0;g[b+324>>2]=1.0;g[b+328>>2]=.10000000149011612;g[b+332>>2]=1.0;g[b+336>>2]=.699999988079071;g[b+340>>2]=.10000000149011612;g[b+344>>2]=1.0;g[b+348>>2]=.5;g[b+352>>2]=.5;g[b+356>>2]=.5;g[b+360>>2]=.5;g[b+364>>2]=1.0;g[b+368>>2]=1.0;c[b+372>>2]=0;c[b+376>>2]=1;c[b+380>>2]=0;c[b+384>>2]=4;c[b+388>>2]=1;a[b+472>>0]=0;a[b+473>>0]=0;g[b+476>>2]=0.0;c[b+520>>2]=0;c[b+520+4>>2]=0;c[b+520+8>>2]=0;c[b+520+12>>2]=0;c[b+536>>2]=1065353216;c[b+540>>2]=0;c[b+540+4>>2]=0;c[b+540+8>>2]=0;c[b+540+12>>2]=0;c[b+556>>2]=1065353216;c[b+560>>2]=0;c[b+560+4>>2]=0;c[b+560+8>>2]=0;c[b+560+12>>2]=0;c[b+576>>2]=1065353216;g[b+580>>2]=0.0;c[b+584>>2]=1065353216;c[b+588>>2]=0;c[b+588+4>>2]=0;c[b+588+8>>2]=0;c[b+588+12>>2]=0;c[b+604>>2]=1065353216;c[b+608>>2]=0;c[b+608+4>>2]=0;c[b+608+8>>2]=0;c[b+608+12>>2]=0;c[b+624>>2]=1065353216;g[b+628>>2]=0.0;c[b+680>>2]=0;g[b+888>>2]=0.0;a[b+924>>0]=1;c[b+892>>2]=0;c[b+892+4>>2]=0;c[b+892+8>>2]=0;c[b+892+12>>2]=0;c[b+892+16>>2]=0;c[b+892+20>>2]=0;c[b+892+24>>2]=0;c[b+892+28>>2]=0;c[b+4>>2]=1065353216;c[b+8>>2]=0;c[b+8+4>>2]=0;c[b+8+8>>2]=0;c[b+8+12>>2]=0;c[b+24>>2]=1065353216;c[b+28>>2]=0;c[b+28+4>>2]=0;c[b+28+8>>2]=0;c[b+28+12>>2]=0;c[b+44>>2]=1065353216;c[b+48>>2]=0;c[b+48+4>>2]=0;c[b+48+8>>2]=0;c[b+48+12>>2]=0;c[b+48+16>>2]=0;d=c[b+404>>2]|0;if(d|0){if(a[b+408>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+404>>2]=0}a[b+408>>0]=1;c[b+404>>2]=0;c[b+396>>2]=0;c[b+400>>2]=0;d=c[b+424>>2]|0;if(d|0){if(a[b+428>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+424>>2]=0}a[b+428>>0]=1;c[b+424>>2]=0;c[b+416>>2]=0;c[b+420>>2]=0;d=c[b+444>>2]|0;do if(d)if(a[b+448>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0);i=c[b+416>>2]|0;d=c[b+420>>2]|0;c[b+444>>2]=0;a[b+448>>0]=1;c[b+444>>2]=0;c[b+436>>2]=0;c[b+440>>2]=0;if((i|0)==(d|0)){v=14;break}else break}else{c[b+444>>2]=0;v=13;break}else v=13;while(0);if((v|0)==13){a[b+448>>0]=1;c[b+444>>2]=0;c[b+436>>2]=0;c[b+440>>2]=0;d=0;v=14}if((v|0)==14){n=d|0?d<<1:1;if((d|0)<(n|0)){if(!n)i=0;else{c[6472]=(c[6472]|0)+1;d=ic((n<<2|3)+16|0)|0;if(!d)i=0;else{c[(d+4+15&-16)+-4>>2]=d;i=d+4+15&-16}d=c[b+416>>2]|0}k=c[b+424>>2]|0;if((d|0)<=0){if(k)v=22}else{j=0;do{c[i+(j<<2)>>2]=c[k+(j<<2)>>2];j=j+1|0}while((j|0)!=(d|0));v=22}if((v|0)==22){if(a[b+428>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[k+-4>>2]|0);d=c[b+416>>2]|0}c[b+424>>2]=0}a[b+428>>0]=1;c[b+424>>2]=i;c[b+420>>2]=n;i=d;d=n}else i=d}k=c[b+424>>2]|0;c[k+(i<<2)>>2]=1;j=i+1|0;c[b+416>>2]=j;if((j|0)==(d|0)){n=d|0?d<<1:1;if((d|0)<(n|0)){if(!n)i=0;else{c[6472]=(c[6472]|0)+1;d=ic((n<<2|3)+16|0)|0;if(!d)i=0;else{c[(d+4+15&-16)+-4>>2]=d;i=d+4+15&-16}d=c[b+416>>2]|0;k=c[b+424>>2]|0}if((d|0)<=0){if(k)v=35}else{j=0;do{c[i+(j<<2)>>2]=c[k+(j<<2)>>2];j=j+1|0}while((j|0)!=(d|0));v=35}if((v|0)==35){if(a[b+428>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[k+-4>>2]|0);d=c[b+416>>2]|0}c[b+424>>2]=0}a[b+428>>0]=1;c[b+424>>2]=i;c[b+420>>2]=n;j=d;d=n}else{i=k;j=d}}else i=k;c[i+(j<<2)>>2]=2;j=j+1|0;c[b+416>>2]=j;if((j|0)==(d|0)){n=d|0?d<<1:1;if((d|0)<(n|0)){if(!n)k=0;else{c[6472]=(c[6472]|0)+1;d=ic((n<<2|3)+16|0)|0;if(!d)j=0;else{c[(d+4+15&-16)+-4>>2]=d;j=d+4+15&-16}d=c[b+416>>2]|0;i=c[b+424>>2]|0;k=j}if((d|0)<=0){if(i)v=48}else{j=0;do{c[k+(j<<2)>>2]=c[i+(j<<2)>>2];j=j+1|0}while((j|0)!=(d|0));v=48}if((v|0)==48){if(a[b+428>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0);d=c[b+416>>2]|0}c[b+424>>2]=0}a[b+428>>0]=1;c[b+424>>2]=k;c[b+420>>2]=n;i=k;j=d;d=n}else j=d}c[i+(j<<2)>>2]=3;j=j+1|0;c[b+416>>2]=j;if((j|0)==(d|0)){n=d|0?d<<1:1;if((d|0)<(n|0)){if(!n)k=0;else{c[6472]=(c[6472]|0)+1;d=ic((n<<2|3)+16|0)|0;if(!d)j=0;else{c[(d+4+15&-16)+-4>>2]=d;j=d+4+15&-16}d=c[b+416>>2]|0;i=c[b+424>>2]|0;k=j}if((d|0)<=0){if(i)v=61}else{j=0;do{c[k+(j<<2)>>2]=c[i+(j<<2)>>2];j=j+1|0}while((j|0)!=(d|0));v=61}if((v|0)==61){if(a[b+428>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0);d=c[b+416>>2]|0}c[b+424>>2]=0}a[b+428>>0]=1;c[b+424>>2]=k;c[b+420>>2]=n;i=k}}else d=j;c[i+(d<<2)>>2]=0;c[b+416>>2]=d+1;c[6472]=(c[6472]|0)+1;d=ic(39)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}c[d+8>>2]=0;c[d>>2]=3432;c[d+4>>2]=32;c[d+16>>2]=b;c[b+192>>2]=d;g[d+12>>2]=.25;c[b+1148>>2]=1065353216;c[b+1152>>2]=0;c[b+1152+4>>2]=0;c[b+1152+8>>2]=0;c[b+1152+12>>2]=0;c[b+1168>>2]=1065353216;c[b+1172>>2]=0;c[b+1172+4>>2]=0;c[b+1172+8>>2]=0;c[b+1172+12>>2]=0;c[b+1188>>2]=1065353216;v=b+1192|0;w=v+36|0;do{c[v>>2]=0;v=v+4|0}while((v|0)<(w|0));g[b+1228>>2]=1.0;y=Yg(b)|0;g[y+4>>2]=1.0;g[y+8>>2]=1.0;g[y+12>>2]=1.0;c[y+16>>2]=1;v=c[b+192>>2]|0;z=+gb[c[(c[v>>2]|0)+48>>2]&15](v);v=A;w=v+100|0;do{c[v>>2]=0;v=v+4|0}while((v|0)<(w|0));n=c[b+712>>2]|0;if((n|0)<(e|0)){if((c[b+716>>2]|0)<(e|0)){if(!e){i=n;j=0}else{c[6472]=(c[6472]|0)+1;d=ic((e*104|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}i=c[b+712>>2]|0;j=d}if((i|0)>0){d=0;do{v=j+(d*104|0)|0;k=(c[b+720>>2]|0)+(d*104|0)|0;w=v+104|0;do{c[v>>2]=c[k>>2];v=v+4|0;k=k+4|0}while((v|0)<(w|0));d=d+1|0}while((d|0)!=(i|0))}d=c[b+720>>2]|0;if(d|0){if(a[b+724>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+720>>2]=0}a[b+724>>0]=1;c[b+720>>2]=j;c[b+716>>2]=e;d=n}else d=n;do{v=c[b+720>>2]|0;c[v+(d*104|0)>>2]=0;v=v+(d*104|0)+4|0;k=A;w=v+100|0;do{c[v>>2]=c[k>>2];v=v+4|0;k=k+4|0}while((v|0)<(w|0));d=d+1|0}while((d|0)!=(e|0))}c[b+712>>2]=e;if((e|0)>0){x=0;j=h;i=f;do{k=c[b+720>>2]|0;n=k+(x*104|0)|0;v=n;w=v+104|0;do{c[v>>2]=0;v=v+4|0}while((v|0)<(w|0));d=k+(x*104|0)+8|0;if(!i){o=0.0;p=0.0;q=0.0;m=0.0;i=0}else{o=+g[i>>2];p=+g[i+4>>2];q=+g[i+8>>2];m=+g[i+12>>2];i=i+16|0}g[d>>2]=o;g[k+(x*104|0)+12>>2]=p;g[k+(x*104|0)+16>>2]=q;g[k+(x*104|0)+20>>2]=m;f=k+(x*104|0)+24|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];if(!j){m=1.0;j=0}else{m=+g[j>>2];j=j+4|0}g[k+(x*104|0)+88>>2]=m>0.0?1.0/m:0.0;s=o-z;u=p-z;t=q-z;r=z+o;o=z+p;m=z+q;d=c[b+932>>2]|0;if(!d){c[6472]=(c[6472]|0)+1;d=ic(63)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}v=d;w=v+44|0;do{c[v>>2]=0;v=v+4|0}while((v|0)<(w|0))}else c[b+932>>2]=0;c[d+32>>2]=0;c[d+36>>2]=n;c[d+40>>2]=0;g[d>>2]=s;g[d+4>>2]=u;g[d+8>>2]=t;g[d+12>>2]=0.0;g[d+16>>2]=r;g[d+20>>2]=o;g[d+24>>2]=m;g[d+28>>2]=0.0;af(b+928|0,c[b+928>>2]|0,d);c[b+940>>2]=(c[b+940>>2]|0)+1;c[k+(x*104|0)+96>>2]=d;c[k+(x*104|0)+4>>2]=y;x=x+1|0}while((x|0)!=(e|0))}d=c[b+928>>2]|0;if(!d){c[b+892>>2]=0;c[b+892+4>>2]=0;c[b+892+8>>2]=0;c[b+892+12>>2]=0;c[b+892+16>>2]=0;c[b+892+20>>2]=0;c[b+892+24>>2]=0;c[b+892+28>>2]=0;l=A;return}e=c[b+192>>2]|0;t=+gb[c[(c[e>>2]|0)+48>>2]&15](e);z=+g[d+4>>2]-t;u=+g[d+8>>2]-t;g[b+892>>2]=+g[d>>2]-t;g[b+896>>2]=z;g[b+900>>2]=u;g[b+904>>2]=0.0;u=t+ +g[d+20>>2];z=t+ +g[d+24>>2];g[b+908>>2]=t+ +g[d+16>>2];g[b+912>>2]=u;g[b+916>>2]=z;g[b+920>>2]=0.0;d=c[b+188>>2]|0;if(!d){l=A;return}e=c[b+684>>2]|0;f=c[e+32>>2]|0;Rb[c[(c[f>>2]|0)+16>>2]&31](f,d,b+892|0,b+908|0,c[e+36>>2]|0);l=A;return}function rc(d,f,h){d=d|0;f=f|0;h=h|0;var i=0,j=0,k=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=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,B=0,C=0.0,D=0.0,E=0.0,F=0,G=0,H=0,I=0,J=0,K=0,L=0.0,M=0.0,N=0.0;K=l;l=l+96|0;H=c[d+56>>2]|0;if((h-f|0)==1){if(!(a[d+60>>0]|0)){p=(c[d+96>>2]|0)+(H<<6)|0;q=(c[d+76>>2]|0)+(f<<6)|0;r=p+64|0;do{c[p>>2]=c[q>>2];p=p+4|0;q=q+4|0}while((p|0)<(r|0))}else{J=(c[d+136>>2]|0)+(H<<4)|0;I=(c[d+116>>2]|0)+(f<<4)|0;c[J>>2]=c[I>>2];c[J+4>>2]=c[I+4>>2];c[J+8>>2]=c[I+8>>2];c[J+12>>2]=c[I+12>>2]}c[d+56>>2]=(c[d+56>>2]|0)+1;l=K;return}if((h|0)>(f|0)){o=(a[d+60>>0]|0)==0;if(o){i=c[d+76>>2]|0;j=f;m=0.0;n=0.0;k=0.0;do{m=m+(+g[i+(j<<6)+16>>2]+ +g[i+(j<<6)>>2])*.5;k=k+(+g[i+(j<<6)+20>>2]+ +g[i+(j<<6)+4>>2])*.5;n=n+(+g[i+(j<<6)+24>>2]+ +g[i+(j<<6)+8>>2])*.5;j=j+1|0}while((j|0)!=(h|0))}else{i=c[d+116>>2]|0;s=+g[d+36>>2];t=+g[d+40>>2];u=+g[d+44>>2];x=+g[d+4>>2];y=+g[d+8>>2];z=+g[d+12>>2];j=f;m=0.0;n=0.0;k=0.0;do{m=m+(+(e[i+(j<<4)+6>>1]|0)/s+x+(+(e[i+(j<<4)>>1]|0)/s+x))*.5;k=k+(+(e[i+(j<<4)+8>>1]|0)/t+y+(+(e[i+(j<<4)+2>>1]|0)/t+y))*.5;n=n+(+(e[i+(j<<4)+10>>1]|0)/u+z+(+(e[i+(j<<4)+4>>1]|0)/u+z))*.5;j=j+1|0}while((j|0)!=(h|0))}C=1.0/+(h-f|0);E=C*m;D=C*k;C=C*n;if(o){i=c[d+76>>2]|0;j=f;n=0.0;m=0.0;k=0.0;do{x=(+g[i+(j<<6)+16>>2]+ +g[i+(j<<6)>>2])*.5-E;y=(+g[i+(j<<6)+20>>2]+ +g[i+(j<<6)+4>>2])*.5-D;z=(+g[i+(j<<6)+24>>2]+ +g[i+(j<<6)+8>>2])*.5-C;n=n+x*x;k=k+y*y;m=m+z*z;j=j+1|0}while((j|0)!=(h|0));s=+(h-f|0)}else{i=c[d+116>>2]|0;s=+g[d+36>>2];t=+g[d+40>>2];u=+g[d+44>>2];x=+g[d+4>>2];y=+g[d+8>>2];z=+g[d+12>>2];j=f;n=0.0;m=0.0;k=0.0;do{N=(+(e[i+(j<<4)+6>>1]|0)/s+x+(+(e[i+(j<<4)>>1]|0)/s+x))*.5-E;M=(+(e[i+(j<<4)+8>>1]|0)/t+y+(+(e[i+(j<<4)+2>>1]|0)/t+y))*.5-D;L=(+(e[i+(j<<4)+10>>1]|0)/u+z+(+(e[i+(j<<4)+4>>1]|0)/u+z))*.5-C;n=n+N*N;k=k+M*M;m=m+L*L;j=j+1|0}while((j|0)!=(h|0));s=+(h-f|0)}}else{s=+(h-f|0);n=0.0;m=0.0;k=0.0}N=1.0/(s+-1.0);M=N*n;L=N*k;N=N*m;w=M>2]=0;c[K+16+4>>2]=0;c[K+16+8>>2]=0;c[K+16+12>>2]=0;if((h|0)>(f|0)){if(!(a[d+60>>0]|0)){i=c[d+76>>2]|0;m=0.0;k=0.0;n=0.0;j=f;do{n=(+g[i+(j<<6)+16>>2]+ +g[i+(j<<6)>>2])*.5+n;m=(+g[i+(j<<6)+20>>2]+ +g[i+(j<<6)+4>>2])*.5+m;k=(+g[i+(j<<6)+24>>2]+ +g[i+(j<<6)+8>>2])*.5+k;j=j+1|0}while((j|0)!=(h|0))}else{i=c[d+116>>2]|0;s=+g[d+36>>2];t=+g[d+40>>2];u=+g[d+44>>2];x=+g[d+4>>2];y=+g[d+8>>2];z=+g[d+12>>2];m=0.0;k=0.0;n=0.0;j=f;do{n=(+(e[i+(j<<4)+6>>1]|0)/s+x+(+(e[i+(j<<4)>>1]|0)/s+x))*.5+n;m=(+(e[i+(j<<4)+8>>1]|0)/t+y+(+(e[i+(j<<4)+2>>1]|0)/t+y))*.5+m;k=(+(e[i+(j<<4)+10>>1]|0)/u+z+(+(e[i+(j<<4)+4>>1]|0)/u+z))*.5+k;j=j+1|0}while((j|0)!=(h|0))}g[K+16>>2]=n;g[K+16+4>>2]=m;g[K+16+8>>2]=k;i=K+16|0}else{n=0.0;m=0.0;k=0.0;i=K+16|0}g[i>>2]=1.0/+(h-f|0)*n;g[K+16+4>>2]=1.0/+(h-f|0)*m;g[K+16+8>>2]=1.0/+(h-f|0)*k;x=+g[K+16+(w<<2)>>2];if((h|0)>(f|0)){v=f;i=f;do{j=(a[d+60>>0]|0)==0;if(j){G=c[d+76>>2]|0;k=+g[G+(v<<6)+16>>2];m=+g[G+(v<<6)+20>>2];n=+g[G+(v<<6)+24>>2];s=+g[G+(v<<6)>>2];t=+g[G+(v<<6)+4>>2];u=+g[G+(v<<6)+8>>2]}else{G=c[d+116>>2]|0;L=+g[d+36>>2];M=+g[d+40>>2];N=+g[d+44>>2];s=+g[d+4>>2];t=+g[d+8>>2];u=+g[d+12>>2];k=+(e[G+(v<<4)+6>>1]|0)/L+s;m=+(e[G+(v<<4)+8>>1]|0)/M+t;n=+(e[G+(v<<4)+10>>1]|0)/N+u;s=+(e[G+(v<<4)>>1]|0)/L+s;t=+(e[G+(v<<4)+2>>1]|0)/M+t;u=+(e[G+(v<<4)+4>>1]|0)/N+u}g[K>>2]=(k+s)*.5;g[K+4>>2]=(m+t)*.5;g[K+8>>2]=(n+u)*.5;g[K+12>>2]=0.0;if(+g[K+(w<<2)>>2]>x){if(j){j=c[d+76>>2]|0;o=j+(v<<6)|0;p=K+32|0;q=o;r=p+64|0;do{c[p>>2]=c[q>>2];p=p+4|0;q=q+4|0}while((p|0)<(r|0));p=o;q=j+(i<<6)|0;r=p+64|0;do{c[p>>2]=c[q>>2];p=p+4|0;q=q+4|0}while((p|0)<(r|0));p=(c[d+76>>2]|0)+(i<<6)|0;q=K+32|0;r=p+64|0;do{c[p>>2]=c[q>>2];p=p+4|0;q=q+4|0}while((p|0)<(r|0))}else{F=c[d+116>>2]|0;G=F+(v<<4)|0;c[K+32>>2]=c[G>>2];c[K+32+4>>2]=c[G+4>>2];c[K+32+8>>2]=c[G+8>>2];c[K+32+12>>2]=c[G+12>>2];F=F+(i<<4)|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=(c[d+116>>2]|0)+(i<<4)|0;c[G>>2]=c[K+32>>2];c[G+4>>2]=c[K+32+4>>2];c[G+8>>2]=c[K+32+8>>2];c[G+12>>2]=c[K+32+12>>2]}i=i+1|0}v=v+1|0}while((v|0)!=(h|0))}else i=f;if(!((i|0)>(((h-f|0)/3|0)+f|0)?(i|0)<(h+-1-((h-f|0)/3|0)|0):0))i=(h-f>>1)+f|0;G=c[d+56>>2]|0;if(!(a[d+60>>0]|0)){F=(c[d+96>>2]|0)+(G<<6)|0;c[F>>2]=c[d+20>>2];c[F+4>>2]=c[d+20+4>>2];c[F+8>>2]=c[d+20+8>>2];c[F+12>>2]=c[d+20+12>>2]}else{F=c[d+136>>2]|0;M=(+g[d+24>>2]-+g[d+8>>2])*+g[d+40>>2];N=(+g[d+28>>2]-+g[d+12>>2])*+g[d+44>>2];b[F+(G<<4)>>1]=~~((+g[d+20>>2]-+g[d+4>>2])*+g[d+36>>2])&65535&-2;b[F+(G<<4)+2>>1]=~~M&65535&-2;b[F+(G<<4)+4>>1]=~~N&65535&-2}j=c[d+56>>2]|0;if(!(a[d+60>>0]|0)){F=(c[d+96>>2]|0)+(j<<6)+16|0;c[F>>2]=c[d+4>>2];c[F+4>>2]=c[d+4+4>>2];c[F+8>>2]=c[d+4+8>>2];c[F+12>>2]=c[d+4+12>>2]}else{F=c[d+136>>2]|0;L=+g[d+4>>2];M=+g[d+8>>2];N=+g[d+12>>2];M=(M-M)*+g[d+40>>2];N=(N-N)*+g[d+44>>2];b[F+(j<<4)+6>>1]=~~((L-L)*+g[d+36>>2]+1.0)&65535|1;b[F+(j<<4)+8>>1]=~~(M+1.0)&65535|1;b[F+(j<<4)+10>>1]=~~(N+1.0)&65535|1}F=c[d+56>>2]|0;if((h|0)>(f|0)){A=a[d+60>>0]|0;B=f;do{if(!(A<<24>>24)){j=c[d+76>>2]|0;k=+g[j+(B<<6)>>2];n=+g[j+(B<<6)+4>>2];s=+g[j+(B<<6)+8>>2];m=+g[j+(B<<6)+12>>2];t=+g[j+(B<<6)+16>>2];y=+g[j+(B<<6)+20>>2];u=+g[j+(B<<6)+24>>2];x=+g[j+(B<<6)+28>>2];j=c[d+96>>2]|0;if(k<+g[j+(F<<6)>>2])g[j+(F<<6)>>2]=k;if(n<+g[j+(F<<6)+4>>2])g[j+(F<<6)+4>>2]=n;if(s<+g[j+(F<<6)+8>>2])g[j+(F<<6)+8>>2]=s;if(m<+g[j+(F<<6)+12>>2])g[j+(F<<6)+12>>2]=m;if(+g[j+(F<<6)+16>>2]>2]=t;if(+g[j+(F<<6)+20>>2]>2]=y;if(+g[j+(F<<6)+24>>2]>2]=u;if(+g[j+(F<<6)+28>>2]>2]=x}else{v=c[d+116>>2]|0;s=+g[d+36>>2];y=+g[d+40>>2];E=+g[d+44>>2];t=+g[d+4>>2];z=+g[d+8>>2];L=+g[d+12>>2];u=+g[d+4>>2];C=+g[d+8>>2];M=+g[d+12>>2];x=+g[d+36>>2];D=+g[d+40>>2];N=+g[d+44>>2];j=~~((+(e[v+(B<<4)>>1]|0)/s+t-u)*x)&65535&-2;o=~~((+(e[v+(B<<4)+2>>1]|0)/y+z-C)*D)&65535&-2;p=~~((+(e[v+(B<<4)+4>>1]|0)/E+L-M)*N)&65535&-2;q=~~((+(e[v+(B<<4)+6>>1]|0)/s+t-u)*x+1.0)&65535|1;r=~~((+(e[v+(B<<4)+8>>1]|0)/y+z-C)*D+1.0)&65535|1;v=~~((+(e[v+(B<<4)+10>>1]|0)/E+L-M)*N+1.0)&65535|1;w=c[d+136>>2]|0;if((e[w+(F<<4)>>1]|0)>(j&65535))b[w+(F<<4)>>1]=j;if((e[w+(F<<4)+6>>1]|0)<(q&65535))b[w+(F<<4)+6>>1]=q;if((e[w+(F<<4)+2>>1]|0)>(o&65535))b[w+(F<<4)+2>>1]=o;if((e[w+(F<<4)+8>>1]|0)<(r&65535))b[w+(F<<4)+8>>1]=r;if((e[w+(F<<4)+4>>1]|0)>(p&65535))b[w+(F<<4)+4>>1]=p;if((e[w+(F<<4)+10>>1]|0)<(v&65535))b[w+(F<<4)+10>>1]=v}B=B+1|0}while((B|0)!=(h|0))}c[d+56>>2]=F+1;rc(d,f,i);A=c[d+56>>2]|0;rc(d,i,h);w=(c[d+56>>2]|0)-H|0;i=a[d+60>>0]|0;if(i<<24>>24!=0&(w<<4|0)>2048){r=c[d+136>>2]|0;p=c[r+(F+1<<4)+12>>2]|0;p=(p|0)>-1?1:0-p|0;v=c[r+(A<<4)+12>>2]|0;v=(v|0)>-1?1:0-v|0;if((p<<4|0)<2049){q=c[d+152>>2]|0;if((q|0)==(c[d+156>>2]|0)?(I=q|0?q<<1:1,(q|0)<(I|0)):0){if(!I){j=q;o=0}else{c[6472]=(c[6472]|0)+1;i=ic(I<<5|19)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}j=c[d+152>>2]|0;o=i}if((j|0)>0){i=0;do{h=o+(i<<5)|0;H=(c[d+160>>2]|0)+(i<<5)|0;c[h>>2]=c[H>>2];c[h+4>>2]=c[H+4>>2];c[h+8>>2]=c[H+8>>2];c[h+12>>2]=c[H+12>>2];c[h+16>>2]=c[H+16>>2];c[h+20>>2]=c[H+20>>2];c[h+24>>2]=c[H+24>>2];c[h+28>>2]=c[H+28>>2];i=i+1|0}while((i|0)!=(j|0))}i=c[d+160>>2]|0;if(i|0){if(a[d+164>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0)}c[d+160>>2]=0}a[d+164>>0]=1;c[d+160>>2]=o;c[d+156>>2]=I;i=c[d+152>>2]|0}else i=q;c[d+152>>2]=i+1;I=(c[d+160>>2]|0)+(q<<5)|0;c[I>>2]=c[K+32>>2];c[I+4>>2]=c[K+32+4>>2];c[I+8>>2]=c[K+32+8>>2];c[I+12>>2]=c[K+32+12>>2];c[I+16>>2]=c[K+32+16>>2];c[I+20>>2]=c[K+32+20>>2];c[I+24>>2]=c[K+32+24>>2];c[I+28>>2]=c[K+32+28>>2];I=c[d+160>>2]|0;b[I+(q<<5)>>1]=b[r+(F+1<<4)>>1]|0;b[I+(q<<5)+2>>1]=b[r+(F+1<<4)+2>>1]|0;b[I+(q<<5)+4>>1]=b[r+(F+1<<4)+4>>1]|0;b[I+(q<<5)+6>>1]=b[r+(F+1<<4)+6>>1]|0;b[I+(q<<5)+8>>1]=b[r+(F+1<<4)+8>>1]|0;b[I+(q<<5)+10>>1]=b[r+(F+1<<4)+10>>1]|0;c[I+(q<<5)+12>>2]=F+1;c[I+(q<<5)+16>>2]=p}if((v<<4|0)<2049){p=c[d+152>>2]|0;if((p|0)==(c[d+156>>2]|0)?(J=p|0?p<<1:1,(p|0)<(J|0)):0){if(!J){j=p;o=0}else{c[6472]=(c[6472]|0)+1;i=ic(J<<5|19)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}j=c[d+152>>2]|0;o=i}if((j|0)>0){i=0;do{I=o+(i<<5)|0;h=(c[d+160>>2]|0)+(i<<5)|0;c[I>>2]=c[h>>2];c[I+4>>2]=c[h+4>>2];c[I+8>>2]=c[h+8>>2];c[I+12>>2]=c[h+12>>2];c[I+16>>2]=c[h+16>>2];c[I+20>>2]=c[h+20>>2];c[I+24>>2]=c[h+24>>2];c[I+28>>2]=c[h+28>>2];i=i+1|0}while((i|0)!=(j|0))}i=c[d+160>>2]|0;if(i|0){if(a[d+164>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0)}c[d+160>>2]=0}a[d+164>>0]=1;c[d+160>>2]=o;c[d+156>>2]=J;i=c[d+152>>2]|0}else i=p;c[d+152>>2]=i+1;i=(c[d+160>>2]|0)+(p<<5)|0;c[i>>2]=c[K+32>>2];c[i+4>>2]=c[K+32+4>>2];c[i+8>>2]=c[K+32+8>>2];c[i+12>>2]=c[K+32+12>>2];c[i+16>>2]=c[K+32+16>>2];c[i+20>>2]=c[K+32+20>>2];c[i+24>>2]=c[K+32+24>>2];c[i+28>>2]=c[K+32+28>>2];i=c[d+160>>2]|0;b[i+(p<<5)>>1]=b[r+(A<<4)>>1]|0;b[i+(p<<5)+2>>1]=b[r+(A<<4)+2>>1]|0;b[i+(p<<5)+4>>1]=b[r+(A<<4)+4>>1]|0;b[i+(p<<5)+6>>1]=b[r+(A<<4)+6>>1]|0;b[i+(p<<5)+8>>1]=b[r+(A<<4)+8>>1]|0;b[i+(p<<5)+10>>1]=b[r+(A<<4)+10>>1]|0;c[i+(p<<5)+12>>2]=A;c[i+(p<<5)+16>>2]=v;i=d+152|0}else i=d+152|0;c[d+168>>2]=c[i>>2];i=a[d+60>>0]|0}if(!(i<<24>>24)){c[(c[d+96>>2]|0)+(G<<6)+32>>2]=w;l=K;return}else{c[(c[d+136>>2]|0)+(G<<4)+12>>2]=0-w;l=K;return}}function sc(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,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,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,ca=0,da=0,ea=0,fa=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;ga=l;l=l+176|0;da=c[d+4>>2]|0;ea=c[e+4>>2]|0;if((c[da+68>>2]|0)==(c[b+40>>2]|0)?(c[ea+68>>2]|0)==(c[b+44>>2]|0):0)ca=b+8|0;else{i=c[b+8>>2]|0;j=c[i+8>>2]|0;if((j|0)>0){m=0;do{k=c[(c[i+16>>2]|0)+(m*12|0)+8>>2]|0;if(k|0){Ab[c[c[k>>2]>>2]&511](k);ca=c[b+4>>2]|0;Gb[c[(c[ca>>2]|0)+60>>2]&127](ca,k)}m=m+1|0}while((m|0)!=(j|0));i=c[b+8>>2]|0}Hh(i);ca=b+8|0}a[ga+128+16>>0]=1;q=ga+128+12|0;c[q>>2]=0;c[ga+128+4>>2]=0;c[ga+128+8>>2]=0;p=c[ca>>2]|0;i=c[p+8>>2]|0;if((i|0)>0){o=0;do{j=c[(c[p+16>>2]|0)+(o*12|0)+8>>2]|0;if(j){Gb[c[(c[j>>2]|0)+16>>2]&127](j,ga+128|0);i=c[ga+128+4>>2]|0;if((i|0)>0){n=0;do{m=c[(c[q>>2]|0)+(n<<2)>>2]|0;if(c[m+748>>2]|0){c[h+4>>2]=m;i=c[m+740>>2]|0;j=c[(c[h+8>>2]|0)+8>>2]|0;k=c[(c[h+12>>2]|0)+8>>2]|0;if((i|0)==(j|0))Oe(m,i+4|0,k+4|0);else Oe(m,k+4|0,j+4|0);c[h+4>>2]=0;i=c[ga+128+4>>2]|0}n=n+1|0}while((n|0)<(i|0))}if((i|0)<0){if((c[ga+128+8>>2]|0)<0){j=c[q>>2]|0;if(j|0){if(a[ga+128+16>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[j+-4>>2]|0)}c[q>>2]=0}a[ga+128+16>>0]=1;c[q>>2]=0;c[ga+128+8>>2]=0}do{c[(c[q>>2]|0)+(i<<2)>>2]=0;i=i+1|0}while((i|0)!=0)}c[ga+128+4>>2]=0;i=c[p+8>>2]|0}o=o+1|0}while((o|0)<(i|0));i=c[q>>2]|0;if(i|0){if(a[ga+128+16>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0)}c[q>>2]=0}}j=c[da+64>>2]|0;k=c[ea+64>>2]|0;s=c[b+4>>2]|0;t=c[ca>>2]|0;u=c[b+32>>2]|0;c[ga+128>>2]=6448;c[ga+128+4>>2]=0;c[ga+128+8>>2]=d;c[ga+128+12>>2]=e;c[ga+128+16>>2]=s;c[ga+128+20>>2]=f;c[ga+128+24>>2]=h;c[ga+128+28>>2]=t;c[ga+128+32>>2]=u;u=c[d+12>>2]|0;F=+g[u>>2];G=+g[u+16>>2];H=+g[u+32>>2];I=+g[u+4>>2];J=+g[u+20>>2];K=+g[u+36>>2];L=+g[u+8>>2];M=+g[u+24>>2];N=+g[u+40>>2];_=-+g[u+48>>2];$=-+g[u+52>>2];aa=-+g[u+56>>2];u=c[e+12>>2]|0;O=+g[u>>2];P=+g[u+16>>2];Q=+g[u+32>>2];R=+g[u+4>>2];S=+g[u+20>>2];T=+g[u+36>>2];U=+g[u+8>>2];V=+g[u+24>>2];W=+g[u+40>>2];X=+g[u+48>>2];Y=+g[u+52>>2];Z=+g[u+56>>2];j=c[j>>2]|0;k=c[k>>2]|0;if((j|0)!=0&(k|0)!=0){c[6472]=(c[6472]|0)+1;i=ic(1043)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}c[i>>2]=j;c[i+4>>2]=k;w=+B(+(F*O+G*P+H*Q));C=+B(+(F*R+G*S+H*T));E=+B(+(F*U+G*V+H*W));y=+B(+(I*O+J*P+K*Q));z=+B(+(I*R+J*S+K*T));x=+B(+(I*U+J*V+K*W));D=+B(+(L*O+M*P+N*Q));A=+B(+(L*R+M*S+N*T));v=+B(+(L*U+M*V+N*W));n=i;p=i;o=i;u=1;k=128;h=i;m=128;i=124;while(1){q=u+-1|0;s=c[h+(q<<3)>>2]|0;t=c[h+(q<<3)+4>>2]|0;ra=+g[t+16>>2];qa=+g[t>>2];pa=+g[t+20>>2];oa=+g[t+4>>2];na=+g[t+24>>2];ha=+g[t+8>>2];ma=F*_+G*$+H*aa+(F*X+G*Y+H*Z)+((F*O+G*P+H*Q)*(ra+qa)*.5+(F*R+G*S+H*T)*(pa+oa)*.5+(F*U+G*V+H*W)*(na+ha)*.5);ka=I*_+J*$+K*aa+(I*X+J*Y+K*Z)+((I*O+J*P+K*Q)*(ra+qa)*.5+(I*R+J*S+K*T)*(pa+oa)*.5+(I*U+J*V+K*W)*(na+ha)*.5);ia=L*_+M*$+N*aa+(L*X+M*Y+N*Z)+((L*O+M*P+N*Q)*(ra+qa)*.5+(L*R+M*S+N*T)*(pa+oa)*.5+(L*U+M*V+N*W)*(na+ha)*.5);la=((ra-qa)*.5+0.0)*w+((pa-oa)*.5+0.0)*C+((na-ha)*.5+0.0)*E;ja=((ra-qa)*.5+0.0)*y+((pa-oa)*.5+0.0)*z+((na-ha)*.5+0.0)*x;ha=((ra-qa)*.5+0.0)*D+((pa-oa)*.5+0.0)*A+((na-ha)*.5+0.0)*v;do if(((((+g[s>>2]<=la+ma?+g[s+16>>2]>=ma-la:0)?+g[s+4>>2]<=ka+ja:0)?+g[s+20>>2]>=ka-ja:0)?+g[s+8>>2]<=ia+ha:0)?+g[s+24>>2]>=ia-ha:0){if((q|0)>(i|0)){f=m<<1;do if((m|0)<(f|0)&(k|0)<(f|0)){do if(!m){i=0;j=0;ba=52}else{c[6472]=(c[6472]|0)+1;i=ic((m<<4|3)+16|0)|0;if(!i)j=0;else{c[(i+4+15&-16)+-4>>2]=i;j=i+4+15&-16}if((m|0)>0)i=0;else{i=j;ba=52;break}do{o=h+(i<<3)|0;p=c[o+4>>2]|0;r=j+(i<<3)|0;c[r>>2]=c[o>>2];c[r+4>>2]=p;i=i+1|0}while((i|0)!=(m|0));i=j}while(0);if((ba|0)==52){ba=0;if(!h){m=i;o=i;k=f;break}}if(!n){m=i;o=i;k=f}else{c[6473]=(c[6473]|0)+1;nd(c[n+-4>>2]|0);m=i;o=i;k=f}}else{m=p;i=n;j=h}while(0);p=m;n=i;r=k;h=f;f=f+-4|0}else{r=k;j=h;h=m;f=i}m=(c[t+40>>2]|0)!=0;if(!(c[s+40>>2]|0))if(m){k=c[t+36>>2]|0;c[j+(q<<3)>>2]=s;c[j+(q<<3)+4>>2]=k;q=c[t+40>>2]|0;c[j+(u<<3)>>2]=s;c[j+(u<<3)+4>>2]=q;q=u+1|0;k=r;m=h;i=f;break}else{Kb[c[(c[ga+128>>2]|0)+8>>2]&127](ga+128|0,s,t);k=r;m=h;i=f;break}else{k=j+(q<<3)|0;i=c[s+36>>2]|0;if(m){m=c[t+36>>2]|0;c[k>>2]=i;c[j+(q<<3)+4>>2]=m;k=u+1|0;q=c[t+36>>2]|0;c[j+(u<<3)>>2]=c[s+40>>2];c[j+(u<<3)+4>>2]=q;q=u+2|0;m=c[t+40>>2]|0;c[j+(k<<3)>>2]=c[s+36>>2];c[j+(k<<3)+4>>2]=m;k=c[t+40>>2]|0;c[j+(q<<3)>>2]=c[s+40>>2];c[j+(q<<3)+4>>2]=k;q=u+3|0;k=r;m=h;i=f;break}else{c[k>>2]=i;c[j+(q<<3)+4>>2]=t;c[j+(u<<3)>>2]=c[s+40>>2];c[j+(u<<3)+4>>2]=t;q=u+1|0;k=r;m=h;i=f;break}}}else j=h;while(0);if(!q)break;else{u=q;h=j}}if(!((j|0)==0|(p|0)==0)){c[6473]=(c[6473]|0)+1;nd(c[p+-4>>2]|0)}}o=c[ca>>2]|0;if((c[o+8>>2]|0)>0){p=0;do{i=c[o+16>>2]|0;j=c[i+(p*12|0)+8>>2]|0;do if(j|0){ba=c[i+(p*12|0)>>2]|0;u=c[da+24>>2]|0;t=c[u+(ba*80|0)+64>>2]|0;s=c[d+12>>2]|0;ra=+g[s>>2];S=+g[s+4>>2];R=+g[s+8>>2];oa=+g[s+16>>2];ma=+g[s+20>>2];ka=+g[s+24>>2];na=+g[s+32>>2];ja=+g[s+36>>2];X=+g[s+40>>2];ia=+g[u+(ba*80|0)>>2];ha=+g[u+(ba*80|0)+16>>2];aa=+g[u+(ba*80|0)+32>>2];$=+g[u+(ba*80|0)+4>>2];_=+g[u+(ba*80|0)+20>>2];Z=+g[u+(ba*80|0)+36>>2];la=+g[u+(ba*80|0)+8>>2];Y=+g[u+(ba*80|0)+24>>2];W=+g[u+(ba*80|0)+40>>2];qa=+g[u+(ba*80|0)+48>>2];pa=+g[u+(ba*80|0)+52>>2];T=+g[u+(ba*80|0)+56>>2];V=+g[s+48>>2]+(ra*qa+S*pa+R*T);U=+g[s+52>>2]+(oa*qa+ma*pa+ka*T);T=+g[s+56>>2]+(na*qa+ja*pa+X*T);g[ga>>2]=ra*ia+S*ha+R*aa;g[ga+4>>2]=ra*$+S*_+R*Z;g[ga+8>>2]=ra*la+S*Y+R*W;g[ga+12>>2]=0.0;g[ga+16>>2]=oa*ia+ma*ha+ka*aa;g[ga+20>>2]=oa*$+ma*_+ka*Z;g[ga+24>>2]=oa*la+ma*Y+ka*W;g[ga+28>>2]=0.0;g[ga+32>>2]=na*ia+ja*ha+X*aa;g[ga+36>>2]=na*$+ja*_+X*Z;g[ga+40>>2]=na*la+ja*Y+X*W;g[ga+44>>2]=0.0;g[ga+48>>2]=V;g[ga+52>>2]=U;g[ga+56>>2]=T;g[ga+60>>2]=0.0;Nb[c[(c[t>>2]|0)+8>>2]&127](t,ga,ga+112|0,ga+96|0);t=c[(c[o+16>>2]|0)+(p*12|0)+4>>2]|0;s=c[ea+24>>2]|0;ba=c[s+(t*80|0)+64>>2]|0;u=c[e+12>>2]|0;T=+g[u>>2];U=+g[u+4>>2];V=+g[u+8>>2];W=+g[u+16>>2];X=+g[u+20>>2];Y=+g[u+24>>2];ja=+g[u+32>>2];la=+g[u+36>>2];na=+g[u+40>>2];Z=+g[s+(t*80|0)>>2];_=+g[s+(t*80|0)+16>>2];$=+g[s+(t*80|0)+32>>2];aa=+g[s+(t*80|0)+4>>2];ha=+g[s+(t*80|0)+20>>2];ia=+g[s+(t*80|0)+36>>2];ka=+g[s+(t*80|0)+8>>2];ma=+g[s+(t*80|0)+24>>2];oa=+g[s+(t*80|0)+40>>2];R=+g[s+(t*80|0)+48>>2];S=+g[s+(t*80|0)+52>>2];ra=+g[s+(t*80|0)+56>>2];pa=+g[u+48>>2]+(T*R+U*S+V*ra);qa=+g[u+52>>2]+(W*R+X*S+Y*ra);ra=+g[u+56>>2]+(ja*R+la*S+na*ra);g[ga>>2]=T*Z+U*_+V*$;g[ga+4>>2]=T*aa+U*ha+V*ia;g[ga+8>>2]=T*ka+U*ma+V*oa;g[ga+12>>2]=0.0;g[ga+16>>2]=W*Z+X*_+Y*$;g[ga+20>>2]=W*aa+X*ha+Y*ia;g[ga+24>>2]=W*ka+X*ma+Y*oa;g[ga+28>>2]=0.0;g[ga+32>>2]=ja*Z+la*_+na*$;g[ga+36>>2]=ja*aa+la*ha+na*ia;g[ga+40>>2]=ja*ka+la*ma+na*oa;g[ga+44>>2]=0.0;g[ga+48>>2]=pa;g[ga+52>>2]=qa;g[ga+56>>2]=ra;g[ga+60>>2]=0.0;Nb[c[(c[ba>>2]|0)+8>>2]&127](ba,ga,ga+80|0,ga+64|0);if(!(+g[ga+112>>2]>+g[ga+64>>2])?!(+g[ga+96>>2]<+g[ga+80>>2]):0)i=1;else i=0;if(!(!(+g[ga+112+8>>2]>+g[ga+64+8>>2])?!(+g[ga+96+8>>2]<+g[ga+80+8>>2]):0))i=0;if(!(+g[ga+112+4>>2]>+g[ga+64+4>>2])?!(+g[ga+96+4>>2]<+g[ga+80+4>>2]|i^1):0)break;Ab[c[c[j>>2]>>2]&511](j);n=c[b+4>>2]|0;Gb[c[(c[n>>2]|0)+60>>2]&127](n,j);n=c[o+16>>2]|0;m=c[n+(p*12|0)>>2]|0;n=c[n+(p*12|0)+4>>2]|0;i=c[b+16>>2]|0;if((i|0)==(c[b+20>>2]|0)?(fa=i|0?i<<1:1,(i|0)<(fa|0)):0){if(!fa)j=0;else{c[6472]=(c[6472]|0)+1;i=ic((fa*12|3)+16|0)|0;if(!i)j=0;else{c[(i+4+15&-16)+-4>>2]=i;j=i+4+15&-16}i=c[b+16>>2]|0}if((i|0)>0){k=0;do{ba=j+(k*12|0)|0;u=(c[b+24>>2]|0)+(k*12|0)|0;c[ba>>2]=c[u>>2];c[ba+4>>2]=c[u+4>>2];c[ba+8>>2]=c[u+8>>2];k=k+1|0}while((k|0)!=(i|0))}i=c[b+24>>2]|0;if(i|0){if(a[b+28>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0)}c[b+24>>2]=0}a[b+28>>0]=1;c[b+24>>2]=j;c[b+20>>2]=fa;i=c[b+16>>2]|0}ba=c[b+24>>2]|0;c[ba+(i*12|0)>>2]=m;c[ba+(i*12|0)+4>>2]=n;c[ba+(i*12|0)+8>>2]=0;c[b+16>>2]=(c[b+16>>2]|0)+1}while(0);p=p+1|0}while((p|0)<(c[o+8>>2]|0));j=b+24|0;k=b+16|0}else{j=b+24|0;k=b+16|0}if((c[k>>2]|0)>0){i=0;do{e=c[ca>>2]|0;fa=c[j>>2]|0;ub[c[(c[e>>2]|0)+8>>2]&63](e,c[fa+(i*12|0)>>2]|0,c[fa+(i*12|0)+4>>2]|0)|0;i=i+1|0}while((i|0)<(c[k>>2]|0))}i=c[j>>2]|0;if(!i){a[b+28>>0]=1;c[j>>2]=0;c[k>>2]=0;b=b+20|0;c[b>>2]=0;l=ga;return}if(a[b+28>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0)}c[j>>2]=0;a[b+28>>0]=1;c[j>>2]=0;c[k>>2]=0;b=b+20|0;c[b>>2]=0;l=ga;return}function tc(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.0,k=0.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.0,L=0.0,M=0.0,N=0.0,O=0;u=l;l=l+208|0;f=qb[c[(c[a>>2]|0)+20>>2]&127](a)|0;Hb[c[(c[f>>2]|0)+56>>2]&7](f,b,1.0);f=c[d+4>>2]|0;switch(f|0){case 31:{f=c[d+16>>2]|0;if((f|0)<=0){l=u;return}do{t=f;f=f+-1|0;s=c[d+24>>2]|0;F=+g[s+(f*80|0)>>2];C=+g[s+(f*80|0)+4>>2];z=+g[s+(f*80|0)+8>>2];E=+g[s+(f*80|0)+16>>2];B=+g[s+(f*80|0)+20>>2];x=+g[s+(f*80|0)+24>>2];D=+g[s+(f*80|0)+32>>2];A=+g[s+(f*80|0)+36>>2];v=+g[s+(f*80|0)+40>>2];N=+g[s+(f*80|0)+48>>2];M=+g[s+(f*80|0)+52>>2];k=+g[s+(f*80|0)+56>>2];s=c[s+(f*80|0)+64>>2]|0;r=c[(c[a>>2]|0)+28>>2]|0;L=+g[b>>2];K=+g[b+4>>2];J=+g[b+8>>2];I=+g[b+16>>2];H=+g[b+20>>2];G=+g[b+24>>2];y=+g[b+32>>2];w=+g[b+36>>2];h=+g[b+40>>2];i=N*L+M*K+k*J+ +g[b+48>>2];j=N*I+M*H+k*G+ +g[b+52>>2];k=N*y+M*w+k*h+ +g[b+56>>2];g[u+144>>2]=F*L+E*K+D*J;g[u+144+4>>2]=C*L+B*K+A*J;g[u+144+8>>2]=z*L+x*K+v*J;g[u+144+12>>2]=0.0;g[u+144+16>>2]=F*I+E*H+D*G;g[u+144+20>>2]=C*I+B*H+A*G;g[u+144+24>>2]=z*I+x*H+v*G;g[u+144+28>>2]=0.0;g[u+144+32>>2]=F*y+E*w+D*h;g[u+144+36>>2]=C*y+B*w+A*h;g[u+144+40>>2]=z*y+x*w+v*h;g[u+144+44>>2]=0.0;g[u+144+48>>2]=i;g[u+144+52>>2]=j;g[u+144+56>>2]=k;g[u+144+60>>2]=0.0;Nb[r&127](a,u+144|0,s,e)}while((t|0)>1);l=u;return}case 0:{c[u+144>>2]=c[d+28>>2];c[u+144+4>>2]=c[d+28+4>>2];c[u+144+8>>2]=c[d+28+8>>2];c[u+144+12>>2]=c[d+28+12>>2];L=+gb[c[(c[d>>2]|0)+48>>2]&15](d);M=+gb[c[(c[d>>2]|0)+48>>2]&15](d);N=+gb[c[(c[d>>2]|0)+48>>2]&15](d);L=L+ +g[u+144>>2];g[u+144>>2]=L;M=M+ +g[u+144+4>>2];g[u+144+4>>2]=M;N=N+ +g[u+144+8>>2];g[u+144+8>>2]=N;a=qb[c[(c[a>>2]|0)+20>>2]&127](a)|0;d=c[(c[a>>2]|0)+72>>2]|0;g[u+112>>2]=-L;g[u+112+4>>2]=-M;g[u+112+8>>2]=-N;g[u+112+12>>2]=0.0;Rb[d&31](a,u+112|0,u+144|0,b,e);l=u;return}case 8:{N=+gb[c[(c[d>>2]|0)+48>>2]&15](d);a=qb[c[(c[a>>2]|0)+20>>2]&127](a)|0;Fb[c[(c[a>>2]|0)+16>>2]&0](a,N,b,e);l=u;return}case 9:{f=c[d+92>>2]|0;if((f|0)<=0){l=u;return}do{t=f;f=f+-1|0;s=c[d+100>>2]|0;z=+g[s+(f<<4)>>2];A=+g[s+(f<<4)+4>>2];M=+g[s+(f<<4)+8>>2];s=qb[c[(c[a>>2]|0)+20>>2]&127](a)|0;r=c[(c[s>>2]|0)+16>>2]|0;N=+g[(c[d+120>>2]|0)+(f<<2)>>2];C=+g[b>>2];D=+g[b+4>>2];B=+g[b+8>>2];F=+g[b+16>>2];G=+g[b+20>>2];E=+g[b+24>>2];I=+g[b+32>>2];J=+g[b+36>>2];H=+g[b+40>>2];K=z*C+A*D+M*B+ +g[b+48>>2];L=z*F+A*G+M*E+ +g[b+52>>2];M=z*I+A*J+M*H+ +g[b+56>>2];g[u+144>>2]=C+D*0.0+B*0.0;g[u+144+4>>2]=C*0.0+D+B*0.0;g[u+144+8>>2]=B+(C*0.0+D*0.0);g[u+144+12>>2]=0.0;g[u+144+16>>2]=F+G*0.0+E*0.0;g[u+144+20>>2]=F*0.0+G+E*0.0;g[u+144+24>>2]=E+(F*0.0+G*0.0);g[u+144+28>>2]=0.0;g[u+144+32>>2]=I+J*0.0+H*0.0;g[u+144+36>>2]=I*0.0+J+H*0.0;g[u+144+40>>2]=H+(I*0.0+J*0.0);g[u+144+44>>2]=0.0;g[u+144+48>>2]=K;g[u+144+52>>2]=L;g[u+144+56>>2]=M;g[u+144+60>>2]=0.0;Fb[r&0](s,N,u+144|0,e)}while((t|0)>1);l=u;return}case 10:{t=c[d+52>>2]|0;M=+g[d+28+(((t+2|0)%3|0)<<2)>>2];N=+g[d+28+(t<<2)>>2];a=qb[c[(c[a>>2]|0)+20>>2]&127](a)|0;Db[c[(c[a>>2]|0)+76>>2]&0](a,M,N,t,b,e);l=u;return}case 11:{M=+g[d+56>>2];N=+g[d+60>>2];d=c[d+68>>2]|0;a=qb[c[(c[a>>2]|0)+20>>2]&127](a)|0;Db[c[(c[a>>2]|0)+84>>2]&0](a,M,N,d,b,e);l=u;return}case 13:{t=c[d+52>>2]|0;M=+gb[c[(c[d>>2]|0)+92>>2]&15](d);c[u+128>>2]=c[d+28>>2];c[u+128+4>>2]=c[d+28+4>>2];c[u+128+8>>2]=c[d+28+8>>2];c[u+128+12>>2]=c[d+28+12>>2];K=+gb[c[(c[d>>2]|0)+48>>2]&15](d);L=+gb[c[(c[d>>2]|0)+48>>2]&15](d);N=+gb[c[(c[d>>2]|0)+48>>2]&15](d);g[u+128>>2]=K+ +g[u+128>>2];g[u+128+4>>2]=L+ +g[u+128+4>>2];g[u+128+8>>2]=N+ +g[u+128+8>>2];N=+g[u+128+(t<<2)>>2];a=qb[c[(c[a>>2]|0)+20>>2]&127](a)|0;Db[c[(c[a>>2]|0)+80>>2]&0](a,M,N,t,b,e);l=u;return}case 28:{N=+g[d+64>>2];a=qb[c[(c[a>>2]|0)+20>>2]&127](a)|0;Jb[c[(c[a>>2]|0)+88>>2]&0](a,d+48|0,N,b,e);l=u;return}default:{a:do if((f|0)<7){r=c[d+52>>2]|0;if(!r){if((qb[c[(c[d>>2]|0)+100>>2]&127](d)|0)<=0)break;f=0;while(1){Nb[c[(c[d>>2]|0)+104>>2]&127](d,f,u+144|0,u+112|0);L=+g[u+144>>2];z=+g[b>>2];J=+g[u+144+4>>2];A=+g[b+4>>2];H=+g[u+144+8>>2];B=+g[b+8>>2];D=+g[b+16>>2];E=+g[b+20>>2];F=+g[b+24>>2];I=+g[b+32>>2];K=+g[b+36>>2];M=+g[b+40>>2];C=+g[b+48>>2];G=+g[b+52>>2];N=+g[b+56>>2];g[u+16>>2]=L*z+J*A+H*B+C;g[u+16+4>>2]=L*D+J*E+H*F+G;g[u+16+8>>2]=L*I+J*K+H*M+N;g[u+16+12>>2]=0.0;H=+g[u+112>>2];J=+g[u+112+4>>2];L=+g[u+112+8>>2];g[u>>2]=H*z+J*A+L*B+C;g[u+4>>2]=H*D+J*E+L*F+G;g[u+8>>2]=H*I+J*K+L*M+N;g[u+12>>2]=0.0;t=qb[c[(c[a>>2]|0)+20>>2]&127](a)|0;Nb[c[(c[t>>2]|0)+8>>2]&127](t,u+16|0,u,e);f=f+1|0;if((f|0)>=(qb[c[(c[d>>2]|0)+100>>2]&127](d)|0))break a}}if((c[r+28>>2]|0)>0){s=0;do{f=c[r+36>>2]|0;q=c[f+(s*36|0)+4>>2]|0;b:do if((q|0)!=0?(t=c[f+(s*36|0)+12>>2]|0,(q|0)>0):0){m=t;h=0.0;i=0.0;j=0.0;o=c[t+(q+-1<<2)>>2]|0;f=0;while(1){p=c[m+(f<<2)>>2]|0;n=c[r+16>>2]|0;h=h+ +g[n+(p<<4)>>2];i=i+ +g[n+(p<<4)+4>>2];j=j+ +g[n+(p<<4)+8>>2];n=qb[c[(c[a>>2]|0)+20>>2]&127](a)|0;m=c[(c[n>>2]|0)+8>>2]|0;O=c[r+16>>2]|0;L=+g[O+(o<<4)>>2];z=+g[b>>2];J=+g[O+(o<<4)+4>>2];A=+g[b+4>>2];H=+g[O+(o<<4)+8>>2];B=+g[b+8>>2];D=+g[b+16>>2];E=+g[b+20>>2];F=+g[b+24>>2];I=+g[b+32>>2];K=+g[b+36>>2];M=+g[b+40>>2];C=+g[b+48>>2];G=+g[b+52>>2];N=+g[b+56>>2];g[u+144>>2]=L*z+J*A+H*B+C;g[u+144+4>>2]=L*D+J*E+H*F+G;g[u+144+8>>2]=L*I+J*K+H*M+N;g[u+144+12>>2]=0.0;H=+g[O+(p<<4)>>2];J=+g[O+(p<<4)+4>>2];L=+g[O+(p<<4)+8>>2];g[u+112>>2]=H*z+J*A+L*B+C;g[u+112+4>>2]=H*D+J*E+L*F+G;g[u+112+8>>2]=H*I+J*K+L*M+N;g[u+112+12>>2]=0.0;Nb[m&127](n,u+144|0,u+112|0,e);n=f+1|0;f=c[r+36>>2]|0;if((n|0)>=(c[f+(s*36|0)+4>>2]|0))break b;m=c[f+(s*36|0)+12>>2]|0;o=p;f=n}}else{h=0.0;i=0.0;j=0.0}while(0);k=1.0/+(q|0)*h;i=1.0/+(q|0)*i;h=1.0/+(q|0)*j;O=qb[c[(c[a>>2]|0)+20>>2]&127](a)|0;if((qb[c[(c[O>>2]|0)+48>>2]&127](O)|0)&16384|0){c[u+144>>2]=1065353216;c[u+144+4>>2]=1065353216;c[u+144+8>>2]=0;g[u+144+12>>2]=0.0;O=c[r+36>>2]|0;H=+g[O+(s*36|0)+20>>2];J=+g[O+(s*36|0)+24>>2];L=+g[O+(s*36|0)+28>>2];O=qb[c[(c[a>>2]|0)+20>>2]&127](a)|0;q=c[(c[O>>2]|0)+8>>2]|0;z=+g[b>>2];A=+g[b+4>>2];B=+g[b+8>>2];D=+g[b+16>>2];E=+g[b+20>>2];F=+g[b+24>>2];I=+g[b+32>>2];K=+g[b+36>>2];M=+g[b+40>>2];C=+g[b+48>>2];G=+g[b+52>>2];N=+g[b+56>>2];g[u+112>>2]=k*z+i*A+h*B+C;g[u+112+4>>2]=k*D+i*E+h*F+G;g[u+112+8>>2]=k*I+i*K+h*M+N;g[u+112+12>>2]=0.0;g[u+16>>2]=(k+H)*z+(i+J)*A+(h+L)*B+C;g[u+16+4>>2]=(k+H)*D+(i+J)*E+(h+L)*F+G;g[u+16+8>>2]=(k+H)*I+(i+J)*K+(h+L)*M+N;g[u+16+12>>2]=0.0;Nb[q&127](O,u+112|0,u+16|0,u+144|0)}s=s+1|0}while((s|0)<(c[r+28>>2]|0))}}while(0);f=c[d+4>>2]|0;if((f+-21|0)>>>0<9){c[u+144>>2]=1566444395;c[u+144+4>>2]=1566444395;c[u+144+8>>2]=1566444395;g[u+144+12>>2]=0.0;c[u+112>>2]=-581039253;c[u+112+4>>2]=-581039253;c[u+112+8>>2]=-581039253;g[u+112+12>>2]=0.0;f=qb[c[(c[a>>2]|0)+20>>2]&127](a)|0;c[u+16>>2]=6012;c[u+16+4>>2]=6036;c[u+16+8>>2]=f;c[u+16+12>>2]=c[e>>2];c[u+16+12+4>>2]=c[e+4>>2];c[u+16+12+8>>2]=c[e+8>>2];c[u+16+12+12>>2]=c[e+12>>2];c[u+16+28>>2]=c[b>>2];c[u+16+28+4>>2]=c[b+4>>2];c[u+16+28+8>>2]=c[b+8>>2];c[u+16+28+12>>2]=c[b+12>>2];c[u+16+44>>2]=c[b+16>>2];c[u+16+44+4>>2]=c[b+16+4>>2];c[u+16+44+8>>2]=c[b+16+8>>2];c[u+16+44+12>>2]=c[b+16+12>>2];c[u+16+60>>2]=c[b+32>>2];c[u+16+60+4>>2]=c[b+32+4>>2];c[u+16+60+8>>2]=c[b+32+8>>2];c[u+16+60+12>>2]=c[b+32+12>>2];c[u+16+76>>2]=c[b+48>>2];c[u+16+76+4>>2]=c[b+48+4>>2];c[u+16+76+8>>2]=c[b+48+8>>2];c[u+16+76+12>>2]=c[b+48+12>>2];Nb[c[(c[d>>2]|0)+64>>2]&127](d,u+16|0,u+112|0,u+144|0);f=c[d+4>>2]|0}if((f|0)!=3){l=u;return}c[u+144>>2]=1566444395;c[u+144+4>>2]=1566444395;c[u+144+8>>2]=1566444395;g[u+144+12>>2]=0.0;c[u+112>>2]=-581039253;c[u+112+4>>2]=-581039253;c[u+112+8>>2]=-581039253;g[u+112+12>>2]=0.0;O=qb[c[(c[a>>2]|0)+20>>2]&127](a)|0;c[u+16>>2]=6012;c[u+16+4>>2]=6036;c[u+16+8>>2]=O;c[u+16+12>>2]=c[e>>2];c[u+16+12+4>>2]=c[e+4>>2];c[u+16+12+8>>2]=c[e+8>>2];c[u+16+12+12>>2]=c[e+12>>2];c[u+16+28>>2]=c[b>>2];c[u+16+28+4>>2]=c[b+4>>2];c[u+16+28+8>>2]=c[b+8>>2];c[u+16+28+12>>2]=c[b+12>>2];c[u+16+44>>2]=c[b+16>>2];c[u+16+44+4>>2]=c[b+16+4>>2];c[u+16+44+8>>2]=c[b+16+8>>2];c[u+16+44+12>>2]=c[b+16+12>>2];c[u+16+60>>2]=c[b+32>>2];c[u+16+60+4>>2]=c[b+32+4>>2];c[u+16+60+8>>2]=c[b+32+8>>2];c[u+16+60+12>>2]=c[b+32+12>>2];c[u+16+76>>2]=c[b+48>>2];c[u+16+76+4>>2]=c[b+48+4>>2];c[u+16+76+8>>2]=c[b+48+8>>2];c[u+16+76+12>>2]=c[b+48+12>>2];O=c[d+92>>2]|0;Nb[c[(c[O>>2]|0)+8>>2]&127](O,u+16+4|0,u+112|0,u+144|0);l=u;return}}}function uc(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.0,k=0,m=0,n=0,o=0.0,p=0.0,q=0.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;t=l;l=l+48|0;z=1.0/+g[a+108>>2];A=1.0/+g[a+112>>2];B=1.0/+g[a+116>>2];u=+g[a+48>>2];v=z*+g[d>>2]+u;o=+g[a+52>>2];j=A*+g[d+4>>2]+o;q=+g[a+56>>2];p=B*+g[d+8>>2]+q;u=z*+g[e>>2]+u;o=A*+g[e+4>>2]+o;q=B*+g[e+8>>2]+q;B=+g[a+16>>2];v=v>2];j=j>2];p=p>2];v=y>2];j=x>2];p=w>2]|0)+-1|0;d=(c[a+68>>2]|0)+-1|0;switch(c[a+104>>2]|0){case 0:{d=(e|0)<(d|0)?e:d;i=(h|0)<(i|0)?h:i;e=(k|0)>0?k:0;r=(n|0)>0?n:0;break}case 1:{d=(e|0)<(d|0)?e:d;i=(f|0)<(i|0)?f:i;e=(k|0)>0?k:0;r=(m|0)>0?m:0;break}case 2:{d=(h|0)<(d|0)?h:d;i=(f|0)<(i|0)?f:i;e=(n|0)>0?n:0;r=(m|0)>0?m:0;break}default:{e=0;r=0}}if((e|0)>=(d|0)){l=t;return}n=(r|0)<(i|0);k=e;while(1){if(n){m=(k&1|0)==0;e=k+1|0;q=+(k|0);h=r;while(1){f=c[a+100>>2]|0;do if(!((f&255)<<24>>24)){if(f&65280|0?(h+k&1|0)==0:0){s=16;break}if(!(m&(f&16711680|0)!=0)){j=+jb[c[(c[a>>2]|0)+68>>2]&15](a,h,k);switch(c[a+104>>2]|0){case 0:{j=j-+g[a+48>>2];o=+(h|0)-+g[a+80>>2]*.5;p=q-+g[a+84>>2]*.5;g[t>>2]=j;g[t+4>>2]=o;g[t+8>>2]=p;g[t+12>>2]=0.0;break}case 1:{B=+(h|0)-+g[a+80>>2]*.5;o=j-+g[a+52>>2];p=q-+g[a+84>>2]*.5;g[t>>2]=B;g[t+4>>2]=o;g[t+8>>2]=p;g[t+12>>2]=0.0;j=B;break}case 2:{B=+(h|0)-+g[a+80>>2]*.5;o=q-+g[a+84>>2]*.5;p=j-+g[a+56>>2];g[t>>2]=B;g[t+4>>2]=o;g[t+8>>2]=p;g[t+12>>2]=0.0;j=B;break}default:{j=+g[t>>2];o=+g[t+4>>2];p=+g[t+8>>2]}}g[t>>2]=j*+g[a+108>>2];g[t+4>>2]=o*+g[a+112>>2];g[t+8>>2]=p*+g[a+116>>2];j=+jb[c[(c[a>>2]|0)+68>>2]&15](a,h,e);switch(c[a+104>>2]|0){case 0:{j=j-+g[a+48>>2];o=+(h|0)-+g[a+80>>2]*.5;p=+(e|0)-+g[a+84>>2]*.5;g[t+16>>2]=j;g[t+20>>2]=o;g[t+24>>2]=p;g[t+28>>2]=0.0;break}case 1:{B=+(h|0)-+g[a+80>>2]*.5;o=j-+g[a+52>>2];p=+(e|0)-+g[a+84>>2]*.5;g[t+16>>2]=B;g[t+20>>2]=o;g[t+24>>2]=p;g[t+28>>2]=0.0;j=B;break}case 2:{B=+(h|0)-+g[a+80>>2]*.5;o=+(e|0)-+g[a+84>>2]*.5;p=j-+g[a+56>>2];g[t+16>>2]=B;g[t+20>>2]=o;g[t+24>>2]=p;g[t+28>>2]=0.0;j=B;break}default:{j=+g[t+16>>2];o=+g[t+20>>2];p=+g[t+24>>2]}}g[t+16>>2]=j*+g[a+108>>2];g[t+20>>2]=o*+g[a+112>>2];g[t+24>>2]=p*+g[a+116>>2];f=h+1|0;j=+jb[c[(c[a>>2]|0)+68>>2]&15](a,f,k);switch(c[a+104>>2]|0){case 0:{j=j-+g[a+48>>2];o=+(f|0)-+g[a+80>>2]*.5;p=q-+g[a+84>>2]*.5;g[t+32>>2]=j;g[t+36>>2]=o;g[t+40>>2]=p;g[t+44>>2]=0.0;break}case 1:{B=+(f|0)-+g[a+80>>2]*.5;o=j-+g[a+52>>2];p=q-+g[a+84>>2]*.5;g[t+32>>2]=B;g[t+36>>2]=o;g[t+40>>2]=p;g[t+44>>2]=0.0;j=B;break}case 2:{B=+(f|0)-+g[a+80>>2]*.5;o=q-+g[a+84>>2]*.5;p=j-+g[a+56>>2];g[t+32>>2]=B;g[t+36>>2]=o;g[t+40>>2]=p;g[t+44>>2]=0.0;j=B;break}default:{j=+g[t+32>>2];o=+g[t+36>>2];p=+g[t+40>>2]}}g[t+32>>2]=j*+g[a+108>>2];g[t+36>>2]=o*+g[a+112>>2];g[t+40>>2]=p*+g[a+116>>2];Nb[c[(c[b>>2]|0)+8>>2]&127](b,t,h,k);j=+jb[c[(c[a>>2]|0)+68>>2]&15](a,f,k);switch(c[a+104>>2]|0){case 0:{j=j-+g[a+48>>2];o=+(f|0)-+g[a+80>>2]*.5;p=q-+g[a+84>>2]*.5;g[t>>2]=j;g[t+4>>2]=o;g[t+8>>2]=p;g[t+12>>2]=0.0;break}case 1:{B=+(f|0)-+g[a+80>>2]*.5;o=j-+g[a+52>>2];p=q-+g[a+84>>2]*.5;g[t>>2]=B;g[t+4>>2]=o;g[t+8>>2]=p;g[t+12>>2]=0.0;j=B;break}case 2:{B=+(f|0)-+g[a+80>>2]*.5;o=q-+g[a+84>>2]*.5;p=j-+g[a+56>>2];g[t>>2]=B;g[t+4>>2]=o;g[t+8>>2]=p;g[t+12>>2]=0.0;j=B;break}default:{j=+g[t>>2];o=+g[t+4>>2];p=+g[t+8>>2]}}g[t>>2]=j*+g[a+108>>2];g[t+4>>2]=o*+g[a+112>>2];g[t+8>>2]=p*+g[a+116>>2];j=+jb[c[(c[a>>2]|0)+68>>2]&15](a,f,e);switch(c[a+104>>2]|0){case 0:{j=j-+g[a+48>>2];o=+(f|0)-+g[a+80>>2]*.5;p=+(e|0)-+g[a+84>>2]*.5;g[t+32>>2]=j;g[t+36>>2]=o;g[t+40>>2]=p;g[t+44>>2]=0.0;break}case 1:{B=+(f|0)-+g[a+80>>2]*.5;o=j-+g[a+52>>2];p=+(e|0)-+g[a+84>>2]*.5;g[t+32>>2]=B;g[t+36>>2]=o;g[t+40>>2]=p;g[t+44>>2]=0.0;j=B;break}case 2:{B=+(f|0)-+g[a+80>>2]*.5;o=+(e|0)-+g[a+84>>2]*.5;p=j-+g[a+56>>2];g[t+32>>2]=B;g[t+36>>2]=o;g[t+40>>2]=p;g[t+44>>2]=0.0;j=B;break}default:{j=+g[t+32>>2];o=+g[t+36>>2];p=+g[t+40>>2]}}g[t+32>>2]=j*+g[a+108>>2];g[t+36>>2]=o*+g[a+112>>2];g[t+40>>2]=p*+g[a+116>>2];Nb[c[(c[b>>2]|0)+8>>2]&127](b,t,h,k)}else s=16}else s=16;while(0);if((s|0)==16){s=0;j=+jb[c[(c[a>>2]|0)+68>>2]&15](a,h,k);switch(c[a+104>>2]|0){case 0:{j=j-+g[a+48>>2];o=+(h|0)-+g[a+80>>2]*.5;p=q-+g[a+84>>2]*.5;g[t>>2]=j;g[t+4>>2]=o;g[t+8>>2]=p;g[t+12>>2]=0.0;break}case 1:{B=+(h|0)-+g[a+80>>2]*.5;o=j-+g[a+52>>2];p=q-+g[a+84>>2]*.5;g[t>>2]=B;g[t+4>>2]=o;g[t+8>>2]=p;g[t+12>>2]=0.0;j=B;break}case 2:{B=+(h|0)-+g[a+80>>2]*.5;o=q-+g[a+84>>2]*.5;p=j-+g[a+56>>2];g[t>>2]=B;g[t+4>>2]=o;g[t+8>>2]=p;g[t+12>>2]=0.0;j=B;break}default:{j=+g[t>>2];o=+g[t+4>>2];p=+g[t+8>>2]}}g[t>>2]=j*+g[a+108>>2];g[t+4>>2]=o*+g[a+112>>2];g[t+8>>2]=p*+g[a+116>>2];f=h+1|0;j=+jb[c[(c[a>>2]|0)+68>>2]&15](a,f,k);switch(c[a+104>>2]|0){case 0:{j=j-+g[a+48>>2];o=+(f|0)-+g[a+80>>2]*.5;p=q-+g[a+84>>2]*.5;g[t+16>>2]=j;g[t+20>>2]=o;g[t+24>>2]=p;g[t+28>>2]=0.0;break}case 1:{B=+(f|0)-+g[a+80>>2]*.5;o=j-+g[a+52>>2];p=q-+g[a+84>>2]*.5;g[t+16>>2]=B;g[t+20>>2]=o;g[t+24>>2]=p;g[t+28>>2]=0.0;j=B;break}case 2:{B=+(f|0)-+g[a+80>>2]*.5;o=q-+g[a+84>>2]*.5;p=j-+g[a+56>>2];g[t+16>>2]=B;g[t+20>>2]=o;g[t+24>>2]=p;g[t+28>>2]=0.0;j=B;break}default:{j=+g[t+16>>2];o=+g[t+20>>2];p=+g[t+24>>2]}}g[t+16>>2]=j*+g[a+108>>2];g[t+20>>2]=o*+g[a+112>>2];g[t+24>>2]=p*+g[a+116>>2];j=+jb[c[(c[a>>2]|0)+68>>2]&15](a,f,e);switch(c[a+104>>2]|0){case 0:{j=j-+g[a+48>>2];o=+(f|0)-+g[a+80>>2]*.5;p=+(e|0)-+g[a+84>>2]*.5;g[t+32>>2]=j;g[t+36>>2]=o;g[t+40>>2]=p;g[t+44>>2]=0.0;break}case 1:{B=+(f|0)-+g[a+80>>2]*.5;o=j-+g[a+52>>2];p=+(e|0)-+g[a+84>>2]*.5;g[t+32>>2]=B;g[t+36>>2]=o;g[t+40>>2]=p;g[t+44>>2]=0.0;j=B;break}case 2:{B=+(f|0)-+g[a+80>>2]*.5;o=+(e|0)-+g[a+84>>2]*.5;p=j-+g[a+56>>2];g[t+32>>2]=B;g[t+36>>2]=o;g[t+40>>2]=p;g[t+44>>2]=0.0;j=B;break}default:{j=+g[t+32>>2];o=+g[t+36>>2];p=+g[t+40>>2]}}g[t+32>>2]=j*+g[a+108>>2];g[t+36>>2]=o*+g[a+112>>2];g[t+40>>2]=p*+g[a+116>>2];Nb[c[(c[b>>2]|0)+8>>2]&127](b,t,h,k);j=+jb[c[(c[a>>2]|0)+68>>2]&15](a,f,e);switch(c[a+104>>2]|0){case 0:{j=j-+g[a+48>>2];o=+(f|0)-+g[a+80>>2]*.5;p=+(e|0)-+g[a+84>>2]*.5;g[t+16>>2]=j;g[t+20>>2]=o;g[t+24>>2]=p;g[t+28>>2]=0.0;break}case 1:{B=+(f|0)-+g[a+80>>2]*.5;o=j-+g[a+52>>2];p=+(e|0)-+g[a+84>>2]*.5;g[t+16>>2]=B;g[t+20>>2]=o;g[t+24>>2]=p;g[t+28>>2]=0.0;j=B;break}case 2:{B=+(f|0)-+g[a+80>>2]*.5;o=+(e|0)-+g[a+84>>2]*.5;p=j-+g[a+56>>2];g[t+16>>2]=B;g[t+20>>2]=o;g[t+24>>2]=p;g[t+28>>2]=0.0;j=B;break}default:{j=+g[t+16>>2];o=+g[t+20>>2];p=+g[t+24>>2]}}g[t+16>>2]=j*+g[a+108>>2];g[t+20>>2]=o*+g[a+112>>2];g[t+24>>2]=p*+g[a+116>>2];j=+jb[c[(c[a>>2]|0)+68>>2]&15](a,h,e);switch(c[a+104>>2]|0){case 0:{j=j-+g[a+48>>2];o=+(h|0)-+g[a+80>>2]*.5;p=+(e|0)-+g[a+84>>2]*.5;g[t+32>>2]=j;g[t+36>>2]=o;g[t+40>>2]=p;g[t+44>>2]=0.0;break}case 1:{B=+(h|0)-+g[a+80>>2]*.5;o=j-+g[a+52>>2];p=+(e|0)-+g[a+84>>2]*.5;g[t+32>>2]=B;g[t+36>>2]=o;g[t+40>>2]=p;g[t+44>>2]=0.0;j=B;break}case 2:{B=+(h|0)-+g[a+80>>2]*.5;o=+(e|0)-+g[a+84>>2]*.5;p=j-+g[a+56>>2];g[t+32>>2]=B;g[t+36>>2]=o;g[t+40>>2]=p;g[t+44>>2]=0.0;j=B;break}default:{j=+g[t+32>>2];o=+g[t+36>>2];p=+g[t+40>>2]}}g[t+32>>2]=j*+g[a+108>>2];g[t+36>>2]=o*+g[a+112>>2];g[t+40>>2]=p*+g[a+116>>2];Nb[c[(c[b>>2]|0)+8>>2]&127](b,t,h,k)}if((f|0)==(i|0))break;else h=f}}else e=k+1|0;if((e|0)==(d|0))break;else k=e}l=t;return}function vc(b,d){b=b|0;d=+d;var e=0,f=0.0,h=0,i=0,j=0,k=0.0,m=0.0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0.0,A=0.0,B=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=l;l=l+96|0;o=c[b+136>>2]|0;if(!o){l=s;return}j=c[b+8>>2]|0;if((j|0)<(o|0)){if((c[b+12>>2]|0)<(o|0)){c[6472]=(c[6472]|0)+1;e=ic((o<<4|3)+16|0)|0;if(!e)i=0;else{c[(e+4+15&-16)+-4>>2]=e;i=e+4+15&-16}e=c[b+8>>2]|0;if((e|0)>0){h=0;do{p=i+(h<<4)|0;n=(c[b+16>>2]|0)+(h<<4)|0;c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];c[p+12>>2]=c[n+12>>2];h=h+1|0}while((h|0)!=(e|0))}e=c[b+16>>2]|0;if(e|0){if(a[b+20>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[e+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=i;c[b+12>>2]=o;h=b+16|0}else h=b+16|0;e=j;do{p=(c[h>>2]|0)+(e<<4)|0;c[p>>2]=c[s+48>>2];c[p+4>>2]=c[s+48+4>>2];c[p+8>>2]=c[s+48+8>>2];c[p+12>>2]=c[s+48+12>>2];e=e+1|0}while((e|0)!=(o|0))}c[b+8>>2]=o;j=c[b+28>>2]|0;if((j|0)<(o|0)){if((c[b+32>>2]|0)<(o|0)){c[6472]=(c[6472]|0)+1;e=ic((o<<4|3)+16|0)|0;if(!e)i=0;else{c[(e+4+15&-16)+-4>>2]=e;i=e+4+15&-16}e=c[b+28>>2]|0;if((e|0)>0){h=0;do{p=i+(h<<4)|0;n=(c[b+36>>2]|0)+(h<<4)|0;c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];c[p+12>>2]=c[n+12>>2];h=h+1|0}while((h|0)!=(e|0))}e=c[b+36>>2]|0;if(e|0){if(a[b+40>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[e+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=i;c[b+32>>2]=o;h=b+36|0}else h=b+36|0;e=j;do{p=(c[h>>2]|0)+(e<<4)|0;c[p>>2]=c[s+48>>2];c[p+4>>2]=c[s+48+4>>2];c[p+8>>2]=c[s+48+8>>2];c[p+12>>2]=c[s+48+12>>2];e=e+1|0}while((e|0)!=(o|0))}c[b+28>>2]=o;n=c[b+48>>2]|0;if((n|0)<(o|0)){do if((c[b+52>>2]|0)<(o|0)){c[6472]=(c[6472]|0)+1;e=ic((o<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}h=c[b+48>>2]|0;i=c[b+56>>2]|0;if((h|0)<=0){if(!i){a[b+60>>0]=1;c[b+56>>2]=e;c[b+52>>2]=o;h=o<<2;break}}else{j=0;do{c[e+(j<<2)>>2]=c[i+(j<<2)>>2];j=j+1|0}while((j|0)!=(h|0))}if(a[b+60>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0)}a[b+60>>0]=1;c[b+56>>2]=e;c[b+52>>2]=o;h=o<<2}else{h=o<<2;e=c[b+56>>2]|0}while(0);Nk(e+(n<<2)|0,0,h-(n<<2)|0)|0}c[b+48>>2]=o;n=c[b+68>>2]|0;if((n|0)<(o|0)){do if((c[b+72>>2]|0)<(o|0)){c[6472]=(c[6472]|0)+1;e=ic((o<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}h=c[b+68>>2]|0;i=c[b+76>>2]|0;if((h|0)<=0){if(!i){a[b+80>>0]=1;c[b+76>>2]=e;c[b+72>>2]=o;h=o<<2;break}}else{j=0;do{c[e+(j<<2)>>2]=c[i+(j<<2)>>2];j=j+1|0}while((j|0)!=(h|0))}if(a[b+80>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0)}a[b+80>>0]=1;c[b+76>>2]=e;c[b+72>>2]=o;h=o<<2}else{h=o<<2;e=c[b+76>>2]|0}while(0);Nk(e+(n<<2)|0,0,h-(n<<2)|0)|0}c[b+68>>2]=o;e=c[b+136>>2]|0;if((e|0)<=0){l=s;return}h=c[b+76>>2]|0;i=c[b+56>>2]|0;j=0;do{g[h+(j<<2)>>2]=0.0;g[i+(j<<2)>>2]=0.0;j=j+1|0}while((j|0)!=(e|0));j=0;do{h=c[b+144>>2]|0;i=c[h+(j*284|0)+88>>2]|0;if(i){e=h+(j*284|0)+92|0;c[s+48>>2]=c[e>>2];c[s+48+4>>2]=c[e+4>>2];c[s+48+8>>2]=c[e+8>>2];c[s+48+12>>2]=c[e+12>>2];e=h+(j*284|0)+108|0;c[s+48+16>>2]=c[e>>2];c[s+48+16+4>>2]=c[e+4>>2];c[s+48+16+8>>2]=c[e+8>>2];c[s+48+16+12>>2]=c[e+12>>2];e=h+(j*284|0)+124|0;c[s+48+32>>2]=c[e>>2];c[s+48+32+4>>2]=c[e+4>>2];c[s+48+32+8>>2]=c[e+8>>2];c[s+48+32+12>>2]=c[e+12>>2];e=c[b+36>>2]|0;x=c[b+120>>2]|0;o=c[s+48+16+(x<<2)>>2]|0;y=c[s+48+32+(x<<2)>>2]|0;c[e+(j<<4)>>2]=c[s+48+(x<<2)>>2];c[e+(j<<4)+4>>2]=o;c[e+(j<<4)+8>>2]=y;g[e+(j<<4)+12>>2]=0.0;e=c[b+36>>2]|0;y=e+(j<<4)|0;z=+g[y>>2];o=h+(j*284|0)|0;f=+g[o>>2];x=e+(j<<4)+4|0;w=+g[x>>2];n=h+(j*284|0)+4|0;k=+g[n>>2];e=e+(j<<4)+8|0;t=+g[e>>2];p=h+(j*284|0)+8|0;v=+g[p>>2];m=z-f*(z*f+w*k+t*v);u=w-k*(z*f+w*k+t*v);v=t-v*(z*f+w*k+t*v);t=1.0/+C(+(m*m+u*u+v*v));g[y>>2]=m*t;g[x>>2]=u*t;g[e>>2]=v*t;e=c[b+16>>2]|0;k=+g[n>>2];w=+g[p>>2];f=+g[o>>2];g[e+(j<<4)>>2]=k*v*t-w*u*t;g[e+(j<<4)+4>>2]=w*m*t-v*t*f;g[e+(j<<4)+8>>2]=u*t*f-k*m*t;g[e+(j<<4)+12>>2]=0.0;e=c[b+16>>2]|0;o=e+(j<<4)|0;t=+g[o>>2];p=e+(j<<4)+4|0;m=+g[p>>2];e=e+(j<<4)+8|0;k=+g[e>>2];f=1.0/+C(+(t*t+m*m+k*k));g[o>>2]=t*f;g[p>>2]=m*f;g[e>>2]=k*f;e=c[b+116>>2]|0;p=c[b+36>>2]|0;f=+g[p+(j<<4)>>2];k=+g[p+(j<<4)+4>>2];m=+g[p+(j<<4)+8>>2];if(f*f+k*k+m*m>1.100000023841858)f=0.0;else{D=+g[h+(j*284|0)+16>>2];H=D-+g[e+52>>2];F=+g[h+(j*284|0)+20>>2];J=F-+g[e+56>>2];K=+g[h+(j*284|0)+24>>2];M=K-+g[e+60>>2];D=D-+g[i+52>>2];F=F-+g[i+56>>2];K=K-+g[i+60>>2];G=+g[e+332>>2];N=+g[e+336>>2];I=+g[e+328>>2];B=+g[i+332>>2];L=+g[i+336>>2];E=+g[i+328>>2];A=(m*J-k*M)*+g[e+4>>2]+(f*M-m*H)*+g[e+20>>2]+(k*H-f*J)*+g[e+36>>2];t=(m*J-k*M)*+g[e+8>>2]+(f*M-m*H)*+g[e+24>>2]+(k*H-f*J)*+g[e+40>>2];u=(m*J-k*M)*+g[e+12>>2]+(f*M-m*H)*+g[e+28>>2]+(k*H-f*J)*+g[e+44>>2];v=(F*-m-K*-k)*+g[i+4>>2]+(K*-f-D*-m)*+g[i+20>>2]+(D*-k-F*-f)*+g[i+36>>2];w=(F*-m-K*-k)*+g[i+8>>2]+(K*-f-D*-m)*+g[i+24>>2]+(D*-k-F*-f)*+g[i+40>>2];z=(F*-m-K*-k)*+g[i+12>>2]+(K*-f-D*-m)*+g[i+28>>2]+(D*-k-F*-f)*+g[i+44>>2];f=(f*(M*G-J*N+ +g[e+312>>2]-(K*B-F*L+ +g[i+312>>2]))+k*(+g[e+316>>2]+(H*N-M*I)-(+g[i+316>>2]+(D*L-K*E)))+m*(J*I-H*G+ +g[e+320>>2]-(F*E-D*B+ +g[i+320>>2])))*-.20000000298023224*(1.0/(+g[i+344>>2]+(+g[e+344>>2]+(A*A*+g[e+396>>2]+t*t*+g[e+400>>2]+u*u*+g[e+404>>2]))+(v*v*+g[i+396>>2]+w*w*+g[i+400>>2]+z*z*+g[i+404>>2])))}g[(c[b+76>>2]|0)+(j<<2)>>2]=f;e=c[b+136>>2]|0}j=j+1|0}while((j|0)<(e|0));if((e|0)<=0){l=s;return}h=c[b+144>>2]|0;i=0;p=0;while(1){e=c[h+(p*284|0)+88>>2]|0;if(e){f=+g[h+(p*284|0)+252>>2];if(f!=0.0){n=h;f=f*d}else{N=+g[h+(p*284|0)+256>>2];N=N==0.0?0.0:N;n=c[b+116>>2]|0;y=c[b+16>>2]|0;H=+g[h+(p*284|0)+16>>2];F=+g[h+(p*284|0)+20>>2];A=+g[h+(p*284|0)+24>>2];w=+g[y+(p<<4)>>2];E=+g[y+(p<<4)+4>>2];f=+g[y+(p<<4)+8>>2];P=H-+g[n+52>>2];Q=F-+g[n+56>>2];k=A-+g[n+60>>2];m=+g[n+264>>2]*(Q*f-k*E)+ +g[n+280>>2]*(k*w-P*f)+(P*E-Q*w)*+g[n+296>>2];R=(Q*f-k*E)*+g[n+268>>2]+(k*w-P*f)*+g[n+284>>2]+(P*E-Q*w)*+g[n+300>>2];O=(Q*f-k*E)*+g[n+272>>2]+(k*w-P*f)*+g[n+288>>2]+(P*E-Q*w)*+g[n+304>>2];L=H-+g[e+52>>2];J=F-+g[e+56>>2];D=A-+g[e+60>>2];v=(E*L-w*J)*+g[e+296>>2]+(+g[e+264>>2]*(f*J-E*D)+ +g[e+280>>2]*(w*D-f*L));t=(f*J-E*D)*+g[e+268>>2]+(w*D-f*L)*+g[e+284>>2]+(E*L-w*J)*+g[e+300>>2];u=(f*J-E*D)*+g[e+272>>2]+(w*D-f*L)*+g[e+288>>2]+(E*L-w*J)*+g[e+304>>2];H=H-+g[n+52>>2];F=F-+g[n+56>>2];A=A-+g[n+60>>2];I=+g[n+332>>2];z=+g[n+336>>2];G=+g[n+328>>2];M=+g[e+332>>2];B=+g[e+336>>2];K=+g[e+328>>2];f=-(1.0/(+g[n+344>>2]+(f*(Q*m-P*R)+(w*(k*R-Q*O)+E*(P*O-k*m)))+(+g[e+344>>2]+(f*(J*v-L*t)+(w*(D*t-J*u)+E*(L*u-D*v)))))*((A*I-F*z+ +g[n+312>>2]-(D*M-J*B+ +g[e+312>>2]))*w+(+g[n+316>>2]+(H*z-A*G)-(+g[e+316>>2]+(L*B-D*K)))*E+(F*G-H*I+ +g[n+320>>2]-(J*K-L*M+ +g[e+320>>2]))*f));f=N>2]|0;f=f<-N?-N:f}o=c[b+56>>2]|0;y=o+(p<<2)|0;g[y>>2]=0.0;e=n+(p*284|0)+280|0;g[e>>2]=1.0;m=+g[h+(p*284|0)+276>>2]*d*+g[h+(p*284|0)+228>>2];g[y>>2]=f;k=f*.5;f=+g[(c[b+76>>2]|0)+(p<<2)>>2];if(k*k+f*f>m*m){R=m/+C(+(k*k+f*f));g[e>>2]=R*+g[e>>2];e=1}else e=i}else{o=c[b+56>>2]|0;g[o+(p<<2)>>2]=0.0;g[h+(p*284|0)+280>>2]=1.0;n=h;e=i}p=p+1|0;j=c[b+136>>2]|0;if((p|0)>=(j|0))break;else{h=n;i=e}}if(e){if((j|0)<=0){l=s;return}e=c[b+76>>2]|0;i=0;do{h=e+(i<<2)|0;if(+g[h>>2]!=0.0?(r=n+(i*284|0)+280|0,q=+g[r>>2],q<1.0):0){y=o+(i<<2)|0;g[y>>2]=q*+g[y>>2];g[h>>2]=+g[r>>2]*+g[h>>2]}i=i+1|0}while((i|0)!=(j|0))}if((j|0)<=0){l=s;return}p=n;i=o;e=0;while(1){h=c[b+116>>2]|0;j=p+(e*284|0)+16|0;k=+g[j>>2]-+g[h+52>>2];o=p+(e*284|0)+20|0;d=+g[o>>2]-+g[h+56>>2];n=p+(e*284|0)+24|0;m=+g[n>>2]-+g[h+60>>2];g[s+48>>2]=k;g[s+48+4>>2]=d;g[s+48+8>>2]=m;g[s+48+12>>2]=0.0;f=+g[i+(e<<2)>>2];if(f!=0.0){y=c[b+16>>2]|0;Q=f*+g[y+(e<<4)+4>>2];R=f*+g[y+(e<<4)+8>>2];g[s+32>>2]=+g[y+(e<<4)>>2]*f;g[s+32+4>>2]=Q;g[s+32+8>>2]=R;g[s+32+12>>2]=0.0;Zk(h,s+32|0,s+48|0)}f=+g[(c[b+76>>2]|0)+(e<<2)>>2];if(f!=0.0){y=c[(c[b+144>>2]|0)+(e*284|0)+88>>2]|0;Q=+g[o>>2]-+g[y+56>>2];P=+g[n>>2]-+g[y+60>>2];g[s+32>>2]=+g[j>>2]-+g[y+52>>2];g[s+32+4>>2]=Q;g[s+32+8>>2]=P;g[s+32+12>>2]=0.0;x=c[b+36>>2]|0;P=+g[x+(e<<4)>>2]*f;Q=f*+g[x+(e<<4)+4>>2];R=f*+g[x+(e<<4)+8>>2];g[s+16>>2]=P;g[s+16+4>>2]=Q;g[s+16+8>>2]=R;g[s+16+12>>2]=0.0;x=c[b+116>>2]|0;r=c[b+124>>2]|0;L=+g[x+4+(r<<2)>>2];M=+g[x+20+(r<<2)>>2];N=+g[x+36+(r<<2)>>2];O=(L*k+M*d+N*m)*(1.0-+g[p+(e*284|0)+244>>2]);g[s+48>>2]=k-L*O;g[s+48+4>>2]=d-M*O;g[s+48+8>>2]=m-N*O;Zk(x,s+16|0,s+48|0);g[s>>2]=-P;g[s+4>>2]=-Q;g[s+8>>2]=-R;g[s+12>>2]=0.0;Zk(y,s,s+32|0)}e=e+1|0;if((e|0)>=(c[b+136>>2]|0))break;p=c[b+144>>2]|0;i=c[b+56>>2]|0}l=s;return}function wc(b,e,f,h,i,k,m){b=b|0;e=e|0;f=f|0;h=h|0;i=i|0;k=k|0;m=m|0;var n=0.0,o=0.0,p=0.0,q=0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=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;w=l;l=l+9824|0;q=k;r=q+36|0;do{c[q>>2]=0;q=q+4|0}while((q|0)<(r|0));c[w+9680>>2]=b;c[w+9680+4>>2]=f;z=+g[h>>2];M=+g[e>>2];A=+g[h+16>>2];D=+g[e+16>>2];B=+g[h+32>>2];N=+g[e+32>>2];E=+g[e+4>>2];O=+g[e+20>>2];F=+g[e+36>>2];s=+g[e+8>>2];n=+g[e+24>>2];y=+g[e+40>>2];L=+g[h+4>>2];K=+g[h+20>>2];J=+g[h+36>>2];I=+g[h+8>>2];H=+g[h+24>>2];G=+g[h+40>>2];g[w+9680+8>>2]=z*M+A*D+B*N;g[w+9680+12>>2]=z*E+A*O+B*F;g[w+9680+16>>2]=z*s+A*n+B*y;g[w+9680+20>>2]=0.0;g[w+9680+24>>2]=M*L+D*K+N*J;g[w+9680+28>>2]=E*L+O*K+F*J;g[w+9680+32>>2]=s*L+n*K+y*J;g[w+9680+36>>2]=0.0;g[w+9680+40>>2]=M*I+D*H+N*G;g[w+9680+44>>2]=E*I+O*H+F*G;g[w+9680+48>>2]=s*I+n*H+y*G;g[w+9680+52>>2]=0.0;y=+g[h+48>>2]-+g[e+48>>2];n=+g[h+52>>2]-+g[e+52>>2];s=+g[h+56>>2]-+g[e+56>>2];F=+g[e>>2];O=+g[h>>2];E=+g[e+16>>2];N=+g[h+16>>2];D=+g[e+32>>2];M=+g[h+32>>2];B=+g[e+4>>2];A=+g[e+20>>2];z=+g[e+36>>2];x=+g[e+8>>2];o=+g[e+24>>2];p=+g[e+40>>2];g[w+9680+56>>2]=F*O+E*N+D*M;g[w+9680+60>>2]=F*L+E*K+D*J;g[w+9680+64>>2]=F*I+E*H+D*G;g[w+9680+68>>2]=0.0;g[w+9680+72>>2]=O*B+N*A+M*z;g[w+9680+76>>2]=L*B+K*A+J*z;g[w+9680+80>>2]=I*B+H*A+G*z;g[w+9680+84>>2]=0.0;g[w+9680+88>>2]=O*x+N*o+M*p;g[w+9680+92>>2]=L*x+K*o+J*p;g[w+9680+96>>2]=I*x+H*o+G*p;g[w+9680+100>>2]=0.0;g[w+9680+104>>2]=y*F+n*E+s*D;g[w+9680+108>>2]=y*B+n*A+s*z;g[w+9680+112>>2]=y*x+n*o+s*p;g[w+9680+116>>2]=0.0;c[w+9680+120>>2]=m?81:80;c[w+9680+124>>2]=0;c[w+9296+364>>2]=0;c[w+9296+128>>2]=0;c[w+9296+128+4>>2]=0;c[w+9296+128+8>>2]=0;c[w+9296+128+12>>2]=0;c[w+9296+376>>2]=2;c[w+9296+368>>2]=0;g[w+9296+144>>2]=0.0;p=-+g[i+4>>2];s=-+g[i+8>>2];g[w+9808>>2]=-+g[i>>2];g[w+9808+4>>2]=p;g[w+9808+8>>2]=s;g[w+9808+12>>2]=0.0;switch(Ac(w+9296|0,w+9680|0,w+9808|0)|0){case 1:{c[w+9280>>2]=0;c[w+9280+4>>2]=0;c[w+9280+8>>2]=0;c[w+9280+12>>2]=0;c[w>>2]=9;c[w+9276>>2]=0;c[w+40>>2]=0;c[w+40+4>>2]=0;c[w+40+8>>2]=0;c[w+40+12>>2]=0;c[w+40+16>>2]=0;f=0;do{m=128-f+-1|0;c[w+2108+(m*56|0)+44>>2]=0;b=c[w+9288>>2]|0;c[w+2108+(m*56|0)+48>>2]=b;if(b|0)c[b+44>>2]=w+2108+(m*56|0);c[w+9288>>2]=w+2108+(m*56|0);c[w+9292>>2]=(c[w+9292>>2]|0)+1;f=f+1|0}while((f|0)!=128);p=+g[i>>2];s=+g[i+4>>2];o=+g[i+8>>2];t=c[w+9296+372>>2]|0;do if((c[t+32>>2]|0)>>>0>1?hd(w+9296|0)|0:0){b=c[w+9280>>2]|0;if(b|0){q=c[w+9284>>2]|0;r=c[w+9292>>2]|0;do{m=b+44|0;h=b+48|0;f=c[h>>2]|0;if(f|0)c[f+44>>2]=c[m>>2];f=c[m>>2]|0;if(f|0)c[f+48>>2]=c[h>>2];if((c[w+9280>>2]|0)==(b|0))c[w+9280>>2]=c[h>>2];q=q+-1|0;c[b+44>>2]=0;c[h>>2]=c[w+9288>>2];f=c[w+9288>>2]|0;if(f|0)c[f+44>>2]=b;c[w+9288>>2]=b;r=r+1|0;b=c[w+9280>>2]|0}while((b|0)!=0);c[w+9284>>2]=q;c[w+9292>>2]=r}c[w>>2]=0;c[w+9276>>2]=0;b=c[t>>2]|0;f=c[t+12>>2]|0;O=+g[f+16>>2];G=+g[b+16>>2]-O;I=+g[f+20>>2];J=+g[b+20>>2]-I;L=+g[f+24>>2];M=+g[b+24>>2]-L;f=c[t+4>>2]|0;K=+g[f+16>>2]-O;N=+g[f+20>>2]-I;H=+g[f+24>>2]-L;m=c[t+8>>2]|0;O=+g[m+16>>2]-O;I=+g[m+20>>2]-I;L=+g[m+24>>2]-L;if(G*N*L+(J*H*O+M*K*I-G*H*I-J*K*L)-M*N*O<0.0){c[t>>2]=f;c[t+4>>2]=b;h=c[t+16>>2]|0;c[t+16>>2]=c[t+20>>2];c[t+20>>2]=h;h=f}else{h=b;b=f}h=cf(w,h,b,m,1)|0;q=cf(w,c[t+4>>2]|0,c[t>>2]|0,c[t+12>>2]|0,1)|0;r=cf(w,c[t+8>>2]|0,c[t+4>>2]|0,c[t+12>>2]|0,1)|0;i=cf(w,c[t>>2]|0,c[t+8>>2]|0,c[t+12>>2]|0,1)|0;if((c[w+9284>>2]|0)==4){b=c[w+9280>>2]|0;n=+g[b+16>>2];f=c[b+48>>2]|0;if(f){o=n*n;while(1){n=+g[f+16>>2];m=n*n>2]|0;if(!f)break;else o=m?n*n:o}}o=+g[b>>2];s=+g[b+4>>2];p=+g[b+8>>2];n=+g[b+12>>2];u=c[b+16>>2]|0;P=c[b+20>>2]|0;f=c[b+24>>2]|0;m=c[b+28>>2]|0;a[h+52>>0]=0;c[h+32>>2]=q;a[q+52>>0]=0;c[q+32>>2]=h;a[h+53>>0]=0;c[h+36>>2]=r;a[r+52>>0]=1;c[r+32>>2]=h;a[h+54>>0]=0;c[h+40>>2]=i;a[i+52>>0]=2;c[i+32>>2]=h;a[q+53>>0]=2;c[q+36>>2]=i;a[i+54>>0]=1;c[i+40>>2]=q;a[q+54>>0]=1;c[q+40>>2]=r;a[r+53>>0]=2;c[r+36>>2]=q;a[r+54>>0]=1;c[r+40>>2]=i;a[i+53>>0]=2;c[i+36>>2]=r;c[w>>2]=0;t=b;r=P;i=f;q=m;b=u;u=0;while(1){f=c[w+9276>>2]|0;if(f>>>0>=64){v=43;break}c[w+9808>>2]=0;c[w+9808+4>>2]=0;c[w+9808+8>>2]=0;c[w+9276>>2]=f+1;u=u+1|0;a[t+55>>0]=u;h=t+4|0;P=t+8|0;uh(w+9296|0,+g[t>>2],+g[h>>2],+g[P>>2],w+60+(f<<5)|0);if(+g[t>>2]*+g[w+60+(f<<5)+16>>2]+ +g[h>>2]*+g[w+60+(f<<5)+20>>2]+ +g[P>>2]*+g[w+60+(f<<5)+24>>2]-+g[t+16>>2]>9.999999747378752e-05)h=0;else{f=7;v=42;break}do{m=eh(w,u,w+60+(f<<5)|0,c[t+32+(h<<2)>>2]|0,d[t+52+h>>0]|0,w+9808|0)|0;h=h+1|0}while(m&h>>>0<3);if(!(m&(c[w+9808+8>>2]|0)>>>0>2)){f=4;v=42;break}m=c[w+9808>>2]|0;f=c[w+9808+4>>2]|0;a[m+53>>0]=2;c[m+36>>2]=f;a[f+54>>0]=1;c[f+40>>2]=m;f=t+44|0;m=t+48|0;b=c[m>>2]|0;if(b|0)c[b+44>>2]=c[f>>2];b=c[f>>2]|0;if(b|0)c[b+48>>2]=c[m>>2];if((c[w+9280>>2]|0)==(t|0))c[w+9280>>2]=c[m>>2];c[w+9284>>2]=(c[w+9284>>2]|0)+-1;c[t+44>>2]=0;c[m>>2]=c[w+9288>>2];b=c[w+9288>>2]|0;if(b|0)c[b+44>>2]=t;c[w+9288>>2]=t;c[w+9292>>2]=(c[w+9292>>2]|0)+1;f=c[w+9280>>2]|0;n=+g[f+16>>2];b=c[f+48>>2]|0;if(b){o=n*n;while(1){n=+g[b+16>>2];m=n*n>2]|0;if(!b)break;else o=m?n*n:o}}o=+g[f>>2];s=+g[f+4>>2];p=+g[f+8>>2];n=+g[f+12>>2];b=c[f+16>>2]|0;m=c[f+20>>2]|0;h=c[f+24>>2]|0;q=c[f+28>>2]|0;if(u>>>0>=255){f=q;break}else{t=f;r=m;i=h}}if((v|0)==42){c[w>>2]=f;m=r;h=i;f=q}else if((v|0)==43){c[w>>2]=6;m=r;h=i;f=q}M=(c[j>>2]=b,+g[j>>2]);K=o*M;I=s*M;M=p*M;g[w+40>>2]=o;g[w+44>>2]=s;g[w+48>>2]=p;g[w+52>>2]=n;c[w+56>>2]=b;c[w+36>>2]=3;c[w+4>>2]=m;c[w+8>>2]=h;c[w+12>>2]=f;P=h;N=+g[P+16>>2]-K;G=+g[P+20>>2]-I;F=+g[P+24>>2]-M;u=f;L=+g[u+16>>2]-K;H=+g[u+20>>2]-I;J=+g[u+24>>2]-M;N=+C(+((N*H-G*L)*(N*H-G*L)+((G*J-F*H)*(G*J-F*H)+(F*L-N*J)*(F*L-N*J))));g[w+20>>2]=N;L=+g[u+16>>2]-K;F=+g[u+20>>2]-I;u=m;H=+g[u+16>>2]-K;G=+g[u+20>>2]-I;O=+g[u+24>>2]-M;O=+C(+((L*G-F*H)*(L*G-F*H)+((F*O-J*G)*(F*O-J*G)+(J*H-L*O)*(J*H-L*O))));g[w+24>>2]=O;L=+g[u+16>>2]-K;H=+g[u+20>>2]-I;J=+g[u+24>>2]-M;K=+g[P+16>>2]-K;I=+g[P+20>>2]-I;M=+g[P+24>>2]-M;M=+C(+((L*I-H*K)*(L*I-H*K)+((H*M-J*I)*(H*M-J*I)+(J*K-L*M)*(J*K-L*M))));g[w+20>>2]=N/(M+(N+O));g[w+24>>2]=O/(M+(N+O));g[w+28>>2]=M/(M+(N+O));if((c[w>>2]|0)!=9)if(!(c[w+36>>2]|0)){p=0.0;o=0.0;n=0.0;break}else{h=w+36|0;v=51;break}c[k>>2]=3;P=0;l=w;return P|0}else v=45}else v=45;while(0);if((v|0)==45){c[w>>2]=8;g[w+40>>2]=p;g[w+44>>2]=s;g[w+48>>2]=o;g[w+52>>2]=0.0;n=+C(+(p*p+s*s+o*o));if(n>0.0){g[w+40>>2]=1.0/n*p;g[w+44>>2]=1.0/n*s;g[w+48>>2]=1.0/n*o}else{c[w+40>>2]=1065353216;c[w+44>>2]=0;c[w+48>>2]=0}g[w+52>>2]=0.0;g[w+56>>2]=0.0;c[w+36>>2]=1;c[w+4>>2]=c[t>>2];g[w+20>>2]=1.0;h=w+36|0;v=51}if((v|0)==51){m=0;p=0.0;o=0.0;n=0.0;do{b=c[w+9680+120>>2]|0;P=c[w+9680+124>>2]|0;f=(c[w+9680>>2]|0)+(P>>1)|0;if(P&1)b=c[(c[f>>2]|0)+b>>2]|0;Kb[b&127](w+9808|0,f,c[w+4+(m<<2)>>2]|0);O=+g[w+20+(m<<2)>>2];p=p+ +g[w+9808>>2]*O;n=n+O*+g[w+9808+4>>2];o=o+O*+g[w+9808+8>>2];m=m+1|0}while(m>>>0<(c[h>>2]|0)>>>0)}c[k>>2]=1;O=p*+g[e+16>>2]+n*+g[e+20>>2]+o*+g[e+24>>2]+ +g[e+52>>2];L=p*+g[e+32>>2]+n*+g[e+36>>2]+o*+g[e+40>>2]+ +g[e+56>>2];g[k+4>>2]=p*+g[e>>2]+n*+g[e+4>>2]+o*+g[e+8>>2]+ +g[e+48>>2];g[k+8>>2]=O;g[k+12>>2]=L;g[k+16>>2]=0.0;L=+g[w+40>>2];O=+g[w+56>>2];M=+g[w+44>>2];N=+g[w+48>>2];G=p-L*O;H=n-O*M;I=o-O*N;J=G*+g[e+16>>2]+H*+g[e+20>>2]+I*+g[e+24>>2]+ +g[e+52>>2];K=G*+g[e+32>>2]+H*+g[e+36>>2]+I*+g[e+40>>2]+ +g[e+56>>2];g[k+20>>2]=G*+g[e>>2]+H*+g[e+4>>2]+I*+g[e+8>>2]+ +g[e+48>>2];g[k+24>>2]=J;g[k+28>>2]=K;g[k+32>>2]=0.0;g[k+36>>2]=-L;g[k+40>>2]=-M;g[k+44>>2]=-N;g[k+48>>2]=0.0;g[k+52>>2]=-O;P=1;l=w;return P|0}case 2:{c[k>>2]=2;P=0;l=w;return P|0}default:{P=0;l=w;return P|0}}return 0}function xc(b,d){b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0.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,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;O=l;l=l+192|0;M=c[d+36>>2]|0;n=+g[(+g[M+88>>2]>0.0?b+16|0:b+20|0)>>2];if(a[M+100>>0]&1){l=O;return}K=c[b+8>>2]|0;t=c[K+4>>2]|0;L=c[K+12>>2]|0;G=c[(c[b+4>>2]|0)+684>>2]|0;A=+g[M+8>>2]-+g[L+48>>2];r=+g[M+12>>2]-+g[L+52>>2];B=+g[M+16>>2]-+g[L+56>>2];z=1.0/+g[G+76>>2];y=(A*+g[L>>2]+r*+g[L+16>>2]+B*+g[L+32>>2])*z/3.0;D=y<0.0?~~(1.0-y):0;H=~~((y+ +(D|0)-+(~~(y+ +(D|0))|0))*3.0);o=(y+ +(D|0)-+(~~(y+ +(D|0))|0))*3.0-+(H|0);D=~~(y+ +(D|0))-D|0;y=z*(A*+g[L+4>>2]+r*+g[L+20>>2]+B*+g[L+36>>2])/3.0;F=y<0.0?~~(1.0-y):0;J=~~((y+ +(F|0)-+(~~(y+ +(F|0))|0))*3.0);s=(y+ +(F|0)-+(~~(y+ +(F|0))|0))*3.0-+(J|0);F=~~(y+ +(F|0))-F|0;B=z*(A*+g[L+8>>2]+r*+g[L+24>>2]+B*+g[L+40>>2])/3.0;E=B<0.0?~~(1.0-B):0;I=~~((B+ +(E|0)-+(~~(B+ +(E|0))|0))*3.0);r=(B+ +(E|0)-+(~~(B+ +(E|0))|0))*3.0-+(I|0);E=~~(B+ +(E|0))-E|0;u=(D>>>16<<11^(D&65535)+16^(D&65535)+16<<16)+(F&65535)+((D>>>16<<11^(D&65535)+16^(D&65535)+16<<16)>>>11)|0;u=(u^F>>>16<<11^u<<16)+(E&65535)+((u^F>>>16<<11^u<<16)>>>11)|0;u=(u^E>>>16<<11^u<<16)+(t&65535)+((u^E>>>16<<11^u<<16)>>>11)|0;u=((u^t>>>16<<11^u<<16)>>>11)+(u^t>>>16<<11^u<<16)|0;u=((u<<3^u)>>>5)+(u<<3^u)<<4^((u<<3^u)>>>5)+(u<<3^u);u=(((u>>>17)+u<<25^(u>>>17)+u)>>>6)+((u>>>17)+u<<25^(u>>>17)+u)|0;p=c[G+60>>2]|0;q=c[G+68>>2]|0;d=c[q+(((u>>>0)%(p>>>0)|0)<<2)>>2]|0;c[G+96>>2]=(c[G+96>>2]|0)+1;e=(c[G+92>>2]|0)+1|0;c[G+92>>2]=e;a:do if(!d)f=9;else while(1){if(((((c[d+272>>2]|0)==(u|0)?(c[d+256>>2]|0)==(D|0):0)?(c[d+260>>2]|0)==(F|0):0)?(c[d+264>>2]|0)==(E|0):0)?(c[d+276>>2]|0)==(t|0):0)break a;d=c[d+280>>2]|0;e=e+1|0;c[G+92>>2]=e;if(!d){f=9;break}}while(0);b:do if((f|0)==9){f=c[G+84>>2]|0;c[G+84>>2]=f+1;if((f|0)>=(c[G+88>>2]|0)){c[5826]=(c[5826]|0)+1;c:do if((p|0)>0){e=q;f=0;while(1){e=e+(f<<2)|0;d=c[e>>2]|0;c[e>>2]=0;if(d|0)do{e=d;d=c[d+280>>2]|0;_H(e)}while((d|0)!=0);d=f+1|0;if((d|0)==(p|0))break c;e=c[G+68>>2]|0;f=d}}while(0);g[G+76>>2]=.25;c[G+80>>2]=0;c[G+84>>2]=0;c[G+92>>2]=1;c[G+96>>2]=1}d=Vr(284)|0;Nk(d|0,0,284)|0;c[d+280>>2]=c[q+(((u>>>0)%(p>>>0)|0)<<2)>>2];c[q+(((u>>>0)%(p>>>0)|0)<<2)>>2]=d;c[d+276>>2]=t;c[d+272>>2]=u;c[d+256>>2]=D;c[d+260>>2]=F;c[d+264>>2]=E;k=+g[G+76>>2];q=O+120+4|0;t=O+120+24|0;u=O+120+44|0;h=k;e=0;while(1){j=k*+(E|0)*3.0+ +(e|0)*h;p=0;while(1){i=k*+(F|0)*3.0+ +(p|0)*h;g[O+48>>2]=+(D|0)*3.0*k+h*0.0;g[O+48+4>>2]=i;g[O+48+8>>2]=j;g[O+48+12>>2]=0.0;f=c[d+276>>2]|0;c[O+120>>2]=1065353216;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[O+120+20>>2]=1065353216;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[O+120+40>>2]=1065353216;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;if((c[f+4>>2]|0)<20)h=+Pc(O+48|0,f,O+120|0,O+64|0);else h=0.0;g[d+(p<<4)+(e<<2)>>2]=h;g[O+48>>2]=+(D|0)*3.0*k+ +g[G+76>>2];g[O+48+4>>2]=i;g[O+48+8>>2]=j;g[O+48+12>>2]=0.0;f=c[d+276>>2]|0;c[O+120>>2]=1065353216;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[O+120+20>>2]=1065353216;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[O+120+40>>2]=1065353216;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;if((c[f+4>>2]|0)<20)h=+Pc(O+48|0,f,O+120|0,O+64|0);else h=0.0;g[d+64+(p<<4)+(e<<2)>>2]=h;g[O+48>>2]=+(D|0)*3.0*k+ +g[G+76>>2]*2.0;g[O+48+4>>2]=i;g[O+48+8>>2]=j;g[O+48+12>>2]=0.0;f=c[d+276>>2]|0;c[O+120>>2]=1065353216;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[O+120+20>>2]=1065353216;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[O+120+40>>2]=1065353216;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;if((c[f+4>>2]|0)<20)h=+Pc(O+48|0,f,O+120|0,O+64|0);else h=0.0;g[d+128+(p<<4)+(e<<2)>>2]=h;g[O+48>>2]=+(D|0)*3.0*k+ +g[G+76>>2]*3.0;g[O+48+4>>2]=i;g[O+48+8>>2]=j;g[O+48+12>>2]=0.0;f=c[d+276>>2]|0;c[O+120>>2]=1065353216;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[O+120+20>>2]=1065353216;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[O+120+40>>2]=1065353216;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;if((c[f+4>>2]|0)<20)h=+Pc(O+48|0,f,O+120|0,O+64|0);else h=0.0;g[d+192+(p<<4)+(e<<2)>>2]=h;f=p+1|0;if((f|0)==4)break;h=+g[G+76>>2];p=f}e=e+1|0;if((e|0)==4)break b;h=+g[G+76>>2]}}while(0);c[d+268>>2]=c[G+80>>2];h=+g[d+(H<<6)+(J<<4)+(I<<2)>>2];x=+g[d+(H+1<<6)+(J<<4)+(I<<2)>>2];v=+g[d+(H+1<<6)+(J+1<<4)+(I<<2)>>2];w=+g[d+(H<<6)+(J+1<<4)+(I<<2)>>2];B=+g[d+(H<<6)+(J<<4)+(I+1<<2)>>2];A=+g[d+(H+1<<6)+(J<<4)+(I+1<<2)>>2];y=+g[d+(H+1<<6)+(J+1<<4)+(I+1<<2)>>2];z=+g[d+(H<<6)+(J+1<<4)+(I+1<<2)>>2];k=x-h+s*(v-w-(x-h))+r*(A-B+s*(y-z-(A-B))-(x-h+s*(v-w-(x-h))));j=w-h+o*(v-x-(w-h))+r*(z-B+o*(y-A-(z-B))-(w-h+o*(v-x-(w-h))));i=B-h+o*(A-x-(B-h))+s*(z-w+o*(y-v-(z-w))-(B-h+o*(A-x-(B-h))));m=1.0/+C(+(k*k+j*j+i*i));h=h+o*(x-h)+s*(w+o*(v-w)-(h+o*(x-h)));h=h+r*(B+o*(A-B)+s*(z+o*(y-z)-(B+o*(A-B)))-h)-n;if(!(h<0.0)){l=O;return}t=c[K+8>>2]|0;B=+g[L>>2]*k*m+ +g[L+4>>2]*j*m+ +g[L+8>>2]*i*m;A=k*m*+g[L+16>>2]+j*m*+g[L+20>>2]+i*m*+g[L+24>>2];z=k*m*+g[L+32>>2]+j*m*+g[L+36>>2]+i*m*+g[L+40>>2];y=-(B*(+g[M+8>>2]-h*B)+A*(+g[M+12>>2]-h*A)+z*(+g[M+16>>2]-h*z));s=+g[M+88>>2];d=c[b+12>>2]|0;if(!d)r=0.0;else r=+g[d+344>>2];if(!(s+r>0.0)){l=O;return}if(!d)d=c[(c[b+8>>2]|0)+8>>2]|0;if((a[22736]|0)==0?Yy(22736)|0:0){e=23308;f=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0))}e=c[b+12>>2]|0;m=+g[M+8>>2];w=m-+g[d+52>>2];n=+g[M+12>>2];x=n-+g[d+56>>2];o=+g[M+16>>2];v=o-+g[d+60>>2];if(!e){L=c[b+4>>2]|0;d=L;h=+g[L+452>>2];i=0.0;j=0.0;k=0.0}else{P=+g[e+332>>2];j=+g[e+336>>2];Q=+g[e+328>>2];d=c[b+4>>2]|0;k=+g[d+452>>2];h=k;i=(P*v-j*x+ +g[e+312>>2])*k;j=(+g[e+316>>2]+(j*w-v*Q))*k;k=(x*Q-P*w+ +g[e+320>>2])*k}m=m-+g[M+24>>2]-i;n=n-+g[M+28>>2]-j;P=o-+g[M+32>>2]-k;Q=+g[d+316>>2]*+g[(c[(c[b+8>>2]|0)+8>>2]|0)+224>>2];Df(O+120|0,h,s,r,(e|0)==0?23308:e+264|0,w,x,v);c[O+32>>2]=c[O+120>>2];c[O+32+4>>2]=c[O+120+4>>2];c[O+32+8>>2]=c[O+120+8>>2];c[O+32+12>>2]=c[O+120+12>>2];c[O+16>>2]=c[O+120+16>>2];c[O+16+4>>2]=c[O+120+16+4>>2];c[O+16+8>>2]=c[O+120+16+8>>2];c[O+16+12>>2]=c[O+120+16+12>>2];c[O>>2]=c[O+120+32>>2];c[O+4>>2]=c[O+120+32+4>>2];c[O+8>>2]=c[O+120+32+8>>2];c[O+12>>2]=c[O+120+32+12>>2];q=c[b+4>>2]|0;i=s*+g[q+452>>2];h=(P-z*(m*B+n*A+P*z))*(P-z*(m*B+n*A+P*z))+((m-B*(m*B+n*A+P*z))*(m-B*(m*B+n*A+P*z))+(n-A*(m*B+n*A+P*z))*(n-A*(m*B+n*A+P*z)))>2]|0)+8>>2]|0)+204>>2]&3|0?q+328|0:q+324|0)>>2]|0;d=c[q+812>>2]|0;if((d|0)==(c[q+816>>2]|0)?(N=d|0?d<<1:1,(d|0)<(N|0)):0){if(!N)e=0;else{c[6472]=(c[6472]|0)+1;d=ic((N*104|3)+16|0)|0;if(!d)e=0;else{c[(d+4+15&-16)+-4>>2]=d;e=d+4+15&-16}d=c[q+812>>2]|0}if((d|0)>0){f=0;do{L=e+(f*104|0)|0;K=c[q+820>>2]|0;J=K+(f*104|0)|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[L+16>>2]=c[J+16>>2];c[L+20>>2]=c[J+20>>2];c[L+24>>2]=c[J+24>>2];L=e+(f*104|0)+28|0;J=K+(f*104|0)+28|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];L=e+(f*104|0)+44|0;J=K+(f*104|0)+44|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];L=e+(f*104|0)+60|0;J=K+(f*104|0)+60|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];L=e+(f*104|0)+76|0;K=K+(f*104|0)+76|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];c[L+16>>2]=c[K+16>>2];c[L+20>>2]=c[K+20>>2];c[L+24>>2]=c[K+24>>2];f=f+1|0}while((f|0)!=(d|0))}d=c[q+820>>2]|0;if(d|0){if(a[q+824>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[q+820>>2]=0}a[q+824>>0]=1;c[q+820>>2]=e;c[q+816>>2]=N;d=c[q+812>>2]|0}L=c[q+820>>2]|0;c[L+(d*104|0)>>2]=t;g[L+(d*104|0)+4>>2]=B;g[L+(d*104|0)+8>>2]=A;g[L+(d*104|0)+12>>2]=z;g[L+(d*104|0)+16>>2]=0.0;g[L+(d*104|0)+20>>2]=y;c[L+(d*104|0)+24>>2]=M;N=L+(d*104|0)+28|0;c[N>>2]=c[O+32>>2];c[N+4>>2]=c[O+32+4>>2];c[N+8>>2]=c[O+32+8>>2];c[N+12>>2]=c[O+32+12>>2];N=L+(d*104|0)+44|0;c[N>>2]=c[O+16>>2];c[N+4>>2]=c[O+16+4>>2];c[N+8>>2]=c[O+16+8>>2];c[N+12>>2]=c[O+16+12>>2];N=L+(d*104|0)+60|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];N=L+(d*104|0)+76|0;g[N>>2]=w;g[L+(d*104|0)+80>>2]=x;g[L+(d*104|0)+84>>2]=v;g[L+(d*104|0)+88>>2]=0.0;g[N+16>>2]=i;g[N+20>>2]=h;c[N+24>>2]=p;c[q+812>>2]=(c[q+812>>2]|0)+1;d=c[b+12>>2]|0;if(!d){l=O;return}if(c[d+204>>2]&3|0){l=O;return}if((c[d+216>>2]&-2|0)!=4)c[d+216>>2]=1;g[d+220>>2]=0.0;l=O;return}function yc(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+16|0;bj(12254);j=c[b+212>>2]|0;i=c[b+180>>2]|0;if((i|0)<(j|0)){if((c[b+184>>2]|0)<(j|0)){if(!j){f=i;h=0}else{c[6472]=(c[6472]|0)+1;e=ic((j<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[b+180>>2]|0;h=e}if((f|0)>0){e=0;do{c[h+(e<<2)>>2]=c[(c[b+188>>2]|0)+(e<<2)>>2];e=e+1|0}while((e|0)!=(f|0))}e=c[b+188>>2]|0;if(e|0){if(a[b+192>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[e+-4>>2]|0)}c[b+188>>2]=0}a[b+192>>0]=1;c[b+188>>2]=h;c[b+184>>2]=j;f=b+188|0}else f=b+188|0;e=i;do{c[(c[f>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=(j|0))}else f=b+188|0;c[b+180>>2]=j;e=0;while(1){if((e|0)>=(qb[c[(c[b>>2]|0)+104>>2]&127](b)|0))break;c[(c[f>>2]|0)+(e<<2)>>2]=c[(c[b+220>>2]|0)+(e<<2)>>2];e=e+1|0}e=c[b+180>>2]|0;if((e|0)>1)Pg(b+176|0,0,e+-1|0);if(!(qb[c[(c[b>>2]|0)+104>>2]&127](b)|0))e=0;else e=c[f>>2]|0;h=c[b+196>>2]|0;t=c[b+180>>2]|0;u=qb[c[(c[b>>2]|0)+20>>2]&127](b)|0;c[h+4>>2]=d;c[h+12>>2]=e;c[h+16>>2]=t;c[h+20>>2]=u;e=c[h+32>>2]|0;if((e|0)<0){if((c[h+36>>2]|0)<0){f=c[h+40>>2]|0;if(f|0){if(a[h+44>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0)}c[h+40>>2]=0}a[h+44>>0]=1;c[h+40>>2]=0;c[h+36>>2]=0}do{c[(c[h+40>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=0)}c[h+32>>2]=0;e=c[h+52>>2]|0;if((e|0)<0){if((c[h+56>>2]|0)<0){f=c[h+60>>2]|0;if(f|0){if(a[h+64>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0)}c[h+60>>2]=0}a[h+64>>0]=1;c[h+60>>2]=0;c[h+56>>2]=0}do{c[(c[h+60>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=0)}c[h+52>>2]=0;e=c[h+72>>2]|0;if((e|0)<0){if((c[h+76>>2]|0)<0){f=c[h+80>>2]|0;if(f|0){if(a[h+84>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0)}c[h+80>>2]=0}a[h+84>>0]=1;c[h+80>>2]=0;c[h+76>>2]=0}do{c[(c[h+80>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=0)}c[h+72>>2]=0;u=c[b+200>>2]|0;e=c[(c[u>>2]|0)+8>>2]|0;s=c[b+8>>2]|0;t=c[b+24>>2]|0;t=qb[c[(c[t>>2]|0)+36>>2]&127](t)|0;Kb[e&127](u,s,t);t=c[b+204>>2]|0;s=c[b+24>>2]|0;u=c[b+196>>2]|0;bj(14086);e=c[t+28>>2]|0;if((e|0)<0){if((c[t+32>>2]|0)<0){f=c[t+36>>2]|0;if(f|0){if(a[t+40>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0)}c[t+36>>2]=0}a[t+40>>0]=1;c[t+36>>2]=0;c[t+32>>2]=0}do{c[(c[t+36>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=0)}c[t+28>>2]=0;i=c[t+8>>2]|0;if((i|0)>0){j=c[t+16>>2]|0;k=0;do{m=j+(k<<3)|0;e=c[m>>2]|0;if((e|0)==(k|0))e=k;else{h=m;do{f=j+(e<<3)|0;c[h>>2]=c[f>>2];f=c[f>>2]|0;h=j+(f<<3)|0;e=c[h>>2]|0}while((f|0)!=(e|0));e=f}c[m>>2]=e;k=k+1|0}while((k|0)!=(i|0));if((i|0)>1){ej(t+4|0,0,i+-1|0);i=c[t+8>>2]|0}if((i|0)>0){k=c[t+16>>2]|0;f=0;while(1){m=c[k+(f<<3)>>2]|0;q=f;while(1){p=q+1|0;if((p|0)>=(i|0)){o=0;break}if((c[k+(p<<3)>>2]|0)==(m|0))q=p;else{o=1;break}}a:do if((f|0)<=(q|0)){n=c[b+16>>2]|0;e=1;j=f;while(1){h=c[n+(c[k+(j<<3)+4>>2]<<2)>>2]|0;if((c[h+208>>2]|0)==(m|0)){h=c[h+216>>2]|0;e=(h|0)!=4&(e&(h|0)!=1)}if((j|0)<(q|0))j=j+1|0;else break}if(e)while(1){e=c[n+(c[k+(f<<3)+4>>2]<<2)>>2]|0;if((c[e+208>>2]|0)==(m|0)?(c[e+216>>2]&-2|0)!=4:0)c[e+216>>2]=2;if((f|0)>=(q|0))break a;f=f+1|0}else while(1){e=c[n+(c[k+(f<<3)+4>>2]<<2)>>2]|0;if((c[e+208>>2]|0)==(m|0)?(c[e+216>>2]|0)==2:0){c[e+216>>2]=3;g[e+220>>2]=0.0}if((f|0)>=(q|0))break a;f=f+1|0}}while(0);if(o)f=p;else break}}}i=qb[c[(c[s>>2]|0)+36>>2]&127](s)|0;if((i|0)>0){k=0;do{j=sb[c[(c[s>>2]|0)+40>>2]&31](s,k)|0;f=c[j+740>>2]|0;h=c[j+744>>2]|0;if((f|0)!=0?(c[f+216>>2]|0)!=2:0)e=93;else e=91;if(((e|0)==91?(e=0,h|0):0)?(c[h+216>>2]|0)!=2:0)e=93;if((e|0)==93){e=c[f+204>>2]|0;if((e&2|0?((e&4|0)==0?(c[f+216>>2]|0)!=2:0):0)?(c[h+204>>2]&3|0)==0:0){if((c[h+216>>2]&-2|0)!=4)c[h+216>>2]=1;g[h+220>>2]=0.0}q=c[h+204>>2]|0;if(q&2|0?((q&4|e&3|0)==0?(c[h+216>>2]|0)!=2:0):0){if((c[f+216>>2]&-2|0)!=4)c[f+216>>2]=1;g[f+220>>2]=0.0}if(a[t+64>>0]|0?ub[c[(c[s>>2]|0)+28>>2]&63](s,f,h)|0:0){e=c[t+28>>2]|0;if((e|0)==(c[t+32>>2]|0)?(r=e|0?e<<1:1,(e|0)<(r|0)):0){if(!r)f=0;else{c[6472]=(c[6472]|0)+1;e=ic((r<<2|3)+16|0)|0;if(!e)f=0;else{c[(e+4+15&-16)+-4>>2]=e;f=e+4+15&-16}e=c[t+28>>2]|0}if((e|0)>0){h=0;do{c[f+(h<<2)>>2]=c[(c[t+36>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(e|0))}h=c[t+36>>2]|0;if(h){if(a[t+40>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[h+-4>>2]|0);e=c[t+28>>2]|0}c[t+36>>2]=0}a[t+40>>0]=1;c[t+36>>2]=f;c[t+32>>2]=r}c[(c[t+36>>2]|0)+(e<<2)>>2]=j;c[t+28>>2]=e+1}}k=k+1|0}while((k|0)<(i|0))}e=c[2405]|0;r=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=r;do if(!r){if(c[e+4>>2]|0){Za(v|0,0)|0;r=c[6471]|0;g[e+8>>2]=+g[e+8>>2]+ +(((c[v+4>>2]|0)-(c[r+4>>2]|0)+(((c[v>>2]|0)-(c[r>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3;if(c[e+16>>2]|0)break;e=c[2405]|0}c[2405]=c[e+20>>2]}while(0);r=c[t+8>>2]|0;bj(14114);if(a[t+64>>0]|0){p=c[t+28>>2]|0;if((p|0)>1)Mg(t+24|0,0,p+-1|0);if((r|0)>0){n=1;f=0;q=0;while(1){e=c[t+16>>2]|0;o=c[e+(f<<3)>>2]|0;b:do if((f|0)<(r|0)){j=c[t+48>>2]|0;i=c[t+52>>2]|0;m=1;while(1){k=c[(c[b+16>>2]|0)+(c[e+(f<<3)+4>>2]<<2)>>2]|0;do if((j|0)==(i|0)){j=i|0?i<<1:1;if((i|0)>=(j|0)){e=i;break}if(!j){e=i;h=0}else{c[6472]=(c[6472]|0)+1;e=ic((j<<2|3)+16|0)|0;if(!e)h=0;else{c[(e+4+15&-16)+-4>>2]=e;h=e+4+15&-16}e=c[t+48>>2]|0}if((e|0)>0){i=0;do{c[h+(i<<2)>>2]=c[(c[t+56>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(e|0))}i=c[t+56>>2]|0;if(i){if(a[t+60>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0);e=c[t+48>>2]|0}c[t+56>>2]=0}a[t+60>>0]=1;c[t+56>>2]=h;c[t+52>>2]=j;i=j}else e=j;while(0);c[(c[t+56>>2]|0)+(e<<2)>>2]=k;j=e+1|0;c[t+48>>2]=j;h=c[k+216>>2]|0;h=m&((h|0)==2|(h|0)==5);f=f+1|0;if((f|0)>=(r|0)){m=f;k=h;break b}e=c[t+16>>2]|0;if((c[e+(f<<3)>>2]|0)!=(o|0)){m=f;k=h;break}else m=h}}else{m=f;k=1}while(0);if((q|0)<(p|0)){j=c[t+36>>2]|0;e=j+(q<<2)|0;h=c[e>>2]|0;f=c[(c[h+740>>2]|0)+208>>2]|0;if((f|0)<=-1)f=c[(c[h+744>>2]|0)+208>>2]|0;if((f|0)==(o|0)){i=q;do{i=i+1|0;if((i|0)>=(p|0))break;h=c[j+(i<<2)>>2]|0;f=c[(c[h+740>>2]|0)+208>>2]|0;if((f|0)<=-1)f=c[(c[h+744>>2]|0)+208>>2]|0}while((o|0)==(f|0));h=i;f=i-q|0}else{h=n;f=0;e=0}}else{h=n;f=0;e=0}if(!k)Tb[c[(c[u>>2]|0)+8>>2]&7](u,c[t+56>>2]|0,c[t+48>>2]|0,e,f,o);q=(f|0)==0?q:h;e=c[t+48>>2]|0;if((e|0)<0){if((c[t+52>>2]|0)<0){f=c[t+56>>2]|0;if(f|0){if(a[t+60>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0)}c[t+56>>2]=0}a[t+60>>0]=1;c[t+56>>2]=0;c[t+52>>2]=0}do{c[(c[t+56>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=0)}c[t+48>>2]=0;if((m|0)>=(r|0))break;else{n=h;f=m}}}}else{r=qb[c[(c[s>>2]|0)+44>>2]&127](s)|0;t=qb[c[(c[s>>2]|0)+36>>2]&127](s)|0;Tb[c[(c[u>>2]|0)+8>>2]&7](u,c[b+16>>2]|0,c[b+8>>2]|0,r,t,-1)}e=c[2405]|0;u=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=u;do if(!u){if(c[e+4>>2]|0){Za(v|0,0)|0;u=c[6471]|0;g[e+8>>2]=+g[e+8>>2]+ +(((c[v+4>>2]|0)-(c[u+4>>2]|0)+(((c[v>>2]|0)-(c[u>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3;if(c[e+16>>2]|0)break;e=c[2405]|0}c[2405]=c[e+20>>2]}while(0);Xg(c[b+196>>2]|0);e=c[b+200>>2]|0;Kb[c[(c[e>>2]|0)+16>>2]&127](e,d,c[b+72>>2]|0);e=c[2405]|0;b=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=b;if(b|0){l=v;return}do if(c[e+4>>2]|0){Za(v|0,0)|0;b=c[6471]|0;g[e+8>>2]=+g[e+8>>2]+ +(((c[v+4>>2]|0)-(c[b+4>>2]|0)+(((c[v>>2]|0)-(c[b>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[e+16>>2]|0)){e=c[2405]|0;break}else{l=v;return}}while(0);c[2405]=c[e+20>>2];l=v;return}function zc(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,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,D=0.0,E=0.0,F=0.0,G=0.0,H=0,I=0;s=l;l=l+144|0;n=c[b+48>>2]|0;h=c[b+52>>2]|0;if((h|0?(j=c[h+20>>2]|0,j|0):0)?(qb[c[(c[j>>2]|0)+48>>2]&127](j)|0)&1|0:0){c[s+48>>2]=1065353216;c[s+48+4>>2]=1065353216;c[s+48+8>>2]=0;g[s+48+12>>2]=0.0;k=c[b+8>>2]|0;r=c[(c[b+52>>2]|0)+20>>2]|0;q=c[(c[r>>2]|0)+8>>2]|0;y=+g[d>>2];F=+g[d+4>>2];B=+g[d+8>>2];w=+g[k+20>>2];t=+g[k+24>>2];x=+g[k+28>>2];u=+g[k+36>>2];A=+g[k+40>>2];D=+g[k+44>>2];v=+g[k+52>>2];E=+g[k+56>>2];z=+g[k+60>>2];g[s+24>>2]=y*+g[k+4>>2]+F*+g[k+8>>2]+B*+g[k+12>>2]+v;g[s+24+4>>2]=y*w+F*t+B*x+E;g[s+24+8>>2]=y*u+F*A+B*D+z;g[s+24+12>>2]=0.0;B=+g[d+16>>2];F=+g[d+20>>2];y=+g[d+24>>2];g[s>>2]=B*+g[k+4>>2]+F*+g[k+8>>2]+y*+g[k+12>>2]+v;g[s+4>>2]=B*w+F*t+y*x+E;g[s+8>>2]=B*u+F*A+y*D+z;g[s+12>>2]=0.0;Nb[q&127](r,s+24|0,s,s+48|0);r=c[(c[b+52>>2]|0)+20>>2]|0;q=c[(c[r>>2]|0)+8>>2]|0;z=+g[d+16>>2];D=+g[d+20>>2];y=+g[d+24>>2];A=+g[k+20>>2];F=+g[k+24>>2];u=+g[k+28>>2];B=+g[k+36>>2];E=+g[k+40>>2];x=+g[k+44>>2];t=+g[k+52>>2];w=+g[k+56>>2];v=+g[k+60>>2];g[s+24>>2]=z*+g[k+4>>2]+D*+g[k+8>>2]+y*+g[k+12>>2]+t;g[s+24+4>>2]=z*A+D*F+y*u+w;g[s+24+8>>2]=z*B+D*E+y*x+v;g[s+24+12>>2]=0.0;y=+g[d+32>>2];D=+g[d+36>>2];z=+g[d+40>>2];g[s>>2]=y*+g[k+4>>2]+D*+g[k+8>>2]+z*+g[k+12>>2]+t;g[s+4>>2]=y*A+D*F+z*u+w;g[s+8>>2]=y*B+D*E+z*x+v;g[s+12>>2]=0.0;Nb[q&127](r,s+24|0,s,s+48|0);r=c[(c[b+52>>2]|0)+20>>2]|0;q=c[(c[r>>2]|0)+8>>2]|0;v=+g[d+32>>2];x=+g[d+36>>2];z=+g[d+40>>2];E=+g[k+20>>2];D=+g[k+24>>2];B=+g[k+28>>2];y=+g[k+36>>2];w=+g[k+40>>2];u=+g[k+44>>2];F=+g[k+52>>2];A=+g[k+56>>2];t=+g[k+60>>2];g[s+24>>2]=v*+g[k+4>>2]+x*+g[k+8>>2]+z*+g[k+12>>2]+F;g[s+24+4>>2]=v*E+x*D+z*B+A;g[s+24+8>>2]=v*y+x*w+z*u+t;g[s+24+12>>2]=0.0;z=+g[d>>2];x=+g[d+4>>2];v=+g[d+8>>2];g[s>>2]=z*+g[k+4>>2]+x*+g[k+8>>2]+v*+g[k+12>>2]+F;g[s+4>>2]=z*E+x*D+v*B+A;g[s+8>>2]=z*y+x*w+v*u+t;g[s+12>>2]=0.0;Nb[q&127](r,s+24|0,s,s+48|0)}h=((e<<21|f)+~(f<<15)>>10^(e<<21|f)+~(f<<15))*9|0;h=(c[b+108>>2]|0)+-1&((h>>6^h)+~((h>>6^h)<<11)>>16^(h>>6^h)+~((h>>6^h)<<11));a:do if(h>>>0<(c[b+64>>2]|0)>>>0?(m=c[(c[b+72>>2]|0)+(h<<2)>>2]|0,(m|0)!=-1):0){k=c[b+132>>2]|0;j=m;while(1){if((e<<21|f|0)==(c[k+(j<<2)>>2]|0))break;h=c[(c[b+92>>2]|0)+(j<<2)>>2]|0;if((h|0)==-1)break a;else j=h}h=c[b+112>>2]|0;if(h+(j<<3)|0){q=c[h+(j<<3)+4>>2]|0;r=c[b+8>>2]|0;c[q+8>>2]=c[(c[r+192>>2]|0)+8>>2];p=c[b+4>>2]|0;o=c[p+192>>2]|0;c[s+48>>2]=0;c[s+48+4>>2]=o;c[s+48+8>>2]=p;c[s+48+12>>2]=p+4;c[s+48+16>>2]=-1;c[s+48+20>>2]=-1;c[s+24>>2]=0;c[s+24+4>>2]=q;c[s+24+8>>2]=r;c[s+24+12>>2]=r+4;c[s+24+16>>2]=e;c[s+24+20>>2]=f;r=vb[c[(c[n>>2]|0)+8>>2]&31](n,s+48|0,s+24|0,0)|0;Rb[c[(c[r>>2]|0)+8>>2]&31](r,s+48|0,s+24|0,c[b+52>>2]|0,c[b+44>>2]|0);Ab[c[c[r>>2]>>2]&511](r);Gb[c[(c[n>>2]|0)+60>>2]&127](n,r);l=s;return}}while(0);v=+g[d+16>>2];G=+g[d>>2];w=+g[d+20>>2];t=+g[d+4>>2];x=+g[d+24>>2];u=+g[d+8>>2];y=+g[d+32>>2];A=+g[d+36>>2];D=+g[d+40>>2];z=(w-t)*(D-u)-(x-u)*(A-t);B=(x-u)*(y-G)-(v-G)*(D-u);F=(v-G)*(A-t)-(w-t)*(y-G);E=1.0/+C(+(F*F+(z*z+B*B)));g[s+48>>2]=G+E*z*.05999999865889549;g[s+48+4>>2]=t+E*B*.05999999865889549;g[s+48+8>>2]=E*F*.05999999865889549+u;g[s+48+12>>2]=0.0;g[s+48+16>>2]=E*z*.05999999865889549+v;g[s+48+20>>2]=E*B*.05999999865889549+w;g[s+48+24>>2]=E*F*.05999999865889549+x;g[s+48+28>>2]=0.0;g[s+48+32>>2]=E*z*.05999999865889549+y;g[s+48+36>>2]=E*B*.05999999865889549+A;g[s+48+40>>2]=E*F*.05999999865889549+D;g[s+48+44>>2]=0.0;g[s+48+48>>2]=G-E*z*.05999999865889549;g[s+48+52>>2]=t-E*B*.05999999865889549;g[s+48+56>>2]=u-E*F*.05999999865889549;g[s+48+60>>2]=0.0;g[s+48+64>>2]=v-E*z*.05999999865889549;g[s+48+68>>2]=w-E*B*.05999999865889549;g[s+48+72>>2]=x-E*F*.05999999865889549;g[s+48+76>>2]=0.0;g[s+48+80>>2]=y-E*z*.05999999865889549;g[s+48+84>>2]=A-E*B*.05999999865889549;g[s+48+88>>2]=D-E*F*.05999999865889549;g[s+48+92>>2]=0.0;c[6472]=(c[6472]|0)+1;h=ic(131)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}$f(h,s+48|0,6,16);r=c[b+8>>2]|0;c[h+8>>2]=c[(c[r+192>>2]|0)+8>>2];d=c[b+4>>2]|0;q=c[d+192>>2]|0;c[s+24>>2]=0;c[s+24+4>>2]=q;c[s+24+8>>2]=d;c[s+24+12>>2]=d+4;c[s+24+16>>2]=-1;c[s+24+20>>2]=-1;c[s>>2]=0;c[s+4>>2]=h;c[s+8>>2]=r;c[s+12>>2]=r+4;c[s+16>>2]=e;c[s+20>>2]=f;r=vb[c[(c[n>>2]|0)+8>>2]&31](n,s+24|0,s,0)|0;Rb[c[(c[r>>2]|0)+8>>2]&31](r,s+24|0,s,c[b+52>>2]|0,c[b+44>>2]|0);Ab[c[c[r>>2]>>2]&511](r);Gb[c[(c[n>>2]|0)+60>>2]&127](n,r);r=((e<<21|f)+~(f<<15)>>10^(e<<21|f)+~(f<<15))*9|0;r=(r>>6^r)+~((r>>6^r)<<11)>>16^(r>>6^r)+~((r>>6^r)<<11);d=c[b+108>>2]|0;b:do if((r&d+-1)>>>0<(c[b+64>>2]|0)>>>0?(i=c[(c[b+72>>2]|0)+((r&d+-1)<<2)>>2]|0,(i|0)!=-1):0){j=c[b+132>>2]|0;while(1){if((e<<21|f|0)==(c[j+(i<<2)>>2]|0))break;i=c[(c[b+92>>2]|0)+(i<<2)>>2]|0;if((i|0)==-1){o=20;break b}}b=c[b+112>>2]|0;c[b+(i<<3)>>2]=e<<21|f;c[b+(i<<3)+4>>2]=h}else o=20;while(0);if((o|0)==20){q=c[b+104>>2]|0;if((q|0)==(d|0)){m=d|0?d<<1:1;if((d|0)<(m|0)){if(!m){j=d;k=0}else{c[6472]=(c[6472]|0)+1;i=ic((m<<3|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}j=c[b+104>>2]|0;k=i}if((j|0)>0){i=0;do{I=(c[b+112>>2]|0)+(i<<3)|0;H=c[I+4>>2]|0;n=k+(i<<3)|0;c[n>>2]=c[I>>2];c[n+4>>2]=H;i=i+1|0}while((i|0)!=(j|0))}i=c[b+112>>2]|0;if(i|0){if(a[b+116>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0)}c[b+112>>2]=0}a[b+116>>0]=1;c[b+112>>2]=k;c[b+108>>2]=m;i=c[b+104>>2]|0}else i=d}else i=q;I=c[b+112>>2]|0;c[I+(i<<3)>>2]=e<<21|f;c[I+(i<<3)+4>>2]=h;c[b+104>>2]=(c[b+104>>2]|0)+1;h=c[b+124>>2]|0;if((h|0)==(c[b+128>>2]|0)?(p=h|0?h<<1:1,(h|0)<(p|0)):0){if(!p)i=0;else{c[6472]=(c[6472]|0)+1;h=ic((p<<2|3)+16|0)|0;if(!h)i=0;else{c[(h+4+15&-16)+-4>>2]=h;i=h+4+15&-16}h=c[b+124>>2]|0}k=c[b+132>>2]|0;if((h|0)<=0)if(!k)h=b+136|0;else o=43;else{j=0;do{c[i+(j<<2)>>2]=c[k+(j<<2)>>2];j=j+1|0}while((j|0)!=(h|0));o=43}if((o|0)==43){if(a[b+136>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[k+-4>>2]|0)}c[b+132>>2]=0;h=b+136|0}a[h>>0]=1;c[b+132>>2]=i;c[b+128>>2]=p;h=c[b+124>>2]|0}c[(c[b+132>>2]|0)+(h<<2)>>2]=e<<21|f;c[b+124>>2]=(c[b+124>>2]|0)+1;n=c[b+108>>2]|0;if((d|0)<(n|0)){o=c[b+64>>2]|0;if((o|0)<(n|0)){do if((c[b+68>>2]|0)<(n|0)){if(!n){k=o;h=0}else{c[6472]=(c[6472]|0)+1;h=ic((n<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}k=c[b+64>>2]|0}i=c[b+72>>2]|0;if((k|0)<=0){if(!i){a[b+76>>0]=1;c[b+72>>2]=h;c[b+68>>2]=n;d=b+72|0;break}}else{j=0;do{c[h+(j<<2)>>2]=c[i+(j<<2)>>2];j=j+1|0}while((j|0)!=(k|0))}if(a[b+76>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0)}a[b+76>>0]=1;c[b+72>>2]=h;c[b+68>>2]=n;d=b+72|0}else{h=c[b+72>>2]|0;d=b+72|0}while(0);Nk(h+(o<<2)|0,0,(n<<2)-(o<<2)|0)|0;c[b+64>>2]=n;m=c[b+84>>2]|0;if((m|0)<(n|0)){do if((c[b+88>>2]|0)<(n|0)){if(!n){k=m;h=0}else{c[6472]=(c[6472]|0)+1;h=ic((n<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}k=c[b+84>>2]|0}i=c[b+92>>2]|0;if((k|0)<=0){if(!i){a[b+96>>0]=1;c[b+92>>2]=h;c[b+88>>2]=n;break}}else{j=0;do{c[h+(j<<2)>>2]=c[i+(j<<2)>>2];j=j+1|0}while((j|0)!=(k|0))}if(a[b+96>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0)}a[b+96>>0]=1;c[b+92>>2]=h;c[b+88>>2]=n}else h=c[b+92>>2]|0;while(0);Nk(h+(m<<2)|0,0,(n<<2)-(m<<2)|0)|0}c[b+84>>2]=n;if((n|0)>0){Nk(c[d>>2]|0,-1,n<<2|0)|0;Nk(c[b+92>>2]|0,-1,n<<2|0)|0}if((o|0)>0){k=c[b+132>>2]|0;h=c[d>>2]|0;i=c[b+92>>2]|0;j=0;do{I=c[k+(j<<2)>>2]|0;I=(I+~(I<<15)>>10^I+~(I<<15))*9|0;I=h+((((I>>6^I)+~((I>>6^I)<<11)>>16^(I>>6^I)+~((I>>6^I)<<11))&(c[b+108>>2]|0)+-1)<<2)|0;c[i+(j<<2)>>2]=c[I>>2];c[I>>2]=j;j=j+1|0}while((j|0)!=(o|0))}}h=r&(c[b+108>>2]|0)+-1}else h=r&d+-1;I=(c[b+72>>2]|0)+(h<<2)|0;c[(c[b+92>>2]|0)+(q<<2)>>2]=c[I>>2];c[I>>2]=q}l=s;return}function Ac(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,k=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0.0,v=0,w=0.0,x=0,y=0,z=0.0,A=0,B=0,D=0.0,E=0.0,F=0.0,G=0.0;B=l;l=l+176|0;c[a+348>>2]=a+220;c[a+352>>2]=a+252;c[a+356>>2]=a+284;c[a+360>>2]=a+316;c[a+364>>2]=4;c[a+368>>2]=0;c[a+376>>2]=0;y=c[b+4>>2]|0;c[a>>2]=c[b>>2];c[a+4>>2]=y;c[a+8>>2]=c[b+8>>2];c[a+8+4>>2]=c[b+8+4>>2];c[a+8+8>>2]=c[b+8+8>>2];c[a+8+12>>2]=c[b+8+12>>2];c[a+24>>2]=c[b+24>>2];c[a+24+4>>2]=c[b+24+4>>2];c[a+24+8>>2]=c[b+24+8>>2];c[a+24+12>>2]=c[b+24+12>>2];c[a+40>>2]=c[b+40>>2];c[a+40+4>>2]=c[b+40+4>>2];c[a+40+8>>2]=c[b+40+8>>2];c[a+40+12>>2]=c[b+40+12>>2];c[a+56>>2]=c[b+56>>2];c[a+56+4>>2]=c[b+56+4>>2];c[a+56+8>>2]=c[b+56+8>>2];c[a+56+12>>2]=c[b+56+12>>2];c[a+72>>2]=c[b+72>>2];c[a+72+4>>2]=c[b+72+4>>2];c[a+72+8>>2]=c[b+72+8>>2];c[a+72+12>>2]=c[b+72+12>>2];c[a+88>>2]=c[b+88>>2];c[a+88+4>>2]=c[b+88+4>>2];c[a+88+8>>2]=c[b+88+8>>2];c[a+88+12>>2]=c[b+88+12>>2];c[a+104>>2]=c[b+104>>2];c[a+104+4>>2]=c[b+104+4>>2];c[a+104+8>>2]=c[b+104+8>>2];c[a+104+12>>2]=c[b+104+12>>2];y=c[b+124>>2]|0;c[a+120>>2]=c[b+120>>2];c[a+124>>2]=y;g[a+144>>2]=0.0;c[a+180>>2]=0;c[a+128>>2]=c[d>>2];c[a+128+4>>2]=c[d+4>>2];c[a+128+8>>2]=c[d+8>>2];c[a+128+12>>2]=c[d+12>>2];e=+g[a+128>>2];f=+g[a+132>>2];h=+g[a+136>>2];if(e*e+f*f+h*h>0.0){g[a+164>>2]=0.0;c[a+364>>2]=3;c[a+148>>2]=a+316;c[a+180>>2]=1;uh(a,-e,-f,-h,a+316|0);d=a+164|0;b=a+148|0}else{g[a+164>>2]=0.0;c[a+364>>2]=3;c[a+148>>2]=a+316;c[a+180>>2]=1;uh(a,1.0,0.0,0.0,a+316|0);d=a+164|0;b=a+148|0}g[d>>2]=1.0;x=(c[b>>2]|0)+16|0;c[a+128>>2]=c[x>>2];c[a+128+4>>2]=c[x+4>>2];c[a+128+8>>2]=c[x+8>>2];c[a+128+12>>2]=c[x+12>>2];c[B+24+48>>2]=c[x>>2];c[B+24+48+4>>2]=c[x+4>>2];c[B+24+48+8>>2]=c[x+8>>2];c[B+24+48+12>>2]=c[x+12>>2];c[B+24+32>>2]=c[x>>2];c[B+24+32+4>>2]=c[x+4>>2];c[B+24+32+8>>2]=c[x+8>>2];c[B+24+32+12>>2]=c[x+12>>2];c[B+24+16>>2]=c[x>>2];c[B+24+16+4>>2]=c[x+4>>2];c[B+24+16+8>>2]=c[x+8>>2];c[B+24+16+12>>2]=c[x+12>>2];c[B+24>>2]=c[x>>2];c[B+24+4>>2]=c[x+4>>2];c[B+24+8>>2]=c[x+8>>2];c[B+24+12>>2]=c[x+12>>2];w=0.0;x=0;y=0;e=e*e+f*f+h*h;a:do{v=c[a+368>>2]|0;f=+g[a+128>>2];h=+g[a+132>>2];i=+g[a+136>>2];o=+C(+(f*f+h*h+i*i));if(o<9.999999747378752e-05){A=6;break}g[a+148+(v*36|0)+16+(c[a+148+(v*36|0)+32>>2]<<2)>>2]=0.0;d=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=d;c[a+148+(v*36|0)+(c[a+148+(v*36|0)+32>>2]<<2)>>2]=c[a+348+(d<<2)>>2];d=c[a+148+(v*36|0)+32>>2]|0;c[a+148+(v*36|0)+32>>2]=d+1;uh(a,-f,-h,-i,c[a+148+(v*36|0)+(d<<2)>>2]|0);d=c[a+148+(v*36|0)+32>>2]|0;b=c[a+148+(v*36|0)+(d+-1<<2)>>2]|0;f=+g[b+16>>2];h=+g[b+20>>2];i=+g[b+24>>2];q=f-+g[B+24>>2];r=h-+g[B+24+4>>2];u=i-+g[B+24+8>>2];if(q*q+r*r+u*u<9.999999747378752e-05){A=9;break}q=f-+g[B+24+16>>2];r=h-+g[B+24+20>>2];u=i-+g[B+24+24>>2];if(q*q+r*r+u*u<9.999999747378752e-05){A=9;break}q=f-+g[B+24+32>>2];r=h-+g[B+24+36>>2];u=i-+g[B+24+40>>2];if(q*q+r*r+u*u<9.999999747378752e-05){A=9;break}q=f-+g[B+24+48>>2];r=h-+g[B+24+52>>2];u=i-+g[B+24+56>>2];if(q*q+r*r+u*u<9.999999747378752e-05){A=9;break}x=x+1&3;t=B+24+(x<<4)|0;c[t>>2]=c[b+16>>2];c[t+4>>2]=c[b+16+4>>2];c[t+8>>2]=c[b+16+8>>2];c[t+12>>2]=c[b+16+12>>2];u=(+g[a+128>>2]*f+ +g[a+132>>2]*h+ +g[a+136>>2]*i)/o;w=u>w?u:w;if(o-w-o*9.999999747378752e-05<=0.0){A=10;break}c[B>>2]=0;b:do switch(d|0){case 2:{t=c[a+148+(v*36|0)>>2]|0;s=c[a+148+(v*36|0)+4>>2]|0;e=+g[s+16>>2];f=+g[t+16>>2];h=+g[s+20>>2];i=+g[t+20>>2];o=+g[s+24>>2];p=+g[t+24>>2];if(!((e-f)*(e-f)+(h-i)*(h-i)+(o-p)*(o-p)>0.0)){A=40;break a}q=-(f*(e-f)+i*(h-i)+p*(o-p))/((e-f)*(e-f)+(h-i)*(h-i)+(o-p)*(o-p));if(q>=1.0){g[B+8>>2]=0.0;g[B+8+4>>2]=1.0;c[B>>2]=2;e=e*e+h*h+o*o;break b}if(!(q<=0.0)){g[B+8+4>>2]=q;g[B+8>>2]=1.0-q;c[B>>2]=3;e=((e-f)*q+f)*((e-f)*q+f)+((h-i)*q+i)*((h-i)*q+i)+((o-p)*q+p)*((o-p)*q+p);break b}else{g[B+8>>2]=1.0;g[B+8+4>>2]=0.0;c[B>>2]=1;e=f*f+i*i+p*p;break b}}case 3:{e=+ye((c[a+148+(v*36|0)>>2]|0)+16|0,(c[a+148+(v*36|0)+4>>2]|0)+16|0,(c[a+148+(v*36|0)+8>>2]|0)+16|0,B+8|0,B);break}case 4:{m=c[a+148+(v*36|0)>>2]|0;n=c[a+148+(v*36|0)+4>>2]|0;s=c[a+148+(v*36|0)+8>>2]|0;t=c[a+148+(v*36|0)+12>>2]|0;c[B+152>>2]=m+16;c[B+152+4>>2]=n+16;c[B+152+8>>2]=s+16;c[B+152+12>>2]=t+16;h=+g[m+16>>2];i=+g[t+16>>2];e=+g[m+20>>2];o=+g[t+20>>2];f=+g[m+24>>2];p=+g[t+24>>2];g[B+104>>2]=h-i;g[B+104+4>>2]=e-o;g[B+104+8>>2]=f-p;g[B+104+12>>2]=0.0;D=+g[n+16>>2];F=+g[n+20>>2];r=+g[n+24>>2];g[B+104+16>>2]=D-i;g[B+104+20>>2]=F-o;g[B+104+24>>2]=r-p;g[B+104+28>>2]=0.0;q=+g[s+16>>2];G=+g[s+20>>2];E=+g[s+24>>2];g[B+104+32>>2]=q-i;g[B+104+36>>2]=G-o;g[B+104+40>>2]=E-p;g[B+104+44>>2]=0.0;u=(e-o)*(r-p)*(q-i)+(f-p)*(D-i)*(G-o)-(G-o)*(r-p)*(h-i)-(e-o)*(D-i)*(E-p)+(E-p)*(h-i)*(F-o)-(q-i)*(f-p)*(F-o);if(u!=u|0.0!=0.0|u==0.0|!(u*(f*((D-q)*(e-F)-(F-G)*(h-D))+(h*((F-G)*(f-r)-(r-E)*(e-F))+e*((r-E)*(h-D)-(D-q)*(f-r))))<=0.0))e=-1.0;else{c[B+92>>2]=0;c[B+92+4>>2]=0;c[B+92+8>>2]=0;c[B+88>>2]=0;r=e-o;q=f-p;f=h-i;b=c[B>>2]|0;k=0;e=-1.0;while(1){d=c[5168+(k<<2)>>2]|0;E=+g[B+104+(d<<4)+8>>2];F=+g[B+104+(d<<4)+4>>2];G=+g[B+104+(d<<4)>>2];if(u*((r*E-q*F)*i+o*(q*G-E*f)+(F*f-r*G)*p)>0.0?(z=+ye(c[B+152+(k<<2)>>2]|0,c[B+152+(d<<2)>>2]|0,t+16|0,B+92|0,B+88|0),e<0.0|z>2]|0;c[B+8+(k<<2)>>2]=c[B+92>>2];c[B+8+(d<<2)>>2]=c[B+92+4>>2];g[B+8+(c[5168+(d<<2)>>2]<<2)>>2]=0.0;c[B+8+12>>2]=c[B+92+8>>2];b=(b&2|0?1<>2];q=+g[B+104+(d<<4)+8>>2];f=+g[B+104+(d<<4)>>2];i=+g[t+16>>2];o=+g[t+20>>2];p=+g[t+24>>2];k=d}c[B>>2]=b;if(e<0.0){c[B>>2]=15;i=+g[s+20>>2];G=+g[n+24>>2];F=+g[t+16>>2];f=+g[s+24>>2];E=+g[n+16>>2];o=+g[t+20>>2];h=+g[s+16>>2];D=+g[t+24>>2];q=+g[n+20>>2];g[B+8>>2]=(i*G*F+f*E*o-o*G*h-i*E*D+D*h*q-F*f*q)/u;e=+g[m+20>>2];p=+g[m+24>>2];r=+g[m+16>>2];g[B+8+4>>2]=(e*f*F+p*h*o-o*f*r-e*h*D+D*r*i-F*p*i)/u;g[B+8+8>>2]=(q*p*F+G*r*o-o*p*E-q*r*D+D*E*e-F*G*e)/u;g[B+8+12>>2]=1.0-((i*G*F+f*E*o-o*G*h-i*E*D+D*h*q-F*f*q)/u+(e*f*F+p*h*o-o*f*r-e*h*D+D*r*i-F*p*i)/u+(q*p*F+G*r*o-o*p*E-q*r*D+D*E*e-F*G*e)/u);e=0.0}}break}default:{}}while(0);if(!(e>=0.0)){A=40;break}c[a+148+((1-v|0)*36|0)+32>>2]=0;c[a+128>>2]=0;c[a+128+4>>2]=0;c[a+128+8>>2]=0;c[a+128+12>>2]=0;c[a+368>>2]=1-v;d=c[a+148+(v*36|0)+32>>2]|0;b=c[B>>2]|0;if(d|0){n=0;do{m=a+148+(v*36|0)+(n<<2)|0;k=c[m>>2]|0;if(!(b&1<>2]|0;c[a+364>>2]=t+1;c[a+348+(t<<2)>>2]=k}else{c[a+148+((1-v|0)*36|0)+(c[a+148+((1-v|0)*36|0)+32>>2]<<2)>>2]=k;s=c[B+8+(n<<2)>>2]|0;t=c[a+148+((1-v|0)*36|0)+32>>2]|0;c[a+148+((1-v|0)*36|0)+32>>2]=t+1;c[a+148+((1-v|0)*36|0)+16+(t<<2)>>2]=s;t=c[m>>2]|0;E=(c[j>>2]=s,+g[j>>2]);F=E*+g[t+20>>2];G=E*+g[t+24>>2];g[a+128>>2]=+g[t+16>>2]*E+ +g[a+128>>2];g[a+132>>2]=F+ +g[a+132>>2];g[a+136>>2]=G+ +g[a+136>>2]}n=n+1|0}while((n|0)!=(d|0))}if((b|0)==15)c[a+376>>2]=1;y=y+1|0;if(y>>>0>=128){A=39;break}}while(!(c[a+376>>2]|0));if((A|0)==6)c[a+376>>2]=1;else if((A|0)==9){A=c[a+368>>2]|0;y=(c[a+148+(A*36|0)+32>>2]|0)+-1|0;c[a+148+(A*36|0)+32>>2]=y;y=c[a+148+(A*36|0)+(y<<2)>>2]|0;A=c[a+364>>2]|0;c[a+364>>2]=A+1;c[a+348+(A<<2)>>2]=y}else if((A|0)==10){A=c[a+368>>2]|0;y=(c[a+148+(A*36|0)+32>>2]|0)+-1|0;c[a+148+(A*36|0)+32>>2]=y;y=c[a+148+(A*36|0)+(y<<2)>>2]|0;A=c[a+364>>2]|0;c[a+364>>2]=A+1;c[a+348+(A<<2)>>2]=y}else if((A|0)==39)c[a+376>>2]=2;else if((A|0)==40){A=c[a+368>>2]|0;y=(c[a+148+(A*36|0)+32>>2]|0)+-1|0;c[a+148+(A*36|0)+32>>2]=y;y=c[a+148+(A*36|0)+(y<<2)>>2]|0;A=c[a+364>>2]|0;c[a+364>>2]=A+1;c[a+348+(A<<2)>>2]=y}c[a+372>>2]=a+148+((c[a+368>>2]|0)*36|0);d=c[a+376>>2]|0;switch(d|0){case 0:{F=+g[a+128>>2];G=+g[a+132>>2];e=+g[a+136>>2];e=+C(+(F*F+G*G+e*e));break}case 1:{e=0.0;break}default:{l=B;return d|0}}g[a+144>>2]=e;l=B;return d|0}function Bc(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0.0,k=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,z=0,A=0,B=0,D=0,E=0.0,F=0.0,G=0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0,O=0,P=0,Q=0.0,R=0.0,S=0.0,T=0;P=l;l=l+208|0;g[b+56>>2]=0.0;N=P+192+4|0;O=P+192+8|0;c[P+192>>2]=0;c[P+192+4>>2]=0;c[P+192+8>>2]=0;c[P+192+12>>2]=0;c[P+128>>2]=c[d>>2];c[P+128+4>>2]=c[d+4>>2];c[P+128+8>>2]=c[d+8>>2];c[P+128+12>>2]=c[d+12>>2];c[P+128+16>>2]=c[d+16>>2];c[P+128+16+4>>2]=c[d+16+4>>2];c[P+128+16+8>>2]=c[d+16+8>>2];c[P+128+16+12>>2]=c[d+16+12>>2];c[P+128+32>>2]=c[d+32>>2];c[P+128+32+4>>2]=c[d+32+4>>2];c[P+128+32+8>>2]=c[d+32+8>>2];c[P+128+32+12>>2]=c[d+32+12>>2];B=P+128+48|0;c[B>>2]=c[d+48>>2];c[B+4>>2]=c[d+48+4>>2];c[B+8>>2]=c[d+48+8>>2];c[B+12>>2]=c[d+48+12>>2];c[P+64>>2]=c[d+64>>2];c[P+64+4>>2]=c[d+64+4>>2];c[P+64+8>>2]=c[d+64+8>>2];c[P+64+12>>2]=c[d+64+12>>2];c[P+64+16>>2]=c[d+80>>2];c[P+64+16+4>>2]=c[d+80+4>>2];c[P+64+16+8>>2]=c[d+80+8>>2];c[P+64+16+12>>2]=c[d+80+12>>2];c[P+64+32>>2]=c[d+96>>2];c[P+64+32+4>>2]=c[d+96+4>>2];c[P+64+32+8>>2]=c[d+96+8>>2];c[P+64+32+12>>2]=c[d+96+12>>2];D=P+64+48|0;c[D>>2]=c[d+112>>2];c[D+4>>2]=c[d+112+4>>2];c[D+8>>2]=c[d+112+8>>2];c[D+12>>2]=c[d+112+12>>2];H=+g[B>>2];I=+g[D>>2];J=+g[P+128+52>>2];K=+g[P+64+52>>2];L=+g[P+128+56>>2];M=+g[P+64+56>>2];g[B>>2]=H-(H+I)*.5;g[P+128+52>>2]=J-(J+K)*.5;g[P+128+56>>2]=L-(L+M)*.5;g[D>>2]=I-(H+I)*.5;g[P+64+52>>2]=K-(J+K)*.5;g[P+64+56>>2]=M-(L+M)*.5;if(((c[(c[b+28>>2]|0)+4>>2]|0)+-17|0)>>>0<2)B=((c[(c[b+32>>2]|0)+4>>2]|0)+-17|0)>>>0<2;else B=0;v=+g[b+44>>2];u=+g[b+48>>2];c[6457]=(c[6457]|0)+1;D=a[b+52>>0]|0;c[b+64>>2]=0;c[b+4>>2]=0;c[b+8>>2]=1065353216;c[b+12>>2]=0;g[b+16>>2]=0.0;c[b+68>>2]=0;c[b+60>>2]=-1;m=c[b+24>>2]|0;a[m+312>>0]=0;c[m>>2]=0;a[m+356>>0]=1;c[m+292>>2]=1566444395;c[m+296>>2]=1566444395;c[m+300>>2]=1566444395;g[m+304>>2]=0.0;c[m+336>>2]=0;c[m+336+4>>2]=0;c[m+336+8>>2]=0;c[m+336+12>>2]=0;a[m+336+16>>0]=0;a[m+332>>0]=a[m+332>>0]&-16;m=0;p=999999984306749440.0;do{s=+g[b+4>>2];q=+g[b+8>>2];j=+g[b+12>>2];k=+g[d+4>>2]*-s+ +g[d+20>>2]*-q+ +g[d+36>>2]*-j;n=+g[d+8>>2]*-s+ +g[d+24>>2]*-q+ +g[d+40>>2]*-j;g[P+48>>2]=+g[d>>2]*-s+ +g[d+16>>2]*-q+ +g[d+32>>2]*-j;g[P+48+4>>2]=k;g[P+48+8>>2]=n;g[P+48+12>>2]=0.0;n=s*+g[d+68>>2]+q*+g[d+84>>2]+j*+g[d+100>>2];k=s*+g[d+72>>2]+q*+g[d+88>>2]+j*+g[d+104>>2];g[P+32>>2]=+g[d+64>>2]*s+ +g[d+80>>2]*q+ +g[d+96>>2]*j;g[P+32+4>>2]=n;g[P+32+8>>2]=k;g[P+32+12>>2]=0.0;wd(P+16|0,c[b+28>>2]|0,P+48|0);wd(P,c[b+32>>2]|0,P+32|0);k=+g[P+16>>2];n=+g[P+16+4>>2];j=+g[P+16+8>>2];q=k*+g[P+128>>2]+n*+g[P+128+4>>2]+j*+g[P+128+8>>2]+ +g[P+128+48>>2];s=k*+g[P+128+16>>2]+n*+g[P+128+20>>2]+j*+g[P+128+24>>2]+ +g[P+128+52>>2];j=k*+g[P+128+32>>2]+n*+g[P+128+36>>2]+j*+g[P+128+40>>2]+ +g[P+128+56>>2];n=+g[P>>2];k=+g[P+4>>2];t=+g[P+8>>2];o=n*+g[P+64>>2]+k*+g[P+64+4>>2]+t*+g[P+64+8>>2]+ +g[P+64+48>>2];r=n*+g[P+64+16>>2]+k*+g[P+64+20>>2]+t*+g[P+64+24>>2]+ +g[P+64+52>>2];t=n*+g[P+64+32>>2]+k*+g[P+64+36>>2]+t*+g[P+64+40>>2]+ +g[P+64+56>>2];k=B?0.0:t;n=B?0.0:j;t=(B?0.0:j)-(B?0.0:t);j=+g[b+4>>2]*(q-o)+ +g[b+8>>2]*(s-r)+ +g[b+12>>2]*t;if(j>0.0?j*j>p*+g[d+128>>2]:0){c[b+68>>2]=10;m=1;h=0}else T=7;do if((T|0)==7){T=0;z=c[b+24>>2]|0;A=c[z>>2]|0;if((A|0)>0){i=+g[z+308>>2];h=0;y=0;do{x=q-o-+g[z+4+(y<<4)>>2];E=s-r-+g[z+4+(y<<4)+4>>2];F=t-+g[z+4+(y<<4)+8>>2];h=h|x*x+E*E+F*F<=i;y=y+1|0}while((y|0)!=(A|0))}else h=0;if((+g[z+304>>2]==0.0?t==+g[z+300>>2]:0)?s-r==+g[z+296>>2]:0){if(q-o==+g[z+292>>2]|h)T=15}else T=14;if((T|0)==14?(T=0,h):0)T=15;if((T|0)==15){T=0;c[b+68>>2]=1;m=1;h=0;break}i=p-j;if(i<=p*9.999999974752427e-07){c[b+68>>2]=!(i<=0.0)?11:2;m=1;h=0;break}g[z+292>>2]=q-o;g[z+296>>2]=s-r;g[z+300>>2]=t;g[z+304>>2]=0.0;a[z+356>>0]=1;g[z+4+(A<<4)>>2]=q-o;g[z+4+(A<<4)+4>>2]=s-r;g[z+4+(A<<4)+8>>2]=t;g[z+4+(A<<4)+12>>2]=0.0;h=c[z>>2]|0;g[z+84+(h<<4)>>2]=q;g[z+84+(h<<4)+4>>2]=s;g[z+84+(h<<4)+8>>2]=n;g[z+84+(h<<4)+12>>2]=0.0;h=c[z>>2]|0;g[z+164+(h<<4)>>2]=o;g[z+164+(h<<4)+4>>2]=r;g[z+164+(h<<4)+8>>2]=k;g[z+164+(h<<4)+12>>2]=0.0;c[z>>2]=(c[z>>2]|0)+1;h=c[b+24>>2]|0;A=Dc(h)|0;i=+g[h+276>>2];j=+g[h+280>>2];k=+g[h+284>>2];h=c[h+288>>2]|0;if(!A){c[b+68>>2]=3;m=1;h=0;break}if(i*i+j*j+k*k<9.999999974752427e-07){g[b+4>>2]=i;g[b+8>>2]=j;g[b+12>>2]=k;c[b+16>>2]=h;c[b+68>>2]=6;m=1;h=0;break}if(p-(i*i+j*j+k*k)<=p*1.1920928955078125e-07){c[b+68>>2]=12;m=1;h=0;p=i*i+j*j+k*k;break}g[b+4>>2]=i;g[b+8>>2]=j;g[b+12>>2]=k;c[b+16>>2]=h;A=c[b+64>>2]|0;c[b+64>>2]=A+1;if((A|0)<=1e3)if((c[c[b+24>>2]>>2]|0)==4){c[b+68>>2]=13;h=0;p=i*i+j*j+k*k}else{h=1;p=i*i+j*j+k*k}else{h=0;p=i*i+j*j+k*k}}while(0)}while(h);w=D<<24>>24==0?u:0.0;u=(D<<24>>24==0?v:0.0)+w;if(m){D=c[b+24>>2]|0;Dc(D)|0;j=+g[D+260>>2];n=+g[D+264>>2];q=+g[D+268>>2];c[P+192>>2]=c[b+4>>2];c[P+192+4>>2]=c[b+4+4>>2];c[P+192+8>>2]=c[b+4+8>>2];c[P+192+12>>2]=c[b+4+12>>2];i=+g[b+4>>2];k=+g[b+8>>2];o=+g[b+12>>2];if(i*i+k*k+o*o<.0001)c[b+68>>2]=5;if(i*i+k*k+o*o>1.4210854715202004e-14){E=1.0/+C(+(i*i+k*k+o*o));g[P+192>>2]=E*+g[P+192>>2];g[N>>2]=E*+g[N>>2];g[O>>2]=E*+g[O>>2];F=w/+C(+p);h=1;p=1.0/E-u;m=1;j=F*i+j;n=F*k+n;i=F*o+q}else{h=2;p=0.0;m=0;i=q}c[b+60>>2]=h;E=j;F=i}else{p=0.0;m=0;E=0.0;n=0.0;F=0.0}if(((c[b+72>>2]|0)!=0?(c[b+20>>2]|0)!=0:0)?(c[b+68>>2]|0)!=0:0)h=u+p<.01;else h=0;y=m^1;do if(h|y?(G=c[b+20>>2]|0,(G|0)!=0):0){c[6456]=(c[6456]|0)+1;c[b+4>>2]=0;c[b+4+4>>2]=0;c[b+4+8>>2]=0;c[b+4+12>>2]=0;if(yb[c[(c[G>>2]|0)+8>>2]&3](G,c[b+24>>2]|0,c[b+28>>2]|0,c[b+32>>2]|0,P+128|0,P+64|0,b+4|0,P+48|0,P+32|0,f)|0){k=+g[P+32>>2];q=+g[P+48>>2];j=+g[P+32+4>>2];r=+g[P+48+4>>2];i=+g[P+32+8>>2];s=+g[P+48+8>>2];if(!((k-q)*(k-q)+(j-r)*(j-r)+(i-s)*(i-s)<=1.4210854715202004e-14)){o=(k-q)*(k-q)+(j-r)*(j-r)+(i-s)*(i-s);u=k-q;v=i-s;w=0.0;x=j-r}else{u=+g[b+4>>2];x=+g[b+8>>2];v=+g[b+12>>2];o=u*u+x*x+v*v;w=+g[b+16>>2]}if(o>1.4210854715202004e-14){t=1.0/+C(+o);o=-+C(+((q-k)*(q-k)+(r-j)*(r-j)+(s-i)*(s-i)));if(p>o|y){g[P+192>>2]=u*t;g[N>>2]=x*t;g[O>>2]=v*t;g[P+192+12>>2]=w;c[b+60>>2]=3;break}else h=8}else h=9;c[b+60>>2]=h;if(m){o=p;k=E;j=n;i=F;break}l=P;return}else{j=+g[b+4>>2];q=+g[b+8>>2];s=+g[b+12>>2];if(!(j*j+q*q+s*s>0.0)){if(m){o=p;k=E;j=n;i=F;break}l=P;return}k=+g[P+32>>2];v=+g[P+48>>2]-k;r=+g[P+32+4>>2];x=+g[P+48+4>>2]-r;t=+g[P+32+8>>2];i=+g[P+48+8>>2]-t;i=+C(+(v*v+x*x+i*i))-u;if(i>2]=c[b+4>>2];c[P+192+4>>2]=c[b+4+4>>2];c[P+192+8>>2]=c[b+4+8>>2];c[P+192+12>>2]=c[b+4+12>>2];x=+g[P+192>>2];E=+g[N>>2];F=+g[O>>2];o=1.0/+C(+(x*x+E*E+F*F));g[P+192>>2]=x*o;g[N>>2]=E*o;g[O>>2]=F*o;c[b+60>>2]=6;o=i;k=w*j+k;j=w*q+r;i=w*s+t;break}c[b+60>>2]=5;if(m){o=p;k=E;j=n;i=F;break}l=P;return}}else T=52;while(0);if((T|0)==52)if(m){o=p;k=E;j=n;i=F}else{l=P;return}if(!(o<0.0)?!(o*o<+g[d+128>>2]):0){l=P;return}if(c[b+76>>2]|0?(T=c[b+28>>2]|0,Nb[c[(c[T>>2]|0)+8>>2]&127](T,P+128|0,P+48|0,P+32|0),x=(+g[P+32>>2]+ +g[P+48>>2])*.5,E=(+g[P+32+4>>2]+ +g[P+48+4>>2])*.5,F=(+g[P+32+8>>2]+ +g[P+48+8>>2])*.5,T=c[b+32>>2]|0,Nb[c[(c[T>>2]|0)+8>>2]&127](T,P+64|0,P+48|0,P+32|0),Q=+g[P+192>>2],R=+g[N>>2],S=+g[O>>2],(x-(+g[P+48>>2]+ +g[P+32>>2])*.5)*Q+(E-(+g[P+48+4>>2]+ +g[P+32+4>>2])*.5)*R+(F-(+g[P+48+8>>2]+ +g[P+32+8>>2])*.5)*S<0.0):0){g[P+192>>2]=-Q;g[N>>2]=-R;g[O>>2]=-S}c[b+4>>2]=c[P+192>>2];c[b+4+4>>2]=c[P+192+4>>2];c[b+4+8>>2]=c[P+192+8>>2];c[b+4+12>>2]=c[P+192+12>>2];g[b+56>>2]=o;T=c[(c[e>>2]|0)+16>>2]|0;g[P+48>>2]=(H+I)*.5+k;g[P+48+4>>2]=(J+K)*.5+j;g[P+48+8>>2]=(L+M)*.5+i;g[P+48+12>>2]=0.0;Lb[T&15](e,P+192|0,P+48|0,o);l=P;return} function Xb(d,f){d=d|0;f=f|0;var h=0,i=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0,z=0,A=0,D=0,E=0.0,F=0.0,G=0,H=0,I=0.0,J=0,K=0.0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0.0,X=0,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.0,la=0;ia=l;l=l+192|0;h=c[d+52>>2]|0;if(h|0?(Ab[c[c[h>>2]>>2]&511](h),i=c[d+52>>2]|0,i|0):0){c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0)}c[6472]=(c[6472]|0)+1;h=ic(151)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}c[h>>2]=9544;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;c[d+52>>2]=h;k=0;p=0;o=0;ha=0;L=0;while(1){if((p|0)>=(qb[c[(c[d>>2]|0)+96>>2]&127](d)|0))break;do if((L|0)==(o|0)){i=o|0?o<<1:1;if((o|0)<(i|0)){if((i|0)!=0?(c[6472]=(c[6472]|0)+1,t=ic((i<<4|3)+16|0)|0,(t|0)!=0):0){c[(t+4+15&-16)+-4>>2]=t;m=t+4+15&-16}else m=0;if((o|0)<=0){if(!ha){n=o;k=m;h=m;break}}else{h=0;do{ga=m+(h<<4)|0;fa=ha+(h<<4)|0;c[ga>>2]=c[fa>>2];c[ga+4>>2]=c[fa+4>>2];c[ga+8>>2]=c[fa+8>>2];c[ga+12>>2]=c[fa+12>>2];h=h+1|0}while((h|0)!=(o|0))}c[6473]=(c[6473]|0)+1;nd(c[ha+-4>>2]|0);n=o;k=m;h=m}else{n=o;i=o;h=ha}}else{n=L;i=o;h=ha}while(0);o=h+(L<<4)|0;c[o>>2]=c[ia+136>>2];c[o+4>>2]=c[ia+136+4>>2];c[o+8>>2]=c[ia+136+8>>2];c[o+12>>2]=c[ia+136+12>>2];Kb[c[(c[d>>2]|0)+108>>2]&127](d,p,o);p=p+1|0;o=i;ha=h;L=n+1|0}a[ia+76+16>>0]=1;ga=ia+76+12|0;c[ga>>2]=0;c[ia+76+4>>2]=0;c[ia+76+8>>2]=0;a[ia+76+36>>0]=1;fa=ia+76+32|0;c[fa>>2]=0;c[ia+76+24>>2]=0;c[ia+76+28>>2]=0;a[ia+76+56>>0]=1;ea=ia+76+52|0;c[ea>>2]=0;c[ia+76+44>>2]=0;c[ia+76+48>>2]=0;if(f){if((L|0)>0){J=0;i=0;m=0;k=0;while(1){h=J;J=J+1|0;if((J|0)<(L|0)){G=ha+(h<<4)|0;H=ha+(h<<4)+4|0;A=ha+(h<<4)+8|0;D=J;h=k;do{k=D;D=D+1|0;if((D|0)<(L|0)){y=ha+(k<<4)|0;z=ha+(k<<4)+4|0;t=ha+(k<<4)+8|0;f=D;do{w=+g[G>>2];x=+g[y>>2]-w;I=+g[H>>2];K=+g[z>>2]-I;E=+g[A>>2];F=+g[t>>2]-E;w=+g[ha+(f<<4)>>2]-w;I=+g[ha+(f<<4)+4>>2]-I;E=+g[ha+(f<<4)+8>>2]-E;q=1.0;p=0;while(1){u=(K*E-F*I)*q;v=(F*w-x*E)*q;s=(x*I-K*w)*q;a:do if(s*s+(u*u+v*v)>9.999999747378752e-05){r=1.0/+C(+(s*s+(u*u+v*v)));if((h|0)>0){k=0;do{if(u*r*+g[m+(k<<4)>>2]+v*r*+g[m+(k<<4)+4>>2]+s*r*+g[m+(k<<4)+8>>2]>.9990000128746033)break a;k=k+1|0}while((k|0)<(h|0))}q=u*r*+g[G>>2]+v*r*+g[H>>2]+s*r*+g[A>>2];k=0;do{if(u*r*+g[ha+(k<<4)>>2]+v*r*+g[ha+(k<<4)+4>>2]+s*r*+g[ha+(k<<4)+8>>2]-q+-.009999999776482582>0.0)break a;k=k+1|0}while((k|0)<(L|0));do if((h|0)==(i|0)){n=i|0?i<<1:1;if((i|0)<(n|0)){do if(!n)o=0;else{c[6472]=(c[6472]|0)+1;k=ic((n<<4|3)+16|0)|0;if(!k){o=0;break}c[(k+4+15&-16)+-4>>2]=k;o=k+4+15&-16}while(0);if((i|0)<=0){if(!m){k=i;i=n;m=o;break}}else{k=0;do{ba=o+(k<<4)|0;aa=m+(k<<4)|0;c[ba>>2]=c[aa>>2];c[ba+4>>2]=c[aa+4>>2];c[ba+8>>2]=c[aa+8>>2];c[ba+12>>2]=c[aa+12>>2];k=k+1|0}while((k|0)!=(i|0))}c[6473]=(c[6473]|0)+1;nd(c[m+-4>>2]|0);k=i;i=n;m=o}else k=i}else k=h;while(0);g[m+(k<<4)>>2]=u*r;g[m+(k<<4)+4>>2]=v*r;g[m+(k<<4)+8>>2]=s*r;g[m+(k<<4)+12>>2]=-q;h=h+1|0}while(0);p=p+1|0;if((p|0)==2)break;else q=-1.0}f=f+1|0}while((f|0)!=(L|0))}}while((D|0)!=(L|0))}else h=k;if((J|0)==(L|0))break;else k=h}if((h|0)>0){o=0;p=0;t=0;while(1){ba=m+(t<<4)|0;c[ia+136>>2]=c[ba>>2];c[ia+136+4>>2]=c[ba+4>>2];c[ia+136+8>>2]=c[ba+8>>2];q=+g[m+(t<<4)+12>>2];q=q-+gb[c[(c[d>>2]|0)+48>>2]&15](d);do if((t|0)==(o|0)){n=o|0?o<<1:1;if((o|0)<(n|0)){if((n|0)!=0?(c[6472]=(c[6472]|0)+1,M=ic((n<<4|3)+16|0)|0,(M|0)!=0):0){c[(M+4+15&-16)+-4>>2]=M;k=M+4+15&-16}else k=0;if((o|0)<=0){if(!p){i=o;break}}else{i=0;do{ba=k+(i<<4)|0;aa=p+(i<<4)|0;c[ba>>2]=c[aa>>2];c[ba+4>>2]=c[aa+4>>2];c[ba+8>>2]=c[aa+8>>2];c[ba+12>>2]=c[aa+12>>2];i=i+1|0}while((i|0)!=(o|0))}c[6473]=(c[6473]|0)+1;nd(c[p+-4>>2]|0);i=o}else{i=o;n=o;k=p}}else{i=t;n=o;k=p}while(0);ba=k+(i<<4)|0;c[ba>>2]=c[ia+136>>2];c[ba+4>>2]=c[ia+136+4>>2];c[ba+8>>2]=c[ia+136+8>>2];g[k+(i<<4)+12>>2]=q;t=t+1|0;if((t|0)<(h|0)){o=n;p=k}else break}if((t|0)>0){n=0;H=0;o=0;i=0;h=0;do{G=H;H=H+1|0;if((H|0)<(t|0)){D=H;do{A=D;D=D+1|0;if((D|0)<(t|0)){z=D;do{u=+g[k+(A<<4)+4>>2];q=+g[k+(z<<4)+8>>2];r=+g[k+(A<<4)+8>>2];v=+g[k+(z<<4)+4>>2];w=+g[k+(z<<4)>>2];x=+g[k+(A<<4)>>2];s=+g[k+(G<<4)+8>>2];E=+g[k+(G<<4)+4>>2];F=+g[k+(G<<4)>>2];b:do if((((v*x-u*w)*(v*x-u*w)+((u*q-r*v)*(u*q-r*v)+(r*w-q*x)*(r*w-q*x))>9.999999747378752e-05?(w*E-v*F)*(w*E-v*F)+((v*s-q*E)*(v*s-q*E)+(q*F-w*s)*(q*F-w*s))>9.999999747378752e-05:0)?(u*F-x*E)*(u*F-x*E)+((r*E-u*s)*(r*E-u*s)+(x*s-r*F)*(x*s-r*F))>9.999999747378752e-05:0)?(W=s*(v*x-u*w)+(E*(r*w-q*x)+(u*q-r*v)*F),+B(+W)>9.999999974752427e-07):0){ja=+g[k+(G<<4)+12>>2];K=+g[k+(A<<4)+12>>2];ka=+g[k+(z<<4)+12>>2];I=-1.0/W*((r*E-u*s)*ka+((u*q-r*v)*ja+(v*s-q*E)*K));r=-1.0/W*((x*s-r*F)*ka+((r*w-q*x)*ja+(q*F-w*s)*K));q=-1.0/W*((u*F-x*E)*ka+((v*x-u*w)*ja+(w*E-v*F)*K));p=0;do{if(+g[k+(p<<4)+12>>2]+(I*+g[k+(p<<4)>>2]+r*+g[k+(p<<4)+4>>2]+q*+g[k+(p<<4)+8>>2])+-.009999999776482582>0.0)break b;p=p+1|0}while((p|0)<(t|0));do if((h|0)==(o|0)){y=o|0?o<<1:1;if((o|0)>=(y|0)){p=o;break}do if(!y)f=0;else{c[6472]=(c[6472]|0)+1;n=ic((y<<4|3)+16|0)|0;if(!n){f=0;break}c[(n+4+15&-16)+-4>>2]=n;f=n+4+15&-16}while(0);if((o|0)<=0){if(!i){n=f;p=o;o=y;i=f;break}}else{n=0;do{ba=f+(n<<4)|0;aa=i+(n<<4)|0;c[ba>>2]=c[aa>>2];c[ba+4>>2]=c[aa+4>>2];c[ba+8>>2]=c[aa+8>>2];c[ba+12>>2]=c[aa+12>>2];n=n+1|0}while((n|0)!=(o|0))}c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0);n=f;p=o;o=y;i=f}else p=h;while(0);g[i+(p<<4)>>2]=I;g[i+(p<<4)+4>>2]=r;g[i+(p<<4)+8>>2]=q;g[i+(p<<4)+12>>2]=0.0;h=h+1|0}while(0);z=z+1|0}while((z|0)!=(t|0))}}while((D|0)!=(t|0))}}while((H|0)!=(t|0))}else{n=0;i=0;h=0}}else{n=0;k=0;i=0;h=0}}else{n=0;m=0;k=0;i=0;h=0}jc(ia+76|0,n,h);if(i|0){c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0)}if(k|0){c[6473]=(c[6473]|0)+1;nd(c[k+-4>>2]|0)}if(m|0){c[6473]=(c[6473]|0)+1;nd(c[m+-4>>2]|0)}}else jc(ia+76|0,k,L);H=c[ia+76+44>>2]|0;if((H|0)>0){c[6472]=(c[6472]|0)+1;h=ic((H<<4|3)+16|0)|0;if(!h)i=0;else{c[(h+4+15&-16)+-4>>2]=h;i=h+4+15&-16}h=0;do{ba=i+(h<<4)|0;c[ba>>2]=c[ia+136>>2];c[ba+4>>2]=c[ia+136+4>>2];c[ba+8>>2]=c[ia+136+8>>2];c[ba+12>>2]=c[ia+136+12>>2];h=h+1|0}while((h|0)!=(H|0));ba=i;$=i}else{ba=0;$=0}a[ia+56+16>>0]=1;aa=ia+56+12|0;c[aa>>2]=0;_=ia+56+4|0;c[_>>2]=0;c[ia+56+8>>2]=0;k=ia+136|0;n=k+19|0;do{a[k>>0]=0;k=k+1|0}while((k|0)<(n|0));if((H|0)<0)$a();if(H|0){xf(ia+56|0,H);h=c[aa>>2]|0;i=0;do{k=h+(i*36|0)|0;a[k+16>>0]=1;c[k+4>>2]=0;c[k+4+4>>2]=0;c[k+4+8>>2]=0;k=k+20|0;m=ia+136+3|0;n=k+16|0;do{a[k>>0]=a[m>>0]|0;k=k+1|0;m=m+1|0}while((k|0)<(n|0));i=i+1|0}while((i|0)!=(H|0))}c[_>>2]=H;o=c[ia+76+4>>2]|0;n=c[d+52>>2]|0;m=c[n+8>>2]|0;if((m|0)<(o|0)){if((c[n+12>>2]|0)<(o|0)){if(!o){i=m;k=0}else{c[6472]=(c[6472]|0)+1;h=ic((o<<4|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}i=c[n+8>>2]|0;k=h}if((i|0)>0){h=0;do{Z=k+(h<<4)|0;Y=(c[n+16>>2]|0)+(h<<4)|0;c[Z>>2]=c[Y>>2];c[Z+4>>2]=c[Y+4>>2];c[Z+8>>2]=c[Y+8>>2];c[Z+12>>2]=c[Y+12>>2];h=h+1|0}while((h|0)!=(i|0))}h=c[n+16>>2]|0;if(h|0){if(a[n+20>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[h+-4>>2]|0)}c[n+16>>2]=0}a[n+20>>0]=1;c[n+16>>2]=k;c[n+12>>2]=o;i=n+16|0}else i=n+16|0;h=m;do{Z=(c[i>>2]|0)+(h<<4)|0;c[Z>>2]=c[ia+136>>2];c[Z+4>>2]=c[ia+136+4>>2];c[Z+8>>2]=c[ia+136+8>>2];c[Z+12>>2]=c[ia+136+12>>2];h=h+1|0}while((h|0)!=(o|0))}c[n+8>>2]=o;if((o|0)>0){h=0;do{Z=(c[(c[d+52>>2]|0)+16>>2]|0)+(h<<4)|0;Y=(c[ga>>2]|0)+(h<<4)|0;c[Z>>2]=c[Y>>2];c[Z+4>>2]=c[Y+4>>2];c[Z+8>>2]=c[Y+8>>2];c[Z+12>>2]=c[Y+12>>2];h=h+1|0}while((h|0)!=(o|0))}if((H|0)>0){G=0;do{z=(c[fa>>2]|0)+((c[(c[ea>>2]|0)+(G<<2)>>2]|0)*12|0)|0;A=z;i=0;do{D=A+4|0;y=c[A+((c[D>>2]|0)*12|0)+8>>2]|0;t=c[aa>>2]|0;f=t+(G*36|0)+4|0;h=c[f>>2]|0;p=t+(G*36|0)+8|0;if((h|0)==(c[p>>2]|0)?(N=h|0?h<<1:1,(h|0)<(N|0)):0){if(!N)k=0;else{c[6472]=(c[6472]|0)+1;h=ic((N<<2|3)+16|0)|0;if(!h)k=0;else{c[(h+4+15&-16)+-4>>2]=h;k=h+4+15&-16}h=c[f>>2]|0}o=t+(G*36|0)+12|0;n=c[o>>2]|0;if((h|0)<=0)if(!n)m=t+(G*36|0)+16|0;else ca=132;else{m=0;do{c[k+(m<<2)>>2]=c[n+(m<<2)>>2];m=m+1|0}while((m|0)!=(h|0));ca=132}if((ca|0)==132){ca=0;m=t+(G*36|0)+16|0;if(a[m>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[n+-4>>2]|0)}c[o>>2]=0;h=c[f>>2]|0}a[m>>0]=1;c[o>>2]=k;c[p>>2]=N}c[(c[t+(G*36|0)+12>>2]|0)+(h<<2)>>2]=y;c[f>>2]=(c[f>>2]|0)+1;Y=c[A+8>>2]|0;Z=c[ga>>2]|0;s=+g[Z+(Y<<4)>>2]-+g[Z+(y<<4)>>2];u=+g[Z+(Y<<4)+4>>2]-+g[Z+(y<<4)+4>>2];r=+g[Z+(Y<<4)+8>>2]-+g[Z+(y<<4)+8>>2];q=1.0/+C(+(s*s+u*u+r*r));if((i|0)<2){g[ia+136+(i<<4)>>2]=s*q;g[ia+136+(i<<4)+4>>2]=u*q;g[ia+136+(i<<4)+8>>2]=r*q;g[ia+136+(i<<4)+12>>2]=0.0;i=i+1|0}Z=A+((c[D>>2]|0)*12|0)|0;A=Z+((c[Z>>2]|0)*12|0)|0}while((A|0)!=(z|0));h=$+(G<<4)|0;if((i|0)==2){I=+g[ia+136+4>>2];K=+g[ia+136+24>>2];W=+g[ia+136+8>>2];ja=+g[ia+136+20>>2];F=+g[ia+136+16>>2];E=+g[ia+136>>2];Y=$+(G<<4)+4|0;Z=$+(G<<4)+8|0;g[$+(G<<4)+12>>2]=0.0;ka=1.0/+C(+((I*K-W*ja)*(I*K-W*ja)+(W*F-K*E)*(W*F-K*E)+(ja*E-I*F)*(ja*E-I*F)));g[h>>2]=(I*K-W*ja)*ka;g[Y>>2]=(W*F-K*E)*ka;g[Z>>2]=(ja*E-I*F)*ka;n=c[aa>>2]|0;g[n+(G*36|0)+20>>2]=(I*K-W*ja)*ka;c[n+(G*36|0)+24>>2]=c[Y>>2];c[n+(G*36|0)+28>>2]=c[Z>>2];g[n+(G*36|0)+32>>2]=1000000015047466219876688.0e6}else{c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;n=c[aa>>2]|0}k=c[n+(G*36|0)+4>>2]|0;if((k|0)>0){m=c[(c[d+52>>2]|0)+16>>2]|0;r=+g[h>>2];s=+g[$+(G<<4)+4>>2];u=+g[$+(G<<4)+8>>2];h=c[n+(G*36|0)+12>>2]|0;q=1000000015047466219876688.0e6;i=0;do{Z=c[h+(i<<2)>>2]|0;ka=+g[m+(Z<<4)>>2]*r+ +g[m+(Z<<4)+4>>2]*s+ +g[m+(Z<<4)+8>>2]*u;q=q>ka?ka:q;i=i+1|0}while((i|0)!=(k|0))}else q=1000000015047466219876688.0e6;g[n+(G*36|0)+32>>2]=-q;G=G+1|0}while((G|0)!=(H|0))}if((c[_>>2]|0)>0){k=0;h=0;o=0;i=0;n=0;do{do if((o|0)==(i|0)){i=o|0?o<<1:1;if((o|0)<(i|0)){if((i|0)!=0?(c[6472]=(c[6472]|0)+1,O=ic((i<<2|3)+16|0)|0,(O|0)!=0):0){c[(O+4+15&-16)+-4>>2]=O;m=O+4+15&-16}else m=0;if((o|0)>0){h=0;do{c[m+(h<<2)>>2]=c[n+(h<<2)>>2];h=h+1|0}while((h|0)!=(o|0));if(!k){h=m;k=m;n=m;break}}else if((n|0)==0|(k|0)==0){h=m;k=m;n=m;break}c[6473]=(c[6473]|0)+1;nd(c[k+-4>>2]|0);h=m;k=m;n=m}else i=o}while(0);c[n+(o<<2)>>2]=o;o=o+1|0}while((o|0)<(c[_>>2]|0));N=ia+36+12|0;P=ia+36+4|0;O=ia+136+12|0;m=o;while(1){z=m+-1|0;k=c[n+(z<<2)>>2]|0;c[6472]=(c[6472]|0)+1;i=ic(23)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}c[i>>2]=k;Z=c[aa>>2]|0;r=+g[Z+(k*36|0)+20>>2];s=+g[Z+(k*36|0)+24>>2];q=+g[Z+(k*36|0)+28>>2];c:do if((m|0)>1){f=i;o=i;p=i;y=1;t=1;k=z;G=z;while(1){D=i;d:while(1){i=c[aa>>2]|0;do{Z=k;k=k+-1|0;if((Z|0)<=0){M=f;L=D;J=t;m=G;break c}A=c[n+(k<<2)>>2]|0}while(!(r*+g[i+(A*36|0)+20>>2]+s*+g[i+(A*36|0)+24>>2]+q*+g[i+(A*36|0)+28>>2]>.9990000128746033));do if((t|0)==(y|0)){y=t|0?t<<1:1;if((t|0)<(y|0)){do if(!y)m=0;else{c[6472]=(c[6472]|0)+1;i=ic((y<<2|3)+16|0)|0;if(!i){m=0;break}c[(i+4+15&-16)+-4>>2]=i;m=i+4+15&-16}while(0);if((t|0)>0){i=0;do{c[m+(i<<2)>>2]=c[D+(i<<2)>>2];i=i+1|0}while((i|0)!=(t|0));if(!p){f=m;o=m;z=m;D=m;break}}else if((D|0)==0|(p|0)==0){f=m;o=m;z=m;D=m;break}c[6473]=(c[6473]|0)+1;nd(c[p+-4>>2]|0);f=m;o=m;z=m;D=m}else{z=p;y=t}}else z=p;while(0);c[D+(t<<2)>>2]=A;t=t+1|0;i=0;while(1){p=n+(i<<2)|0;if((c[p>>2]|0)==(A|0))break;i=i+1|0;if((i|0)>=(G|0)){p=z;continue d}}if((i|0)<(G|0))break;else p=z}m=G+-1|0;Z=n+(m<<2)|0;c[p>>2]=c[Z>>2];c[Z>>2]=A;if((G|0)>1){p=z;i=D;G=m}else{p=y;i=D;ca=162;break}}}else{f=i;o=i;p=1;t=1;k=z;m=z;ca=162}while(0);e:do if((ca|0)==162){ca=0;z=i;A=t;while(1){i=c[aa>>2]|0;do{Z=k;k=k+-1|0;if((Z|0)<=0){M=f;L=z;J=A;break e}y=c[n+(k<<2)>>2]|0}while(!(r*+g[i+(y*36|0)+20>>2]+s*+g[i+(y*36|0)+24>>2]+q*+g[i+(y*36|0)+28>>2]>.9990000128746033));do if((A|0)==(p|0)){p=A|0?A<<1:1;if((A|0)<(p|0)){do if(!p)t=0;else{c[6472]=(c[6472]|0)+1;i=ic((p<<2|3)+16|0)|0;if(!i){t=0;break}c[(i+4+15&-16)+-4>>2]=i;t=i+4+15&-16}while(0);if((A|0)>0){i=0;do{c[t+(i<<2)>>2]=c[z+(i<<2)>>2];i=i+1|0}while((i|0)!=(A|0));if(!o){f=t;o=t;i=t;break}}else if((z|0)==0|(o|0)==0){f=t;o=t;i=t;break}c[6473]=(c[6473]|0)+1;nd(c[o+-4>>2]|0);f=t;o=t;i=t}else{p=A;i=z}}else i=z;while(0);c[i+(A<<2)>>2]=y;z=i;A=A+1|0}}while(0);if((J|0)>1){a[ia+36+16>>0]=1;c[N>>2]=0;c[P>>2]=0;c[ia+36+8>>2]=0;q=0.0;r=0.0;s=0.0;o=0;D=0;do{k=c[L+(D<<2)>>2]|0;q=+g[i+(k*36|0)+20>>2]+q;r=+g[i+(k*36|0)+24>>2]+r;s=+g[i+(k*36|0)+28>>2]+s;A=i+(k*36|0)+4|0;if((c[A>>2]|0)>0){z=i+(k*36|0)+12|0;i=o;y=0;while(1){f=c[(c[z>>2]|0)+(y<<2)>>2]|0;Z=(c[(c[d+52>>2]|0)+16>>2]|0)+(f<<4)|0;c[ia+136>>2]=c[Z>>2];c[ia+136+4>>2]=c[Z+4>>2];c[ia+136+8>>2]=c[Z+8>>2];c[ia+136+12>>2]=c[Z+12>>2];f:do if((i|0)>0){k=c[N>>2]|0;o=0;while(1){if((c[k+(o*24|0)+20>>2]|0)==(f|0))break f;o=o+1|0;if((o|0)>=(i|0)){ca=249;break}}}else ca=249;while(0);if((ca|0)==249){ca=0;c[ia>>2]=c[ia+136>>2];c[ia+4>>2]=c[ia+136+4>>2];c[ia+8>>2]=c[ia+136+8>>2];c[ia+12>>2]=c[ia+136+12>>2];do if((i|0)==(c[ia+36+8>>2]|0)){t=i|0?i<<1:1;if((i|0)>=(t|0))break;if(!t)k=0;else{c[6472]=(c[6472]|0)+1;i=ic((t*24|3)+16|0)|0;if(!i)k=0;else{c[(i+4+15&-16)+-4>>2]=i;k=i+4+15&-16}i=c[P>>2]|0}p=c[N>>2]|0;if((i|0)<=0){if(p)ca=258}else{o=0;do{ca=k+(o*24|0)|0;Z=p+(o*24|0)|0;c[ca>>2]=c[Z>>2];c[ca+4>>2]=c[Z+4>>2];c[ca+8>>2]=c[Z+8>>2];c[ca+12>>2]=c[Z+12>>2];c[ca+16>>2]=c[Z+16>>2];c[ca+20>>2]=c[Z+20>>2];o=o+1|0}while((o|0)!=(i|0));ca=258}if((ca|0)==258){ca=0;if(a[ia+36+16>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[p+-4>>2]|0);i=c[P>>2]|0}c[N>>2]=0}a[ia+36+16>>0]=1;c[N>>2]=k;c[ia+36+8>>2]=t}while(0);Z=c[N>>2]|0;Y=Z+(i*24|0)|0;c[Y>>2]=c[ia>>2];c[Y+4>>2]=c[ia+4>>2];c[Y+8>>2]=c[ia+8>>2];c[Y+12>>2]=c[ia+12>>2];c[Y+16>>2]=c[ia+16>>2];c[Z+(i*24|0)+20>>2]=f;i=(c[P>>2]|0)+1|0;c[P>>2]=i}y=y+1|0;if((y|0)>=(c[A>>2]|0)){o=i;break}}}D=D+1|0;i=c[aa>>2]|0}while((D|0)!=(J|0));a[ia+16>>0]=1;c[ia+12>>2]=0;c[ia+4>>2]=0;c[ia+8>>2]=0;Z=c[L>>2]|0;c[ia+20>>2]=c[i+(Z*36|0)+20>>2];c[ia+24>>2]=c[i+(Z*36|0)+24>>2];c[ia+28>>2]=c[i+(Z*36|0)+28>>2];c[ia+32>>2]=c[i+(Z*36|0)+32>>2];v=1.0/+C(+(q*q+r*r+s*s));x=q*v;w=r*v;v=s*v;if(+B(+v)>.7071067690849304){u=1.0/+C(+(v*v+w*w));r=0.0;s=w*u;u=-(v*u)}else{u=1.0/+C(+(x*x+w*w));r=-(w*u);s=0.0;u=x*u}if((o|0)<2)if((o|0)==1){k=1;o=0;p=0;i=0;do{z=c[N>>2]|0;do if((o|0)==(p|0)){y=p|0?p<<1:1;if((p|0)>=(y|0)){f=p;break}do if(!y)t=0;else{c[6472]=(c[6472]|0)+1;k=ic((y*24|3)+16|0)|0;if(!k){p=o;t=0;break}c[(k+4+15&-16)+-4>>2]=k;p=o;t=k+4+15&-16}while(0);if((p|0)<=0){if(i|0)ca=212}else{k=0;do{ca=t+(k*24|0)|0;Z=i+(k*24|0)|0;c[ca>>2]=c[Z>>2];c[ca+4>>2]=c[Z+4>>2];c[ca+8>>2]=c[Z+8>>2];c[ca+12>>2]=c[Z+12>>2];c[ca+16>>2]=c[Z+16>>2];c[ca+20>>2]=c[Z+20>>2];k=k+1|0}while((k|0)!=(p|0));ca=212}if((ca|0)==212){ca=0;c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0)}f=o;k=c[P>>2]|0;p=y;i=t}else f=o;while(0);Z=i+(f*24|0)|0;c[Z>>2]=c[z>>2];c[Z+4>>2]=c[z+4>>2];c[Z+8>>2]=c[z+8>>2];c[Z+12>>2]=c[z+12>>2];c[Z+16>>2]=c[z+16>>2];c[Z+20>>2]=c[z+20>>2];o=o+1|0}while((o|0)<(k|0));ca=264}else{i=0;ca=303}else{p=c[N>>2]|0;i=o;k=0;do{if(r*+g[p+(k*24|0)>>2]+u*+g[p+(k*24|0)+4>>2]+s*+g[p+(k*24|0)+8>>2]>2]+u*+g[p+4>>2]+s*+g[p+8>>2]){c[ia+136>>2]=c[p>>2];c[ia+136+4>>2]=c[p+4>>2];c[ia+136+8>>2]=c[p+8>>2];c[ia+136+12>>2]=c[p+12>>2];c[ia+136+16>>2]=c[p+16>>2];c[ia+136+20>>2]=c[p+20>>2];i=p+(k*24|0)|0;c[p>>2]=c[i>>2];c[p+4>>2]=c[i+4>>2];c[p+8>>2]=c[i+8>>2];c[p+12>>2]=c[i+12>>2];c[p+16>>2]=c[i+16>>2];c[p+20>>2]=c[i+20>>2];i=p+(k*24|0)|0;c[i>>2]=c[ia+136>>2];c[i+4>>2]=c[ia+136+4>>2];c[i+8>>2]=c[ia+136+8>>2];c[i+12>>2]=c[ia+136+12>>2];c[i+16>>2]=c[ia+136+16>>2];c[i+20>>2]=c[ia+136+20>>2];i=o}k=k+1|0}while((k|0)<(i|0));g[p+16>>2]=-1000000015047466219876688.0e6;if((i|0)>1){q=+g[p+4>>2];k=1;do{W=+g[p+(k*24|0)>>2]-+g[p>>2];ja=+g[p+(k*24|0)+4>>2]-q;ka=+g[p+(k*24|0)+8>>2]-+g[p+8>>2];g[p+(k*24|0)+16>>2]=((r*ja-u*W)*v+(x*(u*ka-s*ja)+w*(s*W-r*ka)))/+C(+(W*W+ja*ja+ka*ka));k=k+1|0}while((k|0)!=(i|0))}c[ia+136>>2]=c[p>>2];c[ia+136+4>>2]=c[p+4>>2];c[ia+136+8>>2]=c[p+8>>2];c[ia+136+12>>2]=c[p+12>>2];jf(ia+36|0,ia+136|0,1,i+-1|0);k=c[N>>2]|0;c[6472]=(c[6472]|0)+1;i=ic(43)|0;if(!i)p=0;else{c[(i+4+15&-16)+-4>>2]=i;p=i+4+15&-16}o=c[N>>2]|0;c[p>>2]=c[k>>2];c[p+4>>2]=c[k+4>>2];c[p+8>>2]=c[k+8>>2];c[p+12>>2]=c[k+12>>2];c[p+16>>2]=c[k+16>>2];c[p+20>>2]=c[k+20>>2];c[6472]=(c[6472]|0)+1;i=ic(67)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}c[i>>2]=c[p>>2];c[i+4>>2]=c[p+4>>2];c[i+8>>2]=c[p+8>>2];c[i+12>>2]=c[p+12>>2];c[i+16>>2]=c[p+16>>2];c[i+20>>2]=c[p+20>>2];if(p|0){c[6473]=(c[6473]|0)+1;nd(c[p+-4>>2]|0)}k=i+24|0;c[k>>2]=c[o+24>>2];c[k+4>>2]=c[o+24+4>>2];c[k+8>>2]=c[o+24+8>>2];c[k+12>>2]=c[o+24+12>>2];c[k+16>>2]=c[o+24+16>>2];c[k+20>>2]=c[o+24+20>>2];k=c[P>>2]|0;if((k|0)==2){k=2;o=2}else{t=2;o=2;p=2;z=2;do{g:do if((t|0)>1){ca=c[N>>2]|0;y=ca+(z*24|0)|0;q=+g[y>>2];r=+g[ca+(z*24|0)+4>>2];s=+g[ca+(z*24|0)+8>>2];while(1){ca=t+-2|0;f=t+-1|0;W=+g[i+(ca*24|0)>>2];ja=W-+g[i+(f*24|0)>>2];I=+g[i+(ca*24|0)+4>>2];F=I-+g[i+(f*24|0)+4>>2];ka=+g[i+(ca*24|0)+8>>2];K=ka-+g[i+(f*24|0)+8>>2];if((ja*(I-r)-F*(W-q))*v+(x*(F*(ka-s)-K*(I-r))+w*(K*(W-q)-ja*(ka-s)))>0.0)break;if((f|0)>1){t=f;o=f}else{t=1;o=f;break g}}do if((t|0)==(p|0)){f=p<<1;if((p|0)>=(f|0)){t=p;f=p;break}c[6472]=(c[6472]|0)+1;k=ic((p*48|3)+16|0)|0;if(!k)p=0;else{c[(k+4+15&-16)+-4>>2]=k;p=k+4+15&-16}if((o|0)>0){k=0;do{ca=p+(k*24|0)|0;Z=i+(k*24|0)|0;c[ca>>2]=c[Z>>2];c[ca+4>>2]=c[Z+4>>2];c[ca+8>>2]=c[Z+8>>2];c[ca+12>>2]=c[Z+12>>2];c[ca+16>>2]=c[Z+16>>2];c[ca+20>>2]=c[Z+20>>2];k=k+1|0}while((k|0)!=(o|0))}c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0);k=c[P>>2]|0;t=o;i=p}else f=p;while(0);t=i+(t*24|0)|0;c[t>>2]=c[y>>2];c[t+4>>2]=c[y+4>>2];c[t+8>>2]=c[y+8>>2];c[t+12>>2]=c[y+12>>2];c[t+16>>2]=c[y+16>>2];c[t+20>>2]=c[y+20>>2];o=o+1|0;t=o;p=f}while(0);z=z+1|0}while((z|0)!=(k|0))}ca=264}h:do if((ca|0)==264){ca=0;if((o|0)>0){p=c[ia+4>>2]|0;k=c[ia+8>>2]|0;y=a[ia+16>>0]|0;H=0;while(1){G=i+(H*24|0)+20|0;do if((p|0)==(k|0)){A=k|0?k<<1:1;if((k|0)>=(A|0)){D=y;p=k;A=k;break}do if(!A)f=0;else{c[6472]=(c[6472]|0)+1;p=ic((A<<2|3)+16|0)|0;if(!p){f=0;break}c[(p+4+15&-16)+-4>>2]=p;f=p+4+15&-16}while(0);t=c[ia+12>>2]|0;if((k|0)<=0){if(t)ca=293}else{p=0;do{c[f+(p<<2)>>2]=c[t+(p<<2)>>2];p=p+1|0}while((p|0)!=(k|0));ca=293}if((ca|0)==293){ca=0;if(y<<24>>24){c[6473]=(c[6473]|0)+1;nd(c[t+-4>>2]|0)}c[ia+12>>2]=0;k=c[ia+4>>2]|0}c[ia+12>>2]=f;c[ia+8>>2]=A;D=1;p=k}else{D=y;A=k}while(0);c[(c[ia+12>>2]|0)+(p<<2)>>2]=c[G>>2];p=p+1|0;c[ia+4>>2]=p;k=c[P>>2]|0;i:do if((k|0)>0){z=c[N>>2]|0;t=c[G>>2]|0;f=0;while(1){y=z+(f*24|0)+20|0;f=f+1|0;if((c[y>>2]|0)==(t|0))break;if((f|0)>=(k|0))break i}c[y>>2]=-1}while(0);H=H+1|0;if((H|0)>=(o|0))break;else{k=A;y=D}}a[ia+16>>0]=D}if((k|0)<=0){ca=303;break}y=c[N>>2]|0;z=c[_>>2]|0;A=c[aa>>2]|0;G=(J|0)>0;if((z|0)>0)H=0;else{ca=303;break}while(1){D=c[y+(H*24|0)+20>>2]|0;j:do if((D|0)!=-1){if(G)f=0;else{t=0;while(1){o=c[A+(t*36|0)+4>>2]|0;if((o|0)>0){p=c[A+(t*36|0)+12>>2]|0;f=0;do{if((c[p+(f<<2)>>2]|0)==(D|0)){k=1;break h}f=f+1|0}while((f|0)<(o|0))}t=t+1|0;if((t|0)>=(z|0))break j}}do{o=0;while(1){if((c[L+(o<<2)>>2]|0)==(f|0))break;o=o+1|0;if((o|0)>=(J|0)){ca=279;break}}do if((ca|0)==279){ca=0;o=c[A+(f*36|0)+4>>2]|0;if((o|0)<=0)break;p=c[A+(f*36|0)+12>>2]|0;t=0;do{if((c[p+(t<<2)>>2]|0)==(D|0)){k=1;break h}t=t+1|0}while((t|0)<(o|0))}while(0);f=f+1|0}while((f|0)<(z|0))}while(0);H=H+1|0;if((H|0)>=(k|0)){ca=303;break}}}while(0);if((ca|0)==303){ca=0;ah((c[d+52>>2]|0)+24|0,ia);k=0}if(i|0){c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0)}i=c[ia+12>>2]|0;if(i|0){if(a[ia+16>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0)}c[ia+12>>2]=0}i=c[N>>2]|0;if(i|0){if(a[ia+36+16>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0)}c[N>>2]=0}if(k&(J|0)>0){y=0;ca=315}}else if((J|0)==1){y=0;ca=315}if((ca|0)==315)while(1){ca=0;t=c[L+(y<<2)>>2]|0;f=c[aa>>2]|0;a[ia+136+16>>0]=1;c[O>>2]=0;c[ia+136+4>>2]=0;c[ia+136+8>>2]=0;p=c[f+(t*36|0)+4>>2]|0;if((p|0)>0){c[6472]=(c[6472]|0)+1;o=ic((p<<2|3)+16|0)|0;do if(!o){k=0;i=0;ca=319}else{c[(o+4+15&-16)+-4>>2]=o;i=c[O>>2]|0;if(!i){k=o+4+15&-16;i=o+4+15&-16;ca=319;break}c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0);a[ia+136+16>>0]=1;c[O>>2]=o+4+15&-16;c[ia+136+8>>2]=p;Nk(o+4+15&-16|0,0,p<<2|0)|0;k=o+4+15&-16}while(0);if((ca|0)==319){ca=0;a[ia+136+16>>0]=1;c[O>>2]=i;c[ia+136+8>>2]=p;Nk(i|0,0,p<<2|0)|0}c[ia+136+4>>2]=p;i=c[f+(t*36|0)+12>>2]|0;o=0;do{c[k+(o<<2)>>2]=c[i+(o<<2)>>2];o=o+1|0}while((o|0)!=(p|0));i=c[O>>2]|0}else{c[ia+136+4>>2]=p;i=0}c[ia+136+20>>2]=c[f+(t*36|0)+20>>2];c[ia+136+20+4>>2]=c[f+(t*36|0)+20+4>>2];c[ia+136+20+8>>2]=c[f+(t*36|0)+20+8>>2];c[ia+136+20+12>>2]=c[f+(t*36|0)+20+12>>2];ah((c[d+52>>2]|0)+24|0,ia+136|0);if(i|0){if(a[ia+136+16>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0)}c[O>>2]=0}y=y+1|0;if((y|0)>=(J|0))break;else ca=315}if(!((L|0)==0|(M|0)==0)){c[6473]=(c[6473]|0)+1;nd(c[M+-4>>2]|0)}if(!m){Z=h;break}}}else{Z=0;n=0}Y=c[d+52>>2]|0;c[Y+64>>2]=0;c[Y+64+4>>2]=0;c[Y+64+8>>2]=0;c[Y+64+12>>2]=0;h=c[Y+28>>2]|0;if((h|0)>0){z=0;G=0;y=0;i=0;k=0;J=0;D=0;f=0;m=0;H=0;t=0;o=0;A=0;L=0;X=0;while(1){p=c[Y+36>>2]|0;V=c[p+(X*36|0)+4>>2]|0;if((V|0)>0){T=X&65535;U=X|-65536;Q=z;O=y;R=D;N=t;h=0;while(1){S=h+1|0;D=c[p+(X*36|0)+12>>2]|0;t=c[D+(h<<2)>>2]&65535;D=c[D+(((S|0)==(V|0)?0:S)<<2)>>2]&65535;P=D<<16>>16>t<<16>>16?t:D;d=D<<16>>16>t<<16>>16?D:t;p=D<<16>>16>t<<16>>16?t:D;t=D<<16>>16>t<<16>>16?D:t;D=N+-1|0;k:do if((((p&65535)<<16)+(t<<16>>16)&D)>>>0>>0?(da=c[k+((((p&65535)<<16)+(t<<16>>16)&D)<<2)>>2]|0,(da|0)!=-1):0){h=da;while(1){if(t<<16>>16==(b[i+(h<<2)>>1]|0)?p<<16>>16==(b[i+(h<<2)+2>>1]|0):0)break;h=c[m+(h<<2)>>2]|0;if((h|0)==-1){z=0;break k}}z=o+(h<<2)|0}else z=0;while(0);h=c[Y+16>>2]|0;v=+g[h+(p<<16>>16<<4)>>2]-+g[h+(t<<16>>16<<4)>>2];w=+g[h+(p<<16>>16<<4)+4>>2]-+g[h+(t<<16>>16<<4)+4>>2];u=+g[h+(p<<16>>16<<4)+8>>2]-+g[h+(t<<16>>16<<4)+8>>2];s=1.0/+C(+(v*v+w*w+u*u));h=c[Y+48>>2]|0;l:do if((h|0)>0){p=c[Y+56>>2]|0;t=0;while(1){q=+g[p+(t<<4)>>2];r=+g[p+(t<<4)+8>>2];do if(!(+B(+(q-v*s))>1.0e-06)){if(+B(+(+g[p+(t<<4)+4>>2]-w*s))>1.0e-06)break;if(!(+B(+(r-u*s))>1.0e-06))break l}while(0);do if(!(+B(+(v*s+q))>1.0e-06)){if(+B(+(w*s+ +g[p+(t<<4)+4>>2]))>1.0e-06)break;if(!(+B(+(u*s+r))>1.0e-06))break l}while(0);t=t+1|0;if((t|0)>=(h|0)){ca=356;break}}}else ca=356;while(0);if((ca|0)==356){ca=0;do if((h|0)==(c[Y+52>>2]|0)){y=h|0?h<<1:1;if((h|0)>=(y|0))break;if(!y)p=0;else{c[6472]=(c[6472]|0)+1;h=ic((y<<4|3)+16|0)|0;if(!h)p=0;else{c[(h+4+15&-16)+-4>>2]=h;p=h+4+15&-16}h=c[Y+48>>2]|0}if((h|0)>0){t=0;do{M=p+(t<<4)|0;la=(c[Y+56>>2]|0)+(t<<4)|0;c[M>>2]=c[la>>2];c[M+4>>2]=c[la+4>>2];c[M+8>>2]=c[la+8>>2];c[M+12>>2]=c[la+12>>2];t=t+1|0}while((t|0)!=(h|0))}h=c[Y+56>>2]|0;if(h|0){if(a[Y+60>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[h+-4>>2]|0)}c[Y+56>>2]=0}a[Y+60>>0]=1;c[Y+56>>2]=p;c[Y+52>>2]=y;h=c[Y+48>>2]|0}while(0);la=c[Y+56>>2]|0;g[la+(h<<4)>>2]=v*s;g[la+(h<<4)+4>>2]=w*s;g[la+(h<<4)+8>>2]=u*s;g[la+(h<<4)+12>>2]=0.0;c[Y+48>>2]=(c[Y+48>>2]|0)+1}m:do if(!z){h=((P&65535)<<16)+(d<<16>>16)&D;n:do if(h>>>0>>0){p=c[k+(h<<2)>>2]|0;if((p|0)==-1)break;while(1){if(d<<16>>16==(b[i+(p<<2)>>1]|0)?P<<16>>16==(b[i+(p<<2)+2>>1]|0):0)break;p=c[m+(p<<2)>>2]|0;if((p|0)==-1)break n}z=o+(p<<2)|0;b[z>>1]=U;b[z+2>>1]=U>>>16;z=Q;y=O;D=R;t=N;break m}while(0);do if((H|0)==(N|0)){t=H|0?H<<1:1;if((H|0)>=(t|0)){t=H;break}do if(!t)y=0;else{c[6472]=(c[6472]|0)+1;p=ic((t<<2|3)+16|0)|0;if(!p){y=0;break}c[(p+4+15&-16)+-4>>2]=p;y=p+4+15&-16}while(0);if((H|0)<=0){if(!o){o=y;break}}else{p=0;do{la=y+(p<<2)|0;M=o+(p<<2)|0;M=e[M>>1]|e[M+2>>1]<<16;b[la>>1]=M;b[la+2>>1]=M>>>16;p=p+1|0}while((p|0)!=(H|0))}c[6473]=(c[6473]|0)+1;nd(c[o+-4>>2]|0);o=y}else t=N;while(0);M=o+(H<<2)|0;b[M>>1]=U;b[M+2>>1]=U>>>16;M=H+1|0;do if((L|0)==(O|0)){y=L|0?L<<1:1;if((L|0)>=(y|0)){y=L;break}do if(!y)z=0;else{c[6472]=(c[6472]|0)+1;p=ic((y<<2|3)+16|0)|0;if(!p){z=0;break}c[(p+4+15&-16)+-4>>2]=p;z=p+4+15&-16}while(0);if((L|0)<=0){if(!i){i=z;break}}else{p=0;do{la=z+(p<<2)|0;O=i+(p<<2)|0;O=e[O>>1]|e[O+2>>1]<<16;b[la>>1]=O;b[la+2>>1]=O>>>16;p=p+1|0}while((p|0)!=(L|0))}c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0);i=z}else y=O;while(0);la=i+(L<<2)|0;b[la>>1]=(P&65535)<<16|d&65535;b[la+2>>1]=((P&65535)<<16|d&65535)>>>16;L=L+1|0;if((N|0)<(t|0)){do if((J|0)<(t|0)){do if((A|0)<(t|0)){do if(!t)p=0;else{c[6472]=(c[6472]|0)+1;h=ic((t<<2|3)+16|0)|0;if(!h){p=0;break}c[(h+4+15&-16)+-4>>2]=h;p=h+4+15&-16}while(0);if((J|0)<=0){if(!k){G=p;k=p;A=t;break}}else{h=0;do{c[p+(h<<2)>>2]=c[k+(h<<2)>>2];h=h+1|0}while((h|0)!=(J|0))}c[6473]=(c[6473]|0)+1;nd(c[k+-4>>2]|0);G=p;k=p;A=t}while(0);D=t<<2;Nk(k+(J<<2)|0,0,D-(J<<2)|0)|0;if((R|0)<(t|0)){do if((f|0)<(t|0)){do if(!t)p=0;else{c[6472]=(c[6472]|0)+1;h=ic((D|3)+16|0)|0;if(!h){p=0;break}c[(h+4+15&-16)+-4>>2]=h;p=h+4+15&-16}while(0);if((R|0)<=0){if(!m){h=p;f=t;m=p;break}}else{h=0;do{c[p+(h<<2)>>2]=c[m+(h<<2)>>2];h=h+1|0}while((h|0)!=(R|0))}c[6473]=(c[6473]|0)+1;nd(c[m+-4>>2]|0);h=p;f=t;m=p}else h=Q;while(0);Nk(m+(R<<2)|0,0,D-(R<<2)|0)|0;z=h}else z=Q;if((t|0)>0){Nk(G|0,-1,D|0)|0;Nk(z|0,-1,D|0)|0}if((J|0)<=0){p=t;D=t;h=A;break}p=t+-1|0;h=0;do{la=k+(((e[i+(h<<2)+2>>1]<<16)+(b[i+(h<<2)>>1]|0)&p)<<2)|0;c[m+(h<<2)>>2]=c[la>>2];c[la>>2]=h;h=h+1|0}while((h|0)!=(J|0));p=t;D=t;h=A}else{z=Q;p=J;D=R;h=A}while(0);A=h;h=((P&65535)<<16)+(d<<16>>16)&t+-1}else{z=Q;p=J;D=R}J=k+(h<<2)|0;c[m+(H<<2)>>2]=c[J>>2];c[J>>2]=H;J=p;H=M}else{b[z+2>>1]=T;z=Q;y=O;D=R;t=N}while(0);if((S|0)>=(V|0))break;p=c[Y+36>>2]|0;Q=z;O=y;R=D;N=t;h=S}h=c[Y+28>>2]|0;p=L}else p=L;X=X+1|0;if((X|0)>=(h|0))break;else L=p}if((h|0)>0){z=c[Y+36>>2]|0;A=c[Y+16>>2]|0;q=0.0;D=0;do{t=c[z+(D*36|0)+4>>2]|0;f=c[z+(D*36|0)+12>>2]|0;y=c[f>>2]|0;if((t+-2|0)>=1){r=+g[Y+64>>2];s=+g[Y+68>>2];u=+g[Y+72>>2];p=1;do{da=c[f+(p<<2)>>2]|0;p=p+1|0;la=c[f+(((p|0)%(t|0)|0)<<2)>>2]|0;v=+g[A+(y<<4)>>2];w=+g[A+(da<<4)>>2];E=+g[A+(y<<4)+4>>2];F=+g[A+(da<<4)+4>>2];K=+g[A+(y<<4)+8>>2];W=+g[A+(da<<4)+8>>2];x=+g[A+(la<<4)>>2];I=+g[A+(la<<4)+4>>2];ja=+g[A+(la<<4)+8>>2];ka=+C(+(((v-w)*(E-I)-(E-F)*(v-x))*((v-w)*(E-I)-(E-F)*(v-x))+(((E-F)*(K-ja)-(K-W)*(E-I))*((E-F)*(K-ja)-(K-W)*(E-I))+((K-W)*(v-x)-(v-w)*(K-ja))*((K-W)*(v-x)-(v-w)*(K-ja)))))*.5;r=r+(v+w+x)*.3333333432674408*ka;g[Y+64>>2]=r;s=(E+F+I)*.3333333432674408*ka+s;g[Y+68>>2]=s;u=ka*(K+W+ja)*.3333333432674408+u;g[Y+72>>2]=u;q=q+ka}while((p|0)!=(t+-1|0))}D=D+1|0}while((D|0)!=(h|0));p=Y+64|0;t=1;y=i;f=k}else ca=335}else{i=0;k=0;m=0;o=0;ca=335}if((ca|0)==335){q=0.0;p=Y+64|0;t=0;y=i;f=k}u=1.0/q;v=u*+g[p>>2];g[p>>2]=v;s=u*+g[Y+68>>2];g[Y+68>>2]=s;u=u*+g[Y+72>>2];g[Y+72>>2]=u;g[Y+96>>2]=3402823466385288598117041.0e14;if(t){i=c[Y+36>>2]|0;q=3402823466385288598117041.0e14;k=0;do{r=+B(+(+g[i+(k*36|0)+32>>2]+(+g[i+(k*36|0)+20>>2]*v+ +g[i+(k*36|0)+24>>2]*s+ +g[i+(k*36|0)+28>>2]*u)));if(r>2]=r;q=r}k=k+1|0}while((k|0)<(h|0))}else q=3402823466385288598117041.0e14;h=c[Y+8>>2]|0;if((h|0)>0){i=c[Y+16>>2]|0;x=-3402823466385288598117041.0e14;w=-3402823466385288598117041.0e14;v=-3402823466385288598117041.0e14;u=3402823466385288598117041.0e14;s=3402823466385288598117041.0e14;r=3402823466385288598117041.0e14;k=0;do{ka=+g[i+(k<<4)>>2];u=kax?ka:x;ka=+g[i+(k<<4)+4>>2];s=kaw?ka:w;ka=+g[i+(k<<4)+8>>2];r=kav?ka:v;k=k+1|0}while((k|0)!=(h|0))}else{x=-3402823466385288598117041.0e14;w=-3402823466385288598117041.0e14;v=-3402823466385288598117041.0e14;u=3402823466385288598117041.0e14;s=3402823466385288598117041.0e14;r=3402823466385288598117041.0e14}g[Y+100>>2]=u+x;g[Y+104>>2]=s+w;g[Y+108>>2]=r+v;g[Y+112>>2]=0.0;ka=x-u;ja=w-s;r=v-r;g[Y+116>>2]=ka;g[Y+120>>2]=ja;g[Y+124>>2]=r;g[Y+128>>2]=0.0;s=q/1.7320507764816284;p=ka>2]*.5-s)*.0009765625;g[Y+88>>2]=s;g[Y+84>>2]=s;g[Y+80>>2]=s;q=+g[Y+116+(p<<2)>>2]*.5;g[Y+80+(p<<2)>>2]=q;h=0;while(1){if(Tg(Y)|0){ca=441;break}q=q-r;g[Y+80+(p<<2)>>2]=q;h=h+1|0;if((h|0)>=1024){ca=440;break}}o:do if((ca|0)==440){g[Y+88>>2]=s;g[Y+84>>2]=s;g[Y+80>>2]=s}else if((ca|0)==441){r=(+g[Y+96>>2]-s)*.0009765625;i=c[Y+80+((1<<(1<>2]|0;k=0;while(1){h=c[Y+80+((1<>2]|0;g[Y+80+((1<>2]=r+(c[j>>2]=h,+g[j>>2]);q=r+ +g[Y+80+((1<<(1<>2];g[Y+80+((1<<(1<>2]=q;k=k+1|0;if(!(Tg(Y)|0))break;if((k|0)>=1024)break o;else i=(g[j>>2]=q,c[j>>2]|0)}c[Y+80+((1<>2]=h;c[Y+80+((1<<(1<>2]=i}while(0);if(y|0){c[6473]=(c[6473]|0)+1;nd(c[y+-4>>2]|0)}if(o|0){c[6473]=(c[6473]|0)+1;nd(c[o+-4>>2]|0)}if(m|0){c[6473]=(c[6473]|0)+1;nd(c[m+-4>>2]|0)}if(f|0){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0)}if(!((n|0)==0|(Z|0)==0)){c[6473]=(c[6473]|0)+1;nd(c[Z+-4>>2]|0)}o=c[_>>2]|0;p=c[aa>>2]|0;if((o|0)<=0){if(p|0)ca=462}else{k=0;do{n=p+(k*36|0)+4|0;m=p+(k*36|0)+12|0;i=c[m>>2]|0;h=p+(k*36|0)+16|0;if(i|0){if(a[h>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0)}c[m>>2]=0}a[h>>0]=1;c[m>>2]=0;c[n>>2]=0;c[p+(k*36|0)+8>>2]=0;k=k+1|0}while((k|0)!=(o|0));ca=462}if((ca|0)==462){if(a[ia+56+16>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[p+-4>>2]|0)}c[aa>>2]=0}if(!(($|0)==0|(ba|0)==0)){c[6473]=(c[6473]|0)+1;nd(c[ba+-4>>2]|0)}h=c[ea>>2]|0;if(h|0){if(a[ia+76+56>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[h+-4>>2]|0)}c[ea>>2]=0}a[ia+76+56>>0]=1;c[ea>>2]=0;c[ia+76+44>>2]=0;c[ia+76+48>>2]=0;h=c[fa>>2]|0;if(h|0){if(a[ia+76+36>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[h+-4>>2]|0)}c[fa>>2]=0}a[ia+76+36>>0]=1;c[fa>>2]=0;c[ia+76+24>>2]=0;c[ia+76+28>>2]=0;h=c[ga>>2]|0;if(h|0){if(a[ia+76+16>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[h+-4>>2]|0)}c[ga>>2]=0}if(!ha){l=ia;return 1}c[6473]=(c[6473]|0)+1;nd(c[ha+-4>>2]|0);l=ia;return 1}function Yb(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,m=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.0,y=0.0,z=0.0,A=0.0,D=0.0,G=0,H=0.0,I=0,J=0,K=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,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,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,ra=0.0,sa=0,ta=0,ua=0,va=0;va=l;l=l+688|0;j=c[b+20>>2]|0;if(!j){j=c[b+4>>2]|0;j=ub[c[(c[j>>2]|0)+12>>2]&63](j,c[d+8>>2]|0,c[e+8>>2]|0)|0;c[b+20>>2]=j;a[b+16>>0]=1}c[h+4>>2]=j;sa=c[d+4>>2]|0;ta=c[e+4>>2]|0;k=c[sa+4>>2]|0;i=c[ta+4>>2]|0;if((k|0)==10&(i|0)==10){S=+g[j+752>>2];qa=c[sa+52>>2]|0;s=+g[sa+28+(qa<<2)>>2];R=+g[sa+28+(((qa+2|0)%3|0)<<2)>>2];ua=c[ta+52>>2]|0;o=+g[ta+28+(ua<<2)>>2];Q=+g[ta+28+(((ua+2|0)%3|0)<<2)>>2];b=c[d+12>>2]|0;d=c[e+12>>2]|0;D=+g[b+(qa<<2)>>2];L=+g[b+16+(qa<<2)>>2];H=+g[b+32+(qa<<2)>>2];q=+g[d+(ua<<2)>>2];r=+g[d+16+(ua<<2)>>2];u=+g[d+32+(ua<<2)>>2];N=+g[d+48>>2];O=+g[d+52>>2];P=+g[d+56>>2];y=N-+g[b+48>>2];z=O-+g[b+52>>2];A=P-+g[b+56>>2];n=1.0-(D*q+L*r+H*u)*(D*q+L*r+H*u);if(!(n==0.0)){n=(D*y+L*z+H*A-(D*q+L*r+H*u)*(q*y+r*z+u*A))/n;if(!(n<-s)){if(n>s)n=s}else n=-s}else n=0.0;p=(D*q+L*r+H*u)*n-(q*y+r*z+u*A);if(p<-o){n=(D*q+L*r+H*u)*-o+(D*y+L*z+H*A);if(!(n<-s))if(n>s){n=s;o=-o}else o=-o;else{n=-s;o=-o}}else if(p>o){n=o*(D*q+L*r+H*u)+(D*y+L*z+H*A);if(!(n<-s)){if(n>s)n=s}else n=-s}else o=p;x=q*o;w=r*o;u=u*o;o=x+(y-D*n);r=w+(z-L*n);n=u+(A-H*n);s=+C(+(n*n+(o*o+r*r)));if(!(s-R-Q>S)){do if(n*n+(o*o+r*r)<=1.4210854715202004e-14)if(+B(+H)>.7071067690849304){n=1.0/+C(+(L*L+H*H));g[va+280>>2]=0.0;g[va+280+4>>2]=-(H*n);q=L*n;i=2;p=0.0;o=-(H*n);n=L*n;break}else{o=1.0/+C(+(D*D+L*L));g[va+280>>2]=-(L*o);g[va+280+4>>2]=D*o;q=0.0;i=2;p=-(L*o);o=D*o;n=0.0;break}else{g[va+280>>2]=o*-(1.0/s);g[va+280+4>>2]=r*-(1.0/s);g[va+280+8>>2]=n*-(1.0/s);q=0.0;i=3;p=o*-(1.0/s);o=r*-(1.0/s);n=n*-(1.0/s)}while(0);g[va+280+(i<<2)>>2]=q;g[va+264>>2]=Q*p+(x+N);g[va+264+4>>2]=Q*o+(w+O);g[va+264+8>>2]=Q*n+(u+P);g[va+264+12>>2]=0.0}if(s-R-Q>2]|0)+16>>2]&15](h,va+280|0,va+264|0,s-R-Q);j=c[h+4>>2]|0}if(!(c[j+748>>2]|0)){l=va;return}k=c[j+740>>2]|0;m=c[(c[h+8>>2]|0)+8>>2]|0;i=c[(c[h+12>>2]|0)+8>>2]|0;if((k|0)==(m|0)){Oe(j,k+4|0,i+4|0);l=va;return}else{Oe(j,i+4|0,m+4|0);l=va;return}}g[va+128+128>>2]=999999984306749440.0;K=c[b+8>>2]|0;v=c[b+12>>2]|0;c[va+48>>2]=9400;c[va+48+4>>2]=0;c[va+48+8>>2]=1065353216;c[va+48+12>>2]=0;g[va+48+16>>2]=0.0;c[va+48+20>>2]=v;c[va+48+24>>2]=K;c[va+48+28>>2]=sa;c[va+48+32>>2]=ta;c[va+48+36>>2]=k;c[va+48+40>>2]=i;g[va+48+44>>2]=+gb[c[(c[sa>>2]|0)+48>>2]&15](sa);g[va+48+48>>2]=+gb[c[(c[ta>>2]|0)+48>>2]&15](ta);a[va+48+52>>0]=0;c[va+48+60>>2]=-1;c[va+48+72>>2]=1;c[va+48+76>>2]=1;c[va+48+28>>2]=sa;c[va+48+32>>2]=ta;pa=+gb[c[(c[sa>>2]|0)+48>>2]&15](sa);ra=+gb[c[(c[ta>>2]|0)+48>>2]&15](ta);ra=pa+ra+ +g[(c[b+20>>2]|0)+752>>2];g[va+128+128>>2]=ra*ra;K=c[d+12>>2]|0;c[va+128>>2]=c[K>>2];c[va+128+4>>2]=c[K+4>>2];c[va+128+8>>2]=c[K+8>>2];c[va+128+12>>2]=c[K+12>>2];k=va+128+16|0;c[k>>2]=c[K+16>>2];c[k+4>>2]=c[K+16+4>>2];c[k+8>>2]=c[K+16+8>>2];c[k+12>>2]=c[K+16+12>>2];v=va+128+32|0;c[v>>2]=c[K+32>>2];c[v+4>>2]=c[K+32+4>>2];c[v+8>>2]=c[K+32+8>>2];c[v+12>>2]=c[K+32+12>>2];I=va+128+48|0;c[I>>2]=c[K+48>>2];c[I+4>>2]=c[K+48+4>>2];c[I+8>>2]=c[K+48+8>>2];c[I+12>>2]=c[K+48+12>>2];K=va+128+64|0;i=c[e+12>>2]|0;c[K>>2]=c[i>>2];c[K+4>>2]=c[i+4>>2];c[K+8>>2]=c[i+8>>2];c[K+12>>2]=c[i+12>>2];t=va+128+80|0;c[t>>2]=c[i+16>>2];c[t+4>>2]=c[i+16+4>>2];c[t+8>>2]=c[i+16+8>>2];c[t+12>>2]=c[i+16+12>>2];G=va+128+96|0;c[G>>2]=c[i+32>>2];c[G+4>>2]=c[i+32+4>>2];c[G+8>>2]=c[i+32+8>>2];c[G+12>>2]=c[i+32+12>>2];J=va+128+112|0;c[J>>2]=c[i+48>>2];c[J+4>>2]=c[i+48+4>>2];c[J+8>>2]=c[i+48+8>>2];c[J+12>>2]=c[i+48+12>>2];i=c[sa+4>>2]|0;if((i|0)<7?(m=c[ta+4>>2]|0,(m|0)<7):0){c[va+40>>2]=6272;if(!i){i=m;o=0.0}else{o=+gb[c[(c[sa>>2]|0)+48>>2]&15](sa);i=c[ta+4>>2]|0}if(!i)n=0.0;else n=+gb[c[(c[ta>>2]|0)+48>>2]&15](ta);c[va>>2]=6300;c[va+4>>2]=h;g[va+24>>2]=o;g[va+28>>2]=n;a[va+36>>0]=0;V=c[sa+52>>2]|0;a:do if(V|0){ma=c[ta+52>>2]|0;do if(!ma){if((c[ta+4>>2]|0)!=1)break a;G=va+624+16|0;a[G>>0]=1;v=va+624+12|0;c[v>>2]=0;t=va+624+4|0;c[t>>2]=0;m=va+624+8|0;c[m>>2]=0;i=c[e+12>>2]|0;pa=+g[ta+56>>2];ra=+g[ta+56+4>>2];o=+g[ta+56+8>>2];n=pa*+g[i>>2]+ra*+g[i+4>>2]+o*+g[i+8>>2]+ +g[i+48>>2];p=pa*+g[i+16>>2]+ra*+g[i+20>>2]+o*+g[i+24>>2]+ +g[i+52>>2];o=pa*+g[i+32>>2]+ra*+g[i+36>>2]+o*+g[i+40>>2]+ +g[i+56>>2];c[6472]=(c[6472]|0)+1;i=ic(35)|0;if(!i)j=0;else{c[(i+4+15&-16)+-4>>2]=i;j=i+4+15&-16}i=c[v>>2]|0;if(!i)i=0;else{c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0);i=c[t>>2]|0;c[v>>2]=0}a[G>>0]=1;c[v>>2]=j;c[m>>2]=1;g[j+(i<<4)>>2]=n;g[j+(i<<4)+4>>2]=p;g[j+(i<<4)+8>>2]=o;g[j+(i<<4)+12>>2]=0.0;i=(c[t>>2]|0)+1|0;c[t>>2]=i;ua=c[e+12>>2]|0;pa=+g[ta+56+16>>2];ra=+g[ta+56+20>>2];o=+g[ta+56+24>>2];n=pa*+g[ua>>2]+ra*+g[ua+4>>2]+o*+g[ua+8>>2]+ +g[ua+48>>2];p=pa*+g[ua+16>>2]+ra*+g[ua+20>>2]+o*+g[ua+24>>2]+ +g[ua+52>>2];o=pa*+g[ua+32>>2]+ra*+g[ua+36>>2]+o*+g[ua+40>>2]+ +g[ua+56>>2];if((i|0)==(c[m>>2]|0)?(M=i|0?i<<1:1,(i|0)<(M|0)):0){if(!M)j=0;else{c[6472]=(c[6472]|0)+1;i=ic((M<<4|3)+16|0)|0;if(!i)j=0;else{c[(i+4+15&-16)+-4>>2]=i;j=i+4+15&-16}i=c[t>>2]|0}if((i|0)>0){k=0;do{ua=j+(k<<4)|0;qa=(c[v>>2]|0)+(k<<4)|0;c[ua>>2]=c[qa>>2];c[ua+4>>2]=c[qa+4>>2];c[ua+8>>2]=c[qa+8>>2];c[ua+12>>2]=c[qa+12>>2];k=k+1|0}while((k|0)!=(i|0))}i=c[v>>2]|0;if(i|0){if(a[G>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0)}c[v>>2]=0}a[G>>0]=1;c[v>>2]=j;c[m>>2]=M;i=c[t>>2]|0}ua=c[v>>2]|0;g[ua+(i<<4)>>2]=n;g[ua+(i<<4)+4>>2]=p;g[ua+(i<<4)+8>>2]=o;g[ua+(i<<4)+12>>2]=0.0;i=(c[t>>2]|0)+1|0;c[t>>2]=i;ua=c[e+12>>2]|0;pa=+g[ta+56+32>>2];ra=+g[ta+56+36>>2];o=+g[ta+56+40>>2];n=pa*+g[ua>>2]+ra*+g[ua+4>>2]+o*+g[ua+8>>2]+ +g[ua+48>>2];p=pa*+g[ua+16>>2]+ra*+g[ua+20>>2]+o*+g[ua+24>>2]+ +g[ua+52>>2];o=pa*+g[ua+32>>2]+ra*+g[ua+36>>2]+o*+g[ua+40>>2]+ +g[ua+56>>2];if((i|0)==(c[m>>2]|0)?(T=i|0?i<<1:1,(i|0)<(T|0)):0){if(!T)j=0;else{c[6472]=(c[6472]|0)+1;i=ic((T<<4|3)+16|0)|0;if(!i)j=0;else{c[(i+4+15&-16)+-4>>2]=i;j=i+4+15&-16}i=c[t>>2]|0}if((i|0)>0){k=0;do{ua=j+(k<<4)|0;e=(c[v>>2]|0)+(k<<4)|0;c[ua>>2]=c[e>>2];c[ua+4>>2]=c[e+4>>2];c[ua+8>>2]=c[e+8>>2];c[ua+12>>2]=c[e+12>>2];k=k+1|0}while((k|0)!=(i|0))}i=c[v>>2]|0;if(i|0){if(a[G>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0)}c[v>>2]=0}a[G>>0]=1;c[v>>2]=j;c[m>>2]=T;i=c[t>>2]|0}ua=c[v>>2]|0;g[ua+(i<<4)>>2]=n;g[ua+(i<<4)+4>>2]=p;g[ua+(i<<4)+8>>2]=o;g[ua+(i<<4)+12>>2]=0.0;c[t>>2]=(c[t>>2]|0)+1;q=+g[(c[b+20>>2]|0)+752>>2];Bc(va+48|0,va+128|0,va+40|0,c[f+20>>2]|0,0);n=+g[va+48+4>>2];o=+g[va+48+8>>2];p=+g[va+48+12>>2];if(n*n+o*o+p*p>1.1920928955078125e-07){pa=1.0/(n*n+o*o+p*p);g[va+384>>2]=n*pa;g[va+384+4>>2]=o*pa;g[va+384+8>>2]=p*pa;g[va+384+12>>2]=0.0;pa=+g[va+48+56>>2];ra=+gb[c[(c[sa>>2]|0)+48>>2]&15](sa);ra=pa-ra-+gb[c[(c[ta>>2]|0)+48>>2]&15](ta);Cc(va+384|0,c[sa+52>>2]|0,c[d+12>>2]|0,va+624|0,ra-q,q,h)}do if(a[b+16>>0]|0?(U=c[h+4>>2]|0,c[U+748>>2]|0):0){j=c[U+740>>2]|0;k=c[(c[h+8>>2]|0)+8>>2]|0;i=c[(c[h+12>>2]|0)+8>>2]|0;if((j|0)==(k|0)){Oe(U,j+4|0,i+4|0);break}else{Oe(U,i+4|0,k+4|0);break}}while(0);i=c[v>>2]|0;if(i|0){if(a[G>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0)}c[v>>2]=0}}else{ra=+g[(c[b+20>>2]|0)+752>>2];b:do if(!(a[f+24>>0]|0)){Bc(va+48|0,va+128|0,va,c[f+20>>2]|0,0);n=+g[va+32>>2];if(n<0.0&(a[va+36>>0]|0)!=0){o=+g[va+8>>2];p=+g[va+12>>2];q=+g[va+16>>2];i=c[va+20>>2]|0;qa=111}}else{I=c[d+12>>2]|0;G=c[e+12>>2]|0;c[6455]=(c[6455]|0)+1;ha=+g[V+64>>2];ia=+g[V+68>>2];s=+g[I+4>>2];ja=+g[V+72>>2];u=+g[I+8>>2];w=+g[I+16>>2];n=+g[I+20>>2];o=+g[I+24>>2];p=+g[I+32>>2];q=+g[I+36>>2];r=+g[I+40>>2];ka=+g[ma+64>>2];la=+g[ma+68>>2];oa=+g[ma+72>>2];na=ha*+g[I>>2]+ia*s+ja*u+ +g[I+48>>2]-(ka*+g[G>>2]+la*+g[G+4>>2]+oa*+g[G+8>>2]+ +g[G+48>>2]);pa=ha*w+ia*n+ja*o+ +g[I+52>>2]-(ka*+g[G+16>>2]+la*+g[G+20>>2]+oa*+g[G+24>>2]+ +g[G+52>>2]);oa=ha*p+ia*q+ja*r+ +g[I+56>>2]-(ka*+g[G+32>>2]+la*+g[G+36>>2]+oa*+g[G+40>>2]+ +g[G+56>>2]);k=c[V+28>>2]|0;c:do if((k|0)>0){A=o;D=p;z=q;H=0.0;L=3402823466385288598117041.0e14;j=0;o=0.0;p=0.0;q=0.0;while(1){f=c[V+36>>2]|0;ja=+g[f+(j*36|0)+20>>2];ka=+g[f+(j*36|0)+24>>2];la=+g[f+(j*36|0)+28>>2];u=ja*+g[I>>2]+ka*s+la*u;s=ja*w+ka*n+la*A;n=ja*D+ka*z+la*r;g[va+296>>2]=u;g[va+296+4>>2]=s;g[va+296+8>>2]=n;g[va+296+12>>2]=0.0;if(na*u+pa*s+oa*n<0.0){g[va+296>>2]=-u;g[va+296+4>>2]=-s;g[va+296+8>>2]=-n;x=-u;y=-s;n=-n}else{x=u;y=s}c[6453]=(c[6453]|0)+1;if(ri(I,G,na,pa,oa,x,y,n,V,ma,L)|0){c[6454]=(c[6454]|0)+1;Ug(V,I,va+296|0,va+624|0,va+384|0,va+360|0,va+344|0);Ug(ma,G,va+296|0,va+380|0,va+376|0,va+328|0,va+312|0);r=+g[va+384>>2];s=+g[va+380>>2];do if(r>2];w=+g[va+624>>2];if(u=(k|0)){n=x;break c}n=+g[I+20>>2];A=+g[I+24>>2];D=+g[I+32>>2];z=+g[I+36>>2];r=+g[I+40>>2];s=+g[I+4>>2];u=+g[I+8>>2];w=+g[I+16>>2];H=y;L=x;j=i}break b}else{n=3402823466385288598117041.0e14;o=0.0;p=0.0;q=0.0}while(0);k=c[ma+28>>2]|0;d:do if((k|0)>0){A=0.0;j=0;while(1){f=c[ma+36>>2]|0;ka=+g[f+(j*36|0)+20>>2];la=+g[f+(j*36|0)+24>>2];u=+g[f+(j*36|0)+28>>2];r=ka*+g[G>>2]+la*+g[G+4>>2]+u*+g[G+8>>2];s=ka*+g[G+16>>2]+la*+g[G+20>>2]+u*+g[G+24>>2];u=ka*+g[G+32>>2]+la*+g[G+36>>2]+u*+g[G+40>>2];g[va+296>>2]=r;g[va+296+4>>2]=s;g[va+296+8>>2]=u;g[va+296+12>>2]=0.0;if(na*r+pa*s+oa*u<0.0){g[va+296>>2]=-r;g[va+296+4>>2]=-s;g[va+296+8>>2]=-u;r=-r;s=-s;u=-u}c[6453]=(c[6453]|0)+1;if(ri(I,G,na,pa,oa,r,s,u,V,ma,n)|0){c[6454]=(c[6454]|0)+1;Ug(V,I,va+296|0,va+624|0,va+384|0,va+360|0,va+344|0);Ug(ma,G,va+296|0,va+380|0,va+376|0,va+328|0,va+312|0);w=+g[va+384>>2];x=+g[va+380>>2];do if(w>2];z=+g[va+624>>2];if(y=(k|0))break d;else A=w}break b}while(0);i=c[V+48>>2]|0;e:do if((i|0)>0){k=c[ma+48>>2]|0;u=0.0;v=0;j=-1;m=-1;y=0.0;z=0.0;A=0.0;D=0.0;S=0.0;W=0.0;Y=0.0;r=0.0;s=0.0;R=0.0;Q=0.0;P=0.0;L=0.0;N=0.0;O=0.0;w=0.0;x=0.0;H=0.0;f:while(1){f=c[V+56>>2]|0;ha=+g[f+(v<<4)>>2];ia=+g[f+(v<<4)+4>>2];ja=+g[f+(v<<4)+8>>2];la=ha*+g[I>>2]+ia*+g[I+4>>2]+ja*+g[I+8>>2];ka=ha*+g[I+16>>2]+ia*+g[I+20>>2]+ja*+g[I+24>>2];ja=ha*+g[I+32>>2]+ia*+g[I+36>>2]+ja*+g[I+40>>2];if((k|0)>0){X=u;t=0;ia=o;ha=p;ga=q;_=y;aa=z;ca=A;while(1){f=c[ma+56>>2]|0;ea=+g[f+(t<<4)>>2];fa=+g[f+(t<<4)+4>>2];ba=+g[f+(t<<4)+8>>2];Z=ea*+g[G>>2]+fa*+g[G+4>>2]+ba*+g[G+8>>2];$=ea*+g[G+16>>2]+fa*+g[G+20>>2]+ba*+g[G+24>>2];ba=ea*+g[G+32>>2]+fa*+g[G+36>>2]+ba*+g[G+40>>2];g[va+296>>2]=ka*ba-ja*$;g[va+296+4>>2]=ja*Z-la*ba;g[va+296+8>>2]=la*$-ka*Z;g[va+296+12>>2]=0.0;do if(!(+B(+(ka*ba-ja*$))>1.0e-06)){if(+B(+(ja*Z-la*ba))>1.0e-06){qa=75;break}if(!(+B(+(la*$-ka*Z))>1.0e-06)){o=ia;p=ha;q=ga;da=D;ea=S;fa=W}else qa=75}else qa=75;while(0);do if((qa|0)==75){qa=0;q=1.0/+C(+((ka*ba-ja*$)*(ka*ba-ja*$)+(ja*Z-la*ba)*(ja*Z-la*ba)+(la*$-ka*Z)*(la*$-ka*Z)));o=(ka*ba-ja*$)*q;g[va+296>>2]=o;p=(ja*Z-la*ba)*q;g[va+296+4>>2]=p;q=(la*$-ka*Z)*q;g[va+296+8>>2]=q;if(o*na+p*pa+oa*q<0.0){g[va+296>>2]=-o;g[va+296+4>>2]=-p;g[va+296+8>>2]=-q;o=-o;p=-p;q=-q}c[6453]=(c[6453]|0)+1;if(!(ri(I,G,na,pa,oa,o,p,q,V,ma,n)|0)){o=ia;p=ha;q=ga;da=D;ea=S;fa=W;break}c[6454]=(c[6454]|0)+1;Ug(V,I,va+296|0,va+624|0,va+384|0,va+360|0,va+344|0);Ug(ma,G,va+296|0,va+380|0,va+376|0,va+328|0,va+312|0);u=+g[va+384>>2];y=+g[va+380>>2];do if(!(u>2];A=+g[va+624>>2];if(z>2];z=+g[va+344+4>>2];A=+g[va+344+8>>2];D=+g[va+328>>2];S=+g[va+328+4>>2];W=+g[va+328+8>>2];break}else{u=z-A;i=1;y=+g[va+360>>2];z=+g[va+360+4>>2];A=+g[va+360+8>>2];D=+g[va+312>>2];S=+g[va+312+4>>2];W=+g[va+312+8>>2];break}}else{u=X;i=0;y=_;z=aa;A=ca}while(0);if(!i)break f;if(!(u>2]|0;if((t|0)>=(k|0))break;else{ia=o;ha=p;ga=q;D=da;S=ea;W=fa}}i=c[V+48>>2]|0;u=X;y=_;z=aa;A=ca;D=da;S=ea;W=fa;X=Y}else X=Y;v=v+1|0;if((v|0)>=(i|0)){i=m;n=X;break e}else Y=X}break b}else{j=-1;i=-1;n=0.0;r=0.0;s=0.0;R=0.0;Q=0.0;P=0.0;L=0.0;N=0.0;O=0.0;w=0.0;x=0.0;H=0.0}while(0);if((i|j|0)>-1){z=R-n;D=Q-r;A=P-s;r=w*L+x*N+H*O;s=z*L+D*N+A*O;n=z*w+D*x+A*H;do if(1.0-r*r==0.0)u=0.0;else{if((s-n*r)/(1.0-r*r)<-1000000015047466219876688.0e6){u=-1000000015047466219876688.0e6;break}if(!((s-n*r)/(1.0-r*r)>1000000015047466219876688.0e6)){u=(s-n*r)/(1.0-r*r);break}u=1000000015047466219876688.0e6}while(0);n=r*u-n;do if(n<-1000000015047466219876688.0e6){if(s-r*1000000015047466219876688.0e6<-1000000015047466219876688.0e6){r=-1000000015047466219876688.0e6;n=-1000000015047466219876688.0e6;break}if(!(s-r*1000000015047466219876688.0e6>1000000015047466219876688.0e6)){r=s-r*1000000015047466219876688.0e6;n=-1000000015047466219876688.0e6;break}r=1000000015047466219876688.0e6;n=-1000000015047466219876688.0e6}else{if(!(n>1000000015047466219876688.0e6)){r=u;break}if(s+r*1000000015047466219876688.0e6<-1000000015047466219876688.0e6){r=-1000000015047466219876688.0e6;n=1000000015047466219876688.0e6;break}if(!(s+r*1000000015047466219876688.0e6>1000000015047466219876688.0e6)){r=s+r*1000000015047466219876688.0e6;n=1000000015047466219876688.0e6;break}r=1000000015047466219876688.0e6;n=1000000015047466219876688.0e6}while(0);y=w*n;x=x*n;w=H*n;u=y+(z-L*r);s=x+(D-N*r);n=w+(A-O*r);g[va+624>>2]=u;g[va+624+4>>2]=s;g[va+624+8>>2]=n;g[va+624+12>>2]=0.0;if(u*u+s*s+n*n>1.1920928955078125e-07){r=+C(+(u*u+s*s+n*n));g[va+624>>2]=u*(1.0/r);g[va+624+4>>2]=1.0/r*s;g[va+624+8>>2]=1.0/r*n;if(u*(1.0/r)*na+1.0/r*s*pa+1.0/r*n*oa<0.0){g[va+624>>2]=-(u*(1.0/r));g[va+624+4>>2]=-(1.0/r*s);g[va+624+8>>2]=-(1.0/r*n)}g[va+384>>2]=R+y;g[va+384+4>>2]=Q+x;g[va+384+8>>2]=P+w;g[va+384+12>>2]=0.0;Lb[c[(c[h>>2]|0)+16>>2]&15](h,va+624|0,va+384|0,-r)}}if(na*o+pa*p+oa*q<0.0){n=-1000000015047466219876688.0e6;o=-o;p=-p;q=-q;i=0;qa=111}else{n=-1000000015047466219876688.0e6;i=0;qa=111}}while(0);if((qa|0)==111){V=c[sa+52>>2]|0;f=c[ta+52>>2]|0;U=c[d+12>>2]|0;T=c[e+12>>2]|0;O=n-ra;H=1.0/+C(+(o*o+p*p+q*q));N=o*H;L=p*H;H=q*H;g[va+624>>2]=N;g[va+624+4>>2]=L;g[va+624+8>>2]=H;c[va+624+12>>2]=i;j=c[f+28>>2]|0;t=c[f+36>>2]|0;if((j|0)>0){n=+g[T>>2];o=+g[T+4>>2];p=+g[T+8>>2];q=+g[T+16>>2];r=+g[T+20>>2];s=+g[T+24>>2];u=+g[T+32>>2];w=+g[T+36>>2];x=+g[T+40>>2];i=-1;D=-3402823466385288598117041.0e14;m=0;while(1){y=+g[t+(m*36|0)+20>>2];z=+g[t+(m*36|0)+24>>2];A=+g[t+(m*36|0)+28>>2];k=(y*n+z*o+A*p)*N+(y*q+z*r+A*s)*L+(y*u+z*w+A*x)*H>D;i=k?m:i;m=m+1|0;if((m|0)==(j|0)){J=i;break}else D=k?(y*n+z*o+A*p)*N+(y*q+z*r+A*s)*L+(y*u+z*w+A*x)*H:D}}else J=-1;a[va+384+16>>0]=1;M=va+384+12|0;c[M>>2]=0;K=va+384+4|0;c[K>>2]=0;c[va+384+8>>2]=0;I=c[t+(J*36|0)+4>>2]|0;g:do if((I|0)>0){G=t+(J*36|0)+12|0;i=0;k=0;j=0;while(1){d=c[(c[G>>2]|0)+(j<<2)>>2]|0;e=c[f+16>>2]|0;oa=+g[e+(d<<4)>>2];pa=+g[e+(d<<4)+4>>2];o=+g[e+(d<<4)+8>>2];n=oa*+g[T>>2]+pa*+g[T+4>>2]+o*+g[T+8>>2]+ +g[T+48>>2];p=oa*+g[T+16>>2]+pa*+g[T+20>>2]+o*+g[T+24>>2]+ +g[T+52>>2];o=oa*+g[T+32>>2]+pa*+g[T+36>>2]+o*+g[T+40>>2]+ +g[T+56>>2];if((i|0)==(k|0)){v=k|0?k<<1:1;if((k|0)<(v|0)){if(!v){i=k;k=0}else{c[6472]=(c[6472]|0)+1;i=ic((v<<4|3)+16|0)|0;if(!i)k=0;else{c[(i+4+15&-16)+-4>>2]=i;k=i+4+15&-16}i=c[K>>2]|0}t=c[M>>2]|0;if((i|0)<=0){if(t)qa=126}else{m=0;do{d=k+(m<<4)|0;e=t+(m<<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];m=m+1|0}while((m|0)!=(i|0));qa=126}if((qa|0)==126){qa=0;if(a[va+384+16>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[t+-4>>2]|0);i=c[K>>2]|0}c[M>>2]=0}a[va+384+16>>0]=1;c[M>>2]=k;c[va+384+8>>2]=v}else i=k}d=c[M>>2]|0;g[d+(i<<4)>>2]=n;g[d+(i<<4)+4>>2]=p;g[d+(i<<4)+8>>2]=o;g[d+(i<<4)+12>>2]=0.0;i=(c[K>>2]|0)+1|0;c[K>>2]=i;j=j+1|0;if((j|0)>=(I|0))break g;k=c[va+384+8>>2]|0}}while(0);if((J|0)>-1)Cc(va+624|0,V,U,va+384|0,O,ra,h);i=c[M>>2]|0;if(i|0){if(a[va+384+16>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0)}c[M>>2]=0}}if(a[b+16>>0]|0?(ua=c[h+4>>2]|0,c[ua+748>>2]|0):0){j=c[ua+740>>2]|0;k=c[(c[h+8>>2]|0)+8>>2]|0;i=c[(c[h+12>>2]|0)+8>>2]|0;if((j|0)==(k|0)){Oe(ua,j+4|0,i+4|0);break}else{Oe(ua,i+4|0,k+4|0);break}}}while(0);l=va;return}while(0)}Bc(va+48|0,va+128|0,h,c[f+20>>2]|0,0);if((c[b+28>>2]|0?(c[(c[h+4>>2]|0)+748>>2]|0)<(c[b+32>>2]|0):0)?(O=+g[va+48+4>>2],P=+g[va+48+8>>2],Q=+g[va+48+12>>2],O*O+P*P+Q*Q>1.1920928955078125e-07):0){D=1.0/(O*O+P*P+Q*Q);if(+B(+(Q*D))>.7071067690849304){N=1.0/+C(+(Q*D*Q*D+P*D*P*D));H=0.0;L=P*D*N;N=-(Q*D*N)}else{N=1.0/+C(+(O*D*O*D+P*D*P*D));H=-(P*D*N);L=0.0;N=O*D*N}A=+gb[c[(c[sa>>2]|0)+16>>2]&15](sa);z=+gb[c[(c[ta>>2]|0)+16>>2]&15](ta);n=.019999999552965164/(A>2]=c[va+128>>2];c[va+624+4>>2]=c[va+128+4>>2];c[va+624+8>>2]=c[va+128+8>>2];c[va+624+12>>2]=c[va+128+12>>2];c[va+624+16>>2]=c[k>>2];c[va+624+16+4>>2]=c[k+4>>2];c[va+624+16+8>>2]=c[k+8>>2];c[va+624+16+12>>2]=c[k+12>>2];c[va+624+32>>2]=c[v>>2];c[va+624+32+4>>2]=c[v+4>>2];c[va+624+32+8>>2]=c[v+8>>2];c[va+624+32+12>>2]=c[v+12>>2];c[va+624+48>>2]=c[I>>2];c[va+624+48+4>>2]=c[I+4>>2];c[va+624+48+8>>2]=c[I+8>>2];c[va+624+48+12>>2]=c[I+12>>2]}else{c[va+624>>2]=c[K>>2];c[va+624+4>>2]=c[K+4>>2];c[va+624+8>>2]=c[K+8>>2];c[va+624+12>>2]=c[K+12>>2];c[va+624+16>>2]=c[t>>2];c[va+624+16+4>>2]=c[t+4>>2];c[va+624+16+8>>2]=c[t+8>>2];c[va+624+16+12>>2]=c[t+12>>2];c[va+624+32>>2]=c[G>>2];c[va+624+32+4>>2]=c[G+4>>2];c[va+624+32+8>>2]=c[G+8>>2];c[va+624+32+12>>2]=c[G+12>>2];c[va+624+48>>2]=c[J>>2];c[va+624+48+4>>2]=c[J+4>>2];c[va+624+48+8>>2]=c[J+8>>2];c[va+624+48+12>>2]=c[J+12>>2]}i=c[b+28>>2]|0;if((i|0)>0){y=H*H+N*N+L*L;x=(n>.39269909262657166?.39269909262657166:n)*.5;j=0;do{if(y>1.1920928955078125e-07){s=+F(+x)/+C(+y);u=H*s;w=N*s;s=L*s;r=+E(+x);n=+(j|0)*(6.2831854820251465/+(i|0))*.5;o=+F(+n)/+C(+(Q*D*Q*D+(O*D*O*D+P*D*P*D)));p=O*D*o;q=P*D*o;o=Q*D*o;n=+E(+n);if(A>2]|0;ba=+g[ua>>2];ca=+g[ua+16>>2];da=+g[ua+32>>2];ea=+g[ua+4>>2];fa=+g[ua+20>>2];ga=+g[ua+36>>2];ha=+g[ua+8>>2];ka=+g[ua+24>>2];ra=+g[ua+40>>2];g[va+128>>2]=(1.0-(oa*pa+aa*ia))*ba+(la*pa-ja*ia)*ca+(la*ia+ja*pa)*da;g[va+128+4>>2]=(1.0-(oa*pa+aa*ia))*ea+(la*pa-ja*ia)*fa+(la*ia+ja*pa)*ga;g[va+128+8>>2]=(1.0-(oa*pa+aa*ia))*ha+(la*pa-ja*ia)*ka+(la*ia+ja*pa)*ra;g[va+128+12>>2]=0.0;g[va+128+16>>2]=(la*pa+ja*ia)*ba+(1.0-(la*na+aa*ia))*ca+(oa*ia-ja*na)*da;g[va+128+20>>2]=(la*pa+ja*ia)*ea+(1.0-(la*na+aa*ia))*fa+(oa*ia-ja*na)*ga;g[va+128+24>>2]=(la*pa+ja*ia)*ha+(1.0-(la*na+aa*ia))*ka+(oa*ia-ja*na)*ra;g[va+128+28>>2]=0.0;g[va+128+32>>2]=(la*ia-ja*pa)*ba+(oa*ia+ja*na)*ca+(1.0-(la*na+oa*pa))*da;g[va+128+36>>2]=(la*ia-ja*pa)*ea+(oa*ia+ja*na)*fa+(1.0-(la*na+oa*pa))*ga;g[va+128+40>>2]=(la*ia-ja*pa)*ha+(oa*ia+ja*na)*ka+(1.0-(la*na+oa*pa))*ra;g[va+128+44>>2]=0.0;ua=c[e+12>>2]|0;c[K>>2]=c[ua>>2];c[K+4>>2]=c[ua+4>>2];c[K+8>>2]=c[ua+8>>2];c[K+12>>2]=c[ua+12>>2];c[t>>2]=c[ua+16>>2];c[t+4>>2]=c[ua+16+4>>2];c[t+8>>2]=c[ua+16+8>>2];c[t+12>>2]=c[ua+16+12>>2];c[G>>2]=c[ua+32>>2];c[G+4>>2]=c[ua+32+4>>2];c[G+8>>2]=c[ua+32+8>>2];c[G+12>>2]=c[ua+32+12>>2];c[J>>2]=c[ua+48>>2];c[J+4>>2]=c[ua+48+4>>2];c[J+8>>2]=c[ua+48+8>>2];c[J+12>>2]=c[ua+48+12>>2]}else{ua=c[d+12>>2]|0;c[va+128>>2]=c[ua>>2];c[va+128+4>>2]=c[ua+4>>2];c[va+128+8>>2]=c[ua+8>>2];c[va+128+12>>2]=c[ua+12>>2];c[k>>2]=c[ua+16>>2];c[k+4>>2]=c[ua+16+4>>2];c[k+8>>2]=c[ua+16+8>>2];c[k+12>>2]=c[ua+16+12>>2];c[v>>2]=c[ua+32>>2];c[v+4>>2]=c[ua+32+4>>2];c[v+8>>2]=c[ua+32+8>>2];c[v+12>>2]=c[ua+32+12>>2];c[I>>2]=c[ua+48>>2];c[I+4>>2]=c[ua+48+4>>2];c[I+8>>2]=c[ua+48+8>>2];c[I+12>>2]=c[ua+48+12>>2];la=o*(u*-o+(w*n+r*-q)-s*-p)+(p*(r*n-u*-p-w*-q-s*-o)+n*(s*-q+(u*n+r*-p)-w*-o))-q*(w*-p+(s*n+r*-o)-u*-q);oa=p*(w*-p+(s*n+r*-o)-u*-q)+(n*(u*-o+(w*n+r*-q)-s*-p)+q*(r*n-u*-p-w*-q-s*-o))-o*(s*-q+(u*n+r*-p)-w*-o);aa=q*(s*-q+(u*n+r*-p)-w*-o)+(o*(r*n-u*-p-w*-q-s*-o)+n*(w*-p+(s*n+r*-o)-u*-q))-p*(u*-o+(w*n+r*-q)-s*-p);ja=n*(r*n-u*-p-w*-q-s*-o)-p*(s*-q+(u*n+r*-p)-w*-o)-q*(u*-o+(w*n+r*-q)-s*-p)-o*(w*-p+(s*n+r*-o)-u*-q);na=la*(2.0/(ja*ja+(aa*aa+(la*la+oa*oa))));pa=oa*(2.0/(ja*ja+(aa*aa+(la*la+oa*oa))));ia=aa*(2.0/(ja*ja+(aa*aa+(la*la+oa*oa))));ua=c[e+12>>2]|0;ba=+g[ua>>2];ca=+g[ua+16>>2];da=+g[ua+32>>2];ea=+g[ua+4>>2];fa=+g[ua+20>>2];ga=+g[ua+36>>2];ha=+g[ua+8>>2];ka=+g[ua+24>>2];ra=+g[ua+40>>2];g[va+128+64>>2]=(1.0-(oa*pa+aa*ia))*ba+(la*pa-ja*ia)*ca+(la*ia+ja*pa)*da;g[va+128+68>>2]=(1.0-(oa*pa+aa*ia))*ea+(la*pa-ja*ia)*fa+(la*ia+ja*pa)*ga;g[va+128+72>>2]=(1.0-(oa*pa+aa*ia))*ha+(la*pa-ja*ia)*ka+(la*ia+ja*pa)*ra;g[va+128+76>>2]=0.0;g[va+128+80>>2]=(la*pa+ja*ia)*ba+(1.0-(la*na+aa*ia))*ca+(oa*ia-ja*na)*da;g[va+128+84>>2]=(la*pa+ja*ia)*ea+(1.0-(la*na+aa*ia))*fa+(oa*ia-ja*na)*ga;g[va+128+88>>2]=(la*pa+ja*ia)*ha+(1.0-(la*na+aa*ia))*ka+(oa*ia-ja*na)*ra;g[va+128+92>>2]=0.0;g[va+128+96>>2]=(la*ia-ja*pa)*ba+(oa*ia+ja*na)*ca+(1.0-(la*na+oa*pa))*da;g[va+128+100>>2]=(la*ia-ja*pa)*ea+(oa*ia+ja*na)*fa+(1.0-(la*na+oa*pa))*ga;g[va+128+104>>2]=(la*ia-ja*pa)*ha+(oa*ia+ja*na)*ka+(1.0-(la*na+oa*pa))*ra;g[va+128+108>>2]=0.0}i=c[f+20>>2]|0;c[va+384>>2]=6328;c[va+384+32>>2]=h;c[va+384+36>>2]=c[va+128>>2];c[va+384+36+4>>2]=c[va+128+4>>2];c[va+384+36+8>>2]=c[va+128+8>>2];c[va+384+36+12>>2]=c[va+128+12>>2];c[va+384+52>>2]=c[k>>2];c[va+384+52+4>>2]=c[k+4>>2];c[va+384+52+8>>2]=c[k+8>>2];c[va+384+52+12>>2]=c[k+12>>2];c[va+384+68>>2]=c[v>>2];c[va+384+68+4>>2]=c[v+4>>2];c[va+384+68+8>>2]=c[v+8>>2];c[va+384+68+12>>2]=c[v+12>>2];c[va+384+84>>2]=c[I>>2];c[va+384+84+4>>2]=c[I+4>>2];c[va+384+84+8>>2]=c[I+8>>2];c[va+384+84+12>>2]=c[I+12>>2];c[va+384+100>>2]=c[K>>2];c[va+384+100+4>>2]=c[K+4>>2];c[va+384+100+8>>2]=c[K+8>>2];c[va+384+100+12>>2]=c[K+12>>2];c[va+384+116>>2]=c[t>>2];c[va+384+116+4>>2]=c[t+4>>2];c[va+384+116+8>>2]=c[t+8>>2];c[va+384+116+12>>2]=c[t+12>>2];c[va+384+132>>2]=c[G>>2];c[va+384+132+4>>2]=c[G+4>>2];c[va+384+132+8>>2]=c[G+8>>2];c[va+384+132+12>>2]=c[G+12>>2];c[va+384+148>>2]=c[J>>2];c[va+384+148+4>>2]=c[J+4>>2];c[va+384+148+8>>2]=c[J+8>>2];c[va+384+148+12>>2]=c[J+12>>2];c[va+384+164>>2]=c[va+624>>2];c[va+384+164+4>>2]=c[va+624+4>>2];c[va+384+164+8>>2]=c[va+624+8>>2];c[va+384+164+12>>2]=c[va+624+12>>2];c[va+384+180>>2]=c[va+624+16>>2];c[va+384+180+4>>2]=c[va+624+16+4>>2];c[va+384+180+8>>2]=c[va+624+16+8>>2];c[va+384+180+12>>2]=c[va+624+16+12>>2];c[va+384+196>>2]=c[va+624+32>>2];c[va+384+196+4>>2]=c[va+624+32+4>>2];c[va+384+196+8>>2]=c[va+624+32+8>>2];c[va+384+196+12>>2]=c[va+624+32+12>>2];c[va+384+212>>2]=c[va+624+48>>2];c[va+384+212+4>>2]=c[va+624+48+4>>2];c[va+384+212+8>>2]=c[va+624+48+8>>2];c[va+384+212+12>>2]=c[va+624+48+12>>2];a[va+384+228>>0]=A>2]=i;Bc(va+48|0,va+128|0,va+384|0,i,0);i=c[b+28>>2]|0}j=j+1|0}while((j|0)<(i|0))}}if(!(a[b+16>>0]|0)){l=va;return}j=c[h+4>>2]|0;if(!(c[j+748>>2]|0)){l=va;return}k=c[j+740>>2]|0;m=c[(c[h+8>>2]|0)+8>>2]|0;i=c[(c[h+12>>2]|0)+8>>2]|0;if((k|0)==(m|0)){Oe(j,k+4|0,i+4|0);l=va;return}else{Oe(j,i+4|0,m+4|0);l=va;return}}function Zb(d){d=d|0;var e=0,f=0,h=0,i=0.0,k=0.0,m=0.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,D=0.0,E=0.0,F=0.0,G=0.0,H=0.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.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;X=l;l=l+176|0;ac(d);if(!(qb[c[(c[d>>2]|0)+20>>2]&127](d)|0)){l=X;return}if((c[d+328>>2]|0)<=0){l=X;return}V=X+96+32|0;W=X+96+52|0;U=0;do{S=c[(c[d+336>>2]|0)+(U<<2)>>2]|0;if(qb[c[(c[d>>2]|0)+20>>2]&127](d)|0?(N=qb[c[(c[d>>2]|0)+20>>2]&127](d)|0,(qb[c[(c[N>>2]|0)+48>>2]&127](N)|0)&1|0):0){e=c[d+72>>2]|0;if(!(a[S+473>>0]|0))N=e;else{c[X+80>>2]=c[S+520>>2];c[X+80+4>>2]=c[S+520+4>>2];c[X+80+8>>2]=c[S+520+8>>2];c[X+80+12>>2]=c[S+520+12>>2];i=+g[S+584>>2];k=+g[S+536>>2];m=+g[S+600>>2];t=+g[S+540>>2];u=+g[S+616>>2];v=+g[S+544>>2];w=+g[S+588>>2];x=+g[S+604>>2];y=+g[S+620>>2];z=+g[S+592>>2];A=+g[S+608>>2];B=+g[S+624>>2];D=+g[S+552>>2];E=+g[S+556>>2];F=+g[S+560>>2];G=+g[S+568>>2];H=+g[S+572>>2];I=+g[S+576>>2];ha=i*k+m*t+u*v+(k*w+t*x+v*y)*0.0+(k*z+t*A+v*B)*0.0;fa=(z*D+A*E+B*F)*0.0+(i*D+m*E+u*F+(w*D+x*E+y*F)*0.0);ea=(z*G+A*H+B*I)*0.0+(i*G+m*H+u*I+(w*G+x*H+y*I)*0.0);ga=1.0/+C(+(ha*ha+fa*fa+ea*ea));da=(i*k+m*t+u*v)*0.0+(k*w+t*x+v*y)+(k*z+t*A+v*B)*0.0;ba=(z*D+A*E+B*F)*0.0+(w*D+x*E+y*F+(i*D+m*E+u*F)*0.0);aa=(z*G+A*H+B*I)*0.0+(w*G+x*H+y*I+(i*G+m*H+u*I)*0.0);ca=1.0/+C(+(da*da+ba*ba+aa*aa));$=(i*k+m*t+u*v)*0.0+(k*w+t*x+v*y)*0.0+(k*z+t*A+v*B);Z=z*D+A*E+B*F+((i*D+m*E+u*F)*0.0+(w*D+x*E+y*F)*0.0);Y=z*G+A*H+B*I+((i*G+m*H+u*I)*0.0+(w*G+x*H+y*I)*0.0);_=1.0/+C(+($*$+Z*Z+Y*Y));N=c[(c[e>>2]|0)+8>>2]|0;fa=fa*ga*10.0+ +g[X+80+4>>2];ea=ga*ea*10.0+ +g[X+80+8>>2];g[X+160>>2]=ha*ga*10.0+ +g[X+80>>2];g[X+160+4>>2]=fa;g[X+160+8>>2]=ea;g[X+160+12>>2]=0.0;c[X+96>>2]=1065353216;c[X+96+4>>2]=0;c[X+96+8>>2]=0;g[X+96+12>>2]=0.0;Nb[N&127](e,X+80|0,X+160|0,X+96|0);N=c[(c[e>>2]|0)+8>>2]|0;ba=ba*ca*10.0+ +g[X+80+4>>2];aa=ca*aa*10.0+ +g[X+80+8>>2];g[X+160>>2]=da*ca*10.0+ +g[X+80>>2];g[X+160+4>>2]=ba;g[X+160+8>>2]=aa;g[X+160+12>>2]=0.0;c[X+96>>2]=0;c[X+96+4>>2]=1065353216;c[X+96+8>>2]=0;g[X+96+12>>2]=0.0;Nb[N&127](e,X+80|0,X+160|0,X+96|0);N=c[(c[e>>2]|0)+8>>2]|0;Z=Z*_*10.0+ +g[X+80+4>>2];Y=_*Y*10.0+ +g[X+80+8>>2];g[X+160>>2]=$*_*10.0+ +g[X+80>>2];g[X+160+4>>2]=Z;g[X+160+8>>2]=Y;g[X+160+12>>2]=0.0;c[X+96>>2]=0;c[X+96+4>>2]=0;c[X+96+8>>2]=1065353216;g[X+96+12>>2]=0.0;Nb[N&127](e,X+80|0,X+160|0,X+96|0);if((c[S+484>>2]|0)>0){f=0;do{N=c[S+492>>2]|0;da=+g[N+(f<<4)>>2];ea=+g[N+(f<<4)+4>>2];ha=+g[N+(f<<4)+8>>2];fa=+g[X+80>>2]+((i*k+m*t+u*v)*da+(k*w+t*x+v*y)*ea+(k*z+t*A+v*B)*ha);ga=+g[X+80+4>>2]+((i*D+m*E+u*F)*da+(w*D+x*E+y*F)*ea+(z*D+A*E+B*F)*ha);ha=(i*G+m*H+u*I)*da+(w*G+x*H+y*I)*ea+(z*G+A*H+B*I)*ha+ +g[X+80+8>>2];c[X+64>>2]=1065353216;c[X+64+4>>2]=0;c[X+64+8>>2]=1065353216;g[X+64+12>>2]=0.0;N=c[(c[e>>2]|0)+8>>2]|0;g[X+160>>2]=fa+-.10000000149011612;g[X+160+4>>2]=ga;g[X+160+8>>2]=ha;g[X+160+12>>2]=0.0;g[X+96>>2]=fa+.10000000149011612;g[X+96+4>>2]=ga+0.0;g[X+96+8>>2]=ha+0.0;g[X+96+12>>2]=0.0;Nb[N&127](e,X+160|0,X+96|0,X+64|0);N=c[(c[e>>2]|0)+8>>2]|0;g[X+160>>2]=fa;g[X+160+4>>2]=ga+-.10000000149011612;g[X+160+8>>2]=ha;g[X+160+12>>2]=0.0;g[X+96>>2]=fa+0.0;g[X+96+4>>2]=ga+.10000000149011612;g[X+96+8>>2]=ha+0.0;g[X+96+12>>2]=0.0;Nb[N&127](e,X+160|0,X+96|0,X+64|0);N=c[(c[e>>2]|0)+8>>2]|0;g[X+160>>2]=fa;g[X+160+4>>2]=ga;g[X+160+8>>2]=ha+-.10000000149011612;g[X+160+12>>2]=0.0;g[X+96>>2]=fa+0.0;g[X+96+4>>2]=ga+0.0;g[X+96+8>>2]=ha+.10000000149011612;g[X+96+12>>2]=0.0;Nb[N&127](e,X+160|0,X+96|0,X+64|0);f=f+1|0}while((f|0)<(c[S+484>>2]|0))}N=c[d+72>>2]|0}M=c[d+344>>2]|0;c[X+80>>2]=0;c[X+80+4>>2]=0;c[X+80+8>>2]=0;c[X+80+12>>2]=0;c[X+64>>2]=1065353216;c[X+64+4>>2]=1065353216;c[X+64+8>>2]=1065353216;g[X+64+12>>2]=0.0;c[X+48>>2]=1065353216;c[X+48+4>>2]=0;c[X+48+8>>2]=0;g[X+48+12>>2]=0.0;if(!(M&256)){if(M&1|0?(T=c[S+712>>2]|0,(T|0)>0):0){e=T;h=0;do{f=c[S+720>>2]|0;if(c[(c[f+(h*104|0)+4>>2]|0)+16>>2]&1){e=c[(c[N>>2]|0)+8>>2]|0;L=f+(h*104|0)+8|0;J=f+(h*104|0)+12|0;r=c[J>>2]|0;K=f+(h*104|0)+16|0;s=c[K>>2]|0;g[X+160>>2]=+g[L>>2]+-.10000000149011612;c[X+160+4>>2]=r;c[X+160+8>>2]=s;g[X+160+12>>2]=0.0;ga=+g[J>>2]+0.0;ha=+g[K>>2]+0.0;g[X+96>>2]=+g[L>>2]+.10000000149011612;g[X+96+4>>2]=ga;g[X+96+8>>2]=ha;g[X+96+12>>2]=0.0;c[X+32>>2]=1065353216;c[X+32+4>>2]=0;c[X+32+8>>2]=0;g[X+32+12>>2]=0.0;Nb[e&127](N,X+160|0,X+96|0,X+32|0);e=c[(c[N>>2]|0)+8>>2]|0;ha=+g[J>>2]+-.10000000149011612;s=c[K>>2]|0;c[X+160>>2]=c[L>>2];g[X+160+4>>2]=ha;c[X+160+8>>2]=s;g[X+160+12>>2]=0.0;ha=+g[J>>2]+.10000000149011612;ga=+g[K>>2]+0.0;g[X+96>>2]=+g[L>>2]+0.0;g[X+96+4>>2]=ha;g[X+96+8>>2]=ga;g[X+96+12>>2]=0.0;c[X+32>>2]=0;c[X+32+4>>2]=1065353216;c[X+32+8>>2]=0;g[X+32+12>>2]=0.0;Nb[e&127](N,X+160|0,X+96|0,X+32|0);e=c[(c[N>>2]|0)+8>>2]|0;s=c[J>>2]|0;ga=+g[K>>2]+-.10000000149011612;c[X+160>>2]=c[L>>2];c[X+160+4>>2]=s;g[X+160+8>>2]=ga;g[X+160+12>>2]=0.0;ga=+g[J>>2]+0.0;ha=+g[K>>2]+.10000000149011612;g[X+96>>2]=+g[L>>2]+0.0;g[X+96+4>>2]=ga;g[X+96+8>>2]=ha;g[X+96+12>>2]=0.0;c[X+32>>2]=0;c[X+32+4>>2]=0;c[X+32+8>>2]=1065353216;g[X+32+12>>2]=0.0;Nb[e&127](N,X+160|0,X+96|0,X+32|0);e=c[S+712>>2]|0}h=h+1|0}while((h|0)<(e|0))}if(M&2|0?(O=c[S+732>>2]|0,(O|0)>0):0){e=O;h=0;do{f=c[S+740>>2]|0;if(c[(c[f+(h*52|0)+4>>2]|0)+16>>2]&1){Nb[c[(c[N>>2]|0)+8>>2]&127](N,(c[f+(h*52|0)+8>>2]|0)+8|0,(c[f+(h*52|0)+12>>2]|0)+8|0,X+80|0);e=c[S+732>>2]|0}h=h+1|0}while((h|0)<(e|0))}if(M&16|0?(P=c[S+712>>2]|0,(P|0)>0):0){e=P;h=0;do{f=c[S+720>>2]|0;if(c[(c[f+(h*104|0)+4>>2]|0)+16>>2]&1){fa=+g[f+(h*104|0)+72>>2]*.5;ha=+g[f+(h*104|0)+76>>2]*.5;ga=+g[f+(h*104|0)+80>>2]*.5;L=c[(c[N>>2]|0)+8>>2]|0;e=f+(h*104|0)+8|0;J=f+(h*104|0)+12|0;da=ha+ +g[J>>2];K=f+(h*104|0)+16|0;ea=ga+ +g[K>>2];g[X+160>>2]=fa+ +g[e>>2];g[X+160+4>>2]=da;g[X+160+8>>2]=ea;g[X+160+12>>2]=0.0;Nb[L&127](N,e,X+160|0,X+64|0);L=c[(c[N>>2]|0)+8>>2]|0;ha=+g[J>>2]-ha;ga=+g[K>>2]-ga;g[X+160>>2]=+g[e>>2]-fa;g[X+160+4>>2]=ha;g[X+160+8>>2]=ga;g[X+160+12>>2]=0.0;ga=+g[X+64+4>>2]*.5;ha=+g[X+64+8>>2]*.5;g[X+96>>2]=+g[X+64>>2]*.5;g[X+96+4>>2]=ga;g[X+96+8>>2]=ha;g[X+96+12>>2]=0.0;Nb[L&127](N,e,X+160|0,X+96|0);e=c[S+712>>2]|0}h=h+1|0}while((h|0)<(e|0))}if(M&32|0){if((a[22744]|0)==0?Yy(22744)|0:0){c[5840]=1065353216;c[5841]=0;c[5842]=0;c[5843]=0;c[5844]=0;c[5845]=1065353216;c[5846]=0;c[5847]=0;c[5848]=0;c[5849]=0;c[5850]=1065353216;g[5851]=0.0}if((c[S+812>>2]|0)>0){e=0;do{L=c[S+820>>2]|0;J=c[L+(e*104|0)+24>>2]|0;D=+g[J+8>>2];K=L+(e*104|0)+4|0;E=+g[K>>2];H=+g[J+12>>2];s=L+(e*104|0)+8|0;I=+g[s>>2];ga=+g[J+16>>2];J=L+(e*104|0)+12|0;ea=+g[J>>2];ca=+g[L+(e*104|0)+20>>2]+(D*E+H*I+ga*ea);g[X+160>>2]=D-E*ca;g[X+160+4>>2]=H-I*ca;g[X+160+8>>2]=ga-ea*ca;g[X+160+12>>2]=0.0;Y=+g[K>>2];_=+g[s>>2];F=+g[J>>2];L=Y<_?(Y>2];Z=+g[23360+(L<<4)+4>>2];$=+g[23360+(L<<4)>>2];aa=1.0/+C(+((Y*Z-_*$)*(Y*Z-_*$)+((_*G-F*Z)*(_*G-F*Z)+(F*$-Y*G)*(F*$-Y*G))));ba=F*(F*$-Y*G)*aa-_*(Y*Z-_*$)*aa;da=Y*(Y*Z-_*$)*aa-F*(_*G-F*Z)*aa;ha=_*(_*G-F*Z)*aa-Y*(F*$-Y*G)*aa;fa=1.0/+C(+(ha*ha+(ba*ba+da*da)));L=c[(c[N>>2]|0)+8>>2]|0;g[X+96>>2]=D-E*ca-(_*G-F*Z)*aa*.5;g[X+96+4>>2]=H-I*ca-(F*$-Y*G)*aa*.5;g[X+96+8>>2]=ga-ea*ca-(Y*Z-_*$)*aa*.5;g[X+96+12>>2]=0.0;g[X+32>>2]=(_*G-F*Z)*aa*.5+(D-E*ca);g[X+32+4>>2]=(F*$-Y*G)*aa*.5+(H-I*ca);g[X+32+8>>2]=(Y*Z-_*$)*aa*.5+(ga-ea*ca);g[X+32+12>>2]=0.0;Nb[L&127](N,X+96|0,X+32|0,X+48|0);L=c[(c[N>>2]|0)+8>>2]|0;ca=+g[X+160>>2];ea=+g[X+160+4>>2];ga=+g[X+160+8>>2];g[X+96>>2]=ca-fa*ba*.5;g[X+96+4>>2]=ea-fa*da*.5;g[X+96+8>>2]=ga-fa*ha*.5;g[X+96+12>>2]=0.0;g[X+32>>2]=fa*ba*.5+ca;g[X+32+4>>2]=fa*da*.5+ea;g[X+32+8>>2]=fa*ha*.5+ga;g[X+32+12>>2]=0.0;Nb[L&127](N,X+96|0,X+32|0,X+48|0);L=c[(c[N>>2]|0)+8>>2]|0;ga=+g[s>>2]*.5*3.0+ +g[X+160+4>>2];ha=+g[J>>2]*.5*3.0+ +g[X+160+8>>2];g[X+96>>2]=+g[K>>2]*.5*3.0+ +g[X+160>>2];g[X+96+4>>2]=ga;g[X+96+8>>2]=ha;g[X+96+12>>2]=0.0;c[X+32>>2]=1065353216;c[X+32+4>>2]=1065353216;c[X+32+8>>2]=0;g[X+32+12>>2]=0.0;Nb[L&127](N,X+160|0,X+96|0,X+32|0);e=e+1|0}while((e|0)<(c[S+812>>2]|0))}}if(M&4|0?(c[X+160>>2]=0,c[X+160+4>>2]=1060320051,c[X+160+8>>2]=0,g[X+160+12>>2]=0.0,Q=c[S+752>>2]|0,(Q|0)>0):0){e=Q;h=0;do{f=c[S+760>>2]|0;if(c[(c[f+(h*44|0)+4>>2]|0)+16>>2]&1){e=c[f+(h*44|0)+8>>2]|0;$=+g[e+8>>2];ca=+g[e+12>>2];fa=+g[e+16>>2];e=c[f+(h*44|0)+12>>2]|0;aa=+g[e+8>>2];da=+g[e+12>>2];ga=+g[e+16>>2];e=c[f+(h*44|0)+16>>2]|0;ba=+g[e+8>>2];ea=+g[e+12>>2];ha=+g[e+16>>2];e=c[(c[N>>2]|0)+28>>2]|0;g[X+96>>2]=($+aa+ba)*.3333333432674408+($-($+aa+ba)*.3333333432674408)*.800000011920929;g[X+96+4>>2]=(ca+da+ea)*.3333333432674408+(ca-(ca+da+ea)*.3333333432674408)*.800000011920929;g[X+96+8>>2]=(fa+ga+ha)*.3333333432674408+(fa-(fa+ga+ha)*.3333333432674408)*.800000011920929;g[X+96+12>>2]=0.0;g[X+32>>2]=($+aa+ba)*.3333333432674408+(aa-($+aa+ba)*.3333333432674408)*.800000011920929;g[X+32+4>>2]=(ca+da+ea)*.3333333432674408+(da-(ca+da+ea)*.3333333432674408)*.800000011920929;g[X+32+8>>2]=(fa+ga+ha)*.3333333432674408+(ga-(fa+ga+ha)*.3333333432674408)*.800000011920929;g[X+32+12>>2]=0.0;g[X+16>>2]=($+aa+ba)*.3333333432674408+(ba-($+aa+ba)*.3333333432674408)*.800000011920929;g[X+16+4>>2]=(ca+da+ea)*.3333333432674408+(ea-(ca+da+ea)*.3333333432674408)*.800000011920929;g[X+16+8>>2]=(fa+ga+ha)*.3333333432674408+(ha-(fa+ga+ha)*.3333333432674408)*.800000011920929;g[X+16+12>>2]=0.0;Sb[e&0](N,X+96|0,X+32|0,X+16|0,X+160|0,1.0);e=c[S+752>>2]|0}h=h+1|0}while((h|0)<(e|0))}if(M&8|0?(c[X+160>>2]=1050253722,c[X+160+4>>2]=1050253722,c[X+160+8>>2]=1060320051,g[X+160+12>>2]=0.0,R=c[S+772>>2]|0,(R|0)>0):0){e=R;h=0;do{f=c[S+780>>2]|0;if(c[(c[f+(h*104|0)+4>>2]|0)+16>>2]&1){e=c[f+(h*104|0)+8>>2]|0;z=+g[e+8>>2];D=+g[e+12>>2];G=+g[e+16>>2];e=c[f+(h*104|0)+12>>2]|0;A=+g[e+8>>2];E=+g[e+12>>2];H=+g[e+16>>2];e=c[f+(h*104|0)+16>>2]|0;B=+g[e+8>>2];F=+g[e+12>>2];I=+g[e+16>>2];e=c[f+(h*104|0)+20>>2]|0;fa=+g[e+8>>2];ga=+g[e+12>>2];ha=+g[e+16>>2];e=c[(c[N>>2]|0)+28>>2]|0;ca=(z+A+B+fa)*.25+(z-(z+A+B+fa)*.25)*.800000011920929;da=(D+E+F+ga)*.25+(D-(D+E+F+ga)*.25)*.800000011920929;ea=(G+H+I+ha)*.25+(G-(G+H+I+ha)*.25)*.800000011920929;g[X+96>>2]=ca;g[X+96+4>>2]=da;g[X+96+8>>2]=ea;g[X+96+12>>2]=0.0;Y=(z+A+B+fa)*.25+(A-(z+A+B+fa)*.25)*.800000011920929;Z=(D+E+F+ga)*.25+(E-(D+E+F+ga)*.25)*.800000011920929;_=(G+H+I+ha)*.25+(H-(G+H+I+ha)*.25)*.800000011920929;g[X+32>>2]=Y;g[X+32+4>>2]=Z;g[X+32+8>>2]=_;g[X+32+12>>2]=0.0;$=(z+A+B+fa)*.25+(B-(z+A+B+fa)*.25)*.800000011920929;aa=(D+E+F+ga)*.25+(F-(D+E+F+ga)*.25)*.800000011920929;ba=(G+H+I+ha)*.25+(I-(G+H+I+ha)*.25)*.800000011920929;g[X+16>>2]=$;g[X+16+4>>2]=aa;g[X+16+8>>2]=ba;g[X+16+12>>2]=0.0;Sb[e&0](N,X+96|0,X+32|0,X+16|0,X+160|0,1.0);e=c[(c[N>>2]|0)+28>>2]|0;g[X+96>>2]=ca;g[X+96+4>>2]=da;g[X+96+8>>2]=ea;g[X+96+12>>2]=0.0;g[X+32>>2]=Y;g[X+32+4>>2]=Z;g[X+32+8>>2]=_;g[X+32+12>>2]=0.0;fa=(z+A+B+fa)*.25+(fa-(z+A+B+fa)*.25)*.800000011920929;ga=(D+E+F+ga)*.25+(ga-(D+E+F+ga)*.25)*.800000011920929;ha=(G+H+I+ha)*.25+(ha-(G+H+I+ha)*.25)*.800000011920929;g[X+16>>2]=fa;g[X+16+4>>2]=ga;g[X+16+8>>2]=ha;g[X+16+12>>2]=0.0;Sb[e&0](N,X+96|0,X+32|0,X+16|0,X+160|0,1.0);e=c[(c[N>>2]|0)+28>>2]|0;g[X+96>>2]=Y;g[X+96+4>>2]=Z;g[X+96+8>>2]=_;g[X+96+12>>2]=0.0;g[X+32>>2]=$;g[X+32+4>>2]=aa;g[X+32+8>>2]=ba;g[X+32+12>>2]=0.0;g[X+16>>2]=fa;g[X+16+4>>2]=ga;g[X+16+8>>2]=ha;g[X+16+12>>2]=0.0;Sb[e&0](N,X+96|0,X+32|0,X+16|0,X+160|0,1.0);e=c[(c[N>>2]|0)+28>>2]|0;g[X+96>>2]=$;g[X+96+4>>2]=aa;g[X+96+8>>2]=ba;g[X+96+12>>2]=0.0;g[X+32>>2]=ca;g[X+32+4>>2]=da;g[X+32+8>>2]=ea;g[X+32+12>>2]=0.0;g[X+16>>2]=fa;g[X+16+4>>2]=ga;g[X+16+8>>2]=ha;g[X+16+12>>2]=0.0;Sb[e&0](N,X+96|0,X+32|0,X+16|0,X+160|0,1.0);e=c[S+772>>2]|0}h=h+1|0}while((h|0)<(e|0))}}else{HH();e=c[S+1112>>2]|0;if((e|0)>0){L=0;do{if(a[(c[(c[S+1120>>2]|0)+(L<<2)>>2]|0)+377>>0]|0){ea=+(Lr()|0)*4.656612873077393e-10;fa=+(Lr()|0)*4.656612873077393e-10;ga=+(Lr()|0)*4.656612873077393e-10;ha=1.0/+C(+(ga*ga+(ea*ea+fa*fa)));g[X+160>>2]=ea*ha*.75;g[X+160+4>>2]=fa*ha*.75;g[X+160+8>>2]=ga*ha*.75;g[X+160+12>>2]=0.0;h=c[(c[(c[S+1120>>2]|0)+(L<<2)>>2]|0)+24>>2]|0;if((h|0)>0){c[6472]=(c[6472]|0)+1;e=ic((h<<4|3)+16|0)|0;if(!e)f=0;else{c[(e+4+15&-16)+-4>>2]=e;f=e+4+15&-16}e=0;do{K=f+(e<<4)|0;c[K>>2]=c[X+96>>2];c[K+4>>2]=c[X+96+4>>2];c[K+8>>2]=c[X+96+8>>2];c[K+12>>2]=c[X+96+12>>2];e=e+1|0}while((e|0)!=(h|0));e=0;do{K=f+(e<<4)|0;J=(c[(c[(c[(c[S+1120>>2]|0)+(L<<2)>>2]|0)+32>>2]|0)+(e<<2)>>2]|0)+8|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];e=e+1|0}while((e|0)!=(h|0));K=f;J=f}else{K=0;J=0}a[X+96+16>>0]=1;c[X+96+12>>2]=0;c[X+96+4>>2]=0;c[X+96+8>>2]=0;a[X+96+36>>0]=1;c[V>>2]=0;c[X+96+24>>2]=0;c[X+96+28>>2]=0;a[X+96+56>>0]=1;c[W>>2]=0;c[X+96+44>>2]=0;c[X+96+48>>2]=0;jc(X+96|0,K,h);q=c[X+96+44>>2]|0;if((q|0)>0){o=c[V>>2]|0;s=0;do{r=c[(c[W>>2]|0)+(s<<2)>>2]|0;f=c[o+(r*12|0)+4>>2]|0;e=o+(r*12|0)+(f*12|0)+((c[o+(r*12|0)+(f*12|0)>>2]|0)*12|0)|0;if((e|0)!=(o+(r*12|0)|0)){p=c[X+96+12>>2]|0;h=c[o+(r*12|0)+(f*12|0)+8>>2]|0;n=c[o+(r*12|0)+8>>2]|0;while(1){f=c[e+8>>2]|0;Sb[c[(c[N>>2]|0)+28>>2]&0](N,p+(h<<4)|0,p+(n<<4)|0,p+(f<<4)|0,X+160|0,1.0);h=e+((c[e+4>>2]|0)*12|0)|0;e=h+((c[h>>2]|0)*12|0)|0;if((e|0)==(o+(r*12|0)|0))break;else{h=n;n=f}}}s=s+1|0}while((s|0)<(q|0))}e=c[W>>2]|0;if(e|0){if(a[X+96+56>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[e+-4>>2]|0)}c[W>>2]=0}a[X+96+56>>0]=1;c[W>>2]=0;c[X+96+44>>2]=0;c[X+96+48>>2]=0;e=c[V>>2]|0;if(e|0){if(a[X+96+36>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[e+-4>>2]|0)}c[V>>2]=0}a[X+96+36>>0]=1;c[V>>2]=0;c[X+96+24>>2]=0;c[X+96+28>>2]=0;e=c[X+96+12>>2]|0;if(e|0){if(a[X+96+16>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[e+-4>>2]|0)}c[X+96+12>>2]=0}if(!((J|0)==0|(K|0)==0)){c[6473]=(c[6473]|0)+1;nd(c[K+-4>>2]|0)}e=c[S+1112>>2]|0}L=L+1|0}while((L|0)<(e|0))}}if(M&64|0){if((c[S+792>>2]|0)>0){e=0;do{L=c[S+800>>2]|0;r=c[L+(e*96|0)+20>>2]|0;da=+g[L+(e*96|0)+4>>2];ea=+g[L+(e*96|0)+8>>2];fa=+g[L+(e*96|0)+12>>2];ga=da*+g[r+20>>2]+ea*+g[r+24>>2]+fa*+g[r+28>>2]+ +g[r+56>>2];ha=da*+g[r+36>>2]+ea*+g[r+40>>2]+fa*+g[r+44>>2]+ +g[r+60>>2];g[X+32>>2]=da*+g[r+4>>2]+ea*+g[r+8>>2]+fa*+g[r+12>>2]+ +g[r+52>>2];g[X+32+4>>2]=ga;g[X+32+8>>2]=ha;g[X+32+12>>2]=0.0;L=L+(e*96|0)|0;r=c[L>>2]|0;c[X+16>>2]=1065353216;c[X+16+4>>2]=0;c[X+16+8>>2]=0;g[X+16+12>>2]=0.0;K=c[(c[N>>2]|0)+8>>2]|0;ha=+g[r+8>>2];J=c[r+12>>2]|0;s=c[r+16>>2]|0;g[X+160>>2]=ha+-.25;c[X+160+4>>2]=J;c[X+160+8>>2]=s;g[X+160+12>>2]=0.0;ga=(c[j>>2]=J,+g[j>>2])+0.0;fa=(c[j>>2]=s,+g[j>>2])+0.0;g[X+96>>2]=ha+.25;g[X+96+4>>2]=ga;g[X+96+8>>2]=fa;g[X+96+12>>2]=0.0;Nb[K&127](N,X+160|0,X+96|0,X+16|0);K=c[(c[N>>2]|0)+8>>2]|0;s=c[r+8>>2]|0;fa=+g[r+12>>2];J=c[r+16>>2]|0;c[X+160>>2]=s;g[X+160+4>>2]=fa+-.25;c[X+160+8>>2]=J;g[X+160+12>>2]=0.0;ga=(c[j>>2]=s,+g[j>>2])+0.0;ha=(c[j>>2]=J,+g[j>>2])+0.0;g[X+96>>2]=ga;g[X+96+4>>2]=fa+.25;g[X+96+8>>2]=ha;g[X+96+12>>2]=0.0;Nb[K&127](N,X+160|0,X+96|0,X+16|0);K=c[(c[N>>2]|0)+8>>2]|0;J=c[r+8>>2]|0;s=c[r+12>>2]|0;ha=+g[r+16>>2];c[X+160>>2]=J;c[X+160+4>>2]=s;g[X+160+8>>2]=ha+-.25;g[X+160+12>>2]=0.0;fa=(c[j>>2]=J,+g[j>>2])+0.0;ga=(c[j>>2]=s,+g[j>>2])+0.0;g[X+96>>2]=fa;g[X+96+4>>2]=ga;g[X+96+8>>2]=ha+.25;g[X+96+12>>2]=0.0;Nb[K&127](N,X+160|0,X+96|0,X+16|0);c[X+16>>2]=0;c[X+16+4>>2]=1065353216;c[X+16+8>>2]=0;g[X+16+12>>2]=0.0;K=c[(c[N>>2]|0)+8>>2]|0;ha=+g[X+32>>2];s=c[X+32+4>>2]|0;J=c[X+32+8>>2]|0;g[X+160>>2]=ha+-.25;c[X+160+4>>2]=s;c[X+160+8>>2]=J;g[X+160+12>>2]=0.0;ga=(c[j>>2]=s,+g[j>>2])+0.0;fa=(c[j>>2]=J,+g[j>>2])+0.0;g[X+96>>2]=ha+.25;g[X+96+4>>2]=ga;g[X+96+8>>2]=fa;g[X+96+12>>2]=0.0;Nb[K&127](N,X+160|0,X+96|0,X+16|0);K=c[(c[N>>2]|0)+8>>2]|0;J=c[X+32>>2]|0;fa=+g[X+32+4>>2];s=c[X+32+8>>2]|0;c[X+160>>2]=J;g[X+160+4>>2]=fa+-.25;c[X+160+8>>2]=s;g[X+160+12>>2]=0.0;ga=(c[j>>2]=J,+g[j>>2])+0.0;ha=(c[j>>2]=s,+g[j>>2])+0.0;g[X+96>>2]=ga;g[X+96+4>>2]=fa+.25;g[X+96+8>>2]=ha;g[X+96+12>>2]=0.0;Nb[K&127](N,X+160|0,X+96|0,X+16|0);K=c[(c[N>>2]|0)+8>>2]|0;s=c[X+32>>2]|0;J=c[X+32+4>>2]|0;ha=+g[X+32+8>>2];c[X+160>>2]=s;c[X+160+4>>2]=J;g[X+160+8>>2]=ha+-.25;g[X+160+12>>2]=0.0;fa=(c[j>>2]=s,+g[j>>2])+0.0;ga=(c[j>>2]=J,+g[j>>2])+0.0;g[X+96>>2]=fa;g[X+96+4>>2]=ga;g[X+96+8>>2]=ha+.25;g[X+96+12>>2]=0.0;Nb[K&127](N,X+160|0,X+96|0,X+16|0);K=c[(c[N>>2]|0)+8>>2]|0;L=(c[L>>2]|0)+8|0;c[X+160>>2]=1065353216;c[X+160+4>>2]=1065353216;c[X+160+8>>2]=1065353216;g[X+160+12>>2]=0.0;Nb[K&127](N,L,X+32|0,X+160|0);e=e+1|0}while((e|0)<(c[S+792>>2]|0))}e=c[S+712>>2]|0;if((e|0)>0){h=0;do{f=c[S+720>>2]|0;if((c[(c[f+(h*104|0)+4>>2]|0)+16>>2]&1|0)!=0?+g[f+(h*104|0)+88>>2]<=0.0:0){K=f+(h*104|0)+8|0;c[X+32>>2]=1065353216;c[X+32+4>>2]=0;c[X+32+8>>2]=0;g[X+32+12>>2]=0.0;e=c[(c[N>>2]|0)+8>>2]|0;ha=+g[K>>2];L=f+(h*104|0)+12|0;s=c[L>>2]|0;J=f+(h*104|0)+16|0;r=c[J>>2]|0;g[X+160>>2]=ha+-.25;c[X+160+4>>2]=s;c[X+160+8>>2]=r;g[X+160+12>>2]=0.0;ga=(c[j>>2]=s,+g[j>>2])+0.0;fa=(c[j>>2]=r,+g[j>>2])+0.0;g[X+96>>2]=ha+.25;g[X+96+4>>2]=ga;g[X+96+8>>2]=fa;g[X+96+12>>2]=0.0;Nb[e&127](N,X+160|0,X+96|0,X+32|0);e=c[(c[N>>2]|0)+8>>2]|0;r=c[K>>2]|0;fa=+g[L>>2];s=c[J>>2]|0;c[X+160>>2]=r;g[X+160+4>>2]=fa+-.25;c[X+160+8>>2]=s;g[X+160+12>>2]=0.0;ga=(c[j>>2]=r,+g[j>>2])+0.0;ha=(c[j>>2]=s,+g[j>>2])+0.0;g[X+96>>2]=ga;g[X+96+4>>2]=fa+.25;g[X+96+8>>2]=ha;g[X+96+12>>2]=0.0;Nb[e&127](N,X+160|0,X+96|0,X+32|0);e=c[(c[N>>2]|0)+8>>2]|0;K=c[K>>2]|0;L=c[L>>2]|0;ha=+g[J>>2];c[X+160>>2]=K;c[X+160+4>>2]=L;g[X+160+8>>2]=ha+-.25;g[X+160+12>>2]=0.0;fa=(c[j>>2]=K,+g[j>>2])+0.0;ga=(c[j>>2]=L,+g[j>>2])+0.0;g[X+96>>2]=fa;g[X+96+4>>2]=ga;g[X+96+8>>2]=ha+.25;g[X+96+12>>2]=0.0;Nb[e&127](N,X+160|0,X+96|0,X+32|0);e=c[S+712>>2]|0}h=h+1|0}while((h|0)<(e|0))}}if(M&128|0?(c[S+692>>2]|0)>0:0){h=0;do{e=c[S+700>>2]|0;f=e+(h*60|0)+8|0;c[X+160>>2]=c[f>>2];c[X+160+4>>2]=c[f+4>>2];c[X+160+8>>2]=c[f+8>>2];c[X+160+12>>2]=c[f+12>>2];f=c[e+(h*60|0)+24>>2]|0;if((f|0)>0){i=+g[X+160+8>>2];k=+g[X+160>>2];m=+g[X+160+4>>2];n=0;do{L=c[e+(h*60|0)+28+(n<<2)>>2]|0;ha=+g[e+(h*60|0)+44+(n<<2)>>2];k=+g[L+8>>2]*ha+k;m=ha*+g[L+12>>2]+m;i=ha*+g[L+16>>2]+i;g[X+160+8>>2]=i;n=n+1|0}while((n|0)!=(f|0));g[X+160>>2]=k;g[X+160+4>>2]=m}Kb[c[(c[N>>2]|0)+40>>2]&127](N,X+160|0,c[e+(h*60|0)+4>>2]|0);h=h+1|0}while((h|0)<(c[S+692>>2]|0))}if(M&512|0){L=c[S+928>>2]|0;c[X+160>>2]=1065353216;c[X+160+4>>2]=0;c[X+160+8>>2]=1065353216;g[X+160+12>>2]=0.0;c[X+96>>2]=1065353216;c[X+96+4>>2]=1065353216;c[X+96+8>>2]=1065353216;g[X+96+12>>2]=0.0;Cf(N,L,0,X+160|0,X+96|0)}if(M&1024|0){L=c[S+988>>2]|0;c[X+160>>2]=0;c[X+160+4>>2]=1065353216;c[X+160+8>>2]=0;g[X+160+12>>2]=0.0;c[X+96>>2]=1065353216;c[X+96+4>>2]=0;c[X+96+8>>2]=0;g[X+96+12>>2]=0.0;Cf(N,L,0,X+160|0,X+96|0)}if(M&2048|0){L=c[S+1048>>2]|0;c[X+160>>2]=0;c[X+160+4>>2]=1065353216;c[X+160+8>>2]=1065353216;g[X+160+12>>2]=0.0;c[X+96>>2]=1065353216;c[X+96+4>>2]=0;c[X+96+8>>2]=0;g[X+96+12>>2]=0.0;Cf(N,L,0,X+160|0,X+96|0)}a:do if(M&4096|0?(c[S+852>>2]|0)>0:0){f=0;while(1){e=c[(c[S+860>>2]|0)+(f<<2)>>2]|0;switch(qb[c[(c[e>>2]|0)+20>>2]&127](e)|0){case 0:{M=ji(e+4|0)|0;ha=+g[e+28>>2];ga=+g[e+32>>2];fa=+g[e+36>>2];ea=ha*+g[M+16>>2]+ga*+g[M+20>>2]+fa*+g[M+24>>2]+ +g[M+52>>2];da=ha*+g[M+32>>2]+ga*+g[M+36>>2]+fa*+g[M+40>>2]+ +g[M+56>>2];g[X+32>>2]=ha*+g[M>>2]+ga*+g[M+4>>2]+fa*+g[M+8>>2]+ +g[M+48>>2];g[X+32+4>>2]=ea;g[X+32+8>>2]=da;g[X+32+12>>2]=0.0;M=ji(e+16|0)|0;da=+g[e+44>>2];ea=+g[e+48>>2];fa=+g[e+52>>2];ga=da*+g[M+16>>2]+ea*+g[M+20>>2]+fa*+g[M+24>>2]+ +g[M+52>>2];ha=da*+g[M+32>>2]+ea*+g[M+36>>2]+fa*+g[M+40>>2]+ +g[M+56>>2];g[X+16>>2]=da*+g[M>>2]+ea*+g[M+4>>2]+fa*+g[M+8>>2]+ +g[M+48>>2];g[X+16+4>>2]=ga;g[X+16+8>>2]=ha;g[X+16+12>>2]=0.0;M=c[(c[N>>2]|0)+8>>2]|0;L=(ji(e+4|0)|0)+48|0;c[X+160>>2]=1065353216;c[X+160+4>>2]=1065353216;c[X+160+8>>2]=0;g[X+160+12>>2]=0.0;Nb[M&127](N,L,X+32|0,X+160|0);L=c[(c[N>>2]|0)+8>>2]|0;M=(ji(e+16|0)|0)+48|0;c[X+160>>2]=0;c[X+160+4>>2]=1065353216;c[X+160+8>>2]=1065353216;g[X+160+12>>2]=0.0;Nb[L&127](N,M,X+16|0,X+160|0);c[X>>2]=1065353216;c[X+4>>2]=1065353216;c[X+8>>2]=0;g[X+12>>2]=0.0;M=c[(c[N>>2]|0)+8>>2]|0;ha=+g[X+32>>2];L=c[X+32+4>>2]|0;K=c[X+32+8>>2]|0;g[X+160>>2]=ha+-.25;c[X+160+4>>2]=L;c[X+160+8>>2]=K;g[X+160+12>>2]=0.0;ga=(c[j>>2]=L,+g[j>>2])+0.0;fa=(c[j>>2]=K,+g[j>>2])+0.0;g[X+96>>2]=ha+.25;g[X+96+4>>2]=ga;g[X+96+8>>2]=fa;g[X+96+12>>2]=0.0;Nb[M&127](N,X+160|0,X+96|0,X);M=c[(c[N>>2]|0)+8>>2]|0;K=c[X+32>>2]|0;fa=+g[X+32+4>>2];L=c[X+32+8>>2]|0;c[X+160>>2]=K;g[X+160+4>>2]=fa+-.25;c[X+160+8>>2]=L;g[X+160+12>>2]=0.0;ga=(c[j>>2]=K,+g[j>>2])+0.0;ha=(c[j>>2]=L,+g[j>>2])+0.0;g[X+96>>2]=ga;g[X+96+4>>2]=fa+.25;g[X+96+8>>2]=ha;g[X+96+12>>2]=0.0;Nb[M&127](N,X+160|0,X+96|0,X);M=c[(c[N>>2]|0)+8>>2]|0;L=c[X+32>>2]|0;K=c[X+32+4>>2]|0;ha=+g[X+32+8>>2];c[X+160>>2]=L;c[X+160+4>>2]=K;g[X+160+8>>2]=ha+-.25;g[X+160+12>>2]=0.0;fa=(c[j>>2]=L,+g[j>>2])+0.0;ga=(c[j>>2]=K,+g[j>>2])+0.0;g[X+96>>2]=fa;g[X+96+4>>2]=ga;g[X+96+8>>2]=ha+.25;g[X+96+12>>2]=0.0;Nb[M&127](N,X+160|0,X+96|0,X);c[X>>2]=0;c[X+4>>2]=1065353216;c[X+8>>2]=1065353216;g[X+12>>2]=0.0;M=c[(c[N>>2]|0)+8>>2]|0;ha=+g[X+16>>2];K=c[X+16+4>>2]|0;L=c[X+16+8>>2]|0;g[X+160>>2]=ha+-.25;c[X+160+4>>2]=K;c[X+160+8>>2]=L;g[X+160+12>>2]=0.0;ga=(c[j>>2]=K,+g[j>>2])+0.0;fa=(c[j>>2]=L,+g[j>>2])+0.0;g[X+96>>2]=ha+.25;g[X+96+4>>2]=ga;g[X+96+8>>2]=fa;g[X+96+12>>2]=0.0;Nb[M&127](N,X+160|0,X+96|0,X);M=c[(c[N>>2]|0)+8>>2]|0;L=c[X+16>>2]|0;fa=+g[X+16+4>>2];K=c[X+16+8>>2]|0;c[X+160>>2]=L;g[X+160+4>>2]=fa+-.25;c[X+160+8>>2]=K;g[X+160+12>>2]=0.0;ga=(c[j>>2]=L,+g[j>>2])+0.0;ha=(c[j>>2]=K,+g[j>>2])+0.0;g[X+96>>2]=ga;g[X+96+4>>2]=fa+.25;g[X+96+8>>2]=ha;g[X+96+12>>2]=0.0;Nb[M&127](N,X+160|0,X+96|0,X);M=c[(c[N>>2]|0)+8>>2]|0;K=c[X+16>>2]|0;L=c[X+16+4>>2]|0;ha=+g[X+16+8>>2];c[X+160>>2]=K;c[X+160+4>>2]=L;g[X+160+8>>2]=ha+-.25;g[X+160+12>>2]=0.0;fa=(c[j>>2]=K,+g[j>>2])+0.0;ga=(c[j>>2]=L,+g[j>>2])+0.0;g[X+96>>2]=fa;g[X+96+4>>2]=ga;g[X+96+8>>2]=ha+.25;g[X+96+12>>2]=0.0;Nb[M&127](N,X+160|0,X+96|0,X);break}case 1:{M=(ji(e+4|0)|0)+48|0;c[X+160>>2]=c[M>>2];c[X+160+4>>2]=c[M+4>>2];c[X+160+8>>2]=c[M+8>>2];c[X+160+12>>2]=c[M+12>>2];M=(ji(e+16|0)|0)+48|0;c[X+96>>2]=c[M>>2];c[X+96+4>>2]=c[M+4>>2];c[X+96+8>>2]=c[M+8>>2];c[X+96+12>>2]=c[M+12>>2];M=ji(e+4|0)|0;ba=+g[e+28>>2];aa=+g[e+32>>2];ea=+g[e+36>>2];ca=+g[M>>2]*ba+ +g[M+4>>2]*aa+ +g[M+8>>2]*ea;da=ba*+g[M+16>>2]+aa*+g[M+20>>2]+ea*+g[M+24>>2];ea=ba*+g[M+32>>2]+aa*+g[M+36>>2]+ea*+g[M+40>>2];M=ji(e+16|0)|0;aa=+g[e+44>>2];ba=+g[e+48>>2];ha=+g[e+52>>2];fa=+g[M>>2]*aa+ +g[M+4>>2]*ba+ +g[M+8>>2]*ha;ga=aa*+g[M+16>>2]+ba*+g[M+20>>2]+ha*+g[M+24>>2];ha=aa*+g[M+32>>2]+ba*+g[M+36>>2]+ha*+g[M+40>>2];M=c[(c[N>>2]|0)+8>>2]|0;ba=da*10.0+ +g[X+160+4>>2];aa=ea*10.0+ +g[X+160+8>>2];g[X+32>>2]=ca*10.0+ +g[X+160>>2];g[X+32+4>>2]=ba;g[X+32+8>>2]=aa;g[X+32+12>>2]=0.0;c[X+16>>2]=1065353216;c[X+16+4>>2]=1065353216;c[X+16+8>>2]=0;g[X+16+12>>2]=0.0;Nb[M&127](N,X+160|0,X+32|0,X+16|0);M=c[(c[N>>2]|0)+8>>2]|0;aa=ga*10.0+ +g[X+160+4>>2];ba=ha*10.0+ +g[X+160+8>>2];g[X+32>>2]=fa*10.0+ +g[X+160>>2];g[X+32+4>>2]=aa;g[X+32+8>>2]=ba;g[X+32+12>>2]=0.0;c[X+16>>2]=1065353216;c[X+16+4>>2]=1065353216;c[X+16+8>>2]=0;g[X+16+12>>2]=0.0;Nb[M&127](N,X+160|0,X+32|0,X+16|0);M=c[(c[N>>2]|0)+8>>2]|0;da=da*10.0+ +g[X+96+4>>2];ea=ea*10.0+ +g[X+96+8>>2];g[X+32>>2]=ca*10.0+ +g[X+96>>2];g[X+32+4>>2]=da;g[X+32+8>>2]=ea;g[X+32+12>>2]=0.0;c[X+16>>2]=0;c[X+16+4>>2]=1065353216;c[X+16+8>>2]=1065353216;g[X+16+12>>2]=0.0;Nb[M&127](N,X+96|0,X+32|0,X+16|0);M=c[(c[N>>2]|0)+8>>2]|0;ga=ga*10.0+ +g[X+96+4>>2];ha=ha*10.0+ +g[X+96+8>>2];g[X+32>>2]=fa*10.0+ +g[X+96>>2];g[X+32+4>>2]=ga;g[X+32+8>>2]=ha;g[X+32+12>>2]=0.0;c[X+16>>2]=0;c[X+16+4>>2]=1065353216;c[X+16+8>>2]=1065353216;g[X+16+12>>2]=0.0;Nb[M&127](N,X+96|0,X+32|0,X+16|0);break}default:{}}f=f+1|0;if((f|0)>=(c[S+852>>2]|0))break a}}while(0)}e=c[d+72>>2]|0;if(e|0?(qb[c[(c[e>>2]|0)+48>>2]&127](e)|0)&2|0:0){e=b[d+348>>1]|0;if(!((e&255)<<24>>24))e=(e&65535)>>>8&255;else{N=c[d+72>>2]|0;e=c[S+928>>2]|0;c[X+160>>2]=1065353216;c[X+160+4>>2]=0;c[X+160+8>>2]=1065353216;g[X+160+12>>2]=0.0;c[X+96>>2]=1065353216;c[X+96+4>>2]=1065353216;c[X+96+8>>2]=1065353216;g[X+96+12>>2]=0.0;Cf(N,e,0,X+160|0,X+96|0);e=a[d+349>>0]|0}if(e<<24>>24){M=c[d+72>>2]|0;N=c[S+988>>2]|0;c[X+160>>2]=0;c[X+160+4>>2]=1065353216;c[X+160+8>>2]=0;g[X+160+12>>2]=0.0;c[X+96>>2]=1065353216;c[X+96+4>>2]=0;c[X+96+8>>2]=0;g[X+96+12>>2]=0.0;Cf(M,N,0,X+160|0,X+96|0)}if(a[d+350>>0]|0){N=c[d+72>>2]|0;S=c[S+1048>>2]|0;c[X+160>>2]=0;c[X+160+4>>2]=1065353216;c[X+160+8>>2]=1065353216;g[X+160+12>>2]=0.0;c[X+96>>2]=1065353216;c[X+96+4>>2]=0;c[X+96+8>>2]=0;g[X+96+12>>2]=0.0;Cf(N,S,0,X+160|0,X+96|0)}}U=U+1|0}while((U|0)<(c[d+328>>2]|0));l=X;return}function _b(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,m=0,n=0,o=0,p=0.0,q=0,r=0.0,s=0.0,t=0,u=0,v=0.0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,D=0.0,E=0.0,F=0.0,G=0,H=0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,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;Z=l;l=l+112|0;c[Z+40>>2]=0;a[Z+16>>0]=1;c[Z+12>>2]=0;c[Z+4>>2]=0;c[Z+8>>2]=0;a[Z+36>>0]=1;c[Z+32>>2]=0;c[Z+24>>2]=0;c[Z+28>>2]=0;i=e>>>0>8?e:8;if((i|0)>0){c[6472]=(c[6472]|0)+1;h=ic((i<<4|3)+16|0)|0;if(!h)j=0;else{c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}h=0;do{Y=j+(h<<4)|0;c[Y>>2]=c[Z+48>>2];c[Y+4>>2]=c[Z+48+4>>2];c[Y+8>>2]=c[Z+48+8>>2];c[Y+12>>2]=c[Z+48+12>>2];h=h+1|0}while((h|0)!=(i|0));Y=j;X=j}else{Y=0;X=0}do if(!e){h=0;w=0;q=0;t=0;u=0}else{i=c[Z+24>>2]|0;if((i|0)<0){h=c[Z+32>>2]|0;if((c[Z+28>>2]|0)<0){if(!((h|0)==0|(a[Z+36>>0]|0)==0)){c[6473]=(c[6473]|0)+1;nd(c[h+-4>>2]|0)}a[Z+36>>0]=1;c[Z+32>>2]=0;c[Z+28>>2]=0;h=0}Nk(h+(i<<2)|0,0,O(i,-4)|0)|0}c[Z+24>>2]=0;x=3402823466385288598117041.0e14;p=-3402823466385288598117041.0e14;y=3402823466385288598117041.0e14;r=-3402823466385288598117041.0e14;z=3402823466385288598117041.0e14;v=-3402823466385288598117041.0e14;h=0;i=d;while(1){P=+g[i>>2];x=Pp?P:p;P=+g[i+4>>2];y=Pr?P:r;P=+g[i+8>>2];z=Pv?P:v;h=h+1|0;if((h|0)==(e|0))break;else i=i+16|0}s=p-x;J=r-y;p=v-z;K=x+s*.5;L=y+J*.5;D=z+p*.5;do if(e>>>0<3|(s<9.999999974752427e-07|J<9.999999974752427e-07|p<9.999999974752427e-07)){v=s>9.999999974752427e-07&s<3402823466385288598117041.0e14?s:3402823466385288598117041.0e14;v=J>9.999999974752427e-07&J9.999999974752427e-07&p>2];z=1.0/J*+g[n+4>>2];A=1.0/p*+g[n+8>>2];n=n+16|0;a:do if(h){j=0;while(1){d=Y+(j<<4)|0;r=+g[d>>2];k=Y+(j<<4)+4|0;v=+g[k>>2];m=Y+(j<<4)+8|0;x=+g[m>>2];if(+B(+(r-y))<1.0000000474974513e-03&+B(+(v-z))<1.0000000474974513e-03&+B(+(x-A))<1.0000000474974513e-03)break;j=j+1|0;if(j>>>0>=h>>>0){m=j;break a}}if((y-1.0/s*K)*(y-1.0/s*K)+(z-1.0/J*L)*(z-1.0/J*L)+(A-1.0/p*D)*(A-1.0/p*D)>(r-1.0/s*K)*(r-1.0/s*K)+(v-1.0/J*L)*(v-1.0/J*L)+(x-1.0/p*D)*(x-1.0/p*D)){g[d>>2]=y;g[k>>2]=z;g[m>>2]=A;m=j}else m=j}else m=0;while(0);if((m|0)==(h|0)){g[Y+(h<<4)>>2]=y;g[Y+(h<<4)+4>>2]=z;g[Y+(h<<4)+8>>2]=A;h=h+1|0}if((i|0)==(c[Z+28>>2]|0)?(t=i|0?i<<1:1,(i|0)<(t|0)):0){if((t|0)!=0?(c[6472]=(c[6472]|0)+1,q=ic((t<<2|3)+16|0)|0,(q|0)!=0):0){c[(q+4+15&-16)+-4>>2]=q;k=q+4+15&-16}else k=0;d=c[Z+32>>2]|0;if((i|0)<=0){if(d)W=37}else{j=0;do{c[k+(j<<2)>>2]=c[d+(j<<2)>>2];j=j+1|0}while((j|0)!=(i|0));W=37}if((W|0)==37){W=0;if(a[Z+36>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[Z+32>>2]=0;i=c[Z+24>>2]|0}a[Z+36>>0]=1;c[Z+32>>2]=k;c[Z+28>>2]=t}c[(c[Z+32>>2]|0)+(i<<2)>>2]=m;i=(c[Z+24>>2]|0)+1|0;c[Z+24>>2]=i;o=o+1|0}while((o|0)!=(e|0));if(!h){i=1;D=3402823466385288598117041.0e14;x=-3402823466385288598117041.0e14;A=3402823466385288598117041.0e14;v=-3402823466385288598117041.0e14;y=3402823466385288598117041.0e14;r=-3402823466385288598117041.0e14}else{E=3402823466385288598117041.0e14;D=3402823466385288598117041.0e14;F=-3402823466385288598117041.0e14;x=-3402823466385288598117041.0e14;K=3402823466385288598117041.0e14;A=3402823466385288598117041.0e14;L=-3402823466385288598117041.0e14;v=-3402823466385288598117041.0e14;N=3402823466385288598117041.0e14;y=3402823466385288598117041.0e14;P=-3402823466385288598117041.0e14;r=-3402823466385288598117041.0e14;o=0;while(1){z=+g[Y+(o<<4)>>2];d=zF;x=n?z:x;I=+g[Y+(o<<4)+4>>2];i=IL;v=k?I:v;M=+g[Y+(o<<4)+8>>2];j=MP;r=m?M:r;o=o+1|0;if((o|0)==(h|0))break;else{E=d?z:E;F=n?z:F;K=i?I:K;L=k?I:L;N=j?M:N;P=m?M:P}}i=h>>>0<3}z=x-D;v=v-A;E=r-y;if(!(i|(z<9.999999974752427e-07|v<9.999999974752427e-07|E<9.999999974752427e-07))){if(h|0){U=h;r=J;W=52;break}break}D=D+z*.5;A=A+v*.5;y=y+E*.5;x=z>=9.999999974752427e-07&z<3402823466385288598117041.0e14?z:3402823466385288598117041.0e14;x=v>=9.999999974752427e-07&v=9.999999974752427e-07&E>2]=x;g[Y+4>>2]=r;g[Y+8>>2]=y;g[Y+16>>2]=E;g[Y+20>>2]=r;g[Y+24>>2]=y;g[Y+32>>2]=E;g[Y+36>>2]=F;g[Y+40>>2]=y;g[Y+48>>2]=x;g[Y+52>>2]=F;g[Y+56>>2]=y;g[Y+64>>2]=x;g[Y+68>>2]=r;g[Y+72>>2]=z;g[Y+80>>2]=E;g[Y+84>>2]=r;g[Y+88>>2]=z;g[Y+96>>2]=E;g[Y+100>>2]=F;g[Y+104>>2]=z;g[Y+112>>2]=x;g[Y+116>>2]=F;g[Y+120>>2]=z;U=8;s=I;r=J;W=52}if((W|0)==52){h=0;do{V=Y+(h<<4)|0;g[V>>2]=s*+g[V>>2];V=Y+(h<<4)+4|0;g[V>>2]=r*+g[V>>2];V=Y+(h<<4)+8|0;g[V>>2]=p*+g[V>>2];h=h+1|0}while(h>>>0>>0);if((U|0)>=4){p=+g[Y>>2];s=+g[Y+4>>2];r=+g[Y+8>>2];V=U<<2;c[6472]=(c[6472]|0)+1;h=ic((V|3)+16|0)|0;if(!h)j=0;else{c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}c[Z+48>>2]=0;c[6472]=(c[6472]|0)+1;i=ic((V|3)+16|0)|0;if(i){c[(i+4+15&-16)+-4>>2]=i;h=c[Z+48>>2]|0;if(!h)h=i+4+15&-16;else{c[6473]=(c[6473]|0)+1;nd(c[h+-4>>2]|0);h=i+4+15&-16}}else h=0;c[Z+48>>2]=h;o=j;q=j;t=0;h=U;x=p;y=r;z=s;v=p;p=s;m=U;n=j;while(1){if((t|0)==(h|0)?(G=t|0?t<<1:1,(t|0)<(G|0)):0){if((G|0)!=0?(c[6472]=(c[6472]|0)+1,u=ic((G<<2|3)+16|0)|0,(u|0)!=0):0){c[(u+4+15&-16)+-4>>2]=u;j=u+4+15&-16}else j=0;i=c[Z+48>>2]|0;if((t|0)<=0){if(i|0)W=68}else{h=0;do{c[j+(h<<2)>>2]=c[i+(h<<2)>>2];h=h+1|0}while((h|0)!=(t|0));W=68}if((W|0)==68){W=0;c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0);c[Z+48>>2]=0}c[Z+48>>2]=j;k=G}else k=h;c[(c[Z+48>>2]|0)+(t<<2)>>2]=1;d=t;t=t+1|0;do if((d|0)==(m|0)){i=d|0?d<<1:1;if((d|0)<(i|0)){if((i|0)!=0?(c[6472]=(c[6472]|0)+1,w=ic((i<<2|3)+16|0)|0,(w|0)!=0):0){c[(w+4+15&-16)+-4>>2]=w;j=w+4+15&-16}else j=0;if((d|0)>0){h=0;do{c[j+(h<<2)>>2]=c[n+(h<<2)>>2];h=h+1|0}while((h|0)!=(d|0));if(!q){o=j;h=j;n=j;break}}else if((n|0)==0|(q|0)==0){o=j;h=j;n=j;break}c[6473]=(c[6473]|0)+1;nd(c[q+-4>>2]|0);o=j;h=j;n=j}else{h=q;i=d}}else{h=q;i=m}while(0);c[n+(d<<2)>>2]=0;M=+g[Y+(d<<4)>>2];v=M>2];p=N>2];r=P=(U|0))break;else{q=h;h=k;m=i}}P=x-v;x=z-p;L=y-r;L=+C(+(P*P+x*x+L*L))*1.0000000474974513e-03;Q=He(Y,U,.009999999776482582,.019999999552965164,1.0,c[Z+48>>2]|0)|0;m=c[Z+48>>2]|0;R=He(Y,U,-.009999999776482582,-.019999999552965164,-1.0,m)|0;q=Y+(Q<<4)|0;w=Y+(R<<4)|0;x=+g[q>>2]-+g[w>>2];G=Y+(Q<<4)+4|0;H=Y+(R<<4)+4|0;z=+g[G>>2]-+g[H>>2];t=Y+(Q<<4)+8|0;u=Y+(R<<4)+8|0;y=+g[t>>2]-+g[u>>2];b:do if((Q|0)!=(R|0)?!(y==0.0&z==0.0&x==0.0):0){r=+C(+((y*.019999999552965164-z*0.0)*(y*.019999999552965164-z*0.0)+(x*0.0-y)*(x*0.0-y)+(z-x*.019999999552965164)*(z-x*.019999999552965164)));p=+C(+((y-z*0.0)*(y-z*0.0)+(y*.019999999552965164+x*0.0)*(y*.019999999552965164+x*0.0)+(z*-.019999999552965164-x)*(z*-.019999999552965164-x)));if(r>p){s=(y*.019999999552965164-z*0.0)*(1.0/r);v=(x*0.0-y)*(1.0/r);p=(z-x*.019999999552965164)*(1.0/r)}else{s=(y-z*0.0)*(1.0/p);v=(y*.019999999552965164+x*0.0)*(1.0/p);p=(z*-.019999999552965164-x)*(1.0/p)}h=He(Y,U,s,v,p,m)|0;if((h|0)==(Q|0)|(h|0)==(R|0))k=He(Y,U,-s,-v,-p,m)|0;else k=h;if(!((k|0)==(Q|0)|(k|0)==(R|0))){i=Y+(k<<4)|0;r=+g[i>>2]-+g[q>>2];d=Y+(k<<4)+4|0;v=+g[d>>2]-+g[G>>2];j=Y+(k<<4)+8|0;s=+g[j>>2]-+g[t>>2];p=1.0/+C(+((z*r-v*x)*(z*r-v*x)+((v*y-s*z)*(v*y-s*z)+(s*x-y*r)*(s*x-y*r))));h=He(Y,U,(v*y-s*z)*p,(s*x-y*r)*p,(z*r-v*x)*p,m)|0;if((h|0)==(k|0)|((h|0)==(Q|0)|(h|0)==(R|0)))h=He(Y,U,-((v*y-s*z)*p),-((s*x-y*r)*p),-((z*r-v*x)*p),m)|0;if(!((h|0)==(k|0)|((h|0)==(Q|0)|(h|0)==(R|0)))?(E=+g[q>>2],J=+g[G>>2],D=+g[t>>2],N=+g[w>>2]-E,F=+g[H>>2]-J,K=+g[u>>2]-D,M=+g[i>>2]-E,I=+g[d>>2]-J,P=+g[j>>2]-D,S=(+g[Y+(h<<4)+8>>2]-D)*(N*I-F*M)+((+g[Y+(h<<4)>>2]-E)*(F*P-K*I)+(+g[Y+(h<<4)+4>>2]-J)*(K*M-N*P))<0.0,T=S?k:h,S=S?h:k,(Q|0)!=-1):0){I=(+g[Y+(Q<<4)>>2]+ +g[Y+(R<<4)>>2]+ +g[Y+(S<<4)>>2]+ +g[Y+(T<<4)>>2])*.25;J=(+g[Y+(Q<<4)+4>>2]+ +g[Y+(R<<4)+4>>2]+ +g[Y+(S<<4)+4>>2]+ +g[Y+(T<<4)+4>>2])*.25;K=(+g[Y+(Q<<4)+8>>2]+ +g[Y+(R<<4)+8>>2]+ +g[Y+(S<<4)+8>>2]+ +g[Y+(T<<4)+8>>2])*.25;h=Ah(Z,S,T,R)|0;c[h+12>>2]=2;c[h+16>>2]=3;c[h+20>>2]=1;h=Ah(Z,T,S,Q)|0;c[h+12>>2]=3;c[h+16>>2]=2;c[h+20>>2]=0;h=Ah(Z,Q,R,T)|0;c[h+12>>2]=0;c[h+16>>2]=1;c[h+20>>2]=3;h=Ah(Z,R,Q,S)|0;c[h+12>>2]=1;c[h+16>>2]=0;c[h+20>>2]=2;c[n+(T<<2)>>2]=1;c[n+(S<<2)>>2]=1;c[n+(R<<2)>>2]=1;c[n+(Q<<2)>>2]=1;h=c[Z+4>>2]|0;if((h|0)>0){i=c[Z+12>>2]|0;j=0;do{h=c[i+(j<<2)>>2]|0;S=c[h>>2]|0;R=c[h+4>>2]|0;T=c[h+8>>2]|0;x=+g[Y+(R<<4)>>2];v=x-+g[Y+(S<<4)>>2];z=+g[Y+(R<<4)+4>>2];y=z-+g[Y+(S<<4)+4>>2];r=+g[Y+(R<<4)+8>>2];p=r-+g[Y+(S<<4)+8>>2];x=+g[Y+(T<<4)>>2]-x;z=+g[Y+(T<<4)+4>>2]-z;r=+g[Y+(T<<4)+8>>2]-r;s=+C(+((v*z-y*x)*(v*z-y*x)+((y*r-p*z)*(y*r-p*z)+(p*x-v*r)*(p*x-v*r))));if(s==0.0){A=1.0;r=0.0;p=0.0}else{A=1.0/s*(y*r-p*z);r=1.0/s*(p*x-v*r);p=1.0/s*(v*z-y*x)}S=He(Y,U,A,r,p,c[Z+48>>2]|0)|0;c[h+28>>2]=S;T=c[h>>2]|0;g[h+32>>2]=(+g[Y+(S<<4)>>2]-+g[Y+(T<<4)>>2])*A+(+g[Y+(S<<4)+4>>2]-+g[Y+(T<<4)+4>>2])*r+(+g[Y+(S<<4)+8>>2]-+g[Y+(T<<4)+8>>2])*p;j=j+1|0;h=c[Z+4>>2]|0}while((j|0)<(h|0))}if((e+-4|0)>0){t=e+-4|0;while(1){k=c[Z+12>>2]|0;d=0;j=0;while(1){i=c[k+(d<<2)>>2]|0;do if(j){if(!i){i=j;break}if(!(+g[j+32>>2]<+g[i+32>>2]))i=j;else W=104}else W=104;while(0);if((W|0)==104)W=0;d=d+1|0;if((d|0)>=(h|0))break;else j=i}if((i|0)==0?1:!(+g[i+32>>2]>L)){i=1;break b}q=c[i+28>>2]|0;c[n+(q<<2)>>2]=1;h=c[Z+4>>2]|0;c:do if(h|0){j=Y+(q<<4)|0;m=Y+(q<<4)+4|0;d=Y+(q<<4)+8|0;i=k;while(1){h=h+-1|0;i=c[i+(h<<2)>>2]|0;do if(i|0){T=c[i>>2]|0;S=c[i+4>>2]|0;e=c[i+8>>2]|0;s=+g[Y+(S<<4)>>2];A=+g[Y+(T<<4)>>2];v=+g[Y+(S<<4)+4>>2];D=+g[Y+(T<<4)+4>>2];p=+g[Y+(S<<4)+8>>2];E=+g[Y+(T<<4)+8>>2];y=+g[Y+(e<<4)>>2]-s;z=+g[Y+(e<<4)+4>>2]-v;r=+g[Y+(e<<4)+8>>2]-p;x=+C(+(((s-A)*z-(v-D)*y)*((s-A)*z-(v-D)*y)+(((v-D)*r-(p-E)*z)*((v-D)*r-(p-E)*z)+((p-E)*y-(s-A)*r)*((p-E)*y-(s-A)*r))));if(x==0.0){F=1.0;r=0.0;p=0.0}else{F=1.0/x*((v-D)*r-(p-E)*z);r=1.0/x*((p-E)*y-(s-A)*r);p=1.0/x*((s-A)*z-(v-D)*y)}if(!(F*(+g[j>>2]-A)+r*(+g[m>>2]-D)+p*(+g[d>>2]-E)>L*.009999999776482582))break;ce(Z,i,q)}while(0);if(!h)break;i=c[Z+12>>2]|0}i=c[Z+4>>2]|0;if(!i)break;else h=i;d:do{i=i+-1|0;k=c[Z+12>>2]|0;m=c[k+(i<<2)>>2]|0;do if(m){d=c[m>>2]|0;do if((d|0)!=(q|0)){j=c[m+4>>2]|0;if((j|0)==(q|0)){j=q;break}if((c[m+8>>2]|0)!=(q|0))break d}else j=c[m+4>>2]|0;while(0);e=c[m+8>>2]|0;A=+g[Y+(j<<4)>>2];E=+g[Y+(d<<4)>>2];D=+g[Y+(j<<4)+4>>2];F=+g[Y+(d<<4)+4>>2];r=+g[Y+(j<<4)+8>>2];x=+g[Y+(d<<4)+8>>2];s=+g[Y+(e<<4)>>2]-A;v=+g[Y+(e<<4)+4>>2]-D;p=+g[Y+(e<<4)+8>>2]-r;y=+C(+(((A-E)*v-(D-F)*s)*((A-E)*v-(D-F)*s)+(((D-F)*p-(r-x)*v)*((D-F)*p-(r-x)*v)+((r-x)*s-(A-E)*p)*((r-x)*s-(A-E)*p))));if(y==0.0){z=1.0;r=0.0;p=0.0}else{z=1.0/y*((D-F)*p-(r-x)*v);r=1.0/y*((r-x)*s-(A-E)*p);p=1.0/y*((A-E)*v-(D-F)*s)}if(!(yL*.009999999776482582))break;ce(Z,c[k+(c[m+12>>2]<<2)>>2]|0,q);i=c[Z+4>>2]|0;h=i}while(0)}while((i|0)!=0);if(!h)break;d=c[Z+12>>2]|0;do{h=h+-1|0;j=c[d+(h<<2)>>2]|0;do if(j|0){if((c[j+28>>2]|0)>-1)break c;T=c[j>>2]|0;S=c[j+4>>2]|0;e=c[j+8>>2]|0;x=+g[Y+(S<<4)>>2];v=x-+g[Y+(T<<4)>>2];z=+g[Y+(S<<4)+4>>2];y=z-+g[Y+(T<<4)+4>>2];r=+g[Y+(S<<4)+8>>2];p=r-+g[Y+(T<<4)+8>>2];x=+g[Y+(e<<4)>>2]-x;z=+g[Y+(e<<4)+4>>2]-z;r=+g[Y+(e<<4)+8>>2]-r;s=+C(+((v*z-y*x)*(v*z-y*x)+((y*r-p*z)*(y*r-p*z)+(p*x-v*r)*(p*x-v*r))));if(s==0.0){A=1.0;r=0.0;p=0.0}else{A=1.0/s*(y*r-p*z);r=1.0/s*(p*x-v*r);p=1.0/s*(v*z-y*x)}i=He(Y,U,A,r,p,c[Z+48>>2]|0)|0;c[j+28>>2]=i;if(!(c[n+(i<<2)>>2]|0)){e=c[j>>2]|0;g[j+32>>2]=(+g[Y+(i<<4)>>2]-+g[Y+(e<<4)>>2])*A+(+g[Y+(i<<4)+4>>2]-+g[Y+(e<<4)+4>>2])*r+(+g[Y+(i<<4)+8>>2]-+g[Y+(e<<4)+8>>2])*p;break}else{c[j+28>>2]=-1;break}}while(0)}while((h|0)!=0)}while(0);if((t|0)<=1){i=1;break b}h=c[Z+4>>2]|0;t=t+-1|0}}else i=1}else i=0}else i=0}else i=0;while(0);h=c[Z+48>>2]|0;if(h|0){c[6473]=(c[6473]|0)+1;nd(c[h+-4>>2]|0);c[Z+48>>2]=0}if(!((n|0)==0|(o|0)==0)){c[6473]=(c[6473]|0)+1;nd(c[o+-4>>2]|0)}if(i){h=c[Z+4>>2]|0;if((h|0)>0){i=c[Z+12>>2]|0;m=0;j=0;t=0;o=0;G=0;u=0;d=0;k=0;while(1){q=c[i+(G<<2)>>2]|0;if(!q)n=u;else{do if((k|0)==(u|0)){n=u|0?u<<1:1;if((u|0)>=(n|0)){w=o;h=t;n=u;break}do if(!n)i=0;else{c[6472]=(c[6472]|0)+1;h=ic((n<<2|3)+16|0)|0;if(!h){i=0;break}c[(h+4+15&-16)+-4>>2]=h;i=h+4+15&-16}while(0);if((u|0)>0){h=0;do{c[i+(h<<2)>>2]=c[d+(h<<2)>>2];h=h+1|0}while((h|0)!=(u|0));if(!m){w=i;j=i;h=i;m=i;d=i;break}}else if((d|0)==0|(m|0)==0){w=i;j=i;h=i;m=i;d=i;break}c[6473]=(c[6473]|0)+1;nd(c[m+-4>>2]|0);w=i;j=i;h=i;m=i;d=i}else{w=o;h=t;n=u}while(0);c[d+(k<<2)>>2]=c[q>>2];t=k+1|0;q=(c[(c[Z+12>>2]|0)+(G<<2)>>2]|0)+4|0;do if((t|0)==(n|0)){o=n|0?n<<1:1;if((n|0)>=(o|0)){u=h;h=w;break}do if(!o)i=0;else{c[6472]=(c[6472]|0)+1;h=ic((o<<2|3)+16|0)|0;if(!h){i=0;break}c[(h+4+15&-16)+-4>>2]=h;i=h+4+15&-16}while(0);if((n|0)>0){h=0;do{c[i+(h<<2)>>2]=c[d+(h<<2)>>2];h=h+1|0}while((h|0)!=(n|0));if(!w){u=i;j=i;h=i;m=i;n=o;d=i;break}}else if((d|0)==0|(w|0)==0){u=i;j=i;h=i;m=i;n=o;d=i;break}c[6473]=(c[6473]|0)+1;nd(c[w+-4>>2]|0);u=i;j=i;h=i;m=i;n=o;d=i}else{u=h;h=w}while(0);c[d+(t<<2)>>2]=c[q>>2];t=k+2|0;q=(c[(c[Z+12>>2]|0)+(G<<2)>>2]|0)+8|0;do if((t|0)==(n|0)){o=n|0?n<<1:1;if((n|0)>=(o|0)){w=h;break}do if(!o)i=0;else{c[6472]=(c[6472]|0)+1;h=ic((o<<2|3)+16|0)|0;if(!h){i=0;break}c[(h+4+15&-16)+-4>>2]=h;i=h+4+15&-16}while(0);if((n|0)>0){h=0;do{c[i+(h<<2)>>2]=c[d+(h<<2)>>2];h=h+1|0}while((h|0)!=(n|0));if(!u){j=i;u=i;w=i;m=i;n=o;d=i;break}}else if((d|0)==0|(u|0)==0){j=i;u=i;w=i;m=i;n=o;d=i;break}c[6473]=(c[6473]|0)+1;nd(c[u+-4>>2]|0);j=i;u=i;w=i;m=i;n=o;d=i}else w=h;while(0);c[d+(t<<2)>>2]=c[q>>2];i=c[Z+12>>2]|0;h=c[i+(G<<2)>>2]|0;c[i+(c[h+24>>2]<<2)>>2]=0;if(h|0){c[6473]=(c[6473]|0)+1;nd(c[h+-4>>2]|0)}h=c[Z+4>>2]|0;t=u;o=w;k=k+3|0}G=G+1|0;if((G|0)>=(h|0))break;else u=n}c[Z+44>>2]=(k|0)/3|0;if((k|0)>0){c[6472]=(c[6472]|0)+1;h=ic((k<<2|3)+16|0)|0;if(!h)i=0;else{c[(h+4+15&-16)+-4>>2]=h;i=h+4+15&-16}Nk(i|0,0,k<<2|0)|0;h=0;do{c[i+(h<<2)>>2]=c[d+(h<<2)>>2];h=h+1|0}while((h|0)!=(k|0));m=j;T=i;h=i}else{m=j;T=0;h=0}}else{c[Z+44>>2]=0;m=0;T=0;h=0;d=0;k=0}i=c[Z+4>>2]|0;if((i|0)<0){if((c[Z+8>>2]|0)<0){j=c[Z+12>>2]|0;if(j|0){if(a[Z+16>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[j+-4>>2]|0)}c[Z+12>>2]=0}a[Z+16>>0]=1;c[Z+12>>2]=0;c[Z+8>>2]=0}do{c[(c[Z+12>>2]|0)+(i<<2)>>2]=0;i=i+1|0}while((i|0)!=0)}c[Z+4>>2]=0;if(!((d|0)==0|(m|0)==0)){c[6473]=(c[6473]|0)+1;nd(c[m+-4>>2]|0)}S=c[Z+44>>2]|0;m=(U|0)>0;if(m){c[6472]=(c[6472]|0)+1;i=ic((U<<4|3)+16|0)|0;if(!i)j=0;else{c[(i+4+15&-16)+-4>>2]=i;j=i+4+15&-16}i=0;do{e=j+(i<<4)|0;c[e>>2]=c[Z+48>>2];c[e+4>>2]=c[Z+48+4>>2];c[e+8>>2]=c[Z+48+8>>2];c[e+12>>2]=c[Z+48+12>>2];i=i+1|0}while((i|0)!=(U|0));R=j;Q=j}else{R=0;Q=0}j=c[Z+24>>2]|0;do if((j|0)>0){c[6472]=(c[6472]|0)+1;i=ic((j<<2|3)+16|0)|0;if(!i)d=0;else{c[(i+4+15&-16)+-4>>2]=i;d=i+4+15&-16}Nk(d|0,0,j<<2|0)|0;if((c[Z+24>>2]|0)<=0){H=d;G=d;break}i=c[Z+32>>2]|0;j=0;do{c[d+(j<<2)>>2]=c[i+(j<<2)>>2];j=j+1|0}while((j|0)<(c[Z+24>>2]|0));H=d;G=d}else{H=0;G=0}while(0);if(m){c[6472]=(c[6472]|0)+1;i=ic((V|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}Nk(i|0,0,V|0)|0;u=i;t=i}else{u=0;t=0}Nk(u|0,0,V|0)|0;if((S|0)<=0)if(!t)w=0;else{i=0;W=225}else{o=c[Z+32>>2]|0;q=0;i=0;do{d=h+(q<<2)|0;m=c[d>>2]|0;n=t+(m<<2)|0;j=c[n>>2]|0;if(!j){c[d>>2]=i;c[Q+(i<<4)>>2]=c[Y+(m<<4)>>2];c[Q+(i<<4)+4>>2]=c[Y+(m<<4)+4>>2];c[Q+(i<<4)+8>>2]=c[Y+(m<<4)+8>>2];j=c[Z+24>>2]|0;if((j|0)>0){d=0;do{if((c[G+(d<<2)>>2]|0)==(m|0))c[o+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(j|0))}i=i+1|0;c[n>>2]=i}else c[d>>2]=j+-1;q=q+1|0}while((q|0)!=(S*3|0));W=225}do if((W|0)==225){if(!u){w=i;break}c[6473]=(c[6473]|0)+1;nd(c[u+-4>>2]|0);w=i}while(0);if(!((G|0)==0|(H|0)==0)){c[6473]=(c[6473]|0)+1;nd(c[H+-4>>2]|0)}if((w|0)>0){c[6472]=(c[6472]|0)+1;i=ic((w<<4|3)+16|0)|0;if(!i)j=0;else{c[(i+4+15&-16)+-4>>2]=i;j=i+4+15&-16}i=0;do{W=j+(i<<4)|0;c[W>>2]=c[Z+48>>2];c[W+4>>2]=c[Z+48+4>>2];c[W+8>>2]=c[Z+48+8>>2];c[W+12>>2]=c[Z+48+12>>2];i=i+1|0}while((i|0)!=(w|0));d=j;m=j}else{d=0;m=0}if((S|0)>0){c[6472]=(c[6472]|0)+1;i=ic((S*12|3)+16|0)|0;if(!i)j=0;else{c[(i+4+15&-16)+-4>>2]=i;j=i+4+15&-16}i=c[Z+40>>2]|0;if(i|0){c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0)}c[Z+40>>2]=j;Nk(j|0,0,S*12|0)|0}_h(d|0,R|0,w<<4|0)|0;_h(c[Z+40>>2]|0,T|0,S*12|0)|0;do if(k){if(!h){h=0;break}c[6473]=(c[6473]|0)+1;nd(c[h+-4>>2]|0);h=0}while(0);if((Q|0)==0|(R|0)==0){q=m;t=S;u=S*3|0;break}c[6473]=(c[6473]|0)+1;nd(c[R+-4>>2]|0);q=m;t=S;u=S*3|0;break}}}h=0;w=0;q=0;t=0;u=0}while(0);if(!((Y|0)==0|(X|0)==0)){c[6473]=(c[6473]|0)+1;nd(c[X+-4>>2]|0)}if(h|0){c[6473]=(c[6473]|0)+1;nd(c[h+-4>>2]|0)}c[6472]=(c[6472]|0)+1;h=ic(1271)|0;if(!h)G=0;else{c[(h+4+15&-16)+-4>>2]=h;G=h+4+15&-16}qc(G,b,w,q,0);if((t|0)>0){m=G+720|0;o=G+732|0;n=G+740|0;h=G+924|0;k=0;do{d=k*3|0;b=c[Z+40>>2]|0;i=c[b+(d<<2)>>2]|0;j=c[b+(d+1<<2)>>2]|0;d=c[b+(d+2<<2)>>2]|0;if((i|0)<(j|0)){X=c[m>>2]|0;Rh(G,0);b=(c[o>>2]|0)+-1|0;Y=c[n>>2]|0;c[Y+(b*52|0)+8>>2]=X+(i*104|0);c[Y+(b*52|0)+12>>2]=X+(j*104|0);M=+g[X+(i*104|0)+8>>2]-+g[X+(j*104|0)+8>>2];N=+g[X+(i*104|0)+12>>2]-+g[X+(j*104|0)+12>>2];P=+g[X+(i*104|0)+16>>2]-+g[X+(j*104|0)+16>>2];g[Y+(b*52|0)+16>>2]=+C(+(M*M+N*N+P*P));a[h>>0]=1}if((j|0)<(d|0)){X=c[m>>2]|0;Rh(G,0);b=(c[o>>2]|0)+-1|0;Y=c[n>>2]|0;c[Y+(b*52|0)+8>>2]=X+(j*104|0);c[Y+(b*52|0)+12>>2]=X+(d*104|0);M=+g[X+(j*104|0)+8>>2]-+g[X+(d*104|0)+8>>2];N=+g[X+(j*104|0)+12>>2]-+g[X+(d*104|0)+12>>2];P=+g[X+(j*104|0)+16>>2]-+g[X+(d*104|0)+16>>2];g[Y+(b*52|0)+16>>2]=+C(+(M*M+N*N+P*P));a[h>>0]=1}if((d|0)<(i|0)){X=c[m>>2]|0;Rh(G,0);b=(c[o>>2]|0)+-1|0;Y=c[n>>2]|0;c[Y+(b*52|0)+8>>2]=X+(d*104|0);c[Y+(b*52|0)+12>>2]=X+(i*104|0);M=+g[X+(d*104|0)+8>>2]-+g[X+(i*104|0)+8>>2];N=+g[X+(d*104|0)+12>>2]-+g[X+(i*104|0)+12>>2];P=+g[X+(d*104|0)+16>>2]-+g[X+(i*104|0)+16>>2];g[Y+(b*52|0)+16>>2]=+C(+(M*M+N*N+P*P));a[h>>0]=1}Qf(G,i,j,d,0);k=k+1|0}while((k|0)!=(t|0))}if(w)if(!q)t=0;else{c[6473]=(c[6473]|0)+1;nd(c[q+-4>>2]|0);t=0}else t=q;if(u|0){h=c[Z+40>>2]|0;if(h|0){c[6473]=(c[6473]|0)+1;nd(c[h+-4>>2]|0);c[Z+40>>2]=0}c[Z+40>>2]=0}if(f){i=c[G+732>>2]|0;if((i|0)>0){m=G+740|0;k=0;h=243703;do{j=c[m>>2]|0;d=j+(k*52|0)|0;h=(O(h,1664525)|0)+1013904223|0;n=Z+48|0;o=d;q=n+52|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(q|0));n=d;o=j+(((h>>>0)%(i>>>0)|0)*52|0)|0;q=n+52|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(q|0));n=j+(((h>>>0)%(i>>>0)|0)*52|0)|0;o=Z+48|0;q=n+52|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(q|0));k=k+1|0}while((k|0)!=(i|0))}else h=243703;d=c[G+752>>2]|0;if((d|0)>0){m=G+760|0;k=0;do{i=c[m>>2]|0;j=i+(k*44|0)|0;h=(O(h,1664525)|0)+1013904223|0;i=i+(((h>>>0)%(d>>>0)|0)*44|0)|0;n=Z+48|0;o=j;q=n+44|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(q|0));n=j;o=i;q=n+44|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(q|0));n=i;o=Z+48|0;q=n+44|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(q|0));k=k+1|0}while((k|0)!=(d|0))}}h=c[Z+32>>2]|0;if(h|0){if(a[Z+36>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[h+-4>>2]|0)}c[Z+32>>2]=0}a[Z+36>>0]=1;c[Z+32>>2]=0;c[Z+24>>2]=0;c[Z+28>>2]=0;h=c[Z+12>>2]|0;if(h|0){if(a[Z+16>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[h+-4>>2]|0)}c[Z+12>>2]=0}h=c[Z+40>>2]|0;if(h|0){c[6473]=(c[6473]|0)+1;nd(c[h+-4>>2]|0);c[Z+40>>2]=0}c[Z+40>>2]=0;if(!t){l=Z;return G|0}c[6473]=(c[6473]|0)+1;nd(c[t+-4>>2]|0);l=Z;return G|0}function $b(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,k=0.0,m=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.0,z=0.0,A=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.0,P=0.0,Q=0.0,R=0.0;M=l;l=l+16|0;f=c[b+1112>>2]|0;a:do if((f|0)>0)while(1){n=c[c[b+1120>>2]>>2]|0;f=c[n+348>>2]|0;if(f|0){Sg(b+1048|0,f)|0;h=c[b+1052>>2]|0;if(h|0){c[6473]=(c[6473]|0)+1;nd(c[h+-4>>2]|0)}c[b+1052>>2]=f;c[b+1060>>2]=(c[b+1060>>2]|0)+-1}f=c[n+52>>2]|0;if(f|0){if(a[n+56>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0)}c[n+52>>2]=0}a[n+56>>0]=1;c[n+52>>2]=0;c[n+44>>2]=0;c[n+48>>2]=0;f=c[n+32>>2]|0;if(f|0){if(a[n+36>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0)}c[n+32>>2]=0}a[n+36>>0]=1;c[n+32>>2]=0;c[n+24>>2]=0;c[n+28>>2]=0;f=c[n+12>>2]|0;if(f|0){if(a[n+16>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0)}c[n+12>>2]=0}a[n+16>>0]=1;c[n+12>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[6473]=(c[6473]|0)+1;nd(c[n+-4>>2]|0);f=c[b+1112>>2]|0;if((f|0)<=0){n=f;break a}m=c[b+1120>>2]|0;h=0;do{i=m+(h<<2)|0;if((c[i>>2]|0)==(n|0)){L=24;break}h=h+1|0}while((h|0)<(f|0));if((L|0)==24){L=0;if((h|0)<(f|0)){c[i>>2]=c[m+(f+-1<<2)>>2];c[(c[b+1120>>2]|0)+(f+-1<<2)>>2]=n;c[b+1112>>2]=f+-1;f=f+-1|0}}if((f|0)<=0){n=f;break}}else n=f;while(0);f=c[b+712>>2]|0;f=(f|0)>(d|0)?d:f;if((n|0)<(f|0)){if((c[b+1116>>2]|0)<(f|0)){if(f){c[6472]=(c[6472]|0)+1;h=ic((f<<2|3)+16|0)|0;if(!h)m=0;else{c[(h+4+15&-16)+-4>>2]=h;m=h+4+15&-16}h=c[b+1112>>2]|0;if((h|0)>0){i=0;do{c[m+(i<<2)>>2]=c[(c[b+1120>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(h|0));i=b+1120|0}else i=b+1120|0}else{i=b+1120|0;m=0}h=c[i>>2]|0;if(h|0){if(a[b+1124>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[h+-4>>2]|0)}c[i>>2]=0}a[b+1124>>0]=1;c[i>>2]=m;c[b+1116>>2]=f}else i=b+1120|0;h=n;do{c[(c[i>>2]|0)+(h<<2)>>2]=0;h=h+1|0}while((h|0)!=(f|0))}c[b+1112>>2]=f;if((f|0)>0){h=0;do{c[6472]=(c[6472]|0)+1;f=ic(403)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}a[f+16>>0]=1;c[f+12>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;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;i=f+348|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;g[f+368>>2]=100.0;g[f+372>>2]=.009999999776482582;a[f+376>>0]=0;c[(c[b+1120>>2]|0)+(h<<2)>>2]=f;i=c[b+1120>>2]|0;a[(c[i+(h<<2)>>2]|0)+377>>0]=1;h=h+1|0;f=c[b+1112>>2]|0}while((h|0)<(f|0));if((f|0)>0){h=c[b+712>>2]|0;if((h|0)>0){k=0.0;o=0.0;p=0.0;n=f;r=0;while(1){d=c[b+720>>2]|0;q=k+ +g[d+(r*104|0)+8>>2];y=o+ +g[d+(r*104|0)+12>>2];z=p+ +g[d+(r*104|0)+16>>2];n=c[i+(((r*29873|0)%(n|0)|0)<<2)>>2]|0;d=d+(r*104|0)|0;i=c[n+24>>2]|0;if((i|0)==(c[n+28>>2]|0)?(s=i|0?i<<1:1,(i|0)<(s|0)):0){if(!s){h=i;i=0}else{c[6472]=(c[6472]|0)+1;h=ic((s<<2|3)+16|0)|0;if(!h)i=0;else{c[(h+4+15&-16)+-4>>2]=h;i=h+4+15&-16}h=c[n+24>>2]|0}if((h|0)>0){m=0;do{c[i+(m<<2)>>2]=c[(c[n+32>>2]|0)+(m<<2)>>2];m=m+1|0}while((m|0)!=(h|0))}m=c[n+32>>2]|0;if(m){if(a[n+36>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[m+-4>>2]|0);h=c[n+24>>2]|0}c[n+32>>2]=0}a[n+36>>0]=1;c[n+32>>2]=i;c[n+28>>2]=s;i=h;h=c[b+712>>2]|0}c[(c[n+32>>2]|0)+(i<<2)>>2]=d;c[n+24>>2]=i+1;m=r+1|0;if((m|0)>=(h|0))break;k=q;o=y;p=z;n=c[b+1112>>2]|0;i=c[b+1120>>2]|0;r=m}k=1.0/+(h|0);if((f|0)>=0)if(!f){f=0;o=q*k;p=y*k;k=z*k;i=0;L=70}else{o=q*k;p=y*k;k=z*k;L=68}else{I=0;H=0;G=b+720|0}}else{o=1.0/+(h|0)*0.0;p=1.0/+(h|0)*0.0;k=1.0/+(h|0)*0.0;L=68}if((L|0)==68){c[6472]=(c[6472]|0)+1;h=ic((f<<4|3)+16|0)|0;if(!h){i=0;L=70}else{c[(h+4+15&-16)+-4>>2]=h;i=h+4+15&-16;L=70}}if((L|0)==70){h=0;do{g[i+(h<<4)>>2]=o;g[i+(h<<4)+4>>2]=p;g[i+(h<<4)+8>>2]=k;g[i+(h<<4)+12>>2]=0.0;h=h+1|0}while((h|0)!=(f|0));I=i;H=i;G=b+720|0}u=H+4|0;v=H+8|0;w=(f|0)>1;x=0;do{C=+(x|0)*.0625;C=2.0-(C>1.0?1.0:C);n=0;d=0;while(1){h=c[(c[b+1120>>2]|0)+(d<<2)>>2]|0;m=c[h+24>>2]|0;if((m|0)>0){h=c[h+32>>2]|0;k=0.0;o=0.0;p=0.0;i=0;do{t=c[h+(i<<2)>>2]|0;k=k+ +g[t+8>>2];o=o+ +g[t+12>>2];p=p+ +g[t+16>>2];i=i+1|0}while((i|0)!=(m|0))}else{k=0.0;o=0.0;p=0.0}if(!m)t=n;else{s=H+(d<<4)|0;y=+g[s>>2];t=H+(d<<4)+4|0;z=+g[t>>2];h=H+(d<<4)+8|0;A=+g[h>>2];q=y+C*(k*(1.0/+(m|0))-y);o=z+C*(o*(1.0/+(m|0))-z);k=A+C*(p*(1.0/+(m|0))-A);g[s>>2]=q;g[t>>2]=o;g[h>>2]=k;g[H+(d<<4)+12>>2]=0.0;m=c[(c[b+1120>>2]|0)+(d<<2)>>2]|0;h=c[m+24>>2]|0;if((h|0)<0){if((c[m+28>>2]|0)<0){i=c[m+32>>2]|0;if(i|0){if(a[m+36>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0)}c[m+32>>2]=0}a[m+36>>0]=1;c[m+32>>2]=0;c[m+28>>2]=0}do{c[(c[m+32>>2]|0)+(h<<2)>>2]=0;h=h+1|0}while((h|0)!=0)}c[m+24>>2]=0;t=n|(q-y)*(q-y)+(o-z)*(o-z)+(k-A)*(k-A)>1.1920928955078125e-07}d=d+1|0;if((d|0)>=(f|0))break;else n=t}x=x+1|0;h=c[b+712>>2]|0;b:do if((h|0)>0){if(w)s=0;else{r=0;while(1){n=c[c[b+1120>>2]>>2]|0;d=(c[G>>2]|0)+(r*104|0)|0;i=c[n+24>>2]|0;if((i|0)==(c[n+28>>2]|0)?(E=i|0?i<<1:1,(i|0)<(E|0)):0){if(!E){h=i;i=0}else{c[6472]=(c[6472]|0)+1;h=ic((E<<2|3)+16|0)|0;if(!h)i=0;else{c[(h+4+15&-16)+-4>>2]=h;i=h+4+15&-16}h=c[n+24>>2]|0}if((h|0)>0){m=0;do{c[i+(m<<2)>>2]=c[(c[n+32>>2]|0)+(m<<2)>>2];m=m+1|0}while((m|0)!=(h|0))}m=c[n+32>>2]|0;if(m){if(a[n+36>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[m+-4>>2]|0);h=c[n+24>>2]|0}c[n+32>>2]=0}a[n+36>>0]=1;c[n+32>>2]=i;c[n+28>>2]=E;i=h;h=c[b+712>>2]|0}c[(c[n+32>>2]|0)+(i<<2)>>2]=d;c[n+24>>2]=i+1;r=r+1|0;if((r|0)>=(h|0))break b}}do{d=c[G>>2]|0;p=+g[d+(s*104|0)+8>>2];q=+g[d+(s*104|0)+12>>2];y=+g[d+(s*104|0)+16>>2];m=1;n=0;o=+B(+(+g[H>>2]-p))+ +B(+(+g[u>>2]-q))+ +B(+(+g[v>>2]-y));while(1){k=+B(+(+g[H+(m<<4)>>2]-p))+ +B(+(+g[H+(m<<4)+4>>2]-q))+ +B(+(+g[H+(m<<4)+8>>2]-y));i=k>2]|0)+(n<<2)>>2]|0;n=d+(s*104|0)|0;i=c[r+24>>2]|0;if((i|0)==(c[r+28>>2]|0)?(F=i|0?i<<1:1,(i|0)<(F|0)):0){if(!F){h=i;m=0}else{c[6472]=(c[6472]|0)+1;h=ic((F<<2|3)+16|0)|0;if(!h)i=0;else{c[(h+4+15&-16)+-4>>2]=h;i=h+4+15&-16}h=c[r+24>>2]|0;m=i}if((h|0)>0){i=0;do{c[m+(i<<2)>>2]=c[(c[r+32>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(h|0))}i=c[r+32>>2]|0;if(!i)i=h;else{if(a[r+36>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0);h=c[r+24>>2]|0}c[r+32>>2]=0;i=h}a[r+36>>0]=1;c[r+32>>2]=m;c[r+28>>2]=F;h=c[b+712>>2]|0}c[(c[r+32>>2]|0)+(i<<2)>>2]=n;c[r+24>>2]=i+1;s=s+1|0}while((s|0)<(h|0))}while(0)}while((x|0)<(e|0)&t);if((h|0)>0){h=h<<2;c[6472]=(c[6472]|0)+1;f=ic((h|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}Nk(f|0,-1,h|0)|0;x=f;w=f}else{x=0;w=0}f=c[b+1112>>2]|0;if((f|0)>0){d=c[b+1120>>2]|0;n=0;do{m=c[d+(n<<2)>>2]|0;if((c[m+24>>2]|0)>0){h=c[G>>2]|0;f=c[m+32>>2]|0;i=0;do{c[w+((((c[f+(i<<2)>>2]|0)-h|0)/104|0)<<2)>>2]=n;i=i+1|0}while((i|0)<(c[m+24>>2]|0));f=c[b+1112>>2]|0}n=n+1|0}while((n|0)<(f|0))}if((c[b+752>>2]|0)>0){t=0;do{e=c[b+760>>2]|0;f=c[G>>2]|0;h=((c[e+(t*44|0)+8>>2]|0)-f|0)/104|0;c[M>>2]=h;c[M+4>>2]=((c[e+(t*44|0)+12>>2]|0)-f|0)/104|0;c[M+8>>2]=((c[e+(t*44|0)+16>>2]|0)-f|0)/104|0;f=0;while(1){d=c[w+(h<<2)>>2]|0;s=1;do{h=c[M+(((s+f|0)%3|0)<<2)>>2]|0;c:do if((c[w+(h<<2)>>2]|0)!=(d|0)){r=c[(c[b+1120>>2]|0)+(d<<2)>>2]|0;n=(c[G>>2]|0)+(h*104|0)|0;h=c[r+24>>2]|0;d:do if((h|0)>0){m=c[r+32>>2]|0;i=0;while(1){if((c[m+(i<<2)>>2]|0)==(n|0))break;i=i+1|0;if((i|0)>=(h|0))break d}if((i|0)!=(h|0))break c}while(0);if((h|0)==(c[r+28>>2]|0)?(J=h|0?h<<1:1,(h|0)<(J|0)):0){if(!J)i=0;else{c[6472]=(c[6472]|0)+1;h=ic((J<<2|3)+16|0)|0;if(!h)i=0;else{c[(h+4+15&-16)+-4>>2]=h;i=h+4+15&-16}h=c[r+24>>2]|0}if((h|0)>0){m=0;do{c[i+(m<<2)>>2]=c[(c[r+32>>2]|0)+(m<<2)>>2];m=m+1|0}while((m|0)!=(h|0))}m=c[r+32>>2]|0;if(m){if(a[r+36>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[m+-4>>2]|0);h=c[r+24>>2]|0}c[r+32>>2]=0}a[r+36>>0]=1;c[r+32>>2]=i;c[r+28>>2]=J}c[(c[r+32>>2]|0)+(h<<2)>>2]=n;c[r+24>>2]=h+1}while(0);s=s+1|0}while((s|0)!=3);f=f+1|0;if((f|0)>=3)break;h=c[M+(f<<2)>>2]|0}t=t+1|0}while((t|0)<(c[b+752>>2]|0));f=c[b+1112>>2]|0}if((f|0)>1){c[6472]=(c[6472]|0)+1;f=ic(403)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}a[f+16>>0]=1;c[f+12>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;r=f+36|0;a[r>>0]=1;t=f+32|0;c[t>>2]=0;u=f+24|0;c[u>>2]=0;s=f+28|0;c[s>>2]=0;a[f+56>>0]=1;c[f+52>>2]=0;c[f+44>>2]=0;c[f+48>>2]=0;v=f+348|0;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;c[v+16>>2]=0;g[f+368>>2]=100.0;g[f+372>>2]=.009999999776482582;a[f+376>>0]=0;v=f;a[f+377>>0]=0;m=c[b+712>>2]|0;if((m|0)>0){c[6472]=(c[6472]|0)+1;f=ic((m<<2|3)+16|0)|0;if(!f)i=0;else{c[(f+4+15&-16)+-4>>2]=f;i=f+4+15&-16}f=c[u>>2]|0;if((f|0)>0){h=0;do{c[i+(h<<2)>>2]=c[(c[t>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(f|0))}f=c[t>>2]|0;if(f|0){if(a[r>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0)}c[t>>2]=0}a[r>>0]=1;c[t>>2]=i;c[s>>2]=m;f=c[b+712>>2]|0;if((f|0)>0){i=c[u>>2]|0;h=m;d=0;do{n=(c[G>>2]|0)+(d*104|0)|0;do if((i|0)==(h|0)){m=h|0?h<<1:1;if((h|0)>=(m|0)){i=h;break}if(!m){f=h;h=0}else{c[6472]=(c[6472]|0)+1;f=ic((m<<2|3)+16|0)|0;if(!f)h=0;else{c[(f+4+15&-16)+-4>>2]=f;h=f+4+15&-16}f=c[u>>2]|0}if((f|0)>0){i=0;do{c[h+(i<<2)>>2]=c[(c[t>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(f|0))}i=c[t>>2]|0;if(i){if(a[r>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0);f=c[u>>2]|0}c[t>>2]=0}a[r>>0]=1;c[t>>2]=h;c[s>>2]=m;i=f;f=c[b+712>>2]|0;h=m}while(0);c[(c[t>>2]|0)+(i<<2)>>2]=n;i=i+1|0;c[u>>2]=i;d=d+1|0}while((d|0)<(f|0))}}f=c[b+1112>>2]|0;if((f|0)==(c[b+1116>>2]|0)?(K=f|0?f<<1:1,(f|0)<(K|0)):0){if(!K)h=0;else{c[6472]=(c[6472]|0)+1;f=ic((K<<2|3)+16|0)|0;if(!f)h=0;else{c[(f+4+15&-16)+-4>>2]=f;h=f+4+15&-16}f=c[b+1112>>2]|0}if((f|0)>0){i=0;do{c[h+(i<<2)>>2]=c[(c[b+1120>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(f|0))}i=c[b+1120>>2]|0;if(i){if(a[b+1124>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0);f=c[b+1112>>2]|0}c[b+1120>>2]=0}a[b+1124>>0]=1;c[b+1120>>2]=h;c[b+1116>>2]=K}c[(c[b+1120>>2]|0)+(f<<2)>>2]=v;K=f+1|0;c[b+1112>>2]=K;e=c[b+1120>>2]|0;f=e+(f<<2)|0;J=c[e>>2]|0;c[e>>2]=c[f>>2];c[f>>2]=J;f=K}if((f|0)>0){h=0;do{d=c[(c[b+1120>>2]|0)+(h<<2)>>2]|0;e:do if(!(c[d+24>>2]|0)){h=h+-1|0;f=c[d+348>>2]|0;if(f|0){Sg(b+1048|0,f)|0;i=c[b+1052>>2]|0;if(i|0){c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0)}c[b+1052>>2]=f;c[b+1060>>2]=(c[b+1060>>2]|0)+-1}f=c[d+52>>2]|0;if(f|0){if(a[d+56>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0)}c[d+52>>2]=0}a[d+56>>0]=1;c[d+52>>2]=0;c[d+44>>2]=0;c[d+48>>2]=0;f=c[d+32>>2]|0;if(f|0){if(a[d+36>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0)}c[d+32>>2]=0}a[d+36>>0]=1;c[d+32>>2]=0;c[d+24>>2]=0;c[d+28>>2]=0;f=c[d+12>>2]|0;if(f|0){if(a[d+16>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0)}c[d+12>>2]=0}a[d+16>>0]=1;c[d+12>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0);f=c[b+1112>>2]|0;if((f|0)>0){n=c[b+1120>>2]|0;i=0;while(1){m=n+(i<<2)|0;if((c[m>>2]|0)==(d|0))break;i=i+1|0;if((i|0)>=(f|0))break e}if((i|0)>=(f|0))break;c[m>>2]=c[n+(f+-1<<2)>>2];c[(c[b+1120>>2]|0)+(f+-1<<2)>>2]=d;c[b+1112>>2]=f+-1;f=f+-1|0}}while(0);h=h+1|0}while((h|0)<(f|0))}if(!((w|0)==0|(x|0)==0)){c[6473]=(c[6473]|0)+1;nd(c[x+-4>>2]|0)}if(!((H|0)==0|(I|0)==0)){c[6473]=(c[6473]|0)+1;nd(c[I+-4>>2]|0)}}else L=234}else L=234;f:do if((L|0)==234){n=c[b+772>>2]|0;if(n|0){if((f|0)<(n|0)){if((c[b+1116>>2]|0)<(n|0)){c[6472]=(c[6472]|0)+1;h=ic((n<<2|3)+16|0)|0;if(!h)m=0;else{c[(h+4+15&-16)+-4>>2]=h;m=h+4+15&-16}h=c[b+1112>>2]|0;if((h|0)>0){i=0;do{c[m+(i<<2)>>2]=c[(c[b+1120>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(h|0))}h=c[b+1120>>2]|0;if(h|0){if(a[b+1124>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[h+-4>>2]|0)}c[b+1120>>2]=0}a[b+1124>>0]=1;c[b+1120>>2]=m;c[b+1116>>2]=n;h=b+1120|0}else h=b+1120|0;do{c[(c[h>>2]|0)+(f<<2)>>2]=0;f=f+1|0}while((f|0)!=(n|0))}c[b+1112>>2]=n;if((n|0)>0){h=0;do{c[6472]=(c[6472]|0)+1;f=ic(403)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}a[f+16>>0]=1;c[f+12>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;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;L=f+348|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;g[f+368>>2]=100.0;g[f+372>>2]=.009999999776482582;a[f+376>>0]=0;c[(c[b+1120>>2]|0)+(h<<2)>>2]=f;a[(c[(c[b+1120>>2]|0)+(h<<2)>>2]|0)+377>>0]=1;h=h+1|0}while((h|0)<(c[b+1112>>2]|0))}if((c[b+772>>2]|0)<=0)break;d=0;while(1){r=0;do{m=c[(c[b+1120>>2]|0)+(d<<2)>>2]|0;n=(c[b+780>>2]|0)+(d*104|0)+8+(r<<2)|0;f=c[m+24>>2]|0;if((f|0)==(c[m+28>>2]|0)?(t=f|0?f<<1:1,(f|0)<(t|0)):0){if(!t)h=0;else{c[6472]=(c[6472]|0)+1;f=ic((t<<2|3)+16|0)|0;if(!f)h=0;else{c[(f+4+15&-16)+-4>>2]=f;h=f+4+15&-16}f=c[m+24>>2]|0}if((f|0)>0){i=0;do{c[h+(i<<2)>>2]=c[(c[m+32>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(f|0))}i=c[m+32>>2]|0;if(i){if(a[m+36>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0);f=c[m+24>>2]|0}c[m+32>>2]=0}a[m+36>>0]=1;c[m+32>>2]=h;c[m+28>>2]=t}c[(c[m+32>>2]|0)+(f<<2)>>2]=c[n>>2];c[m+24>>2]=f+1;r=r+1|0}while((r|0)!=4);d=d+1|0;if((d|0)>=(c[b+772>>2]|0))break f}}d=c[b+752>>2]|0;if((f|0)<(d|0)){if((c[b+1116>>2]|0)<(d|0)){if(d){c[6472]=(c[6472]|0)+1;h=ic((d<<2|3)+16|0)|0;if(!h)n=0;else{c[(h+4+15&-16)+-4>>2]=h;n=h+4+15&-16}h=c[b+1112>>2]|0;if((h|0)>0){i=0;do{c[n+(i<<2)>>2]=c[(c[b+1120>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(h|0));m=b+1120|0;i=n}else{m=b+1120|0;i=n}}else{m=b+1120|0;i=0}h=c[m>>2]|0;if(h|0){if(a[b+1124>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[h+-4>>2]|0)}c[m>>2]=0}a[b+1124>>0]=1;c[m>>2]=i;c[b+1116>>2]=d}do{c[(c[b+1120>>2]|0)+(f<<2)>>2]=0;f=f+1|0}while((f|0)!=(d|0))}c[b+1112>>2]=d;if((d|0)>0){h=0;do{c[6472]=(c[6472]|0)+1;f=ic(403)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}a[f+16>>0]=1;c[f+12>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;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;L=f+348|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;g[f+368>>2]=100.0;g[f+372>>2]=.009999999776482582;a[f+376>>0]=0;c[(c[b+1120>>2]|0)+(h<<2)>>2]=f;a[(c[(c[b+1120>>2]|0)+(h<<2)>>2]|0)+377>>0]=1;h=h+1|0}while((h|0)<(c[b+1112>>2]|0))}if((c[b+752>>2]|0)>0){d=0;do{r=0;do{m=c[(c[b+1120>>2]|0)+(d<<2)>>2]|0;n=(c[b+760>>2]|0)+(d*44|0)+8+(r<<2)|0;f=c[m+24>>2]|0;if((f|0)==(c[m+28>>2]|0)?(u=f|0?f<<1:1,(f|0)<(u|0)):0){if(!u)h=0;else{c[6472]=(c[6472]|0)+1;f=ic((u<<2|3)+16|0)|0;if(!f)h=0;else{c[(f+4+15&-16)+-4>>2]=f;h=f+4+15&-16}f=c[m+24>>2]|0}if((f|0)>0){i=0;do{c[h+(i<<2)>>2]=c[(c[m+32>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(f|0))}i=c[m+32>>2]|0;if(i){if(a[m+36>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0);f=c[m+24>>2]|0}c[m+32>>2]=0}a[m+36>>0]=1;c[m+32>>2]=h;c[m+28>>2]=u}c[(c[m+32>>2]|0)+(f<<2)>>2]=c[n>>2];c[m+24>>2]=f+1;r=r+1|0}while((r|0)!=3);d=d+1|0}while((d|0)<(c[b+752>>2]|0))}}while(0);f=c[b+1112>>2]|0;if(!f){b=0;l=M;return b|0}if((f|0)>0){t=0;do{s=c[(c[b+1120>>2]|0)+(t<<2)>>2]|0;g[s+128>>2]=0.0;d=c[s+24>>2]|0;n=c[s+4>>2]|0;if((d|0)>(n|0)){do if((c[s+8>>2]|0)<(d|0)){if(!d){m=n;f=0}else{c[6472]=(c[6472]|0)+1;f=ic((d<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}m=c[s+4>>2]|0}h=c[s+12>>2]|0;if((m|0)<=0){if(!h){a[s+16>>0]=1;c[s+12>>2]=f;c[s+8>>2]=d;break}}else{i=0;do{c[f+(i<<2)>>2]=c[h+(i<<2)>>2];i=i+1|0}while((i|0)!=(m|0))}if(a[s+16>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[h+-4>>2]|0)}a[s+16>>0]=1;c[s+12>>2]=f;c[s+8>>2]=d}else f=c[s+12>>2]|0;while(0);Nk(f+(n<<2)|0,0,d-n<<2|0)|0;m=c[s+24>>2]|0}else m=d;c[s+4>>2]=d;if((m|0)>0){f=c[s+32>>2]|0;h=c[s+12>>2]|0;i=0;do{k=+g[(c[f+(i<<2)>>2]|0)+88>>2];if(k==0.0){a[s+376>>0]=1;k=999999984306749440.0}else k=1.0/k;g[h+(i<<2)>>2]=k;o=k+ +g[s+128>>2];g[s+128>>2]=o;i=i+1|0}while((i|0)!=(m|0));g[s+128>>2]=1.0/o;f=c[s+32>>2]|0;h=c[s+12>>2]|0;p=0.0;q=0.0;k=0.0;i=0;do{L=c[f+(i<<2)>>2]|0;D=+g[h+(i<<2)>>2];p=p+ +g[L+8>>2]*D;k=k+D*+g[L+12>>2];q=q+D*+g[L+16>>2];i=i+1|0}while((i|0)!=(m|0));o=1.0/o}else{o=1.0/+g[s+128>>2];g[s+128>>2]=o;p=0.0;q=0.0;k=0.0}D=p*o;C=k*o;z=q*o;g[s+228>>2]=D;g[s+232>>2]=C;g[s+236>>2]=z;g[s+240>>2]=0.0;f=s+316|0;h=f+36|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));f=s+132|0;h=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));f=c[s+24>>2]|0;if((f|0)>0){h=c[s+32>>2]|0;i=c[s+12>>2]|0;y=+g[s+132>>2];p=+g[s+152>>2];k=0.0;q=+g[s+136>>2];o=+g[s+140>>2];A=+g[s+156>>2];m=0;do{L=c[h+(m<<2)>>2]|0;R=+g[L+8>>2]-D;P=+g[L+12>>2]-C;Q=+g[L+16>>2]-z;N=+g[i+(m<<2)>>2];y=y+N*(P*P+Q*Q);g[s+132>>2]=y;p=N*(R*R+Q*Q)+p;g[s+152>>2]=p;k=(R*R+P*P)*N+k;g[s+172>>2]=k;q=q-P*R*N;g[s+136>>2]=q;o=o-Q*R*N;g[s+140>>2]=o;A=A-Q*P*N;g[s+156>>2]=A;m=m+1|0}while((m|0)!=(f|0));r=(g[j>>2]=A,c[j>>2]|0);n=(g[j>>2]=o,c[j>>2]|0);d=(g[j>>2]=q,c[j>>2]|0);f=s+136|0;h=s+140|0;i=s+156|0;m=s+152|0}else{d=c[s+136>>2]|0;f=c[s+140>>2]|0;r=c[s+156>>2]|0;A=(c[j>>2]=r,+g[j>>2]);q=(c[j>>2]=d,+g[j>>2]);k=0.0;p=+g[s+152>>2];n=f;y=+g[s+132>>2];o=(c[j>>2]=f,+g[j>>2]);f=s+136|0;h=s+140|0;i=s+156|0;m=s+152|0}P=(c[j>>2]=r,+g[j>>2]);z=p*k-A*P;N=(c[j>>2]=n,+g[j>>2]);Q=(c[j>>2]=d,+g[j>>2]);C=A*N-k*Q;D=P*Q-p*N;R=1.0/(z*y+q*C+D*o);g[s+132>>2]=z*R;g[f>>2]=(P*o-k*q)*R;g[h>>2]=(A*q-p*o)*R;g[s+144>>2]=0.0;g[s+148>>2]=C*R;g[m>>2]=(k*y-N*o)*R;g[i>>2]=(Q*o-A*y)*R;g[s+160>>2]=0.0;g[s+164>>2]=D*R;g[s+168>>2]=(N*q-P*y)*R;g[s+172>>2]=(p*y-Q*q)*R;g[s+176>>2]=0.0;c[s+60>>2]=1065353216;c[s+64>>2]=0;c[s+64+4>>2]=0;c[s+64+8>>2]=0;c[s+64+12>>2]=0;c[s+80>>2]=1065353216;c[s+84>>2]=0;c[s+84+4>>2]=0;c[s+84+8>>2]=0;c[s+84+12>>2]=0;c[s+100>>2]=1065353216;c[s+104>>2]=0;c[s+104+4>>2]=0;c[s+104+8>>2]=0;c[s+104+12>>2]=0;c[s+104+16>>2]=0;c[s+108>>2]=c[s+228>>2];c[s+108+4>>2]=c[s+228+4>>2];c[s+108+8>>2]=c[s+228+8>>2];c[s+108+12>>2]=c[s+228+12>>2];n=c[s+24>>2]|0;m=c[s+44>>2]|0;if((m|0)<(n|0)){if((c[s+48>>2]|0)<(n|0)){if(!n){h=m;i=0}else{c[6472]=(c[6472]|0)+1;f=ic((n<<4|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[s+44>>2]|0;i=f}if((h|0)>0){f=0;do{L=i+(f<<4)|0;K=(c[s+52>>2]|0)+(f<<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];f=f+1|0}while((f|0)!=(h|0))}f=c[s+52>>2]|0;if(f|0){if(a[s+56>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[f+-4>>2]|0)}c[s+52>>2]=0}a[s+56>>0]=1;c[s+52>>2]=i;c[s+48>>2]=n;h=s+52|0}else h=s+52|0;f=m;do{L=(c[h>>2]|0)+(f<<4)|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];f=f+1|0}while((f|0)!=(n|0))}c[s+44>>2]=n;if((n|0)>0){f=0;do{L=c[s+52>>2]|0;K=c[(c[s+32>>2]|0)+(f<<2)>>2]|0;Q=+g[K+12>>2]-+g[s+232>>2];R=+g[K+16>>2]-+g[s+236>>2];g[L+(f<<4)>>2]=+g[K+8>>2]-+g[s+228>>2];g[L+(f<<4)+4>>2]=Q;g[L+(f<<4)+8>>2]=R;g[L+(f<<4)+12>>2]=0.0;f=f+1|0}while((f|0)<(c[s+44>>2]|0))}t=t+1|0}while((t|0)<(c[b+1112>>2]|0))}Gc(b);f=c[b+1112>>2]|0;d=O(f,f)|0;n=c[b+1132>>2]|0;if((d|0)>(n|0)){do if((c[b+1136>>2]|0)<(d|0)){if(!d){m=n;f=0}else{c[6472]=(c[6472]|0)+1;f=ic(d+19|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}m=c[b+1132>>2]|0}h=c[b+1140>>2]|0;if((m|0)<=0){if(!h){a[b+1144>>0]=1;c[b+1140>>2]=f;c[b+1136>>2]=d;break}}else{i=0;do{a[f+i>>0]=a[h+i>>0]|0;i=i+1|0}while((i|0)!=(m|0))}if(a[b+1144>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[h+-4>>2]|0)}a[b+1144>>0]=1;c[b+1140>>2]=f;c[b+1136>>2]=d}else f=c[b+1140>>2]|0;while(0);Nk(f+n|0,0,d-n|0)|0;f=c[b+1112>>2]|0}c[b+1132>>2]=d;if((f|0)<=0){b=f;l=M;return b|0}x=c[b+1120>>2]|0;s=c[b+1140>>2]|0;v=0;do{t=c[x+(v<<2)>>2]|0;c[t+380>>2]=v;u=c[t+24>>2]|0;w=0;do{h=c[x+(w<<2)>>2]|0;g:do if((u|0)>0){i=c[h+24>>2]|0;d=0;while(1){if((i|0)>0){n=c[(c[t+32>>2]|0)+(d<<2)>>2]|0;m=c[h+32>>2]|0;r=0;do{if((n|0)==(c[m+(r<<2)>>2]|0)){h=1;break g}r=r+1|0}while((r|0)<(i|0))}d=d+1|0;if((d|0)>=(u|0)){h=0;break}}}else h=0;while(0);a[s+((O(f,w)|0)+v)>>0]=h;w=w+1|0}while((w|0)!=(f|0));v=v+1|0}while((v|0)!=(f|0));l=M;return f|0}function ac(b){b=b|0;var d=0,e=0.0,f=0.0,h=0.0,i=0.0,k=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,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.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;Z=l;l=l+176|0;bj(12466);Xd(b);a:do if(qb[c[(c[b>>2]|0)+20>>2]&127](b)|0?(Y=qb[c[(c[b>>2]|0)+20>>2]&127](b)|0,(qb[c[(c[Y>>2]|0)+48>>2]&127](Y)|0)&6144|0):0){I=Z+112+44|0;S=Z+112+4|0;T=Z+112+8|0;U=Z+112+16|0;V=Z+112+20|0;O=Z+112+24|0;P=Z+112+32|0;Q=Z+112+36|0;R=Z+112+40|0;W=Z+112+48|0;X=Z+112+52|0;Y=Z+112+56|0;N=Z+112+48|0;H=Z+112+16|0;D=Z+112+32|0;M=Z+112+48|0;G=Z+112+16|0;C=Z+112+32|0;L=Z+112+48|0;d=qb[c[(c[b>>2]|0)+104>>2]&127](b)|0;b:while(1){K=d+-1|0;if((d|0)<=0)break a;p=sb[c[(c[b>>2]|0)+108>>2]&31](b,K)|0;d=qb[c[(c[b>>2]|0)+20>>2]&127](b)|0;d=(qb[c[(c[d>>2]|0)+48>>2]&127](d)|0)>>>11;o=qb[c[(c[b>>2]|0)+20>>2]&127](b)|0;o=(qb[c[(c[o>>2]|0)+48>>2]&127](o)|0)>>>12;B=+g[p+40>>2];if(B<=0.0){d=K;continue}switch(c[p+4>>2]|0){case 3:{c[Z+112>>2]=1065353216;c[Z+112+4>>2]=0;c[Z+112+4+4>>2]=0;c[Z+112+4+8>>2]=0;c[Z+112+4+12>>2]=0;c[Z+112+20>>2]=1065353216;c[Z+112+24>>2]=0;c[Z+112+24+4>>2]=0;c[Z+112+24+8>>2]=0;c[Z+112+24+12>>2]=0;c[Z+112+40>>2]=1065353216;c[I>>2]=0;c[I+4>>2]=0;c[I+8>>2]=0;c[I+12>>2]=0;c[I+16>>2]=0;A=+g[p+300>>2];z=+g[p+304>>2];y=+g[p+308>>2];o=c[p+28>>2]|0;x=A*+g[o+20>>2]+z*+g[o+24>>2]+y*+g[o+28>>2]+ +g[o+56>>2];w=A*+g[o+36>>2]+z*+g[o+40>>2]+y*+g[o+44>>2]+ +g[o+60>>2];g[Z+112+48>>2]=A*+g[o+4>>2]+z*+g[o+8>>2]+y*+g[o+12>>2]+ +g[o+52>>2];g[Z+112+52>>2]=x;g[Z+112+56>>2]=w;g[Z+112+60>>2]=0.0;o=qb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Hb[c[(c[o>>2]|0)+56>>2]&7](o,Z+112|0,B);w=+g[p+316>>2];x=+g[p+320>>2];y=+g[p+324>>2];p=c[p+32>>2]|0;z=w*+g[p+20>>2]+x*+g[p+24>>2]+y*+g[p+28>>2]+ +g[p+56>>2];A=w*+g[p+36>>2]+x*+g[p+40>>2]+y*+g[p+44>>2]+ +g[p+60>>2];g[Z+112+48>>2]=w*+g[p+4>>2]+x*+g[p+8>>2]+y*+g[p+12>>2]+ +g[p+52>>2];g[Z+112+52>>2]=z;g[Z+112+56>>2]=A;g[Z+112+60>>2]=0.0;if(d&1|0){p=qb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Hb[c[(c[p>>2]|0)+56>>2]&7](p,Z+112|0,B)}d=K;continue b}case 4:{n=c[p+28>>2]|0;e=+g[p+552>>2];da=+g[n+4>>2];f=+g[p+552+16>>2];ca=+g[n+8>>2];h=+g[p+552+32>>2];ba=+g[n+12>>2];i=+g[p+552+4>>2];q=+g[p+552+20>>2];r=+g[p+552+36>>2];s=+g[p+552+8>>2];u=+g[p+552+24>>2];w=+g[p+552+40>>2];aa=+g[n+20>>2];$=+g[n+24>>2];_=+g[n+28>>2];t=+g[n+36>>2];v=+g[n+40>>2];x=+g[n+44>>2];fa=+g[p+552+48>>2];ea=+g[p+552+52>>2];A=+g[p+552+56>>2];y=+g[n+52>>2]+(da*fa+ca*ea+ba*A);z=aa*fa+$*ea+_*A+ +g[n+56>>2];A=t*fa+v*ea+x*A+ +g[n+60>>2];g[Z+112>>2]=e*da+f*ca+h*ba;g[Z+112+4>>2]=da*i+ca*q+ba*r;g[Z+112+8>>2]=da*s+ca*u+ba*w;g[Z+112+12>>2]=0.0;g[Z+112+16>>2]=e*aa+f*$+h*_;g[Z+112+20>>2]=i*aa+q*$+r*_;g[Z+112+24>>2]=s*aa+u*$+w*_;g[Z+112+28>>2]=0.0;g[Z+112+32>>2]=e*t+f*v+h*x;g[Z+112+36>>2]=i*t+q*v+r*x;g[Z+112+40>>2]=s*t+u*v+w*x;g[Z+112+44>>2]=0.0;g[Z+112+48>>2]=y;g[Z+112+52>>2]=z;g[Z+112+56>>2]=A;g[Z+112+60>>2]=0.0;if(!(d&1)){n=c[p+32>>2]|0;u=+g[p+616>>2];h=+g[n+4>>2];v=+g[p+616+16>>2];i=+g[n+8>>2];w=+g[p+616+32>>2];q=+g[n+12>>2];x=+g[p+616+4>>2];y=+g[p+616+20>>2];z=+g[p+616+36>>2];A=+g[p+616+8>>2];$=+g[p+616+24>>2];ba=+g[p+616+40>>2];r=+g[n+20>>2];s=+g[n+24>>2];t=+g[n+28>>2];_=+g[n+36>>2];aa=+g[n+40>>2];ca=+g[n+44>>2];e=+g[p+616+48>>2];f=+g[p+616+52>>2];fa=+g[p+616+56>>2];da=+g[n+52>>2]+(h*e+i*f+q*fa);ea=r*e+s*f+t*fa+ +g[n+56>>2];fa=_*e+aa*f+ca*fa+ +g[n+60>>2];g[Z+112>>2]=u*h+v*i+w*q;g[Z+112+4>>2]=h*x+i*y+q*z;g[Z+112+8>>2]=h*A+i*$+q*ba;g[Z+112+12>>2]=0.0;g[Z+112+16>>2]=u*r+v*s+w*t;g[Z+112+20>>2]=x*r+y*s+z*t;g[Z+112+24>>2]=A*r+$*s+ba*t;g[Z+112+28>>2]=0.0;g[Z+112+32>>2]=u*_+v*aa+w*ca;g[Z+112+36>>2]=x*_+y*aa+z*ca;g[Z+112+40>>2]=A*_+$*aa+ba*ca;g[Z+112+44>>2]=0.0;g[Z+112+48>>2]=da;g[Z+112+52>>2]=ea;g[Z+112+56>>2]=fa;g[Z+112+60>>2]=0.0}else{n=qb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Hb[c[(c[n>>2]|0)+56>>2]&7](n,Z+112|0,B);n=c[p+32>>2]|0;u=+g[p+616>>2];h=+g[n+4>>2];v=+g[p+616+16>>2];i=+g[n+8>>2];w=+g[p+616+32>>2];q=+g[n+12>>2];x=+g[p+616+4>>2];y=+g[p+616+20>>2];z=+g[p+616+36>>2];A=+g[p+616+8>>2];$=+g[p+616+24>>2];ba=+g[p+616+40>>2];r=+g[n+20>>2];s=+g[n+24>>2];t=+g[n+28>>2];_=+g[n+36>>2];aa=+g[n+40>>2];ca=+g[n+44>>2];e=+g[p+616+48>>2];f=+g[p+616+52>>2];fa=+g[p+616+56>>2];da=+g[n+52>>2]+(h*e+i*f+q*fa);ea=r*e+s*f+t*fa+ +g[n+56>>2];fa=_*e+aa*f+ca*fa+ +g[n+60>>2];g[Z+112>>2]=u*h+v*i+w*q;g[Z+112+4>>2]=h*x+i*y+q*z;g[Z+112+8>>2]=h*A+i*$+q*ba;g[Z+112+12>>2]=0.0;g[Z+112+16>>2]=u*r+v*s+w*t;g[Z+112+20>>2]=x*r+y*s+z*t;g[Z+112+24>>2]=A*r+$*s+ba*t;g[Z+112+28>>2]=0.0;g[Z+112+32>>2]=u*_+v*aa+w*ca;g[Z+112+36>>2]=x*_+y*aa+z*ca;g[Z+112+40>>2]=A*_+$*aa+ba*ca;g[Z+112+44>>2]=0.0;g[Z+112+48>>2]=da;g[Z+112+52>>2]=ea;g[Z+112+56>>2]=fa;g[Z+112+60>>2]=0.0;n=qb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Hb[c[(c[n>>2]|0)+56>>2]&7](n,Z+112|0,B)}h=+g[p+688>>2];f=+g[p+688+4>>2];e=+bh(h-f,6.2831854820251465);if(!(e<-3.1415927410125732))if(e>3.1415927410125732)i=e+-6.2831854820251465;else i=e;else i=e+6.2831854820251465;e=+bh(h+f,6.2831854820251465);if(!(e<-3.1415927410125732)){if(e>3.1415927410125732)e=e+-6.2831854820251465}else e=e+6.2831854820251465;if(!(i==e)?(J=i>e,o&1|0):0){c[Z+96>>2]=c[Z+112+8>>2];c[Z+96+4>>2]=c[Z+112+24>>2];c[Z+96+8>>2]=c[Z+112+40>>2];g[Z+96+12>>2]=0.0;c[Z+80>>2]=c[Z+112>>2];c[Z+80+4>>2]=c[Z+112+16>>2];c[Z+80+8>>2]=c[Z+112+32>>2];g[Z+80+12>>2]=0.0;p=qb[c[(c[b>>2]|0)+20>>2]&127](b)|0;o=c[(c[p>>2]|0)+60>>2]|0;c[Z+64>>2]=0;c[Z+64+4>>2]=0;c[Z+64+8>>2]=0;c[Z+64+12>>2]=0;Qb[o&0](p,Z+112+48|0,Z+96|0,Z+80|0,B,B,J?0.0:i,J?6.2831854820251465:e,Z+64|0,J^1,10.0)}d=K;continue b}case 5:{n=c[p+28>>2]|0;u=+g[p+300>>2];h=+g[n+4>>2];v=+g[p+300+16>>2];i=+g[n+8>>2];w=+g[p+300+32>>2];q=+g[n+12>>2];x=+g[p+300+4>>2];y=+g[p+300+20>>2];z=+g[p+300+36>>2];A=+g[p+300+8>>2];$=+g[p+300+24>>2];ba=+g[p+300+40>>2];r=+g[n+20>>2];s=+g[n+24>>2];t=+g[n+28>>2];_=+g[n+36>>2];aa=+g[n+40>>2];ca=+g[n+44>>2];e=+g[p+300+48>>2];f=+g[p+300+52>>2];fa=+g[p+300+56>>2];da=+g[n+52>>2]+(h*e+i*f+q*fa);ea=r*e+s*f+t*fa+ +g[n+56>>2];fa=_*e+aa*f+ca*fa+ +g[n+60>>2];g[Z+112>>2]=u*h+v*i+w*q;g[S>>2]=h*x+i*y+q*z;g[T>>2]=h*A+i*$+q*ba;g[Z+112+12>>2]=0.0;g[U>>2]=u*r+v*s+w*t;g[V>>2]=x*r+y*s+z*t;g[O>>2]=A*r+$*s+ba*t;g[Z+112+28>>2]=0.0;g[P>>2]=u*_+v*aa+w*ca;g[Q>>2]=x*_+y*aa+z*ca;g[R>>2]=A*_+$*aa+ba*ca;g[Z+112+44>>2]=0.0;g[W>>2]=da;g[X>>2]=ea;g[Y>>2]=fa;g[Z+112+60>>2]=0.0;if(!(d&1)){n=c[p+32>>2]|0;u=+g[p+364>>2];h=+g[n+4>>2];v=+g[p+364+16>>2];i=+g[n+8>>2];w=+g[p+364+32>>2];q=+g[n+12>>2];x=+g[p+364+4>>2];y=+g[p+364+20>>2];z=+g[p+364+36>>2];A=+g[p+364+8>>2];$=+g[p+364+24>>2];ba=+g[p+364+40>>2];r=+g[n+20>>2];s=+g[n+24>>2];t=+g[n+28>>2];_=+g[n+36>>2];aa=+g[n+40>>2];ca=+g[n+44>>2];e=+g[p+364+48>>2];f=+g[p+364+52>>2];fa=+g[p+364+56>>2];da=+g[n+52>>2]+(h*e+i*f+q*fa);ea=r*e+s*f+t*fa+ +g[n+56>>2];fa=_*e+aa*f+ca*fa+ +g[n+60>>2];g[Z+112>>2]=u*h+v*i+w*q;g[S>>2]=h*x+i*y+q*z;g[T>>2]=h*A+i*$+q*ba;g[Z+112+12>>2]=0.0;g[U>>2]=u*r+v*s+w*t;g[V>>2]=x*r+y*s+z*t;g[O>>2]=A*r+$*s+ba*t;g[Z+112+28>>2]=0.0;g[P>>2]=u*_+v*aa+w*ca;g[Q>>2]=x*_+y*aa+z*ca;g[R>>2]=A*_+$*aa+ba*ca;g[Z+112+44>>2]=0.0;g[W>>2]=da;g[X>>2]=ea;g[Y>>2]=fa;g[Z+112+60>>2]=0.0}else{n=qb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Hb[c[(c[n>>2]|0)+56>>2]&7](n,Z+112|0,B);n=c[p+32>>2]|0;u=+g[p+364>>2];h=+g[n+4>>2];v=+g[p+364+16>>2];i=+g[n+8>>2];w=+g[p+364+32>>2];q=+g[n+12>>2];x=+g[p+364+4>>2];y=+g[p+364+20>>2];z=+g[p+364+36>>2];A=+g[p+364+8>>2];$=+g[p+364+24>>2];ba=+g[p+364+40>>2];r=+g[n+20>>2];s=+g[n+24>>2];t=+g[n+28>>2];_=+g[n+36>>2];aa=+g[n+40>>2];ca=+g[n+44>>2];e=+g[p+364+48>>2];f=+g[p+364+52>>2];fa=+g[p+364+56>>2];da=+g[n+52>>2]+(h*e+i*f+q*fa);ea=r*e+s*f+t*fa+ +g[n+56>>2];fa=_*e+aa*f+ca*fa+ +g[n+60>>2];g[Z+112>>2]=u*h+v*i+w*q;g[S>>2]=h*x+i*y+q*z;g[T>>2]=h*A+i*$+q*ba;g[Z+112+12>>2]=0.0;g[U>>2]=u*r+v*s+w*t;g[V>>2]=x*r+y*s+z*t;g[O>>2]=A*r+$*s+ba*t;g[Z+112+28>>2]=0.0;g[P>>2]=u*_+v*aa+w*ca;g[Q>>2]=x*_+y*aa+z*ca;g[R>>2]=A*_+$*aa+ba*ca;g[Z+112+44>>2]=0.0;g[W>>2]=da;g[X>>2]=ea;g[Y>>2]=fa;g[Z+112+60>>2]=0.0;n=qb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Hb[c[(c[n>>2]|0)+56>>2]&7](n,Z+112|0,B)}if(o&1|0){kj(Z+96|0,p,6.0868353843688965,B);ba=+g[Z+96>>2];ca=+g[Z+96+4>>2];da=+g[Z+96+8>>2];ea=ba*+g[U>>2]+ca*+g[V>>2]+da*+g[O>>2]+ +g[X>>2];fa=ba*+g[P>>2]+ca*+g[Q>>2]+da*+g[R>>2]+ +g[Y>>2];g[Z+96>>2]=ba*+g[Z+112>>2]+ca*+g[S>>2]+da*+g[T>>2]+ +g[W>>2];g[Z+96+4>>2]=ea;g[Z+96+8>>2]=fa;g[Z+96+12>>2]=0.0;d=0;do{kj(Z+80|0,p,+(d|0)*6.283185005187988*.03125,B);ba=+g[Z+80>>2];ca=+g[Z+80+4>>2];da=+g[Z+80+8>>2];ea=ba*+g[U>>2]+ca*+g[V>>2]+da*+g[O>>2]+ +g[X>>2];fa=ba*+g[P>>2]+ca*+g[Q>>2]+da*+g[R>>2]+ +g[Y>>2];g[Z+80>>2]=ba*+g[Z+112>>2]+ca*+g[S>>2]+da*+g[T>>2]+ +g[W>>2];g[Z+80+4>>2]=ea;g[Z+80+8>>2]=fa;g[Z+80+12>>2]=0.0;o=qb[c[(c[b>>2]|0)+20>>2]&127](b)|0;n=c[(c[o>>2]|0)+8>>2]|0;c[Z+64>>2]=0;c[Z+64+4>>2]=0;c[Z+64+8>>2]=0;c[Z+64+12>>2]=0;Nb[n&127](o,Z+96|0,Z+80|0,Z+64|0);if(!(d&3)){o=qb[c[(c[b>>2]|0)+20>>2]&127](b)|0;n=c[(c[o>>2]|0)+8>>2]|0;c[Z+64>>2]=0;c[Z+64+4>>2]=0;c[Z+64+8>>2]=0;c[Z+64+12>>2]=0;Nb[n&127](o,N,Z+80|0,Z+64|0)}c[Z+96>>2]=c[Z+80>>2];c[Z+96+4>>2]=c[Z+80+4>>2];c[Z+96+8>>2]=c[Z+80+8>>2];c[Z+96+12>>2]=c[Z+80+12>>2];d=d+1|0}while((d|0)!=32);z=+g[p+452>>2];A=+g[p+512>>2];d=c[p+32>>2]|0;if(+g[d+344>>2]>0.0){ba=+g[p+364>>2];ca=+g[d+4>>2];da=+g[p+364+16>>2];ea=+g[d+8>>2];fa=+g[p+364+32>>2];u=+g[d+12>>2];$=+g[p+364+4>>2];aa=+g[p+364+20>>2];t=+g[p+364+36>>2];ga=+g[p+364+8>>2];_=+g[p+364+24>>2];s=+g[p+364+40>>2];ia=+g[d+20>>2];ha=+g[d+24>>2];r=+g[d+28>>2];q=+g[d+36>>2];i=+g[d+40>>2];h=+g[d+44>>2];e=+g[p+364+48>>2];x=+g[p+364+52>>2];y=+g[p+364+56>>2];v=q*e+i*x;w=ca*e+ea*x+u*y;x=ia*e+ha*x+r*y;y=h*y;e=ga*q+_*i+s*h;f=$*q+aa*i+t*h;h=ba*q+da*i+fa*h;i=ga*ia+_*ha+s*r;q=$*ia+aa*ha+t*r;r=ba*ia+da*ha+fa*r;s=ca*ga+ea*_+u*s;t=ca*$+ea*aa+u*t;u=ba*ca+da*ea+fa*u}else{d=c[p+28>>2]|0;ea=+g[p+300>>2];fa=+g[d+4>>2];ga=+g[p+300+16>>2];ha=+g[d+8>>2];ia=+g[p+300+32>>2];u=+g[d+12>>2];ca=+g[p+300+4>>2];da=+g[p+300+20>>2];t=+g[p+300+36>>2];aa=+g[p+300+8>>2];ba=+g[p+300+24>>2];s=+g[p+300+40>>2];_=+g[d+20>>2];$=+g[d+24>>2];r=+g[d+28>>2];q=+g[d+36>>2];i=+g[d+40>>2];h=+g[d+44>>2];e=+g[p+300+48>>2];x=+g[p+300+52>>2];y=+g[p+300+56>>2];v=q*e+i*x;w=fa*e+ha*x+u*y;x=_*e+$*x+r*y;y=h*y;e=aa*q+ba*i+s*h;f=ca*q+da*i+t*h;h=ea*q+ga*i+ia*h;i=aa*_+ba*$+s*r;q=ca*_+da*$+t*r;r=ea*_+ga*$+ia*r;s=fa*aa+ha*ba+u*s;t=fa*ca+ha*da+u*t;u=ea*fa+ga*ha+ia*u}ga=+g[d+52>>2]+w;ha=x+ +g[d+56>>2];ia=v+y+ +g[d+60>>2];g[Z+112>>2]=u;g[S>>2]=t;g[T>>2]=s;g[Z+112+12>>2]=0.0;g[U>>2]=r;g[V>>2]=q;g[O>>2]=i;g[Z+112+28>>2]=0.0;g[P>>2]=h;g[Q>>2]=f;g[R>>2]=e;g[Z+112+44>>2]=0.0;g[W>>2]=ga;g[X>>2]=ha;g[Y>>2]=ia;g[Z+112+60>>2]=0.0;c[Z+80>>2]=c[N>>2];c[Z+80+4>>2]=c[N+4>>2];c[Z+80+8>>2]=c[N+8>>2];c[Z+80+12>>2]=c[N+12>>2];g[Z+64>>2]=u;g[Z+64+4>>2]=r;g[Z+64+8>>2]=h;g[Z+64+12>>2]=0.0;g[Z+48>>2]=t;g[Z+48+4>>2]=q;g[Z+48+8>>2]=f;g[Z+48+12>>2]=0.0;p=qb[c[(c[b>>2]|0)+20>>2]&127](b)|0;o=c[(c[p>>2]|0)+60>>2]|0;c[Z+32>>2]=0;c[Z+32+4>>2]=0;c[Z+32+8>>2]=0;c[Z+32+12>>2]=0;Qb[o&0](p,Z+80|0,Z+64|0,Z+48|0,B,B,-A-z,z-A,Z+32|0,1,10.0)}d=K;continue b}case 6:case 9:{c[Z+112>>2]=c[p+1064>>2];c[Z+112+4>>2]=c[p+1064+4>>2];c[Z+112+8>>2]=c[p+1064+8>>2];c[Z+112+12>>2]=c[p+1064+12>>2];m=p+1064+16|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];k=p+1064+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];n=p+1064+48|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];if(!(d&1)){c[Z+112>>2]=c[p+1128>>2];c[Z+112+4>>2]=c[p+1128+4>>2];c[Z+112+8>>2]=c[p+1128+8>>2];c[Z+112+12>>2]=c[p+1128+12>>2];c[H>>2]=c[p+1128+16>>2];c[H+4>>2]=c[p+1128+16+4>>2];c[H+8>>2]=c[p+1128+16+8>>2];c[H+12>>2]=c[p+1128+16+12>>2];c[D>>2]=c[p+1128+32>>2];c[D+4>>2]=c[p+1128+32+4>>2];c[D+8>>2]=c[p+1128+32+8>>2];c[D+12>>2]=c[p+1128+32+12>>2];c[M>>2]=c[p+1128+48>>2];c[M+4>>2]=c[p+1128+48+4>>2];c[M+8>>2]=c[p+1128+48+8>>2];c[M+12>>2]=c[p+1128+48+12>>2]}else{d=qb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Hb[c[(c[d>>2]|0)+56>>2]&7](d,Z+112|0,B);c[Z+112>>2]=c[p+1128>>2];c[Z+112+4>>2]=c[p+1128+4>>2];c[Z+112+8>>2]=c[p+1128+8>>2];c[Z+112+12>>2]=c[p+1128+12>>2];c[H>>2]=c[p+1128+16>>2];c[H+4>>2]=c[p+1128+16+4>>2];c[H+8>>2]=c[p+1128+16+8>>2];c[H+12>>2]=c[p+1128+16+12>>2];c[D>>2]=c[p+1128+32>>2];c[D+4>>2]=c[p+1128+32+4>>2];c[D+8>>2]=c[p+1128+32+8>>2];c[D+12>>2]=c[p+1128+32+12>>2];c[M>>2]=c[p+1128+48>>2];c[M+4>>2]=c[p+1128+48+4>>2];c[M+8>>2]=c[p+1128+48+8>>2];c[M+12>>2]=c[p+1128+48+12>>2];d=qb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Hb[c[(c[d>>2]|0)+56>>2]&7](d,Z+112|0,B)}if(o&1|0){c[Z+112>>2]=c[p+1064>>2];c[Z+112+4>>2]=c[p+1064+4>>2];c[Z+112+8>>2]=c[p+1064+8>>2];c[Z+112+12>>2]=c[p+1064+12>>2];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];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[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];d=p+1128+48|0;c[Z+96>>2]=c[Z+112+8>>2];c[Z+96+4>>2]=c[Z+112+24>>2];c[Z+96+8>>2]=c[Z+112+40>>2];g[Z+96+12>>2]=0.0;c[Z+80>>2]=c[Z+112>>2];c[Z+80+4>>2]=c[Z+112+16>>2];c[Z+80+8>>2]=c[Z+112+32>>2];g[Z+80+12>>2]=0.0;ea=+g[p+932>>2];e=+g[p+932+4>>2];ha=+g[p+996>>2];ga=+g[p+996+4>>2];ka=qb[c[(c[b>>2]|0)+20>>2]&127](b)|0;ja=c[(c[ka>>2]|0)+64>>2]|0;c[Z+64>>2]=0;c[Z+64+4>>2]=0;c[Z+64+8>>2]=0;c[Z+64+12>>2]=0;Pb[ja&0](ka,d,Z+96|0,Z+80|0,B*.8999999761581421,ea,e,ha,ga,Z+64|0,10.0,1);ka=c[Z+112+4>>2]|0;ja=c[Z+112+20>>2]|0;o=c[Z+112+36>>2]|0;c[Z+80>>2]=ka;c[Z+80+4>>2]=ja;c[Z+80+8>>2]=o;g[Z+80+12>>2]=0.0;ga=+g[p+1196>>2];ha=+g[p+1200>>2];e=+E(+ga);ga=+F(+ga);ea=+E(+ha);ha=+F(+ha);fa=(c[j>>2]=ka,+g[j>>2]);ia=(c[j>>2]=ja,+g[j>>2]);f=(c[j>>2]=o,+g[j>>2]);g[Z+64>>2]=e*ea*fa+e*ha*ia-ga*f;g[Z+64+4>>2]=ea*ia-ha*fa;g[Z+64+8>>2]=ga*ea*fa+ga*ha*ia+e*f;c[Z+112>>2]=c[p+1128>>2];c[Z+112+4>>2]=c[p+1128+4>>2];c[Z+112+8>>2]=c[p+1128+8>>2];c[Z+112+12>>2]=c[p+1128+12>>2];c[H>>2]=c[p+1128+16>>2];c[H+4>>2]=c[p+1128+16+4>>2];c[H+8>>2]=c[p+1128+16+8>>2];c[H+12>>2]=c[p+1128+16+12>>2];c[D>>2]=c[p+1128+32>>2];c[D+4>>2]=c[p+1128+32+4>>2];c[D+8>>2]=c[p+1128+32+8>>2];c[D+12>>2]=c[p+1128+32+12>>2];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];f=-+g[Z+112+16>>2];e=-+g[Z+112+32>>2];g[Z+48>>2]=-+g[Z+112>>2];g[Z+48+4>>2]=f;g[Z+48+8>>2]=e;g[Z+48+12>>2]=0.0;e=+g[p+868>>2];f=+g[p+868+4>>2];if(!(e>f)){if(e>2]|0)+20>>2]&127](b)|0;ja=c[(c[ka>>2]|0)+60>>2]|0;c[Z+32>>2]=0;c[Z+32+4>>2]=0;c[Z+32+8>>2]=0;c[Z+32+12>>2]=0;Qb[ja&0](ka,d,Z+48|0,Z+64|0,B,B,e,f,Z+32|0,1,10.0)}}else{ka=qb[c[(c[b>>2]|0)+20>>2]&127](b)|0;ja=c[(c[ka>>2]|0)+60>>2]|0;c[Z+32>>2]=0;c[Z+32+4>>2]=0;c[Z+32+8>>2]=0;c[Z+32+12>>2]=0;Qb[ja&0](ka,d,Z+48|0,Z+64|0,B,B,-3.1415927410125732,3.1415927410125732,Z+32|0,0,10.0)}c[Z+112>>2]=c[p+1064>>2];c[Z+112+4>>2]=c[p+1064+4>>2];c[Z+112+8>>2]=c[p+1064+8>>2];c[Z+112+12>>2]=c[p+1064+12>>2];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];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[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];c[Z+32>>2]=c[p+680>>2];c[Z+32+4>>2]=c[p+680+4>>2];c[Z+32+8>>2]=c[p+680+8>>2];c[Z+32+12>>2]=c[p+680+12>>2];c[Z+16>>2]=c[p+680+16>>2];c[Z+16+4>>2]=c[p+680+16+4>>2];c[Z+16+8>>2]=c[p+680+16+8>>2];c[Z+16+12>>2]=c[p+680+16+12>>2];ka=qb[c[(c[b>>2]|0)+20>>2]&127](b)|0;ja=c[(c[ka>>2]|0)+72>>2]|0;c[Z>>2]=0;c[Z+4>>2]=0;c[Z+8>>2]=0;c[Z+12>>2]=0;Rb[ja&31](ka,Z+32|0,Z+16|0,Z+112|0,Z)}d=K;continue b}case 7:{c[Z+112>>2]=c[p+824>>2];c[Z+112+4>>2]=c[p+824+4>>2];c[Z+112+8>>2]=c[p+824+8>>2];c[Z+112+12>>2]=c[p+824+12>>2];c[G>>2]=c[p+824+16>>2];c[G+4>>2]=c[p+824+16+4>>2];c[G+8>>2]=c[p+824+16+8>>2];c[G+12>>2]=c[p+824+16+12>>2];c[C>>2]=c[p+824+32>>2];c[C+4>>2]=c[p+824+32+4>>2];c[C+8>>2]=c[p+824+32+8>>2];c[C+12>>2]=c[p+824+32+12>>2];c[L>>2]=c[p+824+48>>2];c[L+4>>2]=c[p+824+48+4>>2];c[L+8>>2]=c[p+824+48+8>>2];c[L+12>>2]=c[p+824+48+12>>2];if(!(d&1)){c[Z+112>>2]=c[p+888>>2];c[Z+112+4>>2]=c[p+888+4>>2];c[Z+112+8>>2]=c[p+888+8>>2];c[Z+112+12>>2]=c[p+888+12>>2];c[G>>2]=c[p+888+16>>2];c[G+4>>2]=c[p+888+16+4>>2];c[G+8>>2]=c[p+888+16+8>>2];c[G+12>>2]=c[p+888+16+12>>2];c[C>>2]=c[p+888+32>>2];c[C+4>>2]=c[p+888+32+4>>2];c[C+8>>2]=c[p+888+32+8>>2];c[C+12>>2]=c[p+888+32+12>>2];c[L>>2]=c[p+888+48>>2];c[L+4>>2]=c[p+888+48+4>>2];c[L+8>>2]=c[p+888+48+8>>2];c[L+12>>2]=c[p+888+48+12>>2]}else{ka=qb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Hb[c[(c[ka>>2]|0)+56>>2]&7](ka,Z+112|0,B);c[Z+112>>2]=c[p+888>>2];c[Z+112+4>>2]=c[p+888+4>>2];c[Z+112+8>>2]=c[p+888+8>>2];c[Z+112+12>>2]=c[p+888+12>>2];c[G>>2]=c[p+888+16>>2];c[G+4>>2]=c[p+888+16+4>>2];c[G+8>>2]=c[p+888+16+8>>2];c[G+12>>2]=c[p+888+16+12>>2];c[C>>2]=c[p+888+32>>2];c[C+4>>2]=c[p+888+32+4>>2];c[C+8>>2]=c[p+888+32+8>>2];c[C+12>>2]=c[p+888+32+12>>2];c[L>>2]=c[p+888+48>>2];c[L+4>>2]=c[p+888+48+4>>2];c[L+8>>2]=c[p+888+48+8>>2];c[L+12>>2]=c[p+888+48+12>>2];ka=qb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Hb[c[(c[ka>>2]|0)+56>>2]&7](ka,Z+112|0,B)}if(o&1|0){d=a[p+180>>0]|0?p+824|0:p+888|0;k=c[d>>2]|0;o=c[d+4>>2]|0;m=c[d+16>>2]|0;ja=c[d+20>>2]|0;n=c[d+32>>2]|0;ka=c[d+36>>2]|0;z=+g[d+48>>2];aa=+g[d+52>>2];ea=+g[d+56>>2];ha=+g[p+184>>2];$=(c[j>>2]=k,+g[j>>2]);_=(c[j>>2]=o,+g[j>>2])*0.0;A=+g[d+8>>2]*0.0;da=(c[j>>2]=m,+g[j>>2]);ca=(c[j>>2]=ja,+g[j>>2])*0.0;ba=+g[d+24>>2]*0.0;ia=(c[j>>2]=n,+g[j>>2]);ga=(c[j>>2]=ka,+g[j>>2])*0.0;fa=+g[d+40>>2]*0.0;g[Z+96>>2]=z+(A+(_+$*ha));g[Z+96+4>>2]=aa+(ba+(ca+da*ha));g[Z+96+8>>2]=ea+(fa+(ga+ia*ha));g[Z+96+12>>2]=0.0;ha=+g[p+188>>2];g[Z+80>>2]=z+(A+(_+$*ha));g[Z+80+4>>2]=aa+(ba+(ca+da*ha));g[Z+80+8>>2]=ea+(fa+(ga+ia*ha));g[Z+80+12>>2]=0.0;d=qb[c[(c[b>>2]|0)+20>>2]&127](b)|0;la=c[(c[d>>2]|0)+8>>2]|0;c[Z+64>>2]=0;c[Z+64+4>>2]=0;c[Z+64+8>>2]=0;c[Z+64+12>>2]=0;Nb[la&127](d,Z+96|0,Z+80|0,Z+64|0);c[Z+64>>2]=k;c[Z+64+4>>2]=m;c[Z+64+8>>2]=n;g[Z+64+12>>2]=0.0;c[Z+48>>2]=o;c[Z+48+4>>2]=ja;c[Z+48+8>>2]=ka;g[Z+48+12>>2]=0.0;ha=+g[p+192>>2];ia=+g[p+196>>2];ka=qb[c[(c[b>>2]|0)+20>>2]&127](b)|0;ja=c[(c[ka>>2]|0)+60>>2]|0;c[Z+32>>2]=0;c[Z+32+4>>2]=0;c[Z+32+8>>2]=0;c[Z+32+12>>2]=0;Qb[ja&0](ka,p+888+48|0,Z+64|0,Z+48|0,B,B,ha,ia,Z+32|0,1,10.0)}d=K;continue b}default:{d=K;continue b}}}}while(0);if((((qb[c[(c[b>>2]|0)+20>>2]&127](b)|0?(la=qb[c[(c[b>>2]|0)+20>>2]&127](b)|0,(qb[c[(c[la>>2]|0)+48>>2]&127](la)|0)&16387|0):0)?qb[c[(c[b>>2]|0)+20>>2]&127](b)|0:0)?(la=qb[c[(c[b>>2]|0)+20>>2]&127](b)|0,qb[c[(c[la>>2]|0)+48>>2]&127](la)|0):0)?(c[b+280>>2]|0)>0:0){d=0;do{la=c[(c[b+288>>2]|0)+(d<<2)>>2]|0;Gb[c[(c[la>>2]|0)+12>>2]&127](la,c[b+72>>2]|0);d=d+1|0}while((d|0)<(c[b+280>>2]|0))}d=c[2405]|0;la=(c[d+16>>2]|0)+-1|0;c[d+16>>2]=la;if(la|0){l=Z;return}do if(c[d+4>>2]|0){Za(Z+112|0,0)|0;la=c[6471]|0;g[d+8>>2]=+g[d+8>>2]+ +(((c[Z+112+4>>2]|0)-(c[la+4>>2]|0)+(((c[Z+112>>2]|0)-(c[la>>2]|0)|0)*1e6|0)-(c[d+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[d+16>>2]|0)){d=c[2405]|0;break}else{l=Z;return}}while(0);c[2405]=c[d+20>>2];l=Z;return}function bc(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=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;A=l;l=l+80|0;$e(b,e,f)|0;a[A+16>>0]=1;c[A+12>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;a[A+36>>0]=1;c[A+32>>2]=0;c[A+24>>2]=0;c[A+28>>2]=0;a[A+56>>0]=1;c[A+52>>2]=0;c[A+44>>2]=0;c[A+48>>2]=0;a[A+76>>0]=1;c[A+72>>2]=0;c[A+64>>2]=0;c[A+68>>2]=0;y=c[b+872>>2]|0;c[e+292>>2]=y;if(y){y=sb[c[(c[f>>2]|0)+28>>2]&31](f,b+868|0)|0;c[e+260>>2]=y;if(y|0){h=c[e+292>>2]|0;n=ub[c[(c[f>>2]|0)+16>>2]&63](f,4,h)|0;if((h|0)>0){k=0;m=c[n+8>>2]|0;while(1){i=c[(c[b+880>>2]|0)+(k<<2)>>2]|0;if(!i){g=0;j=0}else{g=i;j=sb[c[(c[f>>2]|0)+28>>2]&31](f,i)|0}c[m>>2]=j;if(!(sb[c[(c[f>>2]|0)+24>>2]&31](f,g)|0)){y=ub[c[(c[f>>2]|0)+16>>2]&63](f,16,1)|0;t=c[y+8>>2]|0;c[t+12>>2]=c[i+16>>2];c[t+4>>2]=c[i+8>>2];c[t>>2]=c[i+4>>2];c[t+8>>2]=c[i+12>>2];Rb[c[(c[f>>2]|0)+20>>2]&31](f,y,10862,1414349395,g)}k=k+1|0;if((k|0)>=(h|0)){g=f;break}else m=m+4|0}}else g=f;Rb[c[(c[g>>2]|0)+20>>2]&31](f,n,10862,1497453121,b+868|0)}}else c[e+260>>2]=0;y=c[b+712>>2]|0;c[e+296>>2]=y;if(y){y=sb[c[(c[f>>2]|0)+28>>2]&31](f,b+708|0)|0;c[e+264>>2]=y;if(y|0){q=c[e+296>>2]|0;r=ub[c[(c[f>>2]|0)+16>>2]&63](f,100,q)|0;if((q|0)>0){s=0;t=c[r+8>>2]|0;while(1){g=c[b+720>>2]|0;c[t+52>>2]=c[g+(s*104|0)+56>>2];c[t+56>>2]=c[g+(s*104|0)+60>>2];c[t+60>>2]=c[g+(s*104|0)+64>>2];c[t+64>>2]=c[g+(s*104|0)+68>>2];c[t+88>>2]=c[g+(s*104|0)+92>>2];c[t+92>>2]=(a[g+(s*104|0)+100>>0]<<7&255)<<24>>24>>7<<24>>24;c[t+84>>2]=c[g+(s*104|0)+88>>2];h=c[g+(s*104|0)+4>>2]|0;if(!h)h=0;else{h=sb[c[(c[f>>2]|0)+28>>2]&31](f,h)|0;g=c[b+720>>2]|0}c[t>>2]=h;c[t+68>>2]=c[g+(s*104|0)+72>>2];c[t+72>>2]=c[g+(s*104|0)+76>>2];c[t+76>>2]=c[g+(s*104|0)+80>>2];c[t+80>>2]=c[g+(s*104|0)+84>>2];c[t+4>>2]=c[g+(s*104|0)+8>>2];c[t+8>>2]=c[g+(s*104|0)+12>>2];c[t+12>>2]=c[g+(s*104|0)+16>>2];c[t+16>>2]=c[g+(s*104|0)+20>>2];c[t+20>>2]=c[g+(s*104|0)+24>>2];c[t+24>>2]=c[g+(s*104|0)+28>>2];c[t+28>>2]=c[g+(s*104|0)+32>>2];c[t+32>>2]=c[g+(s*104|0)+36>>2];c[t+36>>2]=c[g+(s*104|0)+40>>2];c[t+40>>2]=c[g+(s*104|0)+44>>2];c[t+44>>2]=c[g+(s*104|0)+48>>2];c[t+48>>2]=c[g+(s*104|0)+52>>2];m=(c[b+720>>2]|0)+(s*104|0)|0;p=(m+~(m<<15)>>10^m+~(m<<15))*9|0;p=(p>>6^p)+~((p>>6^p)<<11)>>16^(p>>6^p)+~((p>>6^p)<<11);k=c[A+48>>2]|0;a:do if((p&k+-1)>>>0<(c[A+4>>2]|0)>>>0?(x=c[(c[A+12>>2]|0)+((p&k+-1)<<2)>>2]|0,(x|0)!=-1):0){h=c[A+72>>2]|0;i=c[A+32>>2]|0;g=x;while(1){if((m|0)==(c[h+(g<<3)>>2]|0))break;g=c[i+(g<<2)>>2]|0;if((g|0)==-1){z=27;break a}}c[(c[A+52>>2]|0)+(g<<2)>>2]=s}else z=27;while(0);if((z|0)==27){z=0;o=c[A+44>>2]|0;if((o|0)==(k|0)){g=k|0?k<<1:1;if((k|0)<(g|0)){if((g|0)!=0?(c[6472]=(c[6472]|0)+1,u=ic((g<<2|3)+16|0)|0,(u|0)!=0):0){c[(u+4+15&-16)+-4>>2]=u;j=u+4+15&-16}else j=0;i=c[A+52>>2]|0;if((k|0)<=0)if(!i)h=k;else z=35;else{h=0;do{c[j+(h<<2)>>2]=c[i+(h<<2)>>2];h=h+1|0}while((h|0)!=(k|0));z=35}if((z|0)==35){z=0;if(a[A+56>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0)}c[A+52>>2]=0;h=c[A+44>>2]|0}a[A+56>>0]=1;c[A+52>>2]=j;c[A+48>>2]=g}else{g=k;h=k}}else{g=k;h=o}c[(c[A+52>>2]|0)+(h<<2)>>2]=s;c[A+44>>2]=h+1;h=c[A+64>>2]|0;if((h|0)==(c[A+68>>2]|0)?(w=h|0?h<<1:1,(h|0)<(w|0)):0){if((w|0)!=0?(c[6472]=(c[6472]|0)+1,v=ic((w<<3|3)+16|0)|0,(v|0)!=0):0){c[(v+4+15&-16)+-4>>2]=v;i=v+4+15&-16}else i=0;if((h|0)>0){g=0;do{j=(c[A+72>>2]|0)+(g<<3)|0;n=c[j+4>>2]|0;y=i+(g<<3)|0;c[y>>2]=c[j>>2];c[y+4>>2]=n;g=g+1|0}while((g|0)!=(h|0))}g=c[A+72>>2]|0;if(g|0){if(a[A+76>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[g+-4>>2]|0)}c[A+72>>2]=0}a[A+76>>0]=1;c[A+72>>2]=i;c[A+68>>2]=w;h=c[A+64>>2]|0;g=c[A+48>>2]|0}c[(c[A+72>>2]|0)+(h<<3)>>2]=m;c[A+64>>2]=h+1;if((k|0)<(g|0)){n=c[A+4>>2]|0;do if((n|0)<(g|0)){b:do if((c[A+8>>2]|0)<(g|0)){do if(!g)h=0;else{c[6472]=(c[6472]|0)+1;h=ic((g<<2|3)+16|0)|0;if(!h){h=0;break}c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}while(0);i=c[A+12>>2]|0;do if((n|0)>0){j=0;do{c[h+(j<<2)>>2]=c[i+(j<<2)>>2];j=j+1|0}while((j|0)!=(n|0))}else{if(i|0)break;a[A+16>>0]=1;c[A+12>>2]=h;c[A+8>>2]=g;break b}while(0);if(a[A+16>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0)}a[A+16>>0]=1;c[A+12>>2]=h;c[A+8>>2]=g}else h=c[A+12>>2]|0;while(0);m=g<<2;Nk(h+(n<<2)|0,0,m-(n<<2)|0)|0;c[A+4>>2]=g;k=c[A+24>>2]|0;if((k|0)<(g|0)){c:do if((c[A+28>>2]|0)<(g|0)){do if(!g)h=0;else{c[6472]=(c[6472]|0)+1;h=ic((m|3)+16|0)|0;if(!h){h=0;break}c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}while(0);i=c[A+32>>2]|0;do if((k|0)>0){j=0;do{c[h+(j<<2)>>2]=c[i+(j<<2)>>2];j=j+1|0}while((j|0)!=(k|0))}else{if(i|0)break;a[A+36>>0]=1;c[A+32>>2]=h;c[A+28>>2]=g;break c}while(0);if(a[A+36>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0)}a[A+36>>0]=1;c[A+32>>2]=h;c[A+28>>2]=g}else h=c[A+32>>2]|0;while(0);Nk(h+(k<<2)|0,0,m-(k<<2)|0)|0}c[A+24>>2]=g;if((g|0)>0){Nk(c[A+12>>2]|0,-1,m|0)|0;Nk(c[A+32>>2]|0,-1,m|0)|0}if((n|0)<=0){g=c[A+48>>2]|0;break}h=c[A+72>>2]|0;i=c[A+12>>2]|0;j=c[A+32>>2]|0;g=c[A+48>>2]|0;k=0;do{y=c[h+(k<<3)>>2]|0;y=(y+~(y<<15)>>10^y+~(y<<15))*9|0;y=i+((((y>>6^y)+~((y>>6^y)<<11)>>16^(y>>6^y)+~((y>>6^y)<<11))&g+-1)<<2)|0;c[j+(k<<2)>>2]=c[y>>2];c[y>>2]=k;k=k+1|0}while((k|0)!=(n|0))}while(0);g=p&g+-1}else g=p&k+-1;y=(c[A+12>>2]|0)+(g<<2)|0;c[(c[A+32>>2]|0)+(o<<2)>>2]=c[y>>2];c[y>>2]=o}s=s+1|0;if((s|0)>=(q|0))break;else t=t+100|0}}Rb[c[(c[f>>2]|0)+20>>2]&31](f,r,10883,1145979475,b+708|0)}}else c[e+264>>2]=0;y=c[b+732>>2]|0;c[e+300>>2]=y;if(y){y=sb[c[(c[f>>2]|0)+28>>2]&31](f,c[b+740>>2]|0)|0;c[e+268>>2]=y;if(y|0){j=c[e+300>>2]|0;n=ub[c[(c[f>>2]|0)+16>>2]&63](f,20,j)|0;if((j|0)>0){g=c[b+740>>2]|0;i=g;k=0;m=c[n+8>>2]|0;while(1){c[m+16>>2]=(a[i+(k*52|0)+20>>0]<<7&255)<<24>>24>>7<<24>>24;h=c[i+(k*52|0)+4>>2]|0;if(!h)h=0;else{h=sb[c[(c[f>>2]|0)+28>>2]&31](f,h)|0;g=c[b+740>>2]|0;i=g}c[m>>2]=h;h=c[i+(k*52|0)+8>>2]|0;if(!h)h=-1;else h=(h-(c[b+720>>2]|0)|0)/104|0;c[m+4>>2]=h;h=c[i+(k*52|0)+12>>2]|0;if(!h)h=-1;else h=(h-(c[b+720>>2]|0)|0)/104|0;c[m+8>>2]=h;c[m+12>>2]=c[i+(k*52|0)+16>>2];k=k+1|0;if((k|0)>=(j|0))break;else m=m+20|0}}else g=c[b+740>>2]|0;Rb[c[(c[f>>2]|0)+20>>2]&31](f,n,10900,1497453121,g)}}else c[e+268>>2]=0;y=c[b+752>>2]|0;c[e+304>>2]=y;if(y){y=sb[c[(c[f>>2]|0)+28>>2]&31](f,c[b+760>>2]|0)|0;c[e+272>>2]=y;if(y|0){j=c[e+304>>2]|0;n=ub[c[(c[f>>2]|0)+16>>2]&63](f,36,j)|0;if((j|0)>0){g=c[b+760>>2]|0;i=g;k=0;m=c[n+8>>2]|0;while(1){h=c[i+(k*44|0)+4>>2]|0;if(!h)h=0;else{h=sb[c[(c[f>>2]|0)+28>>2]&31](f,h)|0;g=c[b+760>>2]|0;i=g}c[m+16>>2]=h;c[m>>2]=c[i+(k*44|0)+20>>2];c[m+4>>2]=c[i+(k*44|0)+24>>2];c[m+8>>2]=c[i+(k*44|0)+28>>2];c[m+12>>2]=c[i+(k*44|0)+32>>2];h=c[i+(k*44|0)+8>>2]|0;if(!h)h=-1;else h=(h-(c[b+720>>2]|0)|0)/104|0;c[m+20>>2]=h;h=c[i+(k*44|0)+12>>2]|0;if(!h)h=-1;else h=(h-(c[b+720>>2]|0)|0)/104|0;c[m+24>>2]=h;h=c[i+(k*44|0)+16>>2]|0;if(!h)h=-1;else h=(h-(c[b+720>>2]|0)|0)/104|0;c[m+28>>2]=h;c[m+32>>2]=c[i+(k*44|0)+36>>2];k=k+1|0;if((k|0)>=(j|0))break;else m=m+36|0}}else g=c[b+760>>2]|0;Rb[c[(c[f>>2]|0)+20>>2]&31](f,n,10917,1497453121,g)}}else c[e+272>>2]=0;y=c[b+772>>2]|0;c[e+308>>2]=y;if(y){y=sb[c[(c[f>>2]|0)+28>>2]&31](f,c[b+780>>2]|0)|0;c[e+276>>2]=y;if(y|0){j=c[e+308>>2]|0;n=ub[c[(c[f>>2]|0)+16>>2]&63](f,100,j)|0;if((j|0)>0){g=c[b+780>>2]|0;i=g;k=0;m=c[n+8>>2]|0;while(1){c[m>>2]=c[i+(k*104|0)+32>>2];c[m+4>>2]=c[i+(k*104|0)+36>>2];c[m+8>>2]=c[i+(k*104|0)+40>>2];c[m+12>>2]=c[i+(k*104|0)+44>>2];h=c[i+8>>2]|0;if(!h)h=-1;else h=(h-(c[b+720>>2]|0)|0)/104|0;c[m+68>>2]=h;c[m+16>>2]=c[i+(k*104|0)+48>>2];c[m+20>>2]=c[i+(k*104|0)+52>>2];c[m+24>>2]=c[i+(k*104|0)+56>>2];c[m+28>>2]=c[i+(k*104|0)+60>>2];h=c[i+116>>2]|0;if(!h)h=-1;else h=(h-(c[b+720>>2]|0)|0)/104|0;c[m+72>>2]=h;c[m+32>>2]=c[i+(k*104|0)+64>>2];c[m+36>>2]=c[i+(k*104|0)+68>>2];c[m+40>>2]=c[i+(k*104|0)+72>>2];c[m+44>>2]=c[i+(k*104|0)+76>>2];h=c[i+224>>2]|0;if(!h)h=-1;else h=(h-(c[b+720>>2]|0)|0)/104|0;c[m+76>>2]=h;c[m+48>>2]=c[i+(k*104|0)+80>>2];c[m+52>>2]=c[i+(k*104|0)+84>>2];c[m+56>>2]=c[i+(k*104|0)+88>>2];c[m+60>>2]=c[i+(k*104|0)+92>>2];h=c[i+332>>2]|0;if(!h)h=-1;else h=(h-(c[b+720>>2]|0)|0)/104|0;c[m+80>>2]=h;c[m+88>>2]=c[i+(k*104|0)+96>>2];c[m+92>>2]=c[i+(k*104|0)+100>>2];h=c[i+(k*104|0)+4>>2]|0;if(!h)h=0;else{h=sb[c[(c[f>>2]|0)+28>>2]&31](f,h)|0;g=c[b+780>>2]|0;i=g}c[m+64>>2]=h;c[m+84>>2]=c[i+(k*104|0)+24>>2];k=k+1|0;if((k|0)>=(j|0))break;else m=m+100|0}}else g=c[b+780>>2]|0;Rb[c[(c[f>>2]|0)+20>>2]&31](f,n,10934,1497453121,g)}}else c[e+276>>2]=0;y=c[b+792>>2]|0;c[e+312>>2]=y;if(y){y=sb[c[(c[f>>2]|0)+28>>2]&31](f,c[b+800>>2]|0)|0;c[e+280>>2]=y;if(!y)y=f;else{i=c[e+312>>2]|0;j=ub[c[(c[f>>2]|0)+16>>2]&63](f,92,i)|0;if((i|0)>0){k=0;m=c[j+8>>2]|0;while(1){h=c[b+800>>2]|0;c[m>>2]=c[h+(k*96|0)+28>>2];c[m+4>>2]=c[h+(k*96|0)+32>>2];c[m+8>>2]=c[h+(k*96|0)+36>>2];c[m+12>>2]=c[h+(k*96|0)+40>>2];c[m+16>>2]=c[h+(k*96|0)+44>>2];c[m+20>>2]=c[h+(k*96|0)+48>>2];c[m+24>>2]=c[h+(k*96|0)+52>>2];c[m+28>>2]=c[h+(k*96|0)+56>>2];c[m+32>>2]=c[h+(k*96|0)+60>>2];c[m+36>>2]=c[h+(k*96|0)+64>>2];c[m+40>>2]=c[h+(k*96|0)+68>>2];c[m+44>>2]=c[h+(k*96|0)+72>>2];c[m+48>>2]=c[h+(k*96|0)+76>>2];c[m+52>>2]=c[h+(k*96|0)+80>>2];c[m+56>>2]=c[h+(k*96|0)+84>>2];c[m+60>>2]=c[h+(k*96|0)+88>>2];c[m+88>>2]=c[h+(k*96|0)+92>>2];h=c[b+800>>2]|0;c[m+64>>2]=c[h+(k*96|0)+4>>2];c[m+68>>2]=c[h+(k*96|0)+8>>2];c[m+72>>2]=c[h+(k*96|0)+12>>2];c[m+76>>2]=c[h+(k*96|0)+16>>2];g=c[h+(k*96|0)>>2]|0;if(!g)g=-1;else g=(g-(c[b+720>>2]|0)|0)/104|0;c[m+84>>2]=g;g=c[h+(k*96|0)+20>>2]|0;if(!g)g=0;else g=sb[c[(c[f>>2]|0)+28>>2]&31](f,g)|0;c[m+80>>2]=g;k=k+1|0;if((k|0)>=(i|0))break;else m=m+92|0}}Rb[c[(c[f>>2]|0)+20>>2]&31](f,j,10952,1497453121,c[b+800>>2]|0);y=f}}else{c[e+280>>2]=0;y=f}c[e+352>>2]=c[b+316>>2];c[e+328>>2]=c[b+292>>2];c[e+344>>2]=c[b+308>>2];c[e+324>>2]=c[b+288>>2];c[e+340>>2]=c[b+304>>2];c[e+336>>2]=c[b+300>>2];c[e+412>>2]=c[b+376>>2];c[e+416>>2]=c[b+380>>2];c[e+420>>2]=c[b+384>>2];c[e+408>>2]=c[b+372>>2];n=c[b+364>>2]|0;c[e+332>>2]=c[b+296>>2];c[e+356>>2]=c[b+320>>2];c[e+424>>2]=c[b+388>>2];c[e+348>>2]=c[b+312>>2];c[e+360>>2]=c[b+324>>2];c[e+364>>2]=c[b+328>>2];c[e+368>>2]=c[b+332>>2];c[e+372>>2]=c[b+336>>2];c[e+404>>2]=c[b+368>>2];c[e+400>>2]=n;c[e+376>>2]=c[b+340>>2];c[e+380>>2]=c[b+344>>2];c[e+384>>2]=c[b+348>>2];c[e+388>>2]=c[b+352>>2];c[e+392>>2]=c[b+356>>2];c[e+396>>2]=c[b+360>>2];c[e+256>>2]=sb[c[(c[y>>2]|0)+28>>2]&31](f,b+472|0)|0;n=ub[c[(c[f>>2]|0)+16>>2]&63](f,192,1)|0;m=c[n+8>>2]|0;c[m+96>>2]=c[b+632>>2];c[m+100>>2]=c[b+636>>2];c[m+104>>2]=c[b+640>>2];c[m+108>>2]=c[b+644>>2];c[m+112>>2]=c[b+648>>2];c[m+116>>2]=c[b+652>>2];c[m+120>>2]=c[b+656>>2];c[m+124>>2]=c[b+660>>2];c[m+128>>2]=c[b+664>>2];c[m+132>>2]=c[b+668>>2];c[m+136>>2]=c[b+672>>2];c[m+140>>2]=c[b+676>>2];c[m+180>>2]=d[b+473>>0];c[m+176>>2]=d[b+472>>0];c[m+144>>2]=c[b+520>>2];c[m+148>>2]=c[b+524>>2];c[m+152>>2]=c[b+528>>2];c[m+156>>2]=c[b+532>>2];x=c[b+484>>2]|0;c[m+168>>2]=x;if(x){x=sb[c[(c[y>>2]|0)+28>>2]&31](f,c[b+492>>2]|0)|0;h=c[m+168>>2]|0;c[m+160>>2]=x;if(h|0){k=ub[c[(c[f>>2]|0)+16>>2]&63](f,16,h)|0;if((h|0)>0){g=c[b+492>>2]|0;i=0;j=c[k+8>>2]|0;while(1){c[j>>2]=c[g+(i<<4)>>2];c[j+4>>2]=c[g+(i<<4)+4>>2];c[j+8>>2]=c[g+(i<<4)+8>>2];c[j+12>>2]=c[g+(i<<4)+12>>2];i=i+1|0;if((i|0)==(h|0))break;else j=j+16|0}}else g=c[b+492>>2]|0;Rb[c[(c[f>>2]|0)+20>>2]&31](f,k,19486,1497453121,g)}}else c[m+160>>2]=0;c[m+184>>2]=c[b+476>>2];c[m>>2]=c[b+536>>2];c[m+4>>2]=c[b+540>>2];c[m+8>>2]=c[b+544>>2];c[m+12>>2]=c[b+548>>2];c[m+16>>2]=c[b+552>>2];c[m+20>>2]=c[b+556>>2];c[m+24>>2]=c[b+560>>2];c[m+28>>2]=c[b+564>>2];c[m+32>>2]=c[b+568>>2];c[m+36>>2]=c[b+572>>2];c[m+40>>2]=c[b+576>>2];c[m+44>>2]=c[b+580>>2];c[m+48>>2]=c[b+584>>2];c[m+52>>2]=c[b+588>>2];c[m+56>>2]=c[b+592>>2];c[m+60>>2]=c[b+596>>2];c[m+64>>2]=c[b+600>>2];c[m+68>>2]=c[b+604>>2];c[m+72>>2]=c[b+608>>2];c[m+76>>2]=c[b+612>>2];c[m+80>>2]=c[b+616>>2];c[m+84>>2]=c[b+620>>2];c[m+88>>2]=c[b+624>>2];c[m+92>>2]=c[b+628>>2];x=c[b+504>>2]|0;c[m+172>>2]=x;if(x){x=sb[c[(c[y>>2]|0)+28>>2]&31](f,c[b+512>>2]|0)|0;j=c[m+172>>2]|0;c[m+164>>2]=x;if(!j)z=149;else{k=ub[c[(c[f>>2]|0)+16>>2]&63](f,4,j)|0;if((j|0)>0){g=c[b+512>>2]|0;h=0;i=c[k+8>>2]|0;while(1){c[i>>2]=c[g+(h<<2)>>2];h=h+1|0;if((h|0)==(j|0))break;else i=i+4|0}}else g=c[b+512>>2]|0;Rb[c[(c[f>>2]|0)+20>>2]&31](f,k,10972,1497453121,g);x=f}}else{c[m+164>>2]=0;z=149}if((z|0)==149)x=f;Rb[c[(c[x>>2]|0)+20>>2]&31](f,n,10978,1497453121,b+472|0);z=c[b+1112>>2]|0;c[e+316>>2]=z;if(z){z=sb[c[(c[y>>2]|0)+28>>2]&31](f,c[c[b+1120>>2]>>2]|0)|0;t=c[e+316>>2]|0;c[e+284>>2]=z;if(t|0){u=ub[c[(c[f>>2]|0)+16>>2]&63](f,348,t)|0;if((t|0)>0){v=0;w=c[u+8>>2]|0;while(1){g=c[(c[b+1120>>2]|0)+(v<<2)>>2]|0;z=w+320|0;c[z>>2]=c[g+360>>2];c[w+256>>2]=c[g+332>>2];c[w+260>>2]=c[g+336>>2];c[w+264>>2]=c[g+340>>2];c[w+268>>2]=c[g+344>>2];c[w+344>>2]=c[g+380>>2];c[w+340>>2]=d[g+377>>0];c[w+160>>2]=c[g+228>>2];c[w+164>>2]=c[g+232>>2];c[w+168>>2]=c[g+236>>2];c[w+172>>2]=c[g+240>>2];c[w+336>>2]=d[g+376>>0];c[w+208>>2]=c[g+276>>2];c[w+212>>2]=c[g+280>>2];c[w+216>>2]=c[g+284>>2];c[w+220>>2]=c[g+288>>2];c[w+224>>2]=c[g+292>>2];c[w+228>>2]=c[g+296>>2];c[w+232>>2]=c[g+300>>2];c[w+236>>2]=c[g+304>>2];g=c[(c[b+1120>>2]|0)+(v<<2)>>2]|0;c[w>>2]=c[g+60>>2];c[w+4>>2]=c[g+64>>2];c[w+8>>2]=c[g+68>>2];c[w+12>>2]=c[g+72>>2];c[w+16>>2]=c[g+76>>2];c[w+20>>2]=c[g+80>>2];c[w+24>>2]=c[g+84>>2];c[w+28>>2]=c[g+88>>2];c[w+32>>2]=c[g+92>>2];c[w+36>>2]=c[g+96>>2];c[w+40>>2]=c[g+100>>2];c[w+44>>2]=c[g+104>>2];c[w+48>>2]=c[g+108>>2];c[w+52>>2]=c[g+112>>2];c[w+56>>2]=c[g+116>>2];c[w+60>>2]=c[g+120>>2];c[w+296>>2]=c[g+124>>2];g=c[(c[b+1120>>2]|0)+(v<<2)>>2]|0;c[w+300>>2]=c[g+128>>2];c[w+112>>2]=c[g+180>>2];c[w+116>>2]=c[g+184>>2];c[w+120>>2]=c[g+188>>2];c[w+124>>2]=c[g+192>>2];c[w+128>>2]=c[g+196>>2];c[w+132>>2]=c[g+200>>2];c[w+136>>2]=c[g+204>>2];c[w+140>>2]=c[g+208>>2];c[w+144>>2]=c[g+212>>2];c[w+148>>2]=c[g+216>>2];c[w+152>>2]=c[g+220>>2];c[w+156>>2]=c[g+224>>2];h=w+316|0;c[h>>2]=c[g+356>>2];c[w+64>>2]=c[g+132>>2];c[w+68>>2]=c[g+136>>2];c[w+72>>2]=c[g+140>>2];c[w+76>>2]=c[g+144>>2];c[w+80>>2]=c[g+148>>2];c[w+84>>2]=c[g+152>>2];c[w+88>>2]=c[g+156>>2];c[w+92>>2]=c[g+160>>2];c[w+96>>2]=c[g+164>>2];c[w+100>>2]=c[g+168>>2];c[w+104>>2]=c[g+172>>2];c[w+108>>2]=c[g+176>>2];g=c[(c[b+1120>>2]|0)+(v<<2)>>2]|0;c[w+240>>2]=c[g+316>>2];c[w+244>>2]=c[g+320>>2];c[w+248>>2]=c[g+324>>2];c[w+252>>2]=c[g+328>>2];c[w+324>>2]=c[g+364>>2];c[w+328>>2]=c[g+368>>2];c[w+312>>2]=c[g+352>>2];c[h>>2]=c[g+356>>2];c[z>>2]=c[g+360>>2];c[w+332>>2]=c[g+372>>2];z=c[g+44>>2]|0;h=w+284|0;c[h>>2]=z;n=w+292|0;c[n>>2]=c[g+4>>2];o=w+288|0;c[o>>2]=c[g+24>>2];c[w+304>>2]=c[g+308>>2];c[w+176>>2]=c[g+244>>2];c[w+180>>2]=c[g+248>>2];c[w+184>>2]=c[g+252>>2];c[w+188>>2]=c[g+256>>2];c[w+192>>2]=c[g+260>>2];c[w+196>>2]=c[g+264>>2];c[w+200>>2]=c[g+268>>2];c[w+204>>2]=c[g+272>>2];g=c[(c[b+1120>>2]|0)+(v<<2)>>2]|0;c[w+308>>2]=c[g+312>>2];if(z){z=sb[c[(c[y>>2]|0)+28>>2]&31](f,c[g+52>>2]|0)|0;c[w+272>>2]=z;if(z|0){h=c[h>>2]|0;m=ub[c[(c[f>>2]|0)+16>>2]&63](f,16,h)|0;if((h|0)>0){g=c[(c[b+1120>>2]|0)+(v<<2)>>2]|0;i=c[g+52>>2]|0;j=0;k=c[m+8>>2]|0;while(1){c[k>>2]=c[i+(j<<4)>>2];c[k+4>>2]=c[i+(j<<4)+4>>2];c[k+8>>2]=c[i+(j<<4)+8>>2];c[k+12>>2]=c[i+(j<<4)+12>>2];j=j+1|0;if((j|0)==(h|0))break;else k=k+16|0}}else g=c[(c[b+1120>>2]|0)+(v<<2)>>2]|0;Rb[c[(c[x>>2]|0)+20>>2]&31](f,m,19486,1497453121,c[g+52>>2]|0)}}else c[w+272>>2]=0;if(c[n>>2]|0){z=sb[c[(c[y>>2]|0)+28>>2]&31](f,c[(c[(c[b+1120>>2]|0)+(v<<2)>>2]|0)+12>>2]|0)|0;c[w+280>>2]=z;if(z|0){h=c[n>>2]|0;m=ub[c[(c[f>>2]|0)+16>>2]&63](f,4,h)|0;if((h|0)>0){g=c[(c[b+1120>>2]|0)+(v<<2)>>2]|0;i=c[g+12>>2]|0;j=0;k=c[m+8>>2]|0;while(1){c[k>>2]=c[i+(j<<2)>>2];j=j+1|0;if((j|0)==(h|0))break;else k=k+4|0}}else g=c[(c[b+1120>>2]|0)+(v<<2)>>2]|0;Rb[c[(c[x>>2]|0)+20>>2]&31](f,m,10972,1497453121,c[g+12>>2]|0)}}else c[w+280>>2]=0;if(c[o>>2]|0){z=sb[c[(c[y>>2]|0)+28>>2]&31](f,(c[(c[b+1120>>2]|0)+(v<<2)>>2]|0)+20|0)|0;c[w+276>>2]=z;if(z|0){j=c[n>>2]|0;s=ub[c[(c[f>>2]|0)+16>>2]&63](f,4,j)|0;if((j|0)>0){g=c[(c[b+1120>>2]|0)+(v<<2)>>2]|0;k=c[g+32>>2]|0;m=c[A+12>>2]|0;n=c[A+72>>2]|0;o=c[A+52>>2]|0;p=c[A+32>>2]|0;q=0;r=c[s+8>>2]|0;while(1){i=c[k+(q<<2)>>2]|0;h=(i+~(i<<15)>>10^i+~(i<<15))*9|0;h=c[m+((((h>>6^h)+~((h>>6^h)<<11)>>16^(h>>6^h)+~((h>>6^h)<<11))&(c[A+48>>2]|0)+-1)<<2)>>2]|0;if((i|0)!=(c[n+(h<<3)>>2]|0))do h=c[p+(h<<2)>>2]|0;while((i|0)!=(c[n+(h<<3)>>2]|0));c[r>>2]=c[o+(h<<2)>>2];q=q+1|0;if((q|0)==(j|0))break;else r=r+4|0}}else g=c[(c[b+1120>>2]|0)+(v<<2)>>2]|0;Rb[c[(c[x>>2]|0)+20>>2]&31](f,s,11015,1497453121,g+20|0)}}else c[w+276>>2]=0;v=v+1|0;if((v|0)>=(t|0))break;else w=w+348|0}}Rb[c[(c[x>>2]|0)+20>>2]&31](f,u,10995,1497453121,c[c[b+1120>>2]>>2]|0)}}else c[e+284>>2]=0;z=c[b+852>>2]|0;c[e+320>>2]=z;if(!z){c[e+288>>2]=0;Zi(A);l=A;return 11039}z=sb[c[(c[y>>2]|0)+28>>2]&31](f,c[b+860>>2]|0)|0;c[e+288>>2]=z;if(!z){Zi(A);l=A;return 11039}i=c[b+852>>2]|0;j=ub[c[(c[f>>2]|0)+16>>2]&63](f,104,i)|0;if((i|0)>0){k=0;n=c[j+8>>2]|0;while(1){g=c[(c[b+860>>2]|0)+(k<<2)>>2]|0;c[n+96>>2]=qb[c[(c[g>>2]|0)+20>>2]&127](g)|0;g=(c[b+860>>2]|0)+(k<<2)|0;h=c[g>>2]|0;c[n+8>>2]=c[h+28>>2];c[n+12>>2]=c[h+32>>2];c[n+16>>2]=c[h+36>>2];c[n+20>>2]=c[h+40>>2];c[n+24>>2]=c[h+44>>2];c[n+28>>2]=c[h+48>>2];c[n+32>>2]=c[h+52>>2];c[n+36>>2]=c[h+56>>2];c[n+40>>2]=c[h+60>>2];c[n+44>>2]=c[h+64>>2];c[n+48>>2]=c[h+68>>2];c[n+52>>2]=d[h+152>>0];h=n+56|0;c[n>>2]=0;m=n+4|0;c[m>>2]=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;c[h+24>>2]=0;c[h+28>>2]=0;g=c[g>>2]|0;h=c[g+4>>2]|0;if(h){c[n+88>>2]=1;c[n>>2]=sb[c[(c[y>>2]|0)+28>>2]&31](f,h)|0;g=c[(c[b+860>>2]|0)+(k<<2)>>2]|0}if(c[g+12>>2]|0){c[n+88>>2]=3;c[n>>2]=sb[c[(c[y>>2]|0)+28>>2]&31](f,c[(c[(c[b+860>>2]|0)+(k<<2)>>2]|0)+12>>2]|0)|0}g=c[(c[b+860>>2]|0)+(k<<2)>>2]|0;h=c[g+8>>2]|0;if(h){c[n+88>>2]=2;c[n>>2]=sb[c[(c[y>>2]|0)+28>>2]&31](f,h)|0;g=c[(c[b+860>>2]|0)+(k<<2)>>2]|0}h=c[g+16>>2]|0;if(h){c[n+92>>2]=1;c[m>>2]=sb[c[(c[y>>2]|0)+28>>2]&31](f,h)|0;g=c[(c[b+860>>2]|0)+(k<<2)>>2]|0}h=c[g+24>>2]|0;if(h){c[n+92>>2]=3;c[m>>2]=sb[c[(c[y>>2]|0)+28>>2]&31](f,h)|0;g=c[(c[b+860>>2]|0)+(k<<2)>>2]|0}g=c[g+20>>2]|0;if(g|0){c[n+92>>2]=2;c[m>>2]=sb[c[(c[y>>2]|0)+28>>2]&31](f,g)|0}k=k+1|0;if((k|0)>=(i|0))break;else n=n+104|0}}Rb[c[(c[x>>2]|0)+20>>2]&31](f,j,11019,1497453121,c[b+860>>2]|0);Zi(A);l=A;return 11039}function cc(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,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,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;K=l;l=l+144|0;a:do switch(d-b|0){case 0:{c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;l=K;return}case 2:{f=c[(c[a+92>>2]|0)+(b<<2)>>2]|0;i=c[f+88>>2]|0;j=c[f+200>>2]|0;h=c[f+92>>2]|0;g=c[f+204>>2]|0;if((i|0)==(j|0)&(h|0)==(g|0))if((c[f+96>>2]|0)==(c[f+208>>2]|0))break a;else g=h;g=h-g|0;do if(g|i-j){c[f>>2]=f+112;c[f+4>>2]=f+112;c[f+112>>2]=f;c[f+116>>2]=f;J=(i-j|0)<0|(i-j|0)==0&(g|0)<0;c[e>>2]=J?f:f+112|0;c[e+4>>2]=J?f+112|0:f;if((g|0)<0|(i-j|0)<0&(g|0)==0){c[e+8>>2]=f;g=f+112|0;h=f;f=f+112|0;break}else{c[e+8>>2]=f+112;g=f;h=f;f=f+112|0;break}}else{J=(c[f+96>>2]|0)>(c[f+208>>2]|0);h=J?f+112|0:f;c[h>>2]=h;c[h+4>>2]=h;c[e>>2]=h;c[e+4>>2]=h;c[e+8>>2]=h;g=h;f=J?f:f+112|0}while(0);c[e+12>>2]=g;a=Vf(a,h,f)|0;c[a>>2]=a;c[a+4>>2]=a;c[h+8>>2]=a;a=c[a+8>>2]|0;c[a>>2]=a;c[a+4>>2]=a;c[f+8>>2]=a;l=K;return}case 1:{f=c[(c[a+92>>2]|0)+(b<<2)>>2]|0;break}default:{n=((d-b|0)/2|0)+b|0;h=c[a+92>>2]|0;m=c[h+(n+-1<<2)>>2]|0;i=c[m+88>>2]|0;j=c[m+92>>2]|0;m=c[m+96>>2]|0;b:do if((n|0)<(d|0)){f=n;do{g=c[h+(f<<2)>>2]|0;if((c[g+88>>2]|0)!=(i|0))break b;if((c[g+92>>2]|0)!=(j|0))break b;if((c[g+96>>2]|0)!=(m|0))break b;f=f+1|0}while((f|0)<(d|0))}else f=n;while(0);cc(a,b,n,e);c[K+96>>2]=0;c[K+96+4>>2]=0;c[K+96+8>>2]=0;c[K+96+12>>2]=0;cc(a,f,d,K+96|0);m=c[K+96+4>>2]|0;c:do if(m|0){B=c[e+4>>2]|0;if(!B){c[e>>2]=c[K+96>>2];c[e+4>>2]=c[K+96+4>>2];c[e+8>>2]=c[K+96+8>>2];c[e+12>>2]=c[K+96+12>>2];break}c[a+100>>2]=(c[a+100>>2]|0)+-1;g=c[e+12>>2]|0;i=c[K+96+8>>2]|0;j=c[g+88>>2]|0;d:do if((j|0)==(c[i+88>>2]|0)?(k=c[g+92>>2]|0,(k|0)==(c[i+92>>2]|0)):0){n=c[i+4>>2]|0;if((n|0)==(i|0)){f=c[i+8>>2]|0;if(f){i=c[f+12>>2]|0;j=c[i+88>>2]|0;k=c[i+92>>2]|0}f=g;G=i;h=g;g=i;n=j+1|0;d=c[i+96>>2]|0;break}h=c[i>>2]|0;c[n>>2]=h;c[h+4>>2]=n;if((i|0)==(c[K+96>>2]|0)){f=c[h+88>>2]|0;g=c[n+88>>2]|0;if((f|0)>=(g|0))if((f|0)==(g|0)?(c[h+92>>2]|0)<(c[n+92>>2]|0):0)H=30;else f=n;else H=30;if((H|0)==30)f=h;c[K+96>>2]=f}if((i|0)==(m|0)){f=c[h+88>>2]|0;g=c[n+88>>2]|0;do if((f|0)<=(g|0)){if((f|0)==(g|0)?(c[h+92>>2]|0)>(c[n+92>>2]|0):0)break;c[K+96+4>>2]=n;h=n;H=38;break d}while(0);c[K+96+4>>2]=h;H=38}else{h=m;H=38}}else{h=m;H=38}while(0);if((H|0)==38){w=c[e>>2]|0;x=c[K+96>>2]|0;y=0;A=1;o=B;g=0;f=h;i=0;while(1){j=c[f+88>>2]|0;d=c[o+88>>2]|0;k=O(j-d|0,A)|0;e:do if((k|0)<=0){if((k|0)<0){v=(y|0)!=0;n=c[o+92>>2]|0;u=c[f+92>>2]|0;m=k;k=o;while(1){s=c[(v?f+4|0:f)>>2]|0;r=(s|0)==(f|0);t=f+88|0;q=m;while(1){m=k+88|0;p=u-n|0;if(!r?(C=c[s+88>>2]|0,E=O(C-j|0,A)|0,D=c[s+92>>2]|0,F=D-u|0,(F|0)>-1):0){if(!E)break;if((E|0)<0?(O(F,q)|0)<=(O(E,p)|0):0)break}o=c[(v?k+4|0:k)>>2]|0;if((o|0)==(k|0))break e;G=c[o+88>>2]|0;b=O(G-(c[m>>2]|0)|0,A)|0;d=c[o+92>>2]|0;n=d-n|0;j=c[t>>2]|0;m=q;q=O(j-G|0,A)|0;if(!((n|0)>0&(q|0)<0))break e;if(!b){n=d;k=o;continue}if((b|0)>=0)break e;if((O(n,m)|0)>=(O(b,p)|0))break e;else{n=d;k=o}}j=C;u=D;m=O(C-(c[m>>2]|0)|0,A)|0;f=s}}j=c[o+92>>2]|0;n=(y|0)!=0;f:do if(n){m=o;while(1){k=c[m>>2]|0;if((k|0)==(o|0))break f;if((c[k+88>>2]|0)!=(d|0))break f;G=j;j=c[k+92>>2]|0;if((j|0)>(G|0))break;else m=k}}else{m=o;while(1){k=c[m+4>>2]|0;if((k|0)==(o|0))break f;if((c[k+88>>2]|0)!=(d|0))break f;G=j;j=c[k+92>>2]|0;if((j|0)>(G|0))break;else m=k}}while(0);k=c[f+92>>2]|0;if(n){n=f;while(1){j=c[n+4>>2]|0;if((j|0)==(f|0)){k=m;f=n;break e}if((c[j+88>>2]|0)!=(d|0)){k=m;f=n;break e}G=k;k=c[j+92>>2]|0;if((k|0)<(G|0)){k=m;f=n;break}else n=j}}else{n=f;while(1){j=c[n>>2]|0;if((j|0)==(f|0)){k=m;f=n;break e}if((c[j+88>>2]|0)!=(d|0)){k=m;f=n;break e}G=k;k=c[j+92>>2]|0;if((k|0)<(G|0)){k=m;f=n;break}else n=j}}}else{u=(y|0)!=0;s=d;t=c[f+92>>2]|0;r=k;while(1){q=f+88|0;j=c[o+92>>2]|0;d=t-j|0;k=c[(u?o:o+4|0)>>2]|0;g:do if((k|0)!=(o|0))if(u){p=s;n=r;while(1){m=p;p=c[k+88>>2]|0;m=O(p-m|0,A)|0;b=j;j=c[k+92>>2]|0;b=j-b|0;if((b|0)>=1){b=d;k=o;break g}if(m|0){if((m|0)>=0){b=d;k=o;break g}if((O(b,n)|0)>(O(m,d)|0)){b=d;k=o;break g}}n=O((c[q>>2]|0)-p|0,A)|0;d=t-j|0;m=c[k>>2]|0;if((m|0)==(k|0)){b=d;break}else{o=k;k=m}}}else{p=s;n=r;while(1){m=p;p=c[k+88>>2]|0;m=O(p-m|0,A)|0;b=j;j=c[k+92>>2]|0;b=j-b|0;if((b|0)>=1){b=d;k=o;break g}if(m|0){if((m|0)>=0){b=d;k=o;break g}if((O(b,n)|0)>(O(m,d)|0)){b=d;k=o;break g}}n=O((c[q>>2]|0)-p|0,A)|0;d=t-j|0;m=c[k+4>>2]|0;if((m|0)==(k|0)){b=d;break}else{o=k;k=m}}}else{n=r;b=d;k=o}while(0);d=c[(u?f:f+4|0)>>2]|0;if((d|0)==(f|0))break e;r=c[d+88>>2]|0;j=O(r-(c[q>>2]|0)|0,A)|0;m=t;t=c[d+92>>2]|0;m=t-m|0;s=c[k+88>>2]|0;r=O(r-s|0,A)|0;if(!((m|0)<0&(r|0)>0))break e;if(!j){o=k;f=d;continue}if((j|0)>=0)break e;if((O(m,n)|0)>=(O(j,b)|0))break;else{o=k;f=d}}}while(0);j=(y|0)==0;i=j?f:i;g=j?k:g;f=j?x:f;o=j?w:k;y=y+1|0;if((y|0)==2)break;else A=j?-1:A}c[o+4>>2]=f;c[f>>2]=o;c[g>>2]=i;c[i+4>>2]=g;if((c[x+88>>2]|0)<(c[w+88>>2]|0))c[e>>2]=x;if((c[h+88>>2]|0)>=(c[B+88>>2]|0))c[e+4>>2]=h;c[e+12>>2]=c[K+96+12>>2];h=g;F=i;A=c[i+88>>2]|0;p=c[g+88>>2]|0;B=c[i+92>>2]|0;C=c[g+92>>2]|0;D=c[i+96>>2]|0;q=c[g+96>>2]|0;s=((B-C|0)<0)<<31>>31;E=0-(A-p)|0;t=Nv(0,0,E|0,((E|0)<0)<<31>>31|0)|0;t=rs(D-q|0,((D-q|0)<0)<<31>>31|0,t|0,z|0)|0;u=z;v=rs(D-q|0,((D-q|0)<0)<<31>>31|0,B-C|0,s|0)|0;w=z;d=rs(A-p|0,((A-p|0)<0)<<31>>31|0,E|0,((E|0)<0)<<31>>31|0)|0;y=z;x=rs(B-C|0,s|0,B-C|0,s|0)|0;x=Nv(d|0,y|0,x|0,z|0)|0;y=z;d=c[g+8>>2]|0;c[K+120>>2]=0;if(!d)p=0;else{b=Nv(0,0,B-C|0,s|0)|0;o=z;f=0;r=d;while(1){m=c[r+12>>2]|0;j=c[m+88>>2]|0;k=c[m+92>>2]|0;m=c[m+96>>2]|0;n=rs(k-C|0,((k-C|0)<0)<<31>>31|0,E|0,((E|0)<0)<<31>>31|0)|0;G=z;e=rs(j-p|0,((j-p|0)<0)<<31>>31|0,b|0,o|0)|0;h:do if((n|0)==(e|0)&(G|0)==(z|0)?(e=rs(j-p|0,((j-p|0)<0)<<31>>31|0,t|0,u|0)|0,n=z,G=rs(k-C|0,((k-C|0)<0)<<31>>31|0,v|0,w|0)|0,n=cw(G|0,z|0,e|0,n|0)|0,e=z,G=rs(m-q|0,((m-q|0)<0)<<31>>31|0,x|0,y|0)|0,G=cw(n|0,e|0,G|0,z|0)|0,e=z,(e|0)>0|(e|0)==0&G>>>0>0):0){do if(f|0){n=(c[f+4>>2]|0)==(r|0);if((c[f>>2]|0)!=(r|0))if(n)break;else break h;if(!n)break h;e=c[f+12>>2]|0;L=c[(c[r+8>>2]|0)+12>>2]|0;G=c[L+88>>2]|0;n=c[L+92>>2]|0;L=c[L+96>>2]|0;M=(c[e+96>>2]|0)-L|0;n=(O(m-L|0,(c[e+92>>2]|0)-n|0)|0)-(O(M,k-n|0)|0)|0;G=(O(M,j-G|0)|0)-(O(m-L|0,(c[e+88>>2]|0)-G|0)|0)|0;n=rs(n|0,((n|0)<0)<<31>>31|0,B-C|0,s|0)|0;e=z;G=rs(G|0,((G|0)<0)<<31>>31|0,E|0,((E|0)<0)<<31>>31|0)|0;G=cw(n|0,e|0,G|0,z|0)|0;e=z;if((e|0)>0|(e|0)==0&G>>>0>0)break h}while(0);c[K+120>>2]=r;f=r}while(0);r=c[r>>2]|0;if((r|0)==(d|0)){p=f;break}}}n=c[i+8>>2]|0;c[K+72>>2]=0;if(!n)f=0;else{d=Nv(0,0,B-C|0,s|0)|0;b=z;f=0;o=n;do{m=c[o+12>>2]|0;j=c[m+88>>2]|0;k=c[m+92>>2]|0;m=c[m+96>>2]|0;G=rs(k-B|0,((k-B|0)<0)<<31>>31|0,E|0,((E|0)<0)<<31>>31|0)|0;M=z;L=rs(j-A|0,((j-A|0)<0)<<31>>31|0,d|0,b|0)|0;do if((G|0)==(L|0)&(M|0)==(z|0)?(L=rs(j-A|0,((j-A|0)<0)<<31>>31|0,t|0,u|0)|0,G=z,M=rs(k-B|0,((k-B|0)<0)<<31>>31|0,v|0,w|0)|0,G=cw(M|0,z|0,L|0,G|0)|0,L=z,M=rs(m-D|0,((m-D|0)<0)<<31>>31|0,x|0,y|0)|0,M=cw(G|0,L|0,M|0,z|0)|0,L=z,(L|0)>0|(L|0)==0&M>>>0>0):0){if(f|0){if((c[f>>2]|0)!=(o|0))break;if((c[f+4>>2]|0)==(o|0)?(L=c[f+12>>2]|0,e=c[(c[o+8>>2]|0)+12>>2]|0,M=c[e+88>>2]|0,G=c[e+92>>2]|0,e=c[e+96>>2]|0,r=(c[L+96>>2]|0)-e|0,G=(O(m-e|0,(c[L+92>>2]|0)-G|0)|0)-(O(r,k-G|0)|0)|0,M=(O(r,j-M|0)|0)-(O(m-e|0,(c[L+88>>2]|0)-M|0)|0)|0,G=rs(G|0,((G|0)<0)<<31>>31|0,B-C|0,s|0)|0,L=z,M=rs(M|0,((M|0)<0)<<31>>31|0,E|0,((E|0)<0)<<31>>31|0)|0,M=cw(G|0,L|0,M|0,z|0)|0,L=z,!((L|0)>0|(L|0)==0&M>>>0>0)):0)break}c[K+72>>2]=o;f=o}while(0);o=c[o>>2]|0}while((o|0)!=(n|0))}if((p|0)!=0|(f|0)!=0){hc(a,g,i,K+120|0,K+72|0);f=c[K+120>>2]|0;if(f){h=c[f+12>>2]|0;g=h}f=c[K+72>>2]|0;if(!f){f=g;g=F}else{M=c[f+12>>2]|0;i=M;f=g;g=M}}else{f=g;g=F}G=i;n=c[i+88>>2]|0;d=(c[i+96>>2]|0)+1|0;k=c[i+92>>2]|0}w=G;x=f;i=0;E=0;e=1;j=0;m=0;y=0;B=0;C=n;D=d;v=0;n=0;while(1){A=c[x+88>>2]|0;t=(c[w+88>>2]|0)-A|0;M=c[x+92>>2]|0;F=(c[w+92>>2]|0)-M|0;s=c[x+96>>2]|0;q=(c[w+96>>2]|0)-s|0;c[K+120>>2]=t;c[K+120+4>>2]=F;c[K+120+8>>2]=q;c[K+120+12>>2]=-1;A=C-A|0;M=k-M|0;s=D-s|0;r=(O(q,M)|0)-(O(F,s)|0)|0;s=(O(t,s)|0)-(O(q,A)|0)|0;M=(O(F,A)|0)-(O(t,M)|0)|0;c[K+72>>2]=r;c[K+72+4>>2]=((r|0)<0)<<31>>31;c[K+72+8>>2]=s;c[K+72+8+4>>2]=((s|0)<0)<<31>>31;c[K+72+16>>2]=M;c[K+72+16+4>>2]=((M|0)<0)<<31>>31;A=rs(F|0,((F|0)<0)<<31>>31|0,M|0,((M|0)<0)<<31>>31|0)|0;L=z;u=rs(q|0,((q|0)<0)<<31>>31|0,s|0,((s|0)<0)<<31>>31|0)|0;u=Nv(A|0,L|0,u|0,z|0)|0;L=z;q=rs(r|0,((r|0)<0)<<31>>31|0,q|0,((q|0)<0)<<31>>31|0)|0;A=z;M=rs(t|0,((t|0)<0)<<31>>31|0,M|0,((M|0)<0)<<31>>31|0)|0;M=Nv(q|0,A|0,M|0,z|0)|0;A=z;s=rs(t|0,((t|0)<0)<<31>>31|0,s|0,((s|0)<0)<<31>>31|0)|0;t=z;F=rs(r|0,((r|0)<0)<<31>>31|0,F|0,((F|0)<0)<<31>>31|0)|0;F=Nv(s|0,t|0,F|0,z|0)|0;c[K+48>>2]=u;c[K+48+4>>2]=L;c[K+48+8>>2]=M;c[K+48+8+4>>2]=A;c[K+48+16>>2]=F;c[K+48+16+4>>2]=z;c[K+24>>2]=0;c[K+24+4>>2]=0;c[K+24+8>>2]=0;c[K+24+12>>2]=0;c[K+24+16>>2]=0;F=rd(a,0,x,K+120|0,K+72|0,K+48|0,K+24|0)|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;A=rd(a,1,w,K+120|0,K+72|0,K+48|0,K)|0;do if((F|0)!=0|(A|0)!=0){d=F|0?-1:1;do if((F|0)!=0&(A|0)!=0){u=c[K+24+16>>2]|0;d=c[K+16>>2]|0;if((u|0)!=(d|0)){u=u-d|0;break}if(!u)u=0;else{M=c[K+24>>2]|0;s=c[K+24+4>>2]|0;o=c[K+8>>2]|0;N=c[K+8+4>>2]|0;b=rs(o|0,0,M|0,0)|0;d=z;M=rs(N|0,0,M|0,0)|0;L=z;o=rs(o|0,0,s|0,0)|0;p=z;s=rs(N|0,0,s|0,0)|0;N=z;o=cw(M|0,0,o|0,0)|0;M=z;N=cw(L|0,0,s|0,N|0)|0;p=cw(N|0,z|0,p|0,0)|0;M=cw(p|0,z|0,M|0,0)|0;p=z;d=cw(0,o|0,b|0,d|0)|0;b=z;o=cw(M|0,p|0,(b>>>0>>0|(b|0)==(o|0)&d>>>0<0)&1|0,0)|0;p=z;M=c[K+24+8>>2]|0;N=c[K+24+8+4>>2]|0;s=c[K>>2]|0;L=c[K+4>>2]|0;r=rs(s|0,0,M|0,0)|0;q=z;M=rs(L|0,0,M|0,0)|0;P=z;s=rs(s|0,0,N|0,0)|0;t=z;N=rs(L|0,0,N|0,0)|0;L=z;s=cw(M|0,0,s|0,0)|0;M=z;L=cw(P|0,0,N|0,L|0)|0;t=cw(L|0,z|0,t|0,0)|0;M=cw(t|0,z|0,M|0,0)|0;t=z;q=cw(0,s|0,r|0,q|0)|0;r=z;s=cw(M|0,t|0,(r>>>0>>0|(r|0)==(s|0)&q>>>0<0)&1|0,0)|0;t=z;if(!(p>>>0>>0|(p|0)==(t|0)&o>>>0>>0))if(!(p>>>0>t>>>0|(p|0)==(t|0)&o>>>0>s>>>0))if(b>>>0>>0|(b|0)==(r|0)&d>>>0>>0)d=-1;else d=(b>>>0>r>>>0|(b|0)==(r|0)&d>>>0>q>>>0)&1;else d=1;else d=-1;u=O(d,u)|0}}else u=d;while(0);do if(!e)if((u|0)>-1)if((c[K+16>>2]|0)<0&((c[K+8>>2]|0)==0?(c[K+8+4>>2]|0)==0:0)){b=y;t=B;break}else{H=135;break}else if((c[K+24+16>>2]|0)<0&((c[K+24+8>>2]|0)==0?(c[K+24+8+4>>2]|0)==0:0)){b=y;t=B;break}else{H=135;break}else H=135;while(0);if((H|0)==135){H=0;b=Vf(a,x,w)|0;if(!y)j=b;else c[y+4>>2]=b;c[b>>2]=y;d=c[b+8>>2]|0;if(!B)m=d;else c[B>>2]=d;c[d+4>>2]=B;t=d}c[K+116>>2]=F;c[K+112>>2]=A;if(!u){hc(a,h,g,K+116|0,K+112|0);s=c[K+112>>2]|0}else s=A;if((u|0)>-1&(s|0)!=0){r=(n|0)!=0;if(r?(I=c[n>>2]|0,(I|0)!=(A|0)):0){p=I;do{q=p;p=c[p>>2]|0;o=c[q+8>>2]|0;d=c[o+12>>2]|0;if((p|0)==(q|0))k=0;else{c[p+4>>2]=c[q+4>>2];c[c[q+4>>2]>>2]=p;k=p}c[d+8>>2]=k;k=c[o>>2]|0;d=c[q+12>>2]|0;if((k|0)==(o|0))k=0;else{c[k+4>>2]=c[o+4>>2];c[c[o+4>>2]>>2]=k}c[d+8>>2]=k;c[q+4>>2]=0;c[q+4+4>>2]=0;c[q+4+8>>2]=0;c[q+4+12>>2]=0;c[q>>2]=c[a+56>>2];c[a+56>>2]=q;c[o+4>>2]=0;c[o+4+4>>2]=0;c[o+4+8>>2]=0;c[o+4+12>>2]=0;c[o>>2]=c[a+56>>2];c[a+56>>2]=o;c[a+116>>2]=(c[a+116>>2]|0)+-1}while((p|0)!=(A|0))}if(!t){n=s;k=r?E:A}else{if(r){c[n>>2]=m;k=E;d=A+4|0}else{n=c[A+4>>2]|0;c[n>>2]=m;k=m;d=A+4|0}c[m+4>>2]=n;c[t>>2]=A;c[d>>2]=t;n=c[K+112>>2]|0;m=0}P=g;g=c[n+12>>2]|0;E=k;y=m;t=0;m=c[P+88>>2]|0;d=c[P+96>>2]|0;k=c[P+92>>2]|0;n=c[n+8>>2]|0}else{y=m;m=C;d=D}s=c[K+116>>2]|0;if((u|0)<1&(s|0)!=0){r=(v|0)!=0;if(r?(J=c[v+4>>2]|0,(J|0)!=(F|0)):0){o=J;do{q=o+4|0;p=o;o=c[q>>2]|0;k=c[p>>2]|0;d=c[p+8>>2]|0;m=c[d+12>>2]|0;if((k|0)==(p|0))k=0;else{c[k+4>>2]=o;c[c[q>>2]>>2]=k}c[m+8>>2]=k;k=c[d>>2]|0;m=c[p+12>>2]|0;if((k|0)==(d|0))k=0;else{c[k+4>>2]=c[d+4>>2];c[c[d+4>>2]>>2]=k}c[m+8>>2]=k;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[p>>2]=c[a+56>>2];c[a+56>>2]=p;c[d+4>>2]=0;c[d+4+4>>2]=0;c[d+4+8>>2]=0;c[d+4+12>>2]=0;c[d>>2]=c[a+56>>2];c[a+56>>2]=d;c[a+116>>2]=(c[a+116>>2]|0)+-1}while((o|0)!=(F|0))}if(!b){m=s;i=r?i:F}else{if(r){c[v+4>>2]=j;m=F;k=v}else{k=c[F>>2]|0;c[k+4>>2]=j;i=j;m=F}c[j>>2]=k;c[m>>2]=b;c[b+4>>2]=F;m=c[K+116>>2]|0;j=0}k=h;h=c[m+12>>2]|0;u=0;w=c[k+88>>2]|0;x=c[k+96>>2]|0;k=c[k+92>>2]|0;v=c[m+8>>2]|0}else{u=b;w=m;x=d}if((h|0)==(f|0)&(g|0)==(G|0)){if(v){r=v+4|0;m=c[r>>2]|0;if((m|0)!=(i|0))do{q=m+4|0;p=m;m=c[q>>2]|0;d=c[p>>2]|0;o=c[p+8>>2]|0;b=c[o+12>>2]|0;if((d|0)==(p|0))d=0;else{c[d+4>>2]=m;c[c[q>>2]>>2]=d}c[b+8>>2]=d;d=c[o>>2]|0;b=c[p+12>>2]|0;if((d|0)==(o|0))d=0;else{c[d+4>>2]=c[o+4>>2];c[c[o+4>>2]>>2]=d}c[b+8>>2]=d;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[p>>2]=c[a+56>>2];c[a+56>>2]=p;c[o+4>>2]=0;c[o+4+4>>2]=0;c[o+4+8>>2]=0;c[o+4+12>>2]=0;c[o>>2]=c[a+56>>2];c[a+56>>2]=o;c[a+116>>2]=(c[a+116>>2]|0)+-1}while((m|0)!=(i|0));if(u|0){c[j>>2]=v;c[r>>2]=j;c[i>>2]=u;c[u+4>>2]=i}}else{c[j>>2]=u;c[u+4>>2]=j;c[h+8>>2]=u}if(!n){c[t>>2]=y;c[y+4>>2]=t;c[G+8>>2]=t;q=0;r=E;s=e;m=y;p=u;o=w;b=x;d=v;n=0;break}m=c[n>>2]|0;if((m|0)!=(E|0))do{p=m;m=c[m>>2]|0;o=c[p+8>>2]|0;b=c[o+12>>2]|0;if((m|0)==(p|0))d=0;else{c[m+4>>2]=c[p+4>>2];c[c[p+4>>2]>>2]=m;d=m}c[b+8>>2]=d;d=c[o>>2]|0;b=c[p+12>>2]|0;if((d|0)==(o|0))d=0;else{c[d+4>>2]=c[o+4>>2];c[c[o+4>>2]>>2]=d}c[b+8>>2]=d;c[p+4>>2]=0;c[p+4+4>>2]=0;c[p+4+8>>2]=0;c[p+4+12>>2]=0;c[p>>2]=c[a+56>>2];c[a+56>>2]=p;c[o+4>>2]=0;c[o+4+4>>2]=0;c[o+4+8>>2]=0;c[o+4+12>>2]=0;c[o>>2]=c[a+56>>2];c[a+56>>2]=o;c[a+116>>2]=(c[a+116>>2]|0)+-1}while((m|0)!=(E|0));if(!t){q=0;r=E;s=e;m=y;p=u;t=0;o=w;b=x;d=v}else{c[n>>2]=y;c[y+4>>2]=n;c[t>>2]=E;c[E+4>>2]=t;q=0;r=E;s=e;m=y;p=u;o=w;b=x;d=v}}else{q=1;r=E;s=0;m=y;p=u;o=w;b=x;d=v}}else{q=Vf(a,x,w)|0;c[q>>2]=q;c[q+4>>2]=q;c[x+8>>2]=q;q=c[q+8>>2]|0;c[q>>2]=q;c[q+4>>2]=q;c[w+8>>2]=q;q=0;r=E;s=e;p=y;t=B;o=C;b=D;d=v}while(0);if(!q)break c;w=g;x=h;E=r;e=s;y=p;B=t;C=o;D=b;v=d}}while(0);l=K;return}}while(0);c[f+8>>2]=0;c[f>>2]=f;c[f+4>>2]=f;c[e>>2]=f;c[e+4>>2]=f;c[e+8>>2]=f;c[e+12>>2]=f;l=K;return}function dc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0.0,k=0.0,m=0,n=0,o=0.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,A=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,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,_=0,$=0,aa=0,ba=0,ca=0,da=0.0,ea=0.0;ca=l;l=l+80|0;if((e|0)<=0){l=ca;return}$=0;do{T=c[d+($<<2)>>2]|0;V=c[T+740>>2]|0;W=c[T+744>>2]|0;Y=Gj(b,V,+g[f+12>>2])|0;Z=Gj(b,W,+g[f+12>>2])|0;X=c[b+16>>2]|0;if(!(((((+g[X+(Y*244|0)+128>>2]==0.0?+g[X+(Y*244|0)+132>>2]==0.0:0)?+g[X+(Y*244|0)+136>>2]==0.0:0)?+g[X+(Z*244|0)+128>>2]==0.0:0)?+g[X+(Z*244|0)+132>>2]==0.0:0)?+g[X+(Z*244|0)+136>>2]==0.0:0))ba=9;if((ba|0)==9?(ba=0,U=c[T+748>>2]|0,(U|0)>0):0){i=U;aa=0;h=1;do{R=T+4+(aa*184|0)|0;p=T+4+(aa*184|0)+80|0;if(+g[p>>2]<=+g[T+756>>2]){S=c[b+28>>2]|0;if((S|0)==(c[b+32>>2]|0)?(_=S|0?S<<1:1,(S|0)<(_|0)):0){if(!_){m=S;n=0}else{c[6472]=(c[6472]|0)+1;i=ic((_*152|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}m=c[b+28>>2]|0;n=i}if((m|0)>0){i=0;do{_h(n+(i*152|0)|0,(c[b+36>>2]|0)+(i*152|0)|0,152)|0;i=i+1|0}while((i|0)!=(m|0))}i=c[b+36>>2]|0;if(i|0){if(a[b+40>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[i+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=n;c[b+32>>2]=_;i=c[b+28>>2]|0}else i=S;c[b+28>>2]=i+1;Q=c[b+36>>2]|0;q=(c[V+236>>2]&2|0)==0?0:V;r=(c[W+236>>2]&2|0)==0?0:W;c[Q+(S*152|0)+144>>2]=Y;c[Q+(S*152|0)+148>>2]=Z;c[Q+(S*152|0)+132>>2]=R;z=+g[T+4+(aa*184|0)+48>>2]-+g[V+52>>2];A=+g[T+4+(aa*184|0)+52>>2]-+g[V+56>>2];y=+g[T+4+(aa*184|0)+56>>2]-+g[V+60>>2];g[ca+64>>2]=z;g[ca+64+4>>2]=A;g[ca+64+8>>2]=y;g[ca+64+12>>2]=0.0;E=+g[T+4+(aa*184|0)+32>>2]-+g[W+52>>2];F=+g[T+4+(aa*184|0)+36>>2]-+g[W+56>>2];D=+g[T+4+(aa*184|0)+40>>2]-+g[W+60>>2];g[ca+48>>2]=E;g[ca+48+4>>2]=F;g[ca+48+8>>2]=D;g[ca+48+12>>2]=0.0;if(!(c[X+(Y*244|0)+240>>2]|0)){k=0.0;s=0.0;u=0.0}else{P=+g[X+(Y*244|0)+192>>2]+ +g[X+(Y*244|0)+224>>2];u=+g[X+(Y*244|0)+196>>2]+ +g[X+(Y*244|0)+228>>2];s=+g[X+(Y*244|0)+200>>2]+ +g[X+(Y*244|0)+232>>2];k=+g[X+(Y*244|0)+176>>2]+ +g[X+(Y*244|0)+208>>2]+(u*y-s*A);s=+g[X+(Y*244|0)+180>>2]+ +g[X+(Y*244|0)+212>>2]+(s*z-P*y);u=+g[X+(Y*244|0)+184>>2]+ +g[X+(Y*244|0)+216>>2]+(P*A-u*z)}if(!(c[X+(Z*244|0)+240>>2]|0)){j=0.0;o=0.0;t=0.0}else{P=+g[X+(Z*244|0)+192>>2]+ +g[X+(Z*244|0)+224>>2];t=+g[X+(Z*244|0)+196>>2]+ +g[X+(Z*244|0)+228>>2];o=+g[X+(Z*244|0)+200>>2]+ +g[X+(Z*244|0)+232>>2];j=+g[X+(Z*244|0)+176>>2]+ +g[X+(Z*244|0)+208>>2]+(t*D-o*F);o=+g[X+(Z*244|0)+180>>2]+ +g[X+(Z*244|0)+212>>2]+(o*E-P*D);t=+g[X+(Z*244|0)+184>>2]+ +g[X+(Z*244|0)+216>>2]+(P*F-t*E)}P=k-j;L=s-o;K=u-t;O=T+4+(aa*184|0)+64|0;H=+g[O>>2];N=T+4+(aa*184|0)+68|0;I=+g[N>>2];M=T+4+(aa*184|0)+72|0;J=+g[M>>2];n=c[b+16>>2]|0;i=c[n+(Y*244|0)+240>>2]|0;m=c[n+(Z*244|0)+240>>2]|0;if(i|0){j=((A*J-y*I)*+g[i+264>>2]+(y*H-J*z)*+g[i+268>>2]+(I*z-A*H)*+g[i+272>>2])*+g[i+544>>2];k=((A*J-y*I)*+g[i+280>>2]+(y*H-J*z)*+g[i+284>>2]+(I*z-A*H)*+g[i+288>>2])*+g[i+548>>2];o=((A*J-y*I)*+g[i+296>>2]+(y*H-J*z)*+g[i+300>>2]+(I*z-A*H)*+g[i+304>>2])*+g[i+552>>2]}else{j=0.0;k=0.0;o=0.0}g[Q+(S*152|0)+64>>2]=j;g[Q+(S*152|0)+68>>2]=k;g[Q+(S*152|0)+72>>2]=o;g[Q+(S*152|0)+76>>2]=0.0;v=+g[M>>2];w=+g[N>>2];x=+g[O>>2];if(m|0){s=(+g[m+264>>2]*-(F*v-D*w)+ +g[m+268>>2]*-(D*x-v*E)+ +g[m+272>>2]*-(w*E-F*x))*+g[m+544>>2];t=(+g[m+280>>2]*-(F*v-D*w)+ +g[m+284>>2]*-(D*x-v*E)+ +g[m+288>>2]*-(w*E-F*x))*+g[m+548>>2];u=(+g[m+296>>2]*-(F*v-D*w)+ +g[m+300>>2]*-(D*x-v*E)+ +g[m+304>>2]*-(w*E-F*x))*+g[m+552>>2]}else{s=0.0;t=0.0;u=0.0}g[Q+(S*152|0)+80>>2]=s;g[Q+(S*152|0)+84>>2]=t;g[Q+(S*152|0)+88>>2]=u;g[Q+(S*152|0)+92>>2]=0.0;if(i|0)k=+g[i+344>>2]+((k*y-o*A)*+g[O>>2]+(o*z-y*j)*+g[N>>2]+(A*j-k*z)*+g[M>>2]);else k=0.0;if(m|0){G=-s;j=-t;u=-u;j=+g[m+344>>2]+((D*j-F*u)*+g[O>>2]+(E*u-D*G)*+g[N>>2]+(F*G-E*j)*+g[M>>2])}else j=0.0;g[Q+(S*152|0)+108>>2]=1.0/(k+j);if(i|0){c[Q+(S*152|0)+16>>2]=c[O>>2];c[Q+(S*152|0)+16+4>>2]=c[O+4>>2];c[Q+(S*152|0)+16+8>>2]=c[O+8>>2];c[Q+(S*152|0)+16+12>>2]=c[O+12>>2];g[Q+(S*152|0)>>2]=A*J-y*I;g[Q+(S*152|0)+4>>2]=y*H-J*z;g[Q+(S*152|0)+8>>2]=I*z-A*H;g[Q+(S*152|0)+12>>2]=0.0}else{c[Q+(S*152|0)>>2]=0;c[Q+(S*152|0)+4>>2]=0;c[Q+(S*152|0)+8>>2]=0;c[Q+(S*152|0)+12>>2]=0;c[Q+(S*152|0)+16>>2]=0;c[Q+(S*152|0)+20>>2]=0;c[Q+(S*152|0)+24>>2]=0;c[Q+(S*152|0)+28>>2]=0}if(m|0){u=-+g[N>>2];G=-+g[M>>2];g[Q+(S*152|0)+48>>2]=-+g[O>>2];g[Q+(S*152|0)+52>>2]=u;g[Q+(S*152|0)+56>>2]=G;g[Q+(S*152|0)+60>>2]=0.0;g[Q+(S*152|0)+32>>2]=-(F*v-D*w);g[Q+(S*152|0)+36>>2]=-(D*x-v*E);g[Q+(S*152|0)+40>>2]=-(w*E-F*x);g[Q+(S*152|0)+44>>2]=0.0}else{c[Q+(S*152|0)+32>>2]=0;c[Q+(S*152|0)+32+4>>2]=0;c[Q+(S*152|0)+32+8>>2]=0;c[Q+(S*152|0)+32+12>>2]=0;c[Q+(S*152|0)+32+16>>2]=0;c[Q+(S*152|0)+32+20>>2]=0;c[Q+(S*152|0)+32+24>>2]=0;c[Q+(S*152|0)+32+28>>2]=0}G=+g[p>>2]+ +g[f+56>>2];if(i|0){o=+g[i+332>>2];t=+g[i+336>>2];x=+g[i+328>>2];u=o*y-t*A+ +g[i+312>>2];t=+g[i+316>>2]+(t*z-y*x);o=A*x-o*z+ +g[i+320>>2]}else{u=0.0;t=0.0;o=0.0}if(m|0){j=+g[m+332>>2];k=+g[m+336>>2];A=+g[m+328>>2];s=j*D-k*F+ +g[m+312>>2];k=+g[m+316>>2]+(k*E-D*A);j=F*A-j*E+ +g[m+320>>2]}else{s=0.0;k=0.0;j=0.0}D=(u-s)*+g[O>>2]+(t-k)*+g[N>>2]+(o-j)*+g[M>>2];c[Q+(S*152|0)+104>>2]=c[T+4+(aa*184|0)+84>>2];D=-(D*+g[T+4+(aa*184|0)+92>>2]);D=D<=0.0?0.0:D;do if(!(c[f+64>>2]&4))g[Q+(S*152|0)+100>>2]=0.0;else{j=+g[T+4+(aa*184|0)+120>>2]*+g[f+60>>2];g[Q+(S*152|0)+100>>2]=j;do if(i|0){if(!(c[n+(Y*244|0)+240>>2]|0))break;F=j*+g[Q+(S*152|0)+20>>2]*+g[n+(Y*244|0)+132>>2]*+g[i+352>>2]*+g[n+(Y*244|0)+116>>2];E=j*+g[Q+(S*152|0)+24>>2]*+g[n+(Y*244|0)+136>>2]*+g[i+356>>2]*+g[n+(Y*244|0)+120>>2];g[n+(Y*244|0)+64>>2]=+g[n+(Y*244|0)+112>>2]*j*+g[Q+(S*152|0)+16>>2]*+g[n+(Y*244|0)+128>>2]*+g[i+348>>2]+ +g[n+(Y*244|0)+64>>2];g[n+(Y*244|0)+68>>2]=F+ +g[n+(Y*244|0)+68>>2];g[n+(Y*244|0)+72>>2]=E+ +g[n+(Y*244|0)+72>>2];E=j*+g[n+(Y*244|0)+100>>2]*+g[Q+(S*152|0)+68>>2];F=j*+g[n+(Y*244|0)+104>>2]*+g[Q+(S*152|0)+72>>2];g[n+(Y*244|0)+80>>2]=j*+g[n+(Y*244|0)+96>>2]*+g[Q+(S*152|0)+64>>2]+ +g[n+(Y*244|0)+80>>2];g[n+(Y*244|0)+84>>2]=E+ +g[n+(Y*244|0)+84>>2];g[n+(Y*244|0)+88>>2]=F+ +g[n+(Y*244|0)+88>>2]}while(0);if(!m)break;j=+g[Q+(S*152|0)+100>>2];if(!(c[n+(Z*244|0)+240>>2]|0))break;F=+g[Q+(S*152|0)+88>>2];E=+g[Q+(S*152|0)+84>>2];A=+g[Q+(S*152|0)+80>>2];y=j*+g[Q+(S*152|0)+52>>2]*+g[n+(Z*244|0)+132>>2]*+g[m+352>>2]*+g[n+(Z*244|0)+116>>2];z=j*+g[Q+(S*152|0)+56>>2]*+g[n+(Z*244|0)+136>>2]*+g[m+356>>2]*+g[n+(Z*244|0)+120>>2];g[n+(Z*244|0)+64>>2]=+g[n+(Z*244|0)+112>>2]*j*+g[Q+(S*152|0)+48>>2]*+g[n+(Z*244|0)+128>>2]*+g[m+348>>2]+ +g[n+(Z*244|0)+64>>2];g[n+(Z*244|0)+68>>2]=y+ +g[n+(Z*244|0)+68>>2];g[n+(Z*244|0)+72>>2]=z+ +g[n+(Z*244|0)+72>>2];E=E*+g[n+(Z*244|0)+100>>2]*-j;F=F*+g[n+(Z*244|0)+104>>2]*-j;g[n+(Z*244|0)+80>>2]=+g[n+(Z*244|0)+80>>2]-A*+g[n+(Z*244|0)+96>>2]*-j;g[n+(Z*244|0)+84>>2]=+g[n+(Z*244|0)+84>>2]-E;g[n+(Z*244|0)+88>>2]=+g[n+(Z*244|0)+88>>2]-F}while(0);g[Q+(S*152|0)+96>>2]=0.0;if(!(c[n+(Y*244|0)+240>>2]|0)){j=0.0;k=0.0;o=0.0;v=0.0;w=0.0;x=0.0}else{j=+g[n+(Y*244|0)+208>>2];k=+g[n+(Y*244|0)+212>>2];o=+g[n+(Y*244|0)+216>>2];v=+g[n+(Y*244|0)+224>>2];w=+g[n+(Y*244|0)+228>>2];x=+g[n+(Y*244|0)+232>>2]}if(!(c[n+(Z*244|0)+240>>2]|0)){s=0.0;t=0.0;u=0.0;y=0.0;z=0.0;A=0.0}else{s=+g[n+(Z*244|0)+208>>2];t=+g[n+(Z*244|0)+212>>2];u=+g[n+(Z*244|0)+216>>2];y=+g[n+(Z*244|0)+224>>2];z=+g[n+(Z*244|0)+228>>2];A=+g[n+(Z*244|0)+232>>2]}j=D-((j+ +g[n+(Y*244|0)+176>>2])*+g[Q+(S*152|0)+16>>2]+(k+ +g[n+(Y*244|0)+180>>2])*+g[Q+(S*152|0)+20>>2]+(o+ +g[n+(Y*244|0)+184>>2])*+g[Q+(S*152|0)+24>>2]+((v+ +g[n+(Y*244|0)+192>>2])*+g[Q+(S*152|0)>>2]+(w+ +g[n+(Y*244|0)+196>>2])*+g[Q+(S*152|0)+4>>2]+(x+ +g[n+(Y*244|0)+200>>2])*+g[Q+(S*152|0)+8>>2])+((s+ +g[n+(Z*244|0)+176>>2])*+g[Q+(S*152|0)+48>>2]+(t+ +g[n+(Z*244|0)+180>>2])*+g[Q+(S*152|0)+52>>2]+(u+ +g[n+(Z*244|0)+184>>2])*+g[Q+(S*152|0)+56>>2]+((y+ +g[n+(Z*244|0)+192>>2])*+g[Q+(S*152|0)+32>>2]+(z+ +g[n+(Z*244|0)+196>>2])*+g[Q+(S*152|0)+36>>2]+(A+ +g[n+(Z*244|0)+200>>2])*+g[Q+(S*152|0)+40>>2])));i=(c[f+44>>2]|0)==0;k=+g[f+12>>2];if(G>0.0){o=0.0;j=j-G/k}else o=-(G*(i|G>+g[f+48>>2]?+g[f+32>>2]:+g[f+36>>2]))/k;E=+g[Q+(S*152|0)+108>>2];F=o*E;E=j*E;p=i|G>+g[f+48>>2];g[Q+(S*152|0)+112>>2]=p?F+E:E;g[Q+(S*152|0)+128>>2]=p?0.0:F;g[Q+(S*152|0)+116>>2]=0.0;g[Q+(S*152|0)+120>>2]=0.0;g[Q+(S*152|0)+124>>2]=1.0e10;c[Q+(S*152|0)+140>>2]=c[b+68>>2];if(!q){k=0.0;t=0.0;u=0.0}else{k=+g[q+328>>2];t=+g[q+332>>2];u=+g[q+336>>2]}if(!r){j=0.0;o=0.0;s=0.0}else{j=+g[r+328>>2];o=+g[r+332>>2];s=+g[r+336>>2]}v=j-k;k=o-t;s=s-u;g[ca+32>>2]=v;g[ca+32+4>>2]=k;g[ca+32+8>>2]=s;g[ca+32+12>>2]=0.0;do if((h|0)>0?+g[T+4+(aa*184|0)+88>>2]>0.0:0){h=h+-1|0;j=+C(+(v*v+k*k+s*s));if(j>+g[f+80>>2]){g[ca+32>>2]=v*(1.0/j);g[ca+32+4>>2]=k*(1.0/j);g[ca+32+8>>2]=s*(1.0/j);if(!(c[V+180>>2]&2)){o=v*(1.0/j);k=k*(1.0/j);j=s*(1.0/j)}else{u=+g[V+4>>2];x=+g[V+20>>2];A=+g[V+36>>2];w=+g[V+8>>2];y=+g[V+24>>2];E=+g[V+40>>2];o=+g[V+12>>2];z=+g[V+28>>2];G=+g[V+44>>2];D=(u*v*(1.0/j)+x*k*(1.0/j)+s*(1.0/j)*A)*+g[V+164>>2];F=(v*(1.0/j)*w+k*(1.0/j)*y+s*(1.0/j)*E)*+g[V+168>>2];j=(v*(1.0/j)*o+k*(1.0/j)*z+s*(1.0/j)*G)*+g[V+172>>2];g[ca+32>>2]=u*D+w*F+o*j;g[ca+32+4>>2]=x*D+y*F+z*j;g[ca+32+8>>2]=A*D+E*F+G*j;g[ca+32+12>>2]=0.0;o=u*D+w*F+o*j;k=x*D+y*F+z*j;j=A*D+E*F+G*j}if(c[W+180>>2]&2){u=+g[W+4>>2];x=+g[W+20>>2];A=+g[W+36>>2];v=+g[W+8>>2];y=+g[W+24>>2];E=+g[W+40>>2];w=+g[W+12>>2];z=+g[W+28>>2];G=+g[W+44>>2];D=(u*o+x*k+A*j)*+g[W+164>>2];F=(o*v+k*y+j*E)*+g[W+168>>2];j=(o*w+k*z+j*G)*+g[W+172>>2];g[ca+32>>2]=u*D+v*F+w*j;g[ca+32+4>>2]=x*D+y*F+z*j;g[ca+32+8>>2]=A*D+E*F+G*j;g[ca+32+12>>2]=0.0;o=u*D+v*F+w*j;k=x*D+y*F+z*j;j=A*D+E*F+G*j}if(!(+C(+(o*o+k*k+j*j))>.001))break;vd(b,ca+32|0,Y,Z,S,R);break}vd(b,O,Y,Z,S,R);j=+g[M>>2];if(+B(+j)>.7071067690849304){G=+g[N>>2];F=1.0/+C(+(j*j+G*G));g[ca+16>>2]=0.0;g[ca+16+4>>2]=-(F*j);g[ca+16+8>>2]=F*G;g[ca>>2]=(j*j+G*G)*F;o=+g[O>>2];g[ca+4>>2]=-(F*G*o);v=o*-(F*j);k=0.0;s=-(F*j);u=F*G;t=(j*j+G*G)*F;o=-(F*G*o)}else{t=+g[O>>2];G=+g[N>>2];o=1.0/+C(+(t*t+G*G));g[ca+16>>2]=-(G*o);g[ca+16+4>>2]=o*t;g[ca+16+8>>2]=0.0;g[ca>>2]=-(o*t*j);g[ca+4>>2]=j*-(G*o);v=(t*t+G*G)*o;k=-(G*o);s=o*t;u=0.0;t=-(o*t*j);o=j*-(G*o)}g[ca+8>>2]=v;if(!(c[V+180>>2]&2))j=u;else{ea=+g[V+4>>2];x=+g[V+20>>2];A=+g[V+36>>2];da=+g[V+8>>2];y=+g[V+24>>2];E=+g[V+40>>2];w=+g[V+12>>2];z=+g[V+28>>2];G=+g[V+44>>2];D=(ea*k+x*s+A*u)*+g[V+164>>2];F=(k*da+s*y+u*E)*+g[V+168>>2];j=(k*w+s*z+u*G)*+g[V+172>>2];g[ca+16>>2]=ea*D+da*F+w*j;g[ca+16+4>>2]=x*D+y*F+z*j;g[ca+16+8>>2]=A*D+E*F+G*j;g[ca+16+12>>2]=0.0;k=ea*D+da*F+w*j;s=x*D+y*F+z*j;j=A*D+E*F+G*j}if(!(c[W+180>>2]&2))u=j;else{w=+g[W+4>>2];z=+g[W+20>>2];E=+g[W+36>>2];x=+g[W+8>>2];A=+g[W+24>>2];G=+g[W+40>>2];y=+g[W+12>>2];D=+g[W+28>>2];ea=+g[W+44>>2];F=(w*k+z*s+E*j)*+g[W+164>>2];da=(k*x+s*A+j*G)*+g[W+168>>2];u=(k*y+s*D+j*ea)*+g[W+172>>2];g[ca+16>>2]=w*F+x*da+y*u;g[ca+16+4>>2]=z*F+A*da+D*u;g[ca+16+8>>2]=E*F+G*da+ea*u;g[ca+16+12>>2]=0.0;k=w*F+x*da+y*u;s=z*F+A*da+D*u;u=E*F+G*da+ea*u}do if(!V)j=v;else{if(!(c[V+180>>2]&2)){j=v;break}w=+g[V+4>>2];z=+g[V+20>>2];E=+g[V+36>>2];x=+g[V+8>>2];A=+g[V+24>>2];G=+g[V+40>>2];y=+g[V+12>>2];D=+g[V+28>>2];ea=+g[V+44>>2];F=(w*t+z*o+E*v)*+g[V+164>>2];da=(t*x+o*A+v*G)*+g[V+168>>2];j=(t*y+o*D+v*ea)*+g[V+172>>2];g[ca>>2]=w*F+x*da+y*j;g[ca+4>>2]=z*F+A*da+D*j;g[ca+8>>2]=E*F+G*da+ea*j;g[ca+12>>2]=0.0;t=w*F+x*da+y*j;o=z*F+A*da+D*j;j=E*F+G*da+ea*j}while(0);do if(W){if(!(c[W+180>>2]&2))break;w=+g[W+4>>2];z=+g[W+20>>2];E=+g[W+36>>2];x=+g[W+8>>2];A=+g[W+24>>2];G=+g[W+40>>2];y=+g[W+12>>2];D=+g[W+28>>2];ea=+g[W+44>>2];F=(w*t+z*o+E*j)*+g[W+164>>2];da=(t*x+o*A+j*G)*+g[W+168>>2];j=(t*y+o*D+j*ea)*+g[W+172>>2];g[ca>>2]=w*F+x*da+y*j;g[ca+4>>2]=z*F+A*da+D*j;g[ca+8>>2]=E*F+G*da+ea*j;g[ca+12>>2]=0.0;t=w*F+x*da+y*j;o=z*F+A*da+D*j;j=E*F+G*da+ea*j}while(0);if(+C(+(k*k+s*s+u*u))>.001)vd(b,ca+16|0,Y,Z,S,R);if(+C(+(t*t+o*o+j*j))>.001)vd(b,ca,Y,Z,S,R)}while(0);do if(!(c[f+64>>2]&32))ba=94;else{if(!(a[T+4+(aa*184|0)+116>>0]|0)){ba=94;break}$c(b,T+4+(aa*184|0)+152|0,Y,Z,S,R,ca+64|0,ca+48|0,1.0,+g[T+4+(aa*184|0)+132>>2],+g[T+4+(aa*184|0)+140>>2]);if(!(c[f+64>>2]&16))break;$c(b,T+4+(aa*184|0)+168|0,Y,Z,S,R,ca+64|0,ca+48|0,1.0,+g[T+4+(aa*184|0)+136>>2],+g[T+4+(aa*184|0)+144>>2])}while(0);do if((ba|0)==94){ba=0;p=T+4+(aa*184|0)+152|0;s=+g[O>>2];t=+g[N>>2];u=+g[M>>2];k=P-(P*H+L*I+K*J)*s;o=L-(P*H+L*I+K*J)*t;j=K-(P*H+L*I+K*J)*u;g[T+4+(aa*184|0)+152>>2]=k;i=T+4+(aa*184|0)+156|0;g[i>>2]=o;n=T+4+(aa*184|0)+160|0;g[n>>2]=j;g[T+4+(aa*184|0)+164>>2]=0.0;if((c[f+64>>2]&64|0)==0?k*k+o*o+j*j>1.1920928955078125e-07:0){ea=1.0/+C(+(k*k+o*o+j*j));g[p>>2]=k*ea;g[i>>2]=ea*o;g[n>>2]=ea*j;mk(V,p);mk(W,p);$c(b,p,Y,Z,S,R,ca+64|0,ca+48|0,1.0,0.0,0.0);if(!(c[f+64>>2]&16))break;r=T+4+(aa*184|0)+168|0;P=+g[i>>2];J=+g[M>>2];I=+g[n>>2];K=+g[N>>2];da=+g[O>>2];L=+g[p>>2];g[T+4+(aa*184|0)+168>>2]=P*J-I*K;g[T+4+(aa*184|0)+180>>2]=0.0;ea=1.0/+C(+((P*J-I*K)*(P*J-I*K)+(I*da-J*L)*(I*da-J*L)+(K*L-P*da)*(K*L-P*da)));g[r>>2]=(P*J-I*K)*ea;g[T+4+(aa*184|0)+172>>2]=(I*da-J*L)*ea;g[T+4+(aa*184|0)+176>>2]=(K*L-P*da)*ea;mk(V,r);mk(W,r);$c(b,r,Y,Z,S,R,ca+64|0,ca+48|0,1.0,0.0,0.0);break}m=T+4+(aa*184|0)+168|0;if(+B(+u)>.7071067690849304){j=1.0/+C(+(u*u+t*t));g[p>>2]=0.0;g[i>>2]=-(j*u);g[n>>2]=j*t;k=s*-(j*u);o=(u*u+t*t)*j;j=-(j*t*s)}else{j=1.0/+C(+(s*s+t*t));g[p>>2]=-(t*j);g[i>>2]=j*s;g[n>>2]=0.0;k=(s*s+t*t)*j;o=-(j*s*u);j=u*-(t*j)}g[m>>2]=o;g[T+4+(aa*184|0)+172>>2]=j;g[T+4+(aa*184|0)+176>>2]=k;mk(V,p);mk(W,p);$c(b,p,Y,Z,S,R,ca+64|0,ca+48|0,1.0,0.0,0.0);i=c[f+64>>2]|0;if(i&16){mk(V,m);mk(W,m);$c(b,m,Y,Z,S,R,ca+64|0,ca+48|0,1.0,0.0,0.0);i=c[f+64>>2]|0}if((i&80|0)!=80)break;a[T+4+(aa*184|0)+116>>0]=1}while(0);r=c[b+16>>2]|0;m=c[r+(Y*244|0)+240>>2]|0;n=c[r+(Z*244|0)+240>>2]|0;p=c[Q+(S*152|0)+140>>2]|0;q=c[b+76>>2]|0;i=c[f+64>>2]|0;do if(!(i&4))g[q+(p*152|0)+100>>2]=0.0;else{j=+g[T+4+(aa*184|0)+124>>2]*+g[f+60>>2];g[q+(p*152|0)+100>>2]=j;if(m|0){P=+g[m+344>>2];ea=j*P*+g[q+(p*152|0)+20>>2]*+g[m+352>>2]*+g[r+(Y*244|0)+116>>2];da=j*P*+g[q+(p*152|0)+24>>2]*+g[m+356>>2]*+g[r+(Y*244|0)+120>>2];g[r+(Y*244|0)+64>>2]=+g[r+(Y*244|0)+112>>2]*j*P*+g[q+(p*152|0)+16>>2]*+g[m+348>>2]+ +g[r+(Y*244|0)+64>>2];g[r+(Y*244|0)+68>>2]=ea+ +g[r+(Y*244|0)+68>>2];g[r+(Y*244|0)+72>>2]=da+ +g[r+(Y*244|0)+72>>2];da=j*+g[r+(Y*244|0)+100>>2]*+g[q+(p*152|0)+68>>2];ea=j*+g[r+(Y*244|0)+104>>2]*+g[q+(p*152|0)+72>>2];g[r+(Y*244|0)+80>>2]=j*+g[r+(Y*244|0)+96>>2]*+g[q+(p*152|0)+64>>2]+ +g[r+(Y*244|0)+80>>2];g[r+(Y*244|0)+84>>2]=da+ +g[r+(Y*244|0)+84>>2];g[r+(Y*244|0)+88>>2]=ea+ +g[r+(Y*244|0)+88>>2]}if(!n)break;j=+g[n+344>>2];k=+g[q+(p*152|0)+100>>2];if(!(c[r+(Z*244|0)+240>>2]|0))break;ea=+g[q+(p*152|0)+88>>2];da=+g[q+(p*152|0)+84>>2];P=+g[q+(p*152|0)+80>>2];K=k*j*+g[q+(p*152|0)+52>>2]*+g[n+352>>2]*+g[r+(Z*244|0)+116>>2];L=k*j*+g[q+(p*152|0)+56>>2]*+g[n+356>>2]*+g[r+(Z*244|0)+120>>2];g[r+(Z*244|0)+64>>2]=+g[r+(Z*244|0)+112>>2]*k*j*+g[q+(p*152|0)+48>>2]*+g[n+348>>2]+ +g[r+(Z*244|0)+64>>2];g[r+(Z*244|0)+68>>2]=K+ +g[r+(Z*244|0)+68>>2];g[r+(Z*244|0)+72>>2]=L+ +g[r+(Z*244|0)+72>>2];da=da*+g[r+(Z*244|0)+100>>2]*-k;ea=ea*+g[r+(Z*244|0)+104>>2]*-k;g[r+(Z*244|0)+80>>2]=+g[r+(Z*244|0)+80>>2]-P*+g[r+(Z*244|0)+96>>2]*-k;g[r+(Z*244|0)+84>>2]=+g[r+(Z*244|0)+84>>2]-da;g[r+(Z*244|0)+88>>2]=+g[r+(Z*244|0)+88>>2]-ea}while(0);do if(i&16|0){if(!(i&4)){g[q+((p+1|0)*152|0)+100>>2]=0.0;break}k=+g[T+4+(aa*184|0)+128>>2]*+g[f+60>>2];g[q+((p+1|0)*152|0)+100>>2]=k;do if(m|0){j=+g[m+344>>2];if(!(c[r+(Y*244|0)+240>>2]|0))break;ea=k*j*+g[q+((p+1|0)*152|0)+20>>2]*+g[r+(Y*244|0)+116>>2];da=k*j*+g[q+((p+1|0)*152|0)+24>>2]*+g[r+(Y*244|0)+120>>2];g[r+(Y*244|0)+64>>2]=+g[r+(Y*244|0)+112>>2]*k*j*+g[q+((p+1|0)*152|0)+16>>2]+ +g[r+(Y*244|0)+64>>2];g[r+(Y*244|0)+68>>2]=ea+ +g[r+(Y*244|0)+68>>2];g[r+(Y*244|0)+72>>2]=da+ +g[r+(Y*244|0)+72>>2];da=k*+g[r+(Y*244|0)+100>>2]*+g[q+((p+1|0)*152|0)+68>>2];ea=k*+g[r+(Y*244|0)+104>>2]*+g[q+((p+1|0)*152|0)+72>>2];g[r+(Y*244|0)+80>>2]=k*+g[r+(Y*244|0)+96>>2]*+g[q+((p+1|0)*152|0)+64>>2]+ +g[r+(Y*244|0)+80>>2];g[r+(Y*244|0)+84>>2]=da+ +g[r+(Y*244|0)+84>>2];g[r+(Y*244|0)+88>>2]=ea+ +g[r+(Y*244|0)+88>>2]}while(0);if(!n)break;j=+g[n+344>>2];k=+g[q+((p+1|0)*152|0)+100>>2];if(!(c[r+(Z*244|0)+240>>2]|0))break;ea=+g[q+((p+1|0)*152|0)+88>>2];da=+g[q+((p+1|0)*152|0)+84>>2];P=+g[q+((p+1|0)*152|0)+80>>2];K=k*j*+g[q+((p+1|0)*152|0)+52>>2]*+g[r+(Z*244|0)+116>>2];L=k*j*+g[q+((p+1|0)*152|0)+56>>2]*+g[r+(Z*244|0)+120>>2];g[r+(Z*244|0)+64>>2]=+g[r+(Z*244|0)+112>>2]*k*j*+g[q+((p+1|0)*152|0)+48>>2]+ +g[r+(Z*244|0)+64>>2];g[r+(Z*244|0)+68>>2]=K+ +g[r+(Z*244|0)+68>>2];g[r+(Z*244|0)+72>>2]=L+ +g[r+(Z*244|0)+72>>2];da=da*+g[r+(Z*244|0)+100>>2]*-k;ea=ea*+g[r+(Z*244|0)+104>>2]*-k;g[r+(Z*244|0)+80>>2]=+g[r+(Z*244|0)+80>>2]-P*+g[r+(Z*244|0)+96>>2]*-k;g[r+(Z*244|0)+84>>2]=+g[r+(Z*244|0)+84>>2]-da;g[r+(Z*244|0)+88>>2]=+g[r+(Z*244|0)+88>>2]-ea}while(0);i=c[T+748>>2]|0}aa=aa+1|0}while((aa|0)<(i|0))}$=$+1|0}while(($|0)!=(e|0));l=ca;return}function ec(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0.0,k=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,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,D=0.0,E=0.0,F=0.0,G=0,H=0,I=0,J=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,_=0,$=0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0,ga=0,ha=0.0,ia=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,Da=0,Ea=0,Fa=0.0,Ga=0.0,Ha=0;Ha=l;l=l+512|0;c[Ha+48>>2]=c[b>>2];c[Ha>>2]=c[b+64>>2];v=Ha+48+4|0;c[v>>2]=c[b+4>>2];c[Ha+4>>2]=c[b+68>>2];c[Ha+48+8>>2]=c[b+8>>2];c[Ha+8>>2]=c[b+72>>2];c[Ha+48+16>>2]=c[b+16>>2];c[Ha+16>>2]=c[b+80>>2];c[Ha+48+20>>2]=c[b+20>>2];c[Ha+20>>2]=c[b+84>>2];c[Ha+48+24>>2]=c[b+24>>2];c[Ha+24>>2]=c[b+88>>2];c[Ha+48+32>>2]=c[b+32>>2];c[Ha+32>>2]=c[b+96>>2];c[Ha+48+36>>2]=c[b+36>>2];c[Ha+36>>2]=c[b+100>>2];c[Ha+48+40>>2]=c[b+40>>2];c[Ha+40>>2]=c[b+104>>2];Ea=c[a+4>>2]|0;na=+g[Ea+28>>2];oa=+g[Ea+32>>2];ma=+g[Ea+36>>2];ka=+gb[c[(c[Ea>>2]|0)+48>>2]&15](Ea);la=+gb[c[(c[Ea>>2]|0)+48>>2]&15](Ea);ma=(ma+ +gb[c[(c[Ea>>2]|0)+48>>2]&15](Ea))*2.0;Ea=c[a+8>>2]|0;ua=+g[Ea+28>>2];va=+g[Ea+32>>2];ya=+g[Ea+36>>2];sa=+gb[c[(c[Ea>>2]|0)+48>>2]&15](Ea);ta=+gb[c[(c[Ea>>2]|0)+48>>2]&15](Ea);ya=(ya+ +gb[c[(c[Ea>>2]|0)+48>>2]&15](Ea))*2.0;S=+g[b+112>>2]-+g[b+48>>2];U=+g[b+116>>2]-+g[b+52>>2];T=+g[b+120>>2]-+g[b+56>>2];ea=+g[Ha+48>>2];ca=+g[Ha+48+16>>2];da=+g[Ha+48+32>>2];ba=+g[v>>2];Z=+g[Ha+48+20>>2];aa=+g[Ha+48+36>>2];ha=+g[Ha+48+8>>2];ja=+g[Ha+48+24>>2];pa=+g[Ha+48+40>>2];g[Ha+404>>2]=(na+ka)*2.0*.5;g[Ha+404+4>>2]=(oa+la)*2.0*.5;g[Ha+404+8>>2]=ma*.5;g[Ha+392>>2]=(ua+sa)*2.0*.5;g[Ha+392+4>>2]=(va+ta)*2.0*.5;g[Ha+392+8>>2]=ya*.5;za=+g[Ha>>2];qa=+g[Ha+16>>2];wa=+g[Ha+32>>2];Aa=+g[Ha+4>>2];ra=+g[Ha+20>>2];xa=+g[Ha+36>>2];Ba=+g[Ha+8>>2];Fa=+g[Ha+24>>2];Ga=+g[Ha+40>>2];D=+B(+(ea*za+ca*qa+da*wa));F=+B(+(ea*Aa+ca*ra+da*xa));V=+B(+(ea*Ba+ca*Fa+da*Ga));E=+B(+(za*ba+qa*Z+wa*aa));Q=+B(+(Aa*ba+ra*Z+xa*aa));W=+B(+(Ba*ba+Fa*Z+Ga*aa));X=+B(+(za*ha+qa*ja+wa*pa));Y=+B(+(Aa*ha+ra*ja+xa*pa));R=+B(+(Ba*ha+Fa*ja+Ga*pa));m=+B(+(S*ea+U*ca+T*da))-(ya*.5*V+((na+ka)*2.0*.5+D*(ua+sa)*2.0*.5+F*(va+ta)*2.0*.5));if(m>0.0){l=Ha;return}if(m>-3402823466385288598117041.0e14){e=1;f=S*ea+U*ca+T*da<0.0&1;a=Ha+48|0}else{e=0;f=0;a=0;m=-3402823466385288598117041.0e14}h=+B(+(S*ba+U*Z+T*aa))-((oa+la)*2.0*.5+E*(ua+sa)*2.0*.5+Q*(va+ta)*2.0*.5+W*ya*.5);if(h>0.0){l=Ha;return}if(h>m){e=2;f=S*ba+U*Z+T*aa<0.0&1;a=v;m=h}h=+B(+(S*ha+U*ja+T*pa))-(ma*.5+X*(ua+sa)*2.0*.5+Y*(va+ta)*2.0*.5+R*ya*.5);if(h>0.0){l=Ha;return}if(h>m){e=3;f=S*ha+U*ja+T*pa<0.0&1;a=Ha+48+8|0;m=h}h=+B(+(S*za+U*qa+T*wa))-((ua+sa)*2.0*.5+(D*(na+ka)*2.0*.5+E*(oa+la)*2.0*.5+X*ma*.5));if(h>0.0){l=Ha;return}if(h>m){e=4;f=S*za+U*qa+T*wa<0.0&1;a=Ha;m=h}h=+B(+(S*Aa+U*ra+T*xa))-((va+ta)*2.0*.5+(F*(na+ka)*2.0*.5+Q*(oa+la)*2.0*.5+Y*ma*.5));if(h>0.0){l=Ha;return}if(h>m){e=5;f=S*Aa+U*ra+T*xa<0.0&1;a=Ha+4|0;m=h}h=+B(+(S*Ba+U*Fa+T*Ga))-(ya*.5+(V*(na+ka)*2.0*.5+W*(oa+la)*2.0*.5+R*ma*.5));if(h>0.0){l=Ha;return}if(h>m){e=6;f=S*Ba+U*Fa+T*Ga<0.0&1;a=Ha+8|0;m=h}p=(S*ha+U*ja+T*pa)*(za*ba+qa*Z+wa*aa)-(S*ba+U*Z+T*aa)*(za*ha+qa*ja+wa*pa);r=+B(+p)-((X+9.999999747378752e-06)*(oa+la)*2.0*.5+(E+9.999999747378752e-06)*ma*.5+(V+9.999999747378752e-06)*(va+ta)*2.0*.5+(F+9.999999747378752e-06)*ya*.5);if(r>1.1920928955078125e-07){l=Ha;return}s=(za*ha+qa*ja+wa*pa)*(za*ha+qa*ja+wa*pa)+0.0;y=(za*ba+qa*Z+wa*aa)*(za*ba+qa*Z+wa*aa);q=+C(+(y+s));if(q>1.1920928955078125e-07?r/q*1.0499999523162842>m:0){o=0.0/q;i=-(za*ha+qa*ja+wa*pa)/q;h=(za*ba+qa*Z+wa*aa)/q;e=7;f=p<0.0&1;a=0;m=r/q}else{o=0.0;i=0.0;h=0.0}p=(S*ha+U*ja+T*pa)*(Aa*ba+ra*Z+xa*aa)-(S*ba+U*Z+T*aa)*(Aa*ha+ra*ja+xa*pa);r=+B(+p)-((Y+9.999999747378752e-06)*(oa+la)*2.0*.5+(Q+9.999999747378752e-06)*ma*.5+(V+9.999999747378752e-06)*(ua+sa)*2.0*.5+(D+9.999999747378752e-06)*ya*.5);if(r>1.1920928955078125e-07){l=Ha;return}t=(Aa*ha+ra*ja+xa*pa)*(Aa*ha+ra*ja+xa*pa)+0.0;z=(Aa*ba+ra*Z+xa*aa)*(Aa*ba+ra*Z+xa*aa);q=+C(+(z+t));if(q>1.1920928955078125e-07?r/q*1.0499999523162842>m:0){o=0.0/q;i=-(Aa*ha+ra*ja+xa*pa)/q;h=(Aa*ba+ra*Z+xa*aa)/q;e=8;f=p<0.0&1;a=0;m=r/q}p=(S*ha+U*ja+T*pa)*(Ba*ba+Fa*Z+Ga*aa)-(S*ba+U*Z+T*aa)*(Ba*ha+Fa*ja+Ga*pa);r=+B(+p)-((R+9.999999747378752e-06)*(oa+la)*2.0*.5+(W+9.999999747378752e-06)*ma*.5+(F+9.999999747378752e-06)*(ua+sa)*2.0*.5+(D+9.999999747378752e-06)*(va+ta)*2.0*.5);if(r>1.1920928955078125e-07){l=Ha;return}w=(Ba*ha+Fa*ja+Ga*pa)*(Ba*ha+Fa*ja+Ga*pa)+0.0;A=(Ba*ba+Fa*Z+Ga*aa)*(Ba*ba+Fa*Z+Ga*aa);q=+C(+(A+w));if(q>1.1920928955078125e-07?r/q*1.0499999523162842>m:0){o=0.0/q;i=-(Ba*ha+Fa*ja+Ga*pa)/q;h=(Ba*ba+Fa*Z+Ga*aa)/q;e=9;f=p<0.0&1;a=0;m=r/q}p=(S*ea+U*ca+T*da)*(za*ha+qa*ja+wa*pa)-(S*ha+U*ja+T*pa)*(ea*za+ca*qa+da*wa);r=+B(+p)-((X+9.999999747378752e-06)*(na+ka)*2.0*.5+(D+9.999999747378752e-06)*ma*.5+(W+9.999999747378752e-06)*(va+ta)*2.0*.5+(Q+9.999999747378752e-06)*ya*.5);if(r>1.1920928955078125e-07){l=Ha;return}x=(ea*za+ca*qa+da*wa)*(ea*za+ca*qa+da*wa);q=+C(+(x+s));do if(q>1.1920928955078125e-07){if(!(r/q*1.0499999523162842>m))break;o=(za*ha+qa*ja+wa*pa)/q;i=0.0/q;h=-(ea*za+ca*qa+da*wa)/q;e=10;f=p<0.0&1;a=0;m=r/q}while(0);p=(S*ea+U*ca+T*da)*(Aa*ha+ra*ja+xa*pa)-(S*ha+U*ja+T*pa)*(ea*Aa+ca*ra+da*xa);r=+B(+p)-((Y+9.999999747378752e-06)*(na+ka)*2.0*.5+(F+9.999999747378752e-06)*ma*.5+(W+9.999999747378752e-06)*(ua+sa)*2.0*.5+(E+9.999999747378752e-06)*ya*.5);if(r>1.1920928955078125e-07){l=Ha;return}u=(ea*Aa+ca*ra+da*xa)*(ea*Aa+ca*ra+da*xa);q=+C(+(u+t));do if(q>1.1920928955078125e-07){if(!(r/q*1.0499999523162842>m))break;o=(Aa*ha+ra*ja+xa*pa)/q;i=0.0/q;h=-(ea*Aa+ca*ra+da*xa)/q;e=11;f=p<0.0&1;a=0;m=r/q}while(0);p=(S*ea+U*ca+T*da)*(Ba*ha+Fa*ja+Ga*pa)-(S*ha+U*ja+T*pa)*(ea*Ba+ca*Fa+da*Ga);r=+B(+p)-((R+9.999999747378752e-06)*(na+ka)*2.0*.5+(V+9.999999747378752e-06)*ma*.5+(Q+9.999999747378752e-06)*(ua+sa)*2.0*.5+(E+9.999999747378752e-06)*(va+ta)*2.0*.5);if(r>1.1920928955078125e-07){l=Ha;return}s=(ea*Ba+ca*Fa+da*Ga)*(ea*Ba+ca*Fa+da*Ga);q=+C(+(s+w));do if(q>1.1920928955078125e-07){if(!(r/q*1.0499999523162842>m))break;o=(Ba*ha+Fa*ja+Ga*pa)/q;i=0.0/q;h=-(ea*Ba+ca*Fa+da*Ga)/q;e=12;f=p<0.0&1;a=0;m=r/q}while(0);q=(S*ba+U*Z+T*aa)*(ea*za+ca*qa+da*wa)-(S*ea+U*ca+T*da)*(za*ba+qa*Z+wa*aa);r=+B(+q)-((E+9.999999747378752e-06)*(na+ka)*2.0*.5+(D+9.999999747378752e-06)*(oa+la)*2.0*.5+(R+9.999999747378752e-06)*(va+ta)*2.0*.5+(Y+9.999999747378752e-06)*ya*.5);if(r>1.1920928955078125e-07){l=Ha;return}p=+C(+(x+y+0.0));do if(p>1.1920928955078125e-07){if(!(r/p*1.0499999523162842>m))break;o=-(za*ba+qa*Z+wa*aa)/p;i=(ea*za+ca*qa+da*wa)/p;h=0.0/p;e=13;f=q<0.0&1;a=0;m=r/p}while(0);r=(S*ba+U*Z+T*aa)*(ea*Aa+ca*ra+da*xa)-(S*ea+U*ca+T*da)*(Aa*ba+ra*Z+xa*aa);q=+B(+r)-((Q+9.999999747378752e-06)*(na+ka)*2.0*.5+(F+9.999999747378752e-06)*(oa+la)*2.0*.5+(R+9.999999747378752e-06)*(ua+sa)*2.0*.5+(X+9.999999747378752e-06)*ya*.5);if(q>1.1920928955078125e-07){l=Ha;return}p=+C(+(u+z+0.0));do if(p>1.1920928955078125e-07){if(!(q/p*1.0499999523162842>m))break;o=-(Aa*ba+ra*Z+xa*aa)/p;i=(ea*Aa+ca*ra+da*xa)/p;h=0.0/p;e=14;f=r<0.0&1;a=0;m=q/p}while(0);r=(S*ba+U*Z+T*aa)*(ea*Ba+ca*Fa+da*Ga)-(S*ea+U*ca+T*da)*(Ba*ba+Fa*Z+Ga*aa);q=+B(+r)-((W+9.999999747378752e-06)*(na+ka)*2.0*.5+(V+9.999999747378752e-06)*(oa+la)*2.0*.5+(Y+9.999999747378752e-06)*(ua+sa)*2.0*.5+(X+9.999999747378752e-06)*(va+ta)*2.0*.5);if(q>1.1920928955078125e-07){l=Ha;return}p=+C(+(s+A+0.0));do if(p>1.1920928955078125e-07){if(!(q/p*1.0499999523162842>m)){Ca=55;break}o=-(Ba*ba+Fa*Z+Ga*aa)/p;i=(ea*Ba+ca*Fa+da*Ga)/p;h=0.0/p;e=15;f=r<0.0&1;m=q/p;Ca=58}else Ca=55;while(0);do if((Ca|0)==55){if(!e){l=Ha;return}if(!a){Ca=58;break}Da=c[a>>2]|0;Ea=c[a+16>>2]|0;k=c[a+32>>2]|0;h=(c[j>>2]=Da,+g[j>>2]);i=(c[j>>2]=Ea,+g[j>>2]);o=(c[j>>2]=k,+g[j>>2]);n=e;e=Da;a=Ea;F=m}while(0);if((Ca|0)==58){da=o*+g[Ha+48>>2]+i*+g[v>>2]+h*ha;k=(g[j>>2]=da,c[j>>2]|0);ea=o*+g[Ha+48+16>>2]+i*+g[Ha+48+20>>2]+h*ja;a=(g[j>>2]=ea,c[j>>2]|0);F=o*+g[Ha+48+32>>2]+i*+g[Ha+48+36>>2]+h*pa;h=da;i=ea;o=F;n=e;e=k;k=(g[j>>2]=F,c[j>>2]|0);F=m}if(!f){Da=a;Ea=k}else{e=(g[j>>2]=-h,c[j>>2]|0);Da=(g[j>>2]=-i,c[j>>2]|0);Ea=(g[j>>2]=-o,c[j>>2]|0)}if((n|0)>6){E=(c[j>>2]=e,+g[j>>2]);D=(c[j>>2]=Da,+g[j>>2]);A=(c[j>>2]=Ea,+g[j>>2]);i=+g[Ha+48>>2];t=+g[Ha+48+16>>2];w=+g[Ha+48+32>>2];u=(E*i+D*t+A*w>0.0?1.0:-1.0)*(na+ka)*2.0*.5;z=+g[v>>2];y=+g[Ha+48+20>>2];h=+g[Ha+48+36>>2];s=(E*z+D*y+A*h>0.0?1.0:-1.0)*(oa+la)*2.0*.5;x=(E*ha+D*ja+A*pa>0.0?1.0:-1.0)*ma*.5;z=+g[b+48>>2]+u*i+s*z+x*ha;y=+g[b+52>>2]+u*t+s*y+x*ja;x=+g[b+56>>2]+u*w+s*h+x*pa;c[Ha+448>>2]=c[b+112>>2];c[Ha+448+4>>2]=c[b+112+4>>2];c[Ha+448+8>>2]=c[b+112+8>>2];h=(E*za+D*qa+A*wa>0.0?-1.0:1.0)*(ua+sa)*2.0*.5;s=(E*Aa+D*ra+A*xa>0.0?-1.0:1.0)*(va+ta)*2.0*.5;w=+g[Ha+448+4>>2]+h*qa+s*ra;u=+g[Ha+448+8>>2]+h*wa+s*xa;t=(E*Ba+D*Fa+A*Ga>0.0?-1.0:1.0)*ya*.5;s=+g[Ha+448>>2]+h*za+s*Aa+t*Ba;g[Ha+448>>2]=s;g[Ha+448+4>>2]=w+t*Fa;g[Ha+448+8>>2]=u+t*Ga;Ea=n+-7|0;h=+g[Ha+48+(((Ea|0)/3|0)<<2)>>2];i=+g[Ha+48+(((Ea|0)/3|0)+4<<2)>>2];m=+g[Ha+48+(((Ea|0)/3|0)+8<<2)>>2];p=+g[Ha+(((Ea|0)%3|0)<<2)>>2];q=+g[Ha+(((Ea|0)%3|0)+4<<2)>>2];r=+g[Ha+(((Ea|0)%3|0)+8<<2)>>2];o=1.0-(h*p+i*q+m*r)*(h*p+i*q+m*r);if(!(o<=9.999999747378752e-05))h=(((s-z)*h+(w+t*Fa-y)*i+(u+t*Ga-x)*m)*(h*p+i*q+m*r)-((s-z)*p+(w+t*Fa-y)*q+(u+t*Ga-x)*r))*(1.0/o);else h=0.0;g[Ha+448>>2]=s+h*p;g[Ha+448+4>>2]=w+t*Fa+h*q;g[Ha+448+8>>2]=u+t*Ga+h*r;Ea=c[(c[d>>2]|0)+16>>2]|0;g[Ha+416>>2]=-E;g[Ha+416+4>>2]=-D;g[Ha+416+8>>2]=-A;g[Ha+416+12>>2]=0.0;Lb[Ea&15](d,Ha+416|0,Ha+448|0,F);l=Ha;return}fa=(n|0)<4;ha=(c[j>>2]=e,+g[j>>2]);if(fa){ca=(c[j>>2]=Da,+g[j>>2]);da=(c[j>>2]=Ea,+g[j>>2]);a=Ha+48|0;$=Ha;P=Ha+404|0;k=Ha+392|0;ea=ha;ia=b+48|0;f=b+112|0}else{ca=-(c[j>>2]=Da,+g[j>>2]);da=-(c[j>>2]=Ea,+g[j>>2]);a=Ha;$=Ha+48|0;P=Ha+392|0;k=Ha+404|0;ea=-ha;ia=b+112|0;f=b+48|0}Y=ea*+g[$>>2]+ca*+g[$+16>>2]+da*+g[$+32>>2];g[Ha+376>>2]=Y;X=ea*+g[$+4>>2]+ca*+g[$+20>>2]+da*+g[$+36>>2];g[Ha+376+4>>2]=X;W=ea*+g[$+8>>2]+ca*+g[$+24>>2]+da*+g[$+40>>2];g[Ha+376+8>>2]=W;Y=+B(+Y);X=+B(+X);W=+B(+W);e=X>Y?(X>W?1:2):Y>W?0:2;_=(X>Y?X>W:Y>W)?2:1;p=+g[k+(e<<2)>>2];i=+g[f>>2]-+g[ia>>2];h=p*+g[$+(e<<2)>>2];m=+g[f+4>>2];ga=ia+4|0;o=+g[ga>>2];if(+g[Ha+376+(e<<2)>>2]<0.0){ba=i+h;aa=m-o+p*+g[$+((e|4)<<2)>>2];Z=+g[f+8>>2]-+g[ia+8>>2]+p*+g[$+((e|8)<<2)>>2]}else{ba=i-h;aa=m-o-p*+g[$+((e|4)<<2)>>2];Z=+g[f+8>>2]-+g[ia+8>>2]-p*+g[$+((e|8)<<2)>>2]}N=(fa?-1:-4)+n|0;switch(N|0){case 0:{e=1;f=2;break}case 1:{e=0;f=2;break}default:{e=0;f=1}}M=a+(e<<2)|0;U=+g[M>>2];S=+g[M+16>>2];T=+g[M+32>>2];V=ba*U+aa*S+Z*T;M=a+(f<<2)|0;y=+g[M>>2];w=+g[M+16>>2];x=+g[M+32>>2];R=ba*y+aa*w+Z*x;M=$+((Y>W&(X>Y^1)&1)<<2)|0;D=+g[M>>2];z=+g[M+16>>2];A=+g[M+32>>2];O=$+(_<<2)|0;Q=+g[O>>2];E=+g[O+16>>2];F=+g[O+32>>2];Fa=+g[k+((Y>W&(X>Y^1)&1)<<2)>>2];Ga=+g[k+(_<<2)>>2];Ba=(U*Q+S*E+T*F)*Ga;Ga=(y*Q+w*E+x*F)*Ga;g[Ha+344>>2]=V-(U*D+S*z+T*A)*Fa-Ba;g[Ha+344+4>>2]=R-(y*D+w*z+x*A)*Fa-Ga;g[Ha+344+8>>2]=V-(U*D+S*z+T*A)*Fa+Ba;g[Ha+344+12>>2]=R-(y*D+w*z+x*A)*Fa+Ga;g[Ha+344+16>>2]=V+(U*D+S*z+T*A)*Fa+Ba;g[Ha+344+20>>2]=R+(y*D+w*z+x*A)*Fa+Ga;g[Ha+344+24>>2]=V+(U*D+S*z+T*A)*Fa-Ba;g[Ha+344+28>>2]=R+(y*D+w*z+x*A)*Fa-Ga;c[Ha+336>>2]=c[P+(e<<2)>>2];c[Ha+336+4>>2]=c[P+(f<<2)>>2];L=0;f=4;G=Ha+344|0;J=Ha+272|0;a:while(1){H=Ha+336+(L<<2)|0;I=1-L|0;do if((f|0)>0){a=0;b=G;e=J;while(1){k=b+(L<<2)|0;h=+g[k>>2];i=+g[H>>2];if(i>-h){c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];a=a+1|0;if(a&8|0){f=a;e=J;break a}h=+g[k>>2];i=+g[H>>2];n=e+8|0}else n=e;v=(f|0)>1;k=b;b=b+8|0;e=v?b:G;m=+g[e+(L<<2)>>2];if(i>-h^i>-m){Ga=+g[k+(I<<2)>>2];g[n+(I<<2)>>2]=Ga+(-i-h)*((+g[e+(I<<2)>>2]-Ga)/(m-h));g[n+(L<<2)>>2]=-+g[H>>2];e=a+1|0;if(!(e&8)){a=e;e=n+8|0}else{f=e;e=J;break a}}else e=n;if(!v)break;else f=f+-1|0}e=(J|0)==(Ha+272|0)?Ha+448|0:Ha+272|0;if((a|0)<=0){f=0;break}b=a;f=0;G=J;a=e;while(1){k=G+(L<<2)|0;i=+g[k>>2];h=+g[H>>2];if(i>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];f=f+1|0;if(f&8|0)break a;h=+g[H>>2];i=+g[k>>2];a=a+8|0}v=(b|0)>1;n=G;G=G+8|0;k=v?G:J;m=+g[k+(L<<2)>>2];if(i>2];g[a+(I<<2)>>2]=Ga+(h-i)*((+g[k+(I<<2)>>2]-Ga)/(m-i));c[a+(L<<2)>>2]=c[H>>2];f=f+1|0;if(!(f&8))a=a+8|0;else break a}if(!v)break;else b=b+-1|0}}else{e=(J|0)==(Ha+272|0)?Ha+448|0:Ha+272|0;f=0}while(0);L=L+1|0;if((L|0)>=2)break;else{G=e;J=(e|0)==(Ha+272|0)?Ha+448|0:Ha+272|0}}if((e|0)!=(Ha+272|0))_h(Ha+272|0,e|0,f<<3|0)|0;if((f|0)>=1){u=1.0/((U*D+S*z+T*A)*(y*Q+w*E+x*F)-(y*D+w*z+x*A)*(U*Q+S*E+T*F));t=+g[P+(N<<2)>>2];s=+g[M>>2];p=+g[O>>2];q=+g[$+((Y>W&(X>Y^1)&1|4)<<2)>>2];r=+g[$+((_|4)<<2)>>2];o=+g[$+((Y>W&(X>Y^1)&1|8)<<2)>>2];m=+g[$+((_|8)<<2)>>2];a=0;e=0;do{$=e<<1;h=+g[Ha+272+($<<2)>>2];i=+g[Ha+272+(($|1)<<2)>>2];Aa=(y*Q+w*E+x*F)*u*(h-V)-(U*Q+S*E+T*F)*u*(i-R);Ga=(U*D+S*z+T*A)*u*(i-R)-(y*D+w*z+x*A)*u*(h-V);$=a*3|0;Ba=ba+Aa*s+Ga*p;g[Ha+176+($<<2)>>2]=Ba;Fa=aa+Aa*q+Ga*r;g[Ha+176+($+1<<2)>>2]=Fa;Ga=Z+Aa*o+Ga*m;g[Ha+176+($+2<<2)>>2]=Ga;Ga=t-(ea*Ba+ca*Fa+da*Ga);g[Ha+144+(a<<2)>>2]=Ga;if(Ga>=0.0){$=a<<1;g[Ha+272+($<<2)>>2]=h;g[Ha+272+(($|1)<<2)>>2]=i;a=a+1|0}e=e+1|0}while((e|0)!=(f|0));b:do if((a|0)>=1){b=(a|0)<4?a:4;G=(b|0)>1?b:1;if((a|0)<=(G|0))if(fa){f=ia+8|0;i=-(c[j>>2]=Da,+g[j>>2]);h=-(c[j>>2]=Ea,+g[j>>2]);e=0;while(1){Ea=e*3|0;g[Ha+448>>2]=+g[Ha+176+(Ea<<2)>>2]+ +g[ia>>2];g[Ha+448+4>>2]=+g[Ha+176+(Ea+1<<2)>>2]+ +g[ga>>2];g[Ha+448+8>>2]=+g[Ha+176+(Ea+2<<2)>>2]+ +g[f>>2];Ea=c[(c[d>>2]|0)+16>>2]|0;g[Ha+416>>2]=-ha;g[Ha+416+4>>2]=i;g[Ha+416+8>>2]=h;g[Ha+416+12>>2]=0.0;Lb[Ea&15](d,Ha+416|0,Ha+448|0,-+g[Ha+144+(e<<2)>>2]);e=e+1|0;if((e|0)==(a|0))break b}}else{f=ia+8|0;i=(c[j>>2]=Da,+g[j>>2]);h=(c[j>>2]=Ea,+g[j>>2]);e=0;while(1){Ea=e*3|0;Ga=+g[Ha+144+(e<<2)>>2];g[Ha+448>>2]=+g[Ha+176+(Ea<<2)>>2]+ +g[ia>>2]-ha*Ga;g[Ha+448+4>>2]=+g[Ha+176+(Ea+1<<2)>>2]+ +g[ga>>2]-i*Ga;g[Ha+448+8>>2]=+g[Ha+176+(Ea+2<<2)>>2]+ +g[f>>2]-h*Ga;Ea=c[(c[d>>2]|0)+16>>2]|0;g[Ha+416>>2]=-ha;g[Ha+416+4>>2]=-i;g[Ha+416+8>>2]=-h;g[Ha+416+12>>2]=0.0;Lb[Ea&15](d,Ha+416|0,Ha+448|0,-Ga);e=e+1|0;if((e|0)==(a|0))break b}}c:do if((a|0)>1){f=1;k=0;i=+g[Ha+144>>2];while(1){h=+g[Ha+144+(f<<2)>>2];e=h>i;k=e?f:k;f=f+1|0;if((f|0)==(a|0))break;else i=e?h:i}switch(a|0){case 1:{e=Ha+112|0;f=Ha+112|0;a=1;Ca=112;break c}case 2:{e=Ha+112|0;f=Ha+112|0;a=2;i=(+g[Ha+272>>2]+ +g[Ha+272+8>>2])*.5;h=(+g[Ha+272+4>>2]+ +g[Ha+272+12>>2])*.5;Ca=117;break c}default:{}}f=a+-1|0;h=0.0;i=0.0;r=0.0;e=0;do{$=e<<1;Aa=+g[Ha+272+($<<2)>>2];Ba=+g[Ha+272+($+3<<2)>>2];Fa=+g[Ha+272+($+2<<2)>>2];Ga=+g[Ha+272+(($|1)<<2)>>2];h=h+(Aa*Ba-Fa*Ga);i=i+(Aa+Fa)*(Aa*Ba-Fa*Ga);r=r+(Ba+Ga)*(Aa*Ba-Fa*Ga);e=e+1|0}while((e|0)!=(f|0));$=a<<1;m=+g[Ha+272+($+-2<<2)>>2];o=+g[Ha+272+4>>2];p=+g[Ha+272>>2];q=+g[Ha+272+($+-1<<2)>>2];h=h+(m*o-p*q);if(+B(+h)>1.1920928955078125e-07)h=1.0/(h*3.0);else h=999999984306749440.0;if((a|0)>0){n=Ha+112|0;v=Ha+448|0;f=Ha+112|0;i=h*(i+(m*o-p*q)*(m+p));h=h*(r+(m*o-p*q)*(q+o));Ca=120;break}f=Ha+112|0;e=0;v=a}else{e=Ha+112|0;f=Ha+112|0;k=0;Ca=112}while(0);if((Ca|0)==112){i=+g[Ha+272>>2];h=+g[Ha+272+4>>2];Ca=117}if((Ca|0)==117){n=e;v=Ha+448|0;Ca=120}if((Ca|0)==120){e=0;do{Ca=e<<1;g[Ha+448+(e<<2)>>2]=+K(+(+g[Ha+272+((Ca|1)<<2)>>2]-h),+(+g[Ha+272+(Ca<<2)>>2]-i));e=e+1|0}while((e|0)!=(a|0));e=0;do{c[Ha+416+(e<<2)>>2]=1;e=e+1|0}while((e|0)!=(a|0));e=1;v=a}a=Ha+416+(k<<2)|0;c[a>>2]=0;c[f>>2]=k;d:do if((b|0)>1){o=+g[Ha+448+(k<<2)>>2];if(e){a=Ha+112+4|0;n=1}else{e=Ha+112+4|0;f=1;while(1){c[e>>2]=k;c[a>>2]=0;f=f+1|0;if((f|0)==(G|0))break d;else e=e+4|0}}while(1){m=6.2831854820251465/+(G|0)*+(n|0)+o;m=m>3.1415927410125732?m+-6.2831854820251465:m;c[a>>2]=k;e=k;f=0;i=1.0e9;while(1){do if(!(c[Ha+416+(f<<2)>>2]|0))h=i;else{h=+B(+(+g[Ha+448+(f<<2)>>2]-m));h=h>3.1415927410125732?6.2831854820251465-h:h;if(!(h>2]=f;e=f}while(0);f=f+1|0;if((f|0)==(v|0))break;else i=h}c[Ha+416+(e<<2)>>2]=0;n=n+1|0;if((n|0)==(G|0))break;else a=a+4|0}}while(0);if((G|0)>0){f=ia+8|0;i=(c[j>>2]=Da,+g[j>>2]);h=(c[j>>2]=Ea,+g[j>>2]);if(fa){e=0;do{Ea=c[Ha+112+(e<<2)>>2]|0;g[Ha+448>>2]=+g[Ha+176+(Ea*3<<2)>>2]+ +g[ia>>2];g[Ha+448+4>>2]=+g[Ha+176+((Ea*3|0)+1<<2)>>2]+ +g[ga>>2];g[Ha+448+8>>2]=+g[Ha+176+((Ea*3|0)+2<<2)>>2]+ +g[f>>2];Da=c[(c[d>>2]|0)+16>>2]|0;g[Ha+416>>2]=-ha;g[Ha+416+4>>2]=-i;g[Ha+416+8>>2]=-h;g[Ha+416+12>>2]=0.0;Lb[Da&15](d,Ha+416|0,Ha+448|0,-+g[Ha+144+(Ea<<2)>>2]);e=e+1|0}while((e|0)<(G|0))}else{e=0;do{Da=c[Ha+112+(e<<2)>>2]|0;Aa=+g[Ha+176+(Da*3<<2)>>2]+ +g[ia>>2];g[Ha+448>>2]=Aa;Ba=+g[Ha+176+((Da*3|0)+1<<2)>>2]+ +g[ga>>2];g[Ha+448+4>>2]=Ba;Fa=+g[Ha+176+((Da*3|0)+2<<2)>>2]+ +g[f>>2];g[Ha+448+8>>2]=Fa;Ea=c[(c[d>>2]|0)+16>>2]|0;g[Ha+416>>2]=-ha;g[Ha+416+4>>2]=-i;g[Ha+416+8>>2]=-h;g[Ha+416+12>>2]=0.0;Ga=+g[Ha+144+(Da<<2)>>2];g[Ha+96>>2]=Aa-ha*Ga;g[Ha+96+4>>2]=Ba-Ga*i;g[Ha+96+8>>2]=Fa-Ga*h;g[Ha+96+12>>2]=0.0;Lb[Ea&15](d,Ha+416|0,Ha+96|0,-Ga);e=e+1|0}while((e|0)<(G|0))}}}while(0)}l=Ha;return} function Wj(b,d,e,f){b=b|0;d=d|0;e=+e;f=f|0;var h=0;h=hs()|0;c[h>>2]=5068;a[h+144>>0]=1;c[h+140>>2]=0;c[h+132>>2]=0;c[h+136>>2]=0;c[h+176>>2]=f;g[h+56>>2]=.019999999552965164;c[h+60>>2]=0;c[h+60+4>>2]=0;c[h+60+8>>2]=0;c[h+60+12>>2]=0;a[h+170>>0]=1;c[h+8>>2]=b;g[h+52>>2]=e;g[h+48>>2]=0.0;c[h+12>>2]=d;a[h+171>>0]=1;g[h+172>>2]=0.0;g[h+16>>2]=0.0;g[h+20>>2]=0.0;g[h+44>>2]=29.399999618530273;g[h+24>>2]=55.0;g[h+28>>2]=10.0;a[h+168>>0]=0;a[h+169>>0]=0;a[h+180>>0]=1;g[h+36>>2]=.7853981852531433;g[h+40>>2]=.7071067690849304;g[h+108>>2]=0.0;a[h+181>>0]=0;a[h+182>>0]=0;return h|0}function Xj(a,b,d){a=a|0;b=b|0;d=d|0;do if(!((b|0)==8&(d|0)==8)){if((b|0)==8&(d|0)==1){b=a+76|0;break}if((b|0)==1&(d|0)==8){b=a+80|0;break}if(!(d|b)){b=a+72|0;break}if((b|0)<20&(d|0)==28){b=a+88|0;break}if((b|0)==28&(d|0)<20){b=a+84|0;break}if((b|0)<20){if((d|0)<20){b=a+32|0;break}if((d+-21|0)>>>0<9){b=a+36|0;break}}else{if((d|0)<20&(b+-21|0)>>>0<9){b=a+40|0;break}if((b|0)==31)if((d|0)==31){b=a+48|0;break}else{b=a+44|0;break}}if((d|0)==31){b=a+52|0;break}else{b=a+56|0;break}}else b=a+60|0;while(0);return c[b>>2]|0}function Yj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;c[a+4>>2]=c[b+40>>2];e=c[b>>2]|0;c[a+76>>2]=e;if(d){c[a+44>>2]=c[b+8>>2];c[a+44+4>>2]=c[b+8+4>>2];c[a+44+8>>2]=c[b+8+8>>2];c[a+44+12>>2]=c[b+8+12>>2]}else{d=bI(KH(e)|0)|0;Pl(f,d,+g[b+8>>2],+g[b+12>>2],+g[b+16>>2]);c[a+44>>2]=c[f>>2];c[a+44+4>>2]=c[f+4>>2];c[a+44+8>>2]=c[f+8>>2];c[a+44+12>>2]=c[f+12>>2]}c[a+60>>2]=c[b+24>>2];c[a+60+4>>2]=c[b+24+4>>2];c[a+60+8>>2]=c[b+24+8>>2];c[a+60+12>>2]=c[b+24+12>>2];l=f;return +(+g[b+40>>2])}function Zj(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var h=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0;h=l;l=l+48|0;c[h+32>>2]=e;c[h+32+4>>2]=f;n=+g[b>>2];m=+g[b+4>>2];i=+g[b+8>>2];k=+g[a+56>>2]*n+ +g[a+60>>2]*m+ +g[a+64>>2]*i;j=n*+g[a+72>>2]+m*+g[a+76>>2]+i*+g[a+80>>2];i=n*+g[a+88>>2]+m*+g[a+92>>2]+i*+g[a+96>>2];c[h>>2]=c[a+48>>2];c[h+4>>2]=h+32;g[h+8>>2]=k;g[h+12>>2]=j;g[h+16>>2]=i;g[h+20>>2]=0.0;g[h+24>>2]=d;f=c[a+44>>2]|0;d=+jb[c[(c[f>>2]|0)+12>>2]&15](f,h,1);l=h;return +d}function _j(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,k=0.0,m=0,n=0;f=l;l=l+48|0;Kb[c[(c[a>>2]|0)+124>>2]&127](a,f+32|0,e);n=c[f+32>>2]|0;m=c[f+32+4>>2]|0;e=c[f+32+8>>2]|0;c[b>>2]=n;c[b+4>>2]=m;c[b+8>>2]=e;g[b+12>>2]=0.0;b=c[(c[a>>2]|0)+64>>2]|0;k=-(c[j>>2]=n,+g[j>>2]);i=-(c[j>>2]=m,+g[j>>2]);h=-(c[j>>2]=e,+g[j>>2]);g[f>>2]=k;g[f+4>>2]=i;g[f+8>>2]=h;g[f+12>>2]=0.0;Kb[b&127](f+16|0,a,f);c[d>>2]=c[f+16>>2];c[d+4>>2]=c[f+16+4>>2];c[d+8>>2]=c[f+16+8>>2];c[d+12>>2]=c[f+16+12>>2];l=f;return}function $j(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;if(e>>>0<3)switch(b|0){case 2:{g[a+756+(e<<2)>>2]=d;c[a+1304>>2]=c[a+1304>>2]|4<>2]=d;c[a+1304>>2]=c[a+1304>>2]|2<>2]=d;c[a+1304>>2]=c[a+1304>>2]|1<>>0>=3)return;switch(b|0){case 2:{g[a+868+(e+-3<<6)+32>>2]=d;c[a+1304>>2]=c[a+1304>>2]|4<>2]=d;c[a+1304>>2]=c[a+1304>>2]|2<>2]=d;c[a+1304>>2]=c[a+1304>>2]|1<>2]=5068;a[f+144>>0]=1;c[f+140>>2]=0;c[f+132>>2]=0;c[f+136>>2]=0;c[f+176>>2]=1;g[f+56>>2]=.019999999552965164;c[f+60>>2]=0;c[f+60+4>>2]=0;c[f+60+8>>2]=0;c[f+60+12>>2]=0;a[f+170>>0]=1;c[f+8>>2]=b;g[f+52>>2]=e;g[f+48>>2]=0.0;c[f+12>>2]=d;a[f+171>>0]=1;g[f+172>>2]=0.0;g[f+16>>2]=0.0;g[f+20>>2]=0.0;g[f+44>>2]=29.399999618530273;g[f+24>>2]=55.0;g[f+28>>2]=10.0;a[f+168>>0]=0;a[f+169>>0]=0;a[f+180>>0]=1;g[f+36>>2]=.7853981852531433;g[f+40>>2]=.7071067690849304;g[f+108>>2]=0.0;a[f+181>>0]=0;a[f+182>>0]=0;return f|0}function bk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0;h=ws()|0;c[h+4>>2]=3;c[h+8>>2]=-1;c[h+12>>2]=-1;g[h+16>>2]=3402823466385288598117041.0e14;a[h+20>>0]=1;a[h+21>>0]=0;c[h+24>>2]=-1;c[h+28>>2]=b;c[h+32>>2]=d;g[h+36>>2]=0.0;g[h+40>>2]=.30000001192092896;c[h+44>>2]=0;c[h>>2]=4740;c[h+300>>2]=c[e>>2];c[h+300+4>>2]=c[e+4>>2];c[h+300+8>>2]=c[e+8>>2];c[h+300+12>>2]=c[e+12>>2];c[h+316>>2]=c[f>>2];c[h+316+4>>2]=c[f+4>>2];c[h+316+8>>2]=c[f+8>>2];c[h+316+12>>2]=c[f+12>>2];c[h+332>>2]=0;a[h+344>>0]=0;g[h+348>>2]=.30000001192092896;g[h+352>>2]=1.0;g[h+356>>2]=0.0;return h|0}function ck(b){b=b|0;var d=0;c[b>>2]=4500;d=c[b+80>>2]|0;if(d|0){if(a[b+84>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+80>>2]=0}a[b+84>>0]=1;c[b+80>>2]=0;c[b+72>>2]=0;c[b+76>>2]=0;d=c[b+60>>2]|0;if(d|0){if(a[b+64>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+60>>2]=0}a[b+64>>0]=1;c[b+60>>2]=0;c[b+52>>2]=0;c[b+56>>2]=0;d=c[b+40>>2]|0;if(!d){a[b+44>>0]=1;c[b+40>>2]=0;c[b+32>>2]=0;b=b+36|0;c[b>>2]=0;return}if(a[b+44>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+40>>2]=0;a[b+44>>0]=1;c[b+40>>2]=0;c[b+32>>2]=0;b=b+36|0;c[b>>2]=0;return}function dk(b){b=b|0;var d=0;c[b>>2]=8916;d=c[b+64>>2]|0;if(d|0){if(a[b+68>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+64>>2]=0}a[b+68>>0]=1;c[b+64>>2]=0;c[b+56>>2]=0;c[b+60>>2]=0;d=c[b+44>>2]|0;if(d|0){if(a[b+48>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+44>>2]=0}a[b+48>>0]=1;c[b+44>>2]=0;c[b+36>>2]=0;c[b+40>>2]=0;d=c[b+16>>2]|0;if(!d){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}if(a[b+20>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}function ek(b){b=b|0;var d=0;c[b>>2]=5648;d=c[b+56>>2]|0;if(d|0){if(a[b+60>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;d=c[b+36>>2]|0;if(d|0){if(a[b+40>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;d=c[b+16>>2]|0;if(!d){d=b+12|0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[d>>2]=0;return}if(a[b+20>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+16>>2]=0;d=b+12|0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[d>>2]=0;return}function fk(b){b=b|0;var d=0;c[b>>2]=9516;d=c[b+60>>2]|0;if(d|0){if(a[b+64>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+60>>2]=0}a[b+64>>0]=1;c[b+60>>2]=0;c[b+52>>2]=0;c[b+56>>2]=0;d=c[b+40>>2]|0;if(d|0){if(a[b+44>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+40>>2]=0}a[b+44>>0]=1;c[b+40>>2]=0;c[b+32>>2]=0;c[b+36>>2]=0;d=c[b+16>>2]|0;if(!d){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}if(a[b+20>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}function gk(){var a=0,b=0,d=0,e=0;e=l;l=l+48|0;a=Nr()|0;if(a|0?(d=c[a>>2]|0,d|0):0){a=c[d+48>>2]|0;b=c[d+48+4>>2]|0;if(!((a&-256|0)==1126902528&(b|0)==1129074247)){c[e+24>>2]=22161;jw(22111,e+24|0)}if((a|0)==1126902529&(b|0)==1129074247)a=c[d+44>>2]|0;else a=d+80|0;c[e+36>>2]=a;d=c[d>>2]|0;a=c[d+4>>2]|0;if(dl(2752,d,e+36|0)|0){d=c[e+36>>2]|0;d=qb[c[(c[d>>2]|0)+8>>2]&127](d)|0;c[e>>2]=22161;c[e+4>>2]=a;c[e+8>>2]=d;jw(22025,e)}else{c[e+16>>2]=22161;c[e+16+4>>2]=a;jw(22070,e+16|0)}}jw(22149,e+32|0)}function hk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=sb[c[(c[b>>2]|0)+56>>2]&31](b,156)|0;d=c[d>>2]|0;c[b+4>>2]=d;c[b>>2]=3784;a[b+8>>0]=1;c[b+12>>2]=3996;c[b+60>>2]=d;c[b+64>>2]=0;a[b+88>>0]=1;c[b+84>>2]=0;c[b+76>>2]=0;c[b+80>>2]=0;a[b+108>>0]=1;c[b+104>>2]=0;c[b+96>>2]=0;c[b+100>>2]=0;a[b+128>>0]=1;c[b+124>>2]=0;c[b+116>>2]=0;c[b+120>>2]=0;a[b+148>>0]=1;c[b+144>>2]=0;c[b+136>>2]=0;c[b+140>>2]=0;c[b+16>>2]=c[f+8>>2];c[b+20>>2]=c[e+8>>2];Rf(b+12|0);return b|0}function ik(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;h=h|0;var i=0;i=l;l=l+64|0;c[i+48>>2]=f;c[i+48+4>>2]=h;f=c[a+212>>2]|0;if(!(+g[f+4>>2]>=e)){l=i;return +e}c[i>>2]=c[a+216>>2];c[i+4>>2]=i+48;c[i+8>>2]=c[b>>2];c[i+8+4>>2]=c[b+4>>2];c[i+8+8>>2]=c[b+8>>2];c[i+8+12>>2]=c[b+12>>2];c[i+24>>2]=c[d>>2];c[i+24+4>>2]=c[d+4>>2];c[i+24+8>>2]=c[d+8>>2];c[i+24+12>>2]=c[d+12>>2];g[i+40>>2]=e;e=+jb[c[(c[f>>2]|0)+12>>2]&15](f,i,0);l=i;return +e}function jk(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;h=h|0;var i=0;i=l;l=l+64|0;c[i+48>>2]=f;c[i+48+4>>2]=h;f=c[a+212>>2]|0;if(!(+g[f+4>>2]>=e)){l=i;return +e}c[i>>2]=c[a+216>>2];c[i+4>>2]=i+48;c[i+8>>2]=c[b>>2];c[i+8+4>>2]=c[b+4>>2];c[i+8+8>>2]=c[b+8>>2];c[i+8+12>>2]=c[b+12>>2];c[i+24>>2]=c[d>>2];c[i+24+4>>2]=c[d+4>>2];c[i+24+8>>2]=c[d+8>>2];c[i+24+12>>2]=c[d+12>>2];g[i+40>>2]=e;e=+jb[c[(c[f>>2]|0)+12>>2]&15](f,i,1);l=i;return +e}function kk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=sb[c[(c[b>>2]|0)+56>>2]&31](b,156)|0;d=c[d>>2]|0;c[b+4>>2]=d;c[b>>2]=3784;a[b+8>>0]=0;c[b+12>>2]=3996;c[b+60>>2]=d;c[b+64>>2]=0;a[b+88>>0]=1;c[b+84>>2]=0;c[b+76>>2]=0;c[b+80>>2]=0;a[b+108>>0]=1;c[b+104>>2]=0;c[b+96>>2]=0;c[b+100>>2]=0;a[b+128>>0]=1;c[b+124>>2]=0;c[b+116>>2]=0;c[b+120>>2]=0;a[b+148>>0]=1;c[b+144>>2]=0;c[b+136>>2]=0;c[b+140>>2]=0;c[b+16>>2]=c[e+8>>2];c[b+20>>2]=c[f+8>>2];Rf(b+12|0);return b|0}function lk(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0,f=0.0,h=0.0,i=0.0;c=l;l=l+48|0;d=2.0/+HE(b);f=+g[(bI(b)|0)>>2];e=+g[(KH(b)|0)>>2];i=+g[(JH(b)|0)>>2];h=+g[(IH(b)|0)>>2];g[c+32>>2]=1.0-(e*e*d+i*i*d);g[c+28>>2]=f*e*d-h*i*d;g[c+24>>2]=f*i*d+h*e*d;g[c+20>>2]=f*e*d+h*i*d;g[c+16>>2]=1.0-(f*f*d+i*i*d);g[c+12>>2]=e*i*d-h*f*d;g[c+8>>2]=f*i*d-h*e*d;g[c+4>>2]=e*i*d+h*f*d;g[c>>2]=1.0-(f*f*d+e*e*d);dp(a,c+32|0,c+28|0,c+24|0,c+20|0,c+16|0,c+12|0,c+8|0,c+4|0,c);l=c;return}function mk(a,b){a=a|0;b=b|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;if(!a)return;if(!(c[a+180>>2]&1))return;p=+g[a+4>>2];r=+g[b>>2];m=+g[a+20>>2];q=+g[b+4>>2];j=+g[a+36>>2];d=+g[b+8>>2];o=+g[a+8>>2];l=+g[a+24>>2];h=+g[a+40>>2];n=+g[a+12>>2];k=+g[a+28>>2];e=+g[a+44>>2];i=(p*r+m*q+j*d)*+g[a+164>>2];f=(r*o+q*l+d*h)*+g[a+168>>2];d=(r*n+q*k+d*e)*+g[a+172>>2];g[b>>2]=p*i+o*f+n*d;g[b+4>>2]=m*i+l*f+k*d;g[b+8>>2]=j*i+h*f+e*d;g[b+12>>2]=0.0;return}function nk(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0;i=is()|0;ve(i,b,d,e,f,h);c[i>>2]=4680;c[i+4>>2]=9;a[i+1309>>0]=0;g[i+1316>>2]=0.0;g[i+1340>>2]=0.0;g[i+1364>>2]=1.0;a[i+1310>>0]=0;g[i+1320>>2]=0.0;g[i+1344>>2]=0.0;g[i+1368>>2]=1.0;a[i+1311>>0]=0;g[i+1324>>2]=0.0;g[i+1348>>2]=0.0;g[i+1372>>2]=1.0;a[i+1312>>0]=0;g[i+1328>>2]=0.0;g[i+1352>>2]=0.0;g[i+1376>>2]=1.0;a[i+1313>>0]=0;g[i+1332>>2]=0.0;g[i+1356>>2]=0.0;g[i+1380>>2]=1.0;a[i+1314>>0]=0;g[i+1336>>2]=0.0;g[i+1360>>2]=0.0;g[i+1384>>2]=1.0;return i|0}function ok(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=c[e+16>>2]|0;if(!f){if(!(xo(e)|0)){f=c[e+16>>2]|0;g=5}}else g=5;a:do if((g|0)==5){g=c[e+20>>2]|0;if((f-g|0)>>>0>>0){ub[c[e+36>>2]&63](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){h=d;while(1){if(!h){f=d;break b}f=h+-1|0;if((a[b+f>>0]|0)==10)break;else h=f}if((ub[c[e+36>>2]&63](e,b,h)|0)>>>0>>0)break a;g=c[e+20>>2]|0;f=d-h|0;b=b+h|0}else f=d;while(0);_h(g|0,b|0,f|0)|0;c[e+20>>2]=(c[e+20>>2]|0)+f}while(0);return}function pk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;e=l;l=l+16|0;Kb[c[(c[b>>2]|0)+68>>2]&127](e,b,d);c[a>>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];i=+g[d>>2];h=+g[d+4>>2];f=+g[d+8>>2];k=i*i+h*h+f*f<1.4210854715202004e-14?-1.0:i;j=i*i+h*h+f*f<1.4210854715202004e-14?-1.0:h;f=i*i+h*h+f*f<1.4210854715202004e-14?-1.0:f;h=1.0/+C(+(f*f+(k*k+j*j)));i=+gb[c[(c[b>>2]|0)+48>>2]&15](b);g[a>>2]=+g[a>>2]+i*h*k;g[a+4>>2]=i*h*j+ +g[a+4>>2];g[a+8>>2]=i*h*f+ +g[a+8>>2];l=e;return}function qk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+48|0;e=ZF(b,0)|0;g[d+32>>2]=+Ho(c,e);g[d+28>>2]=+wo(c,e);g[d+24>>2]=+vo(c,e);e=ZF(b,1)|0;g[d+20>>2]=+Ho(c,e);g[d+16>>2]=+wo(c,e);g[d+12>>2]=+vo(c,e);b=ZF(b,2)|0;g[d+8>>2]=+Ho(c,b);g[d+4>>2]=+wo(c,b);g[d>>2]=+vo(c,b);nq(a,d+32|0,d+28|0,d+24|0,d+20|0,d+16|0,d+12|0,d+8|0,d+4|0,d);l=d;return}function rk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[b+188>>2]|0;if(d|0){g=c[a+68>>2]|0;g=qb[c[(c[g>>2]|0)+36>>2]&127](g)|0;Kb[c[(c[g>>2]|0)+40>>2]&127](g,d,c[a+24>>2]|0);g=c[a+68>>2]|0;Kb[c[(c[g>>2]|0)+12>>2]&127](g,d,c[a+24>>2]|0);c[b+188>>2]=0}f=c[a+8>>2]|0;if((f|0)<=0)return;g=c[a+16>>2]|0;d=0;while(1){e=g+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(f|0)){h=9;break}}if((h|0)==9)return;if((d|0)>=(f|0))return;c[e>>2]=c[g+(f+-1<<2)>>2];c[(c[a+16>>2]|0)+(f+-1<<2)>>2]=b;c[a+8>>2]=f+-1;return}function sk(b,d){b=b|0;d=d|0;var e=0,f=0,h=0;g[b+16>>2]=0.0;g[b+20>>2]=0.0;a[b+168>>0]=0;a[b+169>>0]=0;g[b+172>>2]=0.0;c[b+60>>2]=0;c[b+60+4>>2]=0;c[b+60+8>>2]=0;c[b+60+12>>2]=0;b=c[(c[b+8>>2]|0)+284>>2]|0;if((c[(qb[c[(c[b>>2]|0)+28>>2]&127](b)|0)+4>>2]|0)<=0)return;do{f=c[b>>2]|0;h=c[f+12>>2]|0;f=c[c[(qb[c[f+28>>2]&127](b)|0)+12>>2]>>2]|0;e=c[(c[(qb[c[(c[b>>2]|0)+28>>2]&127](b)|0)+12>>2]|0)+4>>2]|0;vb[h&31](b,f,e,c[d+24>>2]|0)|0}while((c[(qb[c[(c[b>>2]|0)+28>>2]&127](b)|0)+4>>2]|0)>0);return}function tk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;c[6175]=(c[6175]|0)+-1;Gb[c[(c[a>>2]|0)+20>>2]&127](a,b);e=c[b+768>>2]|0;d=(c[a+12>>2]|0)+-1|0;g=c[a+20>>2]|0;f=c[g+(e<<2)>>2]|0;c[g+(e<<2)>>2]=c[g+(d<<2)>>2];c[(c[a+20>>2]|0)+(d<<2)>>2]=f;c[(c[(c[a+20>>2]|0)+(e<<2)>>2]|0)+768>>2]=e;c[a+12>>2]=d;a=c[a+68>>2]|0;if(!b)return;g=c[a+16>>2]|0;if(g>>>0<=b>>>0?(g+(O(c[a>>2]|0,c[a+4>>2]|0)|0)|0)>>>0>b>>>0:0){c[b>>2]=c[a+12>>2];c[a+12>>2]=b;c[a+8>>2]=(c[a+8>>2]|0)+1;return}c[6473]=(c[6473]|0)+1;nd(c[b+-4>>2]|0);return}function uk(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;k=c[b+8>>2]|0;if((k|0)<=0)return;i=c[b+16>>2]|0;j=0;b=0;do{g=c[i+(j<<2)>>2]|0;if(!(c[g+204>>2]&3)){h=c[a+16>>2]|0;e=h+(b<<3)|0;d=c[e>>2]|0;if((d|0)==(b|0))d=b;else{f=d;do{d=h+(f<<3)|0;c[e>>2]=c[d>>2];d=c[d>>2]|0;e=h+(d<<3)|0;f=c[e>>2]|0}while((d|0)!=(f|0))}c[g+208>>2]=d;c[h+(b<<3)+4>>2]=j;c[g+212>>2]=-1;b=b+1|0}else{c[g+208>>2]=-1;c[g+212>>2]=-2}j=j+1|0}while((j|0)!=(k|0));return}function vk(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0;while(1){g=c[a+12>>2]|0;if(!(((e[f>>1]|0)>=(e[a>>1]|0)?(e[d>>1]|0)<=(e[a+6>>1]|0):0)&(e[d+4>>1]|0)<=(e[a+10>>1]|0)&(e[f+4>>1]|0)>=(e[a+4>>1]|0)&(e[d+2>>1]|0)<=(e[a+8>>1]|0)&(e[f+2>>1]|0)>=(e[a+2>>1]|0))){h=6;break}if((g|0)>-1)break;i=a+16|0;vk(i,b,d,f);g=c[a+28>>2]|0;a=(g|0)>-1?a+32|0:i+(0-g<<4)|0}if((h|0)==6)return;Kb[c[(c[b>>2]|0)+8>>2]&127](b,g>>21,g&2097151);return}function wk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=is()|0;Nd(f,b,d,e);c[f>>2]=4680;c[f+4>>2]=9;a[f+1309>>0]=0;g[f+1316>>2]=0.0;g[f+1340>>2]=0.0;g[f+1364>>2]=1.0;a[f+1310>>0]=0;g[f+1320>>2]=0.0;g[f+1344>>2]=0.0;g[f+1368>>2]=1.0;a[f+1311>>0]=0;g[f+1324>>2]=0.0;g[f+1348>>2]=0.0;g[f+1372>>2]=1.0;a[f+1312>>0]=0;g[f+1328>>2]=0.0;g[f+1352>>2]=0.0;g[f+1376>>2]=1.0;a[f+1313>>0]=0;g[f+1332>>2]=0.0;g[f+1356>>2]=0.0;g[f+1380>>2]=1.0;a[f+1314>>0]=0;g[f+1336>>2]=0.0;g[f+1360>>2]=0.0;g[f+1384>>2]=1.0;return f|0}function xk(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.0,k=0.0,l=0.0,m=0.0,n=0.0;if((e|0)<=0)return;f=0;do{n=+g[b+(f<<4)>>2];m=+g[b+(f<<4)+4>>2];j=+g[b+(f<<4)+8>>2];k=n*+g[a+56>>2]+m*+g[a+60>>2]+j*+g[a+64>>2];l=n*+g[a+72>>2]+m*+g[a+76>>2]+j*+g[a+80>>2];j=n*+g[a+88>>2]+m*+g[a+92>>2]+j*+g[a+96>>2];h=d+(f<<4)|0;i=a+56+((k>2]=c[i>>2];c[h+4>>2]=c[i+4>>2];c[h+8>>2]=c[i+8>>2];c[h+12>>2]=c[i+12>>2];f=f+1|0}while((f|0)!=(e|0));return}function yk(a,b){a=a|0;b=+b;var d=0,e=0;d=l;l=l+16|0;We(a,b);bj(11849);a=c[a+452>>2]|0;Bb[c[(c[a>>2]|0)+24>>2]&31](a,b);a=c[2405]|0;e=(c[a+16>>2]|0)+-1|0;c[a+16>>2]=e;if(e|0){l=d;return}do if(c[a+4>>2]|0){Za(d|0,0)|0;e=c[6471]|0;g[a+8>>2]=+g[a+8>>2]+ +(((c[d+4>>2]|0)-(c[e+4>>2]|0)+(((c[d>>2]|0)-(c[e>>2]|0)|0)*1e6|0)-(c[a+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[a+16>>2]|0)){a=c[2405]|0;break}else{l=d;return}}while(0);c[2405]=c[a+20>>2];l=d;return}function zk(b,d){b=b|0;d=d|0;a[b+148>>0]=0;if((((Vd(b,d)|0?(a[b+148>>0]=1,Vd(b,d)|0):0)?(a[b+148>>0]=1,Vd(b,d)|0):0)?(a[b+148>>0]=1,Vd(b,d)|0):0)?(a[b+148>>0]=1,Vd(b,d)|0):0)a[b+148>>0]=1;d=(c[b+8>>2]|0)+52|0;c[b+92>>2]=c[d>>2];c[b+92+4>>2]=c[d+4>>2];c[b+92+8>>2]=c[d+8>>2];c[b+92+12>>2]=c[d+12>>2];yp(b+112|0,d|0,16)|0;return}function Ak(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;h=+g[a+56>>2];k=+g[a+72>>2]-h;j=+g[a+60>>2];i=+g[a+76>>2]-j;l=+g[a+64>>2];m=+g[a+80>>2]-l;h=+g[a+88>>2]-h;j=+g[a+92>>2]-j;l=+g[a+96>>2]-l;g[d+12>>2]=0.0;f=1.0/+C(+((k*j-i*h)*(k*j-i*h)+((i*l-m*j)*(i*l-m*j)+(m*h-k*l)*(m*h-k*l))));g[d>>2]=(i*l-m*j)*f;g[d+4>>2]=(m*h-k*l)*f;g[d+8>>2]=(k*j-i*h)*f;c[e>>2]=c[a+56>>2];c[e+4>>2]=c[a+56+4>>2];c[e+8>>2]=c[a+56+8>>2];c[e+12>>2]=c[a+56+12>>2];return}function Bk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+224|0;e=g+80|0;f=e+40|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[g+120>>2]=c[d>>2];if((Oc(0,b,g+120|0,g,g+80|0)|0)>=0){d=c[2407]|0;if((a[9702]|0)<1)c[2407]=d&-33;if(!(c[2419]|0)){e=c[2418]|0;c[2418]=g+136;c[2414]=g+136;c[2412]=g+136;c[2419]=80;c[2411]=g+136+80;Oc(9628,b,g+120|0,g,g+80|0)|0;if(e|0){ub[c[9664>>2]&63](9628,0,0)|0;c[2418]=e;c[2419]=0;c[2411]=0;c[2414]=0;c[2412]=0}}else Oc(9628,b,g+120|0,g,g+80|0)|0;c[2407]=c[2407]|d&32}l=g;return}function Ck(b,d){b=b|0;d=d|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(!(c[6608]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{c[6614]=84;b=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=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;b=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;b=4;break}else{c[6614]=84;b=-1;break}}else b=1;while(0);return b|0}function Dk(b){b=b|0;var d=0,e=0,f=0;c[b>>2]=6356;d=c[b+12>>2]|0;if((d|0)>0){f=0;do{e=c[(c[b+20>>2]|0)+(f<<2)>>2]|0;if(e|0){Ab[c[c[e>>2]>>2]&511](e);e=c[b+4>>2]|0;Gb[c[(c[e>>2]|0)+60>>2]&127](e,c[(c[b+20>>2]|0)+(f<<2)>>2]|0)}f=f+1|0}while((f|0)!=(d|0))}d=c[b+20>>2]|0;if(!d){a[b+24>>0]=1;c[b+20>>2]=0;c[b+12>>2]=0;b=b+16|0;c[b>>2]=0;return}if(a[b+24>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+20>>2]=0;a[b+24>>0]=1;c[b+20>>2]=0;c[b+12>>2]=0;b=b+16|0;c[b>>2]=0;return}function Ek(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;h=+g[a+56>>2];f=+g[a+72>>2]-h;k=+g[a+60>>2];j=+g[a+76>>2]-k;e=+g[a+64>>2];i=+g[a+80>>2]-e;h=+g[a+88>>2]-h;k=+g[a+92>>2]-k;e=+g[a+96>>2]-e;g[c+12>>2]=0.0;d=1.0/+C(+((f*k-j*h)*(f*k-j*h)+((j*e-i*k)*(j*e-i*k)+(i*h-f*e)*(i*h-f*e))));g[c>>2]=(j*e-i*k)*d;g[c+4>>2]=(i*h-f*e)*d;g[c+8>>2]=(f*k-j*h)*d;if(!b)return;g[c>>2]=-((j*e-i*k)*d);g[c+4>>2]=-((i*h-f*e)*d);g[c+8>>2]=-((f*k-j*h)*d);return}function Fk(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;g=c[a+720>>2]|0;h=c[a+752>>2]|0;if((h|0)<=0){e=0;return e|0}a=c[a+760>>2]|0;f=0;while(1){i=c[a+(f*44|0)+8>>2]|0;if(((i|0)==(g+(e*104|0)|0)|((i|0)==(g+(b*104|0)|0)|(i|0)==(g+(d*104|0)|0))?(i=c[a+(f*44|0)+12>>2]|0,(i|0)==(g+(e*104|0)|0)|((i|0)==(g+(b*104|0)|0)|(i|0)==(g+(d*104|0)|0))):0)?(i=c[a+(f*44|0)+16>>2]|0,(i|0)==(g+(e*104|0)|0)|((i|0)==(g+(b*104|0)|0)|(i|0)==(g+(d*104|0)|0))):0){a=1;f=7;break}f=f+1|0;if((f|0)>=(h|0)){a=0;f=7;break}}if((f|0)==7)return a|0;return 0}function Gk(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,j=0;i=c[a+96>>2]|0;j=c[a+104>>2]|0;f=+g[j+(((b|0)%(i|0)|0)<<4)+4>>2]*+g[a+16>>2];h=+g[j+(((b|0)%(i|0)|0)<<4)+8>>2]*+g[a+20>>2];g[d>>2]=+g[j+(((b|0)%(i|0)|0)<<4)>>2]*+g[a+12>>2];g[d+4>>2]=f;g[d+8>>2]=h;g[d+12>>2]=0.0;d=c[a+104>>2]|0;h=+g[d+(((b+1|0)%(i|0)|0)<<4)+4>>2]*+g[a+16>>2];f=+g[d+(((b+1|0)%(i|0)|0)<<4)+8>>2]*+g[a+20>>2];g[e>>2]=+g[d+(((b+1|0)%(i|0)|0)<<4)>>2]*+g[a+12>>2];g[e+4>>2]=h;g[e+8>>2]=f;g[e+12>>2]=0.0;return}function Hk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,h=0,i=0;e=l;l=l+32|0;d=c[a+184>>2]|0;if(+g[d+4>>2]==0.0){a=0;l=e;return a|0}b=c[b>>2]|0;if(!(sb[c[(c[d>>2]|0)+8>>2]&31](d,c[b+188>>2]|0)|0)){a=1;l=e;return a|0}h=c[a+192>>2]|0;i=c[b+192>>2]|0;d=c[a+184>>2]|0;f=+g[a+188>>2];c[e>>2]=0;c[e+4>>2]=i;c[e+8>>2]=b;c[e+12>>2]=b+4;c[e+16>>2]=-1;c[e+20>>2]=-1;oc(h,a+36|0,a+100|0,e,d,f);a=1;l=e;return a|0}function Ik(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+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];a=c[a+8>>2]|0;c[a+260>>2]=(c[a+260>>2]|0)+1;c[a+4>>2]=1065353216;c[a+8>>2]=0;c[a+8+4>>2]=0;c[a+8+8>>2]=0;c[a+8+12>>2]=0;c[a+24>>2]=1065353216;c[a+28>>2]=0;c[a+28+4>>2]=0;c[a+28+8>>2]=0;c[a+28+12>>2]=0;c[a+44>>2]=1065353216;c[a+48>>2]=0;c[a+52>>2]=c[d>>2];c[a+52+4>>2]=c[d+4>>2];c[a+52+8>>2]=c[d+8>>2];c[a+52+12>>2]=c[d+12>>2];l=d;return}function Jk(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;bj(15137);d=c[a+68>>2]|0;Gb[c[(c[d>>2]|0)+32>>2]&127](d,c[a+24>>2]|0);a=c[2405]|0;d=(c[a+16>>2]|0)+-1|0;c[a+16>>2]=d;if(d|0){l=b;return}do if(c[a+4>>2]|0){Za(b|0,0)|0;d=c[6471]|0;g[a+8>>2]=+g[a+8>>2]+ +(((c[b+4>>2]|0)-(c[d+4>>2]|0)+(((c[b>>2]|0)-(c[d>>2]|0)|0)*1e6|0)-(c[a+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[a+16>>2]|0)){a=c[2405]|0;break}else{l=b;return}}while(0);c[2405]=c[a+20>>2];l=b;return}function Kk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;do switch(b|0){case 0:{f=0;b=1;break}case 1:{f=0;b=2;break}case 2:{f=1;b=3;break}case 3:{f=2;break}case 4:{f=0;break}case 5:{f=1;break}case 6:{f=2;break}case 7:{f=3;break}case 8:{f=4;b=5;break}case 9:{f=4;b=6;break}case 10:{f=5;b=7;break}case 11:{f=6;b=7;break}default:{f=0;b=0}}while(0);Kb[c[(c[a>>2]|0)+108>>2]&127](a,f,d);Kb[c[(c[a>>2]|0)+108>>2]&127](a,b,e);return}function Lk(a,b){a=a|0;b=b|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;k=+gb[c[(c[a>>2]|0)+48>>2]&15](a);h=+gb[c[(c[a>>2]|0)+48>>2]&15](a);d=+gb[c[(c[a>>2]|0)+48>>2]&15](a);m=(k+ +g[a+28>>2])/+g[a+12>>2];j=(h+ +g[a+32>>2])/+g[a+16>>2];f=(d+ +g[a+36>>2])/+g[a+20>>2];l=+B(+(+g[b>>2]));i=+B(+(+g[b+4>>2]));e=+B(+(+g[b+8>>2]));g[a+12>>2]=l;g[a+16>>2]=i;g[a+20>>2]=e;g[a+24>>2]=0.0;g[a+28>>2]=m*l-k;g[a+32>>2]=j*i-h;g[a+36>>2]=f*e-d;g[a+40>>2]=0.0;return}function Mk(b,d){b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0,j=0;if(a[b+527>>0]|0){c[d>>2]=0;c[d+4>>2]=0;return}c[d>>2]=3;c[d+4>>2]=3;j=c[b+28>>2]|0;i=c[b+32>>2]|0;lc(b,j+4|0,i+4|0,j+264|0,i+264|0);if((a[b+526>>0]|0?(e=c[d>>2]|0,c[d>>2]=e+1,f=c[d+4>>2]|0,c[d+4>>2]=f+-1,h=+g[b+456>>2],+g[b+444>>2]>2]>2]=e+2;c[d+4>>2]=f+-2}if(!(a[b+525>>0]|0))return;c[d>>2]=(c[d>>2]|0)+1;c[d+4>>2]=(c[d+4>>2]|0)+-1;return}function Nk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}g=d|d<<8|d<<16|d<<24;while((b|0)<=((f&-4)-64|0)){c[b>>2]=g;c[b+4>>2]=g;c[b+8>>2]=g;c[b+12>>2]=g;c[b+16>>2]=g;c[b+20>>2]=g;c[b+24>>2]=g;c[b+28>>2]=g;c[b+32>>2]=g;c[b+36>>2]=g;c[b+40>>2]=g;c[b+44>>2]=g;c[b+48>>2]=g;c[b+52>>2]=g;c[b+56>>2]=g;c[b+60>>2]=g;b=b+64|0}while((b|0)<(f&-4|0)){c[b>>2]=g;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return f-e|0}function Ok(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;if(!(((h-d)*b-(i-e)*a)*f+(((i-e)*c-(j-f)*b)*d+((j-f)*a-(h-d)*c)*e)<0.0)){k=0;return k|0}do if(!((h-d)*d+(i-e)*e+(j-f)*f>0.0))if((h-d)*h+(i-e)*i+(j-f)*j<0.0){d=h*h+i*i+j*j;break}else{d=((h*h+i*i+j*j)*(d*d+e*e+f*f)-(h*d+i*e+j*f)*(h*d+i*e+j*f))/((h-d)*(h-d)+(i-e)*(i-e)+(j-f)*(j-f));d=d>0.0?d:0.0;break}else d=d*d+e*e+f*f;while(0);g[k>>2]=+C(+d);k=1;return k|0}function Pk(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,h=0,i=0;b=c[b+36>>2]|0;i=c[b+8>>2]|0;h=c[b+12>>2]|0;f=c[b+16>>2]|0;e=+g[a+52>>2];d=+th(a+4|0,+g[a+36>>2],+g[a+40>>2],+g[a+44>>2],+g[i+8>>2],+g[i+12>>2],+g[i+16>>2],+g[h+8>>2],+g[h+12>>2],+g[h+16>>2],+g[f+8>>2],+g[f+12>>2],+g[f+16>>2],e);if(!(d>0.0&d>2]|0;h=h+1|0;c[i>>2]=h;return}g[a+52>>2]=d;c[a+56>>2]=b;i=a+60|0;h=c[i>>2]|0;h=h+1|0;c[i>>2]=h;return}function Qk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;a:do if(c>>>0>=3)if((c+-3|0)>>>0<3)switch(b|0){case 2:{d=+g[a+868+(c+-3<<6)+32>>2];break a}case 4:{d=+g[a+868+(c+-3<<6)+36>>2];break a}case 3:{d=+g[a+868+(c+-3<<6)+28>>2];break a}default:{d=0.0;break a}}else d=0.0;else switch(b|0){case 2:{d=+g[a+756+(c<<2)>>2];break a}case 4:{d=+g[a+772+(c<<2)>>2];break a}case 3:{d=+g[a+740+(c<<2)>>2];break a}default:{d=0.0;break a}}while(0);return +d}function Rk(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;Kb[c[(c[b>>2]|0)+68>>2]&127](a,b,d);if(!(+gb[c[(c[b>>2]|0)+48>>2]&15](b)!=0.0))return;h=+g[d>>2];f=+g[d+4>>2];e=+g[d+8>>2];j=h*h+f*f+e*e<1.4210854715202004e-14?-1.0:h;i=h*h+f*f+e*e<1.4210854715202004e-14?-1.0:f;e=h*h+f*f+e*e<1.4210854715202004e-14?-1.0:e;f=1.0/+C(+(e*e+(j*j+i*i)));h=+gb[c[(c[b>>2]|0)+48>>2]&15](b);g[a>>2]=+g[a>>2]+h*f*j;g[a+4>>2]=h*f*i+ +g[a+4>>2];g[a+8>>2]=h*f*e+ +g[a+8>>2];return}function Sk(b,d,e){b=b|0;d=d|0;e=+e;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;a[b+171>>0]=0;c[b+60>>2]=c[d>>2];c[b+60+4>>2]=c[d+4>>2];c[b+60+8>>2]=c[d+8>>2];c[b+60+12>>2]=c[d+12>>2];f=+g[b+60>>2];h=+g[b+64>>2];j=+g[b+68>>2];i=1.0/+C(+(f*f+h*h+j*j));if(+C(+(j*i*j*i+(f*i*f*i+h*i*h*i)))<1.1920928955078125e-07){k=0.0;h=0.0;f=0.0;d=0}else{k=f*i;h=h*i;f=j*i;d=c[b+72>>2]|0}g[b+76>>2]=k;g[b+80>>2]=h;g[b+84>>2]=f;c[b+88>>2]=d;g[b+172>>2]=+g[b+172>>2]+e;return}function Tk(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;do if(!(GC(b,c[d+8>>2]|0)|0)){if(GC(b,c[d>>2]|0)|0){if((c[d+16>>2]|0)!=(e|0)?(c[d+20>>2]|0)!=(e|0):0){c[d+32>>2]=f;c[d+20>>2]=e;c[d+40>>2]=(c[d+40>>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}}else Kr(d,e,f);while(0);return}function Uk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if(!(GC(b,c[d+8>>2]|0)|0)){g=c[b+12>>2]|0;bo(b+16|0,d,e,f);if((g|0)>1){h=b+24|0;do{bo(h,d,e,f);if(a[d+54>>0]|0)break a;h=h+8|0}while(h>>>0<(b+16+(g<<3)|0)>>>0)}}else Rm(d,e,f);while(0);return}function Vk(b,d,e,f,h){b=b|0;d=+d;e=e|0;f=f|0;h=h|0;g[b>>2]=d;c[b+4>>2]=e;c[b+72>>2]=f;c[b+76>>2]=c[h>>2];c[b+76+4>>2]=c[h+4>>2];c[b+76+8>>2]=c[h+8>>2];c[b+76+12>>2]=c[h+12>>2];g[b+92>>2]=0.0;g[b+96>>2]=0.0;g[b+100>>2]=.5;g[b+104>>2]=0.0;g[b+108>>2]=0.0;g[b+112>>2]=.800000011920929;g[b+116>>2]=1.0;a[b+120>>0]=0;g[b+124>>2]=.004999999888241291;g[b+128>>2]=.009999999776482582;g[b+132>>2]=.009999999776482582;g[b+136>>2]=.009999999776482582;Gq(b+8|0);return}function Wk(b,d,e){b=b|0;d=d|0;e=e|0;b=Vr(152)|0;c[b>>2]=5012;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;a[b+80>>0]=1;c[b+76>>2]=0;c[b+68>>2]=0;c[b+72>>2]=0;c[b+100>>2]=e;g[b+104>>2]=0.0;a[b+148>>0]=1;c[b+144>>2]=0;c[b+136>>2]=0;c[b+140>>2]=0;c[b+116>>2]=d;c[b+120>>2]=0;c[b+124>>2]=2;c[b+128>>2]=1;g[b+112>>2]=0.0;g[b+108>>2]=0.0;return b|0}function Xk(b){b=b|0;var d=0,e=0,f=0;e=Vr(5260)|0;c[e>>2]=5324;c[e+4>>2]=2;a[e+24>>0]=1;c[e+20>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+28>>2]=5796;c[e+5256>>2]=b;c[e+60>>2]=79;c[e+64>>2]=qb[c[(c[b>>2]|0)+12>>2]&127](b)|0;c[e+68>>2]=qb[c[(c[b>>2]|0)+8>>2]&127](b)|0;b=0;do{d=0;do{f=c[e+5256>>2]|0;c[e+72+(b*144|0)+(d<<2)>>2]=ub[c[(c[f>>2]|0)+16>>2]&63](f,b,d)|0;d=d+1|0}while((d|0)<36);b=b+1|0}while((b|0)<36);return e|0}function Yk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=sb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=sb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)Gb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+28>>2]=c[a+28>>2];c[b+32>>2]=c[a+32>>2];c[b+36>>2]=c[a+36>>2];c[b+40>>2]=c[a+40>>2];c[b+12>>2]=c[a+12>>2];c[b+16>>2]=c[a+16>>2];c[b+20>>2]=c[a+20>>2];c[b+24>>2]=c[a+24>>2];c[b+44>>2]=c[a+44>>2];c[b+52>>2]=c[a+52>>2];return 18047}function Zk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=l;l=l+32|0;if(!(+g[a+344>>2]!=0.0)){l=d;return}Xn(a,+g[b>>2],+g[b+4>>2],+g[b+8>>2]);if(!(bI(a+544|0)|0)){l=d;return}Ip(d,+g[b>>2],+g[b+4>>2],+g[b+8>>2],+g[a+348>>2],+g[a+352>>2],+g[a+356>>2]);Xo(d+16|0,+g[c>>2],+g[c+4>>2],+g[c+8>>2],+g[d>>2],+g[d+4>>2],+g[d+8>>2]);Yn(a,+g[d+16>>2],+g[d+16+4>>2],+g[d+16+8>>2]);l=d;return}function _k(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=sb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=sb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)Gb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+28>>2]=c[a+28>>2];c[b+32>>2]=c[a+32>>2];c[b+36>>2]=c[a+36>>2];c[b+40>>2]=c[a+40>>2];c[b+12>>2]=c[a+12>>2];c[b+16>>2]=c[a+16>>2];c[b+20>>2]=c[a+20>>2];c[b+24>>2]=c[a+24>>2];c[b+44>>2]=c[a+44>>2];c[b+52>>2]=c[a+52>>2];return 17591}function $k(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=sb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=sb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)Gb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+28>>2]=c[a+28>>2];c[b+32>>2]=c[a+32>>2];c[b+36>>2]=c[a+36>>2];c[b+40>>2]=c[a+40>>2];c[b+12>>2]=c[a+12>>2];c[b+16>>2]=c[a+16>>2];c[b+20>>2]=c[a+20>>2];c[b+24>>2]=c[a+24>>2];c[b+44>>2]=c[a+44>>2];c[b+52>>2]=c[a+68>>2];return 16611}function al(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;a[b+53>>0]=1;do if((c[b+4>>2]|0)==(e|0)){a[b+52>>0]=1;e=c[b+16>>2]|0;if(!e){c[b+16>>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((e|0)!=(d|0)){c[b+36>>2]=(c[b+36>>2]|0)+1;a[b+54>>0]=1;break}e=c[b+24>>2]|0;if((e|0)==2){c[b+24>>2]=f;e=f}if((e|0)==1?(c[b+48>>2]|0)==1:0)a[b+54>>0]=1}while(0);return}function bl(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0,k=0;e=l;l=l+16|0;j=c[a+52>>2]|0;k=c[a+28+(((j+2|0)%3|0)<<2)>>2]|0;c[e>>2]=k;c[e+4>>2]=k;c[e+8>>2]=k;g[e+12>>2]=0.0;g[e+(j<<2)>>2]=+g[a+28+(j<<2)>>2]+ +g[e+(j<<2)>>2];h=(+g[e>>2]+.03999999910593033)*2.0;f=(+g[e+4>>2]+.03999999910593033)*2.0;i=(+g[e+8>>2]+.03999999910593033)*2.0;g[d>>2]=b*.0833333283662796*(f*f+i*i);g[d+4>>2]=b*.0833333283662796*(h*h+i*i);g[d+8>>2]=b*.0833333283662796*(h*h+f*f);l=e;return}function cl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0;if((d|0)<=0)return;m=0;do{j=+g[a+32>>2];e=+g[a+28>>2];f=b+(m<<4)|0;h=+g[b+(m<<4)+4>>2];k=+g[b+(m<<4)+8>>2];l=+C(+(h*h+k*k));if(l!=0.0){i=+g[f>>2]<0.0?-e:e;h=h*(j/l);e=k*(j/l)}else{i=+g[f>>2]<0.0?-e:e;h=j;e=0.0}g[c+(m<<4)>>2]=i;g[c+(m<<4)+4>>2]=h;g[c+(m<<4)+8>>2]=e;m=m+1|0}while((m|0)!=(d|0));return}function dl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+64|0;if(!(GC(a,b)|0))if((b|0)!=0?(f=Vi(b,2760)|0,(f|0)!=0):0){b=g+4|0;e=b+52|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));c[g>>2]=f;c[g+8>>2]=a;c[g+12>>2]=-1;c[g+48>>2]=1;Nb[c[(c[f>>2]|0)+28>>2]&127](f,g,c[d>>2]|0,1);if((c[g+24>>2]|0)==1){c[d>>2]=c[g+16>>2];b=1}else b=0}else b=0;else b=1;l=g;return b|0}function el(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;j=c[b>>2]|0;if(!e)e=c[a+188>>2]|0;h=c[a+268>>2]|0;if((h|0)<=0)return;i=c[a+276>>2]|0;f=0;while(1){g=i+(f<<2)|0;if((c[g>>2]|0)==(j|0))break;f=f+1|0;if((f|0)>=(h|0)){k=9;break}}if((k|0)==9)return;if((f|0)>=(h|0))return;c[g>>2]=c[i+(h+-1<<2)>>2];c[a+268>>2]=h+-1;k=c[a+284>>2]|0;vb[c[(c[k>>2]|0)+12>>2]&31](k,e,b,d)|0;return}function fl(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.0,k=0.0,l=0.0,m=0;if((d|0)<=0)return;m=0;do{j=+g[a+28>>2];e=+g[a+36>>2];h=+g[b+(m<<4)>>2];k=+g[b+(m<<4)+4>>2];l=+C(+(h*h+k*k));f=+g[b+(m<<4)+8>>2];if(l!=0.0){i=f<0.0?-e:e;f=h*(j/l);e=k*(j/l)}else{i=f<0.0?-e:e;f=j;e=0.0}g[c+(m<<4)>>2]=f;g[c+(m<<4)+4>>2]=e;g[c+(m<<4)+8>>2]=i;m=m+1|0}while((m|0)!=(d|0));return}function gl(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.0,k=0.0,l=0.0,m=0;if((d|0)<=0)return;m=0;do{j=+g[a+28>>2];e=+g[a+32>>2];h=+g[b+(m<<4)>>2];k=+g[b+(m<<4)+8>>2];l=+C(+(h*h+k*k));f=+g[b+(m<<4)+4>>2];if(l!=0.0){i=f<0.0?-e:e;f=h*(j/l);e=k*(j/l)}else{i=f<0.0?-e:e;f=j;e=0.0}g[c+(m<<4)>>2]=f;g[c+(m<<4)+4>>2]=i;g[c+(m<<4)+8>>2]=e;m=m+1|0}while((m|0)!=(d|0));return}function hl(b,d){b=b|0;d=d|0;var e=0;e=Hs()|0;c[e+8>>2]=0;c[e+12>>2]=1065353216;c[e+16>>2]=1065353216;c[e+20>>2]=1065353216;g[e+24>>2]=0.0;g[e+44>>2]=.03999999910593033;c[e+52>>2]=0;c[e+56>>2]=1065353216;c[e+60>>2]=1065353216;c[e+64>>2]=1065353216;g[e+68>>2]=0.0;c[e+72>>2]=-1082130432;c[e+76>>2]=-1082130432;c[e+80>>2]=-1082130432;g[e+84>>2]=0.0;a[e+88>>0]=0;c[e>>2]=7884;c[e+92>>2]=b;c[e+4>>2]=3;if(!d)return e|0;jj(e);return e|0}function il(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=l;l=l+32|0;d=c[a+216>>2]|0;if(+g[d+4>>2]==0.0){a=0;l=e;return a|0}b=c[b>>2]|0;if(!(sb[c[(c[d>>2]|0)+8>>2]&31](d,c[b+188>>2]|0)|0)){a=1;l=e;return a|0}f=c[b+192>>2]|0;d=c[a+216>>2]|0;c[e>>2]=0;c[e+4>>2]=f;c[e+8>>2]=b;c[e+12>>2]=b+4;c[e+16>>2]=-1;c[e+20>>2]=-1;Kc(a+68|0,a+132|0,e,d);a=1;l=e;return a|0}function jl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=sb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=sb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)Gb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+28>>2]=c[a+28>>2];c[b+32>>2]=c[a+32>>2];c[b+36>>2]=c[a+36>>2];c[b+40>>2]=c[a+40>>2];c[b+12>>2]=c[a+12>>2];c[b+16>>2]=c[a+16>>2];c[b+20>>2]=c[a+20>>2];c[b+24>>2]=c[a+24>>2];c[b+44>>2]=c[a+44>>2];return 11252}function kl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=sb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=sb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)Gb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+12>>2]=c[a+68>>2];c[b+16>>2]=c[a+72>>2];c[b+20>>2]=c[a+76>>2];c[b+24>>2]=c[a+80>>2];c[b+28>>2]=c[a+48>>2];c[b+32>>2]=c[a+52>>2];c[b+36>>2]=c[a+56>>2];c[b+40>>2]=c[a+60>>2];c[b+44>>2]=c[a+64>>2];return 17288}function ll(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;a[b+171>>0]=1;c[b+60>>2]=c[d>>2];c[b+60+4>>2]=c[d+4>>2];c[b+60+8>>2]=c[d+8>>2];c[b+60+12>>2]=c[d+12>>2];e=+g[b+60>>2];f=+g[b+64>>2];i=+g[b+68>>2];h=1.0/+C(+(e*e+f*f+i*i));if(+C(+(i*h*i*h+(e*h*e*h+f*h*f*h)))<1.1920928955078125e-07){j=0.0;f=0.0;e=0.0;d=0}else{j=e*h;f=f*h;e=i*h;d=c[b+72>>2]|0}g[b+76>>2]=j;g[b+80>>2]=f;g[b+84>>2]=e;c[b+88>>2]=d;return}function ml(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,h=0,i=0,j=0;j=c[a+68>>2]|0;i=c[a+64>>2]|0;h=c[a+72>>2]|0;e=+g[a+60>>2]*(+g[b+(j<<2)>>2]/+g[a+12+(j<<2)>>2]);g[a+60>>2]=e;f=+g[a+56>>2]*(+g[b+(i<<2)>>2]/+g[a+12+(i<<2)>>2]+ +g[b+(h<<2)>>2]/+g[a+12+(h<<2)>>2])*.5;g[a+56>>2]=f;g[a+52>>2]=f/+C(+(e*e+f*f));f=+B(+(+g[b>>2]));e=+B(+(+g[b+4>>2]));d=+B(+(+g[b+8>>2]));g[a+12>>2]=f;g[a+16>>2]=e;g[a+20>>2]=d;g[a+24>>2]=0.0;return}function nl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=l;l=l+48|0;c[f+32>>2]=9132;c[f+32+4>>2]=e;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];c[f+16>>2]=c[d>>2];c[f+16+4>>2]=c[d+4>>2];c[f+16+8>>2]=c[d+8>>2];c[f+16+12>>2]=c[d+12>>2];Ue(c[a+4>>2]|0,f,f+32|0);Ue(c[a+64>>2]|0,f,f+32|0);l=f;return}function ol(b,d){b=b|0;d=+d;var e=0,f=0.0,h=0;d=1.0/+g[(c[b+116>>2]|0)+344>>2];if((c[b+136>>2]|0)<=0)return;h=0;do{e=c[b+144>>2]|0;if(!(a[e+(h*284|0)+84>>0]|0))f=0.0;else{f=+g[e+(h*284|0)+272>>2];f=d*(+g[e+(h*284|0)+216>>2]*(+g[e+(h*284|0)+204>>2]-+g[e+(h*284|0)+32>>2])*+g[e+(h*284|0)+268>>2]-f*+g[(f<0.0?e+(h*284|0)+220|0:e+(h*284|0)+224|0)>>2]);f=f<0.0?0.0:f}g[e+(h*284|0)+276>>2]=f;h=h+1|0}while((h|0)<(c[b+136>>2]|0));return}function pl(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0,f=0.0,h=0.0,i=0.0;e=l;l=l+48|0;f=+TH(b);h=+TH(c);i=+TH(d);b=+SH(b);c=+SH(c);d=+SH(d);g[e+32>>2]=h*i;g[e+28>>2]=c*b*i-f*d;g[e+24>>2]=c*f*i+b*d;g[e+20>>2]=h*d;g[e+16>>2]=c*b*d+f*i;g[e+12>>2]=c*f*d-b*i;g[e+8>>2]=-c;g[e+4>>2]=h*b;g[e>>2]=h*f;dp(a,e+32|0,e+28|0,e+24|0,e+20|0,e+16|0,e+12|0,e+8|0,e+4|0,e);l=e;return}function ql(a,d,f,g,h,i){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;j=c[a+108>>2]|0;if(j|0){Tb[c[(c[j>>2]|0)+24>>2]&7](j,d,f,g,h,i);return}j=b[a+56>>1]|0;if(!(j<<16>>16))return;h=1;d=1;do{i=c[a+68>>2]|0;if(b[i+(h<<2)>>1]&1){sb[c[(c[g>>2]|0)+8>>2]&31](g,(c[a+60>>2]|0)+((e[i+(h<<2)+2>>1]|0)<<6)|0)|0;j=b[a+56>>1]|0}d=d+1<<16>>16;h=d&65535}while(h>>>0<((j&65535)<<1|1)>>>0);return}function rl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=sb[c[(c[b>>2]|0)+56>>2]&31](b,80)|0;d=c[d>>2]|0;c[b+4>>2]=d;c[b>>2]=5700;a[b+8>>0]=1;c[b+12>>2]=5748;c[b+60>>2]=d;c[b+64>>2]=0;c[b+16>>2]=f;c[b+20>>2]=e;d=ub[c[(c[d>>2]|0)+12>>2]&63](d,c[f+8>>2]|0,c[e+8>>2]|0)|0;c[b+76>>2]=d;f=c[b+60>>2]|0;Gb[c[(c[f>>2]|0)+20>>2]&127](f,d);return b|0}function sl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0.0,i=0.0;e=+g[a+28>>2];i=+g[a+32>>2];h=+g[a+36>>2];switch(d|0){case 0:{a=0;d=0;f=1065353216;break}case 1:{a=0;d=0;f=-1082130432;break}case 2:{a=0;d=1065353216;f=0;e=i;break}case 3:{a=0;d=-1082130432;f=0;e=i;break}case 4:{a=1065353216;d=0;f=0;e=h;break}case 5:{a=-1082130432;d=0;f=0;e=h;break}default:return}c[b>>2]=f;c[b+4>>2]=d;c[b+8>>2]=a;g[b+12>>2]=-e;return}function tl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=sb[c[(c[b>>2]|0)+56>>2]&31](b,80)|0;d=c[d>>2]|0;c[b+4>>2]=d;c[b>>2]=5700;a[b+8>>0]=0;c[b+12>>2]=5748;c[b+60>>2]=d;c[b+64>>2]=0;c[b+16>>2]=e;c[b+20>>2]=f;d=ub[c[(c[d>>2]|0)+12>>2]&63](d,c[e+8>>2]|0,c[f+8>>2]|0)|0;c[b+76>>2]=d;f=c[b+60>>2]|0;Gb[c[(c[f>>2]|0)+20>>2]&127](f,d);return b|0}function ul(b){b=b|0;var d=0;c[b>>2]=5280;d=c[b+284>>2]|0;Ab[c[c[d>>2]>>2]&511](d);d=c[b+284>>2]|0;if(d|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b>>2]=5236;d=c[b+276>>2]|0;if(!d){a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;d=b+272|0;c[d>>2]=0;c[b>>2]=5200;return}if(a[b+280>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+276>>2]=0;a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;d=b+272|0;c[d>>2]=0;c[b>>2]=5200;return}function vl(a){a=a|0;var b=0,d=0,e=0,f=0.0,h=0.0;e=c[a+232>>2]|0;if((e|0)<=0)return;a=c[a+240>>2]|0;d=0;do{b=c[a+(d<<2)>>2]|0;switch(c[b+216>>2]|0){case 2:case 5:break;default:if(!(c[b+204>>2]&3)){h=+g[b+368>>2]*+g[b+352>>2];f=+g[b+372>>2]*+g[b+356>>2];g[b+412>>2]=+g[b+364>>2]*+g[b+348>>2]+ +g[b+412>>2];g[b+416>>2]=h+ +g[b+416>>2];g[b+420>>2]=f+ +g[b+420>>2]}}d=d+1|0}while((d|0)!=(e|0));return}function wl(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,m=0.0;c=l;l=l+16|0;m=+g[a+12>>2];i=+g[(bI(b)|0)>>2];j=+g[a>>2];k=+g[b+12>>2];h=+g[a+4>>2];d=+g[(JH(b)|0)>>2];e=+g[a+8>>2];f=+g[(KH(b)|0)>>2];g[c+12>>2]=m*i+j*k+h*d-e*f;g[c+8>>2]=m*f+h*k+e*i-j*d;g[c+4>>2]=m*d+e*k+j*f-h*i;g[c>>2]=m*k-j*i-h*f-e*d;Ar(a,c+12|0,c+8|0,c+4|0,c);l=c;return a|0}function xl(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;g=a[b+16>>0]|0;h=c[(g<<24>>24==0?d:e)+8>>2]|0;e=g<<24>>24?d:e;g=c[e+8>>2]|0;b=c[h+268>>2]|0;a:do if((b|0)>0){d=c[h+276>>2]|0;f=0;while(1){if((c[d+(f<<2)>>2]|0)==(g|0))break;f=f+1|0;if((f|0)>=(b|0))break a}if((f|0)!=(b|0))return}while(0);d=c[h+284>>2]|0;Kb[c[(c[d>>2]|0)+36>>2]&127](d,h,e);return}function yl(b){b=b|0;var d=0;d=Hs()|0;c[d+8>>2]=0;c[d+12>>2]=1065353216;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;g[d+24>>2]=0.0;g[d+44>>2]=.03999999910593033;c[d+52>>2]=0;c[d+56>>2]=1065353216;c[d+60>>2]=1065353216;c[d+64>>2]=1065353216;g[d+68>>2]=0.0;c[d+72>>2]=-1082130432;c[d+76>>2]=-1082130432;c[d+80>>2]=-1082130432;g[d+84>>2]=0.0;a[d+88>>0]=0;c[d>>2]=7884;c[d+92>>2]=b;c[d+4>>2]=3;jj(d);return d|0}function zl(a,b){a=a|0;b=+b;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0;h=+gb[c[(c[a>>2]|0)+48>>2]&15](a);e=+gb[c[(c[a>>2]|0)+48>>2]&15](a);i=+gb[c[(c[a>>2]|0)+48>>2]&15](a);h=h+ +g[a+28>>2];e=e+ +g[a+32>>2];i=i+ +g[a+36>>2];g[a+44>>2]=b;f=+gb[c[(c[a>>2]|0)+48>>2]&15](a);d=+gb[c[(c[a>>2]|0)+48>>2]&15](a);b=i-+gb[c[(c[a>>2]|0)+48>>2]&15](a);g[a+28>>2]=h-f;g[a+32>>2]=e-d;g[a+36>>2]=b;g[a+40>>2]=0.0;return}function Al(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if((c[a+8>>2]|0)<=0)return;g=0;a:while(1){while(1){e=c[a+16>>2]|0;f=e+(g<<4)|0;if(!(sb[c[(c[b>>2]|0)+8>>2]&31](b,f)|0))break;vb[c[(c[a>>2]|0)+12>>2]&31](a,c[f>>2]|0,c[e+(g<<4)+4>>2]|0,d)|0;c[6200]=(c[6200]|0)+-1;if((g|0)>=(c[a+8>>2]|0)){e=7;break a}}g=g+1|0;if((g|0)>=(c[a+8>>2]|0)){e=7;break}}if((e|0)==7)return}function Bl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=sb[c[(c[b>>2]|0)+56>>2]&31](b,16)|0;d=c[d>>2]|0;c[b+4>>2]=d;c[b>>2]=5768;a[b+8>>0]=0;c[b+12>>2]=0;if(!(ub[c[(c[d>>2]|0)+24>>2]&63](d,c[e+8>>2]|0,c[f+8>>2]|0)|0))return b|0;d=c[b+4>>2]|0;c[b+12>>2]=ub[c[(c[d>>2]|0)+12>>2]&63](d,c[e+8>>2]|0,c[f+8>>2]|0)|0;a[b+8>>0]=1;return b|0}function Cl(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;i=+gb[c[(c[a>>2]|0)+48>>2]&15](a);h=+gb[c[(c[a>>2]|0)+48>>2]&15](a);f=+gb[c[(c[a>>2]|0)+48>>2]&15](a);k=+g[b+52>>2]-h;j=+g[b+56>>2]-f;g[d>>2]=+g[b+48>>2]-i;g[d+4>>2]=k;g[d+8>>2]=j;g[d+12>>2]=0.0;h=h+ +g[b+52>>2];f=f+ +g[b+56>>2];g[e>>2]=i+ +g[b+48>>2];g[e+4>>2]=h;g[e+8>>2]=f;g[e+12>>2]=0.0;return}function Dl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=c[a+720>>2]|0;h=c[a+732>>2]|0;if((h|0)<=0){d=0;return d|0}a=c[a+740>>2]|0;f=0;while(1){e=c[a+(f*52|0)+8>>2]|0;if((e|0)==(g+(b*104|0)|0)?(c[a+(f*52|0)+12>>2]|0)==(g+(d*104|0)|0):0){a=1;e=8;break}if((e|0)==(g+(d*104|0)|0)?(c[a+(f*52|0)+12>>2]|0)==(g+(b*104|0)|0):0){a=1;e=8;break}f=f+1|0;if((f|0)>=(h|0)){a=0;e=8;break}}if((e|0)==8)return a|0;return 0}function El(a){a=a|0;var b=0,d=0,e=0.0,f=0.0;if((c[a+136>>2]|0)<=0)return;b=0;do{d=c[a+144>>2]|0;c[d+(b*284|0)+32>>2]=c[d+(b*284|0)+204>>2];g[d+(b*284|0)+272>>2]=0.0;f=-+g[d+(b*284|0)+56>>2];e=-+g[d+(b*284|0)+60>>2];g[d+(b*284|0)>>2]=-+g[d+(b*284|0)+52>>2];g[d+(b*284|0)+4>>2]=f;g[d+(b*284|0)+8>>2]=e;g[d+(b*284|0)+12>>2]=0.0;g[d+(b*284|0)+268>>2]=1.0;b=b+1|0}while((b|0)<(c[a+136>>2]|0));return}function Fl(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;j=+g[d>>2];i=+g[d+4>>2];e=+g[d+8>>2];f=j*+g[b+56>>2]+i*+g[b+60>>2]+e*+g[b+64>>2];h=j*+g[b+72>>2]+i*+g[b+76>>2]+e*+g[b+80>>2];e=j*+g[b+88>>2]+i*+g[b+92>>2]+e*+g[b+96>>2];b=b+56+((f>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];return}function Gl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=c[d>>2]|0;g=sb[c[(c[g>>2]|0)+56>>2]&31](g,20)|0;h=c[d+4>>2]|0;b=a[b+4>>0]|0;d=c[d>>2]|0;c[g+4>>2]=d;c[g>>2]=6196;a[g+8>>0]=0;c[g+12>>2]=h;a[g+16>>0]=b;if(h|0)return g|0;c[g+12>>2]=ub[c[(c[d>>2]|0)+12>>2]&63](d,c[e+8>>2]|0,c[f+8>>2]|0)|0;a[g+8>>0]=1;return g|0}function Hl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=sb[c[(c[b>>2]|0)+56>>2]&31](b,44)|0;c[b+4>>2]=c[d>>2];c[b>>2]=6356;a[b+24>>0]=1;c[b+20>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;a[b+28>>0]=1;c[b+32>>2]=c[d+4>>2];a[b+36>>0]=0;c[b+40>>2]=c[(c[f+4>>2]|0)+68>>2];Vg(b,e,f);return b|0}function Il(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=sb[c[(c[b>>2]|0)+56>>2]&31](b,44)|0;c[b+4>>2]=c[d>>2];c[b>>2]=6356;a[b+24>>0]=1;c[b+20>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;a[b+28>>0]=0;c[b+32>>2]=c[d+4>>2];a[b+36>>0]=0;c[b+40>>2]=c[(c[e+4>>2]|0)+68>>2];Vg(b,e,f);return b|0}function Jl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=l;l=l+48|0;c[f>>2]=7220;c[f+4>>2]=b;c[f+8>>2]=c[d>>2];c[f+8+4>>2]=c[d+4>>2];c[f+8+8>>2]=c[d+8>>2];c[f+8+12>>2]=c[d+12>>2];c[f+24>>2]=c[e>>2];c[f+24+4>>2]=c[e+4>>2];c[f+24+8>>2]=c[e+8>>2];c[f+24+12>>2]=c[e+12>>2];a=c[a+48>>2]|0;Nb[c[(c[a>>2]|0)+8>>2]&127](a,f,d,e);l=f;return}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;i=+g[a+28>>2];f=+g[a+32>>2];j=+g[a+36>>2];h=+gb[c[(c[a>>2]|0)+48>>2]&15](a);e=+gb[c[(c[a>>2]|0)+48>>2]&15](a);j=(j+ +gb[c[(c[a>>2]|0)+48>>2]&15](a))*2.0;g[d>>2]=b/12.0*((f+e)*2.0*(f+e)*2.0+j*j);g[d+4>>2]=b/12.0*((i+h)*2.0*(i+h)*2.0+j*j);g[d+8>>2]=b/12.0*((i+h)*2.0*(i+h)*2.0+(f+e)*2.0*(f+e)*2.0);g[d+12>>2]=0.0;return}function Ll(a,b){a=a|0;b=+b;var d=0,e=0.0,f=0.0,h=0.0,i=0.0;d=Fs()|0;c[d+4>>2]=35;c[d+8>>2]=0;g[d+12>>2]=0.0;c[d>>2]=7240;i=+g[a>>2];h=+g[a+4>>2];f=+g[a+8>>2];a=c[a+12>>2]|0;e=1.0/+C(+(i*i+h*h+f*f));g[d+48>>2]=i*e;g[d+52>>2]=h*e;g[d+56>>2]=f*e;c[d+60>>2]=a;g[d+64>>2]=b;c[d+68>>2]=0;c[d+68+4>>2]=0;c[d+68+8>>2]=0;c[d+68+12>>2]=0;c[d+4>>2]=28;return d|0}function Ml(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;f=c[d>>2]|0;f=sb[c[(c[f>>2]|0)+56>>2]&31](f,36)|0;g=c[d+4>>2]|0;i=c[b+12>>2]|0;h=c[b+8>>2]|0;e=c[b+16>>2]|0;b=c[b+20>>2]|0;c[f+4>>2]=c[d>>2];c[f>>2]=6244;c[f+8>>2]=i;c[f+12>>2]=h;a[f+16>>0]=0;c[f+20>>2]=g;a[f+24>>0]=0;c[f+28>>2]=e;c[f+32>>2]=b;return f|0}function Nl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=l;l=l+32|0;Rp(a,+g[b>>2],+g[b+4>>2],+g[b+8>>2]);Ip(d,+g[b>>2],+g[b+4>>2],+g[b+8>>2],+g[a+348>>2],+g[a+352>>2],+g[a+356>>2]);Xo(d+16|0,+g[c>>2],+g[c+4>>2],+g[c+8>>2],+g[d>>2],+g[d+4>>2],+g[d+8>>2]);Wp(a,+g[d+16>>2],+g[d+16+4>>2],+g[d+16+8>>2]);l=d;return}function Ol(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+64|0;c[d>>2]=1065353216;c[d+4>>2]=0;c[d+4+4>>2]=0;c[d+4+8>>2]=0;c[d+4+12>>2]=0;c[d+20>>2]=1065353216;c[d+24>>2]=0;c[d+24+4>>2]=0;c[d+24+8>>2]=0;c[d+24+12>>2]=0;c[d+40>>2]=1065353216;c[d+44>>2]=0;c[d+48>>2]=c[b>>2];c[d+48+4>>2]=c[b+4>>2];c[d+48+8>>2]=c[b+8>>2];c[d+48+12>>2]=c[b+12>>2];Bd(a,d);l=d;return}function Pl(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=+d;e=+e;var f=0,h=0;f=l;l=l+16|0;h=ZF(b,0)|0;g[f+8>>2]=+Sx(+g[h>>2],+g[h+4>>2],+g[h+8>>2],c,d,e);h=ZF(b,1)|0;g[f+4>>2]=+Sx(+g[h>>2],+g[h+4>>2],+g[h+8>>2],c,d,e);b=ZF(b,2)|0;g[f>>2]=+Sx(+g[b>>2],+g[b+4>>2],+g[b+8>>2],c,d,e);ps(a,f+8|0,f+4|0,f);l=f;return}function Ql(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;if((d|0)==0?1:(c[d+236>>2]&2|0)==0){d=1;return d|0}g=c[b+488>>2]|0;if((g|0)<=0){d=1;return d|0}b=c[b+496>>2]|0;f=0;while(1){e=c[b+(f<<2)>>2]|0;if(a[e+20>>0]|0){if((c[e+28>>2]|0)==(d|0)){b=0;e=8;break}if((c[e+32>>2]|0)==(d|0)){b=0;e=8;break}}f=f+1|0;if((f|0)>=(g|0)){b=1;e=8;break}}if((e|0)==8)return b|0;return 0}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;j=+g[a+28>>2];h=+g[a+32>>2];e=+g[a+36>>2];i=+gb[c[(c[a>>2]|0)+48>>2]&15](a);f=+gb[c[(c[a>>2]|0)+48>>2]&15](a);e=e+ +gb[c[(c[a>>2]|0)+48>>2]&15](a);g[d>>2]=+(b&1^1|0)*(j+i)-+(b&1|0)*(j+i);g[d+4>>2]=+(b>>>1&1^1|0)*(h+f)-+(b>>>1&1|0)*(h+f);g[d+8>>2]=+(b>>>2&1^1|0)*e-+(b>>>2&1|0)*e;g[d+12>>2]=0.0;return}function Sl(b,d){b=b|0;d=d|0;if((c[b+16>>2]|0)!=(0-(c[b+76>>2]|0)|0))return;tm(b+4|0);tm(b+64|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;c[b+124>>2]=0;c[b+124+4>>2]=0;c[b+124+8>>2]=0;c[b+168>>2]=0;c[b+168+4>>2]=0;c[b+168+8>>2]=0;c[b+168+12>>2]=0;c[b+168+16>>2]=0;c[b+168+20>>2]=0;return}function Tl(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=+d;e=+e;var f=0,h=0,i=0,j=0;f=l;l=l+16|0;j=ZF(b,0)|0;i=ZF(b,1)|0;h=ZF(b,2)|0;Im(f,c,d,e,+g[j>>2],+g[j+4>>2],+g[j+8>>2],+g[i>>2],+g[i+4>>2],+g[i+8>>2],+g[h>>2],+g[h+4>>2],+g[h+8>>2]);Hp(a,+g[f>>2],+g[f+4>>2],+g[f+8>>2],+g[b+48>>2],+g[b+52>>2],+g[b+56>>2]);l=f;return}function Ul(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;i=+g[b+28>>2];j=+g[b+32>>2];e=+g[b+36>>2];h=+gb[c[(c[b>>2]|0)+48>>2]&15](b);f=+gb[c[(c[b>>2]|0)+48>>2]&15](b);e=e+ +gb[c[(c[b>>2]|0)+48>>2]&15](b);f=+g[d+4>>2]>=0.0?j+f:-(j+f);e=+g[d+8>>2]>=0.0?e:-e;g[a>>2]=+g[d>>2]>=0.0?i+h:-(i+h);g[a+4>>2]=f;g[a+8>>2]=e;g[a+12>>2]=0.0;return}function Vl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0;if((d|0)<=0)return;e=0;do{i=+g[a+28>>2];h=+g[a+32>>2];h=+g[b+(e<<4)+4>>2]>=0.0?h:-h;f=+g[a+36>>2];f=+g[b+(e<<4)+8>>2]>=0.0?f:-f;g[c+(e<<4)>>2]=+g[b+(e<<4)>>2]>=0.0?i:-i;g[c+(e<<4)+4>>2]=h;g[c+(e<<4)+8>>2]=f;g[c+(e<<4)+12>>2]=0.0;e=e+1|0}while((e|0)!=(d|0));return}function Wl(b){b=b|0;var d=0,e=0;c[b>>2]=6484;d=c[b+64>>2]|0;if(d|0?(Vh(d),e=c[b+64>>2]|0,e|0):0){c[6473]=(c[6473]|0)+1;nd(c[e+-4>>2]|0)}d=c[b+24>>2]|0;if(!d){a[b+28>>0]=1;c[b+24>>2]=0;c[b+16>>2]=0;b=b+20|0;c[b>>2]=0;return}if(a[b+28>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+24>>2]=0;a[b+28>>0]=1;c[b+24>>2]=0;c[b+16>>2]=0;b=b+20|0;c[b>>2]=0;return}function Xl(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;a=c[a+32>>2]|0;c[d>>2]=c[a+(k<<5)+12>>2];c[b>>2]=c[a+(k<<5)+16>>2];c[e>>2]=c[a+(k<<5)+28>>2];c[f>>2]=c[a+(k<<5)+20>>2];c[i>>2]=c[a+(k<<5)>>2];c[g>>2]=c[a+(k<<5)+4>>2];c[h>>2]=c[a+(k<<5)+8>>2];c[j>>2]=c[a+(k<<5)+24>>2];return}function Yl(a,e,f){a=a|0;e=e|0;f=f|0;var h=0.0;switch(c[a+96>>2]|0){case 0:{f=(O(c[a+64>>2]|0,f)|0)+e|0;h=+g[(c[a+92>>2]|0)+(f<<2)>>2];return +h}case 5:{h=+(d[(O(c[a+64>>2]|0,f)|0)+e+(c[a+92>>2]|0)>>0]|0)*+g[a+88>>2];return +h}case 3:{f=(O(c[a+64>>2]|0,f)|0)+e|0;h=+(b[(c[a+92>>2]|0)+(f<<1)>>1]|0)*+g[a+88>>2];return +h}default:{h=0.0;return +h}}return 0.0}function Zl(b){b=b|0;var d=0,e=0;c[b>>2]=7448;d=c[b+104>>2]|0;if(d|0){if(a[b+108>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+104>>2]=0}a[b+108>>0]=1;c[b+104>>2]=0;c[b+96>>2]=0;c[b+100>>2]=0;c[b>>2]=7316;d=c[b+52>>2]|0;if(d|0?(Ab[c[c[d>>2]>>2]&511](d),e=c[b+52>>2]|0,e|0):0){c[6473]=(c[6473]|0)+1;nd(c[e+-4>>2]|0)}c[6473]=(c[6473]|0)+1;nd(c[b+-4>>2]|0);return}function _l(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;switch(b|0){case 0:{b=0;a=0;e=1065353216;break}case 1:{b=0;a=0;e=-1082130432;break}case 2:{b=0;a=1065353216;e=0;break}case 3:{b=0;a=-1082130432;e=0;break}case 4:{b=1065353216;a=0;e=0;break}case 5:{b=-1082130432;a=0;e=0;break}default:return}c[d>>2]=e;c[d+4>>2]=a;c[d+8>>2]=b;g[d+12>>2]=0.0;return}function $l(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;c[b+4>>2]=c[d>>2];c[b+4+4>>2]=c[d+4>>2];c[b+4+8>>2]=c[d+8>>2];c[b+4+12>>2]=c[d+12>>2];c[b+20>>2]=c[e>>2];c[b+20+4>>2]=c[e+4>>2];c[b+20+8>>2]=c[e+8>>2];c[b+20+12>>2]=c[e+12>>2];g[b+36>>2]=f;a[b+40>>0]=1;return}function am(a,b){a=a|0;b=b|0;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[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];c[a+24>>2]=c[b+24>>2];xm(a+28|0,b+28|0);c[a+76>>2]=c[b+76>>2];c[a+76+4>>2]=c[b+76+4>>2];c[a+76+8>>2]=c[b+76+8>>2];c[a+76+12>>2]=c[b+76+12>>2];c[a+76+16>>2]=c[b+76+16>>2];return}function bm(a,b){a=a|0;b=b|0;var c=0.0,d=0;d=l;l=l+32|0;c=+g[b+12>>2];if(1.0-c*c<1.1920928955078125e-06){g[d+20>>2]=1.0;g[d+16>>2]=0.0;g[d+12>>2]=0.0;ps(a,d+20|0,d+16|0,d+12|0);l=d;return}else{c=1.0/+RH(1.0-c*c);g[d+8>>2]=+g[b>>2]*c;g[d+4>>2]=+g[b+4>>2]*c;g[d>>2]=+g[b+8>>2]*c;ps(a,d+8|0,d+4|0,d);l=d;return}}function cm(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;d=l;l=l+16|0;c[d>>2]=9168;c[d+4>>2]=e;me(a+4|0,c[a+4>>2]|0,b,e+4|0,e+20|0,+g[e+32>>2],f,h,d);me(a+64|0,c[a+64>>2]|0,b,e+4|0,e+20|0,+g[e+32>>2],f,h,d);l=d;return}function dm(b){b=b|0;var d=0;c[b>>2]=7448;d=c[b+104>>2]|0;if(d|0){if(a[b+108>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+104>>2]=0}a[b+108>>0]=1;c[b+104>>2]=0;c[b+96>>2]=0;c[b+100>>2]=0;c[b>>2]=7316;d=c[b+52>>2]|0;if(!d)return;Ab[c[c[d>>2]>>2]&511](d);d=c[b+52>>2]|0;if(!d)return;c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0);return}function em(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[j>>3]=a;d=c[j>>2]|0;e=c[j+4>>2]|0;f=$t(d|0,e|0,52)|0;switch(f&2047){case 0:{if(a!=0.0){a=+em(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=(f&2047)+-1022;c[j>>2]=d;c[j+4>>2]=e&-2146435073|1071644672;a=+h[j>>3]}}return +a}function fm(a,b){a=+a;b=+b;var d=0;d=Zs()|0;c[d+8>>2]=0;c[d+12>>2]=1065353216;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;g[d+24>>2]=0.0;g[d+44>>2]=.03999999910593033;g[d+56>>2]=a;g[d+60>>2]=b;c[d+4>>2]=11;g[d+52>>2]=a/+C(+(a*a+b*b));c[d>>2]=6664;c[d+64>>2]=0;c[d+68>>2]=2;c[d+72>>2]=1;g[d+28>>2]=a;g[d+36>>2]=b;g[d+32>>2]=a;return d|0}function gm(a,b){a=+a;b=+b;var d=0;d=Zs()|0;c[d+8>>2]=0;c[d+12>>2]=1065353216;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;g[d+24>>2]=0.0;g[d+44>>2]=.03999999910593033;g[d+56>>2]=a;g[d+60>>2]=b;c[d+4>>2]=11;g[d+52>>2]=a/+C(+(a*a+b*b));c[d>>2]=6764;c[d+64>>2]=1;c[d+68>>2]=0;c[d+72>>2]=2;g[d+32>>2]=a;g[d+28>>2]=b;g[d+36>>2]=a;return d|0}function hm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=bI(c[a+4>>2]|0)|0;if((e|0)>(b|0)){c[a+4>>2]=b;return}if((e|0)<(b|0))Fn(a,b);while(1){if((e|0)>=(b|0))break;f=(c[a+12>>2]|0)+(e*104|0)|0;g=d;h=f+104|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));e=e+1|0}c[a+4>>2]=b;return}function im(a,b){a=+a;b=+b;var d=0;d=Zs()|0;c[d+8>>2]=0;c[d+12>>2]=1065353216;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;g[d+24>>2]=0.0;g[d+44>>2]=.03999999910593033;c[d>>2]=6564;g[d+56>>2]=a;g[d+60>>2]=b;c[d+4>>2]=11;c[d+64>>2]=0;c[d+68>>2]=1;c[d+72>>2]=2;g[d+28>>2]=a;g[d+32>>2]=b;g[d+36>>2]=a;g[d+52>>2]=a/+C(+(a*a+b*b));return d|0}function jm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0;e=l;l=l+16|0;c[e>>2]=-1;c[e+4>>2]=c[a+16>>2];if(!(c[b+4>>2]|0))c[b+4>>2]=e;g=c[a+12>>2]|0;f=+jb[c[(c[g>>2]|0)+12>>2]&15](g,b,d);c[a+4>>2]=c[(c[a+12>>2]|0)+4>>2];l=e;return +f}function km(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[a+348>>2]=c[b>>2];c[a+348+4>>2]=c[b+4>>2];c[a+348+8>>2]=c[b+8>>2];c[a+348+12>>2]=c[b+12>>2];kq(d,+g[a+348>>2],+g[a+352>>2],+g[a+356>>2],+g[a+344>>2]);c[a+560>>2]=c[d>>2];c[a+560+4>>2]=c[d+4>>2];c[a+560+8>>2]=c[d+8>>2];c[a+560+12>>2]=c[d+12>>2];l=d;return}function lm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=c[a+268>>2]|0;if((g|0)<=0)return;b=c[b>>2]|0;f=c[a+276>>2]|0;d=0;while(1){e=f+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(g|0)){h=7;break}}if((h|0)==7)return;if((d|0)>=(g|0))return;c[e>>2]=c[f+(g+-1<<2)>>2];c[a+268>>2]=g+-1;return}function mm(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0,f=0.0,h=0.0,i=0.0;e=l;l=l+16|0;f=+TH(b*.5);b=+SH(b*.5);h=+TH(c*.5);c=+SH(c*.5);i=+TH(d*.5);d=+SH(d*.5);g[e+12>>2]=d*h*f-i*c*b;g[e+8>>2]=i*c*f+d*h*b;g[e+4>>2]=i*h*b-d*c*f;g[e>>2]=i*h*f+d*c*b;Ar(a,e+12|0,e+8|0,e+4|0,e);l=e;return}function nm(a){a=a|0;var b=0;b=l;l=l+32|0;g[a>>2]=1.2000000476837158;g[a+4>>2]=0.0;g[a+8>>2]=0.0;g[a+12>>2]=1.0e3;g[b+20>>2]=0.0;g[b+16>>2]=0.0;g[b+12>>2]=0.0;ps(a+16|0,b+20|0,b+16|0,b+12|0);c[a+32>>2]=0;c[a+36>>2]=0;g[b+8>>2]=0.0;g[b+4>>2]=-10.0;g[b>>2]=0.0;ps(a+40|0,b+8|0,b+4|0,b);DB(a+56|0);l=b;return}function om(b,e){b=b|0;e=e|0;var f=0,g=0;f=0;while(1){if((d[20133+f>>0]|0)==(b|0)){g=2;break}f=f+1|0;if((f|0)==87){f=87;b=20221;g=5;break}}if((g|0)==2)if(!f)f=20221;else{b=20221;g=5}if((g|0)==5)while(1){do{g=b;b=b+1|0}while((a[g>>0]|0)!=0);f=f+-1|0;if(!f){f=b;break}else g=5}return nG(f,c[e+20>>2]|0)|0}function pm(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;c[a>>2]=b;c[a+4>>2]=d;c[a+8>>2]=c[e>>2];c[a+8+4>>2]=c[e+4>>2];c[a+8+8>>2]=c[e+8>>2];c[a+8+12>>2]=c[e+12>>2];c[a+24>>2]=c[f>>2];c[a+24+4>>2]=c[f+4>>2];c[a+24+8>>2]=c[f+8>>2];c[a+24+12>>2]=c[f+12>>2];g[a+40>>2]=h;return}function qm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a+280>>2]|0;if((f|0)<=0)return;g=c[a+288>>2]|0;d=0;while(1){e=g+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(f|0)){h=7;break}}if((h|0)==7)return;if((d|0)>=(f|0))return;c[e>>2]=c[g+(f+-1<<2)>>2];c[(c[a+288>>2]|0)+(f+-1<<2)>>2]=b;c[a+280>>2]=f+-1;return}function rm(){var b=0;b=l;l=l+48|0;if(a[22672]|0){l=b;return}if(!(Yy(22672)|0)){l=b;return}g[b+32>>2]=1.0;g[b+28>>2]=0.0;g[b+24>>2]=0.0;g[b+20>>2]=0.0;g[b+16>>2]=1.0;g[b+12>>2]=0.0;g[b+8>>2]=0.0;g[b+4>>2]=0.0;g[b>>2]=1.0;nq(23072,b+32|0,b+28|0,b+24|0,b+20|0,b+16|0,b+12|0,b+8|0,b+4|0,b);l=b;return}function sm(){var b=0,e=0,f=0;f=l;l=l+16|0;a[f>>0]=10;b=c[2411]|0;if(!b)if(!(xo(9628)|0)){b=c[2411]|0;e=4}else b=-1;else e=4;do if((e|0)==4){e=c[2412]|0;if(!(e>>>0>=b>>>0|(a[9703]|0)==10)){c[2412]=e+1;a[e>>0]=10;b=10;break}if((ub[c[9664>>2]&63](9628,f,1)|0)==1)b=d[f>>0]|0;else b=-1}while(0);l=f;return b|0}function tm(b){b=b|0;var d=0;d=c[b>>2]|0;if(d|0)dn(b,d);d=c[b+4>>2]|0;if(d|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+4>>2]=0;c[b+8>>2]=-1;d=c[b+32>>2]|0;if(d|0){if(a[b+36>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+16>>2]=0;return}function um(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[a+712>>2]|0;if((e|0)<=0)return;a=c[a+720>>2]|0;d=0;do{if(+g[a+(d*104|0)+88>>2]>0.0){f=a+(d*104|0)+56|0;g[f>>2]=+g[b>>2]+ +g[f>>2];f=a+(d*104|0)+60|0;g[f>>2]=+g[b+4>>2]+ +g[f>>2];f=a+(d*104|0)+64|0;g[f>>2]=+g[b+8>>2]+ +g[f>>2]}d=d+1|0}while((d|0)!=(e|0));return}function vm(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0.0;d=l;l=l+16|0;e=+Tz(+g[b>>2],+g[b+4>>2],+g[b+8>>2]);e=+SH(c*.5)/e;g[d+12>>2]=+g[(bI(b)|0)>>2]*e;g[d+8>>2]=+g[(KH(b)|0)>>2]*e;g[d+4>>2]=+g[(JH(b)|0)>>2]*e;g[d>>2]=+TH(c*.5);Ar(a,d+12|0,d+8|0,d+4|0,d);l=d;return}function wm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0;e=l;l=l+16|0;c[e>>2]=-1;c[e+4>>2]=c[a+24>>2];if(!(c[b+4>>2]|0))c[b+4>>2]=e;g=c[a+20>>2]|0;f=+jb[c[(c[g>>2]|0)+12>>2]&15](g,b,d);c[a+4>>2]=c[(c[a+20>>2]|0)+4>>2];l=e;return +f}function xm(a,b){a=a|0;b=b|0;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[a+16>>2]=c[b+16>>2];c[a+16+4>>2]=c[b+16+4>>2];c[a+16+8>>2]=c[b+16+8>>2];c[a+16+12>>2]=c[b+16+12>>2];c[a+32>>2]=c[b+32>>2];c[a+32+4>>2]=c[b+32+4>>2];c[a+32+8>>2]=c[b+32+8>>2];c[a+32+12>>2]=c[b+32+12>>2];return}function ym(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 zm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=sb[c[(c[b>>2]|0)+56>>2]&31](b,16)|0;d=c[d>>2]|0;c[b+4>>2]=d;c[b>>2]=9448;a[b+8>>0]=0;c[b+12>>2]=0;c[b+12>>2]=ub[c[(c[d>>2]|0)+12>>2]&63](d,c[e+8>>2]|0,c[f+8>>2]|0)|0;a[b+8>>0]=1;return b|0}function Am(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295)while(1){e=Rr(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e&255|48;e=b;b=AA(b|0,c|0,10,0)|0;if(!(c>>>0>9|(c|0)==9&e>>>0>4294967295))break;else c=z}if(b)while(1){d=d+-1|0;a[d>>0]=(b>>>0)%10|0|48;if(b>>>0<10)break;else b=(b>>>0)/10|0}return d|0}function Bm(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+56>>2]|0;if(!d)return;e=qb[c[(c[d>>2]|0)+8>>2]&127](d)|0;e=ub[c[(c[b>>2]|0)+16>>2]&63](b,e,1)|0;d=c[a+56>>2]|0;d=ub[c[(c[d>>2]|0)+12>>2]&63](d,c[e+8>>2]|0,b)|0;Rb[c[(c[b>>2]|0)+20>>2]&31](b,e,d,1346456916,c[a+56>>2]|0);return}function Cm(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;c[a+592>>2]=c[a+592>>2]|2;return}else{g[a+432>>2]=d;return}case 4:case 3:if(e>>>0<3){g[a+596>>2]=d;c[a+592>>2]=c[a+592>>2]|1;return}else{g[a+604>>2]=d;c[a+592>>2]=c[a+592>>2]|4;return}default:return}}function Dm(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;d=c[a+56>>2]|0;if((d&65535)<<16>>16)return;b[a+64>>1]=1;g=c[a+60>>2]|0;if((d>>>16&65535)>1){e=1;d=1;while(1){b[g+(e<<6)+48>>1]=e+1;f=d+1<<16>>16;d=b[a+58>>1]|0;if((f&65535)<(d&65535)){e=f&65535;d=f}else break}}else d=d>>>16&65535;b[g+((d&65535)+-1<<6)+48>>1]=0;return}function Em(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+52>>2]|0;if(!d)return;e=qb[c[(c[d>>2]|0)+12>>2]&127](d)|0;e=ub[c[(c[b>>2]|0)+16>>2]&63](b,e,1)|0;d=c[a+52>>2]|0;d=ub[c[(c[d>>2]|0)+16>>2]&63](d,c[e+8>>2]|0,b)|0;Rb[c[(c[b>>2]|0)+20>>2]&31](b,e,d,1213612625,c[a+52>>2]|0);return}function Fm(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;k=+g[b+28>>2];e=+g[b+36>>2];h=+g[c>>2];i=+g[c+4>>2];j=+C(+(h*h+i*i));d=+g[c+8>>2];if(j!=0.0){f=d<0.0?-e:e;e=h*(k/j);d=i*(k/j)}else{f=d<0.0?-e:e;e=k;d=0.0}g[a>>2]=e;g[a+8>>2]=f;g[a+4>>2]=d;return}function Gm(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;k=+g[b+28>>2];e=+g[b+32>>2];h=+g[c>>2];i=+g[c+8>>2];j=+C(+(h*h+i*i));d=+g[c+4>>2];if(j!=0.0){f=d<0.0?-e:e;e=h*(k/j);d=i*(k/j)}else{f=d<0.0?-e:e;e=k;d=0.0}g[a>>2]=e;g[a+4>>2]=f;g[a+8>>2]=d;return}function Hm(a){a=a|0;var b=0.0,d=0.0,e=0.0,f=0.0;b=+g[(c[a+28>>2]|0)+344>>2];d=+g[(c[a+32>>2]|0)+344>>2];if(d==0.0)b=1.0;else b=b/(b+d);f=1.0-b;e=b*+g[a+1116>>2]+f*+g[a+1180>>2];d=b*+g[a+1120>>2]+f*+g[a+1184>>2];g[a+1284>>2]=b*+g[a+1112>>2]+f*+g[a+1176>>2];g[a+1288>>2]=e;g[a+1292>>2]=d;g[a+1296>>2]=0.0;return}function Im(a,b,c,d,e,f,h,i,j,k,m,n,o){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;h=+h;i=+i;j=+j;k=+k;m=+m;n=+n;o=+o;var p=0;p=l;l=l+16|0;g[p+8>>2]=+Sx(b,c,d,e,f,h);g[p+4>>2]=+Sx(b,c,d,i,j,k);g[p>>2]=+Sx(b,c,d,m,n,o);ps(a,p+8|0,p+4|0,p);l=p;return}function Jm(a,b,c){a=a|0;b=b|0;c=+c;var d=0.0,e=0.0,f=0.0,h=0.0;e=+g[a+28>>2];f=+g[a+32>>2];h=+g[a+36>>2];d=+g[b>>2];if(!(d<=e+c)){b=0;return b|0}if(!(d>=-e-c)){b=0;return b|0}d=+g[b+4>>2];if(!(d<=f+c)){b=0;return b|0}if(!(d>=-f-c)){b=0;return b|0}d=+g[b+8>>2];if(!(d<=h+c)){b=0;return b|0}b=d>=-h-c;return b|0}function Km(a,b,d){a=a|0;b=b|0;d=d|0;Mv(a);c[a>>2]=3092;c[a+12>>2]=c[b>>2];c[a+12+4>>2]=c[b+4>>2];c[a+12+8>>2]=c[b+8>>2];c[a+12+12>>2]=c[b+12>>2];c[a+28>>2]=c[d>>2];c[a+28+4>>2]=c[d+4>>2];c[a+28+8>>2]=c[d+8>>2];c[a+28+12>>2]=c[d+12>>2];c[a+76>>2]=0;return}function Lm(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;j=+g[b+32>>2];d=+g[b+28>>2];e=+g[c+4>>2];h=+g[c+8>>2];i=+C(+(e*e+h*h));if(i!=0.0){f=+g[c>>2]<0.0?-d:d;e=e*(j/i);d=h*(j/i)}else{f=+g[c>>2]<0.0?-d:d;e=j;d=0.0}g[a+4>>2]=e;g[a>>2]=f;g[a+8>>2]=d;return}function Mm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;if(!(+g[b+36>>2]>f))return;a[b+40>>0]=1;c[b+4>>2]=c[d>>2];c[b+4+4>>2]=c[d+4>>2];c[b+4+8>>2]=c[d+8>>2];c[b+4+12>>2]=c[d+12>>2];c[b+20>>2]=c[e>>2];c[b+20+4>>2]=c[e+4>>2];c[b+20+8>>2]=c[e+8>>2];c[b+20+12>>2]=c[e+12>>2];g[b+36>>2]=f;return}function Nm(a,d){a=a|0;d=d|0;var e=0,f=0;e=c[d>>2]|0;f=c[a+80>>2]|0;if((e|0)==(f|0)){a=0;return a|0}d=c[d+4>>2]|0;if(!((b[a+10>>1]&(d&65535))<<16>>16)){a=0;return a|0}if(!((b[a+8>>1]&(d>>>16&65535))<<16>>16)){a=0;return a|0}a=c[a+92>>2]|0;a=ub[c[(c[a>>2]|0)+28>>2]&63](a,f,e)|0;return a|0}function Om(a,b){a=a|0;b=+b;var c=0,d=0.0;c=l;l=l+16|0;if(!(+g[a+68>>2]>0.0)){l=c;return}d=-+g[a+92>>2];b=-+g[a+96>>2];g[c>>2]=-+g[a+88>>2];g[c+4>>2]=d;g[c+8>>2]=b;g[c+12>>2]=0.0;Pi(a+4|0,c,a+164|0);Pi(a+16|0,a+88|0,a+180|0);l=c;return}function Pm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0,g=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{g=Nv(0,0,a|0,b|0)|0;f=z;d=cw((a|0)==0&(b|0)==0&1|0,0,~c|0,~d|0)|0;e=-+Pm(g,f,d,z);return +e}return 0.0}function Qm(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0;d=+g[a+344>>2];if(d!=0.0){f=1.0/d*+g[b+4>>2];e=1.0/d*+g[b+8>>2];g[a+364>>2]=1.0/d*+g[b>>2];g[a+368>>2]=f;g[a+372>>2]=e;g[a+376>>2]=0.0}c[a+380>>2]=c[b>>2];c[a+380+4>>2]=c[b+4>>2];c[a+380+8>>2]=c[b+8>>2];c[a+380+12>>2]=c[b+12>>2];return}function Rm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=c[b+16>>2]|0;do if(f){if((f|0)!=(d|0)){c[b+36>>2]=(c[b+36>>2]|0)+1;c[b+24>>2]=2;a[b+54>>0]=1;break}if((c[b+24>>2]|0)==2)c[b+24>>2]=e}else{c[b+16>>2]=d;c[b+24>>2]=e;c[b+36>>2]=1}while(0);return}function Sm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[a+8>>2]|0;a=c[f+8>>2]|0;if((a|0)<=0)return;e=0;do{d=c[(c[f+16>>2]|0)+(e*12|0)+8>>2]|0;if(d){Gb[c[(c[d>>2]|0)+16>>2]&127](d,b);a=c[f+8>>2]|0}e=e+1|0}while((e|0)<(a|0));return}function Tm(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+760>>2]=d;c[a+748>>2]=c[a+748>>2]|2;return}case 4:{g[a+756>>2]=d;c[a+748>>2]=c[a+748>>2]|1;return}case 3:{g[a+752>>2]=d;c[a+748>>2]=c[a+748>>2]|4;return}default:return}}function Um(a,b,d){a=a|0;b=b|0;d=d|0;ht(a);c[a>>2]=2920;c[a+20>>2]=c[b>>2];c[a+20+4>>2]=c[b+4>>2];c[a+20+8>>2]=c[b+8>>2];c[a+20+12>>2]=c[b+12>>2];c[a+36>>2]=c[d>>2];c[a+36+4>>2]=c[d+4>>2];c[a+36+8>>2]=c[d+8>>2];c[a+36+12>>2]=c[d+12>>2];return}function Vm(){var b=0,d=0,e=0;do if((c[2426]|0)>=0?(gI()|0)!=0:0){if((a[9703]|0)!=10?(d=c[2412]|0,d>>>0<(c[2411]|0)>>>0):0){c[2412]=d+1;a[d>>0]=10;break}sm()|0}else e=3;while(0);do if((e|0)==3){if((a[9703]|0)!=10?(b=c[2412]|0,b>>>0<(c[2411]|0)>>>0):0){c[2412]=b+1;a[b>>0]=10;break}sm()|0}while(0);return}function Wm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[d>>2]|0;a=px(c[b>>2]|0)|0;f=px(f)|0;if(a|0)Nb[c[(c[a>>2]|0)+32>>2]&127](a,d,e,b);if(!f)return 0;Nb[c[(c[f>>2]|0)+32>>2]&127](f,b,e,d);return 0}function Xm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+48|0;f=c[b+192>>2]|0;Nb[c[(c[f>>2]|0)+8>>2]&127](f,b+4|0,e+32|0,e+16|0);c[e>>2]=6148;c[e+4>>2]=b;c[e+8>>2]=a;c[e+12>>2]=d;a=c[a+68>>2]|0;Nb[c[(c[a>>2]|0)+28>>2]&127](a,e+32|0,e+16|0,e);l=e;return}function Ym(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+112|0;d=bI(c[b+4>>2]|0)|0;e=f;g=e+104|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(g|0));OF(f);hm(a,d,f);go(b,d,c[a+12>>2]|0);l=f;return}function Zm(a,b,d){a=a|0;b=b|0;d=d|0;a:do switch(c[b+216>>2]|0){case 2:case 5:{switch(c[d+216>>2]|0){case 2:case 5:{b=0;break}default:break a}return b|0}default:{}}while(0);if(c[b+256>>2]|0?!(sb[c[c[b>>2]>>2]&31](b,d)|0):0){a=0;return a|0}a=1;return a|0}function _m(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=l;l=l+256|0;if((c|0)>(d|0)&(e&73728|0)==0){Nk(f|0,b|0,((c-d|0)>>>0<256?c-d|0:256)|0)|0;if((c-d|0)>>>0>255){b=c-d|0;do{jz(a,f,256);b=b+-256|0}while(b>>>0>255);b=c-d&255}else b=c-d|0;jz(a,f,b)}l=f;return}function $m(a,b,d){a=a|0;b=b|0;d=d|0;Zh(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 12777}function an(a){a=a|0;c[5720]=c[a>>2];c[5721]=c[a+4>>2];c[5722]=c[a+8>>2];c[5723]=c[a+12>>2];c[5724]=c[a+16>>2];c[5725]=c[a+20>>2];c[5726]=c[a+24>>2];xm(22908,a+28|0);c[5739]=c[a+76>>2];c[5740]=c[a+76+4>>2];c[5741]=c[a+76+8>>2];c[5742]=c[a+76+12>>2];c[5743]=c[a+76+16>>2];return}function bn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=bI(b)|0;i=bI(b+16|0)|0;h=bI(b+32|0)|0;g=KH(b)|0;f=KH(b+16|0)|0;e=KH(b+32|0)|0;d=JH(b)|0;c=JH(b+16|0)|0;nq(a,j,i,h,g,f,e,d,c,JH(b+32|0)|0);return}function cn(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+4>>2]|0;e=bI(d)|0;if((e|0)==(bI(c[a+8>>2]|0)|0)){Bn(a,jB(e)|0);d=c[a+4>>2]|0}am((c[a+12>>2]|0)+(d*96|0)|0,b);c[a+4>>2]=(c[a+4>>2]|0)+1;return}function dn(a,b){a=a|0;b=b|0;var d=0;if(c[b+40>>2]|0){dn(a,c[b+36>>2]|0);dn(a,c[b+40>>2]|0)}if((c[a>>2]|0)==(b|0))c[a>>2]=0;d=c[a+4>>2]|0;if(!d){c[a+4>>2]=b;return}c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0);c[a+4>>2]=b;return}function en(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=c[a+32>>2]|0;c[g>>2]=(c[g>>2]|0)+1;ig(a,Dd(a,b,f)|0);ig(a,Dd(a,d,f)|0);ig(a,Dd(a,e,f)|0);return}function fn(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(GC(a,c[b+8>>2]|0)|0)al(b,d,e,f);else{a=c[a+8>>2]|0;Tb[c[(c[a>>2]|0)+20>>2]&7](a,b,d,e,f,g)}return}function gn(a){a=a|0;var b=0;b=l;l=l+48|0;g[b+32>>2]=1.0;g[b+28>>2]=0.0;g[b+24>>2]=0.0;g[b+20>>2]=0.0;g[b+16>>2]=1.0;g[b+12>>2]=0.0;g[b+8>>2]=0.0;g[b+4>>2]=0.0;g[b>>2]=1.0;dp(a,b+32|0,b+28|0,b+24|0,b+20|0,b+16|0,b+12|0,b+8|0,b+4|0,b);l=b;return}function hn(a,b){a=a|0;b=b|0;var d=0,e=0;c[a+68>>2]=(c[a+68>>2]|0)+1;d=c[a+16>>2]|0;if((d|0)>0)do{e=d;d=d+-1|0;if((c[(c[a+24>>2]|0)+(d*80|0)+64>>2]|0)==(b|0))je(a,d)}while((e|0)>1);Ab[c[(c[a>>2]|0)+68>>2]&511](a);return}function jn(a,b){a=+a;b=+b;var d=0;d=ct()|0;c[d+8>>2]=0;c[d+12>>2]=1065353216;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;g[d+24>>2]=0.0;g[d+44>>2]=.03999999910593033;c[d+4>>2]=10;c[d>>2]=7784;c[d+52>>2]=2;g[d+28>>2]=a;g[d+32>>2]=a;g[d+36>>2]=b*.5;g[d+40>>2]=0.0;return d|0}function kn(a,b){a=+a;b=+b;var d=0;d=ct()|0;c[d+8>>2]=0;c[d+12>>2]=1065353216;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;g[d+24>>2]=0.0;g[d+44>>2]=.03999999910593033;c[d+4>>2]=10;c[d>>2]=7684;c[d+52>>2]=0;g[d+28>>2]=b*.5;g[d+32>>2]=a;g[d+36>>2]=a;g[d+40>>2]=0.0;return d|0}function ln(a,b){a=+a;b=+b;var d=0;d=ct()|0;c[d+8>>2]=0;c[d+12>>2]=1065353216;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;g[d+24>>2]=0.0;g[d+44>>2]=.03999999910593033;c[d>>2]=7584;c[d+4>>2]=10;c[d+52>>2]=1;g[d+28>>2]=a;g[d+32>>2]=b*.5;g[d+36>>2]=a;g[d+40>>2]=0.0;return d|0}function mn(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+760>>2];break a}case 4:{d=+g[a+756>>2];break a}case 3:{d=+g[a+752>>2];break a}default:{d=0.0;break a}}default:d=0.0}while(0);return +d}function nn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=l;l=l+16|0;c[f>>2]=a;c[f+4>>2]=e;a=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=vb[c[(c[a>>2]|0)+8>>2]&31](a,f,b,d)|0;l=f;return a|0}function on(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=bI(c[a+4>>2]|0)|0;if((e|0)>(b|0)){c[a+4>>2]=b;return}if((e|0)<(b|0))Bn(a,b);while(1){if((e|0)>=(b|0))break;am((c[a+12>>2]|0)+(e*96|0)|0,d);e=e+1|0}c[a+4>>2]=b;return}function pn(a,b){a=a|0;b=b|0;var d=0;a=c[a+64>>2]|0;if(!b)return;d=c[a+16>>2]|0;if(d>>>0<=b>>>0?(d+(O(c[a>>2]|0,c[a+4>>2]|0)|0)|0)>>>0>b>>>0:0){c[b>>2]=c[a+12>>2];c[a+12>>2]=b;c[a+8>>2]=(c[a+8>>2]|0)+1;return}c[6473]=(c[6473]|0)+1;nd(c[b+-4>>2]|0);return}function qn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+96|0;d=bI(c[b+4>>2]|0)|0;e=f;g=e+96|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(g|0));on(a,d,f);sq(b,d,c[a+12>>2]|0);l=f;return}function rn(a){a=a|0;var b=0,d=0;if((c[a+232>>2]|0)<=0)return;b=0;do{d=(c[(c[a+240>>2]|0)+(b<<2)>>2]|0)+412|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;b=b+1|0}while((b|0)<(c[a+232>>2]|0));return}function sn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a+12>>2]|0;if((d|0)<=0)return;f=0;do{e=c[(c[a+20>>2]|0)+(f<<2)>>2]|0;if(e){Gb[c[(c[e>>2]|0)+16>>2]&127](e,b);d=c[a+12>>2]|0}f=f+1|0}while((f|0)<(d|0));return}function tn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=bI(c[a+4>>2]|0)|0;if((e|0)>(b|0)){c[a+4>>2]=b;return}if((e|0)<(b|0))xn(a,b);while(1){if((e|0)>=(b|0))break;c[(c[a+12>>2]|0)+(e<<2)>>2]=c[d>>2];e=e+1|0}c[a+4>>2]=b;return}function un(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+32>>2]|0;c[f>>2]=(c[f>>2]|0)+1;ig(a,Dd(a,b,0)|0);ig(a,Dd(a,d,0)|0);ig(a,Dd(a,e,0)|0);return}function vn(a,b,d){a=a|0;b=b|0;d=d|0;c[a+52>>2]=c[b>>2];c[a+52+4>>2]=c[b+4>>2];c[a+52+8>>2]=c[b+8>>2];c[a+52+12>>2]=c[b+12>>2];c[a+68>>2]=c[d>>2];c[a+68+4>>2]=c[d+4>>2];c[a+68+8>>2]=c[d+8>>2];c[a+68+12>>2]=c[d+12>>2];c[a+48>>2]=1;return}function wn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[d>>2]|0;a=px(c[b>>2]|0)|0;e=px(e)|0;if(a|0)Kb[c[(c[a>>2]|0)+28>>2]&127](a,d,b);if(!e)return 0;Kb[c[(c[e>>2]|0)+28>>2]&127](e,b,d);return 0}function xn(b,d){b=b|0;d=d|0;var e=0;if((bI(c[b+8>>2]|0)|0)>=(d|0))return;e=Ys(d)|0;Rq(b,bI(c[b+4>>2]|0)|0,e);ts(b);a[b+16>>0]=1;c[b+12>>2]=e;c[b+8>>2]=d;return}function yn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a;e=b;f=d+104|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));fv(a+104|0,b+104|0);gv(a+124|0,b+124|0);gv(a+144|0,b+144|0);return}function zn(a,b,c){a=+a;b=b|0;c=c|0;var d=0,e=0;e=l;l=l+32|0;d=Vr(140)|0;g[e+8>>2]=0.0;g[e+4>>2]=0.0;g[e>>2]=0.0;ps(e+16|0,e+8|0,e+4|0,e);Vk(d,a,b,c,e+16|0);l=e;return d|0}function An(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[d>>2]=c[b+16>>2];c[d+4>>2]=c[b+16+4>>2];c[d+8>>2]=c[b+16+8>>2];c[d+12>>2]=c[b+16+12>>2];c[e>>2]=c[b+32>>2];c[e+4>>2]=c[b+32+4>>2];c[e+8>>2]=c[b+32+8>>2];c[e+12>>2]=c[b+32+12>>2];return}function Bn(b,d){b=b|0;d=d|0;var e=0;if((bI(c[b+8>>2]|0)|0)>=(d|0))return;e=ot(d)|0;sq(b,bI(c[b+4>>2]|0)|0,e);ts(b);a[b+16>>0]=1;c[b+12>>2]=e;c[b+8>>2]=d;return}function Cn(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;h=c[a+4>>2]|0;if(!(h&1))i=h>>8;else i=c[(c[e>>2]|0)+(h>>8)>>2]|0;a=c[a>>2]|0;Tb[c[(c[a>>2]|0)+20>>2]&7](a,b,d,e+i|0,h&2|0?f:2,g);return}function Dn(a,b){a=a|0;b=b|0;var d=0;a=c[a+64>>2]|0;d=c[a+8>>2]|0;if(d|0){b=c[a+12>>2]|0;c[a+12>>2]=c[b>>2];c[a+8>>2]=d+-1;return b|0}c[6472]=(c[6472]|0)+1;a=ic(b+19|0)|0;if(!a){b=0;return b|0}c[(a+4+15&-16)+-4>>2]=a;b=a+4+15&-16;return b|0}function En(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a+720>>2]|0;if(!(+g[a+(d*104|0)+88>>2]>0.0))return;g[a+(d*104|0)+56>>2]=+g[b>>2]+ +g[a+(d*104|0)+56>>2];g[a+(d*104|0)+60>>2]=+g[b+4>>2]+ +g[a+(d*104|0)+60>>2];g[a+(d*104|0)+64>>2]=+g[b+8>>2]+ +g[a+(d*104|0)+64>>2];return}function Fn(b,d){b=b|0;d=d|0;var e=0;if((bI(c[b+8>>2]|0)|0)>=(d|0))return;e=tt(d)|0;go(b,bI(c[b+4>>2]|0)|0,e);ts(b);a[b+16>>0]=1;c[b+12>>2]=e;c[b+8>>2]=d;return}function Gn(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g[a+692>>2]=(c-b)*.5;c=+bh((c-b)*.5+b,6.2831854820251465);if(!(c<-3.1415927410125732)){if(c>3.1415927410125732)c=c+-6.2831854820251465}else c=c+6.2831854820251465;g[a+688>>2]=c;g[a+696>>2]=d;g[a+700>>2]=e;g[a+704>>2]=f;return}function Hn(a,b,d){a=a|0;b=+b;d=+d;var e=0;e=l;l=l+16|0;g[e+12>>2]=b;g[e+8>>2]=d;g[e+4>>2]=0.0;g[e>>2]=1.0;c[a+444>>2]=c[(b<0.0?e+4|0:b>1.0?e:e+12|0)>>2];g[e+4>>2]=0.0;g[e>>2]=1.0;c[a+448>>2]=c[(d<0.0?e+4|0:d>1.0?e:e+8|0)>>2];l=e;return}function In(){var b=0;b=l;l=l+32|0;if(a[22664]|0){l=b;return}if(!(Yy(22664)|0)){l=b;return}rm();g[b+8>>2]=0.0;g[b+4>>2]=0.0;g[b>>2]=0.0;ps(b+16|0,b+8|0,b+4|0,b);qq(23008,23072,b+16|0);l=b;return}function Jn(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[(c[b>>2]|0)+16>>2]|0;e=qb[c[(c[a>>2]|0)+16>>2]&127](a)|0;e=ub[d&63](b,e,1)|0;d=ub[c[(c[a>>2]|0)+20>>2]&63](a,c[e+8>>2]|0,b)|0;Rb[c[(c[b>>2]|0)+20>>2]&31](b,e,d,1497645650,a);return}function Kn(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=l;l=l+32|0;Pl(e,bI(a+4|0)|0,b,c,d);Ip(e+16|0,+g[e>>2],+g[e+4>>2],+g[e+8>>2],+g[a+348>>2],+g[a+352>>2],+g[a+356>>2]);Or(a+412|0,e+16|0)|0;l=e;return}function Ln(a,b,c){a=a|0;b=b|0;c=+c;var d=0;d=l;l=l+16|0;g[d+12>>2]=+g[(bI(b)|0)>>2]*c;g[d+8>>2]=+g[(KH(b)|0)>>2]*c;g[d+4>>2]=+g[(JH(b)|0)>>2]*c;g[d>>2]=+g[b+12>>2]*c;yv(a,d+12|0,d+8|0,d+4|0,d);l=d;return}function Mn(a,b,d){a=a|0;b=b|0;d=d|0;c[b>>2]=c[a+52>>2];c[b+4>>2]=c[a+52+4>>2];c[b+8>>2]=c[a+52+8>>2];c[b+12>>2]=c[a+52+12>>2];c[d>>2]=c[a+68>>2];c[d+4>>2]=c[a+68+4>>2];c[d+8>>2]=c[a+68+8>>2];c[d+12>>2]=c[a+68+12>>2];return}function Nn(a){a=a|0;var b=0,d=0,e=0;b=c[a+24>>2]|0;if((b|0)<=0)return;e=0;do{d=c[(c[a+32>>2]|0)+(e<<2)>>2]|0;switch(c[d+216>>2]|0){case 2:case 5:break;default:{lg(d);b=c[a+24>>2]|0}}e=e+1|0}while((e|0)<(b|0));return}function On(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=l;l=l+32|0;Pl(e,bI(a+4|0)|0,b,c,d);Ip(e+16|0,+g[e>>2],+g[e+4>>2],+g[e+8>>2],+g[a+544>>2],+g[a+548>>2],+g[a+552>>2]);Or(a+428|0,e+16|0)|0;l=e;return}function Pn(a,b){a=a|0;b=b|0;var d=0,e=0;e=qb[c[(c[a>>2]|0)+16>>2]&127](a)|0;e=ub[c[(c[b>>2]|0)+16>>2]&63](b,e,1)|0;d=ub[c[(c[a>>2]|0)+20>>2]&63](a,c[e+8>>2]|0,b)|0;Rb[c[(c[b>>2]|0)+20>>2]&31](b,e,d,1245859651,a);return}function Qn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(GC(a,c[b+8>>2]|0)|0)Rm(b,d,e);else{a=c[a+8>>2]|0;Nb[c[(c[a>>2]|0)+28>>2]&127](a,b,d,e)}return}function Rn(a,b,d){a=a|0;b=b|0;d=d|0;c[b>>2]=c[a+8>>2];c[b+4>>2]=c[a+8+4>>2];c[b+8>>2]=c[a+8+8>>2];c[b+12>>2]=c[a+8+12>>2];c[d>>2]=c[a+24>>2];c[d+4>>2]=c[a+24+4>>2];c[d+8>>2]=c[a+24+8>>2];c[d+12>>2]=c[a+24+12>>2];return}function Sn(a,b){a=a|0;b=b|0;var d=0,e=0;e=qb[c[(c[a>>2]|0)+52>>2]&127](a)|0;e=ub[c[(c[b>>2]|0)+16>>2]&63](b,e,1)|0;d=ub[c[(c[a>>2]|0)+56>>2]&63](a,c[e+8>>2]|0,b)|0;Rb[c[(c[b>>2]|0)+20>>2]&31](b,e,d,1346455635,a);return}function Tn(a,b){a=a|0;b=b|0;var c=0;c=l;l=l+80|0;bn(c+32|0,b);Yq(c,+g[b+48>>2],+g[b+52>>2],+g[b+56>>2]);Pl(c+16|0,c+32|0,+g[c>>2],+g[c+4>>2],+g[c+8>>2]);qq(a,c+32|0,c+16|0);l=c;return}function Un(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;g=c[a+4>>2]|0;if(!(g&1))h=g>>8;else h=c[(c[d>>2]|0)+(g>>8)>>2]|0;a=c[a>>2]|0;Rb[c[(c[a>>2]|0)+24>>2]&31](a,b,d+h|0,g&2|0?e:2,f);return}function Vn(a,b,d){a=a|0;b=b|0;d=d|0;c[a+164>>2]=c[b>>2];c[a+164+4>>2]=c[b+4>>2];c[a+164+8>>2]=c[b+8>>2];c[a+164+12>>2]=c[b+12>>2];b=bI(b)|0;if((!(+g[b>>2]!=1.0)?!(+g[b+4>>2]!=1.0):0)?!(+g[b+8>>2]!=1.0):0)d=0;c[a+180>>2]=d;return}function Wn(b){b=b|0;var d=0;c[b>>2]=5236;d=c[b+276>>2]|0;if(d|0){if(a[b+280>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+276>>2]=0}a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;c[b+272>>2]=0;c[b>>2]=5200;c[6473]=(c[6473]|0)+1;nd(c[b+-4>>2]|0);return}function Xn(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=l;l=l+32|0;Ip(e,b,c,d,+g[a+348>>2],+g[a+352>>2],+g[a+356>>2]);kq(e+16|0,+g[e>>2],+g[e+4>>2],+g[e+8>>2],+g[a+344>>2]);Or(a+312|0,e+16|0)|0;l=e;return}function Yn(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=l;l=l+32|0;Pl(e,a+264|0,b,c,d);Ip(e+16|0,+g[e>>2],+g[e+4>>2],+g[e+8>>2],+g[a+544>>2],+g[a+548>>2],+g[a+552>>2]);Or(a+328|0,e+16|0)|0;l=e;return}function Zn(b){b=b|0;var d=0;c[b>>2]=4252;d=c[b+496>>2]|0;if(d|0){if(a[b+500>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+496>>2]=0}a[b+500>>0]=1;c[b+496>>2]=0;c[b+488>>2]=0;c[b+492>>2]=0;c[b>>2]=5200;c[6473]=(c[6473]|0)+1;nd(c[b+-4>>2]|0);return}function _n(a,b,d){a=a|0;b=b|0;d=d|0;c[b>>2]=c[a+892>>2];c[b+4>>2]=c[a+892+4>>2];c[b+8>>2]=c[a+892+8>>2];c[b+12>>2]=c[a+892+12>>2];c[d>>2]=c[a+908>>2];c[d+4>>2]=c[a+908+4>>2];c[d+8>>2]=c[a+908+8>>2];c[d+12>>2]=c[a+908+12>>2];return}function $n(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}case 4:case 3:{d=+g[a+340>>2];break a}default:{d=3402823466385288598117041.0e14;break a}}else d=3402823466385288598117041.0e14;while(0);return +d}function ao(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0;f=+g[b+28>>2];e=+g[b+32>>2];e=+g[c+4>>2]>=0.0?e:-e;d=+g[b+36>>2];d=+g[c+8>>2]>=0.0?d:-d;g[a>>2]=+g[c>>2]>=0.0?f:-f;g[a+4>>2]=e;g[a+8>>2]=d;g[a+12>>2]=0.0;return}function bo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[a+4>>2]|0;if(!(f&1))g=f>>8;else g=c[(c[d>>2]|0)+(f>>8)>>2]|0;a=c[a>>2]|0;Nb[c[(c[a>>2]|0)+28>>2]&127](a,b,d+g|0,f&2|0?e:2);return}function co(b){b=b|0;var d=0;c[b>>2]=5068;d=c[b+140>>2]|0;if(d|0){if(a[b+144>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+140>>2]=0}a[b+144>>0]=1;c[b+140>>2]=0;c[b+132>>2]=0;c[b+136>>2]=0;c[6473]=(c[6473]|0)+1;nd(c[b+-4>>2]|0);return}function eo(b){b=b|0;var d=0;d=l;l=l+16|0;if(!(a[22648]|0))Yy(22648)|0;Go(d,c[b+116>>2]|0,c[b+128>>2]|0);c[5744]=c[d>>2];c[5745]=c[d+4>>2];c[5746]=c[d+8>>2];c[5747]=c[d+12>>2];l=d;return 22976}function fo(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;Kb[c[(c[d>>2]|0)+32>>2]&127](d,b,c[a+12>>2]|0);return 0}function go(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=0;while(1){if((e|0)>=(b|0))break;f=d+(e*104|0)|0;g=(c[a+12>>2]|0)+(e*104|0)|0;h=f+104|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));e=e+1|0}return}function ho(a,b){a=a|0;b=b|0;var c=0;c=l;l=l+16|0;g[c+12>>2]=-+g[(bI(b)|0)>>2];g[c+8>>2]=-+g[(KH(b)|0)>>2];g[c+4>>2]=-+g[(JH(b)|0)>>2];g[c>>2]=-+g[b+12>>2];yv(a,c+12|0,c+8|0,c+4|0,c);l=c;return}function io(b){b=b|0;var d=0;c[b>>2]=9560;d=c[b+32>>2]|0;if(d|0){if(a[b+36>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[6473]=(c[6473]|0)+1;nd(c[b+-4>>2]|0);return}function jo(a){a=a|0;var b=0.0,d=0.0;if(c[a+204>>2]&3|0)return;d=+g[a+368>>2]*+g[a+352>>2];b=+g[a+372>>2]*+g[a+356>>2];g[a+412>>2]=+g[a+364>>2]*+g[a+348>>2]+ +g[a+412>>2];g[a+416>>2]=d+ +g[a+416>>2];g[a+420>>2]=b+ +g[a+420>>2];return}function ko(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=sb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=sb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)Gb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];return 17407}function lo(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0;e=l;l=l+16|0;d=+HE(a);d=+RH(d*+HE(b));c=+Vo(a,b);if(c<0.0){ho(e,b);c=+Vo(a,e)}d=+fA(c/d)*2.0;l=e;return +d}function mo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0;h=c[a+104>>2]|0;f=+g[h+(b<<4)+4>>2]*+g[a+16>>2];e=+g[h+(b<<4)+8>>2]*+g[a+20>>2];g[d>>2]=+g[h+(b<<4)>>2]*+g[a+12>>2];g[d+4>>2]=f;g[d+8>>2]=e;g[d+12>>2]=0.0;return}function no(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=l;l=l+32|0;c[e>>2]=c[a+60>>2];c[e+4>>2]=0;c[e+8>>2]=b;c[e+12>>2]=e+20;c[e+16>>2]=d;if((aC(Ta(140,e|0)|0)|0)<0){c[e+20>>2]=-1;a=-1}else a=c[e+20>>2]|0;l=e;return a|0}function oo(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;f=c[d>>2]|0;f=sb[c[(c[f>>2]|0)+56>>2]&31](f,20)|0;b=a[b+4>>0]|0;c[f+4>>2]=c[d>>2];c[f>>2]=3756;a[f+16>>0]=b;return f|0}function po(a,b){a=a|0;b=b|0;var c=0.0;c=+g[(bI(b)|0)>>2];g[a>>2]=+g[a>>2]+c;c=+g[(KH(b)|0)>>2];g[a+4>>2]=+g[a+4>>2]+c;c=+g[(JH(b)|0)>>2];g[a+8>>2]=+g[a+8>>2]+c;g[a+12>>2]=+g[a+12>>2]+ +g[b+12>>2];return a|0}function qo(a,b){a=a|0;b=b|0;var c=0.0;c=+g[(bI(b)|0)>>2];g[a>>2]=+g[a>>2]-c;c=+g[(KH(b)|0)>>2];g[a+4>>2]=+g[a+4>>2]-c;c=+g[(JH(b)|0)>>2];g[a+8>>2]=+g[a+8>>2]-c;g[a+12>>2]=+g[a+12>>2]-+g[b+12>>2];return a|0}function ro(b){b=b|0;var d=0;d=l;l=l+16|0;if(!(a[22632]|0))Yy(22632)|0;Gb[c[(c[b>>2]|0)+76>>2]&127](d,b);c[5716]=c[d>>2];c[5717]=c[d+4>>2];c[5718]=c[d+8>>2];c[5719]=c[d+12>>2];l=d;return 22864}function so(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=bI(c[b+4>>2]|0)|0;c[d>>2]=0;tn(a,e,d);Rq(b,e,c[a+12>>2]|0);l=d;return}function to(b){b=b|0;var d=0;d=l;l=l+16|0;if(!(a[22688]|0))Yy(22688)|0;Gb[c[(c[b>>2]|0)+76>>2]&127](d,b);c[5784]=c[d>>2];c[5785]=c[d+4>>2];c[5786]=c[d+8>>2];c[5787]=c[d+12>>2];l=d;return 23136}function uo(a){a=a|0;var b=0,d=0;d=a+15&-16|0;b=c[i>>2]|0;a=b+d|0;if((d|0)>0&(a|0)<(b|0)|(a|0)<0){W()|0;Sa(12);return -1}c[i>>2]=a;if((a|0)>(V()|0)?(U()|0)==0:0){c[i>>2]=b;Sa(12);return -1}return b|0}function vo(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+g[(JH(a)|0)>>2];c=c*+g[(bI(b)|0)>>2];d=+g[(JH(a+16|0)|0)>>2];d=c+d*+g[(KH(b)|0)>>2];c=+g[(JH(a+32|0)|0)>>2];return +(d+c*+g[(JH(b)|0)>>2])}function wo(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+g[(KH(a)|0)>>2];c=c*+g[(bI(b)|0)>>2];d=+g[(KH(a+16|0)|0)>>2];d=c+d*+g[(KH(b)|0)>>2];c=+g[(KH(a+32|0)|0)>>2];return +(d+c*+g[(JH(b)|0)>>2])}function xo(b){b=b|0;var d=0;d=a[b+74>>0]|0;a[b+74>>0]=d+255|d;d=c[b>>2]|0;if(!(d&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);d=0}else{c[b>>2]=d|32;d=-1}return d|0}function yo(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;c[a+332>>2]=c[a+332>>2]|1;return}case 4:case 3:{g[a+340>>2]=d;c[a+332>>2]=c[a+332>>2]|2;return}default:return}}function zo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((b|0)==(d|0))return;e=c[(c[a+4>>2]|0)+136>>2]|0;ub[c[(c[e>>2]|0)+8>>2]&63](e,c[b+36>>2]|0,c[d+36>>2]|0)|0;a=(c[a+4>>2]|0)+160|0;c[a>>2]=(c[a>>2]|0)+1;return}function Ao(b,d,e){b=b|0;d=d|0;e=+e;var f=0;f=l;l=l+16|0;if(!(a[22656]|0))Yy(22656)|0;Oi(f,b,d,e);c[5748]=c[f>>2];c[5749]=c[f+4>>2];c[5750]=c[f+8>>2];c[5751]=c[f+12>>2];l=f;return 22992}function Bo(b,d,e){b=b|0;d=d|0;e=+e;var f=0;f=l;l=l+16|0;if(!(a[22696]|0))Yy(22696)|0;Oi(f,b,d,e);c[5788]=c[f>>2];c[5789]=c[f+4>>2];c[5790]=c[f+8>>2];c[5791]=c[f+12>>2];l=f;return 23152}function Co(a){a=a|0;var b=0,d=0.0,e=0.0,f=0.0;b=l;l=l+32|0;Kb[c[(c[a>>2]|0)+12>>2]&127](a,b+8|0,b);f=+g[b+8>>2];e=+g[b+8+4>>2];d=+g[b+8+8>>2];d=+C(+(f*f+e*e+d*d));l=b;return +(d+ +g[b>>2])}function Do(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=l;l=l+16|0;c[f>>2]=5396;c[f+4>>2]=d;c[f+8>>2]=a;Kb[c[(c[b>>2]|0)+48>>2]&127](b,f,e);l=f;return}function Eo(b,c){b=b|0;c=c|0;var d=0,e=0;d=a[b>>0]|0;e=a[c>>0]|0;if(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24))do{b=b+1|0;c=c+1|0;d=a[b>>0]|0;e=a[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));return (d&255)-(e&255)|0}function Fo(a,b,d){a=a|0;b=b|0;d=d|0;a=c[b+8>>2]|0;if(!((d|0)!=0&(a|0)!=0))return;Ab[c[c[a>>2]>>2]&511](a);Gb[c[(c[d>>2]|0)+60>>2]&127](d,c[b+8>>2]|0);c[b+8>>2]=0;return}function Go(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;b=bI(b+4|0)|0;e=(bI(ZF(b,0)|0)|0)+(c<<2)|0;d=(bI(ZF(b,1)|0)|0)+(c<<2)|0;ps(a,e,d,(bI(ZF(b,2)|0)|0)+(c<<2)|0);return}function Ho(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+g[(bI(a)|0)>>2];c=c*+g[(bI(b)|0)>>2];d=+g[(bI(a+16|0)|0)>>2];d=c+d*+g[(KH(b)|0)>>2];c=+g[(bI(a+32|0)|0)>>2];return +(d+c*+g[(JH(b)|0)>>2])}function Io(b){b=b|0;var d=0;c[b>>2]=5236;d=c[b+276>>2]|0;if(d|0){if(a[b+280>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+276>>2]=0}a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;c[b+272>>2]=0;c[b>>2]=5200;return}function Jo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=l;l=l+16|0;c[e>>2]=8992;c[e+4>>2]=b;c[e+8>>2]=a;c[e+12>>2]=d;Kb[c[(c[a>>2]|0)+48>>2]&127](a,e,d);l=e;return}function Ko(b){b=b|0;var d=0;c[b>>2]=6964;if(a[b+61>>0]|0?(d=c[b+52>>2]|0,Ab[c[c[d>>2]>>2]&511](d),d=c[b+52>>2]|0,d|0):0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[6473]=(c[6473]|0)+1;nd(c[b+-4>>2]|0);return}function Lo(b){b=b|0;var d=0;c[b>>2]=4252;d=c[b+496>>2]|0;if(d|0){if(a[b+500>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+496>>2]=0}a[b+500>>0]=1;c[b+496>>2]=0;c[b+488>>2]=0;c[b+492>>2]=0;c[b>>2]=5200;return}function Mo(a,b,c,d){a=+a;b=+b;c=+c;d=+d;var e=0,f=0;f=l;l=l+16|0;g[f+12>>2]=a;g[f+8>>2]=b;g[f+4>>2]=c;g[f>>2]=d;e=dt()|0;eu(e,f+12|0,f+8|0,f+4|0,f);l=f;return e|0}function No(a,b,c,d){a=+a;b=+b;c=+c;d=+d;var e=0,f=0;f=l;l=l+16|0;g[f+12>>2]=a;g[f+8>>2]=b;g[f+4>>2]=c;g[f>>2]=d;e=Vr(16)|0;yv(e,f+12|0,f+8|0,f+4|0,f);l=f;return e|0}function Oo(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(GC(a,c[b+8>>2]|0)|0)al(b,d,e,f);return}function Po(a){a=a|0;var b=0.0,d=0,e=0,f=0.0;e=c[a+712>>2]|0;if((e|0)<=0){b=0.0;return +b}a=c[a+720>>2]|0;d=0;b=0.0;do{f=+g[a+(d*104|0)+88>>2];b=b+(f>0.0?1.0/f:0.0);d=d+1|0}while((d|0)!=(e|0));return +b}function Qo(a){a=a|0;var b=0;c[a>>2]=5700;c[a+12>>2]=5748;b=c[a+60>>2]|0;Gb[c[(c[b>>2]|0)+20>>2]&127](b,c[a+76>>2]|0);b=c[a+60>>2]|0;Gb[c[(c[b>>2]|0)+16>>2]&127](b,c[a+76>>2]|0);_H(a);return}function Ro(b){b=b|0;var d=0;c[b>>2]=5068;d=c[b+140>>2]|0;if(d|0){if(a[b+144>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+140>>2]=0}a[b+144>>0]=1;c[b+140>>2]=0;c[b+132>>2]=0;c[b+136>>2]=0;return}function So(b){b=b|0;var d=0;d=l;l=l+16|0;if(!(a[22624]|0))Yy(22624)|0;Iz(d,b);c[5712]=c[d>>2];c[5713]=c[d+4>>2];c[5714]=c[d+8>>2];c[5715]=c[d+12>>2];l=d;return 22848}function To(b){b=b|0;var d=0;d=l;l=l+16|0;if(!(a[22616]|0))Yy(22616)|0;sy(d,b);c[5708]=c[d>>2];c[5709]=c[d+4>>2];c[5710]=c[d+8>>2];c[5711]=c[d+12>>2];l=d;return 22832}function Uo(a,b,d){a=a|0;b=+b;d=d|0;b=b*.4000000059604645*+gb[c[(c[a>>2]|0)+48>>2]&15](a);b=b*+gb[c[(c[a>>2]|0)+48>>2]&15](a);g[d>>2]=b;g[d+4>>2]=b;g[d+8>>2]=b;g[d+12>>2]=0.0;return}function Vo(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+g[a>>2];c=c*+g[(bI(b)|0)>>2];d=+g[a+4>>2];d=c+d*+g[(KH(b)|0)>>2];c=+g[a+8>>2];c=d+c*+g[(JH(b)|0)>>2];return +(c+ +g[a+12>>2]*+g[b+12>>2])}function Wo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[b>>2]|0;a=sb[c[(c[a>>2]|0)+56>>2]&31](a,24)|0;c[a+4>>2]=c[b>>2];c[a>>2]=4224;return a|0}function Xo(a,b,c,d,e,f,h){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;h=+h;var i=0;i=l;l=l+16|0;g[i+8>>2]=c*h-d*f;g[i+4>>2]=d*e-b*h;g[i>>2]=b*f-c*e;ps(a,i+8|0,i+4|0,i);l=i;return}function Yo(){}function Zo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=O(b&65535,a&65535)|0;e=(c>>>16)+(O(b&65535,a>>>16)|0)|0;d=O(b>>>16,a&65535)|0;return (z=(e>>>16)+(O(b>>>16,a>>>16)|0)+(((e&65535)+d|0)>>>16)|0,e+d<<16|c&65535|0)|0}function _o(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[d>>2]=-581039253;c[d+4>>2]=-581039253;c[d+8>>2]=-581039253;g[d+12>>2]=0.0;c[e>>2]=1566444395;c[e+4>>2]=1566444395;c[e+8>>2]=1566444395;g[e+12>>2]=0.0;return}function $o(b){b=b|0;var d=0;d=l;l=l+16|0;if(!(a[22600]|0))Yy(22600)|0;Kp(d,b);c[5700]=c[d>>2];c[5701]=c[d+4>>2];c[5702]=c[d+8>>2];c[5703]=c[d+12>>2];l=d;return 22800}function ap(b){b=b|0;var d=0;d=l;l=l+16|0;if(!(a[22608]|0))Yy(22608)|0;bm(d,b);c[5704]=c[d>>2];c[5705]=c[d+4>>2];c[5706]=c[d+8>>2];c[5707]=c[d+12>>2];l=d;return 22816}function bp(b){b=b|0;var d=0;c[b>>2]=9032;if(a[b+192>>0]|0?(d=c[b+136>>2]|0,Ab[c[c[d>>2]>>2]&511](d),d=c[b+136>>2]|0,d|0):0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}Vh(b+64|0);Vh(b+4|0);return}function cp(b){b=b|0;var d=0;c[b>>2]=9560;d=c[b+32>>2]|0;if(d|0){if(a[b+36>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;return}function dp(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;ps(a,b,c,d);ps(a+16|0,e,f,g);ps(a+32|0,h,i,j);return}function ep(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=l;l=l+64|0;qk(d+16|0,b,c);Tl(d,b,+g[c+48>>2],+g[c+52>>2],+g[c+56>>2]);qq(a,d+16|0,d);l=d;return}function fp(a){a=a|0;var b=0;c[a>>2]=5700;c[a+12>>2]=5748;b=c[a+60>>2]|0;Gb[c[(c[b>>2]|0)+20>>2]&127](b,c[a+76>>2]|0);b=c[a+60>>2]|0;Gb[c[(c[b>>2]|0)+16>>2]&127](b,c[a+76>>2]|0);return}function gp(b){b=b|0;var d=0;c[b>>2]=3140;d=c[b+32>>2]|0;if(d|0){if(a[b+36>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;return}function hp(a){a=a|0;var b=0,d=0;c[a>>2]=7316;b=c[a+52>>2]|0;if(b|0?(Ab[c[c[b>>2]>>2]&511](b),d=c[a+52>>2]|0,d|0):0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[6473]=(c[6473]|0)+1;nd(c[a+-4>>2]|0);return}function ip(a,b){a=a|0;b=b|0;var d=0;d=(c[a+92>>2]|0)+4|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];jj(a);return}function jp(b,d){b=b|0;d=d|0;var e=0;if(a[b+273>>0]|0?(e=c[b+200>>2]|0,e|0):0){c[6473]=(c[6473]|0)+1;nd(c[e+-4>>2]|0)}a[b+273>>0]=0;c[b+200>>2]=d;c[(c[b+196>>2]|0)+8>>2]=d;return}function kp(b){b=b|0;var d=0;c[b>>2]=5324;d=c[b+20>>2]|0;if(d|0){if(a[b+24>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+20>>2]=0}a[b+24>>0]=1;c[b+20>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;return}function lp(a,b){a=a|0;b=+b;c[a+8>>2]=0;c[a+12>>2]=1065353216;c[a+16>>2]=1065353216;c[a+20>>2]=1065353216;g[a+24>>2]=0.0;g[a+44>>2]=.03999999910593033;c[a>>2]=6864;c[a+4>>2]=8;LF(a+28|0,b);g[a+44>>2]=b;return}function mp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[b>>2]|0;a=sb[c[(c[a>>2]|0)+56>>2]&31](a,8)|0;c[a+4>>2]=c[b>>2];c[a>>2]=9420;return a|0}function np(b){b=b|0;var d=0;c[b>>2]=8840;d=c[b+16>>2]|0;if(d|0){if(a[b+20>>0]|0){c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;return}function op(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;var f=0;f=l;l=l+16|0;g[f+12>>2]=b;g[f+8>>2]=c;g[f+4>>2]=d;g[f>>2]=e;Ar(a,f+12|0,f+8|0,f+4|0,f);l=f;return}function pp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;a=c[b+8>>2]|0;b=c[a+284>>2]|0;Kb[c[(c[b>>2]|0)+40>>2]&127](b,a,c[d+8>>2]|0);return}function qp(b){b=b|0;var d=0,e=0;c[b>>2]=6196;if(!(a[b+8>>0]|0)){_H(b);return}d=c[b+12>>2]|0;if(!d){_H(b);return}e=c[b+4>>2]|0;Gb[c[(c[e>>2]|0)+16>>2]&127](e,d);_H(b);return}function rp(b){b=b|0;var d=0,e=0;c[b>>2]=9448;if(!(a[b+8>>0]|0)){_H(b);return}d=c[b+12>>2]|0;if(!d){_H(b);return}e=c[b+4>>2]|0;Gb[c[(c[e>>2]|0)+16>>2]&127](e,d);_H(b);return}function sp(b){b=b|0;var d=0,e=0;c[b>>2]=5672;if(!(a[b+8>>0]|0)){_H(b);return}d=c[b+12>>2]|0;if(!d){_H(b);return}e=c[b+4>>2]|0;Gb[c[(c[e>>2]|0)+16>>2]&127](e,d);_H(b);return}function tp(b){b=b|0;var d=0;c[b>>2]=6964;if(!(a[b+61>>0]|0))return;d=c[b+52>>2]|0;Ab[c[c[d>>2]>>2]&511](d);b=c[b+52>>2]|0;if(!b)return;c[6473]=(c[6473]|0)+1;nd(c[b+-4>>2]|0);return}function up(a,b,d){a=a|0;b=b|0;d=d|0;a=c[b+204>>2]|0;if(a&4|0){d=0;return d|0}b=c[d+204>>2]|0;if(b&4|0){d=0;return d|0}if(!(a&3)){d=1;return d|0}d=(b&3|0)==0;return d|0}function vp(b){b=b|0;var d=0,e=0,f=0;d=c[b>>2]|0;e=(a[d>>0]|0)+-48|0;if(e>>>0<10){f=d;d=0;do{d=e+(d*10|0)|0;f=f+1|0;c[b>>2]=f;e=(a[f>>0]|0)+-48|0}while(e>>>0<10)}else d=0;return d|0}function wp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=l;l=l+16|0;c[e>>2]=9012;c[e+4>>2]=b;Kb[c[(c[a>>2]|0)+48>>2]&127](a,e,d);l=e;return}function xp(b){b=b|0;var d=0,e=0;c[b>>2]=5768;if(!(a[b+8>>0]|0)){_H(b);return}d=c[b+12>>2]|0;if(!d){_H(b);return}e=c[b+4>>2]|0;Gb[c[(c[e>>2]|0)+16>>2]&127](e,d);_H(b);return}function yp(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 _h(b,c,d)|0;return b|0}function zp(){var a=0,b=0;b=l;l=l+32|0;a=Vr(112)|0;kt(b);eg(a,b);l=b;return a|0}function Ap(b){b=b|0;var d=0,e=0;c[b>>2]=6244;if(!(a[b+16>>0]|0)){_H(b);return}d=c[b+20>>2]|0;if(!d){_H(b);return}e=c[b+4>>2]|0;Gb[c[(c[e>>2]|0)+16>>2]&127](e,d);_H(b);return}function Bp(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0;e=+B(+(+g[b>>2]));d=+B(+(+g[b+4>>2]));c=+B(+(+g[b+8>>2]));g[a+12>>2]=e;g[a+16>>2]=d;g[a+20>>2]=c;g[a+24>>2]=0.0;return}function Cp(a,b){a=a|0;b=b|0;If(a,c[b+36>>2]|0);return}function Dp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(GC(a,c[b+8>>2]|0)|0)Rm(b,d,e);return}function Ep(a){a=a|0;var b=0;c[a>>2]=5748;b=c[a+48>>2]|0;Gb[c[(c[b>>2]|0)+20>>2]&127](b,c[a+64>>2]|0);b=c[a+48>>2]|0;Gb[c[(c[b>>2]|0)+16>>2]&127](b,c[a+64>>2]|0);_H(a);return}function Fp(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;Pb[a&0](b|0,c|0,d|0,e|0,+f,+g,+h,+i,+j,k|0,+l,m|0)}function Gp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;g[a>>2]=(1.0-d)*+g[b>>2]+ +g[c>>2]*d;g[a+4>>2]=(1.0-d)*+g[b+4>>2]+ +g[c+4>>2]*d;g[a+8>>2]=(1.0-d)*+g[b+8>>2]+ +g[c+8>>2]*d;return}function Hp(a,b,c,d,e,f,h){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;h=+h;var i=0;i=l;l=l+16|0;g[i+8>>2]=b+e;g[i+4>>2]=c+f;g[i>>2]=d+h;ps(a,i+8|0,i+4|0,i);l=i;return}function Ip(a,b,c,d,e,f,h){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;h=+h;var i=0;i=l;l=l+16|0;g[i+8>>2]=b*e;g[i+4>>2]=c*f;g[i>>2]=d*h;ps(a,i+8|0,i+4|0,i);l=i;return}function Jp(a,b,c,d,e,f,h){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;h=+h;var i=0;i=l;l=l+16|0;g[i+8>>2]=b-e;g[i+4>>2]=c-f;g[i>>2]=d-h;ps(a,i+8|0,i+4|0,i);l=i;return}function Kp(a,b){a=a|0;b=b|0;var c=0;c=l;l=l+16|0;g[c+8>>2]=-+g[b>>2];g[c+4>>2]=-+g[b+4>>2];g[c>>2]=-+g[b+8>>2];yv(a,c+8|0,c+4|0,c,b+12|0);l=c;return}function Lp(a){a=a|0;var b=0;c[a>>2]=7316;b=c[a+52>>2]|0;if(!b)return;Ab[c[c[b>>2]>>2]&511](b);b=c[a+52>>2]|0;if(!b)return;c[6473]=(c[6473]|0)+1;nd(c[b+-4>>2]|0);return}function Mp(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return +(+Xa(0,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0))}function Np(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;if(!((b|0)==0&(c|0)==0))do{e=e+-1|0;a[e>>0]=d[20115+(b&15)>>0]|0|f;b=$t(b|0,c|0,4)|0;c=z}while(!((b|0)==0&(c|0)==0));return e|0}function Op(a){a=a|0;var b=0;c[a>>2]=5748;b=c[a+48>>2]|0;Gb[c[(c[b>>2]|0)+20>>2]&127](b,c[a+64>>2]|0);b=c[a+48>>2]|0;Gb[c[(c[b>>2]|0)+16>>2]&127](b,c[a+64>>2]|0);return}function Pp(){var b=0;b=Vr(40)|0;g[b+12>>2]=1.0;c[b+8>>2]=0;c[b+4>>2]=5;c[b>>2]=3140;a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;a[b+16>>0]=1;return b|0}function Qp(b){b=b|0;var c=0;c=a[n+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[n+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[n+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[n+(b>>>24)>>0]|0)+24|0}function Rp(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=l;l=l+16|0;Ip(e,b,c,d,+g[a+348>>2],+g[a+352>>2],+g[a+356>>2]);Or(a+412|0,e)|0;l=e;return}function Sp(a,b,c){a=+a;b=+b;c=+c;var d=0,e=0;e=l;l=l+16|0;g[e+8>>2]=a;g[e+4>>2]=b;g[e>>2]=c;d=dt()|0;ps(d,e+8|0,e+4|0,e);l=e;return d|0}function Tp(a,b){a=a|0;b=b|0;c[a+12>>2]=c[b>>2];c[a+12+4>>2]=c[b+4>>2];c[a+12+8>>2]=c[b+8>>2];c[a+12+12>>2]=c[b+12>>2];jj(a);return}function Up(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&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)|0}function Vp(a,b){a=a|0;b=b|0;a=c[a+12>>2]|0;return sb[c[(c[a>>2]|0)+8>>2]&31](a,b)|0}function Wp(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=l;l=l+16|0;Ip(e,b,c,d,+g[a+544>>2],+g[a+548>>2],+g[a+552>>2]);Or(a+428|0,e)|0;l=e;return}function Xp(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 +pb[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function Yp(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;var h=0;h=Is()|0;re(h,a,b,c,d,e,f,g);return h|0}function Zp(){var a=0,b=0;b=Nr()|0;if((b|0?(a=c[b>>2]|0,a|0):0)?((c[a+48>>2]&-256|0)==1126902528?(c[a+48+4>>2]|0)==1129074247:0):0)Bx(c[a+12>>2]|0);Bx(tE()|0)}function _p(a,b,d){a=a|0;b=b|0;d=d|0;pz(a,b);c[a+48>>2]=c[d>>2];c[a+48+4>>2]=c[d+4>>2];c[a+48+8>>2]=c[d+8>>2];c[a+48+12>>2]=c[d+12>>2];return}function $p(a,b){a=a|0;b=b|0;c[a+260>>2]=(c[a+260>>2]|0)+1;c[a+328>>2]=c[b>>2];c[a+328+4>>2]=c[b+4>>2];c[a+328+8>>2]=c[b+8>>2];c[a+328+12>>2]=c[b+12>>2];return}function aq(){var a=0,b=0;b=l;l=l+32|0;a=Vr(92)|0;kt(b);Yd(a,b);l=b;return a|0}function bq(a,b,d){a=a|0;b=b|0;d=d|0;c[d>>2]=c[a+56+(b<<4)>>2];c[d+4>>2]=c[a+56+(b<<4)+4>>2];c[d+8>>2]=c[a+56+(b<<4)+8>>2];c[d+12>>2]=c[a+56+(b<<4)+12>>2];return}function cq(a,b){a=a|0;b=b|0;c[a+260>>2]=(c[a+260>>2]|0)+1;c[a+312>>2]=c[b>>2];c[a+312+4>>2]=c[b+4>>2];c[a+312+8>>2]=c[b+8>>2];c[a+312+12>>2]=c[b+12>>2];return}function dq(b,d){b=b|0;d=d|0;if(!(a[22680]|0))Yy(22680)|0;b=ZF(b,d)|0;c[5780]=c[b>>2];c[5781]=c[b+4>>2];c[5782]=c[b+8>>2];c[5783]=c[b+12>>2];return 23120}function eq(a,b){a=a|0;b=b|0;c[a+260>>2]=(c[a+260>>2]|0)+1;c[a+544>>2]=c[b>>2];c[a+544+4>>2]=c[b+4>>2];c[a+544+8>>2]=c[b+8>>2];c[a+544+12>>2]=c[b+12>>2];return}function fq(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;Qb[a&0](b|0,c|0,d|0,e|0,+f,+g,+h,+i,j|0,k|0,+l)}function gq(a){a=a|0;var b=0.0,d=0.0;d=+g[a+32>>2];+gb[c[(c[a>>2]|0)+48>>2]&15](a);b=+gb[c[(c[a>>2]|0)+48>>2]&15](a);+gb[c[(c[a>>2]|0)+48>>2]&15](a);return +(d+b)}function hq(a){a=a|0;var b=0.0,d=0.0;d=+g[a+28>>2];b=+gb[c[(c[a>>2]|0)+48>>2]&15](a);+gb[c[(c[a>>2]|0)+48>>2]&15](a);+gb[c[(c[a>>2]|0)+48>>2]&15](a);return +(d+b)}function iq(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;Wb[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function jq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=l;l=l+16|0;c[e>>2]=c[d>>2];a=ub[c[(c[a>>2]|0)+16>>2]&63](a,b,e)|0;if(a)c[d>>2]=c[e>>2];l=e;return a&1|0}function kq(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;var f=0;f=l;l=l+16|0;g[f+8>>2]=b*e;g[f+4>>2]=c*e;g[f>>2]=d*e;ps(a,f+8|0,f+4|0,f);l=f;return}function lq(a,b){a=a|0;b=b|0;g[a>>2]=+g[a>>2]*+g[b>>2];g[a+4>>2]=+g[a+4>>2]*+g[b>>2];g[a+8>>2]=+g[a+8>>2]*+g[b>>2];g[a+12>>2]=+g[a+12>>2]*+g[b>>2];return a|0}function mq(){var a=0;a=Vr(8)|0;c[6471]=a;Za(a|0,0)|0;c[6461]=19594;c[6462]=0;c[6463]=0;c[6464]=0;c[6465]=0;c[6466]=0;c[6467]=0;c[6468]=0;c[6469]=0;or(25844);return}function nq(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;dp(a,b,c,d,e,f,g,h,i,j);return}function oq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=js(324)|0;Sd(d,a,b,c);return d|0}function pq(b){b=b|0;var d=0;c[b>>2]=3140;d=c[b+32>>2]|0;if(!d){_H(b);return}if(!(a[b+36>>0]|0)){_H(b);return}c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0);_H(b);return}function qq(a,b,d){a=a|0;b=b|0;d=d|0;xm(a,b);c[a+48>>2]=c[d>>2];c[a+48+4>>2]=c[d+4>>2];c[a+48+8>>2]=c[d+8>>2];c[a+48+12>>2]=c[d+12>>2];return}function rq(b){b=b|0;var d=0;c[b>>2]=6196;if(!(a[b+8>>0]|0))return;d=c[b+12>>2]|0;if(!d)return;b=c[b+4>>2]|0;Gb[c[(c[b>>2]|0)+16>>2]&127](b,d);return}function sq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=0;while(1){if((e|0)>=(b|0))break;am(d+(e*96|0)|0,(c[a+12>>2]|0)+(e*96|0)|0);e=e+1|0}return}function tq(b){b=b|0;var d=0;c[b>>2]=5324;d=c[b+20>>2]|0;if(!d){_H(b);return}if(!(a[b+24>>0]|0)){_H(b);return}c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0);_H(b);return}function uq(a,b){a=a|0;b=b|0;var c=0;c=l;l=l+128|0;Tn(c,a+68|0);ep(c+64|0,c,a+4|0);Sq(b,c+64|0);l=c;return}function vq(b){b=b|0;var d=0;c[b>>2]=9448;if(!(a[b+8>>0]|0))return;d=c[b+12>>2]|0;if(!d)return;b=c[b+4>>2]|0;Gb[c[(c[b>>2]|0)+16>>2]&127](b,d);return}function wq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0;g=Is()|0;re(g,a,b,c,d,e,f,0);return g|0}function xq(b){b=b|0;var d=0;c[b>>2]=5672;if(!(a[b+8>>0]|0))return;d=c[b+12>>2]|0;if(!d)return;b=c[b+4>>2]|0;Gb[c[(c[b>>2]|0)+16>>2]&127](b,d);return}function yq(a,b){a=a|0;b=b|0;a=c[a+4>>2]|0;return ((c[b>>2]|0)==(a|0)?1:(c[b+4>>2]|0)==(a|0))|0}function zq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=ss()|0;ve(f,a,b,c,d,e);return f|0}function Aq(a,b){a=a|0;b=b|0;a=c[a+20>>2]|0;return sb[c[(c[a>>2]|0)+8>>2]&31](a,b)|0}function Bq(b){b=b|0;var d=0;c[b>>2]=8840;d=c[b+16>>2]|0;if(!d){_H(b);return}if(!(a[b+20>>0]|0)){_H(b);return}c[6473]=(c[6473]|0)+1;nd(c[d+-4>>2]|0);_H(b);return}function Cq(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=l;l=l+16|0;g[e+8>>2]=b;g[e+4>>2]=c;g[e>>2]=d;ps(a,e+8|0,e+4|0,e);l=e;return}function Dq(b){b=b|0;var d=0;c[b>>2]=5768;if(!(a[b+8>>0]|0))return;d=c[b+12>>2]|0;if(!d)return;b=c[b+4>>2]|0;Gb[c[(c[b>>2]|0)+16>>2]&127](b,d);return}function Eq(a,b,d){a=a|0;b=b|0;d=d|0;PG(a);c[a>>2]=3024;Sq(a+4|0,b);Sq(a+68|0,d);Sq(a+132|0,b);c[a+196>>2]=0;return}function Fq(b){b=b|0;var d=0;c[b>>2]=6244;if(!(a[b+16>>0]|0))return;d=c[b+20>>2]|0;if(!d)return;b=c[b+4>>2]|0;Gb[c[(c[b>>2]|0)+16>>2]&127](b,d);return}function Gq(a){a=a|0;var b=0;b=l;l=l+16|0;gn(a);g[b+8>>2]=0.0;g[b+4>>2]=0.0;g[b>>2]=0.0;ps(a+48|0,b+8|0,b+4|0,b);l=b;return}function Hq(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 xb[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)|0}function Iq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;var f=0;f=Vr(44)|0;pm(f,a,b,c,d,e);return f|0}function Jq(a,b,c){a=a|0;b=b|0;c=+c;switch(b|0){case 3:{b=a+452|0;break}case 4:{b=a+448|0;break}case 5:{b=a+444|0;break}default:return}g[b>>2]=c;return}function Kq(a,b){a=a|0;b=b|0;var c=0;c=0;while(1){if((c|0)==3)break;g[a+868+(c<<6)+4>>2]=+Gs(+g[(bI(b)|0)+(c<<2)>>2]);c=c+1|0}return}function Lq(a,b){a=a|0;b=b|0;b=c[b+36>>2]|0;Fe(a,c[(c[(c[(c[a+4>>2]|0)+4>>2]|0)+24>>2]|0)+(b*80|0)+64>>2]|0,b);return}function Mq(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 +ob[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function Nq(a,b){a=a|0;b=b|0;var c=0;c=0;while(1){if((c|0)==3)break;g[a+868+(c<<6)>>2]=+Gs(+g[(bI(b)|0)+(c<<2)>>2]);c=c+1|0}return}function Oq(a,b,c,d){a=+a;b=b|0;c=c|0;d=d|0;var e=0;e=Vr(140)|0;Vk(e,a,b,c,d);return e|0}function Pq(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return +(+nb[c[(c[a>>2]|0)+12>>2]&1](a,b,d,e,f,g,h,i))}function Qq(b,c,d){b=b|0;c=c|0;d=d|0;if(!((b|0)==0&(c|0)==0))do{d=d+-1|0;a[d>>0]=b&7|48;b=$t(b|0,c|0,3)|0;c=z}while(!((b|0)==0&(c|0)==0));return d|0}function Rq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=0;while(1){if((e|0)>=(b|0))break;c[d+(e<<2)>>2]=c[(c[a+12>>2]|0)+(e<<2)>>2];e=e+1|0}return}function Sq(a,b){a=a|0;b=b|0;xm(a,b);c[a+48>>2]=c[b+48>>2];c[a+48+4>>2]=c[b+48+4>>2];c[a+48+8>>2]=c[b+48+8>>2];c[a+48+12>>2]=c[b+48+12>>2];return}function Tq(a,b){a=a|0;b=b|0;ps(a,b,b+16|0,b+32|0);ps(a+16|0,b+4|0,b+20|0,b+36|0);ps(a+32|0,b+8|0,b+24|0,b+40|0);return}function Uq(a){a=a|0;c[6472]=(c[6472]|0)+1;a=ic((a<<2|3)+16|0)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Vq(a,b){a=a|0;b=b|0;Ab[c[(c[b>>2]|0)+32>>2]&511](b);cd(a,b);Ab[c[(c[b>>2]|0)+36>>2]&511](b);return}function Wq(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;Vb[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function Xq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Kb[c[(c[a>>2]|0)+108>>2]&127](a,b,d);Kb[c[(c[a>>2]|0)+108>>2]&127](a,(b+1|0)%3|0,e);return}function Yq(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=l;l=l+16|0;g[e+8>>2]=-b;g[e+4>>2]=-c;g[e>>2]=-d;ps(a,e+8|0,e+4|0,e);l=e;return}function Zq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=xs()|0;$d(f,a,b,c&65535,d,e);return f|0}function _q(a){a=a|0;c[6472]=(c[6472]|0)+1;a=ic((a*104|3)+16|0)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function $q(a,b){a=a|0;b=b|0;c[a+12>>2]=c[b>>2];c[a+12+4>>2]=c[b+4>>2];c[a+12+8>>2]=c[b+8>>2];c[a+12+12>>2]=c[b+12>>2];return}function ar(a,b){a=a|0;b=b|0;c[a+44>>2]=c[b>>2];c[a+44+4>>2]=c[b+4>>2];c[a+44+8>>2]=c[b+8>>2];c[a+44+12>>2]=c[b+12>>2];return}function br(a,c){a=a|0;c=c|0;if(!((b[c+4>>1]&b[a+6>>1])<<16>>16)){a=0;return a|0}a=(b[a+4>>1]&b[c+6>>1])<<16>>16!=0;return a|0}function cr(a,c){a=a|0;c=c|0;if(!((b[c+4>>1]&b[a+10>>1])<<16>>16)){a=0;return a|0}a=(b[a+8>>1]&b[c+6>>1])<<16>>16!=0;return a|0}function dr(a,b){a=a|0;b=b|0;c[a+696>>2]=c[b>>2];c[a+696+4>>2]=c[b+4>>2];c[a+696+8>>2]=c[b+8>>2];c[a+696+12>>2]=c[b+12>>2];return}function er(a,b){a=a|0;b=b|0;c[a+680>>2]=c[b>>2];c[a+680+4>>2]=c[b+4>>2];c[a+680+8>>2]=c[b+8>>2];c[a+680+12>>2]=c[b+12>>2];return}function fr(a,b){a=a|0;b=b|0;c[a+60>>2]=c[b>>2];c[a+60+4>>2]=c[b+4>>2];c[a+60+8>>2]=c[b+8>>2];c[a+60+12>>2]=c[b+12>>2];return}function gr(a,b){a=a|0;b=b|0;c[a+28>>2]=c[b>>2];c[a+28+4>>2]=c[b+4>>2];c[a+28+8>>2]=c[b+8>>2];c[a+28+12>>2]=c[b+12>>2];return}function hr(a,b){a=a|0;b=b|0;c[a+156>>2]=c[b>>2];c[a+156+4>>2]=c[b+4>>2];c[a+156+8>>2]=c[b+8>>2];c[a+156+12>>2]=c[b+12>>2];return}function ir(b,c,d){b=b|0;c=c|0;d=d|0;a[b+1309+c>>0]=d&1;if((c|0)<3){a[b+788+c>>0]=d&1;return}else{a[b+868+(c+-3<<6)+44>>0]=d&1;return}}function jr(a,c){a=a|0;c=c|0;if(!((b[c+4>>1]&b[a+14>>1])<<16>>16)){a=0;return a|0}a=(b[a+12>>1]&b[c+6>>1])<<16>>16!=0;return a|0}function kr(a,b){a=a|0;b=b|0;c[a+108>>2]=c[b>>2];c[a+108+4>>2]=c[b+4>>2];c[a+108+8>>2]=c[b+8>>2];c[a+108+12>>2]=c[b+12>>2];return}function lr(b){b=b|0;if(a[22720]|0)return 23280;if(!(Yy(22720)|0))return 23280;c[5820]=1065353216;c[5821]=1065353216;c[5822]=1065353216;g[5823]=0.0;return 23280}function mr(a){a=a|0;c[6472]=(c[6472]|0)+1;a=ic(a*96|19)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function nr(a,b){a=a|0;b=b|0;c[a+20>>2]=c[b>>2];c[a+20+4>>2]=c[b+4>>2];c[a+20+8>>2]=c[b+8>>2];c[a+20+12>>2]=c[b+12>>2];return}function or(a){a=a|0;var b=0;do{c[a+4>>2]=0;g[a+8>>2]=0.0;b=c[a+24>>2]|0;if(b|0)or(b);a=c[a+28>>2]|0}while((a|0)!=0);return}function pr(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;zd(a,b,c,d,e,f);return}function qr(a,b){a=a|0;b=b|0;c[a+172>>2]=c[b>>2];c[a+172+4>>2]=c[b+4>>2];c[a+172+8>>2]=c[b+8>>2];c[a+172+12>>2]=c[b+12>>2];return}function rr(a,b){a=a|0;b=b|0;c[a+32>>2]=c[b>>2];c[a+32+4>>2]=c[b+4>>2];c[a+32+8>>2]=c[b+8>>2];c[a+32+12>>2]=c[b+12>>2];return}function sr(a){a=a|0;g[a>>2]=5.880000114440918;g[a+4>>2]=.8299999833106995;g[a+8>>2]=.8799999952316284;g[a+12>>2]=500.0;g[a+16>>2]=10.5;g[a+20>>2]=6.0e3;return}function tr(a,b){a=a|0;b=b|0;c[a+24>>2]=c[b>>2];c[a+24+4>>2]=c[b+4>>2];c[a+24+8>>2]=c[b+8>>2];c[a+24+12>>2]=c[b+12>>2];return}function ur(a,b){a=a|0;b=b|0;c[a+316>>2]=c[b>>2];c[a+316+4>>2]=c[b+4>>2];c[a+316+8>>2]=c[b+8>>2];c[a+316+12>>2]=c[b+12>>2];return}function vr(a,b){a=a|0;b=b|0;c[a+300>>2]=c[b>>2];c[a+300+4>>2]=c[b+4>>2];c[a+300+8>>2]=c[b+8>>2];c[a+300+12>>2]=c[b+12>>2];return}function wr(a,b){a=a|0;b=b|0;c[a+64>>2]=c[b>>2];c[a+64+4>>2]=c[b+4>>2];c[a+64+8>>2]=c[b+8>>2];c[a+64+12>>2]=c[b+12>>2];return}function xr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=xs()|0;$d(e,a,b,c&65535,d,0);return e|0}function yr(a,b){a=a|0;b=b|0;c[a+52>>2]=c[b>>2];c[a+52+4>>2]=c[b+4>>2];c[a+52+8>>2]=c[b+8>>2];c[a+52+12>>2]=c[b+12>>2];return}function zr(a,b){a=a|0;b=b|0;c[a+188>>2]=c[b>>2];c[a+188+4>>2]=c[b+4>>2];c[a+188+8>>2]=c[b+8>>2];c[a+188+12>>2]=c[b+12>>2];return}function Ar(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[d>>2];c[a+8>>2]=c[e>>2];c[a+12>>2]=c[f>>2];return}function Br(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;return +nb[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function Cr(a,b){a=a|0;b=b|0;c[a+16>>2]=c[b>>2];c[a+16+4>>2]=c[b+4>>2];c[a+16+8>>2]=c[b+8>>2];c[a+16+12>>2]=c[b+12>>2];return}function Dr(a,b,d){a=a|0;b=b|0;d=+d;Gb[c[(c[a>>2]|0)+32>>2]&127](a,b);Hb[c[(c[a>>2]|0)+36>>2]&7](a,b,d);return}function Er(a,b){a=a|0;b=b|0;c[a+68>>2]=c[b>>2];c[a+68+4>>2]=c[b+4>>2];c[a+68+8>>2]=c[b+8>>2];c[a+68+12>>2]=c[b+12>>2];return}function Fr(a,b){a=a|0;b=b|0;c[a+36>>2]=c[b>>2];c[a+36+4>>2]=c[b+4>>2];c[a+36+8>>2]=c[b+8>>2];c[a+36+12>>2]=c[b+12>>2];return}function Gr(a,b){a=a|0;b=b|0;c[a>>2]=c[b+248>>2];c[a+4>>2]=c[b+248+4>>2];c[a+8>>2]=c[b+248+8>>2];c[a+12>>2]=c[b+248+12>>2];return}function Hr(b,d){b=b|0;d=d|0;if(!(a[22640]|0))Yy(22640)|0;an(kB(c[b+12>>2]|0,d)|0);return 22880}function Ir(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=ss()|0;Nd(d,a,b,c);return d|0}function Jr(){var a=0;a=Cs()|0;In();In();Eq(a,23008,23008);return a|0}function Kr(a,b,d){a=a|0;b=b|0;d=d|0;if((c[a+4>>2]|0)==(b|0)?(c[a+28>>2]|0)!=1:0)c[a+28>>2]=d;return}function Lr(){var a=0,b=0;b=rs(c[5698]|0,c[5699]|0,1284865837,1481765933)|0;b=cw(b|0,z|0,1,0)|0;a=z;c[5698]=b;c[5699]=a;a=$t(b|0,a|0,33)|0;return a|0}function Mr(a,b){a=a|0;b=b|0;c[a+48>>2]=c[b>>2];c[a+48+4>>2]=c[b+4>>2];c[a+48+8>>2]=c[b+8>>2];c[a+48+12>>2]=c[b+12>>2];return}function Nr(){var a=0,b=0;a=l;l=l+16|0;if(!(cb(26460,3)|0)){b=ab(c[6616]|0)|0;l=a;return b|0}else jw(22300,a);return 0}function Or(a,b){a=a|0;b=b|0;g[a>>2]=+g[a>>2]+ +g[b>>2];g[a+4>>2]=+g[a+4>>2]+ +g[b+4>>2];g[a+8>>2]=+g[a+8>>2]+ +g[b+8>>2];return a|0}function Pr(a,b){a=a|0;b=b|0;g[a>>2]=+g[a>>2]-+g[b>>2];g[a+4>>2]=+g[a+4>>2]-+g[b+4>>2];g[a+8>>2]=+g[a+8>>2]-+g[b+8>>2];return a|0}function Qr(a,b){a=a|0;b=b|0;var c=0;c=l;l=l+64|0;ep(c,b,a+68|0);Sq(a+4|0,c);l=c;return}function Rr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=l;l=l+16|0;Ne(a,b,d,e,f|0)|0;l=f;return (z=c[f+4>>2]|0,c[f>>2]|0)|0}function Sr(a){a=a|0;var b=0;b=Vr(112)|0;eg(b,a);return b|0}function Tr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=xs()|0;$d(d,a,b,c&65535,0,0);return d|0}function Ur(a,b){a=a|0;b=b|0;c[a+76>>2]=c[b>>2];c[a+76+4>>2]=c[b+4>>2];c[a+76+8>>2]=c[b+8>>2];c[a+76+12>>2]=c[b+12>>2];return}function Vr(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=ic(b)|0;if(a|0)break;a=lE()|0;if(!a){a=0;break}zb[a&3]()}return a|0}function Wr(a,b){a=a|0;b=b|0;c[a+4>>2]=c[b>>2];c[a+4+4>>2]=c[b+4>>2];c[a+4+8>>2]=c[b+8>>2];c[a+4+12>>2]=c[b+12>>2];return}function Xr(a,b){a=a|0;b=b|0;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];return}function Yr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=js(1252)|0;qc(e,a,b,c,d);return e|0}function Zr(a,b){a=a|0;b=b|0;c[a+40>>2]=c[b>>2];c[a+40+4>>2]=c[b+4>>2];c[a+40+8>>2]=c[b+8>>2];c[a+40+12>>2]=c[b+12>>2];return}function _r(a,b){a=a|0;b=b|0;c[a+72>>2]=c[b>>2];c[a+72+4>>2]=c[b+4>>2];c[a+72+8>>2]=c[b+8>>2];c[a+72+12>>2]=c[b+12>>2];return}function $r(a,b){a=a|0;b=b|0;c[a+56>>2]=c[b>>2];c[a+56+4>>2]=c[b+4>>2];c[a+56+8>>2]=c[b+8>>2];c[a+56+12>>2]=c[b+12>>2];return}function as(a,b){a=a|0;b=b|0;g[a>>2]=+g[a>>2]*+g[b>>2];g[a+4>>2]=+g[a+4>>2]*+g[b>>2];g[a+8>>2]=+g[a+8>>2]*+g[b>>2];return a|0}function bs(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+52>>2]<<2)>>2]=1.0;return}function cs(a){a=a|0;var b=0;b=l;l=l+16|0;nd(a);if(!(db(c[6616]|0,0)|0)){l=b;return}else jw(22399,b)}function ds(a,b){a=a|0;b=b|0;c[a+8>>2]=c[b>>2];c[a+8+4>>2]=c[b+4>>2];c[a+8+8>>2]=c[b+8>>2];c[a+8+12>>2]=c[b+12>>2];return}function es(){var a=0;c[6472]=(c[6472]|0)+1;a=ic(215)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function fs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Zs()|0;Me(d,a,b,c);return d|0}function gs(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return _b(b,c,d,e)|0}function hs(){var a=0;c[6472]=(c[6472]|0)+1;a=ic(203)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function is(){var a=0;c[6472]=(c[6472]|0)+1;a=ic(1407)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function js(a){a=a|0;c[6472]=(c[6472]|0)+1;a=ic(a+19|0)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function ks(a){a=a|0;var b=0;b=Cs()|0;In();Eq(b,a,23008);return b|0}function ls(){var a=0;c[6472]=(c[6472]|0)+1;a=ic(191)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function ms(a,b){a=a|0;b=b|0;if(!b?c[a+204>>2]&3|0:0)return;if((c[a+216>>2]&-2|0)!=4)c[a+216>>2]=1;g[a+220>>2]=0.0;return}function ns(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Nb[c[(c[a+-4>>2]|0)+8>>2]&127](a+-4|0,b,d,e);return}function os(a,b){a=a|0;b=b|0;var c=0.0;c=+HE(a);c=+RH(c*+HE(b));return +(+fA(+Vo(a,b)/c))}function ps(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[d>>2];c[a+8>>2]=c[e>>2];g[a+12>>2]=0.0;return}function qs(){var a=0;c[6472]=(c[6472]|0)+1;a=ic(143)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function rs(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=Zo(a,c)|0;f=z;return (z=(O(b,c)|0)+(O(d,a)|0)+f|f&0,e|0|0)|0}function ss(){var a=0;c[6472]=(c[6472]|0)+1;a=ic(1331)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function ts(b){b=b|0;var d=0;d=c[b+12>>2]|0;if(!d)return;if(a[b+16>>0]&1)Px(d);c[b+12>>2]=0;return}function us(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;Ub[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function vs(a){a=a|0;c[a>>2]=3784;c[a+12>>2]=3996;Rf(a+12|0);Zi(a+72|0);_H(a);return}function ws(){var a=0;c[6472]=(c[6472]|0)+1;a=ic(379)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function xs(){var a=0;c[6472]=(c[6472]|0)+1;a=ic(135)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function ys(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return}function zs(){var a=0;c[6472]=(c[6472]|0)+1;a=ic(627)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function As(a,b){a=a|0;b=b|0;var c=0;c=xs()|0;$d(c,a,b,16384,0,0);return c|0}function Bs(){var a=0;c[6472]=(c[6472]|0)+1;a=ic(791)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Cs(){var a=0;c[6472]=(c[6472]|0)+1;a=ic(219)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Ds(){var a=0;c[6472]=(c[6472]|0)+1;a=ic(1147)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Es(a,b){a=a|0;b=b|0;var c=0;c=Vr(80)|0;Km(c,a,b);return c|0}function Fs(){var a=0;c[6472]=(c[6472]|0)+1;a=ic(103)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Gs(a){a=+a;a=+WG(a);if(a<-3.1415927410125732){a=a+6.2831854820251465;return +a}if(!(a>3.1415927410125732))return +a;a=a+-6.2831854820251465;return +a}function Hs(){var a=0;c[6472]=(c[6472]|0)+1;a=ic(115)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Is(){var a=0;c[6472]=(c[6472]|0)+1;a=ic(783)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Js(){var a=0;c[6472]=(c[6472]|0)+1;a=ic(131)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Ks(a,b){a=a|0;b=b|0;c[a+348>>2]=c[b>>2];c[a+348+4>>2]=c[b+4>>2];c[a+348+8>>2]=c[b+8>>2];return}function Ls(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((d|0)<=0)return;Nk(c|0,0,d<<4|0)|0;return}function Ms(){var a=0;c[6472]=(c[6472]|0)+1;a=ic(111)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Ns(a,b){a=a|0;b=b|0;c[a+480>>2]=b;if(!b)return;Gb[c[(c[b>>2]|0)+8>>2]&127](b,a+4|0);return}function Os(a,b){a=a|0;b=b|0;var c=0;c=Zs()|0;Me(c,a,b,1);return c|0}function Ps(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[a+192>>2]|0;Nb[c[(c[e>>2]|0)+8>>2]&127](e,a+4|0,b,d);return}function Qs(a){a=a|0;var b=0;b=Vr(92)|0;Yd(b,a);return b|0}function Rs(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 Ss(b){b=b|0;if(!(qb[c[(c[b>>2]|0)+40>>2]&127](b)|0))return;c[b+16>>2]=c[b+28>>2];a[b+169>>0]=1;return}function Ts(a){a=a|0;var b=0;b=l;l=l+16|0;c[b>>2]=bI(c[a+60>>2]|0)|0;a=aC(Va(6,b|0)|0)|0;l=b;return a|0}function Us(a,b){a=a|0;b=b|0;var d=0;d=c[a+8>>2]|0;Kb[c[d+60>>2]&127](b,d,c[a+4>>2]|0);return 0}function Vs(){var a=0;c[6472]=(c[6472]|0)+1;a=ic(71)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Ws(a,b){a=a|0;b=b|0;var d=0;d=a+92|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));return}function Xs(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Bg(a,b,c,d);return}function Ys(a){a=a|0;if(!a){a=0;return a|0}a=Uq(a)|0;return a|0}function Zs(){var a=0;c[6472]=(c[6472]|0)+1;a=ic(95)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function _s(a,b){a=a|0;b=b|0;return +(+Sx(+g[a>>2],+g[a+4>>2],+g[a+8>>2],+g[b>>2],+g[b+4>>2],+g[b+8>>2]))}function $s(a,b){a=a|0;b=b|0;var c=0;c=Vr(84)|0;Um(c,a,b);return c|0}function at(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 bt(a){a=a|0;c[a>>2]=3784;c[a+12>>2]=3996;Rf(a+12|0);Zi(a+72|0);return}function ct(){var a=0;c[6472]=(c[6472]|0)+1;a=ic(75)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function dt(){var a=0;c[6472]=(c[6472]|0)+1;a=ic(35)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|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;return wb[a&3](b|0,c|0,d|0,e|0,f|0,g|0)|0}function ft(a){a=a|0;ag(a);if(!a)return;c[6473]=(c[6473]|0)+1;nd(c[a+-4>>2]|0);return}function gt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Nb[c[(c[a>>2]|0)+8>>2]&127](a,b,d,e);return}function ht(a){a=a|0;c[a>>2]=2944;g[a+4>>2]=1.0;c[a+8>>2]=0;b[a+12>>1]=1;b[a+14>>1]=-1;c[a+16>>2]=0;return}function it(a){a=a|0;var b=0;b=ct()|0;Ph(b,a);c[b>>2]=8540;c[b+52>>2]=2;return b|0}function jt(a){a=a|0;var b=0;b=ct()|0;Ph(b,a);c[b>>2]=8436;c[b+52>>2]=0;return b|0}function kt(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=4096;c[a+12>>2]=4096;c[a+16>>2]=0;c[a+20>>2]=1;return}function lt(a,b,d){a=a|0;b=b|0;d=d|0;le(c[a+116>>2]|0,c[a+144>>2]|0,b,d);return}function mt(a,b){a=a|0;b=+b;var c=0;c=l;l=l+16|0;g[c>>2]=b;a=lq(a,c)|0;l=c;return a|0}function nt(a,b){a=a|0;b=b|0;var c=0;c=Cs()|0;Eq(c,a,b);return c|0}function ot(a){a=a|0;if(!a){a=0;return a|0}a=mr(a)|0;return a|0}function pt(a,b,d){a=a|0;b=b|0;d=d|0;Kb[c[(c[b>>2]|0)+64>>2]&127](a,b,d);return}function qt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 0.0}function rt(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 st(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Nb[c[(c[a>>2]|0)+80>>2]&127](a,b,d,e);return}function tt(a){a=a|0;if(!a){a=0;return a|0}a=_q(a)|0;return a|0}function ut(){var a=0;a=l;l=l+16|0;if(!(bb(26464,263)|0)){l=a;return}else jw(22349,a)}function vt(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 +kb[a&3](b|0,c|0,d|0,+e,f|0,g|0)}function wt(a,b){a=a|0;b=+b;var c=0;c=l;l=l+16|0;g[c>>2]=b;a=as(a,c)|0;l=c;return a|0}function xt(a){a=a|0;if(c[a+204>>2]&3|0)return;if((c[a+216>>2]&-2|0)!=4)c[a+216>>2]=1;g[a+220>>2]=0.0;return}function yt(a,b){a=a|0;b=b|0;Kn(a,+g[b>>2],+g[b+4>>2],+g[b+8>>2]);return}function zt(){var a=0;a=Vr(8)|0;c[a>>2]=0;c[a+4>>2]=0;Iy(a);return a|0}function At(a,b){a=a|0;b=b|0;a=c[a+4>>2]|0;sb[c[(c[a>>2]|0)+8>>2]&31](a,c[b+36>>2]|0)|0;return}function Bt(a,b){a=a|0;b=b|0;Tq(a,b);ps(a+48|0,b+48|0,b+52|0,b+56|0);return}function Ct(a,b,d){a=a|0;b=b|0;d=d|0;Eg(c[a+116>>2]|0,b,d);return}function Dt(a,b){a=a|0;b=b|0;c[a+260>>2]=(c[a+260>>2]|0)+1;c[a+192>>2]=b;c[a+200>>2]=b;return}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;Tb[a&7](b|0,c|0,d|0,e|0,f|0,g|0)}function Ft(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;S(35)}function Gt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Nb[c[(c[a>>2]|0)+24>>2]&127](a,b,d,e);return}function Ht(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Nb[c[(c[a>>2]|0)+88>>2]&127](a,b,d,e);return}function It(a,b,d){a=a|0;b=b|0;d=d|0;Kb[c[(c[b>>2]|0)+68>>2]&127](a,b,d);return}function Jt(b,d){b=b|0;d=d|0;b=(a[b+344>>0]|0)==0?3:0;c[d>>2]=b;c[d+4>>2]=b;return}function Kt(a,b){a=a|0;b=+b;var c=0;c=l;l=l+16|0;g[c>>2]=1.0/b;a=lq(a,c)|0;l=c;return a|0}function Lt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Nb[c[(c[a>>2]|0)+36>>2]&127](a,b,d,e);return}function Mt(a,b,d){a=a|0;b=+b;d=d|0;return rb[c[(c[a>>2]|0)+52>>2]&1](a,b,d,.01666666753590107)|0}function Nt(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){z=b<>>32-c;return a<>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;return}function Pt(a,b){a=a|0;b=b|0;Xn(a,+g[b>>2],+g[b+4>>2],+g[b+8>>2]);return}function Qt(a,b,d,e){a=a|0;b=+b;d=d|0;e=+e;return rb[c[(c[a>>2]|0)+52>>2]&1](a,b,d,e)|0}function Rt(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 St(a,b){a=a|0;b=b|0;c[a>>2]=1065353216;c[a+4>>2]=0;c[a+8>>2]=0;g[a+12>>2]=0.0;return}function Tt(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=1065353216;c[a+8>>2]=0;g[a+12>>2]=0.0;return}function Ut(a,b){a=a|0;b=b|0;Kb[c[(c[a>>2]|0)+8>>2]&127](a,b,c[(c[a+8>>2]|0)+48>>2]|0);return}function Vt(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;Sb[a&0](b|0,c|0,d|0,e|0,f|0,+g)}function Wt(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;Mb[a&0](b|0,c|0,d|0,+e,f|0,g|0)}function Xt(a,b){a=a|0;b=b|0;Yn(a,+g[b>>2],+g[b+4>>2],+g[b+8>>2]);return}function Yt(a){a=a|0;xB(a+144|0);xB(a+124|0);xB(a+104|0);return}function Zt(b,d,e){b=b|0;d=d|0;e=+e;g[(c[b+720>>2]|0)+(d*104|0)+88>>2]=e>0.0?1.0/e:0.0;a[b+924>>0]=1;return}function _t(a,b,d){a=a|0;b=b|0;d=+d;Hb[c[(c[a>>2]|0)+20>>2]&7](a,b,d);return}function $t(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){z=b>>>c;return a>>>c|(b&(1<>>c-32|0}function au(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Nb[c[(c[a>>2]|0)+124>>2]&127](a,e,b,d);return}function bu(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 cu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;vb[c[(c[a>>2]|0)+8>>2]&31](a,b,d,e)|0;return}function du(a,b){a=a|0;b=b|0;Rp(a,+g[b>>2],+g[b+4>>2],+g[b+8>>2]);return}function eu(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;ps(a,b,d,e);c[a+12>>2]=c[f>>2];return}function fu(b,c,d,e){b=b|0;c=c|0;d=+d;e=+e;a[b+737>>0]=c&1;g[b+680>>2]=d;g[b+684>>2]=e;return}function gu(a,b){a=a|0;b=b|0;On(a,+g[b>>2],+g[b+4>>2],+g[b+8>>2]);return}function hu(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;Gn(a,b,c,d,e,f);return}function iu(a){a=a|0;Sj(a);if(!a)return;c[6473]=(c[6473]|0)+1;nd(c[a+-4>>2]|0);return}function ju(a){a=a|0;ul(a);if(!a)return;c[6473]=(c[6473]|0)+1;nd(c[a+-4>>2]|0);return}function ku(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;Db[a&0](b|0,+c,+d,e|0,f|0,g|0)}function lu(a,b,d){a=a|0;b=b|0;d=d|0;Nb[c[(c[a>>2]|0)+36>>2]&127](a,b,d,-3);return}function mu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 1.0}function nu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return}function ou(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;S(18);return 0}function pu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Nb[c[(c[a>>2]|0)+32>>2]&127](a,b,d,e);return}function qu(a){a=a|0;Cg(a);if(!a)return;c[6473]=(c[6473]|0)+1;nd(c[a+-4>>2]|0);return}function ru(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;S(9);return 0.0}function su(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Ki(a,b,c,d,e);return}function tu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Qf(a,b,c,d,e);return}function uu(a){a=a|0;var b=0.0,c=0;c=+Vo(a,a)<0.0;b=+g[a+12>>2];return +(+fA(c?b:-b)*2.0)}function vu(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;Ib[c[(c[a>>2]|0)+28>>2]&7](a,b,d,e);return}function wu(a,b){a=a|0;b=b|0;Je(a,b);return}function xu(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;S(36)}function yu(a,b){a=a|0;b=b|0;Eg(c[a+116>>2]|0,b,1);return}function zu(a,b){a=a|0;b=b|0;c[a+260>>2]=(c[a+260>>2]|0)+1;Sq(a+4|0,b);return}function Au(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 +mb[a&15](b|0,c|0,d|0,e|0,f|0)}function Bu(a,b){a=a|0;b=b|0;var c=0;c=ls()|0;Sf(c,a,b);return c|0}function Cu(a,b){a=a|0;b=b|0;if(!b)b=0;else b=Gi(c[b>>2]|0,c[b+4>>2]|0,a)|0;return (b|0?b:a)|0}function Du(a,b){a=a|0;b=b|0;Wp(a,+g[b>>2],+g[b+4>>2],+g[b+8>>2]);return}function Eu(a,b,d){a=a|0;b=b|0;d=d|0;Nb[c[(c[a>>2]|0)+36>>2]&127](a,b,d,-1);return}function Fu(a,b){a=a|0;b=+b;var c=0;c=l;l=l+16|0;g[c>>2]=1.0/b;as(a,c)|0;l=c;return}function Gu(a){a=a|0;c[a>>2]=3996;Rf(a);Zi(a+60|0);_H(a);return}function Hu(a,b){a=a|0;b=+b;return rb[c[(c[a>>2]|0)+52>>2]&1](a,b,1,.01666666753590107)|0}function Iu(a){a=a|0;var b=0;b=Vr(8)|0;Dv(b,a);return b|0}function Ju(a,b,d){a=a|0;b=b|0;d=d|0;Kb[c[(c[a>>2]|0)+56>>2]&127](a,b,d);return}function Ku(a,b,d){a=a|0;b=b|0;d=+d;Hb[c[(c[a>>2]|0)+36>>2]&7](a,b,d);return}function Lu(a){a=a|0;bi(a);if(!a)return;c[6473]=(c[6473]|0)+1;nd(c[a+-4>>2]|0);return}function Mu(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;S(42)}function Nu(a){a=a|0;ij(a);if(!a)return;c[6473]=(c[6473]|0)+1;nd(c[a+-4>>2]|0);return}function Ou(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;Gn(a,b,c,d,e,1.0);return}function Pu(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;return +ib[a&3](b|0,c|0,+d,e|0,f|0)}function Qu(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;fu(a,b,c,d);return}function Ru(a){a=a|0;c[a>>2]=8252;if(!a)return;c[6473]=(c[6473]|0)+1;nd(c[a+-4>>2]|0);return}function Su(a,b){a=a|0;b=b|0;return c[(lB(c[a+24>>2]|0,b)|0)+64>>2]|0}function Tu(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Rb[a&31](b|0,c|0,d|0,e|0,f|0)}function Uu(a){a=a|0;if(!(c[a+12>>2]|0)){a=0;return a|0}a=c[a+20>>2]|0;return a|0}function Vu(a){a=a|0;ts(a);Xv(a);return}function Wu(a){a=a|0;Wl(a);if(!a)return;c[6473]=(c[6473]|0)+1;nd(c[a+-4>>2]|0);return}function Xu(a,b){a=a|0;b=b|0;var c=0;c=Vr(64)|0;_p(c,a,b);return c|0}function Yu(){var a=0;a=Vr(24)|0;kt(a);return a|0}function Zu(a,b,d){a=a|0;b=b|0;d=+d;Bb[c[(c[a>>2]|0)+16>>2]&31](a,d);return}function _u(a,b,c){a=a|0;b=b|0;c=c|0;Vn(a,b,c);return}function $u(a,b){a=a|0;b=b|0;Nb[c[(c[a>>2]|0)+36>>2]&127](a,b,2,-3);return}function av(a,b,d){a=a|0;b=+b;d=d|0;Eb[c[(c[a>>2]|0)+32>>2]&15](a,b,d);return}function bv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return}function cv(a){a=a|0;ci(a);if(!a)return;c[6473]=(c[6473]|0)+1;nd(c[a+-4>>2]|0);return}function dv(a){a=a|0;fi(a);if(!a)return;c[6473]=(c[6473]|0)+1;nd(c[a+-4>>2]|0);return}function ev(a,b,d){a=a|0;b=b|0;d=d|0;return +(+jb[c[(c[a>>2]|0)+32>>2]&15](a,b,d))}function fv(a,b){a=a|0;b=b|0;so(a,b);return}function gv(a,b){a=a|0;b=b|0;so(a,b);return}function hv(a,b){a=a|0;b=b|0;so(a,b);return}function iv(a,b){a=a|0;b=b|0;return c[(hD(c[a+276>>2]|0,b)|0)>>2]|0}function jv(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;Ob[a&1](b|0,c|0,d|0,e|0,+f)}function kv(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;Jb[a&0](b|0,c|0,+d,e|0,f|0)}function lv(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;S(17);return 0}function mv(a){a=a|0;if(!(+g[a+16>>2]==0.0)){a=0;return a|0}a=+g[a+20>>2]==0.0;return a|0}function nv(a){a=a|0;c[a>>2]=3996;Rf(a);Zi(a+60|0);return}function ov(a){a=a|0;c[a>>2]=4572;if(!a)return;c[6473]=(c[6473]|0)+1;nd(c[a+-4>>2]|0);return}function pv(a){a=a|0;c[a>>2]=5200;if(!a)return;c[6473]=(c[6473]|0)+1;nd(c[a+-4>>2]|0);return}function qv(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;S(8);return 0.0}function rv(a,b){a=a|0;b=b|0;Gb[c[(c[a>>2]|0)+16>>2]&127](a,b);return}function sv(a,b){a=a|0;b=b|0;Gb[c[(c[a>>2]|0)+52>>2]&127](a,b);return}function tv(a,b,d){a=a|0;b=b|0;d=+d;Hb[c[(c[a>>2]|0)+8>>2]&7](a,b,d);return}function uv(a,b){a=a|0;b=b|0;Cz(a,b);return}function vv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Hc(a,b,c,d)|0;return 1}function wv(a){a=a|0;var b=0;b=((c[a+52>>2]|0)+2|0)%3|0;return +(+g[(bI(a+28|0)|0)+(b<<2)>>2])}function xv(a,b){a=a|0;b=b|0;Gb[c[(c[a>>2]|0)+68>>2]&127](a,b);return}function yv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Ar(a,b,c,d,e);return}function zv(a){a=a|0;var b=0;b=ls()|0;Sf(b,a,1);return b|0}function Av(a,b,d){a=a|0;b=+b;d=d|0;g[(c[a+144>>2]|0)+(d*284|0)+232>>2]=b;return}function Bv(a,b,d){a=a|0;b=+b;d=d|0;g[(c[a+144>>2]|0)+(d*284|0)+252>>2]=b;return}function Cv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return}function Dv(a,b){a=a|0;b=b|0;zG(a);c[a>>2]=5048;c[a+4>>2]=b;return}function Ev(a,b){a=a|0;b=b|0;Kq(a,b);return}function Fv(a,b){a=a|0;b=b|0;Nq(a,b);return}function Gv(a,b){a=a|0;b=b|0;Nb[c[(c[a>>2]|0)+36>>2]&127](a,b,1,-1);return}function Hv(a){a=+a;var b=0;h[j>>3]=a;b=c[j>>2]|0;z=c[j+4>>2]|0;return b|0}function Iv(a,b){a=a|0;b=b|0;Gb[c[(c[a>>2]|0)+64>>2]&127](a,b);return}function Jv(a,b,c){a=a|0;b=b|0;c=c|0;Nh(b,c);return}function Kv(a,b){a=a|0;b=b|0;qn(a,b);return}function Lv(a){a=a|0;ld(a);if(!a)return;c[6473]=(c[6473]|0)+1;nd(c[a+-4>>2]|0);return}function Mv(a){a=a|0;c[a>>2]=3116;g[a+4>>2]=1.0;b[a+8>>1]=1;b[a+10>>1]=-1;return}function Nv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (z=d,a-c>>>0|0)|0}function Ov(a,b){a=a|0;b=b|0;return c[(hD(c[a+12>>2]|0,b)|0)>>2]|0}function Pv(a,b){a=a|0;b=b|0;if((c[a+216>>2]&-2|0)==4)return;c[a+216>>2]=b;return}function Qv(a,b){a=a|0;b=b|0;dr(a,b);return}function Rv(a,b){a=a|0;b=b|0;er(a,b);return}function Sv(a,b){a=a|0;b=b|0;Kb[c[(c[a>>2]|0)+56>>2]&127](a,b,0);return}function Tv(a,b){a=a|0;b=+b;Cx(a,b);return}function Uv(a,b){a=a|0;b=b|0;return sb[c[(c[a>>2]|0)+40>>2]&31](a,b)|0}function Vv(a,b){a=a|0;b=b|0;Gb[c[(c[a>>2]|0)+60>>2]&127](a,b);return}function Wv(a,b,d){a=a|0;b=b|0;d=+d;Gb[c[(c[a>>2]|0)+12>>2]&127](a,b);return}function Xv(b){b=b|0;a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;return}function Yv(a,b){a=a|0;b=b|0;Gb[c[(c[a>>2]|0)+92>>2]&127](a,b);return}function Zv(a,b){a=a|0;b=b|0;Ym(a,b);return}function _v(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return vb[a&31](b|0,c|0,d|0,e|0)|0}function $v(a,b){a=a|0;b=b|0;Gb[c[(c[a>>2]|0)+32>>2]&127](a,b);return}function aw(a){a=a|0;var b=0;b=ct()|0;Ph(b,a);return b|0}function bw(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;S(41)}function cw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return (z=b+d+(a+c>>>0>>>0>>0|0)>>>0,a+c>>>0|0)|0}function dw(a,b){a=a|0;b=b|0;Gb[c[(c[a>>2]|0)+40>>2]&127](a,b);return}function ew(a,b,c){a=a|0;b=b|0;c=c|0;Ce(a,b,c);return}function fw(a,b,d){a=a|0;b=+b;d=d|0;g[(c[a+144>>2]|0)+(d*284|0)+256>>2]=b;return}function gw(a,b){a=a|0;b=b|0;Gb[c[(c[a>>2]|0)+84>>2]&127](a,b);return}function hw(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;mm(a,b,c,d);return}function iw(a,b){a=a|0;b=b|0;Gb[c[(c[a>>2]|0)+28>>2]&127](a,b);return}function jw(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[d>>2]=b;Bk(a,d);Vm();Wa()}function kw(a,b){a=a|0;b=+b;c[a+260>>2]=(c[a+260>>2]|0)+1;g[a+232>>2]=b;return}function lw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return +lb[a&1](b|0,c|0,d|0,e|0)}function mw(a,b){a=a|0;b=b|0;Gb[c[(c[a>>2]|0)+72>>2]&127](a,b);return}function nw(){var a=0;a=Js()|0;$f(a,0,0,16);return a|0}function ow(a){a=a|0;var b=0;b=Vr(284)|0;uj(b,a);return b|0}function pw(a){a=a|0;if(!a)return;Ab[c[(c[a>>2]|0)+8>>2]&511](a);return}function qw(a,b){a=a|0;b=+b;g[a+36>>2]=b;g[a+40>>2]=+E(+b);return}function rw(a){a=a|0;if(!a)return;Ab[c[(c[a>>2]|0)+4>>2]&511](a);return}function sw(a,b){a=a|0;b=+b;return +(+gb[c[(c[a>>2]|0)+16>>2]&15](a)*b)}function tw(a){a=a|0;Fu(a,+Tz(+g[a>>2],+g[a+4>>2],+g[a+8>>2]));return}function uw(a,b){a=a|0;b=+b;MA(a,b);return}function vw(a,b){a=a|0;b=b|0;hv(a+868|0,b);return}function ww(a,b){a=a|0;b=+b;c[a+260>>2]=(c[a+260>>2]|0)+1;g[a+228>>2]=b;return}function xw(a,b){a=a|0;b=b|0;Ee(a,b);return}function yw(a,b){a=a|0;b=b|0;Gb[c[(c[a>>2]|0)+8>>2]&127](a,b);return}function zw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;S(7);return 0.0}function Aw(a,b,c){a=a|0;b=b|0;c=c|0;ni(a,b,c);return}function Bw(a){a=a|0;var b=0;b=((bI(c[a+236>>2]|0)|0)&2|0)==0;return (b?0:a)|0}function Cw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Nb[a&127](b|0,c|0,d|0,e|0)}function Dw(a,b){a=a|0;b=b|0;Gb[c[(c[a>>2]|0)+12>>2]&127](a,b);return}function Ew(a,b,c){a=a|0;b=b|0;c=c|0;Zk(a,b,c);return}function Fw(a,b){a=a|0;b=b|0;pf(a,b);return}function Gw(a,b){a=a|0;b=b|0;Gb[c[(c[a>>2]|0)+68>>2]&127](a,b);return}function Hw(a,b){a=a|0;b=+b;c[a+260>>2]=(c[a+260>>2]|0)+1;g[a+224>>2]=b;return}function Iw(){var a=0;a=ls()|0;Sf(a,1,1);return a|0}function Jw(a){a=a|0;return nE(c[a+204>>2]|0)|0}function Kw(a,b,c){a=a|0;b=+b;c=+c;yx(a,b,c);return}function Lw(a,b){a=a|0;b=+b;Bb[c[(c[a>>2]|0)+20>>2]&31](a,b);return}function Mw(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;pl(a,b,c,d);return}function Nw(a,b){a=a|0;b=b|0;c[b>>2]=6;c[b+4>>2]=6;return}function Ow(a,b){a=a|0;b=b|0;Kv(a+788|0,b);return}function Pw(a,b){a=a|0;b=+b;Bb[c[(c[a>>2]|0)+16>>2]&31](a,b);return}function Qw(a,b){a=a|0;b=b|0;return +(+g[(c[a+144>>2]|0)+(b*284|0)+232>>2])}function Rw(){var a=0;a=Vr(196)|0;Fh(a,0);return a|0}function Sw(a,b){a=a|0;b=b|0;Gb[c[(c[a>>2]|0)+24>>2]&127](a,b);return}function Tw(a,b,d){a=a|0;b=b|0;d=d|0;c[a+20>>2]=b;c[a+28>>2]=d;return}function Uw(a,b,d){a=a|0;b=b|0;d=d|0;c[a+16>>2]=b;c[a+24>>2]=d;return}function Vw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 0}function Ww(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=+e;return rb[a&1](b|0,+c,d|0,+e)|0}function Xw(a,b,c){a=a|0;b=b|0;c=+c;vm(a,b,c);return}function Yw(a,b){a=a|0;b=b|0;Gb[c[(c[a>>2]|0)+64>>2]&127](a,b);return}function Zw(a,b){a=a|0;b=b|0;return uB(c[a+12>>2]|0,b)|0}function _w(a,b,c){a=a|0;b=b|0;c=c|0;Nl(a,b,c);return}function $w(a,b,c){a=a|0;b=b|0;c=+c;g[a+1340+(b<<2)>>2]=c;return}function ax(a){a=a|0;var b=0;b=bI(a+28|0)|0;return +(+g[b+(c[a+52>>2]<<2)>>2])}function bx(a,b,c){a=a|0;b=b|0;c=c|0;return $b(a,b,c)|0}function cx(a,b){a=a|0;b=b|0;wx(a,b);return}function dx(a,b,c){a=a|0;b=b|0;c=+c;Jq(a,b,c);return}function ex(a,b){a=a|0;b=b|0;cn(a,b);return}function fx(a,b){a=a|0;b=b|0;Zv(a+708|0,b);return}function gx(a){a=a|0;if(!a)return;CE(a);_H(a);return}function hx(a,b,c){a=a|0;b=b|0;c=+c;g[a+1364+(b<<2)>>2]=c;return}function ix(a,b){a=a|0;b=b|0;je(a,b);return}function jx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;Lb[a&15](b|0,c|0,d|0,+e)}function kx(a){a=a|0;if(!a)return;xB(a);_H(a);return}function lx(a){a=+a;var b=0;b=Vs()|0;lp(b,a);return b|0}function mx(a,b){a=a|0;b=b|0;zu(a,b);return}function nx(a,b){a=a|0;b=+b;g[a+132>>2]=b;return}function ox(a,b){a=a|0;b=+b;Ay(a,b);return}function px(a){a=a|0;var b=0;b=(bI(c[a+236>>2]|0)|0)==4;return (b?a:0)|0}function qx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;Ib[a&7](b|0,c|0,+d,e|0)}function rx(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;Fb[a&0](b|0,+c,d|0,e|0)}function sx(a,b){a=a|0;b=+b;g[a+128>>2]=b;return}function tx(a,b){a=a|0;b=b|0;CB(a,b);return}function ux(a,b){a=a|0;b=b|0;ur(a,b);return}function vx(a,b){a=a|0;b=b|0;vr(a,b);return}function wx(a,b){a=a|0;b=b|0;c[a+176>>2]=(b|0)<0?0:(b|0)<2?b:2;return}function xx(a,b){a=a|0;b=b|0;c[a+24>>2]=b;return}function yx(a,b,c){a=a|0;b=+b;c=+c;g[a+472>>2]=b;g[a+476>>2]=c;return}function zx(a,b){a=a|0;b=b|0;return LB(a,b)|0}function Ax(a,b){a=a|0;b=b|0;g[a+48>>2]=+(b|0);return}function Bx(a){a=a|0;var b=0;b=l;l=l+16|0;zb[a&3]();jw(22452,b)}function Cx(b,c){b=b|0;c=+c;g[b+572>>2]=c;a[b+553>>0]=1;return}function Dx(a,b){a=a|0;b=b|0;return c[(c[a+20>>2]|0)+(b<<2)>>2]|0}function Ex(a){a=a|0;var b=0;b=(bI(c[a+236>>2]|0)|0)==8;return (b?a:0)|0}function Fx(a){a=a|0;return +(+oH(+g[a+16>>2]))}function Gx(a){a=a|0;return qb[c[(c[a>>2]|0)+40>>2]&127](a)|0}function Hx(a){a=a|0;return +(+Tz(+g[a>>2],+g[a+4>>2],+g[a+8>>2]))}function Ix(a,b){a=a|0;b=+b;mB(a,b);return}function Jx(a,b){a=a|0;b=b|0;OB(a,b);return}function Kx(a,b){a=a|0;b=b|0;iB(a,b);return}function Lx(a,b){a=a|0;b=+b;Bb[c[(c[a>>2]|0)+44>>2]&31](a,b);return}function Mx(a,b){a=a|0;b=b|0;$p(a,b);return}function Nx(a,b){a=a|0;b=+b;g[a+136>>2]=b;return}function Ox(a){a=a|0;return sF(+g[a+4>>2])|0}function Px(a){a=a|0;if(!a)return;c[6473]=(c[6473]|0)+1;nd(c[a+-4>>2]|0);return}function Qx(a,b){a=a|0;b=b|0;return (c[a+144>>2]|0)+(b*284|0)+92|0}function Rx(a,b){a=a|0;b=b|0;return iv(a,b)|0}function Sx(a,b,c,d,e,f){a=+a;b=+b;c=+c;d=+d;e=+e;f=+f;return +(a*d+b*e+c*f)}function Tx(a){a=a|0;c[a>>2]=2896;b[a+4>>1]=1;b[a+6>>1]=-1;return}function Ux(){var a=0;a=Vr(24)|0;sr(a);return a|0}function Vx(a,b){a=a|0;b=b|0;cq(a,b);return}function Wx(a,b){a=a|0;b=+b;dC(a,b);return}function Xx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return}function Yx(a){a=a|0;g[a>>2]=.30000001192092896;g[a+4>>2]=1.0;g[a+8>>2]=0.0;return}function Zx(a,b){a=a|0;b=+b;yB(a,b);return}function _x(a){a=a|0;Ab[c[(c[a>>2]|0)+44>>2]&511](a);return}function $x(a,b){a=a|0;b=b|0;Sq(a+4|0,b);return}function ay(a){a=a|0;return TE(c[a+204>>2]|0)|0}function by(a,b){a=a|0;b=+b;iC(a,b);return}function cy(a,b){a=a|0;b=+b;gz(a,b);return}function dy(a,b){a=a|0;b=+b;jC(a,b);return}function ey(a,b){a=a|0;b=+b;hz(a,b);return}function fy(a,b){a=a|0;b=b|0;Ns(a,b);return}function gy(a,b){a=a|0;b=b|0;eq(a,b);return}function hy(a){a=a|0;return +(+oH(+g[a+112>>2]))}function iy(b,c){b=b|0;c=c|0;a[b+32>>0]=c&1;return}function jy(a){a=a|0;return ME(c[a+8>>2]|0)|0}function ky(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ub[a&63](b|0,c|0,d|0)|0}function ly(a,b){a=a|0;b=b|0;return +(+lo(a,b))}function my(a,b){a=a|0;b=b|0;ni(a,b,1);return}function ny(a,b){a=a|0;b=b|0;GB(a,b);return}function oy(a){a=a|0;if(!a)a=0;else a=(Vi(a,2832)|0)!=0;return a&1|0}function py(a){a=a|0;wj(a);_H(a);return}function qy(a,b){a=a|0;b=b|0;km(a,b);return}function ry(a,b){a=a|0;b=+b;g[a+116>>2]=b;return}function sy(a,b){a=a|0;b=b|0;sA(a,b,+AD(b));return}function ty(a,b){a=a|0;b=b|0;cC(a,b);return}function uy(a,b){a=a|0;b=b|0;Bt(a,b);return}function vy(){var a=0;a=Vr(100)|0;nm(a);return a|0}function wy(a,b){a=a|0;b=+b;g[a+112>>2]=b;return}function xy(a,b){a=a|0;b=+b;g[a+124>>2]=b;return}function yy(a,b){a=a|0;b=b|0;MB(a,b);return}function zy(a,b){a=a|0;b=b|0;return c[(c[a+220>>2]|0)+(b<<2)>>2]|0}function Ay(b,c){b=b|0;c=+c;g[b+572>>2]=c;a[b+553>>0]=0;return}function By(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +jb[a&15](b|0,c|0,d|0)}function Cy(a,b){a=a|0;b=b|0;NB(a,b);return}function Dy(a,b){a=a|0;b=b|0;return $b(a,b,8192)|0}function Ey(b,c){b=b|0;c=c|0;a[b+120>>0]=c&1;return}function Fy(){var a=0;a=Vr(12)|0;Yx(a);return a|0}function Gy(a){a=a|0;if(!a)return;Yt(a);_H(a);return}function Hy(a){a=a|0;return qb[c[(c[a>>2]|0)+48>>2]&127](a)|0}function Iy(a){a=a|0;Tx(a);c[a>>2]=2872;return}function Jy(a){a=a|0;return uF(a)|0}function Ky(a,b){a=a|0;b=+b;kw(a,b);return}function Ly(a,b){a=a|0;b=b|0;return +(+ef(a,b))}function My(a){a=a|0;return +(+oH(+g[a+120>>2]))}function Ny(){var a=0;a=Vr(4)|0;$A(a);return a|0}function Oy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return}function Py(a){a=a|0;return oF(c[a+204>>2]|0)|0}function Qy(a,b){a=a|0;b=+b;OC(a,b);return}function Ry(a,b){a=a|0;b=b|0;lh(a,b);return}function Sy(a,b){a=a|0;b=+b;MC(a,b);return}function Ty(a){a=a|0;return qb[c[(c[a>>2]|0)+28>>2]&127](a)|0}function Uy(a,b){a=a|0;b=b|0;return Su(a,b)|0}function Vy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return tb[a&7](b|0,c|0,+d)|0}function Wy(a){a=a|0;return +(+g[a+132>>2])}function Xy(a){a=a|0;return wz(c[a+68>>2]|0)|0}function Yy(b){b=b|0;if((a[b>>0]|0)==1)b=0;else{a[b>>0]=1;b=1}return b|0}function Zy(b,c){b=b|0;c=c|0;a[b+80>>0]=c&1;return}function _y(a,b){a=a|0;b=b|0;kC(a,b);return}function $y(a){a=a|0;return +(+g[a+128>>2])}function az(a,b){a=a|0;b=b|0;return (c[a+144>>2]|0)+(b*284|0)|0}function bz(a,b){a=a|0;b=b|0;pC(a,b);return}function cz(a){a=a|0;c[a+4>>2]=(c[a+4>>2]|0)+-1;return}function dz(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;S(40)}function ez(a){a=a|0;return bC(a)|0}function fz(a){a=a|0;Xv(a);return}function gz(a,b){a=a|0;b=+b;g[a+196>>2]=+Gs(b);return}function hz(a,b){a=a|0;b=+b;g[a+192>>2]=+Gs(b);return}function iz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Kb[a&127](b|0,c|0,d|0)}function jz(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))ok(b,d,a);return}function kz(a,b){a=a|0;b=b|0;Sq(a+92|0,b);return}function lz(a){a=a|0;tj(a);_H(a);return}function mz(a,b){a=a|0;b=+b;g[a+268>>2]=b;return}function nz(a){a=a|0;return +(+oH(+g[a+80>>2]))}function oz(a,b){a=a|0;b=b|0;c[b+748>>2]=0;return}function pz(a,b){a=a|0;b=b|0;lk(a,b);return}function qz(a){a=a|0;return _F(a)|0}function rz(a,b){a=a|0;b=+b;ww(a,b);return}function sz(a,b){a=a|0;b=+b;g[a+96>>2]=b;return}function tz(a){a=a|0;return +(+gb[c[(c[a>>2]|0)+48>>2]&15](a))}function uz(a,c){a=a|0;c=c|0;b[a+10>>1]=c;return}function vz(a,c){a=a|0;c=c|0;b[a+8>>1]=c;return}function wz(a){a=a|0;return qb[c[(c[a>>2]|0)+36>>2]&127](a)|0}function xz(a){a=a|0;var b=0;b=l;l=l+a|0;l=l+15&-16;return b|0}function yz(a,b){a=a|0;b=b|0;Bd(a,b);return}function zz(a,b){a=a|0;b=b|0;NC(a,b);return}function Az(a){a=a|0;return +(+g[a+136>>2])}function Bz(b){b=b|0;return (a[b+32>>0]&1)!=0|0}function Cz(b,c){b=b|0;c=c|0;a[b+170>>0]=c&1;return}function Dz(a,b){a=a|0;b=b|0;Mr(a,b);return}function Ez(a,b){a=a|0;b=b|0;yn(a+288|0,b);return}function Fz(a,b){a=a|0;b=b|0;return Bw(b)|0}function Gz(a,b){a=a|0;b=+b;g[a+108>>2]=b;return}function Hz(a,c){a=a|0;c=c|0;b[a+12>>1]=c;return}function Iz(a,b){a=a|0;b=b|0;lh(b,a);return}function Jz(a,b){a=a|0;b=+b;g[a+272>>2]=b;return}function Kz(a){a=a|0;return cG(a)|0}function Lz(a){a=a|0;return dG(a)|0}function Mz(a){a=a|0;return iG(a)|0}function Nz(a,c){a=a|0;c=c|0;b[a+14>>1]=c;return}function Oz(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;S(16);return 0}function Pz(a){a=a|0;cz(a);return}function Qz(a,b){a=a|0;b=b|0;pz(a,b);return}function Rz(a,b){a=a|0;b=b|0;return Ex(b)|0}function Sz(a,b){a=a|0;b=b|0;c[a+44>>2]=b&1;return}function Tz(a,b,c){a=+a;b=+b;c=+c;return +(+RH(+eA(a,b,c)))}function Uz(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;Eb[a&15](b|0,+c,d|0)}function Vz(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Ck(a,b)|0;return a|0}function Wz(a,b){a=a|0;b=+b;g[a+220>>2]=b;return}function Xz(a,b){a=a|0;b=+b;g[a+100>>2]=b;return}function Yz(b){b=b|0;return (a[b+120>>0]&1)!=0|0}function Zz(b,c){b=b|0;c=c|0;a[b+24>>0]=c&1;return}function _z(a){a=a|0;return ~~+g[a+48>>2]|0}function $z(b,c){b=b|0;c=c|0;a[b+180>>0]=c&1;return}function aA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;Hb[a&7](b|0,c|0,+d)}function bA(a,b){a=a|0;b=+b;g[a+224>>2]=b;return}function cA(a,b){a=a|0;b=+b;Hw(a,b);return}function dA(a){a=a|0;return gB(c[a+216>>2]|0)|0}function eA(a,b,c){a=+a;b=+b;c=+c;return +(+Sx(a,b,c,a,b,c))}function fA(a){a=+a;if(!(a<-1.0)){if(a>1.0)a=1.0}else a=-1.0;return +(+H(+a))}function gA(a){a=a|0;return +(+g[a+116>>2])}function hA(a){a=a|0;return +(+uu(a))}function iA(b,c){b=b|0;c=c|0;a[b+16>>0]=c&1;return}function jA(a){a=a|0;return $C(a)|0}function kA(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;S(4);return 0.0}function lA(a,b){a=a|0;b=+b;g[a+276>>2]=b;return}function mA(a,b){a=a|0;b=+b;g[a+204>>2]=b;return}function nA(a,b){a=a|0;b=+b;g[a+208>>2]=b;return}function oA(a){a=a|0;return +(+g[a+112>>2])}function pA(a){a=a|0;return +(+g[a+124>>2])}function qA(a,b,c){a=a|0;b=+b;c=c|0;return}function rA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return}function sA(a,b,c){a=a|0;b=b|0;c=+c;Ln(a,b,1.0/c);return}function tA(a){a=a|0;Ye(a);_H(a);return}function uA(a,b){a=a|0;b=b|0;var c=0;c=TA(a|0)|0;return ((b|0)==0?a:c)|0}function vA(a,b){a=a|0;b=+b;g[a+216>>2]=b;return}function wA(b){b=b|0;return (a[b+80>>0]&1)!=0|0}function xA(a){a=a|0;if(!a)return;Px(a);return}function yA(a,b){a=a|0;b=b|0;c[a+36>>2]=b;return}function zA(a,b){a=a|0;b=b|0;c[a+32>>2]=b;return}function AA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ne(a,b,c,d,0)|0}function BA(b,c){b=b|0;c=c|0;a[b+260>>0]=c&1;return}function CA(b,c){b=b|0;c=c|0;a[b+25>>0]=c&1;return}function DA(a,b,c){a=a|0;b=+b;c=c|0;return}function EA(a,b){a=a|0;b=b|0;c[a+72>>2]=b;return}function FA(a){a=a|0;Kt(a,+AD(a))|0;return}function GA(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;Cb[a&7](b|0,+c,+d)}function HA(a){a=a|0;return +(+DG(+g[a+12>>2]))}function IA(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function JA(a){a=a|0;return wG(a)|0}function KA(a){a=a|0;return bI(c[a+84>>2]|0)|0}function LA(a,b){a=a|0;b=b|0;return +(+os(a,b))}function MA(a,b){a=a|0;b=+b;g[a+16>>2]=b;return}function NA(a,b){a=a|0;b=b|0;c[a+216>>2]=b;return}function OA(b,c){b=b|0;c=c|0;a[b+26>>0]=c&1;return}function PA(b,c){b=b|0;c=c|0;a[b+84>>0]=c&1;return}function QA(a){a=a|0;dk(a);_H(a);return}function RA(a){a=a|0;Dk(a);_H(a);return}function SA(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;S(39)}function TA(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function UA(a){a=a|0;return EG(a)|0}function VA(a){a=a|0;return bI(c[a+88>>2]|0)|0}function WA(a){a=a|0;return sD(a)|0}function XA(a){a=a|0;return (c[a+116>>2]|0)+4|0}function YA(a){a=a|0;return bI(c[a+748>>2]|0)|0}function ZA(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return}function _A(a,b){a=a|0;b=b|0;xm(a+28|0,b);return}function $A(a){a=a|0;MF(a);c[a>>2]=2968;return}function aB(a,b,c){a=a|0;b=b|0;c=c|0;return sb[a&31](b|0,c|0)|0}function bB(a,b){a=a|0;b=+b;g[a+244>>2]=b;return}function cB(a,b){a=a|0;b=+b;g[a+240>>2]=b;return}function dB(a){a=a|0;return +(+g[a+104>>2])}function eB(a,b){a=a|0;b=b|0;return wl(a,b)|0}function fB(a){a=a|0;return KG(a)|0}function gB(a){a=a|0;a=bI(a)|0;return (a|0)!=5&(a|0)!=2|0}function hB(a){a=a|0;ck(a);_H(a);return}function iB(b,c){b=b|0;c=c|0;a[b+524>>0]=c&1;return}function jB(a){a=a|0;return ((a|0)==0?1:a<<1)|0}function kB(a,b){a=a|0;b=b|0;return a+(b*96|0)|0}function lB(a,b){a=a|0;b=b|0;return a+(b*80|0)|0}function mB(a,b){a=a|0;b=+b;g[a+248>>2]=b;return}function nB(a,b){a=a|0;b=+b;g[a+212>>2]=b;return}function oB(a,b){a=a|0;b=+b;g[a+228>>2]=b;return}function pB(a){a=a|0;return +(+g[a+268>>2])}function qB(a,b){a=a|0;b=b|0;return qo(a,b)|0}function rB(a,b){a=a|0;b=b|0;return po(a,b)|0}function sB(a,b){a=a|0;b=b|0;return +(+Vo(a,b))}function tB(a){a=a|0;return +(+ax(a))}function uB(a,b){a=a|0;b=b|0;return a+(b*104|0)|0}function vB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;S(38)}function wB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;S(32)}function xB(a){a=a|0;Vu(a);return}function yB(a,b){a=a|0;b=+b;g[a+252>>2]=b;return}function zB(a){a=a|0;return +(+g[a+96>>2])}function AB(a){a=a|0;return TG(a)|0}function BB(a){a=a|0;return (c[a+44>>2]|0)!=0|0}function CB(a,b){a=a|0;b=b|0;c[a+84>>2]=b;return}function DB(a){a=a|0;fz(a);return}function EB(a){a=a|0;return bI(c[a+128>>2]|0)|0}function FB(b){b=b|0;return (a[b+24>>0]&1)!=0|0}function GB(b,c){b=b|0;c=c|0;a[b+552>>0]=c&1;return}function HB(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function IB(a){a=a|0;return $E(a)|0}function JB(a){a=a|0;return +(+g[a+108>>2])}function KB(a){a=a|0;ek(a);_H(a);return}function LB(a,b){a=a|0;b=b|0;return a+4+(b*184|0)|0}function MB(b,c){b=b|0;c=c|0;a[b+736>>0]=c&1;return}function NB(a,b){a=a|0;b=b|0;c[a+204>>2]=b;return}function OB(a,b){a=a|0;b=b|0;c[a+88>>2]=b;return}function PB(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;S(23)}function QB(a,b){a=a|0;b=+b;g[a+232>>2]=b;return}function RB(a,b){a=a|0;b=+b;g[a+280>>2]=b;return}function SB(a,b){a=a|0;b=+b;g[a+236>>2]=b;return}function TB(a){a=a|0;return +(+g[a+272>>2])}function UB(a){a=a|0;return bI(c[a+116>>2]|0)|0}function VB(a){a=a|0;return bI(c[a+120>>2]|0)|0}function WB(a,b){a=a|0;b=+b;return Kt(a,b)|0}function XB(a){a=a|0;return bI(c[a+744>>2]|0)|0}function YB(a){a=a|0;return bI(c[a+740>>2]|0)|0}function ZB(b){b=b|0;return (a[b+16>>0]&1)!=0|0}function _B(a){a=a|0;return b[a+10>>1]|0}function $B(a){a=a|0;return b[a+8>>1]|0}function aC(a){a=a|0;if(a>>>0>4294963200){c[6614]=0-a;a=-1}return a|0}function bC(a){a=a|0;return bI(c[a+268>>2]|0)|0}function cC(b,c){b=b|0;c=c|0;a[b+21>>0]=c&1;return}function dC(a,b){a=a|0;b=+b;g[a+684>>2]=b;return}function eC(a){a=a|0;return bI(c[a+192>>2]|0)|0}function fC(a){a=a|0;return bI(c[a+204>>2]|0)|0}function gC(a){a=a|0;return bI(c[a+24>>2]|0)|0}function hC(a){a=a|0;return bI(c[a+68>>2]|0)|0}function iC(a,b){a=a|0;b=+b;g[a+188>>2]=b;return}function jC(a,b){a=a|0;b=+b;g[a+184>>2]=b;return}function kC(a,b){a=a|0;b=b|0;c[a+240>>2]=b;return}function lC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;S(6);return 0.0}function mC(a){a=a|0;return +(+g[a+220>>2])}function nC(a){a=a|0;return +(+g[a+100>>2])}function oC(a){a=a|0;return b[a+12>>1]|0}function pC(b,c){b=b|0;c=c|0;a[b+737>>0]=c&1;return}function qC(a,b){a=a|0;b=+b;g[a+256>>2]=b;return}function rC(a){a=a|0;return +(+g[a+224>>2])}function sC(a,b){a=a|0;b=b|0;return Pr(a,b)|0}function tC(a,b){a=a|0;b=b|0;return Or(a,b)|0}function uC(a){a=a|0;return Yg(a)|0}function vC(a){a=a|0;return bI(c[a+480>>2]|0)|0}function wC(a){a=a|0;return bI(c[a+124>>2]|0)|0}function xC(a){a=a|0;return b[a+14>>1]|0}function yC(a,b){a=a|0;b=b|0;c[a+84>>2]=b;return}function zC(a,b){a=a|0;b=b|0;c[a+88>>2]=b;return}function AC(a,b){a=a|0;b=b|0;c[a+92>>2]=b;return}function BC(a,b){a=a|0;b=b|0;c[a+100>>2]=b;return}function CC(a,b){a=a|0;b=b|0;c[a+96>>2]=b;return}function DC(a){a=a|0;return (c[a+48>>2]|0)==1|0}function EC(a){a=a|0;fk(a);_H(a);return}function FC(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;return}function GC(a,b){a=a|0;b=b|0;return (a|0)==(b|0)|0}function HC(a,b){a=a|0;b=b|0;if(!o){o=a;p=b}}function IC(b){b=b|0;return (a[b+260>>0]&1)!=0|0}function JC(a){a=a|0;return bI(c[a+240>>2]|0)|0}function KC(b){b=b|0;return (a[b+25>>0]&1)!=0|0}function LC(a){a=a|0;return (c[a+92>>2]|0)+4|0}function MC(a,b){a=a|0;b=+b;g[a+440>>2]=b;return}function NC(a,b){a=a|0;b=b|0;c[a+240>>2]=b;return}function OC(a,b){a=a|0;b=+b;g[a+104>>2]=b;return}function PC(a,b,c){a=a|0;b=b|0;c=c|0;Gb[a&127](b|0,c|0)}function QC(a,b,c){a=a|0;b=b|0;c=+c;return +hb[a&1](b|0,+c)}function RC(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;S(2);return 0.0}function SC(a){a=a|0;return +(+g[a+276>>2])}function TC(a){a=a|0;return +(+g[a+208>>2])}function UC(a){a=a|0;return +(+wv(a))}function VC(a,b){a=a|0;b=b|0;c[a+16>>2]=b;return}function WC(a,b){a=a|0;b=+b;g[a+64>>2]=b;return}function XC(a,b){a=a|0;b=+b;g[a+68>>2]=b;return}function YC(a){a=+a;return (g[j>>2]=a,c[j>>2]|0)|0}function ZC(a){a=a|0;return bI(c[a+52>>2]|0)|0}function _C(a){a=a|0;if(!a)return;_H(a);return}function $C(a){a=a|0;return bI(c[a+16>>2]|0)|0}function aD(a){a=a|0;return +(+g[a+216>>2])}function bD(a,b){a=a|0;b=+b;UE(a,b);return}function cD(b){b=b|0;return (a[b+26>>0]&1)!=0|0}function dD(b){b=b|0;return (a[b+84>>0]&1)!=0|0}function eD(a,b){a=a|0;b=+b;g[a+80>>2]=b;return}function fD(a,b){a=a|0;b=+b;g[a+76>>2]=b;return}function gD(a){a=a|0;return +(+g[a+28>>2]*+g[a+12>>2])}function hD(a,b){a=a|0;b=b|0;return a+(b<<2)|0}function iD(a,b,c){a=a|0;b=b|0;c=c|0;return}function jD(a){a=a|0;return +(+g[a+248>>2])}function kD(a){a=a|0;return VG(a)|0}function lD(a,b){a=a|0;b=+b;g[a+60>>2]=b;return}function mD(a,b){a=a|0;b=+b;g[a+52>>2]=b;return}function nD(a,b){a=a|0;b=+b;g[a+56>>2]=b;return}function oD(a,b){a=a|0;b=b|0;c[a+20>>2]=b;return}function pD(a,b,c){a=a|0;b=b|0;c=+c;return 0}function qD(a){a=a|0;return +(+g[a+204>>2])}function rD(a){a=a|0;Gq(a);return}function sD(a){a=a|0;return bI(c[a+136>>2]|0)|0}function tD(a,b){a=a|0;b=b|0;return}function uD(a,b){a=a|0;b=+b;pF(a,b);return}function vD(a,b){a=a|0;b=+b;qF(a,b);return}function wD(a,b){a=a|0;b=+b;LF(a,b);return}function xD(a){a=a|0;return c[a+36>>2]|0}function yD(a){a=a|0;return c[a+32>>2]|0}function zD(a){a=a|0;return (c[a+48>>2]|0)+4|0}function AD(a){a=a|0;return +(+RH(+HE(a)))}function BD(a){a=a|0;return a+44|0}function CD(a){a=a|0;return c[a+68>>2]|0}function DD(a,b,c){a=a|0;b=b|0;c=+c;Bb[a&31](b|0,+c)}function ED(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;S(37)}function FD(a){a=a|0;return +(+g[(JH(a)|0)>>2])}function GD(a){a=a|0;return +(+g[(KH(a)|0)>>2])}function HD(a){a=a|0;return +(+g[(IH(a)|0)>>2])}function ID(a){a=a|0;return eH(a)|0}function JD(a){a=a|0;FA(a);return}function KD(a){a=a|0;return c[a+8>>2]|0}function LD(a,b){a=a|0;b=+b;g[a+40>>2]=b;return}function MD(a,b){a=a|0;b=+b;g[a+36>>2]=b;return}function ND(a,b){a=a|0;b=+b;g[a+48>>2]=b;return}function OD(a){a=a|0;return a+60|0}function PD(a,b){a=a|0;b=+b;g[a+92>>2]=b;return}function QD(a){a=a|0;return c[a+200>>2]|0}function RD(a){a=a|0;return +(+g[a+244>>2])}function SD(a){a=a|0;return +(+g[a+240>>2])}function TD(a){a=a|0;return +(+HE(a))}function UD(a,b){a=a|0;b=+b;g[a+24>>2]=b;return}function VD(a,b){a=a|0;b=+b;g[a+20>>2]=b;return}function WD(a,b){a=a|0;b=+b;g[a+32>>2]=b;return}function XD(a,b){a=a|0;b=+b;g[a+16>>2]=b;return}function YD(a,b){a=a|0;b=+b;g[a+28>>2]=b;return}function ZD(a,b){a=a|0;b=b|0;c[a>>2]=b;return}function _D(a){a=a|0;return c[a+212>>2]|0}function $D(a){a=a|0;c[a+192>>2]=0;return}function aE(a,b,c){a=a|0;b=b|0;c=c|0;return}function bE(a,b){a=a|0;b=+b;g[a+72>>2]=b;return}function cE(a){a=a|0;return +(+g[a+212>>2])}function dE(a){a=a|0;return +(+g[a+228>>2])}function eE(a){a=a|0;return c[a+24>>2]|0}function fE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;S(34)}function gE(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;S(29)}function hE(a){a=a|0;return +(+g[a+252>>2])}function iE(a){a=a|0;return KH(a)|0}function jE(a){a=a|0;return +(+AD(a))}function kE(a){a=a|0;return c[a+4>>2]|0}function lE(){var a=0;a=c[6617]|0;c[6617]=a+0;return a|0}function mE(a,b,c){a=a|0;b=b|0;c=c|0;return 0.0}function nE(a){a=a|0;return (a&3|0)!=0|0}function oE(a){a=a|0;return c[a+136>>2]|0}function pE(a,b){a=a|0;b=+b;g[a+44>>2]=b;return}function qE(a){a=a|0;return bI(c[a+4>>2]|0)|0}function rE(a){a=a|0;return a+156|0}function sE(a){a=a|0;return a+20|0}function tE(){var a=0;a=c[2438]|0;c[2438]=a+0;return a|0}function uE(a){a=a|0;gi(a);_H(a);return}function vE(a){a=a|0;bp(a);_H(a);return}function wE(a){a=a|0;Aj(a);_H(a);return}function xE(a){a=a|0;return +(+g[a+232>>2])}function yE(a){a=a|0;return +(+g[a+280>>2])}function zE(a){a=a|0;return +(+g[a+236>>2])}function AE(a){a=a|0;return 348}function BE(a){a=a|0;return c[a+12>>2]|0}function CE(a){a=a|0;FE(a+56|0);return}function DE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;S(15);return 0}function EE(a){a=a|0;tw(a);return}function FE(a){a=a|0;xB(a);return}function GE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;S(5);return 0.0}function HE(a){a=a|0;return +(+Vo(a,a))}function IE(a){a=a|0;return +(+g[a+256>>2])}function JE(a){a=a|0;return +(+g[(bI(a)|0)>>2])}function KE(a){a=a|0;return a+348|0}function LE(a){a=a|0;return +(+g[a>>2])}function ME(a){a=a|0;return (a|0)!=0|0}function NE(a,b){a=a|0;b=b|0;return qb[a&127](b|0)|0}function OE(a){a=a|0;return a+24|0}function PE(a){a=a|0;Na(a|0)|0;Zp()}function QE(a){a=a|0;return a+64|0}function RE(a){a=a|0;return +(+g[a+64>>2])}function SE(a){a=a|0;return +(+g[a+68>>2])}function TE(a){a=a|0;return (a&2|0)!=0|0}function UE(a,b){a=a|0;b=+b;g[a+12>>2]=b;return}function VE(a){a=a|0;return a+172|0}function WE(a){a=a|0;return c[a+84>>2]|0}function XE(a){a=a|0;return c[a+88>>2]|0}function YE(a){a=a|0;return c[a+92>>2]|0}function ZE(a){a=a|0;return c[a+100>>2]|0}function _E(a){a=a|0;return 252}function $E(a){a=a|0;return c[a+240>>2]|0}function aF(a,b,c,d){a=a|0;b=+b;c=c|0;d=+d;S(11);return 0}function bF(a){a=a|0;return a+52|0}function cF(a){a=a|0;return +(+g[a+80>>2])}function dF(a){a=a|0;return +(+g[a+76>>2])}function eF(a){a=a|0;return 28}function fF(a){a=a|0;return c[a+72>>2]|0}function gF(a,b){a=a|0;b=b|0;return +gb[a&15](b|0)}function hF(a){a=a|0;return c[a+16>>2]|0}function iF(a){a=a|0;return +(+g[a+60>>2])}function jF(a){a=a|0;return +(+g[a+52>>2])}function kF(a){a=a|0;return +(+g[a+56>>2])}function lF(a){a=a|0;return a+108|0}function mF(a){a=a|0;return 212}function nF(a){a=a|0;return c[a+96>>2]|0}function oF(a){a=a|0;return (a&1|0)!=0|0}function pF(a,b){a=a|0;b=+b;g[a+8>>2]=b;return}function qF(a,b){a=a|0;b=+b;g[a+4>>2]=b;return}function rF(a){a=a|0;return a+16|0}function sF(a){a=+a;return a<1.0|0}function tF(a,b){a=a|0;b=b|0;return 1}function uF(a){a=a|0;return a+324|0}function vF(a){a=a|0;LG(a);return}function wF(a,b){a=a|0;b=b|0;l=a;m=b}function xF(a){a=a|0;return a+188|0}function yF(a){a=a|0;return c[a+20>>2]|0}function zF(a){a=a|0;return 204}function AF(a,b){a=a|0;b=b|0;return}function BF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;S(33)}function CF(a){a=a|0;return a+36|0}function DF(a){a=a|0;return +(+g[a+44>>2])}function EF(a){a=a|0;return +(+g[a+40>>2])}function FF(a){a=a|0;return +(+g[a+36>>2])}function GF(a){a=a|0;return +(+g[a+48>>2])}function HF(a){a=a|0;return +(+g[a+92>>2])}function IF(a){a=a|0;return 220}function JF(a){a=a|0;return 256}function KF(a){a=a|0;return +(+g[a+72>>2])}function LF(a,b){a=a|0;b=+b;g[a>>2]=b;return}function MF(a){a=a|0;c[a>>2]=2996;return}function NF(a){a=a|0;c[a>>2]=8252;return}function OF(a){a=a|0;vF(a);return}function PF(a){a=a|0;return +(+g[a+24>>2])}function QF(a){a=a|0;return +(+g[a+4>>2])}function RF(a){a=a|0;return +(+g[a+20>>2])}function SF(a){a=a|0;return +(+g[a+32>>2])}function TF(a){a=a|0;return +(+g[a+16>>2])}function UF(a){a=a|0;return +(+g[a+12>>2])}function VF(a){a=a|0;return +(+g[a+28>>2])}function WF(a){a=a|0;return 52}function XF(a){a=a|0;return 68}function YF(a){a=a|0;return 84}function ZF(a,b){a=a|0;b=b|0;return a+(b<<4)|0}function _F(a){a=a|0;return a+352|0}function $F(a){a=a|0;return bI(a)|0}function aG(a){a=a|0;return a+868|0}function bG(a){a=a|0;return +(+g[a+8>>2])}function cG(a){a=a|0;return a+316|0}function dG(a){a=a|0;return a+300|0}function eG(a,b){a=a|0;b=b|0;Ab[a&511](b|0)}function fG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;S(31)}function gG(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;S(28)}function hG(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;S(25)}function iG(a){a=a|0;return a+32|0}function jG(a){a=a|0;return 24}function kG(a,b){a=a|0;b=+b;return}function lG(a){a=a|0;return a+788|0}function mG(a){a=a|0;return c[a>>2]|0}function nG(a,b){a=a|0;b=b|0;return Cu(a,b)|0}function oG(a){a=a|0;return a+68|0}function pG(a){a=a|0;Px(a);return}function qG(a){a=a|0;_H(a+-4|0);return}function rG(a){a=a|0;fi(a);return}function sG(a){a=a|0;return a+708|0}function tG(a){a=a|0;return 488}function uG(a,b,c){a=a|0;b=b|0;c=c|0;S(14);return 0}function vG(a){a=a|0;return 32}function wG(a){a=a|0;return a+328|0}function xG(a){a=a|0;return 60}function yG(a){a=a|0;return 428}function zG(a){a=a|0;c[a>>2]=3072;return}function AG(a,b,c){a=a|0;b=b|0;c=c|0;S(3);return 0.0}function BG(a){a=a|0;return a+288|0}function CG(){return Vr(1)|0}function DG(a){a=+a;return +(+fA(a)*2.0)}function EG(a){a=a|0;return a+312|0}function FG(a){a=a|0;c[a>>2]=4572;return}function GG(a){a=a|0;c[a>>2]=5200;return}function HG(a){a=a|0;return (a&255)<<8|a>>8&255|0}function IG(a,b,c){a=a|0;b=b|0;c=+c;S(13);return 0}function JG(a){a=a|0;return 11278}function KG(a){a=a|0;return a+92|0}function LG(a){a=a|0;c[a>>2]=0;return}function MG(a){a=a|0;return 4}function NG(a){a=a|0;return 18007}function OG(a){a=a|0;return 17723}function PG(a){a=a|0;c[a>>2]=3048;return}function QG(){return dt()|0}function RG(a){a=a|0;return 11166}function SG(a){a=a|0;return a+76|0}function TG(a){a=a|0;return a+28|0}function UG(a){a=a|0;return 16869}function VG(a){a=a|0;return a+380|0}function WG(a){a=+a;return +(+bh(a,6.2831854820251465))}function XG(a){a=a|0;return a+40|0}function YG(a){a=a|0;return a+72|0}function ZG(a){a=a|0;return a+56|0}function _G(a,b,c){a=a|0;b=b|0;c=c|0;S(30)}function $G(a){a=a|0;return 17253}function aH(a){a=a|0;return 0}function bH(a,b){a=+a;b=b|0;return +(+em(a,b))}function cH(){return Vr(64)|0}function dH(a){a=a|0;return 17311}function eH(a){a=a|0;return a+48|0}function fH(a){a=a|0;return 17509}function gH(a){a=a|0;return 1}function hH(a,b,c){a=a|0;b=b|0;c=+c;S(27)}function iH(a,b,c){a=a|0;b=+b;c=c|0;S(24)}function jH(a){a=a|0;return 18124}function kH(a){a=a|0;return 18095}function lH(a){a=a|0;return 3}function mH(a){a=a|0;return om(a,26432)|0}function nH(a){a=a|0;return 11545}function oH(a){a=+a;return +a}function pH(a){a=a|0;return 18067}function qH(a){a=a|0;return 16584}function rH(a){a=a|0;return 17667}function sH(a){a=a|0;return 17640}function tH(a){a=a|0;return 17610}function uH(a){a=a|0;return 8}function vH(a,b,c){a=a|0;b=+b;c=+c;S(22)}function wH(a){a=a|0;return 16688}function xH(a,b){a=a|0;b=b|0;S(12);return 0}function yH(a){a=a|0;return 16646}function zH(a){a=a|0;return 16667}function AH(a){a=a|0;return 6}function BH(a){a=a|0;return 12}function CH(){return 4}function DH(a){a=a|0;return 16627}function EH(a){a=a|0;return 2}function FH(a){a=a|0;return 17782}function GH(a,b){a=a|0;b=+b;S(1);return 0.0}function HH(){c[5698]=1805;c[5699]=0;return}function IH(a){a=a|0;return a+12|0}function JH(a){a=a|0;return a+8|0}function KH(a){a=a|0;return a+4|0}function LH(a){a=a|0;zb[a&3]()}function MH(){return 2}function NH(){return 1}function OH(){return 5}function PH(){return 3}function QH(){Pa()}function RH(a){a=+a;return +(+C(+a))}function SH(a){a=+a;return +(+F(+a))}function TH(a){a=+a;return +(+E(+a))}function UH(a,b){a=a|0;b=b|0;S(26)}function VH(a){a=a|0;return}function WH(a,b){a=a|0;b=+b;S(21)}function XH(a){a=a|0;return Vr(a)|0}function YH(a){a=a|0;_H(a);return}function ZH(a){a=a|0;l=a}function _H(a){a=a|0;nd(a);return}function $H(a){a=a|0;z=a}function aI(a){a=a|0;S(10);return 0}function bI(a){a=a|0;return a|0}function cI(a){a=a|0;S(0);return 0.0}function dI(){return z|0}function eI(){return l|0}function fI(a){a=a|0;S(20)}function gI(){return 0}function hI(){S(19)} // EMSCRIPTEN_END_FUNCS var gb=[cI,Co,UF,tz,DF,KF,gD,hq,gq,hq,cI,cI,cI,cI,cI,cI];var hb=[GH,sw];var ib=[RC,Zj,Zj,RC];var jb=[AG,sj,Yj,ki,mE,Qk,$n,Pj,ym,mn,Gh,wm,jm,Yl,AG,AG];var kb=[kA,jk,ik,kA];var lb=[GE,Mc];var mb=[lC,mu,ae,mu,mu,be,mu,mu,Hf,mf,qt,mu,mu,lC,lC,lC];var nb=[zw,Mp];var ob=[qv,kc,xi,qv];var pb=[ru,Ni,Lc,ru];var qb=[aI,aH,gH,kE,KD,KD,hF,eE,yG,EH,lr,RG,BH,IH,JG,WF,aH,vG,nH,EH,lH,lH,gH,fF,QD,_D,MG,tG,EH,WF,_E,AE,YF,zF,mF,IF,gH,Hy,mv,JF,BE,Uu,CD,CD,SG,qH,jG,DH,xG,yH,zH,wH,zD,UG,xG,$G,oG,dH,WF,fH,XF,nF,nF,aH,tH,xG,sH,rH,LC,OG,aH,aH,aH,FH,AH,uH,BH,AH,YF,lF,NG,pH,xG,kH,jH,eE,DC,eF,YE,YE,hF,hF,KH,aH,gH,hF,hF,KH,KD,aH,oE,oE,hF,Ts,aI,aI,aI,aI,aI,aI,aI,aI,aI,aI,aI,aI,aI,aI,aI,aI,aI,aI,aI,aI,aI,aI,aI,aI];var rb=[aF,mg];var sb=[xH,br,jr,cr,tF,tF,tF,Xb,zy,zy,td,Ql,Nm,Dx,Dn,Us,il,Aq,Vp,Hk,pi,fo,yq,xH,xH,xH,xH,xH,xH,xH,xH,xH];var tb=[IG,zh,pD,pD,Jm,IG,IG,IG];var ub=[uG,wn,ti,bc,ko,jl,cg,Zh,Wg,sf,$m,Ih,yh,uf,$e,qf,Zm,up,Xj,Af,$k,ug,kl,Sh,_k,xe,Yk,Ad,HB,HB,ff,Rj,jg,sg,ii,no,dl,uG,uG,uG,uG,uG,uG,uG,uG,uG,uG,uG,uG,uG,uG,uG,uG,uG,uG,uG,uG,uG,uG,uG,uG,uG,uG,uG];var vb=[DE,Wm,Wo,oo,kk,hk,Kh,nn,tl,rl,Il,fg,Hl,mp,zm,Gl,Bl,Di,Ml,Hc,vv,Vw,lf,DE,DE,DE,DE,DE,DE,DE,DE,DE];var wb=[Oz,_c,od,Jd];var xb=[lv,qd,Gf,lv];var yb=[ou,Ic,ch,ou];var zb=[hI,QH,gk,ut];var Ab=[fI,VH,YH,VH,YH,VH,YH,VH,YH,VH,YH,VH,YH,VH,pG,VH,YH,VH,YH,VH,YH,VH,YH,gp,pq,Nn,wj,py,VH,YH,YH,YH,YH,ld,Lv,VH,YH,VH,YH,VH,Px,YH,YH,VH,Px,YH,YH,VH,YH,bt,vs,VH,YH,VH,YH,Lp,hp,nv,Gu,Sj,iu,Si,Jk,Zb,Eh,Zf,rn,Qe,vl,VH,YH,VH,YH,Lo,Zn,Cg,qu,ac,YH,ck,hB,FG,ov,VH,FG,ov,ov,Fd,Hm,ov,ov,Be,ov,ov,ie,ov,Ec,ag,ft,$D,gi,uE,YH,Ro,co,Ss,YH,VH,YH,GG,pv,Io,Wn,ul,ju,kp,tq,VH,YH,Ye,tA,YH,YH,YH,YH,YH,YH,YH,YH,YH,YH,ek,KB,xq,sp,fp,Qo,YH,Op,Ep,Dq,xp,VH,YH,Aj,wE,Xd,YH,YH,YH,YH,YH,VH,YH,VH,qG,YH,YH,YH,YH,YH,YH,rq,qp,VH,YH,Fq,Ap,YH,YH,YH,Dk,RA,YH,tj,lz,YH,Wl,Wu,Ui,Px,Px,Px,Px,tp,Ko,VH,YH,YH,YH,VH,Px,YH,VH,YH,VH,Px,hp,dm,Zl,Px,Px,Px,hp,YH,hp,rG,dv,YH,YH,NF,Ru,Px,Px,Px,ci,cv,ij,Nu,VH,Nu,np,Bq,dk,QA,YH,YH,bp,vE,VH,YH,YH,YH,fi,dv,YH,VH,YH,YH,YH,YH,YH,YH,VH,YH,VH,YH,vq,rp,YH,YH,fk,EC,bi,Lu,cp,io,VH,YH,VH,VH,YH,YH,cs,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI];var Bb=[WH,gc,Qc,Om,UE,pE,kG,pE,yk,Rc,Mf,qe,hg,Vj,We,Jc,oe,vc,bE,pE,zl,zl,zl,_i,WH,WH,WH,WH,WH,WH,WH,WH];var Cb=[vH,Ud,kg,lj,Uf,yf,vH,vH];var Db=[PB];var Eb=[iH,Lg,DA,qA,Ot,Ij,Ji,Uo,Ot,Ot,Yi,bl,Kl,rt,Uj,iH];var Fb=[hG];var Gb=[UH,uq,Qr,AF,ZA,IA,AF,Pn,Pk,AF,Rs,Sn,xc,de,Bp,AF,AF,AF,tD,EA,di,gg,mh,Jj,qm,Cj,Gr,fh,yi,jp,Iv,xv,Yw,Gw,yc,AF,Wi,Dt,Jn,Ej,Lh,Nw,Ed,Ae,Tf,oh,Jt,kf,ph,nc,Mk,ed,qj,mc,Hi,AF,ll,sk,Ik,zk,$z,tk,oz,pn,uk,Wi,dj,Wi,rk,Vq,Cp,Wi,Xi,sn,Lq,Sm,_d,hn,ml,Tt,Rt,St,nh,Em,Bm,Kg,Er,Tp,Lk,bs,ip,Lk,kd,id,kr,Lk,bs,AF,AF,vh,xh,ee,Dm,AF,AF,AF,xx,EA,of,dd,Sl,Ut,At,At,AF,Wi,AF,AF,UH,UH,UH,UH,UH,UH,UH,UH,UH,UH];var Hb=[hH,Wv,Zu,Dr,Sk,pc,hH,hH];var Ib=[gG,FC,$j,yo,Ii,Cm,Tm,gG];var Jb=[gE];var Kb=[_G,aE,oi,ue,Jv,ai,_n,aE,mj,Bj,pt,aE,Hd,jd,aE,Rk,Fl,Ek,bq,Qi,gf,Uh,aE,aE,Ai,$h,df,Uw,Tw,iD,iD,iD,iD,pd,Th,Hj,pk,at,qh,It,bf,Ke,Ke,dh,Rk,Oj,mo,rh,Rk,Qh,aE,Ul,ao,_l,Rl,sl,Mj,Gm,Lm,Fm,vn,Mn,hf,Rn,aE,aE,aE,aE,wp,Fo,Jo,Al,yj,Wh,zo,iD,iD,iD,iD,qi,wd,Oh,_G,_G,_G,_G,_G,_G,_G,_G,_G,_G,_G,_G,_G,_G,_G,_G,_G,_G,_G,_G,_G,_G,_G,_G,_G,_G,_G,_G,_G,_G,_G,_G,_G,_G,_G,_G,_G,_G,_G,_G,_G,_G,_G,_G,_G,_G];var Lb=[fG,Oy,fc,Zd,Le,ys,rj,pe,$l,Mm,fG,fG,fG,fG,fG,fG];var Mb=[wB];var Nb=[BF,Pe,rA,Xx,Cv,Jf,Ff,st,xk,Xq,au,Ak,zc,tc,Ve,Xs,hh,Bf,dc,bu,lm,el,Do,Ff,Se,Bg,Nf,te,gt,ns,og,jh,st,ei,Cl,Ls,ih,Qd,Jl,gj,pj,_o,bg,Gg,Bh,vi,Gk,rA,Ch,zg,li,rA,rA,$i,fj,Vl,Kk,_j,sd,ne,hi,uc,fj,gl,cl,fl,Yc,An,oj,An,nl,Dp,Qn,Uk,BF,BF,BF,BF,BF,BF,BF,BF,BF,BF,BF,BF,BF,BF,BF,BF,BF,BF,BF,BF,BF,BF,BF,BF,BF,BF,BF,BF,BF,BF,BF,BF,BF,BF,BF,BF,BF,BF,BF,BF,BF,BF,BF,BF,BF,BF,BF,BF,BF,BF,BF,BF,BF,BF];var Ob=[fE,bv];var Pb=[Ft];var Qb=[xu];var Rb=[ED,Og,xl,_f,pp,Fc,Re,Of,Kf,Yb,Wc,sc,Td,Wd,Bc,nu,rg,ec,Md,Tk,Bi,Ze,ED,ED,ED,ED,ED,ED,ED,ED,ED,ED];var Sb=[vB];var Tb=[SA,Pd,ql,cm,Oo,fn,Ei,SA];var Ub=[dz,Jg];var Vb=[bw,wh];var Wb=[Mu,Xl,Xl,Mu];return{__GLOBAL__sub_I_btQuickprof_cpp:mq,___cxa_can_catch:jq,___cxa_is_pointer_type:oy,___muldi3:rs,___udivdi3:AA,___uremdi3:Rr,_bitshift64Lshr:$t,_bitshift64Shl:Nt,_emscripten_bind_Anchor___destroy___0:_C,_emscripten_bind_Anchor_get_m_body_0:yF,_emscripten_bind_Anchor_get_m_c0_0:TG,_emscripten_bind_Anchor_get_m_c1_0:SG,_emscripten_bind_Anchor_get_m_c2_0:HF,_emscripten_bind_Anchor_get_m_influence_0:PF,_emscripten_bind_Anchor_get_m_local_0:KH,_emscripten_bind_Anchor_get_m_node_0:mG,_emscripten_bind_Anchor_set_m_body_1:oD,_emscripten_bind_Anchor_set_m_c0_1:_A,_emscripten_bind_Anchor_set_m_c1_1:Ur,_emscripten_bind_Anchor_set_m_c2_1:PD,_emscripten_bind_Anchor_set_m_influence_1:UD,_emscripten_bind_Anchor_set_m_local_1:Wr,_emscripten_bind_Anchor_set_m_node_1:ZD,_emscripten_bind_ClosestConvexResultCallback_ClosestConvexResultCallback_2:Es,_emscripten_bind_ClosestConvexResultCallback___destroy___0:rw,_emscripten_bind_ClosestConvexResultCallback_get_m_closestHitFraction_0:QF,_emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterGroup_0:$B,_emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterMask_0:_B,_emscripten_bind_ClosestConvexResultCallback_get_m_convexFromWorld_0:IH,_emscripten_bind_ClosestConvexResultCallback_get_m_convexToWorld_0:TG,_emscripten_bind_ClosestConvexResultCallback_get_m_hitNormalWorld_0:BD,_emscripten_bind_ClosestConvexResultCallback_get_m_hitPointWorld_0:OD,_emscripten_bind_ClosestConvexResultCallback_hasHit_0:Ox,_emscripten_bind_ClosestConvexResultCallback_set_m_closestHitFraction_1:qF,_emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterGroup_1:vz,_emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterMask_1:uz,_emscripten_bind_ClosestConvexResultCallback_set_m_convexFromWorld_1:$q,_emscripten_bind_ClosestConvexResultCallback_set_m_convexToWorld_1:gr,_emscripten_bind_ClosestConvexResultCallback_set_m_hitNormalWorld_1:ar,_emscripten_bind_ClosestConvexResultCallback_set_m_hitPointWorld_1:fr,_emscripten_bind_ClosestRayResultCallback_ClosestRayResultCallback_2:$s,_emscripten_bind_ClosestRayResultCallback___destroy___0:rw,_emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterGroup_0:oC,_emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterMask_0:xC,_emscripten_bind_ClosestRayResultCallback_get_m_collisionObject_0:KD,_emscripten_bind_ClosestRayResultCallback_get_m_hitNormalWorld_0:bF,_emscripten_bind_ClosestRayResultCallback_get_m_hitPointWorld_0:oG,_emscripten_bind_ClosestRayResultCallback_get_m_rayFromWorld_0:sE,_emscripten_bind_ClosestRayResultCallback_get_m_rayToWorld_0:CF,_emscripten_bind_ClosestRayResultCallback_hasHit_0:jy,_emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterGroup_1:Hz,_emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterMask_1:Nz,_emscripten_bind_ClosestRayResultCallback_set_m_collisionObject_1:IA,_emscripten_bind_ClosestRayResultCallback_set_m_hitNormalWorld_1:yr,_emscripten_bind_ClosestRayResultCallback_set_m_hitPointWorld_1:Er,_emscripten_bind_ClosestRayResultCallback_set_m_rayFromWorld_1:nr,_emscripten_bind_ClosestRayResultCallback_set_m_rayToWorld_1:Fr,_emscripten_bind_ConcreteContactResultCallback_ConcreteContactResultCallback_0:zt,_emscripten_bind_ConcreteContactResultCallback___destroy___0:rw,_emscripten_bind_ConcreteContactResultCallback_addSingleResult_7:Pq,_emscripten_bind_Config___destroy___0:Gy,_emscripten_bind_Config_get_citerations_0:nF,_emscripten_bind_Config_get_collisions_0:ZE,_emscripten_bind_Config_get_diterations_0:YE,_emscripten_bind_Config_get_kAHR_0:GF,_emscripten_bind_Config_get_kCHR_0:FF,_emscripten_bind_Config_get_kDF_0:VF,_emscripten_bind_Config_get_kDG_0:UF,_emscripten_bind_Config_get_kDP_0:bG,_emscripten_bind_Config_get_kKHR_0:EF,_emscripten_bind_Config_get_kLF_0:TF,_emscripten_bind_Config_get_kMT_0:SF,_emscripten_bind_Config_get_kPR_0:RF,_emscripten_bind_Config_get_kSHR_0:DF,_emscripten_bind_Config_get_kSKHR_CL_0:kF,_emscripten_bind_Config_get_kSK_SPLT_CL_0:SE,_emscripten_bind_Config_get_kSRHR_CL_0:jF,_emscripten_bind_Config_get_kSR_SPLT_CL_0:RE,_emscripten_bind_Config_get_kSSHR_CL_0:iF,_emscripten_bind_Config_get_kSS_SPLT_CL_0:KF,_emscripten_bind_Config_get_kVCF_0:QF,_emscripten_bind_Config_get_kVC_0:PF,_emscripten_bind_Config_get_maxvolume_0:dF,_emscripten_bind_Config_get_piterations_0:XE,_emscripten_bind_Config_get_timescale_0:cF,_emscripten_bind_Config_get_viterations_0:WE,_emscripten_bind_Config_set_citerations_1:CC,_emscripten_bind_Config_set_collisions_1:BC,_emscripten_bind_Config_set_diterations_1:AC,_emscripten_bind_Config_set_kAHR_1:ND,_emscripten_bind_Config_set_kCHR_1:MD,_emscripten_bind_Config_set_kDF_1:YD,_emscripten_bind_Config_set_kDG_1:UE,_emscripten_bind_Config_set_kDP_1:pF,_emscripten_bind_Config_set_kKHR_1:LD,_emscripten_bind_Config_set_kLF_1:XD,_emscripten_bind_Config_set_kMT_1:WD,_emscripten_bind_Config_set_kPR_1:VD,_emscripten_bind_Config_set_kSHR_1:pE,_emscripten_bind_Config_set_kSKHR_CL_1:nD,_emscripten_bind_Config_set_kSK_SPLT_CL_1:XC,_emscripten_bind_Config_set_kSRHR_CL_1:mD,_emscripten_bind_Config_set_kSR_SPLT_CL_1:WC,_emscripten_bind_Config_set_kSSHR_CL_1:lD,_emscripten_bind_Config_set_kSS_SPLT_CL_1:bE,_emscripten_bind_Config_set_kVCF_1:qF,_emscripten_bind_Config_set_kVC_1:UD,_emscripten_bind_Config_set_maxvolume_1:fD,_emscripten_bind_Config_set_piterations_1:zC,_emscripten_bind_Config_set_timescale_1:eD,_emscripten_bind_Config_set_viterations_1:yC,_emscripten_bind_ContactResultCallback___destroy___0:rw,_emscripten_bind_ContactResultCallback_addSingleResult_7:Pq,_emscripten_bind_ConvexResultCallback___destroy___0:rw,_emscripten_bind_ConvexResultCallback_get_m_closestHitFraction_0:QF,_emscripten_bind_ConvexResultCallback_get_m_collisionFilterGroup_0:$B,_emscripten_bind_ConvexResultCallback_get_m_collisionFilterMask_0:_B,_emscripten_bind_ConvexResultCallback_hasHit_0:Ox,_emscripten_bind_ConvexResultCallback_set_m_closestHitFraction_1:qF,_emscripten_bind_ConvexResultCallback_set_m_collisionFilterGroup_1:vz,_emscripten_bind_ConvexResultCallback_set_m_collisionFilterMask_1:uz,_emscripten_bind_LocalConvexResult_LocalConvexResult_5:Iq,_emscripten_bind_LocalConvexResult___destroy___0:_C,_emscripten_bind_LocalConvexResult_get_m_hitCollisionObject_0:mG,_emscripten_bind_LocalConvexResult_get_m_hitFraction_0:EF,_emscripten_bind_LocalConvexResult_get_m_hitNormalLocal_0:JH,_emscripten_bind_LocalConvexResult_get_m_hitPointLocal_0:OE,_emscripten_bind_LocalConvexResult_get_m_localShapeInfo_0:kE,_emscripten_bind_LocalConvexResult_set_m_hitCollisionObject_1:ZD,_emscripten_bind_LocalConvexResult_set_m_hitFraction_1:LD,_emscripten_bind_LocalConvexResult_set_m_hitNormalLocal_1:ds,_emscripten_bind_LocalConvexResult_set_m_hitPointLocal_1:tr,_emscripten_bind_LocalConvexResult_set_m_localShapeInfo_1:ZA,_emscripten_bind_LocalShapeInfo___destroy___0:_C,_emscripten_bind_LocalShapeInfo_get_m_shapePart_0:mG,_emscripten_bind_LocalShapeInfo_get_m_triangleIndex_0:kE,_emscripten_bind_LocalShapeInfo_set_m_shapePart_1:ZD,_emscripten_bind_LocalShapeInfo_set_m_triangleIndex_1:ZA,_emscripten_bind_Material___destroy___0:_C,_emscripten_bind_Material_get_m_flags_0:hF,_emscripten_bind_Material_get_m_kAST_0:bG,_emscripten_bind_Material_get_m_kLST_0:QF,_emscripten_bind_Material_get_m_kVST_0:UF,_emscripten_bind_Material_set_m_flags_1:VC,_emscripten_bind_Material_set_m_kAST_1:pF,_emscripten_bind_Material_set_m_kLST_1:qF,_emscripten_bind_Material_set_m_kVST_1:UE,_emscripten_bind_Node___destroy___0:_C,_emscripten_bind_Node_get_m_f_0:ZG,_emscripten_bind_Node_get_m_n_0:YG,_emscripten_bind_Node_get_m_v_0:XG,_emscripten_bind_Node_get_m_x_0:JH,_emscripten_bind_Node_set_m_f_1:$r,_emscripten_bind_Node_set_m_n_1:_r,_emscripten_bind_Node_set_m_v_1:Zr,_emscripten_bind_Node_set_m_x_1:ds,_emscripten_bind_RayResultCallback___destroy___0:rw,_emscripten_bind_RayResultCallback_get_m_collisionFilterGroup_0:oC,_emscripten_bind_RayResultCallback_get_m_collisionFilterMask_0:xC,_emscripten_bind_RayResultCallback_get_m_collisionObject_0:KD,_emscripten_bind_RayResultCallback_hasHit_0:jy,_emscripten_bind_RayResultCallback_set_m_collisionFilterGroup_1:Hz,_emscripten_bind_RayResultCallback_set_m_collisionFilterMask_1:Nz,_emscripten_bind_RayResultCallback_set_m_collisionObject_1:IA,_emscripten_bind_RaycastInfo___destroy___0:_C,_emscripten_bind_RaycastInfo_get_m_contactNormalWS_0:bI,_emscripten_bind_RaycastInfo_get_m_contactPointWS_0:rF,_emscripten_bind_RaycastInfo_get_m_groundObject_0:XE,_emscripten_bind_RaycastInfo_get_m_hardPointWS_0:CF,_emscripten_bind_RaycastInfo_get_m_isInContact_0:dD,_emscripten_bind_RaycastInfo_get_m_suspensionLength_0:SF,_emscripten_bind_RaycastInfo_get_m_wheelAxleWS_0:oG,_emscripten_bind_RaycastInfo_get_m_wheelDirectionWS_0:bF,_emscripten_bind_RaycastInfo_set_m_contactNormalWS_1:Xr,_emscripten_bind_RaycastInfo_set_m_contactPointWS_1:Cr,_emscripten_bind_RaycastInfo_set_m_groundObject_1:zC,_emscripten_bind_RaycastInfo_set_m_hardPointWS_1:Fr,_emscripten_bind_RaycastInfo_set_m_isInContact_1:PA,_emscripten_bind_RaycastInfo_set_m_suspensionLength_1:WD,_emscripten_bind_RaycastInfo_set_m_wheelAxleWS_1:Er,_emscripten_bind_RaycastInfo_set_m_wheelDirectionWS_1:yr,_emscripten_bind_VoidPtr___destroy___0:_C,_emscripten_bind_btActionInterface___destroy___0:rw,_emscripten_bind_btActionInterface_updateAction_2:tv,_emscripten_bind_btAxisSweep3___destroy___0:rw,_emscripten_bind_btAxisSweep3_btAxisSweep3_2:As,_emscripten_bind_btAxisSweep3_btAxisSweep3_3:Tr,_emscripten_bind_btAxisSweep3_btAxisSweep3_4:xr,_emscripten_bind_btAxisSweep3_btAxisSweep3_5:Zq,_emscripten_bind_btBoxShape___destroy___0:rw,_emscripten_bind_btBoxShape_btBoxShape_1:Mh,_emscripten_bind_btBoxShape_calculateLocalInertia_2:av,_emscripten_bind_btBoxShape_getLocalScaling_0:Ty,_emscripten_bind_btBoxShape_getMargin_0:tz,_emscripten_bind_btBoxShape_setLocalScaling_1:Sw,_emscripten_bind_btBoxShape_setMargin_1:Lx,_emscripten_bind_btBroadphaseInterface___destroy___0:rw,_emscripten_bind_btBvhTriangleMeshShape___destroy___0:rw,_emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_2:Os,_emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_3:fs,_emscripten_bind_btBvhTriangleMeshShape_calculateLocalInertia_2:av,_emscripten_bind_btBvhTriangleMeshShape_getLocalScaling_0:Ty,_emscripten_bind_btBvhTriangleMeshShape_setLocalScaling_1:Sw,_emscripten_bind_btCapsuleShapeX___destroy___0:rw,_emscripten_bind_btCapsuleShapeX_btCapsuleShapeX_2:kn,_emscripten_bind_btCapsuleShapeX_calculateLocalInertia_2:av,_emscripten_bind_btCapsuleShapeX_getHalfHeight_0:tB,_emscripten_bind_btCapsuleShapeX_getLocalScaling_0:Ty,_emscripten_bind_btCapsuleShapeX_getMargin_0:tz,_emscripten_bind_btCapsuleShapeX_getRadius_0:UC,_emscripten_bind_btCapsuleShapeX_getUpAxis_0:ZC,_emscripten_bind_btCapsuleShapeX_setLocalScaling_1:Sw,_emscripten_bind_btCapsuleShapeX_setMargin_1:Lx,_emscripten_bind_btCapsuleShapeZ___destroy___0:rw,_emscripten_bind_btCapsuleShapeZ_btCapsuleShapeZ_2:jn,_emscripten_bind_btCapsuleShapeZ_calculateLocalInertia_2:av,_emscripten_bind_btCapsuleShapeZ_getHalfHeight_0:tB,_emscripten_bind_btCapsuleShapeZ_getLocalScaling_0:Ty,_emscripten_bind_btCapsuleShapeZ_getMargin_0:tz,_emscripten_bind_btCapsuleShapeZ_getRadius_0:UC,_emscripten_bind_btCapsuleShapeZ_getUpAxis_0:ZC,_emscripten_bind_btCapsuleShapeZ_setLocalScaling_1:Sw,_emscripten_bind_btCapsuleShapeZ_setMargin_1:Lx,_emscripten_bind_btCapsuleShape___destroy___0:rw,_emscripten_bind_btCapsuleShape_btCapsuleShape_2:ln,_emscripten_bind_btCapsuleShape_calculateLocalInertia_2:av,_emscripten_bind_btCapsuleShape_getHalfHeight_0:tB,_emscripten_bind_btCapsuleShape_getLocalScaling_0:Ty,_emscripten_bind_btCapsuleShape_getMargin_0:tz,_emscripten_bind_btCapsuleShape_getRadius_0:UC,_emscripten_bind_btCapsuleShape_getUpAxis_0:ZC,_emscripten_bind_btCapsuleShape_setLocalScaling_1:Sw,_emscripten_bind_btCapsuleShape_setMargin_1:Lx,_emscripten_bind_btCollisionConfiguration___destroy___0:rw,_emscripten_bind_btCollisionDispatcher___destroy___0:rw,_emscripten_bind_btCollisionDispatcher_btCollisionDispatcher_1:Xk,_emscripten_bind_btCollisionDispatcher_getManifoldByIndexInternal_1:Uv,_emscripten_bind_btCollisionDispatcher_getNumManifolds_0:wz,_emscripten_bind_btCollisionObject___destroy___0:pw,_emscripten_bind_btCollisionObject_activate_0:xt,_emscripten_bind_btCollisionObject_activate_1:ms,_emscripten_bind_btCollisionObject_forceActivationState_1:NA,_emscripten_bind_btCollisionObject_getCollisionFlags_0:fC,_emscripten_bind_btCollisionObject_getCollisionShape_0:eC,_emscripten_bind_btCollisionObject_getUserIndex_0:IB,_emscripten_bind_btCollisionObject_getUserPointer_0:JC,_emscripten_bind_btCollisionObject_getWorldTransform_0:iE,_emscripten_bind_btCollisionObject_isActive_0:dA,_emscripten_bind_btCollisionObject_isKinematicObject_0:ay,_emscripten_bind_btCollisionObject_isStaticObject_0:Py,_emscripten_bind_btCollisionObject_isStaticOrKinematicObject_0:Jw,_emscripten_bind_btCollisionObject_setActivationState_1:Pv,_emscripten_bind_btCollisionObject_setAnisotropicFriction_2:_u,_emscripten_bind_btCollisionObject_setCcdMotionThreshold_1:Zx,_emscripten_bind_btCollisionObject_setCcdSweptSphereRadius_1:Ix,_emscripten_bind_btCollisionObject_setCollisionFlags_1:Cy,_emscripten_bind_btCollisionObject_setCollisionShape_1:Dw,_emscripten_bind_btCollisionObject_setContactProcessingThreshold_1:dy,_emscripten_bind_btCollisionObject_setFriction_1:cA,_emscripten_bind_btCollisionObject_setRestitution_1:rz,_emscripten_bind_btCollisionObject_setRollingFriction_1:Ky,_emscripten_bind_btCollisionObject_setUserIndex_1:zz,_emscripten_bind_btCollisionObject_setUserPointer_1:_y,_emscripten_bind_btCollisionObject_setWorldTransform_1:mx,_emscripten_bind_btCollisionShape___destroy___0:rw,_emscripten_bind_btCollisionShape_calculateLocalInertia_2:av,_emscripten_bind_btCollisionShape_getLocalScaling_0:Ty,_emscripten_bind_btCollisionShape_getMargin_0:tz,_emscripten_bind_btCollisionShape_setLocalScaling_1:Sw,_emscripten_bind_btCollisionShape_setMargin_1:Lx,_emscripten_bind_btCollisionWorld___destroy___0:rw,_emscripten_bind_btCollisionWorld_addCollisionObject_1:Gv,_emscripten_bind_btCollisionWorld_addCollisionObject_2:Eu,_emscripten_bind_btCollisionWorld_addCollisionObject_3:Lt,_emscripten_bind_btCollisionWorld_contactPairTest_3:Dj,_emscripten_bind_btCollisionWorld_contactTest_2:Xm,_emscripten_bind_btCollisionWorld_convexSweepTest_5:pr,_emscripten_bind_btCollisionWorld_getBroadphase_0:hC,_emscripten_bind_btCollisionWorld_getDispatchInfo_0:AB,_emscripten_bind_btCollisionWorld_getDispatcher_0:gC,_emscripten_bind_btCollisionWorld_getPairCache_0:Xy,_emscripten_bind_btCollisionWorld_rayTest_3:pu,_emscripten_bind_btCollisionWorld_removeCollisionObject_1:dw,_emscripten_bind_btCollisionWorld_updateSingleAabb_1:Fw,_emscripten_bind_btCompoundShape___destroy___0:rw,_emscripten_bind_btCompoundShape_addChildShape_2:Gd,_emscripten_bind_btCompoundShape_btCompoundShape_0:nj,_emscripten_bind_btCompoundShape_btCompoundShape_1:cj,_emscripten_bind_btCompoundShape_calculateLocalInertia_2:av,_emscripten_bind_btCompoundShape_getChildShape_1:Uy,_emscripten_bind_btCompoundShape_getLocalScaling_0:Ty,_emscripten_bind_btCompoundShape_getMargin_0:tz,_emscripten_bind_btCompoundShape_getNumChildShapes_0:jA,_emscripten_bind_btCompoundShape_removeChildShapeByIndex_1:ix,_emscripten_bind_btCompoundShape_setLocalScaling_1:Sw,_emscripten_bind_btCompoundShape_setMargin_1:Lx,_emscripten_bind_btConcaveShape___destroy___0:rw,_emscripten_bind_btConcaveShape_calculateLocalInertia_2:av,_emscripten_bind_btConcaveShape_getLocalScaling_0:Ty,_emscripten_bind_btConcaveShape_setLocalScaling_1:Sw,_emscripten_bind_btConeShapeX___destroy___0:rw,_emscripten_bind_btConeShapeX_btConeShapeX_2:gm,_emscripten_bind_btConeShapeX_calculateLocalInertia_2:av,_emscripten_bind_btConeShapeX_getLocalScaling_0:Ty,_emscripten_bind_btConeShapeX_setLocalScaling_1:Sw,_emscripten_bind_btConeShapeZ___destroy___0:rw,_emscripten_bind_btConeShapeZ_btConeShapeZ_2:fm,_emscripten_bind_btConeShapeZ_calculateLocalInertia_2:av,_emscripten_bind_btConeShapeZ_getLocalScaling_0:Ty,_emscripten_bind_btConeShapeZ_setLocalScaling_1:Sw,_emscripten_bind_btConeShape___destroy___0:rw,_emscripten_bind_btConeShape_btConeShape_2:im,_emscripten_bind_btConeShape_calculateLocalInertia_2:av,_emscripten_bind_btConeShape_getLocalScaling_0:Ty,_emscripten_bind_btConeShape_setLocalScaling_1:Sw,_emscripten_bind_btConeTwistConstraint___destroy___0:rw,_emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_2:Hg,_emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_4:ng,_emscripten_bind_btConeTwistConstraint_enableFeedback_1:ty,_emscripten_bind_btConeTwistConstraint_enableMotor_1:ny,_emscripten_bind_btConeTwistConstraint_getBreakingImpulseThreshold_0:Fx,_emscripten_bind_btConeTwistConstraint_getParam_2:ev,_emscripten_bind_btConeTwistConstraint_setAngularOnly_1:Kx,_emscripten_bind_btConeTwistConstraint_setBreakingImpulseThreshold_1:uw,_emscripten_bind_btConeTwistConstraint_setDamping_1:Sy,_emscripten_bind_btConeTwistConstraint_setLimit_2:dx,_emscripten_bind_btConeTwistConstraint_setMaxMotorImpulseNormalized_1:Tv,_emscripten_bind_btConeTwistConstraint_setMaxMotorImpulse_1:ox,_emscripten_bind_btConeTwistConstraint_setMotorTargetInConstraintSpace_1:wu,_emscripten_bind_btConeTwistConstraint_setMotorTarget_1:Xh,_emscripten_bind_btConeTwistConstraint_setParam_3:vu,_emscripten_bind_btConstraintSetting___destroy___0:_C,_emscripten_bind_btConstraintSetting_btConstraintSetting_0:Fy,_emscripten_bind_btConstraintSetting_get_m_damping_0:QF,_emscripten_bind_btConstraintSetting_get_m_impulseClamp_0:bG,_emscripten_bind_btConstraintSetting_get_m_tau_0:LE,_emscripten_bind_btConstraintSetting_set_m_damping_1:qF,_emscripten_bind_btConstraintSetting_set_m_impulseClamp_1:pF,_emscripten_bind_btConstraintSetting_set_m_tau_1:LF,_emscripten_bind_btConstraintSolver___destroy___0:rw,_emscripten_bind_btContactSolverInfo___destroy___0:_C,_emscripten_bind_btContactSolverInfo_get_m_numIterations_0:yF,_emscripten_bind_btContactSolverInfo_get_m_splitImpulsePenetrationThreshold_0:_z,_emscripten_bind_btContactSolverInfo_get_m_splitImpulse_0:BB,_emscripten_bind_btContactSolverInfo_set_m_numIterations_1:oD,_emscripten_bind_btContactSolverInfo_set_m_splitImpulsePenetrationThreshold_1:Ax,_emscripten_bind_btContactSolverInfo_set_m_splitImpulse_1:Sz,_emscripten_bind_btConvexHullShape___destroy___0:rw,_emscripten_bind_btConvexHullShape_addPoint_1:my,_emscripten_bind_btConvexHullShape_addPoint_2:Aw,_emscripten_bind_btConvexHullShape_btConvexHullShape_0:nw,_emscripten_bind_btConvexHullShape_calculateLocalInertia_2:av,_emscripten_bind_btConvexHullShape_getLocalScaling_0:Ty,_emscripten_bind_btConvexHullShape_getMargin_0:tz,_emscripten_bind_btConvexHullShape_setLocalScaling_1:Sw,_emscripten_bind_btConvexHullShape_setMargin_1:Lx,_emscripten_bind_btConvexShape___destroy___0:rw,_emscripten_bind_btConvexShape_calculateLocalInertia_2:av,_emscripten_bind_btConvexShape_getLocalScaling_0:Ty,_emscripten_bind_btConvexShape_getMargin_0:tz,_emscripten_bind_btConvexShape_setLocalScaling_1:Sw,_emscripten_bind_btConvexShape_setMargin_1:Lx,_emscripten_bind_btConvexTriangleMeshShape___destroy___0:rw,_emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_1:yl,_emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_2:hl,_emscripten_bind_btConvexTriangleMeshShape_calculateLocalInertia_2:av,_emscripten_bind_btConvexTriangleMeshShape_getLocalScaling_0:Ty,_emscripten_bind_btConvexTriangleMeshShape_getMargin_0:tz,_emscripten_bind_btConvexTriangleMeshShape_setLocalScaling_1:Sw,_emscripten_bind_btConvexTriangleMeshShape_setMargin_1:Lx,_emscripten_bind_btCylinderShapeX___destroy___0:rw,_emscripten_bind_btCylinderShapeX_btCylinderShapeX_1:jt,_emscripten_bind_btCylinderShapeX_calculateLocalInertia_2:av,_emscripten_bind_btCylinderShapeX_getLocalScaling_0:Ty,_emscripten_bind_btCylinderShapeX_getMargin_0:tz,_emscripten_bind_btCylinderShapeX_setLocalScaling_1:Sw,_emscripten_bind_btCylinderShapeX_setMargin_1:Lx,_emscripten_bind_btCylinderShapeZ___destroy___0:rw,_emscripten_bind_btCylinderShapeZ_btCylinderShapeZ_1:it,_emscripten_bind_btCylinderShapeZ_calculateLocalInertia_2:av,_emscripten_bind_btCylinderShapeZ_getLocalScaling_0:Ty,_emscripten_bind_btCylinderShapeZ_getMargin_0:tz,_emscripten_bind_btCylinderShapeZ_setLocalScaling_1:Sw,_emscripten_bind_btCylinderShapeZ_setMargin_1:Lx,_emscripten_bind_btCylinderShape___destroy___0:rw,_emscripten_bind_btCylinderShape_btCylinderShape_1:aw,_emscripten_bind_btCylinderShape_calculateLocalInertia_2:av,_emscripten_bind_btCylinderShape_getLocalScaling_0:Ty,_emscripten_bind_btCylinderShape_getMargin_0:tz,_emscripten_bind_btCylinderShape_setLocalScaling_1:Sw,_emscripten_bind_btCylinderShape_setMargin_1:Lx,_emscripten_bind_btDbvtBroadphase___destroy___0:rw,_emscripten_bind_btDbvtBroadphase_btDbvtBroadphase_0:Rw,_emscripten_bind_btDefaultCollisionConfiguration___destroy___0:rw,_emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_0:aq,_emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_1:Qs,_emscripten_bind_btDefaultCollisionConstructionInfo___destroy___0:_C,_emscripten_bind_btDefaultCollisionConstructionInfo_btDefaultCollisionConstructionInfo_0:Yu,_emscripten_bind_btDefaultMotionState___destroy___0:rw,_emscripten_bind_btDefaultMotionState_btDefaultMotionState_0:Jr,_emscripten_bind_btDefaultMotionState_btDefaultMotionState_1:ks,_emscripten_bind_btDefaultMotionState_btDefaultMotionState_2:nt,_emscripten_bind_btDefaultMotionState_getWorldTransform_1:yw,_emscripten_bind_btDefaultMotionState_get_m_graphicsWorldTrans_0:KH,_emscripten_bind_btDefaultMotionState_setWorldTransform_1:Dw,_emscripten_bind_btDefaultMotionState_set_m_graphicsWorldTrans_1:$x,_emscripten_bind_btDefaultSoftBodySolver___destroy___0:rw,_emscripten_bind_btDefaultSoftBodySolver_btDefaultSoftBodySolver_0:Pp,_emscripten_bind_btDefaultVehicleRaycaster___destroy___0:rw,_emscripten_bind_btDefaultVehicleRaycaster_btDefaultVehicleRaycaster_1:Iu,_emscripten_bind_btDefaultVehicleRaycaster_castRay_3:cu,_emscripten_bind_btDiscreteDynamicsWorld___destroy___0:rw,_emscripten_bind_btDiscreteDynamicsWorld_addAction_1:Yw,_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_1:$u,_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_2:lu,_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_3:Lt,_emscripten_bind_btDiscreteDynamicsWorld_addConstraint_1:Sv,_emscripten_bind_btDiscreteDynamicsWorld_addConstraint_2:Ju,_emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_1:gw,_emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_3:Ht,_emscripten_bind_btDiscreteDynamicsWorld_btDiscreteDynamicsWorld_4:oq,_emscripten_bind_btDiscreteDynamicsWorld_contactPairTest_3:Dj,_emscripten_bind_btDiscreteDynamicsWorld_contactTest_2:Xm,_emscripten_bind_btDiscreteDynamicsWorld_convexSweepTest_5:pr,_emscripten_bind_btDiscreteDynamicsWorld_getBroadphase_0:hC,_emscripten_bind_btDiscreteDynamicsWorld_getDispatchInfo_0:AB,_emscripten_bind_btDiscreteDynamicsWorld_getDispatcher_0:gC,_emscripten_bind_btDiscreteDynamicsWorld_getGravity_0:to,_emscripten_bind_btDiscreteDynamicsWorld_getPairCache_0:Xy,_emscripten_bind_btDiscreteDynamicsWorld_getSolverInfo_0:fB,_emscripten_bind_btDiscreteDynamicsWorld_rayTest_3:pu,_emscripten_bind_btDiscreteDynamicsWorld_removeAction_1:Gw,_emscripten_bind_btDiscreteDynamicsWorld_removeCollisionObject_1:dw,_emscripten_bind_btDiscreteDynamicsWorld_removeConstraint_1:Vv,_emscripten_bind_btDiscreteDynamicsWorld_removeRigidBody_1:Yv,_emscripten_bind_btDiscreteDynamicsWorld_setGravity_1:mw,_emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_1:Hu,_emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_2:Mt,_emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_3:Qt,_emscripten_bind_btDiscreteDynamicsWorld_updateSingleAabb_1:Fw,_emscripten_bind_btDispatcherInfo___destroy___0:_C,_emscripten_bind_btDispatcherInfo_get_m_allowedCcdPenetration_0:VF,_emscripten_bind_btDispatcherInfo_get_m_convexConservativeDistanceThreshold_0:FF,_emscripten_bind_btDispatcherInfo_get_m_dispatchFunc_0:KD,_emscripten_bind_btDispatcherInfo_get_m_enableSPU_0:KC,_emscripten_bind_btDispatcherInfo_get_m_enableSatConvex_0:FB,_emscripten_bind_btDispatcherInfo_get_m_stepCount_0:kE,_emscripten_bind_btDispatcherInfo_get_m_timeOfImpact_0:UF,_emscripten_bind_btDispatcherInfo_get_m_timeStep_0:LE,_emscripten_bind_btDispatcherInfo_get_m_useContinuous_0:ZB,_emscripten_bind_btDispatcherInfo_get_m_useConvexConservativeDistanceUtil_0:Bz,_emscripten_bind_btDispatcherInfo_get_m_useEpa_0:cD,_emscripten_bind_btDispatcherInfo_set_m_allowedCcdPenetration_1:YD,_emscripten_bind_btDispatcherInfo_set_m_convexConservativeDistanceThreshold_1:MD,_emscripten_bind_btDispatcherInfo_set_m_dispatchFunc_1:IA,_emscripten_bind_btDispatcherInfo_set_m_enableSPU_1:CA,_emscripten_bind_btDispatcherInfo_set_m_enableSatConvex_1:Zz,_emscripten_bind_btDispatcherInfo_set_m_stepCount_1:ZA,_emscripten_bind_btDispatcherInfo_set_m_timeOfImpact_1:UE,_emscripten_bind_btDispatcherInfo_set_m_timeStep_1:LF,_emscripten_bind_btDispatcherInfo_set_m_useContinuous_1:iA,_emscripten_bind_btDispatcherInfo_set_m_useConvexConservativeDistanceUtil_1:iy,_emscripten_bind_btDispatcherInfo_set_m_useEpa_1:OA,_emscripten_bind_btDispatcher___destroy___0:rw,_emscripten_bind_btDispatcher_getManifoldByIndexInternal_1:Uv,_emscripten_bind_btDispatcher_getNumManifolds_0:wz,_emscripten_bind_btDynamicsWorld___destroy___0:rw,_emscripten_bind_btDynamicsWorld_addAction_1:Yw,_emscripten_bind_btDynamicsWorld_addCollisionObject_1:Gv,_emscripten_bind_btDynamicsWorld_addCollisionObject_2:Eu,_emscripten_bind_btDynamicsWorld_addCollisionObject_3:Lt,_emscripten_bind_btDynamicsWorld_contactPairTest_3:Dj,_emscripten_bind_btDynamicsWorld_contactTest_2:Xm,_emscripten_bind_btDynamicsWorld_convexSweepTest_5:pr,_emscripten_bind_btDynamicsWorld_getBroadphase_0:hC,_emscripten_bind_btDynamicsWorld_getDispatchInfo_0:AB,_emscripten_bind_btDynamicsWorld_getDispatcher_0:gC,_emscripten_bind_btDynamicsWorld_getPairCache_0:Xy,_emscripten_bind_btDynamicsWorld_getSolverInfo_0:fB,_emscripten_bind_btDynamicsWorld_rayTest_3:pu,_emscripten_bind_btDynamicsWorld_removeAction_1:Gw,_emscripten_bind_btDynamicsWorld_removeCollisionObject_1:dw,_emscripten_bind_btDynamicsWorld_updateSingleAabb_1:Fw,_emscripten_bind_btFixedConstraint___destroy___0:rw,_emscripten_bind_btFixedConstraint_btFixedConstraint_4:Yh,_emscripten_bind_btFixedConstraint_enableFeedback_1:ty,_emscripten_bind_btFixedConstraint_getBreakingImpulseThreshold_0:Fx,_emscripten_bind_btFixedConstraint_getParam_2:ev,_emscripten_bind_btFixedConstraint_setBreakingImpulseThreshold_1:uw,_emscripten_bind_btFixedConstraint_setParam_3:vu,_emscripten_bind_btGeneric6DofConstraint___destroy___0:rw,_emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_3:Ir,_emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_5:zq,_emscripten_bind_btGeneric6DofConstraint_enableFeedback_1:ty,_emscripten_bind_btGeneric6DofConstraint_getBreakingImpulseThreshold_0:Fx,_emscripten_bind_btGeneric6DofConstraint_getParam_2:ev,_emscripten_bind_btGeneric6DofConstraint_setAngularLowerLimit_1:Fv,_emscripten_bind_btGeneric6DofConstraint_setAngularUpperLimit_1:Ev,_emscripten_bind_btGeneric6DofConstraint_setBreakingImpulseThreshold_1:uw,_emscripten_bind_btGeneric6DofConstraint_setLinearLowerLimit_1:Rv,_emscripten_bind_btGeneric6DofConstraint_setLinearUpperLimit_1:Qv,_emscripten_bind_btGeneric6DofConstraint_setParam_3:vu,_emscripten_bind_btGeneric6DofSpringConstraint___destroy___0:rw,_emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_3:wk,_emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_5:nk,_emscripten_bind_btGeneric6DofSpringConstraint_enableFeedback_1:ty,_emscripten_bind_btGeneric6DofSpringConstraint_enableSpring_2:ir,_emscripten_bind_btGeneric6DofSpringConstraint_getBreakingImpulseThreshold_0:Fx,_emscripten_bind_btGeneric6DofSpringConstraint_getParam_2:ev,_emscripten_bind_btGeneric6DofSpringConstraint_setAngularLowerLimit_1:Fv,_emscripten_bind_btGeneric6DofSpringConstraint_setAngularUpperLimit_1:Ev,_emscripten_bind_btGeneric6DofSpringConstraint_setBreakingImpulseThreshold_1:uw,_emscripten_bind_btGeneric6DofSpringConstraint_setDamping_2:hx,_emscripten_bind_btGeneric6DofSpringConstraint_setLinearLowerLimit_1:Rv,_emscripten_bind_btGeneric6DofSpringConstraint_setLinearUpperLimit_1:Qv,_emscripten_bind_btGeneric6DofSpringConstraint_setParam_3:vu,_emscripten_bind_btGeneric6DofSpringConstraint_setStiffness_2:$w,_emscripten_bind_btGhostObject___destroy___0:pw,_emscripten_bind_btGhostObject_activate_0:xt,_emscripten_bind_btGhostObject_activate_1:ms,_emscripten_bind_btGhostObject_btGhostObject_0:Fi,_emscripten_bind_btGhostObject_forceActivationState_1:NA,_emscripten_bind_btGhostObject_getCollisionFlags_0:fC,_emscripten_bind_btGhostObject_getCollisionShape_0:eC,_emscripten_bind_btGhostObject_getNumOverlappingObjects_0:ez,_emscripten_bind_btGhostObject_getOverlappingObject_1:Rx,_emscripten_bind_btGhostObject_getUserIndex_0:IB,_emscripten_bind_btGhostObject_getUserPointer_0:JC,_emscripten_bind_btGhostObject_getWorldTransform_0:iE,_emscripten_bind_btGhostObject_isActive_0:dA,_emscripten_bind_btGhostObject_isKinematicObject_0:ay,_emscripten_bind_btGhostObject_isStaticObject_0:Py,_emscripten_bind_btGhostObject_isStaticOrKinematicObject_0:Jw,_emscripten_bind_btGhostObject_setActivationState_1:Pv,_emscripten_bind_btGhostObject_setAnisotropicFriction_2:_u,_emscripten_bind_btGhostObject_setCcdMotionThreshold_1:Zx,_emscripten_bind_btGhostObject_setCcdSweptSphereRadius_1:Ix,_emscripten_bind_btGhostObject_setCollisionFlags_1:Cy,_emscripten_bind_btGhostObject_setCollisionShape_1:Dw,_emscripten_bind_btGhostObject_setContactProcessingThreshold_1:dy,_emscripten_bind_btGhostObject_setFriction_1:cA,_emscripten_bind_btGhostObject_setRestitution_1:rz,_emscripten_bind_btGhostObject_setRollingFriction_1:Ky,_emscripten_bind_btGhostObject_setUserIndex_1:zz,_emscripten_bind_btGhostObject_setUserPointer_1:_y,_emscripten_bind_btGhostObject_setWorldTransform_1:mx,_emscripten_bind_btGhostPairCallback___destroy___0:rw,_emscripten_bind_btGhostPairCallback_btGhostPairCallback_0:Ny,_emscripten_bind_btHeightfieldTerrainShape___destroy___0:rw,_emscripten_bind_btHeightfieldTerrainShape_btHeightfieldTerrainShape_9:Dg,_emscripten_bind_btHeightfieldTerrainShape_calculateLocalInertia_2:av,_emscripten_bind_btHeightfieldTerrainShape_getLocalScaling_0:Ty,_emscripten_bind_btHeightfieldTerrainShape_getMargin_0:tz,_emscripten_bind_btHeightfieldTerrainShape_setLocalScaling_1:Sw,_emscripten_bind_btHeightfieldTerrainShape_setMargin_1:Lx,_emscripten_bind_btHingeConstraint___destroy___0:rw,_emscripten_bind_btHingeConstraint_btHingeConstraint_2:Yf,_emscripten_bind_btHingeConstraint_btHingeConstraint_3:Wf,_emscripten_bind_btHingeConstraint_btHingeConstraint_4:vg,_emscripten_bind_btHingeConstraint_btHingeConstraint_5:tg,_emscripten_bind_btHingeConstraint_btHingeConstraint_6:wq,_emscripten_bind_btHingeConstraint_btHingeConstraint_7:Yp,_emscripten_bind_btHingeConstraint_enableAngularMotor_3:Qu,_emscripten_bind_btHingeConstraint_enableFeedback_1:ty,_emscripten_bind_btHingeConstraint_enableMotor_1:bz,_emscripten_bind_btHingeConstraint_getBreakingImpulseThreshold_0:Fx,_emscripten_bind_btHingeConstraint_getParam_2:ev,_emscripten_bind_btHingeConstraint_setAngularOnly_1:yy,_emscripten_bind_btHingeConstraint_setBreakingImpulseThreshold_1:uw,_emscripten_bind_btHingeConstraint_setLimit_4:Ou,_emscripten_bind_btHingeConstraint_setLimit_5:hu,_emscripten_bind_btHingeConstraint_setMaxMotorImpulse_1:Wx,_emscripten_bind_btHingeConstraint_setMotorTarget_2:Nj,_emscripten_bind_btHingeConstraint_setParam_3:vu,_emscripten_bind_btKinematicCharacterController___destroy___0:rw,_emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_3:ak,_emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_4:Wj,_emscripten_bind_btKinematicCharacterController_canJump_0:Gx,_emscripten_bind_btKinematicCharacterController_getGhostObject_0:KD,_emscripten_bind_btKinematicCharacterController_getGravity_0:DF,_emscripten_bind_btKinematicCharacterController_getMaxSlope_0:FF,_emscripten_bind_btKinematicCharacterController_jump_0:_x,_emscripten_bind_btKinematicCharacterController_onGround_0:Hy,_emscripten_bind_btKinematicCharacterController_playerStep_2:Ku,_emscripten_bind_btKinematicCharacterController_preStep_1:$v,_emscripten_bind_btKinematicCharacterController_setFallSpeed_1:UD,_emscripten_bind_btKinematicCharacterController_setGravity_1:pE,_emscripten_bind_btKinematicCharacterController_setJumpSpeed_1:YD,_emscripten_bind_btKinematicCharacterController_setMaxJumpHeight_1:WD,_emscripten_bind_btKinematicCharacterController_setMaxSlope_1:qw,_emscripten_bind_btKinematicCharacterController_setUpAxis_1:cx,_emscripten_bind_btKinematicCharacterController_setUpInterpolate_1:sv,_emscripten_bind_btKinematicCharacterController_setUseGhostSweepTest_1:uv,_emscripten_bind_btKinematicCharacterController_setVelocityForTimeInterval_2:_t,_emscripten_bind_btKinematicCharacterController_setWalkDirection_1:rv,_emscripten_bind_btKinematicCharacterController_updateAction_2:tv,_emscripten_bind_btKinematicCharacterController_warp_1:iw,_emscripten_bind_btManifoldPoint___destroy___0:_C,_emscripten_bind_btManifoldPoint_getAppliedImpulse_0:My,_emscripten_bind_btManifoldPoint_getDistance_0:nz,_emscripten_bind_btManifoldPoint_getPositionWorldOnA_0:ID,_emscripten_bind_btManifoldPoint_getPositionWorldOnB_0:Mz,_emscripten_bind_btManifoldPoint_get_m_localPointA_0:bI,_emscripten_bind_btManifoldPoint_get_m_localPointB_0:rF,_emscripten_bind_btManifoldPoint_get_m_normalWorldOnB_0:QE,_emscripten_bind_btManifoldPoint_get_m_positionWorldOnA_0:eH,_emscripten_bind_btManifoldPoint_get_m_positionWorldOnB_0:iG,_emscripten_bind_btManifoldPoint_set_m_localPointA_1:Xr,_emscripten_bind_btManifoldPoint_set_m_localPointB_1:Cr,_emscripten_bind_btManifoldPoint_set_m_normalWorldOnB_1:wr,_emscripten_bind_btManifoldPoint_set_m_positionWorldOnA_1:Mr,_emscripten_bind_btManifoldPoint_set_m_positionWorldOnB_1:rr,_emscripten_bind_btMatrix3x3___destroy___0:_C,_emscripten_bind_btMatrix3x3_getRotation_1:Ry,_emscripten_bind_btMatrix3x3_getRow_1:dq,_emscripten_bind_btMatrix3x3_setEulerZYX_3:Mw,_emscripten_bind_btMotionState___destroy___0:rw,_emscripten_bind_btMotionState_getWorldTransform_1:yw,_emscripten_bind_btMotionState_setWorldTransform_1:Dw,_emscripten_bind_btOverlappingPairCache___destroy___0:rw,_emscripten_bind_btOverlappingPairCache_setInternalGhostPairCallback_1:Vv,_emscripten_bind_btOverlappingPairCallback___destroy___0:rw,_emscripten_bind_btPairCachingGhostObject___destroy___0:pw,_emscripten_bind_btPairCachingGhostObject_activate_0:xt,_emscripten_bind_btPairCachingGhostObject_activate_1:ms,_emscripten_bind_btPairCachingGhostObject_btPairCachingGhostObject_0:Jh,_emscripten_bind_btPairCachingGhostObject_forceActivationState_1:NA,_emscripten_bind_btPairCachingGhostObject_getCollisionFlags_0:fC,_emscripten_bind_btPairCachingGhostObject_getCollisionShape_0:eC,_emscripten_bind_btPairCachingGhostObject_getNumOverlappingObjects_0:ez,_emscripten_bind_btPairCachingGhostObject_getOverlappingObject_1:Rx,_emscripten_bind_btPairCachingGhostObject_getUserIndex_0:IB,_emscripten_bind_btPairCachingGhostObject_getUserPointer_0:JC,_emscripten_bind_btPairCachingGhostObject_getWorldTransform_0:iE,_emscripten_bind_btPairCachingGhostObject_isActive_0:dA,_emscripten_bind_btPairCachingGhostObject_isKinematicObject_0:ay,_emscripten_bind_btPairCachingGhostObject_isStaticObject_0:Py,_emscripten_bind_btPairCachingGhostObject_isStaticOrKinematicObject_0:Jw,_emscripten_bind_btPairCachingGhostObject_setActivationState_1:Pv,_emscripten_bind_btPairCachingGhostObject_setAnisotropicFriction_2:_u,_emscripten_bind_btPairCachingGhostObject_setCcdMotionThreshold_1:Zx,_emscripten_bind_btPairCachingGhostObject_setCcdSweptSphereRadius_1:Ix,_emscripten_bind_btPairCachingGhostObject_setCollisionFlags_1:Cy,_emscripten_bind_btPairCachingGhostObject_setCollisionShape_1:Dw,_emscripten_bind_btPairCachingGhostObject_setContactProcessingThreshold_1:dy,_emscripten_bind_btPairCachingGhostObject_setFriction_1:cA,_emscripten_bind_btPairCachingGhostObject_setRestitution_1:rz,_emscripten_bind_btPairCachingGhostObject_setRollingFriction_1:Ky,_emscripten_bind_btPairCachingGhostObject_setUserIndex_1:zz,_emscripten_bind_btPairCachingGhostObject_setUserPointer_1:_y,_emscripten_bind_btPairCachingGhostObject_setWorldTransform_1:mx,_emscripten_bind_btPersistentManifold___destroy___0:xA,_emscripten_bind_btPersistentManifold_btPersistentManifold_0:Li,_emscripten_bind_btPersistentManifold_getBody0_0:YB,_emscripten_bind_btPersistentManifold_getBody1_0:XB,_emscripten_bind_btPersistentManifold_getContactPoint_1:zx,_emscripten_bind_btPersistentManifold_getNumContacts_0:YA,_emscripten_bind_btPoint2PointConstraint___destroy___0:rw,_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_2:Kj,_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_4:bk,_emscripten_bind_btPoint2PointConstraint_enableFeedback_1:ty,_emscripten_bind_btPoint2PointConstraint_getBreakingImpulseThreshold_0:Fx,_emscripten_bind_btPoint2PointConstraint_getParam_2:ev,_emscripten_bind_btPoint2PointConstraint_getPivotInA_0:Lz,_emscripten_bind_btPoint2PointConstraint_getPivotInB_0:Kz,_emscripten_bind_btPoint2PointConstraint_get_m_setting_0:KE,_emscripten_bind_btPoint2PointConstraint_setBreakingImpulseThreshold_1:uw,_emscripten_bind_btPoint2PointConstraint_setParam_3:vu,_emscripten_bind_btPoint2PointConstraint_setPivotA_1:vx,_emscripten_bind_btPoint2PointConstraint_setPivotB_1:ux,_emscripten_bind_btPoint2PointConstraint_set_m_setting_1:Ks,_emscripten_bind_btQuadWord___destroy___0:_C,_emscripten_bind_btQuadWord_setW_1:bD,_emscripten_bind_btQuadWord_setX_1:wD,_emscripten_bind_btQuadWord_setY_1:vD,_emscripten_bind_btQuadWord_setZ_1:uD,_emscripten_bind_btQuadWord_w_0:HD,_emscripten_bind_btQuadWord_x_0:JE,_emscripten_bind_btQuadWord_y_0:GD,_emscripten_bind_btQuadWord_z_0:FD,_emscripten_bind_btQuaternion___destroy___0:_C,_emscripten_bind_btQuaternion_angleShortestPath_1:ly,_emscripten_bind_btQuaternion_angle_1:LA,_emscripten_bind_btQuaternion_btQuaternion_4:No,_emscripten_bind_btQuaternion_dot_1:sB,_emscripten_bind_btQuaternion_getAngleShortestPath_0:hA,_emscripten_bind_btQuaternion_getAngle_0:HA,_emscripten_bind_btQuaternion_getAxis_0:ap,_emscripten_bind_btQuaternion_inverse_0:$o,_emscripten_bind_btQuaternion_length2_0:TD,_emscripten_bind_btQuaternion_length_0:jE,_emscripten_bind_btQuaternion_normalize_0:JD,_emscripten_bind_btQuaternion_normalized_0:To,_emscripten_bind_btQuaternion_op_add_1:rB,_emscripten_bind_btQuaternion_op_div_1:WB,_emscripten_bind_btQuaternion_op_mul_1:mt,_emscripten_bind_btQuaternion_op_mulq_1:eB,_emscripten_bind_btQuaternion_op_sub_1:qB,_emscripten_bind_btQuaternion_setEulerZYX_3:hw,_emscripten_bind_btQuaternion_setRotation_2:Xw,_emscripten_bind_btQuaternion_setValue_4:op,_emscripten_bind_btQuaternion_setW_1:bD,_emscripten_bind_btQuaternion_setX_1:wD,_emscripten_bind_btQuaternion_setY_1:vD,_emscripten_bind_btQuaternion_setZ_1:uD,_emscripten_bind_btQuaternion_w_0:HD,_emscripten_bind_btQuaternion_x_0:JE,_emscripten_bind_btQuaternion_y_0:GD,_emscripten_bind_btQuaternion_z_0:FD,_emscripten_bind_btRaycastVehicle___destroy___0:rw,_emscripten_bind_btRaycastVehicle_addWheel_7:Od,_emscripten_bind_btRaycastVehicle_applyEngineForce_2:Bv,_emscripten_bind_btRaycastVehicle_btRaycastVehicle_3:Wk,_emscripten_bind_btRaycastVehicle_getChassisWorldTransform_0:XA,_emscripten_bind_btRaycastVehicle_getCurrentSpeedKmHour_0:hy,_emscripten_bind_btRaycastVehicle_getForwardAxis_0:EB,_emscripten_bind_btRaycastVehicle_getForwardVector_0:eo,_emscripten_bind_btRaycastVehicle_getNumWheels_0:WA,_emscripten_bind_btRaycastVehicle_getRightAxis_0:VB,_emscripten_bind_btRaycastVehicle_getRigidBody_0:UB,_emscripten_bind_btRaycastVehicle_getSteeringValue_1:Qw,_emscripten_bind_btRaycastVehicle_getUpAxis_0:wC,_emscripten_bind_btRaycastVehicle_getUserConstraintId_0:VA,_emscripten_bind_btRaycastVehicle_getUserConstraintType_0:KA,_emscripten_bind_btRaycastVehicle_getWheelInfo_1:az,_emscripten_bind_btRaycastVehicle_getWheelTransformWS_1:Qx,_emscripten_bind_btRaycastVehicle_rayCast_1:Ly,_emscripten_bind_btRaycastVehicle_resetSuspension_0:El,_emscripten_bind_btRaycastVehicle_setBrake_2:fw,_emscripten_bind_btRaycastVehicle_setCoordinateSystem_3:Gt,_emscripten_bind_btRaycastVehicle_setPitchControl_1:Qy,_emscripten_bind_btRaycastVehicle_setSteeringValue_2:Av,_emscripten_bind_btRaycastVehicle_setUserConstraintId_1:Jx,_emscripten_bind_btRaycastVehicle_setUserConstraintType_1:tx,_emscripten_bind_btRaycastVehicle_updateAction_2:tv,_emscripten_bind_btRaycastVehicle_updateFriction_1:Lw,_emscripten_bind_btRaycastVehicle_updateSuspension_1:ol,_emscripten_bind_btRaycastVehicle_updateVehicle_1:Pw,_emscripten_bind_btRaycastVehicle_updateWheelTransform_2:lt,_emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_1:yu,_emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_2:Ct,_emscripten_bind_btRigidBodyConstructionInfo___destroy___0:_C,_emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_3:zn,_emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_4:Oq,_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingFactor_0:Az,_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingThresholdSqr_0:Wy,_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDampingFactor_0:pA,_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDamping_0:Yz,_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalLinearDampingThresholdSqr_0:$y,_emscripten_bind_btRigidBodyConstructionInfo_get_m_angularDamping_0:zB,_emscripten_bind_btRigidBodyConstructionInfo_get_m_angularSleepingThreshold_0:gA,_emscripten_bind_btRigidBodyConstructionInfo_get_m_friction_0:nC,_emscripten_bind_btRigidBodyConstructionInfo_get_m_linearDamping_0:HF,_emscripten_bind_btRigidBodyConstructionInfo_get_m_linearSleepingThreshold_0:oA,_emscripten_bind_btRigidBodyConstructionInfo_get_m_restitution_0:JB,_emscripten_bind_btRigidBodyConstructionInfo_get_m_rollingFriction_0:dB,_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingFactor_1:Nx,_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingThresholdSqr_1:nx,_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDampingFactor_1:xy,_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDamping_1:Ey,_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalLinearDampingThresholdSqr_1:sx,_emscripten_bind_btRigidBodyConstructionInfo_set_m_angularDamping_1:sz,_emscripten_bind_btRigidBodyConstructionInfo_set_m_angularSleepingThreshold_1:ry,_emscripten_bind_btRigidBodyConstructionInfo_set_m_friction_1:Xz,_emscripten_bind_btRigidBodyConstructionInfo_set_m_linearDamping_1:PD,_emscripten_bind_btRigidBodyConstructionInfo_set_m_linearSleepingThreshold_1:wy,_emscripten_bind_btRigidBodyConstructionInfo_set_m_restitution_1:Gz,_emscripten_bind_btRigidBodyConstructionInfo_set_m_rollingFriction_1:OC,_emscripten_bind_btRigidBody___destroy___0:pw,_emscripten_bind_btRigidBody_activate_0:xt,_emscripten_bind_btRigidBody_activate_1:ms,_emscripten_bind_btRigidBody_applyCentralForce_1:du,_emscripten_bind_btRigidBody_applyCentralImpulse_1:Pt,_emscripten_bind_btRigidBody_applyCentralLocalForce_1:yt,_emscripten_bind_btRigidBody_applyForce_2:_w,_emscripten_bind_btRigidBody_applyGravity_0:jo,_emscripten_bind_btRigidBody_applyImpulse_2:Ew,_emscripten_bind_btRigidBody_applyLocalTorque_1:gu,_emscripten_bind_btRigidBody_applyTorqueImpulse_1:Xt,_emscripten_bind_btRigidBody_applyTorque_1:Du,_emscripten_bind_btRigidBody_btRigidBody_1:wi,_emscripten_bind_btRigidBody_forceActivationState_1:NA,_emscripten_bind_btRigidBody_getAabb_2:Ps,_emscripten_bind_btRigidBody_getAngularVelocity_0:JA,_emscripten_bind_btRigidBody_getCenterOfMassTransform_0:iE,_emscripten_bind_btRigidBody_getCollisionFlags_0:fC,_emscripten_bind_btRigidBody_getCollisionShape_0:eC,_emscripten_bind_btRigidBody_getGravity_0:kD,_emscripten_bind_btRigidBody_getLinearVelocity_0:UA,_emscripten_bind_btRigidBody_getMotionState_0:vC,_emscripten_bind_btRigidBody_getUserIndex_0:IB,_emscripten_bind_btRigidBody_getUserPointer_0:JC,_emscripten_bind_btRigidBody_getWorldTransform_0:iE,_emscripten_bind_btRigidBody_isActive_0:dA,_emscripten_bind_btRigidBody_isKinematicObject_0:ay,_emscripten_bind_btRigidBody_isStaticObject_0:Py,_emscripten_bind_btRigidBody_isStaticOrKinematicObject_0:Jw,_emscripten_bind_btRigidBody_setActivationState_1:Pv,_emscripten_bind_btRigidBody_setAngularFactor_1:gy,_emscripten_bind_btRigidBody_setAngularVelocity_1:Mx,_emscripten_bind_btRigidBody_setAnisotropicFriction_2:_u,_emscripten_bind_btRigidBody_setCcdMotionThreshold_1:Zx,_emscripten_bind_btRigidBody_setCcdSweptSphereRadius_1:Ix,_emscripten_bind_btRigidBody_setCenterOfMassTransform_1:xw,_emscripten_bind_btRigidBody_setCollisionFlags_1:Cy,_emscripten_bind_btRigidBody_setCollisionShape_1:Dw,_emscripten_bind_btRigidBody_setContactProcessingThreshold_1:dy,_emscripten_bind_btRigidBody_setDamping_2:Hn,_emscripten_bind_btRigidBody_setFriction_1:cA,_emscripten_bind_btRigidBody_setGravity_1:Qm,_emscripten_bind_btRigidBody_setLinearFactor_1:qy,_emscripten_bind_btRigidBody_setLinearVelocity_1:Vx,_emscripten_bind_btRigidBody_setMassProps_2:Fj,_emscripten_bind_btRigidBody_setMotionState_1:fy,_emscripten_bind_btRigidBody_setRestitution_1:rz,_emscripten_bind_btRigidBody_setRollingFriction_1:Ky,_emscripten_bind_btRigidBody_setSleepingThresholds_2:Kw,_emscripten_bind_btRigidBody_setUserIndex_1:zz,_emscripten_bind_btRigidBody_setUserPointer_1:_y,_emscripten_bind_btRigidBody_setWorldTransform_1:mx,_emscripten_bind_btRigidBody_upcast_1:Fz,_emscripten_bind_btRigidBody_updateInertiaTensor_0:zj,_emscripten_bind_btSequentialImpulseConstraintSolver___destroy___0:rw,_emscripten_bind_btSequentialImpulseConstraintSolver_btSequentialImpulseConstraintSolver_0:Qj,_emscripten_bind_btSliderConstraint___destroy___0:rw,_emscripten_bind_btSliderConstraint_btSliderConstraint_3:fe,_emscripten_bind_btSliderConstraint_btSliderConstraint_5:nf,_emscripten_bind_btSliderConstraint_enableFeedback_1:ty,_emscripten_bind_btSliderConstraint_getBreakingImpulseThreshold_0:Fx,_emscripten_bind_btSliderConstraint_getParam_2:ev,_emscripten_bind_btSliderConstraint_setBreakingImpulseThreshold_1:uw,_emscripten_bind_btSliderConstraint_setLowerAngLimit_1:ey,_emscripten_bind_btSliderConstraint_setLowerLinLimit_1:dy,_emscripten_bind_btSliderConstraint_setParam_3:vu,_emscripten_bind_btSliderConstraint_setUpperAngLimit_1:cy,_emscripten_bind_btSliderConstraint_setUpperLinLimit_1:by,_emscripten_bind_btSoftBodyArray___destroy___0:kx,_emscripten_bind_btSoftBodyArray_at_1:Ov,_emscripten_bind_btSoftBodyArray_size_0:qE,_emscripten_bind_btSoftBodyHelpers_CreateEllipsoid_4:Ng,_emscripten_bind_btSoftBodyHelpers_CreateFromConvexHull_4:gs,_emscripten_bind_btSoftBodyHelpers_CreateFromTriMesh_5:Cd,_emscripten_bind_btSoftBodyHelpers_CreatePatchUV_10:ad,_emscripten_bind_btSoftBodyHelpers_CreatePatch_9:fd,_emscripten_bind_btSoftBodyHelpers_CreateRope_5:wg,_emscripten_bind_btSoftBodyHelpers___destroy___0:_C,_emscripten_bind_btSoftBodyHelpers_btSoftBodyHelpers_0:CG,_emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration___destroy___0:rw,_emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_0:zp,_emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_1:Sr,_emscripten_bind_btSoftBodySolver___destroy___0:rw,_emscripten_bind_btSoftBodyWorldInfo___destroy___0:gx,_emscripten_bind_btSoftBodyWorldInfo_btSoftBodyWorldInfo_0:vy,_emscripten_bind_btSoftBodyWorldInfo_get_air_density_0:LE,_emscripten_bind_btSoftBodyWorldInfo_get_m_broadphase_0:yD,_emscripten_bind_btSoftBodyWorldInfo_get_m_dispatcher_0:xD,_emscripten_bind_btSoftBodyWorldInfo_get_m_gravity_0:XG,_emscripten_bind_btSoftBodyWorldInfo_get_m_maxDisplacement_0:UF,_emscripten_bind_btSoftBodyWorldInfo_get_water_density_0:QF,_emscripten_bind_btSoftBodyWorldInfo_get_water_normal_0:rF,_emscripten_bind_btSoftBodyWorldInfo_get_water_offset_0:bG,_emscripten_bind_btSoftBodyWorldInfo_set_air_density_1:LF,_emscripten_bind_btSoftBodyWorldInfo_set_m_broadphase_1:zA,_emscripten_bind_btSoftBodyWorldInfo_set_m_dispatcher_1:yA,_emscripten_bind_btSoftBodyWorldInfo_set_m_gravity_1:Zr,_emscripten_bind_btSoftBodyWorldInfo_set_m_maxDisplacement_1:UE,_emscripten_bind_btSoftBodyWorldInfo_set_water_density_1:qF,_emscripten_bind_btSoftBodyWorldInfo_set_water_normal_1:Cr,_emscripten_bind_btSoftBodyWorldInfo_set_water_offset_1:pF,_emscripten_bind_btSoftBody___destroy___0:pw,_emscripten_bind_btSoftBody_activate_0:xt,_emscripten_bind_btSoftBody_activate_1:ms,_emscripten_bind_btSoftBody_addAeroForceToNode_2:ew,_emscripten_bind_btSoftBody_addForce_1:um,_emscripten_bind_btSoftBody_addForce_2:En,_emscripten_bind_btSoftBody_appendAnchor_4:Ld,_emscripten_bind_btSoftBody_appendFace_4:tu,_emscripten_bind_btSoftBody_appendLink_4:su,_emscripten_bind_btSoftBody_appendMaterial_0:uC,_emscripten_bind_btSoftBody_appendNode_2:Uc,_emscripten_bind_btSoftBody_appendTetra_5:Ef,_emscripten_bind_btSoftBody_btSoftBody_4:Yr,_emscripten_bind_btSoftBody_checkFace_3:Fk,_emscripten_bind_btSoftBody_checkLink_2:Dl,_emscripten_bind_btSoftBody_forceActivationState_1:NA,_emscripten_bind_btSoftBody_generateBendingConstraints_2:Sc,_emscripten_bind_btSoftBody_generateClusters_1:Dy,_emscripten_bind_btSoftBody_generateClusters_2:bx,_emscripten_bind_btSoftBody_getCollisionFlags_0:fC,_emscripten_bind_btSoftBody_getCollisionShape_0:eC,_emscripten_bind_btSoftBody_getTotalMass_0:Po,_emscripten_bind_btSoftBody_getUserIndex_0:IB,_emscripten_bind_btSoftBody_getUserPointer_0:JC,_emscripten_bind_btSoftBody_getWorldTransform_0:iE,_emscripten_bind_btSoftBody_get_m_anchors_0:lG,_emscripten_bind_btSoftBody_get_m_cfg_0:BG,_emscripten_bind_btSoftBody_get_m_materials_0:aG,_emscripten_bind_btSoftBody_get_m_nodes_0:sG,_emscripten_bind_btSoftBody_isActive_0:dA,_emscripten_bind_btSoftBody_isKinematicObject_0:ay,_emscripten_bind_btSoftBody_isStaticObject_0:Py,_emscripten_bind_btSoftBody_isStaticOrKinematicObject_0:Jw,_emscripten_bind_btSoftBody_rotate_1:Tj,_emscripten_bind_btSoftBody_scale_1:Ie,_emscripten_bind_btSoftBody_setActivationState_1:Pv,_emscripten_bind_btSoftBody_setAnisotropicFriction_2:_u,_emscripten_bind_btSoftBody_setCcdMotionThreshold_1:Zx,_emscripten_bind_btSoftBody_setCcdSweptSphereRadius_1:Ix,_emscripten_bind_btSoftBody_setCollisionFlags_1:Cy,_emscripten_bind_btSoftBody_setCollisionShape_1:Dw,_emscripten_bind_btSoftBody_setContactProcessingThreshold_1:dy,_emscripten_bind_btSoftBody_setFriction_1:cA,_emscripten_bind_btSoftBody_setMass_2:Zt,_emscripten_bind_btSoftBody_setRestitution_1:rz,_emscripten_bind_btSoftBody_setRollingFriction_1:Ky,_emscripten_bind_btSoftBody_setTotalMass_2:$g,_emscripten_bind_btSoftBody_setUserIndex_1:zz,_emscripten_bind_btSoftBody_setUserPointer_1:_y,_emscripten_bind_btSoftBody_setWorldTransform_1:mx,_emscripten_bind_btSoftBody_set_m_anchors_1:Ow,_emscripten_bind_btSoftBody_set_m_cfg_1:Ez,_emscripten_bind_btSoftBody_set_m_materials_1:vw,_emscripten_bind_btSoftBody_set_m_nodes_1:fx,_emscripten_bind_btSoftBody_transform_1:yz,_emscripten_bind_btSoftBody_translate_1:Ol,_emscripten_bind_btSoftBody_upcast_1:Rz,_emscripten_bind_btSoftRigidDynamicsWorld___destroy___0:rw,_emscripten_bind_btSoftRigidDynamicsWorld_addAction_1:Yw,_emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_1:$u,_emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_2:lu,_emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_3:Lt,_emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_1:Sv,_emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_2:Ju,_emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_1:gw,_emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_3:Ht,_emscripten_bind_btSoftRigidDynamicsWorld_addSoftBody_3:aj,_emscripten_bind_btSoftRigidDynamicsWorld_btSoftRigidDynamicsWorld_5:rf,_emscripten_bind_btSoftRigidDynamicsWorld_contactPairTest_3:Dj,_emscripten_bind_btSoftRigidDynamicsWorld_contactTest_2:Xm,_emscripten_bind_btSoftRigidDynamicsWorld_convexSweepTest_5:pr,_emscripten_bind_btSoftRigidDynamicsWorld_getBroadphase_0:hC,_emscripten_bind_btSoftRigidDynamicsWorld_getDispatchInfo_0:AB,_emscripten_bind_btSoftRigidDynamicsWorld_getDispatcher_0:gC,_emscripten_bind_btSoftRigidDynamicsWorld_getGravity_0:ro,_emscripten_bind_btSoftRigidDynamicsWorld_getPairCache_0:Xy,_emscripten_bind_btSoftRigidDynamicsWorld_getSoftBodyArray_0:Jy,_emscripten_bind_btSoftRigidDynamicsWorld_getSolverInfo_0:fB,_emscripten_bind_btSoftRigidDynamicsWorld_getWorldInfo_0:qz,_emscripten_bind_btSoftRigidDynamicsWorld_rayTest_3:pu,_emscripten_bind_btSoftRigidDynamicsWorld_removeAction_1:Gw,_emscripten_bind_btSoftRigidDynamicsWorld_removeCollisionObject_1:dw,_emscripten_bind_btSoftRigidDynamicsWorld_removeConstraint_1:Vv,_emscripten_bind_btSoftRigidDynamicsWorld_removeRigidBody_1:Yv,_emscripten_bind_btSoftRigidDynamicsWorld_removeSoftBody_1:zi,_emscripten_bind_btSoftRigidDynamicsWorld_setGravity_1:mw,_emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_1:Hu,_emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_2:Mt,_emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_3:Qt,_emscripten_bind_btSoftRigidDynamicsWorld_updateSingleAabb_1:Fw,_emscripten_bind_btSphereShape___destroy___0:rw,_emscripten_bind_btSphereShape_btSphereShape_1:lx,_emscripten_bind_btSphereShape_calculateLocalInertia_2:av,_emscripten_bind_btSphereShape_getLocalScaling_0:Ty,_emscripten_bind_btSphereShape_getMargin_0:tz,_emscripten_bind_btSphereShape_setLocalScaling_1:Sw,_emscripten_bind_btSphereShape_setMargin_1:Lx,_emscripten_bind_btStaticPlaneShape___destroy___0:rw,_emscripten_bind_btStaticPlaneShape_btStaticPlaneShape_2:Ll,_emscripten_bind_btStaticPlaneShape_calculateLocalInertia_2:av,_emscripten_bind_btStaticPlaneShape_getLocalScaling_0:Ty,_emscripten_bind_btStaticPlaneShape_setLocalScaling_1:Sw,_emscripten_bind_btStridingMeshInterface___destroy___0:rw,_emscripten_bind_btTransform___destroy___0:_C,_emscripten_bind_btTransform_btTransform_0:cH,_emscripten_bind_btTransform_btTransform_2:Xu,_emscripten_bind_btTransform_getBasis_0:$F,_emscripten_bind_btTransform_getOrigin_0:ID,_emscripten_bind_btTransform_getRotation_0:So,_emscripten_bind_btTransform_setFromOpenGLMatrix_1:uy,_emscripten_bind_btTransform_setIdentity_0:rD,_emscripten_bind_btTransform_setOrigin_1:Dz,_emscripten_bind_btTransform_setRotation_1:Qz,_emscripten_bind_btTriangleMeshShape___destroy___0:rw,_emscripten_bind_btTriangleMeshShape_calculateLocalInertia_2:av,_emscripten_bind_btTriangleMeshShape_getLocalScaling_0:Ty,_emscripten_bind_btTriangleMeshShape_setLocalScaling_1:Sw,_emscripten_bind_btTriangleMesh___destroy___0:rw,_emscripten_bind_btTriangleMesh_addTriangle_3:un,_emscripten_bind_btTriangleMesh_addTriangle_4:en,_emscripten_bind_btTriangleMesh_btTriangleMesh_0:Iw,_emscripten_bind_btTriangleMesh_btTriangleMesh_1:zv,_emscripten_bind_btTriangleMesh_btTriangleMesh_2:Bu,_emscripten_bind_btTypedConstraint___destroy___0:rw,_emscripten_bind_btTypedConstraint_enableFeedback_1:ty,_emscripten_bind_btTypedConstraint_getBreakingImpulseThreshold_0:Fx,_emscripten_bind_btTypedConstraint_getParam_2:ev,_emscripten_bind_btTypedConstraint_setBreakingImpulseThreshold_1:uw,_emscripten_bind_btTypedConstraint_setParam_3:vu,_emscripten_bind_btVector3___destroy___0:xA,_emscripten_bind_btVector3_btVector3_0:QG,_emscripten_bind_btVector3_btVector3_3:Sp,_emscripten_bind_btVector3_dot_1:_s,_emscripten_bind_btVector3_length_0:Hx,_emscripten_bind_btVector3_normalize_0:EE,_emscripten_bind_btVector3_op_add_1:tC,_emscripten_bind_btVector3_op_mul_1:wt,_emscripten_bind_btVector3_op_sub_1:sC,_emscripten_bind_btVector3_rotate_2:Bo,_emscripten_bind_btVector3_setValue_3:Cq,_emscripten_bind_btVector3_setX_1:wD,_emscripten_bind_btVector3_setY_1:vD,_emscripten_bind_btVector3_setZ_1:uD,_emscripten_bind_btVector3_x_0:JE,_emscripten_bind_btVector3_y_0:GD,_emscripten_bind_btVector3_z_0:FD,_emscripten_bind_btVector4___destroy___0:xA,_emscripten_bind_btVector4_btVector4_0:QG,_emscripten_bind_btVector4_btVector4_4:Mo,_emscripten_bind_btVector4_dot_1:_s,_emscripten_bind_btVector4_length_0:Hx,_emscripten_bind_btVector4_normalize_0:EE,_emscripten_bind_btVector4_op_add_1:tC,_emscripten_bind_btVector4_op_mul_1:wt,_emscripten_bind_btVector4_op_sub_1:sC,_emscripten_bind_btVector4_rotate_2:Ao,_emscripten_bind_btVector4_setValue_4:op,_emscripten_bind_btVector4_setX_1:wD,_emscripten_bind_btVector4_setY_1:vD,_emscripten_bind_btVector4_setZ_1:uD,_emscripten_bind_btVector4_w_0:HD,_emscripten_bind_btVector4_x_0:JE,_emscripten_bind_btVector4_y_0:GD,_emscripten_bind_btVector4_z_0:FD,_emscripten_bind_btVehicleRaycasterResult___destroy___0:_C,_emscripten_bind_btVehicleRaycasterResult_get_m_distFraction_0:SF,_emscripten_bind_btVehicleRaycasterResult_get_m_hitNormalInWorld_0:rF,_emscripten_bind_btVehicleRaycasterResult_get_m_hitPointInWorld_0:bI,_emscripten_bind_btVehicleRaycasterResult_set_m_distFraction_1:WD,_emscripten_bind_btVehicleRaycasterResult_set_m_hitNormalInWorld_1:Cr,_emscripten_bind_btVehicleRaycasterResult_set_m_hitPointInWorld_1:Xr,_emscripten_bind_btVehicleRaycaster___destroy___0:rw,_emscripten_bind_btVehicleRaycaster_castRay_3:cu,_emscripten_bind_btVehicleTuning_btVehicleTuning_0:Ux,_emscripten_bind_btVehicleTuning_get_m_frictionSlip_0:TF,_emscripten_bind_btVehicleTuning_get_m_maxSuspensionForce_0:RF,_emscripten_bind_btVehicleTuning_get_m_maxSuspensionTravelCm_0:UF,_emscripten_bind_btVehicleTuning_get_m_suspensionCompression_0:QF,_emscripten_bind_btVehicleTuning_get_m_suspensionDamping_0:bG,_emscripten_bind_btVehicleTuning_get_m_suspensionStiffness_0:LE,_emscripten_bind_btVehicleTuning_set_m_frictionSlip_1:XD,_emscripten_bind_btVehicleTuning_set_m_maxSuspensionForce_1:VD,_emscripten_bind_btVehicleTuning_set_m_maxSuspensionTravelCm_1:UE,_emscripten_bind_btVehicleTuning_set_m_suspensionCompression_1:qF,_emscripten_bind_btVehicleTuning_set_m_suspensionDamping_1:pF,_emscripten_bind_btVehicleTuning_set_m_suspensionStiffness_1:LF,_emscripten_bind_btWheelInfoConstructionInfo___destroy___0:_C,_emscripten_bind_btWheelInfoConstructionInfo_get_m_bIsFrontWheel_0:wA,_emscripten_bind_btWheelInfoConstructionInfo_get_m_chassisConnectionCS_0:bI,_emscripten_bind_btWheelInfoConstructionInfo_get_m_frictionSlip_0:KF,_emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionForce_0:dF,_emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionTravelCm_0:jF,_emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionRestLength_0:GF,_emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionStiffness_0:iF,_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelAxleCS_0:iG,_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelDirectionCS_0:rF,_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelRadius_0:kF,_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingCompression_0:RE,_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingRelaxation_0:SE,_emscripten_bind_btWheelInfoConstructionInfo_set_m_bIsFrontWheel_1:Zy,_emscripten_bind_btWheelInfoConstructionInfo_set_m_chassisConnectionCS_1:Xr,_emscripten_bind_btWheelInfoConstructionInfo_set_m_frictionSlip_1:bE,_emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionForce_1:fD,_emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionTravelCm_1:mD,_emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionRestLength_1:ND,_emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionStiffness_1:lD,_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelAxleCS_1:rr,_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelDirectionCS_1:Cr,_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelRadius_1:nD,_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingCompression_1:WC,_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingRelaxation_1:XC,_emscripten_bind_btWheelInfo___destroy___0:_C,_emscripten_bind_btWheelInfo_btWheelInfo_1:ow,_emscripten_bind_btWheelInfo_getSuspensionRestLength_0:qD,_emscripten_bind_btWheelInfo_get_m_bIsFrontWheel_0:IC,_emscripten_bind_btWheelInfo_get_m_brake_0:IE,_emscripten_bind_btWheelInfo_get_m_chassisConnectionPointCS_0:rE,_emscripten_bind_btWheelInfo_get_m_clippedInvContactDotSuspension_0:pB,_emscripten_bind_btWheelInfo_get_m_deltaRotation_0:SD,_emscripten_bind_btWheelInfo_get_m_engineForce_0:hE,_emscripten_bind_btWheelInfo_get_m_frictionSlip_0:dE,_emscripten_bind_btWheelInfo_get_m_maxSuspensionForce_0:jD,_emscripten_bind_btWheelInfo_get_m_maxSuspensionTravelCm_0:TC,_emscripten_bind_btWheelInfo_get_m_raycastInfo_0:bI,_emscripten_bind_btWheelInfo_get_m_rollInfluence_0:RD,_emscripten_bind_btWheelInfo_get_m_rotation_0:zE,_emscripten_bind_btWheelInfo_get_m_skidInfo_0:yE,_emscripten_bind_btWheelInfo_get_m_steering_0:xE,_emscripten_bind_btWheelInfo_get_m_suspensionRelativeVelocity_0:TB,_emscripten_bind_btWheelInfo_get_m_suspensionRestLength1_0:qD,_emscripten_bind_btWheelInfo_get_m_suspensionStiffness_0:aD,_emscripten_bind_btWheelInfo_get_m_wheelAxleCS_0:xF,_emscripten_bind_btWheelInfo_get_m_wheelDirectionCS_0:VE,_emscripten_bind_btWheelInfo_get_m_wheelsDampingCompression_0:mC,_emscripten_bind_btWheelInfo_get_m_wheelsDampingRelaxation_0:rC,_emscripten_bind_btWheelInfo_get_m_wheelsRadius_0:cE,_emscripten_bind_btWheelInfo_get_m_wheelsSuspensionForce_0:SC,_emscripten_bind_btWheelInfo_get_m_worldTransform_0:KG,_emscripten_bind_btWheelInfo_set_m_bIsFrontWheel_1:BA,_emscripten_bind_btWheelInfo_set_m_brake_1:qC,_emscripten_bind_btWheelInfo_set_m_chassisConnectionPointCS_1:hr,_emscripten_bind_btWheelInfo_set_m_clippedInvContactDotSuspension_1:mz,_emscripten_bind_btWheelInfo_set_m_deltaRotation_1:cB,_emscripten_bind_btWheelInfo_set_m_engineForce_1:yB,_emscripten_bind_btWheelInfo_set_m_frictionSlip_1:oB,_emscripten_bind_btWheelInfo_set_m_maxSuspensionForce_1:mB,_emscripten_bind_btWheelInfo_set_m_maxSuspensionTravelCm_1:nA,_emscripten_bind_btWheelInfo_set_m_raycastInfo_1:Ws,_emscripten_bind_btWheelInfo_set_m_rollInfluence_1:bB,_emscripten_bind_btWheelInfo_set_m_rotation_1:SB,_emscripten_bind_btWheelInfo_set_m_skidInfo_1:RB,_emscripten_bind_btWheelInfo_set_m_steering_1:QB,_emscripten_bind_btWheelInfo_set_m_suspensionRelativeVelocity_1:Jz,_emscripten_bind_btWheelInfo_set_m_suspensionRestLength1_1:mA,_emscripten_bind_btWheelInfo_set_m_suspensionStiffness_1:vA,_emscripten_bind_btWheelInfo_set_m_wheelAxleCS_1:zr,_emscripten_bind_btWheelInfo_set_m_wheelDirectionCS_1:qr,_emscripten_bind_btWheelInfo_set_m_wheelsDampingCompression_1:Wz,_emscripten_bind_btWheelInfo_set_m_wheelsDampingRelaxation_1:bA,_emscripten_bind_btWheelInfo_set_m_wheelsRadius_1:nB,_emscripten_bind_btWheelInfo_set_m_wheelsSuspensionForce_1:lA,_emscripten_bind_btWheelInfo_set_m_worldTransform_1:kz,_emscripten_bind_btWheelInfo_updateWheel_2:Mi,_emscripten_bind_tAnchorArray___destroy___0:kx,_emscripten_bind_tAnchorArray_at_1:Hr,_emscripten_bind_tAnchorArray_clear_0:xB,_emscripten_bind_tAnchorArray_pop_back_0:Pz,_emscripten_bind_tAnchorArray_push_back_1:ex,_emscripten_bind_tAnchorArray_size_0:qE,_emscripten_bind_tMaterialArray___destroy___0:kx,_emscripten_bind_tMaterialArray_at_1:Ov,_emscripten_bind_tMaterialArray_size_0:qE,_emscripten_bind_tNodeArray___destroy___0:kx,_emscripten_bind_tNodeArray_at_1:Zw,_emscripten_bind_tNodeArray_size_0:qE,_emscripten_enum_PHY_ScalarType_PHY_DOUBLE:NH,_emscripten_enum_PHY_ScalarType_PHY_FIXEDPOINT88:CH,_emscripten_enum_PHY_ScalarType_PHY_FLOAT:gI,_emscripten_enum_PHY_ScalarType_PHY_INTEGER:MH,_emscripten_enum_PHY_ScalarType_PHY_SHORT:PH,_emscripten_enum_PHY_ScalarType_PHY_UCHAR:OH,_emscripten_enum_btConstraintParams_BT_CONSTRAINT_CFM:PH,_emscripten_enum_btConstraintParams_BT_CONSTRAINT_ERP:NH,_emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_CFM:CH,_emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_ERP:MH,_free:nd,_i64Add:cw,_i64Subtract:Nv,_llvm_bswap_i16:HG,_llvm_bswap_i32:TA,_malloc:ic,_memcpy:_h,_memmove:yp,_memset:Nk,_sbrk:uo,dynCall_di:gF,dynCall_did:QC,dynCall_diidii:Pu,dynCall_diii:By,dynCall_diiidii:vt,dynCall_diiii:lw,dynCall_diiiii:Au,dynCall_diiiiiiii:Br,dynCall_diiiiiiiii:Mq,dynCall_diiiiiiiiii:Xp,dynCall_ii:NE,dynCall_iidid:Ww,dynCall_iii:aB,dynCall_iiid:Vy,dynCall_iiii:ky,dynCall_iiiii:_v,dynCall_iiiiiii:et,dynCall_iiiiiiiiii:Hq,dynCall_iiiiiiiiiii:Up,dynCall_v:LH,dynCall_vi:eG,dynCall_vid:DD,dynCall_vidd:GA,dynCall_viddiii:ku,dynCall_vidi:Uz,dynCall_vidii:rx,dynCall_vii:PC,dynCall_viid:aA,dynCall_viidi:qx,dynCall_viidii:kv,dynCall_viii:iz,dynCall_viiid:jx,dynCall_viiidii:Wt,dynCall_viiii:Cw,dynCall_viiiid:jv,dynCall_viiiidddddidi:Fp,dynCall_viiiiddddiid:fq,dynCall_viiiii:Tu,dynCall_viiiiid:Vt,dynCall_viiiiii:Et,dynCall_viiiiiii:us,dynCall_viiiiiiiii:Wq,dynCall_viiiiiiiiii:iq,establishStackSpace:wF,getTempRet0:dI,runPostSets:Yo,setTempRet0:$H,setThrew:HC,stackAlloc:xz,stackRestore:ZH,stackSave:eI}}) // EMSCRIPTEN_END_ASM (c.o,c.s,buffer),Xa=c.__GLOBAL__sub_I_btQuickprof_cpp=d.__GLOBAL__sub_I_btQuickprof_cpp;c.___cxa_can_catch=d.___cxa_can_catch;c.___cxa_is_pointer_type=d.___cxa_is_pointer_type;c.___muldi3=d.___muldi3;c.___udivdi3=d.___udivdi3;c.___uremdi3=d.___uremdi3;c._bitshift64Lshr=d._bitshift64Lshr;c._bitshift64Shl=d._bitshift64Shl; var ub=c._emscripten_bind_Anchor___destroy___0=d._emscripten_bind_Anchor___destroy___0,vb=c._emscripten_bind_Anchor_get_m_body_0=d._emscripten_bind_Anchor_get_m_body_0,wb=c._emscripten_bind_Anchor_get_m_c0_0=d._emscripten_bind_Anchor_get_m_c0_0,xb=c._emscripten_bind_Anchor_get_m_c1_0=d._emscripten_bind_Anchor_get_m_c1_0,yb=c._emscripten_bind_Anchor_get_m_c2_0=d._emscripten_bind_Anchor_get_m_c2_0,zb=c._emscripten_bind_Anchor_get_m_influence_0=d._emscripten_bind_Anchor_get_m_influence_0,Ab=c._emscripten_bind_Anchor_get_m_local_0= d._emscripten_bind_Anchor_get_m_local_0,Bb=c._emscripten_bind_Anchor_get_m_node_0=d._emscripten_bind_Anchor_get_m_node_0,Cb=c._emscripten_bind_Anchor_set_m_body_1=d._emscripten_bind_Anchor_set_m_body_1,Db=c._emscripten_bind_Anchor_set_m_c0_1=d._emscripten_bind_Anchor_set_m_c0_1,Eb=c._emscripten_bind_Anchor_set_m_c1_1=d._emscripten_bind_Anchor_set_m_c1_1,Fb=c._emscripten_bind_Anchor_set_m_c2_1=d._emscripten_bind_Anchor_set_m_c2_1,Gb=c._emscripten_bind_Anchor_set_m_influence_1=d._emscripten_bind_Anchor_set_m_influence_1, Hb=c._emscripten_bind_Anchor_set_m_local_1=d._emscripten_bind_Anchor_set_m_local_1,Ib=c._emscripten_bind_Anchor_set_m_node_1=d._emscripten_bind_Anchor_set_m_node_1,Jb=c._emscripten_bind_ClosestConvexResultCallback_ClosestConvexResultCallback_2=d._emscripten_bind_ClosestConvexResultCallback_ClosestConvexResultCallback_2,Kb=c._emscripten_bind_ClosestConvexResultCallback___destroy___0=d._emscripten_bind_ClosestConvexResultCallback___destroy___0,Lb=c._emscripten_bind_ClosestConvexResultCallback_get_m_closestHitFraction_0= d._emscripten_bind_ClosestConvexResultCallback_get_m_closestHitFraction_0,Mb=c._emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterGroup_0=d._emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterGroup_0,Ob=c._emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterMask_0=d._emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterMask_0,Pb=c._emscripten_bind_ClosestConvexResultCallback_get_m_convexFromWorld_0=d._emscripten_bind_ClosestConvexResultCallback_get_m_convexFromWorld_0, Qb=c._emscripten_bind_ClosestConvexResultCallback_get_m_convexToWorld_0=d._emscripten_bind_ClosestConvexResultCallback_get_m_convexToWorld_0,Rb=c._emscripten_bind_ClosestConvexResultCallback_get_m_hitNormalWorld_0=d._emscripten_bind_ClosestConvexResultCallback_get_m_hitNormalWorld_0,Sb=c._emscripten_bind_ClosestConvexResultCallback_get_m_hitPointWorld_0=d._emscripten_bind_ClosestConvexResultCallback_get_m_hitPointWorld_0,Tb=c._emscripten_bind_ClosestConvexResultCallback_hasHit_0=d._emscripten_bind_ClosestConvexResultCallback_hasHit_0, Ub=c._emscripten_bind_ClosestConvexResultCallback_set_m_closestHitFraction_1=d._emscripten_bind_ClosestConvexResultCallback_set_m_closestHitFraction_1,Vb=c._emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterGroup_1=d._emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterGroup_1,Wb=c._emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterMask_1=d._emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterMask_1,Xb=c._emscripten_bind_ClosestConvexResultCallback_set_m_convexFromWorld_1= d._emscripten_bind_ClosestConvexResultCallback_set_m_convexFromWorld_1,Yb=c._emscripten_bind_ClosestConvexResultCallback_set_m_convexToWorld_1=d._emscripten_bind_ClosestConvexResultCallback_set_m_convexToWorld_1,Zb=c._emscripten_bind_ClosestConvexResultCallback_set_m_hitNormalWorld_1=d._emscripten_bind_ClosestConvexResultCallback_set_m_hitNormalWorld_1,$b=c._emscripten_bind_ClosestConvexResultCallback_set_m_hitPointWorld_1=d._emscripten_bind_ClosestConvexResultCallback_set_m_hitPointWorld_1,ac=c._emscripten_bind_ClosestRayResultCallback_ClosestRayResultCallback_2= d._emscripten_bind_ClosestRayResultCallback_ClosestRayResultCallback_2,bc=c._emscripten_bind_ClosestRayResultCallback___destroy___0=d._emscripten_bind_ClosestRayResultCallback___destroy___0,cc=c._emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterGroup_0=d._emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterGroup_0,dc=c._emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterMask_0=d._emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterMask_0,ec=c._emscripten_bind_ClosestRayResultCallback_get_m_collisionObject_0= d._emscripten_bind_ClosestRayResultCallback_get_m_collisionObject_0,fc=c._emscripten_bind_ClosestRayResultCallback_get_m_hitNormalWorld_0=d._emscripten_bind_ClosestRayResultCallback_get_m_hitNormalWorld_0,hc=c._emscripten_bind_ClosestRayResultCallback_get_m_hitPointWorld_0=d._emscripten_bind_ClosestRayResultCallback_get_m_hitPointWorld_0,ic=c._emscripten_bind_ClosestRayResultCallback_get_m_rayFromWorld_0=d._emscripten_bind_ClosestRayResultCallback_get_m_rayFromWorld_0,jc=c._emscripten_bind_ClosestRayResultCallback_get_m_rayToWorld_0= d._emscripten_bind_ClosestRayResultCallback_get_m_rayToWorld_0,kc=c._emscripten_bind_ClosestRayResultCallback_hasHit_0=d._emscripten_bind_ClosestRayResultCallback_hasHit_0,lc=c._emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterGroup_1=d._emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterGroup_1,mc=c._emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterMask_1=d._emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterMask_1,oc=c._emscripten_bind_ClosestRayResultCallback_set_m_collisionObject_1= d._emscripten_bind_ClosestRayResultCallback_set_m_collisionObject_1,pc=c._emscripten_bind_ClosestRayResultCallback_set_m_hitNormalWorld_1=d._emscripten_bind_ClosestRayResultCallback_set_m_hitNormalWorld_1,qc=c._emscripten_bind_ClosestRayResultCallback_set_m_hitPointWorld_1=d._emscripten_bind_ClosestRayResultCallback_set_m_hitPointWorld_1,rc=c._emscripten_bind_ClosestRayResultCallback_set_m_rayFromWorld_1=d._emscripten_bind_ClosestRayResultCallback_set_m_rayFromWorld_1,sc=c._emscripten_bind_ClosestRayResultCallback_set_m_rayToWorld_1= d._emscripten_bind_ClosestRayResultCallback_set_m_rayToWorld_1,tc=c._emscripten_bind_ConcreteContactResultCallback_ConcreteContactResultCallback_0=d._emscripten_bind_ConcreteContactResultCallback_ConcreteContactResultCallback_0,uc=c._emscripten_bind_ConcreteContactResultCallback___destroy___0=d._emscripten_bind_ConcreteContactResultCallback___destroy___0,vc=c._emscripten_bind_ConcreteContactResultCallback_addSingleResult_7=d._emscripten_bind_ConcreteContactResultCallback_addSingleResult_7,wc=c._emscripten_bind_Config___destroy___0= d._emscripten_bind_Config___destroy___0,xc=c._emscripten_bind_Config_get_citerations_0=d._emscripten_bind_Config_get_citerations_0,yc=c._emscripten_bind_Config_get_collisions_0=d._emscripten_bind_Config_get_collisions_0,zc=c._emscripten_bind_Config_get_diterations_0=d._emscripten_bind_Config_get_diterations_0,Ac=c._emscripten_bind_Config_get_kAHR_0=d._emscripten_bind_Config_get_kAHR_0,Bc=c._emscripten_bind_Config_get_kCHR_0=d._emscripten_bind_Config_get_kCHR_0,Cc=c._emscripten_bind_Config_get_kDF_0= d._emscripten_bind_Config_get_kDF_0,Dc=c._emscripten_bind_Config_get_kDG_0=d._emscripten_bind_Config_get_kDG_0,Ec=c._emscripten_bind_Config_get_kDP_0=d._emscripten_bind_Config_get_kDP_0,Fc=c._emscripten_bind_Config_get_kKHR_0=d._emscripten_bind_Config_get_kKHR_0,Gc=c._emscripten_bind_Config_get_kLF_0=d._emscripten_bind_Config_get_kLF_0,Hc=c._emscripten_bind_Config_get_kMT_0=d._emscripten_bind_Config_get_kMT_0,Ic=c._emscripten_bind_Config_get_kPR_0=d._emscripten_bind_Config_get_kPR_0,Jc=c._emscripten_bind_Config_get_kSHR_0= d._emscripten_bind_Config_get_kSHR_0,Kc=c._emscripten_bind_Config_get_kSKHR_CL_0=d._emscripten_bind_Config_get_kSKHR_CL_0,Lc=c._emscripten_bind_Config_get_kSK_SPLT_CL_0=d._emscripten_bind_Config_get_kSK_SPLT_CL_0,Mc=c._emscripten_bind_Config_get_kSRHR_CL_0=d._emscripten_bind_Config_get_kSRHR_CL_0,Nc=c._emscripten_bind_Config_get_kSR_SPLT_CL_0=d._emscripten_bind_Config_get_kSR_SPLT_CL_0,Oc=c._emscripten_bind_Config_get_kSSHR_CL_0=d._emscripten_bind_Config_get_kSSHR_CL_0,Pc=c._emscripten_bind_Config_get_kSS_SPLT_CL_0= d._emscripten_bind_Config_get_kSS_SPLT_CL_0,Qc=c._emscripten_bind_Config_get_kVCF_0=d._emscripten_bind_Config_get_kVCF_0,Rc=c._emscripten_bind_Config_get_kVC_0=d._emscripten_bind_Config_get_kVC_0,Sc=c._emscripten_bind_Config_get_maxvolume_0=d._emscripten_bind_Config_get_maxvolume_0,Tc=c._emscripten_bind_Config_get_piterations_0=d._emscripten_bind_Config_get_piterations_0,Uc=c._emscripten_bind_Config_get_timescale_0=d._emscripten_bind_Config_get_timescale_0,Vc=c._emscripten_bind_Config_get_viterations_0= d._emscripten_bind_Config_get_viterations_0,Wc=c._emscripten_bind_Config_set_citerations_1=d._emscripten_bind_Config_set_citerations_1,Xc=c._emscripten_bind_Config_set_collisions_1=d._emscripten_bind_Config_set_collisions_1,Yc=c._emscripten_bind_Config_set_diterations_1=d._emscripten_bind_Config_set_diterations_1,Zc=c._emscripten_bind_Config_set_kAHR_1=d._emscripten_bind_Config_set_kAHR_1,$c=c._emscripten_bind_Config_set_kCHR_1=d._emscripten_bind_Config_set_kCHR_1,ad=c._emscripten_bind_Config_set_kDF_1= d._emscripten_bind_Config_set_kDF_1,bd=c._emscripten_bind_Config_set_kDG_1=d._emscripten_bind_Config_set_kDG_1,cd=c._emscripten_bind_Config_set_kDP_1=d._emscripten_bind_Config_set_kDP_1,dd=c._emscripten_bind_Config_set_kKHR_1=d._emscripten_bind_Config_set_kKHR_1,ed=c._emscripten_bind_Config_set_kLF_1=d._emscripten_bind_Config_set_kLF_1,fd=c._emscripten_bind_Config_set_kMT_1=d._emscripten_bind_Config_set_kMT_1,gd=c._emscripten_bind_Config_set_kPR_1=d._emscripten_bind_Config_set_kPR_1,hd=c._emscripten_bind_Config_set_kSHR_1= d._emscripten_bind_Config_set_kSHR_1,id=c._emscripten_bind_Config_set_kSKHR_CL_1=d._emscripten_bind_Config_set_kSKHR_CL_1,jd=c._emscripten_bind_Config_set_kSK_SPLT_CL_1=d._emscripten_bind_Config_set_kSK_SPLT_CL_1,kd=c._emscripten_bind_Config_set_kSRHR_CL_1=d._emscripten_bind_Config_set_kSRHR_CL_1,ld=c._emscripten_bind_Config_set_kSR_SPLT_CL_1=d._emscripten_bind_Config_set_kSR_SPLT_CL_1,md=c._emscripten_bind_Config_set_kSSHR_CL_1=d._emscripten_bind_Config_set_kSSHR_CL_1,nd=c._emscripten_bind_Config_set_kSS_SPLT_CL_1= d._emscripten_bind_Config_set_kSS_SPLT_CL_1,od=c._emscripten_bind_Config_set_kVCF_1=d._emscripten_bind_Config_set_kVCF_1,pd=c._emscripten_bind_Config_set_kVC_1=d._emscripten_bind_Config_set_kVC_1,qd=c._emscripten_bind_Config_set_maxvolume_1=d._emscripten_bind_Config_set_maxvolume_1,rd=c._emscripten_bind_Config_set_piterations_1=d._emscripten_bind_Config_set_piterations_1,sd=c._emscripten_bind_Config_set_timescale_1=d._emscripten_bind_Config_set_timescale_1,td=c._emscripten_bind_Config_set_viterations_1= d._emscripten_bind_Config_set_viterations_1,ud=c._emscripten_bind_ContactResultCallback___destroy___0=d._emscripten_bind_ContactResultCallback___destroy___0,vd=c._emscripten_bind_ContactResultCallback_addSingleResult_7=d._emscripten_bind_ContactResultCallback_addSingleResult_7,wd=c._emscripten_bind_ConvexResultCallback___destroy___0=d._emscripten_bind_ConvexResultCallback___destroy___0,xd=c._emscripten_bind_ConvexResultCallback_get_m_closestHitFraction_0=d._emscripten_bind_ConvexResultCallback_get_m_closestHitFraction_0, yd=c._emscripten_bind_ConvexResultCallback_get_m_collisionFilterGroup_0=d._emscripten_bind_ConvexResultCallback_get_m_collisionFilterGroup_0,zd=c._emscripten_bind_ConvexResultCallback_get_m_collisionFilterMask_0=d._emscripten_bind_ConvexResultCallback_get_m_collisionFilterMask_0,Ad=c._emscripten_bind_ConvexResultCallback_hasHit_0=d._emscripten_bind_ConvexResultCallback_hasHit_0,Bd=c._emscripten_bind_ConvexResultCallback_set_m_closestHitFraction_1=d._emscripten_bind_ConvexResultCallback_set_m_closestHitFraction_1, Cd=c._emscripten_bind_ConvexResultCallback_set_m_collisionFilterGroup_1=d._emscripten_bind_ConvexResultCallback_set_m_collisionFilterGroup_1,Dd=c._emscripten_bind_ConvexResultCallback_set_m_collisionFilterMask_1=d._emscripten_bind_ConvexResultCallback_set_m_collisionFilterMask_1,Ed=c._emscripten_bind_LocalConvexResult_LocalConvexResult_5=d._emscripten_bind_LocalConvexResult_LocalConvexResult_5,Fd=c._emscripten_bind_LocalConvexResult___destroy___0=d._emscripten_bind_LocalConvexResult___destroy___0, Gd=c._emscripten_bind_LocalConvexResult_get_m_hitCollisionObject_0=d._emscripten_bind_LocalConvexResult_get_m_hitCollisionObject_0,Hd=c._emscripten_bind_LocalConvexResult_get_m_hitFraction_0=d._emscripten_bind_LocalConvexResult_get_m_hitFraction_0,Id=c._emscripten_bind_LocalConvexResult_get_m_hitNormalLocal_0=d._emscripten_bind_LocalConvexResult_get_m_hitNormalLocal_0,Jd=c._emscripten_bind_LocalConvexResult_get_m_hitPointLocal_0=d._emscripten_bind_LocalConvexResult_get_m_hitPointLocal_0,Kd=c._emscripten_bind_LocalConvexResult_get_m_localShapeInfo_0= d._emscripten_bind_LocalConvexResult_get_m_localShapeInfo_0,Ld=c._emscripten_bind_LocalConvexResult_set_m_hitCollisionObject_1=d._emscripten_bind_LocalConvexResult_set_m_hitCollisionObject_1,Md=c._emscripten_bind_LocalConvexResult_set_m_hitFraction_1=d._emscripten_bind_LocalConvexResult_set_m_hitFraction_1,Nd=c._emscripten_bind_LocalConvexResult_set_m_hitNormalLocal_1=d._emscripten_bind_LocalConvexResult_set_m_hitNormalLocal_1,Od=c._emscripten_bind_LocalConvexResult_set_m_hitPointLocal_1=d._emscripten_bind_LocalConvexResult_set_m_hitPointLocal_1, Pd=c._emscripten_bind_LocalConvexResult_set_m_localShapeInfo_1=d._emscripten_bind_LocalConvexResult_set_m_localShapeInfo_1,Qd=c._emscripten_bind_LocalShapeInfo___destroy___0=d._emscripten_bind_LocalShapeInfo___destroy___0,Rd=c._emscripten_bind_LocalShapeInfo_get_m_shapePart_0=d._emscripten_bind_LocalShapeInfo_get_m_shapePart_0,Sd=c._emscripten_bind_LocalShapeInfo_get_m_triangleIndex_0=d._emscripten_bind_LocalShapeInfo_get_m_triangleIndex_0,Td=c._emscripten_bind_LocalShapeInfo_set_m_shapePart_1=d._emscripten_bind_LocalShapeInfo_set_m_shapePart_1, Ud=c._emscripten_bind_LocalShapeInfo_set_m_triangleIndex_1=d._emscripten_bind_LocalShapeInfo_set_m_triangleIndex_1,Vd=c._emscripten_bind_Material___destroy___0=d._emscripten_bind_Material___destroy___0,Wd=c._emscripten_bind_Material_get_m_flags_0=d._emscripten_bind_Material_get_m_flags_0,Xd=c._emscripten_bind_Material_get_m_kAST_0=d._emscripten_bind_Material_get_m_kAST_0,Yd=c._emscripten_bind_Material_get_m_kLST_0=d._emscripten_bind_Material_get_m_kLST_0,Zd=c._emscripten_bind_Material_get_m_kVST_0= d._emscripten_bind_Material_get_m_kVST_0,$d=c._emscripten_bind_Material_set_m_flags_1=d._emscripten_bind_Material_set_m_flags_1,ae=c._emscripten_bind_Material_set_m_kAST_1=d._emscripten_bind_Material_set_m_kAST_1,be=c._emscripten_bind_Material_set_m_kLST_1=d._emscripten_bind_Material_set_m_kLST_1,ce=c._emscripten_bind_Material_set_m_kVST_1=d._emscripten_bind_Material_set_m_kVST_1,de=c._emscripten_bind_Node___destroy___0=d._emscripten_bind_Node___destroy___0,ee=c._emscripten_bind_Node_get_m_f_0=d._emscripten_bind_Node_get_m_f_0, fe=c._emscripten_bind_Node_get_m_n_0=d._emscripten_bind_Node_get_m_n_0,ge=c._emscripten_bind_Node_get_m_v_0=d._emscripten_bind_Node_get_m_v_0,he=c._emscripten_bind_Node_get_m_x_0=d._emscripten_bind_Node_get_m_x_0,ie=c._emscripten_bind_Node_set_m_f_1=d._emscripten_bind_Node_set_m_f_1,je=c._emscripten_bind_Node_set_m_n_1=d._emscripten_bind_Node_set_m_n_1,ke=c._emscripten_bind_Node_set_m_v_1=d._emscripten_bind_Node_set_m_v_1,le=c._emscripten_bind_Node_set_m_x_1=d._emscripten_bind_Node_set_m_x_1,me=c._emscripten_bind_RayResultCallback___destroy___0= d._emscripten_bind_RayResultCallback___destroy___0,ne=c._emscripten_bind_RayResultCallback_get_m_collisionFilterGroup_0=d._emscripten_bind_RayResultCallback_get_m_collisionFilterGroup_0,oe=c._emscripten_bind_RayResultCallback_get_m_collisionFilterMask_0=d._emscripten_bind_RayResultCallback_get_m_collisionFilterMask_0,pe=c._emscripten_bind_RayResultCallback_get_m_collisionObject_0=d._emscripten_bind_RayResultCallback_get_m_collisionObject_0,qe=c._emscripten_bind_RayResultCallback_hasHit_0=d._emscripten_bind_RayResultCallback_hasHit_0, re=c._emscripten_bind_RayResultCallback_set_m_collisionFilterGroup_1=d._emscripten_bind_RayResultCallback_set_m_collisionFilterGroup_1,se=c._emscripten_bind_RayResultCallback_set_m_collisionFilterMask_1=d._emscripten_bind_RayResultCallback_set_m_collisionFilterMask_1,te=c._emscripten_bind_RayResultCallback_set_m_collisionObject_1=d._emscripten_bind_RayResultCallback_set_m_collisionObject_1,ue=c._emscripten_bind_RaycastInfo___destroy___0=d._emscripten_bind_RaycastInfo___destroy___0,ve=c._emscripten_bind_RaycastInfo_get_m_contactNormalWS_0= d._emscripten_bind_RaycastInfo_get_m_contactNormalWS_0,we=c._emscripten_bind_RaycastInfo_get_m_contactPointWS_0=d._emscripten_bind_RaycastInfo_get_m_contactPointWS_0,xe=c._emscripten_bind_RaycastInfo_get_m_groundObject_0=d._emscripten_bind_RaycastInfo_get_m_groundObject_0,ye=c._emscripten_bind_RaycastInfo_get_m_hardPointWS_0=d._emscripten_bind_RaycastInfo_get_m_hardPointWS_0,ze=c._emscripten_bind_RaycastInfo_get_m_isInContact_0=d._emscripten_bind_RaycastInfo_get_m_isInContact_0,Ae=c._emscripten_bind_RaycastInfo_get_m_suspensionLength_0= d._emscripten_bind_RaycastInfo_get_m_suspensionLength_0,Be=c._emscripten_bind_RaycastInfo_get_m_wheelAxleWS_0=d._emscripten_bind_RaycastInfo_get_m_wheelAxleWS_0,Ce=c._emscripten_bind_RaycastInfo_get_m_wheelDirectionWS_0=d._emscripten_bind_RaycastInfo_get_m_wheelDirectionWS_0,De=c._emscripten_bind_RaycastInfo_set_m_contactNormalWS_1=d._emscripten_bind_RaycastInfo_set_m_contactNormalWS_1,Ee=c._emscripten_bind_RaycastInfo_set_m_contactPointWS_1=d._emscripten_bind_RaycastInfo_set_m_contactPointWS_1,Fe= c._emscripten_bind_RaycastInfo_set_m_groundObject_1=d._emscripten_bind_RaycastInfo_set_m_groundObject_1,Ge=c._emscripten_bind_RaycastInfo_set_m_hardPointWS_1=d._emscripten_bind_RaycastInfo_set_m_hardPointWS_1,He=c._emscripten_bind_RaycastInfo_set_m_isInContact_1=d._emscripten_bind_RaycastInfo_set_m_isInContact_1,Ie=c._emscripten_bind_RaycastInfo_set_m_suspensionLength_1=d._emscripten_bind_RaycastInfo_set_m_suspensionLength_1,Je=c._emscripten_bind_RaycastInfo_set_m_wheelAxleWS_1=d._emscripten_bind_RaycastInfo_set_m_wheelAxleWS_1, Ke=c._emscripten_bind_RaycastInfo_set_m_wheelDirectionWS_1=d._emscripten_bind_RaycastInfo_set_m_wheelDirectionWS_1,Le=c._emscripten_bind_VoidPtr___destroy___0=d._emscripten_bind_VoidPtr___destroy___0,Me=c._emscripten_bind_btActionInterface___destroy___0=d._emscripten_bind_btActionInterface___destroy___0,Ne=c._emscripten_bind_btActionInterface_updateAction_2=d._emscripten_bind_btActionInterface_updateAction_2,Oe=c._emscripten_bind_btAxisSweep3___destroy___0=d._emscripten_bind_btAxisSweep3___destroy___0, Pe=c._emscripten_bind_btAxisSweep3_btAxisSweep3_2=d._emscripten_bind_btAxisSweep3_btAxisSweep3_2,Qe=c._emscripten_bind_btAxisSweep3_btAxisSweep3_3=d._emscripten_bind_btAxisSweep3_btAxisSweep3_3,Re=c._emscripten_bind_btAxisSweep3_btAxisSweep3_4=d._emscripten_bind_btAxisSweep3_btAxisSweep3_4,Se=c._emscripten_bind_btAxisSweep3_btAxisSweep3_5=d._emscripten_bind_btAxisSweep3_btAxisSweep3_5,Te=c._emscripten_bind_btBoxShape___destroy___0=d._emscripten_bind_btBoxShape___destroy___0,Ue=c._emscripten_bind_btBoxShape_btBoxShape_1= d._emscripten_bind_btBoxShape_btBoxShape_1,Ve=c._emscripten_bind_btBoxShape_calculateLocalInertia_2=d._emscripten_bind_btBoxShape_calculateLocalInertia_2,We=c._emscripten_bind_btBoxShape_getLocalScaling_0=d._emscripten_bind_btBoxShape_getLocalScaling_0,Xe=c._emscripten_bind_btBoxShape_getMargin_0=d._emscripten_bind_btBoxShape_getMargin_0,Ye=c._emscripten_bind_btBoxShape_setLocalScaling_1=d._emscripten_bind_btBoxShape_setLocalScaling_1,Ze=c._emscripten_bind_btBoxShape_setMargin_1=d._emscripten_bind_btBoxShape_setMargin_1, $e=c._emscripten_bind_btBroadphaseInterface___destroy___0=d._emscripten_bind_btBroadphaseInterface___destroy___0,af=c._emscripten_bind_btBvhTriangleMeshShape___destroy___0=d._emscripten_bind_btBvhTriangleMeshShape___destroy___0,bf=c._emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_2=d._emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_2,cf=c._emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_3=d._emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_3, df=c._emscripten_bind_btBvhTriangleMeshShape_calculateLocalInertia_2=d._emscripten_bind_btBvhTriangleMeshShape_calculateLocalInertia_2,ef=c._emscripten_bind_btBvhTriangleMeshShape_getLocalScaling_0=d._emscripten_bind_btBvhTriangleMeshShape_getLocalScaling_0,ff=c._emscripten_bind_btBvhTriangleMeshShape_setLocalScaling_1=d._emscripten_bind_btBvhTriangleMeshShape_setLocalScaling_1,gf=c._emscripten_bind_btCapsuleShapeX___destroy___0=d._emscripten_bind_btCapsuleShapeX___destroy___0,hf=c._emscripten_bind_btCapsuleShapeX_btCapsuleShapeX_2= d._emscripten_bind_btCapsuleShapeX_btCapsuleShapeX_2,jf=c._emscripten_bind_btCapsuleShapeX_calculateLocalInertia_2=d._emscripten_bind_btCapsuleShapeX_calculateLocalInertia_2,kf=c._emscripten_bind_btCapsuleShapeX_getHalfHeight_0=d._emscripten_bind_btCapsuleShapeX_getHalfHeight_0,lf=c._emscripten_bind_btCapsuleShapeX_getLocalScaling_0=d._emscripten_bind_btCapsuleShapeX_getLocalScaling_0,mf=c._emscripten_bind_btCapsuleShapeX_getMargin_0=d._emscripten_bind_btCapsuleShapeX_getMargin_0,nf=c._emscripten_bind_btCapsuleShapeX_getRadius_0= d._emscripten_bind_btCapsuleShapeX_getRadius_0,of=c._emscripten_bind_btCapsuleShapeX_getUpAxis_0=d._emscripten_bind_btCapsuleShapeX_getUpAxis_0,pf=c._emscripten_bind_btCapsuleShapeX_setLocalScaling_1=d._emscripten_bind_btCapsuleShapeX_setLocalScaling_1,qf=c._emscripten_bind_btCapsuleShapeX_setMargin_1=d._emscripten_bind_btCapsuleShapeX_setMargin_1,rf=c._emscripten_bind_btCapsuleShapeZ___destroy___0=d._emscripten_bind_btCapsuleShapeZ___destroy___0,sf=c._emscripten_bind_btCapsuleShapeZ_btCapsuleShapeZ_2= d._emscripten_bind_btCapsuleShapeZ_btCapsuleShapeZ_2,tf=c._emscripten_bind_btCapsuleShapeZ_calculateLocalInertia_2=d._emscripten_bind_btCapsuleShapeZ_calculateLocalInertia_2,uf=c._emscripten_bind_btCapsuleShapeZ_getHalfHeight_0=d._emscripten_bind_btCapsuleShapeZ_getHalfHeight_0,vf=c._emscripten_bind_btCapsuleShapeZ_getLocalScaling_0=d._emscripten_bind_btCapsuleShapeZ_getLocalScaling_0,wf=c._emscripten_bind_btCapsuleShapeZ_getMargin_0=d._emscripten_bind_btCapsuleShapeZ_getMargin_0,xf=c._emscripten_bind_btCapsuleShapeZ_getRadius_0= d._emscripten_bind_btCapsuleShapeZ_getRadius_0,yf=c._emscripten_bind_btCapsuleShapeZ_getUpAxis_0=d._emscripten_bind_btCapsuleShapeZ_getUpAxis_0,zf=c._emscripten_bind_btCapsuleShapeZ_setLocalScaling_1=d._emscripten_bind_btCapsuleShapeZ_setLocalScaling_1,Af=c._emscripten_bind_btCapsuleShapeZ_setMargin_1=d._emscripten_bind_btCapsuleShapeZ_setMargin_1,Bf=c._emscripten_bind_btCapsuleShape___destroy___0=d._emscripten_bind_btCapsuleShape___destroy___0,Cf=c._emscripten_bind_btCapsuleShape_btCapsuleShape_2= d._emscripten_bind_btCapsuleShape_btCapsuleShape_2,Df=c._emscripten_bind_btCapsuleShape_calculateLocalInertia_2=d._emscripten_bind_btCapsuleShape_calculateLocalInertia_2,Ef=c._emscripten_bind_btCapsuleShape_getHalfHeight_0=d._emscripten_bind_btCapsuleShape_getHalfHeight_0,Ff=c._emscripten_bind_btCapsuleShape_getLocalScaling_0=d._emscripten_bind_btCapsuleShape_getLocalScaling_0,Gf=c._emscripten_bind_btCapsuleShape_getMargin_0=d._emscripten_bind_btCapsuleShape_getMargin_0,Hf=c._emscripten_bind_btCapsuleShape_getRadius_0= d._emscripten_bind_btCapsuleShape_getRadius_0,If=c._emscripten_bind_btCapsuleShape_getUpAxis_0=d._emscripten_bind_btCapsuleShape_getUpAxis_0,Jf=c._emscripten_bind_btCapsuleShape_setLocalScaling_1=d._emscripten_bind_btCapsuleShape_setLocalScaling_1,Kf=c._emscripten_bind_btCapsuleShape_setMargin_1=d._emscripten_bind_btCapsuleShape_setMargin_1,Lf=c._emscripten_bind_btCollisionConfiguration___destroy___0=d._emscripten_bind_btCollisionConfiguration___destroy___0,Mf=c._emscripten_bind_btCollisionDispatcher___destroy___0= d._emscripten_bind_btCollisionDispatcher___destroy___0,Nf=c._emscripten_bind_btCollisionDispatcher_btCollisionDispatcher_1=d._emscripten_bind_btCollisionDispatcher_btCollisionDispatcher_1,Of=c._emscripten_bind_btCollisionDispatcher_getManifoldByIndexInternal_1=d._emscripten_bind_btCollisionDispatcher_getManifoldByIndexInternal_1,Pf=c._emscripten_bind_btCollisionDispatcher_getNumManifolds_0=d._emscripten_bind_btCollisionDispatcher_getNumManifolds_0,Qf=c._emscripten_bind_btCollisionObject___destroy___0= d._emscripten_bind_btCollisionObject___destroy___0,Rf=c._emscripten_bind_btCollisionObject_activate_0=d._emscripten_bind_btCollisionObject_activate_0,Sf=c._emscripten_bind_btCollisionObject_activate_1=d._emscripten_bind_btCollisionObject_activate_1,Tf=c._emscripten_bind_btCollisionObject_forceActivationState_1=d._emscripten_bind_btCollisionObject_forceActivationState_1,Uf=c._emscripten_bind_btCollisionObject_getCollisionFlags_0=d._emscripten_bind_btCollisionObject_getCollisionFlags_0,Vf=c._emscripten_bind_btCollisionObject_getCollisionShape_0= d._emscripten_bind_btCollisionObject_getCollisionShape_0,Wf=c._emscripten_bind_btCollisionObject_getUserIndex_0=d._emscripten_bind_btCollisionObject_getUserIndex_0,Xf=c._emscripten_bind_btCollisionObject_getUserPointer_0=d._emscripten_bind_btCollisionObject_getUserPointer_0,Yf=c._emscripten_bind_btCollisionObject_getWorldTransform_0=d._emscripten_bind_btCollisionObject_getWorldTransform_0,Zf=c._emscripten_bind_btCollisionObject_isActive_0=d._emscripten_bind_btCollisionObject_isActive_0,$f=c._emscripten_bind_btCollisionObject_isKinematicObject_0= d._emscripten_bind_btCollisionObject_isKinematicObject_0,ag=c._emscripten_bind_btCollisionObject_isStaticObject_0=d._emscripten_bind_btCollisionObject_isStaticObject_0,bg=c._emscripten_bind_btCollisionObject_isStaticOrKinematicObject_0=d._emscripten_bind_btCollisionObject_isStaticOrKinematicObject_0,cg=c._emscripten_bind_btCollisionObject_setActivationState_1=d._emscripten_bind_btCollisionObject_setActivationState_1,dg=c._emscripten_bind_btCollisionObject_setAnisotropicFriction_2=d._emscripten_bind_btCollisionObject_setAnisotropicFriction_2, eg=c._emscripten_bind_btCollisionObject_setCcdMotionThreshold_1=d._emscripten_bind_btCollisionObject_setCcdMotionThreshold_1,fg=c._emscripten_bind_btCollisionObject_setCcdSweptSphereRadius_1=d._emscripten_bind_btCollisionObject_setCcdSweptSphereRadius_1,gg=c._emscripten_bind_btCollisionObject_setCollisionFlags_1=d._emscripten_bind_btCollisionObject_setCollisionFlags_1,hg=c._emscripten_bind_btCollisionObject_setCollisionShape_1=d._emscripten_bind_btCollisionObject_setCollisionShape_1,ig=c._emscripten_bind_btCollisionObject_setContactProcessingThreshold_1= d._emscripten_bind_btCollisionObject_setContactProcessingThreshold_1,jg=c._emscripten_bind_btCollisionObject_setFriction_1=d._emscripten_bind_btCollisionObject_setFriction_1,kg=c._emscripten_bind_btCollisionObject_setRestitution_1=d._emscripten_bind_btCollisionObject_setRestitution_1,lg=c._emscripten_bind_btCollisionObject_setRollingFriction_1=d._emscripten_bind_btCollisionObject_setRollingFriction_1,mg=c._emscripten_bind_btCollisionObject_setUserIndex_1=d._emscripten_bind_btCollisionObject_setUserIndex_1, ng=c._emscripten_bind_btCollisionObject_setUserPointer_1=d._emscripten_bind_btCollisionObject_setUserPointer_1,og=c._emscripten_bind_btCollisionObject_setWorldTransform_1=d._emscripten_bind_btCollisionObject_setWorldTransform_1,pg=c._emscripten_bind_btCollisionShape___destroy___0=d._emscripten_bind_btCollisionShape___destroy___0,qg=c._emscripten_bind_btCollisionShape_calculateLocalInertia_2=d._emscripten_bind_btCollisionShape_calculateLocalInertia_2,rg=c._emscripten_bind_btCollisionShape_getLocalScaling_0= d._emscripten_bind_btCollisionShape_getLocalScaling_0,sg=c._emscripten_bind_btCollisionShape_getMargin_0=d._emscripten_bind_btCollisionShape_getMargin_0,tg=c._emscripten_bind_btCollisionShape_setLocalScaling_1=d._emscripten_bind_btCollisionShape_setLocalScaling_1,ug=c._emscripten_bind_btCollisionShape_setMargin_1=d._emscripten_bind_btCollisionShape_setMargin_1,vg=c._emscripten_bind_btCollisionWorld___destroy___0=d._emscripten_bind_btCollisionWorld___destroy___0,wg=c._emscripten_bind_btCollisionWorld_addCollisionObject_1= d._emscripten_bind_btCollisionWorld_addCollisionObject_1,xg=c._emscripten_bind_btCollisionWorld_addCollisionObject_2=d._emscripten_bind_btCollisionWorld_addCollisionObject_2,yg=c._emscripten_bind_btCollisionWorld_addCollisionObject_3=d._emscripten_bind_btCollisionWorld_addCollisionObject_3,zg=c._emscripten_bind_btCollisionWorld_contactPairTest_3=d._emscripten_bind_btCollisionWorld_contactPairTest_3,Ag=c._emscripten_bind_btCollisionWorld_contactTest_2=d._emscripten_bind_btCollisionWorld_contactTest_2, Bg=c._emscripten_bind_btCollisionWorld_convexSweepTest_5=d._emscripten_bind_btCollisionWorld_convexSweepTest_5,Cg=c._emscripten_bind_btCollisionWorld_getBroadphase_0=d._emscripten_bind_btCollisionWorld_getBroadphase_0,Dg=c._emscripten_bind_btCollisionWorld_getDispatchInfo_0=d._emscripten_bind_btCollisionWorld_getDispatchInfo_0,Eg=c._emscripten_bind_btCollisionWorld_getDispatcher_0=d._emscripten_bind_btCollisionWorld_getDispatcher_0,Fg=c._emscripten_bind_btCollisionWorld_getPairCache_0=d._emscripten_bind_btCollisionWorld_getPairCache_0, Gg=c._emscripten_bind_btCollisionWorld_rayTest_3=d._emscripten_bind_btCollisionWorld_rayTest_3,Hg=c._emscripten_bind_btCollisionWorld_removeCollisionObject_1=d._emscripten_bind_btCollisionWorld_removeCollisionObject_1,Ig=c._emscripten_bind_btCollisionWorld_updateSingleAabb_1=d._emscripten_bind_btCollisionWorld_updateSingleAabb_1,Jg=c._emscripten_bind_btCompoundShape___destroy___0=d._emscripten_bind_btCompoundShape___destroy___0,Kg=c._emscripten_bind_btCompoundShape_addChildShape_2=d._emscripten_bind_btCompoundShape_addChildShape_2, Lg=c._emscripten_bind_btCompoundShape_btCompoundShape_0=d._emscripten_bind_btCompoundShape_btCompoundShape_0,Mg=c._emscripten_bind_btCompoundShape_btCompoundShape_1=d._emscripten_bind_btCompoundShape_btCompoundShape_1,Ng=c._emscripten_bind_btCompoundShape_calculateLocalInertia_2=d._emscripten_bind_btCompoundShape_calculateLocalInertia_2,Og=c._emscripten_bind_btCompoundShape_getChildShape_1=d._emscripten_bind_btCompoundShape_getChildShape_1,Pg=c._emscripten_bind_btCompoundShape_getLocalScaling_0=d._emscripten_bind_btCompoundShape_getLocalScaling_0, Qg=c._emscripten_bind_btCompoundShape_getMargin_0=d._emscripten_bind_btCompoundShape_getMargin_0,Rg=c._emscripten_bind_btCompoundShape_getNumChildShapes_0=d._emscripten_bind_btCompoundShape_getNumChildShapes_0,Sg=c._emscripten_bind_btCompoundShape_removeChildShapeByIndex_1=d._emscripten_bind_btCompoundShape_removeChildShapeByIndex_1,Tg=c._emscripten_bind_btCompoundShape_setLocalScaling_1=d._emscripten_bind_btCompoundShape_setLocalScaling_1,Ug=c._emscripten_bind_btCompoundShape_setMargin_1=d._emscripten_bind_btCompoundShape_setMargin_1, Vg=c._emscripten_bind_btConcaveShape___destroy___0=d._emscripten_bind_btConcaveShape___destroy___0,Wg=c._emscripten_bind_btConcaveShape_calculateLocalInertia_2=d._emscripten_bind_btConcaveShape_calculateLocalInertia_2,Xg=c._emscripten_bind_btConcaveShape_getLocalScaling_0=d._emscripten_bind_btConcaveShape_getLocalScaling_0,Yg=c._emscripten_bind_btConcaveShape_setLocalScaling_1=d._emscripten_bind_btConcaveShape_setLocalScaling_1,Zg=c._emscripten_bind_btConeShapeX___destroy___0=d._emscripten_bind_btConeShapeX___destroy___0, $g=c._emscripten_bind_btConeShapeX_btConeShapeX_2=d._emscripten_bind_btConeShapeX_btConeShapeX_2,ah=c._emscripten_bind_btConeShapeX_calculateLocalInertia_2=d._emscripten_bind_btConeShapeX_calculateLocalInertia_2,bh=c._emscripten_bind_btConeShapeX_getLocalScaling_0=d._emscripten_bind_btConeShapeX_getLocalScaling_0,ch=c._emscripten_bind_btConeShapeX_setLocalScaling_1=d._emscripten_bind_btConeShapeX_setLocalScaling_1,dh=c._emscripten_bind_btConeShapeZ___destroy___0=d._emscripten_bind_btConeShapeZ___destroy___0, eh=c._emscripten_bind_btConeShapeZ_btConeShapeZ_2=d._emscripten_bind_btConeShapeZ_btConeShapeZ_2,fh=c._emscripten_bind_btConeShapeZ_calculateLocalInertia_2=d._emscripten_bind_btConeShapeZ_calculateLocalInertia_2,gh=c._emscripten_bind_btConeShapeZ_getLocalScaling_0=d._emscripten_bind_btConeShapeZ_getLocalScaling_0,hh=c._emscripten_bind_btConeShapeZ_setLocalScaling_1=d._emscripten_bind_btConeShapeZ_setLocalScaling_1,ih=c._emscripten_bind_btConeShape___destroy___0=d._emscripten_bind_btConeShape___destroy___0, jh=c._emscripten_bind_btConeShape_btConeShape_2=d._emscripten_bind_btConeShape_btConeShape_2,kh=c._emscripten_bind_btConeShape_calculateLocalInertia_2=d._emscripten_bind_btConeShape_calculateLocalInertia_2,lh=c._emscripten_bind_btConeShape_getLocalScaling_0=d._emscripten_bind_btConeShape_getLocalScaling_0,mh=c._emscripten_bind_btConeShape_setLocalScaling_1=d._emscripten_bind_btConeShape_setLocalScaling_1,nh=c._emscripten_bind_btConeTwistConstraint___destroy___0=d._emscripten_bind_btConeTwistConstraint___destroy___0, oh=c._emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_2=d._emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_2,ph=c._emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_4=d._emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_4,qh=c._emscripten_bind_btConeTwistConstraint_enableFeedback_1=d._emscripten_bind_btConeTwistConstraint_enableFeedback_1,rh=c._emscripten_bind_btConeTwistConstraint_enableMotor_1=d._emscripten_bind_btConeTwistConstraint_enableMotor_1,sh= c._emscripten_bind_btConeTwistConstraint_getBreakingImpulseThreshold_0=d._emscripten_bind_btConeTwistConstraint_getBreakingImpulseThreshold_0,th=c._emscripten_bind_btConeTwistConstraint_getParam_2=d._emscripten_bind_btConeTwistConstraint_getParam_2,uh=c._emscripten_bind_btConeTwistConstraint_setAngularOnly_1=d._emscripten_bind_btConeTwistConstraint_setAngularOnly_1,vh=c._emscripten_bind_btConeTwistConstraint_setBreakingImpulseThreshold_1=d._emscripten_bind_btConeTwistConstraint_setBreakingImpulseThreshold_1, wh=c._emscripten_bind_btConeTwistConstraint_setDamping_1=d._emscripten_bind_btConeTwistConstraint_setDamping_1,xh=c._emscripten_bind_btConeTwistConstraint_setLimit_2=d._emscripten_bind_btConeTwistConstraint_setLimit_2,yh=c._emscripten_bind_btConeTwistConstraint_setMaxMotorImpulseNormalized_1=d._emscripten_bind_btConeTwistConstraint_setMaxMotorImpulseNormalized_1,zh=c._emscripten_bind_btConeTwistConstraint_setMaxMotorImpulse_1=d._emscripten_bind_btConeTwistConstraint_setMaxMotorImpulse_1,Ah=c._emscripten_bind_btConeTwistConstraint_setMotorTargetInConstraintSpace_1= d._emscripten_bind_btConeTwistConstraint_setMotorTargetInConstraintSpace_1,Bh=c._emscripten_bind_btConeTwistConstraint_setMotorTarget_1=d._emscripten_bind_btConeTwistConstraint_setMotorTarget_1,Ch=c._emscripten_bind_btConeTwistConstraint_setParam_3=d._emscripten_bind_btConeTwistConstraint_setParam_3,Dh=c._emscripten_bind_btConstraintSetting___destroy___0=d._emscripten_bind_btConstraintSetting___destroy___0,Eh=c._emscripten_bind_btConstraintSetting_btConstraintSetting_0=d._emscripten_bind_btConstraintSetting_btConstraintSetting_0, Fh=c._emscripten_bind_btConstraintSetting_get_m_damping_0=d._emscripten_bind_btConstraintSetting_get_m_damping_0,Gh=c._emscripten_bind_btConstraintSetting_get_m_impulseClamp_0=d._emscripten_bind_btConstraintSetting_get_m_impulseClamp_0,Hh=c._emscripten_bind_btConstraintSetting_get_m_tau_0=d._emscripten_bind_btConstraintSetting_get_m_tau_0,Ih=c._emscripten_bind_btConstraintSetting_set_m_damping_1=d._emscripten_bind_btConstraintSetting_set_m_damping_1,Jh=c._emscripten_bind_btConstraintSetting_set_m_impulseClamp_1= d._emscripten_bind_btConstraintSetting_set_m_impulseClamp_1,Kh=c._emscripten_bind_btConstraintSetting_set_m_tau_1=d._emscripten_bind_btConstraintSetting_set_m_tau_1,Lh=c._emscripten_bind_btConstraintSolver___destroy___0=d._emscripten_bind_btConstraintSolver___destroy___0,Mh=c._emscripten_bind_btContactSolverInfo___destroy___0=d._emscripten_bind_btContactSolverInfo___destroy___0,Nh=c._emscripten_bind_btContactSolverInfo_get_m_numIterations_0=d._emscripten_bind_btContactSolverInfo_get_m_numIterations_0, Oh=c._emscripten_bind_btContactSolverInfo_get_m_splitImpulsePenetrationThreshold_0=d._emscripten_bind_btContactSolverInfo_get_m_splitImpulsePenetrationThreshold_0,Ph=c._emscripten_bind_btContactSolverInfo_get_m_splitImpulse_0=d._emscripten_bind_btContactSolverInfo_get_m_splitImpulse_0,Qh=c._emscripten_bind_btContactSolverInfo_set_m_numIterations_1=d._emscripten_bind_btContactSolverInfo_set_m_numIterations_1,Rh=c._emscripten_bind_btContactSolverInfo_set_m_splitImpulsePenetrationThreshold_1=d._emscripten_bind_btContactSolverInfo_set_m_splitImpulsePenetrationThreshold_1, Sh=c._emscripten_bind_btContactSolverInfo_set_m_splitImpulse_1=d._emscripten_bind_btContactSolverInfo_set_m_splitImpulse_1,Th=c._emscripten_bind_btConvexHullShape___destroy___0=d._emscripten_bind_btConvexHullShape___destroy___0,Uh=c._emscripten_bind_btConvexHullShape_addPoint_1=d._emscripten_bind_btConvexHullShape_addPoint_1,Vh=c._emscripten_bind_btConvexHullShape_addPoint_2=d._emscripten_bind_btConvexHullShape_addPoint_2,Wh=c._emscripten_bind_btConvexHullShape_btConvexHullShape_0=d._emscripten_bind_btConvexHullShape_btConvexHullShape_0, Xh=c._emscripten_bind_btConvexHullShape_calculateLocalInertia_2=d._emscripten_bind_btConvexHullShape_calculateLocalInertia_2,Yh=c._emscripten_bind_btConvexHullShape_getLocalScaling_0=d._emscripten_bind_btConvexHullShape_getLocalScaling_0,Zh=c._emscripten_bind_btConvexHullShape_getMargin_0=d._emscripten_bind_btConvexHullShape_getMargin_0,$h=c._emscripten_bind_btConvexHullShape_setLocalScaling_1=d._emscripten_bind_btConvexHullShape_setLocalScaling_1,ai=c._emscripten_bind_btConvexHullShape_setMargin_1= d._emscripten_bind_btConvexHullShape_setMargin_1,bi=c._emscripten_bind_btConvexShape___destroy___0=d._emscripten_bind_btConvexShape___destroy___0,ci=c._emscripten_bind_btConvexShape_calculateLocalInertia_2=d._emscripten_bind_btConvexShape_calculateLocalInertia_2,di=c._emscripten_bind_btConvexShape_getLocalScaling_0=d._emscripten_bind_btConvexShape_getLocalScaling_0,ei=c._emscripten_bind_btConvexShape_getMargin_0=d._emscripten_bind_btConvexShape_getMargin_0,fi=c._emscripten_bind_btConvexShape_setLocalScaling_1= d._emscripten_bind_btConvexShape_setLocalScaling_1,gi=c._emscripten_bind_btConvexShape_setMargin_1=d._emscripten_bind_btConvexShape_setMargin_1,hi=c._emscripten_bind_btConvexTriangleMeshShape___destroy___0=d._emscripten_bind_btConvexTriangleMeshShape___destroy___0,ii=c._emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_1=d._emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_1,ji=c._emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_2=d._emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_2, ki=c._emscripten_bind_btConvexTriangleMeshShape_calculateLocalInertia_2=d._emscripten_bind_btConvexTriangleMeshShape_calculateLocalInertia_2,li=c._emscripten_bind_btConvexTriangleMeshShape_getLocalScaling_0=d._emscripten_bind_btConvexTriangleMeshShape_getLocalScaling_0,mi=c._emscripten_bind_btConvexTriangleMeshShape_getMargin_0=d._emscripten_bind_btConvexTriangleMeshShape_getMargin_0,ni=c._emscripten_bind_btConvexTriangleMeshShape_setLocalScaling_1=d._emscripten_bind_btConvexTriangleMeshShape_setLocalScaling_1, oi=c._emscripten_bind_btConvexTriangleMeshShape_setMargin_1=d._emscripten_bind_btConvexTriangleMeshShape_setMargin_1,pi=c._emscripten_bind_btCylinderShapeX___destroy___0=d._emscripten_bind_btCylinderShapeX___destroy___0,qi=c._emscripten_bind_btCylinderShapeX_btCylinderShapeX_1=d._emscripten_bind_btCylinderShapeX_btCylinderShapeX_1,ri=c._emscripten_bind_btCylinderShapeX_calculateLocalInertia_2=d._emscripten_bind_btCylinderShapeX_calculateLocalInertia_2,si=c._emscripten_bind_btCylinderShapeX_getLocalScaling_0= d._emscripten_bind_btCylinderShapeX_getLocalScaling_0,ti=c._emscripten_bind_btCylinderShapeX_getMargin_0=d._emscripten_bind_btCylinderShapeX_getMargin_0,ui=c._emscripten_bind_btCylinderShapeX_setLocalScaling_1=d._emscripten_bind_btCylinderShapeX_setLocalScaling_1,vi=c._emscripten_bind_btCylinderShapeX_setMargin_1=d._emscripten_bind_btCylinderShapeX_setMargin_1,wi=c._emscripten_bind_btCylinderShapeZ___destroy___0=d._emscripten_bind_btCylinderShapeZ___destroy___0,xi=c._emscripten_bind_btCylinderShapeZ_btCylinderShapeZ_1= d._emscripten_bind_btCylinderShapeZ_btCylinderShapeZ_1,yi=c._emscripten_bind_btCylinderShapeZ_calculateLocalInertia_2=d._emscripten_bind_btCylinderShapeZ_calculateLocalInertia_2,zi=c._emscripten_bind_btCylinderShapeZ_getLocalScaling_0=d._emscripten_bind_btCylinderShapeZ_getLocalScaling_0,Ai=c._emscripten_bind_btCylinderShapeZ_getMargin_0=d._emscripten_bind_btCylinderShapeZ_getMargin_0,Bi=c._emscripten_bind_btCylinderShapeZ_setLocalScaling_1=d._emscripten_bind_btCylinderShapeZ_setLocalScaling_1,Ci= c._emscripten_bind_btCylinderShapeZ_setMargin_1=d._emscripten_bind_btCylinderShapeZ_setMargin_1,Di=c._emscripten_bind_btCylinderShape___destroy___0=d._emscripten_bind_btCylinderShape___destroy___0,Ei=c._emscripten_bind_btCylinderShape_btCylinderShape_1=d._emscripten_bind_btCylinderShape_btCylinderShape_1,Fi=c._emscripten_bind_btCylinderShape_calculateLocalInertia_2=d._emscripten_bind_btCylinderShape_calculateLocalInertia_2,Gi=c._emscripten_bind_btCylinderShape_getLocalScaling_0=d._emscripten_bind_btCylinderShape_getLocalScaling_0, Hi=c._emscripten_bind_btCylinderShape_getMargin_0=d._emscripten_bind_btCylinderShape_getMargin_0,Ii=c._emscripten_bind_btCylinderShape_setLocalScaling_1=d._emscripten_bind_btCylinderShape_setLocalScaling_1,Ji=c._emscripten_bind_btCylinderShape_setMargin_1=d._emscripten_bind_btCylinderShape_setMargin_1,Ki=c._emscripten_bind_btDbvtBroadphase___destroy___0=d._emscripten_bind_btDbvtBroadphase___destroy___0,Li=c._emscripten_bind_btDbvtBroadphase_btDbvtBroadphase_0=d._emscripten_bind_btDbvtBroadphase_btDbvtBroadphase_0, Mi=c._emscripten_bind_btDefaultCollisionConfiguration___destroy___0=d._emscripten_bind_btDefaultCollisionConfiguration___destroy___0,Ni=c._emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_0=d._emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_0,Oi=c._emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_1=d._emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_1,Pi=c._emscripten_bind_btDefaultCollisionConstructionInfo___destroy___0= d._emscripten_bind_btDefaultCollisionConstructionInfo___destroy___0,Qi=c._emscripten_bind_btDefaultCollisionConstructionInfo_btDefaultCollisionConstructionInfo_0=d._emscripten_bind_btDefaultCollisionConstructionInfo_btDefaultCollisionConstructionInfo_0,Ri=c._emscripten_bind_btDefaultMotionState___destroy___0=d._emscripten_bind_btDefaultMotionState___destroy___0,Si=c._emscripten_bind_btDefaultMotionState_btDefaultMotionState_0=d._emscripten_bind_btDefaultMotionState_btDefaultMotionState_0,Ti=c._emscripten_bind_btDefaultMotionState_btDefaultMotionState_1= d._emscripten_bind_btDefaultMotionState_btDefaultMotionState_1,Ui=c._emscripten_bind_btDefaultMotionState_btDefaultMotionState_2=d._emscripten_bind_btDefaultMotionState_btDefaultMotionState_2,Vi=c._emscripten_bind_btDefaultMotionState_getWorldTransform_1=d._emscripten_bind_btDefaultMotionState_getWorldTransform_1,Wi=c._emscripten_bind_btDefaultMotionState_get_m_graphicsWorldTrans_0=d._emscripten_bind_btDefaultMotionState_get_m_graphicsWorldTrans_0,Xi=c._emscripten_bind_btDefaultMotionState_setWorldTransform_1= d._emscripten_bind_btDefaultMotionState_setWorldTransform_1,Yi=c._emscripten_bind_btDefaultMotionState_set_m_graphicsWorldTrans_1=d._emscripten_bind_btDefaultMotionState_set_m_graphicsWorldTrans_1,Zi=c._emscripten_bind_btDefaultSoftBodySolver___destroy___0=d._emscripten_bind_btDefaultSoftBodySolver___destroy___0,$i=c._emscripten_bind_btDefaultSoftBodySolver_btDefaultSoftBodySolver_0=d._emscripten_bind_btDefaultSoftBodySolver_btDefaultSoftBodySolver_0,aj=c._emscripten_bind_btDefaultVehicleRaycaster___destroy___0= d._emscripten_bind_btDefaultVehicleRaycaster___destroy___0,bj=c._emscripten_bind_btDefaultVehicleRaycaster_btDefaultVehicleRaycaster_1=d._emscripten_bind_btDefaultVehicleRaycaster_btDefaultVehicleRaycaster_1,cj=c._emscripten_bind_btDefaultVehicleRaycaster_castRay_3=d._emscripten_bind_btDefaultVehicleRaycaster_castRay_3,dj=c._emscripten_bind_btDiscreteDynamicsWorld___destroy___0=d._emscripten_bind_btDiscreteDynamicsWorld___destroy___0,ej=c._emscripten_bind_btDiscreteDynamicsWorld_addAction_1=d._emscripten_bind_btDiscreteDynamicsWorld_addAction_1, fj=c._emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_1=d._emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_1,gj=c._emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_2=d._emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_2,hj=c._emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_3=d._emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_3,ij=c._emscripten_bind_btDiscreteDynamicsWorld_addConstraint_1=d._emscripten_bind_btDiscreteDynamicsWorld_addConstraint_1, jj=c._emscripten_bind_btDiscreteDynamicsWorld_addConstraint_2=d._emscripten_bind_btDiscreteDynamicsWorld_addConstraint_2,kj=c._emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_1=d._emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_1,lj=c._emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_3=d._emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_3,mj=c._emscripten_bind_btDiscreteDynamicsWorld_btDiscreteDynamicsWorld_4=d._emscripten_bind_btDiscreteDynamicsWorld_btDiscreteDynamicsWorld_4,nj= c._emscripten_bind_btDiscreteDynamicsWorld_contactPairTest_3=d._emscripten_bind_btDiscreteDynamicsWorld_contactPairTest_3,oj=c._emscripten_bind_btDiscreteDynamicsWorld_contactTest_2=d._emscripten_bind_btDiscreteDynamicsWorld_contactTest_2,pj=c._emscripten_bind_btDiscreteDynamicsWorld_convexSweepTest_5=d._emscripten_bind_btDiscreteDynamicsWorld_convexSweepTest_5,qj=c._emscripten_bind_btDiscreteDynamicsWorld_getBroadphase_0=d._emscripten_bind_btDiscreteDynamicsWorld_getBroadphase_0,rj=c._emscripten_bind_btDiscreteDynamicsWorld_getDispatchInfo_0= d._emscripten_bind_btDiscreteDynamicsWorld_getDispatchInfo_0,sj=c._emscripten_bind_btDiscreteDynamicsWorld_getDispatcher_0=d._emscripten_bind_btDiscreteDynamicsWorld_getDispatcher_0,tj=c._emscripten_bind_btDiscreteDynamicsWorld_getGravity_0=d._emscripten_bind_btDiscreteDynamicsWorld_getGravity_0,uj=c._emscripten_bind_btDiscreteDynamicsWorld_getPairCache_0=d._emscripten_bind_btDiscreteDynamicsWorld_getPairCache_0,vj=c._emscripten_bind_btDiscreteDynamicsWorld_getSolverInfo_0=d._emscripten_bind_btDiscreteDynamicsWorld_getSolverInfo_0, wj=c._emscripten_bind_btDiscreteDynamicsWorld_rayTest_3=d._emscripten_bind_btDiscreteDynamicsWorld_rayTest_3,xj=c._emscripten_bind_btDiscreteDynamicsWorld_removeAction_1=d._emscripten_bind_btDiscreteDynamicsWorld_removeAction_1,yj=c._emscripten_bind_btDiscreteDynamicsWorld_removeCollisionObject_1=d._emscripten_bind_btDiscreteDynamicsWorld_removeCollisionObject_1,zj=c._emscripten_bind_btDiscreteDynamicsWorld_removeConstraint_1=d._emscripten_bind_btDiscreteDynamicsWorld_removeConstraint_1,Aj=c._emscripten_bind_btDiscreteDynamicsWorld_removeRigidBody_1= d._emscripten_bind_btDiscreteDynamicsWorld_removeRigidBody_1,Bj=c._emscripten_bind_btDiscreteDynamicsWorld_setGravity_1=d._emscripten_bind_btDiscreteDynamicsWorld_setGravity_1,Cj=c._emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_1=d._emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_1,Dj=c._emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_2=d._emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_2,Ej=c._emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_3=d._emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_3, Fj=c._emscripten_bind_btDiscreteDynamicsWorld_updateSingleAabb_1=d._emscripten_bind_btDiscreteDynamicsWorld_updateSingleAabb_1,Gj=c._emscripten_bind_btDispatcherInfo___destroy___0=d._emscripten_bind_btDispatcherInfo___destroy___0,Hj=c._emscripten_bind_btDispatcherInfo_get_m_allowedCcdPenetration_0=d._emscripten_bind_btDispatcherInfo_get_m_allowedCcdPenetration_0,Ij=c._emscripten_bind_btDispatcherInfo_get_m_convexConservativeDistanceThreshold_0=d._emscripten_bind_btDispatcherInfo_get_m_convexConservativeDistanceThreshold_0, Jj=c._emscripten_bind_btDispatcherInfo_get_m_dispatchFunc_0=d._emscripten_bind_btDispatcherInfo_get_m_dispatchFunc_0,Kj=c._emscripten_bind_btDispatcherInfo_get_m_enableSPU_0=d._emscripten_bind_btDispatcherInfo_get_m_enableSPU_0,Lj=c._emscripten_bind_btDispatcherInfo_get_m_enableSatConvex_0=d._emscripten_bind_btDispatcherInfo_get_m_enableSatConvex_0,Mj=c._emscripten_bind_btDispatcherInfo_get_m_stepCount_0=d._emscripten_bind_btDispatcherInfo_get_m_stepCount_0,Nj=c._emscripten_bind_btDispatcherInfo_get_m_timeOfImpact_0= d._emscripten_bind_btDispatcherInfo_get_m_timeOfImpact_0,Oj=c._emscripten_bind_btDispatcherInfo_get_m_timeStep_0=d._emscripten_bind_btDispatcherInfo_get_m_timeStep_0,Pj=c._emscripten_bind_btDispatcherInfo_get_m_useContinuous_0=d._emscripten_bind_btDispatcherInfo_get_m_useContinuous_0,Qj=c._emscripten_bind_btDispatcherInfo_get_m_useConvexConservativeDistanceUtil_0=d._emscripten_bind_btDispatcherInfo_get_m_useConvexConservativeDistanceUtil_0,Rj=c._emscripten_bind_btDispatcherInfo_get_m_useEpa_0=d._emscripten_bind_btDispatcherInfo_get_m_useEpa_0, Sj=c._emscripten_bind_btDispatcherInfo_set_m_allowedCcdPenetration_1=d._emscripten_bind_btDispatcherInfo_set_m_allowedCcdPenetration_1,Tj=c._emscripten_bind_btDispatcherInfo_set_m_convexConservativeDistanceThreshold_1=d._emscripten_bind_btDispatcherInfo_set_m_convexConservativeDistanceThreshold_1,Uj=c._emscripten_bind_btDispatcherInfo_set_m_dispatchFunc_1=d._emscripten_bind_btDispatcherInfo_set_m_dispatchFunc_1,Vj=c._emscripten_bind_btDispatcherInfo_set_m_enableSPU_1=d._emscripten_bind_btDispatcherInfo_set_m_enableSPU_1, Wj=c._emscripten_bind_btDispatcherInfo_set_m_enableSatConvex_1=d._emscripten_bind_btDispatcherInfo_set_m_enableSatConvex_1,Xj=c._emscripten_bind_btDispatcherInfo_set_m_stepCount_1=d._emscripten_bind_btDispatcherInfo_set_m_stepCount_1,Yj=c._emscripten_bind_btDispatcherInfo_set_m_timeOfImpact_1=d._emscripten_bind_btDispatcherInfo_set_m_timeOfImpact_1,Zj=c._emscripten_bind_btDispatcherInfo_set_m_timeStep_1=d._emscripten_bind_btDispatcherInfo_set_m_timeStep_1,ak=c._emscripten_bind_btDispatcherInfo_set_m_useContinuous_1= d._emscripten_bind_btDispatcherInfo_set_m_useContinuous_1,bk=c._emscripten_bind_btDispatcherInfo_set_m_useConvexConservativeDistanceUtil_1=d._emscripten_bind_btDispatcherInfo_set_m_useConvexConservativeDistanceUtil_1,ck=c._emscripten_bind_btDispatcherInfo_set_m_useEpa_1=d._emscripten_bind_btDispatcherInfo_set_m_useEpa_1,dk=c._emscripten_bind_btDispatcher___destroy___0=d._emscripten_bind_btDispatcher___destroy___0,ek=c._emscripten_bind_btDispatcher_getManifoldByIndexInternal_1=d._emscripten_bind_btDispatcher_getManifoldByIndexInternal_1, fk=c._emscripten_bind_btDispatcher_getNumManifolds_0=d._emscripten_bind_btDispatcher_getNumManifolds_0,gk=c._emscripten_bind_btDynamicsWorld___destroy___0=d._emscripten_bind_btDynamicsWorld___destroy___0,hk=c._emscripten_bind_btDynamicsWorld_addAction_1=d._emscripten_bind_btDynamicsWorld_addAction_1,ik=c._emscripten_bind_btDynamicsWorld_addCollisionObject_1=d._emscripten_bind_btDynamicsWorld_addCollisionObject_1,jk=c._emscripten_bind_btDynamicsWorld_addCollisionObject_2=d._emscripten_bind_btDynamicsWorld_addCollisionObject_2, kk=c._emscripten_bind_btDynamicsWorld_addCollisionObject_3=d._emscripten_bind_btDynamicsWorld_addCollisionObject_3,lk=c._emscripten_bind_btDynamicsWorld_contactPairTest_3=d._emscripten_bind_btDynamicsWorld_contactPairTest_3,mk=c._emscripten_bind_btDynamicsWorld_contactTest_2=d._emscripten_bind_btDynamicsWorld_contactTest_2,nk=c._emscripten_bind_btDynamicsWorld_convexSweepTest_5=d._emscripten_bind_btDynamicsWorld_convexSweepTest_5,ok=c._emscripten_bind_btDynamicsWorld_getBroadphase_0=d._emscripten_bind_btDynamicsWorld_getBroadphase_0, pk=c._emscripten_bind_btDynamicsWorld_getDispatchInfo_0=d._emscripten_bind_btDynamicsWorld_getDispatchInfo_0,qk=c._emscripten_bind_btDynamicsWorld_getDispatcher_0=d._emscripten_bind_btDynamicsWorld_getDispatcher_0,rk=c._emscripten_bind_btDynamicsWorld_getPairCache_0=d._emscripten_bind_btDynamicsWorld_getPairCache_0,sk=c._emscripten_bind_btDynamicsWorld_getSolverInfo_0=d._emscripten_bind_btDynamicsWorld_getSolverInfo_0,tk=c._emscripten_bind_btDynamicsWorld_rayTest_3=d._emscripten_bind_btDynamicsWorld_rayTest_3, uk=c._emscripten_bind_btDynamicsWorld_removeAction_1=d._emscripten_bind_btDynamicsWorld_removeAction_1,vk=c._emscripten_bind_btDynamicsWorld_removeCollisionObject_1=d._emscripten_bind_btDynamicsWorld_removeCollisionObject_1,wk=c._emscripten_bind_btDynamicsWorld_updateSingleAabb_1=d._emscripten_bind_btDynamicsWorld_updateSingleAabb_1,xk=c._emscripten_bind_btFixedConstraint___destroy___0=d._emscripten_bind_btFixedConstraint___destroy___0,yk=c._emscripten_bind_btFixedConstraint_btFixedConstraint_4=d._emscripten_bind_btFixedConstraint_btFixedConstraint_4, zk=c._emscripten_bind_btFixedConstraint_enableFeedback_1=d._emscripten_bind_btFixedConstraint_enableFeedback_1,Ak=c._emscripten_bind_btFixedConstraint_getBreakingImpulseThreshold_0=d._emscripten_bind_btFixedConstraint_getBreakingImpulseThreshold_0,Bk=c._emscripten_bind_btFixedConstraint_getParam_2=d._emscripten_bind_btFixedConstraint_getParam_2,Ck=c._emscripten_bind_btFixedConstraint_setBreakingImpulseThreshold_1=d._emscripten_bind_btFixedConstraint_setBreakingImpulseThreshold_1,Dk=c._emscripten_bind_btFixedConstraint_setParam_3= d._emscripten_bind_btFixedConstraint_setParam_3,Ek=c._emscripten_bind_btGeneric6DofConstraint___destroy___0=d._emscripten_bind_btGeneric6DofConstraint___destroy___0,Fk=c._emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_3=d._emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_3,Gk=c._emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_5=d._emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_5,Hk=c._emscripten_bind_btGeneric6DofConstraint_enableFeedback_1= d._emscripten_bind_btGeneric6DofConstraint_enableFeedback_1,Ik=c._emscripten_bind_btGeneric6DofConstraint_getBreakingImpulseThreshold_0=d._emscripten_bind_btGeneric6DofConstraint_getBreakingImpulseThreshold_0,Jk=c._emscripten_bind_btGeneric6DofConstraint_getParam_2=d._emscripten_bind_btGeneric6DofConstraint_getParam_2,Kk=c._emscripten_bind_btGeneric6DofConstraint_setAngularLowerLimit_1=d._emscripten_bind_btGeneric6DofConstraint_setAngularLowerLimit_1,Lk=c._emscripten_bind_btGeneric6DofConstraint_setAngularUpperLimit_1= d._emscripten_bind_btGeneric6DofConstraint_setAngularUpperLimit_1,Mk=c._emscripten_bind_btGeneric6DofConstraint_setBreakingImpulseThreshold_1=d._emscripten_bind_btGeneric6DofConstraint_setBreakingImpulseThreshold_1,Nk=c._emscripten_bind_btGeneric6DofConstraint_setLinearLowerLimit_1=d._emscripten_bind_btGeneric6DofConstraint_setLinearLowerLimit_1,Ok=c._emscripten_bind_btGeneric6DofConstraint_setLinearUpperLimit_1=d._emscripten_bind_btGeneric6DofConstraint_setLinearUpperLimit_1,Pk=c._emscripten_bind_btGeneric6DofConstraint_setParam_3= d._emscripten_bind_btGeneric6DofConstraint_setParam_3,Qk=c._emscripten_bind_btGeneric6DofSpringConstraint___destroy___0=d._emscripten_bind_btGeneric6DofSpringConstraint___destroy___0,Rk=c._emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_3=d._emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_3,Sk=c._emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_5=d._emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_5, Tk=c._emscripten_bind_btGeneric6DofSpringConstraint_enableFeedback_1=d._emscripten_bind_btGeneric6DofSpringConstraint_enableFeedback_1,Uk=c._emscripten_bind_btGeneric6DofSpringConstraint_enableSpring_2=d._emscripten_bind_btGeneric6DofSpringConstraint_enableSpring_2,Vk=c._emscripten_bind_btGeneric6DofSpringConstraint_getBreakingImpulseThreshold_0=d._emscripten_bind_btGeneric6DofSpringConstraint_getBreakingImpulseThreshold_0,Wk=c._emscripten_bind_btGeneric6DofSpringConstraint_getParam_2=d._emscripten_bind_btGeneric6DofSpringConstraint_getParam_2, Xk=c._emscripten_bind_btGeneric6DofSpringConstraint_setAngularLowerLimit_1=d._emscripten_bind_btGeneric6DofSpringConstraint_setAngularLowerLimit_1,Yk=c._emscripten_bind_btGeneric6DofSpringConstraint_setAngularUpperLimit_1=d._emscripten_bind_btGeneric6DofSpringConstraint_setAngularUpperLimit_1,Zk=c._emscripten_bind_btGeneric6DofSpringConstraint_setBreakingImpulseThreshold_1=d._emscripten_bind_btGeneric6DofSpringConstraint_setBreakingImpulseThreshold_1,$k=c._emscripten_bind_btGeneric6DofSpringConstraint_setDamping_2= d._emscripten_bind_btGeneric6DofSpringConstraint_setDamping_2,al=c._emscripten_bind_btGeneric6DofSpringConstraint_setLinearLowerLimit_1=d._emscripten_bind_btGeneric6DofSpringConstraint_setLinearLowerLimit_1,bl=c._emscripten_bind_btGeneric6DofSpringConstraint_setLinearUpperLimit_1=d._emscripten_bind_btGeneric6DofSpringConstraint_setLinearUpperLimit_1,cl=c._emscripten_bind_btGeneric6DofSpringConstraint_setParam_3=d._emscripten_bind_btGeneric6DofSpringConstraint_setParam_3,dl=c._emscripten_bind_btGeneric6DofSpringConstraint_setStiffness_2= d._emscripten_bind_btGeneric6DofSpringConstraint_setStiffness_2,el=c._emscripten_bind_btGhostObject___destroy___0=d._emscripten_bind_btGhostObject___destroy___0,fl=c._emscripten_bind_btGhostObject_activate_0=d._emscripten_bind_btGhostObject_activate_0,gl=c._emscripten_bind_btGhostObject_activate_1=d._emscripten_bind_btGhostObject_activate_1,hl=c._emscripten_bind_btGhostObject_btGhostObject_0=d._emscripten_bind_btGhostObject_btGhostObject_0,il=c._emscripten_bind_btGhostObject_forceActivationState_1= d._emscripten_bind_btGhostObject_forceActivationState_1,jl=c._emscripten_bind_btGhostObject_getCollisionFlags_0=d._emscripten_bind_btGhostObject_getCollisionFlags_0,kl=c._emscripten_bind_btGhostObject_getCollisionShape_0=d._emscripten_bind_btGhostObject_getCollisionShape_0,ll=c._emscripten_bind_btGhostObject_getNumOverlappingObjects_0=d._emscripten_bind_btGhostObject_getNumOverlappingObjects_0,ml=c._emscripten_bind_btGhostObject_getOverlappingObject_1=d._emscripten_bind_btGhostObject_getOverlappingObject_1, nl=c._emscripten_bind_btGhostObject_getUserIndex_0=d._emscripten_bind_btGhostObject_getUserIndex_0,ol=c._emscripten_bind_btGhostObject_getUserPointer_0=d._emscripten_bind_btGhostObject_getUserPointer_0,pl=c._emscripten_bind_btGhostObject_getWorldTransform_0=d._emscripten_bind_btGhostObject_getWorldTransform_0,ql=c._emscripten_bind_btGhostObject_isActive_0=d._emscripten_bind_btGhostObject_isActive_0,rl=c._emscripten_bind_btGhostObject_isKinematicObject_0=d._emscripten_bind_btGhostObject_isKinematicObject_0, sl=c._emscripten_bind_btGhostObject_isStaticObject_0=d._emscripten_bind_btGhostObject_isStaticObject_0,tl=c._emscripten_bind_btGhostObject_isStaticOrKinematicObject_0=d._emscripten_bind_btGhostObject_isStaticOrKinematicObject_0,ul=c._emscripten_bind_btGhostObject_setActivationState_1=d._emscripten_bind_btGhostObject_setActivationState_1,vl=c._emscripten_bind_btGhostObject_setAnisotropicFriction_2=d._emscripten_bind_btGhostObject_setAnisotropicFriction_2,wl=c._emscripten_bind_btGhostObject_setCcdMotionThreshold_1= d._emscripten_bind_btGhostObject_setCcdMotionThreshold_1,xl=c._emscripten_bind_btGhostObject_setCcdSweptSphereRadius_1=d._emscripten_bind_btGhostObject_setCcdSweptSphereRadius_1,yl=c._emscripten_bind_btGhostObject_setCollisionFlags_1=d._emscripten_bind_btGhostObject_setCollisionFlags_1,zl=c._emscripten_bind_btGhostObject_setCollisionShape_1=d._emscripten_bind_btGhostObject_setCollisionShape_1,Al=c._emscripten_bind_btGhostObject_setContactProcessingThreshold_1=d._emscripten_bind_btGhostObject_setContactProcessingThreshold_1, Bl=c._emscripten_bind_btGhostObject_setFriction_1=d._emscripten_bind_btGhostObject_setFriction_1,Cl=c._emscripten_bind_btGhostObject_setRestitution_1=d._emscripten_bind_btGhostObject_setRestitution_1,Dl=c._emscripten_bind_btGhostObject_setRollingFriction_1=d._emscripten_bind_btGhostObject_setRollingFriction_1,El=c._emscripten_bind_btGhostObject_setUserIndex_1=d._emscripten_bind_btGhostObject_setUserIndex_1,Fl=c._emscripten_bind_btGhostObject_setUserPointer_1=d._emscripten_bind_btGhostObject_setUserPointer_1, Gl=c._emscripten_bind_btGhostObject_setWorldTransform_1=d._emscripten_bind_btGhostObject_setWorldTransform_1,Hl=c._emscripten_bind_btGhostPairCallback___destroy___0=d._emscripten_bind_btGhostPairCallback___destroy___0,Il=c._emscripten_bind_btGhostPairCallback_btGhostPairCallback_0=d._emscripten_bind_btGhostPairCallback_btGhostPairCallback_0,Jl=c._emscripten_bind_btHeightfieldTerrainShape___destroy___0=d._emscripten_bind_btHeightfieldTerrainShape___destroy___0,Kl=c._emscripten_bind_btHeightfieldTerrainShape_btHeightfieldTerrainShape_9= d._emscripten_bind_btHeightfieldTerrainShape_btHeightfieldTerrainShape_9,Ll=c._emscripten_bind_btHeightfieldTerrainShape_calculateLocalInertia_2=d._emscripten_bind_btHeightfieldTerrainShape_calculateLocalInertia_2,Ml=c._emscripten_bind_btHeightfieldTerrainShape_getLocalScaling_0=d._emscripten_bind_btHeightfieldTerrainShape_getLocalScaling_0,Nl=c._emscripten_bind_btHeightfieldTerrainShape_getMargin_0=d._emscripten_bind_btHeightfieldTerrainShape_getMargin_0,Ol=c._emscripten_bind_btHeightfieldTerrainShape_setLocalScaling_1= d._emscripten_bind_btHeightfieldTerrainShape_setLocalScaling_1,Pl=c._emscripten_bind_btHeightfieldTerrainShape_setMargin_1=d._emscripten_bind_btHeightfieldTerrainShape_setMargin_1,Ql=c._emscripten_bind_btHingeConstraint___destroy___0=d._emscripten_bind_btHingeConstraint___destroy___0,Rl=c._emscripten_bind_btHingeConstraint_btHingeConstraint_2=d._emscripten_bind_btHingeConstraint_btHingeConstraint_2,Sl=c._emscripten_bind_btHingeConstraint_btHingeConstraint_3=d._emscripten_bind_btHingeConstraint_btHingeConstraint_3, Tl=c._emscripten_bind_btHingeConstraint_btHingeConstraint_4=d._emscripten_bind_btHingeConstraint_btHingeConstraint_4,Ul=c._emscripten_bind_btHingeConstraint_btHingeConstraint_5=d._emscripten_bind_btHingeConstraint_btHingeConstraint_5,Vl=c._emscripten_bind_btHingeConstraint_btHingeConstraint_6=d._emscripten_bind_btHingeConstraint_btHingeConstraint_6,Wl=c._emscripten_bind_btHingeConstraint_btHingeConstraint_7=d._emscripten_bind_btHingeConstraint_btHingeConstraint_7,Xl=c._emscripten_bind_btHingeConstraint_enableAngularMotor_3= d._emscripten_bind_btHingeConstraint_enableAngularMotor_3,Yl=c._emscripten_bind_btHingeConstraint_enableFeedback_1=d._emscripten_bind_btHingeConstraint_enableFeedback_1,Zl=c._emscripten_bind_btHingeConstraint_enableMotor_1=d._emscripten_bind_btHingeConstraint_enableMotor_1,$l=c._emscripten_bind_btHingeConstraint_getBreakingImpulseThreshold_0=d._emscripten_bind_btHingeConstraint_getBreakingImpulseThreshold_0,am=c._emscripten_bind_btHingeConstraint_getParam_2=d._emscripten_bind_btHingeConstraint_getParam_2, bm=c._emscripten_bind_btHingeConstraint_setAngularOnly_1=d._emscripten_bind_btHingeConstraint_setAngularOnly_1,cm=c._emscripten_bind_btHingeConstraint_setBreakingImpulseThreshold_1=d._emscripten_bind_btHingeConstraint_setBreakingImpulseThreshold_1,dm=c._emscripten_bind_btHingeConstraint_setLimit_4=d._emscripten_bind_btHingeConstraint_setLimit_4,em=c._emscripten_bind_btHingeConstraint_setLimit_5=d._emscripten_bind_btHingeConstraint_setLimit_5,fm=c._emscripten_bind_btHingeConstraint_setMaxMotorImpulse_1= d._emscripten_bind_btHingeConstraint_setMaxMotorImpulse_1,gm=c._emscripten_bind_btHingeConstraint_setMotorTarget_2=d._emscripten_bind_btHingeConstraint_setMotorTarget_2,hm=c._emscripten_bind_btHingeConstraint_setParam_3=d._emscripten_bind_btHingeConstraint_setParam_3,im=c._emscripten_bind_btKinematicCharacterController___destroy___0=d._emscripten_bind_btKinematicCharacterController___destroy___0,jm=c._emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_3=d._emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_3, km=c._emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_4=d._emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_4,lm=c._emscripten_bind_btKinematicCharacterController_canJump_0=d._emscripten_bind_btKinematicCharacterController_canJump_0,mm=c._emscripten_bind_btKinematicCharacterController_getGhostObject_0=d._emscripten_bind_btKinematicCharacterController_getGhostObject_0,nm=c._emscripten_bind_btKinematicCharacterController_getGravity_0=d._emscripten_bind_btKinematicCharacterController_getGravity_0, om=c._emscripten_bind_btKinematicCharacterController_getMaxSlope_0=d._emscripten_bind_btKinematicCharacterController_getMaxSlope_0,pm=c._emscripten_bind_btKinematicCharacterController_jump_0=d._emscripten_bind_btKinematicCharacterController_jump_0,qm=c._emscripten_bind_btKinematicCharacterController_onGround_0=d._emscripten_bind_btKinematicCharacterController_onGround_0,rm=c._emscripten_bind_btKinematicCharacterController_playerStep_2=d._emscripten_bind_btKinematicCharacterController_playerStep_2, sm=c._emscripten_bind_btKinematicCharacterController_preStep_1=d._emscripten_bind_btKinematicCharacterController_preStep_1,tm=c._emscripten_bind_btKinematicCharacterController_setFallSpeed_1=d._emscripten_bind_btKinematicCharacterController_setFallSpeed_1,um=c._emscripten_bind_btKinematicCharacterController_setGravity_1=d._emscripten_bind_btKinematicCharacterController_setGravity_1,wm=c._emscripten_bind_btKinematicCharacterController_setJumpSpeed_1=d._emscripten_bind_btKinematicCharacterController_setJumpSpeed_1, xm=c._emscripten_bind_btKinematicCharacterController_setMaxJumpHeight_1=d._emscripten_bind_btKinematicCharacterController_setMaxJumpHeight_1,ym=c._emscripten_bind_btKinematicCharacterController_setMaxSlope_1=d._emscripten_bind_btKinematicCharacterController_setMaxSlope_1,zm=c._emscripten_bind_btKinematicCharacterController_setUpAxis_1=d._emscripten_bind_btKinematicCharacterController_setUpAxis_1,Am=c._emscripten_bind_btKinematicCharacterController_setUpInterpolate_1=d._emscripten_bind_btKinematicCharacterController_setUpInterpolate_1, Bm=c._emscripten_bind_btKinematicCharacterController_setUseGhostSweepTest_1=d._emscripten_bind_btKinematicCharacterController_setUseGhostSweepTest_1,Cm=c._emscripten_bind_btKinematicCharacterController_setVelocityForTimeInterval_2=d._emscripten_bind_btKinematicCharacterController_setVelocityForTimeInterval_2,Dm=c._emscripten_bind_btKinematicCharacterController_setWalkDirection_1=d._emscripten_bind_btKinematicCharacterController_setWalkDirection_1,Em=c._emscripten_bind_btKinematicCharacterController_updateAction_2= d._emscripten_bind_btKinematicCharacterController_updateAction_2,Fm=c._emscripten_bind_btKinematicCharacterController_warp_1=d._emscripten_bind_btKinematicCharacterController_warp_1,Gm=c._emscripten_bind_btManifoldPoint___destroy___0=d._emscripten_bind_btManifoldPoint___destroy___0,Hm=c._emscripten_bind_btManifoldPoint_getAppliedImpulse_0=d._emscripten_bind_btManifoldPoint_getAppliedImpulse_0,Im=c._emscripten_bind_btManifoldPoint_getDistance_0=d._emscripten_bind_btManifoldPoint_getDistance_0,Jm=c._emscripten_bind_btManifoldPoint_getPositionWorldOnA_0= d._emscripten_bind_btManifoldPoint_getPositionWorldOnA_0,Km=c._emscripten_bind_btManifoldPoint_getPositionWorldOnB_0=d._emscripten_bind_btManifoldPoint_getPositionWorldOnB_0,Lm=c._emscripten_bind_btManifoldPoint_get_m_localPointA_0=d._emscripten_bind_btManifoldPoint_get_m_localPointA_0,Mm=c._emscripten_bind_btManifoldPoint_get_m_localPointB_0=d._emscripten_bind_btManifoldPoint_get_m_localPointB_0,Nm=c._emscripten_bind_btManifoldPoint_get_m_normalWorldOnB_0=d._emscripten_bind_btManifoldPoint_get_m_normalWorldOnB_0, Om=c._emscripten_bind_btManifoldPoint_get_m_positionWorldOnA_0=d._emscripten_bind_btManifoldPoint_get_m_positionWorldOnA_0,Pm=c._emscripten_bind_btManifoldPoint_get_m_positionWorldOnB_0=d._emscripten_bind_btManifoldPoint_get_m_positionWorldOnB_0,Qm=c._emscripten_bind_btManifoldPoint_set_m_localPointA_1=d._emscripten_bind_btManifoldPoint_set_m_localPointA_1,Rm=c._emscripten_bind_btManifoldPoint_set_m_localPointB_1=d._emscripten_bind_btManifoldPoint_set_m_localPointB_1,Sm=c._emscripten_bind_btManifoldPoint_set_m_normalWorldOnB_1= d._emscripten_bind_btManifoldPoint_set_m_normalWorldOnB_1,Tm=c._emscripten_bind_btManifoldPoint_set_m_positionWorldOnA_1=d._emscripten_bind_btManifoldPoint_set_m_positionWorldOnA_1,Um=c._emscripten_bind_btManifoldPoint_set_m_positionWorldOnB_1=d._emscripten_bind_btManifoldPoint_set_m_positionWorldOnB_1,Vm=c._emscripten_bind_btMatrix3x3___destroy___0=d._emscripten_bind_btMatrix3x3___destroy___0,Wm=c._emscripten_bind_btMatrix3x3_getRotation_1=d._emscripten_bind_btMatrix3x3_getRotation_1,Xm=c._emscripten_bind_btMatrix3x3_getRow_1= d._emscripten_bind_btMatrix3x3_getRow_1,Ym=c._emscripten_bind_btMatrix3x3_setEulerZYX_3=d._emscripten_bind_btMatrix3x3_setEulerZYX_3,Zm=c._emscripten_bind_btMotionState___destroy___0=d._emscripten_bind_btMotionState___destroy___0,$m=c._emscripten_bind_btMotionState_getWorldTransform_1=d._emscripten_bind_btMotionState_getWorldTransform_1,an=c._emscripten_bind_btMotionState_setWorldTransform_1=d._emscripten_bind_btMotionState_setWorldTransform_1,bn=c._emscripten_bind_btOverlappingPairCache___destroy___0= d._emscripten_bind_btOverlappingPairCache___destroy___0,cn=c._emscripten_bind_btOverlappingPairCache_setInternalGhostPairCallback_1=d._emscripten_bind_btOverlappingPairCache_setInternalGhostPairCallback_1,dn=c._emscripten_bind_btOverlappingPairCallback___destroy___0=d._emscripten_bind_btOverlappingPairCallback___destroy___0,en=c._emscripten_bind_btPairCachingGhostObject___destroy___0=d._emscripten_bind_btPairCachingGhostObject___destroy___0,fn=c._emscripten_bind_btPairCachingGhostObject_activate_0= d._emscripten_bind_btPairCachingGhostObject_activate_0,gn=c._emscripten_bind_btPairCachingGhostObject_activate_1=d._emscripten_bind_btPairCachingGhostObject_activate_1,hn=c._emscripten_bind_btPairCachingGhostObject_btPairCachingGhostObject_0=d._emscripten_bind_btPairCachingGhostObject_btPairCachingGhostObject_0,jn=c._emscripten_bind_btPairCachingGhostObject_forceActivationState_1=d._emscripten_bind_btPairCachingGhostObject_forceActivationState_1,kn=c._emscripten_bind_btPairCachingGhostObject_getCollisionFlags_0= d._emscripten_bind_btPairCachingGhostObject_getCollisionFlags_0,ln=c._emscripten_bind_btPairCachingGhostObject_getCollisionShape_0=d._emscripten_bind_btPairCachingGhostObject_getCollisionShape_0,mn=c._emscripten_bind_btPairCachingGhostObject_getNumOverlappingObjects_0=d._emscripten_bind_btPairCachingGhostObject_getNumOverlappingObjects_0,nn=c._emscripten_bind_btPairCachingGhostObject_getOverlappingObject_1=d._emscripten_bind_btPairCachingGhostObject_getOverlappingObject_1,on=c._emscripten_bind_btPairCachingGhostObject_getUserIndex_0= d._emscripten_bind_btPairCachingGhostObject_getUserIndex_0,pn=c._emscripten_bind_btPairCachingGhostObject_getUserPointer_0=d._emscripten_bind_btPairCachingGhostObject_getUserPointer_0,qn=c._emscripten_bind_btPairCachingGhostObject_getWorldTransform_0=d._emscripten_bind_btPairCachingGhostObject_getWorldTransform_0,rn=c._emscripten_bind_btPairCachingGhostObject_isActive_0=d._emscripten_bind_btPairCachingGhostObject_isActive_0,sn=c._emscripten_bind_btPairCachingGhostObject_isKinematicObject_0=d._emscripten_bind_btPairCachingGhostObject_isKinematicObject_0, tn=c._emscripten_bind_btPairCachingGhostObject_isStaticObject_0=d._emscripten_bind_btPairCachingGhostObject_isStaticObject_0,un=c._emscripten_bind_btPairCachingGhostObject_isStaticOrKinematicObject_0=d._emscripten_bind_btPairCachingGhostObject_isStaticOrKinematicObject_0,vn=c._emscripten_bind_btPairCachingGhostObject_setActivationState_1=d._emscripten_bind_btPairCachingGhostObject_setActivationState_1,wn=c._emscripten_bind_btPairCachingGhostObject_setAnisotropicFriction_2=d._emscripten_bind_btPairCachingGhostObject_setAnisotropicFriction_2, xn=c._emscripten_bind_btPairCachingGhostObject_setCcdMotionThreshold_1=d._emscripten_bind_btPairCachingGhostObject_setCcdMotionThreshold_1,yn=c._emscripten_bind_btPairCachingGhostObject_setCcdSweptSphereRadius_1=d._emscripten_bind_btPairCachingGhostObject_setCcdSweptSphereRadius_1,zn=c._emscripten_bind_btPairCachingGhostObject_setCollisionFlags_1=d._emscripten_bind_btPairCachingGhostObject_setCollisionFlags_1,An=c._emscripten_bind_btPairCachingGhostObject_setCollisionShape_1=d._emscripten_bind_btPairCachingGhostObject_setCollisionShape_1, Bn=c._emscripten_bind_btPairCachingGhostObject_setContactProcessingThreshold_1=d._emscripten_bind_btPairCachingGhostObject_setContactProcessingThreshold_1,Cn=c._emscripten_bind_btPairCachingGhostObject_setFriction_1=d._emscripten_bind_btPairCachingGhostObject_setFriction_1,Dn=c._emscripten_bind_btPairCachingGhostObject_setRestitution_1=d._emscripten_bind_btPairCachingGhostObject_setRestitution_1,En=c._emscripten_bind_btPairCachingGhostObject_setRollingFriction_1=d._emscripten_bind_btPairCachingGhostObject_setRollingFriction_1, Fn=c._emscripten_bind_btPairCachingGhostObject_setUserIndex_1=d._emscripten_bind_btPairCachingGhostObject_setUserIndex_1,Gn=c._emscripten_bind_btPairCachingGhostObject_setUserPointer_1=d._emscripten_bind_btPairCachingGhostObject_setUserPointer_1,Hn=c._emscripten_bind_btPairCachingGhostObject_setWorldTransform_1=d._emscripten_bind_btPairCachingGhostObject_setWorldTransform_1,In=c._emscripten_bind_btPersistentManifold___destroy___0=d._emscripten_bind_btPersistentManifold___destroy___0,Jn=c._emscripten_bind_btPersistentManifold_btPersistentManifold_0= d._emscripten_bind_btPersistentManifold_btPersistentManifold_0,Kn=c._emscripten_bind_btPersistentManifold_getBody0_0=d._emscripten_bind_btPersistentManifold_getBody0_0,Ln=c._emscripten_bind_btPersistentManifold_getBody1_0=d._emscripten_bind_btPersistentManifold_getBody1_0,Mn=c._emscripten_bind_btPersistentManifold_getContactPoint_1=d._emscripten_bind_btPersistentManifold_getContactPoint_1,Nn=c._emscripten_bind_btPersistentManifold_getNumContacts_0=d._emscripten_bind_btPersistentManifold_getNumContacts_0, On=c._emscripten_bind_btPoint2PointConstraint___destroy___0=d._emscripten_bind_btPoint2PointConstraint___destroy___0,Pn=c._emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_2=d._emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_2,Qn=c._emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_4=d._emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_4,Rn=c._emscripten_bind_btPoint2PointConstraint_enableFeedback_1=d._emscripten_bind_btPoint2PointConstraint_enableFeedback_1, Sn=c._emscripten_bind_btPoint2PointConstraint_getBreakingImpulseThreshold_0=d._emscripten_bind_btPoint2PointConstraint_getBreakingImpulseThreshold_0,Tn=c._emscripten_bind_btPoint2PointConstraint_getParam_2=d._emscripten_bind_btPoint2PointConstraint_getParam_2,Un=c._emscripten_bind_btPoint2PointConstraint_getPivotInA_0=d._emscripten_bind_btPoint2PointConstraint_getPivotInA_0,Vn=c._emscripten_bind_btPoint2PointConstraint_getPivotInB_0=d._emscripten_bind_btPoint2PointConstraint_getPivotInB_0,Wn=c._emscripten_bind_btPoint2PointConstraint_get_m_setting_0= d._emscripten_bind_btPoint2PointConstraint_get_m_setting_0,Xn=c._emscripten_bind_btPoint2PointConstraint_setBreakingImpulseThreshold_1=d._emscripten_bind_btPoint2PointConstraint_setBreakingImpulseThreshold_1,Yn=c._emscripten_bind_btPoint2PointConstraint_setParam_3=d._emscripten_bind_btPoint2PointConstraint_setParam_3,Zn=c._emscripten_bind_btPoint2PointConstraint_setPivotA_1=d._emscripten_bind_btPoint2PointConstraint_setPivotA_1,$n=c._emscripten_bind_btPoint2PointConstraint_setPivotB_1=d._emscripten_bind_btPoint2PointConstraint_setPivotB_1, ao=c._emscripten_bind_btPoint2PointConstraint_set_m_setting_1=d._emscripten_bind_btPoint2PointConstraint_set_m_setting_1,bo=c._emscripten_bind_btQuadWord___destroy___0=d._emscripten_bind_btQuadWord___destroy___0,co=c._emscripten_bind_btQuadWord_setW_1=d._emscripten_bind_btQuadWord_setW_1,eo=c._emscripten_bind_btQuadWord_setX_1=d._emscripten_bind_btQuadWord_setX_1,fo=c._emscripten_bind_btQuadWord_setY_1=d._emscripten_bind_btQuadWord_setY_1,go=c._emscripten_bind_btQuadWord_setZ_1=d._emscripten_bind_btQuadWord_setZ_1, ho=c._emscripten_bind_btQuadWord_w_0=d._emscripten_bind_btQuadWord_w_0,io=c._emscripten_bind_btQuadWord_x_0=d._emscripten_bind_btQuadWord_x_0,jo=c._emscripten_bind_btQuadWord_y_0=d._emscripten_bind_btQuadWord_y_0,ko=c._emscripten_bind_btQuadWord_z_0=d._emscripten_bind_btQuadWord_z_0,lo=c._emscripten_bind_btQuaternion___destroy___0=d._emscripten_bind_btQuaternion___destroy___0,mo=c._emscripten_bind_btQuaternion_angleShortestPath_1=d._emscripten_bind_btQuaternion_angleShortestPath_1,no=c._emscripten_bind_btQuaternion_angle_1= d._emscripten_bind_btQuaternion_angle_1,oo=c._emscripten_bind_btQuaternion_btQuaternion_4=d._emscripten_bind_btQuaternion_btQuaternion_4,po=c._emscripten_bind_btQuaternion_dot_1=d._emscripten_bind_btQuaternion_dot_1,qo=c._emscripten_bind_btQuaternion_getAngleShortestPath_0=d._emscripten_bind_btQuaternion_getAngleShortestPath_0,ro=c._emscripten_bind_btQuaternion_getAngle_0=d._emscripten_bind_btQuaternion_getAngle_0,so=c._emscripten_bind_btQuaternion_getAxis_0=d._emscripten_bind_btQuaternion_getAxis_0, to=c._emscripten_bind_btQuaternion_inverse_0=d._emscripten_bind_btQuaternion_inverse_0,uo=c._emscripten_bind_btQuaternion_length2_0=d._emscripten_bind_btQuaternion_length2_0,vo=c._emscripten_bind_btQuaternion_length_0=d._emscripten_bind_btQuaternion_length_0,wo=c._emscripten_bind_btQuaternion_normalize_0=d._emscripten_bind_btQuaternion_normalize_0,xo=c._emscripten_bind_btQuaternion_normalized_0=d._emscripten_bind_btQuaternion_normalized_0,yo=c._emscripten_bind_btQuaternion_op_add_1=d._emscripten_bind_btQuaternion_op_add_1, zo=c._emscripten_bind_btQuaternion_op_div_1=d._emscripten_bind_btQuaternion_op_div_1,Ao=c._emscripten_bind_btQuaternion_op_mul_1=d._emscripten_bind_btQuaternion_op_mul_1,Bo=c._emscripten_bind_btQuaternion_op_mulq_1=d._emscripten_bind_btQuaternion_op_mulq_1,Co=c._emscripten_bind_btQuaternion_op_sub_1=d._emscripten_bind_btQuaternion_op_sub_1,Do=c._emscripten_bind_btQuaternion_setEulerZYX_3=d._emscripten_bind_btQuaternion_setEulerZYX_3,Eo=c._emscripten_bind_btQuaternion_setRotation_2=d._emscripten_bind_btQuaternion_setRotation_2, Fo=c._emscripten_bind_btQuaternion_setValue_4=d._emscripten_bind_btQuaternion_setValue_4,Go=c._emscripten_bind_btQuaternion_setW_1=d._emscripten_bind_btQuaternion_setW_1,Ho=c._emscripten_bind_btQuaternion_setX_1=d._emscripten_bind_btQuaternion_setX_1,Io=c._emscripten_bind_btQuaternion_setY_1=d._emscripten_bind_btQuaternion_setY_1,Jo=c._emscripten_bind_btQuaternion_setZ_1=d._emscripten_bind_btQuaternion_setZ_1,Ko=c._emscripten_bind_btQuaternion_w_0=d._emscripten_bind_btQuaternion_w_0,Lo=c._emscripten_bind_btQuaternion_x_0= d._emscripten_bind_btQuaternion_x_0,Mo=c._emscripten_bind_btQuaternion_y_0=d._emscripten_bind_btQuaternion_y_0,No=c._emscripten_bind_btQuaternion_z_0=d._emscripten_bind_btQuaternion_z_0,Oo=c._emscripten_bind_btRaycastVehicle___destroy___0=d._emscripten_bind_btRaycastVehicle___destroy___0,Po=c._emscripten_bind_btRaycastVehicle_addWheel_7=d._emscripten_bind_btRaycastVehicle_addWheel_7,Qo=c._emscripten_bind_btRaycastVehicle_applyEngineForce_2=d._emscripten_bind_btRaycastVehicle_applyEngineForce_2,Ro= c._emscripten_bind_btRaycastVehicle_btRaycastVehicle_3=d._emscripten_bind_btRaycastVehicle_btRaycastVehicle_3,So=c._emscripten_bind_btRaycastVehicle_getChassisWorldTransform_0=d._emscripten_bind_btRaycastVehicle_getChassisWorldTransform_0,To=c._emscripten_bind_btRaycastVehicle_getCurrentSpeedKmHour_0=d._emscripten_bind_btRaycastVehicle_getCurrentSpeedKmHour_0,Uo=c._emscripten_bind_btRaycastVehicle_getForwardAxis_0=d._emscripten_bind_btRaycastVehicle_getForwardAxis_0,Vo=c._emscripten_bind_btRaycastVehicle_getForwardVector_0= d._emscripten_bind_btRaycastVehicle_getForwardVector_0,Wo=c._emscripten_bind_btRaycastVehicle_getNumWheels_0=d._emscripten_bind_btRaycastVehicle_getNumWheels_0,Xo=c._emscripten_bind_btRaycastVehicle_getRightAxis_0=d._emscripten_bind_btRaycastVehicle_getRightAxis_0,Yo=c._emscripten_bind_btRaycastVehicle_getRigidBody_0=d._emscripten_bind_btRaycastVehicle_getRigidBody_0,Zo=c._emscripten_bind_btRaycastVehicle_getSteeringValue_1=d._emscripten_bind_btRaycastVehicle_getSteeringValue_1,$o=c._emscripten_bind_btRaycastVehicle_getUpAxis_0= d._emscripten_bind_btRaycastVehicle_getUpAxis_0,ap=c._emscripten_bind_btRaycastVehicle_getUserConstraintId_0=d._emscripten_bind_btRaycastVehicle_getUserConstraintId_0,bp=c._emscripten_bind_btRaycastVehicle_getUserConstraintType_0=d._emscripten_bind_btRaycastVehicle_getUserConstraintType_0,cp=c._emscripten_bind_btRaycastVehicle_getWheelInfo_1=d._emscripten_bind_btRaycastVehicle_getWheelInfo_1,dp=c._emscripten_bind_btRaycastVehicle_getWheelTransformWS_1=d._emscripten_bind_btRaycastVehicle_getWheelTransformWS_1, ep=c._emscripten_bind_btRaycastVehicle_rayCast_1=d._emscripten_bind_btRaycastVehicle_rayCast_1,fp=c._emscripten_bind_btRaycastVehicle_resetSuspension_0=d._emscripten_bind_btRaycastVehicle_resetSuspension_0,gp=c._emscripten_bind_btRaycastVehicle_setBrake_2=d._emscripten_bind_btRaycastVehicle_setBrake_2,hp=c._emscripten_bind_btRaycastVehicle_setCoordinateSystem_3=d._emscripten_bind_btRaycastVehicle_setCoordinateSystem_3,ip=c._emscripten_bind_btRaycastVehicle_setPitchControl_1=d._emscripten_bind_btRaycastVehicle_setPitchControl_1, jp=c._emscripten_bind_btRaycastVehicle_setSteeringValue_2=d._emscripten_bind_btRaycastVehicle_setSteeringValue_2,kp=c._emscripten_bind_btRaycastVehicle_setUserConstraintId_1=d._emscripten_bind_btRaycastVehicle_setUserConstraintId_1,lp=c._emscripten_bind_btRaycastVehicle_setUserConstraintType_1=d._emscripten_bind_btRaycastVehicle_setUserConstraintType_1,mp=c._emscripten_bind_btRaycastVehicle_updateAction_2=d._emscripten_bind_btRaycastVehicle_updateAction_2,np=c._emscripten_bind_btRaycastVehicle_updateFriction_1= d._emscripten_bind_btRaycastVehicle_updateFriction_1,op=c._emscripten_bind_btRaycastVehicle_updateSuspension_1=d._emscripten_bind_btRaycastVehicle_updateSuspension_1,pp=c._emscripten_bind_btRaycastVehicle_updateVehicle_1=d._emscripten_bind_btRaycastVehicle_updateVehicle_1,qp=c._emscripten_bind_btRaycastVehicle_updateWheelTransform_2=d._emscripten_bind_btRaycastVehicle_updateWheelTransform_2,rp=c._emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_1=d._emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_1, sp=c._emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_2=d._emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_2,tp=c._emscripten_bind_btRigidBodyConstructionInfo___destroy___0=d._emscripten_bind_btRigidBodyConstructionInfo___destroy___0,up=c._emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_3=d._emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_3,vp=c._emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_4=d._emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_4, wp=c._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingFactor_0=d._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingFactor_0,xp=c._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingThresholdSqr_0=d._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingThresholdSqr_0,yp=c._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDampingFactor_0=d._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDampingFactor_0, zp=c._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDamping_0=d._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDamping_0,Ap=c._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalLinearDampingThresholdSqr_0=d._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalLinearDampingThresholdSqr_0,Bp=c._emscripten_bind_btRigidBodyConstructionInfo_get_m_angularDamping_0=d._emscripten_bind_btRigidBodyConstructionInfo_get_m_angularDamping_0,Cp=c._emscripten_bind_btRigidBodyConstructionInfo_get_m_angularSleepingThreshold_0= d._emscripten_bind_btRigidBodyConstructionInfo_get_m_angularSleepingThreshold_0,Dp=c._emscripten_bind_btRigidBodyConstructionInfo_get_m_friction_0=d._emscripten_bind_btRigidBodyConstructionInfo_get_m_friction_0,Ep=c._emscripten_bind_btRigidBodyConstructionInfo_get_m_linearDamping_0=d._emscripten_bind_btRigidBodyConstructionInfo_get_m_linearDamping_0,Fp=c._emscripten_bind_btRigidBodyConstructionInfo_get_m_linearSleepingThreshold_0=d._emscripten_bind_btRigidBodyConstructionInfo_get_m_linearSleepingThreshold_0, Gp=c._emscripten_bind_btRigidBodyConstructionInfo_get_m_restitution_0=d._emscripten_bind_btRigidBodyConstructionInfo_get_m_restitution_0,Hp=c._emscripten_bind_btRigidBodyConstructionInfo_get_m_rollingFriction_0=d._emscripten_bind_btRigidBodyConstructionInfo_get_m_rollingFriction_0,Ip=c._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingFactor_1=d._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingFactor_1,Jp=c._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingThresholdSqr_1= d._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingThresholdSqr_1,Kp=c._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDampingFactor_1=d._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDampingFactor_1,Lp=c._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDamping_1=d._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDamping_1,Mp=c._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalLinearDampingThresholdSqr_1=d._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalLinearDampingThresholdSqr_1, Np=c._emscripten_bind_btRigidBodyConstructionInfo_set_m_angularDamping_1=d._emscripten_bind_btRigidBodyConstructionInfo_set_m_angularDamping_1,Op=c._emscripten_bind_btRigidBodyConstructionInfo_set_m_angularSleepingThreshold_1=d._emscripten_bind_btRigidBodyConstructionInfo_set_m_angularSleepingThreshold_1,Pp=c._emscripten_bind_btRigidBodyConstructionInfo_set_m_friction_1=d._emscripten_bind_btRigidBodyConstructionInfo_set_m_friction_1,Qp=c._emscripten_bind_btRigidBodyConstructionInfo_set_m_linearDamping_1= d._emscripten_bind_btRigidBodyConstructionInfo_set_m_linearDamping_1,Rp=c._emscripten_bind_btRigidBodyConstructionInfo_set_m_linearSleepingThreshold_1=d._emscripten_bind_btRigidBodyConstructionInfo_set_m_linearSleepingThreshold_1,Sp=c._emscripten_bind_btRigidBodyConstructionInfo_set_m_restitution_1=d._emscripten_bind_btRigidBodyConstructionInfo_set_m_restitution_1,Tp=c._emscripten_bind_btRigidBodyConstructionInfo_set_m_rollingFriction_1=d._emscripten_bind_btRigidBodyConstructionInfo_set_m_rollingFriction_1, Up=c._emscripten_bind_btRigidBody___destroy___0=d._emscripten_bind_btRigidBody___destroy___0,Vp=c._emscripten_bind_btRigidBody_activate_0=d._emscripten_bind_btRigidBody_activate_0,Wp=c._emscripten_bind_btRigidBody_activate_1=d._emscripten_bind_btRigidBody_activate_1,Xp=c._emscripten_bind_btRigidBody_applyCentralForce_1=d._emscripten_bind_btRigidBody_applyCentralForce_1,Yp=c._emscripten_bind_btRigidBody_applyCentralImpulse_1=d._emscripten_bind_btRigidBody_applyCentralImpulse_1,Zp=c._emscripten_bind_btRigidBody_applyCentralLocalForce_1= d._emscripten_bind_btRigidBody_applyCentralLocalForce_1,$p=c._emscripten_bind_btRigidBody_applyForce_2=d._emscripten_bind_btRigidBody_applyForce_2,aq=c._emscripten_bind_btRigidBody_applyGravity_0=d._emscripten_bind_btRigidBody_applyGravity_0,bq=c._emscripten_bind_btRigidBody_applyImpulse_2=d._emscripten_bind_btRigidBody_applyImpulse_2,cq=c._emscripten_bind_btRigidBody_applyLocalTorque_1=d._emscripten_bind_btRigidBody_applyLocalTorque_1,dq=c._emscripten_bind_btRigidBody_applyTorqueImpulse_1=d._emscripten_bind_btRigidBody_applyTorqueImpulse_1, eq=c._emscripten_bind_btRigidBody_applyTorque_1=d._emscripten_bind_btRigidBody_applyTorque_1,fq=c._emscripten_bind_btRigidBody_btRigidBody_1=d._emscripten_bind_btRigidBody_btRigidBody_1,gq=c._emscripten_bind_btRigidBody_forceActivationState_1=d._emscripten_bind_btRigidBody_forceActivationState_1,hq=c._emscripten_bind_btRigidBody_getAabb_2=d._emscripten_bind_btRigidBody_getAabb_2,iq=c._emscripten_bind_btRigidBody_getAngularVelocity_0=d._emscripten_bind_btRigidBody_getAngularVelocity_0,jq=c._emscripten_bind_btRigidBody_getCenterOfMassTransform_0= d._emscripten_bind_btRigidBody_getCenterOfMassTransform_0,kq=c._emscripten_bind_btRigidBody_getCollisionFlags_0=d._emscripten_bind_btRigidBody_getCollisionFlags_0,lq=c._emscripten_bind_btRigidBody_getCollisionShape_0=d._emscripten_bind_btRigidBody_getCollisionShape_0,mq=c._emscripten_bind_btRigidBody_getGravity_0=d._emscripten_bind_btRigidBody_getGravity_0,nq=c._emscripten_bind_btRigidBody_getLinearVelocity_0=d._emscripten_bind_btRigidBody_getLinearVelocity_0,oq=c._emscripten_bind_btRigidBody_getMotionState_0= d._emscripten_bind_btRigidBody_getMotionState_0,pq=c._emscripten_bind_btRigidBody_getUserIndex_0=d._emscripten_bind_btRigidBody_getUserIndex_0,qq=c._emscripten_bind_btRigidBody_getUserPointer_0=d._emscripten_bind_btRigidBody_getUserPointer_0,rq=c._emscripten_bind_btRigidBody_getWorldTransform_0=d._emscripten_bind_btRigidBody_getWorldTransform_0,sq=c._emscripten_bind_btRigidBody_isActive_0=d._emscripten_bind_btRigidBody_isActive_0,tq=c._emscripten_bind_btRigidBody_isKinematicObject_0=d._emscripten_bind_btRigidBody_isKinematicObject_0, uq=c._emscripten_bind_btRigidBody_isStaticObject_0=d._emscripten_bind_btRigidBody_isStaticObject_0,vq=c._emscripten_bind_btRigidBody_isStaticOrKinematicObject_0=d._emscripten_bind_btRigidBody_isStaticOrKinematicObject_0,wq=c._emscripten_bind_btRigidBody_setActivationState_1=d._emscripten_bind_btRigidBody_setActivationState_1,xq=c._emscripten_bind_btRigidBody_setAngularFactor_1=d._emscripten_bind_btRigidBody_setAngularFactor_1,yq=c._emscripten_bind_btRigidBody_setAngularVelocity_1=d._emscripten_bind_btRigidBody_setAngularVelocity_1, zq=c._emscripten_bind_btRigidBody_setAnisotropicFriction_2=d._emscripten_bind_btRigidBody_setAnisotropicFriction_2,Aq=c._emscripten_bind_btRigidBody_setCcdMotionThreshold_1=d._emscripten_bind_btRigidBody_setCcdMotionThreshold_1,Bq=c._emscripten_bind_btRigidBody_setCcdSweptSphereRadius_1=d._emscripten_bind_btRigidBody_setCcdSweptSphereRadius_1,Cq=c._emscripten_bind_btRigidBody_setCenterOfMassTransform_1=d._emscripten_bind_btRigidBody_setCenterOfMassTransform_1,Dq=c._emscripten_bind_btRigidBody_setCollisionFlags_1= d._emscripten_bind_btRigidBody_setCollisionFlags_1,Eq=c._emscripten_bind_btRigidBody_setCollisionShape_1=d._emscripten_bind_btRigidBody_setCollisionShape_1,Fq=c._emscripten_bind_btRigidBody_setContactProcessingThreshold_1=d._emscripten_bind_btRigidBody_setContactProcessingThreshold_1,Gq=c._emscripten_bind_btRigidBody_setDamping_2=d._emscripten_bind_btRigidBody_setDamping_2,Hq=c._emscripten_bind_btRigidBody_setFriction_1=d._emscripten_bind_btRigidBody_setFriction_1,Iq=c._emscripten_bind_btRigidBody_setGravity_1= d._emscripten_bind_btRigidBody_setGravity_1,Jq=c._emscripten_bind_btRigidBody_setLinearFactor_1=d._emscripten_bind_btRigidBody_setLinearFactor_1,Kq=c._emscripten_bind_btRigidBody_setLinearVelocity_1=d._emscripten_bind_btRigidBody_setLinearVelocity_1,Lq=c._emscripten_bind_btRigidBody_setMassProps_2=d._emscripten_bind_btRigidBody_setMassProps_2,Mq=c._emscripten_bind_btRigidBody_setMotionState_1=d._emscripten_bind_btRigidBody_setMotionState_1,Nq=c._emscripten_bind_btRigidBody_setRestitution_1=d._emscripten_bind_btRigidBody_setRestitution_1, Oq=c._emscripten_bind_btRigidBody_setRollingFriction_1=d._emscripten_bind_btRigidBody_setRollingFriction_1,Pq=c._emscripten_bind_btRigidBody_setSleepingThresholds_2=d._emscripten_bind_btRigidBody_setSleepingThresholds_2,Qq=c._emscripten_bind_btRigidBody_setUserIndex_1=d._emscripten_bind_btRigidBody_setUserIndex_1,Rq=c._emscripten_bind_btRigidBody_setUserPointer_1=d._emscripten_bind_btRigidBody_setUserPointer_1,Sq=c._emscripten_bind_btRigidBody_setWorldTransform_1=d._emscripten_bind_btRigidBody_setWorldTransform_1, Tq=c._emscripten_bind_btRigidBody_upcast_1=d._emscripten_bind_btRigidBody_upcast_1,Uq=c._emscripten_bind_btRigidBody_updateInertiaTensor_0=d._emscripten_bind_btRigidBody_updateInertiaTensor_0,Vq=c._emscripten_bind_btSequentialImpulseConstraintSolver___destroy___0=d._emscripten_bind_btSequentialImpulseConstraintSolver___destroy___0,Wq=c._emscripten_bind_btSequentialImpulseConstraintSolver_btSequentialImpulseConstraintSolver_0=d._emscripten_bind_btSequentialImpulseConstraintSolver_btSequentialImpulseConstraintSolver_0, Xq=c._emscripten_bind_btSliderConstraint___destroy___0=d._emscripten_bind_btSliderConstraint___destroy___0,Yq=c._emscripten_bind_btSliderConstraint_btSliderConstraint_3=d._emscripten_bind_btSliderConstraint_btSliderConstraint_3,Zq=c._emscripten_bind_btSliderConstraint_btSliderConstraint_5=d._emscripten_bind_btSliderConstraint_btSliderConstraint_5,$q=c._emscripten_bind_btSliderConstraint_enableFeedback_1=d._emscripten_bind_btSliderConstraint_enableFeedback_1,ar=c._emscripten_bind_btSliderConstraint_getBreakingImpulseThreshold_0= d._emscripten_bind_btSliderConstraint_getBreakingImpulseThreshold_0,br=c._emscripten_bind_btSliderConstraint_getParam_2=d._emscripten_bind_btSliderConstraint_getParam_2,cr=c._emscripten_bind_btSliderConstraint_setBreakingImpulseThreshold_1=d._emscripten_bind_btSliderConstraint_setBreakingImpulseThreshold_1,dr=c._emscripten_bind_btSliderConstraint_setLowerAngLimit_1=d._emscripten_bind_btSliderConstraint_setLowerAngLimit_1,er=c._emscripten_bind_btSliderConstraint_setLowerLinLimit_1=d._emscripten_bind_btSliderConstraint_setLowerLinLimit_1, fr=c._emscripten_bind_btSliderConstraint_setParam_3=d._emscripten_bind_btSliderConstraint_setParam_3,gr=c._emscripten_bind_btSliderConstraint_setUpperAngLimit_1=d._emscripten_bind_btSliderConstraint_setUpperAngLimit_1,hr=c._emscripten_bind_btSliderConstraint_setUpperLinLimit_1=d._emscripten_bind_btSliderConstraint_setUpperLinLimit_1,ir=c._emscripten_bind_btSoftBodyArray___destroy___0=d._emscripten_bind_btSoftBodyArray___destroy___0,jr=c._emscripten_bind_btSoftBodyArray_at_1=d._emscripten_bind_btSoftBodyArray_at_1, kr=c._emscripten_bind_btSoftBodyArray_size_0=d._emscripten_bind_btSoftBodyArray_size_0,lr=c._emscripten_bind_btSoftBodyHelpers_CreateEllipsoid_4=d._emscripten_bind_btSoftBodyHelpers_CreateEllipsoid_4,mr=c._emscripten_bind_btSoftBodyHelpers_CreateFromConvexHull_4=d._emscripten_bind_btSoftBodyHelpers_CreateFromConvexHull_4,nr=c._emscripten_bind_btSoftBodyHelpers_CreateFromTriMesh_5=d._emscripten_bind_btSoftBodyHelpers_CreateFromTriMesh_5,or=c._emscripten_bind_btSoftBodyHelpers_CreatePatchUV_10=d._emscripten_bind_btSoftBodyHelpers_CreatePatchUV_10, pr=c._emscripten_bind_btSoftBodyHelpers_CreatePatch_9=d._emscripten_bind_btSoftBodyHelpers_CreatePatch_9,qr=c._emscripten_bind_btSoftBodyHelpers_CreateRope_5=d._emscripten_bind_btSoftBodyHelpers_CreateRope_5,rr=c._emscripten_bind_btSoftBodyHelpers___destroy___0=d._emscripten_bind_btSoftBodyHelpers___destroy___0,sr=c._emscripten_bind_btSoftBodyHelpers_btSoftBodyHelpers_0=d._emscripten_bind_btSoftBodyHelpers_btSoftBodyHelpers_0,tr=c._emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration___destroy___0= d._emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration___destroy___0,ur=c._emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_0=d._emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_0,vr=c._emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_1=d._emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_1, wr=c._emscripten_bind_btSoftBodySolver___destroy___0=d._emscripten_bind_btSoftBodySolver___destroy___0,xr=c._emscripten_bind_btSoftBodyWorldInfo___destroy___0=d._emscripten_bind_btSoftBodyWorldInfo___destroy___0,yr=c._emscripten_bind_btSoftBodyWorldInfo_btSoftBodyWorldInfo_0=d._emscripten_bind_btSoftBodyWorldInfo_btSoftBodyWorldInfo_0,zr=c._emscripten_bind_btSoftBodyWorldInfo_get_air_density_0=d._emscripten_bind_btSoftBodyWorldInfo_get_air_density_0,Ar=c._emscripten_bind_btSoftBodyWorldInfo_get_m_broadphase_0= d._emscripten_bind_btSoftBodyWorldInfo_get_m_broadphase_0,Br=c._emscripten_bind_btSoftBodyWorldInfo_get_m_dispatcher_0=d._emscripten_bind_btSoftBodyWorldInfo_get_m_dispatcher_0,Cr=c._emscripten_bind_btSoftBodyWorldInfo_get_m_gravity_0=d._emscripten_bind_btSoftBodyWorldInfo_get_m_gravity_0,Dr=c._emscripten_bind_btSoftBodyWorldInfo_get_m_maxDisplacement_0=d._emscripten_bind_btSoftBodyWorldInfo_get_m_maxDisplacement_0,Er=c._emscripten_bind_btSoftBodyWorldInfo_get_water_density_0=d._emscripten_bind_btSoftBodyWorldInfo_get_water_density_0, Fr=c._emscripten_bind_btSoftBodyWorldInfo_get_water_normal_0=d._emscripten_bind_btSoftBodyWorldInfo_get_water_normal_0,Gr=c._emscripten_bind_btSoftBodyWorldInfo_get_water_offset_0=d._emscripten_bind_btSoftBodyWorldInfo_get_water_offset_0,Hr=c._emscripten_bind_btSoftBodyWorldInfo_set_air_density_1=d._emscripten_bind_btSoftBodyWorldInfo_set_air_density_1,Ir=c._emscripten_bind_btSoftBodyWorldInfo_set_m_broadphase_1=d._emscripten_bind_btSoftBodyWorldInfo_set_m_broadphase_1,Jr=c._emscripten_bind_btSoftBodyWorldInfo_set_m_dispatcher_1= d._emscripten_bind_btSoftBodyWorldInfo_set_m_dispatcher_1,Kr=c._emscripten_bind_btSoftBodyWorldInfo_set_m_gravity_1=d._emscripten_bind_btSoftBodyWorldInfo_set_m_gravity_1,Lr=c._emscripten_bind_btSoftBodyWorldInfo_set_m_maxDisplacement_1=d._emscripten_bind_btSoftBodyWorldInfo_set_m_maxDisplacement_1,Mr=c._emscripten_bind_btSoftBodyWorldInfo_set_water_density_1=d._emscripten_bind_btSoftBodyWorldInfo_set_water_density_1,Nr=c._emscripten_bind_btSoftBodyWorldInfo_set_water_normal_1=d._emscripten_bind_btSoftBodyWorldInfo_set_water_normal_1, Or=c._emscripten_bind_btSoftBodyWorldInfo_set_water_offset_1=d._emscripten_bind_btSoftBodyWorldInfo_set_water_offset_1,Pr=c._emscripten_bind_btSoftBody___destroy___0=d._emscripten_bind_btSoftBody___destroy___0,Qr=c._emscripten_bind_btSoftBody_activate_0=d._emscripten_bind_btSoftBody_activate_0,Rr=c._emscripten_bind_btSoftBody_activate_1=d._emscripten_bind_btSoftBody_activate_1,Sr=c._emscripten_bind_btSoftBody_addAeroForceToNode_2=d._emscripten_bind_btSoftBody_addAeroForceToNode_2,Tr=c._emscripten_bind_btSoftBody_addForce_1= d._emscripten_bind_btSoftBody_addForce_1,Ur=c._emscripten_bind_btSoftBody_addForce_2=d._emscripten_bind_btSoftBody_addForce_2,Vr=c._emscripten_bind_btSoftBody_appendAnchor_4=d._emscripten_bind_btSoftBody_appendAnchor_4,Wr=c._emscripten_bind_btSoftBody_appendFace_4=d._emscripten_bind_btSoftBody_appendFace_4,Xr=c._emscripten_bind_btSoftBody_appendLink_4=d._emscripten_bind_btSoftBody_appendLink_4,Yr=c._emscripten_bind_btSoftBody_appendMaterial_0=d._emscripten_bind_btSoftBody_appendMaterial_0,Zr=c._emscripten_bind_btSoftBody_appendNode_2= d._emscripten_bind_btSoftBody_appendNode_2,$r=c._emscripten_bind_btSoftBody_appendTetra_5=d._emscripten_bind_btSoftBody_appendTetra_5,as=c._emscripten_bind_btSoftBody_btSoftBody_4=d._emscripten_bind_btSoftBody_btSoftBody_4,bs=c._emscripten_bind_btSoftBody_checkFace_3=d._emscripten_bind_btSoftBody_checkFace_3,cs=c._emscripten_bind_btSoftBody_checkLink_2=d._emscripten_bind_btSoftBody_checkLink_2,ds=c._emscripten_bind_btSoftBody_forceActivationState_1=d._emscripten_bind_btSoftBody_forceActivationState_1, es=c._emscripten_bind_btSoftBody_generateBendingConstraints_2=d._emscripten_bind_btSoftBody_generateBendingConstraints_2,gs=c._emscripten_bind_btSoftBody_generateClusters_1=d._emscripten_bind_btSoftBody_generateClusters_1,hs=c._emscripten_bind_btSoftBody_generateClusters_2=d._emscripten_bind_btSoftBody_generateClusters_2,is=c._emscripten_bind_btSoftBody_getCollisionFlags_0=d._emscripten_bind_btSoftBody_getCollisionFlags_0,js=c._emscripten_bind_btSoftBody_getCollisionShape_0=d._emscripten_bind_btSoftBody_getCollisionShape_0, ks=c._emscripten_bind_btSoftBody_getTotalMass_0=d._emscripten_bind_btSoftBody_getTotalMass_0,ls=c._emscripten_bind_btSoftBody_getUserIndex_0=d._emscripten_bind_btSoftBody_getUserIndex_0,ms=c._emscripten_bind_btSoftBody_getUserPointer_0=d._emscripten_bind_btSoftBody_getUserPointer_0,ns=c._emscripten_bind_btSoftBody_getWorldTransform_0=d._emscripten_bind_btSoftBody_getWorldTransform_0,ps=c._emscripten_bind_btSoftBody_get_m_anchors_0=d._emscripten_bind_btSoftBody_get_m_anchors_0,qs=c._emscripten_bind_btSoftBody_get_m_cfg_0= d._emscripten_bind_btSoftBody_get_m_cfg_0,rs=c._emscripten_bind_btSoftBody_get_m_materials_0=d._emscripten_bind_btSoftBody_get_m_materials_0,ss=c._emscripten_bind_btSoftBody_get_m_nodes_0=d._emscripten_bind_btSoftBody_get_m_nodes_0,ts=c._emscripten_bind_btSoftBody_isActive_0=d._emscripten_bind_btSoftBody_isActive_0,us=c._emscripten_bind_btSoftBody_isKinematicObject_0=d._emscripten_bind_btSoftBody_isKinematicObject_0,vs=c._emscripten_bind_btSoftBody_isStaticObject_0=d._emscripten_bind_btSoftBody_isStaticObject_0, xs=c._emscripten_bind_btSoftBody_isStaticOrKinematicObject_0=d._emscripten_bind_btSoftBody_isStaticOrKinematicObject_0,ys=c._emscripten_bind_btSoftBody_rotate_1=d._emscripten_bind_btSoftBody_rotate_1,zs=c._emscripten_bind_btSoftBody_scale_1=d._emscripten_bind_btSoftBody_scale_1,As=c._emscripten_bind_btSoftBody_setActivationState_1=d._emscripten_bind_btSoftBody_setActivationState_1,Bs=c._emscripten_bind_btSoftBody_setAnisotropicFriction_2=d._emscripten_bind_btSoftBody_setAnisotropicFriction_2,Cs=c._emscripten_bind_btSoftBody_setCcdMotionThreshold_1= d._emscripten_bind_btSoftBody_setCcdMotionThreshold_1,Ds=c._emscripten_bind_btSoftBody_setCcdSweptSphereRadius_1=d._emscripten_bind_btSoftBody_setCcdSweptSphereRadius_1,Es=c._emscripten_bind_btSoftBody_setCollisionFlags_1=d._emscripten_bind_btSoftBody_setCollisionFlags_1,Fs=c._emscripten_bind_btSoftBody_setCollisionShape_1=d._emscripten_bind_btSoftBody_setCollisionShape_1,Gs=c._emscripten_bind_btSoftBody_setContactProcessingThreshold_1=d._emscripten_bind_btSoftBody_setContactProcessingThreshold_1, Hs=c._emscripten_bind_btSoftBody_setFriction_1=d._emscripten_bind_btSoftBody_setFriction_1,Is=c._emscripten_bind_btSoftBody_setMass_2=d._emscripten_bind_btSoftBody_setMass_2,Js=c._emscripten_bind_btSoftBody_setRestitution_1=d._emscripten_bind_btSoftBody_setRestitution_1,Ks=c._emscripten_bind_btSoftBody_setRollingFriction_1=d._emscripten_bind_btSoftBody_setRollingFriction_1,Ls=c._emscripten_bind_btSoftBody_setTotalMass_2=d._emscripten_bind_btSoftBody_setTotalMass_2,Ms=c._emscripten_bind_btSoftBody_setUserIndex_1= d._emscripten_bind_btSoftBody_setUserIndex_1,Ns=c._emscripten_bind_btSoftBody_setUserPointer_1=d._emscripten_bind_btSoftBody_setUserPointer_1,Os=c._emscripten_bind_btSoftBody_setWorldTransform_1=d._emscripten_bind_btSoftBody_setWorldTransform_1,Ps=c._emscripten_bind_btSoftBody_set_m_anchors_1=d._emscripten_bind_btSoftBody_set_m_anchors_1,Qs=c._emscripten_bind_btSoftBody_set_m_cfg_1=d._emscripten_bind_btSoftBody_set_m_cfg_1,Rs=c._emscripten_bind_btSoftBody_set_m_materials_1=d._emscripten_bind_btSoftBody_set_m_materials_1, Ss=c._emscripten_bind_btSoftBody_set_m_nodes_1=d._emscripten_bind_btSoftBody_set_m_nodes_1,Ts=c._emscripten_bind_btSoftBody_transform_1=d._emscripten_bind_btSoftBody_transform_1,Us=c._emscripten_bind_btSoftBody_translate_1=d._emscripten_bind_btSoftBody_translate_1,Vs=c._emscripten_bind_btSoftBody_upcast_1=d._emscripten_bind_btSoftBody_upcast_1,Ws=c._emscripten_bind_btSoftRigidDynamicsWorld___destroy___0=d._emscripten_bind_btSoftRigidDynamicsWorld___destroy___0,Xs=c._emscripten_bind_btSoftRigidDynamicsWorld_addAction_1= d._emscripten_bind_btSoftRigidDynamicsWorld_addAction_1,Ys=c._emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_1=d._emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_1,Zs=c._emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_2=d._emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_2,$s=c._emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_3=d._emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_3,at=c._emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_1= d._emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_1,bt=c._emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_2=d._emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_2,ct=c._emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_1=d._emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_1,dt=c._emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_3=d._emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_3,et=c._emscripten_bind_btSoftRigidDynamicsWorld_addSoftBody_3=d._emscripten_bind_btSoftRigidDynamicsWorld_addSoftBody_3, ft=c._emscripten_bind_btSoftRigidDynamicsWorld_btSoftRigidDynamicsWorld_5=d._emscripten_bind_btSoftRigidDynamicsWorld_btSoftRigidDynamicsWorld_5,gt=c._emscripten_bind_btSoftRigidDynamicsWorld_contactPairTest_3=d._emscripten_bind_btSoftRigidDynamicsWorld_contactPairTest_3,ht=c._emscripten_bind_btSoftRigidDynamicsWorld_contactTest_2=d._emscripten_bind_btSoftRigidDynamicsWorld_contactTest_2,it=c._emscripten_bind_btSoftRigidDynamicsWorld_convexSweepTest_5=d._emscripten_bind_btSoftRigidDynamicsWorld_convexSweepTest_5, jt=c._emscripten_bind_btSoftRigidDynamicsWorld_getBroadphase_0=d._emscripten_bind_btSoftRigidDynamicsWorld_getBroadphase_0,kt=c._emscripten_bind_btSoftRigidDynamicsWorld_getDispatchInfo_0=d._emscripten_bind_btSoftRigidDynamicsWorld_getDispatchInfo_0,lt=c._emscripten_bind_btSoftRigidDynamicsWorld_getDispatcher_0=d._emscripten_bind_btSoftRigidDynamicsWorld_getDispatcher_0,mt=c._emscripten_bind_btSoftRigidDynamicsWorld_getGravity_0=d._emscripten_bind_btSoftRigidDynamicsWorld_getGravity_0,nt=c._emscripten_bind_btSoftRigidDynamicsWorld_getPairCache_0= d._emscripten_bind_btSoftRigidDynamicsWorld_getPairCache_0,ot=c._emscripten_bind_btSoftRigidDynamicsWorld_getSoftBodyArray_0=d._emscripten_bind_btSoftRigidDynamicsWorld_getSoftBodyArray_0,pt=c._emscripten_bind_btSoftRigidDynamicsWorld_getSolverInfo_0=d._emscripten_bind_btSoftRigidDynamicsWorld_getSolverInfo_0,qt=c._emscripten_bind_btSoftRigidDynamicsWorld_getWorldInfo_0=d._emscripten_bind_btSoftRigidDynamicsWorld_getWorldInfo_0,rt=c._emscripten_bind_btSoftRigidDynamicsWorld_rayTest_3=d._emscripten_bind_btSoftRigidDynamicsWorld_rayTest_3, st=c._emscripten_bind_btSoftRigidDynamicsWorld_removeAction_1=d._emscripten_bind_btSoftRigidDynamicsWorld_removeAction_1,tt=c._emscripten_bind_btSoftRigidDynamicsWorld_removeCollisionObject_1=d._emscripten_bind_btSoftRigidDynamicsWorld_removeCollisionObject_1,ut=c._emscripten_bind_btSoftRigidDynamicsWorld_removeConstraint_1=d._emscripten_bind_btSoftRigidDynamicsWorld_removeConstraint_1,vt=c._emscripten_bind_btSoftRigidDynamicsWorld_removeRigidBody_1=d._emscripten_bind_btSoftRigidDynamicsWorld_removeRigidBody_1, wt=c._emscripten_bind_btSoftRigidDynamicsWorld_removeSoftBody_1=d._emscripten_bind_btSoftRigidDynamicsWorld_removeSoftBody_1,xt=c._emscripten_bind_btSoftRigidDynamicsWorld_setGravity_1=d._emscripten_bind_btSoftRigidDynamicsWorld_setGravity_1,yt=c._emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_1=d._emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_1,zt=c._emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_2=d._emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_2,At=c._emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_3= d._emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_3,Bt=c._emscripten_bind_btSoftRigidDynamicsWorld_updateSingleAabb_1=d._emscripten_bind_btSoftRigidDynamicsWorld_updateSingleAabb_1,Ct=c._emscripten_bind_btSphereShape___destroy___0=d._emscripten_bind_btSphereShape___destroy___0,Dt=c._emscripten_bind_btSphereShape_btSphereShape_1=d._emscripten_bind_btSphereShape_btSphereShape_1,Et=c._emscripten_bind_btSphereShape_calculateLocalInertia_2=d._emscripten_bind_btSphereShape_calculateLocalInertia_2, Ft=c._emscripten_bind_btSphereShape_getLocalScaling_0=d._emscripten_bind_btSphereShape_getLocalScaling_0,Gt=c._emscripten_bind_btSphereShape_getMargin_0=d._emscripten_bind_btSphereShape_getMargin_0,Ht=c._emscripten_bind_btSphereShape_setLocalScaling_1=d._emscripten_bind_btSphereShape_setLocalScaling_1,It=c._emscripten_bind_btSphereShape_setMargin_1=d._emscripten_bind_btSphereShape_setMargin_1,Jt=c._emscripten_bind_btStaticPlaneShape___destroy___0=d._emscripten_bind_btStaticPlaneShape___destroy___0, Kt=c._emscripten_bind_btStaticPlaneShape_btStaticPlaneShape_2=d._emscripten_bind_btStaticPlaneShape_btStaticPlaneShape_2,Lt=c._emscripten_bind_btStaticPlaneShape_calculateLocalInertia_2=d._emscripten_bind_btStaticPlaneShape_calculateLocalInertia_2,Mt=c._emscripten_bind_btStaticPlaneShape_getLocalScaling_0=d._emscripten_bind_btStaticPlaneShape_getLocalScaling_0,Nt=c._emscripten_bind_btStaticPlaneShape_setLocalScaling_1=d._emscripten_bind_btStaticPlaneShape_setLocalScaling_1,Ot=c._emscripten_bind_btStridingMeshInterface___destroy___0= d._emscripten_bind_btStridingMeshInterface___destroy___0,Pt=c._emscripten_bind_btTransform___destroy___0=d._emscripten_bind_btTransform___destroy___0,Qt=c._emscripten_bind_btTransform_btTransform_0=d._emscripten_bind_btTransform_btTransform_0,Rt=c._emscripten_bind_btTransform_btTransform_2=d._emscripten_bind_btTransform_btTransform_2,St=c._emscripten_bind_btTransform_getBasis_0=d._emscripten_bind_btTransform_getBasis_0,Tt=c._emscripten_bind_btTransform_getOrigin_0=d._emscripten_bind_btTransform_getOrigin_0, Ut=c._emscripten_bind_btTransform_getRotation_0=d._emscripten_bind_btTransform_getRotation_0,Vt=c._emscripten_bind_btTransform_setFromOpenGLMatrix_1=d._emscripten_bind_btTransform_setFromOpenGLMatrix_1,Wt=c._emscripten_bind_btTransform_setIdentity_0=d._emscripten_bind_btTransform_setIdentity_0,Xt=c._emscripten_bind_btTransform_setOrigin_1=d._emscripten_bind_btTransform_setOrigin_1,Yt=c._emscripten_bind_btTransform_setRotation_1=d._emscripten_bind_btTransform_setRotation_1,Zt=c._emscripten_bind_btTriangleMeshShape___destroy___0= d._emscripten_bind_btTriangleMeshShape___destroy___0,$t=c._emscripten_bind_btTriangleMeshShape_calculateLocalInertia_2=d._emscripten_bind_btTriangleMeshShape_calculateLocalInertia_2,au=c._emscripten_bind_btTriangleMeshShape_getLocalScaling_0=d._emscripten_bind_btTriangleMeshShape_getLocalScaling_0,bu=c._emscripten_bind_btTriangleMeshShape_setLocalScaling_1=d._emscripten_bind_btTriangleMeshShape_setLocalScaling_1,cu=c._emscripten_bind_btTriangleMesh___destroy___0=d._emscripten_bind_btTriangleMesh___destroy___0, du=c._emscripten_bind_btTriangleMesh_addTriangle_3=d._emscripten_bind_btTriangleMesh_addTriangle_3,eu=c._emscripten_bind_btTriangleMesh_addTriangle_4=d._emscripten_bind_btTriangleMesh_addTriangle_4,fu=c._emscripten_bind_btTriangleMesh_btTriangleMesh_0=d._emscripten_bind_btTriangleMesh_btTriangleMesh_0,gu=c._emscripten_bind_btTriangleMesh_btTriangleMesh_1=d._emscripten_bind_btTriangleMesh_btTriangleMesh_1,hu=c._emscripten_bind_btTriangleMesh_btTriangleMesh_2=d._emscripten_bind_btTriangleMesh_btTriangleMesh_2, iu=c._emscripten_bind_btTypedConstraint___destroy___0=d._emscripten_bind_btTypedConstraint___destroy___0,ju=c._emscripten_bind_btTypedConstraint_enableFeedback_1=d._emscripten_bind_btTypedConstraint_enableFeedback_1,ku=c._emscripten_bind_btTypedConstraint_getBreakingImpulseThreshold_0=d._emscripten_bind_btTypedConstraint_getBreakingImpulseThreshold_0,lu=c._emscripten_bind_btTypedConstraint_getParam_2=d._emscripten_bind_btTypedConstraint_getParam_2,mu=c._emscripten_bind_btTypedConstraint_setBreakingImpulseThreshold_1= d._emscripten_bind_btTypedConstraint_setBreakingImpulseThreshold_1,nu=c._emscripten_bind_btTypedConstraint_setParam_3=d._emscripten_bind_btTypedConstraint_setParam_3,ou=c._emscripten_bind_btVector3___destroy___0=d._emscripten_bind_btVector3___destroy___0,pu=c._emscripten_bind_btVector3_btVector3_0=d._emscripten_bind_btVector3_btVector3_0,qu=c._emscripten_bind_btVector3_btVector3_3=d._emscripten_bind_btVector3_btVector3_3,ru=c._emscripten_bind_btVector3_dot_1=d._emscripten_bind_btVector3_dot_1,su= c._emscripten_bind_btVector3_length_0=d._emscripten_bind_btVector3_length_0,tu=c._emscripten_bind_btVector3_normalize_0=d._emscripten_bind_btVector3_normalize_0,uu=c._emscripten_bind_btVector3_op_add_1=d._emscripten_bind_btVector3_op_add_1,vu=c._emscripten_bind_btVector3_op_mul_1=d._emscripten_bind_btVector3_op_mul_1,wu=c._emscripten_bind_btVector3_op_sub_1=d._emscripten_bind_btVector3_op_sub_1,xu=c._emscripten_bind_btVector3_rotate_2=d._emscripten_bind_btVector3_rotate_2,yu=c._emscripten_bind_btVector3_setValue_3= d._emscripten_bind_btVector3_setValue_3,zu=c._emscripten_bind_btVector3_setX_1=d._emscripten_bind_btVector3_setX_1,Au=c._emscripten_bind_btVector3_setY_1=d._emscripten_bind_btVector3_setY_1,Bu=c._emscripten_bind_btVector3_setZ_1=d._emscripten_bind_btVector3_setZ_1,Cu=c._emscripten_bind_btVector3_x_0=d._emscripten_bind_btVector3_x_0,Du=c._emscripten_bind_btVector3_y_0=d._emscripten_bind_btVector3_y_0,Eu=c._emscripten_bind_btVector3_z_0=d._emscripten_bind_btVector3_z_0,Fu=c._emscripten_bind_btVector4___destroy___0= d._emscripten_bind_btVector4___destroy___0,Gu=c._emscripten_bind_btVector4_btVector4_0=d._emscripten_bind_btVector4_btVector4_0,Hu=c._emscripten_bind_btVector4_btVector4_4=d._emscripten_bind_btVector4_btVector4_4,Iu=c._emscripten_bind_btVector4_dot_1=d._emscripten_bind_btVector4_dot_1,Ju=c._emscripten_bind_btVector4_length_0=d._emscripten_bind_btVector4_length_0,Ku=c._emscripten_bind_btVector4_normalize_0=d._emscripten_bind_btVector4_normalize_0,Lu=c._emscripten_bind_btVector4_op_add_1=d._emscripten_bind_btVector4_op_add_1, Mu=c._emscripten_bind_btVector4_op_mul_1=d._emscripten_bind_btVector4_op_mul_1,Nu=c._emscripten_bind_btVector4_op_sub_1=d._emscripten_bind_btVector4_op_sub_1,Ou=c._emscripten_bind_btVector4_rotate_2=d._emscripten_bind_btVector4_rotate_2,Pu=c._emscripten_bind_btVector4_setValue_4=d._emscripten_bind_btVector4_setValue_4,Qu=c._emscripten_bind_btVector4_setX_1=d._emscripten_bind_btVector4_setX_1,Ru=c._emscripten_bind_btVector4_setY_1=d._emscripten_bind_btVector4_setY_1,Su=c._emscripten_bind_btVector4_setZ_1= d._emscripten_bind_btVector4_setZ_1,Tu=c._emscripten_bind_btVector4_w_0=d._emscripten_bind_btVector4_w_0,Uu=c._emscripten_bind_btVector4_x_0=d._emscripten_bind_btVector4_x_0,Vu=c._emscripten_bind_btVector4_y_0=d._emscripten_bind_btVector4_y_0,Wu=c._emscripten_bind_btVector4_z_0=d._emscripten_bind_btVector4_z_0,Xu=c._emscripten_bind_btVehicleRaycasterResult___destroy___0=d._emscripten_bind_btVehicleRaycasterResult___destroy___0,Yu=c._emscripten_bind_btVehicleRaycasterResult_get_m_distFraction_0=d._emscripten_bind_btVehicleRaycasterResult_get_m_distFraction_0, Zu=c._emscripten_bind_btVehicleRaycasterResult_get_m_hitNormalInWorld_0=d._emscripten_bind_btVehicleRaycasterResult_get_m_hitNormalInWorld_0,$u=c._emscripten_bind_btVehicleRaycasterResult_get_m_hitPointInWorld_0=d._emscripten_bind_btVehicleRaycasterResult_get_m_hitPointInWorld_0,av=c._emscripten_bind_btVehicleRaycasterResult_set_m_distFraction_1=d._emscripten_bind_btVehicleRaycasterResult_set_m_distFraction_1,bv=c._emscripten_bind_btVehicleRaycasterResult_set_m_hitNormalInWorld_1=d._emscripten_bind_btVehicleRaycasterResult_set_m_hitNormalInWorld_1, cv=c._emscripten_bind_btVehicleRaycasterResult_set_m_hitPointInWorld_1=d._emscripten_bind_btVehicleRaycasterResult_set_m_hitPointInWorld_1,dv=c._emscripten_bind_btVehicleRaycaster___destroy___0=d._emscripten_bind_btVehicleRaycaster___destroy___0,ev=c._emscripten_bind_btVehicleRaycaster_castRay_3=d._emscripten_bind_btVehicleRaycaster_castRay_3,fv=c._emscripten_bind_btVehicleTuning_btVehicleTuning_0=d._emscripten_bind_btVehicleTuning_btVehicleTuning_0,gv=c._emscripten_bind_btVehicleTuning_get_m_frictionSlip_0= d._emscripten_bind_btVehicleTuning_get_m_frictionSlip_0,hv=c._emscripten_bind_btVehicleTuning_get_m_maxSuspensionForce_0=d._emscripten_bind_btVehicleTuning_get_m_maxSuspensionForce_0,iv=c._emscripten_bind_btVehicleTuning_get_m_maxSuspensionTravelCm_0=d._emscripten_bind_btVehicleTuning_get_m_maxSuspensionTravelCm_0,jv=c._emscripten_bind_btVehicleTuning_get_m_suspensionCompression_0=d._emscripten_bind_btVehicleTuning_get_m_suspensionCompression_0,kv=c._emscripten_bind_btVehicleTuning_get_m_suspensionDamping_0= d._emscripten_bind_btVehicleTuning_get_m_suspensionDamping_0,lv=c._emscripten_bind_btVehicleTuning_get_m_suspensionStiffness_0=d._emscripten_bind_btVehicleTuning_get_m_suspensionStiffness_0,mv=c._emscripten_bind_btVehicleTuning_set_m_frictionSlip_1=d._emscripten_bind_btVehicleTuning_set_m_frictionSlip_1,nv=c._emscripten_bind_btVehicleTuning_set_m_maxSuspensionForce_1=d._emscripten_bind_btVehicleTuning_set_m_maxSuspensionForce_1,ov=c._emscripten_bind_btVehicleTuning_set_m_maxSuspensionTravelCm_1=d._emscripten_bind_btVehicleTuning_set_m_maxSuspensionTravelCm_1, pv=c._emscripten_bind_btVehicleTuning_set_m_suspensionCompression_1=d._emscripten_bind_btVehicleTuning_set_m_suspensionCompression_1,qv=c._emscripten_bind_btVehicleTuning_set_m_suspensionDamping_1=d._emscripten_bind_btVehicleTuning_set_m_suspensionDamping_1,rv=c._emscripten_bind_btVehicleTuning_set_m_suspensionStiffness_1=d._emscripten_bind_btVehicleTuning_set_m_suspensionStiffness_1,sv=c._emscripten_bind_btWheelInfoConstructionInfo___destroy___0=d._emscripten_bind_btWheelInfoConstructionInfo___destroy___0, tv=c._emscripten_bind_btWheelInfoConstructionInfo_get_m_bIsFrontWheel_0=d._emscripten_bind_btWheelInfoConstructionInfo_get_m_bIsFrontWheel_0,uv=c._emscripten_bind_btWheelInfoConstructionInfo_get_m_chassisConnectionCS_0=d._emscripten_bind_btWheelInfoConstructionInfo_get_m_chassisConnectionCS_0,vv=c._emscripten_bind_btWheelInfoConstructionInfo_get_m_frictionSlip_0=d._emscripten_bind_btWheelInfoConstructionInfo_get_m_frictionSlip_0,wv=c._emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionForce_0= d._emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionForce_0,xv=c._emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionTravelCm_0=d._emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionTravelCm_0,yv=c._emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionRestLength_0=d._emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionRestLength_0,zv=c._emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionStiffness_0=d._emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionStiffness_0, Av=c._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelAxleCS_0=d._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelAxleCS_0,Bv=c._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelDirectionCS_0=d._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelDirectionCS_0,Cv=c._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelRadius_0=d._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelRadius_0,Dv=c._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingCompression_0= d._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingCompression_0,Ev=c._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingRelaxation_0=d._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingRelaxation_0,Fv=c._emscripten_bind_btWheelInfoConstructionInfo_set_m_bIsFrontWheel_1=d._emscripten_bind_btWheelInfoConstructionInfo_set_m_bIsFrontWheel_1,Gv=c._emscripten_bind_btWheelInfoConstructionInfo_set_m_chassisConnectionCS_1=d._emscripten_bind_btWheelInfoConstructionInfo_set_m_chassisConnectionCS_1, Hv=c._emscripten_bind_btWheelInfoConstructionInfo_set_m_frictionSlip_1=d._emscripten_bind_btWheelInfoConstructionInfo_set_m_frictionSlip_1,Iv=c._emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionForce_1=d._emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionForce_1,Jv=c._emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionTravelCm_1=d._emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionTravelCm_1,Kv=c._emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionRestLength_1= d._emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionRestLength_1,Lv=c._emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionStiffness_1=d._emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionStiffness_1,Mv=c._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelAxleCS_1=d._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelAxleCS_1,Nv=c._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelDirectionCS_1=d._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelDirectionCS_1, Ov=c._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelRadius_1=d._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelRadius_1,Pv=c._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingCompression_1=d._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingCompression_1,Qv=c._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingRelaxation_1=d._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingRelaxation_1,Rv=c._emscripten_bind_btWheelInfo___destroy___0= d._emscripten_bind_btWheelInfo___destroy___0,Sv=c._emscripten_bind_btWheelInfo_btWheelInfo_1=d._emscripten_bind_btWheelInfo_btWheelInfo_1,Tv=c._emscripten_bind_btWheelInfo_getSuspensionRestLength_0=d._emscripten_bind_btWheelInfo_getSuspensionRestLength_0,Uv=c._emscripten_bind_btWheelInfo_get_m_bIsFrontWheel_0=d._emscripten_bind_btWheelInfo_get_m_bIsFrontWheel_0,Vv=c._emscripten_bind_btWheelInfo_get_m_brake_0=d._emscripten_bind_btWheelInfo_get_m_brake_0,Wv=c._emscripten_bind_btWheelInfo_get_m_chassisConnectionPointCS_0= d._emscripten_bind_btWheelInfo_get_m_chassisConnectionPointCS_0,Xv=c._emscripten_bind_btWheelInfo_get_m_clippedInvContactDotSuspension_0=d._emscripten_bind_btWheelInfo_get_m_clippedInvContactDotSuspension_0,Yv=c._emscripten_bind_btWheelInfo_get_m_deltaRotation_0=d._emscripten_bind_btWheelInfo_get_m_deltaRotation_0,Zv=c._emscripten_bind_btWheelInfo_get_m_engineForce_0=d._emscripten_bind_btWheelInfo_get_m_engineForce_0,$v=c._emscripten_bind_btWheelInfo_get_m_frictionSlip_0=d._emscripten_bind_btWheelInfo_get_m_frictionSlip_0, aw=c._emscripten_bind_btWheelInfo_get_m_maxSuspensionForce_0=d._emscripten_bind_btWheelInfo_get_m_maxSuspensionForce_0,bw=c._emscripten_bind_btWheelInfo_get_m_maxSuspensionTravelCm_0=d._emscripten_bind_btWheelInfo_get_m_maxSuspensionTravelCm_0,cw=c._emscripten_bind_btWheelInfo_get_m_raycastInfo_0=d._emscripten_bind_btWheelInfo_get_m_raycastInfo_0,dw=c._emscripten_bind_btWheelInfo_get_m_rollInfluence_0=d._emscripten_bind_btWheelInfo_get_m_rollInfluence_0,ew=c._emscripten_bind_btWheelInfo_get_m_rotation_0= d._emscripten_bind_btWheelInfo_get_m_rotation_0,fw=c._emscripten_bind_btWheelInfo_get_m_skidInfo_0=d._emscripten_bind_btWheelInfo_get_m_skidInfo_0,gw=c._emscripten_bind_btWheelInfo_get_m_steering_0=d._emscripten_bind_btWheelInfo_get_m_steering_0,hw=c._emscripten_bind_btWheelInfo_get_m_suspensionRelativeVelocity_0=d._emscripten_bind_btWheelInfo_get_m_suspensionRelativeVelocity_0,iw=c._emscripten_bind_btWheelInfo_get_m_suspensionRestLength1_0=d._emscripten_bind_btWheelInfo_get_m_suspensionRestLength1_0, jw=c._emscripten_bind_btWheelInfo_get_m_suspensionStiffness_0=d._emscripten_bind_btWheelInfo_get_m_suspensionStiffness_0,kw=c._emscripten_bind_btWheelInfo_get_m_wheelAxleCS_0=d._emscripten_bind_btWheelInfo_get_m_wheelAxleCS_0,lw=c._emscripten_bind_btWheelInfo_get_m_wheelDirectionCS_0=d._emscripten_bind_btWheelInfo_get_m_wheelDirectionCS_0,mw=c._emscripten_bind_btWheelInfo_get_m_wheelsDampingCompression_0=d._emscripten_bind_btWheelInfo_get_m_wheelsDampingCompression_0,nw=c._emscripten_bind_btWheelInfo_get_m_wheelsDampingRelaxation_0= d._emscripten_bind_btWheelInfo_get_m_wheelsDampingRelaxation_0,ow=c._emscripten_bind_btWheelInfo_get_m_wheelsRadius_0=d._emscripten_bind_btWheelInfo_get_m_wheelsRadius_0,pw=c._emscripten_bind_btWheelInfo_get_m_wheelsSuspensionForce_0=d._emscripten_bind_btWheelInfo_get_m_wheelsSuspensionForce_0,qw=c._emscripten_bind_btWheelInfo_get_m_worldTransform_0=d._emscripten_bind_btWheelInfo_get_m_worldTransform_0,rw=c._emscripten_bind_btWheelInfo_set_m_bIsFrontWheel_1=d._emscripten_bind_btWheelInfo_set_m_bIsFrontWheel_1, sw=c._emscripten_bind_btWheelInfo_set_m_brake_1=d._emscripten_bind_btWheelInfo_set_m_brake_1,tw=c._emscripten_bind_btWheelInfo_set_m_chassisConnectionPointCS_1=d._emscripten_bind_btWheelInfo_set_m_chassisConnectionPointCS_1,uw=c._emscripten_bind_btWheelInfo_set_m_clippedInvContactDotSuspension_1=d._emscripten_bind_btWheelInfo_set_m_clippedInvContactDotSuspension_1,vw=c._emscripten_bind_btWheelInfo_set_m_deltaRotation_1=d._emscripten_bind_btWheelInfo_set_m_deltaRotation_1,ww=c._emscripten_bind_btWheelInfo_set_m_engineForce_1= d._emscripten_bind_btWheelInfo_set_m_engineForce_1,xw=c._emscripten_bind_btWheelInfo_set_m_frictionSlip_1=d._emscripten_bind_btWheelInfo_set_m_frictionSlip_1,yw=c._emscripten_bind_btWheelInfo_set_m_maxSuspensionForce_1=d._emscripten_bind_btWheelInfo_set_m_maxSuspensionForce_1,zw=c._emscripten_bind_btWheelInfo_set_m_maxSuspensionTravelCm_1=d._emscripten_bind_btWheelInfo_set_m_maxSuspensionTravelCm_1,Aw=c._emscripten_bind_btWheelInfo_set_m_raycastInfo_1=d._emscripten_bind_btWheelInfo_set_m_raycastInfo_1, Bw=c._emscripten_bind_btWheelInfo_set_m_rollInfluence_1=d._emscripten_bind_btWheelInfo_set_m_rollInfluence_1,Cw=c._emscripten_bind_btWheelInfo_set_m_rotation_1=d._emscripten_bind_btWheelInfo_set_m_rotation_1,Dw=c._emscripten_bind_btWheelInfo_set_m_skidInfo_1=d._emscripten_bind_btWheelInfo_set_m_skidInfo_1,Ew=c._emscripten_bind_btWheelInfo_set_m_steering_1=d._emscripten_bind_btWheelInfo_set_m_steering_1,Fw=c._emscripten_bind_btWheelInfo_set_m_suspensionRelativeVelocity_1=d._emscripten_bind_btWheelInfo_set_m_suspensionRelativeVelocity_1, Gw=c._emscripten_bind_btWheelInfo_set_m_suspensionRestLength1_1=d._emscripten_bind_btWheelInfo_set_m_suspensionRestLength1_1,Hw=c._emscripten_bind_btWheelInfo_set_m_suspensionStiffness_1=d._emscripten_bind_btWheelInfo_set_m_suspensionStiffness_1,Iw=c._emscripten_bind_btWheelInfo_set_m_wheelAxleCS_1=d._emscripten_bind_btWheelInfo_set_m_wheelAxleCS_1,Jw=c._emscripten_bind_btWheelInfo_set_m_wheelDirectionCS_1=d._emscripten_bind_btWheelInfo_set_m_wheelDirectionCS_1,Kw=c._emscripten_bind_btWheelInfo_set_m_wheelsDampingCompression_1= d._emscripten_bind_btWheelInfo_set_m_wheelsDampingCompression_1,Lw=c._emscripten_bind_btWheelInfo_set_m_wheelsDampingRelaxation_1=d._emscripten_bind_btWheelInfo_set_m_wheelsDampingRelaxation_1,Mw=c._emscripten_bind_btWheelInfo_set_m_wheelsRadius_1=d._emscripten_bind_btWheelInfo_set_m_wheelsRadius_1,Nw=c._emscripten_bind_btWheelInfo_set_m_wheelsSuspensionForce_1=d._emscripten_bind_btWheelInfo_set_m_wheelsSuspensionForce_1,Ow=c._emscripten_bind_btWheelInfo_set_m_worldTransform_1=d._emscripten_bind_btWheelInfo_set_m_worldTransform_1, Pw=c._emscripten_bind_btWheelInfo_updateWheel_2=d._emscripten_bind_btWheelInfo_updateWheel_2,Qw=c._emscripten_bind_tAnchorArray___destroy___0=d._emscripten_bind_tAnchorArray___destroy___0,Rw=c._emscripten_bind_tAnchorArray_at_1=d._emscripten_bind_tAnchorArray_at_1,Sw=c._emscripten_bind_tAnchorArray_clear_0=d._emscripten_bind_tAnchorArray_clear_0,Tw=c._emscripten_bind_tAnchorArray_pop_back_0=d._emscripten_bind_tAnchorArray_pop_back_0,Uw=c._emscripten_bind_tAnchorArray_push_back_1=d._emscripten_bind_tAnchorArray_push_back_1, Vw=c._emscripten_bind_tAnchorArray_size_0=d._emscripten_bind_tAnchorArray_size_0,Ww=c._emscripten_bind_tMaterialArray___destroy___0=d._emscripten_bind_tMaterialArray___destroy___0,Xw=c._emscripten_bind_tMaterialArray_at_1=d._emscripten_bind_tMaterialArray_at_1,Yw=c._emscripten_bind_tMaterialArray_size_0=d._emscripten_bind_tMaterialArray_size_0,Zw=c._emscripten_bind_tNodeArray___destroy___0=d._emscripten_bind_tNodeArray___destroy___0,$w=c._emscripten_bind_tNodeArray_at_1=d._emscripten_bind_tNodeArray_at_1, ax=c._emscripten_bind_tNodeArray_size_0=d._emscripten_bind_tNodeArray_size_0,bx=c._emscripten_enum_PHY_ScalarType_PHY_DOUBLE=d._emscripten_enum_PHY_ScalarType_PHY_DOUBLE,cx=c._emscripten_enum_PHY_ScalarType_PHY_FIXEDPOINT88=d._emscripten_enum_PHY_ScalarType_PHY_FIXEDPOINT88,dx=c._emscripten_enum_PHY_ScalarType_PHY_FLOAT=d._emscripten_enum_PHY_ScalarType_PHY_FLOAT,ex=c._emscripten_enum_PHY_ScalarType_PHY_INTEGER=d._emscripten_enum_PHY_ScalarType_PHY_INTEGER,fx=c._emscripten_enum_PHY_ScalarType_PHY_SHORT= d._emscripten_enum_PHY_ScalarType_PHY_SHORT,gx=c._emscripten_enum_PHY_ScalarType_PHY_UCHAR=d._emscripten_enum_PHY_ScalarType_PHY_UCHAR,hx=c._emscripten_enum_btConstraintParams_BT_CONSTRAINT_CFM=d._emscripten_enum_btConstraintParams_BT_CONSTRAINT_CFM,ix=c._emscripten_enum_btConstraintParams_BT_CONSTRAINT_ERP=d._emscripten_enum_btConstraintParams_BT_CONSTRAINT_ERP,jx=c._emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_CFM=d._emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_CFM,kx=c._emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_ERP= d._emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_ERP;c._free=d._free;c._i64Add=d._i64Add;c._i64Subtract=d._i64Subtract;c._llvm_bswap_i16=d._llvm_bswap_i16;c._llvm_bswap_i32=d._llvm_bswap_i32;var eb=c._malloc=d._malloc;c._memcpy=d._memcpy;c._memmove=d._memmove;c._memset=d._memset;c._sbrk=d._sbrk;c.establishStackSpace=d.establishStackSpace;c.getTempRet0=d.getTempRet0;c.runPostSets=d.runPostSets;var db=c.setTempRet0=d.setTempRet0;c.setThrew=d.setThrew;c.stackAlloc=d.stackAlloc; c.stackRestore=d.stackRestore;c.stackSave=d.stackSave;c.dynCall_di=d.dynCall_di;c.dynCall_did=d.dynCall_did;c.dynCall_diidii=d.dynCall_diidii;c.dynCall_diii=d.dynCall_diii;c.dynCall_diiidii=d.dynCall_diiidii;c.dynCall_diiii=d.dynCall_diiii;c.dynCall_diiiii=d.dynCall_diiiii;c.dynCall_diiiiiiii=d.dynCall_diiiiiiii;c.dynCall_diiiiiiiii=d.dynCall_diiiiiiiii;c.dynCall_diiiiiiiiii=d.dynCall_diiiiiiiiii;c.dynCall_ii=d.dynCall_ii;c.dynCall_iidid=d.dynCall_iidid;c.dynCall_iii=d.dynCall_iii; c.dynCall_iiid=d.dynCall_iiid;c.dynCall_iiii=d.dynCall_iiii;c.dynCall_iiiii=d.dynCall_iiiii;c.dynCall_iiiiiii=d.dynCall_iiiiiii;c.dynCall_iiiiiiiiii=d.dynCall_iiiiiiiiii;c.dynCall_iiiiiiiiiii=d.dynCall_iiiiiiiiiii;c.dynCall_v=d.dynCall_v;c.dynCall_vi=d.dynCall_vi;c.dynCall_vid=d.dynCall_vid;c.dynCall_vidd=d.dynCall_vidd;c.dynCall_viddiii=d.dynCall_viddiii;c.dynCall_vidi=d.dynCall_vidi;c.dynCall_vidii=d.dynCall_vidii;c.dynCall_vii=d.dynCall_vii;c.dynCall_viid=d.dynCall_viid;c.dynCall_viidi=d.dynCall_viidi; c.dynCall_viidii=d.dynCall_viidii;c.dynCall_viii=d.dynCall_viii;c.dynCall_viiid=d.dynCall_viiid;c.dynCall_viiidii=d.dynCall_viiidii;c.dynCall_viiii=d.dynCall_viiii;c.dynCall_viiiid=d.dynCall_viiiid;c.dynCall_viiiidddddidi=d.dynCall_viiiidddddidi;c.dynCall_viiiiddddiid=d.dynCall_viiiiddddiid;c.dynCall_viiiii=d.dynCall_viiiii;c.dynCall_viiiiid=d.dynCall_viiiiid;c.dynCall_viiiiii=d.dynCall_viiiiii;c.dynCall_viiiiiii=d.dynCall_viiiiiii;c.dynCall_viiiiiiiii=d.dynCall_viiiiiiiii;c.dynCall_viiiiiiiiii=d.dynCall_viiiiiiiiii; c.asm=d; if(Ua)if((String.prototype.startsWith?Ua.startsWith(Va):0===Ua.indexOf(Va))||("function"===typeof c.locateFile?Ua=c.locateFile(Ua):c.memoryInitializerPrefixURL&&(Ua=c.memoryInitializerPrefixURL+Ua)),ea||fa){var lx=c.readBinary(Ua);va.set(lx,8)}else{var nx=function(){c.readAsync(Ua,mx,function(){throw"could not load memory initializer "+Ua;})};Ra++;c.monitorRunDependencies&&c.monitorRunDependencies(Ra);var mx=function(a){a.byteLength&&(a=new Uint8Array(a));va.set(a,8);c.memoryInitializerRequest&&delete c.memoryInitializerRequest.response; Ra--;c.monitorRunDependencies&&c.monitorRunDependencies(Ra);0==Ra&&(null!==Sa&&(clearInterval(Sa),Sa=null),Ta&&(a=Ta,Ta=null,a()))},ox=ja(Ua);if(ox)mx(ox.buffer);else if(c.memoryInitializerRequest){var px=function(){var a=c.memoryInitializerRequest,b=a.response;if(200!==a.status&&0!==a.status)if(b=ja(c.memoryInitializerRequestURL))b=b.buffer;else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+a.status+", retrying "+Ua);nx();return}mx(b)};c.memoryInitializerRequest.response? setTimeout(px,0):c.memoryInitializerRequest.addEventListener("load",px)}else nx()}c.then=function(a){if(c.calledRun)a(c);else{var b=c.onRuntimeInitialized;c.onRuntimeInitialized=function(){b&&b();a(c)}}return c};function ka(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}ka.prototype=Error();ka.prototype.constructor=ka;var qx=null;Ta=function rx(){c.calledRun||sx();c.calledRun||(Ta=rx)}; function sx(){function a(){if(!c.calledRun&&(c.calledRun=!0,!ra)){Oa||(Oa=!0,Ia(Ka));Ia(La);if(c.onRuntimeInitialized)c.onRuntimeInitialized();if(c.postRun)for("function"==typeof c.postRun&&(c.postRun=[c.postRun]);c.postRun.length;){var a=c.postRun.shift();Na.unshift(a)}Ia(Na)}}null===qx&&(qx=Date.now());if(!(0=ux?(assert(0>=1;break;case 4:e>>=2;break;case 8:e>>=3}for(var f=0;f