Difference between revisions of "MediaWiki:Common.js"

From LifeWiki
Jump to navigation Jump to search
(LV Build 199)
(Trying a new method of using LifeViewer)
(11 intermediate revisions by 2 users not shown)
Line 97: Line 97:
   
   
addOnloadHook( createCollapseButtons );
addOnloadHook( createCollapseButtons );
// LifeViewer plugin (Build 199)
(function(){var B;window.performance||(window.performance={});window.performance.now||(window.performance.now=function(){return performance.now||performance.fp||performance.gp||performance.hp||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(t,f,n){var p=null,c=null,e=0,p=0,b=[];if(0!==n){if(e<t){for(c=new Uint8Array(f);p<
f;)c[p]=n,p+=1;b[e]=c;for(e+=1;e<t;)p=new Uint8Array(f),p.set(c),b[e]=p,e+=1}}else for(;e<t;)p=new Uint8Array(f),b[e]=p,e+=1;return b};Array.b=function(t,f){for(var n=null,p=0,c=[];p<t;)n=new Uint16Array(f),c[p]=n,p+=1;return c};Array.K=function(t){for(var f=null,n=0,p=[];1>n;)f=new Uint32Array(t),p[n]=f,n+=1;return p};Array.T=function(t,f){var n=0,p=t.length,c=new Uint8Array(t[0].length);if(0!==f)for(;n<p;)c[n]=f,n+=1;t[t.length]=c};Array.X=function(t,f){var n=0,p=t.length,c=new Uint16Array(t[0].length);
if(0!==f)for(;n<p;)c[n]=f,n+=1;t[t.length]=c};Array.H=function(t){var f=t.length,n=new Uint32Array(t[0].length);t[f]=n};Array.ca=function(t,f){for(var n=0,p=t.length,c=0,e=0,b=null,m=null,a=!0;n<p;){b=t[n];m=f[n];e=b.length;for(c=0;c<e;)b[c]!==m[c]&&(a=!1),c+=1;n+=1}return a};Array.j=function(t,f){for(var n=0,p=t.length;n<p;)f[n].set(t[n]),n+=1};Array.s=function(t){for(var f=0,n=t.length,p=[],f=0;f<n;f+=1)p[f]=new Uint16Array(t[f].buffer);return p};Array.aa=function(t){for(var f=0,n=t.length,p=[],
f=0;f<n;f+=1)p[f]=new Uint32Array(t[f].buffer);return p};Array.f=function(t,f){var n=0,p=t.length,c=[];switch(t[0].BYTES_PER_ELEMENT){case 1:for(n=0;n<p;n+=1)c[n]=new Uint8Array(t[n].buffer,f);break;case 2:for(n=0;n<p;n+=1)c[n]=new Uint16Array(t[n].buffer,f);break;case 4:for(n=0;n<p;n+=1)c[n]=new Uint32Array(t[n].buffer,f)}return c};B=new Uint32Array(1);B[0]=4660;52===(new Uint8Array(B.buffer))[0]?window.littleEndian=!0:window.littleEndian=!1;window.registerEvent=function(t,f,n,p){t.addEventListener?
t.addEventListener(f,n,p):t.attachEvent("on"+f,n)}})();window.AliasManager={g:[],td:function(){this.g=[];this.g.push(["Totalistic",""]);this.g.push(["","B3/S23"]);this.g.push(["Conway's Life","B3/S23"]);this.g.push(["2x2","B36/S125"]);this.g.push(["34 Life","B34/S34"]);this.g.push(["3-4 Life","B34/S34"]);this.g.push(["Amoeba","B357/S1358"]);this.g.push(["AntiLife","B0123478/S01234678"]);this.g.push(["Assimilation","B345/S4567"]);this.g.push(["Bacteria","B34/S456"]);this.g.push(["Bugs","B3567/S15678"]);this.g.push(["Coagulations","B378/S235678"]);this.g.push(["Coral",
"B3/S45678"]);this.g.push(["Day & Night","B3678/S34678"]);this.g.push(["Day and Night","B3678/S34678"]);this.g.push(["Diamoeba","B35678/S5678"]);this.g.push(["DotLife","B3/S023"]);this.g.push(["DryLife","B37/S23"]);this.g.push(["Fredkin","B1357/S02468"]);this.g.push(["Gnarl","B1/S1"]);this.g.push(["H-Trees","B1/S012345678"]);this.g.push(["HighLife","B36/S23"]);this.g.push(["Iceballs","B25678/S5678"]);this.g.push(["InverseLife","B012345678/S34678"]);this.g.push(["Land Rush","B36/S234578"]);this.g.push(["Life without Death",
"B3/S012345678"]);this.g.push(["Life","B3/S23"]);this.g.push(["Live Free or Die","B2/S0"]);this.g.push(["LongLife","B345/S5"]);this.g.push(["Long Life","B345/S5"]);this.g.push(["Majority","B45678/S5678"]);this.g.push(["Maze","B3/S12345"]);this.g.push(["Mazectric","B3/S1234"]);this.g.push(["Morley","B368/S245"]);this.g.push(["Move","B368/S245"]);this.g.push(["Persian Rug","B234/S"]);this.g.push(["Plow World","B378/S012345678"]);this.g.push(["Pseudo Life","B357/S238"]);this.g.push(["Replicator","B1357/S1357"]);
this.g.push(["Seeds","B2/S"]);this.g.push(["Serviettes","B234/S"]);this.g.push(["Slow Blob","B367/S125678"]);this.g.push(["Stains","B3678/S235678"]);this.g.push(["Vote","B5678/S45678"]);this.g.push(["Vote 4/5","B4678/S35678"]);this.g.push(["Walled Cities","B45678/S2345"]);this.g.push(["Isotropic Non-Totalistic",""]);this.g.push(["DLife","23/3-n"]);this.g.push(["GlideLife","B34ek5ak/S2-c34z"]);this.g.push(["TLife","B3/S2-i34q"]);this.g.push(["Generations",""]);this.g.push(["Banners","2367/3457/5"]);
this.g.push(["BelZhab","23/23/8"]);this.g.push(["BelZhab Sediment","145678/23/8"]);this.g.push(["Bloomerang","234/34678/24"]);this.g.push(["Bombers","345/24/25"]);this.g.push(["Brain 6","6/246/3"]);this.g.push(["Brian's Brain","/2/3"]);this.g.push(["Burst","0235678/3468/9"]);this.g.push(["BurstII","235678/3468/9"]);this.g.push(["Caterpillars","124567/378/4"]);this.g.push(["Chenille","05678/24567/6"]);this.g.push(["Circuit Genesis","2345/1234/8"]);this.g.push(["Cooties","23/2/8"]);this.g.push(["Ebb&Flow",
"012478/36/18"]);this.g.push(["Ebb&Flow II","012468/37/18"]);this.g.push(["Faders","02/02/2025"]);this.g.push(["Fireworks","2/13/21"]);this.g.push(["Flaming Starbows","347/23/8"]);this.g.push(["Frogs","12/34/3"]);this.g.push(["Frozen spirals","356/23/6"]);this.g.push(["Glisserati","035678/245678/7"]);this.g.push(["Glissergy","035678/245678/5"]);this.g.push(["Lava","12345/45678/8"]);this.g.push(["Lines","012345/458/3"]);this.g.push(["LivingOn TheEdge","345/3/6"]);this.g.push(["Meteor Guns","01245678/3/8"]);
this.g.push(["Nova","45678/2478/25"]);this.g.push(["OrthoGo","3/2/4"]);this.g.push(["Prairie on fire","345/34/6"]);this.g.push(["RainZha","2/23/8"]);this.g.push(["Rake","3467/2678/6"]);this.g.push(["SediMental","45678/25678/4"]);this.g.push(["Snake","03467/25/6"]);this.g.push(["SoftFreeze","13458/38/6"]);this.g.push(["Spirals","2/234/5"]);this.g.push(["Star Wars","345/2/4"]);this.g.push(["Sticks","06/02/3456"]);this.g.push(["Swirl","23/34/8"]);this.g.push(["ThrillGrill","1234/34/48"]);this.g.push(["Transers",
"345/26/5"]);this.g.push(["TransersII","0345/26/6"]);this.g.push(["Wanderers","345/34678/5"]);this.g.push(["Worms","3467/25/6"]);this.g.push(["Xtasy","1456/2356/16"])},An:function(B){var t=null,f=0;for(B=B.toLowerCase();f<this.g.length&&null===t;)""!==this.g[f][1]&&this.g[f][0].toLowerCase()===B&&(t=this.g[f][1]),f+=1;return t}};(function(){function B(b,c,a,e,k){this.h=k;this.T=b;this.X=c;this.ca=a;this.f="";this.s=b;this.H=c;this.aa=a;this.Ad="";this.b=e;this.K=this.j=0;this.Wl=this.Ri="rgb(32,255,255)";this.c=0;this.Ni=!1;this.ja="black";this.enabled=!1}function t(b,c,a,e){this.name=b;this.width=c;this.height=a;this.Pn=e}function f(b,c){this.c=c;this.f=b;this.b=[]}function n(b,c,a,g,k,h,l,d,q,x,C,H,r,n,f,v,p,t,z,y){this.v=!1;this.$a=c;this.caller=a;this.icon=z;this.x=k;this.y=h;this.Kc=k;this.b=h;this.position=g;this.width=
l;this.height=d;this.border=n;this.type=H;r===e.Ik?this.orientation=l>=d?e.ic:e.Ji:this.orientation=r;this.lower=q;this.upper=x;H===e.Yf?this.current=[C,C]:this.current=C;this.wk=f;this.cb=v;this.Xj=p;this.fixed=t;this.Ej=!1;this.Jg=this.Ig=this.Lg=this.Kg=this.xl=this.wl=-1;this.textAlign=e.Ok;this.enabled=!0;this.locked=!1;this.nh=[];this.ni=0;this.Dn=!1;this.Pc=y.Pc;this.Ac=y.Ac;this.Vc=y.Vc;this.Gb=y.Gb;this.Ld=y.Ld;this.Kd=y.Kd;this.mf=y.mf;this.ye=y.ye;this.Od=y.Od;this.pe=y.pe;this.border=
y.border;this.font=y.Lf}function p(b,c,a,g,k){this.b=g;this.Lf=k;this.locked=this.v=!1;this.ue=this.vd=-1;this.kb=!1;this.H=6;this.$a=b;this.kc=[];this.Fa=0;this.Pc="";this.Ac=0;this.Vc="";this.Gb=0;this.Ld="";this.Kd=0;this.mf="";this.ye=0;this.Od="";this.border=this.pe=0;this.f=e.Ik;this.j=-1;this.cj=null;this.Ch=c;this.caller=a;this.Ua=null}function c(b,c,a,e,k,h){var l=this,d=0,q=b.canvas;this.jf=!1;this.caller=k;this.rf=this.ia=!1;this.Yh=h;this.hasFocus=this.Qi=!1;this.tg=!0;this.ph=!1;this.oh=
1;this.Pc="black";this.Ac=.7;this.Vc="rgb(32,255,255)";this.Gb=1;this.Ld="rgb(0,240,32)";this.Kd=.7;this.mf="blue";this.ye=.7;this.Od="grey";this.border=this.pe=1;this.Nk=function(d){return function(){d.K(d)}}(this);this.Ua=e;this.Zc=b;this.Hb=c;this.kb=!1;this.Sd=this.Rd=-1;this.qb=null;this.Lf=a;this.ah=!1;this.Fj=performance.now();this.Hl=1E3;this.gf=5;this.lh=0;this.Dj=[];this.Hj=[];this.Cj=[];for(d=0;5>d;d+=1)this.Dj[d]=0,this.Hj[d]=0,this.Cj[d]=0;this.Ng=null;this.hg=!1;this.notification=new B(25,
100,25,c,this);registerEvent(q,"mousedown",function(d){l.c(l,d)},!1);registerEvent(q,"mousemove",function(d){l.f(l,d)},!1);registerEvent(q,"mouseup",function(d){l.H(l,d)},!1);registerEvent(q,"mouseover",function(d){l.s(l,d)},!1);registerEvent(q,"mouseout",function(d){l.j(l,d)},!1);registerEvent(q,"touchstart",function(d){l.b(l,d)},!1);registerEvent(q,"touchmove",function(d){l.b(l,d)},!1);registerEvent(q,"touchend",function(d){l.b(l,d)},!1)}B.prototype.Ye=function(){var b=!1;if(""!==this.f||""!==this.Ad)b=
!0;return b};B.prototype.clear=function(b,c){b?""!==this.Ad&&(c?this.Ad="":this.K=performance.now()-(this.s+this.H)):""!==this.f&&(c?this.f="":this.j=performance.now()-(this.T+this.X))};B.prototype.P=function(b,c,a){this.enabled&&(a?this.Ad!==b&&(this.Ad=b,this.s=240,this.H=16*c,this.aa=240,this.K=performance.now(),this.c=0,this.Ni=!1):(this.f=b,this.T=240,this.X=16*c,this.ca=240,this.j=performance.now()))};B.prototype.ke=function(b,c){var a=0,a=this.b.measureText(b).width>>1;this.b.fillStyle=this.ja;
this.b.fillText(b,-a+2,2);c?this.Ni?(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.Wl:this.b.fillStyle=this.Ri;this.b.fillText(b,-a,0)};B.prototype.fa=function(b,c,a,e,k,h,l){var d=0,q=0,d=0,x=!0;""!==b&&(x=!1,q=performance.now()-k,this.b.save(),this.b.font="30px Arial",this.b.translate(this.b.canvas.width/2,60+h),q<=c?(d=q/c,d*=d,this.b.globalAlpha=d,this.b.scale(d,d)):q>c+a&&q<=c+a+e&&
(d=(e-(q-(c+a)))/e,d*=d,this.b.globalAlpha=d,this.b.scale(d,d)),q>c+a+e?x=!0:(d=b.indexOf("\\n"),-1===d?this.ke(b,l):(this.ke(b.substr(0,d),l),this.b.translate(0,32),this.ke(b.substr(d+2),l))),this.b.restore());return x};B.prototype.update=function(){!this.h.ia&&this.fa(this.f,this.T,this.X,this.ca,this.j,36,!1)&&(this.f="");this.h.ia&&"Expand"!==this.Ad&&"Launch"!==this.Ad||!this.fa(this.Ad,this.s,this.H,this.aa,this.K,0,!0)||(this.Ad="")};f.prototype.ke=function(b,c,a){this.c.drawImage(this.f,b.Pn*
b.width,0,b.width,b.height,c,a,b.width,b.height)};f.prototype.length=function(){return this.b.length};f.prototype.icon=function(b){var c,a=this.b,e=this.length(),k=null;for(c=0;c<e&&!k;)a[c].name===b?k=a[c]:c+=1;return k};f.prototype.add=function(b,c,a){var e=this.b.length;this.b[e]=new t(b,c,a,e)};var e={Ik:0,ic:1,Ji:2,Yf:0,button:1,toggle:2,Jc:3,list:4,label:5,hk:0,wd:1,left:0,Ok:1,right:2,Oj:0,lc:1,dl:2,cd:3,km:4,Ae:5,bp:6,Rg:7,Kn:8};n.prototype.Om=function(b,c){this.x=this.Kc;this.y=this.b;switch(this.position){case e.Oj:this.x=
(b-this.width>>1)+this.Kc;break;case e.lc:this.x=b+this.Kc;break;case e.dl:this.y=(c-this.height>>1)+this.b;this.x=b+this.Kc;break;case e.cd:this.x=b+this.Kc;this.y=c+this.b;break;case e.km:this.x=(b-this.width>>1)+this.Kc;this.y=c+this.b;break;case e.Ae:this.y=c+this.b;break;case e.Wo:this.y=(c-this.height>>1)+this.b;break;case e.Kn:this.x=(b-this.width>>1)+this.Kc,this.y=(c-this.height>>1)+this.b}};n.prototype.Gk=function(b,c){var a=this.ni;this.nh[a]=[b,c];this.ni=a+1};n.prototype.Ek=function(b){var c=
[],a,e;e=b.length;for(a=0;a<e;a+=1)b[a].Gk(this,!0);e=c.length;for(a=0;a<e;a+=1)c[a].Gk(this,!1)};n.prototype.On=function(b,c){var a=!1;this.enabled&&b>=this.x&&b<this.x+this.width&&c>=this.y&&c<this.y+this.height&&(a=!0);return a};p.prototype.s=function(b,c){var a,g,k=b.ni;b.type===e.list&&b.upper===e.wd?a=b.current[0]:a=b.current===b.upper;b.Dn&&(a=!a);if(a&&c)for(g=0;g<k;g+=1)a&=this.s(b.nh[g][0],b.nh[g][1]);return a};p.prototype.ym=function(b){var c,a,e=b.ni;c=!0;for(a=0;a<e;a+=1)c&=this.s(b.nh[a][0],
b.nh[a][1]);b.enabled=c};p.prototype.td=function(){var b,c;for(c=0;c<this.Fa;c+=1){b=this.kc[c];b.enabled=!0;switch(b.type){case e.toggle:b.$a&&(b.current=b.$a(b.current===b.upper,!1,this.caller)?b.upper:b.lower);break;case e.Yf:b.$a&&(b.current=b.$a(b.current,!1,this.caller));break;case e.list:b.$a&&(b.current=b.$a(b.current,!1,this.caller))}this.ym(b)}};p.prototype.gd=function(b,c,a,g,k,h,l,d,q){this.kc[this.Fa]=new n(0,b,this.caller,c,a,g,k,h,l,q,d,e.list,this.f,this.border,!0,"","",-1,[],this);
this.Fa+=1;return this.kc[this.Fa-1]};p.prototype.Qe=function(b,c,a,g,k,h,l,d,q,x,C,H){this.kc[this.Fa]=new n(0,b,this.caller,c,a,g,k,h,l,d,q,e.Yf,this.f,this.border,!0,x,C,H,null,this);this.Fa+=1;return this.kc[this.Fa-1]};p.prototype.Za=function(b,c,a,g,k,h){this.kc[this.Fa]=new n(0,null,null,b,c,a,g,k,0,0,0,e.label,this.f,this.border,!0,h,"",-1,null,this);this.Fa+=1;return this.kc[this.Fa-1]};p.prototype.Hm=function(b){this.kc[this.Fa]=new n(0,b,this.caller,Menu.Rg,45,0,40,40,0,0,0,e.button,this.f,
this.border,!0,"","",-1,null,this);this.Fa+=1;return this.kc[this.Fa-1]};p.prototype.Im=function(){this.kc[this.Fa]=new n(0,null,null,Menu.Ae,0,-40,100,40,0,100,0,e.Jc,this.f,this.border,!1,"","",0,null,this);this.Fa+=1;return this.kc[this.Fa-1]};p.prototype.c=function(b,c,a){var g,k,h,l,d;b+=String();if(""!==b){this.b.save();this.b.translate(c.x+c.width/2,c.y+c.height/2);this.b.font=c.font;c.orientation===e.Ji&&this.b.rotate(.5*Math.PI);g=this.b.measureText(b).width;k=c.orientation===e.Ji?c.height:
c.width;if(g>=k-6){if(h=b.length){do--h,l=b.substr(0,h)+"...",g=this.b.measureText(l).width;while(1<h&&g>=k-6)}b=l}switch(c.textAlign){case e.left:d=c.width/2-2;break;case e.Ok:d=g/2;break;case e.right:d=g/2-(c.width-g)/2+4}this.b.fillStyle=this.Pc;a&&this.b.fillRect(2-d,2,g,2);this.b.fillText(b,2-d+.5,2.5);this.b.fillStyle=c.locked||this.locked?this.Od:this.Vc;this.b.fillText(b,-d+.5,.5);a&&this.b.fillRect(-d,0,g,2);this.b.restore()}};p.prototype.X=function(b){this.b.globalAlpha=this.Gb;this.c(b.cb,
b,!1)};p.prototype.K=function(b){this.b.globalAlpha=this.Gb;this.c(b.cb,b,!1);b.icon&&this.Ua.ke(b.icon,b.x,b.y)};p.prototype.ca=function(b){var c;c=(b.current-b.lower)/(b.upper-b.lower);this.b.globalAlpha=this.Ac;this.b.fillStyle=this.Vc;b.orientation===e.ic?(c*=b.width-3,this.b.fillRect(b.x+(c+1|0),b.y,1,b.height)):(c*=b.height-3,c=c+1|0,this.b.fillRect(b.x,b.y+c,b.width,1));c=b.cb;b.wk&&(c=-1!==b.fixed?c+b.current.toFixed(b.fixed):c+b.current,c+=b.Xj);""!==c&&(this.b.globalAlpha=this.Gb,this.c(c,
b,!1))};p.prototype.fa=function(b,c){var a,g;a=(b.current[0]-b.lower)/(b.upper-b.lower);g=this.H;b.orientation===e.ic?(a*=b.width-3,a=a+1|0,c&&(this.b.fillStyle=this.Ld,this.b.globalAlpha=this.Kd,this.b.fillRect(b.x+a-g,b.y,g,b.height),this.b.fillRect(b.x+a+1,b.y,g,b.height)),b.locked||this.locked?(this.b.fillStyle=this.Od,this.b.globalAlpha=this.pe):(this.b.fillStyle=this.Vc,this.b.globalAlpha=this.Gb),this.b.fillRect(b.x+a,b.y,1,b.height)):(a*=b.height-3,a=a+1|0,c&&(this.b.fillStyle=this.Ld,this.b.globalAlpha=
this.Kd,this.b.fillRect(b.x,b.y+a-g,b.width,g),this.b.fillRect(b.x,b.y+a+1,b.width,g)),b.locked||this.locked?(this.b.fillStyle=this.Od,this.b.globalAlpha=this.pe):(this.b.fillStyle=this.Vc,this.b.globalAlpha=this.Gb),this.b.fillRect(b.x,b.y+a,b.width,1));a=b.cb;b.wk&&(a=0<=b.fixed?a+b.current[1].toFixed(b.fixed):a+b.current[1]);a+=b.Xj;""!==a&&(this.b.globalAlpha=this.Gb,this.c(a,b,!1))};p.prototype.ja=function(b){var c,a;this.b.globalAlpha=this.Gb;c="-"===b.lower&&""===b.upper&&b.current===b.lower;
a=b.cb;b.wk&&!c&&(a+=b.current);a+=b.Xj;this.c(a,b,c)};p.prototype.aa=function(b,c){var a,g,k,h,l,d,q,x,C,H;h=b.x;l=b.y;q=b.width;x=b.height;C=b.orientation;H=b.current;k=b.lower;g=k.length;d=b.orientation===e.ic?q/g:x/g;this.b.globalAlpha=this.ye;this.b.fillStyle=this.mf;if(b.upper===e.hk)a=b.current,b.orientation===e.ic?this.b.fillRect(h+a*d+1,l+1,d-2,x-2):this.b.fillRect(h+1,l+1+a*d,q-2,d-2);else if(b.orientation===e.ic)for(a=0;a<g;a+=1)H[a]&&this.b.fillRect(h+a*d+1,l+1,d-2,x-2);else for(a=0;a<
g;a+=1)H[a]&&this.b.fillRect(h+1,l+1+a*d,q-2,d-2);this.b.globalAlpha=this.Gb;if(b.orientation===e.ic)for(a=0;a<g;a+=1)b.icon[a]&&this.Ua.ke(b.icon[a],b.x+d*a,b.y);else for(a=0;a<g;a+=1)b.icon[a]&&this.Ua.ke(b.icon[a],b.x,b.y+d*a);c&&(this.b.globalAlpha=this.Kd,this.b.fillStyle=this.Ld,b.orientation===e.ic?(a=(this.vd-h)/q*g|0,0<=a&&a<g&&this.b.fillRect(h+a*d+.5,l+.5,d-1,x-1)):(a=(this.ue-l)/x*g|0,0<=a&&a<g&&this.b.fillRect(h+.5,l+.5+a*d,q-1,d-1)));this.b.globalAlpha=this.Gb;this.b.fillStyle=this.Vc;
if(C===e.ic)for(a=0;a<g;a+=1)h=k[a],""!==h&&(this.b.save(),this.b.translate((.5+(a-g/2))*d,0),this.c(h,b,!1),this.b.restore());else for(a=0;a<g;a+=1)h=k[a],""!==h&&(this.b.save(),this.b.translate(0,(.5+(a-g/2))*d),this.c(h,b,!1),this.b.restore())};p.prototype.T=function(b,c,a,g){var k,h,l;!(a===g||-1===g&&c)||b.type!==e.button&&b.type!==e.toggle?(this.b.fillStyle=b.Pc,this.b.globalAlpha=b.Ac):(this.b.fillStyle=b.Ld,this.b.globalAlpha=b.Kd);switch(b.type){case e.Jc:k=(b.current-b.lower)/(b.upper-b.lower);
this.b.fillStyle=b.mf;this.b.globalAlpha=b.ye;b.orientation===e.ic?(k*=b.width-3,k=k+1|0,this.b.fillRect(b.x,b.y,k,b.height),this.b.fillStyle=b.Pc,this.b.globalAlpha=b.Ac,this.b.fillRect(b.x+k,b.y,b.width-k,b.height)):(k*=b.height-3,k=k+1|0,this.b.fillRect(b.x,b.y,b.width,k),this.b.fillStyle=b.Pc,this.b.fillRect(b.x,b.y+k,b.width,b.height-k));break;case e.Yf:k=(b.current[0]-b.lower)/(b.upper-b.lower);a===g||-1===g&&c?(h=this.H,b.orientation===e.ic?(k*=b.width-3,k=k+1|0,l=k-h,0<l&&this.b.fillRect(b.x,
b.y,l,b.height),l=1+k+h,l<b.width&&this.b.fillRect(b.x+l,b.y,b.width-l,b.height)):(k*=b.height-3,k=k+1|0,l=k-h,0<l&&this.b.fillRect(b.x,b.y,b.width,l),l=1+k+h,l<b.height&&this.b.fillRect(b.x,b.y+l,b.width,b.height-l))):this.b.fillRect(b.x,b.y,b.width,b.height);break;default:this.b.fillRect(b.x,b.y,b.width,b.height)}b.type!==e.list&&b.icon&&(this.b.globalAlpha=b.Gb,this.Ua.ke(b.icon,b.x,b.y),!(a===g||-1===g&&c)||b.type!==e.button&&b.type!==e.toggle||(this.b.globalAlpha=b.ye,this.b.fillRect(b.x,b.y,
b.width,b.height)));if(0<b.border)switch(b.locked||this.locked?(this.b.strokeStyle=b.Od,this.b.globalAlpha=b.pe):(this.b.strokeStyle=b.Vc,this.b.globalAlpha=b.Gb),this.b.lineWidth=b.border,b.type){case e.label:break;case e.list:h=b.lower.length;if(b.orientation===e.ic)for(l=b.width/h,k=0;k<h;k+=1)this.b.strokeRect(b.x+.5+k*l,b.y+.5,l-1,b.height-1);else for(l=b.height/h,k=0;k<h;k+=1)this.b.strokeRect(b.x+.5,b.y+.5+k*l,b.width-1,l-1);break;default:this.b.strokeRect(b.x+.5,b.y+.5,b.width-1,b.height-
1)}switch(b.type){case e.button:this.K(b);break;case e.label:this.X(b);break;case e.Yf:this.fa(b,a===g||-1===g&&c);break;case e.toggle:this.ja(b);break;case e.Jc:this.ca(b);break;case e.list:this.aa(b,a===g||-1===g&&c)}if(a===g)switch(b.type){case e.Yf:k=this.ue,b.orientation===e.Ji?(k<b.y?k=b.y:k>=b.y+b.height&&(k=b.y+b.height-1),b.current[0]=(k-b.y)/(b.height-1)*(b.upper-b.lower)+b.lower):(k=this.vd,k<b.x?k=b.x:k>=b.x+b.width&&(k=b.x+b.width-1),b.current[0]=(k-b.x)/(b.width-1)*(b.upper-b.lower)+
b.lower),b.$a&&(b.current=b.$a(b.current,!0,b.caller))}if(c&&!this.kb&&b.Ej)switch(b.type){case e.button:b.$a&&b.$a(b.caller);break;case e.toggle:b.current=b.current===b.upper?b.lower:b.upper;b.$a&&b.$a(b.current===b.upper,!0,b.caller);break;case e.list:h=b.lower.length,l=b.orientation===e.ic?(this.vd-b.x)/b.width*h|0:(this.ue-b.y)/b.height*h|0,b.upper===e.hk?b.$a?b.current=b.$a(l,!0,b.caller):b.current=l:(b.current[l]=!b.current[l],b.$a&&b.$a(b.current,!0,b.caller))}c&&a===g?(b.Ej=this.kb,b.wl=this.vd,
b.xl=this.ue):(b.Ej=!1,b.wl=-1,b.xl=-1)};p.prototype.dj=function(){var b=null,c=!1,a=this.j,e=0,k=!1,h=this.b.canvas.width,l=this.b.canvas.height,k=!1;if(!this.v){a=this.j;this.b.textAlign="left";for(e=0;e<this.Fa;e+=1)b=this.kc[e],b.v||(b.Om(h,l),c=b.On(this.vd,this.ue)&&!(b.locked||this.locked),this.kb&&-1===a&&c&&(a=e),e===a&&(b.locked||this.locked)&&(a=-1,c=!1),b.enabled&&this.T(b,c,e,a));0<=a&&!this.kb&&(k=!0);this.kb&&-1===a&&(a=-2);-2===a&&this.cj&&!this.locked&&this.cj(this.vd,this.ue,this.kb,
this.caller);this.kb||(a=-1);this.j=a;this.b.globalAlpha=1}return k};c.prototype.Tm=function(){var b=this.Zc.canvas,c=b.offsetParent;this.offsetLeft=b.offsetLeft;for(this.offsetTop=b.offsetTop;c;)this.offsetLeft+=c.offsetLeft,this.offsetTop+=c.offsetTop,c=c.offsetParent;c=b.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.$m=function(b,c,a){b=new p(b,c,a,this.Hb,this.Lf);b.Vc=this.Vc;b.Gb=this.Gb;b.Pc=this.Pc;b.Ac=this.Ac;b.Ld=this.Ld;b.Kd=this.Kd;b.mf=this.mf;b.ye=this.ye;b.Od=this.Od;b.pe=this.pe;b.border=this.border;return b};c.prototype.K=function(b){var c,a,e,k,h,l=b.Hb,d=l.canvas.width-96;b.ph=!1;b.Ng&&(b.qb=b.Ng,b.Ng=null,l.font=b.Lf,b.qb.td(),b.qb.Ch&&b.qb.Ch(b.qb.caller));if(b.tg||b.notification.Ye()||b.oh)b.Yg(b),b.oh&&--b.oh;a=performance.now();
e=a-b.Fj;b.Fj=a;b.qb.$a&&(e>b.Hl?b.qb.$a(b.Hl,b.qb.caller):b.qb.$a(e,b.qb.caller));a=performance.now()-a;c=performance.now();b.dj();c=performance.now()-c;b.Dj[b.lh]=c;for(h=c=0;h<b.gf;h+=1)c+=b.Dj[h];c=c/b.gf;b.Hj[b.lh]=a;for(h=a=0;h<b.gf;h+=1)a+=b.Hj[h];a=a/b.gf;b.Cj[b.lh]=e;for(h=k=0;h<b.gf;h+=1)k+=b.Cj[h];k=k/b.gf;b.lh=(b.lh+1)%b.gf;h=Math.round(1E3/k);b.ah&&(l.font="12px Arial",l.globalAlpha=.7,l.fillStyle="black",l.fillRect(d,60,96,83),e=e.toFixed(1),c=c.toFixed(1),a=a.toFixed(1),l.globalAlpha=
1,l.fillText(h+"fps"+e+"ms",d+8,72),l.fillText("menu "+c+"ms",d+8,88),l.fillText("work "+a+"ms",d+8,104),l.fillText("update "+(b.tg?"on":"off"),d+8,120),l.fillText("focus "+(b.hasFocus?"on":"off"),d+8,136),l.fillStyle="white",l.fillText(h+"fps "+e+"ms",d+6,70),l.fillText("menu "+c+"ms",d+6,86),l.fillText("work "+a+"ms",d+6,102),l.fillText("update "+(b.tg?"on":"off"),d+6,118),l.fillText("focus "+(b.hasFocus?"on":"off"),d+6,134),l.globalAlpha=1);b.notification.update();b.Zc.drawImage(l.canvas,0,0)};
c.prototype.Gm=function(b){b.Ua=this.Ua;this.qb?this.Ng=b:(this.Ng=null,this.qb=b,this.Hb.font=this.Lf,this.qb.td(),this.qb.Ch&&this.qb.Ch(this.qb.caller),this.Yg(this))};c.prototype.dj=function(){var b,c,a;if(this.qb&&(c=this.qb,this.Hb.font=this.Lf,c.vd=this.Rd,c.ue=this.Sd,c.kb=this.kb,c.dj()||this.hg)){for(b=0;b<c.Fa;b+=1)a=c.kc[b],c.ym(a);this.hg=!1}};c.prototype.Yg=function(b){b.ph||(requestAnimationFrame?requestAnimationFrame(b.Nk):setTimeout(b.Nk,16),b.ph=!0)};c.prototype.b=function(b,c){var a=
null,e,k="";if("touchend"===c.type)k="mouseup",e=document.createEvent("MouseEvent"),e.initMouseEvent(k,!0,!0,window,1,b.Kg,b.Lg,b.Ig,b.Jg,!1,!1,!1,!1,0,null),c.target.dispatchEvent(e),c.preventDefault();else{if(1===c.touches.length)switch(c.type){case "touchstart":k="mousedown";break;case "touchmove":k="mousemove"}""!==k&&(a=c.changedTouches[0],e=document.createEvent("MouseEvent"),e.initMouseEvent(k,!0,!0,window,1,a.screenX,a.screenY,a.clientX,a.clientY,!1,!1,!1,!1,0,null),a.target.dispatchEvent(e),
c.preventDefault(),b.Kg=a.screenX,b.Lg=a.screenY,b.Ig=a.clientX,b.Jg=a.clientY)}};c.prototype.c=function(b,c){b.jf||(b.hasFocus?b.ia&&b.Yh&&b.Yh(b.caller):(b.Zc.canvas.focus(),b.hasFocus=!0,b.notification.clear(!0,!1),b.Yh&&b.Yh(b.caller)),b.sf(b,c),b.kb=!0,c.stopPropagation&&c.stopPropagation(),c.preventDefault())};c.prototype.H=function(b,c){b.jf||(b.sf(b,c),b.kb=!1,c.stopPropagation&&c.stopPropagation(),c.preventDefault())};c.prototype.Pk=function(b){b.hasFocus||b.Qi&&""!==b.notification.Ad||(b.ia?
b.rf?b.notification.P("Launch",3600,!0):b.notification.P("Expand",3600,!0):b.notification.P("Click to control",3600,!0),b.notification.Ni=!0,b.Qi=!0)};c.prototype.f=function(b,c){b.jf||(b.Pk(b),b.sf(b,c),c.stopPropagation&&c.stopPropagation(),c.preventDefault())};c.prototype.s=function(b,c){b.jf||(b.Pk(b),c.stopPropagation&&c.stopPropagation(),c.preventDefault())};c.prototype.j=function(b,c){b.jf||(b.hasFocus||b.notification.clear(!0,!1),b.Zc.canvas.blur(),b.hasFocus=!1,b.kb=!1,b.Rd=-1,b.Sd=-1,b.Qi=
!1,b.ph||(b.Yg(b),b.oh=2),c.stopPropagation&&c.stopPropagation(),c.preventDefault())};c.prototype.sf=function(b,c){var a,e;c.pageX||c.pageY?(a=c.pageX,e=c.pageY):(a=c.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,e=c.clientY+document.body.scrollTop+document.documentElement.scrollTop);b.Tm();a-=b.offsetLeft;e-=b.offsetTop;b.Rd=a-1|0;b.Sd=e-1|0;b.ph||(b.Yg(b),b.oh=2)};c.prototype.ze=function(b){!b&&!this.notification.Ye()||this.tg||this.Yg(this);this.tg=b};window.IconManager=
f;window.Menu=e;window.MenuManager=c})();(function(){function B(n,f,c,e,b,m){this.bg=n;this.cg=f;this.width=c;this.height=e;this.Ao=b;this.rn=m}function t(n){var f=n.lastIndexOf(".");-1!==f&&(n=n.substr(0,f));this.name=n;this.me=this.qd=this.ne=-1;this.nj=this.lj=0;this.jl=this.il=!1;this.Zf="";this.I=this.Hg=this.Ub=!1;this.wf=-1;this.Yc=!1;this.u=-1;this.height=this.width=0;this.Td=this.Va=null;this.ad=this.title="";this.Vd=2;this.Sg=0;this.Sf=this.de=!1;this.Sl=""}var f={sn:"XRLE",Vl:"Pos",hl:"Gen",Ma:"",Mm:":",Nm:"ptkcs",Ii:"012345678ceaiknjqrytwz-",
je:"0123456789",ml:"0123456",Em:"01234",cm:["ce","ceaikn","ceaiknjqry","ceaiknjqrytwz"],no:[[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,In:256,qc:new Uint32Array(256),xe:new Uint8Array(512),Wg:new Uint8Array(512),sa:!1,Pf:!1,pl:"history",nl:"h",Fm:"v",de:!1,jj:0,Vj:0,Wj:0,index:0,gn:function(n,f){var c,e,b,m,a=0,g=0,k=0,h,l,d=!1;e=f.length;for(c=m=0;c<e;)switch(b=f[c],c+=1,m){case 0:switch(b){case "!":m=1;l=!0;
break;case "O":case "o":case "*":case ".":m=2,g=a=k=0,--c,h=c}break;case 1:"\r"!==b&&(" "===b?l||(n.title+=b):(l=!1,n.title+=b));"\n"===b&&(m=0);break;case 2:switch(b){case "O":case "o":case "*":case ".":g+=1;break;case "\n":k+=1;g>a&&(a=g);g=0;break;case " ":case "\t":break;default:c=e,d=!0}}if(!d){2===m&&"\n"!==b&&(k+=1,g>a&&(a=g));n.height=k;n.width=a;n.ad="Cells";n.Va=Array.b(n.height,(n.width-1>>4)+1);c=h;for(m=a=0;c<e;)switch(b=f[c],c+=1,b){case "\n":a+=1;m=0;break;case "O":case "o":case "*":n.Va[a][m>>
4]|=1<<(~m&15);m+=1;break;case ".":m+=1}this.sa=!0;this.Jf(n,"")}},en:function(n,f){var c,e,b,m,a,g,k,h,l,d;e=f.length;g=[];k=0;a=!1;l=h=0;d=!1;for(c=10;c<e;)switch(b=f[c],c+=1,b){case "\n":d&&(d=!1,2===m&&a&&(l=-l,a=!1),g[k]=[h,l],k+=1);m=l=h=0;break;case "-":a=!0;0===m?m=1:1===m&&(m=2);break;case " ":1===m&&(a&&(h=-h,a=!1),m=2);break;case "0":case "1":case "2":case "3":case "4":case "5":case "6":case "7":case "8":case "9":0===m&&(m=1),1===m?h=10*h+parseInt(b,10):(l=10*l+parseInt(b,10),d=!0)}d&&
(2===m&&a&&(l=-l),g[k]=[h,l],k+=1);if(k){b=e=g[0][0];a=m=g[0][1];for(c=1;c<k;c+=1)h=g[c][0],l=g[c][1],h<e&&(e=h),h>b&&(b=h),l<m&&(m=l),l>a&&(a=l);n.height=a-m+1;n.width=b-e+1;n.Va=Array.b(n.height,(n.width-1>>4)+1);n.ad="Life 1.06";this.Jf(n,"");for(c=0;c<k;c+=1)h=g[c][0]-e,l=g[c][1]-m,n.Va[l][h>>4]|=1<<(~h&15)}},Vk:function(n,f,c){var e,b,m,a,g,k,h,l,d,q=[],x=0,C=f.length;h=e="";l=!1;var H=0,r=0,L=!1,P=!1,v=0,D=0;for(c=c?10:0;c<C&&!P;)switch(b=f[c],c+=1,H){case 0:switch(b){case "#":H=2;break;case "*":case ".":H=
3,g=a=m=0,--c,k=c}break;case 2:switch(b){case "C":case "D":H=1;d=!0;break;case "N":H=0;break;case "R":H=4;break;case "P":H=5;r=2;L=!1;D=v=0;break;case "\n":H=0;break;default:H=1,d=!0}break;case 1:"\r"!==b&&(" "===b?d||(n.title+=b):(d=!1,n.title+=b));"\n"===b&&(H=0);break;case 4:switch(b){case "\n":H=0;break;case "0":case "1":case "2":case "3":case "4":case "5":case "6":case "7":case "8":switch(r){case 1:h+=b;l=!0;break;case 0:e+=b,l=!0}break;case "/":r=1,l=!0}break;case 5:switch(b){case "\n":H=0;
4===r&&L&&(D=-D,L=!1);break;case "-":L=!0;2===r?r=3:3===r&&(r=4);break;case " ":3===r&&(L&&(v=-v,L=!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(b,10):D=10*D+parseInt(b,10)}break;case 3:switch(b){case "\n":m>a&&(a=m);m=0;g+=1;break;case "#":q[x]=new B(v,D,a,g,k,c-1);x+=1;H=2;break;case "*":case ".":m+=1;break;default:P=!0}}"\n"!==b&&(g+=1);3===H&&(q[x]=new B(v,D,a,g,k,c-1),x+=1);if(x&&!P){v=q[0].bg;D=q[0].cg;
b=v+q[0].width-1;m=D+q[0].height-1;for(c=1;c<x;c+=1)q[c].bg<v&&(v=q[c].bg),q[c].cg<D&&(D=q[c].cg),q[c].bg+q[c].width-1>b&&(b=q[c].bg+q[c].width-1),q[c].cg+q[c].height-1>m&&(m=q[c].cg+q[c].height-1);n.height=m-D+1;n.width=b-v+1;n.Va=Array.b(n.height,(n.width-1>>4)+1);n.ad="Life 1.05";l?(this.Jf(n,e+"/"+h),n.Zf=e+"/"+h):this.Jf(n,"");for(c=0;c<x;c+=1)for(e=q[c].Ao,h=q[c].rn,m=q[c].bg-v,b=q[c].cg-D,l=m,a=b;e<=h;)switch(b=f[e],e+=1,b){case "\n":a+=1;l=m;break;case "*":n.Va[a][l>>4]|=1<<(~l&15);l+=1;break;
default:l+=1}}},ck:function(n,f,c,e){var b=0,m=0,a=0,g=0,k=0;c&&(b=16);for(g=0;512>g;g+=32)for(k=0;16>k;k+=1){m=0;for(a=g+k&e;0<a;)m+=a&1,a>>=1;f===m&&(n[g+k+b]=!0)}},xn:function(n){return(n&7)<<6|(n&448)>>6|n&56},bm:function(n){return(n&4)<<6|(n&32)<<2|(n&256)>>2|(n&2)<<4|n&16|(n&128)>>4|(n&1)<<2|(n&8)>>2|(n&64)>>6},xo:function(n,f,c){for(var e=0,e=0;4>e;e+=1)n[f]=c,f=this.bm(f);f=this.xn(f);for(e=0;4>e;e+=1)n[f]=c,f=this.bm(f)},wo:function(n,f,c,e,b,m){var a=0,g=f-1,k=0,k=null;0===f||8===f?this.ck(n,
f,c,m):(3<g&&(g=6-g,a=495),k=this.cm[g].indexOf(e),-1!==k&&(k=this.no[g][k]^a,c&&(k|=16),this.xo(n,k,b)))},im:function(n,f,c,e){for(var b=null,m=f.length,a=0,a=0;a<m;a+=1)b=f.charCodeAt(a)-48,this.ck(n,b,c,e)},hm:function(n,f,c){var e=null,b=null,m=f.length,a=!0,g=this.cm[3],k=0;f+=" ";for(k=0;k<m;k+=1)if(e=f.charCodeAt(k)-48,0<e&&8>=e||0===e&&c)for(b=f[k+1],-1===g.indexOf(b)&&this.ck(n,e,c,511),a=!0,"-"===b&&(a=!1,k+=1,b=f[k+1]);-1!==g.indexOf(b);)this.wo(n,e,c,b,a,511),k+=1,b=f[k+1]},dn:function(f,
p){for(var c=0,c=0;512>c;c+=1)f[c]=0!==(p&1<<(c&7))?1:0!==(c&16)?1:0;this.Wg.set(this.xe)},Kh:function(f,p,c,e,b){for(var m=0,a=0,m=0;512>m;m+=1)f[m]=0;e||b?(e&&(a=254),b&&(a=186),this.im(f,p,!1,a),this.im(f,c,!0,a)):(this.hm(f,p,!1),this.hm(f,c,!0))},mi:function(f,p){for(var c=0,e="",b="",c=0;c<=p;c+=1)e=this.Ii[c],-1!==f.indexOf(e)&&(b+=this.Ii[p-c]);return b},fi:function(f){for(var p=0,c="",e="",p=0;9>p;p+=1)c=this.Ii[p],-1===f.indexOf(c)&&(e+=c);return e},Xl:function(f){var p=f,c=0;if(-1!==f.indexOf(" "))for(p=
"";c<f.length;)" "!==f[c]&&(p+=f[c]),c+=1;return p},on:function(f,p){for(var c=!0,e=0,b=0,m=1;m<p.length&&c;)b=this.je.indexOf(p[m]),-1!==b?e=10*e+b:(this.Ma="Illegal character in Wolfram rule",c=!1),m+=1;c&&(2>e||254<e?(this.Ma="Wolfram rule number must be 2-254",c=!1):0!==(e&1)?(this.Ma="Wolfram rule number must be even",c=!1):(this.dn(this.xe,e),f.wf=e));return c},Jf:function(n,p){var c=-1,e=-1,b=-1,e=-1,m=!1,a=null,g=null,k=null,h=null,b=k=null,h=this.Ii,l=9,c=-1,d=!0,b=-1,c=f.nl.length,b=-1,
e=f.Fm.length,q=8,b=0,b=AliasManager.An(p);null!==b&&(""===p&&(n.Zf="Conway's Life"),p=b);p=p.toLowerCase();p=this.Xl(p);if("w"===p[0])m=this.on(n,p);else{b=p.lastIndexOf(f.nl);-1!==b&&b===p.length-c&&(n.I=!0,q=6,p=p.substr(0,p.length-c),h=this.ml,l=this.ml.length);b=p.lastIndexOf(f.Fm);-1!==b&&b===p.length-e&&(n.Yc=!0,q=4,p=p.substr(0,p.length-e),h=this.Em,l=this.Em.length);c=p.indexOf("/");-1===c&&(c=p.indexOf("_"));-1!==c&&(e=p.lastIndexOf("/"),-1===e&&(e=p.lastIndexOf("_")),e!==c&&(k=p.substring(e+
1),p=p.substr(0,e)));e=p.indexOf("b");b=p.indexOf("s");-1===c?-1===e||-1===b||0!==e&&0!==b?this.Ma="Unsupported rule name":e<b?(a=p.substring(e+1,b),g=p.substring(b+1)):(a=p.substring(b+1,e),g=p.substring(e+1)):e<b?(a=p.substring(0,c),g=p.substring(c+1)):(a=p.substring(c+1),g=p.substring(0,c));-1!==e&&a&&"b"===a[0]&&(a=a.substring(1));-1!==b&&g&&"s"===g[0]&&(g=g.substring(1));if(null!==k){b=0;for(c=n.u=0;b<k.length&&-1!==c;)c=this.je.indexOf(k[b]),-1!==c?n.u=10*n.u+c:(this.Ma="Illegal character in generations number",
n.u=-1,a=null),b+=1;-1!==n.u&&(2>n.u||256<n.u)&&(this.Ma="Generations number must be 2-256",n.u=-1,a=null)}if(null!==a&&null!==g){m=!0;for(b=0;b<a.length;)c=h.indexOf(a[b]),-1===c?(this.Ma="Illegal character in birth specification",m=!1,b=a.length):(c>=l&&(d=!1),b+=1);if(m){for(b=0;b<g.length;)c=h.indexOf(g[b]),-1===c?(this.Ma="Illegal character in survival specification",m=!1,b=g.length):(c>=l&&(d=!1),b+=1);m&&(d&&-1!==a.indexOf("0")?-1!==g.indexOf(this.je[q])?(a=this.fi(a),g=this.fi(g),k=this.mi(g,
q),h=this.mi(a,q),this.Kh(this.xe,k,h,n.I,n.Yc),this.Wg.set(this.xe)):(k=this.fi(a),h=this.fi(g),this.Kh(this.xe,k,h,n.I,n.Yc),k=this.mi(g,q),h=this.mi(a,q),this.Kh(this.Wg,k,h,n.I,n.Yc)):(this.Kh(this.xe,a,g,n.I,n.Yc),this.Wg.set(this.xe)))}}}return m},Xk:function(n,p,c){for(var e=0,b=p.length-1,m=!1,a=!0,g=null,k=null,h=0,l=0,d=0,q=-1,x=0,C=this.qc,k=p[e];!m;){g=k;k=p[e+1];q=-1;switch(g){case "0":case "1":case "2":case "3":case "4":case "5":case "6":case "7":case "8":case "9":x=10*x+parseInt(g,
10);break;case "b":q=0;break;case "o":q=1;break;case ".":q=0;break;case "z":q=7;n.Ub=!0;n.Hg=!0;break;case "$":0===x&&(x=1);d+=x;x=0;l>h&&(h=l);l=0;break;case "!":0===x&&(x=1);d+=x;x=0;l>h&&(h=l);m=!0;break;default:a=!1,"A"<=g&&"X">=g?(a=!0,q=g.charCodeAt(0)-64):"p"<=g&&"y">g?"A"<=k&&"X">=k?(a=!0,q=24*(g.charCodeAt(0)-111)+(k.charCodeAt(0)-64),e+=1,k=p[e+1]):"x"===g&&(a=!0,n.Ub=!0,n.Hg=!0,q=3):"y"===g&&("A"<=k&&"O">=k?(a=!0,q=24*(g.charCodeAt(0)-111)+(k.charCodeAt(0)-64),e+=1,k=p[e+1]):(a=!0,n.Ub=
!0,n.Hg=!0,q=5))}if(0<=q)if(0===x&&(x=1),c||(0===C[q]&&(n.Sg+=1),C[q]+=x,q>=n.Vd&&(n.Vd=q+1)),0<q&&c)for(;0<x;){n.Td[d][l]=-1===n.u?q:0<=n.u-q?n.u-q:1;if(!n.Ub&&-1===n.u||n.Ub&&q&1||-1!==n.u&&1===q)n.Va[d][l>>4]|=1<<(~l&15);l+=1;--x}else l+=x,x=0;a||(" "===g||"\t"===g||"\n"===g?a=!0:m=n.Sf=!0);e+=1;e===b&&(m||(0===x&&(x=1),d+=x,x=0,l>h&&(h=l)),m=!0)}c||(n.width=h,n.height=d,0<h&&0<d&&(h>f.maxWidth||d>f.maxHeight?(n.de=!0,n.Sf=!0):(n.Va=Array.b(d,(h-1>>4)+1),n.Td=Array.c(d,h,0),n.ad="RLE")));n.Sf&&
(e=-1);return e},vo:function(f,p){var c=p.indexOf("\n");-1===c&&(c=p.length);f.Sl=p.substring(0,c).trim()},zi:function(f,p,c){for(var e=!1;p<c&&!e;)" "===f[p]?p+=1:e=!0;return p},$n:function(n){var p=n.indexOf("\n"),c=0,e=0,b=!1,m=0;-1===p&&(p=n.length);for(;m<p&&!b;)"="===n[m]?b=!0:" "!==n[m]?b=!0:m+=1;if(b&&"="===n[m]){m=this.zi(n,m+1,p);for(b=!1;m<p&&!b;)e=f.je.indexOf(n[m]),-1!==e?(c=10*c+e,m+=1):b=!0;this.jj=c}},ao:function(n){var p=n.indexOf("\n"),c=0,e=0,b=!1,m=!1,a=0,g=!1,k=0;-1===p&&(p=n.length);
for(;k<p&&!g;)"="===n[k]?g=!0:" "!==n[k]?g=!0:k+=1;if(g&&"="===n[k]&&(k=this.zi(n,k+1,p),k<p)){"-"===n[k]&&(b=!0,k+=1);for(g=!1;k<p&&!g;)a=f.je.indexOf(n[k]),-1!==a?(c=10*c+a,k+=1):g=!0;this.Vj=b?-c:c;k=this.zi(n,k,p);if(k<p&&","===n[k]&&(k+=1,k=this.zi(n,k,p),k<p)){"-"===n[k]&&(m=!0,k+=1);for(g=!1;k<p&&!g;)a=f.je.indexOf(n[k]),-1!==a?(e=10*e+a,k+=1):g=!0;this.Wj=m?-e:e}}},Qm:function(n){var p=n.indexOf(f.sn);0===p&&(p=n.indexOf(f.Vl),-1!==p&&this.ao(n.substr(p+f.Vl.length)),p=n.indexOf(f.hl),-1!==
p&&this.$n(n.substr(p+f.hl.length)))},uo:function(f,p){var c=p.indexOf("\n");-1===c&&(c=p.length);f.name=p.substring(0,c).trim()},Fk:function(f,p){var c=p.indexOf("\n");-1===c&&(c=p.length);f.title+=p.substring(0,c)+" ";return c+1},nc:function(f){var p=0,c=-1;f+=" ";p=this.je.indexOf(f[this.index]);if(-1!==p)for(c=0;-1!==p;)c=10*c+p,this.index+=1,p=this.je.indexOf(f[this.index]);return c},mn:function(f,p){var c=this.nc(p);f.qd=c;f.me=c},nn:function(f,p){var c=this.nc(p),e=-1,b=0,m=0,a="";if(-1!==
c){a=p[this.index];if("-"===a||"+"===a)this.index+=1,b=this.nc(p),-1===b?c=-1:"-"===a&&(b=-b);if(","===p[this.index])if(this.index+=1,e=this.nc(p),-1===e)c=-1;else{if(a=p[this.index],"-"===a||"+"===a)this.index+=1,m=this.nc(p),-1===m?c=-1:"-"===a&&(m=-m)}else e=c}0!==b&&0!==m&&(c=-1);0===c&&0===e&&(c=-1);0===b&&0===m||0!==c&&0!==e||(c=-1);f.qd=c;f.me=e;f.lj=b;f.nj=m},jn:function(f,p){var c=this.nc(p),e=-1,b=0,m=0,a=!1,g=!1,k="";if(-1!==c){k=p[this.index];"*"===k&&(a=!0,this.index+=1,k=p[this.index]);
if("-"===k||"+"===k)b=this.nc(p),-1===b?c=-1:"-"===k&&(b=-b),this.index+=1,k=p[this.index];if(","===k)if(this.index+=1,e=this.nc(p),-1===e)c=-1;else{if(k=p[this.index],"*"===k&&(g=!0,this.index+=1,k=p[this.index]),"-"===k||"+"===k)this.index+=1,m=this.nc(p),-1===m?c=-1:"-"===k&&(m=-m)}else e=c}a&&g&&(c=-1);0!==b&&0!==m&&(c=-1);if(a&&0!==m||g&&0!==b)c=-1;if(0===c||0===e)c=-1;f.qd=c;f.me=e;f.lj=b;f.nj=m;f.il=a;f.jl=g},hn:function(f,p){var c=this.nc(p),e=-1;-1!==c&&(","===p[this.index]?(this.index+=
1,e=this.nc(p),-1===e&&(c=-1)):e=c);f.qd=c;f.me=e},kn:function(f,p){var c=this.nc(p),e=-1;-1!==c&&(","===p[this.index]?(this.index+=1,e=this.nc(p),-1===e&&(c=-1)):e=c);0===c&&0===e&&(c=-1);f.qd=c;f.me=e},fn:function(f,p){var c=!1;p=this.Xl(p);if(""!==p){f.ne=this.Nm.indexOf(p[0]);if(-1!==f.ne)switch(this.index=1,f.ne){case 0:this.kn(f,p);break;case 1:this.nn(f,p);break;case 2:this.jn(f,p);break;case 3:this.hn(f,p);break;case 4:this.mn(f,p);break;default:f.qd=-1}-1!==f.qd?c=!0:(f.ne=-1,this.reason=
"Invalid bounded grid definition '"+p+"'")}return c},ln:function(n,p){var c=p.indexOf("\n"),e=p.indexOf("rule"),b=-1,m=-1,a=f.pl.length,g="";-1===c&&(c=p.length);-1!==e&&(g=p.substring(e+4,c).trim(),"="===g[0]&&(g=g.substring(1).trim()));n.Zf=g;g=g.toLowerCase();b=g.lastIndexOf(f.Mm);-1!==b&&(this.fn(n,g.substring(b+1))?g=g.substr(0,b).trim():b=-2);m=g.lastIndexOf(f.pl);-1!==m&&m===g.length-a&&(n.Ub=!0,g=g.substr(0,g.length-a).trim());this.Jf(n,g)&&-2!==b?this.sa=!0:this.Pf=!0;return c+1},Lm:function(f){var p=
"";switch(f){case 0:p="Plane";break;case 1:p="Torus";break;case 2:p="Klein bottle";break;case 3:p="Cross-surface";break;case 4:p="Sphere";break;default:p="(unknown)"}return p},Wk:function(n,p){var c=0,e=p.length,b=null,m=!1,a=!1,b=this.qc,g=f.In,k=0;n.ne=-1;n.width=0;n.height=0;n.de=!1;n.Va=null;n.Td=null;n.Sf=!1;n.Ub=!1;n.Hg=!1;n.I=!1;n.wf=-1;n.Yc=!1;n.u=-1;n.title="";n.Vd=2;for(k=n.Sg=0;k<g;k+=1)b[k]=0;for(p+=" ";c<e&&!n.Sf;)switch(b=p[c],b){case "#":c+=1;b=p[c];c+=1;switch(b){case "N":this.uo(n,
p.substring(c));break;case "O":this.vo(n,p.substring(c));break;case "C":this.Qm(p.substring(c))}c+=this.Fk(n,p.substring(c));break;case "x":c+=this.ln(n,p.substring(c));a=!0;break;case "\n":c+=1;break;default:m?c+=this.Fk(n,p.substring(c)):(m=!0,-1!==this.Xk(n,p.substring(c),!1)&&(c+=this.Xk(n,p.substring(c),!0)))}a||(this.Jf(n,"")?this.sa=!0:this.Pf=!0);if(-1!==n.ne){if(n.width>n.qd&&0!==n.qd||n.height>n.me&&0!==n.me)this.Ma="Pattern larger than bounded grid",this.sa=!1;n.I&&(this.Ma="Bounded grid not valid for Hex rules",
this.sa=!1,n.ne=-1)}-1!==n.u&&n.Ub&&(this.Ma="[R]History not valid with Generations",this.sa=n.Ub=!1);this.sa&&(n.Hg?8<n.Vd&&(this.Ma="Illegal state in pattern for Niemiec",this.sa=!1):n.Ub?7<n.Vd&&(this.Ma="Illegal state in pattern for [R]History",this.sa=!1):-1!==n.u&&n.Vd>n.u&&(this.Ma="Illegal state in pattern for Generations",this.sa=!1))},create:function(f,p){var c=new t(f);this.sa=this.Pf=this.de=!1;this.Ma="";this.Wj=this.Vj=this.jj=0;if("!"===p.substr(0,1)||"O"===p.substr(0,1)||"."===p.substr(0,
1)||"*"===p.substr(0,1)||"o"===p.substr(0,1))this.gn(c,p),this.sa=!0;null===c.Va&&(this.sa=!1,"#Life 1.05"===p.substr(0,10)?(this.Vk(c,p,!0),this.sa=!0):"#Life 1.06"===p.substr(0,10)?(this.en(c,p),this.sa=!0):"#"===p[0]||"x"===p[0]?(this.Wk(c,p),null!==c.Va||c.de||c.Sf||(this.Vk(c,p,!1),this.sa=!0,this.Pf=!1,c.Td=null,c.Ub=!1,c.Vd=2,c.Sg=0)):this.Wk(c,p));c.de&&(this.Ma="Pattern too big (maximum "+this.maxWidth+"x"+this.maxHeight+")",this.de=!0,this.sa=!1);null===c.Va&&(c.de||(this.Ma="Invalid pattern"),
c=null,this.sa=!1);return c}};window.PatternManager=f;window.Pattern=t})();(function(){function B(){this.Ti=[]}B.prototype.add=function(f,n,p){this.Ti[this.Ti.length]=f<<16|n<<8|p};var t={Hd:[],Vg:[],sl:!1,Wi:[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],Vi:[],Sb:{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]},ep:function(){return this.Vi},Rk:function(f){for(var n=0,p=!1,c=[];n<this.Vg.length&&!p;)f===this.Vg[n][0]?p=!0:n+=1;p&&(c=this.Hd[this.Vg[n][1]].Ti);return c},ea:function(f){this.Vg[this.Vg.length]=f},td:function(){var f=null,n=0,p=f=0;if(!this.sl){this.sl=!0;for(f=p=0;256>f;f+=1)this.Vi[f]=this.Wi[p]<<16|this.Wi[p+1]<<8|this.Wi[p+2],p+=3;f=new B;f.add(0,0,0);f.add(0,255,0);f.add(0,
0,128);f.add(216,255,216);f.add(255,0,0);f.add(255,255,0);f.add(96,96,96);f.add(255,128,128);this.Hd[n]=f;t.ea(["LifeHistory",n]);n+=1;f=new B;f.add(48,48,48);f.add(0,128,255);f.add(255,255,255);f.add(255,128,0);this.Hd[n]=f;t.ea(["WireWorld",n]);n+=1;f=new B;f.add(0,0,0);f.add(255,255,255);f.add(144,128,112);f.add(144,90,45);f.add(192,192,192);f.add(255,0,0);f.add(255,128,0);f.add(255,255,0);f.add(0,255,0);f.add(0,255,208);f.add(0,192,255);f.add(0,0,255);f.add(192,0,255);f.add(255,64,160);f.add(112,
128,144);f.add(0,128,0);f.add(0,96,128);f.add(160,0,80);f.add(40,40,40);f.add(220,220,220);f.add(140,60,0);f.add(0,160,0);f.add(160,160,250);this.Hd[n]=f;t.ea(["WWE",n]);t.ea(["WWE2",n]);t.ea(["WWEJ",n]);t.ea(["WWEJ2",n]);t.ea(["WWEJ3",n]);n+=1;f=new B;f.add(30,30,30);f.add(0,128,128);f.add(0,255,0);f.add(255,0,0);f.add(255,128,0);f.add(255,255,0);f.add(128,0,128);f.add(128,128,128);f.add(255,255,255);f.add(128,128,255);this.Hd[n]=f;t.ea(["Novoloop",n]);n+=1;f=new B;f.add(0,0,0);f.add(255,128,0);
f.add(255,0,0);f.add(0,255,0);f.add(0,0,255);f.add(0,190,0);f.add(0,140,0);f.add(255,255,255);f.add(80,80,80);f.add(95,95,95);f.add(128,128,128);f.add(0,64,0);f.add(255,255,0);f.add(64,0,164);f.add(64,32,64);f.add(80,80,100);f.add(95,95,125);f.add(128,255,128);f.add(64,100,100);this.Hd[n]=f;t.ea(["shapeloop",n]);t.ea(["shapeloop-b",n]);t.ea(["shapeloop2",n]);t.ea(["shapeloop-ltd",n]);t.ea(["2armshapeloop-a",n]);t.ea(["2armshapeloop2-a",n]);t.ea(["shapeloop2a-bounded",n]);t.ea(["foodshapeloop",n]);
t.ea(["foodshapeloop2",n]);n+=1;f=new B;f.add(0,0,0);f.add(255,255,255);f.add(255,0,0);f.add(0,128,255);f.add(170,0,0);f.add(85,0,0);this.Hd[n]=f;t.ea(["b3s23mmg",n]);n+=1;f=new B;f.add(0,0,0);f.add(255,0,0);f.add(0,255,0);f.add(0,0,255);f.add(255,255,0);f.add(0,255,255);f.add(255,0,255);f.add(92,36,110);f.add(0,99,140);f.add(176,196,222);f.add(115,61,26);this.Hd[n]=f;t.ea(["_235_4_O3",n]);t.ea(["0_245_5_O4",n]);t.ea(["0_245_5_O3",n]);t.ea(["58_27_4_O3",n]);t.ea(["0_24_4H_O3",n]);t.ea(["2_235_4H_O3",
n]);t.ea(["24_235_4H_O3",n]);t.ea(["3_25_4_O2",n]);t.ea(["Snake_O5",n]);t.ea(["Mites",n]);t.ea(["Mites2",n]);t.ea(["Mites3",n]);n+=1;f=new B;f.add(48,48,48);f.add(255,128,0);f.add(0,0,255);f.add(32,32,255);f.add(64,64,255);f.add(96,96,255);this.Hd[n]=f;t.ea(["Alpha-1",n])}}};window.ColourManager=t})();window.BoundingBox=function(B,t,f,n){this.M=B;this.L=t;this.N=f;this.O=n};(function(){function B(f,n){this.index=n;this.Y=f.fg[n];this.za=f.Ef[n];this.f=f.ci[n];this.c=f.Jh[n];this.A=new BoundingBox(0,0,0,0);this.elapsedTime=this.Tc=this.Qc=this.bd=0;this.i=-1;this.fc=this.U=0;this.b=f}function t(){var f=0,n=0,p=0;this.ub=[];this.md=[];this.fg=[];this.Ef=[];this.ci=[];this.Jh=[];this.b=0;this.index=-1;this.Hn=51;this.Bd=null;this.Se=new Uint8Array(256);for(f=0;f<this.Se.length;f+=1){n=f;for(p=0;n;p+=1)n&=n-1;this.Se[f]=p}}B.prototype.mo=function(f,n,p){var c=n.length,e=
n[0].length,b=0,m=0,a=0,g=0,k=0,h=0,l=null,d=0,q=p.jh;p=p.kh;var x=0,C=0,H=this.f,r=0,L=H[r],P=L.length,v=0;Array.j(this.Y,n);for(m=0;m<c;m+=1){l=this.Y[m];for(b=x=0;b<e;b+=1)if(d=l[b])for(a=15;0<=a;--a)0!==(d&1<<a)&&(k=C,g=x,v=L[h],h+=1,f[k][g]=v&255,f[k][g+1]=v>>8&255,f[k+1][g]=v>>16&255,f[k+1][g+1]=v>>24,k+=2,v=L[h],h+=1,f[k][g]=v&255,f[k][g+1]=v>>8&255,f[k+1][g]=v>>16&255,f[k+1][g+1]=v>>24,k+=2,v=L[h],h+=1,f[k][g]=v&255,f[k][g+1]=v>>8&255,f[k+1][g]=v>>16&255,f[k+1][g+1]=v>>24,k+=2,v=L[h],h+=1,
f[k][g]=v&255,f[k][g+1]=v>>8&255,f[k+1][g]=v>>16&255,f[k+1][g+1]=v>>24,k+=2,v=L[h],h+=1,f[k][g]=v&255,f[k][g+1]=v>>8&255,f[k+1][g]=v>>16&255,f[k+1][g+1]=v>>24,k+=2,v=L[h],h+=1,f[k][g]=v&255,f[k][g+1]=v>>8&255,f[k+1][g]=v>>16&255,f[k+1][g+1]=v>>24,k+=2,v=L[h],h+=1,f[k][g]=v&255,f[k][g+1]=v>>8&255,f[k+1][g]=v>>16&255,f[k+1][g+1]=v>>24,k+=2,v=L[h],h+=1,f[k][g]=v&255,f[k][g+1]=v>>8&255,f[k+1][g]=v>>16&255,f[k+1][g+1]=v>>24,h>=P&&(r+=1,L=H[r],h=0)),x+=q;else x+=q<<4;C+=p}};B.prototype.qo=function(f,n,
p){var c=n.length,e=n[0].length,b=0,m=0,a=0,g=0,k=0,h=0,l=null,d=0,a=0,q=p.jh;p=p.kh;var x=0,C=0,H=this.f,r=0,L=H[r],P=L.length,v=H.length,g=this.b.Se;Array.j(n,this.Y);for(m=0;m<c;m+=1)for(l=n[m],b=0;b<e;b+=1)(d=l[b])&&(a+=g[d>>8]+g[d&255]);if(a)for(m=0;m<c;m+=1){l=n[m];for(b=x=0;b<e;b+=1)if(d=l[b])for(a=15;0<=a;--a)0!==(d&1<<a)&&(k=C,g=x,L[h]=f[k][g]|f[k][g+1]<<8|f[k+1][g]<<16|f[k+1][g+1]<<24,h+=1,k+=2,L[h]=f[k][g]|f[k][g+1]<<8|f[k+1][g]<<16|f[k+1][g+1]<<24,h+=1,k+=2,L[h]=f[k][g]|f[k][g+1]<<8|f[k+
1][g]<<16|f[k+1][g+1]<<24,h+=1,k+=2,L[h]=f[k][g]|f[k][g+1]<<8|f[k+1][g]<<16|f[k+1][g+1]<<24,h+=1,k+=2,L[h]=f[k][g]|f[k][g+1]<<8|f[k+1][g]<<16|f[k+1][g+1]<<24,h+=1,k+=2,L[h]=f[k][g]|f[k][g+1]<<8|f[k+1][g]<<16|f[k+1][g+1]<<24,h+=1,k+=2,L[h]=f[k][g]|f[k][g+1]<<8|f[k+1][g]<<16|f[k+1][g+1]<<24,h+=1,k+=2,L[h]=f[k][g]|f[k][g+1]<<8|f[k+1][g]<<16|f[k+1][g+1]<<24,h+=1,h>=P&&(r+=1,h=0,r>=v&&(Array.H(H),v+=1)),L=H[r]),x+=q;else x+=q<<4;C+=p}};B.prototype.lo=function(f,n,p){var c=n.length,e=n[0].length,b=0,m=
0,a=0,g=0,k=0,h=0,l=null,d=0,q=p.jh<<3;p=p.kh;var x=0,C=0,H=this.c,r=0,L=H[r],P=L.length,v=0;Array.j(this.za,n);for(m=0;m<c;m+=1){l=n[m];for(b=x=0;b<e;b+=1)if(d=l[b])for(a=15;0<=a;--a){if(0!==(d&1<<a))for(g=x;g<x+q;g+=4)k=C,v=L[h],h+=1,f[k][g]=v&255,f[k][g+1]=v>>8&255,f[k][g+2]=v>>16&255,f[k][g+3]=v>>24,k+=1,v=L[h],h+=1,f[k][g]=v&255,f[k][g+1]=v>>8&255,f[k][g+2]=v>>16&255,f[k][g+3]=v>>24,k+=1,v=L[h],h+=1,f[k][g]=v&255,f[k][g+1]=v>>8&255,f[k][g+2]=v>>16&255,f[k][g+3]=v>>24,k+=1,v=L[h],h+=1,f[k][g]=
v&255,f[k][g+1]=v>>8&255,f[k][g+2]=v>>16&255,f[k][g+3]=v>>24,k+=1,v=L[h],h+=1,f[k][g]=v&255,f[k][g+1]=v>>8&255,f[k][g+2]=v>>16&255,f[k][g+3]=v>>24,k+=1,v=L[h],h+=1,f[k][g]=v&255,f[k][g+1]=v>>8&255,f[k][g+2]=v>>16&255,f[k][g+3]=v>>24,k+=1,v=L[h],h+=1,f[k][g]=v&255,f[k][g+1]=v>>8&255,f[k][g+2]=v>>16&255,f[k][g+3]=v>>24,k+=1,v=L[h],h+=1,f[k][g]=v&255,f[k][g+1]=v>>8&255,f[k][g+2]=v>>16&255,f[k][g+3]=v>>24,k+=1,v=L[h],h+=1,f[k][g]=v&255,f[k][g+1]=v>>8&255,f[k][g+2]=v>>16&255,f[k][g+3]=v>>24,k+=1,v=L[h],
h+=1,f[k][g]=v&255,f[k][g+1]=v>>8&255,f[k][g+2]=v>>16&255,f[k][g+3]=v>>24,k+=1,v=L[h],h+=1,f[k][g]=v&255,f[k][g+1]=v>>8&255,f[k][g+2]=v>>16&255,f[k][g+3]=v>>24,k+=1,v=L[h],h+=1,f[k][g]=v&255,f[k][g+1]=v>>8&255,f[k][g+2]=v>>16&255,f[k][g+3]=v>>24,k+=1,v=L[h],h+=1,f[k][g]=v&255,f[k][g+1]=v>>8&255,f[k][g+2]=v>>16&255,f[k][g+3]=v>>24,k+=1,v=L[h],h+=1,f[k][g]=v&255,f[k][g+1]=v>>8&255,f[k][g+2]=v>>16&255,f[k][g+3]=v>>24,k+=1,v=L[h],h+=1,f[k][g]=v&255,f[k][g+1]=v>>8&255,f[k][g+2]=v>>16&255,f[k][g+3]=v>>
24,k+=1,v=L[h],h+=1,f[k][g]=v&255,f[k][g+1]=v>>8&255,f[k][g+2]=v>>16&255,f[k][g+3]=v>>24,h>=P&&(r+=1,L=H[r],h=0);x+=q}else x+=q<<4;C+=p}};B.prototype.oo=function(f,n,p){var c=n.length,e=n[0].length,b=0,m=0,a=0,g=0,k=0,h=0,l=null,d=0,a=0,q=p.jh<<3;p=p.kh;var x=0,C=0,H=this.c,r=0,L=H[r],P=L.length,v=H.length,g=this.b.Se;Array.j(n,this.za);for(m=0;m<c;m+=1)for(l=n[m],b=0;b<e;b+=1)(d=l[b])&&(a+=g[d>>8]+g[d&255]);if(a)for(m=0;m<c;m+=1){l=n[m];for(b=x=0;b<e;b+=1)if(d=l[b])for(a=15;0<=a;--a){if(0!==(d&1<<
a))for(g=x;g<x+q;g+=4)k=C,L[h]=f[k][g]|f[k][g+1]<<8|f[k][g+2]<<16|f[k][g+3]<<24,h+=1,k+=1,L[h]=f[k][g]|f[k][g+1]<<8|f[k][g+2]<<16|f[k][g+3]<<24,h+=1,k+=1,L[h]=f[k][g]|f[k][g+1]<<8|f[k][g+2]<<16|f[k][g+3]<<24,h+=1,k+=1,L[h]=f[k][g]|f[k][g+1]<<8|f[k][g+2]<<16|f[k][g+3]<<24,h+=1,k+=1,L[h]=f[k][g]|f[k][g+1]<<8|f[k][g+2]<<16|f[k][g+3]<<24,h+=1,k+=1,L[h]=f[k][g]|f[k][g+1]<<8|f[k][g+2]<<16|f[k][g+3]<<24,h+=1,k+=1,L[h]=f[k][g]|f[k][g+1]<<8|f[k][g+2]<<16|f[k][g+3]<<24,h+=1,k+=1,L[h]=f[k][g]|f[k][g+1]<<8|f[k][g+
2]<<16|f[k][g+3]<<24,h+=1,k+=1,L[h]=f[k][g]|f[k][g+1]<<8|f[k][g+2]<<16|f[k][g+3]<<24,h+=1,k+=1,L[h]=f[k][g]|f[k][g+1]<<8|f[k][g+2]<<16|f[k][g+3]<<24,h+=1,k+=1,L[h]=f[k][g]|f[k][g+1]<<8|f[k][g+2]<<16|f[k][g+3]<<24,h+=1,k+=1,L[h]=f[k][g]|f[k][g+1]<<8|f[k][g+2]<<16|f[k][g+3]<<24,h+=1,k+=1,L[h]=f[k][g]|f[k][g+1]<<8|f[k][g+2]<<16|f[k][g+3]<<24,h+=1,k+=1,L[h]=f[k][g]|f[k][g+1]<<8|f[k][g+2]<<16|f[k][g+3]<<24,h+=1,k+=1,L[h]=f[k][g]|f[k][g+1]<<8|f[k][g+2]<<16|f[k][g+3]<<24,h+=1,k+=1,L[h]=f[k][g]|f[k][g+1]<<
8|f[k][g+2]<<16|f[k][g+3]<<24,h+=1,h>=P&&(r+=1,h=0,r>=v&&(Array.H(H),v+=1),L=H[r]);x+=q}else x+=q<<4;C+=p}};t.prototype.bufferSize=function(){for(var f=0,n=0;n<this.md.length;)f+=this.fg[n].length*this.fg[n][0].length*2,f+=this.Ef[n].length*this.Ef[n][0].length*2,f+=this.ci[n].length*this.ci[n][0].length*4,f+=this.Jh[n].length*this.Jh[n][0].length*4,n+=1;return f};t.prototype.Po=function(){for(var f=0,n=0;n<this.md.length;)this.md[n]&&(f+=1),n+=1;return f};t.prototype.reset=function(){var f=0,n=-1;
this.ub=[];this.index=-1;this.Bd&&(n=this.Bd.index);for(;f<this.md.length;)f!==n&&(this.md[f]=!1),f+=1};t.prototype.zo=function(f){var n=null;0<this.ub.length&&(n=this.ub[this.index],n.i>f&&(n=null,0<this.index&&(this.c(this.ub[this.index].index),this.ub.pop(),--this.index,0<=this.index&&(n=this.ub[this.index]))));return n};t.prototype.Xg=function(f,n,p,c,e,b,m,a,g,k,h,l,d,q,x,C){var H=null,H=0;if(q)H=this.Bd;else if(51>this.ub.length)H=this.Ui(h,l,!1),this.index+=1;else{this.index+=1;if(51<=this.index){this.index=
50;this.c(this.ub[0].index);for(H=0;50>H;H+=1)this.ub[H]=this.ub[H+1];this.ub.pop();this.Ui(h,l,!1)}H=this.ub[this.index]}H.U=x;H.fc=C;H.qo(f,n,d);H.oo(p,c,d);H.A.M=e.M;H.A.N=e.N;H.A.L=e.L;H.A.O=e.O;H.bd=b;H.Qc=m;H.Tc=a;H.elapsedTime=g;H.i=k};t.prototype.c=function(f){this.md[f]=!1};t.prototype.j=function(f,n){for(var p=0,c=0,p=!1;c<this.b&&!p;)this.md[c]?c+=1:p=!0;p?(p=c,this.md[c]=!0):(this.fg[c]=Array.b(n,f),this.Ef[c]=Array.b(n,f),this.ci[c]=Array.K(128),this.Jh[c]=Array.K(1024),this.md[c]=!0,
this.b+=1,p=c);return p};t.prototype.Ui=function(f,n,p){f=this.j(f,n);f=new B(this,f);p?this.Bd=f:this.ub[this.ub.length]=f;return f};t.prototype.f=function(f,n,p,c){var e=f.Y,b=f.za,m=f.Y.length,a=m>>1,g=f.Y[0].length>>1,k=0,h=f.index;this.fg[h]=Array.b(p,n);this.Ef[h]=Array.b(p,n);f.Y=this.fg[h];for(f.za=this.Ef[h];k<m;)f.Y[k+a].set(e[k],g),f.za[k+a].set(b[k],g),k+=1;f.A.M+=c;f.A.N+=c;f.A.L+=c;f.A.O+=c};t.prototype.ko=function(f,n,p){var c=0,e=this.ub.length;for(this.f(this.Bd,f,n,p);c<e;)this.f(this.ub[c],
f,n,p),c+=1};window.SnapshotManager=t;window.Snapshot=B})();(function(){function B(c,e,b){this.ya=e;this.ua=c;this.Mb=b}function t(c,e,b){this.red=c;this.green=e;this.blue=b}function f(c,e){this.G=c;this.Z=e}function n(c,e,b,m,a){this.U=0;this.Ci=-1;this.fc=0;this.Ka=this.ka=this.wb=-1;this.wg=this.vg=0;this.Mk=this.Pi=!1;this.ri=ViewConstants.Yk;this.wc=[];this.xc=[];this.wc[0]=new Int32Array(p.Yj);this.xc[0]=new Int32Array(p.Yj);this.Be=0;this.Df=4294967295;this.wf=-1;this.Yc=this.oi=this.I=!1;this.u=-1;this.Jd=this.Ec=!1;this.elapsedTime=0;this.pc=new SnapshotManager;
this.ff=p.bh;this.hb=this.um=!1;this.Pe=this.Qa=this.jb=this.A=null;this.title="LifeViewer";this.width=m;this.height=a;this.jh=2;this.kh=16;this.c=this.width>>4;this.f=this.height>>4;this.Bd=this.pc.Ui((this.c-1>>4)+1,this.f,!0);this.o=e;this.l=b;this.Tc=this.Qc=this.bd=0;this.ca=64;this.X=127;this.yc=63;this.vc=1;this.Fj=this.Mb=0;this.Te=this.Rc=this.m=1;this.Qk=30;this.B=this.i=0;this.zoom=6;this.w=this.F=0;this.Vb=.1;this.T=0;this.j=1;this.K=this.H=0;this.b=.1;this.oe=littleEndian;this.Lb=[];
this.gb=this.ja=this.ta=this.cc=this.Ha=this.Pa=null;this.Xb=12;this.Eb=this.Fb=this.Pd=null;this.Md=c;this.Ba=this.va=0;this.Y=Array.b(this.f,(this.c-1>>4)+1);this.pa=Array.b(this.f,(this.c-1>>4)+1);this.eb=Array.c(this.height,(this.width-1>>3)+1,0);this.pb=Array.c(this.height,(this.width-1>>3)+1,0);this.Ta=Array.s(this.eb);this.fa=Array.s(this.pb);this.od=new Uint32Array(this.o);this.Ia=new Uint8Array((this.width-1>>3)+1);this.Cb=new Uint16Array(this.c>>4);this.nd=new Uint8Array(this.width);this.ga=
Array.c(this.height,this.width,this.Mb);this.s=Array.c(this.height,this.width,this.Mb);this.wa=Array.f(this.s,1);this.xa=Array.f(this.s,3);this.Ra=Array.f(this.s,7);this.Fe=Array.s(this.ga);this.ud=this.Uc=this.bc=this.ac=this.aa=this.Ib=null;this.za=Array.b(this.f,(this.c-1>>4)+1);this.na=Array.b(this.f,(this.c-1>>4)+1);this.dd=this.Nb=this.Ob=this.Ya=null;this.oc=new Uint8Array(256);this.gc=new Uint8Array(256);this.dc=new Uint8Array(256);this.zd=new Uint32Array(256);this.aj=this.$i=0;this.bf=new Uint8Array(p.ll);
this.cf=new Uint8Array(p.ll);this.zc=new Uint8Array(p.oj);this.Cc=new Uint8Array(p.oj);this.Ge=new Uint8Array(2*(this.X+1));this.Ie=Array.c(65536,16,0);this.hc=this.di=5263440;this.Xd=-1;this.Wc=this.mj=7368816;this.Wd=-1;this.mg=13750737;this.Le=15066597;this.pd=10;this.Se=new Uint8Array(256);this.Nd=new Uint8Array(65536);this.rd=new Uint16Array((this.width-1>>4)+1);this.Wa=8192}var p={Yj:4096,ll:512,oj:262144,bh:50,Lk:255,Fc:1,Lc:2,Mc:4,Bc:8,Ed:16,Fd:32,kd:64,ld:128};B.prototype.Bn=function(){var c=
!0;this.ya.G.xj(this.ya.Z)&&this.ua.G.xj(this.ua.Z)&&this.ua.G.xj(this.Mb)&&(c=!1);return c};t.prototype.set=function(c){this.red=c.red;this.green=c.green;this.blue=c.blue};t.prototype.xj=function(c){var e=!1;this.red===c.red&&this.green===c.green&&this.blue===c.blue&&(e=!0);return e};f.prototype.set=function(c){this.G.set(c.G);this.Z.set(c.Z)};n.prototype.kj=function(c,e,b){var m=0,a=0,g=0,k=ViewConstants.qa[3]+128,h=ViewConstants.qa[4]+128,l=ViewConstants.qa[5]+128,d=ViewConstants.qa[6]+128;c===
(c&this.va)&&e===(e&this.Ba)&&(a=this.ga[e][c],b||-1!==this.u?-1!==this.u&&0<a?m=this.u-a:m=a:this.Ib?(g=this.Ib[e][c],g===h||g===d?(a>=this.ca&&(g=k),m=ViewConstants.qa[g-128]):g===k||g===l?(a<this.ca&&(g=h),m=ViewConstants.qa[g-128]):m=a===this.Mb?0:a<=this.yc?2:1):m=a<=this.yc?0:1);return m};n.prototype.ih=function(c){for(var e=null,b=0,m=0,a=0,g=c.length,k=c[0].length,h=this.Se,l=0,b=0;b<g;b+=1)for(e=c[b],m=0;m<k;m+=1)(a=e[m])&&(l+=h[a>>8]+h[a&255]);return l};n.prototype.ti=function(c,e,b){var m=
this.pc.ub.length,a=this.pc.zo(c),g=!0;m!==this.pc.ub.length&&(this.ff-=p.bh);if(a){for(this.Ne(a);this.i<c-1;)this.ef(!1,this.elapsedTime,!0),this.Gf();this.i<c&&this.ef(e,this.elapsedTime,!0);g=this.Gf();this.elapsedTime=b-(b-a.elapsedTime)/(c-a.i+1)}return g};n.prototype.Ne=function(c){var e=null,b=null,m=null,a=null,g=0,k=0,h=this.Ia,l=this.nd;this.i=c.i;0!==(this.i&1)?(e=this.pb,b=this.eb,m=this.pa,a=this.Y):(e=this.eb,b=this.pb,m=this.Y,a=this.pa);k=e.length;for(g=0;g<k;g+=1)e[g].set(h),this.ga[g].set(l),
this.s[g].set(l);Array.j(e,b);Array.j(this.na,this.za);c.mo(e,m,this);c.lo(this.ga,this.na,this);Array.j(m,a);Array.j(e,b);this.A.M=c.A.M;this.A.L=c.A.L;this.A.N=c.A.N;this.A.O=c.A.O;this.bd=c.bd;this.Qc=c.Qc;this.Tc=c.Tc;this.elapsedTime=c.elapsedTime;this.U=c.U;this.fc=c.fc};n.prototype.Xg=function(c){var e=null,b=null;0!==(this.i&1)?(e=this.pb,b=this.pa):(e=this.eb,b=this.Y);this.Oe(!1,e,b,c)};n.prototype.si=function(c){this.Ne(this.Bd);this.pc.reset();this.ff=p.bh;c||this.Xg(0)};n.prototype.Oe=
function(c,e,b,m){this.pc.Xg(e,b,this.ga,this.na,this.A,this.bd,this.Qc,this.Tc,m,this.i,(this.c-1>>4)+1,this.f,this,c,this.U,this.fc)};n.prototype.po=function(c){this.pc.reset();this.Oe(!0,this.eb,this.Y,0);c||this.Xg(0)};n.prototype.kl=function(){var c=this.eb,e=this.pb,b=this.ga,m=this.s,a=this.Ib,g=this.aa,k=this.Ya,h=this.Nb,l=this.Ob,d=this.dd,q=this.Y,x=this.pa,C=this.za,H=this.na,r=this.height,f=this.f,n=this.width>>1,v=this.height>>1,p=0;if(8192>this.width){this.width*=2;this.height*=2;this.eb=
Array.c(this.height,(this.width-1>>3)+1,0);this.pb=Array.c(this.height,(this.width-1>>3)+1,0);this.Ta=Array.s(this.eb);this.fa=Array.s(this.pb);k&&(this.Ya=Array.b(this.height,(this.width-1>>4)+1),this.Nb=Array.b(this.height,(this.width-1>>4)+1),this.Ob=Array.b(this.height,(this.width-1>>4)+1));this.c=this.width>>4;this.f=this.height>>4;k&&(this.dd=Array.b(this.f,(this.c-1>>4)+1));this.Y=Array.b(this.f,(this.c-1>>4)+1);this.pa=Array.b(this.f,(this.c-1>>4)+1);this.za=Array.b(this.f,(this.c-1>>4)+1);
this.na=Array.b(this.f,(this.c-1>>4)+1);this.Ia=new Uint8Array((this.width-1>>3)+1);this.Cb=new Uint16Array(this.c>>4);this.nd=new Uint8Array(this.width);this.rd=new Uint16Array((this.width-1>>4)+1);this.ga=Array.c(this.height,this.width,this.Mb);this.s=Array.c(this.height,this.width,this.Mb);this.wa=Array.f(this.s,1);this.xa=Array.f(this.s,3);this.Ra=Array.f(this.s,7);this.Fe=Array.s(this.ga);a&&(this.Ib=Array.c(this.height,this.width,this.Mb),this.aa=Array.c(this.height,this.width,this.Mb),this.ac=
Array.f(this.aa,1),this.bc=Array.f(this.aa,3),this.Uc=Array.f(this.aa,7),this.ud=Array.s(this.Ib));this.va=this.width-1;this.Ba=this.height-1;for(p=0;p<r;p+=1)this.eb[p+v].set(c[p],n>>3),this.pb[p+v].set(e[p],n>>3),this.ga[p+v].set(b[p],n),this.s[p+v].set(m[p],n),a&&(this.Ib[p+v].set(a[p],n),this.aa[p+v].set(g[p],n)),k&&(this.Ya[p+v].set(k[p],n>>4),this.Nb[p+v].set(h[p],n>>4),this.Ob[p+v].set(l[p],n>>4));v=f>>1;for(p=0;p<f;p+=1)k&&this.dd[p+v].set(d[p],this.dd[p].length>>2),this.Y[p+v].set(q[p],this.Y[p].length>>
2),this.pa[p+v].set(x[p],this.pa[p].length>>2),this.za[p+v].set(C[p],this.za[p].length>>2),this.na[p+v].set(H[p],this.na[p].length>>2);n=this.width>>2;v=this.height>>2;this.pc.ko((this.c-1>>4)+1,this.f,n);this.F+=n;this.w+=v;this.I&&(this.F-=v/2|0);this.A.M+=n;this.A.N+=n;this.A.O+=v;this.A.L+=v;this.jb.M+=n;this.jb.N+=n;this.jb.O+=v;this.jb.L+=v;this.Qa.M+=n;this.Qa.N+=n;this.Qa.O+=v;this.Qa.L+=v}};n.prototype.Rm=function(c){var e=this.A,b=this.width,m=this.height,a=!1;8192>b&&this.U&&(e.M<=c||e.L<=
c||e.N>=b-c||e.O>=m-c)&&(this.kl(),a=!0);return a};n.prototype.og=function(){var c,e,b,m=this.Nd;for(c=0;65536>c;c+=1){e=c;for(b=0;e;b+=1)e&=e-1;m[c]=b}};n.prototype.ng=function(){var c,e,b,m=this.Se;for(c=0;256>c;c+=1){e=c;for(b=0;e;b+=1)e&=e-1;m[c]=b}};n.prototype.pg=function(){var c,e,b=this.Ie,m=this.ca,a;for(c=0;c<b.length;c+=1)for(a=b[c],e=0;e<a.length;e+=1)a[e]=c&1<<15-e?m:0};n.prototype.io=function(c){for(var e=0,b=0,m=null,a=0,g=0,k=this.Nd,e=this.A,h=e.M>>4,l=e.N>>4,d=e.O,e=e.L;e<=d;e+=
1)for(m=c[e],b=h;b<=l;b+=1)g=k[m[b]],a+=g;this.bd=a;this.Tc=this.Qc=0};n.prototype.$l=function(c,e){var b=this.Md,m=0,a=0,m=this.oe?4278190080:255;this.o=c;this.l=e;this.Pd=this.Fb=this.Eb=null;this.Eb=b.createImageData(b.canvas.width,b.canvas.height);this.Eb.data.buffer?this.Fb=new Uint32Array(this.Eb.data.buffer):(this.Fb=new Uint32Array(this.Eb.data.length>>2),this.Pd=new Uint8Array(this.Fb.buffer));this.od=new Uint32Array(c);for(a=0;a<c;a+=1)this.od[a]=m;this.Af()};n.prototype.Vm=function(c,e,
b){var m=0,a=0,g=this.ga,k=null,h=c.width,l=c.height;e=(this.width-h>>1)+e;b=(this.height-l>>1)+b;for(var d=this.va,q=this.Ba,x=null,C=this.vc,H=ViewConstants.qa[2],a=0;a<l;a+=1)for(x=c.Td[a],k=g[a+b&q],m=0;m<h;m+=1)x[m]===H&&(k[m+e&d]=C)};n.prototype.yn=function(){this.ud=this.aa=this.Ib=null};n.prototype.bn=function(){this.Ib=Array.c(this.height,this.width,this.Mb);this.aa=Array.c(this.height,this.width,this.Mb);this.ac=Array.f(this.aa,1);this.bc=Array.f(this.aa,3);this.Uc=Array.f(this.aa,7);this.ud=
Array.s(this.Ib)};n.prototype.zn=function(){this.dd=this.Ob=this.Nb=this.Ya=null};n.prototype.cn=function(){this.Ya=Array.b(this.height,(this.width-1>>4)+1);this.Nb=Array.b(this.height,(this.width-1>>4)+1);this.Ob=Array.b(this.height,(this.width-1>>4)+1);this.dd=Array.b(this.f,(this.c-1>>4)+1)};n.prototype.Tn=function(c,e,b){var m=0,a=0,g=null,k=null,h=null,l=null,d=c.width,q=c.height;e=(this.width-d>>1)+e;b=(this.height-q>>1)+b;for(var x=this.va,C=this.Ba,H=null,r=0,f=this.dd,n=null,v=null,p=null,
a=0;a<q;a+=1)for(H=c.Td[a],g=this.Ya[a-1+b&C],k=this.Ya[a+b&C],h=this.Ya[a+1+b&C],l=this.Ob[a+b&C],n=f[(a-1+b&C)>>4],v=f[(a+b&C)>>4],p=f[(a+1+b&C)>>4],m=0;m<d;m+=1)6===H[m]&&(r=m+e&x,l[r>>4]|=1<<(~r&15),g[r>>4]|=1<<(~r&15),k[r>>4]|=1<<(~r&15),h[r>>4]|=1<<(~r&15),n[r>>8]|=1<<(~(r>>4)&15),v[r>>8]|=1<<(~(r>>4)&15),p[r>>8]|=1<<(~(r>>4)&15),r=m-1+e&x,g[r>>4]|=1<<(~r&15),k[r>>4]|=1<<(~r&15),h[r>>4]|=1<<(~r&15),n[r>>8]|=1<<(~(r>>4)&15),v[r>>8]|=1<<(~(r>>4)&15),p[r>>8]|=1<<(~(r>>4)&15),r=m+1+e&x,g[r>>4]|=
1<<(~r&15),k[r>>4]|=1<<(~r&15),h[r>>4]|=1<<(~r&15),n[r>>8]|=1<<(~(r>>4)&15),v[r>>8]|=1<<(~(r>>4)&15),p[r>>8]|=1<<(~(r>>4)&15))};n.prototype.ho=function(c){for(var e=0,b=0,m=0,a=this.ga,g=this.Ie,k,h,l,e=this.A,d=e.M>>4,q=e.N>>4,x=e.O,b=e.L;b<=x;b+=1)for(k=c[b],h=a[b],m=d<<4,e=d;e<=q;e+=1)l=g[k[e]],h[m]=l[0],m+=1,h[m]=l[1],m+=1,h[m]=l[2],m+=1,h[m]=l[3],m+=1,h[m]=l[4],m+=1,h[m]=l[5],m+=1,h[m]=l[6],m+=1,h[m]=l[7],m+=1,h[m]=l[8],m+=1,h[m]=l[9],m+=1,h[m]=l[10],m+=1,h[m]=l[11],m+=1,h[m]=l[12],m+=1,h[m]=
l[13],m+=1,h[m]=l[14],m+=1,h[m]=l[15],m+=1};n.prototype.Cn=function(c,e,b){var m=0,a=0,g=this.Mb,k=this.Ia,h=this.nd,l=this.od,d=this.Cb,q;q=this.oe?4278190080:255;this.Jd=!1;this.va=this.width-1;this.Ba=this.height-1;this.A=new BoundingBox(0,0,this.width-1,this.height-1);this.jb=new BoundingBox(0,0,this.width-1,this.height-1);this.Qa=new BoundingBox(0,0,this.width-1,this.height-1);this.Pe=new BoundingBox(0,0,this.width-1,this.height-1);this.Md=c;this.pg();AliasManager.td();this.$l(e,b);a=(this.width-
1>>3)+1;for(m=0;m<a;m+=1)k[m]=0;a=this.width;for(m=0;m<a;m+=1)h[m]=g;a=this.c>>4;for(m=0;m<a;m+=1)d[m]=0;for(m=0;m<e;m+=1)l[m]=q;this.ng();this.og()};n.prototype.Ym=function(){var c=0;this.Lb[c]=new B(new f(new t(0,0,0),new t(0,0,0)),new f(new t(255,255,255),new t(255,255,255)),new t(0,0,0));c+=1;this.Lb[c]=new B(new f(new t(0,0,47),new t(0,0,255)),new f(new t(0,255,255),new t(255,255,255)),new t(0,0,0));c+=1;this.Lb[c]=new B(new f(new t(32,0,0),new t(160,0,0)),new f(new t(255,144,0),new t(255,255,
0)),new t(0,0,0));c+=1;this.Lb[c]=new B(new f(new t(0,24,0),new t(0,128,0)),new f(new t(0,255,255),new t(255,255,255)),new t(0,0,0));c+=1;this.Lb[c]=new B(new f(new t(0,47,0),new t(128,0,128)),new f(new t(255,255,0),new t(255,255,255)),new t(0,32,128));c+=1;this.Lb[c]=new B(new f(new t(16,16,16),new t(104,104,104)),new f(new t(176,176,176),new t(255,255,255)),new t(0,0,0));c+=1;this.Lb[c]=new B(new f(new t(255,255,255),new t(255,255,255)),new f(new t(0,0,0),new t(0,0,0)),new t(255,255,255));c+=1;
this.Lb[c]=new B(new f(new t(240,240,240),new t(0,255,255)),new f(new t(0,0,255),new t(0,0,0)),new t(255,255,255));c+=1;this.Lb[c]=new B(new f(new t(240,240,240),new t(240,240,240)),new f(new t(240,240,240),new t(240,240,240)),new t(0,0,0));c+=1;this.Lb[c]=new B(new f(new t(160,0,0),new t(160,0,0)),new f(new t(240,240,240),new t(240,240,240)),new t(0,0,0));c+=1;this.Lb[c]=new B(new f(new t(0,0,96),new t(0,0,160)),new f(new t(0,240,0),new t(16,255,16)),new t(0,0,0));c+=1;this.Lb[c]=new B(new f(new t(255,
255,0),new t(255,255,0)),new f(new t(255,0,0),new t(255,0,0)),new t(0,0,0));this.Lb[c+1]=new B(new f(new t(0,0,0),new t(0,0,0)),new f(new t(0,0,0),new t(0,0,0)),new t(0,0,0));this.Ha=new f(new t(0,0,0),new t(0,0,0));this.Pa=new f(new t(0,0,0),new t(0,0,0));this.cc=new t(0,0,0);this.ja=new f(new t(0,0,0),new t(0,0,0));this.ta=new f(new t(0,0,0),new t(0,0,0));this.gb=new t(0,0,0)};n.prototype.be=function(c,e){var b=this.Lb[c];this.Rc=c;this.Ha.set(this.ja);this.Pa.set(this.ta);this.cc.set(this.gb);
this.ja.set(b.ya);this.ta.set(b.ua);this.gb.set(b.Mb);this.Te=e;this.um=b.Bn();if(this.hc===this.di||this.hc===this.Le)128<=(this.gb.red+this.gb.green+this.gb.blue)/3?(this.hc=this.Le,this.Wc=this.mg):(this.hc=this.di,this.Wc=this.mj)};n.prototype.Xm=function(){var c,e,b,m,a,g;c=this.Ge;e=this.X;b=this.ca;m=this.vc;a=this.yc;c[0]=0;c[e+1]=b;for(g=1;g<e+1;g+=1)c[g]=Math.min(Math.max(g-1,m),a),c[g+e+1]=Math.max(Math.min(g+1,e),b)};n.prototype.Tk=function(){var c,e,b,m,a;e=(this.Te-1)/30;c=0;this.oc[c]=
this.cc.red*e+this.gb.red*(1-e);this.gc[c]=this.cc.green*e+this.gb.green*(1-e);this.dc[c]=this.cc.blue*e+this.gb.blue*(1-e);if(-1!==this.u)for(c=1;c<this.u;c+=1)b=2===this.u?1:1-(c-1)/(this.u-2),m=this.Ha.G.red*b+this.Pa.G.red*(1-b),a=this.ja.G.red*b+this.ta.G.red*(1-b),this.oc[c]=m*e+a*(1-e),m=this.Ha.G.green*b+this.Pa.G.green*(1-b),a=this.ja.G.green*b+this.ta.G.green*(1-b),this.gc[c]=m*e+a*(1-e),m=this.Ha.G.blue*b+this.Pa.G.blue*(1-b),a=this.ja.G.blue*b+this.ta.G.blue*(1-b),this.dc[c]=m*e+a*(1-
e);else{for(c=this.vc;c<=this.yc;c+=1)b=1-(c-this.vc)/(this.yc-this.vc),m=this.Pa.G.red*b+this.Pa.Z.red*(1-b),a=this.ta.G.red*b+this.ta.Z.red*(1-b),this.oc[c]=m*e+a*(1-e),m=this.Pa.G.green*b+this.Pa.Z.green*(1-b),a=this.ta.G.green*b+this.ta.Z.green*(1-b),this.gc[c]=m*e+a*(1-e),m=this.Pa.G.blue*b+this.Pa.Z.blue*(1-b),a=this.ta.G.blue*b+this.ta.Z.blue*(1-b),this.dc[c]=m*e+a*(1-e);for(c=this.ca;c<=this.X;c+=1)b=1-(c-this.ca)/(this.X-this.ca),m=this.Ha.G.red*b+this.Ha.Z.red*(1-b),a=this.ja.G.red*b+this.ja.Z.red*
(1-b),this.oc[c]=m*e+a*(1-e),m=this.Ha.G.green*b+this.Ha.Z.green*(1-b),a=this.ja.G.green*b+this.ja.Z.green*(1-b),this.gc[c]=m*e+a*(1-e),m=this.Ha.G.blue*b+this.Ha.Z.blue*(1-b),a=this.ja.G.blue*b+this.ja.Z.blue*(1-b),this.dc[c]=m*e+a*(1-e)}};n.prototype.an=function(c){for(var e=this.oc,b=this.gc,m=this.dc,a=0,g=0,a=0;a<c.length;a+=1)g=c[a],e[a]=g>>16,b[a]=g>>8&255,m[a]=g&255;this.Te=0};n.prototype.Zm=function(c,e){for(var b=this.oc,m=this.gc,a=this.dc,g=ViewConstants.qa,k=e.length,h=0,h=0;h<c.length;h+=
1)h>=k||-1===e[h]?(b[128+g[h]]=c[h]>>16,m[128+g[h]]=c[h]>>8&255,a[128+g[h]]=c[h]&255):(b[128+g[h]]=e[h]>>16,m[128+g[h]]=e[h]>>8&255,a[128+g[h]]=e[h]&255)};n.prototype.xb=function(c){var e=this.oc,b=this.gc,m=this.dc,a=this.zd,g=this.hc,k=this.Wc,h=0,l=0;if(-1!==this.u)if(this.oe)for(h=0;h<this.u;h+=1)0<h&&(l=this.u-h),a[h]=-16777216|m[l]<<16|b[l]<<8|e[l];else for(h=0;h<this.u;h+=1)0<h&&(l=this.u-h),a[h]=e[l]<<24|b[l]<<16|m[l]<<8|255;else if(this.oe){for(h=0;h<this.ca;h+=1)a[h]=-16777216|m[h]<<16|
b[h]<<8|e[h];for(h=this.ca;h<=this.X;h+=1)a[h]=-16777216|m[h]*c<<16|b[h]*c<<8|e[h]*c;for(h=this.X+1;256>h;h+=1)a[h]=-16777216|m[h]*c<<16|b[h]*c<<8|e[h]*c}else{for(h=0;h<this.ca;h+=1)a[h]=e[h]<<24|b[h]<<16|m[h]<<8|255;for(h=this.ca;h<=this.X;h+=1)a[h]=e[h]*c<<24|b[h]*c<<16|m[h]*c<<8|255;for(h=this.X+1;256>h;h+=1)a[h]=e[h]*c<<24|b[h]*c<<16|m[h]*c<<8|255}this.oe?(this.Xd=-16777216|(g&255)<<16|(g>>8&255)<<8|g>>16,this.Wd=-16777216|(k&255)<<16|(k>>8&255)<<8|k>>16):(this.Xd=(g&255)<<24|(g>>8&255)<<16|g>>
16<<8|255,this.Wd=(k&255)<<24|(k>>8&255)<<16|k>>16<<8|255);-1!==this.wb&&(a[p.Lk]=this.oe?4286611584:2155905279)};n.prototype.Sm=function(){for(var c=this.height,e=this.eb,b=this.pb,m=this.ga,a=this.s,g=this.Ib,k=this.aa,h=this.Y,l=this.za,d=this.na,q=this.pa,x=this.Ia,C=this.Cb,H=this.nd,r=0,r=0;r<c;r+=1)e[r].set(x),b[r].set(x),m[r].set(H),a[r].set(H),g&&(g[r].set(H),k[r].set(H));c=this.f;for(r=0;r<c;r+=1)h[r].set(C),q[r].set(C),l[r].set(C),d[r].set(C)};n.prototype.sd=function(c,e){for(var b=p.oj,
m=0,a=0,m=0;m<b;m+=1)a=e[m>>9&448|m>>6&56|m>>3&7]<<3,a|=e[m>>8&448|m>>5&56|m>>2&7]<<2,a|=e[m>>7&448|m>>4&56|m>>1&7]<<1,a|=e[m>>6&448|m>>3&56|m&7],c[m]=a};n.prototype.Ee=function(c){for(var e=0,b=0,e=0;e<c.length;e+=1)c[e]&&(b+=1);return b};n.prototype.Jo=function(c,e){c?(this.sd(this.zc,this.bf),this.$i=this.Ee(this.bf),e?(this.sd(this.Cc,this.cf),this.aj=this.Ee(this.cf)):this.Cc.set(this.zc)):(this.sd(this.zc,PatternManager.xe),this.sd(this.Cc,PatternManager.Wg))};n.prototype.Zd=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};n.prototype.ae=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};n.prototype.ig=function(){for(var c=this.Ib,e=null,b=this.Y,m=null,a=this.width,g=this.height,k=0,h=this.A.O,l=this.A.L,d=this.A.M,q=this.A.N,x=0,C=0,x=0;x<g;x+=1){e=c[x];m=b[x>>4];for(C=k=0;C<a;C+=1)0!==e[C]&&(m[C>>8]|=1<<(~(C>>4)&15),k|=e[C],C<d&&(d=C),C>q&&(q=C));k&&(x<l&&(l=x),x>h&&(h=x))}this.A.O=h;this.A.L=l;this.A.M=d;this.A.N=q};n.prototype.Jj=function(){for(var c=0,e=0,b=0,m=0,a=0,g=this.Ta,b=null,k=this.pa,h=null,l=this.Y,d=null,
q=null,x=null,C=0,H=0,r=0,f=0,n=0,v=0,D=0,t=!1,z=this.f,y=this.c>>4,w=this.Cb,u=0,n=0,v=n+16,m=0;m<z;m+=1)l[m].set(w);for(m=0;m<z;m+=1){D=0;h=k[m];d=l[m];0<m?q=l[m-1]:q=w;m<z-1?x=l[m+1]:x=w;h[0]&=32767;h[y-1]&=65534;for(a=0;a<y;a+=1)if(C=h[a]){H=d[a];r=q[a];f=x[a];for(e=15;0<=e;--e){if(0!==(C&1<<e)){t=!1;u=0;c=n;b=g[c];if(b=b[D])t=!0,0!==(b&32768)&&(u|=p.Fc,u|=p.kd),0!==(b&1)&&(u|=p.Lc,u|=p.ld),u|=p.Bc;for(c+=1;c<v-1;){b=g[c];if(b=b[D])t=!0,0!==(b&32768)&&(u|=p.Fc),0!==(b&1)&&(u|=p.Lc);c+=1}b=g[c];
if(b=b[D])t=!0,0!==(b&32768)&&(u|=p.Fc,u|=p.Ed),0!==(b&1)&&(u|=p.Lc,u|=p.Fd),u|=p.Mc;t&&(H|=1<<e,u&&(0!==(u&p.Fc)&&(15>e?H|=1<<e+1:0<a&&(d[a-1]|=1)),0!==(u&p.Lc)&&(0<e?H|=1<<e-1:a<y-1&&(d[a+1]|=32768)),0!==(u&p.Bc)&&(r|=1<<e),0!==(u&p.Mc)&&(f|=1<<e),0!==(u&p.kd)&&(15>e?r|=1<<e+1:0<a&&(q[a-1]|=1)),0!==(u&p.ld)&&(0<e?r|=1<<e-1:a<y-1&&(q[a+1]|=32768)),0!==(u&p.Ed)&&(15>e?f|=1<<e+1:0<a&&(x[a-1]|=1)),0!==(u&p.Fd)&&(0<e?f|=1<<e-1:a<y-1&&(x[a+1]|=32768))))}D+=1}d[a]|=H;0<m&&(q[a]|=r);m<z-1&&(x[a]|=f)}else D+=
16;n+=16;v+=16}for(m=0;m<w.length;m+=1)w[m]=0};n.prototype.Lj=function(){for(var c=0,e=0,b=0,m=0,a=0,g=this.Ta,b=null,k=this.pa,h=null,l=this.ga,d=null,q=this.Y,x=null,C=null,H=null,r=0,f=0,n=0,v=0,D=0,t=0,z=0,y=0,w=!1,u=this.f,B=this.c>>4,A=this.Cb,E=0,D=0,t=D+16,m=0;m<u;m+=1)q[m].set(A);for(m=0;m<u;m+=1){z=0;h=k[m];x=q[m];0<m?C=q[m-1]:C=A;m<u-1?H=q[m+1]:H=A;h[0]&=32767;h[B-1]&=65534;for(a=0;a<B;a+=1)if(r=h[a]){f=x[a];n=C[a];v=H[a];for(e=15;0<=e;--e){if(0!==(r&1<<e)){w=!1;E=0;c=D;b=g[c];d=l[c];b=
b[z];y=z<<4;0<d[y]&&(b|=32768);y+=1;0<d[y]&&(b|=16384);y+=1;0<d[y]&&(b|=8192);y+=1;0<d[y]&&(b|=4096);y+=1;0<d[y]&&(b|=2048);y+=1;0<d[y]&&(b|=1024);y+=1;0<d[y]&&(b|=512);y+=1;0<d[y]&&(b|=256);y+=1;0<d[y]&&(b|=128);y+=1;0<d[y]&&(b|=64);y+=1;0<d[y]&&(b|=32);y+=1;0<d[y]&&(b|=16);y+=1;0<d[y]&&(b|=8);y+=1;0<d[y]&&(b|=4);y+=1;0<d[y]&&(b|=2);y+=1;0<d[y]&&(b|=1);b&&(w=!0,0!==(b&32768)&&(E|=p.Fc,E|=p.kd),0!==(b&1)&&(E|=p.Lc,E|=p.ld),E|=p.Bc);for(c+=1;c<t-1;)b=g[c],b=b[z],y=z<<4,0<d[y]&&(b|=32768),y+=1,0<d[y]&&
(b|=16384),y+=1,0<d[y]&&(b|=8192),y+=1,0<d[y]&&(b|=4096),y+=1,0<d[y]&&(b|=2048),y+=1,0<d[y]&&(b|=1024),y+=1,0<d[y]&&(b|=512),y+=1,0<d[y]&&(b|=256),y+=1,0<d[y]&&(b|=128),y+=1,0<d[y]&&(b|=64),y+=1,0<d[y]&&(b|=32),y+=1,0<d[y]&&(b|=16),y+=1,0<d[y]&&(b|=8),y+=1,0<d[y]&&(b|=4),y+=1,0<d[y]&&(b|=2),y+=1,0<d[y]&&(b|=1),b&&(w=!0,0!==(b&32768)&&(E|=p.Fc),0!==(b&1)&&(E|=p.Lc)),c+=1;b=g[c];b=b[z];y=z<<4;0<d[y]&&(b|=32768);y+=1;0<d[y]&&(b|=16384);y+=1;0<d[y]&&(b|=8192);y+=1;0<d[y]&&(b|=4096);y+=1;0<d[y]&&(b|=2048);
y+=1;0<d[y]&&(b|=1024);y+=1;0<d[y]&&(b|=512);y+=1;0<d[y]&&(b|=256);y+=1;0<d[y]&&(b|=128);y+=1;0<d[y]&&(b|=64);y+=1;0<d[y]&&(b|=32);y+=1;0<d[y]&&(b|=16);y+=1;0<d[y]&&(b|=8);y+=1;0<d[y]&&(b|=4);y+=1;0<d[y]&&(b|=2);y+=1;0<d[y]&&(b|=1);b&&(w=!0,0!==(b&32768)&&(E|=p.Fc,E|=p.Ed),0!==(b&1)&&(E|=p.Lc,E|=p.Fd),E|=p.Mc);w&&(f|=1<<e,E&&(0!==(E&p.Fc)&&(15>e?f|=1<<e+1:0<a&&(x[a-1]|=1)),0!==(E&p.Lc)&&(0<e?f|=1<<e-1:a<B-1&&(x[a+1]|=32768)),0!==(E&p.Bc)&&(n|=1<<e),0!==(E&p.Mc)&&(v|=1<<e),0!==(E&p.kd)&&(15>e?n|=1<<
e+1:0<a&&(C[a-1]|=1)),0!==(E&p.ld)&&(0<e?n|=1<<e-1:a<B-1&&(C[a+1]|=32768)),0!==(E&p.Ed)&&(15>e?v|=1<<e+1:0<a&&(H[a-1]|=1)),0!==(E&p.Fd)&&(0<e?v|=1<<e-1:a<B-1&&(H[a+1]|=32768))))}z+=1}x[a]|=f;0<m&&(C[a]|=n);m<u-1&&(H[a]|=v)}else z+=16;D+=16;t+=16}for(m=0;m<A.length;m+=1)A[m]=0};n.prototype.eo=function(){var c=0,e=0,b=0,m=this.width>>4,a=this.height,g=this.width,k=this.Ta,h=null,l=this.Ib,d=null,q=this.A,x=this.jb,C=this.height,H=-1,r=this.width,f=-1,n=this.height,v=-1,p=this.width,t=-1,z=0,y=this.rd,
h=this.f,w=this.Y,u=null,B=this.pa,A=this.za,E=this.na,u=this.Cb,d=z=b=0;if(l)for(e=0;e<a;e+=1){d=l[e];for(c=z=0;c<g;c+=1)b=d[c],z|=b,b&&(c<p&&(p=c),c>t&&(t=c));z&&(e<n&&(n=e),e>v&&(v=e))}for(e=0;e<y.length;e+=1)y[e]=0;for(e=0;e<h;e+=1)B[e].set(u);for(e=0;e<a;e+=1){h=k[e];for(c=z=0;c<m;c+=1)b=h[c],z|=b,y[c]|=b;z&&(e<C&&(C=e),e>H&&(H=e))}for(c=0;c<m;c+=1)y[c]&&(c<r&&(r=c),c>f&&(f=c));r=(r<<4)+this.Zd(y[r]);f=(f<<4)+this.ae(y[f]);if(0>H||C>=a||r>=g||0>f)C=H=a>>1,f=r=g>>1;l&&(v<H&&(H=v),n>C&&(C=n),p<
r&&(r=p),t>f&&(f=t));H>this.height-1&&(H=this.height-1);0>C&&(C=0);0>r&&(r=0);f>this.width-1&&(f=this.width-1);q.O=H;q.L=C;q.M=r;q.N=f;x.O=H;x.L=C;x.M=r;x.N=f;0<r&&--r;0<C&&--C;f<this.width-1&&(f+=1);H<this.height-1&&(H+=1);b=H>>4;z=r>>8;d=f>>8;for(e=C>>4;e<=b;e+=1)for(u=B[e],c=z;c<=d;c+=1)u[c]=-1;-1!==this.u?this.Lj():this.Jj();l&&(this.ig(),x.O=q.O,x.L=q.L,x.M=q.M,x.N=q.N);Array.j(w,B);Array.j(w,A);Array.j(w,E)};n.prototype.ob=function(c){var e=null,b=this.width-this.ka>>1,m=this.height-this.Ka>>
1,a=b+this.ka-1,g=m+this.Ka-1,k=a+c>>4,h=null,l=null,d=b-c>>4,q=a+c>>4,x=~(1<<(~(b-c)&15)),C=~(1<<(~(a+c)&15)),f=0,h=0,e=0!==(this.i&1)?this.fa:this.Ta,h=e[g+c],l=e[m-c];if(0===this.ka)for(k=this.width>>4,f=0;f<k;f+=1)l[f]=0,h[f]=0;else if(0===this.Ka)for(m=0,g=this.height,h=0;h<g;h+=1)e[h][d]&=x,e[h][q]&=C;else{for(f=b-c>>4;f<=k;f+=1)l[f]=0,h[f]=0;for(h=m-c+1;h<=g+c-1;h+=1)e[h][d]&=x,e[h][q]&=C}if(-1!==this.u)if(e=this.ga,b-=c,a+=c,g+=c,m-=c,h=e[g],l=e[m],0===this.ka)for(f=0;f<this.width;f+=1)l[f]=
0,h[f]=0;else if(0===this.Ka)for(h=0;h<this.height;h+=1)e[h][b]=0,e[h][a]=0;else{for(f=b;f<=a;f+=1)l[f]=0,h[f]=0;for(h=m+1;h<=g-1;h+=1)e[h][b]=0,e[h][a]=0}};n.prototype.Bh=function(){var c=null,e=this.ka,b=this.Ka,m=this.width-e>>1,a=this.height-b>>1,g=m+e-1,k=a+b-1,h=this.vg,l=this.wg,d=0,q=d=0,x=q=0,c=0!==(this.i&1)?this.fa:this.Ta;0===this.ka&&(m=0,g=this.width-1,e=this.width);0===this.Ka&&(a=0,k=this.height-1,b=this.height);if(0!==this.Ka)for(x=0;x<e;x+=1)d=m+x,q=m+(x+h+e)%e,c[a-1][q>>4]=0!==
(c[k][d>>4]&1<<(~d&15))?c[a-1][q>>4]|1<<(~q&15):c[a-1][q>>4]&~(1<<(~q&15)),q=m+(x-h+e)%e,c[k+1][q>>4]=0!==(c[a][d>>4]&1<<(~d&15))?c[k+1][q>>4]|1<<(~q&15):c[k+1][q>>4]&~(1<<(~q&15));if(0!==this.ka)for(x=0;x<b;x+=1)d=a+x,q=a+(x-l+b)%b,c[q][g+1>>4]=0!==(c[d][m>>4]&1<<(~m&15))?c[q][g+1>>4]|1<<(~(g+1)&15):c[q][g+1>>4]&~(1<<(~(g+1)&15)),q=a+(x+l+b)%b,c[q][m-1>>4]=0!==(c[d][g>>4]&1<<(~g&15))?c[q][m-1>>4]|1<<(~(m-1)&15):c[q][m-1>>4]&~(1<<(~(m-1)&15));0!==this.ka&&0!==this.Ka&&(d=m+(-h+e)%e,c[a-1][g+1>>4]=
0!==(c[a+(b-1+l+b)%b][d>>4]&1<<(~d&15))?c[a-1][g+1>>4]|1<<(~(g+1)&15):c[a-1][g+1>>4]&~(1<<(~(g+1)&15)),d=m+(e-1-h+e)%e,c[a-1][m-1>>4]=0!==(c[a+(b-1+l+b)%b][d>>4]&1<<(~d&15))?c[a-1][m-1>>4]|1<<(~(m-1)&15):c[a-1][m-1>>4]&~(1<<(~(m-1)&15)),d=m+(h+e)%e,c[k+1][g+1>>4]=0!==(c[a+(l+b)%b][d>>4]&1<<(~d&15))?c[k+1][g+1>>4]|1<<(~(g+1)&15):c[k+1][g+1>>4]&~(1<<(~(g+1)&15)),d=m+(e-1+h+e)%e,c[k+1][m-1>>4]=0!==(c[a+(l+b)%b][d>>4]&1<<(~d&15))?c[k+1][m-1>>4]|1<<(~(m-1)&15):c[k+1][m-1>>4]&~(1<<(~(m-1)&15)))};n.prototype.Ah=
function(){for(var c=null,e=this.ka,b=this.Ka,m=this.width-e>>1,a=this.height-b>>1,g=m+e-1,k=a+b-1,h=this.vg,l=this.wg,d=this.Pi,q=this.Mk,x=0,C=x=0,f=C=0,c=0!==(this.i&1)?this.fa:this.Ta,f=0;f<e;f+=1)x=m+f,C=d?g-(f+h+e)%e:m+(f+h+e)%e,c[a-1][C>>4]=0!==(c[k][x>>4]&1<<(~x&15))?c[a-1][C>>4]|1<<(~C&15):c[a-1][C>>4]&~(1<<(~C&15)),C=d?g-(f-h+e)%e:m+(f-h+e)%e,c[k+1][C>>4]=0!==(c[a][x>>4]&1<<(~x&15))?c[k+1][C>>4]|1<<(~C&15):c[k+1][C>>4]&~(1<<(~C&15));for(f=0;f<b;f+=1)x=a+f,C=q?k-(f-l+b)%b:a+(f-l+b)%b,c[C][g+
1>>4]=0!==(c[x][m>>4]&1<<(~m&15))?c[C][g+1>>4]|1<<(~(g+1)&15):c[C][g+1>>4]&~(1<<(~(g+1)&15)),C=q?k-(f+l+b)%b:a+(f+l+b)%b,c[C][m-1>>4]=0!==(c[x][g>>4]&1<<(~g&15))?c[C][m-1>>4]|1<<(~(m-1)&15):c[C][m-1>>4]&~(1<<(~(m-1)&15));x=d?g-(-h+e)%e:m+(-h+e)%e;c[a-1][g+1>>4]=0!==(c[q?k-(b-1+l+b)%b:a+(b-1+l+b)%b][x>>4]&1<<(~x&15))?c[a-1][g+1>>4]|1<<(~(g+1)&15):c[a-1][g+1>>4]&~(1<<(~(g+1)&15));x=d?g-(e-1-h+e)%e:m+(e-1-h+e)%e;c[a-1][m-1>>4]=0!==(c[q?k-(b-1+l+b)%b:a+(b-1+l+b)%b][x>>4]&1<<(~x&15))?c[a-1][m-1>>4]|1<<
(~(m-1)&15):c[a-1][m-1>>4]&~(1<<(~(m-1)&15));x=d?g-(h+e)%e:m+(h+e)%e;c[k+1][g+1>>4]=0!==(c[q?k-(l+b)%b:a+(l+b)%b][x>>4]&1<<(~x&15))?c[k+1][g+1>>4]|1<<(~(g+1)&15):c[k+1][g+1>>4]&~(1<<(~(g+1)&15));x=d?g-(e-1+h+e)%e:m+(e-1+h+e)%e;c[k+1][m-1>>4]=0!==(c[q?k-(l+b)%b:a+(l+b)%b][x>>4]&1<<(~x&15))?c[k+1][m-1>>4]|1<<(~(m-1)&15):c[k+1][m-1>>4]&~(1<<(~(m-1)&15))};n.prototype.zh=function(){for(var c=null,e=this.width-this.ka>>1,b=this.height-this.Ka>>1,m=e+this.ka-1,a=b+this.Ka-1,g=0,k=0,h=0,c=0!==(this.i&1)?
this.fa:this.Ta,g=0;g<this.ka;g+=1)k=e+g,h=m-g,c[b-1][h>>4]=0!==(c[a][k>>4]&1<<(~k&15))?c[b-1][h>>4]|1<<(~h&15):c[b-1][h>>4]&~(1<<(~h&15)),c[a+1][h>>4]=0!==(c[b][k>>4]&1<<(~k&15))?c[a+1][h>>4]|1<<(~h&15):c[a+1][h>>4]&~(1<<(~h&15));for(g=0;g<=this.Ka;g+=1)k=b+g,h=a-g,c[h][m+1>>4]=0!==(c[k][e>>4]&1<<(~e&15))?c[h][m+1>>4]|1<<(~(m+1)&15):c[h][m+1>>4]&~(1<<(~(m+1)&15)),c[h][e-1>>4]=0!==(c[k][m>>4]&1<<(~m&15))?c[h][e-1>>4]|1<<(~(e-1)&15):c[h][e-1>>4]&~(1<<(~(e-1)&15));c[a+1][e-1>>4]=0!==(c[a][e>>4]&1<<
(~e&15))?c[a+1][e-1>>4]|1<<(~(e-1)&15):c[a+1][e-1>>4]&~(1<<(~(e-1)&15));c[a+1][m+1>>4]=0!==(c[a][m>>4]&1<<(~m&15))?c[a+1][m+1>>4]|1<<(~(m+1)&15):c[a+1][m+1>>4]&~(1<<(~(m+1)&15));c[b-1][e-1>>4]=0!==(c[b][e>>4]&1<<(~e&15))?c[b-1][e-1>>4]|1<<(~(e-1)&15):c[b-1][e-1>>4]&~(1<<(~(e-1)&15));c[b-1][m+1>>4]=0!==(c[b][m>>4]&1<<(~m&15))?c[b-1][m+1>>4]|1<<(~(m+1)&15):c[b-1][m+1>>4]&~(1<<(~(m+1)&15))};n.prototype.th=function(){for(var c=null,e=this.width-this.ka>>1,b=this.height-this.ka>>1,m=e+this.ka-1,a=b+this.ka-
1,g=0,k=0,h=0,c=0!==(this.i&1)?this.fa:this.Ta,g=0;g<this.ka;g+=1)h=b+g,k=e+g,c[b-1][k>>4]=0!==(c[h][e>>4]&1<<(~e&15))?c[b-1][k>>4]|1<<(~k&15):c[b-1][k>>4]&~(1<<(~k&15)),c[a+1][k>>4]=0!==(c[h][m>>4]&1<<(~m&15))?c[a+1][k>>4]|1<<(~k&15):c[a+1][k>>4]&~(1<<(~k&15)),c[h][e-1>>4]=0!==(c[b][k>>4]&1<<(~k&15))?c[h][e-1>>4]|1<<(~(e-1)&15):c[h][e-1>>4]&~(1<<(~(e-1)&15)),c[h][m+1>>4]=0!==(c[a][k>>4]&1<<(~k&15))?c[h][m+1>>4]|1<<(~(m+1)&15):c[h][m+1>>4]&~(1<<(~(m+1)&15));c[a+1][e-1>>4]=0!==(c[a][e>>4]&1<<(~e&15))?
c[a+1][e-1>>4]|1<<(~(e-1)&15):c[a+1][e-1>>4]&~(1<<(~(e-1)&15));c[a+1][m+1>>4]=0!==(c[a][m>>4]&1<<(~m&15))?c[a+1][m+1>>4]|1<<(~(m+1)&15):c[a+1][m+1>>4]&~(1<<(~(m+1)&15));c[b-1][e-1>>4]=0!==(c[b][e>>4]&1<<(~e&15))?c[b-1][e-1>>4]|1<<(~(e-1)&15):c[b-1][e-1>>4]&~(1<<(~(e-1)&15));c[b-1][m+1>>4]=0!==(c[b][m>>4]&1<<(~m&15))?c[b-1][m+1>>4]|1<<(~(m+1)&15):c[b-1][m+1>>4]&~(1<<(~(m+1)&15))};n.prototype.xh=function(){switch(this.wb){case 0:this.ob(1);break;case 1:this.ob(1);this.ob(2);break;case 2:this.ob(1);
this.ob(2);break;case 3:this.ob(1);this.ob(2);break;case 4:this.ob(1),this.ob(2)}};n.prototype.yh=function(){switch(this.wb){case 1:this.Bh();break;case 2:this.Ah();break;case 3:this.zh();break;case 4:this.th()}this.fm()};n.prototype.fm=function(){var c=0,e=0,c=this.ka,b=this.Ka,m=e=0,a=0,g=0;0===b?(e=0,m=this.height>>4):(e=this.height/2-b/2-1>>4,m=this.height/2+b/2+1>>4);0===c?(a=0,g=this.width>>4):(a=this.width/2-c/2-1>>4,g=this.width/2+c/2+1>>4);0>a&&(a=0);0>e&&(e=0);g>=this.width>>4&&(g=(this.width>>
4)-1);m>=this.height>>4&&(m=(this.height>>4)-1);for(c=a;c<=g;c+=1)this.Y[e][c>>4]|=1<<(~c&15),this.pa[e][c>>4]|=1<<(~c&15),this.za[e][c>>4]|=1<<(~c&15),this.na[e][c>>4]|=1<<(~c&15),this.Y[m][c>>4]|=1<<(~c&15),this.pa[m][c>>4]|=1<<(~c&15),this.za[m][c>>4]|=1<<(~c&15),this.na[m][c>>4]|=1<<(~c&15);for(;e<=m;e+=1)this.Y[e][a>>4]|=1<<(~a&15),this.pa[e][a>>4]|=1<<(~a&15),this.za[e][a>>4]|=1<<(~a&15),this.na[e][a>>4]|=1<<(~a&15),this.Y[e][g>>4]|=1<<(~g&15),this.pa[e][g>>4]|=1<<(~g&15),this.za[e][g>>4]|=
1<<(~g&15),this.na[e][g>>4]|=1<<(~g&15)};n.prototype.ef=function(c,e,b){var m=!1,a=this.A,g=this.Qa;this.i===this.ff-1&&(m=!0,b||(c=!0));-1!==this.wb&&this.yh();this.Ya&&this.Sj();this.U&&(c?this.wh():this.vh());this.i+=1;-1!==this.u&&(this.U?this.qg():this.uh());this.Ya&&this.Qj();-1!==this.wb&&this.xh();8192===this.width&&(16>=a.M||8176<=a.N||16>=a.L||8176<=a.O)&&this.zf();m&&(this.ff+=p.bh,b||this.Xg(e));a.M<g.M&&(g.M=a.M);a.N>g.N&&(g.N=a.N);a.L<g.L&&(g.L=a.L);a.O>g.O&&(g.O=a.O)};n.prototype.Zl=
function(){var c=this.A,e=this.Qa;e.M=c.M;e.N=c.N;e.O=c.O;e.L=c.L};n.prototype.Sj=function(){for(var c=0,e=0,b=0,m=0,a=0,g=0,k=null,h=this.Ya,l=this.Nb,d=this.Ob,q=this.dd,x=null,C=this.f,f=this.c>>4,r=0,a=0,k=0!==(this.i&1)?this.fa:this.Ta,c=0;c<C;c+=1){g=0;x=q[c];for(e=0;e<f;e+=1)if(r=x[e])for(b=15;0<=b;--b){if(0!==(r&1<<b))for(m=a;m<a+16;m+=1)l[m][g]=(k[m][g]|d[m][g])&h[m][g];g+=1}else g+=16;a+=16}};n.prototype.Qj=function(){for(var c=0,e=0,b=0,m=0,a=0,g=0,k=null,h=this.Nb,l=this.dd,d=null,q=this.f,
x=this.c>>4,C=0,k=0!==(this.i&1)?this.fa:this.Ta,c=a=0;c<q;c+=1){g=0;d=l[c];for(e=0;e<x;e+=1)if(C=d[e])for(b=15;0<=b;--b){if(0!==(C&1<<b))for(m=a;m<a+16;m+=1)k[m][g]&=~h[m][g];g+=1}else g+=16;a+=16}};n.prototype.$d=function(c,e,b){var m=0,a=0,g=this.Be,k=0,h=this.wc[k],l=this.xc[k],d=0,q=p.Yj,x=q-1,C=0,f=q,r=this.ri,n=this.va,P=this.Ba;h[d]=c;l[d]=e;d+=1;for(b[e][c>>4]&=~(1<<(~c&15));0<d;)for(--d,d<C&&(--k,C-=q,f-=q,h=this.wc[k],l=this.xc[k]),c=h[d&x],e=l[d&x],a=e-r;a<=e+r;){for(m=c-r;m<=c+r;)m===
(m&n)&&a===(a&P)&&0!==(b[a][m>>4]&1<<(~m&15))&&(b[a][m>>4]&=~(1<<(~m&15)),d===f&&(k+=1,C+=q,f+=q,k>g&&(this.wc[k]=new Int32Array(q),this.xc[k]=new Int32Array(q),this.Be=g+=1),h=this.wc[k],l=this.xc[k]),h[d&x]=m,l[d&x]=a,d+=1),m+=1;a+=1}};n.prototype.Me=function(c,e,b){for(var m=b[e][c],a=15;0<=a;)0!==(m&1<<a)&&this.$d((c<<4)+(~a&15),e,b),--a};n.prototype.Hh=function(c,e){this.$d(0,c,e)};n.prototype.Ih=function(c,e,b){this.$d((c<<4)+15,e,b)};n.prototype.zf=function(){for(var c=null,e=0,b=0,m=0,m=0,
a=null,g=null,c=0!==(this.i&1)?this.fa:this.Ta,e=c.length,b=c[0].length,a=c[0],g=c[e-1],m=0;m<b;)a[m]&&this.Me(m,0,c),g[m]&&this.Me(m,e-1,c),m+=1;for(m=0;m<e;)0!==(c[m][0]&32768)&&this.Hh(m,c),0!==(c[m][b-1]&1)&&this.Ih(b-1,m,c),m+=1};n.prototype.vh=function(){var c=null,e=null,b=null,m=null,a=0,g=0,k=0,h=b=0,l=0,d=0,q=0,x=null,C=null,f=null,r=null,n=null,P=null,v=null,D=null,t=0,z=0,y=0,w=0,u=0,B=0,A=0,E=0,F=this.rd,J=0,K=this.height,V=this.width,W=V>>4,Z=this.A,O=K,I=-1,N=V,X=-1,Y=this.f,aa=this.c>>
4,ba=this.Cb,Q=0,m=0,R=Y;0!==(this.i&1)?(x=this.fa,C=this.Ta,f=this.pa,r=this.Y,c=this.Cc):(x=this.Ta,C=this.fa,f=this.Y,r=this.pa,c=this.zc);for(d=0;d<F.length;d+=1)F[d]=0;0>m&&(m=0);R>Y&&(R=Y);u=m<<4;B=u+16;for(d=m;d<R;d+=1)for(n=r[d],q=0;q<n.length;q+=1)n[q]=0;for(d=m;d<R;d+=1){A=0;n=f[d];P=r[d];0<d?v=r[d-1]:v=ba;d<Y-1?D=r[d+1]:D=ba;for(q=0;q<aa;q+=1)if(t=n[q]){z=P[q];y=v[q];w=D[q];for(g=15;0<=g;--g){if(0!==(t&1<<g)){Q=J=0;a=u;0===a?e=this.Ia:e=x[a-1];b=x[a];m=x[a+1];E=b[A];if(A)if(A>=W-1){k=e[A-
1]<<17|e[A]<<1;b=b[A-1]<<17|E<<1;h=m[A-1]<<17|m[A]<<1;l=c[k>>12&63|(b>>12&63)<<6|(h>>12&63)<<12]<<12;l|=c[k>>8&63|(b>>8&63)<<6|(h>>8&63)<<12]<<8;l|=c[k>>4&63|(b>>4&63)<<6|(h>>4&63)<<12]<<4;l|=c[k&63|(b&63)<<6|(h&63)<<12];if(C[a][A]=l)J|=l,a<O&&(O=a),a>I&&(I=a),0!==(l&32768)&&(Q|=p.kd),Q|=p.Bc;for(a+=1;a<B-1;){E|=m[A];m=x[a+1];k=b;b=h;h=m[A-1]<<17|m[A]<<1;l=c[k>>12&63|(b>>12&63)<<6|(h>>12&63)<<12]<<12;l|=c[k>>8&63|(b>>8&63)<<6|(h>>8&63)<<12]<<8;l|=c[k>>4&63|(b>>4&63)<<6|(h>>4&63)<<12]<<4;l|=c[k&63|
(b&63)<<6|(h&63)<<12];if(C[a][A]=l)J|=l,a<O&&(O=a),a>I&&(I=a);a+=1}E|=m[A];a===this.height-1?m=this.Ia:m=x[a+1];k=b;b=h;h=m[A-1]<<17|m[A]<<1;l=c[k>>12&63|(b>>12&63)<<6|(h>>12&63)<<12]<<12;l|=c[k>>8&63|(b>>8&63)<<6|(h>>8&63)<<12]<<8;l|=c[k>>4&63|(b>>4&63)<<6|(h>>4&63)<<12]<<4;l|=c[k&63|(b&63)<<6|(h&63)<<12];if(C[a][A]=l)J|=l,a<O&&(O=a),a>I&&(I=a),0!==(l&32768)&&(Q|=p.Ed),Q|=p.Mc}else{k=e[A-1]<<17|e[A]<<1|e[A+1]>>15;b=b[A-1]<<17|E<<1|b[A+1]>>15;h=m[A-1]<<17|m[A]<<1|m[A+1]>>15;l=c[k>>12&63|(b>>12&63)<<
6|(h>>12&63)<<12]<<12;l|=c[k>>8&63|(b>>8&63)<<6|(h>>8&63)<<12]<<8;l|=c[k>>4&63|(b>>4&63)<<6|(h>>4&63)<<12]<<4;l|=c[k&63|(b&63)<<6|(h&63)<<12];if(C[a][A]=l)J|=l,a<O&&(O=a),a>I&&(I=a),0!==(l&32768)&&(Q|=p.kd),0!==(l&1)&&(Q|=p.ld),Q|=p.Bc;a+=1;E|=m[A];m=x[a+1];k=b;b=h;h=m[A-1]<<17|m[A]<<1|m[A+1]>>15;l=c[k>>12&63|(b>>12&63)<<6|(h>>12&63)<<12]<<12;l|=c[k>>8&63|(b>>8&63)<<6|(h>>8&63)<<12]<<8;l|=c[k>>4&63|(b>>4&63)<<6|(h>>4&63)<<12]<<4;l|=c[k&63|(b&63)<<6|(h&63)<<12];if(C[a][A]=l)J|=l,a<O&&(O=a),a>I&&(I=
a);a+=1;E|=m[A];m=x[a+1];k=b;b=h;h=m[A-1]<<17|m[A]<<1|m[A+1]>>15;l=c[k>>12&63|(b>>12&63)<<6|(h>>12&63)<<12]<<12;l|=c[k>>8&63|(b>>8&63)<<6|(h>>8&63)<<12]<<8;l|=c[k>>4&63|(b>>4&63)<<6|(h>>4&63)<<12]<<4;l|=c[k&63|(b&63)<<6|(h&63)<<12];if(C[a][A]=l)J|=l,a<O&&(O=a),a>I&&(I=a);a+=1;E|=m[A];m=x[a+1];k=b;b=h;h=m[A-1]<<17|m[A]<<1|m[A+1]>>15;l=c[k>>12&63|(b>>12&63)<<6|(h>>12&63)<<12]<<12;l|=c[k>>8&63|(b>>8&63)<<6|(h>>8&63)<<12]<<8;l|=c[k>>4&63|(b>>4&63)<<6|(h>>4&63)<<12]<<4;l|=c[k&63|(b&63)<<6|(h&63)<<12];
if(C[a][A]=l)J|=l,a<O&&(O=a),a>I&&(I=a);a+=1;E|=m[A];m=x[a+1];k=b;b=h;h=m[A-1]<<17|m[A]<<1|m[A+1]>>15;l=c[k>>12&63|(b>>12&63)<<6|(h>>12&63)<<12]<<12;l|=c[k>>8&63|(b>>8&63)<<6|(h>>8&63)<<12]<<8;l|=c[k>>4&63|(b>>4&63)<<6|(h>>4&63)<<12]<<4;l|=c[k&63|(b&63)<<6|(h&63)<<12];if(C[a][A]=l)J|=l,a<O&&(O=a),a>I&&(I=a);a+=1;E|=m[A];m=x[a+1];k=b;b=h;h=m[A-1]<<17|m[A]<<1|m[A+1]>>15;l=c[k>>12&63|(b>>12&63)<<6|(h>>12&63)<<12]<<12;l|=c[k>>8&63|(b>>8&63)<<6|(h>>8&63)<<12]<<8;l|=c[k>>4&63|(b>>4&63)<<6|(h>>4&63)<<12]<<
4;l|=c[k&63|(b&63)<<6|(h&63)<<12];if(C[a][A]=l)J|=l,a<O&&(O=a),a>I&&(I=a);a+=1;E|=m[A];m=x[a+1];k=b;b=h;h=m[A-1]<<17|m[A]<<1|m[A+1]>>15;l=c[k>>12&63|(b>>12&63)<<6|(h>>12&63)<<12]<<12;l|=c[k>>8&63|(b>>8&63)<<6|(h>>8&63)<<12]<<8;l|=c[k>>4&63|(b>>4&63)<<6|(h>>4&63)<<12]<<4;l|=c[k&63|(b&63)<<6|(h&63)<<12];if(C[a][A]=l)J|=l,a<O&&(O=a),a>I&&(I=a);a+=1;E|=m[A];m=x[a+1];k=b;b=h;h=m[A-1]<<17|m[A]<<1|m[A+1]>>15;l=c[k>>12&63|(b>>12&63)<<6|(h>>12&63)<<12]<<12;l|=c[k>>8&63|(b>>8&63)<<6|(h>>8&63)<<12]<<8;l|=c[k>>
4&63|(b>>4&63)<<6|(h>>4&63)<<12]<<4;l|=c[k&63|(b&63)<<6|(h&63)<<12];if(C[a][A]=l)J|=l,a<O&&(O=a),a>I&&(I=a);a+=1;E|=m[A];m=x[a+1];k=b;b=h;h=m[A-1]<<17|m[A]<<1|m[A+1]>>15;l=c[k>>12&63|(b>>12&63)<<6|(h>>12&63)<<12]<<12;l|=c[k>>8&63|(b>>8&63)<<6|(h>>8&63)<<12]<<8;l|=c[k>>4&63|(b>>4&63)<<6|(h>>4&63)<<12]<<4;l|=c[k&63|(b&63)<<6|(h&63)<<12];if(C[a][A]=l)J|=l,a<O&&(O=a),a>I&&(I=a);a+=1;E|=m[A];m=x[a+1];k=b;b=h;h=m[A-1]<<17|m[A]<<1|m[A+1]>>15;l=c[k>>12&63|(b>>12&63)<<6|(h>>12&63)<<12]<<12;l|=c[k>>8&63|(b>>
8&63)<<6|(h>>8&63)<<12]<<8;l|=c[k>>4&63|(b>>4&63)<<6|(h>>4&63)<<12]<<4;l|=c[k&63|(b&63)<<6|(h&63)<<12];if(C[a][A]=l)J|=l,a<O&&(O=a),a>I&&(I=a);a+=1;E|=m[A];m=x[a+1];k=b;b=h;h=m[A-1]<<17|m[A]<<1|m[A+1]>>15;l=c[k>>12&63|(b>>12&63)<<6|(h>>12&63)<<12]<<12;l|=c[k>>8&63|(b>>8&63)<<6|(h>>8&63)<<12]<<8;l|=c[k>>4&63|(b>>4&63)<<6|(h>>4&63)<<12]<<4;l|=c[k&63|(b&63)<<6|(h&63)<<12];if(C[a][A]=l)J|=l,a<O&&(O=a),a>I&&(I=a);a+=1;E|=m[A];m=x[a+1];k=b;b=h;h=m[A-1]<<17|m[A]<<1|m[A+1]>>15;l=c[k>>12&63|(b>>12&63)<<6|
(h>>12&63)<<12]<<12;l|=c[k>>8&63|(b>>8&63)<<6|(h>>8&63)<<12]<<8;l|=c[k>>4&63|(b>>4&63)<<6|(h>>4&63)<<12]<<4;l|=c[k&63|(b&63)<<6|(h&63)<<12];if(C[a][A]=l)J|=l,a<O&&(O=a),a>I&&(I=a);a+=1;E|=m[A];m=x[a+1];k=b;b=h;h=m[A-1]<<17|m[A]<<1|m[A+1]>>15;l=c[k>>12&63|(b>>12&63)<<6|(h>>12&63)<<12]<<12;l|=c[k>>8&63|(b>>8&63)<<6|(h>>8&63)<<12]<<8;l|=c[k>>4&63|(b>>4&63)<<6|(h>>4&63)<<12]<<4;l|=c[k&63|(b&63)<<6|(h&63)<<12];if(C[a][A]=l)J|=l,a<O&&(O=a),a>I&&(I=a);a+=1;E|=m[A];m=x[a+1];k=b;b=h;h=m[A-1]<<17|m[A]<<1|m[A+
1]>>15;l=c[k>>12&63|(b>>12&63)<<6|(h>>12&63)<<12]<<12;l|=c[k>>8&63|(b>>8&63)<<6|(h>>8&63)<<12]<<8;l|=c[k>>4&63|(b>>4&63)<<6|(h>>4&63)<<12]<<4;l|=c[k&63|(b&63)<<6|(h&63)<<12];if(C[a][A]=l)J|=l,a<O&&(O=a),a>I&&(I=a);a+=1;E|=m[A];m=x[a+1];k=b;b=h;h=m[A-1]<<17|m[A]<<1|m[A+1]>>15;l=c[k>>12&63|(b>>12&63)<<6|(h>>12&63)<<12]<<12;l|=c[k>>8&63|(b>>8&63)<<6|(h>>8&63)<<12]<<8;l|=c[k>>4&63|(b>>4&63)<<6|(h>>4&63)<<12]<<4;l|=c[k&63|(b&63)<<6|(h&63)<<12];if(C[a][A]=l)J|=l,a<O&&(O=a),a>I&&(I=a);a+=1;E|=m[A];a===this.height-
1?m=this.Ia:m=x[a+1];k=b;b=h;h=m[A-1]<<17|m[A]<<1|m[A+1]>>15;l=c[k>>12&63|(b>>12&63)<<6|(h>>12&63)<<12]<<12;l|=c[k>>8&63|(b>>8&63)<<6|(h>>8&63)<<12]<<8;l|=c[k>>4&63|(b>>4&63)<<6|(h>>4&63)<<12]<<4;l|=c[k&63|(b&63)<<6|(h&63)<<12];if(C[a][A]=l)J|=l,a<O&&(O=a),a>I&&(I=a),0!==(l&32768)&&(Q|=p.Ed),0!==(l&1)&&(Q|=p.Fd),Q|=p.Mc}else{k=e[A]<<1|e[A+1]>>15;b=E<<1|b[A+1]>>15;h=m[A]<<1|m[A+1]>>15;l=c[k>>12&63|(b>>12&63)<<6|(h>>12&63)<<12]<<12;l|=c[k>>8&63|(b>>8&63)<<6|(h>>8&63)<<12]<<8;l|=c[k>>4&63|(b>>4&63)<<
6|(h>>4&63)<<12]<<4;l|=c[k&63|(b&63)<<6|(h&63)<<12];if(C[a][A]=l)J|=l,a<O&&(O=a),a>I&&(I=a),0!==(l&1)&&(Q|=p.ld),Q|=p.Bc;for(a+=1;a<B-1;){E|=m[A];m=x[a+1];k=b;b=h;h=m[A]<<1|m[A+1]>>15;l=c[k>>12&63|(b>>12&63)<<6|(h>>12&63)<<12]<<12;l|=c[k>>8&63|(b>>8&63)<<6|(h>>8&63)<<12]<<8;l|=c[k>>4&63|(b>>4&63)<<6|(h>>4&63)<<12]<<4;l|=c[k&63|(b&63)<<6|(h&63)<<12];if(C[a][A]=l)J|=l,a<O&&(O=a),a>I&&(I=a);a+=1}E|=m[A];a===this.height-1?m=this.Ia:m=x[a+1];k=b;b=h;h=m[A]<<1|m[A+1]>>15;l=c[k>>12&63|(b>>12&63)<<6|(h>>
12&63)<<12]<<12;l|=c[k>>8&63|(b>>8&63)<<6|(h>>8&63)<<12]<<8;l|=c[k>>4&63|(b>>4&63)<<6|(h>>4&63)<<12]<<4;l|=c[k&63|(b&63)<<6|(h&63)<<12];if(C[a][A]=l)J|=l,a<O&&(O=a),a>I&&(I=a),0!==(l&1)&&(Q|=p.Fd),Q|=p.Mc}J&&(0!==(J&32768)&&(Q|=p.Fc),0!==(J&1)&&(Q|=p.Lc));F[A]|=J;if(J||E)z|=1<<g,Q&&(0!==(Q&p.Fc)&&(15>g?z|=1<<g+1:0<q&&0<A&&(P[q-1]|=1)),0!==(Q&p.Lc)&&(0<g?z|=1<<g-1:q<aa-1&&A<W-1&&(P[q+1]|=32768)),0!==(Q&p.Bc)&&(y|=1<<g),0!==(Q&p.Mc)&&(w|=1<<g),0!==(Q&p.kd)&&(15>g?y|=1<<g+1:0<q&&0<A&&(v[q-1]|=1)),0!==
(Q&p.ld)&&(0<g?y|=1<<g-1:q<aa-1&&A<W-1&&(v[q+1]|=32768)),0!==(Q&p.Ed)&&(15>g?w|=1<<g+1:0<q&&0<A&&(D[q-1]|=1)),0!==(Q&p.Fd)&&(0<g?w|=1<<g-1:q<aa-1&&A<W-1&&(D[q+1]|=32768)))}A+=1}P[q]|=z;0<d&&(v[q]|=y);d<Y-1&&(D[q]|=w)}else A+=16;u+=16;B+=16}for(q=0;q<W;q+=1)F[q]&&(q<N&&(N=q),q>X&&(X=q));N=(N<<4)+this.Zd(F[N]);X=(X<<4)+this.ae(F[X]);0>I&&(I=K-1);O>=K&&(O=0);N>=V&&(N=0);0>X&&(X=V-1);I>K-1&&(I=K-1);0>O&&(O=0);0>N&&(N=0);X>V-1&&(X=V-1);Z.O=I;Z.L=O;Z.M=N;Z.N=X;for(d=0;d<ba.length;d+=1)ba[d]=0};n.prototype.wh=
function(){var c=null,e=null,b=null,m=null,a=0,g=0,k=0,h=b=0,l=0,d=0,q=0,x=null,C=null,f=null,r=null,n=null,P=null,v=null,D=null,t=0,z=0,y=0,w=0,u=0,B=0,A=0,E=0,F=0,J=this.rd,K=0,V=this.height,W=this.width,Z=W>>4,O=this.A,I=V,N=-1,X=W,Y=-1,aa=this.f,ba=this.c>>4,Q=this.Cb,R=0,M=this.Nd,S=0,T=0,U=0,m=0,ca=aa;0!==(this.i&1)?(x=this.fa,C=this.Ta,f=this.pa,r=this.Y,c=this.Cc):(x=this.Ta,C=this.fa,f=this.Y,r=this.pa,c=this.zc);for(d=0;d<J.length;d+=1)J[d]=0;0>m&&(m=0);ca>aa&&(ca=aa);u=m<<4;B=u+16;for(d=
m;d<ca;d+=1)for(n=r[d],q=0;q<n.length;q+=1)n[q]=0;for(d=m;d<ca;d+=1){A=0;n=f[d];P=r[d];0<d?v=r[d-1]:v=Q;d<aa-1?D=r[d+1]:D=Q;for(q=0;q<ba;q+=1)if(t=n[q]){z=P[q];y=v[q];w=D[q];for(g=15;0<=g;--g){if(0!==(t&1<<g)){R=K=0;a=u;0===a?e=this.Ia:e=x[a-1];b=x[a];m=x[a+1];E=F=b[A];if(A)if(A>=Z-1){k=e[A-1]<<17|e[A]<<1;b=b[A-1]<<17|F<<1;h=m[A-1]<<17|m[A]<<1;l=c[k>>12&63|(b>>12&63)<<6|(h>>12&63)<<12]<<12;l|=c[k>>8&63|(b>>8&63)<<6|(h>>8&63)<<12]<<8;l|=c[k>>4&63|(b>>4&63)<<6|(h>>4&63)<<12]<<4;l|=c[k&63|(b&63)<<6|
(h&63)<<12];C[a][A]=l;S+=M[l];T+=M[l&~F];U+=M[F&~l];l&&(K|=l,a<I&&(I=a),a>N&&(N=a),0!==(l&32768)&&(R|=p.kd),R|=p.Bc);for(a+=1;a<B-1;)F=m[A],E|=F,m=x[a+1],k=b,b=h,h=m[A-1]<<17|m[A]<<1,l=c[k>>12&63|(b>>12&63)<<6|(h>>12&63)<<12]<<12,l|=c[k>>8&63|(b>>8&63)<<6|(h>>8&63)<<12]<<8,l|=c[k>>4&63|(b>>4&63)<<6|(h>>4&63)<<12]<<4,l|=c[k&63|(b&63)<<6|(h&63)<<12],C[a][A]=l,S+=M[l],T+=M[l&~F],U+=M[F&~l],l&&(K|=l,a<I&&(I=a),a>N&&(N=a)),a+=1;F=m[A];E|=F;a===this.height-1?m=this.Ia:m=x[a+1];k=b;b=h;h=m[A-1]<<17|m[A]<<
1;l=c[k>>12&63|(b>>12&63)<<6|(h>>12&63)<<12]<<12;l|=c[k>>8&63|(b>>8&63)<<6|(h>>8&63)<<12]<<8;l|=c[k>>4&63|(b>>4&63)<<6|(h>>4&63)<<12]<<4;l|=c[k&63|(b&63)<<6|(h&63)<<12];C[a][A]=l;S+=M[l];T+=M[l&~F];U+=M[F&~l];l&&(K|=l,a<I&&(I=a),a>N&&(N=a),0!==(l&32768)&&(R|=p.Ed),R|=p.Mc)}else k=e[A-1]<<17|e[A]<<1|e[A+1]>>15,b=b[A-1]<<17|F<<1|b[A+1]>>15,h=m[A-1]<<17|m[A]<<1|m[A+1]>>15,l=c[k>>12&63|(b>>12&63)<<6|(h>>12&63)<<12]<<12,l|=c[k>>8&63|(b>>8&63)<<6|(h>>8&63)<<12]<<8,l|=c[k>>4&63|(b>>4&63)<<6|(h>>4&63)<<12]<<
4,l|=c[k&63|(b&63)<<6|(h&63)<<12],C[a][A]=l,S+=M[l],T+=M[l&~F],U+=M[F&~l],l&&(K|=l,a<I&&(I=a),a>N&&(N=a),0!==(l&32768)&&(R|=p.kd),0!==(l&1)&&(R|=p.ld),R|=p.Bc),a+=1,F=m[A],E|=F,m=x[a+1],k=b,b=h,h=m[A-1]<<17|m[A]<<1|m[A+1]>>15,l=c[k>>12&63|(b>>12&63)<<6|(h>>12&63)<<12]<<12,l|=c[k>>8&63|(b>>8&63)<<6|(h>>8&63)<<12]<<8,l|=c[k>>4&63|(b>>4&63)<<6|(h>>4&63)<<12]<<4,l|=c[k&63|(b&63)<<6|(h&63)<<12],C[a][A]=l,S+=M[l],T+=M[l&~F],U+=M[F&~l],l&&(K|=l,a<I&&(I=a),a>N&&(N=a)),a+=1,F=m[A],E|=F,m=x[a+1],k=b,b=h,h=
m[A-1]<<17|m[A]<<1|m[A+1]>>15,l=c[k>>12&63|(b>>12&63)<<6|(h>>12&63)<<12]<<12,l|=c[k>>8&63|(b>>8&63)<<6|(h>>8&63)<<12]<<8,l|=c[k>>4&63|(b>>4&63)<<6|(h>>4&63)<<12]<<4,l|=c[k&63|(b&63)<<6|(h&63)<<12],C[a][A]=l,S+=M[l],T+=M[l&~F],U+=M[F&~l],l&&(K|=l,a<I&&(I=a),a>N&&(N=a)),a+=1,F=m[A],E|=F,m=x[a+1],k=b,b=h,h=m[A-1]<<17|m[A]<<1|m[A+1]>>15,l=c[k>>12&63|(b>>12&63)<<6|(h>>12&63)<<12]<<12,l|=c[k>>8&63|(b>>8&63)<<6|(h>>8&63)<<12]<<8,l|=c[k>>4&63|(b>>4&63)<<6|(h>>4&63)<<12]<<4,l|=c[k&63|(b&63)<<6|(h&63)<<12],
C[a][A]=l,S+=M[l],T+=M[l&~F],U+=M[F&~l],l&&(K|=l,a<I&&(I=a),a>N&&(N=a)),a+=1,F=m[A],E|=F,m=x[a+1],k=b,b=h,h=m[A-1]<<17|m[A]<<1|m[A+1]>>15,l=c[k>>12&63|(b>>12&63)<<6|(h>>12&63)<<12]<<12,l|=c[k>>8&63|(b>>8&63)<<6|(h>>8&63)<<12]<<8,l|=c[k>>4&63|(b>>4&63)<<6|(h>>4&63)<<12]<<4,l|=c[k&63|(b&63)<<6|(h&63)<<12],C[a][A]=l,S+=M[l],T+=M[l&~F],U+=M[F&~l],l&&(K|=l,a<I&&(I=a),a>N&&(N=a)),a+=1,F=m[A],E|=F,m=x[a+1],k=b,b=h,h=m[A-1]<<17|m[A]<<1|m[A+1]>>15,l=c[k>>12&63|(b>>12&63)<<6|(h>>12&63)<<12]<<12,l|=c[k>>8&63|
(b>>8&63)<<6|(h>>8&63)<<12]<<8,l|=c[k>>4&63|(b>>4&63)<<6|(h>>4&63)<<12]<<4,l|=c[k&63|(b&63)<<6|(h&63)<<12],C[a][A]=l,S+=M[l],T+=M[l&~F],U+=M[F&~l],l&&(K|=l,a<I&&(I=a),a>N&&(N=a)),a+=1,F=m[A],E|=F,m=x[a+1],k=b,b=h,h=m[A-1]<<17|m[A]<<1|m[A+1]>>15,l=c[k>>12&63|(b>>12&63)<<6|(h>>12&63)<<12]<<12,l|=c[k>>8&63|(b>>8&63)<<6|(h>>8&63)<<12]<<8,l|=c[k>>4&63|(b>>4&63)<<6|(h>>4&63)<<12]<<4,l|=c[k&63|(b&63)<<6|(h&63)<<12],C[a][A]=l,S+=M[l],T+=M[l&~F],U+=M[F&~l],l&&(K|=l,a<I&&(I=a),a>N&&(N=a)),a+=1,F=m[A],E|=F,
m=x[a+1],k=b,b=h,h=m[A-1]<<17|m[A]<<1|m[A+1]>>15,l=c[k>>12&63|(b>>12&63)<<6|(h>>12&63)<<12]<<12,l|=c[k>>8&63|(b>>8&63)<<6|(h>>8&63)<<12]<<8,l|=c[k>>4&63|(b>>4&63)<<6|(h>>4&63)<<12]<<4,l|=c[k&63|(b&63)<<6|(h&63)<<12],C[a][A]=l,S+=M[l],T+=M[l&~F],U+=M[F&~l],l&&(K|=l,a<I&&(I=a),a>N&&(N=a)),a+=1,F=m[A],E|=F,m=x[a+1],k=b,b=h,h=m[A-1]<<17|m[A]<<1|m[A+1]>>15,l=c[k>>12&63|(b>>12&63)<<6|(h>>12&63)<<12]<<12,l|=c[k>>8&63|(b>>8&63)<<6|(h>>8&63)<<12]<<8,l|=c[k>>4&63|(b>>4&63)<<6|(h>>4&63)<<12]<<4,l|=c[k&63|(b&
63)<<6|(h&63)<<12],C[a][A]=l,S+=M[l],T+=M[l&~F],U+=M[F&~l],l&&(K|=l,a<I&&(I=a),a>N&&(N=a)),a+=1,F=m[A],E|=F,m=x[a+1],k=b,b=h,h=m[A-1]<<17|m[A]<<1|m[A+1]>>15,l=c[k>>12&63|(b>>12&63)<<6|(h>>12&63)<<12]<<12,l|=c[k>>8&63|(b>>8&63)<<6|(h>>8&63)<<12]<<8,l|=c[k>>4&63|(b>>4&63)<<6|(h>>4&63)<<12]<<4,l|=c[k&63|(b&63)<<6|(h&63)<<12],C[a][A]=l,S+=M[l],T+=M[l&~F],U+=M[F&~l],l&&(K|=l,a<I&&(I=a),a>N&&(N=a)),a+=1,F=m[A],E|=F,m=x[a+1],k=b,b=h,h=m[A-1]<<17|m[A]<<1|m[A+1]>>15,l=c[k>>12&63|(b>>12&63)<<6|(h>>12&63)<<
12]<<12,l|=c[k>>8&63|(b>>8&63)<<6|(h>>8&63)<<12]<<8,l|=c[k>>4&63|(b>>4&63)<<6|(h>>4&63)<<12]<<4,l|=c[k&63|(b&63)<<6|(h&63)<<12],C[a][A]=l,S+=M[l],T+=M[l&~F],U+=M[F&~l],l&&(K|=l,a<I&&(I=a),a>N&&(N=a)),a+=1,F=m[A],E|=F,m=x[a+1],k=b,b=h,h=m[A-1]<<17|m[A]<<1|m[A+1]>>15,l=c[k>>12&63|(b>>12&63)<<6|(h>>12&63)<<12]<<12,l|=c[k>>8&63|(b>>8&63)<<6|(h>>8&63)<<12]<<8,l|=c[k>>4&63|(b>>4&63)<<6|(h>>4&63)<<12]<<4,l|=c[k&63|(b&63)<<6|(h&63)<<12],C[a][A]=l,S+=M[l],T+=M[l&~F],U+=M[F&~l],l&&(K|=l,a<I&&(I=a),a>N&&(N=
a)),a+=1,F=m[A],E|=F,m=x[a+1],k=b,b=h,h=m[A-1]<<17|m[A]<<1|m[A+1]>>15,l=c[k>>12&63|(b>>12&63)<<6|(h>>12&63)<<12]<<12,l|=c[k>>8&63|(b>>8&63)<<6|(h>>8&63)<<12]<<8,l|=c[k>>4&63|(b>>4&63)<<6|(h>>4&63)<<12]<<4,l|=c[k&63|(b&63)<<6|(h&63)<<12],C[a][A]=l,S+=M[l],T+=M[l&~F],U+=M[F&~l],l&&(K|=l,a<I&&(I=a),a>N&&(N=a)),a+=1,F=m[A],E|=F,m=x[a+1],k=b,b=h,h=m[A-1]<<17|m[A]<<1|m[A+1]>>15,l=c[k>>12&63|(b>>12&63)<<6|(h>>12&63)<<12]<<12,l|=c[k>>8&63|(b>>8&63)<<6|(h>>8&63)<<12]<<8,l|=c[k>>4&63|(b>>4&63)<<6|(h>>4&63)<<
12]<<4,l|=c[k&63|(b&63)<<6|(h&63)<<12],C[a][A]=l,S+=M[l],T+=M[l&~F],U+=M[F&~l],l&&(K|=l,a<I&&(I=a),a>N&&(N=a)),a+=1,F=m[A],E|=F,m=x[a+1],k=b,b=h,h=m[A-1]<<17|m[A]<<1|m[A+1]>>15,l=c[k>>12&63|(b>>12&63)<<6|(h>>12&63)<<12]<<12,l|=c[k>>8&63|(b>>8&63)<<6|(h>>8&63)<<12]<<8,l|=c[k>>4&63|(b>>4&63)<<6|(h>>4&63)<<12]<<4,l|=c[k&63|(b&63)<<6|(h&63)<<12],C[a][A]=l,S+=M[l],T+=M[l&~F],U+=M[F&~l],l&&(K|=l,a<I&&(I=a),a>N&&(N=a)),a+=1,F=m[A],E|=F,a===this.height-1?m=this.Ia:m=x[a+1],k=b,b=h,h=m[A-1]<<17|m[A]<<1|m[A+
1]>>15,l=c[k>>12&63|(b>>12&63)<<6|(h>>12&63)<<12]<<12,l|=c[k>>8&63|(b>>8&63)<<6|(h>>8&63)<<12]<<8,l|=c[k>>4&63|(b>>4&63)<<6|(h>>4&63)<<12]<<4,l|=c[k&63|(b&63)<<6|(h&63)<<12],C[a][A]=l,S+=M[l],T+=M[l&~F],U+=M[F&~l],l&&(K|=l,a<I&&(I=a),a>N&&(N=a),0!==(l&32768)&&(R|=p.Ed),0!==(l&1)&&(R|=p.Fd),R|=p.Mc);else{k=e[A]<<1|e[A+1]>>15;b=F<<1|b[A+1]>>15;h=m[A]<<1|m[A+1]>>15;l=c[k>>12&63|(b>>12&63)<<6|(h>>12&63)<<12]<<12;l|=c[k>>8&63|(b>>8&63)<<6|(h>>8&63)<<12]<<8;l|=c[k>>4&63|(b>>4&63)<<6|(h>>4&63)<<12]<<4;l|=
c[k&63|(b&63)<<6|(h&63)<<12];C[a][A]=l;S+=M[l];T+=M[l&~F];U+=M[F&~l];l&&(K|=l,a<I&&(I=a),a>N&&(N=a),0!==(l&1)&&(R|=p.ld),R|=p.Bc);for(a+=1;a<B-1;)F=m[A],E|=F,m=x[a+1],k=b,b=h,h=m[A]<<1|m[A+1]>>15,l=c[k>>12&63|(b>>12&63)<<6|(h>>12&63)<<12]<<12,l|=c[k>>8&63|(b>>8&63)<<6|(h>>8&63)<<12]<<8,l|=c[k>>4&63|(b>>4&63)<<6|(h>>4&63)<<12]<<4,l|=c[k&63|(b&63)<<6|(h&63)<<12],C[a][A]=l,S+=M[l],T+=M[l&~F],U+=M[F&~l],l&&(K|=l,a<I&&(I=a),a>N&&(N=a)),a+=1;F=m[A];E|=F;a===this.height-1?m=this.Ia:m=x[a+1];k=b;b=h;h=m[A]<<
1|m[A+1]>>15;l=c[k>>12&63|(b>>12&63)<<6|(h>>12&63)<<12]<<12;l|=c[k>>8&63|(b>>8&63)<<6|(h>>8&63)<<12]<<8;l|=c[k>>4&63|(b>>4&63)<<6|(h>>4&63)<<12]<<4;l|=c[k&63|(b&63)<<6|(h&63)<<12];C[a][A]=l;S+=M[l];T+=M[l&~F];U+=M[F&~l];l&&(K|=l,a<I&&(I=a),a>N&&(N=a),0!==(l&1)&&(R|=p.Fd),R|=p.Mc)}K&&(0!==(K&32768)&&(R|=p.Fc),0!==(K&1)&&(R|=p.Lc));J[A]|=K;if(K||E)z|=1<<g,R&&(0!==(R&p.Fc)&&(15>g?z|=1<<g+1:0<q&&0<A&&(P[q-1]|=1)),0!==(R&p.Lc)&&(0<g?z|=1<<g-1:q<ba-1&&A<Z-1&&(P[q+1]|=32768)),0!==(R&p.Bc)&&(y|=1<<g),0!==
(R&p.Mc)&&(w|=1<<g),0!==(R&p.kd)&&(15>g?y|=1<<g+1:0<q&&0<A&&(v[q-1]|=1)),0!==(R&p.ld)&&(0<g?y|=1<<g-1:q<ba-1&&A<Z-1&&(v[q+1]|=32768)),0!==(R&p.Ed)&&(15>g?w|=1<<g+1:0<q&&0<A&&(D[q-1]|=1)),0!==(R&p.Fd)&&(0<g?w|=1<<g-1:q<ba-1&&A<Z-1&&(D[q+1]|=32768)))}A+=1}P[q]|=z;0<d&&(v[q]|=y);d<aa-1&&(D[q]|=w)}else A+=16;u+=16;B+=16}for(q=0;q<Z;q+=1)J[q]&&(q<X&&(X=q),q>Y&&(Y=q));X=(X<<4)+this.Zd(J[X]);Y=(Y<<4)+this.ae(J[Y]);0>N&&(N=V-1);I>=V&&(I=0);X>=W&&(X=0);0>Y&&(Y=W-1);N>V-1&&(N=V-1);0>I&&(I=0);0>X&&(X=0);Y>W-
1&&(Y=W-1);O.O=N;O.L=I;O.M=X;O.N=Y;for(d=0;d<Q.length;d+=1)Q[d]=0;this.bd=S;this.Qc=T;this.Tc=U};n.prototype.yf=function(c,e){for(var b=0,m=0,a=null,g=null,k=null,h=this.na,l=null,d=0,q=0,x=0,C=0,f=0,r=0,n=0,p=0,v=0,D=this.f,t=this.c>>4,f=0,r=f+16,q=0;q<D;q+=1){n=0;l=h[q];for(x=0;x<t;x+=1)if(p=l[x])for(C=15;0<=C;--C){if(0!==(p&1<<C))for(m=f;m<r;m+=2)a=c[m],g=c[m+1],k=e[m],b=n<<3,v=0,d=a[b],(d&255)>v&&(v=d&255),d>>=8,d>v&&(v=d),d=g[b],(d&255)>v&&(v=d&255),d>>=8,d>v&&(v=d),k[b+b]=v,b+=1,v=0,d=a[b],
(d&255)>v&&(v=d&255),d>>=8,d>v&&(v=d),d=g[b],(d&255)>v&&(v=d&255),d>>=8,d>v&&(v=d),k[b+b]=v,b+=1,v=0,d=a[b],(d&255)>v&&(v=d&255),d>>=8,d>v&&(v=d),d=g[b],(d&255)>v&&(v=d&255),d>>=8,d>v&&(v=d),k[b+b]=v,b+=1,v=0,d=a[b],(d&255)>v&&(v=d&255),d>>=8,d>v&&(v=d),d=g[b],(d&255)>v&&(v=d&255),d>>=8,d>v&&(v=d),k[b+b]=v,b+=1,v=0,d=a[b],(d&255)>v&&(v=d&255),d>>=8,d>v&&(v=d),d=g[b],(d&255)>v&&(v=d&255),d>>=8,d>v&&(v=d),k[b+b]=v,b+=1,v=0,d=a[b],(d&255)>v&&(v=d&255),d>>=8,d>v&&(v=d),d=g[b],(d&255)>v&&(v=d&255),d>>=
8,d>v&&(v=d),k[b+b]=v,b+=1,v=0,d=a[b],(d&255)>v&&(v=d&255),d>>=8,d>v&&(v=d),d=g[b],(d&255)>v&&(v=d&255),d>>=8,d>v&&(v=d),k[b+b]=v,b+=1,v=0,d=a[b],(d&255)>v&&(v=d&255),d>>=8,d>v&&(v=d),d=g[b],(d&255)>v&&(v=d&255),d>>=8,d>v&&(v=d),k[b+b]=v;n+=1}else n+=16;f+=16;r+=16}};n.prototype.Je=function(c,e){for(var b=0,m=0,a=null,g=null,k=null,h=this.na,l=null,d=0,q=0,x=0,C=0,f=0,r=0,n=0,p=0,v=0,D=this.f,t=this.c>>4,f=0,r=f+16,q=0;q<D;q+=1){n=0;l=h[q];for(x=0;x<t;x+=1)if(p=l[x])for(C=15;0<=C;--C){if(0!==(p&1<<
C))for(b=f;b<r;b+=4)k=e[b],a=c[b],g=c[b+2],m=n<<4,v=a[m],d=a[m+2],d>v&&(v=d),d=g[m],d>v&&(v=d),d=g[m+2],d>v&&(v=d),k[m]=v,m+=4,v=a[m],d=a[m+2],d>v&&(v=d),d=g[m],d>v&&(v=d),d=g[m+2],d>v&&(v=d),k[m]=v,m+=4,v=a[m],d=a[m+2],d>v&&(v=d),d=g[m],d>v&&(v=d),d=g[m+2],d>v&&(v=d),k[m]=v,m+=4,v=a[m],d=a[m+2],d>v&&(v=d),d=g[m],d>v&&(v=d),d=g[m+2],d>v&&(v=d),k[m]=v;n+=1}else n+=16;f+=16;r+=16}};n.prototype.Ke=function(c,e){for(var b=0,m=0,a=null,g=null,k=null,h=this.na,l=null,d=0,q=0,x=0,C=0,f=0,r=0,n=0,p=0,v=0,
D=this.f,t=this.c>>4,f=0,r=f+16,q=0;q<D;q+=1){n=0;l=h[q];for(x=0;x<t;x+=1)if(p=l[x])for(C=15;0<=C;--C){if(0!==(p&1<<C))for(b=f;b<r;b+=8)k=e[b],a=c[b],g=c[b+4],m=n<<4,v=a[m],d=a[m+4],d>v&&(v=d),d=g[m],d>v&&(v=d),d=g[m+4],d>v&&(v=d),k[m]=v,m+=8,v=a[m],d=a[m+4],d>v&&(v=d),d=g[m],d>v&&(v=d),d=g[m+4],d>v&&(v=d),k[m]=v;n+=1}else n+=16;f+=16;r+=16}};n.prototype.xf=function(c,e){for(var b=0,m=null,a=null,g=null,k=this.na,h=null,l=m=0,d=0,q=0,x=0,C=0,f=0,r=0,n=this.f,p=this.c>>4,l=x=0;l<n;l+=1){C=0;h=k[l];
for(d=0;d<p;d+=1)if(f=h[d])for(q=15;0<=q;--q)0!==(f&1<<q)&&(g=e[x],m=c[x],a=c[x+8],b=C<<4,r=m[b],m=m[b+8],m>r&&(r=m),m=a[b],m>r&&(r=m),m=a[b+8],m>r&&(r=m),g[b]=r),C+=1;else C+=16;x+=16}};n.prototype.jg=function(){1>this.zoom&&(this.yf(this.Fe,this.s),.5>this.zoom&&(this.Je(this.s,this.wa),.25>this.zoom&&(this.Ke(this.wa,this.xa),.125>this.zoom&&this.xf(this.xa,this.Ra))));this.Jd&&1>this.zoom&&(this.yf(this.ud,this.aa),.5>this.zoom&&(this.Je(this.aa,this.ac),.25>this.zoom&&(this.Ke(this.ac,this.bc),
.125>this.zoom&&this.xf(this.bc,this.Uc))))};n.prototype.qg=function(){var c=0,e=0,b=0,m=this.ga,a=null,g=null,k=null,h=this.na,l=this.za,d=null,q=null,x=null,C=null,f=0,r=0,n=0,p=0,v=0,D=0,t=0,z=0,y=0,w=0,u=0,D=this.f,B=this.c>>4,A=this.u-1,c=0,E=D;this.fc=this.U=0;0!==(this.i&1)?(d=this.fa,x=this.pa):(d=this.Ta,x=this.Y);0>c&&(c=0);E>D&&(E=D);D=c<<4;t=D+16;for(r=c;r<E;r+=1){z=0;C=x[r];g=l[r];k=h[r];for(n=0;n<B;n+=1){y=C[n]|g[n];w=0;if(y)for(p=15;0<=p;--p){if(0!==(y&1<<p)){u=0;for(c=D;c<t;c+=1)q=
d[c],a=m[c],e=z<<4,b=q[z],v=32768,f=a[e],0!==f&&f!==A||0===(b&v)?(b&=~v,0<f&&(--f,u|=f)):(f=A,u|=f),a[e]=f,e+=1,v>>=1,f=a[e],0!==f&&f!==A||0===(b&v)?(b&=~v,0<f&&(--f,u|=f)):(f=A,u|=f),a[e]=f,e+=1,v>>=1,f=a[e],0!==f&&f!==A||0===(b&v)?(b&=~v,0<f&&(--f,u|=f)):(f=A,u|=f),a[e]=f,e+=1,v>>=1,f=a[e],0!==f&&f!==A||0===(b&v)?(b&=~v,0<f&&(--f,u|=f)):(f=A,u|=f),a[e]=f,e+=1,v>>=1,f=a[e],0!==f&&f!==A||0===(b&v)?(b&=~v,0<f&&(--f,u|=f)):(f=A,u|=f),a[e]=f,e+=1,v>>=1,f=a[e],0!==f&&f!==A||0===(b&v)?(b&=~v,0<f&&(--f,
u|=f)):(f=A,u|=f),a[e]=f,e+=1,v>>=1,f=a[e],0!==f&&f!==A||0===(b&v)?(b&=~v,0<f&&(--f,u|=f)):(f=A,u|=f),a[e]=f,e+=1,v>>=1,f=a[e],0!==f&&f!==A||0===(b&v)?(b&=~v,0<f&&(--f,u|=f)):(f=A,u|=f),a[e]=f,e+=1,v>>=1,f=a[e],0!==f&&f!==A||0===(b&v)?(b&=~v,0<f&&(--f,u|=f)):(f=A,u|=f),a[e]=f,e+=1,v>>=1,f=a[e],0!==f&&f!==A||0===(b&v)?(b&=~v,0<f&&(--f,u|=f)):(f=A,u|=f),a[e]=f,e+=1,v>>=1,f=a[e],0!==f&&f!==A||0===(b&v)?(b&=~v,0<f&&(--f,u|=f)):(f=A,u|=f),a[e]=f,e+=1,v>>=1,f=a[e],0!==f&&f!==A||0===(b&v)?(b&=~v,0<f&&(--f,
u|=f)):(f=A,u|=f),a[e]=f,e+=1,v>>=1,f=a[e],0!==f&&f!==A||0===(b&v)?(b&=~v,0<f&&(--f,u|=f)):(f=A,u|=f),a[e]=f,e+=1,v>>=1,f=a[e],0!==f&&f!==A||0===(b&v)?(b&=~v,0<f&&(--f,u|=f)):(f=A,u|=f),a[e]=f,e+=1,v>>=1,f=a[e],0!==f&&f!==A||0===(b&v)?(b&=~v,0<f&&(--f,u|=f)):(f=A,u|=f),a[e]=f,e+=1,v>>=1,f=a[e],0!==f&&f!==A||0===(b&v)?(b&=~v,0<f&&(--f,u|=f)):(f=A,u|=f),a[e]=f,q[z]=b,this.U|=b;u&&(w|=1<<p,this.fc=u)}z+=1}else z+=16;g[n]=w;k[n]|=w}D+=16;t+=16}};n.prototype.uh=function(){var c=0,e=0,b=this.ga,f=null,
a=null,g=this.na,k=0,h=0,l=0,d=0,q=0,x=0,C=0,n=0,r=0,x=this.f,p=this.c>>4,c=0,P=x;this.fc=0;0>c&&(c=0);P>x&&(P=x);x=c<<4;C=x+16;for(h=c;h<P;h+=1){n=0;a=g[h];for(l=0;l<p;l+=1)if(r=a[l])for(d=15;0<=d;--d){if(0!==(r&1<<d))for(c=x;c<C;c+=1)for(f=b[c],e=n<<4,q=15;0<=q;--q)k=f[e],0<k&&--k,f[e]=k,e+=1,this.fc|=k;n+=1}else n+=16;x+=16;C+=16}};n.prototype.Gf=function(){var c=this.U,e=this.i;-1===this.u?(0===c&&-1!==this.Ci&&(this.i=this.Ci),this.Bf(),this.i=e,0!==c&&0===this.U&&(this.Ci=this.i),c=this.U):
c=this.U|this.fc;return c};n.prototype.Bf=function(){var c=0,e=0,b=0,f=this.ga,a=null,g=null,k=null,h=this.na,l=this.za,d=this.Ge,q=this.X+1,x=null,C=b=null,n=null,r=0,p=0,P=0,v=0,D=0,t=0,z=0,y=0,w=0,u=0,D=this.f,B=this.c>>4,c=0,A=D;this.U=0;0!==(this.i&1)?(x=this.fa,C=this.pa):(x=this.Ta,C=this.Y);0>c&&(c=0);A>D&&(A=D);D=c<<4;t=D+16;for(p=c;p<A;p+=1){z=0;n=C[p];g=l[p];k=h[p];for(P=0;P<B;P+=1){y=n[P]|g[P];w=0;if(y)for(v=15;0<=v;--v){if(0!==(y&1<<v)){u=0;for(c=D;c<t;)b=x[c],a=f[c],e=z<<4,b=b[z],this.U|=
b,u|=b,0!==(b&32768)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&16384)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&8192)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&4096)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&2048)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&1024)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&512)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&256)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&128)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=
r,e+=1,0!==(b&64)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&32)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&16)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&8)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&4)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&2)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&1)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,c+=1,b=x[c],a=f[c],e=z<<4,b=b[z],this.U|=b,u|=b,0!==(b&32768)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&16384)?r=d[a[e]+
q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&8192)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&4096)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&2048)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&1024)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&512)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&256)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&128)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&64)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&32)?r=d[a[e]+q]:(r=
d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&16)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&8)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&4)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&2)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&1)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,c+=1,b=x[c],a=f[c],e=z<<4,b=b[z],this.U|=b,u|=b,0!==(b&32768)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&16384)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&8192)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,
e+=1,0!==(b&4096)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&2048)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&1024)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&512)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&256)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&128)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&64)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&32)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&16)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==
(b&8)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&4)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&2)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&1)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,c+=1,b=x[c],a=f[c],e=z<<4,b=b[z],this.U|=b,u|=b,0!==(b&32768)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&16384)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&8192)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&4096)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&2048)?r=d[a[e]+q]:
(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&1024)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&512)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&256)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&128)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&64)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&32)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&16)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&8)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&4)?r=d[a[e]+q]:(r=d[a[e]],u|=
1<r),a[e]=r,e+=1,0!==(b&2)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&1)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,c+=1;u&&(w|=1<<v)}z+=1}else z+=16;g[P]=w;k[P]|=w}D+=16;t+=16}};n.prototype.$e=function(c,e,b,f,a,g,k,h,l,d,q,x,C,n,r,p){var P=this.A,v=this.jb,D=this.Qa,t=this.Pe,z=1,y=0,w=0,u=z=0,B=0,A=u=z=0,y=this.i;r=p*(r/1E3-this.i/p);0>r?r=0:1<r&&(r=1);d?(y+=r,t.O=q*y+this.jb.O,t.N=x*y+this.jb.N,t.L=C*y+this.jb.L,t.M=n*y+this.jb.M,l&&(D.M<t.M&&(t.M=D.M),D.L<t.L&&(t.L=D.L),D.N>t.N&&(t.N=D.N),
D.O>t.O&&(t.O=D.O)),P=t):l&&(P=D);B=P.M;z=P.N;u=P.O;A=P.L;this.Ec&&(v.M<B&&(B=v.M),v.N>z&&(z=v.N),v.O>u&&(u=v.O),v.L<A&&(A=v.L));-1!==this.wb&&(y=this.ka,w=this.Ka,this.width/2-y/2<B&&(B=this.width/2-y/2),this.width/2+y/2>z&&(z=this.width/2+y/2),this.height/2-w/2<A&&(A=this.height/2-w/2),this.height/2+w/2>u&&(u=this.height/2+w/2));h?(y=g,w=k,B=this.width/2-y/2,z=this.width/2+y/2,u=this.height/2+w/2,A=this.height/2-w/2):(y=z-B+1,w=u-A+1);this.I&&(B-=u/2,y=z-A/2-B+1);0===y&&(y=1);0===w&&(w=1);z=c/y;
u=e/w;z=Math.round(1E3*(z>u?u:z)/a)/1E3;z<b?z=b:z>f&&(z=f);return[z,B+y/2,A+w/2]};n.prototype.lg=function(c,e,b){var f=0,a=this.Fb,g=this.l,k=e*this.o+f;if(0<=e&&e<g)for(;f<=c;)a[k]=b,k+=1,f+=1};n.prototype.Ud=function(c,e,b,f){var a=this.Fb,g=this.o,k=e*g+c;if(0<=c&&c<g)for(;e<=b;)a[k]=f,k+=g,e+=1};n.prototype.Db=function(){for(var c=0,e=0,b=1,f=this.o,a=this.l,g=this.Xd,k=this.Wd,h=this.zoom,l=0,d=0,q=g,x=g,C=((this.height/2-this.w)*h+a/2)%h,n=((this.width/2-this.F)*h+f/2)%h,b=2,x=g;b;){l=-(f/2/
h)-(this.width/2-this.F)|0;for(c=0;c<=f;c+=h)if(0<this.pd&&(q=0===l%this.pd?k:g),l+=1,q===x)if(this.I)for(d=-(a/2/h)-(this.height/2-this.w)|0,e=C;e<a;e+=h)0===(d&1)?this.Ud(c+n|0,e|0,e+h-1|0,q):this.Ud(c+n+h/2|0,e|0,e+h-1|0,q),d+=1;else this.Ud(c+n|0,0,a-1,q);l=-(a/2/h)-(this.height/2-this.w)|0;for(e=C;e<a;e+=h)0<this.pd&&(q=0===l%this.pd?k:g),l+=1,q===x&&this.lg(f-1,e|0,q);--b;x=k}};n.prototype.Gd=function(){return 4<=this.zoom&&0===this.T};n.prototype.kg=function(){var c=this.ka,e=this.Ka,b=this.ga,
f=(this.width-c)/2-1|0,a=(this.width+c)/2|0,g=(this.height-e)/2-1|0,k=(this.height+e)/2|0,h=p.Lk,l=b[g],d=b[k],q=0;if(0===c)for(q=0;q<this.width;q+=1)l[q]=h,d[q]=h;else if(0===e)for(q=0;q<this.height;q+=1)b[q][f]=h,b[q][a]=h;else{for(q=f;q<=a;q+=1)l[q]=h,d[q]=h;for(q=g+1;q<=k-1;q+=1)b[q][f]=h,b[q][a]=h}};n.prototype.bo=function(){this.Te&&(this.Tk(),--this.Te,this.Te||(this.Ha.set(this.ja),this.Pa.set(this.ta),this.cc.set(this.gb)));this.j=this.zoom;this.H=this.F;this.K=this.w;this.b=this.Vb/2+1;
this.T=this.I?0:this.B;-1!==this.wb&&this.kg();this.jg();.125>this.zoom?this.Jd?0===this.i?this.fb(this.Uc,15):this.Sc(this.Uc,this.Ra,15):this.fb(this.Ra,15):.25>this.zoom?this.Jd?0===this.i?this.fb(this.bc,7):this.Sc(this.bc,this.xa,7):this.fb(this.xa,7):.5>this.zoom?this.Jd?0===this.i?this.fb(this.ac,3):this.Sc(this.ac,this.wa,3):this.fb(this.wa,3):1>this.zoom?this.Jd?0===this.i?this.fb(this.aa,1):this.Sc(this.aa,this.s,1):this.fb(this.s,1):this.Jd?0===this.i?this.fb(this.Ib,0):this.Sc(this.Ib,
this.ga,0):this.fb(this.ga,0)};n.prototype.wj=function(c,e){var b=this.o>>3,f=this.zd,a=this.Fb,g=0,k=0,h=0,l=0,d=0,q=0,x=0,C=0,n=0,r=0,p=0,t=1,v=1,D=0,B=0,z=this.va&~e,y=this.Ba&~e,w=~e,u=~e,g=0,G=c,A=this.j;1<this.b&&(t=this.m);q=Math.sin(this.T/180*Math.PI)/this.j;x=Math.cos(this.T/180*Math.PI)/this.j;C=-(this.o/2*-q+this.l/2*x)+this.K;n=-(this.o/2*x+this.l/2*q)+this.H;1<this.m&&1<this.b&&(D=.4/(this.m-1),v=.6);this.xb(v);g=8192>this.width?f[0]|0:this.Df|0;p=0;d=C;for(k=0;k<this.l;k+=1){l=n;for(h=
0;h<b;h+=1)(l&w)===(l&z)&&(d&u)===(d&y)?(B=G[d&y][l&z]|0,a[p]=f[B]):a[p]=g,p+=1,l+=x,d-=q,(l&w)===(l&z)&&(d&u)===(d&y)?(B=G[d&y][l&z]|0,a[p]=f[B]):a[p]=g,p+=1,l+=x,d-=q,(l&w)===(l&z)&&(d&u)===(d&y)?(B=G[d&y][l&z]|0,a[p]=f[B]):a[p]=g,p+=1,l+=x,d-=q,(l&w)===(l&z)&&(d&u)===(d&y)?(B=G[d&y][l&z]|0,a[p]=f[B]):a[p]=g,p+=1,l+=x,d-=q,(l&w)===(l&z)&&(d&u)===(d&y)?(B=G[d&y][l&z]|0,a[p]=f[B]):a[p]=g,p+=1,l+=x,d-=q,(l&w)===(l&z)&&(d&u)===(d&y)?(B=G[d&y][l&z]|0,a[p]=f[B]):a[p]=g,p+=1,l+=x,d-=q,(l&w)===(l&z)&&(d&
u)===(d&y)?(B=G[d&y][l&z]|0,a[p]=f[B]):a[p]=g,p+=1,l+=x,d-=q,(l&w)===(l&z)&&(d&u)===(d&y)?(B=G[d&y][l&z]|0,a[p]=f[B]):a[p]=g,p+=1,l+=x,d-=q;n+=q;d=C+=x}this.hb&&this.Gd()&&this.Db();for(g=1;g<t;g+=1)for(r=-1!==this.u?this.u/this.m*g|0:(this.X+1)/this.m*g|0,v+=D,this.xb(v),q/=this.b,x/=this.b,A*=this.b,.125>A?(G=this.Ra,e=15):.25>A?(G=this.xa,e=7):.5>A?(G=this.wa,e=3):1>A?(G=this.s,e=1):(G=this.ga,e=0),z=this.va&~e,y=this.Ba&~e,w=~e,u=~e,C=-(this.o/2*-q+this.l/2*x)+this.K,n=-(this.o/2*x+this.l/2*q)+
this.H,p=0,d=C,k=0;k<this.l;k+=1){l=n;for(h=0;h<b;h+=1)(l&w)===(l&z)&&(d&u)===(d&y)&&(B=G[d&y][l&z]|0,B>=r&&(a[p]=f[B])),p+=1,l+=x,d-=q,(l&w)===(l&z)&&(d&u)===(d&y)&&(B=G[d&y][l&z]|0,B>=r&&(a[p]=f[B])),p+=1,l+=x,d-=q,(l&w)===(l&z)&&(d&u)===(d&y)&&(B=G[d&y][l&z]|0,B>=r&&(a[p]=f[B])),p+=1,l+=x,d-=q,(l&w)===(l&z)&&(d&u)===(d&y)&&(B=G[d&y][l&z]|0,B>=r&&(a[p]=f[B])),p+=1,l+=x,d-=q,(l&w)===(l&z)&&(d&u)===(d&y)&&(B=G[d&y][l&z]|0,B>=r&&(a[p]=f[B])),p+=1,l+=x,d-=q,(l&w)===(l&z)&&(d&u)===(d&y)&&(B=G[d&y][l&
z]|0,B>=r&&(a[p]=f[B])),p+=1,l+=x,d-=q,(l&w)===(l&z)&&(d&u)===(d&y)&&(B=G[d&y][l&z]|0,B>=r&&(a[p]=f[B])),p+=1,l+=x,d-=q,(l&w)===(l&z)&&(d&u)===(d&y)&&(B=G[d&y][l&z]|0,B>=r&&(a[p]=f[B])),p+=1,l+=x,d-=q;n+=q;d=C+=x}};n.prototype.zj=function(c,e){var b=this.o>>3,f=this.zd,a=this.Fb,g=0,k=0,h=0,l=0,d=0,q=0,x=0,C=0,n=0,r=0,p=1,t=1,v=0,D=0,B=this.va&~e,z=this.Ba&~e,y=~e,w=~e,g=0,u=c,G=null,A=this.j;1<this.b&&(p=this.m);q=1/this.j;x=-(this.l/2*q)+this.K;C=-(this.o/2*q)+this.H;1<this.m&&1<this.b&&(v=.4/(this.m-
1),t=.6);this.xb(t);g=8192>this.width?f[0]|0:this.Df|0;r=0;d=x;for(k=0;k<this.l;k+=1){if((d&w)===(d&z))for(G=u[d&z],l=C,this.I&&(l+=.5*(d|0)),h=0;h<b;h+=1)(l&y)===(l&B)?(D=G[l&B]|0,a[r]=f[D]):a[r]=g,r+=1,l+=q,(l&y)===(l&B)?(D=G[l&B]|0,a[r]=f[D]):a[r]=g,r+=1,l+=q,(l&y)===(l&B)?(D=G[l&B]|0,a[r]=f[D]):a[r]=g,r+=1,l+=q,(l&y)===(l&B)?(D=G[l&B]|0,a[r]=f[D]):a[r]=g,r+=1,l+=q,(l&y)===(l&B)?(D=G[l&B]|0,a[r]=f[D]):a[r]=g,r+=1,l+=q,(l&y)===(l&B)?(D=G[l&B]|0,a[r]=f[D]):a[r]=g,r+=1,l+=q,(l&y)===(l&B)?(D=G[l&B]|
0,a[r]=f[D]):a[r]=g,r+=1,l+=q,(l&y)===(l&B)?(D=G[l&B]|0,a[r]=f[D]):a[r]=g,r+=1,l+=q;else for(h=0;h<b;h+=1)a[r]=g,r+=1,a[r]=g,r+=1,a[r]=g,r+=1,a[r]=g,r+=1,a[r]=g,r+=1,a[r]=g,r+=1,a[r]=g,r+=1,a[r]=g,r+=1;d=x+=q}this.hb&&this.Gd()&&this.Db();for(g=1;g<p;g+=1)for(n=-1!==this.u?this.u/this.m*g|0:(this.X+1)/this.m*g|0,t+=v,this.xb(t),q/=this.b,A*=this.b,.125>A?(u=this.Ra,e=15):.25>A?(u=this.xa,e=7):.5>A?(u=this.wa,e=3):1>A?(u=this.s,e=1):(u=this.ga,e=0),B=this.va&~e,z=this.Ba&~e,y=~e,w=~e,x=-(this.l/2*
q)+this.K,C=-(this.o/2*q)+this.H,r=0,d=x,k=0;k<this.l;k+=1){if((d&w)===(d&z))for(G=u[d&z],l=C,this.I&&(l+=.5*(d|0)),h=0;h<b;h+=1)(l&y)===(l&B)&&(D=G[l&B]|0,D>=n&&(a[r]=f[D])),r+=1,l+=q,(l&y)===(l&B)&&(D=u[d&z][l&B]|0,D>=n&&(a[r]=f[D])),r+=1,l+=q,(l&y)===(l&B)&&(D=u[d&z][l&B]|0,D>=n&&(a[r]=f[D])),r+=1,l+=q,(l&y)===(l&B)&&(D=u[d&z][l&B]|0,D>=n&&(a[r]=f[D])),r+=1,l+=q,(l&y)===(l&B)&&(D=u[d&z][l&B]|0,D>=n&&(a[r]=f[D])),r+=1,l+=q,(l&y)===(l&B)&&(D=u[d&z][l&B]|0,D>=n&&(a[r]=f[D])),r+=1,l+=q,(l&y)===(l&
B)&&(D=u[d&z][l&B]|0,D>=n&&(a[r]=f[D])),r+=1,l+=q,(l&y)===(l&B)&&(D=u[d&z][l&B]|0,D>=n&&(a[r]=f[D])),r+=1,l+=q;else r+=b<<3;d=x+=q}};n.prototype.Bj=function(c,e){var b=this.o>>3,f=this.zd,a=this.Fb,g=0,k=0,h=0,l=0,d=0,q=0,x=0,C=0,n=0,r=0,p=0,t=1,v=1,D=0,B=0,z=this.va&~e,y=this.Ba&~e,w=c,u=this.j;1<this.b&&(t=this.m);q=Math.sin(this.T/180*Math.PI)/this.j;x=Math.cos(this.T/180*Math.PI)/this.j;C=-(this.o/2*-q+this.l/2*x)+this.K;n=-(this.o/2*x+this.l/2*q)+this.H;1<this.m&&1<this.b&&(D=.4/(this.m-1),v=
.6);this.xb(v);p=0;d=C;for(k=0;k<this.l;k+=1){l=n;for(h=0;h<b;h+=1)B=w[d&y][l&z]|0,a[p]=f[B],p+=1,l+=x,d-=q,B=w[d&y][l&z]|0,a[p]=f[B],p+=1,l+=x,d-=q,B=w[d&y][l&z]|0,a[p]=f[B],p+=1,l+=x,d-=q,B=w[d&y][l&z]|0,a[p]=f[B],p+=1,l+=x,d-=q,B=w[d&y][l&z]|0,a[p]=f[B],p+=1,l+=x,d-=q,B=w[d&y][l&z]|0,a[p]=f[B],p+=1,l+=x,d-=q,B=w[d&y][l&z]|0,a[p]=f[B],p+=1,l+=x,d-=q,B=w[d&y][l&z]|0,a[p]=f[B],p+=1,l+=x,d-=q;n+=q;d=C+=x}this.hb&&this.Gd()&&this.Db();for(g=1;g<t;g+=1)for(r=-1!==this.u?this.u/this.m*g|0:(this.X+1)/
this.m*g|0,v+=D,this.xb(v),q/=this.b,x/=this.b,u*=this.b,.125>u?(w=this.Ra,e=15):.25>u?(w=this.xa,e=7):.5>u?(w=this.wa,e=3):1>u?(w=this.s,e=1):(w=this.ga,e=0),z=this.va&~e,y=this.Ba&~e,C=-(this.o/2*-q+this.l/2*x)+this.K,n=-(this.o/2*x+this.l/2*q)+this.H,p=0,d=C,k=0;k<this.l;k+=1){l=n;for(h=0;h<b;h+=1)B=w[d&y][l&z]|0,B>=r&&(a[p]=f[B]),p+=1,l+=x,d-=q,B=w[d&y][l&z]|0,B>=r&&(a[p]=f[B]),p+=1,l+=x,d-=q,B=w[d&y][l&z]|0,B>=r&&(a[p]=f[B]),p+=1,l+=x,d-=q,B=w[d&y][l&z]|0,B>=r&&(a[p]=f[B]),p+=1,l+=x,d-=q,B=w[d&
y][l&z]|0,B>=r&&(a[p]=f[B]),p+=1,l+=x,d-=q,B=w[d&y][l&z]|0,B>=r&&(a[p]=f[B]),p+=1,l+=x,d-=q,B=w[d&y][l&z]|0,B>=r&&(a[p]=f[B]),p+=1,l+=x,d-=q,B=w[d&y][l&z]|0,B>=r&&(a[p]=f[B]),p+=1,l+=x,d-=q;n+=q;d=C+=x}};n.prototype.Ij=function(c,e){var b=this.o>>3,f=this.zd,a=this.Fb,g=0,k=0,h=0,l=0,d=h=0,q=0,x=0,C=0,n=0,r=1,p=1,t=0,v=0,D=this.va&~e,B=this.Ba&~e,z=c,y=null,w=this.j;1<this.b&&(r=this.m);d=1/this.j;q=-(this.l/2*d)+this.K;x=-(this.o/2*d)+this.H;1<this.m&&1<this.b&&(t=.4/(this.m-1),p=.6);this.xb(p);
n=0;h=q;for(k=0;k<this.l;k+=1){y=z[h&B];l=x;this.I&&(l+=.5*(h|0));for(h=0;h<b;h+=1)v=y[l&D]|0,a[n]=f[v],n+=1,l+=d,v=y[l&D]|0,a[n]=f[v],n+=1,l+=d,v=y[l&D]|0,a[n]=f[v],n+=1,l+=d,v=y[l&D]|0,a[n]=f[v],n+=1,l+=d,v=y[l&D]|0,a[n]=f[v],n+=1,l+=d,v=y[l&D]|0,a[n]=f[v],n+=1,l+=d,v=y[l&D]|0,a[n]=f[v],n+=1,l+=d,v=y[l&D]|0,a[n]=f[v],n+=1,l+=d;h=q+=d}this.hb&&this.Gd()&&this.Db();for(g=1;g<r;g+=1)for(C=-1!==this.u?this.u/this.m*g|0:(this.X+1)/this.m*g|0,p+=t,this.xb(p),d/=this.b,w*=this.b,.125>w?(z=this.Ra,e=15):
.25>w?(z=this.xa,e=7):.5>w?(z=this.wa,e=3):1>w?(z=this.s,e=1):(z=this.ga,e=0),D=this.va&~e,B=this.Ba&~e,q=-(this.l/2*d)+this.K,x=-(this.o/2*d)+this.H,n=0,h=q,k=0;k<this.l;k+=1){y=z[h&B];l=x;this.I&&(l+=.5*(h|0));for(h=0;h<b;h+=1)v=y[l&D]|0,v>=C&&(a[n]=f[v]),n+=1,l+=d,v=y[l&D]|0,v>=C&&(a[n]=f[v]),n+=1,l+=d,v=y[l&D]|0,v>=C&&(a[n]=f[v]),n+=1,l+=d,v=y[l&D]|0,v>=C&&(a[n]=f[v]),n+=1,l+=d,v=y[l&D]|0,v>=C&&(a[n]=f[v]),n+=1,l+=d,v=y[l&D]|0,v>=C&&(a[n]=f[v]),n+=1,l+=d,v=y[l&D]|0,v>=C&&(a[n]=f[v]),n+=1,l+=d,
v=y[l&D]|0,v>=C&&(a[n]=f[v]),n+=1,l+=d;h=q+=d}};n.prototype.fb=function(c,e){var b=Math.sin(this.T/180*Math.PI)/this.j,f=Math.cos(this.T/180*Math.PI)/this.j,a=this.o,g=this.l,k=-(this.o/2*-b+this.l/2*f)+this.K,h=-(this.o/2*f+this.l/2*b)+this.H,l=k+a*-b,d=h+a*f,q=k+g*f,g=h+g*b,b=q+a*-b,f=g+a*f,a=k,x=h;d<x&&(x=d);g<x&&(x=g);f<x&&(x=g);d>h&&(h=d);g>h&&(h=g);f>h&&(h=f);l<a&&(a=l);q<a&&(a=q);b<a&&(a=b);l>k&&(k=l);q>k&&(k=q);b>k&&(k=b);0>(x|0)||(h|0)>=this.width||0>(a|0)||(k|0)>=this.height?0===this.T?
this.zj(c,e):this.wj(c,e):0===this.T?this.Ij(c,e):this.Bj(c,e)};n.prototype.ej=function(c,e,b){var f=this.o>>3,a=this.zd,g=this.Fb,k=0,h=0,l=0,d=0,q=0,x=0,C=0,n=0,r=0,p=0,k=ViewConstants.qa[3]+128,p=ViewConstants.qa[4]+128,t=ViewConstants.qa[5]+128,v=ViewConstants.qa[6]+128,D=0,B=1,z=1,y=0,w=0,u=0,w=0,G=this.ca,A=this.va&~b,E=this.Ba&~b,F=~b;b=~b;var J=0,K=this.j;1<this.b&&(B=this.m);x=Math.sin(this.T/180*Math.PI)/this.j;C=Math.cos(this.T/180*Math.PI)/this.j;n=-(this.o/2*-x+this.l/2*C)+this.K;r=-(this.o/
2*C+this.l/2*x)+this.H;1<this.m&&1<this.b&&(y=.4/(this.m-1),z=.6);this.xb(z);J=8192>this.width?a[0]|0:this.Df|0;D=0;q=n;for(h=0;h<this.l;h+=1){d=r;for(l=0;l<f;l+=1)(d&F)===(d&A)&&(q&b)===(q&E)?(w=e[q&E][d&A],u=c[q&E][d&A],u===p||u===v?(w>=G&&(u=k),w=a[u]|0):u===k||u===t?(w<G&&(u=p),w=a[u]|0):w=a[w]|0,g[D]=w):g[D]=J,D+=1,d+=C,q-=x,(d&F)===(d&A)&&(q&b)===(q&E)?(w=e[q&E][d&A],u=c[q&E][d&A],u===p||u===v?(w>=G&&(u=k),w=a[u]|0):u===k||u===t?(w<G&&(u=p),w=a[u]|0):w=a[w]|0,g[D]=w):g[D]=J,D+=1,d+=C,q-=x,(d&
F)===(d&A)&&(q&b)===(q&E)?(w=e[q&E][d&A],u=c[q&E][d&A],u===p||u===v?(w>=G&&(u=k),w=a[u]|0):u===k||u===t?(w<G&&(u=p),w=a[u]|0):w=a[w]|0,g[D]=w):g[D]=J,D+=1,d+=C,q-=x,(d&F)===(d&A)&&(q&b)===(q&E)?(w=e[q&E][d&A],u=c[q&E][d&A],u===p||u===v?(w>=G&&(u=k),w=a[u]|0):u===k||u===t?(w<G&&(u=p),w=a[u]|0):w=a[w]|0,g[D]=w):g[D]=J,D+=1,d+=C,q-=x,(d&F)===(d&A)&&(q&b)===(q&E)?(w=e[q&E][d&A],u=c[q&E][d&A],u===p||u===v?(w>=G&&(u=k),w=a[u]|0):u===k||u===t?(w<G&&(u=p),w=a[u]|0):w=a[w]|0,g[D]=w):g[D]=J,D+=1,d+=C,q-=x,
(d&F)===(d&A)&&(q&b)===(q&E)?(w=e[q&E][d&A],u=c[q&E][d&A],u===p||u===v?(w>=G&&(u=k),w=a[u]|0):u===k||u===t?(w<G&&(u=p),w=a[u]|0):w=a[w]|0,g[D]=w):g[D]=J,D+=1,d+=C,q-=x,(d&F)===(d&A)&&(q&b)===(q&E)?(w=e[q&E][d&A],u=c[q&E][d&A],u===p||u===v?(w>=G&&(u=k),w=a[u]|0):u===k||u===t?(w<G&&(u=p),w=a[u]|0):w=a[w]|0,g[D]=w):g[D]=J,D+=1,d+=C,q-=x,(d&F)===(d&A)&&(q&b)===(q&E)?(w=e[q&E][d&A],u=c[q&E][d&A],u===p||u===v?(w>=G&&(u=k),w=a[u]|0):u===k||u===t?(w<G&&(u=p),w=a[u]|0):w=a[w]|0,g[D]=w):g[D]=J,D+=1,d+=C,q-=
x;r+=x;q=n+=C}this.hb&&this.Gd()&&this.Db();for(k=1;k<B;k+=1)for(p=-1!==this.u?this.u/this.m*k|0:(this.X+1)/this.m*k|0,z+=y,this.xb(z),x/=this.b,C/=this.b,K*=this.b,.125>K?(e=this.Ra,b=15):.25>K?(e=this.xa,b=7):.5>K?(e=this.wa,b=3):1>K?(e=this.s,b=1):(e=this.ga,b=0),A=this.va&~b,E=this.Ba&~b,F=~b,b=~b,n=-(this.o/2*-x+this.l/2*C)+this.K,r=-(this.o/2*C+this.l/2*x)+this.H,D=0,q=n,h=0;h<this.l;h+=1){d=r;for(l=0;l<f;l+=1)(d&F)===(d&A)&&(q&b)===(q&E)&&(w=e[q&E][d&A]|0,w>=p&&(g[D]=a[w])),D+=1,d+=C,q-=x,
(d&F)===(d&A)&&(q&b)===(q&E)&&(w=e[q&E][d&A]|0,w>=p&&(g[D]=a[w])),D+=1,d+=C,q-=x,(d&F)===(d&A)&&(q&b)===(q&E)&&(w=e[q&E][d&A]|0,w>=p&&(g[D]=a[w])),D+=1,d+=C,q-=x,(d&F)===(d&A)&&(q&b)===(q&E)&&(w=e[q&E][d&A]|0,w>=p&&(g[D]=a[w])),D+=1,d+=C,q-=x,(d&F)===(d&A)&&(q&b)===(q&E)&&(w=e[q&E][d&A]|0,w>=p&&(g[D]=a[w])),D+=1,d+=C,q-=x,(d&F)===(d&A)&&(q&b)===(q&E)&&(w=e[q&E][d&A]|0,w>=p&&(g[D]=a[w])),D+=1,d+=C,q-=x,(d&F)===(d&A)&&(q&b)===(q&E)&&(w=e[q&E][d&A]|0,w>=p&&(g[D]=a[w])),D+=1,d+=C,q-=x,(d&F)===(d&A)&&
(q&b)===(q&E)&&(w=e[q&E][d&A]|0,w>=p&&(g[D]=a[w])),D+=1,d+=C,q-=x;r+=x;q=n+=C}};n.prototype.ij=function(c,e,b){var f=this.o>>3,a=this.zd,g=this.Fb,k=0,h=0,l=0,d=0,q=0,x=0,C=0,n=0,r=0,p=0,k=ViewConstants.qa[3]+128,p=ViewConstants.qa[4]+128,t=ViewConstants.qa[5]+128,v=ViewConstants.qa[6]+128,D=0,B=1,z=1,y=0,w=0,u=0,w=0,G=this.ca,A=this.va&~b;b=this.Ba&~b;var E=this.j;1<this.b&&(B=this.m);x=Math.sin(this.T/180*Math.PI)/this.j;C=Math.cos(this.T/180*Math.PI)/this.j;n=-(this.o/2*-x+this.l/2*C)+this.K;r=
-(this.o/2*C+this.l/2*x)+this.H;1<this.m&&1<this.b&&(y=.4/(this.m-1),z=.6);this.xb(z);D=0;q=n;for(h=0;h<this.l;h+=1){d=r;for(l=0;l<f;l+=1)w=e[q&b][d&A],u=c[q&b][d&A],u===p||u===v?(w>=G&&(u=k),w=a[u]|0):u===k||u===t?(w<G&&(u=p),w=a[u]|0):w=a[w]|0,g[D]=w,D+=1,d+=C,q-=x,w=e[q&b][d&A],u=c[q&b][d&A],u===p||u===v?(w>=G&&(u=k),w=a[u]|0):u===k||u===t?(w<G&&(u=p),w=a[u]|0):w=a[w]|0,g[D]=w,D+=1,d+=C,q-=x,w=e[q&b][d&A],u=c[q&b][d&A],u===p||u===v?(w>=G&&(u=k),w=a[u]|0):u===k||u===t?(w<G&&(u=p),w=a[u]|0):w=a[w]|
0,g[D]=w,D+=1,d+=C,q-=x,w=e[q&b][d&A],u=c[q&b][d&A],u===p||u===v?(w>=G&&(u=k),w=a[u]|0):u===k||u===t?(w<G&&(u=p),w=a[u]|0):w=a[w]|0,g[D]=w,D+=1,d+=C,q-=x,w=e[q&b][d&A],u=c[q&b][d&A],u===p||u===v?(w>=G&&(u=k),w=a[u]|0):u===k||u===t?(w<G&&(u=p),w=a[u]|0):w=a[w]|0,g[D]=w,D+=1,d+=C,q-=x,w=e[q&b][d&A],u=c[q&b][d&A],u===p||u===v?(w>=G&&(u=k),w=a[u]|0):u===k||u===t?(w<G&&(u=p),w=a[u]|0):w=a[w]|0,g[D]=w,D+=1,d+=C,q-=x,w=e[q&b][d&A],u=c[q&b][d&A],u===p||u===v?(w>=G&&(u=k),w=a[u]|0):u===k||u===t?(w<G&&(u=p),
w=a[u]|0):w=a[w]|0,g[D]=w,D+=1,d+=C,q-=x,w=e[q&b][d&A],u=c[q&b][d&A],u===p||u===v?(w>=G&&(u=k),w=a[u]|0):u===k||u===t?(w<G&&(u=p),w=a[u]|0):w=a[w]|0,g[D]=w,D+=1,d+=C,q-=x;r+=x;q=n+=C}this.hb&&this.Gd()&&this.Db();for(k=1;k<B;k+=1)for(p=-1!==this.u?this.u/this.m*k|0:(this.X+1)/this.m*k|0,z+=y,this.xb(z),x/=this.b,C/=this.b,E*=this.b,.125>E?(e=this.Ra,b=15):.25>E?(e=this.xa,b=7):.5>E?(e=this.wa,b=3):1>E?(e=this.s,b=1):(e=this.ga,b=0),A=this.va&~b,b=this.Ba&~b,n=-(this.o/2*-x+this.l/2*C)+this.K,r=-(this.o/
2*C+this.l/2*x)+this.H,D=0,q=n,h=0;h<this.l;h+=1){d=r;for(l=0;l<f;l+=1)w=e[q&b][d&A]|0,w>=p&&(g[D]=a[w]),D+=1,d+=C,q-=x,w=e[q&b][d&A]|0,w>=p&&(g[D]=a[w]),D+=1,d+=C,q-=x,w=e[q&b][d&A]|0,w>=p&&(g[D]=a[w]),D+=1,d+=C,q-=x,w=e[q&b][d&A]|0,w>=p&&(g[D]=a[w]),D+=1,d+=C,q-=x,w=e[q&b][d&A]|0,w>=p&&(g[D]=a[w]),D+=1,d+=C,q-=x,w=e[q&b][d&A]|0,w>=p&&(g[D]=a[w]),D+=1,d+=C,q-=x,w=e[q&b][d&A]|0,w>=p&&(g[D]=a[w]),D+=1,d+=C,q-=x,w=e[q&b][d&A]|0,w>=p&&(g[D]=a[w]),D+=1,d+=C,q-=x;r+=x;q=n+=C}};n.prototype.pj=function(c,
e,b){var f=this.o>>3,a=this.zd,g=this.Fb,k=0,h=0,l=0,d=0,q=l=0,x=0,C=0,n=0,k=ViewConstants.qa[3]+128,n=ViewConstants.qa[4]+128,r=ViewConstants.qa[5]+128,p=ViewConstants.qa[6]+128,t=0,v=1,D=1,B=0,z=0,y=0,z=0,w=this.ca,u=this.va&~b;b=this.Ba&~b;var G=null,A=null,E=this.j;1<this.b&&(v=this.m);q=1/this.j;x=-(this.l/2*q)+this.K;C=-(this.o/2*q)+this.H;1<this.m&&1<this.b&&(B=.4/(this.m-1),D=.6);this.xb(D);t=0;l=x;for(h=0;h<this.l;h+=1){G=e[l&b];A=c[l&b];d=C;this.I&&(d+=.5*(l|0));for(l=0;l<f;l+=1)z=G[d&u],
y=A[d&u],y===n||y===p?(z>=w&&(y=k),z=a[y]|0):y===k||y===r?(z<w&&(y=n),z=a[y]|0):z=a[z]|0,g[t]=z,t+=1,d+=q,z=G[d&u],y=A[d&u],y===n||y===p?(z>=w&&(y=k),z=a[y]|0):y===k||y===r?(z<w&&(y=n),z=a[y]|0):z=a[z]|0,g[t]=z,t+=1,d+=q,z=G[d&u],y=A[d&u],y===n||y===p?(z>=w&&(y=k),z=a[y]|0):y===k||y===r?(z<w&&(y=n),z=a[y]|0):z=a[z]|0,g[t]=z,t+=1,d+=q,z=G[d&u],y=A[d&u],y===n||y===p?(z>=w&&(y=k),z=a[y]|0):y===k||y===r?(z<w&&(y=n),z=a[y]|0):z=a[z]|0,g[t]=z,t+=1,d+=q,z=G[d&u],y=A[d&u],y===n||y===p?(z>=w&&(y=k),z=a[y]|
0):y===k||y===r?(z<w&&(y=n),z=a[y]|0):z=a[z]|0,g[t]=z,t+=1,d+=q,z=G[d&u],y=A[d&u],y===n||y===p?(z>=w&&(y=k),z=a[y]|0):y===k||y===r?(z<w&&(y=n),z=a[y]|0):z=a[z]|0,g[t]=z,t+=1,d+=q,z=G[d&u],y=A[d&u],y===n||y===p?(z>=w&&(y=k),z=a[y]|0):y===k||y===r?(z<w&&(y=n),z=a[y]|0):z=a[z]|0,g[t]=z,t+=1,d+=q,z=G[d&u],y=A[d&u],y===n||y===p?(z>=w&&(y=k),z=a[y]|0):y===k||y===r?(z<w&&(y=n),z=a[y]|0):z=a[z]|0,g[t]=z,t+=1,d+=q;l=x+=q}this.hb&&this.Gd()&&this.Db();for(k=1;k<v;k+=1)for(n=-1!==this.u?this.u/this.m*k|0:(this.X+
1)/this.m*k|0,D+=B,this.xb(D),q/=this.b,E*=this.b,.125>E?(e=this.Ra,b=15):.25>E?(e=this.xa,b=7):.5>E?(e=this.wa,b=3):1>E?(e=this.s,b=1):(e=this.ga,b=0),u=this.va&~b,b=this.Ba&~b,x=-(this.l/2*q)+this.K,C=-(this.o/2*q)+this.H,t=0,l=x,h=0;h<this.l;h+=1){G=e[l&b];d=C;this.I&&(d+=.5*(l|0));for(l=0;l<f;l+=1)z=G[d&u]|0,z>=n&&(g[t]=a[z]),t+=1,d+=q,z=G[d&u]|0,z>=n&&(g[t]=a[z]),t+=1,d+=q,z=G[d&u]|0,z>=n&&(g[t]=a[z]),t+=1,d+=q,z=G[d&u]|0,z>=n&&(g[t]=a[z]),t+=1,d+=q,z=G[d&u]|0,z>=n&&(g[t]=a[z]),t+=1,d+=q,z=G[d&
u]|0,z>=n&&(g[t]=a[z]),t+=1,d+=q,z=G[d&u]|0,z>=n&&(g[t]=a[z]),t+=1,d+=q,z=G[d&u]|0,z>=n&&(g[t]=a[z]),t+=1,d+=q;l=x+=q}};n.prototype.hj=function(c,e,b){var f=this.o>>3,a=this.zd,g=this.Fb,k=0,h=0,l=0,d=0,q=l=0,x=0,C=0,n=0,k=ViewConstants.qa[3]+128,n=ViewConstants.qa[4]+128,r=ViewConstants.qa[5]+128,p=ViewConstants.qa[6]+128,t=0,v=1,D=1,B=0,z=0,y=0,w=z=0,u=this.ca,G=this.va&~b,A=this.Ba&~b,E=~b;b=~b;var F=null,J=null,K=this.j;1<this.b&&(v=this.m);q=1/this.j;x=-(this.l/2*q)+this.K;C=-(this.o/2*q)+this.H;
1<this.m&&1<this.b&&(B=.4/(this.m-1),D=.6);this.xb(D);w=8192>this.width?a[0]|0:this.Df|0;t=0;l=x;for(h=0;h<this.l;h+=1){if((l&b)===(l&A))for(F=e[l&A],J=c[l&A],d=C,this.I&&(d+=.5*(l|0)),l=0;l<f;l+=1)(d&E)===(d&G)?(z=F[d&G],y=J[d&G],y===n||y===p?(z>=u&&(y=k),z=a[y]|0):y===k||y===r?(z<u&&(y=n),z=a[y]|0):z=a[z]|0):z=w,g[t]=z,t+=1,d+=q,(d&E)===(d&G)?(z=F[d&G],y=J[d&G],y===n||y===p?(z>=u&&(y=k),z=a[y]|0):y===k||y===r?(z<u&&(y=n),z=a[y]|0):z=a[z]|0):z=w,g[t]=z,t+=1,d+=q,(d&E)===(d&G)?(z=F[d&G],y=J[d&G],
y===n||y===p?(z>=u&&(y=k),z=a[y]|0):y===k||y===r?(z<u&&(y=n),z=a[y]|0):z=a[z]|0):z=w,g[t]=z,t+=1,d+=q,(d&E)===(d&G)?(z=F[d&G],y=J[d&G],y===n||y===p?(z>=u&&(y=k),z=a[y]|0):y===k||y===r?(z<u&&(y=n),z=a[y]|0):z=a[z]|0):z=w,g[t]=z,t+=1,d+=q,(d&E)===(d&G)?(z=F[d&G],y=J[d&G],y===n||y===p?(z>=u&&(y=k),z=a[y]|0):y===k||y===r?(z<u&&(y=n),z=a[y]|0):z=a[z]|0):z=w,g[t]=z,t+=1,d+=q,(d&E)===(d&G)?(z=F[d&G],y=J[d&G],y===n||y===p?(z>=u&&(y=k),z=a[y]|0):y===k||y===r?(z<u&&(y=n),z=a[y]|0):z=a[z]|0):z=w,g[t]=z,t+=1,
d+=q,(d&E)===(d&G)?(z=F[d&G],y=J[d&G],y===n||y===p?(z>=u&&(y=k),z=a[y]|0):y===k||y===r?(z<u&&(y=n),z=a[y]|0):z=a[z]|0):z=w,g[t]=z,t+=1,d+=q,(d&E)===(d&G)?(z=F[d&G],y=J[d&G],y===n||y===p?(z>=u&&(y=k),z=a[y]|0):y===k||y===r?(z<u&&(y=n),z=a[y]|0):z=a[z]|0):z=w,g[t]=z,t+=1,d+=q;else for(l=0;l<f;l+=1)g[t]=w,t+=1,g[t]=w,t+=1,g[t]=w,t+=1,g[t]=w,t+=1,g[t]=w,t+=1,g[t]=w,t+=1,g[t]=w,t+=1,g[t]=w,t+=1;l=x+=q}this.hb&&this.Gd()&&this.Db();for(k=1;k<v;k+=1)for(n=-1!==this.u?this.u/this.m*k|0:(this.X+1)/this.m*
k|0,D+=B,this.xb(D),q/=this.b,K*=this.b,.125>K?(e=this.Ra,b=15):.25>K?(e=this.xa,b=7):.5>K?(e=this.wa,b=3):1>K?(e=this.s,b=1):(e=this.ga,b=0),G=this.va&~b,A=this.Ba&~b,E=~b,b=~b,x=-(this.l/2*q)+this.K,C=-(this.o/2*q)+this.H,t=0,l=x,h=0;h<this.l;h+=1){if((l&b)===(l&A))for(F=e[l&A],d=C,this.I&&(d+=.5*(l|0)),l=0;l<f;l+=1)(d&E)===(d&G)&&(z=F[d&G]|0,z>=n&&(g[t]=a[z])),t+=1,d+=q,(d&E)===(d&G)&&(z=F[d&G]|0,z>=n&&(g[t]=a[z])),t+=1,d+=q,(d&E)===(d&G)&&(z=F[d&G]|0,z>=n&&(g[t]=a[z])),t+=1,d+=q,(d&E)===(d&G)&&
(z=F[d&G]|0,z>=n&&(g[t]=a[z])),t+=1,d+=q,(d&E)===(d&G)&&(z=F[d&G]|0,z>=n&&(g[t]=a[z])),t+=1,d+=q,(d&E)===(d&G)&&(z=F[d&G]|0,z>=n&&(g[t]=a[z])),t+=1,d+=q,(d&E)===(d&G)&&(z=F[d&G]|0,z>=n&&(g[t]=a[z])),t+=1,d+=q,(d&E)===(d&G)&&(z=F[d&G]|0,z>=n&&(g[t]=a[z])),t+=1,d+=q;else t+=f<<3;l=x+=q}};n.prototype.Sc=function(c,e,b){var f=Math.sin(this.T/180*Math.PI)/this.j,a=Math.cos(this.T/180*Math.PI)/this.j,g=this.o,k=this.l,h=-(this.o/2*-f+this.l/2*a)+this.K,l=-(this.o/2*a+this.l/2*f)+this.H,d=h+g*-f,q=l+g*a,
x=h+k*a,k=l+k*f,f=x+g*-f,a=k+g*a,g=h,C=l;q<C&&(C=q);k<C&&(C=k);a<C&&(C=k);q>l&&(l=q);k>l&&(l=k);a>l&&(l=a);d<g&&(g=d);x<g&&(g=x);f<g&&(g=f);d>h&&(h=d);x>h&&(h=x);f>h&&(h=f);0>(C|0)||(l|0)>=this.width||0>(g|0)||(h|0)>=this.height?0===this.T?this.hj(c,e,b):this.ej(c,e,b):0===this.T?this.pj(c,e,b):this.ij(c,e,b)};n.prototype.bl=function(){var c=0,e,b,f;if(!this.Eb.data.buffer)for(b=this.Eb.data,f=this.Pd,e=f.length,c=0;c<e;)b[c]=f[c],c+=1,b[c]=f[c],c+=1,b[c]=f[c],c+=1,b[c]=f[c],c+=1;this.Md.putImageData(this.Eb,
0,0)};n.prototype.Af=function(){for(var c=0,e=0,b=this.l,f=this.o,a=this.Fb,g=this.od,c=0;c<b;c+=1)a.set(g,e),e+=f};window.LifeConstants=p;window.Life=n})();(function(){function B(t){this.j=t.replace(/&amp;/gi,"&");this.b=this.j.match(/\S+/g);this.current=0}B.prototype.oa=function(){var t="";this.b&&this.current<this.b.length&&(t=this.b[this.current],this.current+=1);return t};B.prototype.kf=function(){var t="";this.b&&this.current<this.b.length&&(t=this.b[this.current]);return t};B.prototype.fl=function(t){var f=!1;if(this.b)for(;this.current<this.b.length&&!f;)this.b[this.current]===t&&(f=!0),this.current+=1;return f};B.prototype.c=function(t){return!isNaN(parseFloat(t))&&
isFinite(t)};B.prototype.f=function(t){var f=!1,n=t.indexOf("/"),p="",c="";-1!==n&&(p=t.substr(0,n),c=t.substr(n+1),f=this.c(p)&&this.c(c));return f};B.prototype.Hk=function(t){var f=0,n=0,p="",n="";this.f(t)?(n=t.indexOf("/"),p=t.substr(0,n),n=t.substr(n+1),0!==n&&(f=p/n)):this.c(t)&&(f=parseFloat(t));return f};B.prototype.W=function(){var t=0,t=this.oa();return t=this.Hk(t)};B.prototype.V=function(){var t=!1,f="";this.b&&this.current<this.b.length&&(f=this.b[this.current],this.f(f)?t=!0:t=this.c(f));
return t};window.Script=B})();(function(){function B(f){this.c=f;this.tl=!1;this.B=this.y=this.x=0;this.depth=this.m=this.zoom=1;this.Ga=0;this.Aa=60;this.step=1;this.Na=this.ma=0;this.zb="";this.sh=this.ge=this.ee=this.qk=this.qm=this.pm=this.eh=this.Qf=this.De=this.yg=this.Mg=this.$b=this.rg=this.fe=this.He=this.uc=this.tc=this.sc=this.Pb=!1}function t(){this.da=[];this.mc=[];this.current=new B(this);this.s=new B(this);this.c=new B(this);this.f=!1;this.Ce=0}B.prototype.set=function(f){this.x=f.x;this.y=f.y;this.sc=f.sc;this.tc=
f.tc;this.uc=f.uc;this.Pb=f.Pb;this.B=f.B;this.zoom=f.zoom;this.m=f.m;this.depth=f.depth;this.Ga=f.Ga;this.Aa=f.Aa;this.ma=f.ma;this.Na=f.Na;this.zb=f.zb};B.prototype.b=function(f,n,p){var c=f.Na+0,e=n.Na+0,b=f.B+0,m=n.B+0,a=1,g=1,k=1,h=1,l=1;e!==c&&(a=(p-c)/(e-c)+0,g=this.c.Jk(a)+0);n.sc||n.Pb?k=a:k=g;n.tc||n.Pb?h=a:h=g;n.uc||n.Pb?l=a:l=g;this.x=f.x+k*(n.x-f.x);this.y=f.y+h*(n.y-f.y);this.zoom=f.zoom*Math.pow(n.zoom/f.zoom,l);180<m-b?b+=360:-180>m-b&&(m+=360);this.B=(b+g*(m-b))%360;this.m=f.m+a*
(n.m-f.m)|0;this.depth=f.depth+a*(n.depth-f.depth);this.Ga=n.Ga;this.Aa=n.Aa;this.step=n.step;this.ma=f.ma+a*(n.ma-f.ma)|0;this.Na=p;this.zb=n.zb;this.Pb=n.Pb};t.prototype.Lh=function(){return new B(this)};t.prototype.Jk=function(f){return-2*Math.pow(f,3)+3*Math.pow(f,2)+0*f+0};t.prototype.reset=function(){this.da=[];this.mc=[];this.f=!1;this.Ce=0};t.prototype.En=function(){return this.da[this.da.length-1]};t.prototype.el=function(f){var n=0,n=this.j(f),p=this.da[n],c=null;f>p.ma?n=p.Na+1E3*(f-p.ma)/
(p.Aa*p.step):0<n?(c=this.da[n-1],n=c.Na+1E3*(f-c.ma)/(p.Aa*p.step)):n=1E3*f/(p.Aa*p.step);return n};t.prototype.Uk=function(f,n,p,c,e,b,m,a,g,k,h){var l=this.s,d=0;l.x=f;l.y=n;l.zoom=p;l.B=c;l.Aa=a;l.step=g;l.m=e;l.depth=b;l.Ga=m;l.ma=k;this.f&&(h=this.c.Na);l.Na=h-1E3;this.update(h,k);this.c.set(this.current);this.c.Pb=!1;this.c.Na=h;this.f=!0;return d=l.Na};t.prototype.wn=function(){return this.da[0]};t.prototype.add=function(f){f.tl?this.mc[this.mc.length]=f:this.da[this.da.length]=f};t.prototype.Oi=
function(f){var n=!1;this.Ce>=this.da.length-1&&f>=this.da[this.Ce].Na&&(n=!0);return n};t.prototype.b=function(f){var n=null;return n=f===(f|0)?String(f|0):String(f.toFixed(1))};t.prototype.Sn=function(f,n){var p="",c=null;0<=f&&f<this.mc.length&&(c=this.mc[f],p="X "+c.x+" Y "+c.y+" Z "+this.b(c.zoom),""!==c.zb&&(p+=" "+n+c.zb+n));return p};t.prototype.Uo=function(f,n){var p="",c=null,e=null;0<=f&&f<this.da.length&&(c=this.da[f],0<f?(e=this.da[f-1],p=c.ma===e.ma?"P "+this.b((c.Na-e.Na|0)/1E3):"T "+
c.ma,c.Pb?p+=" F":(c.x!==e.x&&(p+=" X "+-c.x),c.y!==e.y&&(p+=" Y "+-c.y),c.zoom!==e.zoom&&(p+=" Z "+this.b(c.zoom))),c.B!==e.B&&(p+=" A "+c.B),c.m!==e.m&&(p+=" L "+c.m),c.depth!==e.depth&&(p+=" D "+this.b(c.depth)),c.Ga!==e.Ga&&(p+=" C "+c.Ga),c.Aa!==e.Aa&&(p+=" G "+c.Aa),c.step!==e.step&&(p+=" S "+c.step),""!==c.zb&&(p+=" "+n+c.zb+n)):p="T "+c.ma+" X "+-c.x+" Y "+-c.y+" Z "+this.b(c.zoom)+" A "+c.B+" L "+c.m+" D "+this.b(c.depth)+" C "+c.Ga+" G "+c.Aa+" S "+c.step);return p};t.prototype.update=function(f,
n){var p=this.da.length,c=!1,e=this.Ce,b=null,m=!1;if(this.f)this.current.b(this.s,this.c,f),f>=this.c.Na&&(this.f=!1);else{for(;e<p&&!c;)b=this.da[e],b.Na>=f?c=!0:e+=1;c?0<e?(this.da[e].Pb&&(this.da[e].x=this.current.x,this.da[e].y=this.current.y,this.da[e].zoom=this.current.zoom),this.current.b(this.da[e-1],this.da[e],f)):(e=0,this.current.set(this.da[e])):(e=p-1,this.current.set(this.da[e]),n>=this.current.ma&&(m=!0));this.Ce=e}return m};t.prototype.j=function(f){for(var n=0,p=!1,c=this.da,e=this.da.length;n<
e&&!p;)c[n].ma>=f?p=!0:n+=1;p||(n=e-1);return n};t.prototype.vn=function(f){this.Ce=this.j(f)};t.prototype.Un=function(f){for(var n=0,p=null,c=null,e=this.da,b=this.da.length,n=1;n<b;n+=1)p=e[n-1],c=e[n],c.He||(c.x=p.x),c.fe||(c.y=p.y),c.ee||(c.sc=p.sc),c.ge||(c.tc=p.tc),c.sh||(c.uc=p.uc),c.rg||(c.B=p.B),c.$b||(c.zoom=p.zoom),c.Mg||(c.m=p.m),c.yg||(c.depth=p.depth),c.De||(c.Ga=p.Ga),c.Qf||(c.Aa=p.Aa),c.eh||(c.step=p.step),c.pm?c.ma<=p.ma&&(f[f.length]=[Keywords.Di+" "+c.ma,"target generation must be later than previous ("+
p.ma+")"]):c.ma=p.ma,c.Na=c.qm?1E3*c.Na+p.Na:p.Na+1E3*(c.ma-p.ma)/(c.Aa*c.step)};window.Waypoint=B;window.WaypointManager=t})();(function(){function B(t,f){var n=this;this.Ck=t;this.h=f;this.top=this.left=0;""!==t.style.left&&(this.left=parseInt(t.style.left,10));""!==t.style.top&&(this.top=parseInt(t.style.top,10));this.kb=this.Ye=!1;this.Jg=this.Ig=this.Lg=this.Kg=this.Sd=this.Rd=-1;registerEvent(t,"mousedown",function(f){n.c(n,f)},!1);registerEvent(document,"mousemove",function(f){n.f(n,f)},!1);registerEvent(document,"mouseup",function(f){n.j(n,f)},!1);registerEvent(t,"touchstart",function(f){n.b(n,f)},!1);registerEvent(t,
"touchmove",function(f){n.b(n,f)},!1);registerEvent(t,"touchend",function(f){n.b(n,f)},!1);registerEvent(window,"resize",function(){n.am(n)},!1)}B.prototype.am=function(t){t.jm(t.left,t.top,t.Ck)};B.prototype.Ko=function(t,f){var n=this.Ck,p=this.left,c=this.top;this.jm(p+t,c+f,n)};B.prototype.jm=function(t,f,n){var p=window.innerWidth-n.clientWidth,c=window.innerHeight-n.clientHeight;window.innerHeight<document.getElementsByTagName("body")[0].clientHeight&&(p-=21);0>t&&(t=0);0>f&&(f=0);t>p&&(t=p);
f>c&&(f=c);n.style.left=t+"px";n.style.top=f+"px";n.style.position="fixed";this.left=t;this.top=f};B.prototype.Um=function(){var t=this.Ck,f=t.offsetParent;this.offsetLeft=t.offsetLeft;for(this.offsetTop=t.offsetTop;f;)this.offsetLeft+=f.offsetLeft,this.offsetTop+=f.offsetTop,f=f.offsetParent;f=t.parentNode;if("fixed"===f.style.position)this.offsetLeft+=document.body.scrollLeft+document.documentElement.scrollLeft,this.offsetTop+=document.body.scrollTop+document.documentElement.scrollTop;else for(;"body"!==
f.tagName.toLowerCase();)this.offsetLeft-=f.scrollLeft,this.offsetTop-=f.scrollTop,f=f.parentNode};B.prototype.b=function(t,f){var n=null,p,c="";if("touchend"===f.type)c="mouseup",p=document.createEvent("MouseEvent"),p.initMouseEvent(c,!0,!0,window,1,t.Kg,t.Lg,t.Ig,t.Jg,!1,!1,!1,!1,0,null),f.target.dispatchEvent(p),f.preventDefault();else{if(1===f.touches.length)switch(f.type){case "touchstart":c="mousedown";break;case "touchmove":c="mousemove"}""!==c&&(n=f.changedTouches[0],p=document.createEvent("MouseEvent"),
p.initMouseEvent(c,!0,!0,window,1,n.screenX,n.screenY,n.clientX,n.clientY,!1,!1,!1,!1,0,null),n.target.dispatchEvent(p),f.preventDefault(),t.Kg=n.screenX,t.Lg=n.screenY,t.Ig=n.clientX,t.Jg=n.clientY)}};B.prototype.c=function(t,f){t.sf(t,f);t.kb=!0;t.h.jf=!0;f.stopPropagation&&f.stopPropagation();f.preventDefault()};B.prototype.j=function(t,f){t.Ye&&t.kb&&(t.sf(t,f),t.kb=!1,t.h.jf=!1,f.stopPropagation&&f.stopPropagation(),f.preventDefault())};B.prototype.f=function(t,f){if(t.Ye&&t.kb){var n=t.Rd,p=
t.Sd;t.sf(t,f);t.kb&&t.Ko(t.Rd-n,t.Sd-p);t.Rd=n;t.Sd=p;f.stopPropagation&&f.stopPropagation();f.preventDefault()}};B.prototype.sf=function(t,f){var n,p;f.pageX||f.pageY?(n=f.pageX,p=f.pageY):(n=f.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,p=f.clientY+document.body.scrollTop+document.documentElement.scrollTop);t.Um();n-=t.offsetLeft;p-=t.offsetTop;t.Rd=n-1|0;t.Sd=p-1|0};window.PopupWindow=B})();(function(){function B(){this.key=new Uint8Array(256);this.yj=this.vj=0}B.prototype.td=function(t){var f,n,p,c=this.key;for(f=0;256>f;f+=1)c[f]=f;for(f=n=0;256>f;f+=1)n=n+c[f]+t.charCodeAt(f%t.length)&255,p=c[f],c[f]=c[n],c[n]=p;this.yj=this.vj=0};B.prototype.random=function(){var t,f,n=0,p=1,c=this.key,e=this.vj,b=this.yj;for(t=0;8>t;t+=1)e=e+1&255,b=b+c[e]&255,f=c[e],c[e]=c[b],c[b]=f,n+=c[c[e]+c[b]&255]*p,p*=256;this.vj=e;this.yj=b;return n/1.8446744073709552E19};window.myRand=new B})();(function(){function B(){this.x=[];this.y=[];this.b=[];this.f=0;this.blue=this.green=this.red=255;this.sin=new Float32Array(2880);this.cos=new Float32Array(2880);this.c=Math.PI/180;this.j=180/Math.PI;for(var t=0;2880>t;)this.sin[t]=Math.sin(t/8*this.c),this.cos[t]=Math.cos(t/8*this.c),t+=1}B.prototype.td=function(t,f,n,p){var c=0,e=0,b=0,m=0,a=f*f+n*n;myRand.td(Date.now().toString());this.f=t;for(c=0;c<t;c+=1){m=c/t*(c/t)*(c/t)*(c/t)*p+1;do e=3*(myRand.random()*f-f/2),b=3*(myRand.random()*n-n/2);
while(e*e+b*b>a);this.x[c]=e;this.y[c]=b;this.b[c]=m}};B.prototype.Wm=function(t,f,n,p,c,e,b,m){var a=0,g=0,k=0,h=0,l=h=k=k=g=0,d=0,q=0,x=k=0,C=0;littleEndian?(q=m>>16&255,d=m>>8&255,l=m&255):(l=m>>24&255,d=m>>16&255,q=m>>8&255);for(a=0;a<this.f;a+=1)g=this.x[a]+t,k=this.y[a]+f,0!==p&&(h=Math.sqrt(g*g+k*k),k=Math.atan2(k,g)*this.j,k+=p,0>k?k+=360:360<=k&&(k-=360),k*=8,k|=0,g=h*this.cos[k],k=h*this.sin[k]),h=this.b[a]/n*2,g=c/2+g/h|0,k=e/2+k/h|0,0<g&&g<c-1&&0<k&&k<e-1&&(g+=k*c,h=1536/h|0,255<h&&(h=
255),h/=255,b[g]===m&&(k=l+(this.red-l)*h,x=d+(this.green-d)*h,C=q+(this.blue-q)*h,k=littleEndian?-16777216|C<<16|x<<8|k:k<<24|C<<16|x<<8|255,b[g]=k),h/=2,k=l+(this.red-l)*h,x=d+(this.green-d)*h,C=q+(this.blue-q)*h,k=littleEndian?-16777216|C<<16|x<<8|k:k<<24|C<<16|x<<8|255,--g,b[g]===m&&(b[g]=k),g+=2,b[g]===m&&(b[g]=k),--g,g-=c,b[g]===m&&(b[g]=k),g+=c+c,b[g]===m&&(b[g]=k))};window.Stars=B})();(function(){function B(d){this.ej=d;this.Ca=!1;this.Ge=this.yc=this.zc=this.Fe=this.Me=this.Je=this.Le=this.Ke=0;this.fa=this.Ia=this.pb=!1;this.fk=!0;this.$h=!1;this.og=this.ng=this.Zh=0;this.Ma="";this.Ya=-1;this.Db=this.eb=this.vh=!1;this.ta=this.ja=0;this.Yb=this.Ag=this.Ze=this.Of=this.le=this.nf=this.dg=this.qf=this.pf=this.Id=-1;this.Ff=!1;this.Sk=0;this.Dh=this.Ja=!1;this.Re=0;this.Km=.01;this.af=!1;this.K=null;this.Qa=[80,80,80];this.Ei=null;this.aa="";this.ag=this.sa=this.Ic=!1;this.Ha=
new Stars;this.Ha.td(1E4,8192,8192,1024);this.Xc=!1;this.j=1;this.yd=this.Yd=0;this.Sa=this.Aj=!1;this.R=new WaypointManager;this.gi="";this.Gj=-1;this.Wb=this.Oa=!1;this.S=1;this.gj=this.lg=this.Pd=0;this.Cb=h.Jn;this.bj=0;this.$d=this.Ob=-1;this.Wd=this.Ud="";this.Zd=this.ob=this.gb=this.wa=0;this.Xd=null;this.Eb=this.ad="";this.Ue=!1;this.c=[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1];this.od=this.nd=-1;this.Uc="";this.Sb=[];this.xf=!1;this.H=[];this.ac=[];this.Jb=[];this.ba=1;this.C=0;this.Wf=100;this.Ea=
10;this.ei=this.em=1;this.f=64;this.la=this.Dd=-1;this.yh=this.ie=this.jd=this.tb=this.vb=this.nb=this.bb=!1;this.pg=this.kg=this.mg=-1;this.a=null;this.U=!0;this.elapsedTime=0;this.o=640;this.l=512;this.ed=this.we=this.ib=!1;this.$=this.Jc=this.xg=this.Ne=this.ug=this.yf=this.Ug=this.Pe=this.Cc=this.zg=this.Bf=this.Cg=this.Eg=this.he=this.Rf=this.Ee=this.Nd=this.Ie=this.Sc=this.wc=this.vc=this.xc=this.bc=this.sd=this.Md=this.ud=this.rd=this.cc=this.Nb=this.ec=this.sb=this.La=this.J=this.ra=this.Kb=
this.xd=this.mb=this.ha=null;this.Uf=this.Tf=-1;this.wheelDelta=0;this.Hb=this.hf=this.Zc=this.s=this.Be=null;this.Tb=60;this.D=this.h=null;this.Nf=this.rb=this.Kf=this.df=0;this.We=this.$k=1;this.Yi=60;this.Mf=this.Th=1;this.Xi=.1;this.lf=this.lb=this.$j=0;this.$f=1;this.eg=this.ia=this.jg=this.ig=this.Oe=!1;this.fd=h.Zk;this.zh=this.th=this.qg=this.Ah=0;this.ui=this.rf=!1}function t(d,b,x,a,c){for(var e=0,g=b.parentNode,f=null,n=null,e=0;e<l.Ab.length&&!n;)l.Ab[e][0].tabIndex===b.tabIndex?n=l.Ab[e][1]:
e+=1;n||(n=new B(c),n.Xc=a,k.ii&&(n.Cb=x&-8,n.Cb<h.te&&(n.Cb=h.te)),b.tabIndex=l.Ab.length+1,n.ij(b),"none"===g.style.display&&(f=new PopupWindow(g,n.h)),l.Ab[l.Ab.length]=[b,n,f]);a||n.lm(d,!1)}function f(d){d=d.parentNode;for(var b=!1;!b;)"div"!==d.localName||d.className!==k.Vh&&"codebox"!==d.className||(b=!0),b||(d=d.parentNode);return d}function n(){var d=l.kk(),b=d[1],x=d[2];d[0].parentNode.style.display="none";x.Ye=!1;b.ib&&(b.$.current=b.Nc(h.Da,!0,b))}function p(d){n();d.stopPropagation&&
d.stopPropagation();d.preventDefault();return!1}function c(d){return d.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(d){var b=f(d);d=c(b.getElementsByTagName(k.Xf)[0]);b=b.getElementsByTagName("form")[0];b.getElementsByTagName("input")[0].value=d;b.submit()}function b(d){var b=f(d),x=c(b.getElementsByTagName(k.Xf)[0]),a=l.kk(),e=null,
g=e=null,n=null,m=null,v=null,D=null,B=null;a||(e=document.createElement("canvas"),e.width=h.te,e.height=h.Pg+80,e.style.display="block",n=document.createElement("a"),n.setAttribute("href","#"),n.innerHTML="&nbsp;X&nbsp;",n.style.textDecoration="none",n.style.fontFamily="Lucida Grande,Verdana,Helvetica,Arial,sans-serif",n.style.color="#FFFFFF",n.style.backgroundColor="#C75050",n.style.cssFloat="right",n.style.height="28px",n.style.fontSize="18px",B=document.createElement("a"),B.innerHTML="&nbsp;X&nbsp;",
B.style.textDecoration="none",B.style.fontFamily="Lucida Grande,Verdana,Helvetica,Arial,sans-serif",B.style.visibility="hidden",B.style.cssFloat="left",B.style.height="28px",B.style.fontSize="18px",D=document.createElement("div"),D.style.textAlign="center",D.style.color="rgb(83,100,130)",D.style.fontFamily="Arial, Verdana, Helvetica, sans-serif",D.style.fontSize="18px",D.style.height="28px",v=document.createTextNode("LifeViewer"),D.style.cursor="default",D.appendChild(v),registerEvent(n,"click",p,
!1),g=document.createElement("div"),g.style.display="none",g.style.position="fixed",g.style.border="1px solid rgb(128,128,128)",g.style.left="2048px",g.style.top="0px",g.style.width=h.te+"px",g.style.textAlign="right",g.style.boxShadow="0px 0px 3px 3px rgba(0,0,0,.3), 12px 12px 8px rgba(0,0,0,.5)",g.style.margin="1px",m=document.createElement("div"),m.className="codebox",m.style.backgroundColor="#FFFFFF",m.style.height="28px",m.style.lineHeight="28px",m.appendChild(B),m.appendChild(n),m.appendChild(D),
g.appendChild(m),g.appendChild(e),b.appendChild(g),t(x,e,h.te,!0,d),l.jk=l.Ab.length-1,a=l.kk(),a[1].Ei=v);b=a[0].parentNode;""!==b.style.display&&(b.style.display="");a[1].o=h.te;a[1].l=h.Pg+80;a[1].resize();a[1].h.notification.clear(!0,!0);a[1].h.notification.clear(!1,!0);a[1].lm(x,!0);e=a[2];e.Ye=!0;e.am(e);a[1].Zc.canvas.focus();a[1].h.hasFocus=!0;return!1}function m(d){e(this);d.stopPropagation&&d.stopPropagation();d.preventDefault();return!1}function a(d){b(this);d.stopPropagation&&d.stopPropagation();
d.preventDefault();return!1}var g={Xa:'"',Zg:"[[",bk:"]]",Hi:"TRACK",Fi:"TRACKBOX",Gi:"TRACKLOOP",Nj:"NOREPORT",Cf:"ALL",jc:"LINEAR",Oc:"BEZIER",sj:"HEXDISPLAY",ik:"SQUAREDISPLAY",Wh:"FILL",Yn:"RANDOM",Qd:"MAP",Tg:"MAPODD",Zi:"DELETERANGE",gk:"SHOWTIMING",dk:"SHOWGENSTATS",ek:"SHOWINFOBAR",Uj:"POI",gg:"TITLE",dh:"STARS",gh:"CUSTOM",Li:"XOFFSET",Mi:"YOFFSET",sm:"BACKGROUND",rk:"ALIVE",rm:"ALIVERAMP",sk:"DEAD",tm:"DEADRAMP",Kk:"BOUNDARY",Eh:"AUTOFIT",uj:"HISTORYFIT",Bi:"STEP",Mj:"NOSTEPBACK",Di:"T",
Rj:"PAUSE",Fg:"GRID",Dg:"GRIDMAJOR",pk:"TEXT",Ol:"OFF",Ql:"ON",ol:"HISTORY",yl:"MARK1",Cl:"MARKOFF",Al:"MARK2",ul:"KILL",ab:"COLOR",Si:"COLOUR",mk:"STRICT",rh:"VIEWONLY",uk:"THUMBNAIL",tk:"THUMBSIZE",vm:"THUMBLAUNCH",hh:"THEME",Fh:"AUTOSTART",Og:"LOOP",fh:"STOP",sg:"ANGLE",hi:"LAYERS",Uh:"DEPTH",ai:"GPS",Bb:"ZOOM",Qb:"X",Rb:"Y",Bk:"WIDTH",qj:"HEIGHT",rc:"#"},k={tagName:"LifeViewer",Vh:"rle",Xf:"code",pi:37,tj:!0,ii:!0,pn:"codebox"},h={se:-2,re:2,Ml:2,Il:4,Zk:4,Am:45,Ll:0,Fl:1,Gh:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
vk:86,rl:null,Kl:1,El:16,Yk:3,If:0,Hf:1,Mh:2,Ve:3,Oh:4,Ph:5,Qh:6,Rh:8,Sh:9,Nh:10,Pl:0,Rl:1,ql:2,zl:3,Dl:4,Bl:5,vl:6,qa:[0,6,2,5,3,4,1],Co:"Off On History Mark1 MarkOff Mark2 Kill".split(" "),Bo:"OFF ON HISTORY MARK1 MARKOFF MARK2 KILL".split(" "),Pj:12,Rn:0,Qn:160,Ul:10,Tj:100,Tl:20,gl:19,cp:!1,fj:1800,tn:"LifeViewer",ak:"LifeViewer Image",Cm:"LifeViewer Plugin",xk:199,Bm:"Chris Rowett",li:1,ji:10,Kj:0,Nn:1,Da:2,Vf:3,$o:1.25,ki:0,Gl:10,Xe:10,yb:.0625,$c:32,Mn:-16,Gn:-1,Hc:1,qe:60,Qg:1,Gc:50,Ua:null,
fontSize:18,Xh:"18px Courier",tf:"18px Arial",Cd:"18px Arial",ce:"14px Arial",Ai:"9px Arial",Gg:"rgb(32,255,255)",rj:"#000000",Bg:"rgb(255,96,96)",bi:"rgb(128,128,128)",te:480,Jn:1024,Nl:240,Jl:800,Pg:480,un:64,lk:0,mm:1,nm:2,Ln:0,Fn:16},l={Ab:[],jk:-1,kk:function(){var d=null;-1!==this.jk&&(d=this.Ab[this.jk]);return d},To:function(){for(var d=null,b=0,x=0,x=0;x<this.Ab.length;x+=1)d=this.Ab[x][1],d.ib&&(b+=1);return b},co:function(){for(var d=null,b=0,x=0,b=0;b<this.Ab.length;b+=1)d=this.Ab[b][1],
d.$.current=d.Nc(h.Kj,!0,d),d.h.ze(!0),x+=1;return x},Do:function(){for(var d=null,b=0,x=0,b=0;b<this.Ab.length;b+=1)d=this.Ab[b][1],d.ib&&(d.$.current=d.Nc(h.Da,!0,d),x+=1);return x},Eo:function(d){for(var b=null,x=0,a=0,x=0;x<this.Ab.length;x+=1)b=this.Ab[x][1],b!==d&&b.ib&&(b.$.current=b.Nc(h.Da,!0,b),a+=1);return a}};B.prototype.so=function(d){d.ui||(d.ui=!0)};B.prototype.Pm=function(d){var b=d.hf.toDataURL("image/png"),x=window.open("",h.ak);x?(x.width=d.o+20,x.height=d.l+20,x.document.open(),
x.document.write('<!DOCTYPE html>\n<html>\n\t<head>\n\t\t<meta charset="UTF-8">\n\t\t<title>'+h.ak+'</title>\n\t</head>\n\t<body>\n\t\t<img width="'+d.o+'" height="'+d.l+'" src="'+b+'" alt="'+h.ak+'"/>\n\t</body>\n</html>\n'),x.document.close(),d.h.notification.P("Image Captured",300,!0)):d.h.notification.P("Could not open Image window!",h.fj,!0);d.ui=!1};B.prototype.zj=function(d,b,x){for(var a=0,c=0,e=this.a.Ta,g=this.a.ga,l=this.a.Ib,f=d.width,k=d.height,n=(f-1>>4)+1,m=b>>4,p=this.a.va,t=this.a.va>>
4,u=this.a.Ba,B=b&15,A=null,E=null,F=null,J=null,A=null,E=0,K=this.tb,c=0;c<k;c+=1){A=d.Va[c];E=e[c+x&u];if(K||-1!==this.a.u)for(F=d.Td[c],J=g[c+x&u],a=0;a<f;a+=1)J[a+b&p]=F[a];if(B)for(a=0;a<n;a+=1)E[a+m&t]|=A[a]>>B,E[a+1+m&t]|=A[a]<<16-B;else for(a=0;a<n;a+=1)E[a+m&t]|=A[a]}if(l)for(c=0;c<k;c+=1)for(F=d.Td[c],A=l[c+x&u],a=0;a<f;a+=1)(E=F[a])&&(A[a+b&p]=h.qa[E]+128)};B.prototype.Zb=function(d,b,a){var c=0,e=0;b?(a.Wb=!0,a.a.zoom=h.yb*Math.pow(h.$c/h.yb,d[0]),c=d[0]):c=Math.log(a.a.zoom/h.yb)/Math.log(h.$c/
h.yb);e=a.a.zoom;1>e&&(e=-1/e);return[c,e]};B.prototype.Jm=function(d){var b=d/6E4|0;d=d%6E4/1E3;var a="";0<b&&(a=b+":",10>d&&(a+="0"));return a+=d.toFixed(2)};B.prototype.$e=function(d,b){var a=this.a.$e(this.o,this.l-80,h.yb,h.$c,h.$o,this.wa,this.gb,this.vb&&this.ap,this.af,this.pb||this.Ia||this.fa,this.Fe,this.yc,this.zc,this.Ge,this.elapsedTime,this.Tb),c=this.a.zoom,e=this.a.F,g=this.a.w,f=0,l=0,k=0;if(this.pb||this.Ia||this.fa)d=!0,b=!1;this.Ja&&!d?(this.a.zoom=(5*this.a.zoom+a[0])/6,this.a.F=
(5*this.a.F+a[1])/6,this.a.w=(5*this.a.w+a[2])/6,f=this.a.zoom>c?this.a.zoom/c-1:c/this.a.zoom-1,l=this.a.F>e?this.a.F-e:e-this.a.F,k=this.a.w>g?this.a.w-g:g-this.a.w,this.Re=f,l>this.Re&&(this.Re=l),k>this.Re&&(this.Re=k),.01>=this.Re&&(this.a.zoom=a[0],this.a.F=a[1],this.a.w=a[2])):(this.pf=this.a.width/2-this.a.F,this.qf=this.a.height/2-this.a.w,this.dg=this.a.zoom,this.nf=this.a.B,this.le=this.a.width/2-a[1],this.Of=this.a.height/2-a[2],this.Ze=a[0],this.Ag=this.nf,b?this.Yb=0:(this.Yb=h.Pj,this.zm()));
this.J&&(this.J.current=this.Zb([this.a.zoom,this.a.zoom],!1,this));this.ra&&(this.ra.current=this.qh([this.a.B,this.a.B],!1,this))};B.prototype.wj=function(d){var b=d.width,a=d.height,c=0,e=0;-1!==this.a.wb&&(b=this.a.ka,a=this.a.Ka);c=(this.a.width-b>>1)+this.ja;e=(this.a.height-a>>1)+this.ta;!this.vb&&this.a.Ec||!PatternManager.Pf||(this.vb=this.tb=!0);this.zj(d,c,e)};B.prototype.$g=function(d){var b=d+String();1E9<=d?b="1B+":1E8<=d?b=(d/1E6|0)+"M":1E7<=d?b=(d/1E6).toFixed(1)+"M":1E6<=d?b=(d/1E6).toFixed(2)+
"M":1E5<=d&&(b=(d/1E3|0)+"K");return b};B.prototype.Fo=function(d,b,a){var c=a,e=!1,g=this.j;d&&("#000000"===d.fillStyle&&(e=!0),0<=g&&g<=0+this.Ea&&(d.font=h.Xh,e||(d.fillStyle=1<(this.C|0)?h.Gg:h.bi),d.fillText("Up",b,a),e||(d.fillStyle=h.Gg),d.fillText(" / ",b+d.measureText("Up").width,a),e||(d.fillStyle=(this.C|0)<this.Wf-this.Ea?h.Gg:h.bi),d.fillText("Down",b+d.measureText("Up / ").width,a),e||(d.fillStyle=h.Gg),d.font=h.tf,d.fillText("scroll help",b+this.f,a),c+=19));this.j+=1;return c};B.prototype.T=
function(d,b,a,c,e,g,l){var f,k=this.j,n=null;c&&(f=13,k>=l&&k<=l+this.Ea&&(n=c.fillStyle,n!==h.rj&&(c.fillStyle="rgb("+d+","+b+","+a+")"),c.fillRect(e,g-(f>>1)-1,f,f),c.fillStyle=n))};B.prototype.b=function(d,b,a,c,e,g){var f=e,l=this.j;a&&l>=g&&l<=g+this.Ea&&(d.length?(a.font=h.Xh,a.fillText(d,c,e),a.font=h.tf,a.fillText(b,c+this.f,e)):(a.font=h.tf,a.fillText(b,c,e)),f+=19);this.j+=1;return f};B.prototype.Pa=function(d,b,a){for(var c="",e=0,g=5,f=0;f<a;){g=5;for(e=0;0<=g;)f<a&&(e|=d[b+f]<<g),f+=
1,--g;c+=h.Gh[e]}return c};B.prototype.xa=function(d,b,a){for(var c=ColourManager.Sb,e=Object.keys(c),h="    "+d+" "+b+" "+a,g=!1,f=null,l=0;l<e.length&&!g;)f=c[e[l]],f[1]===d&&f[2]===b&&f[3]===a?(h+=" "+f[0],g=!0,l=e.length):l+=1;return h};B.prototype.ae=function(d){return this.xa(d.red,d.green,d.blue)};B.prototype.hj=function(){var d=0,b=0;this.a.i?this.U&&(d=this.a.A.N-this.a.A.M+1,b=this.a.A.O-this.a.A.L+1):(d=this.wa,b=this.gb);-1!==this.a.wb&&(0!==this.a.ka&&(d=this.a.ka),0!==this.a.Ka&&(b=
this.a.Ka));return d+" x "+b};B.prototype.pj=function(){var d="AutoFit";if(this.pb)d+=" Track Box";else if(this.Ia||this.fa)d+=" Track";this.af&&(d+=" History");return d};B.prototype.Zj=function(d,b,a,c){var e=a,f="Player",k="",n=k="",m="",p="",p=k=0,n=this.a.Lb[this.a.Rc],p=this.Sb;this.j=1;this.f=108;a=this.b("",h.Cm+" build "+h.xk+" by "+h.Bm,d,b,a,c);a=this.b("","",d,b,a,c);a=this.b("","",d,b,a,c);this.f=124;a=this.b("","Keyboard commands",d,b,a,c);a=this.b("","",d,b,a,c);a=this.b("","Playback controls:",
d,b,a,c);this.tb?a=this.b("R","reset",d,b,a,c):(a=this.b("Enter","toggle play/pause",d,b,a,c),a=this.b("Space","pause if playing otherwise step forward",d,b,a,c),a=this.b("B","pause if playing otherwise step back",d,b,a,c),a=this.Xc?this.b("Esc","close LifeViewer",d,b,a,c):this.b("Esc","pause if playing",d,b,a,c),a=this.b("R","reset to generation 0",d,b,a,c),a=this.b("Shift R","reset all LifeViewers to generation 0",d,b,a,c),a=this.b("-","decrease generation speed",d,b,a,c),a=this.b("+","increase generation speed",
d,b,a,c),a=this.b("Shift -","minimum generation speed",d,b,a,c),a=this.b("Shift +","maximum generation speed",d,b,a,c),a=this.b("D","decrease step size",d,b,a,c),a=this.b("E","increase step size",d,b,a,c),a=this.b("Shift D","minimum step size",d,b,a,c),a=this.b("Shift E","maximum step size",d,b,a,c),this.Oa?(a=-1!==this.la?this.b("W","toggle waypoint playback and loop",d,b,a,c):this.b("W","toggle waypoint playback",d,b,a,c),a=this.b("Y","move back in time",d,b,a,c),a=this.b("U","move forward in time",
d,b,a,c)):-1!==this.la&&(a=this.b("W","toggle loop",d,b,a,c)));a=this.b("Z","stop playback in all other LifeViewers",d,b,a,c);a=this.b("Shift Z","stop playback in all LifeViewers",d,b,a,c);a=this.b("","",d,b,a,c);a=this.b("","Camera controls:",d,b,a,c);if(this.l>=h.Pg||(this.ia&&this.qg)>=h.Pg)a=this.b("M","toggle navigation menu",d,b,a,c);a=this.b("V","restore saved camera position",d,b,a,c);a=this.b("Shift V","save current camera position",d,b,a,c);this.R.mc.length&&(a=this.b("J","jump to next point of interest",
d,b,a,c),a=this.b("Shift J","jump to previous point of interest",d,b,a,c));a=this.b("F","fit pattern to display",d,b,a,c);a=this.b("Shift F","toggle autofit",d,b,a,c);a=this.b("Shift H","toggle autofit history mode",d,b,a,c);a=this.b("[","zoom out",d,b,a,c);a=this.b("]","zoom in",d,b,a,c);a=this.b("Shift [","halve zoom",d,b,a,c);a=this.b("Shift ]","double zoom",d,b,a,c);a=this.b("1","1x zoom",d,b,a,c);a=this.b("2","2x zoom",d,b,a,c);a=this.b("4","4x zoom",d,b,a,c);a=this.b("8","8x zoom",d,b,a,c);
a=this.b("6","16x zoom",d,b,a,c);a=this.b("3","32x zoom",d,b,a,c);a=this.b("Shift 1","integer zoom",d,b,a,c);a=this.b("Shift 2","-2x zoom",d,b,a,c);a=this.b("Shift 4","-4x zoom",d,b,a,c);a=this.b("Shift 8","-8x zoom",d,b,a,c);a=this.b("Shift 6","-16x zoom",d,b,a,c);a=this.b("Left","pan left",d,b,a,c);a=this.b("Right","pan right",d,b,a,c);a=this.b("Up","pan up",d,b,a,c);a=this.b("Down","pan down",d,b,a,c);a=this.b("Shift Left","pan north west",d,b,a,c);a=this.b("Shift Right","pan south east",d,b,a,
c);a=this.b("Shift Up","pan north east",d,b,a,c);a=this.b("Shift Down","pan south west",d,b,a,c);a=this.b("<","rotate left",d,b,a,c);a=this.b(">","rotate right",d,b,a,c);a=this.b("Shift <","rotate left 90 degrees",d,b,a,c);a=this.b("Shift >","rotate right 90 degrees",d,b,a,c);a=this.b("","",d,b,a,c);this.tb||(a=this.b("","View controls:",d,b,a,c),a=this.b("Q","increase number of layers",d,b,a,c),a=this.b("A","decrease number of layers",d,b,a,c),a=this.b("P","increase layer depth",d,b,a,c),a=this.b("L",
"decrease layer depth",d,b,a,c),a=this.b("C","cycle colour theme",d,b,a,c),a=this.b("Shift C","default theme",d,b,a,c),a=this.b("","",d,b,a,c));a=this.b("","Display controls:",d,b,a,c);this.tb||(a=this.b("G","toggle generation statistics",d,b,a,c),a=this.b("Shift G","toggle generation display mode",d,b,a,c));a=this.b("/","toggle hex view",d,b,a,c);a=this.b("Shift /","pattern default view",d,b,a,c);a=this.b("T","toggle timing information",d,b,a,c);a=this.b("I","toggle pattern and engine information",
d,b,a,c);a=this.b("Shift I","toggle information bar",d,b,a,c);a=this.b("X","toggle grid lines",d,b,a,c);this.eg&&(a=this.b("N","toggle thumbnail view",d,b,a,c));a=this.b("S","toggle stars",d,b,a,c);a=this.b("O","open screenshot in separate window",d,b,a,c);a=this.b("","",d,b,a,c);a=this.b("","Help controls:",d,b,a,c);a=this.b("Up","scroll up one line",d,b,a,c);a=this.b("Down","scroll down one line",d,b,a,c);a=this.b("Page Up","scroll up one page",d,b,a,c);a=this.b("Page Down","scroll down one page",
d,b,a,c);a=this.b("Home","go to first help page",d,b,a,c);a=this.b("End","go to last help page",d,b,a,c);a=this.b("","",d,b,a,c);this.f=252;a=this.b("","",d,b,a,c);this.em=this.j;a=this.b("","Scripts",d,b,a,c);a=this.b("","",d,b,a,c);a=this.b("","Scripts must be embedded in pattern comments",d,b,a,c);a=this.b("","Commands must be surrounded by whitespace",d,b,a,c);a=this.b("","",d,b,a,c);a=this.b("","Commands:",d,b,a,c);a=this.b(g.Zg,"start script section",d,b,a,c);a=this.b(g.bk,"end script section",
d,b,a,c);a=this.b(g.mk,"enable strict validation",d,b,a,c);a=this.b(g.Fh,"start play automatically",d,b,a,c);a=this.b(g.Og+" <1..>","loop at generation",d,b,a,c);a=this.b(g.fh+" <1..>","stop at generation",d,b,a,c);a=this.b(g.Di+" <0..>","waypoint at generation",d,b,a,c);a=this.b(g.Rj+" <0.0..>","pause for time",d,b,a,c);a=this.b(g.jc+" "+g.Cf+"|"+g.Qb+"|"+g.Rb+"|"+g.Bb,"linear motion",d,b,a,c);a=this.b(g.Oc+" "+g.Cf+"|"+g.Qb+"|"+g.Rb+"|"+g.Bb,"bezier motion (default)",d,b,a,c);a=this.b(g.Eh,"fit pattern to display",
d,b,a,c);a=this.b(g.uj,"autofit uses pattern history",d,b,a,c);a=this.b(g.Hi+" X Y","camera tracking",d,b,a,c);a=this.b(" X ","horizontal speed cells/gen",d,b,a,c);a=this.b(" Y ","vertical speed cells/gen",d,b,a,c);a=this.b(g.Fi+" E S W N","camera box tracking",d,b,a,c);a=this.b(" E ","east edge speed cells/gen",d,b,a,c);a=this.b(" S ","south edge speed cells/gen",d,b,a,c);a=this.b(" W ","west edge speed cells/gen",d,b,a,c);a=this.b(" N ","north edge speed cells/gen",d,b,a,c);a=this.b(g.Gi+" P X Y",
"camera tracking with loop",d,b,a,c);a=this.b(" P ","period",d,b,a,c);a=this.b(" X ","horizontal speed cells/gen",d,b,a,c);a=this.b(" Y ","vertical speed cells/gen",d,b,a,c);a=this.b(g.Uj,"define point of interest",d,b,a,c);a=this.b(g.Xa+"<string>"+g.Xa,"define message",d,b,a,c);a=this.b(g.rh,"disable playback",d,b,a,c);a=this.b(g.gg+" "+g.Xa+"<string>"+g.Xa,"set window title",d,b,a,c);a=this.b(" "+g.rc+"B","program build number",d,b,a,c);a=this.b(" "+g.rc+"N","pattern name",d,b,a,c);a=this.b(" "+
g.rc+"O","pattern originator",d,b,a,c);a=this.b(" "+g.rc+"R","pattern rule",d,b,a,c);a=this.b(" "+g.rc+"T","program title",d,b,a,c);a=this.b(" "+g.rc+g.rc,g.rc+" symbol",d,b,a,c);a=this.b(g.Mj,"disable step back",d,b,a,c);a=this.b(g.Nj,"disable life ended message",d,b,a,c);a=this.b(g.uk,"start at 1/"+this.fd+" size",d,b,a,c);a=this.b(g.tk+" <"+h.Ml+".."+h.Il+">","set thumbnail divisor",d,b,a,c);a=this.b(g.vm,"thumbnail launches viewer",d,b,a,c);a=this.b(g.Fg,"display grid lines",d,b,a,c);a=this.b(g.Dg+
" <0..16>","set major grid line interval",d,b,a,c);a=this.b(g.dh,"display stars",d,b,a,c);a=this.b(g.sj,"force hex display",d,b,a,c);a=this.b(g.ik,"force square display",d,b,a,c);a=this.b(g.hh+" <0.."+(this.a.Xb-1)+">|"+g.gh,"set theme",d,b,a,c);a=this.b(g.ab+" "+g.sm+" R G B","set theme background",d,b,a,c);a=this.b(g.ab+" "+g.rk+" R G B","set theme alive color",d,b,a,c);a=this.b(g.ab+" "+g.rm+" R G B","set theme alive ramp",d,b,a,c);a=this.b(g.ab+" "+g.sk+" R G B","set theme dead color",d,b,a,c);
a=this.b(g.ab+" "+g.tm+" R G B","set theme dead ramp",d,b,a,c);a=this.b(g.ab+" "+g.Kk+" R G B","set boundary color",d,b,a,c);a=this.b(g.ab+" <0..> R G B","set state color",d,b,a,c);a=this.b(g.ab+" "+g.Ol+" R G B","set [R]History state color "+h.Pl,d,b,a,c);a=this.b(g.ab+" "+g.Ql+" R G B","set [R]History state color "+h.Rl,d,b,a,c);a=this.b(g.ab+" "+g.ol+" R G B","set [R]History state color "+h.ql,d,b,a,c);a=this.b(g.ab+" "+g.yl+" R G B","set [R]History state color "+h.zl,d,b,a,c);a=this.b(g.ab+" "+
g.Cl+" R G B","set [R]History state color "+h.Dl,d,b,a,c);a=this.b(g.ab+" "+g.Al+" R G B","set [R]History state color "+h.Bl,d,b,a,c);a=this.b(g.ab+" "+g.ul+" R G B","set [R]History state color "+h.vl,d,b,a,c);a=this.b(g.ab+" "+g.Fg+" R G B","set grid color",d,b,a,c);a=this.b(g.ab+" "+g.Dg+" R G B","set grid major color",d,b,a,c);a=this.b(g.ab+" "+g.dh+" R G B","set star color",d,b,a,c);a=this.b(g.ab+" "+g.pk+" R G B","set waypoint message color",d,b,a,c);a=this.b(g.Si,"same as COLOR",d,b,a,c);a=
this.b(g.ai+" <"+h.Hc+".."+h.qe+">","set steps per second",d,b,a,c);a=this.b(g.Bi+" <"+h.Qg+".."+h.Gc+">","set generations per step",d,b,a,c);a=this.b(g.sg+" <0..359>","set camera angle",d,b,a,c);a=this.b(g.Qb+" <-"+(this.a.Wa>>1)+".."+(this.a.Wa>>1)+">","set camera x position",d,b,a,c);a=this.b(g.Rb+" <-"+(this.a.Wa>>1)+".."+(this.a.Wa>>1)+">","set camera y position",d,b,a,c);a=this.b(g.Bb+" <"+h.yb.toFixed(1)+".."+h.$c.toFixed(1)+">","set camera zoom",d,b,a,c);a=this.b(g.hi+" <"+h.li+".."+h.ji+
">","set number of layers",d,b,a,c);a=this.b(g.Uh+" <"+h.ki.toFixed(1)+".."+h.Gl.toFixed(1)+">","set layer depth",d,b,a,c);a=this.b(g.Li+" <-"+(this.a.Wa>>1)+".."+(this.a.Wa>>1)+">","set pattern x offset",d,b,a,c);a=this.b(g.Mi+" <-"+(this.a.Wa>>1)+".."+(this.a.Wa>>1)+">","set pattern y offset",d,b,a,c);a=this.b(g.Bk+" <"+h.te+".."+this.Cb+">","set LifeViewer width",d,b,a,c);a=this.b(g.qj+" <"+h.Nl+".."+h.Jl+">","set LifeViewer height",d,b,a,c);a=this.b(g.gk,"show timing information",d,b,a,c);a=this.b(g.dk,
"show generation statistics",d,b,a,c);a=this.b(g.ek,"show information bar",d,b,a,c);a=this.b(g.Zi+" <"+h.Kl+".."+h.El+">","set boundary delete range",d,b,a,c);a=this.b(g.Wh+" <0.0..1.0>","fill pattern using threshold",d,b,a,c);a=this.b(g.Qd+" <map>|<0.0..1.0>","transition all generations",d,b,a,c);a=this.b(g.Tg+" <map>|<0.0..1.0>","transition odd generations",d,b,a,c);a=this.b(" <map>","512 bits base64 encoded",d,b,a,c);a=this.b("","",d,b,a,c);this.f=128;a=this.b("","",d,b,a,c);this.ei=this.j;a=this.b("",
"Information",d,b,a,c);a=this.b("","",d,b,a,c);a=this.b("","Display:",d,b,a,c);a=this.b("Size",this.o+" x "+this.l,d,b,a,c);a=this.b("View","X "+-(this.a.width/2-this.a.F|0)+"  Y "+-(this.a.height/2-this.a.w|0)+"  ZOOM "+this.a.zoom.toFixed(2)+"  ANGLE "+this.a.B.toFixed(0),d,b,a,c);a=this.b("Saved View","X "+-(this.a.width/2-this.lb|0)+"  Y "+-(this.a.height/2-this.lf|0)+"  ZOOM "+this.$f.toFixed(2)+"  ANGLE "+this.$j.toFixed(0),d,b,a,c);this.vb?f=this.tb?"Multi-State Viewer":"Viewer":this.a.Ec&&
(f="History Player");a=this.b("Type",f,d,b,a,c);f=this.a.I?"Hex":"Square";a=this.b("Mode",f,d,b,a,c);this.eg&&(a=this.b("Thumbnail","1/"+this.fd,d,b,a,c));a=this.b("","",d,b,a,c);a=this.b("","Pattern:",d,b,a,c);""!==this.Ud&&(a=this.b("Name",this.Ud,d,b,a,c));""!==this.Wd&&(a=this.b("Originator",this.Wd,d,b,a,c));a=this.b("Size",this.wa+" x "+this.gb,d,b,a,c);a=this.b("Offset","X "+this.ja+" Y "+this.ta,d,b,a,c);a=this.b("CXRLE Gen",this.Zh,d,b,a,c);a=this.b("CXRLE Pos","X "+this.ng+" Y "+this.og,
d,b,a,c);-1!==this.Ya&&(a=this.b("Fill",(100*this.Ya|0)+"%",d,b,a,c));this.sa?k=this.eb?g.Qd:this.Eb:(k=this.Eb,""===k&&(k="(none)"));a=this.b("Rule",k,d,b,a,c);k=-1!==this.a.wf?"1D":this.a.oi?"Hex":this.a.Yc?"Von Neumann":"Moore";a=this.b("N'hood",k,d,b,a,c);this.sa&&this.eb&&(a=this.b("Map",this.Pa(this.a.bf,0,144),d,b,a,c),a=this.b(" ",this.Pa(this.a.bf,144,144),d,b,a,c),a=this.b(" ",this.Pa(this.a.bf,288,144),d,b,a,c),a=this.b(" ",this.Pa(this.a.bf,432,80),d,b,a,c),a=this.b("Density",this.a.$i+
"/512 ("+(100*this.a.$i/512|0)+"%)",d,b,a,c),this.Db&&(a=this.b("MapOdd",this.Pa(this.a.cf,0,144),d,b,a,c),a=this.b(" ",this.Pa(this.a.cf,144,144),d,b,a,c),a=this.b(" ",this.Pa(this.a.cf,288,144),d,b,a,c),a=this.b(" ",this.Pa(this.a.cf,432,80),d,b,a,c),a=this.b("Density",this.a.aj+"/512 ("+(100*this.a.aj/512|0)+"%)",d,b,a,c)));k=this.ob;2<this.ob&&this.Zd!==this.ob&&(k=this.Zd+" of "+k);a=this.b("States",k,d,b,a,c);if(this.Xd)for(k=1;k<this.ob;k+=1)this.Xd[k]&&(a=this.b("State "+k,this.Xd[k],d,b,
a,c));a=this.b("Decoder",this.ad,d,b,a,c);a=this.b("","",d,b,a,c);a=this.b("","Grid:",d,b,a,c);a=this.b("Size",this.a.width+" x "+this.a.height,d,b,a,c);a=this.b("Maximum",this.a.Wa+" x "+this.a.Wa,d,b,a,c);a=this.b("Area",this.hj(),d,b,a,c);a=0!==(this.a.i&1)?this.b("Tiles",this.a.ih(this.a.pa)+" / "+this.a.ih(this.a.na),d,b,a,c):this.b("Tiles",this.a.ih(this.a.Y)+" / "+this.a.ih(this.a.na),d,b,a,c);this.a.dd&&(a=this.b("State6",this.a.ih(this.a.dd),d,b,a,c));a=this.b("Tile Size",(this.a.jh<<3)+
" x "+this.a.kh,d,b,a,c);a=this.b("DeleteRange",this.a.ri,d,b,a,c);a=this.b("","",d,b,a,c);-1!==this.a.wb&&(a=this.b("","Bounded grid:",d,b,a,c),a=this.b("Type",PatternManager.Lm(this.a.wb),d,b,a,c),a=0===this.a.ka?this.b("Width","Infinite",d,b,a,c):this.b("Width",this.a.ka,d,b,a,c),4!==this.a.wb&&(a=0===this.a.Ka?this.b("Height","Infinite",d,b,a,c):this.b("Height",this.a.Ka,d,b,a,c),2===this.a.wb&&(a=this.a.Pi?this.b("Twist","Horizontal",d,b,a,c):this.b("Twist","Vertical",d,b,a,c)),0!==this.a.vg&&
(a=this.b("H'Shift",this.a.vg,d,b,a,c)),0!==this.a.wg&&(a=this.b("V'Shift",this.a.wg,d,b,a,c))),a=this.b("","",d,b,a,c));a=this.b("","AutoFit:",d,b,a,c);a=this.b("Enabled",this.Ja?"On":"Off",d,b,a,c);a=this.b("Mode",this.pj(),d,b,a,c);this.Ia||this.fa?a=this.b("Definition","X "+this.yc.toFixed(3)+" Y "+this.zc.toFixed(3),d,b,a,c):this.pb&&(a=this.b("Definition","E "+this.yc.toFixed(3)+" S "+this.zc.toFixed(3)+" W "+this.Ge.toFixed(3)+" N "+this.Fe.toFixed(3),d,b,a,c));a=this.b("Current","E "+this.Je.toFixed(3)+
" S "+this.Le.toFixed(3)+" W "+this.Me.toFixed(3)+" N "+this.Ke.toFixed(3),d,b,a,c);a=this.b("","",d,b,a,c);a=this.b("","Step back:",d,b,a,c);a=this.b("Enabled",this.Ic?"Off":"On",d,b,a,c);this.Ic||(a=this.b("Snapshots",this.a.pc.Po()+"/"+this.a.pc.md.length,d,b,a,c),a=this.b("Buffer",(this.a.pc.bufferSize()>>10)+"K",d,b,a,c),a=this.b("Next",this.a.ff,d,b,a,c));a=this.b("","",d,b,a,c);a=this.b("","Engine:",d,b,a,c);a=this.b("Name",h.Cm,d,b,a,c);a=this.b("Build",h.xk,d,b,a,c);a=this.b("Author",h.Bm,
d,b,a,c);a=this.b("Decoders","Cells, Life 1.05, Life 1.06, RLE",d,b,a,c);a=this.b("N'hoods","1D, Moore, Hex, Von Neumann",d,b,a,c);a=this.b("Rules","Wolfram, Totalistic, Hensel, Generations",d,b,a,c);a=this.b("BoundedGrid","Plane, Torus, Klein, Cross-surface, Sphere",d,b,a,c);a=this.b("States","2 state, [R]History, Niemiec, Generations",d,b,a,c);a=this.b("Viewers",l.Ab.length,d,b,a,c);a=this.b("Playing",l.To(),d,b,a,c);a=this.b("","",d,b,a,c);if(this.tb)for(a=this.b("","Set:",d,b,a,c),a=this.b("Name",
this.Uc,d,b,a,c),a=this.b("Used",this.Zd,d,b,a,c),k=0;k<p.length;k+=1)this.ac[k]!==h.lk&&(n=this.xa(p[k]>>16&255,p[k]>>8&255,p[k]&255),m=String(k),this.ac[k]!==h.mm||this.xf||(m+="*"),this.T(p[k]>>16,p[k]>>8&255,p[k]&255,d,b+this.f,a,c),a=this.b(m,n,d,b,a,c));else{a=this.b("","Theme:",d,b,a,c);p=this.a.Rc===this.a.Xb?"(custom)":String(this.a.Rc);a=this.b("Name",p,d,b,a,c);this.T(this.a.oc[0],this.a.gc[0],this.a.dc[0],d,b+this.f,a,c);a=this.b("Background",this.xa(this.a.oc[0],this.a.gc[0],this.a.dc[0]),
d,b,a,c);if(-1!==this.a.u)for(k=1;k<this.a.u;k+=1)this.T(this.a.oc[k],this.a.gc[k],this.a.dc[k],d,b+this.f,a,c),a=this.b("State "+k,this.xa(this.a.oc[k],this.a.gc[k],this.a.dc[k]),d,b,a,c);else this.T(n.ya.G.red,n.ya.G.green,n.ya.G.blue,d,b+this.f,a,c),a=this.b("Alive",this.ae(n.ya.G),d,b,a,c),n.ya.G.red!==n.ya.Z.red||n.ya.G.green!==n.ya.Z.green||n.ya.G.blue!==n.ya.Z.blue?(this.T(n.ya.Z.red,n.ya.Z.green,n.ya.Z.blue,d,b+this.f,a,c),a=this.b("AliveRamp",this.ae(n.ya.Z),d,b,a,c)):a=this.b("AliveRamp",
"    (none)",d,b,a,c),this.T(n.ua.G.red,n.ua.G.green,n.ua.G.blue,d,b+this.f,a,c),a=this.b("Dead",this.ae(n.ua.G),d,b,a,c),n.ua.G.red!==n.ua.Z.red||n.ua.G.green!==n.ua.Z.green||n.ua.G.blue!==n.ua.Z.blue?(this.T(n.ua.Z.red,n.ua.Z.green,n.ua.Z.blue,d,b+this.f,a,c),a=this.b("DeadRamp",this.ae(n.ua.Z),d,b,a,c)):a=this.b("DeadRamp","    (none)",d,b,a,c);if(this.a.Ec)for(k=3;6>=k;k+=1)p=128+h.qa[k],n=this.xa(this.a.oc[p],this.a.gc[p],this.a.dc[p]),m=h.Co[k],this.T(this.a.oc[p],this.a.gc[p],this.a.dc[p],
d,b+this.f,a,c),a=this.b(m,n,d,b,a,c)}this.T(this.Qa[0],this.Qa[1],this.Qa[2],d,b+this.f,a,c);a=this.b("Boundary",this.xa(this.Qa[0],this.Qa[1],this.Qa[2]),d,b,a,c);this.K&&(this.T(this.K[0],this.K[1],this.K[2],d,b+this.f,a,c),a=this.b("Text",this.xa(this.K[0],this.K[1],this.K[2]),d,b,a,c));a=this.b("","",d,b,a,c);a=this.b("","Grid Lines:",d,b,a,c);p=this.a.hb?"On":"Off";this.a.hb&&(4>this.a.zoom||0!==this.a.B)&&(p+=" (Hidden)");a=this.b("Enabled",p,d,b,a,c);p="Line Color";-1!==this.nd&&(p+="*");
this.T(this.a.hc>>16,this.a.hc>>8&255,this.a.hc&255,d,b+this.f,a,c);a=this.b(p,this.xa(this.a.hc>>16,this.a.hc>>8&255,this.a.hc&255),d,b,a,c);p="Major Color";-1!==this.od&&(p+="*");this.T(this.a.Wc>>16,this.a.Wc>>8&255,this.a.Wc&255,d,b+this.f,a,c);a=this.b(p,this.xa(this.a.Wc>>16,this.a.Wc>>8&255,this.a.Wc&255),d,b,a,c);p=-1!==this.a.pd?String(this.a.pd):"Off";a=this.b("Interval",p,d,b,a,c);a=this.b("","",d,b,a,c);a=this.b("","Stars:",d,b,a,c);a=this.b("Enabled",this.ag?"On":"Off",d,b,a,c);this.T(this.Ha.red,
this.Ha.green,this.Ha.blue,d,b+this.f,a,c);a=this.b("Color",this.ae(this.Ha),d,b,a,c);a=this.b("","",d,b,a,c);a=this.b("","Script:",d,b,a,c);a=this.b("Commands",this.Pd,d,b,a,c);a=this.b("Errors",this.lg,d,b,a,c);if(this.Oa)for(a=this.b("","",d,b,a,c),a=this.b("","Waypoints:",d,b,a,c),a=this.b("Enabled",this.nb?"Off":"On",d,b,a,c),a=this.b("Number",this.R.da.length,d,b,a,c),k=0;k<this.R.da.length;k+=1)p=String(k),k===this.R.Ce&&(p=this.R.Oi(this.elapsedTime)?p+">":p+"*"),a=this.b(p,this.R.Uo(k,g.Xa),
d,b,a,c);if(this.R.mc.length)for(a=this.b("","",d,b,a,c),a=this.b("","Points of interest:",d,b,a,c),a=this.b("Number",this.R.mc.length,d,b,a,c),k=0;k<this.R.mc.length;k+=1)p=String(k),a=this.b(p,this.R.Sn(k,g.Xa),d,b,a,c);-1!==this.la&&(a=this.b("","",d,b,a,c),a=this.b("","Loop:",d,b,a,c),a=this.b("Enabled",this.bb?"Off":"On",d,b,a,c),a=this.b("Generation",this.la,d,b,a,c));this.f=252;for(k=0;k<AliasManager.g.length;k+=1)""===AliasManager.g[k][1]?(a=this.b("","",d,b,a,c),a=this.b("",AliasManager.g[k][0]+
" Aliases:",d,b,a,c)):""!==AliasManager.g[k][0]&&(a=this.b(AliasManager.g[k][0],AliasManager.g[k][1],d,b,a,c));this.Wf=this.j-1;this.j=1;this.f=120;a=e+19*(this.Ea+2);a=this.Fo(d,b,a);this.Xc?this.b("H","close help",d,b,a,0):this.b("H / Esc","close help",d,b,a,0)};B.prototype.cl=function(d){var a=d.Hb;d.Ea=(d.l/19|0)-6;a.fillStyle="black";a.globalAlpha=.5;a.fillRect(0,0,a.canvas.width,a.canvas.height);a.globalAlpha=1;a.fillStyle=h.rj;d.Zj(a,6,14,d.C|0);a.fillStyle=h.Gg;d.Zj(a,4,12,d.C|0)};B.prototype.ro=
function(d,a,b){var c=b,e=0,g=!1,f=this.j;"#000000"===d.fillStyle&&(g=!0);0<=f&&f<=0+this.Ea&&(d.font=h.Xh,g||(d.fillStyle=1<(this.ba|0)?h.Bg:h.bi),d.fillText("Up",a,b),g||(d.fillStyle=h.Bg),d.fillText(" / ",a+d.measureText("Up").width,b),g||(d.fillStyle=(this.ba|0)<this.Jb.length-this.Ea?h.Bg:h.bi),d.fillText("Down",a+d.measureText("Up / ").width,b),this.f&&(e=this.f),g||(d.fillStyle=h.Bg),d.font=h.tf,d.fillText("scroll errors",a+e,b),c+=19);return c};B.prototype.zf=function(d,a,b,c,e,g){var f=e,
k=0,l=this.j;l>=g&&l<=g+this.Ea&&(d.length&&(b.font=h.Xh,b.fillText(d,c,e),k=b.measureText(d+" ").width),this.f&&(k=this.f),b.font=h.tf,b.fillText(a,c+k,e),f+=19);this.j+=1;return f};B.prototype.Yl=function(d,a,b,c){var e=0,g=this.Jb,f=b;this.j=1;this.f=0;d.font=h.tf;b=this.zf("","Script errors:",d,a,b,c);for(e=0;e<g.length;e+=1)b=this.zf(g[e][0],g[e][1],d,a,b,c);this.f=120;this.j=1;b=f+19*(this.Ea+2);b=this.ro(d,a,b);b=this.zf("Esc","clear messages",d,a,b,0);this.zf("H  ","help on script commands",
d,a,b,0)};B.prototype.al=function(d){var a=d.Hb;d.Ea=(d.l/19|0)-7;a.fillStyle="black";a.globalAlpha=.5;a.fillRect(0,0,a.canvas.width,a.canvas.height);a.globalAlpha=1;a.fillStyle=h.rj;d.Yl(a,6,14,d.ba|0);a.fillStyle=h.Bg;d.Yl(a,4,12,d.ba|0)};B.prototype.hd=function(d,a){var b=this.h.Rd,c=this.h.Sd,e=d+a,g=-this.a.B,f=Math.sin(g/180*Math.PI),g=Math.cos(g/180*Math.PI),k=0,l=0;0>e?e=0:1<e&&(e=1);d=h.yb*Math.pow(h.$c/h.yb,d);e=h.yb*Math.pow(h.$c/h.yb,e);b-=this.o/2;c-=this.l/2;k=(b-e/d*b)/e;l=(c-e/d*c)/
e;this.a.F-=k*g+l*-f;this.a.w-=k*f+l*g};B.prototype.Mo=function(d,a){d.Jc.current=d.a.i/a*100;d.Jc.v=!1;d.ec.Ac=0};B.prototype.Lo=function(d){var a=!1,b=!1,c=0,e=0,h=!1;d.bb||-1===d.la||(a=!0);!d.nb&&d.Oa&&(b=!0);if(a||b){h=!1;if(b&&a)e=d.elapsedTime/d.R.el(d.la);else if(b){if(c=d.R.En().Na)e=d.elapsedTime/c,1<e&&(h=!0)}else 0<d.la&&(e=d.a.i/d.la);1<e&&(e=1);d.Jc.current=100*e}else h=!0;(d.Jc.v=h)?d.ec.Ac=d.D.Ac:d.ec.Ac=0};B.prototype.qn=function(){this.Ha.Wm(this.a.width/2-this.a.F,this.a.height/
2-this.a.w,this.a.zoom,this.a.B,this.a.o,this.a.l,this.a.Fb,this.a.zd[0])};B.prototype.kj=function(d,a){var b=0;d+=this.a.width/2-Math.round(this.wa/2);a+=this.a.height/2-Math.round(this.gb/2);return b=this.a.kj(d,a,this.tb&&this.vb)};B.prototype.yo=function(){var d=this.D.ue-this.l/2,a=Math.floor(d/this.a.zoom-(this.a.height/2-this.a.w)+Math.round(this.gb/2)),d=Math.floor((this.D.vd-this.o/2)/this.a.zoom+(this.a.I?d/this.a.zoom/2:0)-(this.a.width/2-this.a.F-(this.a.I?this.a.w/2:0))+Math.round(this.wa/
2)),b="",c="",e="";-1===this.D.vd||0!==this.a.B?this.Cc.cb="":(b=-9999>d||9999<d?(d/1E4).toFixed(1)+"K":d+"",c=-9999>a||9999<a?(a/1E4).toFixed(1)+"K":a+"",e=this.kj(d,a),this.Cc.cb=b+","+c+"="+e);this.Cc.enabled=this.ed||this.$.current===h.Da&&-1!==this.D.vd?this.C||this.ba||0===this.wa?!1:!0:!1};B.prototype.So=function(d,a){var b=a.wheelDelta,c=0,e=0,c=performance.now(),g=a.R.current,f=0,f=0,k=!1,l=!1,e="",n=!1;a.Sa=!1;e=c-a.df;a.Aj&&(a.Aj=!1,d=e=0);a.vb||a.Lo(a);a.$.current!==h.Da?(d>h.gl&&(d=h.gl,
l=!0),a.elapsedTime+=d):a.we&&(a.elapsedTime=d<e?a.elapsedTime+d:a.elapsedTime+e);a.ib&&(e>1E3/a.Tb||a.Tb===h.qe)&&(a.df=c,a.we=!0);a.S=a.mb.current[0];a.Oa&&!a.nb&&a.$.current!==h.Da?(a.Wb&&!a.R.Oi(a.elapsedTime)&&(a.Wb=!1,a.elapsedTime=a.R.Uk(a.a.width/2-a.a.F,a.a.height/2-a.a.w,a.a.zoom,a.a.B,a.a.m,a.a.Vb*h.Xe,a.a.Rc,a.Tb,a.S,a.a.i,a.elapsedTime)),g.Pb&&(a.$e(!0,!1),a.Wb=!1,g.x=a.a.width/2-a.a.F,g.y=a.a.height/2-a.a.w,g.zoom=a.a.zoom),(n=a.R.update(a.elapsedTime,a.a.i))?g.Pb=!1:(a.$.current!==
h.Da&&(a.Sa=!0),a.a.F=a.a.width/2-g.x,a.a.w=a.a.height/2-g.y,a.a.zoom=g.zoom,a.ia&&(a.a.zoom=a.a.zoom/a.fd),a.J&&(a.J.current=a.Zb([a.a.zoom,a.a.zoom],!1,a)),a.a.B=g.B,a.ra&&(a.ra.current=[a.a.B,a.a.B]),a.a.m=g.m,a.sb&&(a.sb.current=[a.a.m,a.a.m]),a.a.Vb=g.depth/h.Xe+h.ki,a.La&&(a.La.current=[Math.sqrt(a.a.Vb),a.a.Vb*h.Xe]),a.Tb=g.Aa,a.ha&&(a.ha.current=[Math.sqrt((g.Aa-h.Hc)/(h.qe-h.Hc)),g.Aa]),a.S=g.step,a.mb.current=[a.S,a.S],g.ma>a.a.i?(a.we=!0,a.S=g.ma-a.a.i|0,1>a.S&&(a.S=1),a.S>h.Gc&&(a.S=h.Gc)):
a.we=!1,g.zb!==a.gi&&(""===g.zb?a.h.notification.clear(!1,!1):a.h.notification.P(g.zb,1E3,!1),a.gi=g.zb),g.Ga!==a.Gj&&(a.a.be(g.Ga,a.a.Qk),a.Kb&&(a.Kb.current=[g.Ga,g.Ga]),a.Gj=g.Ga))):a.Ja&&a.$.current!==h.Da&&(a.Sa=!0);a.Sa&&(a.Yb=-1);e=0;if(a.we){if(a.U){c=performance.now();for(f=0;f<a.S;f+=1){e=performance.now()-c;if(a.a.i===a.la-1&&!a.bb||a.a.i===a.Dd-1||e>h.Am)f=a.S-1;a.ed&&f===a.S-1?a.a.ef(!0,a.elapsedTime,a.Ic):a.a.ef(!1,a.elapsedTime,a.Ic);if(a.a.um||f===a.S-1)a.U=a.a.Gf()}a.U||(a.gj=h.un,
a.bj=a.a.i,a.fk&&(-1===a.la||a.bb)&&a.h.notification.P("Life ended at generation "+a.bj,600,!0))}else a.gj&&(--a.gj,f=a.a.i,a.a.i=a.bj,a.a.Gf(),a.a.i=f),a.a.i+=a.S;a.a.i!==a.la||a.bb||(a.elapsedTime=0,a.reset(a),n&&(a.Sa=!0));a.a.i===a.Dd&&(a.$.current=a.Nc(h.Da,!0,a))}a.he.locked=a.Sa&&a.Oa;a.Cg.locked=a.Sa;a.ha.locked=a.Sa&&a.Oa;a.mb.locked=a.Sa&&a.Oa;a.Kb.locked=a.Sa&&a.Oa;a.J.locked=a.Sa;a.ra.locked=a.Sa;a.sb.locked=a.Sa&&a.Oa;a.La.locked=a.Sa&&a.Oa;b&&(a.wheelDelta=0,0<a.C?0<b?a.yi(a,3):a.xi(a,
3):0<a.ba?0<b?a.wi(a,3):a.vi(a,3):a.Sa||(c=a.J.current[0],0>b?0<c&&(a.hd(c,-.05),c-=.05,0>c&&(c=0)):1>c&&(a.hd(c,.05),c+=.05,1<c&&(c=1)),a.J&&(a.J.current=a.Zb([c,c],!0,a))));a.Ja&&(a.$.current!==h.Da||a.Oa)&&a.$e(!1,!1);a.a.bo();a.ag&&a.qn();a.a.bl();a.ui&&a.Pm(a);a.a.i&&a.U&&a.a.Rm(h.Gc)&&(a.rb+=a.a.width>>2,a.Nf+=a.a.height>>2,a.lb+=a.a.width>>2,a.lf+=a.a.height>>2,a.a.I&&(a.rb-=a.a.height>>3,a.lb-=a.a.height>>3));a.C?a.cl(a):a.Jb.length&&!a.ia&&a.al(a);a.ec.lower[0]=a.$h?"+ "+a.$g(a.a.i):"T "+
a.$g(a.a.i+a.Zh);a.zg.cb=a.Jm(a.elapsedTime);a.Ug.cb=a.$g(a.a.bd);a.ug.cb=a.$g(a.a.Qc);a.xg.cb=a.$g(a.a.Tc);e>h.Am?(a.yd+=h.Tl,a.yd>=2*h.Tj&&(a.yd=0)):0<a.yd&&(a.yd-=h.Tl);l?a.Yd<h.Qn&&(a.Yd+=h.Ul):a.Yd>h.Rn&&(a.Yd-=h.Ul);e=a.yd<h.Tj?"rgb("+a.Yd+","+a.yd+",0)":"rgb("+a.Yd+","+(2*h.Tj-a.yd)+",0)";a.mb.Pc=e;e="rgb("+a.Yd+",0,0)";a.ha.Pc=e;a.we=!1;a.yo();-1!==a.Yb&&a.zm();if(a.ib||a.Ja&&a.Re>a.Km||-1!==a.Yb)k=!0;a.Ho();a.No();a.Io();a.Oo(a.C||a.ba);a.h.ze(k)};B.prototype.Oo=function(a){this.he.v=a;this.J.v=
a;this.Cg.v=a;this.Eg.v=a;this.Sc.v=a;this.Ee.v=a;this.Ie.v=a;this.Nd.v=a;this.cc.v=a||!this.Ca;this.rd.v=a||!this.Ca;this.ud.v=a||!this.Ca;this.Md.v=a||!this.Ca;this.sd.v=a||!this.Ca;this.bc.v=a||!this.Ca;this.xc.v=a||!this.Ca;this.vc.v=a||!this.Ca;this.wc.v=a||!this.Ca};B.prototype.Io=function(){var a=-(this.a.width/2-this.a.F|0),b=-(this.a.height/2-this.a.w|0);this.cc.v=!this.Ca;this.rd.v=!this.Ca;this.ud.v=!this.Ca;this.Md.v=!this.Ca;this.sd.v=!this.Ca;this.bc.v=!this.Ca;this.xc.v=!this.Ca;this.wc.v=
!this.Ca;this.vc.v=!this.Ca;if(-9999>a||9999<a)a=(a/1E4|0)+"K";if(-9999>b||9999<b)b=(b/1E4|0)+"K";this.cc.cb=g.Qb+" "+a+"  "+g.Rb+" "+b+"  "+g.sg+" "+this.a.B.toFixed(0);this.bc.cb=this.Je.toFixed(3);this.xc.cb=this.Le.toFixed(3);this.vc.cb=this.Me.toFixed(3);this.wc.cb=this.Ke.toFixed(3)};B.prototype.No=function(){0===this.a.i?this.Me=this.Je=this.Le=this.Ke=0:(this.Ke=(this.a.A.O-this.a.jb.O)/this.a.i,this.Le=(this.a.A.L-this.a.jb.L)/this.a.i,this.Je=(this.a.A.N-this.a.jb.N)/this.a.i,this.Me=(this.a.A.M-
this.a.jb.M)/this.a.i)};B.prototype.Ho=function(){this.he.current=[this.Ja];this.Sc.current=[!this.ie&&this.jd];this.Sc.locked=!this.jd;this.Ie.current=[!this.nb&&this.Oa];this.Ie.locked=!this.Oa;this.Nd.current=[!this.bb&&-1!==this.la];this.Nd.locked=-1===this.la;this.Ee.current=[-1!==this.Dd];this.Ee.locked=-1===this.Dd};B.prototype.Ro=function(a){for(var b=a.Sk,c=performance.now(),e=!0,g=a.a.pc.Hn*LifeConstants.bh;a.a.i<b-1&&13>performance.now()-c;)e=b-1-a.a.i<=g?!1:!0,a.a.ef(!1,0,e),a.a.Gf();
a.a.i===b-1?(a.a.ef(a.ed,0,!1),a.U=a.a.Gf(),a.Ff=!1,a.h.notification.clear(!0,!1),a.D.locked=!1):a.D.locked=!0;a.Mo(a,b);a.a.bl();a.C?a.cl(a):a.Jb.length&&!a.ia&&a.al(a);a.h.ze(!0)};B.prototype.Yo=function(a,b){b.Ff?b.Ro(b):b.So(a,b)};B.prototype.Zo=function(a){a.a.i=0;a.elapsedTime=0;a.a.F=a.a.width>>1;a.a.w=a.a.height>>1;a.a.F&=a.a.width-1;a.a.w&=a.a.height-1;a.df=performance.now();a.U=!0;a.Aj=!0};B.prototype.yk=function(a,b){b.h.ah=a[0];b.h.ze(!0)};B.prototype.Dm=function(a,b,c){b?(b=a[0]+.5|0,
c.a.Rc!==b&&(c.a.be(b,c.a.Qk),c.Ue&&b===c.a.Xb?c.h.notification.P("Custom Theme",40,!0):c.h.notification.P("Theme "+b,40,!0)),a=a[0]):a=c.a.Rc;return[a,c.a.Rc]};B.prototype.Ki=function(a,b,c){b&&(c.S=a[0]+.5|0);return[c.S,c.S]};B.prototype.vf=function(a,b,c){b?(c.Tb=h.Hc+a[0]*a[0]*(h.qe-h.Hc),a=a[0]):a=Math.sqrt((c.Tb-h.Hc)/(h.qe-h.Hc));return[a,c.Tb]};B.prototype.dm=function(a){a.$f=a.a.zoom;a.ia&&(a.$f=a.$f*a.fd);a.$j=a.a.B;a.lb=a.a.F;a.lf=a.a.w};B.prototype.jo=function(a){a.pf=a.a.width/2-a.a.F;
a.qf=a.a.height/2-a.a.w;a.dg=a.a.zoom;a.nf=a.a.B;a.le=a.a.width/2-a.lb;a.Of=a.a.height/2-a.lf;a.Ag=a.$j;a.ia?a.Ze=a.$f/a.fd:a.Ze=a.$f;a.Yb=0};B.prototype.fo=function(a,b){var c=0;a.a.zoom=a.$k;a.ia&&(a.a.zoom=a.a.zoom/a.fd);a.J&&(a.J.current=a.Zb([a.a.zoom,a.a.zoom],!1,a));a.a.B=a.Kf;a.ra&&(a.ra.current=[a.Kf,a.Kf]);a.a.F=a.rb;a.a.w=a.Nf;b&&(a.a.be(a.We,1),a.Kb.current=[a.We,a.We],a.tb&&(a.a.Te=0),c=Math.sqrt((a.Yi-h.Hc)/(h.qe-h.Hc)),a.ha.current=a.vf([c,c],!0,a),a.S=a.Th,a.mb.current=[a.S,a.S],a.a.m=
a.Mf,a.sb.current=[a.Mf,a.Mf],c=Math.sqrt(a.Xi),a.La.current=a.uf([c,c],!0,a))};B.prototype.reset=function(a){var b=!1,c=!1;0===a.elapsedTime&&(b=!0);a.bb||a.a.i===a.la&&(c=!0);!c&!b&&(a.Oa&&(a.nb=!0),-1!==a.la&&(a.bb=!0),a.Dh&&(a.Ja=!1));a.elapsedTime=0;c||a.fo(a,b);b&&(a.Oa&&(a.nb=!1),a.bb=!1,a.Dh&&(a.Ja=!0));a.tb||(a.a.si(a.Ic),a.U=!0,a.a.U=!0,a.a.fc=!0);a.a.Zl();a.gi="";a.Gj=-1;a.Wb=!1;a.R.Ce=0;a.h.notification.clear(!1,!1)};B.prototype.gm=function(a){this.$.icon[2]=a?h.Ua.icon("pause"):h.Ua.icon("stepforward")};
B.prototype.Nc=function(a,b,c){var e=a,g=c.bb,f=c.nb,k=c.ie,l=c.Ja,n=null,m=40,p=0,t=0,y=0,w=0;if(b){switch(a){case h.Kj:c.jd&&0===c.a.i&&0===c.elapsedTime?(c.ie=!1,c.ib=!0,a=h.Vf,c.df=performance.now()):(c.ie=!0,c.ib=!1,a=h.Da);c.reset(c);n="Reset";!c.bb&&g&&-1!==c.la&&(p=1);c.bb&&!g&&-1!==c.la&&(p=-1);!l&&c.Ja&&(w=1);l&&!c.Ja&&(w=-1);!c.nb&&f&&(t=1);c.nb&&!f&&(t=-1);!c.ie&&k&&c.jd&&(y=1);c.ie&&!k&&c.jd&&(y=-1);if(0!==p||0!==t||0!==y||0!==w){n="";0!==p&&(n+="Loop");if(0!==t||0!==w)0!==p&&(n=0!==
y?n+", ":n+" and "),n=0!==t?n+"Waypoints":n+"AutoFit";if(0!==y){if(0!==p||0!==t||0!==w)n+=" and ";n+="AutoStart"}n=0<p||0<t||0<y||0<w?n+" On":n+" Off";m=120}c.h.notification.P(n,m,!0);break;case h.Vf:c.$.current!==h.Vf&&(c.ib=!0,c.h.notification.P("Play",40,!0),c.df=performance.now());break;case h.Nn:c.ib?(c.ib=!1,c.bb||c.Oa||-1===c.la?c.h.notification.P("Pause",40,!0):(c.bb=!0,c.h.notification.P("Pause (Loop Off)",120,!0))):0<c.a.i&&c.ti(c.a.i-c.S);a=h.Da;break;case h.Da:c.ib?(c.ib=!1,c.h.notification.P("Pause",
40,!0)):(c.we=!0,c.df=performance.now())}e=a;c.gm(c.ib)}return e};B.prototype.qh=function(a,b,c){b&&(c.Wb=!0,c.a.B=a[0]);return[c.a.B,c.a.B]};B.prototype.zk=function(a,b,c){b?(c.Wb=!0,c.a.m=a[0]+.5|0,a=a[0]):a=c.a.m;return[a,c.a.m]};B.prototype.uf=function(a,b,c){return b?(c.Wb=!0,c.a.Vb=a[0]*a[0],[a[0],c.a.Vb*h.Xe]):[Math.sqrt(c.a.Vb),c.a.Vb*h.Xe]};B.prototype.Hh=function(a,b,c,e){var g=0,f=0,k=0,l=0,k=0;c?(-1!==e.Tf&&(e.C?(f=e.Uf-b,f/=h.fontSize,0<f?e.xi(e,f):0>f&&e.yi(e,-f)):e.ba?(f=e.Uf-b,f/=
h.fontSize,0<f?e.vi(e,f):0>f&&e.wi(e,-f)):(g=(e.Tf-a)/e.a.zoom,f=(e.Uf-b)/e.a.zoom,k=e.a.I?0:-e.a.B,l=Math.sin(k/180*Math.PI),k=Math.cos(k/180*Math.PI),e.Sa||(e.Wb=!0,e.a.F+=g*k+f*-l,e.a.w+=g*l+f*k))),e.Tf=a,e.Uf=b):(e.Tf=-1,e.Uf=-1)};B.prototype.ve=function(a,b){this.Uf=this.Tf=0;this.Hh(a,b,!0,this);this.Tf=-1};B.prototype.Bj=function(a){var b=null,b=h.rl;null===b&&(b=new Image,b.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZAAAAAoCAMAAADnj1xSAAAAb1BMVEUAAAAAADoAAGYAAP8AOpAAZrYAZv8IAAAIAP8IkNsIkP8NAAANADoNAGYNAP8NZrYNtv8TOgATOmYTOv8T2/8XZgAXZmYXZv8XtrYXttsX//8bkDob//8gtmYgtv8g25Ag/7Yg/9sg//9wcHD///8u+qFBAAAAAXRSTlMAQObYZgAAAylJREFUaN7tmw17mjAQgG0HddStwylrpzj1zP//jTsSoKkkcBeiIOSep0DDeSH3JpcPwmIRJMgU5dJxDmIVkNJ9l6oXgPQGQtOg6gUgfYEsgKRA1QtAegNp93R1n6oXgPQH0ubp+jZVLwDxAMTuaTAcKFa8AxFUvVJs/2vJfbJpfwR7vnq6EF1YCMmdeheSuJRS3B5IIxHs0vGkJCDifu3OfwsRtOfvAaSpB8AnIjhAxIMDIRTAGYhJzwGI4AERjw6kswSOQMzm+UAEF4hvIjabtwPSUQQnIFbjbjxYQMTjA2ktgwMQqmlWB0YHIiYApKUQbCBUw8ywygBiyjOBvV8gL0WrPi4rAM+700oBqS6KtPMaT1Fep2h6XUCsnmMCoZrl1RkmkGamT9vCebqkmSMQNc/YloF2U008dvCmX3gAYvEdCwjVqEMvxwLS0IryD+kcDVDWp+0mAOvCKhwaIctbC7F4jwGEYJLRqYs+QK7VkvPv3aF0Bx5+bFW8Qb+aQpluwZgpunpTnOPj8oLXfwHNo2XEDO8WIEVWmXoC/PsFcA2G5D/fQBjDXtEPiLiKWMdlqljoQFKZ74EPJMqP36sW8bxDG6efaPlJxTENSFkyTFFZ7UsgUHZAswUS5YdFjBW0ArKSISvKsQZj2MnYQGJAINL/pzd0717VfGnvxQgECS6r1rGSv8BDNnzI4kwMfYaspGwKX4HEsnGkzaBFayE1kCIwFUalvW/GkBWrIp7XFZRmvsN06pyJob9OvY4lvoBg9X5XYHhAIGMAmfCwVwYM9EAm40SiYnodsr4Mv1ijLLSiA5GmXsEEpB5pkUPWpCeGalaIFfiz203bOnW9bXTMQ/4VE49NOf0oE03zkLTsx4md+sSXTrbSMaoSA/wpIkYssViGva1Armfqny2kddibKnXSsPeOi4vuLwnuv7jYDqTHWpZ5cjjI8vvC7XXIMMvvwwAJL6hGBYQXxnlAwitcNn9uv8oF0szEBchsNjnwBzp8II1sXHadjGwb0K2AzEc8b5S71b6seQEJW0nHBSRsth4XkPA5wriAhA92xgYkfNI2AwlAJir/AVVatsGcLV/WAAAAAElFTkSuQmCC",
h.rl=b);b=new IconManager(b,a);b.add("play",40,40);b.add("pause",40,40);b.add("tostart",40,40);b.add("menu",40,40);b.add("stepback",40,40);b.add("stepforward",40,40);b.add("autofit",40,40);b.add("fit",40,40);b.add("grid",40,40);b.add("help",40,40);return b};B.prototype.Ih=function(a,b){a.h.hasFocus&&(a.Ff||(b.wheelDelta?a.wheelDelta=b.wheelDelta/120:b.detail&&(a.wheelDelta=-b.detail/3),a.h.ze(!0)),b.preventDefault())};B.prototype.zm=function(){var a=this.R.Jk(this.Yb/h.Pj),b=this.nf,c=this.Ag;this.a.F=
this.a.width/2-(this.pf+a*(this.le-this.pf));this.a.w=this.a.height/2-(this.qf+a*(this.Of-this.qf));this.a.zoom=this.dg*Math.pow(this.Ze/this.dg,a);180<c-b?b+=360:-180>c-b&&(c+=360);this.a.B=(b+a*(c-b))%360;this.Yb+=1;this.Yb>h.Pj&&(this.Yb=-1,this.a.zoom=this.Ze,this.a.B=c,this.a.F=this.a.width/2-this.le,this.a.w=this.a.height/2-this.Of);this.J&&(this.J.current=this.Zb([this.a.zoom,this.a.zoom],!1,this));this.ra&&(this.ra.current=this.qh([this.a.B,this.a.B],!1,this))};B.prototype.to=function(a,b){var c=
this.R.mc[b];a.pf=a.a.width/2-a.a.F;a.qf=a.a.height/2-a.a.w;a.dg=a.a.zoom;a.nf=a.a.B;a.le=c.x;a.Of=c.y;a.Ze=c.zoom;a.Ag=c.B;a.a.I&&(a.le+=a.a.w/2);a.Yb=0;a.h.notification.P("POI "+b,60,!0);""!==c.zb?a.h.notification.P(c.zb,180,!1):a.h.notification.clear(!1,!0)};B.prototype.Dc=function(a,b){a.Sa||(a.pf=a.a.width/2-a.a.F,a.qf=a.a.height/2-a.a.w,a.dg=a.a.zoom,a.nf=a.a.B,a.le=a.pf,a.Of=a.qf,a.Ze=b,a.Ag=a.nf,a.Yb=0)};B.prototype.Lj=function(a){a.$e(!0,!0);a.$.current===h.Da&&(a.Wb=!0)};B.prototype.xm=
function(a,b,c){b&&(c.a.hb=a[0],c.a.Gd()||c.h.notification.P("Grid Lines "+(c.a.hb?"On":"Off"),40,!0));return[c.a.hb]};B.prototype.wm=function(a,b,c){b&&(c.Ja=a[0],c.h.notification.P("AutoFit "+(c.Ja?"On":"Off"),40,!0));return[c.Ja]};B.prototype.mh=function(a,b,c){b&&(c.C=a[0]);return[c.C]};B.prototype.Ak=function(a,b,c){b&&(c.ed=a[0],c.ed&&(c.U?0===c.a.i?(c.a.bd=c.a.Bd.bd,c.a.Qc=c.a.Bd.Qc,c.a.Tc=c.a.Bd.Tc):-1===c.a.u&&(--c.a.i,c.a.ef(!0,c.elapsedTime,c.Ic)):(c.a.bd=0,c.a.Qc=0,c.a.Tc=0)));c.h.ze(!0);
return[c.ed]};B.prototype.wi=function(a,b){1<a.ba&&(a.ba-=b,1>a.ba&&(a.ba=1))};B.prototype.vi=function(a,b){a.ba<a.Jb.length-a.Ea&&(a.ba+=b,a.ba>a.Jb.length-a.Ea&&(a.ba=a.Jb.length-a.Ea))};B.prototype.yi=function(a,b){1<a.C&&(a.C-=b,1>a.C&&(a.C=1))};B.prototype.xi=function(a,b){a.C<a.Wf-a.Ea&&(a.C+=b,a.C>a.Wf-a.Ea&&(a.C=a.Wf-a.Ea))};B.prototype.ti=function(a){this.Ic?this.h.notification.P("Step back disabled",40,!0):(0>a&&(a=0),this.U=this.a.ti(a,this.ed,this.elapsedTime),this.elapsedTime=this.a.elapsedTime,
a!==this.a.i&&(this.Ff=!0,this.Sk=a,this.a.si(!1),this.h.notification.P("Computing previous generations",1E4,!0)))};B.prototype.Vn=function(a,b,c){var e=!0,g=0;if(c.ctrlKey||c.metaKey||c.altKey)b=-1;switch(b){case 191:c.shiftKey?a.a.oi!==a.a.I&&(a.a.I?(a.a.F+=a.a.w/2,a.rb+=a.a.w/2,a.lb+=a.a.w/2,a.a.I=!1):(a.a.F-=a.a.w/2,a.rb-=a.a.w/2,a.lb-=a.a.w/2,a.a.I=!0),a.h.notification.P("Hex Display "+(a.a.I?"On":"Off"),40,!0)):(a.a.I?(a.a.F+=a.a.w/2,a.rb+=a.a.w/2,a.lb+=a.a.w/2,a.a.I=!1):(a.a.F-=a.a.w/2,a.rb-=
a.a.w/2,a.lb-=a.a.w/2,a.a.I=!0),a.h.notification.P("Hex Display "+(a.a.I?"On":"Off"),40,!0));a.ra.v=a.a.I;break;case 66:a.vb||(a.$.current===h.Da?0<a.a.i&&a.ti(a.a.i-a.S):a.$.current=a.Nc(h.Da,!0,a));break;case 13:a.vb||(a.$.current=a.$.current===h.Vf?a.Nc(h.Da,!0,a):a.Nc(h.Vf,!0,a));break;case 32:a.vb||(a.ib?a.$.current=a.Nc(h.Da,!0,a):(a.we=!0,a.df=performance.now()));break;case 87:a.Oa?(a.nb=!a.nb,-1!==a.la?(a.bb=a.nb,a.h.notification.P("Loop "+(a.bb?"Off":"On")+", Waypoints "+(a.nb?"Off":"On"),
40,!0)):a.h.notification.P("Waypoints "+(a.nb?"Off":"On"),40,!0),a.nb?a.h.notification.clear(!1,!1):a.R.Oi(a.elapsedTime)||(a.R.vn(a.a.i),a.elapsedTime=a.R.el(a.a.i),a.elapsedTime=a.R.Uk(a.a.width/2-a.a.F,a.a.height/2-a.a.w,a.a.zoom,a.a.B,a.a.m,a.a.Vb*h.Xe,a.a.Rc,a.Tb,a.S,a.a.i,a.elapsedTime),a.Wb=!1)):-1!==a.la&&(a.bb=!a.bb,a.h.notification.P("Loop "+(a.bb?"Off":"On"),40,!0));break;case 69:!a.mb.locked&&a.S<h.Gc&&(c.shiftKey?a.S=h.Gc:a.S+=1,a.mb.current=a.Ki([a.S,a.S],!0,a));break;case 68:!a.mb.locked&&
a.S>h.Qg&&(c.shiftKey?a.S=h.Qg:--a.S,a.mb.current=a.Ki([a.S,a.S],!0,a));break;case 90:c.shiftKey?(g=l.Do(),0===g?a.h.notification.P("No LifeViewers playing",100,!0):1<g&&a.h.notification.P("Paused all LifeViewers",100,!0)):(g=l.Eo(a),0===g?a.h.notification.P("No other LifeViewers playing",100,!0):1<g?a.h.notification.P("Paused "+g+" other LifeViewers",100,!0):a.h.notification.P("Paused "+g+" other LifeViewer",100,!0));break;case 88:a.a.hb=!a.a.hb;a.Eg.current=a.xm([a.a.hb],!0,a);break;case 80:a.tb||
a.La.locked||(a.La.current=.99>=a.La.current[0]?a.uf([a.La.current[0]+.01,a.La.current[1]],!0,a):a.uf([1,a.La.current[1]],!0,a));break;case 76:a.tb||a.La.locked||(a.La.current=.01<=a.La.current[0]?a.uf([a.La.current[0]-.01,a.La.current[1]],!0,a):a.uf([0,a.La.current[1]],!0,a));break;case 81:!a.tb&&!a.sb.locked&&a.sb.current[0]<h.ji&&(a.sb.current=a.zk([a.a.m+1,a.sb.current[1]],!0,a));break;case 65:!a.tb&&!a.sb.locked&&a.sb.current[0]>h.li&&(a.sb.current=a.zk([a.a.m-1,a.sb.current[1]],!0,a));break;
case 82:c.shiftKey?l.co():a.$.current=a.Nc(h.Kj,!0,a);break;case 83:a.ag=!a.ag;break;case 78:a.eg&&(a.ia?a.nk():(a.om(),a.C&&(a.C=0)),a.resize());break;case 86:c.shiftKey?(a.dm(a),a.h.notification.P("Saved camera position",100,!0)):a.Sa||(a.jo(a),a.h.notification.P("Restored camera position",100,!0),a.$.current===h.Da&&(a.Wb=!0));break;case 221:a.Sa||(c.shiftKey?(a.a.zoom<=h.$c/2?(a.hd(a.J.current[0],Math.log(2*a.a.zoom/h.yb)/Math.log(h.$c/h.yb)-a.J.current[0]),a.a.zoom*=2):(a.hd(a.J.current[0],1-
a.J.current[0]),a.a.zoom=h.$c),a.J.current=a.Zb([a.a.zoom,a.a.zoom],!1,a)):.99>=a.J.current[0]?(a.hd(a.J.current[0],.01),a.J.current=a.Zb([a.J.current[0]+.01,a.J.current[1]],!0,a)):(a.hd(a.J.current[0],1-a.J.current[0]),a.J.current=a.Zb([1,a.J.current[1]],!0,a)));break;case 219:a.Sa||(c.shiftKey?(a.a.zoom>=2*h.yb?(a.hd(a.J.current[0],Math.log(a.a.zoom/2/h.yb)/Math.log(h.$c/h.yb)-a.J.current[0]),a.a.zoom/=2):(a.hd(a.J.current[0],-a.J.current[0]),a.a.zoom=h.yb),a.J.current=a.Zb([a.a.zoom,a.a.zoom],
!1,a)):.01<=a.J.current[0]?(a.hd(a.J.current[0],-.01),a.J.current=a.Zb([a.J.current[0]-.01,a.J.current[1]],!0,a)):(a.hd(a.J.current[0],-a.J.current[0]),a.J.current=a.Zb([0,a.J.current[1]],!0,a)));break;case 48:a.ra.locked||(a.a.B=0,a.ra.current=[a.a.B,a.a.B]);break;case 49:c.shiftKey?(1<=a.a.zoom?a.Dc(a,a.a.zoom+.5|0):a.Dc(a,1/(1/a.a.zoom+.5|0)),a.h.notification.P("Integer Zoom",40,!0)):a.Dc(a,1);break;case 50:c.shiftKey?a.Dc(a,.5):a.Dc(a,2);break;case 51:a.Dc(a,32);break;case 52:c.shiftKey?a.Dc(a,
.25):a.Dc(a,4);break;case 54:c.shiftKey?a.Dc(a,.0625):a.Dc(a,16);break;case 56:c.shiftKey?a.Dc(a,.125):a.Dc(a,8);break;case 189:!a.vb&&a.ha&&(a.ha.current=.01<=a.ha.current[0]&&!c.shiftKey?a.vf([a.ha.current[0]-.01,a.ha.current[1]],!0,a):a.vf([0,a.ha.current[1]],!0,a));break;case 187:!a.vb&&a.ha&&(a.ha.current=.99>=a.ha.current[0]&&!c.shiftKey?a.vf([a.ha.current[0]+.01,a.ha.current[1]],!0,a):a.vf([1,a.ha.current[1]],!0,a));break;case 188:a.ra.locked||(g=a.ra.current[0],c.shiftKey?g-=90:--g,0>g&&(g+=
360),a.ra.current=a.qh([g,g],!0,a));break;case 190:a.ra.locked||(g=a.ra.current[0],g=c.shiftKey?g+90:g+1,360<=g&&(g-=360),a.ra.current=a.qh([g,g],!0,a));break;case 74:a.R.mc.length?a.Sa||(c.shiftKey?(--a.Id,0>a.Id&&(a.Id=a.R.mc.length-1)):(a.Id+=1,a.Id>=a.R.mc.length&&(a.Id=0)),a.to(a,a.Id)):a.h.notification.P("No POIs defined",80,!0);break;case 84:a.yk([!a.h.ah],a);break;case 71:a.vb||(c.shiftKey?a.$h=!a.$h:(a.Ak([!a.ed],!0,a),a.ec&&(a.ec.current=[a.ed],a.h.hg=!0)));break;case 70:c.shiftKey?a.he.locked||
(a.Ja=!a.Ja,a.he.current=a.wm([a.Ja],!0,a)):a.Cg.locked||(a.$e(!0,!0),a.h.notification.P("Fit Zoom",80,!0),a.$.current===h.Da&&(a.Wb=!0));break;case 79:a.so(a);break;case 37:c.shiftKey?a.ve(a.a.zoom,a.a.zoom):a.ve(a.a.zoom,0);break;case 38:a.C?a.yi(a,1):a.ba?a.wi(a,1):c.shiftKey?a.ve(-a.a.zoom,a.a.zoom):a.ve(0,a.a.zoom);break;case 39:c.shiftKey?a.ve(-a.a.zoom,-a.a.zoom):a.ve(-a.a.zoom,0);break;case 40:a.C?a.xi(a,1):a.ba?a.vi(a,1):c.shiftKey?a.ve(a.a.zoom,-a.a.zoom):a.ve(0,-a.a.zoom);break;case 77:a.xd&&
!a.xd.v&&(a.xd.current[0]=!a.xd.current[0],a.h.hg=!0);break;case 67:a.tb||!a.Kb||a.Kb.locked||(c.shiftKey?g=a.We:(g=a.Kb.current[0],g+=1,a.Ue?g>=a.a.Xb+1&&(g=0):g>=a.a.Xb&&(g=0)),a.Kb.current=a.Dm([g,g],!0,a));break;case 72:c.shiftKey?(a.af=!a.af,a.h.notification.P("AutoFit History "+(a.af?"On":"Off"),40,!0)):(a.Jb.length?a.C?a.C=0:a.C=a.em:a.C?a.C=0:a.ia||(a.C=1),a.Rf.current=a.mh([a.C],!0,a));break;case 73:c.shiftKey?a.Ca=!a.Ca:(a.C?a.C!==a.ei?a.C=a.ei:a.C=0:a.ia||(a.C=a.ei),a.Rf.current=a.mh([a.C],
!0,a));break;case 27:a.Xc?a.ba?(a.Jb=[],a.ba=0):n():a.C?a.C=0:a.ba?(a.Jb=[],a.ba=0):a.ib?a.$.current=a.Nc(h.Da,!0,a):a.Oa&&!a.nb&&(a.nb=!0,a.h.notification.P("Waypoints "+(a.nb?"Off":"On"),40,!0));a.C=0;a.Rf.current=a.mh([a.C],!0,a);break;case 33:a.C?a.yi(a,a.Ea):a.ba&&a.wi(a,a.Ea);break;case 34:a.C?a.xi(a,a.Ea):a.ba&&a.vi(a,a.Ea);break;case 36:a.C?a.C=1:a.ba&&(a.ba=1);break;case 35:a.C?a.C=a.Wf-a.Ea:a.ba&&(a.ba=a.Jb.length-a.Ea);break;default:e=!1}return e};B.prototype.Wn=function(a,b,c){var e=!0;
if(c.ctrlKey||c.metaKey||c.altKey)b=-1;switch(b){case 84:a.yk([!a.h.ah],a);break;default:e=!1}return e};B.prototype.Xn=function(a,b){var c=b.charCode||b.keyCode,e=!1;if(e=a.Ff?a.Wn(a,c,b):a.Vn(a,c,b))a.h.ze(!0),b.preventDefault()};B.prototype.Ij=function(){this.D=this.h.$m(this.Yo,this.Zo,this);this.D.cj=this.Hh;this.cc=this.D.Za(Menu.Rg,0,40,200,20,"");this.cc.textAlign=Menu.left;this.cc.font=h.ce;this.rd=this.D.Za(Menu.lc,-280,40,20,20,"E");this.rd.font=h.ce;this.rd.textAlign=Menu.right;this.ud=
this.D.Za(Menu.lc,-210,40,20,20,"S");this.ud.font=h.ce;this.ud.textAlign=Menu.right;this.Md=this.D.Za(Menu.lc,-140,40,20,20,"W");this.Md.font=h.ce;this.Md.textAlign=Menu.right;this.sd=this.D.Za(Menu.lc,-70,40,20,20,"N");this.sd.font=h.ce;this.sd.textAlign=Menu.right;this.bc=this.D.Za(Menu.lc,-260,40,50,20,"");this.bc.textAlign=Menu.right;this.bc.font=h.ce;this.xc=this.D.Za(Menu.lc,-190,40,50,20,"");this.xc.textAlign=Menu.right;this.xc.font=h.ce;this.vc=this.D.Za(Menu.lc,-120,40,50,20,"");this.vc.textAlign=
Menu.right;this.vc.font=h.ce;this.wc=this.D.Za(Menu.lc,-50,40,50,20,"");this.wc.textAlign=Menu.right;this.wc.font=h.ce;this.Sc=this.D.gd(null,Menu.Rg,90,0,40,20,["START"],[!1],Menu.wd);this.Sc.font=h.Ai;this.Ee=this.D.gd(null,Menu.Rg,90,20,40,20,["STOP"],[!1],Menu.wd);this.Ee.font=h.Ai;this.Ie=this.D.gd(null,Menu.lc,-130,0,40,20,["WAYPT"],[!1],Menu.wd);this.Ie.font=h.Ai;this.Nd=this.D.gd(null,Menu.lc,-130,20,40,20,["LOOP"],[!1],Menu.wd);this.Nd.font=h.Ai;this.Rf=this.D.gd(this.mh,Menu.lc,-40,0,40,
40,[""],[!1],Menu.wd);this.Rf.icon=[h.Ua.icon("help")];this.he=this.D.gd(this.wm,Menu.Rg,0,0,40,40,[""],[!1],Menu.wd);this.he.icon=[h.Ua.icon("autofit")];this.Cg=this.D.Hm(this.Lj);this.Cg.icon=h.Ua.icon("fit");this.Eg=this.D.gd(this.xm,Menu.lc,-85,0,40,40,[""],[!1],Menu.wd);this.Eg.icon=[h.Ua.icon("grid")];this.Jc=this.D.Im();this.Jc.locked=!0;this.Bf=this.D.Za(Menu.Ae,0,-100,70,30,"Time");this.Bf.textAlign=Menu.left;this.Bf.font=h.Cd;this.zg=this.D.Za(Menu.Ae,70,-100,70,30,"");this.zg.textAlign=
Menu.right;this.zg.font=h.Cd;this.Cc=this.D.Za(Menu.Ae,0,-70,140,30,"");this.Cc.textAlign=Menu.left;this.Cc.font=h.Cd;this.ec=this.D.gd(this.Ak,Menu.Ae,0,-40,100,40,[""],[this.ed],Menu.wd);this.Nb=this.D.Za(Menu.Ae,0,-40,this.o-40,40,"");this.Nb.textAlign=Menu.left;this.Nb.v=!0;this.Pe=this.D.Za(Menu.cd,-140,-130,70,30,"Alive");this.Pe.textAlign=Menu.left;this.Pe.font=h.Cd;this.Ug=this.D.Za(Menu.cd,-70,-130,70,30,"");this.Ug.textAlign=Menu.right;this.Ug.font=h.Cd;this.yf=this.D.Za(Menu.cd,-140,-100,
70,30,"Births");this.yf.textAlign=Menu.left;this.yf.font=h.Cd;this.ug=this.D.Za(Menu.cd,-70,-100,70,30,"");this.ug.textAlign=Menu.right;this.ug.font=h.Cd;this.Ne=this.D.Za(Menu.cd,-140,-70,70,30,"Deaths");this.Ne.textAlign=Menu.left;this.Ne.font=h.Cd;this.xg=this.D.Za(Menu.cd,-70,-70,70,30,"");this.xg.textAlign=Menu.right;this.xg.font=h.Cd;this.Be=this.D.Za(Menu.Ae,0,-130,140,30,this.Eb);this.Be.font=h.Cd;this.J=this.D.Qe(this.Zb,Menu.Oj,0,0,212,40,0,1,.1,"Zoom ","x",1);this.sb=this.D.Qe(this.zk,
Menu.Wo,30,0,40,292,h.ji,h.li,1,"Layers ","",0);this.La=this.D.Qe(this.uf,Menu.dl,-70,0,40,292,1,0,.1,"Depth ","",2);this.ra=this.D.Qe(this.qh,Menu.Oj,0,50,390,40,0,359,0,"Angle ","\u00b0",0);this.xd=this.D.gd(null,Menu.cd,-40,-40,40,40,[""],[!1],Menu.wd);this.xd.icon=[h.Ua.icon("menu")];this.Kb=this.D.Qe(this.Dm,Menu.km,0,-90,390,40,0,this.a.Xb-1,1,"Theme ","",0);this.ha=this.D.Qe(this.vf,Menu.cd,-375,-40,80,40,0,1,0,"","gps",0);this.mb=this.D.Qe(this.Ki,Menu.cd,-290,-40,80,40,h.Qg,h.Gc,1,"x","",
0);this.$=this.D.gd(this.Nc,Menu.cd,-205,-40,160,40,["","","",""],h.Da,Menu.hk);this.$.icon=[h.Ua.icon("tostart"),h.Ua.icon("stepback"),h.Ua.icon("pause"),h.Ua.icon("play")];this.xd.Ek([this.sb,this.La,this.ra,this.Kb]);this.ec.Ek([this.Pe,this.Ug,this.yf,this.ug,this.Ne,this.xg,this.Bf,this.zg,this.Be])};B.prototype.ij=function(a){var b=this;this.s=a;this.s.getContext&&(this.s.width!==this.Cb&&k.ii&&(this.s.width=this.Cb),this.s.width&=-8,this.Zc=this.s.getContext("2d",{alpha:!1}),this.Zc.globalAlpha=
1,this.Zc.fillStyle="black",this.Zc.fillRect(0,0,this.s.width,this.s.height),this.hf=document.createElement("canvas"),this.hf.width=this.s.width,this.hf.height=this.s.height,this.Hb=this.hf.getContext("2d",{alpha:!1}),this.o=this.s.width,this.l=this.s.height,this.a=new Life(this.Hb,this.o,this.l,1024,1024),this.a.Cn(this.Hb,this.o,this.l),this.Hb.textAlign="left",this.Hb.textBaseline="middle",h.Ua=this.Bj(this.Hb),this.h=new MenuManager(this.Zc,this.Hb,"24px Arial",h.Ua,this,this.Sj),this.h.ah=!1,
this.Ij(),this.mg=this.$.x,this.kg=this.ha.x,this.pg=this.mb.x,registerEvent(this.s,"DOMMouseScroll",function(a){b.Ih(b,a)},!1),registerEvent(this.s,"mousewheel",function(a){b.Ih(b,a)},!1),this.h.notification.enabled=!0,this.h.Gm(this.D),registerEvent(this.s,"keydown",function(a){b.Xn(b,a)},!1))};B.prototype.wh=function(a){var b=!0;switch(a){case g.pk:case g.dk:case g.gk:case g.ek:case g.Tg:case g.Qd:case g.jc:case g.Oc:case g.sj:case g.ik:case g.Wh:case g.Zi:case g.Uj:case g.gg:case g.Mj:case g.Nj:case g.Hi:case g.Fi:case g.Gi:case g.dh:case g.Eh:case g.uj:case g.Di:case g.Bi:case g.Rj:case g.Fg:case g.Dg:case g.mk:case g.ab:case g.Si:case g.Qb:case g.Rb:case g.Li:case g.Mi:case g.Bb:case g.Og:case g.rh:case g.uk:case g.tk:case g.rf:case g.Fh:case g.Zg:case g.bk:case g.sg:case g.hh:case g.ai:case g.fh:case g.hi:case g.Uh:case g.Bk:case g.qj:b=
!0;break;default:b=!1}return b};B.prototype.fb=function(a,b,c,e,g){var h=a.kf();""===h||this.wh(h)?b[b.length]=[c,e+" missing"]:(b[b.length]=[c+" "+h,e+" must be "+g],a.oa())};B.prototype.ca=function(a,b,c,e){var g=!0,f=0,k=0,l=0,n=null,m=null,p=a.oa();if(a.V()){f=a.W()|0;if(0>f||255<f)b[b.length]=[e+" "+p+" "+f,"RED out of range"];if(a.V()){k=a.W();if(0>k||255<k)b[b.length]=[e+" "+p+" "+f+" "+k,"GREEN out of range"];a.V()?(l=a.W(),0>l||255<l?b[b.length]=[e+" "+p+" "+f+" "+k+" "+l,"BLUE out of range"]:
g=!1):this.fb(a,b,e+" "+p+" "+f+" "+k,"BLUE","numeric")}else this.fb(a,b,e+" "+p+" "+f,"GREEN","numeric")}else n=a.kf(),m=ColourManager.Sb[n.toLowerCase()],void 0!==m?(a.oa(),f=m[1],k=m[2],l=m[3],g=!1):""===n||this.wh(n)?b[b.length]=[e+" "+p,"name missing"]:(b[b.length]=[e+" "+p+" "+n,"name not known"],a.oa());g||(-1!==this.c[c]&&(b[b.length]=[e+" "+p+" "+f+" "+k+" "+l,"overwrites ("+(this.c[c]>>16)+" "+(this.c[c]>>8&255)+" "+(this.c[c]&255)+")"]),this.c[c]=f<<16|k<<8|l,c===h.Ph?this.nd=this.c[c]:
c===h.Qh?this.od=this.c[c]:c===h.Rh?(this.Ha.red=f,this.Ha.green=k,this.Ha.blue=l):c===h.Sh?this.K=[f,k,l]:c===h.Nh?(this.Qa=[f,k,l],this.a.Df=this.a.oe?-16777216|l<<16|k<<8|f:f<<24|k<<16|l<<8|255):this.Ue=!0)};B.prototype.Vo=function(a,b){var c=!0,e=0,f=this.a.Lb[this.a.Xb];-1===this.c[h.Hf]&&(a[a.length]=[b+" "+g.rk,"missing"],c=!1);-1===this.c[h.If]&&-1===this.c[h.Ve]&&(a[a.length]=[b+" "+g.sk,"missing"],c=!1);c&&(e=this.c[h.If],-1===e&&(e=this.c[h.Ve]),f.Mb.red=e>>16,f.Mb.green=e>>8&255,f.Mb.blue=
e&255,e=this.c[h.Hf],f.ya.G.red=e>>16,f.ya.G.green=e>>8&255,f.ya.G.blue=e&255,e=this.c[h.Mh],-1===e&&(e=this.c[h.Hf]),f.ya.Z.red=e>>16,f.ya.Z.green=e>>8&255,f.ya.Z.blue=e&255,e=this.c[h.Ve],-1===e&&(e=this.c[h.If]),f.ua.G.red=e>>16,f.ua.G.green=e>>8&255,f.ua.G.blue=e&255,e=this.c[h.Oh],-1===e&&(e=this.c[h.Ve]),f.ua.Z.red=e>>16,f.ua.Z.green=e>>8&255,f.ua.Z.blue=e&255,this.a.be(this.a.Xb,1))};B.prototype.Xo=function(a){var b=this.R.wn();b.He||(b.x=this.a.width/2-this.a.F);b.fe||(b.y=this.a.height/2-
this.a.w);b.$b||(b.zoom=this.a.zoom);b.rg||(b.B=this.a.B);b.Mg||(b.m=this.a.m);b.yg||(b.depth=this.a.Vb);b.Qf||(b.Aa=this.Tb);b.eh||(b.step=this.S);b.De||(b.Ga=this.a.Rc);this.R.Un(a)};B.prototype.Qj=function(a){var b=this.Hb,c=0,e=a.length;b.font=h.tf;c=b.measureText(a).width;if(420<c){--e;for(c=b.measureText(a.substr(0,e)+"...").width;420<c;)--e,c=b.measureText(a.substr(0,e)+"...").width;a=a.substr(0,e)+"..."}return a};B.prototype.Af=function(a,b){var c=a;a.length>b&&(c=a.substr(0,b-1)+"...");return c};
B.prototype.Bh=function(a,b,c){var e=a.indexOf("\\n");-1!==e&&(c?b[b.length]=[g.gg+" "+g.Xa+this.Af(a,23)+g.Xa,"only one line allowed"]:(e=a.substr(e+2).indexOf("\\n"),-1!==e&&(b[b.length]=[g.Xa+this.Af(a,23),"only two lines allowed"])))};B.prototype.xh=function(a,b,c){var e=g.hh+" ",h="overwrites (",e=b>=this.a.Xb?e+g.gh:e+b,h=c>=this.a.Xb?h+g.gh:h+c;a[a.length]=[e,h+")"]};B.prototype.Ra=function(a,b,c,e,g,h){var f=0,k=0,l=0;if(a.V()){f=a.W()|0;if(0>f||255<f)b[b.length]=[e+" "+h+" "+f,"RED out of range"],
g=!0;if(a.V()){k=a.W()|0;if(0>k||255<k)b[b.length]=[e+" "+h+" "+f+" "+k,"GREEN out of range"],g=!0;a.V()?(l=a.W()|0,0>l||255<l?b[b.length]=[e+" "+h+" "+f+" "+k+" "+l,"BLUE out of range"]:g||(-1!==this.H[c]&&(b[b.length]=[e+" "+h+" "+f+" "+k+" "+l,"overwrites ("+(this.H[c]>>16)+" "+(this.H[c]>>8&255)+" "+(this.H[c]&255)+")"]),this.H[c]=f<<16|k<<8|l)):this.fb(a,b,e+" "+h+" "+f+" "+k,"BLUE","numeric")}else this.fb(a,b,e+" "+h+" "+f,"GREEN","numeric")}else this.fb(a,b,e+" "+h,"RED","numeric")};B.prototype.uh=
function(a,b,c){var e=!0,f=b.kf(),k=null,l=0,l=-1,n=0,m=0,k=a===g.Qd?this.a.bf:this.a.cf;if(f.length!==h.vk)if(b.V()){f=b.oa();l=b.Hk(f);if(l<h.Ll||l>h.Fl)c[c.length]=[a+" "+g.Yn+" "+l,"argument out of range"],l=.5;m=0;k[m]=0;for(m+=1;512>m;)myRand.random()<l?k[m]=1:k[m]=0,m+=1}else e=!1;else for(n=0;n<h.vk&&e;)-1===h.Gh.indexOf(f[n])?e=!1:n+=1;if(e&&(a===g.Qd?(this.eb&&(c[c.length]=[a,"overwrites previous definition"]),this.eb=!0):(this.Db&&(c[c.length]=[a,"overwrites previous definition"]),this.Db=
!0),-1===l)){m=n=0;for(f=b.oa();n<h.vk-1;)l=h.Gh.indexOf(f[n]),k[m]=l>>5,m+=1,k[m]=l>>4&1,m+=1,k[m]=l>>3&1,m+=1,k[m]=l>>2&1,m+=1,k[m]=l>>1&1,m+=1,k[m]=l&1,m+=1,n+=1;l=h.Gh.indexOf(f[n]);k[m]=l>>5;k[m+1]=l>>4&1}return e};B.prototype.Jj=function(a,b,c){var e=a.width,g=a.height,h=null,f=null,k=0,l=0,n=0;if(c)for(k=0;k<g/2;k+=1)for(h=a.Va[k],f=a.Va[g-k-1],l=0;l<e/2;l+=1)n=e-l-1,myRand.random()<b?(h[l>>4]|=1<<(~l&15),f[l>>4]|=1<<(~l&15),h[n>>4]|=1<<(~n&15),f[n>>4]|=1<<(~n&15)):(h[l>>4]&=~(1<<(~l&15)),
f[l>>4]&=~(1<<(~l&15)),h[n>>4]&=~(1<<(~n&15)),f[n>>4]&=~(1<<(~n&15)));else for(k=0;k<g;k+=1)for(h=a.Va[k],l=0;l<e;l+=1)myRand.random()<b?h[l>>4]|=1<<(~l&15):h[l>>4]&=~(1<<(~l&15))};B.prototype.Qo=function(a){var b="",c=a.indexOf(g.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+=h.xk;break;case "N":b+=this.Ud;break;case "R":b+=this.Eb;break;case "O":b+=this.Wd;break;case "T":b+=h.tn;break;case g.rc:b+=g.rc;break;default:b+=g.rc+
e}c=a.indexOf(g.rc)}else c=-1;b+=a}return b};B.prototype.X=function(a,b,c,e){e[e.length]=a?b===g.jc?[b+" "+c,"already defined"]:[b+" "+c,"overwrites "+g.jc]:b===g.jc?[b+" "+c,"overwrites "+g.Oc]:[b+" "+c,"already defined"]};B.prototype.Zn=function(a,b){var c=new Script(a),e=!1,f="",k="",l=!1,n="",m=0,p=!1,t=!1,z=this.Jb,y=null,w=p=y=0,u="",w=this.R.Lh(),B=!1,A=!1,k=!1,E="numeric",F=-1,J=-1,K=-1,V=k=-1,W=-1,Z=W=V=k=0;this.lg=this.Pd=f=0;this.Ue=!1;this.c[h.If]=-1;this.c[h.Hf]=-1;this.c[h.Mh]=-1;this.c[h.Ve]=
-1;this.c[h.Oh]=-1;this.c[h.Ph]=-1;this.c[h.Qh]=-1;this.c[h.Rh]=-1;this.c[h.Sh]=-1;this.c[h.Nh]=-1;this.H=[];if(c.fl(g.Zg)){for(f=0;256>f;f+=1)this.H[f]=-1;for(f=c.oa();""!==f;){E="numeric";if(l)f[f.length-1]===g.Xa?(n=n+" "+f.substr(0,f.length-1),l=!1,this.Bh(n,z,e),e?(""!==this.aa&&(z[z.length]=[g.gg+" "+g.Xa+this.Af(n,20)+g.Xa,"overwrites "+g.Xa+this.aa+g.Xa]),this.aa=n,e=!1):(w.zb=n,w.qk=!0)):n=n+" "+f;else if(f[0]===g.Xa)n=f.substr(1),l=!0,f[f.length-1]===g.Xa&&(l=!1,n=n.substr(0,n.length-1),
this.Bh(n,z,e),e?(""!==this.aa&&(z[z.length]=[g.gg+" "+g.Xa+this.Af(n,20)+g.Xa,"overwrites "+g.Xa+this.aa+g.Xa]),this.aa=n,e=!1):(w.zb=n,w.qk=!0));else{p=t=!1;this.Pd+=1;switch(f){case g.gg:p=e=!0;break;case g.Mj:p=this.Ic=!0;break;case g.Nj:this.fk=!1;p=!0;break;case g.dh:p=this.ag=!0;break;case g.Eh:p=w.Pb=!0;break;case g.uj:p=this.af=!0;break;case g.Fg:p=this.a.hb=!0;break;case g.Dg:c.V()&&(t=!0,m=c.W()|0,m>=h.Ln&&m<=h.Fn&&(this.a.pd=m,p=!0));break;case g.ab:case g.Si:u=f;k=!1;if(c.V()){p=c.W()|
0;if(0>p||255<=p)z[z.length]=[f+" "+p,"STATE out of range"],k=!0;this.Ra(c,z,p,f,k,p)}else switch(k=c.kf(),k){case g.Ol:k=c.oa();this.Ra(c,z,h.Pl,f,!1,k);break;case g.Ql:k=c.oa();this.Ra(c,z,h.Rl,f,!1,k);break;case g.ol:k=c.oa();this.Ra(c,z,h.ql,f,!1,k);break;case g.yl:k=c.oa();this.Ra(c,z,h.zl,f,!1,k);break;case g.Cl:k=c.oa();this.Ra(c,z,h.Dl,f,!1,k);break;case g.Al:k=c.oa();this.Ra(c,z,h.Bl,f,!1,k);break;case g.ul:k=c.oa();this.Ra(c,z,h.vl,f,!1,k);break;case g.sm:this.ca(c,z,h.If,u);break;case g.rk:this.ca(c,
z,h.Hf,u);break;case g.rm:this.ca(c,z,h.Mh,u);break;case g.sk:this.ca(c,z,h.Ve,u);break;case g.tm:this.ca(c,z,h.Oh,u);break;case g.Fg:this.ca(c,z,h.Ph,u);break;case g.Dg:this.ca(c,z,h.Qh,u);break;case g.dh:this.ca(c,z,h.Rh,u);break;case g.pk:this.ca(c,z,h.Sh,u);break;case g.Kk:this.ca(c,z,h.Nh,u);break;default:z[z.length]=[f+" "+k,"illegal element"],c.oa()}p=!0;break;case g.bk:c.fl(g.Zg);p=!0;--this.Pd;break;case g.rh:p=this.vb=!0;break;case g.mk:p=this.yh=!0;break;case g.Fh:p=this.jd=!0;break;case g.Hi:c.V()&&
(t=!0,m=c.W(),m>=h.se&&m<=h.re&&(V=m,t=!1,f+=" "+m,c.V()&&(t=!0,m=c.W(),m>=h.se&&m<=h.re&&(W=m,p=!0,this.Ia&&(z[z.length]=[g.Hi+" "+V+" "+W,"overwrites "+J+" "+K]),J=V,K=W,this.Ia=!0))));break;case g.Gi:c.V()&&(t=!0,m=c.W()|0,0<m&&(k=m,t=!1,f+=" "+m,c.V()&&(t=!0,m=c.W(),m>=h.se&&m<=h.re&&(V=m,t=!1,f+=" "+m,c.V()&&(t=!0,m=c.W(),m>=h.se&&m<=h.re&&(W=m,p=!0,this.fa&&(z[z.length]=[g.Gi+" "+k+" "+V+" "+W,"overwrites "+F+" "+J+" "+K]),F=k,J=V,K=W,this.fa=!0))))));break;case g.Fi:c.V()&&(t=!0,m=c.W(),m>=
h.se&&m<=h.re&&(W=m,t=!1,f+=" "+m,c.V()&&(t=!0,m=c.W(),m>=h.se&&m<=h.re&&(V=m,t=!1,f+=" "+m,c.V()&&(t=!0,m=c.W(),m>=h.se&&m<=h.re&&(Z=m,t=!1,f+=" "+m,c.V()&&(t=!0,m=c.W(),m>=h.se&&m<=h.re&&(k=m,p=!0,this.pb&&(z[z.length]=[g.Fi+" "+k+" "+W+" "+V+" "+Z,"overwrites "+this.Fe+" "+this.yc+" "+this.zc+" "+this.Ge]),this.pb=!0,this.Fe=k,this.yc=W,this.zc=V,this.Ge=Z))))))));break;case g.Og:c.V()&&(t=!0,m=c.W()|0,0<m&&(-1!==this.la&&(z[z.length]=[g.Og+" "+m,"overwrites "+this.la]),this.la=m,p=!0));break;
case g.fh:c.V()&&(t=!0,m=c.W()|0,0<m&&(-1!==this.Dd&&(z[z.length]=[g.fh+" "+m,"overwrites "+this.Dd]),this.Dd=m,p=!0));break;case g.sg:c.V()&&(t=!0,m=c.W()|0,0<=m&&359>=m&&(w.rg&&(z[z.length]=[g.sg+" "+m,"overwrites ("+w.B+")"]),w.B=m,p=w.rg=!0));break;case g.hi:c.V()&&(t=!0,m=c.W()|0,m>=h.li&&m<=h.ji&&(w.Mg&&(z[z.length]=[g.hi+" "+m,"overwrites ("+w.m+")"]),w.m=m,p=w.Mg=!0));break;case g.Uh:c.V()&&(t=!0,m=c.W(),m>=h.ki&&m<=h.Gl&&(w.yg&&(z[z.length]=[g.Uh+" "+m+"overwrites ("+w.depth+")"]),w.depth=
m,p=w.yg=!0));break;case g.Li:c.V()&&(t=!0,m=c.W(),m>=-this.a.Wa/2&&m<=this.a.Wa/2&&(this.ja=m,p=!0));break;case g.Mi:c.V()&&(t=!0,m=c.W(),m>=-this.a.Wa/2&&m<=this.a.Wa/2&&(this.ta=m,p=!0));break;case g.Qb:c.V()&&(t=!0,m=c.W(),m>=-this.a.Wa/2&&m<=this.a.Wa/2&&(w.He&&(z[z.length]=[g.Qb+" "+m,"overwrites ("+w.x+")"]),w.x=-m,p=w.He=!0));break;case g.Rb:c.V()&&(t=!0,m=c.W(),m>=-this.a.Wa/2&&m<=this.a.Wa/2&&(w.fe&&(z[z.length]=[g.Rb+" "+m,"overwrites ("+w.y+")"]),w.y=-m,p=w.fe=!0));break;case g.Bb:c.V()&&
(t=!0,m=c.W(),m>=h.yb&&m<=h.$c?(w.$b&&(z[z.length]=1>w.zoom?[g.Bb+" "+m,"overwrites ("+-(1/w.zoom)+")"]:[g.Bb+" "+m,"overwrites ("+w.zoom+")"]),w.zoom=m,p=w.$b=!0):m>=h.Mn&&m<=h.Gn&&(w.$b&&(z[z.length]=1>w.zoom?[g.Bb+" "+m,"overwrites ("+-(1/w.zoom)+")"]:[g.Bb+" "+m,"overwrites ("+w.zoom+")"]),w.zoom=-(1/m),p=w.$b=!0));break;case g.ai:c.V()&&(t=!0,m=c.W()|0,m>=h.Hc&&m<=h.qe&&(w.Qf&&(z[z.length]=[g.ai+" "+m,"overwrites ("+w.Aa+")"]),w.Aa=m,p=w.Qf=!0));break;case g.uk:this.Xc||(this.eg=this.ia=!0);
p=!0;break;case g.vm:this.Xc||(this.rf=this.eg=this.ia=!0,this.h.rf=!0);p=!0;break;case g.tk:c.V()&&(t=!0,m=c.W()|0,m>=h.Ml&&m<=h.Il&&(this.fd=m,p=!0));break;case g.hh:c.V()?(t=!0,m=c.W()|0,0<=m&&m<this.a.Xb&&(w.De&&this.xh(z,m,w.Ga),w.Ga=m,p=w.De=!0)):(k=c.kf(),k===g.gh&&(c.oa(),this.Ue?(w.De&&this.xh(z,this.a.Xb,w.Ga),w.Ga=this.a.Xb,w.De=!0):z[z.length]=[g.hh+" "+g.gh,"no custom THEME defined"],p=!0));break;case g.Zg:z[z.length]=[f,"already in a script block"];p=!0;break;case g.ek:this.Ca=!this.Ca;
p=!0;break;case g.gk:this.yk([!0],this);p=!0;break;case g.dk:this.Ak([!0],!0,this);this.ec&&(this.ec.current=[this.ed],this.h.hg=!0);p=!0;break;case g.Zi:c.V()&&(t=!0,m=c.W()|0,m>=h.Kl&&m<=h.El&&(p=!0,this.a.ri=m));break;case g.ik:this.a.I=!1;this.ra.v=this.a.I;p=!0;break;case g.sj:this.a.I=!0;this.ra.v=this.a.I;p=!0;break;case g.Wh:c.V()&&(t=!0,m=c.W(),m>=h.Ll&&m<=h.Fl&&(-1!==this.Ya&&(z[z.length]=[g.Wh+" "+m,"overwrites "+this.Ya]),this.Ya=m,p=!0));break;case g.Qd:p=this.uh(g.Qd,c,z);E="base64";
break;case g.Tg:p=this.uh(g.Tg,c,z);E="base64";break;case g.jc:k=c.kf();switch(k){case g.Qb:w.ee&&this.X(w.sc,g.jc,g.Qb,z);w.sc=!0;w.ee=!0;c.oa();break;case g.Rb:w.ge&&this.X(w.tc,g.jc,g.Rb,z);w.tc=!0;w.ge=!0;c.oa();break;case g.Bb:w.Dk&&this.X(w.uc,g.jc,g.Bb,z);w.uc=!0;w.sh=!0;c.oa();break;case g.Cf:w.ee&&this.X(w.sc,g.jc,g.Qb,z);w.ge&&this.X(w.tc,g.jc,g.Rb,z);w.Dk&&this.X(w.uc,g.jc,g.Bb,z);w.sc=!0;w.ee=!0;w.tc=!0;w.ge=!0;w.uc=!0;w.sh=!0;c.oa();break;default:this.fb(c,z,g.jc,"argument",g.Cf+", "+
g.Qb+", "+g.Rb+" or "+g.Bb)}p=!0;break;case g.Oc:k=c.kf();switch(k){case g.Qb:w.ee&&this.X(w.sc,g.Oc,g.Qb,z);w.sc=!1;w.ee=!0;c.oa();break;case g.Rb:w.ge&&this.X(w.tc,g.Oc,g.Rb,z);w.tc=!1;w.ge=!0;c.oa();break;case g.Bb:w.Dk&&this.X(w.uc,g.Oc,g.Bb,z);w.uc=!1;w.sh=!0;c.oa();break;case g.Cf:w.ee&&this.X(w.sc,g.Oc,g.Qb,z);w.ge&&this.X(w.tc,g.Oc,g.Rb,z);w.Dk&&this.X(w.uc,g.Oc,g.Bb,z);w.sc=!1;w.ee=!0;w.tc=!1;w.ge=!0;w.uc=!1;w.sh=!0;c.oa();break;default:this.fb(c,z,g.Oc,"argument",g.Cf+", "+g.Qb+", "+g.Rb+
" or "+g.Bb)}p=!0;break;case g.Uj:A=!0;this.R.add(w);w=this.R.Lh();p=w.tl=!0;break;case g.Di:c.V()&&(t=!0,m=c.W()|0,0<=m&&(B||(B=!0),0<m&&(this.R.add(w),w=this.R.Lh()),w.ma=m,p=w.pm=!0));break;case g.Bi:c.V()&&(t=!0,m=c.W()|0,m>=h.Qg&&m<=h.Gc&&(w.eh&&(z[z.length]=[g.Bi+" "+m,"overwrites ("+w.step+")"]),w.step=m,p=w.eh=!0));break;case g.Rj:c.V()&&(t=!0,m=c.W(),0<m&&(B||(B=!0),this.R.add(w),w=this.R.Lh(),w.Na=m,p=w.qm=!0));break;case g.Bk:c.V()&&(t=!0,m=c.W()|0,m>=h.te&&m<=this.Cb||this.Xc)&&(p=!0,
this.Xc||(this.Ob=m));break;case g.qj:c.V()&&(t=!0,m=c.W()|0,m>=h.Nl&&m<=h.Jl||this.Xc)&&(p=!0,this.Xc||(this.$d=m));break;default:z[z.length]=[f,"unknown or misspelt command"],p=!0}p||(t?z[z.length]=[f+" "+m,"argument out of range"]:this.fb(c,z,f,"argument",E))}""!==f&&(f=c.oa())}l&&(z[z.length]=[g.Xa+n,"unterminated string"]);this.Db&&!this.eb&&(z[z.length]=[g.Tg,"defined without "+g.Qd],this.Db=!1);if(this.Ia||this.fa)this.fa&&(0<this.a.pd&&(F*=this.a.pd),this.la=F),this.Fe=K,this.yc=J,this.zc=
K,this.Ge=J;(B||A)&&this.R.add(w);if(B)for(w=this.R.da[0],w.De&&this.a.be(w.Ga,1),w.$b&&(this.a.zoom=w.zoom,this.Oe=!0),w.Qf&&(this.Tb=w.Aa),this.Oa=!0,f=0;f<this.R.da.length;f+=1)w=this.R.da[f],w.Pb&&(w.He||w.fe||w.$b)&&(n="",w.He?(n="X "+w.x,w.fe?n=w.$b?n+(", Y "+w.y+" and ZOOM "+w.zoom):n+(" and Y "+w.y):w.$b&&(n+=" and ZOOM "+w.zoom)):w.fe?(n="Y "+w.y,w.$b&&(n+=" and ZOOM "+w.zoom)):w.$b&&(n="ZOOM "+w.zoom),z[z.length]=[g.Eh,"overwrites "+n]);else w.Pb&&(this.Ja=!0),w.He&&(this.a.F=this.a.width/
2-w.x),w.fe&&(this.a.w=this.a.height/2-w.y),w.$b&&(this.a.zoom=w.zoom),w.rg&&(this.a.B=w.B),w.De&&this.a.be(w.Ga,1),w.yg&&(this.a.Vb=w.depth/h.Xe+h.ki),w.Mg&&(this.a.m=w.m),w.Qf&&(this.Tb=w.Aa),w.eh&&(this.S=w.step),w.qk&&this.h.notification.P(w.zb,1E3,!1);w.$b&&(this.Oe=!0);w.He&&(this.ig=!0);w.fe&&(this.jg=!0);for(f=0;f<b;f+=1)-1!==this.H[f]&&(y+=1);if(0<y){this.xf=!0;for(f=0;f<b;f+=1)PatternManager.qc[f]?-1===this.H[f]?(w=this.Sb[f],this.yh&&(z[z.length]=this.a.Ec?[u+" "+h.Bo[f],"definition missing (used "+
(w>>16)+" "+(w>>8&255)+" "+(w&255)+")"]:[u+" "+f,"definition missing (used "+(w>>16)+" "+(w>>8&255)+" "+(w&255)+")"]),this.H[f]=w,this.xf=!1,this.ac[f]=h.nm):this.ac[f]=h.mm:this.ac[f]=h.lk;this.Uc=this.xf?"(custom)":this.Uc+" (custom*)"}else this.H=[];this.Ue&&this.Vo(z,u);-1!==this.nd&&(this.a.hc=this.nd);-1!==this.od&&(this.a.Wc=this.od);2<b&&!this.a.Ec&&-1===this.a.u&&(this.vb=!0);this.vb&&(y="not possible due to "+g.rh,this.jd&&(z[z.length]=[g.Fh,y],this.jd=!1),-1!==this.Dd&&(z[z.length]=[g.fh+
" "+this.Dd,y]),-1!==this.la&&(z[z.length]=[g.Og+" "+this.la,y]));this.wa+h.Gc+2*Math.abs(this.ja)>=this.a.Wa&&(z[z.length]=[g.Li+" "+this.ja,"pattern does not fit on grid at this offset"],this.ja=0);this.gb+h.Gc+2*Math.abs(this.ta)>=this.a.Wa&&(z[z.length]=[g.Mi+" "+this.ta,"pattern does not fit on grid at this offset"],this.ta=0);if(this.Ia||this.fa||this.pb)this.Ja=!0;this.lg=z.length}this.Ue&&this.Kb&&(this.Kb.upper=this.a.Xb);""!==this.aa&&(this.aa=this.Qo(this.aa));this.Ja&&(this.Dh=!0)};B.prototype.Go=
function(){this.Ca=this.Dh=this.Ja=!1;this.H=[];this.K=null;this.ie=this.jd=!1;this.la=this.Dd=-1;this.fa=this.Ia=this.pb=this.Oa=this.nb=this.bb=!1};B.prototype.nk=function(){this.rf?b(this.ej):(this.o=this.Ah,this.l=this.qg,this.a.zoom=this.th,this.J&&(this.J.current=this.Zb([this.a.zoom,this.a.zoom],!1,this)),this.C=this.zh,this.ia=!1,this.h.ia=!1,this.D.v=!1,this.h.notification.P("Shrink with hotkey N",100,!0))};B.prototype.Sj=function(a){a.ia&&(a.nk(),a.resize())};B.prototype.resize=function(){this.s.width=
this.o;this.s.height=this.l;this.hf.width=this.o;this.hf.height=this.l;this.Hb.textBaseline="middle";this.a.$l(this.o,this.l)};B.prototype.om=function(){this.Ah=this.o;this.qg=this.l;this.th=this.a.zoom;this.zh=this.C;this.o=this.o/this.fd|0;this.l=this.l/this.fd|0;this.a.zoom=this.a.zoom/this.fd;this.o&=-8;this.D.v=!0;this.ia=this.h.ia=!0};B.prototype.lm=function(a,b){var c=null,e=0,f=0,k=0,l=!1,e=f=e=0;this.Jb=[];if(c=PatternManager.create("",a))for(this.Zh=PatternManager.jj,this.ng=PatternManager.Vj,
this.og=PatternManager.Wj,this.wa=c.width,this.gb=c.height,this.Ud=c.name,this.Wd=c.Sl,this.ad=c.ad,""===this.ad&&(this.ad="(none)"),this.ob=c.Vd,this.Zd=c.Sg,this.Eb=c.Zf,this.sa=PatternManager.sa,this.a.Ec=c.Ub,this.a.u=c.u,this.a.I=c.I,this.a.oi=c.I,this.a.Yc=c.Yc,this.a.wf=c.wf,this.a.wb=c.ne,this.a.ka=c.qd,this.a.Ka=c.me,this.a.vg=c.lj,this.a.wg=c.nj,this.a.Pi=c.il,this.a.Mk=c.jl,this.Xd=new Uint32Array(this.ob),e=0;e<this.ob;e+=1)this.Xd[e]=PatternManager.qc[e];else this.og=this.ng=this.Zh=
0,this.Wd=this.Ud=this.Eb="",this.Zd=this.ob=this.gb=this.wa=0,this.ad="(none)",this.a.Ec=!1,this.a.I=!1,this.a.Yc=!1,this.a.wf=-1,this.a.oi=!1,this.a.u=-1,this.a.wb=-1;this.fk=!0;this.$h=!1;this.ra.v=this.a.I;this.Ma=PatternManager.Ma;this.a.U=!0;this.a.fc=-1===this.a.u?!1:!0;this.Ya=this.a.Ci=-1;this.Db=this.eb=this.vh=!1;this.a.ri=h.Yk;this.ta=this.ja=0;this.Yb=this.Id=-1;this.Ff=!1;this.af=this.D.locked=!1;this.a.yn();this.a.zn();this.a.Ec&&((PatternManager.qc[2]||PatternManager.qc[3]||PatternManager.qc[4]||
PatternManager.qc[5]||PatternManager.qc[6])&&this.a.bn(),PatternManager.qc[6]&&this.a.cn());this.aa="";this.ag=!1;ColourManager.td();this.a.Ym();this.a.Xm();this.a.Sm();this.a.Ec?this.a.be(10,1):-1!==this.a.u?this.a.be(11,1):this.a.be(1,1);this.a.Tk();this.a.xb(1);this.Tb=60;this.S=1;this.a.m=1;this.a.Vb=.1;this.a.B=0;this.a.zoom=6;this.a.F=this.a.width/2;this.a.w=this.a.height/2;this.jg=this.ig=this.Oe=!1;this.$d=this.Ob=-1;this.c[h.If]=-1;this.c[h.Hf]=-1;this.c[h.Mh]=-1;this.c[h.Ve]=-1;this.c[h.Oh]=
-1;this.c[h.Ph]=-1;this.c[h.Qh]=-1;this.c[h.Rh]=-1;this.c[h.Sh]=-1;this.c[h.Nh]=-1;this.ia&&(this.nk(),this.resize());this.eg=!1;this.h.ia=!1;this.fd=h.Zk;this.rf=!1;this.vb=this.tb=this.h.ip=!1;this.a.hb=!1;this.$.v=!1;this.ec.v=!1;this.ha.v=!1;this.mb.v=!1;this.xd.v=!1;this.sb.v=!1;this.La.v=!1;this.Kb.v=!1;this.D.v=!1;this.Jc.v=!1;this.xd.current=[!1];this.ec.current=[!1];this.ba=this.C=0;this.Rf.current=this.mh([this.C],!0,this);this.a.hc=this.a.di;this.a.Wc=this.a.mj;this.a.pd=10;this.nd=this.od=
-1;this.Qa=[96,96,96];this.a.Df=this.a.oe?4284506208:1616929023;this.R.reset();this.Ic=this.Oa=!1;if(c){if(PatternManager.Pf||c.Ub)c.Ub?(this.Sb=ColourManager.Rk("LifeHistory"),this.Sb[2]=96):this.Sb=ColourManager.Rk(c.Zf),this.Sb.length?this.Uc=c.Zf:(this.Sb=ColourManager.Vi,this.Uc="(default)");this.Go();c.title&&(this.Zn(c.title,c.Vd),-1!==this.Ya&&this.Jj(c,this.Ya,this.vh),this.Jb.length&&(this.ba=1),this.ia&&b&&(this.ia=!1),-1<this.Ob&&(this.Ob&=-8,this.Ob!==this.o&&(this.o=this.Ob,l=!0)),-1<
this.$d&&this.$d!==this.l&&(this.l=this.$d,l=!0));-1!==this.a.wb?(e=this.a.ka,f=this.a.Ka,0===e&&(e=c.width),0===f&&(f=c.height)):(e=c.width,f=c.height);for(;this.a.width<this.a.Wa&&(e+h.Gc+2*Math.abs(this.ja)>=this.a.width||f+h.Gc+2*Math.abs(this.ta)>=this.a.height);)this.a.kl(),this.rb+=this.a.width>>2,this.Nf+=this.a.height>>2,this.lb+=this.a.width>>2,this.lf+=this.a.height>>2,this.a.I&&(this.rb-=this.a.height>>3,this.lb-=this.a.height>>3);this.a.Ec&&PatternManager.qc[6]&&this.a.Tn(c,this.ja,this.ta);
this.K?this.h.notification.Ri="rgb("+this.K[0]+","+this.K[1]+","+this.K[2]+")":this.h.notification.Ri=this.h.notification.Wl;if(0===this.H.length)for(e=0;e<this.Sb.length;e+=1)this.ac[e]=PatternManager.qc[e]?h.nm:h.lk;this.a.Ib?(this.a.Zm(this.Sb,this.H),this.a.Jd=!0):this.a.Jd=!1;this.wj(c);this.a.Jo(this.eb,this.Db);this.eb?this.Be.cb=g.Qd:this.Be.cb=this.Eb}this.he.current=[this.Ja];this.Eg.current=[this.a.hb];this.a.eo();this.elapsedTime=this.a.i=0;this.tb?(c&&0<this.H.length&&(this.Sb=this.H),
this.a.an(this.Sb),this.a.pc.reset()):(-1===this.a.u&&this.a.ho(this.a.Ta),this.a.Ec&&PatternManager.qc[2]&&this.a.Vm(c,this.ja,this.ta),this.a.io(this.a.Ta),-1!==this.a.wb&&this.a.fm(),this.a.po(this.Ic),this.a.si(this.Ic),this.a.si(this.Ic));c&&(c.Td=null);e=this.a.zoom;f=this.a.F;k=this.a.w;this.$e(!0,!1);this.Oe&&(this.a.zoom=e);this.ig&&(this.a.F=f);this.jg&&(this.a.w=k);this.Oa&&this.Xo(this.Jb);this.$k=this.a.zoom;this.J&&(this.J.current=this.Zb([this.a.zoom,this.a.zoom],!1,this));this.rb=
this.a.F;this.Nf=this.a.w;this.Kf=this.a.B;this.ra&&(this.ra.current=[this.Kf,this.Kf]);this.We=this.a.Rc;this.Kb&&(this.Kb.current=[this.We,this.We]);this.Yi=this.Tb;e=Math.sqrt((this.Yi-h.Hc)/(h.qe-h.Hc));this.ha&&(this.ha.current=this.vf([e,e],!0,this));this.Th=this.S;this.mb&&(this.mb.current=this.Ki([this.Th,this.Th],!0,this));this.Mf=this.a.m;this.sb&&(this.sb.current=[this.Mf,this.Mf]);this.Xi=this.a.Vb;e=Math.sqrt(this.Xi);this.La&&(this.La.current=this.uf([e,e],!0,this));this.U=!0;this.jd&&
!this.ie?(this.ib=!0,this.$.current=h.Vf):(this.ib=!1,this.$.current=h.Da);this.gm(this.ib);this.l<h.Pg?(this.xd.v=!0,this.$.x=this.mg+50,this.$.Kc=this.$.x,this.ha.x=this.kg+50,this.ha.Kc=this.ha.x,this.mb.x=this.pg+50):(this.$.x=this.mg,this.$.Kc=this.$.x,this.ha.x=this.kg,this.ha.Kc=this.ha.x,this.mb.x=this.pg);this.mb.Kc=this.mb.x;if(l||this.ia)this.ia&&this.om(),this.resize();c||(PatternManager.de?this.h.notification.P("Pattern too big!",h.fj,!1):this.h.notification.P("Invalid pattern!",h.fj,
!1));this.Jb.length?this.C=0:this.ba=0;this.sa||(this.vb=!0);this.vb?(this.$.v=!0,this.ec.v=!0,this.Jc.v=!0,this.ha.v=!0,this.mb.v=!0,this.tb&&(this.sb.v=!0,this.La.v=!0,this.Kb.v=!0,this.a.m=1),this.Nb.v=!1,""===this.Ma?this.Nb.cb=g.rh:this.Nb.cb=this.Ma):this.Nb.v=!0;this.Zj(null,6,14,0);this.Wb=!1;this.gi="";this.dm(this);this.h.hg=!0;this.h.ze(!0);this.Xc&&this.Ei&&(""===this.aa?this.Ei.nodeValue="LifeViewer":this.Ei.nodeValue=this.Qj(this.aa));this.a.Zl()};registerEvent(window,"load",function(){for(var b=
document.getElementsByTagName("div"),e=0,f=null,g=f=null,h=null,l=h=g=null,g=g=h=null,g=!1,e=document.getElementsByTagName("meta"),h=f=0,h=null,h="",g=null,l="",f=0;f<e.length;f+=1)if(h=e[f],h.name===k.tagName&&(k.tj=!1,k.ii=!1,h=h.content,g=h.match(/\S+/g),2<=g.length&&5>=g.length))for(k.Vh=g[0],k.Xf=g[1],h=2;h<g.length;h+=1)switch(g[h]){case "hide":k.tj=!0;break;case "limit":k.ii=!0;break;default:l=g[h],!isNaN(parseFloat(l))&&isFinite(l)&&(k.pi=parseFloat(l)|0)}for(e=0;e<b.length;e+=1)if(h=b[e],
h.className===k.Vh)f=h.getElementsByTagName(k.Xf)[0],h=h.getElementsByTagName("canvas")[0],(g=f.getElementsByTagName(k.Xf)[0])&&(f=g),typedArrays&&h&&h.getContext?f&&(g=c(f),-1<k.pi&&f.clientHeight>k.pi&&(f.style.height=k.pi+"px"),t(g,h,f.offsetWidth,!1,f)):k.tj&&h&&(h.style.display="none");else if(typedArrays&&h.className===k.pn&&h.parentNode.className!==k.Vh&&(f=h.getElementsByTagName(k.Xf)[0])){var g=c(f),f=null,l=!1,n=null;try{n=PatternManager.create("",g),n.Va&&(l=!0)}catch(p){}if(g=l)f=h.getElementsByTagName("a")[0],
g=document.createElement("a"),g.setAttribute("href","#"),g.innerHTML="Show in Viewer",registerEvent(g,"click",a,!1),l=document.createTextNode(" / "),f.parentNode.appendChild(l),f.parentNode.appendChild(g);g=!1}},!1);window.Keywords=g;window.ViewConstants=h;window.updateViewer=b;window.hideViewer=n;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 );