PDP-11 debugger disassembly fixes

This commit is contained in:
Jeff Parsons 2016-09-19 21:31:18 -07:00 • committed by Jeff Parsons
commit 8984cbc2ed
9 changed files with 507 additions and 447 deletions

View file

@ -1161,6 +1161,12 @@
<xsl:template match="debugger[not(@ref)]">
<xsl:param name="machine" select="''"/>
<xsl:variable name="base">
<xsl:choose>
<xsl:when test="@base"><xsl:value-of select="@base"/></xsl:when>
<xsl:otherwise>16</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="commands">
<xsl:choose>
<xsl:when test="@commands"><xsl:value-of select="@commands"/></xsl:when>
@ -1176,7 +1182,7 @@
<xsl:call-template name="component">
<xsl:with-param name="machine" select="$machine"/>
<xsl:with-param name="class">debugger</xsl:with-param>
<xsl:with-param name="parms">,commands:'<xsl:value-of select="$commands"/>',messages:'<xsl:value-of select="$messages"/>'</xsl:with-param>
<xsl:with-param name="parms">,base:<xsl:value-of select="$base"/>,commands:'<xsl:value-of select="$commands"/>',messages:'<xsl:value-of select="$messages"/>'</xsl:with-param>
</xsl:call-template>
</xsl:template>

View file

@ -25,8 +25,8 @@ Za.prototype={constructor:Za,parent:null,toString:function(){return this.name?th
this.Na=function(a){this.O(a,this.xd)}),!0;default:return!1}},log:function(){},O:function(){},status:function(a){this.O(this.xd+": "+a)},Na:function(a,b,c){c=c||this.type;b||x((c?c+": ":"")+a)},gc:function(){return this.la.hc=!0},fc:function(a,b){b&&(this.la.hc=!1);return!0}};function y(a,b,c,d,e,f,g){a.ha&&(!0===g?g=0:null==g&&(g=a.wc),sb(a.ha,a,b,c,d,e,f,g))}function z(a,b,c,d){a.ha&&(!0===c||B(a,c|0))&&a.ha.message(b,d)}
function B(a,b){if(a.ha){a===a.ha?b|=0:b=b||a.wc;var c=a.ha.wc&b;return!!b&&c===b||!!(c&a.ha.ol)}return!1}function ub(a,b){if(a.la.gh)return a.la.Te&&(a.la.Te=!1),a.la.gh=!1;if(a.la.error)return a.O(a.toString()+" error"),!1;a.la.Te=b;return a.la.Te}function vb(a,b){a.la.Te&&(b?a.la.gh=!0:void 0===b&&a.O(a.toString()+" busy"));return a.la.Te}function wb(a,b){if(!a.la.error&&(a.la.ready=!1!==b,a.la.ready)){var c=a.xg;a.xg=null;c&&c()}}function xb(a,b){b&&(a.la.ready?b():a.xg=b);return a.la.ready}
function yb(a,b){a.la.error=!0;a.Na(b)}
var zb="undefined"!==typeof ArrayBuffer,Ab={Jg:4,Ic:5,Jd:6,dd:7,ed:8,ib:9,cc:11,dc:12,He:4,Fj:60,Gj:83,yc:3,Vb:9,Mc:16,Ig:1,Kj:19,Mj:28,Oj:16,Nj:21,Lj:37,Ij:2,Hh:9,Jj:5,Hj:33,Jh:10,Ih:8,Sf:3,Rf:15,bk:51,ck:1,dk:2,ek:4,ak:32,Kh:15,gk:15,ab:16,bb:4,ik:11,hk:18,fk:24,ec:4,jk:2,pf:16,kk:17,Ph:18,lk:19,Oh:5,Qh:6,rk:2,qk:8,nk:9,pk:10,mk:10,Rh:10,Sh:10,Qj:80,Sj:144,Pj:86,Rj:154,Uj:101,Wj:165,Tj:107,Vj:171,tk:70,vk:113,sk:76,uk:124,Yj:80,$j:128,Xj:86,Zj:134,Uf:3,Tf:16,Xh:10,Wh:8,wk:51,zc:8,xk:17,yk:36,Sc:11,
zk:16,Ie:10,nd:2,Eh:18,Fh:7,Gh:15,Lh:12,Mh:7,Nh:11,Th:18,Uh:7,Vh:15,Yh:15,Zh:7,$h:13,di:11,ei:7,fi:8,Ak:8,Dk:12,Bk:18,Ck:17,Ek:15,bi:8,ai:20,ci:2,ii:3,Vf:9,hi:5,gi:11,ki:4,ji:17,Fk:11},Bb={Jg:0,Ic:0,Jd:0,dd:0,ed:0,ib:0,cc:1,dc:1,He:3,Fj:14,Gj:16,yc:2,Vb:7,Mc:7,Ig:0,Kj:7,Mj:13,Oj:7,Nj:11,Lj:16,Ij:3,Hh:6,Jj:2,Hj:13,Jh:5,Ih:5,Sf:2,Rf:7,bk:23,ck:0,dk:1,ek:3,ak:17,Kh:7,gk:11,ab:7,bb:3,ik:7,hk:11,fk:15,ec:2,jk:3,pf:7,kk:8,Ph:8,lk:8,Oh:4,Qh:4,rk:2,qk:3,nk:5,pk:2,mk:3,Rh:5,Sh:3,Qj:14,Sj:22,Pj:17,Rj:25,Uj:17,
var zb="undefined"!==typeof ArrayBuffer,Ab={Jg:4,Jc:5,Jd:6,dd:7,ed:8,ib:9,cc:11,dc:12,He:4,Fj:60,Gj:83,yc:3,Vb:9,Nc:16,Ig:1,Kj:19,Mj:28,Oj:16,Nj:21,Lj:37,Ij:2,Hh:9,Jj:5,Hj:33,Jh:10,Ih:8,Sf:3,Rf:15,bk:51,ck:1,dk:2,ek:4,ak:32,Kh:15,gk:15,ab:16,bb:4,ik:11,hk:18,fk:24,ec:4,jk:2,pf:16,kk:17,Ph:18,lk:19,Oh:5,Qh:6,rk:2,qk:8,nk:9,pk:10,mk:10,Rh:10,Sh:10,Qj:80,Sj:144,Pj:86,Rj:154,Uj:101,Wj:165,Tj:107,Vj:171,tk:70,vk:113,sk:76,uk:124,Yj:80,$j:128,Xj:86,Zj:134,Uf:3,Tf:16,Xh:10,Wh:8,wk:51,zc:8,xk:17,yk:36,Sc:11,
zk:16,Ie:10,nd:2,Eh:18,Fh:7,Gh:15,Lh:12,Mh:7,Nh:11,Th:18,Uh:7,Vh:15,Yh:15,Zh:7,$h:13,di:11,ei:7,fi:8,Ak:8,Dk:12,Bk:18,Ck:17,Ek:15,bi:8,ai:20,ci:2,ii:3,Vf:9,hi:5,gi:11,ki:4,ji:17,Fk:11},Bb={Jg:0,Jc:0,Jd:0,dd:0,ed:0,ib:0,cc:1,dc:1,He:3,Fj:14,Gj:16,yc:2,Vb:7,Nc:7,Ig:0,Kj:7,Mj:13,Oj:7,Nj:11,Lj:16,Ij:3,Hh:6,Jj:2,Hj:13,Jh:5,Ih:5,Sf:2,Rf:7,bk:23,ck:0,dk:1,ek:3,ak:17,Kh:7,gk:11,ab:7,bb:3,ik:7,hk:11,fk:15,ec:2,jk:3,pf:7,kk:8,Ph:8,lk:8,Oh:4,Qh:4,rk:2,qk:3,nk:5,pk:2,mk:3,Rh:5,Sh:3,Qj:14,Sj:22,Pj:17,Rj:25,Uj:17,
Wj:25,Tj:20,Vj:28,tk:13,vk:21,sk:16,uk:24,Yj:13,$j:21,Xj:16,Zj:24,Uf:2,Tf:7,Xh:5,Wh:5,wk:19,zc:5,xk:5,yk:17,Sc:3,zk:5,Ie:3,nd:0,Eh:8,Fh:5,Gh:9,Lh:5,Mh:5,Nh:4,Th:5,Uh:5,Vh:4,Yh:7,Zh:5,$h:8,di:3,ei:4,fi:3,Ak:11,Dk:11,Bk:15,Ck:15,Ek:7,bi:5,ai:8,ci:0,ii:2,Vf:6,hi:3,gi:6,ki:3,ji:5,Fk:5},Cb={19:{0:"disk reset",1:"get status",2:"read drive @DL (@CH:@DH:@CL,@AL) into @ES:@BX",3:"write drive @DL (@CH:@DH:@CL,@AL) from @ES:@BX",4:"verify drive @DL (@CH:@DH:@CL,@AL)",5:"format drive @DL using @ES:@BX",8:"read drive @DL parameters",
21:"get drive @DL DASD type",22:"get drive @DL change line status",23:"set drive @DL DASD type",24:"set drive @DL media type"},21:{128:"open device",129:"close device",130:"program termination",131:"wait @CX:@DXus for event",132:"joystick support",133:"SYSREQ pressed",134:"wait @CX:@DXus",135:"move block (@CX words)",136:"get extended memory size",137:"processor to virtual mode",144:"device busy loop",145:"interrupt complete flag set"},33:{0:"terminate program",1:"read character (AL) from stdin with echo",
2:"write character #@DL to stdout",3:"read character (AL) from stdaux",4:"write character #@DL to stdaux",5:"write character #@DL to stdprn",6:"direct console output (input if @DL=FF)",7:"direct console input without echo",8:"read character (AL) from stdin without echo",9:"write string $@DS:@DX to stdout",10:"buffered input (DS:DX)",11:"get stdin status",12:"flush buffer and read stdin",13:"disk reset",14:"select default drive @DL",15:"open file using FCB ^@DS:@DX",16:"close file using FCB ^@DS:@DX",
@ -39,7 +39,7 @@ Wj:25,Tj:20,Vj:28,tk:13,vk:21,sk:16,uk:24,Yj:13,$j:21,Xj:16,Zj:24,Uf:2,Tf:7,Xh:5
93:"critical error information (@AL)",96:"get fully-qualified filename from $@DS:@SI",99:"get lead byte table (@AL)",108:"extended open file $@DS:@SI"},65:{79:"check debugger loaded"}},Db={cpu:1,seg:2,desc:4,tss:8,"int":16,fault:32,bus:64,mem:128,port:256,dma:512,pic:1024,timer:2048,cmos:4096,rtc:8192,8042:16384,chipset:32768,keyboard:65536,key:131072,video:262144,fdc:524288,hdc:1048576,disk:2097152,parallel:4194304,serial:8388608,mouse:16777216,speaker:33554432,computer:67108864,dos:134217728,data:268435456,
log:536870912,warn:1073741824,halt:-2147483648};function Fb(a){Za.call(this,"Panel",a,Fb);this.L=this.V=this.ea=-1}hb(Fb);function Gb(a,b,c,d){this.A=[a,b,c,d];this.B=null;void 0===a&&(this.A[0]=256*Math.random()|0,this.A[1]=256*Math.random()|0,this.A[2]=256*Math.random()|0,this.A[3]=255,this.B=null)}Gb.prototype.toString=function(){this.B||(this.B="#"+t(this.A[0],2)+t(this.A[1],2)+t(this.A[2],2));return this.B};function Hb(a,b,c,d){this.x=a;this.y=b;this.ad=c;this.A=d}
Hb.prototype.contains=function(a,b){return a>=this.x&&a<this.x+this.ad&&b>=this.y&&b<this.y+this.A};function Ib(a,b,c,d){void 0===d&&(d=b>=c>>2);d?(b=new Hb(a.x,a.y,a.ad,a.A*b/c|0),a.y+=b.A,a.A-=b.A):(b=new Hb(a.x,a.y,a.ad*b/c|0,a.A),a.x+=b.ad,a.ad-=b.ad);return b}m=Fb.prototype;m.Pb=function(a,b,c,d){return this.X&&this.X.Pb(a,b,c,d)||this.F&&this.F.Pb(a,b,c,d)||this.B&&this.B.Pb(a,b,c,d)||this.ha&&this.ha.Pb(a,b,c,d)?!0:this.parent.Pb.call(this,a,b,c,d)};
m.Hc=function(a,b,c,d){this.X=a;this.ga=b;this.F=c;this.ha=d;this.B=Jb(a,"Keyboard")};m.gc=function(a,b){b||Kb();return!0};m.fc=function(){return!0};m.he=function(a,b){a.button||(this.ea=b?0:-1,Lb(this,a,b))};m.Jf=function(a){Lb(this,a)};
m.Ic=function(a,b,c,d){this.X=a;this.ga=b;this.F=c;this.ha=d;this.B=Jb(a,"Keyboard")};m.gc=function(a,b){b||Kb();return!0};m.fc=function(){return!0};m.he=function(a,b){a.button||(this.ea=b?0:-1,Lb(this,a,b))};m.Jf=function(a){Lb(this,a)};
function Lb(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.ea||(a.ea=Math.abs(a.L-d)>Math.abs(a.V-b)?1:2),1==a.ea?b=a.V:2==a.ea&&(d=a.L));a.L=d;a.V=b;if(0<=d&&1280>d&&0<=b&&720>b){a:{c=d;if(960>c&&a.A&&a.A.Qe)for(f=0;f<a.A.Qe.length;f++)if(e=a.A.Qe[f],e.contains(c,b)){c-=e.x;b-=e.y;var d=a.A.Bf[f],g=xa(Mb.Gk,a.A.Xg[d.Dl]),f=g*a.ga.Sb,d=(g+d.Td)*a.ga.Sb-1;0<b&&(f+=e.ad*(b-1)*a.ya);f+=c*a.ya;f|=0;
f>d&&(f=d);c=f;break a}c=-1}if(-1!==c&&(c&=-16,c!=a.Ca)){b=c;if(a.context&&a.ia&&a.ka){e=a.ia.width;a.ka.fillStyle="black";a.ka.fillRect(0,360,e,360);Nb(a,378,a.ia,a.ka);a.pa=a.Da.width/24|0;if(null==b)Ob(a,"Mouse over memory to dump");else for(Ob(a,t(b,8,!0),null,0,1),f=1;16>=f;f++){d="";for(g=1;8>=g;g++){var h;h=a.ga;var k=b++;h=h.sa[(k&h.Gb)>>>h.La].re(k&h.A,k);Ob(a,t(h,2),null,1);d+=32<=h&&128>h?String.fromCharCode(h):"."}Ob(a,d,null,0,1)}a.context.drawImage(a.ia,0,360,e,360,a.rb,a.Db,a.Pa,a.cb)}a.Ca=
c}}}m.pd=function(){};function Pb(a,b,c,d){a.A.Bf[a.A.ej++]={Dl:b,Td:c,type:d};return va(Mb,b,c,0,d)}function Nb(a,b,c,d){var e,f=null.style.color,g=a.Oa=10;a.C=g;a.U=b;a.W=a.va=18;e||(e=a.ua||a.va+"px Monaco, Lucida Console, Courier New");a.fa=a.ua=e;c&&(a.Da=c);d&&(a.N=d,a.Fa=f||"white")}
@ -63,16 +63,16 @@ C.prototype={constructor:C,parent:null,ph:function(a){this.Ea=a},save:function()
c){this.sc(a++,b&255,c++);this.sc(a++,b>>8&255,c++);this.sc(a++,b>>16&255,c++);this.sc(a,b>>>24,c)},Fa:function(a){return this.da[a>>2]>>>((a&3)<<3)&255},sb:function(a){var b=a>>2;a=(a&3)<<3;var c=this.da[b]>>a;return 24>a?c&65535:c&255|(this.da[b+1]&255)<<8},$a:function(a){var b=a>>2;a=(a&3)<<3;var c=this.da[b];a&&(c=c>>>a|this.da[b+1]<<32-a);return c},tc:function(a,b){var c=a>>2,d=(a&3)<<3;this.da[c]=this.da[c]&~(255<<d)|b<<d;this.Wa=!0},Cd:function(a,b){var c=a>>2,d=(a&3)<<3;24>d?this.da[c]=this.da[c]&
~(65535<<d)|b<<d:(this.da[c]=this.da[c]&16777215|b<<24,c++,this.da[c]=this.da[c]&-256|b>>8);this.Wa=!0},Wc:function(a,b){var c=a>>2,d=(a&3)<<3;if(d){var e=-1<<d;this.da[c]=this.da[c]&~e|b<<d;c++;this.da[c]=this.da[c]&e|b>>>32-d}else this.da[c]=b;this.Wa=!0},Da:function(a,b){this.ha&&null!=this.Ea&&Hc(this.ha,this.Ea+a)||this.F&&Ic(this.F,b,1,!1);return this.re(a,b)},rb:function(a,b){this.ha&&null!=this.Ea&&Hc(this.ha,this.Ea+a,2)||this.F&&Ic(this.F,b,2,!1);return this.eg(a,b)},Pa:function(a,b){this.ha&&
null!=this.Ea&&Hc(this.ha,this.Ea+a,4)||this.F&&Ic(this.F,b,4,!1);return this.ri(a,b)},kc:function(a,b,c){this.ha&&null!=this.Ea&&Jc(this.ha,this.Ea+a)||this.F&&Ic(this.F,c,1,!0);this.N?this.L(a,b,c):this.xf(a,b,c)},sd:function(a,b,c){this.ha&&null!=this.Ea&&Jc(this.ha,this.Ea+a,2)||this.F&&Ic(this.F,c,2,!0);this.N?this.L(a,b,c):this.yi(a,b,c)},Vc:function(a,b,c){this.ha&&null!=this.Ea&&Jc(this.ha,this.Ea+a,4)||this.F&&Ic(this.F,c,4,!0);this.N?this.L(a,b,c):this.ua(a,b,c)},Ja:function(a,b){this.yb.da[this.A]|=
this.ga;this.zb.da[this.B]|=this.ga;return this.Bd.pc(a,b)},Jb:function(a,b){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.ga;return this.Bd.sf(a,b)},fb:function(a,b){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.ga;return this.Bd.Md(a,b)},Oc:function(a,b,c){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.V;this.Bd.sc(a,b,c)},Gd:function(a,b,c){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.V;this.Bd.zf(a,b,c)},hd:function(a,b,c){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=
this.ga;this.zb.da[this.B]|=this.ga;return this.Bd.pc(a,b)},Jb:function(a,b){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.ga;return this.Bd.sf(a,b)},fb:function(a,b){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.ga;return this.Bd.Md(a,b)},Cc:function(a,b,c){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.V;this.Bd.sc(a,b,c)},Gd:function(a,b,c){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.V;this.Bd.zf(a,b,c)},hd:function(a,b,c){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=
this.V;this.Bd.yf(a,b,c)},Ka:function(a,b){return Kc(this.F,b,!1).pc(a,b)},xd:function(a,b){return Kc(this.F,b,!1).sf(a,b)},gb:function(a,b){return Kc(this.F,b,!1).Md(a,b)},Uc:function(a,b,c){Kc(this.F,c,!0).sc(a,b,c)},Hd:function(a,b,c){Kc(this.F,c,!0).zf(a,b,c)},jd:function(a,b,c){Kc(this.F,c,!0).yf(a,b,c)},Ca:function(a){return this.Ya[a]},aa:function(a){return this.Ya[a]},Ga:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.pc=this.aa;return this.Ya[a]},Tb:function(a){return this.qa.getUint16(a,
!0)},pa:function(a){return a&1?this.Ya[a]|this.Ya[a+1]<<8:this.de[a>>1]},Db:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.sf=this.pa;return a&1?this.Ya[a]|this.Ya[a+1]<<8:this.de[a>>1]},Oa:function(a){return this.qa.getInt32(a,!0)},fa:function(a){return a&3?this.Ya[a]|this.Ya[a+1]<<8|this.Ya[a+2]<<16|this.Ya[a+3]<<24:this.da[a>>2]},cb:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.Md=this.fa;return a&3?this.Ya[a]|this.Ya[a+1]<<8|this.Ya[a+2]<<16|this.Ya[a+3]<<24:this.da[a>>
2]},Ub:function(a,b){this.Ya[a]=b;this.Wa=!0},ra:function(a,b){this.Ya[a]=b;this.Wa=!0},uc:function(a,b){this.Ya[a]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.sc=this.ra;this.Bd.Wa=!0},qd:function(a,b){this.qa.setUint16(a,b,!0);this.Wa=!0},ya:function(a,b){a&1?(this.Ya[a]=b,this.Ya[a+1]=b>>8):this.de[a>>1]=b;this.Wa=!0},Fd:function(a,b){a&1?(this.Ya[a]=b,this.Ya[a+1]=b>>8):this.de[a>>1]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.zf=this.ya;this.Bd.Wa=!0},ce:function(a,b){this.qa.setInt32(a,
b,!0);this.Wa=!0},va:function(a,b){a&3?(this.Ya[a]=b,this.Ya[a+1]=b>>8,this.Ya[a+2]=b>>16,this.Ya[a+3]=b>>24):this.da[a>>2]=b;this.Wa=!0},Xc:function(a,b){a&3?(this.Ya[a]=b,this.Ya[a+1]=b>>8,this.Ya[a+2]=b>>16,this.Ya[a+3]=b>>24):this.da[a>>2]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.yf=this.va;this.Bd.Wa=!0}};function Rb(a,b,c){a.ha=b;a.Ve=a.We=0;c&&(c.F&&(a.F=c.F),(a.Ve=c.Ve)&&Ec(a,Fc,!1),(a.We=c.We)&&Gc(a,Fc,!1))}
function Lc(a,b){b?0===--a.We&&(a.sc=a.N?a.L:a.xf,a.zf=a.N?a.W:a.yi,a.yf=a.N?a.U:a.ua):0===--a.Ve&&(a.pc=a.re,a.sf=a.eg,a.Md=a.ri)}function Gc(a,b,c){c&&a.We||(a.sc=!a.N&&b[3]||a.L,a.zf=!a.N&&b[4]||a.W,a.yf=!a.N&&b[5]||a.U);if(c||void 0===c)a.xf=b[3]||a.L,a.yi=b[4]||a.W,a.ua=b[5]||a.U}function Ec(a,b,c){c&&a.Ve||(a.pc=b[0]||a.ia,a.sf=b[1]||a.ka,a.Md=b[2]||a.ea);if(c||void 0===c)a.re=b[0]||a.ia,a.eg=b[1]||a.ka,a.ri=b[2]||a.ea}
function dc(a,b,c){b||(b=5==a.type?Mc:6==a.type?Nc:Oc);Ec(a,b,c);Gc(a,b,c)}var Oc=[],jc=[C.prototype.Fa,C.prototype.sb,C.prototype.$a,C.prototype.tc,C.prototype.Cd,C.prototype.Wc],Fc=[C.prototype.Da,C.prototype.rb,C.prototype.Pa,C.prototype.kc,C.prototype.sd,C.prototype.Vc],Nc=[C.prototype.Ja,C.prototype.Jb,C.prototype.fb,C.prototype.Oc,C.prototype.Gd,C.prototype.hd],Mc=[C.prototype.Ka,C.prototype.xd,C.prototype.gb,C.prototype.Uc,C.prototype.Hd,C.prototype.jd];
function dc(a,b,c){b||(b=5==a.type?Mc:6==a.type?Nc:Oc);Ec(a,b,c);Gc(a,b,c)}var Oc=[],jc=[C.prototype.Fa,C.prototype.sb,C.prototype.$a,C.prototype.tc,C.prototype.Cd,C.prototype.Wc],Fc=[C.prototype.Da,C.prototype.rb,C.prototype.Pa,C.prototype.kc,C.prototype.sd,C.prototype.Vc],Nc=[C.prototype.Ja,C.prototype.Jb,C.prototype.fb,C.prototype.Cc,C.prototype.Gd,C.prototype.hd],Mc=[C.prototype.Ka,C.prototype.xd,C.prototype.gb,C.prototype.Uc,C.prototype.Hd,C.prototype.jd];
if(zb)var ic=[C.prototype.Ca,C.prototype.Tb,C.prototype.Oa,C.prototype.Ub,C.prototype.qd,C.prototype.ce],hc=[C.prototype.aa,C.prototype.pa,C.prototype.fa,C.prototype.ra,C.prototype.ya,C.prototype.va],Pc=[C.prototype.Ga,C.prototype.Db,C.prototype.cb,C.prototype.uc,C.prototype.Fd,C.prototype.Xc];
function Qc(a,b){Za.call(this,"CPU",a,Qc,1);var c=a.cycles||b,d=a.multiplier||1;this.Y={};this.Y.Id=c;this.Y.Wd=d;this.Y.zg=Math.round(this.Y.Id/1E4)/100;this.Y.Fe=this.Y.zg*this.Y.Wd;this.la.Ib=!1;this.la.xi=!1;this.la.Cf=a.autoStart;this.la.nj=!1;this.la.Ye=!1;this.Y.Kf=this.Y.lf=0;this.Y.Lf=a.csStart;this.Y.kf=a.csInterval;this.Y.mf=a.csStop;this.zi=this.Le.bind(this);wb(this)}hb(Qc);var Rc=["power","reset"];m=Qc.prototype;
m.Hc=function(a,b,c,d){this.X=a;this.ga=b;this.ha=d;for(b=0;b<Rc.length;b++)(c=this.qa[Rc[b]])&&this.X.Pb(null,Rc[b],c);this.Tb=Jb(a,"FPU");this.N=Jb(a,"ChipSet");a=Tc(a,"autoStart");null!=a&&(this.la.Cf="true"==a?!0:"false"==a?!1:!!a);wb(this)};m.reset=function(){};m.save=function(){return null};m.restore=function(){return!1};
m.Ic=function(a,b,c,d){this.X=a;this.ga=b;this.ha=d;for(b=0;b<Rc.length;b++)(c=this.qa[Rc[b]])&&this.X.Pb(null,Rc[b],c);this.Tb=Jb(a,"FPU");this.N=Jb(a,"ChipSet");a=Tc(a,"autoStart");null!=a&&(this.la.Cf="true"==a?!0:"false"==a?!1:!!a);wb(this)};m.reset=function(){};m.save=function(){return null};m.restore=function(){return!1};
m.gc=function(a,b){if(!b){if(a&&this.restore){Uc(this);if(!this.restore(a))return!1;Xc(this)}else this.reset();this.ha?this.ha.ph():this.O("No debugger detected")}Yc(this);return!0};m.fc=function(a){return a?this.save():!0};m.Cf=function(){return this.la.Cf||!this.ha&&void 0===this.qa.run?(this.Le(!0),!0):!1};m.uj=function(){return 0};
function Xc(a){void 0===a.Y.Lf&&(a.Y.Lf=0);void 0===a.Y.kf&&(a.Y.kf=-1);void 0===a.Y.mf&&(a.Y.mf=-1);a.la.Ye=0<=a.Y.Lf&&0<a.Y.kf;a.la.Ye&&(a.Y.Kf=0,a.Y.lf=a.Y.Lf-a.uc)}function Zc(a,b){if(a.la.Ye){var c=!1;a.Y.Kf=a.Y.Kf+a.uj()|0;a.Y.lf-=b;0>=a.Y.lf&&(a.Y.lf+=a.Y.kf,c=!0);0<=a.Y.mf&&a.Y.mf<=$c(a)&&(a.Y.kf=a.Y.mf=-1,Xc(a),a.Wb(),c=!0);c&&a.O($c(a)+" cycles: checksum="+t(a.Y.Kf))}}
m.Pb=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.qa[b]=c;a=!0;break;case "run":this.qa[b]=c;c.onclick=function(){var a;if(a=d.X)if(a=d.X,a.la.hc)a=!0;else{var b=null,c,h=kb(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.la.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.la.hc);c++);c==h.length&&(b=a);x("The "+b.type+" component ("+b.id+") is not "+(b.la.ready?"powered yet":"ready yet"+(b.xg?" (waiting for notification)":""))+".");a=!1}a&&(d.la.Ib?d.Wb(!0):
@ -83,37 +83,37 @@ m.Le=function(a){if(ub(this,!0)){if(!this.la.Ib){ad(this);this.X&&this.X.start(t
($c(d.F,d.ka)-e.vd)/d.gb|0,g=fd(d,0)-f;6==e.mode&&(g-=f);var h=g*d.gb|0;6==e.mode&&(h>>=1);a>h&&(a=h)}var c=a,k=this.N;a=c;if(k.A&&k.A[11]&64){var l=k.ua-$c(k.F,k.ka);0<l&&a>l&&(a=l)}c=a}try{this.wf(c)}catch(r){if("number"!=typeof r)throw r;}var n=this.fb-this.A;this.Ub+=n;this.Y.Of+=n;cd(this,0,!0);Zc(this,n);this.Y.Nf-=n;0>=this.Y.Nf&&(this.Y.Nf+=this.Y.Ej,this.X&&gd(this.X));this.Y.Mf-=n;0>=this.Y.Mf&&(this.Y.Mf+=this.Y.Dj,this.X&&this.X.pd());this.Y.nf-=n;if(0>=this.Y.nf){this.Y.nf+=this.Y.zh;
break}}while(this.la.Ib)}catch(r){this.Wb();Yc(this);this.X&&this.X.stop(sa(),$c(this));ub(this,!1);yb(this,r.stack||r.message);return}c=setTimeout;d=this.zi;this.Y.Ge=sa();e=this.Y.Cj;this.Y.Of&&(e=Math.round(e*this.Y.Of/this.Y.zh));e-=this.Y.Ge-this.Y.Ag;if(f=this.Y.Ge-this.Y.oe)this.Y.ne=Math.round(this.Ub/(10*f))/100,864E5<=f&&(this.uc=0,this.N&&ed(this.N,!0),ad(this));if(0>e||this.Y.ne<this.Y.Fe)-1E3>e&&(this.Y.oe-=e),e=0;this.Y.Ah+=this.Y.Of;this.Y.Ge+=e;c(d,e)}else Yc(this),this.X&&this.X.stop(sa(),
$c(this))};m.wf=function(){return 0};m.Wb=function(a){vb(this,!0);this.fb-=this.A;this.A=0;cd(this,this.Ub);this.Ub=0;if(this.la.Ib){this.la.Ib=!1;this.N&&this.N.stop();var b=this.qa.run;b&&(b.textContent="Run")}this.la.complete=a};function Yc(a,b){a.X&&(gd(a.X,b),a.X.pd(b))}
function hd(a,b,c,d){this.F=a;this.ha=a.ha;this.id=b;this.jc=c||"";this.Z=0;this.Ta=65535;this.Zb=this.Ta+1;this.Lb=this.Fc=this.ext=this.wb=this.type=this.Aa=0;this.Xb=-1;this.ba=this.Nc=2;this.R=this.Ba=65535;this.X=this.th;this.ga=this.hj;this.qa=this.jj;this.A={Z:-1,Aa:0,Ta:0,wb:0,type:0,ext:0,Xb:-1};1==this.id&&(this.Zf=0,this.C=null,this.ef=!1,this.N=Array(32),this.B=[]);id(this,!0,d)}function jd(a,b){a.B.push(b);return[a.B.length,1]}m=hd.prototype;
m.th=function(a){this.Z=a&65535;return this.Aa=this.Z<<4};m.yg=function(a,b){var c,d,e=this.F;a&=65535;a&4?(c=e.Bc.Aa,d=c+e.Bc.Ta|0):(c=e.Dc,d=e.zd);if(c){c=c+(a&65528)|0;if(d-c|0)return e.A-=15,kd(this,c,a,b);6>this.id&&D.call(e,b&&3==this.id?10:13,a&65532)}return-1};m.Wm=function(a){var b=this.F;a=b.Lc+(a<<2);var c=b.na(a);b.ca&=-769;return this.load(b.na(a+2))+c|0};
m.Vm=function(a){var b=this.F;a<<=3;var c=b.Lc+a|0;if(7<=(b.Sd-c|0))return this.C=!0,a=kd(this,c,a),-1!==a&&(a+=this.Zf),a;D.call(b,13,a|2);return-1};m.hj=function(a){return this.Aa+a|0};m.jj=function(a){return this.Aa+a|0};m.gj=function(a,b){return(a>>>0)+b<=this.Zb?this.Aa+a|0:this.sg()};m.rl=function(a,b){return(a>>>0)+b>this.Zb?this.Aa+a|0:this.sg()};m.sg=function(){D.call(this.F,13,0);return-1};m.ij=function(a,b){return(a>>>0)+b<=this.Zb?this.Aa+a|0:this.tg()};
m.sl=function(a,b){return(a>>>0)+b>this.Zb?this.Aa+a|0:this.tg()};m.tg=function(){D.call(this.F,13,0);return-1};function ld(a,b,c,d,e){a.Z=b;a.Aa=d;a.Ta=e;a.Zb=(e>>>0)+1;a.wb=c;a.type=c&7936;a.ext=c>>16&192;a.Xb=(b&4?a.F.Bc.Aa:a.F.Dc)+(b&65528)|0;4>a.id&&id(a,!0)}function md(a,b,c){var d=a.F,e=d.na(b+2),f=d.na(b)|(e&255)<<16,d=d.na(b+4);a.Z=c;a.Aa=f;a.Ta=d;a.Zb=(d>>>0)+1;a.wb=e;a.type=e&7936;a.ext=0;a.Xb=b;4>a.id&&id(a,!0)}
function kd(a,b,c,d){var e=a.F;if(!d&&c===a.A.Z)return a.Z=c,a.Aa=a.A.Aa,a.Ta=a.A.Ta,a.Zb=(a.A.Ta>>>0)+1,a.wb=a.A.wb,a.type=a.A.type,a.ext=a.A.ext,a.Xb=a.A.Xb,a.A.Z=-1,id(a,!0,!0,!1),a.Aa;a.A.Z=-1;var f=e.na(b+0),g=e.na(b+4),h=g&7936,k=e.na(b+2)|(g&255)<<16,l=e.na(b+6),n=c&65528;if(80386<=e.ja){var r=f,k=k|(l&65280)<<16,f=f|(l&15)<<16;l&128&&(f=f<<12|4095)}switch(a.id){case 1:var q=a.C;a.ef=!1;if(q&&1==c&&a.B.length){var A=a.B[a.Zf-1];if(A&&!A())return-1}var F=c&3,w=(g&24576)>>13,A=-1,E,H;n||b>=e.Dc&&
function hd(a,b,c,d){this.F=a;this.ha=a.ha;this.id=b;this.jc=c||"";this.Z=0;this.Ta=65535;this.Zb=this.Ta+1;this.Lb=this.Gc=this.ext=this.wb=this.type=this.Aa=0;this.Xb=-1;this.ba=this.Oc=2;this.R=this.Ba=65535;this.X=this.th;this.ga=this.hj;this.qa=this.jj;this.A={Z:-1,Aa:0,Ta:0,wb:0,type:0,ext:0,Xb:-1};1==this.id&&(this.Zf=0,this.C=null,this.ef=!1,this.N=Array(32),this.B=[]);id(this,!0,d)}function jd(a,b){a.B.push(b);return[a.B.length,1]}m=hd.prototype;
m.th=function(a){this.Z=a&65535;return this.Aa=this.Z<<4};m.yg=function(a,b){var c,d,e=this.F;a&=65535;a&4?(c=e.Bc.Aa,d=c+e.Bc.Ta|0):(c=e.Ec,d=e.zd);if(c){c=c+(a&65528)|0;if(d-c|0)return e.A-=15,kd(this,c,a,b);6>this.id&&D.call(e,b&&3==this.id?10:13,a&65532)}return-1};m.Wm=function(a){var b=this.F;a=b.Mc+(a<<2);var c=b.na(a);b.ca&=-769;return this.load(b.na(a+2))+c|0};
m.Vm=function(a){var b=this.F;a<<=3;var c=b.Mc+a|0;if(7<=(b.Sd-c|0))return this.C=!0,a=kd(this,c,a),-1!==a&&(a+=this.Zf),a;D.call(b,13,a|2);return-1};m.hj=function(a){return this.Aa+a|0};m.jj=function(a){return this.Aa+a|0};m.gj=function(a,b){return(a>>>0)+b<=this.Zb?this.Aa+a|0:this.sg()};m.rl=function(a,b){return(a>>>0)+b>this.Zb?this.Aa+a|0:this.sg()};m.sg=function(){D.call(this.F,13,0);return-1};m.ij=function(a,b){return(a>>>0)+b<=this.Zb?this.Aa+a|0:this.tg()};
m.sl=function(a,b){return(a>>>0)+b>this.Zb?this.Aa+a|0:this.tg()};m.tg=function(){D.call(this.F,13,0);return-1};function ld(a,b,c,d,e){a.Z=b;a.Aa=d;a.Ta=e;a.Zb=(e>>>0)+1;a.wb=c;a.type=c&7936;a.ext=c>>16&192;a.Xb=(b&4?a.F.Bc.Aa:a.F.Ec)+(b&65528)|0;4>a.id&&id(a,!0)}function md(a,b,c){var d=a.F,e=d.na(b+2),f=d.na(b)|(e&255)<<16,d=d.na(b+4);a.Z=c;a.Aa=f;a.Ta=d;a.Zb=(d>>>0)+1;a.wb=e;a.type=e&7936;a.ext=0;a.Xb=b;4>a.id&&id(a,!0)}
function kd(a,b,c,d){var e=a.F;if(!d&&c===a.A.Z)return a.Z=c,a.Aa=a.A.Aa,a.Ta=a.A.Ta,a.Zb=(a.A.Ta>>>0)+1,a.wb=a.A.wb,a.type=a.A.type,a.ext=a.A.ext,a.Xb=a.A.Xb,a.A.Z=-1,id(a,!0,!0,!1),a.Aa;a.A.Z=-1;var f=e.na(b+0),g=e.na(b+4),h=g&7936,k=e.na(b+2)|(g&255)<<16,l=e.na(b+6),n=c&65528;if(80386<=e.ja){var r=f,k=k|(l&65280)<<16,f=f|(l&15)<<16;l&128&&(f=f<<12|4095)}switch(a.id){case 1:var q=a.C;a.ef=!1;if(q&&1==c&&a.B.length){var A=a.B[a.Zf-1];if(A&&!A())return-1}var F=c&3,w=(g&24576)>>13,A=-1,E,H;n||b>=e.Ec&&
b<e.zd&&(h=0);if(6144<=h)null!=d?A=0:!1!==q?(h&1024?w<=a.Lb&&(A=0):F<=a.Lb&&w==a.Lb&&(A=0),A||(c=c&-4|a.Lb&3)):F>=a.Lb&&(F>a.Lb&&(A=G(e),nd(e,G(e),!0),I(e,A),a.ef=!0),A=0);else{if(256==h||2304==h)return od(a,c,q)?a.Aa:-1;if(1024==h)A=2,H=0,F<a.Lb&&(F=a.Lb);else if(3072==h)A=4,H=0,F<a.Lb&&(F=a.Lb);else if(1536==h)A=2,H=148224;else if(3584==h)A=4,H=148224;else if(1792==h)A=2,H=147712;else if(3840==h)A=4,H=147712;else if(1280==h)return od(a,k&65535,q)?a.Aa:-1}0<A&&!(g&32768)&&(A=0);if(0<A&&(n=a.Lb,E=
b==e.Lc+c,F<=w&&(!E||0<=e.rb||n<=w))){b=k&65535;h&2048&&(f=r|l<<16);l=h=0;d=b&3;if(d<n){if(-1===a.yg(b,!0))return-1;l=e.Sa.Aa;e.Sa.type&2048?(c=(d<<3)+4,k=4):(c=(d<<2)+2,k=2);h=e.na(l+c+k);if(!h)return D.call(e,10,h),-1;if(-1===e.ta.yg(h,!0))return-1;l=2==k?e.na(l+c):e.oa(l+c)}c=e.ca;e.ca&=~H;c&131072&&pd(e,!0,!1);if(-1===a.yg(b,!1))return-1;vd(e,A);a.Zf=f;if(d<n){if(!0!==q)return-1;A=J(e);f=0;for(g&=31;g--;)a.N[f++]=wd(e,e.ta,A),A+=2;q=e.ta.Z;g=J(e);nd(e,h,!0);I(e,l);c&131072&&(vd(e,4),xd(e,e.Ob.Z,
b==e.Mc+c,F<=w&&(!E||0<=e.rb||n<=w))){b=k&65535;h&2048&&(f=r|l<<16);l=h=0;d=b&3;if(d<n){if(-1===a.yg(b,!0))return-1;l=e.Sa.Aa;e.Sa.type&2048?(c=(d<<3)+4,k=4):(c=(d<<2)+2,k=2);h=e.na(l+c+k);if(!h)return D.call(e,10,h),-1;if(-1===e.ta.yg(h,!0))return-1;l=2==k?e.na(l+c):e.oa(l+c)}c=e.ca;e.ca&=~H;c&131072&&pd(e,!0,!1);if(-1===a.yg(b,!1))return-1;vd(e,A);a.Zf=f;if(d<n){if(!0!==q)return-1;A=J(e);f=0;for(g&=31;g--;)a.N[f++]=wd(e,e.ta,A),A+=2;q=e.ta.Z;g=J(e);nd(e,h,!0);I(e,l);c&131072&&(vd(e,4),xd(e,e.Ob.Z,
4,2),e.Ob.load(0),xd(e,e.Nb.Z,4,2),e.Nb.load(0),xd(e,e.vb.Z,4,2),yd(e,0),xd(e,e.Xa.Z,4,2),zd(e,0));xd(e,q,e.ba,2);for(K(e,g);f;)K(e,a.N[--f]);a.ef=!0}return a.Aa}if(0!=A)return D.call(e,13,c&65532|(E?2:0)),-1;if(!(g&32768))return D.call(e,11,c&65532|(E?2:0)),-1;break;case 2:if(n){if(4096>h||2048==(h&2560))return D.call(e,13,c&65532),-1;if(!(g&32768))return D.call(e,11,c&65532),-1}break;case 3:if(!n||4096>h||512!=(h&2560))return D.call(e,13,c&65532),-1;if(!(g&32768))return D.call(e,12,c&65532),-1;
break;case 4:q=h&-513;if(!n||256!=q&&2304!=q)return D.call(e,13,c&65532),-1;2304==q&&(a.Yi=k+e.na(k+100+2)|0,a.ll=k+a.Ta|0);break;case 6:if(!(h&4096)&&768<h&&2304!=h&&2816!=h)return-1}d?(a.A.Z=c,a.A.Aa=k,a.A.Ta=f,a.A.wb=g,a.A.type=h,a.A.ext=l,a.A.Xb=b):(a.Z=c,a.Aa=k,a.Ta=f,a.Zb=(f>>>0)+1,a.wb=g,a.type=h,a.ext=l,a.Xb=b,id(a,!0,!0,!1));return k}
function od(a,b,c){var d=a.F,e=a.Lb,f=d.Sa.Z,g=d.Sa.Aa;if(!c){if(!(d.Sa.type&512))return D.call(d,13,b&65532),!1;d.jb(d.Sa.Xb+4,d.Sa.wb&=-513)}if(-1===d.Sa.load(b))return!1;var h=d.Sa.Aa;if(!1!==c){if(d.Sa.type&512)return D.call(d,13,b&65532),!1;d.jb(d.Sa.Xb+4,d.Sa.wb|=512)}d.Sa.type=d.Sa.type&-513|d.Sa.wb&512;256==d.Sa.type||768==d.Sa.type?(d.jb(g+14,M(d)),d.jb(g+16,Ad(d)),d.jb(g+18,d.G),d.jb(g+20,d.I),d.jb(g+22,d.M),d.jb(g+24,d.H),d.jb(g+26,J(d)),d.jb(g+28,d.P),d.jb(g+30,d.K),d.jb(g+32,d.J),d.jb(g+
34,d.Xa.Z),d.jb(g+36,d.wa.Z),d.jb(g+38,d.ta.Z),d.jb(g+40,d.vb.Z),d.Bc.load(d.na(h+42)),Bd(d,d.na(h+16)|(c?16384:0)),d.G=d.na(h+18),d.I=d.na(h+20),d.M=d.na(h+22),d.H=d.na(h+24),d.P=d.na(h+28),d.K=d.na(h+30),d.J=d.na(h+32),d.Xa.load(d.na(h+34)),d.vb.load(d.na(h+40)),Cd(d,d.na(h+14),d.na(h+36)),b=38,g=26,a.Lb<e&&(g=(a.Lb<<2)+2,b=g+2),nd(d,d.na(h+b),!0),I(d,d.na(h+g))):(d.nb(g+28,d.Od),d.nb(g+32,M(d)),d.nb(g+36,Ad(d)),d.nb(g+40,d.G),d.nb(g+44,d.I),d.nb(g+48,d.M),d.nb(g+52,d.H),d.nb(g+56,J(d)),d.nb(g+
60,d.P),d.nb(g+64,d.K),d.nb(g+68,d.J),d.nb(g+72,d.Xa.Z),d.nb(g+76,d.wa.Z),d.nb(g+80,d.ta.Z),d.nb(g+84,d.vb.Z),d.nb(g+88,d.Nb.Z),d.nb(g+92,d.Ob.Z),Dd.call(d,d.oa(h+28)),d.Bc.load(d.na(h+96)),Bd(d,d.oa(h+36)|(c?16384:0)),d.G=d.oa(h+40),d.I=d.oa(h+44),d.M=d.oa(h+48),d.H=d.oa(h+52),d.P=d.oa(h+60),d.K=d.oa(h+64),d.J=d.oa(h+68),d.Xa.load(d.na(h+72)),d.vb.load(d.na(h+84)),d.Nb.load(d.na(h+88)),d.Ob.load(d.na(h+92)),Cd(d,d.oa(h+32),d.na(h+76)),b=80,g=56,a.Lb<e&&(g=(a.Lb<<3)+4,b=g+4),nd(d,d.na(h+b),!0),I(d,
d.oa(h+g)));c&&d.jb(h+0,f);d.Za|=8;return!0}m.save=function(){return[this.Z,this.Aa,this.Ta,this.wb,this.id,this.jc,this.Lb,this.Fc,this.Xb,this.Nc,this.Ba,this.ba,this.R,this.type,this.Zb]};m.restore=function(a){"number"==typeof a?this.load(a):(this.Z=a[0],this.Aa=a[1],this.Ta=a[2],this.wb=a[3],this.id=a[4],this.jc=a[5],this.Lb=a[6],this.Fc=a[7],this.Xb=a[8],this.Nc=a[9]||2,this.Ba=a[10]||65535,this.ba=a[11]||2,this.R=a[12]||65535,this.type=a[13]||this.wb&7936,this.Zb=a[14]||(this.Ta>>>0)+1)};
function id(a,b,c,d){void 0===c&&(c=!!(a.F.Za&1));a.bd=!1;if(c)if(a.load=a.yg,a.Bj=a.Vm,a.mc=a.gj,a.nc=a.ij,void 0===d&&(d=!!(a.F.ca&131072)),d)a.load=a.X,a.mc=a.ga,a.nc=a.qa,a.Lb=a.Fc=3,a.ba=a.Nc=2,a.R=a.Ba=65535,a.Ta=65535,a.Zb=a.Ta+1,a.Nc=a.ba,a.Xb=-1,a.ef=!1;else{if(!(a.Z&-4))a.mc=a.sg,a.nc=a.tg;else if(a.type&4096){6144==(a.type&6656)&&(a.mc=a.sg);if(a.type&2048||!(a.type&512))a.nc=a.tg;1024==(a.type&3072)&&(a.mc==a.gj&&(a.mc=a.rl),a.nc==a.ij&&(a.nc=a.sl),a.bd=!0);b&&6>a.id&&a.Z&-4&&-1!==a.Xb&&
(c=a.Xb+5,d=a.F.Qa(c),d&1||a.F.qc(c,d|1))}b&&(a.Lb=a.Z&3,a.Fc=(a.wb&24576)>>13,80386>a.F.ja||!(a.ext&64)?(a.ba=2,a.R=65535):(a.ba=4,a.R=-1),a.Nc=a.ba,a.Ba=a.R)}else a.load=a.th,a.Bj=a.Wm,a.mc=a.hj,a.nc=a.jj,a.Lb=a.Fc=0,a.Xb=-1,a.ef=!1}
function Ed(a){this.ja=+a.model||8088;var b=a.stepping;this.Uc=this.ja+(b?ea(b,16):0);b=0;switch(this.ja){default:b=4772727;break;case 80286:b=6E6;break;case 80386:b=16E6}Qc.call(this,a,b);this.$f=61442;this.Oc=1792;this.Yf=28672;this.Cd=4;this.ra=255;this.B=80286<=this.ja?Bb:Ab;this.W=Fd;this.dg=Gd;this.jg=Hd;this.kg=Id;if(80186<=this.ja&&(this.W=Fd.slice(),this.dg=Gd.slice(),this.jg=Hd.slice(),this.ra=31,this.W[15]=Jd,this.W[96]=Kd,this.W[97]=Ld,this.W[98]=Md,this.W[99]=Jd,this.W[100]=Jd,this.W[101]=
Jd,this.W[102]=Jd,this.W[103]=Jd,this.W[104]=Nd,this.W[105]=Od,this.W[106]=Pd,this.W[107]=Qd,this.W[108]=Rd,this.W[109]=Sd,this.W[110]=Td,this.W[111]=Ud,this.W[192]=Vd,this.W[193]=Zd,this.W[200]=$d,this.W[201]=ae,this.W[241]=ge,this.dg[7]=he,this.jg[7]=he,80286<=this.ja)){this.$f=2;this.Oc|=28672;this.Cd=0;this.W[15]=ie;this.tc=je.slice();for(a=0;a<this.tc.length;a++)this.tc[a]||(this.tc[a]=ke);this.W[84]=le;this.W[99]=me;if(80386<=this.ja){var c;this.Yf=0;this.Oc|=196608;this.W[100]=ne;this.W[101]=
d.oa(h+g)));c&&d.jb(h+0,f);d.Za|=8;return!0}m.save=function(){return[this.Z,this.Aa,this.Ta,this.wb,this.id,this.jc,this.Lb,this.Gc,this.Xb,this.Oc,this.Ba,this.ba,this.R,this.type,this.Zb]};m.restore=function(a){"number"==typeof a?this.load(a):(this.Z=a[0],this.Aa=a[1],this.Ta=a[2],this.wb=a[3],this.id=a[4],this.jc=a[5],this.Lb=a[6],this.Gc=a[7],this.Xb=a[8],this.Oc=a[9]||2,this.Ba=a[10]||65535,this.ba=a[11]||2,this.R=a[12]||65535,this.type=a[13]||this.wb&7936,this.Zb=a[14]||(this.Ta>>>0)+1)};
function id(a,b,c,d){void 0===c&&(c=!!(a.F.Za&1));a.bd=!1;if(c)if(a.load=a.yg,a.Bj=a.Vm,a.mc=a.gj,a.nc=a.ij,void 0===d&&(d=!!(a.F.ca&131072)),d)a.load=a.X,a.mc=a.ga,a.nc=a.qa,a.Lb=a.Gc=3,a.ba=a.Oc=2,a.R=a.Ba=65535,a.Ta=65535,a.Zb=a.Ta+1,a.Oc=a.ba,a.Xb=-1,a.ef=!1;else{if(!(a.Z&-4))a.mc=a.sg,a.nc=a.tg;else if(a.type&4096){6144==(a.type&6656)&&(a.mc=a.sg);if(a.type&2048||!(a.type&512))a.nc=a.tg;1024==(a.type&3072)&&(a.mc==a.gj&&(a.mc=a.rl),a.nc==a.ij&&(a.nc=a.sl),a.bd=!0);b&&6>a.id&&a.Z&-4&&-1!==a.Xb&&
(c=a.Xb+5,d=a.F.Qa(c),d&1||a.F.qc(c,d|1))}b&&(a.Lb=a.Z&3,a.Gc=(a.wb&24576)>>13,80386>a.F.ja||!(a.ext&64)?(a.ba=2,a.R=65535):(a.ba=4,a.R=-1),a.Oc=a.ba,a.Ba=a.R)}else a.load=a.th,a.Bj=a.Wm,a.mc=a.hj,a.nc=a.jj,a.Lb=a.Gc=0,a.Xb=-1,a.ef=!1}
function Ed(a){this.ja=+a.model||8088;var b=a.stepping;this.Uc=this.ja+(b?ea(b,16):0);b=0;switch(this.ja){default:b=4772727;break;case 80286:b=6E6;break;case 80386:b=16E6}Qc.call(this,a,b);this.$f=61442;this.Cc=1792;this.Yf=28672;this.Cd=4;this.ra=255;this.B=80286<=this.ja?Bb:Ab;this.W=Fd;this.dg=Gd;this.jg=Hd;this.kg=Id;if(80186<=this.ja&&(this.W=Fd.slice(),this.dg=Gd.slice(),this.jg=Hd.slice(),this.ra=31,this.W[15]=Jd,this.W[96]=Kd,this.W[97]=Ld,this.W[98]=Md,this.W[99]=Jd,this.W[100]=Jd,this.W[101]=
Jd,this.W[102]=Jd,this.W[103]=Jd,this.W[104]=Nd,this.W[105]=Od,this.W[106]=Pd,this.W[107]=Qd,this.W[108]=Rd,this.W[109]=Sd,this.W[110]=Td,this.W[111]=Ud,this.W[192]=Vd,this.W[193]=Zd,this.W[200]=$d,this.W[201]=ae,this.W[241]=ge,this.dg[7]=he,this.jg[7]=he,80286<=this.ja)){this.$f=2;this.Cc|=28672;this.Cd=0;this.W[15]=ie;this.tc=je.slice();for(a=0;a<this.tc.length;a++)this.tc[a]||(this.tc[a]=ke);this.W[84]=le;this.W[99]=me;if(80386<=this.ja){var c;this.Yf=0;this.Cc|=196608;this.W[100]=ne;this.W[101]=
oe;this.W[102]=pe;this.W[103]=qe;for(c in N)this.tc[+c]=N[+c];80546<=this.Uc&&80562>=this.Uc&&(this.tc[166]=re,this.tc[167]=se)}}this.Hd=[];this.je=[];this.le=0;Uc(this);this.la.complete=this.la.mj=!1;this.Vg=0;this.kd=this.sa=[];this.La=this.Sb=this.Fa=this.Fd=this.hd=this.Gb=this.Db=0;te(this)}hb(Ed,Qc);function ue(a,b,c,d){Lc((d?a.kd:a.sa)[b>>>a.La],c);d&&$b(a)}
function ve(a){var b;if(a.sa===a.kd){a.sa=Array(a.Fd);a.ke=new C(null,0,0,5,null,a);Rb(a.ke,a.ha);for(b=0;b<a.Fd;b++)a.sa[b]=a.ke;a.jd=new C;a.cg=Array(512);a.me=0}else for(var c=0;c<a.Gd.length;c++){b=a.Gd[c];var d=a.sa[b];512>a.me&&(a.cg[a.me++]=d);a.sa[b]=a.ke}a.Gd=[]}function $b(a){a.Za&-2147483648&&ve(a)}
function Kc(a,b,c,d){var e=(b&-4194304)>>>20,f=a.kd[(a.Od+e&a.Gb)>>>a.La],g=f.Md(e);if(!(g&1))return d||we.call(a,b,!1,c),a.jd;if(!(g&4)&&3==a.pa)return d||we.call(a,b,!0,c),a.jd;var h=(b&4190208)>>>10,g=a.kd[((g&-4096)+h&a.Gb)>>>a.La],k=g.Md(h);if(!(k&1))return d||we.call(a,b,!1,c),a.jd;if(!(k&4)&&3==a.pa)return d||we.call(a,b,!0,c),a.jd;c=a.kd[((k&-4096)+(b&4095)&a.Gb)>>>a.La];if(d)return c;d=b>>>a.La;k=a.sa[d];b=b&-4096;var l;0<a.me?(l=a.cg[--a.me],l.ph(b)):l=new C(b,0,0,6);b=l;b.Bd=c;b.yb=f;b.A=
e>>2;b.zb=g;b.B=h>>2;zb&&gc&&c.da&&!c.controller&&!c.Ve&&!c.We?(b.Ya=c.Ya,b.de=c.de,b.da=c.da,dc(b,Pc)):(b.ga=c?Dc(32):0,b.V=c?Dc(96):0,dc(b,Nc));Rb(b,a.ha,k);a.sa[d]=b;a.Gd.push(d);return b}function xe(a){a.sa!==a.kd&&(a.sa=a.kd,a.ke=null,a.Gd=null,a.jd=null)}m=Ed.prototype;m.reset=function(){this.la.Ib&&this.Wb();te(this);Uc(this);this.la.error=!1};
function ye(a,b){var c;switch(b){case 0:c=a.G;break;case 1:c=a.I;break;case 2:c=a.M;break;case 3:c=a.H;break;case 4:c=J(a);break;case 5:c=a.P;break;case 6:c=a.K;break;case 7:c=a.J}return c}function ze(a,b,c){switch(b){case 0:a.G=c;break;case 1:a.I=c;break;case 2:a.M=c;break;case 3:a.H=c;break;case 4:I(a,c);break;case 5:a.P=c;break;case 6:a.K=c;break;case 7:a.J=c}}
function te(a){a.G=0;a.H=0;a.I=0;a.M=0;a.gb=0;a.P=0;a.K=0;a.J=0;a.cb=!1;a.ia=a.va=0;a.aa=0;a.lg=0;a.L=0;a.Za=65520;a.Lc=0;a.Sd=1023;a.ca=a.Pa=0;a.Wc=a.sd=a.Vc=a.Xc=0;a.rb=-1;a.kc=a.sb=-1;a.qe=a.U=-1;a.wa=new hd(a,1,"CS");a.vb=new hd(a,2,"DS");a.Xa=new hd(a,2,"ES");a.ta=new hd(a,3,"SS");I(a,0);nd(a,0);if(80386<=a.ja){switch(a.Uc){case 80562:case 80563:a.M=771;break;case 80578:a.M=772;break;case 80594:a.M=773;break;case 80595:case 80596:a.M=776}a.Za=16;a.si=0;a.se=0;a.Od=0;a.Ja=[0,0,0,0,null,null,0,
0];a.Ce=[null,null,null,null,null,null,0,0];a.Nb=new hd(a,2,"FS");a.Ob=new hd(a,2,"GS");xe(a)}a.rf=new hd(a,0,"NULL");a.ka=a.vb;a.Ka=a.ta;a.S=a.Ia=0;a.D=a.C=-1;a.$b=a.rf;a.ua=0;if(80286>a.ja)Cd(a,0,65535);else{a.Dc=0;a.zd=65535;a.Bc=new hd(a,5,"LDT",!0);a.Sa=new hd(a,4,"TSS",!0);a.Da=new hd(a,6,"VER",!0);Cd(a,65520,61440);var b,c=M(a);b=a.wa;var d=-65536;80386>b.F.ja&&(d&=16777215);b=b.Aa=d;a.Ha=b+c|0;a.jf=(b>>>0)+(a.wa.Ta>>>0)+1}Bd(a,0);pd(a)}
function Ae(a){2==a.Nc?(a.bc=a.na,a.Oa=Be,a.$a=Ce,a.Jb=De,2==a.ba?(a.V=Ee,a.ea=Fe,a.ya=Ge):(a.V=He,a.ea=Ie,a.ya=Le)):(a.bc=a.oa,a.Oa=Me,a.$a=Ne,a.Jb=Oe,2==a.ba?(a.V=Pe,a.ea=Qe,a.ya=Re):(a.V=Se,a.ea=Te,a.ya=df))}function vd(a,b){a.ba!=b&&(a.Ia|=1024,a.ba=b,a.R=2==b?65535:-1,ef(a))}function ef(a){2==a.ba?(a.Ga=32768,a.tb=a.na,a.rc=a.jb,2==a.Nc?(a.V=Ee,a.ea=Fe,a.ya=Ge):(a.V=Pe,a.ea=Qe,a.ya=Re)):(a.Ga=-2147483648,a.tb=a.oa,a.rc=a.nb,2==a.Nc?(a.V=He,a.ea=Ie,a.ya=Le):(a.V=Se,a.ea=Te,a.ya=df))}
function ff(a){a.Nc=a.wa.Nc;a.Ba=a.wa.Ba;Ae(a);a.ba=a.wa.ba;a.R=a.wa.R;ef(a);a.Ia&=-3073}m.uj=function(){var a=this.G+this.H+this.I+this.M+J(this)+this.P+this.K+this.J|0;return a=a+M(this)+this.wa.Z+this.vb.Z+this.ta.Z+this.Xa.Z+Ad(this)|0};function gf(a,b,c){void 0===a.Hd[b]&&(a.Hd[b]=[]);a.Hd[b].push(c)}function hf(a,b,c){void 0!==c&&(null==a.je[b]&&a.le++,a.je[b]=c)}function jf(a,b){var c=a.je[b];null!=c&&(c(--a.le),delete a.je[b])}
function te(a){a.G=0;a.H=0;a.I=0;a.M=0;a.gb=0;a.P=0;a.K=0;a.J=0;a.cb=!1;a.ia=a.va=0;a.aa=0;a.lg=0;a.L=0;a.Za=65520;a.Mc=0;a.Sd=1023;a.ca=a.Pa=0;a.Wc=a.sd=a.Vc=a.Xc=0;a.rb=-1;a.kc=a.sb=-1;a.qe=a.U=-1;a.wa=new hd(a,1,"CS");a.vb=new hd(a,2,"DS");a.Xa=new hd(a,2,"ES");a.ta=new hd(a,3,"SS");I(a,0);nd(a,0);if(80386<=a.ja){switch(a.Uc){case 80562:case 80563:a.M=771;break;case 80578:a.M=772;break;case 80594:a.M=773;break;case 80595:case 80596:a.M=776}a.Za=16;a.si=0;a.se=0;a.Od=0;a.Ja=[0,0,0,0,null,null,0,
0];a.Ce=[null,null,null,null,null,null,0,0];a.Nb=new hd(a,2,"FS");a.Ob=new hd(a,2,"GS");xe(a)}a.rf=new hd(a,0,"NULL");a.ka=a.vb;a.Ka=a.ta;a.S=a.Ia=0;a.D=a.C=-1;a.$b=a.rf;a.ua=0;if(80286>a.ja)Cd(a,0,65535);else{a.Ec=0;a.zd=65535;a.Bc=new hd(a,5,"LDT",!0);a.Sa=new hd(a,4,"TSS",!0);a.Da=new hd(a,6,"VER",!0);Cd(a,65520,61440);var b,c=M(a);b=a.wa;var d=-65536;80386>b.F.ja&&(d&=16777215);b=b.Aa=d;a.Ha=b+c|0;a.jf=(b>>>0)+(a.wa.Ta>>>0)+1}Bd(a,0);pd(a)}
function Ae(a){2==a.Oc?(a.bc=a.na,a.Oa=Be,a.$a=Ce,a.Jb=De,2==a.ba?(a.V=Ee,a.ea=Fe,a.ya=Ge):(a.V=He,a.ea=Ie,a.ya=Le)):(a.bc=a.oa,a.Oa=Me,a.$a=Ne,a.Jb=Oe,2==a.ba?(a.V=Pe,a.ea=Qe,a.ya=Re):(a.V=Se,a.ea=Te,a.ya=df))}function vd(a,b){a.ba!=b&&(a.Ia|=1024,a.ba=b,a.R=2==b?65535:-1,ef(a))}function ef(a){2==a.ba?(a.Ga=32768,a.tb=a.na,a.rc=a.jb,2==a.Oc?(a.V=Ee,a.ea=Fe,a.ya=Ge):(a.V=Pe,a.ea=Qe,a.ya=Re)):(a.Ga=-2147483648,a.tb=a.oa,a.rc=a.nb,2==a.Oc?(a.V=He,a.ea=Ie,a.ya=Le):(a.V=Se,a.ea=Te,a.ya=df))}
function ff(a){a.Oc=a.wa.Oc;a.Ba=a.wa.Ba;Ae(a);a.ba=a.wa.ba;a.R=a.wa.R;ef(a);a.Ia&=-3073}m.uj=function(){var a=this.G+this.H+this.I+this.M+J(this)+this.P+this.K+this.J|0;return a=a+M(this)+this.wa.Z+this.vb.Z+this.ta.Z+this.Xa.Z+Ad(this)|0};function gf(a,b,c){void 0===a.Hd[b]&&(a.Hd[b]=[]);a.Hd[b].push(c)}function hf(a,b,c){void 0!==c&&(null==a.je[b]&&a.le++,a.je[b]=c)}function jf(a,b){var c=a.je[b];null!=c&&(c(--a.le),delete a.je[b])}
function kf(a,b){for(var c=a.Ja[7],d=c>>16,e=0;4>e;e++){if(c&3){var f=!!(d&1),g=a.Ja[e],g=g&~(d>>2&3);b?a.sa[g>>>a.La].Rd(g&a.Fa,f,a):Lc(a.sa[g>>>a.La],f)}c>>=2;d>>=4}}function Ic(a,b,c,d){if(!(a.S&8192)&&a.Ja[7]&255){c--;var e=a.Ja[7],f=e>>16;d=d?1:0==d?3:0;for(var g=0;4>g;g++){if(e&3&&(f&3)==d){var h=f>>2;if(b+c>=a.Ja[g]&&b<=a.Ja[g]+h){a.Ja[6]|=1<<g;a.ua|=2;break}}e>>=2;f>>=4}}}
function pd(a,b,c){void 0===b&&(b=!!(a.Za&1));void 0===c&&(c=!!(a.ca&131072));a.kg=b&&!c?lf:Id;id(a.wa,!1,b,c);id(a.vb,!1,b,c);id(a.ta,!1,b,c);id(a.Xa,!1,b,c);80386<=a.ja&&(id(a.Nb,!1,b,c),id(a.Ob,!1,b,c));ff(a)}
m.save=function(){var a=new mf(this);O(a,0,[this.G,this.H,this.I,this.M,J(this),this.P,this.K,this.J]);var b=M(this),c=this.wa.save(),d=this.vb.save(),e=this.ta.save(),f=this.Xa.save(),g;null!=this.Dc?(g=[this.Za,this.Dc,this.zd,this.Lc,this.Sd,this.Bc.save(),this.Sa.save(),this.Pa],80386<=this.ja&&(g.push(this.si),g.push(this.se),g.push(this.Od),g.push(this.Ja),g.push(this.Ce))):g=null;b=[b,c,d,e,f,g,Ad(this)];80386<=this.ja&&(b.push(this.Nb.save()),b.push(this.Ob.save()));O(a,1,b);O(a,2,[this.ka.jc,
m.save=function(){var a=new mf(this);O(a,0,[this.G,this.H,this.I,this.M,J(this),this.P,this.K,this.J]);var b=M(this),c=this.wa.save(),d=this.vb.save(),e=this.ta.save(),f=this.Xa.save(),g;null!=this.Ec?(g=[this.Za,this.Ec,this.zd,this.Mc,this.Sd,this.Bc.save(),this.Sa.save(),this.Pa],80386<=this.ja&&(g.push(this.si),g.push(this.se),g.push(this.Od),g.push(this.Ja),g.push(this.Ce))):g=null;b=[b,c,d,e,f,g,Ad(this)];80386<=this.ja&&(b.push(this.Nb.save()),b.push(this.Ob.save()));O(a,1,b);O(a,2,[this.ka.jc,
this.Ka.jc,this.S,this.Ia,this.ua,this.D,this.C]);O(a,3,[0,this.uc,this.Y.Wd]);b=this.ga;c=!!(this.Za&-2147483648);d=0;e=[];(f=!b.X&&b.Cg==b.Gb)||Wb(b,!0);for(g=0;g<b.U;g++){var h=b.sa[g];if(c&&h.type!=fc||h.Wa||h.sj){e[d++]=g;var k=d++;a:if(h=h.save()){for(var l=0,n=0,r=[];l<h.length;){for(var q=h[l],A=l+1;A<h.length&&h[A]===q;)A++;r[n++]=A-l;r[n++]=q;l=A}if(r.length<h.length){h=r;break a}}e[k]=h}}f||Wb(b,!1);e[d]=f;O(a,4,e);return a.data()};
m.restore=function(a){var b=a[0];this.G=b[0];this.H=b[1];this.I=b[2];this.M=b[3];var c=b[4];this.P=b[5];this.K=b[6];this.J=b[7];b=a[1];this.wa.restore(b[1]);this.vb.restore(b[2]);this.ta.restore(b[3]);this.Xa.restore(b[4]);var d=b[5];d&&d.length&&(this.Za=d[0],this.Dc=d[1],this.zd=d[2],this.Lc=d[3],this.Sd=d[4],this.Bc.restore(d[5]),this.Sa.restore(d[6]),this.Pa=d[7],80386<=this.ja&&(this.si=d[8],this.se=d[9],this.Od=d[10],this.Ja=d[11],this.Ce=d[12]),pd(this));Bd(this,b[6]);var d=!1,e;a:{e=this.ga;
m.restore=function(a){var b=a[0];this.G=b[0];this.H=b[1];this.I=b[2];this.M=b[3];var c=b[4];this.P=b[5];this.K=b[6];this.J=b[7];b=a[1];this.wa.restore(b[1]);this.vb.restore(b[2]);this.ta.restore(b[3]);this.Xa.restore(b[4]);var d=b[5];d&&d.length&&(this.Za=d[0],this.Ec=d[1],this.zd=d[2],this.Mc=d[3],this.Sd=d[4],this.Bc.restore(d[5]),this.Sa.restore(d[6]),this.Pa=d[7],80386<=this.ja&&(this.si=d[8],this.se=d[9],this.Od=d[10],this.Ja=d[11],this.Ce=d[12]),pd(this));Bd(this,b[6]);var d=!1,e;a:{e=this.ga;
var f=a[4],g;for(g=0;g<f.length-1;g+=2){var h=f[g],k=f[g+1];if(k&&k.length<e.fa){for(var l=0,n=Array(e.fa),r=0;r<k.length-1;)for(var q=k[r++],A=k[r++];q--;)n[l++]=A;k=n}l=e.sa[h];if(!l||!l.restore(k)){x("Unable to restore memory block "+h);e=!1;break a}}void 0!==f[g]&&Wb(e,f[g]);e=!0}e&&(Cd(this,b[0],this.wa.Z),I(this,c),nd(this,this.ta.Z),80386<=this.ja&&(this.Nb.restore(b[7]),this.Ob.restore(b[8])),d=!0);b=a[2];this.ka=null!=b[0]&&nf(this,b[0])||this.vb;this.Ka=null!=b[1]&&nf(this,b[1])||this.ta;
this.S=b[2];this.Ia=b[3];this.ua=b[4];this.D=b[5];this.C=b[6];b=a[3];this.uc=b[1];ad(this,b[2]);return d};function nf(a,b){switch(b){case "CS":return a.wa;case "DS":return a.vb;case "SS":return a.ta;case "ES":return a.Xa;case "NULL":return a.rf;default:return[0,b,0,0,""]}}function of(a,b){null!=Cd(a,M(a),b)&&(a.S|=a.Cd)}function yd(a,b){-1!==a.vb.load(b)&&(a.S|=a.Cd)}
function nd(a,b,c){var d=J(a);-1!==a.ta.load(b)&&(I(a,d),a.ta.bd?(a.Rg=a.ta.Aa+a.ta.Ba|0,a.qd=a.ta.Aa+a.ta.Ta|0):(a.Rg=a.ta.Aa+a.ta.Ta|0,a.qd=a.ta.Aa),c||(a.S|=4))}function zd(a,b){-1!==a.Xa.load(b)&&(a.S|=a.Cd)}function M(a){return a.Ha-a.wa.Aa|0}function Q(a,b){a.Ha=a.wa.Aa+(b&a.R)|0}function pf(a,b){a.Ha=b;a.jf=(a.wa.Aa>>>0)+(a.wa.Ta>>>0)+1;a.pa=a.wa.Lb;ff(a)}function Cd(a,b,c,d){var e=a.wa;e.Zf=b;e.C=d;b=e.load(c);return-1!==b?(pf(a,b+(a.wa.Zf&a.wa.R)),a.wa.ef):null}
@ -121,14 +121,14 @@ function qf(a,b){var c=(a.Ha>>>0)+b;c>a.jf&&(8088>=a.ja||a.wa.Ta==a.wa.Ba?c=a.wa
function zf(a,b,c,d,e){a.resultType=c|26;a.Xc=b;d?Af(a):Bf(a);e?Cf(a):Df(a);return b}function Ef(a,b,c,d){c&d?Af(a):Bf(a);(b^c)&d?Cf(a):Df(a)}function Ff(a){return tf(a)?1:0}function tf(a){a.resultType&1&&(a.ca&=-2,(a.Wc^(a.Wc^a.sd)&(a.sd^a.Vc))&a.resultType&-2147450752&&(a.ca|=1),a.resultType&=-2);return a.ca&1}function uf(a){a.resultType&2&&(a.ca&=-5,38505>>((a.Xc^a.Xc>>4)&15)&1&&(a.ca|=4),a.resultType&=-3);return a.ca&4}
function vf(a){a.resultType&4&&(a.ca&=-17,(a.Vc^a.Wc^a.sd)&16&&(a.ca|=16),a.resultType&=-5);return a.ca&16}function wf(a){a.resultType&8&&(a.ca&=-65,a.Xc&((a.resultType&-2147450752)-1|a.resultType&-2147450752)||(a.ca|=64),a.resultType&=-9);return a.ca&64}function xf(a){a.resultType&16&&(a.ca&=-129,a.Xc&a.resultType&-2147450752&&(a.ca|=128),a.resultType&=-17);return a.ca&128}
function yf(a){a.resultType&32&&(a.ca&=-2049,(a.Wc^a.Vc)&(a.sd^a.Vc)&a.resultType&-2147450752&&(a.ca|=2048),a.resultType&=-33);return a.ca&2048}function Bf(a){a.resultType&=-2;a.ca&=-2}function Gf(a){a.resultType&=-5;a.ca&=-17}function Hf(a){a.resultType&=-9;a.ca&=-65}function Df(a){a.resultType&=-33;a.ca&=-2049}function Af(a){a.resultType&=-2;a.ca|=1}function If(a){a.resultType&=-5;a.ca|=16}function Jf(a){a.resultType&=-9;a.ca|=64}function Cf(a){a.resultType&=-33;a.ca|=2048}
function Ad(a){return a.ca&-2262|tf(a)|uf(a)|vf(a)|wf(a)|xf(a)|yf(a)}function Kf(a,b){b=b|a.Za&1|65520;a.Za=a.Za&-65536|b&65535;a.Za&1&&pd(a,!0)}function Bd(a,b,c){a.Za&1||(b&=~a.Yf);void 0===c&&(c=a.pa);c?b=b&-12289|a.ca&12288:a.Pa=(b&12288)>>12;c>a.Pa&&(b=b&-513|a.ca&512);a.resultType=128;a.ca=a.ca&~(a.Oc|2261)|b&(a.Oc|2261)|a.$f;a.ca&256&&(a.ua|=2,a.S|=4)}
function Ad(a){return a.ca&-2262|tf(a)|uf(a)|vf(a)|wf(a)|xf(a)|yf(a)}function Kf(a,b){b=b|a.Za&1|65520;a.Za=a.Za&-65536|b&65535;a.Za&1&&pd(a,!0)}function Bd(a,b,c){a.Za&1||(b&=~a.Yf);void 0===c&&(c=a.pa);c?b=b&-12289|a.ca&12288:a.Pa=(b&12288)>>12;c>a.Pa&&(b=b&-513|a.ca&512);a.resultType=128;a.ca=a.ca&~(a.Cc|2261)|b&(a.Cc|2261)|a.$f;a.ca&256&&(a.ua|=2,a.S|=4)}
function Lf(a,b,c,d){var e=0;if(a.Za&1&&(a.pa>a.Pa||a.ca&131072)&&a.Sa.Yi)for(var f=a.Sa.Yi+(b>>>3),e=(1<<c)-1<<(b&7);e&&f<=a.Sa.ll&&!(a.Qa(f)&e);)e>>>=8,f++;return e?(B(a,256)&&z(a,"checkIOPM("+v(b)+","+c+","+(d?"input":"output")+"): trapped",!0,!0),D.call(a,13,0),!1):!0}
m.Pb=function(a,b,c){var d=!1;switch(b){case "EAX":case "EBX":case "ECX":case "EDX":case "ESP":case "EBP":case "ESI":case "EDI":case "EIP":case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "IP":case "PC":case "CS":case "DS":case "SS":case "ES":case "FS":case "GS":case "CR0":case "CR2":case "CR3":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "V":this.qa[b]=c;this.Vg++;d=!0;break;default:d=this.parent.Pb.call(this,a,b,c)}return d};
function Mf(a,b,c,d){var e=(d?a.kd:a.sa)[(b&a.Db)>>>a.La];e&&5==e.type&&(e=Kc(a,b,!1,!0));if(e){var f=b&a.Fa;if(!c||1==c)return e.re(f,b);if(2==c)return f<a.Fa?e.eg(f,b):e.re(f,b)|Mf(a,b+1,1,d)<<8;if(4==c)return f<a.Fa-2?e.ri(f,b):f==a.Fa-1?e.eg(f,b)|Mf(a,b+2,2,d)<<16:e.re(f,b)|Mf(a,b+1,1,d)<<8|Mf(a,b+2,1,d)<<16|Mf(a,b+3,1,d)<<24}return null}m.Qa=function(a){return this.sa[(a&this.Db)>>>this.La].pc(a&this.Fa,a)};
m.na=function(a){var b=a&this.Fa,c=(a&this.Db)>>>this.La;this.A-=this.B.Jg;if(b<this.Fa)return this.sa[c].sf(b,a);b=this.sa[c].pc(b,a);this.S&4096||(b|=this.sa[c+1&this.hd].pc(0,a+1)<<8);return b};m.oa=function(a){var b=a&this.Fa,c=(a&this.Db)>>>this.La;if(b<this.Fa-2)return this.sa[c].Md(b,a);for(var d=0,e=4,f=0,g=4-(b&3);e--;){d|=this.sa[c].pc(b++,a++)<<f;if(this.S&4096)break;--g||(c=c+1&this.hd,b=0);f+=8}return d};m.qc=function(a,b){this.sa[(a&this.Db)>>>this.La].sc(a&this.Fa,b&255,a)};
m.jb=function(a,b){var c=a&this.Fa,d=(a&this.Db)>>>this.La;this.A-=this.B.Jg;c<this.Fa?this.sa[d].zf(c,b&65535,a):(this.sa[d++].sc(c,b&255,a),this.S&4096||this.sa[d&this.hd].sc(0,b>>8&255,a+1))};m.nb=function(a,b){var c=a&this.Fa,d=(a&this.Db)>>>this.La;this.A-=this.B.Jg;if(c<this.Fa-2)this.sa[d].yf(c,b,a);else for(var e=4,f=4-(c&3);e--;){this.sa[d].sc(c++,b&255,a++);if(this.S&4096)break;--f||(d=d+1&this.hd,c=0);b>>>=8}};
function Nf(a,b,c){a.$b=b;a.Ca=c&a.Ba;a.D=b.mc(a.Ca,1);return a.S&1?0:a.Qa(a.D)}function R(a,b){return Nf(a,a.ka,b)}function Of(a,b){return Nf(a,a.Ka,b)}function Pf(a,b,c){a.$b=b;a.Ca=c&a.Ba;a.D=b.mc(a.Ca,a.ba);return a.S&1?0:a.tb(a.D)}function S(a,b){a.$b=a.ka;a.Ca=b&a.Ba;a.D=a.$b.mc(a.Ca,2);return a.S&1?0:a.na(a.D)}function Qf(a,b){a.$b=a.Ka;a.Ca=b&a.Ba;a.D=a.$b.mc(a.Ca,2);return a.S&1?0:a.na(a.D)}function T(a,b){a.$b=a.ka;a.Ca=b&a.Ba;a.D=a.$b.mc(a.Ca,4);return a.S&1?0:a.oa(a.D)}
function Rf(a,b){a.$b=a.Ka;a.Ca=b&a.Ba;a.D=a.$b.mc(a.Ca,4);return a.S&1?0:a.oa(a.D)}function Sf(a,b){a.S&2||a.qc(a.$b.nc(a.Ca,1),b)}function Tf(a,b){a.S&2||a.jb(a.$b.nc(a.Ca,2),b)}function Uf(a,b){a.S&2||a.nb(a.$b.nc(a.Ca,4),b)}function wd(a,b,c){return a.tb(b.mc(c,a.ba))}m.xa=function(){var a=qf(this,1),b=this.Qa(this.Ha);this.Ha=a;return b};function Vf(a){var b=qf(a,2),c=a.na(a.Ha);a.Ha=b;return c}function U(a){var b=qf(a,a.Nc),c=a.bc(a.Ha);a.Ha=b;return c}
function Rf(a,b){a.$b=a.Ka;a.Ca=b&a.Ba;a.D=a.$b.mc(a.Ca,4);return a.S&1?0:a.oa(a.D)}function Sf(a,b){a.S&2||a.qc(a.$b.nc(a.Ca,1),b)}function Tf(a,b){a.S&2||a.jb(a.$b.nc(a.Ca,2),b)}function Uf(a,b){a.S&2||a.nb(a.$b.nc(a.Ca,4),b)}function wd(a,b,c){return a.tb(b.mc(c,a.ba))}m.xa=function(){var a=qf(this,1),b=this.Qa(this.Ha);this.Ha=a;return b};function Vf(a){var b=qf(a,2),c=a.na(a.Ha);a.Ha=b;return c}function U(a){var b=qf(a,a.Oc),c=a.bc(a.Ha);a.Ha=b;return c}
m.Ma=function(){var a=qf(this,this.ba),b=this.tb(this.Ha);this.Ha=a;return b};m.T=function(){var a=qf(this,1),b=this.Qa(this.Ha)<<24>>24;this.Ha=a;return b};function G(a){var b=a.tb(a.fa);a.fa=a.fa+a.ba|0;var c=a.Rg-a.fa|0;0>c&&0<=(a.Rg^a.fa)&&(8088>=a.ja||!a.ta.bd&&a.ta.Ta==a.ta.Ba||a.ta.bd&&!a.ta.Ta?I(a,a.fa-a.ta.Aa&a.ta.Ba):-1>c&&D.call(a,12,0));return b}
function xd(a,b,c,d){c=a.fa-c|0;0>(c-a.qd|0)&&0<=(a.qd^c)&&(8088>=a.ja||!a.ta.bd&&a.ta.Ta==a.ta.Ba||a.ta.bd&&!a.ta.Ta?(I(a,c-a.ta.Aa&a.ta.Ba),c=a.fa):D.call(a,12,0));switch(d){case 1:a.qc(c,b);break;case 2:a.jb(c,b);break;case 4:a.nb(c,b)}a.fa=c}function K(a,b){var c=a.fa-a.ba|0;0>(c-a.qd|0)&&0<=(a.qd^c)&&(8088>=a.ja||!a.ta.bd&&a.ta.Ta==a.ta.Ba||a.ta.bd&&!a.ta.Ta?(I(a,c-a.ta.Aa&a.ta.Ba),c=a.fa):D.call(a,12,0));a.rc(c,b);a.fa=c}
function Wf(a,b,c){var d=4;1==b.length&&(d=1,c=c?1:0);if(80386>a.ja)2<b.length&&(b=b.substr(1,2));else if("PS"==b||2<b.length)d=8;a.qa[b]&&(void 0===c&&(yb(a,"Value for "+b+" is invalid"),a.Wb()),d=!a.la.Ib||a.la.nj?t(c,d):"--------".substr(0,d),a.qa[b].textContent!=d&&(a.qa[b].textContent=d))}
@ -138,7 +138,7 @@ m.wf=function(a){this.la.complete=!0;var b=this.la.mj=this.ha&&Xf(this.ha),c=a?t
Zf.call(this,f);d=!0;break a}}break;case 1:if(this.ua&2){this.ua&=-3;80386<=this.ja&&(this.Ja[6]|=16384);Zf.call(this,1);d=!0;break a}}d=1-d}d=!1}if(d&&!a){this.O("interrupt dispatched");this.S=0;break}if(this.ua&4){this.S=this.A=0;break}}if(b){if($f(this.ha,this.Ha,c)){this.Wb();break}c=1}this.S=0;this.W[this.xa()].call(this)}while(0<this.A);return this.la.complete?this.fb-this.A:void 0===this.la.complete?0:-1};
Ua(function(){for(var a=rb(document,"pcx86","cpu"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new Ed(d);qb(d,c)}});
function ag(a){Za.call(this,"FPU",a,ag);this.ja=a.model||8087;(a=a.stepping)&&ea(a,16);this.X=new Float64Array(8);this.aa=new Int32Array(this.X.buffer);this.pa=new Float32Array(1);this.ua=new Int32Array(this.pa.buffer);this.W=new Float64Array(1);this.L=new Int32Array(this.W.buffer);this.ga=Array(3);this.ea=this.fa=-1;this.V=this.U=this.ia=this.A=0;this.ka=new Float64Array(1);this.ra=new Int32Array(this.ka.buffer);this.ra[0]=0;this.ra[1]=268402688;bg(this)}hb(ag);m=ag.prototype;
m.Hc=function(a,b,c){this.F=c;this.N=Jb(a,"ChipSet");wb(this)};m.gc=function(a,b){if(!b)if(!a||!this.restore)bg(this);else if(!this.restore(a))return!1;return!0};m.fc=function(a){return a?this.save():!0};m.save=function(){var a=new mf(this),b=[],c=0;b[c++]=this.ic;b[c++]=cg(this);b[c++]=dg(this);for(var d=0;d<this.X.length;d++)b[c++]=this.X[d];O(a,0,b);return a.data()};
m.Ic=function(a,b,c){this.F=c;this.N=Jb(a,"ChipSet");wb(this)};m.gc=function(a,b){if(!b)if(!a||!this.restore)bg(this);else if(!this.restore(a))return!1;return!0};m.fc=function(a){return a?this.save():!0};m.save=function(){var a=new mf(this),b=[],c=0;b[c++]=this.ic;b[c++]=cg(this);b[c++]=dg(this);for(var d=0;d<this.X.length;d++)b[c++]=this.X[d];O(a,0,b);return a.data()};
m.restore=function(a){a=a[0];var b=0;this.ic=a[b++]&-57409;var c=a[b++];this.ma=c&-14337;this.B=(c&14336)>>11;eg(this);fg(this,a[b++]);for(c=0;c<this.X.length;c++)this.X[c]=a[b++];return!0};function bg(a){a.C=0;a.ic=959;a.ma=0;a.B=0;a.N&&(a=a.N,a.ja>=gg&&hg(a,13))}function eg(a){a.ma&=-129;a.ma&~a.ic&63&&(a.ma|=128);if(a.ma&128&&!(a.ic&128))return a=a.N,a.ja>=gg?ig(a,13):a.ya&0||Zf.call(a.F,2),!0;a=a.N;a.ja>=gg&&hg(a,13);return!1}function jg(a,b){80387<=a.ja||(b&=-65);a.ma|=b;return eg(a)}
function cg(a){return a.ma|a.B<<11}function kg(a,b){return isFinite(b)?!0:!jg(a,Infinity===b?8:16)}function lg(a,b,c){var d=null;null!=b&&null!=c&&(d=b+c,kg(a,d)||(d=null));return d}function mg(a,b,c){var d=null;null!=b&&null!=c&&(d=b-c,kg(a,d)||(d=null));return d}function ng(a,b,c){var d=null;null!=b&&null!=c&&(d=b*c,kg(a,d)||(d=null));return d}function og(a,b,c){var d=null;null==b||null==c||!c&&jg(a,2)||(d=b/c,kg(a,d)||(d=null));return d}
function pg(a,b,c){if(null!=b&&null!=c){var d=0;isNaN(b)||isNaN(c)?d=17664:(b-=c,0>b?d=256:0===b&&(d=16384));a.ma=a.ma&-18177|d;return!0}return!1}function Cg(a,b,c){if(null==b)return null;var d=a.ic&3072;0==d?(d=Math.round(b),.5===d-b&&d%2&&d--):d=1024==d||3072==d&&0<b?Math.floor(b):Math.ceil(b);if(c){if(d>=c){if(jg(a,1))return null;d=-c}else if(d<-c){if(jg(a,1))return null;d=-c}a.L[0]=d|0;2147483648<c&&(a.L[1]=d/4294967296|0,!a.L[1]&&0>d&&(a.L[1]=-1))}return d}
@ -163,9 +163,9 @@ Lg(this),V(this,0)))},48:function(){X(this,this.A,lg(this,V(this,this.A),V(this,
this.Wk()},3:function(){Fg(this)&&(this.Wk(),Rg(this))},4:jh,6:kh,7:ph,48:fh,49:sh,50:function(){X(this,this.A,V(this,0))},51:mh},222:{0:function(){X(this,0,lg(this,V(this,0),Ig(this)))},1:function(){X(this,0,ng(this,V(this,0),Ig(this)))},2:function(){pg(this,V(this,0),Ig(this))},3:function(){pg(this,V(this,0),Ig(this))&&Rg(this)},4:function(){X(this,0,mg(this,V(this,0),Ig(this)))},5:function(){X(this,0,mg(this,Ig(this),V(this,0)))},6:function(){X(this,0,og(this,V(this,0),Ig(this)))},7:function(){X(this,
0,og(this,Ig(this),V(this,0)))},48:function(){X(this,this.A,lg(this,V(this,this.A),V(this,0)))&&Rg(this)},49:function(){X(this,this.A,ng(this,V(this,this.A),V(this,0)))&&Rg(this)},50:dh,51:function(){pg(this,V(this,0),V(this,1))&&null!=Rg(this)&&Rg(this)},52:function(){X(this,this.A,mg(this,V(this,0),V(this,this.A)))&&Rg(this)},53:function(){X(this,this.A,mg(this,V(this,this.A),V(this,0)))&&Rg(this)},54:function(){X(this,this.A,og(this,V(this,0),V(this,this.A)))&&Rg(this)},55:function(){X(this,this.A,
og(this,V(this,this.A),V(this,0)))&&Rg(this)}},223:{0:function(){Sg(this,Ig(this))},2:function(){null!=Cg(this,V(this,0),32768)&&this.F.jb(this.F.D,this.L[0])},3:function(){null!=Cg(this,V(this,0),32768)&&(this.F.jb(this.F.D,this.L[0]),Rg(this))},4:function(){var a=Mg(this),b=Pg(a[0],8)+1E8*Pg(a[1],8)+1E16*Pg(a[2],2);a[2]&32768&&(b=-b);Sg(this,b)},5:function(){var a;a=this.F.oa(this.F.D);a=4294967296*this.F.oa(this.F.D+4)+(a>>>0);Sg(this,a)},6:function(){var a=Cg(this,Rg(this));null!=a&&(this.ga[0]=
Qg(a,8),this.ga[1]=Qg(a/1E8,8),this.ga[2]=Qg(a/1E16,2),0>a&&(this.ga[2]|=32768),Ng(this))},7:function(){null!=Cg(this,V(this,0),$g)&&(this.Vk(),Rg(this))},48:function(){fh.call(this);Rg(this)},49:sh,50:nh,51:nh,52:qh}},uh=[ah,gh,hh,ih,jh,kh,oh,lh,ph,qh];Ua(function(){for(var a=rb(document,"pcx86","fpu"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new ag(d);qb(d,c)}});function vh(a,b){var c=a+b+Ff(this)|0;sf(this,a,b,c,191);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Mc;return c&255}
function wh(a,b){var c=a+b+Ff(this)|0;sf(this,a,b,c,this.Ga|63);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Mc;return c&this.R}function xh(a,b){var c=a+b|0;sf(this,a,b,c,191);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Mc;return c&255}function yh(a,b){var c=a+b|0;sf(this,a,b,c,this.Ga|63);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Mc;return c&this.R}
function zh(a,b){var c=a&b;zf(this,c,128);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Mc;return c}function Ah(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Mc;return zf(this,a&b,this.Ga)&this.R}function Bh(a,b){this.A-=10+(-1===this.D?0:1);if((a&3)<(b&3))return a=a&-4|b&3,Jf(this),a;Hf(this);return a}
Qg(a,8),this.ga[1]=Qg(a/1E8,8),this.ga[2]=Qg(a/1E16,2),0>a&&(this.ga[2]|=32768),Ng(this))},7:function(){null!=Cg(this,V(this,0),$g)&&(this.Vk(),Rg(this))},48:function(){fh.call(this);Rg(this)},49:sh,50:nh,51:nh,52:qh}},uh=[ah,gh,hh,ih,jh,kh,oh,lh,ph,qh];Ua(function(){for(var a=rb(document,"pcx86","fpu"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new ag(d);qb(d,c)}});function vh(a,b){var c=a+b+Ff(this)|0;sf(this,a,b,c,191);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&255}
function wh(a,b){var c=a+b+Ff(this)|0;sf(this,a,b,c,this.Ga|63);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&this.R}function xh(a,b){var c=a+b|0;sf(this,a,b,c,191);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&255}function yh(a,b){var c=a+b|0;sf(this,a,b,c,this.Ga|63);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&this.R}
function zh(a,b){var c=a&b;zf(this,c,128);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c}function Ah(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return zf(this,a&b,this.Ga)&this.R}function Bh(a,b){this.A-=10+(-1===this.D?0:1);if((a&3)<(b&3))return a=a&-4|b&3,Jf(this),a;Hf(this);return a}
function Ch(a){if(-1===this.D)return D.call(this,6),a;var b=a,c=this.tb(this.D),d=this.tb(this.D+this.ba);2==this.ba&&(b=a<<16>>16,c=c<<16>>16,d=d<<16>>16);this.A-=this.B.Hj;(b<c||b>d)&&D.call(this,5);this.S|=2;return a}function Dh(a,b){var c=0;if(b){Hf(this);for(var d=1;d&this.R;){if(b&d){a=c;break}d<<=1;c++}}else Jf(this);this.A-=11+3*c;return a}function Eh(a,b){var c=0;if(b){Hf(this);for(var d=2==this.ba?15:31,e=1<<d;e;){if(b&e){a=d;break}e>>>=1;c++;d--}}else Jf(this);this.A-=11+3*c;return a}
function Fh(a,b){a&1<<(b&(2==this.ba?15:31))?Af(this):Bf(this);this.A-=-1===this.D?3:6;this.S|=2;return a}function Gh(a,b){var c=1<<(b&(2==this.ba?15:31));a&c?Af(this):Bf(this);this.A-=-1===this.D?6:8;return a^c}function Hh(a,b){var c=1<<(b&(2==this.ba?15:31));a&c?Af(this):Bf(this);this.A-=-1===this.D?6:8;return a&~c}function Ih(a,b){var c=1<<(b&(2==this.ba?15:31));a&c?Af(this):Bf(this);this.A-=-1===this.D?6:8;return a|c}
function Jh(a,b){if(-1===this.D)return Fh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Pf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?Af(this):Bf(this);this.A-=6;this.S|=2;return a}function Kh(a,b){if(-1===this.D)return Gh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Pf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?Af(this):Bf(this);this.A-=8;return a^b}
@ -173,20 +173,20 @@ function Lh(a,b){if(-1===this.D)return Hh.call(this,a,b);var c=this.ba<<3;if(b>=
function Nh(a,b){sf(this,a,b,a-b|0,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Hh:this.B.Vb;this.S|=2;return a}function Oh(a,b){sf(this,a,b,a-b|0,this.Ga|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Hh:this.B.Vb;this.S|=2;return a}
function Ph(a){if(this.Tb){var b=this.Tb,c=this.lg,d=this.L,e=d>>3&7;b.A=d&7;var f=(3>(d>>6&3)?0:48)+e;(217==c||219==c)&&52<=f&&(f=e<<4|b.A);if(e=th[c][f]){if(0>uh.indexOf(e)){var f=b.F,g=f.qe;8087==b.ja&&(f.Ia&16&&g++,f.Ia&32&&g++);b.ea=f.wa.Z;b.V=g-f.wa.Aa;-1!==f.D&&(b.fa=f.$b.Z,b.U=f.D-f.$b.Aa);b.ia=(c&7)<<8|d}e.call(b)}}this.A-=-1===this.D?2:8;return a}function Qh(a){if(80186>this.ja)return Rh.call(this,a);D.call(this,13,0);return a}function he(a){D.call(this,6);return a}
function Rh(a){ke.call(this);return a}function Sh(a,b){var c=Th.call(this,this.T(),b);80386>this.ja&&(this.A-=12);return c}function Uh(a,b){var c;a=this.Ma();c=2==this.ba?Th.call(this,a,b):Vh.call(this,a,b);80386>this.ja&&(this.A-=12);return c}function Wh(a,b){var c=!1;0>b&&(b=-b|0,c=!c);0>a&&(a=-a|0,c=!c);Xh.call(this,a,b);c&&(this.ia=~this.ia+1|0,this.va=~this.va+(this.ia?0:1)|0)}
function Th(a,b){var c=(a<<16>>16)*(b<<16>>16)|0;32767<c||-32768>c?(Af(this),Cf(this)):(Bf(this),Df(this));this.A-=-1===this.D?9:12;return c&65535}function Vh(a,b){Wh.call(this,a,b);this.va!=this.ia>>31?(Af(this),Cf(this)):(Bf(this),Df(this));this.A-=-1===this.D?9:12;return this.ia}function Yh(a,b){this.A-=14+(-1===this.D?0:2);Hf(this);-1!==this.Da.load(b)&&this.Da.Fc>=this.pa&&this.Da.Fc>=(b&3)&&(Jf(this),a=this.Da.wb&-256,2<this.ba&&(a|=(this.Da.ext&-65281)<<16));return a}
function Th(a,b){var c=(a<<16>>16)*(b<<16>>16)|0;32767<c||-32768>c?(Af(this),Cf(this)):(Bf(this),Df(this));this.A-=-1===this.D?9:12;return c&65535}function Vh(a,b){Wh.call(this,a,b);this.va!=this.ia>>31?(Af(this),Cf(this)):(Bf(this),Df(this));this.A-=-1===this.D?9:12;return this.ia}function Yh(a,b){this.A-=14+(-1===this.D?0:2);Hf(this);-1!==this.Da.load(b)&&this.Da.Gc>=this.pa&&this.Da.Gc>=(b&3)&&(Jf(this),a=this.Da.wb&-256,2<this.ba&&(a|=(this.Da.ext&-65281)<<16));return a}
function Zh(a,b){if(-1===this.D)return ke.call(this),a;yd(this,this.na(this.D+this.ba));this.A-=this.B.pf;return b}function $h(){this.A-=this.B.jk;return this.D}function ai(a,b){if(-1===this.D)return ke.call(this),a;zd(this,this.na(this.D+this.ba));this.A-=this.B.pf;return b}function bi(a,b){if(-1===this.D)return ke.call(this),a;var c=this.na(this.D+this.ba);this.Nb.load(c);this.A-=this.B.pf;return b}
function ci(a,b){if(-1===this.D)return ke.call(this),a;var c=this.na(this.D+this.ba);this.Ob.load(c);this.A-=this.B.pf;return b}function di(a,b){this.A-=14+(-1===this.D?0:2);if(b&65528&&-1!==this.Da.load(b)&&(7168==(this.Da.wb&7168)||this.Da.Fc>=this.pa)&&this.Da.Fc>=(b&3))return Jf(this),this.Da.Ta;Hf(this);return a}function ei(a,b){if(-1===this.D)return ke.call(this),a;nd(this,this.na(this.D+this.ba));this.A-=this.B.pf;return b}
function ci(a,b){if(-1===this.D)return ke.call(this),a;var c=this.na(this.D+this.ba);this.Ob.load(c);this.A-=this.B.pf;return b}function di(a,b){this.A-=14+(-1===this.D?0:2);if(b&65528&&-1!==this.Da.load(b)&&(7168==(this.Da.wb&7168)||this.Da.Gc>=this.pa)&&this.Da.Gc>=(b&3))return Jf(this),this.Da.Ta;Hf(this);return a}function ei(a,b){if(-1===this.D)return ke.call(this),a;nd(this,this.na(this.D+this.ba));this.A-=this.B.pf;return b}
function fi(a,b){this.A-=-1===this.C?-1===this.D?this.B.rk:this.B.qk:this.B.nk;return b}function gi(a,b){switch(this.L>>3&7){case 4:this.aa=this.G;break;case 5:this.aa=this.I;break;case 6:this.aa=this.M;break;case 7:this.aa=this.H}return b}function hi(a,b){return b}
function ii(a,b){var c=this.L>>3&7;switch(c){case 0:this.aa=this.G;break;case 2:this.aa=this.M;break;case 3:this.aa=this.H;break;default:if(80286==this.ja||80386==this.ja&&4!=c&&5!=c){D.call(this,6);break}switch(c){case 1:this.aa=this.I;break;case 4:this.aa=J(this);break;case 5:this.aa=this.P;break;case 6:this.aa=this.K;break;case 7:this.aa=this.J}}return fi.call(this,0,b)}
function ji(a,b){switch(this.L>>3&7){case 0:b=this.Xa.Z;break;case 1:b=this.wa.Z;break;case 2:b=this.ta.Z;break;case 3:b=this.vb.Z;break;case 4:if(80386<=this.ja){b=this.Nb.Z;break}D.call(this,6);b=a;break;case 5:if(80386<=this.ja){b=this.Ob.Z;break}default:D.call(this,6),b=a}-1!==this.C&&vd(this,2);return fi.call(this,0,b)}
function Xh(a,b){if(a&-65536||b&-65536){var c=b&65535,d=b>>>16,e=a&65535,f=a>>>16,g=c*e,e=(g>>>16)+d*e,h=e>>>16,e=(e&65535)+c*f;this.ia=e<<16|g&65535;this.va=h+((e>>>16)+d*f)|0}else this.ia=a*b|0,this.va=0}function Bi(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Mc;return zf(this,a|b,128)}function Ci(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Mc;return zf(this,a|b,this.Ga)&this.R}
function Di(a,b){var c=a-b-Ff(this)|0;sf(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Mc;return c&255}function Ei(a,b){var c=a-b-Ff(this)|0;sf(this,a,b,c,this.Ga|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Mc;return c&this.R}function Fi(){return yf(this)?1:0}function Gi(){return tf(this)?1:0}function Hi(){return tf(this)?0:1}function Ii(){return wf(this)?1:0}function Ji(){return wf(this)?0:1}function Ki(){return tf(this)||wf(this)?1:0}
function Xh(a,b){if(a&-65536||b&-65536){var c=b&65535,d=b>>>16,e=a&65535,f=a>>>16,g=c*e,e=(g>>>16)+d*e,h=e>>>16,e=(e&65535)+c*f;this.ia=e<<16|g&65535;this.va=h+((e>>>16)+d*f)|0}else this.ia=a*b|0,this.va=0}function Bi(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return zf(this,a|b,128)}function Ci(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return zf(this,a|b,this.Ga)&this.R}
function Di(a,b){var c=a-b-Ff(this)|0;sf(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&255}function Ei(a,b){var c=a-b-Ff(this)|0;sf(this,a,b,c,this.Ga|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&this.R}function Fi(){return yf(this)?1:0}function Gi(){return tf(this)?1:0}function Hi(){return tf(this)?0:1}function Ii(){return wf(this)?1:0}function Ji(){return wf(this)?0:1}function Ki(){return tf(this)||wf(this)?1:0}
function Li(){return tf(this)||wf(this)?0:1}function Mi(){return xf(this)?1:0}function Ni(){return xf(this)?0:1}function Oi(){return uf(this)?1:0}function Pi(){return uf(this)?0:1}function Qi(){return!xf(this)!=!yf(this)?1:0}function Ri(){return!xf(this)!=!yf(this)?0:1}function Si(){return wf(this)||!xf(this)!=!yf(this)?1:0}function Ti(){return wf(this)||!xf(this)!=!yf(this)?0:1}function Ui(a,b){return Vi.call(this,a,b,this.xa())}function Wi(a,b){return Xi.call(this,a,b,this.xa())}
function Yi(a,b){return Vi.call(this,a,b,this.I&31)}function Zi(a,b){return Xi.call(this,a,b,this.I&31)}function $i(a,b){return aj.call(this,a,b,this.xa())}function bj(a,b){return cj.call(this,a,b,this.xa())}function dj(a,b){return aj.call(this,a,b,this.I&31)}function ej(a,b){return cj.call(this,a,b,this.I&31)}function fj(a,b){var c=a-b|0;sf(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Mc;return c&255}
function gj(a,b){var c=a-b|0;sf(this,a,b,c,this.Ga|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Mc;return c&this.R}function hj(a,b){zf(this,a&b,128);this.A-=-1===this.C?-1===this.D?this.B.ii:this.B.Vf:this.B.Vf;this.S|=2;return a}function ij(a,b){zf(this,a&b,this.Ga);this.A-=-1===this.C?-1===this.D?this.B.ii:this.B.Vf:this.B.Vf;this.S|=2;return a}function jj(a,b){var c=this.G&this.R,d=(1<<(this.I&31))-1;return a&~(d<<c)|(b&d)<<c}
function Yi(a,b){return Vi.call(this,a,b,this.I&31)}function Zi(a,b){return Xi.call(this,a,b,this.I&31)}function $i(a,b){return aj.call(this,a,b,this.xa())}function bj(a,b){return cj.call(this,a,b,this.xa())}function dj(a,b){return aj.call(this,a,b,this.I&31)}function ej(a,b){return cj.call(this,a,b,this.I&31)}function fj(a,b){var c=a-b|0;sf(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&255}
function gj(a,b){var c=a-b|0;sf(this,a,b,c,this.Ga|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&this.R}function hj(a,b){zf(this,a&b,128);this.A-=-1===this.C?-1===this.D?this.B.ii:this.B.Vf:this.B.Vf;this.S|=2;return a}function ij(a,b){zf(this,a&b,this.Ga);this.A-=-1===this.C?-1===this.D?this.B.ii:this.B.Vf:this.B.Vf;this.S|=2;return a}function jj(a,b){var c=this.G&this.R,d=(1<<(this.I&31))-1;return a&~(d<<c)|(b&d)<<c}
function kj(a,b){return b>>(this.G&this.R)&(1<<(this.I&31))-1&this.R}function lj(a,b){if(-1===this.D){switch(this.L&7){case 0:this.G=this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}this.A-=this.B.ki}else this.C=this.D,Sf(this,a),this.A-=this.B.ji;return b}
function mj(a,b){if(-1===this.D){switch(this.L&7){case 0:this.G=this.G&~this.R|a;break;case 1:this.I=this.I&~this.R|a;break;case 2:this.M=this.M&~this.R|a;break;case 3:this.H=this.H&~this.R|a;break;case 4:I(this,J(this)&~this.R|a);break;case 5:this.P=this.H&~this.R|a;break;case 6:this.K=this.K&~this.R|a;break;case 7:this.J=this.J&~this.R|a}this.A-=this.B.ki}else this.C=this.D,this.S&2||this.rc(this.$b.nc(this.Ca,this.ba),a),this.A-=this.B.ji;return b}
function nj(a,b){var c=a^b;zf(this,c,128);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Mc;return c}function oj(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Mc;return zf(this,a^b,this.Ga)&this.R}function pj(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function qj(a){var b=a-1|0;sf(this,a,1,b,this.Ga|62,!0);this.A-=2;return a&~this.R|b&this.R}
function nj(a,b){var c=a^b;zf(this,c,128);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c}function oj(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return zf(this,a^b,this.Ga)&this.R}function pj(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function qj(a){var b=a-1|0;sf(this,a,1,b,this.Ga|62,!0);this.A-=2;return a&~this.R|b&this.R}
function rj(a,b,c){c>>>=0;if(!c||c<=b>>>0)return!1;var d=0,e=1;c=[c>>>0,0];for(a=[a>>>0,b>>>0];0<pj(a,c);){var f=b=c;b[0]+=f[0];b[1]+=f[1];4294967295<b[0]&&(b[0]>>>=0,b[1]++);e+=e}do 0<=pj(a,c)&&(b=a,f=c,b[0]-=f[0],b[1]-=f[1],0>b[0]&&(b[0]>>>=0,b[1]--),d+=e),b=c,b[0]>>>=1,b[1]&1&&(b[0]=(b[0]|2147483648)>>>0),b[1]>>>=1,e/=2;while(1<=e);this.ia=d;this.va=a[0];return!0}function sj(a){var b=a+1|0;sf(this,a,1,b,this.Ga|62);this.A-=2;return a&~this.R|b&this.R}
function tj(a){this.Za=a;pd(this);this.Za&-2147483648?ve(this):xe(this)}function Dd(a){this.Od=a;$b(this)}function uj(a){this.S|=1;this.$a.call(this,a);this.A-=-1===this.D?4:5}function Vi(a,b,c){if(c){16<c&&(a=b,c-=16);var d=a<<c-1;a=(d<<1|b>>>16-c)&65535;zf(this,a,32768,d&32768)}return a}function Xi(a,b,c){if(c){var d=a<<c-1;a=d<<1|b>>>32-c;zf(this,a,-2147483648,d&-2147483648)}return a}
function aj(a,b,c){if(c){16<c&&(a=b,c-=16);var d=a>>>c-1;a=(d>>>1|b<<16-c)&65535;zf(this,a,32768,d&1)}return a}function cj(a,b,c){if(c){var d=a>>>c-1;a=d>>>1|b<<32-c;zf(this,a,-2147483648,d&1)}return a}function vj(){this.A-=-1===this.D?2:this.B.Ek;return 1}function wj(){var a=this.I&255;this.A-=(-1===this.D?this.B.bi:this.B.ai)+(a<<this.B.ci);return a}function xj(){var a=this.xa();this.A-=(-1===this.D?this.B.bi:this.B.ai)+(a<<this.B.ci);return a}function yj(){return null}
@ -194,8 +194,8 @@ function zj(){return this.aa}function Aj(a,b){this.kc=this.wa.Z;this.sb=this.ta.
function Cj(a){this.sb=this.ta.Z;this.U=this.fa;var b=G(this),c=G(this);a&&I(this,J(this)+a);Cd(this,b,c,!1)&&(a&&I(this,J(this)+a),Dj.call(this,this.vb),Dj.call(this,this.Xa),80386<=this.ja&&(Dj.call(this,this.Nb),Dj.call(this,this.Ob)));2==a&&this.le&&jf(this,this.Ha);this.sb=this.U=-1}function Ej(){8086==this.ja?(this.rb=-1,Bj.call(this,0,null,2)):D.call(this,0,null,2)}function Zf(a,b){this.rb=a;void 0===b&&(b=11);Bj.call(this,a,null,b)}
function D(a,b,c,d){var e=!1;this.la.complete?80186<=this.ja&&(e=!0,0>this.rb?(-1!=this.kc&&(this.kc!==this.wa.Z&&(this.wa.Lb=this.kc&3,of(this,this.kc)),this.kc=-1),this.qe!==this.Ha&&pf(this,this.qe),-1!=this.sb&&(this.sb!==this.ta.Z&&nd(this,this.sb),this.sb=-1),-1!==this.U&&(this.U!==this.fa&&I(this,this.gb&~this.ta.Ba|this.U-this.ta.Aa),this.U=-1)):8!=this.rb?(b=0,a=8):(b=0,a=-1,te(this),e=d=!1)):pf(this,this.qe);var f=a,g=b,h=32,k=Mf(this,this.Ha);204!=k||this.Sd||(d=!1);this.ca&131072&&(6==
f&&99==k||13==f&&205==k)&&(d=!1);!1===d&&(h|=1);983040<=this.Ha&&1048575>=this.Ha&&(d=!1);B(this,h|-2147483648)&&(d=!0);if(B(this,h)||d){var l=this.la.Ib,f="Fault "+u(f)+(null!=g?" ("+v(g)+")":"")+" on opcode "+u(k);d&&l&&(f+=" (blocked)");this.ha?(z(this,f,d||h,!0),d&&(d=l,this.ha.Wb())):(this.Na(f),this.Wb())}if(d&&e)throw-1;if(e)throw this.rb=a,Bj.call(this,a,b,c),this.qe=this.Ha,this.S=1==a?this.S|8192:this.S|4096,a;}
function we(a,b,c){this.se=a;a=0;b&&(a|=1);c&&(a|=2);3==this.pa&&(a|=4);D.call(this,14,a)}function Dj(a){var b=a.wb&7680;a.Z&65528&&(6144==b||7168==b||7168>b&&a.Fc<this.pa&&a.Fc<(a.Z&3))&&a.load(0)}
function Be(a){var b,c;switch((this.L=this.xa())&199){case 0:c=R(this,this.H+this.K);this.A-=this.B.dd;break;case 1:c=R(this,this.H+this.J);this.A-=this.B.ed;break;case 2:c=Of(this,this.P+this.K);this.A-=this.B.ed;break;case 3:c=Of(this,this.P+this.J);this.A-=this.B.dd;break;case 4:c=R(this,this.K);this.A-=this.B.Ic;break;case 5:c=R(this,this.J);this.A-=this.B.Ic;break;case 6:c=R(this,U(this));this.A-=this.B.Jd;break;case 7:c=R(this,this.H);this.A-=this.B.Ic;break;case 64:c=R(this,this.H+this.K+this.T());
function we(a,b,c){this.se=a;a=0;b&&(a|=1);c&&(a|=2);3==this.pa&&(a|=4);D.call(this,14,a)}function Dj(a){var b=a.wb&7680;a.Z&65528&&(6144==b||7168==b||7168>b&&a.Gc<this.pa&&a.Gc<(a.Z&3))&&a.load(0)}
function Be(a){var b,c;switch((this.L=this.xa())&199){case 0:c=R(this,this.H+this.K);this.A-=this.B.dd;break;case 1:c=R(this,this.H+this.J);this.A-=this.B.ed;break;case 2:c=Of(this,this.P+this.K);this.A-=this.B.ed;break;case 3:c=Of(this,this.P+this.J);this.A-=this.B.dd;break;case 4:c=R(this,this.K);this.A-=this.B.Jc;break;case 5:c=R(this,this.J);this.A-=this.B.Jc;break;case 6:c=R(this,U(this));this.A-=this.B.Jd;break;case 7:c=R(this,this.H);this.A-=this.B.Jc;break;case 64:c=R(this,this.H+this.K+this.T());
this.A-=this.B.cc;break;case 65:c=R(this,this.H+this.J+this.T());this.A-=this.B.dc;break;case 66:c=Of(this,this.P+this.K+this.T());this.A-=this.B.dc;break;case 67:c=Of(this,this.P+this.J+this.T());this.A-=this.B.cc;break;case 68:c=R(this,this.K+this.T());this.A-=this.B.ib;break;case 69:c=R(this,this.J+this.T());this.A-=this.B.ib;break;case 70:c=Of(this,this.P+this.T());this.A-=this.B.ib;break;case 71:c=R(this,this.H+this.T());this.A-=this.B.ib;break;case 128:c=R(this,this.H+this.K+U(this));this.A-=
this.B.cc;break;case 129:c=R(this,this.H+this.J+U(this));this.A-=this.B.dc;break;case 130:c=Of(this,this.P+this.K+U(this));this.A-=this.B.dc;break;case 131:c=Of(this,this.P+this.J+U(this));this.A-=this.B.cc;break;case 132:c=R(this,this.K+U(this));this.A-=this.B.ib;break;case 133:c=R(this,this.J+U(this));this.A-=this.B.ib;break;case 134:c=Of(this,this.P+U(this));this.A-=this.B.ib;break;case 135:c=R(this,this.H+U(this));this.A-=this.B.ib;break;case 192:c=this.G&255;break;case 193:c=this.I&255;break;
case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&255;break;case 1:b=this.I&255;break;case 2:b=this.M&255;break;case 3:b=this.H&255;break;case 4:b=this.G>>8&255;break;case 5:b=this.I>>8&255;break;case 6:b=this.M>>8&255;break;case 7:b=this.H>>8&255;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=this.G&
@ -204,14 +204,14 @@ function Ce(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=R(this,this.H
case 65:b=R(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Of(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Of(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=R(this,this.K+this.T());this.C=this.D;break;case 69:b=R(this,this.J+this.T());this.C=this.D;break;case 70:b=Of(this,this.P+this.T());this.C=this.D;break;case 71:b=R(this,this.H+this.T());this.C=this.D;break;case 128:b=R(this,this.H+this.K+U(this));this.C=this.D;break;case 129:b=R(this,this.H+this.J+U(this));
this.C=this.D;break;case 130:b=Of(this,this.P+this.K+U(this));this.C=this.D;break;case 131:b=Of(this,this.P+this.J+U(this));this.C=this.D;break;case 132:b=R(this,this.K+U(this));this.C=this.D;break;case 133:b=R(this,this.J+U(this));this.C=this.D;break;case 134:b=Of(this,this.P+U(this));this.C=this.D;break;case 135:b=R(this,this.H+U(this));this.C=this.D;break;case 192:b=this.G&255;break;case 193:b=this.I&255;break;case 194:b=this.M&255;break;case 195:b=this.H&255;break;case 196:b=this.G>>8&255;break;
case 197:b=this.I>>8&255;break;case 198:b=this.M>>8&255;break;case 199:b=this.H>>8&255;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&255;break;case 1:c=this.I&255;break;case 2:c=this.M&255;break;case 3:c=this.H&255;break;case 4:c=this.G>>8&255;break;case 5:c=this.I>>8&255;break;case 6:c=this.M>>8&255;break;case 7:c=this.H>>8&255;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Sf(this,a);this.A-=this.B.dd;break;case 1:case 2:Sf(this,a);this.A-=this.B.ed;break;case 4:case 5:case 7:Sf(this,
a);this.A-=this.B.Ic;break;case 6:Sf(this,a);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Sf(this,a);this.A-=this.B.cc;break;case 65:case 66:case 129:case 130:Sf(this,a);this.A-=this.B.dc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Sf(this,a);this.A-=this.B.ib;break;case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I=
a);this.A-=this.B.Jc;break;case 6:Sf(this,a);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Sf(this,a);this.A-=this.B.cc;break;case 65:case 66:case 129:case 130:Sf(this,a);this.A-=this.B.dc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Sf(this,a);this.A-=this.B.ib;break;case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I=
this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8}}
function De(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=R(this,this.H+this.K);this.C=this.D;break;case 1:c=R(this,this.H+this.J);this.C=this.D;break;case 2:c=Of(this,this.P+this.K);this.C=this.D;break;case 3:c=Of(this,this.P+this.J);this.C=this.D;break;case 4:c=R(this,this.K);this.C=this.D;break;case 5:c=R(this,this.J);this.C=this.D;break;case 6:c=R(this,U(this));this.C=this.D;break;case 7:c=R(this,this.H);this.C=this.D;break;case 64:c=R(this,this.H+this.K+this.T());this.C=this.D;break;
case 65:c=R(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Of(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Of(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=R(this,this.K+this.T());this.C=this.D;break;case 69:c=R(this,this.J+this.T());this.C=this.D;break;case 70:c=Of(this,this.P+this.T());this.C=this.D;break;case 71:c=R(this,this.H+this.T());this.C=this.D;break;case 128:c=R(this,this.H+this.K+U(this));this.C=this.D;break;case 129:c=R(this,this.H+this.J+U(this));
this.C=this.D;break;case 130:c=Of(this,this.P+this.K+U(this));this.C=this.D;break;case 131:c=Of(this,this.P+this.J+U(this));this.C=this.D;break;case 132:c=R(this,this.K+U(this));this.C=this.D;break;case 133:c=R(this,this.J+U(this));this.C=this.D;break;case 134:c=Of(this,this.P+U(this));this.C=this.D;break;case 135:c=R(this,this.H+U(this));this.C=this.D;break;case 192:c=this.G&255;break;case 193:c=this.I&255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;
case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Sf(this,c);this.A-=this.B.dd;break;case 1:case 2:Sf(this,c);this.A-=this.B.ed;break;case 4:case 5:case 7:Sf(this,c);this.A-=this.B.Ic;break;case 6:Sf(this,c);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Sf(this,c);this.A-=this.B.cc;break;case 65:case 66:case 129:case 130:Sf(this,c);this.A-=this.B.dc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Sf(this,
case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Sf(this,c);this.A-=this.B.dd;break;case 1:case 2:Sf(this,c);this.A-=this.B.ed;break;case 4:case 5:case 7:Sf(this,c);this.A-=this.B.Jc;break;case 6:Sf(this,c);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Sf(this,c);this.A-=this.B.cc;break;case 65:case 66:case 129:case 130:Sf(this,c);this.A-=this.B.dc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Sf(this,
c);this.A-=this.B.ib;break;case 192:this.G=this.G&-256|c;break;case 193:this.I=this.I&-256|c;break;case 194:this.M=this.M&-256|c;break;case 195:this.H=this.H&-256|c;break;case 196:this.G=this.G&-65281|c<<8;break;case 197:this.I=this.I&-65281|c<<8;break;case 198:this.M=this.M&-65281|c<<8;break;case 199:this.H=this.H&-65281|c<<8}}
function Ee(a){var b,c;switch((this.L=this.xa())&199){case 0:c=S(this,this.H+this.K);this.A-=this.B.dd;break;case 1:c=S(this,this.H+this.J);this.A-=this.B.ed;break;case 2:c=Qf(this,this.P+this.K);this.A-=this.B.ed;break;case 3:c=Qf(this,this.P+this.J);this.A-=this.B.dd;break;case 4:c=S(this,this.K);this.A-=this.B.Ic;break;case 5:c=S(this,this.J);this.A-=this.B.Ic;break;case 6:c=S(this,U(this));this.A-=this.B.Jd;break;case 7:c=S(this,this.H);this.A-=this.B.Ic;break;case 64:c=S(this,this.H+this.K+this.T());
function Ee(a){var b,c;switch((this.L=this.xa())&199){case 0:c=S(this,this.H+this.K);this.A-=this.B.dd;break;case 1:c=S(this,this.H+this.J);this.A-=this.B.ed;break;case 2:c=Qf(this,this.P+this.K);this.A-=this.B.ed;break;case 3:c=Qf(this,this.P+this.J);this.A-=this.B.dd;break;case 4:c=S(this,this.K);this.A-=this.B.Jc;break;case 5:c=S(this,this.J);this.A-=this.B.Jc;break;case 6:c=S(this,U(this));this.A-=this.B.Jd;break;case 7:c=S(this,this.H);this.A-=this.B.Jc;break;case 64:c=S(this,this.H+this.K+this.T());
this.A-=this.B.cc;break;case 65:c=S(this,this.H+this.J+this.T());this.A-=this.B.dc;break;case 66:c=Qf(this,this.P+this.K+this.T());this.A-=this.B.dc;break;case 67:c=Qf(this,this.P+this.J+this.T());this.A-=this.B.cc;break;case 68:c=S(this,this.K+this.T());this.A-=this.B.ib;break;case 69:c=S(this,this.J+this.T());this.A-=this.B.ib;break;case 70:c=Qf(this,this.P+this.T());this.A-=this.B.ib;break;case 71:c=S(this,this.H+this.T());this.A-=this.B.ib;break;case 128:c=S(this,this.H+this.K+U(this));this.A-=
this.B.cc;break;case 129:c=S(this,this.H+this.J+U(this));this.A-=this.B.dc;break;case 130:c=Qf(this,this.P+this.K+U(this));this.A-=this.B.dc;break;case 131:c=Qf(this,this.P+this.J+U(this));this.A-=this.B.cc;break;case 132:c=S(this,this.K+U(this));this.A-=this.B.ib;break;case 133:c=S(this,this.J+U(this));this.A-=this.B.ib;break;case 134:c=Qf(this,this.P+U(this));this.A-=this.B.ib;break;case 135:c=S(this,this.H+U(this));this.A-=this.B.ib;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break;
case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=J(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&65535;break;case 1:b=this.I&65535;break;case 2:b=this.M&65535;break;case 3:b=this.H&65535;break;case 4:b=J(this)&65535;break;case 5:b=this.P&65535;break;case 6:b=this.K&65535;break;case 7:b=this.J&65535;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=
@ -220,14 +220,14 @@ function Fe(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=S(this,this.H
case 65:b=S(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Qf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Qf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=S(this,this.K+this.T());this.C=this.D;break;case 69:b=S(this,this.J+this.T());this.C=this.D;break;case 70:b=Qf(this,this.P+this.T());this.C=this.D;break;case 71:b=S(this,this.H+this.T());this.C=this.D;break;case 128:b=S(this,this.H+this.K+U(this));this.C=this.D;break;case 129:b=S(this,this.H+this.J+U(this));
this.C=this.D;break;case 130:b=Qf(this,this.P+this.K+U(this));this.C=this.D;break;case 131:b=Qf(this,this.P+this.J+U(this));this.C=this.D;break;case 132:b=S(this,this.K+U(this));this.C=this.D;break;case 133:b=S(this,this.J+U(this));this.C=this.D;break;case 134:b=Qf(this,this.P+U(this));this.C=this.D;break;case 135:b=S(this,this.H+U(this));this.C=this.D;break;case 192:b=this.G&65535;break;case 193:b=this.I&65535;break;case 194:b=this.M&65535;break;case 195:b=this.H&65535;break;case 196:b=J(this)&65535;
break;case 197:b=this.P&65535;break;case 198:b=this.K&65535;break;case 199:b=this.J&65535;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&65535;break;case 1:c=this.I&65535;break;case 2:c=this.M&65535;break;case 3:c=this.H&65535;break;case 4:c=J(this)&65535;break;case 5:c=this.P&65535;break;case 6:c=this.K&65535;break;case 7:c=this.J&65535;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Tf(this,a);this.A-=this.B.dd;break;case 1:case 2:Tf(this,a);this.A-=this.B.ed;break;case 4:case 5:case 7:Tf(this,
a);this.A-=this.B.Ic;break;case 6:Tf(this,a);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Tf(this,a);this.A-=this.B.cc;break;case 65:case 66:case 129:case 130:Tf(this,a);this.A-=this.B.dc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Tf(this,a);this.A-=this.B.ib;break;case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:I(this,J(this)&-65536|a);break;
a);this.A-=this.B.Jc;break;case 6:Tf(this,a);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Tf(this,a);this.A-=this.B.cc;break;case 65:case 66:case 129:case 130:Tf(this,a);this.A-=this.B.dc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Tf(this,a);this.A-=this.B.ib;break;case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:I(this,J(this)&-65536|a);break;
case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a}}
function Ge(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=S(this,this.H+this.K);this.C=this.D;break;case 1:c=S(this,this.H+this.J);this.C=this.D;break;case 2:c=Qf(this,this.P+this.K);this.C=this.D;break;case 3:c=Qf(this,this.P+this.J);this.C=this.D;break;case 4:c=S(this,this.K);this.C=this.D;break;case 5:c=S(this,this.J);this.C=this.D;break;case 6:c=S(this,U(this));this.C=this.D;break;case 7:c=S(this,this.H);this.C=this.D;break;case 64:c=S(this,this.H+this.K+this.T());this.C=this.D;break;
case 65:c=S(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Qf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Qf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=S(this,this.K+this.T());this.C=this.D;break;case 69:c=S(this,this.J+this.T());this.C=this.D;break;case 70:c=Qf(this,this.P+this.T());this.C=this.D;break;case 71:c=S(this,this.H+this.T());this.C=this.D;break;case 128:c=S(this,this.H+this.K+U(this));this.C=this.D;break;case 129:c=S(this,this.H+this.J+U(this));
this.C=this.D;break;case 130:c=Qf(this,this.P+this.K+U(this));this.C=this.D;break;case 131:c=Qf(this,this.P+this.J+U(this));this.C=this.D;break;case 132:c=S(this,this.K+U(this));this.C=this.D;break;case 133:c=S(this,this.J+U(this));this.C=this.D;break;case 134:c=Qf(this,this.P+U(this));this.C=this.D;break;case 135:c=S(this,this.H+U(this));this.C=this.D;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=J(this)&65535;
break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Tf(this,c);this.A-=this.B.dd;break;case 1:case 2:Tf(this,c);this.A-=this.B.ed;break;case 4:case 5:case 7:Tf(this,c);this.A-=this.B.Ic;break;case 6:Tf(this,c);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Tf(this,c);this.A-=this.B.cc;break;case 65:case 66:case 129:case 130:Tf(this,c);this.A-=this.B.dc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Tf(this,
break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Tf(this,c);this.A-=this.B.dd;break;case 1:case 2:Tf(this,c);this.A-=this.B.ed;break;case 4:case 5:case 7:Tf(this,c);this.A-=this.B.Jc;break;case 6:Tf(this,c);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Tf(this,c);this.A-=this.B.cc;break;case 65:case 66:case 129:case 130:Tf(this,c);this.A-=this.B.dc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Tf(this,
c);this.A-=this.B.ib;break;case 192:this.G=this.G&-65536|c;break;case 193:this.I=this.I&-65536|c;break;case 194:this.M=this.M&-65536|c;break;case 195:this.H=this.H&-65536|c;break;case 196:I(this,J(this)&-65536|c);break;case 197:this.P=this.P&-65536|c;break;case 198:this.K=this.K&-65536|c;break;case 199:this.J=this.J&-65536|c}}
function He(a){var b,c;switch((this.L=this.xa())&199){case 0:c=T(this,this.H+this.K);this.A-=this.B.dd;break;case 1:c=T(this,this.H+this.J);this.A-=this.B.ed;break;case 2:c=Rf(this,this.P+this.K);this.A-=this.B.ed;break;case 3:c=Rf(this,this.P+this.J);this.A-=this.B.dd;break;case 4:c=T(this,this.K);this.A-=this.B.Ic;break;case 5:c=T(this,this.J);this.A-=this.B.Ic;break;case 6:c=T(this,U(this));this.A-=this.B.Jd;break;case 7:c=T(this,this.H);this.A-=this.B.Ic;break;case 64:c=T(this,this.H+this.K+this.T());
function He(a){var b,c;switch((this.L=this.xa())&199){case 0:c=T(this,this.H+this.K);this.A-=this.B.dd;break;case 1:c=T(this,this.H+this.J);this.A-=this.B.ed;break;case 2:c=Rf(this,this.P+this.K);this.A-=this.B.ed;break;case 3:c=Rf(this,this.P+this.J);this.A-=this.B.dd;break;case 4:c=T(this,this.K);this.A-=this.B.Jc;break;case 5:c=T(this,this.J);this.A-=this.B.Jc;break;case 6:c=T(this,U(this));this.A-=this.B.Jd;break;case 7:c=T(this,this.H);this.A-=this.B.Jc;break;case 64:c=T(this,this.H+this.K+this.T());
this.A-=this.B.cc;break;case 65:c=T(this,this.H+this.J+this.T());this.A-=this.B.dc;break;case 66:c=Rf(this,this.P+this.K+this.T());this.A-=this.B.dc;break;case 67:c=Rf(this,this.P+this.J+this.T());this.A-=this.B.cc;break;case 68:c=T(this,this.K+this.T());this.A-=this.B.ib;break;case 69:c=T(this,this.J+this.T());this.A-=this.B.ib;break;case 70:c=Rf(this,this.P+this.T());this.A-=this.B.ib;break;case 71:c=T(this,this.H+this.T());this.A-=this.B.ib;break;case 128:c=T(this,this.H+this.K+U(this));this.A-=
this.B.cc;break;case 129:c=T(this,this.H+this.J+U(this));this.A-=this.B.dc;break;case 130:c=Rf(this,this.P+this.K+U(this));this.A-=this.B.dc;break;case 131:c=Rf(this,this.P+this.J+U(this));this.A-=this.B.cc;break;case 132:c=T(this,this.K+U(this));this.A-=this.B.ib;break;case 133:c=T(this,this.J+U(this));this.A-=this.B.ib;break;case 134:c=Rf(this,this.P+U(this));this.A-=this.B.ib;break;case 135:c=T(this,this.H+U(this));this.A-=this.B.ib;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c=
this.M;break;case 195:c=this.H;break;case 196:c=J(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G;break;case 1:b=this.I;break;case 2:b=this.M;break;case 3:b=this.H;break;case 4:b=J(this);break;case 5:b=this.P;break;case 6:b=this.K;break;case 7:b=this.J;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.M=a;break;case 3:this.H=a;break;case 4:I(this,a);break;
@ -235,12 +235,12 @@ case 5:this.P=a;break;case 6:this.K=a;break;case 7:this.J=a}}
function Ie(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=T(this,this.H+this.K);this.C=this.D;break;case 1:b=T(this,this.H+this.J);this.C=this.D;break;case 2:b=Rf(this,this.P+this.K);this.C=this.D;break;case 3:b=Rf(this,this.P+this.J);this.C=this.D;break;case 4:b=T(this,this.K);this.C=this.D;break;case 5:b=T(this,this.J);this.C=this.D;break;case 6:b=T(this,U(this));this.C=this.D;break;case 7:b=T(this,this.H);this.C=this.D;break;case 64:b=T(this,this.H+this.K+this.T());this.C=this.D;break;
case 65:b=T(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Rf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Rf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=T(this,this.K+this.T());this.C=this.D;break;case 69:b=T(this,this.J+this.T());this.C=this.D;break;case 70:b=Rf(this,this.P+this.T());this.C=this.D;break;case 71:b=T(this,this.H+this.T());this.C=this.D;break;case 128:b=T(this,this.H+this.K+U(this));this.C=this.D;break;case 129:b=T(this,this.H+this.J+U(this));
this.C=this.D;break;case 130:b=Rf(this,this.P+this.K+U(this));this.C=this.D;break;case 131:b=Rf(this,this.P+this.J+U(this));this.C=this.D;break;case 132:b=T(this,this.K+U(this));this.C=this.D;break;case 133:b=T(this,this.J+U(this));this.C=this.D;break;case 134:b=Rf(this,this.P+U(this));this.C=this.D;break;case 135:b=T(this,this.H+U(this));this.C=this.D;break;case 192:b=this.G;break;case 193:b=this.I;break;case 194:b=this.M;break;case 195:b=this.H;break;case 196:b=J(this);break;case 197:b=this.P;break;
case 198:b=this.K;break;case 199:b=this.J;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G;break;case 1:c=this.I;break;case 2:c=this.M;break;case 3:c=this.H;break;case 4:c=J(this);break;case 5:c=this.P;break;case 6:c=this.K;break;case 7:c=this.J;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Uf(this,a);this.A-=this.B.dd;break;case 1:case 2:Uf(this,a);this.A-=this.B.ed;break;case 4:case 5:case 7:Uf(this,a);this.A-=this.B.Ic;break;case 6:Uf(this,a);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Uf(this,
case 198:b=this.K;break;case 199:b=this.J;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G;break;case 1:c=this.I;break;case 2:c=this.M;break;case 3:c=this.H;break;case 4:c=J(this);break;case 5:c=this.P;break;case 6:c=this.K;break;case 7:c=this.J;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Uf(this,a);this.A-=this.B.dd;break;case 1:case 2:Uf(this,a);this.A-=this.B.ed;break;case 4:case 5:case 7:Uf(this,a);this.A-=this.B.Jc;break;case 6:Uf(this,a);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Uf(this,
a);this.A-=this.B.cc;break;case 65:case 66:case 129:case 130:Uf(this,a);this.A-=this.B.dc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Uf(this,a);this.A-=this.B.ib;break;case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:I(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a}}
function Le(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=T(this,this.H+this.K);this.C=this.D;break;case 1:c=T(this,this.H+this.J);this.C=this.D;break;case 2:c=Rf(this,this.P+this.K);this.C=this.D;break;case 3:c=Rf(this,this.P+this.J);this.C=this.D;break;case 4:c=T(this,this.K);this.C=this.D;break;case 5:c=T(this,this.J);this.C=this.D;break;case 6:c=T(this,U(this));this.C=this.D;break;case 7:c=T(this,this.H);this.C=this.D;break;case 64:c=T(this,this.H+this.K+this.T());this.C=this.D;break;
case 65:c=T(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Rf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Rf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=T(this,this.K+this.T());this.C=this.D;break;case 69:c=T(this,this.J+this.T());this.C=this.D;break;case 70:c=Rf(this,this.P+this.T());this.C=this.D;break;case 71:c=T(this,this.H+this.T());this.C=this.D;break;case 128:c=T(this,this.H+this.K+U(this));this.C=this.D;break;case 129:c=T(this,this.H+this.J+U(this));
this.C=this.D;break;case 130:c=Rf(this,this.P+this.K+U(this));this.C=this.D;break;case 131:c=Rf(this,this.P+this.J+U(this));this.C=this.D;break;case 132:c=T(this,this.K+U(this));this.C=this.D;break;case 133:c=T(this,this.J+U(this));this.C=this.D;break;case 134:c=Rf(this,this.P+U(this));this.C=this.D;break;case 135:c=T(this,this.H+U(this));this.C=this.D;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=J(this);break;case 197:c=this.P;break;
case 198:c=this.K;break;case 199:c=this.J}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Uf(this,c);this.A-=this.B.dd;break;case 1:case 2:Uf(this,c);this.A-=this.B.ed;break;case 4:case 5:case 7:Uf(this,c);this.A-=this.B.Ic;break;case 6:Uf(this,c);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Uf(this,c);this.A-=this.B.cc;break;case 65:case 66:case 129:case 130:Uf(this,c);this.A-=this.B.dc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Uf(this,
case 198:c=this.K;break;case 199:c=this.J}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Uf(this,c);this.A-=this.B.dd;break;case 1:case 2:Uf(this,c);this.A-=this.B.ed;break;case 4:case 5:case 7:Uf(this,c);this.A-=this.B.Jc;break;case 6:Uf(this,c);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Uf(this,c);this.A-=this.B.cc;break;case 65:case 66:case 129:case 130:Uf(this,c);this.A-=this.B.dc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Uf(this,
c);this.A-=this.B.ib;break;case 192:this.G=c;break;case 193:this.I=c;break;case 194:this.M=c;break;case 195:this.H=c;break;case 196:I(this,c);break;case 197:this.P=c;break;case 198:this.K=c;break;case 199:this.J=c}}
function Me(a){var b,c;switch((this.L=this.xa())&199){case 0:c=R(this,this.G);break;case 1:c=R(this,this.I);break;case 2:c=R(this,this.M);break;case 3:c=R(this,this.H);break;case 4:c=R(this,Fj.call(this,0));break;case 5:c=R(this,U(this));break;case 6:c=R(this,this.K);break;case 7:c=R(this,this.J);break;case 64:c=R(this,this.G+this.T());break;case 65:c=R(this,this.I+this.T());break;case 66:c=R(this,this.M+this.T());break;case 67:c=R(this,this.H+this.T());break;case 68:c=R(this,Fj.call(this,1)+this.T());
break;case 69:c=Of(this,this.P+this.T());break;case 70:c=R(this,this.K+this.T());break;case 71:c=R(this,this.J+this.T());break;case 128:c=R(this,this.G+U(this));break;case 129:c=R(this,this.I+U(this));break;case 130:c=R(this,this.M+U(this));break;case 131:c=R(this,this.H+U(this));break;case 132:c=R(this,Fj.call(this,2)+U(this));break;case 133:c=Of(this,this.P+U(this));break;case 134:c=R(this,this.K+U(this));break;case 135:c=R(this,this.J+U(this));break;case 192:c=this.G&255;break;case 193:c=this.I&
@ -283,7 +283,7 @@ this.D;break;case 131:c=T(this,this.H+U(this));this.C=this.D;break;case 132:c=T(
function Fj(a){var b=this.xa(),c=b>>6,d,e;switch(b>>3&7){case 0:d=this.G;break;case 1:d=this.I;break;case 2:d=this.M;break;case 3:d=this.H;break;case 4:d=0;break;case 5:d=this.P;break;case 6:d=this.K;break;case 7:d=this.J}switch(b&7){case 0:e=this.G;break;case 1:e=this.I;break;case 2:e=this.M;break;case 3:e=this.H;break;case 4:e=J(this);this.ka=this.Ka;break;case 5:a?(e=this.P,this.ka=this.Ka):e=U(this);break;case 6:e=this.K;break;case 7:e=this.J}return(d<<c)+e|0}
function ie(){this.tc[this.xa()].call(this)}function le(){K(this,J(this)&this.R);this.A-=this.B.Sc}function Kd(){this.U=this.fa;var a=J(this)&this.R;K(this,this.G&this.R);K(this,this.I&this.R);K(this,this.M&this.R);K(this,this.H&this.R);K(this,a);K(this,this.P&this.R);K(this,this.K&this.R);K(this,this.J&this.R);this.A-=this.B.yk;this.U=-1}
function Ld(){this.U=this.fa;this.J=this.J&~this.R|G(this);this.K=this.K&~this.R|G(this);this.P=this.P&~this.R|G(this);I(this,J(this)+this.ba);this.H=this.H&~this.R|G(this);this.M=this.M&~this.R|G(this);this.I=this.I&~this.R|G(this);this.G=this.G&~this.R|G(this);this.A-=this.B.wk;this.U=-1}function Md(){this.V.call(this,Ch)}function me(){!(this.Za&1)||this.ca&131072?D.call(this,6):this.ea.call(this,Bh)}function ne(){this.S|=20;this.ka=this.Ka=this.Nb;this.A-=this.B.nd}
function oe(){this.S|=20;this.ka=this.Ka=this.Ob;this.A-=this.B.nd}function pe(){this.S|=1024;this.Ia&1024||(this.ba^=6,this.R^=-65536,ef(this));this.A-=this.B.nd}function qe(){this.S|=2048;this.Ia&2048||(this.Nc^=6,this.Ba^=-65536,Ae(this));this.A-=this.B.nd}function Nd(){K(this,this.Ma());this.A-=this.B.Sc}function Od(){this.V.call(this,Uh)}function Pd(){K(this,this.T());this.A-=this.B.Sc}function Qd(){this.V.call(this,Sh)}
function oe(){this.S|=20;this.ka=this.Ka=this.Ob;this.A-=this.B.nd}function pe(){this.S|=1024;this.Ia&1024||(this.ba^=6,this.R^=-65536,ef(this));this.A-=this.B.nd}function qe(){this.S|=2048;this.Ia&2048||(this.Oc^=6,this.Ba^=-65536,Ae(this));this.A-=this.B.nd}function Nd(){K(this,this.Ma());this.A-=this.B.Sc}function Od(){this.V.call(this,Uh)}function Pd(){K(this,this.T());this.A-=this.B.Sc}function Qd(){this.V.call(this,Sh)}
function Rd(){var a=1,b=0,c=this.Ba,d=5;this.Ia&192&&(a=this.I&c,b=1,this.Ia&256&&(d=4));if(a--){var e=this.M&65535;Lf(this,e,1,!0)&&(e=oc(this.ga,e,1,this.Ha-b-1),this.qc(this.Xa.nc(this.J&c,1),e),this.J=this.J&~c|this.J+(this.ca&1024?-1:1)&c,this.I=this.I&~c|this.I-b&c,this.A-=d,a&&(rf(this),this.S|=256))}}
function Sd(){var a=1,b=0,c=this.Ba,d=5;this.Ia&192&&(a=this.I&c,b=1,this.Ia&256&&(d=4));if(a--){var e=this.M&65535;Lf(this,e,this.ba,!0)&&(e=oc(this.ga,e,this.ba,this.Ha-b-1),this.rc(this.Xa.nc(this.J&c,this.ba),e),this.J=this.J&~c|this.J+(this.ca&1024?-this.ba:this.ba)&c,this.I=this.I&~c|this.I-b&c,this.A-=d,a&&(rf(this),this.S|=256))}}
function Td(){var a=1,b=0,c=this.Ba,d=5;this.Ia&192&&(a=this.I&c,b=1,this.Ia&256&&(d=4));if(a--){var e=this.M&65535;if(Lf(this,e,1,!1)){var f=this.Qa(this.vb.mc(this.K&c,1));sc(this.ga,e,1,f,this.Ha-b-1);this.K=this.K&~c|this.K+(this.ca&1024?-1:1)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(rf(this),this.S|=256)}}}
@ -344,9 +344,9 @@ a;var c=a<<16>>16,d=(b=this.M<<16|this.G&65535)/c|0;if(d!=d<<16>>16||8086==this.
a+1|0;sf(this,a,1,b,190);this.A-=-1===this.D?this.B.Sf:this.B.Rf;return b&255},function(a){var b=a-1|0;sf(this,a,1,b,190,!0);this.A-=-1===this.D?this.B.Sf:this.B.Rf;return b&255},Rh,Rh,Rh,Rh,Rh,Rh],Hd=[function(a){var b=a+1|0;sf(this,a,1,b,this.Ga|62);this.A-=-1===this.D?this.B.Sf:this.B.Rf;return b&this.R},function(a){var b=a-1|0;sf(this,a,1,b,this.Ga|62,!0);this.A-=-1===this.D?this.B.Sf:this.B.Rf;return b&this.R},function(a){K(this,M(this));Q(this,a);this.A-=-1===this.D?this.B.Oj:this.B.Nj;this.S|=
2;return a},function(a){if(-1===this.D)return Rh.call(this,a);this.U=this.fa;Aj.call(this,a,this.na(this.D+this.ba));this.A-=this.B.Lj;this.S|=2;this.U=-1;return a},function(a){Q(this,a);this.A-=-1===this.D?this.B.ik:this.B.hk;this.S|=2;return a},function(a){if(-1===this.D)return Rh.call(this,a);Cd(this,a,this.na(this.D+this.ba));this.A-=this.B.fk;this.S|=2;return a},function(a){var b=a;this.S&512&&(a=a-2&65535,80286>this.ja&&(b=a));K(this,b);this.A-=-1===this.D?this.B.Sc:this.B.zk;this.S|=2;return a},
Rh];function re(){this.V.call(this,kj);this.A-=-1===this.D?6:13}function se(){this.ea.call(this,jj);this.A-=-1===this.D?12:19}var je=Array(256);je[0]=function(){16>(this.Qa(this.Ha)&56)&&(this.S|=1);this.ya.call(this,this.kg,yj)};je[1]=function(){this.Qa(this.Ha)&16||(this.S|=1);this.ya.call(this,rk,yj)};je[2]=function(){!(this.Za&1)||this.ca&131072?D.call(this,6):this.V.call(this,Yh)};je[3]=function(){!(this.Za&1)||this.ca&131072?D.call(this,6):this.V.call(this,di)};
je[5]=function(){this.pa?D.call(this,13,0,0,!0):(Kf(this,this.na(2054)),this.J=this.na(2086),this.K=this.na(2088),this.P=this.na(2090),this.H=this.na(2094),this.M=this.na(2096),this.I=this.na(2098),this.G=this.na(2100),md(this.Xa,2102,this.na(2084)),md(this.wa,2108,this.na(2082)),md(this.ta,2114,this.na(2080)),md(this.vb,2120,this.na(2078)),Bd(this,this.na(2072)),Q(this,this.na(2074)),I(this,this.na(2092)),this.Dc=this.na(2126)|this.Qa(2128)<<16,this.zd=this.Dc+this.na(2130),this.Lc=this.na(2138)|
this.Qa(2140)<<16,this.Sd=this.Lc+this.na(2142),md(this.Bc,2132,this.na(2076)),md(this.Sa,2144,this.na(2070)),this.A-=195)};je[6]=function(){this.pa?D.call(this,13,0):(this.Za&=-9,this.A-=2)};je[11]=Jd;je[166]=Jd;je[255]=Jd;var N=[];N[5]=Jd;
N[7]=function(){if(this.pa)D.call(this,13,0,0,!0);else{var a=this.Xa.mc(this.J&this.Ba,204);if(-1!==a){tj.call(this,this.oa(a));var b=this.oa(a+168),c=(b&24576)>>13;Bd(this,this.oa(a+4),c);this.Dc=this.oa(a+112);this.zd=this.Dc+this.oa(a+116);this.Lc=this.oa(a+100);this.Sd=this.Lc+this.oa(a+104);ld(this.Bc,this.oa(a+56),this.oa(a+120),this.oa(a+124),this.oa(a+128));ld(this.Sa,this.oa(a+52),this.oa(a+84),this.oa(a+88),this.oa(a+92));this.J=this.oa(a+12);this.K=this.oa(a+16);this.P=this.oa(a+20);this.H=
je[5]=function(){this.pa?D.call(this,13,0,0,!0):(Kf(this,this.na(2054)),this.J=this.na(2086),this.K=this.na(2088),this.P=this.na(2090),this.H=this.na(2094),this.M=this.na(2096),this.I=this.na(2098),this.G=this.na(2100),md(this.Xa,2102,this.na(2084)),md(this.wa,2108,this.na(2082)),md(this.ta,2114,this.na(2080)),md(this.vb,2120,this.na(2078)),Bd(this,this.na(2072)),Q(this,this.na(2074)),I(this,this.na(2092)),this.Ec=this.na(2126)|this.Qa(2128)<<16,this.zd=this.Ec+this.na(2130),this.Mc=this.na(2138)|
this.Qa(2140)<<16,this.Sd=this.Mc+this.na(2142),md(this.Bc,2132,this.na(2076)),md(this.Sa,2144,this.na(2070)),this.A-=195)};je[6]=function(){this.pa?D.call(this,13,0):(this.Za&=-9,this.A-=2)};je[11]=Jd;je[166]=Jd;je[255]=Jd;var N=[];N[5]=Jd;
N[7]=function(){if(this.pa)D.call(this,13,0,0,!0);else{var a=this.Xa.mc(this.J&this.Ba,204);if(-1!==a){tj.call(this,this.oa(a));var b=this.oa(a+168),c=(b&24576)>>13;Bd(this,this.oa(a+4),c);this.Ec=this.oa(a+112);this.zd=this.Ec+this.oa(a+116);this.Mc=this.oa(a+100);this.Sd=this.Mc+this.oa(a+104);ld(this.Bc,this.oa(a+56),this.oa(a+120),this.oa(a+124),this.oa(a+128));ld(this.Sa,this.oa(a+52),this.oa(a+84),this.oa(a+88),this.oa(a+92));this.J=this.oa(a+12);this.K=this.oa(a+16);this.P=this.oa(a+20);this.H=
this.oa(a+28);this.M=this.oa(a+32);this.I=this.oa(a+36);this.G=this.oa(a+40);ld(this.Ob,this.oa(a+60),this.oa(a+132),this.oa(a+136),this.oa(a+140));ld(this.Nb,this.oa(a+64),this.oa(a+144),this.oa(a+148),this.oa(a+152));ld(this.vb,this.oa(a+68),this.oa(a+156),this.oa(a+160),this.oa(a+164));ld(this.ta,this.oa(a+72),b,this.oa(a+172),this.oa(a+176));ld(this.wa,this.oa(a+76),this.oa(a+180),this.oa(a+184),this.oa(a+188));ld(this.Xa,this.oa(a+80),this.oa(a+192),this.oa(a+196),this.oa(a+200));Q(this,this.oa(a+
8));I(this,this.oa(a+24))}this.A-=122<<(a&3?1:0)}};N[16]=Yj;N[17]=Zj;N[18]=ak;N[19]=bk;N[32]=function(){if(this.pa)D.call(this,13,0);else{var a,b=this.xa();switch((b&56)>>3){case 0:a=this.Za;break;case 2:a=this.se;break;case 3:a=this.Od;break;default:ke.call(this);return}ze(this,b&7,a);this.A-=6}};N[33]=function(){if(this.pa)D.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;4==b||5==b?ke.call(this):(ze(this,a&7,this.Ja[b]),this.A-=22)}};
N[34]=function(){if(this.pa)D.call(this,13,0);else{var a=this.xa(),b=ye(this,a&7);switch((a&56)>>3){case 0:tj.call(this,b);this.A-=10;break;case 2:this.se=b;this.A-=4;break;case 3:Dd.call(this,b);this.A-=5;break;default:ke.call(this)}}};N[35]=function(){if(this.pa)D.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;4==b||5==b?ke.call(this):(a=ye(this,a&7),a!=this.Ja[b]&&(kf(this,!1),this.Ja[b]=a,kf(this,!0)),this.A-=4>b?22:14)}};
@ -363,48 +363,48 @@ N[182]=function(){this.Oa.call(this,gi);switch(this.L>>3&7){case 0:this.G=this.G
N[188]=function(){this.V.call(this,Dh)};N[189]=function(){this.V.call(this,Eh)};
N[190]=function(){this.Oa.call(this,gi);switch(this.L>>3&7){case 0:this.G=this.G&~this.R|(this.G&255)<<24>>24&this.R;break;case 1:this.I=this.I&~this.R|(this.I&255)<<24>>24&this.R;break;case 2:this.M=this.M&~this.R|(this.M&255)<<24>>24&this.R;break;case 3:this.H=this.H&~this.R|(this.H&255)<<24>>24&this.R;break;case 4:this.gb=this.gb&~this.R|this.G<<16>>24&this.R;this.G=this.aa;break;case 5:this.P=this.P&~this.R|this.I<<16>>24&this.R;this.I=this.aa;break;case 6:this.K=this.K&~this.R|this.M<<16>>24&
this.R;this.M=this.aa;break;case 7:this.J=this.J&~this.R|this.H<<16>>24&this.R,this.H=this.aa}this.A-=-1===this.D?3:6};N[191]=function(){vd(this,2);this.V.call(this,hi);switch(this.L>>3&7){case 0:this.G=this.G<<16>>16;break;case 1:this.I=this.I<<16>>16;break;case 2:this.M=this.M<<16>>16;break;case 3:this.H=this.H<<16>>16;break;case 4:this.gb=this.gb<<16>>16;break;case 5:this.P=this.P<<16>>16;break;case 6:this.K=this.K<<16>>16;break;case 7:this.J=this.J<<16>>16}this.A-=-1===this.D?3:6};
var lf=[function(){this.A-=2+(-1===this.D?0:1);return this.Bc.Z},function(){this.A-=2+(-1===this.D?0:1);return this.Sa.Z},function(a){this.S|=2;this.Bc.load(a);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;-1!==this.Sa.load(a)&&(this.jb(this.Sa.Xb+4,this.Sa.wb|=512),this.Sa.type|=512);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Da.load(a)&&2048!=(this.Da.wb&2560)&&(this.Da.Fc>=this.pa&&this.Da.Fc>=(a&3)||7168==(this.Da.wb&7168)))return Jf(this),
a;Hf(this);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Da.load(a)&&512==(this.Da.wb&2560)&&this.Da.Fc>=this.pa&&this.Da.Fc>=(a&3))return Jf(this),a;Hf(this);return a},Rh,Rh],Id=[he,he,he,he,he,he,Rh,Rh],rk=[function(a){if(-1===this.D)D.call(this,6);else{a=this.zd-this.Dc;var b=this.Dc;80286==this.ja?b|=-16777216:80386<=this.ja&&2!=this.ba&&(a|=b<<16);this.nb(this.D+2,b);this.A-=11}return a},function(a){if(-1===this.D)D.call(this,6);else{a=this.Sd-this.Lc;var b=this.Lc;
80286==this.ja?b|=-16777216:80386<=this.ja&&2!=this.ba&&(a|=b<<16);this.nb(this.D+2,b);this.A-=12}return a},function(a){-1===this.D||this.ca&131072?D.call(this,6):(this.Dc=this.oa(this.D+2)&(this.R|this.R<<8),a&=65535,this.zd=this.Dc+a,this.S|=2,this.A-=11);return a},function(a){-1===this.D||this.ca&131072?D.call(this,6):(this.Lc=this.oa(this.D+2)&(this.R|this.R<<8),a&=65535,this.Sd=this.Lc+a,this.S|=2,this.A-=12);return a},function(){this.A-=2+(-1===this.D?0:1);return this.Za},Rh,function(a){this.ca&
var lf=[function(){this.A-=2+(-1===this.D?0:1);return this.Bc.Z},function(){this.A-=2+(-1===this.D?0:1);return this.Sa.Z},function(a){this.S|=2;this.Bc.load(a);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;-1!==this.Sa.load(a)&&(this.jb(this.Sa.Xb+4,this.Sa.wb|=512),this.Sa.type|=512);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Da.load(a)&&2048!=(this.Da.wb&2560)&&(this.Da.Gc>=this.pa&&this.Da.Gc>=(a&3)||7168==(this.Da.wb&7168)))return Jf(this),
a;Hf(this);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Da.load(a)&&512==(this.Da.wb&2560)&&this.Da.Gc>=this.pa&&this.Da.Gc>=(a&3))return Jf(this),a;Hf(this);return a},Rh,Rh],Id=[he,he,he,he,he,he,Rh,Rh],rk=[function(a){if(-1===this.D)D.call(this,6);else{a=this.zd-this.Ec;var b=this.Ec;80286==this.ja?b|=-16777216:80386<=this.ja&&2!=this.ba&&(a|=b<<16);this.nb(this.D+2,b);this.A-=11}return a},function(a){if(-1===this.D)D.call(this,6);else{a=this.Sd-this.Mc;var b=this.Mc;
80286==this.ja?b|=-16777216:80386<=this.ja&&2!=this.ba&&(a|=b<<16);this.nb(this.D+2,b);this.A-=12}return a},function(a){-1===this.D||this.ca&131072?D.call(this,6):(this.Ec=this.oa(this.D+2)&(this.R|this.R<<8),a&=65535,this.zd=this.Ec+a,this.S|=2,this.A-=11);return a},function(a){-1===this.D||this.ca&131072?D.call(this,6):(this.Mc=this.oa(this.D+2)&(this.R|this.R<<8),a&=65535,this.Sd=this.Mc+a,this.S|=2,this.A-=12);return a},function(){this.A-=2+(-1===this.D?0:1);return this.Za},Rh,function(a){this.ca&
131072?D.call(this,6):(Kf(this,a),this.A-=-1===this.D?3:6,this.S|=2);return a},Rh],sk=[Rh,Rh,Rh,Rh,Fh,Ih,Hh,Gh];
function tk(a){Za.call(this,"ChipSet",a,tk,32768);var b=a.model;b&&!uk[b]&&x("Unrecognized ChipSet model: "+b);this.ja=uk[b]||vk;this.C=[];b=wk(a[xk]);this.C[0]=[b,b];null==b&&(this.ia=[360,360],(b=a.floppies)&&b.length&&(this.ia=b),yk(this,zk,this.ia.length),yk(this,Ak,a.monitor||(this.ja<gg?"mono":"ega")));b=wk(a[Bk]);this.C[1]=[b,b];this.cb=this.Da=1;this.ja>=gg&&(this.cb=this.Da=2);this.ka=a.scaleTimers||!1;this.Ub=a.rtcDate;this.Db=!1;a.sound&&(this.sb=this.Fa=null,window&&(this.sb=window.AudioContext||
window.webkitAudioContext),this.sb&&(this.Fa=new this.sb));this.reset(!0);wb(this)}hb(tk);var vk=5150.9,gg=5170,uk={5150:5150,5160:5160,5170:gg,att6300:5160.101,mpc1600:5150.101,z150:5160.15,compaq:5150.102,other:vk,deskpro386:5180},xk="sw1",Bk="sw2",Ck={il:1,ONE:0,Ho:64,Fo:128,wo:192,Kc:192,Wg:6},Dk={Go:16,so:32,xo:48,Kc:48,Wg:4},zk=1,Ak=4,Ek={5150:[{},{}]};Ek[5150][0][zk]={Kc:192,gd:{1:0,2:64,3:128,4:192},Pd:"Number of Floppy Drives"};Ek[5150][0][3]={Kc:2,gd:{0:0,1:2},Pd:"Coprocessor"};
Ek[5150][0][Ak]={Kc:48,gd:{0:0,1:16,2:32,3:48,none:0,tv:16,color:32,cga:32,mda:48,mono:48,ega:0,vga:0},Pd:"Monitor Type"};Ek[5150][0][5]={Kc:12,gd:{16:0,32:4,48:8,64:12},Pd:"Base Memory (16Kb Increments)"};Ek[5150][1][6]={Kc:31,gd:{0:0,32:1,64:2,96:3,128:4,160:5,192:6,224:7,256:8,288:9,320:10,352:11,384:12,416:13,448:14,480:15,512:16,544:17,576:18},Pd:"Expansion Memory (32Kb Increments)"};Ek[5160]=[{},{}];Ek[5160][0][zk]=Ek[5150][0][zk];Ek[5160][0][3]=Ek[5150][0][3];Ek[5160][0][Ak]=Ek[5150][0][Ak];
Ek[5160][0][5]={Kc:12,gd:{64:0,128:4,192:8,256:12},Pd:"Base Memory (64Kb Increments)"};Ek[5160][1][6]=Ek[5150][1][6];Ek[5160.101]=[{},{}];Ek[5160.101][0][5]={Kc:143,gd:{128:1,256:130,512:8,640:141},Pd:"Base Memory (128Kb Increments)"};Ek[5160.101][0][3]={Kc:16,gd:{0:0,1:16},Pd:"Coprocessor"};Ek[5160.101][1][2]={Kc:1,gd:{0:0,1:1},Pd:"Floppy Type"};Ek[5160.101][1][zk]=Ek[5150][0][zk];Ek[5160.101][1][Ak]=Ek[5150][0][Ak];m=tk.prototype;
window.webkitAudioContext),this.sb&&(this.Fa=new this.sb));this.reset(!0);wb(this)}hb(tk);var vk=5150.9,gg=5170,uk={5150:5150,5160:5160,5170:gg,att6300:5160.101,mpc1600:5150.101,z150:5160.15,compaq:5150.102,other:vk,deskpro386:5180},xk="sw1",Bk="sw2",Ck={il:1,ONE:0,Ho:64,Fo:128,wo:192,Lc:192,Wg:6},Dk={Go:16,so:32,xo:48,Lc:48,Wg:4},zk=1,Ak=4,Ek={5150:[{},{}]};Ek[5150][0][zk]={Lc:192,gd:{1:0,2:64,3:128,4:192},Pd:"Number of Floppy Drives"};Ek[5150][0][3]={Lc:2,gd:{0:0,1:2},Pd:"Coprocessor"};
Ek[5150][0][Ak]={Lc:48,gd:{0:0,1:16,2:32,3:48,none:0,tv:16,color:32,cga:32,mda:48,mono:48,ega:0,vga:0},Pd:"Monitor Type"};Ek[5150][0][5]={Lc:12,gd:{16:0,32:4,48:8,64:12},Pd:"Base Memory (16Kb Increments)"};Ek[5150][1][6]={Lc:31,gd:{0:0,32:1,64:2,96:3,128:4,160:5,192:6,224:7,256:8,288:9,320:10,352:11,384:12,416:13,448:14,480:15,512:16,544:17,576:18},Pd:"Expansion Memory (32Kb Increments)"};Ek[5160]=[{},{}];Ek[5160][0][zk]=Ek[5150][0][zk];Ek[5160][0][3]=Ek[5150][0][3];Ek[5160][0][Ak]=Ek[5150][0][Ak];
Ek[5160][0][5]={Lc:12,gd:{64:0,128:4,192:8,256:12},Pd:"Base Memory (64Kb Increments)"};Ek[5160][1][6]=Ek[5150][1][6];Ek[5160.101]=[{},{}];Ek[5160.101][0][5]={Lc:143,gd:{128:1,256:130,512:8,640:141},Pd:"Base Memory (128Kb Increments)"};Ek[5160.101][0][3]={Lc:16,gd:{0:0,1:16},Pd:"Coprocessor"};Ek[5160.101][1][2]={Lc:1,gd:{0:0,1:1},Pd:"Floppy Type"};Ek[5160.101][1][zk]=Ek[5150][0][zk];Ek[5160.101][1][Ak]=Ek[5150][0][Ak];m=tk.prototype;
m.Pb=function(a,b,c){switch(b){case xk:return this.qa[b]=c,Fk(this,0,b),!0;case Bk:if(5150==(this.ja|0)||5160.101==this.ja)return this.qa[b]=c,Fk(this,1,b),!0;break;case "swdesc":return this.qa[b]=c,!0}return!1};
m.Hc=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;this.X=a;this.Tb=Jb(a,"FPU");yk(this,3,this.Tb?1:0,!0);this.B=Jb(a,"Keyboard");this.gb=c.Y.Id/1193181;nc(b,this,Gk);rc(b,this,Hk);this.ja<gg?5160.101!=this.ja?(nc(b,this,Ik),rc(b,this,Jk)):(nc(b,this,Kk),rc(b,this,Lk)):(nc(b,this,Mk),rc(b,this,Nk),5180==(this.ja|0)&&(nc(b,this,Ok),rc(b,this,Pk)));if(d){var e=this;Qk(d,1024,function(){for(var a=0;a<e.vc.length;a++){for(var b=e.vc[a],c="PIC"+a+":",d=0;d<b.Yc.length;d++)c+=" IC"+(d+1)+"="+u(b.Yc[d]);
m.Ic=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;this.X=a;this.Tb=Jb(a,"FPU");yk(this,3,this.Tb?1:0,!0);this.B=Jb(a,"Keyboard");this.gb=c.Y.Id/1193181;nc(b,this,Gk);rc(b,this,Hk);this.ja<gg?5160.101!=this.ja?(nc(b,this,Ik),rc(b,this,Jk)):(nc(b,this,Kk),rc(b,this,Lk)):(nc(b,this,Mk),rc(b,this,Nk),5180==(this.ja|0)&&(nc(b,this,Ok),rc(b,this,Pk)));if(d){var e=this;Qk(d,1024,function(){for(var a=0;a<e.vc.length;a++){for(var b=e.vc[a],c="PIC"+a+":",d=0;d<b.Yc.length;d++)c+=" IC"+(d+1)+"="+u(b.Yc[d]);
c+=" IMR="+u(b.Ad)+" IRR="+u(b.lc)+" ISR="+u(b.Pc)+" DELAY="+b.of;e.ha.O(c)}});Qk(d,2048,function(a){a=(a=a[0])?+a:null;for(var b=0;b<e.V.length;b++)if(null==a||b==a){Rk(e,b);var c=e.V[b],d="TIMER"+b+":",l=0;if(null!=c.md)for(var n=0;n<=c.md;n++)l|=c.Ab[n]<<8*n;d+=" mode="+(c.mode>>1)+" bytes="+c.md+" count="+v(l);e.ha.O(d)}});Qk(d,4096,function(){for(var a="",b=0;64>b;b++){var c=13>=b?Sk(e,b):e.A[b];a&&(a+="\n");a+="CMOS["+u(b)+"]: "+u(c)}e.ha.O(a)})}gf(c,26,this.Om.bind(this))};
m.gc=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.fc=function(a){return a?this.save():!0};
m.reset=function(a){var b;Tk(this);this.L=Array(this.cb);for(b=0;b<this.cb;b++)Uk(this,b);this.vc=Array(this.Da);Vk(this,0,32);1<this.Da&&Vk(this,1,160);this.Pa=this.Oa=null;this.V=Array(5180==(this.ja|0)?6:3);for(b=0;b<this.V.length;b++)Wk(this,b);this.Ca=this.rb=this.W=this.$a=null;this.ya=0;5160.101==this.ja&&(this.va=0);if(this.ja>=gg){this.N=16;this.ea=0;this.aa=16;this.Ja=0;this.fa=160;512<=Xk(this)&&(this.fa|=16);3==+Yk(this,Ak,void 0)&&(this.fa|=64);5180==(this.ja|0)&&(this.fa|=12);this.Ka=
3;this.ra=Array(8);this.pa=0;a&&(this.A=Array(64));Zk(this,this.Ub);for(a=21;24>=a;a++)this.A[a]=0;for(a=14;46>a;a++)void 0===this.A[a]&&(this.A[a]=0);a=0|+Yk(this,Ak,void 0)<<Dk.Wg&Dk.Kc;a|=+Yk(this,3,void 0)?2:0;b=+Yk(this,zk,void 0);a|=b?b-1<<Ck.Wg&Ck.Kc|Ck.il:0;this.A[20]=a;this.A[16]=$k(this,0)<<4|$k(this,1);al(this)}};
3;this.ra=Array(8);this.pa=0;a&&(this.A=Array(64));Zk(this,this.Ub);for(a=21;24>=a;a++)this.A[a]=0;for(a=14;46>a;a++)void 0===this.A[a]&&(this.A[a]=0);a=0|+Yk(this,Ak,void 0)<<Dk.Wg&Dk.Lc;a|=+Yk(this,3,void 0)?2:0;b=+Yk(this,zk,void 0);a|=b?b-1<<Ck.Wg&Ck.Lc|Ck.il:0;this.A[20]=a;this.A[16]=$k(this,0)<<4|$k(this,1);al(this)}};
function Zk(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.O("CMOS date invalid ("+b+"), using "+c)):b&&a.O("CMOS date: "+c);a.A[0]=c.getSeconds();a.A[1]=0;a.A[2]=c.getMinutes();a.A[3]=0;a.A[4]=c.getHours();a.A[5]=0;a.A[6]=c.getDay()+1;a.A[7]=c.getDate();a.A[8]=c.getMonth()+1;c=c.getFullYear();a.A[9]=c%100;c/=100;a.A[50]=c%10|c/10<<4;a.A[10]=38;a.A[11]=2;a.A[12]=0;a.A[13]=128;a.Ga=a.ua=0;a.Jb=a.fb=null}
function Sk(a,b){var c=a.A[b];if(10>b){var d=!1;4!=b&&5!=b||a.A[11]&2||(12>c?c=c?c:12:c=(c-=12)?c+128:140,d=!0);a.A[11]&4||(d&&128<c&&(c-=48),c=c%10|c/10<<4)}else 10==b&&(a.A[b]^=128);return c}function bl(a){var b;void 0===b&&(b=a.fb);a.ua=$c(a.F,a.ka)+b;a.A[11]&64&&bd(a.F,b)}function al(a){for(var b=0,c=16;46>c;c++)b+=a.A[c];a.A[47]=b&255;a.A[46]=b>>8}
m.save=function(){var a=new mf(this);O(a,0,[this.C]);for(var b=[],c=0;c<this.L;c++){for(var d=this.L[c],e=d,f=[],g=0;g<e.Cc.length;g++){var h=e.Cc[g];f[g]=[h.Ee,h.ng,h.Ec,h.Eb,h.Ab,h.mode,h.pg,h.lo,h.mo]}b[c]=[d.Yb,d.dh,d.cj,d.Kb,f,d.dj]}O(a,1,[b]);b=[];for(c=0;c<this.vc.length;c++)d=this.vc[c],b[c]=[d.of,d.Yc,d.Xd,d.Ad,d.lc,d.Pc,d.ye,d.Ef];O(a,2,[b]);b=[];for(c=0;c<this.V.length;c++)d=this.V[c],b[c]=[d.Ec,d.$c,d.Ab,d.ze,d.fh,d.mode,d.hg,d.Ed,d.md,d.td,d.bf,d.Be,d.vd,d.Yb,d.ff];O(a,3,[this.Oa,b,this.Pa]);
m.save=function(){var a=new mf(this);O(a,0,[this.C]);for(var b=[],c=0;c<this.L;c++){for(var d=this.L[c],e=d,f=[],g=0;g<e.Dc.length;g++){var h=e.Dc[g];f[g]=[h.Ee,h.ng,h.Fc,h.Eb,h.Ab,h.mode,h.pg,h.lo,h.mo]}b[c]=[d.Yb,d.dh,d.cj,d.Kb,f,d.dj]}O(a,1,[b]);b=[];for(c=0;c<this.vc.length;c++)d=this.vc[c],b[c]=[d.of,d.Yc,d.Xd,d.Ad,d.lc,d.Pc,d.ye,d.Ef];O(a,2,[b]);b=[];for(c=0;c<this.V.length;c++)d=this.V[c],b[c]=[d.Fc,d.$c,d.Ab,d.ze,d.fh,d.mode,d.hg,d.Ed,d.md,d.td,d.bf,d.Be,d.vd,d.Yb,d.ff];O(a,3,[this.Oa,b,this.Pa]);
O(a,4,[this.$a,this.W,this.rb,this.Ca,this.ya]);this.ja>=gg&&(O(a,5,[this.N,this.ea,this.aa,this.Ja,this.fa,this.Ka]),O(a,6,[this.ra[7],this.ra,this.pa,this.A,this.Ga,this.ua]));return a.data()};
m.restore=function(a){var b,c;b=a[0];Array.isArray(b[0])?this.C=b[0]:(this.C[0][0]=b[0],this.C[1][0]=b[1]&15,this.C[0][1]=b[2],this.C[1][1]=b[3]&15);Tk(this);b=a[1];for(c=0;c<this.cb;c++)Uk(this,c,1==b.length?b[0][c]:b);b=a[2];for(c=0;c<this.Da;c++)Vk(this,c,0===c?32:160,b[0][c]);b=a[3];this.Oa=b[0];this.Pa=b[2];for(c=0;c<this.V.length;c++)Wk(this,c,b[1][c]);b=a[4];this.$a=b[0];this.W=b[1];this.rb=b[2];this.Ca=b[3];this.ya=b[4];if(b=a[5])this.N=b[0],this.ea=b[1],this.aa=b[2],this.Ja=b[3],this.fa=
b[4],this.Ka=b[5];if(b=a[6])this.ra=b[1],this.ra[7]=b[0],this.pa=b[2],this.A=b[3],this.Ga=b[4],this.ua=b[5],Zk(this);return!0};m.start=function(){cl(this)};m.stop=function(){cl(this)};var dl=[0,null,null,0,Array(4),0];function Uk(a,b,c){var d=a.L[b];d||(d={Cc:Array(4)});c=c&&5<=c.length?c:dl;d.Yb=c[0];d.dh=c[1];d.cj=c[2];d.Kb=c[3];d.Ym=b<<2;for(var e=0;e<d.Cc.length;e++)el(d,e,c[4][e]);d.dj=c[5]||0;a.L[b]=d}var fl=[!0,[0,0],[0,0],[0,0],[0,0]];
function el(a,b,c){var d=a.Cc[b];d||(d={ng:[0,0],Ec:[0,0],Eb:[0,0],Ab:[0,0]});c=c&&8==c.length?c:fl;d.Ee=c[0];d.ng[0]=c[1][0];d.ng[1]=c[1][1];d.Ec[0]=c[2][0];d.Ec[1]=c[2][1];d.Eb[0]=c[3][0];d.Eb[1]=c[3][1];d.Ab[0]=c[4][0];d.Ab[1]=c[4][1];d.mode=c[5];d.pg=c[6];d.controller=a;d.xj=b;gl(d,c[8],c[9]);a.Cc[b]=d}function gl(a,b,c,d){"string"==typeof b&&(b=mb(b));b&&(a.done=null,a.lo=b.id,a.mo=c,a.ug=b,a.lh=b[c],a.Kg=d)}var hl=[0,Array(4)];
b[4],this.Ka=b[5];if(b=a[6])this.ra=b[1],this.ra[7]=b[0],this.pa=b[2],this.A=b[3],this.Ga=b[4],this.ua=b[5],Zk(this);return!0};m.start=function(){cl(this)};m.stop=function(){cl(this)};var dl=[0,null,null,0,Array(4),0];function Uk(a,b,c){var d=a.L[b];d||(d={Dc:Array(4)});c=c&&5<=c.length?c:dl;d.Yb=c[0];d.dh=c[1];d.cj=c[2];d.Kb=c[3];d.Ym=b<<2;for(var e=0;e<d.Dc.length;e++)el(d,e,c[4][e]);d.dj=c[5]||0;a.L[b]=d}var fl=[!0,[0,0],[0,0],[0,0],[0,0]];
function el(a,b,c){var d=a.Dc[b];d||(d={ng:[0,0],Fc:[0,0],Eb:[0,0],Ab:[0,0]});c=c&&8==c.length?c:fl;d.Ee=c[0];d.ng[0]=c[1][0];d.ng[1]=c[1][1];d.Fc[0]=c[2][0];d.Fc[1]=c[2][1];d.Eb[0]=c[3][0];d.Eb[1]=c[3][1];d.Ab[0]=c[4][0];d.Ab[1]=c[4][1];d.mode=c[5];d.pg=c[6];d.controller=a;d.xj=b;gl(d,c[8],c[9]);a.Dc[b]=d}function gl(a,b,c,d){"string"==typeof b&&(b=mb(b));b&&(a.done=null,a.lo=b.id,a.mo=c,a.ug=b,a.lh=b[c],a.Kg=d)}var hl=[0,Array(4)];
function Vk(a,b,c,d){var e=a.vc[b];e||(e={Yc:[null,null,null,null]});d=d&&8==d.length?d:hl;e.port=c;e.Ko=b<<3;e.of=d[0];e.Yc[0]=d[1][0];e.Yc[1]=d[1][1];e.Yc[2]=d[1][2];e.Yc[3]=d[1][3];e.Xd=d[2];e.Ad=d[3];e.lc=d[4];e.Pc=d[5];e.ye=d[6];e.Ef=d[7];a.vc[b]=e}var il=[[0,0],[0,0],[0,0],[0,0]];
function Wk(a,b,c){var d=a.V[b];d||(d={Ec:[0,0],$c:[0,0],Ab:[0,0],ze:[0,0]});c=c&&13<=c.length?c:il;d.Ec[0]=c[0][0];d.Ec[1]=c[0][1];d.$c[0]=c[1][0];d.$c[1]=c[1][1];d.Ab[0]=c[2][0];d.Ab[1]=c[2][1];d.ze[0]=c[3][0];d.ze[1]=c[3][1];d.fh=c[4];d.mode=c[5];d.hg=c[6];d.Ed=c[7];d.md=c[8];d.td=c[9];d.bf=c[10];d.Be=c[11];d.vd=c[12];d.Yb=c[13]||0;d.ff=c[14]||!1;a.V[b]=d}
function Fk(a,b,c){for(var d="",e=a.qa[c],f=1;8>=f;f++){var g="pcjs-bitCell";f||(g+=" pcjs-bitCellLeft");d+='<div id="'+(c+"-"+f)+'" class="'+g+'" data-value="0">'+f+"</div>\n"}e.innerHTML=d;jl(a,b,c,!0)}function kl(a,b,c){if(b=(a=Ek[a.ja|0])&&a[b])for(var d in b)if(a=b[d],a.Kc&1<<c)return a;return null}
function Yk(a,b,c){for(var d=null,e=Ek[a.ja]||Ek[a.ja|0]||Ek[5150],f=0;f<e.length;f++){var g=e[f];if(g&&(g=g[b])){a=a.C[f][c?0:1]&g.Kc;for(var h in g.gd)if(g.gd[h]==a&&(d=h,"number"==typeof+d))break;break}}return d}function $k(a,b){if(b<+Yk(a,zk,void 0)){if(!a.ia)return 1;if(b<a.ia.length)switch(a.ia[b]){case 160:case 180:case 320:case 360:return 1;case 720:return 3;case 1200:return 2;case 1440:return 4}}return 0}function Xk(a,b){return+Yk(a,5,b)+ +Yk(a,6,b)}
function wk(a,b){var c=b;if(a)for(var c=0,d=1,e=0;e<a.length;e++)"0"==a.charAt(e)&&(c|=d),d<<=1;return c}function yk(a,b,c,d){for(var e=Ek[a.ja]||Ek[a.ja|0]||Ek[5150],f=0;f<e.length;f++){var g=e[f];if(g&&(g=g[b]))for(var h in g.gd)if(h==c){a.C[f][d?0:1]&=~g.Kc;a.C[f][d?0:1]|=g.gd[h];return}}}function ll(a,b){a.setAttribute("data-value",b?"1":"0");a.style.color=b?"#ffffff":"#000000";a.style.backgroundColor=b?"#000000":"#ffffff"}function Tk(a){jl(a,0,xk);jl(a,1,Bk);ml(a)}
function Wk(a,b,c){var d=a.V[b];d||(d={Fc:[0,0],$c:[0,0],Ab:[0,0],ze:[0,0]});c=c&&13<=c.length?c:il;d.Fc[0]=c[0][0];d.Fc[1]=c[0][1];d.$c[0]=c[1][0];d.$c[1]=c[1][1];d.Ab[0]=c[2][0];d.Ab[1]=c[2][1];d.ze[0]=c[3][0];d.ze[1]=c[3][1];d.fh=c[4];d.mode=c[5];d.hg=c[6];d.Ed=c[7];d.md=c[8];d.td=c[9];d.bf=c[10];d.Be=c[11];d.vd=c[12];d.Yb=c[13]||0;d.ff=c[14]||!1;a.V[b]=d}
function Fk(a,b,c){for(var d="",e=a.qa[c],f=1;8>=f;f++){var g="pcjs-bitCell";f||(g+=" pcjs-bitCellLeft");d+='<div id="'+(c+"-"+f)+'" class="'+g+'" data-value="0">'+f+"</div>\n"}e.innerHTML=d;jl(a,b,c,!0)}function kl(a,b,c){if(b=(a=Ek[a.ja|0])&&a[b])for(var d in b)if(a=b[d],a.Lc&1<<c)return a;return null}
function Yk(a,b,c){for(var d=null,e=Ek[a.ja]||Ek[a.ja|0]||Ek[5150],f=0;f<e.length;f++){var g=e[f];if(g&&(g=g[b])){a=a.C[f][c?0:1]&g.Lc;for(var h in g.gd)if(g.gd[h]==a&&(d=h,"number"==typeof+d))break;break}}return d}function $k(a,b){if(b<+Yk(a,zk,void 0)){if(!a.ia)return 1;if(b<a.ia.length)switch(a.ia[b]){case 160:case 180:case 320:case 360:return 1;case 720:return 3;case 1200:return 2;case 1440:return 4}}return 0}function Xk(a,b){return+Yk(a,5,b)+ +Yk(a,6,b)}
function wk(a,b){var c=b;if(a)for(var c=0,d=1,e=0;e<a.length;e++)"0"==a.charAt(e)&&(c|=d),d<<=1;return c}function yk(a,b,c,d){for(var e=Ek[a.ja]||Ek[a.ja|0]||Ek[5150],f=0;f<e.length;f++){var g=e[f];if(g&&(g=g[b]))for(var h in g.gd)if(h==c){a.C[f][d?0:1]&=~g.Lc;a.C[f][d?0:1]|=g.gd[h];return}}}function ll(a,b){a.setAttribute("data-value",b?"1":"0");a.style.color=b?"#ffffff":"#000000";a.style.backgroundColor=b?"#000000":"#ffffff"}function Tk(a){jl(a,0,xk);jl(a,1,Bk);ml(a)}
function jl(a,b,c,d){if(c=a.qa[c]){d=d?a.C[b][0]:a.C[b][1]=a.C[b][0];c=rb(c,"pcjs-bitCell");for(var e=0;e<c.length;e++){var f=kl(a,b,e);c[e].setAttribute("title",f&&f.Pd||"Reserved");ll(c[e],d&1<<e?!1:!0);c[e].onclick=function(a,b){return function(){var c="1"!=b.getAttribute("data-value");ll(b,c);var d=b.getAttribute("id").split("-"),e=1<<+d[1]-1;switch(d[0]){case xk:a.C[0][0]=a.C[0][0]&~e|(c?0:e);break;case Bk:a.C[1][0]=a.C[1][0]&~e|(c?0:e)}ml(a)}}(a,c[e])}}}
function ml(a){var b=a.qa.swdesc;if(null!=b){var c;c=""+(Xk(a,!0)+"Kb");c+=", "+(+ +Yk(a,3,!0)?"":"No ")+"Coprocessor";c+=", "+{0:"Enhanced Color",1:"TV",2:"Color",3:"Monochrome"}[+Yk(a,Ak,!0)]+" Monitor";c+=", "+ +Yk(a,zk,!0)+" Floppy Drives";if(null!=a.C[0][1]&&a.C[0][1]!=a.C[0][0]||null!=a.C[1][1]&&a.C[1][1]!=a.C[1][0])c+=" (Reset required)";b.textContent=c}}
function nl(a,b,c,d,e){var f=a.L[b],g=f.Cc[c],h=g.Eb[f.Kb];B(a,768)&&y(a,d,null,e,"DMA"+b+".CHANNEL"+c+".ADDR["+f.Kb+"]",h,!0);f.Kb^=1;b||0!=c||f.Kb||(g.Eb[0]++,255<g.Eb[0]&&(g.Eb[0]=0,g.Eb[1]++,255<g.Eb[1]&&(g.Eb[1]=0)));return h}function ol(a,b,c,d,e,f){var g=a.L[b];B(a,768)&&y(a,d,e,f,"DMA"+b+".CHANNEL"+c+".ADDR["+g.Kb+"]",null,!0);a=g.Cc[c];a.Eb[g.Kb]=a.ng[g.Kb]=e;g.Kb^=1}
function pl(a,b,c,d,e){var f=a.L[b],g=f.Cc[c],h=g.Ab[f.Kb];B(a,768)&&y(a,d,null,e,"DMA"+b+".CHANNEL"+c+".COUNT["+f.Kb+"]",h,!0);f.Kb^=1;b||0!=c||f.Kb||(g.Ab[0]--,0>g.Ab[0]&&(g.Ab[0]=255,g.Ab[1]--,0>g.Ab[1]&&(g.Ab[1]=255)));return h}function ql(a,b,c,d,e,f){var g=a.L[b];B(a,768)&&y(a,d,e,f,"DMA"+b+".CHANNEL"+c+".COUNT["+g.Kb+"]",null,!0);a=g.Cc[c];a.Ab[g.Kb]=a.Ec[g.Kb]=e;g.Kb^=1}function rl(a,b,c,d){var e=a.L[b],f=e.Yb|1;e.Yb&=-16;B(a,768)&&y(a,c,null,d,"DMA"+b+".STATUS",f,!0);return f}
function sl(a,b,c,d,e){var f=a.L[b];B(a,768)&&y(a,c,d,e,"DMA"+b+".REQ",null,!0);a=d&3;f.Yb=f.Yb&~(16<<a)|(d&4)<<a+2;f.cj=d}function tl(a,b,c,d,e){var f=a.L[b];B(a,768)&&y(a,c,d,e,"DMA"+b+".MASK",null,!0);b=d&3;c=f.Cc[b];c.Ee=!!(d&4);c.Ee||ul(a,f.Ym+b)}function vl(a,b,c,d,e){B(a,768)&&y(a,c,d,e,"DMA"+b+".MODE",null,!0);a.L[b].Cc[d&3].mode=d}function wl(a,b,c,d){var e=a.L[b].dj;B(a,768)&&y(a,c,null,d,"DMA"+b+".TEMP",e,!0);return e}
function xl(a,b,c,d,e){B(a,768)&&y(a,c,d,e,"DMA"+b+".MASTER_CLEAR",null,!0);a=a.L[b];for(b=0;b<a.Cc.length;b++)el(a,b)}function yl(a,b,c,d,e){var f=a.L[b].Cc[c].pg;B(a,768)&&y(a,d,null,e,"DMA"+b+".CHANNEL"+c+".PAGE",f,!0);return f}function zl(a,b,c,d,e,f){B(a,768)&&y(a,d,e,f,"DMA"+b+".CHANNEL"+c+".PAGE",null,!0);a.L[b].Cc[c].pg=e}function Al(a,b,c,d){var e=a.ra[b];B(a,768)&&y(a,c,null,d,"DMA.SPARE"+b+".PAGE",e,!0);return e}
function Bl(a,b,c,d,e){B(a,768)&&y(a,c,d,e,"DMA.SPARE"+b+".PAGE",null,!0);a.ra[b]=d}function Cl(a,b,c,d,e){gl(a.L[b>>2].Cc[b&3],c,d,e)}function ul(a,b,c){b=a.L[b>>2].Cc[b&3];b.ug&&b.lh&&b.Kg?(c&&(b.done=c),b.Ee||Dl(a,b,!0)):c&&c(!0)}
function nl(a,b,c,d,e){var f=a.L[b],g=f.Dc[c],h=g.Eb[f.Kb];B(a,768)&&y(a,d,null,e,"DMA"+b+".CHANNEL"+c+".ADDR["+f.Kb+"]",h,!0);f.Kb^=1;b||0!=c||f.Kb||(g.Eb[0]++,255<g.Eb[0]&&(g.Eb[0]=0,g.Eb[1]++,255<g.Eb[1]&&(g.Eb[1]=0)));return h}function ol(a,b,c,d,e,f){var g=a.L[b];B(a,768)&&y(a,d,e,f,"DMA"+b+".CHANNEL"+c+".ADDR["+g.Kb+"]",null,!0);a=g.Dc[c];a.Eb[g.Kb]=a.ng[g.Kb]=e;g.Kb^=1}
function pl(a,b,c,d,e){var f=a.L[b],g=f.Dc[c],h=g.Ab[f.Kb];B(a,768)&&y(a,d,null,e,"DMA"+b+".CHANNEL"+c+".COUNT["+f.Kb+"]",h,!0);f.Kb^=1;b||0!=c||f.Kb||(g.Ab[0]--,0>g.Ab[0]&&(g.Ab[0]=255,g.Ab[1]--,0>g.Ab[1]&&(g.Ab[1]=255)));return h}function ql(a,b,c,d,e,f){var g=a.L[b];B(a,768)&&y(a,d,e,f,"DMA"+b+".CHANNEL"+c+".COUNT["+g.Kb+"]",null,!0);a=g.Dc[c];a.Ab[g.Kb]=a.Fc[g.Kb]=e;g.Kb^=1}function rl(a,b,c,d){var e=a.L[b],f=e.Yb|1;e.Yb&=-16;B(a,768)&&y(a,c,null,d,"DMA"+b+".STATUS",f,!0);return f}
function sl(a,b,c,d,e){var f=a.L[b];B(a,768)&&y(a,c,d,e,"DMA"+b+".REQ",null,!0);a=d&3;f.Yb=f.Yb&~(16<<a)|(d&4)<<a+2;f.cj=d}function tl(a,b,c,d,e){var f=a.L[b];B(a,768)&&y(a,c,d,e,"DMA"+b+".MASK",null,!0);b=d&3;c=f.Dc[b];c.Ee=!!(d&4);c.Ee||ul(a,f.Ym+b)}function vl(a,b,c,d,e){B(a,768)&&y(a,c,d,e,"DMA"+b+".MODE",null,!0);a.L[b].Dc[d&3].mode=d}function wl(a,b,c,d){var e=a.L[b].dj;B(a,768)&&y(a,c,null,d,"DMA"+b+".TEMP",e,!0);return e}
function xl(a,b,c,d,e){B(a,768)&&y(a,c,d,e,"DMA"+b+".MASTER_CLEAR",null,!0);a=a.L[b];for(b=0;b<a.Dc.length;b++)el(a,b)}function yl(a,b,c,d,e){var f=a.L[b].Dc[c].pg;B(a,768)&&y(a,d,null,e,"DMA"+b+".CHANNEL"+c+".PAGE",f,!0);return f}function zl(a,b,c,d,e,f){B(a,768)&&y(a,d,e,f,"DMA"+b+".CHANNEL"+c+".PAGE",null,!0);a.L[b].Dc[c].pg=e}function Al(a,b,c,d){var e=a.ra[b];B(a,768)&&y(a,c,null,d,"DMA.SPARE"+b+".PAGE",e,!0);return e}
function Bl(a,b,c,d,e){B(a,768)&&y(a,c,d,e,"DMA.SPARE"+b+".PAGE",null,!0);a.ra[b]=d}function Cl(a,b,c,d,e){gl(a.L[b>>2].Dc[b&3],c,d,e)}function ul(a,b,c){b=a.L[b>>2].Dc[b&3];b.ug&&b.lh&&b.Kg?(c&&(b.done=c),b.Ee||Dl(a,b,!0)):c&&c(!0)}
function Dl(a,b,c){c&&(b.count=b.Ab[1]<<8|b.Ab[0],b.type=b.mode&12,b.tj=b.vg=!1);for(var d=!1;0<=b.count&&(c=b.pg<<16|b.Eb[1]<<8|b.Eb[0],4==b.type?(d=!0,function(c){b.lh.call(b.ug,b.Kg,-1,function(f,g){0>f&&(b.tj||(b.tj=!0),f=255);b.Ee||a.ga.qc(c,f);(d=g)&&setTimeout(function(){El(b)||Dl(a,b)},0)})}(c)):8==b.type?(c=a.ga.Qa(c),0>b.lh.call(b.ug,b.Kg,c)&&(b.vg=!0)):0!=b.type&&(b.vg=!0)),!d&&!El(b););}
function El(a){if(!a.vg&&0<=--a.count&&(a.mode&32?(a.Eb[0]--,0>a.Eb[0]&&(a.Eb[0]=255,a.Eb[1]--,0>a.Eb[1]&&(a.Eb[1]=255))):(a.Eb[0]++,255<a.Eb[0]&&(a.Eb[0]=0,a.Eb[1]++,255<a.Eb[1]&&(a.Eb[1]=0))),!a.Ee))return!1;var b=a.controller;b.Yb=b.Yb&~(16<<a.xj)|1<<a.xj;a.mode&16||(a.Ee=!0,a.ug=a.Kg=null);a.done&&(a.done(!a.vg),a.done=null);return!0}function Fl(a,b,c){var d=0,e=a.vc[b];if(null!=e.Ef)switch(e.Ef&3){case 2:d=e.lc;break;case 3:d=e.Pc}B(a,34048)&&y(a,e.port,null,c,"PIC"+b,d,!0);return d}
function Gl(a,b,c,d){var e=a.vc[b];B(a,34048)&&y(a,e.port,c,d,"PIC"+b,null,!0);if(c&16)e.Xd=0,e.Yc[e.Xd++]=c,e.Ad=0,e.ye=7,e.lc=e.Pc=0,e.Ef=10;else if(c&8)c&100&&B(a,1073741824)&&z(a,"PIC"+b+"("+u(e.port)+"): unsupported OCW3 command "+u(c),!0,!0),e.Ef=c;else if(d=c&224,d&32){var f,g=0;if(96==(d&96))g=1<<(c&7);else for(f=e.ye+1;;){f&=7;var h=1<<f;if(e.Pc&h){g=h;break}if(f++==e.ye)break}e.Pc&g&&(e.Pc&=~g,Hl(a));d&128&&B(a,1073741824)&&z(a,"PIC"+b+"("+u(e.port)+"): unsupported OCW2 rotate command "+
u(c),!0,!0)}else 192==d?e.ye=c&7:B(a,1073741824)&&z(a,"PIC"+b+"("+u(e.port)+"): unsupported OCW2 automatic EOI command "+u(c),!0,!0)}function Il(a,b,c){var d=a.vc[b],e=d.Ad;B(a,34048)&&y(a,d.port+1,null,c,"PIC"+b,e,!0);return e}function Jl(a,b,c,d){var e=a.vc[b];B(a,34048)&&y(a,e.port+1,c,d,"PIC"+b,null,!0);e.Xd<e.Yc.length?(e.Yc[e.Xd++]=c,2==e.Xd&&e.Yc[0]&2&&e.Xd++,3!=e.Xd||e.Yc[0]&1||e.Xd++):(e.Ad=c,d=a.F,d.S|=4,Hl(a,b||253!=c?0:6))}
function ig(a,b,c){var d=a.vc[b>>3];b=1<<(b&7);d.lc&b||(d.lc|=b,d.of=c||0,Hl(a))}function hg(a,b){var c=a.vc[b>>3],d=1<<(b&7);c.lc&d&&(c.lc&=~d,Hl(a))}function Hl(a,b){var c,d=-1;1<a.Da&&(c=a.vc[1],d=~(c.Pc|c.Ad)&c.lc);c=a.vc[0];0<=d&&(c.lc=d?c.lc|4:c.lc&-5);var d=~(c.Pc|c.Ad)&c.lc,e=a.F;e.N&&(e.ua=d?e.ua|1:e.ua&-2);d&&b&&(c.of=b)}
function Yf(a,b){void 0===b&&(b=0);var c=-1,d=a.vc[b];if(d.of)c=-2,d.of--;else for(var e=d.lc&((d.Pc|d.Ad)^255),f=d.ye+1;;){var f=f&7,g=1<<f;if(d.Pc&g)break;if(e&g){b||2!=f?c=d.Yc[1]+f:c=Yf(a,1);0<=c&&(d.Pc|=g,d.lc&=~g);break}if(f++==d.ye)break}return c}function Kl(a,b,c,d,e){var f;f=b?3:0;var g=a.V[f+c];g.ff?(f=g.Yb,g.ff=!1):(g.Ed==g.md&&Ll(a,f+c),g.bf?(f=g.ze[g.Ed++],g.Ed==g.md&&(g.bf=!1)):(Rk(a,f+c),f=g.Ab[g.Ed++]));B(a,2304)&&y(a,d,null,e,"PIT"+b+".TIMER"+c,f,!0);return f}
function Ml(a,b,c,d,e,f){B(a,2304)&&y(a,d,e,f,"PIT"+b+".TIMER"+c,null,!0);f=b?3:0;d=a.V[f+c];d.Ed==d.md&&Ll(a,f+c);d.Ec[d.Ed++]=e;d.Ed==d.md&&(d.Be&&0!=d.mode&&8!=d.mode||(d.bf=!1,d.Ab[0]=d.$c[0]=d.Ec[0],d.Ab[1]=d.$c[1]=d.Ec[1],d.vd=$c(a.F,a.ka),d.Be=!0,d.td=0!=d.mode,0==b&&0==c&&(hg(a,0),e=Nl(a,0)*a.gb|0,6==d.mode&&(e>>=1),bd(a.F,e))),0==b&&2==c&&cl(a))}function Ol(a,b,c,d){y(a,c,null,d,"PIT"+b+".CTRL",null,2048);return b?a.Pa:a.Oa}
function Pl(a,b,c,d,e){y(a,c,d,e,"PIT"+b+".CTRL",null,2048);e=0;c=d&192;b?(e=3,a.Pa=d):a.Oa=d;if(192==c){if(!(d&16))for(c=0;2>=c;c++)if(d&2<<c){b=e+c;var f=a.V[b];f.ff||(Rk(a,b),f.Yb=f.fh|f.mode|f.hg|(f.Ed<f.md?64:0)|(f.td?128:0),f.ff=!0)}if(!(d&32))for(c=0;2>=c;c++)d&2<<c&&Ql(a,e+c)}else{c>>=6;var f=d&1,g=d&14;d&=48;if(0==d)Ql(a,e+c);else{e=e+c;var h=a.V[e];h.hg=d;h.mode=g;h.fh=f;h.Ec=[0,0];h.Ab=[0,0];h.ze=[0,0];h.td=!1;h.bf=!1;h.Be=!1;h.ff=!1;Ll(a,e);0==b&&0==c&&hg(a,0);0==b&&2==c&&255==a.vc[0].Ad&&
77==a.W&&(b=a.V[0],b.$c[0]=b.Ec[0],b.$c[1]=b.Ec[1],b.vd=$c(a.F,a.ka))}}}function Nl(a,b){var c=a.V[b],d=c.Ec[1]<<8|c.Ec[0];d||(d=1==c.md?256:65536);return d}function fd(a,b){var c=a.V[b],d=c.$c[1]<<8|c.$c[0];d||(d=1==c.md?256:65536);return d}function Ql(a,b){Rk(a,b);var c=a.V[b];c.ze[0]=c.Ab[0];c.ze[1]=c.Ab[1];c.bf=!0;Ll(a,b)}function Ll(a,b){var c=a.V[b];c.Ed=32==c.hg?1:0;c.md=48==c.hg?2:1}
function Ml(a,b,c,d,e,f){B(a,2304)&&y(a,d,e,f,"PIT"+b+".TIMER"+c,null,!0);f=b?3:0;d=a.V[f+c];d.Ed==d.md&&Ll(a,f+c);d.Fc[d.Ed++]=e;d.Ed==d.md&&(d.Be&&0!=d.mode&&8!=d.mode||(d.bf=!1,d.Ab[0]=d.$c[0]=d.Fc[0],d.Ab[1]=d.$c[1]=d.Fc[1],d.vd=$c(a.F,a.ka),d.Be=!0,d.td=0!=d.mode,0==b&&0==c&&(hg(a,0),e=Nl(a,0)*a.gb|0,6==d.mode&&(e>>=1),bd(a.F,e))),0==b&&2==c&&cl(a))}function Ol(a,b,c,d){y(a,c,null,d,"PIT"+b+".CTRL",null,2048);return b?a.Pa:a.Oa}
function Pl(a,b,c,d,e){y(a,c,d,e,"PIT"+b+".CTRL",null,2048);e=0;c=d&192;b?(e=3,a.Pa=d):a.Oa=d;if(192==c){if(!(d&16))for(c=0;2>=c;c++)if(d&2<<c){b=e+c;var f=a.V[b];f.ff||(Rk(a,b),f.Yb=f.fh|f.mode|f.hg|(f.Ed<f.md?64:0)|(f.td?128:0),f.ff=!0)}if(!(d&32))for(c=0;2>=c;c++)d&2<<c&&Ql(a,e+c)}else{c>>=6;var f=d&1,g=d&14;d&=48;if(0==d)Ql(a,e+c);else{e=e+c;var h=a.V[e];h.hg=d;h.mode=g;h.fh=f;h.Fc=[0,0];h.Ab=[0,0];h.ze=[0,0];h.td=!1;h.bf=!1;h.Be=!1;h.ff=!1;Ll(a,e);0==b&&0==c&&hg(a,0);0==b&&2==c&&255==a.vc[0].Ad&&
77==a.W&&(b=a.V[0],b.$c[0]=b.Fc[0],b.$c[1]=b.Fc[1],b.vd=$c(a.F,a.ka))}}}function Nl(a,b){var c=a.V[b],d=c.Fc[1]<<8|c.Fc[0];d||(d=1==c.md?256:65536);return d}function fd(a,b){var c=a.V[b],d=c.$c[1]<<8|c.$c[0];d||(d=1==c.md?256:65536);return d}function Ql(a,b){Rk(a,b);var c=a.V[b];c.ze[0]=c.Ab[0];c.ze[1]=c.Ab[1];c.bf=!0;Ll(a,b)}function Ll(a,b){var c=a.V[b];c.Ed=32==c.hg?1:0;c.md=48==c.hg?2:1}
function Rk(a,b,c){var d=a.V[b];if(d.Be&&(2!=b||a.W&1)){var e=$c(a.F,a.ka),f=(e-d.vd)/a.gb|0;0>f&&(d.vd=e,f=0);var g=Nl(a,b),h=fd(a,b)-f;0==d.mode?(0>=h&&(h=0),h||(d.td=!0,d.Be=!1,b||ig(a,0))):4==d.mode?(d.td=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.$c[0]=h&255,d.$c[1]=h>>8&255,d.vd=e,!b&&d.td&&ig(a,0))):6==d.mode&&(h-=f,0>=h&&(d.td=!d.td,h=g+h,0>=h&&(h=g),d.$c[0]=h&255,d.$c[1]=h>>8&255,d.vd=e,!b&&d.td&&ig(a,0)));d.Ab[0]=h&255;d.Ab[1]=h>>8&255;c&&(a.vd=0)}return d}
function ed(a,b){for(var c=0;c<a.V.length;c++)Rk(a,c,b);if(a.ja>=gg){var c=a.F.Y.Id,d=$c(a.F,a.ka);null==a.fb&&(a.Ga=$c(a.F,a.ka),a.Jb=1024,a.fb=Math.floor(a.F.Y.Id/a.Jb),bl(a));d>=a.ua&&(a.A[12]|=64,a.A[11]&64&&(a.A[12]|=128,ig(a,8)),a.ua=d+a.fb);a.A[0]==a.A[1]&&a.A[2]==a.A[3]&&a.A[4]==a.A[5]&&(a.A[12]|=32,a.A[11]&32&&(a.A[12]|=128,ig(a,8)));var e=d-a.Ga,f=Math.floor(e/c);if(f&&!(a.A[11]&128)){for(;f--;)if(60<=++a.A[0]&&(a.A[0]=0,60<=++a.A[2]&&(a.A[2]=0,24<=++a.A[4]))){a.A[4]=0;a.A[6]=a.A[6]%7+1;
var g;g=a.A[9];var h=ua[a.A[8]-1];28==h&&0===g%4&&(g%100||0===g%400)&&h++;g=h;++a.A[7]>g&&(a.A[7]=1,12<++a.A[8]&&(a.A[8]=1,a.A[9]=(a.A[9]+1)%100))}a.A[12]|=16;a.A[11]&16&&(a.A[12]|=128,ig(a,8))}a.Ga=d-e%c}}m=tk.prototype;m.xm=function(a,b){var c=this.$a;this.Ca&16&&(this.W&128?c=this.C[0][1]:this.B&&(c=Rl(this.B)));y(this,a,null,b,"PPI_A",c);return c};m.Xn=function(a,b,c){y(this,a,b,c,"PPI_A");this.$a=b};m.ym=function(a,b){var c=this.W;y(this,a,null,b,"PPI_B",c);return c};
@ -431,12 +431,12 @@ b,c){Bl(this,7,a,b,c)},132:function(a,b,c){Bl(this,0,a,b,c)},133:function(a,b,c)
c){Jl(this,1,b,c)},192:function(a,b,c){ol(this,1,0,a,b,c)},194:function(a,b,c){ql(this,1,0,a,b,c)},196:function(a,b,c){ol(this,1,1,a,b,c)},198:function(a,b,c){ql(this,1,1,a,b,c)},200:function(a,b,c){ol(this,1,2,a,b,c)},202:function(a,b,c){ql(this,1,2,a,b,c)},204:function(a,b,c){ol(this,1,3,a,b,c)},206:function(a,b,c){ql(this,1,3,a,b,c)},208:function(a,b,c){B(this,768)&&y(this,a,b,c,"DMA1.CMD",null,!0);this.L[1].dh=b},210:function(a,b,c){sl(this,1,a,b,c)},212:function(a,b,c){tl(this,1,a,b,c)},214:function(a,
b,c){vl(this,1,a,b,c)},216:function(a,b,c){B(this,768)&&y(this,a,b,c,"DMA1.RESET_FF",null,!0);this.L[1].Kb=0},218:function(a,b,c){xl(this,1,a,b,c)},240:tk.prototype.Kn,241:tk.prototype.Ln},Lk={96:tk.prototype.gn,97:tk.prototype.fn,160:tk.prototype.Mk},Pk={72:function(a,b,c){Ml(this,1,0,a,b,c)},73:function(a,b,c){Ml(this,1,1,a,b,c)},74:function(a,b,c){Ml(this,1,2,a,b,c)},75:function(a,b,c){Pl(this,1,a,b,c)}};
Ua(function(){for(var a=rb(document,"pcx86","chipset"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new tk(d);qb(d,c);ml(d)}});
function cm(a){Za.call(this,"ROM",a,cm);this.A=null;this.X=a.addr;this.C=a.size;this.N=a.alias;this.L=a.file;this.B=a.notify;this.V=null;if(this.B&&(a=this.B.indexOf("["),0<a)){try{this.V=eval(this.B.substr(a))}catch(d){}this.B=this.B.substr(0,a)}if(this.L){a=this.L;var b=ka(ha(a));"json"!=b&&"hex"!=b&&(a=Aa()+"/api/v1/dump?file="+this.L+"&format=bytes&decimal=true");var c=this;za(a,null,!0,function(a,b,f){dm(c,a,b,f)})}}hb(cm);cm.prototype.Hc=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;em(this)};
function cm(a){Za.call(this,"ROM",a,cm);this.A=null;this.X=a.addr;this.C=a.size;this.N=a.alias;this.L=a.file;this.B=a.notify;this.V=null;if(this.B&&(a=this.B.indexOf("["),0<a)){try{this.V=eval(this.B.substr(a))}catch(d){}this.B=this.B.substr(0,a)}if(this.L){a=this.L;var b=ka(ha(a));"json"!=b&&"hex"!=b&&(a=Aa()+"/api/v1/dump?file="+this.L+"&format=bytes&decimal=true");var c=this;za(a,null,!0,function(a,b,f){dm(c,a,b,f)})}}hb(cm);cm.prototype.Ic=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;em(this)};
cm.prototype.gc=function(){this.Qd&&(this.ha&&fm(this.ha,this.id,0,this.X>>>4,0,this.X,this.C,this.Qd),delete this.Qd);return!0};cm.prototype.fc=function(){return!0};
function dm(a,b,c,d){if(d)a.Na("Unable to load system ROM (error "+d+": "+b+")");else{jb(a.ce,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,g=e.data;if(f)a.A=f;else if(g)for(a.A=Array(4*g.length),d=c=0;c<g.length;c++)a.A[d++]=g[c]&255,a.A[d++]=g[c]>>8&255,a.A[d++]=g[c]>>16&255,a.A[d++]=g[c]>>24&255;else a.A=e;a.Qd=e.symbols;if(!a.A.length){x("Empty ROM: "+b);return}if(1==a.A.length){x(a.A[0]);return}}catch(h){a.Na("ROM data error: "+h.message);return}else for(b=c.replace(/\n/gm,
" ").replace(/ +$/,"").split(" "),a.A=Array(b.length),e=0;e<b.length;e++)a.A[e]=ea(b[e],16);em(a)}}
function em(a){if(!xb(a))if(!a.L)wb(a);else if(a.A&&a.ga){a.C||(a.C=a.A.length);if(a.A.length!=a.C)yb(a,"ROM size ("+t(a.A.length,8,!0)+") does not match specified size ("+t(a.C,8,!0)+")");else{var b;b=a.X;if(Yb(a.ga,b,a.C,fc)){for(var c=0;c<a.A.length;c++){var d=a.ga,e=b+c;d.sa[(e&d.Gb)>>>d.La].xf(e&d.A,a.A[c]&255,e)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.N?b.push(a.N):null!=a.N&&a.N.length&&(b=a.N);for(c=0;c<b.length;c++){var d=a,e=b[c],f=cc(d.ga,d.X,d.C);bc(d.ga,e,d.C,f)}a.B&&((b=mb(a.B,
a.id))?(c=a.A,d=a.V,5==b.Ua?gm(b,c,d||[12640,8752],8):b.Ua==hm&&gm(b,c,d||[14221,16269],8),wb(b)):a.Na("Unable to find component: "+a.B));delete a.A}}wb(a)}}Ua(function(){for(var a=rb(document,"pcx86","rom"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new cm(d);qb(d,c)}});function im(a){Za.call(this,"RAM",a,im);this.B=a.addr;this.A=a.size;this.L=a.test;this.X=!!this.A;this.C=!1}hb(im);m=im.prototype;m.Hc=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;this.N=Jb(a,"ChipSet");wb(this)};
a.id))?(c=a.A,d=a.V,5==b.Ua?gm(b,c,d||[12640,8752],8):b.Ua==hm&&gm(b,c,d||[14221,16269],8),wb(b)):a.Na("Unable to find component: "+a.B));delete a.A}}wb(a)}}Ua(function(){for(var a=rb(document,"pcx86","rom"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new cm(d);qb(d,c)}});function im(a){Za.call(this,"RAM",a,im);this.B=a.addr;this.A=a.size;this.L=a.test;this.X=!!this.A;this.C=!1}hb(im);m=im.prototype;m.Ic=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;this.N=Jb(a,"ChipSet");wb(this)};
m.gc=function(a,b){return!b&&(this.reset(),a&&this.controller&&!this.restore(a))?!1:!0};m.fc=function(a){return a&&this.controller?this.save():!0};
m.reset=function(){if(!this.B&&!this.X&&this.N){var a=1024*Xk(this.N);this.A&&a!=this.A&&(ec(this.ga,this.B,this.A),this.C=!1);this.A=a}!this.C&&this.A&&Yb(this.ga,this.B,this.A,1)&&(this.C=!0,"ramCPQ"==this.xd&&(this.controller=new jm(this),Yb(this.ga,km,4,4,this.controller)));if(this.C){if(this.L||lc(this.ga,1138,4660),"ramCPQ"!=this.xd&&this.N&&(a=this.N,a.A)){var b=1048576>this.B?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;al(a)}}else x("No RAM allocated")};
m.save=function(){var a=new mf(this);this.controller&&O(a,0,this.controller.save());return a.data()};m.restore=function(a){return this.controller?this.controller.restore(a[0]):!0};function jm(a){this.N=a;this.C=lm;this.ha=mm;this.B=nm;this.A=null}var km=-2134900736,lm=65535,mm=2575,nm=2,om=[null,0],pm=[function(a){return this.controller.Qa(a)},null,null,function(a,b){this.controller.qc(a,b)},null,null];m=jm.prototype;m.save=function(){return[this.C,this.B]};
@ -451,7 +451,7 @@ Y[p["."]]=52;Y[p[">"]]=10804;Y[p["/"]]=53;Y[p["?"]]=10805;Y[3016]=54;Y[1044]=55;
Y[4045]=3677522;Y[4013]=3677468;m=qm.prototype;
m.Pb=function(a,b,c,d){var e=this,f=a+"-"+b;if(void 0===this.qa[f])switch(b){case "kbd":return c.onkeydown=function(a){return ym(e,a,!0)},c.onkeypress=function(a){a=a||window.event;a=a.which||a.keyCode;e.L="";var b=!Y[a]||!!(e.xc&128);b||zm(e,a,!0);return b},c.onkeyup=function(a){return ym(e,a,!1)},!0;case "caps-lock":return this.qa[f]=c,c.onclick=function(){e.X&&e.X.wd();zm(e,1020,!0)},!0;case "num-lock":return this.qa[f]=c,c.onclick=function(){e.X&&e.X.wd();zm(e,1144,!0)},!0;case "scroll-lock":return this.qa[f]=
c,c.onclick=function(){e.X&&e.X.wd();zm(e,1145,!0)},!0;default:var g=b.toUpperCase().replace(/-/g,"_");if(void 0!==vm[g]&&"button"==a)return this.qa[f]=c,c.onclick=function(a,b,c){return function(){a.X&&a.X.wd();Am(a,c,!0);zm(a,c,!0)}}(this,g,vm[g]),!0;if(void 0!==wm[b])return this.fa++,this.qa[f]=c,a=function(a,b,c){return function(){zm(a,c)}}(this,b,wm[b]),b=function(a,b,c){return function(){Bm(a,c)}}(this,b,wm[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup=
c.onmouseout=b),!0;if(d)return this.qa[f]=c,c.onclick=function(){e.X&&e.X.wd();d&&!e.L&&(e.L=d,Cm(e,300))},!0}return!1};function Dm(a,b,c){if(a.fa){for(var d in da)if(b==da[d]){b=+d;(d=ca[d])&&(b=d);break}for(var e in wm)if((d=wm[e]==b)||(d=b,d>=p.ve&&d<=p.z&&(d-=p.ve-p.ue),d=wm[e]==d),d){(a=a.qa["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}}m.Hc=function(a,b,c,d){this.X=a;this.ga=b;this.F=c;this.ha=d;this.N=Jb(a,"ChipSet")};
c.onmouseout=b),!0;if(d)return this.qa[f]=c,c.onclick=function(){e.X&&e.X.wd();d&&!e.L&&(e.L=d,Cm(e,300))},!0}return!1};function Dm(a,b,c){if(a.fa){for(var d in da)if(b==da[d]){b=+d;(d=ca[d])&&(b=d);break}for(var e in wm)if((d=wm[e]==b)||(d=b,d>=p.ve&&d<=p.z&&(d-=p.ve-p.ue),d=wm[e]==d),d){(a=a.qa["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}}m.Ic=function(a,b,c,d){this.X=a;this.ga=b;this.F=c;this.ha=d;this.N=Jb(a,"ChipSet")};
function rm(a,b){var c=0;a.ja=null;"string"==typeof b&&(a.ja=b.toUpperCase(),c=sm.indexOf(a.ja),0>c&&(c=0));if(b=sm[c])a.ra=parseInt(b.substr(2),10)}function Xl(a){z(a,"keyboard reset",65792);a.A=[];Yl(a,170)}function Tl(a,b,c){a.aa!==c&&(a.aa=a.ea=c)&&(a.U=!0);a.W!==b&&(a.W=b)&&!a.ea&&am(a,!0);a.W&&a.ea&&(Xl(a),a.ea=!1)}function Yl(a,b){a.N&&(a.A.unshift(b),a.U=!0,$l(a.N,b))}
function Ul(a){var b=0;a.A.length&&a.U&&(b=a.A[0],a.N&&$l(a.N,b));B(a)&&z(a,b?"scan code "+u(b)+" available":"no scan codes available")}function Rl(a){var b=0;a.A.length&&(b=a.A[0]);B(a)&&z(a,"scan code "+u(b)+" delivered");return b}function am(a,b){0<a.A.length&&(a.A.shift(),(a.U=b)&&(a.A.length&&a.N?$l(a.N,a.A[0]):b=!1),B(a)&&z(a,"scan codes shifted, notify "+(b?"true":"false")))}m.gc=function(a,b){return!b&&(this.reset(),a&&this.restore&&!this.restore(a))?!1:!0};
m.fc=function(a){return a?this.save():!0};m.reset=function(){if(!this.ja&&this.N)switch(this.N.ja){case 5150:case 5160:rm(this,sm[0]);break;default:rm(this,sm[1])}Em(this);this.xc=this.C=0;this.A=[];this.U=!0;this.L=""};m.save=function(){var a=new mf(this),b=[];b[0]=this.aa;b[1]=this.W;O(a,0,b);return a.data()};m.restore=function(a){return Em(this,a[0])};function Em(a,b){var c=0;void 0===b&&(b=[]);a.aa=a.U=b[c++];a.W=b[c];a.V=0;return!0}
@ -472,9 +472,9 @@ var hm=7,Im={mda:[1,7],cga:[3,3],ega:[5,3],vga:[hm,3]},Nm={2:{Hg:15700,Gg:208,Ng
Jm[17]=[640,480,8];Jm[18]=[640,480,8];Jm[19]=[320,200,1];Jm[20]=[320,240,4];Jm[21]=[320,400,4];Jm[0]=Jm[1];Jm[2]=Jm[3];Jm[5]=Jm[4];
var Pm=[[0,0,0,255],[127,192,127,255],[127,192,127,255],[127,255,127,255],[127,255,127,255]],Qm=[0,1,2,2,2,2,2,2,0,3,4,4,4,4,4,4],Rm=[[0,0,0,255],[0,0,170,255],[0,170,0,255],[0,170,170,255],[170,0,0,255],[170,0,170,255],[170,85,0,255],[170,170,170,255],[85,85,85,255],[85,85,255,255],[85,255,85,255],[85,255,255,255],[255,85,85,255],[255,85,255,255],[255,255,85,255],[255,255,255,255]],Sm=[2,4,6],Tm=[3,5,7],Um=[0,1,2,3,4,5,20,7,56,57,58,59,60,61,62,63],Vm=[0,255,65280,65535,16711680,16711935,16776960,
16777215,-16777216,-16776961,-16711936,-16711681,-65536,-65281,-256,-1],Wm=[0];Wm[128]=1;Wm[32768]=2;Wm[32896]=3;Wm[8388608]=4;Wm[8388736]=5;Wm[8421376]=6;Wm[8421504]=7;Wm[-2147483648]=8;Wm[-2147483520]=9;Wm[-2147450880]=10;Wm[-2147450752]=11;Wm[-2139095040]=12;Wm[-2139094912]=13;Wm[-2139062272]=14;Wm[-2139062144]=15;
function Xm(a,b,c,d){if(void 0!==b&&(!c||c.length)){this.video=a;var e=Ym[b],f=a.ya||e[5];if(!c||6>c.length)c=[!1,0,null,null,0,Array(5>b?Zm:$m)];this.ha=a.ha;this.type=e[0];this.port=e[1];this.Ua=b;this.ob=e[2];this.ac=e[3];this.Dd=d||e[4];65536<=this.Dd&&720896<=this.ob&&(this.ac=Math.min(this.Dd>>2,32768));this.Gc=c[0];this.fd=c[1];this.tf=c[2];this.ma=c[3];this.Ac=c[4]&255;this.Pg=c[4]>>8&255;this.mb=c[5];this.vh=Zm;this.og=an;if(5<=b){this.vh=$m;this.og=bn;b=c[6];void 0===b&&(b=[!1,0,Array(20),
function Xm(a,b,c,d){if(void 0!==b&&(!c||c.length)){this.video=a;var e=Ym[b],f=a.ya||e[5];if(!c||6>c.length)c=[!1,0,null,null,0,Array(5>b?Zm:$m)];this.ha=a.ha;this.type=e[0];this.port=e[1];this.Ua=b;this.ob=e[2];this.ac=e[3];this.Dd=d||e[4];65536<=this.Dd&&720896<=this.ob&&(this.ac=Math.min(this.Dd>>2,32768));this.Hc=c[0];this.fd=c[1];this.tf=c[2];this.ma=c[3];this.Ac=c[4]&255;this.Pg=c[4]>>8&255;this.mb=c[5];this.vh=Zm;this.og=an;if(5<=b){this.vh=$m;this.og=bn;b=c[6];void 0===b&&(b=[!1,0,Array(20),
0,3==f?0:1,0,0,Array(5),0,0,0,Array(9),0,[this.ob,this.ac,this.Dd],Array(this.Dd>>2),-2147478512,0,-1,0,-1,0,-1,0,0,0,0,1,255,0,0,0,Array(256)]);this.$e=b[0];this.Nd=b[1];this.Tc=b[2];this.Zg=cn;this.Sg=b[3];this.vf=b[4];this.gg=b[5];this.ae=b[6];this.Ke=b[7];this.ah=dn;this.Pk=b[8];this.Qk=b[9];this.$d=b[10];this.Zd=b[11];this.$g=en;this.Fb=b[12];d=b[13];"number"==typeof d&&(d=[this.ob,this.ac,d]);this.ob=d[0];this.ac=d[1];d=this.Dd>>2;if((this.rd=b[14])&&this.rd.length<d){for(var e=this.rd,g=0,
h=Array(d),k=0;k<e.length-1;){for(var l=e[k++],n=e[k++];l--;)h[g]=n,g+=2;g==d&&(g=1)}this.rd=h}(d=b[15])&&(d&-2147483648?d&=2147483647:d=fn[d&65280]|fn[d&255]);this.Ug(d);this.li=b[16];this.qb=b[17];this.cd=b[18];this.Mb=b[19];this.Wf=b[20];this.Yd=b[21];this.pe=b[22];this.wh=b[23];this.xh=b[24];this.Ld=b[25];this.mi=this.qf=0;this.Ua==hm&&(this.ui=b[26],this.ti=b[27],this.od=b[28],this.Jc=b[29],this.Qg=b[30],this.uf=b[31])}f=Nm[f]||Nm[3];this.yh=a.F.Y.Id/f.Hg|0;this.$m=this.yh*f.Ng/100|0;this.Bh=
h=Array(d),k=0;k<e.length-1;){for(var l=e[k++],n=e[k++];l--;)h[g]=n,g+=2;g==d&&(g=1)}this.rd=h}(d=b[15])&&(d&-2147483648?d&=2147483647:d=fn[d&65280]|fn[d&255]);this.Ug(d);this.li=b[16];this.qb=b[17];this.cd=b[18];this.Mb=b[19];this.Wf=b[20];this.Yd=b[21];this.pe=b[22];this.wh=b[23];this.xh=b[24];this.Ld=b[25];this.mi=this.qf=0;this.Ua==hm&&(this.ui=b[26],this.ti=b[27],this.od=b[28],this.Kc=b[29],this.Qg=b[30],this.uf=b[31])}f=Nm[f]||Nm[3];this.yh=a.F.Y.Id/f.Hg|0;this.$m=this.yh*f.Ng/100|0;this.Bh=
this.yh*f.Gg|0;this.bn=this.Bh*f.Og/100|0;this.Dh=c[7]||0}}
var Zm=18,$m=25,an="HTOTAL HDISP HSYNC_POS HSYNC_WIDTH VTOTAL VTOTAL_ADJ VDISP VSYNC_POS INTERLACE_POS MAX_SCAN CURSOR_START CURSOR_END START_ADDR_HI START_ADDR_LO CURSOR_ADDR_HI CURSOR_ADDR_LO LIGHT_PEN_HI LIGHT_PEN_LO".split(" "),bn="HTOTAL HDISP_END HBLANK_START HBLANK_END HRETRACE_START HRETRACE_END VTOTAL OVERFLOW PRESET_SCAN MAX_SCAN CURSOR_START CURSOR_END START_ADDR_HI START_ADDR_LO CURSOR_ADDR_HI CURSOR_ADDR_LO VRETRACE_START VRETRACE_END VDISP_END OFFSET UNDERLINE VBLANK_START VBLANK_END MODE_CTRL LINE_COMPARE".split(" "),cn=
"PAL00 PAL01 PAL02 PAL03 PAL04 PAL05 PAL06 PAL07 PAL08 PAL09 PAL0A PAL0B PAL0C PAL0D PAL0E PAL0F MODE OVERSCAN PLANES HPAN".split(" "),dn=["RESET","CLOCKING","MAPMASK","CHARMAP","MEMMODE"],en="SRESET ESRESET COLORCMP DATAROT READMAP MODE MISC COLORDC BITMASK".split(" "),fn=[,,1024,5120];fn[16]=1280;fn[512]=0;fn[1024]=32;fn[1536]=96;fn[2560]=160;fn[3584]=224;fn[768]=16;fn[4096]=1;fn[8192]=2;fn[24576]=98;fn[40960]=162;fn[57344]=226;var gn=[];
@ -488,24 +488,24 @@ gn[16]=function(a,b){a+=this.C;var c,d=a&-2;c=(b|b<<8|b<<16|b<<24)&this.controll
gn[17]=function(a){a+=this.C;var b=a&-2;a=this.controller.qb&(b==a?16711935:-16711936);a=this.da[b]&~a|this.controller.Fb&a;this.da[b]!=a&&(this.da[b]=a,this.Wa=!0)};gn[2]=function(a,b){var c=a+this.C,d=Vm[b&15],d=d&this.controller.Mb|this.controller.Fb&~this.controller.Mb,d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)};
gn[98]=function(a,b){var c=a+this.C,d=Vm[b&15],d=d&this.controller.Fb,d=d&this.controller.Mb|this.controller.Fb&~this.controller.Mb,d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)};gn[162]=function(a,b){var c=a+this.C,d=Vm[b&15],d=d|this.controller.Fb,d=d&this.controller.Mb|this.controller.Fb&~this.controller.Mb,d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)};
gn[226]=function(a,b){var c=a+this.C,d=Vm[b&15],d=d^this.controller.Fb,d=d&this.controller.Mb|this.controller.Fb&~this.controller.Mb,d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)};gn[3]=function(a,b){var c=a+this.C;b=b>>this.controller.cd|b<<8-this.controller.cd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Mb;d=this.controller.Wf&d|this.controller.Fb&~d;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)};
function hn(a){var b=[];if(void 0!==a.Ua){b[0]=a.Gc;b[1]=a.fd;b[2]=a.tf;b[3]=a.ma;b[4]=a.Ac|a.Pg<<8;b[5]=a.mb;if(5<=a.Ua){var c=[];c[0]=a.$e;c[1]=a.Nd;c[2]=a.Tc;c[3]=a.Sg;c[4]=a.vf;c[5]=a.gg;c[6]=a.ae;c[7]=a.Ke;c[8]=a.Pk;c[9]=a.Qk;c[10]=a.$d;c[11]=a.Zd;c[12]=a.Fb;c[13]=[a.ob,a.ac,a.Dd];var d;a:if(d=a.rd){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h<d.length;){for(var k=d[h],l=h+2;l<d.length&&d[l]===k;)l+=2;f[e++]=l-h>>1;f[e++]=k;h=l}if(f.length<d.length){d=f;break a}}c[14]=d;c[15]=
a.Bg|-2147483648;c[16]=a.li;c[17]=a.qb;c[18]=a.cd;c[19]=a.Mb;c[20]=a.Wf;c[21]=a.Yd;c[22]=a.pe;c[23]=a.wh;c[24]=a.xh;c[25]=a.Ld;a.Ua==hm&&(c[26]=a.ui,c[27]=a.ti,c[28]=a.od,c[29]=a.Jc,c[30]=a.Qg,c[31]=a.uf);b[6]=c}b[7]=a.Dh}return b}function jn(a,b,c,d,e){if(d){var f,g="";for(f=0;f<e.length;f++){var h=d===a.mb?kn(a,f):d[f];g&&(g+="\n");g+=b+"["+t(f,2)+"]: "+oa(e[f],18)+(f===c?"*":" ")+t(h,255<h?4:2);null!=h&&(g+=" ("+h+".)")}a.ha.O(g)}else a.ha.O(b+": "+t(c,2))}
function hn(a){var b=[];if(void 0!==a.Ua){b[0]=a.Hc;b[1]=a.fd;b[2]=a.tf;b[3]=a.ma;b[4]=a.Ac|a.Pg<<8;b[5]=a.mb;if(5<=a.Ua){var c=[];c[0]=a.$e;c[1]=a.Nd;c[2]=a.Tc;c[3]=a.Sg;c[4]=a.vf;c[5]=a.gg;c[6]=a.ae;c[7]=a.Ke;c[8]=a.Pk;c[9]=a.Qk;c[10]=a.$d;c[11]=a.Zd;c[12]=a.Fb;c[13]=[a.ob,a.ac,a.Dd];var d;a:if(d=a.rd){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h<d.length;){for(var k=d[h],l=h+2;l<d.length&&d[l]===k;)l+=2;f[e++]=l-h>>1;f[e++]=k;h=l}if(f.length<d.length){d=f;break a}}c[14]=d;c[15]=
a.Bg|-2147483648;c[16]=a.li;c[17]=a.qb;c[18]=a.cd;c[19]=a.Mb;c[20]=a.Wf;c[21]=a.Yd;c[22]=a.pe;c[23]=a.wh;c[24]=a.xh;c[25]=a.Ld;a.Ua==hm&&(c[26]=a.ui,c[27]=a.ti,c[28]=a.od,c[29]=a.Kc,c[30]=a.Qg,c[31]=a.uf);b[6]=c}b[7]=a.Dh}return b}function jn(a,b,c,d,e){if(d){var f,g="";for(f=0;f<e.length;f++){var h=d===a.mb?kn(a,f):d[f];g&&(g+="\n");g+=b+"["+t(f,2)+"]: "+oa(e[f],18)+(f===c?"*":" ")+t(h,255<h?4:2);null!=h&&(g+=" ("+h+".)")}a.ha.O(g)}else a.ha.O(b+": "+t(c,2))}
Xm.prototype.vj=function(a){return[this.rd,a-this.ob]};Xm.prototype.mh=function(){return this.A};Xm.prototype.Ug=function(a){if(null!=a&&a!=this.Bg){var b=a&65280,c=gn[b];c||b&4096&&(c=gn[4096]);var b=a&255,d=gn[b];d||b&16&&(d=gn[16]);this.A||(this.A=Array(6));this.A[0]=c;this.A[3]=d;this.Bg=a}};
function kn(a,b){var c=a.mb[b];if(null!=c&&5<=a.Ua){var d=0,e=0,f=0;switch(b){case 6:d=1;a.Ua==hm&&(e=32);break;case 10:5==a.Ua&&(d=32);break;case 16:d=4;a.Ua==hm&&(e=128);break;case 18:d=2;a.Ua==hm&&(e=64);break;case 21:d=8;a.Ua==hm&&(f=32);break;case 24:d=16,a.Ua==hm&&(f=64)}d&&(c|=a.mb[7]&d?256:0,c|=a.mb[7]&e?512:0,c|=a.mb[9]&f?512:0)}return c}var Ym=[,["MDA",948,720896,4096,0,3],,["CGA",980,753664,16384,0,2],,["EGA",980,753664,16384,65536,4]];Ym[hm]=["VGA",980,753664,16384,262144,7];var Km=0;
m=Z.prototype;
m.Hc=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;c=(c=Im[this.ja])&&c[0];3!==c&&(nc(b,this,ln),rc(b,this,mn));1!==c&&(nc(b,this,nn),rc(b,this,on));5<=this.Ua&&(nc(b,this,pn),rc(b,this,qn));this.Ua==hm&&(nc(b,this,rn),rc(b,this,sn));if(d){var e=this;Qk(d,262144,function(a){if(e.C)if(a[0]){var b=e.C;if(b.rd){var c,d,f,r=!1,q=8,A=8,F=-1,w=b.video.L>>3;for(c=0;c<a.length;c++){var E=a[c];if(c){var H=E.charAt(0);d=ea(E.substr(1),16);switch(H){case "l":q=d;break;case "n":1<=d&&8>=d&&(A=d,r=!0);break;
m.Ic=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;c=(c=Im[this.ja])&&c[0];3!==c&&(nc(b,this,ln),rc(b,this,mn));1!==c&&(nc(b,this,nn),rc(b,this,on));5<=this.Ua&&(nc(b,this,pn),rc(b,this,qn));this.Ua==hm&&(nc(b,this,rn),rc(b,this,sn));if(d){var e=this;Qk(d,262144,function(a){if(e.C)if(a[0]){var b=e.C;if(b.rd){var c,d,f,r=!1,q=8,A=8,F=-1,w=b.video.L>>3;for(c=0;c<a.length;c++){var E=a[c];if(c){var H=E.charAt(0);d=ea(E.substr(1),16);switch(H){case "l":q=d;break;case "n":1<=d&&8>=d&&(A=d,r=!0);break;
case "p":0<=d&&3>=d&&(F=d);break;case "w":d<w&&(w=d);break;default:b.ha.O("unrecognized argument: "+E)}}else f=ea(E,16)}void 0===f?f=b.B||0:f>=b.ob&&(f-=b.ob);a="";for(c=0;c<q;c++){E=t(b.ob+f)+":";for(d=0;d<A&&f<b.rd.length;d++)H=b.rd[f++],E+=" "+(0>F?t(H):fa(H>>(F<<3),8));r&&(f+=w-A);a&&(a+="\n");a+=E}a&&b.ha.O(a);b.B=f}else b.ha.O("no buffer")}else e.ha.O("BIOSMODE: "+u(e.Ga)),b=e.C,jn(b,"CRTC",b.Ac,b.mb,b.og),5<=b.Ua&&(jn(b," GRC",b.$d,b.Zd,b.$g),jn(b," SEQ",b.ae,b.Ke,b.ah),jn(b," ATC",b.Nd,b.Tc,
b.Zg),jn(b," ATCINDX",b.Nd),b.ha.O(" ATCDATA: "+b.$e),jn(b," FEAT",b.gg),jn(b," MISC",b.vf),jn(b," STATUS0",b.Sg)),jn(b," STATUS1",b.ma),1!=b.Ua&&3!=b.Ua||jn(b," MODEREG",b.fd),3==b.Ua&&jn(b," COLOR",b.tf),5<=b.Ua&&(b.ha.O(" LATCHES: "+t(b.Fb)),b.ha.O(" ACCESS: "+t(b.Bg,4)),b.ha.O("Use 'dump video [addr]' to dump video memory"));else e.ha.O("no active video card")})}if((this.B=Jb(a,"Keyboard"))&&this.ka){for(var f in this.qa)0<f.indexOf("lock")&&this.B.Pb("led",f,this.qa[f]);this.B.Pb(this.bl?
"textarea":"canvas","kbd",this.X)}this.Vc=9;(this.N=Jb(a,"ChipSet"))&&this.dg&&5==this.Ua&&(this.Vc=wk(this.dg,this.Vc));"mouse"==this.jg?(this.V=Jb(a,"Mouse"))&&tn(this,2):"keygrid"==this.jg&&this.B&&tn(this,1)};
m.Pb=function(a,b,c){var d=this;if(!this.qa[b])switch(this.qa[b]=c,b){case "fullScreen":return this.ia&&this.ia.Ze?c.onclick=function(){d.Ze()}:c.parentNode.removeChild(c),!0;case "lockPointer":return this.al=c.textContent,this.X&&this.X.De?c.onclick=function(){d.De(!0)}:c.parentNode.removeChild(c),!0;case "refresh":return c.onclick=function(){un(d,!0)},!0}return!1};
m.Ze=function(){var a=!1;if(this.ia){if(this.ia.Ze){a="100%";if(screen&&screen.width&&screen.height){var b=screen.width/screen.height,c=this.ra/this.Da;b>c&&(a=Math.round(c/b*100)+"%")}this.rf?(this.ka.style.width=a,this.ka.style.width=a,this.ka.style.display="block",this.ka.style.margin="auto"):(this.ia.style.width=a,this.ia.style.height="auto");this.ia.style.backgroundColor="black";this.ia.Ze();a=!0}this.X&&this.X.focus()}return a};
function Lm(a,b){!b&&a.ia&&(a.rf?a.ka.style.width=a.ka.style.height="":a.ia.style.width=a.ia.style.height="");z(a,"notifyFullScreen("+b+")",!0);a.B&&(a.B.jh=b)}m.De=function(a){var b=!1;this.X&&(a?this.X.De&&(this.X.De(),this.V&&this.V.Xf(!0),b=!0):this.X.Zk&&(this.X.Zk(),this.V&&this.V.Xf(!1),b=!0),this.X&&this.X.focus());return b};m.Xf=function(a){this.V&&(this.V.Xf(a),this.B&&(this.B.jh=a));var b=this.qa.lockPointer;b&&(b.textContent=a?"Press Esc to Unlock Pointer":this.al)};
function tn(a,b){var c=a.X;c&&!a.ke&&(c.addEventListener("touchstart",function(b){vn(a,b,!0)},!1),c.addEventListener("touchmove",function(b){vn(a,b)},!0),c.addEventListener("touchend",function(b){vn(a,b,!1)},!1),a.ke=b,a.uc=a.Oc=a.kg=-1,a.Hd=!1,a.Xc=null,a.Gd=!1,a.ro=function(){a.Gd=!0;a.V.he(wn,!0)})}m.Lg=function(a){this.B&&this.B.Lg(a)};
function tn(a,b){var c=a.X;c&&!a.ke&&(c.addEventListener("touchstart",function(b){vn(a,b,!0)},!1),c.addEventListener("touchmove",function(b){vn(a,b)},!0),c.addEventListener("touchend",function(b){vn(a,b,!1)},!1),a.ke=b,a.uc=a.Cc=a.kg=-1,a.Hd=!1,a.Xc=null,a.Gd=!1,a.ro=function(){a.Gd=!0;a.V.he(wn,!0)})}m.Lg=function(a){this.B&&this.B.Lg(a)};
function vn(a,b,c){var d,e,f=0,g=0;e=a.ka;do isNaN(e.offsetLeft)||(f+=e.offsetLeft,g+=e.offsetTop);while(e=e.offsetParent);var h=a.ra/a.ka.offsetWidth,k=a.Da/a.ka.offsetHeight;b.targetTouches&&b.targetTouches.length?(d=b.targetTouches[0].pageX,e=b.targetTouches[0].pageY):(d=b.pageX,e=b.pageY);d=(d-f)*h;e=(e-g)*k;if(1==a.ke)d=d/(a.ra/3)|0,e=e/(a.Da/3)|0,1!=e?e?zm(a.B,1040,!0):zm(a.B,1038,!0):1!=d&&(d?zm(a.B,1039,!0):zm(a.B,1037,!0));else if(a.V){g=a.Hd;f=b.timeStamp-a.kg;!0===c?(a.Hd=500<f,a.kg=b.timeStamp,
a.Xc=setTimeout(a.ro,500)):null!=a.Xc&&(clearTimeout(a.Xc),a.Xc=null);void 0===c&&(a.Hd=!1);g||b.preventDefault();if(!1===c){a.Gd?(a.V.he(wn,!1),a.Gd=!1,b=!0):b=!1;if(b)return;if(200>f){a.V.he(wn,!0);a.V.he(wn,!1);return}}if(c||0>a.uc||0>a.Oc)a.uc=d,a.Oc=e;c=Math.round(d-a.uc);b=Math.round(e-a.Oc);a.uc=d;a.Oc=e;a.V.Jf(c,b,a.uc,a.Oc)}}m.gc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.fc=function(a){return a?this.save():!0};
a.Xc=setTimeout(a.ro,500)):null!=a.Xc&&(clearTimeout(a.Xc),a.Xc=null);void 0===c&&(a.Hd=!1);g||b.preventDefault();if(!1===c){a.Gd?(a.V.he(wn,!1),a.Gd=!1,b=!0):b=!1;if(b)return;if(200>f){a.V.he(wn,!0);a.V.he(wn,!1);return}}if(c||0>a.uc||0>a.Cc)a.uc=d,a.Cc=e;c=Math.round(d-a.uc);b=Math.round(e-a.Cc);a.uc=d;a.Cc=e;a.V.Jf(c,b,a.uc,a.Cc)}}m.gc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.fc=function(a){return a?this.save():!0};
m.reset=function(){var a=!0,b=0;this.N&&(b=+Yk(this.N,Ak,void 0));this.ja||(this.Ua=3==b?1:3);this.va=3;switch(this.Ua){case hm:b=7;break;case 5:var c=Om[this.Vc];c&&(b=c[0]);b||(b=4);break;case 1:b=3;this.va=7;break;default:b=2}this.ya!==b&&(this.ya=b,a=!0);this.C=null;this.pa=this.qd=new Xm(this,1);this.aa=this.Wc=new Xm(this,3);5>this.Ua?this.A=new Xm:(this.A=new Xm(this,this.Ua,null,this.Dd),xn(this));yn(this);this.Ga=null;this.cb=this.ua=-1;this.Pa=0;zn(this,this.va);if(this.C.ob&&a){a=this.C.ob+
this.Ub;for(b=this.C.ob;b<a;b+=2){var d=65536*Math.random()|0;4==this.ya||7==this.ya?(c=b>>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8);lc(this.ga,b,c|d<<8)}un(this,!0)}};function xn(a){a.A.vf&1?(a.pa=a.qd,a.aa=a.A):(a.pa=a.A,a.aa=a.Wc)}m.save=function(){var a=new mf(this);O(a,0,hn(this.qd));O(a,1,hn(this.Wc));O(a,2,[this.ya,this.va,this.Ga]);O(a,3,hn(this.A));return a.data()};
m.restore=function(a){var b=a[2];this.ya=b[0];this.va=b[1];this.Ga=b[2];this.C=null;this.pa=this.qd=new Xm(this,1,a[0]);this.aa=this.Wc=new Xm(this,3,a[1]);this.A=new Xm(this,this.Ua,a[3],this.Dd);this.A.Gc&&xn(this);yn(this);if(!An(this))return!1;Yn(this);return!0};
m.restore=function(a){var b=a[2];this.ya=b[0];this.va=b[1];this.Ga=b[2];this.C=null;this.pa=this.qd=new Xm(this,1,a[0]);this.aa=this.Wc=new Xm(this,3,a[1]);this.A=new Xm(this,this.Ua,a[3],this.Dd);this.A.Hc&&xn(this);yn(this);if(!An(this))return!1;Yn(this);return!0};
function Mm(a,b,c,d){if(d)a.Na("Unable to load font ROM (error "+d+": "+b+")");else{jb(a.ce,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f.length){x("Empty font ROM: "+b);return}if(1==f.length){x(f[0]);return}if(8192==f.length)gm(a,f,[6144,0]);else if(2048==f.length)gm(a,f,[0]);else{a.Na("Unrecognized font data length ("+f.length+")");return}}catch(g){a.Na("Font ROM data error: "+g.message);return}(a.ea||a.ha)&&wb(a)}}
function Zn(a,b){if(1==b)return a.Ca[0]=Rm[0],a.Ca[1]=Rm[7],a.Ca;if(2==b){var c=a.C.tf;if(a.C===a.A){var d=a.A.Tc[0],c=d&7;d&16&&(c|=8);18!=a.A.Tc[1]&&(c|=32)}a.Ca[0]=Rm[c&15];c=c&32?Tm:Sm;for(d=0;d<c.length;d++)a.Ca[d+1]=Rm[c[d]];return a.Ca}if(a.aa===a.Wc)return Rm;a.rb&&b&&!a.Ca[16]&&(a.rb=!1);if(!a.rb){var c=a.A,d=c.uf,e,f,g,h,k;if(8==b)for(f=0;256>f;f++)g=d[f]||0,h=g<<2&252,k=g>>4&252,g=g>>10&252,a.Ca[f]=[h,k,g,255];else{var l=d&&d[255];e=null!=c.Tc[15]?c.Tc:Um;for(f=0;16>f;f++)g=e[f]&63,l?(g|=
(c.Tc[20]&12)<<4,c.Tc[16]&128&&(g&=-49,g|=(c.Tc[20]&3)<<4),g=d[g],h=g<<2&252,k=g>>4&252,g=g>>10&252):(h=(g&4?170:0)|(g&32?85:0),k=(g&2?170:0)|(g&16?85:0),g=(g&1?170:0)|(g&8?85:0)),a.Ca[f]=[h,k,g,255]}a.rb=!0}return a.Ca}function gm(a,b,c,d){a.Uc=b;a.Jb=c;a.Tb=d}
@ -518,7 +518,7 @@ function go(a){var b,c=a.C;a.jf=!1;var d=c.Zd[5];if(null!=d){b=1024;var e=0,f=c.
function ho(a,b){var c=a.C;return c&&null!=b&&b!=c.Bg?(c.Ug(b),a.ga.Ug(c.ob,c.ac,c.mh(),!0),!0):!1}
function An(a,b){var c,d=a.Ga,e=a.C;if(e)if(1==e.Ua)d=7;else if(5<=e.Ua){var d=null,f=e.Dd>>2,g=32768<f?32768:f,h=e.Zd[6];if(null!=h){switch(h&12){case 0:e.ob=655360;e.ac=f;d=255;break;case 4:e.ob=655360;e.ac=f;d=3==a.ya?15:16;break;case 8:e.ob=720896;e.ac=g;d=7;break;case 12:e.ob=753664,e.ac=g,d=3==a.ya?2:3}c=80==(e.Zd[5]&80);!c||e.ob==a.ob&&e.ac==a.ac||(b=!0);var f=kn(e,6),g=e.mb[9],k=e.mb[23],l=e.Ke[1]&8;255!=d&&(h&1?655360==e.ob||c||k&1?e.Zd[5]&64?d=g&31?143>=e.mb[18]?19:20:21:g&128||350>f?d=
l?13:14:480<=f&&(d=3==a.ya?17:18):d=l?7-d:6:d-=l?2:0);c=go(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.Ga=null,null==d&&(d=a.va);if(!zn(a,d,b))return!1;ho(a,c);return!0}
function zn(a,b,c){if(null!=b&&(b!=a.Ga||c)){a.Vg=0;a.Ga=b;a.rb=!1;b=a.C||(7==b?a.pa:a.aa);if(b!=a.C||b.ob!=a.ob||b.ac!=a.ac){eo(a);if(a.ob){if(!ec(a.ga,a.ob,a.ac))return!1;a.C&&(a.C.Gc=!1)}a.C=b;b.Gc=!0;a.ob=b.ob;a.ac=b.ac;if(!Yb(a.ga,b.ob,b.ac,3,b===a.A?b:null))return!1}a:{a.U=0;a.L=a.jd;a.W=a.je;a.Db=a.L;a.hd=Jm[7][2];b=0;if(c=Jm[a.Ga])a.L=c[0],a.W=c[1],a.hd=c[2],b=c[3],a.U=c[4],4!=a.ya&&7!=a.ya||a.C!==a.A||3!=a.U||(7==(a.A.mb[9]&31)?a.W=350>kn(a.A,18)?43:50:a.U=a.Ua);a.cg=a.L*a.W|0;a.$f=a.cg/
function zn(a,b,c){if(null!=b&&(b!=a.Ga||c)){a.Vg=0;a.Ga=b;a.rb=!1;b=a.C||(7==b?a.pa:a.aa);if(b!=a.C||b.ob!=a.ob||b.ac!=a.ac){eo(a);if(a.ob){if(!ec(a.ga,a.ob,a.ac))return!1;a.C&&(a.C.Hc=!1)}a.C=b;b.Hc=!0;a.ob=b.ob;a.ac=b.ac;if(!Yb(a.ga,b.ob,b.ac,3,b===a.A?b:null))return!1}a:{a.U=0;a.L=a.jd;a.W=a.je;a.Db=a.L;a.hd=Jm[7][2];b=0;if(c=Jm[a.Ga])a.L=c[0],a.W=c[1],a.hd=c[2],b=c[3],a.U=c[4],4!=a.ya&&7!=a.ya||a.C!==a.A||3!=a.U||(7==(a.A.mb[9]&31)?a.W=350>kn(a.A,18)?43:50:a.U=a.Ua);a.cg=a.L*a.W|0;a.$f=a.cg/
a.hd|0;a.Ub=a.$f;a.sd=0;void 0!==b&&(a.Ub=(a.Ub<<1)+b|0,a.sd=a.Ub+b>>1);if(a.Oa.length){a.Ja=a.ra/a.L|0;a.Ka=a.Da/a.W|0;if(a.U){b=a.Oa[a.U];if(!b)break a;c=a.Oa[a.U<<1];a.Yf&&80==a.L?c&&a.Ja>=3*c.Qc>>2&&(a.U<<=1,b=c):(c&&a.Ja>=c.Qc&&(a.U<<=1,b=c),a.Yf||(a.Ja=b.Qc,a.Ka=b.Rc));a.kc=a.tc=0;b&&(a.kc=a.L*b.Qc,a.tc=a.W*b.Rc)}else a.Ja=a.Ka=1,a.kc=a.L,a.tc=a.W;a.sb=a.ea.createImageData(a.kc,a.tc);a.fb=document.createElement("canvas");a.fb.width=a.kc;a.fb.height=a.tc;a.gb=a.fb.getContext("2d");a.le=a.me=
0;a.Cd=a.ra;a.Fd=a.Da;b=a.ra-a.L*a.Ja;c=a.Da-a.W*a.Ka;0<b&&(a.le=b>>1,a.Cd-=b);0<c&&(a.me=c>>1,a.Fd-=c);if(b||c)a.ea.fillStyle=a.ka.style.backgroundColor,a.ea.fillRect(0,0,a.ra,a.Da)}}io(a,!0);un(a)}return!0}function bo(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 jo(a){a.Pa=-1;a.Fa=!1;var b=a.$f;if(void 0===a.fa||a.fa.length!=b)a.fa=Array(b)}function io(a,b){b||(a.rb=!1);jo(a)}
function fo(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.Oa[a.U];h.Af&&(d=h.Af[d]);var k=g>>4&15;h.Af&&(k=h.Af[k]);e?(b*=h.Qc,c*=h.Rc,e.fillStyle=h.Pe[k],e.fillRect(b,c,h.Qc,h.Rc)):(b=b*a.Ja+a.le,c=c*a.Ka+a.me,a.ea.fillStyle=h.Pe[k],a.ea.fillRect(b,c,a.Ja,a.Ka));g&256&&(k=(f&15)*h.Qc,f=(f>>4)*h.Rc,e?e.drawImage(h.Yg[d],k,f,h.Qc,h.Rc,b,c,h.Qc,h.Rc):a.ea.drawImage(h.Yg[d],k,f,h.Qc,h.Rc,b,c,a.Ja,a.Ka));g&512&&(f=a.lg,g=a.Ce,e?(a.$a&&a.$a!==h.Rc&&(f=f*h.Rc/a.$a|0,g=g*h.Rc/a.$a|0),e.fillStyle=h.Pe[d],
@ -533,43 +533,43 @@ m.vm=function(a,b){return po(this,this.pa,b)};m.Lk=function(a,b,c){this.A.gg=thi
m.Kk=function(a,b,c){var d=this.A,e=d.Nd&32;if(d.$e){d.$e=!1;var f=d.Nd&31;if(16<=f||!e)c&&!B(this)||y(this,a,b,c,"ATC."+d.Zg[f]),d.Tc[f]=b,io(this,!1)}else d.Nd=b,y(this,a,b,c,"ATC.INDX"),d.$e=!0,b&32&&!e&&yn(this,!0)&&un(this,!0),a=(d.mb[12]<<8)+d.mb[13]|0,d.Ld!=a&&(d.Ld=a,io(this)),d.qf=0};
m.Fm=function(a,b){var c=0;if(5==this.Ua)c=3-((this.A.vf&12)>>2),c=(this.Vc&1<<c)<<4-c;else{var d=this.A.uf[0];45!=(d&63)&&2880!=(d&4032)&&184320!=(d&258048)&&(c|=16)}c|=this.A.Sg&-17;this.A.Sg=c;y(this,962,null,b,"STATUS0",c);return c};m.Wn=function(a,b,c){this.A.vf=b;xn(this);y(this,962,b,c,"MISC")};m.Gm=function(a,b){var c=this.A.ui;y(this,963,null,b,"VGA_ENABLE",c);return c};m.eo=function(a,b,c){this.A.ui=b;y(this,963,b,c,"VGA_ENABLE")};
m.Dm=function(a,b){var c=this.A.ae;y(this,964,null,b,"SEQ.INDX",c);return c};m.bo=function(a,b,c){this.A.ae=b;y(this,964,b,c,"SEQ.INDX")};m.Cm=function(a,b){var c=this.A.Ke[this.A.ae];b&&!B(this)||y(this,965,null,b,"SEQ."+this.A.ah[this.A.ae],c);return c};m.ao=function(a,b,c){c&&!B(this)||y(this,965,b,c,"SEQ."+this.A.ah[this.A.ae]);this.A.Ke[this.A.ae]=b;switch(this.A.ae){case 2:this.A.qb=Vm[b&15];break;case 4:ho(this,go(this))&&un(this,!0)}};
m.em=function(a,b){var c=this.A.ti;b&&!B(this)||y(this,966,null,b,"DAC.MASK",c);return c};m.Dn=function(a,b,c){c&&!B(this)||y(this,966,b,c,"DAC.MASK");this.A.ti=b};m.fm=function(a,b){var c=this.A.Qg;b&&!B(this)||y(this,967,null,b,"DAC.STATE",c);return c};m.En=function(a,b,c){c&&!B(this)||y(this,967,b,c,"DAC.READ");this.A.od=b;this.A.Qg=3;this.A.Jc=0};m.Fn=function(a,b,c){c&&!B(this)||y(this,968,b,c,"DAC.WRITE");this.A.od=b;this.A.Qg=0;this.A.Jc=0};
m.dm=function(a,b){var c=this.A.uf[this.A.od]>>this.A.Jc&63;b&&!B(this)||y(this,969,null,b,"DAC.DATA["+u(this.A.od)+"]["+u(this.A.Jc)+"]",c);this.A.Jc+=6;12<this.A.Jc&&(this.A.Jc=0,this.A.od=this.A.od+1&255);return c};m.Cn=function(a,b,c){a=this.A.uf[this.A.od];c&&!B(this)||y(this,969,b,c,"DAC.DATA["+u(this.A.od)+"]["+u(this.A.Jc)+"]");b=a&~(63<<this.A.Jc)|(b&63)<<this.A.Jc;a!==b&&(this.A.uf[this.A.od]=b,io(this,!1));this.A.Jc+=6;12<this.A.Jc&&(this.A.Jc=0,this.A.od=this.A.od+1&255)};
m.em=function(a,b){var c=this.A.ti;b&&!B(this)||y(this,966,null,b,"DAC.MASK",c);return c};m.Dn=function(a,b,c){c&&!B(this)||y(this,966,b,c,"DAC.MASK");this.A.ti=b};m.fm=function(a,b){var c=this.A.Qg;b&&!B(this)||y(this,967,null,b,"DAC.STATE",c);return c};m.En=function(a,b,c){c&&!B(this)||y(this,967,b,c,"DAC.READ");this.A.od=b;this.A.Qg=3;this.A.Kc=0};m.Fn=function(a,b,c){c&&!B(this)||y(this,968,b,c,"DAC.WRITE");this.A.od=b;this.A.Qg=0;this.A.Kc=0};
m.dm=function(a,b){var c=this.A.uf[this.A.od]>>this.A.Kc&63;b&&!B(this)||y(this,969,null,b,"DAC.DATA["+u(this.A.od)+"]["+u(this.A.Kc)+"]",c);this.A.Kc+=6;12<this.A.Kc&&(this.A.Kc=0,this.A.od=this.A.od+1&255);return c};m.Cn=function(a,b,c){a=this.A.uf[this.A.od];c&&!B(this)||y(this,969,b,c,"DAC.DATA["+u(this.A.od)+"]["+u(this.A.Kc)+"]");b=a&~(63<<this.A.Kc)|(b&63)<<this.A.Kc;a!==b&&(this.A.uf[this.A.od]=b,io(this,!1));this.A.Kc+=6;12<this.A.Kc&&(this.A.Kc=0,this.A.od=this.A.od+1&255)};
m.Hm=function(a,b){var c=this.A.gg;y(this,970,null,b,"FEAT",c);return c};m.Pn=function(a,b,c){this.A.Qk=b;y(this,970,b,c,"GRC2")};m.Im=function(a,b){var c=this.A.vf;y(this,972,null,b,"MISC",c);return c};m.On=function(a,b,c){this.A.Pk=b;y(this,972,b,c,"GRC1")};m.mm=function(a,b){var c=this.A.$d;y(this,974,null,b,"GRC.INDX",c);return c};m.Nn=function(a,b,c){this.A.$d=b;y(this,974,b,c,"GRC.INDX")};
m.lm=function(a,b){var c=this.A.Zd[this.A.$d];b&&!B(this)||y(this,975,null,b,"GRC."+this.A.$g[this.A.$d],c);return c};
m.Mn=function(a,b,c){c&&!B(this)||y(this,975,b,c,"GRC."+this.A.$g[this.A.$d]);this.A.Zd[this.A.$d]=b;switch(this.A.$d){case 0:this.A.Wf=Vm[b&15];this.A.pe=this.A.Wf&~this.A.Yd;break;case 1:this.A.Yd=~Vm[b&15];this.A.pe=this.A.Wf&~this.A.Yd;break;case 2:this.A.wh=Vm[b&15]&-2139062144;break;case 3:case 5:ho(this,go(this));break;case 4:this.A.li=(b&3)<<3;break;case 6:An(this,!1);break;case 7:this.A.xh=Vm[b&15]&-2139062144;break;case 8:this.A.Mb=b|b<<8|b<<16|b<<24}};
m.Yl=function(a,b){return lo(this,this.aa,a,b)};m.xn=function(a,b,c){var d=this.aa;d.Pg=d.Ac;d.Ac=b&31;y(this,a,b,c,"CRTC.INDX")};m.Xl=function(a,b){return mo(this,this.aa,a,b)};m.wn=function(a,b,c){no(this,this.aa,a,b,c)};m.Zl=function(a,b){return oo(this,this.aa,b)};m.yn=function(a,b,c){a=this.aa;y(this,a.port+4,b,c,"MODE");a.fd=b;An(this,!1)};m.Wl=function(a,b){var c=this.aa.tf;b&&!B(this)||y(this,a,null,b,this.aa.type+".COLOR",c);return c};
m.vn=function(a,b,c){c&&!B(this)||y(this,a,b,c,this.aa.type+".COLOR");this.aa.tf!==b&&(this.aa.tf=b,io(this,!1))};m.$l=function(a,b){return po(this,this.aa,b)};function lo(a,b,c,d){var e;b.Gc&&(e=b.Ac);y(a,c,null,d,"CRTC.INDX",e);return e}function mo(a,b,c,d){var e;b.Gc&&b.Ac<b.vh&&(e=b.mb[b.Ac]);d&&!B(a)||y(a,c,null,d,"CRTC."+b.og[b.Ac],e);return e}
m.vn=function(a,b,c){c&&!B(this)||y(this,a,b,c,this.aa.type+".COLOR");this.aa.tf!==b&&(this.aa.tf=b,io(this,!1))};m.$l=function(a,b){return po(this,this.aa,b)};function lo(a,b,c,d){var e;b.Hc&&(e=b.Ac);y(a,c,null,d,"CRTC.INDX",e);return e}function mo(a,b,c,d){var e;b.Hc&&b.Ac<b.vh&&(e=b.mb[b.Ac]);d&&!B(a)||y(a,c,null,d,"CRTC."+b.og[b.Ac],e);return e}
function no(a,b,c,d,e){if(b.Ac<b.vh){e&&!B(a)||y(a,c,d,e,"CRTC."+b.og[b.Ac]);b.mb[b.Ac]=d;if(12==b.Ac||13==b.Ac)ko(a,b)&1?(c=(b.mb[12]<<8)+b.mb[13]|0,b.Ld!==c&&(b.Ld=c,io(a))):b.qf||(b.qf=b.mi);(9==b.Ac&&8!=b.Pg||18==b.Ac&&223==d)&&An(a,!0);Yn(a)}}function oo(a,b,c){var d=b.fd;y(a,b.port+4,null,c,"MODE",d);return d}function po(a,b,c){var d=ko(a,b);b===a.A?(d|=b.ma&48^48,b.$e=!1):d=(b.ma^=9)|240;b.ma=d;y(a,b.port+6,null,c,b===a.A?"STATUS1":"STATUS",d);return d}
var ln={948:Z.prototype.tm,949:Z.prototype.sm,952:Z.prototype.um,954:Z.prototype.vm},mn={948:Z.prototype.Un,949:Z.prototype.Tn,952:Z.prototype.Vn},nn={980:Z.prototype.Yl,981:Z.prototype.Xl,984:Z.prototype.Zl,985:Z.prototype.Wl,986:Z.prototype.$l},on={980:Z.prototype.xn,981:Z.prototype.wn,984:Z.prototype.yn,985:Z.prototype.vn},pn={960:Z.prototype.Sl,961:Z.prototype.jl,962:Z.prototype.Fm,964:Z.prototype.Dm,965:Z.prototype.Cm,974:Z.prototype.mm,975:Z.prototype.lm},qn={954:Z.prototype.Lk,960:Z.prototype.Kk,
961:Z.prototype.Kk,962:Z.prototype.Wn,964:Z.prototype.bo,965:Z.prototype.ao,970:Z.prototype.Pn,972:Z.prototype.On,974:Z.prototype.Nn,975:Z.prototype.Mn,986:Z.prototype.Lk},rn={963:Z.prototype.Gm,966:Z.prototype.em,967:Z.prototype.fm,969:Z.prototype.dm,970:Z.prototype.Hm,972:Z.prototype.Im},sn={963:Z.prototype.eo,966:Z.prototype.Dn,967:Z.prototype.En,968:Z.prototype.Fn,969:Z.prototype.Cn};
Ua(function(){for(var a=rb(document,"pcx86","video"),b=0;b<a.length;b++){var c=a[b],d=ob(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<=Ca().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());var f=+(d.aspect||cb.aspect);f&&.3<=f&&3.33>=f&&(Ta("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");Ka("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new Z(d,e,g,f,c);qb(d,c)}});
function qo(a){this.V=a.adapter;switch(this.V){case 1:this.X=956;this.C=7;break;case 2:this.X=888;this.C=7;break;case 3:this.X=632;this.C=5;break;default:x("Unrecognized parallel adapter #"+this.V);return}this.A=this.B=null;Za.call(this,"ParallelPort",a,qo,4194304);a=a.binding;"console"==a?this.B="":pb(this,a,ro)}hb(qo);var ro="buffer";m=qo.prototype;m.Pb=function(a,b,c){switch(b){case ro:return this.qa[b]=this.A=c,!0}return!1};
m.Hc=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;this.N=Jb(a,"ChipSet");nc(b,this,so,this.X);rc(b,this,to,this.X);wb(this)};m.gc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.fc=function(a){return a?this.save():!0};m.reset=function(){uo(this)};m.save=function(){var a=new mf(this),b=0,c=[];c[b++]=this.L;c[b++]=this.Yb;c[b]=this.Df;O(a,0,c);return a.data()};m.restore=function(a){return uo(this,a[0])};
m.Ic=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;this.N=Jb(a,"ChipSet");nc(b,this,so,this.X);rc(b,this,to,this.X);wb(this)};m.gc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.fc=function(a){return a?this.save():!0};m.reset=function(){uo(this)};m.save=function(){var a=new mf(this),b=0,c=[];c[b++]=this.L;c[b++]=this.Yb;c[b]=this.Df;O(a,0,c);return a.data()};m.restore=function(a){return uo(this,a[0])};
function uo(a,b){var c=0;void 0===b&&(b=[0,0,0]);a.L=b[c++];a.Yb=b[c++];a.Df=b[c];return!0}m.gm=function(a,b){var c=this.L;y(this,a,null,b,"DATA",c);return c};m.Em=function(a,b){var c=this.Yb;y(this,a,null,b,"STAT",c);return c};m.cm=function(a,b){var c=this.Df;y(this,a,null,b,"CTRL",c);return c};
m.Gn=function(a,b,c){y(this,a,b,c,"DATA");this.L=b;this.Yb|=64;a=!1;z(this,"transmitByte("+u(b)+")");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);if(null!=this.B){if(10==b||1024<=this.B.length)this.O(this.B),this.B="";10!=b&&(this.B+=String.fromCharCode(b));a=!0}a&&(this.Yb&=-65);vo(this)};m.Bn=function(a,b,c){y(this,a,b,c,"CTRL");this.Df=b;vo(this)};
function vo(a){a.N&&a.C&&(a.Df&16&&!(a.Yb&64)?ig(a.N,a.C):hg(a.N,a.C))}var so={0:qo.prototype.gm,1:qo.prototype.Em,2:qo.prototype.cm},to={0:qo.prototype.Gn,2:qo.prototype.Bn};Ua(function(){for(var a=rb(document,"pcx86","parallel"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new qo(d);qb(d,c)}});
function wo(a){this.ya=a.adapter;switch(this.ya){case 1:this.ua=1016;this.ka=4;break;case 2:this.ua=760;this.ka=3;break;default:x("Unrecognized serial adapter #"+this.ya);return}this.L=this.W=null;this.Ga=a.tabSize;this.Fa=a.charBOL;this.ea=0;Za.call(this,"SerialPort",a,wo,8388608);a=a.binding;"console"==a?this.W="":pb(this,a,xo);this.ia=this.ra=null;this.exports={connect:this.yj,receiveData:this.fg}}hb(wo);var xo="buffer";m=wo.prototype;m.aj=function(a,b){return a==this.xd?(this.V=b,this):null};
m.Pb=function(a,b,c){var d=this;switch(b){case xo:return this.qa[b]=this.L=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),d.fg(b);return!0},c.onkeypress=function(a){a=a||window.event;d.fg(a.which||a.keyCode);a.preventDefault&&a.preventDefault();return!0},c.removeAttribute("readonly"),!0}return!1};
m.Hc=function(a,b,c,d){this.X=a;this.ga=b;this.F=c;this.ha=d;this.N=Jb(a,"ChipSet");nc(b,this,yo,this.ua);rc(b,this,zo,this.ua);wb(this)};m.yj=function(){if(!this.ia){var a=Tc(this.X,"connection");if(a){var b=a.split("->");if(2==b.length){var c=pa(b[0]);if(c!=this.xd)return;b=pa(b[1]);if(this.ia=mb(b)){var d=this.ia.exports;if(d){var e=d.connect;e&&e.call(this.ia);if(this.ra=d.receiveData){this.status(this.ce+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};
m.Ic=function(a,b,c,d){this.X=a;this.ga=b;this.F=c;this.ha=d;this.N=Jb(a,"ChipSet");nc(b,this,yo,this.ua);rc(b,this,zo,this.ua);wb(this)};m.yj=function(){if(!this.ia){var a=Tc(this.X,"connection");if(a){var b=a.split("->");if(2==b.length){var c=pa(b[0]);if(c!=this.xd)return;b=pa(b[1]);if(this.ia=mb(b)){var d=this.ia.exports;if(d){var e=d.connect;e&&e.call(this.ia);if(this.ra=d.receiveData){this.status(this.ce+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};
m.gc=function(a,b){if(!b)if(this.yj(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.fc=function(a){return a?this.save():!0};m.reset=function(){Ao(this)};m.save=function(){var a=new mf(this),b=0,c=[];c[b++]=this.va;c[b++]=this.Da;c[b++]=this.fa;c[b++]=this.pa;c[b++]=this.U;c[b++]=this.B;c[b++]=this.C;c[b++]=this.A;c[b++]=this.Ca;c[b]=this.aa;O(a,0,c);return a.data()};m.restore=function(a){return Ao(this,a[0])};
function Ao(a,b){var c=0;void 0===b&&(b=[0,0,384,0,1,0,0,96,48,[]]);a.va=b[c++];a.Da=b[c++];a.fa=b[c++];a.pa=b[c++];a.U=b[c++];a.B=b[c++];a.C=b[c++];a.A=b[c++];a.Ca=b[c++];a.aa=b[c];return!0}m.fg=function(a){if("number"==typeof a)this.aa.push(a);else if("string"==typeof a)for(var b=0;b<a.length;b++)this.aa.push(a.charCodeAt(b));else this.aa=this.aa.concat(a);Bo(this);return!0};
function Bo(a){0<a.aa.length&&!(a.A&1)&&(a.va=a.aa.shift(),a.A|=1);var b=-1;a.A&1&&a.pa&1&&(b=4);0<=b?(a.U&=-8,a.U|=b,a.N&&a.ka&&ig(a.N,a.ka,100)):(a.U|=1,a.N&&a.ka&&hg(a.N,a.ka))}m.Bm=function(a,b){var c=this.B&128?this.fa&255:this.va;y(this,a,null,b,this.B&128?"DLL":"RBR",c);this.A&=-2;Bo(this);return c};m.nm=function(a,b){var c=this.B&128?this.fa>>8:this.pa;y(this,a,null,b,this.B&128?"DLM":"IER",c);return c};m.om=function(a,b){var c=this.U;y(this,a,null,b,"IIR",c);return c};
m.pm=function(a,b){var c=this.B;y(this,a,null,b,"LCR",c);return c};m.rm=function(a,b){var c=this.C;y(this,a,null,b,"MCR",c);return c};m.qm=function(a,b){var c=this.A;y(this,a,null,b,"LSR",c);return c};m.wm=function(a,b){var c=this.Ca;y(this,a,null,b,"MSR",c);return c};
m.co=function(a,b,c){y(this,a,b,c,this.B&128?"DLL":"THR");if(this.B&128)this.fa=this.fa&-256|b;else{this.Da=b;this.A&=-97;a=!1;z(this,"transmitByte("+u(b)+")");this.ra&&this.ra.call(this.ia,b)&&(a=!0);if(this.L)13==b?this.ea=0:8==b?(this.L.value=this.L.value.slice(0,-1),0<this.ea&&this.ea--):(a=(a=qa[b])?"<"+a+">":String.fromCharCode(b),c=a.length,32>b&&1==c&&(c=0),9==b&&(b=this.Ga||8,c=b-this.ea%b,this.Ga&&(a=oa("",c))),this.Fa&&!this.ea&&c&&(a=String.fromCharCode(this.Fa)+a),this.L.value+=a,this.L.scrollTop=
this.L.scrollHeight,this.ea+=c),a=!0;else if(null!=this.W){if(10==b||1024<=this.W.length)this.O(this.W),this.W="";10!=b&&(this.W+=String.fromCharCode(b));a=!0}a&&(this.A|=96)}};m.Qn=function(a,b,c){y(this,a,b,c,this.B&128?"DLM":"IER");this.B&128?this.fa=this.fa&255|b<<8:this.pa=b};m.Rn=function(a,b,c){y(this,a,b,c,"LCR");this.B=b};
m.Sn=function(a,b,c){var d=this.C;y(this,a,b,c,"MCR");this.C=b;this.V&&(d^b)&3&&(a=this.V,b=this.C,(c=3==(b&3))?a.Gc||(d=!1,a.C&2||(a.reset(),z(a,"serial mouse reset"),d=!0),a.C&1||(z(a,"serial mouse ID requested"),d=!0),d&&(a.N.fg([77,77]),z(a,"serial mouse ID sent")),Co(a),a.Gc=c):a.Gc&&(z(a,"serial mouse inactive"),Do(a),a.Gc=c),a.C=b)};
var yo={0:wo.prototype.Bm,1:wo.prototype.nm,2:wo.prototype.om,3:wo.prototype.pm,4:wo.prototype.rm,5:wo.prototype.qm,6:wo.prototype.wm},zo={0:wo.prototype.co,1:wo.prototype.Qn,3:wo.prototype.Rn,4:wo.prototype.Sn};Ua(function(){for(var a=rb(document,"pcx86","serial"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new wo(d);qb(d,c)}});function Eo(a){Za.call(this,"Mouse",a,Eo,16777216);if(this.ka=a.serial)this.pa="SerialPort";this.ia=this.fa=this.Gc=!1;this.B=[];this.A=[];wb(this)}hb(Eo);var wn=0;m=Eo.prototype;
m.Hc=function(a,b,c,d){this.X=a;this.ga=b;this.F=c;this.ha=d;for(b=null;b=Jb(a,"Video",b);)this.B.push(b)};m.gc=function(a,b){if(!b){if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;if(this.pa&&!this.N){for(var c=null;(c=Jb(this.X,this.pa,c))&&(!c.aj||!(this.N=c.aj(this.ka,this))););if(this.N)for(this.A=[],c=0;c<this.B.length;c++){var d;d=this.B[c];d.V=this;(d=d.X)&&this.A.push(d)}else x(this.id+": "+this.pa+" "+this.ka+" unavailable")}this.Gc?Co(this):Do(this)}return!0};
m.fc=function(a){return a?this.save():!0};m.reset=function(){Fo(this)};m.save=function(){var a=new mf(this),b=0,c=[];c[b++]=this.Gc;c[b++]=this.L;c[b++]=this.V;c[b++]=this.U;c[b++]=this.W;c[b++]=this.aa;c[b++]=this.ea;c[b]=this.C;O(a,0,c);return a.data()};m.restore=function(a){return Fo(this,a[0])};function Fo(a,b){var c=0;void 0===b&&(b=[!1,-1,-1,0,0,!1,!1,0]);var d=b[c++];a.Gc=d;a.L=b[c++];a.V=b[c++];a.U=b[c++];a.W=b[c++];a.aa=b[c++];a.ea=b[c++];a.C=b[c];return!0}m.Xf=function(a){this.fa=a};
m.Sn=function(a,b,c){var d=this.C;y(this,a,b,c,"MCR");this.C=b;this.V&&(d^b)&3&&(a=this.V,b=this.C,(c=3==(b&3))?a.Hc||(d=!1,a.C&2||(a.reset(),z(a,"serial mouse reset"),d=!0),a.C&1||(z(a,"serial mouse ID requested"),d=!0),d&&(a.N.fg([77,77]),z(a,"serial mouse ID sent")),Co(a),a.Hc=c):a.Hc&&(z(a,"serial mouse inactive"),Do(a),a.Hc=c),a.C=b)};
var yo={0:wo.prototype.Bm,1:wo.prototype.nm,2:wo.prototype.om,3:wo.prototype.pm,4:wo.prototype.rm,5:wo.prototype.qm,6:wo.prototype.wm},zo={0:wo.prototype.co,1:wo.prototype.Qn,3:wo.prototype.Rn,4:wo.prototype.Sn};Ua(function(){for(var a=rb(document,"pcx86","serial"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new wo(d);qb(d,c)}});function Eo(a){Za.call(this,"Mouse",a,Eo,16777216);if(this.ka=a.serial)this.pa="SerialPort";this.ia=this.fa=this.Hc=!1;this.B=[];this.A=[];wb(this)}hb(Eo);var wn=0;m=Eo.prototype;
m.Ic=function(a,b,c,d){this.X=a;this.ga=b;this.F=c;this.ha=d;for(b=null;b=Jb(a,"Video",b);)this.B.push(b)};m.gc=function(a,b){if(!b){if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;if(this.pa&&!this.N){for(var c=null;(c=Jb(this.X,this.pa,c))&&(!c.aj||!(this.N=c.aj(this.ka,this))););if(this.N)for(this.A=[],c=0;c<this.B.length;c++){var d;d=this.B[c];d.V=this;(d=d.X)&&this.A.push(d)}else x(this.id+": "+this.pa+" "+this.ka+" unavailable")}this.Hc?Co(this):Do(this)}return!0};
m.fc=function(a){return a?this.save():!0};m.reset=function(){Fo(this)};m.save=function(){var a=new mf(this),b=0,c=[];c[b++]=this.Hc;c[b++]=this.L;c[b++]=this.V;c[b++]=this.U;c[b++]=this.W;c[b++]=this.aa;c[b++]=this.ea;c[b]=this.C;O(a,0,c);return a.data()};m.restore=function(a){return Fo(this,a[0])};function Fo(a,b){var c=0;void 0===b&&(b=[!1,-1,-1,0,0,!1,!1,0]);var d=b[c++];a.Hc=d;a.L=b[c++];a.V=b[c++];a.U=b[c++];a.W=b[c++];a.aa=b[c++];a.ea=b[c++];a.C=b[c];return!0}m.Xf=function(a){this.fa=a};
function Co(a){if(!a.ia)for(var b=0;b<a.A.length;b++)Go(a,a.A[b])&&(a.ia=!0)}function Do(a){if(a.ia)for(var b=0;b<a.A.length;b++){var c=a.A[b];c&&(c.style.cursor="auto")}}function Go(a,b){return b?(b.addEventListener("mousemove",function(b){Ho(a,b)},!1),b.addEventListener("mousedown",function(b){Ho(a,b,!0)},!1),b.addEventListener("mouseup",function(b){Ho(a,b,!1)},!1),b.style.cursor="none",!0):!1}
function Ho(a,b,c){if(void 0!==c){var d;!(d=!1!==a.fa)&&(d=a.B.length)&&(d=a.B[0],d=d.zi?d.De(!0):!1);d||(a.fa=null);a.he(b.button,c)}else{if(0>a.L||0>a.V)a.L=b.clientX,a.V=b.clientY;a.fa?(c=b.movementX||b.mozMovementX||b.webkitMovementX||0,d=b.movementY||b.mozMovementY||b.webkitMovementY||0):(c=b.clientX-a.L,d=b.clientY-a.V);a.L=b.clientX;a.V=b.clientY;a.Jf(c,d,a.L,a.V)}}
m.he=function(a,b){if(this.Gc&&this.F&&this.F.la.Ib){var c="mouse button"+a+" "+(b?"dn":"up");switch(a){case wn:if(this.aa!=b){this.aa=b;Io(this,c);return}break;case 2:if(this.ea!=b){this.ea=b;Io(this,c);return}}z(this,c+": ignored")}};m.Jf=function(a,b,c,d){this.Gc&&this.F&&this.F.la.Ib&&(a||b)&&(this.U=a,this.W=b,Io(this,null,c,d))};
m.he=function(a,b){if(this.Hc&&this.F&&this.F.la.Ib){var c="mouse button"+a+" "+(b?"dn":"up");switch(a){case wn:if(this.aa!=b){this.aa=b;Io(this,c);return}break;case 2:if(this.ea!=b){this.ea=b;Io(this,c);return}}z(this,c+": ignored")}};m.Jf=function(a,b,c,d){this.Hc&&this.F&&this.F.la.Ib&&(a||b)&&(this.U=a,this.W=b,Io(this,null,c,d))};
function Io(a,b,c,d){var e=64|(a.aa?32:0)|(a.ea?16:0)|(a.W&192)>>4|(a.U&192)>>6,f=a.U&63,g=a.W&63;B(a,8388608)&&z(a,(b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+u(e)+","+u(f)+","+u(g)+"]",0,!0);a.N.fg([e,f,g]);a.U=a.W=0}Ua(function(){for(var a=rb(document,"pcx86","mouse"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new Eo(d);qb(d,c)}});
function Jo(a,b,c){Za.call(this,"Disk",{id:a.ce+".disk"+t(++Ko,4)},Jo,2097152);this.controller=a;this.X=a.X;this.ha=a.ha;this.B=b;this.ga=b.name;this.df=b.df;this.wg=this.N=!1;Lo(this,c,b.Bb,b.ub,b.lb,b.Va);this.U=[];this.ea=[];this.L=null;this.ia=0;this.fa=!1;wb(this)}var Ko=0;hb(Jo);function Mo(a,b,c,d,e,f){this.za=a;this.jc=c;this.bh=d;this.fj=e;this.xe=f}var No=[0,2],Oo=[24,2],Po=[60,4],Qo=[0,2],Ro=[4,2],So=[6,2],To=[28,2],Uo=[32,2],Vo=[34,2],Wo=[38,2],Xo=[44,4],Yo=[50,2];
function Zo(a,b,c){var d;c=c||2;var e=b&511,f=$o(a.za,a.xe[b>>9]);if(f){if(e+c<=f.length)return ap(a.za,f,e,c);for(e=d=0;c--;)d|=Zo(a,b++,1)<<e,e+=8}return d}function bp(a,b,c){return Zo(a,b[0]+(c||0),b[1])}function cp(a,b,c){for(var d=0;!c||b<c;){var e=Zo(a,b,1);if(!e)break;var f;f=a;var g=b+1,h=e,k="";for(h||(h=-1);h--;){var l=Zo(f,g++,1);if(!l)break;k+=String.fromCharCode(l)}f=k;if(!f)break;b+=1+e;if(d){if(e=Zo(a,b),g=a.A[e])g=g[0],a.yd[g]&&a.yd[g].we[e].push(f)}else c||(a.ig=f);b+=2;d++}}
Mo.prototype.wj=function(a,b){var c=null;if(this.yd)for(var d in this.yd){var e=this.yd[d];if(a>=e.ni&&a<=e.Hk){d=a-=e.ni;var f,g;for(g in e.we){var h=e.we[g],k=a-h[0];if(!k){c=this.ig+"!"+h[1];break}b&&0<k&&k<d&&(f=h,d=k)}!c&&f&&(c=this.ig+"!"+f[1]+"+"+v(d));break}}return c||this.jc+"+"+t(a,8,!0)};m=Jo.prototype;m.Hc=function(a,b,c,d){this.ha=d};m.gc=function(a,b){b||!this.wg||this.N||(wb(this,!1),this.load(this.ga,this.V,null,this.yl,this));return!0};m.yl=function(){wb(this,!0)};
Mo.prototype.wj=function(a,b){var c=null;if(this.yd)for(var d in this.yd){var e=this.yd[d];if(a>=e.ni&&a<=e.Hk){d=a-=e.ni;var f,g;for(g in e.we){var h=e.we[g],k=a-h[0];if(!k){c=this.ig+"!"+h[1];break}b&&0<k&&k<d&&(f=h,d=k)}!c&&f&&(c=this.ig+"!"+f[1]+"+"+v(d));break}}return c||this.jc+"+"+t(a,8,!0)};m=Jo.prototype;m.Ic=function(a,b,c,d){this.ha=d};m.gc=function(a,b){b||!this.wg||this.N||(wb(this,!1),this.load(this.ga,this.V,null,this.yl,this));return!0};m.yl=function(){wb(this,!0)};
m.fc=function(a,b){if(this.N){var c,d=0;if(this.fa&&!Ea("Disk writes are still in progress, shut down anyway?"))return!1;for(;c=dp(this,!1);)if(d=c[0]){this.controller.Na('Unable to save "'+this.ga+'" (error '+d+")");break}b&&this.N&&(c="action=close&volume="+this.V,c+="&machine="+this.controller.hf(),c+="&user="+this.controller.ie(),za(Aa()+"/api/v1/disk?"+c,null,!0),this.N=!1);!d&&a&&this.controller.Na(this.ga+" saved")}return!0};
function Lo(a,b,c,d,e,f){a.mode=b;a.Bb=c;a.ub=d;a.lb=e;a.Va=f;a.A=[];if("preload"!=a.mode){b=Array(a.Bb);for(c=0;c<b.length;c++){d=Array(a.ub);for(e=0;e<d.length;e++){f=Array(a.lb);for(var g=1;g<=f.length;g++)f[g-1]=ep(null,c,e,g,a.Va,"local"==a.mode?0:null);d[e]=f}b[c]=d}a.A=b}a.aa=null}
m.load=function(a,b,c,d,e){var f=b;if(this.W)return!0;this.ga=a;this.V=b;this.Tg=ha(b);var g=this;this.W=d;this.ka=e||this.controller;if(c){var h=new FileReader;h.onload=function(){var a=h.result,b,c=a?a.byteLength:0,d=ba[c];if(d){g.Bb=d[0];g.ub=d[1];g.lb=d[2];g.Va=512;b=g.Va>>2;var e=d=0,a=new DataView(a,0,c);g.A=Array(g.Bb);for(c=0;c<g.A.length;c++)for(var f=g.A[c]=Array(g.ub),F=0;F<f.length;F++)for(var w=f[F]=Array(g.lb),E=0;E<w.length;E++){for(var H=ep(null,c,F,E+1,g.Va,0),L=H.data,W=0;W<b;W++,
@ -602,7 +602,7 @@ var up={3:{Ud:3,ge:0,name:aa.Eo},4:{Ud:2,ge:1,name:aa.Co},5:{Ud:9,ge:7,name:aa.I
m.Pb=function(a,b,c){var d=this;switch(b){case "listDisks":this.qa[b]=c;if(this.fa){b=[];for(a=0;a<c.options.length;a++)b.push(c.options[a]);b.sort(function(a,b){return"path"!=d.fa?a.text.localeCompare(b.text):a.value.localeCompare(b.value)});for(a=0;a<b.length;a++)c.options[a]=b[a]}c.onchange=function(){var a=d.qa.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(h){x("FDC option error: "+h.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}};return!0;case "descDisk":case "listDrives":return this.qa[b]=c,c.onchange=function(){var a=ea(c.value,10);null!=a&&vp(d,a)},!0;case "loadDrive":return this.qa[b]=c,c.onclick=function(){var a=d.qa.listDisks;a&&wp(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.ia){c.parentNode.removeChild(c);break}this.qa[b]=c;c.onclick=function(){var a=d.qa.listDrives;a&&a.options&&d.A&&(a=ea(a.value,10),(a=
d.A[a])?(a=a.za)?(a=La(rp(a),"octet-stream",!0,a.Tg.replace(".json",".img")),x(a)):d.Na("No diskette loaded in drive."):d.Na("No diskette drive selected."))};return!0;case "mountDrive":if(!this.ia){c.parentNode.removeChild(c);break}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;wp(d,ha(b,!0),b,a)}return!1};return!0}return!1};
m.Hc=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;this.X=a;this.N=Jb(a,"ChipSet");if((this.U=Tc(this.X,"autoMount")||this.U)&&"string"==typeof this.U)try{this.U=eval("("+this.U+")")}catch(e){x("FDC auto-mount error: "+e.message+" ("+this.U+")"),this.U=null}xp(this);nc(b,this,yp);rc(b,this,zp);Ap(this,"None","",!0);this.ia&&Ap(this,"Local Disk","?");Ap(this,"Remote Disk","??");Bp(this)||wb(this)};
m.Ic=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;this.X=a;this.N=Jb(a,"ChipSet");if((this.U=Tc(this.X,"autoMount")||this.U)&&"string"==typeof this.U)try{this.U=eval("("+this.U+")")}catch(e){x("FDC auto-mount error: "+e.message+" ("+this.U+")"),this.U=null}xp(this);nc(b,this,yp);rc(b,this,zp);Ap(this,"None","",!0);this.ia&&Ap(this,"Local Disk","?");Ap(this,"Remote Disk","??");Bp(this)||wb(this)};
m.gc=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.X.kh){this.B=[];for(var c=0;c<this.A.length;c++)Cp(this,c,!0);Bp(this,!0)}}else if(!this.restore(a))return!1;if(c=this.qa.listDrives){for(;c.firstChild;)c.removeChild(c.firstChild);c.value="";for(var d=0;d<this.ka;d++){var e=document.createElement("option");e.value=d;e.text=String.fromCharCode(65+d)+":";c.appendChild(e)}0<this.ka&&(c.value="0",vp(this,0))}}return!0};m.fc=function(a){return a?this.save():!0};m.reset=function(){xp(this)};
m.save=function(){var a=new mf(this),b=0,c=[];c[b++]=this.hb;c[b++]=0;c[b++]=this.ma;c[b++]=this.V;c[b++]=this.L;c[b++]=this.C;c[b++]=this.aa;for(var d=b++,e=0,f=[],g=0;g<this.A.length;g++){var h=e++,k=this.A[g],l=0,n=[];n[l++]=k.Cb;n[l++]=[k.name,k.Bb,k.ub,k.lb,k.Va,k.df,k.Eg,k.Pf,k.Qf];n[l++]=k.kb;n[l++]=k.ee+100;n[l++]=k.Qb;n[l++]=k.xb;n[l++]=k.fe;n[l++]=k.Hb;n[l++]=k.eb;n[l++]=k.cf;n[l++]=k.Sk;n[l]=k.Me;f[h]=n}c[d]=f;d=b++;for(e=0;e<this.A.length;e++)f=this.A[e],f.za&&Dp(this,f.Me,f.za);c[d]=
this.B;c[b++]=this.W;c[b]=this.ic;O(a,0,c);return a.data()};m.restore=function(a){return xp(this,a[0])};
@ -629,7 +629,7 @@ Ua(function(){for(var a=rb(document,"pcx86","fdc"),b=0;b<a.length;b++){var c=a[b
var Np=["XTC","ATC","COMPAQ"],Op=[{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]}];m=Mp.prototype;
m.Pb=function(a,b,c){var d=this;switch(b){case "saveHD0":case "saveHD1":return this.qa[b]=c,c.onclick=function(a){return function(){var b=d.A&&d.A[a];b&&b.za?(b=b.za,b=La(rp(b),"octet-stream",!0,b.Tg.replace(".json",".img")),x(b)):d.Na("Hard drive "+a+" is not available.")}}(+b.slice(-1)),!0}return!1};
m.Hc=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;this.X=a;if(d=Tc(a,"drives"))this.ua=d;else if(this.Fa)try{this.ua=eval("("+this.Fa+")")}catch(e){x("HDC drive configuration error: "+e.message+" ("+this.Fa+")")}this.N=Jb(a,"ChipSet");this.U=0;this.Ga=3;nc(b,this,this.ia?Pp:Qp);rc(b,this,this.ia?Rp:Sp);this.ia&&(this.U++,this.N&&5180==this.N.ja&&this.U++,this.Ga=2,b.aa[496]=2,b.ea[496]=2);gf(c,19,this.Mm.bind(this));gf(c,64,this.Nm.bind(this));this.reset();Tp(this)||wb(this)};
m.Ic=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;this.X=a;if(d=Tc(a,"drives"))this.ua=d;else if(this.Fa)try{this.ua=eval("("+this.Fa+")")}catch(e){x("HDC drive configuration error: "+e.message+" ("+this.Fa+")")}this.N=Jb(a,"ChipSet");this.U=0;this.Ga=3;nc(b,this,this.ia?Pp:Qp);rc(b,this,this.ia?Rp:Sp);this.ia&&(this.U++,this.N&&5180==this.N.ja&&this.U++,this.Ga=2,b.aa[496]=2,b.ea[496]=2);gf(c,19,this.Mm.bind(this));gf(c,64,this.Nm.bind(this));this.reset();Tp(this)||wb(this)};
m.gc=function(a,b){if(!b)if(!a||!this.restore)Up(this),this.X.kh&&Tp(this,!0);else if(!this.restore(a))return!1;return!0};m.fc=function(a){return a?this.save():!0};m.hf=function(){return this.X?this.X.hf():""};m.ie=function(){return this.X?this.X.ie():""};m.reset=function(){Up(this,null,!0)};
m.save=function(){var a=new mf(this),b=0,c=[];this.ia?(c[b++]=this.W,c[b++]=this.Pa,c[b++]=this.aa,c[b++]=this.Ca,c[b++]=this.ya,c[b++]=this.va,c[b++]=this.ra,c[b++]=this.ma,c[b++]=this.Da,c[b++]=[this.fa,this.hb]):(c[b++]=this.pa,c[b++]=this.ma,c[b++]=this.V,c[b++]=this.L,c[b++]=this.C,c[b++]=this.Oa,c[b++]=this.Ka,c[b++]=this.Ja,c[b++]=this.ka);for(var d=0,e=[],f=0;f<this.A.length;f++){var g=d++,h=this.A[f],k=0,l=[];l[k++]=h.errorCode;l[k++]=h.Uk;l[k++]=h.df;l[k++]=h.Re;l[k++]=h.Se;l[k++]=h.kb;
l[k++]=h.ub;l[k++]=h.be;l[k++]=h.xb;l[k++]=h.fe;l[k++]=h.Hb;l[k++]=h.eb;l[k]=h.za?h.za.save():null;e[g]=l}c[b]=e;O(a,0,c);return a.data()};m.restore=function(a){return Up(this,a[0])};
@ -657,13 +657,13 @@ function gq(a,b,c){b.errorCode=4;b.Se&&b.Se.length==b.Hb||(b.Se=Array(b.Hb));b.e
m.Je=function(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.pb&&(f=a.eb,d=a.za.read(a.pb,a.eb),a.eb+=g,0<=d))return e=a.pb,b&&b(d,!1,e,f),d;if(b){if(a.za)return a.za.seek(a.be,a.kb,a.xb+a.qg,!1,function(c,k){(a.pb=c)?(e=c,f=a.eb=0,hq(a),d=a.za.read(a.pb,a.eb),a.eb+=g):a.errorCode=20;b(d,k,e,f)}),d;a.errorCode=20;b(d,!1,e,f)}return d};
function $p(a,b){if(a.errorCode)return-1;do{if(a.pb&&a.za.write(a.pb,a.eb++,b))break;a.za&&a.za.seek(a.be,a.kb,a.xb+a.qg,!0,function(b){a.pb=b});if(!a.pb){a.errorCode=20;b=-1;break}a.eb=0;hq(a)}while(1);return b}function hq(a){a.xb++;var b=1-a.qg;a.xb>=a.lb+b&&(a.xb=b,a.kb++,a.kb>=a.ub&&(a.kb=0,a.be++))}m.Mm=function(){var a=this.F.M&255;!(this.F.G>>8)&&128<a&&(this.ka=a-128);return!0};m.Nm=function(){var a;(a=this.F.G>>8||!this.N)||(a=!(this.N.vc[0].Ad&64));return a?!0:!1};
var Qp={800:Mp.prototype.Km,801:Mp.prototype.Lm,802:Mp.prototype.Jm},Pp={496:Mp.prototype.hl,497:Mp.prototype.Rl,498:Mp.prototype.Tl,499:Mp.prototype.Ul,500:Mp.prototype.Pl,501:Mp.prototype.Ol,502:Mp.prototype.Ql,503:Mp.prototype.Vl},Sp={800:Mp.prototype.fo,801:Mp.prototype.jo,802:Mp.prototype.io,803:Mp.prototype.ho,807:Mp.prototype.oi,811:Mp.prototype.oi,815:Mp.prototype.oi},Rp={496:Mp.prototype.pn,497:Mp.prototype.un,498:Mp.prototype.sn,499:Mp.prototype.tn,500:Mp.prototype.on,501:Mp.prototype.nn,
502:Mp.prototype.qn,503:Mp.prototype.mn,1014:Mp.prototype.rn};Ua(function(){for(var a=rb(document,"pcx86","hdc"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new Mp(d);qb(d,c)}});function iq(a){Za.call(this,"Debugger",a,iq);this.pa=this.Ca=this.ea=0;this.va=!1;this.A=-1;this.C=[];this.ya={}}hb(iq);var jq={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};iq.prototype.nh=function(){return-1};iq.prototype.oh=function(){};
502:Mp.prototype.qn,503:Mp.prototype.mn,1014:Mp.prototype.rn};Ua(function(){for(var a=rb(document,"pcx86","hdc"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new Mp(d);qb(d,c)}});function iq(a){Za.call(this,"Debugger",a,iq);this.uc=a.base||16;this.pa=this.Ca=this.ea=0;this.va=!1;this.A=-1;this.C=[];this.ya={}}hb(iq);var jq={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};iq.prototype.nh=function(){return-1};iq.prototype.oh=function(){};
iq.prototype.Ok=function(a,b){return a.replace("["+b+"]","unimplemented")};iq.prototype.Mg=function(a,b,c){if(b)if(a){0>this.A&&this.C.length&&(this.A=0);if(0>this.A||a!=this.C[this.A])this.C.splice(0,0,a),this.A=0;this.A--}else this.va?a="end":a=this.C[this.A+1];b=[];if(a){a=a.toLowerCase().replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(pa(a.substring(d,f))),d=f+1}}return b};
function kq(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<<e;break;case ">>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f<e?1:0;break;case "<=":d=f<=e?1:0;break;case ">":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break;
case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0}
function lq(a,b,c){var d;if(b){b=mq(a,b);for(var e=0,f=!1,g=b,h=[],k=[],l=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<l.length;){var n=l[e++],r=n.length,n=pa(n);if(!n){f=!0;break}n=nq(a,n,null,!1===c);if(void 0===n){f=!0;c=!1;break}h.push(n);if(e==l.length)break;var n=l[e++],q=n.length;k.length&&jq[n]<jq[k[k.length-1]]&&kq(h,k,1);k.push(n);b=b.substr(r+q)}kq(h,k)&&1==h.length||(f=!0);f?c&&a.O("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(),c&&oq(a,null,
d))}return d}function mq(a,b){for(var c;(c=b.match(/\{(.*?)}/))&&!(0<=c[1].indexOf("{"));){var d=lq(a,c[1]);b=b.replace("{"+c[1]+"}",null!=d?t(d):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)b=a.Ok(b,c[1]);for(c=b;d=c.match(/\$([a-z]+)/i);){var e=null;switch(d[1].toLowerCase()){case "ops":e=a.pa-a.Ca}if(null==e)break;c=c.replace(d[0],e.toString())}return c}
function nq(a,b,c,d){var e;null!=b?(e=a.nh(b),0<=e?e=a.oh(e):(e=a.ya[b],null==e&&(e=ea(b,16))),null!=e||d||a.O("invalid "+(c?c:"value")+": "+b)):d||a.O("missing "+(c||"value"));return e}function oq(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f=0,g="";f?11<f&&(f=11):f=d&-65536?11:6;if(null==d||isNaN(d))for(;0<f--;)g="?"+g;else for(;0<f--;)g=String.fromCharCode((d&7)+48)+g,d>>=3;d=t(c,0,!0)+" "+c+". "+("0o"+g)+" "+ga(c,0,!0)}a.O((null!=b?b+": ":"")+d);return e}
function nq(a,b,c,d){var e;null!=b?(e=a.nh(b),0<=e?e=a.oh(e):(e=a.ya[b],null==e&&(e=ea(b,a.uc))),null!=e||d||a.O("invalid "+(c?c:"value")+": "+b)):d||a.O("missing "+(c||"value"));return e}function oq(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f=0,g="";f?11<f&&(f=11):f=d&-65536?11:6;if(null==d||isNaN(d))for(;0<f--;)g="?"+g;else for(;0<f--;)g=String.fromCharCode((d&7)+48)+g,d>>=3;d=t(c,0,!0)+" "+c+". "+("0o"+g)+" "+ga(c,0,!0)}a.O((null!=b?b+": ":"")+d);return e}
function pq(a,b){if(b)return oq(a,b,a.ya[b]);var c=0;for(b in a.ya)oq(a,b,a.ya[b]),c++;return 0<c}function qq(a){iq.call(this,a);this.Ja=4;this.Da=5;this.Ba=1048575;this.aa=rq(this);this.sb=rq(this);this.ua=rq(this);this.N=[];this.B=this.ra=this.fa=[];sq(this);this.Oa=0;tq(this);this.$a={};uq(this,a.messages);this.gb=a.commands;var b=this;window?void 0===window.pcx86&&(window.pcx86=function(a){return vq(b,a)}):void 0===global.pcx86&&(global.pcx86=function(a){return vq(b,a)})}hb(qq,iq);
var wq={16:262144,19:524288,21:32768,22:65536,28:2048,33:134217728,51:16777216},xq=[26,28,40,42,109],yq={"?":"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"},zq="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(" "),
@ -685,9 +685,9 @@ Bq=["VALID","ZERO ","SPEC ","EMPTY"],Cq=[8086,80186,80286,80386],Dq=["AL","CL","
45188,4097],[109,45188,4097],[110,45188,4097],[140,45188,4097],[142,45188,4097],Fq,[119,45188,4097]],[[115,12417,4113],[116,12417,4113],[109,12417,4113],[110,12417,4113],[140,12417,4113],[142,12417,4113],Fq,[119,12417,4113]],[[115,12420,4113],[116,12420,4113],[109,12420,4113],[110,12420,4113],[140,12420,4113],[142,12420,4113],Fq,[119,12420,4113]],[[115,12417,4449],[116,12417,4449],[109,12417,4449],[110,12417,4449],[140,12417,4449],[142,12417,4449],Fq,[119,12417,4449]],[[115,12420,4449],[116,12420,
4449],[109,12420,4449],[110,12420,4449],[140,12420,4449],[142,12420,4449],Fq,[119,12420,4449]],[[155,4225,4097],Fq,[98,12417],[96,12417],[95,4225],[42,12417],[32,4225],[41,12417]],[[155,4228,4100],Fq,[98,12420],[96,12420],[95,4228],[42,12420],[32,4228],[41,12420]],[[44,12417],[31,12417],Fq,Fq,Fq,Fq,Fq,Fq],[[44,12420],[31,12420],[17,4228],[17,4231],[57,4228],[57,4231],[108,4228],Fq],[],[[145,41091],[153,41091],[78,36995],[89,36995],[156,36995],[157,36995],Fq,Fq],[[139,41091],[144,41091],[75,36995],
[77,36995],[146,41091],Fq,[79,36995],Fq],[Fq,Fq,Fq,Fq,[13,53380,4097],[16,57476,4097],[15,57476,4097],[14,57476,4097]]];m=qq.prototype;
m.Hc=function(a,b,c,d){this.ga=b;this.F=c;this.X=a;this.kc=Jb(a,"FDC");this.Db=Jb(a,"HDC");this.Tb=Jb(a,"FPU");this.V=Jb(a,"Mouse");(a=Tc(a,"messages"))&&uq(this,a);this.Da=b.N>>2;this.Ba=b.Cg;this.Ub=new hd(this.F,7,"DBG");this.Ga=Hq;80186<=this.F.ja&&(this.Ga=Hq.slice(),this.Ga[15]=Fq,80286<=this.F.ja&&(this.Ga[15]=Gq,80386<=this.F.ja&&(this.Ja=8)));Qk(this,64,function(a){Lq(d,d.F.kd,a[0])});Qk(this,4,function(a){if(a=a[0]){var b=nq(d,a);if(void 0===b)d.O("invalid selector: "+a);else if(a=Mq(d,
m.Ic=function(a,b,c,d){this.ga=b;this.F=c;this.X=a;this.kc=Jb(a,"FDC");this.Db=Jb(a,"HDC");this.Tb=Jb(a,"FPU");this.V=Jb(a,"Mouse");(a=Tc(a,"messages"))&&uq(this,a);this.Da=b.N>>2;this.Ba=b.Cg;this.Ub=new hd(this.F,7,"DBG");this.Ga=Hq;80186<=this.F.ja&&(this.Ga=Hq.slice(),this.Ga[15]=Fq,80286<=this.F.ja&&(this.Ga[15]=Gq,80386<=this.F.ja&&(this.Ja=8)));Qk(this,64,function(a){Lq(d,d.F.kd,a[0])});Qk(this,4,function(a){if(a=a[0]){var b=nq(d,a);if(void 0===b)d.O("invalid selector: "+a);else if(a=Mq(d,
b,2),d.O("dumpSel("+v(a?a.Z:b)+"): %"+t(a?a.Xb:null,d.Da)),a){var c,b=!1;if(a.type&4096)a.type&2048?(c="code"+(a.type&512?",readable":",execonly"),a.type&1024&&(c+=",conforming")):(c="data"+(a.type&512?",writable":",readonly"),a.type&1024&&(c+=",expdown")),a.type&256&&(c+=",accessed");else{var h=Nq[a.type];h&&(c=h[0],b=h[1])}!c||a.wb&32768||(c+=",not present");d.O((b?"seg="+v(a.Aa&65535)+" off="+v(a.Ta):"base="+t(a.Aa,d.Da)+" limit="+Oq(a.Ta))+" type="+u(a.type>>8)+" ("+c+") ext="+v(a.ext&-65296)+
" dpl="+u(a.Fc))}}else d.O("no selector")});Qk(this,134217728,function(a){var b;(a=a[0])&&(b=nq(d,a));if(void 0===b)d.O("invalid MCB");else for(d.O("dumpMCB("+v(b)+")");b;){a=rq(d,0,b);var c=d.Qa(a,1),h=d.na(a,2),k=d.na(a,5);if(77!=c&&90!=c)break;d.O(Pq(0,b)+": '"+String.fromCharCode(c)+"' PID="+v(h)+" LEN="+v(k)+' "'+Qq(d,a,8)+'"');b+=1+k}});Qk(this,128,function(a){Lq(d,d.F.sa,a[0],d.F.sa!==d.F.kd)});Qk(this,8,function(a){a:{if(a=a[0]){var b=nq(d,a);if(void 0===b){d.O("invalid task selector: "+a);
" dpl="+u(a.Gc))}}else d.O("no selector")});Qk(this,134217728,function(a){var b;(a=a[0])&&(b=nq(d,a));if(void 0===b)d.O("invalid MCB");else for(d.O("dumpMCB("+v(b)+")");b;){a=rq(d,0,b);var c=d.Qa(a,1),h=d.na(a,2),k=d.na(a,5);if(77!=c&&90!=c)break;d.O(Pq(0,b)+": '"+String.fromCharCode(c)+"' PID="+v(h)+" LEN="+v(k)+' "'+Qq(d,a,8)+'"');b+=1+k}});Qk(this,128,function(a){Lq(d,d.F.sa,a[0],d.F.sa!==d.F.kd)});Qk(this,8,function(a){a:{if(a=a[0]){var b=nq(d,a);if(void 0===b){d.O("invalid task selector: "+a);
break a}a=Mq(d,b,2)}else a=d.F.Sa;d.O("dumpTSS("+v(a?a.Z:b)+"): %"+t(a?a.Aa:null,d.Da));if(a){var b="",c=a.type&-513,h=256==c?4:8,k=256==c?Rq:Sq,l,n,r,q;for(q in k)l=k[q],n=a.Aa+l,r=Mf(d.F,n,2),2304==c&&(r|=Mf(d.F,n+2,2)<<16),b&&(b+="\n"),b+=v(l)+" "+oa(q+":",11)+t(r,h);if(2304==c)for(q=0,l=r>>>16;l<a.Zb&&1023>q;)n=a.Aa+l,r=Mf(d.F,n,2),b+="\n"+v(l)+" ports "+v(q)+"-"+v(q+15)+": "+ga(r,2),q+=16,l+=2;d.O(b)}}});this.L=null;this.rb=0;this.cb=!1;gf(this.F,48,this.Pm.bind(this));gf(this.F,65,this.Qm.bind(this));
this.ka=null;gf(this.F,104,this.Rm.bind(this));wb(this)};function Tq(a,b,c,d,e,f){b=Qq(a,b);var g=Mq(a,d),g=g?g.Ta+1:0,h=(e?"_CODE":"_DATA")+t(c,2);f&&B(a,128)&&a.message(b+" "+(e?"code":"data")+"("+t(c,4)+")=#"+t(d,4)+" len "+t(g));e=Uq(a,b,c);e[b+h]=0;fm(a,b,c,d,0,null,g,e)}
function Vq(a,b,c,d){var e=a.na(b,2),f=a.na(b,2),g=a.oa(b,4),h=a.oa(b,4),k=rq(a,a.oa(b,4),a.na(b,2));b=rq(a,a.oa(b,4),a.na(b,2));b=Qq(a,b).toUpperCase();var k=Qq(a,k).toUpperCase(),l=(c?"_CODE":"_DATA")+t(e,2);d&&B(a,128)&&a.message((b==k?"":b+"!")+k+" "+(c?"code":"data")+"("+t(e,4)+")="+t(f,4)+":"+t(g)+" len "+t(h));c=Uq(a,k,e);c[k+l]=g;fm(a,k,e,f,g,null,h,c)}function Wq(a,b,c){c=Qq(a,c).toUpperCase();Xq(a,c,b)}
@ -698,11 +698,11 @@ m.Rm=function(a){var b=this.F,c=b.G&255,d=b.G>>8&255,e=b.H&65535,f=b.I&65535,g=b
(b.J=a[0],zd(b,a[1]));break;case 72:Xq(this,null,e);break;case 80:32==c?Tq(this,rq(this,h,k),0,f,!0,!!this.ka):128>c?Tq(this,rq(this,h,k),e+1,c&64?g:f,!(c&1),!!this.ka):Vq(this,rq(this,h,k),!(c&1),!!this.ka),this.ka&&(b.G=b.G&-256|1)}return!this.ka};m.ql=function(){var a=this.F;5==(a.G&255)&&(a.I=a.K=0,a.G=a.G&-256|1);return!1};
m.Pb=function(a,b,c){var d=this;switch(b){case "debugInput":return this.Ka=this.qa[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",vq(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.A<d.C.length-1&&(b=d.C[++d.A])):40==a.keyCode&&(0<d.A?b=d.C[--d.A]:(b="",d.A=-1)),null!=b){var g=b.length;c.value=b;c.setSelectionRange(g,g)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.qa[b]=c,Na(c,function(){if(d.Ka){var a=d.Ka.value;
d.Ka.value="";vq(d,a,!0);return!0}return!1}),!0;case "step":return this.qa[b]=c,Na(c,function(a){var b=!1;vb(d,!0)||(ub(d,!0),b=d.wf(a?1:0),ub(d,!1));return b}),!0}return!1};m.wd=function(){this.Ka&&this.Ka.focus()};function $q(a){return a.F&&!!(a.F.Za&1)&&!(a.F.ca&131072)}
function Mq(a,b,c){var d=$q(a)?2:1;c||(c=d);if(c==d){if(b===a.F.wa.Z)return a.F.wa;if(b===a.F.vb.Z)return a.F.vb;if(b===a.F.Xa.Z)return a.F.Xa;if(b===a.F.ta.Z)return a.F.ta;if(80386<=a.F.ja){if(b===a.F.Nb.Z)return a.F.Nb;if(b===a.F.Ob.Z)return a.F.Ob}if(a.fb&&2==c||!a.Ub)return null}a=a.Ub;if(2!=c)a.th(b),a.Ta=65535,a.Zb=65536;else{var e;c=a.F;b=b&65535;b&4?(d=c.Bc.Aa,e=d+c.Bc.Ta|0):(d=c.Dc,e=c.zd);d=d+(b&65528)|0;if(e-d|0){e=Mf(c,d+0,2);var f=Mf(c,d+4,2),g=f&7936,h=Mf(c,d+2,2)|(f&255)<<16,k=Mf(c,
function Mq(a,b,c){var d=$q(a)?2:1;c||(c=d);if(c==d){if(b===a.F.wa.Z)return a.F.wa;if(b===a.F.vb.Z)return a.F.vb;if(b===a.F.Xa.Z)return a.F.Xa;if(b===a.F.ta.Z)return a.F.ta;if(80386<=a.F.ja){if(b===a.F.Nb.Z)return a.F.Nb;if(b===a.F.Ob.Z)return a.F.Ob}if(a.fb&&2==c||!a.Ub)return null}a=a.Ub;if(2!=c)a.th(b),a.Ta=65535,a.Zb=65536;else{var e;c=a.F;b=b&65535;b&4?(d=c.Bc.Aa,e=d+c.Bc.Ta|0):(d=c.Ec,e=c.zd);d=d+(b&65528)|0;if(e-d|0){e=Mf(c,d+0,2);var f=Mf(c,d+4,2),g=f&7936,h=Mf(c,d+2,2)|(f&255)<<16,k=Mf(c,
d+6,2);80386<=c.ja&&(h|=(k&65280)<<16,e|=(k&15)<<16,k&128&&(e=e<<12|4095));a.Z=b;a.Aa=h;a.Ta=e;a.Zb=(e>>>0)+1;a.wb=f;a.type=g;a.ext=k;a.Xb=d;id(a,!0,!0,!1)}}return a}m.bc=function(a,b,c){var d=a&&a.Ea;if(null==d&&(d=-1,a)){var e=Mq(this,a.Z,a.type);e&&(b=a.Ra||0,c=c||1,d=e=-1===e.Xb||e.bd&&(b>>>0)+c>e.Zb||!e.bd&&(b>>>0)+c<=e.Zb?e.Aa+b|0:-1,a.Ea=d)}return d};m.Qa=function(a,b){var c=255,d=this.bc(a,!1,1);-1!==d&&(c=Mf(this.F,d,1,5==a.type)|0,b&&ar(this,a,b));return c};
m.tb=function(a,b){return a.Rb?this.oa(a,b?4:0):this.na(a,b?2:0)};m.na=function(a,b){var c=65535,d=this.bc(a,!1,2);-1!==d&&(c=Mf(this.F,d,2,5==a.type),b&&ar(this,a,b));return c};m.oa=function(a,b){var c=-1,d=this.bc(a,!1,4);-1!==d&&(c=Mf(this.F,d,4,5==a.type),b&&ar(this,a,b));return c};m.qc=function(a,b,c,d){var e=this.bc(a,!0,1);if(-1!==e){if(5!=a.type)this.F.qc(e,b);else{var f=this.ga;f.sa[(e&f.Gb)>>>f.La].xf(e&f.A,b&255,e)}c&&ar(this,a,c);d||Yc(this.F,!0)}};
m.jb=function(a,b,c){var d=this.bc(a,!0,2);-1!==d&&(5!=a.type?this.F.jb(d,b):lc(this.ga,d,b),c&&ar(this,a,c),Yc(this.F,!0))};function rq(a,b,c,d,e,f,g){return br(a,{},b,c,d,e,f,g)}function br(a,b,c,d,e,f,g,h){b.Ra=c||0;b.Z=d;b.Ea=e;b.type=f||($q(a)?2:1);b.Rb=null!=g?g:a.F&&4==a.F.wa.ba;b.oc=null!=h?h:a.F&&4==a.F.wa.Nc;b.Vd=!1;return b}function cr(a){return[a.Ra,a.Z,a.Ea,a.Vd,a.Rb,a.oc,a.Ue,a.ih]}function dr(a){return{Ra:a[0],Z:a[1],Ea:a[2],Vd:a[3],Rb:a[4],oc:a[5],Ue:a[6],ih:a[7]}}
function er(a,b,c){if(null!=b.Z&&(a=Mq(a,b.Z,b.type))){var d=b.Ra&a.Ba;if(!a.bd){if(d>>>0>=a.Zb)return!1}else if(d>>>0<a.Zb)return!1;c&&(b.Ra=d,b.Rb=4==a.ba,b.oc=4==a.Nc)}return!0}
m.jb=function(a,b,c){var d=this.bc(a,!0,2);-1!==d&&(5!=a.type?this.F.jb(d,b):lc(this.ga,d,b),c&&ar(this,a,c),Yc(this.F,!0))};function rq(a,b,c,d,e,f,g){return br(a,{},b,c,d,e,f,g)}function br(a,b,c,d,e,f,g,h){b.Ra=c||0;b.Z=d;b.Ea=e;b.type=f||($q(a)?2:1);b.Rb=null!=g?g:a.F&&4==a.F.wa.ba;b.oc=null!=h?h:a.F&&4==a.F.wa.Oc;b.Vd=!1;return b}function cr(a){return[a.Ra,a.Z,a.Ea,a.Vd,a.Rb,a.oc,a.Ue,a.ih]}function dr(a){return{Ra:a[0],Z:a[1],Ea:a[2],Vd:a[3],Rb:a[4],oc:a[5],Ue:a[6],ih:a[7]}}
function er(a,b,c){if(null!=b.Z&&(a=Mq(a,b.Z,b.type))){var d=b.Ra&a.Ba;if(!a.bd){if(d>>>0>=a.Zb)return!1}else if(d>>>0<a.Zb)return!1;c&&(b.Ra=d,b.Rb=4==a.ba,b.oc=4==a.Oc)}return!0}
function fr(a,b,c,d){var e,f=c?a.aa:a.sb;c=d?0:f.type;var g=f.Ra,h=f.Z,f=f.Ea;if(void 0!==b){b=mq(a,b);e=b.charAt(0);f=b.indexOf(":");switch(e){case "&":c=1;break;case "#":c=2;break;case "%":c=4;e=b.charAt(1);"%"==e&&(c=5,e+=e);g=0;h=null;break;default:0<=f&&(c=0),e=""}e&&(b=b.substr(e.length),f-=e.length);e=b;var k;if(e.match(/^[a-z_][a-z0-9_]*$/i))for(var l=e.toUpperCase(),n=0;n<a.N.length;n++){e=a.N[n];var r=e.Qd[l];if(void 0!==r){l=r.o;void 0!==l&&(k=r.s,void 0===k&&(k=e.Z),k=rq(a,l,k,r.p));break}}if(e=
k)return e;0>f?null!=h?(g=lq(a,b,void 0),f=null):(f=lq(a,b,void 0),null==f&&(g=null)):(h=lq(a,b.substring(0,f),void 0),g=lq(a,b.substring(f+1),void 0),f=null)}null!=g&&(e=rq(a,g,h,f,c),d||er(a,e,!0)||(a.O("invalid offset: "+Zq(e)),e=null));return e}function gr(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.kl=a.Mg(b.Rk=c[2]))}m.Ok=function(a,b){var c=fr(this,b);return a.replace("["+b+"]",c?t(this.tb(c),c.Rb?8:4):"undefined")};
function ar(a,b,c){c=c||1;null!=b.Ea&&(b.Ea+=c);null!=b.Z&&(b.Ra+=c,er(a,b)||(b.Ra=0,b.Ea=null))}function Pq(a,b,c){return null!=b?t(b,4)+":"+t(a,a&-65536||c?8:4):t(a)}function Zq(a){var b;switch(a.type){case 1:case 3:b="&";break;case 2:b="#";break;case 4:b="%";break;case 5:b="%%";break;default:b=a.Z?"":"%"}return 4<=a.type||null==a.Z?b+t(a.Ea):b+Pq(a.Ra,a.Z,a.oc)}
@ -740,8 +740,8 @@ r.length&&(r+=",");r+=w||"???"}}}g="";k=Zq(e)+" ";if(-1!==e.Ea&&-1!==b.Ea){do if
function ur(a,b,c,d){var e=c&240;if(192==e){if(5<b||4<=b&&80386>a.F.ja)return"??";b+=16}else if(208==e)b+=32;else if(224==e)b+=40;else if(240==e)b+=48;else if(a=c&15,3<=a&&(8>b&&(b+=8),5==a||4==a&&d.Rb))b+=16;return Dq[b]}
function xr(a,b){var c;switch(b){case "V":c=yf(a.F);break;case "D":c=a.F.ca&1024;break;case "I":c=a.F.ca&512;break;case "T":c=a.F.ca&256;break;case "S":c=xf(a.F);break;case "Z":c=wf(a.F);break;case "A":c=vf(a.F);break;case "P":c=uf(a.F);break;case "C":c=tf(a.F);break;default:c=0}return b+(c?"1":"0")+" "}function Oq(a){return t(a,a&-65536?8:4)}function yr(a,b){8<=b&&15>=b&&4<a.Ja&&(b+=16);var c=Dq[b];32==b&&80286==a.F.ja&&(c="MS");return c+"="+ir(a,b)+" "}
function zr(a,b,c){return b.jc+"="+t(b.Z,4)+(c?"["+t(b.Aa,a.Da)+","+Oq(b.Ta)+"]":"")}function Ar(a,b,c,d,e){return b+"="+(null!=c?t(c,4):"")+"["+t(d,a.Da)+","+t(e-d,4)+"]"}
function Br(a,b){var c;void 0===b&&(b=$q(a));c=yr(a,8)+yr(a,11)+yr(a,9)+yr(a,10)+(4<a.Ja?"\n":"")+yr(a,12)+yr(a,13)+yr(a,14)+yr(a,15)+"\n"+zr(a,a.F.ta,b)+" "+zr(a,a.F.vb,b)+" "+zr(a,a.F.Xa,b)+" ";if(b){var d="TR="+t(a.F.Sa.Z,4),e=a.ga,e="A20="+(e.X||e.Cg!=e.Gb?"OFF ":"ON ");80386>a.F.ja&&(d="\n"+d,c+=e,e="");c+="\n"+zr(a,a.F.wa,b)+" ";80386<=a.F.ja&&(e+="\n",c+=zr(a,a.F.Nb,b)+" "+zr(a,a.F.Ob,b)+"\n");c+=Ar(a,"LD",a.F.Bc.Z,a.F.Bc.Aa,a.F.Bc.Aa+a.F.Bc.Ta)+" "+Ar(a,"GD",null,a.F.Dc,a.F.zd)+" "+Ar(a,"ID",
null,a.F.Lc,a.F.Sd)+" ";c=c+(d+" "+e)+yr(a,32);80386<=a.F.ja&&(c+=yr(a,34)+yr(a,35))}else 80386<=a.F.ja&&(c+=zr(a,a.F.Nb,b)+" "+zr(a,a.F.Ob,b)+" ");return c+=yr(a,23)+xr(a,"V")+xr(a,"D")+xr(a,"I")+xr(a,"T")+xr(a,"S")+xr(a,"Z")+xr(a,"A")+xr(a,"P")+xr(a,"C")}m.kj=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
function Br(a,b){var c;void 0===b&&(b=$q(a));c=yr(a,8)+yr(a,11)+yr(a,9)+yr(a,10)+(4<a.Ja?"\n":"")+yr(a,12)+yr(a,13)+yr(a,14)+yr(a,15)+"\n"+zr(a,a.F.ta,b)+" "+zr(a,a.F.vb,b)+" "+zr(a,a.F.Xa,b)+" ";if(b){var d="TR="+t(a.F.Sa.Z,4),e=a.ga,e="A20="+(e.X||e.Cg!=e.Gb?"OFF ":"ON ");80386>a.F.ja&&(d="\n"+d,c+=e,e="");c+="\n"+zr(a,a.F.wa,b)+" ";80386<=a.F.ja&&(e+="\n",c+=zr(a,a.F.Nb,b)+" "+zr(a,a.F.Ob,b)+"\n");c+=Ar(a,"LD",a.F.Bc.Z,a.F.Bc.Aa,a.F.Bc.Aa+a.F.Bc.Ta)+" "+Ar(a,"GD",null,a.F.Ec,a.F.zd)+" "+Ar(a,"ID",
null,a.F.Mc,a.F.Sd)+" ";c=c+(d+" "+e)+yr(a,32);80386<=a.F.ja&&(c+=yr(a,34)+yr(a,35))}else 80386<=a.F.ja&&(c+=zr(a,a.F.Nb,b)+" "+zr(a,a.F.Ob,b)+" ");return c+=yr(a,23)+xr(a,"V")+xr(a,"D")+xr(a,"I")+xr(a,"T")+xr(a,"S")+xr(a,"Z")+xr(a,"A")+xr(a,"P")+xr(a,"C")}m.kj=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
function fm(a,b,c,d,e,f,g,h){var k={},l=[],n;for(n in h){var r=h[n];"number"==typeof r&&(h[n]=r={o:r});var q=r.o,A=r.s,F=r.a;if(void 0!==q){void 0!==A&&(k.Ra=q,k.Z=A,k.Ea=null,a.bc(k),(k.Ea&-65536)==(a.ga.Cg&-65536)&&(k.Ea&=1048575),r.p=k.Ea);var A=l,q=[q>>>0,n],w=ra(A,q,a.kj);0>w&&A.splice(-(w+1),0,q)}F&&(r.a=F.replace(/''/g,'"'))}a.N.push({ig:b,cn:c,Z:d,Ra:e,Ea:f,Um:g,Qd:h,Wi:l})}
function Xq(a,b,c){for(var d=0;d<a.N.length;d++){var e=a.N[d];if(!b||e.ig==b)if(b&&c==e.cn||!b&&c==e.Z){a.N.splice(d,1);break}}}function vr(a,b,c){for(var d=[],e=b.Ra>>>0,f=a.bc(b)>>>0,g=0;g<a.N.length;g++){var h=a.N[g],k=h.Z,l=h.Ra>>>0,n=h.Ea;null!=n&&(n>>>=0);var r=h.Um;48==k&&(k=40);if(k==b.Z&&e>=l&&e<l+r||null!=n&&f>=n&&f<n+r){b=ra(h.Wi,[e],a.kj);0<=b?Cr(a,g,b,d):c&&(b=~b,Cr(a,g,b-1,d),Cr(a,g,b,d));break}}!d.length&&(a=a.ga.wj(f,!0))&&(d.push(a),d.push(f));return d}
function Cr(a,b,c,d){var e={},f=a.N[b].Wi,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.N[b].Qd[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}function Dr(a){a.Ff&&(a.Ff.value="")}
@ -767,9 +767,9 @@ a.B,W)||Yq(a,a.ra,W)||Yq(a,a.fa,W)||a.O("breakpoint missing: "+Zq(W)):"i"==H?a.O
","),Ba+=bb);Ba+=",state,symbols";a.O("dump memory commands:");a.O("\tdb [a] [#] dump # bytes at address a");a.O("\tdw [a] [#] dump # words at address a");a.O("\tdd [a] [#] dump # dwords at address a");a.O("\tdh [#] [#] dump # instructions from history");a.O("\tdi [#] dump descriptor info for IDT #");a.O("\tds [#] dump descriptor info for selector #");Ba.length&&a.O("dump extension commands:\n\t"+Ba)}else if("state"==ja){var Xb=Lr(a.X,!0);"console"==Ha?console.log(Xb):(Dr(a),
a.O(Xb))}else if("symbols"==ja)for(var wa=0;wa<a.N.length;wa++){var Wd=a.N[wa],Sc;for(Sc in Wd.Qd)if("."!=Sc.charAt(0)){var Xd=Wd.Qd[Sc],Je=Xd.o;if(void 0!==Je){var Yd=Xd.s;void 0===Yd&&(Yd=Wd.Z);var Ke=Wd.Qd[Sc].l;Ke&&(Sc=Ke);a.O(Pq(Je,Yd)+" "+Sc)}}}else{if("ds"==ia||"dg"==ia||"dl"==ia)ia="d",P=[ia,"desc",ja];"d"==ia&&"page"==ja&&(ia="dp",P.shift());if("dp"==ia){P.shift();var ki=P[0];if(ki){var Ue=a.bc(fr(a,ki));if(-1===Ue)a.O("invalid address: "+ki);else{var be,Da=null;if(80386<=a.F.ja){var ce=
a.ga,Da={};Da.Ik=(Ue&-4194304)>>>20;Da.Zi=a.F.Od+Da.Ik;Da.yb=ce.sa[(Da.Zi&ce.Gb)>>>ce.La];Da.zj=Da.yb.Md(Da.Ik);Da.Jk=(Ue&4190208)>>>10;Da.$i=(Da.zj&-4096)+Da.Jk;Da.zb=ce.sa[(Da.$i&ce.Gb)>>>ce.La];Da.Aj=Da.zb.Md(Da.Jk);Da.ml=(Da.Aj&-4096)+(Ue&4095)}if(be=Da){a.O("linear PDE addr PDE PTE addr PTE physical");a.O("--------- ---------- -------- ---------- -------- ----------");var qd="%"+t(Ue),qd=qd+(" %%"+hr(be.Zi,be.zj)),qd=qd+(" %%"+hr(be.$i,be.Aj,!0)),
qd=qd+(" %%"+t(be.ml));a.O(qd)}else a.O("unsupported operation")}}else a.O("missing address")}else{if("d"==ia){if("disk"==ja){P[0]="l";P[1]="json";Hr(a,P);break a}for(bb in Db)if(P[1]==bb){var Bn=a.$a[bb];Bn?(P.shift(),P.shift(),Bn(P)):a.O("no dump registered for "+ja);break a}ja||(ia=a.uc||"db")}else a.uc=ia;if("dh"==ia){var Cn=ja,Dn=Ha,En="",Fn=0,tb=a.Fa,tc=a.ia;if(tc.length){var Eb=+Cn||a.Jb,de=+Dn||10;isNaN(Eb)?Eb=de:En="more ";Eb>tc.length&&(a.O("note: only "+tc.length+" available"),Eb=tc.length);
qd=qd+(" %%"+t(be.ml));a.O(qd)}else a.O("unsupported operation")}}else a.O("missing address")}else{if("d"==ia){if("disk"==ja){P[0]="l";P[1]="json";Hr(a,P);break a}for(bb in Db)if(P[1]==bb){var Bn=a.$a[bb];Bn?(P.shift(),P.shift(),Bn(P)):a.O("no dump registered for "+ja);break a}ja||(ia=a.Cc||"db")}else a.Cc=ia;if("dh"==ia){var Cn=ja,Dn=Ha,En="",Fn=0,tb=a.Fa,tc=a.ia;if(tc.length){var Eb=+Cn||a.Jb,de=+Dn||10;isNaN(Eb)?Eb=de:En="more ";Eb>tc.length&&(a.O("note: only "+tc.length+" available"),Eb=tc.length);
tb-=Eb;0>tb&&(null==tc[tc.length-1].Z?(Eb=tb+Eb,tb=0):tb+=tc.length);var li=[];"call"==Dn&&(de=1E5,li=["CALL"]);for(void 0!==Cn&&a.O(Eb+" instructions earlier:");0<de&&tb!=a.Fa;){var rd=tc[tb++];if(null==rd.Z)break;var Ve=rq(a,rd.Ra,rd.Z,rd.Ea,rd.type,rd.Rb,rd.oc),es=Eb--,Gn=tr(a,Ve,"history",es);(!li.length||0<=Gn.indexOf(li[0]))&&a.O(Gn);Ve.Ue&&(tb+=Ve.Ue,de-=Ve.Ue,Eb-=Ve.Ue);tb>=tc.length&&(tb=0);a.Jb=Eb;Fn++;de--}}Fn||(a.O("no "+En+"history available"),a.Jb=void 0)}else if("di"==ia){P.shift();
var mi=P[0];if(mi){var We=nq(a,mi);if(void 0===We||0>We||255<We)a.O("invalid vector: "+mi);else{var Hn="&",In=!!(a.F.Za&1),Jn=!1,qg=a.F.Lc+(We<<(In?3:2)),ni=a.F.na(qg+0),fs=a.F.na(qg+2);In&&(Hn="#",a.F.na(qg+4)&2048&&(Jn=!0,ni|=a.F.na(qg+6)<<16));a.O("dumpIDT("+v(We)+"): "+Hn+t(fs,4)+":"+t(ni,Jn?8:4))}}else a.O("no IDT vector")}else if("dt"==ia)P.shift(),a.O("no information");else{var ee=fr(a,ja);if(ee&&(null!=ee.Z||null!=ee.Ea)){var rg=0;Ha&&("l"==Ha.charAt(0)&&(Ha=Ha.substr(1)||Xa),rg=nq(a,Ha)>>>
var mi=P[0];if(mi){var We=nq(a,mi);if(void 0===We||0>We||255<We)a.O("invalid vector: "+mi);else{var Hn="&",In=!!(a.F.Za&1),Jn=!1,qg=a.F.Mc+(We<<(In?3:2)),ni=a.F.na(qg+0),fs=a.F.na(qg+2);In&&(Hn="#",a.F.na(qg+4)&2048&&(Jn=!0,ni|=a.F.na(qg+6)<<16));a.O("dumpIDT("+v(We)+"): "+Hn+t(fs,4)+":"+t(ni,Jn?8:4))}}else a.O("no IDT vector")}else if("dt"==ia)P.shift(),a.O("no information");else{var ee=fr(a,ja);if(ee&&(null!=ee.Z||null!=ee.Ea)){var rg=0;Ha&&("l"==Ha.charAt(0)&&(Ha=Ha.substr(1)||Xa),rg=nq(a,Ha)>>>
0,65536<rg&&(rg=65536));for(var sd="",sg="dd"==ia?4:"dw"==ia?2:1,tg=sg*rg||128,gs=tg+15>>4||1;gs--&&0<tg;){var ug=0,oi=0,Xe,Ye="",pi="",ja=Zq(ee);for(Xe=16;0<Xe&&0<tg;Xe--){var vg=a.Qa(ee,1),ug=ug|vg<<(oi++<<3);oi==sg&&(Ye+=t(ug,2*sg),Ye+=1==sg?9==Xe?"-":" ":" ",ug=oi=0);pi+=32<=vg&&128>vg?String.fromCharCode(vg):".";tg--}sd&&(sd+="\n");sd+=ja+" "+Ye+(0==Xe?" "+pi:"")}sd&&a.O(sd);a.sb=ee}}}}}break;case "e":if("else"==g[0])break;var wg=1,Kn=255,Ln=a.Qa,Mn=a.qc;"ew"==g[0]&&(wg=2,Kn=65535,Ln=a.na,
Mn=a.jb);var Nn=wg<<1,On=g[1];if(null==On)a.O("edit memory commands:"),a.O("\teb [a] [...] edit bytes at address a"),a.O("\tew [a] [...] edit words at address a");else{var xg=fr(a,On);if(xg)for(var yg=2;yg<g.length;yg++){var Ze=lq(a,g[yg]);if(void 0===Ze){a.O("unrecognized value: "+g[yg]);break}Ze&~Kn&&a.O("warning: "+t(Ze)+" exceeds "+wg+"-byte value");var hs=Ln.call(a,xg);a.O("changing "+Zq(xg)+" from "+t(hs,Nn,!0)+" to "+t(Ze,Nn,!0));Mn.call(a,xg,Ze,wg)}}break;case "f":Er(a,g[1]);break;case "g":a:{var Pn=
g[1],is=b;"gt"==g[0]&&(a.cb=!0);if(void 0!==Pn){var qi=fr(a,Pn,!0);if(!qi)break a;gr(a,qi,is);a.Rd(a.B,qi,!0)}a.Le(!0)||c||a.O("cpu busy or unavailable, run command ignored")}break;case "h":a:{var ri;if(a.la.Ib)ri="halting",a.Wb();else{if(vb(a,!0))break a;ri="already halted"}c||a.O(ri)}break;case "i":if("if"==g[0]){var si;var $e=b.substr(2),$e=pa($e);lq(a,$e)?(c||a.O("true: "+$e),si=!0):(c||a.O("false: "+$e),si=!1);si||(d=!1);break}if("int"==g[0]){var zg;a:switch(nq(a,g[1])){case 19:ok(a,19,a.F.Ha,
@ -784,7 +784,7 @@ bf;break;case "start":a.F.Y.Lf=bf;break;case "stop":a.F.Y.mf=bf;break;default:a.
a.O("\tcs stop #\tset checksum cycle stop count to #"),a.O("\tsp #\t\tset speed multiplier to #");break;case "?":if(g[1]){Ir(a,b.substr(1));break}var cf="commands:",Ai;for(Ai in yq)cf+="\n"+oa(Ai,7)+yq[Ai];Xf(a)||(cf+="\nnote: frequency/history disabled if no exec breakpoints");a.O(cf);break;default:a.O("unknown command: "+b),d=!1}}}catch(Xn){a.O("debugger error: "+(Xn.stack||Xn.message)),d=!1}return d}function vq(a,b,c){b=a.Mg(b,c);for(var d in b)if(!sr(a,b[+d]))return!1;return!0}
Ua(function(){for(var a=rb(document,"pcx86","debugger"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new qq(d);qb(d,c)}});
function Mr(a,b,c){Za.call(this,"Computer",a,Mr,67108864);this.la.hc=!1;Nr(this,b);this.fa=Tc(this,"autoPower",a);this.N=0;this.ra=a.busWidth||a.buswidth;this.A=Or;this.aa=null;this.V=this.pa=!1;this.ua=Tc(this,"url")||"";this.ya=(Math.random()+.1).toString(36).substr(2,12);this.B=Pr(this);if(this.F=nb("CPU",this.id)){this.ha=nb("Debugger",this.id);this.L=[];for(b=null;b=Jb(this,"Video",b);)this.L.push(b);this.ga=new Qb({id:this.ce+".bus",busWidth:this.ra},this.F,this.ha);var d,e=kb(this.id);if((this.C=
nb("Panel",this.id))&&this.C.Ff)for(b=0;b<e.length;b++)d=e[b],d.Na=this.C.Na,d.O=this.C.O,d.Ff=this.C.Ff;this.O("PCx86 v1.30.0\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");for(b=0;b<e.length;b++)d=e[b],d.Hc&&d.Hc(this,this.ga,this.F,this.ha);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.W=d:this.A=parseInt(d,10));var f;if(a=Tc(this,"state")||(f=!0,a.state))b=this.ia=a,f||(this.V=!0,this.A=Or),this.A&&(this.ea=new mf(this,
nb("Panel",this.id))&&this.C.Ff)for(b=0;b<e.length;b++)d=e[b],d.Na=this.C.Na,d.O=this.C.O,d.Ff=this.C.Ff;this.O("PCx86 v1.30.0\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");for(b=0;b<e.length;b++)d=e[b],d.Ic&&d.Ic(this,this.ga,this.F,this.ha);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.W=d:this.A=parseInt(d,10));var f;if(a=Tc(this,"state")||(f=!0,a.state))b=this.ia=a,f||(this.V=!0,this.A=Or),this.A&&(this.ea=new mf(this,
"1.30.0"),this.ea.load()?b=null:delete this.ea);!b&&this.A&&(b=Qr(this))&&(this.V=!0);if(b){var g=this;za(b,null,!0,function(a,b,c){c?(g.W=null,g.V=!1,g.Na("Unable to load machine state from server (error "+c+(b?": "+pa(b):"")+")")):(g.aa=b,g.pa=!0);wb(g)})}else wb(this);this.qa.power||(this.fa=!0);!c&&this.fa&&Rr(this,this.bg)}else x("Unable to find CPU component")}hb(Mr);var Or=0;m=Mr.prototype;m.hf=function(){return this.ya};
function Nr(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){x(d.message+" ("+c+")")}}a.U=b}function Tc(a,b,c){var d=b.toLowerCase(),d=cb[b]||cb[d];void 0===d&&a.U&&(d=a.U[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}m.ie=function(){return this.B||""};function Rr(a,b,c){for(var d=kb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!xb(f)){xb(f,function(){Rr(a,b,c)});return}}b.call(a,c)}
function Sr(a,b){var c=new mf(a,"1.30.0","validate");if(c.load()&&Tr(c)){var d=Ur(c,"timestamp"),e=b?Ur(b,"timestamp"):"unknown";d!=e&&(a.Na("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}

View file

@ -221,7 +221,7 @@ if (DEBUGGER) {
BCC: 8, BCS: 9, BEQ: 10, BGE: 11, BGT: 12, BHI: 13, BIC: 14, BICB: 15,
BIS: 16, BISB: 17, BIT: 18, BITB: 19, BLE: 20, BLOS: 21, BLT: 22, BMI: 23,
BNE: 24, BPL: 25, BPT: 26, BR: 27, BVC: 28, BVS: 29, CCC: 30, CLC: 31,
CLCN: 32, CLCV: 32, CLCVN: 33, CLCVZ: 34, CLCZ: 35, CLCZN: 36, CLN: 37, CLR: 38,
CLCN: 32, CLCV: 33, CLCVN: 34, CLCVZ: 35, CLCZ: 36, CLCZN: 37, CLN: 38, CLR: 39,
CLRB: 40, CLV: 41, CLVN: 42, CLVZ: 43, CLVZN: 44, CLZ: 45, CLZN: 46, CMP: 47,
CMPB: 48, COM: 49, COMB: 50, DEC: 51, DECB: 52, INC: 53, INCB: 54, HALT: 55,
JMP: 56, JSR: 57, MARK: 58, MFPD: 59, MFPI: 60, MFPS: 61, MOV: 62, MOVB: 63,
@ -265,6 +265,7 @@ if (DEBUGGER) {
*/
DebuggerPDP11.TYPE_DSTREG = 0x0007;
DebuggerPDP11.TYPE_DSTMODE = 0x0038;
DebuggerPDP11.TYPE_DSTMODE_SHIFT = 3;
DebuggerPDP11.TYPE_DST = (DebuggerPDP11.TYPE_DSTMODE | DebuggerPDP11.TYPE_DSTREG);
DebuggerPDP11.TYPE_SRCREG = 0x01C0;
DebuggerPDP11.TYPE_SRCMODE = 0x0E00;
@ -1916,6 +1917,15 @@ if (DEBUGGER) {
break;
}
/*
* If getOperand() returns an Array rather than a string, then the first element is the original
* operand, and the second element is a comment containing an alternate representation of the operand.
*/
if (typeof sOperand != "string") {
if (!sComment) sComment = sOperand[1];
sOperand = sOperand[0];
}
if (sOperands.length > 0) sOperands += ',';
sOperands += (sOperand || "???");
}
@ -1929,12 +1939,12 @@ if (DEBUGGER) {
} while (dbgAddrOp.addr != dbgAddr.addr);
}
sLine += str.pad(sOpcodes, 15);
sLine += str.pad(sOpName, 7);
sLine += str.pad(sOpcodes, 24);
sLine += str.pad(sOpName, 5);
if (sOperands) sLine += ' ' + sOperands;
if (sComment) {
sLine = str.pad(sLine, 40) + ';' + sComment;
sLine = str.pad(sLine, 60) + ';' + sComment;
if (!this.cpu.flags.checksum) {
sLine += (nSequence != null? '=' + nSequence.toString() : "");
} else {
@ -1948,11 +1958,14 @@ if (DEBUGGER) {
/**
* getOperand(opCode, type, dbgAddr)
*
* If getOperand() returns an Array rather than a string, then the first element is the original
* operand, and the second element is a comment containing an alternate representation of the operand.
*
* @this {DebuggerPDP11}
* @param {number} opCode
* @param {number} type
* @param {DbgAddrPDP11} dbgAddr
* @return {string} operand
* @return {string|Array.<string>}
*/
DebuggerPDP11.prototype.getOperand = function(opCode, type, dbgAddr)
{
@ -1963,22 +1976,22 @@ if (DEBUGGER) {
*/
var typeOther = type & DebuggerPDP11.TYPE_OTHER;
if (typeOther == DebuggerPDP11.TYPE_BRANCH) {
disp = ((opCode & 0xff) << 24) >> 24;
disp = ((opCode & 0xff) << 24) >> 23;
addr = (dbgAddr.addr + disp) & 0xffff;
sOperand = str.toHexWord(addr);
sOperand = this.toStrBase(addr);
}
else if (typeOther == DebuggerPDP11.TYPE_DSTOFF) {
disp = (opCode & 0x3f) << 1;
addr = (dbgAddr.addr - disp) & 0xffff;
sOperand = str.toHexWord(addr);
sOperand = this.toStrBase(addr);
}
else if (typeOther == DebuggerPDP11.TYPE_DSTNUM3) {
disp = (opCode & 0x7);
sOperand = str.toHexByte(disp);
sOperand = this.toStrBase(disp, 2);
}
else if (typeOther == DebuggerPDP11.TYPE_DSTNUM6) {
disp = (opCode & 0x3f);
sOperand = str.toHexByte(disp);
sOperand = this.toStrBase(disp);
}
else {
/*
@ -1999,57 +2012,69 @@ if (DEBUGGER) {
* Note that opcodes that specify only REG bits in the type mask (ie, no MOD bits)
* will automatically default to MODE_REG below.
*/
switch(mode & DebuggerPDP11.TYPE_DSTMODE) {
switch((mode & DebuggerPDP11.TYPE_DSTMODE) >> DebuggerPDP11.TYPE_DSTMODE_SHIFT) {
case PDP11.OPMODE.REG: // 0x0: REGISTER
sOperand = "R" + reg;
sOperand = this.getRegName(reg);
break;
case PDP11.OPMODE.REGD: // 0x1: REGISTER DEFERRED
sOperand = "@R" + reg;
sOperand = '@' + this.getRegName(reg);
break;
case PDP11.OPMODE.POSTINC: // 0x2: POST-INCREMENT
if (reg < 7) {
sOperand = "(R" + reg + ")+";
sOperand = '(' + this.getRegName(reg) + ")+";
} else {
/*
* When using R7 (aka PC), POST-INCREMENT is known as IMMEDIATE
*/
wIndex = this.getWord(dbgAddr, true);
sOperand = "#" + str.toHexWord(wIndex);
sOperand = "#" + this.toStrBase(wIndex);
}
break;
case PDP11.OPMODE.POSTINCD: // 0x3: POST-INCREMENT DEFERRED
if (reg < 7) {
sOperand = "@(R" + reg + ")+";
sOperand = "@(" + this.getRegName(reg) + ")+";
} else {
/*
* When using R7 (aka PC), POST-INCREMENT DEFERRED is known as ABSOLUTE
*/
wIndex = this.getWord(dbgAddr, true);
sOperand = "@#" + str.toHexWord(wIndex);
sOperand = "@#" + this.toStrBase(wIndex);
}
break;
case PDP11.OPMODE.PREDEC: // 0x4: PRE-DECREMENT
sOperand = "-(R" + reg + ")";
sOperand = "-(" + this.getRegName(reg) + ")";
break;
case PDP11.OPMODE.PREDECD: // 0x5: PRE-DECREMENT DEFERRED
sOperand = "@-R(" + reg + ")";
sOperand = "@-(" + this.getRegName(reg) + ")";
break;
case PDP11.OPMODE.INDEX: // 0x6: INDEX
wIndex = this.getWord(dbgAddr, true);
/*
* When using R7 (aka PC), INDEX is known as RELATIVE
*/
sOperand = str.toHexWord(wIndex) + (reg < 7? "(R" + reg + ")" : "(PC)");
sOperand = this.toStrBase(wIndex) + '(' + this.getRegName(reg) + ')';
if (reg == 7) {
/*
* When using R7 (aka PC), INDEX is known as RELATIVE
*/
sOperand = [sOperand, this.toStrBase((wIndex + dbgAddr.addr) & 0xffff)];
}
break;
case PDP11.OPMODE.INDEXD: // 0x7: INDEX DEFERRED
wIndex = this.getWord(dbgAddr, true);
/*
* When using R7 (aka PC), INDEX DEFERRED is known as RELATIVE DEFERRED
*/
sOperand = '@' + str.toHexWord(wIndex) + (reg < 7? "(R" + reg + ")" : "(PC)");
sOperand = '@' + this.toStrBase(wIndex) + '(' + this.getRegName(reg) + ')';
if (reg == 7) {
/*
* When using R7 (aka PC), INDEX DEFERRED is known as RELATIVE DEFERRED
*/
sOperand = [sOperand, this.toStrBase((wIndex + dbgAddr.addr) & 0xffff)];
}
break;
default:
this.assert(false);
break;
}
}
else {
this.assert(false);
}
}
return sOperand;
};
@ -2102,6 +2127,18 @@ if (DEBUGGER) {
return sFlag.charAt(0) + (b? '1' : '0') + ' ';
};
/**
* getRegName(iReg)
*
* @this {DebuggerPDP11}
* @param {number} iReg
* @return {string}
*/
DebuggerPDP11.prototype.getRegName = function(iReg)
{
return (iReg < 6? ("R" + iReg) : (iReg == 6? "SP" : "PC"));
};
/**
* getRegOutput(iReg)
*
@ -2115,7 +2152,7 @@ if (DEBUGGER) {
var cpu = this.cpu;
if (iReg < 8) {
sReg = (iReg < 6? ("R" + iReg) : (iReg == 6? "SP" : "PC"));
sReg = this.getRegName(iReg);
sReg += '=' + this.toStrBase(cpu.regsGen[iReg]);
}
else if (iReg < 13) {

View file

@ -1161,6 +1161,12 @@
<xsl:template match="debugger[not(@ref)]">
<xsl:param name="machine" select="''"/>
<xsl:variable name="base">
<xsl:choose>
<xsl:when test="@base"><xsl:value-of select="@base"/></xsl:when>
<xsl:otherwise>16</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="commands">
<xsl:choose>
<xsl:when test="@commands"><xsl:value-of select="@commands"/></xsl:when>
@ -1176,7 +1182,7 @@
<xsl:call-template name="component">
<xsl:with-param name="machine" select="$machine"/>
<xsl:with-param name="class">debugger</xsl:with-param>
<xsl:with-param name="parms">,commands:'<xsl:value-of select="$commands"/>',messages:'<xsl:value-of select="$messages"/>'</xsl:with-param>
<xsl:with-param name="parms">,base:<xsl:value-of select="$base"/>,commands:'<xsl:value-of select="$commands"/>',messages:'<xsl:value-of select="$messages"/>'</xsl:with-param>
</xsl:call-template>
</xsl:template>

View file

@ -1,6 +1,6 @@
(function(){var l,n={me:1,ne:3,oe: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,Ub:65,Ic:66,Kc:67,Xb:68,E:69,Nc:70,Oc:71,Pc:72,Qc:73,Xc:74,Yc:75,Zb:76,ed:77,fd:78,hd:79,jd:80,Q:81,pd:82,sd:83,yd:84,zd:85,Ad:86,Bd:87,Dd:88,Ed:89,Fd:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Ve:97,We:98,Xe:99,d:100,e:101,Ye:102,Ze:103,$e:104,af:105,bf:106,k:107,cf:108,
df:109,n:110,ef:111,p:112,q:113,r:114,ff:115,t:116,hf:117,jf:118,kf:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126};
function aa(a){var b=16,c;if(a){b||(b=10);var d=a.charAt(0),e=0<a.indexOf(",");e&&(a=a.replace(/,/g,""));"#"==d?(b=8,d=null):"$"==d&&(b=16,d=null);null==d?a=a.substr(1):("0"==d&&(d=a.charAt(1),"b"==d&&e&&(b=2,d=null),"o"==d?(b=8,d=null):"x"==d&&(b=16,d=null)),null==d?a=a.substr(2):(d=a.charAt(a.length-1).toLowerCase(),"y"==d?(b=2,d=null):"."==d?(b=10,d=null):"h"==d&&(b=16,d=null),null==d&&(a=a.substr(0,a.length-1))));var f,d=a;((e=b)&&10!=e?16==e?null!==d.match(/^[0-9a-f]+$/i):8==e?null!==d.match(/^[0-7]+$/):
function aa(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0<a.indexOf(",");e&&(a=a.replace(/,/g,""));"#"==d?(b=8,d=null):"$"==d&&(b=16,d=null);null==d?a=a.substr(1):("0"==d&&(d=a.charAt(1),"b"==d&&e&&(b=2,d=null),"o"==d?(b=8,d=null):"x"==d&&(b=16,d=null)),null==d?a=a.substr(2):(d=a.charAt(a.length-1).toLowerCase(),"y"==d?(b=2,d=null):"."==d?(b=10,d=null):"h"==d&&(b=16,d=null),null==d&&(a=a.substr(0,a.length-1))));var f,d=a;((e=b)&&10!=e?16==e?null!==d.match(/^[0-9a-f]+$/i):8==e?null!==d.match(/^[0-7]+$/):
2==e&&null!==d.match(/^[01]+$/):null!==d.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f|0)}return c}function t(a,b,c){var d="";b?8<b&&(b=8):b=a&-65536?8:4;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;){var e=a&15,e=e+(0<=e&&9>=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}function ba(a){return t(a,2,!0)}function v(a){return t(a,4,!0)}function ea(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0<c&&(b=b.substr(0,c));return b}
function fa(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function ga(){var a=ha();return-1!==a.indexOf("pcjs.org",a.length-8)}var ja={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function ka(a){return a.replace(/[&<>"']/g,function(a){return ja[a]})}function la(a,b){return(a+" ").slice(0,b)}function ma(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}
var na={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"};function oa(a,b,c){var d=0,e=a.length,f=0;for(void 0===c&&(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var h=d+e>>1,g;g=c(b,a[h]);0<g?d=h+1:(e=h,f=!g)}return f?d:~d}var pa=Date.now||function(){return+new Date};
@ -11,7 +11,7 @@ function ta(){return window?window.navigator.userAgent:""}function w(a){window&&
function ya(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}function za(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Aa(a){if(window){var b=ta();return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}function Ba(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
function Ca(a,b){function c(){b(100===d)&&(e=setTimeout(c,d),d=100)}var d=0,e=null,f=!1;a.onmousedown=function(){f||e||(d=500,c())};a.ontouchstart=function(){e||(d=500,c())};a.onmouseup=a.onmouseout=function(){e&&(clearTimeout(e),e=null)};a.ontouchend=a.ontouchcancel=function(){e&&(clearTimeout(e),e=null);f=!0}}var Da={init:[],show:[],exit:[]},Ea=!1,Fa=!1,Ka=!0;function La(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Ma(a){Da.init.push(a)}
function Na(a){if(Ka)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){Oa("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks.",void 0,void 0)}}function Pa(a){!Ka&&a?(Ka=!0,Ea&&Qa("init"),Fa&&Qa("show")):Ka=a}function Qa(a){Da[a]&&Na(Da[a])}La("onload",function(){Ea=!0;Na(Da.init)});La("onpageshow",function(){Fa=!0;Na(Da.show)});La(Aa("Opera")||Aa("iOS")?"onunload":"onbeforeunload",function(){Na(Da.exit)});
function z(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.ec=b.comment;this.Md=b;b=this.id.indexOf(".");0>b?this.cb=this.id:(this.Ab=this.id.substr(0,b),this.cb=this.id.substr(b+1));this[a]=c;this.C={ready:!1,eb:!1,Kb:!1,xa:!1,error:!1};this.Db=null;this.C.error=!1;this.N={};this.H=null;this.ta=d||0;Ra.push(this)}var Sa=void 0,Va={};
function z(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.ec=b.comment;this.Md=b;b=this.id.indexOf(".");0>b?this.cb=this.id:(this.Bb=this.id.substr(0,b),this.cb=this.id.substr(b+1));this[a]=c;this.C={ready:!1,eb:!1,Kb:!1,xa:!1,error:!1};this.Eb=null;this.C.error=!1;this.N={};this.H=null;this.ta=d||0;Ra.push(this)}var Sa=void 0,Va={};
if(window){Sa||(Sa=window.location.search.substr(1));for(var Wa,Xa=/\+/g,$a=/([^&=]+)=?([^&]*)/g;Wa=$a.exec(Sa);)Va[decodeURIComponent(Wa[1].replace(Xa," "))]=decodeURIComponent(Wa[2].replace(Xa," "))}function ab(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 bb(a,b){b||(b=z);a.prototype=ab(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var cb=window.PCjs.Machines||(window.PCjs.Machines={}),Ra=window.PCjs.Components||(window.PCjs.Components=[])}else cb={},Ra=[];function db(a,b,c){cb[a]&&b&&(cb[a][b]=c)}function Oa(a,b,c){b||w((c?c+": ":"")+a)}
function eb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<Ra.length;b++){var d=Ra[b];a&&d.id.indexOf(a)||c.push(d)}return c}function fb(a){if(void 0!==a){var b;for(b=0;b<Ra.length;b++)if(Ra[b].id===a)return Ra[b]}return null}function gb(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<Ra.length;d++)if(c)c==Ra[d]&&(c=null);else if(!(a!=Ra[d].type||b&&Ra[d].id.indexOf(b)))return Ra[d]}return null}
@ -19,32 +19,32 @@ function A(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")
function D(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}
z.prototype={constructor:z,parent:null,toString:function(){return this.name?this.name:this.id||this.type},oa:function(a,b,c){switch(b){case "clear":return this.N[b]||(this.N[b]=c,c.onclick=function(a){return function(){a.N.print&&(a.N.print.value="")}}(this)),!0;case "print":return this.N[b]||(this.Ga=this.N[b]=c,c.value="",this.g=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.ja=function(a){this.g(a,this.cb)}),!0;default:return!1}},log:function(){},g:function(){},status:function(a){this.g(this.cb+": "+a)},ja:function(a,b,c){Oa(a,b,c||this.type)},Ea:function(){return this.C.xa=!0},Ia:function(a,b){b&&(this.C.xa=!1);return!0}};function E(a,b,c,d,e,f,h){a.H&&(!0===h?h=0:null==h&&(h=a.ta),ib(a.H,a,b,c,d,e,f,h))}function jb(a,b){a.H&&kb(a,0)&&a.H.message(b,void 0)}function kb(a,b){if(a.H){a===a.H?b|=0:b=b||a.ta;var c=a.H.ta&b;return!!b&&c===b||!!(c&a.H.Jd)}return!1}
function lb(a,b){if(a.C.Kb)return a.C.eb&&(a.C.eb=!1),a.C.Kb=!1;if(a.C.error)return a.g(a.toString()+" error"),!1;a.C.eb=b;return a.C.eb}function mb(a,b){a.C.eb&&(b?a.C.Kb=!0:void 0===b&&a.g(a.toString()+" busy"));return a.C.eb}function F(a){if(!a.C.error&&(a.C.ready=!0,a.C.ready)){var b=a.Db;a.Db=null;b&&b()}}function nb(a,b){b&&(a.C.ready?b():a.Db=b);return a.C.ready}function ob(a,b){a.C.error=!0;a.ja(b)}
function lb(a,b){if(a.C.Kb)return a.C.eb&&(a.C.eb=!1),a.C.Kb=!1;if(a.C.error)return a.g(a.toString()+" error"),!1;a.C.eb=b;return a.C.eb}function mb(a,b){a.C.eb&&(b?a.C.Kb=!0:void 0===b&&a.g(a.toString()+" busy"));return a.C.eb}function F(a){if(!a.C.error&&(a.C.ready=!0,a.C.ready)){var b=a.Eb;a.Eb=null;b&&b()}}function nb(a,b){b&&(a.C.ready?b():a.Eb=b);return a.C.ready}function ob(a,b){a.C.error=!0;a.ja(b)}
var rb="undefined"!==typeof ArrayBuffer,sb=[1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,
0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1],tb={cpu:1,bus:64,mem:128,port:256,nvr:16384,chipset:32768,keyboard:65536,key:131072,video:262144,fdc:524288,disk:2097152,serial:8388608,speaker:33554432,computer:67108864,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648};function ub(a){z.call(this,"Panel",a,ub)}bb(ub);l=ub.prototype;
l.oa=function(a,b,c,d){return this.B&&this.B.oa(a,b,c,d)||this.b&&this.b.oa(a,b,c,d)||this.K&&this.K.oa(a,b,c,d)||this.H&&this.H.oa(a,b,c,d)?!0:this.parent.oa.call(this,a,b,c,d)};l.Pa=function(a,b,c,d){this.B=a;this.u=b;this.b=c;this.H=d;this.K=vb(a,"Keyboard")};l.Ea=function(a,b){b||wb();return!0};l.Ia=function(){return!0};l.Ja=function(){};function wb(){for(var a=!1,b=D(document,"pc8080","panel"),c=0;c<b.length;c++){var d=b[c],e=A(d),f=fb(e.id);f||(a=!0,f=new ub(e));hb(f,d);a&&F(f)}}Ma(wb);
function xb(a,b,c){z.call(this,"Bus",a,xb);this.b=b;this.H=c;this.G=a.busWidth||16;this.L=Math.pow(2,this.G);this.w=this.L-1|0;this.sa=16>=this.G?10:20>=this.G?12:24>=this.G?14:15;this.Ha=1<<this.sa;this.M=this.Ha>>2;this.u=this.Ha-1;this.J=this.L/this.Ha|0;this.K=this.J-1;this.B=[];this.j=[];this.I=this.D=!1;this.O=[];this.P=[];a=new G;yb(a,this.H);this.X=Array(this.J);for(b=0;b<this.J;b++)this.X[b]=a;F(this)}bb(xb);l=xb.prototype;l.reset=function(){};l.Ea=function(a,b){b||this.reset();return!0};
function zb(a,b,c,d){for(var e=b,f=c,h=e>>>a.sa;0<f&&h<a.X.length;){var g=a.X[h],k=h*a.Ha,m=a.Ha-(e-k);m>f&&(m=f);if(g&&g.size){if(g.type==d){if(e+f<=g.F)return g.xb+=g.F-e,g.F=e,!0;if(e>=g.F+g.xb){m=g.size-(e-k);m>f&&(m=f);g.xb=e-g.F+m;e=k+a.Ha;f-=m;h++;continue}}return Ab(1,e,f)}e=new G(e,m,a.Ha,d);yb(e,a.H,g);a.X[h++]=e;e=k+a.Ha;f-=m}return 0>=f?(a.status(Math.floor(c/1024)+"Kb "+Bb[d]+" at "+v(b)),!0):Ab(2,b,c)}l.aa=function(a){return this.X[(a&this.w)>>>this.sa].jb(a&this.u,a)};
function Cb(a,b){return a.X[(b&a.w)>>>a.sa].vb(b&a.u,b)}l.$a=function(a){var b=a&this.u,c=(a&this.w)>>>this.sa;return b!=this.u?this.X[c].Bc(b,a):this.X[c++].jb(b,a)|this.X[c&this.K].jb(0,a+1)<<8};function Db(a,b){var c=b&a.u,d=(b&a.w)>>>a.sa;return c!=a.u?a.X[d].Pb(c,b):a.X[d++].vb(c,b)|a.X[d&a.K].vb(0,b+1)<<8}l.va=function(a,b){this.X[(a&this.w)>>>this.sa].lb(a&this.u,b&255,a)};function Eb(a,b,c){a.X[(b&a.w)>>>a.sa].yb(b&a.u,c&255,b)}
l.Hb=function(a,b){var c=a&this.u,d=(a&this.w)>>>this.sa;c!=this.u?this.X[d].Dc(c,b&65535,a):(this.X[d++].lb(c,b&255,a),this.X[d&this.K].lb(0,b>>8&255,a+1))};function Fb(a,b){if(void 0===b)return a.I=!a.I,a.I;void 0===a.B[b]&&(a.B[b]=[null,!1]);a.B[b][1]=!a.B[b][1];return a.B[b][1]}function Gb(a,b,c,d){void 0===d&&(d=0);if(c)for(var e in c){var f=a,h=+e+d,g=c[e].bind(b);if(void 0!==g)for(var k=+e+d;k<=h;k++)void 0!==f.B[k]?w("Input port "+v(k)+" already registered"):f.B[k]=[g,!1]}}
function zb(a,b,c,d){for(var e=b,f=c,h=e>>>a.sa;0<f&&h<a.X.length;){var g=a.X[h],k=h*a.Ha,m=a.Ha-(e-k);m>f&&(m=f);if(g&&g.size){if(g.type==d){if(e+f<=g.F)return g.yb+=g.F-e,g.F=e,!0;if(e>=g.F+g.yb){m=g.size-(e-k);m>f&&(m=f);g.yb=e-g.F+m;e=k+a.Ha;f-=m;h++;continue}}return Ab(1,e,f)}e=new G(e,m,a.Ha,d);yb(e,a.H,g);a.X[h++]=e;e=k+a.Ha;f-=m}return 0>=f?(a.status(Math.floor(c/1024)+"Kb "+Bb[d]+" at "+v(b)),!0):Ab(2,b,c)}l.aa=function(a){return this.X[(a&this.w)>>>this.sa].jb(a&this.u,a)};
function Cb(a,b){return a.X[(b&a.w)>>>a.sa].wb(b&a.u,b)}l.$a=function(a){var b=a&this.u,c=(a&this.w)>>>this.sa;return b!=this.u?this.X[c].Bc(b,a):this.X[c++].jb(b,a)|this.X[c&this.K].jb(0,a+1)<<8};function Db(a,b){var c=b&a.u,d=(b&a.w)>>>a.sa;return c!=a.u?a.X[d].Pb(c,b):a.X[d++].wb(c,b)|a.X[d&a.K].wb(0,b+1)<<8}l.va=function(a,b){this.X[(a&this.w)>>>this.sa].lb(a&this.u,b&255,a)};function Eb(a,b,c){a.X[(b&a.w)>>>a.sa].zb(b&a.u,c&255,b)}
l.Ib=function(a,b){var c=a&this.u,d=(a&this.w)>>>this.sa;c!=this.u?this.X[d].Dc(c,b&65535,a):(this.X[d++].lb(c,b&255,a),this.X[d&this.K].lb(0,b>>8&255,a+1))};function Fb(a,b){if(void 0===b)return a.I=!a.I,a.I;void 0===a.B[b]&&(a.B[b]=[null,!1]);a.B[b][1]=!a.B[b][1];return a.B[b][1]}function Gb(a,b,c,d){void 0===d&&(d=0);if(c)for(var e in c){var f=a,h=+e+d,g=c[e].bind(b);if(void 0!==g)for(var k=+e+d;k<=h;k++)void 0!==f.B[k]?w("Input port "+v(k)+" already registered"):f.B[k]=[g,!1]}}
function Ib(a,b,c){for(var d=1,e=0,f=0;0<d;){var h=a.B[b],g=a.O[b]||1,k=1==g?255:2==g?65535:-1,m=k;void 0!==h?(h[0]&&(m=h[0](b,c),void 0===m?m=k:m&=k),a.H&&a.I!=h[1]&&Jb(a.H,b,m)):a.H&&(ib(a.H,a,b,null,c),a.I&&Jb(a.H,b,m));e|=m<<f;f+=g<<3;b+=g;d-=g}return e}function Kb(a,b){if(void 0===b)return a.D=!a.D,a.D;void 0===a.j[b]&&(a.j[b]=[null,!1]);a.j[b][1]=!a.j[b][1];return a.j[b][1]}
function Tb(a,b,c,d){void 0===d&&(d=0);if(c)for(var e in c){var f=a,h=+e+d,g=c[e].bind(b);if(void 0!==g)for(var k=+e+d;k<=h;k++)void 0!==f.j[k]?w("Output port "+v(k)+" already registered"):f.j[k]=[g,!1]}}function Ub(a,b,c,d){for(var e=1,f=0;0<e;){var h=a.j[b],g=a.P[b]||1,k=1==g?255:2==g?65535:-1,k=(c>>>=f)&k;if(void 0!==h){if(h[0])h[0](b,k,d);a.H&&a.D!=h[1]&&Vb(a.H,b,k)}else a.H&&(ib(a.H,a,b,k,d),a.D&&Vb(a.H,b,k));f+=g<<3;b+=g;e-=g}}
function Ab(a,b,c){w("Memory block error ("+a+": "+t(b)+","+t(c)+")");return!1}var Wb;if(rb){var Xb=new ArrayBuffer(2);(new DataView(Xb)).setUint16(0,256,!0);Wb=256===(new Uint16Array(Xb))[0]}else Wb=!1;var Yb=Wb;
function G(a,b,c,d){this.id=Zb+=2;this.b=null;this.F=a;this.xb=b;this.size=c||0;this.type=d||$b;this.N=d==ac;yb(this);this.Na=this.xc=!1;if(c)if(rb)this.I=new ArrayBuffer(c),this.D=new DataView(this.I,0,c),this.u=new Uint8Array(this.I,0,c),this.K=new Uint16Array(this.I,0,c>>1),this.b=new Int32Array(this.I,0,c>>2),bc(this,Yb?cc:dc);else{this.b=Array(c>>2);for(a=0;a<this.b.length;a++)this.b[a]=0;bc(this,ec)}else bc(this)}var $b=0,ac=2,Bb=["NONE","RAM","ROM","VID","H/W"],Zb=0;
function G(a,b,c,d){this.id=Zb+=2;this.b=null;this.F=a;this.yb=b;this.size=c||0;this.type=d||$b;this.N=d==ac;yb(this);this.Na=this.xc=!1;if(c)if(rb)this.I=new ArrayBuffer(c),this.D=new DataView(this.I,0,c),this.u=new Uint8Array(this.I,0,c),this.K=new Uint16Array(this.I,0,c>>1),this.b=new Int32Array(this.I,0,c>>2),bc(this,Yb?cc:dc);else{this.b=Array(c>>2);for(a=0;a<this.b.length;a++)this.b[a]=0;bc(this,ec)}else bc(this)}var $b=0,ac=2,Bb=["NONE","RAM","ROM","VID","H/W"],Zb=0;
G.prototype={constructor:G,parent:null,save:function(){var a,b;if(rb)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.D.getInt32(b<<2,!0);else a=this.b;return a},restore:function(a){if(a&&this.size==a.length<<2){var b;if(rb)for(b=0;b<a.length;b++)this.D.setInt32(b<<2,a[b],!0);else this.b=a;return this.Na=!0}return!1},Za:function(a,b){b?0===this.j++&&fc(this,gc,!1):0===this.B++&&hc(this,gc,!1)},J:function(){this.H&&kb(this.H,129)&&this.H.message("attempt to read invalid block %"+t(this.F),!0);
return 255},w:function(a,b){this.H&&kb(this.H,129)&&this.H.message("attempt to write "+v(b)+" to invalid block %"+t(this.F),!0)},L:function(a,b){return this.jb(a++,b++)|this.jb(a,b)<<8},G:function(a,b,c){this.lb(a++,b&255,c++);this.lb(a,b>>8,c)},Y:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},fa:function(a){var b=a>>2;a=(a&3)<<3;var c=this.b[b]>>a;return 24>a?c&65535:c&255|(this.b[b+1]&255)<<8},ka:function(a,b){var c=a>>2,d=(a&3)<<3;this.b[c]=this.b[c]&~(255<<d)|b<<d;this.Na=!0},za:function(a,
b){var c=a>>2,d=(a&3)<<3;24>d?this.b[c]=this.b[c]&~(65535<<d)|b<<d:(this.b[c]=this.b[c]&16777215|b<<24,c++,this.b[c]=this.b[c]&-256|b>>8);this.Na=!0},O:function(a,b){if(this.H&&null!=this.F){var c=this.H;ic(c,this.F+a,1,c.O)&&c.pa(!0)}return this.vb(a,b)},ca:function(a,b){if(this.H&&null!=this.F){var c=this.H;ic(c,this.F+a,2,c.O)&&c.pa(!0)}return this.Pb(a,b)},ia:function(a,b,c){if(this.H&&null!=this.F){var d=this.H;ic(d,this.F+a,1,d.D)&&d.pa(!0)}this.N?this.w(a,b,c):this.yb(a,b,c)},la:function(a,
b){var c=a>>2,d=(a&3)<<3;24>d?this.b[c]=this.b[c]&~(65535<<d)|b<<d:(this.b[c]=this.b[c]&16777215|b<<24,c++,this.b[c]=this.b[c]&-256|b>>8);this.Na=!0},O:function(a,b){if(this.H&&null!=this.F){var c=this.H;ic(c,this.F+a,1,c.O)&&c.pa(!0)}return this.wb(a,b)},ca:function(a,b){if(this.H&&null!=this.F){var c=this.H;ic(c,this.F+a,2,c.O)&&c.pa(!0)}return this.Pb(a,b)},ia:function(a,b,c){if(this.H&&null!=this.F){var d=this.H;ic(d,this.F+a,1,d.D)&&d.pa(!0)}this.N?this.w(a,b,c):this.zb(a,b,c)},la:function(a,
b,c){if(this.H&&null!=this.F){var d=this.H;ic(d,this.F+a,2,d.D)&&d.pa(!0)}this.N?this.w(a,b,c):this.Tb(a,b,c)},M:function(a){return this.u[a]},P:function(a){return this.u[a]},ba:function(a){return this.D.getUint16(a,!0)},ea:function(a){return a&1?this.u[a]|this.u[a+1]<<8:this.K[a>>1]},ha:function(a,b){this.u[a]=b;this.Na=!0},cb:function(a,b){this.u[a]=b;this.Na=!0},qa:function(a,b){this.D.setUint16(a,b,!0);this.Na=!0},wa:function(a,b){a&1?(this.u[a]=b,this.u[a+1]=b>>8):this.K[a>>1]=b;this.Na=!0}};
function yb(a,b,c){a.H=b;a.B=a.j=0;c&&((a.B=c.B)&&hc(a,gc,!1),(a.j=c.j)&&fc(a,gc,!1))}function jc(a,b){b?0===--a.j&&(a.lb=a.N?a.w:a.yb,a.Dc=a.N?a.G:a.Tb):0===--a.B&&(a.jb=a.vb,a.Bc=a.Pb)}function fc(a,b,c){c&&a.j||(a.lb=!a.N&&b[2]||a.w,a.Dc=!a.N&&b[3]||a.G);if(c||void 0===c)a.yb=b[2]||a.w,a.Tb=b[3]||a.G}function hc(a,b,c){c&&a.B||(a.jb=b[0]||a.J,a.Bc=b[1]||a.L);if(c||void 0===c)a.vb=b[0]||a.J,a.Pb=b[1]||a.L}function bc(a,b){b||(b=kc);hc(a,b,void 0);fc(a,b,void 0)}
function yb(a,b,c){a.H=b;a.B=a.j=0;c&&((a.B=c.B)&&hc(a,gc,!1),(a.j=c.j)&&fc(a,gc,!1))}function jc(a,b){b?0===--a.j&&(a.lb=a.N?a.w:a.zb,a.Dc=a.N?a.G:a.Tb):0===--a.B&&(a.jb=a.wb,a.Bc=a.Pb)}function fc(a,b,c){c&&a.j||(a.lb=!a.N&&b[2]||a.w,a.Dc=!a.N&&b[3]||a.G);if(c||void 0===c)a.zb=b[2]||a.w,a.Tb=b[3]||a.G}function hc(a,b,c){c&&a.B||(a.jb=b[0]||a.J,a.Bc=b[1]||a.L);if(c||void 0===c)a.wb=b[0]||a.J,a.Pb=b[1]||a.L}function bc(a,b){b||(b=kc);hc(a,b,void 0);fc(a,b,void 0)}
var kc=[],ec=[G.prototype.Y,G.prototype.fa,G.prototype.ka,G.prototype.za],gc=[G.prototype.O,G.prototype.ca,G.prototype.ia,G.prototype.la];if(rb)var dc=[G.prototype.M,G.prototype.ba,G.prototype.ha,G.prototype.qa],cc=[G.prototype.P,G.prototype.ea,G.prototype.cb,G.prototype.wa];
function lc(a,b){z.call(this,"CPU",a,lc,1);var c=a.multiplier||1;this.Y=a.cycles||b;this.Ra=c;this.ha=Math.round(this.Y/1E4)/100;this.ab=this.ha*this.Ra;this.C.Aa=!1;this.C.Sb=!1;this.C.rb=a.autoStart;this.C.vc=!1;this.C.fb=!1;this.sb=this.O=0;this.tb=a.csStart;this.hb=a.csInterval;this.ib=a.csStop;this.w=[];this.Fa=this.bb.bind(this);F(this)}bb(lc);var mc=["power","reset"];l=lc.prototype;
l.Pa=function(a,b,c,d){this.B=a;this.u=b;this.H=d;for(b=0;b<mc.length;b++)(c=this.N[mc[b]])&&this.B.oa(null,mc[b],c);this.I=vb(a,"ChipSet");a=nc(a,"autoStart");null!=a&&(this.C.rb="true"==a?!0:"false"==a?!1:!!a);F(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};
l.Ea=function(a,b){if(!b){if(a&&this.restore){oc(this);if(!this.restore(a))return!1;pc(this)}else this.reset();if(this.H){var c=this.H;c.g("Type ? for help with PC8080 Debugger commands");c.Ja();if(c.za){var d=c.za;c.za=null;qc(c,d)}}else this.g("No debugger detected")}rc(this);return!0};l.Ia=function(a){return a?this.save():!0};l.rb=function(){return this.C.rb||!this.H&&void 0===this.N.run?(this.bb(!0),!0):!1};l.yc=function(){return 0};
function pc(a){void 0===a.tb&&(a.tb=0);void 0===a.hb&&(a.hb=-1);void 0===a.ib&&(a.ib=-1);a.C.fb=0<=a.tb&&0<a.hb;a.C.fb&&(a.sb=0,a.O=a.tb-a.M)}function sc(a,b){if(a.C.fb){var c=!1;a.sb=a.sb+a.yc()|0;a.O-=b;0>=a.O&&(a.O+=a.hb,c=!0);0<=a.ib&&a.ib<=Fc(a)&&(a.hb=a.ib=-1,pc(a),a.pa(),c=!0);c&&a.g(Fc(a)+" cycles: checksum="+t(a.sb))}}
l.oa=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.N[b]=c;a=!0;break;case "run":this.N[b]=c;c.onclick=function(){var a;if(a=d.B)if(a=d.B,a.C.xa)a=!0;else{var b=null,c,g=eb(a.id);for(c=0;c<g.length&&(b=g[c],b===a||b.C.ready);c++);if(c==g.length)for(c=0;c<g.length&&(b=g[c],b===a||b.C.xa);c++);c==g.length&&(b=a);w("The "+b.type+" component ("+b.id+") is not "+(b.C.ready?"powered yet":"ready yet"+(b.Db?" (waiting for notification)":""))+".");a=!1}a&&(d.C.Aa?d.pa():d.bb())};
function lc(a,b){z.call(this,"CPU",a,lc,1);var c=a.multiplier||1;this.Y=a.cycles||b;this.Ra=c;this.ha=Math.round(this.Y/1E4)/100;this.ab=this.ha*this.Ra;this.C.Aa=!1;this.C.Sb=!1;this.C.sb=a.autoStart;this.C.vc=!1;this.C.fb=!1;this.tb=this.O=0;this.ub=a.csStart;this.hb=a.csInterval;this.ib=a.csStop;this.w=[];this.Fa=this.bb.bind(this);F(this)}bb(lc);var mc=["power","reset"];l=lc.prototype;
l.Pa=function(a,b,c,d){this.B=a;this.u=b;this.H=d;for(b=0;b<mc.length;b++)(c=this.N[mc[b]])&&this.B.oa(null,mc[b],c);this.I=vb(a,"ChipSet");a=nc(a,"autoStart");null!=a&&(this.C.sb="true"==a?!0:"false"==a?!1:!!a);F(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};
l.Ea=function(a,b){if(!b){if(a&&this.restore){oc(this);if(!this.restore(a))return!1;pc(this)}else this.reset();if(this.H){var c=this.H;c.g("Type ? for help with PC8080 Debugger commands");c.Ja();if(c.za){var d=c.za;c.za=null;qc(c,d)}}else this.g("No debugger detected")}rc(this);return!0};l.Ia=function(a){return a?this.save():!0};l.sb=function(){return this.C.sb||!this.H&&void 0===this.N.run?(this.bb(!0),!0):!1};l.yc=function(){return 0};
function pc(a){void 0===a.ub&&(a.ub=0);void 0===a.hb&&(a.hb=-1);void 0===a.ib&&(a.ib=-1);a.C.fb=0<=a.ub&&0<a.hb;a.C.fb&&(a.tb=0,a.O=a.ub-a.M)}function sc(a,b){if(a.C.fb){var c=!1;a.tb=a.tb+a.yc()|0;a.O-=b;0>=a.O&&(a.O+=a.hb,c=!0);0<=a.ib&&a.ib<=Fc(a)&&(a.hb=a.ib=-1,pc(a),a.pa(),c=!0);c&&a.g(Fc(a)+" cycles: checksum="+t(a.tb))}}
l.oa=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.N[b]=c;a=!0;break;case "run":this.N[b]=c;c.onclick=function(){var a;if(a=d.B)if(a=d.B,a.C.xa)a=!0;else{var b=null,c,g=eb(a.id);for(c=0;c<g.length&&(b=g[c],b===a||b.C.ready);c++);if(c==g.length)for(c=0;c<g.length&&(b=g[c],b===a||b.C.xa);c++);c==g.length&&(b=a);w("The "+b.type+" component ("+b.id+") is not "+(b.C.ready?"powered yet":"ready yet"+(b.Eb?" (waiting for notification)":""))+".");a=!1}a&&(d.C.Aa?d.pa():d.bb())};
a=!0;break;case "speed":this.N[b]=c;a=!0;break;case "setSpeed":this.N[b]=c,c.onclick=function(){Gc(d,d.Ra<<1,!0)},c.textContent=this.ab.toFixed(2)+"Mhz",a=!0}return a};function Hc(a,b,c){a.M+=b;c&&(a.L=a.b=0)}function Ic(a,b){var c=1;b&&1<a.Ra&&a.K&&(c=a.K/a.ha);a.wa=Math.round(1E3/30);a.fa=Math.floor(a.Y/30*c);b||(a.P=a.fa);a.ia=0}function Fc(a){return a.M+a.G+a.L-a.b}function oc(a){a.K=0;a.za=0;a.M=a.G=a.L=a.b=0;pc(a);Gc(a,1)}
function Gc(a,b,c){var d=!1;if(void 0!==b){.8>a.K/a.ab?b=1:d=!0;a.Ra=b;b=a.ha*a.Ra;if(a.ab!=b){a.ab=b;b=a.ab.toFixed(2)+"Mhz";var e=a.N.setSpeed;e&&(e.textContent=b);a.g("target speed: "+b)}c&&a.B&&a.B.wb()}Hc(a,a.G);a.G=0;a.D=pa();a.J=0;Ic(a);return d}function Jc(a,b){var c=a.w.length;a.w.push([-1,b]);return c}function Kc(a,b,c){var d=-1;0<=b&&b<a.w.length&&(d=a.Y*a.Ra/1E3*c,a.w[b][0]=d)}function Lc(a){a.L-=a.b;a.b=0}
l.bb=function(a){if(lb(this,!0)){if(!this.C.Aa){Gc(this);this.B&&this.B.start(this.D,Fc(this));this.C.Aa=!0;this.C.Sb=!0;this.I&&this.I.start();var b=this.N.run;b&&(b.textContent="Halt");this.B&&(this.B.Ja(!0),a&&this.B.wb(!0))}this.ia>=this.Y&&Ic(this,!0);this.ba=0;this.ea=pa();this.J&&(a=this.ea-this.J,a>this.wa&&(this.D+=a,this.D>this.ea&&(this.D=this.ea)));try{do{for(var c=this.C.fb?1:this.fa,d=this.w.length-1;0<=d;d--){var e=this.w[d];0>e[0]||c>e[0]&&(c=e[0])}this.kb(c);var f=this.L-this.b;a=
function Gc(a,b,c){var d=!1;if(void 0!==b){.8>a.K/a.ab?b=1:d=!0;a.Ra=b;b=a.ha*a.Ra;if(a.ab!=b){a.ab=b;b=a.ab.toFixed(2)+"Mhz";var e=a.N.setSpeed;e&&(e.textContent=b);a.g("target speed: "+b)}c&&a.B&&a.B.xb()}Hc(a,a.G);a.G=0;a.D=pa();a.J=0;Ic(a);return d}function Jc(a,b){var c=a.w.length;a.w.push([-1,b]);return c}function Kc(a,b,c){var d=-1;0<=b&&b<a.w.length&&(d=a.Y*a.Ra/1E3*c,a.w[b][0]=d)}function Lc(a){a.L-=a.b;a.b=0}
l.bb=function(a){if(lb(this,!0)){if(!this.C.Aa){Gc(this);this.B&&this.B.start(this.D,Fc(this));this.C.Aa=!0;this.C.Sb=!0;this.I&&this.I.start();var b=this.N.run;b&&(b.textContent="Halt");this.B&&(this.B.Ja(!0),a&&this.B.xb(!0))}this.ia>=this.Y&&Ic(this,!0);this.ba=0;this.ea=pa();this.J&&(a=this.ea-this.J,a>this.wa&&(this.D+=a,this.D>this.ea&&(this.D=this.ea)));try{do{for(var c=this.C.fb?1:this.fa,d=this.w.length-1;0<=d;d--){var e=this.w[d];0>e[0]||c>e[0]&&(c=e[0])}this.kb(c);var f=this.L-this.b;a=
f;for(var h=this.w.length-1;0<=h;h--){var g=this.w[h];0>g[0]||(g[0]-=a,0>=g[0]&&(g[0]=-1,g[1]()))}this.ba+=f;this.G+=f;Hc(this,0,!0);sc(this,f);this.P-=f;if(0>=this.P){this.P+=this.fa;15<=++this.za&&(this.B&&this.B.Ja(),this.za=0);break}}while(this.C.Aa)}catch(k){this.pa();rc(this);this.B&&this.B.stop(pa(),Fc(this));lb(this,!1);ob(this,k.stack||k.message);return}c=setTimeout;d=this.Fa;this.J=pa();e=this.wa;this.ba&&(e=Math.round(e*this.ba/this.fa));e=e-(this.J-this.ea);if(f=this.J-this.D)this.K=Math.round(this.G/
(10*f))/100,864E5<=f&&(this.M=0,Gc(this));if(0>e||this.K<this.ab)-1E3>e&&(this.D-=e),e=0;this.ia+=this.ba;this.J+=e;c(d,e)}else rc(this),this.B&&this.B.stop(pa(),Fc(this))};l.kb=function(){return 0};l.pa=function(a){mb(this,!0);Lc(this);Hc(this,this.G);this.G=0;if(this.C.Aa){this.C.Aa=!1;this.I&&this.I.stop();var b=this.N.run;b&&(b.textContent="Run")}this.C.complete=a};function rc(a,b){if(a.B){for(var c=a.B,d=0;d<c.G.length;d++)Mc(c.G[d],b);a.B.Ja(b)}}
function Nc(a){this.Ac=+a.model||8080;lc.call(this,a,1E6);this.ka=Oc;oc(this);this.C.complete=this.C.Ld=!1;this.la=0;this.ca=[];this.qa=0;Pc(this)}bb(Nc,lc);function Qc(a,b){a.ca.push(b)}l=Nc.prototype;l.reset=function(){this.C.Aa&&this.pa();Pc(this);oc(this);this.C.error=!1;this.parent.reset.call(this)};function Pc(a){a.i=0;a.S=0;a.T=0;a.U=0;a.V=0;a.W=0;a.Z=0;a.na=0;H(a,a.qa);Rc(a,0);a.j=0}function Sc(a,b){a.qa=b;H(a,b)}
@ -54,14 +54,14 @@ l.restore=function(a){var b=a[0];this.i=b[0];this.S=b[1];this.T=b[2];this.U=b[3]
l.oa=function(a,b,c){var d=!1;switch(b){case "A":case "B":case "C":case "BC":case "D":case "E":case "DE":case "H":case "L":case "HL":case "SP":case "PC":case "PS":case "IF":case "SF":case "ZF":case "AF":case "PF":case "CF":this.N[b]=c;this.la++;d=!0;break;default:d=this.parent.oa.call(this,a,b,c)}return d};function Vc(a){return a.S<<8|a.T}function Wc(a,b){a.S=b>>8&255;a.T=b&255}function Xc(a){return a.U<<8|a.V}function Yc(a,b){a.U=b>>8&255;a.V=b&255}function J(a){return a.W<<8|a.Z}
function Zc(a,b){a.W=b>>8&255;a.Z=b&255}function H(a,b){a.R=b&65535}function $c(a){return a.da&256?1:0}function ad(a,b){a.da=a.da&255|b}function bd(a){return sb[a.ga&255]?4:0}function cd(a){return(a.ga^a.ya)&16?16:0}function dd(a){return a.da&255?0:64}function ed(a){return a.ga&128?128:0}function Tc(a){return a.ua&-214|ed(a)|dd(a)|cd(a)|bd(a)|$c(a)}function Rc(a,b){a.da=a.ga=a.ya=0;b&1&&(a.da|=256);b&4||(a.ga|=1);b&16&&(a.ya|=16);b&64||(a.da|=255);b&128&&(a.ga^=192);a.ua=a.ua&-726|b&512|2}
function fd(a,b){a.ya=a.i^b;return a.ga=(a.da=a.i+b)&255}function gd(a,b){a.ya=a.i^b;return a.ga=(a.da=a.i+b+(a.da&256?1:0))&255}function hd(a,b){a.da=a.ga=a.ya=a.i&b;(a.i|b)&8&&(a.ya^=16);return a.da}function id(a,b){a.ya=b^255;b=a.ga=b+255&255;a.da=a.da&-256|b;return b}function jd(a,b){a.ya=b;b=a.ga=b+1&255;a.da=a.da&-256|b;return b}function kd(a,b){return a.ga=a.da=a.ya=a.i|b}function K(a,b){b^=255;a.ya=a.i^b;return a.ga=(a.da=a.i+b+1^256)&255}
function ld(a,b){b^=255;a.ya=a.i^b;return a.ga=(a.da=a.i+b+(a.da&256?0:1)^256)&255}function md(a,b){return a.ga=a.da=a.ya=a.i^b}l.aa=function(a){return this.u.aa(a)};l.va=function(a,b){this.u.va(a,b)};function L(a){var b=a.aa(a.R);H(a,a.R+1);return b}function M(a){var b=a.u.$a(a.R);H(a,a.R+2);return b}function N(a){var b=a.u.$a(a.na);a.na=a.na+2&65535;return b}function P(a,b){a.na=a.na-2&65535;a.u.Hb(a.na,b)}
function ld(a,b){b^=255;a.ya=a.i^b;return a.ga=(a.da=a.i+b+(a.da&256?0:1)^256)&255}function md(a,b){return a.ga=a.da=a.ya=a.i^b}l.aa=function(a){return this.u.aa(a)};l.va=function(a,b){this.u.va(a,b)};function L(a){var b=a.aa(a.R);H(a,a.R+1);return b}function M(a){var b=a.u.$a(a.R);H(a,a.R+2);return b}function N(a){var b=a.u.$a(a.na);a.na=a.na+2&65535;return b}function P(a,b){a.na=a.na-2&65535;a.u.Ib(a.na,b)}
function Gd(a){if(a.b&&a.j&255&&a.ua&512){for(var b=0;8>b&&!(a.j&1<<b);b++);a.j&=~(0>b?255:1<<b);a.ua&=-513;a.j&=-257;a.ka[199|b<<3].call(a)}return a.j&256?(Lc(a),!1):!0}function Hd(a,b){a.j|=1<<b;a.ua&512&&Lc(a)}function Q(a,b,c,d){d=d||2;a.N[b]&&(void 0===c&&(ob(a,"Value for "+b+" is invalid"),a.pa()),c=!a.C.Aa||a.C.vc?t(c,d):"--------".substr(0,d),a.N[b].textContent!=c&&(a.N[b].textContent=c))}
l.Ja=function(a){this.la&&(a||!this.C.Aa||this.C.vc)&&(Q(this,"A",this.i),Q(this,"B",this.S),Q(this,"C",this.T),Q(this,"BC",Vc(this),4),Q(this,"D",this.U),Q(this,"E",this.V),Q(this,"DE",Xc(this),4),Q(this,"H",this.W),Q(this,"L",this.Z),Q(this,"HL",J(this),4),Q(this,"SP",this.na,4),Q(this,"PC",this.R,4),a=Tc(this),Q(this,"PS",a,4),Q(this,"IF",a&512?1:0,1),Q(this,"SF",a&128?1:0,1),Q(this,"ZF",a&64?1:0,1),Q(this,"AF",a&16?1:0,1),Q(this,"PF",a&4?1:0,1),Q(this,"CF",a&1?1:0,1));if(a=this.N.speed)a.textContent=
this.C.Aa&&this.K?this.K.toFixed(2)+"Mhz":"Stopped"};l.kb=function(a){this.C.complete=!0;var b=this.C.Ld=this.H&&Id(this.H),c=a?this.C.Sb?0:1:-1;this.C.Sb=!1;this.L=this.b=a;if(Gd(this)){do{if(b){if(Jd(this.H,this.R,c)){this.pa();break}c=1}this.ka[L(this)].call(this)}while(0<this.b)}return this.C.complete?this.L-this.b:void 0===this.C.complete?0:-1};Ma(function(){for(var a=D(document,"pc8080","cpu"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Nc(d);hb(d,c)}});function Kd(){this.b-=4}
function Ld(){H(this,M(this));this.b-=10}function Md(){H(this,N(this));this.b-=10}function Nd(){var a=M(this);P(this,this.R);H(this,a);this.b-=17}
var Oc=[Kd,function(){Wc(this,M(this));this.b-=10},function(){this.va(Vc(this),this.i);this.b-=7},function(){Wc(this,Vc(this)+1);this.b-=5},function(){this.S=jd(this,this.S);this.b-=5},function(){this.S=id(this,this.S);this.b-=5},function(){this.S=L(this);this.b-=7},function(){var a=this.i<<1;this.i=a&255|a>>8;ad(this,a&256);this.b-=4},Kd,function(){var a;Zc(this,a=J(this)+Vc(this));ad(this,a>>8&256);this.b-=10},function(){this.i=this.aa(Vc(this));this.b-=7},function(){Wc(this,Vc(this)-1);this.b-=
5},function(){this.T=jd(this,this.T);this.b-=5},function(){this.T=id(this,this.T);this.b-=5},function(){this.T=L(this);this.b-=7},function(){var a=this.i<<8&256;this.i=(a|this.i)>>1;ad(this,a);this.b-=4},Kd,function(){Yc(this,M(this));this.b-=10},function(){this.va(Xc(this),this.i);this.b-=7},function(){Yc(this,Xc(this)+1);this.b-=5},function(){this.U=jd(this,this.U);this.b-=5},function(){this.U=id(this,this.U);this.b-=5},function(){this.U=L(this);this.b-=7},function(){var a=this.i<<1;this.i=a&255|
$c(this);ad(this,a&256);this.b-=4},Kd,function(){var a;Zc(this,a=J(this)+Xc(this));ad(this,a>>8&256);this.b-=10},function(){this.i=this.aa(Xc(this));this.b-=7},function(){Yc(this,Xc(this)-1);this.b-=5},function(){this.V=jd(this,this.V);this.b-=5},function(){this.V=id(this,this.V);this.b-=5},function(){this.V=L(this);this.b-=7},function(){var a=this.i<<8;this.i=($c(this)<<8|this.i)>>1;ad(this,a&256);this.b-=4},Kd,function(){Zc(this,M(this));this.b-=10},function(){var a=M(this);this.u.Hb(a,J(this));
$c(this);ad(this,a&256);this.b-=4},Kd,function(){var a;Zc(this,a=J(this)+Xc(this));ad(this,a>>8&256);this.b-=10},function(){this.i=this.aa(Xc(this));this.b-=7},function(){Yc(this,Xc(this)-1);this.b-=5},function(){this.V=jd(this,this.V);this.b-=5},function(){this.V=id(this,this.V);this.b-=5},function(){this.V=L(this);this.b-=7},function(){var a=this.i<<8;this.i=($c(this)<<8|this.i)>>1;ad(this,a&256);this.b-=4},Kd,function(){Zc(this,M(this));this.b-=10},function(){var a=M(this);this.u.Ib(a,J(this));
this.b-=16},function(){Zc(this,J(this)+1);this.b-=5},function(){this.W=jd(this,this.W);this.b-=5},function(){this.W=id(this,this.W);this.b-=5},function(){this.W=L(this);this.b-=7},function(){var a=0,b=$c(this);if(cd(this)||9<(this.i&15))a|=6;if(b||154<=this.i)a|=96,b=1;this.i=fd(this,a);ad(this,b?256:0);this.b-=4},Kd,function(){var a;Zc(this,a=J(this)+J(this));ad(this,a>>8&256);this.b-=10},function(){var a;a=M(this);a=this.u.$a(a);Zc(this,a);this.b-=16},function(){Zc(this,J(this)-1);this.b-=5},function(){this.Z=
jd(this,this.Z);this.b-=5},function(){this.Z=id(this,this.Z);this.b-=5},function(){this.Z=L(this);this.b-=7},function(){this.i=~this.i&255;this.b-=4},Kd,function(){this.na=M(this)&65535;this.b-=10},function(){this.va(M(this),this.i);this.b-=13},function(){this.na=this.na+1&65535;this.b-=5},function(){var a=J(this);this.va(a,jd(this,this.aa(a)));this.b-=10},function(){var a=J(this);this.va(a,id(this,this.aa(a)));this.b-=10},function(){this.va(J(this),L(this));this.b-=10},function(){this.da|=256;this.b-=
4},Kd,function(){var a;Zc(this,a=J(this)+this.na);ad(this,a>>8&256);this.b-=10},function(){this.i=this.aa(M(this));this.b-=13},function(){this.na=this.na-1&65535;this.b-=5},function(){this.i=jd(this,this.i);this.b-=5},function(){this.i=id(this,this.i);this.b-=5},function(){this.i=L(this);this.b-=7},function(){ad(this,$c(this)?0:256);this.b-=4},function(){this.b-=5},function(){this.S=this.T;this.b-=5},function(){this.S=this.U;this.b-=5},function(){this.S=this.V;this.b-=5},function(){this.S=this.W;
@ -83,24 +83,24 @@ function(){P(this,J(this));this.b-=11},function(){this.i=hd(this,L(this));this.b
this.R);H(this,40);this.b-=11},function(){ed(this)||(H(this,N(this)),this.b-=6);this.b-=5},function(){var a=N(this);Rc(this,a&255|this.ua&-256);this.i=a>>8;this.b-=10},function(){var a=M(this);ed(this)||H(this,a);this.b-=10},function(){this.ua&=-513;this.b-=4},function(){var a=M(this);ed(this)||(P(this,this.R),H(this,a),this.b-=6);this.b-=11},function(){P(this,Tc(this)&255|this.i<<8);this.b-=11},function(){this.i=kd(this,L(this));this.b-=7},function(){P(this,this.R);H(this,48);this.b-=11},function(){ed(this)&&
(H(this,N(this)),this.b-=6);this.b-=5},function(){this.na=J(this)&65535;this.b-=5},function(){var a=M(this);ed(this)&&H(this,a);this.b-=10},function(){this.ua|=512;this.b-=4;Gd(this)},function(){var a=M(this);ed(this)&&(P(this,this.R),H(this,a),this.b-=6);this.b-=11},Nd,function(){K(this,L(this));this.b-=7},function(){P(this,this.R);H(this,56);this.b-=11}];
function S(a){z.call(this,"ChipSet",a,S,32768);var b=a.model;b&&!Od[b]&&Oa("Unrecognized ChipSet model: "+b);this.w=Od[b]||{};a.sound&&(this.fa=null,window&&(this.fa=window.AudioContext||window.webkitAudioContext),this.fa&&new this.fa);F(this)}bb(S);
var T={Ba:1978.1,wd:{Ca:0,qe:1,ue:16,Be:32,Ke:64,Je:128,mb:14},Ya:{Ca:1,Lc:1,od:2,kd:4,ld:16,md:32,nd:64,mb:8},xd:{Ca:2,pe:3,Se:4,re:8,Fe:16,Ge:32,He:64,se:128,mb:0},Oe:{Ca:3},Me:{Ca:2,Ce:7},Qe:{Ca:3,Te:1,Pe:2,Ie:4,ze:8,te:16,je:32},Ne:{Ca:4},Re:{Ca:5,ve:1,we:2,xe:4,ye:8,Ue:16}},U={Ba:100,Ka:{Ca:66,mc:1,bc:2,gd:4,Ee:8,De:16,dc:32,cc:64,Yb:128},Jc:{Ca:66,INIT:0},Ta:{Ca:194,le:0,Wb:16,qd:32,ic:48,Tc:0,Uc:32},zb:{Ca:162,Le:0,Wc:0,Sc:0,Vc:0,Rc:0},La:{Ae:{Ca:98},Sa:{Gc:0,Fc:1,td:2,Cd:4,Mc:5,rd:6,ud:7},
Bb:16383}},Od={SI1978:T,VT100:U};S.prototype.oa=function(){return!1};S.prototype.Pa=function(a,b,c,d){this.u=b;this.b=c;this.H=d;this.B=a;this.K=vb(a,"Keyboard");this.Fa=vb(a,"SerialPort");this.video=vb(a,"Video");Gb(b,this,this.w.Fb);Tb(b,this,this.w.Gb);if(d){var e=this;Pd(d,16384,function(){for(var a="",b=0;b<e.I.length;b++)a&&(a+=b&&b%10?", ":",\n"),a+=v(e.I[b]);e.H.g(a)})}};S.prototype.Ea=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};
var T={Ba:1978.1,wd:{Ca:0,qe:1,ue:16,Be:32,Ke:64,Je:128,mb:14},Ya:{Ca:1,Lc:1,od:2,kd:4,ld:16,md:32,nd:64,mb:8},xd:{Ca:2,pe:3,Se:4,re:8,Fe:16,Ge:32,He:64,se:128,mb:0},Oe:{Ca:3},Me:{Ca:2,Ce:7},Qe:{Ca:3,Te:1,Pe:2,Ie:4,ze:8,te:16,je:32},Ne:{Ca:4},Re:{Ca:5,ve:1,we:2,xe:4,ye:8,Ue:16}},U={Ba:100,Ka:{Ca:66,mc:1,bc:2,gd:4,Ee:8,De:16,dc:32,cc:64,Yb:128},Jc:{Ca:66,INIT:0},Ta:{Ca:194,le:0,Wb:16,qd:32,ic:48,Tc:0,Uc:32},Ab:{Ca:162,Le:0,Wc:0,Sc:0,Vc:0,Rc:0},La:{Ae:{Ca:98},Sa:{Gc:0,Fc:1,td:2,Cd:4,Mc:5,rd:6,ud:7},
Cb:16383}},Od={SI1978:T,VT100:U};S.prototype.oa=function(){return!1};S.prototype.Pa=function(a,b,c,d){this.u=b;this.b=c;this.H=d;this.B=a;this.K=vb(a,"Keyboard");this.Fa=vb(a,"SerialPort");this.video=vb(a,"Video");Gb(b,this,this.w.Gb);Tb(b,this,this.w.Hb);if(d){var e=this;Pd(d,16384,function(){for(var a="",b=0;b<e.I.length;b++)a&&(a+=b&&b%10?", ":",\n"),a+=v(e.I[b]);e.H.g(a)})}};S.prototype.Ea=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};
S.prototype.Ia=function(a){return a?this.save():!0};T.INIT=[[T.wd.mb,T.Ya.mb,T.xd.mb,0,0,0,0]];
U.INIT=[[U.Jc.INIT,U.Ka.bc|U.Ka.gd],[U.Ta.Tc,U.Ta.Uc],[U.zb.Wc,U.zb.Sc,U.zb.Vc,U.zb.Rc],[0,0,0,0,[11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11776,11784,11918,11776,11984,11888,11776,11808,11776,12E3,12E3,11901,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
U.INIT=[[U.Jc.INIT,U.Ka.bc|U.Ka.gd],[U.Ta.Tc,U.Ta.Uc],[U.Ab.Wc,U.Ab.Sc,U.Ab.Vc,U.Ab.Rc],[0,0,0,0,[11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11776,11784,11918,11776,11984,11888,11776,11808,11776,12E3,12E3,11901,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11776,11784,11918,11808,11984,11856,11776,11808,11776,12E3,12E3,11881,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]];l=S.prototype;l.reset=function(){this.w.INIT&&!this.restore(this.w.INIT)&&this.ja("reset error")};
l.save=function(){var a=new Uc(this);switch(this.w.Ba){case T.Ba:I(a,0,[this.wa,this.G,this.za,this.Y,this.ea,this.qa,this.la]);break;case U.Ba:I(a,0,[this.ha,this.J]),I(a,1,[this.L,this.M]),I(a,2,[this.D,this.ba,this.ka,this.ia]),I(a,3,[this.P,this.j,this.O,this.ca,this.I])}return a.data()};
l.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.w.Ba){case T.Ba:return this.wa=b[0],this.G=b[1],this.za=b[2],this.Y=b[3],this.ea=b[4],this.qa=b[5],this.la=b[6],!0;case U.Ba:return this.ha=b[0],this.J=b[1],b=a[1],this.L=b[0],this.M=b[1],b=a[2],this.D=b[0],this.ba=b[1],this.ka=b[2],this.ia=b[3],b=a[3],this.P=b[0],this.j=b[1],this.O=b[2],this.ca=b[3],this.I=b[4],!0}return!1};l.start=function(){};l.stop=function(){};l.Rd=function(a,b){var c=this.wa;E(this,a,null,b,"STATUS0",c,!0);return c};
l.Sd=function(a,b){var c=this.G;E(this,a,null,b,"STATUS1",c,!0);return c};l.Td=function(a,b){var c=this.za;E(this,a,null,b,"STATUS2",c,!0);return c};l.Qd=function(a,b){var c=this.Y>>8-this.ea&255;E(this,a,null,b,"SHIFT.RESULT",c,!0);return c};l.$d=function(a,b,c){E(this,a,b,c,"SHIFT.COUNT",null,!0);this.ea=b};l.be=function(a,b,c){E(this,a,b,c,"SOUND1",null,!0);this.qa=b};l.ae=function(a,b,c){E(this,a,b,c,"SHIFT.DATA",null,!0);this.Y=b<<8|this.Y>>8};
l.ce=function(a,b,c){E(this,a,b,c,"SOUND2",null,!0);this.la=b};l.de=function(a,b,c){E(this,a,b,c,"WATCHDOG",null,!0)};function Qd(a){var b=0,c=0,d=~a.P;for(a=0;10>a;a++)d&1&&(b=9-a),d>>=1;for(a=0;10>a;a++)d&1&&(c=9-a),d>>=1;return 10*b+c}
l.Ud=function(a,b){var c=this.J,c=c&~U.Ka.cc;if((Fc(this.b)&64)<<1&&(c|=U.Ka.cc,c!=this.J)){var d,e;d=this.O&1;e=this.O>>1&7;switch(e){case U.La.Sa.ud:break;case U.La.Sa.Fc:this.P=this.P<<1|d;break;case U.La.Sa.Mc:d=Qd(this);this.I[d]=U.La.Bb;jb(this,"doNVRCommand(): erase data at addr "+v(d));break;case U.La.Sa.Gc:this.j=this.j<<1|d;break;case U.La.Sa.Cd:d=Qd(this);e=this.j&U.La.Bb;this.I[d]=e;jb(this,"doNVRCommand(): write data "+v(e)+" to addr "+v(d));break;case U.La.Sa.rd:d=Qd(this);e=this.I[d];
null==e&&(e=U.La.Bb);this.j=e;jb(this,"doNVRCommand(): read data "+v(e)+" from addr "+v(d));break;case U.La.Sa.td:this.j<<=1;this.ca=this.j&U.La.Bb+1;break;default:jb(this,"doNVRCommand(): unrecognized command "+ba(e))}}c&=~U.Ka.dc;this.ca&&(c|=U.Ka.dc);c&=~U.Ka.Yb;if(d=this.K){d=this.K;if(e=d.D)e=d.b,e=Fc(d.b)>=d.J+e.Y*e.Ra/1E3*1.2731488;e&&(d.D=!1);d=!d.D}d&&(c|=U.Ka.Yb);c&=~U.Ka.mc;this.Fa&&this.Fa.Da&1&&(c|=U.Ka.mc);this.J=c;E(this,a,null,b,"FLAGS",c);return c};
l.Ud=function(a,b){var c=this.J,c=c&~U.Ka.cc;if((Fc(this.b)&64)<<1&&(c|=U.Ka.cc,c!=this.J)){var d,e;d=this.O&1;e=this.O>>1&7;switch(e){case U.La.Sa.ud:break;case U.La.Sa.Fc:this.P=this.P<<1|d;break;case U.La.Sa.Mc:d=Qd(this);this.I[d]=U.La.Cb;jb(this,"doNVRCommand(): erase data at addr "+v(d));break;case U.La.Sa.Gc:this.j=this.j<<1|d;break;case U.La.Sa.Cd:d=Qd(this);e=this.j&U.La.Cb;this.I[d]=e;jb(this,"doNVRCommand(): write data "+v(e)+" to addr "+v(d));break;case U.La.Sa.rd:d=Qd(this);e=this.I[d];
null==e&&(e=U.La.Cb);this.j=e;jb(this,"doNVRCommand(): read data "+v(e)+" from addr "+v(d));break;case U.La.Sa.td:this.j<<=1;this.ca=this.j&U.La.Cb+1;break;default:jb(this,"doNVRCommand(): unrecognized command "+ba(e))}}c&=~U.Ka.dc;this.ca&&(c|=U.Ka.dc);c&=~U.Ka.Yb;if(d=this.K){d=this.K;if(e=d.D)e=d.b,e=Fc(d.b)>=d.J+e.Y*e.Ra/1E3*1.2731488;e&&(d.D=!1);d=!d.D}d&&(c|=U.Ka.Yb);c&=~U.Ka.mc;this.Fa&&this.Fa.Da&1&&(c|=U.Ka.mc);this.J=c;E(this,a,null,b,"FLAGS",c);return c};
l.ee=function(a,b,c){E(this,a,b,c,"BRIGHTNESS");this.ha=b};l.he=function(a,b,c){E(this,a,b,c,"NVR.LATCH");this.O=b};l.ge=function(a,b,c){E(this,a,b,c,"DC012");a=b&3;switch(b>>2&3){case 0:this.D=this.D&-4|a;break;case 1:this.D=this.D&-13|a<<2;this.video&&(b=this.video,a=this.D,jb(b,"updateScrollOffset("+a+")"),b.nb!==a&&((b.nb=a)?Mc(b,!0):b.pb=!0));break;case 2:switch(a){case 0:this.ba=~this.ba;break;case 2:case 3:this.ka=3-a}break;case 3:this.ia=a}};
l.fe=function(a,b,c){E(this,a,b,c,"DC011");b&U.Ta.qd?(b&=U.Ta.ic,this.M!=b&&(this.M=b,this.video&&(a=this.video,b=this.M==U.Ta.ic?50:60,jb(a,"updateRate("+b+")"),a.qc=b))):(b&=U.Ta.Wb,this.L!=b&&(this.L=b,this.video&&(a=this.L==U.Ta.Wb?132:80,b=this.video,jb(b,"updateDimensions("+a+","+(80<a&&this.J&U.Ka.bc?14:24)+")"),b.ca=a,b.ra=b.fc,80<a&&b.ra--,Rd(b)&&Sd(b))))};T.Fb={0:S.prototype.Rd,1:S.prototype.Sd,2:S.prototype.Td,3:S.prototype.Qd};
T.Gb={2:S.prototype.$d,3:S.prototype.be,4:S.prototype.ae,5:S.prototype.ce,6:S.prototype.de};U.Fb={66:S.prototype.Ud};U.Gb={66:S.prototype.ee,98:S.prototype.he,162:S.prototype.ge,194:S.prototype.fe};Ma(function(){for(var a=D(document,"pc8080","chipset"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new S(d);hb(d,c)}});
l.fe=function(a,b,c){E(this,a,b,c,"DC011");b&U.Ta.qd?(b&=U.Ta.ic,this.M!=b&&(this.M=b,this.video&&(a=this.video,b=this.M==U.Ta.ic?50:60,jb(a,"updateRate("+b+")"),a.qc=b))):(b&=U.Ta.Wb,this.L!=b&&(this.L=b,this.video&&(a=this.L==U.Ta.Wb?132:80,b=this.video,jb(b,"updateDimensions("+a+","+(80<a&&this.J&U.Ka.bc?14:24)+")"),b.ca=a,b.ra=b.fc,80<a&&b.ra--,Rd(b)&&Sd(b))))};T.Gb={0:S.prototype.Rd,1:S.prototype.Sd,2:S.prototype.Td,3:S.prototype.Qd};
T.Hb={2:S.prototype.$d,3:S.prototype.be,4:S.prototype.ae,5:S.prototype.ce,6:S.prototype.de};U.Gb={66:S.prototype.Ud};U.Hb={66:S.prototype.ee,98:S.prototype.he,162:S.prototype.ge,194:S.prototype.fe};Ma(function(){for(var a=D(document,"pc8080","chipset"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new S(d);hb(d,c)}});
function Td(a){z.call(this,"ROM",a,Td);this.B=null;this.D=a.addr;this.j=a.size;this.G=a.writable;this.w=a.alias;this.I=a.file;this.K=ea(this.I);if(this.I){a=this.I;var b=fa(this.K);"json"!=b&&"hex"!=b&&(a=ha()+"/api/v1/dump?file="+this.I+"&format=bytes&decimal=true");var c=this;sa(a,null,!0,function(a,b,f){Ud(c,a,b,f)})}}bb(Td);var Vd=[0,5];Td.prototype.Pa=function(a,b,c,d){this.u=b;this.b=c;this.H=d;Wd(this)};
Td.prototype.Ea=function(){if(this.Qa){if(this.H){var a=this.H,b=this.id,c=this.D,d=this.j,e=this.Qa,f=[],h;for(h in e){var g=e[h];"number"==typeof g&&(e[h]=g={o:g});var k=g.o,m=g.a;if(void 0!==k){var p=f,k=[k>>>0,h],q=oa(p,k,a.uc);0>q&&p.splice(-(q+1),0,k)}m&&(g.a=m.replace(/''/g,'"'))}a.G.push({gf:b,F:c,Wd:d,Qa:e,tc:f})}delete this.Qa}return!0};Td.prototype.Ia=function(){return!0};
function Ud(a,b,c,d){if(d)a.ja("Unable to load system ROM (error "+d+": "+b+")");else{db(a.Ab,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,h=e.data;if(f)a.B=f;else if(h)for(a.B=Array(4*h.length),d=c=0;c<h.length;c++)a.B[d++]=h[c]&255,a.B[d++]=h[c]>>8&255,a.B[d++]=h[c]>>16&255,a.B[d++]=h[c]>>24&255;else a.B=e;a.Qa=e.symbols;if(!a.B.length){w("Empty ROM: "+b);return}if(1==a.B.length){w(a.B[0]);return}}catch(g){a.ja("ROM data error: "+g.message);return}else for(b=c.replace(/\n/gm,
" ").replace(/ +$/,"").split(" "),a.B=Array(b.length),e=0;e<b.length;e++)a.B[e]=aa(b[e]);Wd(a)}}
function Ud(a,b,c,d){if(d)a.ja("Unable to load system ROM (error "+d+": "+b+")");else{db(a.Bb,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,h=e.data;if(f)a.B=f;else if(h)for(a.B=Array(4*h.length),d=c=0;c<h.length;c++)a.B[d++]=h[c]&255,a.B[d++]=h[c]>>8&255,a.B[d++]=h[c]>>16&255,a.B[d++]=h[c]>>24&255;else a.B=e;a.Qa=e.symbols;if(!a.B.length){w("Empty ROM: "+b);return}if(1==a.B.length){w(a.B[0]);return}}catch(g){a.ja("ROM data error: "+g.message);return}else for(b=c.replace(/\n/gm,
" ").replace(/ +$/,"").split(" "),a.B=Array(b.length),e=0;e<b.length;e++)a.B[e]=aa(b[e],16);Wd(a)}}
function Wd(a){if(!nb(a))if(!a.I)F(a);else if(a.B&&a.u){a.j||(a.j=a.B.length);if(a.B.length!=a.j)ob(a,"ROM size ("+t(a.B.length,8,!0)+") does not match specified size ("+t(a.j,8,!0)+")");else if(Xd(a,a.D)){var b=[];"number"==typeof a.w?b.push(a.w):null!=a.w&&a.w.length&&(b=a.w);for(var c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.u,h=d.j,g=[],k=d.D>>>f.sa;0<h&&k<f.X.length;)g.push(f.X[k++]),h-=f.Ha;f=d.u;d=d.j;h=0;for(e>>>=f.sa;0<d&&e<f.X.length;){k=g[h++];if(!k)break;f.X[e++]=k;d-=f.Ha}}delete a.B}F(a)}}
function Xd(a,b){if(zb(a.u,b,a.j,a.G?1:ac)){var c;for(c=0;c<a.B.length;c++)Eb(a.u,b+c,a.B[c]);if(a.G&&256==b){for(c=0;c<Vd.length;c++)Eb(a.u,Vd[c],118);Qc(a.b,function(a){return function(b){if(0<=Vd.indexOf(b)){var c=!1,h=a.b,g=a.H;if(5==b)switch(c=!0,h.T){case 2:Yd(a,String.fromCharCode(h.V));break;case 9:for(var k=Xc(h),m="",p=255;p--;){var q=a.b.aa(k++);if(36==q)break;m+=String.fromCharCode(q)}Yd(a,m);break;default:c=!1}c?Md.call(h):g&&(a.g("\nCP/M vector "+v(b)),H(h,b),g.pa());b=!0}else b=!1;
return b}}(a));Sc(a.b,b)}return!0}return!1}function Yd(a,b){b=b.replace(/\r/g,"");a.Ga&&(a.Ga.value+=b,a.Ga.scrollTop=a.Ga.scrollHeight)}Ma(function(){for(var a=D(document,"pc8080","rom"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Td(d);hb(d,c)}});function Zd(a){z.call(this,"RAM",a,Zd);this.w=a.addr;this.j=a.size;this.B=!1}bb(Zd);l=Zd.prototype;l.Pa=function(a,b,c,d){this.u=b;this.b=c;this.H=d;F(this)};l.Ea=function(a,b){b||this.reset();return!0};l.Ia=function(a){return a?this.save():!0};
@ -109,20 +109,20 @@ var ce={Ba:1978.1,A:{},Vb:be,qb:{},Xa:{"1p":49,"2p":50,coin:51,left:37,right:39,
V.A[52]=40;V.A[51]=41;V.A[27]=42;V.A[38]=48;V.A[114]=49;V.A[112]=50;V.A[8]=51;V.A[187]=52;V.A[48]=53;V.A[56]=54;V.A[54]=55;V.A[53]=56;V.A[50]=57;V.A[9]=58;V.A[103]=64;V.A[115]=65;V.A[113]=66;V.A[96]=67;V.A[118]=68;V.A[220]=69;V.A[n.Zb]=70;V.A[n.Yc]=71;V.A[n.Oc]=72;V.A[n.Nc]=73;V.A[n.Ub]=74;V.A[104]=80;V.A[2013]=81;V.A[98]=82;V.A[97]=83;V.A[222]=85;V.A[186]=86;V.A[n.Xc]=87;V.A[n.Pc]=88;V.A[n.Xb]=89;V.A[n.sd]=90;V.A[110]=96;V.A[116]=97;V.A[101]=98;V.A[100]=99;V.A[13]=100;V.A[190]=101;V.A[188]=102;
V.A[n.fd]=103;V.A[n.Ic]=104;V.A[n.Dd]=105;V.A[119]=106;V.A[105]=112;V.A[99]=113;V.A[102]=114;V.A[109]=115;V.A[191]=117;V.A[n.ed]=118;V.A[n[" "]]=119;V.A[n.Ad]=120;V.A[n.Kc]=121;V.A[n.Fd]=122;V.A[120]=123;V.A[17]=124;V.A[16]=125;V.A[20]=126;V.qb={l4:V.Ma.cd,l3:V.Ma.bd,l2:V.Ma.ad,l1:V.Ma.$c,locked:V.Ma.dd,local:V.Ma.ac,online:~V.Ma.ac};var ae={SI1978:ce,VT100:V};
$d.prototype.oa=function(a,b,c){var d=this,e=a+"-"+b;if(void 0===this.N[e]){if("led"==a&&this.u.qb[b])return this.N[e]=c,!0;switch(b){case "kbd":return c.onkeydown=function(a){return de(d,a,!0)},c.onkeyup=function(a){return de(d,a,!1)},!0;default:if(this.u.Xa&&void 0!==this.u.Xa[b])return this.N[e]=c,a=function(a,b){return function(c){c.preventDefault();ee(a,b,!0)}}(this,this.u.Xa[b]),b=function(a,b){return function(){ee(a,b,!1)}}(this,this.u.Xa[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=
b):(c.onmousedown=a,c.onmouseup=c.onmouseout=b),!0}}return!1};$d.prototype.Pa=function(a,b,c,d){this.B=a;this.b=c;this.H=d;this.I=vb(a,"ChipSet");Gb(b,this,this.u.Fb);Tb(b,this,this.u.Gb)};$d.prototype.Ea=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};$d.prototype.Ia=function(a){return a?this.save():!0};V.INIT=[[V.Ma.INIT,V.Hc.INIT,!1,0,-1]];l=$d.prototype;l.reset=function(){this.j=[];this.u.INIT&&!this.restore(this.u.INIT)&&this.ja("reset error")};
b):(c.onmousedown=a,c.onmouseup=c.onmouseout=b),!0}}return!1};$d.prototype.Pa=function(a,b,c,d){this.B=a;this.b=c;this.H=d;this.I=vb(a,"ChipSet");Gb(b,this,this.u.Gb);Tb(b,this,this.u.Hb)};$d.prototype.Ea=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};$d.prototype.Ia=function(a){return a?this.save():!0};V.INIT=[[V.Ma.INIT,V.Hc.INIT,!1,0,-1]];l=$d.prototype;l.reset=function(){this.j=[];this.u.INIT&&!this.restore(this.u.INIT)&&this.ja("reset error")};
l.save=function(){var a=new Uc(this);switch(this.u.Ba){case V.Ba:I(a,0,[this.K,this.G,this.D,this.J,-1])}return a.data()};l.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.u.Ba){case ce.Ba:return!0;case V.Ba:return this.K=b[0],fe(this,this.K&V.Ma.$b),this.G=b[1],this.D=b[2],this.J=b[3],this.w=b[4],!0}return!1};function fe(a,b){for(var c in a.u.qb){var d=a.N["led-"+c];if(d){var e=a.u.qb[c],f=!!(b&e);e&e-1&&(f=!(b&~e));d.style.backgroundColor=f?"#ff0000":"#000000"}}}
function de(a,b,c){var d=!0,e;a:if(e=b.keyCode,e=a.u.Vb[e]||e,!a.u.A[e]){for(var f in a.u.Xa)if(a.u.Xa[f]===e){e=f;break a}e=null}e&&(d=ee(a,e,c),b.preventDefault());return d}
function ee(a,b,c){var d;a:{for(d=0;d<a.j.length;d++)if(a.j[d].Rb==b)break a;d=-1}if(c)0>d?a.j.push({Rb:b,Ob:Date.now(),Cb:!1}):(a.j[d].Ob=Date.now(),a.j[d].Cb=!1);else if(0<=d){if(!a.j[d].Cb){var e=a.j[d].Ob;if(e&&100>Date.now()-e)return a.j[d].Cb=!0,ge(a),!0}a.j.splice(d,1)}if(a.I){d=0;switch(b){case "1p":d=T.Ya.kd;break;case "2p":d=T.Ya.od;break;case "coin":d=T.Ya.Lc;break;case "left":d=T.Ya.md;break;case "right":d=T.Ya.nd;break;case "fire":d=T.Ya.ld}d&&(a=a.I,b=d,a.G&=~b,c&&(a.G|=b))}return!0}
function ge(a){for(var b=0,c=-1;b<a.j.length;){if(a.j[b].Cb){var d=a.j[b].Rb,e=100-(Date.now()-a.j[b].Ob);if(0<e){if(0>c||c>e)c=e}else{ee(a,d,!1);b=0;continue}}b++}0<=c&&setTimeout(function(){ge(a)},c)}l.Vd=function(a,b){var c=this.G;0<=this.w&&(this.w<this.j.length?(c=this.j[this.w],this.w++,c=V.A[c.Rb],c&128&&(c&=127)):(this.w=-1,c=V.Zc),this.G=c,Hd(this.b,1));E(this,a,null,b,"KBDUART.ADDRESS",c);return c};
l.ie=function(a,b,c){E(this,a,b,c,"KBDUART.STATUS");this.K=b;this.D=!0;this.J=Fc(this.b);fe(this,b&V.Ma.$b);b&V.Ma.vd&&(this.w=0,Hd(this.b,1))};V.Fb={130:$d.prototype.Vd};V.Gb={130:$d.prototype.ie};Ma(function(){for(var a=D(document,"pc8080","keyboard"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new $d(d);hb(d,c)}});
function ee(a,b,c){var d;a:{for(d=0;d<a.j.length;d++)if(a.j[d].Rb==b)break a;d=-1}if(c)0>d?a.j.push({Rb:b,Ob:Date.now(),Db:!1}):(a.j[d].Ob=Date.now(),a.j[d].Db=!1);else if(0<=d){if(!a.j[d].Db){var e=a.j[d].Ob;if(e&&100>Date.now()-e)return a.j[d].Db=!0,ge(a),!0}a.j.splice(d,1)}if(a.I){d=0;switch(b){case "1p":d=T.Ya.kd;break;case "2p":d=T.Ya.od;break;case "coin":d=T.Ya.Lc;break;case "left":d=T.Ya.md;break;case "right":d=T.Ya.nd;break;case "fire":d=T.Ya.ld}d&&(a=a.I,b=d,a.G&=~b,c&&(a.G|=b))}return!0}
function ge(a){for(var b=0,c=-1;b<a.j.length;){if(a.j[b].Db){var d=a.j[b].Rb,e=100-(Date.now()-a.j[b].Ob);if(0<e){if(0>c||c>e)c=e}else{ee(a,d,!1);b=0;continue}}b++}0<=c&&setTimeout(function(){ge(a)},c)}l.Vd=function(a,b){var c=this.G;0<=this.w&&(this.w<this.j.length?(c=this.j[this.w],this.w++,c=V.A[c.Rb],c&128&&(c&=127)):(this.w=-1,c=V.Zc),this.G=c,Hd(this.b,1));E(this,a,null,b,"KBDUART.ADDRESS",c);return c};
l.ie=function(a,b,c){E(this,a,b,c,"KBDUART.STATUS");this.K=b;this.D=!0;this.J=Fc(this.b);fe(this,b&V.Ma.$b);b&V.Ma.vd&&(this.w=0,Hd(this.b,1))};V.Gb={130:$d.prototype.Vd};V.Hb={130:$d.prototype.ie};Ma(function(){for(var a=D(document,"pc8080","keyboard"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new $d(d);hb(d,c)}});
function he(a,b,c,d,e){var f=this;this.kc=Aa("Gecko/");var h=["","moz","ms","webkit"];z.call(this,"Video",a,he,262144);this.Y=a.screenWidth;this.O=a.screenHeight;this.Ua=a.bufferAddr;this.Id=a.bufferRAM;var g=a.bufferFormat;this.la=g&&ie[g.toUpperCase()]||je;this.ca=a.bufferCols;this.wa=a.bufferRows;this.fc=this.ra=a.cellWidth||1;this.ma=a.cellHeight||1;this.za=null;this.jc=!1;this.Va=a.bufferBits||1;this.Kd=a.bufferLeft||0;if(this.w=a.bufferRotate)this.w=this.w%360,0<this.w&&(this.w-=360),-90!=this.w&&
(this.ja("unsupported buffer rotation: "+this.w),this.w=0);this.Wa=a.interruptRate;this.rc=a.refreshRate||60;this.M=b;this.I=c;this.ka=(this.Nd=d)||b||null;this.Ec=this.Y;this.Hd=this.O;this.gc=this.Y/this.ca|0;this.hc=this.O/this.wa|0;1<this.ma&&(this.wa++,this.nb=0,this.pb=!1);b=a.smoothing;(c=Va.smoothing)&&(b="true"==c);if(null!=b)for(c=0;c<h.length;c++)if(d=(d=h[c])?d+"ImageSmoothingEnabled":"imageSmoothingEnabled",void 0!==this.I[d]){this.I[d]=b;break}if(this.D=a.screenRotate)this.D=this.D%
360,0<this.D&&(this.D-=360),-90!=this.D?(this.ja("unsupported screen rotation: "+this.D),this.D=0):(this.I.translate(0,this.O),this.I.rotate(this.D*Math.PI/180),this.I.scale(this.O/this.Y,this.Y/this.O));if(this.j=e)if(this.j.gb=e.requestFullscreen||e.msRequestFullscreen||e.mozRequestFullScreen||e.webkitRequestFullscreen,this.j.gb){for(c=0;c<h.length;c++)if(d=h[c]+"fullscreenchange","on"+d in document){document.addEventListener(d,function(){ke(f,document.fullscreenElement||document.msFullscreenElement||
document.mozFullScreenElement||document.webkitFullscreenElement?!0:!1)},!1);break}for(c=0;c<h.length;c++)if(d=h[c]+"fullscreenerror","on"+d in document){document.addEventListener(d,function(){ke(f,null)},!1);break}}if(this.ea=a.fontROM)"json"!=fa(this.ea)&&(this.ea=ha()+"/api/v1/dump?file="+this.ea+"&format=bytes"),sa(this.ea,null,!0,function(a,b,c){le(f,a,b,c)});this.Jb={}}bb(he);var je=0,ie={SI1978:1,VT100:2};
function Rd(a){a.J=a.ca*a.ra;a.ba=a.wa*a.ma;var b=a.J,c=a.ba;a.w&&(b=a.ba,c=a.J);a.P=0;if(!a.Id&&(a.P=(a.J*a.Va>>3)*a.ba,!zb(a.u,a.Ua,a.P,3)))return!1;a.P?(a.lc=a.I.createImageData(b,c),a.oc=16/a.Va|0,me(a,a.P>>1)):me(a,(a.ca+1)*a.wa);a.L=document.createElement("canvas");a.L.width=b;a.L.height=c;a.ob=a.L.getContext("2d");a.fa={};a.qa=1<<a.Va;a.ha=Array(a.qa+2);a.ha[0]=[0,0,0,255];a.ha[1]=[255,255,255,255];1==a.la&&(a.ha[a.qa+0]=[255,255,0,255],a.ha[a.qa+1]=[0,255,0,255]);2==a.la&&(a.qc=60,a.Ib=!1,
function Rd(a){a.J=a.ca*a.ra;a.ba=a.wa*a.ma;var b=a.J,c=a.ba;a.w&&(b=a.ba,c=a.J);a.P=0;if(!a.Id&&(a.P=(a.J*a.Va>>3)*a.ba,!zb(a.u,a.Ua,a.P,3)))return!1;a.P?(a.lc=a.I.createImageData(b,c),a.oc=16/a.Va|0,me(a,a.P>>1)):me(a,(a.ca+1)*a.wa);a.L=document.createElement("canvas");a.L.width=b;a.L.height=c;a.ob=a.L.getContext("2d");a.fa={};a.qa=1<<a.Va;a.ha=Array(a.qa+2);a.ha[0]=[0,0,0,255];a.ha[1]=[255,255,255,255];1==a.la&&(a.ha[a.qa+0]=[255,255,0,255],a.ha[a.qa+1]=[0,255,0,255]);2==a.la&&(a.qc=60,a.rb=!1,
a.Fa=Array(a.ca));return!0}he.prototype.Pa=function(a,b,c,d){this.B=a;this.u=b;this.b=c;this.H=d;Rd(this);if(this.K=vb(a,"Keyboard")){for(var e in this.Jb)this.K.oa("led",e,this.Jb[e]);this.M&&this.K.oa(this.Nd?"textarea":"canvas","kbd",this.ka)}var f=this;this.sc=Jc(this.b,function(){Mc(f)});Kc(this.b,this.sc,1E3/Math.max(this.rc,this.Wa));this.pc=0;this.ea||F(this)};
function le(a,b,c,d){if(d)a.ja("Unable to load font ROM (error "+d+": "+b+")");else{db(a.Ab,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f||!f.length){w("Empty font ROM: "+b);return}if(1==f.length){w(f[0]);return}if(2048==f.length)a.za=f,Sd(a);else{a.ja("Unrecognized font data length ("+f.length+")");return}}catch(h){a.ja("Font ROM data error: "+h.message);return}(a.I||a.H)&&F(a)}}
function Sd(a){a.za&&(a.jc=2==a.la,a.fa[96]=[ne(a,a.ra,a.ma),ne(a,a.ra,a.ma,a.Ib)],a.fa[64]=[ne(a,2*a.ra,a.ma),ne(a,2*a.ra,a.ma,a.Ib)],a.fa[32]=a.fa[0]=[ne(a,2*a.ra,2*a.ma),ne(a,2*a.ra,2*a.ma,a.Ib)])}
function le(a,b,c,d){if(d)a.ja("Unable to load font ROM (error "+d+": "+b+")");else{db(a.Bb,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f||!f.length){w("Empty font ROM: "+b);return}if(1==f.length){w(f[0]);return}if(2048==f.length)a.za=f,Sd(a);else{a.ja("Unrecognized font data length ("+f.length+")");return}}catch(h){a.ja("Font ROM data error: "+h.message);return}(a.I||a.H)&&F(a)}}
function Sd(a){a.za&&(a.jc=2==a.la,a.fa[96]=[ne(a,a.ra,a.ma),ne(a,a.ra,a.ma,a.rb)],a.fa[64]=[ne(a,2*a.ra,a.ma),ne(a,2*a.ra,a.ma,a.rb)],a.fa[32]=a.fa[0]=[ne(a,2*a.ra,2*a.ma),ne(a,2*a.ra,2*a.ma,a.rb)])}
function ne(a,b,c,d){var e=8>=a.fc?8:16,f=8<e?15:0,h=a.za.length/e,g=!1===d,k={ra:b,ma:c};k.canvas=document.createElement("canvas");k.canvas.width=16*b;k.canvas.height=h/16*c;k.context=k.canvas.getContext("2d");for(var m=k.context.createImageData(b,c),p=0;p<h;p++){for(var q=0,x=q;q<a.ma;q++)for(var u=p*e+(f+q&e-1),u=d&&8==q?255:a.za[u],r=0;r<c/a.ma;r++){for(var C=0,y=0,Y=y;y<a.ra;y++){for(var B=u&128>>(7<y?7:y),C=a.jc&&!B&&C?C:B,R=0;R<b/a.ra;R++)g&&(C=!C),oe(a,m,Y,x,C?1:0),Y++;C=B}x++}k.context.putImageData(m,
(p&15)*b,(p>>4)*c)}return k}he.prototype.Ea=function(){return!0};he.prototype.oa=function(a,b,c){var d=this;if("led"==a||"rled"==a)return this.Jb[b]=c,!0;switch(b){case "fullScreen":return this.N[b]=c,this.j&&this.j.gb?c.onclick=function(){d.gb()}:c.parentNode.removeChild(c),!0}return!1};
he.prototype.gb=function(){var a=!1;if(this.j){if(this.j.gb){a="100%";if(screen&&screen.width&&screen.height){var b=screen.width/screen.height,c=this.Y/this.O;b>c&&(a=Math.round(c/b*100)+"%")}this.kc?(this.M.style.width=a,this.M.style.width=a,this.M.style.display="block",this.M.style.margin="auto"):(this.j.style.width=a,this.j.style.height="auto");this.j.style.backgroundColor="black";this.j.gb();a=!0}this.ka&&this.ka.focus()}return a};
@ -137,19 +137,19 @@ function pe(a){this.fa=+a.adapter;switch(this.fa){case 0:this.ha=0;this.ka=2;bre
var re=[50,75,110,134.5,150,200,300,600,1200,1800,2E3,2400,3600,4800,9600,19200],se=[!1,0,0,133,142,39,238],qe="buffer";l=pe.prototype;
l.oa=function(a,b,c,d){var e=this;switch(b){case qe:return this.N[b]=this.j=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),te(e,b);return!0},c.onkeypress=function(a){a=a||window.event;te(e,a.which||a.keyCode);a.preventDefault&&a.preventDefault();return!0},c.removeAttribute("readonly"),!0;default:if(d)return this.N[b]=c,d=d.replace(/\\e/g,String.fromCharCode(27)),c.onclick=function(){e.Qb(d);return!0},
!0}return!1};l.Pa=function(a,b,c,d){this.B=a;this.u=b;this.b=c;this.H=d;var e=this;this.qa=Jc(this.b,function(){e.Qb()});this.la=Jc(this.b,function(){e.Da|=5});this.I=vb(a,"ChipSet");Gb(b,this,ue,this.ha);Tb(b,this,ve,this.ha);F(this)};
l.zc=function(){if(!this.K){var a=nc(this.B,"connection");if(a){var b=a.split("->");if(2==b.length){var c=ma(b[0]);if(c!=this.cb)return;b=ma(b[1]);if(this.K=fb(b)){var d=this.K.exports;if(d){var e=d.connect;e&&e.call(this.K);if(this.M=d.receiveData){this.status(this.Ab+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};l.Ea=function(a,b){if(!b)if(this.zc(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};
l.zc=function(){if(!this.K){var a=nc(this.B,"connection");if(a){var b=a.split("->");if(2==b.length){var c=ma(b[0]);if(c!=this.cb)return;b=ma(b[1]);if(this.K=fb(b)){var d=this.K.exports;if(d){var e=d.connect;e&&e.call(this.K);if(this.M=d.receiveData){this.status(this.Bb+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};l.Ea=function(a,b){if(!b)if(this.zc(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};
l.Ia=function(a){return a?this.save():!0};l.reset=function(){we(this)};l.save=function(){var a=new Uc(this),b=0,c=[];c[b++]=this.L;c[b++]=this.Y;c[b++]=this.ca;c[b++]=this.Da;c[b++]=this.J;c[b++]=this.P;c[b]=this.O;I(a,0,c);return a.data()};l.restore=function(a){return we(this,a[0])};function we(a,b){var c=0;void 0===b&&(b=se);a.L=b[c++];a.Y=b[c++];a.ca=b[c++];a.Da=b[c++];a.J=b[c++];a.P=b[c++];a.O=b[c];return!0}
function xe(a,b){var c=a.O&b;b&15||(c>>=4);var c=re[c],d=((a.J&12)>>2)+6;a.J&16&&d++;d+=((a.J&192)>>6)+1>>1;return 1E3/Math.round(c/d)}function te(a,b){jb(a,"receiveByte("+ba(b)+"), status="+ba(a.Da));return a.ba||a.Da&2?!1:(a.Y=b,a.Da|=2,Hd(a.b,a.ka),!0)}l.Qb=function(a){null!=a&&(this.G="number"!=typeof a?a:this.G+String.fromCharCode(a));this.G&&(te(this,this.G.charCodeAt(0))&&(this.G=this.G.substr(1)),this.G&&this.b&&Kc(this.b,this.qa,xe(this,15)));return!0};
l.Pd=function(a,b){var c=this.Y;E(this,a,null,b,"DATA",c);this.Da&=-3;return c};l.Od=function(a,b){var c=this.Da;E(this,a,null,b,"STATUS",c);return c};
l.Zd=function(a,b,c){E(this,a,b,c,"DATA");this.ca=b;this.Da&=-6;jb(this,"transmitByte("+ba(b)+")");if(19==b)this.ba=!0;else if(17==b)this.ba=!1;else if(this.M&&this.M.call(this.K,b),this.j)8==b?(this.j.value=this.j.value.slice(0,-1),0<this.D&&this.D--):(a=(a=na[b])?"<"+a+">":String.fromCharCode(b),c=a.length,9==b?(b=this.ia||8,c=b-this.D%b,this.ia&&(a=la("",c))):13==b&&(this.D=c=0,a="\n"),this.ea&&!this.D&&c&&(a=String.fromCharCode(this.ea)+a),this.j.value+=a,this.j.scrollTop=this.j.scrollHeight,
this.D+=c);else if(null!=this.w){if(10==b||1024<=this.w.length)this.g(this.w),this.w="";10!=b&&(this.w+=String.fromCharCode(b))}this.b&&Kc(this.b,this.la,xe(this,240))};l.Yd=function(a,b,c){E(this,a,b,c,"CONTROL");this.L?(this.P=b,this.P&64&&(this.L=!1)):(this.J=b,this.L=!0)};l.Xd=function(a,b,c){E(this,a,b,c,"BAUDRATES");this.O=b};var ue={0:pe.prototype.Pd,1:pe.prototype.Od},ve={0:pe.prototype.Zd,1:pe.prototype.Yd,2:pe.prototype.Xd};
Ma(function(){for(var a=D(document,"pc8080","serial"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new pe(d);hb(d,c)}});function ye(a){z.call(this,"Debugger",a,ye);this.ba=this.la=this.J=0;this.P=!1;this.j=-1;this.w=[];this.ea={}}bb(ye);var ze={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};ye.prototype.Mb=function(){return-1};ye.prototype.Nb=function(){};
ye.prototype.Eb=function(a,b,c){if(b)if(a){0>this.j&&this.w.length&&(this.j=0);if(0>this.j||a!=this.w[this.j])this.w.splice(0,0,a),this.j=0;this.j--}else this.P?a="end":a=this.w[this.j+1];b=[];if(a){a=a.toLowerCase().replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var h=a.charAt(f);if('"'==h||"'"==h)e?h==e&&(e=null):e=h;else if(h==c&&!e||!h)b.push(ma(a.substring(d,f))),d=f+1}}return b};
Ma(function(){for(var a=D(document,"pc8080","serial"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new pe(d);hb(d,c)}});function ye(a){z.call(this,"Debugger",a,ye);this.ob=a.base||16;this.ba=this.la=this.J=0;this.P=!1;this.j=-1;this.w=[];this.ea={}}bb(ye);var ze={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};ye.prototype.Mb=function(){return-1};ye.prototype.Nb=function(){};
ye.prototype.Fb=function(a,b,c){if(b)if(a){0>this.j&&this.w.length&&(this.j=0);if(0>this.j||a!=this.w[this.j])this.w.splice(0,0,a),this.j=0;this.j--}else this.P?a="end":a=this.w[this.j+1];b=[];if(a){a=a.toLowerCase().replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var h=a.charAt(f);if('"'==h||"'"==h)e?h==e&&(e=null):e=h;else if(h==c&&!e||!h)b.push(ma(a.substring(d,f))),d=f+1}}return b};
function Ae(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<<e;break;case ">>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f<e?1:0;break;case "<=":d=f<=e?1:0;break;case ">":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break;
case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0}
function Be(a,b,c){var d;if(b){b=Ce(a,b);for(var e=0,f=!1,h=b,g=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<m.length;){var p=m[e++],q=p.length,p=ma(p);if(!p){f=!0;break}p=De(a,p,null,!1===c);if(void 0===p){f=!0;c=!1;break}g.push(p);if(e==m.length)break;var p=m[e++],x=p.length;k.length&&ze[p]<ze[k[k.length-1]]&&Ae(g,k,1);k.push(p);b=b.substr(q+x)}Ae(g,k)&&1==g.length||(f=!0);f?c&&a.g("error parsing '"+h+"' at character "+(h.length-b.length)):(d=g.pop(),c&&Ee(a,null,
d))}return d}function Ce(a,b){for(var c;(c=b.match(/\{(.*?)}/))&&!(0<=c[1].indexOf("{"));){var d=Be(a,c[1]);b=b.replace("{"+c[1]+"}",null!=d?t(d):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)b=b.replace("["+c[1]+"]","unimplemented");for(c=b;d=c.match(/\$([a-z]+)/i);){var e=null;switch(d[1].toLowerCase()){case "ops":e=a.ba-a.la}if(null==e)break;c=c.replace(d[0],e.toString())}return c}
function De(a,b,c,d){var e;null!=b?(e=a.Mb(b),0<=e?e=a.Nb(e):(e=a.ea[b],null==e&&(e=aa(b))),null!=e||d||a.g("invalid "+(c?c:"value")+": "+b)):d||a.g("missing "+(c||"value"));return e}
function De(a,b,c,d){var e;null!=b?(e=a.Mb(b),0<=e?e=a.Nb(e):(e=a.ea[b],null==e&&(e=aa(b,a.ob))),null!=e||d||a.g("invalid "+(c?c:"value")+": "+b)):d||a.g("missing "+(c||"value"));return e}
function Ee(a,b,c){var d,e=!1;if(void 0!==c){var e=!0,f=c,h=0;d="";if(!h||4<h)h=4;for(var g=0;g<h;g++){d&&(d=","+d);var k=f&255,m=8,p="";m?32<m&&(m=32):m=32;if(null==k||isNaN(k))for(;0<m--;)p="?"+p;else for(;0<m--;)p=(k&1?"1":"0")+p,k>>=1;d=p+d;f>>=8}f=c;h=0;g="";h?11<h&&(h=11):h=f&-65536?11:6;if(null==f||isNaN(f))for(;0<h--;)g="?"+g;else for(;0<h--;)g=String.fromCharCode((f&7)+48)+g,f>>=3;d=t(c,0,!0)+" "+c+". "+("0o"+g)+" "+("0b"+d)}a.g((null!=b?b+": ":"")+d);return e}
function Fe(a,b){if(b)return Ee(a,b,a.ea[b]);var c=0;for(b in a.ea)Ee(a,b,a.ea[b]),c++;return 0<c}function Ge(a){z.call(this,"Debugger",a,Ge);this.style=He;this.M=W();this.Ua=W();this.ca=W();this.G=[];this.I=this.O=this.D=[];Ie(this);this.ia=0;Je(this);this.wa=[];Ke(this,a.messages);this.za=a.commands;var b=this;window?void 0===window.pc8080&&(window.pc8080=function(a){return qc(b,a)}):void 0===global.pc8080&&(global.pc8080=function(a){return qc(b,a)})}bb(Ge,ye);
var Le={"?":"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","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages","o [#]":"output port #",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble",v:"print version","var":"assign variable"},
@ -161,79 +161,79 @@ Oe="B C D E H L M A BC DE HL SP PC PS PSW".split(" "),Pe=[[45],[42,2067,32],[71,
18193,529],[66,18193,785],[66,18193,1041],[66,18193,1297],[66,18193,1617],[66,18193,1809],[5,18193,17],[5,18193,273],[5,18193,529],[5,18193,785],[5,18193,1041],[5,18193,1297],[5,18193,1617],[5,18193,1809],[76,18193,17],[76,18193,273],[76,18193,529],[76,18193,785],[76,18193,1041],[76,18193,1297],[76,18193,1617],[76,18193,1809],[46,18193,17],[46,18193,273],[46,18193,529],[46,18193,785],[46,18193,1041],[46,18193,1297],[46,18193,1617],[46,18193,1809],[18,18193,17],[18,18193,273],[18,18193,529],[18,18193,
785],[18,18193,1041],[18,18193,1297],[18,18193,1617],[18,18193,1809],[58],[50,2067],[34,51],[30,51],[11,51],[51,2067],[4,18193,33],[65,128],[62],[54],[38,51],[30,32819],[15,51],[7,51],[1,18193,33],[65,128],[57],[50,2323],[33,51],[48,33,18193],[10,51],[51,2323],[74,18193,33],[65,128],[55],[54,32768],[31,51],[27,18193,33],[8,51],[7,32819],[67,18193,33],[65,128],[61],[50,2579],[37,51],[78,19283,18963],[14,51],[51,2579],[6,18193,33],[65,128],[60],[49,2579],[36,51],[75,18963,18707],[13,51],[7,32819],[77,
18193,33],[65,128],[59],[50,3603],[35,51],[24],[12,51],[51,3603],[47,18193,33],[65,128],[56],[69,19219,18963],[32,51],[25],[9,51],[7,32819],[19,18193,33],[65,128]];l=Ge.prototype;
l.Pa=function(a,b,c,d){this.u=b;this.b=c;this.B=a;(a=nc(a,"messages"))&&Ke(this,a);this.Fa=Pe;Pd(this,64,function(a){a:{var b=d.u.X,c=a[0],g=a=0,k=b.length;if(c){a=Qe(Re(d,c));if(-1===a){d.g("invalid address: "+c);break a}g=a>>>d.u.sa;k=1}d.g("blockid physical blockaddr used size type");d.g("-------- --------- ---------- ------ ------ ----");for(var c=-1,m=0;k--;){var p=b[g];p.type==c?m++||d.g("..."):(c=p.type,m=Bb[c],p&&d.g(t(p.id)+" %"+t(g<<d.u.sa)+" %%"+t(p.F)+" "+v(p.xb)+" "+
l.Pa=function(a,b,c,d){this.u=b;this.b=c;this.B=a;(a=nc(a,"messages"))&&Ke(this,a);this.Fa=Pe;Pd(this,64,function(a){a:{var b=d.u.X,c=a[0],g=a=0,k=b.length;if(c){a=Qe(Re(d,c));if(-1===a){d.g("invalid address: "+c);break a}g=a>>>d.u.sa;k=1}d.g("blockid physical blockaddr used size type");d.g("-------- --------- ---------- ------ ------ ----");for(var c=-1,m=0;k--;){var p=b[g];p.type==c?m++||d.g("..."):(c=p.type,m=Bb[c],p&&d.g(t(p.id)+" %"+t(g<<d.u.sa)+" %%"+t(p.F)+" "+v(p.yb)+" "+
v(p.size)+" "+m),c!=$b&&(c=-1),m=0);a+=d.u.Ha;g++}}});F(this)};
l.oa=function(a,b,c){var d=this;switch(b){case "debugInput":return this.ha=this.N[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",qc(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.j<d.w.length-1&&(b=d.w[++d.j])):40==a.keyCode&&(0<d.j?b=d.w[--d.j]:(b="",d.j=-1)),null!=b){var h=b.length;c.value=b;c.setSelectionRange(h,h)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.N[b]=c,Ca(c,function(){if(d.ha){var a=d.ha.value;
d.ha.value="";qc(d,a,!0);return!0}return!1}),!0;case "step":return this.N[b]=c,Ca(c,function(a){var b=!1;mb(d,!0)||(lb(d,!0),b=d.kb(a?1:0),lb(d,!1));return b}),!0}return!1};l.wb=function(){this.ha&&this.ha.focus()};function Qe(a){a=a&&a.F;null==a&&(a=-1);return a}l.aa=function(a,b){var c=255,d=Qe(a);-1!==d&&(c=Cb(this.u,d),b&&Se(a,b));return c};l.$a=function(a,b){var c=65535,d=Qe(a);-1!==d&&(c=Db(this.u,d),b&&Se(a,b));return c};
l.va=function(a,b,c){var d=Qe(a);-1!==d&&(Eb(this.u,d,b),c&&Se(a,c),rc(this.b,!0))};l.Hb=function(a,b,c){var d=Qe(a);if(-1!==d){var e=this.u,f=d&e.u,h=(d&e.w)>>>e.sa;f!=e.u?e.X[h].Tb(f,b&65535,d):(e.X[h++].yb(f,b&255,d),e.X[h&e.K].yb(0,b>>8&255,d+1));c&&Se(a,c);rc(this.b,!0)}};function W(a){return{F:a,Oa:!1}}function Te(a){return[a.F,a.Oa]}function Ue(a){return{F:a[0],Oa:a[1]}}
function Re(a,b,c){var d;c=(c?a.M:a.Ua).F;if(void 0!==b){d=b=Ce(a,b);var e;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;c<a.G.length;c++){var f=a.G[c].Qa[d];if(void 0!==f){d=f.o;void 0!==d&&(e=W(d));break}}if(d=e)return d;c=Be(a,b,void 0)}null!=c&&(d=W(c));return d}function Ve(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.Gd=a.Eb(b.Cc=c[2]))}function Se(a,b){null!=a.F&&(a.F+=b||1)}function X(a){return t(a,4)}
function uf(a,b,c){var d="";for(c=c||256;d.length<c;){var e=a.aa(b,1);if(!e||36==e||127<=e)break;d+=32<=e?String.fromCharCode(e):"."}return d}function Ke(a,b){a.H=a;a.ta=a.Jd=536870912;a.ka=null;a.qa=[];var c=a.Eb(b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(c.length)for(var d in tb)0<=ra(c,d)&&(a.ta|=tb[d],a.g(d+" messages enabled"))}function Pd(a,b,c){for(var d in tb)if(b==tb[d]){a.wa[d]=c;break}}
d.ha.value="";qc(d,a,!0);return!0}return!1}),!0;case "step":return this.N[b]=c,Ca(c,function(a){var b=!1;mb(d,!0)||(lb(d,!0),b=d.kb(a?1:0),lb(d,!1));return b}),!0}return!1};l.xb=function(){this.ha&&this.ha.focus()};function Qe(a){a=a&&a.F;null==a&&(a=-1);return a}l.aa=function(a,b){var c=255,d=Qe(a);-1!==d&&(c=Cb(this.u,d),b&&Se(a,b));return c};l.$a=function(a,b){var c=65535,d=Qe(a);-1!==d&&(c=Db(this.u,d),b&&Se(a,b));return c};
l.va=function(a,b,c){var d=Qe(a);-1!==d&&(Eb(this.u,d,b),c&&Se(a,c),rc(this.b,!0))};l.Ib=function(a,b,c){var d=Qe(a);if(-1!==d){var e=this.u,f=d&e.u,h=(d&e.w)>>>e.sa;f!=e.u?e.X[h].Tb(f,b&65535,d):(e.X[h++].zb(f,b&255,d),e.X[h&e.K].zb(0,b>>8&255,d+1));c&&Se(a,c);rc(this.b,!0)}};function W(a){return{F:a,Oa:!1}}function Te(a){return[a.F,a.Oa]}function Ue(a){return{F:a[0],Oa:a[1]}}
function Re(a,b,c){var d;c=(c?a.M:a.Ua).F;if(void 0!==b){d=b=Ce(a,b);var e;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;c<a.G.length;c++){var f=a.G[c].Qa[d];if(void 0!==f){d=f.o;void 0!==d&&(e=W(d));break}}if(d=e)return d;c=Be(a,b,void 0)}null!=c&&(d=W(c));return d}function Ve(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.Gd=a.Fb(b.Cc=c[2]))}function Se(a,b){null!=a.F&&(a.F+=b||1)}function X(a){return t(a,4)}
function uf(a,b,c){var d="";for(c=c||256;d.length<c;){var e=a.aa(b,1);if(!e||36==e||127<=e)break;d+=32<=e?String.fromCharCode(e):"."}return d}function Ke(a,b){a.H=a;a.ta=a.Jd=536870912;a.ka=null;a.qa=[];var c=a.Fb(b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(c.length)for(var d in tb)0<=ra(c,d)&&(a.ta|=tb[d],a.g(d+" messages enabled"))}function Pd(a,b,c){for(var d in tb)if(b==tb[d]){a.wa[d]=c;break}}
l.Mb=function(a,b){var c;a=a.toUpperCase();null==b?c=ra(Oe,a):(c=ra(Oe,a.substr(b,2)),0>c&&(c=ra(Oe,a.substr(b,1))));return c};function vf(a,b){var c=0,d=a.Nb(b);if(void 0!==d)switch(b){case 7:case 0:case 1:case 2:case 3:case 4:case 5:case 6:c=2;break;case 8:case 9:case 10:case 11:case 12:case 13:case 14:c=4}return c?t(d,c):"??"}
l.Nb=function(a){var b;if(0<=a){var c=this.b;switch(a){case 7:b=c.i;break;case 0:b=c.S;break;case 1:b=c.T;break;case 8:b=Vc(c);break;case 2:b=c.U;break;case 3:b=c.V;break;case 9:b=Xc(c);break;case 4:b=c.W;break;case 5:b=c.Z;break;case 10:b=J(c);break;case 6:b=c.aa(J(c));break;case 11:b=c.na;break;case 12:b=c.R;break;case 13:b=Tc(c);break;case 14:b=Tc(c)&255|c.i<<8}}return b};
function wf(a,b){b=Ce(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=a.Mb(b,c+1),0<=e&&(b=b.substr(0,c)+vf(a,e)+b.substr(c+1+Oe[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=aa(e),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=Re(a,e))?(d=e+' "'+uf(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=Re(a,e))?(Se(d),d=e+' "'+
uf(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}l.message=function(a,b){b&&(a+=" at "+X(W(this.b.R).F));if(this.ta&1073741824)this.qa.push(a);else if(!this.ka||a!=this.ka)if(this.ka=a,this.ta&-2147483648&&(this.pa(),a+=" (cpu halted)"),this.g(a),this.b){var c=this.b;Lc(c);c.P=0;rc(c)}};
function wf(a,b){b=Ce(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=a.Mb(b,c+1),0<=e&&(b=b.substr(0,c)+vf(a,e)+b.substr(c+1+Oe[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=aa(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=Re(a,e))?(d=e+' "'+uf(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=Re(a,e))?(Se(d),d=e+
' "'+uf(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}l.message=function(a,b){b&&(a+=" at "+X(W(this.b.R).F));if(this.ta&1073741824)this.qa.push(a);else if(!this.ka||a!=this.ka)if(this.ka=a,this.ta&-2147483648&&(this.pa(),a+=" (cpu halted)"),this.g(a),this.b){var c=this.b;Lc(c);c.P=0;rc(c)}};
function ib(a,b,c,d,e,f,h,g){g|=256;null!=f&&(a.ta&g)!=g||a.message(b.cb+"."+(null!=d?"outPort":"inPort")+"("+v(c)+","+(f?f:"unknown")+(null!=d?","+ba(d):"")+")"+(null!=h?": "+ba(h):"")+(null!=e?" at "+X(e):""))}
function Je(a){var b;if(Id(a)){if(!a.L||!a.L.length){a.L=Array(1E3);for(b=0;b<a.L.length;b++)a.L[b]=W();a.fa=0;a.g("instruction history buffer allocated")}if(!a.K||!a.K.length)for(a.K=Array(256),b=0;b<a.K.length;b++)a.K[b]=[b,0]}else a.L&&a.L.length&&a.g("instruction history buffer freed"),a.fa=0,a.L=[],a.K=[]}l.bb=function(a){if(!xf(this))return!1;this.b.bb(a);return!0};
l.kb=function(a,b,c){if(!xf(this))return!1;this.J=0;a||Id(this)&&Jd(this,this.b.R,0);try{var d=this.b.kb(a);0<d&&(this.J+=d,Hc(this.b,d,!0),sc(this.b,d),this.ba++)}catch(e){"number"!=typeof e&&(this.J=0,ob(this.b,e.stack||e.message))}!1!==c&&rc(this.b);this.Ja(b||!1);return 0<this.J};l.pa=function(a){this.b&&this.b.pa(a)};l.Ja=function(a){void 0===a&&(a=!0);this.M=W(this.b.R);a&&1!=this.Y?yf(this):zf(this)};
function xf(a){var b;if(b=a.b&&nb(a.b))b=a.b,b.C.xa?b=!0:(b.g(b.toString()+" not powered"),b=!1);b&&!mb(a.b)?(a=a.b,a.C.error?(a.g(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}l.Ea=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};l.Ia=function(a,b){b&&this.g(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){Je(this);this.ba=this.la=0;this.ka=null;this.J=0;this.M=W(this.b.R);this.C.Aa=!1;Af(this);a||this.Ja()};
l.save=function(){var a=new Uc(this);I(a,0,Te(this.M));I(a,1,Te(this.ca));I(a,2,[this.w,this.P,this.ta]);I(a,3,this.G);return a.data()};l.restore=function(a){var b=0;void 0!==a[2]&&(this.M=Ue(a[b++]),this.ca=Ue(a[b++]),this.w=a[b][0],"string"==typeof this.w&&(this.w=[this.w]),this.P=a[b][1],this.ta|=a[b][2]);a[3]&&(this.G=a[3]);return!0};l.start=function(a,b){this.Y||this.g("running");this.C.Aa=!0;this.nb=a;this.ob=b};
l.stop=function(a,b){if(this.C.Aa){this.C.Aa=!1;this.J=b-this.ob;if(!this.Y){var c="stopped";if(this.J){var d=a-this.nb,e=0<d?Math.round(1E3*this.J/d):0,c=c+" (";Id(this)&&(c+=this.ba+" opcodes, ",this.la-=this.ba,this.ba=0);c+=this.J+" cycles, "+d+" ms, "+e+" hz)"}else kb(this,-2147483648)&&(c+=" (use the 't' command to execute blocked faults)");this.g(c)}this.Ja(!0);this.wb();Af(this,this.b.R)}};function Id(a){return 1<a.I.length||!!a.ia}
l.save=function(){var a=new Uc(this);I(a,0,Te(this.M));I(a,1,Te(this.ca));I(a,2,[this.w,this.P,this.ta]);I(a,3,this.G);return a.data()};l.restore=function(a){var b=0;void 0!==a[2]&&(this.M=Ue(a[b++]),this.ca=Ue(a[b++]),this.w=a[b][0],"string"==typeof this.w&&(this.w=[this.w]),this.P=a[b][1],this.ta|=a[b][2]);a[3]&&(this.G=a[3]);return!0};l.start=function(a,b){this.Y||this.g("running");this.C.Aa=!0;this.nb=a;this.pb=b};
l.stop=function(a,b){if(this.C.Aa){this.C.Aa=!1;this.J=b-this.pb;if(!this.Y){var c="stopped";if(this.J){var d=a-this.nb,e=0<d?Math.round(1E3*this.J/d):0,c=c+" (";Id(this)&&(c+=this.ba+" opcodes, ",this.la-=this.ba,this.ba=0);c+=this.J+" cycles, "+d+" ms, "+e+" hz)"}else kb(this,-2147483648)&&(c+=" (use the 't' command to execute blocked faults)");this.g(c)}this.Ja(!0);this.xb();Af(this,this.b.R)}};function Id(a){return 1<a.I.length||!!a.ia}
function Jd(a,b,c){var d=a.b;if(0<c&&(a.ia&&!--a.ia||ic(a,b,1,a.I)))return!0;0<=c&&a.K.length&&(a.ba++,b=Cb(a.u,b),null!=b&&(a.K[b][1]++,b=a.L[a.fa],b.F=d.R,b.Oa=!1,++a.fa==a.L.length&&(a.fa=0)));return!1}function Jb(a,b,c){a.g("break on input from port "+v(b)+": "+t(c));a.pa(!0)}function Vb(a,b,c){a.g("break on output to port "+v(b)+": "+t(c));a.pa(!0)}
function Ie(a){var b,c;a.I=["bp"];if(void 0!==a.O)for(b=1;b<a.O.length;b++){c=a.O[b];var d=a.u;jc(d.X[Qe(c)>>>d.sa],!1)}a.O=["br"];if(void 0!==a.D)for(b=1;b<a.D.length;b++)c=a.D[b],d=a.u,jc(d.X[Qe(c)>>>d.sa],!0);a.D=["bw"];a.Va=0}l.Za=function(a,b,c){var d=!0;c||Bf(this,a,b,!1,!0);if(a!=this.I){var e=Qe(b);if(-1===e)this.g("invalid address: "+X(b.F)),d=!1;else{var f=this.u;f.X[e>>>f.sa].Za(e&f.u,a==this.D)}}d&&(a.push(b),c?b.Oa=!0:(Cf(this,a,a.length-1,"set"),Je(this)));return d};
function Bf(a,b,c,d,e){var f=!1;c=Qe(c);for(var h=1;h<b.length;h++){var g=b[h];if(c==Qe(g)&&(!d||g.Oa)){f=!0;g.Oa||e||Cf(a,b,h,"cleared");b.splice(h,1);b!=a.I&&(d=a.u,jc(d.X[c>>>d.sa],b==a.D));g.Oa||Je(a);break}}return f}function Df(a,b){for(var c=1;c<b.length;c++)Cf(a,b,c);return b.length-1}function Cf(a,b,c,d){c=b[c];a.g(b[0]+" "+X(c.F)+(d?" "+d:c.Cc?' "'+c.Cc+'"':""))}
function Af(a,b){if(void 0!==b)ic(a,b,1,a.I,!0),a.Y=0;else for(var c=1;c<a.I.length;c++){var d=a.I[c];if(d.Oa){if(!Bf(a,a.I,d,!0))break;c=0}}}
function ic(a,b,c,d,e){var f=!1;if(!a.Va++)for(var h=1;!f&&h<d.length;h++){var g=d[h];if(!e||g.Oa)for(var k=Qe(g),m=0;m<c;m++)if(b+m==k){var p,f=!0;g.Oa&&(Bf(a,d,g,!0),e=!0);if(p=g.Gd){for(var f=!1,q=0;q<p.length;q++)if(!Ef(a,p[q],!0)){if(p[q].indexOf("if")){f=!0;break}for(var x=q+1;x<p.length&&p[x].indexOf("else");x++)q++;if(x==p.length){f=!0;break}}a.b.C.Aa||(f=!0)}if(f){e||Cf(a,d,h,"hit");break}}}a.Va--;return f}
function Ff(a,b,c,d){for(var e=W(b.F),f=a.aa(b,1),h=a.Fa[f],g="",k=(8086!=a.style?Me:Ne)[h[0]],m=h.length-1,p=0,q,x=1;x<=m;x++){var u="";q=h[x];if(void 0!==q&&!(q&16384&&a.style==He)){var r=q&240;if(r){var C=q&15;C?p=C:q|=p;q&61440||(q|=1==x?8192:4096);if(r&32)a:{var u=a,r=q,C=b,y=" ";switch(r&15){case 1:y=t(u.aa(C,1),2);break;case 2:y=t(u.aa(C,1)<<24>>24,4);break;case 3:y=t(u.$a(C,2),4);break;default:u="imm("+v(r)+")";break a}8086==u.style&&r&64?y="["+y+"]":r&16||(y=(u.style==He?"$":"0x")+y);u=y}else r&
16?(u=(q&3840)>>8,r=Oe[u],8086==a.style&&q&64&&(6==u&&(r="HL"),r="["+r+"]"),u=r):r&128&&(u=(f>>3&7).toString());if(!u||!u.length){g="INVALID";break}0<g.length&&(g+=",");g+=u||"???"}}}f="";h=X(e.F)+" ";if(-1!==e.F&&-1!==b.F){do if(f+=t(a.aa(e,1),2),null==e.F)break;while(e.F!=b.F)}h+=la(f,10);h=h+(q&32768?"*":" ")+la(k,7);g&&(h+=" "+g);c&&(h=la(h,40)+";"+c,h=a.b.C.fb?h+("cycles="+Fc(a.b).toString()+" cs="+t(a.b.sb)):h+(null!=d?"="+d.toString():""));return h}
16?(u=(q&3840)>>8,r=Oe[u],8086==a.style&&q&64&&(6==u&&(r="HL"),r="["+r+"]"),u=r):r&128&&(u=(f>>3&7).toString());if(!u||!u.length){g="INVALID";break}0<g.length&&(g+=",");g+=u||"???"}}}f="";h=X(e.F)+" ";if(-1!==e.F&&-1!==b.F){do if(f+=t(a.aa(e,1),2),null==e.F)break;while(e.F!=b.F)}h+=la(f,10);h=h+(q&32768?"*":" ")+la(k,7);g&&(h+=" "+g);c&&(h=la(h,40)+";"+c,h=a.b.C.fb?h+("cycles="+Fc(a.b).toString()+" cs="+t(a.b.tb)):h+(null!=d?"="+d.toString():""));return h}
function Gf(a,b){var c;switch(b){case "IF":c=a.b.ua&512;break;case "SF":c=ed(a.b);break;case "ZF":c=dd(a.b);break;case "AF":c=cd(a.b);break;case "PF":c=bd(a.b);break;case "CF":c=$c(a.b);break;default:c=0}return b.charAt(0)+(c?"1":"0")+" "}function Hf(a,b){return Oe[b]+"="+vf(a,b)+" "}function If(a){return Hf(a,7)+Hf(a,8)+Hf(a,9)+Hf(a,10)+Hf(a,11)+Gf(a,"IF")+Gf(a,"SF")+Gf(a,"ZF")+Gf(a,"AF")+Gf(a,"PF")+Gf(a,"CF")}l.uc=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
function Jf(a,b,c){var d=[],e=Qe(b)>>>0;for(b=0;b<a.G.length;b++){var f=a.G[b],h=f.F>>>0,g=f.Wd;if(e>=h&&e<h+g){e=oa(f.tc,[e-h],a.uc);0<=e?Kf(a,b,e,d):c&&(e=~e,Kf(a,b,e-1,d),Kf(a,b,e,d));break}}return d}function Kf(a,b,c,d){var e={},f=a.G[b].tc,h=0,g=null;0<=c&&c<f.length&&(h=f[c][0],g=f[c][1]);g&&(e=a.G[b].Qa[g],g="."==g.charAt(0)?null:e.l||g);d.push(g);d.push(h);d.push(e.a);d.push(e.c)}
function Lf(a,b){if("?"==b)a.g("frequency commands:"),a.g("\tclear\tclear all frequency counts");else{var c,d=0;if(a.K)if("clear"==b){for(c=0;c<a.K.length;c++)a.K[c]=[c,0];a.g("frequency data cleared");d++}else if(void 0!==b)a.g("unknown frequency command: "+b),d++;else{var e=a.K.slice();e.sort(function(a,b){return b[1]-a[1]});var f=8086!=a.style?Me:Ne;for(c=0;c<e.length;c++){var h=e[c][0],g=e[c][1];g&&(a.g((f[a.Fa[h][0]]+" ").substr(0,5)+" ("+ba(h)+"): "+g+" times"),d++)}}d||a.g("no frequency data available")}}
function Mf(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Fe(a)||a.g("no variables"),!0;if(!c[2])return Fe(a,c[1]);if(!c[3])return delete a.ea[c[1]],!0;var d=Be(a,c[3]);return void 0!==d?(a.ea[c[1]]=d,!0):!1}a.g("invalid assignment:"+b);return!1}
function Nf(a,b,c){var d=null;if(b=Re(a,b,!0)){var e=Jf(a,b,!0);if(e.length){var f,h;e[0]&&(h="",(f=b.F-e[1])&&(h=" + "+v(f)),f=e[0]+" ("+X(e[1])+")"+h,c&&a.g(f),d=f);4<e.length&&e[4]&&(h="",(f=e[5]-b.F)&&(h=" - "+v(f)),f=e[4]+" ("+X(e[5])+")"+h,c&&a.g(f),d||(d=f))}else c&&a.g("no symbols")}return d}
function Of(a,b){switch(b[1]){case "8080":a.style=He;break;case "8086":a.style=8086;break;case "cs":var c;void 0!==b[3]&&(c=+b[3]);switch(b[2]){case "int":a.b.hb=c;break;case "start":a.b.tb=c;break;case "stop":a.b.ib=c;break;default:a.g("unknown cs option");return}void 0!==c&&pc(a.b);a.g("checksums "+(a.b.C.fb?"enabled":"disabled"));return;case "sp":void 0!==b[2]&&(Gc(a.b,+b[2])||a.g("warning: using 1x multiplier, previous target not reached"));a.g("target speed: "+(a.b.ab.toFixed(2)+"Mhz")+" ("+
function Of(a,b){switch(b[1]){case "8080":a.style=He;break;case "8086":a.style=8086;break;case "cs":var c;void 0!==b[3]&&(c=+b[3]);switch(b[2]){case "int":a.b.hb=c;break;case "start":a.b.ub=c;break;case "stop":a.b.ib=c;break;default:a.g("unknown cs option");return}void 0!==c&&pc(a.b);a.g("checksums "+(a.b.C.fb?"enabled":"disabled"));return;case "sp":void 0!==b[2]&&(Gc(a.b,+b[2])||a.g("warning: using 1x multiplier, previous target not reached"));a.g("target speed: "+(a.b.ab.toFixed(2)+"Mhz")+" ("+
a.b.Ra+"x)");return;case "?":a.g("debugger options:");a.g("\t8080\t\tselect 8080-style mnemonics");a.g("\t8086\t\tselect 8086-style mnemonics");a.g("\tcs int #\tset checksum cycle interval to #");a.g("\tcs start #\tset checksum cycle start count to #");a.g("\tcs stop #\tset checksum cycle stop count to #");a.g("\tsp #\t\tset speed multiplier to #");break;default:if(b[1]){a.g("unknown option: "+b[1]);return}}a.g(a.style+"-style mnemonics enabled")}
function yf(a,b){var c;if(b&&"?"==b[1])a.g("register commands:"),a.g("\tr\tdump registers"),a.g("\trx [#]\tset flag or register x to [#]");else{var d=a.b;null==c&&(c=!0);if(null!=b&&1<b.length){var e=b[1],f=null,h=e.indexOf("=");if(0<h)f=e.substr(h+1),e=e.substr(0,h);else if(2<b.length)f=b[2];else{a.g("missing value for "+b[1]);return}var h=!1,g=Be(a,f);if(void 0!==g)switch(h=!0,e.toUpperCase()){case "A":d.i=g&255;break;case "B":d.S=g&255;break;case "BC":d.S=g>>8&255;case "C":d.T=g&255;break;case "D":d.U=
g&255;break;case "DE":d.U=g>>8&255;case "E":d.V=g&255;break;case "H":d.W=g&255;break;case "HL":d.W=g>>8&255;case "L":d.Z=g&255;break;case "SP":d.na=g&65535;break;case "PC":H(d,g);a.M=W(d.R);break;case "PS":Rc(d,g);break;case "PSW":Rc(d,g&255|d.ua&-256);d.i=g>>8;break;case "CF":d.da=g?d.da|256:d.da&255;break;case "PF":g?bd(d)||(d.ga^=1):bd(d)&&(d.ga^=1);break;case "AF":d.ya=g?~d.ga&16|d.ya&-17:d.ga&16|d.ya&-17;break;case "ZF":d.da=g?d.da&-256:d.da|255;break;case "SF":g?ed(d)||(d.ga^=192):ed(d)&&(d.ga^=
192);break;case "IF":d.ua=g?d.ua|512:d.ua&-513;break;default:a.g("unknown register: "+e);return}if(!h){a.g("invalid value: "+f);return}rc(d);a.g("updated registers:")}a.g(If(a));c&&(a.M=W(d.R),zf(a,X(a.M.F)))}}function Pf(a,b){b=ma(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.g(wf(a,c[2])):Be(a,b,!0)}function Qf(a,b,c){var d="t"!=b;c=De(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);Ba(c,function(){return lb(a,!0)&&a.kb(e,d,!1)},function(){rc(a.b);lb(a,!1)})}
function zf(a,b,c,d){if(b=Re(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=Re(a,c,!0);if(!d||d.F<b.F)return;e=d.F-b.F;if(256<e){a.g("range too large");return}d=-1}c=0;for(var f;0<e&&d--;){f=mb(a,!1)||a.Y?a.J:null;var h=null!=f?"cycles":null,g=Jf(a,b),k=b.F;if(g[0]&&d&&(!c&&d||0>g[0].indexOf("+"))){var m=g[0]+":";g[2]&&(m+=" "+g[2]);a.g(m)}g[3]&&(h=g[3],f=null);f=Ff(a,b,h,f);a.g(f);a.M=b;e-=b.F-k;c++}}}
l.Eb=function(a,b,c){if(b)if(a){0>this.j&&this.w.length&&(this.j=0);if(0>this.j||a!=this.w[this.j])this.w.splice(0,0,a),this.j=0;this.j--}else this.P?a="end":a=this.w[this.j+1];b=[];if(a){a=a.toLowerCase().replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var h=a.charAt(f);if('"'==h||"'"==h)e?h==e&&(e=null):e=h;else if(h==c&&!e||!h)b.push(ma(a.substring(d,f))),d=f+1}}return b};
l.Fb=function(a,b,c){if(b)if(a){0>this.j&&this.w.length&&(this.j=0);if(0>this.j||a!=this.w[this.j])this.w.splice(0,0,a),this.j=0;this.j--}else this.P?a="end":a=this.w[this.j+1];b=[];if(a){a=a.toLowerCase().replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var h=a.charAt(f);if('"'==h||"'"==h)e?h==e&&(e=null):e=h;else if(h==c&&!e||!h)b.push(ma(a.substring(d,f))),d=f+1}}return b};
function Ef(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(">> "+b):(a.P&&(a.g("ended assemble at "+X(a.ca.F)),a.M=a.ca,a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.ka=null;if(nb(a)&&0<b.length){a.P&&(b="a "+X(a.ca.F)+" "+b);var f=b.replace(/ +/g," ").split(" ");if(f&&f.length)for(var h=f[0],g=h.charAt(0),k=1;k<h.length;k++){var m=h.charAt(k);if("?"==g||"r"==g||"a">m||"z"<m){f[0]=h.substr(k);f.unshift(h.substr(0,k));break}}switch(f[0].charAt(0)){case "a":var p=Re(a,f[1],!0);if(p)if(a.ca=
p,void 0===f[2])a.g("begin assemble at "+X(p.F)),a.P=!0,rc(a.b);else{var q;a.g("not supported yet");q=[];if(q.length){for(var x=0;x<q.length;x++)a.va(p,q[x],1);a.g(Ff(a,a.ca))}}break;case "b":a:{var u=f[0],r=f[1],C=b;if("?"==r)a.g("breakpoint commands:"),a.g("\tbi [p]\ttoggle break on input port [p]"),a.g("\tbo [p]\ttoggle break on output port [p]"),a.g("\tbp [a]\tset exec breakpoint at addr [a]"),a.g("\tbr [a]\tset read breakpoint at addr [a]"),a.g("\tbw [a]\tset write breakpoint at addr [a]"),a.g("\tbc [a]\tclear breakpoint at addr [a]"),
a.g("\tbl\tlist all breakpoints"),a.g("\tbn [n]\tbreak after [n] instruction(s)");else{var y=u.charAt(1);if("l"==y){var Y=0,Y=Y+Df(a,a.I),Y=Y+Df(a,a.O);(Y+=Df(a,a.D))||a.g("no breakpoints")}else if("n"==y)a.ia=De(a,r),a.g("break after "+a.ia+" instruction(s)");else if(void 0===r)a.g("missing breakpoint address");else{var B=W();if("*"!=r&&(B=Re(a,r,!0),!B))break a;r=v(B.F);"c"==y?null==B.F?(Ie(a),a.g("all breakpoints cleared")):Bf(a,a.I,B)||Bf(a,a.O,B)||Bf(a,a.D,B)||a.g("breakpoint missing: "+X(B.F)):
"i"==y?a.g("breakpoint "+(Fb(a.u,B.F)?"enabled":"cleared")+": port "+r+" (input)"):"o"==y?a.g("breakpoint "+(Kb(a.u,B.F)?"enabled":"cleared")+": port "+r+" (output)"):null!=B.F&&(Ve(a,B,C),"p"==y?a.Za(a.I,B):"r"==y?a.Za(a.O,B):"w"==y?a.Za(a.D,B):a.g("unknown breakpoint command: "+y))}}}break;case "c":a.Ga&&(a.Ga.value="");break;case "d":a:{var R,ca=f[0],Z=f[1],va=f[2],Hb=f[3];if("?"==Z){var Ga="";for(R in tb)a.wa[R]&&(Ga&&(Ga+=","),Ga+=R);Ga+=",state,symbols";a.g("dump memory commands:");a.g("\tdb [a] [#] dump # bytes at address a");
a.g("\tdw [a] [#] dump # words at address a");a.g("\tdd [a] [#] dump # dwords at address a");a.g("\tdh [#] [#] dump # instructions from history");Ga.length&&a.g("dump extension commands:\n\t"+Ga)}else if("state"==Z){var We=Rf(a.B,!0);"console"==va?console.log(We):(a.Ga&&(a.Ga.value=""),a.g(We))}else if("symbols"==Z)for(var nd=0;nd<a.G.length;nd++){var od=a.G[nd],pb;for(pb in od.Qa)if("."!=pb.charAt(0)){var Xe=od.Qa[pb].o;if(void 0!==Xe){var Ye=od.Qa[pb].l;Ye&&(pb=Ye);a.g(X(Xe)+" "+pb)}}}else{if("d"==
ca){for(R in tb)if(f[1]==R){var Ze=a.wa[R];Ze?(f.shift(),f.shift(),Ze(f)):a.g("no dump registered for "+Z);break a}Z||(ca=a.pb||"db")}else a.pb=ca;if("dh"==ca){var $e=Z,af=va,bf="",cf=0,da=a.fa,Ha=a.L;if(Ha.length){var ia=+$e||a.Wa,qb=+af||10;isNaN(ia)?ia=qb:bf="more ";ia>Ha.length&&(a.g("note: only "+Ha.length+" available"),ia=Ha.length);da-=ia;0>da&&(null==Ha[Ha.length-1].F?(ia=da+ia,da=0):da+=Ha.length);var pd=[];"call"==af&&(qb=1E5,pd=["CALL"]);for(void 0!==$e&&a.g(ia+" instructions earlier:");0<
ca){for(R in tb)if(f[1]==R){var Ze=a.wa[R];Ze?(f.shift(),f.shift(),Ze(f)):a.g("no dump registered for "+Z);break a}Z||(ca=a.rb||"db")}else a.rb=ca;if("dh"==ca){var $e=Z,af=va,bf="",cf=0,da=a.fa,Ha=a.L;if(Ha.length){var ia=+$e||a.Wa,qb=+af||10;isNaN(ia)?ia=qb:bf="more ";ia>Ha.length&&(a.g("note: only "+Ha.length+" available"),ia=Ha.length);da-=ia;0>da&&(null==Ha[Ha.length-1].F?(ia=da+ia,da=0):da+=Ha.length);var pd=[];"call"==af&&(qb=1E5,pd=["CALL"]);for(void 0!==$e&&a.g(ia+" instructions earlier:");0<
qb&&da!=a.fa;){var df=Ha[da++];if(null==df.F)break;var Lb=W(df.F),jg=ia--,ef=Ff(a,Lb,"history",jg);(!pd.length||0<=ef.indexOf(pd[0]))&&a.g(ef);Lb.Lb&&(da+=Lb.Lb,qb-=Lb.Lb,ia-=Lb.Lb);da>=Ha.length&&(da=0);a.Wa=ia;cf++;qb--}}cf||(a.g("no "+bf+"history available"),a.Wa=void 0)}else{var tc=Re(a,Z);if(tc){var uc=0;va&&("l"==va.charAt(0)&&(va=va.substr(1)||Hb),uc=De(a,va)>>>0,65536<uc&&(uc=65536));for(var Ya="",vc="dd"==ca?4:"dw"==ca?2:1,wc=vc*uc||128,kg=wc+15>>4||1;kg--&&0<wc;){var xc=0,qd=0,Mb,Nb="",
rd="",Z=X(tc.F);for(Mb=16;0<Mb&&0<wc;Mb--){var yc=a.aa(tc,1),xc=xc|yc<<(qd++<<3);qd==vc&&(Nb+=t(xc,2*vc),Nb+=1==vc?9==Mb?"-":" ":" ",xc=qd=0);rd+=32<=yc&&128>yc?String.fromCharCode(yc):".";wc--}Ya&&(Ya+="\n");Ya+=Z+" "+Nb+(0==Mb?" "+rd:"")}Ya&&a.g(Ya);a.Ua=tc}}}}break;case "e":if("else"==f[0])break;var zc=1,ff=255,gf=a.aa,hf=a.va;"ew"==f[0]&&(zc=2,ff=65535,gf=a.$a,hf=a.Hb);var jf=zc<<1,kf=f[1];if(null==kf)a.g("edit memory commands:"),a.g("\teb [a] [...] edit bytes at address a"),a.g("\tew [a] [...] edit words at address a");
rd="",Z=X(tc.F);for(Mb=16;0<Mb&&0<wc;Mb--){var yc=a.aa(tc,1),xc=xc|yc<<(qd++<<3);qd==vc&&(Nb+=t(xc,2*vc),Nb+=1==vc?9==Mb?"-":" ":" ",xc=qd=0);rd+=32<=yc&&128>yc?String.fromCharCode(yc):".";wc--}Ya&&(Ya+="\n");Ya+=Z+" "+Nb+(0==Mb?" "+rd:"")}Ya&&a.g(Ya);a.Ua=tc}}}}break;case "e":if("else"==f[0])break;var zc=1,ff=255,gf=a.aa,hf=a.va;"ew"==f[0]&&(zc=2,ff=65535,gf=a.$a,hf=a.Ib);var jf=zc<<1,kf=f[1];if(null==kf)a.g("edit memory commands:"),a.g("\teb [a] [...] edit bytes at address a"),a.g("\tew [a] [...] edit words at address a");
else{var Ac=Re(a,kf);if(Ac)for(var Bc=2;Bc<f.length;Bc++){var Ob=Be(a,f[Bc]);if(void 0===Ob){a.g("unrecognized value: "+f[Bc]);break}Ob&~ff&&a.g("warning: "+t(Ob)+" exceeds "+zc+"-byte value");var lg=gf.call(a,Ac);a.g("changing "+X(Ac.F)+" from "+t(lg,jf,!0)+" to "+t(Ob,jf,!0));hf.call(a,Ac,Ob,zc)}}break;case "f":Lf(a,f[1]);break;case "g":a:{var lf=f[1],mg=b;if(void 0!==lf){var sd=Re(a,lf,!0);if(!sd)break a;Ve(a,sd,mg);a.Za(a.I,sd,!0)}a.bb(!0)||c||a.g("cpu busy or unavailable, run command ignored")}break;
case "h":a:{var td;if(a.C.Aa)td="halting",a.pa();else{if(mb(a,!0))break a;td="already halted"}c||a.g(td)}break;case "i":if("if"==f[0]){var ud;var Pb=b.substr(2),Pb=ma(Pb);Be(a,Pb)?(c||a.g("true: "+Pb),ud=!0):(c||a.g("false: "+Pb),ud=!1);ud||(d=!1);break}if("int"==f[0]){var Cc;var ng=f[1];if(a.b.ua&512){var vd=Be(a,ng);null==vd?Cc=!1:(a.g("requesting interrupt level "+vd),Hd(a.b,vd),Cc=!0)}else a.g("interrupts disabled (use rif=1 to enable)"),Cc=!1;Cc||(d=!1);break}var wd=f[1];if(wd&&"?"!=wd){var xd=
De(a,wd);if(void 0!==xd){var og=Ib(a.u,xd);a.g(v(xd)+": "+ba(og))}}else a.g("input commands:"),a.g("\ti [p]\tread port [p]"),a.g("warning: port accesses can affect hardware state");break;case "k":var pg=f[0];if("?"==f[1])a.g("stack trace commands:"),a.g("\tk\tshow frame addresses"),a.g("\tks\tshow symbol information");else{var yd=0,mf=W(),Qb=W(a.b.na);for(a.g("stack trace for "+X(Qb.F));10>yd;){for(var Za=null,qg=256;65536>Qb.F>>>0;){mf.F=a.$a(Qb,2);if(null==Qb.F||!qg--)break;for(var rg=a,Dc=mf,nf=
null,Rb=Dc.F,of=Rb,zd=1;6>=zd&&Rb;zd++){if(2<zd){Dc.F=Rb;var Ec=Ff(rg,Dc);if(0<=Ec.indexOf("CALL")){var pf=Ec.indexOf(" ");if(Rb+(Ec.indexOf(" ",pf+1)-pf-1)/2==of){nf=Ec;break}}}Rb--}Dc.F=of;if(Za=nf)break}if(!Za||null==Za)break;var qf=null;if("ks"==pg){var rf=Za.match(/[0-9A-F]+$/);rf&&(qf=Nf(a,rf[0]))}Za=la(Za,50)+" ;"+(qf||"stack="+X(Qb.F));a.g(Za);yd++}yd||a.g("no return addresses found")}break;case "l":if("ln"==f[0]){Nf(a,f[1],!0);break}break;case "m":a:{var Ia,Ja=null,O=f[1];"?"==O&&(O=void 0);
if(void 0!==O){var Ta=0;if("all"==O)Ta=1878917119,O=null;else if("on"==O)Ja=!0,O=null;else if("off"==O)Ja=!1,O=null;else{"keys"==O&&(O="key");"kbd"==O&&(O="keyboard");for(Ia in tb)if(O==Ia){Ta=tb[Ia];Ja=!!(a.ta&Ta);break}if(!Ta){a.g("unknown message category: "+O);break a}}if(Ta)if("on"==f[2])a.ta|=Ta,Ja=!0;else if("off"==f[2]&&(a.ta&=~Ta,Ja=!1,1073741824==Ta)){for(var Ad=0;Ad<a.qa.length;Ad++)a.g(a.qa[Ad]);a.qa=[]}}var sg=0,Ua="";for(Ia in tb)if(!O||O==Ia){var tg=!!(a.ta&tb[Ia]);if(null===Ja||Ja==
tg)Ua&&(Ua+=","),++sg%10||(Ua+="\n\t"),"key"==Ia&&(Ia="keys"),Ua+=Ia}void 0===O&&a.g("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.g((null!==Ja?Ja?"messages on: ":"messages off: ":"message categories:\n\t")+(Ua||"none"));Je(a)}break;case "o":var Bd=f[1],ug=f[2];if(Bd&&"?"!=Bd){var Cd=De(a,Bd,"port #"),Dd=De(a,ug);void 0!==Cd&&void 0!==Dd&&(Ub(a.u,Cd,Dd),a.g(v(Cd)+": "+ba(Dd)))}else a.g("output commands:"),a.g("\to [p] [b]\twrite byte [b] to port [p]"),a.g("warning: port accesses can affect hardware state");
break;case "p":if("print"==f[0]){Pf(a,b.substr(5));break}var sf="pr"==f[0]?1:0,vg=1+sf;if(a.Y)a.g("step in progress");else{var Ed=W(a.b.R);switch(a.aa(Ed)){case 205:a.Y=vg,Se(Ed,3)}a.Y?(a.Za(a.I,Ed,!0),a.bb()||(a.B&&a.B.wb(),a.Y=0)):Qf(a,sf?"tr":"t")}break;case "r":if("reset"==b){a.B&&a.B.reset();break}yf(a,f);break;case "s":Of(a,f);break;case "t":Qf(a,f[0],f[1]);break;case "u":zf(a,f[1],f[2],8);break;case "v":if("var"==f[0]){Mf(a,b.substr(3))||(d=!1);break}a.g("PC8080 version 1.30.0 ("+a.b.Ac+",RELEASE"+
(rb?",TYPEDARRAYS":",LONGARRAYS")+")");a.g(ta());break;case "?":if(f[1]){Pf(a,b.substr(1));break}var Sb="commands:",Fd;for(Fd in Le)Sb+="\n"+la(Fd,9)+Le[Fd];Id(a)||(Sb+="\nnote: frequency/history disabled if no exec breakpoints");a.g(Sb);break;default:a.g("unknown command: "+b),d=!1}}}catch(tf){a.g("debugger error: "+(tf.stack||tf.message)),d=!1}return d}function qc(a,b,c){b=a.Eb(b,c);for(var d in b)if(!Ef(a,b[d]))return!1;return!0}
break;case "p":if("print"==f[0]){Pf(a,b.substr(5));break}var sf="pr"==f[0]?1:0,vg=1+sf;if(a.Y)a.g("step in progress");else{var Ed=W(a.b.R);switch(a.aa(Ed)){case 205:a.Y=vg,Se(Ed,3)}a.Y?(a.Za(a.I,Ed,!0),a.bb()||(a.B&&a.B.xb(),a.Y=0)):Qf(a,sf?"tr":"t")}break;case "r":if("reset"==b){a.B&&a.B.reset();break}yf(a,f);break;case "s":Of(a,f);break;case "t":Qf(a,f[0],f[1]);break;case "u":zf(a,f[1],f[2],8);break;case "v":if("var"==f[0]){Mf(a,b.substr(3))||(d=!1);break}a.g("PC8080 version 1.30.0 ("+a.b.Ac+",RELEASE"+
(rb?",TYPEDARRAYS":",LONGARRAYS")+")");a.g(ta());break;case "?":if(f[1]){Pf(a,b.substr(1));break}var Sb="commands:",Fd;for(Fd in Le)Sb+="\n"+la(Fd,9)+Le[Fd];Id(a)||(Sb+="\nnote: frequency/history disabled if no exec breakpoints");a.g(Sb);break;default:a.g("unknown command: "+b),d=!1}}}catch(tf){a.g("debugger error: "+(tf.stack||tf.message)),d=!1}return d}function qc(a,b,c){b=a.Fb(b,c);for(var d in b)if(!Ef(a,b[d]))return!1;return!0}
Ma(function(){for(var a=D(document,"pc8080","debugger"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Ge(d);hb(d,c)}});
function Sf(a,b,c){z.call(this,"Computer",a,Sf,67108864);this.C.xa=!1;Tf(this,b);this.O=nc(this,"autoPower",a);this.w=0;this.ea=a.busWidth||a.buswidth;this.B=Uf;this.L=null;this.K=this.ba=!1;this.fa=nc(this,"url")||"";(Math.random()+.1).toString(36);this.j=Vf(this);if(this.b=gb("CPU",this.id)){this.H=gb("Debugger",this.id);this.G=[];for(b=null;b=vb(this,"Video",b);)this.G.push(b);this.u=new xb({id:this.Ab+".bus",busWidth:this.ea},this.b,this.H);var d,e=eb(this.id);if((this.I=gb("Panel",this.id))&&
function Sf(a,b,c){z.call(this,"Computer",a,Sf,67108864);this.C.xa=!1;Tf(this,b);this.O=nc(this,"autoPower",a);this.w=0;this.ea=a.busWidth||a.buswidth;this.B=Uf;this.L=null;this.K=this.ba=!1;this.fa=nc(this,"url")||"";(Math.random()+.1).toString(36);this.j=Vf(this);if(this.b=gb("CPU",this.id)){this.H=gb("Debugger",this.id);this.G=[];for(b=null;b=vb(this,"Video",b);)this.G.push(b);this.u=new xb({id:this.Bb+".bus",busWidth:this.ea},this.b,this.H);var d,e=eb(this.id);if((this.I=gb("Panel",this.id))&&
this.I.Ga)for(b=0;b<e.length;b++)d=e[b],d.ja=this.I.ja,d.g=this.I.g,d.Ga=this.I.Ga;this.g("PC8080 v1.30.0\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");for(b=0;b<e.length;b++)d=e[b],d.Pa&&d.Pa(this,this.u,this.b,this.H);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.J=d:this.B=parseInt(d,10));var f;if(a=nc(this,"state")||(f=!0,a.state))b=this.P=a,f||(this.K=!0,this.B=Uf),this.B&&(this.M=new Uc(this,"1.30.0"),Wf(this.M)?
b=null:delete this.M);!b&&this.B&&(b=Xf(this))&&(this.K=!0);if(b){var h=this;sa(b,null,!0,function(a,b,c){c?(h.J=null,h.K=!1,h.ja("Unable to load machine state from server (error "+c+(b?": "+ma(b):"")+")")):(h.L=b,h.ba=!0);F(h)})}else F(this);this.N.power||(this.O=!0);!c&&this.O&&Yf(this,this.ub)}else w("Unable to find CPU component")}bb(Sf);var Uf=0;function Tf(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){w(d.message+" ("+c+")")}}a.ca=b}
b=null:delete this.M);!b&&this.B&&(b=Xf(this))&&(this.K=!0);if(b){var h=this;sa(b,null,!0,function(a,b,c){c?(h.J=null,h.K=!1,h.ja("Unable to load machine state from server (error "+c+(b?": "+ma(b):"")+")")):(h.L=b,h.ba=!0);F(h)})}else F(this);this.N.power||(this.O=!0);!c&&this.O&&Yf(this,this.vb)}else w("Unable to find CPU component")}bb(Sf);var Uf=0;function Tf(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){w(d.message+" ("+c+")")}}a.ca=b}
function nc(a,b,c){var d=b.toLowerCase(),d=Va[b]||Va[d];void 0===d&&a.ca&&(d=a.ca[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function Yf(a,b,c){for(var d=eb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!nb(f)){nb(f,function(){Yf(a,b,c)});return}}b.call(a,c)}
function Zf(a,b){var c=new Uc(a,"1.30.0","validate");if(Wf(c)&&$f(c)){var d=ag(c,"timestamp"),e=b?ag(b,"timestamp"):"unknown";d!=e&&(a.ja("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}l=Sf.prototype;
l.ub=function(a){void 0===a&&(a=this.B||(this.L?1:Uf));if(!this.w){this.w++;var b=!1,c=!1;this.Y=!1;var d=this.M||new Uc(this,"1.30.0");if(-1==a)b=!0;else if(a>Uf){if(Wf(d,this.L)){this.D=new Uc(this,"1.30.0","failsafe");Wf(this.D)&&(bg(this,d),a=2,cg(this.D));I(this.D,"timestamp",qa());dg(this.D);var e=this.B&&!this.K;if(1==a||ua("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=$f(d)){var f=ag(d,"code"),h=ag(d,"data");f&&("ok"==f?Wf(d,h):("error"==f&&
l.vb=function(a){void 0===a&&(a=this.B||(this.L?1:Uf));if(!this.w){this.w++;var b=!1,c=!1;this.Y=!1;var d=this.M||new Uc(this,"1.30.0");if(-1==a)b=!0;else if(a>Uf){if(Wf(d,this.L)){this.D=new Uc(this,"1.30.0","failsafe");Wf(this.D)&&(bg(this,d),a=2,cg(this.D));I(this.D,"timestamp",qa());dg(this.D);var e=this.B&&!this.K;if(1==a||ua("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=$f(d)){var f=ag(d,"code"),h=ag(d,"data");f&&("ok"==f?Wf(d,h):("error"==f&&
"no machine state"!=h?(this.ja("Error: "+h),"unable to verify user"==h&&(za("user",""),this.j=null)):this.g(f+": "+h),cg(d),Wf(d)?(c=$f(d),e=!0):c=!1))}e&&Zf(this,c?d:null)}else 2==a&&d.clear()}else Zf(this);delete this.L;delete this.M}e=eb(this.id);for(f=0;f<e.length;f++)h=e[f],h!==this&&h!=this.b&&(c=eg(this,h,d,b,c));b=[d,a,c];-1!=a?Yf(this,this.wc,b):this.wc(b)}};
function eg(a,b,c,d,e){if(!b.C.xa){b.C.xa=!0;if(b.Ea){var f=null;e&&((f=ag(c,b.id))||(f=ag(c,b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.Ea(f,d)&&f&&(w("Unable to restore state for "+b.type),a.P&&!a.ba?(c.clear(),a.B=Uf,window&&window.location.reload()):a.Y=!0,b.Ea(null),e=!1)}if(!d&&b.ec)for(a=b.ec.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
l.wc=function(a){var b=a[0],c=0>a[1];a=a[2];this.ha=!0;this.C.xa=!0;var d=this.N.power;d&&(d.textContent="Shutdown");this.b&&(eg(this,this.b,b,c,a),this.b.rb());this.Y&&(bg(this,b),b.clear());!c&&this.D&&(this.D.clear(),delete this.D);this.w=0};
l.wc=function(a){var b=a[0],c=0>a[1];a=a[2];this.ha=!0;this.C.xa=!0;var d=this.N.power;d&&(d.textContent="Shutdown");this.b&&(eg(this,this.b,b,c,a),this.b.sb());this.Y&&(bg(this,b),b.clear());!c&&this.D&&(this.D.clear(),delete this.D);this.w=0};
function bg(a,b){if(ua("There may be a problem with your PC8080 machine.\n\nTo help us diagnose it, click OK to send this PC8080 machine state to http://www.pcjs.org.")){var c=a.j||"",d=b.toString(),e={app:"PC8080",ver:"1.30.0"};e.url=a.fa;e.user=c;e.type="bug";e.data=d;sa("http://www.pcjs.org/api/v1/report",e,!0)}}
function Rf(a,b,c){var d,e="none";if(a.w)return null;a.w--;var f=new Uc(a,"1.30.0"),h=new Uc(a,"1.30.0","validate"),g=qa();I(h,"timestamp",g);I(f,"timestamp",g);I(f,"version","1.30.0");I(f,"url",window?window.location.href:null);I(f,"browser",ta());a.b&&a.b.Ia&&(c&&a.b.pa(),d=a.b.Ia(b,c),"object"===typeof d&&I(f,a.b.id,d),c&&(a.b.C.xa=!1,!1===d&&(e=null)));for(var g=eb(a.id),k=0;k<g.length;k++){var m=g[k];m.C.xa&&(m.Ia&&(d=m.Ia(b,c),"object"===typeof d&&I(f,m.id,d)),c&&(m.C.xa=!1,!1===d&&(e=null)))}e&&
(c?(g=d=!1,b?(a.j&&fg(a,a.j,f.toString()),dg(h)&&dg(f)||(e=null,d=g=!0)):a.B&&(d=!0,g=3==a.B),d&&f.clear(g)):e=f.toString());c&&(a.C.xa=!1,b=a.N.power)&&(b.textContent="Power");a.w=0;return e}l.reset=function(){this.u&&this.u.reset&&(jb(this,"Resetting "+this.u.type),this.u.reset());for(var a=eb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.u&&c.reset&&(jb(this,"Resetting "+c.type),c.reset())}};
l.start=function(a,b){for(var c=eb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};l.stop=function(a,b){for(var c=eb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};
l.oa=function(a,b,c){var d=this;switch(b){case "power":return this.N[b]=c,c.onclick=function(){d.w||(d.C.xa?Rf(d,!1,!0):Yf(d,d.ub))},!0;case "reset":return this.N[b]=c,c.onclick=function(){if(d.C.xa&&!d.w)if(d.B&&!d.J){var a=ua("Click OK to save changes to this PC8080 machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Rf(d,a,!0);!a&&d.P?window&&window.location.reload():d.ub(Uf)}else d.reset(),d.b&&d.b.rb()},!0;case "save":if(ga()){c.parentNode.removeChild(c);break}this.N[b]=
l.oa=function(a,b,c){var d=this;switch(b){case "power":return this.N[b]=c,c.onclick=function(){d.w||(d.C.xa?Rf(d,!1,!0):Yf(d,d.vb))},!0;case "reset":return this.N[b]=c,c.onclick=function(){if(d.C.xa&&!d.w)if(d.B&&!d.J){var a=ua("Click OK to save changes to this PC8080 machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Rf(d,a,!0);!a&&d.P?window&&window.location.reload():d.vb(Uf)}else d.reset(),d.b&&d.b.sb()},!0;case "save":if(ga()){c.parentNode.removeChild(c);break}this.N[b]=
c;c.onclick=function(){var a=Vf(d,!0);if(a){var b=!!(d.B&&!d.J||d.P),c=Rf(d,b);b?fg(d,a,c):d.ja("Resume disabled, machine state not saved")}};return!0}return!1};
function Vf(a,b){var c=a.j;c||(c=ya("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=gg(a,c))||a.ja("The user ID is invalid."))):b&&a.ja("Browser local storage is not available"));return c}
function gg(a,b){a.j=null;var c=sa(ha()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(za("user",c.data),a.j=c.data)}catch(e){w(e.message+" ("+d+")")}return a.j}function Xf(a){var b=null;a.j&&(b=ha()+"/api/v1/user?req=load&user="+a.j+"&state="+hg(a,"1.30.0"));return b}
function fg(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=hg(a,"1.30.0");d.data=c;b=sa(ha()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.ja("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.ja(c),za("user",""),a.j=null)}}
function vb(a,b,c){a=eb(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}l.wb=function(a){if(this.G.length){var b=0,c=0;!a&&window&&(b=window.scrollX,c=window.scrollY);var d=this.G[0];d.ka&&d.ka.focus();!a&&window&&window.scrollTo(b,c)}};l.Ja=function(a){this.b&&this.b.Ja(a);this.I&&this.I.Ja(a)};
Ma(function(){for(var a=D(document,"pc8080-machine"),b=0;b<a.length;b++)for(var c=a[b],d=A(c),c=D(c,"pc8080","computer"),e=0;e<c.length;e++){var f=c[e],h=A(f),h=new Sf(h,d,!0);hb(h,f);h.O&&Yf(h,h.ub)}});Da.show.push(function(){for(var a=D(document,"pc8080","computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=gb("Computer",c.id))&&c.ha&&!c.C.xa&&c.ub(-1)}});
function vb(a,b,c){a=eb(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}l.xb=function(a){if(this.G.length){var b=0,c=0;!a&&window&&(b=window.scrollX,c=window.scrollY);var d=this.G[0];d.ka&&d.ka.focus();!a&&window&&window.scrollTo(b,c)}};l.Ja=function(a){this.b&&this.b.Ja(a);this.I&&this.I.Ja(a)};
Ma(function(){for(var a=D(document,"pc8080-machine"),b=0;b<a.length;b++)for(var c=a[b],d=A(c),c=D(c,"pc8080","computer"),e=0;e<c.length;e++){var f=c[e],h=A(f),h=new Sf(h,d,!0);hb(h,f);h.O&&Yf(h,h.vb)}});Da.show.push(function(){for(var a=D(document,"pc8080","computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=gb("Computer",c.id))&&c.ha&&!c.C.xa&&c.vb(-1)}});
Da.exit.push(function(){for(var a=D(document,"pc8080","computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=gb("Computer",c.id))&&c.C.xa&&Rf(c,!(!c.B||c.J),!0)}});function Uc(a,b,c){this.id=a.id;this.key=hg(a,b,c);this.H=a.H;cg(this,a.Md)}function hg(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}
Uc.prototype={constructor:Uc,value:function(){return this[this.id]},data:function(){return this[this.id]},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){cg(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 cg(a,b){a[a.id]={};b&&I(a,"parms",b);a.b=!1}function dg(a){var b=!0;if(xa()){var c=JSON.stringify(a[a.id]);za(a.key,c)||(w("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function $f(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){w(c.message||c),b=!1}return b}function Wf(a,b){return b?(a[a.id]=b,a.b=!0):a.b?!0:xa()&&(b=ya(a.key))?(a[a.id]=b,a.b=!0):!1}function ag(a,b){return a[a.id][b]||null}function I(a,b,c){try{a[a.id][b]=c}catch(d){}}var ig=0;

View file

@ -1161,6 +1161,12 @@
<xsl:template match="debugger[not(@ref)]">
<xsl:param name="machine" select="''"/>
<xsl:variable name="base">
<xsl:choose>
<xsl:when test="@base"><xsl:value-of select="@base"/></xsl:when>
<xsl:otherwise>16</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="commands">
<xsl:choose>
<xsl:when test="@commands"><xsl:value-of select="@commands"/></xsl:when>
@ -1176,7 +1182,7 @@
<xsl:call-template name="component">
<xsl:with-param name="machine" select="$machine"/>
<xsl:with-param name="class">debugger</xsl:with-param>
<xsl:with-param name="parms">,commands:'<xsl:value-of select="$commands"/>',messages:'<xsl:value-of select="$messages"/>'</xsl:with-param>
<xsl:with-param name="parms">,base:<xsl:value-of select="$base"/>,commands:'<xsl:value-of select="$commands"/>',messages:'<xsl:value-of select="$messages"/>'</xsl:with-param>
</xsl:call-template>
</xsl:template>

View file

@ -25,8 +25,8 @@ Za.prototype={constructor:Za,parent:null,toString:function(){return this.name?th
this.Na=function(a){this.O(a,this.xd)}),!0;default:return!1}},log:function(){},O:function(){},status:function(a){this.O(this.xd+": "+a)},Na:function(a,b,c){c=c||this.type;b||x((c?c+": ":"")+a)},gc:function(){return this.la.hc=!0},fc:function(a,b){b&&(this.la.hc=!1);return!0}};function y(a,b,c,d,e,f,g){a.ha&&(!0===g?g=0:null==g&&(g=a.wc),sb(a.ha,a,b,c,d,e,f,g))}function z(a,b,c,d){a.ha&&(!0===c||B(a,c|0))&&a.ha.message(b,d)}
function B(a,b){if(a.ha){a===a.ha?b|=0:b=b||a.wc;var c=a.ha.wc&b;return!!b&&c===b||!!(c&a.ha.ol)}return!1}function ub(a,b){if(a.la.gh)return a.la.Te&&(a.la.Te=!1),a.la.gh=!1;if(a.la.error)return a.O(a.toString()+" error"),!1;a.la.Te=b;return a.la.Te}function vb(a,b){a.la.Te&&(b?a.la.gh=!0:void 0===b&&a.O(a.toString()+" busy"));return a.la.Te}function wb(a,b){if(!a.la.error&&(a.la.ready=!1!==b,a.la.ready)){var c=a.xg;a.xg=null;c&&c()}}function xb(a,b){b&&(a.la.ready?b():a.xg=b);return a.la.ready}
function yb(a,b){a.la.error=!0;a.Na(b)}
var zb="undefined"!==typeof ArrayBuffer,Ab={Jg:4,Ic:5,Jd:6,dd:7,ed:8,ib:9,cc:11,dc:12,He:4,Fj:60,Gj:83,yc:3,Vb:9,Mc:16,Ig:1,Kj:19,Mj:28,Oj:16,Nj:21,Lj:37,Ij:2,Hh:9,Jj:5,Hj:33,Jh:10,Ih:8,Sf:3,Rf:15,bk:51,ck:1,dk:2,ek:4,ak:32,Kh:15,gk:15,ab:16,bb:4,ik:11,hk:18,fk:24,ec:4,jk:2,pf:16,kk:17,Ph:18,lk:19,Oh:5,Qh:6,rk:2,qk:8,nk:9,pk:10,mk:10,Rh:10,Sh:10,Qj:80,Sj:144,Pj:86,Rj:154,Uj:101,Wj:165,Tj:107,Vj:171,tk:70,vk:113,sk:76,uk:124,Yj:80,$j:128,Xj:86,Zj:134,Uf:3,Tf:16,Xh:10,Wh:8,wk:51,zc:8,xk:17,yk:36,Sc:11,
zk:16,Ie:10,nd:2,Eh:18,Fh:7,Gh:15,Lh:12,Mh:7,Nh:11,Th:18,Uh:7,Vh:15,Yh:15,Zh:7,$h:13,di:11,ei:7,fi:8,Ak:8,Dk:12,Bk:18,Ck:17,Ek:15,bi:8,ai:20,ci:2,ii:3,Vf:9,hi:5,gi:11,ki:4,ji:17,Fk:11},Bb={Jg:0,Ic:0,Jd:0,dd:0,ed:0,ib:0,cc:1,dc:1,He:3,Fj:14,Gj:16,yc:2,Vb:7,Mc:7,Ig:0,Kj:7,Mj:13,Oj:7,Nj:11,Lj:16,Ij:3,Hh:6,Jj:2,Hj:13,Jh:5,Ih:5,Sf:2,Rf:7,bk:23,ck:0,dk:1,ek:3,ak:17,Kh:7,gk:11,ab:7,bb:3,ik:7,hk:11,fk:15,ec:2,jk:3,pf:7,kk:8,Ph:8,lk:8,Oh:4,Qh:4,rk:2,qk:3,nk:5,pk:2,mk:3,Rh:5,Sh:3,Qj:14,Sj:22,Pj:17,Rj:25,Uj:17,
var zb="undefined"!==typeof ArrayBuffer,Ab={Jg:4,Jc:5,Jd:6,dd:7,ed:8,ib:9,cc:11,dc:12,He:4,Fj:60,Gj:83,yc:3,Vb:9,Nc:16,Ig:1,Kj:19,Mj:28,Oj:16,Nj:21,Lj:37,Ij:2,Hh:9,Jj:5,Hj:33,Jh:10,Ih:8,Sf:3,Rf:15,bk:51,ck:1,dk:2,ek:4,ak:32,Kh:15,gk:15,ab:16,bb:4,ik:11,hk:18,fk:24,ec:4,jk:2,pf:16,kk:17,Ph:18,lk:19,Oh:5,Qh:6,rk:2,qk:8,nk:9,pk:10,mk:10,Rh:10,Sh:10,Qj:80,Sj:144,Pj:86,Rj:154,Uj:101,Wj:165,Tj:107,Vj:171,tk:70,vk:113,sk:76,uk:124,Yj:80,$j:128,Xj:86,Zj:134,Uf:3,Tf:16,Xh:10,Wh:8,wk:51,zc:8,xk:17,yk:36,Sc:11,
zk:16,Ie:10,nd:2,Eh:18,Fh:7,Gh:15,Lh:12,Mh:7,Nh:11,Th:18,Uh:7,Vh:15,Yh:15,Zh:7,$h:13,di:11,ei:7,fi:8,Ak:8,Dk:12,Bk:18,Ck:17,Ek:15,bi:8,ai:20,ci:2,ii:3,Vf:9,hi:5,gi:11,ki:4,ji:17,Fk:11},Bb={Jg:0,Jc:0,Jd:0,dd:0,ed:0,ib:0,cc:1,dc:1,He:3,Fj:14,Gj:16,yc:2,Vb:7,Nc:7,Ig:0,Kj:7,Mj:13,Oj:7,Nj:11,Lj:16,Ij:3,Hh:6,Jj:2,Hj:13,Jh:5,Ih:5,Sf:2,Rf:7,bk:23,ck:0,dk:1,ek:3,ak:17,Kh:7,gk:11,ab:7,bb:3,ik:7,hk:11,fk:15,ec:2,jk:3,pf:7,kk:8,Ph:8,lk:8,Oh:4,Qh:4,rk:2,qk:3,nk:5,pk:2,mk:3,Rh:5,Sh:3,Qj:14,Sj:22,Pj:17,Rj:25,Uj:17,
Wj:25,Tj:20,Vj:28,tk:13,vk:21,sk:16,uk:24,Yj:13,$j:21,Xj:16,Zj:24,Uf:2,Tf:7,Xh:5,Wh:5,wk:19,zc:5,xk:5,yk:17,Sc:3,zk:5,Ie:3,nd:0,Eh:8,Fh:5,Gh:9,Lh:5,Mh:5,Nh:4,Th:5,Uh:5,Vh:4,Yh:7,Zh:5,$h:8,di:3,ei:4,fi:3,Ak:11,Dk:11,Bk:15,Ck:15,Ek:7,bi:5,ai:8,ci:0,ii:2,Vf:6,hi:3,gi:6,ki:3,ji:5,Fk:5},Cb={19:{0:"disk reset",1:"get status",2:"read drive @DL (@CH:@DH:@CL,@AL) into @ES:@BX",3:"write drive @DL (@CH:@DH:@CL,@AL) from @ES:@BX",4:"verify drive @DL (@CH:@DH:@CL,@AL)",5:"format drive @DL using @ES:@BX",8:"read drive @DL parameters",
21:"get drive @DL DASD type",22:"get drive @DL change line status",23:"set drive @DL DASD type",24:"set drive @DL media type"},21:{128:"open device",129:"close device",130:"program termination",131:"wait @CX:@DXus for event",132:"joystick support",133:"SYSREQ pressed",134:"wait @CX:@DXus",135:"move block (@CX words)",136:"get extended memory size",137:"processor to virtual mode",144:"device busy loop",145:"interrupt complete flag set"},33:{0:"terminate program",1:"read character (AL) from stdin with echo",
2:"write character #@DL to stdout",3:"read character (AL) from stdaux",4:"write character #@DL to stdaux",5:"write character #@DL to stdprn",6:"direct console output (input if @DL=FF)",7:"direct console input without echo",8:"read character (AL) from stdin without echo",9:"write string $@DS:@DX to stdout",10:"buffered input (DS:DX)",11:"get stdin status",12:"flush buffer and read stdin",13:"disk reset",14:"select default drive @DL",15:"open file using FCB ^@DS:@DX",16:"close file using FCB ^@DS:@DX",
@ -39,7 +39,7 @@ Wj:25,Tj:20,Vj:28,tk:13,vk:21,sk:16,uk:24,Yj:13,$j:21,Xj:16,Zj:24,Uf:2,Tf:7,Xh:5
93:"critical error information (@AL)",96:"get fully-qualified filename from $@DS:@SI",99:"get lead byte table (@AL)",108:"extended open file $@DS:@SI"},65:{79:"check debugger loaded"}},Db={cpu:1,seg:2,desc:4,tss:8,"int":16,fault:32,bus:64,mem:128,port:256,dma:512,pic:1024,timer:2048,cmos:4096,rtc:8192,8042:16384,chipset:32768,keyboard:65536,key:131072,video:262144,fdc:524288,hdc:1048576,disk:2097152,parallel:4194304,serial:8388608,mouse:16777216,speaker:33554432,computer:67108864,dos:134217728,data:268435456,
log:536870912,warn:1073741824,halt:-2147483648};function Fb(a){Za.call(this,"Panel",a,Fb);this.L=this.V=this.ea=-1}hb(Fb);function Gb(a,b,c,d){this.A=[a,b,c,d];this.B=null;void 0===a&&(this.A[0]=256*Math.random()|0,this.A[1]=256*Math.random()|0,this.A[2]=256*Math.random()|0,this.A[3]=255,this.B=null)}Gb.prototype.toString=function(){this.B||(this.B="#"+t(this.A[0],2)+t(this.A[1],2)+t(this.A[2],2));return this.B};function Hb(a,b,c,d){this.x=a;this.y=b;this.ad=c;this.A=d}
Hb.prototype.contains=function(a,b){return a>=this.x&&a<this.x+this.ad&&b>=this.y&&b<this.y+this.A};function Ib(a,b,c,d){void 0===d&&(d=b>=c>>2);d?(b=new Hb(a.x,a.y,a.ad,a.A*b/c|0),a.y+=b.A,a.A-=b.A):(b=new Hb(a.x,a.y,a.ad*b/c|0,a.A),a.x+=b.ad,a.ad-=b.ad);return b}m=Fb.prototype;m.Pb=function(a,b,c,d){return this.X&&this.X.Pb(a,b,c,d)||this.F&&this.F.Pb(a,b,c,d)||this.B&&this.B.Pb(a,b,c,d)||this.ha&&this.ha.Pb(a,b,c,d)?!0:this.parent.Pb.call(this,a,b,c,d)};
m.Hc=function(a,b,c,d){this.X=a;this.ga=b;this.F=c;this.ha=d;this.B=Jb(a,"Keyboard")};m.gc=function(a,b){b||Kb();return!0};m.fc=function(){return!0};m.he=function(a,b){a.button||(this.ea=b?0:-1,Lb(this,a,b))};m.Jf=function(a){Lb(this,a)};
m.Ic=function(a,b,c,d){this.X=a;this.ga=b;this.F=c;this.ha=d;this.B=Jb(a,"Keyboard")};m.gc=function(a,b){b||Kb();return!0};m.fc=function(){return!0};m.he=function(a,b){a.button||(this.ea=b?0:-1,Lb(this,a,b))};m.Jf=function(a){Lb(this,a)};
function Lb(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.ea||(a.ea=Math.abs(a.L-d)>Math.abs(a.V-b)?1:2),1==a.ea?b=a.V:2==a.ea&&(d=a.L));a.L=d;a.V=b;if(0<=d&&1280>d&&0<=b&&720>b){a:{c=d;if(960>c&&a.A&&a.A.Qe)for(f=0;f<a.A.Qe.length;f++)if(e=a.A.Qe[f],e.contains(c,b)){c-=e.x;b-=e.y;var d=a.A.Bf[f],g=xa(Mb.Gk,a.A.Xg[d.Dl]),f=g*a.ga.Sb,d=(g+d.Td)*a.ga.Sb-1;0<b&&(f+=e.ad*(b-1)*a.ya);f+=c*a.ya;f|=0;
f>d&&(f=d);c=f;break a}c=-1}if(-1!==c&&(c&=-16,c!=a.Ca)){b=c;if(a.context&&a.ia&&a.ka){e=a.ia.width;a.ka.fillStyle="black";a.ka.fillRect(0,360,e,360);Nb(a,378,a.ia,a.ka);a.pa=a.Da.width/24|0;if(null==b)Ob(a,"Mouse over memory to dump");else for(Ob(a,t(b,8,!0),null,0,1),f=1;16>=f;f++){d="";for(g=1;8>=g;g++){var h;h=a.ga;var k=b++;h=h.sa[(k&h.Gb)>>>h.La].re(k&h.A,k);Ob(a,t(h,2),null,1);d+=32<=h&&128>h?String.fromCharCode(h):"."}Ob(a,d,null,0,1)}a.context.drawImage(a.ia,0,360,e,360,a.rb,a.Db,a.Pa,a.cb)}a.Ca=
c}}}m.pd=function(){};function Pb(a,b,c,d){a.A.Bf[a.A.ej++]={Dl:b,Td:c,type:d};return va(Mb,b,c,0,d)}function Nb(a,b,c,d){var e,f=null.style.color,g=a.Oa=10;a.C=g;a.U=b;a.W=a.va=18;e||(e=a.ua||a.va+"px Monaco, Lucida Console, Courier New");a.fa=a.ua=e;c&&(a.Da=c);d&&(a.N=d,a.Fa=f||"white")}
@ -63,16 +63,16 @@ C.prototype={constructor:C,parent:null,ph:function(a){this.Ea=a},save:function()
c){this.sc(a++,b&255,c++);this.sc(a++,b>>8&255,c++);this.sc(a++,b>>16&255,c++);this.sc(a,b>>>24,c)},Fa:function(a){return this.da[a>>2]>>>((a&3)<<3)&255},sb:function(a){var b=a>>2;a=(a&3)<<3;var c=this.da[b]>>a;return 24>a?c&65535:c&255|(this.da[b+1]&255)<<8},$a:function(a){var b=a>>2;a=(a&3)<<3;var c=this.da[b];a&&(c=c>>>a|this.da[b+1]<<32-a);return c},tc:function(a,b){var c=a>>2,d=(a&3)<<3;this.da[c]=this.da[c]&~(255<<d)|b<<d;this.Wa=!0},Cd:function(a,b){var c=a>>2,d=(a&3)<<3;24>d?this.da[c]=this.da[c]&
~(65535<<d)|b<<d:(this.da[c]=this.da[c]&16777215|b<<24,c++,this.da[c]=this.da[c]&-256|b>>8);this.Wa=!0},Wc:function(a,b){var c=a>>2,d=(a&3)<<3;if(d){var e=-1<<d;this.da[c]=this.da[c]&~e|b<<d;c++;this.da[c]=this.da[c]&e|b>>>32-d}else this.da[c]=b;this.Wa=!0},Da:function(a,b){this.ha&&null!=this.Ea&&Hc(this.ha,this.Ea+a)||this.F&&Ic(this.F,b,1,!1);return this.re(a,b)},rb:function(a,b){this.ha&&null!=this.Ea&&Hc(this.ha,this.Ea+a,2)||this.F&&Ic(this.F,b,2,!1);return this.eg(a,b)},Pa:function(a,b){this.ha&&
null!=this.Ea&&Hc(this.ha,this.Ea+a,4)||this.F&&Ic(this.F,b,4,!1);return this.ri(a,b)},kc:function(a,b,c){this.ha&&null!=this.Ea&&Jc(this.ha,this.Ea+a)||this.F&&Ic(this.F,c,1,!0);this.N?this.L(a,b,c):this.xf(a,b,c)},sd:function(a,b,c){this.ha&&null!=this.Ea&&Jc(this.ha,this.Ea+a,2)||this.F&&Ic(this.F,c,2,!0);this.N?this.L(a,b,c):this.yi(a,b,c)},Vc:function(a,b,c){this.ha&&null!=this.Ea&&Jc(this.ha,this.Ea+a,4)||this.F&&Ic(this.F,c,4,!0);this.N?this.L(a,b,c):this.ua(a,b,c)},Ja:function(a,b){this.yb.da[this.A]|=
this.ga;this.zb.da[this.B]|=this.ga;return this.Bd.pc(a,b)},Jb:function(a,b){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.ga;return this.Bd.sf(a,b)},fb:function(a,b){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.ga;return this.Bd.Md(a,b)},Oc:function(a,b,c){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.V;this.Bd.sc(a,b,c)},Gd:function(a,b,c){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.V;this.Bd.zf(a,b,c)},hd:function(a,b,c){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=
this.ga;this.zb.da[this.B]|=this.ga;return this.Bd.pc(a,b)},Jb:function(a,b){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.ga;return this.Bd.sf(a,b)},fb:function(a,b){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.ga;return this.Bd.Md(a,b)},Cc:function(a,b,c){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.V;this.Bd.sc(a,b,c)},Gd:function(a,b,c){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.V;this.Bd.zf(a,b,c)},hd:function(a,b,c){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=
this.V;this.Bd.yf(a,b,c)},Ka:function(a,b){return Kc(this.F,b,!1).pc(a,b)},xd:function(a,b){return Kc(this.F,b,!1).sf(a,b)},gb:function(a,b){return Kc(this.F,b,!1).Md(a,b)},Uc:function(a,b,c){Kc(this.F,c,!0).sc(a,b,c)},Hd:function(a,b,c){Kc(this.F,c,!0).zf(a,b,c)},jd:function(a,b,c){Kc(this.F,c,!0).yf(a,b,c)},Ca:function(a){return this.Ya[a]},aa:function(a){return this.Ya[a]},Ga:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.pc=this.aa;return this.Ya[a]},Tb:function(a){return this.qa.getUint16(a,
!0)},pa:function(a){return a&1?this.Ya[a]|this.Ya[a+1]<<8:this.de[a>>1]},Db:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.sf=this.pa;return a&1?this.Ya[a]|this.Ya[a+1]<<8:this.de[a>>1]},Oa:function(a){return this.qa.getInt32(a,!0)},fa:function(a){return a&3?this.Ya[a]|this.Ya[a+1]<<8|this.Ya[a+2]<<16|this.Ya[a+3]<<24:this.da[a>>2]},cb:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.Md=this.fa;return a&3?this.Ya[a]|this.Ya[a+1]<<8|this.Ya[a+2]<<16|this.Ya[a+3]<<24:this.da[a>>
2]},Ub:function(a,b){this.Ya[a]=b;this.Wa=!0},ra:function(a,b){this.Ya[a]=b;this.Wa=!0},uc:function(a,b){this.Ya[a]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.sc=this.ra;this.Bd.Wa=!0},qd:function(a,b){this.qa.setUint16(a,b,!0);this.Wa=!0},ya:function(a,b){a&1?(this.Ya[a]=b,this.Ya[a+1]=b>>8):this.de[a>>1]=b;this.Wa=!0},Fd:function(a,b){a&1?(this.Ya[a]=b,this.Ya[a+1]=b>>8):this.de[a>>1]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.zf=this.ya;this.Bd.Wa=!0},ce:function(a,b){this.qa.setInt32(a,
b,!0);this.Wa=!0},va:function(a,b){a&3?(this.Ya[a]=b,this.Ya[a+1]=b>>8,this.Ya[a+2]=b>>16,this.Ya[a+3]=b>>24):this.da[a>>2]=b;this.Wa=!0},Xc:function(a,b){a&3?(this.Ya[a]=b,this.Ya[a+1]=b>>8,this.Ya[a+2]=b>>16,this.Ya[a+3]=b>>24):this.da[a>>2]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.yf=this.va;this.Bd.Wa=!0}};function Rb(a,b,c){a.ha=b;a.Ve=a.We=0;c&&(c.F&&(a.F=c.F),(a.Ve=c.Ve)&&Ec(a,Fc,!1),(a.We=c.We)&&Gc(a,Fc,!1))}
function Lc(a,b){b?0===--a.We&&(a.sc=a.N?a.L:a.xf,a.zf=a.N?a.W:a.yi,a.yf=a.N?a.U:a.ua):0===--a.Ve&&(a.pc=a.re,a.sf=a.eg,a.Md=a.ri)}function Gc(a,b,c){c&&a.We||(a.sc=!a.N&&b[3]||a.L,a.zf=!a.N&&b[4]||a.W,a.yf=!a.N&&b[5]||a.U);if(c||void 0===c)a.xf=b[3]||a.L,a.yi=b[4]||a.W,a.ua=b[5]||a.U}function Ec(a,b,c){c&&a.Ve||(a.pc=b[0]||a.ia,a.sf=b[1]||a.ka,a.Md=b[2]||a.ea);if(c||void 0===c)a.re=b[0]||a.ia,a.eg=b[1]||a.ka,a.ri=b[2]||a.ea}
function dc(a,b,c){b||(b=5==a.type?Mc:6==a.type?Nc:Oc);Ec(a,b,c);Gc(a,b,c)}var Oc=[],jc=[C.prototype.Fa,C.prototype.sb,C.prototype.$a,C.prototype.tc,C.prototype.Cd,C.prototype.Wc],Fc=[C.prototype.Da,C.prototype.rb,C.prototype.Pa,C.prototype.kc,C.prototype.sd,C.prototype.Vc],Nc=[C.prototype.Ja,C.prototype.Jb,C.prototype.fb,C.prototype.Oc,C.prototype.Gd,C.prototype.hd],Mc=[C.prototype.Ka,C.prototype.xd,C.prototype.gb,C.prototype.Uc,C.prototype.Hd,C.prototype.jd];
function dc(a,b,c){b||(b=5==a.type?Mc:6==a.type?Nc:Oc);Ec(a,b,c);Gc(a,b,c)}var Oc=[],jc=[C.prototype.Fa,C.prototype.sb,C.prototype.$a,C.prototype.tc,C.prototype.Cd,C.prototype.Wc],Fc=[C.prototype.Da,C.prototype.rb,C.prototype.Pa,C.prototype.kc,C.prototype.sd,C.prototype.Vc],Nc=[C.prototype.Ja,C.prototype.Jb,C.prototype.fb,C.prototype.Cc,C.prototype.Gd,C.prototype.hd],Mc=[C.prototype.Ka,C.prototype.xd,C.prototype.gb,C.prototype.Uc,C.prototype.Hd,C.prototype.jd];
if(zb)var ic=[C.prototype.Ca,C.prototype.Tb,C.prototype.Oa,C.prototype.Ub,C.prototype.qd,C.prototype.ce],hc=[C.prototype.aa,C.prototype.pa,C.prototype.fa,C.prototype.ra,C.prototype.ya,C.prototype.va],Pc=[C.prototype.Ga,C.prototype.Db,C.prototype.cb,C.prototype.uc,C.prototype.Fd,C.prototype.Xc];
function Qc(a,b){Za.call(this,"CPU",a,Qc,1);var c=a.cycles||b,d=a.multiplier||1;this.Y={};this.Y.Id=c;this.Y.Wd=d;this.Y.zg=Math.round(this.Y.Id/1E4)/100;this.Y.Fe=this.Y.zg*this.Y.Wd;this.la.Ib=!1;this.la.xi=!1;this.la.Cf=a.autoStart;this.la.nj=!1;this.la.Ye=!1;this.Y.Kf=this.Y.lf=0;this.Y.Lf=a.csStart;this.Y.kf=a.csInterval;this.Y.mf=a.csStop;this.zi=this.Le.bind(this);wb(this)}hb(Qc);var Rc=["power","reset"];m=Qc.prototype;
m.Hc=function(a,b,c,d){this.X=a;this.ga=b;this.ha=d;for(b=0;b<Rc.length;b++)(c=this.qa[Rc[b]])&&this.X.Pb(null,Rc[b],c);this.Tb=Jb(a,"FPU");this.N=Jb(a,"ChipSet");a=Tc(a,"autoStart");null!=a&&(this.la.Cf="true"==a?!0:"false"==a?!1:!!a);wb(this)};m.reset=function(){};m.save=function(){return null};m.restore=function(){return!1};
m.Ic=function(a,b,c,d){this.X=a;this.ga=b;this.ha=d;for(b=0;b<Rc.length;b++)(c=this.qa[Rc[b]])&&this.X.Pb(null,Rc[b],c);this.Tb=Jb(a,"FPU");this.N=Jb(a,"ChipSet");a=Tc(a,"autoStart");null!=a&&(this.la.Cf="true"==a?!0:"false"==a?!1:!!a);wb(this)};m.reset=function(){};m.save=function(){return null};m.restore=function(){return!1};
m.gc=function(a,b){if(!b){if(a&&this.restore){Uc(this);if(!this.restore(a))return!1;Xc(this)}else this.reset();this.ha?this.ha.ph():this.O("No debugger detected")}Yc(this);return!0};m.fc=function(a){return a?this.save():!0};m.Cf=function(){return this.la.Cf||!this.ha&&void 0===this.qa.run?(this.Le(!0),!0):!1};m.uj=function(){return 0};
function Xc(a){void 0===a.Y.Lf&&(a.Y.Lf=0);void 0===a.Y.kf&&(a.Y.kf=-1);void 0===a.Y.mf&&(a.Y.mf=-1);a.la.Ye=0<=a.Y.Lf&&0<a.Y.kf;a.la.Ye&&(a.Y.Kf=0,a.Y.lf=a.Y.Lf-a.uc)}function Zc(a,b){if(a.la.Ye){var c=!1;a.Y.Kf=a.Y.Kf+a.uj()|0;a.Y.lf-=b;0>=a.Y.lf&&(a.Y.lf+=a.Y.kf,c=!0);0<=a.Y.mf&&a.Y.mf<=$c(a)&&(a.Y.kf=a.Y.mf=-1,Xc(a),a.Wb(),c=!0);c&&a.O($c(a)+" cycles: checksum="+t(a.Y.Kf))}}
m.Pb=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.qa[b]=c;a=!0;break;case "run":this.qa[b]=c;c.onclick=function(){var a;if(a=d.X)if(a=d.X,a.la.hc)a=!0;else{var b=null,c,h=kb(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.la.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.la.hc);c++);c==h.length&&(b=a);x("The "+b.type+" component ("+b.id+") is not "+(b.la.ready?"powered yet":"ready yet"+(b.xg?" (waiting for notification)":""))+".");a=!1}a&&(d.la.Ib?d.Wb(!0):
@ -83,37 +83,37 @@ m.Le=function(a){if(ub(this,!0)){if(!this.la.Ib){ad(this);this.X&&this.X.start(t
($c(d.F,d.ka)-e.vd)/d.gb|0,g=fd(d,0)-f;6==e.mode&&(g-=f);var h=g*d.gb|0;6==e.mode&&(h>>=1);a>h&&(a=h)}var c=a,k=this.N;a=c;if(k.A&&k.A[11]&64){var l=k.ua-$c(k.F,k.ka);0<l&&a>l&&(a=l)}c=a}try{this.wf(c)}catch(r){if("number"!=typeof r)throw r;}var n=this.fb-this.A;this.Ub+=n;this.Y.Of+=n;cd(this,0,!0);Zc(this,n);this.Y.Nf-=n;0>=this.Y.Nf&&(this.Y.Nf+=this.Y.Ej,this.X&&gd(this.X));this.Y.Mf-=n;0>=this.Y.Mf&&(this.Y.Mf+=this.Y.Dj,this.X&&this.X.pd());this.Y.nf-=n;if(0>=this.Y.nf){this.Y.nf+=this.Y.zh;
break}}while(this.la.Ib)}catch(r){this.Wb();Yc(this);this.X&&this.X.stop(sa(),$c(this));ub(this,!1);yb(this,r.stack||r.message);return}c=setTimeout;d=this.zi;this.Y.Ge=sa();e=this.Y.Cj;this.Y.Of&&(e=Math.round(e*this.Y.Of/this.Y.zh));e-=this.Y.Ge-this.Y.Ag;if(f=this.Y.Ge-this.Y.oe)this.Y.ne=Math.round(this.Ub/(10*f))/100,864E5<=f&&(this.uc=0,this.N&&ed(this.N,!0),ad(this));if(0>e||this.Y.ne<this.Y.Fe)-1E3>e&&(this.Y.oe-=e),e=0;this.Y.Ah+=this.Y.Of;this.Y.Ge+=e;c(d,e)}else Yc(this),this.X&&this.X.stop(sa(),
$c(this))};m.wf=function(){return 0};m.Wb=function(a){vb(this,!0);this.fb-=this.A;this.A=0;cd(this,this.Ub);this.Ub=0;if(this.la.Ib){this.la.Ib=!1;this.N&&this.N.stop();var b=this.qa.run;b&&(b.textContent="Run")}this.la.complete=a};function Yc(a,b){a.X&&(gd(a.X,b),a.X.pd(b))}
function hd(a,b,c,d){this.F=a;this.ha=a.ha;this.id=b;this.jc=c||"";this.Z=0;this.Ta=65535;this.Zb=this.Ta+1;this.Lb=this.Fc=this.ext=this.wb=this.type=this.Aa=0;this.Xb=-1;this.ba=this.Nc=2;this.R=this.Ba=65535;this.X=this.th;this.ga=this.hj;this.qa=this.jj;this.A={Z:-1,Aa:0,Ta:0,wb:0,type:0,ext:0,Xb:-1};1==this.id&&(this.Zf=0,this.C=null,this.ef=!1,this.N=Array(32),this.B=[]);id(this,!0,d)}function jd(a,b){a.B.push(b);return[a.B.length,1]}m=hd.prototype;
m.th=function(a){this.Z=a&65535;return this.Aa=this.Z<<4};m.yg=function(a,b){var c,d,e=this.F;a&=65535;a&4?(c=e.Bc.Aa,d=c+e.Bc.Ta|0):(c=e.Dc,d=e.zd);if(c){c=c+(a&65528)|0;if(d-c|0)return e.A-=15,kd(this,c,a,b);6>this.id&&D.call(e,b&&3==this.id?10:13,a&65532)}return-1};m.Wm=function(a){var b=this.F;a=b.Lc+(a<<2);var c=b.na(a);b.ca&=-769;return this.load(b.na(a+2))+c|0};
m.Vm=function(a){var b=this.F;a<<=3;var c=b.Lc+a|0;if(7<=(b.Sd-c|0))return this.C=!0,a=kd(this,c,a),-1!==a&&(a+=this.Zf),a;D.call(b,13,a|2);return-1};m.hj=function(a){return this.Aa+a|0};m.jj=function(a){return this.Aa+a|0};m.gj=function(a,b){return(a>>>0)+b<=this.Zb?this.Aa+a|0:this.sg()};m.rl=function(a,b){return(a>>>0)+b>this.Zb?this.Aa+a|0:this.sg()};m.sg=function(){D.call(this.F,13,0);return-1};m.ij=function(a,b){return(a>>>0)+b<=this.Zb?this.Aa+a|0:this.tg()};
m.sl=function(a,b){return(a>>>0)+b>this.Zb?this.Aa+a|0:this.tg()};m.tg=function(){D.call(this.F,13,0);return-1};function ld(a,b,c,d,e){a.Z=b;a.Aa=d;a.Ta=e;a.Zb=(e>>>0)+1;a.wb=c;a.type=c&7936;a.ext=c>>16&192;a.Xb=(b&4?a.F.Bc.Aa:a.F.Dc)+(b&65528)|0;4>a.id&&id(a,!0)}function md(a,b,c){var d=a.F,e=d.na(b+2),f=d.na(b)|(e&255)<<16,d=d.na(b+4);a.Z=c;a.Aa=f;a.Ta=d;a.Zb=(d>>>0)+1;a.wb=e;a.type=e&7936;a.ext=0;a.Xb=b;4>a.id&&id(a,!0)}
function kd(a,b,c,d){var e=a.F;if(!d&&c===a.A.Z)return a.Z=c,a.Aa=a.A.Aa,a.Ta=a.A.Ta,a.Zb=(a.A.Ta>>>0)+1,a.wb=a.A.wb,a.type=a.A.type,a.ext=a.A.ext,a.Xb=a.A.Xb,a.A.Z=-1,id(a,!0,!0,!1),a.Aa;a.A.Z=-1;var f=e.na(b+0),g=e.na(b+4),h=g&7936,k=e.na(b+2)|(g&255)<<16,l=e.na(b+6),n=c&65528;if(80386<=e.ja){var r=f,k=k|(l&65280)<<16,f=f|(l&15)<<16;l&128&&(f=f<<12|4095)}switch(a.id){case 1:var q=a.C;a.ef=!1;if(q&&1==c&&a.B.length){var A=a.B[a.Zf-1];if(A&&!A())return-1}var F=c&3,w=(g&24576)>>13,A=-1,E,H;n||b>=e.Dc&&
function hd(a,b,c,d){this.F=a;this.ha=a.ha;this.id=b;this.jc=c||"";this.Z=0;this.Ta=65535;this.Zb=this.Ta+1;this.Lb=this.Gc=this.ext=this.wb=this.type=this.Aa=0;this.Xb=-1;this.ba=this.Oc=2;this.R=this.Ba=65535;this.X=this.th;this.ga=this.hj;this.qa=this.jj;this.A={Z:-1,Aa:0,Ta:0,wb:0,type:0,ext:0,Xb:-1};1==this.id&&(this.Zf=0,this.C=null,this.ef=!1,this.N=Array(32),this.B=[]);id(this,!0,d)}function jd(a,b){a.B.push(b);return[a.B.length,1]}m=hd.prototype;
m.th=function(a){this.Z=a&65535;return this.Aa=this.Z<<4};m.yg=function(a,b){var c,d,e=this.F;a&=65535;a&4?(c=e.Bc.Aa,d=c+e.Bc.Ta|0):(c=e.Ec,d=e.zd);if(c){c=c+(a&65528)|0;if(d-c|0)return e.A-=15,kd(this,c,a,b);6>this.id&&D.call(e,b&&3==this.id?10:13,a&65532)}return-1};m.Wm=function(a){var b=this.F;a=b.Mc+(a<<2);var c=b.na(a);b.ca&=-769;return this.load(b.na(a+2))+c|0};
m.Vm=function(a){var b=this.F;a<<=3;var c=b.Mc+a|0;if(7<=(b.Sd-c|0))return this.C=!0,a=kd(this,c,a),-1!==a&&(a+=this.Zf),a;D.call(b,13,a|2);return-1};m.hj=function(a){return this.Aa+a|0};m.jj=function(a){return this.Aa+a|0};m.gj=function(a,b){return(a>>>0)+b<=this.Zb?this.Aa+a|0:this.sg()};m.rl=function(a,b){return(a>>>0)+b>this.Zb?this.Aa+a|0:this.sg()};m.sg=function(){D.call(this.F,13,0);return-1};m.ij=function(a,b){return(a>>>0)+b<=this.Zb?this.Aa+a|0:this.tg()};
m.sl=function(a,b){return(a>>>0)+b>this.Zb?this.Aa+a|0:this.tg()};m.tg=function(){D.call(this.F,13,0);return-1};function ld(a,b,c,d,e){a.Z=b;a.Aa=d;a.Ta=e;a.Zb=(e>>>0)+1;a.wb=c;a.type=c&7936;a.ext=c>>16&192;a.Xb=(b&4?a.F.Bc.Aa:a.F.Ec)+(b&65528)|0;4>a.id&&id(a,!0)}function md(a,b,c){var d=a.F,e=d.na(b+2),f=d.na(b)|(e&255)<<16,d=d.na(b+4);a.Z=c;a.Aa=f;a.Ta=d;a.Zb=(d>>>0)+1;a.wb=e;a.type=e&7936;a.ext=0;a.Xb=b;4>a.id&&id(a,!0)}
function kd(a,b,c,d){var e=a.F;if(!d&&c===a.A.Z)return a.Z=c,a.Aa=a.A.Aa,a.Ta=a.A.Ta,a.Zb=(a.A.Ta>>>0)+1,a.wb=a.A.wb,a.type=a.A.type,a.ext=a.A.ext,a.Xb=a.A.Xb,a.A.Z=-1,id(a,!0,!0,!1),a.Aa;a.A.Z=-1;var f=e.na(b+0),g=e.na(b+4),h=g&7936,k=e.na(b+2)|(g&255)<<16,l=e.na(b+6),n=c&65528;if(80386<=e.ja){var r=f,k=k|(l&65280)<<16,f=f|(l&15)<<16;l&128&&(f=f<<12|4095)}switch(a.id){case 1:var q=a.C;a.ef=!1;if(q&&1==c&&a.B.length){var A=a.B[a.Zf-1];if(A&&!A())return-1}var F=c&3,w=(g&24576)>>13,A=-1,E,H;n||b>=e.Ec&&
b<e.zd&&(h=0);if(6144<=h)null!=d?A=0:!1!==q?(h&1024?w<=a.Lb&&(A=0):F<=a.Lb&&w==a.Lb&&(A=0),A||(c=c&-4|a.Lb&3)):F>=a.Lb&&(F>a.Lb&&(A=G(e),nd(e,G(e),!0),I(e,A),a.ef=!0),A=0);else{if(256==h||2304==h)return od(a,c,q)?a.Aa:-1;if(1024==h)A=2,H=0,F<a.Lb&&(F=a.Lb);else if(3072==h)A=4,H=0,F<a.Lb&&(F=a.Lb);else if(1536==h)A=2,H=148224;else if(3584==h)A=4,H=148224;else if(1792==h)A=2,H=147712;else if(3840==h)A=4,H=147712;else if(1280==h)return od(a,k&65535,q)?a.Aa:-1}0<A&&!(g&32768)&&(A=0);if(0<A&&(n=a.Lb,E=
b==e.Lc+c,F<=w&&(!E||0<=e.rb||n<=w))){b=k&65535;h&2048&&(f=r|l<<16);l=h=0;d=b&3;if(d<n){if(-1===a.yg(b,!0))return-1;l=e.Sa.Aa;e.Sa.type&2048?(c=(d<<3)+4,k=4):(c=(d<<2)+2,k=2);h=e.na(l+c+k);if(!h)return D.call(e,10,h),-1;if(-1===e.ta.yg(h,!0))return-1;l=2==k?e.na(l+c):e.oa(l+c)}c=e.ca;e.ca&=~H;c&131072&&pd(e,!0,!1);if(-1===a.yg(b,!1))return-1;vd(e,A);a.Zf=f;if(d<n){if(!0!==q)return-1;A=J(e);f=0;for(g&=31;g--;)a.N[f++]=wd(e,e.ta,A),A+=2;q=e.ta.Z;g=J(e);nd(e,h,!0);I(e,l);c&131072&&(vd(e,4),xd(e,e.Ob.Z,
b==e.Mc+c,F<=w&&(!E||0<=e.rb||n<=w))){b=k&65535;h&2048&&(f=r|l<<16);l=h=0;d=b&3;if(d<n){if(-1===a.yg(b,!0))return-1;l=e.Sa.Aa;e.Sa.type&2048?(c=(d<<3)+4,k=4):(c=(d<<2)+2,k=2);h=e.na(l+c+k);if(!h)return D.call(e,10,h),-1;if(-1===e.ta.yg(h,!0))return-1;l=2==k?e.na(l+c):e.oa(l+c)}c=e.ca;e.ca&=~H;c&131072&&pd(e,!0,!1);if(-1===a.yg(b,!1))return-1;vd(e,A);a.Zf=f;if(d<n){if(!0!==q)return-1;A=J(e);f=0;for(g&=31;g--;)a.N[f++]=wd(e,e.ta,A),A+=2;q=e.ta.Z;g=J(e);nd(e,h,!0);I(e,l);c&131072&&(vd(e,4),xd(e,e.Ob.Z,
4,2),e.Ob.load(0),xd(e,e.Nb.Z,4,2),e.Nb.load(0),xd(e,e.vb.Z,4,2),yd(e,0),xd(e,e.Xa.Z,4,2),zd(e,0));xd(e,q,e.ba,2);for(K(e,g);f;)K(e,a.N[--f]);a.ef=!0}return a.Aa}if(0!=A)return D.call(e,13,c&65532|(E?2:0)),-1;if(!(g&32768))return D.call(e,11,c&65532|(E?2:0)),-1;break;case 2:if(n){if(4096>h||2048==(h&2560))return D.call(e,13,c&65532),-1;if(!(g&32768))return D.call(e,11,c&65532),-1}break;case 3:if(!n||4096>h||512!=(h&2560))return D.call(e,13,c&65532),-1;if(!(g&32768))return D.call(e,12,c&65532),-1;
break;case 4:q=h&-513;if(!n||256!=q&&2304!=q)return D.call(e,13,c&65532),-1;2304==q&&(a.Yi=k+e.na(k+100+2)|0,a.ll=k+a.Ta|0);break;case 6:if(!(h&4096)&&768<h&&2304!=h&&2816!=h)return-1}d?(a.A.Z=c,a.A.Aa=k,a.A.Ta=f,a.A.wb=g,a.A.type=h,a.A.ext=l,a.A.Xb=b):(a.Z=c,a.Aa=k,a.Ta=f,a.Zb=(f>>>0)+1,a.wb=g,a.type=h,a.ext=l,a.Xb=b,id(a,!0,!0,!1));return k}
function od(a,b,c){var d=a.F,e=a.Lb,f=d.Sa.Z,g=d.Sa.Aa;if(!c){if(!(d.Sa.type&512))return D.call(d,13,b&65532),!1;d.jb(d.Sa.Xb+4,d.Sa.wb&=-513)}if(-1===d.Sa.load(b))return!1;var h=d.Sa.Aa;if(!1!==c){if(d.Sa.type&512)return D.call(d,13,b&65532),!1;d.jb(d.Sa.Xb+4,d.Sa.wb|=512)}d.Sa.type=d.Sa.type&-513|d.Sa.wb&512;256==d.Sa.type||768==d.Sa.type?(d.jb(g+14,M(d)),d.jb(g+16,Ad(d)),d.jb(g+18,d.G),d.jb(g+20,d.I),d.jb(g+22,d.M),d.jb(g+24,d.H),d.jb(g+26,J(d)),d.jb(g+28,d.P),d.jb(g+30,d.K),d.jb(g+32,d.J),d.jb(g+
34,d.Xa.Z),d.jb(g+36,d.wa.Z),d.jb(g+38,d.ta.Z),d.jb(g+40,d.vb.Z),d.Bc.load(d.na(h+42)),Bd(d,d.na(h+16)|(c?16384:0)),d.G=d.na(h+18),d.I=d.na(h+20),d.M=d.na(h+22),d.H=d.na(h+24),d.P=d.na(h+28),d.K=d.na(h+30),d.J=d.na(h+32),d.Xa.load(d.na(h+34)),d.vb.load(d.na(h+40)),Cd(d,d.na(h+14),d.na(h+36)),b=38,g=26,a.Lb<e&&(g=(a.Lb<<2)+2,b=g+2),nd(d,d.na(h+b),!0),I(d,d.na(h+g))):(d.nb(g+28,d.Od),d.nb(g+32,M(d)),d.nb(g+36,Ad(d)),d.nb(g+40,d.G),d.nb(g+44,d.I),d.nb(g+48,d.M),d.nb(g+52,d.H),d.nb(g+56,J(d)),d.nb(g+
60,d.P),d.nb(g+64,d.K),d.nb(g+68,d.J),d.nb(g+72,d.Xa.Z),d.nb(g+76,d.wa.Z),d.nb(g+80,d.ta.Z),d.nb(g+84,d.vb.Z),d.nb(g+88,d.Nb.Z),d.nb(g+92,d.Ob.Z),Dd.call(d,d.oa(h+28)),d.Bc.load(d.na(h+96)),Bd(d,d.oa(h+36)|(c?16384:0)),d.G=d.oa(h+40),d.I=d.oa(h+44),d.M=d.oa(h+48),d.H=d.oa(h+52),d.P=d.oa(h+60),d.K=d.oa(h+64),d.J=d.oa(h+68),d.Xa.load(d.na(h+72)),d.vb.load(d.na(h+84)),d.Nb.load(d.na(h+88)),d.Ob.load(d.na(h+92)),Cd(d,d.oa(h+32),d.na(h+76)),b=80,g=56,a.Lb<e&&(g=(a.Lb<<3)+4,b=g+4),nd(d,d.na(h+b),!0),I(d,
d.oa(h+g)));c&&d.jb(h+0,f);d.Za|=8;return!0}m.save=function(){return[this.Z,this.Aa,this.Ta,this.wb,this.id,this.jc,this.Lb,this.Fc,this.Xb,this.Nc,this.Ba,this.ba,this.R,this.type,this.Zb]};m.restore=function(a){"number"==typeof a?this.load(a):(this.Z=a[0],this.Aa=a[1],this.Ta=a[2],this.wb=a[3],this.id=a[4],this.jc=a[5],this.Lb=a[6],this.Fc=a[7],this.Xb=a[8],this.Nc=a[9]||2,this.Ba=a[10]||65535,this.ba=a[11]||2,this.R=a[12]||65535,this.type=a[13]||this.wb&7936,this.Zb=a[14]||(this.Ta>>>0)+1)};
function id(a,b,c,d){void 0===c&&(c=!!(a.F.Za&1));a.bd=!1;if(c)if(a.load=a.yg,a.Bj=a.Vm,a.mc=a.gj,a.nc=a.ij,void 0===d&&(d=!!(a.F.ca&131072)),d)a.load=a.X,a.mc=a.ga,a.nc=a.qa,a.Lb=a.Fc=3,a.ba=a.Nc=2,a.R=a.Ba=65535,a.Ta=65535,a.Zb=a.Ta+1,a.Nc=a.ba,a.Xb=-1,a.ef=!1;else{if(!(a.Z&-4))a.mc=a.sg,a.nc=a.tg;else if(a.type&4096){6144==(a.type&6656)&&(a.mc=a.sg);if(a.type&2048||!(a.type&512))a.nc=a.tg;1024==(a.type&3072)&&(a.mc==a.gj&&(a.mc=a.rl),a.nc==a.ij&&(a.nc=a.sl),a.bd=!0);b&&6>a.id&&a.Z&-4&&-1!==a.Xb&&
(c=a.Xb+5,d=a.F.Qa(c),d&1||a.F.qc(c,d|1))}b&&(a.Lb=a.Z&3,a.Fc=(a.wb&24576)>>13,80386>a.F.ja||!(a.ext&64)?(a.ba=2,a.R=65535):(a.ba=4,a.R=-1),a.Nc=a.ba,a.Ba=a.R)}else a.load=a.th,a.Bj=a.Wm,a.mc=a.hj,a.nc=a.jj,a.Lb=a.Fc=0,a.Xb=-1,a.ef=!1}
function Ed(a){this.ja=+a.model||8088;var b=a.stepping;this.Uc=this.ja+(b?ea(b,16):0);b=0;switch(this.ja){default:b=4772727;break;case 80286:b=6E6;break;case 80386:b=16E6}Qc.call(this,a,b);this.$f=61442;this.Oc=1792;this.Yf=28672;this.Cd=4;this.ra=255;this.B=80286<=this.ja?Bb:Ab;this.W=Fd;this.dg=Gd;this.jg=Hd;this.kg=Id;if(80186<=this.ja&&(this.W=Fd.slice(),this.dg=Gd.slice(),this.jg=Hd.slice(),this.ra=31,this.W[15]=Jd,this.W[96]=Kd,this.W[97]=Ld,this.W[98]=Md,this.W[99]=Jd,this.W[100]=Jd,this.W[101]=
Jd,this.W[102]=Jd,this.W[103]=Jd,this.W[104]=Nd,this.W[105]=Od,this.W[106]=Pd,this.W[107]=Qd,this.W[108]=Rd,this.W[109]=Sd,this.W[110]=Td,this.W[111]=Ud,this.W[192]=Vd,this.W[193]=Zd,this.W[200]=$d,this.W[201]=ae,this.W[241]=ge,this.dg[7]=he,this.jg[7]=he,80286<=this.ja)){this.$f=2;this.Oc|=28672;this.Cd=0;this.W[15]=ie;this.tc=je.slice();for(a=0;a<this.tc.length;a++)this.tc[a]||(this.tc[a]=ke);this.W[84]=le;this.W[99]=me;if(80386<=this.ja){var c;this.Yf=0;this.Oc|=196608;this.W[100]=ne;this.W[101]=
d.oa(h+g)));c&&d.jb(h+0,f);d.Za|=8;return!0}m.save=function(){return[this.Z,this.Aa,this.Ta,this.wb,this.id,this.jc,this.Lb,this.Gc,this.Xb,this.Oc,this.Ba,this.ba,this.R,this.type,this.Zb]};m.restore=function(a){"number"==typeof a?this.load(a):(this.Z=a[0],this.Aa=a[1],this.Ta=a[2],this.wb=a[3],this.id=a[4],this.jc=a[5],this.Lb=a[6],this.Gc=a[7],this.Xb=a[8],this.Oc=a[9]||2,this.Ba=a[10]||65535,this.ba=a[11]||2,this.R=a[12]||65535,this.type=a[13]||this.wb&7936,this.Zb=a[14]||(this.Ta>>>0)+1)};
function id(a,b,c,d){void 0===c&&(c=!!(a.F.Za&1));a.bd=!1;if(c)if(a.load=a.yg,a.Bj=a.Vm,a.mc=a.gj,a.nc=a.ij,void 0===d&&(d=!!(a.F.ca&131072)),d)a.load=a.X,a.mc=a.ga,a.nc=a.qa,a.Lb=a.Gc=3,a.ba=a.Oc=2,a.R=a.Ba=65535,a.Ta=65535,a.Zb=a.Ta+1,a.Oc=a.ba,a.Xb=-1,a.ef=!1;else{if(!(a.Z&-4))a.mc=a.sg,a.nc=a.tg;else if(a.type&4096){6144==(a.type&6656)&&(a.mc=a.sg);if(a.type&2048||!(a.type&512))a.nc=a.tg;1024==(a.type&3072)&&(a.mc==a.gj&&(a.mc=a.rl),a.nc==a.ij&&(a.nc=a.sl),a.bd=!0);b&&6>a.id&&a.Z&-4&&-1!==a.Xb&&
(c=a.Xb+5,d=a.F.Qa(c),d&1||a.F.qc(c,d|1))}b&&(a.Lb=a.Z&3,a.Gc=(a.wb&24576)>>13,80386>a.F.ja||!(a.ext&64)?(a.ba=2,a.R=65535):(a.ba=4,a.R=-1),a.Oc=a.ba,a.Ba=a.R)}else a.load=a.th,a.Bj=a.Wm,a.mc=a.hj,a.nc=a.jj,a.Lb=a.Gc=0,a.Xb=-1,a.ef=!1}
function Ed(a){this.ja=+a.model||8088;var b=a.stepping;this.Uc=this.ja+(b?ea(b,16):0);b=0;switch(this.ja){default:b=4772727;break;case 80286:b=6E6;break;case 80386:b=16E6}Qc.call(this,a,b);this.$f=61442;this.Cc=1792;this.Yf=28672;this.Cd=4;this.ra=255;this.B=80286<=this.ja?Bb:Ab;this.W=Fd;this.dg=Gd;this.jg=Hd;this.kg=Id;if(80186<=this.ja&&(this.W=Fd.slice(),this.dg=Gd.slice(),this.jg=Hd.slice(),this.ra=31,this.W[15]=Jd,this.W[96]=Kd,this.W[97]=Ld,this.W[98]=Md,this.W[99]=Jd,this.W[100]=Jd,this.W[101]=
Jd,this.W[102]=Jd,this.W[103]=Jd,this.W[104]=Nd,this.W[105]=Od,this.W[106]=Pd,this.W[107]=Qd,this.W[108]=Rd,this.W[109]=Sd,this.W[110]=Td,this.W[111]=Ud,this.W[192]=Vd,this.W[193]=Zd,this.W[200]=$d,this.W[201]=ae,this.W[241]=ge,this.dg[7]=he,this.jg[7]=he,80286<=this.ja)){this.$f=2;this.Cc|=28672;this.Cd=0;this.W[15]=ie;this.tc=je.slice();for(a=0;a<this.tc.length;a++)this.tc[a]||(this.tc[a]=ke);this.W[84]=le;this.W[99]=me;if(80386<=this.ja){var c;this.Yf=0;this.Cc|=196608;this.W[100]=ne;this.W[101]=
oe;this.W[102]=pe;this.W[103]=qe;for(c in N)this.tc[+c]=N[+c];80546<=this.Uc&&80562>=this.Uc&&(this.tc[166]=re,this.tc[167]=se)}}this.Hd=[];this.je=[];this.le=0;Uc(this);this.la.complete=this.la.mj=!1;this.Vg=0;this.kd=this.sa=[];this.La=this.Sb=this.Fa=this.Fd=this.hd=this.Gb=this.Db=0;te(this)}hb(Ed,Qc);function ue(a,b,c,d){Lc((d?a.kd:a.sa)[b>>>a.La],c);d&&$b(a)}
function ve(a){var b;if(a.sa===a.kd){a.sa=Array(a.Fd);a.ke=new C(null,0,0,5,null,a);Rb(a.ke,a.ha);for(b=0;b<a.Fd;b++)a.sa[b]=a.ke;a.jd=new C;a.cg=Array(512);a.me=0}else for(var c=0;c<a.Gd.length;c++){b=a.Gd[c];var d=a.sa[b];512>a.me&&(a.cg[a.me++]=d);a.sa[b]=a.ke}a.Gd=[]}function $b(a){a.Za&-2147483648&&ve(a)}
function Kc(a,b,c,d){var e=(b&-4194304)>>>20,f=a.kd[(a.Od+e&a.Gb)>>>a.La],g=f.Md(e);if(!(g&1))return d||we.call(a,b,!1,c),a.jd;if(!(g&4)&&3==a.pa)return d||we.call(a,b,!0,c),a.jd;var h=(b&4190208)>>>10,g=a.kd[((g&-4096)+h&a.Gb)>>>a.La],k=g.Md(h);if(!(k&1))return d||we.call(a,b,!1,c),a.jd;if(!(k&4)&&3==a.pa)return d||we.call(a,b,!0,c),a.jd;c=a.kd[((k&-4096)+(b&4095)&a.Gb)>>>a.La];if(d)return c;d=b>>>a.La;k=a.sa[d];b=b&-4096;var l;0<a.me?(l=a.cg[--a.me],l.ph(b)):l=new C(b,0,0,6);b=l;b.Bd=c;b.yb=f;b.A=
e>>2;b.zb=g;b.B=h>>2;zb&&gc&&c.da&&!c.controller&&!c.Ve&&!c.We?(b.Ya=c.Ya,b.de=c.de,b.da=c.da,dc(b,Pc)):(b.ga=c?Dc(32):0,b.V=c?Dc(96):0,dc(b,Nc));Rb(b,a.ha,k);a.sa[d]=b;a.Gd.push(d);return b}function xe(a){a.sa!==a.kd&&(a.sa=a.kd,a.ke=null,a.Gd=null,a.jd=null)}m=Ed.prototype;m.reset=function(){this.la.Ib&&this.Wb();te(this);Uc(this);this.la.error=!1};
function ye(a,b){var c;switch(b){case 0:c=a.G;break;case 1:c=a.I;break;case 2:c=a.M;break;case 3:c=a.H;break;case 4:c=J(a);break;case 5:c=a.P;break;case 6:c=a.K;break;case 7:c=a.J}return c}function ze(a,b,c){switch(b){case 0:a.G=c;break;case 1:a.I=c;break;case 2:a.M=c;break;case 3:a.H=c;break;case 4:I(a,c);break;case 5:a.P=c;break;case 6:a.K=c;break;case 7:a.J=c}}
function te(a){a.G=0;a.H=0;a.I=0;a.M=0;a.gb=0;a.P=0;a.K=0;a.J=0;a.cb=!1;a.ia=a.va=0;a.aa=0;a.lg=0;a.L=0;a.Za=65520;a.Lc=0;a.Sd=1023;a.ca=a.Pa=0;a.Wc=a.sd=a.Vc=a.Xc=0;a.rb=-1;a.kc=a.sb=-1;a.qe=a.U=-1;a.wa=new hd(a,1,"CS");a.vb=new hd(a,2,"DS");a.Xa=new hd(a,2,"ES");a.ta=new hd(a,3,"SS");I(a,0);nd(a,0);if(80386<=a.ja){switch(a.Uc){case 80562:case 80563:a.M=771;break;case 80578:a.M=772;break;case 80594:a.M=773;break;case 80595:case 80596:a.M=776}a.Za=16;a.si=0;a.se=0;a.Od=0;a.Ja=[0,0,0,0,null,null,0,
0];a.Ce=[null,null,null,null,null,null,0,0];a.Nb=new hd(a,2,"FS");a.Ob=new hd(a,2,"GS");xe(a)}a.rf=new hd(a,0,"NULL");a.ka=a.vb;a.Ka=a.ta;a.S=a.Ia=0;a.D=a.C=-1;a.$b=a.rf;a.ua=0;if(80286>a.ja)Cd(a,0,65535);else{a.Dc=0;a.zd=65535;a.Bc=new hd(a,5,"LDT",!0);a.Sa=new hd(a,4,"TSS",!0);a.Da=new hd(a,6,"VER",!0);Cd(a,65520,61440);var b,c=M(a);b=a.wa;var d=-65536;80386>b.F.ja&&(d&=16777215);b=b.Aa=d;a.Ha=b+c|0;a.jf=(b>>>0)+(a.wa.Ta>>>0)+1}Bd(a,0);pd(a)}
function Ae(a){2==a.Nc?(a.bc=a.na,a.Oa=Be,a.$a=Ce,a.Jb=De,2==a.ba?(a.V=Ee,a.ea=Fe,a.ya=Ge):(a.V=He,a.ea=Ie,a.ya=Le)):(a.bc=a.oa,a.Oa=Me,a.$a=Ne,a.Jb=Oe,2==a.ba?(a.V=Pe,a.ea=Qe,a.ya=Re):(a.V=Se,a.ea=Te,a.ya=df))}function vd(a,b){a.ba!=b&&(a.Ia|=1024,a.ba=b,a.R=2==b?65535:-1,ef(a))}function ef(a){2==a.ba?(a.Ga=32768,a.tb=a.na,a.rc=a.jb,2==a.Nc?(a.V=Ee,a.ea=Fe,a.ya=Ge):(a.V=Pe,a.ea=Qe,a.ya=Re)):(a.Ga=-2147483648,a.tb=a.oa,a.rc=a.nb,2==a.Nc?(a.V=He,a.ea=Ie,a.ya=Le):(a.V=Se,a.ea=Te,a.ya=df))}
function ff(a){a.Nc=a.wa.Nc;a.Ba=a.wa.Ba;Ae(a);a.ba=a.wa.ba;a.R=a.wa.R;ef(a);a.Ia&=-3073}m.uj=function(){var a=this.G+this.H+this.I+this.M+J(this)+this.P+this.K+this.J|0;return a=a+M(this)+this.wa.Z+this.vb.Z+this.ta.Z+this.Xa.Z+Ad(this)|0};function gf(a,b,c){void 0===a.Hd[b]&&(a.Hd[b]=[]);a.Hd[b].push(c)}function hf(a,b,c){void 0!==c&&(null==a.je[b]&&a.le++,a.je[b]=c)}function jf(a,b){var c=a.je[b];null!=c&&(c(--a.le),delete a.je[b])}
function te(a){a.G=0;a.H=0;a.I=0;a.M=0;a.gb=0;a.P=0;a.K=0;a.J=0;a.cb=!1;a.ia=a.va=0;a.aa=0;a.lg=0;a.L=0;a.Za=65520;a.Mc=0;a.Sd=1023;a.ca=a.Pa=0;a.Wc=a.sd=a.Vc=a.Xc=0;a.rb=-1;a.kc=a.sb=-1;a.qe=a.U=-1;a.wa=new hd(a,1,"CS");a.vb=new hd(a,2,"DS");a.Xa=new hd(a,2,"ES");a.ta=new hd(a,3,"SS");I(a,0);nd(a,0);if(80386<=a.ja){switch(a.Uc){case 80562:case 80563:a.M=771;break;case 80578:a.M=772;break;case 80594:a.M=773;break;case 80595:case 80596:a.M=776}a.Za=16;a.si=0;a.se=0;a.Od=0;a.Ja=[0,0,0,0,null,null,0,
0];a.Ce=[null,null,null,null,null,null,0,0];a.Nb=new hd(a,2,"FS");a.Ob=new hd(a,2,"GS");xe(a)}a.rf=new hd(a,0,"NULL");a.ka=a.vb;a.Ka=a.ta;a.S=a.Ia=0;a.D=a.C=-1;a.$b=a.rf;a.ua=0;if(80286>a.ja)Cd(a,0,65535);else{a.Ec=0;a.zd=65535;a.Bc=new hd(a,5,"LDT",!0);a.Sa=new hd(a,4,"TSS",!0);a.Da=new hd(a,6,"VER",!0);Cd(a,65520,61440);var b,c=M(a);b=a.wa;var d=-65536;80386>b.F.ja&&(d&=16777215);b=b.Aa=d;a.Ha=b+c|0;a.jf=(b>>>0)+(a.wa.Ta>>>0)+1}Bd(a,0);pd(a)}
function Ae(a){2==a.Oc?(a.bc=a.na,a.Oa=Be,a.$a=Ce,a.Jb=De,2==a.ba?(a.V=Ee,a.ea=Fe,a.ya=Ge):(a.V=He,a.ea=Ie,a.ya=Le)):(a.bc=a.oa,a.Oa=Me,a.$a=Ne,a.Jb=Oe,2==a.ba?(a.V=Pe,a.ea=Qe,a.ya=Re):(a.V=Se,a.ea=Te,a.ya=df))}function vd(a,b){a.ba!=b&&(a.Ia|=1024,a.ba=b,a.R=2==b?65535:-1,ef(a))}function ef(a){2==a.ba?(a.Ga=32768,a.tb=a.na,a.rc=a.jb,2==a.Oc?(a.V=Ee,a.ea=Fe,a.ya=Ge):(a.V=Pe,a.ea=Qe,a.ya=Re)):(a.Ga=-2147483648,a.tb=a.oa,a.rc=a.nb,2==a.Oc?(a.V=He,a.ea=Ie,a.ya=Le):(a.V=Se,a.ea=Te,a.ya=df))}
function ff(a){a.Oc=a.wa.Oc;a.Ba=a.wa.Ba;Ae(a);a.ba=a.wa.ba;a.R=a.wa.R;ef(a);a.Ia&=-3073}m.uj=function(){var a=this.G+this.H+this.I+this.M+J(this)+this.P+this.K+this.J|0;return a=a+M(this)+this.wa.Z+this.vb.Z+this.ta.Z+this.Xa.Z+Ad(this)|0};function gf(a,b,c){void 0===a.Hd[b]&&(a.Hd[b]=[]);a.Hd[b].push(c)}function hf(a,b,c){void 0!==c&&(null==a.je[b]&&a.le++,a.je[b]=c)}function jf(a,b){var c=a.je[b];null!=c&&(c(--a.le),delete a.je[b])}
function kf(a,b){for(var c=a.Ja[7],d=c>>16,e=0;4>e;e++){if(c&3){var f=!!(d&1),g=a.Ja[e],g=g&~(d>>2&3);b?a.sa[g>>>a.La].Rd(g&a.Fa,f,a):Lc(a.sa[g>>>a.La],f)}c>>=2;d>>=4}}function Ic(a,b,c,d){if(!(a.S&8192)&&a.Ja[7]&255){c--;var e=a.Ja[7],f=e>>16;d=d?1:0==d?3:0;for(var g=0;4>g;g++){if(e&3&&(f&3)==d){var h=f>>2;if(b+c>=a.Ja[g]&&b<=a.Ja[g]+h){a.Ja[6]|=1<<g;a.ua|=2;break}}e>>=2;f>>=4}}}
function pd(a,b,c){void 0===b&&(b=!!(a.Za&1));void 0===c&&(c=!!(a.ca&131072));a.kg=b&&!c?lf:Id;id(a.wa,!1,b,c);id(a.vb,!1,b,c);id(a.ta,!1,b,c);id(a.Xa,!1,b,c);80386<=a.ja&&(id(a.Nb,!1,b,c),id(a.Ob,!1,b,c));ff(a)}
m.save=function(){var a=new mf(this);O(a,0,[this.G,this.H,this.I,this.M,J(this),this.P,this.K,this.J]);var b=M(this),c=this.wa.save(),d=this.vb.save(),e=this.ta.save(),f=this.Xa.save(),g;null!=this.Dc?(g=[this.Za,this.Dc,this.zd,this.Lc,this.Sd,this.Bc.save(),this.Sa.save(),this.Pa],80386<=this.ja&&(g.push(this.si),g.push(this.se),g.push(this.Od),g.push(this.Ja),g.push(this.Ce))):g=null;b=[b,c,d,e,f,g,Ad(this)];80386<=this.ja&&(b.push(this.Nb.save()),b.push(this.Ob.save()));O(a,1,b);O(a,2,[this.ka.jc,
m.save=function(){var a=new mf(this);O(a,0,[this.G,this.H,this.I,this.M,J(this),this.P,this.K,this.J]);var b=M(this),c=this.wa.save(),d=this.vb.save(),e=this.ta.save(),f=this.Xa.save(),g;null!=this.Ec?(g=[this.Za,this.Ec,this.zd,this.Mc,this.Sd,this.Bc.save(),this.Sa.save(),this.Pa],80386<=this.ja&&(g.push(this.si),g.push(this.se),g.push(this.Od),g.push(this.Ja),g.push(this.Ce))):g=null;b=[b,c,d,e,f,g,Ad(this)];80386<=this.ja&&(b.push(this.Nb.save()),b.push(this.Ob.save()));O(a,1,b);O(a,2,[this.ka.jc,
this.Ka.jc,this.S,this.Ia,this.ua,this.D,this.C]);O(a,3,[0,this.uc,this.Y.Wd]);b=this.ga;c=!!(this.Za&-2147483648);d=0;e=[];(f=!b.X&&b.Cg==b.Gb)||Wb(b,!0);for(g=0;g<b.U;g++){var h=b.sa[g];if(c&&h.type!=fc||h.Wa||h.sj){e[d++]=g;var k=d++;a:if(h=h.save()){for(var l=0,n=0,r=[];l<h.length;){for(var q=h[l],A=l+1;A<h.length&&h[A]===q;)A++;r[n++]=A-l;r[n++]=q;l=A}if(r.length<h.length){h=r;break a}}e[k]=h}}f||Wb(b,!1);e[d]=f;O(a,4,e);return a.data()};
m.restore=function(a){var b=a[0];this.G=b[0];this.H=b[1];this.I=b[2];this.M=b[3];var c=b[4];this.P=b[5];this.K=b[6];this.J=b[7];b=a[1];this.wa.restore(b[1]);this.vb.restore(b[2]);this.ta.restore(b[3]);this.Xa.restore(b[4]);var d=b[5];d&&d.length&&(this.Za=d[0],this.Dc=d[1],this.zd=d[2],this.Lc=d[3],this.Sd=d[4],this.Bc.restore(d[5]),this.Sa.restore(d[6]),this.Pa=d[7],80386<=this.ja&&(this.si=d[8],this.se=d[9],this.Od=d[10],this.Ja=d[11],this.Ce=d[12]),pd(this));Bd(this,b[6]);var d=!1,e;a:{e=this.ga;
m.restore=function(a){var b=a[0];this.G=b[0];this.H=b[1];this.I=b[2];this.M=b[3];var c=b[4];this.P=b[5];this.K=b[6];this.J=b[7];b=a[1];this.wa.restore(b[1]);this.vb.restore(b[2]);this.ta.restore(b[3]);this.Xa.restore(b[4]);var d=b[5];d&&d.length&&(this.Za=d[0],this.Ec=d[1],this.zd=d[2],this.Mc=d[3],this.Sd=d[4],this.Bc.restore(d[5]),this.Sa.restore(d[6]),this.Pa=d[7],80386<=this.ja&&(this.si=d[8],this.se=d[9],this.Od=d[10],this.Ja=d[11],this.Ce=d[12]),pd(this));Bd(this,b[6]);var d=!1,e;a:{e=this.ga;
var f=a[4],g;for(g=0;g<f.length-1;g+=2){var h=f[g],k=f[g+1];if(k&&k.length<e.fa){for(var l=0,n=Array(e.fa),r=0;r<k.length-1;)for(var q=k[r++],A=k[r++];q--;)n[l++]=A;k=n}l=e.sa[h];if(!l||!l.restore(k)){x("Unable to restore memory block "+h);e=!1;break a}}void 0!==f[g]&&Wb(e,f[g]);e=!0}e&&(Cd(this,b[0],this.wa.Z),I(this,c),nd(this,this.ta.Z),80386<=this.ja&&(this.Nb.restore(b[7]),this.Ob.restore(b[8])),d=!0);b=a[2];this.ka=null!=b[0]&&nf(this,b[0])||this.vb;this.Ka=null!=b[1]&&nf(this,b[1])||this.ta;
this.S=b[2];this.Ia=b[3];this.ua=b[4];this.D=b[5];this.C=b[6];b=a[3];this.uc=b[1];ad(this,b[2]);return d};function nf(a,b){switch(b){case "CS":return a.wa;case "DS":return a.vb;case "SS":return a.ta;case "ES":return a.Xa;case "NULL":return a.rf;default:return[0,b,0,0,""]}}function of(a,b){null!=Cd(a,M(a),b)&&(a.S|=a.Cd)}function yd(a,b){-1!==a.vb.load(b)&&(a.S|=a.Cd)}
function nd(a,b,c){var d=J(a);-1!==a.ta.load(b)&&(I(a,d),a.ta.bd?(a.Rg=a.ta.Aa+a.ta.Ba|0,a.qd=a.ta.Aa+a.ta.Ta|0):(a.Rg=a.ta.Aa+a.ta.Ta|0,a.qd=a.ta.Aa),c||(a.S|=4))}function zd(a,b){-1!==a.Xa.load(b)&&(a.S|=a.Cd)}function M(a){return a.Ha-a.wa.Aa|0}function Q(a,b){a.Ha=a.wa.Aa+(b&a.R)|0}function pf(a,b){a.Ha=b;a.jf=(a.wa.Aa>>>0)+(a.wa.Ta>>>0)+1;a.pa=a.wa.Lb;ff(a)}function Cd(a,b,c,d){var e=a.wa;e.Zf=b;e.C=d;b=e.load(c);return-1!==b?(pf(a,b+(a.wa.Zf&a.wa.R)),a.wa.ef):null}
@ -121,14 +121,14 @@ function qf(a,b){var c=(a.Ha>>>0)+b;c>a.jf&&(8088>=a.ja||a.wa.Ta==a.wa.Ba?c=a.wa
function zf(a,b,c,d,e){a.resultType=c|26;a.Xc=b;d?Af(a):Bf(a);e?Cf(a):Df(a);return b}function Ef(a,b,c,d){c&d?Af(a):Bf(a);(b^c)&d?Cf(a):Df(a)}function Ff(a){return tf(a)?1:0}function tf(a){a.resultType&1&&(a.ca&=-2,(a.Wc^(a.Wc^a.sd)&(a.sd^a.Vc))&a.resultType&-2147450752&&(a.ca|=1),a.resultType&=-2);return a.ca&1}function uf(a){a.resultType&2&&(a.ca&=-5,38505>>((a.Xc^a.Xc>>4)&15)&1&&(a.ca|=4),a.resultType&=-3);return a.ca&4}
function vf(a){a.resultType&4&&(a.ca&=-17,(a.Vc^a.Wc^a.sd)&16&&(a.ca|=16),a.resultType&=-5);return a.ca&16}function wf(a){a.resultType&8&&(a.ca&=-65,a.Xc&((a.resultType&-2147450752)-1|a.resultType&-2147450752)||(a.ca|=64),a.resultType&=-9);return a.ca&64}function xf(a){a.resultType&16&&(a.ca&=-129,a.Xc&a.resultType&-2147450752&&(a.ca|=128),a.resultType&=-17);return a.ca&128}
function yf(a){a.resultType&32&&(a.ca&=-2049,(a.Wc^a.Vc)&(a.sd^a.Vc)&a.resultType&-2147450752&&(a.ca|=2048),a.resultType&=-33);return a.ca&2048}function Bf(a){a.resultType&=-2;a.ca&=-2}function Gf(a){a.resultType&=-5;a.ca&=-17}function Hf(a){a.resultType&=-9;a.ca&=-65}function Df(a){a.resultType&=-33;a.ca&=-2049}function Af(a){a.resultType&=-2;a.ca|=1}function If(a){a.resultType&=-5;a.ca|=16}function Jf(a){a.resultType&=-9;a.ca|=64}function Cf(a){a.resultType&=-33;a.ca|=2048}
function Ad(a){return a.ca&-2262|tf(a)|uf(a)|vf(a)|wf(a)|xf(a)|yf(a)}function Kf(a,b){b=b|a.Za&1|65520;a.Za=a.Za&-65536|b&65535;a.Za&1&&pd(a,!0)}function Bd(a,b,c){a.Za&1||(b&=~a.Yf);void 0===c&&(c=a.pa);c?b=b&-12289|a.ca&12288:a.Pa=(b&12288)>>12;c>a.Pa&&(b=b&-513|a.ca&512);a.resultType=128;a.ca=a.ca&~(a.Oc|2261)|b&(a.Oc|2261)|a.$f;a.ca&256&&(a.ua|=2,a.S|=4)}
function Ad(a){return a.ca&-2262|tf(a)|uf(a)|vf(a)|wf(a)|xf(a)|yf(a)}function Kf(a,b){b=b|a.Za&1|65520;a.Za=a.Za&-65536|b&65535;a.Za&1&&pd(a,!0)}function Bd(a,b,c){a.Za&1||(b&=~a.Yf);void 0===c&&(c=a.pa);c?b=b&-12289|a.ca&12288:a.Pa=(b&12288)>>12;c>a.Pa&&(b=b&-513|a.ca&512);a.resultType=128;a.ca=a.ca&~(a.Cc|2261)|b&(a.Cc|2261)|a.$f;a.ca&256&&(a.ua|=2,a.S|=4)}
function Lf(a,b,c,d){var e=0;if(a.Za&1&&(a.pa>a.Pa||a.ca&131072)&&a.Sa.Yi)for(var f=a.Sa.Yi+(b>>>3),e=(1<<c)-1<<(b&7);e&&f<=a.Sa.ll&&!(a.Qa(f)&e);)e>>>=8,f++;return e?(B(a,256)&&z(a,"checkIOPM("+v(b)+","+c+","+(d?"input":"output")+"): trapped",!0,!0),D.call(a,13,0),!1):!0}
m.Pb=function(a,b,c){var d=!1;switch(b){case "EAX":case "EBX":case "ECX":case "EDX":case "ESP":case "EBP":case "ESI":case "EDI":case "EIP":case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "IP":case "PC":case "CS":case "DS":case "SS":case "ES":case "FS":case "GS":case "CR0":case "CR2":case "CR3":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "V":this.qa[b]=c;this.Vg++;d=!0;break;default:d=this.parent.Pb.call(this,a,b,c)}return d};
function Mf(a,b,c,d){var e=(d?a.kd:a.sa)[(b&a.Db)>>>a.La];e&&5==e.type&&(e=Kc(a,b,!1,!0));if(e){var f=b&a.Fa;if(!c||1==c)return e.re(f,b);if(2==c)return f<a.Fa?e.eg(f,b):e.re(f,b)|Mf(a,b+1,1,d)<<8;if(4==c)return f<a.Fa-2?e.ri(f,b):f==a.Fa-1?e.eg(f,b)|Mf(a,b+2,2,d)<<16:e.re(f,b)|Mf(a,b+1,1,d)<<8|Mf(a,b+2,1,d)<<16|Mf(a,b+3,1,d)<<24}return null}m.Qa=function(a){return this.sa[(a&this.Db)>>>this.La].pc(a&this.Fa,a)};
m.na=function(a){var b=a&this.Fa,c=(a&this.Db)>>>this.La;this.A-=this.B.Jg;if(b<this.Fa)return this.sa[c].sf(b,a);b=this.sa[c].pc(b,a);this.S&4096||(b|=this.sa[c+1&this.hd].pc(0,a+1)<<8);return b};m.oa=function(a){var b=a&this.Fa,c=(a&this.Db)>>>this.La;if(b<this.Fa-2)return this.sa[c].Md(b,a);for(var d=0,e=4,f=0,g=4-(b&3);e--;){d|=this.sa[c].pc(b++,a++)<<f;if(this.S&4096)break;--g||(c=c+1&this.hd,b=0);f+=8}return d};m.qc=function(a,b){this.sa[(a&this.Db)>>>this.La].sc(a&this.Fa,b&255,a)};
m.jb=function(a,b){var c=a&this.Fa,d=(a&this.Db)>>>this.La;this.A-=this.B.Jg;c<this.Fa?this.sa[d].zf(c,b&65535,a):(this.sa[d++].sc(c,b&255,a),this.S&4096||this.sa[d&this.hd].sc(0,b>>8&255,a+1))};m.nb=function(a,b){var c=a&this.Fa,d=(a&this.Db)>>>this.La;this.A-=this.B.Jg;if(c<this.Fa-2)this.sa[d].yf(c,b,a);else for(var e=4,f=4-(c&3);e--;){this.sa[d].sc(c++,b&255,a++);if(this.S&4096)break;--f||(d=d+1&this.hd,c=0);b>>>=8}};
function Nf(a,b,c){a.$b=b;a.Ca=c&a.Ba;a.D=b.mc(a.Ca,1);return a.S&1?0:a.Qa(a.D)}function R(a,b){return Nf(a,a.ka,b)}function Of(a,b){return Nf(a,a.Ka,b)}function Pf(a,b,c){a.$b=b;a.Ca=c&a.Ba;a.D=b.mc(a.Ca,a.ba);return a.S&1?0:a.tb(a.D)}function S(a,b){a.$b=a.ka;a.Ca=b&a.Ba;a.D=a.$b.mc(a.Ca,2);return a.S&1?0:a.na(a.D)}function Qf(a,b){a.$b=a.Ka;a.Ca=b&a.Ba;a.D=a.$b.mc(a.Ca,2);return a.S&1?0:a.na(a.D)}function T(a,b){a.$b=a.ka;a.Ca=b&a.Ba;a.D=a.$b.mc(a.Ca,4);return a.S&1?0:a.oa(a.D)}
function Rf(a,b){a.$b=a.Ka;a.Ca=b&a.Ba;a.D=a.$b.mc(a.Ca,4);return a.S&1?0:a.oa(a.D)}function Sf(a,b){a.S&2||a.qc(a.$b.nc(a.Ca,1),b)}function Tf(a,b){a.S&2||a.jb(a.$b.nc(a.Ca,2),b)}function Uf(a,b){a.S&2||a.nb(a.$b.nc(a.Ca,4),b)}function wd(a,b,c){return a.tb(b.mc(c,a.ba))}m.xa=function(){var a=qf(this,1),b=this.Qa(this.Ha);this.Ha=a;return b};function Vf(a){var b=qf(a,2),c=a.na(a.Ha);a.Ha=b;return c}function U(a){var b=qf(a,a.Nc),c=a.bc(a.Ha);a.Ha=b;return c}
function Rf(a,b){a.$b=a.Ka;a.Ca=b&a.Ba;a.D=a.$b.mc(a.Ca,4);return a.S&1?0:a.oa(a.D)}function Sf(a,b){a.S&2||a.qc(a.$b.nc(a.Ca,1),b)}function Tf(a,b){a.S&2||a.jb(a.$b.nc(a.Ca,2),b)}function Uf(a,b){a.S&2||a.nb(a.$b.nc(a.Ca,4),b)}function wd(a,b,c){return a.tb(b.mc(c,a.ba))}m.xa=function(){var a=qf(this,1),b=this.Qa(this.Ha);this.Ha=a;return b};function Vf(a){var b=qf(a,2),c=a.na(a.Ha);a.Ha=b;return c}function U(a){var b=qf(a,a.Oc),c=a.bc(a.Ha);a.Ha=b;return c}
m.Ma=function(){var a=qf(this,this.ba),b=this.tb(this.Ha);this.Ha=a;return b};m.T=function(){var a=qf(this,1),b=this.Qa(this.Ha)<<24>>24;this.Ha=a;return b};function G(a){var b=a.tb(a.fa);a.fa=a.fa+a.ba|0;var c=a.Rg-a.fa|0;0>c&&0<=(a.Rg^a.fa)&&(8088>=a.ja||!a.ta.bd&&a.ta.Ta==a.ta.Ba||a.ta.bd&&!a.ta.Ta?I(a,a.fa-a.ta.Aa&a.ta.Ba):-1>c&&D.call(a,12,0));return b}
function xd(a,b,c,d){c=a.fa-c|0;0>(c-a.qd|0)&&0<=(a.qd^c)&&(8088>=a.ja||!a.ta.bd&&a.ta.Ta==a.ta.Ba||a.ta.bd&&!a.ta.Ta?(I(a,c-a.ta.Aa&a.ta.Ba),c=a.fa):D.call(a,12,0));switch(d){case 1:a.qc(c,b);break;case 2:a.jb(c,b);break;case 4:a.nb(c,b)}a.fa=c}function K(a,b){var c=a.fa-a.ba|0;0>(c-a.qd|0)&&0<=(a.qd^c)&&(8088>=a.ja||!a.ta.bd&&a.ta.Ta==a.ta.Ba||a.ta.bd&&!a.ta.Ta?(I(a,c-a.ta.Aa&a.ta.Ba),c=a.fa):D.call(a,12,0));a.rc(c,b);a.fa=c}
function Wf(a,b,c){var d=4;1==b.length&&(d=1,c=c?1:0);if(80386>a.ja)2<b.length&&(b=b.substr(1,2));else if("PS"==b||2<b.length)d=8;a.qa[b]&&(void 0===c&&(yb(a,"Value for "+b+" is invalid"),a.Wb()),d=!a.la.Ib||a.la.nj?t(c,d):"--------".substr(0,d),a.qa[b].textContent!=d&&(a.qa[b].textContent=d))}
@ -138,7 +138,7 @@ m.wf=function(a){this.la.complete=!0;var b=this.la.mj=this.ha&&Xf(this.ha),c=a?t
Zf.call(this,f);d=!0;break a}}break;case 1:if(this.ua&2){this.ua&=-3;80386<=this.ja&&(this.Ja[6]|=16384);Zf.call(this,1);d=!0;break a}}d=1-d}d=!1}if(d&&!a){this.O("interrupt dispatched");this.S=0;break}if(this.ua&4){this.S=this.A=0;break}}if(b){if($f(this.ha,this.Ha,c)){this.Wb();break}c=1}this.S=0;this.W[this.xa()].call(this)}while(0<this.A);return this.la.complete?this.fb-this.A:void 0===this.la.complete?0:-1};
Ua(function(){for(var a=rb(document,"pcx86","cpu"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new Ed(d);qb(d,c)}});
function ag(a){Za.call(this,"FPU",a,ag);this.ja=a.model||8087;(a=a.stepping)&&ea(a,16);this.X=new Float64Array(8);this.aa=new Int32Array(this.X.buffer);this.pa=new Float32Array(1);this.ua=new Int32Array(this.pa.buffer);this.W=new Float64Array(1);this.L=new Int32Array(this.W.buffer);this.ga=Array(3);this.ea=this.fa=-1;this.V=this.U=this.ia=this.A=0;this.ka=new Float64Array(1);this.ra=new Int32Array(this.ka.buffer);this.ra[0]=0;this.ra[1]=268402688;bg(this)}hb(ag);m=ag.prototype;
m.Hc=function(a,b,c){this.F=c;this.N=Jb(a,"ChipSet");wb(this)};m.gc=function(a,b){if(!b)if(!a||!this.restore)bg(this);else if(!this.restore(a))return!1;return!0};m.fc=function(a){return a?this.save():!0};m.save=function(){var a=new mf(this),b=[],c=0;b[c++]=this.ic;b[c++]=cg(this);b[c++]=dg(this);for(var d=0;d<this.X.length;d++)b[c++]=this.X[d];O(a,0,b);return a.data()};
m.Ic=function(a,b,c){this.F=c;this.N=Jb(a,"ChipSet");wb(this)};m.gc=function(a,b){if(!b)if(!a||!this.restore)bg(this);else if(!this.restore(a))return!1;return!0};m.fc=function(a){return a?this.save():!0};m.save=function(){var a=new mf(this),b=[],c=0;b[c++]=this.ic;b[c++]=cg(this);b[c++]=dg(this);for(var d=0;d<this.X.length;d++)b[c++]=this.X[d];O(a,0,b);return a.data()};
m.restore=function(a){a=a[0];var b=0;this.ic=a[b++]&-57409;var c=a[b++];this.ma=c&-14337;this.B=(c&14336)>>11;eg(this);fg(this,a[b++]);for(c=0;c<this.X.length;c++)this.X[c]=a[b++];return!0};function bg(a){a.C=0;a.ic=959;a.ma=0;a.B=0;a.N&&(a=a.N,a.ja>=gg&&hg(a,13))}function eg(a){a.ma&=-129;a.ma&~a.ic&63&&(a.ma|=128);if(a.ma&128&&!(a.ic&128))return a=a.N,a.ja>=gg?ig(a,13):a.ya&0||Zf.call(a.F,2),!0;a=a.N;a.ja>=gg&&hg(a,13);return!1}function jg(a,b){80387<=a.ja||(b&=-65);a.ma|=b;return eg(a)}
function cg(a){return a.ma|a.B<<11}function kg(a,b){return isFinite(b)?!0:!jg(a,Infinity===b?8:16)}function lg(a,b,c){var d=null;null!=b&&null!=c&&(d=b+c,kg(a,d)||(d=null));return d}function mg(a,b,c){var d=null;null!=b&&null!=c&&(d=b-c,kg(a,d)||(d=null));return d}function ng(a,b,c){var d=null;null!=b&&null!=c&&(d=b*c,kg(a,d)||(d=null));return d}function og(a,b,c){var d=null;null==b||null==c||!c&&jg(a,2)||(d=b/c,kg(a,d)||(d=null));return d}
function pg(a,b,c){if(null!=b&&null!=c){var d=0;isNaN(b)||isNaN(c)?d=17664:(b-=c,0>b?d=256:0===b&&(d=16384));a.ma=a.ma&-18177|d;return!0}return!1}function Cg(a,b,c){if(null==b)return null;var d=a.ic&3072;0==d?(d=Math.round(b),.5===d-b&&d%2&&d--):d=1024==d||3072==d&&0<b?Math.floor(b):Math.ceil(b);if(c){if(d>=c){if(jg(a,1))return null;d=-c}else if(d<-c){if(jg(a,1))return null;d=-c}a.L[0]=d|0;2147483648<c&&(a.L[1]=d/4294967296|0,!a.L[1]&&0>d&&(a.L[1]=-1))}return d}
@ -163,9 +163,9 @@ Lg(this),V(this,0)))},48:function(){X(this,this.A,lg(this,V(this,this.A),V(this,
this.Wk()},3:function(){Fg(this)&&(this.Wk(),Rg(this))},4:jh,6:kh,7:ph,48:fh,49:sh,50:function(){X(this,this.A,V(this,0))},51:mh},222:{0:function(){X(this,0,lg(this,V(this,0),Ig(this)))},1:function(){X(this,0,ng(this,V(this,0),Ig(this)))},2:function(){pg(this,V(this,0),Ig(this))},3:function(){pg(this,V(this,0),Ig(this))&&Rg(this)},4:function(){X(this,0,mg(this,V(this,0),Ig(this)))},5:function(){X(this,0,mg(this,Ig(this),V(this,0)))},6:function(){X(this,0,og(this,V(this,0),Ig(this)))},7:function(){X(this,
0,og(this,Ig(this),V(this,0)))},48:function(){X(this,this.A,lg(this,V(this,this.A),V(this,0)))&&Rg(this)},49:function(){X(this,this.A,ng(this,V(this,this.A),V(this,0)))&&Rg(this)},50:dh,51:function(){pg(this,V(this,0),V(this,1))&&null!=Rg(this)&&Rg(this)},52:function(){X(this,this.A,mg(this,V(this,0),V(this,this.A)))&&Rg(this)},53:function(){X(this,this.A,mg(this,V(this,this.A),V(this,0)))&&Rg(this)},54:function(){X(this,this.A,og(this,V(this,0),V(this,this.A)))&&Rg(this)},55:function(){X(this,this.A,
og(this,V(this,this.A),V(this,0)))&&Rg(this)}},223:{0:function(){Sg(this,Ig(this))},2:function(){null!=Cg(this,V(this,0),32768)&&this.F.jb(this.F.D,this.L[0])},3:function(){null!=Cg(this,V(this,0),32768)&&(this.F.jb(this.F.D,this.L[0]),Rg(this))},4:function(){var a=Mg(this),b=Pg(a[0],8)+1E8*Pg(a[1],8)+1E16*Pg(a[2],2);a[2]&32768&&(b=-b);Sg(this,b)},5:function(){var a;a=this.F.oa(this.F.D);a=4294967296*this.F.oa(this.F.D+4)+(a>>>0);Sg(this,a)},6:function(){var a=Cg(this,Rg(this));null!=a&&(this.ga[0]=
Qg(a,8),this.ga[1]=Qg(a/1E8,8),this.ga[2]=Qg(a/1E16,2),0>a&&(this.ga[2]|=32768),Ng(this))},7:function(){null!=Cg(this,V(this,0),$g)&&(this.Vk(),Rg(this))},48:function(){fh.call(this);Rg(this)},49:sh,50:nh,51:nh,52:qh}},uh=[ah,gh,hh,ih,jh,kh,oh,lh,ph,qh];Ua(function(){for(var a=rb(document,"pcx86","fpu"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new ag(d);qb(d,c)}});function vh(a,b){var c=a+b+Ff(this)|0;sf(this,a,b,c,191);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Mc;return c&255}
function wh(a,b){var c=a+b+Ff(this)|0;sf(this,a,b,c,this.Ga|63);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Mc;return c&this.R}function xh(a,b){var c=a+b|0;sf(this,a,b,c,191);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Mc;return c&255}function yh(a,b){var c=a+b|0;sf(this,a,b,c,this.Ga|63);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Mc;return c&this.R}
function zh(a,b){var c=a&b;zf(this,c,128);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Mc;return c}function Ah(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Mc;return zf(this,a&b,this.Ga)&this.R}function Bh(a,b){this.A-=10+(-1===this.D?0:1);if((a&3)<(b&3))return a=a&-4|b&3,Jf(this),a;Hf(this);return a}
Qg(a,8),this.ga[1]=Qg(a/1E8,8),this.ga[2]=Qg(a/1E16,2),0>a&&(this.ga[2]|=32768),Ng(this))},7:function(){null!=Cg(this,V(this,0),$g)&&(this.Vk(),Rg(this))},48:function(){fh.call(this);Rg(this)},49:sh,50:nh,51:nh,52:qh}},uh=[ah,gh,hh,ih,jh,kh,oh,lh,ph,qh];Ua(function(){for(var a=rb(document,"pcx86","fpu"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new ag(d);qb(d,c)}});function vh(a,b){var c=a+b+Ff(this)|0;sf(this,a,b,c,191);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&255}
function wh(a,b){var c=a+b+Ff(this)|0;sf(this,a,b,c,this.Ga|63);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&this.R}function xh(a,b){var c=a+b|0;sf(this,a,b,c,191);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&255}function yh(a,b){var c=a+b|0;sf(this,a,b,c,this.Ga|63);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&this.R}
function zh(a,b){var c=a&b;zf(this,c,128);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c}function Ah(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return zf(this,a&b,this.Ga)&this.R}function Bh(a,b){this.A-=10+(-1===this.D?0:1);if((a&3)<(b&3))return a=a&-4|b&3,Jf(this),a;Hf(this);return a}
function Ch(a){if(-1===this.D)return D.call(this,6),a;var b=a,c=this.tb(this.D),d=this.tb(this.D+this.ba);2==this.ba&&(b=a<<16>>16,c=c<<16>>16,d=d<<16>>16);this.A-=this.B.Hj;(b<c||b>d)&&D.call(this,5);this.S|=2;return a}function Dh(a,b){var c=0;if(b){Hf(this);for(var d=1;d&this.R;){if(b&d){a=c;break}d<<=1;c++}}else Jf(this);this.A-=11+3*c;return a}function Eh(a,b){var c=0;if(b){Hf(this);for(var d=2==this.ba?15:31,e=1<<d;e;){if(b&e){a=d;break}e>>>=1;c++;d--}}else Jf(this);this.A-=11+3*c;return a}
function Fh(a,b){a&1<<(b&(2==this.ba?15:31))?Af(this):Bf(this);this.A-=-1===this.D?3:6;this.S|=2;return a}function Gh(a,b){var c=1<<(b&(2==this.ba?15:31));a&c?Af(this):Bf(this);this.A-=-1===this.D?6:8;return a^c}function Hh(a,b){var c=1<<(b&(2==this.ba?15:31));a&c?Af(this):Bf(this);this.A-=-1===this.D?6:8;return a&~c}function Ih(a,b){var c=1<<(b&(2==this.ba?15:31));a&c?Af(this):Bf(this);this.A-=-1===this.D?6:8;return a|c}
function Jh(a,b){if(-1===this.D)return Fh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Pf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?Af(this):Bf(this);this.A-=6;this.S|=2;return a}function Kh(a,b){if(-1===this.D)return Gh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Pf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?Af(this):Bf(this);this.A-=8;return a^b}
@ -173,20 +173,20 @@ function Lh(a,b){if(-1===this.D)return Hh.call(this,a,b);var c=this.ba<<3;if(b>=
function Nh(a,b){sf(this,a,b,a-b|0,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Hh:this.B.Vb;this.S|=2;return a}function Oh(a,b){sf(this,a,b,a-b|0,this.Ga|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Hh:this.B.Vb;this.S|=2;return a}
function Ph(a){if(this.Tb){var b=this.Tb,c=this.lg,d=this.L,e=d>>3&7;b.A=d&7;var f=(3>(d>>6&3)?0:48)+e;(217==c||219==c)&&52<=f&&(f=e<<4|b.A);if(e=th[c][f]){if(0>uh.indexOf(e)){var f=b.F,g=f.qe;8087==b.ja&&(f.Ia&16&&g++,f.Ia&32&&g++);b.ea=f.wa.Z;b.V=g-f.wa.Aa;-1!==f.D&&(b.fa=f.$b.Z,b.U=f.D-f.$b.Aa);b.ia=(c&7)<<8|d}e.call(b)}}this.A-=-1===this.D?2:8;return a}function Qh(a){if(80186>this.ja)return Rh.call(this,a);D.call(this,13,0);return a}function he(a){D.call(this,6);return a}
function Rh(a){ke.call(this);return a}function Sh(a,b){var c=Th.call(this,this.T(),b);80386>this.ja&&(this.A-=12);return c}function Uh(a,b){var c;a=this.Ma();c=2==this.ba?Th.call(this,a,b):Vh.call(this,a,b);80386>this.ja&&(this.A-=12);return c}function Wh(a,b){var c=!1;0>b&&(b=-b|0,c=!c);0>a&&(a=-a|0,c=!c);Xh.call(this,a,b);c&&(this.ia=~this.ia+1|0,this.va=~this.va+(this.ia?0:1)|0)}
function Th(a,b){var c=(a<<16>>16)*(b<<16>>16)|0;32767<c||-32768>c?(Af(this),Cf(this)):(Bf(this),Df(this));this.A-=-1===this.D?9:12;return c&65535}function Vh(a,b){Wh.call(this,a,b);this.va!=this.ia>>31?(Af(this),Cf(this)):(Bf(this),Df(this));this.A-=-1===this.D?9:12;return this.ia}function Yh(a,b){this.A-=14+(-1===this.D?0:2);Hf(this);-1!==this.Da.load(b)&&this.Da.Fc>=this.pa&&this.Da.Fc>=(b&3)&&(Jf(this),a=this.Da.wb&-256,2<this.ba&&(a|=(this.Da.ext&-65281)<<16));return a}
function Th(a,b){var c=(a<<16>>16)*(b<<16>>16)|0;32767<c||-32768>c?(Af(this),Cf(this)):(Bf(this),Df(this));this.A-=-1===this.D?9:12;return c&65535}function Vh(a,b){Wh.call(this,a,b);this.va!=this.ia>>31?(Af(this),Cf(this)):(Bf(this),Df(this));this.A-=-1===this.D?9:12;return this.ia}function Yh(a,b){this.A-=14+(-1===this.D?0:2);Hf(this);-1!==this.Da.load(b)&&this.Da.Gc>=this.pa&&this.Da.Gc>=(b&3)&&(Jf(this),a=this.Da.wb&-256,2<this.ba&&(a|=(this.Da.ext&-65281)<<16));return a}
function Zh(a,b){if(-1===this.D)return ke.call(this),a;yd(this,this.na(this.D+this.ba));this.A-=this.B.pf;return b}function $h(){this.A-=this.B.jk;return this.D}function ai(a,b){if(-1===this.D)return ke.call(this),a;zd(this,this.na(this.D+this.ba));this.A-=this.B.pf;return b}function bi(a,b){if(-1===this.D)return ke.call(this),a;var c=this.na(this.D+this.ba);this.Nb.load(c);this.A-=this.B.pf;return b}
function ci(a,b){if(-1===this.D)return ke.call(this),a;var c=this.na(this.D+this.ba);this.Ob.load(c);this.A-=this.B.pf;return b}function di(a,b){this.A-=14+(-1===this.D?0:2);if(b&65528&&-1!==this.Da.load(b)&&(7168==(this.Da.wb&7168)||this.Da.Fc>=this.pa)&&this.Da.Fc>=(b&3))return Jf(this),this.Da.Ta;Hf(this);return a}function ei(a,b){if(-1===this.D)return ke.call(this),a;nd(this,this.na(this.D+this.ba));this.A-=this.B.pf;return b}
function ci(a,b){if(-1===this.D)return ke.call(this),a;var c=this.na(this.D+this.ba);this.Ob.load(c);this.A-=this.B.pf;return b}function di(a,b){this.A-=14+(-1===this.D?0:2);if(b&65528&&-1!==this.Da.load(b)&&(7168==(this.Da.wb&7168)||this.Da.Gc>=this.pa)&&this.Da.Gc>=(b&3))return Jf(this),this.Da.Ta;Hf(this);return a}function ei(a,b){if(-1===this.D)return ke.call(this),a;nd(this,this.na(this.D+this.ba));this.A-=this.B.pf;return b}
function fi(a,b){this.A-=-1===this.C?-1===this.D?this.B.rk:this.B.qk:this.B.nk;return b}function gi(a,b){switch(this.L>>3&7){case 4:this.aa=this.G;break;case 5:this.aa=this.I;break;case 6:this.aa=this.M;break;case 7:this.aa=this.H}return b}function hi(a,b){return b}
function ii(a,b){var c=this.L>>3&7;switch(c){case 0:this.aa=this.G;break;case 2:this.aa=this.M;break;case 3:this.aa=this.H;break;default:if(80286==this.ja||80386==this.ja&&4!=c&&5!=c){D.call(this,6);break}switch(c){case 1:this.aa=this.I;break;case 4:this.aa=J(this);break;case 5:this.aa=this.P;break;case 6:this.aa=this.K;break;case 7:this.aa=this.J}}return fi.call(this,0,b)}
function ji(a,b){switch(this.L>>3&7){case 0:b=this.Xa.Z;break;case 1:b=this.wa.Z;break;case 2:b=this.ta.Z;break;case 3:b=this.vb.Z;break;case 4:if(80386<=this.ja){b=this.Nb.Z;break}D.call(this,6);b=a;break;case 5:if(80386<=this.ja){b=this.Ob.Z;break}default:D.call(this,6),b=a}-1!==this.C&&vd(this,2);return fi.call(this,0,b)}
function Xh(a,b){if(a&-65536||b&-65536){var c=b&65535,d=b>>>16,e=a&65535,f=a>>>16,g=c*e,e=(g>>>16)+d*e,h=e>>>16,e=(e&65535)+c*f;this.ia=e<<16|g&65535;this.va=h+((e>>>16)+d*f)|0}else this.ia=a*b|0,this.va=0}function Bi(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Mc;return zf(this,a|b,128)}function Ci(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Mc;return zf(this,a|b,this.Ga)&this.R}
function Di(a,b){var c=a-b-Ff(this)|0;sf(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Mc;return c&255}function Ei(a,b){var c=a-b-Ff(this)|0;sf(this,a,b,c,this.Ga|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Mc;return c&this.R}function Fi(){return yf(this)?1:0}function Gi(){return tf(this)?1:0}function Hi(){return tf(this)?0:1}function Ii(){return wf(this)?1:0}function Ji(){return wf(this)?0:1}function Ki(){return tf(this)||wf(this)?1:0}
function Xh(a,b){if(a&-65536||b&-65536){var c=b&65535,d=b>>>16,e=a&65535,f=a>>>16,g=c*e,e=(g>>>16)+d*e,h=e>>>16,e=(e&65535)+c*f;this.ia=e<<16|g&65535;this.va=h+((e>>>16)+d*f)|0}else this.ia=a*b|0,this.va=0}function Bi(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return zf(this,a|b,128)}function Ci(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return zf(this,a|b,this.Ga)&this.R}
function Di(a,b){var c=a-b-Ff(this)|0;sf(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&255}function Ei(a,b){var c=a-b-Ff(this)|0;sf(this,a,b,c,this.Ga|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&this.R}function Fi(){return yf(this)?1:0}function Gi(){return tf(this)?1:0}function Hi(){return tf(this)?0:1}function Ii(){return wf(this)?1:0}function Ji(){return wf(this)?0:1}function Ki(){return tf(this)||wf(this)?1:0}
function Li(){return tf(this)||wf(this)?0:1}function Mi(){return xf(this)?1:0}function Ni(){return xf(this)?0:1}function Oi(){return uf(this)?1:0}function Pi(){return uf(this)?0:1}function Qi(){return!xf(this)!=!yf(this)?1:0}function Ri(){return!xf(this)!=!yf(this)?0:1}function Si(){return wf(this)||!xf(this)!=!yf(this)?1:0}function Ti(){return wf(this)||!xf(this)!=!yf(this)?0:1}function Ui(a,b){return Vi.call(this,a,b,this.xa())}function Wi(a,b){return Xi.call(this,a,b,this.xa())}
function Yi(a,b){return Vi.call(this,a,b,this.I&31)}function Zi(a,b){return Xi.call(this,a,b,this.I&31)}function $i(a,b){return aj.call(this,a,b,this.xa())}function bj(a,b){return cj.call(this,a,b,this.xa())}function dj(a,b){return aj.call(this,a,b,this.I&31)}function ej(a,b){return cj.call(this,a,b,this.I&31)}function fj(a,b){var c=a-b|0;sf(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Mc;return c&255}
function gj(a,b){var c=a-b|0;sf(this,a,b,c,this.Ga|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Mc;return c&this.R}function hj(a,b){zf(this,a&b,128);this.A-=-1===this.C?-1===this.D?this.B.ii:this.B.Vf:this.B.Vf;this.S|=2;return a}function ij(a,b){zf(this,a&b,this.Ga);this.A-=-1===this.C?-1===this.D?this.B.ii:this.B.Vf:this.B.Vf;this.S|=2;return a}function jj(a,b){var c=this.G&this.R,d=(1<<(this.I&31))-1;return a&~(d<<c)|(b&d)<<c}
function Yi(a,b){return Vi.call(this,a,b,this.I&31)}function Zi(a,b){return Xi.call(this,a,b,this.I&31)}function $i(a,b){return aj.call(this,a,b,this.xa())}function bj(a,b){return cj.call(this,a,b,this.xa())}function dj(a,b){return aj.call(this,a,b,this.I&31)}function ej(a,b){return cj.call(this,a,b,this.I&31)}function fj(a,b){var c=a-b|0;sf(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&255}
function gj(a,b){var c=a-b|0;sf(this,a,b,c,this.Ga|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&this.R}function hj(a,b){zf(this,a&b,128);this.A-=-1===this.C?-1===this.D?this.B.ii:this.B.Vf:this.B.Vf;this.S|=2;return a}function ij(a,b){zf(this,a&b,this.Ga);this.A-=-1===this.C?-1===this.D?this.B.ii:this.B.Vf:this.B.Vf;this.S|=2;return a}function jj(a,b){var c=this.G&this.R,d=(1<<(this.I&31))-1;return a&~(d<<c)|(b&d)<<c}
function kj(a,b){return b>>(this.G&this.R)&(1<<(this.I&31))-1&this.R}function lj(a,b){if(-1===this.D){switch(this.L&7){case 0:this.G=this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}this.A-=this.B.ki}else this.C=this.D,Sf(this,a),this.A-=this.B.ji;return b}
function mj(a,b){if(-1===this.D){switch(this.L&7){case 0:this.G=this.G&~this.R|a;break;case 1:this.I=this.I&~this.R|a;break;case 2:this.M=this.M&~this.R|a;break;case 3:this.H=this.H&~this.R|a;break;case 4:I(this,J(this)&~this.R|a);break;case 5:this.P=this.H&~this.R|a;break;case 6:this.K=this.K&~this.R|a;break;case 7:this.J=this.J&~this.R|a}this.A-=this.B.ki}else this.C=this.D,this.S&2||this.rc(this.$b.nc(this.Ca,this.ba),a),this.A-=this.B.ji;return b}
function nj(a,b){var c=a^b;zf(this,c,128);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Mc;return c}function oj(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Mc;return zf(this,a^b,this.Ga)&this.R}function pj(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function qj(a){var b=a-1|0;sf(this,a,1,b,this.Ga|62,!0);this.A-=2;return a&~this.R|b&this.R}
function nj(a,b){var c=a^b;zf(this,c,128);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c}function oj(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return zf(this,a^b,this.Ga)&this.R}function pj(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function qj(a){var b=a-1|0;sf(this,a,1,b,this.Ga|62,!0);this.A-=2;return a&~this.R|b&this.R}
function rj(a,b,c){c>>>=0;if(!c||c<=b>>>0)return!1;var d=0,e=1;c=[c>>>0,0];for(a=[a>>>0,b>>>0];0<pj(a,c);){var f=b=c;b[0]+=f[0];b[1]+=f[1];4294967295<b[0]&&(b[0]>>>=0,b[1]++);e+=e}do 0<=pj(a,c)&&(b=a,f=c,b[0]-=f[0],b[1]-=f[1],0>b[0]&&(b[0]>>>=0,b[1]--),d+=e),b=c,b[0]>>>=1,b[1]&1&&(b[0]=(b[0]|2147483648)>>>0),b[1]>>>=1,e/=2;while(1<=e);this.ia=d;this.va=a[0];return!0}function sj(a){var b=a+1|0;sf(this,a,1,b,this.Ga|62);this.A-=2;return a&~this.R|b&this.R}
function tj(a){this.Za=a;pd(this);this.Za&-2147483648?ve(this):xe(this)}function Dd(a){this.Od=a;$b(this)}function uj(a){this.S|=1;this.$a.call(this,a);this.A-=-1===this.D?4:5}function Vi(a,b,c){if(c){16<c&&(a=b,c-=16);var d=a<<c-1;a=(d<<1|b>>>16-c)&65535;zf(this,a,32768,d&32768)}return a}function Xi(a,b,c){if(c){var d=a<<c-1;a=d<<1|b>>>32-c;zf(this,a,-2147483648,d&-2147483648)}return a}
function aj(a,b,c){if(c){16<c&&(a=b,c-=16);var d=a>>>c-1;a=(d>>>1|b<<16-c)&65535;zf(this,a,32768,d&1)}return a}function cj(a,b,c){if(c){var d=a>>>c-1;a=d>>>1|b<<32-c;zf(this,a,-2147483648,d&1)}return a}function vj(){this.A-=-1===this.D?2:this.B.Ek;return 1}function wj(){var a=this.I&255;this.A-=(-1===this.D?this.B.bi:this.B.ai)+(a<<this.B.ci);return a}function xj(){var a=this.xa();this.A-=(-1===this.D?this.B.bi:this.B.ai)+(a<<this.B.ci);return a}function yj(){return null}
@ -194,8 +194,8 @@ function zj(){return this.aa}function Aj(a,b){this.kc=this.wa.Z;this.sb=this.ta.
function Cj(a){this.sb=this.ta.Z;this.U=this.fa;var b=G(this),c=G(this);a&&I(this,J(this)+a);Cd(this,b,c,!1)&&(a&&I(this,J(this)+a),Dj.call(this,this.vb),Dj.call(this,this.Xa),80386<=this.ja&&(Dj.call(this,this.Nb),Dj.call(this,this.Ob)));2==a&&this.le&&jf(this,this.Ha);this.sb=this.U=-1}function Ej(){8086==this.ja?(this.rb=-1,Bj.call(this,0,null,2)):D.call(this,0,null,2)}function Zf(a,b){this.rb=a;void 0===b&&(b=11);Bj.call(this,a,null,b)}
function D(a,b,c,d){var e=!1;this.la.complete?80186<=this.ja&&(e=!0,0>this.rb?(-1!=this.kc&&(this.kc!==this.wa.Z&&(this.wa.Lb=this.kc&3,of(this,this.kc)),this.kc=-1),this.qe!==this.Ha&&pf(this,this.qe),-1!=this.sb&&(this.sb!==this.ta.Z&&nd(this,this.sb),this.sb=-1),-1!==this.U&&(this.U!==this.fa&&I(this,this.gb&~this.ta.Ba|this.U-this.ta.Aa),this.U=-1)):8!=this.rb?(b=0,a=8):(b=0,a=-1,te(this),e=d=!1)):pf(this,this.qe);var f=a,g=b,h=32,k=Mf(this,this.Ha);204!=k||this.Sd||(d=!1);this.ca&131072&&(6==
f&&99==k||13==f&&205==k)&&(d=!1);!1===d&&(h|=1);983040<=this.Ha&&1048575>=this.Ha&&(d=!1);B(this,h|-2147483648)&&(d=!0);if(B(this,h)||d){var l=this.la.Ib,f="Fault "+u(f)+(null!=g?" ("+v(g)+")":"")+" on opcode "+u(k);d&&l&&(f+=" (blocked)");this.ha?(z(this,f,d||h,!0),d&&(d=l,this.ha.Wb())):(this.Na(f),this.Wb())}if(d&&e)throw-1;if(e)throw this.rb=a,Bj.call(this,a,b,c),this.qe=this.Ha,this.S=1==a?this.S|8192:this.S|4096,a;}
function we(a,b,c){this.se=a;a=0;b&&(a|=1);c&&(a|=2);3==this.pa&&(a|=4);D.call(this,14,a)}function Dj(a){var b=a.wb&7680;a.Z&65528&&(6144==b||7168==b||7168>b&&a.Fc<this.pa&&a.Fc<(a.Z&3))&&a.load(0)}
function Be(a){var b,c;switch((this.L=this.xa())&199){case 0:c=R(this,this.H+this.K);this.A-=this.B.dd;break;case 1:c=R(this,this.H+this.J);this.A-=this.B.ed;break;case 2:c=Of(this,this.P+this.K);this.A-=this.B.ed;break;case 3:c=Of(this,this.P+this.J);this.A-=this.B.dd;break;case 4:c=R(this,this.K);this.A-=this.B.Ic;break;case 5:c=R(this,this.J);this.A-=this.B.Ic;break;case 6:c=R(this,U(this));this.A-=this.B.Jd;break;case 7:c=R(this,this.H);this.A-=this.B.Ic;break;case 64:c=R(this,this.H+this.K+this.T());
function we(a,b,c){this.se=a;a=0;b&&(a|=1);c&&(a|=2);3==this.pa&&(a|=4);D.call(this,14,a)}function Dj(a){var b=a.wb&7680;a.Z&65528&&(6144==b||7168==b||7168>b&&a.Gc<this.pa&&a.Gc<(a.Z&3))&&a.load(0)}
function Be(a){var b,c;switch((this.L=this.xa())&199){case 0:c=R(this,this.H+this.K);this.A-=this.B.dd;break;case 1:c=R(this,this.H+this.J);this.A-=this.B.ed;break;case 2:c=Of(this,this.P+this.K);this.A-=this.B.ed;break;case 3:c=Of(this,this.P+this.J);this.A-=this.B.dd;break;case 4:c=R(this,this.K);this.A-=this.B.Jc;break;case 5:c=R(this,this.J);this.A-=this.B.Jc;break;case 6:c=R(this,U(this));this.A-=this.B.Jd;break;case 7:c=R(this,this.H);this.A-=this.B.Jc;break;case 64:c=R(this,this.H+this.K+this.T());
this.A-=this.B.cc;break;case 65:c=R(this,this.H+this.J+this.T());this.A-=this.B.dc;break;case 66:c=Of(this,this.P+this.K+this.T());this.A-=this.B.dc;break;case 67:c=Of(this,this.P+this.J+this.T());this.A-=this.B.cc;break;case 68:c=R(this,this.K+this.T());this.A-=this.B.ib;break;case 69:c=R(this,this.J+this.T());this.A-=this.B.ib;break;case 70:c=Of(this,this.P+this.T());this.A-=this.B.ib;break;case 71:c=R(this,this.H+this.T());this.A-=this.B.ib;break;case 128:c=R(this,this.H+this.K+U(this));this.A-=
this.B.cc;break;case 129:c=R(this,this.H+this.J+U(this));this.A-=this.B.dc;break;case 130:c=Of(this,this.P+this.K+U(this));this.A-=this.B.dc;break;case 131:c=Of(this,this.P+this.J+U(this));this.A-=this.B.cc;break;case 132:c=R(this,this.K+U(this));this.A-=this.B.ib;break;case 133:c=R(this,this.J+U(this));this.A-=this.B.ib;break;case 134:c=Of(this,this.P+U(this));this.A-=this.B.ib;break;case 135:c=R(this,this.H+U(this));this.A-=this.B.ib;break;case 192:c=this.G&255;break;case 193:c=this.I&255;break;
case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&255;break;case 1:b=this.I&255;break;case 2:b=this.M&255;break;case 3:b=this.H&255;break;case 4:b=this.G>>8&255;break;case 5:b=this.I>>8&255;break;case 6:b=this.M>>8&255;break;case 7:b=this.H>>8&255;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=this.G&
@ -204,14 +204,14 @@ function Ce(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=R(this,this.H
case 65:b=R(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Of(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Of(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=R(this,this.K+this.T());this.C=this.D;break;case 69:b=R(this,this.J+this.T());this.C=this.D;break;case 70:b=Of(this,this.P+this.T());this.C=this.D;break;case 71:b=R(this,this.H+this.T());this.C=this.D;break;case 128:b=R(this,this.H+this.K+U(this));this.C=this.D;break;case 129:b=R(this,this.H+this.J+U(this));
this.C=this.D;break;case 130:b=Of(this,this.P+this.K+U(this));this.C=this.D;break;case 131:b=Of(this,this.P+this.J+U(this));this.C=this.D;break;case 132:b=R(this,this.K+U(this));this.C=this.D;break;case 133:b=R(this,this.J+U(this));this.C=this.D;break;case 134:b=Of(this,this.P+U(this));this.C=this.D;break;case 135:b=R(this,this.H+U(this));this.C=this.D;break;case 192:b=this.G&255;break;case 193:b=this.I&255;break;case 194:b=this.M&255;break;case 195:b=this.H&255;break;case 196:b=this.G>>8&255;break;
case 197:b=this.I>>8&255;break;case 198:b=this.M>>8&255;break;case 199:b=this.H>>8&255;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&255;break;case 1:c=this.I&255;break;case 2:c=this.M&255;break;case 3:c=this.H&255;break;case 4:c=this.G>>8&255;break;case 5:c=this.I>>8&255;break;case 6:c=this.M>>8&255;break;case 7:c=this.H>>8&255;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Sf(this,a);this.A-=this.B.dd;break;case 1:case 2:Sf(this,a);this.A-=this.B.ed;break;case 4:case 5:case 7:Sf(this,
a);this.A-=this.B.Ic;break;case 6:Sf(this,a);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Sf(this,a);this.A-=this.B.cc;break;case 65:case 66:case 129:case 130:Sf(this,a);this.A-=this.B.dc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Sf(this,a);this.A-=this.B.ib;break;case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I=
a);this.A-=this.B.Jc;break;case 6:Sf(this,a);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Sf(this,a);this.A-=this.B.cc;break;case 65:case 66:case 129:case 130:Sf(this,a);this.A-=this.B.dc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Sf(this,a);this.A-=this.B.ib;break;case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I=
this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8}}
function De(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=R(this,this.H+this.K);this.C=this.D;break;case 1:c=R(this,this.H+this.J);this.C=this.D;break;case 2:c=Of(this,this.P+this.K);this.C=this.D;break;case 3:c=Of(this,this.P+this.J);this.C=this.D;break;case 4:c=R(this,this.K);this.C=this.D;break;case 5:c=R(this,this.J);this.C=this.D;break;case 6:c=R(this,U(this));this.C=this.D;break;case 7:c=R(this,this.H);this.C=this.D;break;case 64:c=R(this,this.H+this.K+this.T());this.C=this.D;break;
case 65:c=R(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Of(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Of(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=R(this,this.K+this.T());this.C=this.D;break;case 69:c=R(this,this.J+this.T());this.C=this.D;break;case 70:c=Of(this,this.P+this.T());this.C=this.D;break;case 71:c=R(this,this.H+this.T());this.C=this.D;break;case 128:c=R(this,this.H+this.K+U(this));this.C=this.D;break;case 129:c=R(this,this.H+this.J+U(this));
this.C=this.D;break;case 130:c=Of(this,this.P+this.K+U(this));this.C=this.D;break;case 131:c=Of(this,this.P+this.J+U(this));this.C=this.D;break;case 132:c=R(this,this.K+U(this));this.C=this.D;break;case 133:c=R(this,this.J+U(this));this.C=this.D;break;case 134:c=Of(this,this.P+U(this));this.C=this.D;break;case 135:c=R(this,this.H+U(this));this.C=this.D;break;case 192:c=this.G&255;break;case 193:c=this.I&255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;
case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Sf(this,c);this.A-=this.B.dd;break;case 1:case 2:Sf(this,c);this.A-=this.B.ed;break;case 4:case 5:case 7:Sf(this,c);this.A-=this.B.Ic;break;case 6:Sf(this,c);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Sf(this,c);this.A-=this.B.cc;break;case 65:case 66:case 129:case 130:Sf(this,c);this.A-=this.B.dc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Sf(this,
case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Sf(this,c);this.A-=this.B.dd;break;case 1:case 2:Sf(this,c);this.A-=this.B.ed;break;case 4:case 5:case 7:Sf(this,c);this.A-=this.B.Jc;break;case 6:Sf(this,c);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Sf(this,c);this.A-=this.B.cc;break;case 65:case 66:case 129:case 130:Sf(this,c);this.A-=this.B.dc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Sf(this,
c);this.A-=this.B.ib;break;case 192:this.G=this.G&-256|c;break;case 193:this.I=this.I&-256|c;break;case 194:this.M=this.M&-256|c;break;case 195:this.H=this.H&-256|c;break;case 196:this.G=this.G&-65281|c<<8;break;case 197:this.I=this.I&-65281|c<<8;break;case 198:this.M=this.M&-65281|c<<8;break;case 199:this.H=this.H&-65281|c<<8}}
function Ee(a){var b,c;switch((this.L=this.xa())&199){case 0:c=S(this,this.H+this.K);this.A-=this.B.dd;break;case 1:c=S(this,this.H+this.J);this.A-=this.B.ed;break;case 2:c=Qf(this,this.P+this.K);this.A-=this.B.ed;break;case 3:c=Qf(this,this.P+this.J);this.A-=this.B.dd;break;case 4:c=S(this,this.K);this.A-=this.B.Ic;break;case 5:c=S(this,this.J);this.A-=this.B.Ic;break;case 6:c=S(this,U(this));this.A-=this.B.Jd;break;case 7:c=S(this,this.H);this.A-=this.B.Ic;break;case 64:c=S(this,this.H+this.K+this.T());
function Ee(a){var b,c;switch((this.L=this.xa())&199){case 0:c=S(this,this.H+this.K);this.A-=this.B.dd;break;case 1:c=S(this,this.H+this.J);this.A-=this.B.ed;break;case 2:c=Qf(this,this.P+this.K);this.A-=this.B.ed;break;case 3:c=Qf(this,this.P+this.J);this.A-=this.B.dd;break;case 4:c=S(this,this.K);this.A-=this.B.Jc;break;case 5:c=S(this,this.J);this.A-=this.B.Jc;break;case 6:c=S(this,U(this));this.A-=this.B.Jd;break;case 7:c=S(this,this.H);this.A-=this.B.Jc;break;case 64:c=S(this,this.H+this.K+this.T());
this.A-=this.B.cc;break;case 65:c=S(this,this.H+this.J+this.T());this.A-=this.B.dc;break;case 66:c=Qf(this,this.P+this.K+this.T());this.A-=this.B.dc;break;case 67:c=Qf(this,this.P+this.J+this.T());this.A-=this.B.cc;break;case 68:c=S(this,this.K+this.T());this.A-=this.B.ib;break;case 69:c=S(this,this.J+this.T());this.A-=this.B.ib;break;case 70:c=Qf(this,this.P+this.T());this.A-=this.B.ib;break;case 71:c=S(this,this.H+this.T());this.A-=this.B.ib;break;case 128:c=S(this,this.H+this.K+U(this));this.A-=
this.B.cc;break;case 129:c=S(this,this.H+this.J+U(this));this.A-=this.B.dc;break;case 130:c=Qf(this,this.P+this.K+U(this));this.A-=this.B.dc;break;case 131:c=Qf(this,this.P+this.J+U(this));this.A-=this.B.cc;break;case 132:c=S(this,this.K+U(this));this.A-=this.B.ib;break;case 133:c=S(this,this.J+U(this));this.A-=this.B.ib;break;case 134:c=Qf(this,this.P+U(this));this.A-=this.B.ib;break;case 135:c=S(this,this.H+U(this));this.A-=this.B.ib;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break;
case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=J(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&65535;break;case 1:b=this.I&65535;break;case 2:b=this.M&65535;break;case 3:b=this.H&65535;break;case 4:b=J(this)&65535;break;case 5:b=this.P&65535;break;case 6:b=this.K&65535;break;case 7:b=this.J&65535;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=
@ -220,14 +220,14 @@ function Fe(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=S(this,this.H
case 65:b=S(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Qf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Qf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=S(this,this.K+this.T());this.C=this.D;break;case 69:b=S(this,this.J+this.T());this.C=this.D;break;case 70:b=Qf(this,this.P+this.T());this.C=this.D;break;case 71:b=S(this,this.H+this.T());this.C=this.D;break;case 128:b=S(this,this.H+this.K+U(this));this.C=this.D;break;case 129:b=S(this,this.H+this.J+U(this));
this.C=this.D;break;case 130:b=Qf(this,this.P+this.K+U(this));this.C=this.D;break;case 131:b=Qf(this,this.P+this.J+U(this));this.C=this.D;break;case 132:b=S(this,this.K+U(this));this.C=this.D;break;case 133:b=S(this,this.J+U(this));this.C=this.D;break;case 134:b=Qf(this,this.P+U(this));this.C=this.D;break;case 135:b=S(this,this.H+U(this));this.C=this.D;break;case 192:b=this.G&65535;break;case 193:b=this.I&65535;break;case 194:b=this.M&65535;break;case 195:b=this.H&65535;break;case 196:b=J(this)&65535;
break;case 197:b=this.P&65535;break;case 198:b=this.K&65535;break;case 199:b=this.J&65535;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&65535;break;case 1:c=this.I&65535;break;case 2:c=this.M&65535;break;case 3:c=this.H&65535;break;case 4:c=J(this)&65535;break;case 5:c=this.P&65535;break;case 6:c=this.K&65535;break;case 7:c=this.J&65535;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Tf(this,a);this.A-=this.B.dd;break;case 1:case 2:Tf(this,a);this.A-=this.B.ed;break;case 4:case 5:case 7:Tf(this,
a);this.A-=this.B.Ic;break;case 6:Tf(this,a);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Tf(this,a);this.A-=this.B.cc;break;case 65:case 66:case 129:case 130:Tf(this,a);this.A-=this.B.dc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Tf(this,a);this.A-=this.B.ib;break;case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:I(this,J(this)&-65536|a);break;
a);this.A-=this.B.Jc;break;case 6:Tf(this,a);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Tf(this,a);this.A-=this.B.cc;break;case 65:case 66:case 129:case 130:Tf(this,a);this.A-=this.B.dc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Tf(this,a);this.A-=this.B.ib;break;case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:I(this,J(this)&-65536|a);break;
case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a}}
function Ge(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=S(this,this.H+this.K);this.C=this.D;break;case 1:c=S(this,this.H+this.J);this.C=this.D;break;case 2:c=Qf(this,this.P+this.K);this.C=this.D;break;case 3:c=Qf(this,this.P+this.J);this.C=this.D;break;case 4:c=S(this,this.K);this.C=this.D;break;case 5:c=S(this,this.J);this.C=this.D;break;case 6:c=S(this,U(this));this.C=this.D;break;case 7:c=S(this,this.H);this.C=this.D;break;case 64:c=S(this,this.H+this.K+this.T());this.C=this.D;break;
case 65:c=S(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Qf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Qf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=S(this,this.K+this.T());this.C=this.D;break;case 69:c=S(this,this.J+this.T());this.C=this.D;break;case 70:c=Qf(this,this.P+this.T());this.C=this.D;break;case 71:c=S(this,this.H+this.T());this.C=this.D;break;case 128:c=S(this,this.H+this.K+U(this));this.C=this.D;break;case 129:c=S(this,this.H+this.J+U(this));
this.C=this.D;break;case 130:c=Qf(this,this.P+this.K+U(this));this.C=this.D;break;case 131:c=Qf(this,this.P+this.J+U(this));this.C=this.D;break;case 132:c=S(this,this.K+U(this));this.C=this.D;break;case 133:c=S(this,this.J+U(this));this.C=this.D;break;case 134:c=Qf(this,this.P+U(this));this.C=this.D;break;case 135:c=S(this,this.H+U(this));this.C=this.D;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=J(this)&65535;
break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Tf(this,c);this.A-=this.B.dd;break;case 1:case 2:Tf(this,c);this.A-=this.B.ed;break;case 4:case 5:case 7:Tf(this,c);this.A-=this.B.Ic;break;case 6:Tf(this,c);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Tf(this,c);this.A-=this.B.cc;break;case 65:case 66:case 129:case 130:Tf(this,c);this.A-=this.B.dc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Tf(this,
break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Tf(this,c);this.A-=this.B.dd;break;case 1:case 2:Tf(this,c);this.A-=this.B.ed;break;case 4:case 5:case 7:Tf(this,c);this.A-=this.B.Jc;break;case 6:Tf(this,c);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Tf(this,c);this.A-=this.B.cc;break;case 65:case 66:case 129:case 130:Tf(this,c);this.A-=this.B.dc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Tf(this,
c);this.A-=this.B.ib;break;case 192:this.G=this.G&-65536|c;break;case 193:this.I=this.I&-65536|c;break;case 194:this.M=this.M&-65536|c;break;case 195:this.H=this.H&-65536|c;break;case 196:I(this,J(this)&-65536|c);break;case 197:this.P=this.P&-65536|c;break;case 198:this.K=this.K&-65536|c;break;case 199:this.J=this.J&-65536|c}}
function He(a){var b,c;switch((this.L=this.xa())&199){case 0:c=T(this,this.H+this.K);this.A-=this.B.dd;break;case 1:c=T(this,this.H+this.J);this.A-=this.B.ed;break;case 2:c=Rf(this,this.P+this.K);this.A-=this.B.ed;break;case 3:c=Rf(this,this.P+this.J);this.A-=this.B.dd;break;case 4:c=T(this,this.K);this.A-=this.B.Ic;break;case 5:c=T(this,this.J);this.A-=this.B.Ic;break;case 6:c=T(this,U(this));this.A-=this.B.Jd;break;case 7:c=T(this,this.H);this.A-=this.B.Ic;break;case 64:c=T(this,this.H+this.K+this.T());
function He(a){var b,c;switch((this.L=this.xa())&199){case 0:c=T(this,this.H+this.K);this.A-=this.B.dd;break;case 1:c=T(this,this.H+this.J);this.A-=this.B.ed;break;case 2:c=Rf(this,this.P+this.K);this.A-=this.B.ed;break;case 3:c=Rf(this,this.P+this.J);this.A-=this.B.dd;break;case 4:c=T(this,this.K);this.A-=this.B.Jc;break;case 5:c=T(this,this.J);this.A-=this.B.Jc;break;case 6:c=T(this,U(this));this.A-=this.B.Jd;break;case 7:c=T(this,this.H);this.A-=this.B.Jc;break;case 64:c=T(this,this.H+this.K+this.T());
this.A-=this.B.cc;break;case 65:c=T(this,this.H+this.J+this.T());this.A-=this.B.dc;break;case 66:c=Rf(this,this.P+this.K+this.T());this.A-=this.B.dc;break;case 67:c=Rf(this,this.P+this.J+this.T());this.A-=this.B.cc;break;case 68:c=T(this,this.K+this.T());this.A-=this.B.ib;break;case 69:c=T(this,this.J+this.T());this.A-=this.B.ib;break;case 70:c=Rf(this,this.P+this.T());this.A-=this.B.ib;break;case 71:c=T(this,this.H+this.T());this.A-=this.B.ib;break;case 128:c=T(this,this.H+this.K+U(this));this.A-=
this.B.cc;break;case 129:c=T(this,this.H+this.J+U(this));this.A-=this.B.dc;break;case 130:c=Rf(this,this.P+this.K+U(this));this.A-=this.B.dc;break;case 131:c=Rf(this,this.P+this.J+U(this));this.A-=this.B.cc;break;case 132:c=T(this,this.K+U(this));this.A-=this.B.ib;break;case 133:c=T(this,this.J+U(this));this.A-=this.B.ib;break;case 134:c=Rf(this,this.P+U(this));this.A-=this.B.ib;break;case 135:c=T(this,this.H+U(this));this.A-=this.B.ib;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c=
this.M;break;case 195:c=this.H;break;case 196:c=J(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G;break;case 1:b=this.I;break;case 2:b=this.M;break;case 3:b=this.H;break;case 4:b=J(this);break;case 5:b=this.P;break;case 6:b=this.K;break;case 7:b=this.J;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.M=a;break;case 3:this.H=a;break;case 4:I(this,a);break;
@ -235,12 +235,12 @@ case 5:this.P=a;break;case 6:this.K=a;break;case 7:this.J=a}}
function Ie(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=T(this,this.H+this.K);this.C=this.D;break;case 1:b=T(this,this.H+this.J);this.C=this.D;break;case 2:b=Rf(this,this.P+this.K);this.C=this.D;break;case 3:b=Rf(this,this.P+this.J);this.C=this.D;break;case 4:b=T(this,this.K);this.C=this.D;break;case 5:b=T(this,this.J);this.C=this.D;break;case 6:b=T(this,U(this));this.C=this.D;break;case 7:b=T(this,this.H);this.C=this.D;break;case 64:b=T(this,this.H+this.K+this.T());this.C=this.D;break;
case 65:b=T(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Rf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Rf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=T(this,this.K+this.T());this.C=this.D;break;case 69:b=T(this,this.J+this.T());this.C=this.D;break;case 70:b=Rf(this,this.P+this.T());this.C=this.D;break;case 71:b=T(this,this.H+this.T());this.C=this.D;break;case 128:b=T(this,this.H+this.K+U(this));this.C=this.D;break;case 129:b=T(this,this.H+this.J+U(this));
this.C=this.D;break;case 130:b=Rf(this,this.P+this.K+U(this));this.C=this.D;break;case 131:b=Rf(this,this.P+this.J+U(this));this.C=this.D;break;case 132:b=T(this,this.K+U(this));this.C=this.D;break;case 133:b=T(this,this.J+U(this));this.C=this.D;break;case 134:b=Rf(this,this.P+U(this));this.C=this.D;break;case 135:b=T(this,this.H+U(this));this.C=this.D;break;case 192:b=this.G;break;case 193:b=this.I;break;case 194:b=this.M;break;case 195:b=this.H;break;case 196:b=J(this);break;case 197:b=this.P;break;
case 198:b=this.K;break;case 199:b=this.J;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G;break;case 1:c=this.I;break;case 2:c=this.M;break;case 3:c=this.H;break;case 4:c=J(this);break;case 5:c=this.P;break;case 6:c=this.K;break;case 7:c=this.J;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Uf(this,a);this.A-=this.B.dd;break;case 1:case 2:Uf(this,a);this.A-=this.B.ed;break;case 4:case 5:case 7:Uf(this,a);this.A-=this.B.Ic;break;case 6:Uf(this,a);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Uf(this,
case 198:b=this.K;break;case 199:b=this.J;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G;break;case 1:c=this.I;break;case 2:c=this.M;break;case 3:c=this.H;break;case 4:c=J(this);break;case 5:c=this.P;break;case 6:c=this.K;break;case 7:c=this.J;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Uf(this,a);this.A-=this.B.dd;break;case 1:case 2:Uf(this,a);this.A-=this.B.ed;break;case 4:case 5:case 7:Uf(this,a);this.A-=this.B.Jc;break;case 6:Uf(this,a);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Uf(this,
a);this.A-=this.B.cc;break;case 65:case 66:case 129:case 130:Uf(this,a);this.A-=this.B.dc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Uf(this,a);this.A-=this.B.ib;break;case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:I(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a}}
function Le(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=T(this,this.H+this.K);this.C=this.D;break;case 1:c=T(this,this.H+this.J);this.C=this.D;break;case 2:c=Rf(this,this.P+this.K);this.C=this.D;break;case 3:c=Rf(this,this.P+this.J);this.C=this.D;break;case 4:c=T(this,this.K);this.C=this.D;break;case 5:c=T(this,this.J);this.C=this.D;break;case 6:c=T(this,U(this));this.C=this.D;break;case 7:c=T(this,this.H);this.C=this.D;break;case 64:c=T(this,this.H+this.K+this.T());this.C=this.D;break;
case 65:c=T(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Rf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Rf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=T(this,this.K+this.T());this.C=this.D;break;case 69:c=T(this,this.J+this.T());this.C=this.D;break;case 70:c=Rf(this,this.P+this.T());this.C=this.D;break;case 71:c=T(this,this.H+this.T());this.C=this.D;break;case 128:c=T(this,this.H+this.K+U(this));this.C=this.D;break;case 129:c=T(this,this.H+this.J+U(this));
this.C=this.D;break;case 130:c=Rf(this,this.P+this.K+U(this));this.C=this.D;break;case 131:c=Rf(this,this.P+this.J+U(this));this.C=this.D;break;case 132:c=T(this,this.K+U(this));this.C=this.D;break;case 133:c=T(this,this.J+U(this));this.C=this.D;break;case 134:c=Rf(this,this.P+U(this));this.C=this.D;break;case 135:c=T(this,this.H+U(this));this.C=this.D;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=J(this);break;case 197:c=this.P;break;
case 198:c=this.K;break;case 199:c=this.J}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Uf(this,c);this.A-=this.B.dd;break;case 1:case 2:Uf(this,c);this.A-=this.B.ed;break;case 4:case 5:case 7:Uf(this,c);this.A-=this.B.Ic;break;case 6:Uf(this,c);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Uf(this,c);this.A-=this.B.cc;break;case 65:case 66:case 129:case 130:Uf(this,c);this.A-=this.B.dc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Uf(this,
case 198:c=this.K;break;case 199:c=this.J}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Uf(this,c);this.A-=this.B.dd;break;case 1:case 2:Uf(this,c);this.A-=this.B.ed;break;case 4:case 5:case 7:Uf(this,c);this.A-=this.B.Jc;break;case 6:Uf(this,c);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Uf(this,c);this.A-=this.B.cc;break;case 65:case 66:case 129:case 130:Uf(this,c);this.A-=this.B.dc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Uf(this,
c);this.A-=this.B.ib;break;case 192:this.G=c;break;case 193:this.I=c;break;case 194:this.M=c;break;case 195:this.H=c;break;case 196:I(this,c);break;case 197:this.P=c;break;case 198:this.K=c;break;case 199:this.J=c}}
function Me(a){var b,c;switch((this.L=this.xa())&199){case 0:c=R(this,this.G);break;case 1:c=R(this,this.I);break;case 2:c=R(this,this.M);break;case 3:c=R(this,this.H);break;case 4:c=R(this,Fj.call(this,0));break;case 5:c=R(this,U(this));break;case 6:c=R(this,this.K);break;case 7:c=R(this,this.J);break;case 64:c=R(this,this.G+this.T());break;case 65:c=R(this,this.I+this.T());break;case 66:c=R(this,this.M+this.T());break;case 67:c=R(this,this.H+this.T());break;case 68:c=R(this,Fj.call(this,1)+this.T());
break;case 69:c=Of(this,this.P+this.T());break;case 70:c=R(this,this.K+this.T());break;case 71:c=R(this,this.J+this.T());break;case 128:c=R(this,this.G+U(this));break;case 129:c=R(this,this.I+U(this));break;case 130:c=R(this,this.M+U(this));break;case 131:c=R(this,this.H+U(this));break;case 132:c=R(this,Fj.call(this,2)+U(this));break;case 133:c=Of(this,this.P+U(this));break;case 134:c=R(this,this.K+U(this));break;case 135:c=R(this,this.J+U(this));break;case 192:c=this.G&255;break;case 193:c=this.I&
@ -283,7 +283,7 @@ this.D;break;case 131:c=T(this,this.H+U(this));this.C=this.D;break;case 132:c=T(
function Fj(a){var b=this.xa(),c=b>>6,d,e;switch(b>>3&7){case 0:d=this.G;break;case 1:d=this.I;break;case 2:d=this.M;break;case 3:d=this.H;break;case 4:d=0;break;case 5:d=this.P;break;case 6:d=this.K;break;case 7:d=this.J}switch(b&7){case 0:e=this.G;break;case 1:e=this.I;break;case 2:e=this.M;break;case 3:e=this.H;break;case 4:e=J(this);this.ka=this.Ka;break;case 5:a?(e=this.P,this.ka=this.Ka):e=U(this);break;case 6:e=this.K;break;case 7:e=this.J}return(d<<c)+e|0}
function ie(){this.tc[this.xa()].call(this)}function le(){K(this,J(this)&this.R);this.A-=this.B.Sc}function Kd(){this.U=this.fa;var a=J(this)&this.R;K(this,this.G&this.R);K(this,this.I&this.R);K(this,this.M&this.R);K(this,this.H&this.R);K(this,a);K(this,this.P&this.R);K(this,this.K&this.R);K(this,this.J&this.R);this.A-=this.B.yk;this.U=-1}
function Ld(){this.U=this.fa;this.J=this.J&~this.R|G(this);this.K=this.K&~this.R|G(this);this.P=this.P&~this.R|G(this);I(this,J(this)+this.ba);this.H=this.H&~this.R|G(this);this.M=this.M&~this.R|G(this);this.I=this.I&~this.R|G(this);this.G=this.G&~this.R|G(this);this.A-=this.B.wk;this.U=-1}function Md(){this.V.call(this,Ch)}function me(){!(this.Za&1)||this.ca&131072?D.call(this,6):this.ea.call(this,Bh)}function ne(){this.S|=20;this.ka=this.Ka=this.Nb;this.A-=this.B.nd}
function oe(){this.S|=20;this.ka=this.Ka=this.Ob;this.A-=this.B.nd}function pe(){this.S|=1024;this.Ia&1024||(this.ba^=6,this.R^=-65536,ef(this));this.A-=this.B.nd}function qe(){this.S|=2048;this.Ia&2048||(this.Nc^=6,this.Ba^=-65536,Ae(this));this.A-=this.B.nd}function Nd(){K(this,this.Ma());this.A-=this.B.Sc}function Od(){this.V.call(this,Uh)}function Pd(){K(this,this.T());this.A-=this.B.Sc}function Qd(){this.V.call(this,Sh)}
function oe(){this.S|=20;this.ka=this.Ka=this.Ob;this.A-=this.B.nd}function pe(){this.S|=1024;this.Ia&1024||(this.ba^=6,this.R^=-65536,ef(this));this.A-=this.B.nd}function qe(){this.S|=2048;this.Ia&2048||(this.Oc^=6,this.Ba^=-65536,Ae(this));this.A-=this.B.nd}function Nd(){K(this,this.Ma());this.A-=this.B.Sc}function Od(){this.V.call(this,Uh)}function Pd(){K(this,this.T());this.A-=this.B.Sc}function Qd(){this.V.call(this,Sh)}
function Rd(){var a=1,b=0,c=this.Ba,d=5;this.Ia&192&&(a=this.I&c,b=1,this.Ia&256&&(d=4));if(a--){var e=this.M&65535;Lf(this,e,1,!0)&&(e=oc(this.ga,e,1,this.Ha-b-1),this.qc(this.Xa.nc(this.J&c,1),e),this.J=this.J&~c|this.J+(this.ca&1024?-1:1)&c,this.I=this.I&~c|this.I-b&c,this.A-=d,a&&(rf(this),this.S|=256))}}
function Sd(){var a=1,b=0,c=this.Ba,d=5;this.Ia&192&&(a=this.I&c,b=1,this.Ia&256&&(d=4));if(a--){var e=this.M&65535;Lf(this,e,this.ba,!0)&&(e=oc(this.ga,e,this.ba,this.Ha-b-1),this.rc(this.Xa.nc(this.J&c,this.ba),e),this.J=this.J&~c|this.J+(this.ca&1024?-this.ba:this.ba)&c,this.I=this.I&~c|this.I-b&c,this.A-=d,a&&(rf(this),this.S|=256))}}
function Td(){var a=1,b=0,c=this.Ba,d=5;this.Ia&192&&(a=this.I&c,b=1,this.Ia&256&&(d=4));if(a--){var e=this.M&65535;if(Lf(this,e,1,!1)){var f=this.Qa(this.vb.mc(this.K&c,1));sc(this.ga,e,1,f,this.Ha-b-1);this.K=this.K&~c|this.K+(this.ca&1024?-1:1)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(rf(this),this.S|=256)}}}
@ -344,9 +344,9 @@ a;var c=a<<16>>16,d=(b=this.M<<16|this.G&65535)/c|0;if(d!=d<<16>>16||8086==this.
a+1|0;sf(this,a,1,b,190);this.A-=-1===this.D?this.B.Sf:this.B.Rf;return b&255},function(a){var b=a-1|0;sf(this,a,1,b,190,!0);this.A-=-1===this.D?this.B.Sf:this.B.Rf;return b&255},Rh,Rh,Rh,Rh,Rh,Rh],Hd=[function(a){var b=a+1|0;sf(this,a,1,b,this.Ga|62);this.A-=-1===this.D?this.B.Sf:this.B.Rf;return b&this.R},function(a){var b=a-1|0;sf(this,a,1,b,this.Ga|62,!0);this.A-=-1===this.D?this.B.Sf:this.B.Rf;return b&this.R},function(a){K(this,M(this));Q(this,a);this.A-=-1===this.D?this.B.Oj:this.B.Nj;this.S|=
2;return a},function(a){if(-1===this.D)return Rh.call(this,a);this.U=this.fa;Aj.call(this,a,this.na(this.D+this.ba));this.A-=this.B.Lj;this.S|=2;this.U=-1;return a},function(a){Q(this,a);this.A-=-1===this.D?this.B.ik:this.B.hk;this.S|=2;return a},function(a){if(-1===this.D)return Rh.call(this,a);Cd(this,a,this.na(this.D+this.ba));this.A-=this.B.fk;this.S|=2;return a},function(a){var b=a;this.S&512&&(a=a-2&65535,80286>this.ja&&(b=a));K(this,b);this.A-=-1===this.D?this.B.Sc:this.B.zk;this.S|=2;return a},
Rh];function re(){this.V.call(this,kj);this.A-=-1===this.D?6:13}function se(){this.ea.call(this,jj);this.A-=-1===this.D?12:19}var je=Array(256);je[0]=function(){16>(this.Qa(this.Ha)&56)&&(this.S|=1);this.ya.call(this,this.kg,yj)};je[1]=function(){this.Qa(this.Ha)&16||(this.S|=1);this.ya.call(this,rk,yj)};je[2]=function(){!(this.Za&1)||this.ca&131072?D.call(this,6):this.V.call(this,Yh)};je[3]=function(){!(this.Za&1)||this.ca&131072?D.call(this,6):this.V.call(this,di)};
je[5]=function(){this.pa?D.call(this,13,0,0,!0):(Kf(this,this.na(2054)),this.J=this.na(2086),this.K=this.na(2088),this.P=this.na(2090),this.H=this.na(2094),this.M=this.na(2096),this.I=this.na(2098),this.G=this.na(2100),md(this.Xa,2102,this.na(2084)),md(this.wa,2108,this.na(2082)),md(this.ta,2114,this.na(2080)),md(this.vb,2120,this.na(2078)),Bd(this,this.na(2072)),Q(this,this.na(2074)),I(this,this.na(2092)),this.Dc=this.na(2126)|this.Qa(2128)<<16,this.zd=this.Dc+this.na(2130),this.Lc=this.na(2138)|
this.Qa(2140)<<16,this.Sd=this.Lc+this.na(2142),md(this.Bc,2132,this.na(2076)),md(this.Sa,2144,this.na(2070)),this.A-=195)};je[6]=function(){this.pa?D.call(this,13,0):(this.Za&=-9,this.A-=2)};je[11]=Jd;je[166]=Jd;je[255]=Jd;var N=[];N[5]=Jd;
N[7]=function(){if(this.pa)D.call(this,13,0,0,!0);else{var a=this.Xa.mc(this.J&this.Ba,204);if(-1!==a){tj.call(this,this.oa(a));var b=this.oa(a+168),c=(b&24576)>>13;Bd(this,this.oa(a+4),c);this.Dc=this.oa(a+112);this.zd=this.Dc+this.oa(a+116);this.Lc=this.oa(a+100);this.Sd=this.Lc+this.oa(a+104);ld(this.Bc,this.oa(a+56),this.oa(a+120),this.oa(a+124),this.oa(a+128));ld(this.Sa,this.oa(a+52),this.oa(a+84),this.oa(a+88),this.oa(a+92));this.J=this.oa(a+12);this.K=this.oa(a+16);this.P=this.oa(a+20);this.H=
je[5]=function(){this.pa?D.call(this,13,0,0,!0):(Kf(this,this.na(2054)),this.J=this.na(2086),this.K=this.na(2088),this.P=this.na(2090),this.H=this.na(2094),this.M=this.na(2096),this.I=this.na(2098),this.G=this.na(2100),md(this.Xa,2102,this.na(2084)),md(this.wa,2108,this.na(2082)),md(this.ta,2114,this.na(2080)),md(this.vb,2120,this.na(2078)),Bd(this,this.na(2072)),Q(this,this.na(2074)),I(this,this.na(2092)),this.Ec=this.na(2126)|this.Qa(2128)<<16,this.zd=this.Ec+this.na(2130),this.Mc=this.na(2138)|
this.Qa(2140)<<16,this.Sd=this.Mc+this.na(2142),md(this.Bc,2132,this.na(2076)),md(this.Sa,2144,this.na(2070)),this.A-=195)};je[6]=function(){this.pa?D.call(this,13,0):(this.Za&=-9,this.A-=2)};je[11]=Jd;je[166]=Jd;je[255]=Jd;var N=[];N[5]=Jd;
N[7]=function(){if(this.pa)D.call(this,13,0,0,!0);else{var a=this.Xa.mc(this.J&this.Ba,204);if(-1!==a){tj.call(this,this.oa(a));var b=this.oa(a+168),c=(b&24576)>>13;Bd(this,this.oa(a+4),c);this.Ec=this.oa(a+112);this.zd=this.Ec+this.oa(a+116);this.Mc=this.oa(a+100);this.Sd=this.Mc+this.oa(a+104);ld(this.Bc,this.oa(a+56),this.oa(a+120),this.oa(a+124),this.oa(a+128));ld(this.Sa,this.oa(a+52),this.oa(a+84),this.oa(a+88),this.oa(a+92));this.J=this.oa(a+12);this.K=this.oa(a+16);this.P=this.oa(a+20);this.H=
this.oa(a+28);this.M=this.oa(a+32);this.I=this.oa(a+36);this.G=this.oa(a+40);ld(this.Ob,this.oa(a+60),this.oa(a+132),this.oa(a+136),this.oa(a+140));ld(this.Nb,this.oa(a+64),this.oa(a+144),this.oa(a+148),this.oa(a+152));ld(this.vb,this.oa(a+68),this.oa(a+156),this.oa(a+160),this.oa(a+164));ld(this.ta,this.oa(a+72),b,this.oa(a+172),this.oa(a+176));ld(this.wa,this.oa(a+76),this.oa(a+180),this.oa(a+184),this.oa(a+188));ld(this.Xa,this.oa(a+80),this.oa(a+192),this.oa(a+196),this.oa(a+200));Q(this,this.oa(a+
8));I(this,this.oa(a+24))}this.A-=122<<(a&3?1:0)}};N[16]=Yj;N[17]=Zj;N[18]=ak;N[19]=bk;N[32]=function(){if(this.pa)D.call(this,13,0);else{var a,b=this.xa();switch((b&56)>>3){case 0:a=this.Za;break;case 2:a=this.se;break;case 3:a=this.Od;break;default:ke.call(this);return}ze(this,b&7,a);this.A-=6}};N[33]=function(){if(this.pa)D.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;4==b||5==b?ke.call(this):(ze(this,a&7,this.Ja[b]),this.A-=22)}};
N[34]=function(){if(this.pa)D.call(this,13,0);else{var a=this.xa(),b=ye(this,a&7);switch((a&56)>>3){case 0:tj.call(this,b);this.A-=10;break;case 2:this.se=b;this.A-=4;break;case 3:Dd.call(this,b);this.A-=5;break;default:ke.call(this)}}};N[35]=function(){if(this.pa)D.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;4==b||5==b?ke.call(this):(a=ye(this,a&7),a!=this.Ja[b]&&(kf(this,!1),this.Ja[b]=a,kf(this,!0)),this.A-=4>b?22:14)}};
@ -363,48 +363,48 @@ N[182]=function(){this.Oa.call(this,gi);switch(this.L>>3&7){case 0:this.G=this.G
N[188]=function(){this.V.call(this,Dh)};N[189]=function(){this.V.call(this,Eh)};
N[190]=function(){this.Oa.call(this,gi);switch(this.L>>3&7){case 0:this.G=this.G&~this.R|(this.G&255)<<24>>24&this.R;break;case 1:this.I=this.I&~this.R|(this.I&255)<<24>>24&this.R;break;case 2:this.M=this.M&~this.R|(this.M&255)<<24>>24&this.R;break;case 3:this.H=this.H&~this.R|(this.H&255)<<24>>24&this.R;break;case 4:this.gb=this.gb&~this.R|this.G<<16>>24&this.R;this.G=this.aa;break;case 5:this.P=this.P&~this.R|this.I<<16>>24&this.R;this.I=this.aa;break;case 6:this.K=this.K&~this.R|this.M<<16>>24&
this.R;this.M=this.aa;break;case 7:this.J=this.J&~this.R|this.H<<16>>24&this.R,this.H=this.aa}this.A-=-1===this.D?3:6};N[191]=function(){vd(this,2);this.V.call(this,hi);switch(this.L>>3&7){case 0:this.G=this.G<<16>>16;break;case 1:this.I=this.I<<16>>16;break;case 2:this.M=this.M<<16>>16;break;case 3:this.H=this.H<<16>>16;break;case 4:this.gb=this.gb<<16>>16;break;case 5:this.P=this.P<<16>>16;break;case 6:this.K=this.K<<16>>16;break;case 7:this.J=this.J<<16>>16}this.A-=-1===this.D?3:6};
var lf=[function(){this.A-=2+(-1===this.D?0:1);return this.Bc.Z},function(){this.A-=2+(-1===this.D?0:1);return this.Sa.Z},function(a){this.S|=2;this.Bc.load(a);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;-1!==this.Sa.load(a)&&(this.jb(this.Sa.Xb+4,this.Sa.wb|=512),this.Sa.type|=512);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Da.load(a)&&2048!=(this.Da.wb&2560)&&(this.Da.Fc>=this.pa&&this.Da.Fc>=(a&3)||7168==(this.Da.wb&7168)))return Jf(this),
a;Hf(this);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Da.load(a)&&512==(this.Da.wb&2560)&&this.Da.Fc>=this.pa&&this.Da.Fc>=(a&3))return Jf(this),a;Hf(this);return a},Rh,Rh],Id=[he,he,he,he,he,he,Rh,Rh],rk=[function(a){if(-1===this.D)D.call(this,6);else{a=this.zd-this.Dc;var b=this.Dc;80286==this.ja?b|=-16777216:80386<=this.ja&&2!=this.ba&&(a|=b<<16);this.nb(this.D+2,b);this.A-=11}return a},function(a){if(-1===this.D)D.call(this,6);else{a=this.Sd-this.Lc;var b=this.Lc;
80286==this.ja?b|=-16777216:80386<=this.ja&&2!=this.ba&&(a|=b<<16);this.nb(this.D+2,b);this.A-=12}return a},function(a){-1===this.D||this.ca&131072?D.call(this,6):(this.Dc=this.oa(this.D+2)&(this.R|this.R<<8),a&=65535,this.zd=this.Dc+a,this.S|=2,this.A-=11);return a},function(a){-1===this.D||this.ca&131072?D.call(this,6):(this.Lc=this.oa(this.D+2)&(this.R|this.R<<8),a&=65535,this.Sd=this.Lc+a,this.S|=2,this.A-=12);return a},function(){this.A-=2+(-1===this.D?0:1);return this.Za},Rh,function(a){this.ca&
var lf=[function(){this.A-=2+(-1===this.D?0:1);return this.Bc.Z},function(){this.A-=2+(-1===this.D?0:1);return this.Sa.Z},function(a){this.S|=2;this.Bc.load(a);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;-1!==this.Sa.load(a)&&(this.jb(this.Sa.Xb+4,this.Sa.wb|=512),this.Sa.type|=512);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Da.load(a)&&2048!=(this.Da.wb&2560)&&(this.Da.Gc>=this.pa&&this.Da.Gc>=(a&3)||7168==(this.Da.wb&7168)))return Jf(this),
a;Hf(this);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Da.load(a)&&512==(this.Da.wb&2560)&&this.Da.Gc>=this.pa&&this.Da.Gc>=(a&3))return Jf(this),a;Hf(this);return a},Rh,Rh],Id=[he,he,he,he,he,he,Rh,Rh],rk=[function(a){if(-1===this.D)D.call(this,6);else{a=this.zd-this.Ec;var b=this.Ec;80286==this.ja?b|=-16777216:80386<=this.ja&&2!=this.ba&&(a|=b<<16);this.nb(this.D+2,b);this.A-=11}return a},function(a){if(-1===this.D)D.call(this,6);else{a=this.Sd-this.Mc;var b=this.Mc;
80286==this.ja?b|=-16777216:80386<=this.ja&&2!=this.ba&&(a|=b<<16);this.nb(this.D+2,b);this.A-=12}return a},function(a){-1===this.D||this.ca&131072?D.call(this,6):(this.Ec=this.oa(this.D+2)&(this.R|this.R<<8),a&=65535,this.zd=this.Ec+a,this.S|=2,this.A-=11);return a},function(a){-1===this.D||this.ca&131072?D.call(this,6):(this.Mc=this.oa(this.D+2)&(this.R|this.R<<8),a&=65535,this.Sd=this.Mc+a,this.S|=2,this.A-=12);return a},function(){this.A-=2+(-1===this.D?0:1);return this.Za},Rh,function(a){this.ca&
131072?D.call(this,6):(Kf(this,a),this.A-=-1===this.D?3:6,this.S|=2);return a},Rh],sk=[Rh,Rh,Rh,Rh,Fh,Ih,Hh,Gh];
function tk(a){Za.call(this,"ChipSet",a,tk,32768);var b=a.model;b&&!uk[b]&&x("Unrecognized ChipSet model: "+b);this.ja=uk[b]||vk;this.C=[];b=wk(a[xk]);this.C[0]=[b,b];null==b&&(this.ia=[360,360],(b=a.floppies)&&b.length&&(this.ia=b),yk(this,zk,this.ia.length),yk(this,Ak,a.monitor||(this.ja<gg?"mono":"ega")));b=wk(a[Bk]);this.C[1]=[b,b];this.cb=this.Da=1;this.ja>=gg&&(this.cb=this.Da=2);this.ka=a.scaleTimers||!1;this.Ub=a.rtcDate;this.Db=!1;a.sound&&(this.sb=this.Fa=null,window&&(this.sb=window.AudioContext||
window.webkitAudioContext),this.sb&&(this.Fa=new this.sb));this.reset(!0);wb(this)}hb(tk);var vk=5150.9,gg=5170,uk={5150:5150,5160:5160,5170:gg,att6300:5160.101,mpc1600:5150.101,z150:5160.15,compaq:5150.102,other:vk,deskpro386:5180},xk="sw1",Bk="sw2",Ck={il:1,ONE:0,Ho:64,Fo:128,wo:192,Kc:192,Wg:6},Dk={Go:16,so:32,xo:48,Kc:48,Wg:4},zk=1,Ak=4,Ek={5150:[{},{}]};Ek[5150][0][zk]={Kc:192,gd:{1:0,2:64,3:128,4:192},Pd:"Number of Floppy Drives"};Ek[5150][0][3]={Kc:2,gd:{0:0,1:2},Pd:"Coprocessor"};
Ek[5150][0][Ak]={Kc:48,gd:{0:0,1:16,2:32,3:48,none:0,tv:16,color:32,cga:32,mda:48,mono:48,ega:0,vga:0},Pd:"Monitor Type"};Ek[5150][0][5]={Kc:12,gd:{16:0,32:4,48:8,64:12},Pd:"Base Memory (16Kb Increments)"};Ek[5150][1][6]={Kc:31,gd:{0:0,32:1,64:2,96:3,128:4,160:5,192:6,224:7,256:8,288:9,320:10,352:11,384:12,416:13,448:14,480:15,512:16,544:17,576:18},Pd:"Expansion Memory (32Kb Increments)"};Ek[5160]=[{},{}];Ek[5160][0][zk]=Ek[5150][0][zk];Ek[5160][0][3]=Ek[5150][0][3];Ek[5160][0][Ak]=Ek[5150][0][Ak];
Ek[5160][0][5]={Kc:12,gd:{64:0,128:4,192:8,256:12},Pd:"Base Memory (64Kb Increments)"};Ek[5160][1][6]=Ek[5150][1][6];Ek[5160.101]=[{},{}];Ek[5160.101][0][5]={Kc:143,gd:{128:1,256:130,512:8,640:141},Pd:"Base Memory (128Kb Increments)"};Ek[5160.101][0][3]={Kc:16,gd:{0:0,1:16},Pd:"Coprocessor"};Ek[5160.101][1][2]={Kc:1,gd:{0:0,1:1},Pd:"Floppy Type"};Ek[5160.101][1][zk]=Ek[5150][0][zk];Ek[5160.101][1][Ak]=Ek[5150][0][Ak];m=tk.prototype;
window.webkitAudioContext),this.sb&&(this.Fa=new this.sb));this.reset(!0);wb(this)}hb(tk);var vk=5150.9,gg=5170,uk={5150:5150,5160:5160,5170:gg,att6300:5160.101,mpc1600:5150.101,z150:5160.15,compaq:5150.102,other:vk,deskpro386:5180},xk="sw1",Bk="sw2",Ck={il:1,ONE:0,Ho:64,Fo:128,wo:192,Lc:192,Wg:6},Dk={Go:16,so:32,xo:48,Lc:48,Wg:4},zk=1,Ak=4,Ek={5150:[{},{}]};Ek[5150][0][zk]={Lc:192,gd:{1:0,2:64,3:128,4:192},Pd:"Number of Floppy Drives"};Ek[5150][0][3]={Lc:2,gd:{0:0,1:2},Pd:"Coprocessor"};
Ek[5150][0][Ak]={Lc:48,gd:{0:0,1:16,2:32,3:48,none:0,tv:16,color:32,cga:32,mda:48,mono:48,ega:0,vga:0},Pd:"Monitor Type"};Ek[5150][0][5]={Lc:12,gd:{16:0,32:4,48:8,64:12},Pd:"Base Memory (16Kb Increments)"};Ek[5150][1][6]={Lc:31,gd:{0:0,32:1,64:2,96:3,128:4,160:5,192:6,224:7,256:8,288:9,320:10,352:11,384:12,416:13,448:14,480:15,512:16,544:17,576:18},Pd:"Expansion Memory (32Kb Increments)"};Ek[5160]=[{},{}];Ek[5160][0][zk]=Ek[5150][0][zk];Ek[5160][0][3]=Ek[5150][0][3];Ek[5160][0][Ak]=Ek[5150][0][Ak];
Ek[5160][0][5]={Lc:12,gd:{64:0,128:4,192:8,256:12},Pd:"Base Memory (64Kb Increments)"};Ek[5160][1][6]=Ek[5150][1][6];Ek[5160.101]=[{},{}];Ek[5160.101][0][5]={Lc:143,gd:{128:1,256:130,512:8,640:141},Pd:"Base Memory (128Kb Increments)"};Ek[5160.101][0][3]={Lc:16,gd:{0:0,1:16},Pd:"Coprocessor"};Ek[5160.101][1][2]={Lc:1,gd:{0:0,1:1},Pd:"Floppy Type"};Ek[5160.101][1][zk]=Ek[5150][0][zk];Ek[5160.101][1][Ak]=Ek[5150][0][Ak];m=tk.prototype;
m.Pb=function(a,b,c){switch(b){case xk:return this.qa[b]=c,Fk(this,0,b),!0;case Bk:if(5150==(this.ja|0)||5160.101==this.ja)return this.qa[b]=c,Fk(this,1,b),!0;break;case "swdesc":return this.qa[b]=c,!0}return!1};
m.Hc=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;this.X=a;this.Tb=Jb(a,"FPU");yk(this,3,this.Tb?1:0,!0);this.B=Jb(a,"Keyboard");this.gb=c.Y.Id/1193181;nc(b,this,Gk);rc(b,this,Hk);this.ja<gg?5160.101!=this.ja?(nc(b,this,Ik),rc(b,this,Jk)):(nc(b,this,Kk),rc(b,this,Lk)):(nc(b,this,Mk),rc(b,this,Nk),5180==(this.ja|0)&&(nc(b,this,Ok),rc(b,this,Pk)));if(d){var e=this;Qk(d,1024,function(){for(var a=0;a<e.vc.length;a++){for(var b=e.vc[a],c="PIC"+a+":",d=0;d<b.Yc.length;d++)c+=" IC"+(d+1)+"="+u(b.Yc[d]);
m.Ic=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;this.X=a;this.Tb=Jb(a,"FPU");yk(this,3,this.Tb?1:0,!0);this.B=Jb(a,"Keyboard");this.gb=c.Y.Id/1193181;nc(b,this,Gk);rc(b,this,Hk);this.ja<gg?5160.101!=this.ja?(nc(b,this,Ik),rc(b,this,Jk)):(nc(b,this,Kk),rc(b,this,Lk)):(nc(b,this,Mk),rc(b,this,Nk),5180==(this.ja|0)&&(nc(b,this,Ok),rc(b,this,Pk)));if(d){var e=this;Qk(d,1024,function(){for(var a=0;a<e.vc.length;a++){for(var b=e.vc[a],c="PIC"+a+":",d=0;d<b.Yc.length;d++)c+=" IC"+(d+1)+"="+u(b.Yc[d]);
c+=" IMR="+u(b.Ad)+" IRR="+u(b.lc)+" ISR="+u(b.Pc)+" DELAY="+b.of;e.ha.O(c)}});Qk(d,2048,function(a){a=(a=a[0])?+a:null;for(var b=0;b<e.V.length;b++)if(null==a||b==a){Rk(e,b);var c=e.V[b],d="TIMER"+b+":",l=0;if(null!=c.md)for(var n=0;n<=c.md;n++)l|=c.Ab[n]<<8*n;d+=" mode="+(c.mode>>1)+" bytes="+c.md+" count="+v(l);e.ha.O(d)}});Qk(d,4096,function(){for(var a="",b=0;64>b;b++){var c=13>=b?Sk(e,b):e.A[b];a&&(a+="\n");a+="CMOS["+u(b)+"]: "+u(c)}e.ha.O(a)})}gf(c,26,this.Om.bind(this))};
m.gc=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.fc=function(a){return a?this.save():!0};
m.reset=function(a){var b;Tk(this);this.L=Array(this.cb);for(b=0;b<this.cb;b++)Uk(this,b);this.vc=Array(this.Da);Vk(this,0,32);1<this.Da&&Vk(this,1,160);this.Pa=this.Oa=null;this.V=Array(5180==(this.ja|0)?6:3);for(b=0;b<this.V.length;b++)Wk(this,b);this.Ca=this.rb=this.W=this.$a=null;this.ya=0;5160.101==this.ja&&(this.va=0);if(this.ja>=gg){this.N=16;this.ea=0;this.aa=16;this.Ja=0;this.fa=160;512<=Xk(this)&&(this.fa|=16);3==+Yk(this,Ak,void 0)&&(this.fa|=64);5180==(this.ja|0)&&(this.fa|=12);this.Ka=
3;this.ra=Array(8);this.pa=0;a&&(this.A=Array(64));Zk(this,this.Ub);for(a=21;24>=a;a++)this.A[a]=0;for(a=14;46>a;a++)void 0===this.A[a]&&(this.A[a]=0);a=0|+Yk(this,Ak,void 0)<<Dk.Wg&Dk.Kc;a|=+Yk(this,3,void 0)?2:0;b=+Yk(this,zk,void 0);a|=b?b-1<<Ck.Wg&Ck.Kc|Ck.il:0;this.A[20]=a;this.A[16]=$k(this,0)<<4|$k(this,1);al(this)}};
3;this.ra=Array(8);this.pa=0;a&&(this.A=Array(64));Zk(this,this.Ub);for(a=21;24>=a;a++)this.A[a]=0;for(a=14;46>a;a++)void 0===this.A[a]&&(this.A[a]=0);a=0|+Yk(this,Ak,void 0)<<Dk.Wg&Dk.Lc;a|=+Yk(this,3,void 0)?2:0;b=+Yk(this,zk,void 0);a|=b?b-1<<Ck.Wg&Ck.Lc|Ck.il:0;this.A[20]=a;this.A[16]=$k(this,0)<<4|$k(this,1);al(this)}};
function Zk(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.O("CMOS date invalid ("+b+"), using "+c)):b&&a.O("CMOS date: "+c);a.A[0]=c.getSeconds();a.A[1]=0;a.A[2]=c.getMinutes();a.A[3]=0;a.A[4]=c.getHours();a.A[5]=0;a.A[6]=c.getDay()+1;a.A[7]=c.getDate();a.A[8]=c.getMonth()+1;c=c.getFullYear();a.A[9]=c%100;c/=100;a.A[50]=c%10|c/10<<4;a.A[10]=38;a.A[11]=2;a.A[12]=0;a.A[13]=128;a.Ga=a.ua=0;a.Jb=a.fb=null}
function Sk(a,b){var c=a.A[b];if(10>b){var d=!1;4!=b&&5!=b||a.A[11]&2||(12>c?c=c?c:12:c=(c-=12)?c+128:140,d=!0);a.A[11]&4||(d&&128<c&&(c-=48),c=c%10|c/10<<4)}else 10==b&&(a.A[b]^=128);return c}function bl(a){var b;void 0===b&&(b=a.fb);a.ua=$c(a.F,a.ka)+b;a.A[11]&64&&bd(a.F,b)}function al(a){for(var b=0,c=16;46>c;c++)b+=a.A[c];a.A[47]=b&255;a.A[46]=b>>8}
m.save=function(){var a=new mf(this);O(a,0,[this.C]);for(var b=[],c=0;c<this.L;c++){for(var d=this.L[c],e=d,f=[],g=0;g<e.Cc.length;g++){var h=e.Cc[g];f[g]=[h.Ee,h.ng,h.Ec,h.Eb,h.Ab,h.mode,h.pg,h.lo,h.mo]}b[c]=[d.Yb,d.dh,d.cj,d.Kb,f,d.dj]}O(a,1,[b]);b=[];for(c=0;c<this.vc.length;c++)d=this.vc[c],b[c]=[d.of,d.Yc,d.Xd,d.Ad,d.lc,d.Pc,d.ye,d.Ef];O(a,2,[b]);b=[];for(c=0;c<this.V.length;c++)d=this.V[c],b[c]=[d.Ec,d.$c,d.Ab,d.ze,d.fh,d.mode,d.hg,d.Ed,d.md,d.td,d.bf,d.Be,d.vd,d.Yb,d.ff];O(a,3,[this.Oa,b,this.Pa]);
m.save=function(){var a=new mf(this);O(a,0,[this.C]);for(var b=[],c=0;c<this.L;c++){for(var d=this.L[c],e=d,f=[],g=0;g<e.Dc.length;g++){var h=e.Dc[g];f[g]=[h.Ee,h.ng,h.Fc,h.Eb,h.Ab,h.mode,h.pg,h.lo,h.mo]}b[c]=[d.Yb,d.dh,d.cj,d.Kb,f,d.dj]}O(a,1,[b]);b=[];for(c=0;c<this.vc.length;c++)d=this.vc[c],b[c]=[d.of,d.Yc,d.Xd,d.Ad,d.lc,d.Pc,d.ye,d.Ef];O(a,2,[b]);b=[];for(c=0;c<this.V.length;c++)d=this.V[c],b[c]=[d.Fc,d.$c,d.Ab,d.ze,d.fh,d.mode,d.hg,d.Ed,d.md,d.td,d.bf,d.Be,d.vd,d.Yb,d.ff];O(a,3,[this.Oa,b,this.Pa]);
O(a,4,[this.$a,this.W,this.rb,this.Ca,this.ya]);this.ja>=gg&&(O(a,5,[this.N,this.ea,this.aa,this.Ja,this.fa,this.Ka]),O(a,6,[this.ra[7],this.ra,this.pa,this.A,this.Ga,this.ua]));return a.data()};
m.restore=function(a){var b,c;b=a[0];Array.isArray(b[0])?this.C=b[0]:(this.C[0][0]=b[0],this.C[1][0]=b[1]&15,this.C[0][1]=b[2],this.C[1][1]=b[3]&15);Tk(this);b=a[1];for(c=0;c<this.cb;c++)Uk(this,c,1==b.length?b[0][c]:b);b=a[2];for(c=0;c<this.Da;c++)Vk(this,c,0===c?32:160,b[0][c]);b=a[3];this.Oa=b[0];this.Pa=b[2];for(c=0;c<this.V.length;c++)Wk(this,c,b[1][c]);b=a[4];this.$a=b[0];this.W=b[1];this.rb=b[2];this.Ca=b[3];this.ya=b[4];if(b=a[5])this.N=b[0],this.ea=b[1],this.aa=b[2],this.Ja=b[3],this.fa=
b[4],this.Ka=b[5];if(b=a[6])this.ra=b[1],this.ra[7]=b[0],this.pa=b[2],this.A=b[3],this.Ga=b[4],this.ua=b[5],Zk(this);return!0};m.start=function(){cl(this)};m.stop=function(){cl(this)};var dl=[0,null,null,0,Array(4),0];function Uk(a,b,c){var d=a.L[b];d||(d={Cc:Array(4)});c=c&&5<=c.length?c:dl;d.Yb=c[0];d.dh=c[1];d.cj=c[2];d.Kb=c[3];d.Ym=b<<2;for(var e=0;e<d.Cc.length;e++)el(d,e,c[4][e]);d.dj=c[5]||0;a.L[b]=d}var fl=[!0,[0,0],[0,0],[0,0],[0,0]];
function el(a,b,c){var d=a.Cc[b];d||(d={ng:[0,0],Ec:[0,0],Eb:[0,0],Ab:[0,0]});c=c&&8==c.length?c:fl;d.Ee=c[0];d.ng[0]=c[1][0];d.ng[1]=c[1][1];d.Ec[0]=c[2][0];d.Ec[1]=c[2][1];d.Eb[0]=c[3][0];d.Eb[1]=c[3][1];d.Ab[0]=c[4][0];d.Ab[1]=c[4][1];d.mode=c[5];d.pg=c[6];d.controller=a;d.xj=b;gl(d,c[8],c[9]);a.Cc[b]=d}function gl(a,b,c,d){"string"==typeof b&&(b=mb(b));b&&(a.done=null,a.lo=b.id,a.mo=c,a.ug=b,a.lh=b[c],a.Kg=d)}var hl=[0,Array(4)];
b[4],this.Ka=b[5];if(b=a[6])this.ra=b[1],this.ra[7]=b[0],this.pa=b[2],this.A=b[3],this.Ga=b[4],this.ua=b[5],Zk(this);return!0};m.start=function(){cl(this)};m.stop=function(){cl(this)};var dl=[0,null,null,0,Array(4),0];function Uk(a,b,c){var d=a.L[b];d||(d={Dc:Array(4)});c=c&&5<=c.length?c:dl;d.Yb=c[0];d.dh=c[1];d.cj=c[2];d.Kb=c[3];d.Ym=b<<2;for(var e=0;e<d.Dc.length;e++)el(d,e,c[4][e]);d.dj=c[5]||0;a.L[b]=d}var fl=[!0,[0,0],[0,0],[0,0],[0,0]];
function el(a,b,c){var d=a.Dc[b];d||(d={ng:[0,0],Fc:[0,0],Eb:[0,0],Ab:[0,0]});c=c&&8==c.length?c:fl;d.Ee=c[0];d.ng[0]=c[1][0];d.ng[1]=c[1][1];d.Fc[0]=c[2][0];d.Fc[1]=c[2][1];d.Eb[0]=c[3][0];d.Eb[1]=c[3][1];d.Ab[0]=c[4][0];d.Ab[1]=c[4][1];d.mode=c[5];d.pg=c[6];d.controller=a;d.xj=b;gl(d,c[8],c[9]);a.Dc[b]=d}function gl(a,b,c,d){"string"==typeof b&&(b=mb(b));b&&(a.done=null,a.lo=b.id,a.mo=c,a.ug=b,a.lh=b[c],a.Kg=d)}var hl=[0,Array(4)];
function Vk(a,b,c,d){var e=a.vc[b];e||(e={Yc:[null,null,null,null]});d=d&&8==d.length?d:hl;e.port=c;e.Ko=b<<3;e.of=d[0];e.Yc[0]=d[1][0];e.Yc[1]=d[1][1];e.Yc[2]=d[1][2];e.Yc[3]=d[1][3];e.Xd=d[2];e.Ad=d[3];e.lc=d[4];e.Pc=d[5];e.ye=d[6];e.Ef=d[7];a.vc[b]=e}var il=[[0,0],[0,0],[0,0],[0,0]];
function Wk(a,b,c){var d=a.V[b];d||(d={Ec:[0,0],$c:[0,0],Ab:[0,0],ze:[0,0]});c=c&&13<=c.length?c:il;d.Ec[0]=c[0][0];d.Ec[1]=c[0][1];d.$c[0]=c[1][0];d.$c[1]=c[1][1];d.Ab[0]=c[2][0];d.Ab[1]=c[2][1];d.ze[0]=c[3][0];d.ze[1]=c[3][1];d.fh=c[4];d.mode=c[5];d.hg=c[6];d.Ed=c[7];d.md=c[8];d.td=c[9];d.bf=c[10];d.Be=c[11];d.vd=c[12];d.Yb=c[13]||0;d.ff=c[14]||!1;a.V[b]=d}
function Fk(a,b,c){for(var d="",e=a.qa[c],f=1;8>=f;f++){var g="pcjs-bitCell";f||(g+=" pcjs-bitCellLeft");d+='<div id="'+(c+"-"+f)+'" class="'+g+'" data-value="0">'+f+"</div>\n"}e.innerHTML=d;jl(a,b,c,!0)}function kl(a,b,c){if(b=(a=Ek[a.ja|0])&&a[b])for(var d in b)if(a=b[d],a.Kc&1<<c)return a;return null}
function Yk(a,b,c){for(var d=null,e=Ek[a.ja]||Ek[a.ja|0]||Ek[5150],f=0;f<e.length;f++){var g=e[f];if(g&&(g=g[b])){a=a.C[f][c?0:1]&g.Kc;for(var h in g.gd)if(g.gd[h]==a&&(d=h,"number"==typeof+d))break;break}}return d}function $k(a,b){if(b<+Yk(a,zk,void 0)){if(!a.ia)return 1;if(b<a.ia.length)switch(a.ia[b]){case 160:case 180:case 320:case 360:return 1;case 720:return 3;case 1200:return 2;case 1440:return 4}}return 0}function Xk(a,b){return+Yk(a,5,b)+ +Yk(a,6,b)}
function wk(a,b){var c=b;if(a)for(var c=0,d=1,e=0;e<a.length;e++)"0"==a.charAt(e)&&(c|=d),d<<=1;return c}function yk(a,b,c,d){for(var e=Ek[a.ja]||Ek[a.ja|0]||Ek[5150],f=0;f<e.length;f++){var g=e[f];if(g&&(g=g[b]))for(var h in g.gd)if(h==c){a.C[f][d?0:1]&=~g.Kc;a.C[f][d?0:1]|=g.gd[h];return}}}function ll(a,b){a.setAttribute("data-value",b?"1":"0");a.style.color=b?"#ffffff":"#000000";a.style.backgroundColor=b?"#000000":"#ffffff"}function Tk(a){jl(a,0,xk);jl(a,1,Bk);ml(a)}
function Wk(a,b,c){var d=a.V[b];d||(d={Fc:[0,0],$c:[0,0],Ab:[0,0],ze:[0,0]});c=c&&13<=c.length?c:il;d.Fc[0]=c[0][0];d.Fc[1]=c[0][1];d.$c[0]=c[1][0];d.$c[1]=c[1][1];d.Ab[0]=c[2][0];d.Ab[1]=c[2][1];d.ze[0]=c[3][0];d.ze[1]=c[3][1];d.fh=c[4];d.mode=c[5];d.hg=c[6];d.Ed=c[7];d.md=c[8];d.td=c[9];d.bf=c[10];d.Be=c[11];d.vd=c[12];d.Yb=c[13]||0;d.ff=c[14]||!1;a.V[b]=d}
function Fk(a,b,c){for(var d="",e=a.qa[c],f=1;8>=f;f++){var g="pcjs-bitCell";f||(g+=" pcjs-bitCellLeft");d+='<div id="'+(c+"-"+f)+'" class="'+g+'" data-value="0">'+f+"</div>\n"}e.innerHTML=d;jl(a,b,c,!0)}function kl(a,b,c){if(b=(a=Ek[a.ja|0])&&a[b])for(var d in b)if(a=b[d],a.Lc&1<<c)return a;return null}
function Yk(a,b,c){for(var d=null,e=Ek[a.ja]||Ek[a.ja|0]||Ek[5150],f=0;f<e.length;f++){var g=e[f];if(g&&(g=g[b])){a=a.C[f][c?0:1]&g.Lc;for(var h in g.gd)if(g.gd[h]==a&&(d=h,"number"==typeof+d))break;break}}return d}function $k(a,b){if(b<+Yk(a,zk,void 0)){if(!a.ia)return 1;if(b<a.ia.length)switch(a.ia[b]){case 160:case 180:case 320:case 360:return 1;case 720:return 3;case 1200:return 2;case 1440:return 4}}return 0}function Xk(a,b){return+Yk(a,5,b)+ +Yk(a,6,b)}
function wk(a,b){var c=b;if(a)for(var c=0,d=1,e=0;e<a.length;e++)"0"==a.charAt(e)&&(c|=d),d<<=1;return c}function yk(a,b,c,d){for(var e=Ek[a.ja]||Ek[a.ja|0]||Ek[5150],f=0;f<e.length;f++){var g=e[f];if(g&&(g=g[b]))for(var h in g.gd)if(h==c){a.C[f][d?0:1]&=~g.Lc;a.C[f][d?0:1]|=g.gd[h];return}}}function ll(a,b){a.setAttribute("data-value",b?"1":"0");a.style.color=b?"#ffffff":"#000000";a.style.backgroundColor=b?"#000000":"#ffffff"}function Tk(a){jl(a,0,xk);jl(a,1,Bk);ml(a)}
function jl(a,b,c,d){if(c=a.qa[c]){d=d?a.C[b][0]:a.C[b][1]=a.C[b][0];c=rb(c,"pcjs-bitCell");for(var e=0;e<c.length;e++){var f=kl(a,b,e);c[e].setAttribute("title",f&&f.Pd||"Reserved");ll(c[e],d&1<<e?!1:!0);c[e].onclick=function(a,b){return function(){var c="1"!=b.getAttribute("data-value");ll(b,c);var d=b.getAttribute("id").split("-"),e=1<<+d[1]-1;switch(d[0]){case xk:a.C[0][0]=a.C[0][0]&~e|(c?0:e);break;case Bk:a.C[1][0]=a.C[1][0]&~e|(c?0:e)}ml(a)}}(a,c[e])}}}
function ml(a){var b=a.qa.swdesc;if(null!=b){var c;c=""+(Xk(a,!0)+"Kb");c+=", "+(+ +Yk(a,3,!0)?"":"No ")+"Coprocessor";c+=", "+{0:"Enhanced Color",1:"TV",2:"Color",3:"Monochrome"}[+Yk(a,Ak,!0)]+" Monitor";c+=", "+ +Yk(a,zk,!0)+" Floppy Drives";if(null!=a.C[0][1]&&a.C[0][1]!=a.C[0][0]||null!=a.C[1][1]&&a.C[1][1]!=a.C[1][0])c+=" (Reset required)";b.textContent=c}}
function nl(a,b,c,d,e){var f=a.L[b],g=f.Cc[c],h=g.Eb[f.Kb];B(a,768)&&y(a,d,null,e,"DMA"+b+".CHANNEL"+c+".ADDR["+f.Kb+"]",h,!0);f.Kb^=1;b||0!=c||f.Kb||(g.Eb[0]++,255<g.Eb[0]&&(g.Eb[0]=0,g.Eb[1]++,255<g.Eb[1]&&(g.Eb[1]=0)));return h}function ol(a,b,c,d,e,f){var g=a.L[b];B(a,768)&&y(a,d,e,f,"DMA"+b+".CHANNEL"+c+".ADDR["+g.Kb+"]",null,!0);a=g.Cc[c];a.Eb[g.Kb]=a.ng[g.Kb]=e;g.Kb^=1}
function pl(a,b,c,d,e){var f=a.L[b],g=f.Cc[c],h=g.Ab[f.Kb];B(a,768)&&y(a,d,null,e,"DMA"+b+".CHANNEL"+c+".COUNT["+f.Kb+"]",h,!0);f.Kb^=1;b||0!=c||f.Kb||(g.Ab[0]--,0>g.Ab[0]&&(g.Ab[0]=255,g.Ab[1]--,0>g.Ab[1]&&(g.Ab[1]=255)));return h}function ql(a,b,c,d,e,f){var g=a.L[b];B(a,768)&&y(a,d,e,f,"DMA"+b+".CHANNEL"+c+".COUNT["+g.Kb+"]",null,!0);a=g.Cc[c];a.Ab[g.Kb]=a.Ec[g.Kb]=e;g.Kb^=1}function rl(a,b,c,d){var e=a.L[b],f=e.Yb|1;e.Yb&=-16;B(a,768)&&y(a,c,null,d,"DMA"+b+".STATUS",f,!0);return f}
function sl(a,b,c,d,e){var f=a.L[b];B(a,768)&&y(a,c,d,e,"DMA"+b+".REQ",null,!0);a=d&3;f.Yb=f.Yb&~(16<<a)|(d&4)<<a+2;f.cj=d}function tl(a,b,c,d,e){var f=a.L[b];B(a,768)&&y(a,c,d,e,"DMA"+b+".MASK",null,!0);b=d&3;c=f.Cc[b];c.Ee=!!(d&4);c.Ee||ul(a,f.Ym+b)}function vl(a,b,c,d,e){B(a,768)&&y(a,c,d,e,"DMA"+b+".MODE",null,!0);a.L[b].Cc[d&3].mode=d}function wl(a,b,c,d){var e=a.L[b].dj;B(a,768)&&y(a,c,null,d,"DMA"+b+".TEMP",e,!0);return e}
function xl(a,b,c,d,e){B(a,768)&&y(a,c,d,e,"DMA"+b+".MASTER_CLEAR",null,!0);a=a.L[b];for(b=0;b<a.Cc.length;b++)el(a,b)}function yl(a,b,c,d,e){var f=a.L[b].Cc[c].pg;B(a,768)&&y(a,d,null,e,"DMA"+b+".CHANNEL"+c+".PAGE",f,!0);return f}function zl(a,b,c,d,e,f){B(a,768)&&y(a,d,e,f,"DMA"+b+".CHANNEL"+c+".PAGE",null,!0);a.L[b].Cc[c].pg=e}function Al(a,b,c,d){var e=a.ra[b];B(a,768)&&y(a,c,null,d,"DMA.SPARE"+b+".PAGE",e,!0);return e}
function Bl(a,b,c,d,e){B(a,768)&&y(a,c,d,e,"DMA.SPARE"+b+".PAGE",null,!0);a.ra[b]=d}function Cl(a,b,c,d,e){gl(a.L[b>>2].Cc[b&3],c,d,e)}function ul(a,b,c){b=a.L[b>>2].Cc[b&3];b.ug&&b.lh&&b.Kg?(c&&(b.done=c),b.Ee||Dl(a,b,!0)):c&&c(!0)}
function nl(a,b,c,d,e){var f=a.L[b],g=f.Dc[c],h=g.Eb[f.Kb];B(a,768)&&y(a,d,null,e,"DMA"+b+".CHANNEL"+c+".ADDR["+f.Kb+"]",h,!0);f.Kb^=1;b||0!=c||f.Kb||(g.Eb[0]++,255<g.Eb[0]&&(g.Eb[0]=0,g.Eb[1]++,255<g.Eb[1]&&(g.Eb[1]=0)));return h}function ol(a,b,c,d,e,f){var g=a.L[b];B(a,768)&&y(a,d,e,f,"DMA"+b+".CHANNEL"+c+".ADDR["+g.Kb+"]",null,!0);a=g.Dc[c];a.Eb[g.Kb]=a.ng[g.Kb]=e;g.Kb^=1}
function pl(a,b,c,d,e){var f=a.L[b],g=f.Dc[c],h=g.Ab[f.Kb];B(a,768)&&y(a,d,null,e,"DMA"+b+".CHANNEL"+c+".COUNT["+f.Kb+"]",h,!0);f.Kb^=1;b||0!=c||f.Kb||(g.Ab[0]--,0>g.Ab[0]&&(g.Ab[0]=255,g.Ab[1]--,0>g.Ab[1]&&(g.Ab[1]=255)));return h}function ql(a,b,c,d,e,f){var g=a.L[b];B(a,768)&&y(a,d,e,f,"DMA"+b+".CHANNEL"+c+".COUNT["+g.Kb+"]",null,!0);a=g.Dc[c];a.Ab[g.Kb]=a.Fc[g.Kb]=e;g.Kb^=1}function rl(a,b,c,d){var e=a.L[b],f=e.Yb|1;e.Yb&=-16;B(a,768)&&y(a,c,null,d,"DMA"+b+".STATUS",f,!0);return f}
function sl(a,b,c,d,e){var f=a.L[b];B(a,768)&&y(a,c,d,e,"DMA"+b+".REQ",null,!0);a=d&3;f.Yb=f.Yb&~(16<<a)|(d&4)<<a+2;f.cj=d}function tl(a,b,c,d,e){var f=a.L[b];B(a,768)&&y(a,c,d,e,"DMA"+b+".MASK",null,!0);b=d&3;c=f.Dc[b];c.Ee=!!(d&4);c.Ee||ul(a,f.Ym+b)}function vl(a,b,c,d,e){B(a,768)&&y(a,c,d,e,"DMA"+b+".MODE",null,!0);a.L[b].Dc[d&3].mode=d}function wl(a,b,c,d){var e=a.L[b].dj;B(a,768)&&y(a,c,null,d,"DMA"+b+".TEMP",e,!0);return e}
function xl(a,b,c,d,e){B(a,768)&&y(a,c,d,e,"DMA"+b+".MASTER_CLEAR",null,!0);a=a.L[b];for(b=0;b<a.Dc.length;b++)el(a,b)}function yl(a,b,c,d,e){var f=a.L[b].Dc[c].pg;B(a,768)&&y(a,d,null,e,"DMA"+b+".CHANNEL"+c+".PAGE",f,!0);return f}function zl(a,b,c,d,e,f){B(a,768)&&y(a,d,e,f,"DMA"+b+".CHANNEL"+c+".PAGE",null,!0);a.L[b].Dc[c].pg=e}function Al(a,b,c,d){var e=a.ra[b];B(a,768)&&y(a,c,null,d,"DMA.SPARE"+b+".PAGE",e,!0);return e}
function Bl(a,b,c,d,e){B(a,768)&&y(a,c,d,e,"DMA.SPARE"+b+".PAGE",null,!0);a.ra[b]=d}function Cl(a,b,c,d,e){gl(a.L[b>>2].Dc[b&3],c,d,e)}function ul(a,b,c){b=a.L[b>>2].Dc[b&3];b.ug&&b.lh&&b.Kg?(c&&(b.done=c),b.Ee||Dl(a,b,!0)):c&&c(!0)}
function Dl(a,b,c){c&&(b.count=b.Ab[1]<<8|b.Ab[0],b.type=b.mode&12,b.tj=b.vg=!1);for(var d=!1;0<=b.count&&(c=b.pg<<16|b.Eb[1]<<8|b.Eb[0],4==b.type?(d=!0,function(c){b.lh.call(b.ug,b.Kg,-1,function(f,g){0>f&&(b.tj||(b.tj=!0),f=255);b.Ee||a.ga.qc(c,f);(d=g)&&setTimeout(function(){El(b)||Dl(a,b)},0)})}(c)):8==b.type?(c=a.ga.Qa(c),0>b.lh.call(b.ug,b.Kg,c)&&(b.vg=!0)):0!=b.type&&(b.vg=!0)),!d&&!El(b););}
function El(a){if(!a.vg&&0<=--a.count&&(a.mode&32?(a.Eb[0]--,0>a.Eb[0]&&(a.Eb[0]=255,a.Eb[1]--,0>a.Eb[1]&&(a.Eb[1]=255))):(a.Eb[0]++,255<a.Eb[0]&&(a.Eb[0]=0,a.Eb[1]++,255<a.Eb[1]&&(a.Eb[1]=0))),!a.Ee))return!1;var b=a.controller;b.Yb=b.Yb&~(16<<a.xj)|1<<a.xj;a.mode&16||(a.Ee=!0,a.ug=a.Kg=null);a.done&&(a.done(!a.vg),a.done=null);return!0}function Fl(a,b,c){var d=0,e=a.vc[b];if(null!=e.Ef)switch(e.Ef&3){case 2:d=e.lc;break;case 3:d=e.Pc}B(a,34048)&&y(a,e.port,null,c,"PIC"+b,d,!0);return d}
function Gl(a,b,c,d){var e=a.vc[b];B(a,34048)&&y(a,e.port,c,d,"PIC"+b,null,!0);if(c&16)e.Xd=0,e.Yc[e.Xd++]=c,e.Ad=0,e.ye=7,e.lc=e.Pc=0,e.Ef=10;else if(c&8)c&100&&B(a,1073741824)&&z(a,"PIC"+b+"("+u(e.port)+"): unsupported OCW3 command "+u(c),!0,!0),e.Ef=c;else if(d=c&224,d&32){var f,g=0;if(96==(d&96))g=1<<(c&7);else for(f=e.ye+1;;){f&=7;var h=1<<f;if(e.Pc&h){g=h;break}if(f++==e.ye)break}e.Pc&g&&(e.Pc&=~g,Hl(a));d&128&&B(a,1073741824)&&z(a,"PIC"+b+"("+u(e.port)+"): unsupported OCW2 rotate command "+
u(c),!0,!0)}else 192==d?e.ye=c&7:B(a,1073741824)&&z(a,"PIC"+b+"("+u(e.port)+"): unsupported OCW2 automatic EOI command "+u(c),!0,!0)}function Il(a,b,c){var d=a.vc[b],e=d.Ad;B(a,34048)&&y(a,d.port+1,null,c,"PIC"+b,e,!0);return e}function Jl(a,b,c,d){var e=a.vc[b];B(a,34048)&&y(a,e.port+1,c,d,"PIC"+b,null,!0);e.Xd<e.Yc.length?(e.Yc[e.Xd++]=c,2==e.Xd&&e.Yc[0]&2&&e.Xd++,3!=e.Xd||e.Yc[0]&1||e.Xd++):(e.Ad=c,d=a.F,d.S|=4,Hl(a,b||253!=c?0:6))}
function ig(a,b,c){var d=a.vc[b>>3];b=1<<(b&7);d.lc&b||(d.lc|=b,d.of=c||0,Hl(a))}function hg(a,b){var c=a.vc[b>>3],d=1<<(b&7);c.lc&d&&(c.lc&=~d,Hl(a))}function Hl(a,b){var c,d=-1;1<a.Da&&(c=a.vc[1],d=~(c.Pc|c.Ad)&c.lc);c=a.vc[0];0<=d&&(c.lc=d?c.lc|4:c.lc&-5);var d=~(c.Pc|c.Ad)&c.lc,e=a.F;e.N&&(e.ua=d?e.ua|1:e.ua&-2);d&&b&&(c.of=b)}
function Yf(a,b){void 0===b&&(b=0);var c=-1,d=a.vc[b];if(d.of)c=-2,d.of--;else for(var e=d.lc&((d.Pc|d.Ad)^255),f=d.ye+1;;){var f=f&7,g=1<<f;if(d.Pc&g)break;if(e&g){b||2!=f?c=d.Yc[1]+f:c=Yf(a,1);0<=c&&(d.Pc|=g,d.lc&=~g);break}if(f++==d.ye)break}return c}function Kl(a,b,c,d,e){var f;f=b?3:0;var g=a.V[f+c];g.ff?(f=g.Yb,g.ff=!1):(g.Ed==g.md&&Ll(a,f+c),g.bf?(f=g.ze[g.Ed++],g.Ed==g.md&&(g.bf=!1)):(Rk(a,f+c),f=g.Ab[g.Ed++]));B(a,2304)&&y(a,d,null,e,"PIT"+b+".TIMER"+c,f,!0);return f}
function Ml(a,b,c,d,e,f){B(a,2304)&&y(a,d,e,f,"PIT"+b+".TIMER"+c,null,!0);f=b?3:0;d=a.V[f+c];d.Ed==d.md&&Ll(a,f+c);d.Ec[d.Ed++]=e;d.Ed==d.md&&(d.Be&&0!=d.mode&&8!=d.mode||(d.bf=!1,d.Ab[0]=d.$c[0]=d.Ec[0],d.Ab[1]=d.$c[1]=d.Ec[1],d.vd=$c(a.F,a.ka),d.Be=!0,d.td=0!=d.mode,0==b&&0==c&&(hg(a,0),e=Nl(a,0)*a.gb|0,6==d.mode&&(e>>=1),bd(a.F,e))),0==b&&2==c&&cl(a))}function Ol(a,b,c,d){y(a,c,null,d,"PIT"+b+".CTRL",null,2048);return b?a.Pa:a.Oa}
function Pl(a,b,c,d,e){y(a,c,d,e,"PIT"+b+".CTRL",null,2048);e=0;c=d&192;b?(e=3,a.Pa=d):a.Oa=d;if(192==c){if(!(d&16))for(c=0;2>=c;c++)if(d&2<<c){b=e+c;var f=a.V[b];f.ff||(Rk(a,b),f.Yb=f.fh|f.mode|f.hg|(f.Ed<f.md?64:0)|(f.td?128:0),f.ff=!0)}if(!(d&32))for(c=0;2>=c;c++)d&2<<c&&Ql(a,e+c)}else{c>>=6;var f=d&1,g=d&14;d&=48;if(0==d)Ql(a,e+c);else{e=e+c;var h=a.V[e];h.hg=d;h.mode=g;h.fh=f;h.Ec=[0,0];h.Ab=[0,0];h.ze=[0,0];h.td=!1;h.bf=!1;h.Be=!1;h.ff=!1;Ll(a,e);0==b&&0==c&&hg(a,0);0==b&&2==c&&255==a.vc[0].Ad&&
77==a.W&&(b=a.V[0],b.$c[0]=b.Ec[0],b.$c[1]=b.Ec[1],b.vd=$c(a.F,a.ka))}}}function Nl(a,b){var c=a.V[b],d=c.Ec[1]<<8|c.Ec[0];d||(d=1==c.md?256:65536);return d}function fd(a,b){var c=a.V[b],d=c.$c[1]<<8|c.$c[0];d||(d=1==c.md?256:65536);return d}function Ql(a,b){Rk(a,b);var c=a.V[b];c.ze[0]=c.Ab[0];c.ze[1]=c.Ab[1];c.bf=!0;Ll(a,b)}function Ll(a,b){var c=a.V[b];c.Ed=32==c.hg?1:0;c.md=48==c.hg?2:1}
function Ml(a,b,c,d,e,f){B(a,2304)&&y(a,d,e,f,"PIT"+b+".TIMER"+c,null,!0);f=b?3:0;d=a.V[f+c];d.Ed==d.md&&Ll(a,f+c);d.Fc[d.Ed++]=e;d.Ed==d.md&&(d.Be&&0!=d.mode&&8!=d.mode||(d.bf=!1,d.Ab[0]=d.$c[0]=d.Fc[0],d.Ab[1]=d.$c[1]=d.Fc[1],d.vd=$c(a.F,a.ka),d.Be=!0,d.td=0!=d.mode,0==b&&0==c&&(hg(a,0),e=Nl(a,0)*a.gb|0,6==d.mode&&(e>>=1),bd(a.F,e))),0==b&&2==c&&cl(a))}function Ol(a,b,c,d){y(a,c,null,d,"PIT"+b+".CTRL",null,2048);return b?a.Pa:a.Oa}
function Pl(a,b,c,d,e){y(a,c,d,e,"PIT"+b+".CTRL",null,2048);e=0;c=d&192;b?(e=3,a.Pa=d):a.Oa=d;if(192==c){if(!(d&16))for(c=0;2>=c;c++)if(d&2<<c){b=e+c;var f=a.V[b];f.ff||(Rk(a,b),f.Yb=f.fh|f.mode|f.hg|(f.Ed<f.md?64:0)|(f.td?128:0),f.ff=!0)}if(!(d&32))for(c=0;2>=c;c++)d&2<<c&&Ql(a,e+c)}else{c>>=6;var f=d&1,g=d&14;d&=48;if(0==d)Ql(a,e+c);else{e=e+c;var h=a.V[e];h.hg=d;h.mode=g;h.fh=f;h.Fc=[0,0];h.Ab=[0,0];h.ze=[0,0];h.td=!1;h.bf=!1;h.Be=!1;h.ff=!1;Ll(a,e);0==b&&0==c&&hg(a,0);0==b&&2==c&&255==a.vc[0].Ad&&
77==a.W&&(b=a.V[0],b.$c[0]=b.Fc[0],b.$c[1]=b.Fc[1],b.vd=$c(a.F,a.ka))}}}function Nl(a,b){var c=a.V[b],d=c.Fc[1]<<8|c.Fc[0];d||(d=1==c.md?256:65536);return d}function fd(a,b){var c=a.V[b],d=c.$c[1]<<8|c.$c[0];d||(d=1==c.md?256:65536);return d}function Ql(a,b){Rk(a,b);var c=a.V[b];c.ze[0]=c.Ab[0];c.ze[1]=c.Ab[1];c.bf=!0;Ll(a,b)}function Ll(a,b){var c=a.V[b];c.Ed=32==c.hg?1:0;c.md=48==c.hg?2:1}
function Rk(a,b,c){var d=a.V[b];if(d.Be&&(2!=b||a.W&1)){var e=$c(a.F,a.ka),f=(e-d.vd)/a.gb|0;0>f&&(d.vd=e,f=0);var g=Nl(a,b),h=fd(a,b)-f;0==d.mode?(0>=h&&(h=0),h||(d.td=!0,d.Be=!1,b||ig(a,0))):4==d.mode?(d.td=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.$c[0]=h&255,d.$c[1]=h>>8&255,d.vd=e,!b&&d.td&&ig(a,0))):6==d.mode&&(h-=f,0>=h&&(d.td=!d.td,h=g+h,0>=h&&(h=g),d.$c[0]=h&255,d.$c[1]=h>>8&255,d.vd=e,!b&&d.td&&ig(a,0)));d.Ab[0]=h&255;d.Ab[1]=h>>8&255;c&&(a.vd=0)}return d}
function ed(a,b){for(var c=0;c<a.V.length;c++)Rk(a,c,b);if(a.ja>=gg){var c=a.F.Y.Id,d=$c(a.F,a.ka);null==a.fb&&(a.Ga=$c(a.F,a.ka),a.Jb=1024,a.fb=Math.floor(a.F.Y.Id/a.Jb),bl(a));d>=a.ua&&(a.A[12]|=64,a.A[11]&64&&(a.A[12]|=128,ig(a,8)),a.ua=d+a.fb);a.A[0]==a.A[1]&&a.A[2]==a.A[3]&&a.A[4]==a.A[5]&&(a.A[12]|=32,a.A[11]&32&&(a.A[12]|=128,ig(a,8)));var e=d-a.Ga,f=Math.floor(e/c);if(f&&!(a.A[11]&128)){for(;f--;)if(60<=++a.A[0]&&(a.A[0]=0,60<=++a.A[2]&&(a.A[2]=0,24<=++a.A[4]))){a.A[4]=0;a.A[6]=a.A[6]%7+1;
var g;g=a.A[9];var h=ua[a.A[8]-1];28==h&&0===g%4&&(g%100||0===g%400)&&h++;g=h;++a.A[7]>g&&(a.A[7]=1,12<++a.A[8]&&(a.A[8]=1,a.A[9]=(a.A[9]+1)%100))}a.A[12]|=16;a.A[11]&16&&(a.A[12]|=128,ig(a,8))}a.Ga=d-e%c}}m=tk.prototype;m.xm=function(a,b){var c=this.$a;this.Ca&16&&(this.W&128?c=this.C[0][1]:this.B&&(c=Rl(this.B)));y(this,a,null,b,"PPI_A",c);return c};m.Xn=function(a,b,c){y(this,a,b,c,"PPI_A");this.$a=b};m.ym=function(a,b){var c=this.W;y(this,a,null,b,"PPI_B",c);return c};
@ -431,12 +431,12 @@ b,c){Bl(this,7,a,b,c)},132:function(a,b,c){Bl(this,0,a,b,c)},133:function(a,b,c)
c){Jl(this,1,b,c)},192:function(a,b,c){ol(this,1,0,a,b,c)},194:function(a,b,c){ql(this,1,0,a,b,c)},196:function(a,b,c){ol(this,1,1,a,b,c)},198:function(a,b,c){ql(this,1,1,a,b,c)},200:function(a,b,c){ol(this,1,2,a,b,c)},202:function(a,b,c){ql(this,1,2,a,b,c)},204:function(a,b,c){ol(this,1,3,a,b,c)},206:function(a,b,c){ql(this,1,3,a,b,c)},208:function(a,b,c){B(this,768)&&y(this,a,b,c,"DMA1.CMD",null,!0);this.L[1].dh=b},210:function(a,b,c){sl(this,1,a,b,c)},212:function(a,b,c){tl(this,1,a,b,c)},214:function(a,
b,c){vl(this,1,a,b,c)},216:function(a,b,c){B(this,768)&&y(this,a,b,c,"DMA1.RESET_FF",null,!0);this.L[1].Kb=0},218:function(a,b,c){xl(this,1,a,b,c)},240:tk.prototype.Kn,241:tk.prototype.Ln},Lk={96:tk.prototype.gn,97:tk.prototype.fn,160:tk.prototype.Mk},Pk={72:function(a,b,c){Ml(this,1,0,a,b,c)},73:function(a,b,c){Ml(this,1,1,a,b,c)},74:function(a,b,c){Ml(this,1,2,a,b,c)},75:function(a,b,c){Pl(this,1,a,b,c)}};
Ua(function(){for(var a=rb(document,"pcx86","chipset"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new tk(d);qb(d,c);ml(d)}});
function cm(a){Za.call(this,"ROM",a,cm);this.A=null;this.X=a.addr;this.C=a.size;this.N=a.alias;this.L=a.file;this.B=a.notify;this.V=null;if(this.B&&(a=this.B.indexOf("["),0<a)){try{this.V=eval(this.B.substr(a))}catch(d){}this.B=this.B.substr(0,a)}if(this.L){a=this.L;var b=ka(ha(a));"json"!=b&&"hex"!=b&&(a=Aa()+"/api/v1/dump?file="+this.L+"&format=bytes&decimal=true");var c=this;za(a,null,!0,function(a,b,f){dm(c,a,b,f)})}}hb(cm);cm.prototype.Hc=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;em(this)};
function cm(a){Za.call(this,"ROM",a,cm);this.A=null;this.X=a.addr;this.C=a.size;this.N=a.alias;this.L=a.file;this.B=a.notify;this.V=null;if(this.B&&(a=this.B.indexOf("["),0<a)){try{this.V=eval(this.B.substr(a))}catch(d){}this.B=this.B.substr(0,a)}if(this.L){a=this.L;var b=ka(ha(a));"json"!=b&&"hex"!=b&&(a=Aa()+"/api/v1/dump?file="+this.L+"&format=bytes&decimal=true");var c=this;za(a,null,!0,function(a,b,f){dm(c,a,b,f)})}}hb(cm);cm.prototype.Ic=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;em(this)};
cm.prototype.gc=function(){this.Qd&&(this.ha&&fm(this.ha,this.id,0,this.X>>>4,0,this.X,this.C,this.Qd),delete this.Qd);return!0};cm.prototype.fc=function(){return!0};
function dm(a,b,c,d){if(d)a.Na("Unable to load system ROM (error "+d+": "+b+")");else{jb(a.ce,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,g=e.data;if(f)a.A=f;else if(g)for(a.A=Array(4*g.length),d=c=0;c<g.length;c++)a.A[d++]=g[c]&255,a.A[d++]=g[c]>>8&255,a.A[d++]=g[c]>>16&255,a.A[d++]=g[c]>>24&255;else a.A=e;a.Qd=e.symbols;if(!a.A.length){x("Empty ROM: "+b);return}if(1==a.A.length){x(a.A[0]);return}}catch(h){a.Na("ROM data error: "+h.message);return}else for(b=c.replace(/\n/gm,
" ").replace(/ +$/,"").split(" "),a.A=Array(b.length),e=0;e<b.length;e++)a.A[e]=ea(b[e],16);em(a)}}
function em(a){if(!xb(a))if(!a.L)wb(a);else if(a.A&&a.ga){a.C||(a.C=a.A.length);if(a.A.length!=a.C)yb(a,"ROM size ("+t(a.A.length,8,!0)+") does not match specified size ("+t(a.C,8,!0)+")");else{var b;b=a.X;if(Yb(a.ga,b,a.C,fc)){for(var c=0;c<a.A.length;c++){var d=a.ga,e=b+c;d.sa[(e&d.Gb)>>>d.La].xf(e&d.A,a.A[c]&255,e)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.N?b.push(a.N):null!=a.N&&a.N.length&&(b=a.N);for(c=0;c<b.length;c++){var d=a,e=b[c],f=cc(d.ga,d.X,d.C);bc(d.ga,e,d.C,f)}a.B&&((b=mb(a.B,
a.id))?(c=a.A,d=a.V,5==b.Ua?gm(b,c,d||[12640,8752],8):b.Ua==hm&&gm(b,c,d||[14221,16269],8),wb(b)):a.Na("Unable to find component: "+a.B));delete a.A}}wb(a)}}Ua(function(){for(var a=rb(document,"pcx86","rom"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new cm(d);qb(d,c)}});function im(a){Za.call(this,"RAM",a,im);this.B=a.addr;this.A=a.size;this.L=a.test;this.X=!!this.A;this.C=!1}hb(im);m=im.prototype;m.Hc=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;this.N=Jb(a,"ChipSet");wb(this)};
a.id))?(c=a.A,d=a.V,5==b.Ua?gm(b,c,d||[12640,8752],8):b.Ua==hm&&gm(b,c,d||[14221,16269],8),wb(b)):a.Na("Unable to find component: "+a.B));delete a.A}}wb(a)}}Ua(function(){for(var a=rb(document,"pcx86","rom"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new cm(d);qb(d,c)}});function im(a){Za.call(this,"RAM",a,im);this.B=a.addr;this.A=a.size;this.L=a.test;this.X=!!this.A;this.C=!1}hb(im);m=im.prototype;m.Ic=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;this.N=Jb(a,"ChipSet");wb(this)};
m.gc=function(a,b){return!b&&(this.reset(),a&&this.controller&&!this.restore(a))?!1:!0};m.fc=function(a){return a&&this.controller?this.save():!0};
m.reset=function(){if(!this.B&&!this.X&&this.N){var a=1024*Xk(this.N);this.A&&a!=this.A&&(ec(this.ga,this.B,this.A),this.C=!1);this.A=a}!this.C&&this.A&&Yb(this.ga,this.B,this.A,1)&&(this.C=!0,"ramCPQ"==this.xd&&(this.controller=new jm(this),Yb(this.ga,km,4,4,this.controller)));if(this.C){if(this.L||lc(this.ga,1138,4660),"ramCPQ"!=this.xd&&this.N&&(a=this.N,a.A)){var b=1048576>this.B?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;al(a)}}else x("No RAM allocated")};
m.save=function(){var a=new mf(this);this.controller&&O(a,0,this.controller.save());return a.data()};m.restore=function(a){return this.controller?this.controller.restore(a[0]):!0};function jm(a){this.N=a;this.C=lm;this.ha=mm;this.B=nm;this.A=null}var km=-2134900736,lm=65535,mm=2575,nm=2,om=[null,0],pm=[function(a){return this.controller.Qa(a)},null,null,function(a,b){this.controller.qc(a,b)},null,null];m=jm.prototype;m.save=function(){return[this.C,this.B]};
@ -451,7 +451,7 @@ Y[p["."]]=52;Y[p[">"]]=10804;Y[p["/"]]=53;Y[p["?"]]=10805;Y[3016]=54;Y[1044]=55;
Y[4045]=3677522;Y[4013]=3677468;m=qm.prototype;
m.Pb=function(a,b,c,d){var e=this,f=a+"-"+b;if(void 0===this.qa[f])switch(b){case "kbd":return c.onkeydown=function(a){return ym(e,a,!0)},c.onkeypress=function(a){a=a||window.event;a=a.which||a.keyCode;e.L="";var b=!Y[a]||!!(e.xc&128);b||zm(e,a,!0);return b},c.onkeyup=function(a){return ym(e,a,!1)},!0;case "caps-lock":return this.qa[f]=c,c.onclick=function(){e.X&&e.X.wd();zm(e,1020,!0)},!0;case "num-lock":return this.qa[f]=c,c.onclick=function(){e.X&&e.X.wd();zm(e,1144,!0)},!0;case "scroll-lock":return this.qa[f]=
c,c.onclick=function(){e.X&&e.X.wd();zm(e,1145,!0)},!0;default:var g=b.toUpperCase().replace(/-/g,"_");if(void 0!==vm[g]&&"button"==a)return this.qa[f]=c,c.onclick=function(a,b,c){return function(){a.X&&a.X.wd();Am(a,c,!0);zm(a,c,!0)}}(this,g,vm[g]),!0;if(void 0!==wm[b])return this.fa++,this.qa[f]=c,a=function(a,b,c){return function(){zm(a,c)}}(this,b,wm[b]),b=function(a,b,c){return function(){Bm(a,c)}}(this,b,wm[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup=
c.onmouseout=b),!0;if(d)return this.qa[f]=c,c.onclick=function(){e.X&&e.X.wd();d&&!e.L&&(e.L=d,Cm(e,300))},!0}return!1};function Dm(a,b,c){if(a.fa){for(var d in da)if(b==da[d]){b=+d;(d=ca[d])&&(b=d);break}for(var e in wm)if((d=wm[e]==b)||(d=b,d>=p.ve&&d<=p.z&&(d-=p.ve-p.ue),d=wm[e]==d),d){(a=a.qa["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}}m.Hc=function(a,b,c,d){this.X=a;this.ga=b;this.F=c;this.ha=d;this.N=Jb(a,"ChipSet")};
c.onmouseout=b),!0;if(d)return this.qa[f]=c,c.onclick=function(){e.X&&e.X.wd();d&&!e.L&&(e.L=d,Cm(e,300))},!0}return!1};function Dm(a,b,c){if(a.fa){for(var d in da)if(b==da[d]){b=+d;(d=ca[d])&&(b=d);break}for(var e in wm)if((d=wm[e]==b)||(d=b,d>=p.ve&&d<=p.z&&(d-=p.ve-p.ue),d=wm[e]==d),d){(a=a.qa["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}}m.Ic=function(a,b,c,d){this.X=a;this.ga=b;this.F=c;this.ha=d;this.N=Jb(a,"ChipSet")};
function rm(a,b){var c=0;a.ja=null;"string"==typeof b&&(a.ja=b.toUpperCase(),c=sm.indexOf(a.ja),0>c&&(c=0));if(b=sm[c])a.ra=parseInt(b.substr(2),10)}function Xl(a){z(a,"keyboard reset",65792);a.A=[];Yl(a,170)}function Tl(a,b,c){a.aa!==c&&(a.aa=a.ea=c)&&(a.U=!0);a.W!==b&&(a.W=b)&&!a.ea&&am(a,!0);a.W&&a.ea&&(Xl(a),a.ea=!1)}function Yl(a,b){a.N&&(a.A.unshift(b),a.U=!0,$l(a.N,b))}
function Ul(a){var b=0;a.A.length&&a.U&&(b=a.A[0],a.N&&$l(a.N,b));B(a)&&z(a,b?"scan code "+u(b)+" available":"no scan codes available")}function Rl(a){var b=0;a.A.length&&(b=a.A[0]);B(a)&&z(a,"scan code "+u(b)+" delivered");return b}function am(a,b){0<a.A.length&&(a.A.shift(),(a.U=b)&&(a.A.length&&a.N?$l(a.N,a.A[0]):b=!1),B(a)&&z(a,"scan codes shifted, notify "+(b?"true":"false")))}m.gc=function(a,b){return!b&&(this.reset(),a&&this.restore&&!this.restore(a))?!1:!0};
m.fc=function(a){return a?this.save():!0};m.reset=function(){if(!this.ja&&this.N)switch(this.N.ja){case 5150:case 5160:rm(this,sm[0]);break;default:rm(this,sm[1])}Em(this);this.xc=this.C=0;this.A=[];this.U=!0;this.L=""};m.save=function(){var a=new mf(this),b=[];b[0]=this.aa;b[1]=this.W;O(a,0,b);return a.data()};m.restore=function(a){return Em(this,a[0])};function Em(a,b){var c=0;void 0===b&&(b=[]);a.aa=a.U=b[c++];a.W=b[c];a.V=0;return!0}
@ -472,9 +472,9 @@ var hm=7,Im={mda:[1,7],cga:[3,3],ega:[5,3],vga:[hm,3]},Nm={2:{Hg:15700,Gg:208,Ng
Jm[17]=[640,480,8];Jm[18]=[640,480,8];Jm[19]=[320,200,1];Jm[20]=[320,240,4];Jm[21]=[320,400,4];Jm[0]=Jm[1];Jm[2]=Jm[3];Jm[5]=Jm[4];
var Pm=[[0,0,0,255],[127,192,127,255],[127,192,127,255],[127,255,127,255],[127,255,127,255]],Qm=[0,1,2,2,2,2,2,2,0,3,4,4,4,4,4,4],Rm=[[0,0,0,255],[0,0,170,255],[0,170,0,255],[0,170,170,255],[170,0,0,255],[170,0,170,255],[170,85,0,255],[170,170,170,255],[85,85,85,255],[85,85,255,255],[85,255,85,255],[85,255,255,255],[255,85,85,255],[255,85,255,255],[255,255,85,255],[255,255,255,255]],Sm=[2,4,6],Tm=[3,5,7],Um=[0,1,2,3,4,5,20,7,56,57,58,59,60,61,62,63],Vm=[0,255,65280,65535,16711680,16711935,16776960,
16777215,-16777216,-16776961,-16711936,-16711681,-65536,-65281,-256,-1],Wm=[0];Wm[128]=1;Wm[32768]=2;Wm[32896]=3;Wm[8388608]=4;Wm[8388736]=5;Wm[8421376]=6;Wm[8421504]=7;Wm[-2147483648]=8;Wm[-2147483520]=9;Wm[-2147450880]=10;Wm[-2147450752]=11;Wm[-2139095040]=12;Wm[-2139094912]=13;Wm[-2139062272]=14;Wm[-2139062144]=15;
function Xm(a,b,c,d){if(void 0!==b&&(!c||c.length)){this.video=a;var e=Ym[b],f=a.ya||e[5];if(!c||6>c.length)c=[!1,0,null,null,0,Array(5>b?Zm:$m)];this.ha=a.ha;this.type=e[0];this.port=e[1];this.Ua=b;this.ob=e[2];this.ac=e[3];this.Dd=d||e[4];65536<=this.Dd&&720896<=this.ob&&(this.ac=Math.min(this.Dd>>2,32768));this.Gc=c[0];this.fd=c[1];this.tf=c[2];this.ma=c[3];this.Ac=c[4]&255;this.Pg=c[4]>>8&255;this.mb=c[5];this.vh=Zm;this.og=an;if(5<=b){this.vh=$m;this.og=bn;b=c[6];void 0===b&&(b=[!1,0,Array(20),
function Xm(a,b,c,d){if(void 0!==b&&(!c||c.length)){this.video=a;var e=Ym[b],f=a.ya||e[5];if(!c||6>c.length)c=[!1,0,null,null,0,Array(5>b?Zm:$m)];this.ha=a.ha;this.type=e[0];this.port=e[1];this.Ua=b;this.ob=e[2];this.ac=e[3];this.Dd=d||e[4];65536<=this.Dd&&720896<=this.ob&&(this.ac=Math.min(this.Dd>>2,32768));this.Hc=c[0];this.fd=c[1];this.tf=c[2];this.ma=c[3];this.Ac=c[4]&255;this.Pg=c[4]>>8&255;this.mb=c[5];this.vh=Zm;this.og=an;if(5<=b){this.vh=$m;this.og=bn;b=c[6];void 0===b&&(b=[!1,0,Array(20),
0,3==f?0:1,0,0,Array(5),0,0,0,Array(9),0,[this.ob,this.ac,this.Dd],Array(this.Dd>>2),-2147478512,0,-1,0,-1,0,-1,0,0,0,0,1,255,0,0,0,Array(256)]);this.$e=b[0];this.Nd=b[1];this.Tc=b[2];this.Zg=cn;this.Sg=b[3];this.vf=b[4];this.gg=b[5];this.ae=b[6];this.Ke=b[7];this.ah=dn;this.Pk=b[8];this.Qk=b[9];this.$d=b[10];this.Zd=b[11];this.$g=en;this.Fb=b[12];d=b[13];"number"==typeof d&&(d=[this.ob,this.ac,d]);this.ob=d[0];this.ac=d[1];d=this.Dd>>2;if((this.rd=b[14])&&this.rd.length<d){for(var e=this.rd,g=0,
h=Array(d),k=0;k<e.length-1;){for(var l=e[k++],n=e[k++];l--;)h[g]=n,g+=2;g==d&&(g=1)}this.rd=h}(d=b[15])&&(d&-2147483648?d&=2147483647:d=fn[d&65280]|fn[d&255]);this.Ug(d);this.li=b[16];this.qb=b[17];this.cd=b[18];this.Mb=b[19];this.Wf=b[20];this.Yd=b[21];this.pe=b[22];this.wh=b[23];this.xh=b[24];this.Ld=b[25];this.mi=this.qf=0;this.Ua==hm&&(this.ui=b[26],this.ti=b[27],this.od=b[28],this.Jc=b[29],this.Qg=b[30],this.uf=b[31])}f=Nm[f]||Nm[3];this.yh=a.F.Y.Id/f.Hg|0;this.$m=this.yh*f.Ng/100|0;this.Bh=
h=Array(d),k=0;k<e.length-1;){for(var l=e[k++],n=e[k++];l--;)h[g]=n,g+=2;g==d&&(g=1)}this.rd=h}(d=b[15])&&(d&-2147483648?d&=2147483647:d=fn[d&65280]|fn[d&255]);this.Ug(d);this.li=b[16];this.qb=b[17];this.cd=b[18];this.Mb=b[19];this.Wf=b[20];this.Yd=b[21];this.pe=b[22];this.wh=b[23];this.xh=b[24];this.Ld=b[25];this.mi=this.qf=0;this.Ua==hm&&(this.ui=b[26],this.ti=b[27],this.od=b[28],this.Kc=b[29],this.Qg=b[30],this.uf=b[31])}f=Nm[f]||Nm[3];this.yh=a.F.Y.Id/f.Hg|0;this.$m=this.yh*f.Ng/100|0;this.Bh=
this.yh*f.Gg|0;this.bn=this.Bh*f.Og/100|0;this.Dh=c[7]||0}}
var Zm=18,$m=25,an="HTOTAL HDISP HSYNC_POS HSYNC_WIDTH VTOTAL VTOTAL_ADJ VDISP VSYNC_POS INTERLACE_POS MAX_SCAN CURSOR_START CURSOR_END START_ADDR_HI START_ADDR_LO CURSOR_ADDR_HI CURSOR_ADDR_LO LIGHT_PEN_HI LIGHT_PEN_LO".split(" "),bn="HTOTAL HDISP_END HBLANK_START HBLANK_END HRETRACE_START HRETRACE_END VTOTAL OVERFLOW PRESET_SCAN MAX_SCAN CURSOR_START CURSOR_END START_ADDR_HI START_ADDR_LO CURSOR_ADDR_HI CURSOR_ADDR_LO VRETRACE_START VRETRACE_END VDISP_END OFFSET UNDERLINE VBLANK_START VBLANK_END MODE_CTRL LINE_COMPARE".split(" "),cn=
"PAL00 PAL01 PAL02 PAL03 PAL04 PAL05 PAL06 PAL07 PAL08 PAL09 PAL0A PAL0B PAL0C PAL0D PAL0E PAL0F MODE OVERSCAN PLANES HPAN".split(" "),dn=["RESET","CLOCKING","MAPMASK","CHARMAP","MEMMODE"],en="SRESET ESRESET COLORCMP DATAROT READMAP MODE MISC COLORDC BITMASK".split(" "),fn=[,,1024,5120];fn[16]=1280;fn[512]=0;fn[1024]=32;fn[1536]=96;fn[2560]=160;fn[3584]=224;fn[768]=16;fn[4096]=1;fn[8192]=2;fn[24576]=98;fn[40960]=162;fn[57344]=226;var gn=[];
@ -488,24 +488,24 @@ gn[16]=function(a,b){a+=this.C;var c,d=a&-2;c=(b|b<<8|b<<16|b<<24)&this.controll
gn[17]=function(a){a+=this.C;var b=a&-2;a=this.controller.qb&(b==a?16711935:-16711936);a=this.da[b]&~a|this.controller.Fb&a;this.da[b]!=a&&(this.da[b]=a,this.Wa=!0)};gn[2]=function(a,b){var c=a+this.C,d=Vm[b&15],d=d&this.controller.Mb|this.controller.Fb&~this.controller.Mb,d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)};
gn[98]=function(a,b){var c=a+this.C,d=Vm[b&15],d=d&this.controller.Fb,d=d&this.controller.Mb|this.controller.Fb&~this.controller.Mb,d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)};gn[162]=function(a,b){var c=a+this.C,d=Vm[b&15],d=d|this.controller.Fb,d=d&this.controller.Mb|this.controller.Fb&~this.controller.Mb,d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)};
gn[226]=function(a,b){var c=a+this.C,d=Vm[b&15],d=d^this.controller.Fb,d=d&this.controller.Mb|this.controller.Fb&~this.controller.Mb,d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)};gn[3]=function(a,b){var c=a+this.C;b=b>>this.controller.cd|b<<8-this.controller.cd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Mb;d=this.controller.Wf&d|this.controller.Fb&~d;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)};
function hn(a){var b=[];if(void 0!==a.Ua){b[0]=a.Gc;b[1]=a.fd;b[2]=a.tf;b[3]=a.ma;b[4]=a.Ac|a.Pg<<8;b[5]=a.mb;if(5<=a.Ua){var c=[];c[0]=a.$e;c[1]=a.Nd;c[2]=a.Tc;c[3]=a.Sg;c[4]=a.vf;c[5]=a.gg;c[6]=a.ae;c[7]=a.Ke;c[8]=a.Pk;c[9]=a.Qk;c[10]=a.$d;c[11]=a.Zd;c[12]=a.Fb;c[13]=[a.ob,a.ac,a.Dd];var d;a:if(d=a.rd){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h<d.length;){for(var k=d[h],l=h+2;l<d.length&&d[l]===k;)l+=2;f[e++]=l-h>>1;f[e++]=k;h=l}if(f.length<d.length){d=f;break a}}c[14]=d;c[15]=
a.Bg|-2147483648;c[16]=a.li;c[17]=a.qb;c[18]=a.cd;c[19]=a.Mb;c[20]=a.Wf;c[21]=a.Yd;c[22]=a.pe;c[23]=a.wh;c[24]=a.xh;c[25]=a.Ld;a.Ua==hm&&(c[26]=a.ui,c[27]=a.ti,c[28]=a.od,c[29]=a.Jc,c[30]=a.Qg,c[31]=a.uf);b[6]=c}b[7]=a.Dh}return b}function jn(a,b,c,d,e){if(d){var f,g="";for(f=0;f<e.length;f++){var h=d===a.mb?kn(a,f):d[f];g&&(g+="\n");g+=b+"["+t(f,2)+"]: "+oa(e[f],18)+(f===c?"*":" ")+t(h,255<h?4:2);null!=h&&(g+=" ("+h+".)")}a.ha.O(g)}else a.ha.O(b+": "+t(c,2))}
function hn(a){var b=[];if(void 0!==a.Ua){b[0]=a.Hc;b[1]=a.fd;b[2]=a.tf;b[3]=a.ma;b[4]=a.Ac|a.Pg<<8;b[5]=a.mb;if(5<=a.Ua){var c=[];c[0]=a.$e;c[1]=a.Nd;c[2]=a.Tc;c[3]=a.Sg;c[4]=a.vf;c[5]=a.gg;c[6]=a.ae;c[7]=a.Ke;c[8]=a.Pk;c[9]=a.Qk;c[10]=a.$d;c[11]=a.Zd;c[12]=a.Fb;c[13]=[a.ob,a.ac,a.Dd];var d;a:if(d=a.rd){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h<d.length;){for(var k=d[h],l=h+2;l<d.length&&d[l]===k;)l+=2;f[e++]=l-h>>1;f[e++]=k;h=l}if(f.length<d.length){d=f;break a}}c[14]=d;c[15]=
a.Bg|-2147483648;c[16]=a.li;c[17]=a.qb;c[18]=a.cd;c[19]=a.Mb;c[20]=a.Wf;c[21]=a.Yd;c[22]=a.pe;c[23]=a.wh;c[24]=a.xh;c[25]=a.Ld;a.Ua==hm&&(c[26]=a.ui,c[27]=a.ti,c[28]=a.od,c[29]=a.Kc,c[30]=a.Qg,c[31]=a.uf);b[6]=c}b[7]=a.Dh}return b}function jn(a,b,c,d,e){if(d){var f,g="";for(f=0;f<e.length;f++){var h=d===a.mb?kn(a,f):d[f];g&&(g+="\n");g+=b+"["+t(f,2)+"]: "+oa(e[f],18)+(f===c?"*":" ")+t(h,255<h?4:2);null!=h&&(g+=" ("+h+".)")}a.ha.O(g)}else a.ha.O(b+": "+t(c,2))}
Xm.prototype.vj=function(a){return[this.rd,a-this.ob]};Xm.prototype.mh=function(){return this.A};Xm.prototype.Ug=function(a){if(null!=a&&a!=this.Bg){var b=a&65280,c=gn[b];c||b&4096&&(c=gn[4096]);var b=a&255,d=gn[b];d||b&16&&(d=gn[16]);this.A||(this.A=Array(6));this.A[0]=c;this.A[3]=d;this.Bg=a}};
function kn(a,b){var c=a.mb[b];if(null!=c&&5<=a.Ua){var d=0,e=0,f=0;switch(b){case 6:d=1;a.Ua==hm&&(e=32);break;case 10:5==a.Ua&&(d=32);break;case 16:d=4;a.Ua==hm&&(e=128);break;case 18:d=2;a.Ua==hm&&(e=64);break;case 21:d=8;a.Ua==hm&&(f=32);break;case 24:d=16,a.Ua==hm&&(f=64)}d&&(c|=a.mb[7]&d?256:0,c|=a.mb[7]&e?512:0,c|=a.mb[9]&f?512:0)}return c}var Ym=[,["MDA",948,720896,4096,0,3],,["CGA",980,753664,16384,0,2],,["EGA",980,753664,16384,65536,4]];Ym[hm]=["VGA",980,753664,16384,262144,7];var Km=0;
m=Z.prototype;
m.Hc=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;c=(c=Im[this.ja])&&c[0];3!==c&&(nc(b,this,ln),rc(b,this,mn));1!==c&&(nc(b,this,nn),rc(b,this,on));5<=this.Ua&&(nc(b,this,pn),rc(b,this,qn));this.Ua==hm&&(nc(b,this,rn),rc(b,this,sn));if(d){var e=this;Qk(d,262144,function(a){if(e.C)if(a[0]){var b=e.C;if(b.rd){var c,d,f,r=!1,q=8,A=8,F=-1,w=b.video.L>>3;for(c=0;c<a.length;c++){var E=a[c];if(c){var H=E.charAt(0);d=ea(E.substr(1),16);switch(H){case "l":q=d;break;case "n":1<=d&&8>=d&&(A=d,r=!0);break;
m.Ic=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;c=(c=Im[this.ja])&&c[0];3!==c&&(nc(b,this,ln),rc(b,this,mn));1!==c&&(nc(b,this,nn),rc(b,this,on));5<=this.Ua&&(nc(b,this,pn),rc(b,this,qn));this.Ua==hm&&(nc(b,this,rn),rc(b,this,sn));if(d){var e=this;Qk(d,262144,function(a){if(e.C)if(a[0]){var b=e.C;if(b.rd){var c,d,f,r=!1,q=8,A=8,F=-1,w=b.video.L>>3;for(c=0;c<a.length;c++){var E=a[c];if(c){var H=E.charAt(0);d=ea(E.substr(1),16);switch(H){case "l":q=d;break;case "n":1<=d&&8>=d&&(A=d,r=!0);break;
case "p":0<=d&&3>=d&&(F=d);break;case "w":d<w&&(w=d);break;default:b.ha.O("unrecognized argument: "+E)}}else f=ea(E,16)}void 0===f?f=b.B||0:f>=b.ob&&(f-=b.ob);a="";for(c=0;c<q;c++){E=t(b.ob+f)+":";for(d=0;d<A&&f<b.rd.length;d++)H=b.rd[f++],E+=" "+(0>F?t(H):fa(H>>(F<<3),8));r&&(f+=w-A);a&&(a+="\n");a+=E}a&&b.ha.O(a);b.B=f}else b.ha.O("no buffer")}else e.ha.O("BIOSMODE: "+u(e.Ga)),b=e.C,jn(b,"CRTC",b.Ac,b.mb,b.og),5<=b.Ua&&(jn(b," GRC",b.$d,b.Zd,b.$g),jn(b," SEQ",b.ae,b.Ke,b.ah),jn(b," ATC",b.Nd,b.Tc,
b.Zg),jn(b," ATCINDX",b.Nd),b.ha.O(" ATCDATA: "+b.$e),jn(b," FEAT",b.gg),jn(b," MISC",b.vf),jn(b," STATUS0",b.Sg)),jn(b," STATUS1",b.ma),1!=b.Ua&&3!=b.Ua||jn(b," MODEREG",b.fd),3==b.Ua&&jn(b," COLOR",b.tf),5<=b.Ua&&(b.ha.O(" LATCHES: "+t(b.Fb)),b.ha.O(" ACCESS: "+t(b.Bg,4)),b.ha.O("Use 'dump video [addr]' to dump video memory"));else e.ha.O("no active video card")})}if((this.B=Jb(a,"Keyboard"))&&this.ka){for(var f in this.qa)0<f.indexOf("lock")&&this.B.Pb("led",f,this.qa[f]);this.B.Pb(this.bl?
"textarea":"canvas","kbd",this.X)}this.Vc=9;(this.N=Jb(a,"ChipSet"))&&this.dg&&5==this.Ua&&(this.Vc=wk(this.dg,this.Vc));"mouse"==this.jg?(this.V=Jb(a,"Mouse"))&&tn(this,2):"keygrid"==this.jg&&this.B&&tn(this,1)};
m.Pb=function(a,b,c){var d=this;if(!this.qa[b])switch(this.qa[b]=c,b){case "fullScreen":return this.ia&&this.ia.Ze?c.onclick=function(){d.Ze()}:c.parentNode.removeChild(c),!0;case "lockPointer":return this.al=c.textContent,this.X&&this.X.De?c.onclick=function(){d.De(!0)}:c.parentNode.removeChild(c),!0;case "refresh":return c.onclick=function(){un(d,!0)},!0}return!1};
m.Ze=function(){var a=!1;if(this.ia){if(this.ia.Ze){a="100%";if(screen&&screen.width&&screen.height){var b=screen.width/screen.height,c=this.ra/this.Da;b>c&&(a=Math.round(c/b*100)+"%")}this.rf?(this.ka.style.width=a,this.ka.style.width=a,this.ka.style.display="block",this.ka.style.margin="auto"):(this.ia.style.width=a,this.ia.style.height="auto");this.ia.style.backgroundColor="black";this.ia.Ze();a=!0}this.X&&this.X.focus()}return a};
function Lm(a,b){!b&&a.ia&&(a.rf?a.ka.style.width=a.ka.style.height="":a.ia.style.width=a.ia.style.height="");z(a,"notifyFullScreen("+b+")",!0);a.B&&(a.B.jh=b)}m.De=function(a){var b=!1;this.X&&(a?this.X.De&&(this.X.De(),this.V&&this.V.Xf(!0),b=!0):this.X.Zk&&(this.X.Zk(),this.V&&this.V.Xf(!1),b=!0),this.X&&this.X.focus());return b};m.Xf=function(a){this.V&&(this.V.Xf(a),this.B&&(this.B.jh=a));var b=this.qa.lockPointer;b&&(b.textContent=a?"Press Esc to Unlock Pointer":this.al)};
function tn(a,b){var c=a.X;c&&!a.ke&&(c.addEventListener("touchstart",function(b){vn(a,b,!0)},!1),c.addEventListener("touchmove",function(b){vn(a,b)},!0),c.addEventListener("touchend",function(b){vn(a,b,!1)},!1),a.ke=b,a.uc=a.Oc=a.kg=-1,a.Hd=!1,a.Xc=null,a.Gd=!1,a.ro=function(){a.Gd=!0;a.V.he(wn,!0)})}m.Lg=function(a){this.B&&this.B.Lg(a)};
function tn(a,b){var c=a.X;c&&!a.ke&&(c.addEventListener("touchstart",function(b){vn(a,b,!0)},!1),c.addEventListener("touchmove",function(b){vn(a,b)},!0),c.addEventListener("touchend",function(b){vn(a,b,!1)},!1),a.ke=b,a.uc=a.Cc=a.kg=-1,a.Hd=!1,a.Xc=null,a.Gd=!1,a.ro=function(){a.Gd=!0;a.V.he(wn,!0)})}m.Lg=function(a){this.B&&this.B.Lg(a)};
function vn(a,b,c){var d,e,f=0,g=0;e=a.ka;do isNaN(e.offsetLeft)||(f+=e.offsetLeft,g+=e.offsetTop);while(e=e.offsetParent);var h=a.ra/a.ka.offsetWidth,k=a.Da/a.ka.offsetHeight;b.targetTouches&&b.targetTouches.length?(d=b.targetTouches[0].pageX,e=b.targetTouches[0].pageY):(d=b.pageX,e=b.pageY);d=(d-f)*h;e=(e-g)*k;if(1==a.ke)d=d/(a.ra/3)|0,e=e/(a.Da/3)|0,1!=e?e?zm(a.B,1040,!0):zm(a.B,1038,!0):1!=d&&(d?zm(a.B,1039,!0):zm(a.B,1037,!0));else if(a.V){g=a.Hd;f=b.timeStamp-a.kg;!0===c?(a.Hd=500<f,a.kg=b.timeStamp,
a.Xc=setTimeout(a.ro,500)):null!=a.Xc&&(clearTimeout(a.Xc),a.Xc=null);void 0===c&&(a.Hd=!1);g||b.preventDefault();if(!1===c){a.Gd?(a.V.he(wn,!1),a.Gd=!1,b=!0):b=!1;if(b)return;if(200>f){a.V.he(wn,!0);a.V.he(wn,!1);return}}if(c||0>a.uc||0>a.Oc)a.uc=d,a.Oc=e;c=Math.round(d-a.uc);b=Math.round(e-a.Oc);a.uc=d;a.Oc=e;a.V.Jf(c,b,a.uc,a.Oc)}}m.gc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.fc=function(a){return a?this.save():!0};
a.Xc=setTimeout(a.ro,500)):null!=a.Xc&&(clearTimeout(a.Xc),a.Xc=null);void 0===c&&(a.Hd=!1);g||b.preventDefault();if(!1===c){a.Gd?(a.V.he(wn,!1),a.Gd=!1,b=!0):b=!1;if(b)return;if(200>f){a.V.he(wn,!0);a.V.he(wn,!1);return}}if(c||0>a.uc||0>a.Cc)a.uc=d,a.Cc=e;c=Math.round(d-a.uc);b=Math.round(e-a.Cc);a.uc=d;a.Cc=e;a.V.Jf(c,b,a.uc,a.Cc)}}m.gc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.fc=function(a){return a?this.save():!0};
m.reset=function(){var a=!0,b=0;this.N&&(b=+Yk(this.N,Ak,void 0));this.ja||(this.Ua=3==b?1:3);this.va=3;switch(this.Ua){case hm:b=7;break;case 5:var c=Om[this.Vc];c&&(b=c[0]);b||(b=4);break;case 1:b=3;this.va=7;break;default:b=2}this.ya!==b&&(this.ya=b,a=!0);this.C=null;this.pa=this.qd=new Xm(this,1);this.aa=this.Wc=new Xm(this,3);5>this.Ua?this.A=new Xm:(this.A=new Xm(this,this.Ua,null,this.Dd),xn(this));yn(this);this.Ga=null;this.cb=this.ua=-1;this.Pa=0;zn(this,this.va);if(this.C.ob&&a){a=this.C.ob+
this.Ub;for(b=this.C.ob;b<a;b+=2){var d=65536*Math.random()|0;4==this.ya||7==this.ya?(c=b>>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8);lc(this.ga,b,c|d<<8)}un(this,!0)}};function xn(a){a.A.vf&1?(a.pa=a.qd,a.aa=a.A):(a.pa=a.A,a.aa=a.Wc)}m.save=function(){var a=new mf(this);O(a,0,hn(this.qd));O(a,1,hn(this.Wc));O(a,2,[this.ya,this.va,this.Ga]);O(a,3,hn(this.A));return a.data()};
m.restore=function(a){var b=a[2];this.ya=b[0];this.va=b[1];this.Ga=b[2];this.C=null;this.pa=this.qd=new Xm(this,1,a[0]);this.aa=this.Wc=new Xm(this,3,a[1]);this.A=new Xm(this,this.Ua,a[3],this.Dd);this.A.Gc&&xn(this);yn(this);if(!An(this))return!1;Yn(this);return!0};
m.restore=function(a){var b=a[2];this.ya=b[0];this.va=b[1];this.Ga=b[2];this.C=null;this.pa=this.qd=new Xm(this,1,a[0]);this.aa=this.Wc=new Xm(this,3,a[1]);this.A=new Xm(this,this.Ua,a[3],this.Dd);this.A.Hc&&xn(this);yn(this);if(!An(this))return!1;Yn(this);return!0};
function Mm(a,b,c,d){if(d)a.Na("Unable to load font ROM (error "+d+": "+b+")");else{jb(a.ce,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f.length){x("Empty font ROM: "+b);return}if(1==f.length){x(f[0]);return}if(8192==f.length)gm(a,f,[6144,0]);else if(2048==f.length)gm(a,f,[0]);else{a.Na("Unrecognized font data length ("+f.length+")");return}}catch(g){a.Na("Font ROM data error: "+g.message);return}(a.ea||a.ha)&&wb(a)}}
function Zn(a,b){if(1==b)return a.Ca[0]=Rm[0],a.Ca[1]=Rm[7],a.Ca;if(2==b){var c=a.C.tf;if(a.C===a.A){var d=a.A.Tc[0],c=d&7;d&16&&(c|=8);18!=a.A.Tc[1]&&(c|=32)}a.Ca[0]=Rm[c&15];c=c&32?Tm:Sm;for(d=0;d<c.length;d++)a.Ca[d+1]=Rm[c[d]];return a.Ca}if(a.aa===a.Wc)return Rm;a.rb&&b&&!a.Ca[16]&&(a.rb=!1);if(!a.rb){var c=a.A,d=c.uf,e,f,g,h,k;if(8==b)for(f=0;256>f;f++)g=d[f]||0,h=g<<2&252,k=g>>4&252,g=g>>10&252,a.Ca[f]=[h,k,g,255];else{var l=d&&d[255];e=null!=c.Tc[15]?c.Tc:Um;for(f=0;16>f;f++)g=e[f]&63,l?(g|=
(c.Tc[20]&12)<<4,c.Tc[16]&128&&(g&=-49,g|=(c.Tc[20]&3)<<4),g=d[g],h=g<<2&252,k=g>>4&252,g=g>>10&252):(h=(g&4?170:0)|(g&32?85:0),k=(g&2?170:0)|(g&16?85:0),g=(g&1?170:0)|(g&8?85:0)),a.Ca[f]=[h,k,g,255]}a.rb=!0}return a.Ca}function gm(a,b,c,d){a.Uc=b;a.Jb=c;a.Tb=d}
@ -518,7 +518,7 @@ function go(a){var b,c=a.C;a.jf=!1;var d=c.Zd[5];if(null!=d){b=1024;var e=0,f=c.
function ho(a,b){var c=a.C;return c&&null!=b&&b!=c.Bg?(c.Ug(b),a.ga.Ug(c.ob,c.ac,c.mh(),!0),!0):!1}
function An(a,b){var c,d=a.Ga,e=a.C;if(e)if(1==e.Ua)d=7;else if(5<=e.Ua){var d=null,f=e.Dd>>2,g=32768<f?32768:f,h=e.Zd[6];if(null!=h){switch(h&12){case 0:e.ob=655360;e.ac=f;d=255;break;case 4:e.ob=655360;e.ac=f;d=3==a.ya?15:16;break;case 8:e.ob=720896;e.ac=g;d=7;break;case 12:e.ob=753664,e.ac=g,d=3==a.ya?2:3}c=80==(e.Zd[5]&80);!c||e.ob==a.ob&&e.ac==a.ac||(b=!0);var f=kn(e,6),g=e.mb[9],k=e.mb[23],l=e.Ke[1]&8;255!=d&&(h&1?655360==e.ob||c||k&1?e.Zd[5]&64?d=g&31?143>=e.mb[18]?19:20:21:g&128||350>f?d=
l?13:14:480<=f&&(d=3==a.ya?17:18):d=l?7-d:6:d-=l?2:0);c=go(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.Ga=null,null==d&&(d=a.va);if(!zn(a,d,b))return!1;ho(a,c);return!0}
function zn(a,b,c){if(null!=b&&(b!=a.Ga||c)){a.Vg=0;a.Ga=b;a.rb=!1;b=a.C||(7==b?a.pa:a.aa);if(b!=a.C||b.ob!=a.ob||b.ac!=a.ac){eo(a);if(a.ob){if(!ec(a.ga,a.ob,a.ac))return!1;a.C&&(a.C.Gc=!1)}a.C=b;b.Gc=!0;a.ob=b.ob;a.ac=b.ac;if(!Yb(a.ga,b.ob,b.ac,3,b===a.A?b:null))return!1}a:{a.U=0;a.L=a.jd;a.W=a.je;a.Db=a.L;a.hd=Jm[7][2];b=0;if(c=Jm[a.Ga])a.L=c[0],a.W=c[1],a.hd=c[2],b=c[3],a.U=c[4],4!=a.ya&&7!=a.ya||a.C!==a.A||3!=a.U||(7==(a.A.mb[9]&31)?a.W=350>kn(a.A,18)?43:50:a.U=a.Ua);a.cg=a.L*a.W|0;a.$f=a.cg/
function zn(a,b,c){if(null!=b&&(b!=a.Ga||c)){a.Vg=0;a.Ga=b;a.rb=!1;b=a.C||(7==b?a.pa:a.aa);if(b!=a.C||b.ob!=a.ob||b.ac!=a.ac){eo(a);if(a.ob){if(!ec(a.ga,a.ob,a.ac))return!1;a.C&&(a.C.Hc=!1)}a.C=b;b.Hc=!0;a.ob=b.ob;a.ac=b.ac;if(!Yb(a.ga,b.ob,b.ac,3,b===a.A?b:null))return!1}a:{a.U=0;a.L=a.jd;a.W=a.je;a.Db=a.L;a.hd=Jm[7][2];b=0;if(c=Jm[a.Ga])a.L=c[0],a.W=c[1],a.hd=c[2],b=c[3],a.U=c[4],4!=a.ya&&7!=a.ya||a.C!==a.A||3!=a.U||(7==(a.A.mb[9]&31)?a.W=350>kn(a.A,18)?43:50:a.U=a.Ua);a.cg=a.L*a.W|0;a.$f=a.cg/
a.hd|0;a.Ub=a.$f;a.sd=0;void 0!==b&&(a.Ub=(a.Ub<<1)+b|0,a.sd=a.Ub+b>>1);if(a.Oa.length){a.Ja=a.ra/a.L|0;a.Ka=a.Da/a.W|0;if(a.U){b=a.Oa[a.U];if(!b)break a;c=a.Oa[a.U<<1];a.Yf&&80==a.L?c&&a.Ja>=3*c.Qc>>2&&(a.U<<=1,b=c):(c&&a.Ja>=c.Qc&&(a.U<<=1,b=c),a.Yf||(a.Ja=b.Qc,a.Ka=b.Rc));a.kc=a.tc=0;b&&(a.kc=a.L*b.Qc,a.tc=a.W*b.Rc)}else a.Ja=a.Ka=1,a.kc=a.L,a.tc=a.W;a.sb=a.ea.createImageData(a.kc,a.tc);a.fb=document.createElement("canvas");a.fb.width=a.kc;a.fb.height=a.tc;a.gb=a.fb.getContext("2d");a.le=a.me=
0;a.Cd=a.ra;a.Fd=a.Da;b=a.ra-a.L*a.Ja;c=a.Da-a.W*a.Ka;0<b&&(a.le=b>>1,a.Cd-=b);0<c&&(a.me=c>>1,a.Fd-=c);if(b||c)a.ea.fillStyle=a.ka.style.backgroundColor,a.ea.fillRect(0,0,a.ra,a.Da)}}io(a,!0);un(a)}return!0}function bo(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 jo(a){a.Pa=-1;a.Fa=!1;var b=a.$f;if(void 0===a.fa||a.fa.length!=b)a.fa=Array(b)}function io(a,b){b||(a.rb=!1);jo(a)}
function fo(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.Oa[a.U];h.Af&&(d=h.Af[d]);var k=g>>4&15;h.Af&&(k=h.Af[k]);e?(b*=h.Qc,c*=h.Rc,e.fillStyle=h.Pe[k],e.fillRect(b,c,h.Qc,h.Rc)):(b=b*a.Ja+a.le,c=c*a.Ka+a.me,a.ea.fillStyle=h.Pe[k],a.ea.fillRect(b,c,a.Ja,a.Ka));g&256&&(k=(f&15)*h.Qc,f=(f>>4)*h.Rc,e?e.drawImage(h.Yg[d],k,f,h.Qc,h.Rc,b,c,h.Qc,h.Rc):a.ea.drawImage(h.Yg[d],k,f,h.Qc,h.Rc,b,c,a.Ja,a.Ka));g&512&&(f=a.lg,g=a.Ce,e?(a.$a&&a.$a!==h.Rc&&(f=f*h.Rc/a.$a|0,g=g*h.Rc/a.$a|0),e.fillStyle=h.Pe[d],
@ -533,43 +533,43 @@ m.vm=function(a,b){return po(this,this.pa,b)};m.Lk=function(a,b,c){this.A.gg=thi
m.Kk=function(a,b,c){var d=this.A,e=d.Nd&32;if(d.$e){d.$e=!1;var f=d.Nd&31;if(16<=f||!e)c&&!B(this)||y(this,a,b,c,"ATC."+d.Zg[f]),d.Tc[f]=b,io(this,!1)}else d.Nd=b,y(this,a,b,c,"ATC.INDX"),d.$e=!0,b&32&&!e&&yn(this,!0)&&un(this,!0),a=(d.mb[12]<<8)+d.mb[13]|0,d.Ld!=a&&(d.Ld=a,io(this)),d.qf=0};
m.Fm=function(a,b){var c=0;if(5==this.Ua)c=3-((this.A.vf&12)>>2),c=(this.Vc&1<<c)<<4-c;else{var d=this.A.uf[0];45!=(d&63)&&2880!=(d&4032)&&184320!=(d&258048)&&(c|=16)}c|=this.A.Sg&-17;this.A.Sg=c;y(this,962,null,b,"STATUS0",c);return c};m.Wn=function(a,b,c){this.A.vf=b;xn(this);y(this,962,b,c,"MISC")};m.Gm=function(a,b){var c=this.A.ui;y(this,963,null,b,"VGA_ENABLE",c);return c};m.eo=function(a,b,c){this.A.ui=b;y(this,963,b,c,"VGA_ENABLE")};
m.Dm=function(a,b){var c=this.A.ae;y(this,964,null,b,"SEQ.INDX",c);return c};m.bo=function(a,b,c){this.A.ae=b;y(this,964,b,c,"SEQ.INDX")};m.Cm=function(a,b){var c=this.A.Ke[this.A.ae];b&&!B(this)||y(this,965,null,b,"SEQ."+this.A.ah[this.A.ae],c);return c};m.ao=function(a,b,c){c&&!B(this)||y(this,965,b,c,"SEQ."+this.A.ah[this.A.ae]);this.A.Ke[this.A.ae]=b;switch(this.A.ae){case 2:this.A.qb=Vm[b&15];break;case 4:ho(this,go(this))&&un(this,!0)}};
m.em=function(a,b){var c=this.A.ti;b&&!B(this)||y(this,966,null,b,"DAC.MASK",c);return c};m.Dn=function(a,b,c){c&&!B(this)||y(this,966,b,c,"DAC.MASK");this.A.ti=b};m.fm=function(a,b){var c=this.A.Qg;b&&!B(this)||y(this,967,null,b,"DAC.STATE",c);return c};m.En=function(a,b,c){c&&!B(this)||y(this,967,b,c,"DAC.READ");this.A.od=b;this.A.Qg=3;this.A.Jc=0};m.Fn=function(a,b,c){c&&!B(this)||y(this,968,b,c,"DAC.WRITE");this.A.od=b;this.A.Qg=0;this.A.Jc=0};
m.dm=function(a,b){var c=this.A.uf[this.A.od]>>this.A.Jc&63;b&&!B(this)||y(this,969,null,b,"DAC.DATA["+u(this.A.od)+"]["+u(this.A.Jc)+"]",c);this.A.Jc+=6;12<this.A.Jc&&(this.A.Jc=0,this.A.od=this.A.od+1&255);return c};m.Cn=function(a,b,c){a=this.A.uf[this.A.od];c&&!B(this)||y(this,969,b,c,"DAC.DATA["+u(this.A.od)+"]["+u(this.A.Jc)+"]");b=a&~(63<<this.A.Jc)|(b&63)<<this.A.Jc;a!==b&&(this.A.uf[this.A.od]=b,io(this,!1));this.A.Jc+=6;12<this.A.Jc&&(this.A.Jc=0,this.A.od=this.A.od+1&255)};
m.em=function(a,b){var c=this.A.ti;b&&!B(this)||y(this,966,null,b,"DAC.MASK",c);return c};m.Dn=function(a,b,c){c&&!B(this)||y(this,966,b,c,"DAC.MASK");this.A.ti=b};m.fm=function(a,b){var c=this.A.Qg;b&&!B(this)||y(this,967,null,b,"DAC.STATE",c);return c};m.En=function(a,b,c){c&&!B(this)||y(this,967,b,c,"DAC.READ");this.A.od=b;this.A.Qg=3;this.A.Kc=0};m.Fn=function(a,b,c){c&&!B(this)||y(this,968,b,c,"DAC.WRITE");this.A.od=b;this.A.Qg=0;this.A.Kc=0};
m.dm=function(a,b){var c=this.A.uf[this.A.od]>>this.A.Kc&63;b&&!B(this)||y(this,969,null,b,"DAC.DATA["+u(this.A.od)+"]["+u(this.A.Kc)+"]",c);this.A.Kc+=6;12<this.A.Kc&&(this.A.Kc=0,this.A.od=this.A.od+1&255);return c};m.Cn=function(a,b,c){a=this.A.uf[this.A.od];c&&!B(this)||y(this,969,b,c,"DAC.DATA["+u(this.A.od)+"]["+u(this.A.Kc)+"]");b=a&~(63<<this.A.Kc)|(b&63)<<this.A.Kc;a!==b&&(this.A.uf[this.A.od]=b,io(this,!1));this.A.Kc+=6;12<this.A.Kc&&(this.A.Kc=0,this.A.od=this.A.od+1&255)};
m.Hm=function(a,b){var c=this.A.gg;y(this,970,null,b,"FEAT",c);return c};m.Pn=function(a,b,c){this.A.Qk=b;y(this,970,b,c,"GRC2")};m.Im=function(a,b){var c=this.A.vf;y(this,972,null,b,"MISC",c);return c};m.On=function(a,b,c){this.A.Pk=b;y(this,972,b,c,"GRC1")};m.mm=function(a,b){var c=this.A.$d;y(this,974,null,b,"GRC.INDX",c);return c};m.Nn=function(a,b,c){this.A.$d=b;y(this,974,b,c,"GRC.INDX")};
m.lm=function(a,b){var c=this.A.Zd[this.A.$d];b&&!B(this)||y(this,975,null,b,"GRC."+this.A.$g[this.A.$d],c);return c};
m.Mn=function(a,b,c){c&&!B(this)||y(this,975,b,c,"GRC."+this.A.$g[this.A.$d]);this.A.Zd[this.A.$d]=b;switch(this.A.$d){case 0:this.A.Wf=Vm[b&15];this.A.pe=this.A.Wf&~this.A.Yd;break;case 1:this.A.Yd=~Vm[b&15];this.A.pe=this.A.Wf&~this.A.Yd;break;case 2:this.A.wh=Vm[b&15]&-2139062144;break;case 3:case 5:ho(this,go(this));break;case 4:this.A.li=(b&3)<<3;break;case 6:An(this,!1);break;case 7:this.A.xh=Vm[b&15]&-2139062144;break;case 8:this.A.Mb=b|b<<8|b<<16|b<<24}};
m.Yl=function(a,b){return lo(this,this.aa,a,b)};m.xn=function(a,b,c){var d=this.aa;d.Pg=d.Ac;d.Ac=b&31;y(this,a,b,c,"CRTC.INDX")};m.Xl=function(a,b){return mo(this,this.aa,a,b)};m.wn=function(a,b,c){no(this,this.aa,a,b,c)};m.Zl=function(a,b){return oo(this,this.aa,b)};m.yn=function(a,b,c){a=this.aa;y(this,a.port+4,b,c,"MODE");a.fd=b;An(this,!1)};m.Wl=function(a,b){var c=this.aa.tf;b&&!B(this)||y(this,a,null,b,this.aa.type+".COLOR",c);return c};
m.vn=function(a,b,c){c&&!B(this)||y(this,a,b,c,this.aa.type+".COLOR");this.aa.tf!==b&&(this.aa.tf=b,io(this,!1))};m.$l=function(a,b){return po(this,this.aa,b)};function lo(a,b,c,d){var e;b.Gc&&(e=b.Ac);y(a,c,null,d,"CRTC.INDX",e);return e}function mo(a,b,c,d){var e;b.Gc&&b.Ac<b.vh&&(e=b.mb[b.Ac]);d&&!B(a)||y(a,c,null,d,"CRTC."+b.og[b.Ac],e);return e}
m.vn=function(a,b,c){c&&!B(this)||y(this,a,b,c,this.aa.type+".COLOR");this.aa.tf!==b&&(this.aa.tf=b,io(this,!1))};m.$l=function(a,b){return po(this,this.aa,b)};function lo(a,b,c,d){var e;b.Hc&&(e=b.Ac);y(a,c,null,d,"CRTC.INDX",e);return e}function mo(a,b,c,d){var e;b.Hc&&b.Ac<b.vh&&(e=b.mb[b.Ac]);d&&!B(a)||y(a,c,null,d,"CRTC."+b.og[b.Ac],e);return e}
function no(a,b,c,d,e){if(b.Ac<b.vh){e&&!B(a)||y(a,c,d,e,"CRTC."+b.og[b.Ac]);b.mb[b.Ac]=d;if(12==b.Ac||13==b.Ac)ko(a,b)&1?(c=(b.mb[12]<<8)+b.mb[13]|0,b.Ld!==c&&(b.Ld=c,io(a))):b.qf||(b.qf=b.mi);(9==b.Ac&&8!=b.Pg||18==b.Ac&&223==d)&&An(a,!0);Yn(a)}}function oo(a,b,c){var d=b.fd;y(a,b.port+4,null,c,"MODE",d);return d}function po(a,b,c){var d=ko(a,b);b===a.A?(d|=b.ma&48^48,b.$e=!1):d=(b.ma^=9)|240;b.ma=d;y(a,b.port+6,null,c,b===a.A?"STATUS1":"STATUS",d);return d}
var ln={948:Z.prototype.tm,949:Z.prototype.sm,952:Z.prototype.um,954:Z.prototype.vm},mn={948:Z.prototype.Un,949:Z.prototype.Tn,952:Z.prototype.Vn},nn={980:Z.prototype.Yl,981:Z.prototype.Xl,984:Z.prototype.Zl,985:Z.prototype.Wl,986:Z.prototype.$l},on={980:Z.prototype.xn,981:Z.prototype.wn,984:Z.prototype.yn,985:Z.prototype.vn},pn={960:Z.prototype.Sl,961:Z.prototype.jl,962:Z.prototype.Fm,964:Z.prototype.Dm,965:Z.prototype.Cm,974:Z.prototype.mm,975:Z.prototype.lm},qn={954:Z.prototype.Lk,960:Z.prototype.Kk,
961:Z.prototype.Kk,962:Z.prototype.Wn,964:Z.prototype.bo,965:Z.prototype.ao,970:Z.prototype.Pn,972:Z.prototype.On,974:Z.prototype.Nn,975:Z.prototype.Mn,986:Z.prototype.Lk},rn={963:Z.prototype.Gm,966:Z.prototype.em,967:Z.prototype.fm,969:Z.prototype.dm,970:Z.prototype.Hm,972:Z.prototype.Im},sn={963:Z.prototype.eo,966:Z.prototype.Dn,967:Z.prototype.En,968:Z.prototype.Fn,969:Z.prototype.Cn};
Ua(function(){for(var a=rb(document,"pcx86","video"),b=0;b<a.length;b++){var c=a[b],d=ob(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<=Ca().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());var f=+(d.aspect||cb.aspect);f&&.3<=f&&3.33>=f&&(Ta("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");Ka("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new Z(d,e,g,f,c);qb(d,c)}});
function qo(a){this.V=a.adapter;switch(this.V){case 1:this.X=956;this.C=7;break;case 2:this.X=888;this.C=7;break;case 3:this.X=632;this.C=5;break;default:x("Unrecognized parallel adapter #"+this.V);return}this.A=this.B=null;Za.call(this,"ParallelPort",a,qo,4194304);a=a.binding;"console"==a?this.B="":pb(this,a,ro)}hb(qo);var ro="buffer";m=qo.prototype;m.Pb=function(a,b,c){switch(b){case ro:return this.qa[b]=this.A=c,!0}return!1};
m.Hc=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;this.N=Jb(a,"ChipSet");nc(b,this,so,this.X);rc(b,this,to,this.X);wb(this)};m.gc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.fc=function(a){return a?this.save():!0};m.reset=function(){uo(this)};m.save=function(){var a=new mf(this),b=0,c=[];c[b++]=this.L;c[b++]=this.Yb;c[b]=this.Df;O(a,0,c);return a.data()};m.restore=function(a){return uo(this,a[0])};
m.Ic=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;this.N=Jb(a,"ChipSet");nc(b,this,so,this.X);rc(b,this,to,this.X);wb(this)};m.gc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.fc=function(a){return a?this.save():!0};m.reset=function(){uo(this)};m.save=function(){var a=new mf(this),b=0,c=[];c[b++]=this.L;c[b++]=this.Yb;c[b]=this.Df;O(a,0,c);return a.data()};m.restore=function(a){return uo(this,a[0])};
function uo(a,b){var c=0;void 0===b&&(b=[0,0,0]);a.L=b[c++];a.Yb=b[c++];a.Df=b[c];return!0}m.gm=function(a,b){var c=this.L;y(this,a,null,b,"DATA",c);return c};m.Em=function(a,b){var c=this.Yb;y(this,a,null,b,"STAT",c);return c};m.cm=function(a,b){var c=this.Df;y(this,a,null,b,"CTRL",c);return c};
m.Gn=function(a,b,c){y(this,a,b,c,"DATA");this.L=b;this.Yb|=64;a=!1;z(this,"transmitByte("+u(b)+")");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);if(null!=this.B){if(10==b||1024<=this.B.length)this.O(this.B),this.B="";10!=b&&(this.B+=String.fromCharCode(b));a=!0}a&&(this.Yb&=-65);vo(this)};m.Bn=function(a,b,c){y(this,a,b,c,"CTRL");this.Df=b;vo(this)};
function vo(a){a.N&&a.C&&(a.Df&16&&!(a.Yb&64)?ig(a.N,a.C):hg(a.N,a.C))}var so={0:qo.prototype.gm,1:qo.prototype.Em,2:qo.prototype.cm},to={0:qo.prototype.Gn,2:qo.prototype.Bn};Ua(function(){for(var a=rb(document,"pcx86","parallel"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new qo(d);qb(d,c)}});
function wo(a){this.ya=a.adapter;switch(this.ya){case 1:this.ua=1016;this.ka=4;break;case 2:this.ua=760;this.ka=3;break;default:x("Unrecognized serial adapter #"+this.ya);return}this.L=this.W=null;this.Ga=a.tabSize;this.Fa=a.charBOL;this.ea=0;Za.call(this,"SerialPort",a,wo,8388608);a=a.binding;"console"==a?this.W="":pb(this,a,xo);this.ia=this.ra=null;this.exports={connect:this.yj,receiveData:this.fg}}hb(wo);var xo="buffer";m=wo.prototype;m.aj=function(a,b){return a==this.xd?(this.V=b,this):null};
m.Pb=function(a,b,c){var d=this;switch(b){case xo:return this.qa[b]=this.L=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),d.fg(b);return!0},c.onkeypress=function(a){a=a||window.event;d.fg(a.which||a.keyCode);a.preventDefault&&a.preventDefault();return!0},c.removeAttribute("readonly"),!0}return!1};
m.Hc=function(a,b,c,d){this.X=a;this.ga=b;this.F=c;this.ha=d;this.N=Jb(a,"ChipSet");nc(b,this,yo,this.ua);rc(b,this,zo,this.ua);wb(this)};m.yj=function(){if(!this.ia){var a=Tc(this.X,"connection");if(a){var b=a.split("->");if(2==b.length){var c=pa(b[0]);if(c!=this.xd)return;b=pa(b[1]);if(this.ia=mb(b)){var d=this.ia.exports;if(d){var e=d.connect;e&&e.call(this.ia);if(this.ra=d.receiveData){this.status(this.ce+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};
m.Ic=function(a,b,c,d){this.X=a;this.ga=b;this.F=c;this.ha=d;this.N=Jb(a,"ChipSet");nc(b,this,yo,this.ua);rc(b,this,zo,this.ua);wb(this)};m.yj=function(){if(!this.ia){var a=Tc(this.X,"connection");if(a){var b=a.split("->");if(2==b.length){var c=pa(b[0]);if(c!=this.xd)return;b=pa(b[1]);if(this.ia=mb(b)){var d=this.ia.exports;if(d){var e=d.connect;e&&e.call(this.ia);if(this.ra=d.receiveData){this.status(this.ce+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};
m.gc=function(a,b){if(!b)if(this.yj(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.fc=function(a){return a?this.save():!0};m.reset=function(){Ao(this)};m.save=function(){var a=new mf(this),b=0,c=[];c[b++]=this.va;c[b++]=this.Da;c[b++]=this.fa;c[b++]=this.pa;c[b++]=this.U;c[b++]=this.B;c[b++]=this.C;c[b++]=this.A;c[b++]=this.Ca;c[b]=this.aa;O(a,0,c);return a.data()};m.restore=function(a){return Ao(this,a[0])};
function Ao(a,b){var c=0;void 0===b&&(b=[0,0,384,0,1,0,0,96,48,[]]);a.va=b[c++];a.Da=b[c++];a.fa=b[c++];a.pa=b[c++];a.U=b[c++];a.B=b[c++];a.C=b[c++];a.A=b[c++];a.Ca=b[c++];a.aa=b[c];return!0}m.fg=function(a){if("number"==typeof a)this.aa.push(a);else if("string"==typeof a)for(var b=0;b<a.length;b++)this.aa.push(a.charCodeAt(b));else this.aa=this.aa.concat(a);Bo(this);return!0};
function Bo(a){0<a.aa.length&&!(a.A&1)&&(a.va=a.aa.shift(),a.A|=1);var b=-1;a.A&1&&a.pa&1&&(b=4);0<=b?(a.U&=-8,a.U|=b,a.N&&a.ka&&ig(a.N,a.ka,100)):(a.U|=1,a.N&&a.ka&&hg(a.N,a.ka))}m.Bm=function(a,b){var c=this.B&128?this.fa&255:this.va;y(this,a,null,b,this.B&128?"DLL":"RBR",c);this.A&=-2;Bo(this);return c};m.nm=function(a,b){var c=this.B&128?this.fa>>8:this.pa;y(this,a,null,b,this.B&128?"DLM":"IER",c);return c};m.om=function(a,b){var c=this.U;y(this,a,null,b,"IIR",c);return c};
m.pm=function(a,b){var c=this.B;y(this,a,null,b,"LCR",c);return c};m.rm=function(a,b){var c=this.C;y(this,a,null,b,"MCR",c);return c};m.qm=function(a,b){var c=this.A;y(this,a,null,b,"LSR",c);return c};m.wm=function(a,b){var c=this.Ca;y(this,a,null,b,"MSR",c);return c};
m.co=function(a,b,c){y(this,a,b,c,this.B&128?"DLL":"THR");if(this.B&128)this.fa=this.fa&-256|b;else{this.Da=b;this.A&=-97;a=!1;z(this,"transmitByte("+u(b)+")");this.ra&&this.ra.call(this.ia,b)&&(a=!0);if(this.L)13==b?this.ea=0:8==b?(this.L.value=this.L.value.slice(0,-1),0<this.ea&&this.ea--):(a=(a=qa[b])?"<"+a+">":String.fromCharCode(b),c=a.length,32>b&&1==c&&(c=0),9==b&&(b=this.Ga||8,c=b-this.ea%b,this.Ga&&(a=oa("",c))),this.Fa&&!this.ea&&c&&(a=String.fromCharCode(this.Fa)+a),this.L.value+=a,this.L.scrollTop=
this.L.scrollHeight,this.ea+=c),a=!0;else if(null!=this.W){if(10==b||1024<=this.W.length)this.O(this.W),this.W="";10!=b&&(this.W+=String.fromCharCode(b));a=!0}a&&(this.A|=96)}};m.Qn=function(a,b,c){y(this,a,b,c,this.B&128?"DLM":"IER");this.B&128?this.fa=this.fa&255|b<<8:this.pa=b};m.Rn=function(a,b,c){y(this,a,b,c,"LCR");this.B=b};
m.Sn=function(a,b,c){var d=this.C;y(this,a,b,c,"MCR");this.C=b;this.V&&(d^b)&3&&(a=this.V,b=this.C,(c=3==(b&3))?a.Gc||(d=!1,a.C&2||(a.reset(),z(a,"serial mouse reset"),d=!0),a.C&1||(z(a,"serial mouse ID requested"),d=!0),d&&(a.N.fg([77,77]),z(a,"serial mouse ID sent")),Co(a),a.Gc=c):a.Gc&&(z(a,"serial mouse inactive"),Do(a),a.Gc=c),a.C=b)};
var yo={0:wo.prototype.Bm,1:wo.prototype.nm,2:wo.prototype.om,3:wo.prototype.pm,4:wo.prototype.rm,5:wo.prototype.qm,6:wo.prototype.wm},zo={0:wo.prototype.co,1:wo.prototype.Qn,3:wo.prototype.Rn,4:wo.prototype.Sn};Ua(function(){for(var a=rb(document,"pcx86","serial"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new wo(d);qb(d,c)}});function Eo(a){Za.call(this,"Mouse",a,Eo,16777216);if(this.ka=a.serial)this.pa="SerialPort";this.ia=this.fa=this.Gc=!1;this.B=[];this.A=[];wb(this)}hb(Eo);var wn=0;m=Eo.prototype;
m.Hc=function(a,b,c,d){this.X=a;this.ga=b;this.F=c;this.ha=d;for(b=null;b=Jb(a,"Video",b);)this.B.push(b)};m.gc=function(a,b){if(!b){if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;if(this.pa&&!this.N){for(var c=null;(c=Jb(this.X,this.pa,c))&&(!c.aj||!(this.N=c.aj(this.ka,this))););if(this.N)for(this.A=[],c=0;c<this.B.length;c++){var d;d=this.B[c];d.V=this;(d=d.X)&&this.A.push(d)}else x(this.id+": "+this.pa+" "+this.ka+" unavailable")}this.Gc?Co(this):Do(this)}return!0};
m.fc=function(a){return a?this.save():!0};m.reset=function(){Fo(this)};m.save=function(){var a=new mf(this),b=0,c=[];c[b++]=this.Gc;c[b++]=this.L;c[b++]=this.V;c[b++]=this.U;c[b++]=this.W;c[b++]=this.aa;c[b++]=this.ea;c[b]=this.C;O(a,0,c);return a.data()};m.restore=function(a){return Fo(this,a[0])};function Fo(a,b){var c=0;void 0===b&&(b=[!1,-1,-1,0,0,!1,!1,0]);var d=b[c++];a.Gc=d;a.L=b[c++];a.V=b[c++];a.U=b[c++];a.W=b[c++];a.aa=b[c++];a.ea=b[c++];a.C=b[c];return!0}m.Xf=function(a){this.fa=a};
m.Sn=function(a,b,c){var d=this.C;y(this,a,b,c,"MCR");this.C=b;this.V&&(d^b)&3&&(a=this.V,b=this.C,(c=3==(b&3))?a.Hc||(d=!1,a.C&2||(a.reset(),z(a,"serial mouse reset"),d=!0),a.C&1||(z(a,"serial mouse ID requested"),d=!0),d&&(a.N.fg([77,77]),z(a,"serial mouse ID sent")),Co(a),a.Hc=c):a.Hc&&(z(a,"serial mouse inactive"),Do(a),a.Hc=c),a.C=b)};
var yo={0:wo.prototype.Bm,1:wo.prototype.nm,2:wo.prototype.om,3:wo.prototype.pm,4:wo.prototype.rm,5:wo.prototype.qm,6:wo.prototype.wm},zo={0:wo.prototype.co,1:wo.prototype.Qn,3:wo.prototype.Rn,4:wo.prototype.Sn};Ua(function(){for(var a=rb(document,"pcx86","serial"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new wo(d);qb(d,c)}});function Eo(a){Za.call(this,"Mouse",a,Eo,16777216);if(this.ka=a.serial)this.pa="SerialPort";this.ia=this.fa=this.Hc=!1;this.B=[];this.A=[];wb(this)}hb(Eo);var wn=0;m=Eo.prototype;
m.Ic=function(a,b,c,d){this.X=a;this.ga=b;this.F=c;this.ha=d;for(b=null;b=Jb(a,"Video",b);)this.B.push(b)};m.gc=function(a,b){if(!b){if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;if(this.pa&&!this.N){for(var c=null;(c=Jb(this.X,this.pa,c))&&(!c.aj||!(this.N=c.aj(this.ka,this))););if(this.N)for(this.A=[],c=0;c<this.B.length;c++){var d;d=this.B[c];d.V=this;(d=d.X)&&this.A.push(d)}else x(this.id+": "+this.pa+" "+this.ka+" unavailable")}this.Hc?Co(this):Do(this)}return!0};
m.fc=function(a){return a?this.save():!0};m.reset=function(){Fo(this)};m.save=function(){var a=new mf(this),b=0,c=[];c[b++]=this.Hc;c[b++]=this.L;c[b++]=this.V;c[b++]=this.U;c[b++]=this.W;c[b++]=this.aa;c[b++]=this.ea;c[b]=this.C;O(a,0,c);return a.data()};m.restore=function(a){return Fo(this,a[0])};function Fo(a,b){var c=0;void 0===b&&(b=[!1,-1,-1,0,0,!1,!1,0]);var d=b[c++];a.Hc=d;a.L=b[c++];a.V=b[c++];a.U=b[c++];a.W=b[c++];a.aa=b[c++];a.ea=b[c++];a.C=b[c];return!0}m.Xf=function(a){this.fa=a};
function Co(a){if(!a.ia)for(var b=0;b<a.A.length;b++)Go(a,a.A[b])&&(a.ia=!0)}function Do(a){if(a.ia)for(var b=0;b<a.A.length;b++){var c=a.A[b];c&&(c.style.cursor="auto")}}function Go(a,b){return b?(b.addEventListener("mousemove",function(b){Ho(a,b)},!1),b.addEventListener("mousedown",function(b){Ho(a,b,!0)},!1),b.addEventListener("mouseup",function(b){Ho(a,b,!1)},!1),b.style.cursor="none",!0):!1}
function Ho(a,b,c){if(void 0!==c){var d;!(d=!1!==a.fa)&&(d=a.B.length)&&(d=a.B[0],d=d.zi?d.De(!0):!1);d||(a.fa=null);a.he(b.button,c)}else{if(0>a.L||0>a.V)a.L=b.clientX,a.V=b.clientY;a.fa?(c=b.movementX||b.mozMovementX||b.webkitMovementX||0,d=b.movementY||b.mozMovementY||b.webkitMovementY||0):(c=b.clientX-a.L,d=b.clientY-a.V);a.L=b.clientX;a.V=b.clientY;a.Jf(c,d,a.L,a.V)}}
m.he=function(a,b){if(this.Gc&&this.F&&this.F.la.Ib){var c="mouse button"+a+" "+(b?"dn":"up");switch(a){case wn:if(this.aa!=b){this.aa=b;Io(this,c);return}break;case 2:if(this.ea!=b){this.ea=b;Io(this,c);return}}z(this,c+": ignored")}};m.Jf=function(a,b,c,d){this.Gc&&this.F&&this.F.la.Ib&&(a||b)&&(this.U=a,this.W=b,Io(this,null,c,d))};
m.he=function(a,b){if(this.Hc&&this.F&&this.F.la.Ib){var c="mouse button"+a+" "+(b?"dn":"up");switch(a){case wn:if(this.aa!=b){this.aa=b;Io(this,c);return}break;case 2:if(this.ea!=b){this.ea=b;Io(this,c);return}}z(this,c+": ignored")}};m.Jf=function(a,b,c,d){this.Hc&&this.F&&this.F.la.Ib&&(a||b)&&(this.U=a,this.W=b,Io(this,null,c,d))};
function Io(a,b,c,d){var e=64|(a.aa?32:0)|(a.ea?16:0)|(a.W&192)>>4|(a.U&192)>>6,f=a.U&63,g=a.W&63;B(a,8388608)&&z(a,(b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+u(e)+","+u(f)+","+u(g)+"]",0,!0);a.N.fg([e,f,g]);a.U=a.W=0}Ua(function(){for(var a=rb(document,"pcx86","mouse"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new Eo(d);qb(d,c)}});
function Jo(a,b,c){Za.call(this,"Disk",{id:a.ce+".disk"+t(++Ko,4)},Jo,2097152);this.controller=a;this.X=a.X;this.ha=a.ha;this.B=b;this.ga=b.name;this.df=b.df;this.wg=this.N=!1;Lo(this,c,b.Bb,b.ub,b.lb,b.Va);this.U=[];this.ea=[];this.L=null;this.ia=0;this.fa=!1;wb(this)}var Ko=0;hb(Jo);function Mo(a,b,c,d,e,f){this.za=a;this.jc=c;this.bh=d;this.fj=e;this.xe=f}var No=[0,2],Oo=[24,2],Po=[60,4],Qo=[0,2],Ro=[4,2],So=[6,2],To=[28,2],Uo=[32,2],Vo=[34,2],Wo=[38,2],Xo=[44,4],Yo=[50,2];
function Zo(a,b,c){var d;c=c||2;var e=b&511,f=$o(a.za,a.xe[b>>9]);if(f){if(e+c<=f.length)return ap(a.za,f,e,c);for(e=d=0;c--;)d|=Zo(a,b++,1)<<e,e+=8}return d}function bp(a,b,c){return Zo(a,b[0]+(c||0),b[1])}function cp(a,b,c){for(var d=0;!c||b<c;){var e=Zo(a,b,1);if(!e)break;var f;f=a;var g=b+1,h=e,k="";for(h||(h=-1);h--;){var l=Zo(f,g++,1);if(!l)break;k+=String.fromCharCode(l)}f=k;if(!f)break;b+=1+e;if(d){if(e=Zo(a,b),g=a.A[e])g=g[0],a.yd[g]&&a.yd[g].we[e].push(f)}else c||(a.ig=f);b+=2;d++}}
Mo.prototype.wj=function(a,b){var c=null;if(this.yd)for(var d in this.yd){var e=this.yd[d];if(a>=e.ni&&a<=e.Hk){d=a-=e.ni;var f,g;for(g in e.we){var h=e.we[g],k=a-h[0];if(!k){c=this.ig+"!"+h[1];break}b&&0<k&&k<d&&(f=h,d=k)}!c&&f&&(c=this.ig+"!"+f[1]+"+"+v(d));break}}return c||this.jc+"+"+t(a,8,!0)};m=Jo.prototype;m.Hc=function(a,b,c,d){this.ha=d};m.gc=function(a,b){b||!this.wg||this.N||(wb(this,!1),this.load(this.ga,this.V,null,this.yl,this));return!0};m.yl=function(){wb(this,!0)};
Mo.prototype.wj=function(a,b){var c=null;if(this.yd)for(var d in this.yd){var e=this.yd[d];if(a>=e.ni&&a<=e.Hk){d=a-=e.ni;var f,g;for(g in e.we){var h=e.we[g],k=a-h[0];if(!k){c=this.ig+"!"+h[1];break}b&&0<k&&k<d&&(f=h,d=k)}!c&&f&&(c=this.ig+"!"+f[1]+"+"+v(d));break}}return c||this.jc+"+"+t(a,8,!0)};m=Jo.prototype;m.Ic=function(a,b,c,d){this.ha=d};m.gc=function(a,b){b||!this.wg||this.N||(wb(this,!1),this.load(this.ga,this.V,null,this.yl,this));return!0};m.yl=function(){wb(this,!0)};
m.fc=function(a,b){if(this.N){var c,d=0;if(this.fa&&!Ea("Disk writes are still in progress, shut down anyway?"))return!1;for(;c=dp(this,!1);)if(d=c[0]){this.controller.Na('Unable to save "'+this.ga+'" (error '+d+")");break}b&&this.N&&(c="action=close&volume="+this.V,c+="&machine="+this.controller.hf(),c+="&user="+this.controller.ie(),za(Aa()+"/api/v1/disk?"+c,null,!0),this.N=!1);!d&&a&&this.controller.Na(this.ga+" saved")}return!0};
function Lo(a,b,c,d,e,f){a.mode=b;a.Bb=c;a.ub=d;a.lb=e;a.Va=f;a.A=[];if("preload"!=a.mode){b=Array(a.Bb);for(c=0;c<b.length;c++){d=Array(a.ub);for(e=0;e<d.length;e++){f=Array(a.lb);for(var g=1;g<=f.length;g++)f[g-1]=ep(null,c,e,g,a.Va,"local"==a.mode?0:null);d[e]=f}b[c]=d}a.A=b}a.aa=null}
m.load=function(a,b,c,d,e){var f=b;if(this.W)return!0;this.ga=a;this.V=b;this.Tg=ha(b);var g=this;this.W=d;this.ka=e||this.controller;if(c){var h=new FileReader;h.onload=function(){var a=h.result,b,c=a?a.byteLength:0,d=ba[c];if(d){g.Bb=d[0];g.ub=d[1];g.lb=d[2];g.Va=512;b=g.Va>>2;var e=d=0,a=new DataView(a,0,c);g.A=Array(g.Bb);for(c=0;c<g.A.length;c++)for(var f=g.A[c]=Array(g.ub),F=0;F<f.length;F++)for(var w=f[F]=Array(g.lb),E=0;E<w.length;E++){for(var H=ep(null,c,F,E+1,g.Va,0),L=H.data,W=0;W<b;W++,
@ -602,7 +602,7 @@ var up={3:{Ud:3,ge:0,name:aa.Eo},4:{Ud:2,ge:1,name:aa.Co},5:{Ud:9,ge:7,name:aa.I
m.Pb=function(a,b,c){var d=this;switch(b){case "listDisks":this.qa[b]=c;if(this.fa){b=[];for(a=0;a<c.options.length;a++)b.push(c.options[a]);b.sort(function(a,b){return"path"!=d.fa?a.text.localeCompare(b.text):a.value.localeCompare(b.value)});for(a=0;a<b.length;a++)c.options[a]=b[a]}c.onchange=function(){var a=d.qa.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(h){x("FDC option error: "+h.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}};return!0;case "descDisk":case "listDrives":return this.qa[b]=c,c.onchange=function(){var a=ea(c.value,10);null!=a&&vp(d,a)},!0;case "loadDrive":return this.qa[b]=c,c.onclick=function(){var a=d.qa.listDisks;a&&wp(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.ia){c.parentNode.removeChild(c);break}this.qa[b]=c;c.onclick=function(){var a=d.qa.listDrives;a&&a.options&&d.A&&(a=ea(a.value,10),(a=
d.A[a])?(a=a.za)?(a=La(rp(a),"octet-stream",!0,a.Tg.replace(".json",".img")),x(a)):d.Na("No diskette loaded in drive."):d.Na("No diskette drive selected."))};return!0;case "mountDrive":if(!this.ia){c.parentNode.removeChild(c);break}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;wp(d,ha(b,!0),b,a)}return!1};return!0}return!1};
m.Hc=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;this.X=a;this.N=Jb(a,"ChipSet");if((this.U=Tc(this.X,"autoMount")||this.U)&&"string"==typeof this.U)try{this.U=eval("("+this.U+")")}catch(e){x("FDC auto-mount error: "+e.message+" ("+this.U+")"),this.U=null}xp(this);nc(b,this,yp);rc(b,this,zp);Ap(this,"None","",!0);this.ia&&Ap(this,"Local Disk","?");Ap(this,"Remote Disk","??");Bp(this)||wb(this)};
m.Ic=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;this.X=a;this.N=Jb(a,"ChipSet");if((this.U=Tc(this.X,"autoMount")||this.U)&&"string"==typeof this.U)try{this.U=eval("("+this.U+")")}catch(e){x("FDC auto-mount error: "+e.message+" ("+this.U+")"),this.U=null}xp(this);nc(b,this,yp);rc(b,this,zp);Ap(this,"None","",!0);this.ia&&Ap(this,"Local Disk","?");Ap(this,"Remote Disk","??");Bp(this)||wb(this)};
m.gc=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.X.kh){this.B=[];for(var c=0;c<this.A.length;c++)Cp(this,c,!0);Bp(this,!0)}}else if(!this.restore(a))return!1;if(c=this.qa.listDrives){for(;c.firstChild;)c.removeChild(c.firstChild);c.value="";for(var d=0;d<this.ka;d++){var e=document.createElement("option");e.value=d;e.text=String.fromCharCode(65+d)+":";c.appendChild(e)}0<this.ka&&(c.value="0",vp(this,0))}}return!0};m.fc=function(a){return a?this.save():!0};m.reset=function(){xp(this)};
m.save=function(){var a=new mf(this),b=0,c=[];c[b++]=this.hb;c[b++]=0;c[b++]=this.ma;c[b++]=this.V;c[b++]=this.L;c[b++]=this.C;c[b++]=this.aa;for(var d=b++,e=0,f=[],g=0;g<this.A.length;g++){var h=e++,k=this.A[g],l=0,n=[];n[l++]=k.Cb;n[l++]=[k.name,k.Bb,k.ub,k.lb,k.Va,k.df,k.Eg,k.Pf,k.Qf];n[l++]=k.kb;n[l++]=k.ee+100;n[l++]=k.Qb;n[l++]=k.xb;n[l++]=k.fe;n[l++]=k.Hb;n[l++]=k.eb;n[l++]=k.cf;n[l++]=k.Sk;n[l]=k.Me;f[h]=n}c[d]=f;d=b++;for(e=0;e<this.A.length;e++)f=this.A[e],f.za&&Dp(this,f.Me,f.za);c[d]=
this.B;c[b++]=this.W;c[b]=this.ic;O(a,0,c);return a.data()};m.restore=function(a){return xp(this,a[0])};
@ -629,7 +629,7 @@ Ua(function(){for(var a=rb(document,"pcx86","fdc"),b=0;b<a.length;b++){var c=a[b
var Np=["XTC","ATC","COMPAQ"],Op=[{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]}];m=Mp.prototype;
m.Pb=function(a,b,c){var d=this;switch(b){case "saveHD0":case "saveHD1":return this.qa[b]=c,c.onclick=function(a){return function(){var b=d.A&&d.A[a];b&&b.za?(b=b.za,b=La(rp(b),"octet-stream",!0,b.Tg.replace(".json",".img")),x(b)):d.Na("Hard drive "+a+" is not available.")}}(+b.slice(-1)),!0}return!1};
m.Hc=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;this.X=a;if(d=Tc(a,"drives"))this.ua=d;else if(this.Fa)try{this.ua=eval("("+this.Fa+")")}catch(e){x("HDC drive configuration error: "+e.message+" ("+this.Fa+")")}this.N=Jb(a,"ChipSet");this.U=0;this.Ga=3;nc(b,this,this.ia?Pp:Qp);rc(b,this,this.ia?Rp:Sp);this.ia&&(this.U++,this.N&&5180==this.N.ja&&this.U++,this.Ga=2,b.aa[496]=2,b.ea[496]=2);gf(c,19,this.Mm.bind(this));gf(c,64,this.Nm.bind(this));this.reset();Tp(this)||wb(this)};
m.Ic=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;this.X=a;if(d=Tc(a,"drives"))this.ua=d;else if(this.Fa)try{this.ua=eval("("+this.Fa+")")}catch(e){x("HDC drive configuration error: "+e.message+" ("+this.Fa+")")}this.N=Jb(a,"ChipSet");this.U=0;this.Ga=3;nc(b,this,this.ia?Pp:Qp);rc(b,this,this.ia?Rp:Sp);this.ia&&(this.U++,this.N&&5180==this.N.ja&&this.U++,this.Ga=2,b.aa[496]=2,b.ea[496]=2);gf(c,19,this.Mm.bind(this));gf(c,64,this.Nm.bind(this));this.reset();Tp(this)||wb(this)};
m.gc=function(a,b){if(!b)if(!a||!this.restore)Up(this),this.X.kh&&Tp(this,!0);else if(!this.restore(a))return!1;return!0};m.fc=function(a){return a?this.save():!0};m.hf=function(){return this.X?this.X.hf():""};m.ie=function(){return this.X?this.X.ie():""};m.reset=function(){Up(this,null,!0)};
m.save=function(){var a=new mf(this),b=0,c=[];this.ia?(c[b++]=this.W,c[b++]=this.Pa,c[b++]=this.aa,c[b++]=this.Ca,c[b++]=this.ya,c[b++]=this.va,c[b++]=this.ra,c[b++]=this.ma,c[b++]=this.Da,c[b++]=[this.fa,this.hb]):(c[b++]=this.pa,c[b++]=this.ma,c[b++]=this.V,c[b++]=this.L,c[b++]=this.C,c[b++]=this.Oa,c[b++]=this.Ka,c[b++]=this.Ja,c[b++]=this.ka);for(var d=0,e=[],f=0;f<this.A.length;f++){var g=d++,h=this.A[f],k=0,l=[];l[k++]=h.errorCode;l[k++]=h.Uk;l[k++]=h.df;l[k++]=h.Re;l[k++]=h.Se;l[k++]=h.kb;
l[k++]=h.ub;l[k++]=h.be;l[k++]=h.xb;l[k++]=h.fe;l[k++]=h.Hb;l[k++]=h.eb;l[k]=h.za?h.za.save():null;e[g]=l}c[b]=e;O(a,0,c);return a.data()};m.restore=function(a){return Up(this,a[0])};
@ -657,13 +657,13 @@ function gq(a,b,c){b.errorCode=4;b.Se&&b.Se.length==b.Hb||(b.Se=Array(b.Hb));b.e
m.Je=function(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.pb&&(f=a.eb,d=a.za.read(a.pb,a.eb),a.eb+=g,0<=d))return e=a.pb,b&&b(d,!1,e,f),d;if(b){if(a.za)return a.za.seek(a.be,a.kb,a.xb+a.qg,!1,function(c,k){(a.pb=c)?(e=c,f=a.eb=0,hq(a),d=a.za.read(a.pb,a.eb),a.eb+=g):a.errorCode=20;b(d,k,e,f)}),d;a.errorCode=20;b(d,!1,e,f)}return d};
function $p(a,b){if(a.errorCode)return-1;do{if(a.pb&&a.za.write(a.pb,a.eb++,b))break;a.za&&a.za.seek(a.be,a.kb,a.xb+a.qg,!0,function(b){a.pb=b});if(!a.pb){a.errorCode=20;b=-1;break}a.eb=0;hq(a)}while(1);return b}function hq(a){a.xb++;var b=1-a.qg;a.xb>=a.lb+b&&(a.xb=b,a.kb++,a.kb>=a.ub&&(a.kb=0,a.be++))}m.Mm=function(){var a=this.F.M&255;!(this.F.G>>8)&&128<a&&(this.ka=a-128);return!0};m.Nm=function(){var a;(a=this.F.G>>8||!this.N)||(a=!(this.N.vc[0].Ad&64));return a?!0:!1};
var Qp={800:Mp.prototype.Km,801:Mp.prototype.Lm,802:Mp.prototype.Jm},Pp={496:Mp.prototype.hl,497:Mp.prototype.Rl,498:Mp.prototype.Tl,499:Mp.prototype.Ul,500:Mp.prototype.Pl,501:Mp.prototype.Ol,502:Mp.prototype.Ql,503:Mp.prototype.Vl},Sp={800:Mp.prototype.fo,801:Mp.prototype.jo,802:Mp.prototype.io,803:Mp.prototype.ho,807:Mp.prototype.oi,811:Mp.prototype.oi,815:Mp.prototype.oi},Rp={496:Mp.prototype.pn,497:Mp.prototype.un,498:Mp.prototype.sn,499:Mp.prototype.tn,500:Mp.prototype.on,501:Mp.prototype.nn,
502:Mp.prototype.qn,503:Mp.prototype.mn,1014:Mp.prototype.rn};Ua(function(){for(var a=rb(document,"pcx86","hdc"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new Mp(d);qb(d,c)}});function iq(a){Za.call(this,"Debugger",a,iq);this.pa=this.Ca=this.ea=0;this.va=!1;this.A=-1;this.C=[];this.ya={}}hb(iq);var jq={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};iq.prototype.nh=function(){return-1};iq.prototype.oh=function(){};
502:Mp.prototype.qn,503:Mp.prototype.mn,1014:Mp.prototype.rn};Ua(function(){for(var a=rb(document,"pcx86","hdc"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new Mp(d);qb(d,c)}});function iq(a){Za.call(this,"Debugger",a,iq);this.uc=a.base||16;this.pa=this.Ca=this.ea=0;this.va=!1;this.A=-1;this.C=[];this.ya={}}hb(iq);var jq={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};iq.prototype.nh=function(){return-1};iq.prototype.oh=function(){};
iq.prototype.Ok=function(a,b){return a.replace("["+b+"]","unimplemented")};iq.prototype.Mg=function(a,b,c){if(b)if(a){0>this.A&&this.C.length&&(this.A=0);if(0>this.A||a!=this.C[this.A])this.C.splice(0,0,a),this.A=0;this.A--}else this.va?a="end":a=this.C[this.A+1];b=[];if(a){a=a.toLowerCase().replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(pa(a.substring(d,f))),d=f+1}}return b};
function kq(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<<e;break;case ">>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f<e?1:0;break;case "<=":d=f<=e?1:0;break;case ">":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break;
case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0}
function lq(a,b,c){var d;if(b){b=mq(a,b);for(var e=0,f=!1,g=b,h=[],k=[],l=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<l.length;){var n=l[e++],r=n.length,n=pa(n);if(!n){f=!0;break}n=nq(a,n,null,!1===c);if(void 0===n){f=!0;c=!1;break}h.push(n);if(e==l.length)break;var n=l[e++],q=n.length;k.length&&jq[n]<jq[k[k.length-1]]&&kq(h,k,1);k.push(n);b=b.substr(r+q)}kq(h,k)&&1==h.length||(f=!0);f?c&&a.O("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(),c&&oq(a,null,
d))}return d}function mq(a,b){for(var c;(c=b.match(/\{(.*?)}/))&&!(0<=c[1].indexOf("{"));){var d=lq(a,c[1]);b=b.replace("{"+c[1]+"}",null!=d?t(d):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)b=a.Ok(b,c[1]);for(c=b;d=c.match(/\$([a-z]+)/i);){var e=null;switch(d[1].toLowerCase()){case "ops":e=a.pa-a.Ca}if(null==e)break;c=c.replace(d[0],e.toString())}return c}
function nq(a,b,c,d){var e;null!=b?(e=a.nh(b),0<=e?e=a.oh(e):(e=a.ya[b],null==e&&(e=ea(b,16))),null!=e||d||a.O("invalid "+(c?c:"value")+": "+b)):d||a.O("missing "+(c||"value"));return e}function oq(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f=0,g="";f?11<f&&(f=11):f=d&-65536?11:6;if(null==d||isNaN(d))for(;0<f--;)g="?"+g;else for(;0<f--;)g=String.fromCharCode((d&7)+48)+g,d>>=3;d=t(c,0,!0)+" "+c+". "+("0o"+g)+" "+ga(c,0,!0)}a.O((null!=b?b+": ":"")+d);return e}
function nq(a,b,c,d){var e;null!=b?(e=a.nh(b),0<=e?e=a.oh(e):(e=a.ya[b],null==e&&(e=ea(b,a.uc))),null!=e||d||a.O("invalid "+(c?c:"value")+": "+b)):d||a.O("missing "+(c||"value"));return e}function oq(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f=0,g="";f?11<f&&(f=11):f=d&-65536?11:6;if(null==d||isNaN(d))for(;0<f--;)g="?"+g;else for(;0<f--;)g=String.fromCharCode((d&7)+48)+g,d>>=3;d=t(c,0,!0)+" "+c+". "+("0o"+g)+" "+ga(c,0,!0)}a.O((null!=b?b+": ":"")+d);return e}
function pq(a,b){if(b)return oq(a,b,a.ya[b]);var c=0;for(b in a.ya)oq(a,b,a.ya[b]),c++;return 0<c}function qq(a){iq.call(this,a);this.Ja=4;this.Da=5;this.Ba=1048575;this.aa=rq(this);this.sb=rq(this);this.ua=rq(this);this.N=[];this.B=this.ra=this.fa=[];sq(this);this.Oa=0;tq(this);this.$a={};uq(this,a.messages);this.gb=a.commands;var b=this;window?void 0===window.pcx86&&(window.pcx86=function(a){return vq(b,a)}):void 0===global.pcx86&&(global.pcx86=function(a){return vq(b,a)})}hb(qq,iq);
var wq={16:262144,19:524288,21:32768,22:65536,28:2048,33:134217728,51:16777216},xq=[26,28,40,42,109],yq={"?":"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"},zq="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(" "),
@ -685,9 +685,9 @@ Bq=["VALID","ZERO ","SPEC ","EMPTY"],Cq=[8086,80186,80286,80386],Dq=["AL","CL","
45188,4097],[109,45188,4097],[110,45188,4097],[140,45188,4097],[142,45188,4097],Fq,[119,45188,4097]],[[115,12417,4113],[116,12417,4113],[109,12417,4113],[110,12417,4113],[140,12417,4113],[142,12417,4113],Fq,[119,12417,4113]],[[115,12420,4113],[116,12420,4113],[109,12420,4113],[110,12420,4113],[140,12420,4113],[142,12420,4113],Fq,[119,12420,4113]],[[115,12417,4449],[116,12417,4449],[109,12417,4449],[110,12417,4449],[140,12417,4449],[142,12417,4449],Fq,[119,12417,4449]],[[115,12420,4449],[116,12420,
4449],[109,12420,4449],[110,12420,4449],[140,12420,4449],[142,12420,4449],Fq,[119,12420,4449]],[[155,4225,4097],Fq,[98,12417],[96,12417],[95,4225],[42,12417],[32,4225],[41,12417]],[[155,4228,4100],Fq,[98,12420],[96,12420],[95,4228],[42,12420],[32,4228],[41,12420]],[[44,12417],[31,12417],Fq,Fq,Fq,Fq,Fq,Fq],[[44,12420],[31,12420],[17,4228],[17,4231],[57,4228],[57,4231],[108,4228],Fq],[],[[145,41091],[153,41091],[78,36995],[89,36995],[156,36995],[157,36995],Fq,Fq],[[139,41091],[144,41091],[75,36995],
[77,36995],[146,41091],Fq,[79,36995],Fq],[Fq,Fq,Fq,Fq,[13,53380,4097],[16,57476,4097],[15,57476,4097],[14,57476,4097]]];m=qq.prototype;
m.Hc=function(a,b,c,d){this.ga=b;this.F=c;this.X=a;this.kc=Jb(a,"FDC");this.Db=Jb(a,"HDC");this.Tb=Jb(a,"FPU");this.V=Jb(a,"Mouse");(a=Tc(a,"messages"))&&uq(this,a);this.Da=b.N>>2;this.Ba=b.Cg;this.Ub=new hd(this.F,7,"DBG");this.Ga=Hq;80186<=this.F.ja&&(this.Ga=Hq.slice(),this.Ga[15]=Fq,80286<=this.F.ja&&(this.Ga[15]=Gq,80386<=this.F.ja&&(this.Ja=8)));Qk(this,64,function(a){Lq(d,d.F.kd,a[0])});Qk(this,4,function(a){if(a=a[0]){var b=nq(d,a);if(void 0===b)d.O("invalid selector: "+a);else if(a=Mq(d,
m.Ic=function(a,b,c,d){this.ga=b;this.F=c;this.X=a;this.kc=Jb(a,"FDC");this.Db=Jb(a,"HDC");this.Tb=Jb(a,"FPU");this.V=Jb(a,"Mouse");(a=Tc(a,"messages"))&&uq(this,a);this.Da=b.N>>2;this.Ba=b.Cg;this.Ub=new hd(this.F,7,"DBG");this.Ga=Hq;80186<=this.F.ja&&(this.Ga=Hq.slice(),this.Ga[15]=Fq,80286<=this.F.ja&&(this.Ga[15]=Gq,80386<=this.F.ja&&(this.Ja=8)));Qk(this,64,function(a){Lq(d,d.F.kd,a[0])});Qk(this,4,function(a){if(a=a[0]){var b=nq(d,a);if(void 0===b)d.O("invalid selector: "+a);else if(a=Mq(d,
b,2),d.O("dumpSel("+v(a?a.Z:b)+"): %"+t(a?a.Xb:null,d.Da)),a){var c,b=!1;if(a.type&4096)a.type&2048?(c="code"+(a.type&512?",readable":",execonly"),a.type&1024&&(c+=",conforming")):(c="data"+(a.type&512?",writable":",readonly"),a.type&1024&&(c+=",expdown")),a.type&256&&(c+=",accessed");else{var h=Nq[a.type];h&&(c=h[0],b=h[1])}!c||a.wb&32768||(c+=",not present");d.O((b?"seg="+v(a.Aa&65535)+" off="+v(a.Ta):"base="+t(a.Aa,d.Da)+" limit="+Oq(a.Ta))+" type="+u(a.type>>8)+" ("+c+") ext="+v(a.ext&-65296)+
" dpl="+u(a.Fc))}}else d.O("no selector")});Qk(this,134217728,function(a){var b;(a=a[0])&&(b=nq(d,a));if(void 0===b)d.O("invalid MCB");else for(d.O("dumpMCB("+v(b)+")");b;){a=rq(d,0,b);var c=d.Qa(a,1),h=d.na(a,2),k=d.na(a,5);if(77!=c&&90!=c)break;d.O(Pq(0,b)+": '"+String.fromCharCode(c)+"' PID="+v(h)+" LEN="+v(k)+' "'+Qq(d,a,8)+'"');b+=1+k}});Qk(this,128,function(a){Lq(d,d.F.sa,a[0],d.F.sa!==d.F.kd)});Qk(this,8,function(a){a:{if(a=a[0]){var b=nq(d,a);if(void 0===b){d.O("invalid task selector: "+a);
" dpl="+u(a.Gc))}}else d.O("no selector")});Qk(this,134217728,function(a){var b;(a=a[0])&&(b=nq(d,a));if(void 0===b)d.O("invalid MCB");else for(d.O("dumpMCB("+v(b)+")");b;){a=rq(d,0,b);var c=d.Qa(a,1),h=d.na(a,2),k=d.na(a,5);if(77!=c&&90!=c)break;d.O(Pq(0,b)+": '"+String.fromCharCode(c)+"' PID="+v(h)+" LEN="+v(k)+' "'+Qq(d,a,8)+'"');b+=1+k}});Qk(this,128,function(a){Lq(d,d.F.sa,a[0],d.F.sa!==d.F.kd)});Qk(this,8,function(a){a:{if(a=a[0]){var b=nq(d,a);if(void 0===b){d.O("invalid task selector: "+a);
break a}a=Mq(d,b,2)}else a=d.F.Sa;d.O("dumpTSS("+v(a?a.Z:b)+"): %"+t(a?a.Aa:null,d.Da));if(a){var b="",c=a.type&-513,h=256==c?4:8,k=256==c?Rq:Sq,l,n,r,q;for(q in k)l=k[q],n=a.Aa+l,r=Mf(d.F,n,2),2304==c&&(r|=Mf(d.F,n+2,2)<<16),b&&(b+="\n"),b+=v(l)+" "+oa(q+":",11)+t(r,h);if(2304==c)for(q=0,l=r>>>16;l<a.Zb&&1023>q;)n=a.Aa+l,r=Mf(d.F,n,2),b+="\n"+v(l)+" ports "+v(q)+"-"+v(q+15)+": "+ga(r,2),q+=16,l+=2;d.O(b)}}});this.L=null;this.rb=0;this.cb=!1;gf(this.F,48,this.Pm.bind(this));gf(this.F,65,this.Qm.bind(this));
this.ka=null;gf(this.F,104,this.Rm.bind(this));wb(this)};function Tq(a,b,c,d,e,f){b=Qq(a,b);var g=Mq(a,d),g=g?g.Ta+1:0,h=(e?"_CODE":"_DATA")+t(c,2);f&&B(a,128)&&a.message(b+" "+(e?"code":"data")+"("+t(c,4)+")=#"+t(d,4)+" len "+t(g));e=Uq(a,b,c);e[b+h]=0;fm(a,b,c,d,0,null,g,e)}
function Vq(a,b,c,d){var e=a.na(b,2),f=a.na(b,2),g=a.oa(b,4),h=a.oa(b,4),k=rq(a,a.oa(b,4),a.na(b,2));b=rq(a,a.oa(b,4),a.na(b,2));b=Qq(a,b).toUpperCase();var k=Qq(a,k).toUpperCase(),l=(c?"_CODE":"_DATA")+t(e,2);d&&B(a,128)&&a.message((b==k?"":b+"!")+k+" "+(c?"code":"data")+"("+t(e,4)+")="+t(f,4)+":"+t(g)+" len "+t(h));c=Uq(a,k,e);c[k+l]=g;fm(a,k,e,f,g,null,h,c)}function Wq(a,b,c){c=Qq(a,c).toUpperCase();Xq(a,c,b)}
@ -698,11 +698,11 @@ m.Rm=function(a){var b=this.F,c=b.G&255,d=b.G>>8&255,e=b.H&65535,f=b.I&65535,g=b
(b.J=a[0],zd(b,a[1]));break;case 72:Xq(this,null,e);break;case 80:32==c?Tq(this,rq(this,h,k),0,f,!0,!!this.ka):128>c?Tq(this,rq(this,h,k),e+1,c&64?g:f,!(c&1),!!this.ka):Vq(this,rq(this,h,k),!(c&1),!!this.ka),this.ka&&(b.G=b.G&-256|1)}return!this.ka};m.ql=function(){var a=this.F;5==(a.G&255)&&(a.I=a.K=0,a.G=a.G&-256|1);return!1};
m.Pb=function(a,b,c){var d=this;switch(b){case "debugInput":return this.Ka=this.qa[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",vq(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.A<d.C.length-1&&(b=d.C[++d.A])):40==a.keyCode&&(0<d.A?b=d.C[--d.A]:(b="",d.A=-1)),null!=b){var g=b.length;c.value=b;c.setSelectionRange(g,g)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.qa[b]=c,Na(c,function(){if(d.Ka){var a=d.Ka.value;
d.Ka.value="";vq(d,a,!0);return!0}return!1}),!0;case "step":return this.qa[b]=c,Na(c,function(a){var b=!1;vb(d,!0)||(ub(d,!0),b=d.wf(a?1:0),ub(d,!1));return b}),!0}return!1};m.wd=function(){this.Ka&&this.Ka.focus()};function $q(a){return a.F&&!!(a.F.Za&1)&&!(a.F.ca&131072)}
function Mq(a,b,c){var d=$q(a)?2:1;c||(c=d);if(c==d){if(b===a.F.wa.Z)return a.F.wa;if(b===a.F.vb.Z)return a.F.vb;if(b===a.F.Xa.Z)return a.F.Xa;if(b===a.F.ta.Z)return a.F.ta;if(80386<=a.F.ja){if(b===a.F.Nb.Z)return a.F.Nb;if(b===a.F.Ob.Z)return a.F.Ob}if(a.fb&&2==c||!a.Ub)return null}a=a.Ub;if(2!=c)a.th(b),a.Ta=65535,a.Zb=65536;else{var e;c=a.F;b=b&65535;b&4?(d=c.Bc.Aa,e=d+c.Bc.Ta|0):(d=c.Dc,e=c.zd);d=d+(b&65528)|0;if(e-d|0){e=Mf(c,d+0,2);var f=Mf(c,d+4,2),g=f&7936,h=Mf(c,d+2,2)|(f&255)<<16,k=Mf(c,
function Mq(a,b,c){var d=$q(a)?2:1;c||(c=d);if(c==d){if(b===a.F.wa.Z)return a.F.wa;if(b===a.F.vb.Z)return a.F.vb;if(b===a.F.Xa.Z)return a.F.Xa;if(b===a.F.ta.Z)return a.F.ta;if(80386<=a.F.ja){if(b===a.F.Nb.Z)return a.F.Nb;if(b===a.F.Ob.Z)return a.F.Ob}if(a.fb&&2==c||!a.Ub)return null}a=a.Ub;if(2!=c)a.th(b),a.Ta=65535,a.Zb=65536;else{var e;c=a.F;b=b&65535;b&4?(d=c.Bc.Aa,e=d+c.Bc.Ta|0):(d=c.Ec,e=c.zd);d=d+(b&65528)|0;if(e-d|0){e=Mf(c,d+0,2);var f=Mf(c,d+4,2),g=f&7936,h=Mf(c,d+2,2)|(f&255)<<16,k=Mf(c,
d+6,2);80386<=c.ja&&(h|=(k&65280)<<16,e|=(k&15)<<16,k&128&&(e=e<<12|4095));a.Z=b;a.Aa=h;a.Ta=e;a.Zb=(e>>>0)+1;a.wb=f;a.type=g;a.ext=k;a.Xb=d;id(a,!0,!0,!1)}}return a}m.bc=function(a,b,c){var d=a&&a.Ea;if(null==d&&(d=-1,a)){var e=Mq(this,a.Z,a.type);e&&(b=a.Ra||0,c=c||1,d=e=-1===e.Xb||e.bd&&(b>>>0)+c>e.Zb||!e.bd&&(b>>>0)+c<=e.Zb?e.Aa+b|0:-1,a.Ea=d)}return d};m.Qa=function(a,b){var c=255,d=this.bc(a,!1,1);-1!==d&&(c=Mf(this.F,d,1,5==a.type)|0,b&&ar(this,a,b));return c};
m.tb=function(a,b){return a.Rb?this.oa(a,b?4:0):this.na(a,b?2:0)};m.na=function(a,b){var c=65535,d=this.bc(a,!1,2);-1!==d&&(c=Mf(this.F,d,2,5==a.type),b&&ar(this,a,b));return c};m.oa=function(a,b){var c=-1,d=this.bc(a,!1,4);-1!==d&&(c=Mf(this.F,d,4,5==a.type),b&&ar(this,a,b));return c};m.qc=function(a,b,c,d){var e=this.bc(a,!0,1);if(-1!==e){if(5!=a.type)this.F.qc(e,b);else{var f=this.ga;f.sa[(e&f.Gb)>>>f.La].xf(e&f.A,b&255,e)}c&&ar(this,a,c);d||Yc(this.F,!0)}};
m.jb=function(a,b,c){var d=this.bc(a,!0,2);-1!==d&&(5!=a.type?this.F.jb(d,b):lc(this.ga,d,b),c&&ar(this,a,c),Yc(this.F,!0))};function rq(a,b,c,d,e,f,g){return br(a,{},b,c,d,e,f,g)}function br(a,b,c,d,e,f,g,h){b.Ra=c||0;b.Z=d;b.Ea=e;b.type=f||($q(a)?2:1);b.Rb=null!=g?g:a.F&&4==a.F.wa.ba;b.oc=null!=h?h:a.F&&4==a.F.wa.Nc;b.Vd=!1;return b}function cr(a){return[a.Ra,a.Z,a.Ea,a.Vd,a.Rb,a.oc,a.Ue,a.ih]}function dr(a){return{Ra:a[0],Z:a[1],Ea:a[2],Vd:a[3],Rb:a[4],oc:a[5],Ue:a[6],ih:a[7]}}
function er(a,b,c){if(null!=b.Z&&(a=Mq(a,b.Z,b.type))){var d=b.Ra&a.Ba;if(!a.bd){if(d>>>0>=a.Zb)return!1}else if(d>>>0<a.Zb)return!1;c&&(b.Ra=d,b.Rb=4==a.ba,b.oc=4==a.Nc)}return!0}
m.jb=function(a,b,c){var d=this.bc(a,!0,2);-1!==d&&(5!=a.type?this.F.jb(d,b):lc(this.ga,d,b),c&&ar(this,a,c),Yc(this.F,!0))};function rq(a,b,c,d,e,f,g){return br(a,{},b,c,d,e,f,g)}function br(a,b,c,d,e,f,g,h){b.Ra=c||0;b.Z=d;b.Ea=e;b.type=f||($q(a)?2:1);b.Rb=null!=g?g:a.F&&4==a.F.wa.ba;b.oc=null!=h?h:a.F&&4==a.F.wa.Oc;b.Vd=!1;return b}function cr(a){return[a.Ra,a.Z,a.Ea,a.Vd,a.Rb,a.oc,a.Ue,a.ih]}function dr(a){return{Ra:a[0],Z:a[1],Ea:a[2],Vd:a[3],Rb:a[4],oc:a[5],Ue:a[6],ih:a[7]}}
function er(a,b,c){if(null!=b.Z&&(a=Mq(a,b.Z,b.type))){var d=b.Ra&a.Ba;if(!a.bd){if(d>>>0>=a.Zb)return!1}else if(d>>>0<a.Zb)return!1;c&&(b.Ra=d,b.Rb=4==a.ba,b.oc=4==a.Oc)}return!0}
function fr(a,b,c,d){var e,f=c?a.aa:a.sb;c=d?0:f.type;var g=f.Ra,h=f.Z,f=f.Ea;if(void 0!==b){b=mq(a,b);e=b.charAt(0);f=b.indexOf(":");switch(e){case "&":c=1;break;case "#":c=2;break;case "%":c=4;e=b.charAt(1);"%"==e&&(c=5,e+=e);g=0;h=null;break;default:0<=f&&(c=0),e=""}e&&(b=b.substr(e.length),f-=e.length);e=b;var k;if(e.match(/^[a-z_][a-z0-9_]*$/i))for(var l=e.toUpperCase(),n=0;n<a.N.length;n++){e=a.N[n];var r=e.Qd[l];if(void 0!==r){l=r.o;void 0!==l&&(k=r.s,void 0===k&&(k=e.Z),k=rq(a,l,k,r.p));break}}if(e=
k)return e;0>f?null!=h?(g=lq(a,b,void 0),f=null):(f=lq(a,b,void 0),null==f&&(g=null)):(h=lq(a,b.substring(0,f),void 0),g=lq(a,b.substring(f+1),void 0),f=null)}null!=g&&(e=rq(a,g,h,f,c),d||er(a,e,!0)||(a.O("invalid offset: "+Zq(e)),e=null));return e}function gr(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.kl=a.Mg(b.Rk=c[2]))}m.Ok=function(a,b){var c=fr(this,b);return a.replace("["+b+"]",c?t(this.tb(c),c.Rb?8:4):"undefined")};
function ar(a,b,c){c=c||1;null!=b.Ea&&(b.Ea+=c);null!=b.Z&&(b.Ra+=c,er(a,b)||(b.Ra=0,b.Ea=null))}function Pq(a,b,c){return null!=b?t(b,4)+":"+t(a,a&-65536||c?8:4):t(a)}function Zq(a){var b;switch(a.type){case 1:case 3:b="&";break;case 2:b="#";break;case 4:b="%";break;case 5:b="%%";break;default:b=a.Z?"":"%"}return 4<=a.type||null==a.Z?b+t(a.Ea):b+Pq(a.Ra,a.Z,a.oc)}
@ -740,8 +740,8 @@ r.length&&(r+=",");r+=w||"???"}}}g="";k=Zq(e)+" ";if(-1!==e.Ea&&-1!==b.Ea){do if
function ur(a,b,c,d){var e=c&240;if(192==e){if(5<b||4<=b&&80386>a.F.ja)return"??";b+=16}else if(208==e)b+=32;else if(224==e)b+=40;else if(240==e)b+=48;else if(a=c&15,3<=a&&(8>b&&(b+=8),5==a||4==a&&d.Rb))b+=16;return Dq[b]}
function xr(a,b){var c;switch(b){case "V":c=yf(a.F);break;case "D":c=a.F.ca&1024;break;case "I":c=a.F.ca&512;break;case "T":c=a.F.ca&256;break;case "S":c=xf(a.F);break;case "Z":c=wf(a.F);break;case "A":c=vf(a.F);break;case "P":c=uf(a.F);break;case "C":c=tf(a.F);break;default:c=0}return b+(c?"1":"0")+" "}function Oq(a){return t(a,a&-65536?8:4)}function yr(a,b){8<=b&&15>=b&&4<a.Ja&&(b+=16);var c=Dq[b];32==b&&80286==a.F.ja&&(c="MS");return c+"="+ir(a,b)+" "}
function zr(a,b,c){return b.jc+"="+t(b.Z,4)+(c?"["+t(b.Aa,a.Da)+","+Oq(b.Ta)+"]":"")}function Ar(a,b,c,d,e){return b+"="+(null!=c?t(c,4):"")+"["+t(d,a.Da)+","+t(e-d,4)+"]"}
function Br(a,b){var c;void 0===b&&(b=$q(a));c=yr(a,8)+yr(a,11)+yr(a,9)+yr(a,10)+(4<a.Ja?"\n":"")+yr(a,12)+yr(a,13)+yr(a,14)+yr(a,15)+"\n"+zr(a,a.F.ta,b)+" "+zr(a,a.F.vb,b)+" "+zr(a,a.F.Xa,b)+" ";if(b){var d="TR="+t(a.F.Sa.Z,4),e=a.ga,e="A20="+(e.X||e.Cg!=e.Gb?"OFF ":"ON ");80386>a.F.ja&&(d="\n"+d,c+=e,e="");c+="\n"+zr(a,a.F.wa,b)+" ";80386<=a.F.ja&&(e+="\n",c+=zr(a,a.F.Nb,b)+" "+zr(a,a.F.Ob,b)+"\n");c+=Ar(a,"LD",a.F.Bc.Z,a.F.Bc.Aa,a.F.Bc.Aa+a.F.Bc.Ta)+" "+Ar(a,"GD",null,a.F.Dc,a.F.zd)+" "+Ar(a,"ID",
null,a.F.Lc,a.F.Sd)+" ";c=c+(d+" "+e)+yr(a,32);80386<=a.F.ja&&(c+=yr(a,34)+yr(a,35))}else 80386<=a.F.ja&&(c+=zr(a,a.F.Nb,b)+" "+zr(a,a.F.Ob,b)+" ");return c+=yr(a,23)+xr(a,"V")+xr(a,"D")+xr(a,"I")+xr(a,"T")+xr(a,"S")+xr(a,"Z")+xr(a,"A")+xr(a,"P")+xr(a,"C")}m.kj=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
function Br(a,b){var c;void 0===b&&(b=$q(a));c=yr(a,8)+yr(a,11)+yr(a,9)+yr(a,10)+(4<a.Ja?"\n":"")+yr(a,12)+yr(a,13)+yr(a,14)+yr(a,15)+"\n"+zr(a,a.F.ta,b)+" "+zr(a,a.F.vb,b)+" "+zr(a,a.F.Xa,b)+" ";if(b){var d="TR="+t(a.F.Sa.Z,4),e=a.ga,e="A20="+(e.X||e.Cg!=e.Gb?"OFF ":"ON ");80386>a.F.ja&&(d="\n"+d,c+=e,e="");c+="\n"+zr(a,a.F.wa,b)+" ";80386<=a.F.ja&&(e+="\n",c+=zr(a,a.F.Nb,b)+" "+zr(a,a.F.Ob,b)+"\n");c+=Ar(a,"LD",a.F.Bc.Z,a.F.Bc.Aa,a.F.Bc.Aa+a.F.Bc.Ta)+" "+Ar(a,"GD",null,a.F.Ec,a.F.zd)+" "+Ar(a,"ID",
null,a.F.Mc,a.F.Sd)+" ";c=c+(d+" "+e)+yr(a,32);80386<=a.F.ja&&(c+=yr(a,34)+yr(a,35))}else 80386<=a.F.ja&&(c+=zr(a,a.F.Nb,b)+" "+zr(a,a.F.Ob,b)+" ");return c+=yr(a,23)+xr(a,"V")+xr(a,"D")+xr(a,"I")+xr(a,"T")+xr(a,"S")+xr(a,"Z")+xr(a,"A")+xr(a,"P")+xr(a,"C")}m.kj=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
function fm(a,b,c,d,e,f,g,h){var k={},l=[],n;for(n in h){var r=h[n];"number"==typeof r&&(h[n]=r={o:r});var q=r.o,A=r.s,F=r.a;if(void 0!==q){void 0!==A&&(k.Ra=q,k.Z=A,k.Ea=null,a.bc(k),(k.Ea&-65536)==(a.ga.Cg&-65536)&&(k.Ea&=1048575),r.p=k.Ea);var A=l,q=[q>>>0,n],w=ra(A,q,a.kj);0>w&&A.splice(-(w+1),0,q)}F&&(r.a=F.replace(/''/g,'"'))}a.N.push({ig:b,cn:c,Z:d,Ra:e,Ea:f,Um:g,Qd:h,Wi:l})}
function Xq(a,b,c){for(var d=0;d<a.N.length;d++){var e=a.N[d];if(!b||e.ig==b)if(b&&c==e.cn||!b&&c==e.Z){a.N.splice(d,1);break}}}function vr(a,b,c){for(var d=[],e=b.Ra>>>0,f=a.bc(b)>>>0,g=0;g<a.N.length;g++){var h=a.N[g],k=h.Z,l=h.Ra>>>0,n=h.Ea;null!=n&&(n>>>=0);var r=h.Um;48==k&&(k=40);if(k==b.Z&&e>=l&&e<l+r||null!=n&&f>=n&&f<n+r){b=ra(h.Wi,[e],a.kj);0<=b?Cr(a,g,b,d):c&&(b=~b,Cr(a,g,b-1,d),Cr(a,g,b,d));break}}!d.length&&(a=a.ga.wj(f,!0))&&(d.push(a),d.push(f));return d}
function Cr(a,b,c,d){var e={},f=a.N[b].Wi,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.N[b].Qd[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}function Dr(a){a.Ff&&(a.Ff.value="")}
@ -767,9 +767,9 @@ a.B,W)||Yq(a,a.ra,W)||Yq(a,a.fa,W)||a.O("breakpoint missing: "+Zq(W)):"i"==H?a.O
","),Ba+=bb);Ba+=",state,symbols";a.O("dump memory commands:");a.O("\tdb [a] [#] dump # bytes at address a");a.O("\tdw [a] [#] dump # words at address a");a.O("\tdd [a] [#] dump # dwords at address a");a.O("\tdh [#] [#] dump # instructions from history");a.O("\tdi [#] dump descriptor info for IDT #");a.O("\tds [#] dump descriptor info for selector #");Ba.length&&a.O("dump extension commands:\n\t"+Ba)}else if("state"==ja){var Xb=Lr(a.X,!0);"console"==Ha?console.log(Xb):(Dr(a),
a.O(Xb))}else if("symbols"==ja)for(var wa=0;wa<a.N.length;wa++){var Wd=a.N[wa],Sc;for(Sc in Wd.Qd)if("."!=Sc.charAt(0)){var Xd=Wd.Qd[Sc],Je=Xd.o;if(void 0!==Je){var Yd=Xd.s;void 0===Yd&&(Yd=Wd.Z);var Ke=Wd.Qd[Sc].l;Ke&&(Sc=Ke);a.O(Pq(Je,Yd)+" "+Sc)}}}else{if("ds"==ia||"dg"==ia||"dl"==ia)ia="d",P=[ia,"desc",ja];"d"==ia&&"page"==ja&&(ia="dp",P.shift());if("dp"==ia){P.shift();var ki=P[0];if(ki){var Ue=a.bc(fr(a,ki));if(-1===Ue)a.O("invalid address: "+ki);else{var be,Da=null;if(80386<=a.F.ja){var ce=
a.ga,Da={};Da.Ik=(Ue&-4194304)>>>20;Da.Zi=a.F.Od+Da.Ik;Da.yb=ce.sa[(Da.Zi&ce.Gb)>>>ce.La];Da.zj=Da.yb.Md(Da.Ik);Da.Jk=(Ue&4190208)>>>10;Da.$i=(Da.zj&-4096)+Da.Jk;Da.zb=ce.sa[(Da.$i&ce.Gb)>>>ce.La];Da.Aj=Da.zb.Md(Da.Jk);Da.ml=(Da.Aj&-4096)+(Ue&4095)}if(be=Da){a.O("linear PDE addr PDE PTE addr PTE physical");a.O("--------- ---------- -------- ---------- -------- ----------");var qd="%"+t(Ue),qd=qd+(" %%"+hr(be.Zi,be.zj)),qd=qd+(" %%"+hr(be.$i,be.Aj,!0)),
qd=qd+(" %%"+t(be.ml));a.O(qd)}else a.O("unsupported operation")}}else a.O("missing address")}else{if("d"==ia){if("disk"==ja){P[0]="l";P[1]="json";Hr(a,P);break a}for(bb in Db)if(P[1]==bb){var Bn=a.$a[bb];Bn?(P.shift(),P.shift(),Bn(P)):a.O("no dump registered for "+ja);break a}ja||(ia=a.uc||"db")}else a.uc=ia;if("dh"==ia){var Cn=ja,Dn=Ha,En="",Fn=0,tb=a.Fa,tc=a.ia;if(tc.length){var Eb=+Cn||a.Jb,de=+Dn||10;isNaN(Eb)?Eb=de:En="more ";Eb>tc.length&&(a.O("note: only "+tc.length+" available"),Eb=tc.length);
qd=qd+(" %%"+t(be.ml));a.O(qd)}else a.O("unsupported operation")}}else a.O("missing address")}else{if("d"==ia){if("disk"==ja){P[0]="l";P[1]="json";Hr(a,P);break a}for(bb in Db)if(P[1]==bb){var Bn=a.$a[bb];Bn?(P.shift(),P.shift(),Bn(P)):a.O("no dump registered for "+ja);break a}ja||(ia=a.Cc||"db")}else a.Cc=ia;if("dh"==ia){var Cn=ja,Dn=Ha,En="",Fn=0,tb=a.Fa,tc=a.ia;if(tc.length){var Eb=+Cn||a.Jb,de=+Dn||10;isNaN(Eb)?Eb=de:En="more ";Eb>tc.length&&(a.O("note: only "+tc.length+" available"),Eb=tc.length);
tb-=Eb;0>tb&&(null==tc[tc.length-1].Z?(Eb=tb+Eb,tb=0):tb+=tc.length);var li=[];"call"==Dn&&(de=1E5,li=["CALL"]);for(void 0!==Cn&&a.O(Eb+" instructions earlier:");0<de&&tb!=a.Fa;){var rd=tc[tb++];if(null==rd.Z)break;var Ve=rq(a,rd.Ra,rd.Z,rd.Ea,rd.type,rd.Rb,rd.oc),es=Eb--,Gn=tr(a,Ve,"history",es);(!li.length||0<=Gn.indexOf(li[0]))&&a.O(Gn);Ve.Ue&&(tb+=Ve.Ue,de-=Ve.Ue,Eb-=Ve.Ue);tb>=tc.length&&(tb=0);a.Jb=Eb;Fn++;de--}}Fn||(a.O("no "+En+"history available"),a.Jb=void 0)}else if("di"==ia){P.shift();
var mi=P[0];if(mi){var We=nq(a,mi);if(void 0===We||0>We||255<We)a.O("invalid vector: "+mi);else{var Hn="&",In=!!(a.F.Za&1),Jn=!1,qg=a.F.Lc+(We<<(In?3:2)),ni=a.F.na(qg+0),fs=a.F.na(qg+2);In&&(Hn="#",a.F.na(qg+4)&2048&&(Jn=!0,ni|=a.F.na(qg+6)<<16));a.O("dumpIDT("+v(We)+"): "+Hn+t(fs,4)+":"+t(ni,Jn?8:4))}}else a.O("no IDT vector")}else if("dt"==ia)P.shift(),a.O("no information");else{var ee=fr(a,ja);if(ee&&(null!=ee.Z||null!=ee.Ea)){var rg=0;Ha&&("l"==Ha.charAt(0)&&(Ha=Ha.substr(1)||Xa),rg=nq(a,Ha)>>>
var mi=P[0];if(mi){var We=nq(a,mi);if(void 0===We||0>We||255<We)a.O("invalid vector: "+mi);else{var Hn="&",In=!!(a.F.Za&1),Jn=!1,qg=a.F.Mc+(We<<(In?3:2)),ni=a.F.na(qg+0),fs=a.F.na(qg+2);In&&(Hn="#",a.F.na(qg+4)&2048&&(Jn=!0,ni|=a.F.na(qg+6)<<16));a.O("dumpIDT("+v(We)+"): "+Hn+t(fs,4)+":"+t(ni,Jn?8:4))}}else a.O("no IDT vector")}else if("dt"==ia)P.shift(),a.O("no information");else{var ee=fr(a,ja);if(ee&&(null!=ee.Z||null!=ee.Ea)){var rg=0;Ha&&("l"==Ha.charAt(0)&&(Ha=Ha.substr(1)||Xa),rg=nq(a,Ha)>>>
0,65536<rg&&(rg=65536));for(var sd="",sg="dd"==ia?4:"dw"==ia?2:1,tg=sg*rg||128,gs=tg+15>>4||1;gs--&&0<tg;){var ug=0,oi=0,Xe,Ye="",pi="",ja=Zq(ee);for(Xe=16;0<Xe&&0<tg;Xe--){var vg=a.Qa(ee,1),ug=ug|vg<<(oi++<<3);oi==sg&&(Ye+=t(ug,2*sg),Ye+=1==sg?9==Xe?"-":" ":" ",ug=oi=0);pi+=32<=vg&&128>vg?String.fromCharCode(vg):".";tg--}sd&&(sd+="\n");sd+=ja+" "+Ye+(0==Xe?" "+pi:"")}sd&&a.O(sd);a.sb=ee}}}}}break;case "e":if("else"==g[0])break;var wg=1,Kn=255,Ln=a.Qa,Mn=a.qc;"ew"==g[0]&&(wg=2,Kn=65535,Ln=a.na,
Mn=a.jb);var Nn=wg<<1,On=g[1];if(null==On)a.O("edit memory commands:"),a.O("\teb [a] [...] edit bytes at address a"),a.O("\tew [a] [...] edit words at address a");else{var xg=fr(a,On);if(xg)for(var yg=2;yg<g.length;yg++){var Ze=lq(a,g[yg]);if(void 0===Ze){a.O("unrecognized value: "+g[yg]);break}Ze&~Kn&&a.O("warning: "+t(Ze)+" exceeds "+wg+"-byte value");var hs=Ln.call(a,xg);a.O("changing "+Zq(xg)+" from "+t(hs,Nn,!0)+" to "+t(Ze,Nn,!0));Mn.call(a,xg,Ze,wg)}}break;case "f":Er(a,g[1]);break;case "g":a:{var Pn=
g[1],is=b;"gt"==g[0]&&(a.cb=!0);if(void 0!==Pn){var qi=fr(a,Pn,!0);if(!qi)break a;gr(a,qi,is);a.Rd(a.B,qi,!0)}a.Le(!0)||c||a.O("cpu busy or unavailable, run command ignored")}break;case "h":a:{var ri;if(a.la.Ib)ri="halting",a.Wb();else{if(vb(a,!0))break a;ri="already halted"}c||a.O(ri)}break;case "i":if("if"==g[0]){var si;var $e=b.substr(2),$e=pa($e);lq(a,$e)?(c||a.O("true: "+$e),si=!0):(c||a.O("false: "+$e),si=!1);si||(d=!1);break}if("int"==g[0]){var zg;a:switch(nq(a,g[1])){case 19:ok(a,19,a.F.Ha,
@ -784,7 +784,7 @@ bf;break;case "start":a.F.Y.Lf=bf;break;case "stop":a.F.Y.mf=bf;break;default:a.
a.O("\tcs stop #\tset checksum cycle stop count to #"),a.O("\tsp #\t\tset speed multiplier to #");break;case "?":if(g[1]){Ir(a,b.substr(1));break}var cf="commands:",Ai;for(Ai in yq)cf+="\n"+oa(Ai,7)+yq[Ai];Xf(a)||(cf+="\nnote: frequency/history disabled if no exec breakpoints");a.O(cf);break;default:a.O("unknown command: "+b),d=!1}}}catch(Xn){a.O("debugger error: "+(Xn.stack||Xn.message)),d=!1}return d}function vq(a,b,c){b=a.Mg(b,c);for(var d in b)if(!sr(a,b[+d]))return!1;return!0}
Ua(function(){for(var a=rb(document,"pcx86","debugger"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new qq(d);qb(d,c)}});
function Mr(a,b,c){Za.call(this,"Computer",a,Mr,67108864);this.la.hc=!1;Nr(this,b);this.fa=Tc(this,"autoPower",a);this.N=0;this.ra=a.busWidth||a.buswidth;this.A=Or;this.aa=null;this.V=this.pa=!1;this.ua=Tc(this,"url")||"";this.ya=(Math.random()+.1).toString(36).substr(2,12);this.B=Pr(this);if(this.F=nb("CPU",this.id)){this.ha=nb("Debugger",this.id);this.L=[];for(b=null;b=Jb(this,"Video",b);)this.L.push(b);this.ga=new Qb({id:this.ce+".bus",busWidth:this.ra},this.F,this.ha);var d,e=kb(this.id);if((this.C=
nb("Panel",this.id))&&this.C.Ff)for(b=0;b<e.length;b++)d=e[b],d.Na=this.C.Na,d.O=this.C.O,d.Ff=this.C.Ff;this.O("PCx86 v1.30.0\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");for(b=0;b<e.length;b++)d=e[b],d.Hc&&d.Hc(this,this.ga,this.F,this.ha);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.W=d:this.A=parseInt(d,10));var f;if(a=Tc(this,"state")||(f=!0,a.state))b=this.ia=a,f||(this.V=!0,this.A=Or),this.A&&(this.ea=new mf(this,
nb("Panel",this.id))&&this.C.Ff)for(b=0;b<e.length;b++)d=e[b],d.Na=this.C.Na,d.O=this.C.O,d.Ff=this.C.Ff;this.O("PCx86 v1.30.0\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");for(b=0;b<e.length;b++)d=e[b],d.Ic&&d.Ic(this,this.ga,this.F,this.ha);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.W=d:this.A=parseInt(d,10));var f;if(a=Tc(this,"state")||(f=!0,a.state))b=this.ia=a,f||(this.V=!0,this.A=Or),this.A&&(this.ea=new mf(this,
"1.30.0"),this.ea.load()?b=null:delete this.ea);!b&&this.A&&(b=Qr(this))&&(this.V=!0);if(b){var g=this;za(b,null,!0,function(a,b,c){c?(g.W=null,g.V=!1,g.Na("Unable to load machine state from server (error "+c+(b?": "+pa(b):"")+")")):(g.aa=b,g.pa=!0);wb(g)})}else wb(this);this.qa.power||(this.fa=!0);!c&&this.fa&&Rr(this,this.bg)}else x("Unable to find CPU component")}hb(Mr);var Or=0;m=Mr.prototype;m.hf=function(){return this.ya};
function Nr(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){x(d.message+" ("+c+")")}}a.U=b}function Tc(a,b,c){var d=b.toLowerCase(),d=cb[b]||cb[d];void 0===d&&a.U&&(d=a.U[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}m.ie=function(){return this.B||""};function Rr(a,b,c){for(var d=kb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!xb(f)){xb(f,function(){Rr(a,b,c)});return}}b.call(a,c)}
function Sr(a,b){var c=new mf(a,"1.30.0","validate");if(c.load()&&Tr(c)){var d=Ur(c,"timestamp"),e=b?Ur(b,"timestamp"):"unknown";d!=e&&(a.Na("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}

View file

@ -1161,6 +1161,12 @@
<xsl:template match="debugger[not(@ref)]">
<xsl:param name="machine" select="''"/>
<xsl:variable name="base">
<xsl:choose>
<xsl:when test="@base"><xsl:value-of select="@base"/></xsl:when>
<xsl:otherwise>16</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="commands">
<xsl:choose>
<xsl:when test="@commands"><xsl:value-of select="@commands"/></xsl:when>
@ -1176,7 +1182,7 @@
<xsl:call-template name="component">
<xsl:with-param name="machine" select="$machine"/>
<xsl:with-param name="class">debugger</xsl:with-param>
<xsl:with-param name="parms">,commands:'<xsl:value-of select="$commands"/>',messages:'<xsl:value-of select="$messages"/>'</xsl:with-param>
<xsl:with-param name="parms">,base:<xsl:value-of select="$base"/>,commands:'<xsl:value-of select="$commands"/>',messages:'<xsl:value-of select="$messages"/>'</xsl:with-param>
</xsl:call-template>
</xsl:template>

View file

@ -1,174 +1,173 @@
(function(){var m;
function aa(a,b){var d;if(a){b||(b=10);var c=a.charAt(0),e=0<a.indexOf(",");e&&(a=a.replace(/,/g,""));"#"==c?(b=8,c=null):"$"==c&&(b=16,c=null);null==c?a=a.substr(1):("0"==c&&(c=a.charAt(1),"b"==c&&e&&(b=2,c=null),"o"==c?(b=8,c=null):"x"==c&&(b=16,c=null)),null==c?a=a.substr(2):(c=a.charAt(a.length-1).toLowerCase(),"y"==c?(b=2,c=null):"."==c?(b=10,c=null):"h"==c&&(b=16,c=null),null==c&&(a=a.substr(0,a.length-1))));var f,c=a;((e=b)&&10!=e?16==e?null!==c.match(/^[0-9a-f]+$/i):8==e?null!==c.match(/^[0-7]+$/):2==
e&&null!==c.match(/^[01]+$/):null!==c.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(d=f|0)}return d}function ga(a,b,d){var c="";b?11<b&&(b=11):b=a&-65536?11:6;if(null==a||isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;)c=String.fromCharCode((a&7)+48)+c,a>>=3;return(d?"0o":"")+c}function q(a,b,d){var c="";b?8<b&&(b=8):b=a&-65536?8:4;if(null==a||isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;){var e=a&15,e=e+(0<=e&&9>=e?48:55),c=String.fromCharCode(e)+c;a>>=4}return(d?"0x":"")+c}
function t(a){return q(a,4,!0)}function ha(a){var b=a,d=a.lastIndexOf("/");0<=d&&(b=a.substr(d+1));d=b.indexOf("&");0<d&&(b=b.substr(0,d));return b}function ia(a){var b="",d=a.lastIndexOf(".");0<=d&&(b=a.substr(d+1).toLowerCase());return b}function la(){var a=ma();return-1!==a.indexOf("pcjs.org",a.length-8)}var na={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function oa(a){return a.replace(/[&<>"']/g,function(a){return na[a]})}
function pa(a,b){return(a+" ").slice(0,b)}function qa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function ua(a,b,d){var c=0,e=a.length,f=0;for(void 0===d&&(d=function(a,b){return a>b?1:a<b?-1:0});c<e;){var h=c+e>>1,g;g=d(b,a[h]);0<g?c=h+1:(e=h,f=!g)}return f?c:~c}var va=Date.now||function(){return+new Date};
function wa(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}
e&&null!==c.match(/^[01]+$/):null!==c.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(d=f|0)}return d}function ga(a,b,d){var c="";b?11<b&&(b=11):b=a&-65536?11:6;if(null==a||isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;)c=String.fromCharCode((a&7)+48)+c,a>>=3;return(d?"0o":"")+c}function r(a,b,d){var c="";b?8<b&&(b=8):b=a&-65536?8:4;if(null==a||isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;){var e=a&15,e=e+(0<=e&&9>=e?48:55),c=String.fromCharCode(e)+c;a>>=4}return(d?"0x":"")+c}
function ha(a){var b=a,d=a.lastIndexOf("/");0<=d&&(b=a.substr(d+1));d=b.indexOf("&");0<d&&(b=b.substr(0,d));return b}function ia(a){var b="",d=a.lastIndexOf(".");0<=d&&(b=a.substr(d+1).toLowerCase());return b}function la(){var a=ma();return-1!==a.indexOf("pcjs.org",a.length-8)}var na={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function oa(a){return a.replace(/[&<>"']/g,function(a){return na[a]})}function pa(a,b){return(a+" ").slice(0,b)}
function qa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function ua(a,b,d){var c=0,e=a.length,f=0;for(void 0===d&&(d=function(a,b){return a>b?1:a<b?-1:0});c<e;){var h=c+e>>1,g;g=d(b,a[h]);0<g?c=h+1:(e=h,f=!g)}return f?c:~c}var va=Date.now||function(){return+new Date};function wa(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}
function xa(a,b,d,c){var e=0,f=null,h=null;if("object"==typeof resources&&(f=resources[a]))return c&&c(a,f,e),[f,e];if(d&&"function"==typeof resources)return resources(a,function(b,d){c&&c(a,b,d)}),h;var g=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");d&&(g.onreadystatechange=function(){4===g.readyState&&(f=g.responseText,200==g.status||!g.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=g.status||-1),c&&c(a,f,e))});if(b&&"object"==
typeof b){var k="",l;for(l in b)b.hasOwnProperty(l)&&(k&&(k+="&"),k+=l+"="+encodeURIComponent(b[l]));k=k.replace(/%20/g,"+");g.open("POST",a,!!d);g.setRequestHeader("Content-type","application/x-www-form-urlencoded");g.send(k)}else g.open("GET",a,!!d),"bytes"==b&&g.overrideMimeType("text/plain; charset=x-user-defined"),g.send();d||(f=g.responseText,200!=g.status&&(e=g.status||-1),c&&c(a,f,e),h=[f,e]);return h}function ma(){return"http://"+(window?window.location.host:"www.pcjs.org")}
function u(a){window&&window.alert(a)}function ya(a){var b=!1;window&&(b=window.confirm(a));return b}var za=null;function Aa(){if(null==za){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}za=a}return za}function Ga(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(d){}return b}
function t(a){window&&window.alert(a)}function ya(a){var b=!1;window&&(b=window.confirm(a));return b}var za=null;function Aa(){if(null==za){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}za=a}return za}function Ga(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(d){}return b}
function Ha(a,b){try{return window.localStorage.setItem(a,b),!0}catch(d){}return!1}function Ia(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}function Ja(a,b,d){function c(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(c,0):d()}c()}
function Ka(a,b){function d(){b(100===c)&&(e=setTimeout(d,c),c=100)}var c=0,e=null,f=!1;a.onmousedown=function(){f||e||(c=500,d())};a.ontouchstart=function(){e||(c=500,d())};a.onmouseup=a.onmouseout=function(){e&&(clearTimeout(e),e=null)};a.ontouchend=a.ontouchcancel=function(){e&&(clearTimeout(e),e=null);f=!0}}var La={init:[],show:[],exit:[]},Ma=!1,Na=!1,Oa=!0;function Pa(a,b){if(window){var d=window[a];window[a]="function"!==typeof d?b:function(){d&&d();b()}}}function Qa(a){La.init.push(a)}
function Ra(a){if(Oa)try{for(var b=0;b<a.length;b++)a[b]()}catch(d){u(""+("An unexpected exception occurred:\n\n"+d.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function Sa(a){!Oa&&a?(Oa=!0,Ma&&Ta("init"),Na&&Ta("show")):Oa=a}function Ta(a){La[a]&&Ra(La[a])}Pa("onload",function(){Ma=!0;Ra(La.init)});Pa("onpageshow",function(){Na=!0;Ra(La.show)});Pa(Ia("Opera")||Ia("iOS")?"onunload":"onbeforeunload",function(){Ra(La.exit)});
function w(a,b,d,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.kb=b.comment;this.Eb=b;b=this.id.indexOf(".");0>b?this.Ma=this.id:(this.lb=this.id.substr(0,b),this.Ma=this.id.substr(b+1));this[a]=d;this.A={ready:!1,Ga:!1,$a:!1,Z:!1,error:!1};this.Xa=null;this.A.error=!1;this.L={};this.I=null;this.$=c||0;y.push(this)}var Ua=void 0,Va={};
function Ra(a){if(Oa)try{for(var b=0;b<a.length;b++)a[b]()}catch(d){t(""+("An unexpected exception occurred:\n\n"+d.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function Sa(a){!Oa&&a?(Oa=!0,Ma&&Ta("init"),Na&&Ta("show")):Oa=a}function Ta(a){La[a]&&Ra(La[a])}Pa("onload",function(){Ma=!0;Ra(La.init)});Pa("onpageshow",function(){Na=!0;Ra(La.show)});Pa(Ia("Opera")||Ia("iOS")?"onunload":"onbeforeunload",function(){Ra(La.exit)});
function u(a,b,d,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.kb=b.comment;this.Eb=b;b=this.id.indexOf(".");0>b?this.Ma=this.id:(this.lb=this.id.substr(0,b),this.Ma=this.id.substr(b+1));this[a]=d;this.A={ready:!1,Ga:!1,$a:!1,Z:!1,error:!1};this.Xa=null;this.A.error=!1;this.L={};this.I=null;this.$=c||0;x.push(this)}var Ua=void 0,Va={};
if(window){Ua||(Ua=window.location.search.substr(1));for(var Wa,Xa=/\+/g,Ya=/([^&=]+)=?([^&]*)/g;Wa=Ya.exec(Ua);)Va[decodeURIComponent(Wa[1].replace(Xa," "))]=decodeURIComponent(Wa[2].replace(Xa," "))}function Za(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var d=typeof a;if("object"!==d&&"function"!==d)throw new TypeError;}b.prototype=a;return new b}
function A(a,b){b||(b=w);a.prototype=Za(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var $a=window.PCjs.Machines||(window.PCjs.Machines={}),y=window.PCjs.Components||(window.PCjs.Components=[])}else $a={},y=[];function ab(a,b,d){$a[a]&&b&&($a[a][b]=d)}function bb(a){var b,d=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<y.length;b++){var c=y[b];a&&c.id.indexOf(a)||d.push(c)}return d}
function cb(a,b){var d;if(void 0!==a){var c;b&&(b=0<(c=b.indexOf("."))?b.substr(0,c+1):"");for(c=0;c<y.length;c++)if(d)d==y[c]&&(d=null);else if(!(a!=y[c].type||b&&y[c].id.indexOf(b)))return y[c]}return null}function B(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(d){u(d.message+" ("+a+")")}return b}
function nb(a,b){for(var d=D(b.parentNode,"pdp11-control"),c=0;c<d.length;c++)for(var e=d[c].childNodes,f=0;f<e.length;f++){var h=e[f];if(1===h.nodeType){var g=h.getAttribute("class");if(g)for(var k=g.split(" "),l=0;l<k.length;l++)switch(g=k[l],g){case "pdp11-binding":(g=B(h))&&g.binding&&a.ha(g.type,g.binding,h,g.value),l=k.length}}}}
function D(a,b,d){d&&(b+="-"+d+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var c;d=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(c=a.length;b<c;b++)e.test(a[b].className)&&d.push(a[b]);return d}
w.prototype={constructor:w,parent:null,toString:function(){return this.name?this.name:this.id||this.type},ha:function(a,b,d){switch(b){case "clear":return this.L[b]||(this.L[b]=d,d.onclick=function(a){return function(){a.L.print&&(a.L.print.value="")}}(this)),!0;case "print":return this.L[b]||(this.xa=this.L[b]=d,d.value="",this.g=function(a){return function(b,d){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==d?d+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(d),
this.ea=function(a){this.g(a,this.Ma)}),!0;default:return!1}},log:function(){},g:function(){},status:function(a){this.g(this.Ma+": "+a)},ea:function(a,b,d){d=d||this.type;b||u((d?d+": ":"")+a)},sa:function(){return this.A.Z=!0},ra:function(a,b){b&&(this.A.Z=!1);return!0}};function ob(a,b){if(a.I){a===a.I?b|=0:b=b||a.$;var d=a.I.$&b;return!!b&&d===b||!!(d&a.I.zb)}return!1}
function pb(a,b){if(a.A.$a)return a.A.Ga&&(a.A.Ga=!1),a.A.$a=!1;if(a.A.error)return a.g(a.toString()+" error"),!1;a.A.Ga=b;return a.A.Ga}function qb(a,b){a.A.Ga&&(b?a.A.$a=!0:void 0===b&&a.g(a.toString()+" busy"));return a.A.Ga}function F(a){if(!a.A.error&&(a.A.ready=!0,a.A.ready)){var b=a.Xa;a.Xa=null;b&&b()}}function rb(a,b){b&&(a.A.ready?b():a.Xa=b);return a.A.ready}function sb(a,b){a.A.error=!0;a.ea(b)}
var tb="undefined"!==typeof ArrayBuffer,G={cpu:1,bus:64,mem:128,keyboard:65536,key:131072,disk:2097152,serial:8388608,speaker:33554432,computer:67108864,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648};function ub(a){w.call(this,"Panel",a,ub)}A(ub);m=ub.prototype;m.ha=function(a,b,d,c){return this.w&&this.w.ha(a,b,d,c)||this.f&&this.f.ha(a,b,d,c)||this.I&&this.I.ha(a,b,d,c)?!0:this.parent.ha.call(this,a,b,d,c)};m.ya=function(a,b,d,c){this.w=a;this.H=b;this.f=d;this.I=c};
m.sa=function(a,b){b||vb();return!0};m.ra=function(){return!0};m.ia=function(){};function vb(){for(var a=!1,b=D(document,"pdp11","panel"),d=0;d<b.length;d++){var c=b[d],e=B(c),f;a:{f=e.id;if(void 0!==f)for(var h=void 0,h=0;h<y.length;h++)if(y[h].id===f){f=y[h];break a}f=null}f||(a=!0,f=new ub(e));nb(f,c);a&&F(f)}}Qa(vb);
function wb(a,b,d){w.call(this,"Bus",a,wb);this.f=b;this.I=d;this.B=a.busWidth||16;this.G=Math.pow(2,this.B);this.w=this.G-1|0;this.ba=16>=this.B?10:20>=this.B?12:24>=this.B?14:15;this.ma=1<<this.ba;this.J=this.ma>>2;this.H=this.ma-1;this.F=this.G/this.ma|0;this.K=this.F-1;a=new H;xb(a,this.I);this.P=Array(this.F);for(b=0;b<this.F;b++)this.P[b]=a;F(this)}A(wb);wb.prototype.reset=function(){};wb.prototype.sa=function(a,b){b||this.reset();return!0};
function yb(a,b,d,c){for(var e=b,f=d,h=e>>>a.ba;0<f&&h<a.P.length;){var g=a.P[h],k=h*a.ma,l=a.ma-(e-k);l>f&&(l=f);if(g&&g.size){if(g.type==c){if(e+f<=g.D)return g.Va+=g.D-e,g.D=e,!0;if(e>=g.D+g.Va){l=g.size-(e-k);l>f&&(l=f);g.Va=e-g.D+l;e=k+a.ma;f-=l;h++;continue}}return zb(1,e,f)}e=new H(e,l,a.ma,c);xb(e,a.I,g);a.P[h++]=e;e=k+a.ma;f-=l}return 0>=f?(a.status(Math.floor(d/1024)+"Kb "+Ab[c]+" at "+q(b,8,!0)),!0):zb(2,b,d)}
function Bb(a,b){var d=b&a.H,c=(b&a.w)>>>a.ba;return d!=a.H?a.P[c].ub(d,b):a.P[c++].Ta(d,b)|a.P[c&a.K].Ta(0,b+1)<<8}function zb(a,b,d){u("Memory block error ("+a+": "+q(b)+","+q(d)+")");return!1}var Cb;if(tb){var Ob=new ArrayBuffer(2);(new DataView(Ob)).setUint16(0,256,!0);Cb=256===(new Uint16Array(Ob))[0]}else Cb=!1;var Pb=Cb;
function H(a,b,d,c){this.id=Qb+=2;this.f=null;this.D=a;this.Va=b;this.size=d||0;this.type=c||Rb;this.J=c==Sb;xb(this);this.va=this.Bb=!1;if(d)if(tb)this.F=new ArrayBuffer(d),this.G=new DataView(this.F,0,d),this.H=new Uint8Array(this.F,0,d),this.N=new Uint16Array(this.F,0,d>>1),this.f=new Int32Array(this.F,0,d>>2),Tb(this,Pb?Ub:Vb);else{this.f=Array(d>>2);for(a=0;a<this.f.length;a++)this.f[a]=0;Tb(this,Wb)}else Tb(this)}var Rb=0,Sb=2,Ab=["NONE","RAM","ROM","VID","H/W"],Qb=0;
H.prototype={constructor:H,parent:null,save:function(){var a,b;if(tb)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.G.getInt32(b<<2,!0);else a=this.f;return a},restore:function(a){if(a&&this.size==a.length<<2){var b;if(tb)for(b=0;b<a.length;b++)this.G.setInt32(b<<2,a[b],!0);else this.f=a;return this.va=!0}return!1},wa:function(a,b){b?0===this.w++&&Xb(this,Yb,!1):0===this.L++&&Zb(this,Yb,!1)},O:function(){this.I&&ob(this.I,129)&&this.I.message("attempt to read invalid block %"+q(this.D),!0);
return 255},B:function(a,b){this.I&&ob(this.I,129)&&this.I.message("attempt to write "+t(b)+" to invalid block %"+q(this.D),!0)},X:function(a,b){return this.K(a++,b++)|this.K(a,b)<<8},pa:function(a,b,d){this.M(a++,b&255,d++);this.M(a,b>>8,d)},U:function(a){return this.f[a>>2]>>>((a&3)<<3)&255},da:function(a){var b=a>>2;a=(a&3)<<3;var d=this.f[b]>>a;return 24>a?d&65535:d&255|(this.f[b+1]&255)<<8},ka:function(a,b){var d=a>>2,c=(a&3)<<3;this.f[d]=this.f[d]&~(255<<c)|b<<c;this.va=!0},ua:function(a,b){var d=
a>>2,c=(a&3)<<3;24>c?this.f[d]=this.f[d]&~(65535<<c)|b<<c:(this.f[d]=this.f[d]&16777215|b<<24,d++,this.f[d]=this.f[d]&-256|b>>8);this.va=!0},S:function(a,b){if(this.I&&null!=this.D){var d=this.I;$b(d,this.D+a,1,d.R)&&d.ca(!0)}return this.Ta(a,b)},W:function(a,b){if(this.I&&null!=this.D){var d=this.I;$b(d,this.D+a,2,d.R)&&d.ca(!0)}return this.ub(a,b)},ga:function(a,b,d){if(this.I&&null!=this.D){var c=this.I;$b(c,this.D+a,1,c.J)&&c.ca(!0)}this.J?this.B(a,b,d):this.La(a,b,d)},na:function(a,b,d){if(this.I&&
null!=this.D){var c=this.I;$b(c,this.D+a,2,c.J)&&c.ca(!0)}this.J?this.B(a,b,d):this.wb(a,b,d)},R:function(a){return this.H[a]},T:function(a){return this.H[a]},V:function(a){return this.G.getUint16(a,!0)},Y:function(a){return a&1?this.H[a]|this.H[a+1]<<8:this.N[a>>1]},fa:function(a,b){this.H[a]=b;this.va=!0},ja:function(a,b){this.H[a]=b;this.va=!0},la:function(a,b){this.G.setUint16(a,b,!0);this.va=!0},Ma:function(a,b){a&1?(this.H[a]=b,this.H[a+1]=b>>8):this.N[a>>1]=b;this.va=!0}};
function y(a,b){b||(b=u);a.prototype=Za(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var $a=window.PCjs.Machines||(window.PCjs.Machines={}),x=window.PCjs.Components||(window.PCjs.Components=[])}else $a={},x=[];function ab(a,b,d){$a[a]&&b&&($a[a][b]=d)}function bb(a){var b,d=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<x.length;b++){var c=x[b];a&&c.id.indexOf(a)||d.push(c)}return d}
function cb(a,b){var d;if(void 0!==a){var c;b&&(b=0<(c=b.indexOf("."))?b.substr(0,c+1):"");for(c=0;c<x.length;c++)if(d)d==x[c]&&(d=null);else if(!(a!=x[c].type||b&&x[c].id.indexOf(b)))return x[c]}return null}function B(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(d){t(d.message+" ("+a+")")}return b}
function nb(a,b){for(var d=C(b.parentNode,"pdp11-control"),c=0;c<d.length;c++)for(var e=d[c].childNodes,f=0;f<e.length;f++){var h=e[f];if(1===h.nodeType){var g=h.getAttribute("class");if(g)for(var k=g.split(" "),l=0;l<k.length;l++)switch(g=k[l],g){case "pdp11-binding":(g=B(h))&&g.binding&&a.ha(g.type,g.binding,h,g.value),l=k.length}}}}
function C(a,b,d){d&&(b+="-"+d+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var c;d=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(c=a.length;b<c;b++)e.test(a[b].className)&&d.push(a[b]);return d}
u.prototype={constructor:u,parent:null,toString:function(){return this.name?this.name:this.id||this.type},ha:function(a,b,d){switch(b){case "clear":return this.L[b]||(this.L[b]=d,d.onclick=function(a){return function(){a.L.print&&(a.L.print.value="")}}(this)),!0;case "print":return this.L[b]||(this.xa=this.L[b]=d,d.value="",this.g=function(a){return function(b,d){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==d?d+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(d),
this.ea=function(a){this.g(a,this.Ma)}),!0;default:return!1}},log:function(){},g:function(){},status:function(a){this.g(this.Ma+": "+a)},ea:function(a,b,d){d=d||this.type;b||t((d?d+": ":"")+a)},sa:function(){return this.A.Z=!0},ra:function(a,b){b&&(this.A.Z=!1);return!0}};function ob(a,b){if(a.I){a===a.I?b|=0:b=b||a.$;var d=a.I.$&b;return!!b&&d===b||!!(d&a.I.zb)}return!1}
function pb(a,b){if(a.A.$a)return a.A.Ga&&(a.A.Ga=!1),a.A.$a=!1;if(a.A.error)return a.g(a.toString()+" error"),!1;a.A.Ga=b;return a.A.Ga}function qb(a,b){a.A.Ga&&(b?a.A.$a=!0:void 0===b&&a.g(a.toString()+" busy"));return a.A.Ga}function E(a){if(!a.A.error&&(a.A.ready=!0,a.A.ready)){var b=a.Xa;a.Xa=null;b&&b()}}function rb(a,b){b&&(a.A.ready?b():a.Xa=b);return a.A.ready}function sb(a,b){a.A.error=!0;a.ea(b)}
var tb="undefined"!==typeof ArrayBuffer,F={cpu:1,bus:64,mem:128,keyboard:65536,key:131072,disk:2097152,serial:8388608,speaker:33554432,computer:67108864,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648};function ub(a){u.call(this,"Panel",a,ub)}y(ub);m=ub.prototype;m.ha=function(a,b,d,c){return this.w&&this.w.ha(a,b,d,c)||this.f&&this.f.ha(a,b,d,c)||this.I&&this.I.ha(a,b,d,c)?!0:this.parent.ha.call(this,a,b,d,c)};m.ya=function(a,b,d,c){this.w=a;this.H=b;this.f=d;this.I=c};
m.sa=function(a,b){b||vb();return!0};m.ra=function(){return!0};m.ia=function(){};function vb(){for(var a=!1,b=C(document,"pdp11","panel"),d=0;d<b.length;d++){var c=b[d],e=B(c),f;a:{f=e.id;if(void 0!==f)for(var h=void 0,h=0;h<x.length;h++)if(x[h].id===f){f=x[h];break a}f=null}f||(a=!0,f=new ub(e));nb(f,c);a&&E(f)}}Qa(vb);
function wb(a,b,d){u.call(this,"Bus",a,wb);this.f=b;this.I=d;this.B=a.busWidth||16;this.G=Math.pow(2,this.B);this.w=this.G-1|0;this.ba=16>=this.B?10:20>=this.B?12:24>=this.B?14:15;this.ma=1<<this.ba;this.J=this.ma>>2;this.H=this.ma-1;this.F=this.G/this.ma|0;this.K=this.F-1;a=new G;xb(a,this.I);this.P=Array(this.F);for(b=0;b<this.F;b++)this.P[b]=a;E(this)}y(wb);wb.prototype.reset=function(){};wb.prototype.sa=function(a,b){b||this.reset();return!0};
function yb(a,b,d,c){for(var e=b,f=d,h=e>>>a.ba;0<f&&h<a.P.length;){var g=a.P[h],k=h*a.ma,l=a.ma-(e-k);l>f&&(l=f);if(g&&g.size){if(g.type==c){if(e+f<=g.D)return g.Va+=g.D-e,g.D=e,!0;if(e>=g.D+g.Va){l=g.size-(e-k);l>f&&(l=f);g.Va=e-g.D+l;e=k+a.ma;f-=l;h++;continue}}return zb(1,e,f)}e=new G(e,l,a.ma,c);xb(e,a.I,g);a.P[h++]=e;e=k+a.ma;f-=l}return 0>=f?(a.status(Math.floor(d/1024)+"Kb "+Ab[c]+" at "+r(b,8,!0)),!0):zb(2,b,d)}
function Bb(a,b){var d=b&a.H,c=(b&a.w)>>>a.ba;return d!=a.H?a.P[c].ub(d,b):a.P[c++].Ta(d,b)|a.P[c&a.K].Ta(0,b+1)<<8}function zb(a,b,d){t("Memory block error ("+a+": "+r(b)+","+r(d)+")");return!1}var Cb;if(tb){var Ob=new ArrayBuffer(2);(new DataView(Ob)).setUint16(0,256,!0);Cb=256===(new Uint16Array(Ob))[0]}else Cb=!1;var Pb=Cb;
function G(a,b,d,c){this.id=Qb+=2;this.f=null;this.D=a;this.Va=b;this.size=d||0;this.type=c||Rb;this.J=c==Sb;xb(this);this.va=this.Bb=!1;if(d)if(tb)this.F=new ArrayBuffer(d),this.G=new DataView(this.F,0,d),this.H=new Uint8Array(this.F,0,d),this.N=new Uint16Array(this.F,0,d>>1),this.f=new Int32Array(this.F,0,d>>2),Tb(this,Pb?Ub:Vb);else{this.f=Array(d>>2);for(a=0;a<this.f.length;a++)this.f[a]=0;Tb(this,Wb)}else Tb(this)}var Rb=0,Sb=2,Ab=["NONE","RAM","ROM","VID","H/W"],Qb=0;
G.prototype={constructor:G,parent:null,save:function(){var a,b;if(tb)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.G.getInt32(b<<2,!0);else a=this.f;return a},restore:function(a){if(a&&this.size==a.length<<2){var b;if(tb)for(b=0;b<a.length;b++)this.G.setInt32(b<<2,a[b],!0);else this.f=a;return this.va=!0}return!1},wa:function(a,b){b?0===this.w++&&Xb(this,Yb,!1):0===this.L++&&Zb(this,Yb,!1)},O:function(){this.I&&ob(this.I,129)&&this.I.message("attempt to read invalid block %"+r(this.D),!0);
return 255},B:function(a,b){this.I&&ob(this.I,129)&&this.I.message("attempt to write "+r(b,4,!0)+" to invalid block %"+r(this.D),!0)},X:function(a,b){return this.K(a++,b++)|this.K(a,b)<<8},pa:function(a,b,d){this.M(a++,b&255,d++);this.M(a,b>>8,d)},U:function(a){return this.f[a>>2]>>>((a&3)<<3)&255},da:function(a){var b=a>>2;a=(a&3)<<3;var d=this.f[b]>>a;return 24>a?d&65535:d&255|(this.f[b+1]&255)<<8},ka:function(a,b){var d=a>>2,c=(a&3)<<3;this.f[d]=this.f[d]&~(255<<c)|b<<c;this.va=!0},ua:function(a,
b){var d=a>>2,c=(a&3)<<3;24>c?this.f[d]=this.f[d]&~(65535<<c)|b<<c:(this.f[d]=this.f[d]&16777215|b<<24,d++,this.f[d]=this.f[d]&-256|b>>8);this.va=!0},S:function(a,b){if(this.I&&null!=this.D){var d=this.I;$b(d,this.D+a,1,d.R)&&d.ca(!0)}return this.Ta(a,b)},W:function(a,b){if(this.I&&null!=this.D){var d=this.I;$b(d,this.D+a,2,d.R)&&d.ca(!0)}return this.ub(a,b)},ga:function(a,b,d){if(this.I&&null!=this.D){var c=this.I;$b(c,this.D+a,1,c.J)&&c.ca(!0)}this.J?this.B(a,b,d):this.La(a,b,d)},na:function(a,
b,d){if(this.I&&null!=this.D){var c=this.I;$b(c,this.D+a,2,c.J)&&c.ca(!0)}this.J?this.B(a,b,d):this.wb(a,b,d)},R:function(a){return this.H[a]},T:function(a){return this.H[a]},V:function(a){return this.G.getUint16(a,!0)},Y:function(a){return a&1?this.H[a]|this.H[a+1]<<8:this.N[a>>1]},fa:function(a,b){this.H[a]=b;this.va=!0},ja:function(a,b){this.H[a]=b;this.va=!0},la:function(a,b){this.G.setUint16(a,b,!0);this.va=!0},Ma:function(a,b){a&1?(this.H[a]=b,this.H[a+1]=b>>8):this.N[a>>1]=b;this.va=!0}};
function xb(a,b,d){a.I=b;a.L=a.w=0;d&&((a.L=d.L)&&Zb(a,Yb,!1),(a.w=d.w)&&Xb(a,Yb,!1))}function ac(a,b){b?0===--a.w&&(a.M=a.J?a.B:a.La):0===--a.L&&(a.K=a.Ta)}function Xb(a,b,d){d&&a.w||(a.M=!a.J&&b[2]||a.B);if(d||void 0===d)a.La=b[2]||a.B,a.wb=b[3]||a.pa}function Zb(a,b,d){d&&a.L||(a.K=b[0]||a.O);if(d||void 0===d)a.Ta=b[0]||a.O,a.ub=b[1]||a.X}function Tb(a,b){b||(b=bc);Zb(a,b,void 0);Xb(a,b,void 0)}
var bc=[],Wb=[H.prototype.U,H.prototype.da,H.prototype.ka,H.prototype.ua],Yb=[H.prototype.S,H.prototype.W,H.prototype.ga,H.prototype.na];if(tb)var Vb=[H.prototype.R,H.prototype.V,H.prototype.fa,H.prototype.la],Ub=[H.prototype.T,H.prototype.Y,H.prototype.ja,H.prototype.Ma];
function cc(a,b){w.call(this,"CPU",a,cc,1);var d=a.multiplier||1;this.Fa=a.cycles||b;this.Aa=d;this.ua=Math.round(this.Fa/1E4)/100;this.za=this.ua*this.Aa;this.A.aa=!1;this.A.cb=!1;this.A.Na=a.autoStart;this.A.ib=!1;this.A.Ha=!1;this.Qa=this.X=0;this.Ra=a.csStart;this.Ia=a.csInterval;this.Ja=a.csStop;this.ja=[];this.Db=this.Ca.bind(this);F(this)}A(cc);var dc=["power","reset"];m=cc.prototype;
m.ya=function(a,b,d,c){this.w=a;this.H=b;this.I=c;for(b=0;b<dc.length;b++)(d=this.L[dc[b]])&&this.w.ha(null,dc[b],d);this.fa=null;a=ec(a,"autoStart");null!=a&&(this.A.Na="true"==a?!0:"false"==a?!1:!!a);F(this)};m.reset=function(){};m.save=function(){return null};m.restore=function(){return!1};
m.sa=function(a,b){if(!b){if(a&&this.restore){fc(this);if(!this.restore(a))return!1;gc(this)}else this.reset();if(this.I){var d=this.I;d.g("Type ? for help with PDP11 Debugger commands");d.ia();if(d.pa){var c=d.pa;d.pa=null;hc(d,c)}}else this.g("No debugger detected")}I(this);return!0};m.ra=function(a){return a?this.save():!0};m.Na=function(){return this.A.Na||!this.I&&void 0===this.L.run?(this.Ca(!0),!0):!1};m.mb=function(){return 0};
function gc(a){void 0===a.Ra&&(a.Ra=0);void 0===a.Ia&&(a.Ia=-1);void 0===a.Ja&&(a.Ja=-1);a.A.Ha=0<=a.Ra&&0<a.Ia;a.A.Ha&&(a.Qa=0,a.X=a.Ra-a.U)}function ic(a,b){if(a.A.Ha){var d=!1;a.Qa=a.Qa+a.mb()|0;a.X-=b;0>=a.X&&(a.X+=a.Ia,d=!0);0<=a.Ja&&a.Ja<=jc(a)&&(a.Ia=a.Ja=-1,gc(a),a.ca(),d=!0);d&&a.g(jc(a)+" cycles: checksum="+q(a.Qa))}}
function kc(a,b,d,c){a.L[b]&&(void 0===d&&(sb(a,"Value for "+b+" is invalid"),a.ca()),d=!a.A.aa||a.A.ib?q(d,c):"--------".substr(0,c),a.L[b].textContent!=d&&(a.L[b].textContent=d))}
m.ha=function(a,b,d){var c=this;a=!1;switch(b){case "power":case "reset":this.L[b]=d;a=!0;break;case "run":this.L[b]=d;d.onclick=function(){var a;if(a=c.w)if(a=c.w,a.A.Z)a=!0;else{var b=null,d,g=bb(a.id);for(d=0;d<g.length&&(b=g[d],b===a||b.A.ready);d++);if(d==g.length)for(d=0;d<g.length&&(b=g[d],b===a||b.A.Z);d++);d==g.length&&(b=a);u("The "+b.type+" component ("+b.id+") is not "+(b.A.ready?"powered yet":"ready yet"+(b.Xa?" (waiting for notification)":""))+".");a=!1}a&&(c.A.aa?c.ca():c.Ca())};a=
var bc=[],Wb=[G.prototype.U,G.prototype.da,G.prototype.ka,G.prototype.ua],Yb=[G.prototype.S,G.prototype.W,G.prototype.ga,G.prototype.na];if(tb)var Vb=[G.prototype.R,G.prototype.V,G.prototype.fa,G.prototype.la],Ub=[G.prototype.T,G.prototype.Y,G.prototype.ja,G.prototype.Ma];
function cc(a,b){u.call(this,"CPU",a,cc,1);var d=a.multiplier||1;this.Fa=a.cycles||b;this.Aa=d;this.ua=Math.round(this.Fa/1E4)/100;this.za=this.ua*this.Aa;this.A.aa=!1;this.A.cb=!1;this.A.Na=a.autoStart;this.A.ib=!1;this.A.Ha=!1;this.Qa=this.X=0;this.Ra=a.csStart;this.Ia=a.csInterval;this.Ja=a.csStop;this.ja=[];this.Db=this.Ca.bind(this);E(this)}y(cc);var dc=["power","reset"];m=cc.prototype;
m.ya=function(a,b,d,c){this.w=a;this.H=b;this.I=c;for(b=0;b<dc.length;b++)(d=this.L[dc[b]])&&this.w.ha(null,dc[b],d);this.fa=null;a=ec(a,"autoStart");null!=a&&(this.A.Na="true"==a?!0:"false"==a?!1:!!a);E(this)};m.reset=function(){};m.save=function(){return null};m.restore=function(){return!1};
m.sa=function(a,b){if(!b){if(a&&this.restore){fc(this);if(!this.restore(a))return!1;gc(this)}else this.reset();if(this.I){var d=this.I;d.g("Type ? for help with PDP11 Debugger commands");d.ia();if(d.pa){var c=d.pa;d.pa=null;hc(d,c)}}else this.g("No debugger detected")}H(this);return!0};m.ra=function(a){return a?this.save():!0};m.Na=function(){return this.A.Na||!this.I&&void 0===this.L.run?(this.Ca(!0),!0):!1};m.mb=function(){return 0};
function gc(a){void 0===a.Ra&&(a.Ra=0);void 0===a.Ia&&(a.Ia=-1);void 0===a.Ja&&(a.Ja=-1);a.A.Ha=0<=a.Ra&&0<a.Ia;a.A.Ha&&(a.Qa=0,a.X=a.Ra-a.U)}function ic(a,b){if(a.A.Ha){var d=!1;a.Qa=a.Qa+a.mb()|0;a.X-=b;0>=a.X&&(a.X+=a.Ia,d=!0);0<=a.Ja&&a.Ja<=jc(a)&&(a.Ia=a.Ja=-1,gc(a),a.ca(),d=!0);d&&a.g(jc(a)+" cycles: checksum="+r(a.Qa))}}
function kc(a,b,d,c){a.L[b]&&(void 0===d&&(sb(a,"Value for "+b+" is invalid"),a.ca()),d=!a.A.aa||a.A.ib?r(d,c):"--------".substr(0,c),a.L[b].textContent!=d&&(a.L[b].textContent=d))}
m.ha=function(a,b,d){var c=this;a=!1;switch(b){case "power":case "reset":this.L[b]=d;a=!0;break;case "run":this.L[b]=d;d.onclick=function(){var a;if(a=c.w)if(a=c.w,a.A.Z)a=!0;else{var b=null,d,g=bb(a.id);for(d=0;d<g.length&&(b=g[d],b===a||b.A.ready);d++);if(d==g.length)for(d=0;d<g.length&&(b=g[d],b===a||b.A.Z);d++);d==g.length&&(b=a);t("The "+b.type+" component ("+b.id+") is not "+(b.A.ready?"powered yet":"ready yet"+(b.Xa?" (waiting for notification)":""))+".");a=!1}a&&(c.A.aa?c.ca():c.Ca())};a=
!0;break;case "speed":this.L[b]=d;a=!0;break;case "setSpeed":this.L[b]=d,d.onclick=function(){lc(c,c.Aa<<1,!0)},d.textContent=this.za.toFixed(2)+"Mhz",a=!0}return a};function mc(a,b,d){a.U+=b;d&&(a.T=a.O=0)}function nc(a,b){var d=1;b&&1<a.Aa&&a.R&&(d=a.R/a.ua);a.qb=Math.round(1E3/30);a.na=Math.floor(a.Fa/30*d);b||(a.Y=a.na);a.Oa=0}function jc(a){return a.U+a.N+a.T-a.O}function fc(a){a.R=0;a.rb=0;a.U=a.N=a.T=a.O=0;gc(a);lc(a,1)}
function lc(a,b,d){var c=!1;if(void 0!==b){.8>a.R/a.za?b=1:c=!0;a.Aa=b;b=a.ua*a.Aa;if(a.za!=b){a.za=b;b=a.za.toFixed(2)+"Mhz";var e=a.L.setSpeed;e&&(e.textContent=b);a.g("target speed: "+b)}d&&a.w&&a.w.Ua()}mc(a,a.N);a.N=0;a.M=va();a.S=0;nc(a);return c}function Ac(a){a.T-=a.O;a.O=0}
m.Ca=function(a){if(pb(this,!0)){if(!this.A.aa){lc(this);this.w&&this.w.start(this.M,jc(this));this.A.aa=!0;this.A.cb=!0;this.fa&&this.fa.start();var b=this.L.run;b&&(b.textContent="Halt");this.w&&(this.w.ia(!0),a&&this.w.Ua(!0))}this.Oa>=this.Fa&&nc(this,!0);this.ga=0;this.la=va();this.S&&(a=this.la-this.S,a>this.qb&&(this.M+=a,this.M>this.la&&(this.M=this.la)));try{do{for(var d=this.A.Ha?1:this.na,c=this.ja.length-1;0<=c;c--){var e=this.ja[c];0>e[0]||d>e[0]&&(d=e[0])}this.Ka(d);var f=this.T-this.O;
a=f;for(var h=this.ja.length-1;0<=h;h--){var g=this.ja[h];0>g[0]||(g[0]-=a,0>=g[0]&&(g[0]=-1,g[1]()))}this.ga+=f;this.N+=f;mc(this,0,!0);ic(this,f);this.Y-=f;if(0>=this.Y){this.Y+=this.na;15<=++this.rb&&(this.w&&this.w.ia(),this.rb=0);break}}while(this.A.aa)}catch(k){this.ca();I(this);this.w&&this.w.stop(va(),jc(this));pb(this,!1);sb(this,k.stack||k.message);return}d=setTimeout;c=this.Db;this.S=va();e=this.qb;this.ga&&(e=Math.round(e*this.ga/this.na));e=e-(this.S-this.la);if(f=this.S-this.M)this.R=
Math.round(this.N/(10*f))/100,864E5<=f&&(this.U=0,lc(this));if(0>e||this.R<this.za)-1E3>e&&(this.M-=e),e=0;this.Oa+=this.ga;this.S+=e;d(c,e)}else I(this),this.w&&this.w.stop(va(),jc(this))};m.Ka=function(){return 0};m.ca=function(a){qb(this,!0);Ac(this);mc(this,this.N);this.N=0;if(this.A.aa){this.A.aa=!1;this.fa&&this.fa.stop();var b=this.L.run;b&&(b.textContent="Run")}this.A.complete=a};function I(a,b){a.w&&a.w.ia(b)}
a=f;for(var h=this.ja.length-1;0<=h;h--){var g=this.ja[h];0>g[0]||(g[0]-=a,0>=g[0]&&(g[0]=-1,g[1]()))}this.ga+=f;this.N+=f;mc(this,0,!0);ic(this,f);this.Y-=f;if(0>=this.Y){this.Y+=this.na;15<=++this.rb&&(this.w&&this.w.ia(),this.rb=0);break}}while(this.A.aa)}catch(k){this.ca();H(this);this.w&&this.w.stop(va(),jc(this));pb(this,!1);sb(this,k.stack||k.message);return}d=setTimeout;c=this.Db;this.S=va();e=this.qb;this.ga&&(e=Math.round(e*this.ga/this.na));e=e-(this.S-this.la);if(f=this.S-this.M)this.R=
Math.round(this.N/(10*f))/100,864E5<=f&&(this.U=0,lc(this));if(0>e||this.R<this.za)-1E3>e&&(this.M-=e),e=0;this.Oa+=this.ga;this.S+=e;d(c,e)}else H(this),this.w&&this.w.stop(va(),jc(this))};m.Ka=function(){return 0};m.ca=function(a){qb(this,!0);Ac(this);mc(this,this.N);this.N=0;if(this.A.aa){this.A.aa=!1;this.fa&&this.fa.stop();var b=this.L.run;b&&(b.textContent="Run")}this.A.complete=a};function H(a,b){a.w&&a.w.ia(b)}
function Bc(a){this.tb=+a.model||1170;this.Fb=a.resetAddr||0;cc.call(this,a,1E6);this.Wa=0;this.C=65536;this.j=32768;this.u=65535;this.i=32768;this.f=15;this.b=[0,0,0,0,0,0,0,0];this.Ya=[0,0,0,0,0,0];this.Ba=[0,0,0,0];this.memory=[];this.G=[];this.Pa=this.sb=0;this.V=2;this.W=255;this.F=0;this.da=-1;this.pb=this.Da=this.ob=this.B=this.pa=this.K=this.J=0;this.ka=[7,7,7,7];this.Ea=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.Hb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.A.complete=this.A.Ab=!1}A(Bc,cc);m=Bc.prototype;m.reset=function(){this.A.aa&&this.ca();Cc(this);fc(this);this.A.error=!1;this.parent.reset.call(this)};
function Cc(a){a.b[7]=a.Fb;a.W=255;a.G=[];a.sb=0;a.J=a.K=a.pa=a.ob=0;a.ka[0]=a.ka[1]=a.ka[3]=7;a.Da=0}m.mb=function(){return 0};m.save=function(){var a=new J(this);K(a,0,[]);K(a,1,[this.nb,this.U,this.Aa]);for(var b=this.H,d=0,c=[],e=0;e<b.F;e++){var f=b.P[e];if(f.va||f.Bb){c[d++]=e;var h=d++;a:if(f=f.save()){for(var g=0,k=0,l=[];g<f.length;){for(var n=f[g],p=g+1;p<f.length&&f[p]===n;)p++;l[k++]=p-g;l[k++]=n;g=p}if(l.length<f.length){f=l;break a}}c[h]=f}}K(a,2,c);return a.data()};
m.restore=function(a){var b=a[1];this.nb=b[0];this.U=b[1];lc(this,b[3]);a:{b=this.H;a=a[2];var d;for(d=0;d<a.length-1;d+=2){var c=a[d],e=a[d+1];if(e&&e.length<b.J){for(var f=0,h=Array(b.J),g=0;g<e.length-1;)for(var k=e[g++],l=e[g++];k--;)h[f++]=l;e=h}f=b.P[c];if(!f||!f.restore(e)){u("Unable to restore memory block "+c);b=!1;break a}}b=!0}return b};
0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.Hb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.A.complete=this.A.Ab=!1}y(Bc,cc);m=Bc.prototype;m.reset=function(){this.A.aa&&this.ca();Cc(this);fc(this);this.A.error=!1;this.parent.reset.call(this)};
function Cc(a){a.b[7]=a.Fb;a.W=255;a.G=[];a.sb=0;a.J=a.K=a.pa=a.ob=0;a.ka[0]=a.ka[1]=a.ka[3]=7;a.Da=0}m.mb=function(){return 0};m.save=function(){var a=new I(this);J(a,0,[]);J(a,1,[this.nb,this.U,this.Aa]);for(var b=this.H,d=0,c=[],e=0;e<b.F;e++){var f=b.P[e];if(f.va||f.Bb){c[d++]=e;var h=d++;a:if(f=f.save()){for(var g=0,k=0,l=[];g<f.length;){for(var n=f[g],p=g+1;p<f.length&&f[p]===n;)p++;l[k++]=p-g;l[k++]=n;g=p}if(l.length<f.length){f=l;break a}}c[h]=f}}J(a,2,c);return a.data()};
m.restore=function(a){var b=a[1];this.nb=b[0];this.U=b[1];lc(this,b[3]);a:{b=this.H;a=a[2];var d;for(d=0;d<a.length-1;d+=2){var c=a[d],e=a[d+1];if(e&&e.length<b.J){for(var f=0,h=Array(b.J),g=0;g<e.length-1;)for(var k=e[g++],l=e[g++];k--;)h[f++]=l;e=h}f=b.P[c];if(!f||!f.restore(e)){t("Unable to restore memory block "+c);b=!1;break a}}b=!0}return b};
m.ha=function(a,b,d){var c=!1;switch(b){case "PC":case "PSW":case "NF":case "ZF":case "VF":case "CF":this.L[b]=d;this.Wa++;c=!0;break;default:c=this.parent.ha.call(this,a,b,d)}return c};function Dc(a){return a.f&-16|a.i>>12&8|(a.u&65535?0:4)|(a.j&32768?2:0)|(a.C&65536?1:0)}
m.ia=function(a){this.Wa&&(a||!this.A.aa||this.A.ib)&&(a=Dc(this),kc(this,"PSW",a,4),kc(this,"NF",a&8?1:0,1),kc(this,"ZF",a&4?1:0,1),kc(this,"VF",a&2?1:0,1),kc(this,"CF",a&1?1:0,1));if(a=this.L.speed)a.textContent=this.A.aa&&this.R?this.R.toFixed(2)+"Mhz":"Stopped"};function Ec(a,b){a.i=b<<12;a.u=~b&4;a.j=b<<14;a.C=b<<16;if((b^a.f)&2048)for(var d=a.Ya.length;0<=--d;){var c=a.b[d];a.b[d]=a.Ya[d];a.Ya[d]=c}a.B=b>>14&3;d=a.f>>14&3;a.B!=d&&(a.Ba[d]=a.b[6],a.b[6]=a.Ba[a.B]);a.V=2;a.f=b}
function L(a,b){var d,c,e=0;0>a.da?a.da=a.f=a.f&63728|a.i>>12&8|(a.u&65535?0:4)|(a.j&32768?2:0)|(a.C&65536?1:0):a.B||(b=4,e=1);a.J&57344||(a.K=63222);a.B=0;0<=(d=N(a,b|65536))&&0<=(c=N(a,b+2&65535|65536))&&(Ec(a,c&53247|a.da>>2&12288),e&&(a.b[6]=4),0<=Fc(a,a.da)&&0<=Fc(a,a.b[7])&&(a.b[7]=d));a.F=0;return a.da=-1}
function Gc(a,b,d){var c,e,f,h=0;if(d&a.ob){c=b>>13&a.ka[a.B];e=a.Ea[a.B][c];f=(a.Ea[a.B][c+16]<<6)+(b&8191)&4194303;if(a.pa&16){if(3932160<=f&&4186112>f){f=f&262143;var g=f>>13&31;31>g?a.pa&32&&(f=a.Hb[g]+(f&8190)&4194302,3932160<=f&&4186112>f&&console.log("panic(898)")):f|=4186112}}else f&=262143,253952<=f&&(f|=4186112);if(3932160>f&&(3915776<=f||f&1&&!(d&1)))return L(a,4);switch(e&7){case 1:h=4096;case 2:e|=128;d&4&&(h=8192);break;case 4:h=4096;case 5:d&4&&(h=4096);case 6:e|=d&4?192:128;break;
default:h=32768}32512!==(e&32520)&&(e&8?e&32512&&(b&8128)<(e>>2&8128)&&(h|=16384):(b&8128)>(e>>2&8128)&&(h|=16384));a.Ea[a.B][c]=e;if(4194170!==f||a.B)a.Da=a.B,a.pb=c;if(h){if(h&57344)return 0<=a.da&&(h|=128),a.J&57344||(a.J=a.J|h|a.Da<<5|a.pb<<1),L(a,168);a.J&61440||!(4191360>f||4194239<f)||(a.J|=4096,a.J&512&&(a.F|=2))}}else if(f=b&65535,57344<=f)f|=4186112;else if(f&1&&!(d&1))return L(a,4);return f}function O(a,b){return 4194304<=b?a.b[b-4194304]:3932160<=b?-1:0<=b?a.memory[b>>1]:b}
function P(a,b,d){d&=65535;return 4194304<=b?a.b[b-4194304]=d:3932160<=b?-1:0<=b?a.memory[b>>1]=d:b}function S(a,b){var d;return 4194304<=b?a.b[b-4194304]&255:3932160<=b?-1:0<=b?(d=a.memory[b>>1],b&1&&(d=d>>8),d&255):b}function T(a,b,d){d&=255;return 4194304<=b?a.b[b-4194304]=a.b[b-4194304]&65280|d:3932160<=b?-1:0<=b?b&1?a.memory[b>>1]=d<<8|a.memory[b>>1]&255:a.memory[b>>1]=a.memory[b>>1]&65280|d:b}function N(a,b){return O(a,Gc(a,b,2))}
function Hc(a){var b=N(a,a.b[6]|65536);0<=b&&(a.b[6]=a.b[6]+2&65535);return b}function Fc(a,b){var d,c;a.b[6]=c=a.b[6]-2&65535;a.J&57344||(a.K=a.K<<8|246);if(!a.B&&c<=a.W&&4<c){if(c<=a.W-32)return a.b[6]=4,L(a,4);a.F|=4}return 0<=(d=Gc(a,c|65536,4))?P(a,d,b):d}
function Ic(a,b,d){var c,e,f=b&7;switch(b>>3&7){case 0:return L(a,4);case 1:if(6===f&&!a.B&&d&4&&(a.b[6]<=a.W||65534<=a.b[6])){if(a.b[6]<=a.W-32||65534<=a.b[6])return a.b[6]=4,L(a,4);a.F|=4}return 7===f?a.b[f]:a.b[f]|65536;case 2:e=2;c=a.b[f];7!==f&&(c|=65536,6>f&&d&1&&(e=1));break;case 3:e=2;c=a.b[f];7!==f&&(c|=65536);if(0>(c=N(a,c)))return c;c|=65536;break;case 4:e=-2;6>f&&d&1&&(e=-1);c=a.b[f]+e&65535;7!==f&&(c|=65536);break;case 5:e=-2;c=a.b[f]-2&65535;7!==f&&(c|=65536);if(0>(c=N(a,c)))return c;
c|=65536;break;case 6:if(0>(c=N(a,a.b[7])))return c;a.b[7]=a.b[7]+2&65535;c=c+a.b[f]&65535;return c|65536;case 7:if(0>(c=N(a,a.b[7])))return c;a.b[7]=a.b[7]+2&65535;c=c+a.b[f]&65535;return 0>(c=N(a,c|65536))?c:c|65536}a.b[f]=a.b[f]+e&65535;a.J&57344||(a.K=a.K<<8|e<<3&248|f);if(6===f&&!a.B&&d&4&&0>=e&&(a.b[6]<=a.W||65534<=a.b[6])){if(a.b[6]<=a.W-32)return a.b[6]=4,L(a,4);a.F|=4}return c}function U(a,b,d){var c;return b&56?(0<=(c=Ic(a,b,d))&&(c=Gc(a,c,d)),c):4194304+(b&7)}
function V(a,b){var d;b&56?0<=(d=U(a,b,2))&&(d=O(a,d)):d=a.b[b&7];return d}function Jc(a,b){var d;b&56?0<=(d=U(a,b,3))&&(d=S(a,d)):d=a.b[b&7]&255;return d}function W(a,b){return((b&128?b|65280:b&255)<<1)+a&65535}
function K(a,b){var d,c,e=0;0>a.da?a.da=a.f=a.f&63728|a.i>>12&8|(a.u&65535?0:4)|(a.j&32768?2:0)|(a.C&65536?1:0):a.B||(b=4,e=1);a.J&57344||(a.K=63222);a.B=0;0<=(d=L(a,b|65536))&&0<=(c=L(a,b+2&65535|65536))&&(Ec(a,c&53247|a.da>>2&12288),e&&(a.b[6]=4),0<=Fc(a,a.da)&&0<=Fc(a,a.b[7])&&(a.b[7]=d));a.F=0;return a.da=-1}
function Gc(a,b,d){var c,e,f,h=0;if(d&a.ob){c=b>>13&a.ka[a.B];e=a.Ea[a.B][c];f=(a.Ea[a.B][c+16]<<6)+(b&8191)&4194303;if(a.pa&16){if(3932160<=f&&4186112>f){f=f&262143;var g=f>>13&31;31>g?a.pa&32&&(f=a.Hb[g]+(f&8190)&4194302,3932160<=f&&4186112>f&&console.log("panic(898)")):f|=4186112}}else f&=262143,253952<=f&&(f|=4186112);if(3932160>f&&(3915776<=f||f&1&&!(d&1)))return K(a,4);switch(e&7){case 1:h=4096;case 2:e|=128;d&4&&(h=8192);break;case 4:h=4096;case 5:d&4&&(h=4096);case 6:e|=d&4?192:128;break;
default:h=32768}32512!==(e&32520)&&(e&8?e&32512&&(b&8128)<(e>>2&8128)&&(h|=16384):(b&8128)>(e>>2&8128)&&(h|=16384));a.Ea[a.B][c]=e;if(4194170!==f||a.B)a.Da=a.B,a.pb=c;if(h){if(h&57344)return 0<=a.da&&(h|=128),a.J&57344||(a.J=a.J|h|a.Da<<5|a.pb<<1),K(a,168);a.J&61440||!(4191360>f||4194239<f)||(a.J|=4096,a.J&512&&(a.F|=2))}}else if(f=b&65535,57344<=f)f|=4186112;else if(f&1&&!(d&1))return K(a,4);return f}function N(a,b){return 4194304<=b?a.b[b-4194304]:3932160<=b?-1:0<=b?a.memory[b>>1]:b}
function O(a,b,d){d&=65535;return 4194304<=b?a.b[b-4194304]=d:3932160<=b?-1:0<=b?a.memory[b>>1]=d:b}function P(a,b){var d;return 4194304<=b?a.b[b-4194304]&255:3932160<=b?-1:0<=b?(d=a.memory[b>>1],b&1&&(d=d>>8),d&255):b}function S(a,b,d){d&=255;return 4194304<=b?a.b[b-4194304]=a.b[b-4194304]&65280|d:3932160<=b?-1:0<=b?b&1?a.memory[b>>1]=d<<8|a.memory[b>>1]&255:a.memory[b>>1]=a.memory[b>>1]&65280|d:b}function L(a,b){return N(a,Gc(a,b,2))}
function Hc(a){var b=L(a,a.b[6]|65536);0<=b&&(a.b[6]=a.b[6]+2&65535);return b}function Fc(a,b){var d,c;a.b[6]=c=a.b[6]-2&65535;a.J&57344||(a.K=a.K<<8|246);if(!a.B&&c<=a.W&&4<c){if(c<=a.W-32)return a.b[6]=4,K(a,4);a.F|=4}return 0<=(d=Gc(a,c|65536,4))?O(a,d,b):d}
function Ic(a,b,d){var c,e,f=b&7;switch(b>>3&7){case 0:return K(a,4);case 1:if(6===f&&!a.B&&d&4&&(a.b[6]<=a.W||65534<=a.b[6])){if(a.b[6]<=a.W-32||65534<=a.b[6])return a.b[6]=4,K(a,4);a.F|=4}return 7===f?a.b[f]:a.b[f]|65536;case 2:e=2;c=a.b[f];7!==f&&(c|=65536,6>f&&d&1&&(e=1));break;case 3:e=2;c=a.b[f];7!==f&&(c|=65536);if(0>(c=L(a,c)))return c;c|=65536;break;case 4:e=-2;6>f&&d&1&&(e=-1);c=a.b[f]+e&65535;7!==f&&(c|=65536);break;case 5:e=-2;c=a.b[f]-2&65535;7!==f&&(c|=65536);if(0>(c=L(a,c)))return c;
c|=65536;break;case 6:if(0>(c=L(a,a.b[7])))return c;a.b[7]=a.b[7]+2&65535;c=c+a.b[f]&65535;return c|65536;case 7:if(0>(c=L(a,a.b[7])))return c;a.b[7]=a.b[7]+2&65535;c=c+a.b[f]&65535;return 0>(c=L(a,c|65536))?c:c|65536}a.b[f]=a.b[f]+e&65535;a.J&57344||(a.K=a.K<<8|e<<3&248|f);if(6===f&&!a.B&&d&4&&0>=e&&(a.b[6]<=a.W||65534<=a.b[6])){if(a.b[6]<=a.W-32)return a.b[6]=4,K(a,4);a.F|=4}return c}function T(a,b,d){var c;return b&56?(0<=(c=Ic(a,b,d))&&(c=Gc(a,c,d)),c):4194304+(b&7)}
function U(a,b){var d;b&56?0<=(d=T(a,b,2))&&(d=N(a,d)):d=a.b[b&7];return d}function Jc(a,b){var d;b&56?0<=(d=T(a,b,3))&&(d=P(a,d)):d=a.b[b&7]&255;return d}function V(a,b){return((b&128?b|65280:b&255)<<1)+a&65535}
m.Ka=function(a){this.A.complete=!0;var b=this.A.Ab=this.I&&Kc(this.I),d=a?this.A.cb?0:1:-1;this.A.cb=!1;this.T=this.O=a;this.nb&256?(Ac(this),a=!1):a=!0;if(a){do{if(b){if(Lc(this.I,this.b[7],d)){this.ca();break}d=1}var c,e,f,h,g;if(this.V)if(1===this.V)this.V=2;else{this.V=0;g=-1;c=this.sb&224;if(0<(a=this.G.length))for(;0<a--;){if(0<this.G[a].bb){this.G[a].bb--;this.V=2;break}if(this.G[a].gb){if(!this.G[a].gb()){this.G.splice(a,1);g--;continue}this.G[a].gb=null}this.G[a].Gb>c&&(c=this.G[a].Gb,g=
a)}c>(this.f&224)&&(0>g?L(this,160):(L(this,this.G[g].Jb),this.G.splice(g,1)))}this.J&57344||(this.K=0);this.F=this.f&16;if(0<=(a=N(this,this.b[7])))switch(this.b[7]=this.b[7]+2&65535,a&61440){case 4096:0<=(c=V(this,a>>6))&&(a&56?0<=(f=U(this,a,4))&&0<=P(this,f,c)&&(this.i=this.u=c,this.j=0):(this.i=this.u=this.b[a&7]=c,this.j=0));break;case 8192:0<=(c=V(this,a>>6))&&0<=(e=V(this,a))&&(this.i=this.u=this.C=a=c-e,this.j=(c^e)&(c^a));break;case 12288:0<=(c=V(this,a>>6))&&0<=(e=V(this,a))&&(this.i=this.u=
c&e,this.j=0);break;case 16384:0<=(c=V(this,a>>6))&&(a&56?0<=(e=O(this,f=U(this,a,6)))&&(a=e&~c,0<=P(this,f,a)&&(this.i=this.u=a,this.j=0)):(this.i=this.u=a=this.b[a&7]&=~c,this.j=0));break;case 20480:0<=(c=V(this,a>>6))&&(a&56?0<=(e=O(this,f=U(this,a,6)))&&(a=e|c,0<=P(this,f,a)&&(this.i=this.u=a,this.j=0)):(this.i=this.u=a=this.b[a&7]|=c,this.j=0));break;case 24576:0<=(c=V(this,a>>6))&&(a&56?0<=(e=O(this,f=U(this,a,6)))&&(a=c+e,0<=P(this,f,a)&&(this.i=this.u=this.C=a,this.j=(c^a)&(e^a))):(g=a&7,
e=this.b[g],this.b[g]=(a=c+e)&65535,this.i=this.u=this.C=a,this.j=(c^a)&(e^a)));break;case 36864:0<=(c=Jc(this,a>>6))&&(a&56?0<=(f=U(this,a,5))&&0<=T(this,f,c)&&(this.i=this.u=c<<8,this.j=0):(c&128&&(c|=65280),this.i=this.u=this.b[a&7]=c,this.j=0));break;case 40960:0<=(c=Jc(this,a>>6))&&0<=(e=Jc(this,a))&&(a=c-e,this.i=this.u=this.C=a<<8,this.j=((c^e)&(c^a))<<8);break;case 45056:0<=(c=Jc(this,a>>6))&&0<=(e=Jc(this,a))&&(this.i=this.u=(c&e)<<8,this.j=0);break;case 49152:0<=(c=Jc(this,a>>6))&&0<=(e=
S(this,f=U(this,a,7)))&&(a=e&~c,0<=T(this,f,a)&&(this.i=this.u=a<<8,this.j=0));break;case 53248:0<=(c=Jc(this,a>>6))&&0<=(e=S(this,f=U(this,a,7)))&&(a=e|c,0<=T(this,f,a)&&(this.i=this.u=a<<8,this.j=0));break;case 57344:0<=(c=V(this,a>>6))&&(a&56?0<=(e=O(this,f=U(this,a,6)))&&(a=e-c,0<=P(this,f,a)&&(this.i=this.u=this.C=a,this.j=(c^e)&(e^a))):(g=a&7,e=this.b[g],this.b[g]=(a=e-c)&65535,this.i=this.u=this.C=a,this.j=(c^e)&(e^a)));break;default:switch(a&65024){case 2048:0<=(h=Ic(this,a,0))&&(g=a>>6&7,
0<=Fc(this,this.b[g])&&(this.b[g]=this.b[7],this.b[7]=h&65535));break;case 28672:0<=(c=V(this,a))&&(g=a>>6&7,c&32768&&(c|=-65536),e=this.b[g],e&32768&&(e|=-65536),a=~~(c*e),this.b[g]=a>>16&65535,this.b[g|1]=a&65535,this.i=a>>16,this.u=this.i|a,this.C=this.j=0,-32768>a||32767<a)&&(this.C=65536);break;case 29184:0<=(c=V(this,a))&&(c?(g=a>>6&7,e=this.b[g]<<16|this.b[g|1],this.C=this.j=0,c&32768&&(c|=-65536),a=~~(e/c),-32768<=a&&32767>=a?(this.b[g]=a&65535,this.b[g|1]=e-a*c&65535,this.u=a>>16|a,this.i=
a>>16):(this.j=32768,this.u=a>>15|a,this.i=e>>16,-1===c&&65534===this.b[g]&&(this.b[g]=this.b[g|1]=1))):(this.u=this.i=0,this.j=32768,this.C=65536));break;case 29696:0<=(c=V(this,a))&&(g=a>>6&7,a=this.b[g],a&32768&&(a|=4294901760),this.C=this.j=0,c&=63,c&32?(c=64-c,16<c&&(c=16),this.C=a<<17-c,a=a>>c):c&&(16<c?(this.j=a,a=0):(this.C=a=a<<c,(e=a>>15&65535)&&65535!==e&&(this.j=32768))),this.b[g]=a&65535,this.i=this.u=a);break;case 30208:if(0<=(c=V(this,a))){g=a>>6&7;e=this.b[g]<<16|this.b[g|1];this.C=
this.j=0;c&=63;if(c&32)c=64-c,32<c&&(c=32),a=e>>c-1,this.C=a<<16,a>>=1,e&2147483648&&(a|=4294967295<<32-c);else if(c){if(a=e<<c-1,this.C=a>>15,a<<=1,32<c&&(c=32),e>>=32-c)e|=4294967295<<c&4294967295,4294967295!==e&&(this.j=32768)}else a=e;this.b[g]=a>>16&65535;this.b[g|1]=a&65535;this.i=a>>16;this.u=a>>16|a}break;case 30720:a&56?0<=(e=O(this,f=U(this,a,6)))&&(e^=this.b[a>>6&7],0<=P(this,f,e)&&(this.i=this.u=e,this.j=0)):(this.i=this.u=e=this.b[a&7]^=this.b[a>>6&7],this.j=0);break;case 32256:g=a>>
6&7;if(this.b[g]=this.b[g]-1&65535)this.b[7]=this.b[7]-((a&63)<<1)&65535;break;default:switch(a&65280){case 256:this.b[7]=W(this.b[7],a);break;case 512:this.u&65535&&(this.b[7]=W(this.b[7],a));break;case 768:this.u&65535||(this.b[7]=W(this.b[7],a));break;case 1024:(this.i&32768)===(this.j&32768)&&(this.b[7]=W(this.b[7],a));break;case 1280:(this.i&32768)!==(this.j&32768)&&(this.b[7]=W(this.b[7],a));break;case 1536:this.u&65535&&(this.i&32768)===(this.j&32768)&&(this.b[7]=W(this.b[7],a));break;case 1792:this.u&
65535&&(this.i&32768)===(this.j&32768)||(this.b[7]=W(this.b[7],a));break;case 32768:this.i&32768||(this.b[7]=W(this.b[7],a));break;case 33280:!(this.C&65536)&&this.u&65535&&(this.b[7]=W(this.b[7],a));break;case 33024:this.i&32768&&(this.b[7]=W(this.b[7],a));break;case 33536:if(this.C&65536||!(this.u&65535))this.b[7]=W(this.b[7],a);break;case 33792:this.j&32768||(this.b[7]=W(this.b[7],a));break;case 34048:this.j&32768&&(this.b[7]=W(this.b[7],a));break;case 34304:this.C&65536||(this.b[7]=W(this.b[7],
a));break;case 34560:this.C&65536&&(this.b[7]=W(this.b[7],a));break;case 34816:L(this,24);break;case 35072:L(this,28);break;default:switch(a&65472){case 64:0<=(h=Ic(this,a,0))&&(this.b[7]=h&65535);break;case 192:a&56?0<=(e=O(this,f=U(this,a,6)))&&(a=e<<8|e>>8,0<=P(this,f,a)&&(this.i=this.u=e&65280,this.j=this.C=0)):(g=a&7,e=this.b[g],this.b[g]=(e<<8|e>>8)&65535,this.i=this.u=e&65280,this.j=this.C=0);break;case 2560:a&56?0<=(f=U(this,a,4))&&0<=P(this,f,0)&&(this.i=this.C=this.j=this.u=0):this.i=this.C=
this.j=this.u=this.b[a&7]=0;break;case 2624:0<=(e=O(this,f=U(this,a,6)))&&(a=~e,0<=P(this,f,a)&&(this.i=this.u=a,this.C=65536,this.j=0));break;case 2688:a&56?0<=(e=O(this,f=U(this,a,6)))&&(a=e+1,0<=P(this,f,a)&&(this.i=this.u=a,this.j=a&(a^e))):(g=a&7,e=this.b[g],a=e+1,this.b[g]=a&65535,this.i=this.u=a,this.j=a&(a^e));break;case 2752:a&56?0<=(e=O(this,f=U(this,a,6)))&&(a=e-1,0<=P(this,f,a)&&(this.i=this.u=a,this.j=(a^e)&e)):(g=a&7,e=this.b[g],a=e-1,this.b[g]=a&65535,this.i=this.u=a,this.j=(a^e)&e);
break;case 2816:0<=(e=O(this,f=U(this,a,6)))&&(a=-e,0<=P(this,f,a)&&(this.C=this.i=this.u=a,this.j=a&e));break;case 2880:0<=(e=O(this,f=U(this,a,6)))&&(a=e+(this.C>>16&1),0<=P(this,f,a)&&(this.C=this.i=this.u=a,this.j=a&(a^e)));break;case 2944:0<=(e=O(this,f=U(this,a,6)))&&(a=e-(this.C>>16&1),0<=P(this,f,a)&&(this.C=this.i=this.u=a,this.j=(a^e)&e));break;case 3008:0<=(e=V(this,a))&&(this.i=this.u=e,this.C=this.j=0);break;case 3072:a&56?0<=(e=O(this,f=U(this,a,6)))&&(a=(this.C&65536|e)>>1,0<=P(this,
f,a)&&(this.C=e<<16,this.i=this.u=a,this.j=a^this.C>>1)):(g=a&7,e=this.b[g],a=(this.C&65536|e)>>1,this.b[g]=a&65535,this.C=e<<16,this.i=this.u=a,this.j=a^this.C>>1);break;case 3136:a&56?0<=(e=O(this,f=U(this,a,6)))&&(a=e<<1|this.C>>16&1,0<=P(this,f,a)&&(this.C=this.i=this.u=a,this.j=a^e)):(g=a&7,e=this.b[g],a=e<<1|this.C>>16&1,this.b[g]=a&65535,this.C=this.i=this.u=a,this.j=a^e);break;case 3200:a&56?0<=(e=O(this,f=U(this,a,6)))&&(a=e&32768|e>>1,0<=P(this,f,a)&&(this.C=e<<16,this.i=this.u=a,this.j=
this.i^this.C>>1)):(g=a&7,e=this.b[g],a=e&32768|e>>1,this.b[g]=a&65535,this.C=e<<16,this.i=this.u=a,this.j=this.i^this.C>>1);break;case 3264:a&56?0<=(e=O(this,f=U(this,a,6)))&&(a=e<<1,0<=P(this,f,a)&&(this.C=this.i=this.u=a,this.j=a^e)):(g=a&7,e=this.b[g],a=e<<1,this.b[g]=a&65535,this.C=this.i=this.u=a,this.j=a^e);break;case 3328:h=this.b[7]+((a&63)<<1)&65535;0<=(c=N(this,h|65536))&&(this.b[7]=this.b[5],this.b[5]=c,this.b[6]=h+2&65535);break;case 3392:a&56?0<=(h=Ic(this,a,0))&&(61440!==(this.f&61440)&&
(h&=65535),this.B=this.f>>12&3,0<=(c=N(this,h))&&(this.B=this.f>>14&3,0<=Fc(this,c)&&(this.i=this.u=c,this.j=0))):(g=a&7,c=6!==g||(this.f>>2&12288)===(this.f&12288)?this.b[g]:this.Ba[this.f>>12&3],0<=Fc(this,c)&&(this.i=this.u=c,this.j=0));break;case 3456:0<=(e=Hc(this))&&((this.J&57344||(this.K=22),a&56)?0<=(h=Ic(this,a,0))&&(h&=65535,this.B=this.f>>12&3,0<=(f=Gc(this,h,4))&&(this.B=this.f>>14&3,0<=P(this,f,e)&&(this.i=this.u=e,this.j=0))):(g=a&7,6!==g||(this.f>>2&12288)===(this.f&12288)?this.b[g]=
e:this.Ba[this.f>>12&3]=e,this.i=this.u=e,this.j=0));break;case 3520:0<=(f=U(this,a,4))&&(a=-(this.i>>15&1),0<=P(this,f,a)&&(this.u=a,this.j=0));break;case 35328:a&56?0<=(f=U(this,a,5))&&0<=T(this,f,0)&&(this.i=this.C=this.j=this.u=0):(this.b[a&7]&=65280,this.i=this.C=this.j=this.u=0);break;case 35392:0<=(e=S(this,f=U(this,a,7)))&&(a=~e,0<=T(this,f,a)&&(this.i=this.u=a<<8,this.C=65536,this.j=0));break;case 35456:0<=(e=S(this,f=U(this,a,7)))&&(a=e+1,0<=T(this,f,a)&&(this.i=this.u=a<<8,this.j=(a&(a^
e))<<8));break;case 35520:0<=(e=S(this,f=U(this,a,7)))&&(a=e-1,0<=T(this,f,a)&&(this.i=this.u=a<<8,this.j=((a^e)&e)<<8));break;case 35584:0<=(e=S(this,f=U(this,a,7)))&&(a=-e,0<=T(this,f,a)&&(this.C=this.i=this.u=a<<8,this.j=(a&e)<<8));break;case 35648:0<=(e=S(this,f=U(this,a,7)))&&(a=e+(this.C>>16&1),0<=T(this,f,a)&&(this.i=this.u=this.C=a<<8,this.j=(a&(a^e))<<8));break;case 35712:0<=(e=S(this,f=U(this,a,7)))&&(a=e-(this.C>>16&1),0<=T(this,f,a)&&(this.i=this.u=this.C=a<<8,this.j=((a^e)&e)<<8));break;
case 35776:0<=(e=Jc(this,a))&&(this.i=this.u=e<<8,this.C=this.j=0);break;case 35840:0<=(e=S(this,f=U(this,a,7)))&&(a=((this.C&65536)>>8|e)>>1,0<=T(this,f,a)&&(this.C=e<<16,this.i=this.u=a<<8,this.j=this.i^this.C>>1));break;case 35904:0<=(e=S(this,f=U(this,a,7)))&&(a=e<<1|this.C>>16&1,0<=T(this,f,a)&&(this.C=this.i=this.u=a<<8,this.j=(a^e)<<8));break;case 35968:0<=(e=S(this,f=U(this,a,7)))&&(a=e&128|e>>1,0<=T(this,f,a)&&(this.C=e<<16,this.i=this.u=a<<8,this.j=this.i^this.C>>1));break;case 36032:0<=
(e=S(this,f=U(this,a,7)))&&(a=e<<1,0<=T(this,f,a)&&(this.C=this.i=this.u=a<<8,this.j=(a^e)<<8));break;case 36160:a&56?0<=(h=Ic(this,a,0))&&(this.B=this.f>>12&3,0<=(c=N(this,h|65536))&&(this.B=this.f>>14&3,0<=Fc(this,c)&&(this.i=this.u=c,this.j=0))):(g=a&7,c=6!==g||(this.f>>2&12288)===(this.f&12288)?this.b[g]:this.Ba[this.f>>12&3],0<=Fc(this,c)&&(this.i=this.u=c,this.j=0));break;case 36224:0<=(e=Hc(this))&&((this.J&57344||(this.K=22),a&56)?0<=(h=Ic(this,a,0))&&(this.B=this.f>>12&3,0<=(f=Gc(this,h|
65536,4))&&(this.B=this.f>>14&3,0<=P(this,f,e)&&(this.i=this.u=e,this.j=0))):(g=a&7,6!==g||(this.f>>2&12288)===(this.f&12288)?this.b[g]=e:this.Ba[this.f>>12&3]=e,this.i=this.u=e,this.j=0));break;default:switch(a&65528){case 128:0<=(c=Hc(this))&&(g=a&7,this.b[7]=this.b[g],this.b[g]=c);break;case 152:this.f&49152||(this.f=this.f&63519|(a&7)<<5,this.V=1);break;case 160:case 168:a&1&&(this.C=0);a&2&&(this.j=0);a&4&&(this.u=1);a&8&&(this.i=0);break;case 176:case 184:a&1&&(this.C=65536);a&2&&(this.j=32768);
a&4&&(this.u=0);a&8&&(this.i=32768);break;default:switch(a){case 0:49152&this.f?L(this,4):(this.Pa=3,Ac(this),console.log("HALT at "+this.b[7].toString(8)));break;case 1:g=0;if(0<(a=this.G.length))for(;0<a--;)g+=this.G[a].bb,this.G[a].bb=0;0===g&&0===this.Pa&&(this.Pa=2,Ac(this));break;case 3:L(this,12);break;case 4:L(this,16);break;case 5:this.f&49152||Cc(this);break;case 2:case 6:f=this.b[6];0<=(h=N(this,f|65536))&&(f=f+2&65535,0<=(c=N(this,f|65536))&&(this.b[6]=f+2&65535,c&=63743,this.f&49152&&
(c=c&63519|this.f&63712),this.b[7]=h,Ec(this,c),this.F&=-17,2===a&&(this.F|=this.f&16)));break;default:L(this,8)}}}}}}this.F&&(this.F&2?L(this,168):this.F&4?L(this,4):this.F&16&&L(this,12),this.F=0)}while(0<this.O)}return this.A.complete?this.T-this.O:void 0===this.A.complete?0:-1};Qa(function(){for(var a=D(document,"pdp11","cpu"),b=0;b<a.length;b++){var d=a[b],c=B(d),c=new Bc(c);nb(c,d)}});
function Mc(a){w.call(this,"ROM",a,Mc);this.w=null;this.J=a.addr;this.B=a.size;this.K=a.writable;this.F=a.alias;this.G=a.file;this.M=ha(this.G);if(this.G){a=this.G;var b=ia(this.M);"json"!=b&&"hex"!=b&&(a=ma()+"/api/v1/dump?file="+this.G+"&format=bytes&decimal=true");var d=this;xa(a,null,!0,function(a,b,f){Nc(d,a,b,f)})}}A(Mc);Mc.prototype.ya=function(a,b,d,c){this.H=b;this.f=d;this.I=c;Oc(this)};
a)}c>(this.f&224)&&(0>g?K(this,160):(K(this,this.G[g].Jb),this.G.splice(g,1)))}this.J&57344||(this.K=0);this.F=this.f&16;if(0<=(a=L(this,this.b[7])))switch(this.b[7]=this.b[7]+2&65535,a&61440){case 4096:0<=(c=U(this,a>>6))&&(a&56?0<=(f=T(this,a,4))&&0<=O(this,f,c)&&(this.i=this.u=c,this.j=0):(this.i=this.u=this.b[a&7]=c,this.j=0));break;case 8192:0<=(c=U(this,a>>6))&&0<=(e=U(this,a))&&(this.i=this.u=this.C=a=c-e,this.j=(c^e)&(c^a));break;case 12288:0<=(c=U(this,a>>6))&&0<=(e=U(this,a))&&(this.i=this.u=
c&e,this.j=0);break;case 16384:0<=(c=U(this,a>>6))&&(a&56?0<=(e=N(this,f=T(this,a,6)))&&(a=e&~c,0<=O(this,f,a)&&(this.i=this.u=a,this.j=0)):(this.i=this.u=a=this.b[a&7]&=~c,this.j=0));break;case 20480:0<=(c=U(this,a>>6))&&(a&56?0<=(e=N(this,f=T(this,a,6)))&&(a=e|c,0<=O(this,f,a)&&(this.i=this.u=a,this.j=0)):(this.i=this.u=a=this.b[a&7]|=c,this.j=0));break;case 24576:0<=(c=U(this,a>>6))&&(a&56?0<=(e=N(this,f=T(this,a,6)))&&(a=c+e,0<=O(this,f,a)&&(this.i=this.u=this.C=a,this.j=(c^a)&(e^a))):(g=a&7,
e=this.b[g],this.b[g]=(a=c+e)&65535,this.i=this.u=this.C=a,this.j=(c^a)&(e^a)));break;case 36864:0<=(c=Jc(this,a>>6))&&(a&56?0<=(f=T(this,a,5))&&0<=S(this,f,c)&&(this.i=this.u=c<<8,this.j=0):(c&128&&(c|=65280),this.i=this.u=this.b[a&7]=c,this.j=0));break;case 40960:0<=(c=Jc(this,a>>6))&&0<=(e=Jc(this,a))&&(a=c-e,this.i=this.u=this.C=a<<8,this.j=((c^e)&(c^a))<<8);break;case 45056:0<=(c=Jc(this,a>>6))&&0<=(e=Jc(this,a))&&(this.i=this.u=(c&e)<<8,this.j=0);break;case 49152:0<=(c=Jc(this,a>>6))&&0<=(e=
P(this,f=T(this,a,7)))&&(a=e&~c,0<=S(this,f,a)&&(this.i=this.u=a<<8,this.j=0));break;case 53248:0<=(c=Jc(this,a>>6))&&0<=(e=P(this,f=T(this,a,7)))&&(a=e|c,0<=S(this,f,a)&&(this.i=this.u=a<<8,this.j=0));break;case 57344:0<=(c=U(this,a>>6))&&(a&56?0<=(e=N(this,f=T(this,a,6)))&&(a=e-c,0<=O(this,f,a)&&(this.i=this.u=this.C=a,this.j=(c^e)&(e^a))):(g=a&7,e=this.b[g],this.b[g]=(a=e-c)&65535,this.i=this.u=this.C=a,this.j=(c^e)&(e^a)));break;default:switch(a&65024){case 2048:0<=(h=Ic(this,a,0))&&(g=a>>6&7,
0<=Fc(this,this.b[g])&&(this.b[g]=this.b[7],this.b[7]=h&65535));break;case 28672:0<=(c=U(this,a))&&(g=a>>6&7,c&32768&&(c|=-65536),e=this.b[g],e&32768&&(e|=-65536),a=~~(c*e),this.b[g]=a>>16&65535,this.b[g|1]=a&65535,this.i=a>>16,this.u=this.i|a,this.C=this.j=0,-32768>a||32767<a)&&(this.C=65536);break;case 29184:0<=(c=U(this,a))&&(c?(g=a>>6&7,e=this.b[g]<<16|this.b[g|1],this.C=this.j=0,c&32768&&(c|=-65536),a=~~(e/c),-32768<=a&&32767>=a?(this.b[g]=a&65535,this.b[g|1]=e-a*c&65535,this.u=a>>16|a,this.i=
a>>16):(this.j=32768,this.u=a>>15|a,this.i=e>>16,-1===c&&65534===this.b[g]&&(this.b[g]=this.b[g|1]=1))):(this.u=this.i=0,this.j=32768,this.C=65536));break;case 29696:0<=(c=U(this,a))&&(g=a>>6&7,a=this.b[g],a&32768&&(a|=4294901760),this.C=this.j=0,c&=63,c&32?(c=64-c,16<c&&(c=16),this.C=a<<17-c,a=a>>c):c&&(16<c?(this.j=a,a=0):(this.C=a=a<<c,(e=a>>15&65535)&&65535!==e&&(this.j=32768))),this.b[g]=a&65535,this.i=this.u=a);break;case 30208:if(0<=(c=U(this,a))){g=a>>6&7;e=this.b[g]<<16|this.b[g|1];this.C=
this.j=0;c&=63;if(c&32)c=64-c,32<c&&(c=32),a=e>>c-1,this.C=a<<16,a>>=1,e&2147483648&&(a|=4294967295<<32-c);else if(c){if(a=e<<c-1,this.C=a>>15,a<<=1,32<c&&(c=32),e>>=32-c)e|=4294967295<<c&4294967295,4294967295!==e&&(this.j=32768)}else a=e;this.b[g]=a>>16&65535;this.b[g|1]=a&65535;this.i=a>>16;this.u=a>>16|a}break;case 30720:a&56?0<=(e=N(this,f=T(this,a,6)))&&(e^=this.b[a>>6&7],0<=O(this,f,e)&&(this.i=this.u=e,this.j=0)):(this.i=this.u=e=this.b[a&7]^=this.b[a>>6&7],this.j=0);break;case 32256:g=a>>
6&7;if(this.b[g]=this.b[g]-1&65535)this.b[7]=this.b[7]-((a&63)<<1)&65535;break;default:switch(a&65280){case 256:this.b[7]=V(this.b[7],a);break;case 512:this.u&65535&&(this.b[7]=V(this.b[7],a));break;case 768:this.u&65535||(this.b[7]=V(this.b[7],a));break;case 1024:(this.i&32768)===(this.j&32768)&&(this.b[7]=V(this.b[7],a));break;case 1280:(this.i&32768)!==(this.j&32768)&&(this.b[7]=V(this.b[7],a));break;case 1536:this.u&65535&&(this.i&32768)===(this.j&32768)&&(this.b[7]=V(this.b[7],a));break;case 1792:this.u&
65535&&(this.i&32768)===(this.j&32768)||(this.b[7]=V(this.b[7],a));break;case 32768:this.i&32768||(this.b[7]=V(this.b[7],a));break;case 33280:!(this.C&65536)&&this.u&65535&&(this.b[7]=V(this.b[7],a));break;case 33024:this.i&32768&&(this.b[7]=V(this.b[7],a));break;case 33536:if(this.C&65536||!(this.u&65535))this.b[7]=V(this.b[7],a);break;case 33792:this.j&32768||(this.b[7]=V(this.b[7],a));break;case 34048:this.j&32768&&(this.b[7]=V(this.b[7],a));break;case 34304:this.C&65536||(this.b[7]=V(this.b[7],
a));break;case 34560:this.C&65536&&(this.b[7]=V(this.b[7],a));break;case 34816:K(this,24);break;case 35072:K(this,28);break;default:switch(a&65472){case 64:0<=(h=Ic(this,a,0))&&(this.b[7]=h&65535);break;case 192:a&56?0<=(e=N(this,f=T(this,a,6)))&&(a=e<<8|e>>8,0<=O(this,f,a)&&(this.i=this.u=e&65280,this.j=this.C=0)):(g=a&7,e=this.b[g],this.b[g]=(e<<8|e>>8)&65535,this.i=this.u=e&65280,this.j=this.C=0);break;case 2560:a&56?0<=(f=T(this,a,4))&&0<=O(this,f,0)&&(this.i=this.C=this.j=this.u=0):this.i=this.C=
this.j=this.u=this.b[a&7]=0;break;case 2624:0<=(e=N(this,f=T(this,a,6)))&&(a=~e,0<=O(this,f,a)&&(this.i=this.u=a,this.C=65536,this.j=0));break;case 2688:a&56?0<=(e=N(this,f=T(this,a,6)))&&(a=e+1,0<=O(this,f,a)&&(this.i=this.u=a,this.j=a&(a^e))):(g=a&7,e=this.b[g],a=e+1,this.b[g]=a&65535,this.i=this.u=a,this.j=a&(a^e));break;case 2752:a&56?0<=(e=N(this,f=T(this,a,6)))&&(a=e-1,0<=O(this,f,a)&&(this.i=this.u=a,this.j=(a^e)&e)):(g=a&7,e=this.b[g],a=e-1,this.b[g]=a&65535,this.i=this.u=a,this.j=(a^e)&e);
break;case 2816:0<=(e=N(this,f=T(this,a,6)))&&(a=-e,0<=O(this,f,a)&&(this.C=this.i=this.u=a,this.j=a&e));break;case 2880:0<=(e=N(this,f=T(this,a,6)))&&(a=e+(this.C>>16&1),0<=O(this,f,a)&&(this.C=this.i=this.u=a,this.j=a&(a^e)));break;case 2944:0<=(e=N(this,f=T(this,a,6)))&&(a=e-(this.C>>16&1),0<=O(this,f,a)&&(this.C=this.i=this.u=a,this.j=(a^e)&e));break;case 3008:0<=(e=U(this,a))&&(this.i=this.u=e,this.C=this.j=0);break;case 3072:a&56?0<=(e=N(this,f=T(this,a,6)))&&(a=(this.C&65536|e)>>1,0<=O(this,
f,a)&&(this.C=e<<16,this.i=this.u=a,this.j=a^this.C>>1)):(g=a&7,e=this.b[g],a=(this.C&65536|e)>>1,this.b[g]=a&65535,this.C=e<<16,this.i=this.u=a,this.j=a^this.C>>1);break;case 3136:a&56?0<=(e=N(this,f=T(this,a,6)))&&(a=e<<1|this.C>>16&1,0<=O(this,f,a)&&(this.C=this.i=this.u=a,this.j=a^e)):(g=a&7,e=this.b[g],a=e<<1|this.C>>16&1,this.b[g]=a&65535,this.C=this.i=this.u=a,this.j=a^e);break;case 3200:a&56?0<=(e=N(this,f=T(this,a,6)))&&(a=e&32768|e>>1,0<=O(this,f,a)&&(this.C=e<<16,this.i=this.u=a,this.j=
this.i^this.C>>1)):(g=a&7,e=this.b[g],a=e&32768|e>>1,this.b[g]=a&65535,this.C=e<<16,this.i=this.u=a,this.j=this.i^this.C>>1);break;case 3264:a&56?0<=(e=N(this,f=T(this,a,6)))&&(a=e<<1,0<=O(this,f,a)&&(this.C=this.i=this.u=a,this.j=a^e)):(g=a&7,e=this.b[g],a=e<<1,this.b[g]=a&65535,this.C=this.i=this.u=a,this.j=a^e);break;case 3328:h=this.b[7]+((a&63)<<1)&65535;0<=(c=L(this,h|65536))&&(this.b[7]=this.b[5],this.b[5]=c,this.b[6]=h+2&65535);break;case 3392:a&56?0<=(h=Ic(this,a,0))&&(61440!==(this.f&61440)&&
(h&=65535),this.B=this.f>>12&3,0<=(c=L(this,h))&&(this.B=this.f>>14&3,0<=Fc(this,c)&&(this.i=this.u=c,this.j=0))):(g=a&7,c=6!==g||(this.f>>2&12288)===(this.f&12288)?this.b[g]:this.Ba[this.f>>12&3],0<=Fc(this,c)&&(this.i=this.u=c,this.j=0));break;case 3456:0<=(e=Hc(this))&&((this.J&57344||(this.K=22),a&56)?0<=(h=Ic(this,a,0))&&(h&=65535,this.B=this.f>>12&3,0<=(f=Gc(this,h,4))&&(this.B=this.f>>14&3,0<=O(this,f,e)&&(this.i=this.u=e,this.j=0))):(g=a&7,6!==g||(this.f>>2&12288)===(this.f&12288)?this.b[g]=
e:this.Ba[this.f>>12&3]=e,this.i=this.u=e,this.j=0));break;case 3520:0<=(f=T(this,a,4))&&(a=-(this.i>>15&1),0<=O(this,f,a)&&(this.u=a,this.j=0));break;case 35328:a&56?0<=(f=T(this,a,5))&&0<=S(this,f,0)&&(this.i=this.C=this.j=this.u=0):(this.b[a&7]&=65280,this.i=this.C=this.j=this.u=0);break;case 35392:0<=(e=P(this,f=T(this,a,7)))&&(a=~e,0<=S(this,f,a)&&(this.i=this.u=a<<8,this.C=65536,this.j=0));break;case 35456:0<=(e=P(this,f=T(this,a,7)))&&(a=e+1,0<=S(this,f,a)&&(this.i=this.u=a<<8,this.j=(a&(a^
e))<<8));break;case 35520:0<=(e=P(this,f=T(this,a,7)))&&(a=e-1,0<=S(this,f,a)&&(this.i=this.u=a<<8,this.j=((a^e)&e)<<8));break;case 35584:0<=(e=P(this,f=T(this,a,7)))&&(a=-e,0<=S(this,f,a)&&(this.C=this.i=this.u=a<<8,this.j=(a&e)<<8));break;case 35648:0<=(e=P(this,f=T(this,a,7)))&&(a=e+(this.C>>16&1),0<=S(this,f,a)&&(this.i=this.u=this.C=a<<8,this.j=(a&(a^e))<<8));break;case 35712:0<=(e=P(this,f=T(this,a,7)))&&(a=e-(this.C>>16&1),0<=S(this,f,a)&&(this.i=this.u=this.C=a<<8,this.j=((a^e)&e)<<8));break;
case 35776:0<=(e=Jc(this,a))&&(this.i=this.u=e<<8,this.C=this.j=0);break;case 35840:0<=(e=P(this,f=T(this,a,7)))&&(a=((this.C&65536)>>8|e)>>1,0<=S(this,f,a)&&(this.C=e<<16,this.i=this.u=a<<8,this.j=this.i^this.C>>1));break;case 35904:0<=(e=P(this,f=T(this,a,7)))&&(a=e<<1|this.C>>16&1,0<=S(this,f,a)&&(this.C=this.i=this.u=a<<8,this.j=(a^e)<<8));break;case 35968:0<=(e=P(this,f=T(this,a,7)))&&(a=e&128|e>>1,0<=S(this,f,a)&&(this.C=e<<16,this.i=this.u=a<<8,this.j=this.i^this.C>>1));break;case 36032:0<=
(e=P(this,f=T(this,a,7)))&&(a=e<<1,0<=S(this,f,a)&&(this.C=this.i=this.u=a<<8,this.j=(a^e)<<8));break;case 36160:a&56?0<=(h=Ic(this,a,0))&&(this.B=this.f>>12&3,0<=(c=L(this,h|65536))&&(this.B=this.f>>14&3,0<=Fc(this,c)&&(this.i=this.u=c,this.j=0))):(g=a&7,c=6!==g||(this.f>>2&12288)===(this.f&12288)?this.b[g]:this.Ba[this.f>>12&3],0<=Fc(this,c)&&(this.i=this.u=c,this.j=0));break;case 36224:0<=(e=Hc(this))&&((this.J&57344||(this.K=22),a&56)?0<=(h=Ic(this,a,0))&&(this.B=this.f>>12&3,0<=(f=Gc(this,h|
65536,4))&&(this.B=this.f>>14&3,0<=O(this,f,e)&&(this.i=this.u=e,this.j=0))):(g=a&7,6!==g||(this.f>>2&12288)===(this.f&12288)?this.b[g]=e:this.Ba[this.f>>12&3]=e,this.i=this.u=e,this.j=0));break;default:switch(a&65528){case 128:0<=(c=Hc(this))&&(g=a&7,this.b[7]=this.b[g],this.b[g]=c);break;case 152:this.f&49152||(this.f=this.f&63519|(a&7)<<5,this.V=1);break;case 160:case 168:a&1&&(this.C=0);a&2&&(this.j=0);a&4&&(this.u=1);a&8&&(this.i=0);break;case 176:case 184:a&1&&(this.C=65536);a&2&&(this.j=32768);
a&4&&(this.u=0);a&8&&(this.i=32768);break;default:switch(a){case 0:49152&this.f?K(this,4):(this.Pa=3,Ac(this),console.log("HALT at "+this.b[7].toString(8)));break;case 1:g=0;if(0<(a=this.G.length))for(;0<a--;)g+=this.G[a].bb,this.G[a].bb=0;0===g&&0===this.Pa&&(this.Pa=2,Ac(this));break;case 3:K(this,12);break;case 4:K(this,16);break;case 5:this.f&49152||Cc(this);break;case 2:case 6:f=this.b[6];0<=(h=L(this,f|65536))&&(f=f+2&65535,0<=(c=L(this,f|65536))&&(this.b[6]=f+2&65535,c&=63743,this.f&49152&&
(c=c&63519|this.f&63712),this.b[7]=h,Ec(this,c),this.F&=-17,2===a&&(this.F|=this.f&16)));break;default:K(this,8)}}}}}}this.F&&(this.F&2?K(this,168):this.F&4?K(this,4):this.F&16&&K(this,12),this.F=0)}while(0<this.O)}return this.A.complete?this.T-this.O:void 0===this.A.complete?0:-1};Qa(function(){for(var a=C(document,"pdp11","cpu"),b=0;b<a.length;b++){var d=a[b],c=B(d),c=new Bc(c);nb(c,d)}});
function Mc(a){u.call(this,"ROM",a,Mc);this.w=null;this.J=a.addr;this.B=a.size;this.K=a.writable;this.F=a.alias;this.G=a.file;this.M=ha(this.G);if(this.G){a=this.G;var b=ia(this.M);"json"!=b&&"hex"!=b&&(a=ma()+"/api/v1/dump?file="+this.G+"&format=bytes&decimal=true");var d=this;xa(a,null,!0,function(a,b,f){Nc(d,a,b,f)})}}y(Mc);Mc.prototype.ya=function(a,b,d,c){this.H=b;this.f=d;this.I=c;Oc(this)};
Mc.prototype.sa=function(){if(this.qa){if(this.I){var a=this.I,b=this.id,d=this.J,c=this.B,e=this.qa,f=[],h;for(h in e){var g=e[h];"number"==typeof g&&(e[h]=g={o:g});var k=g.o,l=g.a;if(void 0!==k){var n=f,k=[k>>>0,h],p=ua(n,k,a.hb);0>p&&n.splice(-(p+1),0,k)}l&&(g.a=l.replace(/''/g,'"'))}a.K.push({Ib:b,D:d,Cb:c,qa:e,fb:f})}delete this.qa}return!0};Mc.prototype.ra=function(){return!0};
function Nc(a,b,d,c){if(c)a.ea("Unable to load system ROM (error "+c+": "+b+")");else{ab(a.lb,b,d);var e;if("["==d.charAt(0)||"{"==d.charAt(0))try{var f,h,g=eval("("+d+")");if(f=g.bytes)a.w=f;else if(f=g.words)for(a.w=Array(2*f.length),h=e=0;e<f.length;e++)a.w[h++]=f[e]&255,a.w[h++]=f[e]>>8&255;else if(f=g.data)for(a.w=Array(4*f.length),h=e=0;e<f.length;e++)a.w[h++]=f[e]&255,a.w[h++]=f[e]>>8&255,a.w[h++]=f[e]>>16&255,a.w[h++]=f[e]>>24&255;else a.w=g;a.qa=g.symbols;if(!a.w.length){u("Empty ROM: "+
b);return}if(1==a.w.length){u(a.w[0]);return}}catch(k){a.ea("ROM data error: "+k.message);return}else for(b=d.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.w=Array(b.length),e=0;e<b.length;e++)a.w[e]=aa(b[e],16);Oc(a)}}
function Oc(a){if(!rb(a))if(!a.G)F(a);else if(a.w&&a.H){a.B||(a.B=a.w.length);if(a.w.length!=a.B)sb(a,"ROM size ("+q(a.w.length,8,!0)+") does not match specified size ("+q(a.B,8,!0)+")");else{var b;b=a.J;if(yb(a.H,b,a.B,a.K?1:Sb)){var d;for(d=0;d<a.w.length;d++){var c=a.H,e=b+d;c.P[(e&c.w)>>>c.ba].La(e&c.H,a.w[d]&255,e)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.F?b.push(a.F):null!=a.F&&a.F.length&&(b=a.F);for(d=0;d<b.length;d++){for(var f=a,c=b[d],e=f.H,h=f.B,g=[],k=f.J>>>e.ba;0<h&&k<e.P.length;)g.push(e.P[k++]),
h-=e.ma;e=f.H;f=f.B;h=0;for(c>>>=e.ba;0<f&&c<e.P.length;){k=g[h++];if(!k)break;e.P[c++]=k;f-=e.ma}}delete a.w}}F(a)}}Qa(function(){for(var a=D(document,"pdp11","rom"),b=0;b<a.length;b++){var d=a[b],c=B(d),c=new Mc(c);nb(c,d)}});function Pc(a){w.call(this,"RAM",a,Pc);this.F=a.addr;this.B=a.size;this.w=!1}A(Pc);m=Pc.prototype;m.ya=function(a,b,d,c){this.H=b;this.f=d;this.I=c;F(this)};m.sa=function(a,b){b||this.reset();return!0};m.ra=function(a){return a?this.save():!0};
m.reset=function(){!this.w&&this.B&&yb(this.H,this.F,this.B,1)&&(this.w=!0);this.w||u("No RAM allocated")};m.save=function(){return null};m.restore=function(){return!0};Qa(function(){for(var a=D(document,"pdp11","ram"),b=0;b<a.length;b++){var d=a[b],c=B(d),c=new Pc(c);nb(c,d)}});function Qc(a){w.call(this,"Keyboard",a,Qc,65536);F(this)}A(Qc);Qc.prototype.ha=function(){return!1};Qc.prototype.ya=function(a,b,d,c){this.w=a;this.f=d;this.I=c;this.fa=null};
Qa(function(){for(var a=D(document,"pdp11","keyboard"),b=0;b<a.length;b++){var d=a[b],c=B(d),c=new Qc(c);nb(c,d)}});function Rc(a){w.call(this,"Debugger",a,Rc);this.la=16;this.S=this.ka=this.M=0;this.U=!1;this.G=-1;this.F=[];this.W={}}A(Rc);var Sc={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
function Nc(a,b,d,c){if(c)a.ea("Unable to load system ROM (error "+c+": "+b+")");else{ab(a.lb,b,d);var e;if("["==d.charAt(0)||"{"==d.charAt(0))try{var f,h,g=eval("("+d+")");if(f=g.bytes)a.w=f;else if(f=g.words)for(a.w=Array(2*f.length),h=e=0;e<f.length;e++)a.w[h++]=f[e]&255,a.w[h++]=f[e]>>8&255;else if(f=g.data)for(a.w=Array(4*f.length),h=e=0;e<f.length;e++)a.w[h++]=f[e]&255,a.w[h++]=f[e]>>8&255,a.w[h++]=f[e]>>16&255,a.w[h++]=f[e]>>24&255;else a.w=g;a.qa=g.symbols;if(!a.w.length){t("Empty ROM: "+
b);return}if(1==a.w.length){t(a.w[0]);return}}catch(k){a.ea("ROM data error: "+k.message);return}else for(b=d.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.w=Array(b.length),e=0;e<b.length;e++)a.w[e]=aa(b[e],16);Oc(a)}}
function Oc(a){if(!rb(a))if(!a.G)E(a);else if(a.w&&a.H){a.B||(a.B=a.w.length);if(a.w.length!=a.B)sb(a,"ROM size ("+r(a.w.length,8,!0)+") does not match specified size ("+r(a.B,8,!0)+")");else{var b;b=a.J;if(yb(a.H,b,a.B,a.K?1:Sb)){var d;for(d=0;d<a.w.length;d++){var c=a.H,e=b+d;c.P[(e&c.w)>>>c.ba].La(e&c.H,a.w[d]&255,e)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.F?b.push(a.F):null!=a.F&&a.F.length&&(b=a.F);for(d=0;d<b.length;d++){for(var f=a,c=b[d],e=f.H,h=f.B,g=[],k=f.J>>>e.ba;0<h&&k<e.P.length;)g.push(e.P[k++]),
h-=e.ma;e=f.H;f=f.B;h=0;for(c>>>=e.ba;0<f&&c<e.P.length;){k=g[h++];if(!k)break;e.P[c++]=k;f-=e.ma}}delete a.w}}E(a)}}Qa(function(){for(var a=C(document,"pdp11","rom"),b=0;b<a.length;b++){var d=a[b],c=B(d),c=new Mc(c);nb(c,d)}});function Pc(a){u.call(this,"RAM",a,Pc);this.F=a.addr;this.B=a.size;this.w=!1}y(Pc);m=Pc.prototype;m.ya=function(a,b,d,c){this.H=b;this.f=d;this.I=c;E(this)};m.sa=function(a,b){b||this.reset();return!0};m.ra=function(a){return a?this.save():!0};
m.reset=function(){!this.w&&this.B&&yb(this.H,this.F,this.B,1)&&(this.w=!0);this.w||t("No RAM allocated")};m.save=function(){return null};m.restore=function(){return!0};Qa(function(){for(var a=C(document,"pdp11","ram"),b=0;b<a.length;b++){var d=a[b],c=B(d),c=new Pc(c);nb(c,d)}});function Qc(a){u.call(this,"Keyboard",a,Qc,65536);E(this)}y(Qc);Qc.prototype.ha=function(){return!1};Qc.prototype.ya=function(a,b,d,c){this.w=a;this.f=d;this.I=c;this.fa=null};
Qa(function(){for(var a=C(document,"pdp11","keyboard"),b=0;b<a.length;b++){var d=a[b],c=B(d),c=new Qc(c);nb(c,d)}});function Rc(a){u.call(this,"Debugger",a,Rc);this.la=a.base||16;this.S=this.ka=this.M=0;this.U=!1;this.G=-1;this.F=[];this.W={}}y(Rc);var Sc={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
function Tc(a,b,d,c){if(d)if(b){0>a.G&&a.F.length&&(a.G=0);if(0>a.G||b!=a.F[a.G])a.F.splice(0,0,b),a.G=0;a.G--}else a.U?b="end":b=a.F[a.G+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");d=0;var e=null;c=c||";";for(var f=0;f<=b.length;f++){var h=b.charAt(f);if('"'==h||"'"==h)e?h==e&&(e=null):e=h;else if(h==c&&!e||!h)a.push(qa(b.substring(d,f))),d=f+1}}return a}
function Uc(a,b,d){for(d=d||-1;d--&&b.length;){var c=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(c){case "*":c=f*e;break;case "/":if(!e)return!1;c=f/e;break;case "%":if(!e)return!1;c=f%e;break;case "+":c=f+e;break;case "-":c=f-e;break;case "<<":c=f<<e;break;case ">>":c=f>>e;break;case ">>>":c=f>>>e;break;case "<":c=f<e?1:0;break;case "<=":c=f<=e?1:0;break;case ">":c=f>e?1:0;break;case ">=":c=f>=e?1:0;break;case "==":c=f==e?1:0;break;case "!=":c=f!=e?1:0;break;case "&":c=f&e;break;
case "^":c=f^e;break;case "|":c=f|e;break;case "&&":c=f&&e?1:0;break;case "||":c=f||e?1:0;break;default:return!1}a.push(c|0)}return!0}
function Vc(a,b,d){var c;if(b){b=Wc(a,b);for(var e=0,f=!1,h=b,g=[],k=[],l=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<l.length;){var n=l[e++],p=n.length,n=qa(n);if(!n){f=!0;break}n=Xc(a,n,null,!1===d);if(void 0===n){f=!0;d=!1;break}g.push(n);if(e==l.length)break;var n=l[e++],v=n.length;k.length&&Sc[n]<Sc[k[k.length-1]]&&Uc(g,k,1);k.push(n);b=b.substr(p+v)}Uc(g,k)&&1==g.length||(f=!0);f?d&&a.g("error parsing '"+h+"' at character "+(h.length-b.length)):(c=g.pop(),d&&Yc(a,null,
c))}return c}function Wc(a,b){for(var d;(d=b.match(/\{(.*?)}/))&&!(0<=d[1].indexOf("{"));){var c=Vc(a,d[1]);b=b.replace("{"+d[1]+"}",null!=c?q(c):"undefined")}for(;(d=b.match(/\[(.*?)]/))&&!(0<=d[1].indexOf("["));)b=b.replace("["+d[1]+"]","unimplemented");for(d=b;c=d.match(/\$([a-z]+)/i);){var e=null;switch(c[1].toLowerCase()){case "ops":e=a.S-a.ka}if(null==e)break;d=d.replace(c[0],e.toString())}return d}
function Xc(a,b,d,c){var e;null!=b?(e=a.W[b],null==e&&(e=aa(b,a.la)),null!=e||c||a.g("invalid "+(d?d:"value")+": "+b)):c||a.g("missing "+(d||"value"));return e}function Yc(a,b,d){var c,e=!1;if(void 0!==d){e=!0;c=d;var f=0,h="";if(!f||4<f)f=4;for(var g=0;g<f;g++){h&&(h=","+h);var k=c&255,l=8,n="";l?32<l&&(l=32):l=32;if(null==k||isNaN(k))for(;0<l--;)n="?"+n;else for(;0<l--;)n=(k&1?"1":"0")+n,k>>=1;h=n+h;c>>=8}c=q(d,0,!0)+" "+d+". "+ga(d,0,!0)+" "+("0b"+h)}a.g((null!=b?b+": ":"")+c);return e}
function Zc(a,b){if(b)return Yc(a,b,a.W[b]);var d=0;for(b in a.W)Yc(a,b,a.W[b]),d++;return 0<d}function X(a,b){switch(a.la){case 8:return ga(b,void 0);case 10:return b.toString();default:return q(b,void 0)}}
function $c(a){Rc.call(this,a);this.O=Y();this.ua=Y();this.T=Y();this.K=[];this.B=this.R=this.J=[];ad(this);this.fa=0;bd(this);this.na=[];cd(this,a.messages);this.pa=a.commands;var b=this;window?void 0===window.pdp11&&(window.pdp11=function(a){return hc(b,a)}):void 0===global.pdp11&&(global.pdp11=function(a){return hc(b,a)})}A($c,Rc);
function Vc(a,b,d){var c;if(b){b=Wc(a,b);for(var e=0,f=!1,h=b,g=[],k=[],l=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<l.length;){var n=l[e++],p=n.length,n=qa(n);if(!n){f=!0;break}n=Xc(a,n,null,!1===d);if(void 0===n){f=!0;d=!1;break}g.push(n);if(e==l.length)break;var n=l[e++],q=n.length;k.length&&Sc[n]<Sc[k[k.length-1]]&&Uc(g,k,1);k.push(n);b=b.substr(p+q)}Uc(g,k)&&1==g.length||(f=!0);f?d&&a.g("error parsing '"+h+"' at character "+(h.length-b.length)):(c=g.pop(),d&&Yc(a,null,
c))}return c}function Wc(a,b){for(var d;(d=b.match(/\{(.*?)}/))&&!(0<=d[1].indexOf("{"));){var c=Vc(a,d[1]);b=b.replace("{"+d[1]+"}",null!=c?r(c):"undefined")}for(;(d=b.match(/\[(.*?)]/))&&!(0<=d[1].indexOf("["));)b=b.replace("["+d[1]+"]","unimplemented");for(d=b;c=d.match(/\$([a-z]+)/i);){var e=null;switch(c[1].toLowerCase()){case "ops":e=a.S-a.ka}if(null==e)break;d=d.replace(c[0],e.toString())}return d}
function Xc(a,b,d,c){var e;null!=b?(e=a.W[b],null==e&&(e=aa(b,a.la)),null!=e||c||a.g("invalid "+(d?d:"value")+": "+b)):c||a.g("missing "+(d||"value"));return e}function Yc(a,b,d){var c,e=!1;if(void 0!==d){e=!0;c=d;var f=0,h="";if(!f||4<f)f=4;for(var g=0;g<f;g++){h&&(h=","+h);var k=c&255,l=8,n="";l?32<l&&(l=32):l=32;if(null==k||isNaN(k))for(;0<l--;)n="?"+n;else for(;0<l--;)n=(k&1?"1":"0")+n,k>>=1;h=n+h;c>>=8}c=r(d,0,!0)+" "+d+". "+ga(d,0,!0)+" "+("0b"+h)}a.g((null!=b?b+": ":"")+c);return e}
function Zc(a,b){if(b)return Yc(a,b,a.W[b]);var d=0;for(b in a.W)Yc(a,b,a.W[b]),d++;return 0<d}function W(a,b,d){switch(a.la){case 8:return ga(b,d);case 10:return b.toString();default:return r(b,d)}}
function $c(a){Rc.call(this,a);this.O=X();this.ua=X();this.T=X();this.K=[];this.B=this.R=this.J=[];ad(this);this.fa=0;bd(this);this.na=[];cd(this,a.messages);this.pa=a.commands;var b=this;window?void 0===window.pdp11&&(window.pdp11=function(a){return hc(b,a)}):void 0===global.pdp11&&(global.pdp11=function(a){return hc(b,a)})}y($c,Rc);
var dd={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble",v:"print version","var":"assign variable"},ed="NONE ADC ADCB ADD ASL ASLB ASR ASRB BCC BCS BEQ BGE BGT BHI BIC BICB BIS BISB BIT BITB BLE BLOS BLT BMI BNE BPL BPT BR BVC BVS CCC CLC CLCN CLCV CLCVN CLCVZ CLCZ CLCZN CLN CLR CLRB CLV CLVN CLVZ CLVZN CLZ CLZN CMP CMPB COM COMB DEC DECB INC INCB HALT JMP JSR MARK MFPD MFPI MFPS MOV MOVB MTPD MTPI MTPS NEG NEGB NOP RESET ROL ROLB ROR RORB RTI RTS SBC SBCB SCC SEC SECN SECV SECVN SECVZ SECZ SECZN SEN SEV SEVN SEVZ SEVZN SEZ SEZN SUB SWAB SXT TST TSTB WAIT MUL DIV ASH ASHC XOR SOB EMT TRAP SPL IOT RTT MFPT".split(" "),
fd={61440:{4096:[62,4032,63],8192:[47,4032,63],12288:[18,4032,63],16384:[14,4032,63],20480:[16,4032,63],24576:[3,4032,63],36864:[63,4032,63],40960:[48,4032,63],45056:[19,4032,63],49152:[15,4032,63],53248:[17,4032,63],57344:[94,4032,63]},65024:{2048:[57,448,63],28672:[100,63,448],29184:[101,63,448],29696:[102,63,448],30208:[103,63,448],30720:[104,448,63],32256:[105,448,8192]},65280:{256:[27,4096],512:[24,4096],768:[10,4096],1024:[11,4096],1280:[22,4096],1536:[12,4096],1792:[20,4096],32768:[25,4096],
33024:[23,4096],33280:[13,4096],33536:[21,4096],33792:[28,4096],34048:[29,4096],34304:[8,4096],34560:[9,4096],34816:[106],35072:[107]},65472:{64:[56,63],192:[95,63],2560:[38,63],2624:[49,63],2688:[53,63],2752:[51,63],2816:[67,63],2880:[1,63],2944:[77,63],3008:[97,63],3072:[73,63],3136:[71,63],3200:[6,63],3264:[4,63],3328:[58,24576],3392:[60,63],3456:[65,63],3520:[96,63],35328:[40,63],35392:[50,63],35456:[54,63],35520:[52,63],35584:[68,63],35648:[2,63],35712:[78,63],35776:[98,63],35840:[74,63],35904:[72,
63],35968:[7,63],36032:[5,63],36096:[66,63],36160:[59,63],36224:[64,63],36288:[61,63]},65528:{128:[76,7],152:[108,12288]},65535:{0:[55],1:[99],2:[75],3:[26],4:[109],5:[70],6:[110],7:[111],160:[69],161:[31],162:[41],163:[32],164:[45],165:[35],166:[43],167:[34],168:[37],169:[32],170:[42],171:[33],172:[46],173:[36],174:[44],175:[30],176:[69],177:[80],178:[88],179:[82],180:[92],181:[85],182:[90],183:[84],184:[87],185:[81],186:[89],187:[83],188:[93],189:[86],190:[91],191:[79]}};m=$c.prototype;
m.ya=function(a,b,d,c){this.H=b;this.f=d;this.w=a;(a=ec(a,"messages"))&&cd(this,a);this.Fa=fd;gd(this,function(a){a:{var b=c.H.P,d=a[0],g=a=0,k=b.length;if(d){a=Z(hd(c,d));if(-1===a){c.g("invalid address: "+d);break a}g=a>>>c.H.ba;k=1}c.g("blockid physical blockaddr used size type");c.g("-------- --------- ---------- ------ ------ ----");for(var d=-1,l=0;k--;){var n=b[g];n.type==d?l++||c.g("..."):(d=n.type,l=Ab[d],n&&c.g(q(n.id,8)+" %"+q(g<<c.H.ba,8)+" %%"+q(n.D,8)+" "+t(n.Va)+
" "+t(n.size)+" "+l),d!=Rb&&(d=-1),l=0);a+=c.H.ma;g++}}});F(this)};
33024:[23,4096],33280:[13,4096],33536:[21,4096],33792:[28,4096],34048:[29,4096],34304:[8,4096],34560:[9,4096],34816:[106],35072:[107]},65472:{64:[56,63],192:[95,63],2560:[39,63],2624:[49,63],2688:[53,63],2752:[51,63],2816:[67,63],2880:[1,63],2944:[77,63],3008:[97,63],3072:[73,63],3136:[71,63],3200:[6,63],3264:[4,63],3328:[58,24576],3392:[60,63],3456:[65,63],3520:[96,63],35328:[40,63],35392:[50,63],35456:[54,63],35520:[52,63],35584:[68,63],35648:[2,63],35712:[78,63],35776:[98,63],35840:[74,63],35904:[72,
63],35968:[7,63],36032:[5,63],36096:[66,63],36160:[59,63],36224:[64,63],36288:[61,63]},65528:{128:[76,7],152:[108,12288]},65535:{0:[55],1:[99],2:[75],3:[26],4:[109],5:[70],6:[110],7:[111],160:[69],161:[31],162:[41],163:[33],164:[45],165:[36],166:[43],167:[35],168:[38],169:[32],170:[42],171:[34],172:[46],173:[37],174:[44],175:[30],176:[69],177:[80],178:[88],179:[82],180:[92],181:[85],182:[90],183:[84],184:[87],185:[81],186:[89],187:[83],188:[93],189:[86],190:[91],191:[79]}};m=$c.prototype;
m.ya=function(a,b,d,c){this.H=b;this.f=d;this.w=a;(a=ec(a,"messages"))&&cd(this,a);this.Fa=fd;gd(this,function(a){a:{var b=c.H.P,d=a[0],g=a=0,k=b.length;if(d){a=Y(Z(c,d));if(-1===a){c.g("invalid address: "+d);break a}g=a>>>c.H.ba;k=1}c.g("blockid physical blockaddr used size type");c.g("-------- --------- ---------- ------ ------ ----");for(var d=-1,l=0;k--;){var n=b[g];n.type==d?l++||c.g("..."):(d=n.type,l=Ab[d],n&&c.g(r(n.id,8)+" %"+r(g<<c.H.ba,8)+" %%"+r(n.D,8)+" "+r(n.Va,4,
!0)+" "+r(n.size,4,!0)+" "+l),d!=Rb&&(d=-1),l=0);a+=c.H.ma;g++}}});E(this)};
m.ha=function(a,b,d){var c=this;switch(b){case "debugInput":return this.da=this.L[b]=d,d.onkeydown=function(a){var b;if(13==a.keyCode)b=d.value,d.value="",hc(c,b,!0);else if(27==a.keyCode)d.value=b="";else if(38==a.keyCode?(b=null,c.G<c.F.length-1&&(b=c.F[++c.G])):40==a.keyCode&&(0<c.G?b=c.F[--c.G]:(b="",c.G=-1)),null!=b){var h=b.length;d.value=b;d.setSelectionRange(h,h)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.L[b]=d,Ka(d,function(){if(c.da){var a=c.da.value;
c.da.value="";hc(c,a,!0);return!0}return!1}),!0;case "step":return this.L[b]=d,Ka(d,function(a){var b=!1;qb(c,!0)||(pb(c,!0),b=c.Ka(a?1:0),pb(c,!1));return b}),!0}return!1};m.Ua=function(){this.da&&this.da.focus()};function Z(a){a=a&&a.D;null==a&&(a=-1);return a}m.Za=function(a,b){var d=255,c=Z(a);-1!==c&&(d=this.H,d=d.P[(c&d.w)>>>d.ba].Ta(c&d.H,c),b&&id(a,b));return d};m.ta=function(a,b){var d=65535,c=Z(a);-1!==c&&(d=Bb(this.H,c),b&&id(a,b));return d};
m.eb=function(a,b,d){var c=Z(a);if(-1!==c){var e=this.H;e.P[(c&e.w)>>>e.ba].La(c&e.H,b&255,c);d&&id(a,d);I(this.f,!0)}};m.xb=function(a,b,d){var c=Z(a);if(-1!==c){var e=this.H,f=c&e.H,h=(c&e.w)>>>e.ba;f!=e.H?e.P[h].wb(f,b&65535,c):(e.P[h++].La(f,b&255,c),e.P[h&e.K].La(0,b>>8&255,c+1));d&&id(a,d);I(this.f,!0)}};function Y(a){return{D:a,oa:!1}}function jd(a){return[a.D,a.oa]}function kd(a){return{D:a[0],oa:a[1]}}
function hd(a,b,d){var c;d=(d?a.O:a.ua).D;if(void 0!==b){c=b=Wc(a,b);var e;if(c.match(/^[a-z_][a-z0-9_]*$/i))for(c=c.toUpperCase(),d=0;d<a.K.length;d++){var f=a.K[d].qa[c];if(void 0!==f){c=f.o;void 0!==c&&(e=Y(c));break}}if(c=e)return c;d=Vc(a,b,void 0)}null!=d&&(c=Y(d));return c}function ld(a,b,d){d&&(d=d.match(/(['"])(.*?)\1/))&&(b.yb=Tc(a,b.vb=d[2]))}function id(a,b){null!=a.D&&(a.D+=b||1)}
function cd(a,b){a.I=a;a.$=a.zb=536870912;a.ga=null;a.ja=[];var d=Tc(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(d.length)for(var c in G){var e;a:if(e=void 0,Array.prototype.indexOf)e=d.indexOf(c,e);else{e=e||0;0>e&&(e+=d.length);0>e&&(e=0);for(var f=d.length;e<f;e++)if(e in d&&d[e]===c)break a;e=-1}0<=e&&(a.$|=G[c],a.g(c+" messages enabled"))}}function gd(a,b){for(var d in G)if(64==G[d]){a.na[d]=b;break}}
m.message=function(a,b){b&&(a+=" at "+X(this,Y(this.f.b[7]).D));if(this.$&1073741824)this.ja.push(a);else if(!this.ga||a!=this.ga)if(this.ga=a,this.$&-2147483648&&(this.ca(),a+=" (cpu halted)"),this.g(a),this.f){var d=this.f;Ac(d);d.Y=0;I(d)}};
function bd(a){var b;if(Kc(a)){if(!a.N||!a.N.length){a.N=Array(1E3);for(b=0;b<a.N.length;b++)a.N[b]=Y();a.Y=0;a.g("instruction history buffer allocated")}if(!a.X||!a.X.length)for(a.X=Array(256),b=0;b<a.X.length;b++)a.X[b]=[b,0]}else a.N&&a.N.length&&a.g("instruction history buffer freed"),a.Y=0,a.N=[],a.X=[]}m.Ca=function(a){if(!md(this))return!1;this.f.Ca(a);return!0};
m.Ka=function(a,b,d){if(!md(this))return!1;this.M=0;a||Kc(this)&&Lc(this,this.f.b[7],0);try{var c=this.f.Ka(a);0<c&&(this.M+=c,mc(this.f,c,!0),ic(this.f,c),this.S++)}catch(e){"number"!=typeof e&&(this.M=0,sb(this.f,e.stack||e.message))}!1!==d&&I(this.f);this.ia(b||!1);return 0<this.M};m.ca=function(a){this.f&&this.f.ca(a)};m.ia=function(a){void 0===a&&(a=!0);this.O=Y(this.f.b[7]);a&&1!=this.V?nd(this):od(this)};
function md(a){var b;if(b=a.f&&rb(a.f))b=a.f,b.A.Z?b=!0:(b.g(b.toString()+" not powered"),b=!1);b&&!qb(a.f)?(a=a.f,a.A.error?(a.g(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}m.sa=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};m.ra=function(a,b){b&&this.g(a?"suspending":"shutting down");return a?this.save():!0};m.reset=function(a){bd(this);this.S=this.ka=0;this.ga=null;this.M=0;this.O=Y(this.f.b[7]);this.A.aa=!1;pd(this);a||this.ia()};
m.save=function(){var a=new J(this);K(a,0,jd(this.O));K(a,1,jd(this.T));K(a,2,[this.F,this.U,this.$]);K(a,3,this.K);return a.data()};m.restore=function(a){var b=0;void 0!==a[2]&&(this.O=kd(a[b++]),this.T=kd(a[b++]),this.F=a[b][0],"string"==typeof this.F&&(this.F=[this.F]),this.U=a[b][1],this.$|=a[b][2]);a[3]&&(this.K=a[3]);return!0};m.start=function(a,b){this.V||this.g("running");this.A.aa=!0;this.Oa=a;this.Pa=b};
m.stop=function(a,b){if(this.A.aa){this.A.aa=!1;this.M=b-this.Pa;if(!this.V){var d="stopped";if(this.M){var c=a-this.Oa,e=0<c?Math.round(1E3*this.M/c):0,d=d+" (";Kc(this)&&(d+=this.S+" opcodes, ",this.ka-=this.S,this.S=0);d+=this.M+" cycles, "+c+" ms, "+e+" hz)"}else ob(this,-2147483648)&&(d+=" (use the 't' command to execute blocked faults)");this.g(d)}this.ia(!0);this.Ua();pd(this,this.f.b[7])}};function Kc(a){return 1<a.B.length||!!a.fa}
function Lc(a,b,d){var c=a.f;if(0<d&&(a.fa&&!--a.fa||$b(a,b,1,a.B)))return!0;0<=d&&a.X.length&&(a.S++,null!=Bb(a.H,b)&&(b=a.N[a.Y],b.D=c.b[7],b.oa=!1,++a.Y==a.N.length&&(a.Y=0)));return!1}function ad(a){var b,d;a.B=["bp"];if(void 0!==a.R)for(b=1;b<a.R.length;b++){d=a.R[b];var c=a.H;ac(c.P[Z(d)>>>c.ba],!1)}a.R=["br"];if(void 0!==a.J)for(b=1;b<a.J.length;b++)d=a.J[b],c=a.H,ac(c.P[Z(d)>>>c.ba],!0);a.J=["bw"];a.Da=0}
m.wa=function(a,b,d){var c=!0;d||qd(this,a,b,!1,!0);if(a!=this.B){var e=Z(b);if(-1===e)this.g("invalid address: "+X(this,b.D)),c=!1;else{var f=this.H;f.P[e>>>f.ba].wa(e&f.H,a==this.J)}}c&&(a.push(b),d?b.oa=!0:(rd(this,a,a.length-1,"set"),bd(this)));return c};function qd(a,b,d,c,e){var f=!1;d=Z(d);for(var h=1;h<b.length;h++){var g=b[h];if(d==Z(g)&&(!c||g.oa)){f=!0;g.oa||e||rd(a,b,h,"cleared");b.splice(h,1);b!=a.B&&(c=a.H,ac(c.P[d>>>c.ba],b==a.J));g.oa||bd(a);break}}return f}
function sd(a,b){for(var d=1;d<b.length;d++)rd(a,b,d);return b.length-1}function rd(a,b,d,c){d=b[d];a.g(b[0]+" "+X(a,d.D)+(c?" "+c:d.vb?' "'+d.vb+'"':""))}function pd(a,b){if(void 0!==b)$b(a,b,1,a.B,!0),a.V=0;else for(var d=1;d<a.B.length;d++){var c=a.B[d];if(c.oa){if(!qd(a,a.B,c,!0))break;d=0}}}
function $b(a,b,d,c,e){var f=!1;if(!a.Da++)for(var h=1;!f&&h<c.length;h++){var g=c[h];if(!e||g.oa)for(var k=Z(g),l=0;l<d;l++)if(b+l==k){var n,f=!0;g.oa&&(qd(a,c,g,!0),e=!0);if(n=g.yb){for(var f=!1,p=0;p<n.length;p++)if(!td(a,n[p],!0)){if(n[p].indexOf("if")){f=!0;break}for(var v=p+1;v<n.length&&n[v].indexOf("else");v++)p++;if(v==n.length){f=!0;break}}a.f.A.aa||(f=!0)}if(f){e||rd(a,c,h,"hit");break}}}a.Da--;return f}
function ud(a,b,d,c){var e=Y(b.D),f=a.ta(b,2),h,g;for(g in a.Fa)if(h=a.Fa[g][f&g])break;h||(h=[0]);g="";for(var k=ed[h[0]],l=h.length-1,n=1;n<=l;n++){var p=h[n];if(void 0!==p){var v;v=a;var E=p,p=b,x="",r=void 0,r=void 0,r=E&61440;if(4096==r)r=(f&255)<<24>>24,r=p.D+r&65535,x=t(r);else if(8192==r)r=(f&63)<<1,r=p.D-r&65535,x=t(r);else if(12288==r)r=f&7,x=q(r,2,!0);else if(24576==r)r=f&63,x=q(r,2,!0);else if(r=f&E,E&4032&&(r>>=6,E>>=6),E&63){var E=void 0,z=r&7;switch(r&56){case 0:x="R"+z;break;case 1:x=
"@R"+z;break;case 2:7>z?x="(R"+z+")+":(E=v.ta(p,2),x="#"+t(E));break;case 3:7>z?x="@(R"+z+")+":(E=v.ta(p,2),x="@#"+t(E));break;case 4:x="-(R"+z+")";break;case 5:x="@-R("+z+")";break;case 6:E=v.ta(p,2);x=t(E)+(7>z?"(R"+z+")":"(PC)");break;case 7:E=v.ta(p,2),x="@"+t(E)+(7>z?"(R"+z+")":"(PC)")}}v=x;if(!v||!v.length){g="INVALID";break}0<g.length&&(g+=",");g+=v||"???"}}f="";h=X(a,e.D)+": ";if(-1!==e.D&&-1!==b.D){do if(f+=X(a,a.ta(e,2)),null==e.D)break;while(e.D!=b.D)}h+=pa(f,10);h+=pa(k,7);g&&(h+=" "+
g);d&&(h=pa(h,40)+";"+d,h=a.f.A.Ha?h+("cycles="+jc(a.f).toString()+" cs="+q(a.f.Qa)):h+(null!=c?"="+c.toString():""));return h}function vd(a,b){var d;switch(b){case "N":d=a.f.i>>12&8;break;case "Z":d=a.f.u&65535?0:4;break;case "V":d=a.f.j&32768?2:0;break;case "C":d=a.f.C&65536?1:0;break;default:d=0}return b.charAt(0)+(d?"1":"0")+" "}
function Ud(a,b){var d="",c=a.f;8>b?d=(6>b?"R"+b:6==b?"SP":"PC")+("="+X(a,c.b[b])):13>b?d="A"+(b-8)+"="+X(a,c.Ya[b-8]):16<=b&&20>b?d="S"+(b-16)+"="+X(a,c.Ba[b-16]):20==b&&(d="PS="+X(a,Dc(c)));d&&(d+=" ");return d}m.hb=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};function Vd(a,b,d){var c=[],e=Z(b)>>>0;for(b=0;b<a.K.length;b++){var f=a.K[b],h=f.D>>>0,g=f.Cb;if(e>=h&&e<h+g){e=ua(f.fb,[e-h],a.hb);0<=e?Wd(a,b,e,c):d&&(e=~e,Wd(a,b,e-1,c),Wd(a,b,e,c));break}}return c}
c.da.value="";hc(c,a,!0);return!0}return!1}),!0;case "step":return this.L[b]=d,Ka(d,function(a){var b=!1;qb(c,!0)||(pb(c,!0),b=c.Ka(a?1:0),pb(c,!1));return b}),!0}return!1};m.Ua=function(){this.da&&this.da.focus()};function Y(a){a=a&&a.D;null==a&&(a=-1);return a}m.Za=function(a,b){var d=255,c=Y(a);-1!==c&&(d=this.H,d=d.P[(c&d.w)>>>d.ba].Ta(c&d.H,c),b&&hd(a,b));return d};m.ta=function(a,b){var d=65535,c=Y(a);-1!==c&&(d=Bb(this.H,c),b&&hd(a,b));return d};
m.eb=function(a,b,d){var c=Y(a);if(-1!==c){var e=this.H;e.P[(c&e.w)>>>e.ba].La(c&e.H,b&255,c);d&&hd(a,d);H(this.f,!0)}};m.xb=function(a,b,d){var c=Y(a);if(-1!==c){var e=this.H,f=c&e.H,h=(c&e.w)>>>e.ba;f!=e.H?e.P[h].wb(f,b&65535,c):(e.P[h++].La(f,b&255,c),e.P[h&e.K].La(0,b>>8&255,c+1));d&&hd(a,d);H(this.f,!0)}};function X(a){return{D:a,oa:!1}}function id(a){return[a.D,a.oa]}function jd(a){return{D:a[0],oa:a[1]}}
function Z(a,b,d){var c;d=(d?a.O:a.ua).D;if(void 0!==b){c=b=Wc(a,b);var e;if(c.match(/^[a-z_][a-z0-9_]*$/i))for(c=c.toUpperCase(),d=0;d<a.K.length;d++){var f=a.K[d].qa[c];if(void 0!==f){c=f.o;void 0!==c&&(e=X(c));break}}if(c=e)return c;d=Vc(a,b,void 0)}null!=d&&(c=X(d));return c}function kd(a,b,d){d&&(d=d.match(/(['"])(.*?)\1/))&&(b.yb=Tc(a,b.vb=d[2]))}function hd(a,b){null!=a.D&&(a.D+=b||1)}
function cd(a,b){a.I=a;a.$=a.zb=536870912;a.ga=null;a.ja=[];var d=Tc(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(d.length)for(var c in F){var e;a:if(e=void 0,Array.prototype.indexOf)e=d.indexOf(c,e);else{e=e||0;0>e&&(e+=d.length);0>e&&(e=0);for(var f=d.length;e<f;e++)if(e in d&&d[e]===c)break a;e=-1}0<=e&&(a.$|=F[c],a.g(c+" messages enabled"))}}function gd(a,b){for(var d in F)if(64==F[d]){a.na[d]=b;break}}
m.message=function(a,b){b&&(a+=" at "+W(this,X(this.f.b[7]).D));if(this.$&1073741824)this.ja.push(a);else if(!this.ga||a!=this.ga)if(this.ga=a,this.$&-2147483648&&(this.ca(),a+=" (cpu halted)"),this.g(a),this.f){var d=this.f;Ac(d);d.Y=0;H(d)}};
function bd(a){var b;if(Kc(a)){if(!a.N||!a.N.length){a.N=Array(1E3);for(b=0;b<a.N.length;b++)a.N[b]=X();a.Y=0;a.g("instruction history buffer allocated")}if(!a.X||!a.X.length)for(a.X=Array(256),b=0;b<a.X.length;b++)a.X[b]=[b,0]}else a.N&&a.N.length&&a.g("instruction history buffer freed"),a.Y=0,a.N=[],a.X=[]}m.Ca=function(a){if(!ld(this))return!1;this.f.Ca(a);return!0};
m.Ka=function(a,b,d){if(!ld(this))return!1;this.M=0;a||Kc(this)&&Lc(this,this.f.b[7],0);try{var c=this.f.Ka(a);0<c&&(this.M+=c,mc(this.f,c,!0),ic(this.f,c),this.S++)}catch(e){"number"!=typeof e&&(this.M=0,sb(this.f,e.stack||e.message))}!1!==d&&H(this.f);this.ia(b||!1);return 0<this.M};m.ca=function(a){this.f&&this.f.ca(a)};m.ia=function(a){void 0===a&&(a=!0);this.O=X(this.f.b[7]);a&&1!=this.V?md(this):nd(this)};
function ld(a){var b;if(b=a.f&&rb(a.f))b=a.f,b.A.Z?b=!0:(b.g(b.toString()+" not powered"),b=!1);b&&!qb(a.f)?(a=a.f,a.A.error?(a.g(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}m.sa=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};m.ra=function(a,b){b&&this.g(a?"suspending":"shutting down");return a?this.save():!0};m.reset=function(a){bd(this);this.S=this.ka=0;this.ga=null;this.M=0;this.O=X(this.f.b[7]);this.A.aa=!1;od(this);a||this.ia()};
m.save=function(){var a=new I(this);J(a,0,id(this.O));J(a,1,id(this.T));J(a,2,[this.F,this.U,this.$]);J(a,3,this.K);return a.data()};m.restore=function(a){var b=0;void 0!==a[2]&&(this.O=jd(a[b++]),this.T=jd(a[b++]),this.F=a[b][0],"string"==typeof this.F&&(this.F=[this.F]),this.U=a[b][1],this.$|=a[b][2]);a[3]&&(this.K=a[3]);return!0};m.start=function(a,b){this.V||this.g("running");this.A.aa=!0;this.Oa=a;this.Pa=b};
m.stop=function(a,b){if(this.A.aa){this.A.aa=!1;this.M=b-this.Pa;if(!this.V){var d="stopped";if(this.M){var c=a-this.Oa,e=0<c?Math.round(1E3*this.M/c):0,d=d+" (";Kc(this)&&(d+=this.S+" opcodes, ",this.ka-=this.S,this.S=0);d+=this.M+" cycles, "+c+" ms, "+e+" hz)"}else ob(this,-2147483648)&&(d+=" (use the 't' command to execute blocked faults)");this.g(d)}this.ia(!0);this.Ua();od(this,this.f.b[7])}};function Kc(a){return 1<a.B.length||!!a.fa}
function Lc(a,b,d){var c=a.f;if(0<d&&(a.fa&&!--a.fa||$b(a,b,1,a.B)))return!0;0<=d&&a.X.length&&(a.S++,null!=Bb(a.H,b)&&(b=a.N[a.Y],b.D=c.b[7],b.oa=!1,++a.Y==a.N.length&&(a.Y=0)));return!1}function ad(a){var b,d;a.B=["bp"];if(void 0!==a.R)for(b=1;b<a.R.length;b++){d=a.R[b];var c=a.H;ac(c.P[Y(d)>>>c.ba],!1)}a.R=["br"];if(void 0!==a.J)for(b=1;b<a.J.length;b++)d=a.J[b],c=a.H,ac(c.P[Y(d)>>>c.ba],!0);a.J=["bw"];a.Da=0}
m.wa=function(a,b,d){var c=!0;d||pd(this,a,b,!1,!0);if(a!=this.B){var e=Y(b);if(-1===e)this.g("invalid address: "+W(this,b.D)),c=!1;else{var f=this.H;f.P[e>>>f.ba].wa(e&f.H,a==this.J)}}c&&(a.push(b),d?b.oa=!0:(qd(this,a,a.length-1,"set"),bd(this)));return c};function pd(a,b,d,c,e){var f=!1;d=Y(d);for(var h=1;h<b.length;h++){var g=b[h];if(d==Y(g)&&(!c||g.oa)){f=!0;g.oa||e||qd(a,b,h,"cleared");b.splice(h,1);b!=a.B&&(c=a.H,ac(c.P[d>>>c.ba],b==a.J));g.oa||bd(a);break}}return f}
function rd(a,b){for(var d=1;d<b.length;d++)qd(a,b,d);return b.length-1}function qd(a,b,d,c){d=b[d];a.g(b[0]+" "+W(a,d.D)+(c?" "+c:d.vb?' "'+d.vb+'"':""))}function od(a,b){if(void 0!==b)$b(a,b,1,a.B,!0),a.V=0;else for(var d=1;d<a.B.length;d++){var c=a.B[d];if(c.oa){if(!pd(a,a.B,c,!0))break;d=0}}}
function $b(a,b,d,c,e){var f=!1;if(!a.Da++)for(var h=1;!f&&h<c.length;h++){var g=c[h];if(!e||g.oa)for(var k=Y(g),l=0;l<d;l++)if(b+l==k){var n,f=!0;g.oa&&(pd(a,c,g,!0),e=!0);if(n=g.yb){for(var f=!1,p=0;p<n.length;p++)if(!sd(a,n[p],!0)){if(n[p].indexOf("if")){f=!0;break}for(var q=p+1;q<n.length&&n[q].indexOf("else");q++)p++;if(q==n.length){f=!0;break}}a.f.A.aa||(f=!0)}if(f){e||qd(a,c,h,"hit");break}}}a.Da--;return f}
function td(a,b,d,c){var e=X(b.D),f=a.ta(b,2),h,g;for(g in a.Fa)if(h=a.Fa[g][f&g])break;h||(h=[0]);g="";for(var k=ed[h[0]],l=h.length-1,n=1;n<=l;n++){var p=h[n];if(void 0!==p){var q;q=a;var A=p,p=b,v="",w=void 0,w=void 0,w=A&61440;if(4096==w)w=(f&255)<<24>>23,w=p.D+w&65535,v=W(q,w);else if(8192==w)w=(f&63)<<1,w=p.D-w&65535,v=W(q,w);else if(12288==w)w=f&7,v=W(q,w,2);else if(24576==w)w=f&63,v=W(q,w);else if(w=f&A,A&4032&&(w>>=6,A>>=6),A&63){var A=void 0,z=w&7;switch((w&56)>>3){case 0:v=ud(z);break;
case 1:v="@"+ud(z);break;case 2:7>z?v="("+ud(z)+")+":(A=q.ta(p,2),v="#"+W(q,A));break;case 3:7>z?v="@("+ud(z)+")+":(A=q.ta(p,2),v="@#"+W(q,A));break;case 4:v="-("+ud(z)+")";break;case 5:v="@-("+ud(z)+")";break;case 6:A=q.ta(p,2);v=W(q,A)+"("+ud(z)+")";7==z&&(v=[v,W(q,A+p.D&65535)]);break;case 7:A=q.ta(p,2),v="@"+W(q,A)+"("+ud(z)+")",7==z&&(v=[v,W(q,A+p.D&65535)])}}q=v;if(!q||!q.length){g="INVALID";break}"string"!=typeof q&&(d||(d=q[1]),q=q[0]);0<g.length&&(g+=",");g+=q||"???"}}f="";h=W(a,e.D)+":";
if(-1!==e.D&&-1!==b.D){do if(f+=" "+W(a,a.ta(e,2)),null==e.D)break;while(e.D!=b.D)}h+=pa(f,24);h+=pa(k,5);g&&(h+=" "+g);d&&(h=pa(h,60)+";"+d,h=a.f.A.Ha?h+("cycles="+jc(a.f).toString()+" cs="+r(a.f.Qa)):h+(null!=c?"="+c.toString():""));return h}function vd(a,b){var d;switch(b){case "N":d=a.f.i>>12&8;break;case "Z":d=a.f.u&65535?0:4;break;case "V":d=a.f.j&32768?2:0;break;case "C":d=a.f.C&65536?1:0;break;default:d=0}return b.charAt(0)+(d?"1":"0")+" "}function ud(a){return 6>a?"R"+a:6==a?"SP":"PC"}
function Ud(a,b){var d="",c=a.f;8>b?(d=ud(b),d+="="+W(a,c.b[b])):13>b?d="A"+(b-8)+"="+W(a,c.Ya[b-8]):16<=b&&20>b?d="S"+(b-16)+"="+W(a,c.Ba[b-16]):20==b&&(d="PS="+W(a,Dc(c)));d&&(d+=" ");return d}m.hb=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};function Vd(a,b,d){var c=[],e=Y(b)>>>0;for(b=0;b<a.K.length;b++){var f=a.K[b],h=f.D>>>0,g=f.Cb;if(e>=h&&e<h+g){e=ua(f.fb,[e-h],a.hb);0<=e?Wd(a,b,e,c):d&&(e=~e,Wd(a,b,e-1,c),Wd(a,b,e,c));break}}return c}
function Wd(a,b,d,c){var e={},f=a.K[b].fb,h=0,g=null;0<=d&&d<f.length&&(h=f[d][0],g=f[d][1]);g&&(e=a.K[b].qa[g],g="."==g.charAt(0)?null:e.l||g);c.push(g);c.push(h);c.push(e.a);c.push(e.c)}function Xd(a,b){var d=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(d){if(!d[1])return Zc(a)||a.g("no variables"),!0;if(!d[2])return Zc(a,d[1]);if(!d[3])return delete a.W[d[1]],!0;var c=Vc(a,d[3]);return void 0!==c?(a.W[d[1]]=c,!0):!1}a.g("invalid assignment:"+b);return!1}
function Yd(a,b,d){var c=null;if(b=hd(a,b,!0)){var e=Vd(a,b,!0);if(e.length){var f,h;e[0]&&(h="",(f=b.D-e[1])&&(h=" + "+t(f)),f=e[0]+" ("+X(a,e[1])+")"+h,d&&a.g(f),c=f);4<e.length&&e[4]&&(h="",(f=e[5]-b.D)&&(h=" - "+t(f)),f=e[4]+" ("+X(a,e[5])+")"+h,d&&a.g(f),c||(c=f))}else d&&a.g("no symbols")}return c}
function nd(a,b){var d;if(b&&"?"==b[1])a.g("register commands:"),a.g("\tr\tdump registers"),a.g("\trx [#]\tset flag or register x to [#]");else{var c=a.f;null==d&&(d=!0);if(null!=b&&1<b.length){var e=b[1],f=null,h=e.indexOf("=");if(0<h)f=e.substr(h+1),e=e.substr(0,h);else if(2<b.length)f=b[2];else{a.g("missing value for "+b[1]);return}var h=!1,g=Vc(a,f);if(void 0!==g)switch(h=!0,e.toUpperCase()){case "PC":c.b[7]=g;a.O=Y(c.b[7]);break;case "NF":break;case "ZF":break;case "VF":break;case "CF":break;
default:a.g("unknown register: "+e);return}if(!h){a.g("invalid value: "+f);return}I(c);a.g("updated registers:")}f="";for(e=0;6>e;e++)f+=Ud(a,e);f=f+"\n"+(Ud(a,6)+Ud(a,7));f+=vd(a,"T")+vd(a,"N")+vd(a,"Z")+vd(a,"V")+vd(a,"C");a.g(f);d&&(a.O=Y(c.b[7]),od(a,X(a,a.O.D)))}}function Zd(a,b){b=qa(b);var d=b.match(/^(['"])(.*?)\1$/);d?a.g(d[2]):Vc(a,b,!0)}
function $d(a,b,d){var c="t"!=b;d=Xc(a,d,null,!0)||1;var e=1==d?0:1;"tc"==b&&(e=d,d=1);Ja(d,function(){return pb(a,!0)&&a.Ka(e,c,!1)},function(){I(a.f);pb(a,!1)})}
function od(a,b,d,c){if(b=hd(a,b,!0)){void 0===c&&(c=1);var e=256;if(void 0!==d){c=hd(a,d,!0);if(!c||c.D<b.D)return;e=c.D-b.D;if(256<e){a.g("range too large");return}c=-1}d=0;for(var f;0<e&&c--;){f=qb(a,!1)||a.V?a.M:null;var h=null!=f?"cycles":null,g=Vd(a,b),k=b.D;if(g[0]&&c&&(!d&&c||0>g[0].indexOf("+"))){var l=g[0]+":";g[2]&&(l+=" "+g[2]);a.g(l)}g[3]&&(h=g[3],f=null);f=ud(a,b,h,f);a.g(f);a.O=b;e-=b.D-k;d++}}}
function td(a,b,d){var c=!0;try{b.length&&"end"!=b?d||a.g(">> "+b):(a.U&&(a.g("ended assemble at "+X(a,a.T.D)),a.O=a.T,a.U=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.ga=null;if(rb(a)&&0<b.length){a.U&&(b="a "+X(a,a.T.D)+" "+b);var f=b.replace(/ +/g," ").split(" ");if(f&&f.length)for(var h=f[0],g=h.charAt(0),k=1;k<h.length;k++){var l=h.charAt(k);if("?"==g||"r"==g||"a">l||"z"<l){f[0]=h.substr(k);f.unshift(h.substr(0,k));break}}switch(f[0].charAt(0)){case "a":var n=hd(a,f[1],!0);if(n)if(a.T=
n,void 0===f[2])a.g("begin assemble at "+X(a,n.D)),a.U=!0,I(a.f);else{var p;a.g("not supported yet");p=[];if(p.length){for(var v=0;v<p.length;v++)a.eb(n,p[v],1);a.g(ud(a,a.T))}}break;case "b":a:{var E=f[0],x=f[1],r=b;if("?"==x)a.g("breakpoint commands:"),a.g("\tbp [a]\tset exec breakpoint at addr [a]"),a.g("\tbr [a]\tset read breakpoint at addr [a]"),a.g("\tbw [a]\tset write breakpoint at addr [a]"),a.g("\tbc [a]\tclear breakpoint at addr [a]"),a.g("\tbl\tlist all breakpoints"),a.g("\tbn [n]\tbreak after [n] instruction(s)");
else{var z=E.charAt(1);if("l"==z){var Ba=0,Ba=Ba+sd(a,a.B),Ba=Ba+sd(a,a.R);(Ba+=sd(a,a.J))||a.g("no breakpoints")}else if("n"==z)a.fa=Xc(a,x),a.g("break after "+a.fa+" instruction(s)");else if(void 0===x)a.g("missing breakpoint address");else{var Q=Y();if("*"!=x&&(Q=hd(a,x,!0),!Q))break a;"c"==z?null==Q.D?(ad(a),a.g("all breakpoints cleared")):qd(a,a.B,Q)||qd(a,a.R,Q)||qd(a,a.J,Q)||a.g("breakpoint missing: "+X(a,Q.D)):null!=Q.D&&(ld(a,Q,r),"p"==z?a.wa(a.B,Q):"r"==z?a.wa(a.R,Q):"w"==z?a.wa(a.J,Q):
a.g("unknown breakpoint command: "+z))}}}break;case "c":a.xa&&(a.xa.value="");break;case "d":a:{var Ca,Da=f[0],ba=f[1],ra=f[2],te=f[3];if("?"==ba){var ca="";for(Ca in G)a.na[Ca]&&(ca&&(ca+=","),ca+=Ca);ca+=",state,symbols";a.g("dump memory commands:");a.g("\tdb [a] [#] dump # bytes at address a");a.g("\tdw [a] [#] dump # words at address a");a.g("\tdd [a] [#] dump # dwords at address a");a.g("\tdh [#] [#] dump # instructions from history");ca.length&&a.g("dump extension commands:\n\t"+
ca)}else if("state"==ba){var wd=ae(a.w,!0);"console"==ra?console.log(wd):(a.xa&&(a.xa.value=""),a.g(wd))}else if("symbols"==ba)for(var oc=0;oc<a.K.length;oc++){var pc=a.K[oc],Ea;for(Ea in pc.qa)if("."!=Ea.charAt(0)){var xd=pc.qa[Ea].o;if(void 0!==xd){var yd=pc.qa[Ea].l;yd&&(Ea=yd);a.g(X(a,xd)+" "+Ea)}}}else{if("d"==Da){for(Ca in G)if(f[1]==Ca){var zd=a.na[Ca];zd?(f.shift(),f.shift(),zd(f)):a.g("no dump registered for "+ba);break a}ba||(Da=a.Wa||"db")}else a.Wa=Da;if("dh"==Da){var Ad=ba,Bd=ra,Cd="",
Dd=0,M=a.Y,da=a.N;if(da.length){var R=+Ad||a.Ea,Fa=+Bd||10;isNaN(R)?R=Fa:Cd="more ";R>da.length&&(a.g("note: only "+da.length+" available"),R=da.length);M-=R;0>M&&(null==da[da.length-1].D?(R=M+R,M=0):M+=da.length);var qc=[];"call"==Bd&&(Fa=1E5,qc=["CALL"]);for(void 0!==Ad&&a.g(R+" instructions earlier:");0<Fa&&M!=a.Y;){var Ed=da[M++];if(null==Ed.D)break;var db=Y(Ed.D),ue=R--,Fd=ud(a,db,"history",ue);(!qc.length||0<=Fd.indexOf(qc[0]))&&a.g(Fd);db.ab&&(M+=db.ab,Fa-=db.ab,R-=db.ab);M>=da.length&&(M=
0);a.Ea=R;Dd++;Fa--}}Dd||(a.g("no "+Cd+"history available"),a.Ea=void 0)}else{var Db=hd(a,ba);if(Db){var Eb=0;ra&&("l"==ra.charAt(0)&&(ra=ra.substr(1)||te),Eb=Xc(a,ra)>>>0,65536<Eb&&(Eb=65536));for(var sa="",Fb="dd"==Da?4:"dw"==Da?2:1,Gb=Fb*Eb||128,ve=Gb+15>>4||1;ve--&&0<Gb;){var Hb=0,rc=0,eb,fb="",sc="",ba=X(a,Db.D);for(eb=16;0<eb&&0<Gb;eb--){var Ib=a.Za(Db,1),Hb=Hb|Ib<<(rc++<<3);rc==Fb&&(fb+=q(Hb,2*Fb),fb+=1==Fb?9==eb?"-":" ":" ",Hb=rc=0);sc+=32<=Ib&&128>Ib?String.fromCharCode(Ib):".";Gb--}sa&&
(sa+="\n");sa+=ba+" "+fb+(0==eb?" "+sc:"")}sa&&a.g(sa);a.ua=Db}}}}break;case "e":if("else"==f[0])break;var Jb=1,Gd=255,Hd=a.Za,Id=a.eb;"ew"==f[0]&&(Jb=2,Gd=65535,Hd=a.ta,Id=a.xb);var Jd=Jb<<1,Kd=f[1];if(null==Kd)a.g("edit memory commands:"),a.g("\teb [a] [...] edit bytes at address a"),a.g("\tew [a] [...] edit words at address a");else{var Kb=hd(a,Kd);if(Kb)for(var Lb=2;Lb<f.length;Lb++){var gb=Vc(a,f[Lb]);if(void 0===gb){a.g("unrecognized value: "+f[Lb]);break}gb&~Gd&&a.g("warning: "+q(gb)+" exceeds "+
Jb+"-byte value");var we=Hd.call(a,Kb);a.g("changing "+X(a,Kb.D)+" from "+q(we,Jd,!0)+" to "+q(gb,Jd,!0));Id.call(a,Kb,gb,Jb)}}break;case "g":a:{var Ld=f[1],xe=b;if(void 0!==Ld){var tc=hd(a,Ld,!0);if(!tc)break a;ld(a,tc,xe);a.wa(a.B,tc,!0)}a.Ca(!0)||d||a.g("cpu busy or unavailable, run command ignored")}break;case "h":a:{var uc;if(a.A.aa)uc="halting",a.ca();else{if(qb(a,!0))break a;uc="already halted"}d||a.g(uc)}break;case "i":if("if"==f[0]){var vc;var hb=b.substr(2),hb=qa(hb);Vc(a,hb)?(d||a.g("true: "+
hb),vc=!0):(d||a.g("false: "+hb),vc=!1);vc||(c=!1)}break;case "k":var ye=f[0];if("?"==f[1])a.g("stack trace commands:"),a.g("\tk\tshow frame addresses"),a.g("\tks\tshow symbol information");else{var wc=0,Md=Y(),ib=Y(a.f.b[6]);for(a.g("stack trace for "+X(a,ib.D));10>wc;){for(var ta=null,ze=256;65536>ib.D>>>0;){Md.D=a.ta(ib,2);if(null==ib.D||!ze--)break;for(var Ae=a,Mb=Md,Nd=null,jb=Mb.D,Od=jb,xc=1;6>=xc&&jb;xc++){if(2<xc){Mb.D=jb;var Nb=ud(Ae,Mb);if(0<=Nb.indexOf("JSR")){var Pd=Nb.indexOf(" ");if(jb+
(Nb.indexOf(" ",Pd+1)-Pd-1)/2==Od){Nd=Nb;break}}}jb--}Mb.D=Od;if(ta=Nd)break}if(!ta||null==ta)break;var Qd=null;if("ks"==ye){var Rd=ta.match(/[0-9A-F]+$/);Rd&&(Qd=Yd(a,Rd[0]))}ta=pa(ta,50)+" ;"+(Qd||"stack="+X(a,ib.D));a.g(ta);wc++}wc||a.g("no return addresses found")}break;case "l":if("ln"==f[0]){Yd(a,f[1],!0);break}break;case "m":a:{var ea,fa=null,C=f[1];"?"==C&&(C=void 0);if(void 0!==C){var ja=0;if("all"==C)ja=1878917119,C=null;else if("on"==C)fa=!0,C=null;else if("off"==C)fa=!1,C=null;else{"keys"==
C&&(C="key");"kbd"==C&&(C="keyboard");for(ea in G)if(C==ea){ja=G[ea];fa=!!(a.$&ja);break}if(!ja){a.g("unknown message category: "+C);break a}}if(ja)if("on"==f[2])a.$|=ja,fa=!0;else if("off"==f[2]&&(a.$&=~ja,fa=!1,1073741824==ja)){for(var yc=0;yc<a.ja.length;yc++)a.g(a.ja[yc]);a.ja=[]}}var Be=0,ka="";for(ea in G)if(!C||C==ea){var Ce=!!(a.$&G[ea]);if(null===fa||fa==Ce)ka&&(ka+=","),++Be%10||(ka+="\n\t"),"key"==ea&&(ea="keys"),ka+=ea}void 0===C&&a.g("message commands:\n\tm [category] [on|off]\tturn categories on/off");
a.g((null!==fa?fa?"messages on: ":"messages off: ":"message categories:\n\t")+(ka||"none"));bd(a)}break;case "p":if("print"==f[0]){Zd(a,b.substr(5));break}var De="pr"==f[0]?1:0;if(a.V)a.g("step in progress");else{var Sd=Y(a.f.b[7]);a.Za(Sd);a.V?(a.wa(a.B,Sd,!0),a.Ca()||(a.w&&a.w.Ua(),a.V=0)):$d(a,De?"tr":"t")}break;case "r":if("reset"==b){a.w&&a.w.reset();break}nd(a,f);break;case "s":a:switch(f[1]){case "base":if(f[2]){var kb=+f[2];if(8==kb||10==kb||16==kb)a.la=kb;else{a.g("invalid base: "+kb);break}}a.g("default base: "+
function Yd(a,b,d){var c=null;if(b=Z(a,b,!0)){var e=Vd(a,b,!0);if(e.length){var f,h;e[0]&&(h="",(f=b.D-e[1])&&(h=" + "+r(f,4,!0)),f=e[0]+" ("+W(a,e[1])+")"+h,d&&a.g(f),c=f);4<e.length&&e[4]&&(h="",(f=e[5]-b.D)&&(h=" - "+r(f,4,!0)),f=e[4]+" ("+W(a,e[5])+")"+h,d&&a.g(f),c||(c=f))}else d&&a.g("no symbols")}return c}
function md(a,b){var d;if(b&&"?"==b[1])a.g("register commands:"),a.g("\tr\tdump registers"),a.g("\trx [#]\tset flag or register x to [#]");else{var c=a.f;null==d&&(d=!0);if(null!=b&&1<b.length){var e=b[1],f=null,h=e.indexOf("=");if(0<h)f=e.substr(h+1),e=e.substr(0,h);else if(2<b.length)f=b[2];else{a.g("missing value for "+b[1]);return}var h=!1,g=Vc(a,f);if(void 0!==g)switch(h=!0,e.toUpperCase()){case "PC":c.b[7]=g;a.O=X(c.b[7]);break;case "NF":break;case "ZF":break;case "VF":break;case "CF":break;
default:a.g("unknown register: "+e);return}if(!h){a.g("invalid value: "+f);return}H(c);a.g("updated registers:")}f="";for(e=0;6>e;e++)f+=Ud(a,e);f=f+"\n"+(Ud(a,6)+Ud(a,7));f+=vd(a,"T")+vd(a,"N")+vd(a,"Z")+vd(a,"V")+vd(a,"C");a.g(f);d&&(a.O=X(c.b[7]),nd(a,W(a,a.O.D)))}}function Zd(a,b){b=qa(b);var d=b.match(/^(['"])(.*?)\1$/);d?a.g(d[2]):Vc(a,b,!0)}
function $d(a,b,d){var c="t"!=b;d=Xc(a,d,null,!0)||1;var e=1==d?0:1;"tc"==b&&(e=d,d=1);Ja(d,function(){return pb(a,!0)&&a.Ka(e,c,!1)},function(){H(a.f);pb(a,!1)})}
function nd(a,b,d,c){if(b=Z(a,b,!0)){void 0===c&&(c=1);var e=256;if(void 0!==d){c=Z(a,d,!0);if(!c||c.D<b.D)return;e=c.D-b.D;if(256<e){a.g("range too large");return}c=-1}d=0;for(var f;0<e&&c--;){f=qb(a,!1)||a.V?a.M:null;var h=null!=f?"cycles":null,g=Vd(a,b),k=b.D;if(g[0]&&c&&(!d&&c||0>g[0].indexOf("+"))){var l=g[0]+":";g[2]&&(l+=" "+g[2]);a.g(l)}g[3]&&(h=g[3],f=null);f=td(a,b,h,f);a.g(f);a.O=b;e-=b.D-k;d++}}}
function sd(a,b,d){var c=!0;try{b.length&&"end"!=b?d||a.g(">> "+b):(a.U&&(a.g("ended assemble at "+W(a,a.T.D)),a.O=a.T,a.U=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.ga=null;if(rb(a)&&0<b.length){a.U&&(b="a "+W(a,a.T.D)+" "+b);var f=b.replace(/ +/g," ").split(" ");if(f&&f.length)for(var h=f[0],g=h.charAt(0),k=1;k<h.length;k++){var l=h.charAt(k);if("?"==g||"r"==g||"a">l||"z"<l){f[0]=h.substr(k);f.unshift(h.substr(0,k));break}}switch(f[0].charAt(0)){case "a":var n=Z(a,f[1],!0);if(n)if(a.T=
n,void 0===f[2])a.g("begin assemble at "+W(a,n.D)),a.U=!0,H(a.f);else{var p;a.g("not supported yet");p=[];if(p.length){for(var q=0;q<p.length;q++)a.eb(n,p[q],1);a.g(td(a,a.T))}}break;case "b":a:{var A=f[0],v=f[1],w=b;if("?"==v)a.g("breakpoint commands:"),a.g("\tbp [a]\tset exec breakpoint at addr [a]"),a.g("\tbr [a]\tset read breakpoint at addr [a]"),a.g("\tbw [a]\tset write breakpoint at addr [a]"),a.g("\tbc [a]\tclear breakpoint at addr [a]"),a.g("\tbl\tlist all breakpoints"),a.g("\tbn [n]\tbreak after [n] instruction(s)");
else{var z=A.charAt(1);if("l"==z){var Ba=0,Ba=Ba+rd(a,a.B),Ba=Ba+rd(a,a.R);(Ba+=rd(a,a.J))||a.g("no breakpoints")}else if("n"==z)a.fa=Xc(a,v),a.g("break after "+a.fa+" instruction(s)");else if(void 0===v)a.g("missing breakpoint address");else{var Q=X();if("*"!=v&&(Q=Z(a,v,!0),!Q))break a;"c"==z?null==Q.D?(ad(a),a.g("all breakpoints cleared")):pd(a,a.B,Q)||pd(a,a.R,Q)||pd(a,a.J,Q)||a.g("breakpoint missing: "+W(a,Q.D)):null!=Q.D&&(kd(a,Q,w),"p"==z?a.wa(a.B,Q):"r"==z?a.wa(a.R,Q):"w"==z?a.wa(a.J,Q):a.g("unknown breakpoint command: "+
z))}}}break;case "c":a.xa&&(a.xa.value="");break;case "d":a:{var Ca,Da=f[0],ba=f[1],ra=f[2],te=f[3];if("?"==ba){var ca="";for(Ca in F)a.na[Ca]&&(ca&&(ca+=","),ca+=Ca);ca+=",state,symbols";a.g("dump memory commands:");a.g("\tdb [a] [#] dump # bytes at address a");a.g("\tdw [a] [#] dump # words at address a");a.g("\tdd [a] [#] dump # dwords at address a");a.g("\tdh [#] [#] dump # instructions from history");ca.length&&a.g("dump extension commands:\n\t"+ca)}else if("state"==ba){var wd=ae(a.w,
!0);"console"==ra?console.log(wd):(a.xa&&(a.xa.value=""),a.g(wd))}else if("symbols"==ba)for(var oc=0;oc<a.K.length;oc++){var pc=a.K[oc],Ea;for(Ea in pc.qa)if("."!=Ea.charAt(0)){var xd=pc.qa[Ea].o;if(void 0!==xd){var yd=pc.qa[Ea].l;yd&&(Ea=yd);a.g(W(a,xd)+" "+Ea)}}}else{if("d"==Da){for(Ca in F)if(f[1]==Ca){var zd=a.na[Ca];zd?(f.shift(),f.shift(),zd(f)):a.g("no dump registered for "+ba);break a}ba||(Da=a.Wa||"db")}else a.Wa=Da;if("dh"==Da){var Ad=ba,Bd=ra,Cd="",Dd=0,M=a.Y,da=a.N;if(da.length){var R=
+Ad||a.Ea,Fa=+Bd||10;isNaN(R)?R=Fa:Cd="more ";R>da.length&&(a.g("note: only "+da.length+" available"),R=da.length);M-=R;0>M&&(null==da[da.length-1].D?(R=M+R,M=0):M+=da.length);var qc=[];"call"==Bd&&(Fa=1E5,qc=["CALL"]);for(void 0!==Ad&&a.g(R+" instructions earlier:");0<Fa&&M!=a.Y;){var Ed=da[M++];if(null==Ed.D)break;var db=X(Ed.D),ue=R--,Fd=td(a,db,"history",ue);(!qc.length||0<=Fd.indexOf(qc[0]))&&a.g(Fd);db.ab&&(M+=db.ab,Fa-=db.ab,R-=db.ab);M>=da.length&&(M=0);a.Ea=R;Dd++;Fa--}}Dd||(a.g("no "+Cd+
"history available"),a.Ea=void 0)}else{var Db=Z(a,ba);if(Db){var Eb=0;ra&&("l"==ra.charAt(0)&&(ra=ra.substr(1)||te),Eb=Xc(a,ra)>>>0,65536<Eb&&(Eb=65536));for(var sa="",Fb="dd"==Da?4:"dw"==Da?2:1,Gb=Fb*Eb||128,ve=Gb+15>>4||1;ve--&&0<Gb;){var Hb=0,rc=0,eb,fb="",sc="",ba=W(a,Db.D);for(eb=16;0<eb&&0<Gb;eb--){var Ib=a.Za(Db,1),Hb=Hb|Ib<<(rc++<<3);rc==Fb&&(fb+=r(Hb,2*Fb),fb+=1==Fb?9==eb?"-":" ":" ",Hb=rc=0);sc+=32<=Ib&&128>Ib?String.fromCharCode(Ib):".";Gb--}sa&&(sa+="\n");sa+=ba+" "+fb+(0==eb?" "+sc:
"")}sa&&a.g(sa);a.ua=Db}}}}break;case "e":if("else"==f[0])break;var Jb=1,Gd=255,Hd=a.Za,Id=a.eb;"ew"==f[0]&&(Jb=2,Gd=65535,Hd=a.ta,Id=a.xb);var Jd=Jb<<1,Kd=f[1];if(null==Kd)a.g("edit memory commands:"),a.g("\teb [a] [...] edit bytes at address a"),a.g("\tew [a] [...] edit words at address a");else{var Kb=Z(a,Kd);if(Kb)for(var Lb=2;Lb<f.length;Lb++){var gb=Vc(a,f[Lb]);if(void 0===gb){a.g("unrecognized value: "+f[Lb]);break}gb&~Gd&&a.g("warning: "+r(gb)+" exceeds "+Jb+"-byte value");var we=Hd.call(a,
Kb);a.g("changing "+W(a,Kb.D)+" from "+r(we,Jd,!0)+" to "+r(gb,Jd,!0));Id.call(a,Kb,gb,Jb)}}break;case "g":a:{var Ld=f[1],xe=b;if(void 0!==Ld){var tc=Z(a,Ld,!0);if(!tc)break a;kd(a,tc,xe);a.wa(a.B,tc,!0)}a.Ca(!0)||d||a.g("cpu busy or unavailable, run command ignored")}break;case "h":a:{var uc;if(a.A.aa)uc="halting",a.ca();else{if(qb(a,!0))break a;uc="already halted"}d||a.g(uc)}break;case "i":if("if"==f[0]){var vc;var hb=b.substr(2),hb=qa(hb);Vc(a,hb)?(d||a.g("true: "+hb),vc=!0):(d||a.g("false: "+
hb),vc=!1);vc||(c=!1)}break;case "k":var ye=f[0];if("?"==f[1])a.g("stack trace commands:"),a.g("\tk\tshow frame addresses"),a.g("\tks\tshow symbol information");else{var wc=0,Md=X(),ib=X(a.f.b[6]);for(a.g("stack trace for "+W(a,ib.D));10>wc;){for(var ta=null,ze=256;65536>ib.D>>>0;){Md.D=a.ta(ib,2);if(null==ib.D||!ze--)break;for(var Ae=a,Mb=Md,Nd=null,jb=Mb.D,Od=jb,xc=1;6>=xc&&jb;xc++){if(2<xc){Mb.D=jb;var Nb=td(Ae,Mb);if(0<=Nb.indexOf("JSR")){var Pd=Nb.indexOf(" ");if(jb+(Nb.indexOf(" ",Pd+1)-Pd-
1)/2==Od){Nd=Nb;break}}}jb--}Mb.D=Od;if(ta=Nd)break}if(!ta||null==ta)break;var Qd=null;if("ks"==ye){var Rd=ta.match(/[0-9A-F]+$/);Rd&&(Qd=Yd(a,Rd[0]))}ta=pa(ta,50)+" ;"+(Qd||"stack="+W(a,ib.D));a.g(ta);wc++}wc||a.g("no return addresses found")}break;case "l":if("ln"==f[0]){Yd(a,f[1],!0);break}break;case "m":a:{var ea,fa=null,D=f[1];"?"==D&&(D=void 0);if(void 0!==D){var ja=0;if("all"==D)ja=1878917119,D=null;else if("on"==D)fa=!0,D=null;else if("off"==D)fa=!1,D=null;else{"keys"==D&&(D="key");"kbd"==
D&&(D="keyboard");for(ea in F)if(D==ea){ja=F[ea];fa=!!(a.$&ja);break}if(!ja){a.g("unknown message category: "+D);break a}}if(ja)if("on"==f[2])a.$|=ja,fa=!0;else if("off"==f[2]&&(a.$&=~ja,fa=!1,1073741824==ja)){for(var yc=0;yc<a.ja.length;yc++)a.g(a.ja[yc]);a.ja=[]}}var Be=0,ka="";for(ea in F)if(!D||D==ea){var Ce=!!(a.$&F[ea]);if(null===fa||fa==Ce)ka&&(ka+=","),++Be%10||(ka+="\n\t"),"key"==ea&&(ea="keys"),ka+=ea}void 0===D&&a.g("message commands:\n\tm [category] [on|off]\tturn categories on/off");
a.g((null!==fa?fa?"messages on: ":"messages off: ":"message categories:\n\t")+(ka||"none"));bd(a)}break;case "p":if("print"==f[0]){Zd(a,b.substr(5));break}var De="pr"==f[0]?1:0;if(a.V)a.g("step in progress");else{var Sd=X(a.f.b[7]);a.Za(Sd);a.V?(a.wa(a.B,Sd,!0),a.Ca()||(a.w&&a.w.Ua(),a.V=0)):$d(a,De?"tr":"t")}break;case "r":if("reset"==b){a.w&&a.w.reset();break}md(a,f);break;case "s":a:switch(f[1]){case "base":if(f[2]){var kb=+f[2];if(8==kb||10==kb||16==kb)a.la=kb;else{a.g("invalid base: "+kb);break}}a.g("default base: "+
a.la);break;case "cs":var lb;void 0!==f[3]&&(lb=+f[3]);switch(f[2]){case "int":a.f.Ia=lb;break;case "start":a.f.Ra=lb;break;case "stop":a.f.Ja=lb;break;default:a.g("unknown cs option");break a}void 0!==lb&&gc(a.f);a.g("checksums "+(a.f.A.Ha?"enabled":"disabled"));break;case "sp":void 0!==f[2]&&(lc(a.f,+f[2])||a.g("warning: using 1x multiplier, previous target not reached"));a.g("target speed: "+(a.f.za.toFixed(2)+"Mhz")+" ("+a.f.Aa+"x)");break;case "?":a.g("debugger options:");a.g("\tbase #\t\tset default base to #");
a.g("\tcs int #\tset checksum cycle interval to #");a.g("\tcs start #\tset checksum cycle start count to #");a.g("\tcs stop #\tset checksum cycle stop count to #");a.g("\tsp #\t\tset speed multiplier to #");break;default:f[1]&&a.g("unknown option: "+f[1])}break;case "t":$d(a,f[0],f[1]);break;case "u":od(a,f[1],f[2],8);break;case "v":if("var"==f[0]){Xd(a,b.substr(3))||(c=!1);break}a.g("PDP11js version 1.30.0 ("+a.f.tb+",RELEASE"+(tb?",TYPEDARRAYS":",LONGARRAYS")+")");a.g(window?window.navigator.userAgent:
"");break;case "?":if(f[1]){Zd(a,b.substr(1));break}var mb="commands:",zc;for(zc in dd)mb+="\n"+pa(zc,9)+dd[zc];Kc(a)||(mb+="\nnote: history disabled if no exec breakpoints");a.g(mb);break;default:a.g("unknown command: "+b),c=!1}}}catch(Td){a.g("debugger error: "+(Td.stack||Td.message)),c=!1}return c}function hc(a,b,d){b=Tc(a,b,d);for(var c in b)if(!td(a,b[c]))return!1;return!0}Qa(function(){for(var a=D(document,"pdp11","debugger"),b=0;b<a.length;b++){var d=a[b],c=B(d),c=new $c(c);nb(c,d)}});
function be(a,b,d){w.call(this,"Computer",a,be,67108864);this.A.Z=!1;ce(this,b);this.R=ec(this,"autoPower",a);this.F=0;this.W=a.busWidth||a.buswidth;this.w=de;this.N=null;this.K=this.U=!1;this.X=ec(this,"url")||"";(Math.random()+.1).toString(36);this.B=ee(this);if(this.f=cb("CPU",this.id)){this.I=cb("Debugger",this.id);this.H=new wb({id:this.lb+".bus",busWidth:this.W},this.f,this.I);var c,e=bb(this.id);if((this.G=cb("Panel",this.id))&&this.G.xa)for(b=0;b<e.length;b++)c=e[b],c.ea=this.G.ea,c.g=this.G.g,
a.g("\tcs int #\tset checksum cycle interval to #");a.g("\tcs start #\tset checksum cycle start count to #");a.g("\tcs stop #\tset checksum cycle stop count to #");a.g("\tsp #\t\tset speed multiplier to #");break;default:f[1]&&a.g("unknown option: "+f[1])}break;case "t":$d(a,f[0],f[1]);break;case "u":nd(a,f[1],f[2],8);break;case "v":if("var"==f[0]){Xd(a,b.substr(3))||(c=!1);break}a.g("PDP11js version 1.30.0 ("+a.f.tb+",RELEASE"+(tb?",TYPEDARRAYS":",LONGARRAYS")+")");a.g(window?window.navigator.userAgent:
"");break;case "?":if(f[1]){Zd(a,b.substr(1));break}var mb="commands:",zc;for(zc in dd)mb+="\n"+pa(zc,9)+dd[zc];Kc(a)||(mb+="\nnote: history disabled if no exec breakpoints");a.g(mb);break;default:a.g("unknown command: "+b),c=!1}}}catch(Td){a.g("debugger error: "+(Td.stack||Td.message)),c=!1}return c}function hc(a,b,d){b=Tc(a,b,d);for(var c in b)if(!sd(a,b[c]))return!1;return!0}Qa(function(){for(var a=C(document,"pdp11","debugger"),b=0;b<a.length;b++){var d=a[b],c=B(d),c=new $c(c);nb(c,d)}});
function be(a,b,d){u.call(this,"Computer",a,be,67108864);this.A.Z=!1;ce(this,b);this.R=ec(this,"autoPower",a);this.F=0;this.W=a.busWidth||a.buswidth;this.w=de;this.N=null;this.K=this.U=!1;this.X=ec(this,"url")||"";(Math.random()+.1).toString(36);this.B=ee(this);if(this.f=cb("CPU",this.id)){this.I=cb("Debugger",this.id);this.H=new wb({id:this.lb+".bus",busWidth:this.W},this.f,this.I);var c,e=bb(this.id);if((this.G=cb("Panel",this.id))&&this.G.xa)for(b=0;b<e.length;b++)c=e[b],c.ea=this.G.ea,c.g=this.G.g,
c.xa=this.G.xa;this.g("PDP11js v1.30.0\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.g("Portions adapted from the PDP-11/70 Emulator v1.3 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<e.length;b++)c=e[b],c.ya&&c.ya(this,this.H,this.f,this.I);b=null;c=a.resume;void 0!==c&&(1<c.length?b=this.M=c:this.w=parseInt(c,10));var f;if(a=ec(this,"state")||(f=!0,a.state))b=this.S=a,f||(this.K=!0,this.w=de),this.w&&(this.O=
new J(this,"1.30.0"),fe(this.O)?b=null:delete this.O);!b&&this.w&&(b=ge(this))&&(this.K=!0);if(b){var h=this;xa(b,null,!0,function(a,b,c){c?(h.M=null,h.K=!1,h.ea("Unable to load machine state from server (error "+c+(b?": "+qa(b):"")+")")):(h.N=b,h.U=!0);F(h)})}else F(this);this.L.power||(this.R=!0);!d&&this.R&&he(this,this.Sa)}else u("Unable to find CPU component")}A(be);var de=0;
function ce(a,b){if(!b){var d;if("object"==typeof resources&&(d=resources.parms))try{b=eval("("+d+")")}catch(c){u(c.message+" ("+d+")")}}a.V=b}function ec(a,b,d){var c=b.toLowerCase(),c=Va[b]||Va[c];void 0===c&&a.V&&(c=a.V[b]);void 0===c&&d&&(c=d[b]);void 0===c&&"object"==typeof resources&&resources[b]&&(c=b);return c}function he(a,b,d){for(var c=bb(a.id),e=0;e<=c.length;e++){var f=e<c.length?c[e]:a;if(!rb(f)){rb(f,function(){he(a,b,d)});return}}b.call(a,d)}
function ie(a,b){var d=new J(a,"1.30.0","validate");if(fe(d)&&je(d)){var c=ke(d,"timestamp"),e=b?ke(b,"timestamp"):"unknown";c!=e&&(a.ea("Machine state may be out-of-date\n("+c+" vs. "+e+")\nCheck your browser's local storage limits"),b||d.clear())}}m=be.prototype;
m.Sa=function(a){void 0===a&&(a=this.w||(this.N?1:de));if(!this.F){this.F++;var b=!1,d=!1;this.T=!1;var c=this.O||new J(this,"1.30.0");if(-1==a)b=!0;else if(a>de){if(fe(c,this.N)){this.J=new J(this,"1.30.0","failsafe");fe(this.J)&&(le(this,c),a=2,me(this.J));K(this.J,"timestamp",wa());ne(this.J);var e=this.w&&!this.K;if(1==a||ya("Click OK to restore the previous PDP11js machine state, or CANCEL to reset the machine.")){if(d=je(c)){var f=ke(c,"code"),h=ke(c,"data");f&&("ok"==f?fe(c,h):("error"==f&&
new I(this,"1.30.0"),fe(this.O)?b=null:delete this.O);!b&&this.w&&(b=ge(this))&&(this.K=!0);if(b){var h=this;xa(b,null,!0,function(a,b,c){c?(h.M=null,h.K=!1,h.ea("Unable to load machine state from server (error "+c+(b?": "+qa(b):"")+")")):(h.N=b,h.U=!0);E(h)})}else E(this);this.L.power||(this.R=!0);!d&&this.R&&he(this,this.Sa)}else t("Unable to find CPU component")}y(be);var de=0;
function ce(a,b){if(!b){var d;if("object"==typeof resources&&(d=resources.parms))try{b=eval("("+d+")")}catch(c){t(c.message+" ("+d+")")}}a.V=b}function ec(a,b,d){var c=b.toLowerCase(),c=Va[b]||Va[c];void 0===c&&a.V&&(c=a.V[b]);void 0===c&&d&&(c=d[b]);void 0===c&&"object"==typeof resources&&resources[b]&&(c=b);return c}function he(a,b,d){for(var c=bb(a.id),e=0;e<=c.length;e++){var f=e<c.length?c[e]:a;if(!rb(f)){rb(f,function(){he(a,b,d)});return}}b.call(a,d)}
function ie(a,b){var d=new I(a,"1.30.0","validate");if(fe(d)&&je(d)){var c=ke(d,"timestamp"),e=b?ke(b,"timestamp"):"unknown";c!=e&&(a.ea("Machine state may be out-of-date\n("+c+" vs. "+e+")\nCheck your browser's local storage limits"),b||d.clear())}}m=be.prototype;
m.Sa=function(a){void 0===a&&(a=this.w||(this.N?1:de));if(!this.F){this.F++;var b=!1,d=!1;this.T=!1;var c=this.O||new I(this,"1.30.0");if(-1==a)b=!0;else if(a>de){if(fe(c,this.N)){this.J=new I(this,"1.30.0","failsafe");fe(this.J)&&(le(this,c),a=2,me(this.J));J(this.J,"timestamp",wa());ne(this.J);var e=this.w&&!this.K;if(1==a||ya("Click OK to restore the previous PDP11js machine state, or CANCEL to reset the machine.")){if(d=je(c)){var f=ke(c,"code"),h=ke(c,"data");f&&("ok"==f?fe(c,h):("error"==f&&
"no machine state"!=h?(this.ea("Error: "+h),"unable to verify user"==h&&(Ha("user",""),this.B=null)):this.g(f+": "+h),me(c),fe(c)?(d=je(c),e=!0):d=!1))}e&&ie(this,d?c:null)}else 2==a&&c.clear()}else ie(this);delete this.N;delete this.O}e=bb(this.id);for(f=0;f<e.length;f++)h=e[f],h!==this&&h!=this.f&&(d=oe(this,h,c,b,d));b=[c,a,d];-1!=a?he(this,this.jb,b):this.jb(b)}};
function oe(a,b,d,c,e){if(!b.A.Z){b.A.Z=!0;if(b.sa){var f=null;e&&((f=ke(d,b.id))||(f=ke(d,b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.sa(f,c)&&f&&(u("Unable to restore state for "+b.type),a.S&&!a.U?(d.clear(),a.w=de,window&&window.location.reload()):a.T=!0,b.sa(null),e=!1)}if(!c&&b.kb)for(a=b.kb.split("|"),d=0;d<a.length;d++)b.status(a[d])}return e}
function oe(a,b,d,c,e){if(!b.A.Z){b.A.Z=!0;if(b.sa){var f=null;e&&((f=ke(d,b.id))||(f=ke(d,b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.sa(f,c)&&f&&(t("Unable to restore state for "+b.type),a.S&&!a.U?(d.clear(),a.w=de,window&&window.location.reload()):a.T=!0,b.sa(null),e=!1)}if(!c&&b.kb)for(a=b.kb.split("|"),d=0;d<a.length;d++)b.status(a[d])}return e}
m.jb=function(a){var b=a[0],d=0>a[1];a=a[2];this.Y=!0;this.A.Z=!0;var c=this.L.power;c&&(c.textContent="Shutdown");this.f&&(oe(this,this.f,b,d,a),this.f.Na());this.T&&(le(this,b),b.clear());!d&&this.J&&(this.J.clear(),delete this.J);this.F=0};
function le(a,b){if(ya("There may be a problem with your PDP11js machine.\n\nTo help us diagnose it, click OK to send this PDP11js machine state to http://www.pcjs.org.")){var d=a.B||"",c=b.toString(),e={app:"PDP11js",ver:"1.30.0"};e.url=a.X;e.user=d;e.type="bug";e.data=c;xa("http://www.pcjs.org/api/v1/report",e,!0)}}
function ae(a,b,d){var c,e="none";if(a.F)return null;a.F--;var f=new J(a,"1.30.0"),h=new J(a,"1.30.0","validate"),g=wa();K(h,"timestamp",g);K(f,"timestamp",g);K(f,"version","1.30.0");K(f,"url",window?window.location.href:null);K(f,"browser",window?window.navigator.userAgent:"");a.f&&a.f.ra&&(d&&a.f.ca(),c=a.f.ra(b,d),"object"===typeof c&&K(f,a.f.id,c),d&&(a.f.A.Z=!1,!1===c&&(e=null)));for(var g=bb(a.id),k=0;k<g.length;k++){var l=g[k];l.A.Z&&(l.ra&&(c=l.ra(b,d),"object"===typeof c&&K(f,l.id,c)),d&&
function ae(a,b,d){var c,e="none";if(a.F)return null;a.F--;var f=new I(a,"1.30.0"),h=new I(a,"1.30.0","validate"),g=wa();J(h,"timestamp",g);J(f,"timestamp",g);J(f,"version","1.30.0");J(f,"url",window?window.location.href:null);J(f,"browser",window?window.navigator.userAgent:"");a.f&&a.f.ra&&(d&&a.f.ca(),c=a.f.ra(b,d),"object"===typeof c&&J(f,a.f.id,c),d&&(a.f.A.Z=!1,!1===c&&(e=null)));for(var g=bb(a.id),k=0;k<g.length;k++){var l=g[k];l.A.Z&&(l.ra&&(c=l.ra(b,d),"object"===typeof c&&J(f,l.id,c)),d&&
(l.A.Z=!1,!1===c&&(e=null)))}e&&(d?(g=c=!1,b?(a.B&&pe(a,a.B,f.toString()),ne(h)&&ne(f)||(e=null,c=g=!0)):a.w&&(c=!0,g=3==a.w),c&&f.clear(g)):e=f.toString());d&&(a.A.Z=!1,b=a.L.power)&&(b.textContent="Power");a.F=0;return e}m.reset=function(){this.H&&this.H.reset&&(this.I&&ob(this,0)&&this.I.message("Resetting "+this.H.type,void 0),this.H.reset());for(var a=bb(this.id),b=0;b<a.length;b++){var d=a[b];d!==this&&d!==this.H&&d.reset&&(this.I&&ob(this,0)&&this.I.message("Resetting "+d.type,void 0),d.reset())}};
m.start=function(a,b){for(var d=bb(this.id),c=0;c<d.length;c++){var e=d[c];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};m.stop=function(a,b){for(var d=bb(this.id),c=0;c<d.length;c++){var e=d[c];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};
m.ha=function(a,b,d){var c=this;switch(b){case "power":return this.L[b]=d,d.onclick=function(){c.F||(c.A.Z?ae(c,!1,!0):he(c,c.Sa))},!0;case "reset":return this.L[b]=d,d.onclick=function(){if(c.A.Z&&!c.F)if(c.w&&!c.M){var a=ya("Click OK to save changes to this PDP11js machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");ae(c,a,!0);!a&&c.S?window&&window.location.reload():c.Sa(de)}else c.reset(),c.f&&c.f.Na()},!0;case "save":if(la()){d.parentNode.removeChild(d);break}this.L[b]=
d;d.onclick=function(){var a=ee(c,!0);if(a){var b=!!(c.w&&!c.M||c.S),d=ae(c,b);b?pe(c,a,d):c.ea("Resume disabled, machine state not saved")}};return!0}return!1};
function ee(a,b){var d=a.B;d||(d=Ga("user"),void 0!==d?!d&&b&&(d=null,window&&(d=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.","")),d&&((d=qe(a,d))||a.ea("The user ID is invalid."))):b&&a.ea("Browser local storage is not available"));return d}
function qe(a,b){a.B=null;var d=xa(ma()+"/api/v1/user?req=verify&user="+b),c=d[1];if(!d[0]&&c)try{d=eval("("+c+")"),d.code&&"ok"==d.code&&(Ha("user",d.data),a.B=d.data)}catch(e){u(e.message+" ("+c+")")}return a.B}function ge(a){var b=null;a.B&&(b=ma()+"/api/v1/user?req=load&user="+a.B+"&state="+re(a,"1.30.0"));return b}
function qe(a,b){a.B=null;var d=xa(ma()+"/api/v1/user?req=verify&user="+b),c=d[1];if(!d[0]&&c)try{d=eval("("+c+")"),d.code&&"ok"==d.code&&(Ha("user",d.data),a.B=d.data)}catch(e){t(e.message+" ("+c+")")}return a.B}function ge(a){var b=null;a.B&&(b=ma()+"/api/v1/user?req=load&user="+a.B+"&state="+re(a,"1.30.0"));return b}
function pe(a,b,d){if(d){var c={req:"store"};c.user=b;c.state=re(a,"1.30.0");c.data=d;b=xa(ma()+"/api/v1/user",c);c=b[0];if(b[1]){if(c){var e=c.indexOf("\n");0<e&&(c=c.substr(0,e));c.indexOf("Error: ")||(c=c.substr(7))}c='{"code":'+b[1]+',"data":"'+c+'"}'}b=JSON.parse(c);b&&"ok"==b.code?a.ea("Machine state saved to server"):d&&(d=b&&b.data||"unable to save machine state",d="error"==b.code?"Error: "+d:"Error "+b.code+": "+d,a.ea(d),Ha("user",""),a.B=null)}}m.Ua=function(){};
m.ia=function(a){this.f&&this.f.ia(a);this.G&&this.G.ia(a)};Qa(function(){for(var a=D(document,"pdp11-machine"),b=0;b<a.length;b++)for(var d=a[b],c=B(d),d=D(d,"pdp11","computer"),e=0;e<d.length;e++){var f=d[e],h=B(f),h=new be(h,c,!0);nb(h,f);h.R&&he(h,h.Sa)}});La.show.push(function(){for(var a=D(document,"pdp11","computer"),b=0;b<a.length;b++){var d=B(a[b]);(d=cb("Computer",d.id))&&d.Y&&!d.A.Z&&d.Sa(-1)}});
La.exit.push(function(){for(var a=D(document,"pdp11","computer"),b=0;b<a.length;b++){var d=B(a[b]);(d=cb("Computer",d.id))&&d.A.Z&&ae(d,!(!d.w||d.M),!0)}});function J(a,b,d){this.id=a.id;this.key=re(a,b,d);this.I=a.I;me(this,a.Eb)}function re(a,b,d){a=a.id;if(b){var c=b.indexOf(".");0<c&&(a+=".v"+b.substr(0,c))}d&&(a+="."+d);return a}
J.prototype={constructor:J,value:function(){return this[this.id]},data:function(){return this[this.id]},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){me(this);var b=[];try{for(var d=0,c=window.localStorage.length;d<c;d++)b.push(window.localStorage.key(d))}catch(e){}for(d=0;d<b.length;d++)if((c=b[d])&&(a||c.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(c)}catch(e){}b.splice(d,1);d=0}}};
function me(a,b){a[a.id]={};b&&K(a,"parms",b);a.f=!1}function ne(a){var b=!0;if(Aa()){var d=JSON.stringify(a[a.id]);Ha(a.key,d)||(u("Unable to store "+d.length+" bytes in browser local storage"),b=!1)}return b}function je(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(d){u(d.message||d),b=!1}return b}function fe(a,b){return b?(a[a.id]=b,a.f=!0):a.f?!0:Aa()&&(b=Ga(a.key))?(a[a.id]=b,a.f=!0):!1}function ke(a,b){return a[a.id][b]||null}function K(a,b,d){try{a[a.id][b]=d}catch(c){}}var se=0;
m.ia=function(a){this.f&&this.f.ia(a);this.G&&this.G.ia(a)};Qa(function(){for(var a=C(document,"pdp11-machine"),b=0;b<a.length;b++)for(var d=a[b],c=B(d),d=C(d,"pdp11","computer"),e=0;e<d.length;e++){var f=d[e],h=B(f),h=new be(h,c,!0);nb(h,f);h.R&&he(h,h.Sa)}});La.show.push(function(){for(var a=C(document,"pdp11","computer"),b=0;b<a.length;b++){var d=B(a[b]);(d=cb("Computer",d.id))&&d.Y&&!d.A.Z&&d.Sa(-1)}});
La.exit.push(function(){for(var a=C(document,"pdp11","computer"),b=0;b<a.length;b++){var d=B(a[b]);(d=cb("Computer",d.id))&&d.A.Z&&ae(d,!(!d.w||d.M),!0)}});function I(a,b,d){this.id=a.id;this.key=re(a,b,d);this.I=a.I;me(this,a.Eb)}function re(a,b,d){a=a.id;if(b){var c=b.indexOf(".");0<c&&(a+=".v"+b.substr(0,c))}d&&(a+="."+d);return a}
I.prototype={constructor:I,value:function(){return this[this.id]},data:function(){return this[this.id]},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){me(this);var b=[];try{for(var d=0,c=window.localStorage.length;d<c;d++)b.push(window.localStorage.key(d))}catch(e){}for(d=0;d<b.length;d++)if((c=b[d])&&(a||c.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(c)}catch(e){}b.splice(d,1);d=0}}};
function me(a,b){a[a.id]={};b&&J(a,"parms",b);a.f=!1}function ne(a){var b=!0;if(Aa()){var d=JSON.stringify(a[a.id]);Ha(a.key,d)||(t("Unable to store "+d.length+" bytes in browser local storage"),b=!1)}return b}function je(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(d){t(d.message||d),b=!1}return b}function fe(a,b){return b?(a[a.id]=b,a.f=!0):a.f?!0:Aa()&&(b=Ga(a.key))?(a[a.id]=b,a.f=!0):!1}function ke(a,b){return a[a.id][b]||null}function J(a,b,d){try{a[a.id][b]=d}catch(c){}}var se=0;
function Ee(a,b,d,c,e,f){e("Loading "+a+"...");xa(a,null,!0,function(h,g,k){k?(g||(g="unable to load "+a+" ("+k+")"),f(g,null)):Fe(g,a,b,d,c,e,f)})}
function Fe(a,b,d,c,e,f,h){function g(a,f){if(f)h(f,null);else{if(d){ab(d,b,a);var g=b;g&&0>g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g);c?"}"==c.slice(-1)?(c=c.slice(0,-1),1<c.length&&(c+=",")):c='{state:"'+c+'",':c="{";c+='url:"'+g+'"}';"object"==typeof resources&&(g=null);a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+d+"$2"+(c?" parms='"+c+"'":"")+(g?' url="'+g+'"':""))}e||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDP11js$2"),
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pdp11$2"));g=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(p){g=null,a=p.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,g)}}a?e?Ge(a,f,g):g(a,null):h("no data"+(b?" for file: "+b:""),null)}
function Ge(a,b,d){var c;if(c=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=c[2];b("Loading "+e+"...");xa(e,null,!0,function(f,h,g){if(g||!h)d(a,"unable to resolve XML reference: "+c[0]+" ("+g+")");else{if(f=c[3])if(g=h.match(new RegExp("<"+c[1]+"[^>]*>"))){for(var k=g[0],l,n=/( [a-z]+=)(['"])(.*?)\2/g;l=n.exec(f);)k=0>k.indexOf(l[1])?k.replace(">",l[0]+">"):k.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[0]);g[0]!=k&&(h=h.replace(g[0],k))}else{d(a,"missing <"+c[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(c[0],h);Ge(a,b,d)}})}else d(a,null)}
function He(a,b,d,c){function e(a){if(void 0===g){var b=h&&D(h,"machine-warning");g=b&&b[0]||h}g&&(g.innerHTML=oa(a))}function f(a){e("Error: "+a);k&&(--se||Sa(!0));k=!1}var h,g,k=!0;se++;$a[a]={};try{if(h=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],p=document.createElement("style");p.type="text/css";p.styleSheet?p.styleSheet.cssText=l:p.appendChild(document.createTextNode(l));n.appendChild(p)}d||
function He(a,b,d,c){function e(a){if(void 0===g){var b=h&&C(h,"machine-warning");g=b&&b[0]||h}g&&(g.innerHTML=oa(a))}function f(a){e("Error: "+a);k&&(--se||Sa(!0));k=!1}var h,g,k=!0;se++;$a[a]={};try{if(h=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],p=document.createElement("style");p.type="text/css";p.styleSheet?p.styleSheet.cssText=l:p.appendChild(document.createTextNode(l));n.appendChild(p)}d||
(d="/versions/pdp11/1.30.0/components.xsl");l=function(c,g){g?Ee(d,null,null,!1,e,function(c,k){if(k)if(ab(a,d,c),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=g.transformNode(k);l?(h.outerHTML=l,--se||Sa(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(k),(l=l.transformToFragment(g,document))?h.parentNode?(h.parentNode.replaceChild(l,h),--se||Sa(!0)):f("invalid machine element: "+
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(c)}):f(c)};"<"!=b.charAt(0)?Ee(b,a,c,!0,e,l):Fe(b,null,a,c,!1,e,l)}else f("missing machine element: "+a)}catch(v){f(v.message)}return k}window.embedPDP11=function(a,b,d,c){Sa(!1);return He(a,b,d,c)};window.enableEvents=Sa;window.sendEvent=Ta;})();
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(c)}):f(c)};"<"!=b.charAt(0)?Ee(b,a,c,!0,e,l):Fe(b,null,a,c,!1,e,l)}else f("missing machine element: "+a)}catch(q){f(q.message)}return k}window.embedPDP11=function(a,b,d,c){Sa(!1);return He(a,b,d,c)};window.enableEvents=Sa;window.sendEvent=Ta;})();