Changed toStrBase() to accept a number of bits rather than a number of bytes, because bytes aren't always 8 bits (see PDP-10)

This commit is contained in:
Jeff Parsons 2017-02-24 10:58:56 -08:00 committed by Jeff Parsons
commit c0de732f76
14 changed files with 260 additions and 239 deletions

View file

@ -718,7 +718,7 @@ case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d
function Px(a,b,c){var d;if(b){b=Qx(a,b);for(var e=0,f=!1,g=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<m.length;){var p=m[e++],w=p.length,p=ra(p);if(!p){f=!0;break}p=Rx(a,p,null,!1===c);if(void 0===p){f=!0;c=!1;break}h.push(p);if(e==m.length)break;var p=m[e++],u=p.length;k.length&&Sx[p]<Sx[k[k.length-1]]&&Ox(h,k,1);k.push(p);b=b.substr(w+u)}Ox(h,k)&&1==h.length||(f=!0);f?c&&a.P("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(),c&&Tx(a,null, function Px(a,b,c){var d;if(b){b=Qx(a,b);for(var e=0,f=!1,g=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<m.length;){var p=m[e++],w=p.length,p=ra(p);if(!p){f=!0;break}p=Rx(a,p,null,!1===c);if(void 0===p){f=!0;c=!1;break}h.push(p);if(e==m.length)break;var p=m[e++],u=p.length;k.length&&Sx[p]<Sx[k[k.length-1]]&&Ox(h,k,1);k.push(p);b=b.substr(w+u)}Ox(h,k)&&1==h.length||(f=!0);f?c&&a.P("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(),c&&Tx(a,null,
d))}return d}function Qx(a,b){for(var c,d=/\{(.*?)\}/;(c=b.match(d))&&!(0<=c[1].indexOf("{"));){var e=Px(a,c[1]);b=b.replace("{"+c[1]+"}",null!=e?Ux(a,e):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)b=a.Pk(b,c[1]);for(;c=b.match(/\$([a-z]+)/i);){d=null;switch(c[1].toLowerCase()){case "ops":d=a.W-a.ga}if(null==d)break;b=b.replace(c[0],d.toString())}return b} d))}return d}function Qx(a,b){for(var c,d=/\{(.*?)\}/;(c=b.match(d))&&!(0<=c[1].indexOf("{"));){var e=Px(a,c[1]);b=b.replace("{"+c[1]+"}",null!=e?Ux(a,e):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)b=a.Pk(b,c[1]);for(;c=b.match(/\$([a-z]+)/i);){d=null;switch(c[1].toLowerCase()){case "ops":d=a.W-a.ga}if(null==d)break;b=b.replace(c[0],d.toString())}return b}
function Rx(a,b,c,d){var e;null!=b?(e=a.gh(b),0<=e?e=a.hh(e):(e=a.da[b],null==e&&(e=ga(b,a.ya))),null!=e||d||a.P("invalid "+(c?c:"value")+": "+b)):d||a.P("missing "+(c||"value"));return e}function Tx(a,b,c){var d,e=!1;void 0!==c&&(e=!0,d=q(c,0,!0)+" "+c+". "+ja(c,0,!0)+" "+ia(c,4,!0),32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'"));a.P((null!=b?b+": ":"")+d);return e}function Vx(a,b){if(b)return Tx(a,b,a.da[b]);var c=0;for(b in a.da)Tx(a,b,a.da[b]),c++;return 0<c} function Rx(a,b,c,d){var e;null!=b?(e=a.gh(b),0<=e?e=a.hh(e):(e=a.da[b],null==e&&(e=ga(b,a.ya))),null!=e||d||a.P("invalid "+(c?c:"value")+": "+b)):d||a.P("missing "+(c||"value"));return e}function Tx(a,b,c){var d,e=!1;void 0!==c&&(e=!0,d=q(c,0,!0)+" "+c+". "+ja(c,0,!0)+" "+ia(c,4,!0),32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'"));a.P((null!=b?b+": ":"")+d);return e}function Vx(a,b){if(b)return Tx(a,b,a.da[b]);var c=0;for(b in a.da)Tx(a,b,a.da[b]),c++;return 0<c}
function Ux(a,b){var c;c=void 0===c?0:c;switch(a.ya){case 8:a=ja(b,3*c);break;case 10:a=b.toString();break;default:a=q(b,2*c)}return a}var Sx={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; function Ux(a,b){var c;c=void 0===c?0:c;switch(a.ya){case 8:a=ja(b,0<c?(c+2)/3|0:0);break;case 10:a=b;b=0<c?Math.ceil(.3*c):0;var d="";b?10<b&&(b=10):b=a&-65536?10:5;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;)d=String.fromCharCode(a%10+48)+d,a/=10;a=d;break;default:a=q(b,0<c?c+3>>2:0)}0>c?c=a.replace(/^0+([0-9A-F]+)$/i,"$1"):c=a;return c}var Sx={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
function Wx(a){Nx.call(this,a);this.oa=4;this.ha=5;this.wa=1048575;this.K=Xx(this);this.Ga=Xx(this);this.Z=Xx(this);this.D=[];this.B=this.Y=this.M=[];Yx(this);this.ta=0;Zx(this);this.za={};$x(this,a.messages);this.Ca=a.commands;var b=this;window?void 0===window.pcx86&&(window.pcx86=function(a){return ay(b,a)}):void 0===global.pcx86&&(global.pcx86=function(a){return ay(b,a)})}ba(Wx,Nx);l=Wx.prototype; function Wx(a){Nx.call(this,a);this.oa=4;this.ha=5;this.wa=1048575;this.K=Xx(this);this.Ga=Xx(this);this.Z=Xx(this);this.D=[];this.B=this.Y=this.M=[];Yx(this);this.ta=0;Zx(this);this.za={};$x(this,a.messages);this.Ca=a.commands;var b=this;window?void 0===window.pcx86&&(window.pcx86=function(a){return ay(b,a)}):void 0===global.pcx86&&(global.pcx86=function(a){return ay(b,a)})}ba(Wx,Nx);l=Wx.prototype;
l.uc=function(a,b,c,d){this.ka=b;this.H=c;this.pa=a;this.Za=Ob(a,"FDC");this.Ha=Ob(a,"HDC");this.Tc=Ob(a,"FPU");this.G=Ob(a,"Mouse");(a=qd(a,"messages"))&&$x(this,a);this.ha=b.I>>2;this.wa=b.N;this.Ta=new Kd(this.H,7,"DBG");this.ma=by;80186<=this.H.ca&&(this.ma=by.slice(),this.ma[15]=cy,80286<=this.H.ca&&(this.ma[15]=dy,80386<=this.H.ca&&(this.oa=8)));rl(this,64,function(a){ey(d,d.H.sc,a[0])});rl(this,4,function(a){if(a=a[0]){var b=Rx(d,a);if(void 0===b)d.P("invalid selector: "+a);else if(a=fy(d, l.uc=function(a,b,c,d){this.ka=b;this.H=c;this.pa=a;this.Za=Ob(a,"FDC");this.Ha=Ob(a,"HDC");this.Tc=Ob(a,"FPU");this.G=Ob(a,"Mouse");(a=qd(a,"messages"))&&$x(this,a);this.ha=b.I>>2;this.wa=b.N;this.Ta=new Kd(this.H,7,"DBG");this.ma=by;80186<=this.H.ca&&(this.ma=by.slice(),this.ma[15]=cy,80286<=this.H.ca&&(this.ma[15]=dy,80386<=this.H.ca&&(this.oa=8)));rl(this,64,function(a){ey(d,d.H.sc,a[0])});rl(this,4,function(a){if(a=a[0]){var b=Rx(d,a);if(void 0===b)d.P("invalid selector: "+a);else if(a=fy(d,
b,gy),d.P("dumpSel("+ka(a?a.U:b)+"): %"+q(a?a.Lb:null,d.ha)),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 e=hy[a.type];e&&(c=e[0],b=e[1])}!c||a.jb&32768||(c+=",not present");d.P((b?"seg="+ka(a.ua&65535)+" off="+ka(a.Ka):"base="+q(a.ua,d.ha)+" limit="+iy(a.Ka))+" type="+r(a.type>>8)+" ("+c+") ext="+ka(a.ext&-65296)+ b,gy),d.P("dumpSel("+ka(a?a.U:b)+"): %"+q(a?a.Lb:null,d.ha)),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 e=hy[a.type];e&&(c=e[0],b=e[1])}!c||a.jb&32768||(c+=",not present");d.P((b?"seg="+ka(a.ua&65535)+" off="+ka(a.Ka):"base="+q(a.ua,d.ha)+" limit="+iy(a.Ka))+" type="+r(a.type>>8)+" ("+c+") ext="+ka(a.ext&-65296)+

View file

@ -549,7 +549,7 @@ class DebuggerPDP10 extends Debugger {
* *
* @this {DebuggerPDP10} * @this {DebuggerPDP10}
* @param {number|null|undefined} [off] * @param {number|null|undefined} [off]
* @return {string} the hex representation of off * @return {string} default base representation of off
*/ */
toStrOffset(off) toStrOffset(off)
{ {
@ -561,13 +561,29 @@ class DebuggerPDP10 extends Debugger {
* *
* @this {DebuggerPDP10} * @this {DebuggerPDP10}
* @param {DbgAddrPDP10} dbgAddr * @param {DbgAddrPDP10} dbgAddr
* @return {string} the hex representation of the address * @return {string} default base representation of the address
*/ */
toStrAddr(dbgAddr) toStrAddr(dbgAddr)
{ {
return this.toStrOffset(dbgAddr.addr); return this.toStrOffset(dbgAddr.addr);
} }
/**
* toStrWord(w)
*
* @this {DebuggerPDP10}
* @param {number} w (up to, but not including, DATA_LIMIT)
* @return {string} octal representation of the 36-bit word, as two 18-bit values
*/
toStrWord(w)
{
/*
* ADDR_LIMIT is not derived from DATA_LIMIT; we're just taking advantage of the fact
* that ADDR_LIMIT happens to be exactly half of DATA_LIMIT, and they are both powers of two.
*/
return Str.toOct(w / PDP10.ADDR_LIMIT, 6) + ' ' + Str.toOct(w % PDP10.ADDR_LIMIT, 6);
}
/** /**
* dumpBlocks(aBlocks, sAddr) * dumpBlocks(aBlocks, sAddr)
* *
@ -1759,7 +1775,7 @@ class DebuggerPDP10 extends Debugger {
{ {
var opNames = DebuggerPDP10.OPNAMES; var opNames = DebuggerPDP10.OPNAMES;
var dbgAddrOp = this.newAddr(dbgAddr.addr); var dbgAddrOp = this.newAddr(dbgAddr.addr);
var opCode = this.getWord(dbgAddr, 2); var opCode = this.getWord(dbgAddr, 1);
var opDesc; var opDesc;
for (var mask in this.opTable) { for (var mask in this.opTable) {
@ -1783,7 +1799,7 @@ class DebuggerPDP10 extends Debugger {
var cOperands = opDesc.length - 1; var cOperands = opDesc.length - 1;
if (!opNum && !cOperands) { if (!opNum && !cOperands) {
sOperands = this.toStrBase(opCode); sOperands = this.toStrWord(opCode);
} }
for (var iOperand = 1; iOperand <= cOperands; iOperand++) { for (var iOperand = 1; iOperand <= cOperands; iOperand++) {
@ -1815,12 +1831,13 @@ class DebuggerPDP10 extends Debugger {
var sLine = this.toStrAddr(dbgAddrOp) + ":"; var sLine = this.toStrAddr(dbgAddrOp) + ":";
if (dbgAddrOp.addr !== PDP10.ADDR_INVALID && dbgAddr.addr !== PDP10.ADDR_INVALID) { if (dbgAddrOp.addr !== PDP10.ADDR_INVALID && dbgAddr.addr !== PDP10.ADDR_INVALID) {
do { do {
sOpCodes += ' ' + this.toStrBase(this.getWord(dbgAddrOp, 2)); var w = this.getWord(dbgAddrOp, 1);
sOpCodes += ' ' + this.toStrWord(w);
if (dbgAddrOp.addr == null) break; if (dbgAddrOp.addr == null) break;
} while (dbgAddrOp.addr != dbgAddr.addr); } while (dbgAddrOp.addr != dbgAddr.addr);
} }
sLine += Str.pad(sOpCodes, 24); sLine += Str.pad(sOpCodes, 16);
sLine += Str.pad(sOpName, 5); sLine += Str.pad(sOpName, 5);
if (sOperands) sLine += ' ' + sOperands; if (sOperands) sLine += ' ' + sOperands;
@ -2450,9 +2467,9 @@ class DebuggerPDP10 extends Debugger {
var nBase = this.nBase; var nBase = this.nBase;
if (dbgAddr.nBase) this.nBase = dbgAddr.nBase; if (dbgAddr.nBase) this.nBase = dbgAddr.nBase;
var nBitsPerWord = 36; var size = (sCmd == "db"? 1 : 2);
var nWords = len || 32; var nWords = len || 32;
var nWordsPerLine = 4; // fJSON? 16 : this.nBase; var nWordsPerLine = (size == 1? 2 : 4);
var nLines = (((nWords + nWordsPerLine - 1) / nWordsPerLine)|0) || 1; var nLines = (((nWords + nWordsPerLine - 1) / nWordsPerLine)|0) || 1;
var sDump = ""; var sDump = "";
@ -2464,23 +2481,22 @@ class DebuggerPDP10 extends Debugger {
var w = this.getWord(dbgAddr, 1); var w = this.getWord(dbgAddr, 1);
if (fJSON) { if (fJSON) {
if (sData) sData += ","; if (sData) sData += ",";
sData += "0x"+ Str.toHex(w, nBitsPerWord >> 2); sData += w;
} else { } else {
sData += this.toStrBase(w, nBitsPerWord >> 3); sData += this.toStrWord(w);
sData += ' '; sData += ' ';
} }
var nBytesPerWord = nBitsPerWord >> 3; for (var i = 0; size == 1 && i < 6; i++) {
while (nBytesPerWord--) { var c = ((w % 64)|0) + 33;
var c = w % 256; sChars += String.fromCharCode(c);
sChars += (c >= 32 && c < 128? String.fromCharCode(c) : '.'); w /= 64;
w /= 256;
} }
} }
if (sDump) sDump += "\n"; if (sDump) sDump += "\n";
if (fJSON) { if (fJSON) {
sDump += sData + ","; sDump += sData + ",";
} else { } else {
sDump += sAddr + ": " + sData + ((n == 0)? (' ' + sChars) : ""); sDump += sAddr + ": " + sData + ((n < 0)? (' ' + sChars) : "");
} }
} }
@ -2498,13 +2514,10 @@ class DebuggerPDP10 extends Debugger {
*/ */
doEdit(asArgs) doEdit(asArgs)
{ {
var size, mask;
var fnGet, fnSet; var fnGet, fnSet;
var sCmd = asArgs[0]; var sCmd = asArgs[0];
var sAddr = asArgs[1]; var sAddr = asArgs[1];
if (sCmd == "e" || sCmd == "ew") { if (sCmd == "e" || sCmd == "ew") {
size = 2;
mask = 0xffff;
fnGet = this.getWord; fnGet = this.getWord;
fnSet = this.setWord; fnSet = this.setWord;
} else { } else {
@ -2523,12 +2536,9 @@ class DebuggerPDP10 extends Debugger {
this.println("unrecognized value: " + asArgs[i]); this.println("unrecognized value: " + asArgs[i]);
break; break;
} }
if (vNew & ~mask) { this.println("changing " + this.toStrAddr(dbgAddr) + " from " + this.toStrWord(fnGet.call(this, dbgAddr)) + " to " + this.toStrWord(vNew));
this.println("warning: " + Str.toHex(vNew) + " exceeds " + size + "-byte value");
}
this.println("changing " + this.toStrAddr(dbgAddr) + (this.messageEnabled(MessagesPDP10.BUS)? "" : (" from " + this.toStrBase(fnGet.call(this, dbgAddr), size))) + " to " + this.toStrBase(vNew, size));
//noinspection JSUnresolvedFunction //noinspection JSUnresolvedFunction
fnSet.call(this, dbgAddr, vNew, size); fnSet.call(this, dbgAddr, vNew, 1);
} }
} }

View file

@ -97,7 +97,7 @@ var PDP10 = {
*/ */
ADDR_INVALID: -1, ADDR_INVALID: -1,
ADDR_LIMIT: Math.pow(2, 18), ADDR_LIMIT: Math.pow(2, 18),
DATA_INVALID: 0, DATA_INVALID: -1,
DATA_LIMIT: Math.pow(2, 36), DATA_LIMIT: Math.pow(2, 36),
/* /*
* Assorted common opcodes * Assorted common opcodes

View file

@ -406,7 +406,7 @@ class MemoryPDP10 {
this.dbg.printMessage("attempt to read invalid address " + this.dbg.toStrBase(addr), true); this.dbg.printMessage("attempt to read invalid address " + this.dbg.toStrBase(addr), true);
} }
this.bus.fault(addr); this.bus.fault(addr);
return 0; return PDP10.DATA_INVALID;
} }
/** /**

View file

@ -1596,7 +1596,7 @@ class CPUStatePDP11 extends CPUPDP11 {
if (DEBUG && this.dbg) { if (DEBUG && this.dbg) {
if (this.messageEnabled(MessagesPDP11.TRAP)) { if (this.messageEnabled(MessagesPDP11.TRAP)) {
var sReason = reason < 0? PDP11.REASONS[-reason] : this.dbg.toStrBase(reason); var sReason = reason < 0? PDP11.REASONS[-reason] : this.dbg.toStrBase(reason);
this.printMessage("trap to vector " + this.dbg.toStrBase(vector, 1) + " (" + sReason + ")", MessagesPDP11.TRAP, true); this.printMessage("trap to vector " + this.dbg.toStrBase(vector, 8) + " (" + sReason + ")", MessagesPDP11.TRAP, true);
} }
} }

View file

@ -1212,7 +1212,7 @@ class DebuggerPDP11 extends Debugger {
if (trapStatus) { if (trapStatus) {
var reason = trapStatus >> 8; var reason = trapStatus >> 8;
var sReason = reason < 0? PDP11.REASONS[-reason] : this.toStrBase(reason); var sReason = reason < 0? PDP11.REASONS[-reason] : this.toStrBase(reason);
this.println("trapped to " + this.toStrBase(trapStatus & 0xff, 1) + " (" + sReason + ")"); this.println("trapped to " + this.toStrBase(trapStatus & 0xff, 8) + " (" + sReason + ")");
} }
this.dbgAddrNextCode = this.newAddr(this.cpu.getPC()); this.dbgAddrNextCode = this.newAddr(this.cpu.getPC());
@ -2073,15 +2073,15 @@ class DebuggerPDP11 extends Debugger {
} }
else if (opTypeOther == DebuggerPDP11.OP_DSTNUM3) { else if (opTypeOther == DebuggerPDP11.OP_DSTNUM3) {
disp = (opCode & 0x07); disp = (opCode & 0x07);
sOperand = this.toStrBase(disp, 1); sOperand = this.toStrBase(disp, 3);
} }
else if (opTypeOther == DebuggerPDP11.OP_DSTNUM6) { else if (opTypeOther == DebuggerPDP11.OP_DSTNUM6) {
disp = (opCode & 0x3f); disp = (opCode & 0x3f);
sOperand = this.toStrBase(disp, 1); sOperand = this.toStrBase(disp, 6);
} }
else if (opTypeOther == DebuggerPDP11.OP_DSTNUM8) { else if (opTypeOther == DebuggerPDP11.OP_DSTNUM8) {
disp = (opCode & 0xff); disp = (opCode & 0xff);
sOperand = this.toStrBase(disp, 1); sOperand = this.toStrBase(disp, 8);
} }
else { else {
/* /*
@ -2123,7 +2123,7 @@ class DebuggerPDP11 extends Debugger {
* When using R7 (aka PC), POST-INCREMENT is known as IMMEDIATE * When using R7 (aka PC), POST-INCREMENT is known as IMMEDIATE
*/ */
wIndex = this.getWord(dbgAddr, 2); wIndex = this.getWord(dbgAddr, 2);
sOperand = '#' + this.toStrBase(wIndex, 0, true); sOperand = '#' + this.toStrBase(wIndex, -1);
} }
break; break;
@ -2135,7 +2135,7 @@ class DebuggerPDP11 extends Debugger {
* When using R7 (aka PC), POST-INCREMENT DEFERRED is known as ABSOLUTE * When using R7 (aka PC), POST-INCREMENT DEFERRED is known as ABSOLUTE
*/ */
wIndex = this.getWord(dbgAddr, 2); wIndex = this.getWord(dbgAddr, 2);
sOperand = "@#" + this.toStrBase(wIndex, 0, true); sOperand = "@#" + this.toStrBase(wIndex, -1);
sTarget = this.getTarget(wIndex); sTarget = this.getTarget(wIndex);
} }
break; break;
@ -2150,7 +2150,7 @@ class DebuggerPDP11 extends Debugger {
case PDP11.OPMODE.INDEX: // 0x6: INDEX case PDP11.OPMODE.INDEX: // 0x6: INDEX
wIndex = this.getWord(dbgAddr, 2); wIndex = this.getWord(dbgAddr, 2);
sOperand = this.toStrBase(wIndex, 0, true) + '(' + this.getRegName(reg) + ')'; sOperand = this.toStrBase(wIndex, -1) + '(' + this.getRegName(reg) + ')';
if (reg == 7) { if (reg == 7) {
/* /*
* When using R7 (aka PC), INDEX is known as RELATIVE. However, instead of displaying * When using R7 (aka PC), INDEX is known as RELATIVE. However, instead of displaying
@ -2936,9 +2936,9 @@ class DebuggerPDP11 extends Debugger {
if (shift == size) { if (shift == size) {
if (fJSON) { if (fJSON) {
if (sData) sData += ","; if (sData) sData += ",";
sData += "0x"+ Str.toHex(data, size * 2); sData += "0x"+ Str.toHex(data, size << 1);
} else { } else {
sData += this.toStrBase(data, size); sData += this.toStrBase(data, size << 3);
sData += (size == 1? (i == 9? '-' : ' ') : " "); sData += (size == 1? (i == 9? '-' : ' ') : " ");
} }
data = shift = 0; data = shift = 0;
@ -3007,7 +3007,7 @@ class DebuggerPDP11 extends Debugger {
if (vNew & ~mask) { if (vNew & ~mask) {
this.println("warning: " + Str.toHex(vNew) + " exceeds " + size + "-byte value"); this.println("warning: " + Str.toHex(vNew) + " exceeds " + size + "-byte value");
} }
this.println("changing " + this.toStrAddr(dbgAddr) + (this.messageEnabled(MessagesPDP11.BUS)? "" : (" from " + this.toStrBase(fnGet.call(this, dbgAddr), size))) + " to " + this.toStrBase(vNew, size)); this.println("changing " + this.toStrAddr(dbgAddr) + (this.messageEnabled(MessagesPDP11.BUS)? "" : (" from " + this.toStrBase(fnGet.call(this, dbgAddr), size << 3))) + " to " + this.toStrBase(vNew, size << 3));
//noinspection JSUnresolvedFunction //noinspection JSUnresolvedFunction
fnSet.call(this, dbgAddr, vNew, size); fnSet.call(this, dbgAddr, vNew, size);
} }

View file

@ -146,16 +146,16 @@ class DevicePDP11 extends Component {
if (DEBUGGER) { if (DEBUGGER) {
var dbg = this.dbg; var dbg = this.dbg;
if (sFilter && sName.indexOf(sFilter.toUpperCase()) < 0) return; if (sFilter && sName.indexOf(sFilter.toUpperCase()) < 0) return;
var nBits = 0;
var nRegs = 8; var nRegs = 8;
var sDump = ""; var sDump = "";
var fIndex = false; var fIndex = false;
var nBytes = 0;
var nWidth = 8; var nWidth = 8;
if (offset < 0) { if (offset < 0) {
nBits = 22;
nRegs = aRegs.length; nRegs = aRegs.length;
offset = 0; offset = 0;
fIndex = true; fIndex = true;
nBytes = 3;
nWidth = 4; nWidth = 4;
} }
for (var i = 0; i < nRegs; i++) { for (var i = 0; i < nRegs; i++) {
@ -163,7 +163,7 @@ class DevicePDP11 extends Component {
if (sDump) sDump += '\n'; if (sDump) sDump += '\n';
sDump += sName + (fIndex? ('[' + Str.toDec(i, 2) + ']') : '') + ':'; sDump += sName + (fIndex? ('[' + Str.toDec(i, 2) + ']') : '') + ':';
} }
sDump += ' ' + dbg.toStrBase(aRegs[offset + i], nBytes); sDump += ' ' + dbg.toStrBase(aRegs[offset + i], nBits);
} }
dbg.println(sDump + (fBreak? '\n' : '')); dbg.println(sDump + (fBreak? '\n' : ''));
} }

View file

@ -647,31 +647,42 @@ class Debugger extends Component {
} }
/** /**
* toStrBase(n, nBytes, fStripLeadingZeros) * toStrBase(n, nBits)
* *
* Use this instead of Str.toHex() or Str.toOct() to convert bytes/words to the Debugger's default base. * Use this instead of Str's toOct()/toDec()/toHex() to convert numbers to the Debugger's default base.
*
* TODO: The 32-bit limitation on n is imposed by the Str functions we call, not us. Consider modifying
* those functions to support a higher number of bits (eg, 36), using arithmetic operators instead of bit-wise
* operators, and increasing the maximum number of supported bits to at least 52, while still using JavaScript
* floating-point numbers as the underlying data type.
*
* For now, the only component that really cares about supporting more than 32 bits (eg, 36 bits) is the PDP-10
* Debugger, which currently uses its own functions (eg, toStrWord()) to divide quantities into smaller (eg, 18-bit)
* values.
* *
* @this {Debugger} * @this {Debugger}
* @param {number|null|undefined} n * @param {number|null|undefined} n (interpreted as a 32-bit value)
* @param {number} [nBytes] is the number of bytes to display, which we translate into a number of characters * @param {number} [nBits] (-1 to strip leading zeros, 0 to allow a variable number of digits)
* @param {boolean} [fStripLeadingZeros]
* @return {string} * @return {string}
*/ */
toStrBase(n, nBytes = 0, fStripLeadingZeros = false) { toStrBase(n, nBits = 0) {
var s; var s;
switch(this.nBase) { switch(this.nBase) {
case 8: case 8:
s = Str.toOct(n, nBytes * 3 /* - (nBytes > 2? 1 : 0) */); s = Str.toOct(n, nBits > 0? ((nBits + 2)/3)|0 : 0);
break; break;
case 10: case 10:
s = n.toString(); /*
* The multiplier is actually Math.log(2)/Math.log(10), but an approximation is more than adequate.
*/
s = Str.toDec(n, nBits > 0? Math.ceil(nBits * 0.3) : 0);
break; break;
case 16: case 16:
default: default:
s = Str.toHex(n, nBytes * 2); s = Str.toHex(n, nBits > 0? ((nBits + 3) >> 2) : 0);
break; break;
} }
return (fStripLeadingZeros? Str.stripLeadingZeros(s) : s); return (nBits < 0? Str.stripLeadingZeros(s) : s);
} }
} }

View file

@ -143,7 +143,7 @@ class Str {
* *
* Converts an integer to binary, with the specified number of digits (up to the default of 32). * Converts an integer to binary, with the specified number of digits (up to the default of 32).
* *
* @param {number|null|undefined} n is a 32-bit value * @param {number|null|undefined} n (interpreted as a 32-bit value)
* @param {number} [cch] is the desired number of binary digits (32 is both the default and the maximum) * @param {number} [cch] is the desired number of binary digits (32 is both the default and the maximum)
* @param {number} [grouping] * @param {number} [grouping]
* @return {string} the binary representation of n * @return {string} the binary representation of n
@ -171,7 +171,7 @@ class Str {
s = "," + s; s = "," + s;
group = grouping; group = grouping;
} }
s = (fInvalid ? '?' : ((n & 0x1) ? '1' : '0')) + s; s = (fInvalid? '?' : ((n & 0x1)? '1' : '0')) + s;
n >>= 1; n >>= 1;
group--; group--;
} }
@ -183,7 +183,7 @@ class Str {
* *
* Converts an integer to binary, with the specified number of bytes (up to the default of 4). * Converts an integer to binary, with the specified number of bytes (up to the default of 4).
* *
* @param {number|null|undefined} n is a 32-bit value * @param {number|null|undefined} n (interpreted as a 32-bit value)
* @param {number} [cb] is the desired number of binary bytes (4 is both the default and the maximum) * @param {number} [cb] is the desired number of binary bytes (4 is both the default and the maximum)
* @param {boolean} [fPrefix] * @param {boolean} [fPrefix]
* @return {string} the binary representation of n * @return {string} the binary representation of n
@ -197,7 +197,7 @@ class Str {
s = Str.toBin(n & 0xff, 8) + s; s = Str.toBin(n & 0xff, 8) + s;
n >>= 8; n >>= 8;
} }
return (fPrefix ? "0b" : "") + s; return (fPrefix? "0b" : "") + s;
} }
/** /**
@ -209,7 +209,7 @@ class Str {
* doesn't properly convert negative values. Moreover, if n is undefined, n.toString() will throw * doesn't properly convert negative values. Moreover, if n is undefined, n.toString() will throw
* an exception, whereas this function will return '?' characters. * an exception, whereas this function will return '?' characters.
* *
* @param {number|null|undefined} n is a 32-bit value * @param {number|null|undefined} n (interpreted as a 32-bit value)
* @param {number} [cch] is the desired number of octal digits (0 or undefined for default of either 6 or 11) * @param {number} [cch] is the desired number of octal digits (0 or undefined for default of either 6 or 11)
* @param {boolean} [fPrefix] * @param {boolean} [fPrefix]
* @return {string} the octal representation of n * @return {string} the octal representation of n
@ -221,7 +221,7 @@ class Str {
if (cch) { if (cch) {
if (cch > 11) cch = 11; if (cch > 11) cch = 11;
} else { } else {
cch = (n & ~0xffffff) ? 11 : ((n & ~0xffff) ? 8 : 6); cch = (n & ~0xffffff)? 11 : ((n & ~0xffff)? 8 : 6);
} }
/* /*
* An initial "falsey" check for null takes care of both null and undefined; * An initial "falsey" check for null takes care of both null and undefined;
@ -240,7 +240,7 @@ class Str {
n >>= 3; n >>= 3;
} }
} }
return (fPrefix ? "0o" : "") + s; return (fPrefix? "0o" : "") + s;
} }
/** /**
@ -252,7 +252,7 @@ class Str {
* doesn't properly convert negative values. Moreover, if n is undefined, n.toString() will throw * doesn't properly convert negative values. Moreover, if n is undefined, n.toString() will throw
* an exception, whereas this function will return '?' characters. * an exception, whereas this function will return '?' characters.
* *
* @param {number|null|undefined} n is a 32-bit value * @param {number|null|undefined} n (interpreted as a 32-bit value)
* @param {number} [cch] is the desired number of decimal digits (0 or undefined for default of either 5 or 10) * @param {number} [cch] is the desired number of decimal digits (0 or undefined for default of either 5 or 10)
* @return {string} the octal representation of n * @return {string} the octal representation of n
*/ */
@ -263,7 +263,7 @@ class Str {
if (cch) { if (cch) {
if (cch > 10) cch = 10; if (cch > 10) cch = 10;
} else { } else {
cch = (n & ~0xffff) ? 10 : 5; cch = (n & ~0xffff)? 10 : 5;
} }
/* /*
* An initial "falsey" check for null takes care of both null and undefined; * An initial "falsey" check for null takes care of both null and undefined;
@ -302,7 +302,7 @@ class Str {
* s = "00000000".substr(0, 8 - s.length) + s; * s = "00000000".substr(0, 8 - s.length) + s;
* s = s.substr(0, cch).toUpperCase(); * s = s.substr(0, cch).toUpperCase();
* *
* @param {number|null|undefined} n is a 32-bit value * @param {number|null|undefined} n (interpreted as a 32-bit value)
* @param {number} [cch] is the desired number of hex digits (0 or undefined for default of either 4 or 8) * @param {number} [cch] is the desired number of hex digits (0 or undefined for default of either 4 or 8)
* @param {boolean} [fPrefix] * @param {boolean} [fPrefix]
* @return {string} the hex representation of n * @return {string} the hex representation of n
@ -314,7 +314,7 @@ class Str {
if (cch) { if (cch) {
if (cch > 8) cch = 8; if (cch > 8) cch = 8;
} else { } else {
cch = (n & ~0xffff) ? 8 : 4; cch = (n & ~0xffff)? 8 : 4;
} }
/* /*
* An initial "falsey" check for null takes care of both null and undefined; * An initial "falsey" check for null takes care of both null and undefined;
@ -329,12 +329,12 @@ class Str {
} else { } else {
while (cch-- > 0) { while (cch-- > 0) {
var d = n & 0xf; var d = n & 0xf;
d += (d >= 0 && d <= 9 ? 0x30 : 0x41 - 10); d += (d >= 0 && d <= 9? 0x30 : 0x41 - 10);
s = String.fromCharCode(d) + s; s = String.fromCharCode(d) + s;
n >>= 4; n >>= 4;
} }
} }
return (fPrefix ? "0x" : "") + s; return (fPrefix? "0x" : "") + s;
} }
/** /**
@ -492,7 +492,7 @@ class Str {
* and the hyphen is last, you can avoid escaping those as well. * and the hyphen is last, you can avoid escaping those as well.
*/ */
k = k.replace(/([\\[\]*{}().+?])/g, "\\$1"); k = k.replace(/([\\[\]*{}().+?])/g, "\\$1");
sMatch += (sMatch ? '|' : '') + k; sMatch += (sMatch? '|' : '') + k;
} }
return s.replace(new RegExp('(' + sMatch + ')', "g"), function(m) return s.replace(new RegExp('(' + sMatch + ')', "g"), function(m)
{ {
@ -513,7 +513,7 @@ class Str {
static pad(s, cch, fPadLeft) static pad(s, cch, fPadLeft)
{ {
var sPadding = " "; var sPadding = " ";
return fPadLeft ? (sPadding + s).slice(-cch) : (s + sPadding).slice(0, cch); return fPadLeft? (sPadding + s).slice(-cch) : (s + sPadding).slice(0, cch);
} }
/** /**

View file

@ -202,8 +202,8 @@ function Vf(a,b,c){var d;if(b){b=Wf(a,b);for(var e=0,f=!1,g=b,h=[],k=[],p=b.spli
d))}return d}function Wf(a,b){for(var c,d=/\{(.*?)\}/;(c=b.match(d))&&!(0<=c[1].indexOf("{"));){var e=Vf(a,c[1]);b=b.replace("{"+c[1]+"}",null!=e?$f(a,e):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)b=b.replace("["+c[1]+"]","unimplemented");for(;c=b.match(/\$([a-z]+)/i);){d=null;switch(c[1].toLowerCase()){case "ops":d=a.N-a.Y}if(null==d)break;b=b.replace(c[0],d.toString())}return b} d))}return d}function Wf(a,b){for(var c,d=/\{(.*?)\}/;(c=b.match(d))&&!(0<=c[1].indexOf("{"));){var e=Vf(a,c[1]);b=b.replace("{"+c[1]+"}",null!=e?$f(a,e):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)b=b.replace("["+c[1]+"]","unimplemented");for(;c=b.match(/\$([a-z]+)/i);){d=null;switch(c[1].toLowerCase()){case "ops":d=a.N-a.Y}if(null==d)break;b=b.replace(c[0],d.toString())}return b}
function Xf(a,b,c,d){var e;null!=b?(e=a.Kb(b),0<=e?e=a.Lb(e):(e=a.S[b],null==e&&(e=Ha(b,a.na))),null!=e||d||a.i("invalid "+(c?c:"value")+": "+b)):d||a.i("missing "+(c||"value"));return e} function Xf(a,b,c,d){var e;null!=b?(e=a.Kb(b),0<=e?e=a.Lb(e):(e=a.S[b],null==e&&(e=Ha(b,a.na))),null!=e||d||a.i("invalid "+(c?c:"value")+": "+b)):d||a.i("missing "+(c||"value"));return e}
function Zf(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f=4,g="";if(!f||4<f)f=4;for(var h=0;h<f;h++){g&&(g=","+g);var k=d&255,p=void 0,u=8,v="";u?32<u&&(u=32):u=32;for(var B=null==k||isNaN(k),y=p=p||u;0<u--;)y||(v=","+v,y=p),v=(B?"?":k&1?"1":"0")+v,k>>=1,y--;g=v+g;d>>=8}d=t(c,0,!0)+" "+c+". "+Ia(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.i((null!=b?b+": ":"")+d);return e} function Zf(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f=4,g="";if(!f||4<f)f=4;for(var h=0;h<f;h++){g&&(g=","+g);var k=d&255,p=void 0,u=8,v="";u?32<u&&(u=32):u=32;for(var B=null==k||isNaN(k),y=p=p||u;0<u--;)y||(v=","+v,y=p),v=(B?"?":k&1?"1":"0")+v,k>>=1,y--;g=v+g;d>>=8}d=t(c,0,!0)+" "+c+". "+Ia(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.i((null!=b?b+": ":"")+d);return e}
function ag(a,b){if(b)return Zf(a,b,a.S[b]);var c=0;for(b in a.S)Zf(a,b,a.S[b]),c++;return 0<c}function $f(a,b){var c;c=void 0===c?0:c;switch(a.na){case 8:a=Ia(b,3*c);break;case 10:a=b.toString();break;default:a=t(b,2*c)}return a}var Yf={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; function ag(a,b){if(b)return Zf(a,b,a.S[b]);var c=0;for(b in a.S)Zf(a,b,a.S[b]),c++;return 0<c}function $f(a,b){var c;c=void 0===c?0:c;switch(a.na){case 8:a=Ia(b,0<c?(c+2)/3|0:0);break;case 10:a=b;b=0<c?Math.ceil(.3*c):0;var d="";b?10<b&&(b=10):b=a&-65536?10:5;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;)d=String.fromCharCode(a%10+48)+d,a/=10;a=d;break;default:a=t(b,0<c?c+3>>2:0)}0>c?c=a.replace(/^0+([0-9A-F]+)$/i,"$1"):c=a;return c}
function bg(a){Tf.call(this,a);this.style=cg;this.F=dg();this.la=dg();this.O=dg();this.A=[];this.j=this.I=this.w=[];eg(this);this.W=0;fg(this);this.Z={};gg(this,a.messages);this.ea=a.commands;var b=this;window?void 0===window.pc8080&&(window.pc8080=function(a){return Fc(b,a)}):void 0===global.pc8080&&(global.pc8080=function(a){return Fc(b,a)})}aa(bg,Tf);l=bg.prototype; var Yf={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};function bg(a){Tf.call(this,a);this.style=cg;this.F=dg();this.la=dg();this.O=dg();this.A=[];this.j=this.I=this.w=[];eg(this);this.W=0;fg(this);this.Z={};gg(this,a.messages);this.ea=a.commands;var b=this;window?void 0===window.pc8080&&(window.pc8080=function(a){return Fc(b,a)}):void 0===global.pc8080&&(global.pc8080=function(a){return Fc(b,a)})}aa(bg,Tf);l=bg.prototype;
l.Ea=function(a,b,c,d){this.H=b;this.u=c;this.R=a;(a=Bc(a,"messages"))&&gg(this,a);this.ga=hg;Sd(this,64,function(a){a:{var b=d.H.b,c=a[0],e=a=0,k=b.length;if(c){a=ig(jg(d,c));if(-1===a){d.i("invalid address: "+c);break a}e=a>>>d.H.g;k=1}d.i("blockid physical blockaddr used size type");d.i("-------- --------- ---------- ------ ------ ----");for(var c=-1,p=0;k--;){var u=b[e];u.type==c?p++||d.i("..."):(c=u.type,p=Ib[c],u&&d.i(t(u.id)+" %"+t(e<<d.H.g)+" %%"+t(u.J)+" "+x(u.pb)+" "+ l.Ea=function(a,b,c,d){this.H=b;this.u=c;this.R=a;(a=Bc(a,"messages"))&&gg(this,a);this.ga=hg;Sd(this,64,function(a){a:{var b=d.H.b,c=a[0],e=a=0,k=b.length;if(c){a=ig(jg(d,c));if(-1===a){d.i("invalid address: "+c);break a}e=a>>>d.H.g;k=1}d.i("blockid physical blockaddr used size type");d.i("-------- --------- ---------- ------ ------ ----");for(var c=-1,p=0;k--;){var u=b[e];u.type==c?p++||d.i("..."):(c=u.type,p=Ib[c],u&&d.i(t(u.id)+" %"+t(e<<d.H.g)+" %%"+t(u.J)+" "+x(u.pb)+" "+
x(u.size)+" "+p),c!=dc&&(c=-1),p=0);a+=d.H.w;e++}}});Aa(this)}; x(u.size)+" "+p),c!=dc&&(c=-1),p=0);a+=d.H.w;e++}}});Aa(this)};
l.ca=function(a,b,c){var d=this;switch(b){case "debugInput":return this.U=this.P[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",Fc(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.b<d.g.length-1&&(b=d.g[++d.b])):40==a.keyCode&&(0<d.b?b=d.g[--d.b]:(b="",d.b=-1)),null!=b){var e=b.length;c.value=b;c.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.P[b]=c,lb(c,function(){if(d.U){var a=d.U.value;d.U.value= l.ca=function(a,b,c){var d=this;switch(b){case "debugInput":return this.U=this.P[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",Fc(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.b<d.g.length-1&&(b=d.g[++d.b])):40==a.keyCode&&(0<d.b?b=d.g[--d.b]:(b="",d.b=-1)),null!=b){var e=b.length;c.value=b;c.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.P[b]=c,lb(c,function(){if(d.U){var a=d.U.value;d.U.value=

View file

@ -718,7 +718,7 @@ case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d
function Px(a,b,c){var d;if(b){b=Qx(a,b);for(var e=0,f=!1,g=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<m.length;){var p=m[e++],w=p.length,p=ra(p);if(!p){f=!0;break}p=Rx(a,p,null,!1===c);if(void 0===p){f=!0;c=!1;break}h.push(p);if(e==m.length)break;var p=m[e++],u=p.length;k.length&&Sx[p]<Sx[k[k.length-1]]&&Ox(h,k,1);k.push(p);b=b.substr(w+u)}Ox(h,k)&&1==h.length||(f=!0);f?c&&a.P("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(),c&&Tx(a,null, function Px(a,b,c){var d;if(b){b=Qx(a,b);for(var e=0,f=!1,g=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<m.length;){var p=m[e++],w=p.length,p=ra(p);if(!p){f=!0;break}p=Rx(a,p,null,!1===c);if(void 0===p){f=!0;c=!1;break}h.push(p);if(e==m.length)break;var p=m[e++],u=p.length;k.length&&Sx[p]<Sx[k[k.length-1]]&&Ox(h,k,1);k.push(p);b=b.substr(w+u)}Ox(h,k)&&1==h.length||(f=!0);f?c&&a.P("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(),c&&Tx(a,null,
d))}return d}function Qx(a,b){for(var c,d=/\{(.*?)\}/;(c=b.match(d))&&!(0<=c[1].indexOf("{"));){var e=Px(a,c[1]);b=b.replace("{"+c[1]+"}",null!=e?Ux(a,e):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)b=a.Pk(b,c[1]);for(;c=b.match(/\$([a-z]+)/i);){d=null;switch(c[1].toLowerCase()){case "ops":d=a.W-a.ga}if(null==d)break;b=b.replace(c[0],d.toString())}return b} d))}return d}function Qx(a,b){for(var c,d=/\{(.*?)\}/;(c=b.match(d))&&!(0<=c[1].indexOf("{"));){var e=Px(a,c[1]);b=b.replace("{"+c[1]+"}",null!=e?Ux(a,e):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)b=a.Pk(b,c[1]);for(;c=b.match(/\$([a-z]+)/i);){d=null;switch(c[1].toLowerCase()){case "ops":d=a.W-a.ga}if(null==d)break;b=b.replace(c[0],d.toString())}return b}
function Rx(a,b,c,d){var e;null!=b?(e=a.gh(b),0<=e?e=a.hh(e):(e=a.da[b],null==e&&(e=ga(b,a.ya))),null!=e||d||a.P("invalid "+(c?c:"value")+": "+b)):d||a.P("missing "+(c||"value"));return e}function Tx(a,b,c){var d,e=!1;void 0!==c&&(e=!0,d=q(c,0,!0)+" "+c+". "+ja(c,0,!0)+" "+ia(c,4,!0),32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'"));a.P((null!=b?b+": ":"")+d);return e}function Vx(a,b){if(b)return Tx(a,b,a.da[b]);var c=0;for(b in a.da)Tx(a,b,a.da[b]),c++;return 0<c} function Rx(a,b,c,d){var e;null!=b?(e=a.gh(b),0<=e?e=a.hh(e):(e=a.da[b],null==e&&(e=ga(b,a.ya))),null!=e||d||a.P("invalid "+(c?c:"value")+": "+b)):d||a.P("missing "+(c||"value"));return e}function Tx(a,b,c){var d,e=!1;void 0!==c&&(e=!0,d=q(c,0,!0)+" "+c+". "+ja(c,0,!0)+" "+ia(c,4,!0),32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'"));a.P((null!=b?b+": ":"")+d);return e}function Vx(a,b){if(b)return Tx(a,b,a.da[b]);var c=0;for(b in a.da)Tx(a,b,a.da[b]),c++;return 0<c}
function Ux(a,b){var c;c=void 0===c?0:c;switch(a.ya){case 8:a=ja(b,3*c);break;case 10:a=b.toString();break;default:a=q(b,2*c)}return a}var Sx={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; function Ux(a,b){var c;c=void 0===c?0:c;switch(a.ya){case 8:a=ja(b,0<c?(c+2)/3|0:0);break;case 10:a=b;b=0<c?Math.ceil(.3*c):0;var d="";b?10<b&&(b=10):b=a&-65536?10:5;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;)d=String.fromCharCode(a%10+48)+d,a/=10;a=d;break;default:a=q(b,0<c?c+3>>2:0)}0>c?c=a.replace(/^0+([0-9A-F]+)$/i,"$1"):c=a;return c}var Sx={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
function Wx(a){Nx.call(this,a);this.oa=4;this.ha=5;this.wa=1048575;this.K=Xx(this);this.Ga=Xx(this);this.Z=Xx(this);this.D=[];this.B=this.Y=this.M=[];Yx(this);this.ta=0;Zx(this);this.za={};$x(this,a.messages);this.Ca=a.commands;var b=this;window?void 0===window.pcx86&&(window.pcx86=function(a){return ay(b,a)}):void 0===global.pcx86&&(global.pcx86=function(a){return ay(b,a)})}ba(Wx,Nx);l=Wx.prototype; function Wx(a){Nx.call(this,a);this.oa=4;this.ha=5;this.wa=1048575;this.K=Xx(this);this.Ga=Xx(this);this.Z=Xx(this);this.D=[];this.B=this.Y=this.M=[];Yx(this);this.ta=0;Zx(this);this.za={};$x(this,a.messages);this.Ca=a.commands;var b=this;window?void 0===window.pcx86&&(window.pcx86=function(a){return ay(b,a)}):void 0===global.pcx86&&(global.pcx86=function(a){return ay(b,a)})}ba(Wx,Nx);l=Wx.prototype;
l.uc=function(a,b,c,d){this.ka=b;this.H=c;this.pa=a;this.Za=Ob(a,"FDC");this.Ha=Ob(a,"HDC");this.Tc=Ob(a,"FPU");this.G=Ob(a,"Mouse");(a=qd(a,"messages"))&&$x(this,a);this.ha=b.I>>2;this.wa=b.N;this.Ta=new Kd(this.H,7,"DBG");this.ma=by;80186<=this.H.ca&&(this.ma=by.slice(),this.ma[15]=cy,80286<=this.H.ca&&(this.ma[15]=dy,80386<=this.H.ca&&(this.oa=8)));rl(this,64,function(a){ey(d,d.H.sc,a[0])});rl(this,4,function(a){if(a=a[0]){var b=Rx(d,a);if(void 0===b)d.P("invalid selector: "+a);else if(a=fy(d, l.uc=function(a,b,c,d){this.ka=b;this.H=c;this.pa=a;this.Za=Ob(a,"FDC");this.Ha=Ob(a,"HDC");this.Tc=Ob(a,"FPU");this.G=Ob(a,"Mouse");(a=qd(a,"messages"))&&$x(this,a);this.ha=b.I>>2;this.wa=b.N;this.Ta=new Kd(this.H,7,"DBG");this.ma=by;80186<=this.H.ca&&(this.ma=by.slice(),this.ma[15]=cy,80286<=this.H.ca&&(this.ma[15]=dy,80386<=this.H.ca&&(this.oa=8)));rl(this,64,function(a){ey(d,d.H.sc,a[0])});rl(this,4,function(a){if(a=a[0]){var b=Rx(d,a);if(void 0===b)d.P("invalid selector: "+a);else if(a=fy(d,
b,gy),d.P("dumpSel("+ka(a?a.U:b)+"): %"+q(a?a.Lb:null,d.ha)),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 e=hy[a.type];e&&(c=e[0],b=e[1])}!c||a.jb&32768||(c+=",not present");d.P((b?"seg="+ka(a.ua&65535)+" off="+ka(a.Ka):"base="+q(a.ua,d.ha)+" limit="+iy(a.Ka))+" type="+r(a.type>>8)+" ("+c+") ext="+ka(a.ext&-65296)+ b,gy),d.P("dumpSel("+ka(a?a.U:b)+"): %"+q(a?a.Lb:null,d.ha)),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 e=hy[a.type];e&&(c=e[0],b=e[1])}!c||a.jb&32768||(c+=",not present");d.P((b?"seg="+ka(a.ua&65535)+" off="+ka(a.Ka):"base="+q(a.ua,d.ha)+" limit="+iy(a.Ka))+" type="+r(a.type>>8)+" ("+c+") ext="+ka(a.ext&-65296)+

View file

@ -28,8 +28,8 @@
http://pcjs.org/modules/pdp10/lib/debugger.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/pdp10/lib/debugger.js (C) Jeff Parsons 2012-2017
*/ */
var l,aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ba="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this;function ea(){ea=function(){};ba.Symbol||(ba.Symbol=fa)}var ga=0;function fa(a){return"jscomp_symbol_"+(a||"")+ga++} var l,aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ba="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this;function ea(){ea=function(){};ba.Symbol||(ba.Symbol=fa)}var ga=0;function fa(a){return"jscomp_symbol_"+(a||"")+ga++}
function ha(){ea();var a=ba.Symbol.iterator;a||(a=ba.Symbol.iterator=ba.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&aa(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return oa(this)}});ha=function(){}}function oa(a){var b=0;return pa(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function pa(a){ha();a={next:a};a[ba.Symbol.iterator]=function(){return this};return a} function ha(){ea();var a=ba.Symbol.iterator;a||(a=ba.Symbol.iterator=ba.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&aa(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return ia(this)}});ha=function(){}}function ia(a){var b=0;return pa(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function pa(a){ha();a={next:a};a[ba.Symbol.iterator]=function(){return this};return a}
function q(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a;for(var d in b)if(Object.defineProperties){var e=Object.getOwnPropertyDescriptor(b,d);e&&Object.defineProperty(a,d,e)}else a[d]=b[d]}function qa(a,b){if(b){var c=ba;a=a.split(".");for(var d=0;d<a.length-1;d++){var e=a[d];e in c||(c[e]={});c=c[e]}a=a[a.length-1];d=c[a];b=b(d);b!=d&&null!=b&&aa(c,a,{configurable:!0,writable:!0,value:b})}} function r(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a;for(var d in b)if(Object.defineProperties){var e=Object.getOwnPropertyDescriptor(b,d);e&&Object.defineProperty(a,d,e)}else a[d]=b[d]}function qa(a,b){if(b){var c=ba;a=a.split(".");for(var d=0;d<a.length-1;d++){var e=a[d];e in c||(c[e]={});c=c[e]}a=a[a.length-1];d=c[a];b=b(d);b!=d&&null!=b&&aa(c,a,{configurable:!0,writable:!0,value:b})}}
qa("Math.trunc",function(a){return a?a:function(a){a=Number(a);if(isNaN(a)||Infinity===a||-Infinity===a||!a)return a;var b=Math.floor(Math.abs(a));return 0>a?-b:b}});qa("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}}); qa("Math.trunc",function(a){return a?a:function(a){a=Number(a);if(isNaN(a)||Infinity===a||-Infinity===a||!a)return a;var b=Math.floor(Math.abs(a));return 0>a?-b:b}});qa("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}});
var ra=Math.pow(2,36),sa=-Math.pow(2,35),t={Vb:0,jb:1,Xb:2,Yb:3,Zb:4,$b:5,ac:6,bc:7,Wa:8,cc:9,kb:10,dc:11,ec:12,lb:13,fc:14,gc:15,hc:16,ic:17,jc:18,kc:19,lc:20,mc:21,nc:22,oc:23,pc:24,qc:25,rc: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,Va:65,Ub:66,Wb:67,sc:68,E:69,tc:70,uc:71,vc:72,wc:73,xc:74,yc:75,zc:76,Ac:77,Bc:78,Cc:79,Dc:80,Q:81, var ra=Math.pow(2,36),sa=-Math.pow(2,35),t={Vb:0,jb:1,Xb:2,Yb:3,Zb:4,$b:5,ac:6,bc:7,Wa:8,cc:9,kb:10,dc:11,ec:12,lb:13,fc:14,gc:15,hc:16,ic:17,jc:18,kc:19,lc:20,mc:21,nc:22,oc:23,pc:24,qc:25,rc: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,Va:65,Ub:66,Wb:67,sc:68,E:69,tc:70,uc:71,vc:72,wc:73,xc:74,yc:75,zc:76,Ac:77,Bc:78,Cc:79,Dc:80,Q:81,
Ec:82,Fc:83,Gc:84,Hc:85,Ic:86,Jc:87,Kc:88,Lc:89,ob:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Mc:97,Nc:98,Oc:99,d:100,e:101,Pc:102,Qc:103,Rc:104,Sc:105,Tc:106,k:107,Uc:108,Vc:109,n:110,Wc:111,p:112,q:113,r:114,Xc:115,t:116,Zc:117,$c:118,ad:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,mb:127}; Ec:82,Fc:83,Gc:84,Hc:85,Ic:86,Jc:87,Kc:88,Lc:89,ob:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Mc:97,Nc:98,Oc:99,d:100,e:101,Pc:102,Qc:103,Rc:104,Sc:105,Tc:106,k:107,Uc:108,Vc:109,n:110,Wc:111,p:112,q:113,r:114,Xc:115,t:116,Zc:117,$c:118,ad:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,mb:127};
@ -38,167 +38,167 @@ function x(a){window&&window.alert(a)}function wa(a){var b=!1;window&&(b=window.
function z(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<v.length;d++)if(c)c==v[d]&&(c=null);else if(!(a!=v[d].type||b&&v[d].id.indexOf(b)))return v[d]}return null}function A(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){x(c.message+" ("+a+")")}return b} function z(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<v.length;d++)if(c)c==v[d]&&(c=null);else if(!(a!=v[d].type||b&&v[d].id.indexOf(b)))return v[d]}return null}function A(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){x(c.message+" ("+a+")")}return b}
function B(a,b){var c=C;b=D(b.parentNode,c+"-control");for(var d=0;d<b.length;d++)for(var e=b[d].childNodes,g=0;g<e.length;g++){var f=e[g];if(1===f.nodeType){var h=f.getAttribute("class");if(h)for(var k=h.split(" "),m=0;m<k.length;m++)switch(h=k[m],h){case c+"-binding":(h=A(f))&&h.binding&&a.da(h.type,h.binding,f,h.value),m=k.length}}}} function B(a,b){var c=C;b=D(b.parentNode,c+"-control");for(var d=0;d<b.length;d++)for(var e=b[d].childNodes,g=0;g<e.length;g++){var f=e[g];if(1===f.nodeType){var h=f.getAttribute("class");if(h)for(var k=h.split(" "),m=0;m<k.length;m++)switch(h=k[m],h){case c+"-binding":(h=A(f))&&h.binding&&a.da(h.type,h.binding,f,h.value),m=k.length}}}}
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} 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}
function za(a){for(var b=!0,c=Ea[a];c&&c.length;){var d=c.splice(0,1)[0],e=d[0],g=null;0<=Fa.indexOf(e)&&(g=function(){return function(){za(a)}}());var f=Ga[e];if(f)if(!g)b=f(d[1],d[2],d[3]);else{if(!f(g,d[1],d[2],d[3]))break}else{var b=!1,h=z(d[1],a);if(h)if(f=Ha[e])b=f(h,d[2],d[3]);else{var k=h.exports;if(k&&(f=k[e]))if(b=!0,!g)b=f.call(h,d[2],d[3]);else if(!f.call(h,g,d[2],d[3]))break}}if(!b){x("Script error: "+e+(f?" failed":" unrecognized"));break}}c&&!c.length&&delete Ea[a];return b}l=u.prototype; function ya(a){for(var b=!0,c=Aa[a];c&&c.length;){var d=c.splice(0,1)[0],e=d[0],g=null;0<=Ga.indexOf(e)&&(g=function(){return function(){ya(a)}}());var f=Ha[e];if(f)if(!g)b=f(d[1],d[2],d[3]);else{if(!f(g,d[1],d[2],d[3]))break}else{var b=!1,h=z(d[1],a);if(h)if(f=Ia[e])b=f(h,d[2],d[3]);else{var k=h.exports;if(k&&(f=k[e]))if(b=!0,!g)b=f.call(h,d[2],d[3]);else if(!f.call(h,g,d[2],d[3]))break}}if(!b){x("Script error: "+e+(f?" failed":" unrecognized"));break}}c&&!c.length&&delete Aa[a];return b}l=u.prototype;
l.toString=function(){return this.name?this.name:this.id||this.type}; l.toString=function(){return this.name?this.name:this.id||this.type};
l.da=function(a,b,c){switch(b){case "clear":return this.F[b]||(this.F[b]=c,c.onclick=function(a){return function(){a.F.print&&(a.F.print.value="")}}(this)),!0;case "print":return this.F[b]||(this.ja=this.F[b]=c,c.value="",this.f=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.Y=function(a){this.f(a,this.Ka)}),!0;default:return!1}};l.log=function(){};l.f=function(){}; l.da=function(a,b,c){switch(b){case "clear":return this.F[b]||(this.F[b]=c,c.onclick=function(a){return function(){a.F.print&&(a.F.print.value="")}}(this)),!0;case "print":return this.F[b]||(this.ja=this.F[b]=c,c.value="",this.f=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.Y=function(a){this.f(a,this.Ka)}),!0;default:return!1}};l.log=function(){};l.f=function(){};
l.status=function(a){this.f(this.Ka+": "+a)};l.Y=function(a,b,c){c=c||this.type;b||x((c?c+": ":"")+a)};function Ia(a,b){a.i.error=!0;a.Y(b)}function Ja(a){return a.i.error?(a.f(a.toString()+" error"),!0):!1}function Ka(a,b){b&&(a.i.ready?b():a.Oa=b);return a.i.ready}function E(a){if(!a.i.error&&(a.i.ready=!0,a.i.ready)){var b=a.Oa;a.Oa=null;b&&b()}}function La(a,b){a.i.Ea&&(b?a.i.Sa=!0:void 0===b&&a.f(a.toString()+" busy"));return a.i.Ea} l.status=function(a){this.f(this.Ka+": "+a)};l.Y=function(a,b,c){c=c||this.type;b||x((c?c+": ":"")+a)};function Ja(a,b){a.i.error=!0;a.Y(b)}function Ka(a){return a.i.error?(a.f(a.toString()+" error"),!0):!1}function La(a,b){b&&(a.i.ready?b():a.Oa=b);return a.i.ready}function E(a){if(!a.i.error&&(a.i.ready=!0,a.i.ready)){var b=a.Oa;a.Oa=null;b&&b()}}function Ma(a,b){a.i.Ea&&(b?a.i.Sa=!0:void 0===b&&a.f(a.toString()+" busy"));return a.i.Ea}
function Ma(a,b){if(a.i.Sa)return a.i.Ea=!1,a.i.Sa=!1;if(a.i.error)return a.f(a.toString()+" error"),!1;a.i.Ea=b;return a.i.Ea}l.la=function(){return this.i.T=!0};l.ca=function(a,b){b&&(this.i.T=!1);return!0};function Na(a,b){if(a.A){a===a.A?b|=0:b=b||a.V;var c=a.A.V&b;return!!b&&c===b||!!(c&a.A.cb)}return!1}function G(a,b,c,d){a.A&&(!0===c||Na(a,c|0))&&a.A.message(b,d)} function Na(a,b){if(a.i.Sa)return a.i.Ea=!1,a.i.Sa=!1;if(a.i.error)return a.f(a.toString()+" error"),!1;a.i.Ea=b;return a.i.Ea}l.la=function(){return this.i.T=!0};l.ca=function(a,b){b&&(this.i.T=!1);return!0};function Oa(a,b){if(a.A){a===a.A?b|=0:b=b||a.V;var c=a.A.V&b;return!!b&&c===b||!!(c&a.A.cb)}return!1}function G(a,b,c,d){a.A&&(!0===c||Oa(a,c|0))&&a.A.message(b,d)}
window&&(window.PCjs||(window.PCjs={}),window.PCjs.Machines||(window.PCjs.Machines={}),window.PCjs.Components||(window.PCjs.Components=[]),window.PCjs.Commands||(window.PCjs.Commands={})); window&&(window.PCjs||(window.PCjs={}),window.PCjs.Machines||(window.PCjs.Machines={}),window.PCjs.Components||(window.PCjs.Components=[]),window.PCjs.Commands||(window.PCjs.Commands={}));
var ua=window?window.PCjs.Machines:{},v=window?window.PCjs.Components:[],Ea=window?window.PCjs.Commands:{},Fa=["hold","sleep","wait"],Ga={alert:function(a){x(a);return!0},sleep:function(a,b){setTimeout(a,+b);return!1}},Ha={select:function(a,b,c){var d=!1;if(a=a.bindings[b])for(b=0;b<a.options.length;b++)if(a.options[b].textContent==c){a.selectedIndex!=b&&(a.selectedIndex=b);d=!0;break}return d}}; var ua=window?window.PCjs.Machines:{},v=window?window.PCjs.Components:[],Aa=window?window.PCjs.Commands:{},Ga=["hold","sleep","wait"],Ha={alert:function(a){x(a);return!0},sleep:function(a,b){setTimeout(a,+b);return!1}},Ia={select:function(a,b,c){var d=!1;if(a=a.bindings[b])for(b=0;b<a.options.length;b++)if(a.options[b].textContent==c){a.selectedIndex!=b&&(a.selectedIndex=b);d=!0;break}return d}};
Array.prototype.indexOf||(Array.prototype.indexOf=function(a,b){b=b||0;for(var c=this.length;b<c;b++)if(this[b]===a)return b;return-1});Array.isArray||(Array.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)}); Array.prototype.indexOf||(Array.prototype.indexOf=function(a,b){b=b||0;for(var c=this.length;b<c;b++)if(this[b]===a)return b;return-1});Array.isArray||(Array.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)});
Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return e.apply(this instanceof c&&a?this:a,d.concat(Array.prototype.slice.call(arguments)))}function c(){}if("function"!=typeof this)throw new TypeError("Function.prototype.bind: non-callable object");var d=Array.prototype.slice.call(arguments,1),e=this;c.prototype=this.prototype;b.prototype=new c;return b}); Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return e.apply(this instanceof c&&a?this:a,d.concat(Array.prototype.slice.call(arguments)))}function c(){}if("function"!=typeof this)throw new TypeError("Function.prototype.bind: non-callable object");var d=Array.prototype.slice.call(arguments,1),e=this;c.prototype=this.prototype;b.prototype=new c;return b});
function Oa(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 g,d=a;((e=b)&&10!=e?16==e?d.match(/^[0-9a-f]+$/i):8==e?d.match(/^[0-7]+$/):2==e&& function Pa(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 g,d=a;((e=b)&&10!=e?16==e?d.match(/^[0-9a-f]+$/i):8==e?d.match(/^[0-7]+$/):2==e&&
d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(g=parseInt(a,b))&&(c=g|0)}return c}function Pa(a,b,c){var d="";b?11<b&&(b=11):b=a&-16777216?11:a&-65536?8:6;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;)d=String.fromCharCode((a&7)+48)+d,a>>=3;return(c?"0o":"")+d}function H(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} d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(g=parseInt(a,b))&&(c=g|0)}return c}function Qa(a,b,c){var d="";b?11<b&&(b=11):b=a&-16777216?11:a&-65536?8:6;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;)d=String.fromCharCode((a&7)+48)+d,a>>=3;return(c?"0o":"")+d}function H(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 I(a){return H(a,4,!0)}function Qa(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 Ra(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function Sa(){var a=Ta();return-1!==a.indexOf("pcjs.org",a.length-8)}function Va(a){return a.replace(/[&<>"']/g,function(a){return gb[a]})}function hb(a,b){return(a+" ").slice(0,b)} function I(a){return H(a,4,!0)}function Ra(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 Sa(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function Ta(){var a=Ua();return-1!==a.indexOf("pcjs.org",a.length-8)}function Va(a){return a.replace(/[&<>"']/g,function(a){return Wa[a]})}function Xa(a,b){return(a+" ").slice(0,b)}
function ib(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var gb={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function jb(a,b,c){var d=0,e=a.length,g=0;for(c||(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var f=d+e>>1,h;h=c(b,a[f]);0<h?d=f+1:(e=f,g=!h)}return g?d:~d}function kb(){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 fb(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Wa={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function gb(a,b,c){var d=0,e=a.length,g=0;for(c||(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var f=d+e>>1,h;h=c(b,a[f]);0<h?d=f+1:(e=f,g=!h)}return g?d:~d}function hb(){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 J(a,b,c,d){c=void 0===c?!1:c;var e=0,g=null,f=null;if("object"==typeof resources&&(g=resources[a]))return d&&d(a,g,e),[g,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),f;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(g=h.responseText,200==h.status||!h.status&&g.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a, function J(a,b,c,d){c=void 0===c?!1:c;var e=0,g=null,f=null;if("object"==typeof resources&&(g=resources[a]))return d&&d(a,g,e),[g,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),f;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(g=h.responseText,200==h.status||!h.status&&g.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a,
g,e))});if(b&&"object"==typeof b){var k="",m;for(m in b)b.hasOwnProperty(m)&&(k&&(k+="&"),k+=m+"="+encodeURIComponent(b[m]));k=k.replace(/%20/g,"+");h.open("POST",a,c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(g=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,g,e),f=[g,e]);return f} g,e))});if(b&&"object"==typeof b){var k="",m;for(m in b)b.hasOwnProperty(m)&&(k&&(k+="&"),k+=m+"="+encodeURIComponent(b[m]));k=k.replace(/%20/g,"+");h.open("POST",a,c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(g=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,g,e),f=[g,e]);return f}
function lb(a,b){var c,d={W:null,S:null,ia:null,ha:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,g,f;if("<"==b.substr(0,1))throw Error(b);f=0>b.indexOf("0x")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.ia=f.load;d.ha=f.exec;if(e=f.bytes)d.W=e;else if(e=f.words)for(d.W=Array(2*e.length),g=c=0;c<e.length;c++)d.W[g++]=e[c]&255,d.W[g++]=e[c]>>8&255;else if(e=f.data)for(d.W=Array(4*e.length),g=c=0;c<e.length;c++)d.W[g++]=e[c]&255, function ib(a,b){var c,d={W:null,S:null,ia:null,ha:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,g,f;if("<"==b.substr(0,1))throw Error(b);f=0>b.indexOf("0x")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.ia=f.load;d.ha=f.exec;if(e=f.bytes)d.W=e;else if(e=f.words)for(d.W=Array(2*e.length),g=c=0;c<e.length;c++)d.W[g++]=e[c]&255,d.W[g++]=e[c]>>8&255;else if(e=f.data)for(d.W=Array(4*e.length),g=c=0;c<e.length;c++)d.W[g++]=e[c]&255,
d.W[g++]=e[c]>>8&255,d.W[g++]=e[c]>>16&255,d.W[g++]=e[c]>>24&255;else d.W=f;d.S=f.symbols;d.W.length?1==d.W.length&&(x(d.W[0]),d=null):(x("Empty resource: "+a),d=null)}catch(h){x("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;c<b.length;c++){g=parseInt(b[c],16);if(isNaN(g)){x("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(g&255)}c==b.length&&(d.W=e)}return d} d.W[g++]=e[c]>>8&255,d.W[g++]=e[c]>>16&255,d.W[g++]=e[c]>>24&255;else d.W=f;d.S=f.symbols;d.W.length?1==d.W.length&&(x(d.W[0]),d=null):(x("Empty resource: "+a),d=null)}catch(h){x("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;c<b.length;c++){g=parseInt(b[c],16);if(isNaN(g)){x("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(g&255)}c==b.length&&(d.W=e)}return d}
function Ta(){return"http://"+(window?window.location.host:"www.pcjs.org")}function mb(){if(null==nb){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}nb=a}return nb}function ob(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b} function Ua(){return"http://"+(window?window.location.host:"www.pcjs.org")}function jb(){if(null==kb){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}kb=a}return kb}function lb(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
function pb(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function qb(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)}return!1} function mb(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function nb(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)}return!1}
function rb(a){if(!sb){var b,c={};if(window){b||(b=window.location.search.substr(1));for(var d,e=/\+/g,g=/([^&=]+)=?([^&]*)/g;d=g.exec(b);)c[decodeURIComponent(d[1].replace(e," "))]=decodeURIComponent(d[2].replace(e," "))}sb=c}return sb[a]}function tb(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()} function ob(a){if(!pb){var b,c={};if(window){b||(b=window.location.search.substr(1));for(var d,e=/\+/g,g=/([^&=]+)=?([^&]*)/g;d=g.exec(b);)c[decodeURIComponent(d[1].replace(e," "))]=decodeURIComponent(d[2].replace(e," "))}pb=c}return pb[a]}function qb(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
function ub(a,b){function c(){b(100===d)&&(e=setTimeout(c,d),d=100)}var d=0,e=null,g=!1;a.onmousedown=function(){g||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);g=!0}}function vb(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function M(a){wb.init.push(a)} function rb(a,b){function c(){b(100===d)&&(e=setTimeout(c,d),d=100)}var d=0,e=null,g=!1;a.onmousedown=function(){g||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);g=!0}}function sb(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function M(a){tb.init.push(a)}
function xb(a){if(yb)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){x(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function zb(a){!yb&&a?(yb=!0,Ab&&Bb("init"),Gb&&Bb("show")):yb=a}function Bb(a){wb[a]&&xb(wb[a])}var sb=null,wb={init:[],show:[],exit:[]},Ab=!1,Gb=!1,yb=!0,nb=null;vb("onload",function(){Ab=!0;xb(wb.init)});vb("onpageshow",function(){Gb=!0;xb(wb.show)});vb(qb("Opera")||qb("iOS")?"onunload":"onbeforeunload",function(){xb(wb.exit)}); function ub(a){if(vb)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){x(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function wb(a){!vb&&a?(vb=!0,xb&&yb("init"),zb&&yb("show")):vb=a}function yb(a){tb[a]&&ub(tb[a])}var pb=null,tb={init:[],show:[],exit:[]},xb=!1,zb=!1,vb=!0,kb=null;sb("onload",function(){xb=!0;ub(tb.init)});sb("onpageshow",function(){zb=!0;ub(tb.show)});sb(nb("Opera")||nb("iOS")?"onunload":"onbeforeunload",function(){ub(tb.exit)});
var C="pdp10",Hb="PDPjs",Ib=Math.pow(2,18),Jb=Math.pow(2,36),C="pdp10",Hb="PDPjs",N={cpu:1,trap:2,fault:4,"int":8,bus:16,memory:32,mmu:64,rom:128,device:256,panel:512,keyboard:1024,key:2048,paper:4096,read:16384,write:32768,serial:1048576,timer:2097152,speaker:16777216,computer:33554432,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648}; var C="pdp10",Fb="PDPjs",Gb=Math.pow(2,18),Hb=Math.pow(2,36),C="pdp10",Fb="PDPjs",N={cpu:1,trap:2,fault:4,"int":8,bus:16,memory:32,mmu:64,rom:128,device:256,panel:512,keyboard:1024,key:2048,paper:4096,read:16384,write:32768,serial:1048576,timer:2097152,speaker:16777216,computer:33554432,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648};
function Kb(a,b){u.call(this,"Panel",a,512);this.I=this.K=0;this.U=b;this.j=this.H=this.u=this.w=0;this.L=this.M=-1;this.N=this.O=this.G=!1;this.P=Lb;this.B={};this.g={START:[1,1,!0,!1,this.Bb],STEP:[1,1,!1,!1,this.Cb],ENABLE:[1,1,!1,!1,this.wb],CONT:[1,1,!0,!1,this.ub],DEP:[0,0,!0,!1,this.vb],EXAM:[1,1,!0,!1,this.xb],LOAD:[1,1,!0,!1,this.zb],TEST:[0,0,!0,!1,this.yb]};for(a=0;22>a;a++)this.g["S"+a]=[0,0,!1,!1,this.Ab,a];this.A=this.b=this.C=this.D=null;this.exports={hold:this.sb,toggle:this.Nb,reset:this.Jb, function Ib(a,b){u.call(this,"Panel",a,512);this.I=this.K=0;this.U=b;this.j=this.H=this.u=this.w=0;this.L=this.M=-1;this.N=this.O=this.G=!1;this.P=Jb;this.B={};this.g={START:[1,1,!0,!1,this.Bb],STEP:[1,1,!1,!1,this.Cb],ENABLE:[1,1,!1,!1,this.wb],CONT:[1,1,!0,!1,this.ub],DEP:[0,0,!0,!1,this.vb],EXAM:[1,1,!0,!1,this.xb],LOAD:[1,1,!0,!1,this.zb],TEST:[0,0,!0,!1,this.yb]};for(a=0;22>a;a++)this.g["S"+a]=[0,0,!1,!1,this.Ab,a];this.A=this.b=this.C=this.D=null;this.exports={hold:this.sb,toggle:this.Nb,reset:this.Jb,
set:this.Mb};E(this)}q(Kb,u);l=Kb.prototype;l.reset=function(a){this.stop();a&&Mb(this,this.w=0)}; set:this.Mb};E(this)}r(Ib,u);l=Ib.prototype;l.reset=function(a){this.stop();a&&Kb(this,this.w=0)};
l.da=function(a,b,c,d){if(this.D&&this.D.da(a,b,c,d)||this.b&&this.b.da(a,b,c,d)||this.A&&this.A.da(a,b,c,d))return!0;switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":return this.F[b]=c,this.K++,!0;default:return"led"==a||"rled"==a?(this.F[b]=c,this.B[b]=d?1:0,this.K++,!0):"switch"==a?(void 0===this.g[b]&&(this.g[b]=[d?1:0,d?1:0]),this.F[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a, l.da=function(a,b,c,d){if(this.D&&this.D.da(a,b,c,d)||this.b&&this.b.da(a,b,c,d)||this.A&&this.A.da(a,b,c,d))return!0;switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":return this.F[b]=c,this.K++,!0;default:return"led"==a||"rled"==a?(this.F[b]=c,this.B[b]=d?1:0,this.K++,!0):"switch"==a?(void 0===this.g[b]&&(this.g[b]=[d?1:0,d?1:0]),this.F[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,
b){return function(){Nb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){Ob(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){Nb(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){Ob(a,b)}}(this,b),!0):u.prototype.da.call(this,a,b,c,d)}};l.sa=function(a,b,c,d){this.D=a;this.C=b;this.b=c;this.A=d;Pb(this);Qb(this)};l.la=function(a,b){if(!b)if(this.U&&Rb(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0}; b){return function(){Lb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){Mb(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){Lb(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){Mb(a,b)}}(this,b),!0):u.prototype.da.call(this,a,b,c,d)}};l.sa=function(a,b,c,d){this.D=a;this.C=b;this.b=c;this.A=d;Nb(this);Ob(this)};l.la=function(a,b){if(!b)if(this.U&&Pb(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};
l.ca=function(a){return a?this.save():!0};l.save=function(){var a=new O(this);a.set(0,[this.j,this.w,this.u]);return a.data()};l.restore=function(a){if(a=a[0])Sb(this,this.j=a[0]),Mb(this,this.w=a[1]),Tb(this,a[2]);return!0};l.Jb=function(){for(var a in this.g){var b=this.g[a];b[1]=b[0]}Qb(this);return!0};function Ub(a,b,c){if(a=a.F[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function Pb(a,b){for(var c in a.B)Ub(a,c,null!=b?b:a.B[c])} l.ca=function(a){return a?this.save():!0};l.save=function(){var a=new O(this);a.set(0,[this.j,this.w,this.u]);return a.data()};l.restore=function(a){if(a=a[0])Qb(this,this.j=a[0]),Kb(this,this.w=a[1]),Rb(this,a[2]);return!0};l.Jb=function(){for(var a in this.g){var b=this.g[a];b[1]=b[0]}Ob(this);return!0};function Sb(a,b,c){if(a=a.F[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function Nb(a,b){for(var c in a.B)Sb(a,c,null!=b?b:a.B[c])}
function Vb(a,b,c){if(a=a.F[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function Qb(a){for(var b in a.g)Vb(a,b,a.g[b][1])}l.sb=function(a,b,c){if(Nb(this,b)){if(c){var d=this;setTimeout(function(){Ob(d,b);a&&a()},+c);return!1}Ob(this,b)}return!0};l.Mb=function(a,b){if("SR"==a)return Tb(this,Oa(b,8));var c=this.g[a];return c?(c[1]=+b?1:0,Vb(this,a,c[1]),!0):!1};l.Nb=function(a){return Nb(this,a)?(Ob(this,a),!0):!1}; function Tb(a,b,c){if(a=a.F[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function Ob(a){for(var b in a.g)Tb(a,b,a.g[b][1])}l.sb=function(a,b,c){if(Lb(this,b)){if(c){var d=this;setTimeout(function(){Mb(d,b);a&&a()},+c);return!1}Mb(this,b)}return!0};l.Mb=function(a,b){if("SR"==a)return Rb(this,Pa(b,8));var c=this.g[a];return c?(c[1]=+b?1:0,Tb(this,a,c[1]),!0):!1};l.Nb=function(a){return Lb(this,a)?(Mb(this,a),!0):!1};
function Nb(a,b){var c=a.g[b];return c?(Vb(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=Wb&&(a.N=b==Xb,a.O=b==Yb),!0):!1}function Ob(a,b){var c=a.g[b];c&&(c[2]&&c[3]&&(Vb(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Bb=function(a){a||this.b.i.J||(this.b.g=this.j%Ib,this.g[Zb]&&this.g[Zb][1]&&$b(this.b))};l.Cb=function(){};l.wb=function(a){a||this.b.R()}; function Lb(a,b){var c=a.g[b];return c?(Tb(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=Ub&&(a.N=b==Vb,a.O=b==Wb),!0):!1}function Mb(a,b){var c=a.g[b];c&&(c[2]&&c[3]&&(Tb(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Bb=function(a){a||this.b.i.J||(this.b.g=this.j%Gb,this.g[Xb]&&this.g[Xb][1]&&Yb(this.b))};l.Cb=function(){};l.wb=function(a){a||this.b.R()};
l.ub=function(a){if(!a&&!this.b.i.J)if(this.g[Zb]&&this.g[Zb][1])$b(this.b);else{if((a=this.A)&&!La(a,!0))Ma(a,!0),ac(a,0,null),Ma(a,!1);else try{var b=this.b.Ja(1);0<b&&(bc(this.b,b),cc(this.b,b,!0),dc(this.b,b))}catch(c){"number"!=typeof c&&Ia(this.b,c.stack||c.message)}this.stop();this.D&&Q(this.D)}};l.vb=function(a){a&&!this.b.i.J&&(this.N&&ec(this),a=Mb(this,this.w=this.u),this.P==Lb?fc(this.C,this.j,a):this.b.Ia(this.j,a))}; l.ub=function(a){if(!a&&!this.b.i.J)if(this.g[Xb]&&this.g[Xb][1])Yb(this.b);else{if((a=this.A)&&!Ma(a,!0))Na(a,!0),Zb(a,0,null),Na(a,!1);else try{var b=this.b.Ja(1);0<b&&($b(this.b,b),ac(this.b,b,!0),bc(this.b,b))}catch(c){"number"!=typeof c&&Ja(this.b,c.stack||c.message)}this.stop();this.D&&Q(this.D)}};l.vb=function(a){a&&!this.b.i.J&&(this.N&&cc(this),a=Kb(this,this.w=this.u),this.P==Jb?dc(this.C,this.j,a):this.b.Ia(this.j,a))};
l.xb=function(a){if(!a&&!this.b.i.J){var b;this.O&&ec(this);this.P==Lb?b=gc(this.C,this.j):b=this.b.ta(this.j);Mb(this,this.w=b)}};l.zb=function(a){a||this.b.i.J||Sb(this,this.u)};l.yb=function(a){a?(this.G=!0,Pb(this,!0)):(this.G=!1,Pb(this),Tb(this,0))};l.Ab=function(a,b){this.u=a?this.u|1<<b:this.u&~(1<<b)};function ec(a){var b=1,c=a.C.u;a.g[Wb]&&a.g[Wb][1]||(b=-b);Sb(a,a.j&~c|a.j+b&c)} l.xb=function(a){if(!a&&!this.b.i.J){var b;this.O&&cc(this);this.P==Jb?b=ec(this.C,this.j):b=this.b.ta(this.j);Kb(this,this.w=b)}};l.zb=function(a){a||this.b.i.J||Qb(this,this.u)};l.yb=function(a){a?(this.G=!0,Nb(this,!0)):(this.G=!1,Nb(this),Rb(this,0))};l.Ab=function(a,b){this.u=a?this.u|1<<b:this.u&~(1<<b)};function cc(a){var b=1,c=a.C.u;a.g[Ub]&&a.g[Ub][1]||(b=-b);Qb(a,a.j&~c|a.j+b&c)}
function Sb(a,b){a.j=b&a.C.u;if(a.L!==a.j){a.L=a.j;b=a.L;for(var c=0;22>c;c++){var d=a,e="A"+c,g=b&1<<c;d.B[e]=g;d.G||Ub(d,e,g)}}}function Mb(a,b){a.H=b%Jb;if(a.M!==a.H){a.M=a.H;b=a.M;for(var c=0;16>c;c++){var d=a,e="D"+c,g=b&1<<c;d.B[e]=g;d.G||Ub(d,e,g)}}return a.H}function Tb(a,b){a.u=b|0;for(b=0;22>b;b++)a.g["S"+b][1]=a.u&1<<b?1:0;Qb(a);return!0}l.stop=function(){Sb(this,this.b.g)}; function Qb(a,b){a.j=b&a.C.u;if(a.L!==a.j){a.L=a.j;b=a.L;for(var c=0;22>c;c++){var d=a,e="A"+c,g=b&1<<c;d.B[e]=g;d.G||Sb(d,e,g)}}}function Kb(a,b){a.H=b%Hb;if(a.M!==a.H){a.M=a.H;b=a.M;for(var c=0;16>c;c++){var d=a,e="D"+c,g=b&1<<c;d.B[e]=g;d.G||Sb(d,e,g)}}return a.H}function Rb(a,b){a.u=b|0;for(b=0;22>b;b++)a.g["S"+b][1]=a.u&1<<b?1:0;Ob(a);return!0}l.stop=function(){Qb(this,this.b.g)};
function Rb(){for(var a=D(document,C,"panel"),b=0;b<a.length;b++){var c=a[b],d=A(c),e=xa(d.id);e||(e=new Kb(d,!0));B(e,c)}}var Lb=7,Xb="DEP",Zb="ENABLE",Yb="EXAM",Wb="STEP";M(Rb);function hc(a,b,c){u.call(this,"Bus",a,16);this.b=b;this.A=c;this.H=+a.busWidth||18;this.G=1<<this.H;this.u=this.G-1;this.j=Math.log2(16384);this.B=this.G/16384|0;this.w=0;this.g=[];a=new V(this);ic(a,this.A);this.g=Array(this.B);for(b=0;b<this.B;b++)this.g[b]=a;E(this)}q(hc,u);l=hc.prototype;l.reset=function(){}; function Pb(){for(var a=D(document,C,"panel"),b=0;b<a.length;b++){var c=a[b],d=A(c),e=xa(d.id);e||(e=new Ib(d,!0));B(e,c)}}var Jb=7,Vb="DEP",Xb="ENABLE",Wb="EXAM",Ub="STEP";M(Pb);function fc(a,b,c){u.call(this,"Bus",a,16);this.b=b;this.A=c;this.H=+a.busWidth||18;this.G=1<<this.H;this.u=this.G-1;this.j=Math.log2(16384);this.B=this.G/16384|0;this.w=0;this.g=[];a=new V(this);gc(a,this.A);this.g=Array(this.B);for(b=0;b<this.B;b++)this.g[b]=a;E(this)}r(fc,u);l=fc.prototype;l.reset=function(){};
l.la=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.ca=function(a){return a?this.save():!0};l.save=function(){var a=new O(this);a.set(0,jc(this));return a.data()};l.restore=function(a){a:{a=a[0];var b;for(b=0;b<a.length-1;b+=2){var c=a[b],d=a[b+1];if(d&&4096>d.length){for(var e=0,g=Array(4096),f=0;f<d.length-1;)for(var h=d[f++],k=d[f++];h--;)g[e++]=k;d=g}e=this.g[c];if(!e||!e.restore(d)){x("Unable to restore memory block "+c);a=!1;break a}}a=!0}return a}; l.la=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.ca=function(a){return a?this.save():!0};l.save=function(){var a=new O(this);a.set(0,hc(this));return a.data()};l.restore=function(a){a:{a=a[0];var b;for(b=0;b<a.length-1;b+=2){var c=a[b],d=a[b+1];if(d&&4096>d.length){for(var e=0,g=Array(4096),f=0;f<d.length-1;)for(var h=d[f++],k=d[f++];h--;)g[e++]=k;d=g}e=this.g[c];if(!e||!e.restore(d)){x("Unable to restore memory block "+c);a=!1;break a}}a=!0}return a};
function kc(a,b,c,d){for(var e=b,g=c,f=e>>>a.j;0<g&&f<a.g.length;){var h=a.g[f],k=16384*f,m=16384-(e-k);m>g&&(m=g);if(h&&h.size){if(h.type==d){if(e+g<=h.v)return h.Ha+=h.v-e,h.v=e,!0;if(e>=h.v+h.Ha){m=h.size-(e-k);m>g&&(m=g);h.Ha=e-h.v+m;e=k+16384;g-=m;f++;continue}}return lc(mc,e,g)}e=new V(a,e,m,16384,d);ic(e,a.A,h);a.g[f++]=e;e=k+16384;g-=m}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+nc[d]+" at "+Pa(b)),!0):lc(oc,b,c)} function ic(a,b,c,d){for(var e=b,g=c,f=e>>>a.j;0<g&&f<a.g.length;){var h=a.g[f],k=16384*f,m=16384-(e-k);m>g&&(m=g);if(h&&h.size){if(h.type==d){if(e+g<=h.v)return h.Ha+=h.v-e,h.v=e,!0;if(e>=h.v+h.Ha){m=h.size-(e-k);m>g&&(m=g);h.Ha=e-h.v+m;e=k+16384;g-=m;f++;continue}}return jc(kc,e,g)}e=new V(a,e,m,16384,d);gc(e,a.A,h);a.g[f++]=e;e=k+16384;g-=m}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+lc[d]+" at "+Qa(b)),!0):jc(mc,b,c)}
function gc(a,b){var c=a.g[(b&a.u)>>>a.j];a.w++;b=c.j(b&16383,b);a.w--;return b}function fc(a,b,c){var d=a.g[(b&a.u)>>>a.j];a.w++;d.F(b&16383,c&65535,b);a.w--}function jc(a){for(var b=0,c=[],d=0;d<a.B;d++){var e=a.g[d];if(e.Na||e.pb){c[b++]=d;var g=b++;if(e=e.save()){for(var f=0,h=0,k=[];f<e.length;){for(var m=e[f],n=f+1;n<e.length&&e[n]===m;)n++;k[h++]=n-f;k[h++]=m;f=n}k.length<e.length&&(e=k)}c[g]=e}}return c} function ec(a,b){var c=a.g[(b&a.u)>>>a.j];a.w++;b=c.j(b&16383,b);a.w--;return b}function dc(a,b,c){var d=a.g[(b&a.u)>>>a.j];a.w++;d.F(b&16383,c&65535,b);a.w--}function hc(a){for(var b=0,c=[],d=0;d<a.B;d++){var e=a.g[d];if(e.Na||e.pb){c[b++]=d;var g=b++;if(e=e.save()){for(var f=0,h=0,k=[];f<e.length;){for(var m=e[f],n=f+1;n<e.length&&e[n]===m;)n++;k[h++]=n-f;k[h++]=m;f=n}k.length<e.length&&(e=k)}c[g]=e}}return c}
l.rb=function(a){!this.w&&this.A&&Na(this.A,4)&&(G(this.A,"memory fault on "+W(this.A,a),!0,!0),this.A.R())};function lc(a,b,c){x("Memory block error ("+a+": "+H(b)+","+H(c)+")");return!1}var mc=1,oc=2;function Fc(a){u.call(this,"Device",a,256)}q(Fc,u);l=Fc.prototype;l.sa=function(a,b,c,d){this.C=b;this.D=a;this.b=c;this.A=d;E(this)};l.la=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.ca=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){return(new O(this)).data()}; l.rb=function(a){!this.w&&this.A&&Oa(this.A,4)&&(G(this.A,"memory fault on "+W(this.A,a),!0,!0),this.A.R())};function jc(a,b,c){x("Memory block error ("+a+": "+H(b)+","+H(c)+")");return!1}var kc=1,mc=2;function nc(a){u.call(this,"Device",a,256)}r(nc,u);l=nc.prototype;l.sa=function(a,b,c,d){this.C=b;this.D=a;this.b=c;this.A=d;E(this)};l.la=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.ca=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){return(new O(this)).data()};
l.restore=function(){return!0};M(function(){for(var a=D(document,C,"device"),b=0;b<a.length;b++){var c,d=a[b];c=A(d);switch(c.type){case "default":c=new Fc(c),B(c,d)}}});function V(a,b,c,d,e){this.B=a;this.id=Gc+=2;this.v=b;this.Ha=c;this.size=d||0;this.type=e||Hc;this.g=e==Ic;this.b=null;this.ta=this.j=this.u=this.Ga;this.Ia=this.F=this.w=this.ua;this.C=this.D=0;ic(this);this.Na=this.pb=!1;if(this.size){a=this.A=Array(this.size);for(b=0;b<a.length;b++)a[b]=0;Jc(this,Kc)}else Jc(this)}l=V.prototype; l.restore=function(){return!0};M(function(){for(var a=D(document,C,"device"),b=0;b<a.length;b++){var c,d=a[b];c=A(d);switch(c.type){case "default":c=new nc(c),B(c,d)}}});function V(a,b,c,d,e){this.B=a;this.id=Ec+=2;this.v=b;this.Ha=c;this.size=d||0;this.type=e||Fc;this.g=e==Gc;this.b=null;this.ta=this.j=this.u=this.Ga;this.Ia=this.F=this.w=this.ua;this.C=this.D=0;gc(this);this.Na=this.pb=!1;if(this.size){a=this.A=Array(this.size);for(b=0;b<a.length;b++)a[b]=0;Hc(this,Ic)}else Hc(this)}l=V.prototype;
l.save=function(){return this.A};l.restore=function(a){return a&&this.size==a.length?(this.A=a,this.Na=!0):!1};function Jc(a,b){b||(b=Lc);Mc(a,b,void 0);Nc(a,b,void 0)}function Mc(a,b,c){c&&a.C||(a.ta=b[2]||a.Ga);if(c||void 0===c)a.u=b[0]||a.Ga,a.j=b[2]||a.Ga}function Nc(a,b,c){c&&a.D||(a.Ia=!a.g&&b[3]||a.ua);if(c||void 0===c)a.w=b[1]||a.ua,a.F=b[3]||a.ua}l.va=function(a,b){b?this.D++||Nc(this,Oc,!1):this.C++||Mc(this,Oc,!1)};function Pc(a,b){b?--a.D||(a.Ia=a.g?a.ua:a.F):--a.C||(a.ta=a.j)} l.save=function(){return this.A};l.restore=function(a){return a&&this.size==a.length?(this.A=a,this.Na=!0):!1};function Hc(a,b){b||(b=Jc);Kc(a,b,void 0);Lc(a,b,void 0)}function Kc(a,b,c){c&&a.C||(a.ta=b[2]||a.Ga);if(c||void 0===c)a.u=b[0]||a.Ga,a.j=b[2]||a.Ga}function Lc(a,b,c){c&&a.D||(a.Ia=!a.g&&b[3]||a.ua);if(c||void 0===c)a.w=b[1]||a.ua,a.F=b[3]||a.ua}l.va=function(a,b){b?this.D++||Lc(this,Mc,!1):this.C++||Kc(this,Mc,!1)};function Nc(a,b){b?--a.D||(a.Ia=a.g?a.ua:a.F):--a.C||(a.ta=a.j)}
function ic(a,b,c){a.b=b;a.C=a.D=0;c&&((a.C=c.C)&&Mc(a,Oc,!1),(a.D=c.D)&&Nc(a,Oc,!1))}l.Ga=function(a,b){this.b&&Na(this.b,32)&&G(this.b,"attempt to read invalid address "+W(this.b,b),!0);this.B.rb(b);return 0};l.ua=function(a,b,c){this.b&&Na(this.b,32)&&G(this.b,"attempt to write "+W(this.b,a)+" to invalid addresses "+W(this.b,c),!0)};l.Eb=function(a,b,c,d){a=this.A[a];return a=32>=c+d?a>>c&(1<<d)-1:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d)};l.Hb=function(a){return this.A[a]}; function gc(a,b,c){a.b=b;a.C=a.D=0;c&&((a.C=c.C)&&Kc(a,Mc,!1),(a.D=c.D)&&Lc(a,Mc,!1))}l.Ga=function(a,b){this.b&&Oa(this.b,32)&&G(this.b,"attempt to read invalid address "+W(this.b,b),!0);this.B.rb(b);return-1};l.ua=function(a,b,c){this.b&&Oa(this.b,32)&&G(this.b,"attempt to write "+W(this.b,a)+" to invalid addresses "+W(this.b,c),!0)};l.Eb=function(a,b,c,d){a=this.A[a];return a=32>=c+d?a>>c&(1<<d)-1:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d)};l.Hb=function(a){return this.A[a]};
l.Qb=function(a,b,c,d,e){c=this.A[b];var g=Math.pow(2,d);a%=Math.pow(2,e);d=c%Math.pow(2,d+e);c=c-d+a*g+d%g;this.A[b]!=c&&(this.A[b]=c,this.Na=!0)};l.Sb=function(a,b){this.A[b]=a;this.Na=!0};l.Db=function(a,b,c,d){if(this.b&&null!=this.v){var e=this.b;Qc(e,this.v+a,1,e.K)&&e.R(!1)}return this.u(a,b,c,d)};l.Fb=function(a,b){if(this.b&&null!=this.v){var c=this.b;Qc(c,this.v+a,2,c.K)&&c.R(!1)}return this.j(a,b)}; l.Qb=function(a,b,c,d,e){c=this.A[b];var g=Math.pow(2,d);a%=Math.pow(2,e);d=c%Math.pow(2,d+e);c=c-d+a*g+d%g;this.A[b]!=c&&(this.A[b]=c,this.Na=!0)};l.Sb=function(a,b){this.A[b]=a;this.Na=!0};l.Db=function(a,b,c,d){if(this.b&&null!=this.v){var e=this.b;Oc(e,this.v+a,1,e.K)&&e.R(!1)}return this.u(a,b,c,d)};l.Fb=function(a,b){if(this.b&&null!=this.v){var c=this.b;Oc(c,this.v+a,2,c.K)&&c.R(!1)}return this.j(a,b)};
l.Pb=function(a,b,c,d,e){if(this.b&&null!=this.v){var g=this.b;Qc(g,this.v+b,1,g.G)&&g.R(!1)}this.g?this.ua(a,0,c):this.w(a,b,c,d,e)};l.Rb=function(a,b,c){if(this.b&&null!=this.v){var d=this.b;Qc(d,this.v+b,2,d.G)&&d.R(!1)}this.g?this.ua(a,0,c):this.F(a,b,c)};var Hc=0,Ic=2,nc=["NONE","RAM","ROM"],Gc=0,Lc=[],Kc=[V.prototype.Eb,V.prototype.Qb,V.prototype.Hb,V.prototype.Sb],Oc=[V.prototype.Db,V.prototype.Pb,V.prototype.Fb,V.prototype.Rb]; l.Pb=function(a,b,c,d,e){if(this.b&&null!=this.v){var g=this.b;Oc(g,this.v+b,1,g.G)&&g.R(!1)}this.g?this.ua(a,0,c):this.w(a,b,c,d,e)};l.Rb=function(a,b,c){if(this.b&&null!=this.v){var d=this.b;Oc(d,this.v+b,2,d.G)&&d.R(!1)}this.g?this.ua(a,0,c):this.F(a,b,c)};var Fc=0,Gc=2,lc=["NONE","RAM","ROM"],Ec=0,Jc=[],Ic=[V.prototype.Eb,V.prototype.Qb,V.prototype.Hb,V.prototype.Sb],Mc=[V.prototype.Db,V.prototype.Pb,V.prototype.Fb,V.prototype.Rb];
function Rc(a,b){u.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.xa=0;this.Aa=b;this.N=c;this.ya=Math.round(this.Aa/1E4)/100;this.M=this.ya*this.N;this.za=this.oa=this.O=this.qa=0;this.i.J=this.i.Ra=!1;this.i.X=a.autoStart;"string"==typeof this.i.X&&(this.i.X="true"==this.i.X);this.i.Ca=!1;this.ma=this.U=0;this.na=+a.csStart;this.P=+a.csInterval;this.Z=+a.csStop;this.B=[];this.$a=this.Kb.bind(this);this.K=this.w=this.H=this.I=this.u=this.ga=this.G=this.aa=this.Ba=this.L=0;this.pa= function Pc(a,b){u.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.xa=0;this.Aa=b;this.N=c;this.ya=Math.round(this.Aa/1E4)/100;this.M=this.ya*this.N;this.za=this.oa=this.O=this.qa=0;this.i.J=this.i.Ra=!1;this.i.X=a.autoStart;"string"==typeof this.i.X&&(this.i.X="true"==this.i.X);this.i.Ca=!1;this.ma=this.U=0;this.na=+a.csStart;this.P=+a.csInterval;this.Z=+a.csStop;this.B=[];this.$a=this.Kb.bind(this);this.K=this.w=this.H=this.I=this.u=this.ga=this.G=this.aa=this.Ba=this.L=0;this.pa=
null;E(this)}q(Rc,u);l=Rc.prototype;l.sa=function(a,b,c,d){this.D=a;this.C=b;this.A=d;this.pa=a.u;for(a=0;a<Sc.length;a++)(b=this.F[Sc[a]])&&this.D.da(null,Sc[a],b);E(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1}; null;E(this)}r(Pc,u);l=Pc.prototype;l.sa=function(a,b,c,d){this.D=a;this.C=b;this.A=d;this.pa=a.u;for(a=0;a<Qc.length;a++)(b=this.F[Qc[a]])&&this.D.da(null,Qc[a],b);E(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};
l.la=function(a,b){var c=Tc(this.D,"autoStart");null!=c?this.i.X="true"==c?!0:"false"==c?!1:!!c:null==this.i.X&&(this.i.X=!this.A&&void 0===this.F.run);if(!b){if(a){Uc(this);if(!this.restore(a))return!1;Vc(this)}else this.reset();this.A?(a=this.A,b=this.i.X,a.ya=!0,a.f("Type ? for help with PDPjs Debugger commands"),Wc(a),b||Xc(a),a.ra&&(b=a.ra,a.ra=null,Yc(a,b))):this.status("No debugger detected");this.i.X||this.f("CPU will not be auto-started "+(this.pa?"(click Run to start)":"(type 'go' to start)"))}return!0}; l.la=function(a,b){var c=Rc(this.D,"autoStart");null!=c?this.i.X="true"==c?!0:"false"==c?!1:!!c:null==this.i.X&&(this.i.X=!this.A&&void 0===this.F.run);if(!b){if(a){Sc(this);if(!this.restore(a))return!1;Tc(this)}else this.reset();this.A?(a=this.A,b=this.i.X,a.ya=!0,a.f("Type ? for help with PDPjs Debugger commands"),Uc(a),b||Vc(a),a.ra&&(b=a.ra,a.ra=null,Wc(a,b))):this.status("No debugger detected");this.i.X||this.f("CPU will not be auto-started "+(this.pa?"(click Run to start)":"(type 'go' to start)"))}return!0};
l.ca=function(a){return a?this.save():!0};l.X=function(){return this.i.J?!0:this.i.X?($b(this),!0):!1};l.gb=function(){return 0};function Vc(a){void 0===a.na&&(a.na=0);void 0===a.P&&(a.P=-1);void 0===a.Z&&(a.Z=-1);a.i.Ca=0<=a.na&&0<a.P;a.i.Ca&&(a.ma=0,a.U=a.na-a.K)}function dc(a,b){if(a.i.Ca){var c=!1;a.ma=a.ma+a.gb()|0;a.U-=b;0>=a.U&&(a.U+=a.P,c=!0);0<=a.Z&&a.Z<=Zc(a)&&(a.P=a.Z=-1,Vc(a),a.R(),c=!0);c&&a.f(Zc(a)+" cycles: checksum="+H(a.ma))}} l.ca=function(a){return a?this.save():!0};l.X=function(){return this.i.J?!0:this.i.X?(Yb(this),!0):!1};l.gb=function(){return 0};function Tc(a){void 0===a.na&&(a.na=0);void 0===a.P&&(a.P=-1);void 0===a.Z&&(a.Z=-1);a.i.Ca=0<=a.na&&0<a.P;a.i.Ca&&(a.ma=0,a.U=a.na-a.K)}function bc(a,b){if(a.i.Ca){var c=!1;a.ma=a.ma+a.gb()|0;a.U-=b;0>=a.U&&(a.U+=a.P,c=!0);0<=a.Z&&a.Z<=Xc(a)&&(a.P=a.Z=-1,Tc(a),a.R(),c=!0);c&&a.f(Xc(a)+" cycles: checksum="+H(a.ma))}}
l.da=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.F[b]=c,!0;case "run":return this.F[b]=c,c.onclick=function(){var a;if(a=d.D)if(a=d.D,a.i.T)a=!0;else{var b=null,c,h=y(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.i.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.i.T);c++);c==h.length&&(b=a);x("The "+b.type+" component ("+b.id+") is not "+(b.i.ready?"powered yet":"ready yet"+(b.Oa?" (waiting for notification)":""))+".");a=!1}a&&(d.i.J?d.R():$b(d))},!0;case "speed":return this.F[b]= l.da=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.F[b]=c,!0;case "run":return this.F[b]=c,c.onclick=function(){var a;if(a=d.D)if(a=d.D,a.i.T)a=!0;else{var b=null,c,h=y(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.i.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.i.T);c++);c==h.length&&(b=a);x("The "+b.type+" component ("+b.id+") is not "+(b.i.ready?"powered yet":"ready yet"+(b.Oa?" (waiting for notification)":""))+".");a=!1}a&&(d.i.J?d.R():Yb(d))},!0;case "speed":return this.F[b]=
c,!0;case "setSpeed":return this.F[b]=c,c.onclick=function(){$c(d,d.N<<1,!0)},c.textContent=this.M.toFixed(2)+"Mhz",!0}return!1};function cc(a,b,c){a.K+=b;c&&(a.H=a.I=0)}function ad(a,b){var c=1;b&&1<a.N&&a.L&&(c=a.L/a.ya);a.za=Math.round(1E3/bd);a.oa=Math.floor(a.Aa/bd*c);b||(a.O=a.oa);a.qa=0}function Zc(a){return a.K+a.w+a.H-a.I}function Uc(a){a.L=0;a.Ba=0;a.K=a.w=a.H=a.I=0;Vc(a);$c(a,1)} c,!0;case "setSpeed":return this.F[b]=c,c.onclick=function(){Yc(d,d.N<<1,!0)},c.textContent=this.M.toFixed(2)+"Mhz",!0}return!1};function ac(a,b,c){a.K+=b;c&&(a.H=a.I=0)}function Zc(a,b){var c=1;b&&1<a.N&&a.L&&(c=a.L/a.ya);a.za=Math.round(1E3/$c);a.oa=Math.floor(a.Aa/$c*c);b||(a.O=a.oa);a.qa=0}function Xc(a){return a.K+a.w+a.H-a.I}function Sc(a){a.L=0;a.Ba=0;a.K=a.w=a.H=a.I=0;Tc(a);Yc(a,1)}
function $c(a,b,c){var d=!1;if(void 0!==b){.8>a.L/a.M?b=1:d=!0;a.N=b;b=a.ya*a.N;if(a.M!=b){a.M=b;b=a.M.toFixed(2)+"Mhz";var e=a.F.setSpeed;e&&(e.textContent=b);a.f("target speed: "+b)}c&&a.D&&cd(a.D)}cc(a,a.w);a.w=0;a.u=va();a.G=0;ad(a);return d}function dd(a,b){for(var c=a.B.length-1;0<=c;c--){var d=a.B[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function ed(a){for(var b=[],c=0;c<a.B.length;c++)b.push(a.B[c][0]);return b} function Yc(a,b,c){var d=!1;if(void 0!==b){.8>a.L/a.M?b=1:d=!0;a.N=b;b=a.ya*a.N;if(a.M!=b){a.M=b;b=a.M.toFixed(2)+"Mhz";var e=a.F.setSpeed;e&&(e.textContent=b);a.f("target speed: "+b)}c&&a.D&&ad(a.D)}ac(a,a.w);a.w=0;a.u=va();a.G=0;Zc(a);return d}function bd(a,b){for(var c=a.B.length-1;0<=c;c--){var d=a.B[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function cd(a){for(var b=[],c=0;c<a.B.length;c++)b.push(a.B[c][0]);return b}
function bc(a,b){for(var c=a.B.length-1;0<=c;c--){var d=a.B[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function fd(a,b){var c=a.H-=a.I;a.I=0;b&&(a.H=0);return c} function $b(a,b){for(var c=a.B.length-1;0<=c;c--){var d=a.B[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function dd(a,b){var c=a.H-=a.I;a.I=0;b&&(a.H=0);return c}
l.Kb=function(){if(this.i.J){this.qa>=this.Aa&&ad(this,!0);this.aa=0;this.ga=va();if(this.G){var a=this.ga-this.G;a>this.za&&(this.u+=a,this.u>this.ga&&(this.u=this.ga))}try{do{var b=dd(this,this.i.Ca?1:this.oa);try{this.Ja(b)}catch(e){if("number"!=typeof e)throw e;}b=fd(this,!0);this.aa+=b;this.w+=b;dc(this,b);bc(this,b);this.O-=b;if(0>=this.O){this.O+=this.oa;++this.Ba>=gd&&(this.D&&Q(this.D,void 0),this.Ba=0);break}}while(this.i.J)}catch(e){this.R();this.D&&this.D.stop(va(),Zc(this));Ia(this,e.stack|| l.Kb=function(){if(this.i.J){this.qa>=this.Aa&&Zc(this,!0);this.aa=0;this.ga=va();if(this.G){var a=this.ga-this.G;a>this.za&&(this.u+=a,this.u>this.ga&&(this.u=this.ga))}try{do{var b=bd(this,this.i.Ca?1:this.oa);try{this.Ja(b)}catch(e){if("number"!=typeof e)throw e;}b=dd(this,!0);this.aa+=b;this.w+=b;bc(this,b);$b(this,b);this.O-=b;if(0>=this.O){this.O+=this.oa;++this.Ba>=ed&&(this.D&&Q(this.D,void 0),this.Ba=0);break}}while(this.i.J)}catch(e){this.R();this.D&&this.D.stop(va(),Xc(this));Ja(this,e.stack||
e.message);return}if(this.i.J){a=setTimeout;b=this.$a;this.G=va();var c=this.za;this.aa&&(c=Math.round(c*this.aa/this.oa));var c=c-(this.G-this.ga),d=this.G-this.u;d&&(this.L=Math.round(this.w/(10*d))/100,864E5<=d&&(this.K=0,$c(this)));if(0>c||this.L<this.M)-1E3>c&&(this.u-=c),c=0;this.qa+=this.aa;this.G+=c;a(b,c)}}}; e.message);return}if(this.i.J){a=setTimeout;b=this.$a;this.G=va();var c=this.za;this.aa&&(c=Math.round(c*this.aa/this.oa));var c=c-(this.G-this.ga),d=this.G-this.u;d&&(this.L=Math.round(this.w/(10*d))/100,864E5<=d&&(this.K=0,Yc(this)));if(0>c||this.L<this.M)-1E3>c&&(this.u-=c),c=0;this.qa+=this.aa;this.G+=c;a(b,c)}}};
function $b(a,b){if(!Ja(a))if(a.i.J)a.f(a.toString()+" busy");else{$c(a);a.i.J=!0;a.i.Ra=!0;var c=a.F.run;c&&(c.textContent="Halt");a.D&&(b&&cd(a.D,!0),a.D.start(a.u,Zc(a)));a.A||a.status("Started");setTimeout(a.$a,0)}}l.Ja=function(){return 0};l.R=function(a){var b=!1;if(this.i.J){fd(this);cc(this,this.w);this.w=0;this.i.J=!1;if(b=this.F.run)b.textContent="Run";this.D&&this.D.stop(va(),Zc(this));b=!0;this.A||this.status("Stopped")}this.i.complete=a;return b};var bd=30,gd=15,Sc=["power","reset"]; function Yb(a,b){if(!Ka(a))if(a.i.J)a.f(a.toString()+" busy");else{Yc(a);a.i.J=!0;a.i.Ra=!0;var c=a.F.run;c&&(c.textContent="Halt");a.D&&(b&&ad(a.D,!0),a.D.start(a.u,Xc(a)));a.A||a.status("Started");setTimeout(a.$a,0)}}l.Ja=function(){return 0};l.R=function(a){var b=!1;if(this.i.J){dd(this);ac(this,this.w);this.w=0;this.i.J=!1;if(b=this.F.run)b.textContent="Run";this.D&&this.D.stop(va(),Xc(this));b=!0;this.A||this.status("Stopped")}this.i.complete=a;return b};var $c=30,ed=15,Qc=["power","reset"];
function hd(a){var b=+a.model||1001;Rc.call(this,a,1E6);this.Za=b;this.Ma=+a.addrReset||0;this.fa=null;this.Da=[];this.i.complete=!1}q(hd,Rc);l=hd.prototype;l.reset=function(){this.status("Model "+this.Za);this.i.J&&this.R();this.ea=this.g=this.ra=this.Ma;this.j=0;this.ta=this.Gb;this.Ia=this.Tb;this.fa=null;Uc(this);this.i.error=!1;Rc.prototype.reset.call(this)};l.gb=function(){return 0}; function fd(a){var b=+a.model||1001;Pc.call(this,a,1E6);this.Za=b;this.Ma=+a.addrReset||0;this.fa=null;this.Da=[];this.i.complete=!1}r(fd,Pc);l=fd.prototype;l.reset=function(){this.status("Model "+this.Za);this.i.J&&this.R();this.ea=this.g=this.ra=this.Ma;this.j=0;this.ta=this.Gb;this.Ia=this.Tb;this.fa=null;Sc(this);this.i.error=!1;Pc.prototype.reset.call(this)};l.gb=function(){return 0};
l.save=function(){var a=new O(this);a.set(0,[this.g,this.ra,this.ea,this.j]);a.set(1,[]);a.set(2,[this.K,this.N,this.i.X]);a.set(3,id(this));a.set(4,ed(this));return a.data()}; l.save=function(){var a=new O(this);a.set(0,[this.g,this.ra,this.ea,this.j]);a.set(1,[]);a.set(2,[this.K,this.N,this.i.X]);a.set(3,gd(this));a.set(4,cd(this));return a.data()};
l.restore=function(a){var b;b=a[0];ha();ea();ha();var c=b[Symbol.iterator];b=c?c.call(b):oa(b);this.g=b.next().value;this.ra=b.next().value;this.ea=b.next().value;this.j=b.next().value;b=a[2];this.K=b[0];$c(this,b[1]);this.i.X=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.Da.length;d++){var e=this.Da[d];if(e.Ob===b[c]){d=e;break a}}d=null}d&&(d.next=this.fa,this.fa=d)}a=a[4];for(b=0;b<this.B.length&&b<a.length;b++)this.B[b][0]=a[b];return!0}; l.restore=function(a){var b;b=a[0];ha();ea();ha();var c=b[Symbol.iterator];b=c?c.call(b):ia(b);this.g=b.next().value;this.ra=b.next().value;this.ea=b.next().value;this.j=b.next().value;b=a[2];this.K=b[0];Yc(this,b[1]);this.i.X=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.Da.length;d++){var e=this.Da[d];if(e.Ob===b[c]){d=e;break a}}d=null}d&&(d.next=this.fa,this.fa=d)}a=a[4];for(b=0;b<this.B.length&&b<a.length;b++)this.B[b][0]=a[b];return!0};
function id(a){var b=[];for(a=a.fa;a;)b.push(a.Ob),a=a.next;return b}l.Gb=function(a){var b=this.C;a=this.ea=a;return b.g[(a&b.u)>>>b.j].ta(a&16383,a)};l.Tb=function(a,b){var c=this.C;a=this.ea=a;c.g[(a&c.u)>>>c.j].Ia(a&16383,b,a)}; function gd(a){var b=[];for(a=a.fa;a;)b.push(a.Ob),a=a.next;return b}l.Gb=function(a){var b=this.C;a=this.ea=a;return b.g[(a&b.u)>>>b.j].ta(a&16383,a)};l.Tb=function(a,b){var c=this.C;a=this.ea=a;c.g[(a&c.u)>>>c.j].Ia(a&16383,b,a)};
l.Ja=function(a){this.i.complete=!0;var b=this.A?jd(this.A)?1:this.i.Ra?-1:0:0,c=a?this.i.Ra?0:1:-1;this.i.Ra=!1;this.H=this.I=a;this.j=this.j&-5|(b?4:0);do{if(this.j){if(this.j&4){if(kd(this.A,this.g,c)){this.R();break}++b||(this.j&=-5);c||c++}if(a=this.j&11)this.j&2?this.fa||(this.j&=-3):this.j&1&&this.j++,a=!1;if(a){if(this.j&4&&kd(this.A,this.g,c)){this.R();break}if(0>c)break}}this.j&=15;a=this.g;this.ta(a);this.g=(a+1)%Ib}while(0<this.I);return this.i.complete?this.H-this.I:!1===this.i.complete? l.Ja=function(a){this.i.complete=!0;var b=this.A?hd(this.A)?1:this.i.Ra?-1:0:0,c=a?this.i.Ra?0:1:-1;this.i.Ra=!1;this.H=this.I=a;this.j=this.j&-5|(b?4:0);do{if(this.j){if(this.j&4){if(id(this.A,this.g,c)){this.R();break}++b||(this.j&=-5);c||c++}if(a=this.j&11)this.j&2?this.fa||(this.j&=-3):this.j&1&&this.j++,a=!1;if(a){if(this.j&4&&id(this.A,this.g,c)){this.R();break}if(0>c)break}}this.j&=15;a=this.g;this.ta(a);this.g=(a+1)%Gb}while(0<this.I);return this.i.complete?this.H-this.I:!1===this.i.complete?
-1:0};M(function(){for(var a=D(document,C,"cpu"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new hd(d);B(d,c)}}); -1:0};M(function(){for(var a=D(document,C,"cpu"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new fd(d);B(d,c)}});
function ld(a){u.call(this,"ROM",a,128);this.S=this.g=null;this.B=+a.addr;this.u=+a.size;this.j=a.alias;"string"==typeof this.j&&(this.j=eval(this.j));this.w=a.file;this.G=Qa(this.w);if(this.w){a=this.w;var b=Ra(this.G);"json"!=b&&"hex"!=b&&(a=Ta()+"/api/v1/dump?file="+this.w+"&format=bytes&decimal=true");var c=this;J(a,null,!0,function(a,b,g){g?(c.Y("Unable to load ROM resource (error "+g+": "+a+")"),c.w=null):(ta(c.La,a,b),(a=lb(a,b))?(c.g=a.W,c.S=a.S):c.w=null);md(c)})}}q(ld,u); function jd(a){u.call(this,"ROM",a,128);this.S=this.g=null;this.B=+a.addr;this.u=+a.size;this.j=a.alias;"string"==typeof this.j&&(this.j=eval(this.j));this.w=a.file;this.G=Ra(this.w);if(this.w){a=this.w;var b=Sa(this.G);"json"!=b&&"hex"!=b&&(a=Ua()+"/api/v1/dump?file="+this.w+"&format=bytes&decimal=true");var c=this;J(a,null,!0,function(a,b,g){g?(c.Y("Unable to load ROM resource (error "+g+": "+a+")"),c.w=null):(ta(c.La,a,b),(a=ib(a,b))?(c.g=a.W,c.S=a.S):c.w=null);kd(c)})}}r(jd,u);
ld.prototype.sa=function(a,b,c,d){this.C=b;this.b=c;this.A=d;md(this)};ld.prototype.la=function(){this.S&&(this.A&&nd(this.A,this.id,this.B,this.u,this.S),delete this.S);return!0};ld.prototype.ca=function(){return!0}; jd.prototype.sa=function(a,b,c,d){this.C=b;this.b=c;this.A=d;kd(this)};jd.prototype.la=function(){this.S&&(this.A&&ld(this.A,this.id,this.B,this.u,this.S),delete this.S);return!0};jd.prototype.ca=function(){return!0};
function md(a){if(!Ka(a)){if(a.w){if(!a.g||!a.C)return;a.u||(a.u=a.g.length);if(a.g.length!=a.u)Ia(a,"ROM size ("+H(a.g.length,8,!0)+") does not match specified size ("+H(a.u,8,!0)+")");else{var b;b=a.B;if(kc(a.C,b,a.u,Ic)){var c;for(c=0;c<a.g.length;c++)fc(a.C,b+c,a.g[c]);b=!0}else b=!1;if(b){b=[];"number"==typeof a.j?b.push(a.j):null!=a.j&&a.j.length&&(b=a.j);for(c=0;c<b.length;c++){for(var d=a,e=b[c],g=d.C,f=d.u,h=[],k=d.B>>>g.j;0<f&&k<g.g.length;)h.push(g.g[k++]),f-=16384;g=d.C;d=d.u;f=0;for(e>>>= function kd(a){if(!La(a)){if(a.w){if(!a.g||!a.C)return;a.u||(a.u=a.g.length);if(a.g.length!=a.u)Ja(a,"ROM size ("+H(a.g.length,8,!0)+") does not match specified size ("+H(a.u,8,!0)+")");else{var b;b=a.B;if(ic(a.C,b,a.u,Gc)){var c;for(c=0;c<a.g.length;c++)dc(a.C,b+c,a.g[c]);b=!0}else b=!1;if(b){b=[];"number"==typeof a.j?b.push(a.j):null!=a.j&&a.j.length&&(b=a.j);for(c=0;c<b.length;c++){for(var d=a,e=b[c],g=d.C,f=d.u,h=[],k=d.B>>>g.j;0<f&&k<g.g.length;)h.push(g.g[k++]),f-=16384;g=d.C;d=d.u;f=0;for(e>>>=
g.j;0<d&&e<g.g.length;){k=h[f++];if(!k)break;g.g[e++]=k;d-=16384}}delete a.g}}}E(a)}}M(function(){for(var a=D(document,C,"rom"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new ld(d);B(d,c)}}); g.j;0<d&&e<g.g.length;){k=h[f++];if(!k)break;g.g[e++]=k;d-=16384}}delete a.g}}}E(a)}}M(function(){for(var a=D(document,C,"rom"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new jd(d);B(d,c)}});
function od(a){u.call(this,"RAM",a);this.S=this.j=null;this.u=+a.addr;this.w=+a.size;this.ia=a.load;this.ha=a.exec;null!=this.ia&&(this.ia=+this.ia);null!=this.ha&&(this.ha=+this.ha);this.B=!1;this.g=a.file;this.G=Qa(this.g);if(this.g){a=this.g;var b=Ra(this.G);"json"!=b&&"hex"!=b&&(a=Ta()+"/api/v1/dump?file="+this.g+"&format=bytes&decimal=true");var c=this;J(a,null,!0,function(a,b,g){g?(c.Y("Unable to load RAM resource (error "+g+": "+a+")"),c.g=null):(ta(c.La,a,b),(a=lb(a,b))?(c.j=a.W,c.S=a.S,null== function md(a){u.call(this,"RAM",a);this.S=this.j=null;this.u=+a.addr;this.w=+a.size;this.ia=a.load;this.ha=a.exec;null!=this.ia&&(this.ia=+this.ia);null!=this.ha&&(this.ha=+this.ha);this.B=!1;this.g=a.file;this.G=Ra(this.g);if(this.g){a=this.g;var b=Sa(this.G);"json"!=b&&"hex"!=b&&(a=Ua()+"/api/v1/dump?file="+this.g+"&format=bytes&decimal=true");var c=this;J(a,null,!0,function(a,b,g){g?(c.Y("Unable to load RAM resource (error "+g+": "+a+")"),c.g=null):(ta(c.La,a,b),(a=ib(a,b))?(c.j=a.W,c.S=a.S,null==
c.ia&&(c.ia=a.ia),null==c.ha&&(c.ha=a.ha)):c.g=null);pd(c)})}}q(od,u);od.prototype.sa=function(a,b,c,d){this.C=b;this.b=c;this.A=d;pd(this)};od.prototype.la=function(a,b){this.S&&(this.A&&nd(this.A,this.id,this.u,this.w,this.S),delete this.S);b||this.reset();return!0};od.prototype.ca=function(){return!0}; c.ia&&(c.ia=a.ia),null==c.ha&&(c.ha=a.ha)):c.g=null);nd(c)})}}r(md,u);md.prototype.sa=function(a,b,c,d){this.C=b;this.b=c;this.A=d;nd(this)};md.prototype.la=function(a,b){this.S&&(this.A&&ld(this.A,this.id,this.u,this.w,this.S),delete this.S);b||this.reset();return!0};md.prototype.ca=function(){return!0};
function pd(a){if(a.C&&(!a.B&&a.w&&(kc(a.C,a.u,a.w,1)?a.B=!0:a.w=0),!Ka(a))){if(!a.B)x("No RAM allocated");else if(a.g){if(!a.j||!a.C)return;qd(a,a.j,a.ia,a.ha,a.u)?a.status('Loaded image "'+a.G+'"'):a.Y('Error loading image "'+a.G+'"')}E(a)}} function nd(a){if(a.C&&(!a.B&&a.w&&(ic(a.C,a.u,a.w,1)?a.B=!0:a.w=0),!La(a))){if(!a.B)x("No RAM allocated");else if(a.g){if(!a.j||!a.C)return;od(a,a.j,a.ia,a.ha,a.u)?a.status('Loaded image "'+a.G+'"'):a.Y('Error loading image "'+a.G+'"')}E(a)}}
od.prototype.reset=function(){if(this.B){for(var a=this.C,b=this.u,c=this.w,d=b&16383,b=b>>>a.j;0<c&&b<a.g.length;){var e=a.g[b],g=c,f=0,h,d=d||0,f=f||0;0>f&&f>=sa&&(f+=ra);f=Math.trunc(Math.abs(f))%ra;void 0===g&&(g=e.size);for(h=d;g--&&h<e.size;h++)e.F(d,f,e.v+d);c-=16384;b++;d=0}this.j&&qd(this,this.j,this.ia,this.ha,this.u,!this.A)}}; md.prototype.reset=function(){if(this.B){for(var a=this.C,b=this.u,c=this.w,d=b&16383,b=b>>>a.j;0<c&&b<a.g.length;){var e=a.g[b],g=c,f=0,h,d=d||0,f=f||0;0>f&&f>=sa&&(f+=ra);f=Math.trunc(Math.abs(f))%ra;void 0===g&&(g=e.size);for(h=d;g--&&h<e.size;h++)e.F(d,f,e.v+d);c-=16384;b++;d=0}this.j&&od(this,this.j,this.ia,this.ha,this.u,!this.A)}};
function qd(a,b,c,d,e,g){var f=!1,h=!1;if(null==c)for(var k=0;k<b.length-1;){var m=b[k]&255|(b[k+1]&255)<<8;if(m)if(m&255){var n=k;if(1!=m){G(a,"invalid signature ("+I(m)+") at offset "+I(n),4096);break}if(k+6>=b.length){G(a,"invalid block at offset "+I(n),4096);break}for(var k=k+2,p=b[k++]&255|(b[k++]&255)<<8,r=b[k++]&255|(b[k++]&255)<<8,m=m+((p&255)+(p>>8)+(r&255)+(r>>8)),K=k,ya=p-=6;0<p&&k<b.length;)m+=b[k++]&255,p--;if(p||k>=b.length){G(a,"insufficient data for block at offset "+I(n),4096);break}m+= function od(a,b,c,d,e,g){var f=!1,h=!1;if(null==c)for(var k=0;k<b.length-1;){var m=b[k]&255|(b[k+1]&255)<<8;if(m)if(m&255){var n=k;if(1!=m){G(a,"invalid signature ("+I(m)+") at offset "+I(n),4096);break}if(k+6>=b.length){G(a,"invalid block at offset "+I(n),4096);break}for(var k=k+2,p=b[k++]&255|(b[k++]&255)<<8,q=b[k++]&255|(b[k++]&255)<<8,m=m+((p&255)+(p>>8)+(q&255)+(q>>8)),K=k,za=p-=6;0<p&&k<b.length;)m+=b[k++]&255,p--;if(p||k>=b.length){G(a,"insufficient data for block at offset "+I(n),4096);break}m+=
b[k++]&255;if(m&255){G(a,"invalid checksum ("+H(m,2,!0)+") for block at offset "+I(n),4096);break}if(ya)for(G(a,"loading "+I(ya)+" bytes at "+I(r)+"-"+I(r+ya),4096);ya--;)fc(a.C,r++,b[K++]);else r&1?f=!0:null==d&&(d=r),null!=d&&G(a,"starting address: "+I(d),4096);h=!0}else k++;else k+=2}if(!h&&(null==c&&(c=e),null!=c)){for(h=0;h<b.length;h++)fc(a.C,c+h,b[h]);h=!0}if(h){if(null==d||f)a.b.R(),g=!1;null!=d&&(a=a.b,a.Ma=d,a.g=d%Ib,g?a.i.T?a.i.J||$b(a):a.i.X=!0:a.A&&a.i.T?a.R()||a.D.i.reset||(Wc(a.A), b[k++]&255;if(m&255){G(a,"invalid checksum ("+H(m,2,!0)+") for block at offset "+I(n),4096);break}if(za)for(G(a,"loading "+I(za)+" bytes at "+I(q)+"-"+I(q+za),4096);za--;)dc(a.C,q++,b[K++]);else q&1?f=!0:null==d&&(d=q),null!=d&&G(a,"starting address: "+I(d),4096);h=!0}else k++;else k+=2}if(!h&&(null==c&&(c=e),null!=c)){for(h=0;h<b.length;h++)dc(a.C,c+h,b[h]);h=!0}if(h){if(null==d||f)a.b.R(),g=!1;null!=d&&(a=a.b,a.Ma=d,a.g=d%Gb,g?a.i.T?a.i.J||Yb(a):a.i.X=!0:a.A&&a.i.T?a.R()||a.D.i.reset||(Uc(a.A),
Q(a.D,-1)):!1===g&&a.R(),!a.i.J&&a.pa&&a.pa.stop())}return h}M(function(){for(var a=D(document,C,"ram"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new od(d);B(d,c)}}); Q(a.D,-1)):!1===g&&a.R(),!a.i.J&&a.pa&&a.pa.stop())}return h}M(function(){for(var a=D(document,C,"ram"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new md(d);B(d,c)}});
function rd(a){u.call(this,"SerialPort",a,1048576);this.w=a.upperCase;"string"==typeof this.w&&(this.w="true"==this.w);this.u=!0;this.j=[];var b=a.binding;if("console"!=b){var c;a=sd;b&&(void 0===c&&(c="Panel"),(c=z(c,this.id))&&(b=c.F[b])&&this.da(null,a,b))}this.g=this.B=null;this.exports={connect:this.ib,receiveData:this.Pa,receiveStatus:this.Ib,setConnection:this.Lb}}q(rd,u);l=rd.prototype; function pd(a){u.call(this,"SerialPort",a,1048576);this.w=a.upperCase;"string"==typeof this.w&&(this.w="true"==this.w);this.u=!0;this.j=[];var b=a.binding;if("console"!=b){var c;a=qd;b&&(void 0===c&&(c="Panel"),(c=z(c,this.id))&&(b=c.F[b])&&this.da(null,a,b))}this.g=this.B=null;this.exports={connect:this.ib,receiveData:this.Pa,receiveStatus:this.Ib,setConnection:this.Lb}}r(pd,u);l=pd.prototype;
l.da=function(a,b,c){var d=this;switch(b){case sd:return this.F[b]=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?t.Wa:t.mb:46==c?b=t.Wa:a.ctrlKey&&c>=t.Va&&c<=t.ob&&(b=c-(t.Va-t.jb));b&&(a.preventDefault&&a.preventDefault(),d.Pa(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==t.lb&&(b=t.kb);d.Pa(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); l.da=function(a,b,c){var d=this;switch(b){case qd:return this.F[b]=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?t.Wa:t.mb:46==c?b=t.Wa:a.ctrlKey&&c>=t.Va&&c<=t.ob&&(b=c-(t.Va-t.jb));b&&(a.preventDefault&&a.preventDefault(),d.Pa(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==t.lb&&(b=t.kb);d.Pa(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation();
a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Pa(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.sa=function(a,b,c,d){this.D=a;this.C=b;this.b=c;this.A=d;E(this)}; a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Pa(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.sa=function(a,b,c,d){this.D=a;this.C=b;this.b=c;this.A=d;E(this)};
l.ib=function(a){if(!this.g){var b=Tc(this.D,"connection");if(b){var c=b.split("->");if(2==c.length){var d=ib(c[0]);if(d!=this.Ka)return;c=ib(c[1]);if(this.g=xa(c)){var e=this.g.exports;if(e){var g=e.connect;g&&g.call(this.g,this.u);if(this.B=e.receiveData){this.u=a;this.status("Connected "+this.La+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.la=function(a,b){if(!b)if(this.ib(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0}; l.ib=function(a){if(!this.g){var b=Rc(this.D,"connection");if(b){var c=b.split("->");if(2==c.length){var d=fb(c[0]);if(d!=this.Ka)return;c=fb(c[1]);if(this.g=xa(c)){var e=this.g.exports;if(e){var g=e.connect;g&&g.call(this.g,this.u);if(this.B=e.receiveData){this.u=a;this.status("Connected "+this.La+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.la=function(a,b){if(!b)if(this.ib(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0};
l.ca=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new O(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Pa=function(a){if("number"==typeof a)this.j.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d<a.length;d++){c=b;b=a.charCodeAt(d);if(10==b){if(13==c)continue;b=13}this.j.push(b)}else this.j=this.j.concat(a);return!0};l.Ib=function(){};l.Lb=function(a,b){return this.g?!1:(this.g=a,this.B=b,!0)};var sd="buffer"; l.ca=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new O(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Pa=function(a){if("number"==typeof a)this.j.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d<a.length;d++){c=b;b=a.charCodeAt(d);if(10==b){if(13==c)continue;b=13}this.j.push(b)}else this.j=this.j.concat(a);return!0};l.Ib=function(){};l.Lb=function(a,b){return this.g?!1:(this.g=a,this.B=b,!0)};var qd="buffer";
M(function(){for(var a=D(document,C,"serial"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new rd(d);B(d,c)}});function td(a){u.call(this,"Debugger",a);this.ba=+a.base||16;this.ma=!1;this.B=0;this.O=!1;this.w=-1;this.u=[];this.Z={}}q(td,u);td.prototype.hb=function(){return-1};td.prototype.Ua=function(){}; M(function(){for(var a=D(document,C,"serial"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new pd(d);B(d,c)}});function rd(a){u.call(this,"Debugger",a);this.ba=+a.base||16;this.ma=!1;this.B=0;this.O=!1;this.w=-1;this.u=[];this.Z={}}r(rd,u);rd.prototype.hb=function(){return-1};rd.prototype.Ua=function(){};
function ud(a,b,c,d){if(c)if(b){0>a.w&&a.u.length&&(a.w=0);if(0>a.w||b!=a.u[a.w])a.u.splice(0,0,b),a.w=0;a.w--}else a.O?b="end":b=a.u[a.w+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var g=0;g<=b.length;g++){var f=b.charAt(g);if('"'==f||"'"==f)e?f==e&&(e=null):e=f;else if(f==d&&!e||!f)a.push(ib(b.substring(c,g))),c=g+1}}return a} function sd(a,b,c,d){if(c)if(b){0>a.w&&a.u.length&&(a.w=0);if(0>a.w||b!=a.u[a.w])a.u.splice(0,0,b),a.w=0;a.w--}else a.O?b="end":b=a.u[a.w+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var g=0;g<=b.length;g++){var f=b.charAt(g);if('"'==f||"'"==f)e?f==e&&(e=null):e=f;else if(f==d&&!e||!f)a.push(fb(b.substring(c,g))),c=g+1}}return a}
function vd(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),g=a.pop();switch(d){case "*":d=g*e;break;case "/":if(!e)return!1;d=g/e;break;case "%":if(!e)return!1;d=g%e;break;case "+":d=g+e;break;case "-":d=g-e;break;case "<<":d=g<<e;break;case ">>":d=g>>e;break;case ">>>":d=g>>>e;break;case "<":d=g<e?1:0;break;case "<=":d=g<=e?1:0;break;case ">":d=g>e?1:0;break;case ">=":d=g>=e?1:0;break;case "==":d=g==e?1:0;break;case "!=":d=g!=e?1:0;break;case "&":d=g&e;break; function td(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),g=a.pop();switch(d){case "*":d=g*e;break;case "/":if(!e)return!1;d=g/e;break;case "%":if(!e)return!1;d=g%e;break;case "+":d=g+e;break;case "-":d=g-e;break;case "<<":d=g<<e;break;case ">>":d=g>>e;break;case ">>>":d=g>>>e;break;case "<":d=g<e?1:0;break;case "<=":d=g<=e?1:0;break;case ">":d=g>e?1:0;break;case ">=":d=g>=e?1:0;break;case "==":d=g==e?1:0;break;case "!=":d=g!=e?1:0;break;case "&":d=g&e;break;
case "^":d=g^e;break;case "|":d=g|e;break;case "&&":d=g&&e?1:0;break;case "||":d=g||e?1:0;break;default:return!1}a.push(d|0)}return!0} case "^":d=g^e;break;case "|":d=g|e;break;case "&&":d=g&&e?1:0;break;case "||":d=g||e?1:0;break;default:return!1}a.push(d|0)}return!0}
function wd(a,b,c){var d;if(b){b=xd(a,b);for(var e=0,g=!1,f=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<m.length;){var n=m[e++],p=n.length,n=ib(n);if(!n){g=!0;break}n=yd(a,n,null,!1===c);if(void 0===n){g=!0;c=!1;break}h.push(n);if(e==m.length)break;var n=m[e++],r=n.length;k.length&&zd[n]<zd[k[k.length-1]]&&vd(h,k,1);k.push(n);b=b.substr(p+r)}vd(h,k)&&1==h.length||(g=!0);g?c&&a.f("error parsing '"+f+"' at character "+(f.length-b.length)):(d=h.pop(),c&&Ad(a,null, function ud(a,b,c){var d;if(b){b=vd(a,b);for(var e=0,g=!1,f=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<m.length;){var n=m[e++],p=n.length,n=fb(n);if(!n){g=!0;break}n=wd(a,n,null,!1===c);if(void 0===n){g=!0;c=!1;break}h.push(n);if(e==m.length)break;var n=m[e++],q=n.length;k.length&&xd[n]<xd[k[k.length-1]]&&td(h,k,1);k.push(n);b=b.substr(p+q)}td(h,k)&&1==h.length||(g=!0);g?c&&a.f("error parsing '"+f+"' at character "+(f.length-b.length)):(d=h.pop(),c&&yd(a,null,
d))}return d}function xd(a,b){for(var c,d=a.ma?"(":"{",e=a.ma?")":"}",g=new RegExp(a.ma?"\\((.*?)\\)":"\\{(.*?)\\}");(c=b.match(g))&&!(0<=c[1].indexOf(d));){var f=wd(a,c[1]);b=b.replace(d+c[1]+e,null!=f?W(a,f):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)b=b.replace("["+c[1]+"]","unimplemented");for(a=b;b=a.match(/\$([a-z]+)/i);){c=null;switch(b[1].toLowerCase()){case "ops":c=0}if(null==c)break;a=a.replace(b[0],c.toString())}return a} d))}return d}function vd(a,b){for(var c,d=a.ma?"(":"{",e=a.ma?")":"}",g=new RegExp(a.ma?"\\((.*?)\\)":"\\{(.*?)\\}");(c=b.match(g))&&!(0<=c[1].indexOf(d));){var f=ud(a,c[1]);b=b.replace(d+c[1]+e,null!=f?W(a,f):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)b=b.replace("["+c[1]+"]","unimplemented");for(a=b;b=a.match(/\$([a-z]+)/i);){c=null;switch(b[1].toLowerCase()){case "ops":c=0}if(null==c)break;a=a.replace(b[0],c.toString())}return a}
function yd(a,b,c,d){var e;null!=b?(e=a.hb(b),0<=e?e=a.Ua(e):(e=a.Z[b],null==e&&(e=Oa(b,a.ba))),null!=e||d||a.f("invalid "+(c?c:"value")+": "+b)):d||a.f("missing "+(c||"value"));return e} function wd(a,b,c,d){var e;null!=b?(e=a.hb(b),0<=e?e=a.Ua(e):(e=a.Z[b],null==e&&(e=Pa(b,a.ba))),null!=e||d||a.f("invalid "+(c?c:"value")+": "+b)):d||a.f("missing "+(c||"value"));return e}
function Ad(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var g=4,f="";if(!g||4<g)g=4;for(var h=0;h<g;h++){f&&(f=","+f);var k=d&255,m=void 0,n=8,p="";n?32<n&&(n=32):n=32;for(var r=null==k||isNaN(k),K=m=m||n;0<n--;)K||(p=","+p,K=m),p=(r?"?":k&1?"1":"0")+p,k>>=1,K--;f=p+f;d>>=8}d=H(c,0,!0)+" "+c+". "+Pa(c,0,!0)+" "+("0b"+f);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.f((null!=b?b+": ":"")+d);return e} function yd(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var g=4,f="";if(!g||4<g)g=4;for(var h=0;h<g;h++){f&&(f=","+f);var k=d&255,m=void 0,n=8,p="";n?32<n&&(n=32):n=32;for(var q=null==k||isNaN(k),K=m=m||n;0<n--;)K||(p=","+p,K=m),p=(q?"?":k&1?"1":"0")+p,k>>=1,K--;f=p+f;d>>=8}d=H(c,0,!0)+" "+c+". "+Qa(c,0,!0)+" "+("0b"+f);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.f((null!=b?b+": ":"")+d);return e}
function Bd(a,b){if(b)return Ad(a,b,a.Z[b]);var c=0;for(b in a.Z)Ad(a,b,a.Z[b]),c++;return 0<c}function W(a,b,c){c=void 0===c?0:c;switch(a.ba){case 8:a=Pa(b,3*c);break;case 10:a=b.toString();break;default:a=H(b,2*c)}return a}var zd={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; function zd(a,b){if(b)return yd(a,b,a.Z[b]);var c=0;for(b in a.Z)yd(a,b,a.Z[b]),c++;return 0<c}function W(a,b){var c;c=void 0===c?0:c;switch(a.ba){case 8:a=Qa(b,0<c?(c+2)/3|0:0);break;case 10:a=b;b=0<c?Math.ceil(.3*c):0;var d="";b?10<b&&(b=10):b=a&-65536?10:5;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;)d=String.fromCharCode(a%10+48)+d,a/=10;a=d;break;default:a=H(b,0<c?c+3>>2:0)}0>c?c=a.replace(/^0+([0-9A-F]+)$/i,"$1"):c=a;return c}
function Cd(a){td.call(this,a);this.ya=!1;this.ma=!0;this.I=X();this.xa=X();this.N=X();this.H=[];this.g=this.K=this.G=[];Dd(this);this.P=this.ga=0;this.j=[];this.pa=void 0;Ed(this);this.A=this;this.na={};this.V=this.cb=0;this.U=null;this.M=[];Fd(this,a.messages);this.ra=a.commands;this.Ba=Gd;this.Ma=[];this.L=0;this.Da=this.qa=null;this.B=this.Aa=this.za=this.fa=this.oa=0;this.ea=this.aa=null;var b=this;window?void 0===window[C]&&(window[C]=function(a){return Yc(b,a)}):void 0===global[C]&&(global[C]= var xd={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
function(a){return Yc(b,a)})}q(Cd,td);function Y(a){a=a&&a.v;null==a&&(a=-1);return a}function X(a,b,c){return{v:void 0===a?null:a,qb:void 0===b?!1:b,ka:!1,ba:c}}function Hd(a){return[a.v,a.qb,a.ba,a.ka,a.Qa]}function Id(a,b){var c=X(b[0],b[1],b[2]);c.ka=b[3];b[4]&&(c.ab=ud(a,c.Qa=b[4]));return c}l=Cd.prototype; function Ad(a){rd.call(this,a);this.ya=!1;this.ma=!0;this.I=X();this.xa=X();this.N=X();this.H=[];this.g=this.K=this.G=[];Bd(this);this.P=this.ga=0;this.j=[];this.pa=void 0;Cd(this);this.A=this;this.na={};this.V=this.cb=0;this.U=null;this.M=[];Dd(this,a.messages);this.ra=a.commands;this.Ba=Ed;this.Ma=[];this.L=0;this.Da=this.qa=null;this.B=this.Aa=this.za=this.fa=this.oa=0;this.ea=this.aa=null;var b=this;window?void 0===window[C]&&(window[C]=function(a){return Wc(b,a)}):void 0===global[C]&&(global[C]=
l.sa=function(a,b,c,d){this.C=b;this.D=a;this.b=c;this.ea=a.u;(a=Tc(a,"messages"))&&Fd(this,a);Jd(this,function(a){a:{var b=d.C.g,c=a[0],e=a=0,k=b.length;if(c){a=Y(Z(d,c));if(-1===a){d.f("invalid address: "+c);break a}e=a>>>d.C.j;k=1}d.f("blockid physical blockaddr used size type");d.f("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[e];n.type==c?m++||d.f("..."):(c=n.type,m=nc[c],n&&d.f(H(n.id,8)+" %"+H(e<<d.C.j,8)+" %"+H(n.v,8)+" "+I(n.Ha)+" "+ function(a){return Wc(b,a)})}r(Ad,rd);function Y(a){a=a&&a.v;null==a&&(a=-1);return a}function X(a,b,c){return{v:void 0===a?null:a,qb:void 0===b?!1:b,ka:!1,ba:c}}function Fd(a){return[a.v,a.qb,a.ba,a.ka,a.Qa]}function Gd(a,b){var c=X(b[0],b[1],b[2]);c.ka=b[3];b[4]&&(c.ab=sd(a,c.Qa=b[4]));return c}l=Ad.prototype;
I(n.size)+" "+m),c!=Hc&&(c=-1),m=0);a+=16384;e++}}});E(this)}; l.sa=function(a,b,c,d){this.C=b;this.D=a;this.b=c;this.ea=a.u;(a=Rc(a,"messages"))&&Dd(this,a);Hd(this,function(a){a:{var b=d.C.g,c=a[0],e=a=0,k=b.length;if(c){a=Y(Z(d,c));if(-1===a){d.f("invalid address: "+c);break a}e=a>>>d.C.j;k=1}d.f("blockid physical blockaddr used size type");d.f("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[e];n.type==c?m++||d.f("..."):(c=n.type,m=lc[c],n&&d.f(H(n.id,8)+" %"+H(e<<d.C.j,8)+" %"+H(n.v,8)+" "+I(n.Ha)+" "+
l.da=function(a,b,c){var d=this;switch(b){case "debugInput":return this.aa=this.F[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",Yc(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.w<d.u.length-1&&(b=d.u[++d.w])):40==a.keyCode&&(0<d.w?b=d.u[--d.w]:(b="",d.w=-1)),null!=b){var e=b.length;c.value=b;c.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.F[b]=c,ub(c,function(){if(d.aa){var a=d.aa.value; I(n.size)+" "+m),c!=Fc&&(c=-1),m=0);a+=16384;e++}}});E(this)};
d.aa.value="";Yc(d,a,!0);return!0}return!1}),!0;case "step":return this.F[b]=c,ub(c,function(a){var b=!1;La(d,!0)||(Ma(d,!0),b=ac(d,a?1:0,null),Ma(d,!1));return b}),!0}return!1};function Xc(a){if(a.aa){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.aa.focus();window&&window.scrollTo(b,c)}}l.wa=function(a,b){var c=0,d=Y(a);-1!==d&&(c=gc(this.C,d),b&&null!=a.v&&(a.v+=b||1));return c};l.Xa=function(a,b,c){var d=Y(a);-1!==d&&(fc(this.C,d,b),c&&null!=a.v&&(a.v+=c||1),Q(this.D,-1))}; l.da=function(a,b,c){var d=this;switch(b){case "debugInput":return this.aa=this.F[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",Wc(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.w<d.u.length-1&&(b=d.u[++d.w])):40==a.keyCode&&(0<d.w?b=d.u[--d.w]:(b="",d.w=-1)),null!=b){var e=b.length;c.value=b;c.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.F[b]=c,rb(c,function(){if(d.aa){var a=d.aa.value;
function Z(a,b,c){var d;c=(c?a.I:a.xa).v;var e,g;if(void 0!==b){b=xd(a,b);"%"==b.charAt(0)&&(e=!0,b=b.substr(1));d=b;var f,h;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;c<a.H.length;c++){var k=a.H[c].S[d];if(null!=k){h=k.o;break}}null!=h&&(f=X(h));if(d=f)return d;0<=b.indexOf("0x")?g=16:0<=b.indexOf("0o")?g=8:0<=b.indexOf(".")&&(g=10);c=wd(a,b,void 0)}null!=c&&(d=X(c,e,g));return d}function Kd(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.ab=ud(a,b.Qa=c[2]))} d.aa.value="";Wc(d,a,!0);return!0}return!1}),!0;case "step":return this.F[b]=c,rb(c,function(a){var b=!1;Ma(d,!0)||(Na(d,!0),b=Zb(d,a?1:0,null),Na(d,!1));return b}),!0}return!1};function Vc(a){if(a.aa){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.aa.focus();window&&window.scrollTo(b,c)}}l.wa=function(a,b){var c=-1,d=Y(a);-1!==d&&(c=ec(this.C,d),b&&null!=a.v&&(a.v+=b||1));return c};l.Xa=function(a,b,c){var d=Y(a);-1!==d&&(dc(this.C,d,b),c&&null!=a.v&&(a.v+=c||1),Q(this.D,-1))};
function Fd(a,b){a.A=a;a.V=a.cb=536870916;a.U=null;a.M=[];b=ud(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in N){var d;a:if(d=void 0,Array.prototype.indexOf)d=b.indexOf(c,d);else{d=d||0;0>d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d<e;d++)if(d in b&&b[d]===c)break a;d=-1}0<=d&&(a.V|=N[c],a.f(c+" messages enabled"))}}function Jd(a,b){for(var c in N)if(16==N[c]){a.na[c]=b;break}}l.hb=function(a){return Ld.indexOf(a.toUpperCase())}; function Z(a,b,c){var d;c=(c?a.I:a.xa).v;var e,g;if(void 0!==b){b=vd(a,b);"%"==b.charAt(0)&&(e=!0,b=b.substr(1));d=b;var f,h;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;c<a.H.length;c++){var k=a.H[c].S[d];if(null!=k){h=k.o;break}}null!=h&&(f=X(h));if(d=f)return d;0<=b.indexOf("0x")?g=16:0<=b.indexOf("0o")?g=8:0<=b.indexOf(".")&&(g=10);c=ud(a,b,void 0)}null!=c&&(d=X(c,e,g));return d}function Id(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.ab=sd(a,b.Qa=c[2]))}
l.Ua=function(a){var b;switch(a){case Md:b=this.b.g}return b};l.message=function(a,b){b&&(a+=" @"+W(this,X(this.b.ra).v));if(!this.U||a!=this.U)if(this.U=a,this.V&1073741824)this.M.push(a);else{var c;if(this.V&-2147483648&&this.b&&(c=this.b.i.J)||La(this,!0))this.R(),c&&(a+=" (cpu halted)");this.f(a);this.b&&(a=this.b,fd(a),a.O=0,a.D&&Q(a.D,void 0))}}; function Jd(a){return Qa(a/Gb,6)+" "+Qa(a%Gb,6)}function Dd(a,b){a.A=a;a.V=a.cb=536870916;a.U=null;a.M=[];b=sd(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in N){var d;a:if(d=void 0,Array.prototype.indexOf)d=b.indexOf(c,d);else{d=d||0;0>d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d<e;d++)if(d in b&&b[d]===c)break a;d=-1}0<=d&&(a.V|=N[c],a.f(c+" messages enabled"))}}function Hd(a,b){for(var c in N)if(16==N[c]){a.na[c]=b;break}}l.hb=function(a){return Kd.indexOf(a.toUpperCase())};
function Ed(a){var b;if(!jd(a))a.j&&a.j.length&&a.f("instruction history buffer freed"),a.P=0,a.j=[];else if(!a.j||!a.j.length){a.j=Array(Nd);for(b=0;b<a.j.length;b++)a.j[b]=X();a.P=0;a.f("instruction history buffer allocated")}}function Od(a,b,c){if(!Pd(a,c))return!1;$b(a.b,b);return!0} l.Ua=function(a){var b;switch(a){case Ld:b=this.b.g}return b};l.message=function(a,b){b&&(a+=" @"+W(this,X(this.b.ra).v));if(!this.U||a!=this.U)if(this.U=a,this.V&1073741824)this.M.push(a);else{var c;if(this.V&-2147483648&&this.b&&(c=this.b.i.J)||Ma(this,!0))this.R(),c&&(a+=" (cpu halted)");this.f(a);this.b&&(a=this.b,dd(a),a.O=0,a.D&&Q(a.D,void 0))}};
function ac(a,b,c,d){if(!Pd(a))return!1;var e="";null===c&&(e=(c=!a.qa||"tr"==a.qa)?"tr":"t");a.B=0;b||jd(a)&&kd(a,a.b.g,0);try{b=dd(a.b,b);var g=a.b.Ja(b);0<g&&(bc(a.b,g),a.B+=g,cc(a.b,g,!0),dc(a.b,g),a.fa++)}catch(f){"number"!=typeof f&&(a.B=0,Ia(a.b,f.stack||f.message))}!1!==d&&(a.ea&&a.ea.stop(),Q(a.D,-1));Wc(a,c||!1,e);return 0<a.B}l.R=function(a){this.b&&this.b.R(a)};function Wc(a,b,c){a.ya&&(void 0===b&&(b=!0),c&&a.f(Qd+c),a.I=X(a.b.g),b&&1!=a.L?Rd(a):qe(a))} function Cd(a){var b;if(!hd(a))a.j&&a.j.length&&a.f("instruction history buffer freed"),a.P=0,a.j=[];else if(!a.j||!a.j.length){a.j=Array(Md);for(b=0;b<a.j.length;b++)a.j[b]=X();a.P=0;a.f("instruction history buffer allocated")}}function Nd(a,b,c){if(!Od(a,c))return!1;Yb(a.b,b);return!0}
function Pd(a,b){var c;(c=!a.b||!Ka(a.b))||(c=a.b,c.i.T?c=!0:(c.f(c.toString()+" not powered"),c=!1),c=!c);return c||a.b.i.J?(b||a.f("cpu busy or unavailable, command ignored"),!1):!Ja(a.b)}l.la=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0};l.ca=function(a,b){b&&this.f(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){Ed(this);this.fa=0;this.U=null;this.B=0;this.I=X(this.b.g);this.i.J=!1;se(this);a||Wc(this)}; function Zb(a,b,c,d){if(!Od(a))return!1;var e="";null===c&&(e=(c=!a.qa||"tr"==a.qa)?"tr":"t");a.B=0;b||hd(a)&&id(a,a.b.g,0);try{b=bd(a.b,b);var g=a.b.Ja(b);0<g&&($b(a.b,g),a.B+=g,ac(a.b,g,!0),bc(a.b,g),a.fa++)}catch(f){"number"!=typeof f&&(a.B=0,Ja(a.b,f.stack||f.message))}!1!==d&&(a.ea&&a.ea.stop(),Q(a.D,-1));Uc(a,c||!1,e);return 0<a.B}l.R=function(a){this.b&&this.b.R(a)};function Uc(a,b,c){a.ya&&(void 0===b&&(b=!0),c&&a.f(Pd+c),a.I=X(a.b.g),b&&1!=a.L?Qd(a):re(a))}
l.save=function(){var a=new O(this);a.set(0,Hd(this.I));a.set(1,Hd(this.N));a.set(2,[this.u,this.O,this.V]);a.set(3,this.H);return a.data()};l.restore=function(a){var b=0;void 0!==a[2]&&(this.I=Id(this,a[b++]),this.N=Id(this,a[b++]),this.u=a[b][0],"string"==typeof this.u&&(this.u=[this.u]),this.O=a[b][1],this.V|=a[b][2]);a[3]&&(this.H=a[3]);return!0};l.start=function(a,b){this.L||this.f("running");this.i.J=!0;this.za=a;this.Aa=b}; function Od(a,b){var c;(c=!a.b||!La(a.b))||(c=a.b,c.i.T?c=!0:(c.f(c.toString()+" not powered"),c=!1),c=!c);return c||a.b.i.J?(b||a.f("cpu busy or unavailable, command ignored"),!1):!Ka(a.b)}l.la=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0};l.ca=function(a,b){b&&this.f(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){Cd(this);this.fa=0;this.U=null;this.B=0;this.I=X(this.b.g);this.i.J=!1;te(this);a||Uc(this)};
l.stop=function(a,b){if(this.i.J){this.i.J=!1;this.B=b-this.Aa;if(!this.L){b="stopped";if(this.B){a-=this.za;var c=0<a?Math.round(1E3*this.B/a):0;b+=" (";jd(this)&&(b+=this.fa+" instructions, ",this.fa=0);b+=this.B+" cycles, "+a+" ms, "+c+" hz)"}else Na(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.f(b)}Wc(this,!0);Xc(this);se(this,this.b.g);this.U=null}};function jd(a){return 1<a.g.length||!!a.ga} l.save=function(){var a=new O(this);a.set(0,Fd(this.I));a.set(1,Fd(this.N));a.set(2,[this.u,this.O,this.V]);a.set(3,this.H);return a.data()};l.restore=function(a){var b=0;void 0!==a[2]&&(this.I=Gd(this,a[b++]),this.N=Gd(this,a[b++]),this.u=a[b][0],"string"==typeof this.u&&(this.u=[this.u]),this.O=a[b][1],this.V|=a[b][2]);a[3]&&(this.H=a[3]);return!0};l.start=function(a,b){this.L||this.f("running");this.i.J=!0;this.za=a;this.Aa=b};
function kd(a,b,c){var d=-1;if(!c&&(d=a.b.ta(b),23119003648==(d&68711088128)&&a.b.ra==b)){b=a.b;var e=b.g;b.g=(e+1)%Ib;b=e}if(0<c&&(a.ga&&!--a.ga||Qc(a,b,1,a.g)))return!0;0<=c&&a.j.length&&(a.fa++,0>d&&(d=a.b.ta(b)),68719476735!=(d&65535)&&(c=a.j[a.P],c.v=b,c.ka=!1,c.ba=void 0,++a.P==a.j.length&&(a.P=0)));return!1} l.stop=function(a,b){if(this.i.J){this.i.J=!1;this.B=b-this.Aa;if(!this.L){b="stopped";if(this.B){a-=this.za;var c=0<a?Math.round(1E3*this.B/a):0;b+=" (";hd(this)&&(b+=this.fa+" instructions, ",this.fa=0);b+=this.B+" cycles, "+a+" ms, "+c+" hz)"}else Oa(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.f(b)}Uc(this,!0);Vc(this);te(this,this.b.g);this.U=null}};function hd(a){return 1<a.g.length||!!a.ga}
function Dd(a){var b,c;a.g=["bp"];if(a.K)for(b=1;b<a.K.length;b++){c=a.K[b];c=Y(c);var d=a.C;Pc(d.g[c>>>d.j],!1)}a.K=["br"];if(a.G)for(b=1;b<a.G.length;b++)c=a.G[b],c=Y(c),d=a.C,Pc(d.g[c>>>d.j],!0);a.G=["bw"];a.oa=0;a.ga=0}l.va=function(a,b,c){var d=!0;c||te(this,a,b,!1,!0);if(a!=this.g){var e=Y(b);if(-1===e)this.f("invalid address: "+W(this,b.v)),d=!1;else{var g=this.C;g.g[e>>>g.j].va(e&16383,a==this.G)}}d&&(a.push(b),c?b.ka=!0:(ue(this,a,a.length-1,"set"),Ed(this)));return d}; function id(a,b,c){var d=-1;if(!c&&(d=a.b.ta(b),23119003648==(d&68711088128)&&a.b.ra==b)){b=a.b;var e=b.g;b.g=(e+1)%Gb;b=e}if(0<c&&(a.ga&&!--a.ga||Oc(a,b,1,a.g)))return!0;0<=c&&a.j.length&&(a.fa++,0>d&&(d=a.b.ta(b)),68719476735!=(d&65535)&&(c=a.j[a.P],c.v=b,c.ka=!1,c.ba=void 0,++a.P==a.j.length&&(a.P=0)));return!1}
function te(a,b,c,d,e){var g=!1;c=Y(c);for(var f=1;f<b.length;f++){var h=b[f];if(c==Y(h)&&(!d||h.ka)){g=!0;h.ka||e||ue(a,b,f,"cleared");b.splice(f,1);b!=a.g&&(d=a.C,Pc(d.g[c>>>d.j],b==a.G));h.ka||Ed(a);break}}return g}function ve(a,b){for(var c=1;c<b.length;c++)ue(a,b,c);return b.length-1}function ue(a,b,c,d){c=b[c];a.f(b[0]+" "+W(a,c.v)+(d?" "+d:c.Qa?' "'+c.Qa+'"':""))} function Bd(a){var b,c;a.g=["bp"];if(a.K)for(b=1;b<a.K.length;b++){c=a.K[b];c=Y(c);var d=a.C;Nc(d.g[c>>>d.j],!1)}a.K=["br"];if(a.G)for(b=1;b<a.G.length;b++)c=a.G[b],c=Y(c),d=a.C,Nc(d.g[c>>>d.j],!0);a.G=["bw"];a.oa=0;a.ga=0}l.va=function(a,b,c){var d=!0;c||ue(this,a,b,!1,!0);if(a!=this.g){var e=Y(b);if(-1===e)this.f("invalid address: "+W(this,b.v)),d=!1;else{var g=this.C;g.g[e>>>g.j].va(e&16383,a==this.G)}}d&&(a.push(b),c?b.ka=!0:(ve(this,a,a.length-1,"set"),Cd(this)));return d};
function se(a,b){if(void 0!==b)Qc(a,b,1,a.g,!0),a.L=0;else for(b=1;b<a.g.length;b++){var c=a.g[b];if(c.ka){if(!te(a,a.g,c,!0))break;b=0}}} function ue(a,b,c,d,e){var g=!1;c=Y(c);for(var f=1;f<b.length;f++){var h=b[f];if(c==Y(h)&&(!d||h.ka)){g=!0;h.ka||e||ve(a,b,f,"cleared");b.splice(f,1);b!=a.g&&(d=a.C,Nc(d.g[c>>>d.j],b==a.G));h.ka||Cd(a);break}}return g}function we(a,b){for(var c=1;c<b.length;c++)ve(a,b,c);return b.length-1}function ve(a,b,c,d){c=b[c];a.f(b[0]+" "+W(a,c.v)+(d?" "+d:c.Qa?' "'+c.Qa+'"':""))}
function Qc(a,b,c,d,e){var g=!1;if(!a.oa++)for(var f=1;!g&&f<d.length;f++){var h=d[f];if(!e||h.ka)for(var k=Y(h)&(d==a.g?65535:-1),m=0;m<c;m++)if(b+m==k){var n,g=!0;h.ka&&(te(a,d,h,!0),e=!0);if(n=h.ab){for(var g=!1,p=0;p<n.length;p++)if(!we(a,n[p],!0)){if(n[p].indexOf("if")){g=!0;break}for(var r=p+1;r<n.length&&n[r].indexOf("else");r++)p++;if(r==n.length){g=!0;break}}a.b.i.J||(g=!0)}if(g){e||ue(a,d,f,"hit");break}}}a.oa--;return g} function te(a,b){if(void 0!==b)Oc(a,b,1,a.g,!0),a.L=0;else for(b=1;b<a.g.length;b++){var c=a.g[b];if(c.ka){if(!ue(a,a.g,c,!0))break;b=0}}}
function xe(a,b,c,d){var e=X(b.v),g=a.wa(b,2),f,h;for(h in a.Ba)if(f=a.Ba[h][g&h])break;f||(f=ye);var k=f[0];0<=a.Ma.indexOf(k)&&(f=ye,k=f[0]);var m=h="",n=ze[k],p=f.length-1;k||p||(h=W(a,g));for(g=1;g<=p;g++)if(void 0!==f[g]){k="";if(!k||!k.length){h="INVALID";break}"string"!=typeof k&&(m=k[1],k=k[0]);0<h.length&&(h+=",");h+=k||"???"}f="";p=W(a,e.v)+":";if(-1!==e.v&&-1!==b.v){do if(f+=" "+W(a,a.wa(e,2)),null==e.v)break;while(e.v!=b.v)}p+=hb(f,24);p+=hb(n,5);h&&(p+=" "+h);if(c||m)p=hb(p,60)+";"+(c|| function Oc(a,b,c,d,e){var g=!1;if(!a.oa++)for(var f=1;!g&&f<d.length;f++){var h=d[f];if(!e||h.ka)for(var k=Y(h)&(d==a.g?65535:-1),m=0;m<c;m++)if(b+m==k){var n,g=!0;h.ka&&(ue(a,d,h,!0),e=!0);if(n=h.ab){for(var g=!1,p=0;p<n.length;p++)if(!xe(a,n[p],!0)){if(n[p].indexOf("if")){g=!0;break}for(var q=p+1;q<n.length&&n[q].indexOf("else");q++)p++;if(q==n.length){g=!0;break}}a.b.i.J||(g=!0)}if(g){e||ve(a,d,f,"hit");break}}}a.oa--;return g}
""),p=a.b.i.Ca?p+("cycles="+Zc(a.b).toString()+" cs="+H(a.b.ma)):p+(null!=d?"="+d.toString():""),m&&(";"!=p.slice(-1)&&(p+=" "),p+=m);return p}l.eb=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};function nd(a,b,c,d,e){var g=[],f;for(f in e){var h=e[f];"number"==typeof h&&(e[f]=h={o:h});var k=h.o,m=h.a;if(void 0!==k){var n=g,k=[k>>>0,f],p=jb(n,k,a.eb);0>p&&n.splice(-(p+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.H.push({Yc:b,v:c,tb:d,S:e,bb:g})} function ye(a,b,c,d){var e=X(b.v),g=a.wa(b,1),f,h;for(h in a.Ba)if(f=a.Ba[h][g&h])break;f||(f=ze);var k=f[0];0<=a.Ma.indexOf(k)&&(f=ze,k=f[0]);var m=h="",n=Ae[k],p=f.length-1;k||p||(h=Jd(g));for(g=1;g<=p;g++)if(void 0!==f[g]){k="";if(!k||!k.length){h="INVALID";break}"string"!=typeof k&&(m=k[1],k=k[0]);0<h.length&&(h+=",");h+=k||"???"}f="";p=W(a,e.v)+":";if(-1!==e.v&&-1!==b.v){do if(g=a.wa(e,1),f+=" "+Jd(g),null==e.v)break;while(e.v!=b.v)}p+=Xa(f,16);p+=Xa(n,5);h&&(p+=" "+h);if(c||m)p=Xa(p,60)+";"+
function Ae(a,b,c){var d=[],e=Y(b)>>>0;for(b=0;b<a.H.length;b++){var g=a.H[b],f=g.v>>>0,h=g.tb;if(e>=f&&e<f+h){e=jb(g.bb,[e-f],a.eb);0<=e?Be(a,b,e,d):c&&(e=~e,Be(a,b,e-1,d),Be(a,b,e,d));break}}return d}function Be(a,b,c,d){var e={},g=a.H[b].bb,f=0,h=null;0<=c&&c<g.length&&(f=g[c][0],h=g[c][1]);h&&(e=a.H[b].S[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(f);d.push(e.a);d.push(e.c)} (c||""),p=a.b.i.Ca?p+("cycles="+Xc(a.b).toString()+" cs="+H(a.b.ma)):p+(null!=d?"="+d.toString():""),m&&(";"!=p.slice(-1)&&(p+=" "),p+=m);return p}l.eb=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};function ld(a,b,c,d,e){var g=[],f;for(f in e){var h=e[f];"number"==typeof h&&(e[f]=h={o:h});var k=h.o,m=h.a;if(void 0!==k){var n=g,k=[k>>>0,f],p=gb(n,k,a.eb);0>p&&n.splice(-(p+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.H.push({Yc:b,v:c,tb:d,S:e,bb:g})}
function Ce(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Bd(a)||a.f("no variables"),!0;if(!c[2])return Bd(a,c[1]);if(!c[3])return delete a.Z[c[1]],!0;b=wd(a,c[3]);return void 0!==b?(a.Z[c[1]]=b,!0):!1}a.f("invalid assignment:"+b);return!1} function Be(a,b,c){var d=[],e=Y(b)>>>0;for(b=0;b<a.H.length;b++){var g=a.H[b],f=g.v>>>0,h=g.tb;if(e>=f&&e<f+h){e=gb(g.bb,[e-f],a.eb);0<=e?Ce(a,b,e,d):c&&(e=~e,Ce(a,b,e-1,d),Ce(a,b,e,d));break}}return d}function Ce(a,b,c,d){var e={},g=a.H[b].bb,f=0,h=null;0<=c&&c<g.length&&(f=g[c][0],h=g[c][1]);h&&(e=a.H[b].S[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(f);d.push(e.a);d.push(e.c)}
function De(a,b,c){var d=null;if(b=Z(a,b,!0)){var e=Ae(a,b,!0);if(e.length){var g,f;e[0]&&(f="",(g=b.v-e[1])&&(f=" + "+I(g)),g=e[0]+" ("+W(a,e[1])+")"+f,c&&a.f(g),d=g);4<e.length&&e[4]&&(f="",(g=e[5]-b.v)&&(f=" - "+I(g)),g=e[4]+" ("+W(a,e[5])+")"+f,c&&a.f(g),d||(d=g))}else c&&a.f("no symbols")}return d} function De(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return zd(a)||a.f("no variables"),!0;if(!c[2])return zd(a,c[1]);if(!c[3])return delete a.Z[c[1]],!0;b=ud(a,c[3]);return void 0!==b?(a.Z[c[1]]=b,!0):!1}a.f("invalid assignment:"+b);return!1}
function Rd(a,b){var c;if(b&&"?"==b[1])a.f("register commands:"),a.f("\tr\tdump registers"),a.f("\trm\tdump misc registers"),a.f("\trx [#]\tset flag or register x to [#]");else{var d=!1,e=a.b;null==c&&(c=!0);if(b&&1<b.length){var g=b[1];if("m"==g)d=!0;else{var f=g.indexOf("=");if(0<f)b=g.substr(f+1),g=g.substr(0,f);else if(2<b.length)b=b[2];else{a.f("missing value for "+b[1]);return}f=wd(a,b);if(void 0===f)return;switch(g.toUpperCase()){case "PC":e.g=f%Ib;a.I=X(e.g);break;default:a.f("unknown register: "+ function Ee(a,b,c){var d=null;if(b=Z(a,b,!0)){var e=Be(a,b,!0);if(e.length){var g,f;e[0]&&(f="",(g=b.v-e[1])&&(f=" + "+I(g)),g=e[0]+" ("+W(a,e[1])+")"+f,c&&a.f(g),d=g);4<e.length&&e[4]&&(f="",(g=e[5]-b.v)&&(f=" - "+I(g)),g=e[4]+" ("+W(a,e[5])+")"+f,c&&a.f(g),d||(d=g))}else c&&a.f("no symbols")}return d}
g);return}Q(a.D);a.f("updated registers:")}}g=Md;(f=Ld[g]||"")&&(f+="="+W(a,a.Ua(g))+" ");g=""+f;d&&(g+="\n");a.f(g);c&&(a.I=X(e.g),qe(a,W(a,a.I.v)))}}function Ee(a,b){b=ib(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.f(c[2]):Ad(a,null,c[2].charCodeAt(0)):wd(a,b,!0)} function Qd(a,b){var c;if(b&&"?"==b[1])a.f("register commands:"),a.f("\tr\tdump registers"),a.f("\trm\tdump misc registers"),a.f("\trx [#]\tset flag or register x to [#]");else{var d=!1,e=a.b;null==c&&(c=!0);if(b&&1<b.length){var g=b[1];if("m"==g)d=!0;else{var f=g.indexOf("=");if(0<f)b=g.substr(f+1),g=g.substr(0,f);else if(2<b.length)b=b[2];else{a.f("missing value for "+b[1]);return}f=ud(a,b);if(void 0===f)return;switch(g.toUpperCase()){case "PC":e.g=f%Gb;a.I=X(e.g);break;default:a.f("unknown register: "+
function Fe(a,b,c){if("?"==c)a.f("trace commands:"),a.f("\tt [#]\ttrace # instructions"),a.f("\ttr [#]\ttrace # instructions with register updates"),a.f("\ttc [#]\ttrace # cycles"),a.f("note: bn [#] breaks after # instructions without updates");else{var d="t"!=b;c=yd(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.qa=b;tb(c,function(){return Ma(a,!0)&&ac(a,e,d,!1)},function(){a.ea&&a.ea.stop();Q(a.D,-1);Ma(a,!1)})}} g);return}Q(a.D);a.f("updated registers:")}}g=Ld;(f=Kd[g]||"")&&(f+="="+W(a,a.Ua(g))+" ");g=""+f;d&&(g+="\n");a.f(g);c&&(a.I=X(e.g),re(a,W(a,a.I.v)))}}function Fe(a,b){b=fb(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.f(c[2]):yd(a,null,c[2].charCodeAt(0)):ud(a,b,!0)}
function qe(a,b,c,d){if(b=Z(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=yd(a,c.substr(1)),null!=c&&(d=c);else{d=Z(a,c,!0);if(!d||d.v<b.v)return;e=d.v-b.v;if(256<e){a.f("range too large");return}d=-1}c=0;for(var g;0<e&&d--;){g=La(a,!1)||a.L?a.B:null;var f=null!=g?"cycles":null,h=Ae(a,b),k=b.v;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.f(m)}h[3]&&(f=h[3],g=null);g=xe(a,b,f,g);a.f(g);a.I=b;e-=b.v-k;c++}}} function Ge(a,b,c){if("?"==c)a.f("trace commands:"),a.f("\tt [#]\ttrace # instructions"),a.f("\ttr [#]\ttrace # instructions with register updates"),a.f("\ttc [#]\ttrace # cycles"),a.f("note: bn [#] breaks after # instructions without updates");else{var d="t"!=b;c=wd(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.qa=b;qb(c,function(){return Na(a,!0)&&Zb(a,e,d,!1)},function(){a.ea&&a.ea.stop();Q(a.D,-1);Na(a,!1)})}}
function we(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.f(Qd+b):(a.O&&(a.f("ended assemble at "+W(a,a.N.v)),a.I=a.N,a.O=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.U=null;if(Ka(a)&&0<b.length){a.O&&(b="a "+W(a,a.N.v)+" "+b);var g=!1,f=b.replace(/ +/g," ").split(" ");f[0]=f[0].toLowerCase();if(f&&f.length)for(var h=f[0],k=h.charAt(0),m=1;m<h.length;m++){var n=h.charAt(m);if("?"==k||"r"==k||"a">n||"z"<n){f[0]=h.substr(m);f.unshift(h.substr(0,m));break}}switch(f[0].charAt(0)){case "a":var p= function re(a,b,c,d){if(b=Z(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=wd(a,c.substr(1)),null!=c&&(d=c);else{d=Z(a,c,!0);if(!d||d.v<b.v)return;e=d.v-b.v;if(256<e){a.f("range too large");return}d=-1}c=0;for(var g;0<e&&d--;){g=Ma(a,!1)||a.L?a.B:null;var f=null!=g?"cycles":null,h=Be(a,b),k=b.v;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.f(m)}h[3]&&(f=h[3],g=null);g=ye(a,b,f,g);a.f(g);a.I=b;e-=b.v-k;c++}}}
Z(a,f[1],!0);if(p)if(a.N=p,void 0===f[2])a.f("begin assemble at "+W(a,p.v)),a.O=!0,Q(a.D);else{var r;a.f("not supported yet");r=[];if(r.length){for(var K=0;K<r.length;K++)a.Xa(p,r[K],1);a.f(xe(a,a.N))}}break;case "b":a:{var ya=f[0],Aa=f[1],ff=b;if("?"==Aa)a.f("breakpoint commands:"),a.f("\tbp #\tset exec breakpoint"),a.f("\tbr #\tset read breakpoint"),a.f("\tbw #\tset write breakpoint"),a.f("\tbc #\tclear breakpoint (* to clear all)"),a.f("\tbl\tlist all breakpoints"),a.f("\tbn [#]\tbreak after # instruction(s)"); function xe(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.f(Pd+b):(a.O&&(a.f("ended assemble at "+W(a,a.N.v)),a.I=a.N,a.O=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.U=null;if(La(a)&&0<b.length){a.O&&(b="a "+W(a,a.N.v)+" "+b);var g=!1,f=b.replace(/ +/g," ").split(" ");f[0]=f[0].toLowerCase();if(f&&f.length)for(var h=f[0],k=h.charAt(0),m=1;m<h.length;m++){var n=h.charAt(m);if("?"==k||"r"==k||"a">n||"z"<n){f[0]=h.substr(m);f.unshift(h.substr(0,m));break}}switch(f[0].charAt(0)){case "a":var p=
else{var ia=ya.charAt(1);if("l"==ia){var pc;pc=0+ve(a,a.g);pc+=ve(a,a.K);(pc+=ve(a,a.G))||a.f("no breakpoints")}else if("n"==ia){var Sd=+Aa||0;Aa&&(a.ga=Sd);a.f("break after "+Sd+" instruction(s)")}else if(void 0===Aa)a.f("missing breakpoint address");else{var F=X();if("*"!=Aa&&(F=Z(a,Aa,!0),!F))break a;"c"==ia?null==F.v?(Dd(a),a.f("all breakpoints cleared")):te(a,a.g,F)||te(a,a.K,F)||te(a,a.G,F)||a.f("breakpoint missing: "+W(a,F.v)):null!=F.v&&(Kd(a,F,ff),"p"==ia?a.va(a.g,F):"r"==ia?a.va(a.K,F): Z(a,f[1],!0);if(p)if(a.N=p,void 0===f[2])a.f("begin assemble at "+W(a,p.v)),a.O=!0,Q(a.D);else{var q;a.f("not supported yet");q=[];if(q.length){for(var K=0;K<q.length;K++)a.Xa(p,q[K],1);a.f(ye(a,a.N))}}break;case "b":a:{var za=f[0],Ba=f[1],gf=b;if("?"==Ba)a.f("breakpoint commands:"),a.f("\tbp #\tset exec breakpoint"),a.f("\tbr #\tset read breakpoint"),a.f("\tbw #\tset write breakpoint"),a.f("\tbc #\tclear breakpoint (* to clear all)"),a.f("\tbl\tlist all breakpoints"),a.f("\tbn [#]\tbreak after # instruction(s)");
"w"==ia?a.va(a.G,F):a.f("unknown breakpoint command: "+ia))}}}break;case "c":a.ja&&(a.ja.value="");break;case "d":a:{var Ba,Ua=f[0],R=f[1],ca=f[2],gf=f[3];if("?"==R){var Ca="";for(Ba in N)a.na[Ba]&&(Ca&&(Ca+=","),Ca+=Ba);Ca+=",state,symbols";a.f("dump memory commands:");a.f("\tdw [a] [n] dump n words at address a");a.f("\tds [a] [n] dump n words at address a as JSON");a.f("\tdh [p] [n] dump n instructions from history position p");Ca.length&&a.f("dump extension commands:\n\t"+Ca)}else if("state"== else{var ja=za.charAt(1);if("l"==ja){var oc;oc=0+we(a,a.g);oc+=we(a,a.K);(oc+=we(a,a.G))||a.f("no breakpoints")}else if("n"==ja){var Rd=+Ba||0;Ba&&(a.ga=Rd);a.f("break after "+Rd+" instruction(s)")}else if(void 0===Ba)a.f("missing breakpoint address");else{var F=X();if("*"!=Ba&&(F=Z(a,Ba,!0),!F))break a;"c"==ja?null==F.v?(Bd(a),a.f("all breakpoints cleared")):ue(a,a.g,F)||ue(a,a.K,F)||ue(a,a.G,F)||a.f("breakpoint missing: "+W(a,F.v)):null!=F.v&&(Id(a,F,gf),"p"==ja?a.va(a.g,F):"r"==ja?a.va(a.K,F):
R){var qc=Ge(a.D,!0);"console"==ca?console.log(qc):(a.ja&&(a.ja.value=""),qc&&a.f(qc))}else if("symbols"==R)for(var rc=0;rc<a.H.length;rc++){var sc=a.H[rc],Da;for(Da in sc.S)if("."!=Da.charAt(0)){var Td=sc.S[Da].o;if(void 0!==Td){var Ud=sc.S[Da].l;Ud&&(Da=Ud);a.f(W(a,Td)+" "+Da)}}}else{if("d"==Ua){for(Ba in N)if(f[1]==Ba){var Vd=a.na[Ba];Vd?(f.shift(),f.shift(),Vd(f)):a.f("no dump registered for "+R);break a}R||(Ua=a.Da||"dw")}else a.Da=Ua;if("dh"==Ua){var Wd=R,Xd=ca,Yd="",Zd=0,P=a.P,S=a.j;if(S.length){var L= "w"==ja?a.va(a.G,F):a.f("unknown breakpoint command: "+ja))}}}break;case "c":a.ja&&(a.ja.value="");break;case "d":a:{var Ca,Da=f[0],R=f[1],ca=f[2],hf=f[3];if("?"==R){var Ea="";for(Ca in N)a.na[Ca]&&(Ea&&(Ea+=","),Ea+=Ca);Ea+=",state,symbols";a.f("dump memory commands:");a.f("\tdw [a] [n] dump n words at address a");a.f("\tds [a] [n] dump n words at address a as JSON");a.f("\tdh [p] [n] dump n instructions from history position p");Ea.length&&a.f("dump extension commands:\n\t"+Ea)}else if("state"==
+Wd||a.pa,Wa=+Xd||10;isNaN(L)?L=Wa:Yd="more ";L>S.length&&(a.f("note: only "+S.length+" available"),L=S.length);P-=L;0>P&&(null==S[S.length-1].v?(L=P+L,P=0):P+=S.length);var tc=[];"call"==Xd&&(Wa=1E5,tc=["CALL"]);for(void 0!==Wd&&a.f(L+" instructions earlier:");0<Wa&&P!=a.P;){var $d=S[P++];if(null==$d.v)break;var Xa=X($d.v),hf=L--,ae=xe(a,Xa,"history",hf);(!tc.length||0<=ae.indexOf(tc[0]))&&a.f(ae);Xa.Ta&&(P+=Xa.Ta,Wa-=Xa.Ta,L-=Xa.Ta);P>=S.length&&(P=0);a.pa=L;Zd++;Wa--}}Zd||(a.f("no "+Yd+"history available"), R){var pc=He(a.D,!0);"console"==ca?console.log(pc):(a.ja&&(a.ja.value=""),pc&&a.f(pc))}else if("symbols"==R)for(var qc=0;qc<a.H.length;qc++){var rc=a.H[qc],Fa;for(Fa in rc.S)if("."!=Fa.charAt(0)){var Sd=rc.S[Fa].o;if(void 0!==Sd){var Td=rc.S[Fa].l;Td&&(Fa=Td);a.f(W(a,Sd)+" "+Fa)}}}else{if("d"==Da){for(Ca in N)if(f[1]==Ca){var Ud=a.na[Ca];Ud?(f.shift(),f.shift(),Ud(f)):a.f("no dump registered for "+R);break a}R||(Da=a.Da||"dw")}else a.Da=Da;if("dh"==Da){var Vd=R,Wd=ca,Xd="",Yd=0,P=a.P,S=a.j;if(S.length){var L=
a.pa=void 0)}else{var ja=Z(a,R);if(ja){var ka=0,be="ds"==Ua;if(ca){if("l"==ca.charAt(0))ca=ca.substr(1)||gf,ka=yd(a,ca);else{var ce=Z(a,ca);ce&&(ka=ce.v-ja.v)}0>ka&&(ka=0);65536<ka&&(ka=65536)}var jf=a.ba;ja.ba&&(a.ba=ja.ba);for(var uc=ka||32,kf=(uc+4-1)/4|0||1,la="";kf--&&0<uc;){for(var ma="",vc="",R=W(a,ja.v),de=4;0<de--&&0<uc--;){var Ya=a.wa(ja,1);be?(ma&&(ma+=","),ma+="0x"+H(Ya,9)):(ma+=W(a,Ya,4),ma+=" ");for(var lf=4;lf--;)var wc=Ya%256,vc=vc+(32<=wc&&128>wc?String.fromCharCode(wc):"."),Ya=Ya/ +Vd||a.pa,Ya=+Wd||10;isNaN(L)?L=Ya:Xd="more ";L>S.length&&(a.f("note: only "+S.length+" available"),L=S.length);P-=L;0>P&&(null==S[S.length-1].v?(L=P+L,P=0):P+=S.length);var sc=[];"call"==Wd&&(Ya=1E5,sc=["CALL"]);for(void 0!==Vd&&a.f(L+" instructions earlier:");0<Ya&&P!=a.P;){var Zd=S[P++];if(null==Zd.v)break;var Za=X(Zd.v),jf=L--,$d=ye(a,Za,"history",jf);(!sc.length||0<=$d.indexOf(sc[0]))&&a.f($d);Za.Ta&&(P+=Za.Ta,Ya-=Za.Ta,L-=Za.Ta);P>=S.length&&(P=0);a.pa=L;Yd++;Ya--}}Yd||(a.f("no "+Xd+"history available"),
256}la&&(la+="\n");la=be?la+(ma+","):la+(R+": "+ma+(de?"":" "+vc))}la&&a.f(la);a.xa=ja;a.ba=jf}}}}break;case "e":if("else"==f[0])break;var Za,ee,fe,ge,he=f[0],xc=f[1];"e"==he||"ew"==he?(Za=2,ee=65535,fe=a.wa,ge=a.Xa):xc=null;if(null==xc)a.f("edit memory commands:"),a.f("\tew [a] [...] edit words at address a");else{var Cb=Z(a,xc);if(Cb)for(var Db=2;Db<f.length;Db++){var $a=wd(a,f[Db]);if(void 0===$a){a.f("unrecognized value: "+f[Db]);break}$a&~ee&&a.f("warning: "+H($a)+" exceeds "+Za+"-byte value"); a.pa=void 0)}else{var ka=Z(a,R);if(ka){var la=0,ae="ds"==Da;if(ca){if("l"==ca.charAt(0))ca=ca.substr(1)||hf,la=wd(a,ca);else{var be=Z(a,ca);be&&(la=be.v-ka.v)}0>la&&(la=0);65536<la&&(la=65536)}var kf=a.ba;ka.ba&&(a.ba=ka.ba);for(var ce="db"==Da?1:2,tc=la||32,uc=1==ce?2:4,lf=(tc+uc-1)/uc|0||1,ma="";lf--&&0<tc;){for(var na="",de="",R=W(a,ka.v),ee=uc;0<ee--&&0<tc--;){var Ab=a.wa(ka,1);ae?(na&&(na+=","),na+=Ab):(na+=Jd(Ab),na+=" ");for(var fe=0;1==ce&&6>fe;fe++)de+=String.fromCharCode((Ab%64|0)+33),
a.f("changing "+W(a,Cb.v)+(Na(a,16)?"":" from "+W(a,fe.call(a,Cb),Za))+" to "+W(a,$a,Za));ge.call(a,Cb,$a,Za)}}break;case "g":a:{var ie=f[1],mf=b;if(void 0!==ie){var yc=Z(a,ie,!0);if(!yc)break a;Kd(a,yc,mf);a.va(a.g,yc,!0)}Od(a,!0,c)}break;case "h":a.i.J?(c||a.f("halting"),a.R()):La(a,!0)||c||a.f("already halted");break;case "i":if("if"==f[0]){var zc;var ab=b.substr(2),ab=ib(ab);wd(a,ab)?(c||a.f("true: "+ab),zc=!0):(c||a.f("false: "+ab),zc=!1);zc||(d=!1);break}g=!0;break;case "k":var nf=f[0];if("?"== Ab/=64}ma&&(ma+="\n");ma=ae?ma+(na+","):ma+(R+": "+na+(0>ee?" "+de:""))}ma&&a.f(ma);a.xa=ka;a.ba=kf}}}}break;case "e":if("else"==f[0])break;var ge,he,ie=f[0],vc=f[1];"e"==ie||"ew"==ie?(ge=a.wa,he=a.Xa):vc=null;if(null==vc)a.f("edit memory commands:"),a.f("\tew [a] [...] edit words at address a");else{var Bb=Z(a,vc);if(Bb)for(var Cb=2;Cb<f.length;Cb++){var wc=ud(a,f[Cb]);if(void 0===wc){a.f("unrecognized value: "+f[Cb]);break}a.f("changing "+W(a,Bb.v)+" from "+Jd(ge.call(a,Bb))+" to "+Jd(wc));he.call(a,
f[1])a.f("stack trace commands:"),a.f("\tk\tshow frame addresses"),a.f("\tks\tshow symbol information");else{var Ac=0,Bc=X(),bb=X();for(a.f("stack trace for "+W(a,bb.v));10>Ac;){for(var na=null,of=256;65536>bb.v>>>0;){Bc.v=a.wa(bb,2);if(null==bb.v||!of--)break;if(!(Bc.v&1)){for(var pf=a,Eb=Bc,je=null,cb=Eb.v,ke=cb,Cc=1;6>=Cc&&cb;Cc++){if(2<Cc){Eb.v=cb;var Fb=xe(pf,Eb);if(0<=Fb.indexOf("JSR")){var le=Fb.indexOf(" ");if(cb+(Fb.indexOf(" ",le+1)-le-1)/2==ke){je=Fb;break}}}cb-=2}Eb.v=ke;if(na=je)break}}if(!na|| Bb,wc,1)}}break;case "g":a:{var je=f[1],mf=b;if(void 0!==je){var xc=Z(a,je,!0);if(!xc)break a;Id(a,xc,mf);a.va(a.g,xc,!0)}Nd(a,!0,c)}break;case "h":a.i.J?(c||a.f("halting"),a.R()):Ma(a,!0)||c||a.f("already halted");break;case "i":if("if"==f[0]){var yc;var $a=b.substr(2),$a=fb($a);ud(a,$a)?(c||a.f("true: "+$a),yc=!0):(c||a.f("false: "+$a),yc=!1);yc||(d=!1);break}g=!0;break;case "k":var nf=f[0];if("?"==f[1])a.f("stack trace commands:"),a.f("\tk\tshow frame addresses"),a.f("\tks\tshow symbol information");
null==na)break;var me=null;if("ks"==nf){var ne=na.match(/[0-9A-F]+$/);ne&&(me=De(a,ne[0]))}na=hb(na,50)+" ;"+(me||"stack="+W(a,bb.v));a.f(na);Ac++}Ac||a.f("no return addresses found")}break;case "l":if("ln"==f[0]){De(a,f[1],!0);break}g=!0;break;case "m":a:{var T,U=null,w=f[1];"?"==w&&(w=void 0);if(void 0!==w){var da=0;if("all"==w)da=1879046143,w=null;else if("on"==w)U=!0,w=null;else if("off"==w)U=!1,w=null;else{"keys"==w&&(w="key");"kbd"==w&&(w="keyboard");for(T in N)if(w==T){da=N[T];U=!!(a.V&da); else{var zc=0,Ac=X(),ab=X();for(a.f("stack trace for "+W(a,ab.v));10>zc;){for(var oa=null,of=256;65536>ab.v>>>0;){Ac.v=a.wa(ab,2);if(null==ab.v||!of--)break;if(!(Ac.v&1)){for(var pf=a,Db=Ac,ke=null,bb=Db.v,le=bb,Bc=1;6>=Bc&&bb;Bc++){if(2<Bc){Db.v=bb;var Eb=ye(pf,Db);if(0<=Eb.indexOf("JSR")){var me=Eb.indexOf(" ");if(bb+(Eb.indexOf(" ",me+1)-me-1)/2==le){ke=Eb;break}}}bb-=2}Db.v=le;if(oa=ke)break}}if(!oa||null==oa)break;var ne=null;if("ks"==nf){var oe=oa.match(/[0-9A-F]+$/);oe&&(ne=Ee(a,oe[0]))}oa=
break}if(!da){a.f("unknown message category: "+w);break a}}if(da)if("on"==f[2])a.V|=da,U=!0;else if("off"==f[2]&&(a.V&=~da,U=!1,1073741824==da)){for(var oe=1E3<=a.M.length?a.M.length-1E3:0;oe<a.M.length;)a.f(a.M[oe++]);a.M=[]}}var qf=0,db="";for(T in N)if(!w||w==T){var rf=!!(a.V&N[T]);if(null===U||U==rf)db&&(db+=","),++qf%10||(db+="\n\t"),"key"==T&&(T="keys"),db+=T}void 0===w&&a.f("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.f((null!==U?U?"messages on: ":"messages off: ": Xa(oa,50)+" ;"+(ne||"stack="+W(a,ab.v));a.f(oa);zc++}zc||a.f("no return addresses found")}break;case "l":if("ln"==f[0]){Ee(a,f[1],!0);break}g=!0;break;case "m":a:{var T,U=null,w=f[1];"?"==w&&(w=void 0);if(void 0!==w){var da=0;if("all"==w)da=1879046143,w=null;else if("on"==w)U=!0,w=null;else if("off"==w)U=!1,w=null;else{"keys"==w&&(w="key");"kbd"==w&&(w="keyboard");for(T in N)if(w==T){da=N[T];U=!!(a.V&da);break}if(!da){a.f("unknown message category: "+w);break a}}if(da)if("on"==f[2])a.V|=da,U=!0;
"message categories:\n\t")+(db||"none"));Ed(a)}break;case "p":if("print"==f[0]){Ee(a,b.substr(5));break}var sf=f[0];if("?"==f[1])a.f("step commands:"),a.f("\tp\tstep over instruction"),a.f("\tpr\tstep over instruction with register update");else{var tf="pr"==sf?1:0;if(a.L)a.f("step in progress");else{var pe=X(a.b.g);a.wa(pe);a.L?(a.va(a.g,pe,!0),Od(a)||(a.D&&cd(a.D),a.L=0)):Fe(a,tf?"tr":"t")}}break;case "r":if("reset"==b){a.D&&a.D.reset();break}Rd(a,f);break;case "s":a:switch(f[1]){case "base":if(f[2]){var eb= else if("off"==f[2]&&(a.V&=~da,U=!1,1073741824==da)){for(var pe=1E3<=a.M.length?a.M.length-1E3:0;pe<a.M.length;)a.f(a.M[pe++]);a.M=[]}}var qf=0,cb="";for(T in N)if(!w||w==T){var rf=!!(a.V&N[T]);if(null===U||U==rf)cb&&(cb+=","),++qf%10||(cb+="\n\t"),"key"==T&&(T="keys"),cb+=T}void 0===w&&a.f("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.f((null!==U?U?"messages on: ":"messages off: ":"message categories:\n\t")+(cb||"none"));Cd(a)}break;case "p":if("print"==f[0]){Fe(a,b.substr(5));
+f[2];if(8==eb||10==eb||16==eb)a.ba=eb;else{a.f("invalid base: "+eb);break}}a.f("default base: "+a.ba);break;case "cs":var fb;void 0!==f[3]&&(fb=+f[3]);switch(f[2]){case "int":a.b.P=fb;break;case "start":a.b.na=fb;break;case "stop":a.b.Z=fb;break;default:a.f("unknown cs option");break a}void 0!==fb&&Vc(a.b);a.f("checksums "+(a.b.i.Ca?"enabled":"disabled"));break;case "sp":void 0!==f[2]&&($c(a.b,+f[2])||a.f("warning: using 1x multiplier, previous target not reached"));a.f("target speed: "+(a.b.M.toFixed(2)+ break}var sf=f[0];if("?"==f[1])a.f("step commands:"),a.f("\tp\tstep over instruction"),a.f("\tpr\tstep over instruction with register update");else{var tf="pr"==sf?1:0;if(a.L)a.f("step in progress");else{var qe=X(a.b.g);a.wa(qe);a.L?(a.va(a.g,qe,!0),Nd(a)||(a.D&&ad(a.D),a.L=0)):Ge(a,tf?"tr":"t")}}break;case "r":if("reset"==b){a.D&&a.D.reset();break}Qd(a,f);break;case "s":a:switch(f[1]){case "base":if(f[2]){var db=+f[2];if(8==db||10==db||16==db)a.ba=db;else{a.f("invalid base: "+db);break}}a.f("default base: "+
"Mhz")+" ("+a.b.N+"x)");break;default:if(f[1]){a.f("unknown option: "+f[1]);break}case "?":a.f("debugger options:"),a.f("\tbase #\t\tset default base to #"),a.f("\tcs int #\tset checksum cycle interval to #"),a.f("\tcs start #\tset checksum cycle start count to #"),a.f("\tcs stop #\tset checksum cycle stop count to #"),a.f("\tsp #\t\tset speed multiplier to #")}break;case "t":Fe(a,f[0],f[1]);break;case "u":qe(a,f[1],f[2],8);break;case "v":if("var"==f[0]){Ce(a,b.substr(3))||(d=!1);break}if("ver"== a.ba);break;case "cs":var eb;void 0!==f[3]&&(eb=+f[3]);switch(f[2]){case "int":a.b.P=eb;break;case "start":a.b.na=eb;break;case "stop":a.b.Z=eb;break;default:a.f("unknown cs option");break a}void 0!==eb&&Tc(a.b);a.f("checksums "+(a.b.i.Ca?"enabled":"disabled"));break;case "sp":void 0!==f[2]&&(Yc(a.b,+f[2])||a.f("warning: using 1x multiplier, previous target not reached"));a.f("target speed: "+(a.b.M.toFixed(2)+"Mhz")+" ("+a.b.N+"x)");break;default:if(f[1]){a.f("unknown option: "+f[1]);break}case "?":a.f("debugger options:"),
f[0]){a.f((Hb||"PDP10")+" version 1.34.0 ("+a.b.Za+",RELEASE)");a.f(window?window.navigator.userAgent:"");break}g=!0;break;case "?":if(f[1]){Ee(a,b.substr(1));break}var Dc="commands:",Ec;for(Ec in He)Dc+="\n"+hb(Ec,9)+He[Ec];jd(a)||(Dc+="\nnote: history disabled if no exec breakpoints");a.f(Dc);break;default:g=!0}g&&(a.f("unknown command: "+b),d=!1)}}catch(re){a.f("debugger error: "+(re.stack||re.message)),d=!1}return d} a.f("\tbase #\t\tset default base to #"),a.f("\tcs int #\tset checksum cycle interval to #"),a.f("\tcs start #\tset checksum cycle start count to #"),a.f("\tcs stop #\tset checksum cycle stop count to #"),a.f("\tsp #\t\tset speed multiplier to #")}break;case "t":Ge(a,f[0],f[1]);break;case "u":re(a,f[1],f[2],8);break;case "v":if("var"==f[0]){De(a,b.substr(3))||(d=!1);break}if("ver"==f[0]){a.f((Fb||"PDP10")+" version 1.34.0 ("+a.b.Za+",RELEASE)");a.f(window?window.navigator.userAgent:"");break}g=!0;
function Yc(a,b,c){b=ud(a,b,c);for(var d in b)if(!we(a,b[+d]))return!1;return!0} break;case "?":if(f[1]){Fe(a,b.substr(1));break}var Cc="commands:",Dc;for(Dc in Ie)Cc+="\n"+Xa(Dc,9)+Ie[Dc];hd(a)||(Cc+="\nnote: history disabled if no exec breakpoints");a.f(Cc);break;default:g=!0}g&&(a.f("unknown command: "+b),d=!1)}}catch(se){a.f("debugger error: "+(se.stack||se.message)),d=!1}return d}function Wc(a,b,c){b=sd(a,b,c);for(var d in b)if(!xe(a,b[+d]))return!1;return!0}
var He={"?":"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","var":"assign variable",ver:"print version"},ze=[".WORD"],Md=0,Ld=["PC"],Gd={},ye=[0],Nd=1E3,Qd=">> "; var Ie={"?":"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","var":"assign variable",ver:"print version"},Ae=[".WORD"],Ld=0,Kd=["PC"],Ed={},ze=[0],Md=1E3,Pd=">> ";
M(function(){for(var a=D(document,C,"debugger"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Cd(d);B(d,c)}}); M(function(){for(var a=D(document,C,"debugger"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Ad(d);B(d,c)}});
function Ie(a,b,c){u.call(this,"Computer",a,33554432);this.i.T=!1;this.O=null;Je(this,b);this.M=Tc(this,"autoPower",a,6);this.w=0;this.Z=+a.busWidth||+a.buswidth;this.K=this.G=this.L=null;this.I=this.U=!1;this.H=this.B=null;this.P=this.N=!1;this.aa=Tc(this,"url")||"";(Math.random()+.1).toString(36);this.j=Ke(this);if(this.b=z("CPU",this.id)){this.A=z("Debugger",this.id);this.C=new hc({id:this.La+".bus",busWidth:this.Z},this.b,this.A);var d,e=y(this.id);if((this.u=z("Panel",this.id))&&this.u.ja)for(b= function Je(a,b,c){u.call(this,"Computer",a,33554432);this.i.T=!1;this.O=null;Ke(this,b);this.M=Rc(this,"autoPower",a,6);this.w=0;this.Z=+a.busWidth||+a.buswidth;this.K=this.G=this.L=null;this.I=this.U=!1;this.H=this.B=null;this.P=this.N=!1;this.aa=Rc(this,"url")||"";(Math.random()+.1).toString(36);this.j=Le(this);if(this.b=z("CPU",this.id)){this.A=z("Debugger",this.id);this.C=new fc({id:this.La+".bus",busWidth:this.Z},this.b,this.A);var d,e=y(this.id);if((this.u=z("Panel",this.id))&&this.u.ja)for(b=
0;b<e.length;b++)d=e[b],d.Y=this.u.Y,d.f=this.u.f,d.ja=this.u.ja;this.f(Hb+" v1.34.0\nCopyright \u00a9 2012-2017 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.sa&&d.sa(this,this.C,this.b,this.A);b=null;d=Tc(this,"resume",a);void 0!==d&&(1<d.length?b=this.G=d:this.g=parseInt(d,10));var g;if(a=Tc(this,"state")||(g=!0,a.state))this.L=b=a,g||(this.I=!0,this.g=Le),this.g&&(this.H=new O(this,"1.34.0"),Me(this.H)?b=null: 0;b<e.length;b++)d=e[b],d.Y=this.u.Y,d.f=this.u.f,d.ja=this.u.ja;this.f(Fb+" v1.34.0\nCopyright \u00a9 2012-2017 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.sa&&d.sa(this,this.C,this.b,this.A);b=null;d=Rc(this,"resume",a);void 0!==d&&(1<d.length?b=this.G=d:this.g=parseInt(d,10));var g;if(a=Rc(this,"state")||(g=!0,a.state))this.L=b=a,g||(this.I=!0,this.g=Me),this.g&&(this.H=new O(this,"1.34.0"),Ne(this.H)?b=null:
delete this.H);!b&&this.g&&(b=Ne(this))&&(this.I=!0);if(b){var f=this;J(b,null,!0,function(a,b,c){c?(f.G=null,f.I=!1,f.Y("Unable to load machine state from server (error "+c+(b?": "+ib(b):"")+")")):(f.K=b,f.U=!0);E(f)})}else E(this);this.F.power||(this.M=!0);!c&&this.M&&Oe(this,this.Fa)}else x("Unable to find CPU component")}q(Ie,u);function Je(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){x(d.message+" ("+c+")")}}a.O=b} delete this.H);!b&&this.g&&(b=Oe(this))&&(this.I=!0);if(b){var f=this;J(b,null,!0,function(a,b,c){c?(f.G=null,f.I=!1,f.Y("Unable to load machine state from server (error "+c+(b?": "+fb(b):"")+")")):(f.K=b,f.U=!0);E(f)})}else E(this);this.F.power||(this.M=!0);!c&&this.M&&Pe(this,this.Fa)}else x("Unable to find CPU component")}r(Je,u);function Ke(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){x(d.message+" ("+c+")")}}a.O=b}
function Tc(a,b,c,d){var e=b.toLowerCase(),e=rb(b)||rb(e);void 0===e&&a.O&&(e=a.O[b]);void 0===e&&c&&(e=c[b]);void 0===e&&"object"==typeof resources&&resources[b]&&(e=b);void 0===e&&(e=void 0);if("string"==typeof e&&d)switch(d){case 4:e=+e;isNaN(e)&&(e=0);break;case 6:e="true"==e}return e}function Oe(a,b,c){for(var d=y(a.id),e=0;e<=d.length;e++){var g=e<d.length?d[e]:a;if(!Ka(g)){Ka(g,function(){Oe(a,b,c)});return}}b.call(a,c)} function Rc(a,b,c,d){var e=b.toLowerCase(),e=ob(b)||ob(e);void 0===e&&a.O&&(e=a.O[b]);void 0===e&&c&&(e=c[b]);void 0===e&&"object"==typeof resources&&resources[b]&&(e=b);void 0===e&&(e=void 0);if("string"==typeof e&&d)switch(d){case 4:e=+e;isNaN(e)&&(e=0);break;case 6:e="true"==e}return e}function Pe(a,b,c){for(var d=y(a.id),e=0;e<=d.length;e++){var g=e<d.length?d[e]:a;if(!La(g)){La(g,function(){Pe(a,b,c)});return}}b.call(a,c)}
function Pe(a,b){var c=new O(a,"1.34.0",Qe);if(Me(c)&&Re(c)){var d=c.get(Se),e=b?b.get(Se):"unknown";d!=e&&(a.Y("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}l=Ie.prototype; function Qe(a,b){var c=new O(a,"1.34.0",Re);if(Ne(c)&&Se(c)){var d=c.get(Te),e=b?b.get(Te):"unknown";d!=e&&(a.Y("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}l=Je.prototype;
l.Fa=function(a){void 0===a&&(a=this.g||(this.K?Te:Le));if(!this.w){this.w++;var b=!1,c=!1;this.N=!1;var d=this.H||new O(this,"1.34.0");if(a==Ue)b=!0;else if(a>Le){if(Me(d,this.K)){this.B=new O(this,"1.34.0",Ve);Me(this.B)&&(We(this,d),a=Xe,Ye(this.B));this.B.set(Se,kb());Ze(this.B);var e=this.g&&!this.I;if(a==Te||wa("Click OK to restore the previous "+Hb+" machine state, or CANCEL to reset the machine.")){if(c=Re(d)){var g=d.get("code"),f=d.get("data");g&&("ok"==g?Me(d,f):("error"==g&&"no machine state"!= l.Fa=function(a){void 0===a&&(a=this.g||(this.K?Ue:Me));if(!this.w){this.w++;var b=!1,c=!1;this.N=!1;var d=this.H||new O(this,"1.34.0");if(a==Ve)b=!0;else if(a>Me){if(Ne(d,this.K)){this.B=new O(this,"1.34.0",We);Ne(this.B)&&(Xe(this,d),a=Ye,Ze(this.B));this.B.set(Te,hb());$e(this.B);var e=this.g&&!this.I;if(a==Ue||wa("Click OK to restore the previous "+Fb+" machine state, or CANCEL to reset the machine.")){if(c=Se(d)){var g=d.get("code"),f=d.get("data");g&&("ok"==g?Ne(d,f):("error"==g&&"no machine state"!=
f?(this.Y("Error: "+f),"unable to verify user"==f&&(pb($e,""),this.j=null)):this.f(g+": "+f),Ye(d),Me(d)?(c=Re(d),e=!0):c=!1))}e&&Pe(this,c?d:null)}else a==Xe&&d.clear()}else Pe(this);delete this.K;delete this.H}e=y(this.id);for(g=0;g<e.length;g++)f=e[g],f!==this&&f!=this.b&&(c=af(this,f,d,b,c));b=[d,a,c];a!=Ue?Oe(this,this.fb,b):this.fb(b)}}; f?(this.Y("Error: "+f),"unable to verify user"==f&&(mb(af,""),this.j=null)):this.f(g+": "+f),Ze(d),Ne(d)?(c=Se(d),e=!0):c=!1))}e&&Qe(this,c?d:null)}else a==Ye&&d.clear()}else Qe(this);delete this.K;delete this.H}e=y(this.id);for(g=0;g<e.length;g++)f=e[g],f!==this&&f!=this.b&&(c=bf(this,f,d,b,c));b=[d,a,c];a!=Ve?Pe(this,this.fb,b):this.fb(b)}};
function af(a,b,c,d,e){if(!b.i.T){b.i.T=!0;var g=null;try{if(e&&((g=c.get(b.id))||(g=c.get(b.id.replace(/[a-z0-9]\./i,".")))),"string"===typeof g&&(g=null),!b.la(g,d)&&g&&(x("Unable to restore state for "+b.type),a.L&&!a.U?(c.clear(),a.g=Le,window&&window.location.reload()):a.N=!0,b.la(null),e=!1),!d&&b.Ya){var f=b.Ya.split("|");for(a=0;a<f.length;a++)b.status(f[a])}}catch(h){x("Error restoring state for "+b.type+" ("+h.message+")")}}return e} function bf(a,b,c,d,e){if(!b.i.T){b.i.T=!0;var g=null;try{if(e&&((g=c.get(b.id))||(g=c.get(b.id.replace(/[a-z0-9]\./i,".")))),"string"===typeof g&&(g=null),!b.la(g,d)&&g&&(x("Unable to restore state for "+b.type),a.L&&!a.U?(c.clear(),a.g=Me,window&&window.location.reload()):a.N=!0,b.la(null),e=!1),!d&&b.Ya){var f=b.Ya.split("|");for(a=0;a<f.length;a++)b.status(f[a])}}catch(h){x("Error restoring state for "+b.type+" ("+h.message+")")}}return e}
l.fb=function(a){var b=a[0],c=0>a[1];a=a[2];this.P=!0;this.i.T=!0;var d=this.F.power;d&&(d.textContent="Shutdown");this.b&&(af(this,this.b,b,c,a),Q(this,-2),this.b.X());this.N&&(We(this,b),b.clear());!c&&this.B&&(this.B.clear(),delete this.B);this.w=0}; l.fb=function(a){var b=a[0],c=0>a[1];a=a[2];this.P=!0;this.i.T=!0;var d=this.F.power;d&&(d.textContent="Shutdown");this.b&&(bf(this,this.b,b,c,a),Q(this,-2),this.b.X());this.N&&(Xe(this,b),b.clear());!c&&this.B&&(this.B.clear(),delete this.B);this.w=0};
function We(a,b){if(wa("There may be a problem with your "+Hb+" machine.\n\nTo help us diagnose it, click OK to send this "+Hb+" machine state to http://www.pcjs.org.")){var c=a.aa;a=a.j||"";b=b.toString();var d={};d.app=Hb;d.ver="1.34.0";d.url=c;d.user=a;d.type="bug";d.data=b;J("http://www.pcjs.org/api/v1/report",d,!0)}} function Xe(a,b){if(wa("There may be a problem with your "+Fb+" machine.\n\nTo help us diagnose it, click OK to send this "+Fb+" machine state to http://www.pcjs.org.")){var c=a.aa;a=a.j||"";b=b.toString();var d={};d.app=Fb;d.ver="1.34.0";d.url=c;d.user=a;d.type="bug";d.data=b;J("http://www.pcjs.org/api/v1/report",d,!0)}}
function Ge(a,b,c){var d,e="none";if(a.w)return null;a.w--;var g=new O(a,"1.34.0"),f=new O(a,"1.34.0",Qe),h=kb();f.set(Se,h);g.set(Se,h);g.set(bf,"1.34.0");g.set(cf,window?window.location.href:null);g.set(df,window?window.navigator.userAgent:"");a.b&&a.b.ca&&(c&&(b&&(a.b.i.X=a.b.i.J),a.b.R()),d=a.b.ca(b,c),"object"===typeof d&&g.set(a.b.id,d),c&&(a.b.i.T=!1,!1===d&&(e=null)));for(var h=y(a.id),k=0;k<h.length;k++){var m=h[k];m.i.T&&(m.ca&&(d=m.ca(b,c),"object"===typeof d&&g.set(m.id,d)),c&&(m.i.T= function He(a,b,c){var d,e="none";if(a.w)return null;a.w--;var g=new O(a,"1.34.0"),f=new O(a,"1.34.0",Re),h=hb();f.set(Te,h);g.set(Te,h);g.set(cf,"1.34.0");g.set(df,window?window.location.href:null);g.set(ef,window?window.navigator.userAgent:"");a.b&&a.b.ca&&(c&&(b&&(a.b.i.X=a.b.i.J),a.b.R()),d=a.b.ca(b,c),"object"===typeof d&&g.set(a.b.id,d),c&&(a.b.i.T=!1,!1===d&&(e=null)));for(var h=y(a.id),k=0;k<h.length;k++){var m=h[k];m.i.T&&(m.ca&&(d=m.ca(b,c),"object"===typeof d&&g.set(m.id,d)),c&&(m.i.T=
!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.j&&ef(a,a.j,g.toString()),Ze(f)&&Ze(g)||(e=null,d=h=!0)):a.g&&(d=!0,h=a.g==uf),d&&g.clear(h)):e=g.toString());c&&(a.i.T=!1,b=a.F.power)&&(b.textContent="Power");a.w=0;return e} !1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.j&&ff(a,a.j,g.toString()),$e(f)&&$e(g)||(e=null,d=h=!0)):a.g&&(d=!0,h=a.g==uf),d&&g.clear(h)):e=g.toString());c&&(a.i.T=!1,b=a.F.power)&&(b.textContent="Power");a.w=0;return e}
l.reset=function(){this.i.reset=!0;this.C&&this.C.reset&&(G(this,"Resetting "+this.C.type),this.C.reset());this.b&&this.b.reset&&(G(this,"Resetting "+this.b.type),this.b.reset());for(var a=y(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.C&&c!==this.b&&c.reset&&(G(this,"Resetting "+c.type),c.reset())}this.i.reset=!1;Q(this,-1)};l.start=function(a,b){for(var c=y(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}Q(this,-1)}; l.reset=function(){this.i.reset=!0;this.C&&this.C.reset&&(G(this,"Resetting "+this.C.type),this.C.reset());this.b&&this.b.reset&&(G(this,"Resetting "+this.b.type),this.b.reset());for(var a=y(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.C&&c!==this.b&&c.reset&&(G(this,"Resetting "+c.type),c.reset())}this.i.reset=!1;Q(this,-1)};l.start=function(a,b){for(var c=y(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}Q(this,-1)};
l.stop=function(a,b){for(var c=y(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}Q(this,-1)}; l.stop=function(a,b){for(var c=y(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}Q(this,-1)};
function Q(a,b){if(a.b){var c=a.b,d=b||0,e=c.F.speed;e&&(0>=d||30<=(c.xa+=d))&&(e.textContent=c.i.J?c.L.toFixed(2)+"Mhz":"Stopped",c.xa=0)}if(a.u&&(a=a.u,b=b||0,a.K)){c=a.b.i.J;d=!!(a.b.j&8);if(0>=b||60<=(a.I+=b)){e=a.b.g;if(a.F.PC){var g=a.A&&a.A.ba||8,e=e||0,e=8==g?Pa(e,void 0):H(e,void 0);a.F.PC.textContent!=e&&(a.F.PC.textContent=e)}a.I=0}-1>b?a.j=a.b.g:0<b&&c&&!d&&(a.j=a.b.ea);Sb(a,a.j);Mb(a,a.w)}} function Q(a,b){if(a.b){var c=a.b,d=b||0,e=c.F.speed;e&&(0>=d||30<=(c.xa+=d))&&(e.textContent=c.i.J?c.L.toFixed(2)+"Mhz":"Stopped",c.xa=0)}if(a.u&&(a=a.u,b=b||0,a.K)){c=a.b.i.J;d=!!(a.b.j&8);if(0>=b||60<=(a.I+=b)){e=a.b.g;if(a.F.PC){var g=a.A&&a.A.ba||8,e=e||0,e=8==g?Qa(e,void 0):H(e,void 0);a.F.PC.textContent!=e&&(a.F.PC.textContent=e)}a.I=0}-1>b?a.j=a.b.g:0<b&&c&&!d&&(a.j=a.b.ea);Qb(a,a.j);Kb(a,a.w)}}
l.da=function(a,b,c){var d=this;switch(b){case "power":return this.F[b]=c,c.onclick=function(){d.w||(d.i.T?Ge(d,!1,!0):Oe(d,d.Fa))},!0;case "reset":return this.F[b]=c,c.onclick=function(){if(d.i.T&&!d.w)if(d.g&&!d.G){var a=wa("Click OK to save changes to this "+Hb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Ge(d,a,!0);!a&&d.L?window&&window.location.reload():d.Fa(Le)}else d.reset(),d.b&&!d.A&&d.b.X()},!0;case "save":if(Sa())c.parentNode.removeChild(c);else return this.F[b]= l.da=function(a,b,c){var d=this;switch(b){case "power":return this.F[b]=c,c.onclick=function(){d.w||(d.i.T?He(d,!1,!0):Pe(d,d.Fa))},!0;case "reset":return this.F[b]=c,c.onclick=function(){if(d.i.T&&!d.w)if(d.g&&!d.G){var a=wa("Click OK to save changes to this "+Fb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");He(d,a,!0);!a&&d.L?window&&window.location.reload():d.Fa(Me)}else d.reset(),d.b&&!d.A&&d.b.X()},!0;case "save":if(Ta())c.parentNode.removeChild(c);else return this.F[b]=
c,c.onclick=function(){var a=Ke(d,!0);if(a){var b=!!(d.g&&!d.G||d.L),c=Ge(d,b);b?ef(d,a,c):d.Y("Resume disabled, machine state not saved")}},!0}return!1};function Ke(a,b){var c=a.j;c||((c=ob($e),void 0!==c)?!c&&b&&(b=null,window&&(b=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=b)&&((c=vf(a,c))||a.Y("The user ID is invalid.")):b&&a.Y("Browser local storage is not available"));return c} c,c.onclick=function(){var a=Le(d,!0);if(a){var b=!!(d.g&&!d.G||d.L),c=He(d,b);b?ff(d,a,c):d.Y("Resume disabled, machine state not saved")}},!0}return!1};function Le(a,b){var c=a.j;c||((c=lb(af),void 0!==c)?!c&&b&&(b=null,window&&(b=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=b)&&((c=vf(a,c))||a.Y("The user ID is invalid.")):b&&a.Y("Browser local storage is not available"));return c}
function vf(a,b){a.j=null;b=J(Ta()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(pb($e,b.data),a.j=b.data)}catch(d){x(d.message+" ("+c+")")}return a.j}function Ne(a){var b=null;a.j&&(b=Ta()+"/api/v1/user?req=load&user="+a.j+"&state="+wf(a,"1.34.0"));return b} function vf(a,b){a.j=null;b=J(Ua()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(mb(af,b.data),a.j=b.data)}catch(d){x(d.message+" ("+c+")")}return a.j}function Oe(a){var b=null;a.j&&(b=Ua()+"/api/v1/user?req=load&user="+a.j+"&state="+wf(a,"1.34.0"));return b}
function ef(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=wf(a,"1.34.0");d.data=c;b=J(Ta()+"/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.Y("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.Y(c),pb($e,""),a.j=null)}} function ff(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=wf(a,"1.34.0");d.data=c;b=J(Ua()+"/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.Y("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.Y(c),mb(af,""),a.j=null)}}
function cd(a,b){if(a.ja){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.ja.focus();!b&&window&&window.scrollTo(c,d)}}var Ve="failsafe",Qe="validate",Se="timestamp",bf="version",cf="url",df="browser",$e="user",Ue=-1,Le=0,Te=1,Xe=2,uf=3;M(function(){for(var a=D(document,C+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=A(c),c=D(c,C,"computer"),e=0;e<c.length;e++){var g=c[e],f=A(g),f=new Ie(f,d,!0);B(f,g);f.M&&Oe(f,f.Fa)}}); function ad(a,b){if(a.ja){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.ja.focus();!b&&window&&window.scrollTo(c,d)}}var We="failsafe",Re="validate",Te="timestamp",cf="version",df="url",ef="browser",af="user",Ve=-1,Me=0,Ue=1,Ye=2,uf=3;M(function(){for(var a=D(document,C+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=A(c),c=D(c,C,"computer"),e=0;e<c.length;e++){var g=c[e],f=A(g),f=new Je(f,d,!0);B(f,g);f.M&&Pe(f,f.Fa)}});
wb.show.push(function(){for(var a=D(document,C,"computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=z("Computer",c.id))&&c.P&&!c.i.T&&c.Fa(Ue)}});wb.exit.push(function(){for(var a=D(document,C,"computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=z("Computer",c.id))&&c.i.T&&Ge(c,!(!c.g||c.G),!0)}});function O(a,b,c){this.id=a.id;this.A="";this.b={};this.C=this.D=!1;this.key=wf(a,b,c);Ye(this,a.nb)}l=O.prototype;l.set=function(a,b){try{this.b[a]=b}catch(c){}};l.get=function(a){return this.b[a]||null}; tb.show.push(function(){for(var a=D(document,C,"computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=z("Computer",c.id))&&c.P&&!c.i.T&&c.Fa(Ve)}});tb.exit.push(function(){for(var a=D(document,C,"computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=z("Computer",c.id))&&c.i.T&&He(c,!(!c.g||c.G),!0)}});function O(a,b,c){this.id=a.id;this.A="";this.b={};this.C=this.D=!1;this.key=wf(a,b,c);Ze(this,a.nb)}l=O.prototype;l.set=function(a,b){try{this.b[a]=b}catch(c){}};l.get=function(a){return this.b[a]||null};
l.data=function(){return this.b};function Me(a,b){return b?(a.A=b,a.C=!0,a.D=!1,!0):a.C?!0:mb()&&(b=ob(a.key))?(a.A=b,a.C=!0):!1}function Re(a){var b=!0;if(!a.D)try{a.b=JSON.parse(a.A),a.D=!0}catch(c){x(c.message||c),b=!1}return b}function Ze(a){var b=!0;if(mb()){var c=JSON.stringify(a.b);pb(a.key,c)||(x("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}l.toString=function(){return this.b?JSON.stringify(this.b):this.A}; l.data=function(){return this.b};function Ne(a,b){return b?(a.A=b,a.C=!0,a.D=!1,!0):a.C?!0:jb()&&(b=lb(a.key))?(a.A=b,a.C=!0):!1}function Se(a){var b=!0;if(!a.D)try{a.b=JSON.parse(a.A),a.D=!0}catch(c){x(c.message||c),b=!1}return b}function $e(a){var b=!0;if(jb()){var c=JSON.stringify(a.b);mb(a.key,c)||(x("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}l.toString=function(){return this.b?JSON.stringify(this.b):this.A};
function Ye(a,b){a.A="";a.b={};a.C=a.D=!1;b&&a.set("parms",b)}l.clear=function(a){Ye(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 wf(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}var xf=0; function Ze(a,b){a.A="";a.b={};a.C=a.D=!1;b&&a.set("parms",b)}l.clear=function(a){Ze(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 wf(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}var xf=0;
function yf(a,b,c,d,e,g,f){g("Loading "+a+"...");J(a,null,!0,function(h,k,m){m?(k||(k="unable to load "+a+" ("+m+")"),f(k,null)):zf(k,a,b,c,d,e,g,f)})} function yf(a,b,c,d,e,g,f){g("Loading "+a+"...");J(a,null,!0,function(h,k,m){m?(k||(k="unable to load "+a+" ("+m+")"),f(k,null)):zf(k,a,b,c,d,e,g,f)})}
function zf(a,b,c,d,e,g,f,h){function k(a,f){if(f)h(f,null);else{c&&(ta(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1<e.length&&(e+=",")):e='{state:"'+e+'",':e="{",e+='url:"'+f+'"}',"object"==typeof resources&&(f=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(f?' url="'+f+'"':"")));g||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"), function zf(a,b,c,d,e,g,f,h){function k(a,f){if(f)h(f,null);else{c&&(ta(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1<e.length&&(e+=",")):e='{state:"'+e+'",':e="{",e+='url:"'+f+'"}',"object"==typeof resources&&(f=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(f?' url="'+f+'"':"")));g||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1"+d+"$2"));f=null;if("<"==a.charAt(0))try{g||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(p){f=null,a=p.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,f)}}a?g?Af(a,f,k):k(a,null):h("no data"+(b?" for file: "+b:""),null)} a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1"+d+"$2"));f=null;if("<"==a.charAt(0))try{g||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(p){f=null,a=p.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,f)}}a?g?Af(a,f,k):k(a,null):h("no data"+(b?" for file: "+b:""),null)}
function Af(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");J(e,null,!0,function(g,f,h){if(h||!f)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=f.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(f=f.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}f=f.replace(/<\?xml[^>]*>[\r\n]*/, function Af(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");J(e,null,!0,function(g,f,h){if(h||!f)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=f.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(f=f.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}f=f.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],f);Af(a,b,c)}})}else c(a,null)} "");a=a.replace(d[0],f);Af(a,b,c)}})}else c(a,null)}
function Bf(a,b,c,d,e){function g(a){if(void 0===k){var b=h&&D(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=Va(a))}function f(a){g("Error: "+a);m&&(--xf||zb(!0));m=!1}var h,k,m=!0;xf++;ua[b]={};try{if(h=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var p=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css";r.styleSheet?r.styleSheet.cssText=n:r.appendChild(document.createTextNode(n));p.appendChild(r)}d|| function Bf(a,b,c,d,e){function g(a){if(void 0===k){var b=h&&D(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=Va(a))}function f(a){g("Error: "+a);m&&(--xf||wb(!0));m=!1}var h,k,m=!0;xf++;ua[b]={};try{if(h=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var p=document.head||document.getElementsByTagName("head")[0],q=document.createElement("style");q.type="text/css";q.styleSheet?q.styleSheet.cssText=n:q.appendChild(document.createTextNode(n));p.appendChild(q)}d||
(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.0/components.xsl");n=function(e,k){k?yf(d,null,a,null,!1,g,function(a,e){e?(ta(b,d,a),g("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--xf||zb(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--xf|| (n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.0/components.xsl");n=function(e,k){k?yf(d,null,a,null,!1,g,function(a,e){e?(ta(b,d,a),g("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--xf||wb(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--xf||
zb(!0)):f("invalid machine element: "+b):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(a)}):f(e)};"<"!=c.charAt(0)?yf(c,b,a,e,!0,g,n):zf(c,null,b,a,e,!1,g,n)}else f("missing machine element: "+b)}catch(K){f(K.message)}return m}window.embedPDP10=function(a,b,c,d){zb(!1);return Bf("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){zb(!1);return Bf("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return z(b,a+".machine")}; wb(!0)):f("invalid machine element: "+b):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(a)}):f(e)};"<"!=c.charAt(0)?yf(c,b,a,e,!0,g,n):zf(c,null,b,a,e,!1,g,n)}else f("missing machine element: "+b)}catch(K){f(K.message)}return m}window.embedPDP10=function(a,b,c,d){wb(!1);return Bf("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){wb(!1);return Bf("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return z(b,a+".machine")};
window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Ea[a]){for(var c=!0,d=Ea,e=a,g=b.length,f=[],h=[],k="",m=null,n=0;n<g;n++){var p=b[n];if('"'==p||"'"==p)m&&p!=m?k+=p:(m?m=null:m=p,k&&(h.push(k),k=""));else{if(!m){if("\r"==p||"\n"==p)p=";";if(" "==p||"\t"==p||";"==p){k&&(h.push(k),k="");";"==p&&h.length&&(f.push(h),h=[]);continue}}k+=p}}k&&h.push(k);h.length&&f.push(h);d[e]=f;za(a)||(c=!1)}return c};window.enableEvents=zb;window.sendEvent=Bb;})();//# sourceMappingURL=/tmp/pdpjs/1.34.0/pdp10-dbg.map window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Aa[a]){for(var c=!0,d=Aa,e=a,g=b.length,f=[],h=[],k="",m=null,n=0;n<g;n++){var p=b[n];if('"'==p||"'"==p)m&&p!=m?k+=p:(m?m=null:m=p,k&&(h.push(k),k=""));else{if(!m){if("\r"==p||"\n"==p)p=";";if(" "==p||"\t"==p||";"==p){k&&(h.push(k),k="");";"==p&&h.length&&(f.push(h),h=[]);continue}}k+=p}}k&&h.push(k);h.length&&f.push(h);d[e]=f;ya(a)||(c=!1)}return c};window.enableEvents=wb;window.sendEvent=yb;})();//# sourceMappingURL=/tmp/pdpjs/1.34.0/pdp10-dbg.map

View file

@ -75,7 +75,7 @@ function ob(a,b,c,d){for(var e=b,f=c,g=e>>>a.f;0<f&&g<a.a.length;){var h=a.a[g],
function nb(a){for(var b=0,c=[],d=0;d<a.h;d++){var e=a.a[d];if(e.pa||e.Va){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,h=0,l=[];g<e.length;){for(var m=e[g],n=g+1;n<e.length&&e[n]===m;)n++;l[h++]=n-g;l[h++]=m;g=n}l.length<e.length&&(e=l)}c[f]=e}}return c}function pb(a,b,c){x("Memory block error ("+a+": "+F(b)+","+F(c)+")");return!1}var qb=1,sb=2;function tb(a){u.call(this,"Device",a)}r(tb,u);k=tb.prototype;k.U=function(a,b,c,d){this.j=b;this.m=a;this.c=c;this.o=d;E(this)}; function nb(a){for(var b=0,c=[],d=0;d<a.h;d++){var e=a.a[d];if(e.pa||e.Va){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,h=0,l=[];g<e.length;){for(var m=e[g],n=g+1;n<e.length&&e[n]===m;)n++;l[h++]=n-g;l[h++]=m;g=n}l.length<e.length&&(e=l)}c[f]=e}}return c}function pb(a,b,c){x("Memory block error ("+a+": "+F(b)+","+F(c)+")");return!1}var qb=1,sb=2;function tb(a){u.call(this,"Device",a)}r(tb,u);k=tb.prototype;k.U=function(a,b,c,d){this.j=b;this.m=a;this.c=c;this.o=d;E(this)};
k.T=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.N=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){return(new P(this)).data()};k.restore=function(){return!0};I(function(){for(var a=D(document,C,"device"),b=0;b<a.length;b++){var c,d=a[b];c=A(d);switch(c.type){case "default":c=new tb(c),B(c,d)}}}); k.T=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.N=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){return(new P(this)).data()};k.restore=function(){return!0};I(function(){for(var a=D(document,C,"device"),b=0;b<a.length;b++){var c,d=a[b];c=A(d);switch(c.type){case "default":c=new tb(c),B(c,d)}}});
function U(a,b,c,d,e){this.id=ub+=2;this.X=b;this.sa=c;this.size=d||0;this.type=e||vb;this.m=e==wb;this.ba=this.Ca=this.o=this.aa;this.ta=this.ua=this.a=this.da;this.i=this.j=0;mb(this);this.pa=this.Va=!1;if(this.size){a=this.c=Array(this.size);for(b=0;b<a.length;b++)a[b]=0;xb(this,yb)}else xb(this)}k=U.prototype;k.save=function(){return this.c};k.restore=function(a){return a&&this.size==a.length?(this.c=a,this.pa=!0):!1};function xb(a,b){b||(b=zb);Ab(a,b,void 0);Bb(a,b,void 0)} function U(a,b,c,d,e){this.id=ub+=2;this.X=b;this.sa=c;this.size=d||0;this.type=e||vb;this.m=e==wb;this.ba=this.Ca=this.o=this.aa;this.ta=this.ua=this.a=this.da;this.i=this.j=0;mb(this);this.pa=this.Va=!1;if(this.size){a=this.c=Array(this.size);for(b=0;b<a.length;b++)a[b]=0;xb(this,yb)}else xb(this)}k=U.prototype;k.save=function(){return this.c};k.restore=function(a){return a&&this.size==a.length?(this.c=a,this.pa=!0):!1};function xb(a,b){b||(b=zb);Ab(a,b,void 0);Bb(a,b,void 0)}
function Ab(a,b,c){c&&a.i||(a.ba=b[2]||a.aa);if(c||void 0===c)a.o=b[0]||a.aa,a.Ca=b[2]||a.aa}function Bb(a,b,c){c&&a.j||(a.ta=!a.m&&b[3]||a.da);if(c||void 0===c)a.a=b[1]||a.da,a.ua=b[3]||a.da}function mb(a,b){a.i=a.j=0;b&&((a.i=b.i)&&Ab(a,Cb,!1),(a.j=b.j)&&Bb(a,Cb,!1))}k.aa=function(){return 0};k.da=function(){};k.hb=function(a,b,c,d){a=this.c[a];return a=32>=c+d?a>>c&(1<<d)-1:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d)};k.kb=function(a){return this.c[a]}; function Ab(a,b,c){c&&a.i||(a.ba=b[2]||a.aa);if(c||void 0===c)a.o=b[0]||a.aa,a.Ca=b[2]||a.aa}function Bb(a,b,c){c&&a.j||(a.ta=!a.m&&b[3]||a.da);if(c||void 0===c)a.a=b[1]||a.da,a.ua=b[3]||a.da}function mb(a,b){a.i=a.j=0;b&&((a.i=b.i)&&Ab(a,Cb,!1),(a.j=b.j)&&Bb(a,Cb,!1))}k.aa=function(){return-1};k.da=function(){};k.hb=function(a,b,c,d){a=this.c[a];return a=32>=c+d?a>>c&(1<<d)-1:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d)};k.kb=function(a){return this.c[a]};
k.tb=function(a,b,c,d,e){c=this.c[b];var f=Math.pow(2,d);a%=Math.pow(2,e);d=c%Math.pow(2,d+e);c=c-d+a*f+d%f;this.c[b]!=c&&(this.c[b]=c,this.pa=!0)};k.vb=function(a,b){this.c[b]=a;this.pa=!0};k.gb=function(a,b,c,d){return this.o(a,b,c,d)};k.ib=function(a,b){return this.Ca(a,b)};k.sb=function(a,b,c,d,e){this.m||this.a(a,b,c,d,e)};k.ub=function(a,b,c){this.m||this.ua(a,b,c)}; k.tb=function(a,b,c,d,e){c=this.c[b];var f=Math.pow(2,d);a%=Math.pow(2,e);d=c%Math.pow(2,d+e);c=c-d+a*f+d%f;this.c[b]!=c&&(this.c[b]=c,this.pa=!0)};k.vb=function(a,b){this.c[b]=a;this.pa=!0};k.gb=function(a,b,c,d){return this.o(a,b,c,d)};k.ib=function(a,b){return this.Ca(a,b)};k.sb=function(a,b,c,d,e){this.m||this.a(a,b,c,d,e)};k.ub=function(a,b,c){this.m||this.ua(a,b,c)};
var vb=0,wb=2,rb=["NONE","RAM","ROM"],ub=0,zb=[],yb=[U.prototype.hb,U.prototype.tb,U.prototype.kb,U.prototype.vb],Cb=[U.prototype.gb,U.prototype.sb,U.prototype.ib,U.prototype.ub]; var vb=0,wb=2,rb=["NONE","RAM","ROM"],ub=0,zb=[],yb=[U.prototype.hb,U.prototype.tb,U.prototype.kb,U.prototype.vb],Cb=[U.prototype.gb,U.prototype.sb,U.prototype.ib,U.prototype.ub];
function V(a,b){u.call(this,"CPU",a);b=+a.cycles||b;var c=+a.multiplier||1;this.wa=0;this.za=b;this.L=c;this.xa=Math.round(this.za/1E4)/100;this.H=this.xa*this.L;this.ya=this.ga=this.M=this.ma=0;this.b.u=this.b.Da=!1;this.b.G=a.autoStart;"string"==typeof this.b.G&&(this.b.G="true"==this.b.G);this.b.oa=!1;this.ka=this.K=0;this.la=+a.csStart;this.ea=+a.csInterval;this.fa=+a.csStop;this.l=[];this.Ja=this.nb.bind(this);this.B=this.h=this.v=this.A=this.g=this.ca=this.s=this.O=this.Aa=this.F=0;this.ha= function V(a,b){u.call(this,"CPU",a);b=+a.cycles||b;var c=+a.multiplier||1;this.wa=0;this.za=b;this.L=c;this.xa=Math.round(this.za/1E4)/100;this.H=this.xa*this.L;this.ya=this.ga=this.M=this.ma=0;this.b.u=this.b.Da=!1;this.b.G=a.autoStart;"string"==typeof this.b.G&&(this.b.G="true"==this.b.G);this.b.oa=!1;this.ka=this.K=0;this.la=+a.csStart;this.ea=+a.csInterval;this.fa=+a.csStop;this.l=[];this.Ja=this.nb.bind(this);this.B=this.h=this.v=this.A=this.g=this.ca=this.s=this.O=this.Aa=this.F=0;this.ha=

View file

@ -56,7 +56,7 @@ Array.prototype.indexOf||(Array.prototype.indexOf=function(a,b){b=b||0;for(var c
Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return e.apply(this instanceof c&&a?this:a,d.concat(Array.prototype.slice.call(arguments)))}function c(){}if("function"!=typeof this)throw new TypeError("Function.prototype.bind: non-callable object");var d=Array.prototype.slice.call(arguments,1),e=this;c.prototype=this.prototype;b.prototype=new c;return b}); Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return e.apply(this instanceof c&&a?this:a,d.concat(Array.prototype.slice.call(arguments)))}function c(){}if("function"!=typeof this)throw new TypeError("Function.prototype.bind: non-callable object");var d=Array.prototype.slice.call(arguments,1),e=this;c.prototype=this.prototype;b.prototype=new c;return b});
function Ka(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?d.match(/^[0-9a-f]+$/i):8==e?d.match(/^[0-7]+$/):2==e&& function Ka(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?d.match(/^[0-9a-f]+$/i):8==e?d.match(/^[0-7]+$/):2==e&&
d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f|0)}return c}function La(a,b,c){var d="";b?32<b&&(b=32):b=32;for(var e=null==a||isNaN(a),f=c=c||b;0<b--;)f||(d=","+d,f=c),d=(e?"?":a&1?"1":"0")+d,a>>=1,f--;return d}function E(a,b,c){var d="";b?11<b&&(b=11):b=a&-16777216?11:a&-65536?8:6;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;)d=String.fromCharCode((a&7)+48)+d,a>>=3;return(c?"0o":"")+d} d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f|0)}return c}function La(a,b,c){var d="";b?32<b&&(b=32):b=32;for(var e=null==a||isNaN(a),f=c=c||b;0<b--;)f||(d=","+d,f=c),d=(e?"?":a&1?"1":"0")+d,a>>=1,f--;return d}function E(a,b,c){var d="";b?11<b&&(b=11):b=a&-16777216?11:a&-65536?8:6;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;)d=String.fromCharCode((a&7)+48)+d,a>>=3;return(c?"0o":"")+d}
function Ma(a){var b=2,c="";b?10<b&&(b=10):b=a&-65536?10:5;if(null==a||isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;)c=String.fromCharCode(a%10+48)+c,a/=10;return c}function F(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 Na(a){return F(a,4,!0)} function Ma(a,b){var c="";b?10<b&&(b=10):b=a&-65536?10:5;if(null==a||isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;)c=String.fromCharCode(a%10+48)+c,a/=10;return c}function F(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 Na(a){return F(a,4,!0)}
function Oa(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0<d&&(c=c.substr(0,d));b&&(d=c.lastIndexOf("."),0<d&&(c=c.substring(0,d)));return c}function Pa(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function Qa(a,b){return-1!==a.indexOf(b,a.length-b.length)}function Ra(a){return a.replace(/[&<>"']/g,function(a){return Sa[a]})}function Xa(a,b){return(a+" ").slice(0,b)} function Oa(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0<d&&(c=c.substr(0,d));b&&(d=c.lastIndexOf("."),0<d&&(c=c.substring(0,d)));return c}function Pa(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function Qa(a,b){return-1!==a.indexOf(b,a.length-b.length)}function Ra(a){return a.replace(/[&<>"']/g,function(a){return Sa[a]})}function Xa(a,b){return(a+" ").slice(0,b)}
function Ya(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Sa={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"},Za={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",10:"LF",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 Ya(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Sa={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"},Za={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",10:"LF",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 $a(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var g=d+e>>1,k;k=c(b,a[g]);0<k?d=g+1:(e=g,f=!k)}return f?d:~d}function ab(){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 $a(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var g=d+e>>1,k;k=c(b,a[g]);0<k?d=g+1:(e=g,f=!k)}return f?d:~d}function ab(){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())}
@ -100,7 +100,7 @@ function Ic(a,b,c){var d=!1,e=this.controller,f=e.Pa[a],g=c&65535;if(f)if(f[1])f
b),!0,!e.na))}function Jc(a,b){var c=-1,d=this.controller;a=d.Pa[a];var e=b&65535;a&&(a[2]?c=a[2](e):a[0]&&(c=a[0](e)|a[0](e+1)<<8));if(0<=c)return this.f&&z(this.f,16|a[5])&&C(this.f,a[4]+".readWord("+K(this.f,b)+"): "+K(this.f,c),!0,!d.na),c;d.Na(b,16,2);c=65535;this.f&&z(this.f,16)&&C(this.f,"warning: unconverted read access to word @"+K(this.f,b)+": "+K(this.f,c),!0,!d.na);return c} b),!0,!e.na))}function Jc(a,b){var c=-1,d=this.controller;a=d.Pa[a];var e=b&65535;a&&(a[2]?c=a[2](e):a[0]&&(c=a[0](e)|a[0](e+1)<<8));if(0<=c)return this.f&&z(this.f,16|a[5])&&C(this.f,a[4]+".readWord("+K(this.f,b)+"): "+K(this.f,c),!0,!d.na),c;d.Na(b,16,2);c=65535;this.f&&z(this.f,16)&&C(this.f,"warning: unconverted read access to word @"+K(this.f,b)+": "+K(this.f,c),!0,!d.na);return c}
function Kc(a,b,c){var d=!1,e=this.controller;a=e.Pa[a];var f=c&65535;a&&(a[3]?(a[3](b,f),d=!0):a[1]&&(a[1](b&255,f),a[1](b>>8,f+1),d=!0));d?this.f&&z(this.f,16|a[5])&&C(this.f,a[4]+".writeWord("+K(this.f,c)+","+K(this.f,b)+")",!0,!e.na):(e.Na(c,16,4),this.f&&z(this.f,16)&&C(this.f,"warning: unconverted write access to word @"+K(this.f,c)+": "+K(this.f,b),!0,!e.na))}function L(a){u.call(this,"Device",a,256);this.b={gb:128,Hd:-1}}p(L,u);h=L.prototype; function Kc(a,b,c){var d=!1,e=this.controller;a=e.Pa[a];var f=c&65535;a&&(a[3]?(a[3](b,f),d=!0):a[1]&&(a[1](b&255,f),a[1](b>>8,f+1),d=!0));d?this.f&&z(this.f,16|a[5])&&C(this.f,a[4]+".writeWord("+K(this.f,c)+","+K(this.f,b)+")",!0,!e.na):(e.Na(c,16,4),this.f&&z(this.f,16)&&C(this.f,"warning: unconverted write access to word @"+K(this.f,c)+": "+K(this.f,b),!0,!e.na))}function L(a){u.call(this,"Device",a,256);this.b={gb:128,Hd:-1}}p(L,u);h=L.prototype;
h.za=function(a,b,c,d){this.D=b;this.J=a;this.f=c;this.F=d;var e=this;this.b.Hd=ld(c,function(){e.b.gb|=128;e.b.gb&64&&md(e.f,e.b.Qa);e.J&&H(e.J,1);nd(e.f,e.b.Hd,1E3/60)});this.b.Qa=od(c,64,6,2097152);Xb(b,this,pd);ec(b,this.reset.bind(this));d&&qd(d,64,function(a){var b=e.f;rd(e,"KIPDR",b.B[0],0,a[0]);rd(e,"KDPDR",b.B[0],8,a[0]);rd(e,"KIPAR",b.M[0],0,a[0]);rd(e,"KDPAR",b.M[0],8,a[0],!0);rd(e,"SIPDR",b.B[1],0,a[0]);rd(e,"SDPDR",b.B[1],8,a[0]);rd(e,"SIPAR",b.M[1],0,a[0]);rd(e,"SDPAR",b.M[1],8,a[0], h.za=function(a,b,c,d){this.D=b;this.J=a;this.f=c;this.F=d;var e=this;this.b.Hd=ld(c,function(){e.b.gb|=128;e.b.gb&64&&md(e.f,e.b.Qa);e.J&&H(e.J,1);nd(e.f,e.b.Hd,1E3/60)});this.b.Qa=od(c,64,6,2097152);Xb(b,this,pd);ec(b,this.reset.bind(this));d&&qd(d,64,function(a){var b=e.f;rd(e,"KIPDR",b.B[0],0,a[0]);rd(e,"KDPDR",b.B[0],8,a[0]);rd(e,"KIPAR",b.M[0],0,a[0]);rd(e,"KDPAR",b.M[0],8,a[0],!0);rd(e,"SIPDR",b.B[1],0,a[0]);rd(e,"SDPDR",b.B[1],8,a[0]);rd(e,"SIPAR",b.M[1],0,a[0]);rd(e,"SDPAR",b.M[1],8,a[0],
!0);rd(e,"UIPDR",b.B[3],0,a[0]);rd(e,"UDPDR",b.B[3],8,a[0]);rd(e,"UIPAR",b.M[3],0,a[0]);rd(e,"UDPAR",b.M[3],8,a[0],!0);b.W&32&&rd(e,"UNIMAP",b.Ha,-1,a[0])});y(this)};function rd(a,b,c,d,e,f){a=a.F;if(!(e&&0>b.indexOf(e.toUpperCase()))){e=8;var g="",k=!1,l=0,m=8;0>d&&(e=c.length,d=0,k=!0,l=3,m=4);for(var n=0;n<e;n++)n%m||(g&&(g+="\n"),g+=b+(k?"["+Ma(n)+"]":"")+":"),g+=" "+K(a,c[d+n],l);a.v(g+(f?"\n":""))}}h.Ca=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0}; !0);rd(e,"UIPDR",b.B[3],0,a[0]);rd(e,"UDPDR",b.B[3],8,a[0]);rd(e,"UIPAR",b.M[3],0,a[0]);rd(e,"UDPAR",b.M[3],8,a[0],!0);b.W&32&&rd(e,"UNIMAP",b.Ha,-1,a[0])});y(this)};function rd(a,b,c,d,e,f){a=a.F;if(!(e&&0>b.indexOf(e.toUpperCase()))){e=0;var g=8,k="",l=!1,m=8;0>d&&(e=22,g=c.length,d=0,l=!0,m=4);for(var n=0;n<g;n++)n%m||(k&&(k+="\n"),k+=b+(l?"["+Ma(n,2)+"]":"")+":"),k+=" "+K(a,c[d+n],e);a.v(k+(f?"\n":""))}}h.Ca=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};
h.Ba=function(a){return a?this.save():!0};h.reset=function(){this.b.gb=128;nd(this.f,this.b.Hd,1E3/60,!0)};h.save=function(){var a=new G(this);a.set(0,[this.b.gb]);return a.data()};h.restore=function(a){a=ia(a[0]);this.b.gb=a.next().value;return!0};h.fg=function(){return this.b.gb};h.yh=function(a){this.b.gb=a&192;this.b.gb&64||sd(this.f,this.b.Qa)};h.hg=function(){return td(this.f)};h.Ah=function(a){ud(this.f,a&-129|this.f.S&128)};h.ig=function(){return vd(this.f)};h.jg=function(){return wd(this.f)}; h.Ba=function(a){return a?this.save():!0};h.reset=function(){this.b.gb=128;nd(this.f,this.b.Hd,1E3/60,!0)};h.save=function(){var a=new G(this);a.set(0,[this.b.gb]);return a.data()};h.restore=function(a){a=ia(a[0]);this.b.gb=a.next().value;return!0};h.fg=function(){return this.b.gb};h.yh=function(a){this.b.gb=a&192;this.b.gb&64||sd(this.f,this.b.Qa)};h.hg=function(){return td(this.f)};h.Ah=function(a){ud(this.f,a&-129|this.f.S&128)};h.ig=function(){return vd(this.f)};h.jg=function(){return wd(this.f)};
h.kg=function(){return this.f.W};h.Bh=function(a){xd(this.f,a)};h.Wg=function(a){a=a>>1&63;var b=this.f.Ha[a>>1];return a&1?b>>16:b&65535};h.mi=function(a,b){b=b>>1&63;var c=b>>1;this.f.Ha[c]=b&1?this.f.Ha[c]&65535|(a&63)<<16:this.f.Ha[c]&-65536|a&65534};h.Pg=function(a){return this.f.B[1][a>>1&7]};h.fi=function(a,b){this.f.B[1][b>>1&7]=a&65295};h.Ng=function(a){return this.f.B[1][(a>>1&7)+8]};h.di=function(a,b){this.f.B[1][(b>>1&7)+8]=a&65295};h.Og=function(a){return this.f.M[1][a>>1&7]}; h.kg=function(){return this.f.W};h.Bh=function(a){xd(this.f,a)};h.Wg=function(a){a=a>>1&63;var b=this.f.Ha[a>>1];return a&1?b>>16:b&65535};h.mi=function(a,b){b=b>>1&63;var c=b>>1;this.f.Ha[c]=b&1?this.f.Ha[c]&65535|(a&63)<<16:this.f.Ha[c]&-65536|a&65534};h.Pg=function(a){return this.f.B[1][a>>1&7]};h.fi=function(a,b){this.f.B[1][b>>1&7]=a&65295};h.Ng=function(a){return this.f.B[1][(a>>1&7)+8]};h.di=function(a,b){this.f.B[1][(b>>1&7)+8]=a&65295};h.Og=function(a){return this.f.M[1][a>>1&7]};
h.ei=function(a,b){b=b>>1&7;this.f.M[1][b]=a;this.f.B[1][b]&=65295};h.Mg=function(a){return this.f.M[1][(a>>1&7)+8]};h.ci=function(a,b){b=(b>>1&7)+8;this.f.M[1][b]=a;this.f.B[1][b]&=65295};h.eg=function(a){return this.f.B[0][a>>1&7]};h.xh=function(a,b){this.f.B[0][b>>1&7]=a&65295};h.cg=function(a){return this.f.B[0][(a>>1&7)+8]};h.vh=function(a,b){this.f.B[0][(b>>1&7)+8]=a&65295};h.dg=function(a){return this.f.M[0][a>>1&7]};h.wh=function(a,b){b=b>>1&7;this.f.M[0][b]=a;this.f.B[0][b]&=65295}; h.ei=function(a,b){b=b>>1&7;this.f.M[1][b]=a;this.f.B[1][b]&=65295};h.Mg=function(a){return this.f.M[1][(a>>1&7)+8]};h.ci=function(a,b){b=(b>>1&7)+8;this.f.M[1][b]=a;this.f.B[1][b]&=65295};h.eg=function(a){return this.f.B[0][a>>1&7]};h.xh=function(a,b){this.f.B[0][b>>1&7]=a&65295};h.cg=function(a){return this.f.B[0][(a>>1&7)+8]};h.vh=function(a,b){this.f.B[0][(b>>1&7)+8]=a&65295};h.dg=function(a){return this.f.M[0][a>>1&7]};h.wh=function(a,b){b=b>>1&7;this.f.M[0][b]=a;this.f.B[0][b]&=65295};
@ -166,10 +166,10 @@ function P(a,b,c,d){var e=a.j=b&7;(b=a.u=(b&56)>>3)?(e=a.Fa(b,e,6),a.lc(e,d.call
function $e(a,b,c,d){var e=a.j=b&7;(b=a.u=(b&56)>>3)?(e=a.Fa(b,e,4),d.call(a,c=0>c?a.g[-c-1]:c),a.lc(e,c)):(a.g[e]=c=0>c?a.g[-c-1]:c,d.call(a,c))} function $e(a,b,c,d){var e=a.j=b&7;(b=a.u=(b&56)>>3)?(e=a.Fa(b,e,4),d.call(a,c=0>c?a.g[-c-1]:c),a.lc(e,c)):(a.g[e]=c=0>c?a.g[-c-1]:c,d.call(a,c))}
h.Cc=function(a){this.A.complete=!0;var b=this.F?af(this.F)?1:this.A.Sc?-1:0:0,c=a?this.A.Sc?0:1:-1;this.A.Sc=!1;this.lb=this.b=a;this.i=this.i&-5|(b?4:0);do{if(this.i){if(this.i&4){if(bf(this.F,this.g[7],c)){this.ba();break}++b||(this.i&=-5);c||c++}if(a=this.i&11)if(a=!1,this.i&2){var d=160,e=(this.ob&224)>>5,f=this.R&&this.R.pb>e?this.R:null;f&&(d=f.Fb,e=f.pb);e>(this.w&224)>>5?(this.i&8&&(Ee(this,2),this.i&=-9),this.ra(d,0,-10),e=!0):e=!1;e&&(f&&Ge(this,f),a=!0);this.R||this.ob||(this.i&=-3)}else this.i& h.Cc=function(a){this.A.complete=!0;var b=this.F?af(this.F)?1:this.A.Sc?-1:0:0,c=a?this.A.Sc?0:1:-1;this.A.Sc=!1;this.lb=this.b=a;this.i=this.i&-5|(b?4:0);do{if(this.i){if(this.i&4){if(bf(this.F,this.g[7],c)){this.ba();break}++b||(this.i&=-5);c||c++}if(a=this.i&11)if(a=!1,this.i&2){var d=160,e=(this.ob&224)>>5,f=this.R&&this.R.pb>e?this.R:null;f&&(d=f.Fb,e=f.pb);e>(this.w&224)>>5?(this.i&8&&(Ee(this,2),this.i&=-9),this.ra(d,0,-10),e=!0):e=!1;e&&(f&&Ge(this,f),a=!0);this.R||this.ob||(this.i&=-3)}else this.i&
1&&this.i++;if(a){if(this.i&4&&bf(this.F,this.g[7],c)){this.ba();break}if(0>c)break}if(this.i&112&&He(this)){if(this.i&4&&bf(this.F,this.g[7],c)){this.ba();break}if(0>c)break}}this.i=this.i&15|this.w&16;a=this.O=this.g[7];f=this.oa(a);this.g[7]=a+2&65535;this.Sd(f)}while(0<this.b);return this.A.complete?this.lb-this.b:!1===this.A.complete?-1:0};rb(function(){for(var a=x(document,w,"cpu"),b=0;b<a.length;b++){var c=a[b],d=wa(c),d=new ue(d);xa(d,c)}}); 1&&this.i++;if(a){if(this.i&4&&bf(this.F,this.g[7],c)){this.ba();break}if(0>c)break}if(this.i&112&&He(this)){if(this.i&4&&bf(this.F,this.g[7],c)){this.ba();break}if(0>c)break}}this.i=this.i&15|this.w&16;a=this.O=this.g[7];f=this.oa(a);this.g[7]=a+2&65535;this.Sd(f)}while(0<this.b);return this.A.complete?this.lb-this.b:!1===this.A.complete?-1:0};rb(function(){for(var a=x(document,w,"cpu"),b=0;b<a.length;b++){var c=a[b],d=wa(c),d=new ue(d);xa(d,c)}});
function yf(a,b){var c=b+a;this.I=this.L=this.C=c;this.G=(a^c)&(b^c);return c&65535}function zf(a,b){var c=b+a,d=c<<8;this.I=this.L=this.C=d;this.G=(a<<8^d)&(b<<8^d);return c&255}function Af(a,b){a=b<<1;Ie(this,a);return a&65535}function Bf(a,b){a=b<<1;Ie(this,a<<8);return a&255}function Cf(a,b){a=b&32768|b>>1|b<<16;Ie(this,a);return a&65535}function Df(a,b){a=b&128|b>>1|b<<8;Ie(this,a<<8);return a&255}function Ef(a,b){a=b&~a;this.Da(a);return a}function Ff(a,b){a=b&~a;this.Da(a<<8);return a} function cf(a,b){var c=b+a;this.I=this.L=this.C=c;this.G=(a^c)&(b^c);return c&65535}function zf(a,b){var c=b+a,d=c<<8;this.I=this.L=this.C=d;this.G=(a<<8^d)&(b<<8^d);return c&255}function Af(a,b){a=b<<1;Ie(this,a);return a&65535}function Bf(a,b){a=b<<1;Ie(this,a<<8);return a&255}function Cf(a,b){a=b&32768|b>>1|b<<16;Ie(this,a);return a&65535}function Df(a,b){a=b&128|b>>1|b<<8;Ie(this,a<<8);return a&255}function Ef(a,b){a=b&~a;this.Da(a);return a}function Ff(a,b){a=b&~a;this.Da(a<<8);return a}
function Gf(a,b){a|=b;this.Da(a);return a}function Hf(a,b){a|=b;this.Da(a<<8);return a}function If(a,b){a=~b|65536;this.qb(a);return a&65535}function Jf(a,b){a=~b|256;this.qb(a<<8);return a&255}function Kf(a,b){this.I=this.L=a=b-a;this.G=b&(b^a);return a&65535}function Lf(a,b){a=b-a;var c=a<<8;b<<=8;this.I=this.L=c;this.G=b&(b^c);return a&255}function Mf(a,b){this.I=this.L=a=b+a;this.G=a&(b^a);return a&65535}function Nf(a,b){a=b+a;var c=a<<8;this.I=this.L=c;this.G=c&(b<<8^c);return a&255} function Gf(a,b){a|=b;this.Da(a);return a}function Hf(a,b){a|=b;this.Da(a<<8);return a}function If(a,b){a=~b|65536;this.qb(a);return a&65535}function Jf(a,b){a=~b|256;this.qb(a<<8);return a&255}function Kf(a,b){this.I=this.L=a=b-a;this.G=b&(b^a);return a&65535}function Lf(a,b){a=b-a;var c=a<<8;b<<=8;this.I=this.L=c;this.G=b&(b^c);return a&255}function Mf(a,b){this.I=this.L=a=b+a;this.G=a&(b^a);return a&65535}function Nf(a,b){a=b+a;var c=a<<8;this.I=this.L=c;this.G=c&(b<<8^c);return a&255}
function Of(a,b){a=-b;this.qb(a,a&b&32768);return a&65535}function Pf(a,b){a=-b;this.qb(a<<8,(a&b&128)<<8);return a&255}function Qf(a,b){a=b<<1|this.C>>16&1;Ie(this,a);return a&65535}function Rf(a,b){a=b<<1|this.C>>16&1;Ie(this,a<<8);return a&255}function Sf(a,b){a=(this.C&65536|b)>>1|b<<16;Ie(this,a);return a&65535}function Tf(a,b){a=((this.C&65536)>>8|b)>>1|b<<8;Ie(this,a<<8);return a&255}function Uf(a,b){var c=b-a;Je(this,c,a,b);return c&65535} function Of(a,b){a=-b;this.qb(a,a&b&32768);return a&65535}function Pf(a,b){a=-b;this.qb(a<<8,(a&b&128)<<8);return a&255}function Qf(a,b){a=b<<1|this.C>>16&1;Ie(this,a);return a&65535}function Rf(a,b){a=b<<1|this.C>>16&1;Ie(this,a<<8);return a&255}function Sf(a,b){a=(this.C&65536|b)>>1|b<<16;Ie(this,a);return a&65535}function Tf(a,b){a=((this.C&65536)>>8|b)>>1|b<<8;Ie(this,a<<8);return a&255}function Uf(a,b){var c=b-a;Je(this,c,a,b);return c&65535}
function Vf(a,b){var c=b-a;Je(this,c<<8,a<<8,b<<8);return c&255}function Wf(a,b){this.I=this.L=b&65280;this.G=this.C=0;return(b<<8|b>>8)&65535}function Xf(a,b){a^=b;this.Da(a);return a&65535}function Yf(a){P(this,a,Ue(this,a),yf);this.b-=this.u?9+(this.Y&&6<=this.j?1:0):(this.U?5:3)+(7==this.j?2:0)} function Vf(a,b){var c=b-a;Je(this,c<<8,a<<8,b<<8);return c&255}function Wf(a,b){this.I=this.L=b&65280;this.G=this.C=0;return(b<<8|b>>8)&65535}function Xf(a,b){a^=b;this.Da(a);return a&65535}function Yf(a){P(this,a,Ue(this,a),cf);this.b-=this.u?9+(this.Y&&6<=this.j?1:0):(this.U?5:3)+(7==this.j?2:0)}
function Zf(a){var b=Xe(this,a);a=a>>6&7;var c=this.g[a];c&32768&&(c|=4294901760);this.C=this.G=0;b&=63;if(b&32)b=64-b,16<b&&(b=16),this.C=c<<17-b,c>>=b;else if(b)if(16<b)this.G=c,c=0;else{this.C=c<<=b;var d=c>>15&65535;d&&65535!==d&&(this.G=32768)}this.g[a]=c&65535;this.I=this.L=c;this.b-=(this.u?6:7)+b} function Zf(a){var b=Xe(this,a);a=a>>6&7;var c=this.g[a];c&32768&&(c|=4294901760);this.C=this.G=0;b&=63;if(b&32)b=64-b,16<b&&(b=16),this.C=c<<17-b,c>>=b;else if(b)if(16<b)this.G=c,c=0;else{this.C=c<<=b;var d=c>>15&65535;d&&65535!==d&&(this.G=32768)}this.g[a]=c&65535;this.I=this.L=c;this.b-=(this.u?6:7)+b}
function $f(a){var b=Xe(this,a);a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.C=this.G=0;b&=63;if(b&32){b=64-b;32<b&&(b=32);var d=c>>b-1;this.C=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<<b-1,this.C=d>>15,d<<=1,32<b&&(b=32),(c>>=32-b)&&4294967295!==(c|4294967295<<b&4294967295)&&(this.G=32768)):d=c;this.g[a]=d>>16&65535;this.g[a|1]=d&65535;this.I=d>>16;this.L=d>>16|d;this.b-=(this.u?6:7)+b}function ag(a){Fe(this,a,!Ae(this))}function bg(a){Fe(this,a,Ae(this))} function $f(a){var b=Xe(this,a);a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.C=this.G=0;b&=63;if(b&32){b=64-b;32<b&&(b=32);var d=c>>b-1;this.C=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<<b-1,this.C=d>>15,d<<=1,32<b&&(b=32),(c>>=32-b)&&4294967295!==(c|4294967295<<b&4294967295)&&(this.G=32768)):d=c;this.g[a]=d>>16&65535;this.g[a|1]=d&65535;this.I=d>>16;this.L=d>>16|d;this.b-=(this.u?6:7)+b}function ag(a){Fe(this,a,!Ae(this))}function bg(a){Fe(this,a,Ae(this))}
function cg(a){P(this,a,Ue(this,a),Ef);this.b-=this.u?9+(this.Y&&6<=this.j?1:0):(this.U?5:3)+(7==this.j?2:0)}function dg(a){Ye(this,a,Te(this,a),Ff);this.b-=this.u?9+(this.Y&&6<=this.j?1:0):(this.U?5:3)+(7==this.j?2:0)}function eg(a){P(this,a,Ue(this,a),Gf);this.b-=this.u?9+(this.Y&&6<=this.j?1:0):(this.U?5:3)+(7==this.j?2:0)}function fg(a){Ye(this,a,Te(this,a),Hf);this.b-=this.u?9+(this.Y&&6<=this.j?1:0):(this.U?5:3)+(7==this.j?2:0)} function cg(a){P(this,a,Ue(this,a),Ef);this.b-=this.u?9+(this.Y&&6<=this.j?1:0):(this.U?5:3)+(7==this.j?2:0)}function dg(a){Ye(this,a,Te(this,a),Ff);this.b-=this.u?9+(this.Y&&6<=this.j?1:0):(this.U?5:3)+(7==this.j?2:0)}function eg(a){P(this,a,Ue(this,a),Gf);this.b-=this.u?9+(this.Y&&6<=this.j?1:0):(this.U?5:3)+(7==this.j?2:0)}function fg(a){Ye(this,a,Te(this,a),Hf);this.b-=this.u?9+(this.Y&&6<=this.j?1:0):(this.U?5:3)+(7==this.j?2:0)}
@ -184,7 +184,7 @@ function Rg(a){a&1&&(this.C=65536);a&2&&(this.G=32768);a&4&&(this.L=0);a&8&&(thi
function Wg(){this.sa&&(this.sa.Gd(this.g[7],!0),this.sa.setData(this.g[0],!0));this.i|=8;Ee(this,-2);this.b-=3}function Xg(a){P(this,a,this.g[(a>>6&7)+this.zc],Xf);this.b-=this.u?9:3+(7==this.j?2:0)}function Q(a){var b;if(b=this.F)b=this.F,z(b,1)?(C(b,"undefined opcode "+K(b,a),!0,!0),b=Cg(b)):b=!1;b||this.ra(8,0,-9)}function ve(a){Yg[a>>12].call(this,a)}function Zg(a){$g[a>>6&3].call(this,a)}function ah(a){bh[a>>6&3].call(this,a)}function ch(a){dh[a>>6&3].call(this,a)} function Wg(){this.sa&&(this.sa.Gd(this.g[7],!0),this.sa.setData(this.g[0],!0));this.i|=8;Ee(this,-2);this.b-=3}function Xg(a){P(this,a,this.g[(a>>6&7)+this.zc],Xf);this.b-=this.u?9:3+(7==this.j?2:0)}function Q(a){var b;if(b=this.F)b=this.F,z(b,1)?(C(b,"undefined opcode "+K(b,a),!0,!0),b=Cg(b)):b=!1;b||this.ra(8,0,-9)}function ve(a){Yg[a>>12].call(this,a)}function Zg(a){$g[a>>6&3].call(this,a)}function ah(a){bh[a>>6&3].call(this,a)}function ch(a){dh[a>>6&3].call(this,a)}
function eh(a){fh[a&15].call(this,a)}function gh(a){hh[a&15].call(this,a)}function ih(a){jh[a>>6&3].call(this,a)}function kh(a){lh[a>>6&3].call(this,a)}function mh(a){nh[a>>6&3].call(this,a)} function eh(a){fh[a&15].call(this,a)}function gh(a){hh[a&15].call(this,a)}function ih(a){jh[a>>6&3].call(this,a)}function kh(a){lh[a>>6&3].call(this,a)}function mh(a){nh[a>>6&3].call(this,a)}
var Yg=[function(a){oh[a>>8&15].call(this,a)},Jg,xg,gg,cg,eg,Yf,Q,function(a){ph[a>>8&15].call(this,a)},Kg,yg,hg,dg,fg,Tg,Q],oh=[function(a){qh[a>>4&15].call(this,a)},tg,qg,ig,jg,og,kg,mg,Hg,Hg,Zg,ah,ch,Q,Q,Q],$g=[function(a){$e(this,a,0,this.qb);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,0,If);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,1,Mf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,1,Kf);this.b-=this.u?9:3+(7==this.j?2:0)}],bh=[function(a){P(this,a,0,Of); var Yg=[function(a){oh[a>>8&15].call(this,a)},Jg,xg,gg,cg,eg,Yf,Q,function(a){ph[a>>8&15].call(this,a)},Kg,yg,hg,dg,fg,Tg,Q],oh=[function(a){qh[a>>4&15].call(this,a)},tg,qg,ig,jg,og,kg,mg,Hg,Hg,Zg,ah,ch,Q,Q,Q],$g=[function(a){$e(this,a,0,this.qb);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,0,If);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,1,Mf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,1,Kf);this.b-=this.u?9:3+(7==this.j?2:0)}],bh=[function(a){P(this,a,0,Of);
this.b-=this.u?11:6},function(a){P(this,a,Ae(this)?1:0,yf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,Ae(this)?1:0,Uf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){a=Xe(this,a);this.qb(a);this.b-=this.u?4:3+(7==this.j?2:0)}],dh=[function(a){P(this,a,0,Sf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,0,Qf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,0,Cf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,0,Af);this.b-=this.u?9:3+(7==this.j?2:0)}],qh= this.b-=this.u?11:6},function(a){P(this,a,Ae(this)?1:0,cf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,Ae(this)?1:0,Uf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){a=Xe(this,a);this.qb(a);this.b-=this.u?4:3+(7==this.j?2:0)}],dh=[function(a){P(this,a,0,Sf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,0,Qf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,0,Cf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,0,Af);this.b-=this.u?9:3+(7==this.j?2:0)}],qh=
[function(a){rh[a&15].call(this,a)},Q,Q,Q,Fg,Fg,Fg,Fg,Pg,Q,eh,gh,Ug,Ug,Ug,Ug],rh=[Bg,Wg,Qg,sg,Dg,Og,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q],fh=[Ng,function(){this.C=0;this.b-=5},function(){this.G=0;this.b-=5},wg,function(){this.L=1;this.b-=5},wg,wg,wg,function(){this.I=0;this.b-=5},wg,wg,wg,wg,wg,wg,wg],hh=[Ng,function(){this.C=65536;this.b-=5},function(){this.G=32768;this.b-=5},Rg,function(){this.L=0;this.b-=5},Rg,Rg,Rg,function(){this.I=32768;this.b-=5},Rg,Rg,Rg,Rg,Rg,Rg,Rg],ph=[rg,pg,lg,ng,ug,vg,ag,bg,Ag,Vg,ih,kh, [function(a){rh[a&15].call(this,a)},Q,Q,Q,Fg,Fg,Fg,Fg,Pg,Q,eh,gh,Ug,Ug,Ug,Ug],rh=[Bg,Wg,Qg,sg,Dg,Og,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q],fh=[Ng,function(){this.C=0;this.b-=5},function(){this.G=0;this.b-=5},wg,function(){this.L=1;this.b-=5},wg,wg,wg,function(){this.I=0;this.b-=5},wg,wg,wg,wg,wg,wg,wg],hh=[Ng,function(){this.C=65536;this.b-=5},function(){this.G=32768;this.b-=5},Rg,function(){this.L=0;this.b-=5},Rg,Rg,Rg,function(){this.I=32768;this.b-=5},Rg,Rg,Rg,Rg,Rg,Rg,Rg],ph=[rg,pg,lg,ng,ug,vg,ag,bg,Ag,Vg,ih,kh,
mh,Q,Q,Q],jh=[function(a){Ze(this,a,0,255,this.qb);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){Ye(this,a,0,Jf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){Ye(this,a,1,Nf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){Ye(this,a,1,Lf);this.b-=this.u?9:3+(7==this.j?2:0)}],lh=[function(a){Ye(this,a,0,Pf);this.b-=this.u?11:6},function(a){Ye(this,a,Ae(this)?1:0,zf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){Ye(this,a,Ae(this)?1:0,Vf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){a=We(this, mh,Q,Q,Q],jh=[function(a){Ze(this,a,0,255,this.qb);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){Ye(this,a,0,Jf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){Ye(this,a,1,Nf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){Ye(this,a,1,Lf);this.b-=this.u?9:3+(7==this.j?2:0)}],lh=[function(a){Ye(this,a,0,Pf);this.b-=this.u?11:6},function(a){Ye(this,a,Ae(this)?1:0,zf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){Ye(this,a,Ae(this)?1:0,Vf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){a=We(this,
a);this.qb(a<<8);this.b-=this.u?4:3+(7==this.j?2:0)}],nh=[function(a){Ye(this,a,0,Tf);this.b-=this.u?9+(this.Wc&1):3+(7==this.j?2:0)},function(a){Ye(this,a,0,Rf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){Ye(this,a,0,Df);this.b-=this.u?9+(this.Wc&1):3+(7==this.j?2:0)},function(a){Ye(this,a,0,Bf);this.b-=this.u?9:3+(7==this.j?2:0)}];function we(a){sh[a>>12].call(this,a)} a);this.qb(a<<8);this.b-=this.u?4:3+(7==this.j?2:0)}],nh=[function(a){Ye(this,a,0,Tf);this.b-=this.u?9+(this.Wc&1):3+(7==this.j?2:0)},function(a){Ye(this,a,0,Rf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){Ye(this,a,0,Df);this.b-=this.u?9+(this.Wc&1):3+(7==this.j?2:0)},function(a){Ye(this,a,0,Bf);this.b-=this.u?9:3+(7==this.j?2:0)}];function we(a){sh[a>>12].call(this,a)}
@ -292,7 +292,7 @@ case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d
function zj(a,b,c){var d;if(b){b=Aj(a,b);for(var e=0,f=!1,g=b,k=[],l=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<m.length;){var n=m[e++],q=n.length,n=Ya(n);if(!n){f=!0;break}n=Bj(a,n,null,!1===c);if(void 0===n){f=!0;c=!1;break}k.push(n);if(e==m.length)break;var n=m[e++],t=n.length;l.length&&Cj[n]<Cj[l[l.length-1]]&&yj(k,l,1);l.push(n);b=b.substr(q+t)}yj(k,l)&&1==k.length||(f=!0);f?c&&a.v("error parsing '"+g+"' at character "+(g.length-b.length)):(d=k.pop(),c&&Dj(a,null, function zj(a,b,c){var d;if(b){b=Aj(a,b);for(var e=0,f=!1,g=b,k=[],l=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<m.length;){var n=m[e++],q=n.length,n=Ya(n);if(!n){f=!0;break}n=Bj(a,n,null,!1===c);if(void 0===n){f=!0;c=!1;break}k.push(n);if(e==m.length)break;var n=m[e++],t=n.length;l.length&&Cj[n]<Cj[l[l.length-1]]&&yj(k,l,1);l.push(n);b=b.substr(q+t)}yj(k,l)&&1==k.length||(f=!0);f?c&&a.v("error parsing '"+g+"' at character "+(g.length-b.length)):(d=k.pop(),c&&Dj(a,null,
d))}return d}function Aj(a,b){for(var c,d=a.ia?"(":"{",e=a.ia?")":"}",f=new RegExp(a.ia?"\\((.*?)\\)":"\\{(.*?)\\}");(c=b.match(f))&&!(0<=c[1].indexOf(d));){var g=zj(a,c[1]);b=b.replace(d+c[1]+e,null!=g?K(a,g):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)b=b.replace("["+c[1]+"]","unimplemented");for(a=b;b=a.match(/\$([a-z]+)/i);){c=null;switch(b[1].toLowerCase()){case "ops":c=0}if(null==c)break;a=a.replace(b[0],c.toString())}return a} d))}return d}function Aj(a,b){for(var c,d=a.ia?"(":"{",e=a.ia?")":"}",f=new RegExp(a.ia?"\\((.*?)\\)":"\\{(.*?)\\}");(c=b.match(f))&&!(0<=c[1].indexOf(d));){var g=zj(a,c[1]);b=b.replace(d+c[1]+e,null!=g?K(a,g):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)b=b.replace("["+c[1]+"]","unimplemented");for(a=b;b=a.match(/\$([a-z]+)/i);){c=null;switch(b[1].toLowerCase()){case "ops":c=0}if(null==c)break;a=a.replace(b[0],c.toString())}return a}
function Bj(a,b,c,d){var e;null!=b?(e=a.re(b),0<=e?e=a.Ad(e):(e=a.S[b],null==e&&(e=Ka(b,a.Aa))),null!=e||d||a.v("invalid "+(c?c:"value")+": "+b)):d||a.v("missing "+(c||"value"));return e}function Dj(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f=4,g="";if(!f||4<f)f=4;for(var k=0;k<f;k++)g&&(g=","+g),g=La(d&255,8)+g,d>>=8;d=F(c,0,!0)+" "+c+". "+E(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.v((null!=b?b+": ":"")+d);return e} function Bj(a,b,c,d){var e;null!=b?(e=a.re(b),0<=e?e=a.Ad(e):(e=a.S[b],null==e&&(e=Ka(b,a.Aa))),null!=e||d||a.v("invalid "+(c?c:"value")+": "+b)):d||a.v("missing "+(c||"value"));return e}function Dj(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f=4,g="";if(!f||4<f)f=4;for(var k=0;k<f;k++)g&&(g=","+g),g=La(d&255,8)+g,d>>=8;d=F(c,0,!0)+" "+c+". "+E(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.v((null!=b?b+": ":"")+d);return e}
function Ej(a,b){if(b)return Dj(a,b,a.S[b]);var c=0;for(b in a.S)Dj(a,b,a.S[b]),c++;return 0<c}function K(a,b,c,d){c=void 0===c?0:c;switch(a.Aa){case 8:a=E(b,3*c);break;case 10:a=b.toString();break;default:a=F(b,2*c)}(void 0===d?0:d)?d=a.replace(/^0+([0-9A-F]+)$/i,"$1"):d=a;return d}var Cj={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; function Ej(a,b){if(b)return Dj(a,b,a.S[b]);var c=0;for(b in a.S)Dj(a,b,a.S[b]),c++;return 0<c}function K(a,b,c){c=void 0===c?0:c;switch(a.Aa){case 8:a=E(b,0<c?(c+2)/3|0:0);break;case 10:a=Ma(b,0<c?Math.ceil(.3*c):0);break;default:a=F(b,0<c?c+3>>2:0)}0>c?c=a.replace(/^0+([0-9A-F]+)$/i,"$1"):c=a;return c}var Cj={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
function Fj(a){wj.call(this,a);this.Ga=!1;this.ia=!0;this.G=X();this.Fa=X();this.N=X();this.B=[];this.b=this.L=this.C=[];Gj(this);this.P=this.Y=0;this.i=[];this.pa=void 0;Hj(this);this.F=this;this.ka={};this.ha=this.ke=0;this.R=null;this.M=[];Ij(this,a.messages);this.ta=a.commands;this.Ja=Jj;this.W=[];this.I=0;this.Ka=this.sa=null;this.w=this.Ia=this.Ha=this.X=this.la=0;this.g=this.U=null;var b=this;window?void 0===window[w]&&(window[w]=function(a){return ke(b,a)}):void 0===global[w]&&(global[w]= function Fj(a){wj.call(this,a);this.Ga=!1;this.ia=!0;this.G=X();this.Fa=X();this.N=X();this.B=[];this.b=this.L=this.C=[];Gj(this);this.P=this.Y=0;this.i=[];this.pa=void 0;Hj(this);this.F=this;this.ka={};this.ha=this.ke=0;this.R=null;this.M=[];Ij(this,a.messages);this.ta=a.commands;this.Ja=Jj;this.W=[];this.I=0;this.Ka=this.sa=null;this.w=this.Ia=this.Ha=this.X=this.la=0;this.g=this.U=null;var b=this;window?void 0===window[w]&&(window[w]=function(a){return ke(b,a)}):void 0===global[w]&&(global[w]=
function(a){return ke(b,a)})}p(Fj,wj);function Kj(a){a=a&&a.K;null==a&&(a=-1);return a}function X(a,b,c){return{K:void 0===a?null:a,Ma:void 0===b?!1:b,Ua:!1,Aa:c}}h=Fj.prototype;h.Gd=function(a,b){a.K=b;a.Ua=!1;a.Aa=void 0;return a};function Lj(a){return[a.K,a.Ma,a.Aa,a.Ua,a.Pc]}function Mj(a,b){var c=X(b[0],b[1],b[2]);c.Ua=b[3];b[4]&&(c.he=xj(a,c.Pc=b[4]));return c} function(a){return ke(b,a)})}p(Fj,wj);function Kj(a){a=a&&a.K;null==a&&(a=-1);return a}function X(a,b,c){return{K:void 0===a?null:a,Ma:void 0===b?!1:b,Ua:!1,Aa:c}}h=Fj.prototype;h.Gd=function(a,b){a.K=b;a.Ua=!1;a.Aa=void 0;return a};function Lj(a){return[a.K,a.Ma,a.Aa,a.Ua,a.Pc]}function Mj(a,b){var c=X(b[0],b[1],b[2]);c.Ua=b[3];b[4]&&(c.he=xj(a,c.Pc=b[4]));return c}
h.za=function(a,b,c,d){this.D=b;this.J=a;this.f=c;this.g=a.i;(a=fe(a,"messages"))&&Ij(this,a);1140>this.f.ka&&(this.W=this.W.concat(Nj));1145>this.f.ka&&(this.W=this.W.concat(Oj));qd(this,16,function(a){a:{var b=d.D.b,c=a[0],e=a=0,l=b.length;if(c){a=Kj(Pj(d,c));if(-1===a){d.v("invalid address: "+c);break a}e=a>>>d.D.g;l=1}d.v("blockid physical blockaddr used size type");d.v("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;l--;){var n=b[e];n.type==c?m++||d.v("..."): h.za=function(a,b,c,d){this.D=b;this.J=a;this.f=c;this.g=a.i;(a=fe(a,"messages"))&&Ij(this,a);1140>this.f.ka&&(this.W=this.W.concat(Nj));1145>this.f.ka&&(this.W=this.W.concat(Oj));qd(this,16,function(a){a:{var b=d.D.b,c=a[0],e=a=0,l=b.length;if(c){a=Kj(Pj(d,c));if(-1===a){d.v("invalid address: "+c);break a}e=a>>>d.D.g;l=1}d.v("blockid physical blockaddr used size type");d.v("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;l--;){var n=b[e];n.type==c?m++||d.v("..."):
@ -308,7 +308,7 @@ h.Ad=function(a){var b;if(0<=a)if(8>a)b=this.f.g[a];else if(16>a)b=this.f.ta[a-8
h.message=function(a,b){b&&(a+=" @"+Sj(this,X(this.f.O&65535)));if(!this.R||a!=this.R)if(this.R=a,this.ha&1073741824)this.M.push(a);else{var c;if(this.ha&-2147483648&&this.f&&(c=this.f.A.V)||Ha(this,!0))this.ba(),c&&(a+=" (cpu halted)");this.v(a);this.f&&(a=this.f,qe(a),a.Ab=0,a.J&&H(a.J,void 0))}}; h.message=function(a,b){b&&(a+=" @"+Sj(this,X(this.f.O&65535)));if(!this.R||a!=this.R)if(this.R=a,this.ha&1073741824)this.M.push(a);else{var c;if(this.ha&-2147483648&&this.f&&(c=this.f.A.V)||Ha(this,!0))this.ba(),c&&(a+=" (cpu halted)");this.v(a);this.f&&(a=this.f,qe(a),a.Ab=0,a.J&&H(a.J,void 0))}};
function Hj(a){var b;if(!af(a))a.i&&a.i.length&&a.v("instruction history buffer freed"),a.P=0,a.i=[];else if(!a.i||!a.i.length){a.i=Array(hk);for(b=0;b<a.i.length;b++)a.i[b]=X();a.P=0;a.v("instruction history buffer allocated")}}function ik(a,b,c){if(!jk(a,c))return!1;tc(a.f,b);return!0} function Hj(a){var b;if(!af(a))a.i&&a.i.length&&a.v("instruction history buffer freed"),a.P=0,a.i=[];else if(!a.i||!a.i.length){a.i=Array(hk);for(b=0;b<a.i.length;b++)a.i[b]=X();a.P=0;a.v("instruction history buffer allocated")}}function ik(a,b,c){if(!jk(a,c))return!1;tc(a.f,b);return!0}
function uc(a,b,c,d){if(!jk(a))return!1;var e="";null===c&&(e=(c=!a.sa||"tr"==a.sa)?"tr":"t");a.w=0;b||af(a)&&bf(a,a.f.g[7],0);try{b=re(a.f,b);var f=a.f.Cc(b);0<f&&(vc(a.f,f),a.w+=f,wc(a.f,f,!0),xc(a.f,f),a.X++)}catch(g){"number"!=typeof g&&(a.w=0,Ea(a.f,g.stack||g.message))}!1!==d&&(a.g&&a.g.stop(),H(a.J,-1));ie(a,c||!1,e);return 0<a.w}h.ba=function(a){this.f&&this.f.ba(a)}; function uc(a,b,c,d){if(!jk(a))return!1;var e="";null===c&&(e=(c=!a.sa||"tr"==a.sa)?"tr":"t");a.w=0;b||af(a)&&bf(a,a.f.g[7],0);try{b=re(a.f,b);var f=a.f.Cc(b);0<f&&(vc(a.f,f),a.w+=f,wc(a.f,f,!0),xc(a.f,f),a.X++)}catch(g){"number"!=typeof g&&(a.w=0,Ea(a.f,g.stack||g.message))}!1!==d&&(a.g&&a.g.stop(),H(a.J,-1));ie(a,c||!1,e);return 0<a.w}h.ba=function(a){this.f&&this.f.ba(a)};
function ie(a,b,c){if(a.Ga){void 0===b&&(b=!0);c&&a.v(kk+c);c=a.f;if(c=c.i&128?c.Dc|c.Ac<<8:0){var d=c>>8;a.v("trapped to "+K(a,c&255,1)+" ("+(0>d?Lb[-d]:K(a,d))+")")}a.G=X(a.f.g[7]);b&&1!=a.I?lk(a):mk(a)}}function jk(a,b){var c;(c=!a.f||!Ga(a.f))||(c=a.f,c.A.aa?c=!0:(c.v(c.toString()+" not powered"),c=!1),c=!c);return c||a.f.A.V?(b||a.v("cpu busy or unavailable, command ignored"),!1):!Fa(a.f)}h.Ca=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0}; function ie(a,b,c){if(a.Ga){void 0===b&&(b=!0);c&&a.v(kk+c);c=a.f;if(c=c.i&128?c.Dc|c.Ac<<8:0){var d=c>>8;a.v("trapped to "+K(a,c&255,8)+" ("+(0>d?Lb[-d]:K(a,d))+")")}a.G=X(a.f.g[7]);b&&1!=a.I?lk(a):mk(a)}}function jk(a,b){var c;(c=!a.f||!Ga(a.f))||(c=a.f,c.A.aa?c=!0:(c.v(c.toString()+" not powered"),c=!1),c=!c);return c||a.f.A.V?(b||a.v("cpu busy or unavailable, command ignored"),!1):!Fa(a.f)}h.Ca=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0};
h.Ba=function(a,b){b&&this.v(a?"suspending":"shutting down");return a?this.save():!0};h.reset=function(a){Hj(this);this.X=0;this.R=null;this.w=0;this.G=X(this.f.g[7]);this.A.V=!1;nk(this);a||ie(this)};h.save=function(){var a=new G(this);a.set(0,Lj(this.G));a.set(1,Lj(this.N));a.set(2,[this.j,this.O,this.ha]);a.set(3,this.B);return a.data()}; h.Ba=function(a,b){b&&this.v(a?"suspending":"shutting down");return a?this.save():!0};h.reset=function(a){Hj(this);this.X=0;this.R=null;this.w=0;this.G=X(this.f.g[7]);this.A.V=!1;nk(this);a||ie(this)};h.save=function(){var a=new G(this);a.set(0,Lj(this.G));a.set(1,Lj(this.N));a.set(2,[this.j,this.O,this.ha]);a.set(3,this.B);return a.data()};
h.restore=function(a){var b=0;void 0!==a[2]&&(this.G=Mj(this,a[b++]),this.N=Mj(this,a[b++]),this.j=a[b][0],"string"==typeof this.j&&(this.j=[this.j]),this.O=a[b][1],this.ha|=a[b][2]);a[3]&&(this.B=a[3]);return!0};h.start=function(a,b){this.I||this.v("running");this.A.V=!0;this.Ha=a;this.Ia=b}; h.restore=function(a){var b=0;void 0!==a[2]&&(this.G=Mj(this,a[b++]),this.N=Mj(this,a[b++]),this.j=a[b][0],"string"==typeof this.j&&(this.j=[this.j]),this.O=a[b][1],this.ha|=a[b][2]);a[3]&&(this.B=a[3]);return!0};h.start=function(a,b){this.I||this.v("running");this.A.V=!0;this.Ha=a;this.Ia=b};
h.stop=function(a,b){if(this.A.V){this.A.V=!1;this.w=b-this.Ia;if(!this.I){b="stopped";if(this.w){a-=this.Ha;var c=0<a?Math.round(1E3*this.w/a):0;b+=" (";af(this)&&(b+=this.X+" instructions, ",this.X=0);b+=this.w+" cycles, "+a+" ms, "+c+" hz)"}else z(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.v(b)}ie(this,!0);je(this);nk(this,this.f.g[7]);this.R=null}};function af(a){return 1<a.b.length||!!a.Y} h.stop=function(a,b){if(this.A.V){this.A.V=!1;this.w=b-this.Ia;if(!this.I){b="stopped";if(this.w){a-=this.Ha;var c=0<a?Math.round(1E3*this.w/a):0;b+=" (";af(this)&&(b+=this.X+" instructions, ",this.X=0);b+=this.w+" cycles, "+a+" ms, "+c+" hz)"}else z(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.v(b)}ie(this,!0);je(this);nk(this,this.f.g[7]);this.R=null}};function af(a){return 1<a.b.length||!!a.Y}
@ -318,9 +318,9 @@ h.Bb=function(a,b,c){var d=!0;c||pk(this,a,b,!1,!0);if(a!=this.b){var e=Kj(b);if
function pk(a,b,c,d,e){var f=!1;c=Kj(c);for(var g=1;g<b.length;g++){var k=b[g];if(c==Kj(k)&&(!d||k.Ua)){f=!0;k.Ua||e||qk(a,b,g,"cleared");b.splice(g,1);b!=a.b&&(b=b==a.C,k.Ma?(d=a.D,Zd(d.b[c>>>d.g],b)):Qe(a.f,b));k.Ua||Hj(a);break}}return f}function rk(a,b){for(var c=1;c<b.length;c++)qk(a,b,c);return b.length-1}function qk(a,b,c,d){c=b[c];a.v(b[0]+" "+Sj(a,c)+(d?" "+d:c.Pc?' "'+c.Pc+'"':""))} function pk(a,b,c,d,e){var f=!1;c=Kj(c);for(var g=1;g<b.length;g++){var k=b[g];if(c==Kj(k)&&(!d||k.Ua)){f=!0;k.Ua||e||qk(a,b,g,"cleared");b.splice(g,1);b!=a.b&&(b=b==a.C,k.Ma?(d=a.D,Zd(d.b[c>>>d.g],b)):Qe(a.f,b));k.Ua||Hj(a);break}}return f}function rk(a,b){for(var c=1;c<b.length;c++)qk(a,b,c);return b.length-1}function qk(a,b,c,d){c=b[c];a.v(b[0]+" "+Sj(a,c)+(d?" "+d:c.Pc?' "'+c.Pc+'"':""))}
function nk(a,b){if(void 0!==b)ok(a,b,1,a.b,!0),a.I=0;else for(b=1;b<a.b.length;b++){var c=a.b[b];if(c.Ua){if(!pk(a,a.b,c,!0))break;b=0}}} function nk(a,b){if(void 0!==b)ok(a,b,1,a.b,!0),a.I=0;else for(b=1;b<a.b.length;b++){var c=a.b[b];if(c.Ua){if(!pk(a,a.b,c,!0))break;b=0}}}
function ok(a,b,c,d,e){var f=!1;if(!a.la++)for(var g=1;!f&&g<d.length;g++){var k=d[g];if(!e||k.Ua)for(var l=Kj(k)&(d==a.b?65535:-1),m=0;m<c;m++)if(b+m==l){var n,f=!0;k.Ua&&(pk(a,d,k,!0),e=!0);if(n=k.he){for(var f=!1,q=0;q<n.length;q++)if(!sk(a,n[q],!0)){if(n[q].indexOf("if")){f=!0;break}for(var t=q+1;t<n.length&&n[t].indexOf("else");t++)q++;if(t==n.length){f=!0;break}}a.f.A.V||(f=!0)}if(f){e||qk(a,d,g,"hit");break}}}a.la--;return f} function ok(a,b,c,d,e){var f=!1;if(!a.la++)for(var g=1;!f&&g<d.length;g++){var k=d[g];if(!e||k.Ua)for(var l=Kj(k)&(d==a.b?65535:-1),m=0;m<c;m++)if(b+m==l){var n,f=!0;k.Ua&&(pk(a,d,k,!0),e=!0);if(n=k.he){for(var f=!1,q=0;q<n.length;q++)if(!sk(a,n[q],!0)){if(n[q].indexOf("if")){f=!0;break}for(var t=q+1;t<n.length&&n[t].indexOf("else");t++)q++;if(t==n.length){f=!0;break}}a.f.A.V||(f=!0)}if(f){e||qk(a,d,g,"hit");break}}}a.la--;return f}
function tk(a,b,c,d){var e=X(b.K),f=a.Ra(b,2),g,k;for(k in a.Ja)if(g=a.Ja[k][f&k])break;g||(g=uk);var l=g[0];0<=a.W.indexOf(l)&&(g=uk,l=g[0]);var m=k="",n=vk[l],q=g.length-1;l||q||(k=K(a,f));for(l=1;l<=q;l++){var t=g[l];if(void 0!==t){var r;r=a;var D=t,t=b,A="",B=D&wk;if(B==Y)t=t.K+((f&255)<<24>>23)&65535,A=K(r,t);else if(B==xk)t=t.K-((f&63)<<1)&65535,A=K(r,t);else if(B==yk)A=K(r,f&7,1);else if(B==zk)A=K(r,f&63,1);else if(B==Ak)A=K(r,f&255,1);else if(B=f&D,D&Bk&&(B>>=6,D>>=6),D&Z){var D=null,J=B& function tk(a,b,c,d){var e=X(b.K),f=a.Ra(b,2),g,k;for(k in a.Ja)if(g=a.Ja[k][f&k])break;g||(g=uk);var l=g[0];0<=a.W.indexOf(l)&&(g=uk,l=g[0]);var m=k="",n=vk[l],q=g.length-1;l||q||(k=K(a,f));for(l=1;l<=q;l++){var t=g[l];if(void 0!==t){var r;r=a;var D=t,t=b,A="",B=D&wk;if(B==Y)t=t.K+((f&255)<<24>>23)&65535,A=K(r,t);else if(B==xk)t=t.K-((f&63)<<1)&65535,A=K(r,t);else if(B==yk)A=K(r,f&7,3);else if(B==zk)A=K(r,f&63,6);else if(B==Ak)A=K(r,f&255,8);else if(B=f&D,D&Bk&&(B>>=6,D>>=6),D&Z){var D=null,J=B&
Ck;switch(B&Dk){case 0:A=Uj(r,J);break;case 8:A="@"+Uj(r,J);D=Ek(r,r.f.g[J]);break;case 16:7>J?A="("+Uj(r,J)+")+":(B=r.Ra(t,2),A="#"+K(r,B,0,!0));break;case 24:7>J?A="@("+Uj(r,J)+")+":(B=r.Ra(t,2),A="@#"+K(r,B,0,!0),D=Ek(r,B));break;case 32:A="-("+Uj(r,J)+")";break;case 40:A="@-("+Uj(r,J)+")";break;case 48:B=r.Ra(t,2);A=K(r,B,0,!0)+"("+Uj(r,J)+")";7==J&&(A=K(r,B=B+t.K&65535),D=Ek(r,B));break;case 56:B=r.Ra(t,2),A="@"+K(r,B)+"("+Uj(r,J)+")",7==J&&(A="@"+K(r,B=B+t.K&65535),D=Ek(r,Cc(r.f,B)))}D&&(A= Ck;switch(B&Dk){case 0:A=Uj(r,J);break;case 8:A="@"+Uj(r,J);D=Ek(r,r.f.g[J]);break;case 16:7>J?A="("+Uj(r,J)+")+":(B=r.Ra(t,2),A="#"+K(r,B,-1));break;case 24:7>J?A="@("+Uj(r,J)+")+":(B=r.Ra(t,2),A="@#"+K(r,B,-1),D=Ek(r,B));break;case 32:A="-("+Uj(r,J)+")";break;case 40:A="@-("+Uj(r,J)+")";break;case 48:B=r.Ra(t,2);A=K(r,B,-1)+"("+Uj(r,J)+")";7==J&&(A=K(r,B=B+t.K&65535),D=Ek(r,B));break;case 56:B=r.Ra(t,2),A="@"+K(r,B)+"("+Uj(r,J)+")",7==J&&(A="@"+K(r,B=B+t.K&65535),D=Ek(r,Cc(r.f,B)))}D&&(A=[A,D])}r=
[A,D])}r=A;if(!r||!r.length){k="INVALID";break}"string"!=typeof r&&(m=r[1],r=r[0]);0<k.length&&(k+=",");k+=r||"???"}}f="";g=Sj(a,e)+":";if(-1!==e.K&&-1!==b.K){do if(f+=" "+K(a,a.Ra(e,2)),null==e.K)break;while(e.K!=b.K)}g+=Xa(f,24);g+=Xa(n,5);k&&(g+=" "+k);if(c||m)g=Xa(g,60)+";"+(c||""),g=a.f.A.Nb?g+("cycles="+le(a.f).toString()+" cs="+F(a.f.oc)):g+(null!=d?"="+d.toString():""),m&&(";"!=g.slice(-1)&&(g+=" "),g+=m);return g} A;if(!r||!r.length){k="INVALID";break}"string"!=typeof r&&(m=r[1],r=r[0]);0<k.length&&(k+=",");k+=r||"???"}}f="";g=Sj(a,e)+":";if(-1!==e.K&&-1!==b.K){do if(f+=" "+K(a,a.Ra(e,2)),null==e.K)break;while(e.K!=b.K)}g+=Xa(f,24);g+=Xa(n,5);k&&(g+=" "+k);if(c||m)g=Xa(g,60)+";"+(c||""),g=a.f.A.Nb?g+("cycles="+le(a.f).toString()+" cs="+F(a.f.oc)):g+(null!=d?"="+d.toString():""),m&&(";"!=g.slice(-1)&&(g+=" "),g+=m);return g}
function Ek(a,b){b=Oe(a.f,b)[0];b>=a.f.ub&&b<a.D.B&&(b=b-a.f.ub+a.D.B);var c=a.D;a=null;b>=c.B&&(b=c.Pa[b&jd])&&(a=b[4]);return a}function Fk(a,b){switch(b){case "N":a=De(a.f);break;case "Z":a=Ce(a.f);break;case "V":a=Be(a.f);break;case "C":a=Ae(a.f);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}function Gk(a,b){var c=Uj(a,b);c&&(c+="="+K(a,a.Ad(b))+" ");return c} function Ek(a,b){b=Oe(a.f,b)[0];b>=a.f.ub&&b<a.D.B&&(b=b-a.f.ub+a.D.B);var c=a.D;a=null;b>=c.B&&(b=c.Pa[b&jd])&&(a=b[4]);return a}function Fk(a,b){switch(b){case "N":a=De(a.f);break;case "Z":a=Ce(a.f);break;case "V":a=Be(a.f);break;case "C":a=Ae(a.f);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}function Gk(a,b){var c=Uj(a,b);c&&(c+="="+K(a,a.Ad(b))+" ");return c}
function Hk(a,b){var c,d="";for(c=0;6>c;c++)d+=Gk(a,c);d=d+"\n"+(Gk(a,6)+Gk(a,7));d+=Gk(a,Xj)+Gk(a,Yj)+Gk(a,ak);d+=Fk(a,"T")+Fk(a,"N")+Fk(a,"Z")+Fk(a,"V")+Fk(a,"C");b&&(b=d,c=""+(Gk(a,bk)+Gk(a,ck)),c+=Gk(a,dk)+Gk(a,ek)+Gk(a,Zj),c=c+"\n"+(Gk(a,gk)+Gk(a,Vj)+Gk(a,fk)),d=b+("\n"+c));return d}h.me=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0}; function Hk(a,b){var c,d="";for(c=0;6>c;c++)d+=Gk(a,c);d=d+"\n"+(Gk(a,6)+Gk(a,7));d+=Gk(a,Xj)+Gk(a,Yj)+Gk(a,ak);d+=Fk(a,"T")+Fk(a,"N")+Fk(a,"Z")+Fk(a,"V")+Fk(a,"C");b&&(b=d,c=""+(Gk(a,bk)+Gk(a,ck)),c+=Gk(a,dk)+Gk(a,ek)+Gk(a,Zj),c=c+"\n"+(Gk(a,gk)+Gk(a,Vj)+Gk(a,fk)),d=b+("\n"+c));return d}h.me=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
function Ch(a,b,c,d,e){var f=[],g;for(g in e){var k=e[g];"number"==typeof k&&(e[g]=k={o:k});var l=k.o,m=k.a;if(void 0!==l){var n=f,l=[l>>>0,g],q=$a(n,l,a.me);0>q&&n.splice(-(q+1),0,l)}m&&(k.a=m.replace(/''/g,'"'))}a.B.push({Gk:b,K:c,Lf:d,ga:e,ie:f})}function Ik(a,b,c){var d=[],e=Kj(b)>>>0;for(b=0;b<a.B.length;b++){var f=a.B[b],g=f.K>>>0,k=f.Lf;if(e>=g&&e<g+k){e=$a(f.ie,[e-g],a.me);0<=e?Jk(a,b,e,d):c&&(e=~e,Jk(a,b,e-1,d),Jk(a,b,e,d));break}}return d} function Ch(a,b,c,d,e){var f=[],g;for(g in e){var k=e[g];"number"==typeof k&&(e[g]=k={o:k});var l=k.o,m=k.a;if(void 0!==l){var n=f,l=[l>>>0,g],q=$a(n,l,a.me);0>q&&n.splice(-(q+1),0,l)}m&&(k.a=m.replace(/''/g,'"'))}a.B.push({Gk:b,K:c,Lf:d,ga:e,ie:f})}function Ik(a,b,c){var d=[],e=Kj(b)>>>0;for(b=0;b<a.B.length;b++){var f=a.B[b],g=f.K>>>0,k=f.Lf;if(e>=g&&e<g+k){e=$a(f.ie,[e-g],a.me);0<=e?Jk(a,b,e,d):c&&(e=~e,Jk(a,b,e-1,d),Jk(a,b,e,d));break}}return d}
@ -335,20 +335,20 @@ function sk(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.v(kk+b):(a.O&&(a.v("ende
Pj(a,g[1],!0);if(q)if(a.N=q,void 0===g[2])a.v("begin assemble at "+Sj(a,q)),a.O=!0,H(a.J);else{var t;a.v("not supported yet");t=[];if(t.length){for(var r=0;r<t.length;r++)a.Pd(q,t[r],1);a.v(tk(a,a.N))}}break;case "b":a:{var D=g[0],A=g[1],B=b;if("?"==A)a.v("breakpoint commands:"),a.v("\tbp #\tset exec breakpoint"),a.v("\tbr #\tset read breakpoint"),a.v("\tbw #\tset write breakpoint"),a.v("\tbc #\tclear breakpoint (* to clear all)"),a.v("\tbl\tlist all breakpoints"),a.v("\tbn [#]\tbreak after # instruction(s)"); Pj(a,g[1],!0);if(q)if(a.N=q,void 0===g[2])a.v("begin assemble at "+Sj(a,q)),a.O=!0,H(a.J);else{var t;a.v("not supported yet");t=[];if(t.length){for(var r=0;r<t.length;r++)a.Pd(q,t[r],1);a.v(tk(a,a.N))}}break;case "b":a:{var D=g[0],A=g[1],B=b;if("?"==A)a.v("breakpoint commands:"),a.v("\tbp #\tset exec breakpoint"),a.v("\tbr #\tset read breakpoint"),a.v("\tbw #\tset write breakpoint"),a.v("\tbc #\tclear breakpoint (* to clear all)"),a.v("\tbl\tlist all breakpoints"),a.v("\tbn [#]\tbreak after # instruction(s)");
else{var J=D.charAt(1);if("l"==J){var vb;vb=0+rk(a,a.b);vb+=rk(a,a.L);(vb+=rk(a,a.C))||a.v("no breakpoints")}else if("n"==J){var Cd=+A||0;A&&(a.Y=Cd);a.v("break after "+Cd+" instruction(s)")}else if(void 0===A)a.v("missing breakpoint address");else{var sa=X();if("*"!=A&&(sa=Pj(a,A,!0),!sa))break a;"c"==J?null==sa.K?(Gj(a),a.v("all breakpoints cleared")):pk(a,a.b,sa)||pk(a,a.L,sa)||pk(a,a.C,sa)||a.v("breakpoint missing: "+Sj(a,sa)):null!=sa.K&&(Rj(a,sa,B),"p"==J?a.Bb(a.b,sa):"r"==J?a.Bb(a.L,sa):"w"== else{var J=D.charAt(1);if("l"==J){var vb;vb=0+rk(a,a.b);vb+=rk(a,a.L);(vb+=rk(a,a.C))||a.v("no breakpoints")}else if("n"==J){var Cd=+A||0;A&&(a.Y=Cd);a.v("break after "+Cd+" instruction(s)")}else if(void 0===A)a.v("missing breakpoint address");else{var sa=X();if("*"!=A&&(sa=Pj(a,A,!0),!sa))break a;"c"==J?null==sa.K?(Gj(a),a.v("all breakpoints cleared")):pk(a,a.b,sa)||pk(a,a.L,sa)||pk(a,a.C,sa)||a.v("breakpoint missing: "+Sj(a,sa)):null!=sa.K&&(Rj(a,sa,B),"p"==J?a.Bb(a.b,sa):"r"==J?a.Bb(a.L,sa):"w"==
J?a.Bb(a.C,sa):a.v("unknown breakpoint command: "+J))}}}break;case "c":a.Ta&&(a.Ta.value="");break;case "d":a:{var Yb,jb=g[0],Ta=g[1],kb=g[2],ml=g[3];if("?"==Ta){var Zb="";for(Yb in Qb)a.ka[Yb]&&(Zb&&(Zb+=","),Zb+=Yb);Zb+=",state,symbols";a.v("dump memory commands:");a.v("\tda [a] dump info for address a");a.v("\tdb [a] [n] dump n bytes at address a");a.v("\tdw [a] [n] dump n words at address a");a.v("\tdd [a] [n] dump n dwords at address a");a.v("\tds [a] [n] dump n words at address a as JSON"); J?a.Bb(a.C,sa):a.v("unknown breakpoint command: "+J))}}}break;case "c":a.Ta&&(a.Ta.value="");break;case "d":a:{var Yb,jb=g[0],Ta=g[1],kb=g[2],ml=g[3];if("?"==Ta){var Zb="";for(Yb in Qb)a.ka[Yb]&&(Zb&&(Zb+=","),Zb+=Yb);Zb+=",state,symbols";a.v("dump memory commands:");a.v("\tda [a] dump info for address a");a.v("\tdb [a] [n] dump n bytes at address a");a.v("\tdw [a] [n] dump n words at address a");a.v("\tdd [a] [n] dump n dwords at address a");a.v("\tds [a] [n] dump n words at address a as JSON");
a.v("\tdh [p] [n] dump n instructions from history position p");Zb.length&&a.v("dump extension commands:\n\t"+Zb)}else if("state"==Ta){var cf=Ok(a.J,!0);"console"==kb?console.log(cf):(a.Ta&&(a.Ta.value=""),cf&&a.v(cf))}else if("symbols"==Ta)for(var df=0;df<a.B.length;df++){var ef=a.B[df],$b;for($b in ef.ga)if("."!=$b.charAt(0)){var ui=ef.ga[$b].o;if(void 0!==ui){var vi=ef.ga[$b].l;vi&&($b=vi);a.v(K(a,ui)+" "+$b)}}}else{if("d"==jb){for(Yb in Qb)if(g[1]==Yb){var wi=a.ka[Yb];wi?(g.shift(),g.shift(), a.v("\tdh [p] [n] dump n instructions from history position p");Zb.length&&a.v("dump extension commands:\n\t"+Zb)}else if("state"==Ta){var df=Ok(a.J,!0);"console"==kb?console.log(df):(a.Ta&&(a.Ta.value=""),df&&a.v(df))}else if("symbols"==Ta)for(var ef=0;ef<a.B.length;ef++){var ff=a.B[ef],$b;for($b in ff.ga)if("."!=$b.charAt(0)){var ui=ff.ga[$b].o;if(void 0!==ui){var vi=ff.ga[$b].l;vi&&($b=vi);a.v(K(a,ui)+" "+$b)}}}else{if("d"==jb){for(Yb in Qb)if(g[1]==Yb){var wi=a.ka[Yb];wi?(g.shift(),g.shift(),
wi(g)):a.v("no dump registered for "+Ta);break a}Ta||(jb=a.Ka||"dw")}else a.Ka=jb;if("dh"==jb){var xi=Ta,yi=kb,zi="",Ai=0,Ia=a.P,Ua=a.i;if(Ua.length){var Ca=+xi||a.pa,Lc=+yi||10;isNaN(Ca)?Ca=Lc:zi="more ";Ca>Ua.length&&(a.v("note: only "+Ua.length+" available"),Ca=Ua.length);Ia-=Ca;0>Ia&&(null==Ua[Ua.length-1].K?(Ca=Ia+Ca,Ia=0):Ia+=Ua.length);var ff=[];"call"==yi&&(Lc=1E5,ff=["CALL"]);for(void 0!==xi&&a.v(Ca+" instructions earlier:");0<Lc&&Ia!=a.P;){var Bi=Ua[Ia++];if(null==Bi.K)break;var Mc=X(Bi.K), wi(g)):a.v("no dump registered for "+Ta);break a}Ta||(jb=a.Ka||"dw")}else a.Ka=jb;if("dh"==jb){var xi=Ta,yi=kb,zi="",Ai=0,Ia=a.P,Ua=a.i;if(Ua.length){var Ca=+xi||a.pa,Lc=+yi||10;isNaN(Ca)?Ca=Lc:zi="more ";Ca>Ua.length&&(a.v("note: only "+Ua.length+" available"),Ca=Ua.length);Ia-=Ca;0>Ia&&(null==Ua[Ua.length-1].K?(Ca=Ia+Ca,Ia=0):Ia+=Ua.length);var gf=[];"call"==yi&&(Lc=1E5,gf=["CALL"]);for(void 0!==xi&&a.v(Ca+" instructions earlier:");0<Lc&&Ia!=a.P;){var Bi=Ua[Ia++];if(null==Bi.K)break;var Mc=X(Bi.K),
nl=Ca--,Ci=tk(a,Mc,"history",nl);(!ff.length||0<=Ci.indexOf(ff[0]))&&a.v(Ci);Mc.xd&&(Ia+=Mc.xd,Lc-=Mc.xd,Ca-=Mc.xd);Ia>=Ua.length&&(Ia=0);a.pa=Ca;Ai++;Lc--}}Ai||(a.v("no "+zi+"history available"),a.pa=void 0)}else{var oa=Pj(a,Ta);if(oa)if("da"==jb){var gf=oa.Ma||65535<oa.K,O=Oe(a.f,oa.K||0,gf);a.v(Xa("",gf?12:19)+La(oa.K,gf?22:17,3)+" "+E(oa.K,8));6>O.length?(2<O.length&&(a.v(" OFFSET: "+La(O[3],13,3)+" "+E(O[3],8)),a.v("UNIMAP["+Ma(O[1])+"]: "+La(O[2],22,3)+" "+E(O[2],8))),a.v(" PHYSICAL: "+ nl=Ca--,Ci=tk(a,Mc,"history",nl);(!gf.length||0<=Ci.indexOf(gf[0]))&&a.v(Ci);Mc.xd&&(Ia+=Mc.xd,Lc-=Mc.xd,Ca-=Mc.xd);Ia>=Ua.length&&(Ia=0);a.pa=Ca;Ai++;Lc--}}Ai||(a.v("no "+zi+"history available"),a.pa=void 0)}else{var oa=Pj(a,Ta);if(oa)if("da"==jb){var hf=oa.Ma||65535<oa.K,O=Oe(a.f,oa.K||0,hf);a.v(Xa("",hf?12:19)+La(oa.K,hf?22:17,3)+" "+E(oa.K,8));6>O.length?(2<O.length&&(a.v(" OFFSET: "+La(O[3],13,3)+" "+E(O[3],8)),a.v("UNIMAP["+Ma(O[1],2)+"]: "+La(O[2],22,3)+" "+E(O[2],8))),a.v(" PHYSICAL: "+
La(O[0],22,3)+" "+E(O[0],8))):(a.v(" OFFSET: "+La(O[1],13,3)+" "+E(O[1],8)),a.v("+ "+Pk[O[2]]+"PAR"+O[3]+": "+La(O[4],22,3)+" "+E(O[4],8)),a.v("& MMUMASK: "+La(O[5],22,3)+" "+E(O[5],8)),a.v("= PHYSICAL: "+La(O[0],22,3)+" "+E(O[0],8)))}else{var xb=0,hf="ds"==jb;if(kb){if("l"==kb.charAt(0))kb=kb.substr(1)||ml,xb=Bj(a,kb);else{var Di=Pj(a,kb);Di&&(xb=Di.K-oa.K)}0>xb&&(xb=0);65536<xb&&(xb=65536)}var pl=a.Aa;oa.Aa&&(a.Aa=oa.Aa);for(var yb="dd"==jb?4:"db"==jb?1:2,Ld=yb*xb||128,jf= La(O[0],22,3)+" "+E(O[0],8))):(a.v(" OFFSET: "+La(O[1],13,3)+" "+E(O[1],8)),a.v("+ "+Pk[O[2]]+"PAR"+O[3]+": "+La(O[4],22,3)+" "+E(O[4],8)),a.v("& MMUMASK: "+La(O[5],22,3)+" "+E(O[5],8)),a.v("= PHYSICAL: "+La(O[0],22,3)+" "+E(O[0],8)))}else{var xb=0,jf="ds"==jb;if(kb){if("l"==kb.charAt(0))kb=kb.substr(1)||ml,xb=Bj(a,kb);else{var Di=Pj(a,kb);Di&&(xb=Di.K-oa.K)}0>xb&&(xb=0);65536<xb&&(xb=65536)}var pl=a.Aa;oa.Aa&&(a.Aa=oa.Aa);for(var yb="dd"==jb?4:"db"==jb?1:2,Ld=yb*xb||128,kf=
hf?16:a.Aa,ql=(Ld+jf-1)/jf|0||1,zb="";ql--&&0<Ld;){for(var Ab="",kf="",Ta=Sj(a,oa),Md=jf,Nc=0,Oc=0;0<Md&&0<Ld;){var ac=1,Nd=1==yb?a.Od(oa,ac):a.Ra(oa,ac=2),Nc=Nc|Nd<<(Oc<<3),Oc=Oc+ac;Oc==yb&&(hf?(Ab&&(Ab+=","),Ab+="0x"+F(Nc,2*yb)):(Ab+=K(a,Nc,yb),Ab+=1==yb?9==Md?"-":" ":" "),Nc=Oc=0);Md-=ac;for(Ld-=ac;1==yb&&ac--;)var lf=Nd&255,kf=kf+(32<=lf&&128>lf?String.fromCharCode(lf):"."),Nd=Nd>>8}zb&&(zb+="\n");zb=hf?zb+(Ab+","):zb+(Ta+": "+Ab+(Md?"":" "+kf))}zb&&a.v(zb);a.Fa=oa;a.Aa=pl}}}}break;case "e":if("else"== jf?16:a.Aa,ql=(Ld+kf-1)/kf|0||1,zb="";ql--&&0<Ld;){for(var Ab="",lf="",Ta=Sj(a,oa),Md=kf,Nc=0,Oc=0;0<Md&&0<Ld;){var ac=1,Nd=1==yb?a.Od(oa,ac):a.Ra(oa,ac=2),Nc=Nc|Nd<<(Oc<<3),Oc=Oc+ac;Oc==yb&&(jf?(Ab&&(Ab+=","),Ab+="0x"+F(Nc,yb<<1)):(Ab+=K(a,Nc,yb<<3),Ab+=1==yb?9==Md?"-":" ":" "),Nc=Oc=0);Md-=ac;for(Ld-=ac;1==yb&&ac--;)var mf=Nd&255,lf=lf+(32<=mf&&128>mf?String.fromCharCode(mf):"."),Nd=Nd>>8}zb&&(zb+="\n");zb=jf?zb+(Ab+","):zb+(Ta+": "+Ab+(Md?"":" "+lf))}zb&&a.v(zb);a.Fa=oa;a.Aa=pl}}}}break;case "e":if("else"==
g[0])break;var bc,mf,nf,of,pf=g[0],qf=g[1];"eb"==pf?(bc=1,mf=255,nf=a.Od,of=a.Pd):"e"==pf||"ew"==pf?(bc=2,mf=65535,nf=a.Ra,of=a.Le):qf=null;if(null==qf)a.v("edit memory commands:"),a.v("\teb [a] [...] edit bytes at address a"),a.v("\tew [a] [...] edit words at address a");else{var Od=Pj(a,qf);if(Od)for(var Pd=2;Pd<g.length;Pd++){var Pc=zj(a,g[Pd]);if(void 0===Pc){a.v("unrecognized value: "+g[Pd]);break}Pc&~mf&&a.v("warning: "+F(Pc)+" exceeds "+bc+"-byte value");a.v("changing "+Sj(a,Od)+(z(a,16)? g[0])break;var bc,nf,of,pf,qf=g[0],rf=g[1];"eb"==qf?(bc=1,nf=255,of=a.Od,pf=a.Pd):"e"==qf||"ew"==qf?(bc=2,nf=65535,of=a.Ra,pf=a.Le):rf=null;if(null==rf)a.v("edit memory commands:"),a.v("\teb [a] [...] edit bytes at address a"),a.v("\tew [a] [...] edit words at address a");else{var Od=Pj(a,rf);if(Od)for(var Pd=2;Pd<g.length;Pd++){var Pc=zj(a,g[Pd]);if(void 0===Pc){a.v("unrecognized value: "+g[Pd]);break}Pc&~nf&&a.v("warning: "+F(Pc)+" exceeds "+bc+"-byte value");a.v("changing "+Sj(a,Od)+(z(a,16)?
"":" from "+K(a,nf.call(a,Od),bc))+" to "+K(a,Pc,bc));of.call(a,Od,Pc,bc)}}break;case "g":a:{var Ei=g[1],rl=b;if(void 0!==Ei){var rf=Pj(a,Ei,!0);if(!rf)break a;Rj(a,rf,rl);a.Bb(a.b,rf,!0)}ik(a,!0,c)}break;case "h":a.A.V?(c||a.v("halting"),a.ba()):Ha(a,!0)||c||a.v("already halted");break;case "i":if("if"==g[0]){var sf;var Qc=b.substr(2),Qc=Ya(Qc);zj(a,Qc)?(c||a.v("true: "+Qc),sf=!0):(c||a.v("false: "+Qc),sf=!1);sf||(d=!1);break}f=!0;break;case "k":var sl=g[0];if("?"==g[1])a.v("stack trace commands:"), "":" from "+K(a,of.call(a,Od),bc<<3))+" to "+K(a,Pc,bc<<3));pf.call(a,Od,Pc,bc)}}break;case "g":a:{var Ei=g[1],rl=b;if(void 0!==Ei){var sf=Pj(a,Ei,!0);if(!sf)break a;Rj(a,sf,rl);a.Bb(a.b,sf,!0)}ik(a,!0,c)}break;case "h":a.A.V?(c||a.v("halting"),a.ba()):Ha(a,!0)||c||a.v("already halted");break;case "i":if("if"==g[0]){var tf;var Qc=b.substr(2),Qc=Ya(Qc);zj(a,Qc)?(c||a.v("true: "+Qc),tf=!0):(c||a.v("false: "+Qc),tf=!1);tf||(d=!1);break}f=!0;break;case "k":var sl=g[0];if("?"==g[1])a.v("stack trace commands:"),
a.v("\tk\tshow frame addresses"),a.v("\tks\tshow symbol information");else{var tf=0,uf=X(),Rc=X(a.f.g[6]);for(a.v("stack trace for "+Sj(a,Rc));10>tf;){for(var Bb=null,tl=256;65536>Rc.K>>>0;){uf.K=a.Ra(Rc,2);if(null==Rc.K||!tl--)break;if(!(uf.K&1)){for(var ul=a,Qd=uf,Fi=null,Sc=Qd.K,Gi=Sc,vf=1;6>=vf&&Sc;vf++){if(2<vf){Qd.K=Sc;var Rd=tk(ul,Qd);if(0<=Rd.indexOf("JSR")){var Hi=Rd.indexOf(" ");if(Sc+(Rd.indexOf(" ",Hi+1)-Hi-1)/2==Gi){Fi=Rd;break}}}Sc-=2}Qd.K=Gi;if(Bb=Fi)break}}if(!Bb||null==Bb)break;var Ii= a.v("\tk\tshow frame addresses"),a.v("\tks\tshow symbol information");else{var uf=0,vf=X(),Rc=X(a.f.g[6]);for(a.v("stack trace for "+Sj(a,Rc));10>uf;){for(var Bb=null,tl=256;65536>Rc.K>>>0;){vf.K=a.Ra(Rc,2);if(null==Rc.K||!tl--)break;if(!(vf.K&1)){for(var ul=a,Qd=vf,Fi=null,Sc=Qd.K,Gi=Sc,wf=1;6>=wf&&Sc;wf++){if(2<wf){Qd.K=Sc;var Rd=tk(ul,Qd);if(0<=Rd.indexOf("JSR")){var Hi=Rd.indexOf(" ");if(Sc+(Rd.indexOf(" ",Hi+1)-Hi-1)/2==Gi){Fi=Rd;break}}}Sc-=2}Qd.K=Gi;if(Bb=Fi)break}}if(!Bb||null==Bb)break;var Ii=
null;if("ks"==sl){var Ji=Bb.match(/[0-9A-F]+$/);Ji&&(Ii=Lk(a,Ji[0]))}Bb=Xa(Bb,50)+" ;"+(Ii||"stack="+Sj(a,Rc));a.v(Bb);tf++}tf||a.v("no return addresses found")}break;case "l":if("ln"==g[0]){Lk(a,g[1],!0);break}f=!0;break;case "m":a:{var Va,Wa=null,T=g[1];"?"==T&&(T=void 0);if(void 0!==T){var lb=0;if("all"==T)lb=1879046143,T=null;else if("on"==T)Wa=!0,T=null;else if("off"==T)Wa=!1,T=null;else{"keys"==T&&(T="key");"kbd"==T&&(T="keyboard");for(Va in Qb)if(T==Va){lb=Qb[Va];Wa=!!(a.ha&lb);break}if(!lb){a.v("unknown message category: "+ null;if("ks"==sl){var Ji=Bb.match(/[0-9A-F]+$/);Ji&&(Ii=Lk(a,Ji[0]))}Bb=Xa(Bb,50)+" ;"+(Ii||"stack="+Sj(a,Rc));a.v(Bb);uf++}uf||a.v("no return addresses found")}break;case "l":if("ln"==g[0]){Lk(a,g[1],!0);break}f=!0;break;case "m":a:{var Va,Wa=null,T=g[1];"?"==T&&(T=void 0);if(void 0!==T){var lb=0;if("all"==T)lb=1879046143,T=null;else if("on"==T)Wa=!0,T=null;else if("off"==T)Wa=!1,T=null;else{"keys"==T&&(T="key");"kbd"==T&&(T="keyboard");for(Va in Qb)if(T==Va){lb=Qb[Va];Wa=!!(a.ha&lb);break}if(!lb){a.v("unknown message category: "+
T);break a}}if(lb)if("on"==g[2])a.ha|=lb,Wa=!0;else if("off"==g[2]&&(a.ha&=~lb,Wa=!1,1073741824==lb)){for(var Ki=1E3<=a.M.length?a.M.length-1E3:0;Ki<a.M.length;)a.v(a.M[Ki++]);a.M=[]}}var vl=0,Tc="";for(Va in Qb)if(!T||T==Va){var wl=!!(a.ha&Qb[Va]);if(null===Wa||Wa==wl)Tc&&(Tc+=","),++vl%10||(Tc+="\n\t"),"key"==Va&&(Va="keys"),Tc+=Va}void 0===T&&a.v("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.v((null!==Wa?Wa?"messages on: ":"messages off: ":"message categories:\n\t")+ T);break a}}if(lb)if("on"==g[2])a.ha|=lb,Wa=!0;else if("off"==g[2]&&(a.ha&=~lb,Wa=!1,1073741824==lb)){for(var Ki=1E3<=a.M.length?a.M.length-1E3:0;Ki<a.M.length;)a.v(a.M[Ki++]);a.M=[]}}var vl=0,Tc="";for(Va in Qb)if(!T||T==Va){var wl=!!(a.ha&Qb[Va]);if(null===Wa||Wa==wl)Tc&&(Tc+=","),++vl%10||(Tc+="\n\t"),"key"==Va&&(Va="keys"),Tc+=Va}void 0===T&&a.v("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.v((null!==Wa?Wa?"messages on: ":"messages off: ":"message categories:\n\t")+
(Tc||"none"));Hj(a)}break;case "p":if("print"==g[0]){Mk(a,b.substr(5));break}var xl=g[0];if("?"==g[1])a.v("step commands:"),a.v("\tp\tstep over instruction"),a.v("\tpr\tstep over instruction with register update");else{var Li="pr"==xl?1:0,Mi=1+Li;if(a.I)a.v("step in progress");else{var Sd=X(a.f.g[7]),cc=a.Ra(Sd);3==cc||4==cc||34816==(cc&65280)||32256==(cc&65024)||35072==(cc&65280)?(a.I=Mi,Qj(Sd,2)):2048==(cc&65024)&&(tk(a,Sd),a.I=Mi);a.I?(a.Bb(a.b,Sd,!0),ik(a)||(a.J&&pe(a.J),a.I=0)):Nk(a,Li?"tr": (Tc||"none"));Hj(a)}break;case "p":if("print"==g[0]){Mk(a,b.substr(5));break}var xl=g[0];if("?"==g[1])a.v("step commands:"),a.v("\tp\tstep over instruction"),a.v("\tpr\tstep over instruction with register update");else{var Li="pr"==xl?1:0,Mi=1+Li;if(a.I)a.v("step in progress");else{var Sd=X(a.f.g[7]),cc=a.Ra(Sd);3==cc||4==cc||34816==(cc&65280)||32256==(cc&65024)||35072==(cc&65280)?(a.I=Mi,Qj(Sd,2)):2048==(cc&65024)&&(tk(a,Sd),a.I=Mi);a.I?(a.Bb(a.b,Sd,!0),ik(a)||(a.J&&pe(a.J),a.I=0)):Nk(a,Li?"tr":
"t")}}break;case "r":if("reset"==b){a.J&&a.J.reset();break}lk(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var Uc=+g[2];if(8==Uc||10==Uc||16==Uc)a.Aa=Uc;else{a.v("invalid base: "+Uc);break}}a.v("default base: "+a.Aa);break;case "cs":var Vc;void 0!==g[3]&&(Vc=+g[3]);switch(g[2]){case "int":a.f.Ob=Vc;break;case "start":a.f.pc=Vc;break;case "stop":a.f.Rb=Vc;break;default:a.v("unknown cs option");break a}void 0!==Vc&&he(a.f);a.v("checksums "+(a.f.A.Nb?"enabled":"disabled"));break;case "sp":void 0!== "t")}}break;case "r":if("reset"==b){a.J&&a.J.reset();break}lk(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var Uc=+g[2];if(8==Uc||10==Uc||16==Uc)a.Aa=Uc;else{a.v("invalid base: "+Uc);break}}a.v("default base: "+a.Aa);break;case "cs":var Vc;void 0!==g[3]&&(Vc=+g[3]);switch(g[2]){case "int":a.f.Ob=Vc;break;case "start":a.f.pc=Vc;break;case "stop":a.f.Rb=Vc;break;default:a.v("unknown cs option");break a}void 0!==Vc&&he(a.f);a.v("checksums "+(a.f.A.Nb?"enabled":"disabled"));break;case "sp":void 0!==
g[2]&&(me(a.f,+g[2])||a.v("warning: using 1x multiplier, previous target not reached"));a.v("target speed: "+(a.f.xb.toFixed(2)+"Mhz")+" ("+a.f.mb+"x)");break;default:if(g[1]){a.v("unknown option: "+g[1]);break}case "?":a.v("debugger options:"),a.v("\tbase #\t\tset default base to #"),a.v("\tcs int #\tset checksum cycle interval to #"),a.v("\tcs start #\tset checksum cycle start count to #"),a.v("\tcs stop #\tset checksum cycle stop count to #"),a.v("\tsp #\t\tset speed multiplier to #")}break;case "t":Nk(a, g[2]&&(me(a.f,+g[2])||a.v("warning: using 1x multiplier, previous target not reached"));a.v("target speed: "+(a.f.xb.toFixed(2)+"Mhz")+" ("+a.f.mb+"x)");break;default:if(g[1]){a.v("unknown option: "+g[1]);break}case "?":a.v("debugger options:"),a.v("\tbase #\t\tset default base to #"),a.v("\tcs int #\tset checksum cycle interval to #"),a.v("\tcs start #\tset checksum cycle start count to #"),a.v("\tcs stop #\tset checksum cycle stop count to #"),a.v("\tsp #\t\tset speed multiplier to #")}break;case "t":Nk(a,
g[0],g[1]);break;case "u":mk(a,g[1],g[2],8);break;case "v":if("var"==g[0]){Kk(a,b.substr(3))||(d=!1);break}if("ver"==g[0]){a.v((Gb||"PDP11")+" version 1.34.0 ("+a.f.ka+",RELEASE"+(Ib?",TYPEDARRAYS":Hb?",BYTEARRAYS":",LONGARRAYS")+")");a.v(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){Mk(a,b.substr(1));break}var wf="commands:",xf;for(xf in Qk)wf+="\n"+Xa(xf,9)+Qk[xf];af(a)||(wf+="\nnote: history disabled if no exec breakpoints");a.v(wf);break;default:f=!0}f&&(a.v("unknown command: "+ g[0],g[1]);break;case "u":mk(a,g[1],g[2],8);break;case "v":if("var"==g[0]){Kk(a,b.substr(3))||(d=!1);break}if("ver"==g[0]){a.v((Gb||"PDP11")+" version 1.34.0 ("+a.f.ka+",RELEASE"+(Ib?",TYPEDARRAYS":Hb?",BYTEARRAYS":",LONGARRAYS")+")");a.v(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){Mk(a,b.substr(1));break}var xf="commands:",yf;for(yf in Qk)xf+="\n"+Xa(yf,9)+Qk[yf];af(a)||(xf+="\nnote: history disabled if no exec breakpoints");a.v(xf);break;default:f=!0}f&&(a.v("unknown command: "+
b),d=!1)}}catch(Oi){a.v("debugger error: "+(Oi.stack||Oi.message)),d=!1}return d}function ke(a,b,c){b=xj(a,b,c);for(var d in b)if(!sk(a,b[+d]))return!1;return!0} b),d=!1)}}catch(Oi){a.v("debugger error: "+(Oi.stack||Oi.message)),d=!1}return d}function ke(a,b,c){b=xj(a,b,c);for(var d in b)if(!sk(a,b[+d]))return!1;return!0}
var Qk={"?":"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","var":"assign variable",ver:"print version"},vk=".WORD 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(" "), var Qk={"?":"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","var":"assign variable",ver:"print version"},vk=".WORD 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(" "),
Xj=20,Yj=21,Zj=22,ak=23,bk=24,ck=25,dk=26,ek=27,Vj=28,fk=29,gk=30,Tj={SP:6,PC:7,PS:Xj,PI:Yj,ER:Zj,SL:ak,M0:bk,M1:ck,M2:dk,M3:ek,AR:Vj,DR:fk,SR:gk},Wj="R0 R1 R2 R3 R4 R5 SP PC A0 A1 A2 A3 A4 A5 A6 A7 S0 S1 S2 S3 PS PI ER SL M0 M1 M2 M3 AR DR SR".split(" "),Pk="KI KD SI SD ?? ?? UI UD".split(" "),Ck=7,Dk=56,Z=Dk|Ck,Bk=4032,Y=4096,xk=8192,yk=12288,zk=24576,Ak=32768,wk=61440,Jj={61440:{4096:[62,Bk,Z],8192:[47,Bk,Z],12288:[18,Bk,Z],16384:[14,Bk,Z],20480:[16,Bk,Z],24576:[3,Bk,Z],36864:[63,Bk,Z],40960:[48, Xj=20,Yj=21,Zj=22,ak=23,bk=24,ck=25,dk=26,ek=27,Vj=28,fk=29,gk=30,Tj={SP:6,PC:7,PS:Xj,PI:Yj,ER:Zj,SL:ak,M0:bk,M1:ck,M2:dk,M3:ek,AR:Vj,DR:fk,SR:gk},Wj="R0 R1 R2 R3 R4 R5 SP PC A0 A1 A2 A3 A4 A5 A6 A7 S0 S1 S2 S3 PS PI ER SL M0 M1 M2 M3 AR DR SR".split(" "),Pk="KI KD SI SD ?? ?? UI UD".split(" "),Ck=7,Dk=56,Z=Dk|Ck,Bk=4032,Y=4096,xk=8192,yk=12288,zk=24576,Ak=32768,wk=61440,Jj={61440:{4096:[62,Bk,Z],8192:[47,Bk,Z],12288:[18,Bk,Z],16384:[14,Bk,Z],20480:[16,Bk,Z],24576:[3,Bk,Z],36864:[63,Bk,Z],40960:[48,