Added disassembly of basic PDP-10 operations

This commit is contained in:
Jeff Parsons 2017-02-24 23:15:53 -08:00 • committed by Jeff Parsons
commit 3b27f45b76
7 changed files with 511 additions and 381 deletions

View file

@ -7,5 +7,5 @@
<ram id="ram" addr="0x0000" size="0x4000"/> <ram id="ram" addr="0x0000" size="0x4000"/>
<device id="default" type="default"/> <device id="default" type="default"/>
<serial id="serial" adapter="0" binding="print" upperCase="true"/> <serial id="serial" adapter="0" binding="print" upperCase="true"/>
<panel ref="/devices/pdp10/panel/test/debugger/terminal.xml"/> <panel ref="/devices/pdp10/panel/test/terminal.xml"/>
</machine> </machine>

View file

@ -706,8 +706,8 @@ class BusPDP10 extends Component {
if (!this.nDisableFaults) { if (!this.nDisableFaults) {
if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP10.FAULT)) { if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP10.FAULT)) {
this.dbg.printMessage("memory fault on " + this.dbg.toStrBase(addr), true, true); this.dbg.printMessage("memory fault on " + this.dbg.toStrBase(addr), true, true);
this.dbg.stopCPU();
} }
this.cpu.stopCPU();
} }
} }

View file

