diff --git a/apps/c1p/all.xml b/apps/c1p/all.xml
index 7833c5e49..dd8470d7b 100644
--- a/apps/c1p/all.xml
+++ b/apps/c1p/all.xml
@@ -21,5 +21,5 @@
- SPACEWAR
Load File
-
+
diff --git a/apps/c1p/samples.xml b/apps/c1p/samples.xml
index bb0b268be..b3acffa96 100644
--- a/apps/c1p/samples.xml
+++ b/apps/c1p/samples.xml
@@ -9,6 +9,6 @@
- COUNTER
- PRESIDENTS
- Load File
-
+ Load
+
diff --git a/my_modules/c1pjs-client/lib/serial.js b/my_modules/c1pjs-client/lib/serial.js
index b069d7b2a..50fe2a1a6 100644
--- a/my_modules/c1pjs-client/lib/serial.js
+++ b/my_modules/c1pjs-client/lib/serial.js
@@ -128,15 +128,15 @@ C1PSerialPort.prototype.setBinding = function(sHTMLClass, sHTMLType, sBinding, c
};
return true;
- case "uploadSerial":
+ case "mountSerial":
/*
* Check for availability of FileReader
*/
- if (window.FileReader && window.File && window.FileList && window.Blob) {
+ if (window.FileReader && window.File && window.FileList) {
this.bindings[sBinding] = control;
/*
- * Enable "Load Local File" button only if a file is actually selected
+ * Enable "Mount" button only if a file is actually selected
*/
control.addEventListener('change', function() {
var fieldset = control.children[0];
@@ -150,7 +150,7 @@ C1PSerialPort.prototype.setBinding = function(sHTMLClass, sHTMLType, sBinding, c
var reader = new FileReader();
reader.onload = function() {
- // serial.println("loading " + file.name + "...");
+ // serial.println("mounting " + file.name + "...");
serial.loadFile(file.name, reader.result.toString(), 0);
};
reader.readAsText(file);
@@ -162,7 +162,7 @@ C1PSerialPort.prototype.setBinding = function(sHTMLClass, sHTMLType, sBinding, c
};
}
else {
- this.println("FileReader support not available, disabling local file load");
+ if (DEBUG) this.log("FileReader support not available, Mount disabled");
control.parentNode.removeChild(control);
}
return true;
diff --git a/my_modules/c1pjs-client/templates/components.css b/my_modules/c1pjs-client/templates/components.css
index cee674a47..7869669d7 100644
--- a/my_modules/c1pjs-client/templates/components.css
+++ b/my_modules/c1pjs-client/templates/components.css
@@ -38,6 +38,11 @@
font-family: Monaco, monospace;
font-size: x-small;
}
+.c1pjs-fieldset {
+ border: none;
+ margin: 0;
+ padding: 0;
+}
.c1pjs-flag {
font-family: "Lucida Console", monospace;
font-size: small;
diff --git a/my_modules/c1pjs-client/templates/components.xsl b/my_modules/c1pjs-client/templates/components.xsl
index 581c05743..12df79484 100644
--- a/my_modules/c1pjs-client/templates/components.xsl
+++ b/my_modules/c1pjs-client/templates/components.xsl
@@ -286,10 +286,10 @@
-
diff --git a/my_modules/pcjs-client/lib/computer.js b/my_modules/pcjs-client/lib/computer.js
index 148247f96..7fc03a237 100644
--- a/my_modules/pcjs-client/lib/computer.js
+++ b/my_modules/pcjs-client/lib/computer.js
@@ -262,14 +262,6 @@ Computer.sAppName = APPNAME || "PCjs";
Computer.sAppVer = APPVERSION;
Computer.sCopyright = "Copyright © 2012-2014 Jeff Parsons ";
-/*
- * Version 1.02 marks the addition of "disk history" to the FDC, so that as diskettes are mounted,
- * modified, unmounted, and then later remounted, all previous modifications can be restored. This
- * same disk history has also been added to the save/restore data as of v1.02, so any save/restore
- * code sensitive to that change must include a reference to VERSION_102.
- */
-Computer.VERSION_102 = 102;
-
/*
* I think it's a good idea to also display a GPL notice, putting people on notice that even
* the "compiled" source code has all the same GPL requirements as the uncompiled source code.
diff --git a/my_modules/pcjs-client/lib/disk.js b/my_modules/pcjs-client/lib/disk.js
index 76d9117f7..ab428adc0 100644
--- a/my_modules/pcjs-client/lib/disk.js
+++ b/my_modules/pcjs-client/lib/disk.js
@@ -243,23 +243,18 @@ function Disk(controller, drive, mode)
this.cmp = controller.cmp;
this.dbg = controller.dbg;
this.drive = drive;
- this.mode = mode;
/*
* We pull out a number of drive properties that we may or may not need as defaults
*/
this.sDiskName = drive.name;
- this.nCylinders = drive.nCylinders;
- this.nHeads = drive.nHeads;
- this.nSectors = drive.nSectors;
- this.cbSector = drive.cbSector;
this.fRemovable = drive.fRemovable;
this.fOnDemand = this.fRemote = false;
/*
* Initialize the disk contents
*/
- this.create();
+ this.create(mode, drive.nCylinders, drive.nHeads, drive.nSectors, drive.cbSector);
/*
* The following dirty sector and timer properties are used only with fOnDemand disks,
@@ -428,10 +423,21 @@ Disk.prototype.powerDown = function(fSave, fShutdown)
/**
* create()
*
+ * @param {string} mode
+ * @param {number} nCylinders
+ * @param {number} nHeads
+ * @param {number} nSectors
+ * @param {number} cbSector
+ *
* Initializes the disk contents according to the current drive mode and parameters.
*/
-Disk.prototype.create = function()
+Disk.prototype.create = function(mode, nCylinders, nHeads, nSectors, cbSector)
{
+ this.mode = mode;
+ this.nCylinders = nCylinders;
+ this.nHeads = nHeads;
+ this.nSectors = nSectors;
+ this.cbSector = cbSector;
this.aDiskData = [];
/*
* If the drive is using PRELOAD mode, then it will use the load()/mount() process to initialize the disk contents;
@@ -462,7 +468,7 @@ Disk.prototype.create = function()
}
this.aDiskData = aCylinders;
}
- this.dwChecksum = 0;
+ this.dwChecksum = null;
};
/**
@@ -577,42 +583,43 @@ Disk.prototype.load = function(sDiskName, sDiskPath, file, fnNotify, controller)
/**
*
- * build(buffer, fDirty)
+ * build(buffer, fModified)
*
* Builds a disk image from an ArrayBuffer (eg, from a FileReader object), rather than from JSON-encoded data.
*
* @this {Disk}
* @param {?} buffer (we KNOW this is an ArrayBuffer, but we can't seem to convince the Closure Compiler)
- * @param {boolean} [fDirty] is true if we should mark the entire disk dirty (to ensure that we save/restore it)
+ * @param {boolean} [fModified] is true if we should mark the entire disk modified (to ensure that we save/restore it)
*/
-Disk.prototype.build = function(buffer, fDirty)
+Disk.prototype.build = function(buffer, fModified)
{
var disk;
var cbDiskData = buffer? buffer.byteLength : 0;
var disketteFormat = DiskAPI.DISKETTE_FORMATS[cbDiskData];
if (disketteFormat) {
+ this.nCylinders = disketteFormat[0];
+ this.nHeads = disketteFormat[1];
+ this.nSectors = disketteFormat[2];
+ this.cbSector = 512;
+
+ var cdw = this.cbSector >> 2, dwPattern = 0, dwChecksum = 0;
var ib = 0;
- var dwChecksum = 0;
- var cbSector = 512, dwPattern = 0;
var dv = new DataView(buffer, 0, cbDiskData);
- this.aDiskData = new Array(disketteFormat[0]);
+
+ this.aDiskData = new Array(this.nCylinders);
for (var iCylinder = 0; iCylinder < this.aDiskData.length; iCylinder++) {
- var cylinder = this.aDiskData[iCylinder] = new Array(disketteFormat[1]);
+ var cylinder = this.aDiskData[iCylinder] = new Array(this.nHeads);
for (var iHead = 0; iHead < cylinder.length; iHead++) {
- var head = cylinder[iHead] = new Array(disketteFormat[2]);
+ var head = cylinder[iHead] = new Array(this.nSectors);
for (var iSector = 0; iSector < head.length; iSector++) {
- var sector = this.initSector(null, iCylinder, iHead, iSector + 1, cbSector, dwPattern);
- var cdw = cbSector >> 2;
+ var sector = this.initSector(null, iCylinder, iHead, iSector + 1, this.cbSector, dwPattern);
var adw = sector['data'];
for (var idw = 0; idw < cdw; idw++, ib += 4) {
var dw = adw[idw] = dv.getInt32(ib, true);
dwChecksum = (dwChecksum + dw) & 0xffffffff;
}
- if (fDirty) {
- sector.cModify = cdw;
- sector.fDirty = true;
- }
+ if (fModified) sector.cModify = cdw;
head[iSector] = sector;
}
}
@@ -772,11 +779,17 @@ Disk.prototype.doneLoad = function(sDiskFile, sDiskData, nErrorCode, sDiskPath)
* This includes detecting sector data in older formats (eg, the OLD array of 'bytes' instead
* of the NEW 'data' array of dwords) and converting them on-the-fly to the current format.
*/
+ this.nCylinders = aDiskData.length;
+ this.nHeads = aDiskData[0].length;
+ this.nSectors = aDiskData[0][0].length;
+ var sector = aDiskData[0][0][0];
+ this.cbSector = (sector && sector['length']) || 512;
+
var dwChecksum = 0;
- for (var iCylinder = 0; iCylinder < aDiskData.length; iCylinder++) {
- for (var iHead = 0; iHead < aDiskData[iCylinder].length; iHead++) {
- for (var iSector = 0; iSector < aDiskData[iCylinder][iHead].length; iSector++) {
- var sector = aDiskData[iCylinder][iHead][iSector];
+ for (var iCylinder = 0; iCylinder < this.nCylinders; iCylinder++) {
+ for (var iHead = 0; iHead < this.nHeads; iHead++) {
+ for (var iSector = 0; iSector < this.nSectors; iSector++) {
+ sector = aDiskData[iCylinder][iHead][iSector];
if (!sector) continue; // non-standard (eg, XDF) disk images may have "unused" (null) sectors
var length = sector['length'];
if (length === undefined) { // provide backward-compatibility with older JSON...
@@ -1443,7 +1456,7 @@ Disk.prototype.write = function(sector, ibSector, b)
*
* The first array entry contains some disk information:
*
- * [sDiskPath, dwChecksum]
+ * [sDiskPath, dwChecksum, nCylinders, nHeads, nSectors, cbSector]
*
* Each subsequent entry in the returned array contains the following:
*
@@ -1458,7 +1471,7 @@ Disk.prototype.save = function()
{
var i = 0;
var deltas = [];
- deltas[i++] = [this.sDiskPath, this.dwChecksum];
+ deltas[i++] = [this.sDiskPath, this.dwChecksum, this.nCylinders, this.nHeads, this.nSectors, this.cbSector];
if (!this.fRemote && !this.fWriteProtected) {
var aDiskData = this.aDiskData;
for (var iCylinder = 0; iCylinder < aDiskData.length; iCylinder++) {
@@ -1486,7 +1499,7 @@ Disk.prototype.save = function()
*
* The first array entry contains some disk information:
*
- * [sDiskPath, dwChecksum]
+ * [sDiskPath, dwChecksum, nCylinders, nHeads, nSectors, cbSector]
*
* Each subsequent entry in the supplied array contains the following:
*
@@ -1514,16 +1527,34 @@ Disk.prototype.restore = function(deltas)
* checking aDiskData is still a good idea, be aware that it won't necessarily avoid redundant error messages
* (at least in the case of HDC).
*/
- if (this.aDiskData.length && deltas && deltas.length > 0) {
+ if (deltas && deltas.length > 0) {
+
var i = 0;
var aDiskInfo = deltas[i++];
+
if (aDiskInfo && aDiskInfo.length >= 2) {
+ /*
+ * Before getting to the checksum, we have to deal with a new situation: restoring an uninitialized
+ * disk image from a complete set of deltas. And that is only possible if the disk was saved with the
+ * original disk geometry.
+ */
+ if (!this.aDiskData.length && aDiskInfo.length >= 6) {
+ this.create(DiskAPI.MODE.LOCAL, aDiskInfo[2], aDiskInfo[3], aDiskInfo[4], aDiskInfo[5]);
+ /*
+ * TODO: Consider setting a flag here that we can check at the end of the restore() function
+ * that indicates we should recalculate dwChecksum, because we currently have an inconsistency
+ * between local disks that are mounted via build() and the same disks that are "remounted"
+ * later by this code; the former has the correct checksum, while the latter has a null checksum.
+ *
+ * As you can see below, we currently deal with this by simply ignoring null checksums....
+ */
+ }
/*
* v1.01 failed to indicate an error if either one of these failure conditions occurred. Although maybe that's
* just as well, since v1.01 also failed to properly deal with situations where the user mounted different diskette(s)
* prior to exiting (hopefully fixed in v1.02).
*/
- if (aDiskInfo[1] != this.dwChecksum) {
+ else if (aDiskInfo[1] != null && aDiskInfo[1] != this.dwChecksum) {
sReason = "original checksum (" + aDiskInfo[1] + ") differs from current checksum (" + this.dwChecksum + ")";
nChanges = -1;
}
@@ -1536,6 +1567,9 @@ Disk.prototype.restore = function(deltas)
}
*/
}
+
+ if (!this.aDiskData.length) nChanges = -1;
+
while (i < deltas.length && nChanges >= 0) {
var m = 0;
var mod = deltas[i++];
@@ -1580,6 +1614,7 @@ Disk.prototype.restore = function(deltas)
nChanges++;
}
}
+
if (nChanges < 0) {
this.controller.notice("unable to restore disk '" + this.sDiskName + ": " + sReason);
} else {
diff --git a/my_modules/pcjs-client/lib/fdc.js b/my_modules/pcjs-client/lib/fdc.js
index f8d8351ec..36a0a122c 100644
--- a/my_modules/pcjs-client/lib/fdc.js
+++ b/my_modules/pcjs-client/lib/fdc.js
@@ -143,19 +143,19 @@ function FDC(parmsFDC) {
this['dmaWrite'] = this.dmaWrite;
this['dmaFormat'] = this.dmaFormat;
- this.configAutoMount = null;
+ this.configMount = null;
if (parmsFDC['autoMount']) {
- this.configAutoMount = parmsFDC['autoMount'];
- if (typeof this.configAutoMount == "string") {
+ this.configMount = parmsFDC['autoMount'];
+ if (typeof this.configMount == "string") {
try {
/*
* The most likely source of any exception will be right here, where we're parsing
* the JSON-encoded diskette data.
*/
- this.configAutoMount = eval("(" + parmsFDC['autoMount'] + ")");
+ this.configMount = eval("(" + parmsFDC['autoMount'] + ")");
} catch (e) {
Component.error("FDC auto-mount error: " + e.message + " (" + parmsFDC['autoMount'] + ")");
- this.configAutoMount = null;
+ this.configMount = null;
}
}
}
@@ -419,15 +419,8 @@ FDC.prototype.setBinding = function(sHTMLClass, sHTMLType, sBinding, control)
case "listDisks":
this.bindings[sBinding] = control;
- var addControlOption = function(sValue, sDisplay) {
- var controlOption;
- controlOption = window.document.createElement("option");
- controlOption['value'] = sValue;
- controlOption.innerHTML = sDisplay;
- control.appendChild(controlOption);
- };
-
- addControlOption("?", "Remote Disk");
+ this.addDiskette("Local Disk", "?");
+ this.addDiskette("Remote Disk", "??");
control.onchange = function onChangeListDisks(event) {
var controlDesc = fdc.bindings["descDisk"];
@@ -477,15 +470,15 @@ FDC.prototype.setBinding = function(sHTMLClass, sHTMLType, sBinding, control)
};
return true;
- case "loadLocal":
+ case "mountDrive":
/*
* Check for availability of FileReader
*/
- if (window.FileReader && window.File && window.FileList && window.Blob ) {
+ if (window.FileReader && window.File && window.FileList) {
this.bindings[sBinding] = control;
/*
- * Enable "Load Local File" button only if a file is actually selected
+ * Enable "Mount" button only if a file is actually selected
*/
control.addEventListener('change', function() {
var fieldset = control.children[0];
@@ -508,7 +501,7 @@ FDC.prototype.setBinding = function(sHTMLClass, sHTMLType, sBinding, control)
};
}
else {
- this.println("FileReader support not available, disabling local file load");
+ if (DEBUG) this.log("FileReader support not available, Mount disabled");
control.parentNode.removeChild(control);
}
return true;
@@ -824,6 +817,7 @@ FDC.prototype.initDrive = function(drive, iDrive, data)
var fSuccess = true;
drive.iDrive = iDrive;
+ drive.fBusy = drive.fLocal = false;
if (data === undefined) {
/*
@@ -937,15 +931,26 @@ FDC.prototype.initDrive = function(drive, iDrive, data)
}
var deltas = data[i++];
- if (deltas === Computer.VERSION_102) {
+ if (typeof deltas == "boolean") {
+ var fLocal = deltas;
var sDisketteName = data[i++];
var sDiskettePath = data[i];
/*
- * If loadDiskette() must actually mount a *different* disk image at this late stage (ie, if it returns false),
- * then we must mark ourselves as "not ready" again, and add another "wait for ready" test in Computer before
- * finally powering the CPU. Otherwise, go ahead and restore any deltas to the current image.
+ * If we're restoring a local disk image, then the entire disk contents should be captured in aDiskHistory,
+ * so all we have to do is mount a blank diskette and let disk.restore() do the rest; ie, there's nothing to
+ * "load" (it's a purely synchronous operation).
+ *
+ * Otherwise, we must call loadDiskette(); in the common case, loadDiskette() will have already "auto-mounted"
+ * the diskette, so it will return true, and then we restore any deltas to the current image.
+ *
+ * However, if loadDiskette() returns false, then it has initiated the load for a *different* disk image,
+ * so we must mark ourselves as "not ready" again, and add another "wait for ready" test in Computer before
+ * finally powering the CPU.
*/
- if (this.loadDiskette(iDrive, sDisketteName, sDiskettePath, true)) {
+ if (fLocal) {
+ this.mountDiskette(iDrive, sDisketteName, sDiskettePath);
+ }
+ else if (this.loadDiskette(iDrive, sDisketteName, sDiskettePath, true)) {
if (drive.disk) {
this.addDiskHistory(sDisketteName, sDiskettePath, drive.disk);
}
@@ -1021,10 +1026,10 @@ FDC.prototype.saveDrive = function(drive)
*
* data[i++] = drive.disk? drive.disk.save() : null;
*
- * To indicate this deviation, we store neither a null nor a delta array, but Computer.VERSION_102;
- * if that value is not present, then the restore code will know it's dealing with a pre-v1.02 state.
+ * To indicate this deviation, we store neither a null nor a delta array, but a boolean (fLocal);
+ * if that boolean is not present, then the restore code will know it's dealing with a pre-v1.02 state.
*/
- data[i++] = Computer.VERSION_102;
+ data[i++] = drive.fLocal;
data[i++] = drive.sDisketteName;
data[i] = drive.sDiskettePath;
return data;
@@ -1135,9 +1140,9 @@ FDC.prototype.seekDrive = function(drive, iSector, nSectors)
FDC.prototype.autoMount = function(fRemount)
{
if (!fRemount) this.cAutoMount = 0;
- if (this.configAutoMount) {
- for (var sDrive in this.configAutoMount) {
- var configDrive = this.configAutoMount[sDrive];
+ if (this.configMount) {
+ for (var sDrive in this.configMount) {
+ var configDrive = this.configMount[sDrive];
if (configDrive['name'] && configDrive['path']) {
/*
* WARNING: This conversion of drive letter to drive number, starting with A:, is very simplistic
@@ -1175,7 +1180,7 @@ FDC.prototype.loadSelectedDrive = function(sDisketteName, sDiskettePath, file)
return;
}
/*
- * If the special path of "?" is selected, then we want to prompt the user for a URL. Oh, and
+ * If the special path of "??" is selected, then we want to prompt the user for a URL. Oh, and
* make sure we pass an empty string as the 2nd parameter to prompt(), so that IE won't display
* "undefined" -- because after all, undefined and "undefined" are EXACTLY the same thing, right?
*
@@ -1183,7 +1188,7 @@ FDC.prototype.loadSelectedDrive = function(sDisketteName, sDiskettePath, file)
* I should do, like dynamically updating "listDisks" to include new entries, and adding new entries
* to the save/restore data.
*/
- if (sDiskettePath == "?") {
+ if (sDiskettePath == "??") {
sDiskettePath = window.prompt("Enter the URL of a remote disk image.", "") || "";
if (!sDiskettePath) return;
sDisketteName = str.getBaseName(sDiskettePath);
@@ -1212,6 +1217,23 @@ FDC.prototype.loadSelectedDrive = function(sDisketteName, sDiskettePath, file)
this.notice("Nothing to load");
};
+/**
+ * mountDiskette(iDrive, sDisketteName, sDiskettePath)
+ *
+ * @this {FDC}
+ * @param {number} iDrive
+ * @param {string} sDisketteName
+ * @param {string} sDiskettePath
+ */
+FDC.prototype.mountDiskette = function(iDrive, sDisketteName, sDiskettePath)
+{
+ var drive = this.aDrives[iDrive];
+ this.unloadDrive(iDrive, true, true);
+ drive.fLocal = true;
+ var disk = new Disk(this, drive, DiskAPI.MODE.PRELOAD);
+ this.doneLoadDiskette(drive, disk, sDisketteName, sDiskettePath);
+};
+
/**
* loadDiskette(iDrive, sDisketteName, sDiskettePath, fAutoMount, file)
*
@@ -1240,6 +1262,7 @@ FDC.prototype.loadDiskette = function(iDrive, sDisketteName, sDiskettePath, fAut
this.cAutoMount++;
this.messageDebugger("loading diskette '" + sDisketteName + "'");
}
+ drive.fLocal = !!file;
var disk = new Disk(this, drive, DiskAPI.MODE.PRELOAD);
disk.load(sDisketteName, sDiskettePath, file, this.doneLoadDiskette);
return false;
@@ -1282,8 +1305,28 @@ FDC.prototype.doneLoadDiskette = function onFDCLoadNotify(drive, disk, sDiskette
drive.disk = disk;
drive.sDisketteName = sDisketteName;
drive.sDiskettePath = sDiskettePath;
+
+ /*
+ * Adding local disk image names to the disk list seems like a nice idea, but it's too confusing,
+ * because then it looks like the "Load" button should be able to (re)load them, and that can NEVER
+ * happen, for security reasons; local disk images can ONLY be loaded via the "Mount" button after
+ * the user has selected them via the "Choose File" button.
+ *
+ * this.addDiskette(sDisketteName, sDiskettePath);
+ *
+ * So we're going to take a different approach: when displayDiskette() is asked to display the name
+ * of a local disk image, it will map all such disks to "Local Disk", and any attempt to "Load" such
+ * a disk, will essentially result in a "Disk not found" error.
+ */
+
this.addDiskHistory(sDisketteName, sDiskettePath, disk);
+ /*
+ * For a local disk (ie, one loaded via mountDiskette()), the disk.restore() performed by addDiskHistory()
+ * may have altered the disk geometry, so refresh the disk info.
+ */
+ aDiskInfo = disk.info();
+
/*
* Clearly, a successful mount implies a disk change, and I suppose that, technically, an *unsuccessful*
* mount should imply the same, but what would the real-world analog be? Inserting a piece of cardboard
@@ -1310,6 +1353,9 @@ FDC.prototype.doneLoadDiskette = function onFDCLoadNotify(drive, disk, sDiskette
drive.nDiskHeads = aDiskInfo[1];
drive.nDiskSectors = aDiskInfo[2];
}
+ else {
+ drive.fLocal = false;
+ }
if (drive.fAutoMount) {
drive.fAutoMount = false;
@@ -1319,6 +1365,26 @@ FDC.prototype.doneLoadDiskette = function onFDCLoadNotify(drive, disk, sDiskette
this.displayDiskette(drive.iDrive);
};
+/**
+ * addDiskette(sName, sPath)
+ *
+ * @param {string} sName
+ * @param {string} sPath
+ */
+FDC.prototype.addDiskette = function(sName, sPath)
+{
+ var controlDisks = this.bindings["listDisks"];
+ if (controlDisks) {
+ for (var i = 0; i < controlDisks.options.length; i++) {
+ if (controlDisks.options[i].value == sPath) return;
+ }
+ var controlOption = window.document.createElement("option");
+ controlOption['value'] = sPath;
+ controlOption.innerHTML = sName;
+ controlDisks.appendChild(controlOption);
+ }
+};
+
/**
* displayDiskette(iDrive, fUpdateDrive)
*
@@ -1344,9 +1410,10 @@ FDC.prototype.displayDiskette = function(iDrive, fUpdateDrive)
*/
var i;
var iDriveSelected = parseInt(controlDrives.value, 10);
+ var sTargetPath = (drive.fLocal? "?" : drive.sDiskettePath);
if (!isNaN(iDriveSelected) && iDriveSelected == iDrive) {
for (i = 0; i < controlDisks.options.length; i++) {
- if (controlDisks.options[i].value == drive.sDiskettePath) {
+ if (controlDisks.options[i].value == sTargetPath) {
if (controlDisks.selectedIndex != i) {
controlDisks.selectedIndex = i;
}
@@ -1388,6 +1455,7 @@ FDC.prototype.unloadDrive = function(iDrive, fAutoUnload, fQuiet)
drive.sDisketteName = "";
drive.sDiskettePath = "";
drive.disk = null;
+ drive.fLocal = false;
this.regInput |= FDC.REG_INPUT.DISK_CHANGE;
@@ -1435,6 +1503,7 @@ FDC.prototype.unloadAllDrives = function(fDiscard)
FDC.prototype.addDiskHistory = function(sDisketteName, sDiskettePath, disk)
{
var i;
+ Component.assert(!!sDiskettePath);
for (i = 0; i < this.aDiskHistory.length; i++) {
if (this.aDiskHistory[i][1] == sDiskettePath) {
var nChanges = disk.restore(this.aDiskHistory[i][2]);
diff --git a/my_modules/pcjs-client/templates/components.css b/my_modules/pcjs-client/templates/components.css
index 4e85ba7bf..d247eeffe 100644
--- a/my_modules/pcjs-client/templates/components.css
+++ b/my_modules/pcjs-client/templates/components.css
@@ -38,6 +38,11 @@
font-family: Monaco, monospace;
font-size: x-small;
}
+.pcjs-fieldset {
+ border: none;
+ margin: 0;
+ padding: 0;
+}
.pcjs-flag {
font-family: "Lucida Console", monospace;
font-size: small;
diff --git a/my_modules/pcjs-client/templates/components.xsl b/my_modules/pcjs-client/templates/components.xsl
index b93d187a8..5a0ef1941 100644
--- a/my_modules/pcjs-client/templates/components.xsl
+++ b/my_modules/pcjs-client/templates/components.xsl
@@ -358,7 +358,7 @@
-
diff --git a/versions/pcjs/1.15.9/components.css b/versions/pcjs/1.15.9/components.css
index 05b0f4641..647b431fd 100644
--- a/versions/pcjs/1.15.9/components.css
+++ b/versions/pcjs/1.15.9/components.css
@@ -33,6 +33,11 @@
font-family: Monaco, monospace;
font-size: x-small;
}
+.pcjs-fieldset {
+ border: none;
+ margin: 0;
+ padding: 0;
+}
.pcjs-flag {
font-family: "Lucida Console", monospace;
font-size: small;
diff --git a/versions/pcjs/1.15.9/components.xsl b/versions/pcjs/1.15.9/components.xsl
index e9aea61b7..da0804792 100644
--- a/versions/pcjs/1.15.9/components.xsl
+++ b/versions/pcjs/1.15.9/components.xsl
@@ -357,9 +357,9 @@
-
diff --git a/versions/pcjs/1.15.9/pc-dbg.js b/versions/pcjs/1.15.9/pc-dbg.js
index 62ad63e5c..64cb48c55 100644
--- a/versions/pcjs/1.15.9/pc-dbg.js
+++ b/versions/pcjs/1.15.9/pc-dbg.js
@@ -9,96 +9,96 @@ function xa(){if(void 0===ra){var a;try{window.localStorage.setItem("PCjs.localS
function Aa(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}function Ba(a,b,c){function d(){a-=1;0<=a&&(b()||(a=0));0=this.gg?12:14;this.fc=1<>2;this.hb=this.fc-1;this.Zg=(this.Kf+this.fc)/this.fc|0;this.De=this.Zg-1;this.ud=[];this.vd=[];this.cg=this.dg=!1;this.Gi();this.Ta()}A(z,gb);
-gb.prototype.Gi=function(){this.Fa=Array(this.Zg);for(var a=0;a>a.sb;0>this.sb;0>a.sb;0>a.sb].zg(b&a.hb)}
-function ob(a,b){var c=b&a.hb,d=(b&a.ed)>>a.sb;return c!=a.hb?a.Fa[d].Ij(c):a.Fa[d++].zg(c)|a.Fa[d&a.De].zg(0)<<8}function pb(a,b,c){a.Fa[(b&a.ed)>>a.sb].Gg(b&a.hb,c&255)}function qb(a,b,c){var d=b&a.hb;b=(b&a.ed)>>a.sb;d!=a.hb?a.Fa[b].Rj(d,c&65535):(a.Fa[b++].Gg(d,c&255),a.Fa[b&a.De].Gg(0,c>>8&255))}
-function rb(a){for(var b=0,c=[],d=0;d>2);for(d=0;d>2]>>>((a&3)<<3)&255},Yo:function(a){var b=a>>2;a=(a&3)<<3;var c=this.wa[b]>>>a;return 24>a?c&65535:c&255|(this.wa[b+1]&255)<<8},fp:function(a,b){var c=a>>2,d=(a&3)<<
-3;this.wa[c]=this.wa[c]&~(255<>2,d=(a&3)<<3;24>d?this.wa[c]=this.wa[c]&~(65535<>8);this.ib=!0},Vo:function(a){Eb(this.fa,this.Zd+a);return this.zg(a)},Xo:function(a){Eb(this.fa,this.Zd+a)||Eb(this.fa,this.Zd+a+1);return this.Ij(a)},ep:function(a,b){Fb(this.fa,this.Zd+a);this.Gg(a,b)},gp:function(a,b){Fb(this.fa,this.Zd+a)||Fb(this.fa,this.Zd+a+1);this.Rj(a,b)},save:function(){return this.ia?
-null:this.wa},restore:function(a){return this.ia?null==a:a&&this.mm==a.length<<2?(this.wa=a,this.ib=!0):!1},Xe:function(a,b){a||(a=[]);void 0===b&&(b=!0);Gb(this,a,b);Hb(this,a,b)},Yd:function(a,b){b?0===this.jk++&&Hb(this,Ib):0===this.ik++&&Gb(this,Ib)}};function Jb(a,b){b?0===--a.jk&&(a.Ec=a.mh?a.Af:a.Gg,a.dm=a.mh?a.Af:a.Rj):0===--a.ik&&(a.sc=a.zg,a.Rl=a.Ij)}function hb(a,b,c,d,e){a.T=b;a.fa=c;a.Zd=d;a.ik=a.jk=0;a.fa&&Kb(a.fa,d,e)}
-function Hb(a,b,c){a.Ec=b[2]&&!a.mh?b[2]:a.Af;a.dm=b[3]&&!a.mh?b[3]:a.Af;c&&(a.Gg=b[2]?b[2]:a.Af,a.Rj=b[3]?b[3]:a.Af)}function Gb(a,b,c){a.sc=b[0]?b[0]:a.Ih;a.Rl=b[1]?b[1]:a.Ih;c&&(a.zg=b[0]?b[0]:a.Ih,a.Ij=b[1]?b[1]:a.Ih)}var Cb=[ib.prototype.Wo,ib.prototype.Yo,ib.prototype.fp,ib.prototype.hp],Ib=[ib.prototype.Vo,ib.prototype.Xo,ib.prototype.ep,ib.prototype.gp];
-function Lb(a,b){z.call(this,"CPU",a,Lb);var c=a.cycles||b,d=a.multiplier||1;this.ca={};this.ca.Kd=c;this.ca.Jd=d;this.ca.vh=Math.round(this.ca.Kd/1E4)/100;this.ca.Ne=this.ca.vh*this.ca.Jd;this.qa.Lb=!1;this.qa.Mb=!1;this.qa.ri=a.autoStart;c=Oa.autostart;void 0!==c&&(this.qa.ri="true"==c?!0:"false"==c?!1:null);this.qa.hf=!1;this.ca.hg=this.ca.rf=0;this.ca.jg=a.csStart;this.ca.qf=a.csInterval;this.ca.sf=a.csStop;var e=this;this.Wn=function(){e.Te()};this.Ta()}A(z,Lb);k=Lb.prototype;
-k.pc=function(a,b,c,d){this.ra=b;this.fa=d;this.Ka=a;var e=eb(a,"Video");e&&(this.mi=function(){Mb(e)},this.Pd=function(){e.Pd()});this.oa=eb(a,"ChipSet");this.Ta()};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};k.Yb=function(a,b){if(!b){if(a&&this.restore){Nb(this);if(!this.restore(a))return!1;Ob(this)}else this.reset();this.fa?this.fa.Dn():this.da("No debugger detected")}this.qa.Lb=!0;!Pb(this)&&this.fa&&Rb(this.fa);Sb(this);return!0};
-k.Xb=function(a){this.qa.Lb=!1;return a&&this.save?this.save():!0};function Pb(a){return!0===a.qa.ri||null===a.qa.ri&&!a.fa&&void 0===a.za.run?(a.Te(),!0):!1}k.Pd=function(){};k.yk=function(){return 0};function Ob(a){void 0===a.ca.jg&&(a.ca.jg=0);void 0===a.ca.qf&&(a.ca.qf=-1);void 0===a.ca.sf&&(a.ca.sf=-1);a.qa.hf=0<=a.ca.jg&&0=a.ca.rf&&(a.ca.rf+=a.ca.qf,c=!0);0<=a.ca.sf&&a.ca.sf<=Ub(a)&&(a.ca.qf=a.ca.sf=-1,Ob(a),a.xb(),c=!0);c&&a.da(Ub(a)+" cycles: checksum="+p(a.ca.hg))}}function F(a,b,c,d){void 0!==a.za[b]&&(void 0===d&&(d=4),void 0===c&&(cb(a,"Register "+b+" is invalid"),a.xb()),c=p(c,d),a.za[b].innerHTML!=c&&(a.za[b].innerHTML=c))}k.eh=function(){};k.mi=function(){};
-k.Ab=function(a,b,c,d){var e=this;a=!1;switch(c){case "run":this.za[c]=d;d.onclick=function(){e.qa.Mb?e.xb(!0):e.Te(!0)};a=!0;break;case "reset":this.za[c]=d;d.onclick=function(){e.Ka&&Vb(e.Ka)};a=!0;break;case "speed":this.za[c]=d;a=!0;break;case "setSpeed":this.za[c]=d,d.onclick=function(){Wb(e,e.ca.Jd<<1,!0)},d.innerHTML=this.ca.Ne.toFixed(2)+"Mhz",a=!0}return a};function Xb(a,b,c){a.Re+=b;c&&(a.Pc=a.A=0)}
-function Yb(a,b){var c=30;60>c&&(c=60);2>c&&(c=2);var d=1;b&&1a.ca.vh&&(c=Math.round(c/a.ca.Jd));return c}function Nb(a){a.ca.nd=0;a.yh=1;a.Re=a.pe=a.Pc=a.A=0;Ob(a);Wb(a,1)}
-function Wb(a,b,c){void 0!==b&&(0.8>a.ca.nd/a.ca.Ne&&(b=1),a.ca.Jd=b,b=a.ca.vh*a.ca.Jd,a.ca.Ne!=b&&(a.ca.Ne=b,b=a.ca.Ne.toFixed(2)+"Mhz",a.za.setSpeed&&(a.za.setSpeed.innerHTML=b),a.da("target speed: "+b)),c&&a.Pd());Xb(a,a.pe);a.pe=0;a.ca.pf=oa();a.ca.Oe=0;Yb(a)}
-k.Te=function(a){if($a(this,!0)){this.qa.Mb||(Wb(this),this.Ka&&this.Ka.start(this.ca.pf,Ub(this)),this.qa.Mb=!0,this.oa&&Zb(this.oa),this.za.run&&(this.za.run.innerHTML="Halt"),a&&this.Pd());this.ca.Ni>=this.ca.Kd&&Yb(this,!0);this.ca.mg=0;this.ca.wh=oa();this.ca.Oe&&(a=this.ca.wh-this.ca.Oe,a>this.ca.Gk&&(this.ca.pf+=a,this.ca.pf>this.ca.wh&&(this.ca.pf=this.ca.wh)));try{do{this.zf(this.qa.hf?1:Math.round(this.ca.Pn/this.yh));var b=this.Pc-this.A;this.pe+=b;this.ca.mg+=b;Xb(this,0,!0);Tb(this,b);
-this.ca.lg-=b;0>=this.ca.lg&&(this.ca.lg+=this.ca.Kk,this.mi());this.ca.kg-=b;0>=this.ca.kg&&(this.ca.kg+=this.ca.Jk,this.eh());this.ca.tf-=b;if(0>=this.ca.tf){this.ca.tf+=this.ca.Mi;break}}while(this.qa.Mb)}catch(c){this.xb();Sb(this);this.Ka&&this.Ka.stop(oa(),Ub(this));$a(this,!1);cb(this,c.message);return}b=setTimeout;a=this.Wn;this.ca.Oe=oa();var d=this.ca.Gk;this.ca.mg&&(d=Math.round(d*this.ca.mg/this.ca.Mi));var d=d-(this.ca.Oe-this.ca.wh),e=this.ca.Oe-this.ca.pf;e&&(this.ca.nd=Math.round(this.pe/
-(10*e))/100,864E5<=e&&(this.Re=0,this.oa&&$b(this.oa,!0),Wb(this)));if(0>d||this.ca.nd=this.hg?12:14;this.fc=1<>2;this.hb=this.fc-1;this.$g=(this.Lf+this.fc)/this.fc|0;this.De=this.$g-1;this.ud=[];this.vd=[];this.dg=this.eg=!1;this.Hi();this.Ta()}A(z,gb);
+gb.prototype.Hi=function(){this.Fa=Array(this.$g);for(var a=0;a>a.vb;0>this.vb;0>a.vb;0>a.vb].Ag(b&a.hb)}
+function ob(a,b){var c=b&a.hb,d=(b&a.ed)>>a.vb;return c!=a.hb?a.Fa[d].Jj(c):a.Fa[d++].Ag(c)|a.Fa[d&a.De].Ag(0)<<8}function pb(a,b,c){a.Fa[(b&a.ed)>>a.vb].Hg(b&a.hb,c&255)}function qb(a,b,c){var d=b&a.hb;b=(b&a.ed)>>a.vb;d!=a.hb?a.Fa[b].Sj(d,c&65535):(a.Fa[b++].Hg(d,c&255),a.Fa[b&a.De].Hg(0,c>>8&255))}
+function rb(a){for(var b=0,c=[],d=0;d>2);for(d=0;d>2]>>>((a&3)<<3)&255},Zo:function(a){var b=a>>2;a=(a&3)<<3;var c=this.wa[b]>>>a;return 24>a?c&65535:c&255|(this.wa[b+1]&255)<<8},gp:function(a,b){var c=a>>2,d=(a&3)<<
+3;this.wa[c]=this.wa[c]&~(255<>2,d=(a&3)<<3;24>d?this.wa[c]=this.wa[c]&~(65535<>8);this.nb=!0},Wo:function(a){Eb(this.fa,this.Zd+a);return this.Ag(a)},Yo:function(a){Eb(this.fa,this.Zd+a)||Eb(this.fa,this.Zd+a+1);return this.Jj(a)},fp:function(a,b){Fb(this.fa,this.Zd+a);this.Hg(a,b)},hp:function(a,b){Fb(this.fa,this.Zd+a)||Fb(this.fa,this.Zd+a+1);this.Sj(a,b)},save:function(){return this.ia?
+null:this.wa},restore:function(a){return this.ia?null==a:a&&this.om==a.length<<2?(this.wa=a,this.nb=!0):!1},Xe:function(a,b){a||(a=[]);void 0===b&&(b=!0);Gb(this,a,b);Hb(this,a,b)},Yd:function(a,b){b?0===this.kk++&&Hb(this,Ib):0===this.jk++&&Gb(this,Ib)}};function Jb(a,b){b?0===--a.kk&&(a.Fc=a.nh?a.Bf:a.Hg,a.fm=a.nh?a.Bf:a.Sj):0===--a.jk&&(a.sc=a.Ag,a.Tl=a.Jj)}function hb(a,b,c,d,e){a.T=b;a.fa=c;a.Zd=d;a.jk=a.kk=0;a.fa&&Kb(a.fa,d,e)}
+function Hb(a,b,c){a.Fc=b[2]&&!a.nh?b[2]:a.Bf;a.fm=b[3]&&!a.nh?b[3]:a.Bf;c&&(a.Hg=b[2]?b[2]:a.Bf,a.Sj=b[3]?b[3]:a.Bf)}function Gb(a,b,c){a.sc=b[0]?b[0]:a.Jh;a.Tl=b[1]?b[1]:a.Jh;c&&(a.Ag=b[0]?b[0]:a.Jh,a.Jj=b[1]?b[1]:a.Jh)}var Cb=[ib.prototype.Xo,ib.prototype.Zo,ib.prototype.gp,ib.prototype.ip],Ib=[ib.prototype.Wo,ib.prototype.Yo,ib.prototype.fp,ib.prototype.hp];
+function Lb(a,b){z.call(this,"CPU",a,Lb);var c=a.cycles||b,d=a.multiplier||1;this.ca={};this.ca.Kd=c;this.ca.Jd=d;this.ca.wh=Math.round(this.ca.Kd/1E4)/100;this.ca.Ne=this.ca.wh*this.ca.Jd;this.qa.Ob=!1;this.qa.Pb=!1;this.qa.si=a.autoStart;c=Oa.autostart;void 0!==c&&(this.qa.si="true"==c?!0:"false"==c?!1:null);this.qa.hf=!1;this.ca.ig=this.ca.sf=0;this.ca.kg=a.csStart;this.ca.rf=a.csInterval;this.ca.tf=a.csStop;var e=this;this.Xn=function(){e.Te()};this.Ta()}A(z,Lb);k=Lb.prototype;
+k.pc=function(a,b,c,d){this.ra=b;this.fa=d;this.Ka=a;var e=eb(a,"Video");e&&(this.ni=function(){Mb(e)},this.Pd=function(){e.Pd()});this.oa=eb(a,"ChipSet");this.Ta()};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};k.Zb=function(a,b){if(!b){if(a&&this.restore){Nb(this);if(!this.restore(a))return!1;Ob(this)}else this.reset();this.fa?this.fa.En():this.da("No debugger detected")}this.qa.Ob=!0;!Pb(this)&&this.fa&&Rb(this.fa);Sb(this);return!0};
+k.Yb=function(a){this.qa.Ob=!1;return a&&this.save?this.save():!0};function Pb(a){return!0===a.qa.si||null===a.qa.si&&!a.fa&&void 0===a.ya.run?(a.Te(),!0):!1}k.Pd=function(){};k.Ak=function(){return 0};function Ob(a){void 0===a.ca.kg&&(a.ca.kg=0);void 0===a.ca.rf&&(a.ca.rf=-1);void 0===a.ca.tf&&(a.ca.tf=-1);a.qa.hf=0<=a.ca.kg&&0=a.ca.sf&&(a.ca.sf+=a.ca.rf,c=!0);0<=a.ca.tf&&a.ca.tf<=Ub(a)&&(a.ca.rf=a.ca.tf=-1,Ob(a),a.Bb(),c=!0);c&&a.da(Ub(a)+" cycles: checksum="+p(a.ca.ig))}}function F(a,b,c,d){void 0!==a.ya[b]&&(void 0===d&&(d=4),void 0===c&&(cb(a,"Register "+b+" is invalid"),a.Bb()),c=p(c,d),a.ya[b].innerHTML!=c&&(a.ya[b].innerHTML=c))}k.fh=function(){};k.ni=function(){};
+k.Eb=function(a,b,c,d){var e=this;a=!1;switch(c){case "run":this.ya[c]=d;d.onclick=function(){e.qa.Pb?e.Bb(!0):e.Te(!0)};a=!0;break;case "reset":this.ya[c]=d;d.onclick=function(){e.Ka&&Vb(e.Ka)};a=!0;break;case "speed":this.ya[c]=d;a=!0;break;case "setSpeed":this.ya[c]=d,d.onclick=function(){Wb(e,e.ca.Jd<<1,!0)},d.innerHTML=this.ca.Ne.toFixed(2)+"Mhz",a=!0}return a};function Xb(a,b,c){a.Re+=b;c&&(a.Pc=a.A=0)}
+function Yb(a,b){var c=30;60>c&&(c=60);2>c&&(c=2);var d=1;b&&1a.ca.wh&&(c=Math.round(c/a.ca.Jd));return c}function Nb(a){a.ca.nd=0;a.zh=1;a.Re=a.pe=a.Pc=a.A=0;Ob(a);Wb(a,1)}
+function Wb(a,b,c){void 0!==b&&(0.8>a.ca.nd/a.ca.Ne&&(b=1),a.ca.Jd=b,b=a.ca.wh*a.ca.Jd,a.ca.Ne!=b&&(a.ca.Ne=b,b=a.ca.Ne.toFixed(2)+"Mhz",a.ya.setSpeed&&(a.ya.setSpeed.innerHTML=b),a.da("target speed: "+b)),c&&a.Pd());Xb(a,a.pe);a.pe=0;a.ca.qf=oa();a.ca.Oe=0;Yb(a)}
+k.Te=function(a){if($a(this,!0)){this.qa.Pb||(Wb(this),this.Ka&&this.Ka.start(this.ca.qf,Ub(this)),this.qa.Pb=!0,this.oa&&Zb(this.oa),this.ya.run&&(this.ya.run.innerHTML="Halt"),a&&this.Pd());this.ca.Oi>=this.ca.Kd&&Yb(this,!0);this.ca.ng=0;this.ca.xh=oa();this.ca.Oe&&(a=this.ca.xh-this.ca.Oe,a>this.ca.Ik&&(this.ca.qf+=a,this.ca.qf>this.ca.xh&&(this.ca.qf=this.ca.xh)));try{do{this.Af(this.qa.hf?1:Math.round(this.ca.Qn/this.zh));var b=this.Pc-this.A;this.pe+=b;this.ca.ng+=b;Xb(this,0,!0);Tb(this,b);
+this.ca.mg-=b;0>=this.ca.mg&&(this.ca.mg+=this.ca.Mk,this.ni());this.ca.lg-=b;0>=this.ca.lg&&(this.ca.lg+=this.ca.Lk,this.fh());this.ca.uf-=b;if(0>=this.ca.uf){this.ca.uf+=this.ca.Ni;break}}while(this.qa.Pb)}catch(c){this.Bb();Sb(this);this.Ka&&this.Ka.stop(oa(),Ub(this));$a(this,!1);cb(this,c.message);return}b=setTimeout;a=this.Xn;this.ca.Oe=oa();var d=this.ca.Ik;this.ca.ng&&(d=Math.round(d*this.ca.ng/this.ca.Ni));var d=d-(this.ca.Oe-this.ca.xh),e=this.ca.Oe-this.ca.qf;e&&(this.ca.nd=Math.round(this.pe/
+(10*e))/100,864E5<=e&&(this.Re=0,this.oa&&$b(this.oa,!0),Wb(this)));if(0>d||this.ca.nd=e?(this.sa=a,this.Xa=b,this.Oc=c,this.Oa=d&65280,this.type=d&7936,cc(this)):b=-1;return b}return-1}function fc(a){return this.Xa+a}function gc(a){return this.Xa+a}function hc(a,b,c){return a+b<=this.Oc?this.Xa+a:jc.call(this,0,0,c)}
-function jc(a,b,c){c||kc.call(this.T,13,0);return-1}function mc(a,b,c){return a+b<=this.Oc?this.Xa+a:nc.call(this,0,0,c)}function nc(a,b,c){c||kc.call(this.T,13,0);return-1}function oc(a,b,c){var d=a.T.ua(c+2),e=a.T.ua(c+0)|(d&255)<<16;c=a.T.ua(c+4);a.sa=b;a.Xa=e;a.Oc=c;a.Oa=d&65280;cc(a)}bc.prototype.save=function(){return[this.sa,this.Xa,this.Oc,this.Oa,this.qk,this.Dg,this.Kc,this.Bc]};
-bc.prototype.restore=function(a){"number"==typeof a?this.load(a):(this.sa=a[0],this.Xa=a[1],this.Oc=a[2],this.Oa=a[3],this.qk=a[4],this.Dg=a[5],this.Kc=a[6],this.Bc=a[7])};function cc(a,b){void 0===b&&(b=!!(a.T.Dc&1));b?(a.load=ec,a.jd=hc,a.gc=mc,a.Oa&4096&&(6144==(a.Oa&6656)&&(a.gc=jc),a.Oa&2048||!(a.Oa&512))&&(a.gc=nc),a.Kc=a.sa&3,a.Bc=(a.Oa&24576)>>13):(a.load=dc,a.jd=fc,a.gc=gc,a.Kc=a.Bc=0)}
-function pc(a){this.Ia=a.model||8088;var b=0;switch(this.Ia){default:case 8088:b=4772727;break;case 80286:b=6E6}Lb.call(this,a,b);this.Wj=61442;this.Jg=4;this.uf=255;this.B=80286<=this.Ia?qc:rc;this.Va=sc.slice();80186<=this.Ia&&(this.uf=31,this.Va[15]=tc,this.Va[96]=uc,this.Va[97]=vc,this.Va[98]=wc,this.Va[99]=tc,this.Va[100]=tc,this.Va[101]=tc,this.Va[102]=tc,this.Va[103]=tc,this.Va[104]=xc,this.Va[105]=yc,this.Va[106]=zc,this.Va[107]=Ac,this.Va[108]=Bc,this.Va[109]=Cc,this.Va[110]=Dc,this.Va[111]=
-Ec,this.Va[192]=Fc,this.Va[193]=Gc,this.Va[200]=Ic,this.Va[201]=Jc,this.Va[241]=Kc,Mc[7]=Nc,Oc[7]=Nc,80286<=this.Ia&&(this.Wj=2,this.Jg=0,this.Va[15]=Pc,this.Va[99]=Qc,this.Va[84]=Rc));this.Lg=[];this.Mg=[];this.Pc=this.ah=0;this.qa.jh=this.qa.rk=!1;this.Fa=[];this.ze=this.sb=this.hb=this.De=0;this.U=this.Bm;this.V=this.Cm;this.O=this.In;this.P=this.Jn;this.R=this.cp;this.S=this.dp;Sc(this)}A(Lb,pc);
-var rc={Cj:4,ba:5,Aa:6,ja:7,ka:8,Q:9,W:11,X:12,Pe:4,Mk:60,Nk:83,Ub:3,tb:9,hc:16,Ch:1,Rk:19,Tk:28,Vk:16,Uk:21,Sk:37,Pk:2,Wi:9,Qk:5,Ok:33,Yi:10,Xi:8,sg:3,rg:15,il:51,jl:1,kl:2,ll:4,hl:32,Zi:15,nl:15,Vb:16,Wb:4,pl:11,ol:18,ml:24,Eb:4,ql:2,$i:16,rl:17,ej:18,sl:19,dj:5,fj:6,xl:2,wl:8,ul:9,vl:10,tl:10,gj:10,hj:10,Xk:80,Zk:144,Wk:86,Yk:154,al:101,cl:165,$k:107,bl:171,zl:70,Bl:113,yl:76,Al:124,el:80,gl:128,dl:86,fl:134,ug:3,tg:16,mj:10,lj:8,Cl:51,ic:8,Dl:17,El:36,qc:11,Fl:16,vg:10,oe:2,Ti:18,Ui:7,Vi:15,aj:12,
-bj:7,cj:11,ij:18,jj:7,kj:15,nj:15,oj:7,pj:13,tj:11,uj:7,vj:8,Gl:8,Jl:12,Hl:18,Il:17,Kl:15,rj:8,qj:20,sj:2,yj:3,wg:9,xj:5,wj:11,Aj:4,zj:17,Ll:11},qc={Cj:0,ba:0,Aa:0,ja:0,ka:0,Q:0,W:1,X:1,Pe:3,Mk:14,Nk:16,Ub:2,tb:7,hc:7,Ch:0,Rk:7,Tk:13,Vk:7,Uk:11,Sk:16,Pk:3,Wi:6,Qk:2,Ok:13,Yi:5,Xi:5,sg:2,rg:7,il:23,jl:0,kl:1,ll:3,hl:17,Zi:7,nl:11,Vb:7,Wb:3,pl:7,ol:11,ml:15,Eb:2,ql:3,$i:7,rl:8,ej:8,sl:8,dj:4,fj:4,xl:2,wl:3,ul:5,vl:2,tl:3,gj:5,hj:3,Xk:14,Zk:22,Wk:17,Yk:25,al:17,cl:25,$k:20,bl:28,zl:13,Bl:21,yl:16,Al:24,
-el:13,gl:21,dl:16,fl:24,ug:2,tg:7,mj:5,lj:5,Cl:19,ic:5,Dl:5,El:17,qc:3,Fl:5,vg:3,oe:0,Ti:8,Ui:5,Vi:9,aj:5,bj:5,cj:4,ij:5,jj:5,kj:4,nj:7,oj:5,pj:8,tj:3,uj:4,vj:3,Gl:11,Jl:11,Hl:15,Il:15,Kl:7,rj:5,qj:8,sj:0,yj:2,wg:6,xj:3,wj:6,Aj:3,zj:5,Ll:5};k=pc.prototype;k.Gi=function(a,b,c,d,e){this.Fa=a;this.ze=b;this.sb=c;this.hb=d;this.De=e};k.reset=function(){this.qa.Mb&&this.xb();Sc(this);Nb(this);this.qa.Zc=!1};
-function Sc(a){a.H=0;a.C=0;a.J=0;a.K=0;a.Y=0;a.I=0;a.G=0;a.F=0;a.Dc=65520;a.Gc=0;a.$d=1023;a.Lc={Dj:0,sa:0,Oa:0,uh:-1};a.me=0;a.xa=new bc(a,"CS");a.zb=new bc(a,"DS");a.ub=new bc(a,"SS");a.Za=new bc(a,"ES");a.am=new bc(a,"ZERO");Tc(a,0,65535);80286<=a.Ia&&(a.yc=0,a.ye=65535,a.bd=new bc(a,"LDT",!0),a.We=new bc(a,"TSS",!0),a.Nb=new bc(a,"VER",!0),Tc(a,65520,61440),a.xa.Xa=16711680);Uc(a,0);Vc(a);a.ob=0;a.Fb=a.Ag=-1;a.Ug=0;a.la=a.Ma=-1;a.D=a.zb;a.N=a.ub;a.aa=a.Ba=0}
-k.yk=function(){var a=this.H+this.C+this.J+this.K+this.Y+this.I+this.G+this.F|0;return a=a+this.va+this.xa.sa+this.zb.sa+this.ub.sa+this.Za.sa+Wc(this)|0};function Xc(a,b,c,d){void 0!==d&&(void 0===a.Lg[b]&&(a.Lg[b]=[]),a.Lg[b].push([c,d]))}function Yc(a,b){var c=a.Lg[b];if(void 0!==c)for(var d=0;d=e?(this.sa=a,this.Xa=b,this.Oc=c,this.Oa=d&65280,this.type=d&7936,cc(this)):b=-1;return b}return-1}function fc(a){return this.Xa+a}function gc(a){return this.Xa+a}function hc(a,b,c){return a+b<=this.Oc?this.Xa+a:ic.call(this,0,0,c)}
+function ic(a,b,c){c||kc.call(this.T,13,0);return-1}function mc(a,b,c){return a+b<=this.Oc?this.Xa+a:nc.call(this,0,0,c)}function nc(a,b,c){c||kc.call(this.T,13,0);return-1}function oc(a,b,c){var d=a.T.ua(c+2),e=a.T.ua(c+0)|(d&255)<<16;c=a.T.ua(c+4);a.sa=b;a.Xa=e;a.Oc=c;a.Oa=d&65280;cc(a)}bc.prototype.save=function(){return[this.sa,this.Xa,this.Oc,this.Oa,this.sk,this.Eg,this.Lc,this.Bc]};
+bc.prototype.restore=function(a){"number"==typeof a?this.load(a):(this.sa=a[0],this.Xa=a[1],this.Oc=a[2],this.Oa=a[3],this.sk=a[4],this.Eg=a[5],this.Lc=a[6],this.Bc=a[7])};function cc(a,b){void 0===b&&(b=!!(a.T.Ec&1));b?(a.load=ec,a.jd=hc,a.gc=mc,a.Oa&4096&&(6144==(a.Oa&6656)&&(a.gc=ic),a.Oa&2048||!(a.Oa&512))&&(a.gc=nc),a.Lc=a.sa&3,a.Bc=(a.Oa&24576)>>13):(a.load=dc,a.jd=fc,a.gc=gc,a.Lc=a.Bc=0)}
+function pc(a){this.Ia=a.model||8088;var b=0;switch(this.Ia){default:case 8088:b=4772727;break;case 80286:b=6E6}Lb.call(this,a,b);this.Xj=61442;this.Kg=4;this.vf=255;this.B=80286<=this.Ia?qc:rc;this.Va=sc.slice();80186<=this.Ia&&(this.vf=31,this.Va[15]=tc,this.Va[96]=uc,this.Va[97]=vc,this.Va[98]=wc,this.Va[99]=tc,this.Va[100]=tc,this.Va[101]=tc,this.Va[102]=tc,this.Va[103]=tc,this.Va[104]=xc,this.Va[105]=yc,this.Va[106]=zc,this.Va[107]=Ac,this.Va[108]=Bc,this.Va[109]=Cc,this.Va[110]=Dc,this.Va[111]=
+Ec,this.Va[192]=Fc,this.Va[193]=Gc,this.Va[200]=Ic,this.Va[201]=Jc,this.Va[241]=Kc,Lc[7]=Nc,Oc[7]=Nc,80286<=this.Ia&&(this.Xj=2,this.Kg=0,this.Va[15]=Pc,this.Va[99]=Qc,this.Va[84]=Rc));this.Mg=[];this.Ng=[];this.Pc=this.bh=0;this.qa.kh=this.qa.tk=!1;this.Fa=[];this.ze=this.vb=this.hb=this.De=0;this.U=this.Cm;this.V=this.Dm;this.O=this.Jn;this.P=this.Kn;this.R=this.dp;this.S=this.ep;Sc(this)}A(Lb,pc);
+var rc={Dj:4,ba:5,Aa:6,ja:7,ka:8,Q:9,W:11,X:12,Pe:4,Ok:60,Pk:83,Vb:3,wb:9,hc:16,Dh:1,Tk:19,Vk:28,Xk:16,Wk:21,Uk:37,Rk:2,Xi:9,Sk:5,Qk:33,Zi:10,Yi:8,tg:3,sg:15,kl:51,ll:1,ml:2,nl:4,jl:32,$i:15,pl:15,Wb:16,Xb:4,rl:11,ql:18,ol:24,Ib:4,sl:2,aj:16,tl:17,fj:18,ul:19,ej:5,gj:6,zl:2,yl:8,wl:9,xl:10,vl:10,hj:10,ij:10,Zk:80,al:144,Yk:86,$k:154,cl:101,el:165,bl:107,dl:171,Bl:70,Dl:113,Al:76,Cl:124,gl:80,il:128,fl:86,hl:134,vg:3,ug:16,nj:10,mj:8,El:51,ic:8,Fl:17,Gl:36,qc:11,Hl:16,wg:10,oe:2,Ui:18,Vi:7,Wi:15,bj:12,
+cj:7,dj:11,jj:18,kj:7,lj:15,oj:15,pj:7,qj:13,uj:11,vj:7,wj:8,Il:8,Ll:12,Jl:18,Kl:17,Ml:15,sj:8,rj:20,tj:2,zj:3,xg:9,yj:5,xj:11,Bj:4,Aj:17,Nl:11},qc={Dj:0,ba:0,Aa:0,ja:0,ka:0,Q:0,W:1,X:1,Pe:3,Ok:14,Pk:16,Vb:2,wb:7,hc:7,Dh:0,Tk:7,Vk:13,Xk:7,Wk:11,Uk:16,Rk:3,Xi:6,Sk:2,Qk:13,Zi:5,Yi:5,tg:2,sg:7,kl:23,ll:0,ml:1,nl:3,jl:17,$i:7,pl:11,Wb:7,Xb:3,rl:7,ql:11,ol:15,Ib:2,sl:3,aj:7,tl:8,fj:8,ul:8,ej:4,gj:4,zl:2,yl:3,wl:5,xl:2,vl:3,hj:5,ij:3,Zk:14,al:22,Yk:17,$k:25,cl:17,el:25,bl:20,dl:28,Bl:13,Dl:21,Al:16,Cl:24,
+gl:13,il:21,fl:16,hl:24,vg:2,ug:7,nj:5,mj:5,El:19,ic:5,Fl:5,Gl:17,qc:3,Hl:5,wg:3,oe:0,Ui:8,Vi:5,Wi:9,bj:5,cj:5,dj:4,jj:5,kj:5,lj:4,oj:7,pj:5,qj:8,uj:3,vj:4,wj:3,Il:11,Ll:11,Jl:15,Kl:15,Ml:7,sj:5,rj:8,tj:0,zj:2,xg:6,yj:3,xj:6,Bj:3,Aj:5,Nl:5};k=pc.prototype;k.Hi=function(a,b,c,d,e){this.Fa=a;this.ze=b;this.vb=c;this.hb=d;this.De=e};k.reset=function(){this.qa.Pb&&this.Bb();Sc(this);Nb(this);this.qa.Zc=!1};
+function Sc(a){a.H=0;a.C=0;a.J=0;a.K=0;a.Y=0;a.I=0;a.G=0;a.F=0;a.Ec=65520;a.Hc=0;a.$d=1023;a.Mc={Ej:0,sa:0,Oa:0,vh:-1};a.me=0;a.xa=new bc(a,"CS");a.Db=new bc(a,"DS");a.yb=new bc(a,"SS");a.Za=new bc(a,"ES");a.cm=new bc(a,"ZERO");Tc(a,0,65535);80286<=a.Ia&&(a.yc=0,a.ye=65535,a.bd=new bc(a,"LDT",!0),a.We=new bc(a,"TSS",!0),a.Qb=new bc(a,"VER",!0),Tc(a,65520,61440),a.xa.Xa=16711680);Uc(a,0);Vc(a);a.pb=0;a.Jb=a.Bg=-1;a.Vg=0;a.la=a.Ma=-1;a.D=a.Db;a.N=a.yb;a.aa=a.Ba=0}
+k.Ak=function(){var a=this.H+this.C+this.J+this.K+this.Y+this.I+this.G+this.F|0;return a=a+this.va+this.xa.sa+this.Db.sa+this.yb.sa+this.Za.sa+Wc(this)|0};function Xc(a,b,c,d){void 0!==d&&(void 0===a.Mg[b]&&(a.Mg[b]=[]),a.Mg[b].push([c,d]))}function Yc(a,b){var c=a.Mg[b];if(void 0!==c)for(var d=0;d>1?128:0}function td(a){return(a.ma^a.pa^a.ma>>1)&a.ga>>1?2048:0}function ud(a){a.Z&=~a.ga}function vd(a){a.pa=a.ma&16|a.pa&-17}function wd(a){a.Z|=a.ga-1}function xd(a){sd(a)&&(a.ma^=a.ga>>1|a.ga>>2,a.pa^=32896)}function yd(a){a.ma&=~a.ga;a.pa=a.ma&32896|a.pa&-32897}function zd(a){a.Z|=a.ga}function Ad(a){a.pa=~(a.ma&16)&16|a.pa&-17}function Bd(a){a.Z&=~(a.ga-1)}function Cd(a){sd(a)||(a.ma^=a.ga>>1|a.ga>>2,a.pa^=32896)}
-function Dd(a){a.ma|=a.ga;a.pa=a.ma&32896|a.pa&-32897}function Wc(a){return a.Ca&-2262|od(a)|pd(a)|qd(a)|rd(a)|sd(a)|td(a)}function Uc(a,b){a.ga=256;a.Z=a.ma=a.pa=0;b&1&&zd(a);b&4||(a.ma|=1);b&16&&(a.pa|=16);b&64||wd(a);b&128&&Cd(a);b&2048&&Dd(a);a.xa.Kc?b=b&-12289|a.Ca&12288:(a.me=(b&12288)>>12,!a.me||a.Dc&1||(a.me=0));a.xa.Kc>a.me&&(b=b&-513|a.Ca&512);a.Ca=a.Ca&-1793|b&1792|a.Wj;a.Ca&256&&(a.ob|=2,a.aa|=4)}
-k.Ab=function(a,b,c,d){var e=!1;switch(c){case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "CS":case "DS":case "SS":case "ES":case "IP":case "PC":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "O":this.za[c]=d;e=!0;break;default:e=Lb.prototype.Ab.call(this,a,b,c,d)}return e};k.nb=function(a){return this.Fa[(a&this.ze)>>this.sb].sc(a&this.hb)};
-k.ua=function(a){var b=a&this.hb;a=(a&this.ze)>>this.sb;this.A-=this.B.Cj;return b!=this.hb?this.Fa[a].Rl(b):this.Fa[a++].sc(b)|this.Fa[a&this.De].sc(0)<<8};k.Od=function(a,b){this.Fa[(a&this.ze)>>this.sb].Ec(a&this.hb,b&255)};k.cd=function(a,b){var c=a&this.hb,d=(a&this.ze)>>this.sb;this.A-=this.B.Cj;c!=this.hb?this.Fa[d].dm(c,b&65535):(this.Fa[d++].Ec(c,b&255),this.Fa[d&this.De].Ec(0,b>>8&255))};k.Bm=function(a,b){this.Fg=a;this.la=a.jd(this.xg=b,0);return this.aa&1?0:this.nb(this.la)};
-k.Cm=function(a,b){this.Fg=a;this.la=a.jd(this.xg=b,1);return this.aa&1?0:this.ua(this.la)};k.In=function(a,b){this.Fg=a;this.Ma=this.la=a.jd(this.xg=b,0);return this.aa&1?0:this.nb(this.la)};k.Jn=function(a,b){this.Fg=a;this.Ma=this.la=a.jd(this.xg=b,1);return this.aa&1?0:this.ua(this.la)};k.cp=function(a){this.aa&2||this.Od(this.Fg.gc(this.xg,1),a)};k.dp=function(a){this.aa&2||this.cd(this.Fg.gc(this.xg,2),a)};k.ha=function(){var a=this.nb(this.Ga);this.Ga=this.xa.Xa+(this.va=this.va+1&65535);return a};
-k.M=function(){var a=this.nb(this.Ga)<<24>>24;this.Ga=this.xa.Xa+(this.va=this.va+1&65535);return a&65535};k.L=function(){var a=this.ua(this.Ga);this.Ga=this.xa.Xa+(this.va=this.va+2&65535);return a};k.La=function(){var a=this.Y;this.Y=this.Y+2&65535;return this.ua(this.ub.jd(a,1))};function H(a,b){var c=a.Y=a.Y-2&65535;a.cd(a.ub.gc(c,1),b)}
-k.eh=function(){F(this,"AX",this.H);F(this,"BX",this.C);F(this,"CX",this.J);F(this,"DX",this.K);F(this,"SP",this.Y);F(this,"BP",this.I);F(this,"SI",this.G);F(this,"DI",this.F);F(this,"CS",this.xa.sa);F(this,"DS",this.zb.sa);F(this,"SS",this.ub.sa);F(this,"ES",this.Za.sa);F(this,"IP",this.va);var a=Wc(this);F(this,"PS",a);F(this,"C",a&1?1:0,1);F(this,"P",a&4?1:0,1);F(this,"A",a&16?1:0,1);F(this,"Z",a&64?1:0,1);F(this,"S",a&128?1:0,1);F(this,"T",a&256?1:0,1);F(this,"I",a&512?1:0,1);F(this,"D",a&1024?
-1:0,1);F(this,"O",a&2048?1:0,1);this.za.speed&&(this.za.speed.innerHTML=this.qa.Mb&&this.ca.nd?this.ca.nd.toFixed(2)+"Mhz":"Stopped")};
-k.zf=function(a){this.qa.jh=!0;var b=this.qa.rk=a&&this.fa&&Ed(this.fa);this.Pc=this.A=a;this.oa&&$b(this.oa);a||!this.fa||E(this.fa,Fd)||(this.aa|=4);do{var c=this.aa&240;if(c)this.Ba|=c;else if(this.Fh=this.Ga,this.la=this.Ma=-1,this.D=this.zb,this.N=this.ub,this.Ba=this.aa&256,this.ob){a:{if(!(this.aa&4))if(this.ob&1&&this.Ca&512){if(c=Gd(this.oa),-1<=c&&(this.ob&=-2,0<=c)){this.ob&=-5;Hd.call(this,c,null,11);c=!0;break a}}else if(this.ob&2){this.ob&=-3;Hd.call(this,1,null,11);c=!0;break a}if(c=
-this.ob&8){for(var c=this.oa,d=!1,e=0;ethis.Ma?0>this.la?this.B.Ub:this.B.tb:this.B.hc;return(this.Z=this.ma=a+b)&255}function Od(a,b){this.ga=256;this.A-=0>this.Ma?0>this.la?this.B.Ub:this.B.tb:this.B.hc;return(this.Z=this.ma=this.pa=a|b)&255}
-function Pd(a,b){this.pa=a^b;this.Z=this.ma=a+b+(this.Z&this.ga?1:0);this.ga=256;this.A-=0>this.Ma?0>this.la?this.B.Ub:this.B.tb:this.B.hc;return this.Z&255}function Qd(a,b){this.pa=a^b;this.Z=this.ma=a-b-(this.Z&this.ga?1:0);this.ga=256;this.A-=0>this.Ma?0>this.la?this.B.Ub:this.B.tb:this.B.hc;return this.Z&255}function Rd(a,b){this.ga=256;this.A-=0>this.Ma?0>this.la?this.B.Ub:this.B.tb:this.B.hc;return(this.Z=this.ma=this.pa=a&b)&255}
-function Sd(a,b){this.pa=a^b;this.ga=256;this.A-=0>this.Ma?0>this.la?this.B.Ub:this.B.tb:this.B.hc;return(this.Z=this.ma=a-b)&255}function Td(a,b){this.ga=256;this.A-=0>this.Ma?0>this.la?this.B.Ub:this.B.tb:this.B.hc;return(this.Z=this.ma=this.pa=a^b)&255}function Ud(a,b){this.pa=a^b;this.ga=256;this.Z=this.ma=a-b;this.A-=0>this.Ma?0>this.la?this.B.Ub:this.B.Wi:this.B.tb;this.aa|=2;return a}
-function Vd(a,b){this.pa=a^b;this.ga=65536;this.A-=0>this.Ma?0>this.la?this.B.Ub:this.B.tb:this.B.hc;return(this.Z=this.ma=a+b)&65535}function Wd(a,b){this.ga=65536;this.A-=0>this.Ma?0>this.la?this.B.Ub:this.B.tb:this.B.hc;return(this.Z=this.ma=this.pa=a|b)&65535}function Xd(a,b){this.pa=a^b;this.Z=this.ma=a+b+(this.Z&this.ga?1:0);this.ga=65536;this.A-=0>this.Ma?0>this.la?this.B.Ub:this.B.tb:this.B.hc;return this.Z&65535}
-function Yd(a,b){this.pa=a^b;this.Z=this.ma=a-b-(this.Z&this.ga?1:0);this.ga=65536;this.A-=0>this.Ma?0>this.la?this.B.Ub:this.B.tb:this.B.hc;return this.Z&65535}function Zd(a,b){this.ga=65536;this.A-=0>this.Ma?0>this.la?this.B.Ub:this.B.tb:this.B.hc;return(this.Z=this.ma=this.pa=a&b)&65535}function $d(a,b){this.pa=a^b;this.ga=65536;this.A-=0>this.Ma?0>this.la?this.B.Ub:this.B.tb:this.B.hc;return(this.Z=this.ma=a-b)&65535}
-function ae(a,b){this.ga=65536;this.A-=0>this.Ma?0>this.la?this.B.Ub:this.B.tb:this.B.hc;return(this.Z=this.ma=this.pa=a^b)&65535}function be(a,b){this.pa=a^b;this.ga=65536;this.Z=this.ma=a-b;this.A-=0>this.Ma?0>this.la?this.B.Ub:this.B.Wi:this.B.tb;this.aa|=2;return a}function ce(a,b){this.Z=this.Z&this.ga-1|(a&b?this.ga:0);(a^a>>1)&b>>1?Dd(this):yd(this)}function de(a,b){var c=a;if(b){var d,e=b&7;e?c=(d=a<>8-e)&255:d=a<<8;ce.call(this,d,256)}return c}
+function Dd(a){a.ma|=a.ga;a.pa=a.ma&32896|a.pa&-32897}function Wc(a){return a.Ca&-2262|od(a)|pd(a)|qd(a)|rd(a)|sd(a)|td(a)}function Uc(a,b){a.ga=256;a.Z=a.ma=a.pa=0;b&1&&zd(a);b&4||(a.ma|=1);b&16&&(a.pa|=16);b&64||wd(a);b&128&&Cd(a);b&2048&&Dd(a);a.xa.Lc?b=b&-12289|a.Ca&12288:(a.me=(b&12288)>>12,!a.me||a.Ec&1||(a.me=0));a.xa.Lc>a.me&&(b=b&-513|a.Ca&512);a.Ca=a.Ca&-1793|b&1792|a.Xj;a.Ca&256&&(a.pb|=2,a.aa|=4)}
+k.Eb=function(a,b,c,d){var e=!1;switch(c){case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "CS":case "DS":case "SS":case "ES":case "IP":case "PC":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "O":this.ya[c]=d;e=!0;break;default:e=Lb.prototype.Eb.call(this,a,b,c,d)}return e};k.ob=function(a){return this.Fa[(a&this.ze)>>this.vb].sc(a&this.hb)};
+k.ua=function(a){var b=a&this.hb;a=(a&this.ze)>>this.vb;this.A-=this.B.Dj;return b!=this.hb?this.Fa[a].Tl(b):this.Fa[a++].sc(b)|this.Fa[a&this.De].sc(0)<<8};k.Od=function(a,b){this.Fa[(a&this.ze)>>this.vb].Fc(a&this.hb,b&255)};k.cd=function(a,b){var c=a&this.hb,d=(a&this.ze)>>this.vb;this.A-=this.B.Dj;c!=this.hb?this.Fa[d].fm(c,b&65535):(this.Fa[d++].Fc(c,b&255),this.Fa[d&this.De].Fc(0,b>>8&255))};k.Cm=function(a,b){this.Gg=a;this.la=a.jd(this.yg=b,0);return this.aa&1?0:this.ob(this.la)};
+k.Dm=function(a,b){this.Gg=a;this.la=a.jd(this.yg=b,1);return this.aa&1?0:this.ua(this.la)};k.Jn=function(a,b){this.Gg=a;this.Ma=this.la=a.jd(this.yg=b,0);return this.aa&1?0:this.ob(this.la)};k.Kn=function(a,b){this.Gg=a;this.Ma=this.la=a.jd(this.yg=b,1);return this.aa&1?0:this.ua(this.la)};k.dp=function(a){this.aa&2||this.Od(this.Gg.gc(this.yg,1),a)};k.ep=function(a){this.aa&2||this.cd(this.Gg.gc(this.yg,2),a)};k.ha=function(){var a=this.ob(this.Ga);this.Ga=this.xa.Xa+(this.va=this.va+1&65535);return a};
+k.M=function(){var a=this.ob(this.Ga)<<24>>24;this.Ga=this.xa.Xa+(this.va=this.va+1&65535);return a&65535};k.L=function(){var a=this.ua(this.Ga);this.Ga=this.xa.Xa+(this.va=this.va+2&65535);return a};k.La=function(){var a=this.Y;this.Y=this.Y+2&65535;return this.ua(this.yb.jd(a,1))};function H(a,b){var c=a.Y=a.Y-2&65535;a.cd(a.yb.gc(c,1),b)}
+k.fh=function(){F(this,"AX",this.H);F(this,"BX",this.C);F(this,"CX",this.J);F(this,"DX",this.K);F(this,"SP",this.Y);F(this,"BP",this.I);F(this,"SI",this.G);F(this,"DI",this.F);F(this,"CS",this.xa.sa);F(this,"DS",this.Db.sa);F(this,"SS",this.yb.sa);F(this,"ES",this.Za.sa);F(this,"IP",this.va);var a=Wc(this);F(this,"PS",a);F(this,"C",a&1?1:0,1);F(this,"P",a&4?1:0,1);F(this,"A",a&16?1:0,1);F(this,"Z",a&64?1:0,1);F(this,"S",a&128?1:0,1);F(this,"T",a&256?1:0,1);F(this,"I",a&512?1:0,1);F(this,"D",a&1024?
+1:0,1);F(this,"O",a&2048?1:0,1);this.ya.speed&&(this.ya.speed.innerHTML=this.qa.Pb&&this.ca.nd?this.ca.nd.toFixed(2)+"Mhz":"Stopped")};
+k.Af=function(a){this.qa.kh=!0;var b=this.qa.tk=a&&this.fa&&Ed(this.fa);this.Pc=this.A=a;this.oa&&$b(this.oa);a||!this.fa||E(this.fa,Fd)||(this.aa|=4);do{var c=this.aa&240;if(c)this.Ba|=c;else if(this.Gh=this.Ga,this.la=this.Ma=-1,this.D=this.Db,this.N=this.yb,this.Ba=this.aa&256,this.pb){a:{if(!(this.aa&4))if(this.pb&1&&this.Ca&512){if(c=Gd(this.oa),-1<=c&&(this.pb&=-2,0<=c)){this.pb&=-5;Hd.call(this,c,null,11);c=!0;break a}}else if(this.pb&2){this.pb&=-3;Hd.call(this,1,null,11);c=!0;break a}if(c=
+this.pb&8){for(var c=this.oa,d=!1,e=0;ethis.Ma?0>this.la?this.B.Vb:this.B.wb:this.B.hc;return(this.Z=this.ma=a+b)&255}function Od(a,b){this.ga=256;this.A-=0>this.Ma?0>this.la?this.B.Vb:this.B.wb:this.B.hc;return(this.Z=this.ma=this.pa=a|b)&255}
+function Pd(a,b){this.pa=a^b;this.Z=this.ma=a+b+(this.Z&this.ga?1:0);this.ga=256;this.A-=0>this.Ma?0>this.la?this.B.Vb:this.B.wb:this.B.hc;return this.Z&255}function Qd(a,b){this.pa=a^b;this.Z=this.ma=a-b-(this.Z&this.ga?1:0);this.ga=256;this.A-=0>this.Ma?0>this.la?this.B.Vb:this.B.wb:this.B.hc;return this.Z&255}function Rd(a,b){this.ga=256;this.A-=0>this.Ma?0>this.la?this.B.Vb:this.B.wb:this.B.hc;return(this.Z=this.ma=this.pa=a&b)&255}
+function Sd(a,b){this.pa=a^b;this.ga=256;this.A-=0>this.Ma?0>this.la?this.B.Vb:this.B.wb:this.B.hc;return(this.Z=this.ma=a-b)&255}function Td(a,b){this.ga=256;this.A-=0>this.Ma?0>this.la?this.B.Vb:this.B.wb:this.B.hc;return(this.Z=this.ma=this.pa=a^b)&255}function Ud(a,b){this.pa=a^b;this.ga=256;this.Z=this.ma=a-b;this.A-=0>this.Ma?0>this.la?this.B.Vb:this.B.Xi:this.B.wb;this.aa|=2;return a}
+function Vd(a,b){this.pa=a^b;this.ga=65536;this.A-=0>this.Ma?0>this.la?this.B.Vb:this.B.wb:this.B.hc;return(this.Z=this.ma=a+b)&65535}function Wd(a,b){this.ga=65536;this.A-=0>this.Ma?0>this.la?this.B.Vb:this.B.wb:this.B.hc;return(this.Z=this.ma=this.pa=a|b)&65535}function Xd(a,b){this.pa=a^b;this.Z=this.ma=a+b+(this.Z&this.ga?1:0);this.ga=65536;this.A-=0>this.Ma?0>this.la?this.B.Vb:this.B.wb:this.B.hc;return this.Z&65535}
+function Yd(a,b){this.pa=a^b;this.Z=this.ma=a-b-(this.Z&this.ga?1:0);this.ga=65536;this.A-=0>this.Ma?0>this.la?this.B.Vb:this.B.wb:this.B.hc;return this.Z&65535}function Zd(a,b){this.ga=65536;this.A-=0>this.Ma?0>this.la?this.B.Vb:this.B.wb:this.B.hc;return(this.Z=this.ma=this.pa=a&b)&65535}function $d(a,b){this.pa=a^b;this.ga=65536;this.A-=0>this.Ma?0>this.la?this.B.Vb:this.B.wb:this.B.hc;return(this.Z=this.ma=a-b)&65535}
+function ae(a,b){this.ga=65536;this.A-=0>this.Ma?0>this.la?this.B.Vb:this.B.wb:this.B.hc;return(this.Z=this.ma=this.pa=a^b)&65535}function be(a,b){this.pa=a^b;this.ga=65536;this.Z=this.ma=a-b;this.A-=0>this.Ma?0>this.la?this.B.Vb:this.B.Xi:this.B.wb;this.aa|=2;return a}function ce(a,b){this.Z=this.Z&this.ga-1|(a&b?this.ga:0);(a^a>>1)&b>>1?Dd(this):yd(this)}function de(a,b){var c=a;if(b){var d,e=b&7;e?c=(d=a<>8-e)&255:d=a<<8;ce.call(this,d,256)}return c}
function ee(a,b){var c=a;if(b){var d,e=b&15;e?c=(d=a<>16-e)&65535:d=a<<16;ce.call(this,d,65536)}return c}function fe(a,b){var c=a;if(b){var d,c=b&7,c=d=(a>>c|a<<8-c)&255;d&128&&(d|=256);ce.call(this,d,256)}return c}function ge(a,b){var c=a;if(b){var d,c=b&15,c=d=(a>>c|a<<16-c)&65535;d&32768&&(d|=65536);ce.call(this,d,65536)}return c}
-function he(a,b){var c=a;if(b){var d;(d=(b&this.uf)%9)?(d=a<>9-d,c=d&255):d=a|(this.Z&this.ga?1:0)<<8;ce.call(this,d,256)}return c}function ie(a,b){var c=a;if(b){var d;(d=(b&this.uf)%17)?(d=a<>17-d,c=d&65535):d=a|(this.Z&this.ga?1:0)<<16;ce.call(this,d,65536)}return c}function je(a,b){var c=a;b&&(c=(b&this.uf)%9,c=a>>c|(this.Z&this.ga?1:0)<<8-c|a<<9-c,ce.call(this,c,256),c&=255);return c}
-function ke(a,b){var c=a;b&&(c=(b&this.uf)%17,c=a>>c|(this.Z&this.ga?1:0)<<16-c|a<<17-c,ce.call(this,c,65536),c&=65535);return c}function le(a,b){var c=a;b&&(c=8>9-d,c=d&255):d=a|(this.Z&this.ga?1:0)<<8;ce.call(this,d,256)}return c}function ie(a,b){var c=a;if(b){var d;(d=(b&this.vf)%17)?(d=a<>17-d,c=d&65535):d=a|(this.Z&this.ga?1:0)<<16;ce.call(this,d,65536)}return c}function je(a,b){var c=a;b&&(c=(b&this.vf)%9,c=a>>c|(this.Z&this.ga?1:0)<<8-c|a<<9-c,ce.call(this,c,256),c&=255);return c}
+function ke(a,b){var c=a;b&&(c=(b&this.vf)%17,c=a>>c|(this.Z&this.ga?1:0)<<16-c|a<<17-c,ce.call(this,c,65536),c&=65535);return c}function le(a,b){var c=a;b&&(c=8>b-1;this.Z=this.ma=c>>1;this.Z=c&1?this.Z|256:this.Z&-257;this.pa=a^this.Z;this.ga=256;a=this.Z}return a&255}function oe(a,b){if(b){var c=16>b-1;this.Z=this.ma=c>>1;this.Z=c&1?this.Z|65536:this.Z&-65537;this.pa=a^this.Z;this.ga=65536;a=this.Z}return a&65535}function pe(a,b){if(b){8>24>>b-1;this.Z=this.ma=c>>1;this.Z=c&1?this.Z|256:this.Z&-257;this.pa=a^this.Z;this.ga=256;a=this.Z}return a&255}
-function qe(a,b){if(b){16>16>>b-1;this.Z=this.ma=c>>1;this.Z=c&1?this.Z|65536:this.Z&-65537;this.pa=a^this.Z;this.ga=65536;a=this.Z}return a&65535}function re(){this.A-=0>this.la?2:this.B.Kl;return 1}function se(){var a=this.J&this.uf;this.A-=(0>this.la?this.B.rj:this.B.qj)+(a<this.la?this.B.rj:this.B.qj)+(a<>16>>b-1;this.Z=this.ma=c>>1;this.Z=c&1?this.Z|65536:this.Z&-65537;this.pa=a^this.Z;this.ga=65536;a=this.Z}return a&65535}function re(){this.A-=0>this.la?2:this.B.Ml;return 1}function se(){var a=this.J&this.vf;this.A-=(0>this.la?this.B.sj:this.B.rj)+(a<this.la?this.B.sj:this.B.rj)+(a<this.Ma?this.B.ic:this.B.Dl;return b},ve,ve,ve,ve,ve,ve,ve],ze=[function(a,b){this.A-=0>this.Ma?this.B.vl:this.B.tl;return b},J,J,J,J,J,J,J],Ae=[de,fe,he,je,le,ne,J,pe],Be=[ee,ge,ie,ke,me,oe,J,qe],De=[function(a,b){b=this.ha();this.Z=this.ma=this.pa=a&b;this.ga=256;this.A-=0>this.la?this.B.xj:this.B.wj;this.aa|=2;return a},J,function(a){this.A-=0>this.la?this.B.ug:this.B.tg;return a^255},function(a,b){b=0;this.pa=
-a^b;this.ga=256;this.A-=0>this.la?this.B.ug:this.B.tg;return(this.Z=this.ma=b-a)&255},function(a){this.H=this.Fb=(this.Z=(this.H&255)*a)&65535;this.pa=this.ma=this.Z;this.ga=256;this.H&65280?(zd(this),Dd(this)):(ud(this),yd(this));this.A-=0>this.la?this.B.zl:this.B.yl;this.aa|=2;return a},function(a){var b=(this.H<<24>>24)*(a<<24>>24);this.H=this.Fb=b&65535;this.Z=this.pa=this.ma=b;this.ga=256;127b?(zd(this),Dd(this)):(ud(this),yd(this));this.A-=0>this.la?this.B.el:this.B.dl;this.aa|=2;return a},
-function(a){if(!a)return Ce.call(this),a;var b=this.H/a;if(255this.la?this.B.Xk:this.B.Wk;this.aa|=2;return a},function(a){if(!a)return Ce.call(this),a;var b=(this.H<<16>>16)/(a<<24>>24);if(b>b<<24>>24&65535)return Ce.call(this),a;this.Fb=this.H=b&255|((this.H<<16>>16)%(a<<24>>24)&255)<<8;this.ma=this.pa=this.Z=b|256;this.ga=256;this.A-=0>this.la?this.B.al:this.B.$k;this.aa|=2;return a}],
-Ee=[function(a,b){b=this.L();this.Z=this.ma=this.pa=a&b;this.ga=65536;this.A-=0>this.la?this.B.xj:this.B.wj;this.aa|=2;return a},J,function(a){this.A-=0>this.la?this.B.ug:this.B.tg;return a^65535},function(a,b){b=0;this.pa=a^b;this.ga=65536;this.A-=0>this.la?this.B.ug:this.B.tg;return(this.Z=this.ma=b-a)&65535},function(a){this.Fb=this.H=(this.Z=this.H*a)&65535;this.Ag=this.K=this.Z>>16&65535;this.pa=this.ma=this.Z;this.ga=65536;this.K?(zd(this),Dd(this)):(ud(this),yd(this));this.A-=0>this.la?this.B.Bl:
-this.B.Al;this.aa|=2;return a},function(a){var b=(this.H<<16>>16)*(a<<16>>16);this.H=this.Fb=b&65535;this.K=this.Ag=b>>16&65535;this.Z=this.pa=this.ma=b;this.ga=65536;32767b?(zd(this),Dd(this)):(ud(this),yd(this));this.A-=0>this.la?this.B.gl:this.B.fl;this.aa|=2;return a},function(a,b){if(!a)return Ce.call(this),a;b=this.H+65536*this.K;var c=Math.floor(b/a);if(65536<=c)return Ce.call(this),a;this.Fb=this.H=c&65535;this.Ag=this.K=b%a&65535;this.ma=this.pa=this.Z=c|65536;this.ga=65536;this.A-=
-0>this.la?this.B.Zk:this.B.Yk;this.aa|=2;return a},function(a,b){if(!a)return Ce.call(this),a;var c=a<<16>>16;b=this.K<<16|this.H;var d=Math.floor(b/c);if(d!=(d&65535)<<16>>16)return Ce.call(this),a;this.Fb=this.H=d&65535;this.Ag=this.K=b%c&65535;this.ma=this.pa=this.Z=d|65536;this.ga=65536;this.A-=0>this.la?this.B.cl:this.B.bl;this.aa|=2;return a}],Mc=[function(a){this.pa=a;a=(this.ma=a+1)&255;this.Z=a|(this.Z&this.ga?1:0)<<8;this.ga=256;this.A-=0>this.la?this.B.sg:this.B.rg;return a},function(a){this.pa=
-a;a=(this.ma=a-1)&255;this.Z=a|(this.Z&this.ga?1:0)<<8;this.ga=256;this.A-=0>this.la?this.B.sg:this.B.rg;return a},J,J,J,J,J,J],Oc=[function(a){this.pa=a;a=(this.ma=a+1)&65535;this.Z=a|(this.Z&this.ga?1:0)<<16;this.ga=65536;this.A-=0>this.la?this.B.sg:this.B.rg;return a},function(a){this.pa=a;a=(this.ma=a-1)&65535;this.Z=a|(this.Z&this.ga?1:0)<<16;this.ga=65536;this.A-=0>this.la?this.B.sg:this.B.rg;return a},function(a){H(this,this.va);G(this,a);this.A-=0>this.la?this.B.Vk:this.B.Uk;this.aa|=2;return a},
-function(a){if(0>this.la)return J.call(this,a);H(this,this.xa.sa);H(this,this.va);Tc(this,a,this.ua(this.la+2));this.A-=this.B.Sk;this.aa|=2;return a},function(a){G(this,a);this.A-=0>this.la?this.B.pl:this.B.ol;this.aa|=2;return a},function(a){if(0>this.la)return J.call(this,a);Tc(this,a,this.ua(this.la+2));this.A-=this.B.ml;this.aa|=2;return a},function(a){var b=a;this.aa&512&&(a=a-2&65535,80286>this.Ia&&(b=a));H(this,b);this.A-=0>this.la?this.B.qc:this.B.Fl;this.aa|=2;return a},ve],Fe=[de,fe,he,
-je,le,ne,J,pe],Ge=[ee,ge,ie,ke,me,oe,J,qe];function He(a,b){this.A-=0>this.Ma?0>this.la?this.B.xl:this.B.wl:this.B.ul;return b}function Ie(){return He.call(this,0,this.Fb)}function Je(a,b){this.Z=this.ma=this.pa=a&b;this.ga=256;this.A-=0>this.Ma?0>this.la?this.B.yj:this.B.wg:this.B.wg;this.aa|=2;return a}function Ke(a,b){this.Z=this.ma=this.pa=a&b;this.ga=65536;this.A-=0>this.Ma?0>this.la?this.B.yj:this.B.wg:this.B.wg;this.aa|=2;return a}
-function Le(a,b){var c=(b<<16>>16)*(this.ha()<<24>>24);this.Z=this.pa=this.ma=c;this.ga=256;32767c?(zd(this),Dd(this)):(ud(this),yd(this));this.A-=0>this.la?21:24;return c&65535}function Me(a,b){var c=(b<<16>>16)*(this.L()<<16>>16);this.Z=this.pa=this.ma=c;this.ga=65536;32767c?(zd(this),Dd(this)):(ud(this),yd(this));this.A-=0>this.la?21:24;return c&65535}function Ne(a){return a}function Oe(a){if(0>this.la)return L.call(this),a;this.A-=this.B.ql;return this.la}
-function Pe(a,b){if(0>this.la)return L.call(this),a;kd(this,this.ua(this.la+2));this.A-=this.B.$i;return b}function Qe(a,b){if(0>this.la)return L.call(this),a;md(this,this.ua(this.la+2));this.A-=this.B.$i;return b}function Re(a){if(0>this.la)return tc.call(this),a;var b=a<<16>>16,c=this.ua(this.la)<<16>>16,d=this.ua(this.la+2)<<16>>16;this.A-=this.B.Ok;if(bd)G(this,this.Fh-this.xa.Xa),Hd.call(this,5,null,0);this.aa|=2;return a}
-function Se(a,b){this.A-=10+(0>this.la?0:1);if((a&3)<(b&3))return a=a&-4|b&3,Bd(this),a;wd(this);return a}function Te(a,b){this.A-=14+(0>this.la?0:2);if(0<=this.Nb.load(b,!0)&&this.Nb.Bc>=this.xa.Kc&&this.Nb.Bc>=(b&3))return Bd(this),this.Nb.Oa&65280;wd(this);return a}function Xe(a,b){this.A-=14+(0>this.la?0:2);if(b&65528&&0<=this.Nb.load(b,!0)&&(7168==(this.Nb.Oa&7168)||this.Nb.Bc>=this.xa.Kc)&&this.Nb.Bc>=(b&3))return Bd(this),this.Nb.Oc;wd(this);return a}
-function Ye(a,b){if(0>this.la){switch(this.Ug&7){case 0:this.H=this.H&-256|a;break;case 1:this.J=this.J&-256|a;break;case 2:this.K=this.K&-256|a;break;case 3:this.C=this.C&-256|a;break;case 4:this.H=this.H&255|a<<8;break;case 5:this.J=this.J&255|a<<8;break;case 6:this.K=this.K&255|a<<8;break;case 7:this.C=this.C&255|a<<8}this.A-=this.B.Aj}else this.Ma=this.la,this.R(a),this.A-=this.B.zj;return b}
-function Ze(a,b){if(0>this.la){switch(this.Ug&7){case 0:this.H=a;break;case 1:this.J=a;break;case 2:this.K=a;break;case 3:this.C=a;break;case 4:this.Y=a;break;case 5:this.I=a;break;case 6:this.G=a;break;case 7:this.F=a}this.A-=this.B.Aj}else this.Ma=this.la,this.S(a),this.A-=this.B.zj;return b}function Hd(a,b,c){id(this,a)&&(H(this,Wc(this)),this.Ca&=this.Lc.uh,H(this,this.xa.sa),H(this,this.va),null!=b&&H(this,b),Tc(this,this.Lc.Dj,this.Lc.sa),this.A-=this.B.il+c)}
-function $e(a){a|=this.Dc&1;this.Dc=this.Dc&65520|a&-65521;this.Dc&1&&Vc(this,!0)}function Ce(){G(this,this.Fh-this.xa.Xa);Hd.call(this,0,null,2)}function kc(a,b,c){this.fa&&(E(this.fa,Kd)&&this.fa.message("Fault 0x"+t(a)+(null!=b?" (0x"+v(b)+")":"")+" on opcode 0x"+t(nb(this.ra,this.Ga))+" at "+ea(this.va,this.xa.sa)),c&&this.xb());80186<=this.Ia&&(G(this,this.Fh-this.xa.Xa),Hd.call(this,a,b,0))}function tc(){kc.call(this,6);this.xb()}
-function L(){G(this,this.Fh-this.xa.Xa);cb(this,"Undefined opcode 0x"+t(nb(this.ra,this.Ga))+" at "+ea(this.va,this.xa.sa));this.xb()}function af(a){a=a.call(this,this.H&255,this.H&255);this.H=this.H&-256|a}function bf(a){a=a.call(this,this.H&255,this.J&255);this.H=this.H&-256|a}function cf(a){a=a.call(this,this.H&255,this.K&255);this.H=this.H&-256|a}function df(a){a=a.call(this,this.H&255,this.C&255);this.H=this.H&-256|a}function ef(a){a=a.call(this,this.H&255,this.H>>8);this.H=this.H&-256|a}
+var we=[Nd,Od,Pd,Qd,Rd,Sd,Td,Ud],xe=[Vd,Wd,Xd,Yd,Zd,$d,ae,be],ye=[function(a,b){this.A-=0>this.Ma?this.B.ic:this.B.Fl;return b},ve,ve,ve,ve,ve,ve,ve],ze=[function(a,b){this.A-=0>this.Ma?this.B.xl:this.B.vl;return b},J,J,J,J,J,J,J],Ae=[de,fe,he,je,le,ne,J,pe],Be=[ee,ge,ie,ke,me,oe,J,qe],De=[function(a,b){b=this.ha();this.Z=this.ma=this.pa=a&b;this.ga=256;this.A-=0>this.la?this.B.yj:this.B.xj;this.aa|=2;return a},J,function(a){this.A-=0>this.la?this.B.vg:this.B.ug;return a^255},function(a,b){b=0;this.pa=
+a^b;this.ga=256;this.A-=0>this.la?this.B.vg:this.B.ug;return(this.Z=this.ma=b-a)&255},function(a){this.H=this.Jb=(this.Z=(this.H&255)*a)&65535;this.pa=this.ma=this.Z;this.ga=256;this.H&65280?(zd(this),Dd(this)):(ud(this),yd(this));this.A-=0>this.la?this.B.Bl:this.B.Al;this.aa|=2;return a},function(a){var b=(this.H<<24>>24)*(a<<24>>24);this.H=this.Jb=b&65535;this.Z=this.pa=this.ma=b;this.ga=256;127b?(zd(this),Dd(this)):(ud(this),yd(this));this.A-=0>this.la?this.B.gl:this.B.fl;this.aa|=2;return a},
+function(a){if(!a)return Ce.call(this),a;var b=this.H/a;if(255this.la?this.B.Zk:this.B.Yk;this.aa|=2;return a},function(a){if(!a)return Ce.call(this),a;var b=(this.H<<16>>16)/(a<<24>>24);if(b>b<<24>>24&65535)return Ce.call(this),a;this.Jb=this.H=b&255|((this.H<<16>>16)%(a<<24>>24)&255)<<8;this.ma=this.pa=this.Z=b|256;this.ga=256;this.A-=0>this.la?this.B.cl:this.B.bl;this.aa|=2;return a}],
+Ee=[function(a,b){b=this.L();this.Z=this.ma=this.pa=a&b;this.ga=65536;this.A-=0>this.la?this.B.yj:this.B.xj;this.aa|=2;return a},J,function(a){this.A-=0>this.la?this.B.vg:this.B.ug;return a^65535},function(a,b){b=0;this.pa=a^b;this.ga=65536;this.A-=0>this.la?this.B.vg:this.B.ug;return(this.Z=this.ma=b-a)&65535},function(a){this.Jb=this.H=(this.Z=this.H*a)&65535;this.Bg=this.K=this.Z>>16&65535;this.pa=this.ma=this.Z;this.ga=65536;this.K?(zd(this),Dd(this)):(ud(this),yd(this));this.A-=0>this.la?this.B.Dl:
+this.B.Cl;this.aa|=2;return a},function(a){var b=(this.H<<16>>16)*(a<<16>>16);this.H=this.Jb=b&65535;this.K=this.Bg=b>>16&65535;this.Z=this.pa=this.ma=b;this.ga=65536;32767b?(zd(this),Dd(this)):(ud(this),yd(this));this.A-=0>this.la?this.B.il:this.B.hl;this.aa|=2;return a},function(a,b){if(!a)return Ce.call(this),a;b=this.H+65536*this.K;var c=Math.floor(b/a);if(65536<=c)return Ce.call(this),a;this.Jb=this.H=c&65535;this.Bg=this.K=b%a&65535;this.ma=this.pa=this.Z=c|65536;this.ga=65536;this.A-=
+0>this.la?this.B.al:this.B.$k;this.aa|=2;return a},function(a,b){if(!a)return Ce.call(this),a;var c=a<<16>>16;b=this.K<<16|this.H;var d=Math.floor(b/c);if(d!=(d&65535)<<16>>16)return Ce.call(this),a;this.Jb=this.H=d&65535;this.Bg=this.K=b%c&65535;this.ma=this.pa=this.Z=d|65536;this.ga=65536;this.A-=0>this.la?this.B.el:this.B.dl;this.aa|=2;return a}],Lc=[function(a){this.pa=a;a=(this.ma=a+1)&255;this.Z=a|(this.Z&this.ga?1:0)<<8;this.ga=256;this.A-=0>this.la?this.B.tg:this.B.sg;return a},function(a){this.pa=
+a;a=(this.ma=a-1)&255;this.Z=a|(this.Z&this.ga?1:0)<<8;this.ga=256;this.A-=0>this.la?this.B.tg:this.B.sg;return a},J,J,J,J,J,J],Oc=[function(a){this.pa=a;a=(this.ma=a+1)&65535;this.Z=a|(this.Z&this.ga?1:0)<<16;this.ga=65536;this.A-=0>this.la?this.B.tg:this.B.sg;return a},function(a){this.pa=a;a=(this.ma=a-1)&65535;this.Z=a|(this.Z&this.ga?1:0)<<16;this.ga=65536;this.A-=0>this.la?this.B.tg:this.B.sg;return a},function(a){H(this,this.va);G(this,a);this.A-=0>this.la?this.B.Xk:this.B.Wk;this.aa|=2;return a},
+function(a){if(0>this.la)return J.call(this,a);H(this,this.xa.sa);H(this,this.va);Tc(this,a,this.ua(this.la+2));this.A-=this.B.Uk;this.aa|=2;return a},function(a){G(this,a);this.A-=0>this.la?this.B.rl:this.B.ql;this.aa|=2;return a},function(a){if(0>this.la)return J.call(this,a);Tc(this,a,this.ua(this.la+2));this.A-=this.B.ol;this.aa|=2;return a},function(a){var b=a;this.aa&512&&(a=a-2&65535,80286>this.Ia&&(b=a));H(this,b);this.A-=0>this.la?this.B.qc:this.B.Hl;this.aa|=2;return a},ve],Fe=[de,fe,he,
+je,le,ne,J,pe],Ge=[ee,ge,ie,ke,me,oe,J,qe];function He(a,b){this.A-=0>this.Ma?0>this.la?this.B.zl:this.B.yl:this.B.wl;return b}function Ie(){return He.call(this,0,this.Jb)}function Je(a,b){this.Z=this.ma=this.pa=a&b;this.ga=256;this.A-=0>this.Ma?0>this.la?this.B.zj:this.B.xg:this.B.xg;this.aa|=2;return a}function Ke(a,b){this.Z=this.ma=this.pa=a&b;this.ga=65536;this.A-=0>this.Ma?0>this.la?this.B.zj:this.B.xg:this.B.xg;this.aa|=2;return a}
+function Le(a,b){var c=(b<<16>>16)*(this.ha()<<24>>24);this.Z=this.pa=this.ma=c;this.ga=256;32767c?(zd(this),Dd(this)):(ud(this),yd(this));this.A-=0>this.la?21:24;return c&65535}function Me(a,b){var c=(b<<16>>16)*(this.L()<<16>>16);this.Z=this.pa=this.ma=c;this.ga=65536;32767c?(zd(this),Dd(this)):(ud(this),yd(this));this.A-=0>this.la?21:24;return c&65535}function Ne(a){return a}function Oe(a){if(0>this.la)return L.call(this),a;this.A-=this.B.sl;return this.la}
+function Pe(a,b){if(0>this.la)return L.call(this),a;kd(this,this.ua(this.la+2));this.A-=this.B.aj;return b}function Qe(a,b){if(0>this.la)return L.call(this),a;md(this,this.ua(this.la+2));this.A-=this.B.aj;return b}function Re(a){if(0>this.la)return tc.call(this),a;var b=a<<16>>16,c=this.ua(this.la)<<16>>16,d=this.ua(this.la+2)<<16>>16;this.A-=this.B.Qk;if(bd)G(this,this.Gh-this.xa.Xa),Hd.call(this,5,null,0);this.aa|=2;return a}
+function Se(a,b){this.A-=10+(0>this.la?0:1);if((a&3)<(b&3))return a=a&-4|b&3,Bd(this),a;wd(this);return a}function Te(a,b){this.A-=14+(0>this.la?0:2);if(0<=this.Qb.load(b,!0)&&this.Qb.Bc>=this.xa.Lc&&this.Qb.Bc>=(b&3))return Bd(this),this.Qb.Oa&65280;wd(this);return a}function Xe(a,b){this.A-=14+(0>this.la?0:2);if(b&65528&&0<=this.Qb.load(b,!0)&&(7168==(this.Qb.Oa&7168)||this.Qb.Bc>=this.xa.Lc)&&this.Qb.Bc>=(b&3))return Bd(this),this.Qb.Oc;wd(this);return a}
+function Ye(a,b){if(0>this.la){switch(this.Vg&7){case 0:this.H=this.H&-256|a;break;case 1:this.J=this.J&-256|a;break;case 2:this.K=this.K&-256|a;break;case 3:this.C=this.C&-256|a;break;case 4:this.H=this.H&255|a<<8;break;case 5:this.J=this.J&255|a<<8;break;case 6:this.K=this.K&255|a<<8;break;case 7:this.C=this.C&255|a<<8}this.A-=this.B.Bj}else this.Ma=this.la,this.R(a),this.A-=this.B.Aj;return b}
+function Ze(a,b){if(0>this.la){switch(this.Vg&7){case 0:this.H=a;break;case 1:this.J=a;break;case 2:this.K=a;break;case 3:this.C=a;break;case 4:this.Y=a;break;case 5:this.I=a;break;case 6:this.G=a;break;case 7:this.F=a}this.A-=this.B.Bj}else this.Ma=this.la,this.S(a),this.A-=this.B.Aj;return b}function Hd(a,b,c){id(this,a)&&(H(this,Wc(this)),this.Ca&=this.Mc.vh,H(this,this.xa.sa),H(this,this.va),null!=b&&H(this,b),Tc(this,this.Mc.Ej,this.Mc.sa),this.A-=this.B.kl+c)}
+function $e(a){a|=this.Ec&1;this.Ec=this.Ec&65520|a&-65521;this.Ec&1&&Vc(this,!0)}function Ce(){G(this,this.Gh-this.xa.Xa);Hd.call(this,0,null,2)}function kc(a,b,c){this.fa&&(E(this.fa,Kd)&&this.fa.message("Fault 0x"+t(a)+(null!=b?" (0x"+v(b)+")":"")+" on opcode 0x"+t(nb(this.ra,this.Ga))+" at "+ea(this.va,this.xa.sa)),c&&this.Bb());80186<=this.Ia&&(G(this,this.Gh-this.xa.Xa),Hd.call(this,a,b,0))}function tc(){kc.call(this,6);this.Bb()}
+function L(){G(this,this.Gh-this.xa.Xa);cb(this,"Undefined opcode 0x"+t(nb(this.ra,this.Ga))+" at "+ea(this.va,this.xa.sa));this.Bb()}function af(a){a=a.call(this,this.H&255,this.H&255);this.H=this.H&-256|a}function bf(a){a=a.call(this,this.H&255,this.J&255);this.H=this.H&-256|a}function cf(a){a=a.call(this,this.H&255,this.K&255);this.H=this.H&-256|a}function df(a){a=a.call(this,this.H&255,this.C&255);this.H=this.H&-256|a}function ef(a){a=a.call(this,this.H&255,this.H>>8);this.H=this.H&-256|a}
function ff(a){a=a.call(this,this.H&255,this.J>>8);this.H=this.H&-256|a}function gf(a){a=a.call(this,this.H&255,this.K>>8);this.H=this.H&-256|a}function hf(a){a=a.call(this,this.H&255,this.C>>8);this.H=this.H&-256|a}function jf(a){a=a.call(this,this.J&255,this.H&255);this.J=this.J&-256|a}function kf(a){a=a.call(this,this.J&255,this.J&255);this.J=this.J&-256|a}function lf(a){a=a.call(this,this.J&255,this.K&255);this.J=this.J&-256|a}
function mf(a){a=a.call(this,this.J&255,this.C&255);this.J=this.J&-256|a}function nf(a){a=a.call(this,this.J&255,this.H>>8);this.J=this.J&-256|a}function of(a){a=a.call(this,this.J&255,this.J>>8);this.J=this.J&-256|a}function pf(a){a=a.call(this,this.J&255,this.K>>8);this.J=this.J&-256|a}function qf(a){a=a.call(this,this.J&255,this.C>>8);this.J=this.J&-256|a}function rf(a){a=a.call(this,this.K&255,this.H&255);this.K=this.K&-256|a}
function sf(a){a=a.call(this,this.K&255,this.J&255);this.K=this.K&-256|a}function tf(a){a=a.call(this,this.K&255,this.K&255);this.K=this.K&-256|a}function uf(a){a=a.call(this,this.K&255,this.C&255);this.K=this.K&-256|a}function vf(a){a=a.call(this,this.K&255,this.H>>8);this.K=this.K&-256|a}function wf(a){a=a.call(this,this.K&255,this.J>>8);this.K=this.K&-256|a}function xf(a){a=a.call(this,this.K&255,this.K>>8);this.K=this.K&-256|a}
@@ -377,282 +377,282 @@ b.call(this))},function(a,b){this.K=a[3].call(this,this.K,b.call(this))},functio
this.K,b.call(this))},function(a,b){this.C=a[4].call(this,this.C,b.call(this))},function(a,b){this.Y=a[4].call(this,this.Y,b.call(this))},function(a,b){this.I=a[4].call(this,this.I,b.call(this))},function(a,b){this.G=a[4].call(this,this.G,b.call(this))},function(a,b){this.F=a[4].call(this,this.F,b.call(this))},function(a,b){this.H=a[5].call(this,this.H,b.call(this))},function(a,b){this.J=a[5].call(this,this.J,b.call(this))},function(a,b){this.K=a[5].call(this,this.K,b.call(this))},function(a,b){this.C=
a[5].call(this,this.C,b.call(this))},function(a,b){this.Y=a[5].call(this,this.Y,b.call(this))},function(a,b){this.I=a[5].call(this,this.I,b.call(this))},function(a,b){this.G=a[5].call(this,this.G,b.call(this))},function(a,b){this.F=a[5].call(this,this.F,b.call(this))},function(a,b){this.H=a[6].call(this,this.H,b.call(this))},function(a,b){this.J=a[6].call(this,this.J,b.call(this))},function(a,b){this.K=a[6].call(this,this.K,b.call(this))},function(a,b){this.C=a[6].call(this,this.C,b.call(this))},
function(a,b){this.aa|=512;this.Y=a[6].call(this,this.Y,b.call(this))},function(a,b){this.I=a[6].call(this,this.I,b.call(this))},function(a,b){this.G=a[6].call(this,this.G,b.call(this))},function(a,b){this.F=a[6].call(this,this.F,b.call(this))},function(a,b){this.H=a[7].call(this,this.H,b.call(this))},function(a,b){this.J=a[7].call(this,this.J,b.call(this))},function(a,b){this.K=a[7].call(this,this.K,b.call(this))},function(a,b){this.C=a[7].call(this,this.C,b.call(this))},function(a,b){this.Y=a[7].call(this,
-this.Y,b.call(this))},function(a,b){this.I=a[7].call(this,this.I,b.call(this))},function(a,b){this.G=a[7].call(this,this.G,b.call(this))},function(a,b){this.F=a[7].call(this,this.F,b.call(this))}],Dh=[function(){var a=this.ha();16>(a&56)&&(this.aa|=1);Bh[a].call(this,dd,ue)},function(){var a=this.ha();a&16||(this.aa|=1);Bh[a].call(this,Ch,ue)},function(){N[this.ha()].call(this,Te)},function(){N[this.ha()].call(this,Xe)},L,function(){this.xa.Kc?kc.call(this,13,0,!0):($e.call(this,this.ua(2054)),this.F=
-this.ua(2086),this.G=this.ua(2088),this.I=this.ua(2090),this.Y=this.ua(2092),this.C=this.ua(2094),this.K=this.ua(2096),this.J=this.ua(2098),this.H=this.ua(2100),oc(this.Za,this.ua(2084),2102),oc(this.xa,this.ua(2082),2108),oc(this.ub,this.ua(2080),2114),oc(this.zb,this.ua(2078),2120),Uc(this,this.ua(2072)),G(this,this.ua(2074)),this.yc=this.ua(2126)|this.ua(2128)<<16,this.ye=this.yc+this.ua(2130),oc(this.bd,this.ua(2076),2132),this.Gc=this.ua(2138)|this.ua(2140)<<16,this.$d=this.Gc+this.ua(2142),
+this.Y,b.call(this))},function(a,b){this.I=a[7].call(this,this.I,b.call(this))},function(a,b){this.G=a[7].call(this,this.G,b.call(this))},function(a,b){this.F=a[7].call(this,this.F,b.call(this))}],Dh=[function(){var a=this.ha();16>(a&56)&&(this.aa|=1);Bh[a].call(this,dd,ue)},function(){var a=this.ha();a&16||(this.aa|=1);Bh[a].call(this,Ch,ue)},function(){N[this.ha()].call(this,Te)},function(){N[this.ha()].call(this,Xe)},L,function(){this.xa.Lc?kc.call(this,13,0,!0):($e.call(this,this.ua(2054)),this.F=
+this.ua(2086),this.G=this.ua(2088),this.I=this.ua(2090),this.Y=this.ua(2092),this.C=this.ua(2094),this.K=this.ua(2096),this.J=this.ua(2098),this.H=this.ua(2100),oc(this.Za,this.ua(2084),2102),oc(this.xa,this.ua(2082),2108),oc(this.yb,this.ua(2080),2114),oc(this.Db,this.ua(2078),2120),Uc(this,this.ua(2072)),G(this,this.ua(2074)),this.yc=this.ua(2126)|this.ua(2128)<<16,this.ye=this.yc+this.ua(2130),oc(this.bd,this.ua(2076),2132),this.Hc=this.ua(2138)|this.ua(2140)<<16,this.$d=this.Hc+this.ua(2142),
oc(this.We,this.ua(2070),2144),this.A-=195)},L,L,L,L,L,tc,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,
-L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L],ed=[function(){this.A-=2+(0>this.la?0:1);return this.bd.sa},function(){this.A-=2+(0>this.la?0:1);return this.We.sa},function(a){this.aa|=2;this.bd.load(a);this.A-=17+(0>this.la?0:2);return a},function(a){this.aa|=2;this.We.load(a);this.A-=17+(0>this.la?0:2);return a},function(a){this.aa|=2;this.A-=14+(0>this.la?0:2);if(0<=this.Nb.load(a,!0)&&2048!=(this.Nb.Oa&2560)&&(this.Nb.Bc>=this.xa.Kc&&this.Nb.Bc>=(a&3)||7168==(this.Nb.Oa&7168)))return Bd(this),a;
-wd(this);return a},function(a){this.aa|=2;this.A-=14+(0>this.la?0:2);if(0<=this.Nb.load(a,!0)&&512==(this.Nb.Oa&2560)&&this.Nb.Bc>=this.xa.Kc&&this.Nb.Bc>=(a&3))return Bd(this),a;wd(this);return a},J,J],fd=[Nc,Nc,Nc,Nc,Nc,Nc,J,J],dd=fd,Ch=[function(a){0>this.la?tc.call(this):(a=this.ye-this.yc,this.cd(this.la+2,this.yc),this.cd(this.la+4,65280|this.yc>>16),this.A-=11);return a},function(a){0>this.la?tc.call(this):(a=this.$d-this.Gc,this.cd(this.la+2,this.Gc),this.cd(this.la+4,65280|this.Gc>>16),this.A-=
-12);return a},function(a){0>this.la?tc.call(this):(this.yc=this.ua(this.la+2)|this.nb(this.la+4)<<16,this.ye=this.yc+a,this.aa|=2,this.A-=11);return a},function(a){0>this.la?tc.call(this):(this.Gc=this.ua(this.la+2)|this.nb(this.la+4)<<16,this.$d=this.Gc+a,this.aa|=2,this.A-=12);return a},function(){this.A-=2+(0>this.la?0:1);return this.Dc},J,function(a){$e.call(this,a);this.A-=0>this.la?3:6;this.aa|=2;return a},J];function Pc(){Dh[this.ha()].call(this)}
-function Rc(){H(this,this.Y);this.A-=this.B.qc}function uc(){var a=this.Y;H(this,this.H);H(this,this.J);H(this,this.K);H(this,this.C);H(this,a);H(this,this.I);H(this,this.G);H(this,this.F);this.A-=this.B.El}function vc(){this.F=this.La();this.G=this.La();this.I=this.La();this.Y+=2;this.C=this.La();this.K=this.La();this.J=this.La();this.H=this.La();this.A-=this.B.Cl}function wc(){N[this.ha()].call(this,Re)}function Qc(){yh[this.ha()].call(this,Se)}function xc(){H(this,this.L());this.A-=this.B.qc}
+L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L],ed=[function(){this.A-=2+(0>this.la?0:1);return this.bd.sa},function(){this.A-=2+(0>this.la?0:1);return this.We.sa},function(a){this.aa|=2;this.bd.load(a);this.A-=17+(0>this.la?0:2);return a},function(a){this.aa|=2;this.We.load(a);this.A-=17+(0>this.la?0:2);return a},function(a){this.aa|=2;this.A-=14+(0>this.la?0:2);if(0<=this.Qb.load(a,!0)&&2048!=(this.Qb.Oa&2560)&&(this.Qb.Bc>=this.xa.Lc&&this.Qb.Bc>=(a&3)||7168==(this.Qb.Oa&7168)))return Bd(this),a;
+wd(this);return a},function(a){this.aa|=2;this.A-=14+(0>this.la?0:2);if(0<=this.Qb.load(a,!0)&&512==(this.Qb.Oa&2560)&&this.Qb.Bc>=this.xa.Lc&&this.Qb.Bc>=(a&3))return Bd(this),a;wd(this);return a},J,J],fd=[Nc,Nc,Nc,Nc,Nc,Nc,J,J],dd=fd,Ch=[function(a){0>this.la?tc.call(this):(a=this.ye-this.yc,this.cd(this.la+2,this.yc),this.cd(this.la+4,65280|this.yc>>16),this.A-=11);return a},function(a){0>this.la?tc.call(this):(a=this.$d-this.Hc,this.cd(this.la+2,this.Hc),this.cd(this.la+4,65280|this.Hc>>16),this.A-=
+12);return a},function(a){0>this.la?tc.call(this):(this.yc=this.ua(this.la+2)|this.ob(this.la+4)<<16,this.ye=this.yc+a,this.aa|=2,this.A-=11);return a},function(a){0>this.la?tc.call(this):(this.Hc=this.ua(this.la+2)|this.ob(this.la+4)<<16,this.$d=this.Hc+a,this.aa|=2,this.A-=12);return a},function(){this.A-=2+(0>this.la?0:1);return this.Ec},J,function(a){$e.call(this,a);this.A-=0>this.la?3:6;this.aa|=2;return a},J];function Pc(){Dh[this.ha()].call(this)}
+function Rc(){H(this,this.Y);this.A-=this.B.qc}function uc(){var a=this.Y;H(this,this.H);H(this,this.J);H(this,this.K);H(this,this.C);H(this,a);H(this,this.I);H(this,this.G);H(this,this.F);this.A-=this.B.Gl}function vc(){this.F=this.La();this.G=this.La();this.I=this.La();this.Y+=2;this.C=this.La();this.K=this.La();this.J=this.La();this.H=this.La();this.A-=this.B.El}function wc(){N[this.ha()].call(this,Re)}function Qc(){yh[this.ha()].call(this,Se)}function xc(){H(this,this.L());this.A-=this.B.qc}
function yc(){N[this.ha()].call(this,Me)}function zc(){H(this,this.ha());this.A-=this.B.qc}function Ac(){N[this.ha()].call(this,Le)}function Bc(){var a=1,b=0,c=5;this.Ba&192&&(a=this.J,b=1,this.Ba&256&&(c=4));if(a--){var d=ub(this.ra,this.K,this.Ga-b-1);this.Od(this.Za.gc(this.F,0),d);this.F=this.F+(this.Ca&1024?-1:1)&65535;this.A-=c;this.J-=b;a&&(nd(this,-2),this.aa|=256)}}
function Cc(){var a=1,b=0,c=5;this.Ba&192&&(a=this.J,b=1,this.Ba&256&&(c=4));if(a--){var d=this.Ga-b-1,d=ub(this.ra,this.K,d)|ub(this.ra,this.K,d)<<8;this.cd(this.Za.gc(this.F,1),d);this.F=this.F+(this.Ca&1024?-2:2)&65535;this.A-=c;this.J-=b;a&&(nd(this,-2),this.aa|=256)}}
-function Dc(){var a=1,b=0,c=5;this.Ba&192&&(a=this.J,b=1,this.Ba&256&&(c=4));if(a--){var d=this.nb(this.zb.jd(this.G,0));this.G=this.G+(this.Ca&1024?-1:1)&65535;this.A-=c;this.J-=b;Ab(this.ra,this.K,d,this.Ga-b-1);a&&(nd(this,-2),this.aa|=256)}}
-function Ec(){var a=1,b=0,c=5;this.Ba&192&&(a=this.J,b=1,this.Ba&256&&(c=4));if(a--){var d=this.ua(this.zb.jd(this.G,1));this.G=this.G+(this.Ca&1024?-2:2)&65535;this.A-=c;this.J-=b;b=this.Ga-b-1;Ab(this.ra,this.K,d&255,b);Ab(this.ra,this.K,d>>8,b);a&&(nd(this,-2),this.aa|=256)}}function Eh(){var a=this.M();td(this)?(G(this,this.va+a),this.A-=this.B.Vb):this.A-=this.B.Wb}function Fh(){var a=this.M();td(this)?this.A-=this.B.Wb:(G(this,this.va+a),this.A-=this.B.Vb)}
-function Gh(){var a=this.M();od(this)?(G(this,this.va+a),this.A-=this.B.Vb):this.A-=this.B.Wb}function Hh(){var a=this.M();od(this)?this.A-=this.B.Wb:(G(this,this.va+a),this.A-=this.B.Vb)}function Ih(){var a=this.M();rd(this)?(G(this,this.va+a),this.A-=this.B.Vb):this.A-=this.B.Wb}function Jh(){var a=this.M();rd(this)?this.A-=this.B.Wb:(G(this,this.va+a),this.A-=this.B.Vb)}function Kh(){var a=this.M();od(this)||rd(this)?(G(this,this.va+a),this.A-=this.B.Vb):this.A-=this.B.Wb}
-function Lh(){var a=this.M();od(this)||rd(this)?this.A-=this.B.Wb:(G(this,this.va+a),this.A-=this.B.Vb)}function Mh(){var a=this.M();sd(this)?(G(this,this.va+a),this.A-=this.B.Vb):this.A-=this.B.Wb}function Nh(){var a=this.M();sd(this)?this.A-=this.B.Wb:(G(this,this.va+a),this.A-=this.B.Vb)}function Oh(){var a=this.M();pd(this)?(G(this,this.va+a),this.A-=this.B.Vb):this.A-=this.B.Wb}function Ph(){var a=this.M();pd(this)?this.A-=this.B.Wb:(G(this,this.va+a),this.A-=this.B.Vb)}
-function Qh(){var a=this.M();!sd(this)!=!td(this)?(G(this,this.va+a),this.A-=this.B.Vb):this.A-=this.B.Wb}function Rh(){var a=this.M();!sd(this)==!td(this)?(G(this,this.va+a),this.A-=this.B.Vb):this.A-=this.B.Wb}function Sh(){var a=this.M();rd(this)||!sd(this)!=!td(this)?(G(this,this.va+a),this.A-=this.B.Vb):this.A-=this.B.Wb}function Th(){var a=this.M();rd(this)||!sd(this)!=!td(this)?this.A-=this.B.Wb:(G(this,this.va+a),this.A-=this.B.Vb)}
-function Uh(){Ah[this.ha()].call(this,we,this.ha);this.A-=0>this.Ma?1:this.B.Ch}function Fc(){Ah[this.ha()].call(this,Fe,te)}function Gc(){Bh[this.ha()].call(this,Ge,te)}function Vh(){var a=this.L();G(this,this.La());this.Y=this.Y+a&65535;this.A-=this.B.Jl}function Wh(){G(this,this.La());this.A-=this.B.Gl}
-function Ic(){var a=this.L(),b=this.ha()&31;this.A-=11;H(this,this.I);var c=this.Y;if(0>8,b);a&&(nd(this,-2),this.aa|=256)}}function Eh(){var a=this.M();td(this)?(G(this,this.va+a),this.A-=this.B.Wb):this.A-=this.B.Xb}function Fh(){var a=this.M();td(this)?this.A-=this.B.Xb:(G(this,this.va+a),this.A-=this.B.Wb)}
+function Gh(){var a=this.M();od(this)?(G(this,this.va+a),this.A-=this.B.Wb):this.A-=this.B.Xb}function Hh(){var a=this.M();od(this)?this.A-=this.B.Xb:(G(this,this.va+a),this.A-=this.B.Wb)}function Ih(){var a=this.M();rd(this)?(G(this,this.va+a),this.A-=this.B.Wb):this.A-=this.B.Xb}function Jh(){var a=this.M();rd(this)?this.A-=this.B.Xb:(G(this,this.va+a),this.A-=this.B.Wb)}function Kh(){var a=this.M();od(this)||rd(this)?(G(this,this.va+a),this.A-=this.B.Wb):this.A-=this.B.Xb}
+function Lh(){var a=this.M();od(this)||rd(this)?this.A-=this.B.Xb:(G(this,this.va+a),this.A-=this.B.Wb)}function Mh(){var a=this.M();sd(this)?(G(this,this.va+a),this.A-=this.B.Wb):this.A-=this.B.Xb}function Nh(){var a=this.M();sd(this)?this.A-=this.B.Xb:(G(this,this.va+a),this.A-=this.B.Wb)}function Oh(){var a=this.M();pd(this)?(G(this,this.va+a),this.A-=this.B.Wb):this.A-=this.B.Xb}function Ph(){var a=this.M();pd(this)?this.A-=this.B.Xb:(G(this,this.va+a),this.A-=this.B.Wb)}
+function Qh(){var a=this.M();!sd(this)!=!td(this)?(G(this,this.va+a),this.A-=this.B.Wb):this.A-=this.B.Xb}function Rh(){var a=this.M();!sd(this)==!td(this)?(G(this,this.va+a),this.A-=this.B.Wb):this.A-=this.B.Xb}function Sh(){var a=this.M();rd(this)||!sd(this)!=!td(this)?(G(this,this.va+a),this.A-=this.B.Wb):this.A-=this.B.Xb}function Th(){var a=this.M();rd(this)||!sd(this)!=!td(this)?this.A-=this.B.Xb:(G(this,this.va+a),this.A-=this.B.Wb)}
+function Uh(){Ah[this.ha()].call(this,we,this.ha);this.A-=0>this.Ma?1:this.B.Dh}function Fc(){Ah[this.ha()].call(this,Fe,te)}function Gc(){Bh[this.ha()].call(this,Ge,te)}function Vh(){var a=this.L();G(this,this.La());this.Y=this.Y+a&65535;this.A-=this.B.Ll}function Wh(){G(this,this.La());this.A-=this.B.Il}
+function Ic(){var a=this.L(),b=this.ha()&31;this.A-=11;H(this,this.I);var c=this.Y;if(0>8,c,d=qd(this);9<(a&15)||d?(a=a+6&15,b=b+1&255,c=d=!0):c=d=!1;this.H=b<<8|(this.Z=a);this.ga=65536;c&&(this.Z|=this.ga);d?Ad(this):vd(this);this.A-=this.B.Pe},function(){xh[this.ha()].call(this,Ud)},function(){yh[this.ha()].call(this,be)},function(){zh[this.ha()].call(this,Ud)},function(){N[this.ha()].call(this,be)},function(){this.H=this.H&-256|Ud.call(this,this.H&255,this.ha());this.A--},function(){this.H=be.call(this,this.H,this.L());
-this.A--},function(){this.aa|=20;this.D=this.N=this.zb;this.A-=this.B.oe},function(){var a=this.H&255,b=this.H>>8,c,d=qd(this);9<(a&15)||d?(a=a-6&15,b=b-1&255,c=d=!0):c=d=!1;this.H=b<<8|(this.Z=a);this.ga=65536;c&&(this.Z|=this.ga);d?Ad(this):vd(this);this.A-=this.B.Pe},function(){this.pa=this.H;this.H=(this.ma=this.H+1)&65535;this.Z=this.H|(this.Z&this.ga?1:0)<<16;this.ga=65536;this.A-=2},function(){this.pa=this.J;this.J=(this.ma=this.J+1)&65535;this.Z=this.J|(this.Z&this.ga?1:0)<<16;this.ga=65536;
+this.yb;this.A-=this.B.oe},function(){var a=this.H&255,b=this.H>>8,c,d=qd(this);9<(a&15)||d?(a=a+6&15,b=b+1&255,c=d=!0):c=d=!1;this.H=b<<8|(this.Z=a);this.ga=65536;c&&(this.Z|=this.ga);d?Ad(this):vd(this);this.A-=this.B.Pe},function(){xh[this.ha()].call(this,Ud)},function(){yh[this.ha()].call(this,be)},function(){zh[this.ha()].call(this,Ud)},function(){N[this.ha()].call(this,be)},function(){this.H=this.H&-256|Ud.call(this,this.H&255,this.ha());this.A--},function(){this.H=be.call(this,this.H,this.L());
+this.A--},function(){this.aa|=20;this.D=this.N=this.Db;this.A-=this.B.oe},function(){var a=this.H&255,b=this.H>>8,c,d=qd(this);9<(a&15)||d?(a=a-6&15,b=b-1&255,c=d=!0):c=d=!1;this.H=b<<8|(this.Z=a);this.ga=65536;c&&(this.Z|=this.ga);d?Ad(this):vd(this);this.A-=this.B.Pe},function(){this.pa=this.H;this.H=(this.ma=this.H+1)&65535;this.Z=this.H|(this.Z&this.ga?1:0)<<16;this.ga=65536;this.A-=2},function(){this.pa=this.J;this.J=(this.ma=this.J+1)&65535;this.Z=this.J|(this.Z&this.ga?1:0)<<16;this.ga=65536;
this.A-=2},function(){this.pa=this.K;this.K=(this.ma=this.K+1)&65535;this.Z=this.K|(this.Z&this.ga?1:0)<<16;this.ga=65536;this.A-=2},function(){this.pa=this.C;this.C=(this.ma=this.C+1)&65535;this.Z=this.C|(this.Z&this.ga?1:0)<<16;this.ga=65536;this.A-=2},function(){this.pa=this.Y;this.Y=(this.ma=this.Y+1)&65535;this.Z=this.Y|(this.Z&this.ga?1:0)<<16;this.ga=65536;this.A-=2},function(){this.pa=this.I;this.I=(this.ma=this.I+1)&65535;this.Z=this.I|(this.Z&this.ga?1:0)<<16;this.ga=65536;this.A-=2},function(){this.pa=
this.G;this.G=(this.ma=this.G+1)&65535;this.Z=this.G|(this.Z&this.ga?1:0)<<16;this.ga=65536;this.A-=2},function(){this.pa=this.F;this.F=(this.ma=this.F+1)&65535;this.Z=this.F|(this.Z&this.ga?1:0)<<16;this.ga=65536;this.A-=2},function(){this.pa=this.H;this.H=(this.ma=this.H-1)&65535;this.Z=this.H|(this.Z&this.ga?1:0)<<16;this.ga=65536;this.A-=2},function(){this.pa=this.J;this.J=(this.ma=this.J-1)&65535;this.Z=this.J|(this.Z&this.ga?1:0)<<16;this.ga=65536;this.A-=2},function(){this.pa=this.K;this.K=
(this.ma=this.K-1)&65535;this.Z=this.K|(this.Z&this.ga?1:0)<<16;this.ga=65536;this.A-=2},function(){this.pa=this.C;this.C=(this.ma=this.C-1)&65535;this.Z=this.C|(this.Z&this.ga?1:0)<<16;this.ga=65536;this.A-=2},function(){this.pa=this.Y;this.Y=(this.ma=this.Y-1)&65535;this.Z=this.Y|(this.Z&this.ga?1:0)<<16;this.ga=65536;this.A-=2},function(){this.pa=this.I;this.I=(this.ma=this.I-1)&65535;this.Z=this.I|(this.Z&this.ga?1:0)<<16;this.ga=65536;this.A-=2},function(){this.pa=this.G;this.G=(this.ma=this.G-
1)&65535;this.Z=this.G|(this.Z&this.ga?1:0)<<16;this.ga=65536;this.A-=2},function(){this.pa=this.F;this.F=(this.ma=this.F-1)&65535;this.Z=this.F|(this.Z&this.ga?1:0)<<16;this.ga=65536;this.A-=2},function(){H(this,this.H);this.A-=this.B.qc},function(){H(this,this.J);this.A-=this.B.qc},function(){H(this,this.K);this.A-=this.B.qc},function(){H(this,this.C);this.A-=this.B.qc},function(){H(this,this.Y-2&65535);this.A-=this.B.qc},function(){H(this,this.I);this.A-=this.B.qc},function(){H(this,this.G);this.A-=
this.B.qc},function(){H(this,this.F);this.A-=this.B.qc},function(){this.H=this.La();this.A-=this.B.ic},function(){this.J=this.La();this.A-=this.B.ic},function(){this.K=this.La();this.A-=this.B.ic},function(){this.C=this.La();this.A-=this.B.ic},function(){this.Y=this.La();this.A-=this.B.ic},function(){this.I=this.La();this.A-=this.B.ic},function(){this.G=this.La();this.A-=this.B.ic},function(){this.F=this.La();this.A-=this.B.ic},Eh,Fh,Gh,Hh,Ih,Jh,Kh,Lh,Mh,Nh,Oh,Ph,Qh,Rh,Sh,Th,Eh,Fh,Gh,Hh,Ih,Jh,Kh,
-Lh,Mh,Nh,Oh,Ph,Qh,Rh,Sh,Th,Uh,function(){Bh[this.ha()].call(this,xe,this.L);this.A-=0>this.Ma?1:this.B.Ch},Uh,function(){Bh[this.ha()].call(this,xe,this.M);this.A-=0>this.Ma?1:this.B.Ch},function(){xh[this.ha()].call(this,Je)},function(){yh[this.ha()].call(this,Ke)},function(){zh[this.Ug=this.ha()].call(this,Ye)},function(){N[this.Ug=this.ha()].call(this,Ze)},function(){this.aa|=1;xh[this.ha()].call(this,He)},function(){this.aa|=1;yh[this.ha()].call(this,He)},function(){zh[this.ha()].call(this,He)},
-function(){N[this.ha()].call(this,He)},function(){var a=this.ha();switch((a&56)>>3){case 0:this.Fb=this.Za.sa;break;case 1:this.Fb=this.xa.sa;break;case 2:this.Fb=this.ub.sa;break;case 3:this.Fb=this.zb.sa;break;default:L.call(this);return}this.aa|=1;yh[a].call(this,Ie)},function(){this.aa|=1;this.D=this.N=this.am;N[this.ha()].call(this,Oe)},function(){var a,b=this.ha(),c=(b&56)>>3;switch(c){case 0:a=this.H;break;case 2:a=this.K;break;case 3:a=this.C;break;default:if(80286<=this.Ia){tc.call(this);
+Lh,Mh,Nh,Oh,Ph,Qh,Rh,Sh,Th,Uh,function(){Bh[this.ha()].call(this,xe,this.L);this.A-=0>this.Ma?1:this.B.Dh},Uh,function(){Bh[this.ha()].call(this,xe,this.M);this.A-=0>this.Ma?1:this.B.Dh},function(){xh[this.ha()].call(this,Je)},function(){yh[this.ha()].call(this,Ke)},function(){zh[this.Vg=this.ha()].call(this,Ye)},function(){N[this.Vg=this.ha()].call(this,Ze)},function(){this.aa|=1;xh[this.ha()].call(this,He)},function(){this.aa|=1;yh[this.ha()].call(this,He)},function(){zh[this.ha()].call(this,He)},
+function(){N[this.ha()].call(this,He)},function(){var a=this.ha();switch((a&56)>>3){case 0:this.Jb=this.Za.sa;break;case 1:this.Jb=this.xa.sa;break;case 2:this.Jb=this.yb.sa;break;case 3:this.Jb=this.Db.sa;break;default:L.call(this);return}this.aa|=1;yh[a].call(this,Ie)},function(){this.aa|=1;this.D=this.N=this.cm;N[this.ha()].call(this,Oe)},function(){var a,b=this.ha(),c=(b&56)>>3;switch(c){case 0:a=this.H;break;case 2:a=this.K;break;case 3:a=this.C;break;default:if(80286<=this.Ia){tc.call(this);
return}switch(c){case 1:a=this.J;break;case 4:a=this.Y;break;case 5:a=this.I;break;case 6:a=this.G;break;case 7:a=this.F}}N[b].call(this,He);switch(c){case 0:md(this,this.H);this.H=a;break;case 1:jd(this,this.J);this.J=a;break;case 2:ld(this,this.K);this.K=a;break;case 3:kd(this,this.C);this.C=a;break;case 4:md(this,this.Y);this.Y=a;break;case 5:jd(this,this.I);this.I=a;break;case 6:ld(this,this.G);this.G=a;break;case 7:kd(this,this.F),this.F=a}},function(){this.aa|=1;Bh[this.ha()].call(this,ye,this.La)},
function(){this.A-=3},function(){var a=this.H;this.H=this.J;this.J=a;this.A-=3},function(){var a=this.H;this.H=this.K;this.K=a;this.A-=3},function(){var a=this.H;this.H=this.C;this.C=a;this.A-=3},function(){var a=this.H;this.H=this.Y;this.Y=a;this.A-=3},function(){var a=this.H;this.H=this.I;this.I=a;this.A-=3},function(){var a=this.H;this.H=this.G;this.G=a;this.A-=3},function(){var a=this.H;this.H=this.F;this.F=a;this.A-=3},function(){this.H=this.H<<24>>24&65535;this.A-=2},function(){this.K=this.H&
-32768?65535:0;this.A-=this.B.Qk},function(){var a=this.L(),b=this.L();H(this,this.xa.sa);H(this,this.va);Tc(this,a,b);this.A-=this.B.Tk},function(){L.call(this)},function(){H(this,Wc(this));this.A-=this.B.qc},function(){Uc(this,this.La());this.A-=this.B.ic},function(){var a=this.H>>8;a&1?zd(this):ud(this);a&4?pd(this)||(this.ma^=1):pd(this)&&(this.ma^=1);a&16?Ad(this):vd(this);a&64?Bd(this):wd(this);a&128?Cd(this):xd(this);this.A-=this.B.Eb},function(){this.H=this.H&255|(Wc(this)&213)<<8;this.A-=
-this.B.Eb},function(){this.H=this.H&-256|this.U(this.D,this.L());this.A-=this.B.gj},function(){this.H=this.V(this.D,this.L());this.A-=this.B.gj},function(){var a=this.L(),b=this.H;this.Od(this.D.gc(a,0),b);this.A-=this.B.hj},function(){var a=this.L(),b=this.H;this.cd(this.D.gc(a,1),b);this.A-=this.B.hj},function(){var a=1,b=0,c=this.B.ij;this.Ba&192&&(a=this.J,b=1,c=this.B.kj,this.Ba&256||(this.A-=this.B.jj));if(a--){var d=this.Ca&1024?-1:1,e=this.U(this.D,this.G);this.Od(this.Za.gc(this.F,0),e);
-this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c;this.J-=b;a&&(nd(this,this.Ba&16?-3:-2),this.aa|=256)}},function(){var a=1,b=0,c=this.B.ij;this.Ba&192&&(a=this.J,b=1,c=this.B.kj,this.Ba&256||(this.A-=this.B.jj));if(a--){var d=this.Ca&1024?-2:2,e=this.V(this.D,this.G);this.cd(this.Za.gc(this.F,1),e);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c;this.J-=b;a&&(nd(this,this.Ba&16?-3:-2),this.aa|=256)}},function(){var a=1,b=0,c=this.B.Ti;this.Ba&192&&(a=this.J,b=1,c=this.B.Vi,this.Ba&256||
-(this.A-=this.B.Ui));if(a--){var d=this.Ca&1024?-1:1,e=this.U(this.D,this.G),f=this.O(this.Za,this.F);Ud.call(this,e,f);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c-this.B.tb;this.J-=b;a&&rd(this)==(this.Ba&64)&&(nd(this,this.Ba&16?-3:-2),this.aa|=256)}},function(){var a=1,b=0,c=this.B.Ti;this.Ba&192&&(a=this.J,b=1,c=this.B.Vi,this.Ba&256||(this.A-=this.B.Ui));if(a--){var d=this.Ca&1024?-2:2,e=this.V(this.D,this.G),f=this.P(this.Za,this.F);be.call(this,e,f);this.G=this.G+d&65535;this.F=this.F+
-d&65535;this.A-=c-this.B.tb;this.J-=b;a&&rd(this)==(this.Ba&64)&&(nd(this,this.Ba&16?-3:-2),this.aa|=256)}},function(){this.Z=this.ma=this.pa=this.H&255&this.ha();this.ga=256;this.A-=this.B.Pe},function(){this.Z=this.ma=this.pa=this.H&this.L();this.ga=65536;this.A-=this.B.Pe},function(){var a=1,b=0,c=this.B.tj;this.Ba&192&&(a=this.J,b=1,c=this.B.vj,this.Ba&256||(this.A-=this.B.uj));if(a--){var d=this.H;this.Od(this.Za.gc(this.F,0),d);this.F=this.F+(this.Ca&1024?-1:1)&65535;this.A-=c;this.J-=b;a&&
-(nd(this,-2),this.aa|=256)}},function(){var a=1,b=0,c=this.B.tj;this.Ba&192&&(a=this.J,b=1,c=this.B.vj,this.Ba&256||(this.A-=this.B.uj));if(a--){var d=this.H;this.cd(this.Za.gc(this.F,1),d);this.F=this.F+(this.Ca&1024?-2:2)&65535;this.A-=c;this.J-=b;a&&(nd(this,-2),this.aa|=256)}},function(){var a=1,b=0,c=this.B.aj;this.Ba&192&&(a=this.J,b=1,c=this.B.cj,this.Ba&256||(this.A-=this.B.bj));a--&&(this.H=this.H&-256|this.U(this.D,this.G),this.G=this.G+(this.Ca&1024?-1:1)&65535,this.A-=c,this.J-=b,a&&(nd(this,
-this.Ba&16?-3:-2),this.aa|=256))},function(){var a=1,b=0,c=this.B.aj;this.Ba&192&&(a=this.J,b=1,c=this.B.cj,this.Ba&256||(this.A-=this.B.bj));a--&&(this.H=this.V(this.D,this.G),this.G=this.G+(this.Ca&1024?-2:2)&65535,this.A-=c,this.J-=b,a&&(nd(this,this.Ba&16?-3:-2),this.aa|=256))},function(){var a=1,b=0,c=this.B.nj;this.Ba&192&&(a=this.J,b=1,c=this.B.pj,this.Ba&256||(this.A-=this.B.oj));a--&&(Ud.call(this,this.H&255,this.O(this.Za,this.F)),this.F=this.F+(this.Ca&1024?-1:1)&65535,this.A-=c-this.B.tb,
-this.J-=b,a&&rd(this)==(this.Ba&64)&&(nd(this,-2),this.aa|=256))},function(){var a=1,b=0,c=this.B.nj;this.Ba&192&&(a=this.J,b=1,c=this.B.pj,this.Ba&256||(this.A-=this.B.oj));a--&&(be.call(this,this.H,this.P(this.Za,this.F)),this.F=this.F+(this.Ca&1024?-2:2)&65535,this.A-=c-this.B.tb,this.J-=b,a&&rd(this)==(this.Ba&64)&&(nd(this,-2),this.aa|=256))},function(){this.H=this.H&-256|this.ha();this.A-=this.B.Eb},function(){this.J=this.J&-256|this.ha();this.A-=this.B.Eb},function(){this.K=this.K&-256|this.ha();
-this.A-=this.B.Eb},function(){this.C=this.C&-256|this.ha();this.A-=this.B.Eb},function(){this.H=this.H&255|this.ha()<<8;this.A-=this.B.Eb},function(){this.J=this.J&255|this.ha()<<8;this.A-=this.B.Eb},function(){this.K=this.K&255|this.ha()<<8;this.A-=this.B.Eb},function(){this.C=this.C&255|this.ha()<<8;this.A-=this.B.Eb},function(){this.H=this.L();this.A-=this.B.Eb},function(){this.J=this.L();this.A-=this.B.Eb},function(){this.K=this.L();this.A-=this.B.Eb},function(){this.C=this.L();this.A-=this.B.Eb},
-function(){this.Y=this.L();this.A-=this.B.Eb},function(){this.I=this.L();this.A-=this.B.Eb},function(){this.G=this.L();this.A-=this.B.Eb},function(){this.F=this.L();this.A-=this.B.Eb},Vh,Wh,Vh,Wh,function(){N[this.ha()].call(this,Qe)},function(){N[this.ha()].call(this,Pe)},function(){this.aa|=1;Ah[this.ha()].call(this,ze,this.ha)},function(){this.aa|=1;Bh[this.ha()].call(this,ze,this.L)},Xh,Yh,Xh,Yh,function(){Hd.call(this,3,null,this.B.jl)},function(){var a=this.ha();Yc(this,a)?Hd.call(this,a,null,
-0):this.A--},function(){td(this)?Hd.call(this,4,null,this.B.kl):this.A-=this.B.ll},function(){Tc(this,this.La(),this.La());Uc(this,this.La());this.ah&&cd(this,this.Ga);this.A-=this.B.hl},function(){Ah[this.ha()].call(this,Ae,re)},function(){Bh[this.ha()].call(this,Be,re)},function(){Ah[this.ha()].call(this,Ae,se)},function(){Bh[this.ha()].call(this,Be,se)},function(){var a=this.ha(),b=this.H&255;this.H=(b/a&255)<<8|b%a;this.ga=256;this.Z=this.ma=b;this.A-=this.B.Nk},function(){var a=this.ha();this.Z=
-this.ma=this.H=(this.H>>8)*a+this.H&255;this.ga=256;this.A-=this.B.Mk},function(){this.H=this.H&-256|(od(this)?255:0);this.A-=2},function(){this.H=this.H&-256|this.U(this.D,this.C+(this.H&255)&65535);this.A-=this.B.Ll},Zh,Zh,Zh,Zh,Zh,Zh,Zh,Zh,function(){var a=this.M();(this.J=this.J-1&65535)&&this.Z&this.ga-1?(G(this,this.va+a),this.A-=this.B.sl):this.A-=this.B.dj},function(){var a=this.M();!(this.J=this.J-1&65535)||this.Z&this.ga-1?this.A-=this.B.fj:(G(this,this.va+a),this.A-=this.B.ej)},function(){var a=
-this.M();(this.J=this.J-1&65535)?(G(this,this.va+a),this.A-=this.B.rl):this.A-=this.B.dj},function(){var a=this.M();this.J?this.A-=this.B.fj:(G(this,this.va+a),this.A-=this.B.ej)},function(){var a=this.ha();this.H=this.H&-256|ub(this.ra,a,this.Ga-2);this.A-=this.B.Yi},function(){var a=this.ha();this.H=ub(this.ra,a,this.Ga-1)|ub(this.ra,a+1&65535,this.Ga-2)<<8;this.A-=this.B.Yi},function(){var a=this.ha();Ab(this.ra,a,this.H&255,this.Ga-2);this.A-=this.B.mj},function(){var a=this.ha();Ab(this.ra,a,
-this.H&255,this.Ga-2);Ab(this.ra,a+1&65535,this.H>>8,this.Ga-2);this.A-=this.B.mj},function(){var a=this.L();H(this,this.va);G(this,this.va+a);this.A-=this.B.Rk},function(){var a=this.L();G(this,this.va+a);this.A-=this.B.Zi},function(){Tc(this,this.L(),this.L());this.A-=this.B.nl},function(){var a=this.M();G(this,this.va+a);this.A-=this.B.Zi},function(){this.H=this.H&-256|ub(this.ra,this.K,this.Ga-1);this.A-=this.B.Xi},function(){this.H=ub(this.ra,this.K,this.Ga-1)|ub(this.ra,this.K+1&65535,this.Ga-
-1)<<8;this.A-=this.B.Xi},function(){Ab(this.ra,this.K,this.H&255,this.Ga-1);this.A-=this.B.lj},function(){Ab(this.ra,this.K,this.H&255,this.Ga-1);Ab(this.ra,this.K+1&65535,this.H>>8,this.Ga-1);this.A-=this.B.lj},$h,$h,function(){this.aa|=132;this.A-=this.B.oe},function(){this.aa|=68;this.A-=this.B.oe},function(){this.ob|=4;this.A-=2;this.fa&&Ed(this.fa)?(nd(this,-1),this.xb()):this.Ca&512||(this.fa&&nd(this,-1),this.xb())},function(){od(this)?ud(this):zd(this);this.A-=2},function(){this.Fb=-1;Ah[this.ha()].call(this,
-De,ue);0<=this.Fb&&(this.H=this.Fb)},function(){this.Fb=-1;Bh[this.ha()].call(this,Ee,ue);0<=this.Fb&&(this.H=this.Fb,this.K=this.Ag)},function(){this.Z&=~this.ga;this.A-=2},function(){this.Z|=this.ga;this.A-=2},function(){this.Ca&=-513;this.A-=this.B.Pk},function(){this.Ca|=512;this.aa|=4;this.A-=2},function(){this.Ca&=-1025;this.A-=2},function(){this.Ca|=1024;this.A-=2},function(){Ah[this.ha()].call(this,Mc,ue)},function(){Bh[this.ha()].call(this,Oc,ue)}];
-function O(a){z.call(this,"ChipSet",a,O);this.Ia=a.model;this.Ia=void 0!==this.Ia?parseInt(this.Ia,10):ai;this.Zb=0;var b=a.sw1;if(b)this.Zb=bi(b,ci|di.im);else{this.Vd=[360,360];(b=a.floppies)&&void 0!==b.length&&(this.Vd=b);if(b=this.Vd.length)this.Zb|=ei.Sh,b--,this.Zb|=(b&3)<=fi&&(this.Sf=this.Tf=2);this.oh=a.scaleTimers||!1;
-this.bp=a.rtcDate;this.wk=!1;a.sound&&window&&"webkitAudioContext"in window&&(this.ji=new webkitAudioContext);this.reset(!0);this.Ta()}A(z,O);var ai=5150,fi=5170,gi={none:0,tv:1,color:2,mono:3,ega:0},ei={Sh:1,ONE:0,Yp:64,Wp:128,rp:192,Ef:192,Ff:6},ci=12,di={Xp:16,kp:32,im:48,Ef:48,Ff:4};k=O.prototype;
-k.Ab=function(a,b,c,d){switch(c){case "sw1":return this.za[c]=d,hi(this,c,d,this.Zb,{0:this.Ia==ai?"Bootable Floppy Drive":"Loop on POST",1:this.Ia==ai?"Reserved":"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"}),!0;case "sw2":if(this.Ia==ai)return this.za[c]=d,hi(this,c,d,this.ue,{0:"Expansion Memory Size",4:"Reserved"}),!0;break;case "swdesc":return this.za[c]=d,!0}return!1};
-k.pc=function(a,b,c,d){this.ra=b;this.T=c;this.fa=d;this.Ka=a;this.ab=eb(a,"Keyboard");this.Ml=Math.round(c.ca.Kd/1193181);tb(b,this,ii);zb(b,this,ji);this.Iab;b++){var c=13>=b?si(e,b):e.ta[b];a&&(a+="\n");a+="CMOS[0x"+t(b)+"]: 0x"+t(c)}e.fa.message(a)})}Xc(c,ti,this,this.Gn)};k.Yb=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.Xb=function(a){return a&&this.save?this.save():!0};
-k.reset=function(a){var b;this.dd=this.Zb;this.Ze=this.ue;ui(this);this.eb=Array(this.Sf);for(b=0;b=fi){this.lb=16;this.xd=0;this.gd=16;this.Rg=0;this.Ae=160;512<=yi(this)&&(this.Ae|=16);3==zi(this)&&(this.Ae|=64);this.ci=3;this.Pf=0;this.Ng=Array(7);this.Be=0;a&&(this.ta=Array(64));
-Ai(this,this.bp);for(a=21;24>=a;a++)this.ta[a]=0;for(a=14;46>a;a++)void 0===this.ta[a]&&(this.ta[a]=0);this.ta[20]=this.dd&(di.Ef|2|ei.Sh|ei.Ef);this.ta[16]=Bi(this,0)<<4|Bi(this,1);Ci(this)}};
-function Ai(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.da("CMOS date invalid ("+b+"), using "+c)):b&&a.da("CMOS date: "+c);a.ta[0]=c.getSeconds();a.ta[1]=0;a.ta[2]=c.getMinutes();a.ta[3]=0;a.ta[4]=c.getHours();a.ta[5]=0;a.ta[6]=c.getDay()+1;a.ta[7]=c.getDate();a.ta[8]=c.getMonth()+1;c=c.getFullYear();a.ta[9]=c%100;c/=100;a.ta[50]=c%10|c/10<<4;a.ig=-1;a.ta[10]=38;a.ta[11]=2;a.ta[12]=0;a.ta[13]=128}
+32768?65535:0;this.A-=this.B.Sk},function(){var a=this.L(),b=this.L();H(this,this.xa.sa);H(this,this.va);Tc(this,a,b);this.A-=this.B.Vk},function(){L.call(this)},function(){H(this,Wc(this));this.A-=this.B.qc},function(){Uc(this,this.La());this.A-=this.B.ic},function(){var a=this.H>>8;a&1?zd(this):ud(this);a&4?pd(this)||(this.ma^=1):pd(this)&&(this.ma^=1);a&16?Ad(this):vd(this);a&64?Bd(this):wd(this);a&128?Cd(this):xd(this);this.A-=this.B.Ib},function(){this.H=this.H&255|(Wc(this)&213)<<8;this.A-=
+this.B.Ib},function(){this.H=this.H&-256|this.U(this.D,this.L());this.A-=this.B.hj},function(){this.H=this.V(this.D,this.L());this.A-=this.B.hj},function(){var a=this.L(),b=this.H;this.Od(this.D.gc(a,0),b);this.A-=this.B.ij},function(){var a=this.L(),b=this.H;this.cd(this.D.gc(a,1),b);this.A-=this.B.ij},function(){var a=1,b=0,c=this.B.jj;this.Ba&192&&(a=this.J,b=1,c=this.B.lj,this.Ba&256||(this.A-=this.B.kj));if(a--){var d=this.Ca&1024?-1:1,e=this.U(this.D,this.G);this.Od(this.Za.gc(this.F,0),e);
+this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c;this.J-=b;a&&(nd(this,this.Ba&16?-3:-2),this.aa|=256)}},function(){var a=1,b=0,c=this.B.jj;this.Ba&192&&(a=this.J,b=1,c=this.B.lj,this.Ba&256||(this.A-=this.B.kj));if(a--){var d=this.Ca&1024?-2:2,e=this.V(this.D,this.G);this.cd(this.Za.gc(this.F,1),e);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c;this.J-=b;a&&(nd(this,this.Ba&16?-3:-2),this.aa|=256)}},function(){var a=1,b=0,c=this.B.Ui;this.Ba&192&&(a=this.J,b=1,c=this.B.Wi,this.Ba&256||
+(this.A-=this.B.Vi));if(a--){var d=this.Ca&1024?-1:1,e=this.U(this.D,this.G),f=this.O(this.Za,this.F);Ud.call(this,e,f);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c-this.B.wb;this.J-=b;a&&rd(this)==(this.Ba&64)&&(nd(this,this.Ba&16?-3:-2),this.aa|=256)}},function(){var a=1,b=0,c=this.B.Ui;this.Ba&192&&(a=this.J,b=1,c=this.B.Wi,this.Ba&256||(this.A-=this.B.Vi));if(a--){var d=this.Ca&1024?-2:2,e=this.V(this.D,this.G),f=this.P(this.Za,this.F);be.call(this,e,f);this.G=this.G+d&65535;this.F=this.F+
+d&65535;this.A-=c-this.B.wb;this.J-=b;a&&rd(this)==(this.Ba&64)&&(nd(this,this.Ba&16?-3:-2),this.aa|=256)}},function(){this.Z=this.ma=this.pa=this.H&255&this.ha();this.ga=256;this.A-=this.B.Pe},function(){this.Z=this.ma=this.pa=this.H&this.L();this.ga=65536;this.A-=this.B.Pe},function(){var a=1,b=0,c=this.B.uj;this.Ba&192&&(a=this.J,b=1,c=this.B.wj,this.Ba&256||(this.A-=this.B.vj));if(a--){var d=this.H;this.Od(this.Za.gc(this.F,0),d);this.F=this.F+(this.Ca&1024?-1:1)&65535;this.A-=c;this.J-=b;a&&
+(nd(this,-2),this.aa|=256)}},function(){var a=1,b=0,c=this.B.uj;this.Ba&192&&(a=this.J,b=1,c=this.B.wj,this.Ba&256||(this.A-=this.B.vj));if(a--){var d=this.H;this.cd(this.Za.gc(this.F,1),d);this.F=this.F+(this.Ca&1024?-2:2)&65535;this.A-=c;this.J-=b;a&&(nd(this,-2),this.aa|=256)}},function(){var a=1,b=0,c=this.B.bj;this.Ba&192&&(a=this.J,b=1,c=this.B.dj,this.Ba&256||(this.A-=this.B.cj));a--&&(this.H=this.H&-256|this.U(this.D,this.G),this.G=this.G+(this.Ca&1024?-1:1)&65535,this.A-=c,this.J-=b,a&&(nd(this,
+this.Ba&16?-3:-2),this.aa|=256))},function(){var a=1,b=0,c=this.B.bj;this.Ba&192&&(a=this.J,b=1,c=this.B.dj,this.Ba&256||(this.A-=this.B.cj));a--&&(this.H=this.V(this.D,this.G),this.G=this.G+(this.Ca&1024?-2:2)&65535,this.A-=c,this.J-=b,a&&(nd(this,this.Ba&16?-3:-2),this.aa|=256))},function(){var a=1,b=0,c=this.B.oj;this.Ba&192&&(a=this.J,b=1,c=this.B.qj,this.Ba&256||(this.A-=this.B.pj));a--&&(Ud.call(this,this.H&255,this.O(this.Za,this.F)),this.F=this.F+(this.Ca&1024?-1:1)&65535,this.A-=c-this.B.wb,
+this.J-=b,a&&rd(this)==(this.Ba&64)&&(nd(this,-2),this.aa|=256))},function(){var a=1,b=0,c=this.B.oj;this.Ba&192&&(a=this.J,b=1,c=this.B.qj,this.Ba&256||(this.A-=this.B.pj));a--&&(be.call(this,this.H,this.P(this.Za,this.F)),this.F=this.F+(this.Ca&1024?-2:2)&65535,this.A-=c-this.B.wb,this.J-=b,a&&rd(this)==(this.Ba&64)&&(nd(this,-2),this.aa|=256))},function(){this.H=this.H&-256|this.ha();this.A-=this.B.Ib},function(){this.J=this.J&-256|this.ha();this.A-=this.B.Ib},function(){this.K=this.K&-256|this.ha();
+this.A-=this.B.Ib},function(){this.C=this.C&-256|this.ha();this.A-=this.B.Ib},function(){this.H=this.H&255|this.ha()<<8;this.A-=this.B.Ib},function(){this.J=this.J&255|this.ha()<<8;this.A-=this.B.Ib},function(){this.K=this.K&255|this.ha()<<8;this.A-=this.B.Ib},function(){this.C=this.C&255|this.ha()<<8;this.A-=this.B.Ib},function(){this.H=this.L();this.A-=this.B.Ib},function(){this.J=this.L();this.A-=this.B.Ib},function(){this.K=this.L();this.A-=this.B.Ib},function(){this.C=this.L();this.A-=this.B.Ib},
+function(){this.Y=this.L();this.A-=this.B.Ib},function(){this.I=this.L();this.A-=this.B.Ib},function(){this.G=this.L();this.A-=this.B.Ib},function(){this.F=this.L();this.A-=this.B.Ib},Vh,Wh,Vh,Wh,function(){N[this.ha()].call(this,Qe)},function(){N[this.ha()].call(this,Pe)},function(){this.aa|=1;Ah[this.ha()].call(this,ze,this.ha)},function(){this.aa|=1;Bh[this.ha()].call(this,ze,this.L)},Xh,Yh,Xh,Yh,function(){Hd.call(this,3,null,this.B.ll)},function(){var a=this.ha();Yc(this,a)?Hd.call(this,a,null,
+0):this.A--},function(){td(this)?Hd.call(this,4,null,this.B.ml):this.A-=this.B.nl},function(){Tc(this,this.La(),this.La());Uc(this,this.La());this.bh&&cd(this,this.Ga);this.A-=this.B.jl},function(){Ah[this.ha()].call(this,Ae,re)},function(){Bh[this.ha()].call(this,Be,re)},function(){Ah[this.ha()].call(this,Ae,se)},function(){Bh[this.ha()].call(this,Be,se)},function(){var a=this.ha(),b=this.H&255;this.H=(b/a&255)<<8|b%a;this.ga=256;this.Z=this.ma=b;this.A-=this.B.Pk},function(){var a=this.ha();this.Z=
+this.ma=this.H=(this.H>>8)*a+this.H&255;this.ga=256;this.A-=this.B.Ok},function(){this.H=this.H&-256|(od(this)?255:0);this.A-=2},function(){this.H=this.H&-256|this.U(this.D,this.C+(this.H&255)&65535);this.A-=this.B.Nl},Zh,Zh,Zh,Zh,Zh,Zh,Zh,Zh,function(){var a=this.M();(this.J=this.J-1&65535)&&this.Z&this.ga-1?(G(this,this.va+a),this.A-=this.B.ul):this.A-=this.B.ej},function(){var a=this.M();!(this.J=this.J-1&65535)||this.Z&this.ga-1?this.A-=this.B.gj:(G(this,this.va+a),this.A-=this.B.fj)},function(){var a=
+this.M();(this.J=this.J-1&65535)?(G(this,this.va+a),this.A-=this.B.tl):this.A-=this.B.ej},function(){var a=this.M();this.J?this.A-=this.B.gj:(G(this,this.va+a),this.A-=this.B.fj)},function(){var a=this.ha();this.H=this.H&-256|ub(this.ra,a,this.Ga-2);this.A-=this.B.Zi},function(){var a=this.ha();this.H=ub(this.ra,a,this.Ga-1)|ub(this.ra,a+1&65535,this.Ga-2)<<8;this.A-=this.B.Zi},function(){var a=this.ha();Ab(this.ra,a,this.H&255,this.Ga-2);this.A-=this.B.nj},function(){var a=this.ha();Ab(this.ra,a,
+this.H&255,this.Ga-2);Ab(this.ra,a+1&65535,this.H>>8,this.Ga-2);this.A-=this.B.nj},function(){var a=this.L();H(this,this.va);G(this,this.va+a);this.A-=this.B.Tk},function(){var a=this.L();G(this,this.va+a);this.A-=this.B.$i},function(){Tc(this,this.L(),this.L());this.A-=this.B.pl},function(){var a=this.M();G(this,this.va+a);this.A-=this.B.$i},function(){this.H=this.H&-256|ub(this.ra,this.K,this.Ga-1);this.A-=this.B.Yi},function(){this.H=ub(this.ra,this.K,this.Ga-1)|ub(this.ra,this.K+1&65535,this.Ga-
+1)<<8;this.A-=this.B.Yi},function(){Ab(this.ra,this.K,this.H&255,this.Ga-1);this.A-=this.B.mj},function(){Ab(this.ra,this.K,this.H&255,this.Ga-1);Ab(this.ra,this.K+1&65535,this.H>>8,this.Ga-1);this.A-=this.B.mj},$h,$h,function(){this.aa|=132;this.A-=this.B.oe},function(){this.aa|=68;this.A-=this.B.oe},function(){this.pb|=4;this.A-=2;this.fa&&Ed(this.fa)?(nd(this,-1),this.Bb()):this.Ca&512||(this.fa&&nd(this,-1),this.Bb())},function(){od(this)?ud(this):zd(this);this.A-=2},function(){this.Jb=-1;Ah[this.ha()].call(this,
+De,ue);0<=this.Jb&&(this.H=this.Jb)},function(){this.Jb=-1;Bh[this.ha()].call(this,Ee,ue);0<=this.Jb&&(this.H=this.Jb,this.K=this.Bg)},function(){this.Z&=~this.ga;this.A-=2},function(){this.Z|=this.ga;this.A-=2},function(){this.Ca&=-513;this.A-=this.B.Rk},function(){this.Ca|=512;this.aa|=4;this.A-=2},function(){this.Ca&=-1025;this.A-=2},function(){this.Ca|=1024;this.A-=2},function(){Ah[this.ha()].call(this,Lc,ue)},function(){Bh[this.ha()].call(this,Oc,ue)}];
+function O(a){z.call(this,"ChipSet",a,O);this.Ia=a.model;this.Ia=void 0!==this.Ia?parseInt(this.Ia,10):ai;this.$b=0;var b=a.sw1;if(b)this.$b=bi(b,ci|di.km);else{this.Vd=[360,360];(b=a.floppies)&&void 0!==b.length&&(this.Vd=b);if(b=this.Vd.length)this.$b|=ei.Th,b--,this.$b|=(b&3)<=fi&&(this.Tf=this.Uf=2);this.ph=a.scaleTimers||!1;
+this.cp=a.rtcDate;this.yk=!1;a.sound&&window&&"webkitAudioContext"in window&&(this.ki=new webkitAudioContext);this.reset(!0);this.Ta()}A(z,O);var ai=5150,fi=5170,gi={none:0,tv:1,color:2,mono:3,ega:0},ei={Th:1,ONE:0,Zp:64,Xp:128,sp:192,Ff:192,Gf:6},ci=12,di={Yp:16,lp:32,km:48,Ff:48,Gf:4};k=O.prototype;
+k.Eb=function(a,b,c,d){switch(c){case "sw1":return this.ya[c]=d,hi(this,c,d,this.$b,{0:this.Ia==ai?"Bootable Floppy Drive":"Loop on POST",1:this.Ia==ai?"Reserved":"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"}),!0;case "sw2":if(this.Ia==ai)return this.ya[c]=d,hi(this,c,d,this.ue,{0:"Expansion Memory Size",4:"Reserved"}),!0;break;case "swdesc":return this.ya[c]=d,!0}return!1};
+k.pc=function(a,b,c,d){this.ra=b;this.T=c;this.fa=d;this.Ka=a;this.bb=eb(a,"Keyboard");this.Ol=Math.round(c.ca.Kd/1193181);tb(b,this,ii);zb(b,this,ji);this.Iab;b++){var c=13>=b?si(e,b):e.ta[b];a&&(a+="\n");a+="CMOS[0x"+t(b)+"]: 0x"+t(c)}e.fa.message(a)})}Xc(c,ti,this,this.Hn)};k.Zb=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.Yb=function(a){return a&&this.save?this.save():!0};
+k.reset=function(a){var b;this.dd=this.$b;this.Ze=this.ue;ui(this);this.fb=Array(this.Tf);for(b=0;b=fi){this.lb=16;this.xd=0;this.gd=16;this.Sg=0;this.Ae=160;512<=yi(this)&&(this.Ae|=16);3==zi(this)&&(this.Ae|=64);this.di=3;this.Qf=0;this.Og=Array(7);this.Be=0;a&&(this.ta=Array(64));
+Ai(this,this.cp);for(a=21;24>=a;a++)this.ta[a]=0;for(a=14;46>a;a++)void 0===this.ta[a]&&(this.ta[a]=0);this.ta[20]=this.dd&(di.Ff|2|ei.Th|ei.Ff);this.ta[16]=Bi(this,0)<<4|Bi(this,1);Ci(this)}};
+function Ai(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.da("CMOS date invalid ("+b+"), using "+c)):b&&a.da("CMOS date: "+c);a.ta[0]=c.getSeconds();a.ta[1]=0;a.ta[2]=c.getMinutes();a.ta[3]=0;a.ta[4]=c.getHours();a.ta[5]=0;a.ta[6]=c.getDay()+1;a.ta[7]=c.getDate();a.ta[8]=c.getMonth()+1;c=c.getFullYear();a.ta[9]=c%100;c/=100;a.ta[50]=c%10|c/10<<4;a.jg=-1;a.ta[10]=38;a.ta[11]=2;a.ta[12]=0;a.ta[13]=128}
function si(a,b){var c=a.ta[b];if(10>b){var d=!1;4!=b&&5!=b||a.ta[11]&2||(c=12>c?c?c:12:(c-=12)?c+128:140,d=!0);a.ta[11]&4||(d&&128c;c++)b+=a.ta[c];a.ta[47]=b&255;a.ta[46]=b>>8}
-k.save=function(){var a=new gd(this);a.set(0,[this.Zb,this.ue,this.dd,this.Ze]);for(var b=[],c=0;c=fi&&(a.set(5,[this.lb,this.xd,this.gd,this.Rg,this.Ae,this.ci]),a.set(6,[this.Pf,this.Ng,this.Be,this.ta,this.ig]));return a.data()};
-k.restore=function(a){var b,c;b=a[0];this.Zb=b[0];this.ue=b[1];this.dd=b[2];this.Ze=b[3];b=a[1];this.eb=Array(this.Sf);for(c=0;c>2)+1)*a.Hn+32*((b?a.ue:a.Ze)&15)}function Fi(a,b){var c=b?a.Zb:a.dd;return a.Ia!=ai||c&ei.Sh?((c&ei.Ef)>>ei.Ff)+1:0}
-function Bi(a,b){if(b>di.Ff}
-function hi(a,b,c,d,e){for(var f="",g=1;8>=g;g++){var h="pcjs-bitCell";g||(h+=" pcjs-bitCellLeft");f+=''+g+"
\n"}c.innerHTML=f;b=D(c,"pcjs-bitCell");c=null;for(g=0;g>2].Gb[b&3],c,d,e)}
-function Oi(a,b,c){b=a.eb[b>>2].Gb[b&3];b.dh&&b.Bi&&b.Eh?(c&&(b.fh=c),b.Id||Id(a,b,!0)):c&&c(!0)}function Id(a,b,c){c&&(b.count=b.$b[1]<<8|b.$b[0],b.em=b.mode&12,b.xk=b.Zc=!1);for(var d=!1;0<=b.count&&(c=b.Xg<<16|b.Pb[1]<<8|b.Pb[0],4==b.em?(d=!0,function(c){b.Bi.call(b.dh,b.Eh,-1,function(f,g){0>f&&(b.xk||(b.xk=!0),f=255);b.Id||pb(a.ra,c,f);(d=g)&&setTimeout(function(){Vi(b)||Id(a,b)},0)})}(c)):8==b.em?(c=nb(a.ra,c),0>b.Bi.call(b.dh,b.Eh,c)&&(b.Zc=!0)):b.Zc=!0),!d&&!Vi(b););}
-function Vi(a){if(!a.Zc&&0<=--a.count&&(a.mode&32?(a.Pb[0]--,0>a.Pb[0]&&(a.Pb[0]=255,a.Pb[1]--,0>a.Pb[1]&&(a.Pb[1]=255))):(a.Pb[0]++,255>3,e=a.vb[d];e.Ib|=1<<(b&7);e.ng=c||0;1==d&&(a.vb[0].Ib|=4);Yi(a,d)}
-function bj(a,b){var c=b>>3,d=a.vb[c],e=1<<(b&7);d.Ib&e&&(d.Ib&=~e,1!=c||d.Ib||(a.vb[0].Ib&=-5),Yi(a,c))}function Gd(a,b){void 0===b&&(b=0);var c=-1,d=a.vb[b];if(d.ng)c=-2,d.ng--;else for(var e=d.Ib&((d.Hc|d.yd)^255),f=d.Ce+1;;){var f=f&7,g=1<>6;if(3!=a){c=b&1;var d=b&14;if(b&=48){var e=this.Hb[a];e.Bg=b;e.mode=d;e.gk=c;e.Jc=[0,0];e.$b=[0,0];e.Yf=[0,0];e.md=!1;e.bg=!1;e.jf=!1;dj(this,a);0==a&&bj(this,0);2==a&&255==this.vb[0].yd&&77==this.zc&&(a=this.Hb[0],a.Yc[0]=a.Jc[0],a.Yc[1]=a.Jc[1],a.re=Ub(this.T,this.oh))}else qi(this,a),b=this.Hb[a],b.Yf[0]=b.$b[0],b.Yf[1]=b.$b[1],b.bg=!0,dj(this,a)}};
-function fj(a,b){var c=a.Hb[b],d=c.Jc[1]<<8|c.Jc[0];d||(d=1==c.kd?256:65536);return d}function dj(a,b){var c=a.Hb[b];c.ge=32==c.Bg?1:0;c.kd=48==c.Bg?2:1}
-function qi(a,b,c){var d=a.Hb[b];if(d.jf&&(2!=b||a.zc&1)){var e=Ub(a.T,a.oh),f=(e-d.re)/a.Ml|0;0>f&&(d.re=e,f=0);var g=fj(a,b),h=a.Hb[b],l=h.Yc[1]<<8|h.Yc[0];l||(l=1==h.kd?256:65536);h=l-f;0==d.mode?(0>=h&&(h=0),h||(d.md=!0,d.jf=!1,b||aj(a,0))):4==d.mode?(d.md=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.Yc[0]=h&255,d.Yc[1]=h>>8,d.re=e,!b&&d.md&&aj(a,0))):6==d.mode&&(h-=f,0>=h&&(d.md=!d.md,h=g+h,0>=h&&(h=g),d.Yc[0]=h&255,d.Yc[1]=h>>8,d.re=e,!b&&d.md&&aj(a,0)));d.$b[0]=h&255;d.$b[1]=h>>8;c&&(a.re=0)}return d}
-function $b(a,b){for(var c=0;c=fi){var c=0,d=a.T.ca.Kd,e=Ub(a.T,a.oh);if(0<=a.ig&&(c=e-a.ig,Math.floor(c/d)&&60<=++a.ta[0]&&(a.ta[0]=0,60<=++a.ta[2]&&(a.ta[2]=0,24<=++a.ta[4])))){a.ta[4]=0;a.ta[6]=a.ta[6]%7+1;var f=a.ta[9],g=qa[a.ta[8]-1];28==g&&0===f%4&&(f%100||0===f%400)&&g++;++a.ta[7]>g&&(a.ta[7]=1,12<++a.ta[8]&&(a.ta[8]=1,a.ta[9]=(a.ta[9]+1)%100))}a.ig=e-c%d}}
-k.rn=function(a,b){var c=this.Wg;this.Rf&16&&(this.zc&128?c=this.dd:this.ab&&(c=gj(this.ab)));this.ea(a,null,b,"PPI_A",hj,c);return c};k.Ho=function(a,b,c){this.ea(a,b,c,"PPI_A",hj);this.Wg=b};k.sn=function(a,b){var c=this.zc;this.ea(a,null,b,"PPI_B",hj,c);return c};k.Io=function(a,b,c){this.ea(a,b,c,"PPI_B",hj);ij(this,b);this.ab&&jj(this.ab,b&128?!1:!0,b&64?!0:!1)};function ij(a,b){var c=!!(b&2),d=!!(a.zc&2);a.zc=b;c!=d&&Zb(a,c)}
-k.tn=function(a,b){var c=0,c=this.Ia==ai?this.zc&4?c|this.Ze&15:c|this.Ze>>4&1:this.zc&8?c|this.dd>>4:c|this.dd&15;this.zc&1&&qi(this,2).md&&(c=this.zc&2?c|32:c|16);this.ea(a,null,b,"PPI_C",hj|Db,c);return c};k.Jo=function(a,b,c){this.ea(a,b,c,"PPI_C",hj);this.ei=b};k.un=function(a,b){var c=this.Rf;this.ea(a,null,b,"PPI_CTRL",hj,c);return c};k.Ko=function(a,b,c){this.ea(a,b,c,"PPI_CTRL",hj);this.Rf=b};
-k.Hm=function(a,b){var c=this.Rg;this.ea(a,null,b,"8042_OUTBUFF",kj,c);this.lb&=-258;var d=this.ab&&gj(this.ab,!0);d&&lj(this,d);return c};k.Zn=function(a,b,c){this.ea(a,b,c,"8042_INBUF.DATA",kj);if(this.lb&8)switch(this.xd){case 96:mj(this,b);break;case 209:nj(this,b);break;default:if(mj(this,this.gd&-17),this.ab){a=-1;switch(b){case 255:a=250,oj(this.ab)}lj(this,a)}}this.xd=b;this.lb&=-9};k.Im=function(a,b){var c=this.zc&-209|(Ub(this.T)&64?16:0);this.ea(a,null,b,"8042_RWREG",kj|pj,c);return c};
-k.$n=function(a,b,c){this.ea(a,b,c,"8042_RWREG",kj);ij(this,b)};k.Jm=function(a,b){this.ea(a,null,b,"8042_STATUS",kj,this.lb);var c=this.lb&255;this.lb&256&&(this.lb|=1,this.lb&=-257);return c};
-k.Yn=function(a,b,c){this.ea(a,b,c,"8042_INBUFF.CMD",kj);this.xd=b;this.lb|=8;a=0;240<=this.xd&&(a=this.xd^15,this.xd=240);switch(this.xd){case 192:lj(this,this.Ae);break;case 173:mj(this,this.gd|16);break;case 174:mj(this,this.gd&-17);break;case 170:this.ab&&qj(this.ab,!0);mj(this,this.gd|16);lj(this,85);nj(this,3);break;case 224:lj(this,this.gd&16?0:1);break;case 240:a&1&&Sc(this.T)}};
-function mj(a,b){var c=!(a.gd&16);a.gd=b;a.lb=a.lb&-5|b&4;if(a.ab){var d=!(b&16);jj(a.ab,!!(b&8),d)&&lj(a,gj(a.ab,!0));!c&&d&&gj(a.ab)&&rj(a)}}function lj(a,b){0<=b&&(a.Rg=b,a.lb&=-2,a.lb|=256)}function nj(a,b){a.ci=b;jb(a.ra,!!(b&2));b&1||Sc(a.T)}function rj(a){a.Ia=c?si(this,c):this.ta[c];this.ea(a,null,b,"CMOS_DATA["+t(c)+"]",ri,d);return d};k.qo=function(a,b,c){var d=this.Be&63;this.ea(a,b,c,"CMOS_DATA["+t(d)+"]",ri);a=this.ta;13>=d&&10>d&&(c=!1,this.ta[11]&4||(b=10*(b>>4)+(b&15),c=!0),4==d||5==d)&&(c&&12=b?b=12==b?0:b:(b-=116,b=24==b?12:b)));a[d]=b};k.pn=function(a,b){this.ea(a,null,b,"MFG_DATA",hj,this.Pf);return this.Pf};k.Eo=function(a,b,c){this.ea(a,b,c,"MFG_DATA",hj);this.Pf=b};
-k.Go=function(a,b,c){this.ea(a,b,c,"NMI",hj);this.Vg=b};k.Gn=function(a){var b=this.T.H>>8;this.fa&&E(this.fa,sj)&&($c(this.fa,ti,a),ad(this.T,a,function(a,d){return function(e){d=Ub(a.T)-d;var f,g=a.T.K&255,h=a.T.K>>8,l=a.T.K&255,n=a.T.K>>8;if(2==b||3==b)f=" CH(hour)="+v(h)+" CL(min)="+t(g)+" DH(sec)="+t(n);else if(4==b||5==b)f=" CX(year)="+v(a.T.J)+" DH(month)="+t(n)+" DL(day)="+t(l);bd(a.fa,ti,e,d,f)}}(this,Ub(this.T))));return!0};
+k.save=function(){var a=new gd(this);a.set(0,[this.$b,this.ue,this.dd,this.Ze]);for(var b=[],c=0;c=fi&&(a.set(5,[this.lb,this.xd,this.gd,this.Sg,this.Ae,this.di]),a.set(6,[this.Qf,this.Og,this.Be,this.ta,this.jg]));return a.data()};
+k.restore=function(a){var b,c;b=a[0];this.$b=b[0];this.ue=b[1];this.dd=b[2];this.Ze=b[3];b=a[1];this.fb=Array(this.Tf);for(c=0;c>2)+1)*a.In+32*((b?a.ue:a.Ze)&15)}function Fi(a,b){var c=b?a.$b:a.dd;return a.Ia!=ai||c&ei.Th?((c&ei.Ff)>>ei.Gf)+1:0}
+function Bi(a,b){if(b>di.Gf}
+function hi(a,b,c,d,e){for(var f="",g=1;8>=g;g++){var h="pcjs-bitCell";g||(h+=" pcjs-bitCellLeft");f+=''+g+"
\n"}c.innerHTML=f;b=D(c,"pcjs-bitCell");c=null;for(g=0;g>2].Kb[b&3],c,d,e)}
+function Oi(a,b,c){b=a.fb[b>>2].Kb[b&3];b.eh&&b.Ci&&b.Fh?(c&&(b.gh=c),b.Id||Id(a,b,!0)):c&&c(!0)}function Id(a,b,c){c&&(b.count=b.ac[1]<<8|b.ac[0],b.gm=b.mode&12,b.zk=b.Zc=!1);for(var d=!1;0<=b.count&&(c=b.Yg<<16|b.Sb[1]<<8|b.Sb[0],4==b.gm?(d=!0,function(c){b.Ci.call(b.eh,b.Fh,-1,function(f,g){0>f&&(b.zk||(b.zk=!0),f=255);b.Id||pb(a.ra,c,f);(d=g)&&setTimeout(function(){Vi(b)||Id(a,b)},0)})}(c)):8==b.gm?(c=nb(a.ra,c),0>b.Ci.call(b.eh,b.Fh,c)&&(b.Zc=!0)):b.Zc=!0),!d&&!Vi(b););}
+function Vi(a){if(!a.Zc&&0<=--a.count&&(a.mode&32?(a.Sb[0]--,0>a.Sb[0]&&(a.Sb[0]=255,a.Sb[1]--,0>a.Sb[1]&&(a.Sb[1]=255))):(a.Sb[0]++,255>3,e=a.zb[d];e.Mb|=1<<(b&7);e.og=c||0;1==d&&(a.zb[0].Mb|=4);Yi(a,d)}
+function bj(a,b){var c=b>>3,d=a.zb[c],e=1<<(b&7);d.Mb&e&&(d.Mb&=~e,1!=c||d.Mb||(a.zb[0].Mb&=-5),Yi(a,c))}function Gd(a,b){void 0===b&&(b=0);var c=-1,d=a.zb[b];if(d.og)c=-2,d.og--;else for(var e=d.Mb&((d.Ic|d.yd)^255),f=d.Ce+1;;){var f=f&7,g=1<>6;if(3!=a){c=b&1;var d=b&14;if(b&=48){var e=this.Lb[a];e.Cg=b;e.mode=d;e.hk=c;e.Kc=[0,0];e.ac=[0,0];e.Zf=[0,0];e.md=!1;e.cg=!1;e.jf=!1;dj(this,a);0==a&&bj(this,0);2==a&&255==this.zb[0].yd&&77==this.zc&&(a=this.Lb[0],a.Yc[0]=a.Kc[0],a.Yc[1]=a.Kc[1],a.re=Ub(this.T,this.ph))}else qi(this,a),b=this.Lb[a],b.Zf[0]=b.ac[0],b.Zf[1]=b.ac[1],b.cg=!0,dj(this,a)}};
+function fj(a,b){var c=a.Lb[b],d=c.Kc[1]<<8|c.Kc[0];d||(d=1==c.kd?256:65536);return d}function dj(a,b){var c=a.Lb[b];c.ge=32==c.Cg?1:0;c.kd=48==c.Cg?2:1}
+function qi(a,b,c){var d=a.Lb[b];if(d.jf&&(2!=b||a.zc&1)){var e=Ub(a.T,a.ph),f=(e-d.re)/a.Ol|0;0>f&&(d.re=e,f=0);var g=fj(a,b),h=a.Lb[b],l=h.Yc[1]<<8|h.Yc[0];l||(l=1==h.kd?256:65536);h=l-f;0==d.mode?(0>=h&&(h=0),h||(d.md=!0,d.jf=!1,b||aj(a,0))):4==d.mode?(d.md=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.Yc[0]=h&255,d.Yc[1]=h>>8,d.re=e,!b&&d.md&&aj(a,0))):6==d.mode&&(h-=f,0>=h&&(d.md=!d.md,h=g+h,0>=h&&(h=g),d.Yc[0]=h&255,d.Yc[1]=h>>8,d.re=e,!b&&d.md&&aj(a,0)));d.ac[0]=h&255;d.ac[1]=h>>8;c&&(a.re=0)}return d}
+function $b(a,b){for(var c=0;c=fi){var c=0,d=a.T.ca.Kd,e=Ub(a.T,a.ph);if(0<=a.jg&&(c=e-a.jg,Math.floor(c/d)&&60<=++a.ta[0]&&(a.ta[0]=0,60<=++a.ta[2]&&(a.ta[2]=0,24<=++a.ta[4])))){a.ta[4]=0;a.ta[6]=a.ta[6]%7+1;var f=a.ta[9],g=qa[a.ta[8]-1];28==g&&0===f%4&&(f%100||0===f%400)&&g++;++a.ta[7]>g&&(a.ta[7]=1,12<++a.ta[8]&&(a.ta[8]=1,a.ta[9]=(a.ta[9]+1)%100))}a.jg=e-c%d}}
+k.sn=function(a,b){var c=this.Xg;this.Sf&16&&(this.zc&128?c=this.dd:this.bb&&(c=gj(this.bb)));this.ea(a,null,b,"PPI_A",hj,c);return c};k.Io=function(a,b,c){this.ea(a,b,c,"PPI_A",hj);this.Xg=b};k.tn=function(a,b){var c=this.zc;this.ea(a,null,b,"PPI_B",hj,c);return c};k.Jo=function(a,b,c){this.ea(a,b,c,"PPI_B",hj);ij(this,b);this.bb&&jj(this.bb,b&128?!1:!0,b&64?!0:!1)};function ij(a,b){var c=!!(b&2),d=!!(a.zc&2);a.zc=b;c!=d&&Zb(a,c)}
+k.un=function(a,b){var c=0,c=this.Ia==ai?this.zc&4?c|this.Ze&15:c|this.Ze>>4&1:this.zc&8?c|this.dd>>4:c|this.dd&15;this.zc&1&&qi(this,2).md&&(c=this.zc&2?c|32:c|16);this.ea(a,null,b,"PPI_C",hj|Db,c);return c};k.Ko=function(a,b,c){this.ea(a,b,c,"PPI_C",hj);this.fi=b};k.vn=function(a,b){var c=this.Sf;this.ea(a,null,b,"PPI_CTRL",hj,c);return c};k.Lo=function(a,b,c){this.ea(a,b,c,"PPI_CTRL",hj);this.Sf=b};
+k.Im=function(a,b){var c=this.Sg;this.ea(a,null,b,"8042_OUTBUFF",kj,c);this.lb&=-258;var d=this.bb&&gj(this.bb,!0);d&&lj(this,d);return c};k.$n=function(a,b,c){this.ea(a,b,c,"8042_INBUF.DATA",kj);if(this.lb&8)switch(this.xd){case 96:mj(this,b);break;case 209:nj(this,b);break;default:if(mj(this,this.gd&-17),this.bb){a=-1;switch(b){case 255:a=250,oj(this.bb)}lj(this,a)}}this.xd=b;this.lb&=-9};k.Jm=function(a,b){var c=this.zc&-209|(Ub(this.T)&64?16:0);this.ea(a,null,b,"8042_RWREG",kj|pj,c);return c};
+k.ao=function(a,b,c){this.ea(a,b,c,"8042_RWREG",kj);ij(this,b)};k.Km=function(a,b){this.ea(a,null,b,"8042_STATUS",kj,this.lb);var c=this.lb&255;this.lb&256&&(this.lb|=1,this.lb&=-257);return c};
+k.Zn=function(a,b,c){this.ea(a,b,c,"8042_INBUFF.CMD",kj);this.xd=b;this.lb|=8;a=0;240<=this.xd&&(a=this.xd^15,this.xd=240);switch(this.xd){case 192:lj(this,this.Ae);break;case 173:mj(this,this.gd|16);break;case 174:mj(this,this.gd&-17);break;case 170:this.bb&&qj(this.bb,!0);mj(this,this.gd|16);lj(this,85);nj(this,3);break;case 224:lj(this,this.gd&16?0:1);break;case 240:a&1&&Sc(this.T)}};
+function mj(a,b){var c=!(a.gd&16);a.gd=b;a.lb=a.lb&-5|b&4;if(a.bb){var d=!(b&16);jj(a.bb,!!(b&8),d)&&lj(a,gj(a.bb,!0));!c&&d&&gj(a.bb)&&rj(a)}}function lj(a,b){0<=b&&(a.Sg=b,a.lb&=-2,a.lb|=256)}function nj(a,b){a.di=b;jb(a.ra,!!(b&2));b&1||Sc(a.T)}function rj(a){a.Ia=c?si(this,c):this.ta[c];this.ea(a,null,b,"CMOS_DATA["+t(c)+"]",ri,d);return d};k.ro=function(a,b,c){var d=this.Be&63;this.ea(a,b,c,"CMOS_DATA["+t(d)+"]",ri);a=this.ta;13>=d&&10>d&&(c=!1,this.ta[11]&4||(b=10*(b>>4)+(b&15),c=!0),4==d||5==d)&&(c&&12=b?b=12==b?0:b:(b-=116,b=24==b?12:b)));a[d]=b};k.qn=function(a,b){this.ea(a,null,b,"MFG_DATA",hj,this.Qf);return this.Qf};k.Fo=function(a,b,c){this.ea(a,b,c,"MFG_DATA",hj);this.Qf=b};
+k.Ho=function(a,b,c){this.ea(a,b,c,"NMI",hj);this.Wg=b};k.Hn=function(a){var b=this.T.H>>8;this.fa&&E(this.fa,sj)&&($c(this.fa,ti,a),ad(this.T,a,function(a,d){return function(e){d=Ub(a.T)-d;var f,g=a.T.K&255,h=a.T.K>>8,l=a.T.K&255,n=a.T.K>>8;if(2==b||3==b)f=" CH(hour)="+v(h)+" CL(min)="+t(g)+" DH(sec)="+t(n);else if(4==b||5==b)f=" CX(year)="+v(a.T.J)+" DH(month)="+t(n)+" DL(day)="+t(l);bd(a.fa,ti,e,d,f)}}(this,Ub(this.T))));return!0};
function bi(a,b){if(void 0===a)return b;for(var c=0,d=1,e=0;ec||2E4c||2E4>8&255,this.Bb[c++]=f[b]>>16&255,this.Bb[c++]=f[b]>>24&255;else this.Bb=d;this.Yh=d.symbols;if(!this.Bb.length){x("Empty ROM: "+a);return}if(1==this.Bb.length){x(this.Bb[0]);return}}catch(g){this.Ja("ROM data error: "+
-g.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.Bb=Array(a.length),d=0;dthis.Pg?21:23,c=a.ta[b]|a.ta[b+1]<<8,c=c+(this.Qd>>10);a.ta[b]=c&255;a.ta[b+1]=c>>8;Ci(a)}}else x("No RAM allocated")};
-Ha(function(){for(var a=D(window.document,"pcjs","ram"),b=0;b":62,"?":63,"@":64,ip:65,jp:66,Uj:67,gm:68,E:69,pp:70,wp:71,Vj:72,yp:73,zp:74,Ap:75,Bp:76,Cp:77,Th:78,Ep:79,Fp:80,Hp:81,Xj:82,Lp:83,Vp:84,Zp:85,$p:86,aq:87,cq:88,dq:89,eq:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,fq:97,gq:98,iq:99,jq:100,kq:101,lq:102,mq:103,nq:104,oq:105,pq:106,qq:107,rq:108,
-sq:109,tq:110,vq:111,wq:112,xq:113,yq:114,zq:115,Aq:116,Bq:117,Cq:118,Dq:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},Dj={16:2,17:8,18:32,20:256},Ej={tab:1009,esc:1027,"right-shift":3016,shift:1016,ctrl:1017,alt:1018,"caps-lock":1020,f1:1112,f2:1113,f3:1114,f4:1115,f5:1116,f6:1117,f7:1118,f8:1119,f9:1120,f10:1121,left:1037,up:1038,right:1039,down:1040,"ctrl-c":4003,"ctrl-break":4063,"ctrl-alt-del":4081},Fj={esc:1,1:2,2:3,3:4,4:5,5:6,6:7,7:8,8:9,9:10,0:11,"-":12,"=":13,bs:14,tab:15,q:16,
+a,b,c)},4:function(a,b,c){Ii(this,0,2,a,b,c)},5:function(a,b,c){Ki(this,0,2,a,b,c)},6:function(a,b,c){Ii(this,0,3,a,b,c)},7:function(a,b,c){Ki(this,0,3,a,b,c)},8:function(a,b,c){this.ea(a,b,c,"DMA0.CMD",P);this.fb[0].ei=b},9:function(a,b,c){Mi(this,0,a,b,c)},10:function(a,b,c){Ni(this,0,a,b,c)},11:function(a,b,c){this.ea(a,b,c,"DMA0.MODE",P);this.fb[0].Kb[b&3].mode=b},12:function(a,b,c){this.ea(a,b,c,"DMA0.INDEX",P);this.fb[0].ub=0},13:function(a,b,c){Pi(this,0,a,b,c)},32:function(a,b,c){Xi(this,
+0,b,c)},33:function(a,b,c){$i(this,0,b,c)},64:function(a,b,c){ej(this,0,b,c)},65:function(a,b,c){ej(this,1,b,c)},66:function(a,b,c){ej(this,2,b,c)},67:O.prototype.Po,129:function(a,b,c){Ri(this,0,2,a,b,c)},130:function(a,b,c){Ri(this,0,3,a,b,c)},131:function(a,b,c){Ri(this,0,1,a,b,c)},135:function(a,b,c){Ri(this,0,0,a,b,c)}},li={96:O.prototype.Io,97:O.prototype.Jo,98:O.prototype.Ko,99:O.prototype.Lo,160:O.prototype.Ho},ni={96:O.prototype.$n,97:O.prototype.ao,100:O.prototype.Zn,112:O.prototype.qo,
+113:O.prototype.ro,128:O.prototype.Fo,132:function(a,b,c){Ti(this,0,a,b,c)},133:function(a,b,c){Ti(this,1,a,b,c)},134:function(a,b,c){Ti(this,2,a,b,c)},136:function(a,b,c){Ti(this,3,a,b,c)},137:function(a,b,c){Ri(this,1,2,a,b,c)},138:function(a,b,c){Ri(this,1,3,a,b,c)},139:function(a,b,c){Ri(this,1,1,a,b,c)},140:function(a,b,c){Ti(this,4,a,b,c)},141:function(a,b,c){Ti(this,5,a,b,c)},142:function(a,b,c){Ti(this,6,a,b,c)},143:function(a,b,c){Ri(this,1,0,a,b,c)},160:function(a,b,c){Xi(this,1,b,c)},161:function(a,
+b,c){$i(this,1,b,c)},192:function(a,b,c){Ii(this,1,0,a,b,c)},194:function(a,b,c){Ki(this,1,0,a,b,c)},196:function(a,b,c){Ii(this,1,1,a,b,c)},198:function(a,b,c){Ki(this,1,1,a,b,c)},200:function(a,b,c){Ii(this,1,2,a,b,c)},202:function(a,b,c){Ki(this,1,2,a,b,c)},204:function(a,b,c){Ii(this,1,3,a,b,c)},206:function(a,b,c){Ki(this,1,3,a,b,c)},208:function(a,b,c){this.ea(a,b,c,"DMA1.CMD",P);this.fb[1].ei=b},210:function(a,b,c){Mi(this,1,a,b,c)},212:function(a,b,c){Ni(this,1,a,b,c)},214:function(a,b,c){this.ea(a,
+b,c,"DMA1.MODE",P);this.fb[1].Kb[b&3].mode=b},216:function(a,b,c){this.ea(a,b,c,"DMA1.INDEX",P);this.fb[1].ub=0},218:function(a,b,c){Pi(this,1,a,b,c)}};Ha(function(){for(var a=D(window.document,"pcjs","chipset"),b=0;b>8&255,this.Fb[c++]=f[b]>>16&255,this.Fb[c++]=f[b]>>24&255;else this.Fb=d;this.Zh=d.symbols;if(!this.Fb.length){x("Empty ROM: "+a);return}if(1==this.Fb.length){x(this.Fb[0]);return}}catch(g){this.Ja("ROM data error: "+
+g.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.Fb=Array(a.length),d=0;dthis.Qg?21:23,c=a.ta[b]|a.ta[b+1]<<8,c=c+(this.Qd>>10);a.ta[b]=c&255;a.ta[b+1]=c>>8;Ci(a)}}else x("No RAM allocated")};
+Ha(function(){for(var a=D(window.document,"pcjs","ram"),b=0;b":62,"?":63,"@":64,jp:65,kp:66,Vj:67,im:68,E:69,qp:70,xp:71,Wj:72,zp:73,Ap:74,Bp:75,Cp:76,Dp:77,Uh:78,Fp:79,Gp:80,Ip:81,Yj:82,Mp:83,Wp:84,$p:85,aq:86,bq:87,dq:88,eq:89,fq:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,gq:97,hq:98,jq:99,kq:100,lq:101,mq:102,nq:103,oq:104,pq:105,qq:106,rq:107,sq:108,
+tq:109,uq:110,wq:111,xq:112,yq:113,zq:114,Aq:115,Bq:116,Cq:117,Dq:118,Eq:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},Dj={16:2,17:8,18:32,20:256},Ej={tab:1009,esc:1027,"right-shift":3016,shift:1016,ctrl:1017,alt:1018,"caps-lock":1020,f1:1112,f2:1113,f3:1114,f4:1115,f5:1116,f6:1117,f7:1118,f8:1119,f9:1120,f10:1121,left:1037,up:1038,right:1039,down:1040,"ctrl-c":4003,"ctrl-break":4063,"ctrl-alt-del":4081},Fj={esc:1,1:2,2:3,3:4,4:5,5:6,6:7,7:8,8:9,9:10,0:11,"-":12,"=":13,bs:14,tab:15,q:16,
w:17,e:18,r:19,t:20,y:21,u:22,i:23,o:24,p:25,"[":26,"]":27,enter:28,ctrl:29,a:30,s:31,d:32,f:33,g:34,h:35,j:36,k:37,l:38,";":39,quote:40,"`":41,shift:42,"\\":43,z:44,x:45,c:46,v:47,b:48,n:49,m:50,",":51,".":52,"/":53,"right-shift":54,prtsc:55,alt:56,space:57,"caps-lock":58,f1:59,f2:60,f3:61,f4:62,f5:63,f6:64,f7:65,f8:66,f9:67,f10:68,"num-lock":69,"scroll-lock":70,"num-home":71,"num-up":72,"num-pgup":73,"num-sub":74,"num-left":75,"num-center":76,"num-right":77,"num-add":78,"num-end":79,"num-down":80,
-"num-pgdn":81,"num-ins":82,"num-del":83,sysreq:84,pause:84,f11:87,f12:88,"num-enter":7392,"right-ctrl":7648,"num-div":13792,"num-mul":14304,"right-alt":14560,home:18400,up:18656,pgup:18912,left:19424,right:19936,end:20448,down:20704,pgdn:20960,ins:21216,del:21472,win:23520,"right-win":23776,menu:24032},T={1027:2};T[Q["1"]]=2;T[Q["!"]]=10754;T[Q["2"]]=3;T[Q["@"]]=10755;T[Q["3"]]=4;T[Q["#"]]=10756;T[Q["4"]]=5;T[Q.$]=10757;T[Q["5"]]=6;T[Q["%"]]=10758;T[Q["6"]]=7;T[Q["^"]]=10759;T[Q["7"]]=8;
-T[Q["&"]]=10760;T[Q["8"]]=9;T[Q["*"]]=10761;T[Q["9"]]=10;T[Q["("]]=10762;T[Q["0"]]=11;T[Q[")"]]=10763;T[Q["-"]]=12;T[Q._]=10764;T[Q["="]]=13;T[Q["+"]]=10765;T[1008]=14;T[1009]=15;T[113]=16;T[81]=10768;T[119]=17;T[87]=10769;T[101]=18;T[69]=10770;T[114]=19;T[82]=10771;T[116]=20;T[84]=10772;T[121]=21;T[89]=10773;T[117]=22;T[85]=10774;T[105]=23;T[73]=10775;T[111]=24;T[79]=10776;T[112]=25;T[80]=10777;T[Q["["]]=26;T[Q["{"]]=10778;T[Q["]"]]=27;T[Q["}"]]=10779;T[13]=28;T[1017]=29;T[97]=30;T[65]=10782;
-T[115]=31;T[83]=10783;T[100]=32;T[68]=10784;T[102]=33;T[70]=10785;T[103]=34;T[71]=10786;T[104]=35;T[72]=10787;T[106]=36;T[74]=10788;T[107]=37;T[75]=10789;T[108]=38;T[76]=10790;T[Q[";"]]=39;T[Q[":"]]=10791;T[Q["'"]]=40;T[Q['"']]=10792;T[Q["`"]]=41;T[Q["~"]]=10793;T[1016]=42;T[Q["\\"]]=43;T[Q["|"]]=10795;T[122]=44;T[90]=10796;T[120]=45;T[88]=10797;T[99]=46;T[67]=10798;T[118]=47;T[86]=10799;T[98]=48;T[66]=10800;T[110]=49;T[78]=10801;T[109]=50;T[77]=10802;T[Q[","]]=51;T[Q["<"]]=10803;T[Q["."]]=52;
-T[Q[">"]]=10804;T[Q["/"]]=53;T[Q["?"]]=10805;T[3016]=54;T[1018]=56;T[Q[" "]]=57;T[1020]=58;T[1112]=59;T[1113]=60;T[1114]=61;T[1115]=62;T[1116]=63;T[1117]=64;T[1118]=65;T[1119]=66;T[1120]=67;T[1121]=68;T[1036]=71;T[1038]=72;T[1033]=73;T[1037]=75;T[1039]=77;T[1035]=79;T[1040]=80;T[1034]=81;T[1045]=82;T[1046]=83;T[1122]=87;T[1123]=88;T[4003]=7470;T[4063]=7494;T[4081]=3677523;k=Cj.prototype;
-k.Ab=function(a,b,c,d){var e=this;a=b+"-"+c;if(void 0===this.za[a])switch(c){case "kbd":return this.za[a]=d,d.onkeydown=function(a){return Gj(e,a,!0)},d.onkeypress=function(a){var b=!0;a=a||window.event;a=a.which||a.keyCode;8==a||9==a?b=!1:e.wb&64?e.wb&=-65:b=e.wb&40?!1:!Hj(e,a);return b},d.onkeyup=function(a){return Gj(e,a,!1)},!0;default:if(void 0!==Ej[c]&&"button"==b)return this.za[a]=d,d.onclick=function(a,b,c){return function(){a.T&&a.T.Pd();return!Hj(a,c)}}(this,c,Ej[c]),!0;if(void 0!==Fj[c])return this.za[a]=
-d,b=function(a,b,c){return function(){Ij(a,c)}}(this,c,Fj[c]),c=function(a,b,c){return function(){Ij(a,c)}}(this,c,Fj[c]|128),"ontouchstart"in window?(d.ontouchstart=b,d.ontouchend=c):(d.onmousedown=b,d.onmouseup=d.onmouseout=c),!0}return!1};k.pc=function(a,b,c,d){this.ra=b;this.T=c;this.fa=d;this.oa=eb(a,"ChipSet")};k.Ta=function(){this.uk=(this.Gm=Aa("iOS"))||Aa("Android");this.Ra("mobile keyboard support: "+(this.uk?"true":"false"));return z.prototype.Ta.call(this)};
-function oj(a){a.Ra("keyboard reset",Jj);a.xc=[170];a.oa&&rj(a.oa)}function jj(a,b,c){var d=!1;a.ui!==c&&(a.ui=a.yi=c);a.kh!==b&&(a.kh=b)&&!a.yi&&qj(a);a.kh&&a.yi&&(oj(a),a.yi=!1,d=!0);return d}function gj(a,b){var c=0;a.xc.length&&(c=a.xc[0],a.Ra("scan code 0x"+t(c)+" delivered"),b&&qj(a));return c}function qj(a,b){0a.xc.length){if(!(!d&&!a.Xh[c]||d&&a.Xh[c])){a.Xh[c]=d;a.Ra("scan code 0x"+t(b)+" buffered");a.xc.push(b);1==a.xc.length&&a.oa&&rj(a.oa);for(var e in Fj)if(Fj[e]==c){(c=a.za["key-"+e])&&void 0!==d&&(c.style.color=d?"#ffffff":"#000000",c.style.backgroundColor=d?"#000000":"#ffffff");break}}}else 20==a.xc.length&&a.xc.push(255),a.Ra("scan code buffer overflow")}function Kj(a,b){var c=b?a.Ln:a.Kn;a.T&&a.T.ca.nd&&(c/=a.T.ca.nd);return c}
-function Lj(a,b){!a.Se||void 0!==b&&b==a.Se||(clearTimeout(a.td[a.Se]),Mj(a,a.Se,!1))}function Gj(a,b,c){var d,e=!c,f=b.keyCode,g=f;c&&(a.Ql=f);if(T[f+1E3]){var g=g+1E3,h=Dj[f]||0;if(h)2==b.location&&(h>>=1,g+=2E3),a.wb&=~h,c&&(a.wb|=h),20==f?d=Hj(a,g):e=!1;else if(8==f||9==f||27==f)8==f&&8==(a.wb&40)&&(g=4063),d=c?!Hj(a,g):!1}else 91==f?(a.wb&=-65,c&&(a.wb|=64),e=!1,d=!0):b.altKey||b.ctrlKey?65<=f&&90>=f&&(g+=32):d=!0;e&&(a.wb&=-65,a.uk||f!=a.Ql||Lj(a));void 0===d&&(d=!Mj(a,g,c));return d}
+"num-pgdn":81,"num-ins":82,"num-del":83,sysreq:84,pause:84,f11:87,f12:88,"num-enter":7392,"right-ctrl":7648,"num-div":13792,"num-mul":14304,"right-alt":14560,home:18400,up:18656,pgup:18912,left:19424,right:19936,end:20448,down:20704,pgdn:20960,ins:21216,del:21472,win:23520,"right-win":23776,menu:24032},S={1027:2};S[Q["1"]]=2;S[Q["!"]]=10754;S[Q["2"]]=3;S[Q["@"]]=10755;S[Q["3"]]=4;S[Q["#"]]=10756;S[Q["4"]]=5;S[Q.$]=10757;S[Q["5"]]=6;S[Q["%"]]=10758;S[Q["6"]]=7;S[Q["^"]]=10759;S[Q["7"]]=8;
+S[Q["&"]]=10760;S[Q["8"]]=9;S[Q["*"]]=10761;S[Q["9"]]=10;S[Q["("]]=10762;S[Q["0"]]=11;S[Q[")"]]=10763;S[Q["-"]]=12;S[Q._]=10764;S[Q["="]]=13;S[Q["+"]]=10765;S[1008]=14;S[1009]=15;S[113]=16;S[81]=10768;S[119]=17;S[87]=10769;S[101]=18;S[69]=10770;S[114]=19;S[82]=10771;S[116]=20;S[84]=10772;S[121]=21;S[89]=10773;S[117]=22;S[85]=10774;S[105]=23;S[73]=10775;S[111]=24;S[79]=10776;S[112]=25;S[80]=10777;S[Q["["]]=26;S[Q["{"]]=10778;S[Q["]"]]=27;S[Q["}"]]=10779;S[13]=28;S[1017]=29;S[97]=30;S[65]=10782;
+S[115]=31;S[83]=10783;S[100]=32;S[68]=10784;S[102]=33;S[70]=10785;S[103]=34;S[71]=10786;S[104]=35;S[72]=10787;S[106]=36;S[74]=10788;S[107]=37;S[75]=10789;S[108]=38;S[76]=10790;S[Q[";"]]=39;S[Q[":"]]=10791;S[Q["'"]]=40;S[Q['"']]=10792;S[Q["`"]]=41;S[Q["~"]]=10793;S[1016]=42;S[Q["\\"]]=43;S[Q["|"]]=10795;S[122]=44;S[90]=10796;S[120]=45;S[88]=10797;S[99]=46;S[67]=10798;S[118]=47;S[86]=10799;S[98]=48;S[66]=10800;S[110]=49;S[78]=10801;S[109]=50;S[77]=10802;S[Q[","]]=51;S[Q["<"]]=10803;S[Q["."]]=52;
+S[Q[">"]]=10804;S[Q["/"]]=53;S[Q["?"]]=10805;S[3016]=54;S[1018]=56;S[Q[" "]]=57;S[1020]=58;S[1112]=59;S[1113]=60;S[1114]=61;S[1115]=62;S[1116]=63;S[1117]=64;S[1118]=65;S[1119]=66;S[1120]=67;S[1121]=68;S[1036]=71;S[1038]=72;S[1033]=73;S[1037]=75;S[1039]=77;S[1035]=79;S[1040]=80;S[1034]=81;S[1045]=82;S[1046]=83;S[1122]=87;S[1123]=88;S[4003]=7470;S[4063]=7494;S[4081]=3677523;k=Cj.prototype;
+k.Eb=function(a,b,c,d){var e=this;a=b+"-"+c;if(void 0===this.ya[a])switch(c){case "kbd":return this.ya[a]=d,d.onkeydown=function(a){return Gj(e,a,!0)},d.onkeypress=function(a){var b=!0;a=a||window.event;a=a.which||a.keyCode;8==a||9==a?b=!1:e.Ab&64?e.Ab&=-65:b=e.Ab&40?!1:!Hj(e,a);return b},d.onkeyup=function(a){return Gj(e,a,!1)},!0;default:if(void 0!==Ej[c]&&"button"==b)return this.ya[a]=d,d.onclick=function(a,b,c){return function(){a.T&&a.T.Pd();return!Hj(a,c)}}(this,c,Ej[c]),!0;if(void 0!==Fj[c])return this.ya[a]=
+d,b=function(a,b,c){return function(){Ij(a,c)}}(this,c,Fj[c]),c=function(a,b,c){return function(){Ij(a,c)}}(this,c,Fj[c]|128),"ontouchstart"in window?(d.ontouchstart=b,d.ontouchend=c):(d.onmousedown=b,d.onmouseup=d.onmouseout=c),!0}return!1};k.pc=function(a,b,c,d){this.ra=b;this.T=c;this.fa=d;this.oa=eb(a,"ChipSet")};k.Ta=function(){this.wk=(this.Hm=Aa("iOS"))||Aa("Android");this.Ra("mobile keyboard support: "+(this.wk?"true":"false"));return z.prototype.Ta.call(this)};
+function oj(a){a.Ra("keyboard reset",Jj);a.xc=[170];a.oa&&rj(a.oa)}function jj(a,b,c){var d=!1;a.vi!==c&&(a.vi=a.zi=c);a.lh!==b&&(a.lh=b)&&!a.zi&&qj(a);a.lh&&a.zi&&(oj(a),a.zi=!1,d=!0);return d}function gj(a,b){var c=0;a.xc.length&&(c=a.xc[0],a.Ra("scan code 0x"+t(c)+" delivered"),b&&qj(a));return c}function qj(a,b){0a.xc.length){if(!(!d&&!a.Yh[c]||d&&a.Yh[c])){a.Yh[c]=d;a.Ra("scan code 0x"+t(b)+" buffered");a.xc.push(b);1==a.xc.length&&a.oa&&rj(a.oa);for(var e in Fj)if(Fj[e]==c){(c=a.ya["key-"+e])&&void 0!==d&&(c.style.color=d?"#ffffff":"#000000",c.style.backgroundColor=d?"#000000":"#ffffff");break}}}else 20==a.xc.length&&a.xc.push(255),a.Ra("scan code buffer overflow")}function Kj(a,b){var c=b?a.Mn:a.Ln;a.T&&a.T.ca.nd&&(c/=a.T.ca.nd);return c}
+function Lj(a,b){!a.Se||void 0!==b&&b==a.Se||(clearTimeout(a.td[a.Se]),Mj(a,a.Se,!1))}function Gj(a,b,c){var d,e=!c,f=b.keyCode,g=f;c&&(a.Sl=f);if(S[f+1E3]){var g=g+1E3,h=Dj[f]||0;if(h)2==b.location&&(h>>=1,g+=2E3),a.Ab&=~h,c&&(a.Ab|=h),20==f?d=Hj(a,g):e=!1;else if(8==f||9==f||27==f)8==f&&8==(a.Ab&40)&&(g=4063),d=c?!Hj(a,g):!1}else 91==f?(a.Ab&=-65,c&&(a.Ab|=64),e=!1,d=!0):b.altKey||b.ctrlKey?65<=f&&90>=f&&(g+=32):d=!0;e&&(a.Ab&=-65,a.wk||f!=a.Sl||Lj(a));void 0===d&&(d=!Mj(a,g,c));return d}
function Hj(a,b,c){var d=!1;Lj(a,b);Mj(a,b,!0)&&(c?Mj(a,b,!1):(c=!1,a.td[b]&&(clearTimeout(a.td[b]),c=!0),c=Kj(a,c),a.td[a.Se=b]=setTimeout(function(a){return function(){Mj(a,b,!1)}}(a),c)),d=!0);return d}
-function Mj(a,b,c){var d=!1;c||(a.td[b]=null,a.Se==b&&(a.Se=0));var e=T[b]||T[b+1E3];if(void 0!==e){14==e&&40==(a.wb&40)&&(e=83);var d=[],f=e&255;d.push(f|(c?0:128));for(b=65<=b&&90>=b||97<=b&&122>=b;e>>>=8;){var g=0,h=e&255;224==f||225==f?d.push(f|(c?0:128)):(42==h?a.wb&3||a.wb&256&&b||(g=h):29==h?a.wb&12||(g=h):56==h?a.wb&48||(g=h):d.push(f|(c?0:128)),g&&(c?d.unshift(g):d.push(g|128)))}for(c=0;c=b||97<=b&&122>=b;e>>>=8;){var g=0,h=e&255;224==f||225==f?d.push(f|(c?0:128)):(42==h?a.Ab&3||a.Ab&256&&b||(g=h):29==h?a.Ab&12||(g=h):56==h?a.Ab&48||(g=h):d.push(f|(c?0:128)),g&&(c?d.unshift(g):d.push(g|128)))}for(c=0;cc.length)c=[!1,0,null,null,0,Array(ak)];this.fa=a.fa;this.type=e[0];this.port=e[1];this.ke=b;this.Ua=e[2];this.Ob=e[3];this.Wc=d||e[4];65536<=this.Wc&&720896<=this.Ua&&(this.Ob=Math.min(this.Wc>>2,32768));this.mc=c[0];this.Cc=c[1];this.ef=c[2];this.yf=c[3];this.oc=c[4]&255;this.rh=c[4]>>8&255;this.dc=c[5];this.Hi=ak;this.Qg=bk;if(5==b){this.Hi=ck;this.Qg=dk;b=c[6];void 0===b&&(b=[!1,0,Array(20),0,3==f?0:1,0,0,Array(5),
-0,0,0,Array(9),0,[this.Ua,this.Ob,this.Wc],Array(this.Wc>>2),771,0,4294967295,0,4294967295,0,4294967295,0,0,0]);this.ld=b[0];this.Ed=b[1];this.Td=b[2];this.$h=ek;this.Rh=b[3];this.fg=b[4];this.qh=b[5];this.Gd=b[6];this.Hf=b[7];this.bi=fk;this.Ci=b[8];this.Di=b[9];this.Fd=b[10];this.xe=b[11];this.ai=gk;this.yb=b[12];d=b[13];"number"==typeof d&&(d=[this.Ua,this.Ob,d]);this.Ua=d[0];this.Ob=d[1];d=this.Wc>>2;if((this.fd=b[14])&&this.fd.lengthc.length)c=[!1,0,null,null,0,Array(ak)];this.fa=a.fa;this.type=e[0];this.port=e[1];this.ke=b;this.Ua=e[2];this.Rb=e[3];this.Wc=d||e[4];65536<=this.Wc&&720896<=this.Ua&&(this.Rb=Math.min(this.Wc>>2,32768));this.mc=c[0];this.Dc=c[1];this.ef=c[2];this.zf=c[3];this.oc=c[4]&255;this.sh=c[4]>>8&255;this.dc=c[5];this.Ii=ak;this.Rg=bk;if(5==b){this.Ii=ck;this.Rg=dk;b=c[6];void 0===b&&(b=[!1,0,Array(20),0,3==f?0:1,0,0,Array(5),
+0,0,0,Array(9),0,[this.Ua,this.Rb,this.Wc],Array(this.Wc>>2),771,0,4294967295,0,4294967295,0,4294967295,0,0,0]);this.ld=b[0];this.Ed=b[1];this.Td=b[2];this.ai=ek;this.Sh=b[3];this.gg=b[4];this.rh=b[5];this.Gd=b[6];this.If=b[7];this.ci=fk;this.Di=b[8];this.Ei=b[9];this.Fd=b[10];this.xe=b[11];this.bi=gk;this.Cb=b[12];d=b[13];"number"==typeof d&&(d=[this.Ua,this.Rb,d]);this.Ua=d[0];this.Rb=d[1];d=this.Wc>>2;if((this.fd=b[14])&&this.fd.length>8&255)}
-var pk=[,,function(a){a+=this.offset;return(this.ia.yb=this.wa[a])>>this.ia.Bj&255},function(a){a+=this.offset;var b=a&-2;return(a&1?this.wa[b]>>8:this.wa[b])&255}];pk[16]=function(a){a+=this.offset;a=this.wa[a];for(var b=this.ia.Ji&this.ia.Ki,c=0,d=128;d;)(a&b)==b&&(c|=d),b>>>=1,d>>=1;return c};pk[512]=function(a,b){var c=a+this.offset,d;d=this.wa[c]&~this.ia.jb|(b|b<<8|b<<16|b<<24)&this.ia.jb;d=d&this.ia.pb|this.ia.yb&~this.ia.pb;this.wa[c]!=d&&(this.wa[c]=d,this.ib=!0)};
-pk[1024]=function(a,b){var c=a+this.offset;b=b>>this.ia.od|b<<8-this.ia.od&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ia.qe|this.ia.Qe;d=d&this.ia.jb|this.wa[c]&~this.ia.jb;d=d&this.ia.pb|this.ia.yb&~this.ia.pb;this.wa[c]!=d&&(this.wa[c]=d,this.ib=!0)};
-pk[1536]=function(a,b){var c=a+this.offset;b=b>>this.ia.od|b<<8-this.ia.od&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ia.qe|this.ia.Qe;d&=this.ia.yb;d=d&this.ia.jb|this.wa[c]&~this.ia.jb;d=d&this.ia.pb|this.ia.yb&~this.ia.pb;this.wa[c]!=d&&(this.wa[c]=d,this.ib=!0)};
-pk[2560]=function(a,b){var c=a+this.offset;b=b>>this.ia.od|b<<8-this.ia.od&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ia.qe|this.ia.Qe;d|=this.ia.yb;d=d&this.ia.jb|this.wa[c]&~this.ia.jb;d=d&this.ia.pb|this.ia.yb&~this.ia.pb;this.wa[c]!=d&&(this.wa[c]=d,this.ib=!0)};
-pk[3584]=function(a,b){var c=a+this.offset;b=b>>this.ia.od|b<<8-this.ia.od&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ia.qe|this.ia.Qe;d^=this.ia.yb;d=d&this.ia.jb|this.wa[c]&~this.ia.jb;d=d&this.ia.pb|this.ia.yb&~this.ia.pb;this.wa[c]!=d&&(this.wa[c]=d,this.ib=!0)};pk[768]=function(a,b){a+=this.offset;var c,d=a&-2;c=this.ia.jb&(d==a?16711935:4278255360);c=(b|b<<8|b<<16|b<<24)&c|this.wa[d]&~c;c=c&this.ia.pb|this.ia.yb&~this.ia.pb;this.wa[d]!=c&&(this.wa[d]=c,this.ib=!0)};
-pk[4096]=function(a){a+=this.offset;var b=this.wa[a]&~this.ia.jb|this.ia.yb&this.ia.jb;this.wa[a]!=b&&(this.wa[a]=b,this.ib=!0)};pk[8192]=function(a,b){var c=a+this.offset,d=Wj[b&15],d=d&this.ia.jb|this.wa[c]&~this.ia.jb,d=d&this.ia.pb|this.ia.yb&~this.ia.pb;this.wa[c]!=d&&(this.wa[c]=d,this.ib=!0)};pk[24576]=function(a,b){var c=a+this.offset,d=Wj[b&15],d=d&this.ia.yb,d=d&this.ia.jb|this.wa[c]&~this.ia.jb,d=d&this.ia.pb|this.ia.yb&~this.ia.pb;this.wa[c]!=d&&(this.wa[c]=d,this.ib=!0)};
-pk[40960]=function(a,b){var c=a+this.offset,d=Wj[b&15],d=d|this.ia.yb,d=d&this.ia.jb|this.wa[c]&~this.ia.jb,d=d&this.ia.pb|this.ia.yb&~this.ia.pb;this.wa[c]!=d&&(this.wa[c]=d,this.ib=!0)};pk[57344]=function(a,b){var c=a+this.offset,d=Wj[b&15],d=d^this.ia.yb,d=d&this.ia.jb|this.wa[c]&~this.ia.jb,d=d&this.ia.pb|this.ia.yb&~this.ia.pb;this.wa[c]!=d&&(this.wa[c]=d,this.ib=!0)};
-function qk(a){var b=[];if(void 0!==a.ke){b[0]=a.mc;b[1]=a.Cc;b[2]=a.ef;b[3]=a.yf;b[4]=a.oc|a.rh<<8;b[5]=a.dc;if(5==a.ke){var c=[];c[0]=a.ld;c[1]=a.Ed;c[2]=a.Td;c[3]=a.Rh;c[4]=a.fg;c[5]=a.qh;c[6]=a.Gd;c[7]=a.Hf;c[8]=a.Ci;c[9]=a.Di;c[10]=a.Fd;c[11]=a.xe;c[12]=a.yb;c[13]=[a.Ua,a.Ob,a.Wc];var d;a:if(d=a.fd){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h>1;f[e++]=l;h=n}if(f.lengtha&&(a=0);for(var c="",d=0;8>d;d++){for(var n=p(b.Ua+a)+":",q=0;8>q&&a>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8),qb(this.ra,b,c|d<<8);Mb(this,!0)}};function zk(a){a.na.fg&1?(a.Vc=a.hi,a.Cb=a.na):(a.Vc=a.na,a.Cb=a.bh)}k.save=function(){var a=new gd(this);a.set(0,qk(this.hi));a.set(1,qk(this.bh));a.set(2,[this.ne,this.pd,this.Md]);a.set(3,qk(this.na));return a.data()};
-k.restore=function(a){var b=a[2];this.ne=b[0];this.pd=b[1];this.Md=b[2];this.Ha=null;this.Vc=this.hi=new Yj(this,1,a[0]);this.Cb=this.bh=new Yj(this,3,a[1]);this.na=new Yj(this,5,a[3],this.Wc);this.na.mc&&zk(this);Ak(this);if(!Ck(this))return!1;Dk(this);return!0};
-k.Un=function(a,b,c){if(c)this.Ja("Unable to load font ROM image (error "+c+")");else{try{var d=eval("("+b+")");if(!d.length){x("Empty font ROM image: "+a);return}if(1==d.length){x(d[0]);return}if(8192==d.length)Aj(this,d,[0,6144]);else{this.Ja("Unrecognized font data length ("+d.length+")");return}}catch(e){this.Ja("Font ROM data error: "+e.message);return}this.Ta()}};
-function Ek(a,b){if(1==b)return a.wd[0]=V[0],a.wd[1]=V[7],a.wd;if(2==b){var c=a.Ha.ef;if(a.Ha===a.na){var d=a.na.Td[0],c=d&7;d&16&&(c|=8);18!=a.na.Td[1]&&(c|=32)}a.wd[0]=V[c&15];c=c&32?Uj:Tj;for(d=0;dva||!M?va:8,yb=W.createImageData(n.kc,n.lc),K=0;256>K;K++){for(S=0;S=va-2,ga=wa[S>(8<=w&&176<=K&&223>=K?7:w)?s:xb;Hk(yb,Xa,Hc,ic);y&&Hk(yb,Xa+1,Hc,ic)}W.putImageData(yb,(K&15)*n.kc,(K>>4)*n.lc)}n.af[u]="#"+t(s[0])+t(s[1])+t(s[2]);n.Zj[u]=s;n.Uh[u]=Qb;n=!0}}a.Wd[b]=r;return n}function Ik(a){0a.Ge&&(a.Ge=0):a.Ge=-1}
-function Dk(a){if(a.Sb){for(var b=10;15>=b;b++)if(null==a.Ha.dc[b])return;var c=a.Ha.dc[10],b=c&31,d=a.Ha.dc[11]&31,e=a.Ha.dc[9]&31,f=!1;a.Ha===a.na&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)Jk(a);else{c=a.Ha.dc[15]+((a.Ha.dc[14]&63)<<8);a.Nc!=c&&(Jk(a),a.Nc=c);d=d-b+1;if(a.fm!=b||a.nk!=d)a.fm=b,a.nk=d;a.he=e+1;Ik(a)}}}
-function Jk(a){if(0<=a.Nc){if(void 0!==a.ec){var b=a.ec[a.Nc];if(b&131072){var b=b&-131073,c=a.Nc%a.Db,d=Math.floor(a.Nc/a.Db);a.Sb&&a.Wd[a.Sb]&&(a.ff&&Kk(a,c,d,b,a.ff),Kk(a,c,d,b));a.ec[a.Nc]=b}}a.Nc=-1}}
-function Lk(a){var b;a=a.Ha;var c=a.xe[5];if(null!=c){b=2;var d=512,e=a.xe[3]&31;switch(c&3){case 0:if(e){d=1024;switch(e&24){case 8:d=1536;break;case 16:d=2560;break;case 24:d=3584}a.od=e&7}break;case 1:d=4096;break;case 2:switch(e&24){default:d=8192;break;case 8:d=24576;break;case 16:d=40960;break;case 24:d=57344}}c&8&&(b=16);c&16&&(b|=1,d|=256);b|=d}return b}k.Xe=function(a){var b=this.Ha;null!=a&&b&&a!=b.xh&&(b.Oh(a),this.ra.Oh(b.Ua,b.Ob,b.Mf))};
-function Ck(a,b){var c,d=a.Md,e=a.Ha;if(e)if(1==e.ke)d=Oj;else if(5==e.ke){var d=null,f=e.Wc>>2,g=32768f&&(d=c?13:14):c&&(d-=2));c=Lk(a)}}else e.Cc&8&&(e.Cc&2?(d=e.Cc&16?6:5,e.Cc&4||(d-=1)):(d=e.Cc&1?3:1,e.Cc&4&&(d-=
+ek="PAL00 PAL01 PAL02 PAL03 PAL04 PAL05 PAL06 PAL07 PAL08 PAL09 PAL0A PAL0B PAL0C PAL0D PAL0E PAL0F MODE OVRSCAN PLANES HORZPAN".split(" "),fk=["RESET","CLK","MAPMASK","CHARMAP","MODE"],gk="SRESET ESRESET COLRCMP DATAROT READMAP MODE MISC COLRDC BITMASK".split(" ");function hk(a){return this.sc(a)|this.sc(a+1)<<8}function ik(a,b){this.Fc(a,b&255);this.Fc(a+1,b>>8&255)}
+var pk=[,,function(a){a+=this.offset;return(this.ia.Cb=this.wa[a])>>this.ia.Cj&255},function(a){a+=this.offset;var b=a&-2;return(a&1?this.wa[b]>>8:this.wa[b])&255}];pk[16]=function(a){a+=this.offset;a=this.wa[a];for(var b=this.ia.Ki&this.ia.Li,c=0,d=128;d;)(a&b)==b&&(c|=d),b>>>=1,d>>=1;return c};pk[512]=function(a,b){var c=a+this.offset,d;d=this.wa[c]&~this.ia.jb|(b|b<<8|b<<16|b<<24)&this.ia.jb;d=d&this.ia.qb|this.ia.Cb&~this.ia.qb;this.wa[c]!=d&&(this.wa[c]=d,this.nb=!0)};
+pk[1024]=function(a,b){var c=a+this.offset;b=b>>this.ia.od|b<<8-this.ia.od&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ia.qe|this.ia.Qe;d=d&this.ia.jb|this.wa[c]&~this.ia.jb;d=d&this.ia.qb|this.ia.Cb&~this.ia.qb;this.wa[c]!=d&&(this.wa[c]=d,this.nb=!0)};
+pk[1536]=function(a,b){var c=a+this.offset;b=b>>this.ia.od|b<<8-this.ia.od&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ia.qe|this.ia.Qe;d&=this.ia.Cb;d=d&this.ia.jb|this.wa[c]&~this.ia.jb;d=d&this.ia.qb|this.ia.Cb&~this.ia.qb;this.wa[c]!=d&&(this.wa[c]=d,this.nb=!0)};
+pk[2560]=function(a,b){var c=a+this.offset;b=b>>this.ia.od|b<<8-this.ia.od&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ia.qe|this.ia.Qe;d|=this.ia.Cb;d=d&this.ia.jb|this.wa[c]&~this.ia.jb;d=d&this.ia.qb|this.ia.Cb&~this.ia.qb;this.wa[c]!=d&&(this.wa[c]=d,this.nb=!0)};
+pk[3584]=function(a,b){var c=a+this.offset;b=b>>this.ia.od|b<<8-this.ia.od&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ia.qe|this.ia.Qe;d^=this.ia.Cb;d=d&this.ia.jb|this.wa[c]&~this.ia.jb;d=d&this.ia.qb|this.ia.Cb&~this.ia.qb;this.wa[c]!=d&&(this.wa[c]=d,this.nb=!0)};pk[768]=function(a,b){a+=this.offset;var c,d=a&-2;c=this.ia.jb&(d==a?16711935:4278255360);c=(b|b<<8|b<<16|b<<24)&c|this.wa[d]&~c;c=c&this.ia.qb|this.ia.Cb&~this.ia.qb;this.wa[d]!=c&&(this.wa[d]=c,this.nb=!0)};
+pk[4096]=function(a){a+=this.offset;var b=this.wa[a]&~this.ia.jb|this.ia.Cb&this.ia.jb;this.wa[a]!=b&&(this.wa[a]=b,this.nb=!0)};pk[8192]=function(a,b){var c=a+this.offset,d=Wj[b&15],d=d&this.ia.jb|this.wa[c]&~this.ia.jb,d=d&this.ia.qb|this.ia.Cb&~this.ia.qb;this.wa[c]!=d&&(this.wa[c]=d,this.nb=!0)};pk[24576]=function(a,b){var c=a+this.offset,d=Wj[b&15],d=d&this.ia.Cb,d=d&this.ia.jb|this.wa[c]&~this.ia.jb,d=d&this.ia.qb|this.ia.Cb&~this.ia.qb;this.wa[c]!=d&&(this.wa[c]=d,this.nb=!0)};
+pk[40960]=function(a,b){var c=a+this.offset,d=Wj[b&15],d=d|this.ia.Cb,d=d&this.ia.jb|this.wa[c]&~this.ia.jb,d=d&this.ia.qb|this.ia.Cb&~this.ia.qb;this.wa[c]!=d&&(this.wa[c]=d,this.nb=!0)};pk[57344]=function(a,b){var c=a+this.offset,d=Wj[b&15],d=d^this.ia.Cb,d=d&this.ia.jb|this.wa[c]&~this.ia.jb,d=d&this.ia.qb|this.ia.Cb&~this.ia.qb;this.wa[c]!=d&&(this.wa[c]=d,this.nb=!0)};
+function qk(a){var b=[];if(void 0!==a.ke){b[0]=a.mc;b[1]=a.Dc;b[2]=a.ef;b[3]=a.zf;b[4]=a.oc|a.sh<<8;b[5]=a.dc;if(5==a.ke){var c=[];c[0]=a.ld;c[1]=a.Ed;c[2]=a.Td;c[3]=a.Sh;c[4]=a.gg;c[5]=a.rh;c[6]=a.Gd;c[7]=a.If;c[8]=a.Di;c[9]=a.Ei;c[10]=a.Fd;c[11]=a.xe;c[12]=a.Cb;c[13]=[a.Ua,a.Rb,a.Wc];var d;a:if(d=a.fd){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h>1;f[e++]=l;h=n}if(f.lengtha&&(a=0);for(var c="",d=0;8>d;d++){for(var n=p(b.Ua+a)+":",q=0;8>q&&a>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8),qb(this.ra,b,c|d<<8);Mb(this,!0)}};function zk(a){a.na.gg&1?(a.Vc=a.ii,a.Gb=a.na):(a.Vc=a.na,a.Gb=a.dh)}k.save=function(){var a=new gd(this);a.set(0,qk(this.ii));a.set(1,qk(this.dh));a.set(2,[this.ne,this.pd,this.Md]);a.set(3,qk(this.na));return a.data()};
+k.restore=function(a){var b=a[2];this.ne=b[0];this.pd=b[1];this.Md=b[2];this.Ha=null;this.Vc=this.ii=new Yj(this,1,a[0]);this.Gb=this.dh=new Yj(this,3,a[1]);this.na=new Yj(this,5,a[3],this.Wc);this.na.mc&&zk(this);Ak(this);if(!Ck(this))return!1;Dk(this);return!0};
+k.Vn=function(a,b,c){if(c)this.Ja("Unable to load font ROM image (error "+c+")");else{try{var d=eval("("+b+")");if(!d.length){x("Empty font ROM image: "+a);return}if(1==d.length){x(d[0]);return}if(8192==d.length)Aj(this,d,[0,6144]);else{this.Ja("Unrecognized font data length ("+d.length+")");return}}catch(e){this.Ja("Font ROM data error: "+e.message);return}this.Ta()}};
+function Ek(a,b){if(1==b)return a.wd[0]=U[0],a.wd[1]=U[7],a.wd;if(2==b){var c=a.Ha.ef;if(a.Ha===a.na){var d=a.na.Td[0],c=d&7;d&16&&(c|=8);18!=a.na.Td[1]&&(c|=32)}a.wd[0]=U[c&15];c=c&32?Uj:Tj;for(d=0;dva||!M?va:8,yb=W.createImageData(n.kc,n.lc),K=0;256>K;K++){for(R=0;R=va-2,ga=wa[R>(8<=w&&176<=K&&223>=K?7:w)?s:xb;Hk(yb,Xa,Hc,jc);y&&Hk(yb,Xa+1,Hc,jc)}W.putImageData(yb,(K&15)*n.kc,(K>>4)*n.lc)}n.af[u]="#"+t(s[0])+t(s[1])+t(s[2]);n.$j[u]=s;n.Vh[u]=Qb;n=!0}}a.Wd[b]=r;return n}function Ik(a){0a.Ge&&(a.Ge=0):a.Ge=-1}
+function Dk(a){if(a.Ub){for(var b=10;15>=b;b++)if(null==a.Ha.dc[b])return;var c=a.Ha.dc[10],b=c&31,d=a.Ha.dc[11]&31,e=a.Ha.dc[9]&31,f=!1;a.Ha===a.na&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)Jk(a);else{c=a.Ha.dc[15]+((a.Ha.dc[14]&63)<<8);a.Nc!=c&&(Jk(a),a.Nc=c);d=d-b+1;if(a.hm!=b||a.ok!=d)a.hm=b,a.ok=d;a.he=e+1;Ik(a)}}}
+function Jk(a){if(0<=a.Nc){if(void 0!==a.ec){var b=a.ec[a.Nc];if(b&131072){var b=b&-131073,c=a.Nc%a.Hb,d=Math.floor(a.Nc/a.Hb);a.Ub&&a.Wd[a.Ub]&&(a.ff&&Kk(a,c,d,b,a.ff),Kk(a,c,d,b));a.ec[a.Nc]=b}}a.Nc=-1}}
+function Lk(a){var b;a=a.Ha;var c=a.xe[5];if(null!=c){b=2;var d=512,e=a.xe[3]&31;switch(c&3){case 0:if(e){d=1024;switch(e&24){case 8:d=1536;break;case 16:d=2560;break;case 24:d=3584}a.od=e&7}break;case 1:d=4096;break;case 2:switch(e&24){default:d=8192;break;case 8:d=24576;break;case 16:d=40960;break;case 24:d=57344}}c&8&&(b=16);c&16&&(b|=1,d|=256);b|=d}return b}k.Xe=function(a){var b=this.Ha;null!=a&&b&&a!=b.yh&&(b.Ph(a),this.ra.Ph(b.Ua,b.Rb,b.Nf))};
+function Ck(a,b){var c,d=a.Md,e=a.Ha;if(e)if(1==e.ke)d=Oj;else if(5==e.ke){var d=null,f=e.Wc>>2,g=32768f&&(d=c?13:14):c&&(d-=2));c=Lk(a)}}else e.Dc&8&&(e.Dc&2?(d=e.Dc&16?6:5,e.Dc&4||(d-=1)):(d=e.Dc&1?3:1,e.Dc&4&&(d-=
1)));else a.Md=null,null==d&&(d=a.pd);if(!Bk(a,d,b))return!1;a.Xe(c);return!0}
-function Bk(a,b,c){if(null!=b&&(b!=a.Md||c)){a.lm=0;a.Md=b;b=a.Ha||(b==Oj?a.Vc:a.Cb);if(b!=a.Ha||b.Ua!=a.Ua||b.Ob!=a.Ob){Jk(a);if(a.Ua){if(!mb(a.ra,a.Ua,a.Ob))return!1;a.Ha&&(a.Ha.mc=!1)}a.Ha=b;b.mc=!0;a.Ua=b.Ua;a.Ob=b.Ob;if(!kb(a.ra,b.Ua,b.Ob,!1,b===a.na?b:null))return!1}a.Sb=0;a.Db=a.Ah;a.rc=a.Oi;a.Ii=Nj[Oj][2];b=0;var d=Nj[a.Md];d&&(a.Db=d[0],a.rc=d[1],a.Ii=d[2],b=d[3]||0,a.Sb=d[4],4==a.ne&&a.Ha===a.na&&3==a.Sb&&(7==a.na.dc[9]?a.rc=43:a.Sb=5));a.Ik=a.Db*a.rc;a.zh=a.Ik/a.Ii;a.ii=(a.zh<<1)+b;a.kk=
-b?a.ii+b>>1:0;13<=a.Md&&(a.zh<<=1);a.Wd.length&&(a.Bd=Math.floor(a.Ad/a.Db),a.Cd=Math.floor(a.ie/a.rc),a.Sb?(b=a.Wd[a.Sb],d=a.Wd[a.Sb<<1],a.xm&&80==a.Db?d&&a.Bd>=3*d.kc>>2&&(a.Sb<<=1,b=d):(d&&a.Bd>=d.kc&&(a.Sb<<=1,b=d),b&&(a.Bd=b.kc,a.Cd=b.lc)),a.Zf=a.$f=0,b&&(a.Zf=a.Db*b.kc,a.$f=a.rc*b.lc)):(a.Bd=a.Cd=1,a.Zf=a.Db,a.$f=a.rc),a.th=a.Xc.createImageData(a.Zf,a.$f),a.df=window.document.createElement("canvas"),a.df.width=a.Zf,a.df.height=a.$f,a.ff=a.df.getContext("2d"),a.Sj=a.Tj=0,a.ki=a.Ad,a.li=a.ie,
-b=a.Ad-a.Db*a.Bd,d=a.ie-a.rc*a.Cd,0>1,a.ki-=b),0>1,a.li-=d),b||d)&&(a.Xc.fillStyle=a.Jb.style.backgroundColor,a.Xc.fillRect(0,0,a.Ad,a.ie));!1!==c?Mb(a,!0):Mk(a,!0)}return!0}function Hk(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b+0]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function Mk(a,b){var c;if(b){if(c=a.zh,void 0===a.ec||a.ec.length!=c)a.ec=Array(c)}else{if(void 0===a.ec)return;c=a.ec.length}for(var d=0;d>8;d=g&15;var h=a.Wd[a.Sb];h.Gf&&(d=h.Gf[d]);var l=g>>4&15;h.Gf&&(l=h.Gf[l]);e?(b*=h.kc,c*=h.lc,e.fillStyle=h.af[l],e.fillRect(b,c,h.kc,h.lc)):(b=b*a.Bd+a.Sj,c=c*a.Cd+a.Tj,a.Xc.fillStyle=h.af[l],a.Xc.fillRect(b,c,a.Bd,a.Cd));g&256&&(l=(f&15)*h.kc,f=(f>>4)*h.lc,e?e.drawImage(h.Uh[d],l,f,h.kc,h.lc,b,c,h.kc,h.lc):a.Xc.drawImage(h.Uh[d],l,f,h.kc,h.lc,b,c,a.Bd,a.Cd));g&512&&(f=a.fm,g=a.nk,e?(a.he&&a.he!==h.lc&&(f=Math.floor(f*h.lc/a.he),g=Math.floor(g*h.lc/a.he)),
+function Bk(a,b,c){if(null!=b&&(b!=a.Md||c)){a.nm=0;a.Md=b;b=a.Ha||(b==Oj?a.Vc:a.Gb);if(b!=a.Ha||b.Ua!=a.Ua||b.Rb!=a.Rb){Jk(a);if(a.Ua){if(!mb(a.ra,a.Ua,a.Rb))return!1;a.Ha&&(a.Ha.mc=!1)}a.Ha=b;b.mc=!0;a.Ua=b.Ua;a.Rb=b.Rb;if(!kb(a.ra,b.Ua,b.Rb,!1,b===a.na?b:null))return!1}a.Ub=0;a.Hb=a.Bh;a.rc=a.Pi;a.Ji=Nj[Oj][2];b=0;var d=Nj[a.Md];d&&(a.Hb=d[0],a.rc=d[1],a.Ji=d[2],b=d[3]||0,a.Ub=d[4],4==a.ne&&a.Ha===a.na&&3==a.Ub&&(7==a.na.dc[9]?a.rc=43:a.Ub=5));a.Kk=a.Hb*a.rc;a.Ah=a.Kk/a.Ji;a.ji=(a.Ah<<1)+b;a.lk=
+b?a.ji+b>>1:0;13<=a.Md&&(a.Ah<<=1);a.Wd.length&&(a.Bd=Math.floor(a.Ad/a.Hb),a.Cd=Math.floor(a.ie/a.rc),a.Ub?(b=a.Wd[a.Ub],d=a.Wd[a.Ub<<1],a.ym&&80==a.Hb?d&&a.Bd>=3*d.kc>>2&&(a.Ub<<=1,b=d):(d&&a.Bd>=d.kc&&(a.Ub<<=1,b=d),b&&(a.Bd=b.kc,a.Cd=b.lc)),a.$f=a.ag=0,b&&(a.$f=a.Hb*b.kc,a.ag=a.rc*b.lc)):(a.Bd=a.Cd=1,a.$f=a.Hb,a.ag=a.rc),a.uh=a.Xc.createImageData(a.$f,a.ag),a.df=window.document.createElement("canvas"),a.df.width=a.$f,a.df.height=a.ag,a.ff=a.df.getContext("2d"),a.Tj=a.Uj=0,a.li=a.Ad,a.mi=a.ie,
+b=a.Ad-a.Hb*a.Bd,d=a.ie-a.rc*a.Cd,0>1,a.li-=b),0>1,a.mi-=d),b||d)&&(a.Xc.fillStyle=a.Nb.style.backgroundColor,a.Xc.fillRect(0,0,a.Ad,a.ie));!1!==c?Mb(a,!0):Mk(a,!0)}return!0}function Hk(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b+0]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function Mk(a,b){var c;if(b){if(c=a.Ah,void 0===a.ec||a.ec.length!=c)a.ec=Array(c)}else{if(void 0===a.ec)return;c=a.ec.length}for(var d=0;d>8;d=g&15;var h=a.Wd[a.Ub];h.Hf&&(d=h.Hf[d]);var l=g>>4&15;h.Hf&&(l=h.Hf[l]);e?(b*=h.kc,c*=h.lc,e.fillStyle=h.af[l],e.fillRect(b,c,h.kc,h.lc)):(b=b*a.Bd+a.Tj,c=c*a.Cd+a.Uj,a.Xc.fillStyle=h.af[l],a.Xc.fillRect(b,c,a.Bd,a.Cd));g&256&&(l=(f&15)*h.kc,f=(f>>4)*h.lc,e?e.drawImage(h.Vh[d],l,f,h.kc,h.lc,b,c,h.kc,h.lc):a.Xc.drawImage(h.Vh[d],l,f,h.kc,h.lc,b,c,a.Bd,a.Cd));g&512&&(f=a.hm,g=a.ok,e?(a.he&&a.he!==h.lc&&(f=Math.floor(f*h.lc/a.he),g=Math.floor(g*h.lc/a.he)),
e.fillStyle=h.af[d],e.fillRect(b,c+f,h.kc,g)):(a.he&&a.he!==a.Cd&&(f=Math.floor(f*a.Cd/a.he),g=Math.floor(g*a.Cd/a.he)),a.Xc.fillStyle=h.af[d],a.Xc.fillRect(b,c+f,a.Bd,g)))}
-function Mb(a,b){if(a.qa.Lb){var c=!1;a.Ha&&(a.Ha===a.na?a.na.Ed&32&&(c=!0):a.Ha.Cc&8&&(c=!0));if(c||b){if(b)Mk(a,!0);else if(void 0===a.ec)return;var d=!1;!(b||++a.lm&15)&&0<=a.Ge&&(a.Ge++,d=!0);var e=0,f=a.Ik,c=a.Ha.Ua,g=c+a.Ha.Ob,h=(a.Ha.dc[12]<<8)+a.Ha.dc[13];a.Sb&&(h<<=1);var c=c+h,l=a.ii;c+l>g&&(l=g-c,0>l&&(l=0));g=c+l;if(h=!b){for(var h=a.ra,n=!0,q=c>>h.sb;0a.Nc)return;e=a.Nc;f=
-e+1}}if(a.Sb){if(a.Wd[a.Sb]){d=0;h=a.Fe=0;l=1048575;a.Ha.Cc&32&&(h=32768,l&=~h,a.Ge&2||(l&=-65537));for(c+=e<<1;c>8|(r&255)<<8;s=h;var va=16;q>=l))>>(va-=l);Hk(a.th,q++,u,n[xb])}q>B&&(B=q);u=R&&(R=u+1)}e+=2;g++;if(q>=a.Db){q=0;u+=2;if(u>a.rc)break;u==a.rc&&(u=1,e=c+a.kk)}}yM;M++)R=
-B&2155905152,0>R&&(R+=4294967296),R=Xj[R]||0,Hk(a.th,h++,l,g[R]),B<<=1;h>q&&(q=h);l=y&&(y=l+1)}e++;if(h>=a.Db&&(h=0,++l>a.rc))break}n>2),c=this.na.Rh&-17|(this.Sg&1<f&&(f=0);f%b.Li>b.On&&(d|=1);f%=b.Lk;f>b.Rn&&(d|=8);b.Si=e-f;b===a.na?(d|=b.yf&48^48,b.ld=!1):d=(b.yf^=9)|240;b.yf=d;a.ea(b.port+6,null,c,b===a.na?"STATUS1":"STATUS",d);return d}k.Ra=function(a,b){this.fa&&(b||E(this.fa,wk))&&this.fa.message(a)};k.ea=function(a,b,c,d,e){this.fa&&this.fa.ea(this,a,b,c,d,wk,e)};
-var sk={948:U.prototype.mn,949:U.prototype.ln,952:U.prototype.nn,954:U.prototype.on,980:U.prototype.Um,981:U.prototype.Tm,984:U.prototype.Vm,985:U.prototype.Sm,986:U.prototype.Wm},tk={948:U.prototype.Co,949:U.prototype.Bo,952:U.prototype.Do,980:U.prototype.no,981:U.prototype.mo,984:U.prototype.oo,985:U.prototype.lo},uk={960:U.prototype.Ek,961:U.prototype.Ek,962:U.prototype.yn,964:U.prototype.xn,965:U.prototype.wn,970:U.prototype.en,972:U.prototype.dn,974:U.prototype.cn,975:U.prototype.bn},vk={954:U.prototype.Pl,
-960:U.prototype.Ol,961:U.prototype.Ol,962:U.prototype.Fo,964:U.prototype.Mo,965:U.prototype.Lo,970:U.prototype.xo,972:U.prototype.wo,974:U.prototype.vo,975:U.prototype.uo,986:U.prototype.Pl};
+function Mb(a,b){if(a.qa.Ob){var c=!1;a.Ha&&(a.Ha===a.na?a.na.Ed&32&&(c=!0):a.Ha.Dc&8&&(c=!0));if(c||b){if(b)Mk(a,!0);else if(void 0===a.ec)return;var d=!1;!(b||++a.nm&15)&&0<=a.Ge&&(a.Ge++,d=!0);var e=0,f=a.Kk,c=a.Ha.Ua,g=c+a.Ha.Rb,h=(a.Ha.dc[12]<<8)+a.Ha.dc[13];a.Ub&&(h<<=1);var c=c+h,l=a.ji;c+l>g&&(l=g-c,0>l&&(l=0));g=c+l;if(h=!b){for(var h=a.ra,n=!0,q=c>>h.vb;0a.Nc)return;e=a.Nc;f=
+e+1}}if(a.Ub){if(a.Wd[a.Ub]){d=0;h=a.Fe=0;l=1048575;a.Ha.Dc&32&&(h=32768,l&=~h,a.Ge&2||(l&=-65537));for(c+=e<<1;c>8|(r&255)<<8;s=h;var va=16;q>=l))>>(va-=l);Hk(a.uh,q++,u,n[xb])}q>B&&(B=q);u=V&&(V=u+1)}e+=2;g++;if(q>=a.Hb){q=0;u+=2;if(u>a.rc)break;u==a.rc&&(u=1,e=c+a.lk)}}yM;M++)V=
+B&2155905152,0>V&&(V+=4294967296),V=Xj[V]||0,Hk(a.uh,h++,l,g[V]),B<<=1;h>q&&(q=h);l=y&&(y=l+1)}e++;if(h>=a.Hb&&(h=0,++l>a.rc))break}n>2),c=this.na.Sh&-17|(this.Tg&1<f&&(f=0);f%b.Mi>b.Pn&&(d|=1);f%=b.Nk;f>b.Sn&&(d|=8);b.Ti=e-f;b===a.na?(d|=b.zf&48^48,b.ld=!1):d=(b.zf^=9)|240;b.zf=d;a.ea(b.port+6,null,c,b===a.na?"STATUS1":"STATUS",d);return d}k.Ra=function(a,b){this.fa&&(b||E(this.fa,wk))&&this.fa.message(a)};k.ea=function(a,b,c,d,e){this.fa&&this.fa.ea(this,a,b,c,d,wk,e)};
+var sk={948:T.prototype.nn,949:T.prototype.mn,952:T.prototype.on,954:T.prototype.pn,980:T.prototype.Vm,981:T.prototype.Um,984:T.prototype.Wm,985:T.prototype.Tm,986:T.prototype.Xm},tk={948:T.prototype.Do,949:T.prototype.Co,952:T.prototype.Eo,980:T.prototype.oo,981:T.prototype.no,984:T.prototype.po,985:T.prototype.mo},uk={960:T.prototype.Gk,961:T.prototype.Gk,962:T.prototype.zn,964:T.prototype.yn,965:T.prototype.xn,970:T.prototype.fn,972:T.prototype.en,974:T.prototype.dn,975:T.prototype.cn},vk={954:T.prototype.Rl,
+960:T.prototype.Ql,961:T.prototype.Ql,962:T.prototype.Go,964:T.prototype.No,965:T.prototype.Mo,970:T.prototype.yo,972:T.prototype.xo,974:T.prototype.wo,975:T.prototype.vo,986:T.prototype.Rl};
Ha(function(){for(var a=D(window.document,"pcjs","video"),b=0;bMissing <canvas> support; try a new web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.setAttribute("contenteditable","true");e.setAttribute("autocapitalize","off");e.setAttribute("autocorrect","off");e.style.backgroundColor=d.screenColor;
-e.style.height=c.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(e.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight));c.appendChild(e);var f=e.getContext("2d"),d=new U(d,e,f);Za(d,c)}});
-function Sk(a){this.Ak=a.adapter;switch(this.Ak){case 1:this.Hj=1016;this.qg=4;break;case 2:this.Hj=760;this.qg=3;break;default:x("Unrecognized serial adapter #"+this.Ak);return}this.fe=null;z.call(this,"SerialPort",a,Sk);var b=a.binding,c;a=Tk;b&&(void 0===c&&(c="Panel"),(c=Ya(c,this.id))&&(b=c.za[b])&&this.Ab(null,null,a,b))}A(z,Sk);var Tk="buffer";k=Sk.prototype;k.bk=function(a,b){return a==this.sh?(this.Fk=b,this):null};
-k.Ab=function(a,b,c,d){var e=this;switch(c){case Tk:return this.za[c]=this.fe=d,d.onkeydown=function(a){a=a||window.event;var b=a.keyCode;8===b&&(a.preventDefault&&a.preventDefault(),Uk(e,[b]))},d.onkeypress=function(a){a=a||window.event;Uk(e,[a.which||a.keyCode])},!0}return!1};k.pc=function(a,b,c,d){this.ra=b;this.T=c;this.fa=d;this.oa=eb(a,"ChipSet");tb(b,this,Vk,this.Hj);zb(b,this,Wk,this.Hj);this.Ta()};
-k.Yb=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};k.Xb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.le()};k.save=function(){var a=new gd(this),b=0,c=[];c[b++]=this.fi;c[b++]=this.fk;c[b++]=this.$e;c[b++]=this.Tg;c[b++]=this.be;c[b++]=this.Uc;c[b++]=this.hd;c[b++]=this.Ic;c[b++]=this.dk;c[b]=this.Jf;a.set(0,c);return a.data()};k.restore=function(a){return this.le(a[0])};
-k.le=function(a){var b=0;void 0===a&&(a=[0,0,384,0,1,0,0,96,48,[]]);this.fi=a[b++];this.fk=a[b++];this.$e=a[b++];this.Tg=a[b++];this.be=a[b++];this.Uc=a[b++];this.hd=a[b++];this.Ic=a[b++];this.dk=a[b++];this.Jf=a[b];return!0};function Uk(a,b){a.Jf=a.Jf.concat(b);Xk(a)}function Xk(a){0>8:this.Tg;this.ea(a,null,b,this.Uc&128?"DLM":"IER",c);return c};k.gn=function(a,b){var c=this.be;this.ea(a,null,b,"IIR",c);return c};k.hn=function(a,b){var c=this.Uc;this.ea(a,null,b,"LCR",c);return c};k.kn=function(a,b){var c=this.hd;this.ea(a,null,b,"MCR",c);return c};
-k.jn=function(a,b){var c=this.Ic;this.ea(a,null,b,"LSR",c);return c};k.qn=function(a,b){var c=this.dk;this.ea(a,null,b,"MSR",c);return c};k.No=function(a,b,c){this.ea(a,b,c,this.Uc&128?"DLL":"THR");this.Uc&128?this.$e=this.$e&-256|b:(this.fk=b,this.Ic&=-97,this.fe?(13!=b&&(8==b?this.fe.value=this.fe.value.slice(0,-1):(this.fe.value+=String.fromCharCode(b),this.fe.scrollTop=this.fe.scrollHeight)),a=!0):a=!1,a&&(this.Ic|=96))};
-k.yo=function(a,b,c){this.ea(a,b,c,this.Uc&128?"DLM":"IER");this.Uc&128?this.$e=this.$e&255|b<<8:this.Tg=b};k.zo=function(a,b,c){this.ea(a,b,c,"LCR");this.Uc=b};
-k.Ao=function(a,b,c){var d=this.hd;this.ea(a,b,c,"MCR");this.hd=b;this.Fk&&(d^b)&3&&(a=this.Fk,b=this.hd,(c=3==(b&3))?a.mc||(d=!1,a.hd&2||(a.reset(),a.Ra("serial mouse reset"),d=!0),a.hd&1||(a.Ra("serial mouse ID requested"),d=!0),d&&(Uk(a.Vf,[77,77]),a.Ra("serial mouse ID sent")),Yk(a,a.Jb),a.mc=c):a.mc&&(a.Ra("serial mouse inactive"),Zk(a.Jb),a.mc=c),a.hd=b)};k.Ra=function(a){this.fa&&E(this.fa,$k)&&this.fa.message(a)};k.ea=function(a,b,c,d,e){this.fa&&this.fa.ea(this,a,b,c,d,$k,e)};
-var Vk={0:Sk.prototype.vn,1:Sk.prototype.fn,2:Sk.prototype.gn,3:Sk.prototype.hn,4:Sk.prototype.kn,5:Sk.prototype.jn,6:Sk.prototype.qn},Wk={0:Sk.prototype.No,1:Sk.prototype.yo,3:Sk.prototype.zo,4:Sk.prototype.Ao};Ha(function(){for(var a=D(window.document,"pcjs","serial"),b=0;ba.Hg||0>a.Ig)a.Hg=b.clientX,a.Ig=b.clientY;a.Bf=b.clientX-a.Hg;a.Cf=b.clientY-a.Ig;(a.Bf||a.Cf)&&bl(a,null,b.clientX,b.clientY);a.Hg=b.clientX;a.Ig=b.clientY}},!1),b.addEventListener("mousedown",function(b){cl(a,b.button,!0)},!1),b.addEventListener("mouseup",function(b){cl(a,b.button,!1)},!1),a.ti=!0),b.style.cursor="none")}function Zk(a){a&&(a.style.cursor="auto")}
-function cl(a,b,c){if(a.mc&&a.T&&a.T.qa.Mb)switch(b){case 0:a.hh!=c&&(a.hh=c,bl(a,"mouse button1 "+(c?"dn":"up")));break;case 2:a.ih!=c&&(a.ih=c,bl(a,"mouse button2 "+(c?"dn":"up")))}}function bl(a,b,c,d){var e=64|(a.hh?32:0)|(a.ih?16:0)|(a.Cf&192)>>4|(a.Bf&192)>>6,f=a.Bf&63,g=a.Cf&63;a.Ra((b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+t(e)+","+t(f)+","+t(g)+"]");Uk(a.Vf,[e,f,g]);a.Bf=a.Cf=0}k.Ra=function(a){this.fa&&E(this.fa,dl)&&this.fa.message(a+" @"+ea(this.T.va,this.T.xa.sa))};
-Ha(function(){for(var a=D(window.document,"pcjs","mouse"),b=0;bwa;wa++,b+=4)var xb=va[wa]=a.getInt32(b,!0),e=e+xb&4294967295;R.Ac=128;R.ib=!0;
-B[M]=R}g.ag=e;b=g}else g.Ja("Unrecognized diskette format ("+c+" bytes)");g.Me&&(g.Me.call(g.ia,g.Pa,b,g.qd,g.Ue),g.Me=null)};h.readAsArrayBuffer(c)}else 0>b.indexOf("/api/v1/dump")&&(a=ha(b),"json"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=il(this,b),this.lh=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"):-1!==b.indexOf("/",b.length-1)&&(c="dir"),f=ta()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+
-(this.kf?"":d)+"&format=json")),sa(f,!0,null,this,this.rm,b)};
-k.rm=function(a,b,c,d){var e=null;this.lf=!1;var f=0>c&&this.Ka&&!this.Ka.qa.Lb;if(this.lh)c?this.ia.Ja('Unable to connect to disk "'+d+'" (error '+c+": "+b+")",f):(this.Dd=!0,e=this);else if(c)this.ia.Ja('Unable to load disk "'+this.qd+'" (error '+c+")",f);else try{if(0g&&0b.indexOf("0x")&&
-'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");if(h.length)if(1==h.length)x(h[0]);else{for(b=a=0;b>2,q=l.pattern;void 0===q&&(q=l.pattern=0);var r=l.data;if(void 0===r){var s=l.bytes;if(void 0!==s&&s.length){for(var f=n<<2,u=s.length;ub&&(b=0);2E3>8:this.Ug;this.ea(a,null,b,this.Uc&128?"DLM":"IER",c);return c};k.hn=function(a,b){var c=this.be;this.ea(a,null,b,"IIR",c);return c};k.jn=function(a,b){var c=this.Uc;this.ea(a,null,b,"LCR",c);return c};k.ln=function(a,b){var c=this.hd;this.ea(a,null,b,"MCR",c);return c};
+k.kn=function(a,b){var c=this.Jc;this.ea(a,null,b,"LSR",c);return c};k.rn=function(a,b){var c=this.ek;this.ea(a,null,b,"MSR",c);return c};k.Oo=function(a,b,c){this.ea(a,b,c,this.Uc&128?"DLL":"THR");this.Uc&128?this.$e=this.$e&-256|b:(this.gk=b,this.Jc&=-97,this.fe?(13!=b&&(8==b?this.fe.value=this.fe.value.slice(0,-1):(this.fe.value+=String.fromCharCode(b),this.fe.scrollTop=this.fe.scrollHeight)),a=!0):a=!1,a&&(this.Jc|=96))};
+k.zo=function(a,b,c){this.ea(a,b,c,this.Uc&128?"DLM":"IER");this.Uc&128?this.$e=this.$e&255|b<<8:this.Ug=b};k.Ao=function(a,b,c){this.ea(a,b,c,"LCR");this.Uc=b};
+k.Bo=function(a,b,c){var d=this.hd;this.ea(a,b,c,"MCR");this.hd=b;this.Hk&&(d^b)&3&&(a=this.Hk,b=this.hd,(c=3==(b&3))?a.mc||(d=!1,a.hd&2||(a.reset(),a.Ra("serial mouse reset"),d=!0),a.hd&1||(a.Ra("serial mouse ID requested"),d=!0),d&&(Uk(a.Wf,[77,77]),a.Ra("serial mouse ID sent")),Yk(a,a.Nb),a.mc=c):a.mc&&(a.Ra("serial mouse inactive"),Zk(a.Nb),a.mc=c),a.hd=b)};k.Ra=function(a){this.fa&&E(this.fa,$k)&&this.fa.message(a)};k.ea=function(a,b,c,d,e){this.fa&&this.fa.ea(this,a,b,c,d,$k,e)};
+var Vk={0:Sk.prototype.wn,1:Sk.prototype.gn,2:Sk.prototype.hn,3:Sk.prototype.jn,4:Sk.prototype.ln,5:Sk.prototype.kn,6:Sk.prototype.rn},Wk={0:Sk.prototype.Oo,1:Sk.prototype.zo,3:Sk.prototype.Ao,4:Sk.prototype.Bo};Ha(function(){for(var a=D(window.document,"pcjs","serial"),b=0;ba.Ig||0>a.Jg)a.Ig=b.clientX,a.Jg=b.clientY;a.Cf=b.clientX-a.Ig;a.Df=b.clientY-a.Jg;(a.Cf||a.Df)&&bl(a,null,b.clientX,b.clientY);a.Ig=b.clientX;a.Jg=b.clientY}},!1),b.addEventListener("mousedown",function(b){cl(a,b.button,!0)},!1),b.addEventListener("mouseup",function(b){cl(a,b.button,!1)},!1),a.ui=!0),b.style.cursor="none")}function Zk(a){a&&(a.style.cursor="auto")}
+function cl(a,b,c){if(a.mc&&a.T&&a.T.qa.Pb)switch(b){case 0:a.ih!=c&&(a.ih=c,bl(a,"mouse button1 "+(c?"dn":"up")));break;case 2:a.jh!=c&&(a.jh=c,bl(a,"mouse button2 "+(c?"dn":"up")))}}function bl(a,b,c,d){var e=64|(a.ih?32:0)|(a.jh?16:0)|(a.Df&192)>>4|(a.Cf&192)>>6,f=a.Cf&63,g=a.Df&63;a.Ra((b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+t(e)+","+t(f)+","+t(g)+"]");Uk(a.Wf,[e,f,g]);a.Cf=a.Df=0}k.Ra=function(a){this.fa&&E(this.fa,dl)&&this.fa.message(a+" @"+ea(this.T.va,this.T.xa.sa))};
+Ha(function(){for(var a=D(window.document,"pcjs","mouse"),b=0;b>2;var e=d=0,a=new DataView(a,0,c);g.$a=Array(g.rb);for(c=0;cb.indexOf("/api/v1/dump")&&(a=ha(b),"json"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=il(this,b),this.mh=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"):-1!==b.indexOf("/",b.length-1)&&(c="dir"),f=
+ta()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.lf?"":d)+"&format=json")),sa(f,!0,null,this,this.tm,b)};
+k.tm=function(a,b,c,d){var e=null;this.mf=!1;var f=0>c&&this.Ka&&!this.Ka.qa.Ob;if(this.mh)c?this.ia.Ja('Unable to connect to disk "'+d+'" (error '+c+": "+b+")",f):(this.Dd=!0,e=this);else if(c)this.ia.Ja('Unable to load disk "'+this.qd+'" (error '+c+")",f);else try{if(0g&&0b.indexOf("0x")&&
+'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");if(h.length)if(1==h.length)x(h[0]);else{this.rb=h.length;this.sb=h[0].length;this.xb=h[0][0].length;var l=h[0][0][0];this.ib=l&&l.length||512;for(b=a=0;b>2,q=l.pattern;void 0===q&&(q=l.pattern=0);var r=l.data;if(void 0===r){var s=l.bytes;if(void 0!==s&&s.length){for(var f=
+n<<2,u=s.length;ub&&(b=0);2E3>2,e=Array(d),f=0;f>2,e=a.data;a=a.pattern;for(var f=0;f>8&255;c[d++]=g>>16&255;c[d++]=g>>24&255}return c}function ol(a,b){var c=-1;if(b>2,c=(d>((b&3)<<3)&255;return c}
-k.write=function(a,b,c){if(this.lf)return!1;if(b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Ac?f=a.$c+a.Ac&&(a.Ac+=f-(a.$c+a.Ac)+1):(a.$c=f,a.Ac=1);d[f]=d[f]&~(255<=this.fb.length||l>=this.fb[h].length||n>=this.fb[h][l].length){c="sector "+h+":"+l+":"+n+" out of range ("+b+" changes applied)";b=-1;break}if(this.lf){c="unable to modify write-protected disk";b=-1;break}e=
-g[f++];f=g[f++];g=e+f.length;if(h=this.fb[h][l][n]){for(l=h.data.length;lb&&this.ia.Ja("unable to restore disk '"+this.qd+": "+c);return b};k.Ra=function(a){this.fa&&E(this.fa,pl)&&this.fa.message(a)};
-function ql(a){z.call(this,"FDC",a,ql);this.dmaRead=this.ni;this.dmaWrite=this.oi;this.dmaFormat=this.om;this.Ie=null;if(a.autoMount&&(this.Ie=a.autoMount,"string"==typeof this.Ie))try{this.Ie=eval("("+a.autoMount+")")}catch(b){x("FDC auto-mount error: "+b.message+" ("+a.autoMount+")"),this.Ie=null}this.uc=[]}A(z,ql);m={};aa={};
-var rl={3:{zd:3,ee:0,name:aa.Qp},4:{zd:2,ee:1,name:aa.Op},5:{zd:9,ee:7,name:aa.bq},6:{zd:9,ee:7,name:aa.Ip},7:{zd:2,ee:0,name:aa.Kp},8:{zd:1,ee:2,name:aa.Pp},10:{zd:2,ee:7,name:aa.Jp},13:{zd:6,ee:7,name:aa.qp},15:{zd:3,ee:0,name:aa.Np}};k=ql.prototype;
-k.Ab=function(a,b,c,d){var e=this;switch(c){case "listDisks":return this.za[c]=d,function(a,b){var c;c=window.document.createElement("option");c.value=a;c.innerHTML=b;d.appendChild(c)}("?","Remote Disk"),d.onchange=function(){var a=e.za.descDisk,b=d.options[d.selectedIndex];if(a&&b){var c={};if(b=b.getAttribute("data-value"))try{c=eval("({"+b+"})")}catch(l){x("FDC option error: "+l.message)}b=c.desc;void 0===b&&(b="");c=c.href;void 0!==c&&(b=''+b+"");a.innerHTML=
-b}},!0;case "descDisk":case "listDrives":return this.za[c]=d,d.onchange=function(){var a=da(d.value,10);null!=a&&sl(e,a)},!0;case "loadDrive":return this.za[c]=d,d.onclick=function(){var a=e.za.listDisks;if(a){var b=a.options[a.selectedIndex].text,a=a.value;e.da("load disk "+a+"...");tl(e,b,a)}},!0;case "loadLocal":return window.vp&&window.sp&&window.tp&&window.Blob?(this.za[c]=d,d.addEventListener("change",function(){var a=d.children[0];a.children[1].disabled=0==a.children[0].files.length}),d.onsubmit=
-function(a){if(a=a.currentTarget[1].files[0]){var b=a.name,c=fa(b,!0);e.da("load local disk "+b+"...");tl(e,c,b,a)}return!1}):(this.da("FileReader support not available, disabling local file load"),d.parentNode.removeChild(d)),!0}return!1};k.pc=function(a,b,c,d){this.ra=b;this.T=c;this.fa=d;this.Ka=a;this.oa=eb(a,"ChipSet");this.Hd();tb(b,this,ul);zb(b,this,vl);this.Nf()||this.Ta()};
-k.Yb=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.Ka.xi){this.uc=[];for(var c=0;ca.ya.restore(f)&&(e=!1);e&&a.ya&&void 0!==a.$a&&(a.Sa=a.ya.seek(a.mb,a.Na,a.Wa));return e};k.Oj=function(){for(var a=0,b=[],c=0;ca.Rb||e[1]>a.Tb)&&(this.Ja('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.gb)),b=null);b&&(a.ya=b,a.Xl=c,a.Ve=d,Al(this,c,d,b),this.se|=128,this.Ja('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.gb),a.Le),a.Bh=e[0],a.og=e[1],a.pg=e[2]);a.Le&&(a.Le=!1,--this.Ee||this.Ta());sl(this,a.gb)};
-function sl(a,b){if(0<=b&&b=this.cb&&(this.Da&=-81,this.qb=this.cb=0);return c};
-k.so=function(a,b,c){this.ea(a,b,c,"DATA["+this.cb+"]");this.cb=rl[a].zd){c=!1;this.qb=0;a=this.Qa();var d,e,f,g,h;b=a&31;switch(b){case 3:this.Qa(m.Rp);this.Qa(m.xp);this.Qb();break;case 4:e=this.Qa(m.Df);this.gb=e&3;d=this.Ea[this.gb];this.Qb();this.bc((d.Ya&4278190080)>>>24,m.Up);break;case 5:case 6:e=this.Qa(m.Df);c=e>>2&1;this.gb=e&3;d=this.Ea[this.gb];d.Na=c;e=d.mb=this.Qa(m.Uj);f=this.Qa(m.Vj);g=d.Wa=this.Qa(m.Xj);
-h=this.Qa(m.Th);d.bb=128<>2&1;this.gb=e&3;d=this.Ea[this.gb];e=d.mb;f=d.Na=c;g=d.Wa=1;h=0;d.Ya=0;d.ya&&(d.Sa=d.ya.seek(d.mb,d.Na,d.Wa))?
-h=d.Sa.length:d.Ya=1088;Bl(this,d,a,c,e,f,g,h);c=!0;break;case 13:e=this.Qa(m.Df);c=e>>2&1;this.gb=e&3;d=this.Ea[this.gb];e=d.mb;f=d.Na=c;g=1;h=this.Qa(m.Th);d.bb=128<>2&1,e=this.Qa(m.Dp),d.mb+=e-d.ae,0>d.mb&&(d.mb=0),d.mb>=d.Rb&&(d.mb=d.Rb-1),d.ae=e,d.Ya=32,0==d.mb&&(d.Ya|=268435456),this.Qb(),c=!0}0>>8,m.Sp);a.bc((b.Ya&16711680)>>>16,m.Tp);var l=0;if(e!=b.mb||f!=b.Na)l=g=1;c&128&&(f^=l,d||(l=0));a.bc(e+l,m.Uj);a.bc(f,m.Vj);a.bc(g,m.Xj);a.bc(h,m.Th)}k.Qa=function(){var a=this.cc[this.qb];this.qb++;return a};
-k.Qb=function(){this.qb=this.cb=0};k.bc=function(a){this.cc[this.cb++]=a};k.ni=function(a,b,c){void 0===b||0>b?this.sc(a,c):c(-1,!1)};k.oi=function(a,b){return void 0!==b&&0<=b?this.Ec(a,b):-1};k.om=function(a,b){return void 0!==b&&0<=b?this.Qj(a,b):-1};k.pi=function(a){a.Ya=72;a.ya&&(a.Sa=null,a.Ya=0,this.oa&&(Ui(this.oa,2,this,"dmaRead",a),Oi(this.oa,2)))};k.qi=function(a){a.Ya=72;a.ya&&(a.ya.lf?a.Ya=576:(a.Sa=null,a.Ya=0,this.oa&&(Ui(this.oa,2,this,"dmaWrite",a),Oi(this.oa,2))))};
-k.ok=function(a){a.Ya=72;a.ya&&(a.Sa=null,a.Ya=0,this.oa&&(a.He=0,a.wc=Array(4),a.Of=!0,a.Uf=0,Ui(this.oa,2,this,"dmaFormat",a),Oi(this.oa,2),a.Of=!1))};k.sc=function(a,b){var c=-1;if(!a.Ya&&a.ya){do{if(a.Sa&&0<=(c=ol(a.Sa,a.$a++)))break;a.Sa=a.ya.seek(a.mb,a.Na,a.Wa);if(!a.Sa){a.Ya=1088;break}a.$a=0;this.Lf(a)}while(1)}b(c,!1)};
-k.Ec=function(a,b){if(a.Ya||!a.ya)return-1;do{if(a.Sa&&a.ya.write(a.Sa,a.$a++,b))break;a.Sa=a.ya.seek(a.mb,a.Na,a.Wa);if(!a.Sa){a.Ya=8256;b=-1;break}a.$a=0;this.Lf(a)}while(1);return b};k.Lf=function(a){a.Wa++;a.Wa>=a.pg+1&&(a.Wa=1,a.Na++,a.Na>=a.og&&(a.Na=0,a.mb++))};k.Qj=function(a,b){if(a.Ya)return-1;a.wc[a.He++]=b;if(a.He==a.wc.length){a.mb=a.wc[0];a.Na=a.wc[1];a.Wa=a.wc[2];a.bb=128<this.Ec(a,a.ck))return-1;a.Uf++}a.Uf>=a.ce&&(b=-1);return b};
-k.Ra=function(a,b){this.fa&&(null==b&&(b=vj),E(this.fa,b)&&this.fa.message(a))};k.ea=function(a,b,c,d,e){this.fa&&this.fa.ea(this,a,b,c,d,vj,e)};var ul={1012:ql.prototype.an,1013:ql.prototype.Zm,1015:ql.prototype.$m},vl={1010:ql.prototype.to,1013:ql.prototype.so,1015:ql.prototype.ro};Ha(function(){for(var a=D(window.document,"pcjs","fdc"),b=0;b=e&&(this.vf|=(f.type&3)<<(1-e<<1))}return d};
-k.Mj=function(){var a=0,b=[];this.Ke?(b[a++]=this.Nd,b[a++]=this.Wl,b[a++]=this.te,b[a++]=this.Mh,b[a++]=this.Kh,b[a++]=this.Jh,b[a++]=this.wf,b[a++]=this.Da,b[a++]=this.Jj,b[a++]=this.Lh):(b[a++]=this.vf,b[a++]=this.Da,b[a++]=this.cc,b[a++]=this.qb,b[a++]=this.cb,b[a++]=this.Vl,b[a++]=this.Ul,b[a++]=this.Tl,b[a++]=this.nf);b[a]=this.Oj();return b};
-k.Fi=function(a,b,c,d,e){var f=0,g=!0;void 0===d&&(d=[0,0,!1,Array(8)]);b.gb=a;b.errorCode=d[f++];b.bm=d[f++];b.kf=d[f++];b.bf=d[f++];b.cf=d[f++];b.Na=d[f++];b.Tb=d[f++];b.Sd=d[f++];b.Wa=d[f++];b.ce=d[f++];b.bb=d[f++];b.Yg=this.Ke?0:1;b.name=c.name;void 0===b.name&&(b.name="Hard Drive");b.path=c.path;b.mode=c.mode||(b.path?"preload":"local");"demandro"!=b.mode&&"demandrw"!=b.mode||this.je()||(b.mode="local");b.type=c.type;if(void 0===b.type||void 0===Cl[this.eg][b.type])b.type=this.Em;c=Cl[this.eg][b.type];
-b.ac=c[2]||17;b.Kb=c[3]||512;if(e&&this.oa&&(e=this.oa,c=b.type,e.ta)){var h=e.ta[18],h=a?h&240|c:h&15|c<<4;e.ta&&(e.ta[18]=h,Ci(e))}void 0===b.ya&&(b.ya=null,this.Ja("Type "+b.type+' "'+b.name+'" is fixed disk '+a,!0));Hl(this,b);b.$a=d[f++];b.Sa=null;b.ya&&(a=d[f],void 0!==a&&0>b.ya.restore(a)&&(g=!1),g&&void 0!==b.$a&&(b.Sa=b.ya.seek(b.Sd,b.Na,b.Wa+b.Yg)));return g};k.Oj=function(){for(var a=0,b=[],c=0;c=this.cb&&(this.qb=this.cb=0,this.Da&=-15);return c};
-k.Po=function(a,b,c){this.ea(a,b,c,"DATA["+this.cb+"]");this.cb=a&&(this.Da|=2,this.Da&=-2,Il(this))};k.Cn=function(a,b){var c=this.Da;this.ea(a,null,b,"STATUS",c);this.qb=this.Pa.Kb){var e=this;this.sc(this.Pa,function(a){0<=a?Jl(e):(e.Da=1,e.Nd=16)},!1)}else this.Da=80;d||this.ea(a,null,b,"DATA",c);return c};
-k.eo=function(a,b,c){this.Pa&&0!=this.Pa.$a||this.ea(a,b,c,"DATA");this.Pa&&this.Pa.bb>=this.Pa.Kb&&(0>this.Ec(this.Pa,b)?(this.Da=1,this.Nd=16):this.Pa.$a==this.Pa.Kb&&(this.Pa.bb-=this.Pa.Kb,this.te=this.te-1&255,Jl(this),this.Pa.bb>=this.Pa.Kb||(this.Da=80)))};k.Om=function(a,b){var c=this.Nd;this.ea(a,null,b,"ERROR",c);return c};k.ko=function(a,b,c){this.ea(a,b,c,"WPREC");this.Wl=b};k.Pm=function(a,b){var c=this.te;this.ea(a,null,b,"SECCNT",c);return c};
-k.io=function(a,b,c){this.ea(a,b,c,"SECCNT");this.te=b};k.Qm=function(a,b){var c=this.Mh;this.ea(a,null,b,"SECNUM",c);return c};k.jo=function(a,b,c){this.ea(a,b,c,"SECNUM");this.Mh=b};k.Lm=function(a,b){var c=this.Kh;this.ea(a,null,b,"CYLLO",c);return c};k.co=function(a,b,c){this.ea(a,b,c,"CYLLO");this.Kh=b};k.Km=function(a,b){var c=this.Jh;this.ea(a,null,b,"CYLHI",c);return c};k.bo=function(a,b,c){this.ea(a,b,c,"CYLHI");this.Jh=b};k.Nm=function(a,b){var c=this.wf;this.ea(a,null,b,"DRVHD",c);return c};
-k.fo=function(a,b,c){this.ea(a,b,c,"DRVHD");this.wf=b;this.Da=this.Ea[this.wf&16?1:0]?this.Da|64:this.Da&-65};k.Rm=function(a,b){var c=this.Da;this.ea(a,null,b,"STATUS",c);return c};k.ao=function(a,b,c){this.ea(a,b,c,"COMMAND");this.Jj=b;this.oa&&bj(this.oa,14);Kl(this)};k.ho=function(a,b,c){this.ea(a,b,c,"FDR");this.Lh&4&&!(b&4)&&(this.Nd=1);this.Lh=b};
-function Kl(a){var b=!1,c=a.Jj,d=a.wf&16?1:0,e=a.wf&15,f=a.Kh|(a.Jh&3)<<8,g=a.Mh,h=a.te||256;a.Pa=null;a.Nd=0;a.Da=80;(d=a.Ea[d])?(d.Sd=f,d.Na=e,d.Wa=g,d.bb=h*d.Kb,c=144<=c?c:c&240,d.Sa=null,d.errorCode=0,a.Pa=d):c=-1;switch(c&240){case 32:a.sc(d,function(b){0<=b&&a.oa?(Jl(a),a.Da=136):(a.Da=1,a.Nd=16)},!1);break;case 48:a.oa?(Jl(a),a.Da=136):(a.Da=1,a.Nd=4);break;case 16:b=!0;break;case 64:b=!0;break;case 144:a.Nd=1;b=!0;break;case 145:d.Tb=e+1,d.ac=h,b=!0}b&&Jl(a)}
-function Jl(a){!a.oa||a.Lh&2||aj(a.oa,14)}
-function Il(a){a.qb=0;var b=a.Qa(),c=a.Qa(),d=c&32,e=d>>5,f=c&31,g=a.Qa(),h=a.Qa(),l=g<<2&768|h,n=g&63,q=a.Qa(),r=a.Qa(),s=a.Ea[e];s&&(s.Sd=l,s.Na=f,s.Wa=n,s.bb=q*s.Kb);switch(b){case 3:a.Qb(s?s.errorCode:4);a.bc(c);a.bc(g);a.bc(h);a.bc(0|d);b=-1;break;case 12:for(c=0;0<=(b=a.Qa());)s&&cb?this.sc(a,c):c(-1,!1)};
-k.oi=function(a,b){return void 0!==b&&0<=b?this.Ec(a,b):-1};k.pm=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.$a=a.ac+b&&(a.Wa=b,a.Na++,a.Na>=a.Tb&&(a.Na=0,a.Sd++))};
-k.Qj=function(a,b){if(a.errorCode)return-1;a.wc[a.He++]=b;if(a.He==a.wc.length){a.Sd=a.wc[0];a.Na=a.wc[1];a.Wa=a.wc[2];a.bb=128<this.Ec(a,a.ck))return-1;a.Uf++}a.Uf>=a.ce&&(b=-1);return b};k.En=function(){var a=this.T.K&255;!(this.T.H>>8)&&128>8)||(a=!this.oa)||(a=!(this.oa.vb[0].yd&64));return a?!0:!1};k.Ra=function(a,b){this.fa&&(null==b&&(b=Ml),E(this.fa,b)&&this.fa.message(a))};
+k.write=function(a,b,c){if(this.mf)return!1;if(b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Ac?f=a.$c+a.Ac&&(a.Ac+=f-(a.$c+a.Ac)+1):(a.$c=f,a.Ac=1);d[f]=d[f]&~(255<=this.$a.length||l>=this.$a[h].length||n>=this.$a[h][l].length){c="sector "+h+":"+l+":"+n+" out of range ("+b+" changes applied)";
+b=-1;break}if(this.mf){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.$a[h][l][n]){for(l=h.data.length;lb&&this.ia.Ja("unable to restore disk '"+this.qd+": "+c);return b};k.Ra=function(a){this.fa&&E(this.fa,pl)&&this.fa.message(a)};
+function ql(a){z.call(this,"FDC",a,ql);this.dmaRead=this.oi;this.dmaWrite=this.pi;this.dmaFormat=this.qm;this.Ie=null;if(a.autoMount&&(this.Ie=a.autoMount,"string"==typeof this.Ie))try{this.Ie=eval("("+a.autoMount+")")}catch(b){x("FDC auto-mount error: "+b.message+" ("+a.autoMount+")"),this.Ie=null}this.uc=[]}A(z,ql);m={};aa={};
+var rl={3:{zd:3,ee:0,name:aa.Rp},4:{zd:2,ee:1,name:aa.Pp},5:{zd:9,ee:7,name:aa.cq},6:{zd:9,ee:7,name:aa.Jp},7:{zd:2,ee:0,name:aa.Lp},8:{zd:1,ee:2,name:aa.Qp},10:{zd:2,ee:7,name:aa.Kp},13:{zd:6,ee:7,name:aa.rp},15:{zd:3,ee:0,name:aa.Op}};k=ql.prototype;
+k.Eb=function(a,b,c,d){var e=this;switch(c){case "listDisks":return this.ya[c]=d,sl(this,"Local Disk","?"),sl(this,"Remote Disk","??"),d.onchange=function(){var a=e.ya.descDisk,b=d.options[d.selectedIndex];if(a&&b){var c={};if(b=b.getAttribute("data-value"))try{c=eval("({"+b+"})")}catch(l){x("FDC option error: "+l.message)}b=c.desc;void 0===b&&(b="");c=c.href;void 0!==c&&(b=''+b+"");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.ya[c]=d,d.onchange=
+function(){var a=da(d.value,10);null!=a&&tl(e,a)},!0;case "loadDrive":return this.ya[c]=d,d.onclick=function(){var a=e.ya.listDisks;a&&ul(e,a.options[a.selectedIndex].text,a.value)},!0;case "mountDrive":return window.wp&&window.tp&&window.vp?(this.ya[c]=d,d.addEventListener("change",function(){var a=d.children[0];a.children[1].disabled=0==a.children[0].files.length}),d.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;ul(e,fa(b,!0),b,a)}return!1}):d.parentNode.removeChild(d),!0}return!1};
+k.pc=function(a,b,c,d){this.ra=b;this.T=c;this.fa=d;this.Ka=a;this.oa=eb(a,"ChipSet");this.Hd();tb(b,this,vl);zb(b,this,wl);this.Of()||this.Ta()};
+k.Zb=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.Ka.yi){this.uc=[];for(var c=0;ca.za.restore(g)&&(e=!1);e&&a.za&&void 0!==a.ab&&(a.Sa=a.za.seek(a.mb,a.Na,a.Wa));return e};k.Pj=function(){for(var a=0,b=[],c=0;ca.rb||e[1]>a.sb)&&(this.Ja('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.gb)),b=null);b?(a.za=b,a.Zl=c,a.Ve=d,Al(this,c,d,b),e=b.info(),this.se|=128,this.Ja('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.gb),a.Le),a.Ch=e[0],a.pg=e[1],a.qg=e[2]):a.kf=!1;a.Le&&(a.Le=!1,--this.Ee||this.Ta());tl(this,a.gb)};
+function sl(a,b,c){if(a=a.ya.listDisks){for(var d=0;d=this.eb&&(this.Da&=-81,this.tb=this.eb=0);return c};
+k.to=function(a,b,c){this.ea(a,b,c,"DATA["+this.eb+"]");this.eb=rl[a].zd){c=!1;this.tb=0;a=this.Qa();var d,e,f,g,h;b=a&31;switch(b){case 3:this.Qa(m.Sp);this.Qa(m.yp);this.Tb();break;case 4:e=this.Qa(m.Ef);this.gb=e&3;d=this.Ea[this.gb];this.Tb();this.bc((d.Ya&4278190080)>>>24,m.Vp);break;case 5:case 6:e=this.Qa(m.Ef);c=e>>2&1;this.gb=e&3;d=this.Ea[this.gb];d.Na=c;e=d.mb=this.Qa(m.Vj);f=this.Qa(m.Wj);g=d.Wa=this.Qa(m.Yj);
+h=this.Qa(m.Uh);d.cb=128<>2&1;this.gb=e&3;d=this.Ea[this.gb];e=d.mb;f=d.Na=c;g=d.Wa=1;h=0;d.Ya=0;d.za&&(d.Sa=d.za.seek(d.mb,d.Na,d.Wa))?
+h=d.Sa.length:d.Ya=1088;Bl(this,d,a,c,e,f,g,h);c=!0;break;case 13:e=this.Qa(m.Ef);c=e>>2&1;this.gb=e&3;d=this.Ea[this.gb];e=d.mb;f=d.Na=c;g=1;h=this.Qa(m.Uh);d.cb=128<>2&1,e=this.Qa(m.Ep),d.mb+=e-d.ae,0>d.mb&&(d.mb=0),d.mb>=d.rb&&(d.mb=d.rb-1),d.ae=e,d.Ya=32,0==d.mb&&(d.Ya|=268435456),this.Tb(),c=!0}0>>8,m.Tp);a.bc((b.Ya&16711680)>>>16,m.Up);var l=0;if(e!=b.mb||f!=b.Na)l=g=1;c&128&&(f^=l,d||(l=0));a.bc(e+l,m.Vj);a.bc(f,m.Wj);a.bc(g,m.Yj);a.bc(h,m.Uh)}k.Qa=function(){var a=this.cc[this.tb];this.tb++;return a};
+k.Tb=function(){this.tb=this.eb=0};k.bc=function(a){this.cc[this.eb++]=a};k.oi=function(a,b,c){void 0===b||0>b?this.sc(a,c):c(-1,!1)};k.pi=function(a,b){return void 0!==b&&0<=b?this.Fc(a,b):-1};k.qm=function(a,b){return void 0!==b&&0<=b?this.Rj(a,b):-1};k.qi=function(a){a.Ya=72;a.za&&(a.Sa=null,a.Ya=0,this.oa&&(Ui(this.oa,2,this,"dmaRead",a),Oi(this.oa,2)))};k.ri=function(a){a.Ya=72;a.za&&(a.za.mf?a.Ya=576:(a.Sa=null,a.Ya=0,this.oa&&(Ui(this.oa,2,this,"dmaWrite",a),Oi(this.oa,2))))};
+k.pk=function(a){a.Ya=72;a.za&&(a.Sa=null,a.Ya=0,this.oa&&(a.He=0,a.wc=Array(4),a.Pf=!0,a.Vf=0,Ui(this.oa,2,this,"dmaFormat",a),Oi(this.oa,2),a.Pf=!1))};k.sc=function(a,b){var c=-1;if(!a.Ya&&a.za){do{if(a.Sa&&0<=(c=ol(a.Sa,a.ab++)))break;a.Sa=a.za.seek(a.mb,a.Na,a.Wa);if(!a.Sa){a.Ya=1088;break}a.ab=0;this.Mf(a)}while(1)}b(c,!1)};
+k.Fc=function(a,b){if(a.Ya||!a.za)return-1;do{if(a.Sa&&a.za.write(a.Sa,a.ab++,b))break;a.Sa=a.za.seek(a.mb,a.Na,a.Wa);if(!a.Sa){a.Ya=8256;b=-1;break}a.ab=0;this.Mf(a)}while(1);return b};k.Mf=function(a){a.Wa++;a.Wa>=a.qg+1&&(a.Wa=1,a.Na++,a.Na>=a.pg&&(a.Na=0,a.mb++))};k.Rj=function(a,b){if(a.Ya)return-1;a.wc[a.He++]=b;if(a.He==a.wc.length){a.mb=a.wc[0];a.Na=a.wc[1];a.Wa=a.wc[2];a.cb=128<this.Fc(a,a.dk))return-1;a.Vf++}a.Vf>=a.ce&&(b=-1);return b};
+k.Ra=function(a,b){this.fa&&(null==b&&(b=vj),E(this.fa,b)&&this.fa.message(a))};k.ea=function(a,b,c,d,e){this.fa&&this.fa.ea(this,a,b,c,d,vj,e)};var vl={1012:ql.prototype.bn,1013:ql.prototype.$m,1015:ql.prototype.an},wl={1010:ql.prototype.uo,1013:ql.prototype.to,1015:ql.prototype.so};Ha(function(){for(var a=D(window.document,"pcjs","fdc"),b=0;b=e&&(this.wf|=(f.type&3)<<(1-e<<1))}return d};
+k.Nj=function(){var a=0,b=[];this.Ke?(b[a++]=this.Nd,b[a++]=this.Yl,b[a++]=this.te,b[a++]=this.Nh,b[a++]=this.Lh,b[a++]=this.Kh,b[a++]=this.xf,b[a++]=this.Da,b[a++]=this.Kj,b[a++]=this.Mh):(b[a++]=this.wf,b[a++]=this.Da,b[a++]=this.cc,b[a++]=this.tb,b[a++]=this.eb,b[a++]=this.Xl,b[a++]=this.Wl,b[a++]=this.Vl,b[a++]=this.of);b[a]=this.Pj();return b};
+k.Gi=function(a,b,c,d,e){var f=0,g=!0;void 0===d&&(d=[0,0,!1,Array(8)]);b.gb=a;b.errorCode=d[f++];b.dm=d[f++];b.lf=d[f++];b.bf=d[f++];b.cf=d[f++];b.Na=d[f++];b.sb=d[f++];b.Sd=d[f++];b.Wa=d[f++];b.ce=d[f++];b.cb=d[f++];b.Zg=this.Ke?0:1;b.name=c.name;void 0===b.name&&(b.name="Hard Drive");b.path=c.path;b.mode=c.mode||(b.path?"preload":"local");"demandro"!=b.mode&&"demandrw"!=b.mode||this.je()||(b.mode="local");b.type=c.type;if(void 0===b.type||void 0===Cl[this.fg][b.type])b.type=this.Fm;c=Cl[this.fg][b.type];
+b.xb=c[2]||17;b.ib=c[3]||512;if(e&&this.oa&&(e=this.oa,c=b.type,e.ta)){var h=e.ta[18],h=a?h&240|c:h&15|c<<4;e.ta&&(e.ta[18]=h,Ci(e))}void 0===b.za&&(b.za=null,this.Ja("Type "+b.type+' "'+b.name+'" is fixed disk '+a,!0));Hl(this,b);b.ab=d[f++];b.Sa=null;b.za&&(a=d[f],void 0!==a&&0>b.za.restore(a)&&(g=!1),g&&void 0!==b.ab&&(b.Sa=b.za.seek(b.Sd,b.Na,b.Wa+b.Zg)));return g};k.Pj=function(){for(var a=0,b=[],c=0;c=this.eb&&(this.tb=this.eb=0,this.Da&=-15);return c};
+k.Qo=function(a,b,c){this.ea(a,b,c,"DATA["+this.eb+"]");this.eb=a&&(this.Da|=2,this.Da&=-2,Il(this))};k.Dn=function(a,b){var c=this.Da;this.ea(a,null,b,"STATUS",c);this.tb=this.Pa.ib){var e=this;this.sc(this.Pa,function(a){0<=a?Jl(e):(e.Da=1,e.Nd=16)},!1)}else this.Da=80;d||this.ea(a,null,b,"DATA",c);return c};
+k.fo=function(a,b,c){this.Pa&&0!=this.Pa.ab||this.ea(a,b,c,"DATA");this.Pa&&this.Pa.cb>=this.Pa.ib&&(0>this.Fc(this.Pa,b)?(this.Da=1,this.Nd=16):this.Pa.ab==this.Pa.ib&&(this.Pa.cb-=this.Pa.ib,this.te=this.te-1&255,Jl(this),this.Pa.cb>=this.Pa.ib||(this.Da=80)))};k.Pm=function(a,b){var c=this.Nd;this.ea(a,null,b,"ERROR",c);return c};k.lo=function(a,b,c){this.ea(a,b,c,"WPREC");this.Yl=b};k.Qm=function(a,b){var c=this.te;this.ea(a,null,b,"SECCNT",c);return c};
+k.jo=function(a,b,c){this.ea(a,b,c,"SECCNT");this.te=b};k.Rm=function(a,b){var c=this.Nh;this.ea(a,null,b,"SECNUM",c);return c};k.ko=function(a,b,c){this.ea(a,b,c,"SECNUM");this.Nh=b};k.Mm=function(a,b){var c=this.Lh;this.ea(a,null,b,"CYLLO",c);return c};k.eo=function(a,b,c){this.ea(a,b,c,"CYLLO");this.Lh=b};k.Lm=function(a,b){var c=this.Kh;this.ea(a,null,b,"CYLHI",c);return c};k.co=function(a,b,c){this.ea(a,b,c,"CYLHI");this.Kh=b};k.Om=function(a,b){var c=this.xf;this.ea(a,null,b,"DRVHD",c);return c};
+k.ho=function(a,b,c){this.ea(a,b,c,"DRVHD");this.xf=b;this.Da=this.Ea[this.xf&16?1:0]?this.Da|64:this.Da&-65};k.Sm=function(a,b){var c=this.Da;this.ea(a,null,b,"STATUS",c);return c};k.bo=function(a,b,c){this.ea(a,b,c,"COMMAND");this.Kj=b;this.oa&&bj(this.oa,14);Kl(this)};k.io=function(a,b,c){this.ea(a,b,c,"FDR");this.Mh&4&&!(b&4)&&(this.Nd=1);this.Mh=b};
+function Kl(a){var b=!1,c=a.Kj,d=a.xf&16?1:0,e=a.xf&15,f=a.Lh|(a.Kh&3)<<8,g=a.Nh,h=a.te||256;a.Pa=null;a.Nd=0;a.Da=80;(d=a.Ea[d])?(d.Sd=f,d.Na=e,d.Wa=g,d.cb=h*d.ib,c=144<=c?c:c&240,d.Sa=null,d.errorCode=0,a.Pa=d):c=-1;switch(c&240){case 32:a.sc(d,function(b){0<=b&&a.oa?(Jl(a),a.Da=136):(a.Da=1,a.Nd=16)},!1);break;case 48:a.oa?(Jl(a),a.Da=136):(a.Da=1,a.Nd=4);break;case 16:b=!0;break;case 64:b=!0;break;case 144:a.Nd=1;b=!0;break;case 145:d.sb=e+1,d.xb=h,b=!0}b&&Jl(a)}
+function Jl(a){!a.oa||a.Mh&2||aj(a.oa,14)}
+function Il(a){a.tb=0;var b=a.Qa(),c=a.Qa(),d=c&32,e=d>>5,f=c&31,g=a.Qa(),h=a.Qa(),l=g<<2&768|h,n=g&63,q=a.Qa(),r=a.Qa(),s=a.Ea[e];s&&(s.Sd=l,s.Na=f,s.Wa=n,s.cb=q*s.ib);switch(b){case 3:a.Tb(s?s.errorCode:4);a.bc(c);a.bc(g);a.bc(h);a.bc(0|d);b=-1;break;case 12:for(c=0;0<=(b=a.Qa());)s&&cb?this.sc(a,c):c(-1,!1)};
+k.pi=function(a,b){return void 0!==b&&0<=b?this.Fc(a,b):-1};k.rm=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.ab=a.xb+b&&(a.Wa=b,a.Na++,a.Na>=a.sb&&(a.Na=0,a.Sd++))};
+k.Rj=function(a,b){if(a.errorCode)return-1;a.wc[a.He++]=b;if(a.He==a.wc.length){a.Sd=a.wc[0];a.Na=a.wc[1];a.Wa=a.wc[2];a.cb=128<this.Fc(a,a.dk))return-1;a.Vf++}a.Vf>=a.ce&&(b=-1);return b};k.Fn=function(){var a=this.T.K&255;!(this.T.H>>8)&&128>8)||(a=!this.oa)||(a=!(this.oa.zb[0].yd&64));return a?!0:!1};k.Ra=function(a,b){this.fa&&(null==b&&(b=Ml),E(this.fa,b)&&this.fa.message(a))};
k.ea=function(a,b,c,d,e){this.fa&&this.fa.ea(this,a,b,c,d,Ml,e)};
-var El={800:Y.prototype.Bn,801:Y.prototype.Cn,802:Y.prototype.An},Dl={496:Y.prototype.Mm,497:Y.prototype.Om,498:Y.prototype.Pm,499:Y.prototype.Qm,500:Y.prototype.Lm,501:Y.prototype.Km,502:Y.prototype.Nm,503:Y.prototype.Rm},Gl={800:Y.prototype.Po,801:Y.prototype.So,802:Y.prototype.Ro,803:Y.prototype.Qo,807:Y.prototype.Ej,811:Y.prototype.Ej,815:Y.prototype.Ej},Fl={496:Y.prototype.eo,497:Y.prototype.ko,498:Y.prototype.io,499:Y.prototype.jo,500:Y.prototype.co,501:Y.prototype.bo,502:Y.prototype.fo,503:Y.prototype.ao,
-1014:Y.prototype.ho};Ha(function(){for(var a=D(window.document,"pcjs","hdc"),b=0;be?String.fromCharCode(e):"."}return d}function oi(a,b,c){for(var d in Rl)if(b==Rl[d]){a.Zh[d]=c;break}}function E(a,b){return(a.jc&b)===b}
+k.Eb=function(a,b,c,d){var e=this;switch(c){case "debugInput":return this.Xf=this.ya[c]=d,d.onkeypress=function(a){if(13==a.keyCode){var b=d.value;d.value="";var c=Ql(e,b,!0);for(b in c)bm(e,c[b]);a.preventDefault&&a.preventDefault()}},!0;case "debugEnter":return this.ya[c]=d,Ca(d,function(){if(e.Xf){var a=e.Xf.value;e.Xf.value="";var b=Ql(e,a,!0);for(a in b)bm(e,b[a]);return!0}return!1}),!0;case "step":return this.ya[c]=d,Ca(d,function(a){var b=!1;ab(e,!0)||($a(e,!0),b=e.Af(a?1:0),$a(e,!1));return b}),
+!0}return!1};k.Pd=function(){this.Xf&&this.Xf.focus()};function am(a,b){var c,d="";for(c=8;d.lengthe?String.fromCharCode(e):"."}return d}function oi(a,b,c){for(var d in Rl)if(b==Rl[d]){a.$h[d]=c;break}}function E(a,b){return(a.jc&b)===b}
function $c(a,b,c){var d=Sl[b],e=d&&E(a,d);if(e){var f=a.T.H>>8,g=a.T.K&255;if(33==b&&11==f||d==vj&&128<=g||d==Ml&&128>g)e=!1}if(e){if(d=(d=$l[b])&&d[f]||"")g=a.T,a.kb[Z[0]]=t(g.H&255),a.kb[Z[1]]=t(g.J&255),a.kb[Z[2]]=t(g.K&255),a.kb[Z[3]]=t(g.C&255),a.kb[Z[4]]=t(g.H>>8),a.kb[Z[5]]=t(g.J>>8),a.kb[Z[6]]=t(g.K>>8),a.kb[Z[7]]=t(g.C>>8),a.kb[Z[8]]=v(g.H),a.kb[Z[9]]=v(g.J),a.kb[Z[10]]=v(g.K),a.kb[Z[11]]=v(g.C),a.kb[Z[12]]=v(g.Y),a.kb[Z[13]]=v(g.I),a.kb[Z[14]]=v(g.G),a.kb[Z[15]]=v(g.F),a.kb[Z[16]]=v(g.Za.sa),
-a.kb[Z[17]]=v(g.xa.sa),a.kb[Z[18]]=v(g.ub.sa),a.kb[Z[19]]=v(g.zb.sa),a.kb[Z[20]]=v(g.va),d=" "+ka(a.kb,d);a.message("INT 0x"+t(b)+": AH="+t(f)+" at "+ea(c-a.T.xa.Xa,a.T.xa.sa)+d)}return e}function bd(a,b,c,d,e){a.message("INT 0x"+t(b)+": C="+(od(a.T)?1:0)+(e||"")+" (cycles="+d+(c?",level="+(c+1):"")+")")}
-k.ea=function(a,b,c,d,e,f,g){f||(f=0);f|=Jj;if(null==d||(this.jc&f)==f)f=null,null!=d&&(f=this.T.xa.sa,d-=this.T.xa.Xa),this.message(a.sh+"."+(null!=c?"outPort":"inPort")+"(0x"+v(b)+","+(e?e:"unknown")+(null!=c?",0x"+t(c):"")+")"+(null!=g?": 0x"+t(g):"")+(null!=d?" at "+ea(d,f):""))};k.message=function(a){this.da(a);this.T&&(this.jc&268435456&&this.T.xb(),a=this.T,a.ca.tf=0,a.Pc-=a.A,a.A=0,a.eh())};k.Dn=function(){this.da("Type ? for list of debugger commands")};
-function Pl(a){var b;if(Ed(a)){if(!a.Xd||!a.Xd.length){a.Xd=Array(1E4);for(b=0;b>c.sb],!1)}a.Ud=["read"];if(void 0!==a.Sc)for(b=1;b>c.sb],!0);a.Sc=["write"]}k.Yd=function(a,b,c){if(!lm(this,a,b)){b[2]=im(this,b);b[3]=c;a.push(b);if(a!=this.tc){var d=this.ra,e=im(this,b);d.Fa[e>>d.sb].Yd(e&d.hb,a==this.Sc)}c||this.da("breakpoint enabled: "+km(b)+" ("+a[0]+")");Pl(this);return!0}return!1};
-function lm(a,b,c,d){var e=!1;c=im(a,c);for(var f=1;f>d.sb],b==a.Sc));g[3]||a.da("breakpoint cleared: "+km(g)+" ("+b[0]+")");Pl(a);break}a.da("breakpoint exists: "+km(g)+" ("+b[0]+")");break}}return e}function mm(a,b){for(var c=1;c=b&&f>g.sb].Yd(f&g.hb,d==a.Sc)}}}function fm(a,b){if(void 0!==b)gm(a,b,a.tc,!0),a.nc=0;else for(var c=1;c>c.vb],!1)}a.Ud=["read"];if(void 0!==a.Sc)for(b=1;b>c.vb],!0);a.Sc=["write"]}k.Yd=function(a,b,c){if(!lm(this,a,b)){b[2]=im(this,b);b[3]=c;a.push(b);if(a!=this.tc){var d=this.ra,e=im(this,b);d.Fa[e>>d.vb].Yd(e&d.hb,a==this.Sc)}c||this.da("breakpoint enabled: "+km(b)+" ("+a[0]+")");Pl(this);return!0}return!1};
+function lm(a,b,c,d){var e=!1;c=im(a,c);for(var f=1;f>d.vb],b==a.Sc));g[3]||a.da("breakpoint cleared: "+km(g)+" ("+b[0]+")");Pl(a);break}a.da("breakpoint exists: "+km(g)+" ("+b[0]+")");break}}return e}function mm(a,b){for(var c=1;c=b&&f>g.vb].Yd(f&g.hb,d==a.Sc)}}}function fm(a,b){if(void 0!==b)gm(a,b,a.tc,!0),a.nc=0;else for(var c=1;c=Ul.length&&(l=a.nb(b,1),g=Zl[h-Ul.length][l>>3&7]);var n=2,h="";if(164<=f&&167>=f||170<=f&&175>=f)n=0;for(f=1;f<=n;f++){var q="",r=g[f];if(void 0!==r){var s=r&15;if(0!=s&&15!=s){var u=r&240;if(128<=u)if(0>l&&(l=a.nb(b,1)),160<=u)q=l>>3&7,176==(r&240)?q+=16:3<=(r&15)&&(q+=8),q=Z[q];else{if(128<=u){var q=a,y=r,s=b,B="",u=l>>6,B=l&7;3>u?(y=void 0,u||6!=B?(B=Vl[B],1==u?(y=q.nb(s,
-1),y&128?(y=y<<24>>24,B+="-"+t(-y)):B+="+"+t(y)):2==u&&(y=q.ua(s,2),B+="+"+v(y))):(y=q.ua(s,2),B=v(y)),B="["+B+"]"):B=Z[B+(1==(y&15)?0:8)];q=B}}else if(16==u)q="1";else if(0==u){q=a;u=r;s=b;y=" ";switch(u&15){case 1:u&12288&&(y=t(q.nb(s,1)));break;case 2:y=v(q.nb(s,1)<<24>>24);break;case 3:case 4:y=v(q.ua(s,2));break;case 6:u=q.ua(s,2);q=q.ua(s,2);y=km([u,q,void 0]);break;default:y="imm("+v(u)+")"}q=y}else 32==u?q="["+v(a.ua(b,2))+"]":48==u?(1==s?(q=a.nb(b,1),q=q<<24>>24):q=a.ua(b,2),q=b[0]+q&65535,
-q=om(a,[q,b[1],void 0])[0]||v(q)):96==u?q=Z[(r&3840)>>8]:112==u?q=Z[((r&3840)>>8)+16]:64==u?q="DS:[SI]":80==u&&(q="ES:[DI]");q.length||(q="type("+v(r)+")");0>>4),d[0]=g,d[1]=h,void 0!==l.p&&(d[2]=l.p));break}}if(d&&d.length)return d;d=b.indexOf(":");0>d?null!=e?(c=tm(a,b),d=null):d=tm(a,b):(e=tm(a,b.substring(0,d)),c=tm(a,b.substring(d+1)),d=
+function nm(a,b,c,d){var e=[b[0],b[1],b[2]],f=a.ob(b,1),g=a.Jf[f],h=g[0],l=-1;205==h&&(h=a.ob(b,1),g=Yl[h]||$,f|=h<<8,h=g[0]);h>=Ul.length&&(l=a.ob(b,1),g=Zl[h-Ul.length][l>>3&7]);var n=2,h="";if(164<=f&&167>=f||170<=f&&175>=f)n=0;for(f=1;f<=n;f++){var q="",r=g[f];if(void 0!==r){var s=r&15;if(0!=s&&15!=s){var u=r&240;if(128<=u)if(0>l&&(l=a.ob(b,1)),160<=u)q=l>>3&7,176==(r&240)?q+=16:3<=(r&15)&&(q+=8),q=Z[q];else{if(128<=u){var q=a,y=r,s=b,B="",u=l>>6,B=l&7;3>u?(y=void 0,u||6!=B?(B=Vl[B],1==u?(y=q.ob(s,
+1),y&128?(y=y<<24>>24,B+="-"+t(-y)):B+="+"+t(y)):2==u&&(y=q.ua(s,2),B+="+"+v(y))):(y=q.ua(s,2),B=v(y)),B="["+B+"]"):B=Z[B+(1==(y&15)?0:8)];q=B}}else if(16==u)q="1";else if(0==u){q=a;u=r;s=b;y=" ";switch(u&15){case 1:u&12288&&(y=t(q.ob(s,1)));break;case 2:y=v(q.ob(s,1)<<24>>24);break;case 3:case 4:y=v(q.ua(s,2));break;case 6:u=q.ua(s,2);q=q.ua(s,2);y=km([u,q,void 0]);break;default:y="imm("+v(u)+")"}q=y}else 32==u?q="["+v(a.ua(b,2))+"]":48==u?(1==s?(q=a.ob(b,1),q=q<<24>>24):q=a.ua(b,2),q=b[0]+q&65535,
+q=om(a,[q,b[1],void 0])[0]||v(q)):96==u?q=Z[(r&3840)>>8]:112==u?q=Z[((r&3840)>>8)+16]:64==u?q="DS:[SI]":80==u&&(q="ES:[DI]");q.length||(q="type("+v(r)+")");0>>4),d[0]=g,d[1]=h,void 0!==l.p&&(d[2]=l.p));break}}if(d&&d.length)return d;d=b.indexOf(":");0>d?null!=e?(c=tm(a,b),d=null):d=tm(a,b):(e=tm(a,b.substring(0,d)),c=tm(a,b.substring(d+1)),d=
null)}return[c,e,d]}
-function tm(a,b,c){var d;if(void 0!==b)switch(b=b.toUpperCase(),b){case "AX":d=a.T.H;break;case "BX":d=a.T.C;break;case "CX":d=a.T.J;break;case "DX":d=a.T.K;break;case "SI":d=a.T.G;break;case "DI":d=a.T.F;break;case "BP":d=a.T.I;break;case "SP":d=a.T.Y;break;case "CS":d=a.T.xa.sa;break;case "DS":d=a.T.zb.sa;break;case "ES":d=a.T.Za.sa;break;case "SS":d=a.T.ub.sa;break;case "IP":d=a.T.va;break;default:d=da(b),void 0===d&&a.da("invalid "+(c?c:"value")+": "+b)}else a.da("missing "+(c?c:"value"));return d}
+function tm(a,b,c){var d;if(void 0!==b)switch(b=b.toUpperCase(),b){case "AX":d=a.T.H;break;case "BX":d=a.T.C;break;case "CX":d=a.T.J;break;case "DX":d=a.T.K;break;case "SI":d=a.T.G;break;case "DI":d=a.T.F;break;case "BP":d=a.T.I;break;case "SP":d=a.T.Y;break;case "CS":d=a.T.xa.sa;break;case "DS":d=a.T.Db.sa;break;case "ES":d=a.T.Za.sa;break;case "SS":d=a.T.yb.sa;break;case "IP":d=a.T.va;break;default:d=da(b),void 0===d&&a.da("invalid "+(c?c:"value")+": "+b)}else a.da("missing "+(c?c:"value"));return d}
function yj(a,b,c,d){function e(a,b){return a[0]>b[0]?1:a[0]=g&&eb[0]?1:a[0]c?(a.da("out of data at address "+km(b)),q=!0):(a.Od(b,c,1),n++)})})(a,c);a.da(n+" bytes read at "+e)}else a.da("sector "+e+" request out of range");else a.da("drive "+d+" not loaded");
+return}d=tm(a,b[2],"drive #");if(void 0!==d){if(!g){e=tm(a,b[3],"sector #");if(void 0===e)return;f=tm(a,b[4],"# of sectors");void 0===f&&(f=1)}var h=a.Bm;2<=d&&a.Bk&&(d-=2,h=a.Bk);if(h){var l=h.nk(d);if(l)if(l.za)if(g)a.da(nl(l.za));else if(h.bm(l,e,f)){for(var n=0,q=!1,e=km(c);!q&&0c?(a.da("out of data at address "+km(b)),q=!0):(a.Od(b,c,1),n++)})})(a,c);a.da(n+" bytes read at "+e)}else a.da("sector "+e+" request out of range");else a.da("drive "+d+" not loaded");
else a.da("invalid drive: "+d)}else a.da("disk controller not present")}}}
function dm(a,b,c){if(b&&"?"==b[1])a.da("\nregister commands:"),a.da("\tr\t\tdisplay all registers"),a.da("\tr [target=#]\tmodify target register"),a.da("supported targets:"),a.da("\tall registers and flags V,D,I,S,Z,A,P,C");else{var d=!0,e;if(null!=b&&1c||"z"c||"z">>4);var xb=B[M].l;xb&&(M=xb);a.da(ea(va,wa)+" "+M)}}}else{for(u in Rl)if(r==u){var Qb=a.Zh[u];Qb?Qb(s):a.da("no dump registered for "+r);break a}var W=sm(a,r,2);if(null!=W[0])if("ds"==
+a.da("\tbp [a]\tset exec breakpoint at addr [a]"),a.da("\tbr [a]\tset read breakpoint at addr [a]"),a.da("\tbw [a]\tset write breakpoint at addr [a]"),a.da("\tbc [a]\tclear breakpoint at addr [a]"),a.da("\tbl\tlist all breakpoints")}break;case "c":a.Yf&&(a.Yf.value="");break;case "d":a:{var l=f[0],r=f[1],s=f[2],u;if("?"==r){l="symbols";for(u in Rl)a.$h[u]&&(l.length&&(l+=","),l+=u);l+=",state";a.da("\ndump commands:");a.da("\tdb [a] [#] dump bytes at address a");a.da("\tdw [a] [#] dump words at address a");
+a.da("\tds [s] dump descriptor for selector s");l.length&&a.da("dumps are also available for: "+l)}else if("state"==r)a.da(ym(a.Ka,!0));else if("symbols"==r)for(l=0;l>>4);var xb=B[M].l;xb&&(M=xb);a.da(ea(va,wa)+" "+M)}}}else{for(u in Rl)if(r==u){var Qb=a.$h[u];Qb?Qb(s):a.da("no dump registered for "+r);break a}var W=sm(a,r,2);if(null!=W[0])if("ds"==
l){var K=hm(a,W[0]);if(null!=K.sa){var w="selector="+v(W[0])+" limit="+v(K.Oc)+" base="+p(K.Xa);if(K.Oa){w+=" access="+v(K.Oa);if(K.Oa&4096)K.Oa&2048?(w+="code:",w+=K.Oa&512?"readable,":"execonly,",w+=K.Oa&1024?"conforming,":"nonconforming,"):(w+="data:",w+=K.Oa&512?"writeable,":"readonly,",w+=K.Oa&1024?"expand down,":"expand up,"),w+=K.Oa&256?"accessed":"not accessed";else switch(w+="type:",K.Oa&7936){case 256:w+="tss";break;case 512:w+="ldt";break;case 768:w+="tss(busy)";break;case 1024:w+="call";
-break;case 1280:w+="task";break;case 1536:w+="int";break;case 1792:w+="trap";break;default:w+="unknown"}w+=",dpl"+(K.Oa>>13&24576);w+=K.Oa&32768?",present":",not present"}a.da(w)}else a.da("invalid selector: "+v(W[0]))}else{var S=0;void 0!==s&&("l"==s.charAt(0)&&(s=s.substr(1)),S=parseInt(s,10));var I="";S||(S=8);for(var yb=0;ybX;X++){var Xa=a.nb(W,1);"dw"==l?X&1&&(f+=v(ga|Xa<<8)+(7==X?" - ":" ")):f+=t(Xa)+(7==X?"-":" ");La+=32<=Xa&&128>Xa?String.fromCharCode(Xa):
-".";ga=Xa}I&&(I+="\n");I+=r+" "+f+" "+La}I&&a.da(I);a.Yj=W}}}break;case "e":var Hc=f[1];if(void 0===Hc)a.da("missing address");else{var ic=sm(a,Hc,2);if(null!=ic[0])for(l=2;lX.length&&(a.da("note: only "+X.length+" available"),Pa=X.length);ga-=Pa;0>ga&&(null!=X[X.length-1][1]?ga+=X.length:(Pa=ga+Pa,ga=0));for(void 0!==La&&a.da(Pa+" instructions earlier:");r&&ga!=a.of;){var lc=X[ga];if(null==lc[1])break;lc=[lc[0],lc[1],lc[2]];a.da(nm(a,lc,"history",-Pa));++ga==X.length&&(ga=0);a.Nl=--Pa;r--}}10==r&&(a.da("no "+l+"history available"),a.Nl=void 0)}break;case "i":var Ue=
-f[1];if(Ue&&"?"!=Ue){var Ve=tm(a,Ue);if(void 0!==Ve){var Om=ub(a.ra,Ve);a.da(v(Ve)+": "+t(Om))}}else a.da("\ninput commands:"),a.da("\ti [p]\tread port [p]"),a.da("warning: port accesses can affect hardware state");break;case "l":wm(a,f);break;case "m":a:{l=null;I=f[1];"?"==I&&(I=void 0);if(void 0!==I){r=0;if("all"==I)r=4294967295,I=null;else if("on"==I)l=!0,I=null;else if("off"==I)l=!1,I=null;else{for(S in Rl)if(I==S){r=Rl[S];l=!!(a.jc&r);break}if(!r){a.da("unknown message category: "+I);break a}}r&&
-("on"==f[2]?(a.jc|=r,l=!0):"off"==f[2]&&(a.jc&=~r,l=!1))}r=0;W="";for(S in Rl)if(!I||I==S)if(yb=!!(a.jc&Rl[S]),null===l||l==yb)W&&(W+=","),++r%10||(W+="\n\t"),W+=S;void 0===I&&a.da("\nmessage commands:\n\tm [category] [on|off]\tturn categories on/off");a.da((null!==l?l?"messages on: ":"messages off: ":"message categories:\n\t")+(W||"none"))}break;case "o":var We=f[1],Pm=f[2];if(We&&"?"!=We){var mk=tm(a,We,"port #"),nk=tm(a,Pm);void 0!==mk&&void 0!==nk&&Ab(a.ra,mk,nk)}else a.da("\noutput commands:"),
-a.da("\to [p] [d]\twrite data [d] to port [p]"),a.da("warning: port accesses can affect hardware state");break;case "p":case "pr":var ok="pr"==f[0]?1:0,l=1+ok;if(a.nc)a.da("step in progress");else{var Ld,r=!1,Qa=[a.T.va,a.T.xa.sa,void 0];do switch(Ld=!1,a.nb(Qa)){case 38:case 46:case 54:case 62:case 240:jm(Qa,1);Ld=!0;break;case 204:case 206:a.nc=l;jm(Qa,1);break;case 205:case 224:case 225:case 226:a.nc=l;jm(Qa,2);break;case 232:a.nc=l;jm(Qa,3);break;case 154:a.nc=l;jm(Qa,5);break;case 255:a.nc=0<=
+break;case 1280:w+="task";break;case 1536:w+="int";break;case 1792:w+="trap";break;default:w+="unknown"}w+=",dpl"+(K.Oa>>13&24576);w+=K.Oa&32768?",present":",not present"}a.da(w)}else a.da("invalid selector: "+v(W[0]))}else{var R=0;void 0!==s&&("l"==s.charAt(0)&&(s=s.substr(1)),R=parseInt(s,10));var I="";R||(R=8);for(var yb=0;ybX;X++){var Xa=a.ob(W,1);"dw"==l?X&1&&(f+=v(ga|Xa<<8)+(7==X?" - ":" ")):f+=t(Xa)+(7==X?"-":" ");La+=32<=Xa&&128>Xa?String.fromCharCode(Xa):
+".";ga=Xa}I&&(I+="\n");I+=r+" "+f+" "+La}I&&a.da(I);a.Zj=W}}}break;case "e":var Hc=f[1];if(void 0===Hc)a.da("missing address");else{var jc=sm(a,Hc,2);if(null!=jc[0])for(l=2;lX.length&&(a.da("note: only "+X.length+" available"),Pa=X.length);ga-=Pa;0>ga&&(null!=X[X.length-1][1]?ga+=X.length:(Pa=ga+Pa,ga=0));for(void 0!==La&&a.da(Pa+" instructions earlier:");r&&ga!=a.pf;){var lc=X[ga];if(null==lc[1])break;lc=[lc[0],lc[1],lc[2]];a.da(nm(a,lc,"history",-Pa));++ga==X.length&&(ga=0);a.Pl=--Pa;r--}}10==r&&(a.da("no "+l+"history available"),a.Pl=void 0)}break;case "i":var Ue=
+f[1];if(Ue&&"?"!=Ue){var Ve=tm(a,Ue);if(void 0!==Ve){var Om=ub(a.ra,Ve);a.da(v(Ve)+": "+t(Om))}}else a.da("\ninput commands:"),a.da("\ti [p]\tread port [p]"),a.da("warning: port accesses can affect hardware state");break;case "l":wm(a,f);break;case "m":a:{l=null;I=f[1];"?"==I&&(I=void 0);if(void 0!==I){r=0;if("all"==I)r=4294967295,I=null;else if("on"==I)l=!0,I=null;else if("off"==I)l=!1,I=null;else{for(R in Rl)if(I==R){r=Rl[R];l=!!(a.jc&r);break}if(!r){a.da("unknown message category: "+I);break a}}r&&
+("on"==f[2]?(a.jc|=r,l=!0):"off"==f[2]&&(a.jc&=~r,l=!1))}r=0;W="";for(R in Rl)if(!I||I==R)if(yb=!!(a.jc&Rl[R]),null===l||l==yb)W&&(W+=","),++r%10||(W+="\n\t"),W+=R;void 0===I&&a.da("\nmessage commands:\n\tm [category] [on|off]\tturn categories on/off");a.da((null!==l?l?"messages on: ":"messages off: ":"message categories:\n\t")+(W||"none"))}break;case "o":var We=f[1],Pm=f[2];if(We&&"?"!=We){var mk=tm(a,We,"port #"),nk=tm(a,Pm);void 0!==mk&&void 0!==nk&&Ab(a.ra,mk,nk)}else a.da("\noutput commands:"),
+a.da("\to [p] [d]\twrite data [d] to port [p]"),a.da("warning: port accesses can affect hardware state");break;case "p":case "pr":var ok="pr"==f[0]?1:0,l=1+ok;if(a.nc)a.da("step in progress");else{var Ld,r=!1,Qa=[a.T.va,a.T.xa.sa,void 0];do switch(Ld=!1,a.ob(Qa)){case 38:case 46:case 54:case 62:case 240:jm(Qa,1);Ld=!0;break;case 204:case 206:a.nc=l;jm(Qa,1);break;case 205:case 224:case 225:case 226:a.nc=l;jm(Qa,2);break;case 232:a.nc=l;jm(Qa,3);break;case 154:a.nc=l;jm(Qa,5);break;case 255:a.nc=0<=
nm(a,Qa).indexOf("CALL")?l:0;break;case 243:case 242:jm(Qa,1);r=Ld=!0;break;case 164:case 165:case 166:case 167:case 170:case 171:case 172:case 173:case 174:case 175:r&&(a.nc=l,jm(Qa,1))}while(Ld);a.nc?(a.Yd(a.tc,Qa,!0),a.Te()||(a.T.Pd(),a.nc=0)):xm(a,ok?"tr":"t")}break;case "r":dm(a,f);break;case "t":case "tr":xm(a,f[0],f[1]);break;case "u":em(a,f[1],f[2],8);break;case "x":a:if(void 0===f[1]||"?"==f[1])a.da("\nexecution options:"),a.da("\tcs int #\tset checksum cycle interval to #"),a.da("\tcs start #\tset checksum cycle start count to #"),
-a.da("\tcs stop #\tset checksum cycle stop count to #"),a.da("\tsp #\t\tset speed multiplier to #");else switch(f[1]){case "cs":var Lc;void 0!==f[3]&&(Lc=parseInt(f[3],10));switch(f[2]){case "int":a.T.ca.qf=Lc;break;case "start":a.T.ca.jg=Lc;break;case "stop":a.T.ca.sf=Lc;break;default:a.da("unknown cs option");break a}void 0!==Lc&&Ob(a.T);a.da("checksums "+(a.T.qa.hf?"enabled":"disabled"));break;case "sp":void 0!==f[2]&&Wb(a.T,parseInt(f[2],10));a.da("target speed: "+(a.T.ca.Ne.toFixed(2)+"Mhz")+
+a.da("\tcs stop #\tset checksum cycle stop count to #"),a.da("\tsp #\t\tset speed multiplier to #");else switch(f[1]){case "cs":var Mc;void 0!==f[3]&&(Mc=parseInt(f[3],10));switch(f[2]){case "int":a.T.ca.rf=Mc;break;case "start":a.T.ca.kg=Mc;break;case "stop":a.T.ca.tf=Mc;break;default:a.da("unknown cs option");break a}void 0!==Mc&&Ob(a.T);a.da("checksums "+(a.T.qa.hf?"enabled":"disabled"));break;case "sp":void 0!==f[2]&&Wb(a.T,parseInt(f[2],10));a.da("target speed: "+(a.T.ca.Ne.toFixed(2)+"Mhz")+
" ("+a.T.ca.Jd+"x)");break;default:a.da("unknown option: "+f[1])}break;case "?":var l="commands:",Md;for(Md in Tl)l+="\n"+Md+" ".substr(0,7-Md.length)+Tl[Md];Ed(a)||(l+="\nnote: frequency/history disabled if no exec breakpoints");a.da(l);break;default:a.da("unknown command: "+b)}}}catch(Qm){a.da("debugger sad: "+Qm.message)}}Ha(function(){for(var a=D(window.document,"pcjs","debugger"),b=0;bDm){if(d.load(this.Eg)){this.Ye=new gd(this,"1.15.9","failsafe");this.Ye.load()&&(Hm(this,d),a=2,Am(this.Ye));this.Ye.set("timestamp",pa());Bm(this.Ye);var e=this.Qc&&!this.ph;if(1==a||ua("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=d.parse()){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"==
-f&&"no machine state"!=g?(this.Ja("Error: "+g),"unable to verify user"==g&&(za("user",""),this.Rc=null)):this.da(f+": "+g),Am(d),d.load()?(c=d.parse(),e=!0):c=!1))}e&&Gm(this,c?d:null)}else 2==a&&d.clear()}else Gm(this);delete this.Eg;delete this.Qh}e=Va(this.id);for(f=0;fa[1];a=a[2];this.qa.Lb=!0;this.tk||(this.da("PCjs v1.15.9\nCopyright \u00a9 2012-2014 Jeff Parsons \nLicense: GPL version 3 or later "),this.tk=!0);this.T&&Im(this,this.T,b,c,a);this.vk&&(Hm(this,b),b.clear());!c&&this.Ye&&(this.Ye.clear(),delete this.Ye)};
+k.Hh=function(a){void 0===a&&(a=this.Qc||(this.Fg?1:Dm));var b=!1,c=!1;this.xk=!1;var d=this.Rh||new gd(this,"1.15.9");if(-1==a)b=!0;else if(a>Dm){if(d.load(this.Fg)){this.Ye=new gd(this,"1.15.9","failsafe");this.Ye.load()&&(Hm(this,d),a=2,Am(this.Ye));this.Ye.set("timestamp",pa());Bm(this.Ye);var e=this.Qc&&!this.qh;if(1==a||ua("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=d.parse()){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"==
+f&&"no machine state"!=g?(this.Ja("Error: "+g),"unable to verify user"==g&&(za("user",""),this.Rc=null)):this.da(f+": "+g),Am(d),d.load()?(c=d.parse(),e=!0):c=!1))}e&&Gm(this,c?d:null)}else 2==a&&d.clear()}else Gm(this);delete this.Fg;delete this.Rh}e=Va(this.id);for(f=0;fa[1];a=a[2];this.qa.Ob=!0;this.vk||(this.da("PCjs v1.15.9\nCopyright \u00a9 2012-2014 Jeff Parsons \nLicense: GPL version 3 or later "),this.vk=!0);this.T&&Im(this,this.T,b,c,a);this.xk&&(Hm(this,b),b.clear());!c&&this.Ye&&(this.Ye.clear(),delete this.Ye)};
function Hm(a,b){if(ua("There may be a problem with your PCjs machine.\n\nTo help us diagnose it, click OK to send this PCjs machine state to http://www.pcjs.org.")){var c=a.je(),d=b.toString(),e={app:"PCjs",ver:"1.15.9"};e.url=a.url;e.user=c;e.type="bug";e.data=d;sa("http://www.pcjs.org/api/v1/report",!0,e)}}
-function ym(a,b,c){var d,e="none",f=new gd(a,"1.15.9"),g=new gd(a,"1.15.9","validate"),h=pa();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.15.9");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.T&&a.T.Xb&&(c&&a.T.xb(),d=a.T.Xb(b,c),"object"===typeof d&&f.set(a.T.id,d),c&&(a.T.qa.Lb=!1,!1===d&&(e=null)));for(var h=Va(a.id),l=0;lh.indexOf("/")&&(h=window.location.pathname+h);a=a.replace(/(]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" state=$2"+d+"$2":"")+(h?" url=$2"+h+"$2":""))}h=null;if("<"==a.charAt(0))try{window.ActiveXObject||"ActiveXObject"in window?(e||(a=a.replace(/\s*/g,"")),h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(r){h=
null,a=r.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");sa(e,!0,null,null,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 l=h[0],n,q=/( [a-z]+=)(['"])(.*?)\2/g;n=q.exec(f);)l=0>l.indexOf(n[1])?l.replace(">",n[0]+">"):l.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
diff --git a/versions/pcjs/1.15.9/pc.js b/versions/pcjs/1.15.9/pc.js
index 3a4e3cb4e..e728d97dc 100644
--- a/versions/pcjs/1.15.9/pc.js
+++ b/versions/pcjs/1.15.9/pc.js
@@ -6,88 +6,88 @@ b);n.setRequestHeader("Content-type","application/x-www-form-urlencoded");n.send
function na(){if(void 0===ka){var a;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}ka=a}return ka}function oa(a){var b;try{b=window.localStorage.getItem(a)}catch(c){}return b}function pa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}
function qa(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}var ra={init:[],show:[],exit:[]},sa=!1,ta=!0;function wa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function u(a){ra.init.push(a)}
function xa(a){if(ta)try{for(var b=0;b=this.rf?12:14;this.qc=1<>2;this.gb=this.qc-1;this.lg=(this.jh+this.qc)/this.qc|0;this.Yd=this.lg-1;this.Yf=[];this.Zf=[];this.Rh();this.Ma()}y(v,Pa);Pa.prototype.Rh=function(){this.Ba=Array(this.lg);for(var a=0;a>a.Ob;0>this.Ob;0>a.Ob;0>a.Ob].Ui(b&a.gb)}function Ya(a,b){var c=b&a.gb,d=(b&a.Yc)>>a.Ob;return c!=a.gb?a.Ba[d].Vn(c):a.Ba[d++].Ui(c)|a.Ba[d&a.Yd].Ui(0)<<8}
-function Za(a,b,c){a.Ba[(b&a.Yc)>>a.Ob].bj(b&a.gb,c&255)}function $a(a,b,c){var d=b&a.gb;b=(b&a.Yc)>>a.Ob;d!=a.gb?a.Ba[b].fo(d,c&65535):(a.Ba[b++].bj(d,c&255),a.Ba[b&a.Yd].bj(0,c>>8&255))}function ab(a){for(var b=0,c=[],d=0;d>2);for(d=0;d>2]>>>((a&3)<<3)&255},Wn:function(a){var b=a>>2;a=(a&3)<<3;var c=this.pa[b]>>>a;return 24>a?c&65535:c&255|(this.pa[b+1]&255)<<8},co:function(a,b){var c=a>>2,d=(a&3)<<3;this.pa[c]=this.pa[c]&~(255<>2,d=(a&3)<<3;24>d?this.pa[c]=this.pa[c]&~(65535<>8);this.Xa=!0},save:function(){return this.ea?
-null:this.pa},restore:function(a){return this.ea?null==a:a&&this.ql==a.length<<2?(this.pa=a,this.Xa=!0):!1},re:function(a,b){a||(a=[]);void 0===b&&(b=!0);var c=a;this.xc=c[0]?c[0]:this.Rg;this.Un=c[1]?c[1]:this.Rg;b&&(this.Ui=c[0]?c[0]:this.Rg,this.Vn=c[1]?c[1]:this.Rg);c=a;this.Ac=c[2]&&!this.Cj?c[2]:this.ah;this.eo=c[3]&&!this.Cj?c[3]:this.ah;b&&(this.bj=c[2]?c[2]:this.ah,this.fo=c[3]?c[3]:this.ah)}};var fb=[Qa.prototype.Tn,Qa.prototype.Wn,Qa.prototype.co,Qa.prototype.ho];
-function gb(a,b){v.call(this,"CPU",a,gb);var c=a.cycles||b,d=a.multiplier||1;this.ba={};this.ba.kd=c;this.ba.Dd=d;this.ba.Dg=Math.round(this.ba.kd/1E4)/100;this.ba.Ke=this.ba.Dg*this.ba.Dd;this.na.Db=!1;this.na.uc=!1;this.na.Ah=a.autoStart;c=Ba.autostart;void 0!==c&&(this.na.Ah="true"==c?!0:"false"==c?!1:null);this.na.sg=!1;this.ba.Ig=this.ba.Me=0;this.ba.Jg=a.csStart;this.ba.tf=a.csInterval;this.ba.uf=a.csStop;var e=this;this.Wm=function(){hb(e)};this.Ma()}y(v,gb);k=gb.prototype;
-k.nc=function(a,b,c,d){this.qa=b;this.Qa=d;this.La=a;var e=C(a,"Video");e&&(this.nf=function(){ib(e)},this.Qe=function(){e.Qe()});this.ja=C(a,"ChipSet");this.Ma()};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};k.Rb=function(a,b){if(!b){if(a&&this.restore){jb(this);if(!this.restore(a))return!1;kb(this)}else this.reset();this.Kb("No debugger detected")}this.na.Db=!0;!lb(this)&&this.Qa&&this.Qa.Ep();this.nf();this.mf();return!0};
-k.Qb=function(a){this.na.Db=!1;return a&&this.save?this.save():!0};function lb(a){return!0===a.na.Ah||null===a.na.Ah&&void 0===a.sa.run?(hb(a),!0):!1}k.Qe=function(){};k.Gj=function(){return 0};function kb(a){void 0===a.ba.Jg&&(a.ba.Jg=0);void 0===a.ba.tf&&(a.ba.tf=-1);void 0===a.ba.uf&&(a.ba.uf=-1);a.na.sg=0<=a.ba.Jg&&0c&&(c=60);2>c&&(c=2);var d=1;b&&1a.ba.Dg&&(c=Math.round(c/a.ba.Dd));return c}function jb(a){a.ba.Qc=0;a.Gg=1;a.me=a.Id=a.Rc=a.A=0;kb(a);ob(a,1)}
-function ob(a,b,c){void 0!==b&&(0.8>a.ba.Qc/a.ba.Ke&&(b=1),a.ba.Dd=b,b=a.ba.Dg*a.ba.Dd,a.ba.Ke!=b&&(a.ba.Ke=b,b=a.ba.Ke.toFixed(2)+"Mhz",a.sa.setSpeed&&(a.sa.setSpeed.innerHTML=b),a.Kb("target speed: "+b)),c&&a.Qe());pb(a,a.Id);a.Id=0;a.ba.Le=ha();a.ba.je=0;qb(a)}
-function hb(a,b){if(Ka(a,!0)){a.na.uc||(ob(a),a.La&&a.La.start(a.ba.Le,rb(a)),a.na.uc=!0,a.ja&&sb(a.ja),a.sa.run&&(a.sa.run.innerHTML="Halt"),b&&a.Qe());a.ba.Zh>=a.ba.kd&&qb(a,!0);a.ba.yf=0;a.ba.Fg=ha();if(a.ba.je){var c=a.ba.Fg-a.ba.je;c>a.ba.Nj&&(a.ba.Le+=c,a.ba.Le>a.ba.Fg&&(a.ba.Le=a.ba.Fg))}try{do{a.gl(a.na.sg?1:Math.round(a.ba.Qm/a.Gg));var d=a.Rc-a.A;a.Id+=d;a.ba.yf+=d;pb(a,0,!0);var c=a,e=d;if(c.na.sg){var f=!1;c.ba.Ig=c.ba.Ig+c.Gj()|0;c.ba.Me-=e;0>=c.ba.Me&&(c.ba.Me+=c.ba.tf,f=!0);0<=c.ba.uf&&
-c.ba.uf<=rb(c)&&(c.ba.tf=c.ba.uf=-1,kb(c),mb(c),f=!0);f&&c.Kb(rb(c)+" cycles: checksum="+p(c.ba.Ig))}a.ba.wf-=d;0>=a.ba.wf&&(a.ba.wf+=a.ba.Rj,a.nf());a.ba.vf-=d;0>=a.ba.vf&&(a.ba.vf+=a.ba.Qj,a.mf());a.ba.xf-=d;if(0>=a.ba.xf){a.ba.xf+=a.ba.Yh;break}}while(a.na.uc)}catch(h){mb(a);a.nf();a.mf();a.La&&a.La.stop(ha(),rb(a));Ka(a,!1);Ma(a,h.message);return}d=setTimeout;c=a.Wm;a.ba.je=ha();e=a.ba.Nj;a.ba.yf&&(e=Math.round(e*a.ba.yf/a.ba.Yh));e-=a.ba.je-a.ba.Fg;if(f=a.ba.je-a.ba.Le)a.ba.Qc=Math.round(a.Id/
-(10*f))/100,864E5<=f&&(a.me=0,a.ja&&tb(a.ja,!0),ob(a));if(0>e||a.ba.Qc=this.sf?12:14;this.qc=1<>2;this.jb=this.qc-1;this.mg=(this.kh+this.qc)/this.qc|0;this.Yd=this.mg-1;this.Zf=[];this.$f=[];this.Sh();this.Ma()}y(v,Pa);Pa.prototype.Sh=function(){this.Ba=Array(this.mg);for(var a=0;a>a.Ob;0>this.Ob;0>a.Ob;0>a.Ob].Vi(b&a.jb)}function Ya(a,b){var c=b&a.jb,d=(b&a.Yc)>>a.Ob;return c!=a.jb?a.Ba[d].Wn(c):a.Ba[d++].Vi(c)|a.Ba[d&a.Yd].Vi(0)<<8}
+function Za(a,b,c){a.Ba[(b&a.Yc)>>a.Ob].cj(b&a.jb,c&255)}function $a(a,b,c){var d=b&a.jb;b=(b&a.Yc)>>a.Ob;d!=a.jb?a.Ba[b].ho(d,c&65535):(a.Ba[b++].cj(d,c&255),a.Ba[b&a.Yd].cj(0,c>>8&255))}function ab(a){for(var b=0,c=[],d=0;d>2);for(d=0;d>2]>>>((a&3)<<3)&255},Xn:function(a){var b=a>>2;a=(a&3)<<3;var c=this.pa[b]>>>a;return 24>a?c&65535:c&255|(this.pa[b+1]&255)<<8},eo:function(a,b){var c=a>>2,d=(a&3)<<3;this.pa[c]=this.pa[c]&~(255<>2,d=(a&3)<<3;24>d?this.pa[c]=this.pa[c]&~(65535<>8);this.ab=!0},save:function(){return this.ea?
+null:this.pa},restore:function(a){return this.ea?null==a:a&&this.sl==a.length<<2?(this.pa=a,this.ab=!0):!1},re:function(a,b){a||(a=[]);void 0===b&&(b=!0);var c=a;this.yc=c[0]?c[0]:this.Sg;this.Vn=c[1]?c[1]:this.Sg;b&&(this.Vi=c[0]?c[0]:this.Sg,this.Wn=c[1]?c[1]:this.Sg);c=a;this.Bc=c[2]&&!this.Ej?c[2]:this.bh;this.fo=c[3]&&!this.Ej?c[3]:this.bh;b&&(this.cj=c[2]?c[2]:this.bh,this.ho=c[3]?c[3]:this.bh)}};var fb=[Qa.prototype.Un,Qa.prototype.Xn,Qa.prototype.eo,Qa.prototype.io];
+function gb(a,b){v.call(this,"CPU",a,gb);var c=a.cycles||b,d=a.multiplier||1;this.ba={};this.ba.kd=c;this.ba.Dd=d;this.ba.Eg=Math.round(this.ba.kd/1E4)/100;this.ba.Le=this.ba.Eg*this.ba.Dd;this.na.Gb=!1;this.na.vc=!1;this.na.Bh=a.autoStart;c=Ba.autostart;void 0!==c&&(this.na.Bh="true"==c?!0:"false"==c?!1:null);this.na.tg=!1;this.ba.Jg=this.ba.Ne=0;this.ba.Kg=a.csStart;this.ba.uf=a.csInterval;this.ba.vf=a.csStop;var e=this;this.Xm=function(){hb(e)};this.Ma()}y(v,gb);k=gb.prototype;
+k.nc=function(a,b,c,d){this.qa=b;this.Qa=d;this.La=a;var e=C(a,"Video");e&&(this.of=function(){ib(e)},this.Re=function(){e.Re()});this.ja=C(a,"ChipSet");this.Ma()};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};k.Qb=function(a,b){if(!b){if(a&&this.restore){jb(this);if(!this.restore(a))return!1;kb(this)}else this.reset();this.Zb("No debugger detected")}this.na.Gb=!0;!lb(this)&&this.Qa&&this.Qa.Fp();this.of();this.nf();return!0};
+k.Pb=function(a){this.na.Gb=!1;return a&&this.save?this.save():!0};function lb(a){return!0===a.na.Bh||null===a.na.Bh&&void 0===a.sa.run?(hb(a),!0):!1}k.Re=function(){};k.Ij=function(){return 0};function kb(a){void 0===a.ba.Kg&&(a.ba.Kg=0);void 0===a.ba.uf&&(a.ba.uf=-1);void 0===a.ba.vf&&(a.ba.vf=-1);a.na.tg=0<=a.ba.Kg&&0c&&(c=60);2>c&&(c=2);var d=1;b&&1