Difference between revisions of "MediaWiki:Common.js"

From LifeWiki
Jump to navigation Jump to search
(LV build 214)
(Trying a new method of using LifeViewer)
(7 intermediate revisions by 2 users not shown)
Line 97: Line 97:
   
   
addOnloadHook( createCollapseButtons );
addOnloadHook( createCollapseButtons );
// LifeViewer plugin (Build 214)
(function(){var z;window.performance||(window.performance={});window.performance.now||(window.performance.now=function(){return performance.now||performance.jq||performance.kq||performance.lq||performance.webkitNow||function(){return(new Date).getTime()}}());window.requestAnimationFrame||(window.requestAnimationFrame=window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame);window.cancelRequestAnimationFrame||(window.cancelRequestAnimationFrame=
window.webkitCancelRequestAnimationFrame||window.mozCancelRequestAnimationFrame||window.oCancelRequestAnimationFrame||window.msCancelRequestAnimationFrame);window.Uint8Array?window.typedArrays=!0:(window.typedArrays=!1,window.Uint8Array=Array);window.Uint8ClampedArray||(window.Uint8ClampedArray=window.Uint8Array);window.Uint16Array||(window.Uint16Array=Array);window.Uint32Array||(window.Uint32Array=Array);Array.c=function(u,g,k){var q,c=0,e=[];if(0!==u*g){for(e.sb=new Uint8Array(g*u);c<u;)q=new Uint8Array(e.sb.buffer,
c*g,g),e[c]=q,c+=1;if(0!==k)for(c=0;c<u*g;)e.sb[c]=k,c+=1}return e};Array.b=function(u,g){var k,q=0,c=[];if(0!==u*g)for(c.sb=new Uint8Array(g*u*2);q<u;)k=new Uint16Array(c.sb.buffer,q*g*2,g),c[q]=k,q+=1;return c};Array.S=function(u){var g,k=0,q=[];if(0!==1*u)for(q.sb=new Uint8Array(4*u);1>k;)g=new Uint32Array(q.sb.buffer,k*u*4,u),q[k]=g,k+=1;return q};Array.V=function(u,g){var k=0,q=u.length,c=new Uint8Array(u[0].length);if(0!==g)for(;k<q;)c[k]=g,k+=1;u[u.length]=c};Array.ba=function(u,g){var k=0,
q=u.length,c=new Uint16Array(u[0].length);if(0!==g)for(;k<q;)c[k]=g,k+=1;u[u.length]=c};Array.L=function(u){var g=u.length,k=new Uint32Array(u[0].length);u[g]=k};Array.fa=function(u,g){var k=0,q=u.sb.length,c=g.sb.length,e=!0;if(q!==c)e=!1;else for(;e&&k<q;)q[k]!==c[k]&&(e=!1),k+=1;return e};Array.l=function(u,g){g.sb.set(u.sb)};Array.v=function(u){var g,k=u.length,q=u.sb.length/u.length,c=[];for(g=0;g<k;g+=1)c[g]=new Uint16Array(u.sb.buffer,g*q,q>>1);return c};Array.da=function(u){var g,k=u.length,
q=u.sb.length/u.length,c=[];for(g=0;g<k;g+=1)c[g]=new Uint32Array(u.sb.buffer,g*q,q>>2);return c};Array.g=function(u,g){var k,q=u.length,c=[];switch(u[0].BYTES_PER_ELEMENT){case 1:for(k=0;k<q;k+=1)c[k]=new Uint8Array(u.sb.buffer,k*u.sb.length/q+g);break;case 2:for(k=0;k<q;k+=1)c[k]=new Uint16Array(u.sb.buffer,k*u.sb.length/q+g);break;case 4:for(k=0;k<q;k+=1)c[k]=new Uint32Array(u.sb.buffer,k*u.sb.length/q+g)}return c};z=new Uint32Array(1);z[0]=4660;52===(new Uint8Array(z.buffer))[0]?window.littleEndian=
!0:window.littleEndian=!1;window.registerEvent=function(u,g,k,q){u.addEventListener?u.addEventListener(g,k,q):u.attachEvent("on"+g,k)}})();window.AliasManager={f:[],$c:function(){this.f=[];this.f.push(["Totalistic",""]);this.f.push(["","B3/S23"]);this.f.push(["Conway's Life","B3/S23"]);this.f.push(["2x2","B36/S125"]);this.f.push(["34 Life","B34/S34"]);this.f.push(["3-4 Life","B34/S34"]);this.f.push(["Amoeba","B357/S1358"]);this.f.push(["AntiLife","B0123478/S01234678"]);this.f.push(["Assimilation","B345/S4567"]);this.f.push(["Bacteria","B34/S456"]);this.f.push(["Blinkers","B345/S2"]);this.f.push(["Bugs","B3567/S15678"]);this.f.push(["Coagulations",
"B378/S235678"]);this.f.push(["Coral","B3/S45678"]);this.f.push(["Corrosion of Conformity","B3/S124"]);this.f.push(["Day & Night","B3678/S34678"]);this.f.push(["Day and Night","B3678/S34678"]);this.f.push(["Diamoeba","B35678/S5678"]);this.f.push(["DotLife","B3/S023"]);this.f.push(["DryLife","B37/S23"]);this.f.push(["EightLife","B3/S238"]);this.f.push(["Electrified Maze","B45/S12345"]);this.f.push(["Flock","B3/S12"]);this.f.push(["Fredkin","B1357/S02468"]);this.f.push(["Gnarl","B1/S1"]);this.f.push(["H-Trees",
"B1/S012345678"]);this.f.push(["HighLife","B36/S23"]);this.f.push(["HoneyLife","B38/S238"]);this.f.push(["Holstein","B35678/S4678"]);this.f.push(["Iceballs","B25678/S5678"]);this.f.push(["InverseLife","B012345678/S34678"]);this.f.push(["Land Rush","B36/S234578"]);this.f.push(["Life without Death","B3/S012345678"]);this.f.push(["Life","B3/S23"]);this.f.push(["Live Free or Die","B2/S0"]);this.f.push(["LongLife","B345/S5"]);this.f.push(["Long Life","B345/S5"]);this.f.push(["LowDeath","B368/S238"]);this.f.push(["LowLife",
"B3/S13"]);this.f.push(["Majority","B45678/S5678"]);this.f.push(["Maze","B3/S12345"]);this.f.push(["Maze with Mice","B37/S12345"]);this.f.push(["Mazectric","B3/S1234"]);this.f.push(["Mazectric with Mice","B37/S1234"]);this.f.push(["Morley","B368/S245"]);this.f.push(["Move","B368/S245"]);this.f.push(["Pedestrian Life","B38/S23"]);this.f.push(["Persian Rug","B234/S"]);this.f.push(["Plow World","B378/S012345678"]);this.f.push(["Pseudo Life","B357/S238"]);this.f.push(["Replicator","B1357/S1357"]);this.f.push(["Seeds",
"B2/S"]);this.f.push(["Serviettes","B234/S"]);this.f.push(["Slow Blob","B367/S125678"]);this.f.push(["SnowLife","B3/S1237"]);this.f.push(["Stains","B3678/S235678"]);this.f.push(["Vote","B5678/S45678"]);this.f.push(["Vote 4/5","B4678/S35678"]);this.f.push(["Walled Cities","B45678/S2345"]);this.f.push(["Isotropic Non-Totalistic",""]);this.f.push(["aLife","B3/S234w"]);this.f.push(["CB2","B2ae4i/S1e2in"]);this.f.push(["DLife","B3-n/S23"]);this.f.push(["GlideLife","B34ek5ak/S2-c34z"]);this.f.push(["Goat Flock",
"B2in3/S123a"]);this.f.push(["Kgdm","B3/S2-c3-en4ceitz"]);this.f.push(["Salad","B2i34c/S2-i3"]);this.f.push(["tDryLife","B37/S2-i34q"]);this.f.push(["tHighLife","B36/S2-i34q"]);this.f.push(["TLife","B3/S2-i34q"]);this.f.push(["Generations",""]);this.f.push(["Banners","2367/3457/5"]);this.f.push(["BelZhab","23/23/8"]);this.f.push(["BelZhab Sediment","145678/23/8"]);this.f.push(["Bloomerang","234/34678/24"]);this.f.push(["Bombers","345/24/25"]);this.f.push(["Brain 6","6/246/3"]);this.f.push(["Brian's Brain",
"/2/3"]);this.f.push(["Burst","0235678/3468/9"]);this.f.push(["BurstII","235678/3468/9"]);this.f.push(["Caterpillars","124567/378/4"]);this.f.push(["Chenille","05678/24567/6"]);this.f.push(["Circuit Genesis","2345/1234/8"]);this.f.push(["Cooties","23/2/8"]);this.f.push(["Ebb&Flow","012478/36/18"]);this.f.push(["Ebb&Flow II","012468/37/18"]);this.f.push(["Faders","02/02/2025"]);this.f.push(["Fireworks","2/13/21"]);this.f.push(["Flaming Starbows","347/23/8"]);this.f.push(["Frogs","12/34/3"]);this.f.push(["Frozen spirals",
"356/23/6"]);this.f.push(["Glisserati","035678/245678/7"]);this.f.push(["Glissergy","035678/245678/5"]);this.f.push(["Lava","12345/45678/8"]);this.f.push(["Lines","012345/458/3"]);this.f.push(["LivingOn TheEdge","345/3/6"]);this.f.push(["Meteor Guns","01245678/3/8"]);this.f.push(["Nova","45678/2478/25"]);this.f.push(["OrthoGo","3/2/4"]);this.f.push(["Prairie on fire","345/34/6"]);this.f.push(["RainZha","2/23/8"]);this.f.push(["Rake","3467/2678/6"]);this.f.push(["SediMental","45678/25678/4"]);this.f.push(["Snake",
"03467/25/6"]);this.f.push(["SoftFreeze","13458/38/6"]);this.f.push(["Spirals","2/234/5"]);this.f.push(["Star Wars","345/2/4"]);this.f.push(["Sticks","06/02/3456"]);this.f.push(["Swirl","23/34/8"]);this.f.push(["ThrillGrill","1234/34/48"]);this.f.push(["Transers","345/26/5"]);this.f.push(["TransersII","0345/26/6"]);this.f.push(["Wanderers","345/34678/5"]);this.f.push(["Worms","3467/25/6"]);this.f.push(["Xtasy","1456/2356/16"])},zo:function(z){var u=null,g=0;for(z=z.toLowerCase();g<this.f.length&&
null===u;)""!==this.f[g][1]&&this.f[g][0].toLowerCase()===z&&(u=this.f[g][1]),g+=1;return u},yo:function(z){for(var u=null,g=0;g<this.f.length&&null===u;)""!==this.f[g][1]&&this.f[g][1]===z&&(u=this.f[g][0]),g+=1;return u}};(function(){function z(a,c,b,e,f){this.h=f;this.V=a;this.ba=c;this.fa=b;this.g="";this.v=a;this.L=c;this.da=b;this.Vd="";this.b=e;this.S=this.l=0;this.Gm=this.Dj="rgb(32,255,255)";this.c=0;this.zj=!1;this.xa="black";this.enabled=!1}function u(a,c,b,e){this.name=a;this.width=c;this.height=b;this.Qo=e}function g(a,c){this.c=c;this.g=a;this.b=[]}function k(a,c,b,n,f,p,d,l,m,x,B,w,r,k,g,v,q,A,E,t){this.id=a;this.U="";this.If=-1;this.i=!1;this.lb=c;this.caller=b;this.icon=E;this.x=f;this.y=p;this.gd=f;
this.b=p;this.position=n;this.width=d;this.height=l;this.border=k;this.type=w;r===e.rl?this.orientation=d>=l?e.Ob:e.sj:this.orientation=r;this.lower=m;this.upper=x;w===e.Sg?this.current=[B,B]:this.current=B;this.dl=g;this.Ya=v;this.zk=q;this.fixed=A;this.kk=!1;this.yh=this.xh=this.Bh=this.Ah=this.hm=this.gm=-1;this.textAlign=e.yl;this.enabled=!0;this.locked=!1;this.ai=[];this.cj=0;this.Co=!1;this.pd=t.pd;this.Sc=t.Sc;this.ud=t.ud;this.Vb=t.Vb;this.ie=t.ie;this.he=t.he;this.Uf=t.Uf;this.Ye=t.Ye;this.je=
t.je;this.Me=t.Me;this.border=t.border;this.font=t.Fg}function q(a,c,b,n,f){this.b=n;this.Fg=f;this.locked=this.i=!1;this.Qe=this.Sd=-1;this.rb=!1;this.v=6;this.lb=a;this.lc=[];this.ta=0;this.pd="";this.Sc=0;this.ud="";this.Vb=0;this.ie="";this.he=0;this.Uf="";this.Ye=0;this.je="";this.border=this.Me=0;this.g=e.rl;this.Qg=this.hh=-1;this.Pj=null;this.ii=c;this.caller=b;this.Da=null}function c(a,c,b,e,f,p){var d=this,l=0,m=a.canvas;this.l=this.v=40;this.Lp=50;this.Id=0;this.b=this.c=this.L=-1;this.Qf=
!1;this.caller=f;this.Zf=this.ea=!1;this.tb=4;this.Fi=p;this.hasFocus=this.Cj=!1;this.jh=!0;this.ei=!1;this.di=1;this.pd="black";this.Sc=.7;this.ud="rgb(32,255,255)";this.Vb=1;this.ie="rgb(0,240,32)";this.he=.7;this.Uf="blue";this.Ye=.7;this.je="grey";this.border=this.Me=1;this.xl=function(m){return function(){m.ha(m)}}(this);this.Da=e;this.zd=a;this.Qb=c;this.rb=!1;this.ne=this.me=-1;this.xb=null;this.Fg=b;this.Ug=this.Vf=!1;this.lk=performance.now();this.rm=1E3;this.Of=5;this.Zh=0;this.jk=[];this.nk=
[];this.ik=[];for(l=0;5>l;l+=1)this.jk[l]=0,this.nk[l]=0,this.ik[l]=0;this.Eh=null;this.bg=!1;this.notification=new z(25,100,25,c,this);registerEvent(m,"mousedown",function(m){d.S(d,m)},!1);registerEvent(m,"mousemove",function(m){d.V(d,m)},!1);registerEvent(m,"mouseup",function(m){d.fa(d,m)},!1);registerEvent(m,"mouseover",function(m){d.da(d,m)},!1);registerEvent(m,"mouseout",function(m){d.ba(d,m)},!1);registerEvent(m,"touchstart",function(m){d.g(d,m)},!1);registerEvent(m,"touchmove",function(m){d.g(d,
m)},!1);registerEvent(m,"touchend",function(m){d.g(d,m)},!1)}z.prototype.Af=function(){var a=!1;if(""!==this.g||""!==this.Vd)a=!0;return a};z.prototype.clear=function(a,c){a?""!==this.Vd&&(c?this.Vd="":this.S=performance.now()-(this.v+this.L)):""!==this.g&&(c?this.g="":this.l=performance.now()-(this.V+this.ba))};z.prototype.H=function(a,c,b){this.enabled&&(b?this.Vd!==a&&(this.Vd=a,this.v=240,this.L=16*c,this.da=240,this.S=performance.now(),this.c=0,this.zj=!1):(this.g=a,this.V=240,this.ba=16*c,this.fa=
240,this.l=performance.now()))};z.prototype.Ge=function(a,c){var b;b=this.b.measureText(a).width>>1;this.b.fillStyle=this.xa;this.b.fillText(a,-b+2,2);c?this.zj?(this.b.fillStyle=128>this.c?"rgb("+2*this.c+","+2*this.c+",255)":"rgb("+2*(256-this.c)+","+2*(256-this.c)+",255)",this.c=this.c+4&255):this.b.fillStyle=this.Gm:this.b.fillStyle=this.Dj;this.b.fillText(a,-b,0)};z.prototype.ha=function(a,c,b,e,f,p,d){var l=30,m=l+2,x=this.h.tb,B=60,w=!0;""!==a&&(w=!1,f=performance.now()-f,this.b.save(),this.h.ea&&
(d?(B=0,p=this.b.canvas.height/2):(l/=x,m=m/x|0,p=p/x|0,B=B/x|0)),this.b.font=l+"px Arial",this.b.translate(this.b.canvas.width/2,B+p),f<=c?(p=f/c,p*=p,this.b.globalAlpha=p,this.b.scale(p,p)):f>c+b&&f<=c+b+e&&(p=(e-(f-(c+b)))/e,p*=p,this.b.globalAlpha=p,this.b.scale(p,p)),f>c+b+e?w=!0:(c=a.indexOf("\\n"),-1===c?this.Ge(a,d):(this.Ge(a.substr(0,c),d),this.b.translate(0,m),this.Ge(a.substr(c+2),d))),this.b.restore());return w};z.prototype.update=function(){this.ha(this.g,this.V,this.ba,this.fa,this.l,
36,!1)&&(this.g="");this.h.ea&&"Expand"!==this.Vd&&"Launch"!==this.Vd||!this.ha(this.Vd,this.v,this.L,this.da,this.S,0,!0)||(this.Vd="")};g.prototype.Ge=function(a,c,b){this.c.drawImage(this.g,a.Qo*a.width,0,a.width,a.height,c,b,a.width,a.height)};g.prototype.length=function(){return this.b.length};g.prototype.icon=function(a){var c,b=this.b,e=this.length(),f=null;for(c=0;c<e&&!f;)b[c].name===a?f=b[c]:c+=1;return f};g.prototype.add=function(a,c,b){var e=this.b.length;this.b[e]=new u(a,c,b,e)};var e=
{rl:0,Ob:1,sj:2,Sg:0,button:1,toggle:2,fd:3,list:4,label:5,Mk:0,Ad:1,left:0,yl:1,right:2,sk:0,mc:1,Ol:2,Fd:3,Tm:4,$e:5,gq:6,Cd:7,Ko:8};k.prototype.Kn=function(a,c){this.x=this.gd;this.y=this.b;switch(this.position){case e.sk:this.x=(a-this.width>>1)+this.gd;break;case e.mc:this.x=a+this.gd;break;case e.Ol:this.y=(c-this.height>>1)+this.b;this.x=a+this.gd;break;case e.Fd:this.x=a+this.gd;this.y=c+this.b;break;case e.Tm:this.x=(a-this.width>>1)+this.gd;this.y=c+this.b;break;case e.$e:this.y=c+this.b;
break;case e.bq:this.y=(c-this.height>>1)+this.b;break;case e.Ko:this.x=(a-this.width>>1)+this.gd,this.y=(c-this.height>>1)+this.b}};k.prototype.ol=function(a,c){var b=this.cj;this.ai[b]=[a,c];this.cj=b+1};k.prototype.ml=function(a){var c=[],b,e;e=a.length;for(b=0;b<e;b+=1)a[b].ol(this,!0);e=c.length;for(b=0;b<e;b+=1)c[b].ol(this,!1)};k.prototype.Oo=function(a,c){var b=!1;this.enabled&&a>=this.x&&a<this.x+this.width&&c>=this.y&&c<this.y+this.height&&(b=!0);return b};q.prototype.l=function(a,c){var b,
n,f=a.cj;a.type===e.list&&a.upper===e.Ad?b=a.current[0]:b=a.current===a.upper;a.Co&&(b=!b);if(b&&c)for(n=0;n<f;n+=1)b&=this.l(a.ai[n][0],a.ai[n][1]);return b};q.prototype.en=function(a){var c,b,e=a.cj;c=!0;for(b=0;b<e;b+=1)c&=this.l(a.ai[b][0],a.ai[b][1]);a.enabled=c};q.prototype.$c=function(){var a,c;for(c=0;c<this.ta;c+=1){a=this.lc[c];a.enabled=!0;switch(a.type){case e.toggle:a.lb&&(a.current=a.lb(a.current===a.upper,!1,this.caller)?a.upper:a.lower);break;case e.Sg:a.lb&&(a.current=a.lb(a.current,
!1,this.caller));break;case e.list:a.lb&&(a.current=a.lb(a.current,!1,this.caller))}this.en(a)}};q.prototype.ld=function(a,c,b,n,f,p,d,l,m){this.lc[this.ta]=new k(this.ta,a,this.caller,c,b,n,f,p,d,m,l,e.list,this.g,this.border,!0,"","",-1,[],this);this.ta+=1;return this.lc[this.ta-1]};q.prototype.pf=function(a,c,b,n,f,p,d,l,m,x,B,w){this.lc[this.ta]=new k(this.ta,a,this.caller,c,b,n,f,p,d,l,m,e.Sg,this.g,this.border,!0,x,B,w,null,this);this.ta+=1;return this.lc[this.ta-1]};q.prototype.za=function(a,
c,b,n,f,p){this.lc[this.ta]=new k(this.ta,null,null,a,c,b,n,f,0,0,0,e.label,this.g,this.border,!0,p,"",-1,null,this);this.ta+=1;return this.lc[this.ta-1]};q.prototype.ll=function(a,c,b){this.lc[this.ta]=new k(this.ta,a,this.caller,Menu.Cd,c,b,40,40,0,0,0,e.button,this.g,this.border,!0,"","",-1,null,this);this.ta+=1;return this.lc[this.ta-1]};q.prototype.En=function(){this.lc[this.ta]=new k(this.ta,null,null,Menu.$e,0,-40,100,40,0,100,0,e.fd,this.g,this.border,!1,"","",0,null,this);this.ta+=1;return this.lc[this.ta-
1]};q.prototype.c=function(a,c,b){var n,f,p,d,l;a+=String();if(""!==a){this.b.save();this.b.translate(c.x+c.width/2,c.y+c.height/2);this.b.font=c.font;c.orientation===e.sj&&this.b.rotate(.5*Math.PI);n=this.b.measureText(a).width;f=c.orientation===e.sj?c.height:c.width;if(n>=f-6){if(p=a.length){do--p,d=a.substr(0,p)+"...",n=this.b.measureText(d).width;while(1<p&&n>=f-6)}a=d}switch(c.textAlign){case e.left:l=c.width/2-2;break;case e.yl:l=n/2;break;case e.right:l=n/2-(c.width-n)/2+4}this.b.fillStyle=
this.pd;b&&this.b.fillRect(2-l,2,n,2);this.b.fillText(a,2-l+.5,2.5);this.b.fillStyle=c.locked||this.locked?this.je:this.ud;this.b.fillText(a,-l+.5,.5);b&&this.b.fillRect(-l,0,n,2);this.b.restore()}};q.prototype.V=function(a){this.b.globalAlpha=this.Vb;this.c(a.Ya,a,!1)};q.prototype.L=function(a){this.b.globalAlpha=this.Vb;this.c(a.Ya,a,!1);a.icon&&this.Da.Ge(a.icon,a.x,a.y)};q.prototype.da=function(a){var c;c=(a.current-a.lower)/(a.upper-a.lower);this.b.globalAlpha=this.Sc;this.b.fillStyle=this.ud;
a.orientation===e.Ob?(c*=a.width-3,this.b.fillRect(a.x+(c+1|0),a.y,1,a.height)):(c*=a.height-3,this.b.fillRect(a.x,a.y+(c+1|0),a.width,1));c=a.Ya;a.dl&&(c=-1!==a.fixed?c+a.current.toFixed(a.fixed):c+a.current,c+=a.zk);""!==c&&(this.b.globalAlpha=this.Vb,this.c(c,a,!1))};q.prototype.fa=function(a,c){var b,n;b=(a.current[0]-a.lower)/(a.upper-a.lower);n=this.v;a.orientation===e.Ob?(b*=a.width-3,b=b+1|0,c&&(this.b.fillStyle=this.ie,this.b.globalAlpha=this.he,this.b.fillRect(a.x+b-n,a.y,n,a.height),this.b.fillRect(a.x+
b+1,a.y,n,a.height)),a.locked||this.locked?(this.b.fillStyle=this.je,this.b.globalAlpha=this.Me):(this.b.fillStyle=this.ud,this.b.globalAlpha=this.Vb),this.b.fillRect(a.x+b,a.y,1,a.height)):(b*=a.height-3,b=b+1|0,c&&(this.b.fillStyle=this.ie,this.b.globalAlpha=this.he,this.b.fillRect(a.x,a.y+b-n,a.width,n),this.b.fillRect(a.x,a.y+b+1,a.width,n)),a.locked||this.locked?(this.b.fillStyle=this.je,this.b.globalAlpha=this.Me):(this.b.fillStyle=this.ud,this.b.globalAlpha=this.Vb),this.b.fillRect(a.x,a.y+
b,a.width,1));b=a.Ya;a.dl&&(b=0<=a.fixed?b+a.current[1].toFixed(a.fixed):b+a.current[1]);b+=a.zk;""!==b&&(this.b.globalAlpha=this.Vb,this.c(b,a,!1))};q.prototype.ha=function(a){var c,b;this.b.globalAlpha=this.Vb;c="-"===a.lower&&""===a.upper&&a.current===a.lower;b=a.Ya;a.dl&&!c&&(b+=a.current);b+=a.zk;this.c(b,a,c)};q.prototype.ba=function(a,c){var b,n,f,p,d,l,m,x,B,w;p=a.x;d=a.y;m=a.width;x=a.height;B=a.orientation;w=a.current;f=a.lower;n=f.length;l=a.orientation===e.Ob?m/n:x/n;this.b.globalAlpha=
this.Ye;this.b.fillStyle=this.Uf;if(a.upper===e.Mk)b=a.current,a.orientation===e.Ob?this.b.fillRect(p+b*l+1,d+1,l-2,x-2):this.b.fillRect(p+1,d+1+b*l,m-2,l-2);else if(a.orientation===e.Ob)for(b=0;b<n;b+=1)w[b]&&this.b.fillRect(p+b*l+1,d+1,l-2,x-2);else for(b=0;b<n;b+=1)w[b]&&this.b.fillRect(p+1,d+1+b*l,m-2,l-2);this.b.globalAlpha=this.Vb;if(a.orientation===e.Ob)for(b=0;b<n;b+=1)a.icon[b]&&this.Da.Ge(a.icon[b],a.x+l*b,a.y);else for(b=0;b<n;b+=1)a.icon[b]&&this.Da.Ge(a.icon[b],a.x,a.y+l*b);c?(this.b.globalAlpha=
this.he,this.b.fillStyle=this.ie,a.orientation===e.Ob?(b=(this.Sd-p)/m*n|0,0<=b&&b<n&&this.b.fillRect(p+b*l+.5,d+.5,l-1,x-1)):(b=(this.Qe-d)/x*n|0,0<=b&&b<n&&this.b.fillRect(p+.5,d+.5+b*l,m-1,l-1)),a.If=b):a.If=-1;this.b.globalAlpha=this.Vb;this.b.fillStyle=this.ud;if(B===e.Ob)for(b=0;b<n;b+=1)p=f[b],""!==p&&(this.b.save(),this.b.translate((.5+(b-n/2))*l,0),this.c(p,a,!1),this.b.restore());else for(b=0;b<n;b+=1)p=f[b],""!==p&&(this.b.save(),this.b.translate(0,(.5+(b-n/2))*l),this.c(p,a,!1),this.b.restore())};
q.prototype.S=function(a,c,b,n){var f,p,d;!(b===n||-1===n&&c)||a.type!==e.button&&a.type!==e.toggle?(this.b.fillStyle=a.pd,this.b.globalAlpha=a.Sc):(this.b.fillStyle=a.ie,this.b.globalAlpha=a.he);switch(a.type){case e.fd:f=(a.current-a.lower)/(a.upper-a.lower);this.b.fillStyle=a.Uf;this.b.globalAlpha=a.Ye;a.orientation===e.Ob?(f*=a.width-3,f=f+1|0,this.b.fillRect(a.x,a.y,f,a.height),this.b.fillStyle=a.pd,this.b.globalAlpha=a.Sc,this.b.fillRect(a.x+f,a.y,a.width-f,a.height)):(f*=a.height-3,f=f+1|0,
this.b.fillRect(a.x,a.y,a.width,f),this.b.fillStyle=a.pd,this.b.fillRect(a.x,a.y+f,a.width,a.height-f));break;case e.Sg:f=(a.current[0]-a.lower)/(a.upper-a.lower);b===n||-1===n&&c?(p=this.v,a.orientation===e.Ob?(f*=a.width-3,f=f+1|0,d=f-p,0<d&&this.b.fillRect(a.x,a.y,d,a.height),d=1+f+p,d<a.width&&this.b.fillRect(a.x+d,a.y,a.width-d,a.height)):(f*=a.height-3,f=f+1|0,d=f-p,0<d&&this.b.fillRect(a.x,a.y,a.width,d),d=1+f+p,d<a.height&&this.b.fillRect(a.x,a.y+d,a.width,a.height-d))):this.b.fillRect(a.x,
a.y,a.width,a.height);break;default:this.b.fillRect(a.x,a.y,a.width,a.height)}a.type!==e.list&&a.icon&&(this.b.globalAlpha=a.Vb,this.Da.Ge(a.icon,a.x,a.y),!(b===n||-1===n&&c)||a.type!==e.button&&a.type!==e.toggle||(this.b.globalAlpha=a.Ye,this.b.fillRect(a.x,a.y,a.width,a.height)));if(0<a.border)switch(a.locked||this.locked?(this.b.strokeStyle=a.je,this.b.globalAlpha=a.Me):(this.b.strokeStyle=a.ud,this.b.globalAlpha=a.Vb),this.b.lineWidth=a.border,a.type){case e.label:break;case e.list:p=a.lower.length;
if(a.orientation===e.Ob)for(d=a.width/p,f=0;f<p;f+=1)this.b.strokeRect(a.x+.5+f*d,a.y+.5,d-1,a.height-1);else for(d=a.height/p,f=0;f<p;f+=1)this.b.strokeRect(a.x+.5,a.y+.5+f*d,a.width-1,d-1);break;default:this.b.strokeRect(a.x+.5,a.y+.5,a.width-1,a.height-1)}switch(a.type){case e.button:this.L(a);break;case e.label:this.V(a);break;case e.Sg:this.fa(a,b===n||-1===n&&c);break;case e.toggle:this.ha(a);break;case e.fd:this.da(a);break;case e.list:this.ba(a,b===n||-1===n&&c)}if(b===n)switch(a.type){case e.Sg:f=
this.Qe,a.orientation===e.sj?(f<a.y?f=a.y:f>=a.y+a.height&&(f=a.y+a.height-1),a.current[0]=(f-a.y)/(a.height-1)*(a.upper-a.lower)+a.lower):(f=this.Sd,f<a.x?f=a.x:f>=a.x+a.width&&(f=a.x+a.width-1),a.current[0]=(f-a.x)/(a.width-1)*(a.upper-a.lower)+a.lower),a.lb&&(a.current=a.lb(a.current,!0,a.caller))}if(c&&!this.rb&&a.kk)switch(a.type){case e.button:a.lb&&a.lb(a.caller);break;case e.toggle:a.current=a.current===a.upper?a.lower:a.upper;a.lb&&a.lb(a.current===a.upper,!0,a.caller);break;case e.list:p=
a.lower.length,d=a.orientation===e.Ob?(this.Sd-a.x)/a.width*p|0:(this.Qe-a.y)/a.height*p|0,a.upper===e.Mk?a.lb?a.current=a.lb(d,!0,a.caller):a.current=d:(a.current[d]=!a.current[d],a.lb&&a.lb(a.current,!0,a.caller))}c&&b===n?(a.kk=this.rb,a.gm=this.Sd,a.hm=this.Qe):(a.kk=!1,a.gm=-1,a.hm=-1)};q.prototype.Qj=function(){var a,c,b,e,f,p=this.b.canvas.width,d=this.b.canvas.height;f=!1;this.Qg=-1;if(!this.i){b=this.hh;this.b.textAlign="left";for(e=0;e<this.ta;e+=1)a=this.lc[e],a.i||(a.Kn(p,d),(c=a.Oo(this.Sd,
this.Qe)&&!(a.locked||this.locked))&&!this.rb&&(this.Qg=e),this.rb&&-1===b&&c&&(b=e),e===b&&(a.locked||this.locked)&&(b=-1,c=!1),a.enabled&&this.S(a,c,e,b));0<=b&&!this.rb&&(f=!0);this.rb&&-1===b&&(b=-2);-2===b&&this.Pj&&!this.locked&&this.Pj(this.Sd,this.Qe,this.rb,this.caller);this.rb||(b=-1);this.hh=b;this.b.globalAlpha=1}return f};c.prototype.Pn=function(){var a=this.zd.canvas,c=a.offsetParent;this.offsetLeft=a.offsetLeft;for(this.offsetTop=a.offsetTop;c;)this.offsetLeft+=c.offsetLeft,this.offsetTop+=
c.offsetTop,c=c.offsetParent;c=a.parentNode;if("fixed"===c.style.position)this.offsetLeft+=document.body.scrollLeft+document.documentElement.scrollLeft,this.offsetTop+=document.body.scrollTop+document.documentElement.scrollTop;else for(;"body"!==c.tagName.toLowerCase();)this.offsetLeft-=c.scrollLeft,this.offsetTop-=c.scrollTop,c=c.parentNode};c.prototype.Wn=function(a,c,b){a=new q(a,c,b,this.Qb,this.Fg);a.ud=this.ud;a.Vb=this.Vb;a.pd=this.pd;a.Sc=this.Sc;a.ie=this.ie;a.he=this.he;a.Uf=this.Uf;a.Ye=
this.Ye;a.je=this.je;a.Me=this.Me;a.border=this.border;return a};c.prototype.oo=function(){var a=this.xb,c,b,n,f,p=this.Qb,d,l,m;if(-1!==a.hh||-1===a.hh&&-1===a.Qg)this.b=a.hh;-1===a.Qg||-1!==this.b&&this.b===a.Qg?50>this.Id&&(this.Id+=1):(a=a.lc[a.Qg],a.id!==this.L||a.id===this.L&&a.If!==this.c?(this.L=a.id,this.c=a.If,50>this.Id&&(this.Id+=1)):0<=this.Id&&--this.Id,d=-1!==this.c?a.U[this.c]:a.U,""!==d&&-1===this.Id&&(this.b=-1,n=a.x,f=a.y,c=a.width,b=a.height,-1!==a.If&&(a.orientation===e.Ob?(n+=
c/a.lower.length*a.If,c/=a.lower.length):(f+=b/a.lower.length*a.If,b/=a.lower.length)),p.font="18px Arial",m=p.measureText(d).width,l=Math.round(n+c/2),f=Math.round(f+b/2),l-=m/2,5>l?l=5:l+m+4>p.canvas.width&&(l=p.canvas.width-m-4-1),b>c?(-1!==this.l&&c<this.l&&(c=this.l),l>p.canvas.width/2?l=n-m-c/2:l=n+a.width+c/2):(-1!==this.v&&b<this.v&&(b=this.v),f>p.canvas.height/2?f-=b:f+=b),p.globalAlpha=.7,p.fillStyle="black",p.fillRect((l-4|0)-.5,(f-9-4|0)-.5,m+2+8,26),p.globalAlpha=1,p.strokeStyle="rgb(32,255,255)",
p.strokeRect((l-4|0)-.5,(f-9-4|0)-.5,m+2+8,26),p.globalAlpha=.7,p.strokeStyle="black",p.beginPath(),p.moveTo((l-4|0)+.5,(f-9-4|0)+26.5),p.lineTo((l-4|0)+.5+m+2+8,(f-9-4|0)+26.5),p.lineTo((l-4|0)+.5+m+2+8,(f-9-4|0)+.5),p.stroke(),p.globalAlpha=1,p.fillStyle="black",p.fillText(d,l+2,f+2),p.fillStyle="white",p.fillText(d,l,f)))};c.prototype.ha=function(a){var c,b,e,f,p,d=a.Qb,l,m=d.canvas.width-86,x=90;a.ea&&(x=0);a.ei=!1;a.Eh&&(a.xb=a.Eh,a.Eh=null,d.font=a.Fg,a.xb.$c(),a.xb.ii&&a.xb.ii(a.xb.caller));
if(a.jh||a.notification.Af()||a.di||a.Lp!==a.Id&&-1!==a.Id)a.Nh(a),a.di&&--a.di;b=performance.now();e=b-a.lk;a.lk=b;a.xb.lb&&(e>a.rm?a.xb.lb(a.rm,a.xb.caller):a.xb.lb(e,a.xb.caller));b=performance.now()-b;c=performance.now();a.Qj();a.oo();a.notification.update();c=performance.now()-c;a.jk[a.Zh]=c;for(p=c=0;p<a.Of;p+=1)c+=a.jk[p];c/=a.Of;a.nk[a.Zh]=b;for(p=b=0;p<a.Of;p+=1)b+=a.nk[p];b/=a.Of;a.ik[a.Zh]=e;for(p=f=0;p<a.Of;p+=1)f+=a.ik[p];f/=a.Of;a.Zh=(a.Zh+1)%a.Of;p=Math.round(1E3/f);a.Vf&&(d.font="12px Arial",
d.globalAlpha=.7,d.fillStyle="black",a.Ug?d.fillRect(m,x,88,83):d.fillRect(m,x,88,20),e=e.toFixed(1),c=c.toFixed(1),b=b.toFixed(1),d.globalAlpha=1,f=p+"fps",l=d.measureText(f).width,d.fillText(f,m+36-l,x+12),f=e+"ms",l=d.measureText(f).width,d.fillText(f,m+84-l,x+12),a.Ug&&(d.fillText("menu",m+6,x+28),d.fillText("work",m+6,x+44),d.fillText("update",m+6,x+60),d.fillText("focus",m+6,x+76),f=c+"ms",l=d.measureText(f).width,d.fillText(f,m+84-l,x+28),f=b+"ms",l=d.measureText(f).width,d.fillText(f,m+84-
l,x+44),f=a.jh?"on":"off",l=d.measureText(f).width,d.fillText(f,m+84-l,x+60),f=a.hasFocus?"on":"off",l=d.measureText(f).width,d.fillText(f,m+84-l,x+76)),d.fillStyle="white",f=p+"fps",l=d.measureText(f).width,d.fillText(f,m+34-l,x+10),f=e+"ms",l=d.measureText(f).width,d.fillText(f,m+82-l,x+10),a.Ug&&(d.fillText("menu",m+4,x+26),d.fillText("work",m+4,x+42),d.fillText("update",m+4,x+58),d.fillText("focus",m+4,x+74),f=c+"ms",l=d.measureText(f).width,d.fillText(f,m+82-l,x+26),f=b+"ms",l=d.measureText(f).width,
d.fillText(f,m+82-l,x+42),f=a.jh?"on":"off",l=d.measureText(f).width,d.fillText(f,m+82-l,x+58),f=a.hasFocus?"on":"off",l=d.measureText(f).width,d.fillText(f,m+82-l,x+74)),d.globalAlpha=1);a.zd.drawImage(d.canvas,0,0)};c.prototype.Bn=function(a){a.Da=this.Da;this.xb?this.Eh=a:(this.Eh=null,this.xb=a,this.Qb.font=this.Fg,this.xb.$c(),this.xb.ii&&this.xb.ii(this.xb.caller),this.Nh(this))};c.prototype.Qj=function(){var a,c,b;if(this.xb&&(c=this.xb,this.Qb.font=this.Fg,c.Sd=this.me,c.Qe=this.ne,c.rb=this.rb,
c.Qj()||this.bg)){for(a=0;a<c.ta;a+=1)b=c.lc[a],c.en(b);this.bg=!1}};c.prototype.Nh=function(a){a.ei||(requestAnimationFrame?requestAnimationFrame(a.xl):setTimeout(a.xl,16),a.ei=!0)};c.prototype.g=function(a,c){var b,e,f="";if("touchend"===c.type)f="mouseup",e=document.createEvent("MouseEvent"),e.initMouseEvent(f,!0,!0,window,1,a.Ah,a.Bh,a.xh,a.yh,!1,!1,!1,!1,0,null),c.target.dispatchEvent(e),c.preventDefault();else{if(1===c.touches.length)switch(c.type){case "touchstart":f="mousedown";break;case "touchmove":f=
"mousemove"}""!==f&&(b=c.changedTouches[0],e=document.createEvent("MouseEvent"),e.initMouseEvent(f,!0,!0,window,1,b.screenX,b.screenY,b.clientX,b.clientY,!1,!1,!1,!1,0,null),b.target.dispatchEvent(e),c.preventDefault(),a.Ah=b.screenX,a.Bh=b.screenY,a.xh=b.clientX,a.yh=b.clientY)}};c.prototype.S=function(a,c){a.Qf||(a.hasFocus?a.ea&&a.Fi&&a.Fi(a.caller):(a.zd.canvas.focus(),a.hasFocus=!0,a.notification.clear(!0,!1),a.Fi&&a.Fi(a.caller)),a.dg(a,c),a.rb=!0,c.stopPropagation&&c.stopPropagation(),c.preventDefault())};
c.prototype.fa=function(a,c){a.Qf||(a.dg(a,c),a.rb=!1,c.stopPropagation&&c.stopPropagation(),c.preventDefault())};c.prototype.zl=function(a){a.hasFocus||a.Cj&&""!==a.notification.Vd||(a.ea?a.Zf?a.notification.H("Launch",3600,!0):a.notification.H("Expand",3600,!0):a.notification.H("Click to control",3600,!0),a.notification.zj=!0,a.Cj=!0)};c.prototype.V=function(a,c){a.Qf||(a.zl(a),a.dg(a,c),c.stopPropagation&&c.stopPropagation(),c.preventDefault())};c.prototype.da=function(a,c){a.Qf||(a.zl(a),c.stopPropagation&&
c.stopPropagation(),c.preventDefault())};c.prototype.ba=function(a,c){a.Qf||(a.hasFocus||a.notification.clear(!0,!1),a.zd.canvas.blur(),a.hasFocus=!1,a.rb=!1,a.me=-1,a.ne=-1,a.Cj=!1,a.ei||(a.Nh(a),a.di=2),c.stopPropagation&&c.stopPropagation(),c.preventDefault())};c.prototype.dg=function(a,c){var b,e;c.pageX||c.pageY?(b=c.pageX,e=c.pageY):(b=c.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,e=c.clientY+document.body.scrollTop+document.documentElement.scrollTop);a.Pn();b-=a.offsetLeft;
e-=a.offsetTop;a.me=b-1|0;a.ne=e-1|0;a.ei||(a.Nh(a),a.di=2)};c.prototype.Ze=function(a){!a&&!this.notification.Af()||this.jh||this.Nh(this);this.jh=a};window.IconManager=g;window.Menu=e;window.MenuManager=c})();(function(){function z(k,g,c,e,a,h){this.Wg=k;this.Xg=g;this.width=c;this.height=e;this.Fp=a;this.po=h}function u(k){var g=k.lastIndexOf(".");-1!==g&&(k=k.substr(0,g));this.name=k;this.Md=this.Zc=this.ge=-1;this.Lg=this.sh=0;this.Ni=this.Wj=!1;this.pl=this.pa="";this.J=this.wh=this.Pb=!1;this.hg=-1;this.bd=!1;this.u=-1;this.height=this.width=0;this.oe=this.Fb=null;this.Dd=this.title="";this.re=2;this.Hh=0;this.Mg=this.we=!1;this.Cm=""}var g={qo:"XRLE",Fm:"Pos",Tl:"Gen",eb:"",Jn:":",vl:"ptkcs",rj:"012345678ceaiknjqrytwz-",
Fe:"0123456789",Wl:"0123456",mn:"01234",Ek:["ce","ceaikn","ceaiknjqry","ceaiknjqrytwz"],Fo:[0,2,6,10,13,10,6,2,0],So:[[0],[0,1],[2,0,1,3,4,5],[2,0,1,3,6,4,5,7,8,9],[2,0,1,3,6,4,5,7,8,10,11,9,12],[2,0,1,3,6,4,5,7,8,9],[2,0,1,3,4,5],[0,1],[0]],qp:[[1,2],[5,10,3,40,33,68],[69,42,11,7,98,13,14,70,41,97],[325,170,15,45,99,71,106,102,43,101,105,78,108]],maxWidth:8192,maxHeight:8192,Io:256,Mc:new Uint32Array(256),We:new Uint8Array(512),Kh:new Uint8Array(512),Ia:!1,Jg:!1,Zl:"history",Xl:"h",nn:"v",we:!1,
Uj:0,Ie:!1,xk:0,yk:0,Te:!1,index:0,co:function(k,g){var c,e,a,h,b=0,n=0,f=0,p,d,l=!1;e=g.length;for(c=h=0;c<e;)switch(a=g[c],c+=1,h){case 0:switch(a){case "!":h=1;d=!0;break;case "O":case "o":case "*":case ".":h=2,n=b=f=0,p=--c}break;case 1:"\r"!==a&&(" "===a?d||(k.title+=a):(d=!1,k.title+=a));"\n"===a&&(h=0);break;case 2:switch(a){case "O":case "o":case "*":case ".":n+=1;break;case "\n":f+=1;n>b&&(b=n);n=0;break;case " ":case "\t":break;default:c=e,l=!0}}if(!l){2===h&&"\n"!==a&&(f+=1,n>b&&(b=n));
k.height=f;k.width=b;k.Dd="Cells";k.Fb=Array.b(k.height,(k.width-1>>4)+1);c=p;for(h=b=0;c<e;)switch(a=g[c],c+=1,a){case "\n":b+=1;h=0;break;case "O":case "o":case "*":k.Fb[b][h>>4]|=1<<(~h&15);h+=1;break;case ".":h+=1}this.Ia=!0;this.Dg(k,"")}},ao:function(k,g){var c,e,a,h,b,n,f,p,d,l;e=g.length;n=[];f=0;b=!1;d=p=0;l=!1;for(c=10;c<e;)switch(a=g[c],c+=1,a){case "\n":l&&(l=!1,2===h&&b&&(d=-d,b=!1),n[f]=[p,d],f+=1);h=d=p=0;break;case "-":b=!0;0===h?h=1:1===h&&(h=2);break;case " ":1===h&&(b&&(p=-p,b=
!1),h=2);break;case "0":case "1":case "2":case "3":case "4":case "5":case "6":case "7":case "8":case "9":0===h&&(h=1),1===h?p=10*p+parseInt(a,10):(d=10*d+parseInt(a,10),l=!0)}l&&(2===h&&b&&(d=-d),n[f]=[p,d],f+=1);if(f){a=e=n[0][0];b=h=n[0][1];for(c=1;c<f;c+=1)p=n[c][0],d=n[c][1],p<e&&(e=p),p>a&&(a=p),d<h&&(h=d),d>b&&(b=d);k.height=b-h+1;k.width=a-e+1;k.Fb=Array.b(k.height,(k.width-1>>4)+1);k.Dd="Life 1.06";this.Dg(k,"");for(c=0;c<f;c+=1)p=n[c][0]-e,d=n[c][1]-h,k.Fb[d][p>>4]|=1<<(~p&15)}},Fl:function(k,
g,c){var e,a,h,b,n,f,p,d,l,m=[],x=0,B=g.length;p=e="";d=!1;var w=0,r=0,N=!1,P=!1,v=0,J=0;for(c=c?10:0;c<B&&!P;)switch(a=g[c],c+=1,w){case 0:switch(a){case "#":w=2;break;case "*":case ".":w=3,n=b=h=0,f=--c}break;case 2:switch(a){case "C":case "D":w=1;l=!0;break;case "N":w=0;break;case "R":w=4;break;case "P":w=5;r=2;N=!1;J=v=0;break;case "\n":w=0;break;default:w=1,l=!0}break;case 1:"\r"!==a&&(" "===a?l||(k.title+=a):(l=!1,k.title+=a));"\n"===a&&(w=0);break;case 4:switch(a){case "\n":w=0;break;case "0":case "1":case "2":case "3":case "4":case "5":case "6":case "7":case "8":switch(r){case 1:p+=
a;d=!0;break;case 0:e+=a,d=!0}break;case "/":r=1,d=!0}break;case 5:switch(a){case "\n":w=0;4===r&&N&&(J=-J,N=!1);break;case "-":N=!0;2===r?r=3:3===r&&(r=4);break;case " ":3===r&&(N&&(v=-v,N=!1),r=4);break;case "0":case "1":case "2":case "3":case "4":case "5":case "6":case "7":case "8":case "9":2===r&&(r=3),3===r?v=10*v+parseInt(a,10):J=10*J+parseInt(a,10)}break;case 3:switch(a){case "\n":h>b&&(b=h);h=0;n+=1;break;case "#":m[x]=new z(v,J,b,n,f,c-1);x+=1;w=2;break;case "*":case ".":h+=1;break;default:P=
!0}}"\n"!==a&&(n+=1);3===w&&(m[x]=new z(v,J,b,n,f,c-1),x+=1);if(x&&!P){v=m[0].Wg;J=m[0].Xg;a=v+m[0].width-1;h=J+m[0].height-1;for(c=1;c<x;c+=1)m[c].Wg<v&&(v=m[c].Wg),m[c].Xg<J&&(J=m[c].Xg),m[c].Wg+m[c].width-1>a&&(a=m[c].Wg+m[c].width-1),m[c].Xg+m[c].height-1>h&&(h=m[c].Xg+m[c].height-1);k.height=h-J+1;k.width=a-v+1;k.Fb=Array.b(k.height,(k.width-1>>4)+1);k.Dd="Life 1.05";d?(this.Dg(k,e+"/"+p),k.pa=e+"/"+p):this.Dg(k,"");for(c=0;c<x;c+=1)for(e=m[c].Fp,p=m[c].po,h=m[c].Wg-v,a=m[c].Xg-J,d=h,b=a;e<=
p;)switch(a=g[e],e+=1,a){case "\n":b+=1;d=h;break;case "*":k.Fb[b][d>>4]|=1<<(~d&15);d+=1;break;default:d+=1}}},Ik:function(k,g,c,e){var a=0,h,b,n;c&&(a=16);for(b=0;512>b;b+=32)for(n=0;16>n;n+=1){c=0;for(h=b+n&e;0<h;)c+=h&1,h>>=1;g===c&&(k[b+n+a]=!0)}},vo:function(k){return(k&7)<<6|(k&448)>>6|k&56},Mm:function(k){return(k&4)<<6|(k&32)<<2|(k&256)>>2|(k&2)<<4|k&16|(k&128)>>4|(k&1)<<2|(k&8)>>2|(k&64)>>6},Cp:function(k,g,c){var e;for(e=0;4>e;e+=1)k[g]=c,g=this.Mm(g);g=this.vo(g);for(e=0;4>e;e+=1)k[g]=
c,g=this.Mm(g)},Bp:function(k,g,c,e,a,h){var b=0,n=g-1;0===g||8===g?this.Ik(k,g,c,h):(3<n&&(n=6-n,b=495),g=this.Ek[n].indexOf(e),-1!==g&&(b^=this.qp[n][g],c&&(b|=16),this.Cp(k,b,a)))},Rm:function(k,g,c,e){var a,h=g.length,b=0,n="",f;for(f=0;f<h;f+=1)a=g.charCodeAt(f)-48,b|=1<<a,this.Ik(k,a,c,e);for(f=0;9>f;f+=1)0!==(b&1<<f)&&(n+=String(f));return n},Hn:function(k){for(var g=0;k;)g+=1,k&=k-1;return g},Cn:function(k,g,c){var e="",a=0,h;if(g[k]||c[k]){if(g[k]?g=g[k]:(g=c[k],a=1),h=this.Hn(g),c=this.Fo[k],
(a||7!==h||13!==c)&&h+a>c>>1&&(g=~g&(1<<c)-1)&&(a=!a),!a||g)for(e+=String(k),a&&(e+="-"),h=0;h<c;h+=1)a=this.So[k][h],g&1<<a&&(e+=this.Ek[3][a])}else e+=String(k);return e},Qm:function(k,g,c){var e,a,h=g.length,b,n=this.Ek[3],f,p=0,d=[],l=[],m="",x;g+=" ";for(x=0;x<n.length;x+=1)d[x]=0,l[x]=0;for(x=0;x<h;x+=1)if(e=g.charCodeAt(x)-48,p|=1<<e,0<e&&8>=e||0===e&&c)for(a=g[x+1],f=n.indexOf(a),-1===f&&this.Ik(k,e,c,511),b=!0,"-"===a&&(b=!1,x+=1,a=g[x+1],f=n.indexOf(a));-1!==f;)this.Bp(k,e,c,a,b,511),b?
d[e]|=1<<f:l[e]|=1<<f,x+=1,a=g[x+1],f=n.indexOf(a);for(x=0;9>x;x+=1)0!==(p&1<<x)&&(m+=this.Cn(x,d,l));return m},$n:function(k,g){var c;for(c=0;512>c;c+=1)k[c]=0!==(g&1<<(c&7))?1:0!==(c&16)?1:0;this.Kh.set(this.We)},pi:function(k,g,c,e,a,h){var b,n=0;for(b=0;512>b;b+=1)k[b]=0;e||a?(e&&(n=254),a&&(n=186),g=this.Rm(k,g,!1,n),k=this.Rm(k,c,!0,n)):(g=this.Qm(k,g,!1),k=this.Qm(k,c,!0));return-1!==h?k+"/"+g+"/"+h:"B"+g+"/S"+k},bj:function(k,g){var c,e,a="";for(c=0;c<=g;c+=1)e=this.rj[c],-1!==k.indexOf(e)&&
(a+=this.rj[g-c]);return a},Si:function(g){var q,c,e="";for(q=0;9>q;q+=1)c=this.rj[q],-1===g.indexOf(c)&&(e+=c);return e},Hm:function(g){var q=g,c=0;if(-1!==g.indexOf(" "))for(q="";c<g.length;)" "!==g[c]&&(q+=g[c]),c+=1;return q},lo:function(g,q){for(var c=!0,e=0,a,h=1;h<q.length&&c;)a=this.Fe.indexOf(q[h]),-1!==a?e=10*e+a:(this.eb="Illegal character in Wolfram rule",c=!1),h+=1;c&&(2>e||254<e?(this.eb="Wolfram rule number must be 2-254",c=!1):0!==(e&1)?(this.eb="Wolfram rule number must be even",
c=!1):(this.$n(this.We,e),g.hg=e,g.pa="W"+e));return c},Dn:function(k){var q;k.J?k.pa+="H":k.bd&&(k.pa+="V");q=AliasManager.yo(k.pa);k.Pb&&(k.pa+="History");-1!==k.ge&&(k.pa+=":"+g.vl[k.ge].toUpperCase(),k.pa+=k.Zc,k.sh&&(k.pa+="+"+k.sh),k.Wj&&(k.pa+="*"),k.Md!==k.Zc||k.Lg||k.Ni)&&(k.pa+=","+k.Md,k.Lg&&(k.pa+="+"+k.Lg),k.Ni&&(k.pa+="*"));null!==q&&(""===q&&(q=k.Pb?"Life":"Conway's Life"),k.Pb&&(q+="History"),k.pl=q)},Dg:function(k,q){var c,e,a,h=!1,b=null,n=null,f,p;f=null;p=this.rj;var d=9,l=!0;
e=g.Xl.length;c=g.nn.length;var m=8;a=AliasManager.zo(q);null!==a&&(""===q&&(k.pa="Conway's Life"),q=a);q=q.toLowerCase();q=this.Hm(q);if("w"===q[0])h=this.lo(k,q);else{a=q.lastIndexOf(g.Xl);-1!==a&&a===q.length-e&&(k.J=!0,m=6,q=q.substr(0,q.length-e),p=this.Wl,d=this.Wl.length);e=q.lastIndexOf(g.nn);-1!==e&&e===q.length-c&&(k.bd=!0,m=4,q=q.substr(0,q.length-c),p=this.mn,d=this.mn.length);c=q.indexOf("/");-1===c&&(c=q.indexOf("_"));-1!==c&&(e=q.lastIndexOf("/"),-1===e&&(e=q.lastIndexOf("_")),e!==
c&&(f=q.substring(e+1),q=q.substr(0,e)));e=q.indexOf("b");a=q.indexOf("s");-1===c?-1===e||-1===a||0!==e&&0!==a?this.eb="Unsupported rule name":e<a?(b=q.substring(e+1,a),n=q.substring(a+1)):(b=q.substring(a+1,e),n=q.substring(e+1)):e<a?(b=q.substring(0,c),n=q.substring(c+1)):(b=q.substring(c+1),n=q.substring(0,c));-1!==e&&b&&"b"===b[0]&&(b=b.substring(1));-1!==a&&n&&"s"===n[0]&&(n=n.substring(1));if(null!==f){e=0;for(c=k.u=0;e<f.length&&-1!==c;)c=this.Fe.indexOf(f[e]),-1!==c?k.u=10*k.u+c:(this.eb=
"Illegal character in generations number",k.u=-1,b=null),e+=1;-1!==k.u&&(2>k.u||256<k.u)&&(this.eb="Generations number must be 2-256",k.u=-1,b=null)}if(null!==b&&null!==n){h=!0;for(e=0;e<b.length;)c=p.indexOf(b[e]),-1===c?(this.eb="Illegal character in birth specification",h=!1,e=b.length):(c>=d&&(l=!1),e+=1);if(h){for(e=0;e<n.length;)c=p.indexOf(n[e]),-1===c?(this.eb="Illegal character in survival specification",h=!1,e=n.length):(c>=d&&(l=!1),e+=1);h&&(k.pa=this.pi(this.We,b,n,k.J,k.bd,k.u),this.Dn(k),
l&&-1!==b.indexOf("0")?-1!==n.indexOf(this.Fe[m])?(b=this.Si(b),n=this.Si(n),f=this.bj(n,m),p=this.bj(b,m),this.pi(this.We,f,p,k.J,k.bd,k.u),this.Kh.set(this.We)):(f=this.Si(b),p=this.Si(n),this.pi(this.We,f,p,k.J,k.bd,k.u),f=this.bj(n,m),p=this.bj(b,m),this.pi(this.Kh,f,p,k.J,k.bd,k.u)):this.Kh.set(this.We))}}}return h},Hl:function(k,q,c){var e=0,a=q.length-1,h=!1,b=!0,n,f,p=0,d=0,l=0,m,x=0,B=this.Mc;for(f=q[e];!h;){n=f;f=q[e+1];m=-1;switch(n){case "0":case "1":case "2":case "3":case "4":case "5":case "6":case "7":case "8":case "9":x=
10*x+parseInt(n,10);break;case "b":m=0;break;case "o":m=1;break;case ".":m=0;break;case "z":m=7;k.Pb=!0;k.wh=!0;break;case "$":0===x&&(x=1);l+=x;x=0;d>p&&(p=d);d=0;break;case "!":0===x&&(x=1);l+=x;x=0;d>p&&(p=d);h=!0;break;default:b=!1,"A"<=n&&"X">=n?(b=!0,m=n.charCodeAt(0)-64):"p"<=n&&"y">n?"A"<=f&&"X">=f?(b=!0,m=24*(n.charCodeAt(0)-111)+(f.charCodeAt(0)-64),e+=1,f=q[e+1]):"x"===n&&(b=!0,k.Pb=!0,k.wh=!0,m=3):"y"===n&&("A"<=f&&"O">=f?(b=!0,m=24*(n.charCodeAt(0)-111)+(f.charCodeAt(0)-64),e+=1,f=q[e+
1]):(b=!0,k.Pb=!0,k.wh=!0,m=5))}if(0<=m)if(0===x&&(x=1),c||(0===B[m]&&(k.Hh+=1),B[m]+=x,m>=k.re&&(k.re=m+1)),0<m&&c)for(;0<x;){k.oe[l][d]=-1===k.u?m:0<=k.u-m?k.u-m:1;if(!k.Pb&&-1===k.u||k.Pb&&m&1||-1!==k.u&&1===m)k.Fb[l][d>>4]|=1<<(~d&15);d+=1;--x}else d+=x,x=0;b||(" "===n||"\t"===n||"\n"===n?b=!0:h=k.Mg=!0);e+=1;e===a&&(h||(0===x&&(x=1),l+=x,x=0,d>p&&(p=d)),h=!0)}c||(k.width=p,k.height=l,0<p&&0<l&&(p>g.maxWidth||l>g.maxHeight?(k.we=!0,k.Mg=!0):(k.Fb=Array.b(l,(p-1>>4)+1),k.oe=Array.c(l,p,0),k.Dd=
"RLE")));k.Mg&&(e=-1);return e},Ap:function(g,q){var c=q.indexOf("\n");-1===c&&(c=q.length);g.Cm=q.substring(0,c).trim()},lj:function(g,q,c){for(var e=!1;q<c&&!e;)" "===g[q]?q+=1:e=!0;return q},ep:function(k){var q=k.indexOf("\n"),c=0,e,a=!1,h=0;-1===q&&(q=k.length);for(;h<q&&!a;)"="===k[h]?a=!0:" "!==k[h]?a=!0:h+=1;if(a&&"="===k[h]){h=this.lj(k,h+1,q);for(a=!1;h<q&&!a;)e=g.Fe.indexOf(k[h]),-1!==e?(c=10*c+e,h+=1):a=!0;this.Ie=!0;this.Uj=c}},fp:function(k){var q=k.indexOf("\n"),c=0,e=0,a=!1,h=!1,b,
n=!1,f=0;-1===q&&(q=k.length);for(;f<q&&!n;)"="===k[f]?n=!0:" "!==k[f]?n=!0:f+=1;if(n&&"="===k[f]&&(f=this.lj(k,f+1,q),f<q)){"-"===k[f]&&(a=!0,f+=1);for(n=!1;f<q&&!n;)b=g.Fe.indexOf(k[f]),-1!==b?(c=10*c+b,f+=1):n=!0;this.Te=!0;this.xk=a?-c:c;f=this.lj(k,f,q);if(f<q&&","===k[f]&&(f=this.lj(k,f+1,q),f<q)){"-"===k[f]&&(h=!0,f+=1);for(n=!1;f<q&&!n;)b=g.Fe.indexOf(k[f]),-1!==b?(e=10*e+b,f+=1):n=!0;this.yk=h?-e:e}}},Mn:function(k){var q=k.indexOf(g.qo);0===q&&(q=k.indexOf(g.Fm),-1!==q&&this.fp(k.substr(q+
g.Fm.length)),q=k.indexOf(g.Tl),-1!==q&&this.ep(k.substr(q+g.Tl.length)))},zp:function(g,q){var c=q.indexOf("\n");-1===c&&(c=q.length);g.name=q.substring(0,c).trim()},nl:function(g,q){var c=q.indexOf("\n");-1===c&&(c=q.length);g.title+=q.substring(0,c)+" ";return c+1},Jc:function(g){var q,c=-1;g+=" ";q=this.Fe.indexOf(g[this.index]);if(-1!==q)for(c=0;-1!==q;)c=10*c+q,this.index+=1,q=this.Fe.indexOf(g[this.index]);return c},jo:function(g,q){var c=this.Jc(q);g.Zc=c;g.Md=c},ko:function(g,q){var c=this.Jc(q),
e=-1,a=0,h=0,b;if(-1!==c){b=q[this.index];if("-"===b||"+"===b)this.index+=1,a=this.Jc(q),-1===a?c=-1:"-"===b&&(a=-a);if(","===q[this.index])if(this.index+=1,e=this.Jc(q),-1===e)c=-1;else{if(b=q[this.index],"-"===b||"+"===b)this.index+=1,h=this.Jc(q),-1===h?c=-1:"-"===b&&(h=-h)}else e=c}0!==a&&0!==h&&(c=-1);0===c&&0===e&&(c=-1);0===a&&0===h||0!==c&&0!==e||(c=-1);g.Zc=c;g.Md=e;g.sh=a;g.Lg=h},fo:function(g,q){var c=this.Jc(q),e=-1,a=0,h=0,b=!1,n=!1,f;if(-1!==c){f=q[this.index];"*"===f&&(b=!0,this.index+=
1,f=q[this.index]);if("-"===f||"+"===f)a=this.Jc(q),-1===a?c=-1:"-"===f&&(a=-a),this.index+=1,f=q[this.index];if(","===f)if(this.index+=1,e=this.Jc(q),-1===e)c=-1;else{if(f=q[this.index],"*"===f&&(n=!0,this.index+=1,f=q[this.index]),"-"===f||"+"===f)this.index+=1,h=this.Jc(q),-1===h?c=-1:"-"===f&&(h=-h)}else e=c}b&&n&&(c=-1);0!==a&&0!==h&&(c=-1);if(b&&0!==h||n&&0!==a)c=-1;if(0===c||0===e)c=-1;b||n||(b=!0);g.Zc=c;g.Md=e;g.sh=a;g.Lg=h;g.Wj=b;g.Ni=n},eo:function(g,q){var c=this.Jc(q),e=-1;-1!==c&&(","===
q[this.index]?(this.index+=1,e=this.Jc(q),-1===e&&(c=-1)):e=c);g.Zc=c;g.Md=e},ho:function(g,q){var c=this.Jc(q),e=-1;-1!==c&&(","===q[this.index]?(this.index+=1,e=this.Jc(q),-1===e&&(c=-1)):e=c);0===c&&0===e&&(c=-1);g.Zc=c;g.Md=e},bo:function(g,q){var c=!1;q=this.Hm(q);if(""!==q){g.ge=this.vl.indexOf(q[0]);if(-1!==g.ge)switch(this.index=1,g.ge){case 0:this.ho(g,q);break;case 1:this.ko(g,q);break;case 2:this.fo(g,q);break;case 3:this.eo(g,q);break;case 4:this.jo(g,q);break;default:g.Zc=-1}-1!==g.Zc?
c=!0:(g.ge=-1,this.reason="Invalid bounded grid definition '"+q+"'")}return c},io:function(k,q){var c=q.indexOf("\n"),e=q.indexOf("rule"),a,h=g.Zl.length,b="";-1===c&&(c=q.length);-1!==e&&(b=q.substring(e+4,c).trim(),"="===b[0]&&(b=b.substring(1).trim()));k.pa=b;b=b.toLowerCase();e=b.lastIndexOf(g.Jn);-1!==e&&(this.bo(k,b.substring(e+1))?b=b.substr(0,e).trim():e=-2);a=b.lastIndexOf(g.Zl);-1!==a&&a===b.length-h&&(k.Pb=!0,b=b.substr(0,b.length-h).trim());this.Dg(k,b)&&-2!==e?this.Ia=!0:this.Jg=!0;return c+
1},In:function(g){switch(g){case 0:g="Plane";break;case 1:g="Torus";break;case 2:g="Klein bottle";break;case 3:g="Cross-surface";break;case 4:g="Sphere";break;default:g="(unknown)"}return g},Gl:function(k,q){var c=0,e=q.length,a,h=!1,b=!1;a=this.Mc;var n=g.Io,f;k.ge=-1;k.width=0;k.height=0;k.we=!1;k.Fb=null;k.oe=null;k.Mg=!1;k.Pb=!1;k.wh=!1;k.J=!1;k.hg=-1;k.bd=!1;k.u=-1;k.title="";k.re=2;for(f=k.Hh=0;f<n;f+=1)a[f]=0;for(q+=" ";c<e&&!k.Mg;)switch(a=q[c],a){case "#":c+=1;a=q[c];c+=1;switch(a){case "N":this.zp(k,
q.substring(c));break;case "O":this.Ap(k,q.substring(c));break;case "C":this.Mn(q.substring(c))}c+=this.nl(k,q.substring(c));break;case "x":c+=this.io(k,q.substring(c));b=!0;break;case "\n":c+=1;break;default:h?c+=this.nl(k,q.substring(c)):(h=!0,-1!==this.Hl(k,q.substring(c),!1)&&(c+=this.Hl(k,q.substring(c),!0)))}b||(this.Dg(k,"")?this.Ia=!0:this.Jg=!0);-1!==k.ge&&(k.width>k.Zc&&0!==k.Zc||k.height>k.Md&&0!==k.Md)&&(this.eb="Pattern larger than bounded grid",this.Ia=!1);-1!==k.u&&k.Pb&&(this.eb="[R]History not valid with Generations",
this.Ia=k.Pb=!1);this.Ia&&(k.wh?8<k.re&&(this.eb="Illegal state in pattern for Niemiec",this.Ia=!1):k.Pb?7<k.re&&(this.eb="Illegal state in pattern for [R]History",this.Ia=!1):-1!==k.u&&k.re>k.u&&(this.eb="Illegal state in pattern for Generations",this.Ia=!1))},create:function(g,q){var c=new u(g);this.Ia=this.Jg=this.we=!1;this.eb="";this.Ie=!1;this.Uj=0;this.Te=!1;this.yk=this.xk=0;if("!"===q.substr(0,1)||"O"===q.substr(0,1)||"."===q.substr(0,1)||"*"===q.substr(0,1)||"o"===q.substr(0,1))this.co(c,
q),this.Ia=!0;null===c.Fb&&(this.Ia=!1,"#Life 1.05"===q.substr(0,10)?(this.Fl(c,q,!0),this.Ia=!0):"#Life 1.06"===q.substr(0,10)?(this.ao(c,q),this.Ia=!0):"#"===q[0]||"x"===q[0]?(this.Gl(c,q),null!==c.Fb||c.we||c.Mg||(this.Fl(c,q,!1),this.Ia=!0,this.Jg=!1,c.oe=null,c.Pb=!1,c.re=2,c.Hh=0)):this.Gl(c,q));c.we&&(this.eb="Pattern too big (maximum "+this.maxWidth+"x"+this.maxHeight+")",this.we=!0,this.Ia=!1);null===c.Fb&&(c.we||(this.eb="Invalid pattern"),c=null,this.Ia=!1);return c}};window.PatternManager=
g;window.Pattern=u})();(function(){function z(){this.Fj=[]}z.prototype.add=function(g,k,q){this.Fj[this.Fj.length]=g<<16|k<<8|q};var u={ce:[],Jh:[],bm:!1,Ij:[48,48,48,0,255,127,127,0,255,148,148,148,128,255,0,255,0,128,0,128,255,1,159,0,159,0,1,255,254,96,0,1,159,96,255,254,254,96,255,126,125,21,21,126,125,125,21,126,255,116,116,116,255,116,116,116,255,228,227,0,28,255,27,255,27,28,0,228,227,227,0,228,27,28,255,59,59,59,234,195,176,175,196,255,171,194,68,194,68,171,68,171,194,72,184,71,184,71,72,71,72,184,169,255,188,252,
179,63,63,252,179,179,63,252,80,9,0,0,80,9,9,0,80,255,175,250,199,134,213,115,100,95,188,163,0,0,188,163,163,0,188,203,73,0,0,203,73,73,0,203,94,189,0,189,0,94,0,94,189,187,243,119,55,125,32,125,32,55,32,55,125,255,102,185,102,185,255,120,209,168,208,166,119,135,96,192,182,255,41,83,153,130,247,88,55,89,247,55,88,55,247,87,75,0,0,87,75,75,0,87,200,135,59,51,213,127,255,255,162,255,37,182,37,182,255,228,57,117,142,163,210,57,117,228,193,255,246,188,107,123,123,194,107,145,59,5,5,145,59,59,5,145,119,
39,198,40,197,23,197,23,40,23,40,197,178,199,158,255,201,121,134,223,223,39,253,84,149,203,15,203,15,149,15,149,203,152,144,90,143,75,139,71,97,132,224,65,219,65,219,224,255,255,40,218,223,69,74,241,0,241,0,74,0,74,241,122,171,51,220,211,227,61,127,87,90,124,176,36,39,13,165,142,255,255,38,255,38,255,255,83,50,107,224,142,165,255,181,9,9,255,181,181,9,255,140,238,70,255,74,5,74,5,255,138,84,51,31,172,101,177,115,17,221,0,0,0,221,0,0,0,221,220,255,200,0,41,50,255,150,205,178,45,116,113,255,189,47,
0,44,40,119,171,205,107,255,177,115,172,133,73,236,109,0,168,168,46,207,188,181,203,212,188,35,90,97,52,39,209,184,41,164,152,227,46,70,46,70,227,211,156,255,98,146,222,136,56,95,102,54,152,86,142,0,142,0,86,0,86,142,86,223,96,246,135,46,4,208,120,212,233,158,177,92,214,104,147,88,149,240,147,227,93,148,72,255,133,209,27,194,147,255,255,44,93,0,160,36,158,182,233,0,96,94,217,218,103,88,163,154,38,118,114,139,94,0,43,113,164,174,168,188,114,0,23,119,42,86,93,255,226,202,80,191,155,255,158,136,0,247,
62,234,146,88,0,183,229,110,212,36,0,143,161,105,191,210,133,164,0,41,30,89,164,0,132,30,89,42,178,222,217,121,22,11,221,107,22,69,151,255,45,158,3,158,3,45,3,45,158,86,42,29,9,122,22,213,209,110,53,221,57,159,101,91,93,140,45,247,213,37,185,34,0,0,185,34,34,0,185,236,0,172,210,180,78,231,107,221,162,49,43,43,162,49,49,43,162,36,248,213,114,0,214,213,36,248,149,34,243,185,158,167,144,122,224,34,245,149,255,31,98,31,98,255,152,200,193,255,80,95,128,123,63,102,62,72,255,62,148,151,226,108,159,99,255,
226,255,126,98,223,136,80,95,255,225,153,15,73,41,211,212,71,41,83,217,187,180,235,79,0,166,127,251,135,243,229,41,0,41,0,229,82,255,216,141,174,249,249,215,255,167,31,79,31,79,167,213,102,185,255,215,83,4,2,40,224,171,220,41,0,4,6,50,90,221,15,113,15,113,221,33,0,115,108,23,90,182,215,36],Hj:[],ec:{aliceblue:["AliceBlue",240,248,255],antiquewhite:["AntiqueWhite",250,235,215],aqua:["Aqua",0,255,255],aquamarine:["Aquamarine",127,255,212],azure:["Azure",240,255,255],beige:["Beige",245,245,220],bisque:["Bisque",
255,228,196],black:["Black",0,0,0],blanchedalmond:["BlanchedAlmond",255,235,205],blue:["Blue",0,0,255],blueviolet:["BlueViolet",138,43,226],brown:["Brown",165,42,42],burlywood:["BurlyWood",222,184,135],cadetblue:["CadetBlue",95,158,160],chartreuse:["Chartreuse",127,255,0],chocolate:["Chocolate",210,105,30],coral:["Coral",255,127,80],cornflowerblue:["CornflowerBlue",100,149,237],cornsilk:["Cornsilk",255,248,220],crimson:["Crimson",220,20,60],cyan:["Cyan",0,255,255],darkblue:["DarkBlue",0,0,139],darkcyan:["DarkCyan",
0,139,139],darkgoldenrod:["DarkGoldenRod",184,134,11],darkgray:["DarkGray",169,169,169],darkgreen:["DarkGreen",0,100,0],darkkhaki:["DarkKhaki",189,183,107],darkmagenta:["DarkMagenta",139,0,139],darkolivegreen:["DarkOliveGreen",85,107,47],darkorange:["DarkOrange",255,140,0],darkorchid:["DarkOrchid",153,50,204],darkred:["DarkRed",139,0,0],darksalmon:["DarkSalmon",233,150,122],darkseagreen:["DarkSeaGreen",143,188,143],darkslateblue:["DarkSlateBlue",72,61,139],darkslategray:["DarkSlateGray",47,79,79],
darkturquoise:["DarkTurquoise",0,206,209],darkviolet:["DarkViolet",148,0,211],deeppink:["DeepPink",255,20,147],deepskyblue:["DeepSkyBlue",0,191,255],dimgray:["DimGray",105,105,105],dodgerblue:["DodgerBlue",30,144,255],firebrick:["FireBrick",178,34,34],floralwhite:["FloralWhite",255,250,240],forestgreen:["ForestGreen",34,139,34],fuchsia:["Fuchsia",255,0,255],gainsboro:["Gainsboro",220,220,220],ghostwhite:["GhostWhite",248,248,255],gold:["Gold",255,215,0],goldenrod:["GoldenRod",218,165,32],gray:["Gray",
128,128,128],green:["Green",0,128,0],greenyellow:["GreenYellow",173,255,47],honeydew:["HoneyDew",240,255,240],hotpink:["HotPink",255,105,180],indianred:["IndianRed",205,92,92],indigo:["Indigo",75,0,130],ivory:["Ivory",255,255,240],khaki:["Khaki",240,230,140],lavender:["Lavender",230,230,250],lavenderblush:["LavenderBlush",255,240,245],lawngreen:["LawnGreen",124,252,0],lemonchiffon:["LemonChiffon",255,250,205],lightblue:["LightBlue",173,216,230],lightcoral:["LightCoral",240,128,128],lightcyan:["LightCyan",
224,255,255],lightgoldenrodyellow:["LightGoldenRodYellow",250,250,210],lightgray:["LightGray",211,211,211],lightgreen:["LightGreen",144,238,144],lightpink:["LightPink",255,182,193],lightsalmon:["LightSalmon",255,160,122],lightseagreen:["LightSeaGreen",32,178,170],lightskyblue:["LightSkyBlue",135,206,250],lightslategray:["LightSlateGray",119,136,153],lightsteelblue:["LightSteelBlue",176,196,222],lightyellow:["LightYellow",255,255,224],lime:["Lime",0,255,0],limegreen:["LimeGreen",50,205,50],linen:["Linen",
250,240,230],magenta:["Magenta",255,0,255],maroon:["Maroon",128,0,0],mediumaquamarine:["MediumAquaMarine",102,205,170],mediumblue:["MediumBlue",0,0,205],mediumorchid:["MediumOrchid",186,85,211],mediumpurple:["MediumPurple",147,112,219],mediumseagreen:["MediumSeaGreen",60,179,113],mediumslateblue:["MediumSlateBlue",123,104,238],mediumspringgreen:["MediumSpringGreen",0,250,154],mediumturquoise:["MediumTurquoise",72,209,204],mediumvioletred:["MediumVioletRed",199,21,133],midnightblue:["MidnightBlue",
25,25,112],mintcream:["MintCream",245,255,250],mistyrose:["MistyRose",255,228,225],moccasin:["Moccasin",255,228,181],navajowhite:["NavajoWhite",255,222,173],navy:["Navy",0,0,128],oldlace:["OldLace",253,245,230],olive:["Olive",128,128,0],olivedrab:["OliveDrab",107,142,35],orange:["Orange",255,165,0],orangered:["OrangeRed",255,69,0],orchid:["Orchid",218,112,214],palegoldenrod:["PaleGoldenRod",238,232,170],palegreen:["PaleGreen",152,251,152],paleturquoise:["PaleTurquoise",175,238,238],palevioletred:["PaleVioletRed",
219,112,147],papayawhip:["PapayaWhip",255,239,213],peachpuff:["PeachPuff",255,218,185],peru:["Peru",205,133,63],pink:["Pink",255,192,203],plum:["Plum",221,160,221],powderblue:["PowderBlue",176,224,230],purple:["Purple",128,0,128],rebeccapurple:["RebeccaPurple",102,51,153],red:["Red",255,0,0],rosybrown:["RosyBrown",188,143,143],royalblue:["RoyalBlue",65,105,225],saddlebrown:["SaddleBrown",139,69,19],salmon:["Salmon",250,128,114],sandybrown:["SandyBrown",244,164,96],seagreen:["SeaGreen",46,139,87],
seashell:["SeaShell",255,245,238],sienna:["Sienna",160,82,45],silver:["Silver",192,192,192],skyblue:["SkyBlue",135,206,235],slateblue:["SlateBlue",106,90,205],slategray:["SlateGray",112,128,144],snow:["Snow",255,250,250],springgreen:["SpringGreen",0,255,127],steelblue:["SteelBlue",70,130,180],tan:["Tan",210,180,140],teal:["Teal",0,128,128],thistle:["Thistle",216,191,216],tomato:["Tomato",255,99,71],turquoise:["Turquoise",64,224,208],violet:["Violet",238,130,238],wheat:["Wheat",245,222,179],white:["White",
255,255,255],whitesmoke:["WhiteSmoke",245,245,245],yellow:["Yellow",255,255,0],yellowgreen:["YellowGreen",154,205,50]},iq:function(){return this.Hj},Bl:function(g){for(var k=0,q=!1,c=[];k<this.Jh.length&&!q;)g===this.Jh[k][0]?q=!0:k+=1;q&&(c=this.ce[this.Jh[k][1]].Fj);return c},ka:function(g){this.Jh[this.Jh.length]=g},$c:function(){var g,k=0,q;if(!this.bm){this.bm=!0;for(g=q=0;256>g;g+=1)this.Hj[g]=this.Ij[q]<<16|this.Ij[q+1]<<8|this.Ij[q+2],q+=3;g=new z;g.add(0,0,0);g.add(0,255,0);g.add(0,0,128);
g.add(216,255,216);g.add(255,0,0);g.add(255,255,0);g.add(96,96,96);g.add(255,128,128);this.ce[k]=g;u.ka(["LifeHistory",k]);k+=1;g=new z;g.add(48,48,48);g.add(0,128,255);g.add(255,255,255);g.add(255,128,0);this.ce[k]=g;u.ka(["WireWorld",k]);k+=1;g=new z;g.add(0,0,0);g.add(255,255,255);g.add(144,128,112);g.add(144,90,45);g.add(192,192,192);g.add(255,0,0);g.add(255,128,0);g.add(255,255,0);g.add(0,255,0);g.add(0,255,208);g.add(0,192,255);g.add(0,0,255);g.add(192,0,255);g.add(255,64,160);g.add(112,128,
144);g.add(0,128,0);g.add(0,96,128);g.add(160,0,80);g.add(40,40,40);g.add(220,220,220);g.add(140,60,0);g.add(0,160,0);g.add(160,160,250);this.ce[k]=g;u.ka(["WWE",k]);u.ka(["WWE2",k]);u.ka(["WWEJ",k]);u.ka(["WWEJ2",k]);u.ka(["WWEJ3",k]);k+=1;g=new z;g.add(30,30,30);g.add(0,128,128);g.add(0,255,0);g.add(255,0,0);g.add(255,128,0);g.add(255,255,0);g.add(128,0,128);g.add(128,128,128);g.add(255,255,255);g.add(128,128,255);this.ce[k]=g;u.ka(["Novoloop",k]);k+=1;g=new z;g.add(0,0,0);g.add(255,128,0);g.add(255,
0,0);g.add(0,255,0);g.add(0,0,255);g.add(0,190,0);g.add(0,140,0);g.add(255,255,255);g.add(80,80,80);g.add(95,95,95);g.add(128,128,128);g.add(0,64,0);g.add(255,255,0);g.add(64,0,164);g.add(64,32,64);g.add(80,80,100);g.add(95,95,125);g.add(128,255,128);g.add(64,100,100);this.ce[k]=g;u.ka(["shapeloop",k]);u.ka(["shapeloop-b",k]);u.ka(["shapeloop2",k]);u.ka(["shapeloop-ltd",k]);u.ka(["2armshapeloop-a",k]);u.ka(["2armshapeloop2-a",k]);u.ka(["shapeloop2a-bounded",k]);u.ka(["foodshapeloop",k]);u.ka(["foodshapeloop2",
k]);k+=1;g=new z;g.add(0,0,0);g.add(255,255,255);g.add(255,0,0);g.add(0,128,255);g.add(170,0,0);g.add(85,0,0);this.ce[k]=g;u.ka(["b3s23mmg",k]);k+=1;g=new z;g.add(0,0,0);g.add(255,0,0);g.add(0,255,0);g.add(0,0,255);g.add(255,255,0);g.add(0,255,255);g.add(255,0,255);g.add(92,36,110);g.add(0,99,140);g.add(176,196,222);g.add(115,61,26);this.ce[k]=g;u.ka(["_235_4_O3",k]);u.ka(["0_245_5_O4",k]);u.ka(["0_245_5_O3",k]);u.ka(["58_27_4_O3",k]);u.ka(["0_24_4H_O3",k]);u.ka(["2_235_4H_O3",k]);u.ka(["24_235_4H_O3",
k]);u.ka(["3_25_4_O2",k]);u.ka(["Snake_O5",k]);u.ka(["Mites",k]);u.ka(["Mites2",k]);u.ka(["Mites3",k]);k+=1;g=new z;g.add(48,48,48);g.add(255,128,0);g.add(0,0,255);g.add(32,32,255);g.add(64,64,255);g.add(96,96,255);this.ce[k]=g;u.ka(["Alpha-1",k])}}};window.ColourManager=u})();window.BoundingBox=function(z,u,g,k){this.O=z;this.N=u;this.P=g;this.R=k};(function(){function z(g,k){this.index=k;this.M=g.ag[k];this.ra=g.uf[k];this.g=g.Li[k];this.c=g.oi[k];this.C=new BoundingBox(0,0,0,0);this.elapsedTime=this.td=this.qd=this.Ed=0;this.j=-1;this.Cc=this.X=0;this.b=g}function u(){var g,k,q;this.Hb=[];this.Uc=[];this.ag=[];this.uf=[];this.Li=[];this.oi=[];this.b=0;this.index=-1;this.Ho=51;this.Wd=null;this.sf=new Uint8Array(256);for(g=0;g<this.sf.length;g+=1){k=g;for(q=0;k;q+=1)k&=k-1;this.sf[g]=q}}z.prototype.pp=function(g,k,q){var c=k.length,e=k[0].length,
a,h,b,n,f=0,p,d,l=q.Xh;q=q.Yh;var m,x=0,B=this.g,w=0,r=B[w],N=r.length,P;Array.l(this.M,k);for(a=0;a<c;a+=1){p=this.M[a];for(k=m=0;k<e;k+=1)if(d=p[k])for(h=15;0<=h;--h)0!==(d&1<<h)&&(n=x,b=m,P=r[f],f+=1,g[n][b]=P&255,g[n][b+1]=P>>8&255,g[n+1][b]=P>>16&255,g[n+1][b+1]=P>>24,n+=2,P=r[f],f+=1,g[n][b]=P&255,g[n][b+1]=P>>8&255,g[n+1][b]=P>>16&255,g[n+1][b+1]=P>>24,n+=2,P=r[f],f+=1,g[n][b]=P&255,g[n][b+1]=P>>8&255,g[n+1][b]=P>>16&255,g[n+1][b+1]=P>>24,n+=2,P=r[f],f+=1,g[n][b]=P&255,g[n][b+1]=P>>8&255,g[n+
1][b]=P>>16&255,g[n+1][b+1]=P>>24,n+=2,P=r[f],f+=1,g[n][b]=P&255,g[n][b+1]=P>>8&255,g[n+1][b]=P>>16&255,g[n+1][b+1]=P>>24,n+=2,P=r[f],f+=1,g[n][b]=P&255,g[n][b+1]=P>>8&255,g[n+1][b]=P>>16&255,g[n+1][b+1]=P>>24,n+=2,P=r[f],f+=1,g[n][b]=P&255,g[n][b+1]=P>>8&255,g[n+1][b]=P>>16&255,g[n+1][b+1]=P>>24,n+=2,P=r[f],f+=1,g[n][b]=P&255,g[n][b+1]=P>>8&255,g[n+1][b]=P>>16&255,g[n+1][b+1]=P>>24,f>=N&&(w+=1,r=B[w],f=0)),m+=l;else m+=l<<4;x+=q}};z.prototype.tp=function(g,k,q){var c=k.length,e=k[0].length,a,h,b,
n,f=0,p,d;h=0;var l=q.Xh,m=q.Yh,x,B=0,w=this.g,r=0,N=w[r],P=N.length,v=w.length;b=this.b.sf;Array.l(k,this.M);for(a=0;a<c;a+=1)for(p=k[a],q=0;q<e;q+=1)(d=p[q])&&(h+=b[d>>8]+b[d&255]);if(h)for(a=0;a<c;a+=1){p=k[a];for(q=x=0;q<e;q+=1)if(d=p[q])for(h=15;0<=h;--h)0!==(d&1<<h)&&(n=B,b=x,N[f]=g[n][b]|g[n][b+1]<<8|g[n+1][b]<<16|g[n+1][b+1]<<24,f+=1,n+=2,N[f]=g[n][b]|g[n][b+1]<<8|g[n+1][b]<<16|g[n+1][b+1]<<24,f+=1,n+=2,N[f]=g[n][b]|g[n][b+1]<<8|g[n+1][b]<<16|g[n+1][b+1]<<24,f+=1,n+=2,N[f]=g[n][b]|g[n][b+
1]<<8|g[n+1][b]<<16|g[n+1][b+1]<<24,f+=1,n+=2,N[f]=g[n][b]|g[n][b+1]<<8|g[n+1][b]<<16|g[n+1][b+1]<<24,f+=1,n+=2,N[f]=g[n][b]|g[n][b+1]<<8|g[n+1][b]<<16|g[n+1][b+1]<<24,f+=1,n+=2,N[f]=g[n][b]|g[n][b+1]<<8|g[n+1][b]<<16|g[n+1][b+1]<<24,f+=1,n+=2,N[f]=g[n][b]|g[n][b+1]<<8|g[n+1][b]<<16|g[n+1][b+1]<<24,f+=1,f>=P&&(r+=1,f=0,r>=v&&(Array.L(w),v+=1)),N=w[r]),x+=l;else x+=l<<4;B+=m}};z.prototype.op=function(g,k,q){var c=k.length,e=k[0].length,a,h,b,n,f=0,p,d,l=q.Xh<<3,m=q.Yh,x,B=0,w=this.c,r=0,N=w[r],P=N.length,
v;Array.l(this.ra,k);for(a=0;a<c;a+=1){p=k[a];for(q=x=0;q<e;q+=1)if(d=p[q])for(h=15;0<=h;--h){if(0!==(d&1<<h))for(b=x;b<x+l;b+=4)n=B,v=N[f],f+=1,g[n][b]=v&255,g[n][b+1]=v>>8&255,g[n][b+2]=v>>16&255,g[n][b+3]=v>>24,n+=1,v=N[f],f+=1,g[n][b]=v&255,g[n][b+1]=v>>8&255,g[n][b+2]=v>>16&255,g[n][b+3]=v>>24,n+=1,v=N[f],f+=1,g[n][b]=v&255,g[n][b+1]=v>>8&255,g[n][b+2]=v>>16&255,g[n][b+3]=v>>24,n+=1,v=N[f],f+=1,g[n][b]=v&255,g[n][b+1]=v>>8&255,g[n][b+2]=v>>16&255,g[n][b+3]=v>>24,n+=1,v=N[f],f+=1,g[n][b]=v&255,
g[n][b+1]=v>>8&255,g[n][b+2]=v>>16&255,g[n][b+3]=v>>24,n+=1,v=N[f],f+=1,g[n][b]=v&255,g[n][b+1]=v>>8&255,g[n][b+2]=v>>16&255,g[n][b+3]=v>>24,n+=1,v=N[f],f+=1,g[n][b]=v&255,g[n][b+1]=v>>8&255,g[n][b+2]=v>>16&255,g[n][b+3]=v>>24,n+=1,v=N[f],f+=1,g[n][b]=v&255,g[n][b+1]=v>>8&255,g[n][b+2]=v>>16&255,g[n][b+3]=v>>24,n+=1,v=N[f],f+=1,g[n][b]=v&255,g[n][b+1]=v>>8&255,g[n][b+2]=v>>16&255,g[n][b+3]=v>>24,n+=1,v=N[f],f+=1,g[n][b]=v&255,g[n][b+1]=v>>8&255,g[n][b+2]=v>>16&255,g[n][b+3]=v>>24,n+=1,v=N[f],f+=1,
g[n][b]=v&255,g[n][b+1]=v>>8&255,g[n][b+2]=v>>16&255,g[n][b+3]=v>>24,n+=1,v=N[f],f+=1,g[n][b]=v&255,g[n][b+1]=v>>8&255,g[n][b+2]=v>>16&255,g[n][b+3]=v>>24,n+=1,v=N[f],f+=1,g[n][b]=v&255,g[n][b+1]=v>>8&255,g[n][b+2]=v>>16&255,g[n][b+3]=v>>24,n+=1,v=N[f],f+=1,g[n][b]=v&255,g[n][b+1]=v>>8&255,g[n][b+2]=v>>16&255,g[n][b+3]=v>>24,n+=1,v=N[f],f+=1,g[n][b]=v&255,g[n][b+1]=v>>8&255,g[n][b+2]=v>>16&255,g[n][b+3]=v>>24,n+=1,v=N[f],f+=1,g[n][b]=v&255,g[n][b+1]=v>>8&255,g[n][b+2]=v>>16&255,g[n][b+3]=v>>24,f>=
P&&(r+=1,N=w[r],f=0);x+=l}else x+=l<<4;B+=m}};z.prototype.rp=function(g,k,q){var c=k.length,e=k[0].length,a,h,b,n,f=0,p,d;h=0;var l=q.Xh<<3,m=q.Yh,x,B=0,w=this.c,r=0,N=w[r],P=N.length,v=w.length;b=this.b.sf;Array.l(k,this.ra);for(a=0;a<c;a+=1)for(p=k[a],q=0;q<e;q+=1)(d=p[q])&&(h+=b[d>>8]+b[d&255]);if(h)for(a=0;a<c;a+=1){p=k[a];for(q=x=0;q<e;q+=1)if(d=p[q])for(h=15;0<=h;--h){if(0!==(d&1<<h))for(b=x;b<x+l;b+=4)n=B,N[f]=g[n][b]|g[n][b+1]<<8|g[n][b+2]<<16|g[n][b+3]<<24,f+=1,n+=1,N[f]=g[n][b]|g[n][b+1]<<
8|g[n][b+2]<<16|g[n][b+3]<<24,f+=1,n+=1,N[f]=g[n][b]|g[n][b+1]<<8|g[n][b+2]<<16|g[n][b+3]<<24,f+=1,n+=1,N[f]=g[n][b]|g[n][b+1]<<8|g[n][b+2]<<16|g[n][b+3]<<24,f+=1,n+=1,N[f]=g[n][b]|g[n][b+1]<<8|g[n][b+2]<<16|g[n][b+3]<<24,f+=1,n+=1,N[f]=g[n][b]|g[n][b+1]<<8|g[n][b+2]<<16|g[n][b+3]<<24,f+=1,n+=1,N[f]=g[n][b]|g[n][b+1]<<8|g[n][b+2]<<16|g[n][b+3]<<24,f+=1,n+=1,N[f]=g[n][b]|g[n][b+1]<<8|g[n][b+2]<<16|g[n][b+3]<<24,f+=1,n+=1,N[f]=g[n][b]|g[n][b+1]<<8|g[n][b+2]<<16|g[n][b+3]<<24,f+=1,n+=1,N[f]=g[n][b]|
g[n][b+1]<<8|g[n][b+2]<<16|g[n][b+3]<<24,f+=1,n+=1,N[f]=g[n][b]|g[n][b+1]<<8|g[n][b+2]<<16|g[n][b+3]<<24,f+=1,n+=1,N[f]=g[n][b]|g[n][b+1]<<8|g[n][b+2]<<16|g[n][b+3]<<24,f+=1,n+=1,N[f]=g[n][b]|g[n][b+1]<<8|g[n][b+2]<<16|g[n][b+3]<<24,f+=1,n+=1,N[f]=g[n][b]|g[n][b+1]<<8|g[n][b+2]<<16|g[n][b+3]<<24,f+=1,n+=1,N[f]=g[n][b]|g[n][b+1]<<8|g[n][b+2]<<16|g[n][b+3]<<24,f+=1,n+=1,N[f]=g[n][b]|g[n][b+1]<<8|g[n][b+2]<<16|g[n][b+3]<<24,f+=1,f>=P&&(r+=1,f=0,r>=v&&(Array.L(w),v+=1),N=w[r]);x+=l}else x+=l<<4;B+=m}};
u.prototype.bufferSize=function(){for(var g=0,k=0;k<this.Uc.length;)g+=this.ag[k].length*this.ag[k][0].length*2,g+=this.uf[k].length*this.uf[k][0].length*2,g+=this.Li[k].length*this.Li[k][0].length*4,g+=this.oi[k].length*this.oi[k][0].length*4,k+=1;return g};u.prototype.Vp=function(){for(var g=0,k=0;k<this.Uc.length;)this.Uc[k]&&(g+=1),k+=1;return g};u.prototype.reset=function(){var g=0,k=-1;this.Hb=[];this.index=-1;this.Wd&&(k=this.Wd.index);for(;g<this.Uc.length;)g!==k&&(this.Uc[g]=!1),g+=1};u.prototype.Ep=
function(g){var k=null;0<this.Hb.length&&(k=this.Hb[this.index],k.j>g&&(k=null,0<this.index&&(this.c(this.Hb[this.index].index),this.Hb.pop(),--this.index,0<=this.index&&(k=this.Hb[this.index]))));return k};u.prototype.Mh=function(g,k,q,c,e,a,h,b,n,f,p,d,l,m,x,B){if(m)p=this.Wd;else if(51>this.Hb.length)p=this.Gj(p,d,!1),this.index+=1;else{this.index+=1;if(51<=this.index){this.index=50;this.c(this.Hb[0].index);for(m=0;50>m;m+=1)this.Hb[m]=this.Hb[m+1];this.Hb.pop();this.Gj(p,d,!1)}p=this.Hb[this.index]}p.X=
x;p.Cc=B;p.tp(g,k,l);p.rp(q,c,l);p.C.O=e.O;p.C.P=e.P;p.C.N=e.N;p.C.R=e.R;p.Ed=a;p.qd=h;p.td=b;p.elapsedTime=n;p.j=f};u.prototype.c=function(g){this.Uc[g]=!1};u.prototype.l=function(g,k){var q,c=0;for(q=!1;c<this.b&&!q;)this.Uc[c]?c+=1:q=!0;q?(q=c,this.Uc[c]=!0):(this.ag[c]=Array.b(k,g),this.uf[c]=Array.b(k,g),this.Li[c]=Array.S(128),this.oi[c]=Array.S(1024),this.Uc[c]=!0,this.b+=1,q=c);return q};u.prototype.Gj=function(g,k,q){g=this.l(g,k);g=new z(this,g);q?this.Wd=g:this.Hb[this.Hb.length]=g;return g};
u.prototype.g=function(g,k,q,c){var e=g.M,a=g.ra,h=g.M.length,b=h>>1,n=g.M[0].length>>1,f=0,p=g.index;this.ag[p]=Array.b(q,k);this.uf[p]=Array.b(q,k);g.M=this.ag[p];for(g.ra=this.uf[p];f<h;)g.M[f+b].set(e[f],n),g.ra[f+b].set(a[f],n),f+=1;g.C.O+=c;g.C.P+=c;g.C.N+=c;g.C.R+=c};u.prototype.np=function(g,k,q){var c=0,e=this.Hb.length;for(this.g(this.Wd,g,k,q);c<e;)this.g(this.Hb[c],g,k,q),c+=1;for(c=0;c<this.Uc.length;)this.Uc[c]||(this.ag[c]=Array.b(k,g),this.uf[c]=Array.b(k,g)),c+=1};window.SnapshotManager=
u;window.Snapshot=z})();(function(){function z(c,e,a){this.La=e;this.Ga=c;this.ac=a}function u(c,e,a){this.red=c;this.green=e;this.blue=a}function g(c,e){this.I=c;this.$=e}function k(c,e,a,h,b){this.oc=this.Hc=0;this.Rb=1;this.X=0;this.oj=-1;this.Cc=0;this.Ma=this.qa=this.Db=-1;this.mh=this.lh=0;this.wl=this.Bj=!1;this.fj=ViewConstants.Il;this.fc=[];this.gc=[];this.fc[0]=new Int32Array(q.Bk);this.gc[0]=new Int32Array(q.Bk);this.Se=0;this.yg=4294967295;this.hg=-1;this.bd=this.dj=this.J=!1;this.u=-1;this.ee=this.ad=!1;this.elapsedTime=
0;this.Lc=new SnapshotManager;this.Nf=q.Qh;this.yb=this.an=!1;this.De=this.Fa=this.Xb=this.C=null;this.title="LifeViewer";this.width=h;this.height=b;this.Xh=2;this.Yh=16;this.c=this.width>>4;this.g=this.height>>4;this.Wd=this.Lc.Gj((this.c-1>>4)+1,this.g,!0);this.s=e;this.m=a;this.td=this.qd=this.Ed=0;this.S=64;this.v=127;this.xc=63;this.wc=1;this.lk=this.ac=0;this.tf=this.sd=this.o=1;this.Al=30;this.G=this.j=0;this.zoom=6;this.A=this.D=0;this.ic=.1;this.mb=0;this.K=1;this.ob=this.nb=0;this.b=.1;
this.Le=littleEndian;this.$b=[];this.kb=this.ba=this.da=this.dc=this.xa=this.Ca=null;this.nc=12;this.Cb=this.Ub=this.Nd=null;this.vd=c;this.Oa=this.Ja=0;this.M=Array.b(this.g,(this.c-1>>4)+1);this.na=Array.b(this.g,(this.c-1>>4)+1);this.ab=Array.c(this.height,(this.width-1>>3)+1,0);this.wb=Array.c(this.height,(this.width-1>>3)+1,0);this.Xa=Array.v(this.ab);this.V=Array.v(this.wb);this.Vc=new Uint32Array(this.s);this.Ba=new Uint8Array((this.width-1>>3)+1);this.Ab=new Uint16Array(this.c>>4);this.Rc=
new Uint8Array(this.width);this.la=Array.c(this.height,this.width,this.ac);this.l=Array.c(this.height,this.width,this.ac);this.fa=Array.g(this.l,1);this.ha=Array.g(this.l,3);this.Ka=Array.g(this.l,7);this.Ve=Array.v(this.la);this.Yc=this.Ac=this.cc=this.bc=this.L=this.Yb=null;this.ra=Array.b(this.g,(this.c-1>>4)+1);this.va=Array.b(this.g,(this.c-1>>4)+1);this.Gd=this.Lb=this.Tb=this.Ua=null;this.Kc=new Uint8Array(256);this.Dc=new Uint8Array(256);this.Bc=new Uint8Array(256);this.Ud=new Uint32Array(256);
this.Nj=this.Mj=0;this.Jf=new Uint8Array(q.Vl);this.Kf=new Uint8Array(q.Vl);this.yc=new Uint8Array(q.Zj);this.zc=new Uint8Array(q.Zj);this.Xe=new Uint8Array(2*(this.v+1));this.af=Array.c(65536,16,0);this.Fc=this.Mi=5263440;this.Qd=-1;this.wd=this.Xj=7368816;this.Pd=-1;this.mg=13750737;this.jf=15066597;this.Ec=10;this.Je=!0;this.sf=new Uint8Array(256);this.xd=new Uint8Array(65536);this.Wc=new Uint16Array((this.width-1>>4)+1);this.gb=8192}var q={Bk:4096,Vl:512,Zj:262144,Qh:50,ul:255,cd:1,hd:2,kd:4,
Tc:8,Yd:16,Zd:32,Jd:64,Kd:128};z.prototype.Ao=function(){var c=!0;this.La.I.fk(this.La.$)&&this.Ga.I.fk(this.Ga.$)&&this.Ga.I.fk(this.ac)&&(c=!1);return c};u.prototype.set=function(c){this.red=c.red;this.green=c.green;this.blue=c.blue};u.prototype.fk=function(c){var e=!1;this.red===c.red&&this.green===c.green&&this.blue===c.blue&&(e=!0);return e};g.prototype.set=function(c){this.I.set(c.I);this.$.set(c.$)};k.prototype.Vj=function(c,e,a){var h=0,b,n=ViewConstants.Aa[3]+128,f=ViewConstants.Aa[4]+128,
p=ViewConstants.Aa[5]+128,d=ViewConstants.Aa[6]+128;c===(c&this.Ja)&&e===(e&this.Oa)&&(b=this.la[e][c],a||-1!==this.u?-1!==this.u&&0<b?h=this.u-b:h=b:this.Yb?(c=this.Yb[e][c],c===f||c===d?(b>=this.S&&(c=n),h=ViewConstants.Aa[c-128]):c===n||c===p?(b<this.S&&(c=f),h=ViewConstants.Aa[c-128]):h=b===this.ac?0:b<=this.xc?2:1):h=b<=this.xc?0:1);return h};k.prototype.Wh=function(c){var e,a,h,b,n=c.length,f=c[0].length,p=this.sf,d=0;for(a=0;a<n;a+=1)for(e=c[a],h=0;h<f;h+=1)(b=e[h])&&(d+=p[b>>8]+p[b&255]);
return d};k.prototype.Lh=function(c,e,a){var h=this.Lc.Hb.length,b=this.Lc.Ep(c),n=!0;h!==this.Lc.Hb.length&&(this.Nf-=q.Qh);if(b){for(this.Be(b);this.j<c-1;)this.Mf(!1,this.elapsedTime,!0),this.Ag();this.j<c&&this.Mf(e,this.elapsedTime,!0);n=this.Ag();this.elapsedTime=a-(a-b.elapsedTime)/(c-b.j+1)}return n};k.prototype.Be=function(c){var e,a,h,b,n,f,p=this.Ba,d=this.Rc;this.j=c.j;0!==(this.j&1)?(e=this.wb,a=this.ab,h=this.na,b=this.M):(e=this.ab,a=this.wb,h=this.M,b=this.na);f=e.length;for(n=0;n<
f;n+=1)e[n].set(p),this.la[n].set(d),this.l[n].set(d);Array.l(e,a);Array.l(this.va,this.ra);c.pp(e,h,this);c.op(this.la,this.va,this);Array.l(h,b);Array.l(e,a);this.C.O=c.C.O;this.C.N=c.C.N;this.C.P=c.C.P;this.C.R=c.C.R;this.Ed=c.Ed;this.qd=c.qd;this.td=c.td;this.elapsedTime=c.elapsedTime;this.X=c.X;this.Cc=c.Cc};k.prototype.Mh=function(c){var e,a;0!==(this.j&1)?(e=this.wb,a=this.na):(e=this.ab,a=this.M);this.Ce(!1,e,a,c)};k.prototype.Dk=function(c){this.Be(this.Wd);this.Lc.reset();this.Nf=q.Qh;c||
this.Mh(0)};k.prototype.Ce=function(c,e,a,h){this.Lc.Mh(e,a,this.la,this.va,this.C,this.Ed,this.qd,this.td,h,this.j,(this.c-1>>4)+1,this.g,this,c,this.X,this.Cc)};k.prototype.sp=function(c){this.Lc.reset();this.Ce(!0,this.ab,this.M,0);c||this.Mh(0)};k.prototype.Ul=function(){var c=this.ab,e=this.wb,a=this.la,h=this.l,b=this.Yb,n=this.L,f=this.Ua,p=this.Lb,d=this.Tb,l=this.Gd,m=this.M,x=this.na,B=this.ra,w=this.va,r=this.height,g=this.g,k=this.width>>1,v=this.height>>1,q;if(8192>this.width){this.width*=
2;this.height*=2;this.ab=Array.c(this.height,(this.width-1>>3)+1,0);this.wb=Array.c(this.height,(this.width-1>>3)+1,0);this.Xa=Array.v(this.ab);this.V=Array.v(this.wb);f&&(this.Ua=Array.b(this.height,(this.width-1>>4)+1),this.Lb=Array.b(this.height,(this.width-1>>4)+1),this.Tb=Array.b(this.height,(this.width-1>>4)+1));this.c=this.width>>4;this.g=this.height>>4;f&&(this.Gd=Array.b(this.g,(this.c-1>>4)+1));this.M=Array.b(this.g,(this.c-1>>4)+1);this.na=Array.b(this.g,(this.c-1>>4)+1);this.ra=Array.b(this.g,
(this.c-1>>4)+1);this.va=Array.b(this.g,(this.c-1>>4)+1);this.Ba=new Uint8Array((this.width-1>>3)+1);this.Ab=new Uint16Array(this.c>>4);this.Rc=new Uint8Array(this.width);this.Wc=new Uint16Array((this.width-1>>4)+1);this.la=Array.c(this.height,this.width,this.ac);this.l=Array.c(this.height,this.width,this.ac);this.fa=Array.g(this.l,1);this.ha=Array.g(this.l,3);this.Ka=Array.g(this.l,7);this.Ve=Array.v(this.la);b&&(this.Yb=Array.c(this.height,this.width,this.ac),this.L=Array.c(this.height,this.width,
this.ac),this.bc=Array.g(this.L,1),this.cc=Array.g(this.L,3),this.Ac=Array.g(this.L,7),this.Yc=Array.v(this.Yb));this.Ja=this.width-1;this.Oa=this.height-1;for(q=0;q<r;q+=1)this.ab[q+v].set(c[q],k>>3),this.wb[q+v].set(e[q],k>>3),this.la[q+v].set(a[q],k),this.l[q+v].set(h[q],k),b&&(this.Yb[q+v].set(b[q],k),this.L[q+v].set(n[q],k)),f&&(this.Ua[q+v].set(f[q],k>>4),this.Lb[q+v].set(p[q],k>>4),this.Tb[q+v].set(d[q],k>>4));v=g>>1;for(q=0;q<g;q+=1)f&&this.Gd[q+v].set(l[q],this.Gd[q].length>>2),this.M[q+
v].set(m[q],this.M[q].length>>2),this.na[q+v].set(x[q],this.na[q].length>>2),this.ra[q+v].set(B[q],this.ra[q].length>>2),this.va[q+v].set(w[q],this.va[q].length>>2);k=this.width>>2;v=this.height>>2;this.Lc.np((this.c-1>>4)+1,this.g,k);this.D+=k;this.A+=v;this.J&&(this.D-=v/2|0);this.C.O+=k;this.C.P+=k;this.C.R+=v;this.C.N+=v;this.Xb.O+=k;this.Xb.P+=k;this.Xb.R+=v;this.Xb.N+=v;this.Fa.O+=k;this.Fa.P+=k;this.Fa.R+=v;this.Fa.N+=v}};k.prototype.Nn=function(c){var e=this.C,a=this.width,h=this.height,b=
!1;8192>a&&this.X&&(e.O<=c||e.N<=c||e.P>=a-c||e.R>=h-c)&&(this.Ul(),b=!0);return b};k.prototype.og=function(){var c,e,a,h=this.xd;for(c=0;65536>c;c+=1){e=c;for(a=0;e;a+=1)e&=e-1;h[c]=a}};k.prototype.ng=function(){var c,e,a,h=this.sf;for(c=0;256>c;c+=1){e=c;for(a=0;e;a+=1)e&=e-1;h[c]=a}};k.prototype.pg=function(){var c,e,a=this.af,h=this.S,b;for(c=0;c<a.length;c+=1)for(b=a[c],e=0;e<b.length;e+=1)b[e]=c&1<<15-e?h:0};k.prototype.lp=function(c){var e,a,h,b=0,n,f=this.xd;e=this.C;var p=e.O>>4,d=e.P>>4,
l=e.R;for(e=e.N;e<=l;e+=1)for(h=c[e],a=p;a<=d;a+=1)n=f[h[a]],b+=n;this.Ed=b;this.td=this.qd=0};k.prototype.Km=function(c,e){var a=this.vd,h;h=this.Le?4278190080:255;this.s=c;this.m=e;this.Nd=this.Ub=this.Cb=null;this.Cb=a.createImageData(a.canvas.width,a.canvas.height);this.Cb.data.buffer?this.Ub=new Uint32Array(this.Cb.data.buffer):(this.Ub=new Uint32Array(this.Cb.data.length>>2),this.Nd=new Uint8Array(this.Ub.buffer));this.Vc=new Uint32Array(c);for(a=0;a<c;a+=1)this.Vc[a]=h;this.mf()};k.prototype.Rn=
function(c,e,a){var h,b=this.la,n,f=c.width,p=c.height;e=(this.width-f>>1)+e;var d=(this.height-p>>1)+a,l=this.Ja,m=this.Oa,x,B=this.wc,w=ViewConstants.Aa[2];for(h=0;h<p;h+=1)for(x=c.oe[h],n=b[h+d&m],a=0;a<f;a+=1)x[a]===w&&(n[a+e&l]=B)};k.prototype.wo=function(){this.Yc=this.L=this.Yb=null};k.prototype.Yn=function(){this.Yb=Array.c(this.height,this.width,this.ac);this.L=Array.c(this.height,this.width,this.ac);this.bc=Array.g(this.L,1);this.cc=Array.g(this.L,3);this.Ac=Array.g(this.L,7);this.Yc=Array.v(this.Yb)};
k.prototype.xo=function(){this.Gd=this.Tb=this.Lb=this.Ua=null};k.prototype.Zn=function(){this.Ua=Array.b(this.height,(this.width-1>>4)+1);this.Lb=Array.b(this.height,(this.width-1>>4)+1);this.Tb=Array.b(this.height,(this.width-1>>4)+1);this.Gd=Array.b(this.g,(this.c-1>>4)+1)};k.prototype.Xo=function(c,e,a){var h,b,n,f,p,d=c.width,l=c.height;e=(this.width-d>>1)+e;var m=(this.height-l>>1)+a,x=this.Ja,B=this.Oa,w,r,g=this.Gd,k,v,q;for(h=0;h<l;h+=1)for(w=c.oe[h],b=this.Ua[h-1+m&B],n=this.Ua[h+m&B],f=
this.Ua[h+1+m&B],p=this.Tb[h+m&B],k=g[(h-1+m&B)>>4],v=g[(h+m&B)>>4],q=g[(h+1+m&B)>>4],a=0;a<d;a+=1)6===w[a]&&(r=a+e&x,p[r>>4]|=1<<(~r&15),b[r>>4]|=1<<(~r&15),n[r>>4]|=1<<(~r&15),f[r>>4]|=1<<(~r&15),k[r>>8]|=1<<(~(r>>4)&15),v[r>>8]|=1<<(~(r>>4)&15),q[r>>8]|=1<<(~(r>>4)&15),r=a-1+e&x,b[r>>4]|=1<<(~r&15),n[r>>4]|=1<<(~r&15),f[r>>4]|=1<<(~r&15),k[r>>8]|=1<<(~(r>>4)&15),v[r>>8]|=1<<(~(r>>4)&15),q[r>>8]|=1<<(~(r>>4)&15),r=a+1+e&x,b[r>>4]|=1<<(~r&15),n[r>>4]|=1<<(~r&15),f[r>>4]|=1<<(~r&15),k[r>>8]|=1<<(~(r>>
4)&15),v[r>>8]|=1<<(~(r>>4)&15),q[r>>8]|=1<<(~(r>>4)&15))};k.prototype.kp=function(c){var e,a,h,b=this.la,n=this.af,f,p,d;e=this.C;var l=e.O>>4,m=e.P>>4,x=e.R;for(a=e.N;a<=x;a+=1)for(f=c[a],p=b[a],h=l<<4,e=l;e<=m;e+=1)d=n[f[e]],p[h]=d[0],h+=1,p[h]=d[1],h+=1,p[h]=d[2],h+=1,p[h]=d[3],h+=1,p[h]=d[4],h+=1,p[h]=d[5],h+=1,p[h]=d[6],h+=1,p[h]=d[7],h+=1,p[h]=d[8],h+=1,p[h]=d[9],h+=1,p[h]=d[10],h+=1,p[h]=d[11],h+=1,p[h]=d[12],h+=1,p[h]=d[13],h+=1,p[h]=d[14],h+=1,p[h]=d[15],h+=1};k.prototype.Bo=function(c,
e,a){var h=this.ac,b=this.Ba,n=this.Rc,f=this.Vc,p=this.Ab,d;d=this.Le?4278190080:255;this.ee=!1;this.Ja=this.width-1;this.Oa=this.height-1;this.C=new BoundingBox(0,0,this.width-1,this.height-1);this.Xb=new BoundingBox(0,0,this.width-1,this.height-1);this.Fa=new BoundingBox(0,0,this.width-1,this.height-1);this.De=new BoundingBox(0,0,this.width-1,this.height-1);this.vd=c;this.pg();AliasManager.$c();this.Km(e,a);a=(this.width-1>>3)+1;for(c=0;c<a;c+=1)b[c]=0;a=this.width;for(c=0;c<a;c+=1)n[c]=h;a=this.c>>
4;for(c=0;c<a;c+=1)p[c]=0;for(c=0;c<e;c+=1)f[c]=d;this.ng();this.og()};k.prototype.Un=function(){var c=0;this.$b[c]=new z(new g(new u(0,0,0),new u(0,0,0)),new g(new u(255,255,255),new u(255,255,255)),new u(0,0,0));c+=1;this.$b[c]=new z(new g(new u(0,0,47),new u(0,0,255)),new g(new u(0,255,255),new u(255,255,255)),new u(0,0,0));c+=1;this.$b[c]=new z(new g(new u(32,0,0),new u(160,0,0)),new g(new u(255,144,0),new u(255,255,0)),new u(0,0,0));c+=1;this.$b[c]=new z(new g(new u(0,24,0),new u(0,128,0)),new g(new u(0,
255,255),new u(255,255,255)),new u(0,0,0));c+=1;this.$b[c]=new z(new g(new u(0,47,0),new u(128,0,128)),new g(new u(255,255,0),new u(255,255,255)),new u(0,32,128));c+=1;this.$b[c]=new z(new g(new u(16,16,16),new u(104,104,104)),new g(new u(176,176,176),new u(255,255,255)),new u(0,0,0));c+=1;this.$b[c]=new z(new g(new u(255,255,255),new u(255,255,255)),new g(new u(0,0,0),new u(0,0,0)),new u(255,255,255));c+=1;this.$b[c]=new z(new g(new u(240,240,240),new u(0,255,255)),new g(new u(0,0,255),new u(0,0,
0)),new u(255,255,255));c+=1;this.$b[c]=new z(new g(new u(240,240,240),new u(240,240,240)),new g(new u(240,240,240),new u(240,240,240)),new u(0,0,0));c+=1;this.$b[c]=new z(new g(new u(160,0,0),new u(160,0,0)),new g(new u(240,240,240),new u(240,240,240)),new u(0,0,0));c+=1;this.$b[c]=new z(new g(new u(0,0,96),new u(0,0,160)),new g(new u(0,240,0),new u(16,255,16)),new u(0,0,0));c+=1;this.$b[c]=new z(new g(new u(255,255,0),new u(255,255,0)),new g(new u(255,0,0),new u(255,0,0)),new u(0,0,0));this.$b[c+
1]=new z(new g(new u(0,0,0),new u(0,0,0)),new g(new u(0,0,0),new u(0,0,0)),new u(0,0,0));this.xa=new g(new u(0,0,0),new u(0,0,0));this.Ca=new g(new u(0,0,0),new u(0,0,0));this.dc=new u(0,0,0);this.ba=new g(new u(0,0,0),new u(0,0,0));this.da=new g(new u(0,0,0),new u(0,0,0));this.kb=new u(0,0,0)};k.prototype.ve=function(c,e){var a=this.$b[c];this.sd=c;this.xa.set(this.ba);this.Ca.set(this.da);this.dc.set(this.kb);this.ba.set(a.La);this.da.set(a.Ga);this.kb.set(a.ac);this.tf=e;this.an=a.Ao();if(this.Fc===
this.Mi||this.Fc===this.jf)128<=(this.kb.red+this.kb.green+this.kb.blue)/3?(this.Fc=this.jf,this.wd=this.mg):(this.Fc=this.Mi,this.wd=this.Xj)};k.prototype.Tn=function(){var c,e,a,h,b,n;c=this.Xe;e=this.v;a=this.S;h=this.wc;b=this.xc;c[0]=0;c[e+1]=a;for(n=1;n<e+1;n+=1)c[n]=Math.min(Math.max(n-1,h),b),c[n+e+1]=Math.max(Math.min(n+1,e),a)};k.prototype.Dl=function(){var c,e,a,h,b;e=(this.tf-1)/30;c=0;this.Kc[c]=this.dc.red*e+this.kb.red*(1-e);this.Dc[c]=this.dc.green*e+this.kb.green*(1-e);this.Bc[c]=
this.dc.blue*e+this.kb.blue*(1-e);if(-1!==this.u)for(c=1;c<this.u;c+=1)a=2===this.u?1:1-(c-1)/(this.u-2),h=this.xa.I.red*a+this.Ca.I.red*(1-a),b=this.ba.I.red*a+this.da.I.red*(1-a),this.Kc[c]=h*e+b*(1-e),h=this.xa.I.green*a+this.Ca.I.green*(1-a),b=this.ba.I.green*a+this.da.I.green*(1-a),this.Dc[c]=h*e+b*(1-e),h=this.xa.I.blue*a+this.Ca.I.blue*(1-a),b=this.ba.I.blue*a+this.da.I.blue*(1-a),this.Bc[c]=h*e+b*(1-e);else{for(c=this.wc;c<=this.xc;c+=1)a=1-(c-this.wc)/(this.xc-this.wc),h=this.Ca.I.red*a+
this.Ca.$.red*(1-a),b=this.da.I.red*a+this.da.$.red*(1-a),this.Kc[c]=h*e+b*(1-e),h=this.Ca.I.green*a+this.Ca.$.green*(1-a),b=this.da.I.green*a+this.da.$.green*(1-a),this.Dc[c]=h*e+b*(1-e),h=this.Ca.I.blue*a+this.Ca.$.blue*(1-a),b=this.da.I.blue*a+this.da.$.blue*(1-a),this.Bc[c]=h*e+b*(1-e);for(c=this.S;c<=this.v;c+=1)a=1-(c-this.S)/(this.v-this.S),h=this.xa.I.red*a+this.xa.$.red*(1-a),b=this.ba.I.red*a+this.ba.$.red*(1-a),this.Kc[c]=h*e+b*(1-e),h=this.xa.I.green*a+this.xa.$.green*(1-a),b=this.ba.I.green*
a+this.ba.$.green*(1-a),this.Dc[c]=h*e+b*(1-e),h=this.xa.I.blue*a+this.xa.$.blue*(1-a),b=this.ba.I.blue*a+this.ba.$.blue*(1-a),this.Bc[c]=h*e+b*(1-e)}};k.prototype.Xn=function(c){var e=this.Kc,a=this.Dc,h=this.Bc,b,n;for(b=0;b<c.length;b+=1)n=c[b],e[b]=n>>16,a[b]=n>>8&255,h[b]=n&255;this.tf=0};k.prototype.Vn=function(c,e){var a=this.Kc,h=this.Dc,b=this.Bc,n=ViewConstants.Aa,f=e.length,p;for(p=0;p<c.length;p+=1)p>=f||-1===e[p]?(a[128+n[p]]=c[p]>>16,h[128+n[p]]=c[p]>>8&255,b[128+n[p]]=c[p]&255):(a[128+
n[p]]=e[p]>>16,h[128+n[p]]=e[p]>>8&255,b[128+n[p]]=e[p]&255)};k.prototype.Mb=function(c){var e=this.Kc,a=this.Dc,h=this.Bc,b=this.Ud,n=this.Fc,f=this.wd,p,d=0;if(-1!==this.u)if(this.Le)for(p=0;p<this.u;p+=1)0<p&&(d=this.u-p),b[p]=-16777216|h[d]<<16|a[d]<<8|e[d];else for(p=0;p<this.u;p+=1)0<p&&(d=this.u-p),b[p]=e[d]<<24|a[d]<<16|h[d]<<8|255;else if(this.Le){for(p=0;p<this.S;p+=1)b[p]=-16777216|h[p]<<16|a[p]<<8|e[p];for(p=this.S;p<=this.v;p+=1)b[p]=-16777216|h[p]*c<<16|a[p]*c<<8|e[p]*c;for(p=this.v+
1;256>p;p+=1)b[p]=-16777216|h[p]*c<<16|a[p]*c<<8|e[p]*c}else{for(p=0;p<this.S;p+=1)b[p]=e[p]<<24|a[p]<<16|h[p]<<8|255;for(p=this.S;p<=this.v;p+=1)b[p]=e[p]*c<<24|a[p]*c<<16|h[p]*c<<8|255;for(p=this.v+1;256>p;p+=1)b[p]=e[p]*c<<24|a[p]*c<<16|h[p]*c<<8|255}this.Le?(this.Qd=-16777216|(n&255)<<16|(n>>8&255)<<8|n>>16,this.Pd=-16777216|(f&255)<<16|(f>>8&255)<<8|f>>16):(this.Qd=(n&255)<<24|(n>>8&255)<<16|n>>16<<8|255,this.Pd=(f&255)<<24|(f>>8&255)<<16|f>>16<<8|255);-1!==this.Db&&(b[q.ul]=this.Le?4286611584:
2155905279)};k.prototype.On=function(){var c=this.height,e=this.ab,a=this.wb,h=this.la,b=this.l,n=this.Yb,f=this.L,p=this.M,d=this.ra,l=this.va,m=this.na,x=this.Ba,B=this.Ab,w=this.Rc,r;for(r=0;r<c;r+=1)e[r].set(x),a[r].set(x),h[r].set(w),b[r].set(w),n&&(n[r].set(w),f[r].set(w));c=this.g;for(r=0;r<c;r+=1)p[r].set(B),m[r].set(B),d[r].set(B),l[r].set(B)};k.prototype.Xc=function(c,e){var a=q.Zj,h,b;for(h=0;h<a;h+=1)b=e[h>>9&448|h>>6&56|h>>3&7]<<3,b|=e[h>>8&448|h>>5&56|h>>2&7]<<2,b|=e[h>>7&448|h>>4&56|
h>>1&7]<<1,b|=e[h>>6&448|h>>3&56|h&7],c[h]=b};k.prototype.Ue=function(c){var e,a=0;for(e=0;e<c.length;e+=1)c[e]&&(a+=1);return a};k.prototype.Pp=function(c,e){c?(this.Xc(this.yc,this.Jf),this.Mj=this.Ue(this.Jf),e?(this.Xc(this.zc,this.Kf),this.Nj=this.Ue(this.Kf)):this.zc.set(this.yc)):(this.Xc(this.yc,PatternManager.We),this.Xc(this.zc,PatternManager.Kh))};k.prototype.ke=function(c){var e=0;0!==(c&32768)?e=0:0!==(c&16384)?e=1:0!==(c&8192)?e=2:0!==(c&4096)?e=3:0!==(c&2048)?e=4:0!==(c&1024)?e=5:0!==
(c&512)?e=6:0!==(c&256)?e=7:0!==(c&128)?e=8:0!==(c&64)?e=9:0!==(c&32)?e=10:0!==(c&16)?e=11:0!==(c&8)?e=12:0!==(c&4)?e=13:0!==(c&2)?e=14:0!==(c&1)&&(e=15);return e};k.prototype.se=function(c){var e=0;0!==(c&1)?e=15:0!==(c&2)?e=14:0!==(c&4)?e=13:0!==(c&8)?e=12:0!==(c&16)?e=11:0!==(c&32)?e=10:0!==(c&64)?e=9:0!==(c&128)?e=8:0!==(c&256)?e=7:0!==(c&512)?e=6:0!==(c&1024)?e=5:0!==(c&2048)?e=4:0!==(c&4096)?e=3:0!==(c&8192)?e=2:0!==(c&16384)&&(e=1);return e};k.prototype.ig=function(){var c=this.Yb,e,a=this.M,
h,b=this.width,n=this.height,f,p=this.C.R,d=this.C.N,l=this.C.O,m=this.C.P,x,B;for(x=0;x<n;x+=1){e=c[x];h=a[x>>4];for(B=f=0;B<b;B+=1)0!==e[B]&&(h[B>>8]|=1<<(~(B>>4)&15),f|=e[B],B<l&&(l=B),B>m&&(m=B));f&&(x<d&&(d=x),x>p&&(p=x))}this.C.R=p;this.C.N=d;this.C.O=l;this.C.P=m};k.prototype.Qi=function(){var c,e,a,h,b,n=this.Xa,f=this.na,p,d=this.M,l,m=null,x=null,B,w,r,g,k,v,J,A,E=this.g,t=this.c>>4,u=this.Ab,D;k=0;v=k+16;for(h=0;h<E;h+=1)d[h].set(u);for(h=0;h<E;h+=1){J=0;p=f[h];l=d[h];0<h?m=d[h-1]:m=u;
h<E-1?x=d[h+1]:x=u;p[0]&=32767;p[t-1]&=65534;for(b=0;b<t;b+=1)if(B=p[b]){w=l[b];r=m[b];g=x[b];for(e=15;0<=e;--e){if(0!==(B&1<<e)){A=!1;D=0;c=k;a=n[c];if(a=a[J])A=!0,0!==(a&32768)&&(D|=q.cd,D|=q.Jd),0!==(a&1)&&(D|=q.hd,D|=q.Kd),D|=q.Tc;for(c+=1;c<v-1;){a=n[c];if(a=a[J])A=!0,0!==(a&32768)&&(D|=q.cd),0!==(a&1)&&(D|=q.hd);c+=1}a=n[c];if(a=a[J])A=!0,0!==(a&32768)&&(D|=q.cd,D|=q.Yd),0!==(a&1)&&(D|=q.hd,D|=q.Zd),D|=q.kd;A&&(w|=1<<e,D&&(0!==(D&q.cd)&&(15>e?w|=1<<e+1:0<b&&(l[b-1]|=1)),0!==(D&q.hd)&&(0<e?w|=
1<<e-1:b<t-1&&(l[b+1]|=32768)),0!==(D&q.Tc)&&(r|=1<<e),0!==(D&q.kd)&&(g|=1<<e),0!==(D&q.Jd)&&(15>e?r|=1<<e+1:0<b&&(m[b-1]|=1)),0!==(D&q.Kd)&&(0<e?r|=1<<e-1:b<t-1&&(m[b+1]|=32768)),0!==(D&q.Yd)&&(15>e?g|=1<<e+1:0<b&&(x[b-1]|=1)),0!==(D&q.Zd)&&(0<e?g|=1<<e-1:b<t-1&&(x[b+1]|=32768))))}J+=1}l[b]|=w;0<h&&(m[b]|=r);h<E-1&&(x[b]|=g)}else J+=16;k+=16;v+=16}for(h=0;h<u.length;h+=1)u[h]=0};k.prototype.Ti=function(){var c,e,a,h,b,n=this.Xa,f=this.na,p,d=this.la,l,m=this.M,x,B=null,w=null,r,g,k,v,J,A,E,t,u,D=
this.g,C=this.c>>4,y=this.Ab,z;J=0;A=J+16;for(h=0;h<D;h+=1)m[h].set(y);for(h=0;h<D;h+=1){E=0;p=f[h];x=m[h];0<h?B=m[h-1]:B=y;h<D-1?w=m[h+1]:w=y;p[0]&=32767;p[C-1]&=65534;for(b=0;b<C;b+=1)if(r=p[b]){g=x[b];k=B[b];v=w[b];for(e=15;0<=e;--e){if(0!==(r&1<<e)){u=!1;z=0;c=J;a=n[c];l=d[c];a=a[E];t=E<<4;0<l[t]&&(a|=32768);t+=1;0<l[t]&&(a|=16384);t+=1;0<l[t]&&(a|=8192);t+=1;0<l[t]&&(a|=4096);t+=1;0<l[t]&&(a|=2048);t+=1;0<l[t]&&(a|=1024);t+=1;0<l[t]&&(a|=512);t+=1;0<l[t]&&(a|=256);t+=1;0<l[t]&&(a|=128);t+=1;
0<l[t]&&(a|=64);t+=1;0<l[t]&&(a|=32);t+=1;0<l[t]&&(a|=16);t+=1;0<l[t]&&(a|=8);t+=1;0<l[t]&&(a|=4);t+=1;0<l[t]&&(a|=2);t+=1;0<l[t]&&(a|=1);a&&(u=!0,0!==(a&32768)&&(z|=q.cd,z|=q.Jd),0!==(a&1)&&(z|=q.hd,z|=q.Kd),z|=q.Tc);for(c+=1;c<A-1;)a=n[c],l=d[c],a=a[E],t=E<<4,0<l[t]&&(a|=32768),t+=1,0<l[t]&&(a|=16384),t+=1,0<l[t]&&(a|=8192),t+=1,0<l[t]&&(a|=4096),t+=1,0<l[t]&&(a|=2048),t+=1,0<l[t]&&(a|=1024),t+=1,0<l[t]&&(a|=512),t+=1,0<l[t]&&(a|=256),t+=1,0<l[t]&&(a|=128),t+=1,0<l[t]&&(a|=64),t+=1,0<l[t]&&(a|=
32),t+=1,0<l[t]&&(a|=16),t+=1,0<l[t]&&(a|=8),t+=1,0<l[t]&&(a|=4),t+=1,0<l[t]&&(a|=2),t+=1,0<l[t]&&(a|=1),a&&(u=!0,0!==(a&32768)&&(z|=q.cd),0!==(a&1)&&(z|=q.hd)),c+=1;a=n[c];l=d[c];a=a[E];t=E<<4;0<l[t]&&(a|=32768);t+=1;0<l[t]&&(a|=16384);t+=1;0<l[t]&&(a|=8192);t+=1;0<l[t]&&(a|=4096);t+=1;0<l[t]&&(a|=2048);t+=1;0<l[t]&&(a|=1024);t+=1;0<l[t]&&(a|=512);t+=1;0<l[t]&&(a|=256);t+=1;0<l[t]&&(a|=128);t+=1;0<l[t]&&(a|=64);t+=1;0<l[t]&&(a|=32);t+=1;0<l[t]&&(a|=16);t+=1;0<l[t]&&(a|=8);t+=1;0<l[t]&&(a|=4);t+=
1;0<l[t]&&(a|=2);t+=1;0<l[t]&&(a|=1);a&&(u=!0,0!==(a&32768)&&(z|=q.cd,z|=q.Yd),0!==(a&1)&&(z|=q.hd,z|=q.Zd),z|=q.kd);u&&(g|=1<<e,z&&(0!==(z&q.cd)&&(15>e?g|=1<<e+1:0<b&&(x[b-1]|=1)),0!==(z&q.hd)&&(0<e?g|=1<<e-1:b<C-1&&(x[b+1]|=32768)),0!==(z&q.Tc)&&(k|=1<<e),0!==(z&q.kd)&&(v|=1<<e),0!==(z&q.Jd)&&(15>e?k|=1<<e+1:0<b&&(B[b-1]|=1)),0!==(z&q.Kd)&&(0<e?k|=1<<e-1:b<C-1&&(B[b+1]|=32768)),0!==(z&q.Yd)&&(15>e?v|=1<<e+1:0<b&&(w[b-1]|=1)),0!==(z&q.Zd)&&(0<e?v|=1<<e-1:b<C-1&&(w[b+1]|=32768))))}E+=1}x[b]|=g;0<
h&&(B[b]|=k);h<D-1&&(w[b]|=v)}else E+=16;J+=16;A+=16}for(h=0;h<y.length;h+=1)y[h]=0};k.prototype.ip=function(){var c,e,a,h=this.width>>4,b=this.height,n=this.width,f=this.Xa,p,d=this.Yb,l;p=this.la;var m=this.C,x=this.Xb,B=this.height,w=-1,r=this.width,g=-1,k=this.height,v=-1,q=this.width,A=-1,E,t=this.Wc,u=this.g,D=this.M,C=this.na,y=this.ra,z=this.va,G=this.Ab;if(d)for(e=0;e<b;e+=1){l=d[e];for(c=E=0;c<n;c+=1)a=l[c],E|=a,a&&(c<q&&(q=c),c>A&&(A=c));E&&(e<k&&(k=e),e>v&&(v=e))}for(e=0;e<t.length;e+=
1)t[e]=0;for(e=0;e<u;e+=1)C[e].set(G);if(-1!==this.u)for(e=0;e<b;e+=1){h=p[e];for(c=E=0;c<n;c+=1)a=h[c],E|=a,a&&(c<r&&(r=c),c>g&&(g=c));E&&(e<B&&(B=e),e>w&&(w=e))}else{for(e=0;e<b;e+=1){p=f[e];for(c=E=0;c<h;c+=1)a=p[c],E|=a,t[c]|=a;E&&(e<B&&(B=e),e>w&&(w=e))}for(c=0;c<h;c+=1)t[c]&&(c<r&&(r=c),c>g&&(g=c));r=(r<<4)+this.ke(t[r]);g=(g<<4)+this.se(t[g])}if(0>w||B>=b||r>=n||0>g)B=w=b>>1,g=r=n>>1;d&&(v<w&&(w=v),k>B&&(B=k),q<r&&(r=q),A>g&&(g=A));w>this.height-1&&(w=this.height-1);0>B&&(B=0);0>r&&(r=0);g>
this.width-1&&(g=this.width-1);m.R=w;m.N=B;m.O=r;m.P=g;x.R=w;x.N=B;x.O=r;x.P=g;0<r&&--r;0<B&&--B;g<this.width-1&&(g+=1);w<this.height-1&&(w+=1);a=w>>4;r>>=8;g>>=8;for(e=B>>4;e<=a;e+=1)for(B=C[e],c=r;c<=g;c+=1)B[c]=-1;-1!==this.u?this.Ti():this.Qi();d&&(this.ig(),x.R=m.R,x.N=m.N,x.O=m.O,x.P=m.P);Array.l(D,C);Array.l(D,y);Array.l(D,z)};k.prototype.vb=function(c){var e,a=this.width-this.qa>>1,h=this.height-this.Ma>>1,b=a+this.qa-1,n=h+this.Ma-1,f=b+c>>4,p,d,l=a-c>>4,m=b+c>>4,x=~(1<<(~(a-c)&15)),B=~(1<<
(~(b+c)&15)),w;e=0!==(this.j&1)?this.V:this.Xa;p=e[n+c];d=e[h-c];if(0===this.qa)for(f=this.width>>4,w=0;w<f;w+=1)d[w]=0,p[w]=0;else if(0===this.Ma)for(h=0,n=this.height,f=0;f<n;f+=1)e[f][l]&=x,e[f][m]&=B;else{for(w=a-c>>4;w<=f;w+=1)d[w]=0,p[w]=0;for(f=h-c+1;f<=n+c-1;f+=1)e[f][l]&=x,e[f][m]&=B}if(-1!==this.u)if(e=this.la,a-=c,b+=c,n+=c,h-=c,p=e[n],d=e[h],0===this.qa)for(w=0;w<this.width;w+=1)d[w]=0,p[w]=0;else if(0===this.Ma)for(f=0;f<this.height;f+=1)e[f][a]=0,e[f][b]=0;else{for(w=a;w<=b;w+=1)d[w]=
0,p[w]=0;for(f=h+1;f<=n-1;f+=1)e[f][a]=0,e[f][b]=0}};k.prototype.xp=function(){var c,e,a=this.qa;c=this.Ma;var h=(this.width-a)/2-1>>4,b=(this.width+a)/2>>4;e=(this.height-c)/2-1>>4;var n=(this.height+c)/2>>4;0===c&&(e=0,n=(this.height>>4)-1);0===a&&(h=0,b=(this.width>>4)-1);0>h&&(h=0);0>e&&(e=0);b>=this.width>>4&&(b=(this.width>>4)-1);n>=this.height>>4&&(n=(this.height>>4)-1);for(c=h;c<=b;c+=1)a=1<<(~c&15),this.M[e][c>>4]|=a,this.na[e][c>>4]|=a,this.ra[e][c>>4]|=a,this.va[e][c>>4]|=a,this.M[n][c>>
4]|=a,this.na[n][c>>4]|=a,this.ra[n][c>>4]|=a,this.va[n][c>>4]|=a;for(;e<=n;e+=1)a=1<<(~h&15),this.M[e][h>>4]|=a,this.na[e][h>>4]|=a,this.ra[e][h>>4]|=a,this.va[e][h>>4]|=a,a=1<<(~b&15),this.M[e][b>>4]|=a,this.na[e][b>>4]|=a,this.ra[e][b>>4]|=a,this.va[e][b>>4]|=a};k.prototype.dh=function(){var c,e,a=this.ra,h=this.qa,b=this.Ma,n=this.width-h>>1,f=this.height-b>>1,p=n+h-1,d=f+b-1,l=this.lh,m=this.mh,x,B,w;0!==(this.j&1)?(c=this.V,e=this.na):(c=this.Xa,e=this.M);0===this.qa&&(n=0,p=this.width-1,h=
this.width);0===this.Ma&&(f=0,d=this.height-1,b=this.height);if(0!==this.Ma)for(w=0;w<h;w+=1)x=n+w,B=n+(w+l+h)%h,0!==(c[d][x>>4]&1<<(~x&15))&&(c[f-1][B>>4]|=1<<(~B&15),e[f-1>>4][B>>8]|=1<<(~(B>>4)&15),a[f-1>>4][B>>8]|=1<<(~(B>>4)&15),15===(f-1&15)&&(e[(f-1>>4)+1][B>>8]|=1<<(~(B>>4)&15),a[(f-1>>4)+1][B>>8]|=1<<(~(B>>4)&15))),B=n+(w-l+h)%h,0!==(c[f][x>>4]&1<<(~x&15))&&(c[d+1][B>>4]|=1<<(~B&15),e[d+1>>4][B>>8]|=1<<(~(B>>4)&15),a[d+1>>4][B>>8]|=1<<(~(B>>4)&15),0===(d+1&15)&&(e[(d+1>>4)-1][B>>8]|=1<<(~(B>>
4)&15),a[(d+1>>4)-1][B>>8]|=1<<(~(B>>4)&15)));if(0!==this.qa)for(w=0;w<b;w+=1)x=f+w,B=f+(w-m+b)%b,0!==(c[x][n>>4]&1<<(~n&15))&&(c[B][p+1>>4]|=1<<(~(p+1)&15),e[B>>4][p+1>>8]|=1<<(~(p+1>>4)&15),a[B>>4][p+1>>8]|=1<<(~(p+1>>4)&15),0===(p+1&15)&&(e[B>>4][p-15>>8]|=1<<(~(p-15>>4)&15),a[B>>4][p-15>>8]|=1<<(~(p-15>>4)&15))),B=f+(w+m+b)%b,0!==(c[x][p>>4]&1<<(~p&15))&&(c[B][n-1>>4]|=1<<(~(n-1)&15),e[B>>4][n-1>>8]|=1<<(~(n-1>>4)&15),a[B>>4][n-1>>8]|=1<<(~(n-1>>4)&15),15===(n-1&15)&&(e[B>>4][n+15>>8]|=1<<(~(n+
15>>4)&15),a[B>>4][n+15>>8]|=1<<(~(n+15>>4)&15)));0!==this.qa&&0!==this.Ma&&(x=n+(-l+h)%h,c[f-1][p+1>>4]=0!==(c[f+(b-1+m+b)%b][x>>4]&1<<(~x&15))?c[f-1][p+1>>4]|1<<(~(p+1)&15):c[f-1][p+1>>4]&~(1<<(~(p+1)&15)),x=n+(h-1-l+h)%h,c[f-1][n-1>>4]=0!==(c[f+(b-1+m+b)%b][x>>4]&1<<(~x&15))?c[f-1][n-1>>4]|1<<(~(n-1)&15):c[f-1][n-1>>4]&~(1<<(~(n-1)&15)),x=n+(l+h)%h,c[d+1][p+1>>4]=0!==(c[f+(m+b)%b][x>>4]&1<<(~x&15))?c[d+1][p+1>>4]|1<<(~(p+1)&15):c[d+1][p+1>>4]&~(1<<(~(p+1)&15)),x=n+(h-1+l+h)%h,c[d+1][n-1>>4]=0!==
(c[f+(m+b)%b][x>>4]&1<<(~x&15))?c[d+1][n-1>>4]|1<<(~(n-1)&15):c[d+1][n-1>>4]&~(1<<(~(n-1)&15)))};k.prototype.ah=function(){var c,e,a=this.ra,h=this.qa,b=this.Ma,n=this.width-h>>1,f=this.height-b>>1,p=n+h-1,d=f+b-1,l=this.lh,m=this.mh,x=this.Bj,B=this.wl,w,r,g;0!==(this.j&1)?(c=this.V,e=this.na):(c=this.Xa,e=this.M);for(g=0;g<h;g+=1)w=n+g,r=x?p-(g+l+h)%h:n+(g+l+h)%h,0!==(c[d][w>>4]&1<<(~w&15))&&(c[f-1][r>>4]|=1<<(~r&15),e[f-1>>4][r>>8]|=1<<(~(r>>4)&15),a[f-1>>4][r>>8]|=1<<(~(r>>4)&15),15===(f-1&15)&&
(e[(f-1>>4)+1][r>>8]|=1<<(~(r>>4)&15),a[(f-1>>4)+1][r>>8]|=1<<(~(r>>4)&15))),r=x?p-(g-l+h)%h:n+(g-l+h)%h,0!==(c[f][w>>4]&1<<(~w&15))&&(c[d+1][r>>4]|=1<<(~r&15),e[d+1>>4][r>>8]|=1<<(~(r>>4)&15),a[d+1>>4][r>>8]|=1<<(~(r>>4)&15),0===(d+1&15)&&(e[(d+1>>4)-1][r>>8]|=1<<(~(r>>4)&15),a[(d+1>>4)-1][r>>8]|=1<<(~(r>>4)&15)));for(g=0;g<b;g+=1)w=f+g,r=B?d-(g-m+b)%b:f+(g-m+b)%b,0!==(c[w][n>>4]&1<<(~n&15))&&(c[r][p+1>>4]|=1<<(~(p+1)&15),e[r>>4][p+1>>8]|=1<<(~(p+1>>4)&15),a[r>>4][p+1>>8]|=1<<(~(p+1>>4)&15),0===
(p+1&15)&&(e[r>>4][p-15>>8]|=1<<(~(p-15>>4)&15),a[r>>4][p-15>>8]|=1<<(~(p-15>>4)&15))),r=B?d-(g+m+b)%b:f+(g+m+b)%b,0!==(c[w][p>>4]&1<<(~p&15))&&(c[r][n-1>>4]|=1<<(~(n-1)&15),e[r>>4][n-1>>8]|=1<<(~(n-1>>4)&15),a[r>>4][n-1>>8]|=1<<(~(n-1>>4)&15),15===(n-1&15)&&(e[r>>4][n+15>>8]|=1<<(~(n+15>>4)&15),a[r>>4][n+15>>8]|=1<<(~(n+15>>4)&15)));w=x?p-(-l+h)%h:n+(-l+h)%h;0!==(c[B?d-(b-1+m+b)%b:f+(b-1+m+b)%b][w>>4]&1<<(~w&15))&&(c[f-1][p+1>>4]|=1<<(~(p+1)&15));w=x?p-(h-1-l+h)%h:n+(h-1-l+h)%h;0!==(c[B?d-(b-1+m+
b)%b:f+(b-1+m+b)%b][w>>4]&1<<(~w&15))&&(c[f-1][n-1>>4]|=1<<(~(n-1)&15));w=x?p-(l+h)%h:n+(l+h)%h;0!==(c[B?d-(m+b)%b:f+(m+b)%b][w>>4]&1<<(~w&15))&&(c[d+1][p+1>>4]|=1<<(~(p+1)&15));w=x?p-(h-1+l+h)%h:n+(h-1+l+h)%h;0!==(c[B?d-(m+b)%b:f+(m+b)%b][w>>4]&1<<(~w&15))&&(c[d+1][n-1>>4]|=1<<(~(n-1)&15))};k.prototype.wg=function(){var c,e,a=this.ra,h=this.width-this.qa>>1,b=this.height-this.Ma>>1,n=h+this.qa-1,f=b+this.Ma-1,p,d,l;0!==(this.j&1)?(c=this.V,e=this.na):(c=this.Xa,e=this.M);for(p=0;p<this.qa;p+=1)d=
h+p,l=n-p,0!==(c[f][d>>4]&1<<(~d&15))&&(c[b-1][l>>4]|=1<<(~l&15),e[b-1>>4][l>>8]|=1<<(~(l>>4)&15),a[b-1>>4][l>>8]|=1<<(~(l>>4)&15),15===(b-1&15)&&(e[(b-1>>4)+1][l>>8]|=1<<(~(l>>4)&15),a[(b-1>>4)+1][l>>8]|=1<<(~(l>>4)&15))),0!==(c[b][d>>4]&1<<(~d&15))&&(c[f+1][l>>4]|=1<<(~l&15),e[f+1>>4][l>>8]|=1<<(~(l>>4)&15),a[f+1>>4][l>>8]|=1<<(~(l>>4)&15),0===(f+1&15)&&(e[(f+1>>4)-1][l>>8]|=1<<(~(l>>4)&15),a[(f+1>>4)-1][l>>8]|=1<<(~(l>>4)&15)));for(p=0;p<=this.Ma;p+=1)d=b+p,l=f-p,0!==(c[d][h>>4]&1<<(~h&15))&&(c[l][n+
1>>4]|=1<<(~(n+1)&15),e[l>>4][n+1>>8]|=1<<(~(n+1>>4)&15),a[l>>4][n+1>>8]|=1<<(~(n+1>>4)&15),0===(n+1&15)&&(e[l>>4][n-15>>8]|=1<<(~(n-15>>4)&15),a[l>>4][n-15>>8]|=1<<(~(n-15>>4)&15))),0!==(c[d][n>>4]&1<<(~n&15))&&(c[l][h-1>>4]|=1<<(~(h-1)&15),e[l>>4][h-1>>8]|=1<<(~(h-1>>4)&15),a[l>>4][h-1>>8]|=1<<(~(h-1>>4)&15),15===(h-1&15)&&(e[l>>4][h+15>>8]|=1<<(~(h+15>>4)&15),a[l>>4][h+15>>8]|=1<<(~(h+15>>4)&15)));0!==(c[f][h>>4]&1<<(~h&15))&&(c[f+1][h-1>>4]|=1<<(~(h-1)&15));0!==(c[f][n>>4]&1<<(~n&15))&&(c[f+1][n+
1>>4]|=1<<(~(n+1)&15));0!==(c[b][h>>4]&1<<(~h&15))&&(c[b-1][h-1>>4]|=1<<(~(h-1)&15));0!==(c[b][n>>4]&1<<(~n&15))&&(c[b-1][n+1>>4]|=1<<(~(n+1)&15))};k.prototype.bh=function(){var c,e,a=this.ra,h=this.width-this.qa>>1,b=this.height-this.qa>>1,n=h+this.qa-1,f=b+this.qa-1,p,d,l;0!==(this.j&1)?(c=this.V,e=this.na):(c=this.Xa,e=this.M);for(p=0;p<this.qa;p+=1)l=b+p,d=h+p,0!==(c[l][h>>4]&1<<(~h&15))&&(c[b-1][d>>4]|=1<<(~d&15),e[b-1>>4][d>>8]|=1<<(~(d>>4)&15),a[b-1>>4][d>>8]|=1<<(~(d>>4)&15),15===(b-1&15)&&
(e[(b-1>>4)+1][d>>8]|=1<<(~(d>>4)&15),a[(b-1>>4)+1][d>>8]|=1<<(~(d>>4)&15))),0!==(c[l][n>>4]&1<<(~n&15))&&(c[f+1][d>>4]|=1<<(~d&15),e[f+1>>4][d>>8]|=1<<(~(d>>4)&15),a[f+1>>4][d>>8]|=1<<(~(d>>4)&15),0===(f+1&15)&&(e[(f+1>>4)-1][d>>8]|=1<<(~(d>>4)&15),a[(f+1>>4)-1][d>>8]|=1<<(~(d>>4)&15))),0!==(c[b][d>>4]&1<<(~d&15))&&(c[l][h-1>>4]|=1<<(~(h-1)&15),e[l>>4][h-1>>8]|=1<<(~(h-1>>4)&15),a[l>>4][h-1>>8]|=1<<(~(h-1>>4)&15),15===(h-1&15)&&(e[l>>4][h+15>>8]|=1<<(~(h+15>>4)&15),a[l>>4][h+15>>8]|=1<<(~(h+15>>
4)&15))),0!==(c[f][d>>4]&1<<(~d&15))&&(c[l][n+1>>4]|=1<<(~(n+1)&15),e[l>>4][n+1>>8]|=1<<(~(n+1>>4)&15),a[l>>4][n+1>>8]|=1<<(~(n+1>>4)&15),0===(n+1&15)&&(e[l>>4][n-15>>8]|=1<<(~(n-15>>4)&15),a[l>>4][n-15>>8]|=1<<(~(n-15>>4)&15)));0!==(c[f][h>>4]&1<<(~h&15))&&(c[f+1][h-1>>4]|=1<<(~(h-1)&15));0!==(c[f][n>>4]&1<<(~n&15))&&(c[f+1][n+1>>4]|=1<<(~(n+1)&15));0!==(c[b][h>>4]&1<<(~h&15))&&(c[b-1][h-1>>4]|=1<<(~(h-1)&15));0!==(c[b][n>>4]&1<<(~n&15))&&(c[b-1][n+1>>4]|=1<<(~(n+1)&15))};k.prototype.ug=function(){switch(this.Db){case 0:this.vb(1);
break;case 1:this.vb(1);this.vb(2);break;case 2:this.vb(1);this.vb(2);break;case 3:this.vb(1);this.vb(2);break;case 4:this.vb(1),this.vb(2)}};k.prototype.vg=function(){switch(this.Db){case 1:this.dh();break;case 2:this.ah();break;case 3:this.wg();break;case 4:this.bh()}};k.prototype.Mf=function(c,e,a){var h=!1,b=this.C,n=this.Fa;this.j===this.Nf-1&&(h=!0,a||(c=!0));-1!==this.Db&&this.vg();this.Ua&&this.Xi();this.X&&(c?this.tg():this.sg());this.j+=1;-1!==this.u&&(this.X?this.qg():this.rg());this.Ua&&
this.Ui();-1!==this.Db&&this.ug();8192===this.width&&(16>=b.O||8176<=b.P||16>=b.N||8176<=b.R)&&this.lf();h&&(this.Nf+=q.Qh,a||this.Mh(e));b.O<n.O&&(n.O=b.O);b.P>n.P&&(n.P=b.P);b.N<n.N&&(n.N=b.N);b.R>n.R&&(n.R=b.R)};k.prototype.Jm=function(){var c=this.C,e=this.Fa;e.O=c.O;e.P=c.P;e.R=c.R;e.N=c.N};k.prototype.Xi=function(){var c,e,a,h,b,n,f,p=this.Ua,d=this.Lb,l=this.Tb,m=this.Gd,x,B=this.g,w=this.c>>4,r;b=0;f=0!==(this.j&1)?this.V:this.Xa;for(c=0;c<B;c+=1){n=0;x=m[c];for(e=0;e<w;e+=1)if(r=x[e])for(a=
15;0<=a;--a){if(0!==(r&1<<a))for(h=b;h<b+16;h+=1)d[h][n]=(f[h][n]|l[h][n])&p[h][n];n+=1}else n+=16;b+=16}};k.prototype.Ui=function(){var c,e,a,h,b,n,f,p=this.Lb,d=this.Gd,l,m=this.g,x=this.c>>4,B;f=0!==(this.j&1)?this.V:this.Xa;for(c=b=0;c<m;c+=1){n=0;l=d[c];for(e=0;e<x;e+=1)if(B=l[e])for(a=15;0<=a;--a){if(0!==(B&1<<a))for(h=b;h<b+16;h+=1)f[h][n]&=~p[h][n];n+=1}else n+=16;b+=16}};k.prototype.pe=function(c,e,a){var h,b,n=this.Se,f=0,p=this.fc[f],d=this.gc[f],l=0,m=q.Bk,x=m-1,B=0,w=m,r=this.fj,g=this.Ja,
k=this.Oa;p[l]=c;d[l]=e;l+=1;for(a[e][c>>4]&=~(1<<(~c&15));0<l;)for(--l,l<B&&(--f,B-=m,w-=m,p=this.fc[f],d=this.gc[f]),c=p[l&x],e=d[l&x],b=e-r;b<=e+r;){for(h=c-r;h<=c+r;)h===(h&g)&&b===(b&k)&&0!==(a[b][h>>4]&1<<(~h&15))&&(a[b][h>>4]&=~(1<<(~h&15)),l===w&&(f+=1,B+=m,w+=m,f>n&&(this.fc[f]=new Int32Array(m),this.gc[f]=new Int32Array(m),this.Se=n+=1),p=this.fc[f],d=this.gc[f]),p[l&x]=h,d[l&x]=b,l+=1),h+=1;b+=1}};k.prototype.kf=function(c,e,a){for(var h=a[e][c],b=15;0<=b;)0!==(h&1<<b)&&this.pe((c<<4)+
(~b&15),e,a),--b};k.prototype.eh=function(c,e){this.pe(0,c,e)};k.prototype.fh=function(c,e,a){this.pe((c<<4)+15,e,a)};k.prototype.lf=function(){var c,e,a,h,b,n;c=0!==(this.j&1)?this.V:this.Xa;e=c.length;a=c[0].length;b=c[0];n=c[e-1];for(h=0;h<a;)b[h]&&this.kf(h,0,c),n[h]&&this.kf(h,e-1,c),h+=1;for(h=0;h<e;)0!==(c[h][0]&32768)&&this.eh(h,c),0!==(c[h][a-1]&1)&&this.fh(a-1,h,c),h+=1};k.prototype.sg=function(){var c,e=null,a,h,b,n,f,p,d,l,m,x,B,w,r,g,k,v=null,J=null,A,E,t,u,D,C,y,z,G=this.Wc,I,O=this.height,
Y=this.width,T=Y>>4,X=this.C,L=O,H=-1,M=Y,Z=-1,aa=this.g,ba=this.c>>4,ca=this.Ab,Q;h=0;var R=aa;0!==(this.j&1)?(x=this.V,B=this.Xa,w=this.na,r=this.M,c=this.zc):(x=this.Xa,B=this.V,w=this.M,r=this.na,c=this.yc);for(l=0;l<G.length;l+=1)G[l]=0;0>h&&(h=0);R>aa&&(R=aa);D=h<<4;C=D+16;for(l=h;l<R;l+=1)for(g=r[l],m=0;m<g.length;m+=1)g[m]=0;for(l=h;l<R;l+=1){y=0;g=w[l];k=r[l];0<l?v=r[l-1]:v=ca;l<aa-1?J=r[l+1]:J=ca;for(m=0;m<ba;m+=1)if(A=g[m]){E=k[m];t=v[m];u=J[m];for(n=15;0<=n;--n){if(0!==(A&1<<n)){Q=I=0;
b=D;0===b?e=this.Ba:e=x[b-1];a=x[b];h=x[b+1];z=a[y];if(y)if(y>=T-1){f=e[y-1]<<17|e[y]<<1;a=a[y-1]<<17|z<<1;p=h[y-1]<<17|h[y]<<1;d=c[f>>12&63|(a>>12&63)<<6|(p>>12&63)<<12]<<12;d|=c[f>>8&63|(a>>8&63)<<6|(p>>8&63)<<12]<<8;d|=c[f>>4&63|(a>>4&63)<<6|(p>>4&63)<<12]<<4;d|=c[f&63|(a&63)<<6|(p&63)<<12];if(B[b][y]=d)I|=d,b<L&&(L=b),b>H&&(H=b),0!==(d&32768)&&(Q|=q.Jd),Q|=q.Tc;for(b+=1;b<C-1;){z|=h[y];h=x[b+1];f=a;a=p;p=h[y-1]<<17|h[y]<<1;d=c[f>>12&63|(a>>12&63)<<6|(p>>12&63)<<12]<<12;d|=c[f>>8&63|(a>>8&63)<<
6|(p>>8&63)<<12]<<8;d|=c[f>>4&63|(a>>4&63)<<6|(p>>4&63)<<12]<<4;d|=c[f&63|(a&63)<<6|(p&63)<<12];if(B[b][y]=d)I|=d,b<L&&(L=b),b>H&&(H=b);b+=1}z|=h[y];b===this.height-1?h=this.Ba:h=x[b+1];f=a;a=p;p=h[y-1]<<17|h[y]<<1;d=c[f>>12&63|(a>>12&63)<<6|(p>>12&63)<<12]<<12;d|=c[f>>8&63|(a>>8&63)<<6|(p>>8&63)<<12]<<8;d|=c[f>>4&63|(a>>4&63)<<6|(p>>4&63)<<12]<<4;d|=c[f&63|(a&63)<<6|(p&63)<<12];if(B[b][y]=d)I|=d,b<L&&(L=b),b>H&&(H=b),0!==(d&32768)&&(Q|=q.Yd),Q|=q.kd}else{f=e[y-1]<<17|e[y]<<1|e[y+1]>>15;a=a[y-1]<<
17|z<<1|a[y+1]>>15;p=h[y-1]<<17|h[y]<<1|h[y+1]>>15;d=c[f>>12&63|(a>>12&63)<<6|(p>>12&63)<<12]<<12;d|=c[f>>8&63|(a>>8&63)<<6|(p>>8&63)<<12]<<8;d|=c[f>>4&63|(a>>4&63)<<6|(p>>4&63)<<12]<<4;d|=c[f&63|(a&63)<<6|(p&63)<<12];if(B[b][y]=d)I|=d,b<L&&(L=b),b>H&&(H=b),0!==(d&32768)&&(Q|=q.Jd),0!==(d&1)&&(Q|=q.Kd),Q|=q.Tc;b+=1;z|=h[y];h=x[b+1];f=a;a=p;p=h[y-1]<<17|h[y]<<1|h[y+1]>>15;d=c[f>>12&63|(a>>12&63)<<6|(p>>12&63)<<12]<<12;d|=c[f>>8&63|(a>>8&63)<<6|(p>>8&63)<<12]<<8;d|=c[f>>4&63|(a>>4&63)<<6|(p>>4&63)<<
12]<<4;d|=c[f&63|(a&63)<<6|(p&63)<<12];if(B[b][y]=d)I|=d,b<L&&(L=b),b>H&&(H=b);b+=1;z|=h[y];h=x[b+1];f=a;a=p;p=h[y-1]<<17|h[y]<<1|h[y+1]>>15;d=c[f>>12&63|(a>>12&63)<<6|(p>>12&63)<<12]<<12;d|=c[f>>8&63|(a>>8&63)<<6|(p>>8&63)<<12]<<8;d|=c[f>>4&63|(a>>4&63)<<6|(p>>4&63)<<12]<<4;d|=c[f&63|(a&63)<<6|(p&63)<<12];if(B[b][y]=d)I|=d,b<L&&(L=b),b>H&&(H=b);b+=1;z|=h[y];h=x[b+1];f=a;a=p;p=h[y-1]<<17|h[y]<<1|h[y+1]>>15;d=c[f>>12&63|(a>>12&63)<<6|(p>>12&63)<<12]<<12;d|=c[f>>8&63|(a>>8&63)<<6|(p>>8&63)<<12]<<8;
d|=c[f>>4&63|(a>>4&63)<<6|(p>>4&63)<<12]<<4;d|=c[f&63|(a&63)<<6|(p&63)<<12];if(B[b][y]=d)I|=d,b<L&&(L=b),b>H&&(H=b);b+=1;z|=h[y];h=x[b+1];f=a;a=p;p=h[y-1]<<17|h[y]<<1|h[y+1]>>15;d=c[f>>12&63|(a>>12&63)<<6|(p>>12&63)<<12]<<12;d|=c[f>>8&63|(a>>8&63)<<6|(p>>8&63)<<12]<<8;d|=c[f>>4&63|(a>>4&63)<<6|(p>>4&63)<<12]<<4;d|=c[f&63|(a&63)<<6|(p&63)<<12];if(B[b][y]=d)I|=d,b<L&&(L=b),b>H&&(H=b);b+=1;z|=h[y];h=x[b+1];f=a;a=p;p=h[y-1]<<17|h[y]<<1|h[y+1]>>15;d=c[f>>12&63|(a>>12&63)<<6|(p>>12&63)<<12]<<12;d|=c[f>>
8&63|(a>>8&63)<<6|(p>>8&63)<<12]<<8;d|=c[f>>4&63|(a>>4&63)<<6|(p>>4&63)<<12]<<4;d|=c[f&63|(a&63)<<6|(p&63)<<12];if(B[b][y]=d)I|=d,b<L&&(L=b),b>H&&(H=b);b+=1;z|=h[y];h=x[b+1];f=a;a=p;p=h[y-1]<<17|h[y]<<1|h[y+1]>>15;d=c[f>>12&63|(a>>12&63)<<6|(p>>12&63)<<12]<<12;d|=c[f>>8&63|(a>>8&63)<<6|(p>>8&63)<<12]<<8;d|=c[f>>4&63|(a>>4&63)<<6|(p>>4&63)<<12]<<4;d|=c[f&63|(a&63)<<6|(p&63)<<12];if(B[b][y]=d)I|=d,b<L&&(L=b),b>H&&(H=b);b+=1;z|=h[y];h=x[b+1];f=a;a=p;p=h[y-1]<<17|h[y]<<1|h[y+1]>>15;d=c[f>>12&63|(a>>12&
63)<<6|(p>>12&63)<<12]<<12;d|=c[f>>8&63|(a>>8&63)<<6|(p>>8&63)<<12]<<8;d|=c[f>>4&63|(a>>4&63)<<6|(p>>4&63)<<12]<<4;d|=c[f&63|(a&63)<<6|(p&63)<<12];if(B[b][y]=d)I|=d,b<L&&(L=b),b>H&&(H=b);b+=1;z|=h[y];h=x[b+1];f=a;a=p;p=h[y-1]<<17|h[y]<<1|h[y+1]>>15;d=c[f>>12&63|(a>>12&63)<<6|(p>>12&63)<<12]<<12;d|=c[f>>8&63|(a>>8&63)<<6|(p>>8&63)<<12]<<8;d|=c[f>>4&63|(a>>4&63)<<6|(p>>4&63)<<12]<<4;d|=c[f&63|(a&63)<<6|(p&63)<<12];if(B[b][y]=d)I|=d,b<L&&(L=b),b>H&&(H=b);b+=1;z|=h[y];h=x[b+1];f=a;a=p;p=h[y-1]<<17|h[y]<<
1|h[y+1]>>15;d=c[f>>12&63|(a>>12&63)<<6|(p>>12&63)<<12]<<12;d|=c[f>>8&63|(a>>8&63)<<6|(p>>8&63)<<12]<<8;d|=c[f>>4&63|(a>>4&63)<<6|(p>>4&63)<<12]<<4;d|=c[f&63|(a&63)<<6|(p&63)<<12];if(B[b][y]=d)I|=d,b<L&&(L=b),b>H&&(H=b);b+=1;z|=h[y];h=x[b+1];f=a;a=p;p=h[y-1]<<17|h[y]<<1|h[y+1]>>15;d=c[f>>12&63|(a>>12&63)<<6|(p>>12&63)<<12]<<12;d|=c[f>>8&63|(a>>8&63)<<6|(p>>8&63)<<12]<<8;d|=c[f>>4&63|(a>>4&63)<<6|(p>>4&63)<<12]<<4;d|=c[f&63|(a&63)<<6|(p&63)<<12];if(B[b][y]=d)I|=d,b<L&&(L=b),b>H&&(H=b);b+=1;z|=h[y];
h=x[b+1];f=a;a=p;p=h[y-1]<<17|h[y]<<1|h[y+1]>>15;d=c[f>>12&63|(a>>12&63)<<6|(p>>12&63)<<12]<<12;d|=c[f>>8&63|(a>>8&63)<<6|(p>>8&63)<<12]<<8;d|=c[f>>4&63|(a>>4&63)<<6|(p>>4&63)<<12]<<4;d|=c[f&63|(a&63)<<6|(p&63)<<12];if(B[b][y]=d)I|=d,b<L&&(L=b),b>H&&(H=b);b+=1;z|=h[y];h=x[b+1];f=a;a=p;p=h[y-1]<<17|h[y]<<1|h[y+1]>>15;d=c[f>>12&63|(a>>12&63)<<6|(p>>12&63)<<12]<<12;d|=c[f>>8&63|(a>>8&63)<<6|(p>>8&63)<<12]<<8;d|=c[f>>4&63|(a>>4&63)<<6|(p>>4&63)<<12]<<4;d|=c[f&63|(a&63)<<6|(p&63)<<12];if(B[b][y]=d)I|=
d,b<L&&(L=b),b>H&&(H=b);b+=1;z|=h[y];h=x[b+1];f=a;a=p;p=h[y-1]<<17|h[y]<<1|h[y+1]>>15;d=c[f>>12&63|(a>>12&63)<<6|(p>>12&63)<<12]<<12;d|=c[f>>8&63|(a>>8&63)<<6|(p>>8&63)<<12]<<8;d|=c[f>>4&63|(a>>4&63)<<6|(p>>4&63)<<12]<<4;d|=c[f&63|(a&63)<<6|(p&63)<<12];if(B[b][y]=d)I|=d,b<L&&(L=b),b>H&&(H=b);b+=1;z|=h[y];h=x[b+1];f=a;a=p;p=h[y-1]<<17|h[y]<<1|h[y+1]>>15;d=c[f>>12&63|(a>>12&63)<<6|(p>>12&63)<<12]<<12;d|=c[f>>8&63|(a>>8&63)<<6|(p>>8&63)<<12]<<8;d|=c[f>>4&63|(a>>4&63)<<6|(p>>4&63)<<12]<<4;d|=c[f&63|(a&
63)<<6|(p&63)<<12];if(B[b][y]=d)I|=d,b<L&&(L=b),b>H&&(H=b);b+=1;z|=h[y];b===this.height-1?h=this.Ba:h=x[b+1];f=a;a=p;p=h[y-1]<<17|h[y]<<1|h[y+1]>>15;d=c[f>>12&63|(a>>12&63)<<6|(p>>12&63)<<12]<<12;d|=c[f>>8&63|(a>>8&63)<<6|(p>>8&63)<<12]<<8;d|=c[f>>4&63|(a>>4&63)<<6|(p>>4&63)<<12]<<4;d|=c[f&63|(a&63)<<6|(p&63)<<12];if(B[b][y]=d)I|=d,b<L&&(L=b),b>H&&(H=b),0!==(d&32768)&&(Q|=q.Yd),0!==(d&1)&&(Q|=q.Zd),Q|=q.kd}else{f=e[y]<<1|e[y+1]>>15;a=z<<1|a[y+1]>>15;p=h[y]<<1|h[y+1]>>15;d=c[f>>12&63|(a>>12&63)<<6|
(p>>12&63)<<12]<<12;d|=c[f>>8&63|(a>>8&63)<<6|(p>>8&63)<<12]<<8;d|=c[f>>4&63|(a>>4&63)<<6|(p>>4&63)<<12]<<4;d|=c[f&63|(a&63)<<6|(p&63)<<12];if(B[b][y]=d)I|=d,b<L&&(L=b),b>H&&(H=b),0!==(d&1)&&(Q|=q.Kd),Q|=q.Tc;for(b+=1;b<C-1;){z|=h[y];h=x[b+1];f=a;a=p;p=h[y]<<1|h[y+1]>>15;d=c[f>>12&63|(a>>12&63)<<6|(p>>12&63)<<12]<<12;d|=c[f>>8&63|(a>>8&63)<<6|(p>>8&63)<<12]<<8;d|=c[f>>4&63|(a>>4&63)<<6|(p>>4&63)<<12]<<4;d|=c[f&63|(a&63)<<6|(p&63)<<12];if(B[b][y]=d)I|=d,b<L&&(L=b),b>H&&(H=b);b+=1}z|=h[y];b===this.height-
1?h=this.Ba:h=x[b+1];f=a;a=p;p=h[y]<<1|h[y+1]>>15;d=c[f>>12&63|(a>>12&63)<<6|(p>>12&63)<<12]<<12;d|=c[f>>8&63|(a>>8&63)<<6|(p>>8&63)<<12]<<8;d|=c[f>>4&63|(a>>4&63)<<6|(p>>4&63)<<12]<<4;d|=c[f&63|(a&63)<<6|(p&63)<<12];if(B[b][y]=d)I|=d,b<L&&(L=b),b>H&&(H=b),0!==(d&1)&&(Q|=q.Zd),Q|=q.kd}I&&(0!==(I&32768)&&(Q|=q.cd),0!==(I&1)&&(Q|=q.hd));G[y]|=I;if(I||z)E|=1<<n,Q&&(0!==(Q&q.cd)&&(15>n?E|=1<<n+1:0<m&&0<y&&(k[m-1]|=1)),0!==(Q&q.hd)&&(0<n?E|=1<<n-1:m<ba-1&&y<T-1&&(k[m+1]|=32768)),0!==(Q&q.Tc)&&(t|=1<<n),
0!==(Q&q.kd)&&(u|=1<<n),0!==(Q&q.Jd)&&(15>n?t|=1<<n+1:0<m&&0<y&&(v[m-1]|=1)),0!==(Q&q.Kd)&&(0<n?t|=1<<n-1:m<ba-1&&y<T-1&&(v[m+1]|=32768)),0!==(Q&q.Yd)&&(15>n?u|=1<<n+1:0<m&&0<y&&(J[m-1]|=1)),0!==(Q&q.Zd)&&(0<n?u|=1<<n-1:m<ba-1&&y<T-1&&(J[m+1]|=32768)))}y+=1}k[m]|=E;0<l&&(v[m]|=t);l<aa-1&&(J[m]|=u)}else y+=16;D+=16;C+=16}for(m=0;m<T;m+=1)G[m]&&(m<M&&(M=m),m>Z&&(Z=m));M=(M<<4)+this.ke(G[M]);Z=(Z<<4)+this.se(G[Z]);0>H&&(H=O-1);L>=O&&(L=0);M>=Y&&(M=0);0>Z&&(Z=Y-1);H>O-1&&(H=O-1);0>L&&(L=0);0>M&&(M=0);
Z>Y-1&&(Z=Y-1);X.R=H;X.N=L;X.O=M;X.P=Z;for(l=0;l<ca.length;l+=1)ca[l]=0};k.prototype.tg=function(){var c,e=null,a,h,b,n,f,p,d,l,m,x,B,w,r,g,k,v=null,J=null,A,u,t,F,D,C,y,z,G,I=this.Wc,O,Y=this.height,T=this.width,X=T>>4,L=this.C,H=Y,M=-1,Z=T,aa=-1,ba=this.g,ca=this.c>>4,Q=this.Ab,R,K=this.xd,U=0,V=0,W=0;h=0;var da=ba;0!==(this.j&1)?(x=this.V,B=this.Xa,w=this.na,r=this.M,c=this.zc):(x=this.Xa,B=this.V,w=this.M,r=this.na,c=this.yc);for(l=0;l<I.length;l+=1)I[l]=0;0>h&&(h=0);da>ba&&(da=ba);D=h<<4;C=D+
16;for(l=h;l<da;l+=1)for(g=r[l],m=0;m<g.length;m+=1)g[m]=0;for(l=h;l<da;l+=1){y=0;g=w[l];k=r[l];0<l?v=r[l-1]:v=Q;l<ba-1?J=r[l+1]:J=Q;for(m=0;m<ca;m+=1)if(A=g[m]){u=k[m];t=v[m];F=J[m];for(n=15;0<=n;--n){if(0!==(A&1<<n)){R=O=0;b=D;0===b?e=this.Ba:e=x[b-1];a=x[b];h=x[b+1];z=G=a[y];if(y)if(y>=X-1){f=e[y-1]<<17|e[y]<<1;a=a[y-1]<<17|G<<1;p=h[y-1]<<17|h[y]<<1;d=c[f>>12&63|(a>>12&63)<<6|(p>>12&63)<<12]<<12;d|=c[f>>8&63|(a>>8&63)<<6|(p>>8&63)<<12]<<8;d|=c[f>>4&63|(a>>4&63)<<6|(p>>4&63)<<12]<<4;d|=c[f&63|(a&
63)<<6|(p&63)<<12];B[b][y]=d;U+=K[d];V+=K[d&~G];W+=K[G&~d];d&&(O|=d,b<H&&(H=b),b>M&&(M=b),0!==(d&32768)&&(R|=q.Jd),R|=q.Tc);for(b+=1;b<C-1;)G=h[y],z|=G,h=x[b+1],f=a,a=p,p=h[y-1]<<17|h[y]<<1,d=c[f>>12&63|(a>>12&63)<<6|(p>>12&63)<<12]<<12,d|=c[f>>8&63|(a>>8&63)<<6|(p>>8&63)<<12]<<8,d|=c[f>>4&63|(a>>4&63)<<6|(p>>4&63)<<12]<<4,d|=c[f&63|(a&63)<<6|(p&63)<<12],B[b][y]=d,U+=K[d],V+=K[d&~G],W+=K[G&~d],d&&(O|=d,b<H&&(H=b),b>M&&(M=b)),b+=1;G=h[y];z|=G;b===this.height-1?h=this.Ba:h=x[b+1];f=a;a=p;p=h[y-1]<<
17|h[y]<<1;d=c[f>>12&63|(a>>12&63)<<6|(p>>12&63)<<12]<<12;d|=c[f>>8&63|(a>>8&63)<<6|(p>>8&63)<<12]<<8;d|=c[f>>4&63|(a>>4&63)<<6|(p>>4&63)<<12]<<4;d|=c[f&63|(a&63)<<6|(p&63)<<12];B[b][y]=d;U+=K[d];V+=K[d&~G];W+=K[G&~d];d&&(O|=d,b<H&&(H=b),b>M&&(M=b),0!==(d&32768)&&(R|=q.Yd),R|=q.kd)}else f=e[y-1]<<17|e[y]<<1|e[y+1]>>15,a=a[y-1]<<17|G<<1|a[y+1]>>15,p=h[y-1]<<17|h[y]<<1|h[y+1]>>15,d=c[f>>12&63|(a>>12&63)<<6|(p>>12&63)<<12]<<12,d|=c[f>>8&63|(a>>8&63)<<6|(p>>8&63)<<12]<<8,d|=c[f>>4&63|(a>>4&63)<<6|(p>>
4&63)<<12]<<4,d|=c[f&63|(a&63)<<6|(p&63)<<12],B[b][y]=d,U+=K[d],V+=K[d&~G],W+=K[G&~d],d&&(O|=d,b<H&&(H=b),b>M&&(M=b),0!==(d&32768)&&(R|=q.Jd),0!==(d&1)&&(R|=q.Kd),R|=q.Tc),b+=1,G=h[y],z|=G,h=x[b+1],f=a,a=p,p=h[y-1]<<17|h[y]<<1|h[y+1]>>15,d=c[f>>12&63|(a>>12&63)<<6|(p>>12&63)<<12]<<12,d|=c[f>>8&63|(a>>8&63)<<6|(p>>8&63)<<12]<<8,d|=c[f>>4&63|(a>>4&63)<<6|(p>>4&63)<<12]<<4,d|=c[f&63|(a&63)<<6|(p&63)<<12],B[b][y]=d,U+=K[d],V+=K[d&~G],W+=K[G&~d],d&&(O|=d,b<H&&(H=b),b>M&&(M=b)),b+=1,G=h[y],z|=G,h=x[b+1],
f=a,a=p,p=h[y-1]<<17|h[y]<<1|h[y+1]>>15,d=c[f>>12&63|(a>>12&63)<<6|(p>>12&63)<<12]<<12,d|=c[f>>8&63|(a>>8&63)<<6|(p>>8&63)<<12]<<8,d|=c[f>>4&63|(a>>4&63)<<6|(p>>4&63)<<12]<<4,d|=c[f&63|(a&63)<<6|(p&63)<<12],B[b][y]=d,U+=K[d],V+=K[d&~G],W+=K[G&~d],d&&(O|=d,b<H&&(H=b),b>M&&(M=b)),b+=1,G=h[y],z|=G,h=x[b+1],f=a,a=p,p=h[y-1]<<17|h[y]<<1|h[y+1]>>15,d=c[f>>12&63|(a>>12&63)<<6|(p>>12&63)<<12]<<12,d|=c[f>>8&63|(a>>8&63)<<6|(p>>8&63)<<12]<<8,d|=c[f>>4&63|(a>>4&63)<<6|(p>>4&63)<<12]<<4,d|=c[f&63|(a&63)<<6|(p&
63)<<12],B[b][y]=d,U+=K[d],V+=K[d&~G],W+=K[G&~d],d&&(O|=d,b<H&&(H=b),b>M&&(M=b)),b+=1,G=h[y],z|=G,h=x[b+1],f=a,a=p,p=h[y-1]<<17|h[y]<<1|h[y+1]>>15,d=c[f>>12&63|(a>>12&63)<<6|(p>>12&63)<<12]<<12,d|=c[f>>8&63|(a>>8&63)<<6|(p>>8&63)<<12]<<8,d|=c[f>>4&63|(a>>4&63)<<6|(p>>4&63)<<12]<<4,d|=c[f&63|(a&63)<<6|(p&63)<<12],B[b][y]=d,U+=K[d],V+=K[d&~G],W+=K[G&~d],d&&(O|=d,b<H&&(H=b),b>M&&(M=b)),b+=1,G=h[y],z|=G,h=x[b+1],f=a,a=p,p=h[y-1]<<17|h[y]<<1|h[y+1]>>15,d=c[f>>12&63|(a>>12&63)<<6|(p>>12&63)<<12]<<12,d|=
c[f>>8&63|(a>>8&63)<<6|(p>>8&63)<<12]<<8,d|=c[f>>4&63|(a>>4&63)<<6|(p>>4&63)<<12]<<4,d|=c[f&63|(a&63)<<6|(p&63)<<12],B[b][y]=d,U+=K[d],V+=K[d&~G],W+=K[G&~d],d&&(O|=d,b<H&&(H=b),b>M&&(M=b)),b+=1,G=h[y],z|=G,h=x[b+1],f=a,a=p,p=h[y-1]<<17|h[y]<<1|h[y+1]>>15,d=c[f>>12&63|(a>>12&63)<<6|(p>>12&63)<<12]<<12,d|=c[f>>8&63|(a>>8&63)<<6|(p>>8&63)<<12]<<8,d|=c[f>>4&63|(a>>4&63)<<6|(p>>4&63)<<12]<<4,d|=c[f&63|(a&63)<<6|(p&63)<<12],B[b][y]=d,U+=K[d],V+=K[d&~G],W+=K[G&~d],d&&(O|=d,b<H&&(H=b),b>M&&(M=b)),b+=1,G=
h[y],z|=G,h=x[b+1],f=a,a=p,p=h[y-1]<<17|h[y]<<1|h[y+1]>>15,d=c[f>>12&63|(a>>12&63)<<6|(p>>12&63)<<12]<<12,d|=c[f>>8&63|(a>>8&63)<<6|(p>>8&63)<<12]<<8,d|=c[f>>4&63|(a>>4&63)<<6|(p>>4&63)<<12]<<4,d|=c[f&63|(a&63)<<6|(p&63)<<12],B[b][y]=d,U+=K[d],V+=K[d&~G],W+=K[G&~d],d&&(O|=d,b<H&&(H=b),b>M&&(M=b)),b+=1,G=h[y],z|=G,h=x[b+1],f=a,a=p,p=h[y-1]<<17|h[y]<<1|h[y+1]>>15,d=c[f>>12&63|(a>>12&63)<<6|(p>>12&63)<<12]<<12,d|=c[f>>8&63|(a>>8&63)<<6|(p>>8&63)<<12]<<8,d|=c[f>>4&63|(a>>4&63)<<6|(p>>4&63)<<12]<<4,d|=
c[f&63|(a&63)<<6|(p&63)<<12],B[b][y]=d,U+=K[d],V+=K[d&~G],W+=K[G&~d],d&&(O|=d,b<H&&(H=b),b>M&&(M=b)),b+=1,G=h[y],z|=G,h=x[b+1],f=a,a=p,p=h[y-1]<<17|h[y]<<1|h[y+1]>>15,d=c[f>>12&63|(a>>12&63)<<6|(p>>12&63)<<12]<<12,d|=c[f>>8&63|(a>>8&63)<<6|(p>>8&63)<<12]<<8,d|=c[f>>4&63|(a>>4&63)<<6|(p>>4&63)<<12]<<4,d|=c[f&63|(a&63)<<6|(p&63)<<12],B[b][y]=d,U+=K[d],V+=K[d&~G],W+=K[G&~d],d&&(O|=d,b<H&&(H=b),b>M&&(M=b)),b+=1,G=h[y],z|=G,h=x[b+1],f=a,a=p,p=h[y-1]<<17|h[y]<<1|h[y+1]>>15,d=c[f>>12&63|(a>>12&63)<<6|(p>>
12&63)<<12]<<12,d|=c[f>>8&63|(a>>8&63)<<6|(p>>8&63)<<12]<<8,d|=c[f>>4&63|(a>>4&63)<<6|(p>>4&63)<<12]<<4,d|=c[f&63|(a&63)<<6|(p&63)<<12],B[b][y]=d,U+=K[d],V+=K[d&~G],W+=K[G&~d],d&&(O|=d,b<H&&(H=b),b>M&&(M=b)),b+=1,G=h[y],z|=G,h=x[b+1],f=a,a=p,p=h[y-1]<<17|h[y]<<1|h[y+1]>>15,d=c[f>>12&63|(a>>12&63)<<6|(p>>12&63)<<12]<<12,d|=c[f>>8&63|(a>>8&63)<<6|(p>>8&63)<<12]<<8,d|=c[f>>4&63|(a>>4&63)<<6|(p>>4&63)<<12]<<4,d|=c[f&63|(a&63)<<6|(p&63)<<12],B[b][y]=d,U+=K[d],V+=K[d&~G],W+=K[G&~d],d&&(O|=d,b<H&&(H=b),
b>M&&(M=b)),b+=1,G=h[y],z|=G,h=x[b+1],f=a,a=p,p=h[y-1]<<17|h[y]<<1|h[y+1]>>15,d=c[f>>12&63|(a>>12&63)<<6|(p>>12&63)<<12]<<12,d|=c[f>>8&63|(a>>8&63)<<6|(p>>8&63)<<12]<<8,d|=c[f>>4&63|(a>>4&63)<<6|(p>>4&63)<<12]<<4,d|=c[f&63|(a&63)<<6|(p&63)<<12],B[b][y]=d,U+=K[d],V+=K[d&~G],W+=K[G&~d],d&&(O|=d,b<H&&(H=b),b>M&&(M=b)),b+=1,G=h[y],z|=G,h=x[b+1],f=a,a=p,p=h[y-1]<<17|h[y]<<1|h[y+1]>>15,d=c[f>>12&63|(a>>12&63)<<6|(p>>12&63)<<12]<<12,d|=c[f>>8&63|(a>>8&63)<<6|(p>>8&63)<<12]<<8,d|=c[f>>4&63|(a>>4&63)<<6|(p>>
4&63)<<12]<<4,d|=c[f&63|(a&63)<<6|(p&63)<<12],B[b][y]=d,U+=K[d],V+=K[d&~G],W+=K[G&~d],d&&(O|=d,b<H&&(H=b),b>M&&(M=b)),b+=1,G=h[y],z|=G,h=x[b+1],f=a,a=p,p=h[y-1]<<17|h[y]<<1|h[y+1]>>15,d=c[f>>12&63|(a>>12&63)<<6|(p>>12&63)<<12]<<12,d|=c[f>>8&63|(a>>8&63)<<6|(p>>8&63)<<12]<<8,d|=c[f>>4&63|(a>>4&63)<<6|(p>>4&63)<<12]<<4,d|=c[f&63|(a&63)<<6|(p&63)<<12],B[b][y]=d,U+=K[d],V+=K[d&~G],W+=K[G&~d],d&&(O|=d,b<H&&(H=b),b>M&&(M=b)),b+=1,G=h[y],z|=G,b===this.height-1?h=this.Ba:h=x[b+1],f=a,a=p,p=h[y-1]<<17|h[y]<<
1|h[y+1]>>15,d=c[f>>12&63|(a>>12&63)<<6|(p>>12&63)<<12]<<12,d|=c[f>>8&63|(a>>8&63)<<6|(p>>8&63)<<12]<<8,d|=c[f>>4&63|(a>>4&63)<<6|(p>>4&63)<<12]<<4,d|=c[f&63|(a&63)<<6|(p&63)<<12],B[b][y]=d,U+=K[d],V+=K[d&~G],W+=K[G&~d],d&&(O|=d,b<H&&(H=b),b>M&&(M=b),0!==(d&32768)&&(R|=q.Yd),0!==(d&1)&&(R|=q.Zd),R|=q.kd);else{f=e[y]<<1|e[y+1]>>15;a=G<<1|a[y+1]>>15;p=h[y]<<1|h[y+1]>>15;d=c[f>>12&63|(a>>12&63)<<6|(p>>12&63)<<12]<<12;d|=c[f>>8&63|(a>>8&63)<<6|(p>>8&63)<<12]<<8;d|=c[f>>4&63|(a>>4&63)<<6|(p>>4&63)<<12]<<
4;d|=c[f&63|(a&63)<<6|(p&63)<<12];B[b][y]=d;U+=K[d];V+=K[d&~G];W+=K[G&~d];d&&(O|=d,b<H&&(H=b),b>M&&(M=b),0!==(d&1)&&(R|=q.Kd),R|=q.Tc);for(b+=1;b<C-1;)G=h[y],z|=G,h=x[b+1],f=a,a=p,p=h[y]<<1|h[y+1]>>15,d=c[f>>12&63|(a>>12&63)<<6|(p>>12&63)<<12]<<12,d|=c[f>>8&63|(a>>8&63)<<6|(p>>8&63)<<12]<<8,d|=c[f>>4&63|(a>>4&63)<<6|(p>>4&63)<<12]<<4,d|=c[f&63|(a&63)<<6|(p&63)<<12],B[b][y]=d,U+=K[d],V+=K[d&~G],W+=K[G&~d],d&&(O|=d,b<H&&(H=b),b>M&&(M=b)),b+=1;G=h[y];z|=G;b===this.height-1?h=this.Ba:h=x[b+1];f=a;a=p;
p=h[y]<<1|h[y+1]>>15;d=c[f>>12&63|(a>>12&63)<<6|(p>>12&63)<<12]<<12;d|=c[f>>8&63|(a>>8&63)<<6|(p>>8&63)<<12]<<8;d|=c[f>>4&63|(a>>4&63)<<6|(p>>4&63)<<12]<<4;d|=c[f&63|(a&63)<<6|(p&63)<<12];B[b][y]=d;U+=K[d];V+=K[d&~G];W+=K[G&~d];d&&(O|=d,b<H&&(H=b),b>M&&(M=b),0!==(d&1)&&(R|=q.Zd),R|=q.kd)}O&&(0!==(O&32768)&&(R|=q.cd),0!==(O&1)&&(R|=q.hd));I[y]|=O;if(O||z)u|=1<<n,R&&(0!==(R&q.cd)&&(15>n?u|=1<<n+1:0<m&&0<y&&(k[m-1]|=1)),0!==(R&q.hd)&&(0<n?u|=1<<n-1:m<ca-1&&y<X-1&&(k[m+1]|=32768)),0!==(R&q.Tc)&&(t|=1<<
n),0!==(R&q.kd)&&(F|=1<<n),0!==(R&q.Jd)&&(15>n?t|=1<<n+1:0<m&&0<y&&(v[m-1]|=1)),0!==(R&q.Kd)&&(0<n?t|=1<<n-1:m<ca-1&&y<X-1&&(v[m+1]|=32768)),0!==(R&q.Yd)&&(15>n?F|=1<<n+1:0<m&&0<y&&(J[m-1]|=1)),0!==(R&q.Zd)&&(0<n?F|=1<<n-1:m<ca-1&&y<X-1&&(J[m+1]|=32768)))}y+=1}k[m]|=u;0<l&&(v[m]|=t);l<ba-1&&(J[m]|=F)}else y+=16;D+=16;C+=16}for(m=0;m<X;m+=1)I[m]&&(m<Z&&(Z=m),m>aa&&(aa=m));Z=(Z<<4)+this.ke(I[Z]);aa=(aa<<4)+this.se(I[aa]);0>M&&(M=Y-1);H>=Y&&(H=0);Z>=T&&(Z=0);0>aa&&(aa=T-1);M>Y-1&&(M=Y-1);0>H&&(H=0);
0>Z&&(Z=0);aa>T-1&&(aa=T-1);L.R=M;L.N=H;L.O=Z;L.P=aa;for(l=0;l<Q.length;l+=1)Q[l]=0;this.Ed=U;this.qd=V;this.td=W};k.prototype.ef=function(c,e){var a,h,b,n,f,p=this.va,d,l,m,x,B,w,r,g,k,v,q=this.g,A=this.c>>4;w=0;r=w+16;for(m=0;m<q;m+=1){g=0;d=p[m];for(x=0;x<A;x+=1)if(k=d[x])for(B=15;0<=B;--B){if(0!==(k&1<<B))for(h=w;h<r;h+=2)b=c[h],n=c[h+1],f=e[h],a=g<<3,v=0,l=b[a],(l&255)>v&&(v=l&255),l>>=8,l>v&&(v=l),l=n[a],(l&255)>v&&(v=l&255),l>>=8,l>v&&(v=l),f[a+a]=v,a+=1,v=0,l=b[a],(l&255)>v&&(v=l&255),l>>=
8,l>v&&(v=l),l=n[a],(l&255)>v&&(v=l&255),l>>=8,l>v&&(v=l),f[a+a]=v,a+=1,v=0,l=b[a],(l&255)>v&&(v=l&255),l>>=8,l>v&&(v=l),l=n[a],(l&255)>v&&(v=l&255),l>>=8,l>v&&(v=l),f[a+a]=v,a+=1,v=0,l=b[a],(l&255)>v&&(v=l&255),l>>=8,l>v&&(v=l),l=n[a],(l&255)>v&&(v=l&255),l>>=8,l>v&&(v=l),f[a+a]=v,a+=1,v=0,l=b[a],(l&255)>v&&(v=l&255),l>>=8,l>v&&(v=l),l=n[a],(l&255)>v&&(v=l&255),l>>=8,l>v&&(v=l),f[a+a]=v,a+=1,v=0,l=b[a],(l&255)>v&&(v=l&255),l>>=8,l>v&&(v=l),l=n[a],(l&255)>v&&(v=l&255),l>>=8,l>v&&(v=l),f[a+a]=v,a+=
1,v=0,l=b[a],(l&255)>v&&(v=l&255),l>>=8,l>v&&(v=l),l=n[a],(l&255)>v&&(v=l&255),l>>=8,l>v&&(v=l),f[a+a]=v,a+=1,v=0,l=b[a],(l&255)>v&&(v=l&255),l>>=8,l>v&&(v=l),l=n[a],(l&255)>v&&(v=l&255),l>>=8,l>v&&(v=l),f[a+a]=v;g+=1}else g+=16;w+=16;r+=16}};k.prototype.ff=function(c,e){var a,h,b,n,f,p=this.va,d,l,m,x,B,w,r,g,k,v,q=this.g,A=this.c>>4;w=0;r=w+16;for(m=0;m<q;m+=1){g=0;d=p[m];for(x=0;x<A;x+=1)if(k=d[x])for(B=15;0<=B;--B){if(0!==(k&1<<B))for(a=w;a<r;a+=4)f=e[a],b=c[a],n=c[a+2],h=g<<4,v=b[h],l=b[h+2],
l>v&&(v=l),l=n[h],l>v&&(v=l),l=n[h+2],l>v&&(v=l),f[h]=v,h+=4,v=b[h],l=b[h+2],l>v&&(v=l),l=n[h],l>v&&(v=l),l=n[h+2],l>v&&(v=l),f[h]=v,h+=4,v=b[h],l=b[h+2],l>v&&(v=l),l=n[h],l>v&&(v=l),l=n[h+2],l>v&&(v=l),f[h]=v,h+=4,v=b[h],l=b[h+2],l>v&&(v=l),l=n[h],l>v&&(v=l),l=n[h+2],l>v&&(v=l),f[h]=v;g+=1}else g+=16;w+=16;r+=16}};k.prototype.hf=function(c,e){var a,h,b,n,f,p=this.va,d,l,m,x,B,w,r,g,k,v,q=this.g,A=this.c>>4;w=0;r=w+16;for(m=0;m<q;m+=1){g=0;d=p[m];for(x=0;x<A;x+=1)if(k=d[x])for(B=15;0<=B;--B){if(0!==
(k&1<<B))for(a=w;a<r;a+=8)f=e[a],b=c[a],n=c[a+4],h=g<<4,v=b[h],l=b[h+4],l>v&&(v=l),l=n[h],l>v&&(v=l),l=n[h+4],l>v&&(v=l),f[h]=v,h+=8,v=b[h],l=b[h+4],l>v&&(v=l),l=n[h],l>v&&(v=l),l=n[h+4],l>v&&(v=l),f[h]=v;g+=1}else g+=16;w+=16;r+=16}};k.prototype.df=function(c,e){var a,h,b,n,f=this.va,p,d,l,m,x,B,w,r,g=this.g,k=this.c>>4;for(d=x=0;d<g;d+=1){B=0;p=f[d];for(l=0;l<k;l+=1)if(w=p[l])for(m=15;0<=m;--m)0!==(w&1<<m)&&(n=e[x],h=c[x],b=c[x+8],a=B<<4,r=h[a],h=h[a+8],h>r&&(r=h),h=b[a],h>r&&(r=h),h=b[a+8],h>r&&
(r=h),n[a]=r),B+=1;else B+=16;x+=16}};k.prototype.jg=function(){1>this.K&&(this.ef(this.Ve,this.l),.5>this.K&&(this.ff(this.l,this.fa),.25>this.K&&(this.hf(this.fa,this.ha),.125>this.K&&this.df(this.ha,this.Ka))));this.ee&&1>this.K&&(this.ef(this.Yc,this.L),.5>this.K&&(this.ff(this.L,this.bc),.25>this.K&&(this.hf(this.bc,this.cc),.125>this.K&&this.df(this.cc,this.Ac))))};k.prototype.qg=function(){var c,e,a,h=this.la,b,n,f,p=this.va,d=this.ra,l,m,x,B,w,r,g,k,v,q,A,u,t,F,D;q=this.g;var C=this.c>>4,
y=this.u-1;c=0;var z=q;this.Cc=this.X=0;0!==(this.j&1)?(l=this.V,x=this.na):(l=this.Xa,x=this.M);0>c&&(c=0);z>q&&(z=q);q=c<<4;A=q+16;for(r=c;r<z;r+=1){u=0;B=x[r];n=d[r];f=p[r];for(g=0;g<C;g+=1){t=B[g]|n[g];F=0;if(t)for(k=15;0<=k;--k){if(0!==(t&1<<k)){D=0;for(c=q;c<A;c+=1)m=l[c],b=h[c],e=u<<4,a=m[u],v=32768,w=b[e],0!==w&&w!==y||0===(a&v)?(a&=~v,0<w&&(--w,D|=w)):(w=y,D|=w),b[e]=w,e+=1,v>>=1,w=b[e],0!==w&&w!==y||0===(a&v)?(a&=~v,0<w&&(--w,D|=w)):(w=y,D|=w),b[e]=w,e+=1,v>>=1,w=b[e],0!==w&&w!==y||0===
(a&v)?(a&=~v,0<w&&(--w,D|=w)):(w=y,D|=w),b[e]=w,e+=1,v>>=1,w=b[e],0!==w&&w!==y||0===(a&v)?(a&=~v,0<w&&(--w,D|=w)):(w=y,D|=w),b[e]=w,e+=1,v>>=1,w=b[e],0!==w&&w!==y||0===(a&v)?(a&=~v,0<w&&(--w,D|=w)):(w=y,D|=w),b[e]=w,e+=1,v>>=1,w=b[e],0!==w&&w!==y||0===(a&v)?(a&=~v,0<w&&(--w,D|=w)):(w=y,D|=w),b[e]=w,e+=1,v>>=1,w=b[e],0!==w&&w!==y||0===(a&v)?(a&=~v,0<w&&(--w,D|=w)):(w=y,D|=w),b[e]=w,e+=1,v>>=1,w=b[e],0!==w&&w!==y||0===(a&v)?(a&=~v,0<w&&(--w,D|=w)):(w=y,D|=w),b[e]=w,e+=1,v>>=1,w=b[e],0!==w&&w!==y||0===
(a&v)?(a&=~v,0<w&&(--w,D|=w)):(w=y,D|=w),b[e]=w,e+=1,v>>=1,w=b[e],0!==w&&w!==y||0===(a&v)?(a&=~v,0<w&&(--w,D|=w)):(w=y,D|=w),b[e]=w,e+=1,v>>=1,w=b[e],0!==w&&w!==y||0===(a&v)?(a&=~v,0<w&&(--w,D|=w)):(w=y,D|=w),b[e]=w,e+=1,v>>=1,w=b[e],0!==w&&w!==y||0===(a&v)?(a&=~v,0<w&&(--w,D|=w)):(w=y,D|=w),b[e]=w,e+=1,v>>=1,w=b[e],0!==w&&w!==y||0===(a&v)?(a&=~v,0<w&&(--w,D|=w)):(w=y,D|=w),b[e]=w,e+=1,v>>=1,w=b[e],0!==w&&w!==y||0===(a&v)?(a&=~v,0<w&&(--w,D|=w)):(w=y,D|=w),b[e]=w,e+=1,v>>=1,w=b[e],0!==w&&w!==y||0===
(a&v)?(a&=~v,0<w&&(--w,D|=w)):(w=y,D|=w),b[e]=w,e+=1,v>>=1,w=b[e],0!==w&&w!==y||0===(a&v)?(a&=~v,0<w&&(--w,D|=w)):(w=y,D|=w),b[e]=w,m[u]=a,this.X|=a;D&&(F|=1<<k,this.Cc=D)}u+=1}else u+=16;n[g]=F;f[g]|=F}q+=16;A+=16}};k.prototype.rg=function(){var c,e,a=this.la,h,b,n=this.va,f,g,d,l,m,x,B,w,r;x=this.g;var k=this.c>>4;c=0;var q=x;this.Cc=0;0>c&&(c=0);q>x&&(q=x);x=c<<4;B=x+16;for(g=c;g<q;g+=1){w=0;b=n[g];for(d=0;d<k;d+=1)if(r=b[d])for(l=15;0<=l;--l){if(0!==(r&1<<l))for(c=x;c<B;c+=1)for(h=a[c],e=w<<4,
m=15;0<=m;--m)f=h[e],0<f&&--f,h[e]=f,e+=1,this.Cc|=f;w+=1}else w+=16;x+=16;B+=16}};k.prototype.Ag=function(){var c=this.X,e=this.j;-1===this.u?(0===c&&-1!==this.oj&&(this.j=this.oj),this.nf(),this.j=e,0!==c&&0===this.X&&(this.oj=this.j),c=this.X):c=this.X|this.Cc;return c};k.prototype.nf=function(){var c,e,a,h=this.la,b,n,f,g=this.va,d=this.ra,l=this.Xe,m=this.v+1,x,B,w,r,k,q,v,J,A,u,t,F,D;J=this.g;var C=this.c>>4;c=0;var y=J;this.X=0;0!==(this.j&1)?(x=this.V,B=this.na):(x=this.Xa,B=this.M);0>c&&
(c=0);y>J&&(y=J);J=c<<4;A=J+16;for(k=c;k<y;k+=1){u=0;w=B[k];n=d[k];f=g[k];for(q=0;q<C;q+=1){t=w[q]|n[q];F=0;if(t)for(v=15;0<=v;--v){if(0!==(t&1<<v)){D=0;for(c=J;c<A;)a=x[c],b=h[c],e=u<<4,a=a[u],this.X|=a,D|=a,0!==(a&32768)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&16384)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&8192)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&4096)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&2048)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&1024)?
r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&512)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&256)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&128)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&64)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&32)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&16)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&8)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&4)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&2)?r=l[b[e]+m]:(r=
l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&1)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,c+=1,a=x[c],b=h[c],e=u<<4,a=a[u],this.X|=a,D|=a,0!==(a&32768)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&16384)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&8192)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&4096)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&2048)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&1024)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&512)?r=l[b[e]+m]:(r=l[b[e]],D|=1<
r),b[e]=r,e+=1,0!==(a&256)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&128)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&64)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&32)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&16)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&8)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&4)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&2)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&1)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,c+=1,a=
x[c],b=h[c],e=u<<4,a=a[u],this.X|=a,D|=a,0!==(a&32768)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&16384)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&8192)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&4096)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&2048)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&1024)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&512)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&256)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&128)?
r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&64)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&32)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&16)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&8)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&4)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&2)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&1)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,c+=1,a=x[c],b=h[c],e=u<<4,a=a[u],this.X|=a,D|=a,0!==(a&32768)?r=l[b[e]+m]:(r=l[b[e]],D|=1<
r),b[e]=r,e+=1,0!==(a&16384)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&8192)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&4096)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&2048)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&1024)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&512)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&256)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&128)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&64)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),
b[e]=r,e+=1,0!==(a&32)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&16)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&8)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&4)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&2)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,e+=1,0!==(a&1)?r=l[b[e]+m]:(r=l[b[e]],D|=1<r),b[e]=r,c+=1;D&&(F|=1<<v)}u+=1}else u+=16;n[q]=F;f[q]|=F}J+=16;A+=16}};k.prototype.on=function(c,e,a,h,b,n,f,g,d,l){var m=this.Xb;h=h*c+m.R;a=a*c+m.P;e=e*c+m.N;b=b*c+m.O;m=a-b+1;c=h-
e+1;this.J&&(m=a-e/2-(b-h/2)+1);0===m&&(m=1);0===c&&(c=1);n/=m;f/=c;l=Math.round(1E3*(n>f?f:n)/l)/1E3;l<g?l=g:l>d&&(l=d);return l};k.prototype.fe=function(c,e,a,h,b,n,f,g,d,l,m,x,B,w,r,k){var q=this.C,v=this.Xb,J=this.Fa,A=this.De,u=this.j;r=k*(r/1E3-this.j/k);0>r?r=0:1<r&&(r=1);l?(u+=r,A.R=B*u+v.R,A.P=x*u+v.P,A.N=m*u+v.N,A.O=w*u+v.O,d&&(J.O<A.O&&(A.O=J.O),J.N<A.N&&(A.N=J.N),J.P>A.P&&(A.P=J.P),J.R>A.R&&(A.R=J.R)),q=A):d&&(q=J);d=q.O;m=q.P;x=q.R;q=q.N;this.ad&&(v.O<d&&(d=v.O),v.P>m&&(m=v.P),v.R>x&&
(x=v.R),v.N<q&&(q=v.N));-1!==this.Db&&(v=this.qa,l=this.Ma,this.width/2-v/2<d&&(d=this.width/2-v/2),this.width/2+v/2>m&&(m=this.width/2+v/2),this.height/2-l/2<q&&(q=this.height/2-l/2),this.height/2+l/2>x&&(x=this.height/2+l/2));g?(v=n,l=f,d=this.width/2-v/2,m=this.width/2+v/2,x=this.height/2+l/2,q=this.height/2-l/2):(v=m-d+1,l=x-q+1);this.J&&(d-=x/2,v=m-q/2-d+1);0===v&&(v=1);0===l&&(l=1);c/=v;e/=l;b=Math.round(1E3*(c>e?e:c)/b)/1E3;b/=this.Rb;b<a?b=a:b>h&&(b=h);return[b,d-this.Hc+v/2,q-this.oc+l/2]};
k.prototype.lg=function(c,e,a){var h=this.Ub,b=this.s,n=this.m,f=e*b+0;c=e*b+c;b=c-15;if(0<=e&&e<n){for(;f<=b;)h[f]=a,f+=1,h[f]=a,f+=1,h[f]=a,f+=1,h[f]=a,f+=1,h[f]=a,f+=1,h[f]=a,f+=1,h[f]=a,f+=1,h[f]=a,f+=1,h[f]=a,f+=1,h[f]=a,f+=1,h[f]=a,f+=1,h[f]=a,f+=1,h[f]=a,f+=1,h[f]=a,f+=1,h[f]=a,f+=1,h[f]=a,f+=1;for(;f<=c;)h[f]=a,f+=1}};k.prototype.Od=function(c,e,a,h){var b=this.Ub,n=this.s;e=e*n+c;a=a*n+c;var f=a-15*n;if(0<=c&&c<n){for(;e<=f;)b[e]=h,e+=n,b[e]=h,e+=n,b[e]=h,e+=n,b[e]=h,e+=n,b[e]=h,e+=n,b[e]=
h,e+=n,b[e]=h,e+=n,b[e]=h,e+=n,b[e]=h,e+=n,b[e]=h,e+=n,b[e]=h,e+=n,b[e]=h,e+=n,b[e]=h,e+=n,b[e]=h,e+=n,b[e]=h,e+=n,b[e]=h,e+=n;for(;e<=a;)b[e]=h,e+=n}};k.prototype.Bb=function(){var c,e,a,h=this.s,b=this.m,n=this.Qd,f=this.Pd,g=this.K,d,l,m=n,x,B=((this.height/2-(this.A+this.oc))*g+b/2)%g,w=((this.width/2-(this.D+this.Hc))*g+h/2)%g;a=0<this.Ec&&this.Je?2:1;for(x=n;a;){d=-(h/2/g)-(this.width/2-this.D-this.Hc)|0;for(c=0;c<=h+g;c+=g)if(0<this.Ec&&this.Je&&(m=0===d%this.Ec?f:n),d+=1,m===x)if(this.J)for(l=
-(b/2/g)-(this.height/2-this.A-this.oc)|0,e=B;e<b;e+=g)0===(l&1)?this.Od(Math.round(c+w),Math.round(e),Math.round(e+g-1),m):this.Od(Math.round(c+w+g/2),Math.round(e),Math.round(e+g-1),m),l+=1;else this.Od(Math.round(c+w),0,b-1,m);d=-(b/2/g)-(this.height/2-this.A-this.oc)|0;for(e=B;e<b;e+=g)0<this.Ec&&this.Je&&(m=0===d%this.Ec?f:n),d+=1,m===x&&this.lg(h-1,Math.round(e),m);--a;x=f}};k.prototype.be=function(){return 4<=this.K&&0===this.mb};k.prototype.kg=function(){var c=this.qa,e=this.Ma,a=this.la,
h=(this.width-c)/2-1|0,b=(this.width+c)/2|0,n=(this.height-e)/2-1|0,f=(this.height+e)/2|0,g=q.ul,d=a[n],l=a[f];if(0===c)for(c=0;c<this.width;c+=1)d[c]=g,l[c]=g;else if(0===e)for(c=0;c<this.height;c+=1)a[c][h]=g,a[c][b]=g;else{for(c=h;c<=b;c+=1)d[c]=g,l[c]=g;for(c=n+1;c<=f-1;c+=1)a[c][h]=g,a[c][b]=g}};k.prototype.gp=function(){this.tf&&(this.Dl(),--this.tf,this.tf||(this.xa.set(this.ba),this.Ca.set(this.da),this.dc.set(this.kb)));this.K=this.zoom*this.Rb;this.K<ViewConstants.sa?this.K=ViewConstants.sa:
this.K>ViewConstants.hb&&(this.K=ViewConstants.hb);this.nb=this.D+this.Hc;this.ob=this.A+this.oc;this.b=this.ic/2+1;this.mb=this.J?0:this.G;-1!==this.Db&&this.kg();this.jg();.125>this.K?this.ee?0===this.j?this.bb(this.Ac,15):this.vc(this.Ac,this.Ka,15):this.bb(this.Ka,15):.25>this.K?this.ee?0===this.j?this.bb(this.cc,7):this.vc(this.cc,this.ha,7):this.bb(this.ha,7):.5>this.K?this.ee?0===this.j?this.bb(this.bc,3):this.vc(this.bc,this.fa,3):this.bb(this.fa,3):1>this.K?this.ee?0===this.j?this.bb(this.L,
1):this.vc(this.L,this.l,1):this.bb(this.l,1):this.ee?0===this.j?this.bb(this.Yb,0):this.vc(this.Yb,this.la,0):this.bb(this.la,0)};k.prototype.Ci=function(c,e){var a=this.s>>3,h=this.Ud,b=this.Ub,n,f,g,d,l,m,x,B,w,r,k,q=1,v=1,J=0,A,u=this.Ja&~e,t=this.Oa&~e,F=~e,D=~e,C=c,y=this.K;1<this.b&&(q=this.o);m=Math.sin(this.mb/180*Math.PI)/this.K;x=Math.cos(this.mb/180*Math.PI)/this.K;B=-(this.s/2*-m+this.m/2*x)+this.ob;w=-(this.s/2*x+this.m/2*m)+this.nb;1<this.o&&1<this.b&&(J=.4/(this.o-1),v=.6);this.Mb(v);
n=8192>this.width?h[0]|0:this.yg|0;k=0;l=B;for(f=0;f<this.m;f+=1){d=w;for(g=0;g<a;g+=1)(d&F)===(d&u)&&(l&D)===(l&t)?(A=C[l&t][d&u]|0,b[k]=h[A]):b[k]=n,k+=1,d+=x,l-=m,(d&F)===(d&u)&&(l&D)===(l&t)?(A=C[l&t][d&u]|0,b[k]=h[A]):b[k]=n,k+=1,d+=x,l-=m,(d&F)===(d&u)&&(l&D)===(l&t)?(A=C[l&t][d&u]|0,b[k]=h[A]):b[k]=n,k+=1,d+=x,l-=m,(d&F)===(d&u)&&(l&D)===(l&t)?(A=C[l&t][d&u]|0,b[k]=h[A]):b[k]=n,k+=1,d+=x,l-=m,(d&F)===(d&u)&&(l&D)===(l&t)?(A=C[l&t][d&u]|0,b[k]=h[A]):b[k]=n,k+=1,d+=x,l-=m,(d&F)===(d&u)&&(l&D)===
(l&t)?(A=C[l&t][d&u]|0,b[k]=h[A]):b[k]=n,k+=1,d+=x,l-=m,(d&F)===(d&u)&&(l&D)===(l&t)?(A=C[l&t][d&u]|0,b[k]=h[A]):b[k]=n,k+=1,d+=x,l-=m,(d&F)===(d&u)&&(l&D)===(l&t)?(A=C[l&t][d&u]|0,b[k]=h[A]):b[k]=n,k+=1,d+=x,l-=m;w+=m;l=B+=x}this.yb&&this.be()&&this.Bb();for(n=1;n<q;n+=1)for(r=-1!==this.u?this.u/this.o*n|0:(this.v+1)/this.o*n|0,v+=J,this.Mb(v),m/=this.b,x/=this.b,y*=this.b,.125>y?(C=this.Ka,e=15):.25>y?(C=this.ha,e=7):.5>y?(C=this.fa,e=3):1>y?(C=this.l,e=1):(C=this.la,e=0),u=this.Ja&~e,t=this.Oa&
~e,F=~e,D=~e,B=-(this.s/2*-m+this.m/2*x)+this.ob,w=-(this.s/2*x+this.m/2*m)+this.nb,k=0,l=B,f=0;f<this.m;f+=1){d=w;for(g=0;g<a;g+=1)(d&F)===(d&u)&&(l&D)===(l&t)&&(A=C[l&t][d&u]|0,A>=r&&(b[k]=h[A])),k+=1,d+=x,l-=m,(d&F)===(d&u)&&(l&D)===(l&t)&&(A=C[l&t][d&u]|0,A>=r&&(b[k]=h[A])),k+=1,d+=x,l-=m,(d&F)===(d&u)&&(l&D)===(l&t)&&(A=C[l&t][d&u]|0,A>=r&&(b[k]=h[A])),k+=1,d+=x,l-=m,(d&F)===(d&u)&&(l&D)===(l&t)&&(A=C[l&t][d&u]|0,A>=r&&(b[k]=h[A])),k+=1,d+=x,l-=m,(d&F)===(d&u)&&(l&D)===(l&t)&&(A=C[l&t][d&u]|
0,A>=r&&(b[k]=h[A])),k+=1,d+=x,l-=m,(d&F)===(d&u)&&(l&D)===(l&t)&&(A=C[l&t][d&u]|0,A>=r&&(b[k]=h[A])),k+=1,d+=x,l-=m,(d&F)===(d&u)&&(l&D)===(l&t)&&(A=C[l&t][d&u]|0,A>=r&&(b[k]=h[A])),k+=1,d+=x,l-=m,(d&F)===(d&u)&&(l&D)===(l&t)&&(A=C[l&t][d&u]|0,A>=r&&(b[k]=h[A])),k+=1,d+=x,l-=m;w+=m;l=B+=x}};k.prototype.Di=function(c,e){var a=this.s>>3,h=this.Ud,b=this.Ub,n,f,g,d,l,m,x,B,w,r,k=1,q=1,v=0,u,A=this.Ja&~e,E=this.Oa&~e,t=~e,F=~e,D=c,C,y=this.K;1<this.b&&(k=this.o);m=1/this.K;x=-(this.m/2*m)+this.ob;B=
-(this.s/2*m)+this.nb;1<this.o&&1<this.b&&(v=.4/(this.o-1),q=.6);this.Mb(q);n=8192>this.width?h[0]|0:this.yg|0;r=0;l=x;for(f=0;f<this.m;f+=1){if((l&F)===(l&E))for(C=D[l&E],d=B,this.J&&(d+=.5*(l|0)),g=0;g<a;g+=1)(d&t)===(d&A)?(u=C[d&A]|0,b[r]=h[u]):b[r]=n,r+=1,d+=m,(d&t)===(d&A)?(u=C[d&A]|0,b[r]=h[u]):b[r]=n,r+=1,d+=m,(d&t)===(d&A)?(u=C[d&A]|0,b[r]=h[u]):b[r]=n,r+=1,d+=m,(d&t)===(d&A)?(u=C[d&A]|0,b[r]=h[u]):b[r]=n,r+=1,d+=m,(d&t)===(d&A)?(u=C[d&A]|0,b[r]=h[u]):b[r]=n,r+=1,d+=m,(d&t)===(d&A)?(u=C[d&
A]|0,b[r]=h[u]):b[r]=n,r+=1,d+=m,(d&t)===(d&A)?(u=C[d&A]|0,b[r]=h[u]):b[r]=n,r+=1,d+=m,(d&t)===(d&A)?(u=C[d&A]|0,b[r]=h[u]):b[r]=n,r+=1,d+=m;else for(g=0;g<a;g+=1)b[r]=n,r+=1,b[r]=n,r+=1,b[r]=n,r+=1,b[r]=n,r+=1,b[r]=n,r+=1,b[r]=n,r+=1,b[r]=n,r+=1,b[r]=n,r+=1;l=x+=m}this.yb&&this.be()&&this.Bb();for(n=1;n<k;n+=1)for(w=-1!==this.u?this.u/this.o*n|0:(this.v+1)/this.o*n|0,q+=v,this.Mb(q),m/=this.b,y*=this.b,.125>y?(D=this.Ka,e=15):.25>y?(D=this.ha,e=7):.5>y?(D=this.fa,e=3):1>y?(D=this.l,e=1):(D=this.la,
e=0),A=this.Ja&~e,E=this.Oa&~e,t=~e,F=~e,x=-(this.m/2*m)+this.ob,B=-(this.s/2*m)+this.nb,r=0,l=x,f=0;f<this.m;f+=1){if((l&F)===(l&E))for(C=D[l&E],d=B,this.J&&(d+=.5*(l|0)),g=0;g<a;g+=1)(d&t)===(d&A)&&(u=C[d&A]|0,u>=w&&(b[r]=h[u])),r+=1,d+=m,(d&t)===(d&A)&&(u=D[l&E][d&A]|0,u>=w&&(b[r]=h[u])),r+=1,d+=m,(d&t)===(d&A)&&(u=D[l&E][d&A]|0,u>=w&&(b[r]=h[u])),r+=1,d+=m,(d&t)===(d&A)&&(u=D[l&E][d&A]|0,u>=w&&(b[r]=h[u])),r+=1,d+=m,(d&t)===(d&A)&&(u=D[l&E][d&A]|0,u>=w&&(b[r]=h[u])),r+=1,d+=m,(d&t)===(d&A)&&(u=
D[l&E][d&A]|0,u>=w&&(b[r]=h[u])),r+=1,d+=m,(d&t)===(d&A)&&(u=D[l&E][d&A]|0,u>=w&&(b[r]=h[u])),r+=1,d+=m,(d&t)===(d&A)&&(u=D[l&E][d&A]|0,u>=w&&(b[r]=h[u])),r+=1,d+=m;else r+=a<<3;l=x+=m}};k.prototype.Gi=function(c,e){var a=this.s>>3,h=this.Ud,b=this.Ub,n,f,g,d,l,m,x,B,w,r,k,q=1,v=1,u=0,A,E=this.Ja&~e,t=this.Oa&~e,F=c,D=this.K;1<this.b&&(q=this.o);m=Math.sin(this.mb/180*Math.PI)/this.K;x=Math.cos(this.mb/180*Math.PI)/this.K;B=-(this.s/2*-m+this.m/2*x)+this.ob;w=-(this.s/2*x+this.m/2*m)+this.nb;1<this.o&&
1<this.b&&(u=.4/(this.o-1),v=.6);this.Mb(v);k=0;l=B;for(f=0;f<this.m;f+=1){d=w;for(g=0;g<a;g+=1)A=F[l&t][d&E]|0,b[k]=h[A],k+=1,d+=x,l-=m,A=F[l&t][d&E]|0,b[k]=h[A],k+=1,d+=x,l-=m,A=F[l&t][d&E]|0,b[k]=h[A],k+=1,d+=x,l-=m,A=F[l&t][d&E]|0,b[k]=h[A],k+=1,d+=x,l-=m,A=F[l&t][d&E]|0,b[k]=h[A],k+=1,d+=x,l-=m,A=F[l&t][d&E]|0,b[k]=h[A],k+=1,d+=x,l-=m,A=F[l&t][d&E]|0,b[k]=h[A],k+=1,d+=x,l-=m,A=F[l&t][d&E]|0,b[k]=h[A],k+=1,d+=x,l-=m;w+=m;l=B+=x}this.yb&&this.be()&&this.Bb();for(n=1;n<q;n+=1)for(r=-1!==this.u?
this.u/this.o*n|0:(this.v+1)/this.o*n|0,v+=u,this.Mb(v),m/=this.b,x/=this.b,D*=this.b,.125>D?(F=this.Ka,e=15):.25>D?(F=this.ha,e=7):.5>D?(F=this.fa,e=3):1>D?(F=this.l,e=1):(F=this.la,e=0),E=this.Ja&~e,t=this.Oa&~e,B=-(this.s/2*-m+this.m/2*x)+this.ob,w=-(this.s/2*x+this.m/2*m)+this.nb,k=0,l=B,f=0;f<this.m;f+=1){d=w;for(g=0;g<a;g+=1)A=F[l&t][d&E]|0,A>=r&&(b[k]=h[A]),k+=1,d+=x,l-=m,A=F[l&t][d&E]|0,A>=r&&(b[k]=h[A]),k+=1,d+=x,l-=m,A=F[l&t][d&E]|0,A>=r&&(b[k]=h[A]),k+=1,d+=x,l-=m,A=F[l&t][d&E]|0,A>=r&&
(b[k]=h[A]),k+=1,d+=x,l-=m,A=F[l&t][d&E]|0,A>=r&&(b[k]=h[A]),k+=1,d+=x,l-=m,A=F[l&t][d&E]|0,A>=r&&(b[k]=h[A]),k+=1,d+=x,l-=m,A=F[l&t][d&E]|0,A>=r&&(b[k]=h[A]),k+=1,d+=x,l-=m,A=F[l&t][d&E]|0,A>=r&&(b[k]=h[A]),k+=1,d+=x,l-=m;w+=m;l=B+=x}};k.prototype.Pi=function(c,e){var a=this.s>>3,h=this.Ud,b=this.Ub,n,f,g,d,l,m,x,B,w,r=1,k=1,q=0,v,u=this.Ja&~e,A=this.Oa&~e,E=c,t,F=this.K;1<this.b&&(r=this.o);l=1/this.K;m=-(this.m/2*l)+this.ob;x=-(this.s/2*l)+this.nb;1<this.o&&1<this.b&&(q=.4/(this.o-1),k=.6);this.Mb(k);
w=0;g=m;for(f=0;f<this.m;f+=1){t=E[g&A];d=x;this.J&&(d+=.5*(g|0));for(g=0;g<a;g+=1)v=t[d&u]|0,b[w]=h[v],w+=1,d+=l,v=t[d&u]|0,b[w]=h[v],w+=1,d+=l,v=t[d&u]|0,b[w]=h[v],w+=1,d+=l,v=t[d&u]|0,b[w]=h[v],w+=1,d+=l,v=t[d&u]|0,b[w]=h[v],w+=1,d+=l,v=t[d&u]|0,b[w]=h[v],w+=1,d+=l,v=t[d&u]|0,b[w]=h[v],w+=1,d+=l,v=t[d&u]|0,b[w]=h[v],w+=1,d+=l;g=m+=l}this.yb&&this.be()&&this.Bb();for(n=1;n<r;n+=1)for(B=-1!==this.u?this.u/this.o*n|0:(this.v+1)/this.o*n|0,k+=q,this.Mb(k),l/=this.b,F*=this.b,.125>F?(E=this.Ka,e=15):
.25>F?(E=this.ha,e=7):.5>F?(E=this.fa,e=3):1>F?(E=this.l,e=1):(E=this.la,e=0),u=this.Ja&~e,A=this.Oa&~e,m=-(this.m/2*l)+this.ob,x=-(this.s/2*l)+this.nb,w=0,g=m,f=0;f<this.m;f+=1){t=E[g&A];d=x;this.J&&(d+=.5*(g|0));for(g=0;g<a;g+=1)v=t[d&u]|0,v>=B&&(b[w]=h[v]),w+=1,d+=l,v=t[d&u]|0,v>=B&&(b[w]=h[v]),w+=1,d+=l,v=t[d&u]|0,v>=B&&(b[w]=h[v]),w+=1,d+=l,v=t[d&u]|0,v>=B&&(b[w]=h[v]),w+=1,d+=l,v=t[d&u]|0,v>=B&&(b[w]=h[v]),w+=1,d+=l,v=t[d&u]|0,v>=B&&(b[w]=h[v]),w+=1,d+=l,v=t[d&u]|0,v>=B&&(b[w]=h[v]),w+=1,d+=
l,v=t[d&u]|0,v>=B&&(b[w]=h[v]),w+=1,d+=l;g=m+=l}};k.prototype.bb=function(c,e){var a=Math.sin(this.mb/180*Math.PI)/this.K,h=Math.cos(this.mb/180*Math.PI)/this.K,b=this.s,n=this.m,f=-(this.s/2*-a+this.m/2*h)+this.ob,g=-(this.s/2*h+this.m/2*a)+this.nb,d=f+b*-a,l=g+b*h,m=f+n*h,n=g+n*a,a=m+b*-a,h=n+b*h,b=f,x=g;l<x&&(x=l);n<x&&(x=n);h<x&&(x=n);l>g&&(g=l);n>g&&(g=n);h>g&&(g=h);d<b&&(b=d);m<b&&(b=m);a<b&&(b=a);d>f&&(f=d);m>f&&(f=m);a>f&&(f=a);0>(x|0)||(g|0)>=this.width||0>(b|0)||(f|0)>=this.height?0===this.mb?
this.Di(c,e):this.Ci(c,e):0===this.mb?this.Pi(c,e):this.Gi(c,e)};k.prototype.$g=function(c,e,a){var h=this.s>>3,b=this.Ud,g=this.Ub,f,k,d,l,m,x,B,w;w=ViewConstants.Aa[3]+128;var r=ViewConstants.Aa[4]+128,q=ViewConstants.Aa[5]+128,u=ViewConstants.Aa[6]+128,v,J=1,A=1,E=0,t,F,D=this.S,C=this.Ja&~a,y=this.Oa&~a,z=~a;a=~a;var G,I=e,O=this.K;1<this.b&&(J=this.o);e=Math.sin(this.mb/180*Math.PI)/this.K;m=Math.cos(this.mb/180*Math.PI)/this.K;x=-(this.s/2*-e+this.m/2*m)+this.ob;B=-(this.s/2*m+this.m/2*e)+this.nb;
1<this.o&&1<this.b&&(E=.4/(this.o-1),A=.6);this.Mb(A);G=8192>this.width?b[0]|0:this.yg|0;v=0;l=x;for(f=0;f<this.m;f+=1){d=B;for(k=0;k<h;k+=1)(d&z)===(d&C)&&(l&a)===(l&y)?(t=I[l&y][d&C],F=c[l&y][d&C],F===r||F===u?(t>=D&&(F=w),t=b[F]|0):F===w||F===q?(t<D&&(F=r),t=b[F]|0):t=b[t]|0,g[v]=t):g[v]=G,v+=1,d+=m,l-=e,(d&z)===(d&C)&&(l&a)===(l&y)?(t=I[l&y][d&C],F=c[l&y][d&C],F===r||F===u?(t>=D&&(F=w),t=b[F]|0):F===w||F===q?(t<D&&(F=r),t=b[F]|0):t=b[t]|0,g[v]=t):g[v]=G,v+=1,d+=m,l-=e,(d&z)===(d&C)&&(l&a)===(l&
y)?(t=I[l&y][d&C],F=c[l&y][d&C],F===r||F===u?(t>=D&&(F=w),t=b[F]|0):F===w||F===q?(t<D&&(F=r),t=b[F]|0):t=b[t]|0,g[v]=t):g[v]=G,v+=1,d+=m,l-=e,(d&z)===(d&C)&&(l&a)===(l&y)?(t=I[l&y][d&C],F=c[l&y][d&C],F===r||F===u?(t>=D&&(F=w),t=b[F]|0):F===w||F===q?(t<D&&(F=r),t=b[F]|0):t=b[t]|0,g[v]=t):g[v]=G,v+=1,d+=m,l-=e,(d&z)===(d&C)&&(l&a)===(l&y)?(t=I[l&y][d&C],F=c[l&y][d&C],F===r||F===u?(t>=D&&(F=w),t=b[F]|0):F===w||F===q?(t<D&&(F=r),t=b[F]|0):t=b[t]|0,g[v]=t):g[v]=G,v+=1,d+=m,l-=e,(d&z)===(d&C)&&(l&a)===
(l&y)?(t=I[l&y][d&C],F=c[l&y][d&C],F===r||F===u?(t>=D&&(F=w),t=b[F]|0):F===w||F===q?(t<D&&(F=r),t=b[F]|0):t=b[t]|0,g[v]=t):g[v]=G,v+=1,d+=m,l-=e,(d&z)===(d&C)&&(l&a)===(l&y)?(t=I[l&y][d&C],F=c[l&y][d&C],F===r||F===u?(t>=D&&(F=w),t=b[F]|0):F===w||F===q?(t<D&&(F=r),t=b[F]|0):t=b[t]|0,g[v]=t):g[v]=G,v+=1,d+=m,l-=e,(d&z)===(d&C)&&(l&a)===(l&y)?(t=I[l&y][d&C],F=c[l&y][d&C],F===r||F===u?(t>=D&&(F=w),t=b[F]|0):F===w||F===q?(t<D&&(F=r),t=b[F]|0):t=b[t]|0,g[v]=t):g[v]=G,v+=1,d+=m,l-=e;B+=e;l=x+=m}this.yb&&
this.be()&&this.Bb();for(c=1;c<J;c+=1)for(w=-1!==this.u?this.u/this.o*c|0:(this.v+1)/this.o*c|0,A+=E,this.Mb(A),e/=this.b,m/=this.b,O*=this.b,.125>O?(I=this.Ka,a=15):.25>O?(I=this.ha,a=7):.5>O?(I=this.fa,a=3):1>O?(I=this.l,a=1):(I=this.la,a=0),C=this.Ja&~a,y=this.Oa&~a,z=~a,a=~a,x=-(this.s/2*-e+this.m/2*m)+this.ob,B=-(this.s/2*m+this.m/2*e)+this.nb,v=0,l=x,f=0;f<this.m;f+=1){d=B;for(k=0;k<h;k+=1)(d&z)===(d&C)&&(l&a)===(l&y)&&(t=I[l&y][d&C]|0,t>=w&&(g[v]=b[t])),v+=1,d+=m,l-=e,(d&z)===(d&C)&&(l&a)===
(l&y)&&(t=I[l&y][d&C]|0,t>=w&&(g[v]=b[t])),v+=1,d+=m,l-=e,(d&z)===(d&C)&&(l&a)===(l&y)&&(t=I[l&y][d&C]|0,t>=w&&(g[v]=b[t])),v+=1,d+=m,l-=e,(d&z)===(d&C)&&(l&a)===(l&y)&&(t=I[l&y][d&C]|0,t>=w&&(g[v]=b[t])),v+=1,d+=m,l-=e,(d&z)===(d&C)&&(l&a)===(l&y)&&(t=I[l&y][d&C]|0,t>=w&&(g[v]=b[t])),v+=1,d+=m,l-=e,(d&z)===(d&C)&&(l&a)===(l&y)&&(t=I[l&y][d&C]|0,t>=w&&(g[v]=b[t])),v+=1,d+=m,l-=e,(d&z)===(d&C)&&(l&a)===(l&y)&&(t=I[l&y][d&C]|0,t>=w&&(g[v]=b[t])),v+=1,d+=m,l-=e,(d&z)===(d&C)&&(l&a)===(l&y)&&(t=I[l&y][d&
C]|0,t>=w&&(g[v]=b[t])),v+=1,d+=m,l-=e;B+=e;l=x+=m}};k.prototype.kh=function(c,e,a){var g=this.s>>3,b=this.Ud,n=this.Ub,f,k,d,l,m,x,B,w;w=ViewConstants.Aa[3]+128;var r=ViewConstants.Aa[4]+128,q=ViewConstants.Aa[5]+128,u=ViewConstants.Aa[6]+128,v,J=1,A=1,E=0,t,z,D=this.S,C=this.Ja&~a;a=this.Oa&~a;var y=e,S=this.K;1<this.b&&(J=this.o);e=Math.sin(this.mb/180*Math.PI)/this.K;m=Math.cos(this.mb/180*Math.PI)/this.K;x=-(this.s/2*-e+this.m/2*m)+this.ob;B=-(this.s/2*m+this.m/2*e)+this.nb;1<this.o&&1<this.b&&
(E=.4/(this.o-1),A=.6);this.Mb(A);v=0;l=x;for(f=0;f<this.m;f+=1){d=B;for(k=0;k<g;k+=1)t=y[l&a][d&C],z=c[l&a][d&C],z===r||z===u?(t>=D&&(z=w),t=b[z]|0):z===w||z===q?(t<D&&(z=r),t=b[z]|0):t=b[t]|0,n[v]=t,v+=1,d+=m,l-=e,t=y[l&a][d&C],z=c[l&a][d&C],z===r||z===u?(t>=D&&(z=w),t=b[z]|0):z===w||z===q?(t<D&&(z=r),t=b[z]|0):t=b[t]|0,n[v]=t,v+=1,d+=m,l-=e,t=y[l&a][d&C],z=c[l&a][d&C],z===r||z===u?(t>=D&&(z=w),t=b[z]|0):z===w||z===q?(t<D&&(z=r),t=b[z]|0):t=b[t]|0,n[v]=t,v+=1,d+=m,l-=e,t=y[l&a][d&C],z=c[l&a][d&
C],z===r||z===u?(t>=D&&(z=w),t=b[z]|0):z===w||z===q?(t<D&&(z=r),t=b[z]|0):t=b[t]|0,n[v]=t,v+=1,d+=m,l-=e,t=y[l&a][d&C],z=c[l&a][d&C],z===r||z===u?(t>=D&&(z=w),t=b[z]|0):z===w||z===q?(t<D&&(z=r),t=b[z]|0):t=b[t]|0,n[v]=t,v+=1,d+=m,l-=e,t=y[l&a][d&C],z=c[l&a][d&C],z===r||z===u?(t>=D&&(z=w),t=b[z]|0):z===w||z===q?(t<D&&(z=r),t=b[z]|0):t=b[t]|0,n[v]=t,v+=1,d+=m,l-=e,t=y[l&a][d&C],z=c[l&a][d&C],z===r||z===u?(t>=D&&(z=w),t=b[z]|0):z===w||z===q?(t<D&&(z=r),t=b[z]|0):t=b[t]|0,n[v]=t,v+=1,d+=m,l-=e,t=y[l&
a][d&C],z=c[l&a][d&C],z===r||z===u?(t>=D&&(z=w),t=b[z]|0):z===w||z===q?(t<D&&(z=r),t=b[z]|0):t=b[t]|0,n[v]=t,v+=1,d+=m,l-=e;B+=e;l=x+=m}this.yb&&this.be()&&this.Bb();for(c=1;c<J;c+=1)for(w=-1!==this.u?this.u/this.o*c|0:(this.v+1)/this.o*c|0,A+=E,this.Mb(A),e/=this.b,m/=this.b,S*=this.b,.125>S?(y=this.Ka,a=15):.25>S?(y=this.ha,a=7):.5>S?(y=this.fa,a=3):1>S?(y=this.l,a=1):(y=this.la,a=0),C=this.Ja&~a,a=this.Oa&~a,x=-(this.s/2*-e+this.m/2*m)+this.ob,B=-(this.s/2*m+this.m/2*e)+this.nb,v=0,l=x,f=0;f<this.m;f+=
1){d=B;for(k=0;k<g;k+=1)t=y[l&a][d&C]|0,t>=w&&(n[v]=b[t]),v+=1,d+=m,l-=e,t=y[l&a][d&C]|0,t>=w&&(n[v]=b[t]),v+=1,d+=m,l-=e,t=y[l&a][d&C]|0,t>=w&&(n[v]=b[t]),v+=1,d+=m,l-=e,t=y[l&a][d&C]|0,t>=w&&(n[v]=b[t]),v+=1,d+=m,l-=e,t=y[l&a][d&C]|0,t>=w&&(n[v]=b[t]),v+=1,d+=m,l-=e,t=y[l&a][d&C]|0,t>=w&&(n[v]=b[t]),v+=1,d+=m,l-=e,t=y[l&a][d&C]|0,t>=w&&(n[v]=b[t]),v+=1,d+=m,l-=e,t=y[l&a][d&C]|0,t>=w&&(n[v]=b[t]),v+=1,d+=m,l-=e;B+=e;l=x+=m}};k.prototype.nh=function(c,e,a){var g=this.s>>3,b=this.Ud,n=this.Ub,f,k,
d,l,m,x;x=ViewConstants.Aa[3]+128;var B=ViewConstants.Aa[4]+128,w=ViewConstants.Aa[5]+128,r=ViewConstants.Aa[6]+128,q,u=1,v=1,z=0,A,E,t=this.S,F=this.Ja&~a;a=this.Oa&~a;var D=e,C,y,S=this.K;1<this.b&&(u=this.o);e=1/this.K;l=-(this.m/2*e)+this.ob;m=-(this.s/2*e)+this.nb;1<this.o&&1<this.b&&(z=.4/(this.o-1),v=.6);this.Mb(v);q=0;k=l;for(f=0;f<this.m;f+=1){C=D[k&a];y=c[k&a];d=m;this.J&&(d+=.5*(k|0));for(k=0;k<g;k+=1)A=C[d&F],E=y[d&F],E===B||E===r?(A>=t&&(E=x),A=b[E]|0):E===x||E===w?(A<t&&(E=B),A=b[E]|
0):A=b[A]|0,n[q]=A,q+=1,d+=e,A=C[d&F],E=y[d&F],E===B||E===r?(A>=t&&(E=x),A=b[E]|0):E===x||E===w?(A<t&&(E=B),A=b[E]|0):A=b[A]|0,n[q]=A,q+=1,d+=e,A=C[d&F],E=y[d&F],E===B||E===r?(A>=t&&(E=x),A=b[E]|0):E===x||E===w?(A<t&&(E=B),A=b[E]|0):A=b[A]|0,n[q]=A,q+=1,d+=e,A=C[d&F],E=y[d&F],E===B||E===r?(A>=t&&(E=x),A=b[E]|0):E===x||E===w?(A<t&&(E=B),A=b[E]|0):A=b[A]|0,n[q]=A,q+=1,d+=e,A=C[d&F],E=y[d&F],E===B||E===r?(A>=t&&(E=x),A=b[E]|0):E===x||E===w?(A<t&&(E=B),A=b[E]|0):A=b[A]|0,n[q]=A,q+=1,d+=e,A=C[d&F],E=y[d&
F],E===B||E===r?(A>=t&&(E=x),A=b[E]|0):E===x||E===w?(A<t&&(E=B),A=b[E]|0):A=b[A]|0,n[q]=A,q+=1,d+=e,A=C[d&F],E=y[d&F],E===B||E===r?(A>=t&&(E=x),A=b[E]|0):E===x||E===w?(A<t&&(E=B),A=b[E]|0):A=b[A]|0,n[q]=A,q+=1,d+=e,A=C[d&F],E=y[d&F],E===B||E===r?(A>=t&&(E=x),A=b[E]|0):E===x||E===w?(A<t&&(E=B),A=b[E]|0):A=b[A]|0,n[q]=A,q+=1,d+=e;k=l+=e}this.yb&&this.be()&&this.Bb();for(c=1;c<u;c+=1)for(x=-1!==this.u?this.u/this.o*c|0:(this.v+1)/this.o*c|0,v+=z,this.Mb(v),e/=this.b,S*=this.b,.125>S?(D=this.Ka,a=15):
.25>S?(D=this.ha,a=7):.5>S?(D=this.fa,a=3):1>S?(D=this.l,a=1):(D=this.la,a=0),F=this.Ja&~a,a=this.Oa&~a,l=-(this.m/2*e)+this.ob,m=-(this.s/2*e)+this.nb,q=0,k=l,f=0;f<this.m;f+=1){C=D[k&a];d=m;this.J&&(d+=.5*(k|0));for(k=0;k<g;k+=1)A=C[d&F]|0,A>=x&&(n[q]=b[A]),q+=1,d+=e,A=C[d&F]|0,A>=x&&(n[q]=b[A]),q+=1,d+=e,A=C[d&F]|0,A>=x&&(n[q]=b[A]),q+=1,d+=e,A=C[d&F]|0,A>=x&&(n[q]=b[A]),q+=1,d+=e,A=C[d&F]|0,A>=x&&(n[q]=b[A]),q+=1,d+=e,A=C[d&F]|0,A>=x&&(n[q]=b[A]),q+=1,d+=e,A=C[d&F]|0,A>=x&&(n[q]=b[A]),q+=1,d+=
e,A=C[d&F]|0,A>=x&&(n[q]=b[A]),q+=1,d+=e;k=l+=e}};k.prototype.gh=function(c,e,a){var g=this.s>>3,b=this.Ud,n=this.Ub,f,k,d,l,m,x;x=ViewConstants.Aa[3]+128;var B=ViewConstants.Aa[4]+128,w=ViewConstants.Aa[5]+128,r=ViewConstants.Aa[6]+128,q,u=1,v=1,z=0,A,E,t,F=this.S,D=this.Ja&~a,C=this.Oa&~a,y=~a;a=~a;var S=e,G,I,O=this.K;1<this.b&&(u=this.o);e=1/this.K;l=-(this.m/2*e)+this.ob;m=-(this.s/2*e)+this.nb;1<this.o&&1<this.b&&(z=.4/(this.o-1),v=.6);this.Mb(v);t=8192>this.width?b[0]|0:this.yg|0;q=0;k=l;for(f=
0;f<this.m;f+=1){if((k&a)===(k&C))for(G=S[k&C],I=c[k&C],d=m,this.J&&(d+=.5*(k|0)),k=0;k<g;k+=1)(d&y)===(d&D)?(A=G[d&D],E=I[d&D],E===B||E===r?(A>=F&&(E=x),A=b[E]|0):E===x||E===w?(A<F&&(E=B),A=b[E]|0):A=b[A]|0):A=t,n[q]=A,q+=1,d+=e,(d&y)===(d&D)?(A=G[d&D],E=I[d&D],E===B||E===r?(A>=F&&(E=x),A=b[E]|0):E===x||E===w?(A<F&&(E=B),A=b[E]|0):A=b[A]|0):A=t,n[q]=A,q+=1,d+=e,(d&y)===(d&D)?(A=G[d&D],E=I[d&D],E===B||E===r?(A>=F&&(E=x),A=b[E]|0):E===x||E===w?(A<F&&(E=B),A=b[E]|0):A=b[A]|0):A=t,n[q]=A,q+=1,d+=e,(d&
y)===(d&D)?(A=G[d&D],E=I[d&D],E===B||E===r?(A>=F&&(E=x),A=b[E]|0):E===x||E===w?(A<F&&(E=B),A=b[E]|0):A=b[A]|0):A=t,n[q]=A,q+=1,d+=e,(d&y)===(d&D)?(A=G[d&D],E=I[d&D],E===B||E===r?(A>=F&&(E=x),A=b[E]|0):E===x||E===w?(A<F&&(E=B),A=b[E]|0):A=b[A]|0):A=t,n[q]=A,q+=1,d+=e,(d&y)===(d&D)?(A=G[d&D],E=I[d&D],E===B||E===r?(A>=F&&(E=x),A=b[E]|0):E===x||E===w?(A<F&&(E=B),A=b[E]|0):A=b[A]|0):A=t,n[q]=A,q+=1,d+=e,(d&y)===(d&D)?(A=G[d&D],E=I[d&D],E===B||E===r?(A>=F&&(E=x),A=b[E]|0):E===x||E===w?(A<F&&(E=B),A=b[E]|
0):A=b[A]|0):A=t,n[q]=A,q+=1,d+=e,(d&y)===(d&D)?(A=G[d&D],E=I[d&D],E===B||E===r?(A>=F&&(E=x),A=b[E]|0):E===x||E===w?(A<F&&(E=B),A=b[E]|0):A=b[A]|0):A=t,n[q]=A,q+=1,d+=e;else for(k=0;k<g;k+=1)n[q]=t,q+=1,n[q]=t,q+=1,n[q]=t,q+=1,n[q]=t,q+=1,n[q]=t,q+=1,n[q]=t,q+=1,n[q]=t,q+=1,n[q]=t,q+=1;k=l+=e}this.yb&&this.be()&&this.Bb();for(c=1;c<u;c+=1)for(x=-1!==this.u?this.u/this.o*c|0:(this.v+1)/this.o*c|0,v+=z,this.Mb(v),e/=this.b,O*=this.b,.125>O?(S=this.Ka,a=15):.25>O?(S=this.ha,a=7):.5>O?(S=this.fa,a=3):
1>O?(S=this.l,a=1):(S=this.la,a=0),D=this.Ja&~a,C=this.Oa&~a,y=~a,a=~a,l=-(this.m/2*e)+this.ob,m=-(this.s/2*e)+this.nb,q=0,k=l,f=0;f<this.m;f+=1){if((k&a)===(k&C))for(G=S[k&C],d=m,this.J&&(d+=.5*(k|0)),k=0;k<g;k+=1)(d&y)===(d&D)&&(A=G[d&D]|0,A>=x&&(n[q]=b[A])),q+=1,d+=e,(d&y)===(d&D)&&(A=G[d&D]|0,A>=x&&(n[q]=b[A])),q+=1,d+=e,(d&y)===(d&D)&&(A=G[d&D]|0,A>=x&&(n[q]=b[A])),q+=1,d+=e,(d&y)===(d&D)&&(A=G[d&D]|0,A>=x&&(n[q]=b[A])),q+=1,d+=e,(d&y)===(d&D)&&(A=G[d&D]|0,A>=x&&(n[q]=b[A])),q+=1,d+=e,(d&y)===
(d&D)&&(A=G[d&D]|0,A>=x&&(n[q]=b[A])),q+=1,d+=e,(d&y)===(d&D)&&(A=G[d&D]|0,A>=x&&(n[q]=b[A])),q+=1,d+=e,(d&y)===(d&D)&&(A=G[d&D]|0,A>=x&&(n[q]=b[A])),q+=1,d+=e;else q+=g<<3;k=l+=e}};k.prototype.vc=function(c,e,a){var g=Math.sin(this.mb/180*Math.PI)/this.K,b=Math.cos(this.mb/180*Math.PI)/this.K,n=this.s,f=this.m,k=-(this.s/2*-g+this.m/2*b)+this.ob,d=-(this.s/2*b+this.m/2*g)+this.nb,l=k+n*-g,m=d+n*b,x=k+f*b,f=d+f*g,g=x+n*-g,b=f+n*b,n=k,B=d;m<B&&(B=m);f<B&&(B=f);b<B&&(B=f);m>d&&(d=m);f>d&&(d=f);b>d&&
(d=b);l<n&&(n=l);x<n&&(n=x);g<n&&(n=g);l>k&&(k=l);x>k&&(k=x);g>k&&(k=g);0>(B|0)||(d|0)>=this.width||0>(n|0)||(k|0)>=this.height?0===this.mb?this.gh(c,e,a):this.$g(c,e,a):0===this.mb?this.nh(c,e,a):this.kh(c,e,a)};k.prototype.Ml=function(){var c,e,a,g;if(!this.Cb.data.buffer)for(a=this.Cb.data,g=this.Nd,e=g.length,c=0;c<e;)a[c]=g[c],c+=1,a[c]=g[c],c+=1,a[c]=g[c],c+=1,a[c]=g[c],c+=1;this.vd.putImageData(this.Cb,0,0)};k.prototype.mf=function(){var c,e=0,a=this.m,g=this.s,b=this.Ub,n=this.Vc;for(c=0;c<
a;c+=1)b.set(n,e),e+=g};window.LifeConstants=q;window.Life=k})();(function(){function z(u){this.l=u.replace(/&amp;/gi,"&");this.b=this.l.match(/\S+/g);this.current=0}z.prototype.ma=function(){var u="";this.b&&this.current<this.b.length&&(u=this.b[this.current],this.current+=1);return u};z.prototype.te=function(){var u="";this.b&&this.current<this.b.length&&(u=this.b[this.current]);return u};z.prototype.Rl=function(u){var g=!1;if(this.b)for(;this.current<this.b.length&&!g;)this.b[this.current]===u&&(g=!0),this.current+=1;return g};z.prototype.c=function(u){return!isNaN(parseFloat(u))&&
isFinite(u)};z.prototype.g=function(u){var g=!1,k=u.indexOf("/");-1!==k&&(g=u.substr(0,k),u=u.substr(k+1),g=this.c(g)&&this.c(u));return g};z.prototype.ql=function(u){var g=0,k,q;this.g(u)?(k=u.indexOf("/"),q=u.substr(0,k),u=u.substr(k+1),0!==u&&(g=q/u)):this.c(u)&&(g=parseFloat(u));return g};z.prototype.Z=function(){var u=this.ma();return this.ql(u)};z.prototype.Y=function(){var u=!1,g;this.b&&this.current<this.b.length&&(g=this.b[this.current],this.g(g)?u=!0:u=this.c(g));return u};window.Script=
z})();(function(){function z(g){this.c=g;this.dm=!1;this.G=this.y=this.x=0;this.depth=this.o=this.zoom=1;this.Ra=0;this.Na=60;this.step=1;this.Za=this.wa=0;this.Sb="";this.hi=this.Ae=this.ye=this.Xk=this.Xm=this.Wm=this.Sh=this.Kg=this.cf=this.oh=this.Ch=this.uc=this.ih=this.ze=this.gf=this.Qc=this.Pc=this.Oc=this.Wb=!1}function u(){this.ja=[];this.Ic=[];this.current=new z(this);this.v=new z(this);this.c=new z(this);this.g=!1;this.bf=0}z.prototype.set=function(g){this.x=g.x;this.y=g.y;this.Oc=g.Oc;this.Pc=
g.Pc;this.Qc=g.Qc;this.Wb=g.Wb;this.G=g.G;this.zoom=g.zoom;this.o=g.o;this.depth=g.depth;this.Ra=g.Ra;this.Na=g.Na;this.wa=g.wa;this.Za=g.Za;this.Sb=g.Sb};z.prototype.b=function(g,k,q){var c=g.Za+0,e=k.Za+0,a=g.G+0,h=k.G+0,b=1,n=1,f=1,p=1,d=1;e!==c&&(b=(q-c)/(e-c)+0,n=this.c.sl(b)+0);k.Oc||k.Wb?f=b:f=n;k.Pc||k.Wb?p=b:p=n;k.Qc||k.Wb?d=b:d=n;this.x=g.x+f*(k.x-g.x);this.y=g.y+p*(k.y-g.y);this.zoom=g.zoom*Math.pow(k.zoom/g.zoom,d);180<h-a?a+=360:-180>h-a&&(h+=360);this.G=(a+n*(h-a))%360;this.o=g.o+b*
(k.o-g.o)|0;this.depth=g.depth+b*(k.depth-g.depth);this.Ra=k.Ra;this.Na=k.Na;this.step=k.step;this.wa=g.wa+b*(k.wa-g.wa)|0;this.Za=q;this.Sb=k.Sb;this.Wb=k.Wb};u.prototype.ri=function(){return new z(this)};u.prototype.sl=function(g){return-2*Math.pow(g,3)+3*Math.pow(g,2)+0*g+0};u.prototype.reset=function(){this.ja=[];this.Ic=[];this.g=!1;this.bf=0};u.prototype.Do=function(){return this.ja[this.ja.length-1]};u.prototype.Pl=function(g){var k=this.l(g),q=this.ja[k];g>q.wa?g=q.Za+1E3*(g-q.wa)/(q.Na*q.step):
0<k?(k=this.ja[k-1],g=k.Za+1E3*(g-k.wa)/(q.Na*q.step)):g=1E3*g/(q.Na*q.step);return g};u.prototype.El=function(g,k,q,c,e,a,h,b,n,f,p){var d=this.v;d.x=g;d.y=k;d.zoom=q;d.G=c;d.Na=b;d.step=n;d.o=e;d.depth=a;d.Ra=h;d.wa=f;this.g&&(p=this.c.Za);d.Za=p-1E3;this.update(p,f);this.c.set(this.current);this.c.Wb=!1;this.c.Za=p;this.g=!0;return d.Za};u.prototype.uo=function(){return this.ja[0]};u.prototype.add=function(g){g.dm?this.Ic[this.Ic.length]=g:this.ja[this.ja.length]=g};u.prototype.Aj=function(g){var k=
!1;this.bf>=this.ja.length-1&&g>=this.ja[this.bf].Za&&(k=!0);return k};u.prototype.b=function(g){return g===(g|0)?String(g|0):String(g.toFixed(1))};u.prototype.Wo=function(g,k){var q="",c;0<=g&&g<this.Ic.length&&(c=this.Ic[g],q="X "+c.x+" Y "+c.y+" Z "+this.b(c.zoom),""!==c.Sb&&(q+=" "+k+c.Sb+k));return q};u.prototype.$p=function(g,k){var q="",c,e;0<=g&&g<this.ja.length&&(c=this.ja[g],0<g?(e=this.ja[g-1],q=c.wa===e.wa?"P "+this.b((c.Za-e.Za|0)/1E3):"T "+c.wa,c.Wb?q+=" F":(c.x!==e.x&&(q+=" X "+-c.x),
c.y!==e.y&&(q+=" Y "+-c.y),c.zoom!==e.zoom&&(q+=" Z "+this.b(c.zoom))),c.G!==e.G&&(q+=" A "+c.G),c.o!==e.o&&(q+=" L "+c.o),c.depth!==e.depth&&(q+=" D "+this.b(c.depth)),c.Ra!==e.Ra&&(q+=" C "+c.Ra),c.Na!==e.Na&&(q+=" G "+c.Na),c.step!==e.step&&(q+=" S "+c.step),""!==c.Sb&&(q+=" "+k+c.Sb+k)):q="T "+c.wa+" X "+-c.x+" Y "+-c.y+" Z "+this.b(c.zoom)+" A "+c.G+" L "+c.o+" D "+this.b(c.depth)+" C "+c.Ra+" G "+c.Na+" S "+c.step);return q};u.prototype.update=function(g,k){var q=this.ja.length,c=!1,e=this.bf,
a,h=!1;if(this.g)this.current.b(this.v,this.c,g),g>=this.c.Za&&(this.g=!1);else{for(;e<q&&!c;)a=this.ja[e],a.Za>=g?c=!0:e+=1;c?0<e?(this.ja[e].Wb&&(this.ja[e].x=this.current.x,this.ja[e].y=this.current.y,this.ja[e].zoom=this.current.zoom),this.current.b(this.ja[e-1],this.ja[e],g)):(e=0,this.current.set(this.ja[e])):(e=q-1,this.current.set(this.ja[e]),k>=this.current.wa&&(h=!0));this.bf=e}return h};u.prototype.l=function(g){for(var k=0,q=!1,c=this.ja,e=this.ja.length;k<e&&!q;)c[k].wa>=g?q=!0:k+=1;
q||(k=e-1);return k};u.prototype.to=function(g){this.bf=this.l(g)};u.prototype.Yo=function(g){var k,q,c,e=this.ja,a=this.ja.length;for(k=1;k<a;k+=1)q=e[k-1],c=e[k],c.gf||(c.x=q.x),c.ze||(c.y=q.y),c.ye||(c.Oc=q.Oc),c.Ae||(c.Pc=q.Pc),c.hi||(c.Qc=q.Qc),c.ih||(c.G=q.G),c.uc||(c.zoom=q.zoom),c.Ch||(c.o=q.o),c.oh||(c.depth=q.depth),c.cf||(c.Ra=q.Ra),c.Kg||(c.Na=q.Na),c.Sh||(c.step=q.step),c.Wm?c.wa<=q.wa&&(g[g.length]=[Keywords.pj+" "+c.wa,"target generation must be later than previous ("+q.wa+")"]):c.wa=
q.wa,c.Za=c.Xm?1E3*c.Za+q.Za:q.Za+1E3*(c.wa-q.wa)/(c.Na*c.step)};window.Waypoint=z;window.WaypointManager=u})();(function(){function z(u,g){var k=this;this.jl=u;this.h=g;this.top=this.left=0;""!==u.style.left&&(this.left=parseInt(u.style.left,10));""!==u.style.top&&(this.top=parseInt(u.style.top,10));this.rb=this.Af=!1;this.yh=this.xh=this.Bh=this.Ah=this.ne=this.me=-1;registerEvent(u,"mousedown",function(g){k.c(k,g)},!1);registerEvent(document,"mousemove",function(g){k.g(k,g)},!1);registerEvent(document,"mouseup",function(g){k.l(k,g)},!1);registerEvent(u,"touchstart",function(g){k.b(k,g)},!1);registerEvent(u,
"touchmove",function(g){k.b(k,g)},!1);registerEvent(u,"touchend",function(g){k.b(k,g)},!1);registerEvent(window,"resize",function(){k.Lm(k)},!1)}z.prototype.Lm=function(u){u.Sm(u.left,u.top,u.jl)};z.prototype.Qp=function(u,g){this.Sm(this.left+u,this.top+g,this.jl)};z.prototype.Sm=function(u,g,k){var q=window.innerWidth-k.clientWidth,c=window.innerHeight-k.clientHeight;window.innerHeight<document.getElementsByTagName("body")[0].clientHeight&&(q-=21);0>u&&(u=0);0>g&&(g=0);u>q&&(u=q);g>c&&(g=c);k.style.left=
u+"px";k.style.top=g+"px";k.style.position="fixed";this.left=u;this.top=g};z.prototype.Qn=function(){var u=this.jl,g=u.offsetParent;this.offsetLeft=u.offsetLeft;for(this.offsetTop=u.offsetTop;g;)this.offsetLeft+=g.offsetLeft,this.offsetTop+=g.offsetTop,g=g.offsetParent;g=u.parentNode;if("fixed"===g.style.position)this.offsetLeft+=document.body.scrollLeft+document.documentElement.scrollLeft,this.offsetTop+=document.body.scrollTop+document.documentElement.scrollTop;else for(;"body"!==g.tagName.toLowerCase();)this.offsetLeft-=
g.scrollLeft,this.offsetTop-=g.scrollTop,g=g.parentNode};z.prototype.b=function(u,g){var k,q,c="";if("touchend"===g.type)c="mouseup",q=document.createEvent("MouseEvent"),q.initMouseEvent(c,!0,!0,window,1,u.Ah,u.Bh,u.xh,u.yh,!1,!1,!1,!1,0,null),g.target.dispatchEvent(q),g.preventDefault();else{if(1===g.touches.length)switch(g.type){case "touchstart":c="mousedown";break;case "touchmove":c="mousemove"}""!==c&&(k=g.changedTouches[0],q=document.createEvent("MouseEvent"),q.initMouseEvent(c,!0,!0,window,
1,k.screenX,k.screenY,k.clientX,k.clientY,!1,!1,!1,!1,0,null),k.target.dispatchEvent(q),g.preventDefault(),u.Ah=k.screenX,u.Bh=k.screenY,u.xh=k.clientX,u.yh=k.clientY)}};z.prototype.c=function(u,g){u.dg(u,g);u.rb=!0;u.h.Qf=!0;g.stopPropagation&&g.stopPropagation();g.preventDefault()};z.prototype.l=function(u,g){u.Af&&u.rb&&(u.dg(u,g),u.rb=!1,u.h.Qf=!1,g.stopPropagation&&g.stopPropagation(),g.preventDefault())};z.prototype.g=function(u,g){if(u.Af&&u.rb){var k=u.me,q=u.ne;u.dg(u,g);u.rb&&u.Qp(u.me-
k,u.ne-q);u.me=k;u.ne=q;g.stopPropagation&&g.stopPropagation();g.preventDefault()}};z.prototype.dg=function(u,g){var k,q;g.pageX||g.pageY?(k=g.pageX,q=g.pageY):(k=g.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,q=g.clientY+document.body.scrollTop+document.documentElement.scrollTop);u.Qn();k-=u.offsetLeft;q-=u.offsetTop;u.me=k-1|0;u.ne=q-1|0};window.PopupWindow=z})();(function(){function z(){this.key=new Uint8Array(256);this.gk=this.ek=0}z.prototype.$c=function(u){var g,k,q,c=this.key;for(g=0;256>g;g+=1)c[g]=g;for(g=k=0;256>g;g+=1)k=k+c[g]+u.charCodeAt(g%u.length)&255,q=c[g],c[g]=c[k],c[k]=q;this.gk=this.ek=0};z.prototype.random=function(){var u,g,k=0,q=1,c=this.key,e=this.ek,a=this.gk;for(u=0;8>u;u+=1)e=e+1&255,a=a+c[e]&255,g=c[e],c[e]=c[a],c[a]=g,k+=c[c[e]+c[a]&255]*q,q*=256;this.ek=e;this.gk=a;return k/1.8446744073709552E19};window.Random=z;window.myRand=new z})();(function(){function z(){this.x=[];this.y=[];this.c=[];this.l=0;this.blue=this.green=this.red=255;this.b=new Random;this.b.$c(Date.now().toString());this.sin=new Float32Array(2880);this.cos=new Float32Array(2880);this.g=Math.PI/180;this.v=180/Math.PI;for(var u=0;2880>u;)this.sin[u]=Math.sin(u/8*this.g),this.cos[u]=Math.cos(u/8*this.g),u+=1}z.prototype.$c=function(u,g,k,q){var c,e,a,h,b=g*g+k*k;this.l=u;for(c=0;c<u;c+=1){h=c/u*(c/u)*(c/u)*(c/u)*q+1;do e=3*(this.b.random()*g-g/2),a=3*(this.b.random()*
k-k/2);while(e*e+a*a>b);this.x[c]=e;this.y[c]=a;this.c[c]=h}};z.prototype.Sn=function(u,g,k,q,c,e,a,h){var b,n,f,p,d,l,m,x,B;littleEndian?(m=h>>16&255,l=h>>8&255,d=h&255):(d=h>>24&255,l=h>>16&255,m=h>>8&255);for(b=0;b<this.l;b+=1)n=this.x[b]+u,f=this.y[b]+g,0!==q&&(p=Math.sqrt(n*n+f*f),f=Math.atan2(f,n)*this.v,f+=q,0>f?f+=360:360<=f&&(f-=360),f*=8,f|=0,n=p*this.cos[f],f=p*this.sin[f]),p=this.c[b]/k*2,n=c/2+n/p|0,f=e/2+f/p|0,0<n&&n<c-1&&0<f&&f<e-1&&(n+=f*c,p=1536/p|0,255<p&&(p=255),p/=255,a[n]===h&&
(f=d+(this.red-d)*p,x=l+(this.green-l)*p,B=m+(this.blue-m)*p,f=littleEndian?-16777216|B<<16|x<<8|f:f<<24|B<<16|x<<8|255,a[n]=f),p/=2,f=d+(this.red-d)*p,x=l+(this.green-l)*p,B=m+(this.blue-m)*p,f=littleEndian?-16777216|B<<16|x<<8|f:f<<24|B<<16|x<<8|255,--n,a[n]===h&&(a[n]=f),n+=2,a[n]===h&&(a[n]=f),--n,n-=c,a[n]===h&&(a[n]=f),n+=c+c,a[n]===h&&(a[n]=f))};window.Stars=z})();(function(){function z(m){this.tg=Date.now().toString();this.ug=!1;this.Po=m;this.ca=!1;this.Cb=this.ab=this.bb=this.Bb=this.mg=this.jg=this.lg=this.kg=0;this.Ta=this.xd=this.Sa=this.vd=!1;this.rh=!0;this.Ii=!1;this.Hi=0;this.Ie=!1;this.Ce=this.Be=0;this.Te=!1;this.eb="";this.Nb=-1;this.og=0;this.Wp=new Uint16Array(1024);this.Wc=this.dc=!1;this.V=this.S=0;this.qc=this.ph=this.Cf=this.Ig=this.He=this.Wf=this.Yg=this.Yf=this.Xf=this.de=-1;this.zg=!1;this.Cl=0;this.ki=this.Va=!1;this.qf=0;this.Gn=.01;
this.Ke=!1;this.ba=null;this.bc=[80,80,80];this.qj=null;this.Ca="";this.Vg=this.Ia=this.Bd=!1;this.Ab=new Stars;this.Ab.$c(1E4,8192,8192,1024);this.yd=!1;this.v=1;this.Td=this.ue=0;this.Wa=this.hk=!1;this.W=new WaypointManager;this.Vi="";this.mk=-1;this.jc=this.$a=!1;this.F=1;this.Tj=this.$g=this.df=0;this.fc=d.Jo;this.Oj=0;this.De=this.Yc=-1;this.ff=this.ef="";this.jf=this.gc=this.Fa=this.ha=0;this.hf=null;this.Ka=this.kb=this.Dd="";this.vf=!1;this.c=[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1];this.Se=this.se=
-1;this.pe="";this.ec=[];this.ig=!1;this.L=[];this.Od=[];this.Zb=[];this.ga=1;this.B=0;this.Rg=100;this.Pa=10;this.Ri=this.Om=1;this.g=64;this.ia=this.Hd=-1;this.Gi=this.Oi=this.Ee=this.nd=this.Gb=this.ub=this.jb=this.oa=!1;this.kh=this.dh=this.gh=-1;this.a=null;this.X=!0;this.Ld=this.elapsedTime=0;this.s=640;this.m=512;this.jd=this.Nk=this.qe=this.pb=!1;this.T=this.fd=this.xf=this.Ue=this.rf=this.ke=this.Sf=this.kf=this.Lb=this.Bf=this.nf=this.Ff=this.mf=this.Ef=this.Gf=this.ae=this.Hf=this.Qd=this.Pd=
this.Ba=this.Nd=this.yc=this.vc=this.zc=this.xc=this.qg=this.sg=this.rg=this.pg=this.eh=this.wc=this.Ve=this.Rc=this.af=this.Ac=this.Xe=this.Xc=this.hc=this.qb=this.Ha=this.ya=this.ua=this.Ib=this.ed=this.Qa=this.aa=null;this.Og=this.Ng=-1;this.wheelDelta=0;this.Qb=this.Pf=this.zd=this.l=this.wb=null;this.fb=60;this.w=this.h=null;this.Hg=this.Eb=this.Eg=this.zh=0;this.yf=this.Kl=1;this.Kj=60;this.Gg=this.zi=1;this.Jj=.1;this.Tf=this.zb=this.Fk=0;this.Tg=1;this.$f=this.ea=this.bh=this.ah=this.ng=!1;
this.tb=d.Jl;this.Pi=this.Ti=this.nh=this.Qi=0;this.gj=this.Zf=!1}function u(m,a,b,c,e){var f,g=a.parentNode,h=null,n=null;for(f=0;f<l.Jb.length&&!n;)l.Jb[f][0].tabIndex===a.tabIndex?n=l.Jb[f][1]:f+=1;n||(n=new z(e),n.yd=c,p.Dh&&(n.fc=b&-8,n.fc<d.Rd&&(n.fc=d.Rd)),a.tabIndex=l.Jb.length+1,n.To(a),"none"===g.style.display&&(h=new PopupWindow(g,n.h)),l.Jb[l.Jb.length]=[a,n,h]);c||n.Rk(m,!1)}function g(m){m=m.parentNode;for(var a=!1;!a;)"div"!==m.localName||m.className!==p.Bi&&"codebox"!==m.className||
(a=!0),a||(m=m.parentNode);return m}function k(){var m=l.Qk(),a=m[1],b=m[2];m[0].parentNode.style.display="none";b.Af=!1;a.pb&&(a.T.current=a.Nc(d.Ea,!0,a))}function q(m){k();m.stopPropagation&&m.stopPropagation();m.preventDefault();return!1}function c(m){return m.innerHTML.replace(/&lt;/gi,"<").replace(/&gt;/gi,">").replace(/<br *\/>/gi,"\n").replace(/<br>/gi,"\n").replace(/&nbsp;/gi," ").replace(/<span class="posthilit">/gi,"").replace(/<\/span>/gi,"").trim()}function e(m){var a=g(m);m=c(a.getElementsByTagName(p.Rf)[0]);
a=a.getElementsByTagName("form")[0];a.getElementsByTagName("input")[0].value=m;a.submit()}function a(m){var a=g(m),b=c(a.getElementsByTagName(p.Rf)[0]),e=l.Qk(),f,h,n,k,z,A;e?e[1].gl(e[1]):(e=document.createElement("canvas"),e.width=d.Rd,e.height=d.Gh+80,e.style.display="block",h=document.createElement("a"),h.setAttribute("href","#"),h.innerHTML="&nbsp;X&nbsp;",h.style.textDecoration="none",h.style.fontFamily="Lucida Grande,Verdana,Helvetica,Arial,sans-serif",h.style.color="#FFFFFF",h.style.backgroundColor=
"#C75050",h.style.cssFloat="right",h.style.height="28px",h.style.fontSize="18px",A=document.createElement("a"),A.innerHTML="&nbsp;X&nbsp;",A.style.textDecoration="none",A.style.fontFamily="Lucida Grande,Verdana,Helvetica,Arial,sans-serif",A.style.visibility="hidden",A.style.cssFloat="left",A.style.height="28px",A.style.fontSize="18px",z=document.createElement("div"),z.style.textAlign="center",z.style.color="rgb(83,100,130)",z.style.fontFamily="Arial, Verdana, Helvetica, sans-serif",z.style.fontSize=
"18px",z.style.height="28px",k=document.createTextNode("LifeViewer"),z.style.cursor="default",z.appendChild(k),registerEvent(h,"click",q,!1),f=document.createElement("div"),f.style.display="none",f.style.position="fixed",f.style.border="1px solid rgb(128,128,128)",f.style.left="2048px",f.style.top="0px",f.style.width=d.Rd+"px",f.style.textAlign="right",f.style.boxShadow="0px 0px 3px 3px rgba(0,0,0,.3), 12px 12px 8px rgba(0,0,0,.5)",f.style.margin="1px",n=document.createElement("div"),n.className=
"codebox",n.style.backgroundColor="#FFFFFF",n.style.height="28px",n.style.lineHeight="28px",n.appendChild(A),n.appendChild(h),n.appendChild(z),f.appendChild(n),f.appendChild(e),a.appendChild(f),u(b,e,d.Rd,!0,m),l.Pk=l.Jb.length-1,e=l.Qk(),e[1].qj=k);a=e[0].parentNode;""!==a.style.display&&(a.style.display="");e[1].s=d.Rd;e[1].m=d.Gh+80;e[1].resize();e[1].h.notification.clear(!0,!0);e[1].h.notification.clear(!1,!0);e[1].Rk(b,!0);m=e[2];m.Af=!0;m.Lm(m);e[1].zd.canvas.focus();e[1].h.hasFocus=!0;return!1}
function h(m){e(this);m.stopPropagation&&m.stopPropagation();m.preventDefault();return!1}function b(m){a(this);m.stopPropagation&&m.stopPropagation();m.preventDefault();return!1}function n(){var m=document.getElementsByTagName("div"),a,B,d,e,f;a=document.getElementsByTagName("meta");for(B=0;B<a.length;B+=1)if(e=a[B],e.name===p.tagName&&(p.ck=!1,p.Dh=!1,e=e.content,d=e.match(/\S+/g),2<=d.length&&5>=d.length))for(p.Bi=d[0],p.Rf=d[1],e=2;e<d.length;e+=1)switch(d[e]){case "hide":p.ck=!0;break;case "limit":p.Dh=
!0;break;default:f=d[e],!isNaN(parseFloat(f))&&isFinite(f)&&(p.ej=parseFloat(f)|0)}for(a=0;a<m.length;a+=1)if(e=m[a],e.className===p.Bi)B=e.getElementsByTagName(p.Rf)[0],e=e.getElementsByTagName("canvas")[0],(d=B.getElementsByTagName(p.Rf)[0])&&(B=d),typedArrays&&e&&e.getContext?B&&(d=c(B),-1<p.ej&&B.clientHeight>p.ej&&(B.style.height=p.ej+"px"),u(d,e,B.offsetWidth,!1,B)):p.ck&&e&&(e.style.display="none");else if(typedArrays&&e.className===p.mo&&e.parentNode.className!==p.Bi&&(B=e.getElementsByTagName(p.Rf)[0])){d=
c(B);B=null;f=!1;var g=null;try{g=PatternManager.create("",d),g.Fb&&(f=!0)}catch(l){}if(d=f)B=e.getElementsByTagName("a")[0],d=document.createElement("a"),d.setAttribute("href","#"),d.innerHTML="Show in Viewer",registerEvent(d,"click",b,!1),f=document.createTextNode(" / "),B.parentNode.appendChild(f),B.parentNode.appendChild(d);d=!1}}var f={ib:'"',Oh:"[[",Hk:"]]",Yj:"HARDRESET",ci:"TRACK",cg:"TRACKBOX",bi:"TRACKLOOP",rk:"NOREPORT",md:"ALL",Gc:"LINEAR",od:"BEZIER",bk:"HEXDISPLAY",Ok:"SQUAREDISPLAY",
cm:"INTEGERZOOM",Ak:"RANDOMSEED",Df:"FILL",le:"MAP",Ih:"MAPODD",Lj:"DELETERANGE",Lk:"SHOWTIMING",Sj:"EXTENDEDTIMING",Jk:"SHOWGENSTATS",Kk:"SHOWINFOBAR",wk:"POI",Zg:"TITLE",Rh:"STARS",Uh:"CUSTOM",uj:"XOFFSET",vj:"YOFFSET",Zm:"BACKGROUND",Yk:"ALIVE",Ym:"ALIVERAMP",Zk:"DEAD",$m:"DEADRAMP",tl:"BOUNDARY",li:"AUTOFIT",dk:"HISTORYFIT",nj:"STEP",qk:"NOSTEPBACK",pj:"T",uk:"PAUSE",uh:"GRID",th:"GRIDMAJOR",Wk:"TEXT",ym:"OFF",Am:"ON",Yl:"HISTORY",im:"MARK1",mm:"MARKOFF",km:"MARK2",em:"KILL",cb:"COLOR",Ej:"COLOUR",
Tk:"STRICT",gi:"VIEWONLY",al:"THUMBNAIL",$k:"THUMBSIZE",bn:"THUMBLAUNCH",Vh:"THEME",mi:"AUTOSTART",Fh:"LOOP",Th:"STOP",ji:"ANGLE",Wi:"LAYERS",Ai:"DEPTH",Ji:"GPS",Kb:"ZOOM",yj:"Z",sc:"X",tc:"Y",il:"WIDTH",$j:"HEIGHT",rc:"#"},p={tagName:"LifeViewer",Bi:"rle",Rf:"code",ej:37,ck:!0,Dh:!0,mo:"codebox"},d={wp:"Script errors",Pe:-2,Oe:2,xm:2,sm:4,Jl:4,hn:45,wm:0,pm:1,ni:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bl:86,am:null,vm:1,om:16,Il:3,Cg:0,Bg:1,si:2,wf:3,ui:4,vi:5,wi:6,xi:8,
yi:9,ti:10,zm:0,Bm:1,$l:2,jm:3,nm:4,lm:5,fm:6,Aa:[0,6,2,5,3,4,1],Hp:"Off On History Mark1 MarkOff Mark2 Kill".split(" "),Gp:"OFF ON HISTORY MARK1 MARKOFF MARK2 KILL".split(" "),tk:12,Vo:0,Uo:160,Em:10,vk:100,Dm:20,Sl:19,hq:!1,Rj:1800,ro:"LifeViewer",Gk:"LifeViewer Image",kn:"LifeViewer Plugin",el:214,jn:"Chris Rowett",$i:1,Yi:10,pk:0,No:1,Ea:2,Pg:3,wj:1.25,Zi:0,qm:10,zf:10,sa:.0625,hb:32,Mo:-16,Go:-1,dd:1,Ne:60,Lf:1,kc:50,Da:null,fontSize:18,Ei:"18px Courier",eg:"18px Arial",Xd:"18px Arial",pc:"14px Arial",
mj:"9px Arial",vh:"rgb(32,255,255)",ak:"#000000",qh:"rgb(255,96,96)",Ki:"rgb(128,128,128)",Rd:480,Jo:1024,aj:240,tm:800,Gh:480,so:64,Sk:0,Um:1,Vm:2,Lo:0,Eo:16},l={Jb:[],Pk:-1,Qk:function(){var m=null;-1!==this.Pk&&(m=this.Jb[this.Pk]);return m},Zp:function(){var m,a=0,b;for(b=0;b<this.Jb.length;b+=1)m=this.Jb[b][1],m.pb&&(a+=1);return a},hp:function(){var m,a,b=0;for(a=0;a<this.Jb.length;a+=1)m=this.Jb[a][1],m.T.current=m.Nc(d.pk,!0,m),m.h.Ze(!0),b+=1;return b},Ip:function(){var m,a,b=0;for(a=0;a<
this.Jb.length;a+=1)m=this.Jb[a][1],m.pb&&(m.T.current=m.Nc(d.Ea,!0,m),b+=1);return b},Jp:function(m){var a,b,c=0;for(b=0;b<this.Jb.length;b+=1)a=this.Jb[b][1],a!==m&&a.pb&&(a.T.current=a.Nc(d.Ea,!0,a),c+=1);return c}};z.prototype.vp=function(m){m.gj||(m.gj=!0)};z.prototype.Ln=function(m){var a=m.Pf.toDataURL("image/png"),b=window.open("",d.Gk);b?(b.width=m.s+20,b.height=m.m+20,b.document.open(),b.document.write('<!DOCTYPE html>\n<html>\n\t<head>\n\t\t<meta charset="UTF-8">\n\t\t<title>'+d.Gk+'</title>\n\t</head>\n\t<body>\n\t\t<img width="'+
m.s+'" height="'+m.m+'" src="'+a+'" alt="'+d.Gk+'"/>\n\t</body>\n</html>\n'),b.document.close(),m.h.notification.H("Image Captured",300,!0)):m.h.notification.H("Could not open Image window!",d.Rj,!0);m.gj=!1};z.prototype.up=function(m,a,b){var c,e,f=this.a.Xa,g=this.a.la,l=this.a.Yb,h=m.width,n=m.height,k=(h-1>>4)+1,p=a>>4,q=this.a.Ja,u=this.a.Ja>>4,z=this.a.Oa,y=a&15,S,G,I,O,Y=this.Gb;for(e=0;e<n;e+=1){S=m.Fb[e];G=f[e+b&z];if(Y||-1!==this.a.u)for(I=m.oe[e],O=g[e+b&z],c=0;c<h;c+=1)O[c+a&q]=I[c];if(y)for(c=
0;c<k;c+=1)G[c+p&u]|=S[c]>>y,G[c+1+p&u]|=S[c]<<16-y;else for(c=0;c<k;c+=1)G[c+p&u]|=S[c]}if(l)for(e=0;e<n;e+=1)for(I=m.oe[e],f=l[e+b&z],c=0;c<h;c+=1)(g=I[c])&&(f[c+a&q]=d.Aa[g]+128)};z.prototype.$d=function(m,a,b){var c=m[0],e=0;a?(b.jc=!0,b.a.zoom=d.sa*Math.pow(d.hb/d.sa,m[0])/b.a.Rb):(c=Math.log(b.a.zoom*b.a.Rb/d.sa)/Math.log(d.hb/d.sa),0>c?c=0:1<c&&(c=1));this.Sa&&!this.Ta?e=b.a.zoom*b.a.Rb:e=b.a.zoom;e<d.sa?e=d.sa:e>d.hb&&(e=d.hb);1>e&&(e=-1/e);return[c,e]};z.prototype.Fn=function(m){var a=m/
6E4|0;m=m%6E4/1E3;var b="";0<a&&(b=a+":",10>m&&(b+="0"));return b+=m.toFixed(2)};z.prototype.fe=function(m,a){var b,c=this.a.zoom,e=this.a.D,f=this.a.A;this.ea?(b=this.a.fe(this.s*this.tb,this.m*this.tb,d.sa,d.hb,d.wj,this.ha,this.Fa,this.ub&&this.pn,this.Ke,this.Sa,this.Bb,this.ab,this.bb,this.Cb,this.elapsedTime,this.fb),b[0]/=this.tb):b=this.a.fe(this.s,this.m-80,d.sa,d.hb,d.wj,this.ha,this.Fa,this.ub&&this.pn,this.Ke,this.Sa,this.Bb,this.ab,this.bb,this.Cb,this.elapsedTime,this.fb);this.Va&&!m?
(this.a.zoom=(5*this.a.zoom+b[0])/6,this.a.D=(5*this.a.D+b[1])/6,this.a.A=(5*this.a.A+b[2])/6,c=this.a.zoom>c?this.a.zoom/c-1:c/this.a.zoom-1,e=this.a.D>e?this.a.D-e:e-this.a.D,f=this.a.A>f?this.a.A-f:f-this.a.A,this.qf=c,e>this.qf&&(this.qf=e),f>this.qf&&(this.qf=f),.01>=this.qf&&(this.a.zoom=b[0],this.a.D=b[1],this.a.A=b[2])):(this.Xf=this.a.width/2-this.a.D,this.Yf=this.a.height/2-this.a.A,this.Yg=this.a.zoom,this.Wf=this.a.G,this.He=this.a.width/2-b[1],this.Ig=this.a.height/2-b[2],this.Cf=b[0],
this.ph=this.Wf,a?this.qc=0:(this.qc=d.tk,this.fn()));this.ya&&(this.ya.current=this.$d([this.a.zoom,this.a.zoom],!1,this));this.ua&&(this.ua.current=this.fi([this.a.G,this.a.G],!1,this))};z.prototype.Ql=function(){var m=this.ha,a=this.Fa,b=(this.a.width-m>>1)+this.S,d=(this.a.height-a>>1)+this.V,c=this.a.Xa,e,f=this.a.la,g;g=256*this.Nb|0;var l,h,n,k=this.Wp;e=k.length;this.ug&&myRand.$c(this.tg);this.og+=1;if(-2==this.Nb){h=0;for(k[h]+=1;0===k[h]&&h<e;)h+=1,k[h]+=1;n=0;for(l=d;l<d+a;l+=1)for(e=
c[l],g=f[l],h=b;h<b+m;h+=1)k[n>>4]&1<<(n&15)?(e[h>>4]|=1<<(~h&15),g[h]=64):(e[h>>4]&=~(1<<(~h&15)),g[h]=0),n+=1;for(l=0;l<this.a.M.length;l+=1)for(h=0;h<this.a.M[l].length;h+=1)this.a.M[l][h]=-1,this.a.ra[l][h]=-1,this.a.va[l][h]=-1}else for(l=d;l<d+a;l+=1){e=c[l];k=0;for(h=b;h<b+m;)f=16777216*myRand.random()|0,(f&255)>=g&&(k|=1<<(~h&15)),15===(h&15)&&(e[h>>4]=k,k=0),h+=1,h<b+m&&(f>>=8,(f&255)>=g&&(k|=1<<(~h&15)),15===(h&15)&&(e[h>>4]=k,k=0),h+=1,h<b+m&&(f>>=8,(f&255)>=g&&(k|=1<<(~h&15)),15===(h&
15)&&(e[h>>4]=k,k=0),h+=1));0!==(h&15)&&(e[h>>4]=k)}};z.prototype.cp=function(m){var a=m.width,b=m.height;-1!==this.a.Db&&(a=this.a.qa,b=this.a.Ma);a=(this.a.width-a>>1)+this.S;b=(this.a.height-b>>1)+this.V;!this.ub&&this.a.ad||!PatternManager.Jg||(this.ub=this.Gb=!0);this.up(m,a,b)};z.prototype.Ph=function(m){var a=m+String();1E9<=m?a="1B+":1E8<=m?a=(m/1E6|0)+"M":1E7<=m?a=(m/1E6).toFixed(1)+"M":1E6<=m?a=(m/1E6).toFixed(2)+"M":1E5<=m&&(a=(m/1E3|0)+"K");return a};z.prototype.sn=function(m,a,b){var c=
b,e=!1,f=this.v;m&&("#000000"===m.fillStyle&&(e=!0),0<=f&&f<=0+this.Pa&&(m.font=d.Ei,e||(m.fillStyle=1<(this.B|0)?d.vh:d.Ki),m.fillText("Up",a,b),e||(m.fillStyle=d.vh),m.fillText(" / ",a+m.measureText("Up").width,b),e||(m.fillStyle=(this.B|0)<this.Rg-this.Pa?d.vh:d.Ki),m.fillText("Down",a+m.measureText("Up / ").width,b),e||(m.fillStyle=d.vh),m.font=d.eg,m.fillText("scroll help",a+this.g,b),c+=19));this.v+=1;return c};z.prototype.da=function(m,a,b,c,e,f,g){var l,h=this.v;c&&(l=13,h>=g&&h<=g+this.Pa&&
(g=c.fillStyle,g!==d.ak&&(c.fillStyle="rgb("+m+","+a+","+b+")"),c.fillRect(e,f-(l>>1)-1,l,l),c.fillStyle=g))};z.prototype.b=function(m,a,b,c,e,f){var g=e,l=this.v;b&&l>=f&&l<=f+this.Pa&&(m.length?(b.font=d.Ei,b.fillText(m,c,e),b.font=d.eg,b.fillText(a,c+this.g,e)):(b.font=d.eg,b.fillText(a,c,e)),g+=19);this.v+=1;return g};z.prototype.Tb=function(m,a,b){for(var c="",e,f,g=0;g<b;){f=5;for(e=0;0<=f;)g<b&&(e|=m[a+g]<<f),g+=1,--f;c+=d.ni[e]}return c};z.prototype.vb=function(m,a,b){for(var d=ColourManager.ec,
c=Object.keys(d),e="    "+m+" "+a+" "+b,f=!1,g,l=0;l<c.length&&!f;)g=d[c[l]],g[1]===m&&g[2]===a&&g[3]===b?(e+=" "+g[0],f=!0,l=c.length):l+=1;return e};z.prototype.lf=function(m){return this.vb(m.red,m.green,m.blue)};z.prototype.Ro=function(){var m=0,a=0;this.a.j?this.X&&(m=this.a.C.P-this.a.C.O+1,a=this.a.C.R-this.a.C.N+1):(m=this.ha,a=this.Fa);-1!==this.a.Db&&(0!==this.a.qa&&(m=this.a.qa),0!==this.a.Ma&&(a=this.a.Ma));return m+" x "+a};z.prototype.bp=function(){var m="AutoFit";this.Ke&&(m+=" History");
return m};z.prototype.Ck=function(m,a,b,c){var e=b,g="Player",h,n,k,q;h=this.a.$b[this.a.sd];k=this.ec;this.v=1;this.g=108;b=this.b("",d.kn+" build "+d.el+" by "+d.jn,m,a,b,c);b=this.b("","",m,a,b,c);b=this.b("","",m,a,b,c);this.g=124;b=this.b("","Keyboard commands",m,a,b,c);b=this.b("","",m,a,b,c);b=this.b("","Playback controls:",m,a,b,c);this.Gb?b=this.b("R","reset",m,a,b,c):(b=this.b("Enter","toggle play / pause",m,a,b,c),b=this.b("Space","pause / next generation",m,a,b,c),b=this.b("B","pause / previous generation",
m,a,b,c),b=this.b("Tab","pause / next step",m,a,b,c),b=this.b("Shift Tab","pause / previous step",m,a,b,c),b=this.yd?this.b("Esc","close LifeViewer",m,a,b,c):this.b("Esc","pause if playing",m,a,b,c),b=this.b("R","reset to generation 0",m,a,b,c),b=this.b("Shift R","reset all LifeViewers to generation 0",m,a,b,c),b=this.b("-","decrease generation speed",m,a,b,c),b=this.b("+","increase generation speed",m,a,b,c),b=this.b("Shift -","minimum generation speed",m,a,b,c),b=this.b("Shift +","maximum generation speed",
m,a,b,c),b=this.b("D","decrease step size",m,a,b,c),b=this.b("E","increase step size",m,a,b,c),b=this.b("Shift D","minimum step size",m,a,b,c),b=this.b("Shift E","maximum step size",m,a,b,c),b=this.b("0","reset step and speed",m,a,b,c),this.$a?(b=-1!==this.ia?this.b("W","toggle waypoint playback and loop",m,a,b,c):this.b("W","toggle waypoint playback",m,a,b,c),b=this.b("Y","move back in time",m,a,b,c),b=this.b("U","move forward in time",m,a,b,c)):-1!==this.ia&&(b=this.b("W","toggle loop",m,a,b,c)));
b=this.b("Z","stop playback in all other LifeViewers",m,a,b,c);b=this.b("Shift Z","stop playback in all LifeViewers",m,a,b,c);b=this.b("","",m,a,b,c);b=this.b("","Camera controls:",m,a,b,c);if(this.m>=d.Gh||(this.ea&&this.nh)>=d.Gh)b=this.b("M","toggle navigation menu",m,a,b,c);b=this.b("V","restore saved camera position",m,a,b,c);b=this.b("Shift V","save current camera position",m,a,b,c);this.W.Ic.length&&(b=this.b("J","jump to next point of interest",m,a,b,c),b=this.b("Shift J","jump to previous point of interest",
m,a,b,c));b=this.b("F","fit pattern to display",m,a,b,c);b=this.b("Shift F","toggle autofit",m,a,b,c);b=this.b("Shift H","toggle autofit history mode",m,a,b,c);b=this.b("[","zoom out",m,a,b,c);b=this.b("]","zoom in",m,a,b,c);b=this.b("Shift [","halve zoom",m,a,b,c);b=this.b("Shift ]","double zoom",m,a,b,c);b=this.b("1","1x zoom",m,a,b,c);b=this.b("2","2x zoom",m,a,b,c);b=this.b("4","4x zoom",m,a,b,c);b=this.b("8","8x zoom",m,a,b,c);b=this.b("6","16x zoom",m,a,b,c);b=this.b("3","32x zoom",m,a,b,c);
b=this.b("Shift 1","integer zoom",m,a,b,c);b=this.b("Shift 2","-2x zoom",m,a,b,c);b=this.b("Shift 4","-4x zoom",m,a,b,c);b=this.b("Shift 8","-8x zoom",m,a,b,c);b=this.b("Shift 6","-16x zoom",m,a,b,c);b=this.b("Left","pan left",m,a,b,c);b=this.b("Right","pan right",m,a,b,c);b=this.b("Up","pan up",m,a,b,c);b=this.b("Down","pan down",m,a,b,c);b=this.b("Shift Left","pan north west",m,a,b,c);b=this.b("Shift Right","pan south east",m,a,b,c);b=this.b("Shift Up","pan north east",m,a,b,c);b=this.b("Shift Down",
"pan south west",m,a,b,c);b=this.b("<","rotate left",m,a,b,c);b=this.b(">","rotate right",m,a,b,c);b=this.b("Shift <","rotate left 90 degrees",m,a,b,c);b=this.b("Shift >","rotate right 90 degrees",m,a,b,c);b=this.b("5","reset angle",m,a,b,c);b=this.b("","",m,a,b,c);this.Gb||(b=this.b("","View controls:",m,a,b,c),b=this.b("Q","increase number of layers",m,a,b,c),b=this.b("A","decrease number of layers",m,a,b,c),b=this.b("P","increase layer depth",m,a,b,c),b=this.b("L","decrease layer depth",m,a,b,
c),b=this.b("C","cycle colour theme",m,a,b,c),b=this.b("Shift C","default theme",m,a,b,c),b=this.b("","",m,a,b,c));b=this.b("","Display controls:",m,a,b,c);this.Gb||(b=this.b("G","toggle generation statistics",m,a,b,c),b=this.b("Shift G","toggle generation display mode",m,a,b,c));b=this.b("/","toggle hex view",m,a,b,c);b=this.b("Shift /","pattern default view",m,a,b,c);b=this.b("T","toggle timing information",m,a,b,c);b=this.b("Shift T","toggle extended timing information",m,a,b,c);b=this.b("I","toggle pattern and engine information",
m,a,b,c);b=this.b("Shift I","toggle information bar",m,a,b,c);b=this.b("X","toggle grid lines",m,a,b,c);0<this.a.Ec&&(b=this.b("Shift X","toggle major grid lines",m,a,b,c));this.$f&&(b=this.b("N","toggle thumbnail view",m,a,b,c));b=this.b("S","toggle stars",m,a,b,c);b=this.b("O","open screenshot in separate window",m,a,b,c);b=this.b("","",m,a,b,c);b=this.b("","Help controls:",m,a,b,c);b=this.b("Up","scroll up one line",m,a,b,c);b=this.b("Down","scroll down one line",m,a,b,c);b=this.b("Page Up","scroll up one page",
m,a,b,c);b=this.b("Page Down","scroll down one page",m,a,b,c);b=this.b("Home","go to first help page",m,a,b,c);b=this.b("End","go to last help page",m,a,b,c);b=this.b("","",m,a,b,c);this.g=252;b=this.b("","",m,a,b,c);this.Om=this.v;b=this.b("","Scripts",m,a,b,c);b=this.b("","",m,a,b,c);b=this.b("","Scripts must be embedded in pattern comments",m,a,b,c);b=this.b("","Commands must be surrounded by whitespace",m,a,b,c);b=this.b("","",m,a,b,c);b=this.b("","Commands:",m,a,b,c);b=this.b(f.Oh,"start script section",
m,a,b,c);b=this.b(f.Hk,"end script section",m,a,b,c);b=this.b(f.Tk,"enable strict validation",m,a,b,c);b=this.b(f.mi,"start play automatically",m,a,b,c);b=this.b(f.Yj,"always use hard reset",m,a,b,c);b=this.b(f.Fh+" <1..>","loop at generation",m,a,b,c);b=this.b(f.Th+" <1..>","stop at generation",m,a,b,c);b=this.b(f.pj+" <0..>","waypoint at generation",m,a,b,c);b=this.b(f.uk+" <0.0..>","pause for time",m,a,b,c);b=this.b(f.Gc+" "+f.md+"|"+f.sc+"|"+f.tc+"|"+f.Kb,"linear motion",m,a,b,c);b=this.b(f.od+
" "+f.md+"|"+f.sc+"|"+f.tc+"|"+f.Kb,"bezier motion (default)",m,a,b,c);b=this.b(f.li,"fit pattern to display",m,a,b,c);b=this.b(f.dk,"autofit uses pattern history",m,a,b,c);b=this.b(f.ci+" X Y","camera tracking",m,a,b,c);b=this.b(" X ","horizontal speed cells/gen",m,a,b,c);b=this.b(" Y ","vertical speed cells/gen",m,a,b,c);b=this.b(f.cg+" E S W N","camera box tracking",m,a,b,c);b=this.b(" E ","east edge speed cells/gen",m,a,b,c);b=this.b(" S ","south edge speed cells/gen",m,a,b,c);b=this.b(" W ",
"west edge speed cells/gen",m,a,b,c);b=this.b(" N ","north edge speed cells/gen",m,a,b,c);b=this.b(f.bi+" P X Y","camera tracking with loop",m,a,b,c);b=this.b(" P ","period",m,a,b,c);b=this.b(" X ","horizontal speed cells/gen",m,a,b,c);b=this.b(" Y ","vertical speed cells/gen",m,a,b,c);b=this.b(f.wk,"define point of interest",m,a,b,c);b=this.b(f.ib+"<string>"+f.ib,"define message",m,a,b,c);b=this.b(f.gi,"disable playback",m,a,b,c);b=this.b(f.Zg+" "+f.ib+"<string>"+f.ib,"set window title",m,a,b,c);
b=this.b(" "+f.rc+"B","program build number",m,a,b,c);b=this.b(" "+f.rc+"N","pattern name",m,a,b,c);b=this.b(" "+f.rc+"O","pattern originator",m,a,b,c);b=this.b(" "+f.rc+"R","rule name",m,a,b,c);b=this.b(" "+f.rc+"A","rule alias",m,a,b,c);b=this.b(" "+f.rc+"T","program title",m,a,b,c);b=this.b(" "+f.rc+f.rc,f.rc+" symbol",m,a,b,c);b=this.b(f.qk,"disable step back",m,a,b,c);b=this.b(f.rk,"disable stop messages",m,a,b,c);b=this.b(f.al,"start at 1/"+this.tb+" size",m,a,b,c);b=this.b(f.$k+" <"+d.xm+".."+
d.sm+">","set thumbnail divisor",m,a,b,c);b=this.b(f.bn,"thumbnail launches viewer",m,a,b,c);b=this.b(f.uh,"display grid lines",m,a,b,c);b=this.b(f.th+" <0..16>","set major grid line interval",m,a,b,c);b=this.b(f.Rh,"display stars",m,a,b,c);b=this.b(f.bk,"force hex display",m,a,b,c);b=this.b(f.Ok,"force square display",m,a,b,c);b=this.b(f.Vh+" <0.."+(this.a.nc-1)+">|"+f.Uh,"set theme",m,a,b,c);b=this.b(f.cb+" "+f.Zm+" R G B","set theme background",m,a,b,c);b=this.b(f.cb+" "+f.Yk+" R G B","set theme alive color",
m,a,b,c);b=this.b(f.cb+" "+f.Ym+" R G B","set theme alive ramp",m,a,b,c);b=this.b(f.cb+" "+f.Zk+" R G B","set theme dead color",m,a,b,c);b=this.b(f.cb+" "+f.$m+" R G B","set theme dead ramp",m,a,b,c);b=this.b(f.cb+" "+f.tl+" R G B","set boundary color",m,a,b,c);b=this.b(f.cb+" <0..> R G B","set state color",m,a,b,c);b=this.b(f.cb+" "+f.ym+" R G B","set [R]History state color "+d.zm,m,a,b,c);b=this.b(f.cb+" "+f.Am+" R G B","set [R]History state color "+d.Bm,m,a,b,c);b=this.b(f.cb+" "+f.Yl+" R G B",
"set [R]History state color "+d.$l,m,a,b,c);b=this.b(f.cb+" "+f.im+" R G B","set [R]History state color "+d.jm,m,a,b,c);b=this.b(f.cb+" "+f.mm+" R G B","set [R]History state color "+d.nm,m,a,b,c);b=this.b(f.cb+" "+f.km+" R G B","set [R]History state color "+d.lm,m,a,b,c);b=this.b(f.cb+" "+f.em+" R G B","set [R]History state color "+d.fm,m,a,b,c);b=this.b(f.cb+" "+f.uh+" R G B","set grid color",m,a,b,c);b=this.b(f.cb+" "+f.th+" R G B","set grid major color",m,a,b,c);b=this.b(f.cb+" "+f.Rh+" R G B",
"set star color",m,a,b,c);b=this.b(f.cb+" "+f.Wk+" R G B","set waypoint message color",m,a,b,c);b=this.b(f.Ej,"same as "+f.cb,m,a,b,c);b=this.b(f.Ji+" <"+d.dd+".."+d.Ne+">","set steps per second",m,a,b,c);b=this.b(f.nj+" <"+d.Lf+".."+d.kc+">","set generations per step",m,a,b,c);b=this.b(f.ji+" <0..359>","set camera angle",m,a,b,c);b=this.b(f.sc+" <-"+(this.a.gb>>1)+".."+(this.a.gb>>1)+">","set camera x position",m,a,b,c);b=this.b(f.tc+" <-"+(this.a.gb>>1)+".."+(this.a.gb>>1)+">","set camera y position",
m,a,b,c);b=this.b(f.Kb+" <"+d.sa.toFixed(1)+".."+d.hb.toFixed(1)+">","set camera zoom",m,a,b,c);b=this.b(f.yj,"same as "+f.Kb,m,a,b,c);b=this.b(f.Wi+" <"+d.$i+".."+d.Yi+">","set number of layers",m,a,b,c);b=this.b(f.Ai+" <"+d.Zi.toFixed(1)+".."+d.qm.toFixed(1)+">","set layer depth",m,a,b,c);b=this.b(f.uj+" <-"+(this.a.gb>>1)+".."+(this.a.gb>>1)+">","set pattern x offset",m,a,b,c);b=this.b(f.vj+" <-"+(this.a.gb>>1)+".."+(this.a.gb>>1)+">","set pattern y offset",m,a,b,c);b=this.b(f.il+" <"+d.Rd+".."+
this.fc+">","set LifeViewer width",m,a,b,c);b=this.b(f.$j+" <"+d.aj+".."+d.tm+">","set LifeViewer height",m,a,b,c);b=this.b(f.Lk,"show timing information",m,a,b,c);b=this.b(f.Sj,"extended timing information",m,a,b,c);b=this.b(f.Jk,"show generation statistics",m,a,b,c);b=this.b(f.Kk,"show information bar",m,a,b,c);b=this.b(f.Lj+" <"+d.vm+".."+d.om+">","set boundary delete range",m,a,b,c);b=this.b(f.Df+" <0.0..1.0>|"+f.md,"fill pattern using threshold",m,a,b,c);b=this.b(f.le+" <map>|<0.0..1.0>","transition all generations",
m,a,b,c);b=this.b(f.Ih+" <map>|<0.0..1.0>","transition odd generations",m,a,b,c);b=this.b(" <map>","512 bits base64 encoded",m,a,b,c);b=this.b(f.Ak+" <string>","set random seed",m,a,b,c);b=this.b("","",m,a,b,c);this.g=128;b=this.b("","",m,a,b,c);this.Ri=this.v;b=this.b("","Information",m,a,b,c);b=this.b("","",m,a,b,c);b=this.b("","Display:",m,a,b,c);b=this.b("Size",this.s+" x "+this.m,m,a,b,c);p.Dh&&(b=this.b("Limit Width",this.fc,m,a,b,c));q=this.a.K;1>q&&(q=-1/q);b=this.b("View","X "+-(this.a.width/
2-(this.a.D+this.a.Hc)|0)+"  Y "+-(this.a.height/2-(this.a.A+this.a.oc)|0)+"  Z "+q.toFixed(2)+"  ANGLE "+this.a.G.toFixed(0),m,a,b,c);q=this.Tg;1>q&&(q=1/q);b=this.b("Saved View","X "+-(this.a.width/2-this.zb|0)+"  Y "+-(this.a.height/2-this.Tf|0)+"  Z "+q.toFixed(2)+"  ANGLE "+this.Fk.toFixed(0),m,a,b,c);b=this.b("Origin","X "+this.a.Hc.toFixed(2)+"  Y "+this.a.oc.toFixed(2)+"  Z "+this.a.Rb.toFixed(3),m,a,b,c);this.ub?g=this.Gb?"Multi-State Viewer":"Viewer":this.a.ad&&(g="History Player");b=this.b("Type",
g,m,a,b,c);g=this.a.J?"Hex":"Square";b=this.b("Mode",g,m,a,b,c);this.$f&&(b=this.b("Thumbnail","1/"+this.tb,m,a,b,c));b=this.b("","",m,a,b,c);b=this.b("","Pattern:",m,a,b,c);""!==this.ef&&(b=this.b("Name",this.ef,m,a,b,c));""!==this.ff&&(b=this.b("Originator",this.ff,m,a,b,c));b=this.b("Size",this.ha+" x "+this.Fa,m,a,b,c);b=this.b("Offset","X "+this.S+"  Y "+this.V,m,a,b,c);this.Ie&&(b=this.b("CXRLE Gen",this.Hi,m,a,b,c));this.Te&&(b=this.b("CXRLE Pos","X "+this.Be+"  Y "+this.Ce,m,a,b,c));-1!==
this.Nb&&(b=-2===this.Nb?this.b("Fill",f.md,m,a,b,c):this.b("Fill",(100*this.Nb|0)+"%",m,a,b,c),b=this.b("Fill Count",this.og+" / "+Math.pow(2,this.ha*this.Fa),m,a,b,c));this.Ia?g=this.dc?f.le:this.kb:(g=this.kb,""===g&&(g="(none)"));b=this.b("Rule",g,m,a,b,c);""!==this.Ka&&(b=this.b("Alias",this.Ka,m,a,b,c));g=-1!==this.a.hg?"1D":this.a.dj?"Hex":this.a.bd?"Von Neumann":"Moore";b=this.b("N'hood",g,m,a,b,c);this.Ia&&this.dc&&(b=this.b("Map",this.Tb(this.a.Jf,0,144),m,a,b,c),b=this.b(" ",this.Tb(this.a.Jf,
144,144),m,a,b,c),b=this.b(" ",this.Tb(this.a.Jf,288,144),m,a,b,c),b=this.b(" ",this.Tb(this.a.Jf,432,80),m,a,b,c),b=this.b("Density",this.a.Mj+"/512 ("+(100*this.a.Mj/512|0)+"%)",m,a,b,c),this.Wc&&(b=this.b("MapOdd",this.Tb(this.a.Kf,0,144),m,a,b,c),b=this.b(" ",this.Tb(this.a.Kf,144,144),m,a,b,c),b=this.b(" ",this.Tb(this.a.Kf,288,144),m,a,b,c),b=this.b(" ",this.Tb(this.a.Kf,432,80),m,a,b,c),b=this.b("Density",this.a.Nj+"/512 ("+(100*this.a.Nj/512|0)+"%)",m,a,b,c)));g=this.gc;2<this.gc&&this.jf!==
this.gc&&(g=this.jf+" of "+g);b=this.b("States",g,m,a,b,c);if(this.hf)for(g=1;g<this.gc;g+=1)this.hf[g]&&(b=this.b("State "+g,this.hf[g],m,a,b,c));b=this.b("Decoder",this.Dd,m,a,b,c);b=this.b("","",m,a,b,c);b=this.b("","Grid:",m,a,b,c);b=this.b("Size",this.a.width+" x "+this.a.height,m,a,b,c);b=this.b("Maximum",this.a.gb+" x "+this.a.gb,m,a,b,c);b=this.b("Area",this.Ro(),m,a,b,c);b=0!==(this.a.j&1)?this.b("Tiles",this.a.Wh(this.a.na)+" / "+this.a.Wh(this.a.va),m,a,b,c):this.b("Tiles",this.a.Wh(this.a.M)+
" / "+this.a.Wh(this.a.va),m,a,b,c);this.a.Gd&&(b=this.b("State6",this.a.Wh(this.a.Gd),m,a,b,c));b=this.b("Tile Size",(this.a.Xh<<3)+" x "+this.a.Yh,m,a,b,c);b=this.b("DeleteRange",this.a.fj,m,a,b,c);b=this.b("","",m,a,b,c);-1!==this.a.Db&&(b=this.b("","Bounded grid:",m,a,b,c),b=this.b("Type",PatternManager.In(this.a.Db),m,a,b,c),b=0===this.a.qa?this.b("Width","Infinite",m,a,b,c):this.b("Width",this.a.qa,m,a,b,c),4!==this.a.Db&&(b=0===this.a.Ma?this.b("Height","Infinite",m,a,b,c):this.b("Height",
this.a.Ma,m,a,b,c),2===this.a.Db&&(b=this.a.Bj?this.b("Twist","Horizontal",m,a,b,c):this.b("Twist","Vertical",m,a,b,c)),0!==this.a.lh&&(b=this.b("H'Shift",this.a.lh,m,a,b,c)),0!==this.a.mh&&(b=this.b("V'Shift",this.a.mh,m,a,b,c))),b=this.b("","",m,a,b,c));b=this.b("","AutoFit:",m,a,b,c);b=this.b("Enabled",this.Va?"On":"Off",m,a,b,c);b=this.b("Mode",this.bp(),m,a,b,c);b=this.b("","",m,a,b,c);b=this.b("","Track:",m,a,b,c);b=this.b("Enabled",this.Sa&&!this.Ta?"On":"Off",m,a,b,c);this.Sa&&(this.vd?(b=
this.b("Mode","Track Box",m,a,b,c),b=this.b("Definition","E "+this.ab.toFixed(3)+"  S "+this.bb.toFixed(3)+"  W "+this.Cb.toFixed(3)+"  N "+this.Bb.toFixed(3),m,a,b,c)):(b=this.b("Mode","Track",m,a,b,c),b=this.b("Definition","X "+this.ab.toFixed(3)+"  Y "+this.bb.toFixed(3),m,a,b,c)));b=this.b("Current","E "+this.jg.toFixed(3)+"  S "+this.lg.toFixed(3)+"  W "+this.mg.toFixed(3)+"  N "+this.kg.toFixed(3),m,a,b,c);b=this.b("","",m,a,b,c);b=this.b("","Step back:",m,a,b,c);b=this.b("Enabled",this.Bd?
"Off":"On",m,a,b,c);this.Bd||(b=this.b("Snapshots",this.a.Lc.Vp()+"/"+this.a.Lc.Uc.length,m,a,b,c),b=this.b("Buffer",(this.a.Lc.bufferSize()>>10)+"K",m,a,b,c),b=this.b("Next",this.a.Nf,m,a,b,c));b=this.b("","",m,a,b,c);b=this.b("","Engine:",m,a,b,c);b=this.b("Name",d.kn,m,a,b,c);b=this.b("Build",d.el,m,a,b,c);b=this.b("Author",d.jn,m,a,b,c);b=this.b("Decoders","Cells, Life 1.05, Life 1.06, RLE",m,a,b,c);b=this.b("N'hoods","1D, Moore, Hex, Von Neumann",m,a,b,c);b=this.b("Rules","Wolfram, Totalistic, Hensel, Generations",
m,a,b,c);b=this.b("BoundedGrid","Plane, Torus, Klein, Cross-surface, Sphere",m,a,b,c);b=this.b("States","2 state, [R]History, Niemiec, Generations",m,a,b,c);b=this.b("Viewers",l.Jb.length,m,a,b,c);b=this.b("Playing",l.Zp(),m,a,b,c);b=this.b("","",m,a,b,c);if(this.Gb)for(b=this.b("","Set:",m,a,b,c),b=this.b("Name",this.pe,m,a,b,c),b=this.b("Used",this.jf,m,a,b,c),g=0;g<k.length;g+=1)this.Od[g]!==d.Sk&&(h=this.vb(k[g]>>16&255,k[g]>>8&255,k[g]&255),n=String(g),this.Od[g]!==d.Um||this.ig||(n+="*"),this.da(k[g]>>
16,k[g]>>8&255,k[g]&255,m,a+this.g,b,c),b=this.b(n,h,m,a,b,c));else{b=this.b("","Theme:",m,a,b,c);k=this.a.sd===this.a.nc?"(custom)":String(this.a.sd);b=this.b("Name",k,m,a,b,c);this.da(this.a.Kc[0],this.a.Dc[0],this.a.Bc[0],m,a+this.g,b,c);b=this.b("Background",this.vb(this.a.Kc[0],this.a.Dc[0],this.a.Bc[0]),m,a,b,c);if(-1!==this.a.u)for(g=1;g<this.a.u;g+=1)this.da(this.a.Kc[g],this.a.Dc[g],this.a.Bc[g],m,a+this.g,b,c),b=this.b("State "+g,this.vb(this.a.Kc[g],this.a.Dc[g],this.a.Bc[g]),m,a,b,c);
else this.da(h.La.I.red,h.La.I.green,h.La.I.blue,m,a+this.g,b,c),b=this.b("Alive",this.lf(h.La.I),m,a,b,c),h.La.I.red!==h.La.$.red||h.La.I.green!==h.La.$.green||h.La.I.blue!==h.La.$.blue?(this.da(h.La.$.red,h.La.$.green,h.La.$.blue,m,a+this.g,b,c),b=this.b("AliveRamp",this.lf(h.La.$),m,a,b,c)):b=this.b("AliveRamp","    (none)",m,a,b,c),this.da(h.Ga.I.red,h.Ga.I.green,h.Ga.I.blue,m,a+this.g,b,c),b=this.b("Dead",this.lf(h.Ga.I),m,a,b,c),h.Ga.I.red!==h.Ga.$.red||h.Ga.I.green!==h.Ga.$.green||h.Ga.I.blue!==
h.Ga.$.blue?(this.da(h.Ga.$.red,h.Ga.$.green,h.Ga.$.blue,m,a+this.g,b,c),b=this.b("DeadRamp",this.lf(h.Ga.$),m,a,b,c)):b=this.b("DeadRamp","    (none)",m,a,b,c);if(this.a.ad)for(g=3;6>=g;g+=1)q=128+d.Aa[g],h=this.vb(this.a.Kc[q],this.a.Dc[q],this.a.Bc[q]),n=d.Hp[g],this.da(this.a.Kc[q],this.a.Dc[q],this.a.Bc[q],m,a+this.g,b,c),b=this.b(n,h,m,a,b,c)}this.da(this.bc[0],this.bc[1],this.bc[2],m,a+this.g,b,c);b=this.b("Boundary",this.vb(this.bc[0],this.bc[1],this.bc[2]),m,a,b,c);this.ba&&(this.da(this.ba[0],
this.ba[1],this.ba[2],m,a+this.g,b,c),b=this.b("Text",this.vb(this.ba[0],this.ba[1],this.ba[2]),m,a,b,c));b=this.b("","",m,a,b,c);b=this.b("","Grid Lines:",m,a,b,c);k=this.a.yb?"On":"Off";this.a.yb&&!this.a.be()&&(k+=" (Hidden)");b=this.b("Enabled",k,m,a,b,c);k="Line Color";-1!==this.se&&(k+="*");this.da(this.a.Fc>>16,this.a.Fc>>8&255,this.a.Fc&255,m,a+this.g,b,c);b=this.b(k,this.vb(this.a.Fc>>16,this.a.Fc>>8&255,this.a.Fc&255),m,a,b,c);k="Major Color";-1!==this.Se&&(k+="*");this.da(this.a.wd>>16,
this.a.wd>>8&255,this.a.wd&255,m,a+this.g,b,c);b=this.b(k,this.vb(this.a.wd>>16,this.a.wd>>8&255,this.a.wd&255),m,a,b,c);k=0<this.a.Ec&&this.a.Je?String(this.a.Ec):"Off";b=this.b("Interval",k,m,a,b,c);b=this.b("","",m,a,b,c);b=this.b("","Random Seed:",m,a,b,c);b=this.b("Custom",this.ug?"On":"Off",m,a,b,c);b=this.b("Seed",this.tg,m,a,b,c);b=this.b("","",m,a,b,c);b=this.b("","Stars:",m,a,b,c);b=this.b("Enabled",this.Vg?"On":"Off",m,a,b,c);this.da(this.Ab.red,this.Ab.green,this.Ab.blue,m,a+this.g,b,
c);b=this.b("Color",this.lf(this.Ab),m,a,b,c);b=this.b("","",m,a,b,c);b=this.b("","Script:",m,a,b,c);b=this.b("Commands",this.df,m,a,b,c);b=this.b("Errors",this.$g,m,a,b,c);if(this.$a)for(b=this.b("","",m,a,b,c),b=this.b("","Waypoints:",m,a,b,c),b=this.b("Enabled",this.jb?"Off":"On",m,a,b,c),b=this.b("Number",this.W.ja.length,m,a,b,c),g=0;g<this.W.ja.length;g+=1)k=String(g),g===this.W.bf&&(k=this.W.Aj(this.elapsedTime)?k+">":k+"*"),b=this.b(k,this.W.$p(g,f.ib),m,a,b,c);if(this.W.Ic.length)for(b=this.b("",
"",m,a,b,c),b=this.b("","Points of interest:",m,a,b,c),b=this.b("Number",this.W.Ic.length,m,a,b,c),g=0;g<this.W.Ic.length;g+=1)k=String(g),b=this.b(k,this.W.Wo(g,f.ib),m,a,b,c);-1!==this.ia&&(b=this.b("","",m,a,b,c),b=this.b("","Loop:",m,a,b,c),b=this.b("Enabled",this.oa?"Off":"On",m,a,b,c),b=this.b("Generation",this.ia,m,a,b,c));b=this.b("","",m,a,b,c);b=this.b("","",m,a,b,c);b=this.b("","Aliases",m,a,b,c);this.g=260;for(g=0;g<AliasManager.f.length;g+=1)""===AliasManager.f[g][1]?(b=this.b("","",
m,a,b,c),b=this.b("",AliasManager.f[g][0]+" Aliases:",m,a,b,c)):""!==AliasManager.f[g][0]&&(b=this.b(AliasManager.f[g][0],AliasManager.f[g][1],m,a,b,c));this.Rg=this.v-1;this.v=1;this.g=120;b=e+19*(this.Pa+2);b=this.sn(m,a,b);this.yd?this.b("H","close help",m,a,b,0):this.b("H / Esc","close help",m,a,b,0)};z.prototype.Nl=function(b){var a=b.Qb;b.Pa=(b.m/19|0)-6;a.fillStyle="black";a.globalAlpha=.5;a.fillRect(0,0,a.canvas.width,a.canvas.height);a.globalAlpha=1;a.fillStyle=d.ak;b.Ck(a,6,14,b.B|0);a.fillStyle=
d.vh;b.Ck(a,4,12,b.B|0)};z.prototype.rn=function(b,a,c){var e=c,f=0,g=!1,h=this.v;"#000000"===b.fillStyle&&(g=!0);0<=h&&h<=0+this.Pa&&(b.font=d.Ei,g||(b.fillStyle=1<(this.ga|0)?d.qh:d.Ki),b.fillText("Up",a,c),g||(b.fillStyle=d.qh),b.fillText(" / ",a+b.measureText("Up").width,c),g||(b.fillStyle=(this.ga|0)<this.Zb.length-this.Pa?d.qh:d.Ki),b.fillText("Down",a+b.measureText("Up / ").width,c),this.g&&(f=this.g),g||(b.fillStyle=d.qh),b.font=d.eg,b.fillText("scroll errors",a+f,c),e+=19);return e};z.prototype.vg=
function(b,a,c,e,f,g){var h=f,l=0,n=this.v;n>=g&&n<=g+this.Pa&&(b.length&&(c.font=d.Ei,c.fillText(b,e,f),l=c.measureText(b+" ").width),this.g&&(l=this.g),c.font=d.eg,c.fillText(a,e+l,f),h+=19);this.v+=1;return h};z.prototype.Im=function(b,a,c,e){var f,g=this.Zb,h=c;this.v=1;this.g=0;b.font=d.eg;c=this.vg("",d.wp,b,a,c,e);for(f=0;f<g.length;f+=1)c=this.vg(g[f][0],g[f][1],b,a,c,e);this.ea||(this.g=120,this.v=1,c=h+19*(this.Pa+2),c=this.rn(b,a,c),c=this.vg("Esc","clear messages",b,a,c,0),this.vg("H  ",
"help on script commands",b,a,c,0))};z.prototype.Ll=function(b){var a=b.Qb,c=7;b.ea&&(c=1);b.Pa=(b.m/19|0)-c;a.fillStyle="black";a.globalAlpha=.5;a.fillRect(0,0,a.canvas.width,a.canvas.height);a.globalAlpha=1;a.fillStyle=d.ak;b.Im(a,6,14,b.ga|0);a.fillStyle=d.qh;b.Im(a,4,12,b.ga|0)};z.prototype.xg=function(b,a){var c=this.h.me,e=this.h.ne,f=b+a,g=-this.a.G,h=Math.sin(g/180*Math.PI),g=Math.cos(g/180*Math.PI);0>f?f=0:1<f&&(f=1);b=d.sa*Math.pow(d.hb/d.sa,b);f=d.sa*Math.pow(d.hb/d.sa,f);f<d.sa?f=d.sa:
f>d.hb&&(f=d.hb);c-=this.s/2;e-=this.m/2;c=(c-f/b*c)/f;e=(e-f/b*e)/f;this.a.D-=c*g+e*-h;this.a.A-=c*h+e*g;f=Math.log(f/d.sa)/Math.log(d.hb/d.sa);this.ya.current=this.$d([f,f],!0,this)};z.prototype.Sp=function(b,a){b.fd.current=b.a.j/a*100;b.fd.i=!1;b.hc.Sc=0};z.prototype.Rp=function(b){var a=!1,c=!1,d=0,e;b.oa||-1===b.ia||(a=!0);!b.jb&&b.$a&&(c=!0);if(a||c){e=!1;if(c&&a)d=b.elapsedTime/b.W.Pl(b.ia);else if(c){if(a=b.W.Do().Za)d=b.elapsedTime/a,1<d&&(e=!0)}else 0<b.ia&&(d=b.a.j/b.ia);1<d&&(d=1);b.fd.current=
100*d}else e=!0;(b.fd.i=e)?b.hc.Sc=b.w.Sc:b.hc.Sc=0};z.prototype.no=function(){this.Ab.Sn(this.a.width/2-this.a.nb,this.a.height/2-this.a.ob,this.a.K,this.a.mb,this.a.s,this.a.m,this.a.Ub,this.a.Ud[0])};z.prototype.Vj=function(b,a){b+=this.a.width/2-Math.round(this.ha/2);a+=this.a.height/2-Math.round(this.Fa/2);return this.a.Vj(b,a,this.Gb&&this.ub)};z.prototype.Dp=function(){var b=this.w.Qe-this.m/2,a=Math.floor(b/this.a.zoom-(this.a.height/2-this.a.A)+Math.round(this.Fa/2)),c=Math.floor((this.w.Sd-
this.s/2)/this.a.zoom+(this.a.J?b/this.a.zoom/2:0)-(this.a.width/2-this.a.D-(this.a.J?this.a.A/2:0))+Math.round(this.ha/2)),e;-1===this.w.Sd||0!==this.a.mb?(this.Lb.Ya="",this.Lb.i=!this.jd):(b=-9999>c||9999<c?(c/1E4).toFixed(1)+"K":c+"",e=-9999>a||9999<a?(a/1E4).toFixed(1)+"K":a+"",a=this.Vj(c,a),this.Lb.Ya=b+","+e+"="+a,this.Lb.i=!1);this.Lb.enabled=this.jd||this.T.current===d.Ea&&-1!==this.w.Sd?this.B||this.ga||0===this.ha?!1:!0:!1};z.prototype.ap=function(b){var a;0<this.B?0<b?this.kj(this,3):
this.jj(this,3):0<this.ga?0<b?this.ij(this,3):this.hj(this,3):this.Wa||(a=this.ya.current[0],0>b?this.xg(a,-.05):this.xg(a,.05))};z.prototype.Yp=function(b,a){var c,e;e=a.W.current;var f,g=!1,h=!1,l=!1;a.Wa=!1;c=a.elapsedTime-a.zh;a.hk&&(a.hk=!1,b=c=0);a.ub||a.Rp(a);a.T.current!==d.Ea?(b>d.Sl&&(b=d.Sl,h=!0),a.elapsedTime+=b,a.Ld+=b,a.pb&&(c>1E3/a.fb||a.fb===d.Ne)&&(a.zh=a.elapsedTime,a.qe=!0)):a.qe&&(a.elapsedTime=1E3*(a.a.j+1)/a.fb,a.Ld+=1E3/a.fb,a.zh=a.elapsedTime);a.cl();a.F=a.Qa.current[0];a.$a&&
!a.jb&&a.T.current!==d.Ea?(a.jc&&!a.W.Aj(a.elapsedTime)&&(a.jc=!1,a.elapsedTime=a.W.El(a.a.width/2-a.a.D,a.a.height/2-a.a.A,a.a.zoom,a.a.G,a.a.o,a.a.ic*d.zf,a.a.sd,a.fb,a.F,a.a.j,a.elapsedTime)),e.Wb&&(a.fe(!0,!1),a.jc=!1,e.x=a.a.width/2-a.a.D,e.y=a.a.height/2-a.a.A,a.ea&&(a.a.zoom*=a.tb),e.zoom=a.a.zoom),(l=a.W.update(a.elapsedTime,a.a.j))?e.Wb&&(e.Wb=!1,a.ea&&(a.a.zoom=e.zoom/a.tb),a.ya&&(a.ya.current=a.$d([a.a.zoom,a.a.zoom],!1,a))):(a.T.current!==d.Ea&&(a.Wa=!0),a.a.D=a.a.width/2-e.x,a.a.A=a.a.height/
2-e.y,a.a.zoom=e.zoom,a.ea&&(a.a.zoom=a.a.zoom/a.tb),a.ya&&(a.ya.current=a.$d([a.a.zoom,a.a.zoom],!1,a)),a.a.G=e.G,a.ua&&(a.ua.current=[a.a.G,a.a.G]),a.a.o=e.o,a.qb&&(a.qb.current=[a.a.o,a.a.o]),a.a.ic=e.depth/d.zf+d.Zi,a.Ha&&(a.Ha.current=[Math.sqrt(a.a.ic),a.a.ic*d.zf]),a.fb=e.Na,a.aa&&(a.aa.current=[Math.sqrt((e.Na-d.dd)/(d.Ne-d.dd)),e.Na]),a.F=e.step,a.Qa.current=[a.F,a.F],e.wa>a.a.j?(a.qe=!0,a.F=e.wa-a.a.j|0,1>a.F&&(a.F=1),a.F>d.kc&&(a.F=d.kc)):a.qe=!1,e.Sb!==a.Vi&&(""===e.Sb?a.h.notification.clear(!1,
!1):a.h.notification.H(e.Sb,1E3,!1),a.Vi=e.Sb),e.Ra!==a.mk&&(a.a.ve(e.Ra,a.a.Al),a.Ib&&(a.Ib.current=[e.Ra,e.Ra]),a.mk=e.Ra))):a.Va&&a.T.current!==d.Ea&&(a.Wa=!0);a.Wa&&(a.qc=-1);c=0;if(a.qe){if(a.X){e=performance.now();for(f=0;f<a.F;f+=1){c=performance.now()-e;if(a.a.j===a.Hd-1||c>d.hn||a.Nk)f=a.F-1;a.jd&&f===a.F-1?a.a.Mf(!0,a.elapsedTime,a.Bd):a.a.Mf(!1,a.elapsedTime,a.Bd);if(a.a.an||f===a.F-1)a.X=a.a.Ag();if(-1!==a.ia&&a.a.j>=a.ia&&!a.oa||-2==a.Nb&&!a.X)a.elapsedTime=0,a.reset(a),l&&(a.Wa=!0)}a.X||
(a.Tj=d.so,a.Oj=a.a.j,a.rh&&(-1===a.ia||a.oa)&&a.h.notification.H("Life ended at generation "+a.Oj,600,!0))}else a.Tj&&(--a.Tj,e=a.a.j,a.a.j=a.Oj,a.a.Ag(),a.a.j=e),a.a.j+=a.F,-1!==a.ia&&a.a.j>=a.ia&&!a.oa&&(a.elapsedTime=0,a.reset(a),l&&(a.Wa=!0));a.a.j===a.Hd&&(a.T.current=a.Nc(d.Ea,!0,a),a.rh&&a.h.notification.H("STOP reached - Play to continue ",180,!0))}a.ae.locked=a.Wa&&a.$a;a.Ef.locked=a.Wa;a.aa.locked=a.Wa&&a.$a;a.Qa.locked=a.Wa&&a.$a;a.Ib.locked=a.Wa&&a.$a;a.ya.locked=a.Wa;a.ua.locked=a.Wa;
a.qb.locked=a.Wa&&a.$a;a.Ha.locked=a.Wa&&a.$a;a.wheelDelta&&(a.ap(a.wheelDelta),a.wheelDelta=0);a.Va&&(a.T.current!==d.Ea||a.$a)&&a.fe(!1,!1);a.a.gp();a.Vg&&a.no();a.a.Ml();a.gj&&a.Ln(a);a.a.j&&a.X&&a.a.Nn(d.kc)&&(a.Eb+=a.a.width>>2,a.Hg+=a.a.height>>2,a.zb+=a.a.width>>2,a.Tf+=a.a.height>>2,a.a.J&&(a.Eb-=a.a.height>>3,a.zb-=a.a.height>>3));a.B?a.Nl(a):a.Zb.length&&a.Ll(a);a.hc.lower[0]=a.Ii?"+ "+a.Ph(a.a.j):"T "+a.Ph(a.a.j+a.Hi);a.Bf.Ya=a.Fn(a.Ld);a.Sf.Ya=a.Ph(a.a.Ed);a.rf.Ya=a.Ph(a.a.qd);a.xf.Ya=
a.Ph(a.a.td);c>d.hn?(a.Td+=d.Dm,a.Td>=2*d.vk&&(a.Td=0)):0<a.Td&&(a.Td-=d.Dm);h?a.ue<d.Uo&&(a.ue+=d.Em):a.ue>d.Vo&&(a.ue-=d.Em);c=a.Td<d.vk?"rgb("+a.ue+","+a.Td+",0)":"rgb("+a.ue+","+(2*d.vk-a.Td)+",0)";a.Qa.pd=c;c="rgb("+a.ue+",0,0)";a.aa.pd=c;a.qe=!1;a.Nk=!1;a.Dp();-1!==a.qc&&a.fn();if(a.pb||a.Va&&a.qf>a.Gn||-1!==a.qc)g=!0;a.Np();a.Tp();a.Op();a.Up(a.B||a.ga);a.h.Ze(g)};z.prototype.cl=function(){var a=this.a.j,b=this.fb*(this.elapsedTime/1E3-a/this.fb);0>b?b=0:1<b&&(b=1);a+=b;this.Sa&&!this.Ta?(this.a.Hc=
a*(this.ab+this.Cb)/2,this.a.oc=a*(this.Bb+this.bb)/2,b=this.a.on(0,this.Bb,this.ab,this.bb,this.Cb,this.s,this.m-80,d.sa,d.hb,d.wj),a=this.a.on(a,this.Bb,this.ab,this.bb,this.Cb,this.s,this.m-80,d.sa,d.hb,d.wj),this.a.Rb=a/b):(this.a.Hc=0,this.a.oc=0,this.a.Rb=1);this.ya.current=this.$d([this.a.zoom,this.a.zoom],!1,this)};z.prototype.Up=function(a){this.ae.i=a;this.ya.i=a;this.Ef.i=a;this.Gf.i=a;this.Nd.i=a;this.Qd.i=a;this.Ba.i=a;this.Pd.i=a;this.nf.i=a;this.Bf.i=a;this.kf.i=a;this.Sf.i=a;this.ke.i=
a;this.rf.i=a;this.Ue.i=a;this.xf.i=a;this.wb.i=a;this.ua.i=a||this.a.J;this.Ha.i=a;this.Ib.i=a;this.qb.i=a;this.Ef.i=a;this.mf.i=a||!this.$f;this.Ff.i=a;this.Xe.i=a||!this.ca;this.Ac.i=a||!this.ca;this.af.i=a||!this.ca;this.Rc.i=a||!this.ca;this.Ve.i=a||!this.ca;this.wc.i=a||!this.ca;this.eh.i=a||!this.ca;this.pg.i=a||!this.ca;this.rg.i=a||!this.ca;this.sg.i=a||!this.ca;this.qg.i=a||!this.ca;this.xc.i=a||!this.ca;this.zc.i=a||!this.ca;this.vc.i=a||!this.ca;this.yc.i=a||!this.ca};z.prototype.Op=function(){var a=
-(this.a.width/2-this.a.D-this.a.Hc|0),b=-(this.a.height/2-this.a.A-this.a.oc|0);this.Xe.i=!this.ca;this.Ac.i=!this.ca;this.af.i=!this.ca;this.Rc.i=!this.ca;this.Ve.i=!this.ca;this.wc.i=!this.ca;this.eh.i=!this.ca;this.pg.i=!this.ca;this.rg.i=!this.ca;this.sg.i=!this.ca;this.qg.i=!this.ca;this.xc.i=!this.ca;this.zc.i=!this.ca;this.yc.i=!this.ca;this.vc.i=!this.ca;if(-99999>a||99999<a)a=(a/1E3|0)+"K";if(-99999>b||99999<b)b=(b/1E3|0)+"K";this.Ac.Ya=a;this.Rc.Ya=b;this.wc.Ya=this.a.G.toFixed(0)+"\u00b0";
this.xc.Ya=this.jg.toFixed(3);this.zc.Ya=this.lg.toFixed(3);this.vc.Ya=this.mg.toFixed(3);this.yc.Ya=this.kg.toFixed(3)};z.prototype.Tp=function(){0===this.a.j?this.mg=this.jg=this.lg=this.kg=0:(this.lg=(this.a.C.R-this.a.Xb.R)/this.a.j,this.kg=(this.a.C.N-this.a.Xb.N)/this.a.j,this.jg=(this.a.C.P-this.a.Xb.P)/this.a.j,this.mg=(this.a.C.O-this.a.Xb.O)/this.a.j)};z.prototype.Np=function(){this.ae.current=[this.Va];this.Nd.current=[!this.Ee&&this.nd];this.Nd.locked=!this.nd;this.Sa?(this.Ba.lower[0]=
"TRACK",this.Ba.current=[!this.Ta&&this.Sa],this.Ba.locked=!this.Sa,this.Ba.U=["toggle track mode"]):(this.Ba.lower[0]="WAYPT",this.Ba.current=[!this.jb&&this.$a],this.Ba.locked=!this.$a,this.Ba.U=["toggle waypoint mode"]);this.Pd.current=[!this.oa&&-1!==this.ia];this.Pd.locked=-1===this.ia;this.Qd.current=[-1!==this.Hd];this.Qd.locked=-1===this.Hd};z.prototype.Xp=function(a){for(var b=a.Cl,c=performance.now(),d,e=a.a.Lc.Ho*LifeConstants.Qh;a.a.j<b-1&&13>performance.now()-c;)d=b-1-a.a.j<=e?!1:!0,
a.a.Mf(!1,0,d),a.a.Ag();a.a.j===b-1?(a.a.Mf(a.jd,0,!1),a.X=a.a.Ag(),a.zg=!1,a.h.notification.clear(!0,!1),a.w.locked=!1):a.w.locked=!0;a.Sp(a,b);a.a.Ml();a.B?a.Nl(a):a.Zb.length&&a.Ll(a);a.h.Ze(!0)};z.prototype.An=function(a,b){b.zg?b.Xp(b):b.Yp(a,b)};z.prototype.gl=function(a){a.a.j=0;a.elapsedTime=0;a.Ld=0;a.a.D=a.a.width>>1;a.a.A=a.a.height>>1;a.a.D&=a.a.width-1;a.a.A&=a.a.height-1;a.zh=0;a.X=!0;a.hk=!0};z.prototype.tj=function(a,b,c){b&&(c.h.Vf=a[0]);c.h.Ze(!0);return[c.h.Vf]};z.prototype.ln=
function(a,b,c){b?(b=a[0]+.5|0,c.a.sd!==b&&(c.a.ve(b,c.a.Al),c.vf&&b===c.a.nc?c.h.notification.H("Custom Theme",40,!0):c.h.notification.H("Theme "+b,40,!0)),a=a[0]):a=c.a.sd;return[a,c.a.sd]};z.prototype.gg=function(a,b,c){b&&(c.F=a[0]+.5|0);return[c.F,c.F]};z.prototype.xe=function(a,b,c){b?(c.fb=d.dd+a[0]*a[0]*(d.Ne-d.dd),a=a[0]):a=Math.sqrt((c.fb-d.dd)/(d.Ne-d.dd));return[a,c.fb]};z.prototype.Nm=function(a){a.Tg=a.a.zoom;a.ea&&(a.Tg=a.Tg*a.tb);a.Fk=a.a.G;a.zb=a.a.D;a.Tf=a.a.A};z.prototype.mp=function(a){a.Xf=
a.a.width/2-a.a.D;a.Yf=a.a.height/2-a.a.A;a.Yg=a.a.zoom;a.Wf=a.a.G;a.He=a.a.width/2-a.zb;a.Ig=a.a.height/2-a.Tf;a.ph=a.Fk;a.ea?a.Cf=a.Tg/a.tb:a.Cf=a.Tg;a.qc=0};z.prototype.jp=function(a,b){var c;a.a.zoom=a.Kl;a.ea&&(a.a.zoom=a.a.zoom/a.tb);a.ya&&(a.ya.current=a.$d([a.a.zoom,a.a.zoom],!1,a));a.a.G=a.Eg;a.ua&&(a.ua.current=[a.Eg,a.Eg]);a.a.D=a.Eb;a.a.A=a.Hg;b&&(a.a.ve(a.yf,1),a.Ib.current=[a.yf,a.yf],a.Gb&&(a.a.tf=0),c=Math.sqrt((a.Kj-d.dd)/(d.Ne-d.dd)),a.aa.current=a.xe([c,c],!0,a),a.F=a.zi,a.Qa.current=
[a.F,a.F],a.a.o=a.Gg,a.qb.current=[a.Gg,a.Gg],c=Math.sqrt(a.Jj),a.Ha.current=a.fg([c,c],!0,a))};z.prototype.xj=function(a){a?(this.a.D+=this.a.Hc,this.a.A+=this.a.oc,this.a.zoom*=this.a.Rb):(this.cl(),this.a.D-=this.a.Hc,this.a.A-=this.a.oc,this.a.zoom/=this.a.Rb,this.cl());this.a.zoom<d.sa?this.a.zoom=d.sa:this.a.zoom>d.hb&&(this.a.zoom=d.hb)};z.prototype.reset=function(a){var b=!1,c=!1;if(0===a.elapsedTime||a.Oi)b=!0;a.oa||a.a.j===a.ia&&(c=!0);c||b||(a.$a&&(a.jb=!0),a.Sa&&(a.Ta=!0),-1!==a.ia&&(a.oa=
!0),a.ki&&(a.Va=!1));a.elapsedTime=0;a.Ld=0;a.zh=0;a.a.Hc=0;a.a.oc=0;a.a.Rb=1;b&&(c||a.jp(a,b),a.$a&&(a.jb=!1),a.Sa&&(a.Ta=!1),a.oa=!1,a.ki&&(a.Va=!0));a.Gb||(a.a.Dk(a.Bd),-1!==a.Nb&&a.Ql(),a.X=!0,a.a.X=!0,a.a.Cc=!0);a.a.Jm();a.Vi="";a.mk=-1;a.jc=!1;a.W.bf=0;a.h.notification.clear(!1,!1)};z.prototype.Pm=function(a){a?(this.T.icon[2]=d.Da.icon("pause"),this.T.U[2]="pause"):(this.T.icon[2]=d.Da.icon("stepforward"),this.T.U[2]="next generation")};z.prototype.Nc=function(a,b,c){var e=a,f=c.oa,g=c.jb,
h=c.Ee,l=c.Va,n=c.Ta,k=40,p=0,q=0,u=0,z=0,C=0;if(b){switch(a){case d.pk:c.Ee=c.Oi||c.nd&&0===c.a.j&&0===c.elapsedTime?!1:!0;c.nd&&!c.Ee?(a=d.Pg,c.pb=!0):(a=d.Ea,c.pb=!1);c.reset(c);b="Reset";!c.oa&&f&&-1!==c.ia&&(p=1);c.oa&&!f&&-1!==c.ia&&(p=-1);!l&&c.Va&&(C=1);l&&!c.Va&&(C=-1);!c.jb&&g&&(q=1);c.jb&&!g&&(q=-1);!c.Ta&&n&&(u=1);c.Ta&&!n&&(u=-1);!c.Ee&&h&&c.nd&&(z=1);c.Ee&&!h&&c.nd&&(z=-1);if(0!==p||0!==q||0!==u||0!==z||0!==C){b="";0!==p&&(b+="Loop");if(0!==q||0!==u||0!==C)0!==p&&(b=0!==z?b+", ":b+" and "),
b=0!==q?b+"Waypoints":0!==u?b+"Track":b+"AutoFit";if(0!==z){if(0!==p||0!==q||0!==u||0!==C)b+=" and ";b+="AutoStart"}b=0<p||0<q||0<u||0<z||0<C?b+" On":b+" Off";k=120}c.h.notification.H(b,k,!0);break;case d.Pg:c.T.current!==d.Pg&&(c.pb=!0,c.h.notification.H("Play",40,!0));break;case d.No:c.pb?(c.pb=!1,c.h.notification.H("Pause",40,!0)):0<c.a.j&&c.Lh(c.a.j-c.F);a=d.Ea;break;case d.Ea:c.pb?(c.pb=!1,(c.a.j!==c.Hd||c.rh)&&c.h.notification.H("Pause",40,!0)):c.qe=!0}e=a;c.Pm(c.pb)}return e};z.prototype.fi=
function(a,b,c){b&&(c.jc=!0,c.a.G=a[0]);return[c.a.G,c.a.G]};z.prototype.fl=function(a,b,c){b?(c.jc=!0,c.a.o=a[0]+.5|0,a=a[0]):a=c.a.o;return[a,c.a.o]};z.prototype.fg=function(a,b,c){return b?(c.jc=!0,c.a.ic=a[0]*a[0],[a[0],c.a.ic*d.zf]):[Math.sqrt(c.a.ic),c.a.ic*d.zf]};z.prototype.Xi=function(a,b,c,e){var f,g,h;c?(-1!==e.Ng&&(e.B?(f=e.Og-b,f/=d.fontSize,0<f?e.jj(e,f):0>f&&e.kj(e,-f)):e.ga?(f=e.Og-b,f/=d.fontSize,0<f?e.hj(e,f):0>f&&e.ij(e,-f)):(c=(e.Ng-a)/e.a.K,f=(e.Og-b)/e.a.K,g=e.a.J?0:-e.a.G,h=
Math.sin(g/180*Math.PI),g=Math.cos(g/180*Math.PI),e.Wa||(e.jc=!0,e.a.D+=c*g+f*-h,e.a.A+=c*h+f*g))),e.Ng=a,e.Og=b):(e.Ng=-1,e.Og=-1)};z.prototype.Re=function(a,b){this.Og=this.Ng=0;this.Xi(a,b,!0,this);this.Ng=-1};z.prototype.Kp=function(a){var b=d.am;null===b&&(b=new Image,b.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAggAAAAoCAMAAACsEfJOAAAAb1BMVEUAAAAAADoAAGYAAP8AOpAAZrYAZv8IAAAIAP8IkNsIkP8NAAANADoNAGYNAP8NZrYNtv8TOgATOmYTOv8T2/8XZgAXZmYXZv8XtrYXttsX//8bkDob//8gtmYgtv8g25Ag/7Yg/9sg//9wcHD///8u+qFBAAAAAXRSTlMAQObYZgAAA+VJREFUeAHsmY932jgMx3M9Uo67W5euZN34MVpZ///fOCGlVM/NTL6gwPbI9z2oiYWsKp9YtqkmTZoUqFT4+7vHlqqbFKvKvYhddJL5dJMJBAyEARaAXXiSbXS8bwIBzTMfNUDs4pPM+kK7JhDwNPOxfsQuPsnqGu2ZQIh63nw3YDdKkrlisGMCIawE+17AbpwkMwPXQ0HgwRGa8s89ZsB6F08SdyrEx4wvvBm2S4MUsK3xfYDQ+Jh5fBA+XKRfqxDBYBB4OkeA4+O94kEoD0GEk8AICDgJEwim8UBgDgGBMRBwEiYQOo0DAnMMCIyCwGOcS14IBM50WRCYo0EoOMc5gEHgPxiE7OOlQWCOBSGM6opxEPAhJxC84kAInN4YBKEw5oLWsSDck2g3f0vs3erlP0u0Neza66P8mW30SmaHg6DfJlV7V0nLAhA10lrj8Zk4VwwIHFjnGAShMOhfS82ZU9OeCEJSLcn0lDqt6ME3LgOCkdBoaw3HZ+KPOh8E5kAQGAWhMOps801vigPDgYBrQfS490pbP+WOPCO4b99V2pptZAQdZuFBTy6+D2VBvph60+x1DgheEYtFPgeE3Gzx+mW17RIpb/8v7WFa+Dk181kqDZL7p0pU7+ZJ2t9J3ItnwYue+0HQoVqLQF6fiXqAYN8aAILyLBfz/yF18SWJr3LxJY2vAILTSCDg20c+DwTOKsNu3hgDHgSbU7c4CLPN7p/3pBPRyyfxvOdA5EAg6q4cpm8FwdV3vDRoxH5GUN+tN0tdfFag8vhuGYTZZlvV1HYgWE5aTaO8UQuDUJMkWvP68qAPpDpVf/e9IMidmauNvZSInnEP73wUBLdG0EB85Uvl+K5bGgAQ4kvDwvKXgVDrZNDQ+pQZwSVa0qtO1d/fvaWhJtXr4xsM+bj4GsHPZkKzLzUpiy9l8cnnay8Wh3MQuVg8zIlBIIgLerYbgIFA7SAQeOgawaPppoSk8SkQAAg3sH3UiVky3+p8vLCabaVB307dNYgXD4K6+pf6QDjsHAaUBhUAQk1adjwIXXypiy9l8aVbPVCy06Satu/LuaawWPSej50j/EhpRU+2Pe8u9p4jNF1FzxaLESB4d1B8t3fEvNQbYg8F0dd9DmvFwbaPGAj5yd1hRihvHxs1z7aPISDIsOobju+aPzqhuuaPTuos+LeG8qHSz3bu6ARAAIaB6C51/x2dQJGCHMrLBP24v1wadA1BDb0zlMIaOgAhrKGJKT0IVDWqWn9fI6/OXciryX2Nzj7X+YrOvgfhPZ09ANXA5XiUbuCyv8/kzeTt5zGCBYJZPBA8ygCC1zlAWMQzLZETE/cVGLiijCYAAAAASUVORK5CYII=",
d.am=b);a=new IconManager(b,a);a.add("play",40,40);a.add("pause",40,40);a.add("tostart",40,40);a.add("menu",40,40);a.add("stepback",40,40);a.add("stepforward",40,40);a.add("autofit",40,40);a.add("fit",40,40);a.add("grid",40,40);a.add("help",40,40);a.add("shrink",40,40);a.add("fps",40,40);a.add("hexgrid",40,40);return a};z.prototype.gn=function(){this.Gf.icon=this.a.J?[d.Da.icon("hexgrid")]:[d.Da.icon("grid")]};z.prototype.um=function(a,b){a.h.hasFocus&&(a.zg||(b.wheelDelta?a.wheelDelta=b.wheelDelta/
120:b.detail&&(a.wheelDelta=-b.detail/3),a.h.Ze(!0)),b.preventDefault())};z.prototype.fn=function(){var a=this.W.sl(this.qc/d.tk),b=this.Wf,c=this.ph;this.a.D=this.a.width/2-(this.Xf+a*(this.He-this.Xf));this.a.A=this.a.height/2-(this.Yf+a*(this.Ig-this.Yf));this.a.zoom=this.Yg*Math.pow(this.Cf/this.Yg,a);180<c-b?b+=360:-180>c-b&&(c+=360);this.a.G=(b+a*(c-b))%360;this.qc+=1;this.qc>d.tk&&(this.qc=-1,this.a.zoom=this.Cf,this.a.G=c,this.a.D=this.a.width/2-this.He,this.a.A=this.a.height/2-this.Ig);this.ya&&
(this.ya.current=this.$d([this.a.zoom,this.a.zoom],!1,this));this.ua&&(this.ua.current=this.fi([this.a.G,this.a.G],!1,this))};z.prototype.yp=function(a,b){var c=this.W.Ic[b];a.Xf=a.a.width/2-a.a.D;a.Yf=a.a.height/2-a.a.A;a.Yg=a.a.zoom;a.Wf=a.a.G;a.He=c.x;a.Ig=c.y;a.Cf=c.zoom;a.ph=c.G;a.a.J&&(a.He+=a.a.A/2);a.qc=0;a.h.notification.H("POI "+b,60,!0);""!==c.Sb?a.h.notification.H(c.Sb,180,!1):a.h.notification.clear(!1,!0)};z.prototype.rd=function(a,b,c){var d=b/a.a.Rb;c&&(b=1<=b?Math.round(b):1/Math.round(1/
b),d=b/a.a.Rb);a.Wa||(a.Xf=a.a.width/2-a.a.D,a.Yf=a.a.height/2-a.a.A,a.Yg=a.a.zoom,a.Wf=a.a.G,a.He=a.Xf,a.Ig=a.Yf,a.Cf=d,a.ph=a.Wf,a.qc=0)};z.prototype.un=function(a){a.Vk();a.B&&(a.B=0);a.resize();a.ed.current[0]=!1;a.h.bg=!0};z.prototype.aq=function(a){a.fe(!0,!0);a.T.current===d.Ea&&(a.jc=!0)};z.prototype.dn=function(a,b,c){b&&(c.a.yb=a[0],c.h.notification.H("Grid Lines "+(c.a.yb?"On":"Off"),40,!0));return[c.a.yb]};z.prototype.cn=function(a,b,c){b&&(c.Va=a[0],c.h.notification.H("AutoFit "+(c.Va?
"On":"Off"),40,!0),c.Va&&c.T.current===d.Ea&&c.fe(!0,!0));return[c.Va]};z.prototype.wn=function(a,b,c){b&&-1!==c.ia&&(c.oa=!a[0],c.$a?(c.jb=c.oa,c.h.notification.H("Loop and Waypoints "+(c.oa?"Off":"On"),40,!0)):c.Sa?(c.Ta=c.oa,c.h.notification.H("Loop and Track "+(c.oa?"Off":"On"),40,!0),c.xj(c.Ta)):c.h.notification.H("Loop "+(c.oa?"Off":"On"),40,!0));return[c.oa]};z.prototype.xn=function(a,b,c){b&&(c.Sa?(c.Ta=!a[0],c.xj(c.Ta),-1!==c.ia?(c.oa=c.Ta,c.h.notification.H("Loop and Track "+(c.oa?"Off":
"On"),40,!0)):c.h.notification.H("Track "+(c.Ta?"Off":"On"),40,!0)):c.$a&&(c.jb=!a[0],-1!==c.ia?(c.oa=c.jb,c.h.notification.H("Loop and Waypoints "+(c.oa?"Off":"On"),40,!0)):c.h.notification.H("Waypoints "+(c.jb?"Off":"On"),40,!0)));return c.Sa?[c.Ta]:[c.jb]};z.prototype.$h=function(a,b,c){b&&(c.B=a[0]);return[c.B]};z.prototype.hl=function(a,b,c){b&&(c.jd=a[0],c.jd&&(c.X?0===c.a.j?(c.a.Ed=c.a.Wd.Ed,c.a.qd=c.a.Wd.qd,c.a.td=c.a.Wd.td):-1===c.a.u&&(--c.a.j,c.a.Mf(!0,c.elapsedTime,c.Bd)):(c.a.Ed=0,c.a.qd=
0,c.a.td=0)));c.h.Ze(!0);return[c.jd]};z.prototype.ij=function(a,b){1<a.ga&&(a.ga-=b,1>a.ga&&(a.ga=1))};z.prototype.hj=function(a,b){a.ga<a.Zb.length-a.Pa&&(a.ga+=b,a.ga>a.Zb.length-a.Pa&&(a.ga=a.Zb.length-a.Pa))};z.prototype.kj=function(a,b){1<a.B&&(a.B-=b,1>a.B&&(a.B=1))};z.prototype.jj=function(a,b){a.B<a.Rg-a.Pa&&(a.B+=b,a.B>a.Rg-a.Pa&&(a.B=a.Rg-a.Pa))};z.prototype.Lh=function(a){this.Bd?this.h.notification.H("Step back disabled",40,!0):(0>a&&(a=0),this.elapsedTime-=1E3/this.fb,this.Ld-=1E3/this.fb,
this.X=this.a.Lh(a,this.jd,this.elapsedTime),a!==this.a.j&&(this.zg=!0,this.Cl=a,this.a.Dk(!1),this.h.notification.H("Computing previous generations",1E4,!0)))};z.prototype.Zo=function(a,b,c){var e=!0;if(c.ctrlKey||c.metaKey||c.altKey)b=-1;switch(b){case 191:case 111:c.shiftKey?a.a.dj!==a.a.J&&(a.a.J?(a.a.D+=a.a.A/2,a.Eb+=a.a.A/2,a.zb+=a.a.A/2,a.a.J=!1):(a.a.D-=a.a.A/2,a.Eb-=a.a.A/2,a.zb-=a.a.A/2,a.a.J=!0)):a.a.J?(a.a.D+=a.a.A/2,a.Eb+=a.a.A/2,a.zb+=a.a.A/2,a.a.J=!1):(a.a.D-=a.a.A/2,a.Eb-=a.a.A/2,
a.zb-=a.a.A/2,a.a.J=!0);a.h.notification.H("Hex Display "+(a.a.J?"On":"Off"),40,!0);a.gn();a.ua.i=a.a.J;break;case 66:a.ub||(a.T.current===d.Ea?0<a.a.j&&a.Lh(a.a.j-1):a.T.current=a.Nc(d.Ea,!0,a));break;case 13:a.ub||(a.T.current=a.T.current===d.Pg?a.Nc(d.Ea,!0,a):a.Nc(d.Pg,!0,a));break;case 9:a.ub||(a.pb?a.T.current=a.Nc(d.Ea,!0,a):c.shiftKey?0<a.a.j&&a.Lh(a.a.j-a.F):a.qe=!0);break;case 32:a.ub||(a.pb?a.T.current=a.Nc(d.Ea,!0,a):(a.qe=!0,a.Nk=!0));break;case 87:a.$a?(a.jb=!a.jb,-1!==a.ia?(a.oa=a.jb,
a.h.notification.H("Loop and Waypoints "+(a.jb?"Off":"On"),40,!0)):a.h.notification.H("Waypoints "+(a.jb?"Off":"On"),40,!0),a.jb?a.h.notification.clear(!1,!1):a.W.Aj(a.elapsedTime)||(a.W.to(a.a.j),a.elapsedTime=a.W.Pl(a.a.j),a.elapsedTime=a.W.El(a.a.width/2-a.a.D,a.a.height/2-a.a.A,a.a.zoom,a.a.G,a.a.o,a.a.ic*d.zf,a.a.sd,a.fb,a.F,a.a.j,a.elapsedTime),a.jc=!1)):a.Sa?(a.Ta=!a.Ta,-1!==a.ia?(a.oa=a.Ta,a.h.notification.H("Loop and Track "+(a.Ta?"Off":"On"),40,!0)):a.h.notification.H("Track "+(a.Ta?"Off":
"On"),40,!0),a.xj(a.Ta)):-1!==a.ia&&(a.oa=!a.oa,a.h.notification.H("Loop "+(a.oa?"Off":"On"),40,!0));break;case 69:!a.Qa.locked&&a.F<d.kc&&(c.shiftKey?a.F=d.kc:a.F+=1,a.Qa.current=a.gg([a.F,a.F],!0,a));break;case 68:!a.Qa.locked&&a.F>d.Lf&&(c.shiftKey?a.F=d.Lf:--a.F,a.Qa.current=a.gg([a.F,a.F],!0,a));break;case 90:c.shiftKey?(b=l.Ip(),0===b?a.h.notification.H("No LifeViewers playing",100,!0):1<b&&a.h.notification.H("Paused all LifeViewers",100,!0)):(b=l.Jp(a),0===b?a.h.notification.H("No other LifeViewers playing",
100,!0):1<b?a.h.notification.H("Paused "+b+" other LifeViewers",100,!0):a.h.notification.H("Paused "+b+" other LifeViewer",100,!0));break;case 88:c.shiftKey?(a.a.Je=!a.a.Je,0<a.a.Ec&&a.h.notification.H("Major Grid Lines "+(a.a.Je?"On":"Off"),40,!0)):(a.a.yb=!a.a.yb,a.Gf.current=a.dn([a.a.yb],!0,a));break;case 80:a.Gb||a.Ha.locked||(a.Ha.current=.99>=a.Ha.current[0]?a.fg([a.Ha.current[0]+.01,a.Ha.current[1]],!0,a):a.fg([1,a.Ha.current[1]],!0,a));break;case 76:a.Gb||a.Ha.locked||(a.Ha.current=.01<=
a.Ha.current[0]?a.fg([a.Ha.current[0]-.01,a.Ha.current[1]],!0,a):a.fg([0,a.Ha.current[1]],!0,a));break;case 81:!a.Gb&&!a.qb.locked&&a.qb.current[0]<d.Yi&&(a.qb.current=a.fl([a.a.o+1,a.qb.current[1]],!0,a));break;case 65:!a.Gb&&!a.qb.locked&&a.qb.current[0]>d.$i&&(a.qb.current=a.fl([a.a.o-1,a.qb.current[1]],!0,a));break;case 82:c.shiftKey?l.hp():a.T.current=a.Nc(d.pk,!0,a);break;case 83:a.Vg=!a.Vg;break;case 78:a.$f&&(a.ea?a.Uk():(a.Vk(),a.B&&(a.B=0)),a.resize());break;case 86:c.shiftKey?(a.Nm(a),
a.h.notification.H("Saved camera position",100,!0)):a.Wa||(a.mp(a),a.h.notification.H("Restored camera position",100,!0),a.T.current===d.Ea&&(a.jc=!0));break;case 221:a.Wa||(c.shiftKey?a.xg(a.ya.current[0],Math.log(a.a.zoom*a.a.Rb*2/d.sa)/Math.log(d.hb/d.sa)-a.ya.current[0]):a.xg(a.ya.current[0],.01));break;case 219:a.Wa||(c.shiftKey?a.xg(a.ya.current[0],Math.log(a.a.zoom*a.a.Rb/2/d.sa)/Math.log(d.hb/d.sa)-a.ya.current[0]):a.xg(a.ya.current[0],-.01));break;case 53:case 101:a.ua.locked||(a.a.G=0,a.ua.current=
[a.a.G,a.a.G]);break;case 49:case 97:c.shiftKey?(a.rd(a,a.a.zoom*a.a.Rb,!0),a.h.notification.H("Integer Zoom",40,!0)):a.rd(a,1,!1);break;case 50:case 98:c.shiftKey?a.rd(a,.5,!1):a.rd(a,2,!1);break;case 51:case 99:a.rd(a,32,!1);break;case 52:case 100:c.shiftKey?a.rd(a,.25,!1):a.rd(a,4,!1);break;case 54:case 102:c.shiftKey?a.rd(a,.0625,!1):a.rd(a,16,!1);break;case 56:case 104:c.shiftKey?a.rd(a,.125,!1):a.rd(a,8,!1);break;case 48:case 96:a.F=1;a.Qa.current=a.gg([a.F,a.F],!0,a);a.aa.current=a.xe([1,a.aa.current[1]],
!0,a);break;case 189:case 109:a.ub||(a.F>d.Lf?(c.shiftKey?a.F=d.Lf:--a.F,a.Qa.current=a.gg([a.F,a.F],!0,a)):a.aa&&(a.aa.current=.01<=a.aa.current[0]&&!c.shiftKey?a.xe([a.aa.current[0]-.01,a.aa.current[1]],!0,a):a.xe([0,a.aa.current[1]],!0,a)));break;case 187:case 107:!a.ub&&a.aa&&(.99>=a.aa.current[0]&&!c.shiftKey?a.aa.current=a.xe([a.aa.current[0]+.01,a.aa.current[1]],!0,a):.99>=a.aa.current[0]?a.aa.current=a.xe([1,a.aa.current[1]],!0,a):(a.aa.current=a.xe([1,a.aa.current[1]],!0,a),a.F<d.kc&&(c.shiftKey?
a.F=d.kc:a.F+=1,a.Qa.current=a.gg([a.F,a.F],!0,a))));break;case 188:a.ua.locked||(b=a.ua.current[0],b=c.shiftKey?b-90:b-1,0>b&&(b+=360),a.ua.current=a.fi([b,b],!0,a));break;case 190:a.ua.locked||(b=a.ua.current[0],b=c.shiftKey?b+90:b+1,360<=b&&(b-=360),a.ua.current=a.fi([b,b],!0,a));break;case 74:a.W.Ic.length?a.Wa||(c.shiftKey?(--a.de,0>a.de&&(a.de=a.W.Ic.length-1)):(a.de+=1,a.de>=a.W.Ic.length&&(a.de=0)),a.yp(a,a.de)):a.h.notification.H("No POIs defined",80,!0);break;case 84:c.shiftKey?a.h.Ug=!a.h.Ug:
a.Ff.current=a.tj([!a.h.Vf],!0,a);break;case 71:a.ub||(c.shiftKey?a.Ie&&(a.Ii=!a.Ii):(a.hl([!a.jd],!0,a),a.hc&&(a.hc.current=[a.jd],a.h.bg=!0)));break;case 70:c.shiftKey?a.ae.locked||(a.Va=!a.Va,a.ae.current=a.cn([a.Va],!0,a)):a.Ef.locked||(a.fe(!0,!0),a.h.notification.H("Fit Zoom",80,!0),a.T.current===d.Ea&&(a.jc=!0));break;case 79:a.vp(a);break;case 37:c.shiftKey?a.Re(a.a.zoom,a.a.zoom):a.Re(a.a.zoom,0);break;case 38:a.B?a.kj(a,1):a.ga?a.ij(a,1):c.shiftKey?a.Re(-a.a.zoom,a.a.zoom):a.Re(0,a.a.zoom);
break;case 39:c.shiftKey?a.Re(-a.a.zoom,-a.a.zoom):a.Re(-a.a.zoom,0);break;case 40:a.B?a.jj(a,1):a.ga?a.hj(a,1):c.shiftKey?a.Re(a.a.zoom,-a.a.zoom):a.Re(0,-a.a.zoom);break;case 77:a.ed&&!a.ed.i&&(a.ed.current[0]=!a.ed.current[0],a.h.bg=!0);break;case 67:a.Gb||!a.Ib||a.Ib.locked||(c.shiftKey?b=a.yf:(b=a.Ib.current[0],b+=1,a.vf?b>=a.a.nc+1&&(b=0):b>=a.a.nc&&(b=0)),a.Ib.current=a.ln([b,b],!0,a));break;case 72:c.shiftKey?(a.Ke=!a.Ke,a.h.notification.H("AutoFit History "+(a.Ke?"On":"Off"),40,!0)):(a.Zb.length?
a.B?a.B=0:a.B=a.Om:a.B?a.B=0:a.ea||(a.B=1),a.Hf.current=a.$h([a.B],!0,a));break;case 73:c.shiftKey?a.ca=!a.ca:(a.B?a.B!==a.Ri?a.B=a.Ri:a.B=0:a.ea||(a.B=a.Ri),a.Hf.current=a.$h([a.B],!0,a));break;case 27:a.yd?a.ga?(a.Zb=[],a.ga=0):k():a.B?a.B=0:a.ga?(a.Zb=[],a.ga=0):a.pb&&(a.T.current=a.Nc(d.Ea,!0,a));a.B=0;a.Hf.current=a.$h([a.B],!0,a);break;case 33:a.B?a.kj(a,a.Pa):a.ga&&a.ij(a,a.Pa);break;case 34:a.B?a.jj(a,a.Pa):a.ga&&a.hj(a,a.Pa);break;case 36:a.B?a.B=1:a.ga&&(a.ga=1);break;case 35:a.B?a.B=a.Rg-
a.Pa:a.ga&&(a.ga=a.Zb.length-a.Pa);break;default:e=!1}return e};z.prototype.$o=function(a,b,c){var d=!0;if(c.ctrlKey||c.metaKey||c.altKey)b=-1;switch(b){case 84:a.tj([!a.h.Vf],!0,a);break;default:d=!1}return d};z.prototype.fq=function(a,b){var c=b.charCode||b.keyCode;if(a.zg?a.$o(a,c,b):a.Zo(a,c,b))a.h.Ze(!0),b.preventDefault()};z.prototype.Mp=function(){this.w=this.h.Wn(this.An,this.gl,this);this.w.Pj=this.Xi;this.Xe=this.w.za(Menu.Cd,0,40,16,20,"X");this.Xe.font=d.pc;this.Xe.orientation=Menu.Ob;
this.af=this.w.za(Menu.Cd,70,40,16,20,"Y");this.af.font=d.pc;this.af.orientation=Menu.Ob;this.Ve=this.w.za(Menu.Cd,140,40,16,20,"A");this.Ve.font=d.pc;this.Ve.orientation=Menu.Ob;this.Ac=this.w.za(Menu.Cd,16,40,54,20,"");this.Ac.font=d.pc;this.Ac.textAlign=Menu.right;this.Ac.U="camera X position";this.Rc=this.w.za(Menu.Cd,86,40,54,20,"");this.Rc.font=d.pc;this.Rc.textAlign=Menu.right;this.Rc.U="camera Y position";this.wc=this.w.za(Menu.Cd,156,40,40,20,"");this.wc.font=d.pc;this.wc.textAlign=Menu.right;
this.wc.U="camera angle";this.eh=this.w.za(Menu.Cd,196,40,4,20,"");this.pg=this.w.za(Menu.mc,-280,40,20,20,"E");this.pg.font=d.pc;this.rg=this.w.za(Menu.mc,-210,40,20,20,"S");this.rg.font=d.pc;this.sg=this.w.za(Menu.mc,-140,40,20,20,"W");this.sg.font=d.pc;this.qg=this.w.za(Menu.mc,-70,40,20,20,"N");this.qg.font=d.pc;this.xc=this.w.za(Menu.mc,-260,40,50,20,"");this.xc.font=d.pc;this.xc.textAlign=Menu.right;this.xc.U="bounding box east edge velocity";this.zc=this.w.za(Menu.mc,-190,40,50,20,"");this.zc.font=
d.pc;this.zc.textAlign=Menu.right;this.zc.U="bounding box south edge velocity";this.vc=this.w.za(Menu.mc,-120,40,50,20,"");this.vc.font=d.pc;this.vc.textAlign=Menu.right;this.vc.U="bounding box west edge velocity";this.yc=this.w.za(Menu.mc,-50,40,50,20,"");this.yc.font=d.pc;this.yc.textAlign=Menu.right;this.yc.U="bounding box north edge velocity";this.Nd=this.w.ld(null,Menu.Cd,90,0,40,20,["START"],[!1],Menu.Ad);this.Nd.font=d.mj;this.Nd.U=["autostart indicator"];this.Qd=this.w.ld(null,Menu.Cd,90,
20,40,20,["STOP"],[!1],Menu.Ad);this.Qd.font=d.mj;this.Qd.U=["stop indicator"];this.Ba=this.w.ld(this.xn,Menu.mc,-130,0,40,20,["WAYPT"],[!1],Menu.Ad);this.Ba.font=d.mj;this.Ba.U=["toggle waypoint mode"];this.Pd=this.w.ld(this.wn,Menu.mc,-130,20,40,20,["LOOP"],[!1],Menu.Ad);this.Pd.font=d.mj;this.Pd.U=["toggle loop mode"];this.Hf=this.w.ld(this.$h,Menu.mc,-40,0,40,40,[""],[!1],Menu.Ad);this.Hf.icon=[d.Da.icon("help")];this.Hf.U=["toggle help display"];this.ae=this.w.ld(this.cn,Menu.Cd,0,0,40,40,[""],
[!1],Menu.Ad);this.ae.icon=[d.Da.icon("autofit")];this.ae.U=["toggle autofit"];this.Ef=this.w.ll(this.aq,45,0);this.Ef.icon=d.Da.icon("fit");this.Ef.U="fit pattern to display";this.Gf=this.w.ld(this.dn,Menu.mc,-85,0,40,40,[""],[!1],Menu.Ad);this.Gf.icon=[d.Da.icon("grid")];this.Gf.U=["toggle grid lines"];this.fd=this.w.En();this.fd.locked=!0;this.nf=this.w.za(Menu.$e,0,-100,70,30,"Time");this.nf.textAlign=Menu.left;this.nf.font=d.Xd;this.Bf=this.w.za(Menu.$e,70,-100,70,30,"");this.Bf.textAlign=Menu.right;
this.Bf.font=d.Xd;this.Bf.U="elapsed time";this.Lb=this.w.za(Menu.$e,0,-70,140,30,"");this.Lb.textAlign=Menu.left;this.Lb.font=d.Xd;this.Lb.U="cell state at cursor position";this.hc=this.w.ld(this.hl,Menu.$e,0,-40,100,40,[""],[this.jd],Menu.Ad);this.hc.U=["toggle generation statistics"];this.Xc=this.w.za(Menu.$e,0,-40,this.s-40,40,"");this.Xc.textAlign=Menu.left;this.Xc.i=!0;this.kf=this.w.za(Menu.Fd,-140,-130,70,30,"Alive");this.kf.textAlign=Menu.left;this.kf.font=d.Xd;this.Sf=this.w.za(Menu.Fd,
-70,-130,70,30,"");this.Sf.textAlign=Menu.right;this.Sf.font=d.Xd;this.Sf.U="current population";this.ke=this.w.za(Menu.Fd,-140,-100,70,30,"Births");this.ke.textAlign=Menu.left;this.ke.font=d.Xd;this.rf=this.w.za(Menu.Fd,-70,-100,70,30,"");this.rf.textAlign=Menu.right;this.rf.font=d.Xd;this.rf.U="cells born this generation";this.Ue=this.w.za(Menu.Fd,-140,-70,70,30,"Deaths");this.Ue.textAlign=Menu.left;this.Ue.font=d.Xd;this.xf=this.w.za(Menu.Fd,-70,-70,70,30,"");this.xf.textAlign=Menu.right;this.xf.font=
d.Xd;this.xf.U="cells died this generation";this.wb=this.w.za(Menu.$e,0,-130,140,30,this.kb);this.wb.font=d.Xd;this.ya=this.w.pf(this.$d,Menu.sk,0,0,212,40,0,1,.1,"Zoom ","x",1);this.ya.U="camera zoom";this.qb=this.w.pf(this.fl,Menu.bq,30,0,40,292,d.Yi,d.$i,1,"Layers ","",0);this.qb.U="number of layers";this.Ha=this.w.pf(this.fg,Menu.Ol,-70,0,40,292,1,0,.1,"Depth ","",2);this.Ha.U="depth between layers";this.ua=this.w.pf(this.fi,Menu.sk,0,50,390,40,0,359,0,"Angle ","\u00b0",0);this.ua.U="camera angle";
this.mf=this.w.ll(this.un,0,50);this.mf.icon=d.Da.icon("shrink");this.mf.U="shrink to thumbnail";this.Ff=this.w.ld(this.tj,Menu.mc,-40,50,40,40,[""],[this.h.Vf],Menu.Ad);this.Ff.icon=[d.Da.icon("fps")];this.Ff.U=["toggle timing display"];this.ed=this.w.ld(null,Menu.Fd,-40,-40,40,40,[""],[!1],Menu.Ad);this.ed.icon=[d.Da.icon("menu")];this.ed.U=["toggle navigation menu"];this.Ib=this.w.pf(this.ln,Menu.Tm,0,-90,390,40,0,this.a.nc-1,1,"Theme ","",0);this.Ib.U="colour theme";this.aa=this.w.pf(this.xe,
Menu.Fd,-375,-40,80,40,0,1,0,"","gps",0);this.aa.U="steps per second";this.Qa=this.w.pf(this.gg,Menu.Fd,-290,-40,80,40,d.Lf,d.kc,1,"x","",0);this.Qa.U="generations per step";this.T=this.w.ld(this.Nc,Menu.Fd,-205,-40,160,40,["","","",""],d.Ea,Menu.Mk);this.T.icon=[d.Da.icon("tostart"),d.Da.icon("stepback"),d.Da.icon("pause"),d.Da.icon("play")];this.T.U=["reset","previous generation","pause","play"];this.ed.ml([this.qb,this.Ha,this.ua,this.Ib,this.mf,this.Ff]);this.hc.ml([this.kf,this.Sf,this.ke,this.rf,
this.Ue,this.xf,this.nf,this.Bf,this.wb])};z.prototype.To=function(a){var b=this,c=0,e=0;this.l=a;this.l.getContext&&(c=this.l.width,e=this.l.height,c!==this.fc&&p.Dh&&(c=this.fc),c<d.Rd&&(c=d.Rd),e<d.aj&&(e=d.aj),c&=-8,this.l.width!==c&&(this.l.width=c),this.l.height!==e&&(this.l.height=e),this.zd=this.l.getContext("2d",{alpha:!1}),this.zd.globalAlpha=1,this.zd.fillStyle="black",this.zd.fillRect(0,0,this.l.width,this.l.height),this.Pf=document.createElement("canvas"),this.Pf.width=this.l.width,this.Pf.height=
this.l.height,this.Qb=this.Pf.getContext("2d",{alpha:!1}),this.s=this.l.width,this.m=this.l.height,this.a=new Life(this.Qb,this.s,this.m,1024,1024),this.a.Bo(this.Qb,this.s,this.m),this.Qb.textAlign="left",this.Qb.textBaseline="middle",d.Da=this.Kp(this.Qb),this.h=new MenuManager(this.zd,this.Qb,"24px Arial",d.Da,this,this.eq),this.h.Vf=!1,this.Mp(),this.gh=this.T.x,this.dh=this.aa.x,this.kh=this.Qa.x,registerEvent(this.l,"DOMMouseScroll",function(a){b.um(b,a)},!1),registerEvent(this.l,"mousewheel",
function(a){b.um(b,a)},!1),this.h.notification.enabled=!0,this.h.Bn(this.w),registerEvent(this.l,"keydown",function(a){b.fq(b,a)},!1))};z.prototype.fh=function(a){switch(a){case f.Wk:case f.Jk:case f.Lk:case f.Sj:case f.Kk:case f.Ih:case f.le:case f.Gc:case f.od:case f.bk:case f.Ok:case f.Df:case f.Ak:case f.Lj:case f.wk:case f.Zg:case f.qk:case f.rk:case f.ci:case f.Yj:case f.cg:case f.bi:case f.Rh:case f.li:case f.dk:case f.pj:case f.nj:case f.uk:case f.uh:case f.th:case f.Tk:case f.cb:case f.Ej:case f.sc:case f.tc:case f.uj:case f.vj:case f.Kb:case f.yj:case f.cm:case f.Fh:case f.gi:case f.al:case f.$k:case f.Zf:case f.mi:case f.Oh:case f.Hk:case f.ji:case f.Vh:case f.Ji:case f.Th:case f.Wi:case f.Ai:case f.il:case f.$j:a=
!0;break;default:a=!1}return a};z.prototype.Vc=function(a,b,c,d,e){var f=a.te();""===f||this.fh(f)?b[b.length]=[c,d+" missing"]:(b[b.length]=[c+" "+f,d+" must be "+e],a.ma())};z.prototype.Ua=function(a,b,c,e){var f=!0,g=0,h=0,l=0,n,k,p=a.ma();if(a.Y()){g=a.Z()|0;if(0>g||255<g)b[b.length]=[e+" "+p+" "+g,"RED out of range"];if(a.Y()){h=a.Z();if(0>h||255<h)b[b.length]=[e+" "+p+" "+g+" "+h,"GREEN out of range"];a.Y()?(l=a.Z(),0>l||255<l?b[b.length]=[e+" "+p+" "+g+" "+h+" "+l,"BLUE out of range"]:f=!1):
this.Vc(a,b,e+" "+p+" "+g+" "+h,"BLUE","numeric")}else this.Vc(a,b,e+" "+p+" "+g,"GREEN","numeric")}else n=a.te(),k=ColourManager.ec[n.toLowerCase()],void 0!==k?(a.ma(),g=k[1],h=k[2],l=k[3],f=!1):""===n||this.fh(n)?b[b.length]=[e+" "+p,"name missing"]:(b[b.length]=[e+" "+p+" "+n,"name not known"],a.ma());f||(-1!==this.c[c]&&(b[b.length]=[e+" "+p+" "+g+" "+h+" "+l,"overwrites ("+(this.c[c]>>16)+" "+(this.c[c]>>8&255)+" "+(this.c[c]&255)+")"]),this.c[c]=g<<16|h<<8|l,c===d.vi?this.se=this.c[c]:c===d.wi?
this.Se=this.c[c]:c===d.xi?(this.Ab.red=g,this.Ab.green=h,this.Ab.blue=l):c===d.yi?this.ba=[g,h,l]:c===d.ti?(this.bc=[g,h,l],this.a.yg=this.a.Le?-16777216|l<<16|h<<8|g:g<<24|h<<16|l<<8|255):this.vf=!0)};z.prototype.yn=function(a,b){var c=!0,e=this.a.$b[this.a.nc];-1===this.c[d.Bg]&&(a[a.length]=[b+" "+f.Yk,"missing"],c=!1);-1===this.c[d.Cg]&&-1===this.c[d.wf]&&(a[a.length]=[b+" "+f.Zk,"missing"],c=!1);c&&(c=this.c[d.Cg],-1===c&&(c=this.c[d.wf]),e.ac.red=c>>16,e.ac.green=c>>8&255,e.ac.blue=c&255,c=
this.c[d.Bg],e.La.I.red=c>>16,e.La.I.green=c>>8&255,e.La.I.blue=c&255,c=this.c[d.si],-1===c&&(c=this.c[d.Bg]),e.La.$.red=c>>16,e.La.$.green=c>>8&255,e.La.$.blue=c&255,c=this.c[d.wf],-1===c&&(c=this.c[d.Cg]),e.Ga.I.red=c>>16,e.Ga.I.green=c>>8&255,e.Ga.I.blue=c&255,c=this.c[d.ui],-1===c&&(c=this.c[d.wf]),e.Ga.$.red=c>>16,e.Ga.$.green=c>>8&255,e.Ga.$.blue=c&255,this.a.ve(this.a.nc,1))};z.prototype.zn=function(a){var b=this.W.uo();b.gf||(b.x=this.a.width/2-this.a.D);b.ze||(b.y=this.a.height/2-this.a.A);
b.uc||(b.zoom=this.a.zoom);b.ih||(b.G=this.a.G);b.Ch||(b.o=this.a.o);b.oh||(b.depth=this.a.ic);b.Kg||(b.Na=this.fb);b.Sh||(b.step=this.F);b.cf||(b.Ra=this.a.sd);this.W.Yo(a)};z.prototype.cq=function(a){var b=a,c=this.Qb,e,f=a.length;c.font=d.eg;e=c.measureText(a).width;if(420<e){--f;for(e=c.measureText(a.substr(0,f)+"...").width;420<e;)--f,e=c.measureText(a.substr(0,f)+"...").width;b=b.substr(0,f)+"..."}return b};z.prototype.wg=function(a,b){var c=a;a.length>b&&(c=a.substr(0,b-1)+"...");return c};
z.prototype.Ui=function(a,b,c){var d=a.indexOf("\\n");-1!==d&&(c?b[b.length]=[f.Zg+" "+f.ib+this.wg(a,23)+f.ib,"only one line allowed"]:(d=a.substr(d+2).indexOf("\\n"),-1!==d&&(b[b.length]=[f.ib+this.wg(a,23),"only two lines allowed"])))};z.prototype.Di=function(a,b,c){var d=f.Vh+" ",e="overwrites (",d=b>=this.a.nc?d+f.Uh:d+b,e=c>=this.a.nc?e+f.Uh:e+c;a[a.length]=[d,e+")"]};z.prototype.cc=function(a,b,c,d,e,f){var g=0,h=0,l=0,n,k;if(a.Y())if(g=a.Z()|0,0>g||255<g)b[b.length]=[d+" "+f+" "+g,"RED out of range"],
e=!0;else if(a.Y())if(h=a.Z()|0,0>h||255<h)b[b.length]=[d+" "+f+" "+g+" "+h,"GREEN out of range"],e=!0;else if(a.Y()){if(l=a.Z()|0,0>l||255<l)b[b.length]=[d+" "+f+" "+g+" "+h+" "+l,"BLUE out of range"],e=!0}else this.Vc(a,b,d+" "+f+" "+g+" "+h,"BLUE","numeric"),e=!0;else this.Vc(a,b,d+" "+f+" "+g,"GREEN","numeric"),e=!0;else n=a.te(),k=ColourManager.ec[n.toLowerCase()],void 0!==k?(a.ma(),g=k[1],h=k[2],l=k[3]):(e=!0,""===n||this.fh(n)?b[b.length]=[d+" "+f,"name missing"]:(b[b.length]=[d+" "+f+" "+
n,"name not known"],a.ma()));e||(-1!==this.L[c]&&(b[b.length]=[d+" "+f+" "+g+" "+h+" "+l,"overwrites ("+(this.L[c]>>16)+" "+(this.L[c]>>8&255)+" "+(this.L[c]&255)+")"]),this.L[c]=g<<16|h<<8|l)};z.prototype.Ci=function(a,b,c){var e=!0,g=b.te(),h,l=-1,n,k;h=a===f.le?this.a.Jf:this.a.Kf;if(g.length!==d.bl)if(b.Y()){g=b.ma();l=b.ql(g);if(l<d.wm||l>d.pm)c[c.length]=[a+" "+l,"argument out of range"],l=.5;k=0;h[k]=0;for(k+=1;512>k;)myRand.random()<l?h[k]=1:h[k]=0,k+=1}else e=!1;else for(n=0;n<d.bl&&e;)-1===
d.ni.indexOf(g[n])?e=!1:n+=1;if(e&&(a===f.le?(this.dc&&(c[c.length]=[a,"overwrites previous definition"]),this.dc=!0):(this.Wc&&(c[c.length]=[a,"overwrites previous definition"]),this.Wc=!0),-1===l)){k=n=0;for(g=b.ma();n<d.bl-1;)a=d.ni.indexOf(g[n]),h[k]=a>>5,k+=1,h[k]=a>>4&1,k+=1,h[k]=a>>3&1,k+=1,h[k]=a>>2&1,k+=1,h[k]=a>>1&1,k+=1,h[k]=a&1,k+=1,n+=1;a=d.ni.indexOf(g[n]);h[k]=a>>5;h[k+1]=a>>4&1}return e};z.prototype.vn=function(a){var b="",c=a.indexOf(f.rc),e;if(-1===c)b=a;else{for(;-1!==c;)if(b+=
a.substr(0,c),c+1<a.length){e=a[c+1];a=a.substr(c+2);switch(e){case "B":b+=d.el;break;case "N":b+=this.ef;break;case "R":b+=this.kb;break;case "A":b=""===this.Ka?b+this.kb:b+this.Ka;break;case "O":b+=this.ff;break;case "T":b+=d.ro;break;case f.rc:b+=f.rc;break;default:b+=f.rc+e}c=a.indexOf(f.rc)}else c=-1;b+=a}return b};z.prototype.fa=function(a,b,c,d){d[d.length]=a?b===f.Gc?[b+" "+c,"already defined"]:[b+" "+c,"overwrites "+f.Gc]:b===f.Gc?[b+" "+c,"overwrites "+f.od]:[b+" "+c,"already defined"]};
z.prototype.xa=function(a){var b="";a===(a|0)?b=String(a):b=a.toFixed(2);return b};z.prototype.qn=function(a,b){var c=new Script(a),e=!1,g,h,l=!1,n="",k=0,p,q,t=this.Zb,u=0,z="",C=this.W.ri(),y=!1,S=!1,G,I=-1,O=-1,Y=-1,T,X,L;this.$g=this.df=0;this.vf=!1;this.c[d.Cg]=-1;this.c[d.Bg]=-1;this.c[d.si]=-1;this.c[d.wf]=-1;this.c[d.ui]=-1;this.c[d.vi]=-1;this.c[d.wi]=-1;this.c[d.xi]=-1;this.c[d.yi]=-1;this.c[d.ti]=-1;this.L=[];if(c.Rl(f.Oh)){for(g=0;256>g;g+=1)this.L[g]=-1;for(g=c.ma();""!==g;){G="numeric";
if(l)g[g.length-1]===f.ib?(n=n+" "+g.substr(0,g.length-1),l=!1,this.Ui(n,t,e),e?(""!==this.Ca&&(t[t.length]=[f.Zg+" "+f.ib+this.wg(n,20)+f.ib,"overwrites "+f.ib+this.Ca+f.ib]),this.Ca=n,e=!1):(C.Sb=n,C.Xk=!0)):n=n+" "+g;else if(g[0]===f.ib)n=g.substr(1),l=!0,g[g.length-1]===f.ib&&(l=!1,n=n.substr(0,n.length-1),this.Ui(n,t,e),e?(""!==this.Ca&&(t[t.length]=[f.Zg+" "+f.ib+this.wg(n,20)+f.ib,"overwrites "+f.ib+this.Ca+f.ib]),this.Ca=n,e=!1):(C.Sb=n,C.Xk=!0));else{p=q=!1;this.df+=1;switch(g){case f.Zg:p=
e=!0;break;case f.qk:p=this.Bd=!0;break;case f.rk:this.rh=!1;p=!0;break;case f.Rh:p=this.Vg=!0;break;case f.li:p=C.Wb=!0;break;case f.dk:p=this.Ke=!0;break;case f.uh:p=this.a.yb=!0;break;case f.th:c.Y()&&(q=!0,k=c.Z()|0,k>=d.Lo&&k<=d.Eo&&(this.a.Ec=k,p=!0));break;case f.cb:case f.Ej:z=g;h=!1;if(c.Y()){p=c.Z()|0;if(0>p||255<=p)t[t.length]=[g+" "+p,"STATE out of range"],h=!0;this.cc(c,t,p,g,h,p)}else switch(h=c.te(),h){case f.ym:h=c.ma();this.cc(c,t,d.zm,g,!1,h);break;case f.Am:h=c.ma();this.cc(c,t,
d.Bm,g,!1,h);break;case f.Yl:h=c.ma();this.cc(c,t,d.$l,g,!1,h);break;case f.im:h=c.ma();this.cc(c,t,d.jm,g,!1,h);break;case f.mm:h=c.ma();this.cc(c,t,d.nm,g,!1,h);break;case f.km:h=c.ma();this.cc(c,t,d.lm,g,!1,h);break;case f.em:h=c.ma();this.cc(c,t,d.fm,g,!1,h);break;case f.Zm:this.Ua(c,t,d.Cg,z);break;case f.Yk:this.Ua(c,t,d.Bg,z);break;case f.Ym:this.Ua(c,t,d.si,z);break;case f.Zk:this.Ua(c,t,d.wf,z);break;case f.$m:this.Ua(c,t,d.ui,z);break;case f.uh:this.Ua(c,t,d.vi,z);break;case f.th:this.Ua(c,
t,d.wi,z);break;case f.Rh:this.Ua(c,t,d.xi,z);break;case f.Wk:this.Ua(c,t,d.yi,z);break;case f.tl:this.Ua(c,t,d.ti,z);break;default:t[t.length]=[g+" "+h,"illegal element"],c.ma()}p=!0;break;case f.Hk:c.Rl(f.Oh);p=!0;--this.df;break;case f.gi:p=this.ub=!0;break;case f.Tk:p=this.Gi=!0;break;case f.mi:p=this.nd=!0;break;case f.Yj:p=this.Oi=!0;break;case f.ci:c.Y()&&(q=!0,k=c.Z(),k>=d.Pe&&k<=d.Oe&&(T=k,q=!1,g+=" "+k,c.Y()&&(q=!0,k=c.Z(),k>=d.Pe&&k<=d.Oe&&(X=k,p=!0,this.Sa&&(t[t.length]=[f.ci+" "+T+" "+
X,"overwrites "+O+" "+Y]),O=T,Y=X,this.Sa=!0))));break;case f.bi:c.Y()&&(q=!0,k=c.Z()|0,0<k&&(h=k,q=!1,g+=" "+k,c.Y()&&(q=!0,k=c.Z(),k>=d.Pe&&k<=d.Oe&&(T=k,q=!1,g+=" "+k,c.Y()&&(q=!0,k=c.Z(),k>=d.Pe&&k<=d.Oe&&(X=k,p=!0,this.xd&&(t[t.length]=[f.bi+" "+h+" "+T+" "+X,"overwrites "+I+" "+O+" "+Y]),I=h,O=T,Y=X,this.Sa=this.xd=!0))))));break;case f.cg:c.Y()&&(q=!0,k=c.Z(),k>=d.Pe&&k<=d.Oe&&(X=k,q=!1,g+=" "+k,c.Y()&&(q=!0,k=c.Z(),k>=d.Pe&&k<=d.Oe&&(T=k,q=!1,g+=" "+k,c.Y()&&(q=!0,k=c.Z(),k>=d.Pe&&k<=d.Oe&&
(L=k,q=!1,g+=" "+k,c.Y()&&(q=!0,k=c.Z(),k>=d.Pe&&k<=d.Oe&&(h=k,p=!0,L>X?t[t.length]=[f.cg+" W "+this.xa(L)+" E "+this.xa(X),"W is greater than E"]:h>T?t[t.length]=[f.cg+" N "+this.xa(h)+" S "+this.xa(T),"N is greater than S"]:(this.vd&&(t[t.length]=[f.cg+" "+this.xa(X)+" "+this.xa(T)+" "+this.xa(L)+" "+this.xa(h),"overwrites "+this.xa(this.ab)+" "+this.xa(this.bb)+" "+this.xa(this.Cb)+" "+this.xa(this.Bb)]),this.Sa=this.vd=!0,this.Bb=h,this.ab=X,this.bb=T,this.Cb=L)))))))));break;case f.Fh:c.Y()&&
(q=!0,k=c.Z()|0,0<k&&(-1!==this.ia&&(t[t.length]=[f.Fh+" "+k,"overwrites "+this.ia]),this.ia=k,p=!0));break;case f.Th:c.Y()&&(q=!0,k=c.Z()|0,0<k&&(-1!==this.Hd&&(t[t.length]=[f.Th+" "+k,"overwrites "+this.Hd]),this.Hd=k,p=!0));break;case f.ji:c.Y()&&(q=!0,k=c.Z()|0,0<=k&&359>=k&&(C.ih&&(t[t.length]=[f.ji+" "+k,"overwrites ("+C.G+")"]),C.G=k,p=C.ih=!0));break;case f.Wi:c.Y()&&(q=!0,k=c.Z()|0,k>=d.$i&&k<=d.Yi&&(C.Ch&&(t[t.length]=[f.Wi+" "+k,"overwrites ("+C.o+")"]),C.o=k,p=C.Ch=!0));break;case f.Ai:c.Y()&&
(q=!0,k=c.Z(),k>=d.Zi&&k<=d.qm&&(C.oh&&(t[t.length]=[f.Ai+" "+k+"overwrites ("+C.depth+")"]),C.depth=k,p=C.oh=!0));break;case f.uj:c.Y()&&(q=!0,k=c.Z(),k>=-this.a.gb/2&&k<=this.a.gb/2&&(this.S=k,p=!0));break;case f.vj:c.Y()&&(q=!0,k=c.Z(),k>=-this.a.gb/2&&k<=this.a.gb/2&&(this.V=k,p=!0));break;case f.sc:c.Y()&&(q=!0,k=c.Z(),k>=-this.a.gb/2&&k<=this.a.gb/2&&(C.gf&&(t[t.length]=[f.sc+" "+k,"overwrites ("+C.x+")"]),C.x=-k,p=C.gf=!0));break;case f.tc:c.Y()&&(q=!0,k=c.Z(),k>=-this.a.gb/2&&k<=this.a.gb/
2&&(C.ze&&(t[t.length]=[f.tc+" "+k,"overwrites ("+C.y+")"]),C.y=-k,p=C.ze=!0));break;case f.cm:p=!0;break;case f.yj:case f.Kb:c.Y()&&(q=!0,k=c.Z(),k>=d.sa&&k<=d.hb?(C.uc&&(t[t.length]=1>C.zoom?[f.Kb+" "+k,"overwrites ("+-(1/C.zoom)+")"]:[f.Kb+" "+k,"overwrites ("+C.zoom+")"]),C.zoom=k,p=C.uc=!0):k>=d.Mo&&k<=d.Go&&(C.uc&&(t[t.length]=1>C.zoom?[f.Kb+" "+k,"overwrites ("+-(1/C.zoom)+")"]:[f.Kb+" "+k,"overwrites ("+C.zoom+")"]),C.zoom=-(1/k),p=C.uc=!0));break;case f.Ji:c.Y()&&(q=!0,k=c.Z()|0,k>=d.dd&&
k<=d.Ne&&(C.Kg&&(t[t.length]=[f.Ji+" "+k,"overwrites ("+C.Na+")"]),C.Na=k,p=C.Kg=!0));break;case f.al:this.yd||(this.$f=this.ea=!0);p=!0;break;case f.bn:this.yd||(this.Zf=this.$f=this.ea=!0,this.h.Zf=!0);p=!0;break;case f.$k:c.Y()&&(q=!0,k=c.Z()|0,k>=d.xm&&k<=d.sm&&(this.tb=k,p=!0));break;case f.Vh:c.Y()?(q=!0,k=c.Z()|0,0<=k&&k<this.a.nc&&(C.cf&&this.Di(t,k,C.Ra),C.Ra=k,p=C.cf=!0)):(h=c.te(),h===f.Uh&&(c.ma(),this.vf?(C.cf&&this.Di(t,this.a.nc,C.Ra),C.Ra=this.a.nc,C.cf=!0):t[t.length]=[f.Vh+" "+f.Uh,
"no custom THEME defined"],p=!0));break;case f.Oh:t[t.length]=[g,"already in a script block"];p=!0;break;case f.Kk:this.ca=!this.ca;p=!0;break;case f.Lk:this.Ff.current=this.tj([!0],!0,this);p=!0;break;case f.Sj:p=this.h.Ug=!0;break;case f.Jk:this.hl([!0],!0,this);this.hc&&(this.hc.current=[this.jd],this.h.bg=!0);p=!0;break;case f.Lj:c.Y()&&(q=!0,k=c.Z()|0,k>=d.vm&&k<=d.om&&(p=!0,this.a.fj=k));break;case f.Ok:this.a.J=!1;this.ua.i=this.a.J;p=!0;break;case f.bk:this.a.J=!0;this.ua.i=this.a.J;p=!0;
break;case f.Ak:this.tg=c.ma();p=this.ug=!0;break;case f.Df:c.Y()?(q=!0,k=c.Z(),k>=d.wm&&k<=d.pm&&(-1!==this.Nb&&(t[t.length]=-2===this.Nb?[f.Df+" "+k,"overwrites "+f.md]:[f.Df+" "+k,"overwrites "+this.Nb]),this.Nb=k,p=!0)):(h=c.te(),h===f.md&&(-1!==this.Nb&&(t[t.length]=-2===this.Nb?[f.Df+" "+k,"overwrites "+f.md]:[f.Df+" "+k,"overwrites "+this.Nb]),c.ma(),this.Nb=-2,p=!0));break;case f.le:p=this.Ci(f.le,c,t);G="base64";break;case f.Ih:p=this.Ci(f.Ih,c,t);G="base64";break;case f.Gc:h=c.te();switch(h){case f.sc:C.ye&&
this.fa(C.Oc,f.Gc,f.sc,t);C.Oc=!0;C.ye=!0;c.ma();break;case f.tc:C.Ae&&this.fa(C.Pc,f.Gc,f.tc,t);C.Pc=!0;C.Ae=!0;c.ma();break;case f.Kb:C.kl&&this.fa(C.Qc,f.Gc,f.Kb,t);C.Qc=!0;C.hi=!0;c.ma();break;case f.md:C.ye&&this.fa(C.Oc,f.Gc,f.sc,t);C.Ae&&this.fa(C.Pc,f.Gc,f.tc,t);C.kl&&this.fa(C.Qc,f.Gc,f.Kb,t);C.Oc=!0;C.ye=!0;C.Pc=!0;C.Ae=!0;C.Qc=!0;C.hi=!0;c.ma();break;default:this.Vc(c,t,f.Gc,"argument",f.md+", "+f.sc+", "+f.tc+" or "+f.Kb)}p=!0;break;case f.od:h=c.te();switch(h){case f.sc:C.ye&&this.fa(C.Oc,
f.od,f.sc,t);C.Oc=!1;C.ye=!0;c.ma();break;case f.tc:C.Ae&&this.fa(C.Pc,f.od,f.tc,t);C.Pc=!1;C.Ae=!0;c.ma();break;case f.Kb:C.kl&&this.fa(C.Qc,f.od,f.Kb,t);C.Qc=!1;C.hi=!0;c.ma();break;case f.md:C.ye&&this.fa(C.Oc,f.od,f.sc,t);C.Ae&&this.fa(C.Pc,f.od,f.tc,t);C.kl&&this.fa(C.Qc,f.od,f.Kb,t);C.Oc=!1;C.ye=!0;C.Pc=!1;C.Ae=!0;C.Qc=!1;C.hi=!0;c.ma();break;default:this.Vc(c,t,f.od,"argument",f.md+", "+f.sc+", "+f.tc+" or "+f.Kb)}p=!0;break;case f.wk:S=!0;this.W.add(C);C=this.W.ri();p=C.dm=!0;break;case f.pj:c.Y()&&
(q=!0,k=c.Z()|0,0<=k&&(y||(y=!0),0<k&&(this.W.add(C),C=this.W.ri()),C.wa=k,p=C.Wm=!0));break;case f.nj:c.Y()&&(q=!0,k=c.Z()|0,k>=d.Lf&&k<=d.kc&&(C.Sh&&(t[t.length]=[f.nj+" "+k,"overwrites ("+C.step+")"]),C.step=k,p=C.Sh=!0));break;case f.uk:c.Y()&&(q=!0,k=c.Z(),0<k&&(y||(y=!0),this.W.add(C),C=this.W.ri(),C.Za=k,p=C.Xm=!0));break;case f.il:c.Y()&&(q=!0,k=c.Z()|0,k>=d.Rd&&k<=this.fc||this.yd)&&(p=!0,this.yd||(this.Yc=k));break;case f.$j:c.Y()&&(q=!0,k=c.Z()|0,k>=d.aj&&k<=d.tm||this.yd)&&(p=!0,this.yd||
(this.De=k));break;default:t[t.length]=[g,"unknown or misspelt command"],p=!0}p||(q?t[t.length]=[g+" "+k,"argument out of range"]:this.Vc(c,t,g,"argument",G))}""!==g&&(g=c.ma())}l&&(t[t.length]=[f.ib+n,"unterminated string"]);this.Wc&&!this.dc&&(t[t.length]=[f.Ih,"defined without "+f.le],this.Wc=!1);y&&this.Sa&&(c=this.vd?f.cg:this.xd?f.bi:f.ci,t[t.length]=[c,"can not be used with Waypoints"],this.xd=this.vd=this.Sa=!1);this.vd||!this.Sa&&!this.xd||(this.xd&&(0<this.a.Ec&&(I*=this.a.Ec),this.ia=I),
this.Bb=Y,this.ab=O,this.bb=Y,this.Cb=O);(y||S)&&this.W.add(C);if(y)for(C=this.W.ja[0],C.cf&&this.a.ve(C.Ra,1),C.uc&&(this.a.zoom=C.zoom,this.ng=!0),C.Kg&&(this.fb=C.Na),this.$a=!0,g=0;g<this.W.ja.length;g+=1)C=this.W.ja[g],C.Wb&&(C.gf||C.ze||C.uc)&&(n="",C.gf?(n="X "+C.x,C.ze?n=C.uc?n+(", Y "+C.y+" and ZOOM "+C.zoom):n+(" and Y "+C.y):C.uc&&(n+=" and ZOOM "+C.zoom)):C.ze?(n="Y "+C.y,C.uc&&(n+=" and ZOOM "+C.zoom)):C.uc&&(n="ZOOM "+C.zoom),t[t.length]=[f.li,"overwrites "+n]);else C.Wb&&(this.Va=!0),
C.gf&&(this.a.D=this.a.width/2-C.x),C.ze&&(this.a.A=this.a.height/2-C.y),C.uc&&(this.a.zoom=C.zoom),C.ih&&(this.a.G=C.G),C.cf&&this.a.ve(C.Ra,1),C.oh&&(this.a.ic=C.depth/d.zf+d.Zi),C.Ch&&(this.a.o=C.o),C.Kg&&(this.fb=C.Na),C.Sh&&(this.F=C.step),C.Xk&&this.h.notification.H(C.Sb,1E3,!1);C.uc&&(this.ng=!0);C.gf&&(this.ah=!0);C.ze&&(this.bh=!0);for(g=0;g<b;g+=1)-1!==this.L[g]&&(u+=1);if(0<u){this.ig=!0;for(g=0;g<b;g+=1)PatternManager.Mc[g]?-1===this.L[g]?(u=this.ec[g],this.Gi&&(t[t.length]=this.a.ad?
[z+" "+d.Gp[g],"definition missing (used "+(u>>16)+" "+(u>>8&255)+" "+(u&255)+")"]:[z+" "+g,"definition missing (used "+(u>>16)+" "+(u>>8&255)+" "+(u&255)+")"]),this.L[g]=u,this.ig=!1,this.Od[g]=d.Vm):this.Od[g]=d.Um:this.Od[g]=d.Sk;this.pe=this.ig?"(custom)":this.pe+" (custom*)"}else this.L=[];this.vf&&this.yn(t,z);-1!==this.se&&(this.a.Fc=this.se);-1!==this.Se&&(this.a.wd=this.Se);2<b&&!this.a.ad&&-1===this.a.u&&(this.ub=!0);this.ub&&(c="not possible due to "+f.gi,this.nd&&(t[t.length]=[f.mi,c],
this.nd=!1),-1!==this.Hd&&(t[t.length]=[f.Th+" "+this.Hd,c]),-1!==this.ia&&(t[t.length]=[f.Fh+" "+this.ia,c]));this.ha+d.kc+2*Math.abs(this.S)>=this.a.gb&&(t[t.length]=[f.uj+" "+this.S,"pattern does not fit on grid at this offset"],this.S=0);this.Fa+d.kc+2*Math.abs(this.V)>=this.a.gb&&(t[t.length]=[f.vj+" "+this.V,"pattern does not fit on grid at this offset"],this.V=0);this.$g=t.length}this.vf&&this.Ib&&(this.Ib.upper=this.a.nc);""!==this.Ca&&(this.Ca=this.vn(this.Ca));this.Va&&(this.ki=!0)};z.prototype.tn=
function(){this.ug=!1;this.a.Hc=0;this.a.oc=0;this.a.Rb=1;this.ca=this.ki=this.Va=!1;this.L=[];this.ba=null;this.Ee=this.nd=this.Oi=!1;this.ia=this.Hd=-1;this.Ta=this.xd=this.Sa=this.vd=this.$a=this.jb=this.oa=!1};z.prototype.Uk=function(){this.Zf?a(this.Po):(this.s=this.Qi,this.m=this.nh,this.a.zoom=this.Ti,this.ya&&(this.ya.current=this.$d([this.a.zoom,this.a.zoom],!1,this)),this.B=this.Pi,this.ea=!1,this.h.ea=!1,this.w.i=!1,this.h.notification.H("Shrink with hotkey N",100,!0))};z.prototype.eq=
function(a){a.ea&&(a.Uk(),a.resize())};z.prototype.resize=function(){this.l.width=this.s;this.l.height=this.m;this.Pf.width=this.s;this.Pf.height=this.m;this.Qb.textBaseline="middle";this.a.Km(this.s,this.m)};z.prototype.Vk=function(){this.Qi=this.s;this.nh=this.m;this.Ti=this.a.zoom;this.Pi=this.B;this.s=this.s/this.tb|0;this.m=this.m/this.tb|0;this.a.zoom=this.a.zoom/this.tb;this.s&=-8;this.w.i=!0;this.h.ea=!0;this.h.tb=this.tb;this.ea=!0};z.prototype.Rk=function(a,b){var c,e,g,h,k,l=!1;this.Zb=
[];if(c=PatternManager.create("",a))for(this.Ie=PatternManager.Ie,this.Hi=PatternManager.Uj,this.Te=PatternManager.Te,this.Be=PatternManager.xk,this.Ce=PatternManager.yk,this.ha=c.width,this.Fa=c.height,this.ef=c.name,this.ff=c.Cm,this.Dd=c.Dd,""===this.Dd&&(this.Dd="(none)"),this.gc=c.re,this.jf=c.Hh,this.kb=c.pa,this.Ka=c.pl,this.Ia=PatternManager.Ia,this.a.ad=c.Pb,this.a.u=c.u,this.a.J=c.J,this.a.dj=c.J,this.a.bd=c.bd,this.a.hg=c.hg,this.a.Db=c.ge,this.a.qa=c.Zc,this.a.Ma=c.Md,this.a.lh=c.sh,this.a.mh=
c.Lg,this.a.Bj=c.Wj,this.a.wl=c.Ni,this.hf=new Uint32Array(this.gc),e=0;e<this.gc;e+=1)this.hf[e]=PatternManager.Mc[e];else this.Ie=!1,this.Hi=0,this.Te=!1,this.Ce=this.Be=0,this.ff=this.ef=this.Ka=this.kb="",this.jf=this.gc=this.Fa=this.ha=0,this.Dd="(none)",this.a.ad=!1,this.a.J=!1,this.a.bd=!1,this.a.hg=-1,this.a.dj=!1,this.a.u=-1,this.a.Db=-1;this.rh=!0;this.Ii=!1;this.ua.i=this.a.J;this.eb=PatternManager.eb;this.a.X=!0;this.a.Cc=-1===this.a.u?!1:!0;this.Nb=this.a.oj=-1;this.og=0;this.Wc=this.dc=
!1;this.a.fj=d.Il;this.V=this.S=0;this.qc=this.de=-1;this.zg=!1;this.Ke=this.w.locked=!1;this.a.wo();this.a.xo();this.a.ad&&((PatternManager.Mc[2]||PatternManager.Mc[3]||PatternManager.Mc[4]||PatternManager.Mc[5]||PatternManager.Mc[6])&&this.a.Yn(),PatternManager.Mc[6]&&this.a.Zn());this.Ca="";this.Vg=!1;ColourManager.$c();this.a.Un();this.a.Tn();this.a.On();this.a.ad?this.a.ve(10,1):-1!==this.a.u?this.a.ve(11,1):this.a.ve(1,1);this.a.Dl();this.a.Mb(1);this.fb=60;this.F=1;this.a.o=1;this.a.ic=.1;
this.a.G=0;this.a.zoom=6;this.a.D=this.a.width/2;this.a.A=this.a.height/2;this.bh=this.ah=this.ng=!1;this.De=this.Yc=-1;this.c[d.Cg]=-1;this.c[d.Bg]=-1;this.c[d.si]=-1;this.c[d.wf]=-1;this.c[d.ui]=-1;this.c[d.vi]=-1;this.c[d.wi]=-1;this.c[d.xi]=-1;this.c[d.yi]=-1;this.c[d.ti]=-1;this.ea&&(this.Uk(),this.resize());this.$f=!1;this.h.ea=!1;this.tb=d.Jl;this.Zf=!1;this.ub=this.Gb=this.h.mq=!1;this.a.yb=!1;this.T.i=!1;this.hc.i=!1;this.aa.i=!1;this.Qa.i=!1;this.ed.i=!1;this.qb.i=!1;this.Ha.i=!1;this.Ib.i=
!1;this.w.i=!1;this.fd.i=!1;this.ed.current=[!1];this.hc.current=[!1];this.ga=this.B=0;this.Hf.current=this.$h([this.B],!0,this);this.a.Fc=this.a.Mi;this.a.wd=this.a.Xj;this.a.Ec=10;this.a.Je=!0;this.se=this.Se=-1;this.bc=[96,96,96];this.a.yg=this.a.Le?4284506208:1616929023;this.W.reset();this.Bd=this.$a=!1;if(c){if(PatternManager.Jg||c.Pb)c.Pb?(this.ec=ColourManager.Bl("LifeHistory"),this.ec[2]=96):this.ec=ColourManager.Bl(c.pa),this.ec.length?this.pe=c.pa:(this.ec=ColourManager.Hj,this.pe="(default)");
this.tn();c.title&&(this.qn(c.title,c.re),myRand.$c(this.tg),this.Zb.length&&(this.ga=1),this.ea&&b&&(this.ea=!1),-1<this.Yc&&(this.Yc&=-8,this.Yc!==this.s&&(this.s=this.Yc,l=!0)),-1<this.De&&this.De!==this.m&&(this.m=this.De,l=!0));-1!==this.a.Db?(e=this.a.qa,g=this.a.Ma,0===e&&(e=c.width),0===g&&(g=c.height)):(e=c.width,g=c.height);this.Te&&(-1!==this.a.Db?(this.S+=(this.a.qa>>1)+this.Be,this.V+=(this.a.Ma>>1)+this.Ce):(this.S+=(c.width>>1)+this.Be,this.V+=(c.height>>1)+this.Ce));for(;this.a.width<
this.a.gb&&(e+d.kc+2*Math.abs(this.S)>=this.a.width||g+d.kc+2*Math.abs(this.V)>=this.a.height);)this.a.Ul(),this.Eb+=this.a.width>>2,this.Hg+=this.a.height>>2,this.zb+=this.a.width>>2,this.Tf+=this.a.height>>2,this.a.J&&(this.Eb-=this.a.height>>3,this.zb-=this.a.height>>3);this.a.ad&&PatternManager.Mc[6]&&this.a.Xo(c,this.S,this.V);this.ba?this.h.notification.Dj="rgb("+this.ba[0]+","+this.ba[1]+","+this.ba[2]+")":this.h.notification.Dj=this.h.notification.Gm;if(0===this.L.length)for(e=0;e<this.ec.length;e+=
1)this.Od[e]=PatternManager.Mc[e]?d.Vm:d.Sk;this.a.Yb?(this.a.Vn(this.ec,this.L),this.a.ee=!0):this.a.ee=!1;this.cp(c);-1!==this.Nb&&this.Ql();this.a.Pp(this.dc,this.Wc);this.dc?this.wb.Ya=f.le:(this.wb.Ya=""!==this.Ka?this.Ka:this.kb,this.wb.U="rule "+this.kb,""!==this.Ka&&(this.wb.U+=" alias "+this.Ka))}this.ae.current=[this.Va];this.Gf.current=[this.a.yb];this.a.ip();this.a.Jm();this.Ld=this.elapsedTime=this.a.j=0;this.Gb?(c&&0<this.L.length&&(this.ec=this.L),this.a.Xn(this.ec),this.a.Lc.reset()):
(-1===this.a.u&&this.a.kp(this.a.Xa),this.a.ad&&PatternManager.Mc[2]&&this.a.Rn(c,this.S,this.V),this.a.lp(this.a.Xa),-1!==this.a.Db&&this.a.xp(),this.a.sp(this.Bd),this.a.Dk(this.Bd));c&&(c.oe=null);e=this.a.zoom;g=this.a.D;h=this.a.A;k=this.ea;this.ea=!1;this.fe(!0,!1);this.ea=k;this.ng&&(this.a.zoom=e);this.ah&&(this.a.D=g);this.bh&&(this.a.A=h);this.$a&&this.zn(this.Zb);this.Kl=this.a.zoom;this.ya&&(this.ya.current=this.$d([this.a.zoom,this.a.zoom],!1,this));this.Eb=this.a.D;this.Hg=this.a.A;
this.Eg=this.a.G;this.ua&&(this.ua.current=[this.Eg,this.Eg]);this.yf=this.a.sd;this.Ib&&(this.Ib.current=[this.yf,this.yf]);this.Kj=this.fb;e=Math.sqrt((this.Kj-d.dd)/(d.Ne-d.dd));this.aa&&(this.aa.current=this.xe([e,e],!0,this));this.zi=this.F;this.Qa&&(this.Qa.current=this.gg([this.zi,this.zi],!0,this));this.Gg=this.a.o;this.qb&&(this.qb.current=[this.Gg,this.Gg]);this.Jj=this.a.ic;e=Math.sqrt(this.Jj);this.Ha&&(this.Ha.current=this.fg([e,e],!0,this));this.X=!0;this.nd&&!this.Ee?(this.pb=!0,this.T.current=
d.Pg):(this.pb=!1,this.T.current=d.Ea);this.Pm(this.pb);this.m<d.Gh?(this.ed.i=!0,this.T.x=this.gh+45,this.T.gd=this.T.x,this.aa.x=this.dh+45,this.aa.gd=this.aa.x,this.Qa.x=this.kh+45):(this.T.x=this.gh,this.T.gd=this.T.x,this.aa.x=this.dh,this.aa.gd=this.aa.x,this.Qa.x=this.kh);this.Qa.gd=this.Qa.x;if(l||this.ea)this.ea&&this.Vk(),this.resize();c||(PatternManager.we?this.h.notification.H("Pattern too big!",d.Rj,!1):this.h.notification.H("Invalid pattern!",d.Rj,!1));this.Zb.length?this.B=0:this.ga=
0;this.Ia||(this.ub=!0);this.ub?(this.T.i=!0,this.hc.i=!0,this.fd.i=!0,this.aa.i=!0,this.Qa.i=!0,this.Gb&&(this.qb.i=!0,this.Ha.i=!0,this.Ib.i=!0,this.a.o=1),this.Xc.i=!1,""===this.eb?this.Xc.Ya=f.gi:this.Xc.Ya=this.eb):this.Xc.i=!0;this.gn();this.Ck(null,6,14,0);this.jc=!1;this.Vi="";this.Nm(this);this.h.bg=!0;this.h.Ze(!0);this.yd&&this.qj&&(""===this.Ca?this.qj.nodeValue="LifeViewer":this.qj.nodeValue=this.cq(this.Ca))};registerEvent(window,"load",n,!1);window.Keywords=f;window.ViewConstants=d;
window.startAllViewers=n;window.updateViewer=a;window.updateMe=function(a){var b=g(a).getElementsByTagName(p.Rf)[0];a=l.Jb[0];b.innerHTML=b.value;b=c(b);a[1].gl(a[1]);a[1].h.notification.clear(!0,!0);a[1].h.notification.clear(!1,!0);a[1].Rk(b,!1)};window.hideViewer=k;window.launchInMolly=e})();

Revision as of 17:04, 15 August 2017

/* Test if an element has a certain class
 */
 
var hasClass = (function () {
    var reCache = {};
    return function (element, className) {
        return (reCache[className] ? reCache[className] : (reCache[className] = new RegExp("(?:\\s|^)" + className + "(?:\\s|$)"))).test(element.className);
    };
})();

/** Collapsible tables *********************************************************
 *
 *  Description: Allows tables to be collapsed, showing only the header.
 */
 
var autoCollapse = 2;
var collapseCaption = "hide";
var expandCaption = "show";
 
function collapseTable( tableIndex )
{
    var Button = document.getElementById( "collapseButton" + tableIndex );
    var Table = document.getElementById( "collapsibleTable" + tableIndex );
 
    if ( !Table || !Button ) {
        return false;
    }
 
    var Rows = Table.rows;
 
    if ( Button.firstChild.data == collapseCaption ) {
        for ( var i = 1; i < Rows.length; i++ ) {
            Rows[i].style.display = "none";
        }
        Button.firstChild.data = expandCaption;
    } else {
        for ( var i = 1; i < Rows.length; i++ ) {
            Rows[i].style.display = Rows[0].style.display;
        }
        Button.firstChild.data = collapseCaption;
    }
}
 
function createCollapseButtons()
{
    var tableIndex = 0;
    var NavigationBoxes = new Object();
    var Tables = document.getElementsByTagName( "table" );
 
    for ( var i = 0; i < Tables.length; i++ ) {
        if ( hasClass( Tables[i], "collapsible" ) ) {

            /* only add button and increment count if there is a header row to work with */
            var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0];
            if (!HeaderRow) continue;
            var Header = HeaderRow.getElementsByTagName( "th" )[0];
            if (!Header) continue;
 
            NavigationBoxes[ tableIndex ] = Tables[i];
            Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex );
 
            var Button     = document.createElement( "span" );
            var ButtonLink = document.createElement( "a" );
            var ButtonText = document.createTextNode( collapseCaption );
 
            Button.className = "collapseButton";  //Styles are declared in Common.css
 
            ButtonLink.style.color = Header.style.color;
            ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
            ButtonLink.setAttribute( "href", "javascript:collapseTable(" + tableIndex + ");" );
            ButtonLink.appendChild( ButtonText );
 
            Button.appendChild( document.createTextNode( "[" ) );
            Button.appendChild( ButtonLink );
            Button.appendChild( document.createTextNode( "]" ) );
 
            Header.insertBefore( Button, Header.childNodes[0] );
            tableIndex++;
        }
    }
 
    for ( var i = 0;  i < tableIndex; i++ ) {
        if ( hasClass( NavigationBoxes[i], "collapsed" ) || ( tableIndex >= autoCollapse && hasClass( NavigationBoxes[i], "autocollapse" ) ) ) {
            collapseTable( i );
        } 
        else if ( hasClass( NavigationBoxes[i], "innercollapse" ) ) {
            var element = NavigationBoxes[i];
            while (element = element.parentNode) {
                if ( hasClass( element, "outercollapse" ) ) {
                    collapseTable ( i );
                    break;
                }
            }
        }
    }
}
 
addOnloadHook( createCollapseButtons );