@ -324,7 +324,7 @@ class CPUStatePDP10 extends CPUPDP10 {
*/ */
getOpcode() getOpcode()
{ {
var pc = this.regPC; var pc = this.pcLast = this.regPC;
var opCode = this.readWord(pc); var opCode = this.readWord(pc);
this.regPC = (pc + 1) % PDP10.ADDR_LIMIT; this.regPC = (pc + 1) % PDP10.ADDR_LIMIT;
return opCode; return opCode;

View file

@ -162,7 +162,6 @@ class DebuggerPDP10 extends Debugger {
/* /*
* Define remaining miscellaneous DebuggerPDP10 properties. * Define remaining miscellaneous DebuggerPDP10 properties.
*/ */
this.opTable = DebuggerPDP10.OPTABLE;
this.aOpReserved = []; this.aOpReserved = [];
this.nStep = 0; this.nStep = 0;
this.sCmdTracePrev = null; this.sCmdTracePrev = null;
@ -1327,7 +1326,7 @@ class DebuggerPDP10 extends Debugger {
*/ */
if (!nState) { if (!nState) {
opCode = this.cpu.readWord(addr); opCode = this.cpu.readWord(addr);
if ((opCode & PDP10.OPCODE.HALTMASK) == PDP10.OPCODE.HALT && this.cpu.getLastPC() == addr) { if ((opCode / PDP10.OPCODE.FNSHIFT)|0 == PDP10.OPCODE.FNHALT && this.cpu.getLastPC() == addr) {
addr = this.cpu.advancePC(1); addr = this.cpu.advancePC(1);
} }
} }
@ -1365,6 +1364,100 @@ class DebuggerPDP10 extends Debugger {
return false; return false;
} }
/**
* getInstruction(dbgAddr, sComment, nSequence)
*
* Get the next instruction, by decoding the opcode and any operands.
*
* @this {DebuggerPDP10}
* @param {DbgAddrPDP10} dbgAddr
* @param {string} [sComment] is an associated comment
* @param {number|null} [nSequence] is an associated sequence number, undefined if none
* @return {string} (and dbgAddr is updated to the next instruction)
*/
getInstruction(dbgAddr, sComment, nSequence)
{
var opNames = DebuggerPDP10.OPNAMES;
var dbgAddrOp = this.newAddr(dbgAddr.addr);
var opNum, opMask, aModes, iMode = 0;
var opCode = this.getWord(dbgAddr, 1);
var op = (opCode / PDP10.OPCODE.OPSHIFT)|0;
for (var mask in DebuggerPDP10.OPTABLE) {
var opMasks = DebuggerPDP10.OPTABLE[mask];
opNum = opMasks[op & mask];
if (opNum) {
opMask = +mask;
switch(opMask) {
case PDP10.OPCODE.OPMODE:
aModes = DebuggerPDP10.OPMODES;
iMode = (op & 3);
break;
case PDP10.OPCODE.OPCOMP:
aModes = DebuggerPDP10.OPCOMPS;
iMode = (op & 7);
break;
case PDP10.OPCODE.OPTEST:
aModes = DebuggerPDP10.OPTESTS;
iMode = ((op & 0o60) >> 2) | ((op & 0o6) >> 1);
break;
}
break;
}
}
var sOperands = "";
var sMode = aModes && aModes[iMode] || "";
if (sMode == "S" && opNum > DebuggerPDP10.OPS.MOVM) sMode = "B";
var sOpName = opNames[opNum] + sMode;
if (!opNum) sOperands = this.toStrWord(opCode);
var sOpCodes = "";
var sLine = this.toStrAddr(dbgAddrOp) + ":";
if (dbgAddrOp.addr !== PDP10.ADDR_INVALID && dbgAddr.addr !== PDP10.ADDR_INVALID) {
do {
var w = this.getWord(dbgAddrOp, 1);
sOpCodes += ' ' + this.toStrWord(w);
if (dbgAddrOp.addr == null) break;
} while (dbgAddrOp.addr != dbgAddr.addr);
}
sLine += Str.pad(sOpCodes, 16);
sLine += Str.pad(sOpName, 5);
if (sOperands) sLine += ' ' + sOperands;
if (sComment) {
sLine = Str.pad(sLine, 60) + ';' + (sComment || "");
if (!this.cpu.flags.checksum) {
sLine += (nSequence != null? '=' + nSequence.toString() : "");
} else {
var nCycles = this.cpu.getCycles();
sLine += "cycles=" + nCycles.toString() + " cs=" + Str.toHex(this.cpu.nChecksum);
}
}
return sLine;
}
/**
* parseInstruction(sOp, sOperand, addr)
*
* TODO: Unimplemented. See parseInstruction() in modules/c1pjs/lib/debugger.js for a sample implementation.
*
* @this {DebuggerPDP10}
* @param {string} sOp
* @param {string|undefined} sOperand
* @param {DbgAddrPDP10} dbgAddr of memory where this instruction is being assembled
* @return {Array.<number>} of opcode bytes; if the instruction can't be parsed, the array will be empty
*/
parseInstruction(sOp, sOperand, dbgAddr)
{
var aOpBytes = [];
this.println("not supported yet");
return aOpBytes;
}
/** /**
* stopInstruction(sMessage) * stopInstruction(sMessage)
* *
@ -1760,139 +1853,6 @@ class DebuggerPDP10 extends Debugger {
return fBreak; return fBreak;
} }
/**
* getInstruction(dbgAddr, sComment, nSequence)
*
* Get the next instruction, by decoding the opcode and any operands.
*
* @this {DebuggerPDP10}
* @param {DbgAddrPDP10} dbgAddr
* @param {string} [sComment] is an associated comment
* @param {number|null} [nSequence] is an associated sequence number, undefined if none
* @return {string} (and dbgAddr is updated to the next instruction)
*/
getInstruction(dbgAddr, sComment, nSequence)
{
var opNames = DebuggerPDP10.OPNAMES;
var dbgAddrOp = this.newAddr(dbgAddr.addr);
var opCode = this.getWord(dbgAddr, 1);
var opDesc;
for (var mask in this.opTable) {
var opMasks = this.opTable[mask];
opDesc = opMasks[opCode & mask];
if (opDesc) break;
}
if (!opDesc) {
opDesc = DebuggerPDP10.OPNONE;
}
var opNum = opDesc[0];
if (this.aOpReserved.indexOf(opNum) >= 0) {
opDesc = DebuggerPDP10.OPNONE;
opNum = opDesc[0];
}
var sOperands = "", sTarget = "";
var sOpName = opNames[opNum];
var cOperands = opDesc.length - 1;
if (!opNum && !cOperands) {
sOperands = this.toStrWord(opCode);
}
for (var iOperand = 1; iOperand <= cOperands; iOperand++) {
var opType = opDesc[iOperand];
if (opType === undefined) continue;
var sOperand = this.getOperand(opCode, opType, dbgAddr);
if (!sOperand || !sOperand.length) {
sOperands = "INVALID";
break;
}
/*
* If getOperand() returns an Array rather than a string, then the first element is the original
* operand, and the second element contains additional information (eg, the target) of the operand.
*/
if (typeof sOperand != "string") {
sTarget = sOperand[1];
sOperand = sOperand[0];
}
if (sOperands.length > 0) sOperands += ',';
sOperands += (sOperand || "???");
}
var sOpCodes = "";
var sLine = this.toStrAddr(dbgAddrOp) + ":";
if (dbgAddrOp.addr !== PDP10.ADDR_INVALID && dbgAddr.addr !== PDP10.ADDR_INVALID) {
do {
var w = this.getWord(dbgAddrOp, 1);
sOpCodes += ' ' + this.toStrWord(w);
if (dbgAddrOp.addr == null) break;
} while (dbgAddrOp.addr != dbgAddr.addr);
}
sLine += Str.pad(sOpCodes, 16);
sLine += Str.pad(sOpName, 5);
if (sOperands) sLine += ' ' + sOperands;
if (sComment || sTarget) {
sLine = Str.pad(sLine, 60) + ';' + (sComment || "");
if (!this.cpu.flags.checksum) {
sLine += (nSequence != null? '=' + nSequence.toString() : "");
} else {
var nCycles = this.cpu.getCycles();
sLine += "cycles=" + nCycles.toString() + " cs=" + Str.toHex(this.cpu.nChecksum);
}
if (sTarget) {
if (sLine.slice(-1) != ';') sLine += ' ';
sLine += sTarget;
}
}
return sLine;
}
/**
* getOperand(opCode, opType, dbgAddr)
*
* If getOperand() returns an Array rather than a string, then the first element is the original
* operand, and the second element is a comment containing additional information (eg, the target)
* of the operand.
*
* @this {DebuggerPDP10}
* @param {number} opCode
* @param {number} opType
* @param {DbgAddrPDP10} dbgAddr
* @return {string|Array.<string>}
*/
getOperand(opCode, opType, dbgAddr)
{
return "";
}
/**
* parseInstruction(sOp, sOperand, addr)
*
* TODO: Unimplemented. See parseInstruction() in modules/c1pjs/lib/debugger.js for a sample implementation.
*
* @this {DebuggerPDP10}
* @param {string} sOp
* @param {string|undefined} sOperand
* @param {DbgAddrPDP10} dbgAddr of memory where this instruction is being assembled
* @return {Array.<number>} of opcode bytes; if the instruction can't be parsed, the array will be empty
*/
parseInstruction(sOp, sOperand, dbgAddr)
{
var aOpBytes = [];
this.println("not supported yet");
return aOpBytes;
}
/** /**
* getRegOutput(iReg) * getRegOutput(iReg)
* *
@ -3517,7 +3477,31 @@ if (DEBUGGER) {
* CPU opcode IDs * CPU opcode IDs
*/ */
DebuggerPDP10.OPS = { DebuggerPDP10.OPS = {
NONE: 0 NONE: 0,
HLL: 1, HLLZ: 2, HLLO: 3, HLLE: 4,
HRL: 5, HRLZ: 6, HRLO: 7, HRLE: 8,
HRR: 9, HRRZ: 10, HRRO: 11, HRRE: 12,
HLR: 13, HLRZ: 14, HLRO: 15, HLRE: 16,
MOV: 17, MOVS: 18, MOVN: 19, MOVM: 20,
EXCH: 21, BLT: 22, PUSH: 23, POP: 24,
LDB: 25, DPB: 26, IBP: 27, ILDB: 28,
IDPB: 29, SETZ: 30, SETO: 31, SETA: 32,
SETCA: 33, SETM: 34, SETCM: 35, AND: 36,
ANDCA: 37, ANDCM: 38, ANDCB: 39, IOR: 40,
ORCA: 41, ORCM: 42, ORCB: 43, XOR: 44,
EQV: 45, LSH: 46, LSHC: 47, ROT: 48,
ROTC: 49, ADD: 50, SUB: 51, MUL: 52,
IMUL: 53, DIV: 54, IDIV: 55, ASH: 56,
ASHC: 57, FSC: 58, FADR: 59, FSBR: 60,
FMPR: 61, FDVR: 62, DFN: 63, UFA: 64,
FAD: 65, FSB: 66, FMP: 67, FDV: 68,
AOBJP: 69, AOBJN: 70, CAI: 71, CA: 72,
JUMP: 73, SKIP: 74, AOJ: 75, AOS: 76,
SOJ: 77, SOS: 78, TR: 79, TL: 80,
TD: 81, TS: 82, XCT: 83, JFFO: 84,
JFCL: 85, JSR: 86, JSP: 87, JRST: 88,
JSA: 89, JRA: 90, PUSHJ: 91, POPJ: 92,
UUO: 93
}; };
/* /*
@ -3525,6 +3509,30 @@ if (DEBUGGER) {
*/ */
DebuggerPDP10.OPNAMES = [ DebuggerPDP10.OPNAMES = [
".WORD", ".WORD",
"HLL", "HLLZ", "HLLO", "HLLE",
"HRL", "HRLZ", "HRLO", "HRLE",
"HRR", "HRRZ", "HRRO", "HRRE",
"HLR", "HLRZ", "HLRO", "HLRE",
"MOV", "MOVS", "MOVN", "MOVM",
"EXCH", "BLT", "PUSH", "POP",
"LDB", "DPB", "IBP", "ILDB",
"IDPB", "SETZ", "SETO", "SETA",
"SETCA", "SETM", "SETCM", "AND",
"ANDCA", "ANDCM", "ANDCB", "IOR",
"ORCA", "ORCM", "ORCB", "XOR",
"EQV", "LSH", "LSHC", "ROT",
"ROTC", "ADD", "SUB", "MUL",
"IMUL", "DIV", "IDIV", "ASH",
"ASHC", "FSC", "FADR", "FSBR",
"FMPR", "FDVR", "DFN", "UFA",
"FAD", "FSB", "FMP", "FDV",
"AOBJP", "AOBJN", "CAI", "CA",
"JUMP", "SKIP", "AOJ", "AOS",
"SOJ", "SOS", "TR", "TL",
"TD", "TS", "XCT", "JFFO",
"JFCL", "JSR", "JSP", "JRST",
"JSA", "JRA", "PUSHJ", "POPJ",
"UUO"
]; ];
DebuggerPDP10.REGS = { DebuggerPDP10.REGS = {
@ -3536,25 +3544,141 @@ if (DEBUGGER) {
]; ];
/* /*
* The OPTABLE contains opcode masks, and each mask refers to table of possible values, and each * PDP-10 opcodes are 36-bit values:
* value refers to an array that contains:
* *
* [0]: {number} of the opcode name (see OP.*) * 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3
* [1]: {number} containing the first operand type bit(s), if any * 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
* [2]: {number} containing the second operand type bit(s), if any * O O O O O O O M M A A A A I X X X X Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
* *
* Note that, by convention, opcodes that require two operands list the SRC operand first and DST operand * or using modern bit-numbering:
* second (ie, the OPPOSITE of the Intel convention).
* *
* Also note that, for some of the newer PDP-11 opcodes (eg, MUL, DIV, ASH, ASHC), the location of the * 3 3 3 3 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
* opcode's SRC and DST bits are reversed. This is why, for example, you'll see the MUL instruction defined * 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
* below as having OP_DST for the first operand and OP_SRCREG for the second operand. This does NOT mean * O O O O O O O M M A A A A I X X X X Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
* that the opcode's destination operand is being listed first, but rather that the bits describing the source *
* operand are in the opcode's OP_DST field. * where OOOOOOOMM represents the operation, with MM (if used) represents the mode:
*
* Mode Suffix Source Destination
* ---- ------ ----- -----------
* 0: BASIC None E AC
* 1: IMMEDIATE I 0,E AC
* 2: MEMORY M AC E
* 3: SELF S E E (and AC if A is non-zero)
*
* Bits 0-21 (I,X,Y) contain what we call a "reference address" (R), which is used to
* calculate the "effective address" (E). To determine E from R, we must extract I, X,
* and Y from R, set E to Y, then add [X] to E if X is non-zero. If I is zero, then
* we're done; otherwise, we must set set R to [E] and repeat the process.
*/ */
DebuggerPDP10.OPTABLE = {}; DebuggerPDP10.OPTABLE = {
[PDP10.OPCODE.OPMASK]: {
0o130: DebuggerPDP10.OPS.UFA,
0o131: DebuggerPDP10.OPS.DFN,
0o132: DebuggerPDP10.OPS.FSC,
0o133: DebuggerPDP10.OPS.IBP,
0o134: DebuggerPDP10.OPS.ILDB,
0o135: DebuggerPDP10.OPS.LDB,
0o136: DebuggerPDP10.OPS.IDPB,
0o137: DebuggerPDP10.OPS.DPB,
0o240: DebuggerPDP10.OPS.ASH,
0o241: DebuggerPDP10.OPS.ROT,
0o242: DebuggerPDP10.OPS.LSH,
0o243: DebuggerPDP10.OPS.JFFO,
0o244: DebuggerPDP10.OPS.ASHC,
0o245: DebuggerPDP10.OPS.ROTC,
0o246: DebuggerPDP10.OPS.LSHC,
0o250: DebuggerPDP10.OPS.EXCH,
0o251: DebuggerPDP10.OPS.BLT,
0o252: DebuggerPDP10.OPS.AOBJP,
0o253: DebuggerPDP10.OPS.AOBJN,
0o254: DebuggerPDP10.OPS.JRST, // includes HALT, JRSTF, and JEN
0o255: DebuggerPDP10.OPS.JFCL, // includes JOV, JCRY0, JCRY1, JCRY, and JFOV
0o256: DebuggerPDP10.OPS.XCT,
0o260: DebuggerPDP10.OPS.PUSHJ,
0o261: DebuggerPDP10.OPS.PUSH,
0o262: DebuggerPDP10.OPS.POP,
0o263: DebuggerPDP10.OPS.POPJ,
0o264: DebuggerPDP10.OPS.JSR,
0o265: DebuggerPDP10.OPS.JSP,
0o266: DebuggerPDP10.OPS.JSA,
0o267: DebuggerPDP10.OPS.JRA,
},
[PDP10.OPCODE.OPMODE]: {
0o140: DebuggerPDP10.OPS.FAD,
0o144: DebuggerPDP10.OPS.FADR,
0o150: DebuggerPDP10.OPS.FSB,
0o154: DebuggerPDP10.OPS.FSBR,
0o160: DebuggerPDP10.OPS.FMP,
0o164: DebuggerPDP10.OPS.FMPR,
0o170: DebuggerPDP10.OPS.FDV,
0o174: DebuggerPDP10.OPS.FDVR,
0o200: DebuggerPDP10.OPS.MOV,
0o204: DebuggerPDP10.OPS.MOVS,
0o210: DebuggerPDP10.OPS.MOVN,
0o214: DebuggerPDP10.OPS.MOVM,
0o220: DebuggerPDP10.OPS.IMUL,
0o224: DebuggerPDP10.OPS.MUL,
0o230: DebuggerPDP10.OPS.IDIV,
0o234: DebuggerPDP10.OPS.DIV,
0o270: DebuggerPDP10.OPS.ADD,
0o274: DebuggerPDP10.OPS.SUB,
0o400: DebuggerPDP10.OPS.SETZ,
0o404: DebuggerPDP10.OPS.AND,
0o410: DebuggerPDP10.OPS.ANDCA,
0o414: DebuggerPDP10.OPS.SETM,
0o420: DebuggerPDP10.OPS.ANDCM,
0o424: DebuggerPDP10.OPS.SETA,
0o430: DebuggerPDP10.OPS.XOR,
0o434: DebuggerPDP10.OPS.IOR,
0o440: DebuggerPDP10.OPS.ANDCB,
0o444: DebuggerPDP10.OPS.EQV,
0o450: DebuggerPDP10.OPS.SETCA,
0o454: DebuggerPDP10.OPS.ORCA,
0o460: DebuggerPDP10.OPS.SETCM,
0o464: DebuggerPDP10.OPS.ORCM,
0o470: DebuggerPDP10.OPS.ORCB,
0o474: DebuggerPDP10.OPS.SETO,
0o500: DebuggerPDP10.OPS.HLL,
0o504: DebuggerPDP10.OPS.HRL,
0o510: DebuggerPDP10.OPS.HLLZ,
0o514: DebuggerPDP10.OPS.HRLZ,
0o520: DebuggerPDP10.OPS.HLLO,
0o524: DebuggerPDP10.OPS.HRLO,
0o530: DebuggerPDP10.OPS.HLLE,
0o534: DebuggerPDP10.OPS.HRLE,
0o540: DebuggerPDP10.OPS.HRR,
0o544: DebuggerPDP10.OPS.HLR,
0o550: DebuggerPDP10.OPS.HRRZ,
0o554: DebuggerPDP10.OPS.HLRZ,
0o560: DebuggerPDP10.OPS.HRRO,
0o564: DebuggerPDP10.OPS.HLRO,
0o570: DebuggerPDP10.OPS.HRRE,
0o574: DebuggerPDP10.OPS.HLRE
},
[PDP10.OPCODE.OPCOMP]: {
0o300: DebuggerPDP10.OPS.CAI,
0o310: DebuggerPDP10.OPS.CA,
0o320: DebuggerPDP10.OPS.JUMP,
0o330: DebuggerPDP10.OPS.SKIP,
0o340: DebuggerPDP10.OPS.AOJ,
0o350: DebuggerPDP10.OPS.AOS,
0o360: DebuggerPDP10.OPS.SOJ,
0o370: DebuggerPDP10.OPS.SOS,
},
[PDP10.OPCODE.OPTEST]: {
0o600: DebuggerPDP10.OPS.TR,
0o601: DebuggerPDP10.OPS.TL,
0o610: DebuggerPDP10.OPS.TD,
0o611: DebuggerPDP10.OPS.TS,
},
[PDP10.OPCODE.OPUUO]: {
0o000: DebuggerPDP10.OPS.UUO
}
};
DebuggerPDP10.OPNONE = [DebuggerPDP10.OPS.NONE]; DebuggerPDP10.OPMODES = ["", "I", "M", "S"];
DebuggerPDP10.OPCOMPS = ["", "L", "E", "LE", "A", "GE", "N", "G"];
DebuggerPDP10.OPTESTS = ["N", "NE", "NA", "NN", "Z", "ZE", "ZA", "ZN", "C", "CE", "CA", "CN", "O", "OE", "OA", "ON"];
DebuggerPDP10.HISTORY_LIMIT = DEBUG? 100000 : 1000; DebuggerPDP10.HISTORY_LIMIT = DEBUG? 100000 : 1000;

View file

@ -99,16 +99,22 @@ var PDP10 = {
ADDR_LIMIT: Math.pow(2, 18), ADDR_LIMIT: Math.pow(2, 18),
DATA_INVALID: -1, DATA_INVALID: -1,
DATA_LIMIT: Math.pow(2, 36), DATA_LIMIT: Math.pow(2, 36),
/* /*
* Assorted common opcodes * Opcode definitions
*/ */
OPCODE: { OPCODE: {
INSMASK: 0o777000000000, OPMASK: 0o777, // operation mask
ACCMASK: 0o000740000000, OPMODE: 0o774, // operation with mode
HALTMASK: 0o777740000000, OPCOMP: 0o770, // operation with compare
HALT: 0o254200000000, OPTEST: 0o611, // operation with test
OPUUO: 0o700, // unimplemented user operation (UUO) mask
OPSHIFT: Math.pow(2, 27), // operation shift
FNSHIFT: Math.pow(2, 23), // function shift
FNHALT: 0o5304, // function code for HALT
INVALID: 0o777777777777 // TODO: Resolve INVALID: 0o777777777777 // TODO: Resolve
}, },
/* /*
* Internal operation state flags * Internal operation state flags
*/ */

View file

@ -31,175 +31,175 @@ var l,aa="function"==typeof Object.defineProperties?Object.defineProperty:functi
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 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 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})}} 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,Ua: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,Ta: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};
function u(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Ya=b.comment;this.nb=b;this.exports={};this.F=this.bindings={};a=this.id.indexOf(".");0>a?this.Ka=this.id:(this.La=this.id.substr(0,a),this.Ka=this.id.substr(a+1));this.i={ready:!1,Ea:!1,Sa:!1,T:!1,error:!1};this.Oa=null;this.i.error=!1;this.V=c||0;this.A=this.b=this.C=this.D=this.ja=null;v.push(this)}function ta(a,b,c){ua[a]&&b&&(ua[a][b]=c)}function va(){return Date.now()||+new Date} function u(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Ya=b.comment;this.nb=b;this.exports={};this.F=this.bindings={};a=this.id.indexOf(".");0>a?this.Ja=this.id:(this.Ka=this.id.substr(0,a),this.Ja=this.id.substr(a+1));this.i={ready:!1,Da:!1,Qa:!1,T:!1,error:!1};this.Ma=null;this.i.error=!1;this.V=c||0;this.A=this.b=this.C=this.D=this.ja=null;v.push(this)}function ta(a,b,c){ua[a]&&b&&(ua[a][b]=c)}function va(){return Date.now()||+new Date}
function x(a){window&&window.alert(a)}function wa(a){var b=!1;window&&(b=window.confirm(a));return b}function y(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<v.length;b++){var d=v[b];a&&d.id.indexOf(a)||c.push(d)}return c}function xa(a){if(void 0!==a){var b;for(b=0;b<v.length;b++)if(v[b].id===a)return v[b]}return null} function x(a){window&&window.alert(a)}function wa(a){var b=!1;window&&(b=window.confirm(a));return b}function y(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<v.length;b++){var d=v[b];a&&d.id.indexOf(a)||c.push(d)}return c}function xa(a){if(void 0!==a){var b;for(b=0;b<v.length;b++)if(v[b].id===a)return v[b]}return null}
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,f=0;f<e.length;f++){var g=e[f];if(1===g.nodeType){var h=g.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(g))&&h.binding&&a.da(h.type,h.binding,g,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 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; function ya(a){for(var b=!0,c=Aa[a];c&&c.length;){var d=c.splice(0,1)[0],e=d[0],f=null;0<=Ga.indexOf(e)&&(f=function(){return function(){ya(a)}}());var g=Ha[e];if(g)if(!f)b=g(d[1],d[2],d[3]);else{if(!g(f,d[1],d[2],d[3]))break}else{var b=!1,h=z(d[1],a);if(h)if(g=Ia[e])b=g(h,d[2],d[3]);else{var k=h.exports;if(k&&(g=k[e]))if(b=!0,!f)b=g.call(h,d[2],d[3]);else if(!g.call(h,f,d[2],d[3]))break}}if(!b){x("Script error: "+e+(g?" 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.Ja)}),!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 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} l.status=function(a){this.f(this.Ja+": "+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.Ma=b);return a.i.ready}function E(a){if(!a.i.error&&(a.i.ready=!0,a.i.ready)){var b=a.Ma;a.Ma=null;b&&b()}}function Ma(a,b){a.i.Da&&(b?a.i.Qa=!0:void 0===b&&a.f(a.toString()+" busy"));return a.i.Da}
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)} function Na(a,b){if(a.i.Qa)return a.i.Da=!1,a.i.Qa=!1;if(a.i.error)return a.f(a.toString()+" error"),!1;a.i.Da=b;return a.i.Da}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:[],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}}; 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 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&& 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 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(g=parseInt(a,b))&&(c=g)}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>a&&-1<a&&(a=-1);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)}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>a&&-1<a&&(a=-1);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>a&&-1<a&&(a=-1);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 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 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>a&&-1<a&&(a=-1);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 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 fb(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Wa={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"}; 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 Ya(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 gb(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,h;h=c(b,a[g]);0<h?d=g+1:(e=g,f=!h)}return f?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,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.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} f,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||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g}
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, 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,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.ia=g.load;d.ha=g.exec;if(e=g.bytes)d.W=e;else if(e=g.words)for(d.W=Array(2*e.length),f=c=0;c<e.length;c++)d.W[f++]=e[c]&255,d.W[f++]=e[c]>>8&255;else if(e=g.data)for(d.W=Array(4*e.length),f=c=0;c<e.length;c++)d.W[f++]=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[f++]=e[c]>>8&255,d.W[f++]=e[c]>>16&255,d.W[f++]=e[c]>>24&255;else d.W=g;d.S=g.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++){f=parseInt(b[c],16);if(isNaN(f)){x("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(f&255)}c==b.length&&(d.W=e)}return d}
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 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 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 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 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 ob(a){if(!pb){var b,c={};if(window){b||(b=window.location.search.substr(1));for(var d,e=/\+/g,f=/([^&=]+)=?([^&]*)/g;d=f.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 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 rb(a,b){function c(){b(100===d)&&(e=setTimeout(c,d),d=100)}var d=0,e=null,f=!1;a.onmousedown=function(){f||e||(d=500,c())};a.ontouchstart=function(){e||(d=500,c())};a.onmouseup=a.onmouseout=function(){e&&(clearTimeout(e),e=null)};a.ontouchend=a.ontouchcancel=function(){e&&(clearTimeout(e),e=null);f=!0}}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 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)}); 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",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}; var C="pdp10",Ab="PDPjs",Gb=Math.pow(2,18),Hb=Math.pow(2,36),Ib=Math.pow(2,27),Jb=Math.pow(2,23),C="pdp10",Ab="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 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, 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,
set:this.Mb};E(this)}r(Ib,u);l=Ib.prototype;l.reset=function(a){this.stop();a&&Kb(this,this.w=0)}; set:this.Mb};E(this)}r(Kb,u);l=Kb.prototype;l.reset=function(a){this.stop();a&&Mb(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 "PC":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(){Lb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){Mb(a,b)}}(this,b),a.ontouchstart= 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 "PC":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){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()}; 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};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 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.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])}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(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 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} 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,Pa(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 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 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()}; 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%Gb,this.g[Zb]&&this.g[Zb][1]&&$b(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[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.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)&&!Ma(a,!0))Na(a,!0),ac(a,0,null),Na(a,!1);else try{var b=this.b.Ia(1);0<b&&(bc(this.b,b),cc(this.b,b,!0),dc(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&&ec(this),a=Mb(this,this.w=this.u),this.P==Lb?fc(this.C,this.j,a):this.b.Ha(this.j,a))};
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)} 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)}
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 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,f=b&1<<c;d.B[e]=f;d.G||Ub(d,e,f)}}}function Mb(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,f=b&1<<c;d.B[e]=f;d.G||Ub(d,e,f)}}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 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(){}; 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)}r(hc,u);l=hc.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,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}; 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,f=Array(4096),g=0;g<d.length-1;)for(var h=d[g++],k=d[g++];h--;)f[e++]=k;d=f}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 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 kc(a,b,c,d){for(var e=b,f=c,g=e>>>a.j;0<f&&g<a.g.length;){var h=a.g[g],k=16384*g,m=16384-(e-k);m>f&&(m=f);if(h&&h.size){if(h.type==d){if(e+f<=h.v)return h.Ga+=h.v-e,h.v=e,!0;if(e>=h.v+h.Ga){m=h.size-(e-k);m>f&&(m=f);h.Ga=e-h.v+m;e=k+16384;f-=m;g++;continue}}return lc(mc,e,f)}e=new V(a,e,m,16384,d);ic(e,a.A,h);a.g[g++]=e;e=k+16384;f-=m}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+nc[d]+" at "+Qa(b)),!0):lc(oc,b,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(c,b&16383,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} 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(c,b&16383,b);a.w--}function jc(a){for(var b=0,c=[],d=0;d<a.B;d++){var e=a.g[d];if(e.La||e.pb){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,h=0,k=[];g<e.length;){for(var m=e[g],n=g+1;n<e.length&&e[n]===m;)n++;k[h++]=n-g;k[h++]=m;g=n}k.length<e.length&&(e=k)}c[f]=e}}return c}
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.rb=function(a){this.w||(this.A&&Oa(this.A,4)&&G(this.A,"memory fault on "+W(this.A,a),!0,!0),this.b.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)}r(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.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.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.Ga=c;this.size=d||0;this.type=e||Hc;this.g=e==Ic;this.b=null;this.ta=this.j=this.u=this.Fa;this.Ha=this.F=this.w=this.ua;this.C=this.D=0;ic(this);this.La=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.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)} l.save=function(){return this.A};l.restore=function(a){return a&&this.size==a.length?(this.A=a,this.La=!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.Fa);if(c||void 0===c)a.u=b[0]||a.Fa,a.j=b[2]||a.Fa}function Nc(a,b,c){c&&a.D||(a.Ha=!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.Ha=a.g?a.ua:a.F):--a.C||(a.ta=a.j)}
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]}; 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.Fa=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;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.Qb=function(a,b,c,d,e){c=this.A[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.A[b]!=c&&(this.A[b]=c,this.La=!0)};l.Sb=function(a,b){this.A[b]=a;this.La=!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.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]; l.Pb=function(a,b,c,d,e){if(this.b&&null!=this.v){var f=this.b;Qc(f,this.v+b,1,f.G)&&f.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];
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= 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.ra=0;this.i.J=this.i.Pa=!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.qa=
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}; null;E(this)}r(Rc,u);l=Rc.prototype;l.sa=function(a,b,c,d){this.D=a;this.C=b;this.A=d;this.qa=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};
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.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.qa?"(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?(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.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.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]= 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.Ma?" (waiting for notification)":""))+".");a=!1}a&&(d.i.J?d.R():$b(d))},!0;case "speed":return this.F[b]=
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)} 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.ra=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)}
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 $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 $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} 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}
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|| l.Kb=function(){if(this.i.J){this.ra>=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.Ia(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));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,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)}}}; 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.ra+=this.aa;this.G+=c;a(b,c)}}};
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 $b(a,b){if(!Ka(a))if(a.i.J)a.f(a.toString()+" busy");else{$c(a);a.i.J=!0;a.i.Pa=!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.Ia=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 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}; function hd(a){var b=+a.model||1001;Rc.call(this,a,1E6);this.Za=b;this.Xa=+a.addrReset||0;this.fa=null;this.Wa=[];this.i.complete=!1}r(hd,Rc);l=hd.prototype;l.reset=function(){this.status("Model "+this.Za);this.i.J&&this.R();this.ea=this.g=this.pa=this.Xa;this.j=0;this.ta=this.Gb;this.Ha=this.Tb;this.fa=null;Uc(this);this.i.error=!1;Rc.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,gd(this));a.set(4,cd(this));return a.data()}; l.save=function(){var a=new O(this);a.set(0,[this.g,this.pa,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.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}; 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.pa=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.Wa.length;d++){var e=this.Wa[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 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(b,a&16383,a)}; 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].Ha(b,a&16383,a)};
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? l.Ia=function(a){this.i.complete=!0;var b=this.A?jd(this.A)?1:this.i.Pa?-1:0:0,c=a?this.i.Pa?0:1:-1;this.i.Pa=!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.pa=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 fd(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 hd(d);B(d,c)}});
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); 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=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,f){f?(c.Y("Unable to load ROM resource (error "+f+": "+a+")"),c.w=null):(ta(c.Ka,a,b),(a=ib(a,b))?(c.g=a.W,c.S=a.S):c.w=null);md(c)})}}r(ld,u);
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}; 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};
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>>>= function md(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(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],f=d.C,g=d.u,h=[],k=d.B>>>f.j;0<g&&k<f.g.length;)h.push(f.g[k++]),g-=16384;f=d.C;d=d.u;g=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 jd(d);B(d,c)}}); f.j;0<d&&e<f.g.length;){k=h[g++];if(!k)break;f.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)}});
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== 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=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,f){f?(c.Y("Unable to load RAM resource (error "+f+": "+a+")"),c.g=null):(ta(c.Ka,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);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}; c.ia&&(c.ia=a.ia),null==c.ha&&(c.ha=a.ha)):c.g=null);pd(c)})}}r(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};
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)}} function pd(a){if(a.C&&(!a.B&&a.w&&(kc(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;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)}}
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(f,d,e.v+d);c-=16384;b++;d=0}this.j&&od(this,this.j,this.ia,this.ha,this.u,!this.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],f=c,g=0,h,d=d||0,g=g||0;0>g&&g>=sa&&(g+=ra);g=Math.trunc(Math.abs(g))%ra;void 0===f&&(f=e.size);for(h=d;f--&&h<e.size;h++)e.F(g,d,e.v+d);c-=16384;b++;d=0}this.j&&qd(this,this.j,this.ia,this.ha,this.u,!this.A)}};
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+= function qd(a,b,c,d,e,f){var g=!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(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), 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--;)fc(a.C,q++,b[K++]);else q&1?g=!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++)fc(a.C,c+h,b[h]);h=!0}if(h){if(null==d||g)a.b.R(),f=!1;null!=d&&(a=a.b,a.Xa=d,a.g=d%Gb,f?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),
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)}}); Q(a.D,-1)):!1===f&&a.R(),!a.i.J&&a.qa&&a.qa.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)}});
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; 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.Na,receiveStatus:this.Ib,setConnection:this.Lb}}r(rd,u);l=rd.prototype;
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(); 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.Ua:t.mb:46==c?b=t.Ua:a.ctrlKey&&c>=t.Ta&&c<=t.ob&&(b=c-(t.Ta-t.jb));b&&(a.preventDefault&&a.preventDefault(),d.Na(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.Na(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.Na(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=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.ib=function(a){if(!this.g){var b=Tc(this.D,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ya(c[0]);if(d!=this.Ja)return;c=Ya(c[1]);if(this.g=xa(c)){var e=this.g.exports;if(e){var f=e.connect;f&&f.call(this.g,this.u);if(this.B=e.receiveData){this.u=a;this.status("Connected "+this.Ka+"."+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 qd="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.Na=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";
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(){}; 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={}}r(td,u);td.prototype.hb=function(){return-1};td.prototype.Sa=function(){};
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 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 f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(Ya(b.substring(c,f))),c=f+1}}return a}
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; 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(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<<e;break;case ">>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f<e?1:0;break;case "<=":d=f<=e?1:0;break;case ">":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break;
case "^":d=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=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0}
function 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, function wd(a,b,c){var d;if(b){b=xd(a,b);for(var e=0,f=!1,g=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<m.length;){var n=m[e++],p=n.length,n=Ya(n);if(!n){f=!0;break}n=yd(a,n,null,!1===c);if(void 0===n){f=!0;c=!1;break}h.push(n);if(e==m.length)break;var n=m[e++],q=n.length;k.length&&zd[n]<zd[k[k.length-1]]&&vd(h,k,1);k.push(n);b=b.substr(p+q)}vd(h,k)&&1==h.length||(f=!0);f?c&&a.f("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(),c&&Ad(a,null,
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} d))}return d}function xd(a,b){for(var c,d=a.ma?"(":"{",e=a.ma?")":"}",f=new RegExp(a.ma?"\\((.*?)\\)":"\\{(.*?)\\}");(c=b.match(f))&&!(0<=c[1].indexOf(d));){var g=wd(a,c[1]);b=b.replace(d+c[1]+e,null!=g?W(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 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 yd(a,b,c,d){var e;null!=b?(e=a.hb(b),0<=e?e=a.Sa(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 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 Ad(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,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--;g=p+g;d>>=8}d=H(c,0,!0)+" "+c+". "+Qa(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.f((null!=b?b+": ":"")+d);return e}
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>a&&-1<a&&(a=-1);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 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){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>a&&-1<a&&(a=-1);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}
var xd={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; var zd={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
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]= 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.L=0;this.Ba=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]=function(a){return Yc(b,
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; a)})}r(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 Gd(a){return[a.v,a.qb,a.ba,a.ka,a.Oa]}function Hd(a,b){var c=X(b[0],b[1],b[2]);c.ka=b[3];b[4]&&(c.ab=ud(a,c.Oa=b[4]));return c}l=Cd.prototype;
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.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);Id(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.Ga)+" "+
I(n.size)+" "+m),c!=Fc&&(c=-1),m=0);a+=16384;e++}}});E(this)}; I(n.size)+" "+m),c!=Hc&&(c=-1),m=0);a+=16384;e++}}});E(this)};
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; 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,rb(c,function(){if(d.aa){var a=d.aa.value;
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))}; d.aa.value="";Yc(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=ac(d,a?1:0,null),Na(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=-1,d=Y(a);-1!==d&&(c=gc(this.C,d),b&&null!=a.v&&(a.v+=b||1));return c};l.Va=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))};
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]))} function Z(a,b,c){var d;c=(c?a.I:a.xa).v;var e,f;if(void 0!==b){b=xd(a,b);"%"==b.charAt(0)&&(e=!0,b=b.substr(1));d=b;var g,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&&(g=X(h));if(d=g)return d;0<=b.indexOf("0x")?f=16:0<=b.indexOf("0o")?f=8:0<=b.indexOf(".")&&(f=10);c=wd(a,b,void 0)}null!=c&&(d=X(c,e,f));return d}function Jd(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.ab=ud(a,b.Oa=c[2]))}
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 Kd(a){return Qa(a/Gb,6)+" "+Qa(a%Gb,6)}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 Id(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())};
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))}}; l.Sa=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.pa).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,fd(a),a.O=0,a.D&&Q(a.D,void 0))}};
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 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}
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))} 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 f=a.b.Ia(b);0<f&&(bc(a.b,f),a.B+=f,cc(a.b,f,!0),dc(a.b,f),a.fa++)}catch(g){"number"!=typeof g&&(a.B=0,Ja(a.b,g.stack||g.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):Sd(a))}
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)}; function Pd(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){Ed(this);this.fa=0;this.U=null;this.B=0;this.I=X(this.b.g);this.i.J=!1;te(this);a||Wc(this)};
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}; l.save=function(){var a=new O(this);a.set(0,Gd(this.I));a.set(1,Gd(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=Hd(this,a[b++]),this.N=Hd(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};
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} 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 Oa(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.f(b)}Wc(this,!0);Xc(this);te(this,this.b.g);this.U=null}};function jd(a){return 1<a.g.length||!!a.ga}
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 kd(a,b,c){var d=-1;if(!c&&(d=a.b.ta(b),d/Jb|0&&a.b.pa==b)){b=a.b;var e=b.g;b.g=(e+1)%Gb;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}
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 ve(a,b,c,d){var e=X(b.v),f,g,h,k=0,m=a.wa(b,1),n=m/Ib|0;for(g in we)if(f=we[g][n&g]){g=+g;switch(g){case 508:h=xe;k=n&3;break;case 504:h=ye;k=n&7;break;case 393:h=ze,k=(n&48)>>2|(n&6)>>1}break}n="";h=h&&h[k]||"";"S"==h&&f>Ae&&(h="B");h=Be[f]+h;f||(n=Kd(m));f="";m=W(a,e.v)+":";if(-1!==e.v&&-1!==b.v){do if(k=a.wa(e,1),f+=" "+Kd(k),null==e.v)break;while(e.v!=b.v)}m+=Xa(f,16);m+=Xa(h,5);n&&(m+=" "+n);c&&(m=Xa(m,60)+";"+(c||""),m=a.b.i.Ca?m+("cycles="+Zc(a.b).toString()+" cs="+H(a.b.ma)):m+(null!=
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+'"':""))} d?"="+d.toString():""));return m}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}
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}}} l.va=function(a,b,c){var d=!0;c||Ce(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 f=this.C;f.g[e>>>f.j].va(e&16383,a==this.G)}}d&&(a.push(b),c?b.ka=!0:(De(this,a,a.length-1,"set"),Ed(this)));return d};function Ce(a,b,c,d,e){var f=!1;c=Y(c);for(var g=1;g<b.length;g++){var h=b[g];if(c==Y(h)&&(!d||h.ka)){f=!0;h.ka||e||De(a,b,g,"cleared");b.splice(g,1);b!=a.g&&(d=a.C,Pc(d.g[c>>>d.j],b==a.G));h.ka||Ed(a);break}}return f}
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} function Ee(a,b){for(var c=1;c<b.length;c++)De(a,b,c);return b.length-1}function De(a,b,c,d){c=b[c];a.f(b[0]+" "+W(a,c.v)+(d?" "+d:c.Oa?' "'+c.Oa+'"':""))}function te(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(!Ce(a,a.g,c,!0))break;b=0}}}
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 Qc(a,b,c,d,e){var f=!1;if(!a.oa++)for(var g=1;!f&&g<d.length;g++){var h=d[g];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,f=!0;h.ka&&(Ce(a,d,h,!0),e=!0);if(n=h.ab){for(var f=!1,p=0;p<n.length;p++)if(!Fe(a,n[p],!0)){if(n[p].indexOf("if")){f=!0;break}for(var q=p+1;q<n.length&&n[q].indexOf("else");q++)p++;if(q==n.length){f=!0;break}}a.b.i.J||(f=!0)}if(f){e||De(a,d,g,"hit");break}}}a.oa--;return f}l.eb=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
(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 nd(a,b,c,d,e){var f=[],g;for(g in e){var h=e[g];"number"==typeof h&&(e[g]=h={o:h});var k=h.o,m=h.a;if(void 0!==k){var n=f,k=[k>>>0,g],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:f})}function Ge(a,b,c){var d=[],e=Y(b)>>>0;for(b=0;b<a.H.length;b++){var f=a.H[b],g=f.v>>>0,h=f.tb;if(e>=g&&e<g+h){e=gb(f.bb,[e-g],a.eb);0<=e?He(a,b,e,d):c&&(e=~e,He(a,b,e-1,d),He(a,b,e,d));break}}return d}
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 He(a,b,c,d){var e={},f=a.H[b].bb,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.H[b].S[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}function Ie(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 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 Je(a,b,c){var d=null;if(b=Z(a,b,!0)){var e=Ge(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.v-e[1])&&(g=" + "+I(f)),f=e[0]+" ("+W(a,e[1])+")"+g,c&&a.f(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.v)&&(g=" - "+I(f)),f=e[4]+" ("+W(a,e[5])+")"+g,c&&a.f(f),d||(d=f))}else c&&a.f("no symbols")}return d}
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} 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 f=b[1];if("m"==f)d=!0;else{var g=f.indexOf("=");if(0<g)b=f.substr(g+1),f=f.substr(0,g);else if(2<b.length)b=b[2];else{a.f("missing value for "+b[1]);return}g=wd(a,b);if(void 0===g)return;switch(f.toUpperCase()){case "PC":e.g=g%Gb;a.I=X(e.g);break;default:a.f("unknown register: "+
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: "+ f);return}Q(a.D);a.f("updated registers:")}}f=Md;(g=Ld[f]||"")&&(g+="="+W(a,a.Sa(f))+" ");f=""+g;d&&(f+="\n");a.f(f);c&&(a.I=X(e.g),Sd(a,W(a,a.I.v)))}}function Ke(a,b){b=Ya(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)}
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 Le(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;qb(c,function(){return Na(a,!0)&&ac(a,e,d,!1)},function(){a.ea&&a.ea.stop();Q(a.D,-1);Na(a,!1)})}}
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 Sd(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 f;0<e&&d--;){f=Ma(a,!1)||a.L?a.B:null;var g=null!=f?"cycles":null,h=Ge(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]&&(g=h[3],f=null);f=ve(a,b,g,f);a.f(f);a.I=b;e-=b.v-k;c++}}}
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++}}} function Fe(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(La(a)&&0<b.length){a.O&&(b="a "+W(a,a.N.v)+" "+b);var f=!1,g=b.replace(/ +/g," ").split(" ");g[0]=g[0].toLowerCase();if(g&&g.length)for(var h=g[0],k=h.charAt(0),m=1;m<h.length;m++){var n=h.charAt(m);if("?"==k||"r"==k||"a">n||"z"<n){g[0]=h.substr(m);g.unshift(h.substr(0,m));break}}switch(g[0].charAt(0)){case "a":var p=
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= Z(a,g[1],!0);if(p)if(a.N=p,void 0===g[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.Va(p,q[K],1);a.f(ve(a,a.N))}}break;case "b":a:{var za=g[0],Ba=g[1],nf=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)");
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)"); else{var ja=za.charAt(1);if("l"==ja){var pc;pc=0+Ee(a,a.g);pc+=Ee(a,a.K);(pc+=Ee(a,a.G))||a.f("no breakpoints")}else if("n"==ja){var Td=+Ba||0;Ba&&(a.ga=Td);a.f("break after "+Td+" 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?(Dd(a),a.f("all breakpoints cleared")):Ce(a,a.g,F)||Ce(a,a.K,F)||Ce(a,a.G,F)||a.f("breakpoint missing: "+W(a,F.v)):null!=F.v&&(Jd(a,F,nf),"p"==ja?a.va(a.g,F):"r"==ja?a.va(a.K,F):
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): "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=g[0],R=g[1],ca=g[2],of=g[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"==
"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"== R){var qc=Me(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],Fa;for(Fa in sc.S)if("."!=Fa.charAt(0)){var Ud=sc.S[Fa].o;if(void 0!==Ud){var Vd=sc.S[Fa].l;Vd&&(Fa=Vd);a.f(W(a,Ud)+" "+Fa)}}}else{if("d"==Da){for(Ca in N)if(g[1]==Ca){var Wd=a.na[Ca];Wd?(g.shift(),g.shift(),Wd(g)):a.f("no dump registered for "+R);break a}R||(Da=a.Ba||"dw")}else a.Ba=Da;if("dh"==Da){var Xd=R,Yd=ca,Zd="",$d=0,P=a.P,S=a.j;if(S.length){var L=
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= +Xd||a.pa,Za=+Yd||10;isNaN(L)?L=Za:Zd="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"==Yd&&(Za=1E5,tc=["CALL"]);for(void 0!==Xd&&a.f(L+" instructions earlier:");0<Za&&P!=a.P;){var ae=S[P++];if(null==ae.v)break;var $a=X(ae.v),pf=L--,be=ve(a,$a,"history",pf);(!tc.length||0<=be.indexOf(tc[0]))&&a.f(be);$a.Ra&&(P+=$a.Ra,Za-=$a.Ra,L-=$a.Ra);P>=S.length&&(P=0);a.pa=L;$d++;Za--}}$d||(a.f("no "+Zd+"history available"),
+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"), a.pa=void 0)}else{var ka=Z(a,R);if(ka){var la=0,ce="ds"==Da;if(ca){if("l"==ca.charAt(0))ca=ca.substr(1)||of,la=yd(a,ca);else{var de=Z(a,ca);de&&(la=de.v-ka.v)}0>la&&(la=0);65536<la&&(la=65536)}var qf=a.ba;ka.ba&&(a.ba=ka.ba);for(var ee="db"==Da?1:2,uc=la||32,vc=1==ee?2:4,rf=(uc+vc-1)/vc|0||1,ma="";rf--&&0<uc;){for(var na="",fe="",R=W(a,ka.v),ge=vc;0<ge--&&0<uc--;){var Bb=a.wa(ka,1);ce?(na&&(na+=","),na+=Bb):(na+=Kd(Bb),na+=" ");for(var he=0;1==ee&&6>he;he++)fe+=String.fromCharCode((Bb%64|0)+32),
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)+32), Bb/=64}ma&&(ma+="\n");ma=ce?ma+(na+","):ma+(R+": "+na+(0>ge?" "+fe:""))}ma&&a.f(ma);a.xa=ka;a.ba=qf}}}}break;case "e":if("else"==g[0])break;var ie,je,ke=g[0],wc=g[1];"e"==ke||"ew"==ke?(ie=a.wa,je=a.Va):wc=null;if(null==wc)a.f("edit memory commands:"),a.f("\tew [a] [...] edit words at address a");else{var Cb=Z(a,wc);if(Cb)for(var Db=2;Db<g.length;Db++){var xc=wd(a,g[Db]);if(void 0===xc){a.f("unrecognized value: "+g[Db]);break}a.f("changing "+W(a,Cb.v)+" from "+Kd(ie.call(a,Cb))+" to "+Kd(xc));je.call(a,
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, Cb,xc,1)}}break;case "g":a:{var le=g[1],sf=b;if(void 0!==le){var yc=Z(a,le,!0);if(!yc)break a;Jd(a,yc,sf);a.va(a.g,yc,!0)}Od(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"==g[0]){var zc;var ab=b.substr(2),ab=Ya(ab);wd(a,ab)?(c||a.f("true: "+ab),zc=!0):(c||a.f("false: "+ab),zc=!1);zc||(d=!1);break}f=!0;break;case "k":var tf=g[0];if("?"==g[1])a.f("stack trace commands:"),a.f("\tk\tshow frame addresses"),a.f("\tks\tshow symbol information");
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"); else{var Ac=0,Bc=X(),bb=X();for(a.f("stack trace for "+W(a,bb.v));10>Ac;){for(var oa=null,uf=256;65536>bb.v>>>0;){Bc.v=a.wa(bb,2);if(null==bb.v||!uf--)break;if(!(Bc.v&1)){for(var vf=a,Eb=Bc,me=null,cb=Eb.v,ne=cb,Cc=1;6>=Cc&&cb;Cc++){if(2<Cc){Eb.v=cb;var Fb=ve(vf,Eb);if(0<=Fb.indexOf("JSR")){var oe=Fb.indexOf(" ");if(cb+(Fb.indexOf(" ",oe+1)-oe-1)/2==ne){me=Fb;break}}}cb-=2}Eb.v=ne;if(oa=me)break}}if(!oa||null==oa)break;var pe=null;if("ks"==tf){var qe=oa.match(/[0-9A-F]+$/);qe&&(pe=Je(a,qe[0]))}oa=
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= Xa(oa,50)+" ;"+(pe||"stack="+W(a,bb.v));a.f(oa);Ac++}Ac||a.f("no return addresses found")}break;case "l":if("ln"==g[0]){Je(a,g[1],!0);break}f=!0;break;case "m":a:{var T,U=null,w=g[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"==g[2])a.V|=da,U=!0;
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; else if("off"==g[2]&&(a.V&=~da,U=!1,1073741824==da)){for(var re=1E3<=a.M.length?a.M.length-1E3:0;re<a.M.length;)a.f(a.M[re++]);a.M=[]}}var wf=0,db="";for(T in N)if(!w||w==T){var xf=!!(a.V&N[T]);if(null===U||U==xf)db&&(db+=","),++wf%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: ":"message categories:\n\t")+(db||"none"));Ed(a)}break;case "p":if("print"==g[0]){Ke(a,b.substr(5));
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)); break}var yf=g[0];if("?"==g[1])a.f("step commands:"),a.f("\tp\tstep over instruction"),a.f("\tpr\tstep over instruction with register update");else{var zf="pr"==yf?1:0;if(a.L)a.f("step in progress");else{var se=X(a.b.g);a.wa(se);a.L?(a.va(a.g,se,!0),Od(a)||(a.D&&cd(a.D),a.L=0)):Le(a,zf?"tr":"t")}}break;case "r":if("reset"==b){a.D&&a.D.reset();break}Rd(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var eb=+g[2];if(8==eb||10==eb||16==eb)a.ba=eb;else{a.f("invalid base: "+eb);break}}a.f("default base: "+
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: "+ a.ba);break;case "cs":var fb;void 0!==g[3]&&(fb=+g[3]);switch(g[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!==g[2]&&($c(a.b,+g[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(g[1]){a.f("unknown option: "+g[1]);break}case "?":a.f("debugger options:"),
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:"), 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":Le(a,g[0],g[1]);break;case "u":Sd(a,g[1],g[2],8);break;case "v":if("var"==g[0]){Ie(a,b.substr(3))||(d=!1);break}if("ver"==g[0]){a.f((Ab||"PDP10")+" version 1.34.0 ("+a.b.Za+",RELEASE)");a.f(window?window.navigator.userAgent:"");break}f=!0;
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; break;case "?":if(g[1]){Ke(a,b.substr(1));break}var Dc="commands:",Ec;for(Ec in Ne)Dc+="\n"+Xa(Ec,9)+Ne[Ec];jd(a)||(Dc+="\nnote: history disabled if no exec breakpoints");a.f(Dc);break;default:f=!0}f&&(a.f("unknown command: "+b),d=!1)}}catch(ue){a.f("debugger error: "+(ue.stack||ue.message)),d=!1}return d}function Yc(a,b,c){b=ud(a,b,c);for(var d in b)if(!Fe(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 Ne={"?":"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=20,Be=".WORD HLL HLLZ HLLO HLLE HRL HRLZ HRLO HRLE HRR HRRZ HRRO HRRE HLR HLRZ HLRO HLRE MOV MOVS MOVN MOVM EXCH BLT PUSH POP LDB DPB IBP ILDB IDPB SETZ SETO SETA SETCA SETM SETCM AND ANDCA ANDCM ANDCB IOR ORCA ORCM ORCB XOR EQV LSH LSHC ROT ROTC ADD SUB MUL IMUL DIV IDIV ASH ASHC FSC FADR FSBR FMPR FDVR DFN UFA FAD FSB FMP FDV AOBJP AOBJN CAI CA JUMP SKIP AOJ AOS SOJ SOS TR TL TD TS XCT JFFO JFCL JSR JSP JRST JSA JRA PUSHJ POPJ UUO".split(" "),
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=">> "; Md=0,Ld=["PC"],Oe={},we=(Oe[511]={88:64,89:63,90:58,91:27,92:28,93:25,94:29,95:26,160:56,161:48,162:46,163:84,164:57,165:49,166:47,168:21,169:22,170:69,171:70,172:88,173:85,174:83,176:91,177:23,178:24,179:92,180:86,181:87,182:89,183:90},Oe[508]={96:65,100:59,104:66,108:60,112:67,116:61,120:68,124:62,128:17,132:18,136:19,140:Ae,144:53,148:52,152:55,156:54,184:50,188:51,256:30,260:36,264:37,268:34,272:38,276:32,280:44,284:40,288:39,292:45,296:33,300:41,304:35,308:42,312:43,316:31,320:1,324:5,328:2,
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)}}); 332:6,336:3,340:7,344:4,348:8,352:9,356:13,360:10,364:14,368:11,372:15,376:12,380:16},Oe[504]={192:71,200:72,208:73,216:74,224:75,232:76,240:77,248:78},Oe[393]={384:79,385:80,392:81,393:82},Oe[448]={0:93},Oe),xe=["","I","M","S"],ye=" L E LE A GE N G".split(" "),ze="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),Nd=1E3,Qd=">> ";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)}});
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= function Pe(a,b,c){u.call(this,"Computer",a,33554432);this.i.T=!1;this.O=null;Qe(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=Re(this);if(this.b=z("CPU",this.id)){this.A=z("Debugger",this.id);this.C=new hc({id:this.Ka+".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(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: 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(Ab+" 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 f;if(a=Tc(this,"state")||(f=!0,a.state))this.L=b=a,f||(this.I=!0,this.g=Se),this.g&&(this.H=new O(this,"1.34.0"),Te(this.H)?b=null:
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} delete this.H);!b&&this.g&&(b=Ue(this))&&(this.I=!0);if(b){var g=this;J(b,null,!0,function(a,b,c){c?(g.G=null,g.I=!1,g.Y("Unable to load machine state from server (error "+c+(b?": "+Ya(b):"")+")")):(g.K=b,g.U=!0);E(g)})}else E(this);this.F.power||(this.M=!0);!c&&this.M&&Ve(this,this.Ea)}else x("Unable to find CPU component")}r(Pe,u);function Qe(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 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 Tc(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 Ve(a,b,c){for(var d=y(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!La(f)){La(f,function(){Ve(a,b,c)});return}}b.call(a,c)}
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; function We(a,b){var c=new O(a,"1.34.0",Xe);if(Te(c)&&Ye(c)){var d=c.get(Ze),e=b?b.get(Ze):"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=Pe.prototype;
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"!= l.Ea=function(a){void 0===a&&(a=this.g||(this.K?$e:Se));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==af)b=!0;else if(a>Se){if(Te(d,this.K)){this.B=new O(this,"1.34.0",bf);Te(this.B)&&(cf(this,d),a=df,ef(this.B));this.B.set(Ze,hb());ff(this.B);var e=this.g&&!this.I;if(a==$e||wa("Click OK to restore the previous "+Ab+" machine state, or CANCEL to reset the machine.")){if(c=Ye(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Te(d,g):("error"==f&&"no machine state"!=
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)}}; g?(this.Y("Error: "+g),"unable to verify user"==g&&(mb(gf,""),this.j=null)):this.f(f+": "+g),ef(d),Te(d)?(c=Ye(d),e=!0):c=!1))}e&&We(this,c?d:null)}else a==df&&d.clear()}else We(this);delete this.K;delete this.H}e=y(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.b&&(c=hf(this,g,d,b,c));b=[d,a,c];a!=af?Ve(this,this.fb,b):this.fb(b)}};
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} function hf(a,b,c,d,e){if(!b.i.T){b.i.T=!0;var f=null;try{if(e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,".")))),"string"===typeof f&&(f=null),!b.la(f,d)&&f&&(x("Unable to restore state for "+b.type),a.L&&!a.U?(c.clear(),a.g=Se,window&&window.location.reload()):a.N=!0,b.la(null),e=!1),!d&&b.Ya){var g=b.Ya.split("|");for(a=0;a<g.length;a++)b.status(g[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&&(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}; 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&&(hf(this,this.b,b,c,a),Q(this,-2),this.b.X());this.N&&(cf(this,b),b.clear());!c&&this.B&&(this.B.clear(),delete this.B);this.w=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 cf(a,b){if(wa("There may be a problem with your "+Ab+" machine.\n\nTo help us diagnose it, click OK to send this "+Ab+" machine state to http://www.pcjs.org.")){var c=a.aa;a=a.j||"";b=b.toString();var d={};d.app=Ab;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 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= function Me(a,b,c){var d,e="none";if(a.w)return null;a.w--;var f=new O(a,"1.34.0"),g=new O(a,"1.34.0",Xe),h=hb();g.set(Ze,h);f.set(Ze,h);f.set(jf,"1.34.0");f.set(kf,window?window.location.href:null);f.set(lf,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&&f.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&&f.set(m.id,d)),c&&(m.i.T=
!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} !1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.j&&mf(a,a.j,f.toString()),ff(g)&&ff(f)||(e=null,d=h=!0)):a.g&&(d=!0,h=a.g==Af),d&&f.clear(h)):e=f.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?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)}} 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 f=a.A&&a.A.ba||8,e=e||0,e=8==f?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);Sb(a,a.j);Mb(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?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]= 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?Me(d,!1,!0):Ve(d,d.Ea))},!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 "+Ab+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Me(d,a,!0);!a&&d.L?window&&window.location.reload():d.Ea(Se)}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=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} c,c.onclick=function(){var a=Re(d,!0);if(a){var b=!!(d.g&&!d.G||d.L),c=Me(d,b);b?mf(d,a,c):d.Y("Resume disabled, machine state not saved")}},!0}return!1};function Re(a,b){var c=a.j;c||((c=lb(gf),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=Bf(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(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 Bf(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(gf,b.data),a.j=b.data)}catch(d){x(d.message+" ("+c+")")}return a.j}function Ue(a){var b=null;a.j&&(b=Ua()+"/api/v1/user?req=load&user="+a.j+"&state="+Cf(a,"1.34.0"));return b}
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 mf(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Cf(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(gf,""),a.j=null)}}
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)}}); 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 bf="failsafe",Xe="validate",Ze="timestamp",jf="version",kf="url",lf="browser",gf="user",af=-1,Se=0,$e=1,df=2,Af=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 f=c[e],g=A(f),g=new Pe(g,d,!0);B(g,f);g.M&&Ve(g,g.Ea)}});
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}; 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.Ea(af)}});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&&Me(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=Cf(a,b,c);ef(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 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}; l.data=function(){return this.b};function Te(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 Ye(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 ff(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 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 ef(a,b){a.A="";a.b={};a.C=a.D=!1;b&&a.set("parms",b)}l.clear=function(a){ef(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 Cf(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 Df=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 Ef(a,b,c,d,e,f,g){f("Loading "+a+"...");J(a,null,!0,function(h,k,m){m?(k||(k="unable to load "+a+" ("+m+")"),g(k,null)):Ff(k,a,b,c,d,e,f,g)})}
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 Ff(a,b,c,d,e,f,g,h){function k(a,g){if(g)h(g,null);else{c&&(ta(c,b,a),(g=b)&&0>g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1<e.length&&(e+=",")):e='{state:"'+e+'",':e="{",e+='url:"'+g+'"}',"object"==typeof resources&&(g=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(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"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(p){g=null,a=p.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,g)}}a?f?Gf(a,g,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 Gf(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(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(f);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],f);Af(a,b,c)}})}else c(a,null)} "");a=a.replace(d[0],g);Gf(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||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|| function Hf(a,b,c,d,e){function f(a){if(void 0===k){var b=h&&D(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=Va(a))}function g(a){f("Error: "+a);m&&(--Df||wb(!0));m=!1}var h,k,m=!0;Df++;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||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|| (n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.0/components.xsl");n=function(e,k){k?Ef(d,null,a,null,!1,f,function(a,e){e?(ta(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--Df||wb(!0)):g("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),--Df||
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")}; wb(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?Ef(c,b,a,e,!0,f,n):Ff(c,null,b,a,e,!1,f,n)}else g("missing machine element: "+b)}catch(K){g(K.message)}return m}window.embedPDP10=function(a,b,c,d){wb(!1);return Hf("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){wb(!1);return Hf("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&&!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 window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Aa[a]){for(var c=!0,d=Aa,e=a,f=b.length,g=[],h=[],k="",m=null,n=0;n<f;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&&(g.push(h),h=[]);continue}}k+=p}}k&&h.push(k);h.length&&g.push(h);d[e]=g;ya(a)||(c=!1)}return c};window.enableEvents=wb;window.sendEvent=yb;})();//# sourceMappingURL=/tmp/pdpjs/1.34.0/pdp10-dbg.map

View file

@ -31,9 +31,9 @@ var k,aa="function"==typeof Object.defineProperties?Object.defineProperty:functi
function ea(){ba();var a=q.Symbol.iterator;a||(a=q.Symbol.iterator=q.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&aa(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return fa(this)}});ea=function(){}}function fa(a){var b=0;return ga(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function ga(a){ea();a={next:a};a[q.Symbol.iterator]=function(){return this};return a} function ea(){ba();var a=q.Symbol.iterator;a||(a=q.Symbol.iterator=q.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&aa(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return fa(this)}});ea=function(){}}function fa(a){var b=0;return ga(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function ga(a){ea();a={next:a};a[q.Symbol.iterator]=function(){return this};return a}
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 ha(a,b){if(b){var c=q;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 ha(a,b){if(b){var c=q;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})}}
ha("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}});ha("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}}); ha("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}});ha("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}});
var ia=Math.pow(2,36),ja=-Math.pow(2,35),t={yb:0,Oa:1,Ab:2,Bb:3,Cb:4,Db:5,Eb:6,Fb:7,Fa:8,Gb:9,Pa:10,Hb:11,Ib:12,Qa:13,Jb:14,Kb:15,Lb:16,Mb:17,Nb:18,Ob:19,Pb:20,Qb:21,Rb:22,Sb:23,Tb:24,Ub:25,Vb: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,Ea:65,xb:66,zb:67,Wb:68,E:69,Xb:70,Yb:71,Zb:72,$b:73,ac:74,bc:75,cc:76,dc:77,ec:78,fc:79,gc:80,Q:81, var ia=Math.pow(2,36),ja=-Math.pow(2,35),t={wb:0,Ma:1,yb:2,zb:3,Ab:4,Bb:5,Cb:6,Db:7,Ea:8,Eb:9,Na:10,Fb:11,Gb:12,Oa:13,Hb:14,Ib:15,Jb:16,Kb:17,Lb:18,Mb:19,Nb:20,Ob:21,Pb:22,Qb:23,Rb:24,Sb:25,Tb: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,Da:65,vb:66,xb:67,Ub:68,E:69,Vb:70,Wb:71,Xb:72,Yb:73,Zb:74,$b:75,ac:76,bc:77,cc:78,dc:79,ec:80,Q:81,
hc:82,ic:83,jc:84,kc:85,lc:86,mc:87,nc:88,oc:89,Ua:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,pc:97,qc:98,rc:99,d:100,e:101,sc:102,tc:103,uc:104,vc:105,wc:106,k:107,xc:108,yc:109,n:110,zc:111,p:112,q:113,r:114,Ac:115,t:116,Bc:117,Cc:118,Dc:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Ra:127}; fc:82,gc:83,hc:84,ic:85,jc:86,kc:87,lc:88,mc:89,Sa:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,nc:97,oc:98,pc:99,d:100,e:101,qc:102,rc:103,sc:104,tc:105,uc:106,k:107,vc:108,wc:109,n:110,xc:111,p:112,q:113,r:114,yc:115,t:116,zc:117,Ac:118,Bc:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Pa:127};
function u(a,b){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Ia=b.comment;this.Ta=b;this.exports={};this.i=this.bindings={};a=this.id.indexOf(".");0>a?this.ia=this.id:(this.ja=this.id.substr(0,a),this.ia=this.id.substr(a+1));this.b={ready:!1,na:!1,Ba:!1,w:!1,error:!1};this.qa=null;this.b.error=!1;this.o=this.c=this.j=this.m=this.Y=null;v.push(this)}function ka(a,b,c){la[a]&&b&&(la[a][b]=c)}function w(){return Date.now()||+new Date} function u(a,b){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Ha=b.comment;this.Ra=b;this.exports={};this.i=this.bindings={};a=this.id.indexOf(".");0>a?this.ia=this.id:(this.ja=this.id.substr(0,a),this.ia=this.id.substr(a+1));this.b={ready:!1,na:!1,Ba:!1,w:!1,error:!1};this.qa=null;this.b.error=!1;this.o=this.c=this.l=this.m=this.Y=null;v.push(this)}function ka(a,b,c){la[a]&&b&&(la[a][b]=c)}function w(){return Date.now()||+new Date}
function x(a){window&&window.alert(a)}function ma(a){var b=!1;window&&(b=window.confirm(a));return b}function y(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<v.length;b++){var d=v[b];a&&d.id.indexOf(a)||c.push(d)}return c}function na(a){if(void 0!==a){var b;for(b=0;b<v.length;b++)if(v[b].id===a)return v[b]}return null} function x(a){window&&window.alert(a)}function ma(a){var b=!1;window&&(b=window.confirm(a));return b}function y(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<v.length;b++){var d=v[b];a&&d.id.indexOf(a)||c.push(d)}return c}function na(a){if(void 0!==a){var b;for(b=0;b<v.length;b++)if(v[b].id===a)return v[b]}return null}
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,f=0;f<e.length;f++){var g=e[f];if(1===g.nodeType){var h=g.getAttribute("class");if(h)for(var l=h.split(" "),m=0;m<l.length;m++)switch(h=l[m],h){case c+"-binding":(h=A(g))&&h.binding&&a.S(h.type,h.binding,g,h.value),m=l.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,f=0;f<e.length;f++){var g=e[f];if(1===g.nodeType){var h=g.getAttribute("class");if(h)for(var l=h.split(" "),m=0;m<l.length;m++)switch(h=l[m],h){case c+"-binding":(h=A(g))&&h.binding&&a.S(h.type,h.binding,g,h.value),m=l.length}}}}
@ -58,79 +58,79 @@ function Ia(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return
function Ka(a){if(!La){var b,c={};if(window){b||(b=window.location.search.substr(1));for(var d,e=/\+/g,f=/([^&=]+)=?([^&]*)/g;d=f.exec(b);)c[decodeURIComponent(d[1].replace(e," "))]=decodeURIComponent(d[2].replace(e," "))}La=c}return La[a]}function Ma(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function I(a){J.init.push(a)} function Ka(a){if(!La){var b,c={};if(window){b||(b=window.location.search.substr(1));for(var d,e=/\+/g,f=/([^&=]+)=?([^&]*)/g;d=f.exec(b);)c[decodeURIComponent(d[1].replace(e," "))]=decodeURIComponent(d[2].replace(e," "))}La=c}return La[a]}function Ma(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function I(a){J.init.push(a)}
function Na(a){if(Oa)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 K(a){!Oa&&a?(Oa=!0,Pa&&Qa("init"),Ra&&Qa("show")):Oa=a}function Qa(a){J[a]&&Na(J[a])}var La=null,J={init:[],show:[],exit:[]},Pa=!1,Ra=!1,Oa=!0,Ga=null;Ma("onload",function(){Pa=!0;Na(J.init)});Ma("onpageshow",function(){Ra=!0;Na(J.show)});Ma(Ja("Opera")||Ja("iOS")?"onunload":"onbeforeunload",function(){Na(J.exit)}); function Na(a){if(Oa)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 K(a){!Oa&&a?(Oa=!0,Pa&&Qa("init"),Ra&&Qa("show")):Oa=a}function Qa(a){J[a]&&Na(J[a])}var La=null,J={init:[],show:[],exit:[]},Pa=!1,Ra=!1,Oa=!0,Ga=null;Ma("onload",function(){Pa=!0;Na(J.init)});Ma("onpageshow",function(){Ra=!0;Na(J.show)});Ma(Ja("Opera")||Ja("iOS")?"onunload":"onbeforeunload",function(){Na(J.exit)});
var C="pdp10",L="PDPjs",Sa=Math.pow(2,18),Ta=Math.pow(2,36),C="pdp10",L="PDPjs"; var C="pdp10",L="PDPjs",Sa=Math.pow(2,18),Ta=Math.pow(2,36),C="pdp10",L="PDPjs";
function Ua(a,b){u.call(this,"Panel",a);this.A=this.B=0;this.O=b;this.f=this.v=this.g=this.h=0;this.F=this.H=-1;this.K=this.L=this.s=!1;this.M=Va;this.l={};this.a={START:[1,1,!0,!1,this.eb],STEP:[1,1,!1,!1,this.fb],ENABLE:[1,1,!1,!1,this.Za],CONT:[1,1,!0,!1,this.Xa],DEP:[0,0,!0,!1,this.Ya],EXAM:[1,1,!0,!1,this.$a],LOAD:[1,1,!0,!1,this.bb],TEST:[0,0,!0,!1,this.ab]};for(a=0;22>a;a++)this.a["S"+a]=[0,0,!1,!1,this.cb,a];this.o=this.c=this.j=this.m=null;this.exports={hold:this.Wa,toggle:this.qb,reset:this.mb, function Ua(a,b){u.call(this,"Panel",a);this.A=this.B=0;this.O=b;this.f=this.u=this.g=this.h=0;this.F=this.H=-1;this.K=this.L=this.s=!1;this.M=Va;this.j={};this.a={START:[1,1,!0,!1,this.bb],STEP:[1,1,!1,!1,this.cb],ENABLE:[1,1,!1,!1,this.Xa],CONT:[1,1,!0,!1,this.Va],DEP:[0,0,!0,!1,this.Wa],EXAM:[1,1,!0,!1,this.Ya],LOAD:[1,1,!0,!1,this.$a],TEST:[0,0,!0,!1,this.Za]};for(a=0;22>a;a++)this.a["S"+a]=[0,0,!1,!1,this.ab,a];this.o=this.c=this.l=this.m=null;this.exports={hold:this.Ua,toggle:this.ob,reset:this.kb,
set:this.pb};E(this)}r(Ua,u);k=Ua.prototype;k.reset=function(a){this.stop();a&&N(this,this.h=0)}; set:this.nb};E(this)}r(Ua,u);k=Ua.prototype;k.reset=function(a){this.stop();a&&N(this,this.h=0)};
k.S=function(a,b,c,d){if(this.m&&this.m.S(a,b,c,d)||this.c&&this.c.S(a,b,c,d))return!0;switch(b){case "PC":return this.i[b]=c,this.B++,!0;default:return"led"==a||"rled"==a?(this.i[b]=c,this.l[b]=d?1:0,this.B++,!0):"switch"==a?(void 0===this.a[b]&&(this.a[b]=[d?1:0,d?1:0]),this.i[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){Wa(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){O(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){Wa(a, k.S=function(a,b,c,d){if(this.m&&this.m.S(a,b,c,d)||this.c&&this.c.S(a,b,c,d))return!0;switch(b){case "PC":return this.i[b]=c,this.B++,!0;default:return"led"==a||"rled"==a?(this.i[b]=c,this.j[b]=d?1:0,this.B++,!0):"switch"==a?(void 0===this.a[b]&&(this.a[b]=[d?1:0,d?1:0]),this.i[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){Wa(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){O(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){Wa(a,
b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){O(a,b)}}(this,b),!0):u.prototype.S.call(this,a,b,c,d)}};k.U=function(a,b,c,d){this.m=a;this.j=b;this.c=c;this.o=d;Xa(this);Ya(this)};k.T=function(a,b){if(!b)if(this.O&&Za(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};k.N=function(a){return a?this.save():!0};k.save=function(){var a=new P(this);a.set(0,[this.f,this.h,this.g]);return a.data()}; b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){O(a,b)}}(this,b),!0):u.prototype.S.call(this,a,b,c,d)}};k.U=function(a,b,c,d){this.m=a;this.l=b;this.c=c;this.o=d;Xa(this);Ya(this)};k.T=function(a,b){if(!b)if(this.O&&Za(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};k.N=function(a){return a?this.save():!0};k.save=function(){var a=new P(this);a.set(0,[this.f,this.h,this.g]);return a.data()};
k.restore=function(a){if(a=a[0])Q(this,this.f=a[0]),N(this,this.h=a[1]),$a(this,a[2]);return!0};k.mb=function(){for(var a in this.a){var b=this.a[a];b[1]=b[0]}Ya(this);return!0};function ab(a,b,c){if(a=a.i[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function Xa(a,b){for(var c in a.l)ab(a,c,null!=b?b:a.l[c])}function bb(a,b,c){if(a=a.i[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function Ya(a){for(var b in a.a)bb(a,b,a.a[b][1])} k.restore=function(a){if(a=a[0])Q(this,this.f=a[0]),N(this,this.h=a[1]),$a(this,a[2]);return!0};k.kb=function(){for(var a in this.a){var b=this.a[a];b[1]=b[0]}Ya(this);return!0};function ab(a,b,c){if(a=a.i[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function Xa(a,b){for(var c in a.j)ab(a,c,null!=b?b:a.j[c])}function bb(a,b,c){if(a=a.i[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function Ya(a){for(var b in a.a)bb(a,b,a.a[b][1])}
k.Wa=function(a,b,c){if(Wa(this,b)){if(c){var d=this;setTimeout(function(){O(d,b);a&&a()},+c);return!1}O(this,b)}return!0}; k.Ua=function(a,b,c){if(Wa(this,b)){if(c){var d=this;setTimeout(function(){O(d,b);a&&a()},+c);return!1}O(this,b)}return!0};
k.pb=function(a,b){if("SR"==a){a=b;b=8;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]+$/): k.nb=function(a,b){if("SR"==a){a=b;b=8;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)}return $a(this,c)}return(c=this.a[a])?(c[1]=+b?1:0,bb(this,a,c[1]),!0):!1};k.qb=function(a){return Wa(this,a)?(O(this,a),!0):!1};function Wa(a,b){var c=a.a[b];return c?(bb(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=cb&&(a.K=b==db,a.L=b==eb),!0):!1}function O(a,b){var c=a.a[b];c&&(c[2]&&c[3]&&(bb(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)} 2==e&&d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f)}return $a(this,c)}return(c=this.a[a])?(c[1]=+b?1:0,bb(this,a,c[1]),!0):!1};k.ob=function(a){return Wa(this,a)?(O(this,a),!0):!1};function Wa(a,b){var c=a.a[b];return c?(bb(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=cb&&(a.K=b==db,a.L=b==eb),!0):!1}function O(a,b){var c=a.a[b];c&&(c[2]&&c[3]&&(bb(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}
k.eb=function(a){a||this.c.b.u||(this.c.f=this.f%Sa,this.a[fb]&&this.a[fb][1]&&R(this.c))};k.fb=function(){};k.Za=function(a){a||S(this.c)};k.Xa=function(a){if(!a&&!this.c.b.u)if(this.a[fb]&&this.a[fb][1])R(this.c);else{a=this.o;var b;if(b=a)a.b.na&&(a.b.Ba=!0),b=!a.b.na;if(b)va(a,!0),a.f(0,null),va(a,!1);else try{var c=this.c.va(1);0<c&&(gb(this.c,c),hb(this.c,c,!0),ib(this.c,c))}catch(d){"number"!=typeof d&&(c=this.c,a=d.stack||d.message,c.b.error=!0,c.C(a))}this.stop();this.m&&T(this.m)}}; k.bb=function(a){a||this.c.b.v||(this.c.f=this.f%Sa,this.a[fb]&&this.a[fb][1]&&R(this.c))};k.cb=function(){};k.Xa=function(a){a||S(this.c)};k.Va=function(a){if(!a&&!this.c.b.v)if(this.a[fb]&&this.a[fb][1])R(this.c);else{a=this.o;var b;if(b=a)a.b.na&&(a.b.Ba=!0),b=!a.b.na;if(b)va(a,!0),a.f(0,null),va(a,!1);else try{var c=this.c.ua(1);0<c&&(gb(this.c,c),hb(this.c,c,!0),ib(this.c,c))}catch(d){"number"!=typeof d&&(c=this.c,a=d.stack||d.message,c.b.error=!0,c.C(a))}this.stop();this.m&&T(this.m)}};
k.Ya=function(a){a&&!this.c.b.u&&(this.K&&jb(this),a=N(this,this.h=this.g),this.M==Va?kb(this.j,this.f,a):this.c.ta(this.f,a))};k.$a=function(a){if(!a&&!this.c.b.u){this.L&&jb(this);if(this.M==Va){a=this.j;var b=this.f;a=a.a[(b&a.g)>>>a.f].Ca(b&16383,b)}else a=this.c.ba(this.f);N(this,this.h=a)}};k.bb=function(a){a||this.c.b.u||Q(this,this.g)};k.ab=function(a){a?(this.s=!0,Xa(this,!0)):(this.s=!1,Xa(this),$a(this,0))};k.cb=function(a,b){this.g=a?this.g|1<<b:this.g&~(1<<b)}; k.Wa=function(a){a&&!this.c.b.v&&(this.K&&jb(this),a=N(this,this.h=this.g),this.M==Va?kb(this.l,this.f,a):this.c.ta(this.f,a))};k.Ya=function(a){if(!a&&!this.c.b.v){this.L&&jb(this);if(this.M==Va){a=this.l;var b=this.f,c=a.a[(b&a.g)>>>a.f];a.h++;b=c.a(b&16383,b);a.h--;a=b}else a=this.c.ba(this.f);N(this,this.h=a)}};k.$a=function(a){a||this.c.b.v||Q(this,this.g)};k.Za=function(a){a?(this.s=!0,Xa(this,!0)):(this.s=!1,Xa(this),$a(this,0))};k.ab=function(a,b){this.g=a?this.g|1<<b:this.g&~(1<<b)};
function jb(a){var b=1,c=a.j.g;a.a[cb]&&a.a[cb][1]||(b=-b);Q(a,a.f&~c|a.f+b&c)}function Q(a,b){a.f=b&a.j.g;if(a.F!==a.f){a.F=a.f;b=a.F;for(var c=0;22>c;c++){var d=a,e="A"+c,f=b&1<<c;d.l[e]=f;d.s||ab(d,e,f)}}}function N(a,b){a.v=b%Ta;if(a.H!==a.v){a.H=a.v;b=a.H;for(var c=0;16>c;c++){var d=a,e="D"+c,f=b&1<<c;d.l[e]=f;d.s||ab(d,e,f)}}return a.v}function $a(a,b){a.g=b|0;for(b=0;22>b;b++)a.a["S"+b][1]=a.g&1<<b?1:0;Ya(a);return!0}k.stop=function(){Q(this,this.c.f)}; function jb(a){var b=1,c=a.l.g;a.a[cb]&&a.a[cb][1]||(b=-b);Q(a,a.f&~c|a.f+b&c)}function Q(a,b){a.f=b&a.l.g;if(a.F!==a.f){a.F=a.f;b=a.F;for(var c=0;22>c;c++){var d=a,e="A"+c,f=b&1<<c;d.j[e]=f;d.s||ab(d,e,f)}}}function N(a,b){a.u=b%Ta;if(a.H!==a.u){a.H=a.u;b=a.H;for(var c=0;16>c;c++){var d=a,e="D"+c,f=b&1<<c;d.j[e]=f;d.s||ab(d,e,f)}}return a.u}function $a(a,b){a.g=b|0;for(b=0;22>b;b++)a.a["S"+b][1]=a.g&1<<b?1:0;Ya(a);return!0}k.stop=function(){Q(this,this.c.f)};
function Za(){for(var a=D(document,C,"panel"),b=0;b<a.length;b++){var c=a[b],d=A(c),e=na(d.id);e||(e=new Ua(d,!0));B(e,c)}}var Va=7,db="DEP",fb="ENABLE",eb="EXAM",cb="STEP";I(Za);function lb(a,b,c){u.call(this,"Bus",a);this.c=b;this.o=c;this.s=+a.busWidth||18;this.l=1<<this.s;this.g=this.l-1;this.f=Math.log2(16384);this.h=this.l/16384|0;this.a=[];a=new U;mb(a);this.a=Array(this.h);for(b=0;b<this.h;b++)this.a[b]=a;E(this)}r(lb,u);k=lb.prototype;k.reset=function(){}; function Za(){for(var a=D(document,C,"panel"),b=0;b<a.length;b++){var c=a[b],d=A(c),e=na(d.id);e||(e=new Ua(d,!0));B(e,c)}}var Va=7,db="DEP",fb="ENABLE",eb="EXAM",cb="STEP";I(Za);function lb(a,b,c){u.call(this,"Bus",a);this.c=b;this.o=c;this.u=+a.busWidth||18;this.s=1<<this.u;this.g=this.s-1;this.f=Math.log2(16384);this.j=this.s/16384|0;this.h=0;this.a=[];a=new U(this);mb(a);this.a=Array(this.j);for(b=0;b<this.j;b++)this.a[b]=a;E(this)}r(lb,u);k=lb.prototype;k.reset=function(){};
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.save=function(){var a=new P(this);a.set(0,nb(this));return a.data()};k.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,f=Array(4096),g=0;g<d.length-1;)for(var h=d[g++],l=d[g++];h--;)f[e++]=l;d=f}e=this.a[c];if(!e||!e.restore(d)){x("Unable to restore memory block "+c);a=!1;break a}}a=!0}return a}; 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.save=function(){var a=new P(this);a.set(0,nb(this));return a.data()};k.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,f=Array(4096),g=0;g<d.length-1;)for(var h=d[g++],l=d[g++];h--;)f[e++]=l;d=f}e=this.a[c];if(!e||!e.restore(d)){x("Unable to restore memory block "+c);a=!1;break a}}a=!0}return a};
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],l=16384*g,m=16384-(e-l);m>f&&(m=f);if(h&&h.size){if(h.type==d){if(e+f<=h.X)return h.sa+=h.X-e,h.X=e,!0;if(e>=h.X+h.sa){m=h.size-(e-l);m>f&&(m=f);h.sa=e-h.X+m;e=l+16384;f-=m;g++;continue}}return pb(qb,e,f)}e=new U(0,e,m,16384,d);mb(e,h);a.a[g++]=e;e=l+16384;f-=m}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+rb[d]+" at "+wa(b)),!0):pb(sb,b,c)}function kb(a,b,c){a.a[(b&a.g)>>>a.f].ua(c,b&16383,b)} 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],l=16384*g,m=16384-(e-l);m>f&&(m=f);if(h&&h.size){if(h.type==d){if(e+f<=h.X)return h.sa+=h.X-e,h.X=e,!0;if(e>=h.X+h.sa){m=h.size-(e-l);m>f&&(m=f);h.sa=e-h.X+m;e=l+16384;f-=m;g++;continue}}return pb(qb,e,f)}e=new U(a,e,m,16384,d);mb(e,h);a.a[g++]=e;e=l+16384;f-=m}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+rb[d]+" at "+wa(b)),!0):pb(sb,b,c)}function kb(a,b,c){var d=a.a[(b&a.g)>>>a.f];a.h++;d.m(c,b&16383,b);a.h--}
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.j;d++){var e=a.a[d];if(e.pa||e.Ta){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.l=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.h=a;this.id=ub+=2;this.X=b;this.sa=c;this.size=d||0;this.type=e||vb;this.o=e==wb;this.ba=this.a=this.f=this.aa;this.ta=this.m=this.g=this.da;this.i=this.l=0;mb(this);this.pa=this.Ta=!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-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]}; function Ab(a,b,c){c&&a.i||(a.ba=b[2]||a.aa);if(c||void 0===c)a.f=b[0]||a.aa,a.a=b[2]||a.aa}function Bb(a,b,c){c&&a.l||(a.ta=!a.o&&b[3]||a.da);if(c||void 0===c)a.g=b[1]||a.da,a.m=b[3]||a.da}function mb(a,b){a.i=a.l=0;b&&((a.i=b.i)&&Ab(a,Cb,!1),(a.l=b.l)&&Bb(a,Cb,!1))}k.aa=function(){var a=this.h;a.h||S(a.c);return-1};k.da=function(){};k.fb=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.ib=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.rb=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.tb=function(a,b){this.c[b]=a;this.pa=!0};k.eb=function(a,b,c,d){return this.f(a,b,c,d)};k.gb=function(a,b){return this.a(a,b)};k.qb=function(a,b,c,d,e){this.o||this.g(a,b,c,d,e)};k.sb=function(a,b,c){this.o||this.m(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.fb,U.prototype.rb,U.prototype.ib,U.prototype.tb],Cb=[U.prototype.eb,U.prototype.qb,U.prototype.gb,U.prototype.sb];
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.va=0;this.ya=b;this.L=c;this.wa=Math.round(this.ya/1E4)/100;this.H=this.wa*this.L;this.xa=this.ga=this.M=this.ma=0;this.b.v=this.b.Ca=!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.j=[];this.Ia=this.lb.bind(this);this.B=this.h=this.u=this.A=this.g=this.ca=this.s=this.O=this.za=this.F=0;this.ha=
null;E(this)}r(V,u);k=V.prototype;k.U=function(a,b,c,d){this.m=a;this.j=b;this.o=d;this.ha=a.g;for(a=0;a<Db.length;a++)(b=this.i[Db[a]])&&this.m.S(null,Db[a],b);E(this)};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1}; null;E(this)}r(V,u);k=V.prototype;k.U=function(a,b,c,d){this.m=a;this.l=b;this.o=d;this.ha=a.g;for(a=0;a<Db.length;a++)(b=this.i[Db[a]])&&this.m.S(null,Db[a],b);E(this)};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};
k.T=function(a,b){var c=W(this.m,"autoStart");null!=c?this.b.G="true"==c?!0:"false"==c?!1:!!c:null==this.b.G&&(this.b.G=void 0===this.i.run);if(!b){if(a){Eb(this);if(!this.restore(a))return!1;Fb(this)}else this.reset();this.status("No debugger detected");this.b.G||this.J("CPU will not be auto-started "+(this.ha?"(click Run to start)":"(type 'go' to start)"))}return!0};k.N=function(a){return a?this.save():!0};k.G=function(){return this.b.u?!0:this.b.G?(R(this),!0):!1};k.Ma=function(){return 0}; k.T=function(a,b){var c=W(this.m,"autoStart");null!=c?this.b.G="true"==c?!0:"false"==c?!1:!!c:null==this.b.G&&(this.b.G=void 0===this.i.run);if(!b){if(a){Eb(this);if(!this.restore(a))return!1;Fb(this)}else this.reset();this.status("No debugger detected");this.b.G||this.J("CPU will not be auto-started "+(this.ha?"(click Run to start)":"(type 'go' to start)"))}return!0};k.N=function(a){return a?this.save():!0};k.G=function(){return this.b.v?!0:this.b.G?(R(this),!0):!1};k.Ka=function(){return 0};
function Fb(a){void 0===a.la&&(a.la=0);void 0===a.ea&&(a.ea=-1);void 0===a.fa&&(a.fa=-1);a.b.oa=0<=a.la&&0<a.ea;a.b.oa&&(a.ka=0,a.K=a.la-a.B)}function ib(a,b){if(a.b.oa){var c=!1;a.ka=a.ka+a.Ma()|0;a.K-=b;0>=a.K&&(a.K+=a.ea,c=!0);0<=a.fa&&a.fa<=X(a)&&(a.ea=a.fa=-1,Fb(a),S(a),c=!0);c&&a.J(X(a)+" cycles: checksum="+F(a.ka))}} function Fb(a){void 0===a.la&&(a.la=0);void 0===a.ea&&(a.ea=-1);void 0===a.fa&&(a.fa=-1);a.b.oa=0<=a.la&&0<a.ea;a.b.oa&&(a.ka=0,a.K=a.la-a.B)}function ib(a,b){if(a.b.oa){var c=!1;a.ka=a.ka+a.Ka()|0;a.K-=b;0>=a.K&&(a.K+=a.ea,c=!0);0<=a.fa&&a.fa<=X(a)&&(a.ea=a.fa=-1,Fb(a),S(a),c=!0);c&&a.J(X(a)+" cycles: checksum="+F(a.ka))}}
k.S=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.i[b]=c,!0;case "run":return this.i[b]=c,c.onclick=function(){var a;if(a=d.m)if(a=d.m,a.b.w)a=!0;else{var b=null,c,h=y(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.b.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.b.w);c++);c==h.length&&(b=a);x("The "+b.type+" component ("+b.id+") is not "+(b.b.ready?"powered yet":"ready yet"+(b.qa?" (waiting for notification)":""))+".");a=!1}a&&(d.b.u?S(d):R(d))},!0;case "speed":return this.i[b]= k.S=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.i[b]=c,!0;case "run":return this.i[b]=c,c.onclick=function(){var a;if(a=d.m)if(a=d.m,a.b.w)a=!0;else{var b=null,c,h=y(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.b.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.b.w);c++);c==h.length&&(b=a);x("The "+b.type+" component ("+b.id+") is not "+(b.b.ready?"powered yet":"ready yet"+(b.qa?" (waiting for notification)":""))+".");a=!1}a&&(d.b.v?S(d):R(d))},!0;case "speed":return this.i[b]=
c,!0;case "setSpeed":return this.i[b]=c,c.onclick=function(){Gb(d,d.L<<1,!0)},c.textContent=this.H.toFixed(2)+"Mhz",!0}return!1};function hb(a,b,c){a.B+=b;c&&(a.v=a.A=0)}function Hb(a,b){var c=1;b&&1<a.L&&a.F&&(c=a.F/a.xa);a.ya=Math.round(1E3/Ib);a.ga=Math.floor(a.za/Ib*c);b||(a.M=a.ga);a.ma=0}function X(a){return a.B+a.h+a.v-a.A}function Eb(a){a.F=0;a.Aa=0;a.B=a.h=a.v=a.A=0;Fb(a);Gb(a,1)} c,!0;case "setSpeed":return this.i[b]=c,c.onclick=function(){Gb(d,d.L<<1,!0)},c.textContent=this.H.toFixed(2)+"Mhz",!0}return!1};function hb(a,b,c){a.B+=b;c&&(a.u=a.A=0)}function Hb(a,b){var c=1;b&&1<a.L&&a.F&&(c=a.F/a.wa);a.xa=Math.round(1E3/Ib);a.ga=Math.floor(a.ya/Ib*c);b||(a.M=a.ga);a.ma=0}function X(a){return a.B+a.h+a.u-a.A}function Eb(a){a.F=0;a.za=0;a.B=a.h=a.u=a.A=0;Fb(a);Gb(a,1)}
function Gb(a,b,c){if(void 0!==b){.8>a.F/a.H&&(b=1);a.L=b;b=a.xa*a.L;if(a.H!=b){a.H=b;b=a.H.toFixed(2)+"Mhz";var d=a.i.setSpeed;d&&(d.textContent=b);a.J("target speed: "+b)}c&&a.m&&(c=a.m,c.Y&&(d=b=0,window&&(b=window.scrollX,d=window.scrollY),c.Y.focus(),window&&window.scrollTo(b,d)))}hb(a,a.h);a.h=0;a.g=w();a.s=0;Hb(a)}function Jb(a){for(var b=[],c=0;c<a.l.length;c++)b.push(a.l[c][0]);return b} function Gb(a,b,c){if(void 0!==b){.8>a.F/a.H&&(b=1);a.L=b;b=a.wa*a.L;if(a.H!=b){a.H=b;b=a.H.toFixed(2)+"Mhz";var d=a.i.setSpeed;d&&(d.textContent=b);a.J("target speed: "+b)}c&&a.m&&(c=a.m,c.Y&&(d=b=0,window&&(b=window.scrollX,d=window.scrollY),c.Y.focus(),window&&window.scrollTo(b,d)))}hb(a,a.h);a.h=0;a.g=w();a.s=0;Hb(a)}function Jb(a){for(var b=[],c=0;c<a.j.length;c++)b.push(a.j[c][0]);return b}
function gb(a,b){for(var c=a.l.length-1;0<=c;c--){var d=a.l[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Kb(a,b){var c=a.v-=a.A;a.A=0;b&&(a.v=0);return c} function gb(a,b){for(var c=a.j.length-1;0<=c;c--){var d=a.j[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Kb(a,b){var c=a.u-=a.A;a.A=0;b&&(a.u=0);return c}
k.nb=function(){if(this.b.u){this.ma>=this.za&&Hb(this,!0);this.O=0;this.ca=w();if(this.s){var a=this.ca-this.s;a>this.ya&&(this.g+=a,this.g>this.ca&&(this.g=this.ca))}try{do{for(var b,c=this.b.oa?1:this.ga,d=this.l.length-1;0<=d;d--){var e=this.l[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.va(b)}catch(f){if("number"!=typeof f)throw f;}b=Kb(this,!0);this.O+=b;this.h+=b;ib(this,b);gb(this,b);this.M-=b;if(0>=this.M){this.M+=this.ga;++this.Aa>=Lb&&(this.m&&T(this.m,void 0),this.Aa=0);break}}while(this.b.u)}catch(f){S(this); k.lb=function(){if(this.b.v){this.ma>=this.ya&&Hb(this,!0);this.O=0;this.ca=w();if(this.s){var a=this.ca-this.s;a>this.xa&&(this.g+=a,this.g>this.ca&&(this.g=this.ca))}try{do{for(var b,c=this.b.oa?1:this.ga,d=this.j.length-1;0<=d;d--){var e=this.j[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.ua(b)}catch(f){if("number"!=typeof f)throw f;}b=Kb(this,!0);this.O+=b;this.h+=b;ib(this,b);gb(this,b);this.M-=b;if(0>=this.M){this.M+=this.ga;++this.za>=Lb&&(this.m&&T(this.m,void 0),this.za=0);break}}while(this.b.v)}catch(f){S(this);
this.m&&this.m.stop(w(),X(this));a=f.stack||f.message;this.b.error=!0;this.C(a);return}if(this.b.u){a=setTimeout;b=this.Ja;this.s=w();c=this.ya;this.O&&(c=Math.round(c*this.O/this.ga));c-=this.s-this.ca;if(d=this.s-this.g)this.F=Math.round(this.h/(10*d))/100,864E5<=d&&(this.B=0,Gb(this));if(0>c||this.F<this.H)-1E3>c&&(this.g-=c),c=0;this.ma+=this.O;this.s+=c;a(b,c)}}}; this.m&&this.m.stop(w(),X(this));a=f.stack||f.message;this.b.error=!0;this.C(a);return}if(this.b.v){a=setTimeout;b=this.Ia;this.s=w();c=this.xa;this.O&&(c=Math.round(c*this.O/this.ga));c-=this.s-this.ca;if(d=this.s-this.g)this.F=Math.round(this.h/(10*d))/100,864E5<=d&&(this.B=0,Gb(this));if(0>c||this.F<this.H)-1E3>c&&(this.g-=c),c=0;this.ma+=this.O;this.s+=c;a(b,c)}}};
function R(a){var b;a.b.error?(a.J(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.b.u)a.J(a.toString()+" busy");else{Gb(a);a.b.u=!0;a.b.Da=!0;if(b=a.i.run)b.textContent="Halt";a.m&&a.m.start(a.g,X(a));a.o||a.status("Started");setTimeout(a.Ja,0)}}k.va=function(){return 0};function S(a){var b=!1;if(a.b.u){Kb(a);hb(a,a.h);a.h=0;a.b.u=!1;if(b=a.i.run)b.textContent="Run";a.m&&a.m.stop(w(),X(a));b=!0;a.o||a.status("Stopped")}a.b.complete=void 0;return b}var Ib=30,Lb=15,Db=["power","reset"]; function R(a){var b;a.b.error?(a.J(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.b.v)a.J(a.toString()+" busy");else{Gb(a);a.b.v=!0;a.b.Ca=!0;if(b=a.i.run)b.textContent="Halt";a.m&&a.m.start(a.g,X(a));a.o||a.status("Started");setTimeout(a.Ia,0)}}k.ua=function(){return 0};function S(a){var b=!1;if(a.b.v){Kb(a);hb(a,a.h);a.h=0;a.b.v=!1;if(b=a.i.run)b.textContent="Run";a.m&&a.m.stop(w(),X(a));b=!0;a.o||a.status("Stopped")}a.b.complete=void 0;return b}var Ib=30,Lb=15,Db=["power","reset"];
function Mb(a){var b=+a.model||1001;V.call(this,a,1E6);this.Sa=b;this.Ha=+a.addrReset||0;this.W=null;this.Ga=[];this.b.complete=!1}r(Mb,V);k=Mb.prototype;k.reset=function(){this.status("Model "+this.Sa);this.b.u&&S(this);this.V=this.f=this.Ka=this.Ha;this.a=0;this.ba=this.jb;this.ta=this.wb;this.W=null;Eb(this);this.b.error=!1;V.prototype.reset.call(this)};k.Ma=function(){return 0}; function Mb(a){var b=+a.model||1001;V.call(this,a,1E6);this.Qa=b;this.Ga=+a.addrReset||0;this.W=null;this.Fa=[];this.b.complete=!1}r(Mb,V);k=Mb.prototype;k.reset=function(){this.status("Model "+this.Qa);this.b.v&&S(this);this.V=this.f=this.Aa=this.Ga;this.a=0;this.ba=this.hb;this.ta=this.ub;this.W=null;Eb(this);this.b.error=!1;V.prototype.reset.call(this)};k.Ka=function(){return 0};
k.save=function(){var a=new P(this);a.set(0,[this.f,this.Ka,this.V,this.a]);a.set(1,[]);a.set(2,[this.B,this.L,this.b.G]);a.set(3,Nb(this));a.set(4,Jb(this));return a.data()}; k.save=function(){var a=new P(this);a.set(0,[this.f,this.Aa,this.V,this.a]);a.set(1,[]);a.set(2,[this.B,this.L,this.b.G]);a.set(3,Nb(this));a.set(4,Jb(this));return a.data()};
k.restore=function(a){var b;b=a[0];ea();ba();ea();var c=b[Symbol.iterator];b=c?c.call(b):fa(b);this.f=b.next().value;this.Ka=b.next().value;this.V=b.next().value;this.a=b.next().value;b=a[2];this.B=b[0];Gb(this,b[1]);this.b.G=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.Ga.length;d++){var e=this.Ga[d];if(e.rb===b[c]){d=e;break a}}d=null}d&&(d.next=this.W,this.W=d)}a=a[4];for(b=0;b<this.l.length&&b<a.length;b++)this.l[b][0]=a[b];return!0}; k.restore=function(a){var b;b=a[0];ea();ba();ea();var c=b[Symbol.iterator];b=c?c.call(b):fa(b);this.f=b.next().value;this.Aa=b.next().value;this.V=b.next().value;this.a=b.next().value;b=a[2];this.B=b[0];Gb(this,b[1]);this.b.G=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.Fa.length;d++){var e=this.Fa[d];if(e.pb===b[c]){d=e;break a}}d=null}d&&(d.next=this.W,this.W=d)}a=a[4];for(b=0;b<this.j.length&&b<a.length;b++)this.j[b][0]=a[b];return!0};
function Nb(a){var b=[];for(a=a.W;a;)b.push(a.rb),a=a.next;return b}k.jb=function(a){var b=this.j;a=this.V=a;return b.a[(a&b.g)>>>b.f].ba(a&16383,a)};k.wb=function(a,b){var c=this.j;a=this.V=a;c.a[(a&c.g)>>>c.f].ta(b,a&16383,a)}; function Nb(a){var b=[];for(a=a.W;a;)b.push(a.pb),a=a.next;return b}k.hb=function(a){var b=this.l;a=this.V=a;return b.a[(a&b.g)>>>b.f].ba(a&16383,a)};k.ub=function(a,b){var c=this.l;a=this.V=a;c.a[(a&c.g)>>>c.f].ta(b,a&16383,a)};
k.va=function(a){this.b.complete=!0;var b=a?this.b.Da?0:1:-1;this.b.Da=!1;this.v=this.A=a;this.a=this.a&-5|0;do{if(a=this.a)if(a=this.a&11)this.a&2?this.W||(this.a&=-3):this.a&1&&this.a++,a=!1;if(a){if(this.a&4&&this.o.h(this.f,b)){S(this);break}if(0>b)break}this.a&=15;a=this.f;this.ba(a);this.f=(a+1)%Sa}while(0<this.A);return this.b.complete?this.v-this.A:!1===this.b.complete?-1:0};I(function(){for(var a=D(document,C,"cpu"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Mb(d);B(d,c)}}); k.ua=function(a){this.b.complete=!0;var b=a?this.b.Ca?0:1:-1;this.b.Ca=!1;this.u=this.A=a;this.a=this.a&-5|0;do{if(a=this.a)if(a=this.a&11)this.a&2?this.W||(this.a&=-3):this.a&1&&this.a++,a=!1;if(a){if(this.a&4&&this.o.h(this.f,b)){S(this);break}if(0>b)break}this.a&=15;a=this.Aa=this.f;this.ba(a);this.f=(a+1)%Sa}while(0<this.A);return this.b.complete?this.u-this.A:!1===this.b.complete?-1:0};I(function(){for(var a=D(document,C,"cpu"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Mb(d);B(d,c)}});
function Ob(a){u.call(this,"ROM",a);this.I=this.a=null;this.l=+a.addr;this.g=+a.size;this.f=a.alias;"string"==typeof this.f&&(this.f=eval(this.f));this.h=a.file;this.s=xa(this.h);if(this.h){a=this.h;var b=ya(this.s);"json"!=b&&"hex"!=b&&(a=G()+"/api/v1/dump?file="+this.h+"&format=bytes&decimal=true");var c=this;H(a,null,!0,function(a,b,f){f?(c.C("Unable to load ROM resource (error "+f+": "+a+")"),c.h=null):(ka(c.ja,a,b),(a=Ea(a,b))?(c.a=a.D,c.I=a.I):c.h=null);Pb(c)})}}r(Ob,u); function Ob(a){u.call(this,"ROM",a);this.I=this.a=null;this.j=+a.addr;this.g=+a.size;this.f=a.alias;"string"==typeof this.f&&(this.f=eval(this.f));this.h=a.file;this.s=xa(this.h);if(this.h){a=this.h;var b=ya(this.s);"json"!=b&&"hex"!=b&&(a=G()+"/api/v1/dump?file="+this.h+"&format=bytes&decimal=true");var c=this;H(a,null,!0,function(a,b,f){f?(c.C("Unable to load ROM resource (error "+f+": "+a+")"),c.h=null):(ka(c.ja,a,b),(a=Ea(a,b))?(c.a=a.D,c.I=a.I):c.h=null);Pb(c)})}}r(Ob,u);
Ob.prototype.U=function(a,b,c,d){this.j=b;this.c=c;this.o=d;Pb(this)};Ob.prototype.T=function(){this.I&&(this.o&&this.o.a(this.id,this.l,this.g,this.I),delete this.I);return!0};Ob.prototype.N=function(){return!0}; Ob.prototype.U=function(a,b,c,d){this.l=b;this.c=c;this.o=d;Pb(this)};Ob.prototype.T=function(){this.I&&(this.o&&this.o.a(this.id,this.j,this.g,this.I),delete this.I);return!0};Ob.prototype.N=function(){return!0};
function Pb(a){if(!ua(a)){if(a.h){if(!a.a||!a.j)return;a.g||(a.g=a.a.length);if(a.a.length!=a.g){var b="ROM size ("+F(a.a.length,8,!0)+") does not match specified size ("+F(a.g,8,!0)+")";a.b.error=!0;a.C(b)}else{b=a.l;if(ob(a.j,b,a.g,wb)){var c;for(c=0;c<a.a.length;c++)kb(a.j,b+c,a.a[c]);b=!0}else b=!1;if(b){b=[];"number"==typeof a.f?b.push(a.f):null!=a.f&&a.f.length&&(b=a.f);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.j,g=d.g,h=[],l=d.l>>>f.f;0<g&&l<f.a.length;)h.push(f.a[l++]),g-=16384;f=d.j; function Pb(a){if(!ua(a)){if(a.h){if(!a.a||!a.l)return;a.g||(a.g=a.a.length);if(a.a.length!=a.g){var b="ROM size ("+F(a.a.length,8,!0)+") does not match specified size ("+F(a.g,8,!0)+")";a.b.error=!0;a.C(b)}else{b=a.j;if(ob(a.l,b,a.g,wb)){var c;for(c=0;c<a.a.length;c++)kb(a.l,b+c,a.a[c]);b=!0}else b=!1;if(b){b=[];"number"==typeof a.f?b.push(a.f):null!=a.f&&a.f.length&&(b=a.f);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.l,g=d.g,h=[],l=d.j>>>f.f;0<g&&l<f.a.length;)h.push(f.a[l++]),g-=16384;f=d.l;
d=d.g;g=0;for(e>>>=f.f;0<d&&e<f.a.length;){l=h[g++];if(!l)break;f.a[e++]=l;d-=16384}}delete a.a}}}E(a)}}I(function(){for(var a=D(document,C,"rom"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Ob(d);B(d,c)}}); d=d.g;g=0;for(e>>>=f.f;0<d&&e<f.a.length;){l=h[g++];if(!l)break;f.a[e++]=l;d-=16384}}delete a.a}}}E(a)}}I(function(){for(var a=D(document,C,"rom"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Ob(d);B(d,c)}});
function Y(a){u.call(this,"RAM",a);this.I=this.f=null;this.g=+a.addr;this.h=+a.size;this.R=a.load;this.P=a.exec;null!=this.R&&(this.R=+this.R);null!=this.P&&(this.P=+this.P);this.l=!1;this.a=a.file;this.s=xa(this.a);if(this.a){a=this.a;var b=ya(this.s);"json"!=b&&"hex"!=b&&(a=G()+"/api/v1/dump?file="+this.a+"&format=bytes&decimal=true");var c=this;H(a,null,!0,function(a,b,f){f?(c.C("Unable to load RAM resource (error "+f+": "+a+")"),c.a=null):(ka(c.ja,a,b),(a=Ea(a,b))?(c.f=a.D,c.I=a.I,null==c.R&& function Y(a){u.call(this,"RAM",a);this.I=this.f=null;this.g=+a.addr;this.h=+a.size;this.R=a.load;this.P=a.exec;null!=this.R&&(this.R=+this.R);null!=this.P&&(this.P=+this.P);this.j=!1;this.a=a.file;this.s=xa(this.a);if(this.a){a=this.a;var b=ya(this.s);"json"!=b&&"hex"!=b&&(a=G()+"/api/v1/dump?file="+this.a+"&format=bytes&decimal=true");var c=this;H(a,null,!0,function(a,b,f){f?(c.C("Unable to load RAM resource (error "+f+": "+a+")"),c.a=null):(ka(c.ja,a,b),(a=Ea(a,b))?(c.f=a.D,c.I=a.I,null==c.R&&
(c.R=a.R),null==c.P&&(c.P=a.P)):c.a=null);Qb(c)})}}r(Y,u);Y.prototype.U=function(a,b,c,d){this.j=b;this.c=c;this.o=d;Qb(this)};Y.prototype.T=function(a,b){this.I&&(this.o&&this.o.a(this.id,this.g,this.h,this.I),delete this.I);b||this.reset();return!0};Y.prototype.N=function(){return!0}; (c.R=a.R),null==c.P&&(c.P=a.P)):c.a=null);Qb(c)})}}r(Y,u);Y.prototype.U=function(a,b,c,d){this.l=b;this.c=c;this.o=d;Qb(this)};Y.prototype.T=function(a,b){this.I&&(this.o&&this.o.a(this.id,this.g,this.h,this.I),delete this.I);b||this.reset();return!0};Y.prototype.N=function(){return!0};
function Qb(a){if(a.j&&(!a.l&&a.h&&(ob(a.j,a.g,a.h,1)?a.l=!0:a.h=0),!ua(a))){if(!a.l)x("No RAM allocated");else if(a.a){if(!a.f||!a.j)return;Rb(a,a.f,a.R,a.P,a.g)?a.status('Loaded image "'+a.s+'"'):a.C('Error loading image "'+a.s+'"')}E(a)}} function Qb(a){if(a.l&&(!a.j&&a.h&&(ob(a.l,a.g,a.h,1)?a.j=!0:a.h=0),!ua(a))){if(!a.j)x("No RAM allocated");else if(a.a){if(!a.f||!a.l)return;Rb(a,a.f,a.R,a.P,a.g)?a.status('Loaded image "'+a.s+'"'):a.C('Error loading image "'+a.s+'"')}E(a)}}
Y.prototype.reset=function(){if(this.l){for(var a=this.j,b=this.g,c=this.h,d=b&16383,b=b>>>a.f;0<c&&b<a.a.length;){var e=a.a[b],f=c,g=0,h,d=d||0,g=g||0;0>g&&g>=ja&&(g+=ia);g=Math.trunc(Math.abs(g))%ia;void 0===f&&(f=e.size);for(h=d;f--&&h<e.size;h++)e.ua(g,d,e.X+d);c-=16384;b++;d=0}this.f&&Rb(this,this.f,this.R,this.P,this.g,!this.o)}}; Y.prototype.reset=function(){if(this.j){for(var a=this.l,b=this.g,c=this.h,d=b&16383,b=b>>>a.f;0<c&&b<a.a.length;){var e=a.a[b],f=c,g=0,h,d=d||0,g=g||0;0>g&&g>=ja&&(g+=ia);g=Math.trunc(Math.abs(g))%ia;void 0===f&&(f=e.size);for(h=d;f--&&h<e.size;h++)e.m(g,d,e.X+d);c-=16384;b++;d=0}this.f&&Rb(this,this.f,this.R,this.P,this.g,!this.o)}};
function Rb(a,b,c,d,e,f){var g=!1,h=!1;if(null==c)for(var l=0;l<b.length-1;){var m=b[l]&255|(b[l+1]&255)<<8;if(m)if(m&255){if(1!=m)break;if(l+6>=b.length)break;for(var l=l+2,n=b[l++]&255|(b[l++]&255)<<8,p=b[l++]&255|(b[l++]&255)<<8,m=m+((n&255)+(n>>8)+(p&255)+(p>>8)),M=l,qa=n-=6;0<n&&l<b.length;)m+=b[l++]&255,n--;if(n||l>=b.length)break;m+=b[l++]&255;if(m&255)break;if(qa)for(;qa--;)kb(a.j,p++,b[M++]);else p&1?g=!0:null==d&&(d=p);h=!0}else l++;else l+=2}if(!h&&(null==c&&(c=e),null!=c)){for(h=0;h<b.length;h++)kb(a.j, function Rb(a,b,c,d,e,f){var g=!1,h=!1;if(null==c)for(var l=0;l<b.length-1;){var m=b[l]&255|(b[l+1]&255)<<8;if(m)if(m&255){if(1!=m)break;if(l+6>=b.length)break;for(var l=l+2,n=b[l++]&255|(b[l++]&255)<<8,p=b[l++]&255|(b[l++]&255)<<8,m=m+((n&255)+(n>>8)+(p&255)+(p>>8)),M=l,qa=n-=6;0<n&&l<b.length;)m+=b[l++]&255,n--;if(n||l>=b.length)break;m+=b[l++]&255;if(m&255)break;if(qa)for(;qa--;)kb(a.l,p++,b[M++]);else p&1?g=!0:null==d&&(d=p);h=!0}else l++;else l+=2}if(!h&&(null==c&&(c=e),null!=c)){for(h=0;h<b.length;h++)kb(a.l,
c+h,b[h]);h=!0}if(h){if(null==d||g)S(a.c),f=!1;null!=d&&(a=a.c,a.Ha=d,a.f=d%Sa,f?a.b.w?a.b.u||R(a):a.b.G=!0:a.o&&a.b.w?S(a)||a.m.b.reset||(a.o.g(),T(a.m,-1)):!1===f&&S(a),!a.b.u&&a.ha&&a.ha.stop())}return h}I(function(){for(var a=D(document,C,"ram"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Y(d);B(d,c)}}); c+h,b[h]);h=!0}if(h){if(null==d||g)S(a.c),f=!1;null!=d&&(a=a.c,a.Ga=d,a.f=d%Sa,f?a.b.w?a.b.v||R(a):a.b.G=!0:a.o&&a.b.w?S(a)||a.m.b.reset||(a.o.g(),T(a.m,-1)):!1===f&&S(a),!a.b.v&&a.ha&&a.ha.stop())}return h}I(function(){for(var a=D(document,C,"ram"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Y(d);B(d,c)}});
function Sb(a){u.call(this,"SerialPort",a);this.h=a.upperCase;"string"==typeof this.h&&(this.h="true"==this.h);this.g=!0;this.f=[];var b=a.binding;if("console"!=b){var c;a=Tb;b&&(void 0===c&&(c="Panel"),(c=z(c,this.id))&&(b=c.i[b])&&this.S(null,a,b))}this.a=this.l=null;this.exports={connect:this.Na,receiveData:this.ra,receiveStatus:this.lb,setConnection:this.ob}}r(Sb,u);k=Sb.prototype; function Sb(a){u.call(this,"SerialPort",a);this.h=a.upperCase;"string"==typeof this.h&&(this.h="true"==this.h);this.g=!0;this.f=[];var b=a.binding;if("console"!=b){var c;a=Tb;b&&(void 0===c&&(c="Panel"),(c=z(c,this.id))&&(b=c.i[b])&&this.S(null,a,b))}this.a=this.j=null;this.exports={connect:this.La,receiveData:this.ra,receiveStatus:this.jb,setConnection:this.mb}}r(Sb,u);k=Sb.prototype;
k.S=function(a,b,c){var d=this;switch(b){case Tb:return this.i[b]=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?t.Fa:t.Ra:46==c?b=t.Fa:a.ctrlKey&&c>=t.Ea&&c<=t.Ua&&(b=c-(t.Ea-t.Oa));b&&(a.preventDefault&&a.preventDefault(),d.ra(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==t.Qa&&(b=t.Pa);d.ra(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); k.S=function(a,b,c){var d=this;switch(b){case Tb:return this.i[b]=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?t.Ea:t.Pa:46==c?b=t.Ea:a.ctrlKey&&c>=t.Da&&c<=t.Sa&&(b=c-(t.Da-t.Ma));b&&(a.preventDefault&&a.preventDefault(),d.ra(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==t.Oa&&(b=t.Na);d.ra(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.ra(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};k.U=function(a,b,c,d){this.m=a;this.j=b;this.c=c;this.o=d;E(this)}; a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.ra(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};k.U=function(a,b,c,d){this.m=a;this.l=b;this.c=c;this.o=d;E(this)};
k.Na=function(a){if(!this.a){var b=W(this.m,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ca(c[0]);if(d!=this.ia)return;c=Ca(c[1]);if(this.a=na(c)){var e=this.a.exports;if(e){var f=e.connect;f&&f.call(this.a,this.g);if(this.l=e.receiveData){this.g=a;this.status("Connected "+this.ja+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};k.T=function(a,b){if(!b)if(this.Na(this.g),!a)this.reset();else if(!this.restore(a))return!1;return!0}; k.La=function(a){if(!this.a){var b=W(this.m,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ca(c[0]);if(d!=this.ia)return;c=Ca(c[1]);if(this.a=na(c)){var e=this.a.exports;if(e){var f=e.connect;f&&f.call(this.a,this.g);if(this.j=e.receiveData){this.g=a;this.status("Connected "+this.ja+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};k.T=function(a,b){if(!b)if(this.La(this.g),!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(){var a=new P(this);a.set(0,[]);return a.data()};k.restore=function(){return!0};k.ra=function(a){if("number"==typeof a)this.f.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.f.push(b)}else this.f=this.f.concat(a);return!0};k.lb=function(){};k.ob=function(a,b){return this.a?!1:(this.a=a,this.l=b,!0)};var Tb="buffer"; k.N=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){var a=new P(this);a.set(0,[]);return a.data()};k.restore=function(){return!0};k.ra=function(a){if("number"==typeof a)this.f.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.f.push(b)}else this.f=this.f.concat(a);return!0};k.jb=function(){};k.mb=function(a,b){return this.a?!1:(this.a=a,this.j=b,!0)};var Tb="buffer";
I(function(){for(var a=D(document,C,"serial"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Sb(d);B(d,c)}}); I(function(){for(var a=D(document,C,"serial"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Sb(d);B(d,c)}});
function Ub(a,b,c){u.call(this,"Computer",a);this.b.w=!1;this.L=null;Vb(this,b);this.H=W(this,"autoPower",a,6);this.h=0;this.V=+a.busWidth||+a.buswidth;this.B=this.s=this.F=null;this.A=this.O=!1;this.v=this.l=null;this.M=this.K=!1;this.W=W(this,"url")||"";(Math.random()+.1).toString(36);this.f=Wb(this);if(this.c=z("CPU",this.id)){this.o=z("Debugger",this.id);this.j=new lb({id:this.ja+".bus",busWidth:this.V},this.c,this.o);var d,e=y(this.id);if((this.g=z("Panel",this.id))&&this.g.Y)for(b=0;b<e.length;b++)d= function Ub(a,b,c){u.call(this,"Computer",a);this.b.w=!1;this.L=null;Vb(this,b);this.H=W(this,"autoPower",a,6);this.h=0;this.V=+a.busWidth||+a.buswidth;this.B=this.s=this.F=null;this.A=this.O=!1;this.u=this.j=null;this.M=this.K=!1;this.W=W(this,"url")||"";(Math.random()+.1).toString(36);this.f=Wb(this);if(this.c=z("CPU",this.id)){this.o=z("Debugger",this.id);this.l=new lb({id:this.ja+".bus",busWidth:this.V},this.c,this.o);var d,e=y(this.id);if((this.g=z("Panel",this.id))&&this.g.Y)for(b=0;b<e.length;b++)d=
e[b],d.C=this.g.C,d.J=this.g.J,d.Y=this.g.Y;this.J(L+" 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.U&&d.U(this,this.j,this.c,this.o);b=null;d=W(this,"resume",a);void 0!==d&&(1<d.length?b=this.s=d:this.a=parseInt(d,10));var f;if(a=W(this,"state")||(f=!0,a.state))this.F=b=a,f||(this.A=!0,this.a=Xb),this.a&&(this.v=new P(this,"1.34.0"),Z(this.v)?b=null:delete this.v);!b&&this.a&& e[b],d.C=this.g.C,d.J=this.g.J,d.Y=this.g.Y;this.J(L+" 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.U&&d.U(this,this.l,this.c,this.o);b=null;d=W(this,"resume",a);void 0!==d&&(1<d.length?b=this.s=d:this.a=parseInt(d,10));var f;if(a=W(this,"state")||(f=!0,a.state))this.F=b=a,f||(this.A=!0,this.a=Xb),this.a&&(this.u=new P(this,"1.34.0"),Z(this.u)?b=null:delete this.u);!b&&this.a&&
(b=Yb(this))&&(this.A=!0);if(b){var g=this;H(b,null,!0,function(a,b,c){c?(g.s=null,g.A=!1,g.C("Unable to load machine state from server (error "+c+(b?": "+Ca(b):"")+")")):(g.B=b,g.O=!0);E(g)})}else E(this);this.i.power||(this.H=!0);!c&&this.H&&Zb(this,this.Z)}else x("Unable to find CPU component")}r(Ub,u);function Vb(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){x(d.message+" ("+c+")")}}a.L=b} (b=Yb(this))&&(this.A=!0);if(b){var g=this;H(b,null,!0,function(a,b,c){c?(g.s=null,g.A=!1,g.C("Unable to load machine state from server (error "+c+(b?": "+Ca(b):"")+")")):(g.B=b,g.O=!0);E(g)})}else E(this);this.i.power||(this.H=!0);!c&&this.H&&Zb(this,this.Z)}else x("Unable to find CPU component")}r(Ub,u);function Vb(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){x(d.message+" ("+c+")")}}a.L=b}
function W(a,b,c,d){var e=b.toLowerCase(),e=Ka(b)||Ka(e);void 0===e&&a.L&&(e=a.L[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 Zb(a,b,c){for(var d=y(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!ua(f)){ua(f,function(){Zb(a,b,c)});return}}b.call(a,c)} function W(a,b,c,d){var e=b.toLowerCase(),e=Ka(b)||Ka(e);void 0===e&&a.L&&(e=a.L[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 Zb(a,b,c){for(var d=y(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!ua(f)){ua(f,function(){Zb(a,b,c)});return}}b.call(a,c)}
function $b(a,b){var c=new P(a,"1.34.0",ac);if(Z(c)&&bc(c)){var d=c.get(cc),e=b?b.get(cc):"unknown";d!=e&&(a.C("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}k=Ub.prototype; function $b(a,b){var c=new P(a,"1.34.0",ac);if(Z(c)&&bc(c)){var d=c.get(cc),e=b?b.get(cc):"unknown";d!=e&&(a.C("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}k=Ub.prototype;
k.Z=function(a){void 0===a&&(a=this.a||(this.B?dc:Xb));if(!this.h){this.h++;var b=!1,c=!1;this.K=!1;var d=this.v||new P(this,"1.34.0");if(a==ec)b=!0;else if(a>Xb){if(Z(d,this.B)){this.l=new P(this,"1.34.0",fc);Z(this.l)&&(gc(this,d),a=hc,ic(this.l));this.l.set(cc,Da());jc(this.l);var e=this.a&&!this.A;if(a==dc||ma("Click OK to restore the previous "+L+" machine state, or CANCEL to reset the machine.")){if(c=bc(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Z(d,g):("error"==f&&"no machine state"!= k.Z=function(a){void 0===a&&(a=this.a||(this.B?dc:Xb));if(!this.h){this.h++;var b=!1,c=!1;this.K=!1;var d=this.u||new P(this,"1.34.0");if(a==ec)b=!0;else if(a>Xb){if(Z(d,this.B)){this.j=new P(this,"1.34.0",fc);Z(this.j)&&(gc(this,d),a=hc,ic(this.j));this.j.set(cc,Da());jc(this.j);var e=this.a&&!this.A;if(a==dc||ma("Click OK to restore the previous "+L+" machine state, or CANCEL to reset the machine.")){if(c=bc(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Z(d,g):("error"==f&&"no machine state"!=
g?(this.C("Error: "+g),"unable to verify user"==g&&(Ia(kc,""),this.f=null)):this.J(f+": "+g),ic(d),Z(d)?(c=bc(d),e=!0):c=!1))}e&&$b(this,c?d:null)}else a==hc&&d.clear()}else $b(this);delete this.B;delete this.v}e=y(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.c&&(c=lc(this,g,d,b,c));b=[d,a,c];a!=ec?Zb(this,this.La,b):this.La(b)}}; g?(this.C("Error: "+g),"unable to verify user"==g&&(Ia(kc,""),this.f=null)):this.J(f+": "+g),ic(d),Z(d)?(c=bc(d),e=!0):c=!1))}e&&$b(this,c?d:null)}else a==hc&&d.clear()}else $b(this);delete this.B;delete this.u}e=y(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.c&&(c=lc(this,g,d,b,c));b=[d,a,c];a!=ec?Zb(this,this.Ja,b):this.Ja(b)}};
function lc(a,b,c,d,e){if(!b.b.w){b.b.w=!0;var f=null;try{if(e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,".")))),"string"===typeof f&&(f=null),!b.T(f,d)&&f&&(x("Unable to restore state for "+b.type),a.F&&!a.O?(c.clear(),a.a=Xb,window&&window.location.reload()):a.K=!0,b.T(null),e=!1),!d&&b.Ia){var g=b.Ia.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(h){x("Error restoring state for "+b.type+" ("+h.message+")")}}return e} function lc(a,b,c,d,e){if(!b.b.w){b.b.w=!0;var f=null;try{if(e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,".")))),"string"===typeof f&&(f=null),!b.T(f,d)&&f&&(x("Unable to restore state for "+b.type),a.F&&!a.O?(c.clear(),a.a=Xb,window&&window.location.reload()):a.K=!0,b.T(null),e=!1),!d&&b.Ha){var g=b.Ha.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(h){x("Error restoring state for "+b.type+" ("+h.message+")")}}return e}
k.La=function(a){var b=a[0],c=0>a[1];a=a[2];this.M=!0;this.b.w=!0;var d=this.i.power;d&&(d.textContent="Shutdown");this.c&&(lc(this,this.c,b,c,a),T(this,-2),this.c.G());this.K&&(gc(this,b),b.clear());!c&&this.l&&(this.l.clear(),delete this.l);this.h=0}; k.Ja=function(a){var b=a[0],c=0>a[1];a=a[2];this.M=!0;this.b.w=!0;var d=this.i.power;d&&(d.textContent="Shutdown");this.c&&(lc(this,this.c,b,c,a),T(this,-2),this.c.G());this.K&&(gc(this,b),b.clear());!c&&this.j&&(this.j.clear(),delete this.j);this.h=0};
function gc(a,b){if(ma("There may be a problem with your "+L+" machine.\n\nTo help us diagnose it, click OK to send this "+L+" machine state to http://www.pcjs.org.")){var c=a.W;a=a.f||"";b=b.toString();var d={};d.app=L;d.ver="1.34.0";d.url=c;d.user=a;d.type="bug";d.data=b;H("http://www.pcjs.org/api/v1/report",d,!0)}} function gc(a,b){if(ma("There may be a problem with your "+L+" machine.\n\nTo help us diagnose it, click OK to send this "+L+" machine state to http://www.pcjs.org.")){var c=a.W;a=a.f||"";b=b.toString();var d={};d.app=L;d.ver="1.34.0";d.url=c;d.user=a;d.type="bug";d.data=b;H("http://www.pcjs.org/api/v1/report",d,!0)}}
function mc(a,b,c){var d,e="none";if(a.h)return null;a.h--;var f=new P(a,"1.34.0"),g=new P(a,"1.34.0",ac),h=Da();g.set(cc,h);f.set(cc,h);f.set(nc,"1.34.0");f.set(oc,window?window.location.href:null);f.set(pc,window?window.navigator.userAgent:"");a.c&&a.c.N&&(c&&(b&&(a.c.b.G=a.c.b.u),S(a.c)),d=a.c.N(b,c),"object"===typeof d&&f.set(a.c.id,d),c&&(a.c.b.w=!1,!1===d&&(e=null)));for(var h=y(a.id),l=0;l<h.length;l++){var m=h[l];m.b.w&&(m.N&&(d=m.N(b,c),"object"===typeof d&&f.set(m.id,d)),c&&(m.b.w=!1,!1=== function mc(a,b,c){var d,e="none";if(a.h)return null;a.h--;var f=new P(a,"1.34.0"),g=new P(a,"1.34.0",ac),h=Da();g.set(cc,h);f.set(cc,h);f.set(nc,"1.34.0");f.set(oc,window?window.location.href:null);f.set(pc,window?window.navigator.userAgent:"");a.c&&a.c.N&&(c&&(b&&(a.c.b.G=a.c.b.v),S(a.c)),d=a.c.N(b,c),"object"===typeof d&&f.set(a.c.id,d),c&&(a.c.b.w=!1,!1===d&&(e=null)));for(var h=y(a.id),l=0;l<h.length;l++){var m=h[l];m.b.w&&(m.N&&(d=m.N(b,c),"object"===typeof d&&f.set(m.id,d)),c&&(m.b.w=!1,!1===
d&&(e=null)))}e&&(c?(h=d=!1,b?(a.f&&qc(a,a.f,f.toString()),jc(g)&&jc(f)||(e=null,d=h=!0)):a.a&&(d=!0,h=a.a==rc),d&&f.clear(h)):e=f.toString());c&&(a.b.w=!1,b=a.i.power)&&(b.textContent="Power");a.h=0;return e}k.reset=function(){this.b.reset=!0;this.j&&this.j.reset&&this.j.reset();this.c&&this.c.reset&&this.c.reset();for(var a=y(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.j&&c!==this.c&&c.reset&&c.reset()}this.b.reset=!1;T(this,-1)}; d&&(e=null)))}e&&(c?(h=d=!1,b?(a.f&&qc(a,a.f,f.toString()),jc(g)&&jc(f)||(e=null,d=h=!0)):a.a&&(d=!0,h=a.a==rc),d&&f.clear(h)):e=f.toString());c&&(a.b.w=!1,b=a.i.power)&&(b.textContent="Power");a.h=0;return e}k.reset=function(){this.b.reset=!0;this.l&&this.l.reset&&this.l.reset();this.c&&this.c.reset&&this.c.reset();for(var a=y(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.l&&c!==this.c&&c.reset&&c.reset()}this.b.reset=!1;T(this,-1)};
k.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)}T(this,-1)};k.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)}T(this,-1)}; k.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)}T(this,-1)};k.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)}T(this,-1)};
function T(a,b){if(a.c){var c=a.c,d=b||0,e=c.i.speed;e&&(0>=d||30<=(c.wa+=d))&&(e.textContent=c.b.u?c.F.toFixed(2)+"Mhz":"Stopped",c.wa=0)}if(a.g&&(a=a.g,b=b||0,a.B)){c=a.c.b.u;d=!!(a.c.a&8);if(0>=b||60<=(a.A+=b)){e=a.c.f;if(a.i.PC){var f=a.o&&a.o.l||8,e=e||0,e=8==f?wa(e,void 0):F(e,void 0);a.i.PC.textContent!=e&&(a.i.PC.textContent=e)}a.A=0}-1>b?a.f=a.c.f:0<b&&c&&!d&&(a.f=a.c.V);Q(a,a.f);N(a,a.h)}} function T(a,b){if(a.c){var c=a.c,d=b||0,e=c.i.speed;e&&(0>=d||30<=(c.va+=d))&&(e.textContent=c.b.v?c.F.toFixed(2)+"Mhz":"Stopped",c.va=0)}if(a.g&&(a=a.g,b=b||0,a.B)){c=a.c.b.v;d=!!(a.c.a&8);if(0>=b||60<=(a.A+=b)){e=a.c.f;if(a.i.PC){var f=a.o&&a.o.j||8,e=e||0,e=8==f?wa(e,void 0):F(e,void 0);a.i.PC.textContent!=e&&(a.i.PC.textContent=e)}a.A=0}-1>b?a.f=a.c.f:0<b&&c&&!d&&(a.f=a.c.V);Q(a,a.f);N(a,a.h)}}
k.S=function(a,b,c){var d=this;switch(b){case "power":return this.i[b]=c,c.onclick=function(){d.h||(d.b.w?mc(d,!1,!0):Zb(d,d.Z))},!0;case "reset":return this.i[b]=c,c.onclick=function(){if(d.b.w&&!d.h)if(d.a&&!d.s){var a=ma("Click OK to save changes to this "+L+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");mc(d,a,!0);!a&&d.F?window&&window.location.reload():d.Z(Xb)}else d.reset(),d.c&&!d.o&&d.c.G()},!0;case "save":if(za())c.parentNode.removeChild(c);else return this.i[b]= k.S=function(a,b,c){var d=this;switch(b){case "power":return this.i[b]=c,c.onclick=function(){d.h||(d.b.w?mc(d,!1,!0):Zb(d,d.Z))},!0;case "reset":return this.i[b]=c,c.onclick=function(){if(d.b.w&&!d.h)if(d.a&&!d.s){var a=ma("Click OK to save changes to this "+L+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");mc(d,a,!0);!a&&d.F?window&&window.location.reload():d.Z(Xb)}else d.reset(),d.c&&!d.o&&d.c.G()},!0;case "save":if(za())c.parentNode.removeChild(c);else return this.i[b]=
c,c.onclick=function(){var a=Wb(d,!0);if(a){var b=!!(d.a&&!d.s||d.F),c=mc(d,b);b?qc(d,a,c):d.C("Resume disabled, machine state not saved")}},!0}return!1};function Wb(a,b){var c=a.f;c||((c=Ha(kc),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=sc(a,c))||a.C("The user ID is invalid.")):b&&a.C("Browser local storage is not available"));return c} c,c.onclick=function(){var a=Wb(d,!0);if(a){var b=!!(d.a&&!d.s||d.F),c=mc(d,b);b?qc(d,a,c):d.C("Resume disabled, machine state not saved")}},!0}return!1};function Wb(a,b){var c=a.f;c||((c=Ha(kc),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=sc(a,c))||a.C("The user ID is invalid.")):b&&a.C("Browser local storage is not available"));return c}
function sc(a,b){a.f=null;b=H(G()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Ia(kc,b.data),a.f=b.data)}catch(d){x(d.message+" ("+c+")")}return a.f}function Yb(a){var b=null;a.f&&(b=G()+"/api/v1/user?req=load&user="+a.f+"&state="+tc(a,"1.34.0"));return b} function sc(a,b){a.f=null;b=H(G()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Ia(kc,b.data),a.f=b.data)}catch(d){x(d.message+" ("+c+")")}return a.f}function Yb(a){var b=null;a.f&&(b=G()+"/api/v1/user?req=load&user="+a.f+"&state="+tc(a,"1.34.0"));return b}
function qc(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=tc(a,"1.34.0");d.data=c;b=H(G()+"/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.C("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.C(c),Ia(kc,""),a.f=null)}} function qc(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=tc(a,"1.34.0");d.data=c;b=H(G()+"/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.C("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.C(c),Ia(kc,""),a.f=null)}}
var fc="failsafe",ac="validate",cc="timestamp",nc="version",oc="url",pc="browser",kc="user",ec=-1,Xb=0,dc=1,hc=2,rc=3;I(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 f=c[e],g=A(f),g=new Ub(g,d,!0);B(g,f);g.H&&Zb(g,g.Z)}});J.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.M&&!c.b.w&&c.Z(ec)}}); var fc="failsafe",ac="validate",cc="timestamp",nc="version",oc="url",pc="browser",kc="user",ec=-1,Xb=0,dc=1,hc=2,rc=3;I(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 f=c[e],g=A(f),g=new Ub(g,d,!0);B(g,f);g.H&&Zb(g,g.Z)}});J.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.M&&!c.b.w&&c.Z(ec)}});
J.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.b.w&&mc(c,!(!c.a||c.s),!0)}});function P(a,b,c){this.id=a.id;this.i="";this.c={};this.j=this.m=!1;this.key=tc(a,b,c);ic(this,a.Ta)}k=P.prototype;k.set=function(a,b){try{this.c[a]=b}catch(c){}};k.get=function(a){return this.c[a]||null};k.data=function(){return this.c};function Z(a,b){return b?(a.i=b,a.j=!0,a.m=!1,!0):a.j?!0:Fa()&&(b=Ha(a.key))?(a.i=b,a.j=!0):!1} J.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.b.w&&mc(c,!(!c.a||c.s),!0)}});function P(a,b,c){this.id=a.id;this.i="";this.c={};this.l=this.m=!1;this.key=tc(a,b,c);ic(this,a.Ra)}k=P.prototype;k.set=function(a,b){try{this.c[a]=b}catch(c){}};k.get=function(a){return this.c[a]||null};k.data=function(){return this.c};function Z(a,b){return b?(a.i=b,a.l=!0,a.m=!1,!0):a.l?!0:Fa()&&(b=Ha(a.key))?(a.i=b,a.l=!0):!1}
function bc(a){var b=!0;if(!a.m)try{a.c=JSON.parse(a.i),a.m=!0}catch(c){x(c.message||c),b=!1}return b}function jc(a){var b=!0;if(Fa()){var c=JSON.stringify(a.c);Ia(a.key,c)||(x("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}k.toString=function(){return this.c?JSON.stringify(this.c):this.i};function ic(a,b){a.i="";a.c={};a.j=a.m=!1;b&&a.set("parms",b)} function bc(a){var b=!0;if(!a.m)try{a.c=JSON.parse(a.i),a.m=!0}catch(c){x(c.message||c),b=!1}return b}function jc(a){var b=!0;if(Fa()){var c=JSON.stringify(a.c);Ia(a.key,c)||(x("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}k.toString=function(){return this.c?JSON.stringify(this.c):this.i};function ic(a,b){a.i="";a.c={};a.l=a.m=!1;b&&a.set("parms",b)}
k.clear=function(a){ic(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 tc(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 uc=0; k.clear=function(a){ic(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 tc(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 uc=0;
function vc(a,b,c,d,e,f,g){f("Loading "+a+"...");H(a,null,!0,function(h,l,m){m?(l||(l="unable to load "+a+" ("+m+")"),g(l,null)):wc(l,a,b,c,d,e,f,g)})} function vc(a,b,c,d,e,f,g){f("Loading "+a+"...");H(a,null,!0,function(h,l,m){m?(l||(l="unable to load "+a+" ("+m+")"),g(l,null)):wc(l,a,b,c,d,e,f,g)})}
function wc(a,b,c,d,e,f,g,h){function l(a,g){if(g)h(g,null);else{c&&(ka(c,b,a),(g=b)&&0>g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1<e.length&&(e+=",")):e='{state:"'+e+'",':e="{",e+='url:"'+g+'"}',"object"==typeof resources&&(g=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"), function wc(a,b,c,d,e,f,g,h){function l(a,g){if(g)h(g,null);else{c&&(ka(c,b,a),(g=b)&&0>g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1<e.length&&(e+=",")):e='{state:"'+e+'",':e="{",e+='url:"'+g+'"}',"object"==typeof resources&&(g=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),