Code cleanup

This commit is contained in:
Jeff Parsons 2016-02-11 15:44:10 -08:00
commit b6cf972131
36 changed files with 561 additions and 227 deletions

View file

@ -14,8 +14,8 @@ function Ta(a){if(Qa)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){Ba("An unexp
function Xa(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;this.sk=b.comment;this.wk=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.ti=this.id.substr(0,b),this.ce=this.id.substr(b+1)):this.ce=this.id;this[a]=c;this.ra={Ze:!1,cd:!1,eh:!1,hc:!1,wd:!1};this.rg=null;this.ra.wd=!1;this.ya={};this.ma=null;this.wc=d||0;Ya[Ya.length]=this}var Za=void 0,ab={};
if(window){Za||(Za=window.location.search.substr(1));for(var bb,cb=/\+/g,db=/([^&=]+)=?([^&]*)/g;bb=db.exec(Za);)ab[decodeURIComponent(bb[1].replace(cb," "))]=decodeURIComponent(bb[2].replace(cb," "))}function fb(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}
function gb(a,b){b||(b=Xa);a.prototype=fb(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}var Ya=[];function hb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<Ya.length;b++){var d=Ya[b];a&&d.id.indexOf(a)||c.push(d)}return c}function ib(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;c<Ya.length;c++)if(Ya[c].id===a)return Ya[c]}return null}
function jb(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<Ya.length;d++)if(c)c==Ya[d]&&(c=null);else if(!(a!=Ya[d].type||b&&Ya[d].id.indexOf(b)))return Ya[d]}return null}function kb(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){Ba(c.message+" ("+a+")")}return b}function lb(a,b,c){var d;b&&(void 0===d&&(d="Panel"),(d=jb(d,a.id))&&(b=d.ya[b])&&a.Ub(null,c,b))}
window&&!window.document.ELEMENT_NODE&&(window.document.ELEMENT_NODE=1);function mb(a,b){for(var c=ob(b.parentNode,"pcjs-control"),d=0;d<c.length;d++)for(var e=c[d].childNodes,f=0;f<e.length;f++){var g=e[f];if(g.nodeType===window.document.ELEMENT_NODE){var k=g.getAttribute("class");if(k)for(var q=k.split(" "),r=0;r<q.length;r++)switch(k=q[r],k){case "pcjs-binding":(k=kb(g))&&k.binding&&a.Ub(k.type,k.binding,g,k.value),r=q.length}}}}
function jb(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<Ya.length;d++)if(c)c==Ya[d]&&(c=null);else if(!(a!=Ya[d].type||b&&Ya[d].id.indexOf(b)))return Ya[d]}return null}function kb(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){Ba(c.message+" ("+a+")")}return b}function lb(a,b,c){var d;b&&(void 0===d&&(d="Panel"),(d=jb(d,a.id))&&(b=d.ya[b])&&a.Ub(null,c,b))}document&&!document.ELEMENT_NODE&&(document.ELEMENT_NODE=1);
function mb(a,b){for(var c=ob(b.parentNode,"pcjs-control"),d=0;d<c.length;d++)for(var e=c[d].childNodes,f=0;f<e.length;f++){var g=e[f];if(g.nodeType===document.ELEMENT_NODE){var k=g.getAttribute("class");if(k)for(var q=k.split(" "),r=0;r<q.length;r++)switch(k=q[r],k){case "pcjs-binding":(k=kb(g))&&k.binding&&a.Ub(k.type,k.binding,g,k.value),r=q.length}}}}
function ob(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c}
Xa.prototype={constructor:Xa,parent:null,toString:function(){return this.name?this.name:this.id||this.type},Ub:function(a,b,c){switch(b){case "clear":return this.ya[b]||(this.ya[b]=c,c.onclick=function(a){return function(){a.ya.print&&(a.ya.print.value="")}}(this)),!0;case "print":return this.ya[b]||(this.Af=this.ya[b]=c,c.value="",this.S=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),
this.Va=function(a,b,c){this.S(a,"notice",c)}),!0;default:return!1}},log:function(){},S:function(){},status:function(a){this.S(this.ce+": "+a)},Va:function(a,b){b||Ba(a)},lc:function(){return this.ra.hc=!0},kc:function(a,b){b&&(this.ra.hc=!1);return!0}};function m(a,b,c,d,e,f,g){a.ma&&(!0===g?g=0:null==g&&(g=a.wc),pb(a.ma,a,b,c,d,e,f,g))}function qb(a,b,c,d){a.ma&&(!0===c||n(a,c|0))&&a.ma.message(b,d)}
@ -38,7 +38,7 @@ h.Ub=function(a,b,c,d){return this.ia&&this.ia.Ub(a,b,c,d)||this.M&&this.M.Ub(a,
function Jb(a,b,c){var d=1280/null.offsetWidth,e=720/null.offsetHeight,f=null.getBoundingClientRect(),d=(b.clientX-f.left)*d|0;b=(b.clientY-f.top)*e|0;null==c&&(a.ka||(a.ka=Math.abs(a.O-d)>Math.abs(a.Y-b)?1:2),1==a.ka?b=a.Y:2==a.ka&&(d=a.O));a.O=d;a.Y=b;if(0<=d&&1280>d&&0<=b&&720>b){a:{c=d;if(960>c&&a.A&&a.A.Ne)for(f=0;f<a.A.Ne.length;f++)if(e=a.A.Ne[f],e.contains(c,b)){c-=e.x;b-=e.y;var d=a.A.xf[f],g=xa(Kb.ak,a.A.Tg[d.Xk]),f=g*a.ja.Rb,d=(g+d.Qd)*a.ja.Rb-1;0<b&&(f+=e.bd*(b-1)*a.Ha);f+=c*a.Ha;f|=0;
f>d&&(f=d);c=f;break a}c=-1}if(-1!==c&&(c&=-16,c!=a.Ja)){b=c;if(a.context&&a.qa&&a.ta){e=a.qa.width;a.ta.fillStyle="black";a.ta.fillRect(0,360,e,360);Lb(a,378,a.qa,a.ta);a.wa=a.Ma.width/24|0;if(null==b)Mb(a,"Mouse over memory to dump");else for(Mb(a,"0x"+l(b),null,0,1),f=1;16>=f;f++){d="";for(g=1;8>=g;g++){var k;k=a.ja;var q=b++;k=k.xa[(q&k.Lb)>>>k.Pa].pe(q&k.A,q);Mb(a,l(k,2),null,1);d+=32<=k&&128>k?String.fromCharCode(k):"."}Mb(a,d,null,0,1)}a.context.drawImage(a.qa,0,360,e,360,a.xb,a.Ib,a.cb,a.Yb)}a.Ja=
c}}}h.qd=function(){};function Nb(a,b,c,d){a.A.xf[a.A.Ci++]={Xk:b,Qd:c,type:d};return wa(Kb,b,c,0,d)}function Lb(a,b,c,d){var e,f=null.style.color,g=a.Ua=10;a.C=g;a.W=b;a.X=a.Da=18;e||(e=a.Ba||a.Da+"px Monaco, Lucida Console, Courier New");a.la=a.Ba=e;c&&(a.Ma=c);d&&(a.R=d,a.Oa=f||"white")}
function Mb(a,b,c,d,e){a.R.font=a.la;a.R.fillStyle=a.Oa;a.R.fillText(b,a.C,a.W);a.C+=a.wa;null!=c&&(16!=a.rb?b=c.toString():(b=8>a.Ta?"0x":"",b+=l(c,a.Ta)),a.R.fillText(b,a.C,a.W),a.C+=a.wa);d&&(a.C+=a.wa*d);e&&(a.C=a.Ua,a.W+=(a.X+2)*(e||1))}function Ib(){for(var a=!1,b=ob(window.document,"pcjs","panel"),c=0;c<b.length;c++){var d=b[c],e=kb(d),f=ib(e.id);f||(a=!0,f=new Cb(e));mb(f,d);a&&vb(f)}}Sa(Ib);
function Mb(a,b,c,d,e){a.R.font=a.la;a.R.fillStyle=a.Oa;a.R.fillText(b,a.C,a.W);a.C+=a.wa;null!=c&&(16!=a.rb?b=c.toString():(b=8>a.Ta?"0x":"",b+=l(c,a.Ta)),a.R.fillText(b,a.C,a.W),a.C+=a.wa);d&&(a.C+=a.wa*d);e&&(a.C=a.Ua,a.W+=(a.X+2)*(e||1))}function Ib(){for(var a=!1,b=ob(document,"pcjs","panel"),c=0;c<b.length;c++){var d=b[c],e=kb(d),f=ib(e.id);f||(a=!0,f=new Cb(e));mb(f,d);a&&vb(f)}}Sa(Ib);
function Ob(a,b,c){Xa.call(this,"Bus",a,Ob);this.M=b;this.ma=c;this.P=a.buswidth||20;this.X=Math.pow(2,this.P);this.wg=this.Lb=this.X-1|0;this.Pa=32==this.P||20>=this.P?12:24>=this.P?14:15;this.Rb=1<<this.Pa;this.la=this.Rb>>2;this.A=this.Rb-1;this.W=this.X/this.Rb|0;this.O=this.W-1;this.C=[];this.R=[];this.ia=this.Y=!1;this.da=[];this.ka=[];a=new Pb;Qb(a,this.ma);this.xa=Array(this.W);for(b=0;b<this.W;b++)this.xa[b]=a;a=this.M;b=this.xa;c=this.Pa;a.kd=a.xa=b;a.Pa=c;a.Rb=1<<a.Pa;a.Ha=a.Rb-1;a.Hd=
b.length;a.jd=a.Hd-1;a=this.M;a.Lb=a.qb=this.Lb;vb(this)}gb(Ob);var Kb,Rb={ak:20,count:8,po:1,type:3},Sb=0,Tb;for(Tb in Rb){var Ub=Rb[Tb];Rb[Tb]={ph:(1<<Ub)-1<<Sb,shift:Sb};Sb+=Ub}Kb=Rb;h=Ob.prototype;h.reset=function(){Wb(this,!0)};h.lc=function(a,b){b||this.reset();return!0};
function Xb(a,b,c,d,e){for(var f=b>>>a.Pa;0<c&&f<a.xa.length;){var g=a.xa[f],k=f*a.Rb,q=c>a.Rb?a.Rb:c;if(g&&g.size){if(g.type==d&&g.controller==e){if(b+c<=g.Ia)return g.Le+=g.Ia-b,g.Ia=b,!0;if(b>=g.Ia+g.Le){q=g.size-(b-k);q>c&&(q=c);g.Le=b-g.Ia+q;c-=q;b=k+a.Rb;continue}}return Yb(a,1,b,c)}g=a.xa[f];b=new Pb(b,q,a.Rb,d,e);Qb(b,a.ma,g);a.xa[f++]=b;b=k+a.Rb;c-=q}return 0>=c?(Zb(a.M),!0):Yb(a,2,b,c)}
@ -134,8 +134,7 @@ function Lf(a,b,c){var d=4;1==b.length&&(d=1,c=c?1:0);if(80386>a.na)2<b.length&&
h.qd=function(a){if(this.Qg&&(a||!this.ra.Ob||this.ra.Pi)){Lf(this,"EAX",this.F);Lf(this,"EBX",this.D);Lf(this,"ECX",this.G);Lf(this,"EDX",this.H);Lf(this,"ESP",u(this));Lf(this,"EBP",this.K);Lf(this,"ESI",this.J);Lf(this,"EDI",this.I);Lf(this,"CS",this.Ca.ga);Lf(this,"DS",this.Ab.ga);Lf(this,"SS",this.Aa.ga);Lf(this,"ES",this.bb.ga);Lf(this,"EIP",v(this));var b=Cd(this);Lf(this,"PS",b);Lf(this,"V",b&2048);Lf(this,"D",b&1024);Lf(this,"I",b&512);Lf(this,"T",b&256);Lf(this,"S",b&128);Lf(this,"Z",b&
64);Lf(this,"A",b&16);Lf(this,"P",b&4);Lf(this,"C",b&1);80386==this.na&&(Lf(this,"FS",this.Sb.ga),Lf(this,"GS",this.Tb.ga),Lf(this,"CR0",this.hb),Lf(this,"CR2",this.qe),Lf(this,"CR3",this.Md))}if(b=this.ya.speed)b.textContent=this.ra.Ob&&this.ba.ne?this.ba.ne.toFixed(2)+"Mhz":"Stopped";this.parent.qd.call(this,a)};
h.sf=function(a){this.ra.Sd=!0;var b=this.ra.Ni=this.ma&&Mf(this.ma),c=a?this.ra.hh?0:1:-1;this.ra.hh=!1;this.cb=this.A=a;this.R&&!a&&gd(this.R);a||n(this,1024)||(this.V|=4);do{var d=this.V&3312;if(d)this.La|=d;else if(this.Ge=this.Na,this.P=this.Ab,this.O=this.Aa,this.Z=this.Y=-1,this.La&3072&&Pe(this),this.La=this.V&256,this.za){a:{if(!(this.V&4))for(var d=80286>this.na?0:1,e=0;2>e;e++){switch(d){case 0:if(this.za&1&&this.ea&512){var f=Nf(this.R);if(-1<=f&&(this.za&=-2,0<=f)){this.za&=-5;Of.call(this,
f);d=!0;break a}}break;case 1:if(this.za&2){this.za&=-3;80386<=this.na&&(this.Ma[6]|=16384);Of.call(this,1);d=!0;break a}}d=1-d}d=!1}if(d&&!a){this.S("interrupt dispatched");this.V=0;break}if(this.za&4){this.V=this.A=0;break}}if(b){if(Pf(this.ma,this.Na,c)){this.bc();break}c=1}this.V=0;this.W[this.ca()].call(this)}while(0<this.A);return this.ra.Sd?this.cb-this.A:void 0===this.ra.Sd?0:-1};
Sa(function(){for(var a=ob(window.document,"pcjs","cpu"),b=0;b<a.length;b++){var c=a[b],d=kb(c),d=new Gd(d);mb(d,c)}});
f);d=!0;break a}}break;case 1:if(this.za&2){this.za&=-3;80386<=this.na&&(this.Ma[6]|=16384);Of.call(this,1);d=!0;break a}}d=1-d}d=!1}if(d&&!a){this.S("interrupt dispatched");this.V=0;break}if(this.za&4){this.V=this.A=0;break}}if(b){if(Pf(this.ma,this.Na,c)){this.bc();break}c=1}this.V=0;this.W[this.ca()].call(this)}while(0<this.A);return this.ra.Sd?this.cb-this.A:void 0===this.ra.Sd?0:-1};Sa(function(){for(var a=ob(document,"pcjs","cpu"),b=0;b<a.length;b++){var c=a[b],d=kb(c),d=new Gd(d);mb(d,c)}});
function Qf(a){Xa.call(this,"FPU",a,Qf);this.na=a.model||8087;(a=a.stepping)&&ca(a,16);this.ja=new Float64Array(8);this.da=new Int32Array(this.ja.buffer);this.wa=new Float32Array(1);this.Ba=new Int32Array(this.wa.buffer);this.X=new Float64Array(1);this.ia=new Int32Array(this.X.buffer);this.O=Array(3);this.ka=this.la=-1;this.Y=this.W=this.qa=this.A=0;this.ta=new Float64Array(1);this.za=new Int32Array(this.ta.buffer);this.za[0]=0;this.za[1]=268402688;Rf(this)}gb(Qf);h=Qf.prototype;
h.Jc=function(a,b,c){this.M=c;this.R=Hb(a,"ChipSet");vb(this)};h.lc=function(a,b){if(!b)if(!a||!this.restore)Rf(this);else if(!this.restore(a))return!1;return!0};h.kc=function(a){return a?this.save():!0};h.save=function(){var a=new bf(this),b=[],c=0;b[c++]=this.mc;b[c++]=Sf(this);b[c++]=Tf(this);for(var d=0;d<this.ja.length;d++)b[c++]=this.ja[d];cf(a,0,b);return a.data()};
h.restore=function(a){a=a[0];var b=0;this.mc=a[b++]&-57409;var c=a[b++];this.sa=c&-14337;this.C=(c&14336)>>11;Uf(this);Vf(this,a[b++]);for(c=0;c<this.ja.length;c++)this.ja[c]=a[b++];return!0};function Rf(a){a.P=0;a.mc=959;a.sa=0;a.C=0;a.R&&(a=a.R,a.na>=Wf&&Xf(a,13))}function Uf(a){a.sa&=-129;a.sa&~a.mc&63&&(a.sa|=128);if(a.sa&128&&!(a.mc&128))return a=a.R,a.na>=Wf?Yf(a,13):a.Ma&0||Of.call(a.M,2),!0;a=a.R;a.na>=Wf&&Xf(a,13);return!1}function Zf(a,b){80387<=a.na||(b&=-65);a.sa|=b;return Uf(a)}
@ -162,9 +161,9 @@ og(this),T(this,0)))},48:function(){W(this,this.A,ag(this,T(this,this.A),T(this,
this.nk()},3:function(){ig(this)&&(this.nk(),Dg(this))},4:Wg,6:Xg,7:bh,48:Sg,49:eh,50:function(){W(this,this.A,T(this,0))},51:Zg},222:{0:function(){W(this,0,ag(this,T(this,0),lg(this)))},1:function(){W(this,0,cg(this,T(this,0),lg(this)))},2:function(){eg(this,T(this,0),lg(this))},3:function(){eg(this,T(this,0),lg(this))&&Dg(this)},4:function(){W(this,0,bg(this,T(this,0),lg(this)))},5:function(){W(this,0,bg(this,lg(this),T(this,0)))},6:function(){W(this,0,dg(this,T(this,0),lg(this)))},7:function(){W(this,
0,dg(this,lg(this),T(this,0)))},48:function(){W(this,this.A,ag(this,T(this,this.A),T(this,0)))&&Dg(this)},49:function(){W(this,this.A,cg(this,T(this,this.A),T(this,0)))&&Dg(this)},50:Qg,51:function(){eg(this,T(this,0),T(this,1))&&null!=Dg(this)&&Dg(this)},52:function(){W(this,this.A,bg(this,T(this,0),T(this,this.A)))&&Dg(this)},53:function(){W(this,this.A,bg(this,T(this,this.A),T(this,0)))&&Dg(this)},54:function(){W(this,this.A,dg(this,T(this,0),T(this,this.A)))&&Dg(this)},55:function(){W(this,this.A,
dg(this,T(this,this.A),T(this,0)))&&Dg(this)}},223:{0:function(){Eg(this,lg(this))},2:function(){null!=fg(this,T(this,0),32768)&&this.M.pb(this.M.Z,this.ia[0])},3:function(){null!=fg(this,T(this,0),32768)&&(this.M.pb(this.M.Z,this.ia[0]),Dg(this))},4:function(){var a=pg(this),b=Bg(a[0],8)+1E8*Bg(a[1],8)+1E16*Bg(a[2],2);a[2]&32768&&(b=-b);Eg(this,b)},5:function(){var a;a=this.M.ua(this.M.Z);a=4294967296*this.M.ua(this.M.Z+4)+(a>>>0);Eg(this,a)},6:function(){var a=fg(this,Dg(this));null!=a&&(this.O[0]=
Cg(a,8),this.O[1]=Cg(a/1E8,8),this.O[2]=Cg(a/1E16,2),0>a&&(this.O[2]|=32768),zg(this))},7:function(){null!=fg(this,T(this,0),Mg)&&(this.mk(),Dg(this))},48:function(){Sg.call(this);Dg(this)},49:eh,50:$g,51:$g,52:ch}},gh=[Ng,Tg,Ug,Vg,Wg,Xg,ah,Yg,bh,ch];Sa(function(){for(var a=ob(window.document,"pcjs","fpu"),b=0;b<a.length;b++){var c=a[b],d=kb(c),d=new Qf(d);mb(d,c)}});
function hh(a,b){var c=a+b+xf(this)|0;kf(this,a,b,c,191);this.A-=-1===this.Y?-1===this.Z?this.C.yc:this.C.ac:this.C.Nc;return c&255}function ih(a,b){var c=a+b+xf(this)|0;kf(this,a,b,c,this.Ja|63);this.A-=-1===this.Y?-1===this.Z?this.C.yc:this.C.ac:this.C.Nc;return c&this.B}function jh(a,b){var c=a+b|0;kf(this,a,b,c,191);this.A-=-1===this.Y?-1===this.Z?this.C.yc:this.C.ac:this.C.Nc;return c&255}
function kh(a,b){var c=a+b|0;kf(this,a,b,c,this.Ja|63);this.A-=-1===this.Y?-1===this.Z?this.C.yc:this.C.ac:this.C.Nc;return c&this.B}function lh(a,b){var c=a&b;rf(this,c,128);this.A-=-1===this.Y?-1===this.Z?this.C.yc:this.C.ac:this.C.Nc;return c}function mh(a,b){this.A-=-1===this.Y?-1===this.Z?this.C.yc:this.C.ac:this.C.Nc;return rf(this,a&b,this.Ja)&this.B}function nh(a,b){this.A-=10+(-1===this.Z?0:1);if((a&3)<(b&3))return a=a&-4|b&3,Bf(this),a;zf(this);return a}
Cg(a,8),this.O[1]=Cg(a/1E8,8),this.O[2]=Cg(a/1E16,2),0>a&&(this.O[2]|=32768),zg(this))},7:function(){null!=fg(this,T(this,0),Mg)&&(this.mk(),Dg(this))},48:function(){Sg.call(this);Dg(this)},49:eh,50:$g,51:$g,52:ch}},gh=[Ng,Tg,Ug,Vg,Wg,Xg,ah,Yg,bh,ch];Sa(function(){for(var a=ob(document,"pcjs","fpu"),b=0;b<a.length;b++){var c=a[b],d=kb(c),d=new Qf(d);mb(d,c)}});function hh(a,b){var c=a+b+xf(this)|0;kf(this,a,b,c,191);this.A-=-1===this.Y?-1===this.Z?this.C.yc:this.C.ac:this.C.Nc;return c&255}
function ih(a,b){var c=a+b+xf(this)|0;kf(this,a,b,c,this.Ja|63);this.A-=-1===this.Y?-1===this.Z?this.C.yc:this.C.ac:this.C.Nc;return c&this.B}function jh(a,b){var c=a+b|0;kf(this,a,b,c,191);this.A-=-1===this.Y?-1===this.Z?this.C.yc:this.C.ac:this.C.Nc;return c&255}function kh(a,b){var c=a+b|0;kf(this,a,b,c,this.Ja|63);this.A-=-1===this.Y?-1===this.Z?this.C.yc:this.C.ac:this.C.Nc;return c&this.B}
function lh(a,b){var c=a&b;rf(this,c,128);this.A-=-1===this.Y?-1===this.Z?this.C.yc:this.C.ac:this.C.Nc;return c}function mh(a,b){this.A-=-1===this.Y?-1===this.Z?this.C.yc:this.C.ac:this.C.Nc;return rf(this,a&b,this.Ja)&this.B}function nh(a,b){this.A-=10+(-1===this.Z?0:1);if((a&3)<(b&3))return a=a&-4|b&3,Bf(this),a;zf(this);return a}
function oh(a){if(-1===this.Z)return p.call(this,6),a;var b=a,c=this.vb(this.Z),d=this.vb(this.Z+this.fa);2==this.fa&&(b=a<<16>>16,c=c<<16>>16,d=d<<16>>16);this.A-=this.C.cj;(b<c||b>d)&&p.call(this,5);this.V|=2;return a}function ph(a,b){var c=0;if(b){zf(this);for(var d=1;d&this.B;){if(b&d){a=c;break}d<<=1;c++}}else Bf(this);this.A-=11+3*c;return a}function qh(a,b){var c=0;if(b){zf(this);for(var d=2==this.fa?15:31,e=1<<d;e;){if(b&e){a=d;break}e>>>=1;c++;d--}}else Bf(this);this.A-=11+3*c;return a}
function rh(a,b){a&1<<(b&(2==this.fa?15:31))?sf(this):tf(this);this.A-=-1===this.Z?3:6;this.V|=2;return a}function sh(a,b){var c=1<<(b&(2==this.fa?15:31));a&c?sf(this):tf(this);this.A-=-1===this.Z?6:8;return a^c}function th(a,b){var c=1<<(b&(2==this.fa?15:31));a&c?sf(this):tf(this);this.A-=-1===this.Z?6:8;return a&~c}function uh(a,b){var c=1<<(b&(2==this.fa?15:31));a&c?sf(this):tf(this);this.A-=-1===this.Z?6:8;return a|c}
function vh(a,b){if(-1===this.Z)return rh.call(this,a,b);var c=this.fa<<3;if(b>=c||b<-c)a=Gf(this,this.pd,this.rb+(b>>(2==this.fa?4:5))*this.fa);b=1<<(b&(2==this.fa?15:31));a&b?sf(this):tf(this);this.A-=6;this.V|=2;return a}function wh(a,b){if(-1===this.Z)return sh.call(this,a,b);var c=this.fa<<3;if(b>=c||b<-c)a=Gf(this,this.pd,this.rb+(b>>(2==this.fa?4:5))*this.fa);b=1<<(b&(2==this.fa?15:31));a&b?sf(this):tf(this);this.A-=8;return a^b}
@ -855,18 +854,18 @@ b){return fl(this,1,a,b)},66:function(a,b){return fl(this,2,a,b)},67:Xj.prototyp
32:function(a,b,c){bl(this,0,b,c)},33:function(a,b,c){el(this,0,b,c)},64:function(a,b,c){hl(this,0,a,b,c)},65:function(a,b,c){hl(this,1,a,b,c)},66:function(a,b,c){hl(this,2,a,b,c)},67:Xj.prototype.gn,129:function(a,b,c){Vk(this,0,2,a,b,c)},130:function(a,b,c){Vk(this,0,3,a,b,c)},131:function(a,b,c){Vk(this,0,1,a,b,c)},135:function(a,b,c){Vk(this,0,0,a,b,c)}},lk={96:Xj.prototype.hn,97:Xj.prototype.jn,98:Xj.prototype.kn,99:Xj.prototype.mn,160:Xj.prototype.fn},nk={96:Xj.prototype.tm,97:Xj.prototype.um,
100:Xj.prototype.sm,112:Xj.prototype.Im,113:Xj.prototype.Jm,128:function(a,b,c){Xk(this,7,a,b,c)},132:function(a,b,c){Xk(this,0,a,b,c)},133:function(a,b,c){Xk(this,1,a,b,c)},134:function(a,b,c){Xk(this,2,a,b,c)},136:function(a,b,c){Xk(this,3,a,b,c)},137:function(a,b,c){Vk(this,1,2,a,b,c)},138:function(a,b,c){Vk(this,1,3,a,b,c)},139:function(a,b,c){Vk(this,1,1,a,b,c)},140:function(a,b,c){Xk(this,4,a,b,c)},141:function(a,b,c){Xk(this,5,a,b,c)},142:function(a,b,c){Xk(this,6,a,b,c)},143:function(a,b,
c){Vk(this,1,0,a,b,c)},160:function(a,b,c){bl(this,1,b,c)},161:function(a,b,c){el(this,1,b,c)},192:function(a,b,c){Lk(this,1,0,a,b,c)},194:function(a,b,c){Nk(this,1,0,a,b,c)},196:function(a,b,c){Lk(this,1,1,a,b,c)},198:function(a,b,c){Nk(this,1,1,a,b,c)},200:function(a,b,c){Lk(this,1,2,a,b,c)},202:function(a,b,c){Nk(this,1,2,a,b,c)},204:function(a,b,c){Lk(this,1,3,a,b,c)},206:function(a,b,c){Nk(this,1,3,a,b,c)},208:function(a,b,c){n(this,768)&&m(this,a,b,c,"DMA1.CMD",null,!0);this.R[1].Zg=b},210:function(a,
b,c){Pk(this,1,a,b,c)},212:function(a,b,c){Qk(this,1,a,b,c)},214:function(a,b,c){Sk(this,1,a,b,c)},216:function(a,b,c){n(this,768)&&m(this,a,b,c,"DMA1.RESET_FF",null,!0);this.R[1].Pb=0},218:function(a,b,c){Tk(this,1,a,b,c)},240:Xj.prototype.Tm,241:Xj.prototype.Um};Sa(function(){for(var a=ob(window.document,"pcjs","chipset"),b=0;b<a.length;b++){var c=a[b],d=kb(c),d=new Xj(d);mb(d,c);sk(d)}});
b,c){Pk(this,1,a,b,c)},212:function(a,b,c){Qk(this,1,a,b,c)},214:function(a,b,c){Sk(this,1,a,b,c)},216:function(a,b,c){n(this,768)&&m(this,a,b,c,"DMA1.RESET_FF",null,!0);this.R[1].Pb=0},218:function(a,b,c){Tk(this,1,a,b,c)},240:Xj.prototype.Tm,241:Xj.prototype.Um};Sa(function(){for(var a=ob(document,"pcjs","chipset"),b=0;b<a.length;b++){var c=a[b],d=kb(c),d=new Xj(d);mb(d,c);sk(d)}});
function tl(a){Xa.call(this,"ROM",a,tl);this.A=null;this.ia=a.addr;this.R=a.size;this.P=a.alias;this.O=a.file;this.X=ja(this.O);this.C=a.notify;this.Y=null;if(this.C&&(a=this.C.indexOf("["),0<a)){try{this.Y=eval(this.C.substr(a))}catch(c){}this.C=this.C.substr(0,a)}if(this.O){a=this.O;var b=ka(this.X);"json"!=b&&"hex"!=b&&(a=Aa()+"/api/v1/dump?file="+this.O+"&format=bytes&decimal=true");za(a,!0,null,this,this.W)}}gb(tl);tl.prototype.Jc=function(a,b,c,d){this.ja=b;this.M=c;this.ma=d;ul(this)};
tl.prototype.lc=function(){this.Nd&&(this.ma&&vl(this.ma,this.id,0,this.ia>>>4,0,this.ia,this.R,this.Nd),delete this.Nd);return!0};tl.prototype.kc=function(){return!0};
tl.prototype.W=function(a,b,c){if(c)this.Va("Unable to load system ROM (error "+c+": "+a+")");else{if("["==b.charAt(0)||"{"==b.charAt(0))try{var d=eval("("+b+")"),e=d.bytes,f=d.data;if(e)this.A=e;else if(f)for(this.A=Array(4*f.length),c=b=0;b<f.length;b++)this.A[c++]=f[b]&255,this.A[c++]=f[b]>>8&255,this.A[c++]=f[b]>>16&255,this.A[c++]=f[b]>>24&255;else this.A=d;this.Nd=d.symbols;if(!this.A.length){Ba("Empty ROM: "+a);return}if(1==this.A.length){Ba(this.A[0]);return}}catch(g){this.Va("ROM data error: "+
g.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.A=Array(a.length),d=0;d<a.length;d++)this.A[d]=ca(a[d],16);ul(this)}};
function ul(a){if(!wb(a))if(!a.O)vb(a);else if(a.A&&a.ja){if(a.A.length!=a.R)xb(a,"ROM size (0x"+l(a.A.length)+") does not match specified size ("+("0x"+l(a.R))+")");else{var b;b=a.ia;if(Xb(a.ja,b,a.R,dc)){for(var c=0;c<a.A.length;c++){var d=a.ja,e=b+c;d.xa[(e&d.Lb)>>>d.Pa].tf(e&d.A,a.A[c]&255,e)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.P?b.push(a.P):null!=a.P&&a.P.length&&(b=a.P);for(c=0;c<b.length;c++){var d=a,e=b[c],f=ac(d.ja,d.ia,d.R);$b(d.ja,e,d.R,f)}a.C&&((b=ib(a.C,a.id))?(c=a.A,d=a.Y,5==
b.nb?wl(b,c,d||[12640,8752],8):b.nb==xl&&wl(b,c,d||[14221,16269],8),vb(b)):a.Va("Unable to find component: "+a.C));delete a.A}}vb(a)}}Sa(function(){for(var a=ob(window.document,"pcjs","rom"),b=0;b<a.length;b++){var c=a[b],d=kb(c),d=new tl(d);mb(d,c)}});function yl(a){Xa.call(this,"RAM",a,yl);this.C=a.addr;this.A=a.size;this.ia=a.test;this.O=!!this.A;this.P=!1}gb(yl);h=yl.prototype;h.Jc=function(a,b,c,d){this.ja=b;this.M=c;this.ma=d;this.R=Hb(a,"ChipSet");vb(this)};
b.nb?wl(b,c,d||[12640,8752],8):b.nb==xl&&wl(b,c,d||[14221,16269],8),vb(b)):a.Va("Unable to find component: "+a.C));delete a.A}}vb(a)}}Sa(function(){for(var a=ob(document,"pcjs","rom"),b=0;b<a.length;b++){var c=a[b],d=kb(c),d=new tl(d);mb(d,c)}});function yl(a){Xa.call(this,"RAM",a,yl);this.C=a.addr;this.A=a.size;this.ia=a.test;this.O=!!this.A;this.P=!1}gb(yl);h=yl.prototype;h.Jc=function(a,b,c,d){this.ja=b;this.M=c;this.ma=d;this.R=Hb(a,"ChipSet");vb(this)};
h.lc=function(a,b){return!b&&(this.reset(),a&&this.controller&&!this.restore(a))?!1:!0};h.kc=function(a){return a&&this.controller?this.save():!0};
h.reset=function(){if(!this.C&&!this.O&&this.R){var a=1024*wk(this.R);this.A&&a!=this.A&&(cc(this.ja,this.C,this.A),this.P=!1);this.A=a}!this.P&&this.A&&Xb(this.ja,this.C,this.A,1)&&(this.P=!0,this.status(Math.floor(this.A/1024)+"Kb allocated"),"ramCPQ"==this.ce&&(this.controller=new zl(this),Xb(this.ja,Al,4,4,this.controller)));if(this.P){if(this.ia||jc(this.ja,1138,4660),"ramCPQ"!=this.ce&&this.R&&(a=this.R,a.A)){var b=1048576>this.C?21:23,c=a.A[b]|a.A[b+1]<<8,c=c+(this.A>>10);a.A[b]=c&255;a.A[b+
1]=c>>8;Ak(a)}}else Ba("No RAM allocated")};h.save=function(){var a=new bf(this);this.controller&&cf(a,0,this.controller.save());return a.data()};h.restore=function(a){return this.controller?this.controller.restore(a[0]):!0};function zl(a){this.P=a;this.ma=Bl;this.R=Cl;this.C=Dl;this.A=null}var Al=-2134900736,Bl=65535,Cl=2575,Dl=2,El=[null,0],Fl=[function(a){return this.controller.Wa(a)},null,null,function(a,b){this.controller.tc(a,b)},null,null];h=zl.prototype;h.save=function(){return[this.ma,this.C]};
h.restore=function(a){this.tc(0,a[0]&255);this.tc(2,a[1]&255);return!0};h.Wa=function(a){var b=255;2>a?b=a&1?this.R>>8:this.R&255:4>a&&(b=a&1?this.C>>8:this.C&255);return b};h.tc=function(a,b){if(a)2==a&&(this.C=this.C&-256|b);else if(b!=(this.ma&255)){var c=this.P.ja;if(b&1)this.A&&($b(c,917504,131072,this.A),this.A=null);else{this.A||(this.A=ac(c,917504,131072));var d=ac(c,16646144,131072);$b(c,917504,131072,d,b&2?1:dc)}this.ma=this.ma&-256|b}};h.Si=function(){return El};h.jh=function(){return Fl};
Sa(function(){for(var a=ob(window.document,"pcjs","ram"),b=0;b<a.length;b++){var c=a[b],d=kb(c),d=new yl(d);mb(d,c)}});function Gl(a){Xa.call(this,"Keyboard",a,Gl,65536);Hl(this,a.model);this.ka=Ia("Mobi");this.qa=Ia("MSIE");qb(this,"mobile keyboard support: "+(this.ka?"true":"false"));this.da=0;this.la=this.fh=!1;this.C=[];this.wa=50;vb(this)}gb(Gl);
Sa(function(){for(var a=ob(document,"pcjs","ram"),b=0;b<a.length;b++){var c=a[b],d=kb(c),d=new yl(d);mb(d,c)}});function Gl(a){Xa.call(this,"Keyboard",a,Gl,65536);Hl(this,a.model);this.ka=Ia("Mobi");this.qa=Ia("MSIE");qb(this,"mobile keyboard support: "+(this.ka?"true":"false"));this.da=0;this.la=this.fh=!1;this.C=[];this.wa=50;vb(this)}gb(Gl);
var Il=["US83","US84","US101"],X={Bn:1,Cn:3,Dn:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,xn:65,yn:66,zn:67,En:68,E:69,Fn:70,In:71,Jn:72,Kn:73,Ln:74,Mn:75,Nn:76,On:77,Pn:78,Qn:79,Rn:80,Q:81,Sn:82,Wn:83,ao:84,fo:85,ho:86,io:87,ko:88,lo:89,mo:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,no:97,oo:98,qo:99,d:100,e:101,ro:102,so:103,to:104,
uo:105,vo:106,k:107,wo:108,xo:109,n:110,zo:111,p:112,q:113,r:114,Ao:115,t:116,Co:117,Do:118,Eo:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},Jl={};Jl[186]=X[";"];Jl[187]=X["="];Jl[188]=X[","];Jl[189]=X["-"];Jl[190]=X["."];Jl[191]=X["/"];Jl[192]=X["`"];Jl[219]=X["["];Jl[220]=X["\\"];Jl[221]=X["]"];Jl[222]=X["'"];Jl[173]=X["-"];var Kl={};Kl[X["1"]]=X["!"];Kl[X["2"]]=X["@"];Kl[X["3"]]=X["#"];Kl[X["4"]]=X.$;Kl[X["5"]]=X["%"];Kl[X["6"]]=X["^"];Kl[X["7"]]=X["&"];Kl[X["8"]]=X["*"];Kl[X["9"]]=X["("];
Kl[X["0"]]=X[")"];Kl[186]=X[":"];Kl[187]=X["+"];Kl[188]=X["<"];Kl[189]=X._;Kl[190]=X[">"];Kl[191]=X["?"];Kl[192]=X["~"];Kl[219]=X["{"];Kl[220]=X["|"];Kl[221]=X["}"];Kl[222]=X['"'];Kl[173]=X._;Kl[61]=X["+"];Kl[59]=X[":"];
@ -888,7 +887,7 @@ function Sl(a,b,c){if(!Z[b]||!(c||a.M&&a.M.ra.Ob))return!1;for(var d=!1,e=0;e<a.
function Yl(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=Kl[b])d=a}else if(a=Jl[b])d=a;return d}h.Gg=function(a){a||(this.xc&=-256)};
function Pl(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,k=Yl(a,g,!0);a.fh&&k==X["`"]&&(g=k=27);if(Z[g+1E3])if(k+=1E3,2==b.location&&(k+=2E3),Rl(a,k,!1,c)){if(20==g||144==g||145==g)a.qa||(c=e=!0);if(!(c||91!=g&&93!=g))for(var q=0;q<a.C.length;q++){var r=a.C[q];r.Bf=!1;0<r.Kd&&(r.Kd=0)}}else 8==g&&8==(a.xc&40)&&(k=4008),d=!1;else if(Z[k]&&a.xc&60&&(d=!1),d&&c||a.xc&192)f=!0;d||b.preventDefault();f||a.ka&&d||(c?Ql(a,k,e):Sl(a,k)||(b=Yl(a,g,!1),b!=k&&Sl(a,b)));return d}
function Xl(a,b,c){var d=!1;Rl(a,b,!0,c);var e=Z[b]||Z[b+1E3];if(void 0!==e){14==e&&40==(a.xc&40)&&(e=83);var d=[],f=e&255;if(83<f&&83==a.ta)return!1;d.push(f|(c?0:128));for(b=65<=b&&90>=b||97<=b&&122>=b;e>>>=8;){var g=0,k=e&255;224==f||225==f?d.push(f|(c?0:128)):(42==k?a.P&3||a.P&512&&b||(g=k):29==k?a.P&12||(g=k):56==k?a.P&48||(g=k):d.push(f|(c?0:128)),g&&(c?d.unshift(g):d.push(g|128)))}for(c=0;c<d.length;c++)e=a,f=d[c],e.A&&(20>e.A.length?(n(e)&&qb(e,"scan code "+ga(f)+" buffered"),e.A.push(f),
1==e.A.length&&e.R&&rl(e.R,f)):(20==e.A.length&&e.A.push(255),qb(e,"scan code buffer overflow")));d=!0}return d}Sa(function(){for(var a=ob(window.document,"pcjs","keyboard"),b=0;b<a.length;b++){var c=a[b],d=kb(c),d=new Gl(d);mb(d,c)}});
1==e.A.length&&e.R&&rl(e.R,f)):(20==e.A.length&&e.A.push(255),qb(e,"scan code buffer overflow")));d=!0}return d}Sa(function(){for(var a=ob(document,"pcjs","keyboard"),b=0;b<a.length;b++){var c=a[b],d=kb(c),d=new Gl(d);mb(d,c)}});
function Zl(a,b,c,d,e){Xa.call(this,"Video",a,Zl,262144);this.na=a.model;this.nb=$l[this.na]||am;this.Ed=a.memory||0;this.Yf=a.switches;this.Da=a.mode;if(void 0===this.Da||void 0===bm[this.Da])this.Da=cm;this.jd=a.charCols;this.je=a.charRows;if(void 0===this.jd||void 0===this.je)this.jd=bm[this.Da][0],this.je=bm[this.Da][1];this.Ba=a.screenWidth;this.Ma=a.screenHeight;this.Rg=a.scale;this.Qg=12<=Math.round(this.Ba/this.jd);this.wa=b;this.qa=c;this.ia=(this.Bk=d)||b||null;this.dg=a.touchScreen;this.ke=
dm;this.Y=null;this.Pg=a.autoLock;this.sb=this.gc=0;this.Ua=[];this.Ja=Array(this.nb==xl?256:16);this.xb=!1;var f=this;this.nf=Ia("Gecko/");b=["","moz","webkit","ms"];if(this.la=e)if(this.la.Ue=e.requestFullscreen||e.msRequestFullscreen||e.mozRequestFullScreen||e.webkitRequestFullscreen,this.la.Ue){for(e=0;e<b.length;e++)if(c=b[e]+"fullscreenchange","on"+c in document){document.addEventListener(c,function(){em(f,document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||
document.msFullscreenElement?!0:!1)},!1);break}for(e=0;e<b.length;e++)if(c=b[e]+"fullscreenerror","on"+c in document){document.addEventListener(c,function(){em(f,null)},!1);break}}this.ia&&(this.ia.onfocus=function(){return f.Gg(!0)},this.ia.onblur=function(){return f.Gg(!1)},this.ia.ze=this.ia.requestPointerLock||this.ia.mozRequestPointerLock||this.ia.webkitRequestPointerLock,this.ia.rk=this.ia.exitPointerLock||this.ia.mozExitPointerLock||this.ia.webkitExitPointerLock,this.ia.ze&&(e=function(){f.Sf(document.pointerLockElement===
@ -933,7 +932,7 @@ h.Gk=function(a,b,c){if(c)this.Va("Unable to load font ROM (error "+c+": "+a+")"
function Sm(a,b){if(1==b)return a.Ja[0]=jm[0],a.Ja[1]=jm[7],a.Ja;if(2==b){var c=a.C.pf;if(a.C===a.A){var d=a.A.Uc[0],c=d&7;d&16&&(c|=8);18!=a.A.Uc[1]&&(c|=32)}a.Ja[0]=jm[c&15];c=c&32?lm:km;for(d=0;d<c.length;d++)a.Ja[d+1]=jm[c[d]];return a.Ja}if(a.da===a.Xc)return jm;a.xb&&b&&!a.Ja[16]&&(a.xb=!1);if(!a.xb){var c=a.A,d=c.qf,e,f,g,k,q;if(8==b)for(f=0;256>f;f++)g=d[f]||0,k=g<<2&252,q=g>>4&252,g=g>>10&252,a.Ja[f]=[k,q,g,255];else{var r=d&&d[255];e=null!=c.Uc[15]?c.Uc:mm;for(f=0;16>f;f++)g=e[f]&63,r?(g|=
(c.Uc[20]&12)<<4,c.Uc[16]&128&&(g&=-49,g|=(c.Uc[20]&3)<<4),g=d[g],k=g<<2&252,q=g>>4&252,g=g>>10&252):(k=(g&4?170:0)|(g&32?85:0),q=(g&2?170:0)|(g&16?85:0),g=(g&1?170:0)|(g&8?85:0)),a.Ja[f]=[k,q,g,255]}a.xb=!0}return a.Ja}function wl(a,b,c,d){a.Lc=b;a.sd=c;a.rb=d}
function Om(a,b){var c=!1;if(window&&a.Lc&&(!b||a.W)){var d=0,e=a.rb?a.rb:8,f=Sm(a);Tm(a,3,a.sd[0],d,e,8,a.Lc,f)&&(c=!0);d=a.rb?0:2048;e=a.rb?a.rb:9;Tm(a,1,a.sd[1],d,e,14,a.Lc,hm,im)&&(c=!0);a.rb&&Tm(a,a.nb,a.sd[1],0,a.rb,14,a.Lc,f)&&(c=!0)}return c}function Tm(a,b,c,d,e,f,g,k,q){var r=!1;null!=c&&(Um(a,b,c,d,e,f,g,k,q)&&(r=!0),a.Qg&&Um(a,b<<1,c,d,e,f,g,k,q)&&(r=!0));return r}
function Um(a,b,c,d,e,f,g,k,q){var r=!1,x=b&1?0:1,B=a.Ua[b],y=16>k.length?k.length:16;B||(B={Rc:e<<x,Sc:f<<x,Me:Array(y),vi:k.slice(0,y),wf:q,Ug:Array(y)});for(q=0;q<y;q++){var J=k[q],U=B.Me[q]?B.vi[q]:[];if(J[0]!==U[0]||J[1]!==U[1]||J[2]!==U[2]){var r=B,U=q,F=x,O=c,V=d,Y=e,ha=f,da=g,eb=[0,0,0,0],ua=window.document.createElement("canvas");ua.width=r.Rc<<4;ua.height=r.Sc<<4;for(var pa=ua.getContext("2d"),Oa=void 0,$a=void 0,Ja=void 0,Vb=8>ha||!V?ha:8,Da=pa.createImageData(r.Rc,r.Sc),Oa=0;256>Oa;Oa++){for(Ja=
function Um(a,b,c,d,e,f,g,k,q){var r=!1,x=b&1?0:1,B=a.Ua[b],y=16>k.length?k.length:16;B||(B={Rc:e<<x,Sc:f<<x,Me:Array(y),vi:k.slice(0,y),wf:q,Ug:Array(y)});for(q=0;q<y;q++){var J=k[q],U=B.Me[q]?B.vi[q]:[];if(J[0]!==U[0]||J[1]!==U[1]||J[2]!==U[2]){var r=B,U=q,F=x,O=c,V=d,Y=e,ha=f,da=g,eb=[0,0,0,0],ua=document.createElement("canvas");ua.width=r.Rc<<4;ua.height=r.Sc<<4;for(var pa=ua.getContext("2d"),Oa=void 0,$a=void 0,Ja=void 0,Vb=8>ha||!V?ha:8,Da=pa.createImageData(r.Rc,r.Sc),Oa=0;256>Oa;Oa++){for(Ja=
0;Ja<ha;Ja++)for(var Ud=r.wf&&U&1&&Ja>=ha-2,Tc=da[Ja<Vb?O+Oa*Vb+Ja:V+Oa*Vb+Ja-Vb],Vd=0;Vd<=F;Vd++)for($a=0;$a<Y;$a++){var Fe=$a<<F,Wd=(Ja<<F)+Vd,Ge=Ud||Tc&128>>(8<=$a&&192<=Oa&&223>=Oa?7:$a)?J:eb;Vm(Da,Fe,Wd,Ge);F&&Vm(Da,Fe+1,Wd,Ge)}pa.putImageData(Da,(Oa&15)*r.Rc,(Oa>>4)*r.Sc)}r.Me[U]="#"+l(J[0],2)+l(J[1],2)+l(J[2],2);r.vi[U]=J;r.Ug[U]=ua;r=!0}}a.Ua[b]=B;return r}function Wm(a){0<a.cb||0<=a.ta?0>a.Yb&&(a.Yb=0):a.Yb=-1}
function Rm(a){if(a.W){for(var b=10;15>=b;b++)if(null==a.C.zb[b])return;var c=a.C.zb[10],b=c&31,d=a.C.zb[11]&31,e=a.C.zb[9]&31,f=!1;a.C===a.A&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)Xm(a);else{c=a.C.zb[15]+((a.C.zb[14]&63)<<8);a.ta!=c&&(Xm(a),a.ta=c);d=d-b+1;if(a.fg!=b||a.ye!=d)a.fg=b,a.ye=d;a.ib=e+1;Wm(a)}}}
function Xm(a){if(0<=a.ta){if(void 0!==a.ka){var b=a.ka[a.ta];if(b&131072){var b=b&-131073,c=a.ta%a.O,d=a.ta/a.O|0;a.W&&a.Ua[a.W]&&(a.qb&&Ym(a,c,d,b,a.qb),Ym(a,c,d,b));a.ka[a.ta]=b}}a.ta=-1}}
@ -942,8 +941,8 @@ function $m(a,b){var c=a.C;return c&&null!=b&&b!=c.vg?(c.Ng(b),a.ja.Ng(c.sb,c.gc
function Qm(a,b){var c,d=a.Qa,e=a.C;if(e)if(e.nb==am)d=cm;else if(5<=e.nb){var d=null,f=e.Ed>>2,g=32768<f?32768:f,k=e.Zd[6];if(null!=k){switch(k&12){case 0:e.sb=655360;e.gc=f;d=255;break;case 4:e.sb=655360;e.gc=f;d=3==a.Ha?15:16;break;case 8:e.sb=720896;e.gc=g;d=cm;break;case 12:e.sb=753664,e.gc=g,d=3==a.Ha?2:3}var q=80==(e.Zd[5]&80);!q||e.sb==a.sb&&e.gc==a.gc||(b=!0);c=e.He[1]&8;f=e.zb[6];f|=e.zb[7]&1?256:0;e.nb==xl&&(f|=e.zb[7]&32?512:0);g=e.zb[9];255!=d&&(k&1?655360!=e.sb&&!q&&350>f?d=c?7-d:6:
e.Zd[5]&64?d=g&31?143>=e.zb[18]?19:20:21:g&128||350>f?d=c?13:14:480<=f&&(d=3==a.Ha?17:18):d-=c?2:0);c=Zm(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.Qa=null,null==d&&(d=a.Da);if(!Pm(a,d,b))return!1;$m(a,c);return!0}
function Pm(a,b,c){if(null!=b&&(b!=a.Qa||c)){a.Og=0;a.Qa=b;a.xb=!1;b=a.C||(b==cm?a.za:a.da);if(b!=a.C||b.sb!=a.sb||b.gc!=a.gc){Xm(a);if(a.sb){if(!cc(a.ja,a.sb,a.gc))return!1;a.C&&(a.C.Ic=!1)}a.C=b;b.Ic=!0;a.sb=b.sb;a.gc=b.gc;if(!Xb(a.ja,b.sb,b.gc,3,b===a.A?b:null))return!1}a.W=0;a.O=a.jd;a.X=a.je;a.Ib=a.O;a.hd=bm[cm][2];b=0;if(c=bm[a.Qa])a.O=c[0],a.X=c[1],a.hd=c[2],b=c[3],a.W=c[4],4!=a.Ha&&7!=a.Ha||a.C!==a.A||3!=a.W||(7==a.A.zb[9]?a.X=43:a.W=a.nb);a.Xf=a.O*a.X|0;a.of=a.Xf/a.hd|0;a.Vb=a.of;a.ud=0;
void 0!==b&&(a.Vb=(a.Vb<<1)+b|0,a.ud=a.Vb+b>>1);a.Ua.length&&(a.Ra=a.Ba/a.O|0,a.Ta=a.Ma/a.X|0,a.W?(b=a.Ua[a.W],c=a.Ua[a.W<<1],a.Rg&&80==a.O?c&&a.Ra>=3*c.Rc>>2&&(a.W<<=1,b=c):(c&&a.Ra>=c.Rc&&(a.W<<=1,b=c),b&&(a.Ra=b.Rc,a.Ta=b.Sc)),a.Zb=a.cc=0,b&&(a.Zb=a.O*b.Rc,a.cc=a.X*b.Sc)):(a.Ra=a.Ta=1,a.Zb=a.O,a.cc=a.X),a.Hb=a.qa.createImageData(a.Zb,a.cc),a.lb=window.document.createElement("canvas"),a.lb.width=a.Zb,a.lb.height=a.cc,a.qb=a.lb.getContext("2d"),a.le=a.me=0,a.vd=a.Ba,a.Gd=a.Ma,b=a.Ba-a.O*a.Ra,c=a.Ma-
a.X*a.Ta,0<b&&(a.le=b>>1,a.vd-=b),0<c&&(a.me=c>>1,a.Gd-=c),b||c)&&(a.qa.fillStyle=a.wa.style.backgroundColor,a.qa.fillRect(0,0,a.Ba,a.Ma));wn(a,!0);ad(a)}return!0}function Vm(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 xn(a){a.cb=-1;a.Oa=!1;var b=a.of;if(void 0===a.ka||a.ka.length!=b)a.ka=Array(b)}function wn(a,b){b||(a.xb=!1);xn(a)}
void 0!==b&&(a.Vb=(a.Vb<<1)+b|0,a.ud=a.Vb+b>>1);a.Ua.length&&(a.Ra=a.Ba/a.O|0,a.Ta=a.Ma/a.X|0,a.W?(b=a.Ua[a.W],c=a.Ua[a.W<<1],a.Rg&&80==a.O?c&&a.Ra>=3*c.Rc>>2&&(a.W<<=1,b=c):(c&&a.Ra>=c.Rc&&(a.W<<=1,b=c),b&&(a.Ra=b.Rc,a.Ta=b.Sc)),a.Zb=a.cc=0,b&&(a.Zb=a.O*b.Rc,a.cc=a.X*b.Sc)):(a.Ra=a.Ta=1,a.Zb=a.O,a.cc=a.X),a.Hb=a.qa.createImageData(a.Zb,a.cc),a.lb=document.createElement("canvas"),a.lb.width=a.Zb,a.lb.height=a.cc,a.qb=a.lb.getContext("2d"),a.le=a.me=0,a.vd=a.Ba,a.Gd=a.Ma,b=a.Ba-a.O*a.Ra,c=a.Ma-a.X*
a.Ta,0<b&&(a.le=b>>1,a.vd-=b),0<c&&(a.me=c>>1,a.Gd-=c),b||c)&&(a.qa.fillStyle=a.wa.style.backgroundColor,a.qa.fillRect(0,0,a.Ba,a.Ma));wn(a,!0);ad(a)}return!0}function Vm(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 xn(a){a.cb=-1;a.Oa=!1;var b=a.of;if(void 0===a.ka||a.ka.length!=b)a.ka=Array(b)}function wn(a,b){b||(a.xb=!1);xn(a)}
function Ym(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var k=a.Ua[a.W];k.wf&&(d=k.wf[d]);var q=g>>4&15;k.wf&&(q=k.wf[q]);e?(b*=k.Rc,c*=k.Sc,e.fillStyle=k.Me[q],e.fillRect(b,c,k.Rc,k.Sc)):(b=b*a.Ra+a.le,c=c*a.Ta+a.me,a.qa.fillStyle=k.Me[q],a.qa.fillRect(b,c,a.Ra,a.Ta));g&256&&(q=(f&15)*k.Rc,f=(f>>4)*k.Sc,e?e.drawImage(k.Ug[d],q,f,k.Rc,k.Sc,b,c,k.Rc,k.Sc):a.qa.drawImage(k.Ug[d],q,f,k.Rc,k.Sc,b,c,a.Ra,a.Ta));g&512&&(f=a.fg,g=a.ye,e?(a.ib&&a.ib!==k.Sc&&(f=f*k.Sc/a.ib|0,g=g*k.Sc/a.ib|0),e.fillStyle=k.Me[d],
e.fillRect(b,c+f,k.Rc,g)):(a.ib&&a.ib!==a.Ta&&(f=f*a.Ta/a.ib|0,g=g*a.Ta/a.ib|0),a.qa.fillStyle=k.Me[d],a.qa.fillRect(b,c+f,a.Ra,g)))}
function ad(a,b){if(a.ra.hc){var c=!1,d=a.C;d&&(d!==a.A?d.fd&8&&(c=!0):d.Ld&32&&(c=!0));if(c||b){if(b)xn(a);else if(void 0===a.ka)return;var e=!1;!(b||++a.Og&15)&&0<=a.Yb&&(a.Yb++,e=!0);var f=0,g=a.Xf,k=a.sb,c=k,q=c+a.gc;19<=a.Qa&&(k=c=655360,q=c+65536);if(yn(a,d)&8||d.mf&&d.mf<d.hi)d.Uf=(d.zb[12]<<8)+d.zb[13]|0,d.mf=0;var r=d.Uf;a.W&&(r<<=1);c+=r;r=a.Vb;5<=a.nb&&d.zb[19]&&d.zb[19]<<1!=d.zb[1]+1&&(a.Ib=d.zb[19]<<(a.W?1:d.zb[20]&64?3:4),r=(a.Ib*(a.X-1)+a.O)/a.hd|0,a.Qa<=cm&&(r<<=1));c+r>q&&(r=q-c,
@ -965,13 +964,13 @@ h.Em=function(a,b,c){c&&!n(this)||m(this,a,b,c,this.da.type+".COLOR");this.da.pf
function Bn(a,b,c,d,e){if(b.Ac<b.qh){e&&!n(a)||m(a,c,d,e,"CRTC."+b.jg[b.Ac]);b.zb[b.Ac]=d;if(12==b.Ac||13==b.Ac)yn(a,b)&1?b.Uf=(b.zb[12]<<8)+b.zb[13]|0:b.mf||(b.mf=b.hi);(9==b.Ac&&8!=b.Jg||18==b.Ac&&223==d)&&Qm(a,!0);Rm(a)}}function Cn(a,b,c){var d=b.fd;m(a,b.port+4,null,c,"MODE",d);return d}function Dn(a,b,c){var d=yn(a,b);b===a.A?(d|=b.sa&48^48,b.Ve=!1):d=(b.sa^=9)|240;b.sa=d;m(a,b.port+6,null,c,b===a.A?"STATUS1":"STATUS",d);return d}
var Cm={948:Zl.prototype.Jl,949:Zl.prototype.Il,952:Zl.prototype.Kl,954:Zl.prototype.Ll},Dm={948:Zl.prototype.cn,949:Zl.prototype.bn,952:Zl.prototype.dn},Em={980:Zl.prototype.ol,981:Zl.prototype.nl,984:Zl.prototype.pl,985:Zl.prototype.ml,986:Zl.prototype.ql},Fm={980:Zl.prototype.Gm,981:Zl.prototype.Fm,984:Zl.prototype.Hm,985:Zl.prototype.Em},Gm={960:Zl.prototype.il,961:Zl.prototype.Hk,962:Zl.prototype.Wl,964:Zl.prototype.Ul,965:Zl.prototype.Tl,974:Zl.prototype.Cl,975:Zl.prototype.Bl},Hm={954:Zl.prototype.fk,
960:Zl.prototype.ek,961:Zl.prototype.ek,962:Zl.prototype.en,964:Zl.prototype.on,965:Zl.prototype.nn,970:Zl.prototype.Ym,972:Zl.prototype.Xm,974:Zl.prototype.Wm,975:Zl.prototype.Vm,986:Zl.prototype.fk},Im={963:Zl.prototype.Xl,966:Zl.prototype.vl,967:Zl.prototype.wl,969:Zl.prototype.ul,970:Zl.prototype.Yl,972:Zl.prototype.Zl},Jm={963:Zl.prototype.qn,966:Zl.prototype.Mm,967:Zl.prototype.Nm,968:Zl.prototype.Om,969:Zl.prototype.Lm};
Sa(function(){for(var a=ob(window.document,"pcjs","video"),b=0;b<a.length;b++){var c=a[b],d=kb(c),e=window.document.createElement("canvas");if(void 0===e||!e.getContext){c.innerHTML="<br/>Missing &lt;canvas&gt; support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(c.onresize=
function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());c.appendChild(e);var f=window.document.createElement("textarea");Ia("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new Zl(d,e,g,f,c);mb(d,c)}});
Sa(function(){for(var a=ob(document,"pcjs","video"),b=0;b<a.length;b++){var c=a[b],d=kb(c),e=document.createElement("canvas");if(void 0===e||!e.getContext){c.innerHTML="<br/>Missing &lt;canvas&gt; support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(c.onresize=function(a,
b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());c.appendChild(e);var f=document.createElement("textarea");Ia("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new Zl(d,e,g,f,c);mb(d,c)}});
function En(a){this.Y=a.adapter;switch(this.Y){case 1:this.O=956;this.P=7;break;case 2:this.O=888;this.P=7;break;case 3:this.O=632;this.P=5;break;default:Ba("Unrecognized parallel adapter #"+this.Y);return}this.A=this.C=null;Xa.call(this,"ParallelPort",a,En,4194304);a=a.binding;"console"==a?this.C="":lb(this,a,Fn)}gb(En);var Fn="buffer";h=En.prototype;h.Ub=function(a,b,c){switch(b){case Fn:return this.ya[b]=this.A=c,!0}return!1};
h.Jc=function(a,b,c,d){this.ja=b;this.M=c;this.ma=d;this.R=Hb(a,"ChipSet");lc(b,this,Gn,this.O);pc(b,this,Hn,this.O);vb(this)};h.lc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};h.kc=function(a){return a?this.save():!0};h.reset=function(){In(this)};h.save=function(){var a=new bf(this),b=0,c=[];c[b++]=this.ia;c[b++]=this.ec;c[b]=this.yf;cf(a,0,c);return a.data()};h.restore=function(a){return In(this,a[0])};
function In(a,b){var c=0;void 0===b&&(b=[0,0,0]);a.ia=b[c++];a.ec=b[c++];a.yf=b[c];return!0}h.xl=function(a,b){var c=this.ia;m(this,a,null,b,"DATA",c);return c};h.Vl=function(a,b){var c=this.ec;m(this,a,null,b,"STAT",c);return c};h.tl=function(a,b){var c=this.yf;m(this,a,null,b,"CTRL",c);return c};
h.Pm=function(a,b,c){m(this,a,b,c,"DATA");this.ia=b;this.ec|=64;if(this.A)8==b?this.A.value=this.A.value.slice(0,-1):(this.A.value+=String.fromCharCode(b),this.A.scrollTop=this.A.scrollHeight),a=!0;else if(null!=this.C){if(10==b||1024<=this.C.length)this.S(this.C),this.C="";10!=b&&(this.C+=String.fromCharCode(b));a=!0}else a=!1;a&&(this.ec&=-65);Jn(this)};h.Km=function(a,b,c){m(this,a,b,c,"CTRL");this.yf=b;Jn(this)};function Jn(a){a.R&&a.P&&(a.yf&16&&!(a.ec&64)?Yf(a.R,a.P):Xf(a.R,a.P))}
var Gn={0:En.prototype.xl,1:En.prototype.Vl,2:En.prototype.tl},Hn={0:En.prototype.Pm,2:En.prototype.Km};Sa(function(){for(var a=ob(window.document,"pcjs","parallel"),b=0;b<a.length;b++){var c=a[b],d=kb(c),d=new En(d);mb(d,c)}});
var Gn={0:En.prototype.xl,1:En.prototype.Vl,2:En.prototype.tl},Hn={0:En.prototype.Pm,2:En.prototype.Km};Sa(function(){for(var a=ob(document,"pcjs","parallel"),b=0;b<a.length;b++){var c=a[b],d=kb(c),d=new En(d);mb(d,c)}});
function Kn(a){this.za=a.adapter;switch(this.za){case 1:this.ta=1016;this.ka=4;break;case 2:this.ta=760;this.ka=3;break;default:Ba("Unrecognized serial adapter #"+this.za);return}this.O=this.W=null;this.Ja=a.tabSize;this.Ha=a.charBOL;this.X=0;Xa.call(this,"SerialPort",a,Kn,8388608);a=a.binding;"console"==a?this.W="":lb(this,a,Ln)}gb(Kn);var Ln="buffer";h=Kn.prototype;h.zi=function(a,b){return a==this.ce?(this.Y=b,this):null};
h.Ub=function(a,b,c){var d=this;switch(b){case Ln:return this.ya[b]=this.O=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;if(8===b||a.ctrlKey&&65<=b&&90>=b)a.preventDefault&&a.preventDefault(),64<b&&(b-=64),Mn(d,[b]);return!0},c.onkeypress=function(a){a=a||window.event;Mn(d,[a.which||a.keyCode]);a.preventDefault&&a.preventDefault();return!0},c.removeAttribute("readonly"),!0}return!1};
h.Jc=function(a,b,c,d){this.ja=b;this.M=c;this.ma=d;this.R=Hb(a,"ChipSet");lc(b,this,Nn,this.ta);pc(b,this,On,this.ta);vb(this)};h.lc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};h.kc=function(a){return a?this.save():!0};h.reset=function(){Pn(this)};
@ -981,13 +980,13 @@ h.Fl=function(a,b){var c=this.C;m(this,a,null,b,"LCR",c);return c};h.Hl=function
h.pn=function(a,b,c){m(this,a,b,c,this.C&128?"DLL":"THR");if(this.C&128)this.da=this.da&-256|b;else{this.Da=b;this.A&=-97;if(this.O)13==b?this.X=0:8==b?(this.O.value=this.O.value.slice(0,-1),0<this.X&&this.X--):(a=String.fromCharCode(b),c=32<=b?1:0,9==b&&(b=this.Ja||8,c=b-this.X%b,this.Ja&&(a=oa("",c))),this.Ha&&!this.X&&c&&(a=String.fromCharCode(this.Ha)+a),this.O.value+=a,this.O.scrollTop=this.O.scrollHeight,this.X+=c),b=!0;else if(null!=this.W){if(10==b||1024<=this.W.length)this.S(this.W),this.W=
"";10!=b&&(this.W+=String.fromCharCode(b));b=!0}else b=!1;b&&(this.A|=96)}};h.Zm=function(a,b,c){m(this,a,b,c,this.C&128?"DLM":"IER");this.C&128?this.da=this.da&255|b<<8:this.qa=b};h.$m=function(a,b,c){m(this,a,b,c,"LCR");this.C=b};
h.an=function(a,b,c){var d=this.P;m(this,a,b,c,"MCR");this.P=b;this.Y&&(d^b)&3&&(a=this.Y,b=this.P,(c=3==(b&3))?a.Ic||(d=!1,a.P&2||(a.reset(),qb(a,"serial mouse reset"),d=!0),a.P&1||(qb(a,"serial mouse ID requested"),d=!0),d&&(Mn(a.R,[77,77]),qb(a,"serial mouse ID sent")),Rn(a),a.Ic=c):a.Ic&&(qb(a,"serial mouse inactive"),Sn(a),a.Ic=c),a.P=b)};
var Nn={0:Kn.prototype.Sl,1:Kn.prototype.Dl,2:Kn.prototype.El,3:Kn.prototype.Fl,4:Kn.prototype.Hl,5:Kn.prototype.Gl,6:Kn.prototype.Ml},On={0:Kn.prototype.pn,1:Kn.prototype.Zm,3:Kn.prototype.$m,4:Kn.prototype.an};Sa(function(){for(var a=ob(window.document,"pcjs","serial"),b=0;b<a.length;b++){var c=a[b],d=kb(c),d=new Kn(d);mb(d,c)}});function Tn(a){Xa.call(this,"Mouse",a,Tn,16777216);if(this.ta=a.serial)this.wa="SerialPort";this.qa=this.la=this.Ic=!1;this.C=[];this.A=[];vb(this)}gb(Tn);var Mm=0;h=Tn.prototype;
var Nn={0:Kn.prototype.Sl,1:Kn.prototype.Dl,2:Kn.prototype.El,3:Kn.prototype.Fl,4:Kn.prototype.Hl,5:Kn.prototype.Gl,6:Kn.prototype.Ml},On={0:Kn.prototype.pn,1:Kn.prototype.Zm,3:Kn.prototype.$m,4:Kn.prototype.an};Sa(function(){for(var a=ob(document,"pcjs","serial"),b=0;b<a.length;b++){var c=a[b],d=kb(c),d=new Kn(d);mb(d,c)}});function Tn(a){Xa.call(this,"Mouse",a,Tn,16777216);if(this.ta=a.serial)this.wa="SerialPort";this.qa=this.la=this.Ic=!1;this.C=[];this.A=[];vb(this)}gb(Tn);var Mm=0;h=Tn.prototype;
h.Jc=function(a,b,c,d){this.ia=a;this.ja=b;this.M=c;this.ma=d;for(b=null;b=Hb(a,"Video",b);)this.C.push(b)};h.lc=function(a,b){if(!b){if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;if(this.wa&&!this.R){for(var c=null;(c=Hb(this.ia,this.wa,c))&&(!c.zi||!(this.R=c.zi(this.ta,this))););if(this.R)for(this.A=[],c=0;c<this.C.length;c++){var d;d=this.C[c];d.Y=this;(d=d.ia)&&this.A.push(d)}else Ba(this.id+": "+this.wa+" "+this.ta+" unavailable")}this.Ic?Rn(this):Sn(this)}return!0};
h.kc=function(a){return a?this.save():!0};h.reset=function(){Un(this)};h.save=function(){var a=new bf(this),b=0,c=[];c[b++]=this.Ic;c[b++]=this.O;c[b++]=this.Y;c[b++]=this.W;c[b++]=this.X;c[b++]=this.da;c[b++]=this.ka;c[b]=this.P;cf(a,0,c);return a.data()};h.restore=function(a){return Un(this,a[0])};function Un(a,b){var c=0;void 0===b&&(b=[!1,-1,-1,0,0,!1,!1,0]);var d=b[c++];a.Ic=d;a.O=b[c++];a.Y=b[c++];a.W=b[c++];a.X=b[c++];a.da=b[c++];a.ka=b[c++];a.P=b[c];return!0}h.Sf=function(a){this.la=a};
function Rn(a){if(!a.qa)for(var b=0;b<a.A.length;b++)Vn(a,a.A[b])&&(a.qa=!0)}function Sn(a){if(a.qa)for(var b=0;b<a.A.length;b++){var c=a.A[b];c&&(c.style.cursor="auto")}}function Vn(a,b){return b?(b.addEventListener("mousemove",function(b){Wn(a,b)},!1),b.addEventListener("mousedown",function(b){Wn(a,b,!0)},!1),b.addEventListener("mouseup",function(b){Wn(a,b,!1)},!1),b.style.cursor="none",!0):!1}
function Wn(a,b,c){if(void 0!==c){var d;!(d=!1!==a.la)&&(d=a.C.length)&&(d=a.C[0],d=d.Pg?d.ze(!0):!1);d||(a.la=null);a.he(b.button,c)}else{if(0>a.O||0>a.Y)a.O=b.clientX,a.Y=b.clientY;a.la?(c=b.movementX||b.mozMovementX||b.webkitMovementX||0,d=b.movementY||b.mozMovementY||b.webkitMovementY||0):(c=b.clientX-a.O,d=b.clientY-a.Y);a.O=b.clientX;a.Y=b.clientY;a.Ef(c,d,a.O,a.Y)}}
h.he=function(a,b){if(this.Ic&&this.M&&this.M.ra.Ob){var c="mouse button"+a+" "+(b?"dn":"up");switch(a){case Mm:this.da!=b&&(this.da=b,Xn(this,c));break;case 2:this.ka!=b&&(this.ka=b,Xn(this,c))}}};h.Ef=function(a,b,c,d){this.Ic&&this.M&&this.M.ra.Ob&&(a||b)&&(this.W=a,this.X=b,Xn(this,null,c,d))};
function Xn(a,b,c,d){var e=64|(a.da?32:0)|(a.ka?16:0)|(a.X&192)>>4|(a.W&192)>>6,f=a.W&63,g=a.X&63;n(a,8388608)&&qb(a,(b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+ga(e)+","+ga(f)+","+ga(g)+"]",0,!0);Mn(a.R,[e,f,g]);a.W=a.X=0}Sa(function(){for(var a=ob(window.document,"pcjs","mouse"),b=0;b<a.length;b++){var c=a[b],d=kb(c),d=new Tn(d);mb(d,c)}});
function Xn(a,b,c,d){var e=64|(a.da?32:0)|(a.ka?16:0)|(a.X&192)>>4|(a.W&192)>>6,f=a.W&63,g=a.X&63;n(a,8388608)&&qb(a,(b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+ga(e)+","+ga(f)+","+ga(g)+"]",0,!0);Mn(a.R,[e,f,g]);a.W=a.X=0}Sa(function(){for(var a=ob(document,"pcjs","mouse"),b=0;b<a.length;b++){var c=a[b],d=kb(c),d=new Tn(d);mb(d,c)}});
function Yn(a,b,c){Xa.call(this,"Disk",{id:a.ti+".disk"+l(++Zn,4)},Yn,2097152);this.controller=a;this.ia=a.ia;this.ma=a.ma;this.C=b;this.O=b.name;this.$e=b.$e;this.qg=this.P=!1;$n(this,c,b.Nb,b.yb,b.ob,b.$a);this.W=[];this.ka=[];this.ja=null;this.qa=0;this.la=!1;vb(this)}var Zn=0;gb(Yn);function ao(a,b,c,d,e,f){this.Ga=a;this.nc=c;this.Yg=d;this.Di=e;this.te=f}var bo=[0,2],co=[24,2],eo=[60,4],fo=[0,2],go=[4,2],ho=[6,2],io=[28,2],jo=[32,2],ko=[34,2],lo=[38,2],mo=[44,4],no=[50,2];
function oo(a,b,c){var d;c=c||2;var e=b&511,f=po(a.Ga,a.te[b>>9]);if(f){if(e+c<=f.length)return qo(a.Ga,f,e,c);for(e=d=0;c--;)d|=oo(a,b++,1)<<e,e+=8}return d}function ro(a,b,c){return oo(a,b[0]+(c||0),b[1])}function so(a,b,c){for(var d=0;!c||b<c;){var e=oo(a,b,1);if(!e)break;var f;f=a;var g=b+1,k=e,q="";for(k||(k=-1);k--;){var r=oo(f,g++,1);if(!r)break;q+=String.fromCharCode(r)}f=q;if(!f)break;b+=1+e;if(d){if(e=oo(a,b),g=a.A[e])g=g[0],a.Ad[g]&&a.Ad[g].se[e].push(f)}else c||(a.cg=f);b+=2;d++}}
ao.prototype.Ti=function(a,b){var c=null;if(this.Ad)for(var d in this.Ad){var e=this.Ad[d];if(a>=e.ii&&a<=e.bk){d=a-=e.ii;var f,g;for(g in e.se){var k=e.se[g],q=a-k[0];if(!q){c=this.cg+"!"+k[1];break}b&&0<q&&q<d&&(f=k,d=q)}!c&&f&&(c=this.cg+"!"+f[1]+"+"+ia(d));break}}return c||this.nc+"+"+("0x"+l(a))};h=Yn.prototype;h.Jc=function(a,b,c,d){this.ma=d};h.lc=function(a,b){b||!this.qg||this.P||(vb(this,!1),this.load(this.O,this.Y,null,this.Uk,this));return!0};h.Uk=function(){vb(this,!0)};
@ -1022,7 +1021,7 @@ function Fo(a){Xa.call(this,"FDC",a,Fo,524288);this.dmaRead=this.zk;this.dmaWrit
h.Ub=function(a,b,c){var d=this;switch(b){case "listDisks":return this.ya[b]=c,c.onchange=function(){var a=d.ya.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(k){Ba("FDC option error: "+k.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.ya[b]=c,c.onchange=function(){var a=ca(c.value,10);null!=a&&Ho(d,a)},!0;
case "loadDrive":return this.ya[b]=c,c.onclick=function(){var a=d.ya.listDisks;a&&Io(d,a.options[a.selectedIndex].text,a.value)},!0;case "mountDrive":return this.qa?(this.ya[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Io(d,ja(b,!0),b,a)}return!1}):c.parentNode.removeChild(c),!0}return!1};
h.Jc=function(a,b,c,d){this.ja=b;this.M=c;this.ma=d;this.ia=a;this.R=Hb(a,"ChipSet");if((this.W=Jo(this.ia,"autoMount")||this.W)&&"string"==typeof this.W)try{this.W=eval("("+this.W+")")}catch(e){Ba("FDC auto-mount error: "+e.message+" ("+this.W+")"),this.W=null}Ko(this);lc(b,this,Lo);pc(b,this,Mo);this.qa&&No(this,"Local Disk","?");No(this,"Remote Disk","??");Oo(this)||vb(this)};
h.lc=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.ia.gh){this.C=[];for(var c=0;c<this.A.length;c++)Po(this,c,!0);Oo(this,!0)}}else if(!this.restore(a))return!1;if(c=this.ya.listDrives){for(;c.firstChild;)c.removeChild(c.firstChild);c.textContent="";for(var d=0;d<this.la;d++){var e=window.document.createElement("option");e.value=d;e.textContent=String.fromCharCode(65+d)+":";c.appendChild(e)}0<this.la&&(c.value="0",Ho(this,0))}}return!0};h.kc=function(a){return a?this.save():!0};
h.lc=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.ia.gh){this.C=[];for(var c=0;c<this.A.length;c++)Po(this,c,!0);Oo(this,!0)}}else if(!this.restore(a))return!1;if(c=this.ya.listDrives){for(;c.firstChild;)c.removeChild(c.firstChild);c.textContent="";for(var d=0;d<this.la;d++){var e=document.createElement("option");e.value=d;e.textContent=String.fromCharCode(65+d)+":";c.appendChild(e)}0<this.la&&(c.value="0",Ho(this,0))}}return!0};h.kc=function(a){return a?this.save():!0};
h.reset=function(){Ko(this)};
h.save=function(){var a=new bf(this),b=0,c=[];c[b++]=this.kb;c[b++]=0;c[b++]=this.sa;c[b++]=this.Y;c[b++]=this.O;c[b++]=this.P;c[b++]=this.da;for(var d=b++,e=0,f=[],g=0;g<this.A.length;g++){var k=e++,q=this.A[g],r=0,x=[];x[r++]=q.Gb;x[r++]=[q.name,q.Nb,q.yb,q.ob,q.$a,q.$e,q.yg,q.Kf,q.Lf];x[r++]=q.mb;x[r++]=q.ee+100;x[r++]=q.Wb;x[r++]=q.Cb;x[r++]=q.fe;x[r++]=q.Mb;x[r++]=q.jb;x[r++]=q.Ye;x[r++]=q.jk;x[r]=q.Je;f[k]=x}c[d]=f;d=b++;for(e=0;e<this.A.length;e++)f=this.A[e],f.Ga&&Qo(this,f.Je,f.Ga);c[d]=
this.C;c[b++]=this.X;c[b]=this.mc;cf(a,0,c);return a.data()};h.restore=function(a){return Ko(this,a[0])};
@ -1032,9 +1031,9 @@ x[B++];g.jb=x[B++];g.tb=null;g.Ga||(g.Je="");y=x[B++];102==y&&(y=!1);if("boolean
h.kk=function(a,b,c){if(a.Ga){var d=a.Ga.info(),e=d[2],f=d[1]*e;if(b+c<=d[0]*f)return a.Wb=Math.floor(b/f),b%=f,a.mb=Math.floor(b/e),a.Cb=b%e+1,a.Mb=c*d[3],a.Gb=0,!0}return!1};
function Oo(a,b){b||(a.ka=0);if(a.W)for(var c in a.W){var d=a.W[c],e=d.path,f;if(!(f=d.name))a:{if((f=a.ya.listDisks)&&f.options)for(var g=0;g<f.options.length;g++)if(f.options[g].value==e){f=f.options[g].innerText;break a}f=ja(e,!0)}if(e&&f&&(g=c.charCodeAt(0)-65,0<=g&&g<a.A.length)){!Ro(a,g,f,e,!0)&&b&&vb(a,!1);continue}a.Va("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.ka}
function Io(a,b,c,d){var e,f=a.ya.listDrives;if(f&&!isNaN(e=ca(f.value,10))&&0<=e&&e<a.A.length)if(c)if("?"==c)a.Va('Use "Choose File" and "Mount" to select and load a local disk.');else{if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=ja(c);a.S("Attempting to load "+c+' as "'+b+'"')}for(a.S("loading disk "+c+"...");Ro(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){for(var f=a,g=c,k=
void 0,k=0;k<f.C.length;k++)if(f.C[k][1]==g){f.C.splice(k,1);break}Po(a,e,!1,!0)}}else Po(a,e);else a.Va("Nothing to load")}function Ro(a,b,c,d,e,f){var g=a.A[b];if(d&&g.Je!=d){Po(a,b,e,!0);if(g.cd)return a.Va("Drive "+b+" busy"),!0;g.cd=!0;e&&(g.we=!0,a.ka++,n(a)&&qb(a,"loading diskette '"+c+"'"));g.Ye=!!f;(new Yn(a,g,"preload")).load(c,d,f,a.Ji);return!1}return!0}
void 0,k=0;k<f.C.length;k++)if(f.C[k][1]==g){f.C.splice(k,1);break}Po(a,e,!1,!0)}}else Po(a,e);else a.Va("Unable to load the selected drive")}function Ro(a,b,c,d,e,f){var g=a.A[b];if(d&&g.Je!=d){Po(a,b,e,!0);if(g.cd)return a.Va("Drive "+b+" busy"),!0;g.cd=!0;e&&(g.we=!0,a.ka++,n(a)&&qb(a,"loading diskette '"+c+"'"));g.Ye=!!f;(new Yn(a,g,"preload")).load(c,d,f,a.Ji);return!1}return!0}
h.Ji=function(a,b,c,d,e){var f;a.cd=!1;b&&(f=b.info(),b&&f[0]>a.Nb||f[1]>a.yb)&&(this.Va('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.kb)),b=null);b?(a.Ga=b,a.jk=c,a.Je=d,So(this,c,d,b),f=b.info(),this.X|=128,this.Va('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.kb),a.we||e),a.yg=f[0],a.Kf=f[1],a.Lf=f[2]):a.Ye=!1;a.we&&(a.we=!1,--this.ka||vb(this));Ho(this,a.kb)};
function No(a,b,c){if((a=a.ya.listDisks)&&a.options){for(var d=0;d<a.options.length;d++)if(a.options[d].value==c)return;d=window.document.createElement("option");d.value=c;d.textContent=b;a.appendChild(d)}}
function No(a,b,c){if((a=a.ya.listDisks)&&a.options){for(var d=0;d<a.options.length;d++)if(a.options[d].value==c)return;d=document.createElement("option");d.value=c;d.textContent=b;a.appendChild(d)}}
function Ho(a,b){if(0<=b&&b<a.A.length){var c=a.A[b],d=a.ya.listDisks,e=a.ya.listDrives;if(d&&e&&d.options&&e.options&&(e=ca(e.value,10),c=c.Ye?"?":c.Je,!isNaN(e)&&e==b)){for(e=0;e<d.options.length;e++)if(d.options[e].value==c){d.selectedIndex!=e&&(d.selectedIndex=e);break}e==d.options.length&&(d.selectedIndex=0)}}}function Po(a,b,c,d){var e=a.A[b];e.Ga&&(Qo(a,e.Je,e.Ga),e.jk="",e.Je="",e.Ga=null,e.Ye=!1,a.X|=128,d||a.Va("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||Ho(a,b))}
function So(a,b,c,d){var e;for(e=0;e<a.C.length;e++)if(a.C[e][1]==c){d.restore(a.C[e][2]);return}a.C[e]=[b,c,[]]}function Qo(a,b,c){var d;for(d=0;d<a.C.length;d++)if(a.C[d][1]==b){a.C[d][2]=c.save();break}}h.Sm=function(a,b,c){m(this,a,b,c,"OUTPUT");b&4?this.da&4||this.da&8&&this.R&&Yf(this.R,6):Ko(this);this.da=b};h.Al=function(a,b){m(this,a,null,b,"STATUS",this.sa);return this.sa};
h.yl=function(a,b){var c=0;this.O<this.P&&(c=this.Y[this.O]);this.da&8&&this.R&&Xf(this.R,6);n(this)&&m(this,a,null,b,"DATA["+this.O+"]",c);++this.O>=this.P&&(this.sa&=-81,this.O=this.P=0);return c};
@ -1045,7 +1044,7 @@ d.mb=c>>2&1,c=To(this),d.Wb+=c-d.ee,0>d.Wb&&(d.Wb=0),d.Wb>=d.Nb&&(d.Wb=d.Nb-1),d
function Wo(a,b,c,d,e,f,g,k){Uo(a);Vo(a,b.kb|b.mb<<2|b.Gb&255);Vo(a,(b.Gb&65280)>>>8);Vo(a,(b.Gb&16711680)>>>16);var q=0;if(e!=b.Wb||f!=b.mb)q=g=1;c&128&&(f^=q,d||(q=0));Vo(a,e+q);Vo(a,f);Vo(a,g);Vo(a,k)}function To(a){var b=a.Y[a.O];a.O++;return b}function Uo(a){a.O=a.P=0}function Vo(a,b){a.Y[a.P++]=b}
h.zk=function(a,b,c){if(void 0===b||0>b){b=-1;var d=null,e=0;if(!a.Gb&&a.Ga){do{if(a.tb&&(e=a.jb,0<=(b=a.Ga.read(a.tb,a.jb++)))){d=a.tb;break}a.tb=a.Ga.seek(a.Wb,a.mb,a.Cb);if(!a.tb){a.Gb=1088;break}a.jb=0;Xo(a)}while(1)}c(b,!1,d,e)}else c(-1,!1)};h.Ak=function(a,b){return void 0!==b&&0<=b?Yo(a,b):-1};
h.Qk=function(a,b){var c;if(void 0!==b&&0<=b)a:if(c=b,a.Gb)c=-1;else{a.ld[a.Te++]=c;if(a.Te==a.ld.length){a.Wb=a.ld[0];a.mb=a.ld[1];a.Cb=a.ld[2];a.Mb=128<<a.ld[3];for(var d=a.Te=0;d<a.Mb;d++)if(0>Yo(a,a.Ai)){c=-1;break a}a.mg++}a.mg>=a.fe&&(c=-1)}else c=-1;return c};function Yo(a,b){if(a.Gb||!a.Ga)return-1;do{if(a.tb&&a.Ga.write(a.tb,a.jb++,b))break;a.tb=a.Ga.seek(a.Wb,a.mb,a.Cb);if(!a.tb){a.Gb=8256;b=-1;break}a.jb=0;Xo(a)}while(1);return b}
function Xo(a){a.Cb++;a.Cb>=a.Lf+1&&(a.Cb=1,a.mb++,a.mb>=a.Kf&&(a.mb=0,a.Wb++))}var Lo={1012:Fo.prototype.Al,1013:Fo.prototype.yl,1015:Fo.prototype.zl},Mo={1010:Fo.prototype.Sm,1013:Fo.prototype.Rm,1015:Fo.prototype.Qm};Sa(function(){for(var a=ob(window.document,"pcjs","fdc"),b=0;b<a.length;b++){var c=a[b],d=kb(c),d=new Fo(d);mb(d,c)}});
function Xo(a){a.Cb++;a.Cb>=a.Lf+1&&(a.Cb=1,a.mb++,a.mb>=a.Kf&&(a.mb=0,a.Wb++))}var Lo={1012:Fo.prototype.Al,1013:Fo.prototype.yl,1015:Fo.prototype.zl},Mo={1010:Fo.prototype.Sm,1013:Fo.prototype.Rm,1015:Fo.prototype.Qm};Sa(function(){for(var a=ob(document,"pcjs","fdc"),b=0;b<a.length;b++){var c=a[b],d=kb(c),d=new Fo(d);mb(d,c)}});
function Zo(a){Xa.call(this,"HDC",a,Zo,1048576);this.dmaRead=this.Ck;this.dmaWrite=this.Dk;this.dmaWriteBuffer=this.Rk;this.dmaWriteFormat=this.Sk;this.Ja=[];if(a.drives)try{this.Ja=eval("("+a.drives+")")}catch(b){Ba("HDC drive configuration error: "+b.message+" ("+a.drives+")")}this.qa="at"==a.type}gb(Zo);
var $o=["XTC","ATC","COMPAQ"],ap=[{0:[306,2],1:[375,8],2:[306,6],3:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[940,8],5:[940,6],6:[615,4],7:[462,8],8:[733,5],9:[900,15],10:[820,3],11:[855,5],12:[855,7],13:[306,8],14:[733,7],16:[612,4],17:[977,5],18:[977,7],19:[1024,7],20:[733,5],21:[733,7],22:[733,5],23:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[1023,8],5:[940,6],6:[697,5],7:[462,8],8:[925,5],9:[900,15],10:[980,5],11:[925,7],12:[925,9],13:[612,8],14:[980,4],16:[612,4],17:[980,5],18:[966,6],19:[1023,
8],20:[733,5],21:[733,7],22:[524,4,40],23:[924,8],24:[966,14],25:[966,16],26:[1023,14],27:[832,6,33],28:[1222,15,34],29:[1240,7,34],30:[615,4,25],31:[615,8,25],32:[905,9,25],33:[832,8,33],34:[966,7,34],35:[966,8,34],36:[966,9,34],37:[966,5,34],38:[612,16,63],39:[1023,11,33],40:[1023,15,34],41:[1630,15,52],42:[1023,16,63],43:[805,4,26],44:[805,2,26],45:[748,8,33],46:[748,6,33],47:[966,5,25]}];h=Zo.prototype;h.Ub=function(){return!1};
@ -1077,7 +1076,7 @@ function up(a,b,c){b.errorCode=4;b.Pe&&b.Pe.length==b.Mb||(b.Pe=Array(b.Mb));b.j
function kp(a,b,c){var d=-1,e=null,f=0;if(a.errorCode)return b&&b(d,!1,e,f),d;var g=!1!==c?1:0;if(a.tb&&(f=a.jb,d=a.Ga.read(a.tb,a.jb),a.jb+=g,0<=d))return e=a.tb,b&&b(d,!1,e,f),d;if(b){if(a.Ga)return a.Ga.seek(a.be,a.mb,a.Cb+a.lg,!1,function(c,q){(a.tb=c)?(e=c,f=a.jb=0,vp(a),d=a.Ga.read(a.tb,a.jb),a.jb+=g):a.errorCode=20;b(d,q,e,f)}),d;a.errorCode=20;b(d,!1,e,f)}return d}
function np(a,b){if(a.errorCode)return-1;do{if(a.tb&&a.Ga.write(a.tb,a.jb++,b))break;a.Ga&&a.Ga.seek(a.be,a.mb,a.Cb+a.lg,!0,function(b){a.tb=b});if(!a.tb){a.errorCode=20;b=-1;break}a.jb=0;vp(a)}while(1);return b}function vp(a){a.Cb++;var b=1-a.lg;a.Cb>=a.ob+b&&(a.Cb=b,a.mb++,a.mb>=a.yb&&(a.mb=0,a.be++))}h.cm=function(){var a=this.M.H&255;!(this.M.F>>8)&&128<a&&(this.ta=a-128);return!0};h.dm=function(){var a;(a=this.M.F>>8||!this.R)||(a=!(this.R.vc[0].Cd&64));return a?!0:!1};
var cp={800:Zo.prototype.am,801:Zo.prototype.bm,802:Zo.prototype.$l},bp={496:Zo.prototype.Ek,497:Zo.prototype.hl,498:Zo.prototype.jl,499:Zo.prototype.kl,500:Zo.prototype.fl,501:Zo.prototype.el,502:Zo.prototype.gl,503:Zo.prototype.ll},ep={800:Zo.prototype.rn,801:Zo.prototype.un,802:Zo.prototype.tn,803:Zo.prototype.sn,807:Zo.prototype.ji,811:Zo.prototype.ji,815:Zo.prototype.ji},dp={496:Zo.prototype.ym,497:Zo.prototype.Dm,498:Zo.prototype.Bm,499:Zo.prototype.Cm,500:Zo.prototype.xm,501:Zo.prototype.wm,
502:Zo.prototype.zm,503:Zo.prototype.vm,1014:Zo.prototype.Am};Sa(function(){for(var a=ob(window.document,"pcjs","hdc"),b=0;b<a.length;b++){var c=a[b],d=kb(c),d=new Zo(d);mb(d,c)}});
502:Zo.prototype.zm,503:Zo.prototype.vm,1014:Zo.prototype.Am};Sa(function(){for(var a=ob(document,"pcjs","hdc"),b=0;b<a.length;b++){var c=a[b],d=kb(c),d=new Zo(d);mb(d,c)}});
function wp(a){Xa.call(this,"Debugger",a,wp);this.wa=this.Ha=this.ka=0;this.Ra=4;this.Ja=5;this.Fa=1048575;this.da=xp(this);this.Ib=xp(this);this.W=-1;this.O=[];this.Ma=!1;this.Ba=xp(this);this.C=[];this.Da={};this.A=this.za=this.la=[];yp(this);this.Ua=0;zp(this);this.ib=[];Ap(this,a.messages);this.rb=a.commands;var b=this;window?void 0===window.$&&(window.$=function(a){return Bp(b,a)}):void 0===global.$&&(global.$=function(a){return Bp(b,a)})}gb(wp);
var Cp={16:262144,19:524288,21:32768,22:65536,28:2048,33:134217728,51:16777216},Dp=[26,28,40,42,109],Ep={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory",f:"frequencies","g [#]":"go [to #]",h:"halt","i [#]":"input port #","if":"eval expression",k:"stack trace",l:"load sector(s)",ln:"list nearest symbol(s)",m:"messages",mouse:"mouse action","o [#]":"output port #",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",
"t [#]":"trace","u [#]":"unassemble",x:"execution options",v:"print version","var":"assign variable"},Fp="INVALID AAA AAD AAM AAS ADC ADD AND ARPL AS: BOUND BSF BSR BT BTC BTR BTS CALL CBW CLC CLD CLI CLTS CMC CMP CMPSB CMPSW CS: CWD DAA DAS DEC DIV DS: ENTER ES: ESC FS: GS: HLT IBTS IDIV IMUL IN INC INS INT INT3 INTO IRET JBE JC JCXZ JG JGE JL JLE JMP JA JNC JNO JNP JNS JNZ JO JP JS JZ LAHF LAR LDS LEA LEAVE LES LFS LGDT LGS LIDT LLDT LMSW LOADALL LOCK LODSB LODSW LOOP LOOPNZ LOOPZ LSL LSS LTR MOV MOVSB MOVSW MOVSX MOVZX MUL NEG NOP NOT OR OS: OUT OUTS POP POPA POPF PUSHF PUSHA PUSH RCL RCR REPNZ REPZ RET RETF ROL ROR SAHF SALC SAR SBB SCASB SCASW SETBE SETC SETG SETGE SETL SETLE SETNBE SETNC SETNO SETNP SETNS SETNZ SETO SETP SETS SETZ SGDT SHL SHLD SHR SHRD SIDT SLDT SMSW SS: STC STD STI STOSB STOSW STR SUB TEST VERR VERW WAIT XBTS XCHG XLAT XOR".split(" "),
@ -1200,7 +1199,7 @@ tn=!1,nb=xp(a,v(a.M),a.M.Ca.ga);do switch(yg=!1,a.Wa(nb)){case 38:case 46:case 5
(a.P=de,iq(a,nb,1))}while(yg);a.P?(a.Od(a.A,nb,!0),a.Ie()||(a.M.Vc(),a.P=0)):ar(a,sn?"tr":"t")}break;case "r":if("reset"==b){a.ia&&a.ia.reset();break}yq(a,g);break;case "t":ar(a,g[0],g[1]);break;case "u":zq(a,g[1],g[2],8);break;case "v":if("var"==g[0]){Wq(a,b.substr(3))||(d=!1);break}a.S("PCjs version 1.20.9 ("+a.M.na+",RELEASE,NOPREFETCH"+(yb?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)");break;case "x":a:if(g[1]&&"?"!=g[1])switch(g[1]){case "cs":var Ye;void 0!==g[3]&&(Ye=+g[3]);switch(g[2]){case "int":a.M.ba.ff=
Ye;break;case "start":a.M.ba.Gf=Ye;break;case "stop":a.M.ba.hf=Ye;break;default:a.S("unknown cs option");break a}void 0!==Ye&&Sc(a.M);a.S("checksums "+(a.M.ra.We?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(bd(a.M,+g[2])||a.S("warning: using 1x multiplier, previous target not reached"));a.S("target speed: "+(a.M.ba.Ce.toFixed(2)+"Mhz")+" ("+a.M.ba.Ud+"x)");break;default:a.S("unknown option: "+g[1])}else a.S("execution options:"),a.S("\tcs int #\tset checksum cycle interval to #"),a.S("\tcs start #\tset checksum cycle start count to #"),
a.S("\tcs stop #\tset checksum cycle stop count to #"),a.S("\tsp #\t\tset speed multiplier to #");break;case "?":if(g[1]){Zq(a,b.substr(1));break}var Ze="commands:",yi;for(yi in Ep)Ze+="\n"+oa(yi,7)+Ep[yi];Mf(a)||(Ze+="\nnote: frequency/history disabled if no exec breakpoints");a.S(Ze);break;default:a.S("unknown command: "+b),d=!1}}}catch(vn){a.S("debugger error: "+(vn.stack||vn.message)),d=!1}return d}function Bp(a,b,c){b=rq(a,b,c);for(var d in b)if(!Fq(a,b[d]))return!1;return!0}
Sa(function(){for(var a=ob(window.document,"pcjs","debugger"),b=0;b<a.length;b++){var c=a[b],d=kb(c),d=new wp(d);mb(d,c)}});function bf(a,b,c){this.id=a.id;this.key=cr(a,b,c);this.ma=a.ma;dr(this,a.wk)}function cr(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}
Sa(function(){for(var a=ob(document,"pcjs","debugger"),b=0;b<a.length;b++){var c=a[b],d=kb(c),d=new wp(d);mb(d,c)}});function bf(a,b,c){this.id=a.id;this.key=cr(a,b,c);this.ma=a.ma;dr(this,a.wk)}function cr(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}
bf.prototype={constructor:bf,value:function(){return this[this.id]},data:function(){return this[this.id]},load:function(a){return a?(this[this.id]=a,this.A=!0):this.A?!0:Fa()&&(a=Ga(this.key))?(this[this.id]=a,this.A=!0):!1},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){dr(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==
this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,1);c=0}}};function dr(a,b){a[a.id]={};b&&cf(a,"parms",b);a.A=!1}function er(a){var b=!0;if(Fa()){var c=JSON.stringify(a[a.id]);Ha(a.key,c)||(Ba("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function fr(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){Ba(c.message||c),b=!1}return b}function gr(a,b){return a[a.id][b]||null}function cf(a,b,c){try{a[a.id][b]=c}catch(d){}}
function hr(a,b,c){Xa.call(this,"Computer",a,hr,67108864);this.ra.hc=!1;this.W=b;this.Y=Jo(this,"autoPower",a);this.C=0;this.la=a.busWidth||a.buswidth;this.Oc=ir;this.O=null;this.P=this.ka=!1;this.qa=Jo(this,"url")||"";this.ta=(Math.random()+.1).toString(36).substr(2,12);this.A=jr(this);if(this.M=jb("CPU",this.id)){this.ma=jb("Debugger",this.id);this.ja=new Ob({id:this.ti+".bus",buswidth:this.la},this.M,this.ma);var d,e=hb(this.id);if((this.Xd=jb("Panel",this.id))&&this.Xd.Af)for(b=0;b<e.length;b++)d=
@ -1219,12 +1218,12 @@ h.Ub=function(a,b,c){var d=this;switch(b){case "power":return this.ya[b]=c,c.onc
function(){var a=jr(d,!0);if(a){var b=!!(d.Oc&&!d.Eg||d.X),c=br(d,b);b?pr(d,a,c):d.Va("Resume disabled, machine state not saved")}},!0}return!1};function jr(a,b){var c=a.A;c||(c=Ga("user"),void 0!==c?!c&&b&&(c=null,window&&(c=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c&&((c=qr(a,c))||a.Va("The user ID is invalid."))):b&&a.Va("Browser local storage is not available"));return c}
function qr(a,b){a.A=null;var c=za(Aa()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(Ha("user",c.data),a.A=c.data)}catch(e){Ba(e.message+" ("+d+")")}return a.A}
function pr(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=cr(a,kr);d.data=c;b=za(Aa()+"/api/v1/user",!1,d);d=b[1];if(b[0]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[0]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.Va("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.Va(c),Ha("user",""),a.A=null)}}
function Hb(a,b,c){a=hb(a.id);for(var d=0;d<a.length;d++){var e=a[d];if(c)c==e&&(c=null);else if(e.type==b)return e}return null}Sa(function(){for(var a=ob(window.document,"pcjs-machine"),b=0;b<a.length;b++)for(var c=a[b],d=kb(c),c=ob(c,"pcjs","computer"),e=0;e<c.length;e++){var f=c[e],g=kb(f),g=new hr(g,d,!0);mb(g,f);g.Y&&lr(g,g.Wf)}});Na.show.push(function(){for(var a=ob(window.document,"pcjs","computer"),b=0;b<a.length;b++){var c=kb(a[b]);(c=jb("Computer",c.id))&&c.tk&&!c.ra.hc&&c.Wf(-1)}});
Na.exit.push(function(){for(var a=ob(window.document,"pcjs","computer"),b=0;b<a.length;b++){var c=kb(a[b]);(c=jb("Computer",c.id))&&c.ra.hc&&br(c,!(!c.Oc||c.Eg),!0)}});var rr=0;function sr(a,b,c,d,e,f){e("Loading "+a+"...");za(a,!0,null,null,function(g,k,q){q?(k||(k="unable to load "+a+" ("+q+")"),f(k,null)):tr(k,a,b,c,d,e,f)})}
function Hb(a,b,c){a=hb(a.id);for(var d=0;d<a.length;d++){var e=a[d];if(c)c==e&&(c=null);else if(e.type==b)return e}return null}Sa(function(){for(var a=ob(document,"pcjs-machine"),b=0;b<a.length;b++)for(var c=a[b],d=kb(c),c=ob(c,"pcjs","computer"),e=0;e<c.length;e++){var f=c[e],g=kb(f),g=new hr(g,d,!0);mb(g,f);g.Y&&lr(g,g.Wf)}});Na.show.push(function(){for(var a=ob(document,"pcjs","computer"),b=0;b<a.length;b++){var c=kb(a[b]);(c=jb("Computer",c.id))&&c.tk&&!c.ra.hc&&c.Wf(-1)}});
Na.exit.push(function(){for(var a=ob(document,"pcjs","computer"),b=0;b<a.length;b++){var c=kb(a[b]);(c=jb("Computer",c.id))&&c.ra.hc&&br(c,!(!c.Oc||c.Eg),!0)}});var rr=0;function sr(a,b,c,d,e,f){e("Loading "+a+"...");za(a,!0,null,null,function(g,k,q){q?(k||(k="unable to load "+a+" ("+q+")"),f(k,null)):tr(k,a,b,c,d,e,f)})}
function tr(a,b,c,d,e,f,g){function k(a,f){if(f)g(f,null);else{if(c){var k=b;k&&0>k.indexOf("/")&&(k=window.location.pathname+k);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{";d+='url:"'+k+'"}';a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(k?' url="'+k+'"':""))}k=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(k=new window.ActiveXObject("Microsoft.XMLDOM"),
k.async=!1,k.loadXML(a)):k=(new window.DOMParser).parseFromString(a,"text/xml")}catch(B){k=null,a=B.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,k)}}a?e?Dr(a,f,k):k(a,null):g("no data"+(b?" for file: "+b:""),null)}
function Dr(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");za(e,!0,null,null,function(f,g,k){if(k||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+k+")");else{if(f=d[3])if(k=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var q=k[0],r,x=/( [a-z]+=)(['"])(.*?)\2/g;r=x.exec(f);)q=0>q.indexOf(r[1])?q.replace(">",r[0]+">"):q.replace(new RegExp(r[1]+"(['\"])(.*?)\\1"),r[0]);k[0]!=q&&(g=g.replace(k[0],q))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],g);Dr(a,b,c)}})}else c(a,null)}
function Er(a,b,c,d){function e(a){if(void 0===k){var b=g&&ob(g,"machine-warning");k=b&&b[0]||g}k&&(k.innerHTML=na(a))}function f(a){e("Error: "+a);q&&(--rr||Ua(!0));q=!1}var g,k,q=!0;rr++;try{if(g=window.document.getElementById(a)){c||(c="/versions/pcjs/1.20.9/components.xsl");var r=function(d,k){if(k){var q=function(d,q){if(q)if(q)if(e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var r=k.transformNode(q);r?(g.outerHTML=r,--rr||Ua(!0)):f("transformNodeToObject failed")}else window.document.implementation&&
window.document.implementation.createDocument?(r=new XSLTProcessor,r.importStylesheet(q),(r=r.transformToFragment(k,window.document))?g.parentNode?(g.parentNode.replaceChild(r,g),--rr||Ua(!0)):f("invalid machine element: "+a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f("failed to load XSL file: "+c);else f(d)};k?sr(c,null,null,!1,e,q):f("failed to load XML file: "+b)}else f(d)};"<"!=b.charAt(0)?sr(b,a,d,!0,e,r):tr(b,null,a,d,!1,e,r)}else f("missing machine element: "+
function Er(a,b,c,d){function e(a){if(void 0===k){var b=g&&ob(g,"machine-warning");k=b&&b[0]||g}k&&(k.innerHTML=na(a))}function f(a){e("Error: "+a);q&&(--rr||Ua(!0));q=!1}var g,k,q=!0;rr++;try{if(g=document.getElementById(a)){c||(c="/versions/pcjs/1.20.9/components.xsl");var r=function(d,k){if(k){var q=function(d,q){if(q)if(q)if(e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var r=k.transformNode(q);r?(g.outerHTML=r,--rr||Ua(!0)):f("transformNodeToObject failed")}else document.implementation&&
document.implementation.createDocument?(r=new XSLTProcessor,r.importStylesheet(q),(r=r.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(r,g),--rr||Ua(!0)):f("invalid machine element: "+a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f("failed to load XSL file: "+c);else f(d)};k?sr(c,null,null,!1,e,q):f("failed to load XML file: "+b)}else f(d)};"<"!=b.charAt(0)?sr(b,a,d,!0,e,r):tr(b,null,a,d,!1,e,r)}else f("missing machine element: "+
a)}catch(x){f(x.message)}return q}window.embedPC=function(a,b,c,d){Ua(!1);return Er(a,b,c,d)};window.enableEvents=Ua;window.sendEvent=Wa;})();

View file

@ -11,8 +11,8 @@ function Fa(a){if(Aa)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){ra("An unexp
function Ia(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;this.Ch=b.comment;this.Dj=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.sh=this.id.substr(0,b),this.mf=this.id.substr(b+1)):this.mf=this.id;this[a]=c;this.ja={me:!1,Nc:!1,kg:!1,Qb:!1,Yc:!1};this.Ef=null;this.ja.Yc=!1;this.qa={};this.Ta=null;Ja[Ja.length]=this}var Ka=void 0,La={};
if(window){Ka||(Ka=window.location.search.substr(1));for(var Ma,Na=/\+/g,Oa=/([^&=]+)=?([^&]*)/g;Ma=Oa.exec(Ka);)La[decodeURIComponent(Ma[1].replace(Na," "))]=decodeURIComponent(Ma[2].replace(Na," "))}function Pa(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}
function Qa(a,b){b||(b=Ia);a.prototype=Pa(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}var Ja=[];function Ra(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<Ja.length;b++){var d=Ja[b];a&&d.id.indexOf(a)||c.push(d)}return c}function Sa(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;c<Ja.length;c++)if(Ja[c].id===a)return Ja[c]}return null}
function Ta(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<Ja.length;d++)if(c)c==Ja[d]&&(c=null);else if(!(a!=Ja[d].type||b&&Ja[d].id.indexOf(b)))return Ja[d]}return null}function Ua(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){ra(c.message+" ("+a+")")}return b}function Va(a,b,c){var d;b&&(void 0===d&&(d="Panel"),(d=Ta(d,a.id))&&(b=d.qa[b])&&a.Eb(null,c,b))}
window&&!window.document.ELEMENT_NODE&&(window.document.ELEMENT_NODE=1);function Wa(a,b){for(var c=Xa(b.parentNode,"pcjs-control"),d=0;d<c.length;d++)for(var e=c[d].childNodes,k=0;k<e.length;k++){var l=e[k];if(l.nodeType===window.document.ELEMENT_NODE){var p=l.getAttribute("class");if(p)for(var q=p.split(" "),w=0;w<q.length;w++)switch(p=q[w],p){case "pcjs-binding":(p=Ua(l))&&p.binding&&a.Eb(p.type,p.binding,l,p.value),w=q.length}}}}
function Ta(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<Ja.length;d++)if(c)c==Ja[d]&&(c=null);else if(!(a!=Ja[d].type||b&&Ja[d].id.indexOf(b)))return Ja[d]}return null}function Ua(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){ra(c.message+" ("+a+")")}return b}function Va(a,b,c){var d;b&&(void 0===d&&(d="Panel"),(d=Ta(d,a.id))&&(b=d.qa[b])&&a.Eb(null,c,b))}document&&!document.ELEMENT_NODE&&(document.ELEMENT_NODE=1);
function Wa(a,b){for(var c=Xa(b.parentNode,"pcjs-control"),d=0;d<c.length;d++)for(var e=c[d].childNodes,k=0;k<e.length;k++){var l=e[k];if(l.nodeType===document.ELEMENT_NODE){var p=l.getAttribute("class");if(p)for(var q=p.split(" "),w=0;w<q.length;w++)switch(p=q[w],p){case "pcjs-binding":(p=Ua(l))&&p.binding&&a.Eb(p.type,p.binding,l,p.value),w=q.length}}}}
function Xa(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c}
Ia.prototype={constructor:Ia,parent:null,toString:function(){return this.name?this.name:this.id||this.type},Eb:function(a,b,c){switch(b){case "clear":return this.qa[b]||(this.qa[b]=c,c.onclick=function(a){return function(){a.qa.print&&(a.qa.print.value="")}}(this)),!0;case "print":return this.qa[b]||(this.ig=this.qa[b]=c,c.value="",this.cc=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),
this.Ka=function(a,b,c){this.cc(a,"notice",c)}),!0;default:return!1}},log:function(){},cc:function(){},status:function(a){this.cc(this.mf+": "+a)},Ka:function(a,b){b||ra(a)},Tb:function(){return this.ja.Qb=!0},Sb:function(a,b){b&&(this.ja.Qb=!1);return!0}};function Ya(a,b){if(a.ja.kg)return a.ja.Nc&&(a.ja.Nc=!1),a.ja.kg=!1;if(a.ja.Yc)return a.cc(a.toString()+" error"),!1;a.ja.Nc=b;return a.ja.Nc}function Za(a,b){if(!a.ja.Yc&&(a.ja.me=!1!==b,a.ja.me)){var c=a.Ef;a.Ef=null;c&&c()}}
@ -26,7 +26,7 @@ f.ie=function(a,b){a.button||(this.S=b?0:-1,kb(this,a,b))};f.qg=function(a){kb(t
function kb(a,b,c){var d=1280/null.offsetWidth,e=720/null.offsetHeight,k=null.getBoundingClientRect(),d=(b.clientX-k.left)*d|0;b=(b.clientY-k.top)*e|0;null==c&&(a.S||(a.S=Math.abs(a.J-d)>Math.abs(a.K-b)?1:2),1==a.S?b=a.K:2==a.S&&(d=a.J));a.J=d;a.K=b;if(0<=d&&1280>d&&0<=b&&720>b){a:{c=d;if(960>c&&a.B&&a.B.be)for(k=0;k<a.B.be.length;k++)if(e=a.B.be[k],e.contains(c,b)){c-=e.x;b-=e.y;var d=a.B.Fe[k],l=oa(lb.ej,a.B.cg[d.Pj]),k=l*a.na.yb,d=(l+d.cd)*a.na.yb-1;0<b&&(k+=e.Fc*(b-1)*a.sa);k+=c*a.sa;k|=0;k>d&&
(k=d);c=k;break a}c=-1}if(-1!==c&&(c&=-16,c!=a.ta)){b=c;if(a.context&&a.Z&&a.da){e=a.Z.width;a.da.fillStyle="black";a.da.fillRect(0,360,e,360);mb(a,378,a.Z,a.da);a.ha=a.va.width/24|0;if(null==b)nb(a,"Mouse over memory to dump");else for(nb(a,"0x"+da(b),null,0,1),k=1;16>=k;k++){d="";for(l=1;8>=l;l++){var p;p=a.na;var q=b++;p=p.W[(q&p.La)>>>p.ha].Cd(q&p.B,q);nb(a,da(p,2),null,1);d+=32<=p&&128>p?String.fromCharCode(p):"."}nb(a,d,null,0,1)}a.context.drawImage(a.Z,0,360,e,360,a.Va,a.ab,a.Ia,a.La)}a.ta=
c}}}f.Wd=function(){};function ob(a,b,c,d){a.B.Fe[a.B.Lh++]={Pj:b,cd:c,type:d};return na(lb,b,c,0,d)}function mb(a,b,c,d){var e,k=null.style.color,l=a.Fa=10;a.F=l;a.N=b;a.T=a.pa=18;e||(e=a.oa||a.pa+"px Monaco, Lucida Console, Courier New");a.W=a.oa=e;c&&(a.va=c);d&&(a.H=d,a.xa=k||"white")}
function nb(a,b,c,d,e){a.H.font=a.W;a.H.fillStyle=a.xa;a.H.fillText(b,a.F,a.N);a.F+=a.ha;null!=c&&(16!=a.Qa?b=c.toString():(b=8>a.Da?"0x":"",b+=da(c,a.Da)),a.H.fillText(b,a.F,a.N),a.F+=a.ha);d&&(a.F+=a.ha*d);e&&(a.F=a.Fa,a.N+=(a.T+2)*(e||1))}function jb(){for(var a=!1,b=Xa(window.document,"pcjs","panel"),c=0;c<b.length;c++){var d=b[c],e=Ua(d),k=Sa(e.id);k||(a=!0,k=new eb(e));Wa(k,d);a&&Za(k)}}Ea(jb);
function nb(a,b,c,d,e){a.H.font=a.W;a.H.fillStyle=a.xa;a.H.fillText(b,a.F,a.N);a.F+=a.ha;null!=c&&(16!=a.Qa?b=c.toString():(b=8>a.Da?"0x":"",b+=da(c,a.Da)),a.H.fillText(b,a.F,a.N),a.F+=a.ha);d&&(a.F+=a.ha*d);e&&(a.F=a.Fa,a.N+=(a.T+2)*(e||1))}function jb(){for(var a=!1,b=Xa(document,"pcjs","panel"),c=0;c<b.length;c++){var d=b[c],e=Ua(d),k=Sa(e.id);k||(a=!0,k=new eb(e));Wa(k,d);a&&Za(k)}}Ea(jb);
function pb(a,b,c){Ia.call(this,"Bus",a,pb);this.A=b;this.Ta=c;this.F=a.buswidth||20;this.T=Math.pow(2,this.F);this.na=this.La=this.T-1|0;this.ha=32==this.F||20>=this.F?12:24>=this.F?14:15;this.yb=1<<this.ha;this.Z=this.yb>>2;this.B=this.yb-1;this.J=this.T/this.yb|0;this.D=this.J-1;this.K=[];this.N=[];this.O=[];this.S=[];a=new g;qb(a,this.Ta);this.W=Array(this.J);for(b=0;b<this.J;b++)this.W[b]=a;a=this.A;b=this.W;c=this.ha;a.vc=a.W=b;a.ha=c;a.yb=1<<a.ha;a.ab=a.yb-1;a.of=b.length;a.Yd=a.of-1;a=this.A;
a.La=a.kc=this.La;Za(this)}Qa(pb);var lb,rb={ej:20,count:8,Wm:1,type:3},sb=0,tb;for(tb in rb){var ub=rb[tb];rb[tb]={pg:(1<<ub)-1<<sb,shift:sb};sb+=ub}lb=rb;f=pb.prototype;f.reset=function(){vb(this,!0)};f.Tb=function(a,b){b||this.reset();return!0};
function wb(a,b,c,d,e){for(var k=b>>>a.ha;0<c&&k<a.W.length;){var l=a.W[k],p=k*a.yb,q=c>a.yb?a.yb:c;if(l&&l.size){if(l.type==d&&l.controller==e){if(b+c<=l.ee)return l.Be+=l.ee-b,l.ee=b,!0;if(b>=l.ee+l.Be){q=l.size-(b-p);q>c&&(q=c);l.Be=b-l.ee+q;c-=q;b=p+a.yb;continue}}return xb(a,1,b,c)}l=a.W[k];b=new g(b,q,a.yb,d,e);qb(b,a.Ta,l);a.W[k++]=b;b=p+a.yb;c-=q}return 0>=c?(a=a.A,a.Ua&-2147483648&&yb(a),!0):xb(a,2,b,c)}
@ -117,7 +117,7 @@ function ze(a,b,c){var d=4;1==b.length&&(d=1,c=c?1:0);if(80386>a.ia)2<b.length&&
f.Wd=function(a){if(this.Bh&&(a||!this.ja.Rb||this.ja.Th)){ze(this,"EAX",this.G);ze(this,"EBX",this.B);ze(this,"ECX",this.F);ze(this,"EDX",this.I);ze(this,"ESP",r(this));ze(this,"EBP",this.K);ze(this,"ESI",this.J);ze(this,"EDI",this.H);ze(this,"CS",this.Ha.ra);ze(this,"DS",this.Ca.ra);ze(this,"SS",this.Z.ra);ze(this,"ES",this.va.ra);ze(this,"EIP",u(this));var b=Jc(this);ze(this,"PS",b);ze(this,"V",b&2048);ze(this,"D",b&1024);ze(this,"I",b&512);ze(this,"T",b&256);ze(this,"S",b&128);ze(this,"Z",b&64);
ze(this,"A",b&16);ze(this,"P",b&4);ze(this,"C",b&1);80386==this.ia&&(ze(this,"FS",this.Qa.ra),ze(this,"GS",this.Va.ra),ze(this,"CR0",this.Ua),ze(this,"CR2",this.pd),ze(this,"CR3",this.Zc))}if(b=this.qa.speed)b.textContent=this.ja.Rb&&this.Y.zd?this.Y.zd.toFixed(2)+"Mhz":"Stopped";this.parent.Wd.call(this,a)};
f.oj=function(a){this.ja.Je=!0;this.ja.Oj=!1;this.ja.Uh=!1;this.lc=this.A=a;this.T&&!a&&uc(this.T);a||(this.N|=4);do{if(a=this.N&3312)this.Ba|=a;else if(this.Rd=this.da,this.O=this.Ca,this.S=this.Z,this.U=this.oa=-1,this.Ba&3072&&Md(this),this.Ba=this.N&256,this.Ja){a:if(!(this.N&4)){a=80286>this.ia?0:1;for(var b=0;2>b;b++){switch(a){case 0:if(this.Ja&1&&this.ca&512){var c=Ae(this.T);if(-1<=c&&(this.Ja&=-2,0<=c)){this.Ja&=-5;Be.call(this,c);break a}}break;case 1:if(this.Ja&2){this.Ja&=-3;80386<=this.ia&&
(this.fb[6]|=16384);Be.call(this,1);break a}}a=1-a}}if(this.Ja&4){this.N=this.A=0;break}}this.N=0;this.pa[this.X()].call(this)}while(0<this.A);return this.ja.Je?this.lc-this.A:void 0===this.ja.Je?0:-1};Ea(function(){for(var a=Xa(window.document,"pcjs","cpu"),b=0;b<a.length;b++){var c=a[b],d=Ua(c),d=new Nc(d);Wa(d,c)}});
(this.fb[6]|=16384);Be.call(this,1);break a}}a=1-a}}if(this.Ja&4){this.N=this.A=0;break}}this.N=0;this.pa[this.X()].call(this)}while(0<this.A);return this.ja.Je?this.lc-this.A:void 0===this.ja.Je?0:-1};Ea(function(){for(var a=Xa(document,"pcjs","cpu"),b=0;b<a.length;b++){var c=a[b],d=Ua(c),d=new Nc(d);Wa(d,c)}});
function Ce(a){Ia.call(this,"FPU",a,Ce);this.ia=a.model||8087;(a=a.stepping)&&ca(a,16);this.N=new Float64Array(8);this.la=new Int32Array(this.N.buffer);this.ua=new Float32Array(1);this.pa=new Int32Array(this.ua.buffer);this.W=new Float64Array(1);this.K=new Int32Array(this.W.buffer);this.H=Array(3);this.Z=this.na=-1;this.O=this.S=this.da=this.B=0;this.ha=new Float64Array(1);this.oa=new Int32Array(this.ha.buffer);this.oa[0]=0;this.oa[1]=268402688;De(this)}Qa(Ce);f=Ce.prototype;
f.oc=function(a,b,c){this.A=c;this.T=ib(a,"ChipSet");Za(this)};f.Tb=function(a,b){if(!b)if(!a||!this.restore)De(this);else if(!this.restore(a))return!1;return!0};f.Sb=function(a){return a?this.save():!0};f.save=function(){var a=new Rd(this),b=[],c=0;b[c++]=this.J;b[c++]=this.ga|this.D<<11;b[c++]=Ee(this);for(var d=0;d<this.N.length;d++)b[c++]=this.N[d];D(a,0,b);return a.data()};
f.restore=function(a){a=a[0];var b=0;this.J=a[b++]&-57409;var c=a[b++];this.ga=c&-14337;this.D=(c&14336)>>11;Fe(this);Ge(this,a[b++]);for(c=0;c<this.N.length;c++)this.N[c]=a[b++];return!0};function De(a){a.F=0;a.J=959;a.ga=0;a.D=0;a.T&&(a=a.T,a.ia>=He&&Ie(a,13))}function Fe(a){a.ga&=-129;a.ga&~a.J&63&&(a.ga|=128);if(a.ga&128&&!(a.J&128))return a=a.T,a.ia>=He?Je(a,13):a.va&0||Be.call(a.A,2),!0;a=a.T;a.ia>=He&&Ie(a,13);return!1}function Ke(a,b){80387<=a.ia||(b&=-65);a.ga|=b;return Fe(a)}
@ -144,9 +144,9 @@ Ze(this),T(this,0)))},48:function(){U(this,this.B,Me(this,T(this,this.B),T(this,
this.mj()},3:function(){Ue(this)&&(this.mj(),ef(this))},4:yf,6:zf,7:Ef,48:uf,49:Hf,50:function(){U(this,this.B,T(this,0))},51:Bf},222:{0:function(){U(this,0,Me(this,T(this,0),We(this)))},1:function(){U(this,0,Oe(this,T(this,0),We(this)))},2:function(){Qe(this,T(this,0),We(this))},3:function(){Qe(this,T(this,0),We(this))&&ef(this)},4:function(){U(this,0,Ne(this,T(this,0),We(this)))},5:function(){U(this,0,Ne(this,We(this),T(this,0)))},6:function(){U(this,0,Pe(this,T(this,0),We(this)))},7:function(){U(this,
0,Pe(this,We(this),T(this,0)))},48:function(){U(this,this.B,Me(this,T(this,this.B),T(this,0)))&&ef(this)},49:function(){U(this,this.B,Oe(this,T(this,this.B),T(this,0)))&&ef(this)},50:sf,51:function(){Qe(this,T(this,0),T(this,1))&&null!=ef(this)&&ef(this)},52:function(){U(this,this.B,Ne(this,T(this,0),T(this,this.B)))&&ef(this)},53:function(){U(this,this.B,Ne(this,T(this,this.B),T(this,0)))&&ef(this)},54:function(){U(this,this.B,Pe(this,T(this,0),T(this,this.B)))&&ef(this)},55:function(){U(this,this.B,
Pe(this,T(this,this.B),T(this,0)))&&ef(this)}},223:{0:function(){ff(this,We(this))},2:function(){null!=Re(this,T(this,0),32768)&&this.A.gb(this.A.U,this.K[0])},3:function(){null!=Re(this,T(this,0),32768)&&(this.A.gb(this.A.U,this.K[0]),ef(this))},4:function(){var a=$e(this),b=cf(a[0],8)+1E8*cf(a[1],8)+1E16*cf(a[2],2);a[2]&32768&&(b=-b);ff(this,b)},5:function(){var a;a=this.A.ka(this.A.U);a=4294967296*this.A.ka(this.A.U+4)+(a>>>0);ff(this,a)},6:function(){var a=Re(this,ef(this));null!=a&&(this.H[0]=
df(a,8),this.H[1]=df(a/1E8,8),this.H[2]=df(a/1E16,2),0>a&&(this.H[2]|=32768),af(this))},7:function(){null!=Re(this,T(this,0),of)&&(this.lj(),ef(this))},48:function(){uf.call(this);ef(this)},49:Hf,50:Cf,51:Cf,52:Ff}},Jf=[pf,vf,wf,xf,yf,zf,Df,Af,Ef,Ff];Ea(function(){for(var a=Xa(window.document,"pcjs","fpu"),b=0;b<a.length;b++){var c=a[b],d=Ua(c),d=new Ce(d);Wa(d,c)}});
function Mf(a,b){var c=a+b+je(this)|0;Xd(this,a,b,c,191);this.A-=-1===this.oa?-1===this.U?this.D.ac:this.D.Db:this.D.pc;return c&255}function Nf(a,b){var c=a+b+je(this)|0;Xd(this,a,b,c,this.Wa|63);this.A-=-1===this.oa?-1===this.U?this.D.ac:this.D.Db:this.D.pc;return c&this.C}function Of(a,b){var c=a+b|0;Xd(this,a,b,c,191);this.A-=-1===this.oa?-1===this.U?this.D.ac:this.D.Db:this.D.pc;return c&255}
function Pf(a,b){var c=a+b|0;Xd(this,a,b,c,this.Wa|63);this.A-=-1===this.oa?-1===this.U?this.D.ac:this.D.Db:this.D.pc;return c&this.C}function Qf(a,b){var c=a&b;de(this,c,128);this.A-=-1===this.oa?-1===this.U?this.D.ac:this.D.Db:this.D.pc;return c}function Rf(a,b){this.A-=-1===this.oa?-1===this.U?this.D.ac:this.D.Db:this.D.pc;return de(this,a&b,this.Wa)&this.C}function Sf(a,b){this.A-=10+(-1===this.U?0:1);if((a&3)<(b&3))return a=a&-4|b&3,ne(this),a;le(this);return a}
df(a,8),this.H[1]=df(a/1E8,8),this.H[2]=df(a/1E16,2),0>a&&(this.H[2]|=32768),af(this))},7:function(){null!=Re(this,T(this,0),of)&&(this.lj(),ef(this))},48:function(){uf.call(this);ef(this)},49:Hf,50:Cf,51:Cf,52:Ff}},Jf=[pf,vf,wf,xf,yf,zf,Df,Af,Ef,Ff];Ea(function(){for(var a=Xa(document,"pcjs","fpu"),b=0;b<a.length;b++){var c=a[b],d=Ua(c),d=new Ce(d);Wa(d,c)}});function Mf(a,b){var c=a+b+je(this)|0;Xd(this,a,b,c,191);this.A-=-1===this.oa?-1===this.U?this.D.ac:this.D.Db:this.D.pc;return c&255}
function Nf(a,b){var c=a+b+je(this)|0;Xd(this,a,b,c,this.Wa|63);this.A-=-1===this.oa?-1===this.U?this.D.ac:this.D.Db:this.D.pc;return c&this.C}function Of(a,b){var c=a+b|0;Xd(this,a,b,c,191);this.A-=-1===this.oa?-1===this.U?this.D.ac:this.D.Db:this.D.pc;return c&255}function Pf(a,b){var c=a+b|0;Xd(this,a,b,c,this.Wa|63);this.A-=-1===this.oa?-1===this.U?this.D.ac:this.D.Db:this.D.pc;return c&this.C}
function Qf(a,b){var c=a&b;de(this,c,128);this.A-=-1===this.oa?-1===this.U?this.D.ac:this.D.Db:this.D.pc;return c}function Rf(a,b){this.A-=-1===this.oa?-1===this.U?this.D.ac:this.D.Db:this.D.pc;return de(this,a&b,this.Wa)&this.C}function Sf(a,b){this.A-=10+(-1===this.U?0:1);if((a&3)<(b&3))return a=a&-4|b&3,ne(this),a;le(this);return a}
function Tf(a){if(-1===this.U)return h.call(this,6),a;var b=a,c=this.Mb(this.U),d=this.Mb(this.U+this.ba);2==this.ba&&(b=a<<16>>16,c=c<<16>>16,d=d<<16>>16);this.A-=this.D.fi;(b<c||b>d)&&h.call(this,5);this.N|=2;return a}function Uf(a,b){var c=0;if(b){le(this);for(var d=1;d&this.C;){if(b&d){a=c;break}d<<=1;c++}}else ne(this);this.A-=11+3*c;return a}function Vf(a,b){var c=0;if(b){le(this);for(var d=2==this.ba?15:31,e=1<<d;e;){if(b&e){a=d;break}e>>>=1;c++;d--}}else ne(this);this.A-=11+3*c;return a}
function Wf(a,b){a&1<<(b&(2==this.ba?15:31))?ee(this):fe(this);this.A-=-1===this.U?3:6;this.N|=2;return a}function Xf(a,b){var c=1<<(b&(2==this.ba?15:31));a&c?ee(this):fe(this);this.A-=-1===this.U?6:8;return a^c}function Yf(a,b){var c=1<<(b&(2==this.ba?15:31));a&c?ee(this):fe(this);this.A-=-1===this.U?6:8;return a&~c}function Zf(a,b){var c=1<<(b&(2==this.ba?15:31));a&c?ee(this):fe(this);this.A-=-1===this.U?6:8;return a|c}
function $f(a,b){if(-1===this.U)return Wf.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=se(this,this.Pc,this.mc+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?ee(this):fe(this);this.A-=6;this.N|=2;return a}function ag(a,b){if(-1===this.U)return Xf.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=se(this,this.Pc,this.mc+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?ee(this):fe(this);this.A-=8;return a^b}
@ -827,18 +827,18 @@ var ti={0:function(){return Si(this,0,0)},1:function(){return Ui(this,0,0)},2:fu
b){kj(this,0,b)},33:function(a,b){mj(this,0,b)},64:function(a,b){qj(this,0,b)},65:function(a,b){qj(this,1,b)},66:function(a,b){qj(this,2,b)},67:ii.prototype.Rl,129:function(a,b){fj(this,0,2,b)},130:function(a,b){fj(this,0,3,b)},131:function(a,b){fj(this,0,1,b)},135:function(a,b){fj(this,0,0,b)}},wi={96:ii.prototype.Sl,97:ii.prototype.Tl,98:ii.prototype.Ul,99:ii.prototype.Vl,160:ii.prototype.Ql},yi={96:ii.prototype.dl,97:ii.prototype.el,100:ii.prototype.cl,112:ii.prototype.sl,113:ii.prototype.tl,128:function(a,
b){this.J[7]=b},132:function(a,b){this.J[0]=b},133:function(a,b){this.J[1]=b},134:function(a,b){this.J[2]=b},136:function(a,b){this.J[3]=b},137:function(a,b){fj(this,1,2,b)},138:function(a,b){fj(this,1,3,b)},139:function(a,b){fj(this,1,1,b)},140:function(a,b){this.J[4]=b},141:function(a,b){this.J[5]=b},142:function(a,b){this.J[6]=b},143:function(a,b){fj(this,1,0,b)},160:function(a,b){kj(this,1,b)},161:function(a,b){mj(this,1,b)},192:function(a,b){Ti(this,1,0,b)},194:function(a,b){Vi(this,1,0,b)},
196:function(a,b){Ti(this,1,1,b)},198:function(a,b){Vi(this,1,1,b)},200:function(a,b){Ti(this,1,2,b)},202:function(a,b){Vi(this,1,2,b)},204:function(a,b){Ti(this,1,3,b)},206:function(a,b){Vi(this,1,3,b)},208:function(a,b){this.H[1].eg=b},210:function(a,b){Xi(this,1,b)},212:function(a,b){Yi(this,1,b)},214:function(a,b){this.H[1].Wb[b&3].mode=b},216:function(){this.H[1].Kb=0},218:function(){dj(this,1)},240:ii.prototype.Dl,241:ii.prototype.El};
Ea(function(){for(var a=Xa(window.document,"pcjs","chipset"),b=0;b<a.length;b++){var c=a[b],d=Ua(c),d=new ii(d);Wa(d,c);Ai(d)}});
Ea(function(){for(var a=Xa(document,"pcjs","chipset"),b=0;b<a.length;b++){var c=a[b],d=Ua(c),d=new ii(d);Wa(d,c);Ai(d)}});
function Cj(a){Ia.call(this,"ROM",a,Cj);this.B=null;this.K=a.addr;this.F=a.size;this.H=a.alias;this.J=a.file;this.S=ea(this.J);this.D=a.notify;this.T=null;if(this.D&&(a=this.D.indexOf("["),0<a)){try{this.T=eval(this.D.substr(a))}catch(c){}this.D=this.D.substr(0,a)}if(this.J){a=this.J;var b=fa(this.S);"json"!=b&&"hex"!=b&&(a=qa()+"/api/v1/dump?file="+this.J+"&format=bytes&decimal=true");pa(a,!0,null,this,this.O)}}Qa(Cj);Cj.prototype.oc=function(a,b,c,d){this.na=b;this.A=c;this.Ta=d;Dj(this)};
Cj.prototype.Tb=function(){this.N&&(this.Ta&&this.Ta.A(this.id,0,this.K>>>4,0,this.K,this.F,this.N),delete this.N);return!0};Cj.prototype.Sb=function(){return!0};
Cj.prototype.O=function(a,b,c){if(c)this.Ka("Unable to load system ROM (error "+c+": "+a+")");else{if("["==b.charAt(0)||"{"==b.charAt(0))try{var d=eval("("+b+")"),e=d.bytes,k=d.data;if(e)this.B=e;else if(k)for(this.B=Array(4*k.length),c=b=0;b<k.length;b++)this.B[c++]=k[b]&255,this.B[c++]=k[b]>>8&255,this.B[c++]=k[b]>>16&255,this.B[c++]=k[b]>>24&255;else this.B=d;this.N=d.symbols;if(!this.B.length){ra("Empty ROM: "+a);return}if(1==this.B.length){ra(this.B[0]);return}}catch(l){this.Ka("ROM data error: "+
l.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.B=Array(a.length),d=0;d<a.length;d++)this.B[d]=ca(a[d],16);Dj(this)}};
function Dj(a){if(!$a(a))if(!a.J)Za(a);else if(a.B&&a.na){if(a.B.length!=a.F)ab(a,"ROM size (0x"+da(a.B.length)+") does not match specified size ("+("0x"+da(a.F))+")");else{var b;b=a.K;if(wb(a.na,b,a.F,Eb)){for(var c=0;c<a.B.length;c++){var d=a.na,e=b+c;d.W[(e&d.La)>>>d.ha].jf(e&d.B,a.B[c]&255,e)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.H?b.push(a.H):null!=a.H&&a.H.length&&(b=a.H);for(c=0;c<b.length;c++){var d=a,e=b[c],k=Ab(d.na,d.K,d.F);zb(d.na,e,d.F,k)}a.D&&((b=Sa(a.D,a.id))?(c=a.B,d=a.T,5==
b.mb?Ej(b,c,d||[12640,8752],8):b.mb==Fj&&Ej(b,c,d||[14221,16269],8),Za(b)):a.Ka("Unable to find component: "+a.D));delete a.B}}Za(a)}}Ea(function(){for(var a=Xa(window.document,"pcjs","rom"),b=0;b<a.length;b++){var c=a[b],d=Ua(c),d=new Cj(d);Wa(d,c)}});function Gj(a){Ia.call(this,"RAM",a,Gj);this.D=a.addr;this.B=a.size;this.J=a.test;this.H=!!this.B;this.F=!1}Qa(Gj);f=Gj.prototype;f.oc=function(a,b,c,d){this.na=b;this.A=c;this.Ta=d;this.T=ib(a,"ChipSet");Za(this)};
b.mb?Ej(b,c,d||[12640,8752],8):b.mb==Fj&&Ej(b,c,d||[14221,16269],8),Za(b)):a.Ka("Unable to find component: "+a.D));delete a.B}}Za(a)}}Ea(function(){for(var a=Xa(document,"pcjs","rom"),b=0;b<a.length;b++){var c=a[b],d=Ua(c),d=new Cj(d);Wa(d,c)}});function Gj(a){Ia.call(this,"RAM",a,Gj);this.D=a.addr;this.B=a.size;this.J=a.test;this.H=!!this.B;this.F=!1}Qa(Gj);f=Gj.prototype;f.oc=function(a,b,c,d){this.na=b;this.A=c;this.Ta=d;this.T=ib(a,"ChipSet");Za(this)};
f.Tb=function(a,b){return!b&&(this.reset(),a&&this.controller&&!this.restore(a))?!1:!0};f.Sb=function(a){return a&&this.controller?this.save():!0};
f.reset=function(){if(!this.D&&!this.H&&this.T){var a=1024*Ei(this.T);this.B&&a!=this.B&&(Db(this.na,this.D,this.B),this.F=!1);this.B=a}!this.F&&this.B&&wb(this.na,this.D,this.B,1)&&(this.F=!0,this.status(Math.floor(this.B/1024)+"Kb allocated"),"ramCPQ"==this.mf&&(this.controller=new Hj(this),wb(this.na,Ij,4,4,this.controller)));if(this.F){if(this.J||Kb(this.na,1138,4660),"ramCPQ"!=this.mf&&this.T&&(a=this.T,a.B)){var b=1048576>this.D?21:23,c=a.B[b]|a.B[b+1]<<8,c=c+(this.B>>10);a.B[b]=c&255;a.B[b+
1]=c>>8;Ii(a)}}else ra("No RAM allocated")};f.save=function(){var a=new Rd(this);this.controller&&D(a,0,this.controller.save());return a.data()};f.restore=function(a){return this.controller?this.controller.restore(a[0]):!0};function Hj(a){this.H=a;this.D=Jj;this.F=Kj;this.B=Lj;this.A=null}var Ij=-2134900736,Jj=65535,Kj=2575,Lj=2,Mj=[null,0],Nj=[function(a){return this.controller.Lb(a)},null,null,function(a,b){this.controller.Lc(a,b)},null,null];f=Hj.prototype;f.save=function(){return[this.D,this.B]};
f.restore=function(a){this.Lc(0,a[0]&255);this.Lc(2,a[1]&255);return!0};f.Lb=function(a){var b=255;2>a?b=a&1?this.F>>8:this.F&255:4>a&&(b=a&1?this.B>>8:this.B&255);return b};f.Lc=function(a,b){if(a)2==a&&(this.B=this.B&-256|b);else if(b!=(this.D&255)){var c=this.H.na;if(b&1)this.A&&(zb(c,917504,131072,this.A),this.A=null);else{this.A||(this.A=Ab(c,917504,131072));var d=Ab(c,16646144,131072);zb(c,917504,131072,d,b&2?1:Eb)}this.D=this.D&-256|b}};f.Xh=function(){return Mj};f.og=function(){return Nj};
Ea(function(){for(var a=Xa(window.document,"pcjs","ram"),b=0;b<a.length;b++){var c=a[b],d=Ua(c),d=new Gj(d);Wa(d,c)}});function Oj(a){Ia.call(this,"Keyboard",a,Oj);Pj(this,a.model);this.Z=xa("Mobi");this.W=xa("MSIE");this.O=0;this.S=this.lg=!1;this.B=[];this.ha=50;Za(this)}Qa(Oj);
Ea(function(){for(var a=Xa(document,"pcjs","ram"),b=0;b<a.length;b++){var c=a[b],d=Ua(c),d=new Gj(d);Wa(d,c)}});function Oj(a){Ia.call(this,"Keyboard",a,Oj);Pj(this,a.model);this.Z=xa("Mobi");this.W=xa("MSIE");this.O=0;this.S=this.lg=!1;this.B=[];this.ha=50;Za(this)}Qa(Oj);
var Qj=["US83","US84","US101"],W={jm:1,km:3,lm:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,fm:65,gm:66,hm:67,mm:68,E:69,nm:70,qm:71,rm:72,sm:73,tm:74,um:75,vm:76,wm:77,xm:78,ym:79,zm:80,Q:81,Am:82,Em:83,Jm:84,Nm:85,Om:86,Pm:87,Rm:88,Sm:89,Tm:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Um:97,Vm:98,Xm:99,d:100,e:101,Ym:102,Zm:103,$m:104,
an:105,bn:106,k:107,cn:108,dn:109,n:110,fn:111,p:112,q:113,r:114,gn:115,t:116,hn:117,jn:118,kn:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},Rj={};Rj[186]=W[";"];Rj[187]=W["="];Rj[188]=W[","];Rj[189]=W["-"];Rj[190]=W["."];Rj[191]=W["/"];Rj[192]=W["`"];Rj[219]=W["["];Rj[220]=W["\\"];Rj[221]=W["]"];Rj[222]=W["'"];Rj[173]=W["-"];var Sj={};Sj[W["1"]]=W["!"];Sj[W["2"]]=W["@"];Sj[W["3"]]=W["#"];Sj[W["4"]]=W.$;Sj[W["5"]]=W["%"];Sj[W["6"]]=W["^"];Sj[W["7"]]=W["&"];Sj[W["8"]]=W["*"];Sj[W["9"]]=W["("];
Sj[W["0"]]=W[")"];Sj[186]=W[":"];Sj[187]=W["+"];Sj[188]=W["<"];Sj[189]=W._;Sj[190]=W[">"];Sj[191]=W["?"];Sj[192]=W["~"];Sj[219]=W["{"];Sj[220]=W["|"];Sj[221]=W["}"];Sj[222]=W['"'];Sj[173]=W._;Sj[61]=W["+"];Sj[59]=W[":"];
@ -860,7 +860,7 @@ function ak(a,b,c){if(!Y[b]||!(c||a.A&&a.A.ja.Rb))return!1;for(var d=!1,e=0;e<a.
function gk(a,b,c){var d=b;if(65<=b&&90>=b)!(a.Zb&515)==c&&(d=b+32);else if(97<=b&&122>=b)!!(a.Zb&515)==c&&(d=b-32);else if(!!(a.Zb&3)==c){if(a=Sj[b])d=a}else if(a=Rj[b])d=a;return d}f.Qf=function(a){a||(this.Zb&=-256)};
function Xj(a,b,c){var d=!0,e=!1,k=!1,l=b.keyCode,p=gk(a,l,!0);a.lg&&p==W["`"]&&(l=p=27);if(Y[l+1E3])if(p+=1E3,2==b.location&&(p+=2E3),Zj(a,p,!1,c)){if(20==l||144==l||145==l)a.W||(c=e=!0);if(!(c||91!=l&&93!=l))for(var q=0;q<a.B.length;q++){var w=a.B[q];w.Ke=!1;0<w.ad&&(w.ad=0)}}else 8==l&&8==(a.Zb&40)&&(p=4008),d=!1;else if(Y[p]&&a.Zb&60&&(d=!1),d&&c||a.Zb&192)k=!0;d||b.preventDefault();k||a.Z&&d||(c?Yj(a,p,e):ak(a,p)||(b=gk(a,l,!1),b!=p&&ak(a,b)));return d}
function fk(a,b,c){var d=!1;Zj(a,b,!0,c);var e=Y[b]||Y[b+1E3];if(void 0!==e){14==e&&40==(a.Zb&40)&&(e=83);var d=[],k=e&255;if(83<k&&83==a.da)return!1;d.push(k|(c?0:128));for(b=65<=b&&90>=b||97<=b&&122>=b;e>>>=8;){var l=0,p=e&255;224==k||225==k?d.push(k|(c?0:128)):(42==p?a.D&3||a.D&512&&b||(l=p):29==p?a.D&12||(l=p):56==p?a.D&48||(l=p):d.push(k|(c?0:128)),l&&(c?d.unshift(l):d.push(l|128)))}for(c=0;c<d.length;c++)e=a,k=d[c],e.Xb&&(20>e.Xb.length?(e.Xb.push(k),1==e.Xb.length&&e.T&&Aj(e.T,k)):20==e.Xb.length&&
e.Xb.push(255));d=!0}return d}Ea(function(){for(var a=Xa(window.document,"pcjs","keyboard"),b=0;b<a.length;b++){var c=a[b],d=Ua(c),d=new Oj(d);Wa(d,c)}});
e.Xb.push(255));d=!0}return d}Ea(function(){for(var a=Xa(document,"pcjs","keyboard"),b=0;b<a.length;b++){var c=a[b],d=Ua(c),d=new Oj(d);Wa(d,c)}});
function Z(a,b,c,d,e){Ia.call(this,"Video",a,Z);this.ia=a.model;this.mb=hk[this.ia]||ik;this.Wc=a.memory||0;this.od=a.switches;this.pa=a.mode;if(void 0===this.pa||void 0===jk[this.pa])this.pa=kk;this.Vb=a.charCols;this.yc=a.charRows;if(void 0===this.Vb||void 0===this.yc)this.Vb=jk[this.pa][0],this.yc=jk[this.pa][1];this.oa=a.screenWidth;this.va=a.screenHeight;this.Zd=a.scale;this.Yd=12<=Math.round(this.oa/this.Vb);this.ua=b;this.da=c;this.J=(this.Hd=d)||b||null;this.pd=a.touchScreen;this.zc=lk;this.N=
null;this.Xd=a.autoLock;this.hb=this.Hb=0;this.Fa=[];this.ta=Array(this.mb==Fj?256:16);this.Va=!1;var k=this;this.kd=xa("Gecko/");b=["","moz","webkit","ms"];if(this.Z=e)if(this.Z.je=e.requestFullscreen||e.msRequestFullscreen||e.mozRequestFullScreen||e.webkitRequestFullscreen,this.Z.je){for(e=0;e<b.length;e++)if(c=b[e]+"fullscreenchange","on"+c in document){document.addEventListener(c,function(){mk(k,document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement?
!0:!1)},!1);break}for(e=0;e<b.length;e++)if(c=b[e]+"fullscreenerror","on"+c in document){document.addEventListener(c,function(){mk(k,null)},!1);break}}this.J&&(this.J.onfocus=function(){return k.Qf(!0)},this.J.onblur=function(){return k.Qf(!1)},this.J.Md=this.J.requestPointerLock||this.J.mozRequestPointerLock||this.J.webkitRequestPointerLock,this.J.qj=this.J.exitPointerLock||this.J.mozExitPointerLock||this.J.webkitExitPointerLock,this.J.Md&&(e=function(){k.$e(document.pointerLockElement===k.J||document.mozPointerLockElement===
@ -899,7 +899,7 @@ f.zj=function(a,b,c){if(c)this.Ka("Unable to load font ROM (error "+c+": "+a+")"
function Uk(a,b){if(1==b)return a.ta[0]=rk[0],a.ta[1]=rk[7],a.ta;if(2==b){var c=a.F.ff;if(a.F===a.B){var d=a.B.Jc[0],c=d&7;d&16&&(c|=8);18!=a.B.Jc[1]&&(c|=32)}a.ta[0]=rk[c&15];c=c&32?tk:sk;for(d=0;d<c.length;d++)a.ta[d+1]=rk[c[d]];return a.ta}if(a.S===a.Jb)return rk;a.Va&&b&&!a.ta[16]&&(a.Va=!1);if(!a.Va){var c=a.B,d=c.xe,e,k,l,p,q;if(8==b)for(k=0;256>k;k++)l=d[k]||0,p=l<<2&252,q=l>>4&252,l=l>>10&252,a.ta[k]=[p,q,l,255];else{var w=d&&d[255];e=null!=c.Jc[15]?c.Jc:uk;for(k=0;16>k;k++)l=e[k]&63,w?(l|=
(c.Jc[20]&12)<<4,c.Jc[16]&128&&(l&=-49,l|=(c.Jc[20]&3)<<4),l=d[l],p=l<<2&252,q=l>>4&252,l=l>>10&252):(p=(l&4?170:0)|(l&32?85:0),q=(l&2?170:0)|(l&16?85:0),l=(l&1?170:0)|(l&8?85:0)),a.ta[k]=[p,q,l,255]}a.Va=!0}return a.ta}function Ej(a,b,c,d){a.Fb=b;a.lc=c;a.Qa=d}
function Qk(a,b){var c=!1;if(window&&a.Fb&&(!b||a.K)){var d=0,e=a.Qa?a.Qa:8,k=Uk(a);Vk(a,3,a.lc[0],d,e,8,a.Fb,k)&&(c=!0);d=a.Qa?0:2048;e=a.Qa?a.Qa:9;Vk(a,1,a.lc[1],d,e,14,a.Fb,pk,qk)&&(c=!0);a.Qa&&Vk(a,a.mb,a.lc[1],0,a.Qa,14,a.Fb,k)&&(c=!0)}return c}function Vk(a,b,c,d,e,k,l,p,q){var w=!1;null!=c&&(Wk(a,b,c,d,e,k,l,p,q)&&(w=!0),a.Yd&&Wk(a,b<<1,c,d,e,k,l,p,q)&&(w=!0));return w}
function Wk(a,b,c,d,e,k,l,p,q){var w=!1,B=b&1?0:1,G=a.Fa[b],C=16>p.length?p.length:16;G||(G={sc:e<<B,tc:k<<B,ae:Array(C),Fh:p.slice(0,C),Ee:q,dg:Array(C)});for(q=0;q<C;q++){var J=p[q],V=G.ae[q]?G.Fh[q]:[];if(J[0]!==V[0]||J[1]!==V[1]||J[2]!==V[2]){var w=G,V=q,X=B,ja=c,ka=d,Ba=e,Ca=k,pd=l,Cm=[0,0,0,0],te=window.document.createElement("canvas");te.width=w.sc<<4;te.height=w.tc<<4;for(var Zi=te.getContext("2d"),Bb=void 0,Oc=void 0,ac=void 0,ue=8>Ca||!ka?Ca:8,Kf=Zi.createImageData(w.sc,w.tc),Bb=0;256>Bb;Bb++){for(ac=
function Wk(a,b,c,d,e,k,l,p,q){var w=!1,B=b&1?0:1,G=a.Fa[b],C=16>p.length?p.length:16;G||(G={sc:e<<B,tc:k<<B,ae:Array(C),Fh:p.slice(0,C),Ee:q,dg:Array(C)});for(q=0;q<C;q++){var J=p[q],V=G.ae[q]?G.Fh[q]:[];if(J[0]!==V[0]||J[1]!==V[1]||J[2]!==V[2]){var w=G,V=q,X=B,ja=c,ka=d,Ba=e,Ca=k,pd=l,Cm=[0,0,0,0],te=document.createElement("canvas");te.width=w.sc<<4;te.height=w.tc<<4;for(var Zi=te.getContext("2d"),Bb=void 0,Oc=void 0,ac=void 0,ue=8>Ca||!ka?Ca:8,Kf=Zi.createImageData(w.sc,w.tc),Bb=0;256>Bb;Bb++){for(ac=
0;ac<Ca;ac++)for(var Dm=w.Ee&&V&1&&ac>=Ca-2,Em=pd[ac<ue?ja+Bb*ue+ac:ka+Bb*ue+ac-ue],Lf=0;Lf<=X;Lf++)for(Oc=0;Oc<Ba;Oc++){var $i=Oc<<X,aj=(ac<<X)+Lf,bj=Dm||Em&128>>(8<=Oc&&192<=Bb&&223>=Bb?7:Oc)?J:Cm;Xk(Kf,$i,aj,bj);X&&Xk(Kf,$i+1,aj,bj)}Zi.putImageData(Kf,(Bb&15)*w.sc,(Bb>>4)*w.tc)}w.ae[V]="#"+da(J[0],2)+da(J[1],2)+da(J[2],2);w.Fh[V]=J;w.dg[V]=te;w=!0}}a.Fa[b]=G;return w}function Yk(a){0<a.Ia||0<=a.ha?0>a.La&&(a.La=0):a.La=-1}
function Tk(a){if(a.K){for(var b=10;15>=b;b++)if(null==a.F.ib[b])return;var c=a.F.ib[10],b=c&31,d=a.F.ib[11]&31,e=a.F.ib[9]&31,k=!1;a.F===a.B&&(k=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!k||b>e)Zk(a);else{c=a.F.ib[15]+((a.F.ib[14]&63)<<8);a.ha!=c&&(Zk(a),a.ha=c);d=d-b+1;if(a.rd!=b||a.Zc!=d)a.rd=b,a.Zc=d;a.Ja=e+1;Yk(a)}}}
function Zk(a){if(0<=a.ha){if(void 0!==a.W){var b=a.W[a.ha];if(b&131072){var b=b&-131073,c=a.ha%a.H,d=a.ha/a.H|0;a.K&&a.Fa[a.K]&&(a.Na&&$k(a,c,d,b,a.Na),$k(a,c,d,b));a.W[a.ha]=b}}a.ha=-1}}
@ -908,8 +908,8 @@ function bl(a,b){var c=a.F;return c&&null!=b&&b!=c.rg?(c.Xf(b),a.na.Xf(c.hb,c.Hb
function Sk(a,b){var c,d=a.Da,e=a.F;if(e)if(e.mb==ik)d=kk;else if(5<=e.mb){var d=null,k=e.Wc>>2,l=32768<k?32768:k,p=e.Dd[6];if(null!=p){switch(p&12){case 0:e.hb=655360;e.Hb=k;d=255;break;case 4:e.hb=655360;e.Hb=k;d=3==a.sa?15:16;break;case 8:e.hb=720896;e.Hb=l;d=kk;break;case 12:e.hb=753664,e.Hb=l,d=3==a.sa?2:3}var q=80==(e.Dd[5]&80);!q||e.hb==a.hb&&e.Hb==a.Hb||(b=!0);c=e.ze[1]&8;k=e.ib[6];k|=e.ib[7]&1?256:0;e.mb==Fj&&(k|=e.ib[7]&32?512:0);l=e.ib[9];255!=d&&(p&1?655360!=e.hb&&!q&&350>k?d=c?7-d:6:
e.Dd[5]&64?d=l&31?143>=e.ib[18]?19:20:21:l&128||350>k?d=c?13:14:480<=k&&(d=3==a.sa?17:18):d-=c?2:0);c=al(a)}}else e.Kc&8&&(e.Kc&2?(d=e.Kc&16?6:5,e.Kc&4||--d):(d=e.Kc&1?3:1,e.Kc&4&&--d));else a.Da=null,null==d&&(d=a.pa);if(!Rk(a,d,b))return!1;bl(a,c);return!0}
function Rk(a,b,c){if(null!=b&&(b!=a.Da||c)){a.Ed=0;a.Da=b;a.Va=!1;b=a.F||(b==kk?a.la:a.S);if(b!=a.F||b.hb!=a.hb||b.Hb!=a.Hb){Zk(a);if(a.hb){if(!Db(a.na,a.hb,a.Hb))return!1;a.F&&(a.F.$b=!1)}a.F=b;b.$b=!0;a.hb=b.hb;a.Hb=b.Hb;if(!wb(a.na,b.hb,b.Hb,3,b===a.B?b:null))return!1}a.K=0;a.H=a.Vb;a.O=a.yc;a.ab=a.H;a.Pb=jk[kk][2];b=0;if(c=jk[a.Da])a.H=c[0],a.O=c[1],a.Pb=c[2],b=c[3],a.K=c[4],4!=a.sa&&7!=a.sa||a.F!==a.B||3!=a.K||(7==a.B.ib[9]?a.O=43:a.K=a.mb);a.nd=a.H*a.O|0;a.ld=a.nd/a.Pb|0;a.fb=a.ld;a.mc=0;void 0!==
b&&(a.fb=(a.fb<<1)+b|0,a.mc=a.fb+b>>1);a.Fa.length&&(a.ya=a.oa/a.H|0,a.Ca=a.va/a.O|0,a.K?(b=a.Fa[a.K],c=a.Fa[a.K<<1],a.Zd&&80==a.H?c&&a.ya>=3*c.sc>>2&&(a.K<<=1,b=c):(c&&a.ya>=c.sc&&(a.K<<=1,b=c),b&&(a.ya=b.sc,a.Ca=b.tc)),a.jb=a.ub=0,b&&(a.jb=a.H*b.sc,a.ub=a.O*b.tc)):(a.ya=a.Ca=1,a.jb=a.H,a.ub=a.O),a.Wa=a.da.createImageData(a.jb,a.ub),a.Ma=window.document.createElement("canvas"),a.Ma.width=a.jb,a.Ma.height=a.ub,a.Na=a.Ma.getContext("2d"),a.Gc=a.Hc=0,a.nc=a.oa,a.vc=a.va,b=a.oa-a.H*a.ya,c=a.va-a.O*a.Ca,
0<b&&(a.Gc=b>>1,a.nc-=b),0<c&&(a.Hc=c>>1,a.vc-=c),b||c)&&(a.da.fillStyle=a.ua.style.backgroundColor,a.da.fillRect(0,0,a.oa,a.va));cl(a,!0);mc(a)}return!0}function Xk(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 dl(a){a.Ia=-1;a.xa=!1;var b=a.ld;if(void 0===a.W||a.W.length!=b)a.W=Array(b)}function cl(a,b){b||(a.Va=!1);dl(a)}
b&&(a.fb=(a.fb<<1)+b|0,a.mc=a.fb+b>>1);a.Fa.length&&(a.ya=a.oa/a.H|0,a.Ca=a.va/a.O|0,a.K?(b=a.Fa[a.K],c=a.Fa[a.K<<1],a.Zd&&80==a.H?c&&a.ya>=3*c.sc>>2&&(a.K<<=1,b=c):(c&&a.ya>=c.sc&&(a.K<<=1,b=c),b&&(a.ya=b.sc,a.Ca=b.tc)),a.jb=a.ub=0,b&&(a.jb=a.H*b.sc,a.ub=a.O*b.tc)):(a.ya=a.Ca=1,a.jb=a.H,a.ub=a.O),a.Wa=a.da.createImageData(a.jb,a.ub),a.Ma=document.createElement("canvas"),a.Ma.width=a.jb,a.Ma.height=a.ub,a.Na=a.Ma.getContext("2d"),a.Gc=a.Hc=0,a.nc=a.oa,a.vc=a.va,b=a.oa-a.H*a.ya,c=a.va-a.O*a.Ca,0<b&&
(a.Gc=b>>1,a.nc-=b),0<c&&(a.Hc=c>>1,a.vc-=c),b||c)&&(a.da.fillStyle=a.ua.style.backgroundColor,a.da.fillRect(0,0,a.oa,a.va));cl(a,!0);mc(a)}return!0}function Xk(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 dl(a){a.Ia=-1;a.xa=!1;var b=a.ld;if(void 0===a.W||a.W.length!=b)a.W=Array(b)}function cl(a,b){b||(a.Va=!1);dl(a)}
function $k(a,b,c,d,e){var k=d&255,l=d>>8;d=l&15;var p=a.Fa[a.K];p.Ee&&(d=p.Ee[d]);var q=l>>4&15;p.Ee&&(q=p.Ee[q]);e?(b*=p.sc,c*=p.tc,e.fillStyle=p.ae[q],e.fillRect(b,c,p.sc,p.tc)):(b=b*a.ya+a.Gc,c=c*a.Ca+a.Hc,a.da.fillStyle=p.ae[q],a.da.fillRect(b,c,a.ya,a.Ca));l&256&&(q=(k&15)*p.sc,k=(k>>4)*p.tc,e?e.drawImage(p.dg[d],q,k,p.sc,p.tc,b,c,p.sc,p.tc):a.da.drawImage(p.dg[d],q,k,p.sc,p.tc,b,c,a.ya,a.Ca));l&512&&(k=a.rd,l=a.Zc,e?(a.Ja&&a.Ja!==p.tc&&(k=k*p.tc/a.Ja|0,l=l*p.tc/a.Ja|0),e.fillStyle=p.ae[d],
e.fillRect(b,c+k,p.sc,l)):(a.Ja&&a.Ja!==a.Ca&&(k=k*a.Ca/a.Ja|0,l=l*a.Ca/a.Ja|0),a.da.fillStyle=p.ae[d],a.da.fillRect(b,c+k,a.ya,l)))}
function mc(a,b){if(a.ja.Qb){var c=!1,d=a.F;d&&(d!==a.B?d.Kc&8&&(c=!0):d.Td&32&&(c=!0));if(c||b){if(b)dl(a);else if(void 0===a.W)return;var e=!1;!(b||++a.Ed&15)&&0<=a.La&&(a.La++,e=!0);var k=0,l=a.nd,p=a.hb,c=p,q=c+a.Hb;19<=a.Da&&(p=c=655360,q=c+65536);if(el(a,d)&8||d.we&&d.we<d.jh)d.bf=(d.ib[12]<<8)+d.ib[13]|0,d.we=0;var w=d.bf;a.K&&(w<<=1);c+=w;w=a.fb;5<=a.mb&&d.ib[19]&&d.ib[19]<<1!=d.ib[1]+1&&(a.ab=d.ib[19]<<(a.K?1:d.ib[20]&64?3:4),w=(a.ab*(a.O-1)+a.H)/a.Pb|0,a.Da<=kk&&(w<<=1));c+w>q&&(w=q-c,0>
@ -926,13 +926,13 @@ f.ek=function(){var a=this.S,b;a.$b&&(b=a.qc);return b};f.ql=function(a,b){var c
function gl(a,b,c){if(b.qc<b.sg){b.ib[b.qc]=c;if(12==b.qc||13==b.qc)el(a,b)&1?b.bf=(b.ib[12]<<8)+b.ib[13]|0:b.we||(b.we=b.jh);(9==b.qc&&8!=b.Tf||18==b.qc&&223==c)&&Sk(a,!0);Tk(a)}}function hl(a,b){var c=el(a,b);b===a.B?(c|=b.ga&48^48,b.Ie=!1):c=(b.ga^=9)|240;return b.ga=c}
var Ek={948:Z.prototype.Ak,949:Z.prototype.zk,952:Z.prototype.Bk,954:Z.prototype.Ck},Fk={948:Z.prototype.Nl,949:Z.prototype.Ml,952:Z.prototype.Ol},Gk={980:Z.prototype.ek,981:Z.prototype.dk,984:Z.prototype.fk,985:Z.prototype.ck,986:Z.prototype.gk},Hk={980:Z.prototype.ql,981:Z.prototype.pl,984:Z.prototype.rl,985:Z.prototype.ol},Ik={960:Z.prototype.Zj,961:Z.prototype.Aj,962:Z.prototype.Nk,964:Z.prototype.Lk,965:Z.prototype.Kk,974:Z.prototype.tk,975:Z.prototype.sk},Jk={954:Z.prototype.gj,960:Z.prototype.fj,
961:Z.prototype.fj,962:Z.prototype.Pl,964:Z.prototype.Xl,965:Z.prototype.Wl,970:Z.prototype.Il,972:Z.prototype.Hl,974:Z.prototype.Gl,975:Z.prototype.Fl,986:Z.prototype.gj},Kk={963:Z.prototype.Ok,966:Z.prototype.lk,967:Z.prototype.mk,969:Z.prototype.kk,970:Z.prototype.Pk,972:Z.prototype.Qk},Lk={963:Z.prototype.Zl,966:Z.prototype.wl,967:Z.prototype.xl,968:Z.prototype.yl,969:Z.prototype.vl};
Ea(function(){for(var a=Xa(window.document,"pcjs","video"),b=0;b<a.length;b++){var c=a[b],d=Ua(c),e=window.document.createElement("canvas");if(void 0===e||!e.getContext){c.innerHTML="<br/>Missing &lt;canvas&gt; support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(c.onresize=
function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());c.appendChild(e);var k=window.document.createElement("textarea");xa("iOS")&&(k.setAttribute("autocapitalize","off"),k.setAttribute("autocorrect","off"));c.appendChild(k);var l=e.getContext("2d"),d=new Z(d,e,l,k,c);Wa(d,c)}});
Ea(function(){for(var a=Xa(document,"pcjs","video"),b=0;b<a.length;b++){var c=a[b],d=Ua(c),e=document.createElement("canvas");if(void 0===e||!e.getContext){c.innerHTML="<br/>Missing &lt;canvas&gt; support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(c.onresize=function(a,
b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());c.appendChild(e);var k=document.createElement("textarea");xa("iOS")&&(k.setAttribute("autocapitalize","off"),k.setAttribute("autocorrect","off"));c.appendChild(k);var l=e.getContext("2d"),d=new Z(d,e,l,k,c);Wa(d,c)}});
function il(a){this.K=a.adapter;switch(this.K){case 1:this.H=956;this.F=7;break;case 2:this.H=888;this.F=7;break;case 3:this.H=632;this.F=5;break;default:ra("Unrecognized parallel adapter #"+this.K);return}this.B=this.D=null;Ia.call(this,"ParallelPort",a,il);a=a.binding;"console"==a?this.D="":Va(this,a,jl)}Qa(il);var jl="buffer";f=il.prototype;f.Eb=function(a,b,c){switch(b){case jl:return this.qa[b]=this.B=c,!0}return!1};
f.oc=function(a,b,c,d){this.na=b;this.A=c;this.Ta=d;this.T=ib(a,"ChipSet");Lb(b,this,kl,this.H);Nb(b,this,ll,this.H);Za(this)};f.Tb=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};f.Sb=function(a){return a?this.save():!0};f.reset=function(){ml(this)};f.save=function(){var a=new Rd(this),b=0,c=[];c[b++]=this.J;c[b++]=this.Gb;c[b]=this.Ge;D(a,0,c);return a.data()};f.restore=function(a){return ml(this,a[0])};
function ml(a,b){var c=0;void 0===b&&(b=[0,0,0]);a.J=b[c++];a.Gb=b[c++];a.Ge=b[c];return!0}f.nk=function(){return this.J};f.Mk=function(){return this.Gb};f.jk=function(){return this.Ge};
f.zl=function(a,b){this.J=b;this.Gb|=64;var c;if(this.B)8==b?this.B.value=this.B.value.slice(0,-1):(this.B.value+=String.fromCharCode(b),this.B.scrollTop=this.B.scrollHeight),c=!0;else if(null!=this.D){if(10==b||1024<=this.D.length)this.cc(this.D),this.D="";10!=b&&(this.D+=String.fromCharCode(b));c=!0}else c=!1;c&&(this.Gb&=-65);nl(this)};f.ul=function(a,b){this.Ge=b;nl(this)};function nl(a){a.T&&a.F&&(a.Ge&16&&!(a.Gb&64)?Je(a.T,a.F):Ie(a.T,a.F))}
var kl={0:il.prototype.nk,1:il.prototype.Mk,2:il.prototype.jk},ll={0:il.prototype.zl,2:il.prototype.ul};Ea(function(){for(var a=Xa(window.document,"pcjs","parallel"),b=0;b<a.length;b++){var c=a[b],d=Ua(c),d=new il(d);Wa(d,c)}});
var kl={0:il.prototype.nk,1:il.prototype.Mk,2:il.prototype.jk},ll={0:il.prototype.zl,2:il.prototype.ul};Ea(function(){for(var a=Xa(document,"pcjs","parallel"),b=0;b<a.length;b++){var c=a[b],d=Ua(c),d=new il(d);Wa(d,c)}});
function ol(a){this.la=a.adapter;switch(this.la){case 1:this.ha=1016;this.W=4;break;case 2:this.ha=760;this.W=3;break;default:ra("Unrecognized serial adapter #"+this.la);return}this.F=this.J=null;this.ta=a.tabSize;this.sa=a.charBOL;this.O=0;Ia.call(this,"SerialPort",a,ol);a=a.binding;"console"==a?this.J="":Va(this,a,pl)}Qa(ol);var pl="buffer";f=ol.prototype;f.Ih=function(a,b){return a==this.mf?(this.N=b,this):null};
f.Eb=function(a,b,c){var d=this;switch(b){case pl:return this.qa[b]=this.F=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;if(8===b||a.ctrlKey&&65<=b&&90>=b)a.preventDefault&&a.preventDefault(),64<b&&(b-=64),ql(d,[b]);return!0},c.onkeypress=function(a){a=a||window.event;ql(d,[a.which||a.keyCode]);a.preventDefault&&a.preventDefault();return!0},c.removeAttribute("readonly"),!0}return!1};
f.oc=function(a,b,c,d){this.na=b;this.A=c;this.Ta=d;this.T=ib(a,"ChipSet");Lb(b,this,rl,this.ha);Nb(b,this,sl,this.ha);Za(this)};f.Tb=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};f.Sb=function(a){return a?this.save():!0};f.reset=function(){tl(this)};f.save=function(){var a=new Rd(this),b=0,c=[];c[b++]=this.ua;c[b++]=this.pa;c[b++]=this.S;c[b++]=this.da;c[b++]=this.H;c[b++]=this.K;c[b++]=this.D;c[b++]=this.B;c[b++]=this.oa;c[b]=this.Z;D(a,0,c);return a.data()};
@ -940,12 +940,12 @@ f.restore=function(a){return tl(this,a[0])};function tl(a,b){var c=0;void 0===b&
f.Jk=function(){var a=this.K&128?this.S&255:this.ua;this.B&=-2;ul(this);return a};f.uk=function(){return this.K&128?this.S>>8:this.da};f.vk=function(){return this.H};f.wk=function(){return this.K};f.yk=function(){return this.D};f.xk=function(){return this.B};f.Dk=function(){return this.oa};
f.Yl=function(a,b){if(this.K&128)this.S=this.S&-256|b;else{this.pa=b;this.B&=-97;var c;if(this.F){if(13==b)this.O=0;else if(8==b)this.F.value=this.F.value.slice(0,-1),0<this.O&&this.O--;else{c=String.fromCharCode(b);var d=32<=b?1:0;9==b&&(d=this.ta||8,d=d-this.O%d,this.ta&&(c=" ".slice(0,d)));this.sa&&!this.O&&d&&(c=String.fromCharCode(this.sa)+c);this.F.value+=c;this.F.scrollTop=this.F.scrollHeight;this.O+=d}c=!0}else if(null!=this.J){if(10==b||1024<=this.J.length)this.cc(this.J),
this.J="";10!=b&&(this.J+=String.fromCharCode(b));c=!0}else c=!1;c&&(this.B|=96)}};f.Jl=function(a,b){this.K&128?this.S=this.S&255|b<<8:this.da=b};f.Kl=function(a,b){this.K=b};f.Ll=function(a,b){var c=this.D;this.D=b;if(this.N&&(c^b)&3){var c=this.N,d=this.D,e=3==(d&3);if(e){if(!c.$b){var k=!1;c.D&2||(c.reset(),k=!0);c.D&1||(k=!0);k&&ql(c.H,[77,77]);vl(c);c.$b=e}}else c.$b&&(wl(c),c.$b=e);c.D=d}};
var rl={0:ol.prototype.Jk,1:ol.prototype.uk,2:ol.prototype.vk,3:ol.prototype.wk,4:ol.prototype.yk,5:ol.prototype.xk,6:ol.prototype.Dk},sl={0:ol.prototype.Yl,1:ol.prototype.Jl,3:ol.prototype.Kl,4:ol.prototype.Ll};Ea(function(){for(var a=Xa(window.document,"pcjs","serial"),b=0;b<a.length;b++){var c=a[b],d=Ua(c),d=new ol(d);Wa(d,c)}});function xl(a){Ia.call(this,"Mouse",a,xl);if(this.da=a.serial)this.ha="SerialPort";this.Z=this.W=this.$b=!1;this.F=[];this.B=[];Za(this)}Qa(xl);var Ok=0;f=xl.prototype;
var rl={0:ol.prototype.Jk,1:ol.prototype.uk,2:ol.prototype.vk,3:ol.prototype.wk,4:ol.prototype.yk,5:ol.prototype.xk,6:ol.prototype.Dk},sl={0:ol.prototype.Yl,1:ol.prototype.Jl,3:ol.prototype.Kl,4:ol.prototype.Ll};Ea(function(){for(var a=Xa(document,"pcjs","serial"),b=0;b<a.length;b++){var c=a[b],d=Ua(c),d=new ol(d);Wa(d,c)}});function xl(a){Ia.call(this,"Mouse",a,xl);if(this.da=a.serial)this.ha="SerialPort";this.Z=this.W=this.$b=!1;this.F=[];this.B=[];Za(this)}Qa(xl);var Ok=0;f=xl.prototype;
f.oc=function(a,b,c,d){this.ua=a;this.na=b;this.A=c;this.Ta=d;for(b=null;b=ib(a,"Video",b);)this.F.push(b)};f.Tb=function(a,b){if(!b){if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;if(this.ha&&!this.H){for(var c=null;(c=ib(this.ua,this.ha,c))&&(!c.Ih||!(this.H=c.Ih(this.da,this))););if(this.H)for(this.B=[],c=0;c<this.F.length;c++){var d;d=this.F[c];d.N=this;(d=d.J)&&this.B.push(d)}else ra(this.id+": "+this.ha+" "+this.da+" unavailable")}this.$b?vl(this):wl(this)}return!0};
f.Sb=function(a){return a?this.save():!0};f.reset=function(){yl(this)};f.save=function(){var a=new Rd(this),b=0,c=[];c[b++]=this.$b;c[b++]=this.J;c[b++]=this.K;c[b++]=this.N;c[b++]=this.T;c[b++]=this.O;c[b++]=this.S;c[b]=this.D;D(a,0,c);return a.data()};f.restore=function(a){return yl(this,a[0])};function yl(a,b){var c=0;void 0===b&&(b=[!1,-1,-1,0,0,!1,!1,0]);var d=b[c++];a.$b=d;a.J=b[c++];a.K=b[c++];a.N=b[c++];a.T=b[c++];a.O=b[c++];a.S=b[c++];a.D=b[c];return!0}f.$e=function(a){this.W=a};
function vl(a){if(!a.Z)for(var b=0;b<a.B.length;b++)zl(a,a.B[b])&&(a.Z=!0)}function wl(a){if(a.Z)for(var b=0;b<a.B.length;b++){var c=a.B[b];c&&(c.style.cursor="auto")}}function zl(a,b){return b?(b.addEventListener("mousemove",function(b){Al(a,b)},!1),b.addEventListener("mousedown",function(b){Al(a,b,!0)},!1),b.addEventListener("mouseup",function(b){Al(a,b,!1)},!1),b.style.cursor="none",!0):!1}
function Al(a,b,c){if(void 0!==c){var d;!(d=!1!==a.W)&&(d=a.F.length)&&(d=a.F[0],d=d.Xd?d.Md(!0):!1);d||(a.W=null);a.ie(b.button,c)}else{if(0>a.J||0>a.K)a.J=b.clientX,a.K=b.clientY;a.W?(c=b.movementX||b.mozMovementX||b.webkitMovementX||0,d=b.movementY||b.mozMovementY||b.webkitMovementY||0):(c=b.clientX-a.J,d=b.clientY-a.K);a.J=b.clientX;a.K=b.clientY;a.qg(c,d,a.J,a.K)}}
f.ie=function(a,b){if(this.$b&&this.A&&this.A.ja.Rb)switch(a){case Ok:this.O!=b&&(this.O=b,Bl(this));break;case 2:this.S!=b&&(this.S=b,Bl(this))}};f.qg=function(a,b){this.$b&&this.A&&this.A.ja.Rb&&(a||b)&&(this.N=a,this.T=b,Bl(this))};function Bl(a){ql(a.H,[64|(a.O?32:0)|(a.S?16:0)|(a.T&192)>>4|(a.N&192)>>6,a.N&63,a.T&63]);a.N=a.T=0}Ea(function(){for(var a=Xa(window.document,"pcjs","mouse"),b=0;b<a.length;b++){var c=a[b],d=Ua(c),d=new xl(d);Wa(d,c)}});
f.ie=function(a,b){if(this.$b&&this.A&&this.A.ja.Rb)switch(a){case Ok:this.O!=b&&(this.O=b,Bl(this));break;case 2:this.S!=b&&(this.S=b,Bl(this))}};f.qg=function(a,b){this.$b&&this.A&&this.A.ja.Rb&&(a||b)&&(this.N=a,this.T=b,Bl(this))};function Bl(a){ql(a.H,[64|(a.O?32:0)|(a.S?16:0)|(a.T&192)>>4|(a.N&192)>>6,a.N&63,a.T&63]);a.N=a.T=0}Ea(function(){for(var a=Xa(document,"pcjs","mouse"),b=0;b<a.length;b++){var c=a[b],d=Ua(c),d=new xl(d);Wa(d,c)}});
function Cl(a,b,c){Ia.call(this,"Disk",{id:a.sh+".disk"+da(++Dl,4)},Cl);this.controller=a;this.ua=a.ua;this.Ta=a.Ta;this.D=b;this.B=b.name;this.ne=b.ne;this.Df=this.F=!1;El(this,c,b.sb,b.tb,b.xb,b.qb);this.K=[];this.O=[];this.H=null;this.W=0;this.S=!1;Za(this)}var Dl=0;Qa(Cl);f=Cl.prototype;f.oc=function(a,b,c,d){this.Ta=d};f.Tb=function(a,b){b||!this.Df||this.F||(Za(this,!1),this.load(this.B,this.J,null,this.Lj,this));return!0};f.Lj=function(){Za(this,!0)};
f.Sb=function(a,b){if(this.F){var c,d=0;if(this.S&&!sa("Disk writes are still in progress, shut down anyway?"))return!1;for(;c=Fl(this,!1);)if(d=c[0]){this.controller.Ka('Unable to save "'+this.B+'" (error '+d+")");break}b&&this.F&&(c="action=close&volume="+this.J,c+="&machine="+this.controller.re(),c+="&user="+this.controller.yd(),pa(qa()+"/api/v1/disk?"+c,!0),this.F=!1);!d&&a&&this.controller.Ka(this.B+" saved")}return!0};
function El(a,b,c,d,e,k){a.mode=b;a.sb=c;a.tb=d;a.xb=e;a.qb=k;a.A=[];if("preload"!=a.mode){b=Array(a.sb);for(c=0;c<b.length;c++){d=Array(a.tb);for(e=0;e<d.length;e++){k=Array(a.xb);for(var l=1;l<=k.length;l++)k[l-1]=Gl(null,c,e,l,a.qb,"local"==a.mode?0:null);d[e]=k}b[c]=d}a.A=b}a.T=null}
@ -971,8 +971,7 @@ function Nl(a){Ia.call(this,"FDC",a,Nl);this.dmaRead=this.tj;this.dmaWrite=this.
f.Eb=function(a,b,c){var d=this;switch(b){case "listDisks":return this.qa[b]=c,c.onchange=function(){var a=d.qa.descDisk,b=c.options[c.selectedIndex];if(a&&b){var l={};if(b=b.getAttribute("data-value"))try{l=eval("("+b+")")}catch(p){ra("FDC option error: "+p.message)}b=l.desc;void 0===b&&(b="");l=l.href;void 0!==l&&(b='<a href="'+l+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.qa[b]=c,c.onchange=function(){var a=ca(c.value,10);null!=a&&Pl(d,a)},!0;
case "loadDrive":return this.qa[b]=c,c.onclick=function(){var a=d.qa.listDisks;a&&Ql(d,a.options[a.selectedIndex].text,a.value)},!0;case "mountDrive":return this.da?(this.qa[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Ql(d,ea(b,!0),b,a)}return!1}):c.parentNode.removeChild(c),!0}return!1};
f.oc=function(a,b,c,d){this.na=b;this.A=c;this.Ta=d;this.ua=a;this.T=ib(a,"ChipSet");if((this.N=Rl(this.ua,"autoMount")||this.N)&&"string"==typeof this.N)try{this.N=eval("("+this.N+")")}catch(e){ra("FDC auto-mount error: "+e.message+" ("+this.N+")"),this.N=null}Sl(this);Lb(b,this,Tl);Nb(b,this,Ul);this.da&&Vl(this,"Local Disk","?");Vl(this,"Remote Disk","??");Wl(this)||Za(this)};
f.Tb=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.ua.mg){this.D=[];for(var c=0;c<this.B.length;c++)Xl(this,c,!0);Wl(this,!0)}}else if(!this.restore(a))return!1;if(c=this.qa.listDrives){for(;c.firstChild;)c.removeChild(c.firstChild);c.textContent="";for(var d=0;d<this.Z;d++){var e=window.document.createElement("option");e.value=d;e.textContent=String.fromCharCode(65+d)+":";c.appendChild(e)}0<this.Z&&(c.value="0",Pl(this,0))}}return!0};f.Sb=function(a){return a?this.save():!0};
f.reset=function(){Sl(this)};
f.Tb=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.ua.mg){this.D=[];for(var c=0;c<this.B.length;c++)Xl(this,c,!0);Wl(this,!0)}}else if(!this.restore(a))return!1;if(c=this.qa.listDrives){for(;c.firstChild;)c.removeChild(c.firstChild);c.textContent="";for(var d=0;d<this.Z;d++){var e=document.createElement("option");e.value=d;e.textContent=String.fromCharCode(65+d)+":";c.appendChild(e)}0<this.Z&&(c.value="0",Pl(this,0))}}return!0};f.Sb=function(a){return a?this.save():!0};f.reset=function(){Sl(this)};
f.save=function(){var a=new Rd(this),b=0,c=[];c[b++]=this.Xa;c[b++]=0;c[b++]=this.ga;c[b++]=this.K;c[b++]=this.H;c[b++]=this.F;c[b++]=this.W;for(var d=b++,e=0,k=[],l=0;l<this.B.length;l++){var p=e++,q=this.B[l],w=0,B=[];B[w++]=q.nb;B[w++]=[q.name,q.sb,q.tb,q.xb,q.qb,q.ne,q.Kf,q.Se,q.Te];B[w++]=q.bb;B[w++]=q.ud+100;B[w++]=q.Bb;B[w++]=q.pb;B[w++]=q.vd;B[w++]=q.zb;B[w++]=q.Ya;B[w++]=q.le;B[w++]=q.jj;B[w]=q.Ud;k[p]=B}c[d]=k;d=b++;for(e=0;e<this.B.length;e++)k=this.B[e],k.Aa&&Yl(this,k.Ud,k.Aa);c[d]=this.D;
c[b++]=this.O;c[b]=this.J;D(a,0,c);return a.data()};f.restore=function(a){return Sl(this,a[0])};
function Sl(a,b){var c=0,d,e=!0;void 0===b&&(b=[0,0,128,Array(9),0,0,0,[]]);a.Xa=b[c++];c++;a.ga=b[c++];a.K=b[c++];a.H=b[c++];a.F=b[c++];a.W=b[c++];var k=b[c++];d=b[c++];null!=d&&(a.D=d);void 0===a.B&&(a.Z=4,a.T&&(a.Z=Qi(a.T)),a.B=Array(4));for(d=0;d<a.B.length;d++){var l=a.B[d];if(void 0===l){var l=a.B[d]={},p;if(a.T)a:{p=a.T;if(d<Qi(p)){if(!p.ha){p=360;break a}if(d<p.ha.length){p=p.ha[d];break a}}p=0}else p=0;switch(p){case 160:case 180:l.tb=1;default:l.sb=40;l.xb=9;break;case 720:l.sb=80;l.xb=
@ -980,9 +979,9 @@ function Sl(a,b){var c=0,d,e=!0;void 0===b&&(b=[0,0,128,Array(9),0,0,0,[]]);a.Xa
B[G++];l.Ya=B[G++];l.Za=null;l.Aa||(l.Ud="");C=B[G++];102==C&&(C=!1);if("boolean"==typeof C){var J=C,C=B[G++],B=B[G];J?(G=C,C=q.B[w],Xl(q,w,!0,!0),C.le=!0,w=new Cl(q,C,"preload"),q.Qh(C,w,G,B,!0)):Zl(q,w,C,B,!0)?l.Aa&&B&&$l(q,C,B,l.Aa):Za(q,!1)}else void 0!==C&&l.Aa&&0>l.Aa.restore(C)&&(p=!1);p&&l.Aa&&void 0!==l.Ya&&(l.Za=l.Aa.seek(l.Bb,l.bb,l.pb));p||(e=!1)}a.O=b[c++]||0;a.J=b[c]||0;return e}
function Wl(a,b){b||(a.S=0);if(a.N)for(var c in a.N){var d=a.N[c],e=d.path,k;if(!(k=d.name))a:{if((k=a.qa.listDisks)&&k.options)for(var l=0;l<k.options.length;l++)if(k.options[l].value==e){k=k.options[l].innerText;break a}k=ea(e,!0)}if(e&&k&&(l=c.charCodeAt(0)-65,0<=l&&l<a.B.length)){!Zl(a,l,k,e,!0)&&b&&Za(a,!1);continue}a.Ka("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.S}
function Ql(a,b,c,d){var e,k=a.qa.listDrives;if(k&&!isNaN(e=ca(k.value,10))&&0<=e&&e<a.B.length)if(c)if("?"==c)a.Ka('Use "Choose File" and "Mount" to select and load a local disk.');else{if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=ea(c);a.cc("Attempting to load "+c+' as "'+b+'"')}for(a.cc("loading disk "+c+"...");Zl(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){for(var k=a,l=c,
p=void 0,p=0;p<k.D.length;p++)if(k.D[p][1]==l){k.D.splice(p,1);break}Xl(a,e,!1,!0)}}else Xl(a,e);else a.Ka("Nothing to load")}function Zl(a,b,c,d,e,k){var l=a.B[b];if(d&&l.Ud!=d){Xl(a,b,e,!0);if(l.Nc)return a.Ka("Drive "+b+" busy"),!0;l.Nc=!0;e&&(l.Kd=!0,a.S++);l.le=!!k;(new Cl(a,l,"preload")).load(c,d,k,a.Qh);return!1}return!0}
p=void 0,p=0;p<k.D.length;p++)if(k.D[p][1]==l){k.D.splice(p,1);break}Xl(a,e,!1,!0)}}else Xl(a,e);else a.Ka("Unable to load the selected drive")}function Zl(a,b,c,d,e,k){var l=a.B[b];if(d&&l.Ud!=d){Xl(a,b,e,!0);if(l.Nc)return a.Ka("Drive "+b+" busy"),!0;l.Nc=!0;e&&(l.Kd=!0,a.S++);l.le=!!k;(new Cl(a,l,"preload")).load(c,d,k,a.Qh);return!1}return!0}
f.Qh=function(a,b,c,d,e){var k;a.Nc=!1;b&&(k=b.info(),b&&k[0]>a.sb||k[1]>a.tb)&&(this.Ka('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.Xa)),b=null);b?(a.Aa=b,a.jj=c,a.Ud=d,$l(this,c,d,b),k=b.info(),this.O|=128,this.Ka('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.Xa),a.Kd||e),a.Kf=k[0],a.Se=k[1],a.Te=k[2]):a.le=!1;a.Kd&&(a.Kd=!1,--this.S||Za(this));Pl(this,a.Xa)};
function Vl(a,b,c){if((a=a.qa.listDisks)&&a.options){for(var d=0;d<a.options.length;d++)if(a.options[d].value==c)return;d=window.document.createElement("option");d.value=c;d.textContent=b;a.appendChild(d)}}
function Vl(a,b,c){if((a=a.qa.listDisks)&&a.options){for(var d=0;d<a.options.length;d++)if(a.options[d].value==c)return;d=document.createElement("option");d.value=c;d.textContent=b;a.appendChild(d)}}
function Pl(a,b){if(0<=b&&b<a.B.length){var c=a.B[b],d=a.qa.listDisks,e=a.qa.listDrives;if(d&&e&&d.options&&e.options&&(e=ca(e.value,10),c=c.le?"?":c.Ud,!isNaN(e)&&e==b)){for(e=0;e<d.options.length;e++)if(d.options[e].value==c){d.selectedIndex!=e&&(d.selectedIndex=e);break}e==d.options.length&&(d.selectedIndex=0)}}}function Xl(a,b,c,d){var e=a.B[b];e.Aa&&(Yl(a,e.Ud,e.Aa),e.jj="",e.Ud="",e.Aa=null,e.le=!1,a.O|=128,d||a.Ka("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||Pl(a,b))}
function $l(a,b,c,d){var e;for(e=0;e<a.D.length;e++)if(a.D[e][1]==c){d.restore(a.D[e][2]);return}a.D[e]=[b,c,[]]}function Yl(a,b,c){var d;for(d=0;d<a.D.length;d++)if(a.D[d][1]==b){a.D[d][2]=c.save();break}}f.Cl=function(a,b){b&4?this.W&4||this.W&8&&this.T&&Je(this.T,6):Sl(this);this.W=b};f.rk=function(){return this.ga};f.pk=function(){var a=0;this.H<this.F&&(a=this.K[this.H]);this.W&8&&this.T&&Ie(this.T,6);++this.H>=this.F&&(this.ga&=-81,this.H=this.F=0);return a};
f.Bl=function(a,b){this.F<this.K.length&&(this.K[this.F++]=b);var c=this.K[0]&31;if(void 0!==Ol[c]&&this.F>=Ol[c].dd){var d=!1;this.H=0;var c=am(this),e,k,l,p,q,w=c&31;switch(w){case 3:am(this);am(this);bm(this);break;case 4:k=am(this);this.Xa=k&3;e=this.B[this.Xa];bm(this);cm(this,(e.nb&-16777216)>>>24);break;case 5:case 6:k=am(this);d=k>>2&1;this.Xa=k&3;e=this.B[this.Xa];e.bb=d;k=e.Bb=am(this);l=am(this);p=e.pb=am(this);q=am(this);e.zb=128<<q;e.vd=am(this);am(this);am(this);6==w?(w=e,w.nb=72,w.Aa&&
@ -991,7 +990,7 @@ e.pb=1;q=0;e.nb=0;e.Aa&&(e.Za=e.Aa.seek(e.Bb,e.bb,e.pb))?q=e.Za.length>>8:e.nb=7
k-e.ud,0>e.Bb&&(e.Bb=0),e.Bb>=e.sb&&(e.Bb=e.sb-1),e.ud=k,e.nb=32,e.Bb||(e.nb|=268435456),bm(this),d=!0}0<this.F&&(this.ga|=80);this.W&8&&(!e||e.nb&8||!d||this.T&&Je(this.T,6))}};f.qk=function(){var a=this.O;this.O&=-129;return a};f.Al=function(a,b){this.J=b};function dm(a,b,c,d,e,k,l,p){bm(a);cm(a,b.Xa|b.bb<<2|b.nb&255);cm(a,(b.nb&65280)>>>8);cm(a,(b.nb&16711680)>>>16);var q=0;if(e!=b.Bb||k!=b.bb)q=l=1;c&128&&(k^=q,d||(q=0));cm(a,e+q);cm(a,k);cm(a,l);cm(a,p)}
function am(a){var b=a.K[a.H];a.H++;return b}function bm(a){a.H=a.F=0}function cm(a,b){a.K[a.F++]=b}f.tj=function(a,b,c){if(void 0===b||0>b){b=-1;var d=null,e=0;if(!a.nb&&a.Aa){do{if(a.Za&&(e=a.Ya,0<=(b=a.Aa.read(a.Za,a.Ya++)))){d=a.Za;break}a.Za=a.Aa.seek(a.Bb,a.bb,a.pb);if(!a.Za){a.nb=1088;break}a.Ya=0;em(a)}while(1)}c(b,!1,d,e)}else c(-1,!1)};f.uj=function(a,b){return void 0!==b&&0<=b?fm(a,b):-1};
f.Hj=function(a,b){var c;if(void 0!==b&&0<=b)a:if(c=b,a.nb)c=-1;else{a.Mc[a.he++]=c;if(a.he==a.Mc.length){a.Bb=a.Mc[0];a.bb=a.Mc[1];a.pb=a.Mc[2];a.zb=128<<a.Mc[3];for(var d=a.he=0;d<a.zb;d++)if(0>fm(a,a.Jh)){c=-1;break a}a.yf++}a.yf>=a.vd&&(c=-1)}else c=-1;return c};function fm(a,b){if(a.nb||!a.Aa)return-1;do{if(a.Za&&a.Aa.write(a.Za,a.Ya++,b))break;a.Za=a.Aa.seek(a.Bb,a.bb,a.pb);if(!a.Za){a.nb=8256;b=-1;break}a.Ya=0;em(a)}while(1);return b}
function em(a){a.pb++;a.pb>=a.Te+1&&(a.pb=1,a.bb++,a.bb>=a.Se&&(a.bb=0,a.Bb++))}var Tl={1012:Nl.prototype.rk,1013:Nl.prototype.pk,1015:Nl.prototype.qk},Ul={1010:Nl.prototype.Cl,1013:Nl.prototype.Bl,1015:Nl.prototype.Al};Ea(function(){for(var a=Xa(window.document,"pcjs","fdc"),b=0;b<a.length;b++){var c=a[b],d=Ua(c),d=new Nl(d);Wa(d,c)}});
function em(a){a.pb++;a.pb>=a.Te+1&&(a.pb=1,a.bb++,a.bb>=a.Se&&(a.bb=0,a.Bb++))}var Tl={1012:Nl.prototype.rk,1013:Nl.prototype.pk,1015:Nl.prototype.qk},Ul={1010:Nl.prototype.Cl,1013:Nl.prototype.Bl,1015:Nl.prototype.Al};Ea(function(){for(var a=Xa(document,"pcjs","fdc"),b=0;b<a.length;b++){var c=a[b],d=Ua(c),d=new Nl(d);Wa(d,c)}});
function gm(a){Ia.call(this,"HDC",a,gm);this.dmaRead=this.vj;this.dmaWrite=this.wj;this.dmaWriteBuffer=this.Ij;this.dmaWriteFormat=this.Jj;this.ta=[];if(a.drives)try{this.ta=eval("("+a.drives+")")}catch(b){ra("HDC drive configuration error: "+b.message+" ("+a.drives+")")}this.Z="at"==a.type}Qa(gm);
var hm=["XTC","ATC","COMPAQ"],im=[{0:[306,2],1:[375,8],2:[306,6],3:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[940,8],5:[940,6],6:[615,4],7:[462,8],8:[733,5],9:[900,15],10:[820,3],11:[855,5],12:[855,7],13:[306,8],14:[733,7],16:[612,4],17:[977,5],18:[977,7],19:[1024,7],20:[733,5],21:[733,7],22:[733,5],23:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[1023,8],5:[940,6],6:[697,5],7:[462,8],8:[925,5],9:[900,15],10:[980,5],11:[925,7],12:[925,9],13:[612,8],14:[980,4],16:[612,4],17:[980,5],18:[966,6],19:[1023,
8],20:[733,5],21:[733,7],22:[524,4,40],23:[924,8],24:[966,14],25:[966,16],26:[1023,14],27:[832,6,33],28:[1222,15,34],29:[1240,7,34],30:[615,4,25],31:[615,8,25],32:[905,9,25],33:[832,8,33],34:[966,7,34],35:[966,8,34],36:[966,9,34],37:[966,5,34],38:[612,16,63],39:[1023,11,33],40:[1023,15,34],41:[1630,15,52],42:[1023,16,63],43:[805,4,26],44:[805,2,26],45:[748,8,33],46:[748,6,33],47:[966,5,25]}];f=gm.prototype;f.Eb=function(){return!1};
@ -1019,7 +1018,7 @@ function Fm(a,b,c){b.errorCode=4;b.de&&b.de.length==b.zb||(b.de=Array(b.zb));b.Y
function sm(a,b,c){var d=-1,e=null,k=0;if(a.errorCode)return b&&b(d,!1,e,k),d;var l=!1!==c?1:0;if(a.Za&&(k=a.Ya,d=a.Aa.read(a.Za,a.Ya),a.Ya+=l,0<=d))return e=a.Za,b&&b(d,!1,e,k),d;if(b){if(a.Aa)return a.Aa.seek(a.Fd,a.bb,a.pb+a.xf,!1,function(c,q){(a.Za=c)?(e=c,k=a.Ya=0,Gm(a),d=a.Aa.read(a.Za,a.Ya),a.Ya+=l):a.errorCode=20;b(d,q,e,k)}),d;a.errorCode=20;b(d,!1,e,k)}return d}
function vm(a,b){if(a.errorCode)return-1;do{if(a.Za&&a.Aa.write(a.Za,a.Ya++,b))break;a.Aa&&a.Aa.seek(a.Fd,a.bb,a.pb+a.xf,!0,function(b){a.Za=b});if(!a.Za){a.errorCode=20;b=-1;break}a.Ya=0;Gm(a)}while(1);return b}function Gm(a){a.pb++;var b=1-a.xf;a.pb>=a.xb+b&&(a.pb=b,a.bb++,a.bb>=a.tb&&(a.bb=0,a.Fd++))}f.Vk=function(){var a=this.A.I&255;!(this.A.G>>8)&&128<a&&(this.da=a-128);return!0};f.Wk=function(){var a;(a=this.A.G>>8||!this.T)||(a=!(this.T.fc[0].Vc&64));return a?!0:!1};
var km={800:gm.prototype.Sk,801:gm.prototype.Tk,802:gm.prototype.Rk},jm={496:gm.prototype.xj,497:gm.prototype.Yj,498:gm.prototype.$j,499:gm.prototype.ak,500:gm.prototype.Wj,501:gm.prototype.Vj,502:gm.prototype.Xj,503:gm.prototype.bk},mm={800:gm.prototype.$l,801:gm.prototype.cm,802:gm.prototype.bm,803:gm.prototype.am,807:gm.prototype.kh,811:gm.prototype.kh,815:gm.prototype.kh},lm={496:gm.prototype.il,497:gm.prototype.nl,498:gm.prototype.ll,499:gm.prototype.ml,500:gm.prototype.hl,501:gm.prototype.gl,
502:gm.prototype.jl,503:gm.prototype.fl,1014:gm.prototype.kl};Ea(function(){for(var a=Xa(window.document,"pcjs","hdc"),b=0;b<a.length;b++){var c=a[b],d=Ua(c),d=new gm(d);Wa(d,c)}});function Rd(a,b,c){this.id=a.id;this.key=Hm(a,b,c);this.Ta=a.Ta;Im(this,a.Dj)}function Hm(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}
502:gm.prototype.jl,503:gm.prototype.fl,1014:gm.prototype.kl};Ea(function(){for(var a=Xa(document,"pcjs","hdc"),b=0;b<a.length;b++){var c=a[b],d=Ua(c),d=new gm(d);Wa(d,c)}});function Rd(a,b,c){this.id=a.id;this.key=Hm(a,b,c);this.Ta=a.Ta;Im(this,a.Dj)}function Hm(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}
Rd.prototype={constructor:Rd,value:function(){return this[this.id]},data:function(){return this[this.id]},load:function(a){return a?(this[this.id]=a,this.A=!0):this.A?!0:ua()&&(a=va(this.key))?(this[this.id]=a,this.A=!0):!1},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){Im(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==
this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,1);c=0}}};function Im(a,b){a[a.id]={};b&&D(a,"parms",b);a.A=!1}function Jm(a){var b=!0;if(ua()){var c=JSON.stringify(a[a.id]);wa(a.key,c)||(ra("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function Km(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){ra(c.message||c),b=!1}return b}function Lm(a,b){return a[a.id][b]||null}function D(a,b,c){try{a[a.id][b]=c}catch(d){}}
function Mm(a,b,c){Ia.call(this,"Computer",a,Mm);this.ja.Qb=!1;this.T=b;this.N=Rl(this,"autoPower",a);this.D=0;this.Z=a.busWidth||a.buswidth;this.rc=Nm;this.J=null;this.H=this.W=!1;this.da=Rl(this,"url")||"";this.ha=(Math.random()+.1).toString(36).substr(2,12);this.B=Om(this);if(this.A=Ta("CPU",this.id)){this.Ta=Ta("Debugger",this.id);this.na=new pb({id:this.sh+".bus",buswidth:this.Z},this.A,this.Ta);var d,e=Ra(this.id);if((this.md=Ta("Panel",this.id))&&this.md.ig)for(b=0;b<e.length;b++)d=e[b],d.Ka=
@ -1038,12 +1037,12 @@ f.Eb=function(a,b,c){var d=this;switch(b){case "power":return this.qa[b]=c,c.onc
function(){var a=Om(d,!0);if(a){var b=!!(d.rc&&!d.uf||d.O),c=Um(d,b);b?Vm(d,a,c):d.Ka("Resume disabled, machine state not saved")}},!0}return!1};function Om(a,b){var c=a.B;c||(c=va("user"),void 0!==c?!c&&b&&(c=null,window&&(c=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c&&((c=Wm(a,c))||a.Ka("The user ID is invalid."))):b&&a.Ka("Browser local storage is not available"));return c}
function Wm(a,b){a.B=null;var c=pa(qa()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(wa("user",c.data),a.B=c.data)}catch(e){ra(e.message+" ("+d+")")}return a.B}
function Vm(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Hm(a,Pm);d.data=c;b=pa(qa()+"/api/v1/user",!1,d);d=b[1];if(b[0]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[0]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.Ka("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.Ka(c),wa("user",""),a.B=null)}}
function ib(a,b,c){a=Ra(a.id);for(var d=0;d<a.length;d++){var e=a[d];if(c)c==e&&(c=null);else if(e.type==b)return e}return null}Ea(function(){for(var a=Xa(window.document,"pcjs-machine"),b=0;b<a.length;b++)for(var c=a[b],d=Ua(c),c=Xa(c,"pcjs","computer"),e=0;e<c.length;e++){var k=c[e],l=Ua(k),l=new Mm(l,d,!0);Wa(l,k);l.N&&Qm(l,l.cf)}});ya.show.push(function(){for(var a=Xa(window.document,"pcjs","computer"),b=0;b<a.length;b++){var c=Ua(a[b]);(c=Ta("Computer",c.id))&&c.Dh&&!c.ja.Qb&&c.cf(-1)}});
ya.exit.push(function(){for(var a=Xa(window.document,"pcjs","computer"),b=0;b<a.length;b++){var c=Ua(a[b]);(c=Ta("Computer",c.id))&&c.ja.Qb&&Um(c,!(!c.rc||c.uf),!0)}});var Xm=0;function Ym(a,b,c,d,e,k){e("Loading "+a+"...");pa(a,!0,null,null,function(l,p,q){q?(p||(p="unable to load "+a+" ("+q+")"),k(p,null)):Zm(p,a,b,c,d,e,k)})}
function ib(a,b,c){a=Ra(a.id);for(var d=0;d<a.length;d++){var e=a[d];if(c)c==e&&(c=null);else if(e.type==b)return e}return null}Ea(function(){for(var a=Xa(document,"pcjs-machine"),b=0;b<a.length;b++)for(var c=a[b],d=Ua(c),c=Xa(c,"pcjs","computer"),e=0;e<c.length;e++){var k=c[e],l=Ua(k),l=new Mm(l,d,!0);Wa(l,k);l.N&&Qm(l,l.cf)}});ya.show.push(function(){for(var a=Xa(document,"pcjs","computer"),b=0;b<a.length;b++){var c=Ua(a[b]);(c=Ta("Computer",c.id))&&c.Dh&&!c.ja.Qb&&c.cf(-1)}});
ya.exit.push(function(){for(var a=Xa(document,"pcjs","computer"),b=0;b<a.length;b++){var c=Ua(a[b]);(c=Ta("Computer",c.id))&&c.ja.Qb&&Um(c,!(!c.rc||c.uf),!0)}});var Xm=0;function Ym(a,b,c,d,e,k){e("Loading "+a+"...");pa(a,!0,null,null,function(l,p,q){q?(p||(p="unable to load "+a+" ("+q+")"),k(p,null)):Zm(p,a,b,c,d,e,k)})}
function Zm(a,b,c,d,e,k,l){function p(a,k){if(k)l(k,null);else{if(c){var p=b;p&&0>p.indexOf("/")&&(p=window.location.pathname+p);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{";d+='url:"'+p+'"}';a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(p?' url="'+p+'"':""))}p=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(p=new window.ActiveXObject("Microsoft.XMLDOM"),
p.async=!1,p.loadXML(a)):p=(new window.DOMParser).parseFromString(a,"text/xml")}catch(G){p=null,a=G.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);l(a,p)}}a?e?$m(a,k,p):p(a,null):l("no data"+(b?" for file: "+b:""),null)}
function $m(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");pa(e,!0,null,null,function(k,l,p){if(p||!l)c(a,"unable to resolve XML reference: "+d[0]+" ("+p+")");else{if(k=d[3])if(p=l.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var q=p[0],w,B=/( [a-z]+=)(['"])(.*?)\2/g;w=B.exec(k);)q=0>q.indexOf(w[1])?q.replace(">",w[0]+">"):q.replace(new RegExp(w[1]+"(['\"])(.*?)\\1"),w[0]);p[0]!=q&&(l=l.replace(p[0],q))}else{c(a,"missing <"+d[1]+"> in "+e);return}l=l.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],l);$m(a,b,c)}})}else c(a,null)}
function an(a,b,c,d){function e(a){if(void 0===p){var b=l&&Xa(l,"machine-warning");p=b&&b[0]||l}p&&(p.innerHTML=ha(a))}function k(a){e("Error: "+a);q&&(--Xm||Ga(!0));q=!1}var l,p,q=!0;Xm++;try{if(l=window.document.getElementById(a)){c||(c="/versions/pcjs/1.20.9/components.xsl");var w=function(d,p){if(p){var q=function(d,q){if(q)if(q)if(e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var w=p.transformNode(q);w?(l.outerHTML=w,--Xm||Ga(!0)):k("transformNodeToObject failed")}else window.document.implementation&&
window.document.implementation.createDocument?(w=new XSLTProcessor,w.importStylesheet(q),(w=w.transformToFragment(p,window.document))?l.parentNode?(l.parentNode.replaceChild(w,l),--Xm||Ga(!0)):k("invalid machine element: "+a):k("transformToFragment failed")):k("unable to transform XML: unsupported browser");else k("failed to load XSL file: "+c);else k(d)};p?Ym(c,null,null,!1,e,q):k("failed to load XML file: "+b)}else k(d)};"<"!=b.charAt(0)?Ym(b,a,d,!0,e,w):Zm(b,null,a,d,!1,e,w)}else k("missing machine element: "+
function an(a,b,c,d){function e(a){if(void 0===p){var b=l&&Xa(l,"machine-warning");p=b&&b[0]||l}p&&(p.innerHTML=ha(a))}function k(a){e("Error: "+a);q&&(--Xm||Ga(!0));q=!1}var l,p,q=!0;Xm++;try{if(l=document.getElementById(a)){c||(c="/versions/pcjs/1.20.9/components.xsl");var w=function(d,p){if(p){var q=function(d,q){if(q)if(q)if(e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var w=p.transformNode(q);w?(l.outerHTML=w,--Xm||Ga(!0)):k("transformNodeToObject failed")}else document.implementation&&
document.implementation.createDocument?(w=new XSLTProcessor,w.importStylesheet(q),(w=w.transformToFragment(p,document))?l.parentNode?(l.parentNode.replaceChild(w,l),--Xm||Ga(!0)):k("invalid machine element: "+a):k("transformToFragment failed")):k("unable to transform XML: unsupported browser");else k("failed to load XSL file: "+c);else k(d)};p?Ym(c,null,null,!1,e,q):k("failed to load XML file: "+b)}else k(d)};"<"!=b.charAt(0)?Ym(b,a,d,!0,e,w):Zm(b,null,a,d,!1,e,w)}else k("missing machine element: "+
a)}catch(B){k(B.message)}return q}window.embedPC=function(a,b,c,d){Ga(!1);return an(a,b,c,d)};window.enableEvents=Ga;window.sendEvent=Ha;})();