=b.nb&&(f-=b.nb);a="";for(c=0;cF?r(H):da(H>>(F<<3),8));q&&(f+=v-A);a&&(a+="\n");a+=D}a&&b.ha.O(a);b.B=f}else b.ha.O("no buffer")}else e.ha.O("BIOSMODE: "+t(e.Ia)),b=e.B,Qm(b,"CRTC",b.Ac,b.rb,b.jg),5<=b.kb&&(Qm(b," GRC",b.Zd,b.Yd,b.Ug),Qm(b," SEQ",b.$d,b.He,b.Vg),Qm(b," ATC",b.Ld,b.Sc,b.Tg),Qm(b," ATCINDX",
-b.Ld),b.ha.O(" ATCDATA: "+b.Ve),Qm(b," FEAT",b.dg),Qm(b," MISC",b.sf),Qm(b," STATUS0",b.Lg)),Qm(b," STATUS1",b.ma),b.kb!=om&&3!=b.kb||Qm(b," MODEREG",b.fd),3==b.kb&&Qm(b," COLOR",b.qf),5<=b.kb&&(b.ha.O(" LATCHES: 0x"+r(b.Fb)),b.ha.O(" ACCESS: "+u(b.vg)),b.ha.O("Use 'dump video [addr]' to dump video memory"));else e.ha.O("no active video card")})}if((this.C=Eb(a,"Keyboard"))&&this.pa){for(var f in this.qa)0=d&&(d-=32),d=cm[e]==d),d){(a=a.qa["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}}m.Gc=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.N=Eb(a,"ChipSet")};
+function Xl(a,b){var c=0;a.ia=null;b&&(a.ia=b.toUpperCase(),c=Yl.indexOf(a.ia),0>c&&(c=0));b=Yl[c];a.ka=parseInt(b.substr(2),10)}function El(a,b){y(a,"keyboard reset",65792);a.A=[170];a.da=!0;b&&a.N&&Gl(a.N,a.A[0])}function Al(a,b,c){a.U!==c&&(a.U=a.W=c)&&(a.da=!0);a.V!==b&&(a.V=b)&&!a.W&&Hl(a,!0);a.V&&a.W&&(El(a,!0),a.W=!1)}function Bl(a){var b=0;a.A.length&&a.da&&(b=a.A[0],a.N&&Gl(a.N,b));z(a)&&y(a,"scan code "+t(b)+" available")}
+function Hl(a,b){0>=1);if(b&3584){if(!1===d)return!0;d=null}null==d?d=!((c?a.C:a.xc)&b):d||b&255&&(b=255);if(c){a.C&=~b;d&&(a.C|=b);c=b;var f,g;for(g in dm)d="led-"+g,e=dm[g],c&&c!=e||!(f=a.qa[d])||(f.style.backgroundColor=a.C&e?"#00ff00":"#000000")}else a.xc&=~b,d&&(a.xc|=b);return!0}}return!1}
+function fm(a,b,c){if(Y[b]&&a.F&&a.F.la.Ib){am[b]&&a.B.length&&0e||(e==a.B.length&&(d={},d.Ke=b,d.xc=a.xc,jm(a,b,!0),e++),0b.Jd){if(!b.Ef){hm(a,b.Ke);return}b.Ef=!1;c=a.pa}else c=1==b.Jd++?500:100;b.pk=setTimeout(function(a){return function(){lm(a,b)}}(a),c)}}
+function nm(a,b,c){var d=b;if(65<=b&&90>=b)!(a.xc&515)==c&&(d=b+32);else if(97<=b&&122>=b)!!(a.xc&515)==c&&(d=b-32);else if(!!(a.xc&3)==c){if(a=$l[b])d=a}else if(a=Zl[b])d=a;return d}m.Fg=function(a){a||(this.xc&=-256)};
+function em(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=nm(a,g,!0);a.bh&&h==X["`"]&&(g=h=27);if(Y[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),gm(a,h,!1,c)){if(20==g||144==g||145==g)a.ja||(c=e=!0);if(!(c||91!=g&&93!=g))for(var k=0;k=b||97<=b&&122>=b;e>>>=8;){var g=0,h=e&255;224==f||225==f?d.push(f|(c?0:128)):(42==h?a.C&3||a.C&512&&b||(g=h):29==h?a.C&12||(g=h):56==h?a.C&48||(g=h):d.push(f|(c?0:128)),g&&(c?d.unshift(g):d.push(g|128)))}for(c=0;ce.A.length?(z(e)&&y(e,"scan code "+t(f)+" buffered"),e.A.push(f),1==
+e.A.length&&e.N&&Gl(e.N,f)):(20==e.A.length&&e.A.push(255),y(e,"scan code buffer overflow")));d=!0}return d}Qa(function(){for(var a=nb(document,"pcjs","keyboard"),b=0;bc.length)c=[!1,0,null,null,0,Array(5>b?Hm:Im)];this.ha=a.ha;this.type=e[0];this.port=e[1];this.kb=b;this.nb=e[2];this.bc=e[3];this.Cd=d||e[4];65536<=this.Cd&&720896<=this.nb&&(this.bc=Math.min(this.Cd>>2,32768));this.Fc=c[0];this.fd=c[1];this.qf=c[2];this.ma=c[3];this.Ac=c[4]&255;this.Ig=c[4]>>8&255;this.rb=c[5];this.nh=Hm;this.jg=Jm;if(5<=b){this.nh=Im;this.jg=Km;b=c[6];void 0===b&&(b=[!1,0,Array(20),
+0,3==f?0:1,0,0,Array(5),0,0,0,Array(9),0,[this.nb,this.bc,this.Cd],Array(this.Cd>>2),-2147478512,0,-1,0,-1,0,-1,0,0,0,0,1,255,0,0,0,Array(256)]);this.Ve=b[0];this.Ld=b[1];this.Sc=b[2];this.Tg=Lm;this.Lg=b[3];this.sf=b[4];this.dg=b[5];this.$d=b[6];this.He=b[7];this.Vg=Mm;this.fk=b[8];this.gk=b[9];this.Zd=b[10];this.Yd=b[11];this.Ug=Nm;this.Fb=b[12];d=b[13];"number"==typeof d&&(d=[this.nb,this.bc,d]);this.nb=d[0];this.bc=d[1];d=this.Cd>>2;if((this.rd=b[14])&&this.rd.length>this.controller.di&255};Pm[17408]=function(a){return(this.controller.Fb=this.ca[(a&-4)+this.C])>>((a&3)<<3)&255};Pm[5120]=function(a){a+=this.C;var b=this.controller.Fb=this.ca[a&-2];return(a&1?b>>8:b)&255};Pm[1280]=function(a){a+=this.C;a=this.controller.Fb=this.ca[a];for(var b=this.controller.ph,c=this.controller.oh&b,d=0,e=128;e;)(a&b)==c&&(d|=e),c>>>=1,b>>>=1,e>>=1;return d};
+Pm[0]=function(a,b){var c=a+this.C,d;d=(b|b<<8|b<<16|b<<24)&this.controller.Wd|this.controller.ne;d=d&this.controller.Mb|this.controller.Fb&~this.controller.Mb;d=d&this.controller.qb|this.ca[c]&~this.controller.qb;this.ca[c]!=d&&(this.ca[c]=d,this.Va=!0)};
+Pm[32]=function(a,b){var c=a+this.C;b=b>>this.controller.cd|b<<8-this.controller.cd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Wd|this.controller.ne;d=d&this.controller.Mb|this.controller.Fb&~this.controller.Mb;d=d&this.controller.qb|this.ca[c]&~this.controller.qb;this.ca[c]!=d&&(this.ca[c]=d,this.Va=!0)};
+Pm[96]=function(a,b){var c=a+this.C;b=b>>this.controller.cd|b<<8-this.controller.cd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Wd|this.controller.ne;d&=this.controller.Fb;d=d&this.controller.Mb|this.controller.Fb&~this.controller.Mb;d=d&this.controller.qb|this.ca[c]&~this.controller.qb;this.ca[c]!=d&&(this.ca[c]=d,this.Va=!0)};
+Pm[160]=function(a,b){var c=a+this.C;b=b>>this.controller.cd|b<<8-this.controller.cd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Wd|this.controller.ne;d|=this.controller.Fb;d=d&this.controller.Mb|this.controller.Fb&~this.controller.Mb;d=d&this.controller.qb|this.ca[c]&~this.controller.qb;this.ca[c]!=d&&(this.ca[c]=d,this.Va=!0)};
+Pm[224]=function(a,b){var c=a+this.C;b=b>>this.controller.cd|b<<8-this.controller.cd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Wd|this.controller.ne;d^=this.controller.Fb;d=d&this.controller.Mb|this.controller.Fb&~this.controller.Mb;d=d&this.controller.qb|this.ca[c]&~this.controller.qb;this.ca[c]!=d&&(this.ca[c]=d,this.Va=!0)};Pm[4]=function(a,b){var c=(a&-4)+this.C,d=(a&3)<<3,d=b<>this.controller.cd|b<<8-this.controller.cd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Mb;d=this.controller.Uf&d|this.controller.Fb&~d;d=d&this.controller.qb|this.ca[c]&~this.controller.qb;this.ca[c]!=d&&(this.ca[c]=d,this.Va=!0)};
+function Qm(a){var b=[];if(void 0!==a.kb){b[0]=a.Fc;b[1]=a.fd;b[2]=a.qf;b[3]=a.ma;b[4]=a.Ac|a.Ig<<8;b[5]=a.rb;if(5<=a.kb){var c=[];c[0]=a.Ve;c[1]=a.Ld;c[2]=a.Sc;c[3]=a.Lg;c[4]=a.sf;c[5]=a.dg;c[6]=a.$d;c[7]=a.He;c[8]=a.fk;c[9]=a.gk;c[10]=a.Zd;c[11]=a.Yd;c[12]=a.Fb;c[13]=[a.nb,a.bc,a.Cd];var d;a:if(d=a.rd){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h>1;f[e++]=k;h=l}if(f.length>3;for(c=0;c=d&&(A=d,q=!0);break;case "p":0<=
+d&&3>=d&&(F=d);break;case "w":d=b.nb&&(f-=b.nb);a="";for(c=0;cF?r(H):da(H>>(F<<3),8));q&&(f+=v-A);a&&(a+="\n");a+=D}a&&b.ha.O(a);b.B=f}else b.ha.O("no buffer")}else e.ha.O("BIOSMODE: "+t(e.Ia)),b=e.B,Rm(b,"CRTC",b.Ac,b.rb,b.jg),5<=b.kb&&(Rm(b," GRC",b.Zd,b.Yd,b.Ug),Rm(b," SEQ",b.$d,b.He,b.Vg),Rm(b," ATC",b.Ld,b.Sc,b.Tg),Rm(b," ATCINDX",
+b.Ld),b.ha.O(" ATCDATA: "+b.Ve),Rm(b," FEAT",b.dg),Rm(b," MISC",b.sf),Rm(b," STATUS0",b.Lg)),Rm(b," STATUS1",b.ma),b.kb!=pm&&3!=b.kb||Rm(b," MODEREG",b.fd),3==b.kb&&Rm(b," COLOR",b.qf),5<=b.kb&&(b.ha.O(" LATCHES: 0x"+r(b.Fb)),b.ha.O(" ACCESS: "+u(b.vg)),b.ha.O("Use 'dump video [addr]' to dump video memory"));else e.ha.O("no active video card")})}if((this.C=Eb(a,"Keyboard"))&&this.pa){for(var f in this.qa)0c&&(a=Math.round(c/b*100)+"%")}this.nf?(this.pa.style.width=a,this.pa.style.width=a,this.pa.style.display="block",this.pa.style.margin="auto"):(this.ga.style.width=a,this.ga.style.height="auto");this.ga.style.backgroundColor="black";this.ga.Ue();a=!0}this.Tc()}return a};
-function sm(a,b){!b&&a.ga&&(a.nf?a.pa.style.width=a.pa.style.height="":a.ga.style.width=a.ga.style.height="");y(a,"notifyFullScreen("+b+")",!0);a.C&&(a.C.dh=b)}m.ze=function(a){var b=!1;this.da&&(a?this.da.ze&&(this.da.ze(),this.V&&this.V.Vf(!0),b=!0):this.da.qk&&(this.da.qk(),this.V&&this.V.Vf(!1),b=!0),this.Tc());return b};m.Vf=function(a){this.V&&(this.V.Vf(a),this.C&&(this.C.dh=a));var b=this.qa.lockPointer;b&&(b.textContent=a?"Press Esc to Unlock Pointer":this.tk)};
-function Zm(a,b){var c=a.da;c&&!a.je&&(c.addEventListener("touchstart",function(b){$m(a,b,!0)},!1),c.addEventListener("touchmove",function(b){$m(a,b)},!0),c.addEventListener("touchend",function(b){$m(a,b,!1)},!1),a.je=b,a.mc=a.nc=a.gg=-1,a.Gd=!1,a.Wc=null,a.Fd=!1,a.pn=function(){a.Fd=!0;a.V.ge(an,!0)})}m.Fg=function(a){this.C&&this.C.Fg(a)};
-function $m(a,b,c){var d,e,f=0,g=0;e=a.pa;do isNaN(e.offsetLeft)||(f+=e.offsetLeft,g+=e.offsetTop);while(e=e.offsetParent);var h=a.ua/a.pa.offsetWidth,k=a.Ea/a.pa.offsetHeight;b.targetTouches&&b.targetTouches.length?(d=b.targetTouches[0].pageX,e=b.targetTouches[0].pageY):(d=b.pageX,e=b.pageY);d=(d-f)*h;e=(e-g)*k;if(1==a.je)d=d/(a.ua/3)|0,e=e/(a.Ea/3)|0,1!=e?e?em(a.C,1040,!0):em(a.C,1038,!0):1!=d&&(d?em(a.C,1039,!0):em(a.C,1037,!0));else if(a.V){g=a.Gd;f=b.timeStamp-a.gg;!0===c?(a.Gd=500f){a.V.ge(an,!0);a.V.ge(an,!1);return}}if(c||0>a.mc||0>a.nc)a.mc=d,a.nc=e;c=Math.round(d-a.mc);b=Math.round(e-a.nc);a.mc=d;a.nc=e;a.V.Hf(c,b,a.mc,a.nc)}}m.ic=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0};
-m.reset=function(){var a=!0,b=0;this.N&&(b=Lk(this.N));this.ia||(this.kb=3==b?om:3);this.wa=3;switch(this.kb){case Ml:b=7;break;case 5:var c=vm[this.Uc];c&&(b=c[0]);b||(b=4);break;case om:b=3;this.wa=qm;break;default:b=2}this.za!==b&&(this.za=b,a=!0);this.B=null;this.sa=this.pd=new Em(this,om);this.Y=this.Vc=new Em(this,3);5>this.kb?this.A=new Em:(this.A=new Em(this,this.kb,null,this.Cd),bn(this));cn(this);this.Ia=null;this.bb=this.ka=-1;this.Pa=0;dn(this,this.wa);if(this.B.nb&&a){a=this.B.nb+this.Jb;
-for(b=this.B.nb;b>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8);fc(this.ea,b,c|d<<8)}Xc(this,!0)}};function bn(a){a.A.sf&1?(a.sa=a.pd,a.Y=a.A):(a.sa=a.A,a.Y=a.Vc)}m.save=function(){var a=new hf(this);N(a,0,Pm(this.pd));N(a,1,Pm(this.Vc));N(a,2,[this.za,this.wa,this.Ia]);N(a,3,Pm(this.A));return a.data()};
-m.restore=function(a){var b=a[2];this.za=b[0];this.wa=b[1];this.Ia=b[2];this.B=null;this.sa=this.pd=new Em(this,om,a[0]);this.Y=this.Vc=new Em(this,3,a[1]);this.A=new Em(this,this.kb,a[3],this.Cd);this.A.Fc&&bn(this);cn(this);if(!en(this))return!1;fn(this);return!0};
-function tm(a,b,c,d){if(d)a.Oa("Unable to load font ROM (error "+d+": "+b+")");else{fb(a.re,b,c);try{var e=eval("("+c+")");if(!e.length){w("Empty font ROM: "+b);return}if(1==e.length){w(e[0]);return}if(8192==e.length)Ll(a,e,[6144,0]);else{a.Oa("Unrecognized font data length ("+e.length+")");return}}catch(f){a.Oa("Font ROM data error: "+f.message);return}(a.ja||a.ha)&&sb(a)}}
-function gn(a,b){if(1==b)return a.Ba[0]=ym[0],a.Ba[1]=ym[7],a.Ba;if(2==b){var c=a.B.qf;if(a.B===a.A){var d=a.A.Sc[0],c=d&7;d&16&&(c|=8);18!=a.A.Sc[1]&&(c|=32)}a.Ba[0]=ym[c&15];c=c&32?Am:zm;for(d=0;df;f++)g=d[f]||0,h=g<<2&252,k=g>>4&252,g=g>>10&252,a.Ba[f]=[h,k,g,255];else{var l=d&&d[255];e=null!=c.Sc[15]?c.Sc:Bm;for(f=0;16>f;f++)g=e[f]&63,l?(g|=
-(c.Sc[20]&12)<<4,c.Sc[16]&128&&(g&=-49,g|=(c.Sc[20]&3)<<4),g=d[g],h=g<<2&252,k=g>>4&252,g=g>>10&252):(h=(g&4?170:0)|(g&32?85:0),k=(g&2?170:0)|(g&16?85:0),g=(g&1?170:0)|(g&8?85:0)),a.Ba[f]=[h,k,g,255]}a.pb=!0}return a.Ba}function Ll(a,b,c,d){a.Jc=b;a.qd=c;a.Sb=d}
-function cn(a,b){var c=!1;if(window&&a.Jc&&(!b||a.U)){var d=0,e=a.Sb?a.Sb:8,f=gn(a);hn(a,3,a.qd[0],d,e,8,a.Jc,f)&&(c=!0);d=a.Sb?0:2048;e=a.Sb?a.Sb:9;hn(a,1,a.qd[1],d,e,14,a.Jc,wm,xm)&&(c=!0);a.Sb&&hn(a,a.kb,a.qd[1],0,a.Sb,14,a.Jc,f)&&(c=!0)}return c}function hn(a,b,c,d,e,f,g,h,k){var l=!1;null!=c&&(jn(a,b,c,d,e,f,g,h,k)&&(l=!0),a.Pg&&jn(a,b<<1,c,d,e,f,g,h,k)&&(l=!0));return l}
-function jn(a,b,c,d,e,f,g,h,k){var l=!1,n=b&1?0:1,q=a.Na[b],p=16>h.length?h.length:16;q||(q={Pc:e<V||!H?V:8,va=ga.createImageData(l.Pc,l.Qc),Ga=0;256>Ga;Ga++){for(Ba=
-0;Ba=V-2,Qc=Q[Ba>(8<=Wa&&192<=Ga&&223>=Ga?7:Wa)?A:$a;kn(va,Ie,Td,Je);v&&kn(va,Ie+1,Td,Je)}ga.putImageData(va,(Ga&15)*l.Pc,(Ga>>4)*l.Qc)}l.Me[F]="#"+r(A[0],2)+r(A[1],2)+r(A[2],2);l.ui[F]=A;l.Sg[F]=ma;l=!0}}a.Na[b]=q;return l}function ln(a){0a.bb&&(a.bb=0):a.bb=-1}
-function fn(a){if(a.U){for(var b=10;15>=b;b++)if(null==a.B.rb[b])return;var c=a.B.rb[10],b=c&31,d=a.B.rb[11]&31,e=a.B.rb[9]&31,f=!1;a.B===a.A&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)mn(a);else{c=a.B.rb[15]+((a.B.rb[14]&63)<<8);a.ka!=c&&(mn(a),a.ka=c);d=d-b+1;if(a.hg!=b||a.ye!=d)a.hg=b,a.ye=d;a.Ya=e+1;ln(a)}}}
-function mn(a){if(0<=a.ka){if(void 0!==a.fa){var b=a.fa[a.ka];if(b&131072){var b=b&-131073,c=a.ka%a.L,d=a.ka/a.L|0;a.U&&a.Na[a.U]&&(a.fb&&nn(a,c,d,b,a.fb),nn(a,c,d,b));a.fa[a.ka]=b}}a.ka=-1}}
-function on(a){var b,c=a.B;a.Be=!1;var d=c.Yd[5];if(null!=d){b=1024;var e=0,f=c.Yd[3]&31;switch(d&3){case 0:if(f){e=32;switch(f&24){case 8:e=96;break;case 16:e=160;break;case 24:e=224}c.cd=f&7}break;case 1:e=1;break;case 2:switch(f&24){default:e=2;break;case 8:e=98;break;case 16:e=162;break;case 24:e=226}break;case 3:a.kb==Ml&&(e=3,c.cd=f&7)}d&8&&(b=1280);c=c.He[4];null!=c&&(c&4||(b|=4096,e|=16),d&64&&(c&8&&(b|=16384,e|=4),a.Be=!0));b|=e}return b}
-function pn(a,b){var c=a.B;return c&&null!=b&&b!=c.vg?(c.Mg(b),a.ea.Mg(c.nb,c.bc,c.hh(),!0),!0):!1}
-function en(a,b){var c,d=a.Ia,e=a.B;if(e)if(e.kb==om)d=qm;else if(5<=e.kb){var d=null,f=e.Cd>>2,g=32768=e.rb[18]?19:20:21:k&128||350>g?d=f?13:14:480<=g&&(d=3==a.za?17:18):d=f?7-d:6:d-=f?2:0);c=on(a)}}else e.fd&8&&(e.fd&2?(d=e.fd&16?6:5,e.fd&4||--d):(d=e.fd&1?3:1,e.fd&4&&--d));else a.Ia=null,null==d&&(d=a.wa);if(!dn(a,d,b))return!1;pn(a,c);return!0}
-function dn(a,b,c){if(null!=b&&(b!=a.Ia||c)){a.Ng=0;a.Ia=b;a.pb=!1;b=a.B||(b==qm?a.sa:a.Y);if(b!=a.B||b.nb!=a.nb||b.bc!=a.bc){mn(a);if(a.nb){if(!Zb(a.ea,a.nb,a.bc))return!1;a.B&&(a.B.Fc=!1)}a.B=b;b.Fc=!0;a.nb=b.nb;a.bc=b.bc;if(!Tb(a.ea,b.nb,b.bc,3,b===a.A?b:null))return!1}a.U=0;a.L=a.hd;a.W=a.ie;a.Db=a.L;a.gd=pm[qm][2];b=0;if(c=pm[a.Ia])a.L=c[0],a.W=c[1],a.gd=c[2],b=c[3],a.U=c[4],4!=a.za&&7!=a.za||a.B!==a.A||3!=a.U||(7==a.A.rb[9]?a.W=43:a.U=a.kb);a.Yf=a.L*a.W|0;a.of=a.Yf/a.gd|0;a.Jb=a.of;a.sd=0;void 0!==
-b&&(a.Jb=(a.Jb<<1)+b|0,a.sd=a.Jb+b>>1);a.Na.length&&(a.Ja=a.ua/a.L|0,a.Ka=a.Ea/a.W|0,a.U?(b=a.Na[a.U],c=a.Na[a.U<<1],a.si&&80==a.L?c&&a.Ja>=3*c.Pc>>2&&(a.U<<=1,b=c):(c&&a.Ja>=c.Pc&&(a.U<<=1,b=c),b&&(a.Ja=b.Pc,a.Ka=b.Qc)),a.Tb=a.Ub=0,b&&(a.Tb=a.L*b.Pc,a.Ub=a.W*b.Qc)):(a.Ja=a.Ka=1,a.Tb=a.L,a.Ub=a.W),a.vb=a.ja.createImageData(a.Tb,a.Ub),a.eb=document.createElement("canvas"),a.eb.width=a.Tb,a.eb.height=a.Ub,a.fb=a.eb.getContext("2d"),a.ke=a.le=0,a.td=a.ua,a.Ed=a.Ea,b=a.ua-a.L*a.Ja,c=a.Ea-a.W*a.Ka,0>1,a.td-=b),0>1,a.Ed-=c),b||c)&&(a.ja.fillStyle=a.pa.style.backgroundColor,a.ja.fillRect(0,0,a.ua,a.Ea));Ln(a,!0);Xc(a)}return!0}function kn(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function Mn(a){a.Pa=-1;a.Fa=!1;var b=a.of;if(void 0===a.fa||a.fa.length!=b)a.fa=Array(b)}function Ln(a,b){b||(a.pb=!1);Mn(a)}
-function nn(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.Na[a.U];h.zf&&(d=h.zf[d]);var k=g>>4&15;h.zf&&(k=h.zf[k]);e?(b*=h.Pc,c*=h.Qc,e.fillStyle=h.Me[k],e.fillRect(b,c,h.Pc,h.Qc)):(b=b*a.Ja+a.ke,c=c*a.Ka+a.le,a.ja.fillStyle=h.Me[k],a.ja.fillRect(b,c,a.Ja,a.Ka));g&256&&(k=(f&15)*h.Pc,f=(f>>4)*h.Qc,e?e.drawImage(h.Sg[d],k,f,h.Pc,h.Qc,b,c,h.Pc,h.Qc):a.ja.drawImage(h.Sg[d],k,f,h.Pc,h.Qc,b,c,a.Ja,a.Ka));g&512&&(f=a.hg,g=a.ye,e?(a.Ya&&a.Ya!==h.Qc&&(f=f*h.Qc/a.Ya|0,g=g*h.Qc/a.Ya|0),e.fillStyle=h.Me[d],
+function tm(a,b){!b&&a.ga&&(a.nf?a.pa.style.width=a.pa.style.height="":a.ga.style.width=a.ga.style.height="");y(a,"notifyFullScreen("+b+")",!0);a.C&&(a.C.bh=b)}m.ze=function(a){var b=!1;this.da&&(a?this.da.ze&&(this.da.ze(),this.V&&this.V.Vf(!0),b=!0):this.da.qk&&(this.da.qk(),this.V&&this.V.Vf(!1),b=!0),this.Tc());return b};m.Vf=function(a){this.V&&(this.V.Vf(a),this.C&&(this.C.bh=a));var b=this.qa.lockPointer;b&&(b.textContent=a?"Press Esc to Unlock Pointer":this.tk)};
+function $m(a,b){var c=a.da;c&&!a.je&&(c.addEventListener("touchstart",function(b){an(a,b,!0)},!1),c.addEventListener("touchmove",function(b){an(a,b)},!0),c.addEventListener("touchend",function(b){an(a,b,!1)},!1),a.je=b,a.mc=a.nc=a.gg=-1,a.Gd=!1,a.Wc=null,a.Fd=!1,a.pn=function(){a.Fd=!0;a.V.ge(bn,!0)})}m.Fg=function(a){this.C&&this.C.Fg(a)};
+function an(a,b,c){var d,e,f=0,g=0;e=a.pa;do isNaN(e.offsetLeft)||(f+=e.offsetLeft,g+=e.offsetTop);while(e=e.offsetParent);var h=a.ua/a.pa.offsetWidth,k=a.Ea/a.pa.offsetHeight;b.targetTouches&&b.targetTouches.length?(d=b.targetTouches[0].pageX,e=b.targetTouches[0].pageY):(d=b.pageX,e=b.pageY);d=(d-f)*h;e=(e-g)*k;if(1==a.je)d=d/(a.ua/3)|0,e=e/(a.Ea/3)|0,1!=e?e?fm(a.C,1040,!0):fm(a.C,1038,!0):1!=d&&(d?fm(a.C,1039,!0):fm(a.C,1037,!0));else if(a.V){g=a.Gd;f=b.timeStamp-a.gg;!0===c?(a.Gd=500f){a.V.ge(bn,!0);a.V.ge(bn,!1);return}}if(c||0>a.mc||0>a.nc)a.mc=d,a.nc=e;c=Math.round(d-a.mc);b=Math.round(e-a.nc);a.mc=d;a.nc=e;a.V.Hf(c,b,a.mc,a.nc)}}m.ic=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0};
+m.reset=function(){var a=!0,b=0;this.N&&(b=Mk(this.N));this.ia||(this.kb=3==b?pm:3);this.wa=3;switch(this.kb){case Nl:b=7;break;case 5:var c=wm[this.Uc];c&&(b=c[0]);b||(b=4);break;case pm:b=3;this.wa=rm;break;default:b=2}this.za!==b&&(this.za=b,a=!0);this.B=null;this.sa=this.pd=new Fm(this,pm);this.Y=this.Vc=new Fm(this,3);5>this.kb?this.A=new Fm:(this.A=new Fm(this,this.kb,null,this.Cd),cn(this));dn(this);this.Ia=null;this.bb=this.ka=-1;this.Pa=0;en(this,this.wa);if(this.B.nb&&a){a=this.B.nb+this.Jb;
+for(b=this.B.nb;b>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8);fc(this.ea,b,c|d<<8)}Yc(this,!0)}};function cn(a){a.A.sf&1?(a.sa=a.pd,a.Y=a.A):(a.sa=a.A,a.Y=a.Vc)}m.save=function(){var a=new jf(this);N(a,0,Qm(this.pd));N(a,1,Qm(this.Vc));N(a,2,[this.za,this.wa,this.Ia]);N(a,3,Qm(this.A));return a.data()};
+m.restore=function(a){var b=a[2];this.za=b[0];this.wa=b[1];this.Ia=b[2];this.B=null;this.sa=this.pd=new Fm(this,pm,a[0]);this.Y=this.Vc=new Fm(this,3,a[1]);this.A=new Fm(this,this.kb,a[3],this.Cd);this.A.Fc&&cn(this);dn(this);if(!fn(this))return!1;gn(this);return!0};
+function um(a,b,c,d){if(d)a.Oa("Unable to load font ROM (error "+d+": "+b+")");else{fb(a.re,b,c);try{var e=eval("("+c+")");if(!e.length){w("Empty font ROM: "+b);return}if(1==e.length){w(e[0]);return}if(8192==e.length)Ml(a,e,[6144,0]);else{a.Oa("Unrecognized font data length ("+e.length+")");return}}catch(f){a.Oa("Font ROM data error: "+f.message);return}(a.ja||a.ha)&&sb(a)}}
+function hn(a,b){if(1==b)return a.Ba[0]=zm[0],a.Ba[1]=zm[7],a.Ba;if(2==b){var c=a.B.qf;if(a.B===a.A){var d=a.A.Sc[0],c=d&7;d&16&&(c|=8);18!=a.A.Sc[1]&&(c|=32)}a.Ba[0]=zm[c&15];c=c&32?Bm:Am;for(d=0;d