Made the Debugger's assemble command more flexible (the target address is optional now; the Debugger will use whatever load and/or start addresses the file(s) specified instead)

This commit is contained in:
Jeff 2017-03-30 09:04:56 -07:00 • committed by Jeff Parsons
commit ec642a8c5b
5 changed files with 294 additions and 279 deletions

View file

@ -1870,3 +1870,5 @@ PAGE
SR2 (242,-1,-1,-1,-5,-1,-1,-1,-2,ROTC,-2) SR2 (242,-1,-1,-1,-5,-1,-1,-1,-2,ROTC,-2)
LAST1: ;JRST BEGEND LAST1: ;JRST BEGEND
END START

View file

@ -7,7 +7,7 @@ machines:
type: pdp10 type: pdp10
config: /devices/pdp10/machine/ka10/test/debugger/machine.xml config: /devices/pdp10/machine/ka10/test/debugger/machine.xml
debugger: true debugger: true
commands: a 30724 DAKAI.MAC commands: a DAKAI.MAC
--- ---
PDP-10 KA10 Basic Instruction Diagnostic #9 PDP-10 KA10 Basic Instruction Diagnostic #9
@ -32,7 +32,7 @@ The Debugger's assemble ("a") command can be used to test the new built-in
of the [MACRO-10](http://archive.pcjs.org/pubs/dec/pdp10/tops10/02_1973AsmRef_macro.pdf) assembly language. of the [MACRO-10](http://archive.pcjs.org/pubs/dec/pdp10/tops10/02_1973AsmRef_macro.pdf) assembly language.
This command: This command:
a 30724 DAKAI.MAC a DAKAI.MAC
will automatically read the [DAKAI.MAC](DAKAI.MAC.txt) source file (a slightly modified copy of [DAKAIM.MAC](DAKAIM.MAC.txt)), will automatically read the [DAKAI.MAC](DAKAI.MAC.txt) source file (a slightly modified copy of [DAKAIM.MAC](DAKAIM.MAC.txt)),
assemble it, and then load the binary output at the specified address. assemble it, and then load the binary output at the specified address.

View file

@ -520,7 +520,7 @@ class DebuggerPDP10 extends Debugger {
* @this {DebuggerPDP10} * @this {DebuggerPDP10}
* @param {string|undefined} sAddr * @param {string|undefined} sAddr
* @param {DbgAddrPDP10} [dbgAddr] * @param {DbgAddrPDP10} [dbgAddr]
* @return {DbgAddrPDP10|null|undefined} * @return {DbgAddrPDP10}
*/ */
parseAddr(sAddr, dbgAddr) parseAddr(sAddr, dbgAddr)
{ {
@ -2516,27 +2516,28 @@ class DebuggerPDP10 extends Debugger {
} }
/** /**
* loadBin(aWords, addrLoad) * loadImage(aWords, addrStart)
* *
* @this {DebuggerPDP10} * @this {DebuggerPDP10}
* @param {Array.<number>} aWords * @param {Array.<number>} aWords
* @param {number|null} addrLoad * @param {number|null|undefined} addrStart
*/ */
loadBin(aWords, addrLoad) loadImage(aWords, addrStart)
{ {
var nWords = 0;
var bus = this.bus; var bus = this.bus;
var dbg = this.dbg; var dbg = this.dbg;
var nWords = 0, addrLo = null, addrHi = 0;
aWords.forEach(function(w, addr) { aWords.forEach(function(w, addr) {
bus.setWordDirect(addr, w); bus.setWordDirect(addr, w);
if (addrLoad == null) addrLoad = addr; if (addrLo == null) addrLo = addr;
if (addr > addrHi) addrHi = addr;
nWords++; nWords++;
}); });
if (!nWords) { if (!nWords) {
this.println("no data"); this.println("no data");
} else { } else {
this.println(nWords + " words loaded at " + this.toStrBase(addrLoad) + '-' + this.toStrBase(addrLoad + nWords - 1)); this.println(nWords + " words loaded at " + this.toStrBase(addrLo) + '-' + this.toStrBase(addrHi));
this.cpu.setPC(addrLoad || 0); if (addrStart != null) this.cpu.setPC(addrStart);
this.updateStatus(); this.updateStatus();
} }
} }
@ -2609,44 +2610,50 @@ class DebuggerPDP10 extends Debugger {
* without ever entering "assemble mode", but of course, that requires more typing and doesn't take advantage * without ever entering "assemble mode", but of course, that requires more typing and doesn't take advantage
* of automatic target address advancement (see dbgAddrAssemble). * of automatic target address advancement (see dbgAddrAssemble).
* *
* When filename(s) or URL(s) are provided in lieu of an opcode, we pass those on to the Macro10 component * When filename(s) or URL(s) are provided in lieu of an opcode, we pass those on to the Macro10 component for
* for assembling, along with any option letters that were included with the "a" command; for example, if "ap" * assembling (multiple files must be separated by semicolons), along with any option letters that were included
* was specified, then "p" will be passed to Macro10 as an option. * with the "a" command; for example, if "ap" was specified, then "p" will be passed to Macro10 as an option.
* *
* Macro10 options include: * Macro10 options include:
* *
* p: preprocess the specified resource(s) without assembling them * p: preprocess the specified resource(s) without assembling them
* l: generate listing information (TODO) * l: generate listing information (TODO)
* *
* When assembling a file, the target address determines the initial location counter for the assembly process,
* but that can always be overridden by a LOC (or RELOC) pseudo-op in the file. The target address will also be
* used as the starting address unless that's overridden by an END pseudo-op. In the absence of a target address,
* the location counter starts at zero, and the starting address defaults to the PC register.
*
* @this {DebuggerPDP10} * @this {DebuggerPDP10}
* @param {Array.<string>} asArgs is the complete argument array, beginning with the "a" command in asArgs[0] * @param {Array.<string>} asArgs is the complete argument array, beginning with the "a" command in asArgs[0]
* @return {boolean} * @return {boolean}
*/ */
doAssemble(asArgs) doAssemble(asArgs)
{ {
var dbgAddr = this.parseAddr(asArgs[1], this.dbgAddrAssemble); var sOptions = asArgs[0].substr(1);
if (!dbgAddr) return false; var sAddr = asArgs[1] && asArgs[1][0] >= '0' && asArgs[1][0] <= '9'? asArgs[1] : undefined;
var sOpcode = sAddr? asArgs[2] : asArgs[1];
var dbgAddr = this.parseAddr(sAddr, this.dbgAddrAssemble);
var sOpcode = asArgs[2]; if (!sOpcode) {
if (sOpcode == undefined) {
this.println("begin assemble at " + this.toStrAddr(dbgAddr)); this.println("begin assemble at " + this.toStrAddr(dbgAddr));
this.fAssemble = true; this.fAssemble = true;
this.cmp.updateDisplays(); this.cmp.updateDisplays();
return true; return true;
} }
var sOptions = asArgs[0].substr(1);
var match = sOpcode.match(/^(['"]?)(.*\.mac|.*\.html|.*\.txt)\1$/i); var match = sOpcode.match(/^(['"]?)(.*\.mac|.*\.html|.*\.txt)\1$/i);
if (match) { if (match) {
var dbg = this; var dbg = this;
var cpu = this.cpu;
dbgAddr = this.parseAddr(sAddr);
if (this.macro10) { if (this.macro10) {
dbg.println("assembly already in progress"); dbg.println("assembly already in progress");
} }
else { else {
var sFile = match[2]; var sFile = match[2];
var addrLoad = dbgAddr.addr; var addrLoad = dbgAddr.addr;
this.macro10 = new Macro10(sFile, addrLoad, sOptions, dbg, function doneMacro10(nErrorCode, sURL) { var macro10 = this.macro10 = new Macro10(sFile, addrLoad, sOptions, dbg, function doneMacro10(nErrorCode, sURL) {
if (!nErrorCode) { if (!nErrorCode) {
/* /*
* NOTE: Most Debugger operations run in the context of doCommand(), which catches any exceptions; * NOTE: Most Debugger operations run in the context of doCommand(), which catches any exceptions;
@ -2654,7 +2661,9 @@ class DebuggerPDP10 extends Debugger {
* better safe than sorry. * better safe than sorry.
*/ */
try { try {
dbg.loadBin(dbg.macro10.getBin(), addrLoad); var addrStart = macro10.getStart();
if (addrStart == null) addrStart = addrLoad;
dbg.loadImage(macro10.getImage(), addrStart);
} catch(e) { } catch(e) {
dbg.println(e.message); dbg.println(e.message);
nErrorCode = -1; // fake error so that command processing stops nErrorCode = -1; // fake error so that command processing stops
@ -2738,11 +2747,7 @@ class DebuggerPDP10 extends Debugger {
return; return;
} }
var dbgAddr = this.newAddr(); var dbgAddr = sAddr == '*'? this.newAddr() : this.parseAddr(sAddr, this.dbgAddrCode);
if (sAddr != '*') {
dbgAddr = this.parseAddr(sAddr, this.dbgAddrCode);
if (!dbgAddr) return;
}
if (sParm == 'c') { if (sParm == 'c') {
if (dbgAddr.addr == null) { if (dbgAddr.addr == null) {
@ -2876,11 +2881,9 @@ class DebuggerPDP10 extends Debugger {
return; return;
} }
var dbgAddr = this.parseAddr(sAddr, this.dbgAddrData);
if (!dbgAddr) return;
var len = 0; var len = 0;
var fJSON = (sCmd == "ds"); var fJSON = (sCmd == "ds");
var dbgAddr = this.parseAddr(sAddr, this.dbgAddrData);
if (sLen) { if (sLen) {
if (sLen.charAt(0) == 'l') { if (sLen.charAt(0) == 'l') {
@ -2889,7 +2892,7 @@ class DebuggerPDP10 extends Debugger {
} }
else { else {
var dbgAddrEnd = this.parseAddr(sLen); var dbgAddrEnd = this.parseAddr(sLen);
if (dbgAddrEnd) len = dbgAddrEnd.addr - dbgAddr.addr; len = dbgAddrEnd.addr - dbgAddr.addr;
} }
if (len < 0) len = 0; if (len < 0) len = 0;
if (len > 0x10000) len = 0x10000; if (len > 0x10000) len = 0x10000;
@ -2966,7 +2969,6 @@ class DebuggerPDP10 extends Debugger {
return; return;
} }
var dbgAddr = this.parseAddr(sAddr, this.dbgAddrData); var dbgAddr = this.parseAddr(sAddr, this.dbgAddrData);
if (!dbgAddr) return;
for (var i = 2; i < asArgs.length; i++) { for (var i = 2; i < asArgs.length; i++) {
var w = this.parseExpression(asArgs[i]); var w = this.parseExpression(asArgs[i]);
if (w === undefined) break; if (w === undefined) break;
@ -3090,30 +3092,28 @@ class DebuggerPDP10 extends Debugger {
var sSymbol = null; var sSymbol = null;
var dbgAddr = this.parseAddr(sAddr); var dbgAddr = this.parseAddr(sAddr);
if (dbgAddr) { var addr = this.getAddr(dbgAddr);
var addr = this.getAddr(dbgAddr); var aSymbol = this.findSymbol(dbgAddr, true);
var aSymbol = this.findSymbol(dbgAddr, true); if (aSymbol.length) {
if (aSymbol.length) { var nDelta, sDelta, s;
var nDelta, sDelta, s; if (aSymbol[0]) {
if (aSymbol[0]) { sDelta = "";
sDelta = ""; nDelta = dbgAddr.addr - aSymbol[1];
nDelta = dbgAddr.addr - aSymbol[1]; if (nDelta) sDelta = " + " + Str.toHexWord(nDelta);
if (nDelta) sDelta = " + " + Str.toHexWord(nDelta); s = aSymbol[0] + " (" + this.toStrOffset(aSymbol[1]) + ')' + sDelta;
s = aSymbol[0] + " (" + this.toStrOffset(aSymbol[1]) + ')' + sDelta; if (fPrint) this.println(s);
if (fPrint) this.println(s); sSymbol = s;
sSymbol = s;
}
if (aSymbol.length > 4 && aSymbol[4]) {
sDelta = "";
nDelta = aSymbol[5] - dbgAddr.addr;
if (nDelta) sDelta = " - " + Str.toHexWord(nDelta);
s = aSymbol[4] + " (" + this.toStrOffset(aSymbol[5]) + ')' + sDelta;
if (fPrint) this.println(s);
if (!sSymbol) sSymbol = s;
}
} else {
if (fPrint) this.println("no symbols");
} }
if (aSymbol.length > 4 && aSymbol[4]) {
sDelta = "";
nDelta = aSymbol[5] - dbgAddr.addr;
if (nDelta) sDelta = " - " + Str.toHexWord(nDelta);
s = aSymbol[4] + " (" + this.toStrOffset(aSymbol[5]) + ')' + sDelta;
if (fPrint) this.println(s);
if (!sSymbol) sSymbol = s;
}
} else {
if (fPrint) this.println("no symbols");
} }
return sSymbol; return sSymbol;
} }
@ -3362,7 +3362,6 @@ class DebuggerPDP10 extends Debugger {
{ {
if (sAddr !== undefined) { if (sAddr !== undefined) {
var dbgAddr = this.parseAddr(sAddr); var dbgAddr = this.parseAddr(sAddr);
if (!dbgAddr) return;
this.parseAddrOptions(dbgAddr, sOptions); this.parseAddrOptions(dbgAddr, sOptions);
this.setTempBreakpoint(dbgAddr); this.setTempBreakpoint(dbgAddr);
} }
@ -3618,7 +3617,6 @@ class DebuggerPDP10 extends Debugger {
doUnassemble(sAddr, sAddrEnd, nLines) doUnassemble(sAddr, sAddrEnd, nLines)
{ {
var dbgAddr = this.parseAddr(sAddr, this.dbgAddrCode); var dbgAddr = this.parseAddr(sAddr, this.dbgAddrCode);
if (!dbgAddr) return;
if (nLines === undefined) nLines = 1; if (nLines === undefined) nLines = 1;
@ -3631,7 +3629,7 @@ class DebuggerPDP10 extends Debugger {
} }
else { else {
var dbgAddrEnd = this.parseAddr(sAddrEnd); var dbgAddrEnd = this.parseAddr(sAddrEnd);
if (!dbgAddrEnd || dbgAddrEnd.addr < dbgAddr.addr) return; if (dbgAddrEnd.addr < dbgAddr.addr) return;
nBytes = dbgAddrEnd.addr - dbgAddr.addr; nBytes = dbgAddrEnd.addr - dbgAddr.addr;
if (!DEBUG && nBytes > 0x100) { if (!DEBUG && nBytes > 0x100) {

View file

@ -95,18 +95,18 @@ var Scope;
/** /**
* @class Macro10 * @class Macro10
* @property {string} sURL * @property {string} sURL
* @property {number} nAddr * @property {number} addrLoad
* @property {string} sOptions * @property {string} sOptions
* @property {DebuggerPDP10} dbg * @property {DebuggerPDP10} dbg
* @property {function(...)} done * @property {function(...)} done
* @property {number} iURL * @property {number} iURL
* @property {Array.<string>} asURLs * @property {Array.<string>} asURLs
* @property {Array.<string>} asLines * @property {Array.<string>} asLines
* @property {number|null|undefined} nAddrStart * @property {number|null|undefined} addrStart
*/ */
class Macro10 { class Macro10 {
/** /**
* Macro10(sURL, nAddr, sOptions, dbg, done) * Macro10(sURL, addrLoad, sOptions, dbg, done)
* *
* A "mini" version of DEC's MACRO-10 assembler, with just enough features to support the handful * A "mini" version of DEC's MACRO-10 assembler, with just enough features to support the handful
* of DEC diagnostic source code files that we choose to throw at it. * of DEC diagnostic source code files that we choose to throw at it.
@ -115,7 +115,7 @@ class Macro10 {
* them with semicolons. * them with semicolons.
* *
* The done() callback is called after the resource(s) have been loaded and parsed. The caller * The done() callback is called after the resource(s) have been loaded and parsed. The caller
* must use other methods to obtain further results (eg, getBin()). * must use other methods to obtain further results (eg, getImage(), getStart()).
* *
* The callback includes a non-zero error code if there was an error (and the URL): * The callback includes a non-zero error code if there was an error (and the URL):
* *
@ -127,15 +127,15 @@ class Macro10 {
* *
* @this {Macro10} * @this {Macro10}
* @param {string} sURL (the URL(s) of the resource to be assembled) * @param {string} sURL (the URL(s) of the resource to be assembled)
* @param {number|null} nAddr (the absolute address to assemble the code at, if any) * @param {number|null} addrLoad (the absolute address to assemble the code at, if any)
* @param {string|null} sOptions (zero or more letter codes to control the assembly process) * @param {string|null} sOptions (zero or more letter codes to control the assembly process)
* @param {DebuggerPDP10} dbg (used to provide helper services to the Macro10 class) * @param {DebuggerPDP10} dbg (used to provide helper services to the Macro10 class)
* @param {function(...)} done * @param {function(...)} done
*/ */
constructor(sURL, nAddr, sOptions, dbg, done) constructor(sURL, addrLoad, sOptions, dbg, done)
{ {
this.sURL = sURL; this.sURL = sURL;
this.nAddr = nAddr || 0; this.addrLoad = addrLoad;
this.sOptions = sOptions || ""; this.sOptions = sOptions || "";
this.dbg = dbg; this.dbg = dbg;
this.done = done; this.done = done;
@ -143,7 +143,7 @@ class Macro10 {
/* /*
* The next set of properties may be updated by the assembly process and queried by the caller. * The next set of properties may be updated by the assembly process and queried by the caller.
*/ */
this.nAddrStart = null; this.addrStart = null;
if (MAXDEBUG) this.println("starting PCjs MACRO-10 Mini-Assembler..."); if (MAXDEBUG) this.println("starting PCjs MACRO-10 Mini-Assembler...");
@ -214,7 +214,7 @@ class Macro10 {
/** /**
* @type {number} * @type {number}
*/ */
this.nLocation = this.nAddr; // advanced by the various genXXX() functions this.nLocation = this.addrLoad || 0;
/** /**
* @type {number} * @type {number}
@ -323,18 +323,31 @@ class Macro10 {
} }
/** /**
* getBin() * getImage()
* *
* Service for the Debugger to obtain the data after a (hopefully) successful assembly process. * Service for the Debugger to obtain the assembled data after a (hopefully) successful assembly process.
* *
* @this {Macro10} * @this {Macro10}
* @return {Array.<number>} * @return {Array.<number>}
*/ */
getBin() getImage()
{ {
return this.aWords; return this.aWords;
} }
/**
* getStart()
*
* Service for the Debugger to obtain the starting address after a (hopefully) successful assembly process.
*
* @this {Macro10}
* @return {number|null|undefined}
*/
getStart()
{
return this.addrStart;
}
/** /**
* parseResources() * parseResources()
* *
@ -367,10 +380,10 @@ class Macro10 {
*/ */
if (!this.parseLine(this.asLines[i] + '\r\n')) break; if (!this.parseLine(this.asLines[i] + '\r\n')) break;
/* /*
* When an END statement is encountered, nAddrStart will change from null to either undefined * When an END statement is encountered, addrStart will change from null to either undefined
* or a starting address. * or a starting address.
*/ */
if (this.nAddrStart !== null) break; if (this.addrStart !== null) break;
} }
if (this.nMacroDef) { if (this.nMacroDef) {
@ -1420,10 +1433,10 @@ class Macro10 {
defEND(sOperands) defEND(sOperands)
{ {
if (!sOperands) { if (!sOperands) {
this.nAddrStart = this.nAddr; this.addrStart = this.addrLoad;
} else { } else {
this.nAddrStart = this.parseExpression(sOperands, true); this.addrStart = this.parseExpression(sOperands, true);
if (this.nAddrStart === undefined) { if (this.addrStart === undefined) {
this.error("unrecognized expression: " + sOperands); this.error("unrecognized expression: " + sOperands);
} }
} }

View file

@ -27,123 +27,123 @@
http://pcjs.org/modules/pdp10/lib/debugger.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/pdp10/lib/debugger.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/macro10.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/pdp10/lib/macro10.js (C) Jeff Parsons 2012-2017
*/ */
var m,aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ba="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this;function ca(){ca=function(){};ba.Symbol||(ba.Symbol=ea)}var fa=0;function ea(a){return"jscomp_symbol_"+(a||"")+fa++} var m,aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ba="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this;function ca(){ca=function(){};ba.Symbol||(ba.Symbol=da)}var fa=0;function da(a){return"jscomp_symbol_"+(a||"")+fa++}
function ga(){ca();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 ha(this)}});ga=function(){}}function ha(a){var b=0;return ja(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function ja(a){ga();a={next:a};a[ba.Symbol.iterator]=function(){return this};return a} function ga(){ca();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 ha(this)}});ga=function(){}}function ha(a){var b=0;return ia(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function ia(a){ga();a={next:a};a[ba.Symbol.iterator]=function(){return this};return a}
function ka(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 la(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 ka(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 la(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})}}
la("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}});la("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}}); la("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}});la("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}});
var ra={sc:0,Kb:1,uc:2,vc:3,wc:4,xc:5,yc:6,zc:7,xb:8,Ac:9,Lb:10,Bc:11,Cc:12,Mb:13,Dc:14,Ec:15,Fc:16,Gc:17,Hc:18,Ic:19,Jc:20,Kc:21,Lc:22,Mc:23,Nc:24,Oc:25,Pc: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,wb:65,rc:66,tc:67,Qc:68,E:69,Rc:70,Sc:71,Tc:72,Uc:73,Vc:74,Wc:75,Xc:76,Yc:77,Zc:78,$c:79,ad:80,Q:81,bd:82,cd:83,dd:84,ed:85,fd:86,gd:87, var ma={sc:0,Kb:1,uc:2,vc:3,wc:4,xc:5,yc:6,zc:7,xb:8,Ac:9,Lb:10,Bc:11,Cc:12,Mb:13,Dc:14,Ec:15,Fc:16,Gc:17,Hc:18,Ic:19,Jc:20,Kc:21,Lc:22,Mc:23,Nc:24,Oc:25,Pc: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,wb:65,rc:66,tc:67,Qc:68,E:69,Rc:70,Sc:71,Tc:72,Uc:73,Vc:74,Wc:75,Xc:76,Yc:77,Zc:78,$c:79,ad:80,Q:81,bd:82,cd:83,dd:84,ed:85,fd:86,gd:87,
hd:88,jd:89,Ob:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,kd:97,ld:98,md:99,d:100,e:101,nd:102,od:103,pd:104,qd:105,rd:106,k:107,sd:108,td:109,n:110,ud:111,p:112,q:113,r:114,vd:115,t:116,xd:117,yd:118,zd:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Nb:127}; hd:88,jd:89,Ob:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,kd:97,ld:98,md:99,d:100,e:101,nd:102,od:103,pd:104,qd:105,rd:106,k:107,sd:108,td:109,n:110,ud:111,p:112,q:113,r:114,vd:115,t:116,xd:117,yd:118,zd:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Nb:127};
function sa(a,b){var c;if(a){b||(b=10);var d,e,f=0<a.indexOf(",");f&&(a=a.replace(/,/g,""));d=e=a.charAt(0);"#"==e?(b=8,e=""):"$"==e&&(b=16,e="");d!=e?a=a.substr(1):(d=e=a.substr(0,2),"0b"==e&&f||"^B"==e?(b=2,e=""):"0o"==e||"^O"==e?(b=8,e=""):"^D"==e?(b=10,e=""):"0x"==e&&(b=16,e=""),d!=e&&(a=a.substr(2)));d=e=a.slice(-1);"Y"==e||"y"==e?(b=2,e=""):"."==e?(b=10,e=""):"H"==e||"h"==e?(b=16,e=""):"K"==e?e="000":"M"==e?e="000000":"G"==e&&(e="000000000");d!=e&&(a=a.slice(0,-1)+e);var g;d=0;if(e=a.match(/(-?[0-9]+)B([0-9]*)/))a= function sa(a,b){var c;if(a){b||(b=10);var d,e,f=0<a.indexOf(",");f&&(a=a.replace(/,/g,""));d=e=a.charAt(0);"#"==e?(b=8,e=""):"$"==e&&(b=16,e="");d!=e?a=a.substr(1):(d=e=a.substr(0,2),"0b"==e&&f||"^B"==e?(b=2,e=""):"0o"==e||"^O"==e?(b=8,e=""):"^D"==e?(b=10,e=""):"0x"==e&&(b=16,e=""),d!=e&&(a=a.substr(2)));d=e=a.slice(-1);"Y"==e||"y"==e?(b=2,e=""):"."==e?(b=10,e=""):"H"==e||"h"==e?(b=16,e=""):"K"==e?e="000":"M"==e?e="000000":"G"==e&&(e="000000000");d!=e&&(a=a.slice(0,-1)+e);var g;d=0;if(e=a.match(/(-?[0-9]+)B([0-9]*)/))a=
e[1],d=35-((e[2]||35)&255);e=a;((f=b)&&10!=f?16==f?e.match(/^-?[0-9a-f]+$/i):8==f?e.match(/^-?[0-7]+$/):2==f&&e.match(/^-?[01]+$/):e.match(/^-?[0-9]+$/))&&!isNaN(g=parseInt(a,b))&&(d&&(0>g&&(g+=Math.pow(2,36)),g=0<d?g*Math.pow(2,d):Math.trunc(g/Math.pow(2,-d))),c=g)}return c} e[1],d=35-((e[2]||35)&255);e=a;((f=b)&&10!=f?16==f?e.match(/^-?[0-9a-f]+$/i):8==f?e.match(/^-?[0-7]+$/):2==f&&e.match(/^-?[01]+$/):e.match(/^-?[0-9]+$/))&&!isNaN(g=parseInt(a,b))&&(d&&(0>g&&(g+=Math.pow(2,36)),g=0<d?g*Math.pow(2,d):Math.trunc(g/Math.pow(2,-d))),c=g)}return c}
function ta(a,b,c,d,e){e=void 0===e?0:e;var f="";isNaN(a)?a=null:null!=a&&(0>a&&-1<a&&(a=-1),0>a&&(a+=Math.pow(b,c)),a>=Math.pow(b,c)&&(c=Math.ceil(Math.log(a)/Math.log(b))));for(var g=e||-1;0<c--;){g||(f=","+f,g=e);if(null==a)f="?"+f;else{var h=a%b,h=h+(0<=h&&9>=h?48:55),f=String.fromCharCode(h)+f;a=Math.trunc(a/b)}g--}return(void 0===d?"":d)+f}function ua(a,b,c){b?12<b&&(b=12):(b=Math.abs(a),b=262143>=b?6:16777215>=b?8:12);return ta(a,8,b,c?"0o":"")} function ta(a,b,c,d,e){e=void 0===e?0:e;var f="";isNaN(a)?a=null:null!=a&&(0>a&&-1<a&&(a=-1),0>a&&(a+=Math.pow(b,c)),a>=Math.pow(b,c)&&(c=Math.ceil(Math.log(a)/Math.log(b))));for(var g=e||-1;0<c--;){g||(f=","+f,g=e);if(null==a)f="?"+f;else{var h=a%b,h=h+(0<=h&&9>=h?48:55),f=String.fromCharCode(h)+f;a=Math.trunc(a/b)}g--}return(void 0===d?"":d)+f}function ua(a,b,c){b?12<b&&(b=12):(b=Math.abs(a),b=262143>=b?6:16777215>=b?8:12);return ta(a,8,b,c?"0o":"")}
function va(a,b){b?11<b&&(b=11):b=99999>=Math.abs(a)?5:11;return ta(a,10,b)}function n(a,b,c){b?9<b&&(b=9):(b=Math.abs(a),b=65535>=b?4:4294967295>=b?8:9);return ta(a,16,b,c?"0x":"")}function wa(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 xa(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function ya(a,b){return-1!==a.indexOf(b,a.length-b.length)} function va(a,b){b?11<b&&(b=11):b=99999>=Math.abs(a)?5:11;return ta(a,10,b)}function n(a,b,c){b?9<b&&(b=9):(b=Math.abs(a),b=65535>=b?4:4294967295>=b?8:9);return ta(a,16,b,c?"0x":"")}function wa(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 xa(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function ya(a,b){return-1!==a.indexOf(b,a.length-b.length)}
function za(a){return a.replace(/[&<>"']/g,function(a){return Aa[a]})}function Ba(a,b){return(a+" ").slice(0,b)}function Ea(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Aa={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function Fa(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 za(a){return a.replace(/[&<>"']/g,function(a){return Aa[a]})}function Ba(a,b){return(a+" ").slice(0,b)}function Ca(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Aa={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function Fa(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 Ga(){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 Ga(){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 Ha(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, function Ha(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,
f,e))});if(b&&"object"==typeof b){var k="",l;for(l in b)b.hasOwnProperty(l)&&(k&&(k+="&"),k+=l+"="+encodeURIComponent(b[l]));k=k.replace(/%20/g,"+");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} f,e))});if(b&&"object"==typeof b){var k="",l;for(l in b)b.hasOwnProperty(l)&&(k&&(k+="&"),k+=l+"="+encodeURIComponent(b[l]));k=k.replace(/%20/g,"+");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 Ia(a,b){var c,d={ea:null,Y:null,ya:null,xa: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")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.ya=g.load;d.xa=g.exec;if(e=g.bytes)d.ea=e;else if(e=g.words)for(d.ea=Array(2*e.length),f=c=0;c<e.length;c++)d.ea[f++]=e[c]&255,d.ea[f++]=e[c]>>8&255;else if(e=g.longs)for(d.ea=Array(4*e.length),f=c=0;c<e.length;c++)d.ea[f++]= function Ia(a,b){var c,d={ea:null,Y:null,la:null,ya: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")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.la=g.load;d.ya=g.exec;if(e=g.bytes)d.ea=e;else if(e=g.words)for(d.ea=Array(2*e.length),f=c=0;c<e.length;c++)d.ea[f++]=e[c]&255,d.ea[f++]=e[c]>>8&255;else if(e=g.longs)for(d.ea=Array(4*e.length),f=c=0;c<e.length;c++)d.ea[f++]=
e[c]&255,d.ea[f++]=e[c]>>8&255,d.ea[f++]=e[c]>>16&255,d.ea[f++]=e[c]>>24&255;else(e=g.data)?d.Pa=e:d.ea=g;d.ea&&(d.ea.length?1==d.ea.length&&(q(d.ea[0]),d=null):(q("Empty resource: "+a),d=null));d.Y=g.symbols}catch(h){q("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)){q("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(f&255)}c==b.length&&(d.ea=e)}return d} e[c]&255,d.ea[f++]=e[c]>>8&255,d.ea[f++]=e[c]>>16&255,d.ea[f++]=e[c]>>24&255;else(e=g.data)?d.Pa=e:d.ea=g;d.ea&&(d.ea.length?1==d.ea.length&&(q(d.ea[0]),d=null):(q("Empty resource: "+a),d=null));d.Y=g.symbols}catch(h){q("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)){q("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(f&255)}c==b.length&&(d.ea=e)}return d}
function Ja(){return"http://"+(window?window.location.host:"www.pcjs.org")}function Ka(){if(null==La){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}La=a}return La}function Pa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b} function Ja(){return"http://"+(window?window.location.host:"www.pcjs.org")}function Ka(){if(null==La){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}La=a}return La}function Pa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
function Qa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Ra(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 Qa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Ra(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 Sa(a){if(!Ta){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," "))}Ta=c}return Ta[a]}function Ua(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()} function Sa(a){if(!Ta){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," "))}Ta=c}return Ta[a]}function Ua(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
function Va(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 Wa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Xa(a){Ya.init.push(a)} function Va(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 Wa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Xa(a){Ya.init.push(a)}
function Za(a){if($a)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){q(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function ab(a){!$a&&a?($a=!0,bb&&cb("init"),db&&cb("show")):$a=a}function cb(a){Ya[a]&&Za(Ya[a])}var Ta=null,Ya={init:[],show:[],exit:[]},bb=!1,db=!1,$a=!0,La=null;Wa("onload",function(){bb=!0;Za(Ya.init)});Wa("onpageshow",function(){db=!0;Za(Ya.show)});Wa(Ra("Opera")||Ra("iOS")?"onunload":"onbeforeunload",function(){Za(Ya.exit)}); function Za(a){if($a)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){q(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function ab(a){!$a&&a?($a=!0,bb&&cb("init"),db&&cb("show")):$a=a}function cb(a){Ya[a]&&Za(Ya[a])}var Ta=null,Ya={init:[],show:[],exit:[]},bb=!1,db=!1,$a=!0,La=null;Wa("onload",function(){bb=!0;Za(Ya.init)});Wa("onpageshow",function(){db=!0;Za(Ya.show)});Wa(Ra("Opera")||Ra("iOS")?"onunload":"onbeforeunload",function(){Za(Ya.exit)});
function r(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Cb=b.comment;this.Sb=b;this.exports={};this.J=this.bindings={};a=this.id.indexOf(".");0>a?this.ab=this.id:(this.bb=this.id.substr(0,a),this.ab=this.id.substr(a+1));this.A={ready:!1,Va:!1,pb:!1,Z:!1,error:!1};this.fb=null;this.A.error=!1;this.ca=c||0;this.D=this.v=this.G=this.H=this.za=null;lb.push(this)}function mb(a,b,c){nb[a]&&b&&(nb[a][b]=c)}function ob(){return Date.now()||+new Date} function r(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Cb=b.comment;this.Sb=b;this.exports={};this.J=this.bindings={};a=this.id.indexOf(".");0>a?this.ab=this.id:(this.bb=this.id.substr(0,a),this.ab=this.id.substr(a+1));this.A={ready:!1,Wa:!1,pb:!1,aa:!1,error:!1};this.fb=null;this.A.error=!1;this.ca=c||0;this.D=this.v=this.G=this.H=this.za=null;kb.push(this)}function lb(a,b,c){mb[a]&&b&&(mb[a][b]=c)}function nb(){return Date.now()||+new Date}
function q(a){window&&window.alert(a)}function pb(a){var b=!1;window&&(b=window.confirm(a));return b}function qb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<lb.length;b++){var d=lb[b];a&&d.id.indexOf(a)||c.push(d)}return c}function rb(a){if(void 0!==a){var b;for(b=0;b<lb.length;b++)if(lb[b].id===a)return lb[b]}return null} function q(a){window&&window.alert(a)}function ob(a){var b=!1;window&&(b=window.confirm(a));return b}function pb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<kb.length;b++){var d=kb[b];a&&d.id.indexOf(a)||c.push(d)}return c}function qb(a){if(void 0!==a){var b;for(b=0;b<kb.length;b++)if(kb[b].id===a)return kb[b]}return null}
function sb(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<lb.length;d++)if(c)c==lb[d]&&(c=null);else if(!(a!=lb[d].type||b&&lb[d].id.indexOf(b)))return lb[d]}return null}function t(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){q(c.message+" ("+a+")")}return b} function rb(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<kb.length;d++)if(c)c==kb[d]&&(c=null);else if(!(a!=kb[d].type||b&&kb[d].id.indexOf(b)))return kb[d]}return null}function t(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){q(c.message+" ("+a+")")}return b}
function tb(a,b){var c=v;b=w(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(" "),l=0;l<k.length;l++)switch(h=k[l],h){case c+"-binding":(h=t(g))&&h.binding&&a.ra(h.type,h.binding,g,h.value),l=k.length}}}} function sb(a,b){var c=v;b=w(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(" "),l=0;l<k.length;l++)switch(h=k[l],h){case c+"-binding":(h=t(g))&&h.binding&&a.ta(h.type,h.binding,g,h.value),l=k.length}}}}
function w(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 w(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 ub(a){for(var b=!0,c=vb[a];c&&c.length;){var d=c.splice(0,1)[0],e=d[0],f=null;0<=wb.indexOf(e)&&(f=function(){return function(){ub(a)}}());var g=xb[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=sb(d[1],a);if(h)if(g=yb[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){q("Script error: "+e+(g?" failed":" unrecognized"));break}}c&&!c.length&&delete vb[a];return b}m=r.prototype; function tb(a){for(var b=!0,c=ub[a];c&&c.length;){var d=c.splice(0,1)[0],e=d[0],f=null;0<=vb.indexOf(e)&&(f=function(){return function(){tb(a)}}());var g=wb[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=rb(d[1],a);if(h)if(g=xb[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){q("Script error: "+e+(g?" failed":" unrecognized"));break}}c&&!c.length&&delete ub[a];return b}m=r.prototype;
m.toString=function(){return this.name?this.name:this.id||this.type}; m.toString=function(){return this.name?this.name:this.id||this.type};
m.ra=function(a,b,c){switch(b){case "clear":return this.J[b]||(this.J[b]=c,c.onclick=function(a){return function(){a.J.print&&(a.J.print.value="")}}(this)),!0;case "print":return this.J[b]||(this.za=this.J[b]=c,c.value="",this.u=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.ia=function(a){this.u(a,this.ab)}),!0;default:return!1}};m.log=function(){};m.u=function(){}; m.ta=function(a,b,c){switch(b){case "clear":return this.J[b]||(this.J[b]=c,c.onclick=function(a){return function(){a.J.print&&(a.J.print.value="")}}(this)),!0;case "print":return this.J[b]||(this.za=this.J[b]=c,c.value="",this.u=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.ha=function(a){this.u(a,this.ab)}),!0;default:return!1}};m.log=function(){};m.u=function(){};
m.status=function(a){this.u(this.ab+": "+a)};m.ia=function(a,b,c){c=c||this.type;b||q((c?c+": ":"")+a)};function zb(a,b){a.A.error=!0;a.ia(b)}function Ab(a){return a.A.error?(a.u(a.toString()+" error"),!0):!1}function Cb(a,b){b&&(a.A.ready?b():a.fb=b);return a.A.ready}function Mb(a){if(!a.A.error&&(a.A.ready=!0,a.A.ready)){var b=a.fb;a.fb=null;b&&b()}}function Nb(a,b){a.A.Va&&(b?a.A.pb=!0:void 0===b&&a.u(a.toString()+" busy"));return a.A.Va} m.status=function(a){this.u(this.ab+": "+a)};m.ha=function(a,b,c){c=c||this.type;b||q((c?c+": ":"")+a)};function yb(a,b){a.A.error=!0;a.ha(b)}function zb(a){return a.A.error?(a.u(a.toString()+" error"),!0):!1}function Bb(a,b){b&&(a.A.ready?b():a.fb=b);return a.A.ready}function Mb(a){if(!a.A.error&&(a.A.ready=!0,a.A.ready)){var b=a.fb;a.fb=null;b&&b()}}function Nb(a,b){a.A.Wa&&(b?a.A.pb=!0:void 0===b&&a.u(a.toString()+" busy"));return a.A.Wa}
function Ob(a,b){if(a.A.pb)return a.A.Va=!1,a.A.pb=!1;if(a.A.error)return a.u(a.toString()+" error"),!1;a.A.Va=b;return a.A.Va}m.Ba=function(){return this.A.Z=!0};m.qa=function(a,b){b&&(this.A.Z=!1);return!0};function Pb(a,b){if(a.D){a===a.D?b|=0:b=b||a.ca;var c=a.D.ca&b;return!!b&&c===b||!!(c&a.D.Eb)}return!1}function Qb(a,b,c,d){a.D&&(!0===c||Pb(a,c|0))&&a.D.message(b,d)} function Ob(a,b){if(a.A.pb)return a.A.Wa=!1,a.A.pb=!1;if(a.A.error)return a.u(a.toString()+" error"),!1;a.A.Wa=b;return a.A.Wa}m.Ba=function(){return this.A.aa=!0};m.sa=function(a,b){b&&(this.A.aa=!1);return!0};function Pb(a,b){if(a.D){a===a.D?b|=0:b=b||a.ca;var c=a.D.ca&b;return!!b&&c===b||!!(c&a.D.Eb)}return!1}function Qb(a,b,c,d){a.D&&(!0===c||Pb(a,c|0))&&a.D.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 nb=window?window.PCjs.Machines:{},lb=window?window.PCjs.Components:[],vb=window?window.PCjs.Commands:{},wb=["hold","sleep","wait"],xb={alert:function(a){q(a);return!0},sleep:function(a,b){setTimeout(a,+b);return!1}},yb={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 mb=window?window.PCjs.Machines:{},kb=window?window.PCjs.Components:[],ub=window?window.PCjs.Commands:{},vb=["hold","sleep","wait"],wb={alert:function(a){q(a);return!0},sleep:function(a,b){setTimeout(a,+b);return!1}},xb={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});
var v="pdp10",Rb="PDPjs",Sb=Math.pow(2,18)-1,Tb=Math.pow(2,18),Ub=Math.pow(2,17)-1,x=Math.pow(2,18)-1,y=Math.pow(2,18),z=Math.pow(2,35)-1,A=Math.pow(2,35),B=Math.pow(2,36)-1,C=Math.pow(2,36),E=Math.pow(2,32),Vb=Math.pow(2,34),Wb=Math.pow(2,36),Xb=Math.pow(2,21),Yb=Math.pow(2,26),Zb=Math.pow(2,23),$b=Math.pow(2,30),v="pdp10",Rb="PDPjs",ac={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, var v="pdp10",Rb="PDPjs",Sb=Math.pow(2,18)-1,Tb=Math.pow(2,18),Ub=Math.pow(2,17)-1,x=Math.pow(2,18)-1,y=Math.pow(2,18),z=Math.pow(2,35)-1,A=Math.pow(2,35),B=Math.pow(2,36)-1,C=Math.pow(2,36),E=Math.pow(2,32),Vb=Math.pow(2,34),Wb=Math.pow(2,36),Xb=Math.pow(2,21),Yb=Math.pow(2,26),Zb=Math.pow(2,23),$b=Math.pow(2,30),v="pdp10",Rb="PDPjs",ac={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}; speaker:16777216,computer:33554432,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648};
function bc(a,b){r.call(this,"Panel",a,512);this.K=this.L=0;this.V=b;this.i=this.I=this.j=this.w=0;this.M=this.N=-1;this.P=this.S=this.F=!1;this.U=cc;this.C={};this.b={START:[1,1,!0,!1,this.cc],STEP:[1,1,!1,!1,this.dc],ENABLE:[1,1,!1,!1,this.Yb],CONT:[1,1,!0,!1,this.Wb],DEP:[0,0,!0,!1,this.Xb],EXAM:[1,1,!0,!1,this.Zb],LOAD:[1,1,!0,!1,this.ac],TEST:[0,0,!0,!1,this.$b]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.bc,a];this.D=this.v=this.G=this.H=null;this.exports={hold:this.Tb,toggle:this.mc,reset:this.ic, function bc(a,b){r.call(this,"Panel",a,512);this.K=this.L=0;this.V=b;this.i=this.I=this.j=this.w=0;this.M=this.N=-1;this.P=this.S=this.F=!1;this.U=cc;this.C={};this.b={START:[1,1,!0,!1,this.cc],STEP:[1,1,!1,!1,this.dc],ENABLE:[1,1,!1,!1,this.Yb],CONT:[1,1,!0,!1,this.Wb],DEP:[0,0,!0,!1,this.Xb],EXAM:[1,1,!0,!1,this.Zb],LOAD:[1,1,!0,!1,this.ac],TEST:[0,0,!0,!1,this.$b]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.bc,a];this.D=this.v=this.G=this.H=null;this.exports={hold:this.Tb,toggle:this.mc,reset:this.ic,
set:this.lc};Mb(this)}ka(bc,r);m=bc.prototype;m.reset=function(a){this.stop();a&&dc(this,this.w=0)}; set:this.lc};Mb(this)}ka(bc,r);m=bc.prototype;m.reset=function(a){this.stop();a&&dc(this,this.w=0)};
m.ra=function(a,b,c,d){if(this.H&&this.H.ra(a,b,c,d)||this.v&&this.v.ra(a,b,c,d)||this.D&&this.D.ra(a,b,c,d))return!0;switch(b){case "PC":return this.J[b]=c,this.L++,!0;default:return"led"==a||"rled"==a?(this.J[b]=c,this.C[b]=d?1:0,this.L++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.J[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){ec(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){fc(a,b)}}(this,b),a.ontouchstart= m.ta=function(a,b,c,d){if(this.H&&this.H.ta(a,b,c,d)||this.v&&this.v.ta(a,b,c,d)||this.D&&this.D.ta(a,b,c,d))return!0;switch(b){case "PC":return this.J[b]=c,this.L++,!0;default:return"led"==a||"rled"==a?(this.J[b]=c,this.C[b]=d?1:0,this.L++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.J[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){ec(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){fc(a,b)}}(this,b),a.ontouchstart=
function(a,b){return function(c){ec(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){fc(a,b)}}(this,b),!0):r.prototype.ra.call(this,a,b,c,d)}};m.La=function(a,b,c,d){this.H=a;this.G=b;this.v=c;this.D=d;gc(this);hc(this)};m.Ba=function(a,b){if(!b)if(this.V&&ic(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};m.qa=function(a){return a?this.save():!0};m.save=function(){var a=new F(this);a.set(0,[this.i,this.w,this.j]);return a.data()}; function(a,b){return function(c){ec(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){fc(a,b)}}(this,b),!0):r.prototype.ta.call(this,a,b,c,d)}};m.La=function(a,b,c,d){this.H=a;this.G=b;this.v=c;this.D=d;gc(this);hc(this)};m.Ba=function(a,b){if(!b)if(this.V&&ic(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};m.sa=function(a){return a?this.save():!0};m.save=function(){var a=new F(this);a.set(0,[this.i,this.w,this.j]);return a.data()};
m.restore=function(a){if(a=a[0])jc(this,this.i=a[0]),dc(this,this.w=a[1]),kc(this,a[2]);return!0};m.ic=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}hc(this);return!0};function lc(a,b,c){if(a=a.J[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function gc(a,b){for(var c in a.C)lc(a,c,null!=b?b:a.C[c])}function mc(a,b,c){if(a=a.J[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function hc(a){for(var b in a.b)mc(a,b,a.b[b][1])} m.restore=function(a){if(a=a[0])jc(this,this.i=a[0]),dc(this,this.w=a[1]),kc(this,a[2]);return!0};m.ic=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}hc(this);return!0};function lc(a,b,c){if(a=a.J[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function gc(a,b){for(var c in a.C)lc(a,c,null!=b?b:a.C[c])}function mc(a,b,c){if(a=a.J[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function hc(a){for(var b in a.b)mc(a,b,a.b[b][1])}
m.Tb=function(a,b,c){if(ec(this,b)){if(c){var d=this;setTimeout(function(){fc(d,b);a&&a()},+c);return!1}fc(this,b)}return!0};m.lc=function(a,b){if("SR"==a)return kc(this,sa(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,mc(this,a,c[1]),!0):!1};m.mc=function(a){return ec(this,a)?(fc(this,a),!0):!1};function ec(a,b){var c=a.b[b];return c?(mc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=nc&&(a.P=b==oc,a.S=b==pc),!0):!1} m.Tb=function(a,b,c){if(ec(this,b)){if(c){var d=this;setTimeout(function(){fc(d,b);a&&a()},+c);return!1}fc(this,b)}return!0};m.lc=function(a,b){if("SR"==a)return kc(this,sa(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,mc(this,a,c[1]),!0):!1};m.mc=function(a){return ec(this,a)?(fc(this,a),!0):!1};function ec(a,b){var c=a.b[b];return c?(mc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=nc&&(a.P=b==oc,a.S=b==pc),!0):!1}
function fc(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(mc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}m.cc=function(a){a||this.v.A.O||(G(this.v,this.i),this.b[qc]&&this.b[qc][1]&&rc(this.v))};m.dc=function(){};m.Yb=function(a){a||this.v.W()}; function fc(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(mc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}m.cc=function(a){a||this.v.A.O||(G(this.v,this.i),this.b[qc]&&this.b[qc][1]&&rc(this.v))};m.dc=function(){};m.Yb=function(a){a||this.v.W()};
m.Wb=function(a){if(!a&&!this.v.A.O)if(this.b[qc]&&this.b[qc][1])rc(this.v);else{if((a=this.D)&&!Nb(a,!0))Ob(a,!0),sc(a,0,null),Ob(a,!1);else try{var b=this.v.$a(1);0<b&&(tc(this.v,b),uc(this.v,b,!0),vc(this.v,b))}catch(c){"number"!=typeof c&&zb(this.v,c.stack||c.message)}this.stop();this.H&&J(this.H)}};m.Xb=function(a){a&&!this.v.A.O&&(this.P&&wc(this),a=dc(this,this.w=this.j),this.U==cc?xc(this.G,this.i,a):this.v.g(this.i,a))}; m.Wb=function(a){if(!a&&!this.v.A.O)if(this.b[qc]&&this.b[qc][1])rc(this.v);else{if((a=this.D)&&!Nb(a,!0))Ob(a,!0),sc(a,0,null),Ob(a,!1);else try{var b=this.v.$a(1);0<b&&(tc(this.v,b),uc(this.v,b,!0),vc(this.v,b))}catch(c){"number"!=typeof c&&yb(this.v,c.stack||c.message)}this.stop();this.H&&J(this.H)}};m.Xb=function(a){a&&!this.v.A.O&&(this.P&&wc(this),a=dc(this,this.w=this.j),this.U==cc?xc(this.G,this.i,a):this.v.g(this.i,a))};
m.Zb=function(a){if(!a&&!this.v.A.O){var b;this.S&&wc(this);this.U==cc?b=yc(this.G,this.i):b=this.v.f(this.i);dc(this,this.w=b)}};m.ac=function(a){a||this.v.A.O||jc(this,this.j)};m.$b=function(a){a?(this.F=!0,gc(this,!0)):(this.F=!1,gc(this),kc(this,0))};m.bc=function(a,b){this.j=a?this.j|1<<b:this.j&~(1<<b)};function wc(a){var b=1,c=a.G.j;a.b[nc]&&a.b[nc][1]||(b=-b);jc(a,a.i&~c|a.i+b&c)} m.Zb=function(a){if(!a&&!this.v.A.O){var b;this.S&&wc(this);this.U==cc?b=yc(this.G,this.i):b=this.v.f(this.i);dc(this,this.w=b)}};m.ac=function(a){a||this.v.A.O||jc(this,this.j)};m.$b=function(a){a?(this.F=!0,gc(this,!0)):(this.F=!1,gc(this),kc(this,0))};m.bc=function(a,b){this.j=a?this.j|1<<b:this.j&~(1<<b)};function wc(a){var b=1,c=a.G.j;a.b[nc]&&a.b[nc][1]||(b=-b);jc(a,a.i&~c|a.i+b&c)}
function jc(a,b){a.i=b&a.G.j;if(a.M!==a.i){a.M=a.i;b=a.M;for(var c=0;22>c;c++){var d=a,e="A"+c,f=b&1<<c;d.C[e]=f;d.F||lc(d,e,f)}}}function dc(a,b){a.I=b%C;if(a.N!==a.I){a.N=a.I;b=a.N;for(var c=0;16>c;c++){var d=a,e="D"+c,f=b&1<<c;d.C[e]=f;d.F||lc(d,e,f)}}return a.I}function kc(a,b){a.j=b|0;for(b=0;22>b;b++)a.b["S"+b][1]=a.j&1<<b?1:0;hc(a);return!0}m.stop=function(){jc(this,this.v.i)}; function jc(a,b){a.i=b&a.G.j;if(a.M!==a.i){a.M=a.i;b=a.M;for(var c=0;22>c;c++){var d=a,e="A"+c,f=b&1<<c;d.C[e]=f;d.F||lc(d,e,f)}}}function dc(a,b){a.I=b%C;if(a.N!==a.I){a.N=a.I;b=a.N;for(var c=0;16>c;c++){var d=a,e="D"+c,f=b&1<<c;d.C[e]=f;d.F||lc(d,e,f)}}return a.I}function kc(a,b){a.j=b|0;for(b=0;22>b;b++)a.b["S"+b][1]=a.j&1<<b?1:0;hc(a);return!0}m.stop=function(){jc(this,this.v.i)};
function ic(){for(var a=w(document,v,"panel"),b=0;b<a.length;b++){var c=a[b],d=t(c),e=rb(d.id);e||(e=new bc(d,!0));tb(e,c)}}var cc=7,oc="DEP",qc="ENABLE",pc="EXAM",nc="STEP";Xa(ic);function zc(a,b,c){r.call(this,"Bus",a,16);this.v=b;this.D=c;this.F=+a.busWidth||18;this.I=1<<this.F;this.j=this.I-1;this.i=Math.log2(16384);this.C=this.I/16384|0;this.w=0;this.b=[];a=new Ac(this);Bc(a,this.D);this.b=Array(this.C);for(b=0;b<this.C;b++)this.b[b]=a;Mb(this)}ka(zc,r);m=zc.prototype;m.reset=function(){}; function ic(){for(var a=w(document,v,"panel"),b=0;b<a.length;b++){var c=a[b],d=t(c),e=qb(d.id);e||(e=new bc(d,!0));sb(e,c)}}var cc=7,oc="DEP",qc="ENABLE",pc="EXAM",nc="STEP";Xa(ic);function zc(a,b,c){r.call(this,"Bus",a,16);this.v=b;this.D=c;this.F=+a.busWidth||18;this.I=1<<this.F;this.j=this.I-1;this.i=Math.log2(16384);this.C=this.I/16384|0;this.w=0;this.b=[];a=new Ac(this);Bc(a,this.D);this.b=Array(this.C);for(b=0;b<this.C;b++)this.b[b]=a;Mb(this)}ka(zc,r);m=zc.prototype;m.reset=function(){};
m.Ba=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.qa=function(a){return a?this.save():!0};m.save=function(){var a=new F(this);a.set(0,Cc(this));return a.data()};m.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.b[c];if(!e||!e.restore(d)){q("Unable to restore memory block "+c);a=!1;break a}}a=!0}return a}; m.Ba=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.sa=function(a){return a?this.save():!0};m.save=function(){var a=new F(this);a.set(0,Cc(this));return a.data()};m.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.b[c];if(!e||!e.restore(d)){q("Unable to restore memory block "+c);a=!1;break a}}a=!0}return a};
function Dc(a,b,c,d){for(var e=b,f=c,g=e>>>a.i;0<f&&g<a.b.length;){var h=a.b[g],k=16384*g,l=16384-(e-k);l>f&&(l=f);if(h&&h.size){if(h.type==d){if(e+f<=h.B)return h.Ya+=h.B-e,h.B=e,!0;if(e>=h.B+h.Ya){l=h.size-(e-k);l>f&&(l=f);h.Ya=e-h.B+l;e=k+16384;f-=l;g++;continue}}return Ec(Fc,e,f)}e=new Ac(a,e,l,16384,d);Bc(e,a.D,h);a.b[g++]=e;e=k+16384;f-=l}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Gc[d]+" at "+ua(b)),!0):Ec(Lc,b,c)} function Dc(a,b,c,d){for(var e=b,f=c,g=e>>>a.i;0<f&&g<a.b.length;){var h=a.b[g],k=16384*g,l=16384-(e-k);l>f&&(l=f);if(h&&h.size){if(h.type==d){if(e+f<=h.B)return h.Ya+=h.B-e,h.B=e,!0;if(e>=h.B+h.Ya){l=h.size-(e-k);l>f&&(l=f);h.Ya=e-h.B+l;e=k+16384;f-=l;g++;continue}}return Ec(Fc,e,f)}e=new Ac(a,e,l,16384,d);Bc(e,a.D,h);a.b[g++]=e;e=k+16384;f-=l}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Gc[d]+" at "+ua(b)),!0):Ec(Kc,b,c)}
function yc(a,b){var c=a.b[(b&a.j)>>>a.i];a.w++;b=c.w(b&16383,b);a.w--;return b}function xc(a,b,c){var d=a.b[(b&a.j)>>>a.i];a.w++;d.D(c,b&16383,b);a.w--}function Cc(a){for(var b=0,c=[],d=0;d<a.C;d++){var e=a.b[d];if(e.rb||e.Qb){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,h=0,k=[];g<e.length;){for(var l=e[g],p=g+1;p<e.length&&e[p]===l;)p++;k[h++]=p-g;k[h++]=l;g=p}k.length<e.length&&(e=k)}c[f]=e}}return c} function yc(a,b){var c=a.b[(b&a.j)>>>a.i];a.w++;b=c.w(b&16383,b);a.w--;return b}function xc(a,b,c){var d=a.b[(b&a.j)>>>a.i];a.w++;d.D(c,b&16383,b);a.w--}function Cc(a){for(var b=0,c=[],d=0;d<a.C;d++){var e=a.b[d];if(e.rb||e.Qb){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,h=0,k=[];g<e.length;){for(var l=e[g],p=g+1;p<e.length&&e[p]===l;)p++;k[h++]=p-g;k[h++]=l;g=p}k.length<e.length&&(e=k)}c[f]=e}}return c}
m.Rb=function(a){this.w||(this.D&&Pb(this.D,4)&&Qb(this.D,"memory fault on "+K(this.D,a),!0,!0),this.v.W())};function Ec(a,b,c){q("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}var Fc=1,Lc=2;function Mc(a){r.call(this,"Device",a,256)}ka(Mc,r);m=Mc.prototype;m.La=function(a,b,c,d){this.G=b;this.H=a;this.v=c;this.D=d;Mb(this)};m.Ba=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.qa=function(a){return a?this.save():!0};m.reset=function(){};m.save=function(){return(new F(this)).data()}; m.Rb=function(a){this.w||(this.D&&Pb(this.D,4)&&Qb(this.D,"memory fault on "+K(this.D,a),!0,!0),this.v.W())};function Ec(a,b,c){q("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}var Fc=1,Kc=2;function Lc(a){r.call(this,"Device",a,256)}ka(Lc,r);m=Lc.prototype;m.La=function(a,b,c,d){this.G=b;this.H=a;this.v=c;this.D=d;Mb(this)};m.Ba=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.sa=function(a){return a?this.save():!0};m.reset=function(){};m.save=function(){return(new F(this)).data()};
m.restore=function(){return!0};Xa(function(){for(var a=w(document,v,"device"),b=0;b<a.length;b++){var c,d=a[b];c=t(d);switch(c.type){case "default":c=new Mc(c),tb(c,d)}}});function Ac(a,b,c,d,e){this.H=a;this.id=Nc+=2;this.B=b;this.Ya=c;this.size=d||0;this.type=e||Oc;this.G=e==Pc;this.b=null;this.f=this.w=this.ub;this.g=this.D=this.Za;this.i=this.v=0;Bc(this);this.rb=this.Qb=!1;if(this.size){a=this.j=Array(this.size);for(b=0;b<a.length;b++)a[b]=0;Qc(this,Rc)}else Qc(this)}m=Ac.prototype;m.save=function(){return this.j}; m.restore=function(){return!0};Xa(function(){for(var a=w(document,v,"device"),b=0;b<a.length;b++){var c,d=a[b];c=t(d);switch(c.type){case "default":c=new Lc(c),sb(c,d)}}});function Ac(a,b,c,d,e){this.H=a;this.id=Mc+=2;this.B=b;this.Ya=c;this.size=d||0;this.type=e||Nc;this.G=e==Oc;this.b=null;this.f=this.w=this.ub;this.g=this.D=this.Za;this.i=this.v=0;Bc(this);this.rb=this.Qb=!1;if(this.size){a=this.j=Array(this.size);for(b=0;b<a.length;b++)a[b]=0;Pc(this,Qc)}else Pc(this)}m=Ac.prototype;m.save=function(){return this.j};
m.restore=function(a){return a&&this.size==a.length?(this.j=a,this.rb=!0):!1};function Qc(a,b){b||(b=Sc);Tc(a,b,void 0);Uc(a,b,void 0)}function Tc(a,b,c){c&&a.i||(a.f=b[0]||a.ub);if(c||void 0===c)a.w=b[0]||a.ub}function Uc(a,b,c){c&&a.v||(a.g=!a.G&&b[1]||a.Za);if(c||void 0===c)a.D=b[1]||a.Za}m.Ra=function(a,b){b?this.v++||Uc(this,Vc,!1):this.i++||Tc(this,Vc,!1)};function Wc(a,b){b?--a.v||(a.g=a.G?a.Za:a.D):--a.i||(a.f=a.w)} m.restore=function(a){return a&&this.size==a.length?(this.j=a,this.rb=!0):!1};function Pc(a,b){b||(b=Rc);Sc(a,b,void 0);Tc(a,b,void 0)}function Sc(a,b,c){c&&a.i||(a.f=b[0]||a.ub);if(c||void 0===c)a.w=b[0]||a.ub}function Tc(a,b,c){c&&a.v||(a.g=!a.G&&b[1]||a.Za);if(c||void 0===c)a.D=b[1]||a.Za}m.Ra=function(a,b){b?this.v++||Tc(this,Uc,!1):this.i++||Sc(this,Uc,!1)};function Vc(a,b){b?--a.v||(a.g=a.G?a.Za:a.D):--a.i||(a.f=a.w)}
function Bc(a,b,c){a.b=b;a.i=a.v=0;c&&((a.i=c.i)&&Tc(a,Vc,!1),(a.v=c.v)&&Uc(a,Vc,!1))}m.ub=function(a,b){this.b&&Pb(this.b,32)&&Qb(this.b,"attempt to read invalid address "+K(this.b,b),!0);this.H.Rb(b);return-1};m.Za=function(a,b,c){this.b&&Pb(this.b,32)&&Qb(this.b,"attempt to write "+K(this.b,a)+" to invalid addresses "+K(this.b,c),!0)};m.gc=function(a){return this.j[a]};m.pc=function(a,b){this.j[b]!=a&&(this.j[b]=a,this.rb=!0)}; function Bc(a,b,c){a.b=b;a.i=a.v=0;c&&((a.i=c.i)&&Sc(a,Uc,!1),(a.v=c.v)&&Tc(a,Uc,!1))}m.ub=function(a,b){this.b&&Pb(this.b,32)&&Qb(this.b,"attempt to read invalid address "+K(this.b,b),!0);this.H.Rb(b);return-1};m.Za=function(a,b,c){this.b&&Pb(this.b,32)&&Qb(this.b,"attempt to write "+K(this.b,a)+" to invalid addresses "+K(this.b,c),!0)};m.gc=function(a){return this.j[a]};m.pc=function(a,b){this.j[b]!=a&&(this.j[b]=a,this.rb=!0)};
m.ec=function(a,b){if(this.b&&null!=this.B){var c=this.b;Xc(c,this.B+a,2,c.N)&&c.W(!1)}return this.w(a,b)};m.oc=function(a,b,c){if(this.b&&null!=this.B){var d=this.b;Xc(d,this.B+b,2,d.K)&&d.W(!1)}this.G?this.Za(a,0,c):this.D(a,b,c)};var Oc=0,Pc=2,Gc=["NONE","RAM","ROM"],Nc=0,Sc=[],Rc=[Ac.prototype.gc,Ac.prototype.pc],Vc=[Ac.prototype.ec,Ac.prototype.oc]; m.ec=function(a,b){if(this.b&&null!=this.B){var c=this.b;Wc(c,this.B+a,2,c.N)&&c.W(!1)}return this.w(a,b)};m.oc=function(a,b,c){if(this.b&&null!=this.B){var d=this.b;Wc(d,this.B+b,2,d.K)&&d.W(!1)}this.G?this.Za(a,0,c):this.D(a,b,c)};var Nc=0,Oc=2,Gc=["NONE","RAM","ROM"],Mc=0,Rc=[],Qc=[Ac.prototype.gc,Ac.prototype.pc],Uc=[Ac.prototype.ec,Ac.prototype.oc];
function Yc(a,b){r.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.jb=0;this.mb=b;this.ja=c;this.kb=Math.round(this.mb/1E4)/100;this.ha=this.kb*this.ja;this.lb=this.Ia=this.ka=this.cb=0;this.A.O=this.A.ib=!1;this.A.ga=a.autoStart;"string"==typeof this.A.ga&&(this.A.ga="true"==this.A.ga);this.A.Ua=!1;this.Ga=this.na=0;this.Ha=+a.csStart;this.ma=+a.csInterval;this.oa=+a.csStop;this.S=[];this.Fb=this.jc.bind(this);this.X=this.M=this.V=this.N=this.L=this.Fa=this.U=this.sa=this.nb=this.ba= function Xc(a,b){r.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.jb=0;this.mb=b;this.ja=c;this.kb=Math.round(this.mb/1E4)/100;this.ia=this.kb*this.ja;this.lb=this.Ia=this.ka=this.cb=0;this.A.O=this.A.ib=!1;this.A.ga=a.autoStart;"string"==typeof this.A.ga&&(this.A.ga="true"==this.A.ga);this.A.Va=!1;this.Ga=this.pa=0;this.Ha=+a.csStart;this.oa=+a.csInterval;this.qa=+a.csStop;this.S=[];this.Fb=this.jc.bind(this);this.X=this.M=this.V=this.N=this.L=this.Fa=this.U=this.ua=this.nb=this.ba=
0;this.Na=null;Mb(this)}ka(Yc,r);m=Yc.prototype;m.La=function(a,b,c,d){this.H=a;this.G=b;this.D=d;this.Na=a.j;for(a=0;a<Zc.length;a++)(b=this.J[Zc[a]])&&this.H.ra(null,Zc[a],b);Mb(this)};m.reset=function(){};m.save=function(){return null};m.restore=function(){return!1}; 0;this.Na=null;Mb(this)}ka(Xc,r);m=Xc.prototype;m.La=function(a,b,c,d){this.H=a;this.G=b;this.D=d;this.Na=a.j;for(a=0;a<Yc.length;a++)(b=this.J[Yc[a]])&&this.H.ta(null,Yc[a],b);Mb(this)};m.reset=function(){};m.save=function(){return null};m.restore=function(){return!1};
m.Ba=function(a,b){var c=$c(this.H,"autoStart");null!=c?this.A.ga="true"==c?!0:"false"==c?!1:!!c:null==this.A.ga&&(this.A.ga=!this.D&&void 0===this.J.run);if(!b){if(a){ad(this);if(!this.restore(a))return!1;bd(this)}else this.reset();this.D?(a=this.D,b=this.A.ga,a.Ja=!0,a.u("Type ? for help with PDPjs Debugger commands"),cd(a),b||dd(a),a.ua&&(b=a.ua,a.ua=null,ed(a,b,!0))):this.status("No debugger detected");this.A.ga||this.u("CPU will not be auto-started "+(this.Na?"(click Run to start)":"(type 'go' to start)"))}return!0}; m.Ba=function(a,b){var c=Zc(this.H,"autoStart");null!=c?this.A.ga="true"==c?!0:"false"==c?!1:!!c:null==this.A.ga&&(this.A.ga=!this.D&&void 0===this.J.run);if(!b){if(a){$c(this);if(!this.restore(a))return!1;ad(this)}else this.reset();this.D?(a=this.D,b=this.A.ga,a.Ja=!0,a.u("Type ? for help with PDPjs Debugger commands"),bd(a),b||cd(a),a.va&&(b=a.va,a.va=null,dd(a,b,!0))):this.status("No debugger detected");this.A.ga||this.u("CPU will not be auto-started "+(this.Na?"(click Run to start)":"(type 'go' to start)"))}return!0};
m.qa=function(a){return a?this.save():!0};m.ga=function(){return this.A.O?!0:this.A.ga?(rc(this),!0):!1};m.Ib=function(){return 0};function bd(a){void 0===a.Ha&&(a.Ha=0);void 0===a.ma&&(a.ma=-1);void 0===a.oa&&(a.oa=-1);a.A.Ua=0<=a.Ha&&0<a.ma;a.A.Ua&&(a.Ga=0,a.na=a.Ha-a.X)}function vc(a,b){if(a.A.Ua){var c=!1;a.Ga=a.Ga+a.Ib()|0;a.na-=b;0>=a.na&&(a.na+=a.ma,c=!0);0<=a.oa&&a.oa<=fd(a)&&(a.ma=a.oa=-1,bd(a),a.W(),c=!0);c&&a.u(fd(a)+" cycles: checksum="+n(a.Ga))}} m.sa=function(a){return a?this.save():!0};m.ga=function(){return this.A.O?!0:this.A.ga?(rc(this),!0):!1};m.Ib=function(){return 0};function ad(a){void 0===a.Ha&&(a.Ha=0);void 0===a.oa&&(a.oa=-1);void 0===a.qa&&(a.qa=-1);a.A.Va=0<=a.Ha&&0<a.oa;a.A.Va&&(a.Ga=0,a.pa=a.Ha-a.X)}function vc(a,b){if(a.A.Va){var c=!1;a.Ga=a.Ga+a.Ib()|0;a.pa-=b;0>=a.pa&&(a.pa+=a.oa,c=!0);0<=a.qa&&a.qa<=ed(a)&&(a.oa=a.qa=-1,ad(a),a.W(),c=!0);c&&a.u(ed(a)+" cycles: checksum="+n(a.Ga))}}
m.ra=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.J[b]=c,!0;case "run":return this.J[b]=c,c.onclick=function(){var a;if(a=d.H)if(a=d.H,a.A.Z)a=!0;else{var b=null,c,h=qb(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.A.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.A.Z);c++);c==h.length&&(b=a);q("The "+b.type+" component ("+b.id+") is not "+(b.A.ready?"powered yet":"ready yet"+(b.fb?" (waiting for notification)":""))+".");a=!1}a&&(d.A.O?d.W():rc(d))},!0;case "speed":return this.J[b]= m.ta=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.J[b]=c,!0;case "run":return this.J[b]=c,c.onclick=function(){var a;if(a=d.H)if(a=d.H,a.A.aa)a=!0;else{var b=null,c,h=pb(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.A.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.A.aa);c++);c==h.length&&(b=a);q("The "+b.type+" component ("+b.id+") is not "+(b.A.ready?"powered yet":"ready yet"+(b.fb?" (waiting for notification)":""))+".");a=!1}a&&(d.A.O?d.W():rc(d))},!0;
c,!0;case "setSpeed":return this.J[b]=c,c.onclick=function(){gd(d,d.ja<<1,!0)},c.textContent=this.ha.toFixed(2)+"Mhz",!0}return!1};function uc(a,b,c){a.X+=b;c&&(a.V=a.N=0)}function hd(a,b){var c=1;b&&1<a.ja&&a.ba&&(c=a.ba/a.kb);a.lb=Math.round(1E3/id);a.Ia=Math.floor(a.mb/id*c);b||(a.ka=a.Ia);a.cb=0}function fd(a){return a.X+a.M+a.V-a.N}function ad(a){a.ba=0;a.nb=0;a.X=a.M=a.V=a.N=0;bd(a);gd(a,1)} case "speed":return this.J[b]=c,!0;case "setSpeed":return this.J[b]=c,c.onclick=function(){fd(d,d.ja<<1,!0)},c.textContent=this.ia.toFixed(2)+"Mhz",!0}return!1};function uc(a,b,c){a.X+=b;c&&(a.V=a.N=0)}function gd(a,b){var c=1;b&&1<a.ja&&a.ba&&(c=a.ba/a.kb);a.lb=Math.round(1E3/hd);a.Ia=Math.floor(a.mb/hd*c);b||(a.ka=a.Ia);a.cb=0}function ed(a){return a.X+a.M+a.V-a.N}function $c(a){a.ba=0;a.nb=0;a.X=a.M=a.V=a.N=0;ad(a);fd(a,1)}
function gd(a,b,c){var d=!1;if(void 0!==b){.8>a.ba/a.ha?b=1:d=!0;a.ja=b;b=a.kb*a.ja;if(a.ha!=b){a.ha=b;b=a.ha.toFixed(2)+"Mhz";var e=a.J.setSpeed;e&&(e.textContent=b);a.u("target speed: "+b)}c&&a.H&&jd(a.H)}uc(a,a.M);a.M=0;a.L=ob();a.U=0;hd(a);return d}function kd(a,b){for(var c=a.S.length-1;0<=c;c--){var d=a.S[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function ld(a){for(var b=[],c=0;c<a.S.length;c++)b.push(a.S[c][0]);return b} function fd(a,b,c){var d=!1;if(void 0!==b){.8>a.ba/a.ia?b=1:d=!0;a.ja=b;b=a.kb*a.ja;if(a.ia!=b){a.ia=b;b=a.ia.toFixed(2)+"Mhz";var e=a.J.setSpeed;e&&(e.textContent=b);a.u("target speed: "+b)}c&&a.H&&id(a.H)}uc(a,a.M);a.M=0;a.L=nb();a.U=0;gd(a);return d}function jd(a,b){for(var c=a.S.length-1;0<=c;c--){var d=a.S[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function kd(a){for(var b=[],c=0;c<a.S.length;c++)b.push(a.S[c][0]);return b}
function tc(a,b){for(var c=a.S.length-1;0<=c;c--){var d=a.S[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function md(a,b){var c=a.V-=a.N;a.N=0;b&&(a.V=0);return c} function tc(a,b){for(var c=a.S.length-1;0<=c;c--){var d=a.S[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function ld(a,b){var c=a.V-=a.N;a.N=0;b&&(a.V=0);return c}
m.jc=function(){if(this.A.O){this.cb>=this.mb&&hd(this,!0);this.sa=0;this.Fa=ob();if(this.U){var a=this.Fa-this.U;a>this.lb&&(this.L+=a,this.L>this.Fa&&(this.L=this.Fa))}try{do{var b=kd(this,this.A.Ua?1:this.Ia);try{this.$a(b)}catch(e){if("number"!=typeof e)throw e;}b=md(this,!0);this.sa+=b;this.M+=b;vc(this,b);tc(this,b);this.ka-=b;if(0>=this.ka){this.ka+=this.Ia;++this.nb>=nd&&(this.H&&J(this.H,void 0),this.nb=0);break}}while(this.A.O)}catch(e){this.W();this.H&&this.H.stop(ob(),fd(this));zb(this, m.jc=function(){if(this.A.O){this.cb>=this.mb&&gd(this,!0);this.ua=0;this.Fa=nb();if(this.U){var a=this.Fa-this.U;a>this.lb&&(this.L+=a,this.L>this.Fa&&(this.L=this.Fa))}try{do{var b=jd(this,this.A.Va?1:this.Ia);try{this.$a(b)}catch(e){if("number"!=typeof e)throw e;}b=ld(this,!0);this.ua+=b;this.M+=b;vc(this,b);tc(this,b);this.ka-=b;if(0>=this.ka){this.ka+=this.Ia;++this.nb>=md&&(this.H&&J(this.H,void 0),this.nb=0);break}}while(this.A.O)}catch(e){this.W();this.H&&this.H.stop(nb(),ed(this));yb(this,
e.stack||e.message);return}if(this.A.O){a=setTimeout;b=this.Fb;this.U=ob();var c=this.lb;this.sa&&(c=Math.round(c*this.sa/this.Ia));var c=c-(this.U-this.Fa),d=this.U-this.L;d&&(this.ba=Math.round(this.M/(10*d))/100,864E5<=d&&(this.X=0,gd(this)));if(0>c||this.ba<this.ha)-1E3>c&&(this.L-=c),c=0;this.cb+=this.sa;this.U+=c;a(b,c)}}}; e.stack||e.message);return}if(this.A.O){a=setTimeout;b=this.Fb;this.U=nb();var c=this.lb;this.ua&&(c=Math.round(c*this.ua/this.Ia));var c=c-(this.U-this.Fa),d=this.U-this.L;d&&(this.ba=Math.round(this.M/(10*d))/100,864E5<=d&&(this.X=0,fd(this)));if(0>c||this.ba<this.ia)-1E3>c&&(this.L-=c),c=0;this.cb+=this.ua;this.U+=c;a(b,c)}}};
function rc(a,b){if(!Ab(a))if(a.A.O)a.u(a.toString()+" busy");else{gd(a);a.A.O=!0;a.A.ib=!0;var c=a.J.run;c&&(c.textContent="Halt");a.H&&(b&&jd(a.H,!0),a.H.start(a.L,fd(a)));a.D||a.status("Started");setTimeout(a.Fb,0)}}m.$a=function(){return 0};m.W=function(a){var b=!1;if(this.A.O){md(this);uc(this,this.M);this.M=0;this.A.O=!1;if(b=this.J.run)b.textContent="Run";this.H&&this.H.stop(ob(),fd(this));b=!0;this.D||this.status("Stopped")}this.A.complete=a;return b};var id=30,nd=15,Zc=["power","reset"]; function rc(a,b){if(!zb(a))if(a.A.O)a.u(a.toString()+" busy");else{fd(a);a.A.O=!0;a.A.ib=!0;var c=a.J.run;c&&(c.textContent="Halt");a.H&&(b&&id(a.H,!0),a.H.start(a.L,ed(a)));a.D||a.status("Started");setTimeout(a.Fb,0)}}m.$a=function(){return 0};m.W=function(a){var b=!1;if(this.A.O){ld(this);uc(this,this.M);this.M=0;this.A.O=!1;if(b=this.J.run)b.textContent="Run";this.H&&this.H.stop(nb(),ed(this));b=!0;this.D||this.status("Stopped")}this.A.complete=a;return b};var hd=30,md=15,Yc=["power","reset"];
function od(a){var b=+a.model||1001;Yc.call(this,a,1E6);this.Db=b;this.Oa=+a.addrReset||0;this.Pb=pd.bind(this);this.w=L.bind(this);this.Da=null;this.vb=[];this.A.complete=!1}ka(od,Yc);m=od.prototype; function nd(a){var b=+a.model||1001;Xc.call(this,a,1E6);this.Db=b;this.Oa=+a.addrReset||0;this.Pb=od.bind(this);this.w=L.bind(this);this.Da=null;this.vb=[];this.A.complete=!1}ka(nd,Xc);m=nd.prototype;
m.reset=function(){this.status("Model "+this.Db);this.A.O&&this.W();this.Ja=this.Ka=this.b=this.I=0;this.i=this.Ea=this.Oa;this.K=this.P=-1;this.F=this.j=0;this.ob=[0,0];this.ta=[0,0];this.la=[0,0];this.ua=[0,0];this.Ca=this.i;this.C=0;this.f=this.fc;this.g=this.qc;this.Da=null;ad(this);this.A.error=!1;Yc.prototype.reset.call(this)};m.Ib=function(){return 0}; m.reset=function(){this.status("Model "+this.Db);this.A.O&&this.W();this.Ja=this.Ka=this.b=this.I=0;this.i=this.Ea=this.Oa;this.K=this.P=-1;this.F=this.j=0;this.ob=[0,0];this.va=[0,0];this.na=[0,0];this.xa=[0,0];this.Ca=this.i;this.C=0;this.f=this.fc;this.g=this.qc;this.Da=null;$c(this);this.A.error=!1;Xc.prototype.reset.call(this)};m.Ib=function(){return 0};
m.save=function(){var a=new F(this);a.set(0,[this.b,this.I,this.Ja,this.Ka,this.i,this.P,this.K,this.j,this.C,this.Ea,this.Ca,this.Oa]);a.set(1,[]);a.set(2,[this.X,this.ja,this.A.ga]);a.set(3,qd(this));a.set(4,ld(this));return a.data()}; m.save=function(){var a=new F(this);a.set(0,[this.b,this.I,this.Ja,this.Ka,this.i,this.P,this.K,this.j,this.C,this.Ea,this.Ca,this.Oa]);a.set(1,[]);a.set(2,[this.X,this.ja,this.A.ga]);a.set(3,pd(this));a.set(4,kd(this));return a.data()};
m.restore=function(a){var b;b=a[0];ga();ca();ga();var c=b[Symbol.iterator];b=c?c.call(b):ha(b);this.b=b.next().value;this.I=b.next().value;this.Ja=b.next().value;this.Ka=b.next().value;this.i=b.next().value;this.P=b.next().value;this.K=b.next().value;this.j=b.next().value;this.C=b.next().value;this.Ea=b.next().value;this.Ca=b.next().value;this.Oa=b.next().value;b=a[2];this.X=b[0];gd(this,b[1]);this.A.ga=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.vb.length;d++){var e=this.vb[d]; m.restore=function(a){var b;b=a[0];ga();ca();ga();var c=b[Symbol.iterator];b=c?c.call(b):ha(b);this.b=b.next().value;this.I=b.next().value;this.Ja=b.next().value;this.Ka=b.next().value;this.i=b.next().value;this.P=b.next().value;this.K=b.next().value;this.j=b.next().value;this.C=b.next().value;this.Ea=b.next().value;this.Ca=b.next().value;this.Oa=b.next().value;b=a[2];this.X=b[0];fd(this,b[1]);this.A.ga=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.vb.length;d++){var e=this.vb[d];
if(e.nc===b[c]){d=e;break a}}d=null}d&&(d.next=this.Da,this.Da=d)}a=a[4];for(b=0;b<this.S.length&&b<a.length;b++)this.S[b][0]=a[b];return!0};function rd(a,b){a.j=a.j&-254049|b&254048;a.j|=b&4096;b&2048?a.j&4096||(a.j|=2048):a.j&=-2049}function sd(a,b){var c=a.i;a.i=(c+b)%Tb;return c}function G(a,b){a.i=b%Tb;a.P=-1}function qd(a){var b=[];for(a=a.Da;a;)b.push(a.nc),a=a.next;return b}m.fc=function(a){var b=this.G;a=this.Ca=a;return b.b[(a&b.j)>>>b.i].f(a&16383,a)}; if(e.nc===b[c]){d=e;break a}}d=null}d&&(d.next=this.Da,this.Da=d)}a=a[4];for(b=0;b<this.S.length&&b<a.length;b++)this.S[b][0]=a[b];return!0};function qd(a,b){a.j=a.j&-254049|b&254048;a.j|=b&4096;b&2048?a.j&4096||(a.j|=2048):a.j&=-2049}function rd(a,b){var c=a.i;a.i=(c+b)%Tb;return c}function G(a,b){a.i=b%Tb;a.P=-1}function pd(a){var b=[];for(a=a.Da;a;)b.push(a.nc),a=a.next;return b}m.fc=function(a){var b=this.G;a=this.Ca=a;return b.b[(a&b.j)>>>b.i].f(a&16383,a)};
m.qc=function(a,b){var c=this.G;a=this.Ca=a;c.b[(a&c.j)>>>c.i].g(b,a&16383,a);return b}; m.qc=function(a,b){var c=this.G;a=this.Ca=a;c.b[(a&c.j)>>>c.i].g(b,a&16383,a);return b};
m.$a=function(a){this.A.complete=!0;var b=this.D?td(this.D)?1:this.A.ib?-1:0:0,c=a?this.A.ib?0:1:-1;this.A.ib=!1;this.V=this.N=a;this.C=this.C&-5|(b?4:0);do{if(this.C){if(this.C&4){if(ud(this.D,this.i,c)){this.W();break}++b||(this.C&=-5);c||c++}if(a=this.C&11)this.C&2?this.Da||(this.C&=-3):this.C&1&&this.C++,a=!1;if(a){if(this.C&4&&ud(this.D,this.i,c)){this.W();break}if(0>c)break}}this.C&=15;this.I&4194304?this.I=this.Ja=this.f(this.b):0<=this.P?(this.I=this.Ka=this.f(this.P),this.P=-1):(this.I=this.Ka= m.$a=function(a){this.A.complete=!0;var b=this.D?sd(this.D)?1:this.A.ib?-1:0:0,c=a?this.A.ib?0:1:-1;this.A.ib=!1;this.V=this.N=a;this.C=this.C&-5|(b?4:0);do{if(this.C){if(this.C&4){if(td(this.D,this.i,c)){this.W();break}++b||(this.C&=-5);c||c++}if(a=this.C&11)this.C&2?this.Da||(this.C&=-3):this.C&1&&this.C++,a=!1;if(a){if(this.C&4&&td(this.D,this.i,c)){this.W();break}if(0>c)break}}this.C&=15;this.I&4194304?this.I=this.Ja=this.f(this.b):0<=this.P?(this.I=this.Ka=this.f(this.P),this.P=-1):(this.I=this.Ka=
this.f(this.Ea=this.i),this.i=(this.i+1)%Tb);this.I&=8388607;this.b=this.I&262143;if(a=this.I>>18&15)this.b=this.b+(this.Ja=this.f(a))&Sb;a=this.I&4194304?-1:this.Ka/Zb|0;0<=a&&this.Pb(a);this.N--}while(0<this.N);return this.A.complete?this.V-this.N:!1===this.A.complete?-1:0};Xa(function(){for(var a=w(document,v,"cpu"),b=0;b<a.length;b++){var c=a[b],d=t(c),d=new od(d);tb(d,c)}});function pd(a){vd[a>>4].call(this,a,a&15)}function N(a){this.w(a)} this.f(this.Ea=this.i),this.i=(this.i+1)%Tb);this.I&=8388607;this.b=this.I&262143;if(a=this.I>>18&15)this.b=this.b+(this.Ja=this.f(a))&Sb;a=this.I&4194304?-1:this.Ka/Zb|0;0<=a&&this.Pb(a);this.N--}while(0<this.N);return this.A.complete?this.V-this.N:!1===this.A.complete?-1:0};Xa(function(){for(var a=w(document,v,"cpu"),b=0;b<a.length;b++){var c=a[b],d=t(c),d=new nd(d);sb(d,c)}});function od(a){ud[a>>4].call(this,a,a&15)}function N(a){this.w(a)}
function wd(){var a=0,b=this.f(this.b),c=b/$b&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*$b+(d<<24)+(b&16777215);a&&(b=(b+a)%C);this.g(this.b,b)}function xd(a,b){a=this.f(this.b);if(0>this.K)this.K=a,this.I=this.b|4194304;else{var c=this.K/$b&63,d=this.K>>24&63;a=32>=c+d?(a>>c&(1<<d)-1)>>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.g(b,a);this.j&=-8193;this.K=-1}} function vd(){var a=0,b=this.f(this.b),c=b/$b&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*$b+(d<<24)+(b&16777215);a&&(b=(b+a)%C);this.g(this.b,b)}function wd(a,b){a=this.f(this.b);if(0>this.K)this.K=a,this.I=this.b|4194304;else{var c=this.K/$b&63,d=this.K>>24&63;a=32>=c+d?(a>>c&(1<<d)-1)>>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.g(b,a);this.j&=-8193;this.K=-1}}
function yd(a,b){a=this.f(this.b);if(0>this.K)this.K=a,this.I=this.b|4194304;else{var c=this.K/$b&63,d=this.K>>24&63;b=this.f(b)%Math.pow(2,d)*Math.pow(2,c)%C;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.g(this.b,a);this.j&=-8193;this.K=-1}}function zd(a,b){this.g(b,this.f(this.b))}function Ad(a,b){this.g(b,this.b)}function Bd(a,b){this.g(this.b,this.f(b))}function Cd(a,b){this.g(b,0)}function Dd(a,b){this.g(b,B-this.f(b))}function Ed(a,b){this.g(b,B)} function xd(a,b){a=this.f(this.b);if(0>this.K)this.K=a,this.I=this.b|4194304;else{var c=this.K/$b&63,d=this.K>>24&63;b=this.f(b)%Math.pow(2,d)*Math.pow(2,c)%C;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.g(this.b,a);this.j&=-8193;this.K=-1}}function yd(a,b){this.g(b,this.f(this.b))}function zd(a,b){this.g(b,this.b)}function Ad(a,b){this.g(this.b,this.f(b))}function Bd(a,b){this.g(b,0)}function Cd(a,b){this.g(b,B-this.f(b))}function Dd(a,b){this.g(b,B)}
function Fd(a,b){var c=this.f(this.b),d=this.f(b);this.g(b,Gd(a,d,c)+(c-(c&x)))}function Hd(a,b){var c=this.f(b);this.g(b,Gd(a,c,0))}function Id(a,b){b=this.f(b);var c=this.f(this.b);this.g(this.b,Gd(a,c,b)+(b-(b&x)))}function Jd(a,b){var c=this.f(this.b),d=c;if(a&=384)switch(d-=d&x,a){case 256:d+=x;break;case 384:d+=c>z?x:0}c=d;this.g(this.b,c);b&&this.g(b,c)}function Kd(a,b){var c=(this.f(this.b)&x)*y,d=this.f(b);this.g(b,Gd(a,d,c)+c)} function Ed(a,b){var c=this.f(this.b),d=this.f(b);this.g(b,Fd(a,d,c)+(c-(c&x)))}function Gd(a,b){var c=this.f(b);this.g(b,Fd(a,c,0))}function Hd(a,b){b=this.f(b);var c=this.f(this.b);this.g(this.b,Fd(a,c,b)+(b-(b&x)))}function Id(a,b){var c=this.f(this.b),d=c;if(a&=384)switch(d-=d&x,a){case 256:d+=x;break;case 384:d+=c>z?x:0}c=d;this.g(this.b,c);b&&this.g(b,c)}function Jd(a,b){var c=(this.f(this.b)&x)*y,d=this.f(b);this.g(b,Fd(a,d,c)+c)}
function be(a,b){var c=this.b*y,d=this.f(b);this.g(b,Gd(a,d,c)+c)}function ce(a,b){b=(this.f(b)&x)*y;var c=this.f(this.b);this.g(this.b,Gd(a,c,b)+b)}function de(a,b){var c=this.f(this.b),d=(c&x)*y,c=Gd(a,c,d)+d;this.g(this.b,c);b&&this.g(b,c)}function ee(a,b){var c=this.f(this.b)&x,d=this.f(b);this.g(b,fe(a,d,c)+c)}function ge(a,b){var c=this.f(b);this.g(b,fe(a,c,this.b)+this.b)}function he(a,b){b=this.f(b)&x;var c=this.f(this.b);this.g(this.b,fe(a,c,b)+b)} function ae(a,b){var c=this.b*y,d=this.f(b);this.g(b,Fd(a,d,c)+c)}function be(a,b){b=(this.f(b)&x)*y;var c=this.f(this.b);this.g(this.b,Fd(a,c,b)+b)}function ce(a,b){var c=this.f(this.b),d=(c&x)*y,c=Fd(a,c,d)+d;this.g(this.b,c);b&&this.g(b,c)}function de(a,b){var c=this.f(this.b)&x,d=this.f(b);this.g(b,ee(a,d,c)+c)}function fe(a,b){var c=this.f(b);this.g(b,ee(a,c,this.b)+this.b)}function ge(a,b){b=this.f(b)&x;var c=this.f(this.b);this.g(this.b,ee(a,c,b)+b)}
function ie(a,b){var c=this.f(this.b),d=c;if(a&=384)switch(d&=x,a){case 256:d+=x*y;break;case 384:d+=c>Ub?x*y:0}c=d;this.g(this.b,c);b&&this.g(b,c)}function je(a,b){var c=this.f(this.b)/y|0,d=this.f(b);this.g(b,fe(a,d,c)+c)}function ke(a,b){var c=this.f(b);this.g(b,fe(a,c,0))}function le(a,b){b=this.f(b)/y|0;var c=this.f(this.b);this.g(this.b,fe(a,c,b)+b)}function me(a,b){var c=this.f(this.b),d=c/y|0,c=fe(a,c,d)+d;this.g(this.b,c);b&&this.g(b,c)}function O(a){ne[a&7].call(this,a,a>>3&127)} function he(a,b){var c=this.f(this.b),d=c;if(a&=384)switch(d&=x,a){case 256:d+=x*y;break;case 384:d+=c>Ub?x*y:0}c=d;this.g(this.b,c);b&&this.g(b,c)}function ie(a,b){var c=this.f(this.b)/y|0,d=this.f(b);this.g(b,ee(a,d,c)+c)}function je(a,b){var c=this.f(b);this.g(b,ee(a,c,0))}function ke(a,b){b=this.f(b)/y|0;var c=this.f(this.b);this.g(this.b,ee(a,c,b)+b)}function le(a,b){var c=this.f(this.b),d=c/y|0,c=ee(a,c,d)+d;this.g(this.b,c);b&&this.g(b,c)}function O(a){me[a&7].call(this,a,a>>3&127)}
function oe(){}function pe(){}function L(a){this.u("undefined opcode: "+ua(a));sd(this,-1);this.W()}function qe(a){a>z&&(a!=A?a=Wb-a:this.j|=163840);return a}function Q(a,b){var c=(a+b)%C;re.call(this,a,b,c);return c} function ne(){}function oe(){}function L(a){this.u("undefined opcode: "+ua(a));rd(this,-1);this.W()}function pe(a){a>z&&(a!=A?a=Wb-a:this.j|=163840);return a}function Q(a,b){var c=(a+b)%C;qe.call(this,a,b,c);return c}
function se(a,b,c){var d=!1,e=!1,f=b-b%A;a=a%A+b*A%C;b=this.F=f+Math.trunc(b/2);c>z&&(c=C-c,d=!d);b>z&&(a?(b=B-b,a=C-a):b&&(b=C-b),e=!0,d=!d);if(b>=c)return this.j|=131104,-1;f=this.ob;f[0]=0;f[1]=0;f=this.ta;f[0]=1;f[1]=0;f=this.la;f[0]=c;f[1]=0;c=this.ua;c[0]=a;for(c[1]=b;0<te(this.ua,this.la);)ue(this.la,this.la),ue(this.ta,this.ta);do{if(0<=te(this.ua,this.la)&&(b=this.ua,a=this.la,b[0]-=a[0],b[1]-=a[1],0>b[0]&&(b[0]+=C,b[1]--),ue(this.ob,this.ta),ve(this.ua)))break;we(this.la);we(this.ta)}while(!ve(this.ta)); function re(a,b,c){var d=!1,e=!1,f=b-b%A;a=a%A+b*A%C;b=this.F=f+Math.trunc(b/2);c>z&&(c=C-c,d=!d);b>z&&(a?(b=B-b,a=C-a):b&&(b=C-b),e=!0,d=!d);if(b>=c)return this.j|=131104,-1;f=this.ob;f[0]=0;f[1]=0;f=this.va;f[0]=1;f[1]=0;f=this.na;f[0]=c;f[1]=0;c=this.xa;c[0]=a;for(c[1]=b;0<se(this.xa,this.na);)te(this.na,this.na),te(this.va,this.va);do{if(0<=se(this.xa,this.na)&&(b=this.xa,a=this.na,b[0]-=a[0],b[1]-=a[1],0>b[0]&&(b[0]+=C,b[1]--),te(this.ob,this.va),ue(this.xa)))break;ve(this.na);ve(this.va)}while(!ue(this.va));
a=this.ob[0];this.F=this.ua[0];d&&a&&(a=C-a);e&&this.F&&(this.F=C-this.F);return a} a=this.ob[0];this.F=this.xa[0];d&&a&&(a=C-a);e&&this.F&&(this.F=C-this.F);return a}
function xe(a,b,c){var d=a,e=b;b=!1;var f;d>z&&(d=C-d,b=!b);e>z&&(e=C-e,b=!b);if(d<y&&e<y)a=d*e,f=0;else{a=d&x;d=Math.trunc(d/y);f=e&x;var e=Math.trunc(e/y),g=a*f,h=d*f+Math.trunc(g/y);f=Math.trunc(h/y);h=(h&x)+a*e;a=h*y+(g&x);f+=Math.trunc(h/y)+d*e}b&&(a?(f=B-f,a=C-a):f&&(f=C-f));if(c)return(f||a>z)&&(f!=B||a<=z)&&(this.j|=131072),a;c=a;b=f;a=b-b%A;b=2*b%C+Math.trunc(c/A);c=a+c%A;d=b-b%A;a!=d&&(b=a+(b-d),this.j|=131072);this.F=c;return b} function we(a,b,c){var d=a,e=b;b=!1;var f;d>z&&(d=C-d,b=!b);e>z&&(e=C-e,b=!b);if(d<y&&e<y)a=d*e,f=0;else{a=d&x;d=Math.trunc(d/y);f=e&x;var e=Math.trunc(e/y),g=a*f,h=d*f+Math.trunc(g/y);f=Math.trunc(h/y);h=(h&x)+a*e;a=h*y+(g&x);f+=Math.trunc(h/y)+d*e}b&&(a?(f=B-f,a=C-a):f&&(f=C-f));if(c)return(f||a>z)&&(f!=B||a<=z)&&(this.j|=131072),a;c=a;b=f;a=b-b%A;b=2*b%C+Math.trunc(c/A);c=a+c%A;d=b-b%A;a!=d&&(b=a+(b-d),this.j|=131072);this.F=c;return b}
function ye(a){a?a==A?this.j|=163840:a=Wb-a:this.j|=98304;return a}function ze(a,b){var c=a-b;0>c&&(c+=C);re.call(this,c,b,a);return c}function re(a,b,c){a=Math.trunc(a/Vb);b=Math.trunc(b/Vb);c=Math.trunc(c/Vb);var d=a^(a^b)&(b^c);this.j=this.j|(d&2?65536:0)|(d&1?32768:0)|((a^c)&(b^c)&2?131072:0)}function R(a,b){return((a/E|0)&(b/E|0))*E+((a&b)>>>0)}function S(a,b){return R(a,(~(b/E|0)&15)*E+(~b>>>0))}function T(a,b){return(a<A?a:a-C)-(b<A?b:b-C)} function xe(a){a?a==A?this.j|=163840:a=Wb-a:this.j|=98304;return a}function ye(a,b){var c=a-b;0>c&&(c+=C);qe.call(this,c,b,a);return c}function qe(a,b,c){a=Math.trunc(a/Vb);b=Math.trunc(b/Vb);c=Math.trunc(c/Vb);var d=a^(a^b)&(b^c);this.j=this.j|(d&2?65536:0)|(d&1?32768:0)|((a^c)&(b^c)&2?131072:0)}function R(a,b){return((a/E|0)&(b/E|0))*E+((a&b)>>>0)}function S(a,b){return R(a,(~(b/E|0)&15)*E+(~b>>>0))}function T(a,b){return(a<A?a:a-C)-(b<A?b:b-C)}
function Ae(a,b){return(~((a/E|0)^(b/E|0))&15)*E+(~(a^b)>>>0)}function U(a,b){return(a/E|0|b/E|0)*E+((a|b)>>>0)}function V(a){return a<A?a:a-C}function W(a,b){return((a/E|0)^(b/E|0))*E+((a^b)>>>0)}function X(a){return(a/y|0)+(a&x)*y}function fe(a,b,c){switch(a&384){case 0:b-=b&x;break;case 128:b=0;break;case 256:b=x*y;break;case 384:b=c>Ub?x*y:0}return b}function Gd(a,b,c){switch(a&384){case 0:b&=x;break;case 128:b=0;break;case 256:b=x;break;case 384:b=c>z?x:0}return b} function ze(a,b){return(~((a/E|0)^(b/E|0))&15)*E+(~(a^b)>>>0)}function U(a,b){return(a/E|0|b/E|0)*E+((a|b)>>>0)}function V(a){return a<A?a:a-C}function W(a,b){return((a/E|0)^(b/E|0))*E+((a^b)>>>0)}function X(a){return(a/y|0)+(a&x)*y}function ee(a,b,c){switch(a&384){case 0:b-=b&x;break;case 128:b=0;break;case 256:b=x*y;break;case 384:b=c>Ub?x*y:0}return b}function Fd(a,b,c){switch(a&384){case 0:b&=x;break;case 128:b=0;break;case 256:b=x;break;case 384:b=c>z?x:0}return b}
function ue(a,b){a[0]+=b[0];a[1]+=b[1];a[0]>=C&&(a[0]%=C,a[1]++)}function te(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function we(a){a[1]%2&&(a[0]+=C);a[0]=Math.trunc(a[0]/2);a[1]=Math.trunc(a[1]/2)}function ve(a){return!a[0]&&!a[1]} function te(a,b){a[0]+=b[0];a[1]+=b[1];a[0]>=C&&(a[0]%=C,a[1]++)}function se(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function ve(a){a[1]%2&&(a[0]+=C);a[0]=Math.trunc(a[0]/2);a[1]=Math.trunc(a[1]/2)}function ue(a){return!a[0]&&!a[1]}
var vd=[N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},wd,function(a,b){this.j&8192||(wd.call(this),this.j|=8192);xd.call(this,0,b)},xd,function(a,b){this.j&8192||(wd.call(this),this.j|=8192);yd.call(this,0,b)},yd,function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)}, var ud=[N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},vd,function(a,b){this.j&8192||(vd.call(this),this.j|=8192);wd.call(this,0,b)},wd,function(a,b){this.j&8192||(vd.call(this),this.j|=8192);xd.call(this,0,b)},xd,function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},
function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)}, function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},
function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},zd,Ad,Bd,function(a,b){b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);a=(a/y|0)+(a&x)*y;this.g(b,a)},function(a,b){this.g(b,this.b*y)},function(a,b){a=this.f(b);a=(a/y|0)+(a&x)*y;this.g(this.b,a)},function(a,b){a=this.f(this.b);a=(a/y|0)+(a&x)*y;this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,ye.call(this,this.f(this.b)))},function(a,b){this.g(b, function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},yd,zd,Ad,function(a,b){b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);a=(a/y|0)+(a&x)*y;this.g(b,a)},function(a,b){this.g(b,this.b*y)},function(a,b){a=this.f(b);a=(a/y|0)+(a&x)*y;this.g(this.b,a)},function(a,b){a=this.f(this.b);a=(a/y|0)+(a&x)*y;this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,xe.call(this,this.f(this.b)))},function(a,b){this.g(b,
ye.call(this,this.b))},function(a,b){this.g(this.b,ye.call(this,this.f(b)))},function(a,b){a=ye.call(this,this.f(this.b));this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,qe.call(this,this.f(this.b)))},function(a,b){this.g(b,this.b)},function(a,b){this.g(this.b,qe.call(this,this.f(b)))},function(a,b){a=qe.call(this,this.f(this.b));this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,xe.call(this,this.f(b),this.f(this.b),!0))},function(a,b){this.g(b,xe.call(this,this.f(b),this.b,!0))},function(a, xe.call(this,this.b))},function(a,b){this.g(this.b,xe.call(this,this.f(b)))},function(a,b){a=xe.call(this,this.f(this.b));this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,pe.call(this,this.f(this.b)))},function(a,b){this.g(b,this.b)},function(a,b){this.g(this.b,pe.call(this,this.f(b)))},function(a,b){a=pe.call(this,this.f(this.b));this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,we.call(this,this.f(b),this.f(this.b),!0))},function(a,b){this.g(b,we.call(this,this.f(b),this.b,!0))},function(a,
b){this.g(this.b,xe.call(this,this.f(b),this.f(this.b),!0))},function(a,b){this.g(this.b,this.g(b,xe.call(this,this.f(b),this.f(this.b),!0)))},function(a,b){this.g(b,xe.call(this,this.f(b),this.f(this.b)));this.g(b+1&15,this.F)},function(a,b){this.g(b,xe.call(this,this.f(b),this.b));this.g(b+1&15,this.F)},function(a,b){this.g(this.b,xe.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,xe.call(this,this.f(b),this.f(this.b))));this.g(b+1&15,this.F)},function(a,b){a=se.call(this, b){this.g(this.b,we.call(this,this.f(b),this.f(this.b),!0))},function(a,b){this.g(this.b,this.g(b,we.call(this,this.f(b),this.f(this.b),!0)))},function(a,b){this.g(b,we.call(this,this.f(b),this.f(this.b)));this.g(b+1&15,this.F)},function(a,b){this.g(b,we.call(this,this.f(b),this.b));this.g(b+1&15,this.F)},function(a,b){this.g(this.b,we.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,we.call(this,this.f(b),this.f(this.b))));this.g(b+1&15,this.F)},function(a,b){a=re.call(this,
this.f(b),0,this.f(this.b));0>a||(this.g(b,a),this.g(b+1&15,this.F))},function(a,b){a=se.call(this,this.f(b),0,this.b);0>a||(this.g(b,a),this.g(b+1&15,this.F))},function(a,b){a=se.call(this,this.f(b),0,this.f(this.b));0>a||this.g(this.b,a)},function(a,b){a=se.call(this,this.f(b),0,this.f(this.b));0>a||this.g(this.b,a)},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=se.call(this,c,a,this.f(this.b));0>c||(this.g(b,c),this.g(b+1&15,this.F))},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=se.call(this, this.f(b),0,this.f(this.b));0>a||(this.g(b,a),this.g(b+1&15,this.F))},function(a,b){a=re.call(this,this.f(b),0,this.b);0>a||(this.g(b,a),this.g(b+1&15,this.F))},function(a,b){a=re.call(this,this.f(b),0,this.f(this.b));0>a||this.g(this.b,a)},function(a,b){a=re.call(this,this.f(b),0,this.f(this.b));0>a||this.g(this.b,a)},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=re.call(this,c,a,this.f(this.b));0>c||(this.g(b,c),this.g(b+1&15,this.F))},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=re.call(this,
c,a,this.b);0>c||(this.g(b,c),this.g(b+1&15,this.F))},function(a,b){a=this.f(b);b=this.f(b+1&15);b=se.call(this,b,a,this.f(this.b));0>b||this.g(this.b,b)},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=se.call(this,c,a,this.f(this.b));0>c||(this.g(b,this.g(this.b,c)),this.g(b+1&15,this.F))},function(a,b){var c=(this.b<<14>>14)%256;if(c){a=this.f(b);var d=a>z?-(C-a):a;0<c?(35<=c?(d=0>d?A:0,c=z):(d=d*Math.pow(2,c)%A,c=A-Math.pow(2,35-c)),a<=z?a+c>z&&(this.j|=131072):a-c<=z&&(this.j|=131072)):d=-35>= c,a,this.b);0>c||(this.g(b,c),this.g(b+1&15,this.F))},function(a,b){a=this.f(b);b=this.f(b+1&15);b=re.call(this,b,a,this.f(this.b));0>b||this.g(this.b,b)},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=re.call(this,c,a,this.f(this.b));0>c||(this.g(b,this.g(this.b,c)),this.g(b+1&15,this.F))},function(a,b){var c=(this.b<<14>>14)%256;if(c){a=this.f(b);var d=a>z?-(C-a):a;0<c?(35<=c?(d=0>d?A:0,c=z):(d=d*Math.pow(2,c)%A,c=A-Math.pow(2,35-c)),a<=z?a+c>z&&(this.j|=131072):a-c<=z&&(this.j|=131072)):d=-35>=
c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+C:d;this.g(b,a)}},function(a,b){if(a=(this.b<<14>>14)%36){var c=this.f(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%C+Math.trunc(c/Math.pow(2,36-a));this.g(b,c)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.f(b),c=0<a?36<=a?0:c*Math.pow(2,a)%C:-36>=a?0:Math.trunc(c/Math.pow(2,-a));this.g(b,c)}},function(a,b){a=0;var c=this.f(b);if(c){for(;c<A;)a++,c*=2;G(this,this.b)}this.g(b+1&15,a)},function(a,b){if(a=(this.b<<14>>14)%256){var c,d=this.f(b),e=this.f(b+ c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+C:d;this.g(b,a)}},function(a,b){if(a=(this.b<<14>>14)%36){var c=this.f(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%C+Math.trunc(c/Math.pow(2,36-a));this.g(b,c)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.f(b),c=0<a?36<=a?0:c*Math.pow(2,a)%C:-36>=a?0:Math.trunc(c/Math.pow(2,-a));this.g(b,c)}},function(a,b){a=0;var c=this.f(b);if(c){for(;c<A;)a++,c*=2;G(this,this.b)}this.g(b+1&15,a)},function(a,b){if(a=(this.b<<14>>14)%256){var c,d=this.f(b),e=this.f(b+
1&15);if(0<a){var f=d;if(36<=a){if(0<d&&d<A||d>z&&d<B)this.j|=131072;if(71<=a){if(0<e&&e<A||e>z&&e<B)this.j|=131072;d=0}else d=e*Math.pow(2,a-35)%A,c=A-Math.pow(2,70-a),f<=z?e+c>z&&(this.j|=131072):e-c<=z&&(this.j|=131072);e=0;f>z&&(d+=A,e+=A)}else d=d*Math.pow(2,a)%A+Math.trunc(e%A/Math.pow(2,35-a)),e=e*Math.pow(2,a)%A,c=A-Math.pow(2,35-a),f<=z?f+c>z&&(this.j|=131072):(f-c<=z&&(this.j|=131072),d+=A,e+=A)}else-36>=a?(e=-72>=a?d>z?B:0:Math.trunc(d%A/Math.pow(2,-a-35)),d<=z?d=0:(d=B,e+=A)):(c=d>z?C- 1&15);if(0<a){var f=d;if(36<=a){if(0<d&&d<A||d>z&&d<B)this.j|=131072;if(71<=a){if(0<e&&e<A||e>z&&e<B)this.j|=131072;d=0}else d=e*Math.pow(2,a-35)%A,c=A-Math.pow(2,70-a),f<=z?e+c>z&&(this.j|=131072):e-c<=z&&(this.j|=131072);e=0;f>z&&(d+=A,e+=A)}else d=d*Math.pow(2,a)%A+Math.trunc(e%A/Math.pow(2,35-a)),e=e*Math.pow(2,a)%A,c=A-Math.pow(2,35-a),f<=z?f+c>z&&(this.j|=131072):(f-c<=z&&(this.j|=131072),d+=A,e+=A)}else-36>=a?(e=-72>=a?d>z?B:0:Math.trunc(d%A/Math.pow(2,-a-35)),d<=z?d=0:(d=B,e+=A)):(c=d>z?C-
Math.pow(2,36+a):0,e=Math.trunc(e%A/Math.pow(2,-a))+d%A*Math.pow(2,35+a)%A,d=Math.trunc(d/Math.pow(2,-a))+c,d>z&&(e+=A));this.g(b,d);this.g(b+1&15,e)}},function(a,b){if(a=(this.b<<14>>14)%72){var c=this.f(b),d=this.f(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%C+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%C+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%C+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%C+Math.trunc(d/Math.pow(2,72-a)));this.g(b,c);this.g(b+1&15,d)}},function(a, Math.pow(2,36+a):0,e=Math.trunc(e%A/Math.pow(2,-a))+d%A*Math.pow(2,35+a)%A,d=Math.trunc(d/Math.pow(2,-a))+c,d>z&&(e+=A));this.g(b,d);this.g(b+1&15,e)}},function(a,b){if(a=(this.b<<14>>14)%72){var c=this.f(b),d=this.f(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%C+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%C+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%C+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%C+Math.trunc(d/Math.pow(2,72-a)));this.g(b,c);this.g(b+1&15,d)}},function(a,
b){if(a=(this.b<<14>>14)%256){var c=this.f(b),d=this.f(b+1&15);0<a?36<=a?(c=72<=a?0:d*Math.pow(2,a-36)%C,d=0):(c=c*Math.pow(2,a)%C+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%C):-36>=a?(d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36)),c=0):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%C,c=Math.trunc(c/Math.pow(2,-a)));this.g(b,c);this.g(b+1&15,d)}},L,function(a,b){a=this.f(b);this.g(b,this.f(this.b));this.g(this.b,a)},function(a,b){a=!1;for(var c=this.f(b),d=c/y|0,c=c&x;!a;)this.g(c,this.f(d)), b){if(a=(this.b<<14>>14)%256){var c=this.f(b),d=this.f(b+1&15);0<a?36<=a?(c=72<=a?0:d*Math.pow(2,a-36)%C,d=0):(c=c*Math.pow(2,a)%C+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%C):-36>=a?(d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36)),c=0):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%C,c=Math.trunc(c/Math.pow(2,-a)));this.g(b,c);this.g(b+1&15,d)}},L,function(a,b){a=this.f(b);this.g(b,this.f(this.b));this.g(this.b,a)},function(a,b){a=!1;for(var c=this.f(b),d=c/y|0,c=c&x;!a;)this.g(c,this.f(d)),
c==this.b&&(a=!0),d=d+1&x,c=c+1&x,this.A.O||(this.g(b,d*y+c),a||sd(this,-1),a=!0)},function(a,b){a=(this.f(b)+262145)%C;this.g(b,a);a<A&&G(this,this.b)},function(a,b){a=(this.f(b)+262145)%C;this.g(b,a);a>=A&&G(this,this.b)},function(a,b){b&1&&(this.j|=4096);b&2&&rd(this,this.Ja/y|0);b&4&&this.W();b&8&&this.w(a);G(this,this.b)},function(a,b){a=b<<14;this.j&a&&(this.j&=~a,G(this,this.b))},function(){this.P=this.b},L,function(a,b){a=(this.f(b)+262145)%C;this.g(b,a);a/y|0||(this.j|=262144);this.g(a&Sb, c==this.b&&(a=!0),d=d+1&x,c=c+1&x,this.A.O||(this.g(b,d*y+c),a||rd(this,-1),a=!0)},function(a,b){a=(this.f(b)+262145)%C;this.g(b,a);a<A&&G(this,this.b)},function(a,b){a=(this.f(b)+262145)%C;this.g(b,a);a>=A&&G(this,this.b)},function(a,b){b&1&&(this.j|=4096);b&2&&qd(this,this.Ja/y|0);b&4&&this.W();b&8&&this.w(a);G(this,this.b)},function(a,b){a=b<<14;this.j&a&&(this.j&=~a,G(this,this.b))},function(){this.P=this.b},L,function(a,b){a=(this.f(b)+262145)%C;this.g(b,a);a/y|0||(this.j|=262144);this.g(a&Sb,
(this.j&x)*y+this.i);this.j&=-8193;G(this,this.b)},function(a,b){a=this.f(b);a+=262145;this.g(a&Sb,this.f(this.b));a>=C&&(a-=C);a/y|0||(this.j|=262144);this.g(b,a)},function(a,b){a=this.f(b);var c=this.f(a&Sb);this.g(this.b,c);this.b==b&&(a=c);a-=262145;0>a&&(a+=C);(a/y|0)==x&&(this.j|=262144);this.g(b,a)},function(a,b){a=this.f(b);var c=this.f(a&Sb);a-=262145;0>a&&(a+=C);(a/y|0)==x&&(this.j|=262144);this.g(b,a);G(this,c&Sb)},function(){this.g(this.b,(this.j&x)*y+this.i);this.j&=-8193;G(this,this.b+ (this.j&x)*y+this.i);this.j&=-8193;G(this,this.b)},function(a,b){a=this.f(b);a+=262145;this.g(a&Sb,this.f(this.b));a>=C&&(a-=C);a/y|0||(this.j|=262144);this.g(b,a)},function(a,b){a=this.f(b);var c=this.f(a&Sb);this.g(this.b,c);this.b==b&&(a=c);a-=262145;0>a&&(a+=C);(a/y|0)==x&&(this.j|=262144);this.g(b,a)},function(a,b){a=this.f(b);var c=this.f(a&Sb);a-=262145;0>a&&(a+=C);(a/y|0)==x&&(this.j|=262144);this.g(b,a);G(this,c&Sb)},function(){this.g(this.b,(this.j&x)*y+this.i);this.j&=-8193;G(this,this.b+
1)},function(a,b){this.g(b,(this.j&x)*y+this.i);this.j&=-8193;G(this,this.b)},function(a,b){this.g(this.b,this.f(b));this.g(b,this.b*y+this.i);G(this,this.b+1)},function(a,b){a=this.f(b);this.g(b,this.f(a/y|0));G(this,this.b)},function(a,b){this.g(b,Q.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,Q.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,Q.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,Q.call(this,this.f(b),this.f(this.b))))},function(a, 1)},function(a,b){this.g(b,(this.j&x)*y+this.i);this.j&=-8193;G(this,this.b)},function(a,b){this.g(this.b,this.f(b));this.g(b,this.b*y+this.i);G(this,this.b+1)},function(a,b){a=this.f(b);this.g(b,this.f(a/y|0));G(this,this.b)},function(a,b){this.g(b,Q.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,Q.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,Q.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,Q.call(this,this.f(b),this.f(this.b))))},function(a,
b){this.g(b,ze.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,ze.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,ze.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,ze.call(this,this.f(b),this.f(this.b))))},oe,function(a,b){0>T(this.f(b),this.b)&&G(this,this.i+1)},function(a,b){T(this.f(b),this.b)||G(this,this.i+1)},function(a,b){0>=T(this.f(b),this.b)&&G(this,this.i+1)},function(){G(this,this.i+1)},function(a,b){0<=T(this.f(b),this.b)&&G(this,this.i+ b){this.g(b,ye.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,ye.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,ye.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,ye.call(this,this.f(b),this.f(this.b))))},ne,function(a,b){0>T(this.f(b),this.b)&&G(this,this.i+1)},function(a,b){T(this.f(b),this.b)||G(this,this.i+1)},function(a,b){0>=T(this.f(b),this.b)&&G(this,this.i+1)},function(){G(this,this.i+1)},function(a,b){0<=T(this.f(b),this.b)&&G(this,this.i+
1)},function(a,b){T(this.f(b),this.b)&&G(this,this.i+1)},function(a,b){0<T(this.f(b),this.b)&&G(this,this.i+1)},pe,function(a,b){0>T(this.f(b),this.f(this.b))&&G(this,this.i+1)},function(a,b){T(this.f(b),this.f(this.b))||G(this,this.i+1)},function(a,b){0>=T(this.f(b),this.f(this.b))&&G(this,this.i+1)},function(){G(this,this.i+1)},function(a,b){0<=T(this.f(b),this.f(this.b))&&G(this,this.i+1)},function(a,b){T(this.f(b),this.f(this.b))&&G(this,this.i+1)},function(a,b){0<T(this.f(b),this.f(this.b))&& 1)},function(a,b){T(this.f(b),this.b)&&G(this,this.i+1)},function(a,b){0<T(this.f(b),this.b)&&G(this,this.i+1)},oe,function(a,b){0>T(this.f(b),this.f(this.b))&&G(this,this.i+1)},function(a,b){T(this.f(b),this.f(this.b))||G(this,this.i+1)},function(a,b){0>=T(this.f(b),this.f(this.b))&&G(this,this.i+1)},function(){G(this,this.i+1)},function(a,b){0<=T(this.f(b),this.f(this.b))&&G(this,this.i+1)},function(a,b){T(this.f(b),this.f(this.b))&&G(this,this.i+1)},function(a,b){0<T(this.f(b),this.f(this.b))&&
G(this,this.i+1)},oe,function(a,b){0>V(this.f(b))&&G(this,this.b)},function(a,b){V(this.f(b))||G(this,this.b)},function(a,b){0>=V(this.f(b))&&G(this,this.b)},function(){G(this,this.b)},function(a,b){0<=V(this.f(b))&&G(this,this.b)},function(a,b){V(this.f(b))&&G(this,this.b)},function(a,b){0<V(this.f(b))&&G(this,this.b)},function(a,b){b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);0>V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);V(a)||G(this,this.i+1);b&&this.g(b, G(this,this.i+1)},ne,function(a,b){0>V(this.f(b))&&G(this,this.b)},function(a,b){V(this.f(b))||G(this,this.b)},function(a,b){0>=V(this.f(b))&&G(this,this.b)},function(){G(this,this.b)},function(a,b){0<=V(this.f(b))&&G(this,this.b)},function(a,b){V(this.f(b))&&G(this,this.b)},function(a,b){0<V(this.f(b))&&G(this,this.b)},function(a,b){b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);0>V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);V(a)||G(this,this.i+1);b&&this.g(b,
a)},function(a,b){a=this.f(this.b);0>=V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){G(this,this.i+1);b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);0<=V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);0<V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){this.g(b,Q.call(this,this.f(b),1))},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0>V(a)&&G(this,this.b)},function(a,b){a=this.g(b, a)},function(a,b){a=this.f(this.b);0>=V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){G(this,this.i+1);b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);0<=V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);0<V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){this.g(b,Q.call(this,this.f(b),1))},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0>V(a)&&G(this,this.b)},function(a,b){a=this.g(b,
Q.call(this,this.f(b),1));V(a)||G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0>=V(a)&&G(this,this.b)},function(a,b){this.g(b,Q.call(this,this.f(b),1));G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0<=V(a)&&G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));V(a)&&G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0<V(a)&&G(this,this.b)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));b&&this.g(b,a)},function(a, Q.call(this,this.f(b),1));V(a)||G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0>=V(a)&&G(this,this.b)},function(a,b){this.g(b,Q.call(this,this.f(b),1));G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0<=V(a)&&G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));V(a)&&G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0<V(a)&&G(this,this.b)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));b&&this.g(b,a)},function(a,
b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0>V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));V(a)||G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0>=V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0<=V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a, b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0>V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));V(a)||G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0>=V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0<=V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,
b){a=this.g(this.b,Q.call(this,this.f(this.b),1));V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0<V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){this.g(b,Q.call(this,this.f(b),B))},function(a,b){a=this.g(b,Q.call(this,this.f(b),B));0>V(a)&&G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),B));V(a)||G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),B));0>=V(a)&&G(this,this.b)},function(a,b){this.g(b,Q.call(this,this.f(b), b){a=this.g(this.b,Q.call(this,this.f(this.b),1));V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0<V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){this.g(b,Q.call(this,this.f(b),B))},function(a,b){a=this.g(b,Q.call(this,this.f(b),B));0>V(a)&&G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),B));V(a)||G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),B));0>=V(a)&&G(this,this.b)},function(a,b){this.g(b,Q.call(this,this.f(b),
B));G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),B));0<=V(a)&&G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),B));V(a)&&G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),B));0<V(a)&&G(this,this.b)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),B));b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),B));0>V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),B));V(a)||G(this,this.i+ B));G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),B));0<=V(a)&&G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),B));V(a)&&G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),B));0<V(a)&&G(this,this.b)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),B));b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),B));0>V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),B));V(a)||G(this,this.i+
1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),B));0>=V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),B));G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),B));0<=V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),B));V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),B));0<V(a)&&G(this,this.i+ 1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),B));0>=V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),B));G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),B));0<=V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),B));V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),B));0<V(a)&&G(this,this.i+
1);b&&this.g(b,a)},Cd,Cd,function(){this.g(this.b,0)},function(a,b){this.g(this.b,this.g(b,0))},function(a,b){this.g(b,R(this.f(b),this.f(this.b)))},function(a,b){this.g(b,R(this.f(b),this.b))},function(a,b){this.g(this.b,R(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,R(this.f(b),this.f(this.b))))},function(a,b){this.g(b,R(B-this.f(b),this.f(this.b)))},function(a,b){this.g(b,R(B-this.f(b),this.b))},function(a,b){this.g(this.b,R(B-this.f(b),this.f(this.b)))},function(a,b){this.g(this.b, 1);b&&this.g(b,a)},Bd,Bd,function(){this.g(this.b,0)},function(a,b){this.g(this.b,this.g(b,0))},function(a,b){this.g(b,R(this.f(b),this.f(this.b)))},function(a,b){this.g(b,R(this.f(b),this.b))},function(a,b){this.g(this.b,R(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,R(this.f(b),this.f(this.b))))},function(a,b){this.g(b,R(B-this.f(b),this.f(this.b)))},function(a,b){this.g(b,R(B-this.f(b),this.b))},function(a,b){this.g(this.b,R(B-this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,
this.g(b,R(B-this.f(b),this.f(this.b))))},zd,Ad,pe,zd,function(a,b){this.g(b,R(this.f(b),B-this.f(this.b)))},function(a,b){this.g(b,R(this.f(b),B-this.b))},function(a,b){this.g(this.b,R(this.f(b),B-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,R(this.f(b),B-this.f(this.b))))},oe,oe,Bd,Bd,function(a,b){this.g(b,W(this.f(b),this.f(this.b)))},function(a,b){this.g(b,W(this.f(b),this.b))},function(a,b){this.g(this.b,W(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,W(this.f(b), this.g(b,R(B-this.f(b),this.f(this.b))))},yd,zd,oe,yd,function(a,b){this.g(b,R(this.f(b),B-this.f(this.b)))},function(a,b){this.g(b,R(this.f(b),B-this.b))},function(a,b){this.g(this.b,R(this.f(b),B-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,R(this.f(b),B-this.f(this.b))))},ne,ne,Ad,Ad,function(a,b){this.g(b,W(this.f(b),this.f(this.b)))},function(a,b){this.g(b,W(this.f(b),this.b))},function(a,b){this.g(this.b,W(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,W(this.f(b),
this.f(this.b))))},function(a,b){this.g(b,U(this.f(b),this.f(this.b)))},function(a,b){this.g(b,U(this.f(b),this.b))},function(a,b){this.g(this.b,U(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,U(this.f(b),this.f(this.b))))},function(a,b){this.g(b,R(B-this.f(b),B-this.f(this.b)))},function(a,b){this.g(b,R(B-this.f(b),B-this.b))},function(a,b){this.g(this.b,R(B-this.f(b),B-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,R(B-this.f(b),B-this.f(this.b))))},function(a,b){this.g(b, this.f(this.b))))},function(a,b){this.g(b,U(this.f(b),this.f(this.b)))},function(a,b){this.g(b,U(this.f(b),this.b))},function(a,b){this.g(this.b,U(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,U(this.f(b),this.f(this.b))))},function(a,b){this.g(b,R(B-this.f(b),B-this.f(this.b)))},function(a,b){this.g(b,R(B-this.f(b),B-this.b))},function(a,b){this.g(this.b,R(B-this.f(b),B-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,R(B-this.f(b),B-this.f(this.b))))},function(a,b){this.g(b,
Ae(this.f(b),this.f(this.b)))},function(a,b){this.g(b,Ae(this.f(b),this.b))},function(a,b){this.g(this.b,Ae(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,Ae(this.f(b),this.f(this.b))))},Dd,Dd,function(a,b){this.g(this.b,B-this.f(b))},function(a,b){this.g(this.b,this.g(b,B-this.f(b)))},function(a,b){this.g(b,U(B-this.f(b),this.f(this.b)))},function(a,b){this.g(b,U(B-this.f(b),this.b))},function(a,b){this.g(this.b,U(B-this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b, ze(this.f(b),this.f(this.b)))},function(a,b){this.g(b,ze(this.f(b),this.b))},function(a,b){this.g(this.b,ze(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,ze(this.f(b),this.f(this.b))))},Cd,Cd,function(a,b){this.g(this.b,B-this.f(b))},function(a,b){this.g(this.b,this.g(b,B-this.f(b)))},function(a,b){this.g(b,U(B-this.f(b),this.f(this.b)))},function(a,b){this.g(b,U(B-this.f(b),this.b))},function(a,b){this.g(this.b,U(B-this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,
U(B-this.f(b),this.f(this.b))))},function(a,b){this.g(b,B-this.f(this.b))},function(a,b){this.g(b,B-this.b)},function(){this.g(this.b,B-this.f(this.b))},function(a,b){this.g(this.b,this.g(b,B-this.f(this.b)))},function(a,b){this.g(b,U(this.f(b),B-this.f(this.b)))},function(a,b){this.g(b,U(this.f(b),B-this.b))},function(a,b){this.g(this.b,U(this.f(b),B-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,U(this.f(b),B-this.f(this.b))))},function(a,b){this.g(b,U(B-this.f(b),B-this.f(this.b)))},function(a, U(B-this.f(b),this.f(this.b))))},function(a,b){this.g(b,B-this.f(this.b))},function(a,b){this.g(b,B-this.b)},function(){this.g(this.b,B-this.f(this.b))},function(a,b){this.g(this.b,this.g(b,B-this.f(this.b)))},function(a,b){this.g(b,U(this.f(b),B-this.f(this.b)))},function(a,b){this.g(b,U(this.f(b),B-this.b))},function(a,b){this.g(this.b,U(this.f(b),B-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,U(this.f(b),B-this.f(this.b))))},function(a,b){this.g(b,U(B-this.f(b),B-this.f(this.b)))},function(a,
b){this.g(b,U(B-this.f(b),B-this.b))},function(a,b){this.g(this.b,U(B-this.f(b),B-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,U(B-this.f(b),B-this.f(this.b))))},Ed,Ed,function(){this.g(this.b,B)},function(a,b){this.g(this.b,this.g(b,B))},Fd,Hd,Id,Jd,Kd,be,ce,de,Fd,Hd,Id,Jd,Kd,be,ce,de,Fd,Hd,Id,Jd,Kd,be,ce,de,Fd,Hd,Id,Jd,Kd,be,ce,de,ee,ge,he,ie,je,ke,le,me,ee,ge,he,ie,je,ke,le,me,ee,ge,he,ie,je,ke,le,me,ee,ge,he,ie,je,ke,le,me,oe,oe,function(a,b){R(this.f(b),this.b)||G(this,this.i+1)},function(a, b){this.g(b,U(B-this.f(b),B-this.b))},function(a,b){this.g(this.b,U(B-this.f(b),B-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,U(B-this.f(b),B-this.f(this.b))))},Dd,Dd,function(){this.g(this.b,B)},function(a,b){this.g(this.b,this.g(b,B))},Ed,Gd,Hd,Id,Jd,ae,be,ce,Ed,Gd,Hd,Id,Jd,ae,be,ce,Ed,Gd,Hd,Id,Jd,ae,be,ce,Ed,Gd,Hd,Id,Jd,ae,be,ce,de,fe,ge,he,ie,je,ke,le,de,fe,ge,he,ie,je,ke,le,de,fe,ge,he,ie,je,ke,le,de,fe,ge,he,ie,je,ke,le,ne,ne,function(a,b){R(this.f(b),this.b)||G(this,this.i+1)},function(a,
b){R(this.f(b),this.b*y)||G(this,this.i+1)},function(){G(this,this.i+1)},function(){G(this,this.i+1)},function(a,b){R(this.f(b),this.b)&&G(this,this.i+1)},function(a,b){R(this.f(b),this.b*y)&&G(this,this.i+1)},pe,pe,function(a,b){R(this.f(b),this.f(this.b))||G(this,this.i+1)},function(a,b){R(this.f(b),X(this.f(this.b)))||G(this,this.i+1)},function(){G(this,this.i+1)},function(){G(this,this.i+1)},function(a,b){R(this.f(b),this.f(this.b))&&G(this,this.i+1)},function(a,b){R(this.f(b),X(this.f(this.b)))&& b){R(this.f(b),this.b*y)||G(this,this.i+1)},function(){G(this,this.i+1)},function(){G(this,this.i+1)},function(a,b){R(this.f(b),this.b)&&G(this,this.i+1)},function(a,b){R(this.f(b),this.b*y)&&G(this,this.i+1)},oe,oe,function(a,b){R(this.f(b),this.f(this.b))||G(this,this.i+1)},function(a,b){R(this.f(b),X(this.f(this.b)))||G(this,this.i+1)},function(){G(this,this.i+1)},function(){G(this,this.i+1)},function(a,b){R(this.f(b),this.f(this.b))&&G(this,this.i+1)},function(a,b){R(this.f(b),X(this.f(this.b)))&&
G(this,this.i+1)},function(a,b){this.g(b,S(this.f(b),this.b))},function(a,b){this.g(b,S(this.f(b),this.b*y))},function(a,b){a=this.f(b);R(a,this.b)||G(this,this.i+1);this.g(b,S(a,this.b))},function(a,b){a=this.f(b);var c=this.b*y;R(a,c)||G(this,this.i+1);this.g(b,S(a,c))},function(a,b){G(this,this.i+1);this.g(b,S(this.f(b),this.b))},function(a,b){G(this,this.i+1);this.g(b,S(this.f(b),this.b*y))},function(a,b){a=this.f(b);R(a,this.b)&&G(this,this.i+1);this.g(b,S(a,this.b))},function(a,b){a=this.f(b); G(this,this.i+1)},function(a,b){this.g(b,S(this.f(b),this.b))},function(a,b){this.g(b,S(this.f(b),this.b*y))},function(a,b){a=this.f(b);R(a,this.b)||G(this,this.i+1);this.g(b,S(a,this.b))},function(a,b){a=this.f(b);var c=this.b*y;R(a,c)||G(this,this.i+1);this.g(b,S(a,c))},function(a,b){G(this,this.i+1);this.g(b,S(this.f(b),this.b))},function(a,b){G(this,this.i+1);this.g(b,S(this.f(b),this.b*y))},function(a,b){a=this.f(b);R(a,this.b)&&G(this,this.i+1);this.g(b,S(a,this.b))},function(a,b){a=this.f(b);
var c=this.b*y;R(a,c)&&G(this,this.i+1);this.g(b,S(a,c))},function(a,b){this.g(b,S(this.f(b),this.f(this.b)))},function(a,b){this.g(b,S(this.f(b),X(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);R(a,c)||G(this,this.i+1);this.g(b,S(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));R(a,c)||G(this,this.i+1);this.g(b,S(a,c))},function(a,b){G(this,this.i+1);this.g(b,S(this.f(b),this.f(this.b)))},function(a,b){G(this,this.i+1);this.g(b,S(this.f(b),X(this.f(this.b))))},function(a, var c=this.b*y;R(a,c)&&G(this,this.i+1);this.g(b,S(a,c))},function(a,b){this.g(b,S(this.f(b),this.f(this.b)))},function(a,b){this.g(b,S(this.f(b),X(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);R(a,c)||G(this,this.i+1);this.g(b,S(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));R(a,c)||G(this,this.i+1);this.g(b,S(a,c))},function(a,b){G(this,this.i+1);this.g(b,S(this.f(b),this.f(this.b)))},function(a,b){G(this,this.i+1);this.g(b,S(this.f(b),X(this.f(this.b))))},function(a,
b){a=this.f(b);var c=this.f(this.b);R(a,c)&&G(this,this.i+1);this.g(b,S(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));R(a,c)&&G(this,this.i+1);this.g(b,S(a,c))},function(a,b){this.g(b,W(this.f(b),this.b))},function(a,b){this.g(b,W(this.f(b),this.b*y))},function(a,b){a=this.f(b);R(a,this.b)||G(this,this.i+1);this.g(b,W(a,this.b))},function(a,b){a=this.f(b);var c=this.b*y;R(a,c)||G(this,this.i+1);this.g(b,W(a,c))},function(a,b){G(this,this.i+1);this.g(b,W(this.f(b),this.b))},function(a,b){G(this, b){a=this.f(b);var c=this.f(this.b);R(a,c)&&G(this,this.i+1);this.g(b,S(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));R(a,c)&&G(this,this.i+1);this.g(b,S(a,c))},function(a,b){this.g(b,W(this.f(b),this.b))},function(a,b){this.g(b,W(this.f(b),this.b*y))},function(a,b){a=this.f(b);R(a,this.b)||G(this,this.i+1);this.g(b,W(a,this.b))},function(a,b){a=this.f(b);var c=this.b*y;R(a,c)||G(this,this.i+1);this.g(b,W(a,c))},function(a,b){G(this,this.i+1);this.g(b,W(this.f(b),this.b))},function(a,b){G(this,
@ -151,141 +151,143 @@ this.i+1);this.g(b,W(this.f(b),this.b*y))},function(a,b){a=this.f(b);R(a,this.b)
b){G(this,this.i+1);this.g(b,W(this.f(b),this.f(this.b)))},function(a,b){G(this,this.i+1);this.g(b,W(this.f(b),X(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);R(a,c)&&G(this,this.i+1);this.g(b,W(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));R(a,c)&&G(this,this.i+1);this.g(b,W(a,c))},function(a,b){this.g(b,U(this.f(b),this.b))},function(a,b){this.g(b,U(this.f(b),this.b*y))},function(a,b){a=this.f(b);R(a,this.b)||G(this,this.i+1);this.g(b,U(a,this.b))},function(a,b){a= b){G(this,this.i+1);this.g(b,W(this.f(b),this.f(this.b)))},function(a,b){G(this,this.i+1);this.g(b,W(this.f(b),X(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);R(a,c)&&G(this,this.i+1);this.g(b,W(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));R(a,c)&&G(this,this.i+1);this.g(b,W(a,c))},function(a,b){this.g(b,U(this.f(b),this.b))},function(a,b){this.g(b,U(this.f(b),this.b*y))},function(a,b){a=this.f(b);R(a,this.b)||G(this,this.i+1);this.g(b,U(a,this.b))},function(a,b){a=
this.f(b);R(a,this.b*y)||G(this,this.i+1);this.g(b,U(a,this.b*y))},function(a,b){G(this,this.i+1);this.g(b,U(this.f(b),this.b))},function(a,b){G(this,this.i+1);this.g(b,U(this.f(b),this.b*y))},function(a,b){a=this.f(b);R(a,this.b)&&G(this,this.i+1);this.g(b,U(a,this.b))},function(a,b){a=this.f(b);var c=this.b*y;R(a,c)&&G(this,this.i+1);this.g(b,U(a,c))},function(a,b){this.g(b,U(this.f(b),this.f(this.b)))},function(a,b){this.g(b,U(this.f(b),X(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b); this.f(b);R(a,this.b*y)||G(this,this.i+1);this.g(b,U(a,this.b*y))},function(a,b){G(this,this.i+1);this.g(b,U(this.f(b),this.b))},function(a,b){G(this,this.i+1);this.g(b,U(this.f(b),this.b*y))},function(a,b){a=this.f(b);R(a,this.b)&&G(this,this.i+1);this.g(b,U(a,this.b))},function(a,b){a=this.f(b);var c=this.b*y;R(a,c)&&G(this,this.i+1);this.g(b,U(a,c))},function(a,b){this.g(b,U(this.f(b),this.f(this.b)))},function(a,b){this.g(b,U(this.f(b),X(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);
R(a,c)||G(this,this.i+1);this.g(b,U(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));R(a,c)||G(this,this.i+1);this.g(b,U(a,c))},function(a,b){G(this,this.i+1);this.g(b,U(this.f(b),this.f(this.b)))},function(a,b){G(this,this.i+1);this.g(b,U(this.f(b),X(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);R(a,c)&&G(this,this.i+1);this.g(b,U(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));R(a,c)&&G(this,this.i+1);this.g(b,U(a,c))},O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O, R(a,c)||G(this,this.i+1);this.g(b,U(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));R(a,c)||G(this,this.i+1);this.g(b,U(a,c))},function(a,b){G(this,this.i+1);this.g(b,U(this.f(b),this.f(this.b)))},function(a,b){G(this,this.i+1);this.g(b,U(this.f(b),X(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);R(a,c)&&G(this,this.i+1);this.g(b,U(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));R(a,c)&&G(this,this.i+1);this.g(b,U(a,c))},O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,
O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O],ne=[function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a,b){switch(b){case 0:a=this.f(this.b);a&8&&(this.j&=-131073);a&131072&&(this.j&=-262145);break;default:this.w(a)}},function(a,b){switch(b){case 0:a=0;this.j&131072&&(a|=8);this.j&262144&&(a|=65536);this.g(this.b,a);break;default:this.w(a)}},function(a){this.w(a)},function(a){this.w(a)}]; O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O],me=[function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a,b){switch(b){case 0:a=this.f(this.b);a&8&&(this.j&=-131073);a&131072&&(this.j&=-262145);break;default:this.w(a)}},function(a,b){switch(b){case 0:a=0;this.j&131072&&(a|=8);this.j&262144&&(a|=65536);this.g(this.b,a);break;default:this.w(a)}},function(a){this.w(a)},function(a){this.w(a)}];
function Be(a){r.call(this,"ROM",a,128);this.Y=this.b=null;this.C=+a.addr;this.j=+a.size;this.i=a.alias;"string"==typeof this.i&&(this.i=eval(this.i));this.w=a.file;this.F=wa(this.w);if(this.w){a=this.w;var b=xa(this.F);"json"!=b&&"hex"!=b&&(a=Ja()+"/api/v1/dump?file="+this.w+"&format=bytes&decimal=true");var c=this;Ha(a,null,!0,function(a,b,f){f?(c.ia("Unable to load ROM resource (error "+f+": "+a+")"),c.w=null):(mb(c.bb,a,b),(a=Ia(a,b))?(c.b=a.ea,c.Y=a.Y):c.w=null);Ce(c)})}}ka(Be,r); function Ae(a){r.call(this,"ROM",a,128);this.Y=this.b=null;this.C=+a.addr;this.j=+a.size;this.i=a.alias;"string"==typeof this.i&&(this.i=eval(this.i));this.w=a.file;this.F=wa(this.w);if(this.w){a=this.w;var b=xa(this.F);"json"!=b&&"hex"!=b&&(a=Ja()+"/api/v1/dump?file="+this.w+"&format=bytes&decimal=true");var c=this;Ha(a,null,!0,function(a,b,f){f?(c.ha("Unable to load ROM resource (error "+f+": "+a+")"),c.w=null):(lb(c.bb,a,b),(a=Ia(a,b))?(c.b=a.ea,c.Y=a.Y):c.w=null);Be(c)})}}ka(Ae,r);
Be.prototype.La=function(a,b,c,d){this.G=b;this.v=c;this.D=d;Ce(this)};Be.prototype.Ba=function(){this.Y&&(this.D&&De(this.D,this.id,this.C,this.j,this.Y),delete this.Y);return!0};Be.prototype.qa=function(){return!0}; Ae.prototype.La=function(a,b,c,d){this.G=b;this.v=c;this.D=d;Be(this)};Ae.prototype.Ba=function(){this.Y&&(this.D&&Ce(this.D,this.id,this.C,this.j,this.Y),delete this.Y);return!0};Ae.prototype.sa=function(){return!0};
function Ce(a){if(!Cb(a)){if(a.w){if(!a.b||!a.G)return;a.j||(a.j=a.b.length);if(a.b.length!=a.j)zb(a,"ROM size ("+n(a.b.length,8,!0)+") does not match specified size ("+n(a.j,8,!0)+")");else{var b;b=a.C;if(Dc(a.G,b,a.j,Pc)){var c;for(c=0;c<a.b.length;c++)xc(a.G,b+c,a.b[c]);b=!0}else b=!1;if(b){b=[];"number"==typeof a.i?b.push(a.i):null!=a.i&&a.i.length&&(b=a.i);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.G,g=d.j,h=[],k=d.C>>>f.i;0<g&&k<f.b.length;)h.push(f.b[k++]),g-=16384;f=d.G;d=d.j;g=0;for(e>>>= function Be(a){if(!Bb(a)){if(a.w){if(!a.b||!a.G)return;a.j||(a.j=a.b.length);if(a.b.length!=a.j)yb(a,"ROM size ("+n(a.b.length,8,!0)+") does not match specified size ("+n(a.j,8,!0)+")");else{var b;b=a.C;if(Dc(a.G,b,a.j,Oc)){var c;for(c=0;c<a.b.length;c++)xc(a.G,b+c,a.b[c]);b=!0}else b=!1;if(b){b=[];"number"==typeof a.i?b.push(a.i):null!=a.i&&a.i.length&&(b=a.i);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.G,g=d.j,h=[],k=d.C>>>f.i;0<g&&k<f.b.length;)h.push(f.b[k++]),g-=16384;f=d.G;d=d.j;g=0;for(e>>>=
f.i;0<d&&e<f.b.length;){k=h[g++];if(!k)break;f.b[e++]=k;d-=16384}}delete a.b}}}Mb(a)}}Xa(function(){for(var a=w(document,v,"rom"),b=0;b<a.length;b++){var c=a[b],d=t(c),d=new Be(d);tb(d,c)}}); f.i;0<d&&e<f.b.length;){k=h[g++];if(!k)break;f.b[e++]=k;d-=16384}}delete a.b}}}Mb(a)}}Xa(function(){for(var a=w(document,v,"rom"),b=0;b<a.length;b++){var c=a[b],d=t(c),d=new Ae(d);sb(d,c)}});
function Ee(a){r.call(this,"RAM",a);this.Y=this.Pa=null;this.i=+a.addr;this.j=+a.size;this.ya=a.load;this.xa=a.exec;null!=this.ya&&(this.ya=+this.ya);null!=this.xa&&(this.xa=+this.xa);this.w=this.F=!1;this.b=a.file;this.C=wa(this.b);if(this.b){a=this.b;var b=xa(this.C);"json"!=b&&"hex"!=b&&(a=Ja()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;Ha(a,null,!0,function(a,b,f){f?(c.ia("Unable to load RAM resource (error "+f+": "+a+")"),c.b=null):(mb(c.bb,a,b),(a=Ia(a,b))?(c.Pa=a.Pa, function De(a){r.call(this,"RAM",a);this.Y=this.Pa=null;this.i=+a.addr;this.j=+a.size;this.la=a.load;this.ya=a.exec;null!=this.la&&(this.la=+this.la);null!=this.ya&&(this.ya=+this.ya);this.w=this.F=!1;this.b=a.file;this.C=wa(this.b);if(this.b){a=this.b;var b=xa(this.C);"json"!=b&&"hex"!=b&&(a=Ja()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;Ha(a,null,!0,function(a,b,f){f?(c.ha("Unable to load RAM resource (error "+f+": "+a+")"),c.b=null):(lb(c.bb,a,b),(a=Ia(a,b))?(c.Pa=a.Pa,
c.Y=a.Y,null==c.ya&&(c.ya=a.ya),null==c.xa&&(c.xa=a.xa)):c.b=null);Fe(c)})}}ka(Ee,r);Ee.prototype.La=function(a,b,c,d){this.G=b;this.v=c;this.D=d;Fe(this)};Ee.prototype.Ba=function(a,b){this.Y&&(this.D&&De(this.D,this.id,this.i,this.j,this.Y),delete this.Y);b||this.reset();return!0};Ee.prototype.qa=function(){return!0}; c.Y=a.Y,null==c.la&&(c.la=a.la),null==c.ya&&(c.ya=a.ya)):c.b=null);Ee(c)})}}ka(De,r);De.prototype.La=function(a,b,c,d){this.G=b;this.v=c;this.D=d;Ee(this)};De.prototype.Ba=function(a,b){this.Y&&(this.D&&Ce(this.D,this.id,this.i,this.j,this.Y),delete this.Y);b||this.reset();return!0};De.prototype.sa=function(){return!0};
function Fe(a){if(a.G&&(!a.w&&a.j&&(Dc(a.G,a.i,a.j,1)?a.w=!0:a.j=0),!Cb(a))){if(!a.w)q("No RAM allocated");else if(a.b){if(!a.Pa)return;Ge(a,a.Pa,a.ya,a.xa,a.i)?a.status('Loaded image "'+a.C+'"'):a.ia('Error loading image "'+a.C+'"')}a.F=!0;Mb(a)}} function Ee(a){if(a.G&&(!a.w&&a.j&&(Dc(a.G,a.i,a.j,1)?a.w=!0:a.j=0),!Bb(a))){if(!a.w)q("No RAM allocated");else if(a.b){if(!a.Pa)return;Fe(a,a.Pa,a.la,a.ya,a.i)?a.status('Loaded image "'+a.C+'"'):a.ha('Error loading image "'+a.C+'"')}a.F=!0;Mb(a)}}
Ee.prototype.reset=function(){if(this.w&&!this.F){for(var a=this.G,b=this.i,c=this.j,d=b&16383,b=b>>>a.i;0<c&&b<a.b.length;){var e=a.b[b],f=c,g=0,g=void 0===g?0:g,d=d||0;void 0===f&&(f=e.size);0>g&&g>=-A&&(g+=C);for(var g=Math.trunc(Math.abs(g))%C,h=d;f--&&h<e.size;h++)e.D(g,d,e.B+d);c-=16384;b++;d=0}this.Pa&&Ge(this,this.Pa,this.ya,this.xa,this.i,!this.D)}this.F=!1}; De.prototype.reset=function(){if(this.w&&!this.F){for(var a=this.G,b=this.i,c=this.j,d=b&16383,b=b>>>a.i;0<c&&b<a.b.length;){var e=a.b[b],f=c,g=0,g=void 0===g?0:g,d=d||0;void 0===f&&(f=e.size);0>g&&g>=-A&&(g+=C);for(var g=Math.trunc(Math.abs(g))%C,h=d;f--&&h<e.size;h++)e.D(g,d,e.B+d);c-=16384;b++;d=0}this.Pa&&Fe(this,this.Pa,this.la,this.ya,this.i,!this.D)}this.F=!1};
function Ge(a,b,c,d,e,f){var g=!1;null==c&&(c=e);if(null!=c){for(g=0;g<b.length;g++)xc(a.G,c+g,b[g]);g=!0}g&&(null==d&&(a.v.W(),f=!1),null!=d&&(a=a.v,a.Oa=d,G(a,d),f?a.A.Z?a.A.O||rc(a):a.A.ga=!0:a.D&&a.A.Z?a.W()||a.H.A.reset||(cd(a.D),J(a.H,-1)):!1===f&&a.W(),!a.A.O&&a.Na&&a.Na.stop()));return g}Xa(function(){for(var a=w(document,v,"ram"),b=0;b<a.length;b++){var c=a[b],d=t(c),d=new Ee(d);tb(d,c)}}); function Fe(a,b,c,d,e,f){var g=!1;null==c&&(c=e);if(null!=c){for(g=0;g<b.length;g++)xc(a.G,c+g,b[g]);g=!0}g&&(null==d&&(a.v.W(),f=!1),null!=d&&(a=a.v,a.Oa=d,G(a,d),f?a.A.aa?a.A.O||rc(a):a.A.ga=!0:a.D&&a.A.aa?a.W()||a.H.A.reset||(bd(a.D),J(a.H,-1)):!1===f&&a.W(),!a.A.O&&a.Na&&a.Na.stop()));return g}Xa(function(){for(var a=w(document,v,"ram"),b=0;b<a.length;b++){var c=a[b],d=t(c),d=new De(d);sb(d,c)}});
function He(a){r.call(this,"SerialPort",a,1048576);this.w=a.upperCase;"string"==typeof this.w&&(this.w="true"==this.w);this.j=!0;this.i=[];var b=a.binding;if("console"!=b){var c;a=Ie;b&&(void 0===c&&(c="Panel"),(c=sb(c,this.id))&&(b=c.J[b])&&this.ra(null,a,b))}this.b=this.C=null;this.exports={connect:this.Jb,receiveData:this.gb,receiveStatus:this.hc,setConnection:this.kc}}ka(He,r);m=He.prototype; function Ge(a){r.call(this,"SerialPort",a,1048576);this.w=a.upperCase;"string"==typeof this.w&&(this.w="true"==this.w);this.j=!0;this.i=[];var b=a.binding;if("console"!=b){var c;a=He;b&&(void 0===c&&(c="Panel"),(c=rb(c,this.id))&&(b=c.J[b])&&this.ta(null,a,b))}this.b=this.C=null;this.exports={connect:this.Jb,receiveData:this.gb,receiveStatus:this.hc,setConnection:this.kc}}ka(Ge,r);m=Ge.prototype;
m.ra=function(a,b,c){var d=this;switch(b){case Ie:return this.J[b]=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?ra.xb:ra.Nb:46==c?b=ra.xb:a.ctrlKey&&c>=ra.wb&&c<=ra.Ob&&(b=c-(ra.wb-ra.Kb));b&&(a.preventDefault&&a.preventDefault(),d.gb(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==ra.Mb&&(b=ra.Lb);d.gb(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); m.ta=function(a,b,c){var d=this;switch(b){case He:return this.J[b]=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?ma.xb:ma.Nb:46==c?b=ma.xb:a.ctrlKey&&c>=ma.wb&&c<=ma.Ob&&(b=c-(ma.wb-ma.Kb));b&&(a.preventDefault&&a.preventDefault(),d.gb(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==ma.Mb&&(b=ma.Lb);d.gb(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.gb(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};m.La=function(a,b,c,d){this.H=a;this.G=b;this.v=c;this.D=d;Mb(this)}; a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.gb(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};m.La=function(a,b,c,d){this.H=a;this.G=b;this.v=c;this.D=d;Mb(this)};
m.Jb=function(a){if(!this.b){var b=$c(this.H,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ea(c[0]);if(d!=this.ab)return;c=Ea(c[1]);if(this.b=rb(c)){var e=this.b.exports;if(e){var f=e.connect;f&&f.call(this.b,this.j);if(this.C=e.receiveData){this.j=a;this.status("Connected "+this.bb+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};m.Ba=function(a,b){if(!b)if(this.Jb(this.j),!a)this.reset();else if(!this.restore(a))return!1;return!0}; m.Jb=function(a){if(!this.b){var b=Zc(this.H,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ca(c[0]);if(d!=this.ab)return;c=Ca(c[1]);if(this.b=qb(c)){var e=this.b.exports;if(e){var f=e.connect;f&&f.call(this.b,this.j);if(this.C=e.receiveData){this.j=a;this.status("Connected "+this.bb+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};m.Ba=function(a,b){if(!b)if(this.Jb(this.j),!a)this.reset();else if(!this.restore(a))return!1;return!0};
m.qa=function(a){return a?this.save():!0};m.reset=function(){};m.save=function(){var a=new F(this);a.set(0,[]);return a.data()};m.restore=function(){return!0};m.gb=function(a){if("number"==typeof a)this.i.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.i.push(b)}else this.i=this.i.concat(a);return!0};m.hc=function(){};m.kc=function(a,b){return this.b?!1:(this.b=a,this.C=b,!0)};var Ie="buffer"; m.sa=function(a){return a?this.save():!0};m.reset=function(){};m.save=function(){var a=new F(this);a.set(0,[]);return a.data()};m.restore=function(){return!0};m.gb=function(a){if("number"==typeof a)this.i.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.i.push(b)}else this.i=this.i.concat(a);return!0};m.hc=function(){};m.kc=function(a,b){return this.b?!1:(this.b=a,this.C=b,!0)};var He="buffer";
Xa(function(){for(var a=w(document,v,"serial"),b=0;b<a.length;b++){var c=a[b],d=t(c),d=new He(d);tb(d,c)}});function Je(a){r.call(this,"Debugger",a);this.T=+a.base||16;this.L=32;this.ka=null;this.ba=["{","}"];this.sa=["[","]"];this.C=0;this.U=!1;this.w=-1;this.j=[];this.I={}}ka(Je,r);Je.prototype.sb=function(){return-1};Je.prototype.tb=function(){}; Xa(function(){for(var a=w(document,v,"serial"),b=0;b<a.length;b++){var c=a[b],d=t(c),d=new Ge(d);sb(d,c)}});function Ie(a){r.call(this,"Debugger",a);this.T=+a.base||16;this.L=32;this.ka=null;this.ba=["{","}"];this.ua=["[","]"];this.C=0;this.U=!1;this.w=-1;this.j=[];this.I={}}ka(Ie,r);Ie.prototype.sb=function(){return-1};Ie.prototype.tb=function(){};
function Ke(a,b,c,d){if(c)if(b){0>a.w&&a.j.length&&(a.w=0);if(0>a.w||b!=a.j[a.w])a.j.splice(0,0,b),a.w=0;a.w--}else a.U?b="end":b=a.j[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(Ea(b.substring(c,f))),c=f+1}}return a}function Le(a,b,c){if(32>=a.L)return b&c;b=Y(a,b,0,!0);c=Y(a,c,0,!0);return((b/Me|0)&(c/Me|0))*Me+((b&c)>>>0)} function Je(a,b,c,d){if(c)if(b){0>a.w&&a.j.length&&(a.w=0);if(0>a.w||b!=a.j[a.w])a.j.splice(0,0,b),a.w=0;a.w--}else a.U?b="end":b=a.j[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(Ca(b.substring(c,f))),c=f+1}}return a}function Ke(a,b,c){if(32>=a.L)return b&c;b=Y(a,b,0,!0);c=Y(a,c,0,!0);return((b/Le|0)&(c/Le|0))*Le+((b&c)>>>0)}
function Ne(a,b,c){if(32>=a.L)return b|c;b=Y(a,b,0,!0);c=Y(a,c,0,!0);return((b/Me|0)^(c/Me|0))*Me+((b^c)>>>0)}function Y(a,b,c,d){var e=b;c=c||a.L;if(d)if(32==c)e=b>>>0;else if(32>c)e=b&(1<<c)-1;else{if(a=Math.pow(2,c),0>b||b>=a)e=b%a,0>e&&(e+=a)}else 32>=c?e=b|0:(a=Math.pow(2,c-1),b<-a?(b<2*-a&&(e=b%(2*a)),e+=2*a):e>=a&&(b>=2*a&&(e=b%(2*a)),e-=2*a));b!=e&&(b=e);return b} function Me(a,b,c){if(32>=a.L)return b|c;b=Y(a,b,0,!0);c=Y(a,c,0,!0);return((b/Le|0)^(c/Le|0))*Le+((b^c)>>>0)}function Y(a,b,c,d){var e=b;c=c||a.L;if(d)if(32==c)e=b>>>0;else if(32>c)e=b&(1<<c)-1;else{if(a=Math.pow(2,c),0>b||b>=a)e=b%a,0>e&&(e+=a)}else 32>=c?e=b|0:(a=Math.pow(2,c-1),b<-a?(b<2*-a&&(e=b%(2*a)),e+=2*a):e>=a&&(b>=2*a&&(e=b%(2*a)),e-=2*a));b!=e&&(b=e);return b}
function Oe(a,b,c,d){for(d=void 0===d?-1:d;d--&&c.length;){var e=c.pop();if(2>b.length)return!1;var f,g=b.pop();f=b.pop();switch(e){case "*":f*=g;break;case "/":if(!g)return!1;f=Math.trunc(f/g);break;case "%":if(!g)return!1;f%=g;break;case "+":f+=g;break;case "-":f-=g;break;case "<<":f<<=g;break;case ">>":f>>=g;break;case ">>>":f>>>=g;break;case "<":f=f<g?1:0;break;case "<=":f=f<=g?1:0;break;case ">":f=f>g?1:0;break;case ">=":f=f>=g?1:0;break;case "==":f=f==g?1:0;break;case "!=":f=f!=g?1:0;break; function Ne(a,b,c,d){for(d=void 0===d?-1:d;d--&&c.length;){var e=c.pop();if(2>b.length)return!1;var f,g=b.pop();f=b.pop();switch(e){case "*":f*=g;break;case "/":if(!g)return!1;f=Math.trunc(f/g);break;case "%":if(!g)return!1;f%=g;break;case "+":f+=g;break;case "-":f-=g;break;case "<<":f<<=g;break;case ">>":f>>=g;break;case ">>>":f>>>=g;break;case "<":f=f<g?1:0;break;case "<=":f=f<=g?1:0;break;case ">":f=f>g?1:0;break;case ">=":f=f>=g?1:0;break;case "==":f=f==g?1:0;break;case "!=":f=f!=g?1:0;break;
case "&":f=Le(a,f,g);break;case "!":case "|":e=a;32>=e.L?f|=g:(f=Y(e,f,0,!0),g=Y(e,g,0,!0),f=(f/Me|0|g/Me|0)*Me+((f|g)>>>0));break;case "^!":f=Ne(a,f,g);break;case "&&":f=f&&g?1:0;break;case "||":f=f||g?1:0;break;case "_":case "^_":"^_"==e&&(g=35-(g&255));g&&(f=Y(a,f,0,!0),f=0<g?f*Math.pow(2,g):Math.trunc(f/Math.pow(2,-g)));break;default:return!1}b.push(Y(a,f))}return!0} case "&":f=Ke(a,f,g);break;case "!":case "|":e=a;32>=e.L?f|=g:(f=Y(e,f,0,!0),g=Y(e,g,0,!0),f=(f/Le|0|g/Le|0)*Le+((f|g)>>>0));break;case "^!":f=Me(a,f,g);break;case "&&":f=f&&g?1:0;break;case "||":f=f||g?1:0;break;case "_":case "^_":"^_"==e&&(g=35-(g&255));g&&(f=Y(a,f,0,!0),f=0<g?f*Math.pow(2,g):Math.trunc(f/Math.pow(2,-g)));break;default:return!1}b.push(Y(a,f))}return!0}
function Pe(a,b,c,d,e,f){var g,h,k,l=!1,p=0,u=[],D=[],I=a.T;for(a.T=e;c<d;){h=b[c++].trim();k=c<d?b[c++]:"";if(h)p=Qe(a,h,null,f,p);else if("{"==k){h=1;for(p=c;c<d;)if(c++,k=c<b.length?b[c++]:"","{"==k)h++;else if("}"==k&&!--h)break;p=Pe(a,b,p,c-1,a.T,f);h=c<d?b[c++].trim():"";k=c<d?b[c++]:""}else{if(" "==k)continue;if("^B"==k){a.T=2;continue}if("^O"==k){a.T=8;continue}if("^D"==k){a.T=10;continue}if(!(p&-1073741824)){if("+"==k)continue;if("-"==k){p=p<<2|1;continue}if("~"==k||"^-"==k){p=p<<2|2;continue}if("^L"== function Oe(a,b,c,d,e,f){var g,h,k,l=!1,p=0,u=[],D=[],I=a.T;for(a.T=e;c<d;){h=b[c++].trim();k=c<d?b[c++]:"";if(h)p=Pe(a,h,null,f,p);else if("{"==k){h=1;for(p=c;c<d;)if(c++,k=c<b.length?b[c++]:"","{"==k)h++;else if("}"==k&&!--h)break;p=Oe(a,b,p,c-1,a.T,f);h=c<d?b[c++].trim():"";k=c<d?b[c++]:""}else{if(" "==k)continue;if("^B"==k){a.T=2;continue}if("^O"==k){a.T=8;continue}if("^D"==k){a.T=10;continue}if(!(p&-1073741824)){if("+"==k)continue;if("-"==k){p=p<<2|1;continue}if("~"==k||"^-"==k){p=p<<2|2;continue}if("^L"==
k){p=p<<2|3;continue}}l=!0;break}if(void 0===p)if(null==a.ka&&f)a.ka=h,p=0;else{l=!0;f=!f;break}u.push(Y(a,p));if(" "==k)if(c<b.length-1&&!b[c])c++,k=b[c++];else{l=!0;break}if(!k)break;D.length&&Re[k]<=Re[D[D.length-1]]&&Oe(a,u,D,1);D.push(k);a.T="^_"==k?10:e;p=0}if(l||!Oe(a,u,D)||1!=u.length)l=!0;l?!1===f&&a.u("parse error ("+(h||k)+")"):g=u.pop();a.T=I;return g} k){p=p<<2|3;continue}}l=!0;break}if(void 0===p)if(null==a.ka&&f)a.ka=h,p=0;else{l=!0;f=!f;break}u.push(Y(a,p));if(" "==k)if(c<b.length-1&&!b[c])c++,k=b[c++];else{l=!0;break}if(!k)break;D.length&&Qe[k]<=Qe[D[D.length-1]]&&Ne(a,u,D,1);D.push(k);a.T="^_"==k?10:e;p=0}if(l||!Ne(a,u,D)||1!=u.length)l=!0;l?!1===f&&a.u("parse error ("+(h||k)+")"):g=u.pop();a.T=I;return g}
function Se(a,b,c,d,e,f){for(var g;0<=(g=b.indexOf(c));){for(var h=0,k=g+1,l=e;k<b.length;){var p=b[k++];if(p==c){l=-1;break}if(!l)break;l--;p=p.charCodeAt(0);7==d?p&=127:p=p-32&63;h=Y(a,h*Math.pow(2,d)+p,d*e,!0)}if(0<=l){!1===f&&a.u("parse error ("+b+")");break}else b=b.substr(0,g)+K(a,h,-1)+b.substr(k)}return b} function Re(a,b,c,d,e,f){for(var g;0<=(g=b.indexOf(c));){for(var h=0,k=g+1,l=e;k<b.length;){var p=b[k++];if(p==c){l=-1;break}if(!l)break;l--;p=p.charCodeAt(0);7==d?p&=127:p=p-32&63;h=Y(a,h*Math.pow(2,d)+p,d*e,!0)}if(0<=l){!1===f&&a.u("parse error ("+b+")");break}else b=b.substr(0,g)+K(a,h,-1)+b.substr(k)}return b}
function Te(a,b,c){var d=void 0;a.ka=null;if(b){"{"!=a.ba[0]&&(b=b.split(a.ba[0]).join("{").split(a.ba[1]).join("}"));b=Se(a,b,'"',7,5,c);if(!b)return d;b=Se(a,b,"'",6,6,c);if(!b)return d;b=b.replace(/(^|[^A-Z0-9$%.])([0-9]+)B/,"$1$2^_").replace(/\s+/g," ");b=b.split(/(\{|}|\|\||&&|\||\^!|\^B|\^O|\^D|\^L|\^-|~|\^_|_|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*| )/);d=Pe(a,b,0,b.length,a.T,c);void 0!==d&&!1===c&&Ue(a,null,d)}return d} function Se(a,b,c){var d=void 0;a.ka=null;if(b){"{"!=a.ba[0]&&(b=b.split(a.ba[0]).join("{").split(a.ba[1]).join("}"));b=Re(a,b,'"',7,5,c);if(!b)return d;b=Re(a,b,"'",6,6,c);if(!b)return d;b=b.replace(/(^|[^A-Z0-9$%.])([0-9]+)B/,"$1$2^_").replace(/\s+/g," ");b=b.split(/(\{|}|\|\||&&|\||\^!|\^B|\^O|\^D|\^L|\^-|~|\^_|_|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*| )/);d=Oe(a,b,0,b.length,a.T,c);void 0!==d&&!1===c&&Te(a,null,d)}return d}
function Qe(a,b,c,d,e){e=void 0===e?0:e;var f;if(null!=b)if(f=a.sb(b),0<=f?f=a.tb(f):(f=a.I[b],null==f&&(f=sa(b,1<b.length?a.T:10))),null!=f){for(;e;){switch(e&3){case 1:f=-Y(a,f);break;case 2:f=Ne(a,f,-1);break;case 3:for(b=35;0<=b&&!Le(a,f,Math.pow(2,b));)b--;f=35-b}e>>>=2}f=Y(a,f)}else d||a.u("invalid "+(c?c:"value")+": "+b);else d||a.u("missing "+(c||"value"));return f} function Pe(a,b,c,d,e){e=void 0===e?0:e;var f;if(null!=b)if(f=a.sb(b),0<=f?f=a.tb(f):(f=a.I[b],null==f&&(f=sa(b,1<b.length?a.T:10))),null!=f){for(;e;){switch(e&3){case 1:f=-Y(a,f);break;case 2:f=Me(a,f,-1);break;case 3:for(b=35;0<=b&&!Ke(a,f,Math.pow(2,b));)b--;f=35-b}e>>>=2}f=Y(a,f)}else d||a.u("invalid "+(c?c:"value")+": "+b);else d||a.u("missing "+(c||"value"));return f}
function Ue(a,b,c){var d,e=!1;void 0!==c&&(e=!0,d=8==a.T?K(a,c,a.L,8,1)+" "+c+".":K(a,c,a.L,16,1)+" "+K(a,c,a.L,8,1)+" "+K(a,c,a.L,2,32>=a.L?8:6)+" "+c+".",32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'"));a.u((null!=b?b+": ":"")+d);return e}function Ve(a){var b=a.I;a.I={};return b}function We(a,b){if(b)return Ue(a,b,a.I[b]);var c=0;for(b in a.I)Ue(a,b,a.I[b]),c++;return 0<c} function Te(a,b,c){var d,e=!1;void 0!==c&&(e=!0,d=8==a.T?K(a,c,a.L,8,1)+" "+c+".":K(a,c,a.L,16,1)+" "+K(a,c,a.L,8,1)+" "+K(a,c,a.L,2,32>=a.L?8:6)+" "+c+".",32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'"));a.u((null!=b?b+": ":"")+d);return e}function Ue(a){var b=a.I;a.I={};return b}function Ve(a,b){if(b)return Te(a,b,a.I[b]);var c=0;for(b in a.I)Te(a,b,a.I[b]),c++;return 0<c}
function K(a,b,c,d,e){c=void 0===c?0:c;e=void 0===e?0:e;switch((void 0===d?0:d)||a.T){case 2:(a=0<c?c:0)?36<a&&(a=36):(a=Math.abs(b),a=255>=a?8:262143>=a?18:36);b=ta(b,2,a,"",e);break;case 8:b=ua(b,0<c?(c+2)/3|0:0,!!e);break;case 10:b=va(b,0<c?Math.ceil(.3*c):0);break;default:b=n(b,0<c?c+3>>2:0,!!e)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c} function K(a,b,c,d,e){c=void 0===c?0:c;e=void 0===e?0:e;switch((void 0===d?0:d)||a.T){case 2:(a=0<c?c:0)?36<a&&(a=36):(a=Math.abs(b),a=255>=a?8:262143>=a?18:36);b=ta(b,2,a,"",e);break;case 8:b=ua(b,0<c?(c+2)/3|0:0,!!e);break;case 10:b=va(b,0<c?Math.ceil(.3*c):0);break;default:b=n(b,0<c?c+3>>2:0,!!e)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}
var Re={"||":0,"&&":1,"!":2,"|":2,"^!":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9,_:10,"^_":10,"{":11,"}":11},Me=Math.pow(2,32); var Qe={"||":0,"&&":1,"!":2,"|":2,"^!":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9,_:10,"^_":10,"{":11,"}":11},Le=Math.pow(2,32);
function Xe(a){Je.call(this,a);this.Ja=!1;this.Ga=18;this.L=36;this.ba=["<",">"];this.sa=[];this.Ia=Z();this.M=Z(0);this.na=Z(0);this.ja=Z(0);this.F=[];this.b=this.N=this.K=[];Ye(this);this.V=this.oa=0;this.i=[];this.Ea=void 0;Ze(this);this.D=this;this.Ca={};this.ca=this.Eb=0;this.X=null;this.S=[];$e(this,a.messages);this.ua=a.commands;this.Ha=[];this.P=0;this.Oa=this.Fa=null;this.C=this.Na=this.Ka=this.ma=this.Da=0;this.ta=this.la=this.ha=null;var b=this;window?void 0===window[v]&&(window[v]=function(a){return ed(b, function We(a){Ie.call(this,a);this.Ja=!1;this.Ga=18;this.L=36;this.ba=["<",">"];this.ua=[];this.Ia=Z();this.M=Z(0);this.pa=Z(0);this.ja=Z(0);this.F=[];this.b=this.N=this.K=[];Xe(this);this.V=this.qa=0;this.i=[];this.Ea=void 0;Ye(this);this.D=this;this.xa={};this.ca=this.Eb=0;this.X=null;this.S=[];Ze(this,a.messages);this.va=a.commands;this.Ha=[];this.P=0;this.Oa=this.Fa=null;this.C=this.Na=this.Ka=this.oa=this.Da=0;this.Ca=this.na=this.ia=null;var b=this;window?void 0===window[v]&&(window[v]=function(a){return dd(b,
a)}):void 0===global[v]&&(global[v]=function(a){return ed(b,a)})}ka(Xe,Je);function af(a){a=a&&a.B;null==a&&(a=-1);return a}function Z(a,b,c){return{B:void 0===a?null:a,eb:void 0===b?!1:b,pa:!1,T:c}}function bf(a,b,c,d){a.B=b;a.eb=c||!1;a.pa=!1;a.T=d}function cf(a){return[a.B,a.eb,a.pa,a.T,a.hb]}function df(a,b){var c=Z(b[0],b[1],b[2]);c.pa=b[3];b[4]&&(c.zb=Ke(a,c.hb=b[4]));return c}m=Xe.prototype; a)}):void 0===global[v]&&(global[v]=function(a){return dd(b,a)})}ka(We,Ie);function $e(a){a=a&&a.B;null==a&&(a=-1);return a}function Z(a,b,c){return{B:void 0===a?null:a,eb:void 0===b?!1:b,ra:!1,T:c}}function af(a,b,c,d){a.B=b;a.eb=c||!1;a.ra=!1;a.T=d}function bf(a){return[a.B,a.eb,a.ra,a.T,a.hb]}function cf(a,b){var c=Z(b[0],b[1],b[2]);c.ra=b[3];b[4]&&(c.zb=Je(a,c.hb=b[4]));return c}m=We.prototype;
m.La=function(a,b,c,d){this.G=b;this.H=a;this.v=c;this.la=a.j;this.Ga=b.F;(b=$c(a,"messages"))&&$e(this,b);if(a=$c(a,"commands"))this.ua=a;ef(this,function(a){a:{var b=d.G.b,c=a[0],e=a=0,k=b.length;if(c){a=af(ff(d,c,d.na));if(-1===a){d.u("invalid address: "+c);break a}e=a>>>d.G.i;k=1}d.u("blockid physical blockaddr used size type");d.u("-------- --------- --------- ------ ------ ----");for(var c=-1,l=0;k--;){var p=b[e];p.type==c?l++||d.u("..."):(c=p.type,l=Gc[c],p&&d.u(n(p.id,8)+" %"+ m.La=function(a,b,c,d){this.G=b;this.H=a;this.v=c;this.na=a.j;this.Ga=b.F;(b=Zc(a,"messages"))&&Ze(this,b);if(a=Zc(a,"commands"))this.va=a;df(this,function(a){a:{var b=d.G.b,c=a[0],e=a=0,k=b.length;if(c){a=$e(ef(d,c,d.pa));if(-1===a){d.u("invalid address: "+c);break a}e=a>>>d.G.i;k=1}d.u("blockid physical blockaddr used size type");d.u("-------- --------- --------- ------ ------ ----");for(var c=-1,l=0;k--;){var p=b[e];p.type==c?l++||d.u("..."):(c=p.type,l=Gc[c],p&&d.u(n(p.id,8)+" %"+
n(e<<d.G.i,8)+" %"+n(p.B,8)+" "+n(p.Ya,4,!0)+" "+n(p.size,4,!0)+" "+l),c!=Oc&&(c=-1),l=0);a+=16384;e++}}});Mb(this)}; n(e<<d.G.i,8)+" %"+n(p.B,8)+" "+n(p.Ya,4,!0)+" "+n(p.size,4,!0)+" "+l),c!=Nc&&(c=-1),l=0);a+=16384;e++}}});Mb(this)};
m.ra=function(a,b,c){var d=this;switch(b){case "debugInput":return this.ha=this.J[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",ed(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.w<d.j.length-1&&(b=d.j[++d.w])):40==a.keyCode&&(0<d.w?b=d.j[--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.J[b]=c,Va(c,function(){if(d.ha){var a=d.ha.value; m.ta=function(a,b,c){var d=this;switch(b){case "debugInput":return this.ia=this.J[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",dd(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.w<d.j.length-1&&(b=d.j[++d.w])):40==a.keyCode&&(0<d.w?b=d.j[--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.J[b]=c,Va(c,function(){if(d.ia){var a=d.ia.value;
d.ha.value="";ed(d,a,!0);return!0}return!1}),!0;case "step":return this.J[b]=c,Va(c,function(a){var b=!1;Nb(d,!0)||(Ob(d,!0),b=sc(d,a?1:0,null),Ob(d,!1));return b}),!0}return!1};function dd(a){if(a.ha){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.ha.focus();window&&window.scrollTo(b,c)}}m.Ma=function(a,b){var c=-1,d=af(a);-1!==d&&(c=yc(this.G,d),b&&null!=a.B&&(a.B+=b||1));return c};m.yb=function(a,b,c){var d=af(a);-1!==d&&(xc(this.G,d,b),c&&null!=a.B&&(a.B+=c||1),J(this.H,-1))}; d.ia.value="";dd(d,a,!0);return!0}return!1}),!0;case "step":return this.J[b]=c,Va(c,function(a){var b=!1;Nb(d,!0)||(Ob(d,!0),b=sc(d,a?1:0,null),Ob(d,!1));return b}),!0}return!1};function cd(a){if(a.ia){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.ia.focus();window&&window.scrollTo(b,c)}}m.Ma=function(a,b){var c=-1,d=$e(a);-1!==d&&(c=yc(this.G,d),b&&null!=a.B&&(a.B+=b||1));return c};m.yb=function(a,b,c){var d=$e(a);-1!==d&&(xc(this.G,d,b),c&&null!=a.B&&(a.B+=c||1),J(this.H,-1))};
function ff(a,b,c){var d,e;c||(c=Z());var f=c.B;if(void 0!==b){a:{var g,f=a.ba[0],h=a.ba[1];g="("==f||"{"==f||"["==f?"\\":"";for(var k="["==f?"\\":"",k=new RegExp(g+f+"([^"+k+f+k+h+"]+)"+g+h);g=b.match(k);){var l=Te(a,g[1]);if(void 0===l){b=void 0;break a}b=b.replace(f+g[1]+h,null!=l?K(a,l):"undefined")}if(a.sa.length)for(f=a.sa[0],h=a.sa[1],g="("==f||"{"==f||"["==f?"\\":"",k="["==f?"\\":"",k=new RegExp(g+f+"([^"+k+f+k+h+"]+)"+g+h);g=b.match(k);)b=b.replace("["+g[1]+"]","unimplemented");for(;f=b.match(/\$([a-z]+)/i);){h= function ef(a,b,c){var d,e;c||(c=Z());var f=c.B;if(void 0!==b){a:{var g,f=a.ba[0],h=a.ba[1];g="("==f||"{"==f||"["==f?"\\":"";for(var k="["==f?"\\":"",k=new RegExp(g+f+"([^"+k+f+k+h+"]+)"+g+h);g=b.match(k);){var l=Se(a,g[1]);if(void 0===l){b=void 0;break a}b=b.replace(f+g[1]+h,null!=l?K(a,l):"undefined")}if(a.ua.length)for(f=a.ua[0],h=a.ua[1],g="("==f||"{"==f||"["==f?"\\":"",k="["==f?"\\":"",k=new RegExp(g+f+"([^"+k+f+k+h+"]+)"+g+h);g=b.match(k);)b=b.replace("["+g[1]+"]","unimplemented");for(;f=b.match(/\$([a-z]+)/i);){h=
null;switch(f[1].toLowerCase()){case "ops":h=0}if(null==h)break;b=b.replace(f[0],h.toString())}}"%"==b.charAt(0)&&(d=!0,b=b.substr(1));var p,f=b,u;if(f.match(/^[a-z_][a-z0-9_]*$/i))for(f=f.toUpperCase(),h=0;h<a.F.length;h++)if(g=a.F[h].Y[f],null!=g){u=g.o;break}null!=u&&(p=Z(u));if(p)return p;0<=b.indexOf("0x")?e=16:0<=b.indexOf("0o")?e=8:0<=b.indexOf(".")&&(e=10);f=Te(a,b)}null!=f&&(f=gf(f,a.Ga),bf(c,f,d,e));return c}function hf(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.zb=Ke(a,b.hb=c[2]))} null;switch(f[1].toLowerCase()){case "ops":h=0}if(null==h)break;b=b.replace(f[0],h.toString())}}"%"==b.charAt(0)&&(d=!0,b=b.substr(1));var p,f=b,u;if(f.match(/^[a-z_][a-z0-9_]*$/i))for(f=f.toUpperCase(),h=0;h<a.F.length;h++)if(g=a.F[h].Y[f],null!=g){u=g.o;break}null!=u&&(p=Z(u));if(p)return p;0<=b.indexOf("0x")?e=16:0<=b.indexOf("0o")?e=8:0<=b.indexOf(".")&&(e=10);f=Se(a,b)}null!=f&&(f=ff(f,a.Ga),af(c,f,d,e));return c}function gf(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.zb=Je(a,b.hb=c[2]))}
function gf(a,b){0>a&&a>=-A&&(a+=C);return Math.trunc(Math.abs(a))%Math.pow(2,void 0===b?36:b)}function jf(a,b){return K(a,b/Tb,18)+" "+K(a,b%Tb,18)} function ff(a,b){0>a&&a>=-A&&(a+=C);return Math.trunc(Math.abs(a))%Math.pow(2,void 0===b?36:b)}function hf(a,b){return K(a,b/Tb,18)+" "+K(a,b%Tb,18)}
function $e(a,b){a.D=a;a.ca=a.Eb=536870916;a.X=null;a.S=[];b=Ke(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in ac){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.ca|=ac[c],a.u(c+" messages enabled"))}}function ef(a,b){for(var c in ac)if(16==ac[c]){a.Ca[c]=b;break}}m.sb=function(a){return kf.indexOf(a.toUpperCase())}; function Ze(a,b){a.D=a;a.ca=a.Eb=536870916;a.X=null;a.S=[];b=Je(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in ac){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.ca|=ac[c],a.u(c+" messages enabled"))}}function df(a,b){for(var c in ac)if(16==ac[c]){a.xa[c]=b;break}}m.sb=function(a){return jf.indexOf(a.toUpperCase())};
m.tb=function(a){var b,c=this.v;switch(a){case lf:b=c.i;break;case mf:b=c.I;break;case nf:b=c.b;break;case of:b=c.j&x;break;case pf:b=c.j&131072?1:0;break;case qf:b=c.j&65536?1:0;break;case rf:b=c.j&32768?1:0;break;case sf:b=c.j&32?1:0;break;case tf:b=c.j&262144?1:0}return b}; m.tb=function(a){var b,c=this.v;switch(a){case kf:b=c.i;break;case lf:b=c.I;break;case mf:b=c.b;break;case nf:b=c.j&x;break;case of:b=c.j&131072?1:0;break;case pf:b=c.j&65536?1:0;break;case qf:b=c.j&32768?1:0;break;case rf:b=c.j&32?1:0;break;case sf:b=c.j&262144?1:0}return b};
m.message=function(a,b){b&&(a+=" @"+K(this,Z(this.v.Ea).B,18));if(!this.X||a!=this.X)if(this.X=a,this.ca&1073741824)this.S.push(a);else{var c;if(this.ca&-2147483648&&this.v&&(c=this.v.A.O)||Nb(this,!0))this.W(),c&&(a+=" (cpu halted)");this.u(a);this.v&&(a=this.v,md(a),a.ka=0,a.H&&J(a.H,void 0))}}; m.message=function(a,b){b&&(a+=" @"+K(this,Z(this.v.Ea).B,18));if(!this.X||a!=this.X)if(this.X=a,this.ca&1073741824)this.S.push(a);else{var c;if(this.ca&-2147483648&&this.v&&(c=this.v.A.O)||Nb(this,!0))this.W(),c&&(a+=" (cpu halted)");this.u(a);this.v&&(a=this.v,ld(a),a.ka=0,a.H&&J(a.H,void 0))}};
function Ze(a){var b;if(!td(a))a.i&&a.i.length&&a.u("instruction history buffer freed"),a.V=0,a.i=[];else if(!a.i||!a.i.length){a.i=Array(uf);for(b=0;b<a.i.length;b++)a.i[b]=Z();a.V=0;a.u("instruction history buffer allocated")}}function vf(a,b,c){if(!wf(a,c))return!1;rc(a.v,b);return!0} function Ye(a){var b;if(!sd(a))a.i&&a.i.length&&a.u("instruction history buffer freed"),a.V=0,a.i=[];else if(!a.i||!a.i.length){a.i=Array(tf);for(b=0;b<a.i.length;b++)a.i[b]=Z();a.V=0;a.u("instruction history buffer allocated")}}function uf(a,b,c){if(!vf(a,c))return!1;rc(a.v,b);return!0}
function sc(a,b,c,d){if(!wf(a))return!1;var e="";null===c&&(e=(c=!a.Fa||"tr"==a.Fa)?"tr":"t");a.C=0;b||td(a)&&ud(a,a.v.i,0);try{b=kd(a.v,b);var f=a.v.$a(b);0<f&&(tc(a.v,f),a.C+=f,uc(a.v,f,!0),vc(a.v,f),a.ma++)}catch(g){"number"!=typeof g&&(a.C=0,zb(a.v,g.stack||g.message))}!1!==d&&(a.la&&a.la.stop(),J(a.H,-1));cd(a,c||!1,e);return 0<a.C}m.W=function(a){this.v&&this.v.W(a)};function cd(a,b,c){b=void 0===b?!0:b;a.Ja&&(c&&a.u(xf+c),bf(a.M,a.v.i),b&&1!=a.P?yf(a):zf(a))} function sc(a,b,c,d){if(!vf(a))return!1;var e="";null===c&&(e=(c=!a.Fa||"tr"==a.Fa)?"tr":"t");a.C=0;b||sd(a)&&td(a,a.v.i,0);try{b=jd(a.v,b);var f=a.v.$a(b);0<f&&(tc(a.v,f),a.C+=f,uc(a.v,f,!0),vc(a.v,f),a.oa++)}catch(g){"number"!=typeof g&&(a.C=0,yb(a.v,g.stack||g.message))}!1!==d&&(a.na&&a.na.stop(),J(a.H,-1));bd(a,c||!1,e);return 0<a.C}m.W=function(a){this.v&&this.v.W(a)};function bd(a,b,c){b=void 0===b?!0:b;a.Ja&&(c&&a.u(wf+c),af(a.M,a.v.i),b&&1!=a.P?xf(a):yf(a))}
function wf(a,b){var c;(c=!a.v||!Cb(a.v))||(c=a.v,c.A.Z?c=!0:(c.u(c.toString()+" not powered"),c=!1),c=!c);return c||a.v.A.O?(b||a.u("cpu busy or unavailable, command ignored"),!1):!Ab(a.v)}m.Ba=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0};m.qa=function(a,b){b&&this.u(a?"suspending":"shutting down");return a?this.save():!0};m.reset=function(a){Ze(this);this.ma=0;this.X=null;this.C=0;bf(this.M,this.v.i);this.A.O=!1;Af(this);a||cd(this)}; function vf(a,b){var c;(c=!a.v||!Bb(a.v))||(c=a.v,c.A.aa?c=!0:(c.u(c.toString()+" not powered"),c=!1),c=!c);return c||a.v.A.O?(b||a.u("cpu busy or unavailable, command ignored"),!1):!zb(a.v)}m.Ba=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0};m.sa=function(a,b){b&&this.u(a?"suspending":"shutting down");return a?this.save():!0};m.reset=function(a){Ye(this);this.oa=0;this.X=null;this.C=0;af(this.M,this.v.i);this.A.O=!1;zf(this);a||bd(this)};
m.save=function(){var a=new F(this);a.set(0,cf(this.M));a.set(1,cf(this.na));a.set(2,cf(this.ja));a.set(3,[this.j,this.U,this.ca]);a.set(4,this.F);return a.data()};m.restore=function(a){var b=0;void 0!==a[3]&&(this.M=df(this,a[b++]),this.na=df(this,a[b++]),this.ja=df(this,a[b++]),this.j=a[b][0],"string"==typeof this.j&&(this.j=[this.j]),this.U=a[b][1],this.ca|=a[b][2]);a[4]&&(this.F=a[4]);return!0};m.start=function(a,b){this.P||this.u("running");this.A.O=!0;this.Ka=a;this.Na=b}; m.save=function(){var a=new F(this);a.set(0,bf(this.M));a.set(1,bf(this.pa));a.set(2,bf(this.ja));a.set(3,[this.j,this.U,this.ca]);a.set(4,this.F);return a.data()};m.restore=function(a){var b=0;void 0!==a[3]&&(this.M=cf(this,a[b++]),this.pa=cf(this,a[b++]),this.ja=cf(this,a[b++]),this.j=a[b][0],"string"==typeof this.j&&(this.j=[this.j]),this.U=a[b][1],this.ca|=a[b][2]);a[4]&&(this.F=a[4]);return!0};m.start=function(a,b){this.P||this.u("running");this.A.O=!0;this.Ka=a;this.Na=b};
m.stop=function(a,b){if(this.A.O){this.A.O=!1;this.C=b-this.Na;if(!this.P){b="stopped";if(this.C){a-=this.Ka;var c=0<a?Math.round(1E3*this.C/a):0;b+=" (";td(this)&&(b+=this.ma+" instructions, ",this.ma=0);b+=this.C+" cycles, "+a+" ms, "+c+" hz)"}else Pb(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.u(b)}cd(this,!0);dd(this);Af(this,this.v.i);this.X=null}};function td(a){return 1<a.b.length||!!a.oa} m.stop=function(a,b){if(this.A.O){this.A.O=!1;this.C=b-this.Na;if(!this.P){b="stopped";if(this.C){a-=this.Ka;var c=0<a?Math.round(1E3*this.C/a):0;b+=" (";sd(this)&&(b+=this.oa+" instructions, ",this.oa=0);b+=this.C+" cycles, "+a+" ms, "+c+" hz)"}else Pb(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.u(b)}bd(this,!0);cd(this);zf(this,this.v.i);this.X=null}};function sd(a){return 1<a.b.length||!!a.qa}
function ud(a,b,c){var d=-1;c||(d=a.v.f(b),2756==d>>23&&a.v.Ea==b&&(b=sd(a.v,1)));if(0<c&&(a.oa&&!--a.oa||Xc(a,b,1,a.b)))return!0;0<=c&&a.i.length&&(a.ma++,0>d&&(d=a.v.f(b)),0<=d&&(bf(a.i[a.V],b),++a.V==a.i.length&&(a.V=0)));return!1} function td(a,b,c){var d=-1;c||(d=a.v.f(b),2756==d>>23&&a.v.Ea==b&&(b=rd(a.v,1)));if(0<c&&(a.qa&&!--a.qa||Wc(a,b,1,a.b)))return!0;0<=c&&a.i.length&&(a.oa++,0>d&&(d=a.v.f(b)),0<=d&&(af(a.i[a.V],b),++a.V==a.i.length&&(a.V=0)));return!1}
function Bf(a,b,c,d){var e=Z(b.B),f=a.Ma(b,1),g,h,k,l=0,p=f/Xb|0,u;for(u in Cf)if(g=Cf[u][p&u]){h=+u;p>>=6;switch(h){case 32512:k=Df;l=p&3;break;case 32256:k=Ef;l=p&7;break;case 29248:k=Ff,l=(p&48)>>2|(p&6)>>1}break}k=k&&k[l]||"";"S"==k&&g>Gf&&(k="B");k=Hf[g||0]+k;if(g){if(28700==h)h=f/Yb&127,l=K(a,h,-1);else for(h=f>>23&15,l=K(a,h,-1),p=0;l&&p<If.length;p++)if(g==If[p][0]&&(u=If[p][h])){k=Hf[u];l="";break}k=Ba(k,8)+(l?l+",":"");f&4194304&&(k+="@");k+=K(a,f&262143,-1);(f=f>>18&15)&&(k+="("+K(a,f, function Af(a,b,c,d){var e=Z(b.B),f=a.Ma(b,1),g,h,k,l=0,p=f/Xb|0,u;for(u in Bf)if(g=Bf[u][p&u]){h=+u;p>>=6;switch(h){case 32512:k=Cf;l=p&3;break;case 32256:k=Df;l=p&7;break;case 29248:k=Ef,l=(p&48)>>2|(p&6)>>1}break}k=k&&k[l]||"";"S"==k&&g>Ff&&(k="B");k=Gf[g||0]+k;if(g){if(28700==h)h=f/Yb&127,l=K(a,h,-1);else for(h=f>>23&15,l=K(a,h,-1),p=0;l&&p<Hf.length;p++)if(g==Hf[p][0]&&(u=Hf[p][h])){k=Gf[u];l="";break}k=Ba(k,8)+(l?l+",":"");f&4194304&&(k+="@");k+=K(a,f&262143,-1);(f=f>>18&15)&&(k+="("+K(a,f,
-1)+")")}else k=Ba(k,8)+jf(a,f);f=k;g="";h=K(a,e.B,18)+":";if(-1!==e.B&&-1!==b.B){do if(k=a.Ma(e,1),g+=" "+jf(a,k),null==e.B)break;while(e.B!=b.B)}h+=Ba(g,16)+f;c&&(h=Ba(h,48)+";"+(c||""),h=a.v.A.Ua?h+("cycles="+fd(a.v).toString()+" cs="+n(a.v.Ga)):h+(null!=d?"="+d.toString():""));return h} -1)+")")}else k=Ba(k,8)+hf(a,f);f=k;g="";h=K(a,e.B,18)+":";if(-1!==e.B&&-1!==b.B){do if(k=a.Ma(e,1),g+=" "+hf(a,k),null==e.B)break;while(e.B!=b.B)}h+=Ba(g,16)+f;c&&(h=Ba(h,48)+";"+(c||""),h=a.v.A.Va?h+("cycles="+ed(a.v).toString()+" cs="+n(a.v.Ga)):h+(null!=d?"="+d.toString():""));return h}
function Jf(a,b,c,d,e){var f=-1,g,h;a.ka=null;if(b){for(var k=b.toUpperCase(),l=0;l<If.length;l++)for(var p in If[l])if(+p&&(h=If[l][p],k==Hf[h])){k=Hf[If[l][0]];c&&(c=K(a,+p)+","+c);break}for(var u in Cf){g=+u;p=Cf[u];switch(g){case 32512:l=Df;break;case 32256:l=Ef;break;case 29248:l=Ff;break;default:l=[""]}for(var D in p){h=p[D];for(var I=0;I<l.length;I++){var P=l[I];"S"==P&&h>Gf&&(P="B");if(k==Hf[h]+P){f=29248!=g?I:(I&3)<<1|(I&12)<<2;f=(D|f<<6)*Xb;break}}if(0<=f)break}if(0<=f)break}0>f&&c&&!c.match(/^[0-9A-Z$%.?]/i)&& function If(a,b,c,d,e){var f=-1,g,h;a.ka=null;if(b){for(var k=b.toUpperCase(),l=0;l<Hf.length;l++)for(var p in Hf[l])if(+p&&(h=Hf[l][p],k==Gf[h])){k=Gf[Hf[l][0]];c&&(c=K(a,+p)+","+c);break}for(var u in Bf){g=+u;p=Bf[u];switch(g){case 32512:l=Cf;break;case 32256:l=Df;break;case 29248:l=Ef;break;default:l=[""]}for(var D in p){h=p[D];for(var I=0;I<l.length;I++){var P=l[I];"S"==P&&h>Ff&&(P="B");if(k==Gf[h]+P){f=29248!=g?I:(I&3)<<1|(I&12)<<2;f=(D|f<<6)*Xb;break}}if(0<=f)break}if(0<=f)break}0>f&&c&&!c.match(/^[0-9A-Z$%.?]/i)&&
(c=b+c,b="",f=0)}else c&&(f=g=0);if(0<=f&&c)for(k=c.split(","),u=0;u<k.length;u++)if(h=k[u].trim()){if(1<u){a.u("too many operands: "+c);f=-1;break}D=h.match(/(@?)([^(]*)\(?([^)]*)\)?/);if(!D){a.u("unknown operand: "+h);f=-1;break}D[1]&&(f+=4194304);if(h=D[3]){h=Te(a,h,e);if(void 0==h){f=-1;break}if(0>h||15<h)h&=15;f+=h<<18}h=D[2];if(u||1==k.length)h=h?h.replace(/(^|[^0-9])\./g,"$1"+K(a,d,18)):"0";h=Te(a,h,e);if(void 0==h){f=-1;break}if(!u&&1<k.length)if(28700==g){if(0>h||127<h)h&=127;f+=h*Yb}else{if(0> (c=b+c,b="",f=0)}else c&&(f=g=0);if(0<=f&&c)for(k=c.split(","),u=0;u<k.length;u++)if(h=k[u].trim()){if(1<u){a.u("too many operands: "+c);f=-1;break}D=h.match(/(@?)([^(]*)\(?([^)]*)\)?/);if(!D){a.u("unknown operand: "+h);f=-1;break}D[1]&&(f+=4194304);if(h=D[3]){h=Se(a,h,e);if(void 0==h){f=-1;break}if(0>h||15<h)h&=15;f+=h<<18}h=D[2];if(u||1==k.length)h=h?h.replace(/(^|[^0-9])\./g,"$1"+K(a,d,18)):"0";h=Se(a,h,e);if(void 0==h){f=-1;break}if(!u&&1<k.length)if(28700==g){if(0>h||127<h)h&=127;f+=h*Yb}else{if(0>
h||15<h)h&=15;f+=h<<23}else{if(b||u)if(0>h||262143<h)h&=Sb;f+=h}}0>f&&!e&&a.u("unknown instruction: "+b+" "+c);return f}function Ye(a){var b,c;a.b=["bp"];if(a.N)for(b=1;b<a.N.length;b++){c=a.N[b];c=af(c);var d=a.G;Wc(d.b[c>>>d.i],!1)}a.N=["br"];if(a.K)for(b=1;b<a.K.length;b++)c=a.K[b],c=af(c),d=a.G,Wc(d.b[c>>>d.i],!0);a.K=["bw"];a.Da=0;a.oa=0} h||15<h)h&=15;f+=h<<23}else{if(b||u)if(0>h||262143<h)h&=Sb;f+=h}}0>f&&!e&&a.u("unknown instruction: "+b+" "+c);return f}function Xe(a){var b,c;a.b=["bp"];if(a.N)for(b=1;b<a.N.length;b++){c=a.N[b];c=$e(c);var d=a.G;Vc(d.b[c>>>d.i],!1)}a.N=["br"];if(a.K)for(b=1;b<a.K.length;b++)c=a.K[b],c=$e(c),d=a.G,Vc(d.b[c>>>d.i],!0);a.K=["bw"];a.Da=0;a.qa=0}
m.Ra=function(a,b,c){var d=!0;c||Kf(this,a,b,!1,!0);if(a!=this.b){var e=af(b);if(-1===e)this.u("invalid address: "+K(this,b.B,18)),d=!1;else{var f=this.G;f.b[e>>>f.i].Ra(e&16383,a==this.K)}}d&&(a.push(b),c?b.pa=!0:(Lf(this,a,a.length-1,"set"),Ze(this)));return d};function Kf(a,b,c,d,e){var f=!1;c=af(c);for(var g=1;g<b.length;g++){var h=b[g];if(c==af(h)&&(!d||h.pa)){f=!0;h.pa||e||Lf(a,b,g,"cleared");b.splice(g,1);b!=a.b&&(d=a.G,Wc(d.b[c>>>d.i],b==a.K));h.pa||Ze(a);break}}return f} m.Ra=function(a,b,c){var d=!0;c||Jf(this,a,b,!1,!0);if(a!=this.b){var e=$e(b);if(-1===e)this.u("invalid address: "+K(this,b.B,18)),d=!1;else{var f=this.G;f.b[e>>>f.i].Ra(e&16383,a==this.K)}}d&&(a.push(b),c?b.ra=!0:(Kf(this,a,a.length-1,"set"),Ye(this)));return d};function Jf(a,b,c,d,e){var f=!1;c=$e(c);for(var g=1;g<b.length;g++){var h=b[g];if(c==$e(h)&&(!d||h.ra)){f=!0;h.ra||e||Kf(a,b,g,"cleared");b.splice(g,1);b!=a.b&&(d=a.G,Vc(d.b[c>>>d.i],b==a.K));h.ra||Ye(a);break}}return f}
function Mf(a,b){for(var c=1;c<b.length;c++)Lf(a,b,c);return b.length-1}function Lf(a,b,c,d){c=b[c];a.u(b[0]+" "+K(a,c.B,18)+(d?" "+d:c.hb?' "'+c.hb+'"':""))}function Af(a,b){if(void 0!==b)Xc(a,b,1,a.b,!0),a.P=0;else for(b=1;b<a.b.length;b++){var c=a.b[b];if(c.pa){if(!Kf(a,a.b,c,!0))break;b=0}}} function Lf(a,b){for(var c=1;c<b.length;c++)Kf(a,b,c);return b.length-1}function Kf(a,b,c,d){c=b[c];a.u(b[0]+" "+K(a,c.B,18)+(d?" "+d:c.hb?' "'+c.hb+'"':""))}function zf(a,b){if(void 0!==b)Wc(a,b,1,a.b,!0),a.P=0;else for(b=1;b<a.b.length;b++){var c=a.b[b];if(c.ra){if(!Jf(a,a.b,c,!0))break;b=0}}}
function Xc(a,b,c,d,e){var f=!1;if(!a.Da++)for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.pa)for(var k=af(h)&(d==a.b?65535:-1),l=0;l<c;l++)if(b+l==k){var p,f=!0;h.pa&&(Kf(a,d,h,!0),e=!0);if(p=h.zb){for(var f=!1,u=0;u<p.length;u++)if(!Nf(a,p[u],!0)){if(p[u].indexOf("if")){f=!0;break}for(var D=u+1;D<p.length&&p[D].indexOf("else");D++)u++;if(D==p.length){f=!0;break}}a.v.A.O||(f=!0)}if(f){e||Lf(a,d,g,"hit");break}}}a.Da--;return f} function Wc(a,b,c,d,e){var f=!1;if(!a.Da++)for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.ra)for(var k=$e(h)&(d==a.b?65535:-1),l=0;l<c;l++)if(b+l==k){var p,f=!0;h.ra&&(Jf(a,d,h,!0),e=!0);if(p=h.zb){for(var f=!1,u=0;u<p.length;u++)if(!Mf(a,p[u],!0)){if(p[u].indexOf("if")){f=!0;break}for(var D=u+1;D<p.length&&p[D].indexOf("else");D++)u++;if(D==p.length){f=!0;break}}a.v.A.O||(f=!0)}if(f){e||Kf(a,d,g,"hit");break}}}a.Da--;return f}
function ng(a,b){b=void 0===b?!0:b;for(var c="",d=0;16>d;d++){!d||d&3||(c+="\n");var e=a,f=ua(d,2);bf(e.Ia,d);f+="="+K(e,e.Ma(e.Ia),36)+" ";c+=f}if(b){b="";for(d=0;d<kf.length;d++)(e=kf[d]||"")&&(e+="="+K(a,a.tb(d),d>=pf?1:d==mf?23:18)+" "),b+=e;c+="\n"+b}return c}m.Gb=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0}; function mg(a,b){b=void 0===b?!0:b;for(var c="",d=0;16>d;d++){!d||d&3||(c+="\n");var e=a,f=ua(d,2);af(e.Ia,d);f+="="+K(e,e.Ma(e.Ia),36)+" ";c+=f}if(b){b="";for(d=0;d<jf.length;d++)(e=jf[d]||"")&&(e+="="+K(a,a.tb(d),d>=of?1:d==lf?23:18)+" "),b+=e;c+="\n"+b}return c}m.Gb=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
function De(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,l=h.a;if(void 0!==k){var p=f,k=[k>>>0,g],u=Fa(p,k,a.Gb);0>u&&p.splice(-(u+1),0,k)}l&&(h.a=l.replace(/''/g,'"'))}a.F.push({wd:b,B:c,Ub:d,Y:e,Bb:f})}function pg(a,b,c){var d=[],e=af(b)>>>0;for(b=0;b<a.F.length;b++){var f=a.F[b],g=f.B>>>0,h=f.Ub;if(e>=g&&e<g+h){e=Fa(f.Bb,[e-g],a.Gb);0<=e?qg(a,b,e,d):c&&(e=~e,qg(a,b,e-1,d),qg(a,b,e,d));break}}return d} function Ce(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,l=h.a;if(void 0!==k){var p=f,k=[k>>>0,g],u=Fa(p,k,a.Gb);0>u&&p.splice(-(u+1),0,k)}l&&(h.a=l.replace(/''/g,'"'))}a.F.push({wd:b,B:c,Ub:d,Y:e,Bb:f})}function og(a,b,c){var d=[],e=$e(b)>>>0;for(b=0;b<a.F.length;b++){var f=a.F[b],g=f.B>>>0,h=f.Ub;if(e>=g&&e<g+h){e=Fa(f.Bb,[e-g],a.Gb);0<=e?pg(a,b,e,d):c&&(e=~e,pg(a,b,e-1,d),pg(a,b,e,d));break}}return d}
function rg(a,b,c){var d=0,e=a.G;b.forEach(function(a,b){xc(e,b,a);null==c&&(c=b);d++});d?(a.u(d+" words loaded at "+K(a,c)+"-"+K(a,c+d-1)),G(a.v,c||0),cd(a)):a.u("no data")}function qg(a,b,c,d){var e={},f=a.F[b].Bb,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.F[b].Y[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)} function qg(a,b,c){var d=a.G,e=0,f=null,g=0;b.forEach(function(a,b){xc(d,b,a);null==f&&(f=b);b>g&&(g=b);e++});e?(a.u(e+" words loaded at "+K(a,f)+"-"+K(a,g)),null!=c&&G(a.v,c),bd(a)):a.u("no data")}function pg(a,b,c,d){var e={},f=a.F[b].Bb,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.F[b].Y[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}
function sg(a,b){var c=ff(a,b[1],a.ja);if(!c)return!1;var d=b[2];if(void 0==d)return a.u("begin assemble at "+K(a,c.B,18)),a.U=!0,J(a.H),!0;var e=b[0].substr(1),f=d.match(/^(['"]?)(.*\.mac|.*\.html|.*\.txt)\1$/i);if(f){if(a.ta)a.u("assembly already in progress");else{var g=f[2],h=c.B;a.ta=new tg(g,h,e,a,function(b,c){if(b)a.u("error ("+b+") processing "+(c||g));else try{rg(a,a.ta.R,h)}catch(p){a.u(p.message),b=-1}a.ta=null;b||ed(a)})}return!1}b.shift();b.shift();b.shift();b=Jf(a,d,b.join(""),c.B|| function rg(a,b){var c=b[0].substr(1),d=b[1]&&"0"<=b[1][0]&&"9">=b[1][0]?b[1]:void 0,e=d?b[2]:b[1],f=ef(a,d,a.ja);if(!e)return a.u("begin assemble at "+K(a,f.B,18)),a.U=!0,J(a.H),!0;var g=e.match(/^(['"]?)(.*\.mac|.*\.html|.*\.txt)\1$/i);if(g){f=ef(a,d);if(a.Ca)a.u("assembly already in progress");else var h=g[2],k=f.B,l=a.Ca=new sg(h,k,c,a,function(b,c){if(b)a.u("error ("+b+") processing "+(c||h));else try{var d=l.G;null==d&&(d=k);qg(a,l.R,d)}catch(I){a.u(I.message),b=-1}a.Ca=null;b||dd(a)});return!1}b.shift();
0);0<=b&&(a.yb(c,b),a.u(Bf(a,c)));return!0}function ug(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return We(a)||a.u("no variables"),!0;if(!c[2])return We(a,c[1]);if(!c[3])return delete a.I[c[1]],!0;b=Te(a,c[3]);return void 0!==b?(a.I[c[1]]=b,!0):!1}a.u("invalid assignment:"+b);return!1} b.shift();b.shift();b=If(a,e,b.join(""),f.B||0);0<=b&&(a.yb(f,b),a.u(Af(a,f)));return!0}function tg(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Ve(a)||a.u("no variables"),!0;if(!c[2])return Ve(a,c[1]);if(!c[3])return delete a.I[c[1]],!0;b=Se(a,c[3]);return void 0!==b?(a.I[c[1]]=b,!0):!1}a.u("invalid assignment:"+b);return!1}
function vg(a,b,c){var d=null;if(b=ff(a,b)){var e=pg(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.B-e[1])&&(g=" + "+n(f,4,!0)),f=e[0]+" ("+K(a,e[1],18)+")"+g,c&&a.u(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.B)&&(g=" - "+n(f,4,!0)),f=e[4]+" ("+K(a,e[5],18)+")"+g,c&&a.u(f),d||(d=f))}else c&&a.u("no symbols")}return d} function ug(a,b,c){var d=null;b=ef(a,b);var e=og(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.B-e[1])&&(g=" + "+n(f,4,!0)),f=e[0]+" ("+K(a,e[1],18)+")"+g,c&&a.u(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.B)&&(g=" - "+n(f,4,!0)),f=e[4]+" ("+K(a,e[5],18)+")"+g,c&&a.u(f),d||(d=f))}else c&&a.u("no symbols");return d}
function yf(a,b){var c;if(b&&"?"==b[1])a.u("register commands:"),a.u("\tr\tdump registers"),a.u("\trm\tdump misc registers"),a.u("\trx [#]\tset flag or register x to [#]");else{var d=a.v,e=void 0;null==c&&(c=!0);if(b&&1<b.length){var f=b[1];if("m"==f)e=!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.u("missing value for "+b[1]);return}g=Te(a,b);if(void 0===g)return;b=a.sb(f);if(0>b){a.u("unknown register: "+f);return}var f=0,h=a.v;switch(b){case lf:G(h, function xf(a,b){var c;if(b&&"?"==b[1])a.u("register commands:"),a.u("\tr\tdump registers"),a.u("\trm\tdump misc registers"),a.u("\trx [#]\tset flag or register x to [#]");else{var d=a.v,e=void 0;null==c&&(c=!0);if(b&&1<b.length){var f=b[1];if("m"==f)e=!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.u("missing value for "+b[1]);return}g=Se(a,b);if(void 0===g)return;b=a.sb(f);if(0>b){a.u("unknown register: "+f);return}var f=0,h=a.v;switch(b){case kf:G(h,
g);bf(a.M,h.i);break;case of:rd(h,g);break;case pf:f=131072;break;case qf:f=65536;break;case rf:f=32768;break;case sf:f=32;break;case tf:f=262144}f&&(h.j=g?h.j|f:h.j&~f);J(a.H);a.u("updated registers:")}}a.u(ng(a,e));c&&(bf(a.M,0<=d.P?d.P:d.i),zf(a,K(a,a.M.B,18)))}}function wg(a,b){b=Ea(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.u(c[2]):Ue(a,null,c[2].charCodeAt(0)):Te(a,b,!1)} g);af(a.M,h.i);break;case nf:qd(h,g);break;case of:f=131072;break;case pf:f=65536;break;case qf:f=32768;break;case rf:f=32;break;case sf:f=262144}f&&(h.j=g?h.j|f:h.j&~f);J(a.H);a.u("updated registers:")}}a.u(mg(a,e));c&&(af(a.M,0<=d.P?d.P:d.i),yf(a,K(a,a.M.B,18)))}}function vg(a,b){b=Ca(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.u(c[2]):Te(a,null,c[2].charCodeAt(0)):Se(a,b,!1)}
function xg(a,b,c){if("?"==c)a.u("trace commands:"),a.u("\tt [#]\ttrace # instructions"),a.u("\ttr [#]\ttrace # instructions with register updates"),a.u("\ttc [#]\ttrace # cycles"),a.u("note: bn [#] breaks after # instructions without updates");else{var d="t"!=b;c=Qe(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.Fa=b;Ua(c,function(){return Ob(a,!0)&&sc(a,e,d,!1)},function(){a.la&&a.la.stop();J(a.H,-1);Ob(a,!1)})}} function wg(a,b,c){if("?"==c)a.u("trace commands:"),a.u("\tt [#]\ttrace # instructions"),a.u("\ttr [#]\ttrace # instructions with register updates"),a.u("\ttc [#]\ttrace # cycles"),a.u("note: bn [#] breaks after # instructions without updates");else{var d="t"!=b;c=Pe(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.Fa=b;Ua(c,function(){return Ob(a,!0)&&sc(a,e,d,!1)},function(){a.na&&a.na.stop();J(a.H,-1);Ob(a,!1)})}}
function zf(a,b,c,d){if(b=ff(a,b,a.M)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=Qe(a,c.substr(1)),null!=c&&(d=c);else{d=ff(a,c);if(!d||d.B<b.B)return;e=d.B-b.B;if(256<e){a.u("range too large");return}d=-1}for(c=0;0<e&&d--;){var f=Nb(a,!1)||a.P?a.C:null,g=null!=f?"cycles":null,h=pg(a,b),k=b.B;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var l=h[0]+":";h[2]&&(l+=" "+h[2]);a.u(l)}h[3]&&(g=h[3],f=null);h=a.ja;l=b;h.B=l.B;h.eb=l.eb;h.pa=l.pa;h.T=l.T;a.u(Bf(a,b,g,f));e-=b.B-k;c++}}} function yf(a,b,c,d){b=ef(a,b,a.M);void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=Pe(a,c.substr(1)),null!=c&&(d=c);else{d=ef(a,c);if(d.B<b.B)return;e=d.B-b.B;if(256<e){a.u("range too large");return}d=-1}for(c=0;0<e&&d--;){var f=Nb(a,!1)||a.P?a.C:null,g=null!=f?"cycles":null,h=og(a,b),k=b.B;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var l=h[0]+":";h[2]&&(l+=" "+h[2]);a.u(l)}h[3]&&(g=h[3],f=null);h=a.ja;l=b;h.B=l.B;h.eb=l.eb;h.ra=l.ra;h.T=l.T;a.u(Af(a,b,g,f));e-=b.B-k;c++}}
function Nf(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.u(xf+b):(a.U&&(a.u("ended assemble at "+K(a,a.ja.B,18)),a.U=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.X=null;if(Cb(a)&&0<b.length){a.U&&(b="a "+K(a,a.ja.B,18)+" "+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),l=1;l<h.length;l++){var p=h.charAt(l);if("?"==k||"r"==k||"a">p||"z"<p){g[0]=h.substr(l);g.unshift(h.substr(0,l));break}}switch(g[0].charAt(0)){case "a":d= function Mf(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.u(wf+b):(a.U&&(a.u("ended assemble at "+K(a,a.ja.B,18)),a.U=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.X=null;if(Bb(a)&&0<b.length){a.U&&(b="a "+K(a,a.ja.B,18)+" "+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),l=1;l<h.length;l++){var p=h.charAt(l);if("?"==k||"r"==k||"a">p||"z"<p){g[0]=h.substr(l);g.unshift(h.substr(0,l));break}}switch(g[0].charAt(0)){case "a":d=
sg(a,g);break;case "b":a:{var u=g[0],D=g[1],I=b;if("?"==D)a.u("breakpoint commands:"),a.u("\tbp #\tset exec breakpoint"),a.u("\tbr #\tset read breakpoint"),a.u("\tbw #\tset write breakpoint"),a.u("\tbc #\tclear breakpoint (* to clear all)"),a.u("\tbl\tlist all breakpoints"),a.u("\tbn [#]\tbreak after # instruction(s)");else{var P=u.charAt(1);if("l"==P){var eb;eb=0+Mf(a,a.b);eb+=Mf(a,a.N);(eb+=Mf(a,a.K))||a.u("no breakpoints")}else if("n"==P){var Bb=+D||0;D&&(a.oa=Bb);a.u("break after "+Bb+" instruction(s)")}else if(void 0=== rg(a,g);break;case "b":var u=g[0],D=g[1],I=b;if("?"==D)a.u("breakpoint commands:"),a.u("\tbp #\tset exec breakpoint"),a.u("\tbr #\tset read breakpoint"),a.u("\tbw #\tset write breakpoint"),a.u("\tbc #\tclear breakpoint (* to clear all)"),a.u("\tbl\tlist all breakpoints"),a.u("\tbn [#]\tbreak after # instruction(s)");else{var P=u.charAt(1);if("l"==P){var eb;eb=0+Lf(a,a.b);eb+=Lf(a,a.N);(eb+=Lf(a,a.K))||a.u("no breakpoints")}else if("n"==P){var Ab=+D||0;D&&(a.qa=Ab);a.u("break after "+Ab+" instruction(s)")}else if(void 0===
D)a.u("missing breakpoint address");else{var H=Z();if("*"!=D&&(H=ff(a,D,a.M),!H))break a;"c"==P?null==H.B?(Ye(a),a.u("all breakpoints cleared")):Kf(a,a.b,H)||Kf(a,a.N,H)||Kf(a,a.K,H)||a.u("breakpoint missing: "+K(a,H.B,18)):null!=H.B&&(hf(a,H,I),"p"==P?a.Ra(a.b,H):"r"==P?a.Ra(a.N,H):"w"==P?a.Ra(a.K,H):a.u("unknown breakpoint command: "+P))}}}break;case "c":a.za&&(a.za.value="");break;case "d":a:{var fb,gb=g[0],ma=g[1],Ca=g[2],Ch=g[3];if("?"==ma){var hb="";for(fb in ac)a.Ca[fb]&&(hb&&(hb+=","),hb+= D)a.u("missing breakpoint address");else{var H="*"==D?Z():ef(a,D,a.M);"c"==P?null==H.B?(Xe(a),a.u("all breakpoints cleared")):Jf(a,a.b,H)||Jf(a,a.N,H)||Jf(a,a.K,H)||a.u("breakpoint missing: "+K(a,H.B,18)):null!=H.B&&(gf(a,H,I),"p"==P?a.Ra(a.b,H):"r"==P?a.Ra(a.N,H):"w"==P?a.Ra(a.K,H):a.u("unknown breakpoint command: "+P))}}break;case "c":a.za&&(a.za.value="");break;case "d":a:{var fb,gb=g[0],na=g[1],Da=g[2],Dh=g[3];if("?"==na){var hb="";for(fb in ac)a.xa[fb]&&(hb&&(hb+=","),hb+=fb);hb+=",state,symbols";
fb);hb+=",state,symbols";a.u("dump memory commands:");a.u("\tdw [a] [n] dump n words at address a");a.u("\tds [a] [n] dump n words at address a as JSON");a.u("\tdh [p] [n] dump n instructions from history position p");hb.length&&a.u("dump extension commands:\n\t"+hb)}else if("state"==ma){var Ld=yg(a.H,!0);"console"==Ca?console.log(Ld):(a.za&&(a.za.value=""),Ld&&a.u(Ld))}else if("symbols"==ma)for(var Md=0;Md<a.F.length;Md++){var Nd=a.F[Md],ib;for(ib in Nd.Y)if("."!=ib.charAt(0)){var Of=Nd.Y[ib].o; a.u("dump memory commands:");a.u("\tdw [a] [n] dump n words at address a");a.u("\tds [a] [n] dump n words at address a as JSON");a.u("\tdh [p] [n] dump n instructions from history position p");hb.length&&a.u("dump extension commands:\n\t"+hb)}else if("state"==na){var Kd=xg(a.H,!0);"console"==Da?console.log(Kd):(a.za&&(a.za.value=""),Kd&&a.u(Kd))}else if("symbols"==na)for(var Ld=0;Ld<a.F.length;Ld++){var Md=a.F[Ld],ib;for(ib in Md.Y)if("."!=ib.charAt(0)){var Nf=Md.Y[ib].o;if(void 0!==Nf){var Of=
if(void 0!==Of){var Pf=Nd.Y[ib].l;Pf&&(ib=Pf);a.u(K(a,Of,18)+" "+ib)}}}else{if("d"==gb){for(fb in ac)if(g[1]==fb){var Qf=a.Ca[fb];Qf?(g.shift(),g.shift(),Qf(g)):a.u("no dump registered for "+ma);break a}ma||(gb=a.Oa||"dw")}else a.Oa=gb;if("dh"==gb){var Rf=ma,Sf=Ca,Tf="",Uf=0,ia=a.V,na=a.i;if(na.length){var da=+Rf||a.Ea,Db=+Sf||10;isNaN(da)?da=Db:Tf="more ";da>na.length&&(a.u("note: only "+na.length+" available"),da=na.length);ia-=da;0>ia&&(null==na[na.length-1].B?(da=ia+da,ia=0):ia+=na.length);var Od= Md.Y[ib].l;Of&&(ib=Of);a.u(K(a,Nf,18)+" "+ib)}}}else{if("d"==gb){for(fb in ac)if(g[1]==fb){var Pf=a.xa[fb];Pf?(g.shift(),g.shift(),Pf(g)):a.u("no dump registered for "+na);break a}na||(gb=a.Oa||"dw")}else a.Oa=gb;if("dh"==gb){var Qf=na,Rf=Da,Sf="",Tf=0,ja=a.V,oa=a.i;if(oa.length){var ea=+Qf||a.Ea,Cb=+Rf||10;isNaN(ea)?ea=Cb:Sf="more ";ea>oa.length&&(a.u("note: only "+oa.length+" available"),ea=oa.length);ja-=ea;0>ja&&(null==oa[oa.length-1].B?(ea=ja+ea,ja=0):ja+=oa.length);var Nd=[];"call"==Rf&&(Cb=
[];"call"==Sf&&(Db=1E5,Od=["CALL"]);for(void 0!==Rf&&a.u(da+" instructions earlier:");0<Db&&ia!=a.V;){var Vf=na[ia++];if(null==Vf.B)break;var Eb=Z(Vf.B),Dh=da--,Wf=Bf(a,Eb,"history",Dh);(!Od.length||0<=Wf.indexOf(Od[0]))&&a.u(Wf);Eb.qb&&(ia+=Eb.qb,Db-=Eb.qb,da-=Eb.qb);ia>=na.length&&(ia=0);a.Ea=da;Uf++;Db--}}Uf||(a.u("no "+Tf+"history available"),a.Ea=void 0)}else{var jb=ff(a,ma,a.na);if(jb){var Ma=0,Xf="ds"==gb;if(Ca){if("l"==Ca.charAt(0))Ca=Ca.substr(1)||Ch,Ma=Qe(a,Ca);else{var Yf=ff(a,Ca);Yf&& 1E5,Nd=["CALL"]);for(void 0!==Qf&&a.u(ea+" instructions earlier:");0<Cb&&ja!=a.V;){var Uf=oa[ja++];if(null==Uf.B)break;var Db=Z(Uf.B),Eh=ea--,Vf=Af(a,Db,"history",Eh);(!Nd.length||0<=Vf.indexOf(Nd[0]))&&a.u(Vf);Db.qb&&(ja+=Db.qb,Cb-=Db.qb,ea-=Db.qb);ja>=oa.length&&(ja=0);a.Ea=ea;Tf++;Cb--}}Tf||(a.u("no "+Sf+"history available"),a.Ea=void 0)}else{var Ma=0,Wf="ds"==gb,Eb=ef(a,na,a.pa);Da&&("l"==Da.charAt(0)?(Da=Da.substr(1)||Dh,Ma=Pe(a,Da)):Ma=ef(a,Da).B-Eb.B,0>Ma&&(Ma=0),65536<Ma&&(Ma=65536));var Fh=
(Ma=Yf.B-jb.B)}0>Ma&&(Ma=0);65536<Ma&&(Ma=65536)}var Eh=a.T;jb.T&&(a.T=jb.T);for(var Zf="db"==gb?1:2,Pd=Ma||32,Qd=1==Zf?1:4,Fh=(Pd+Qd-1)/Qd|0||1,Na="";Fh--&&0<Pd;){for(var oa="",Rd="",ma=K(a,jb.B,18),$f=Qd;0<$f--&&0<Pd--;){var Sd=a.Ma(jb,1);Xf?(oa&&(oa+=","),oa+=Sd):(oa+=jf(a,Sd),oa+=" ");for(var Hc=29,Gh=0;1==Zf&&0<=Hc;Gh++)var Fb=Sd/Math.pow(2,Hc)%Math.pow(2,7),oa=oa+(K(a,Fb,7)+" "),Fb=Fb+0,Rd=Rd+(32>Fb?".":String.fromCharCode(Fb)),Hc=Hc-7}Na&&(Na+="\n");Na=Xf?Na+(oa+","):Na+(ma+": "+oa+(0>$f? a.T;Eb.T&&(a.T=Eb.T);for(var Xf="db"==gb?1:2,Od=Ma||32,Pd=1==Xf?1:4,Gh=(Od+Pd-1)/Pd|0||1,Na="";Gh--&&0<Od;){for(var pa="",Qd="",na=K(a,Eb.B,18),Yf=Pd;0<Yf--&&0<Od--;){var Rd=a.Ma(Eb,1);Wf?(pa&&(pa+=","),pa+=Rd):(pa+=hf(a,Rd),pa+=" ");for(var Hc=29,Hh=0;1==Xf&&0<=Hc;Hh++)var Fb=Rd/Math.pow(2,Hc)%Math.pow(2,7),pa=pa+(K(a,Fb,7)+" "),Fb=Fb+0,Qd=Qd+(32>Fb?".":String.fromCharCode(Fb)),Hc=Hc-7}Na&&(Na+="\n");Na=Wf?Na+(pa+","):Na+(na+": "+pa+(0>Yf?" "+Qd:""))}Na&&a.u(Na);a.T=Fh}}}break;case "e":if("else"==
" "+Rd:""))}Na&&a.u(Na);a.T=Eh}}}}break;case "e":if("else"==g[0])break;var ag,bg,cg=g[0],Td=g[1];"e"==cg||"ew"==cg?(ag=a.Ma,bg=a.yb):Td=null;if(null==Td)a.u("edit memory commands:"),a.u("\tew [a] [...] edit words at address a");else{var Ic=ff(a,Td,a.na);if(Ic)for(var Ud=2;Ud<g.length;Ud++){var Gb=Te(a,g[Ud]);if(void 0===Gb)break;Gb=gf(Gb);a.u("changing "+K(a,Ic.B,18)+" from "+jf(a,ag.call(a,Ic))+" to "+jf(a,Gb));bg.call(a,Ic,Gb,1)}}break;case "g":a:{var dg=g[1],Hh=b;if(void 0!==dg){var Vd=ff(a,dg); g[0])break;var Zf,$f,ag=g[0],Sd=g[1];"e"==ag||"ew"==ag?(Zf=a.Ma,$f=a.yb):Sd=null;if(null==Sd)a.u("edit memory commands:"),a.u("\tew [a] [...] edit words at address a");else for(var Td=ef(a,Sd,a.pa),Ud=2;Ud<g.length;Ud++){var Gb=Se(a,g[Ud]);if(void 0===Gb)break;Gb=ff(Gb);a.u("changing "+K(a,Td.B,18)+" from "+hf(a,Zf.call(a,Td))+" to "+hf(a,Gb));$f.call(a,Td,Gb,1)}break;case "g":var bg=g[1],Ih=b;if(void 0!==bg){var cg=ef(a,bg);gf(a,cg,Ih);a.Ra(a.b,cg,!0)}uf(a,!0,c);break;case "h":a.A.O?(c||a.u("halting"),
if(!Vd)break a;hf(a,Vd,Hh);a.Ra(a.b,Vd,!0)}vf(a,!0,c)}break;case "h":a.A.O?(c||a.u("halting"),a.W()):Nb(a,!0)||c||a.u("already halted");break;case "i":if("if"==g[0]){var Wd;var Hb=b.substr(2),Hb=Ea(Hb);Te(a,Hb)?(c||a.u("true: "+Hb),Wd=!0):(c||a.u("false: "+Hb),Wd=!1);Wd||(d=!1);break}f=!0;break;case "k":var Ih=g[0];if("?"==g[1])a.u("stack trace commands:"),a.u("\tk\tshow frame addresses"),a.u("\tks\tshow symbol information");else{var Xd=0,Yd=Z(),Ib=Z();for(a.u("stack trace for "+K(a,Ib.B,18));10> a.W()):Nb(a,!0)||c||a.u("already halted");break;case "i":if("if"==g[0]){var Vd;var Hb=b.substr(2),Hb=Ca(Hb);Se(a,Hb)?(c||a.u("true: "+Hb),Vd=!0):(c||a.u("false: "+Hb),Vd=!1);Vd||(d=!1);break}f=!0;break;case "k":var Jh=g[0];if("?"==g[1])a.u("stack trace commands:"),a.u("\tk\tshow frame addresses"),a.u("\tks\tshow symbol information");else{var Wd=0,Xd=Z(),Ib=Z();for(a.u("stack trace for "+K(a,Ib.B,18));10>Wd;){for(var Oa=null,Kh=256;65536>Ib.B>>>0;){Xd.B=a.Ma(Ib,2);if(null==Ib.B||!Kh--)break;if(!(Xd.B&
Xd;){for(var Oa=null,Jh=256;65536>Ib.B>>>0;){Yd.B=a.Ma(Ib,2);if(null==Ib.B||!Jh--)break;if(!(Yd.B&1)){for(var Kh=a,Jc=Yd,eg=null,Jb=Jc.B,fg=Jb,Zd=1;6>=Zd&&Jb;Zd++){if(2<Zd){Jc.B=Jb;var Kc=Bf(Kh,Jc);if(0<=Kc.indexOf("JSR")){var gg=Kc.indexOf(" ");if(Jb+(Kc.indexOf(" ",gg+1)-gg-1)/2==fg){eg=Kc;break}}}Jb-=2}Jc.B=fg;if(Oa=eg)break}}if(!Oa||null==Oa)break;var hg=null;if("ks"==Ih){var ig=Oa.match(/[0-9A-F]+$/);ig&&(hg=vg(a,ig[0]))}Oa=Ba(Oa,50)+" ;"+(hg||"stack="+K(a,Ib.B,18));a.u(Oa);Xd++}Xd||a.u("no return addresses found")}break; 1)){for(var Lh=a,Ic=Xd,dg=null,Jb=Ic.B,eg=Jb,Yd=1;6>=Yd&&Jb;Yd++){if(2<Yd){Ic.B=Jb;var Jc=Af(Lh,Ic);if(0<=Jc.indexOf("JSR")){var fg=Jc.indexOf(" ");if(Jb+(Jc.indexOf(" ",fg+1)-fg-1)/2==eg){dg=Jc;break}}}Jb-=2}Ic.B=eg;if(Oa=dg)break}}if(!Oa||null==Oa)break;var gg=null;if("ks"==Jh){var hg=Oa.match(/[0-9A-F]+$/);hg&&(gg=ug(a,hg[0]))}Oa=Ba(Oa,50)+" ;"+(gg||"stack="+K(a,Ib.B,18));a.u(Oa);Wd++}Wd||a.u("no return addresses found")}break;case "l":if("ln"==g[0]){ug(a,g[1],!0);break}f=!0;break;case "m":a:{var qa,
case "l":if("ln"==g[0]){vg(a,g[1],!0);break}f=!0;break;case "m":a:{var pa,qa=null,M=g[1];"?"==M&&(M=void 0);if(void 0!==M){var Da=0;if("all"==M)Da=1879046143,M=null;else if("on"==M)qa=!0,M=null;else if("off"==M)qa=!1,M=null;else{"keys"==M&&(M="key");"kbd"==M&&(M="keyboard");for(pa in ac)if(M==pa){Da=ac[pa];qa=!!(a.ca&Da);break}if(!Da){a.u("unknown message category: "+M);break a}}if(Da)if("on"==g[2])a.ca|=Da,qa=!0;else if("off"==g[2]&&(a.ca&=~Da,qa=!1,1073741824==Da)){for(var jg=1E3<=a.S.length?a.S.length- ra=null,M=g[1];"?"==M&&(M=void 0);if(void 0!==M){var Ea=0;if("all"==M)Ea=1879046143,M=null;else if("on"==M)ra=!0,M=null;else if("off"==M)ra=!1,M=null;else{"keys"==M&&(M="key");"kbd"==M&&(M="keyboard");for(qa in ac)if(M==qa){Ea=ac[qa];ra=!!(a.ca&Ea);break}if(!Ea){a.u("unknown message category: "+M);break a}}if(Ea)if("on"==g[2])a.ca|=Ea,ra=!0;else if("off"==g[2]&&(a.ca&=~Ea,ra=!1,1073741824==Ea)){for(var ig=1E3<=a.S.length?a.S.length-1E3:0;ig<a.S.length;)a.u(a.S[ig++]);a.S=[]}}var Mh=0,Kb="";for(qa in ac)if(!M||
1E3:0;jg<a.S.length;)a.u(a.S[jg++]);a.S=[]}}var Lh=0,Kb="";for(pa in ac)if(!M||M==pa){var Mh=!!(a.ca&ac[pa]);if(null===qa||qa==Mh)Kb&&(Kb+=","),++Lh%10||(Kb+="\n\t"),"key"==pa&&(pa="keys"),Kb+=pa}void 0===M&&a.u("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.u((null!==qa?qa?"messages on: ":"messages off: ":"message categories:\n\t")+(Kb||"none"));Ze(a)}break;case "p":if("print"==g[0]){wg(a,b.substr(5));break}var kg=g[0],lg="p"==kg?0:"pr"==kg?1:-1;if("?"==g[1]||0>lg)a.u("step commands:"), M==qa){var Nh=!!(a.ca&ac[qa]);if(null===ra||ra==Nh)Kb&&(Kb+=","),++Mh%10||(Kb+="\n\t"),"key"==qa&&(qa="keys"),Kb+=qa}void 0===M&&a.u("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.u((null!==ra?ra?"messages on: ":"messages off: ":"message categories:\n\t")+(Kb||"none"));Ye(a)}break;case "p":if("print"==g[0]){vg(a,b.substr(5));break}var jg=g[0],kg="p"==jg?0:"pr"==jg?1:-1;if("?"==g[1]||0>kg)a.u("step commands:"),a.u("\tp\tstep over instruction"),a.u("\tpr\tstep over instruction with register update");
a.u("\tp\tstep over instruction"),a.u("\tpr\tstep over instruction with register update");else if(a.P)a.u("step in progress");else{var mg=Z(a.v.i);a.Ma(mg);a.P?(a.Ra(a.b,mg,!0),vf(a)||(a.H&&jd(a.H),a.P=0)):xg(a,lg?"tr":"t")}break;case "r":if("reset"==b){a.H&&a.H.reset();break}yf(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var kb=+g[2];if(2==kb||8==kb||10==kb||16==kb)a.T=kb;else{a.u("invalid base: "+kb);break}}a.u("default base: "+a.T);break;case "cs":var Lb;void 0!==g[3]&&(Lb=+g[3]);switch(g[2]){case "int":a.v.ma= else if(a.P)a.u("step in progress");else{var lg=Z(a.v.i);a.Ma(lg);a.P?(a.Ra(a.b,lg,!0),uf(a)||(a.H&&id(a.H),a.P=0)):wg(a,kg?"tr":"t")}break;case "r":if("reset"==b){a.H&&a.H.reset();break}xf(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var jb=+g[2];if(2==jb||8==jb||10==jb||16==jb)a.T=jb;else{a.u("invalid base: "+jb);break}}a.u("default base: "+a.T);break;case "cs":var Lb;void 0!==g[3]&&(Lb=+g[3]);switch(g[2]){case "int":a.v.oa=Lb;break;case "start":a.v.Ha=Lb;break;case "stop":a.v.qa=Lb;
Lb;break;case "start":a.v.Ha=Lb;break;case "stop":a.v.oa=Lb;break;default:a.u("unknown cs option");break a}void 0!==Lb&&bd(a.v);a.u("checksums "+(a.v.A.Ua?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(gd(a.v,+g[2])||a.u("warning: using 1x multiplier, previous target not reached"));a.u("target speed: "+(a.v.ha.toFixed(2)+"Mhz")+" ("+a.v.ja+"x)");break;default:if(g[1]){a.u("unknown option: "+g[1]);break}case "?":a.u("debugger options:"),a.u("\tbase #\t\tset default base to #"),a.u("\tcs int #\tset checksum cycle interval to #"), break;default:a.u("unknown cs option");break a}void 0!==Lb&&ad(a.v);a.u("checksums "+(a.v.A.Va?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(fd(a.v,+g[2])||a.u("warning: using 1x multiplier, previous target not reached"));a.u("target speed: "+(a.v.ia.toFixed(2)+"Mhz")+" ("+a.v.ja+"x)");break;default:if(g[1]){a.u("unknown option: "+g[1]);break}case "?":a.u("debugger options:"),a.u("\tbase #\t\tset default base to #"),a.u("\tcs int #\tset checksum cycle interval to #"),a.u("\tcs start #\tset checksum cycle start count to #"),
a.u("\tcs start #\tset checksum cycle start count to #"),a.u("\tcs stop #\tset checksum cycle stop count to #"),a.u("\tsp #\t\tset speed multiplier to #")}break;case "t":xg(a,g[0],g[1]);break;case "u":zf(a,g[1],g[2],8);break;case "v":if("var"==g[0]){ug(a,b.substr(3))||(d=!1);break}if("ver"==g[0]){a.u((Rb||"PDP10")+" version 1.34.3 ("+a.v.Db+",RELEASE)");a.u(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){wg(a,b.substr(1));break}var $d="commands:",ae;for(ae in zg)$d+="\n"+ a.u("\tcs stop #\tset checksum cycle stop count to #"),a.u("\tsp #\t\tset speed multiplier to #")}break;case "t":wg(a,g[0],g[1]);break;case "u":yf(a,g[1],g[2],8);break;case "v":if("var"==g[0]){tg(a,b.substr(3))||(d=!1);break}if("ver"==g[0]){a.u((Rb||"PDP10")+" version 1.34.3 ("+a.v.Db+",RELEASE)");a.u(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){vg(a,b.substr(1));break}var Zd="commands:",$d;for($d in yg)Zd+="\n"+Ba($d,9)+yg[$d];sd(a)||(Zd+="\nnote: history disabled if no exec breakpoints");
Ba(ae,9)+zg[ae];td(a)||($d+="\nnote: history disabled if no exec breakpoints");a.u($d);break;default:f=!0}f&&(a.u("unknown command: "+b),d=!1)}}catch(og){a.u("Debugger "+(og.stack||og.message)),d=!1}return d}function ed(a,b,c){null!=b&&(a.Ha=Ke(a,b,c));for(;b=a.Ha.shift();)if(!Nf(a,b))return!1;return!0} a.u(Zd);break;default:f=!0}f&&(a.u("unknown command: "+b),d=!1)}}catch(ng){a.u("Debugger "+(ng.stack||ng.message)),d=!1}return d}function dd(a,b,c){null!=b&&(a.Ha=Je(a,b,c));for(;b=a.Ha.shift();)if(!Mf(a,b))return!1;return!0}
var zg={"?":"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"},Gf=20,Hf=".WORD HLL HLLZ HLLO HLLE HRL HRLZ HRLO HRLE HRR HRRZ HRRO HRRE HLR HLRZ HLRO HLRE MOVE 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 CAM JUMP SKIP AOJ AOS SOJ SOS TR TL TD TS XCT JFFO JFCL JSR JSP JRST JSA JRA PUSHJ POPJ BLKI DATAI BLKO DATAO CONO CONI CONSZ CONSO UUO JOV JCRY0 JCRY1 JCRY JFOV HALT JRSTF JEN".split(" "), var yg={"?":"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"},Ff=20,Gf=".WORD HLL HLLZ HLLO HLLE HRL HRLZ HRLO HRLE HRR HRRZ HRRO HRRE HLR HLRZ HLRO HLRE MOVE 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 CAM JUMP SKIP AOJ AOS SOJ SOS TR TL TD TS XCT JFFO JFCL JSR JSP JRST JSA JRA PUSHJ POPJ BLKI DATAI BLKO DATAO CONO CONI CONSZ CONSO UUO JOV JCRY0 JCRY1 JCRY JFOV HALT JRSTF JEN".split(" "),
lf=0,mf=1,nf=2,of=3,pf=4,qf=5,rf=6,sf=7,tf=8,kf="PC RA EA PS OV C0 C1 ND PD".split(" "),Ag={},Cf=(Ag[28672]={0:101},Ag[32704]={5632:64,5696:63,5760:58,5824:27,5888:28,5952:25,6016:29,6080:26,10240:56,10304:48,10368:46,10432:84,10496:57,10560:49,10624:47,10752:21,10816:22,10880:69,10944:70,11008:88,11072:85,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},Ag[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:Gf,9216:53, kf=0,lf=1,mf=2,nf=3,of=4,pf=5,qf=6,rf=7,sf=8,jf="PC RA EA PS OV C0 C1 ND PD".split(" "),zg={},Bf=(zg[28672]={0:101},zg[32704]={5632:64,5696:63,5760:58,5824:27,5888:28,5952:25,6016:29,6080:26,10240:56,10304:48,10368:46,10432:84,10496:57,10560:49,10624:47,10752:21,10816:22,10880:69,10944:70,11008:88,11072:85,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},zg[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:Ff,9216:53,
9472:52,9728:55,9984:54,11776:50,12032:51,16384:30,16640:36,16896:37,17152:34,17408:38,17664:32,17920:44,18176:40,18432:39,18688:45,18944:33,19200:41,19456:35,19712:42,19968:43,20224:31,20480:1,20736:5,20992:2,21248:6,21504:3,21760:7,22016:4,22272:8,22528:9,22784:13,23040:10,23296:14,23552:11,23808:15,24064:12,24320:16},Ag[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},Ag[29248]={24576:79,24640:80,25088:81,25152:82},Ag[28700]={28672:93,28676:94,28680:95,28684:96, 9472:52,9728:55,9984:54,11776:50,12032:51,16384:30,16640:36,16896:37,17152:34,17408:38,17664:32,17920:44,18176:40,18432:39,18688:45,18944:33,19200:41,19456:35,19712:42,19968:43,20224:31,20480:1,20736:5,20992:2,21248:6,21504:3,21760:7,22016:4,22272:8,22528:9,22784:13,23040:10,23296:14,23552:11,23808:15,24064:12,24320:16},zg[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},zg[29248]={24576:79,24640:80,25088:81,25152:82},zg[28700]={28672:93,28676:94,28680:95,28684:96,
28688:97,28692:98,28696:99,28700:100},Ag),Df=["","I","M","S"],Ef=" L E LE A GE N G".split(" "),Ff="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),If=[{0:85,8:102,4:103,2:104,6:105,1:106},{0:88,4:107,2:108,10:109}],uf=1E3,xf=">> ";Xa(function(){for(var a=w(document,v,"debugger"),b=0;b<a.length;b++){var c=a[b],d=t(c),d=new Xe(d);tb(d,c)}}); 28688:97,28692:98,28696:99,28700:100},zg),Cf=["","I","M","S"],Df=" L E LE A GE N G".split(" "),Ef="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),Hf=[{0:85,8:102,4:103,2:104,6:105,1:106},{0:88,4:107,2:108,10:109}],tf=1E3,wf=">> ";Xa(function(){for(var a=w(document,v,"debugger"),b=0;b<a.length;b++){var c=a[b],d=t(c),d=new We(d);sb(d,c)}});
function tg(a,b,c,d,e){this.U=b||0;this.ha=c||"";this.b=d;this.done=e;this.F=null;this.j={};this.N={};this.M=[];this.L=[];this.R=[];this.fa=[];this.X=this.V=this.da=0;this.aa=this.U;this.va=-1;this.w=[];this.K=null;this.i=0;this.I=null;this.H=this.C="";this.ba=/^[ \t]*([A-Z$%.?][0-9A-Z$%.]*:|)[ \t]*([A-Z$%.][0-9A-Z$%.]*|)([ \t]*)([^;]+|)(;?[\s\S]*)/i;this.D=this.v=null;this.J="";this.G=[];this.S=0;this.P=a.split(";");Bg(this)} function sg(a,b,c,d,e){this.la=b;this.ba=c||"";this.b=d;this.done=e;this.G=null;this.j={};this.N={};this.M=[];this.L=[];this.R=[];this.fa=[];this.V=this.U=this.da=0;this.Z=this.la||0;this.wa=-1;this.w=[];this.K=null;this.i=0;this.I=null;this.J=this.F="";this.X=/^[ \t]*([A-Z$%.?][0-9A-Z$%.]*:|)[ \t]*([A-Z$%.][0-9A-Z$%.]*|)([ \t]*)([^;]+|)(;?[\s\S]*)/i;this.D=this.v=null;this.C="";this.H=[];this.S=0;this.P=a.split(";");Ag(this)}
function Bg(a){if(a.S==a.P.length)a.done(Cg(a));else{var b=a.P[a.S++];a.u("loading "+wa(b));0>b.indexOf(":")&&".MAC"==b.slice(-4).toUpperCase()&&(b+=".txt");Ha(b,null,!0,function(b,d,e){if(e)a.done(e,b);else{e=d;if(ya(b,".html")){e="";var c;for(b=/<pre>([\s\S]*?)<\/pre>/gi;c=b.exec(d);)c=c[1],0<=c.indexOf("&")&&(c=c.replace(/&lt;/gi,"<").replace(/&gt;/gi,">").replace(/&amp;/gi,"&")),e+=c;(c=e.match(/&[a-z]+;/i))&&Dg(a,"unrecognized HTML entity: "+c[0])}a.G=a.G.concat(e.split(/(\r?\n)/));setTimeout(function(){Bg(a)}, function Ag(a){if(a.S==a.P.length)a.done(Bg(a));else{var b=a.P[a.S++];a.u("loading "+wa(b));0>b.indexOf(":")&&0<=".MAC.KLM".indexOf(b.slice(-4).toUpperCase())&&(b+=".txt");Ha(b,null,!0,function(b,d,e){if(e)a.done(e,b);else{e=d;if(ya(b,".html")){e="";var c;for(b=/<pre>([\s\S]*?)<\/pre>/gi;c=b.exec(d);)c=c[1],0<=c.indexOf("&")&&(c=c.replace(/&lt;/gi,"<").replace(/&gt;/gi,">").replace(/&amp;/gi,"&")),e+=c;(c=e.match(/&[a-z]+;/i))&&Cg(a,"unrecognized HTML entity: "+c[0])}a.H=a.H.concat(e.split(/(\r?\n)/));
0)}})}} setTimeout(function(){Ag(a)},0)}})}}
function Cg(a){if(0<=a.ha.indexOf("p"))return a.u(a.G.join("")),0;var b=Ve(a.b);try{for(var c=0;c<a.G.length;c+=2){a.da++;if(!Eg(a,a.G[c]+"\r\n"))break;if(null!==a.F)break}a.i&&a.error("open block from line "+a.j[a.I].da);a.w.length&&a.error("open scope from line "+a.w[0].da);for(var d=a.aa,c={},e=0;e<a.M.length;c={R:c.R,Sa:c.Sa,Aa:c.Aa},e++){c.Aa=a.M[e];c.R=[];c.Sa=0;c.Aa.R.forEach(function(a){return function(b,c){c===a.R.length&&a.R.push(b);a.Sa++}}(c));if(c.Sa==c.R.length)for(var f=d;f+c.Sa<=a.aa;f++){for(var g= function Bg(a){if(0<=a.ba.indexOf("p"))return a.u(a.H.join("")),0;var b=Ue(a.b);try{for(var c=0;c<a.H.length;c+=2){a.da++;if(!Dg(a,a.H[c]+"\r\n"))break;if(null!==a.G)break}a.i&&a.error("open block from line "+a.j[a.I].da);a.w.length&&a.error("open scope from line "+a.w[0].da);for(var d=a.Z,c={},e=0;e<a.M.length;c={R:c.R,Ta:c.Ta,Aa:c.Aa},e++){c.Aa=a.M[e];c.R=[];c.Ta=0;c.Aa.R.forEach(function(a){return function(b,c){c===a.R.length&&a.R.push(b);a.Ta++}}(c));if(c.Ta==c.R.length)for(var f=d;f+c.Ta<=a.Z;f++){for(var g=
void 0,g=0;g<c.Sa&&c.R[g]===a.R[f+g]&&c.Aa.fa[g]==a.fa[f];g++);if(g==c.Sa){Fg(a,c.Aa.name,f,Gg);c.Aa=null;break}}c.Aa&&(Fg(a,c.Aa.name,a.aa,Gg),c.Aa.R.forEach(function(b){return function(c,d){Hg(a,c,b.Aa.fa[d])}}(c)))}for(d=0;d<a.L.length;d++){var h=a.L[d],k=a.j[h];k?Ig(a,k.wa):a.error("missing definition for variable: "+h)}a.fa.forEach(function(b,c){var d=Jg(a,b,void 0,c);void 0===d?a.error("unable to parse expression: "+b):(d+=a.R[c],a.R[c]=Kg(a,d,c))})}catch(l){a.u(l.message),a.V=-1}a.b.I=b;return a.V} void 0,g=0;g<c.Ta&&c.R[g]===a.R[f+g]&&c.Aa.fa[g]==a.fa[f];g++);if(g==c.Ta){Eg(a,c.Aa.name,f,Fg);c.Aa=null;break}}c.Aa&&(Eg(a,c.Aa.name,a.Z,Fg),c.Aa.R.forEach(function(b){return function(c,d){Gg(a,c,b.Aa.fa[d])}}(c)))}for(d=0;d<a.L.length;d++){var h=a.L[d],k=a.j[h];k?Hg(a,k.ma):a.error("missing definition for variable: "+h)}a.fa.forEach(function(b,c){var d=Ig(a,b,void 0,c);void 0===d?a.error("unable to parse expression: "+b):(d+=a.R[c],a.R[c]=Jg(a,d,c))})}catch(l){a.u(l.message),a.U=-1}a.b.I=b;return a.U}
function Eg(a,b,c,d,e){var f;if(a.i&&(1==a.i&&(f=b.indexOf(a.H),0<=f?(a.i++,b=b.substr(f+1)):a.error("expected "+a.K+" definition: "+b)),1<a.i&&(b=Lg(a,b)),a.i))return!0;null!=a.D&&(b=Mg(a,b));var g=!0;f="";for(var h;g;){h=b.match(a.ba);if(!h||h[5]&&";"!=h[5].slice(0,1))return a.error("failed to parse line: "+b),!1;g=!1;f=h[2].toUpperCase();if(f==Ng||f==Og)c=null;if(c){for(var k=0;k<c.length;k++)for(var l=c[k],p=d[k]||e[k]||"",u=0,D=b.length-h[5].length;u<D;){var I=b.indexOf(l,u);if(0>I)break;var u= function Dg(a,b,c,d,e){var f;if(a.i&&(1==a.i&&(f=b.indexOf(a.J),0<=f?(a.i++,b=b.substr(f+1)):a.error("expected "+a.K+" definition: "+b)),1<a.i&&(b=Kg(a,b)),a.i))return!0;null!=a.D&&(b=Lg(a,b));var g=!0;f="";for(var h;g;){h=b.match(a.X);if(!h||h[5]&&";"!=h[5].slice(0,1))return a.error("failed to parse line: "+b),!1;g=!1;f=h[2].toUpperCase();if(f==Mg||f==Ng)c=null;if(c){for(var k=0;k<c.length;k++)for(var l=c[k],p=d[k]||e[k]||"",u=0,D=b.length-h[5].length;u<D;){var I=b.indexOf(l,u);if(0>I)break;var u=
I+1,P=I+l.length,eb="",Bb="";I&&(eb=b[I-1]).match(/[0-9A-Z$%.]/i)||!(P>=b.length)&&(Bb=b[P]).match(/[0-9A-Z$%.]/i)||("'"==eb&&I--,"'"==Bb&&P++,b=b.substr(0,I)+p+b.substr(P),u=I+p.length,g=!0)}c=null}}d=h[1];c=h[3];b=h[4].trim();h=h[4]+h[5];d&&(d=d.slice(0,-1),Fg(a,d,a.aa,Gg));var H;f&&(H=b.match(/^([=:]+)(.*)/))&&(e=0,d=f,f=H[1],b=H[2],"=="==f?e|=Pg:"=:"==f&&(e|=Qg),Fg(a,d,b,e),f=b="");if(!f&&!b)return!0;a.K=f;for((H=Rg(a,b))&&(b=b.replace(H,Sg(a,Tg,Rg(a,h))));H=Ug(a,b);)b=b.replace(H,H.slice(0,-1)); I+1,P=I+l.length,eb="",Ab="";I&&(eb=b[I-1]).match(/[0-9A-Z$%.]/i)||!(P>=b.length)&&(Ab=b[P]).match(/[0-9A-Z$%.]/i)||("'"==eb&&I--,"'"==Ab&&P++,b=b.substr(0,I)+p+b.substr(P),u=I+p.length,g=!0)}c=null}}d=h[1];c=h[3];b=h[4].trim();h=h[4]+h[5];d&&(d=d.slice(0,-1),Eg(a,d,a.Z,Fg));var H;f&&(H=b.match(/^([=:]+)(.*)/))&&(e=0,d=f,f=H[1],b=H[2],"=="==f?e|=Og:"=:"==f&&(e|=Pg),Eg(a,d,b,e),f=b="");if(!f&&!b)return!0;a.K=f;for((H=Qg(a,b))&&(b=b.replace(H,Rg(a,Sg,Qg(a,h))));H=Tg(a,b);)b=b.replace(H,H.slice(0,-1));
if(!Vg(a,f,b))switch(f){case Wg:case Xg:case Yg:Mg(a,h);break;case Zg:(f=b)?(a.F=Jg(a,f,!0),void 0===a.F&&a.error("unrecognized expression: "+f)):a.F=a.U;break;case $g:ah(a,b);break;case bh:ah(a,b.replace(",",",,"));break;case ch:case dh:case eh:case Ng:case Og:case fh:case gh:Sg(a,f,h);break;case hh:case ih:case jh:case kh:break;default:H=-1,h=(f+c+b).trim(),0>b.indexOf(",,")&&(H=Jf(a.b,f,b,0<=a.va?a.va:a.aa,!0)),0>H&&(H=Jg(a,h,!0)),void 0!==H?Hg(a,H,a.b.ka):a.error("unrecognized expression: "+h)}return!0} if(!Ug(a,f,b))switch(f){case Vg:case Wg:case Xg:Lg(a,h);break;case Yg:(f=b)?(a.G=Ig(a,f,!0),void 0===a.G&&a.error("unrecognized expression: "+f)):a.G=a.la;break;case Zg:$g(a,b);break;case ah:a.Z=Ig(a,b)||0;break;case bh:$g(a,b.replace(",",",,"));break;case ch:case dh:case eh:case fh:case gh:case Mg:case Ng:case hh:case ih:Rg(a,f,h);break;case jh:case kh:case lh:case mh:case nh:case oh:case ph:break;default:H=-1,h=(f+c+b).trim(),0>b.indexOf(",,")&&(H=If(a.b,f,b,0<=a.wa?a.wa:a.Z,!0)),0>H&&(H=Ig(a,h,
function Vg(a,b,c){var d=a.j[b];if(!d)return!1;if(null!=c){if(d.Wa==lh){var e=a.aa;Ig(a,d.wa);if(e<a.aa){mh(a);Ig(a,c);var d=a.R[0],f=a.fa[0];nh(a);if(void 0!==d)return a.R[e]+=d&130023423,a.R[e]|=d&4194304,f&&(a.fa[e]=a.fa[e]?a.fa[e]+("+"+f):f),!0}a.error("OPDEF '"+b+"' error: "+c);return!1}b=a.v;a.v=d;d.Qa=oh(a,c,!0);Ig(a,d.wa,d.Ta,d.Qa,d.Ab);a.v=b;return!0}if("?"!=b[0])return!1;switch(b.substr(1)){case dh:d.Wa||Ig(a,d.wa);break;case eh:d.Wa&&Ig(a,d.wa);break;case Ng:case Og:for(b=0;b<d.Qa.length;b++)Ig(a, !0)),void 0!==H?Gg(a,H,a.b.ka):a.error("unrecognized expression: "+h)}return!0}
d.wa,d.Ta,[d.Qa[b]],[]);break;case gh:for(;0<d.Wa--;)Ig(a,d.wa);break;default:c=d.wa,mh(a,b),Ig(a,c),nh(a)}return!0}function Ig(a,b,c,d,e){b=b.split(/\r?\n/);for(var f=0;f<b.length&&Eg(a,b[f]+"\r\n",c,d,e);f++);}function mh(a,b){a.w.push({name:b,R:a.R,fa:a.fa,aa:a.aa,va:a.va,da:a.da});a.R=[];a.fa=[];0>a.va&&(a.va=a.aa);a.aa=0} function Ug(a,b,c){var d=a.j[b];if(!d)return!1;if(null!=c){if(d.Sa==qh){var e=a.Z;Hg(a,d.ma);if(e<a.Z){rh(a);Hg(a,c);var d=a.R[0],f=a.fa[0];sh(a);if(void 0!==d)return a.R[e]+=d&130023423,a.R[e]|=d&4194304,f&&(a.fa[e]=a.fa[e]?a.fa[e]+("+"+f):f),!0}a.error("OPDEF '"+b+"' error: "+c);return!1}b=a.v;a.v=d;d.Qa=th(a,c,!0);Hg(a,d.ma,d.Ua,d.Qa,d.Ab);a.v=b;return!0}if("?"!=b[0])return!1;switch(b.substr(1)){case dh:d.Sa||Hg(a,d.ma);break;case eh:0<d.Sa&&Hg(a,d.ma);break;case fh:0>d.Sa&&Hg(a,d.ma);break;case gh:d.Sa&&
function nh(a){if(a.w.length){var b=a.w[a.w.length-1].name;b&&a.M.push({name:b,R:a.R,fa:a.fa});b=a.w.pop();a.R=b.R;a.fa=b.fa;a.aa=b.aa;a.va=b.va;a.w.length||-1==a.va||a.error("scope restore error")}else a.error("scope nesting error")}tg.prototype.error=function(a){throw Error("error"+(this.da?" at line "+va(this.da):"")+": "+a);};function Dg(a,b){a.u("warning"+(a.da?" at line "+va(a.da):"")+": "+b)} Hg(a,d.ma);break;case Mg:case Ng:for(b=0;b<d.Qa.length;b++)Hg(a,d.ma,d.Ua,[d.Qa[b]],[]);break;case ih:for(;0<d.Sa--;)Hg(a,d.ma);break;default:c=d.ma,rh(a,b),Hg(a,c),sh(a)}return!0}function Hg(a,b,c,d,e){b=b.split(/\r?\n/);for(var f=0;f<b.length&&Dg(a,b[f]+"\r\n",c,d,e);f++);}function rh(a,b){a.w.push({name:b,R:a.R,fa:a.fa,Z:a.Z,wa:a.wa,da:a.da});a.R=[];a.fa=[];0>a.wa&&(a.wa=a.Z);a.Z=0}
function ph(a,b){var c;c=void 0===c?",":c;for(var d=0,e=!1,f=null,g=0;d<b.length;){var h=b[d++];if('"'==h)e=!e;else if(!e){if(0<=c.indexOf(h)){d--;break}if("<"==h)g++;else if(">"==h&&0>--g){a.error("missing bracket(s): "+b);break}}}g?0<g&&a.error("extra bracket(s): "+b):f=b.substr(0,d);return f} function sh(a){if(a.w.length){var b=a.w[a.w.length-1].name;b&&a.M.push({name:b,R:a.R,fa:a.fa});b=a.w.pop();a.R=b.R;a.fa=b.fa;a.Z=b.Z;a.wa=b.wa;a.w.length||-1==a.wa||a.error("scope restore error")}else a.error("scope nesting error")}sg.prototype.error=function(a){throw Error("error"+(this.da?" at line "+va(this.da):"")+": "+a);};function Cg(a,b){a.u("warning"+(a.da?" at line "+va(a.da):"")+": "+b)}
function Jg(a,b,c,d){var e,f=b.match(/^([^,]*),,([^,]*)$/);f?(b=f[1]?Jg(a,f[1],c,d):0,void 0!==b&&(c=f[2]?Jg(a,f[2],c,d):0,void 0!==c&&(e=Y(a.b,b,18,!0)*Math.pow(2,18)+Y(a.b,c,18,!0)))):(void 0===d&&(d=0<=a.va?a.va:a.aa),e=Te(a.b,b.replace(/\.([^0-9]|$)/g,K(a.b,d,-1)+"$1"),c),void 0===e&&a.error("error parsing expression: "+b));return e} function uh(a,b){var c;c=void 0===c?",":c;for(var d=0,e=!1,f=null,g=0;d<b.length;){var h=b[d++];if('"'==h)e=!e;else if(!e){if(!g&&0<=c.indexOf(h)){d--;break}if("<"==h)g++;else if(">"==h&&0>--g){a.error("missing bracket(s): "+b);break}}}g?0<g&&a.error("extra bracket(s): "+b):f=b.substr(0,d);return f}
function Rg(a,b){for(var c=0,d="",e=0,f=-1,g=b.length;e<b.length;){var h=b[e];if(";"==h)break;"["==h&&(c++||(f=e));e++;if("]"==h&&0>=--c){g=e;break}}0>c&&a.error("missing bracket(s): "+b);0<=f&&(d=b.substr(f,g-f));return d}function Ug(a,b){var c=null;if(b=b.match(/([A-Z$%.][0-9A-Z$%.]*)#/i)){c=b[0];b=b[1];var d="?"+b;a.j[d]&&a.error("reserved symbol redefined: "+c);var e,f,g;e=f=g=[];a.j[d]={name:d,Wa:qh,Ta:e,Ab:f,Qa:g,wa:b+": 0",da:a.da};a.L.push(d)}return c} function Ig(a,b,c,d){var e,f=b.match(/^([^,]*),,([^,]*)$/);f?(b=f[1]?Ig(a,f[1],c,d):0,void 0!==b&&(c=f[2]?Ig(a,f[2],c,d):0,void 0!==c&&(e=Y(a.b,b,18,!0)*Math.pow(2,18)+Y(a.b,c,18,!0)))):(void 0===d&&(d=0<=a.wa?a.wa:a.Z),b=b.replace(/SIXBIT\s*(\S)(.*?)\1/g,"'$2'").replace(/ASCII\s*(\S)(.*?)\1/g,'"$2"'),e=Se(a.b,b.replace(/\.([^0-9]|$)/g,K(a.b,d,-1)+"$1"),c),void 0===e&&a.error("error parsing expression: "+b));return e}
function oh(a,b,c){var d=[];for(c&&(b=b.replace(/^\(?(.*?)\)?$/,"$1"));b;){b=b.trim();c=ph(a,b);if(!c)break;d.push(c);b=b.substr(c.length+1)}return d} function Qg(a,b){for(var c=0,d="",e=0,f=-1,g=b.length;e<b.length;){var h=b[e];if(";"==h)break;"["==h&&(c++||(f=e));e++;if("]"==h&&0>=--c){g=e;break}}0>c&&a.error("missing bracket(s): "+b);0<=f&&(d=b.substr(f,g-f));return d}function Tg(a,b){var c=null;if(b=b.match(/([A-Z$%.][0-9A-Z$%.]*)#/i)){c=b[0];b=b[1];var d="?"+b;if(!a.j[d]){var e,f,g;e=f=g=[];a.j[d]={name:d,Sa:vh,Ua:e,Ab:f,Qa:g,ma:b+": 0",da:a.da};a.L.push(d)}}return c}
function Mg(a,b){var c=b;null==a.D&&(a.D=a.J="",b&&(a.D=b[0],c=b=b.substr(1)));if(a.D){var d=b.indexOf(a.D);0>d?c="":(c=b.substr(d+1),b=b.substr(0,d),a.D=null);a.J+=b}if(null==a.D){var d=b=0,e,f,g=a.J.length;a.K==Xg&&g++;for(var h=0;h<g;h++){b||(d=0,f=29,e=7,a.K==Yg&&(e--,f++));var k=a.J.charCodeAt(h)&127;6==e&&(97<=k&&122>=k&&(k-=32),k=k+32&63);d+=k*Math.pow(2,f);f-=e;b++;0>f&&(Hg(a,d),b=0)}b&&Hg(a,d)}return c} function th(a,b,c){var d=[];for(c&&(b=b.replace(/^\(?(.*?)\)?$/,"$1"));b;){b=b.trim();c=uh(a,b);if(!c)break;d.push(c);b=b.substr(c.length+1)}return d}
function Sg(a,b,c){var d,e,f,g,h,k;a.H="<";a.C=">";g=h=k=[];if(b==ch){e=c.match(/([A-Z$%.][0-9A-Z$%.]*)\s*(\([^)]*\)|)\s*(<|)([\s\S]*)/i);if(!e)return a.error("unrecognized "+b+": "+c),c;f=e[1];if(e[2]){h=g=oh(a,e[2],!0);b=[];for(c=0;c<h.length;c++)if(d=h[c].indexOf("<"),0<=d){var l=h[c].lastIndexOf(">");0>l&&(l=h[c].length);b[c]=h[c].substr(d,l-d);h[c]=h[c].substr(0,d)}h=b}b=rh;c=3}else if(b==fh){a.H="[";a.C="]";e=c.match(/([A-Z$%.][0-9A-Z$%.]*)\s*(\[)([\s\S]*)/i);if(!e)return a.error("unrecognized "+ function Lg(a,b){var c=b;null==a.D&&(a.D=a.C="",b&&(a.D=b[0],c=b=b.substr(1)));if(a.D){var d=b.indexOf(a.D);0>d?c="":(c=b.substr(d+1),b=b.substr(0,d),a.D=null);a.C+=b}if(null==a.D){var d=b=0,e,f,g=a.C.length;a.K==Wg&&g++;for(var h=0;h<g;h++){b||(d=0,f=29,e=7,a.K==Xg&&(e--,f++));var k=a.C.charCodeAt(h)&127;6==e&&(97<=k&&122>=k&&(k-=32),k=k+32&63);d+=k*Math.pow(2,f);f-=e;b++;0>f&&(Gg(a,d),b=0)}b&&Gg(a,d)}return c}
b+": "+c),c;f=e[1];b=lh;c=2}else if(b==Tg)a.H="[",a.C="]",f="?"+va(++a.X,5),a.j[f]&&a.error("literal symbol redefined: "+f),e=[c[0],c.substr(1)],b=sh,c=0;else if(b==Ng||b==Og){a.v||a.error(b+" outside of macro");e=c.match(/([A-Z$%.][0-9A-Z$%.]*)\s*,\s*(<|)([\s\S]*)/i);if(!e)return a.error("unrecognized "+b+": "+c),c;for(d=0;d<a.v.Ta.length&&e[1]!=a.v.Ta[d];d++);if(d==a.v.Ta.length)return a.error("invalid "+b+" parameter: "+e[1]),c;f="?"+b;g=[e[1]];b==Og?k=a.v.Qa[d].split(""):k=oh(a,a.v.Qa[d]);b=k.length; function Rg(a,b,c){var d,e,f,g,h,k;a.J="<";a.F=">";g=h=k=[];if(b==ch){e=c.match(/([A-Z$%.][0-9A-Z$%.]*)\s*(\([^)]*\)|)\s*,?\s*(<|)([\s\S]*)/i);if(!e)return a.error("unrecognized "+b+": "+c),c;f=e[1];if(e[2]&&","!=e[2]){h=g=th(a,e[2],!0);b=[];for(c=0;c<h.length;c++)if(d=h[c].indexOf("<"),0<=d){var l=h[c].lastIndexOf(">");0>l&&(l=h[c].length);b[c]=h[c].substr(d,l-d);h[c]=h[c].substr(0,d)}h=b}b=wh;c=3}else if(b==hh){a.J="[";a.F="]";e=c.match(/([A-Z$%.][0-9A-Z$%.]*)\s*(\[)([\s\S]*)/i);if(!e)return a.error("unrecognized "+
c=2}else{d=ph(a,c);if(!d)return a.error("missing "+b+" expression: "+c),c;c=c.substr(d.length+1);d=d.trim();e=c.match(/\s*(<|)([\s\S]*)/i);f="?"+b;b=Jg(a,d)||0;c=1}f=f.toUpperCase();a.i=1;a.I=f;a.j[f]={name:f,Wa:b,Ta:g,Ab:h,Qa:k,wa:"",da:a.da};e[c]&&(a.i=2,Lg(a,e[c+1]));return f}function Lg(a,b){for(var c="",d=0;d<b.length;d++)if(b[d]==a.H)a.i++;else if(b[d]==a.C&&(a.i--,1==a.i)){a.i=0;c=b.substr(d+1);b=b.substr(0,d);break}d=a.I||"";a.j[d].wa+=b;a.i||(a.I=null,Vg(a,d));return c} b+": "+c),c;f=e[1];b=qh;c=2}else if(b==Sg)a.J="[",a.F="]",f="?"+va(++a.V,5),a.j[f]&&a.error("literal symbol redefined: "+f),e=[c[0],c.substr(1)],b=xh,c=0;else if(b==Mg||b==Ng){a.v||a.error(b+" outside of macro");e=c.match(/([A-Z$%.][0-9A-Z$%.]*)\s*,\s*(<|)([\s\S]*)/i);if(!e)return a.error("unrecognized "+b+": "+c),c;for(d=0;d<a.v.Ua.length&&e[1]!=a.v.Ua[d];d++);if(d==a.v.Ua.length)return a.error("invalid "+b+" parameter: "+e[1]),c;f="?"+b;g=[e[1]];b==Ng?k=a.v.Qa[d].split(""):k=th(a,a.v.Qa[d]);b=k.length;
function ah(a,b){var c=Jg(a,b,!0);void 0!==c?Hg(a,c,a.b.ka):a.error("unrecognized expression: "+b)}function Fg(a,b,c,d){d=void 0===d?0:d;b=b.toUpperCase().substr(0,6);if(d&Gg&&a.N[b])a.error("label "+b+" redefined");else{if("string"==typeof c){var e=Jg(a,c);if(void 0===e){a.error("parseExpression("+c+")");return}c=e}(e=a.N[b])?(e.value=c,e.Vb=d,e.da=a.da):a.N[b]={name:b,value:c,Vb:d,da:a.da};a.b.I[b]=c}}function Hg(a,b,c){a.R[a.aa]=Kg(a,b);null!=c&&(a.fa[a.aa]=c);a.aa++} c=2}else{d=uh(a,c);if(!d)return a.error("missing "+b+" expression: "+c),c;c=c.substr(d.length+1);d=d.trim();e=c.match(/\s*(<|)([\s\S]*)/i);f="?"+b;b=Ig(a,d)||0;c=1}f=f.toUpperCase();a.i=1;a.I=f;a.j[f]={name:f,Sa:b,Ua:g,Ab:h,Qa:k,ma:"",da:a.da};e[c]&&(a.i=2,Kg(a,e[c+1]));return f}function Kg(a,b){for(var c="",d=0;d<b.length;d++)if(b[d]==a.J)a.i++;else if(b[d]==a.F&&(a.i--,1==a.i)){a.i=0;c=b.substr(d+1);b=b.substr(0,d);break}d=a.I||"";a.j[d].ma+=b;a.i||(a.I=null,Ug(a,d));return c}
function Kg(a,b,c){c=void 0===c?a.aa:c;var d=Y(a.b,b||0,36,!0);(b<-A||b>=C)&&Dg(a,"truncated value "+ua(b)+" at location "+ua(c)+" to "+ua(d));return d}tg.prototype.u=function(a){this.b?this.b.u(a):console.log(a)};var Gg=1,Pg=2,Qg=4,Wg="ASCII",Xg="ASCIZ",ch="DEFINE",Zg="END",$g="EXP",dh="IFE",eh="IFN",Ng="IRP",Og="IRPC",hh="LALL",Tg="LITERAL",fh="OPDEF",ih="PAGE",gh="REPEAT",Yg="SIXBIT",jh="SUBTTL",kh="TITLE",bh="XWD",rh=-1,lh=-2,sh=-3,qh=-4; function Eg(a,b,c,d){d=void 0===d?0:d;b=b.toUpperCase().substr(0,6);if(d&Fg&&a.N[b])a.error("label "+b+" redefined");else{if("string"==typeof c){var e=Ig(a,c);if(void 0===e){a.error("parseExpression("+c+")");return}c=e}(e=a.N[b])?(e.value=c,e.Vb=d,e.da=a.da):a.N[b]={name:b,value:c,Vb:d,da:a.da};a.b.I[b]=c}}function $g(a,b){var c=Ig(a,b,!0);void 0!==c?Gg(a,c,a.b.ka):a.error("unrecognized expression: "+b)}function Gg(a,b,c){a.R[a.Z]=Jg(a,b);null!=c&&(a.fa[a.Z]=c);a.Z++}
function th(a,b,c){r.call(this,"Computer",a,33554432);this.A.Z=!1;this.S=null;uh(this,b);this.N=$c(this,"autoPower",a,6);this.w=0;this.X=+a.busWidth||+a.buswidth;this.L=this.F=this.M=null;this.K=this.V=!1;this.I=this.C=null;this.U=this.P=!1;this.ba=$c(this,"url")||"";(Math.random()+.1).toString(36);this.i=vh(this);if(this.v=sb("CPU",this.id)){this.D=sb("Debugger",this.id);this.G=new zc({id:this.bb+".bus",busWidth:this.X},this.v,this.D);var d,e=qb(this.id);if((this.j=sb("Panel",this.id))&&this.j.za)for(b= function Jg(a,b,c){c=void 0===c?a.Z:c;var d=Y(a.b,b||0,36,!0);(b<-A||b>=C)&&Cg(a,"truncated value "+ua(b)+" at location "+ua(c)+" to "+ua(d));return d}sg.prototype.u=function(a){this.b?this.b.u(a):console.log(a)};
0;b<e.length;b++)d=e[b],d.ia=this.j.ia,d.u=this.j.u,d.za=this.j.za;this.u(Rb+" v1.34.3\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.La&&d.La(this,this.G,this.v,this.D);b=null;d=$c(this,"resume",a);void 0!==d&&(1<d.length?b=this.F=d:this.b=parseInt(d,10));var f;if(a=$c(this,"state")||(f=!0,a.state))this.M=b=a,f||(this.K=!0,this.b=wh),this.b&&(this.I=new F(this,"1.34.3"),xh(this.I)?b=null: var Fg=1,Og=2,Pg=4,Vg="ASCII",Wg="ASCIZ",ch="DEFINE",Yg="END",Zg="EXP",dh="IFE",eh="IFG",fh="IFL",gh="IFN",Mg="IRP",Ng="IRPC",jh="LALL",Sg="LITERAL",kh="LIST",ah="LOC",lh="NOSYM",hh="OPDEF",mh="PAGE",ih="REPEAT",Xg="SIXBIT",nh="SUBTTL",oh="TITLE",bh="XWD",ph="XLIST",wh=-1,qh=-2,xh=-3,vh=-4;
delete this.I);!b&&this.b&&(b=yh(this))&&(this.K=!0);if(b){var g=this;Ha(b,null,!0,function(a,b,c){c?(g.F=null,g.K=!1,g.ia("Unable to load machine state from server (error "+c+(b?": "+Ea(b):"")+")")):(g.L=b,g.V=!0);Mb(g)})}else Mb(this);this.J.power||(this.N=!0);!c&&this.N&&zh(this,this.Xa)}else q("Unable to find CPU component")}ka(th,r);function uh(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){q(d.message+" ("+c+")")}}a.S=b} function yh(a,b,c){r.call(this,"Computer",a,33554432);this.A.aa=!1;this.S=null;zh(this,b);this.N=Zc(this,"autoPower",a,6);this.w=0;this.X=+a.busWidth||+a.buswidth;this.L=this.F=this.M=null;this.K=this.V=!1;this.I=this.C=null;this.U=this.P=!1;this.ba=Zc(this,"url")||"";(Math.random()+.1).toString(36);this.i=Ah(this);if(this.v=rb("CPU",this.id)){this.D=rb("Debugger",this.id);this.G=new zc({id:this.bb+".bus",busWidth:this.X},this.v,this.D);var d,e=pb(this.id);if((this.j=rb("Panel",this.id))&&this.j.za)for(b=
function $c(a,b,c,d){var e=b.toLowerCase(),e=Sa(b)||Sa(e);void 0===e&&a.S&&(e=a.S[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 zh(a,b,c){for(var d=qb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Cb(f)){Cb(f,function(){zh(a,b,c)});return}}b.call(a,c)} 0;b<e.length;b++)d=e[b],d.ha=this.j.ha,d.u=this.j.u,d.za=this.j.za;this.u(Rb+" v1.34.3\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.La&&d.La(this,this.G,this.v,this.D);b=null;d=Zc(this,"resume",a);void 0!==d&&(1<d.length?b=this.F=d:this.b=parseInt(d,10));var f;if(a=Zc(this,"state")||(f=!0,a.state))this.M=b=a,f||(this.K=!0,this.b=Bh),this.b&&(this.I=new F(this,"1.34.3"),Ch(this.I)?b=null:
function Ah(a,b){var c=new F(a,"1.34.3",Bh);if(xh(c)&&Nh(c)){var d=c.get(Oh),e=b?b.get(Oh):"unknown";d!=e&&(a.ia("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}m=th.prototype; delete this.I);!b&&this.b&&(b=Oh(this))&&(this.K=!0);if(b){var g=this;Ha(b,null,!0,function(a,b,c){c?(g.F=null,g.K=!1,g.ha("Unable to load machine state from server (error "+c+(b?": "+Ca(b):"")+")")):(g.L=b,g.V=!0);Mb(g)})}else Mb(this);this.J.power||(this.N=!0);!c&&this.N&&Ph(this,this.Xa)}else q("Unable to find CPU component")}ka(yh,r);function zh(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){q(d.message+" ("+c+")")}}a.S=b}
m.Xa=function(a){void 0===a&&(a=this.b||(this.L?Ph:wh));if(!this.w){this.w++;var b=!1,c=!1;this.P=!1;var d=this.I||new F(this,"1.34.3");if(a==Qh)b=!0;else if(a>wh){if(xh(d,this.L)){this.C=new F(this,"1.34.3",Rh);xh(this.C)&&(Sh(this,d),a=Th,Uh(this.C));this.C.set(Oh,Ga());Vh(this.C);var e=this.b&&!this.K;if(a==Ph||pb("Click OK to restore the previous "+Rb+" machine state, or CANCEL to reset the machine.")){if(c=Nh(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?xh(d,g):("error"==f&&"no machine state"!= function Zc(a,b,c,d){var e=b.toLowerCase(),e=Sa(b)||Sa(e);void 0===e&&a.S&&(e=a.S[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 Ph(a,b,c){for(var d=pb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Bb(f)){Bb(f,function(){Ph(a,b,c)});return}}b.call(a,c)}
g?(this.ia("Error: "+g),"unable to verify user"==g&&(Qa(Wh,""),this.i=null)):this.u(f+": "+g),Uh(d),xh(d)?(c=Nh(d),e=!0):c=!1))}e&&Ah(this,c?d:null)}else a==Th&&d.clear()}else Ah(this);delete this.L;delete this.I}e=qb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.v&&(c=Xh(this,g,d,b,c));b=[d,a,c];a!=Qh?zh(this,this.Hb,b):this.Hb(b)}}; function Qh(a,b){var c=new F(a,"1.34.3",Rh);if(Ch(c)&&Sh(c)){var d=c.get(Th),e=b?b.get(Th):"unknown";d!=e&&(a.ha("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}m=yh.prototype;
function Xh(a,b,c,d,e){if(!b.A.Z){b.A.Z=!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.Ba(f,d)&&f&&(q("Unable to restore state for "+b.type),a.M&&!a.V?(c.clear(),a.b=wh,window&&window.location.reload()):a.P=!0,b.Ba(null),e=!1),!d&&b.Cb){var g=b.Cb.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(h){q("Error restoring state for "+b.type+" ("+h.message+")")}}return e} m.Xa=function(a){void 0===a&&(a=this.b||(this.L?Uh:Bh));if(!this.w){this.w++;var b=!1,c=!1;this.P=!1;var d=this.I||new F(this,"1.34.3");if(a==Vh)b=!0;else if(a>Bh){if(Ch(d,this.L)){this.C=new F(this,"1.34.3",Wh);Ch(this.C)&&(Xh(this,d),a=Yh,Zh(this.C));this.C.set(Th,Ga());$h(this.C);var e=this.b&&!this.K;if(a==Uh||ob("Click OK to restore the previous "+Rb+" machine state, or CANCEL to reset the machine.")){if(c=Sh(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Ch(d,g):("error"==f&&"no machine state"!=
m.Hb=function(a){var b=a[0],c=0>a[1];a=a[2];this.U=!0;this.A.Z=!0;var d=this.J.power;d&&(d.textContent="Shutdown");this.v&&(Xh(this,this.v,b,c,a),J(this,-2),this.v.ga());this.P&&(Sh(this,b),b.clear());!c&&this.C&&(this.C.clear(),delete this.C);this.w=0}; g?(this.ha("Error: "+g),"unable to verify user"==g&&(Qa(ai,""),this.i=null)):this.u(f+": "+g),Zh(d),Ch(d)?(c=Sh(d),e=!0):c=!1))}e&&Qh(this,c?d:null)}else a==Yh&&d.clear()}else Qh(this);delete this.L;delete this.I}e=pb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.v&&(c=bi(this,g,d,b,c));b=[d,a,c];a!=Vh?Ph(this,this.Hb,b):this.Hb(b)}};
function Sh(a,b){if(pb("There may be a problem with your "+Rb+" machine.\n\nTo help us diagnose it, click OK to send this "+Rb+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.i||"";b=b.toString();var d={};d.app=Rb;d.ver="1.34.3";d.url=c;d.user=a;d.type="bug";d.data=b;Ha("http://www.pcjs.org/api/v1/report",d,!0)}} function bi(a,b,c,d,e){if(!b.A.aa){b.A.aa=!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.Ba(f,d)&&f&&(q("Unable to restore state for "+b.type),a.M&&!a.V?(c.clear(),a.b=Bh,window&&window.location.reload()):a.P=!0,b.Ba(null),e=!1),!d&&b.Cb){var g=b.Cb.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(h){q("Error restoring state for "+b.type+" ("+h.message+")")}}return e}
function yg(a,b,c){var d,e="none";if(a.w)return null;a.w--;var f=new F(a,"1.34.3"),g=new F(a,"1.34.3",Bh),h=Ga();g.set(Oh,h);f.set(Oh,h);f.set(Yh,"1.34.3");f.set(Zh,window?window.location.href:null);f.set($h,window?window.navigator.userAgent:"");a.v&&a.v.qa&&(c&&(b&&(a.v.A.ga=a.v.A.O),a.v.W()),d=a.v.qa(b,c),"object"===typeof d&&f.set(a.v.id,d),c&&(a.v.A.Z=!1,!1===d&&(e=null)));for(var h=qb(a.id),k=0;k<h.length;k++){var l=h[k];l.A.Z&&(l.qa&&(d=l.qa(b,c),"object"===typeof d&&f.set(l.id,d)),c&&(l.A.Z= m.Hb=function(a){var b=a[0],c=0>a[1];a=a[2];this.U=!0;this.A.aa=!0;var d=this.J.power;d&&(d.textContent="Shutdown");this.v&&(bi(this,this.v,b,c,a),J(this,-2),this.v.ga());this.P&&(Xh(this,b),b.clear());!c&&this.C&&(this.C.clear(),delete this.C);this.w=0};
!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.i&&ai(a,a.i,f.toString()),Vh(g)&&Vh(f)||(e=null,d=h=!0)):a.b&&(d=!0,h=a.b==bi),d&&f.clear(h)):e=f.toString());c&&(a.A.Z=!1,b=a.J.power)&&(b.textContent="Power");a.w=0;return e} function Xh(a,b){if(ob("There may be a problem with your "+Rb+" machine.\n\nTo help us diagnose it, click OK to send this "+Rb+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.i||"";b=b.toString();var d={};d.app=Rb;d.ver="1.34.3";d.url=c;d.user=a;d.type="bug";d.data=b;Ha("http://www.pcjs.org/api/v1/report",d,!0)}}
m.reset=function(){this.A.reset=!0;this.G&&this.G.reset&&(Qb(this,"Resetting "+this.G.type),this.G.reset());this.v&&this.v.reset&&(Qb(this,"Resetting "+this.v.type),this.v.reset());for(var a=qb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.G&&c!==this.v&&c.reset&&(Qb(this,"Resetting "+c.type),c.reset())}this.A.reset=!1;J(this,-1)};m.start=function(a,b){for(var c=qb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}J(this,-1)}; function xg(a,b,c){var d,e="none";if(a.w)return null;a.w--;var f=new F(a,"1.34.3"),g=new F(a,"1.34.3",Rh),h=Ga();g.set(Th,h);f.set(Th,h);f.set(ci,"1.34.3");f.set(di,window?window.location.href:null);f.set(ei,window?window.navigator.userAgent:"");a.v&&a.v.sa&&(c&&(b&&(a.v.A.ga=a.v.A.O),a.v.W()),d=a.v.sa(b,c),"object"===typeof d&&f.set(a.v.id,d),c&&(a.v.A.aa=!1,!1===d&&(e=null)));for(var h=pb(a.id),k=0;k<h.length;k++){var l=h[k];l.A.aa&&(l.sa&&(d=l.sa(b,c),"object"===typeof d&&f.set(l.id,d)),c&&(l.A.aa=
m.stop=function(a,b){for(var c=qb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}J(this,-1)}; !1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.i&&fi(a,a.i,f.toString()),$h(g)&&$h(f)||(e=null,d=h=!0)):a.b&&(d=!0,h=a.b==gi),d&&f.clear(h)):e=f.toString());c&&(a.A.aa=!1,b=a.J.power)&&(b.textContent="Power");a.w=0;return e}
m.reset=function(){this.A.reset=!0;this.G&&this.G.reset&&(Qb(this,"Resetting "+this.G.type),this.G.reset());this.v&&this.v.reset&&(Qb(this,"Resetting "+this.v.type),this.v.reset());for(var a=pb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.G&&c!==this.v&&c.reset&&(Qb(this,"Resetting "+c.type),c.reset())}this.A.reset=!1;J(this,-1)};m.start=function(a,b){for(var c=pb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}J(this,-1)};
m.stop=function(a,b){for(var c=pb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}J(this,-1)};
function J(a,b){if(a.v){var c=a.v,d=b||0,e=c.J.speed;e&&(0>=d||30<=(c.jb+=d))&&(e.textContent=c.A.O?c.ba.toFixed(2)+"Mhz":"Stopped",c.jb=0)}if(a.j&&(a=a.j,b=b||0,a.L)){c=a.v.A.O;d=!!(a.v.C&8);if(0>=b||60<=(a.K+=b)){e=a.v.i;if(a.J.PC){var f=a.D&&a.D.T||8,e=e||0,e=8==f?ua(e,void 0):n(e,void 0);a.J.PC.textContent!=e&&(a.J.PC.textContent=e)}a.K=0}-1>b?a.i=a.v.i:0<b&&c&&!d&&(a.i=a.v.Ca);jc(a,a.i);dc(a,a.w)}} function J(a,b){if(a.v){var c=a.v,d=b||0,e=c.J.speed;e&&(0>=d||30<=(c.jb+=d))&&(e.textContent=c.A.O?c.ba.toFixed(2)+"Mhz":"Stopped",c.jb=0)}if(a.j&&(a=a.j,b=b||0,a.L)){c=a.v.A.O;d=!!(a.v.C&8);if(0>=b||60<=(a.K+=b)){e=a.v.i;if(a.J.PC){var f=a.D&&a.D.T||8,e=e||0,e=8==f?ua(e,void 0):n(e,void 0);a.J.PC.textContent!=e&&(a.J.PC.textContent=e)}a.K=0}-1>b?a.i=a.v.i:0<b&&c&&!d&&(a.i=a.v.Ca);jc(a,a.i);dc(a,a.w)}}
m.ra=function(a,b,c){var d=this;switch(b){case "power":return this.J[b]=c,c.onclick=function(){d.w||(d.A.Z?yg(d,!1,!0):zh(d,d.Xa))},!0;case "reset":return this.J[b]=c,c.onclick=function(){if(d.A.Z&&!d.w)if(d.b&&!d.F){var a=pb("Click OK to save changes to this "+Rb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");yg(d,a,!0);!a&&d.M?window&&window.location.reload():d.Xa(wh)}else d.reset(),d.v&&!d.D&&d.v.ga()},!0;case "save":if(ya(Ja(),"pcjs.org"))c.parentNode.removeChild(c); m.ta=function(a,b,c){var d=this;switch(b){case "power":return this.J[b]=c,c.onclick=function(){d.w||(d.A.aa?xg(d,!1,!0):Ph(d,d.Xa))},!0;case "reset":return this.J[b]=c,c.onclick=function(){if(d.A.aa&&!d.w)if(d.b&&!d.F){var a=ob("Click OK to save changes to this "+Rb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");xg(d,a,!0);!a&&d.M?window&&window.location.reload():d.Xa(Bh)}else d.reset(),d.v&&!d.D&&d.v.ga()},!0;case "save":if(ya(Ja(),"pcjs.org"))c.parentNode.removeChild(c);
else return this.J[b]=c,c.onclick=function(){var a=vh(d,!0);if(a){var b=!!(d.b&&!d.F||d.M),c=yg(d,b);b?ai(d,a,c):d.ia("Resume disabled, machine state not saved")}},!0}return!1}; else return this.J[b]=c,c.onclick=function(){var a=Ah(d,!0);if(a){var b=!!(d.b&&!d.F||d.M),c=xg(d,b);b?fi(d,a,c):d.ha("Resume disabled, machine state not saved")}},!0}return!1};
function vh(a,b){var c=a.i;c||((c=Pa(Wh),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=ci(a,c))||a.ia("The user ID is invalid.")):b&&a.ia("Browser local storage is not available"));return c} function Ah(a,b){var c=a.i;c||((c=Pa(ai),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=hi(a,c))||a.ha("The user ID is invalid.")):b&&a.ha("Browser local storage is not available"));return c}
function ci(a,b){a.i=null;b=Ha(Ja()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Qa(Wh,b.data),a.i=b.data)}catch(d){q(d.message+" ("+c+")")}return a.i}function yh(a){var b=null;a.i&&(b=Ja()+"/api/v1/user?req=load&user="+a.i+"&state="+di(a,"1.34.3"));return b} function hi(a,b){a.i=null;b=Ha(Ja()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Qa(ai,b.data),a.i=b.data)}catch(d){q(d.message+" ("+c+")")}return a.i}function Oh(a){var b=null;a.i&&(b=Ja()+"/api/v1/user?req=load&user="+a.i+"&state="+ii(a,"1.34.3"));return b}
function ai(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=di(a,"1.34.3");d.data=c;b=Ha(Ja()+"/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.ia("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.ia(c),Qa(Wh,""),a.i=null)}} function fi(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=ii(a,"1.34.3");d.data=c;b=Ha(Ja()+"/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.ha("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.ha(c),Qa(ai,""),a.i=null)}}
function jd(a,b){if(a.za){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.za.focus();!b&&window&&window.scrollTo(c,d)}}var Rh="failsafe",Bh="validate",Oh="timestamp",Yh="version",Zh="url",$h="browser",Wh="user",Qh=-1,wh=0,Ph=1,Th=2,bi=3;Xa(function(){for(var a=w(document,v+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=t(c),c=w(c,v,"computer"),e=0;e<c.length;e++){var f=c[e],g=t(f),g=new th(g,d,!0);tb(g,f);g.N&&zh(g,g.Xa)}}); function id(a,b){if(a.za){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.za.focus();!b&&window&&window.scrollTo(c,d)}}var Wh="failsafe",Rh="validate",Th="timestamp",ci="version",di="url",ei="browser",ai="user",Vh=-1,Bh=0,Uh=1,Yh=2,gi=3;Xa(function(){for(var a=w(document,v+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=t(c),c=w(c,v,"computer"),e=0;e<c.length;e++){var f=c[e],g=t(f),g=new yh(g,d,!0);sb(g,f);g.N&&Ph(g,g.Xa)}});
Ya.show.push(function(){for(var a=w(document,v,"computer"),b=0;b<a.length;b++){var c=t(a[b]);(c=sb("Computer",c.id))&&c.U&&!c.A.Z&&c.Xa(Qh)}});Ya.exit.push(function(){for(var a=w(document,v,"computer"),b=0;b<a.length;b++){var c=t(a[b]);(c=sb("Computer",c.id))&&c.A.Z&&yg(c,!(!c.b||c.F),!0)}});function F(a,b,c){this.id=a.id;this.i="";this.b={};this.v=this.j=!1;this.key=di(a,b,c);Uh(this,a.Sb)}m=F.prototype;m.set=function(a,b){try{this.b[a]=b}catch(c){}};m.get=function(a){return this.b[a]||null}; Ya.show.push(function(){for(var a=w(document,v,"computer"),b=0;b<a.length;b++){var c=t(a[b]);(c=rb("Computer",c.id))&&c.U&&!c.A.aa&&c.Xa(Vh)}});Ya.exit.push(function(){for(var a=w(document,v,"computer"),b=0;b<a.length;b++){var c=t(a[b]);(c=rb("Computer",c.id))&&c.A.aa&&xg(c,!(!c.b||c.F),!0)}});function F(a,b,c){this.id=a.id;this.i="";this.b={};this.v=this.j=!1;this.key=ii(a,b,c);Zh(this,a.Sb)}m=F.prototype;m.set=function(a,b){try{this.b[a]=b}catch(c){}};m.get=function(a){return this.b[a]||null};
m.data=function(){return this.b};function xh(a,b){return b?(a.i=b,a.v=!0,a.j=!1,!0):a.v?!0:Ka()&&(b=Pa(a.key))?(a.i=b,a.v=!0):!1}function Nh(a){var b=!0;if(!a.j)try{a.b=JSON.parse(a.i),a.j=!0}catch(c){q(c.message||c),b=!1}return b}function Vh(a){var b=!0;if(Ka()){var c=JSON.stringify(a.b);Qa(a.key,c)||(q("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}m.toString=function(){return this.b?JSON.stringify(this.b):this.i}; m.data=function(){return this.b};function Ch(a,b){return b?(a.i=b,a.v=!0,a.j=!1,!0):a.v?!0:Ka()&&(b=Pa(a.key))?(a.i=b,a.v=!0):!1}function Sh(a){var b=!0;if(!a.j)try{a.b=JSON.parse(a.i),a.j=!0}catch(c){q(c.message||c),b=!1}return b}function $h(a){var b=!0;if(Ka()){var c=JSON.stringify(a.b);Qa(a.key,c)||(q("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}m.toString=function(){return this.b?JSON.stringify(this.b):this.i};
function Uh(a,b){a.i="";a.b={};a.v=a.j=!1;b&&a.set("parms",b)}m.clear=function(a){Uh(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 di(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 ei=0; function Zh(a,b){a.i="";a.b={};a.v=a.j=!1;b&&a.set("parms",b)}m.clear=function(a){Zh(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 ii(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 ji=0;
function fi(a,b,c,d,e,f,g){f("Loading "+a+"...");Ha(a,null,!0,function(h,k,l){l?(k||(k="unable to load "+a+" ("+l+")"),g(k,null)):gi(k,a,b,c,d,e,f,g)})} function ki(a,b,c,d,e,f,g){f("Loading "+a+"...");Ha(a,null,!0,function(h,k,l){l?(k||(k="unable to load "+a+" ("+l+")"),g(k,null)):li(k,a,b,c,d,e,f,g)})}
function gi(a,b,c,d,e,f,g,h){function k(a,g){if(g)h(g,null);else{c&&(mb(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 li(a,b,c,d,e,f,g,h){function k(a,g){if(g)h(g,null);else{c&&(lb(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"));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(u){g=null,a=u.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,g)}}a?f?hi(a,g,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(u){g=null,a=u.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,g)}}a?f?mi(a,g,k):k(a,null):h("no data"+(b?" for file: "+b:""),null)}
function hi(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ha(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],l,p=/( [a-z]+=)(['"])(.*?)\2/g;l=p.exec(f);)k=0>k.indexOf(l[1])?k.replace(">",l[0]+">"):k.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[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]*/, function mi(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ha(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],l,p=/( [a-z]+=)(['"])(.*?)\2/g;l=p.exec(f);)k=0>k.indexOf(l[1])?k.replace(">",l[0]+">"):k.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[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],g);hi(a,b,c)}})}else c(a,null)} "");a=a.replace(d[0],g);mi(a,b,c)}})}else c(a,null)}
function ii(a,b,c,d,e){function f(a){if(void 0===k){var b=h&&w(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=za(a))}function g(a){f("Error: "+a);l&&(--ei||ab(!0));l=!1}var h,k,l=!0;ei++;nb[b]={};try{if(h=document.getElementById(b)){var p;if("object"==typeof resources&&(p=resources.css)){var u=document.head||document.getElementsByTagName("head")[0],D=document.createElement("style");D.type="text/css";D.styleSheet?D.styleSheet.cssText=p:D.appendChild(document.createTextNode(p));u.appendChild(D)}d|| function ni(a,b,c,d,e){function f(a){if(void 0===k){var b=h&&w(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=za(a))}function g(a){f("Error: "+a);l&&(--ji||ab(!0));l=!1}var h,k,l=!0;ji++;mb[b]={};try{if(h=document.getElementById(b)){var p;if("object"==typeof resources&&(p=resources.css)){var u=document.head||document.getElementsByTagName("head")[0],D=document.createElement("style");D.type="text/css";D.styleSheet?D.styleSheet.cssText=p:D.appendChild(document.createTextNode(p));u.appendChild(D)}d||
(p=a,"pdp"==a.substr(0,3)&&(p="pdpjs"),d="/versions/"+p+"/1.34.3/components.xsl");p=function(e,k){k?fi(d,null,a,null,!1,f,function(a,e){e?(mb(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--ei||ab(!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),--ei|| (p=a,"pdp"==a.substr(0,3)&&(p="pdpjs"),d="/versions/"+p+"/1.34.3/components.xsl");p=function(e,k){k?ki(d,null,a,null,!1,f,function(a,e){e?(lb(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--ji||ab(!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),--ji||
ab(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?fi(c,b,a,e,!0,f,p):gi(c,null,b,a,e,!1,f,p)}else g("missing machine element: "+b)}catch(I){g(I.message)}return l}window.embedPDP10=function(a,b,c,d){ab(!1);return ii("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){ab(!1);return ii("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return sb(b,a+".machine")}; ab(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?ki(c,b,a,e,!0,f,p):li(c,null,b,a,e,!1,f,p)}else g("missing machine element: "+b)}catch(I){g(I.message)}return l}window.embedPDP10=function(a,b,c,d){ab(!1);return ni("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){ab(!1);return ni("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return rb(b,a+".machine")};
window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!vb[a]){for(var c=!0,d=vb,e=a,f=b.length,g=[],h=[],k="",l=null,p=0;p<f;p++){var u=b[p];if('"'==u||"'"==u)l&&u!=l?k+=u:(l?l=null:l=u,k&&(h.push(k),k=""));else{if(!l){if("\r"==u||"\n"==u)u=";";if(" "==u||"\t"==u||";"==u){k&&(h.push(k),k="");";"==u&&h.length&&(g.push(h),h=[]);continue}}k+=u}}k&&h.push(k);h.length&&g.push(h);d[e]=g;ub(a)||(c=!1)}return c};window.enableEvents=ab;window.sendEvent=cb;})();//# sourceMappingURL=/tmp/pdpjs/1.34.3/pdp10-dbg.map window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!ub[a]){for(var c=!0,d=ub,e=a,f=b.length,g=[],h=[],k="",l=null,p=0;p<f;p++){var u=b[p];if('"'==u||"'"==u)l&&u!=l?k+=u:(l?l=null:l=u,k&&(h.push(k),k=""));else{if(!l){if("\r"==u||"\n"==u)u=";";if(" "==u||"\t"==u||";"==u){k&&(h.push(k),k="");";"==u&&h.length&&(g.push(h),h=[]);continue}}k+=u}}k&&h.push(k);h.length&&g.push(h);d[e]=g;tb(a)||(c=!1)}return c};window.enableEvents=ab;window.sendEvent=cb;})();//# sourceMappingURL=/tmp/pdpjs/1.34.3/pdp10-dbg.map